From dae2806c7c1fc32a72225131e06b7aa0457b3af5 Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Fri, 9 Dec 2022 15:24:57 +0100 Subject: [PATCH 1/8] Add LineChartWithTwoYAxisScreen --- .../netguru/multiplatform/charts/Helpers.kt | 57 ++- .../charts/OverlayInformation.kt | 86 +++- .../multiplatform/charts/bar/BarChart.kt | 83 ++-- .../charts/bar/BarChartConfig.kt | 2 +- .../multiplatform/charts/bar/BarChartData.kt | 4 +- .../charts/bar/BarChartWithLegend.kt | 15 +- .../charts/bubble/BubbleChart.kt | 24 +- .../netguru/multiplatform/charts/dial/Dial.kt | 39 +- .../charts/gasbottle/GasBottle.kt | 25 +- .../multiplatform/charts/grid/ChartAxis.kt | 146 ++++++- .../charts/grid/GridChartDrawing.kt | 40 +- .../multiplatform/charts/grid/GridDefaults.kt | 43 +- .../grid/axisscale/TimestampXAxisScale.kt | 21 - .../charts/grid/axisscale/YAxisScale.kt | 60 --- .../axisscale/{ => x}/FixedTicksXAxisScale.kt | 2 +- .../grid/axisscale/x/TimestampXAxisScale.kt | 35 ++ .../grid/axisscale/{ => x}/XAxisScale.kt | 2 +- .../charts/grid/axisscale/y/YAxisScale.kt | 7 + .../grid/axisscale/y/YAxisScaleDynamic.kt | 102 +++++ .../grid/axisscale/y/YAxisScaleStatic.kt | 61 +++ .../multiplatform/charts/line/ChartLegend.kt | 116 ++--- .../netguru/multiplatform/charts/line/Line.kt | 163 +++++-- .../multiplatform/charts/line/LineChart.kt | 294 +++++++------ .../line/LineChartOverlayInformation.kt | 335 +++++++++++++-- .../charts/line/LineChartSeries.kt | 41 +- .../charts/line/LineChartWithLegend.kt | 53 --- .../charts/line/LineChartWithTwoYAxisSets.kt | 401 ++++++++++++++++++ .../multiplatform/charts/pie/PieChart.kt | 23 +- .../charts/pie/PieChartLegend.kt | 44 +- .../multiplatform/charts/bar/BarTest.kt | 4 +- .../android/previews/LineChartPreview.kt | 9 +- .../charts/application/home/HomeMapper.kt | 1 + .../charts/application/home/HomeScreen.kt | 3 + .../application/navigation/NavigationState.kt | 1 + .../application/screen/BarChartScreen.kt | 9 +- .../application/screen/GasBottleScreen.kt | 8 +- .../application/screen/LineChartScreen.kt | 280 ++++++++++-- .../screen/LineChartWithTwoYAxisScreen.kt | 320 ++++++++++++++ gradle/libs.versions.toml | 5 +- 39 files changed, 2273 insertions(+), 691 deletions(-) delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/TimestampXAxisScale.kt delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/YAxisScale.kt rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/{ => x}/FixedTicksXAxisScale.kt (78%) create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/{ => x}/XAxisScale.kt (63%) create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithLegend.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt create mode 100644 example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt index 2fa0efa..ad5111f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt @@ -1,11 +1,16 @@ package com.netguru.multiplatform.charts +import androidx.compose.animation.core.animateFloatAsState +import androidx.compose.animation.core.tween import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.layout.layout import kotlin.math.pow import kotlin.math.roundToInt @@ -14,28 +19,32 @@ internal fun Double.mapValueToDifferentRange( inMax: Double, outMin: Double, outMax: Double, -) = (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin +) = + if (inMin == inMax) (outMax - outMin).div(2.0) else (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin fun Float.mapValueToDifferentRange( inMin: Float, inMax: Float, outMin: Float, outMax: Float, -) = (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin +) = + if (inMin == inMax) (outMax - outMin).div(2F) else (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin fun Long.mapValueToDifferentRange( inMin: Long, inMax: Long, outMin: Long, outMax: Long, -) = (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin +) = + if (inMin == inMax) (outMax - outMin).div(2) else (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin fun Long.mapValueToDifferentRange( inMin: Long, inMax: Long, outMin: Float, outMax: Float, -) = (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin +) = + if (inMin == inMax) (outMax - outMin).div(2F) else (this - inMin) * (outMax - outMin) / (inMax - inMin) + outMin fun Number.round(decimals: Int = 2): String { return when (this) { @@ -46,6 +55,7 @@ fun Number.round(decimals: Int = 2): String { } catch (e: IllegalArgumentException) { "-" } + else -> { this.toString() } @@ -53,13 +63,44 @@ fun Number.round(decimals: Int = 2): String { } @Composable -internal fun StartAnimation(animation: ChartAnimation, data: Any): Boolean { - var animationPlayed by remember(data) { +fun getAnimationAlphas( + animation: ChartAnimation, + numberOfElementsToAnimate: Int, + uniqueDatasetKey: Any, +): List { + var animationPlayed by remember(uniqueDatasetKey) { mutableStateOf(animation is ChartAnimation.Disabled) } - LaunchedEffect(Unit) { + LaunchedEffect(uniqueDatasetKey) { animationPlayed = true } - return animationPlayed + return when (animation) { + ChartAnimation.Disabled -> (1..numberOfElementsToAnimate).map { 1f } + is ChartAnimation.Simple -> (1..numberOfElementsToAnimate).map { + animateFloatAsState( + targetValue = if (animationPlayed) 1f else 0f, + animationSpec = if (animationPlayed) animation.animationSpec() else tween(durationMillis = 0), + ).value + } + + is ChartAnimation.Sequenced -> (1..numberOfElementsToAnimate).map { + animateFloatAsState( + targetValue = if (animationPlayed) 1f else 0f, + animationSpec = if (animationPlayed) animation.animationSpec(it) else tween(durationMillis = 0), + ).value + } + } } + +fun Modifier.vertical() = + rotate(-90f) + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + layout(placeable.height, placeable.width) { + placeable.place( + x = -(placeable.width / 2 - placeable.height / 2), + y = -(placeable.height / 2 - placeable.width / 2) + ) + } + } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt index 51ba82e..ca1d3f5 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt @@ -7,43 +7,93 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.clip +import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -private val TOUCH_OFFSET = 20.dp -private val OVERLAY_WIDTH = 200.dp - @Composable internal fun OverlayInformation( - positionX: Float, + positionX: Float?, containerSize: Size, surfaceColor: Color, - touchOffset: Dp = TOUCH_OFFSET, - overlayWidth: Dp = OVERLAY_WIDTH, + touchOffsetVertical: Dp, + touchOffsetHorizontal: Dp, + overlayWidth: Dp, + pointsToAvoid: List = emptyList(), content: @Composable () -> Unit, ) { - if (positionX < 0) return + if (positionX == null || positionX < 0) { + return + } + + var overlayHeight by remember { + mutableStateOf(0) + } + + val density = LocalDensity.current + + val putInfoOnTheLeft = positionX > (containerSize.width / 2) + val (offsetX, offsetY) = remember(pointsToAvoid, overlayHeight, putInfoOnTheLeft) { + pointsToAvoid + .takeIf { it.isNotEmpty() } + ?.let { + val x: Dp + val y: Dp + with(density) { + x = if (putInfoOnTheLeft) { + val minX = it.minOf { it.x }.toDp() + minX - touchOffsetHorizontal - overlayWidth + } else { + val maxX = it.maxOf { it.x }.toDp() + maxX + touchOffsetHorizontal + } + + val minY = it.minOf { it.y } + val maxY = it.maxOf { it.y } + y = (containerSize.height - ((maxY + minY) / 2) - (overlayHeight / 2)) + .coerceIn( + minimumValue = 0f, + maximumValue = containerSize.height - overlayHeight + ) + .toDp() + } + + x to y + } + ?: run { + with(density) { + positionX.toDp() + + // change offset based on cursor position to avoid out of screen drawing on the right + if (putInfoOnTheLeft) { + -overlayWidth - touchOffsetHorizontal + } else { + touchOffsetHorizontal + } + } to touchOffsetVertical + } + } + BoxWithConstraints( modifier = Modifier + .onSizeChanged { + overlayHeight = it.height + } .offset( - x = with(LocalDensity.current) { - positionX.toDp() + - // change offset based on cursor position to avoid out of screen drawing on the right - if (positionX.toDp() > (containerSize.width / 2).toDp()) { - -OVERLAY_WIDTH - TOUCH_OFFSET - } else { - TOUCH_OFFSET - } - }, - y = touchOffset + x = offsetX, + y = offsetY, ) - .width(OVERLAY_WIDTH) + .width(overlayWidth) .alpha(0.9f) .clip(RoundedCornerShape(10.dp)) .background(surfaceColor) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt index debd1f1..362ce2d 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.bar -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -10,6 +9,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -24,13 +24,14 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.OverlayInformation -import com.netguru.multiplatform.charts.StartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.YAxisTitleData import com.netguru.multiplatform.charts.grid.LineParameters import com.netguru.multiplatform.charts.grid.YAxisLabels import com.netguru.multiplatform.charts.grid.alignCenterToOffsetHorizontal -import com.netguru.multiplatform.charts.grid.axisscale.FixedTicksXAxisScale -import com.netguru.multiplatform.charts.grid.axisscale.YAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.x.FixedTicksXAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.grid.drawChartGrid import com.netguru.multiplatform.charts.grid.measureChartGrid import com.netguru.multiplatform.charts.line.PointF @@ -44,8 +45,8 @@ import com.netguru.multiplatform.charts.theme.ChartTheme * @param colors The only parameter used is [ChartColors.grid]. Others play no role in * BarChart. Colors of the bars themselves are specified together with the data * @param config The parameters for chart appearance customization - * @param xAxisLabel Composable to mark the values on the x-axis. - * @param yAxisLabel Composable to mark the values on the y-axis. + * @param xAxisMarkerLayout Composable to mark the values on the x-axis. + * @param yAxisMarkerLayout Composable to mark the values on the y-axis. * @param animation In the case of [ChartAnimation.Sequenced] items with the same index in each * category will animate together * values @@ -56,42 +57,37 @@ fun BarChart( modifier: Modifier = Modifier, colors: BarChartColors = ChartTheme.colors.barChartColors, config: BarChartConfig = BarChartConfig(), - xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisLabel, - yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisLabel, + xAxisMarkerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, + yAxisMarkerLayout: @Composable (value: Any) -> Unit = GridDefaults.YAxisMarkerLayout, + yAxisLabelLayout: (@Composable () -> Unit)? = GridDefaults.YAxisDataTitleLayout, animation: ChartAnimation = ChartAnimation.Simple(), - overlayDataEntryLabel: @Composable (dataName: String, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, ) { val verticalLinesCount = remember(data) { data.maxX.toInt() + 1 } - val horizontalLinesOffset = - GridDefaults.HORIZONTAL_LINES_OFFSET // TODO check why y-axis-labels get the other way around with large values for offset - - val animationPlayed = StartAnimation(animation, data) var verticalGridLines by remember { mutableStateOf(emptyList()) } var horizontalGridLines by remember { mutableStateOf(emptyList()) } var chartBars by remember { mutableStateOf(emptyList()) } var selectedBar by remember { mutableStateOf?>(null) } - val valueScale = when (animation) { - ChartAnimation.Disabled -> data.categories.first().entries.indices.map { 1f } - is ChartAnimation.Simple -> data.categories.first().entries.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> data.categories.first().entries.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(it) - ).value - } - } + val valueScale = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = data.categories.first().entries.size, + uniqueDatasetKey = data, + ) Row(modifier = modifier) { YAxisLabels( horizontalGridLines = horizontalGridLines, - yAxisMarkerLayout = yAxisLabel, + yAxisMarkerLayout = yAxisMarkerLayout, + yAxisTitleData = yAxisLabelLayout?.let { + YAxisTitleData( + labelLayout = yAxisLabelLayout, + labelPosition = YAxisTitleData.LabelPosition.Left, + ) + }, + modifier = Modifier + .padding(end = 8.dp) ) Spacer(modifier = Modifier.size(width = 4.dp, height = 0.dp)) @@ -111,7 +107,7 @@ fun BarChart( event.changes.forEach { inputChange -> selectedBar = chartBars.firstOrNull { inputChange.position.x in it.width && - inputChange.position.y in it.height + inputChange.position.y in it.height }?.let { PointF( inputChange.position.x, @@ -123,7 +119,7 @@ fun BarChart( } } ) { - val yAxisScale = YAxisScale( + val yAxisScale = YAxisScaleDynamic( min = data.minY, max = data.maxY, maxTickCount = config.maxHorizontalLinesCount, @@ -136,7 +132,6 @@ fun BarChart( tickCount = verticalLinesCount - 1 ), yAxisScale = yAxisScale, - horizontalLinesOffset = horizontalLinesOffset ) verticalGridLines = grid.verticalLines horizontalGridLines = grid.horizontalLines @@ -155,7 +150,7 @@ fun BarChart( XAxisLabels( labels = data.categories.map { it.name }, verticalGridLines = verticalGridLines, - xAxisMarkerLayout = xAxisLabel, + xAxisMarkerLayout = xAxisMarkerLayout, ) } @@ -173,13 +168,20 @@ private fun XAxisLabels( xAxisMarkerLayout: @Composable (value: String) -> Unit, ) { Box(Modifier.fillMaxWidth()) { + var rightEdgeOfPrevious = -1f verticalGridLines .dropLast(1) .forEachIndexed { i, verticalLine -> if (i % 2 == 1) { Box( modifier = Modifier - .alignCenterToOffsetHorizontal(verticalLine.position) + .alignCenterToOffsetHorizontal( + offsetToAlignWith = verticalLine.position, + rightEdgeOfLeftElement = rightEdgeOfPrevious, + updateRightEdge = { newValue -> + rightEdgeOfPrevious = newValue + } + ) ) { xAxisMarkerLayout( labels.getOrElse(i / 2) { "" } @@ -195,7 +197,7 @@ private fun BoxWithConstraintsScope.SelectedValueLabel( position: PointF, data: BarChartBar, colors: BarChartColors, - overlayDataEntryLabel: @Composable (dataName: String, value: Any) -> Unit + overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit ) { OverlayInformation( positionX = position.x, @@ -206,8 +208,11 @@ private fun BoxWithConstraintsScope.SelectedValueLabel( ) }, surfaceColor = colors.surface, - touchOffset = LocalDensity.current.run { position.y.toDp() }, - ) { - overlayDataEntryLabel(data.data.x, data.data.y) - } + touchOffsetVertical = LocalDensity.current.run { position.y!!.toDp() }, + touchOffsetHorizontal = 20.dp, + content = { + overlayDataEntryLabel(data.data.x, null, data.data.y) + }, + overlayWidth = 200.dp, + ) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt index e6b7b95..8636187 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt @@ -19,5 +19,5 @@ data class BarChartConfig( val cornerRadius: Dp = BarChartDefaults.BAR_CORNER_RADIUS, val barsSpacing: Dp = BarChartDefaults.BAR_HORIZONTAL_SPACING, val maxHorizontalLinesCount: Int = GridDefaults.NUMBER_OF_GRID_LINES, - val roundMinMaxClosestTo: Int = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, + val roundMinMaxClosestTo: Float = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartData.kt index fc15db9..76baf6a 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartData.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartData.kt @@ -8,6 +8,7 @@ import com.netguru.multiplatform.charts.line.SymbolShape @Immutable data class BarChartData( val categories: List, + val unit: String?, ) : GridChartData { // TODO hide those values from the user override val minX: Long = 0 @@ -40,9 +41,10 @@ data class BarChartData( .map { LegendItemData( name = it.x, + unit = unit, symbolShape = SymbolShape.RECTANGLE, color = it.color, - dashed = false, + pathEffect = null, ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt index e0f52c0..42e1cc8 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt @@ -1,8 +1,11 @@ package com.netguru.multiplatform.charts.bar import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.grid.GridDefaults import com.netguru.multiplatform.charts.line.ChartLegend @@ -23,9 +26,10 @@ fun BarChartWithLegend( animation: ChartAnimation = ChartAnimation.Simple(), colors: BarChartColors = ChartTheme.colors.barChartColors, config: BarChartConfig = BarChartConfig(), - xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisLabel, - yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisLabel, - legendItemLabel: @Composable (String) -> Unit = GridDefaults.LegendItemLabel, + xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, + yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisMarkerLayout, + legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, + columnMinWidth: Dp = 200.dp, ) { Column(modifier) { BarChart( @@ -34,14 +38,15 @@ fun BarChartWithLegend( animation = animation, colors = colors, config = config, - xAxisLabel = xAxisLabel, - yAxisLabel = yAxisLabel, + xAxisMarkerLayout = xAxisLabel, + yAxisMarkerLayout = yAxisLabel, ) ChartLegend( legendData = data.legendData, animation = animation, config = config, legendItemLabel = legendItemLabel, + columnMinWidth = columnMinWidth, ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt index edf5a23..24280d7 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.bubble -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.border import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -19,8 +18,8 @@ import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.StartAnimation import com.netguru.multiplatform.charts.bubble.BubbleDefaults.MINIMUM_BUBBLE_RADIUS +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import kotlin.math.min import kotlin.random.Random @@ -47,22 +46,11 @@ fun BubbleChart( return } - val animationPlayed = StartAnimation(animation, bubbles) - val animatedScale = when (animation) { - ChartAnimation.Disabled -> bubbles.indices.map { 1f } - is ChartAnimation.Simple -> bubbles.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> bubbles.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(it) - ).value - } - } + val animatedScale = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = bubbles.size, + uniqueDatasetKey = bubbles, + ) BoxWithConstraints(modifier = modifier) { val size = min(maxWidth.value, maxHeight.value) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index 0d8b475..d158a1d 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.dial -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -21,8 +20,8 @@ import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.StartAnimation import com.netguru.multiplatform.charts.dial.DialDefaults.START_ANGLE +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.theme.ChartTheme import kotlin.math.PI @@ -70,21 +69,11 @@ fun Dial( minAndMaxValueLabel: @Composable (value: Int) -> Unit = DialDefaults.MinAndMaxValueLabel, mainLabel: @Composable (value: Int) -> Unit = DialDefaults.MainLabel, ) { - val animationPlayed = StartAnimation(animation, value) - val animatedScale = when (animation) { - ChartAnimation.Disabled -> { - 1f - } - is ChartAnimation.Simple -> { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> { - throw UnsupportedOperationException("As Dial chart only shows one value, ChartAnimation.Sequenced is not supported!") - } - } + val animatedScale = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = 1, + uniqueDatasetKey = value, + ).first() val targetProgress = value.coerceIn(minValue..maxValue) * animatedScale @@ -210,14 +199,14 @@ private fun DrawScope.drawScale( for (point in 0..100 step SCALE_STEP) { val angle = ( - point.toFloat() - .mapValueToDifferentRange( - 0f, - 100f, - START_ANGLE, - 0f - ) - ) * PI.toFloat() / 180f // to radians + point.toFloat() + .mapValueToDifferentRange( + 0f, + 100f, + START_ANGLE, + 0f + ) + ) * PI.toFloat() / 180f // to radians val startPos = point.position( angle, scaleMultiplier, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt index 1e8454d..20c5d5e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.gasbottle -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.aspectRatio import androidx.compose.runtime.Composable @@ -19,7 +18,7 @@ import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.vector.VectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.StartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.theme.ChartColors import com.netguru.multiplatform.charts.theme.ChartTheme @@ -45,21 +44,13 @@ fun GasBottle( animation: ChartAnimation = ChartAnimation.Simple(), colors: GasBottleColors = ChartTheme.colors.gasBottleColors, ) { - val animationPlayed = StartAnimation(animation, percentage) - val targetProgress = when (animation) { - ChartAnimation.Disabled -> { - percentage - } - is ChartAnimation.Simple -> { - animateFloatAsState( - targetValue = if (animationPlayed) percentage else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> { - throw UnsupportedOperationException("As GasBottle chart only shows one value, ChartAnimation.Sequenced is not supported!") - } - } + val animationPercentage = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = 1, + uniqueDatasetKey = percentage, + ).first() + + val targetProgress = percentage * animationPercentage val gasTank = rememberVectorPainter(image = GasTank) Box(modifier = modifier, contentAlignment = Alignment.Center) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt index 458744c..0c18d33 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt @@ -1,36 +1,79 @@ package com.netguru.multiplatform.charts.grid +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.Layout import androidx.compose.ui.layout.layout import androidx.compose.ui.unit.dp +import com.netguru.multiplatform.charts.line.XAxisData import kotlin.math.roundToInt +data class YAxisTitleData( + val labelLayout: @Composable () -> Unit, + val labelPosition: LabelPosition = LabelPosition.Left, +) { + enum class LabelPosition { + Top, + Left, + Right, + } +} + @Composable internal fun YAxisLabels( horizontalGridLines: List, yAxisMarkerLayout: @Composable (value: Number) -> Unit, + yAxisTitleData: YAxisTitleData?, + modifier: Modifier, ) { - Box( - modifier = Modifier - .width(IntrinsicSize.Max) - .fillMaxHeight() - .padding(end = 8.dp) - ) { - horizontalGridLines.forEach { horizontalLine -> + val markersLayout: @Composable () -> Unit = { + Box( + modifier = Modifier + .width(IntrinsicSize.Max) + .fillMaxHeight() + ) { + horizontalGridLines.forEach { horizontalLine -> + Box( + modifier = Modifier + .alignCenterToOffsetVertical(horizontalLine.position) + ) { + yAxisMarkerLayout(horizontalLine.value) + } + } + } + } + + val labelLayout: @Composable (() -> Unit)? = yAxisTitleData?.let { + { Box( - modifier = Modifier - .alignCenterToOffsetVertical(horizontalLine.position) + contentAlignment = Alignment.Center, ) { - yAxisMarkerLayout(horizontalLine.value) + yAxisTitleData.labelLayout() } } } + + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(4.dp), + modifier = modifier + .fillMaxHeight() + ) { + if (yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Left) { + labelLayout!!() + } + markersLayout() + if (yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Right) { + labelLayout!!() + } + } } private fun Modifier.alignCenterToOffsetVertical( @@ -46,11 +89,88 @@ private fun Modifier.alignCenterToOffsetVertical( internal fun Modifier.alignCenterToOffsetHorizontal( offsetToAlignWith: Float, + rightEdgeOfLeftElement: Float, + updateRightEdge: (newValue: Float) -> Unit, ) = layout { measurable, constraints -> val placeable = measurable.measure(constraints) val placeableX = offsetToAlignWith - (placeable.width / 2f) - layout(placeable.width, placeable.height) { - placeable.placeRelative(placeableX.roundToInt(), 0) + if (placeableX > rightEdgeOfLeftElement) { + updateRightEdge(placeableX.roundToInt().toFloat() + placeable.width) + layout(placeable.width, placeable.height) { + placeable.placeRelative(placeableX.roundToInt(), 0) + } + } else { + layout(0, 0) {} + } +} + +@Composable +internal fun DrawXAxisMarkers( + lineParams: List, + xAxisData: XAxisData, + modifier: Modifier = Modifier, +) { + Box( + modifier = modifier, + ) { + Layout( + modifier = Modifier, + content = { + lineParams.forEach { + xAxisData.markerLayout(it.value.toLong()) + } + }, + ) { measurables, constraints -> + val placeables = measurables.map { + it.measure(constraints) + } + + layout(width = constraints.maxWidth, height = placeables.maxOfOrNull { it.height } ?: 0) { + var leftEdge = 0 + var rightEdge = 0 + + val placeablesLeftToPlace = if (placeables.size > 1) { + placeables.last().let { + val xPos = + lineParams.last().position.roundToInt() - if (xAxisData.alignFirstAndLastToChartEdges) { + it.width + } else { + it.width / 2 + } + rightEdge = xPos + + it.placeRelative( + x = xPos, + y = 0, + ) + } + + placeables.subList( + fromIndex = 0, + toIndex = placeables.lastIndex, + ) + } else { + placeables + } + + placeablesLeftToPlace.forEachIndexed { index, placeable -> + val xPos = + lineParams[index].position.roundToInt() - if (index == 0 && xAxisData.alignFirstAndLastToChartEdges) { + 0 + } else { + (placeable.width / 2) + } + val xPosEnd = xPos + placeable.width + if (!xAxisData.hideMarkersWhenOverlapping || (xPos > leftEdge && xPosEnd < rightEdge) || index == 0) { + placeable.placeRelative( + x = xPos, + y = 0, + ) + leftEdge = xPos + placeable.width + } + } + } + } } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt index 41699b9..6f44ba7 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt @@ -3,32 +3,34 @@ package com.netguru.multiplatform.charts.grid import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.DrawScope -import androidx.compose.ui.unit.Dp -import com.netguru.multiplatform.charts.grid.axisscale.XAxisScale -import com.netguru.multiplatform.charts.grid.axisscale.YAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.x.XAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange -fun DrawScope.drawChartGrid(grid: ChartGrid, color: Color) { +fun DrawScope.drawChartGrid( + grid: ChartGrid, + color: Color, +) { grid.horizontalLines.forEach { drawLine( color = color, start = Offset(0f, it.position), end = Offset(size.width, it.position), - strokeWidth = 1f + strokeWidth = 1f, ) } drawLine( color = color, start = Offset(0f, grid.zeroPosition.position), end = Offset(size.width, grid.zeroPosition.position), - strokeWidth = 1f + strokeWidth = 1f, ) grid.verticalLines.forEach { drawLine( color = color, start = Offset(it.position, 0f), end = Offset(it.position, size.height), - strokeWidth = 1f + strokeWidth = 1f, ) } } @@ -36,7 +38,6 @@ fun DrawScope.drawChartGrid(grid: ChartGrid, color: Color) { fun DrawScope.measureChartGrid( xAxisScale: XAxisScale, yAxisScale: YAxisScale, - horizontalLinesOffset: Dp ): ChartGrid { val horizontalLines = measureHorizontalLines( @@ -52,6 +53,7 @@ fun DrawScope.measureChartGrid( ) val zero = when { + yAxisScale.min == yAxisScale.max -> 0f yAxisScale.min > 0 -> yAxisScale.min yAxisScale.max < 0 -> yAxisScale.max else -> 0f @@ -61,7 +63,7 @@ fun DrawScope.measureChartGrid( horizontalLines = horizontalLines, zeroPosition = LineParameters( zero.mapValueToDifferentRange( - yAxisScale.min, + if (yAxisScale.min == yAxisScale.max) 0f else yAxisScale.min, yAxisScale.max, size.height, 0f @@ -78,13 +80,19 @@ private fun measureHorizontalLines( ): List { val horizontalLines = mutableListOf() - if (axisScale.max == axisScale.min || axisScale.tick == 0f) + if (axisScale.max == axisScale.min || axisScale.tick == 0f) { return listOf( LineParameters( - position = startPosition / 2f, - value = 0 - ) + position = axisScale.max.mapValueToDifferentRange( + 0f, + axisScale.max, + startPosition, + endPosition + ), + value = axisScale.max, + ), ) + } val valueStep = axisScale.tick var currentValue = axisScale.min @@ -94,7 +102,7 @@ private fun measureHorizontalLines( axisScale.min, axisScale.max, startPosition, - endPosition + endPosition, ) horizontalLines.add( LineParameters( @@ -107,13 +115,13 @@ private fun measureHorizontalLines( return horizontalLines } -private fun measureVerticalLines( +fun measureVerticalLines( axisScale: XAxisScale, startPosition: Float, endPosition: Float ): List { val verticalLines = mutableListOf() - val valueStep = axisScale.tick + val valueStep = axisScale.tick.coerceAtLeast(1) var currentValue = axisScale.start while (currentValue in axisScale.min..axisScale.max) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt index 9560396..0ebcec4 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt @@ -8,14 +8,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.netguru.multiplatform.charts.vertical internal object GridDefaults { - val HORIZONTAL_LINES_OFFSET = 10.dp + val HORIZONTAL_LINES_OFFSET = 0.dp const val NUMBER_OF_GRID_LINES = 5 - const val ROUND_MIN_MAX_CLOSEST_TO = 10 + const val ROUND_MIN_MAX_CLOSEST_TO = 10f - val YAxisLabel: @Composable (value: Any) -> Unit = { value -> + val YAxisMarkerLayout: @Composable (value: Any) -> Unit = { value -> Text( modifier = Modifier .fillMaxWidth(), @@ -26,22 +27,38 @@ internal object GridDefaults { ) } - val OverlayHeaderLabel: @Composable (value: Any) -> Unit = { value -> + val YAxisDataTitleLayout: @Composable () -> Unit = { Text( - text = value.toString(), - modifier = Modifier.fillMaxWidth(), - textAlign = TextAlign.Center, - style = MaterialTheme.typography.overline + fontSize = 12.sp, + text = "y-axis label", + maxLines = 1, + modifier = Modifier + .vertical() ) } - val OverlayDataEntryLabel: @Composable (dataName: String, value: Any) -> Unit = { dataName, value -> + val YAxisDataTitleYAxisData: YAxisTitleData = YAxisTitleData( + labelLayout = YAxisDataTitleLayout, + labelPosition = YAxisTitleData.LabelPosition.Left, + ) + + val OverlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = { value, dataUnit -> Text( - text = "$dataName: $value" + text = value.toString() + dataUnit?.let { " $it" }.orEmpty(), + modifier = Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + style = MaterialTheme.typography.overline ) } - val XAxisLabel: @Composable (value: Any) -> Unit = { value -> + val OverlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = + { dataName, dataUnit, value -> + Text( + text = "$dataName: $value" + dataUnit?.let { " $it" }.orEmpty() + ) + } + + val XAxisMarkerLayout: @Composable (value: Any) -> Unit = { value -> Text( fontSize = 12.sp, text = value.toString(), @@ -49,9 +66,9 @@ internal object GridDefaults { ) } - val LegendItemLabel: @Composable (String) -> Unit = { + val LegendItemLabel: @Composable (name: String, unit: String?) -> Unit = { name, unit -> Text( - text = it, + text = name + unit?.let { " ($it)" }.orEmpty(), ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/TimestampXAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/TimestampXAxisScale.kt deleted file mode 100644 index b07b05f..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/TimestampXAxisScale.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.netguru.multiplatform.charts.grid.axisscale - -class TimestampXAxisScale( - override val min: Long, - override val max: Long, - val maxTicksCount: Int = 10 -) : XAxisScale { - // find first round hour, greater than min timestamp - override val start: Long = min - min % HOUR_MS + HOUR_MS - - // find period of vertical lines based on maxTicksCount, period can be in round hours ie. 1h, 2h, 3h - private val period: Long = HOUR_MS * ((max - min) / HOUR_MS / maxTicksCount) - - // if period is 0 or less set period to round hour - // avoid division by 0 when app starts and min and max are 0 - override val tick: Long = if (period > 0) period else HOUR_MS - - companion object { - const val HOUR_MS = 3600000L - } -} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/YAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/YAxisScale.kt deleted file mode 100644 index be6e2f2..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/YAxisScale.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.netguru.multiplatform.charts.grid.axisscale - -import kotlin.math.floor -import kotlin.math.log10 -import kotlin.math.pow - -class YAxisScale( - min: Float, - max: Float, - maxTickCount: Int, - roundClosestTo: Int, -) { - val tick: Float - val min: Float - val max: Float - - init { - this.min = if (!min.isNaN()) { - min.getClosest(roundClosestTo) - } else { - 0f - } - this.max = if (!max.isNaN()) { - max.getClosest(roundClosestTo) - } else { - 0f - } - - val range = niceNum(this.max - this.min, false) - this.tick = niceNum(range / (maxTickCount), true) - } - - private fun Float.getClosest(n: Int) = when { - this > 0f -> (((this.toInt() + n - 1) / n) * n).toFloat() - this < 0f -> (((this.toInt() - n + 1) / n) * n).toFloat() - else -> 0f - } - - /** - * Returns a "nice" number approximately equal to range. - * Rounds the number if round = true Takes the ceiling if round = false. - * - * @param range the data range - * @param round whether to round the result - * @return a "nice" number to be used for the data range - */ - private fun niceNum(range: Float, round: Boolean): Float { - /** nice, rounded fraction */ - val exponent: Float = floor(log10(range)) - /** exponent of range */ - val fraction = range / 10.0f.pow(exponent) - /** fractional part of range */ - val niceFraction: Float = if (round) { - if (fraction < 1.5) 1.0f else if (fraction < 3) 2.0f else if (fraction < 7) 5.0f else 10.0f - } else { - if (fraction <= 1) 1.0f else if (fraction <= 2) 2.0f else if (fraction <= 5) 5.0f else 10.0f - } - return niceFraction * 10.0f.pow(exponent) - } -} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/FixedTicksXAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt similarity index 78% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/FixedTicksXAxisScale.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt index 6063fad..f01035f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/FixedTicksXAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt @@ -1,4 +1,4 @@ -package com.netguru.multiplatform.charts.grid.axisscale +package com.netguru.multiplatform.charts.grid.axisscale.x class FixedTicksXAxisScale( override val min: Long, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt new file mode 100644 index 0000000..844defe --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt @@ -0,0 +1,35 @@ +package com.netguru.multiplatform.charts.grid.axisscale.x + +class TimestampXAxisScale( + override val min: Long, + override val max: Long, + val maxTicksCount: Int = 10 +) : XAxisScale { + // find first round hour, greater than min timestamp + override val start: Long// = min - min % period + period + + // if period is 0 or less set period to round hour + // avoid division by 0 when app starts and min and max are 0 + override val tick: Long// = if (period > 0) period else HOUR_MS + + // find period of vertical lines based on maxTicksCount, period can be in round hours i.e. 1h, 2h, 3h +// private val tick: Long// = HOUR_MS * ((max - min) / HOUR_MS / maxTicksCount) + + init { + val diff = (max - min).div(maxTicksCount) + tick = when { + diff > HOUR_MS -> HOUR_MS * ((max - min) / HOUR_MS / maxTicksCount) + diff > MINUTE_MS -> MINUTE_MS * ((max - min) / MINUTE_MS / maxTicksCount) + diff > SECOND_MS -> SECOND_MS * ((max - min) / SECOND_MS / maxTicksCount) + else -> diff + } + + start = /*if (tick > 0) min - min % tick + tick else*/ min + } + + companion object { + const val HOUR_MS = 3_600_000L + const val MINUTE_MS = 60_000L + const val SECOND_MS = 1_000L + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/XAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt similarity index 63% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/XAxisScale.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt index 5995792..5f41f3a 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/XAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt @@ -1,4 +1,4 @@ -package com.netguru.multiplatform.charts.grid.axisscale +package com.netguru.multiplatform.charts.grid.axisscale.x interface XAxisScale { val tick: Long diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt new file mode 100644 index 0000000..7dc4d00 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt @@ -0,0 +1,7 @@ +package com.netguru.multiplatform.charts.grid.axisscale.y + +interface YAxisScale { + val tick: Float + val min: Float + val max: Float +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt new file mode 100644 index 0000000..edf5070 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt @@ -0,0 +1,102 @@ +package com.netguru.multiplatform.charts.grid.axisscale.y + +import kotlin.math.ceil +import kotlin.math.floor +import kotlin.math.log10 +import kotlin.math.pow + +class YAxisScaleDynamic( + min: Float, + max: Float, + maxTickCount: Int, + roundClosestTo: Float, +) : YAxisScale { + override val tick: Float + override val min: Float + override val max: Float + + init { + + if (roundClosestTo <= 0) { + throw IllegalArgumentException("roundClosestTo must be a positive number") + } + + var moveDecimalPointBy = 0 + var tempClosestTo = roundClosestTo + if (roundClosestTo < 1) { + while (tempClosestTo.rem(1) > 0) { + tempClosestTo *= 10 + moveDecimalPointBy++ + } + } + + this.min = if (min.isNaN()) { + 0f + } else { + min + .times(10f.pow(moveDecimalPointBy)) + .getClosest( + n = roundClosestTo + .times(10f.pow(moveDecimalPointBy)), + ceil = false, + ) + .div(10f.pow(moveDecimalPointBy)) + + } + this.max = if (max.isNaN()) { + 0f + } else { + max + .times(10f.pow(moveDecimalPointBy)) + .getClosest( + n = roundClosestTo + .times(10f.pow(moveDecimalPointBy)), + ceil = true, + ) + .div(10f.pow(moveDecimalPointBy)) + } + + val range = niceNum(this.max - this.min, false) + this.tick = niceNum(range / (maxTickCount), true) + } + + private fun Float.getClosest(n: Float, ceil: Boolean) = when { + this > 0f -> ((this + n - 1) / n).ceilOrFloor(ceil) * n + this < 0f -> ((this - n + 1) / n).ceilOrFloor(ceil) * n + else -> 0f + } + + private fun Float.ceilOrFloor(ceil: Boolean): Float = if (ceil) { + ceil(this) + } else { + floor(this) + } + + /** + * Returns a "nice" number approximately equal to range. + * Rounds the number if round = true Takes the ceiling if round = false. + * + * @param range the data range + * @param round whether to round the result + * @return a "nice" number to be used for the data range + */ + private fun niceNum(range: Float, round: Boolean): Float { + /** nice, rounded fraction */ + val exponent: Float = floor(log10(range)) + + /** exponent of range */ + val fraction = range / 10.0f.pow(exponent) + + /** fractional part of range */ + val niceFraction: Float = if (round) { + if (fraction < 1.5) 1.0f else if (fraction < 3) 2.0f else if (fraction < 7) 5.0f else 10.0f + } else { + if (fraction <= 1) 1.0f else if (fraction <= 2) 2.0f else if (fraction <= 5) 5.0f else 10.0f + } + return niceFraction * 10.0f.pow(exponent) + } + + override fun toString(): String { + return "min: $min, max: $max, tick: $tick" + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt new file mode 100644 index 0000000..80007af --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt @@ -0,0 +1,61 @@ +package com.netguru.multiplatform.charts.grid.axisscale.y + +import kotlin.math.pow + +class YAxisScaleStatic( + min: Float, + max: Float, + maxTickCount: Int, + roundClosestTo: Float, +) : YAxisScale { + override val tick: Float + override val min: Float + override val max: Float + + init { + + if (roundClosestTo <= 0) { + throw IllegalArgumentException("roundClosestTo must be a positive number") + } + + var moveDecimalPointBy = 0 + var tempClosestTo = roundClosestTo + if (roundClosestTo < 1) { + while (tempClosestTo.rem(1) > 0) { + tempClosestTo *= 10 + moveDecimalPointBy++ + } + }/* else if (roundClosestTo >= 10) { + while (tempClosestTo >= 10) { + tempClosestTo /= 10 + moveDecimalPointBy-- + } + }*/ + + this.min = if (min.isNaN()) { + 0f + } else { + min.getClosest(roundClosestTo) +// min.times(10f.pow(moveDecimalPointBy)).getClosest(roundClosestTo.times(10f.pow(moveDecimalPointBy))).div(10f.pow(moveDecimalPointBy)) + } + this.max = if (max.isNaN()) { + 0f + } else { + max.getClosest(roundClosestTo) +// max.times(10f.pow(moveDecimalPointBy)).getClosest(roundClosestTo.times(10f.pow(moveDecimalPointBy))).div(10f.pow(moveDecimalPointBy)) + } + + val range = this.max - this.min + this.tick = (range / maxTickCount) + } + + private fun Float.getClosest(n: Float) = when { + this > 0f -> ((this.toInt() + n - 1) / n) * n + this < 0f -> ((this.toInt() - n + 1) / n) * n + else -> 0f + } + + override fun toString(): String { + return "min: $min, max: $max, tick: $tick" + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt index 180d7ab..6bd85d1 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt @@ -1,22 +1,19 @@ package com.netguru.multiplatform.charts.line -import androidx.compose.animation.core.animateFloatAsState -import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.BoxWithConstraints +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.foundation.lazy.GridCells -import androidx.compose.foundation.lazy.LazyVerticalGrid +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha @@ -24,39 +21,58 @@ import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.CornerRadius import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathEffect +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.bar.BarChartConfig +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.grid.GridDefaults -@OptIn(ExperimentalFoundationApi::class) @Composable fun ChartLegend( legendData: List, modifier: Modifier = Modifier, animation: ChartAnimation = ChartAnimation.Simple(), config: BarChartConfig = BarChartConfig(), - legendItemLabel: @Composable (String) -> Unit = GridDefaults.LegendItemLabel, + legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, + columnMinWidth: Dp = 200.dp, ) { - LazyVerticalGrid( - modifier = modifier, - cells = GridCells.Adaptive(200.dp), - contentPadding = PaddingValues( - start = 12.dp, - top = 16.dp, - end = 12.dp, - bottom = 16.dp - ), + val alpha = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = legendData.size, + uniqueDatasetKey = legendData, + ) + + BoxWithConstraints( + modifier.padding(16.dp) ) { - items(legendData.count()) { index -> - LegendItem( - data = legendData[index], - index = index, - animation = animation, - config = config, - legendItemLabel = legendItemLabel, - ) + val cols = maxOf((maxWidth / columnMinWidth).toInt(), 1) + val rows = legendData.chunked(cols) + LazyColumn( + verticalArrangement = Arrangement.spacedBy(16.dp) + ) { + itemsIndexed(rows) { rowIndex, legendRowItems -> + Row( + Modifier.height(IntrinsicSize.Min), + horizontalArrangement = Arrangement.spacedBy(12.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + legendRowItems.indices.forEach { colIndex -> + val index = (rowIndex * cols) + colIndex + + LegendItem( + data = legendData[index], + alpha = alpha[index], + legendItemLabel = legendItemLabel, + config = config, + modifier = Modifier + .weight(1f) + ) + } + } + } } } } @@ -64,32 +80,16 @@ fun ChartLegend( @Composable private fun LegendItem( data: LegendItemData, - index: Int, - animation: ChartAnimation, + alpha: Float, config: BarChartConfig, - legendItemLabel: @Composable (String) -> Unit, + legendItemLabel: @Composable (name: String, unit: String?) -> Unit, + modifier: Modifier = Modifier, ) { - var animationPlayed by remember(animation) { - mutableStateOf(animation is ChartAnimation.Disabled) - } - - LaunchedEffect(key1 = true) { - animationPlayed = true // to play animation only once - } - - val alpha = when (animation) { - ChartAnimation.Disabled -> 1f - is ChartAnimation.Simple -> animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(), - ).value - is ChartAnimation.Sequenced -> animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(index), - ).value - } - - Row(modifier = Modifier.alpha(alpha), verticalAlignment = Alignment.CenterVertically) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = modifier + .alpha(alpha) + ) { Box( modifier = Modifier .size(data.selectSymbolSize()) @@ -98,11 +98,12 @@ private fun LegendItem( SymbolShape.LINE -> drawLine( strokeWidth = size.height, - pathEffect = if (data.dashed) dashedPathEffect else null, + pathEffect = data.pathEffect, color = data.color, start = Offset(0f, size.height / 2), end = Offset(size.width, size.height / 2) ) + SymbolShape.RECTANGLE -> drawRoundRect( color = data.color, @@ -116,21 +117,22 @@ private fun LegendItem( ) Spacer(modifier = Modifier.width(8.dp)) - legendItemLabel(data.name) + legendItemLabel(data.name, data.unit) } } @Immutable data class LegendItemData( val name: String, + val unit: String?, val symbolShape: SymbolShape, val color: Color, - val dashed: Boolean, + val pathEffect: PathEffect?, ) @Composable private fun LegendItemData.selectSymbolSize() = when (symbolShape) { - SymbolShape.LINE -> DpSize(width = 16.dp, height = 4.dp) + SymbolShape.LINE -> DpSize(width = 32.dp, height = 4.dp) SymbolShape.RECTANGLE -> DpSize(width = 12.dp, height = 12.dp) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt index ee8a41c..8708752 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt @@ -1,9 +1,12 @@ package com.netguru.multiplatform.charts.line +import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Path +import androidx.compose.ui.graphics.PointMode +import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.drawscope.Stroke @@ -15,53 +18,107 @@ internal fun DrawScope.drawLineChart( graphTopPadding: Dp, graphBottomPadding: Dp, alpha: List, + drawPoints: Boolean, + selectedPointsForDrawing: List, ) { // calculate path val path = Path() - lineChartData.series.forEachIndexed { seriesIndex, data -> + lineChartData.series.forEachIndexed { seriesIndex, unfilteredData -> +// val filteredLists: MutableList> = mutableListOf() todo put this under a boolean parameter +// var tempList: MutableList = mutableListOf() +// unfilteredData.listOfPoints.forEach { lineChartPoint -> +// if (lineChartPoint.y != null) { +// tempList.add(lineChartPoint) +// } else { +// if (tempList.isNotEmpty()) { +// filteredLists.add(tempList) +// tempList = mutableListOf() +// } +// } +// } +// if (tempList.isNotEmpty()) { +// filteredLists.add(tempList) +// tempList = mutableListOf() +// } + +// val shouldSetZeroAsMinValue = filteredLists.size == 1 && filteredLists.first().filter { it.y != null }.distinctBy { it.y }.size == 1 + val shouldSetZeroAsMinValue = unfilteredData.listOfPoints.filter { it.y != null }.distinctBy { it.y }.size == 1 + +// filteredLists +// .map { unfilteredData.copy(listOfPoints = it) } +// .forEach { data -> + val data = unfilteredData.copy( + listOfPoints = unfilteredData.listOfPoints.filter { it.y != null } + ) + if (data.listOfPoints.isEmpty()) { + return@forEachIndexed + } val mappedPoints = mapDataToPixels( - lineChartData, - data, - size, - graphTopPadding.toPx(), - graphBottomPadding.toPx() + lineChartData = lineChartData, + currentSeries = data, + canvasSize = size, + graphTopPadding = graphTopPadding.toPx(), + graphBottomPadding = graphBottomPadding.toPx(), + shouldSetZeroAsMinValue = shouldSetZeroAsMinValue, ) val connectionPoints = calculateConnectionPointsForBezierCurve(mappedPoints) path.reset() // reuse path - mappedPoints.forEachIndexed { index, value -> - if (index == 0) { - path.moveTo(value.x, value.y) - } else { - path.cubicTo( - connectionPoints[index - 1].first.x, - connectionPoints[index - 1].first.y, - connectionPoints[index - 1].second.x, - connectionPoints[index - 1].second.y, - value.x, - value.y + mappedPoints + .filter { it.y != null } + .forEachIndexed { index, value -> + if (index == 0) { + path.moveTo(value.x, value.y!!) + } else { + val point = connectionPoints[index - 1] + path.cubicTo( + x1 = point.first.x, + y1 = point.first.y!!, + x2 = point.second.x, + y2 = point.second.y!!, + x3 = value.x, + y3 = value.y!!, + ) + } + } + + if (mappedPoints.size == 1 || drawPoints) { + val pointSize = data.lineWidth.toPx().times(if (drawPoints) 3f else 2f) + val widthThePointsTake = mappedPoints.maxOf { it.x } - mappedPoints.minOf { it.x } + val isEnoughSpace = + (mappedPoints.size - 2 /* this 2 is a magic number, it just works better with it */) * pointSize * 1.5 < widthThePointsTake + if (isEnoughSpace) { + drawPoints( + points = mappedPoints.filter { it.y != null }.map { Offset(it.x, it.y!!) }, + pointMode = PointMode.Points, + color = data.lineColor, + alpha = alpha[seriesIndex], + strokeWidth = pointSize, + cap = StrokeCap.Round, ) } } - // draw line - drawPath( - path = path, - color = data.lineColor.copy(alpha[seriesIndex]), - style = Stroke( - width = data.lineWidth.toPx(), - pathEffect = if (data.dashedLine) dashedPathEffect else null + if (mappedPoints.size > 1) { + // draw line + drawPath( + path = path, + color = data.lineColor.copy(alpha[seriesIndex]), + style = Stroke( + width = data.lineWidth.toPx(), + pathEffect = data.pathEffect, + ), ) - ) + } // close shape and fill path.lineTo(mappedPoints.last().x, size.height) path.lineTo(mappedPoints.first().x, size.height) drawPath( path = path, - Brush.verticalGradient( + brush = Brush.verticalGradient( listOf( Color.Transparent, data.fillColor.copy(alpha[seriesIndex] / 12), @@ -70,9 +127,37 @@ internal fun DrawScope.drawLineChart( startY = path.getBounds().bottom, endY = path.getBounds().top, ), - style = Fill + style = Fill, ) + + if (selectedPointsForDrawing.isNotEmpty()) { + val offsets = selectedPointsForDrawing + .map { seriesAndClosestPoint -> + val x = seriesAndClosestPoint.closestPoint.x.mapValueToDifferentRange( + lineChartData.minX, + lineChartData.maxX, + 0L, + size.width.toLong() + ).toFloat() + val y = seriesAndClosestPoint.closestPoint.y?.mapValueToDifferentRange( + if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, + lineChartData.maxY, + size.height - graphBottomPadding.toPx(), + graphTopPadding.toPx(), + ) + Offset(x, y!!) + } + drawPoints( + points = offsets, + pointMode = PointMode.Points, + color = data.lineColor, + alpha = alpha[seriesIndex], + strokeWidth = data.lineWidth.toPx().times(5f), + cap = StrokeCap.Round, + ) + } } +// } } private fun mapDataToPixels( @@ -81,19 +166,20 @@ private fun mapDataToPixels( canvasSize: Size, graphTopPadding: Float = 0f, graphBottomPadding: Float, + shouldSetZeroAsMinValue: Boolean, ): List { val mappedPoints = currentSeries.listOfPoints.map { val x = it.x.mapValueToDifferentRange( - lineChartData.minX, - lineChartData.maxX, - 0L, - canvasSize.width.toLong() + inMin = lineChartData.minX, + inMax = lineChartData.maxX, + outMin = 0L, + outMax = canvasSize.width.toLong() ).toFloat() - val y = it.y.mapValueToDifferentRange( - lineChartData.minY, - lineChartData.maxY, - canvasSize.height - graphBottomPadding, - graphTopPadding + val y = it.y?.mapValueToDifferentRange( + inMin = if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, + inMax = lineChartData.maxY, + outMin = canvasSize.height /*- graphBottomPadding*/, + outMax = 0f/*graphTopPadding*/, ) PointF(x, y) } @@ -101,8 +187,9 @@ private fun mapDataToPixels( return mappedPoints } -private fun calculateConnectionPointsForBezierCurve(points: List): MutableList> { +private fun calculateConnectionPointsForBezierCurve(points2: List): MutableList> { val conPoint = mutableListOf>() + val points = points2.filter { it.y != null } for (i in 1 until points.size) { conPoint.add( Pair( @@ -114,4 +201,4 @@ private fun calculateConnectionPointsForBezierCurve(points: List): Mutab return conPoint } -data class PointF(val x: Float, val y: Float) +data class PointF(val x: Float, val y: Float?) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt index d66439d..c31ea87 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt @@ -1,15 +1,14 @@ package com.netguru.multiplatform.charts.line -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -18,44 +17,42 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Size -import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.input.pointer.PointerEvent import androidx.compose.ui.input.pointer.PointerEventPass import androidx.compose.ui.input.pointer.PointerEventType +import androidx.compose.ui.input.pointer.changedToUp +import androidx.compose.ui.input.pointer.isOutOfBounds import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.StartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas +import com.netguru.multiplatform.charts.grid.DrawXAxisMarkers import com.netguru.multiplatform.charts.grid.GridDefaults import com.netguru.multiplatform.charts.grid.LineParameters import com.netguru.multiplatform.charts.grid.YAxisLabels -import com.netguru.multiplatform.charts.grid.alignCenterToOffsetHorizontal -import com.netguru.multiplatform.charts.grid.axisscale.TimestampXAxisScale -import com.netguru.multiplatform.charts.grid.axisscale.YAxisScale +import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.grid.drawChartGrid import com.netguru.multiplatform.charts.grid.measureChartGrid import com.netguru.multiplatform.charts.theme.ChartColors import com.netguru.multiplatform.charts.theme.ChartTheme -val dashedPathEffect = PathEffect.dashPathEffect(floatArrayOf(5f, 5f), 0f) - /** * Classic line chart with some shade below the line in the same color (albeit with a lot of * transparency) as the line and floating balloon on touch/click to show values for that particular * x-axis value. * * Color, shape and whether the line is dashed for each of the lines is specified in the - * [LegendItemData] class. Even though that this class is used, this particular composable does not - * show the legend. For this, [LineChartWithLegend] must be used. + * [LegendItemData] class. * * @param lineChartData Data to portray * @param colors Colors used are [ChartColors.grid], [ChartColors.surface] and * [ChartColors.overlayLine]. - * @param xAxisLabel Composable to mark the values on the x-axis. - * @param yAxisLabel Composable to mark the values on the y-axis. + * @param xAxisMarkerLayout Composable to mark the values on the x-axis. + * @param yAxisMarkerLayout Composable to mark the values on the y-axis. * @param overlayHeaderLabel Composable to show the current x-axis value on the overlay balloon * @param overlayDataEntryLabel Composable to show the value of each line in the overlay balloon * for that specific x-axis value @@ -67,152 +64,193 @@ val dashedPathEffect = PathEffect.dashPathEffect(floatArrayOf(5f, 5f), 0f) @OptIn(ExperimentalComposeUiApi::class) @Composable fun LineChart( - lineChartData: LineChartData, + yAxisData: YAxisData, modifier: Modifier = Modifier, colors: LineChartColors = ChartTheme.colors.lineChartColors, - xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisLabel, - yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisLabel, - overlayHeaderLabel: @Composable (value: Any) -> Unit = GridDefaults.OverlayHeaderLabel, - overlayDataEntryLabel: @Composable (dataName: String, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + overlayData: OverlayData? = OverlayData(), + xAxisData: XAxisData? = XAxisData(), animation: ChartAnimation = ChartAnimation.Simple(), maxVerticalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, maxHorizontalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - roundMinMaxClosestTo: Int = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, + drawPoints: Boolean = false, + legendData: LegendData? = LegendData(), ) { var touchPositionX by remember { mutableStateOf(-1f) } var verticalGridLines by remember { mutableStateOf(emptyList()) } var horizontalGridLines by remember { mutableStateOf(emptyList()) } val horizontalLinesOffset: Dp = GridDefaults.HORIZONTAL_LINES_OFFSET - val animationPlayed = StartAnimation(animation, lineChartData) + val alpha = getAnimationAlphas(animation, yAxisData.lineChartData.series.size, yAxisData.lineChartData) - val alpha = when (animation) { - ChartAnimation.Disabled -> lineChartData.series.indices.map { 1f } - is ChartAnimation.Simple -> lineChartData.series.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> lineChartData.series.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(it) - ).value + Column( + modifier = modifier + ) { + if (yAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top) { + yAxisData.yAxisTitleData.labelLayout() } - } - - Row(modifier = modifier) { - YAxisLabels( - horizontalGridLines = horizontalGridLines, - yAxisMarkerLayout = yAxisLabel, - ) - - Spacer(modifier = Modifier.size(4.dp, 0.dp)) + Row(modifier = Modifier.weight(1f)) { + if (yAxisData.markerLayout != null) { + YAxisLabels( + horizontalGridLines = horizontalGridLines, + yAxisMarkerLayout = yAxisData.markerLayout, + yAxisTitleData = yAxisData.yAxisTitleData, + modifier = Modifier + .padding(end = 8.dp) + ) + } - // main chart - Column(Modifier.fillMaxSize()) { - BoxWithConstraints( - Modifier - .fillMaxWidth() - .weight(1f) - .drawBehind { - val lines = measureChartGrid( - xAxisScale = TimestampXAxisScale( - min = lineChartData.minX, - max = lineChartData.maxX, - maxTicksCount = maxVerticalLines - 1 + val numberOfXAxisEntries by remember(yAxisData.lineChartData) { + derivedStateOf { + yAxisData + .lineChartData + .series + .map { + it.listOfPoints + } + .maxOf { + it.size + } + } + } - ), - yAxisScale = YAxisScale( - min = lineChartData.minY, - max = lineChartData.maxY, - maxTickCount = maxHorizontalLines - 1, - roundClosestTo = roundMinMaxClosestTo, - ), - horizontalLinesOffset = horizontalLinesOffset - ) - verticalGridLines = lines.verticalLines - horizontalGridLines = lines.horizontalLines - drawChartGrid(lines, colors.grid) + // main chart + Column(Modifier.fillMaxSize()) { + var pointsToDraw: List by remember { + mutableStateOf(emptyList()) + } + BoxWithConstraints( + modifier = Modifier + .fillMaxWidth() + .weight(1f) + .drawBehind { + val lines = measureChartGrid( + xAxisScale = TimestampXAxisScale( + min = yAxisData.lineChartData.minX, + max = yAxisData.lineChartData.maxX, + maxTicksCount = (minOf( + maxVerticalLines, numberOfXAxisEntries + ) - 1).coerceAtLeast(1) + ), + yAxisScale = YAxisScaleDynamic( + min = yAxisData.lineChartData.minY, + max = yAxisData.lineChartData.maxY, + maxTickCount = maxHorizontalLines - 1, + roundClosestTo = yAxisData.roundMinMaxClosestTo, + ), + ) + verticalGridLines = lines.verticalLines + horizontalGridLines = lines.horizontalLines + lines.zeroPosition + drawChartGrid( + grid = lines, + color = colors.grid, + ) - drawLineChart( - lineChartData = lineChartData, - graphTopPadding = horizontalLinesOffset, - graphBottomPadding = horizontalLinesOffset, - alpha = alpha, - ) - } - // Touch input - .pointerInput(Unit) { - while (true) { - awaitPointerEventScope { - val event = awaitPointerEvent(pass = PointerEventPass.Initial) + drawLineChart( + lineChartData = yAxisData.lineChartData, + graphTopPadding = horizontalLinesOffset, + graphBottomPadding = horizontalLinesOffset, + alpha = alpha, + drawPoints = drawPoints, + selectedPointsForDrawing = pointsToDraw, + ) + } + .then( + if (overlayData != null) { + // Touch input + Modifier + .pointerInput(Unit) { + while (true) { + awaitPointerEventScope { + val event = awaitPointerEvent(pass = PointerEventPass.Initial) - touchPositionX = if ( - shouldIgnoreTouchInput( - event = event, - containerSize = size - ) - ) { - -1f - } else { - event.changes[0].position.x - } + touchPositionX = if ( + shouldIgnoreTouchInput( + event = event + ) + ) { + -1f + } else { + event.changes[0].position.x + } - event.changes.any { - it.consume() - true - } + event.changes.any { + it.consume() + true + } + } + } + } + .pointerInput(Unit) { + while (true) { + awaitPointerEventScope { + val event = awaitPointerEvent(PointerEventPass.Main) + if ( + event.changes.all { it.changedToUp() } || + event.changes.any { + it.isOutOfBounds(size, extendedTouchPadding) + } + ) { + touchPositionX = -1f + } + } + } + } + } else { + Modifier } + ), + content = { + // Overlay + if (overlayData != null) { + LineChartOverlayInformation( + lineChartData = listOf(yAxisData.lineChartData), + positionX = touchPositionX, + containerSize = with(LocalDensity.current) { + Size( + maxWidth.toPx(), + maxHeight.toPx() + ) + }, + colors = colors, + drawPoints = { + pointsToDraw = it + }, + overlayData = overlayData, + ) } } - ) { - // Overlay - LineChartOverlayInformation( - lineChartData = lineChartData, - positionX = touchPositionX, - containerSize = with(LocalDensity.current) { - Size( - maxWidth.toPx(), - maxHeight.toPx() - ) - }, - colors = colors, - overlayHeaderLayout = overlayHeaderLabel, - overlayDataEntryLayout = overlayDataEntryLabel, ) - } - Box(Modifier.fillMaxWidth()) { - for (gridLine in verticalGridLines) { - Box( - modifier = Modifier - .alignCenterToOffsetHorizontal(gridLine.position) - ) { - xAxisLabel(gridLine.value.toLong()) + if (xAxisData != null) { + Box(Modifier.fillMaxWidth()) { + DrawXAxisMarkers( + lineParams = verticalGridLines, + xAxisData = xAxisData, + modifier = Modifier + .fillMaxWidth() + ) } } } } + + if (legendData != null) { + ChartLegend( + legendData = yAxisData.lineChartData.legendData, + animation = animation, + legendItemLabel = legendData.legendItemLabel, + columnMinWidth = legendData.columnMinWidth, + ) + } } } -private fun shouldIgnoreTouchInput(event: PointerEvent, containerSize: IntSize): Boolean { +private fun shouldIgnoreTouchInput(event: PointerEvent): Boolean { if (event.changes.isEmpty() || - event.type != PointerEventType.Move - ) { - return true - } - if (event.changes[0].position.x < 0 || - event.changes[0].position.x > containerSize.width - ) { - return true - } - if (event.changes[0].position.y < 0 || - event.changes[0].position.y > containerSize.height + (event.type != PointerEventType.Move && event.type != PointerEventType.Press) ) { return true } + return false } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt index ddce930..55486c0 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt @@ -1,6 +1,7 @@ package com.netguru.multiplatform.charts.line import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -12,73 +13,285 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Size import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.OverlayInformation import com.netguru.multiplatform.charts.mapValueToDifferentRange +import kotlin.math.abs @Composable internal fun LineChartOverlayInformation( - lineChartData: LineChartData, + lineChartData: List, positionX: Float, containerSize: Size, colors: LineChartColors, - overlayHeaderLayout: @Composable (value: Long) -> Unit, - overlayDataEntryLayout: @Composable (dataName: String, value: Float) -> Unit, + drawPoints: (points: List) -> Unit, + overlayData: OverlayData, ) { - if (positionX < 0) return - - OverlayInformation( - positionX = positionX, - containerSize = containerSize, - surfaceColor = colors.surface - ) { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - ) { - val timestampCursor = getTimestampFromCursor( - xCursorPosition = positionX, - lineChartData = lineChartData, - containerSize = containerSize + if (overlayData.showInterpolatedValues) { + LineChartOverlayInformationWithInterpolatedValues( + lineChartData = lineChartData, + positionX = positionX, + containerSize = containerSize, + colors = colors, + overlayHeaderLayout = overlayData.overlayHeaderLabel, + overlayDataEntryLayout = overlayData.overlayDataEntryLabel, + touchOffsetHorizontal = overlayData.touchOffsetHorizontal, + touchOffsetVertical = overlayData.touchOffsetVertical, + overlayWidth = overlayData.overlayWidth, + ) + } else { + LineChartOverlayInformation( + lineChartData = lineChartData, + positionX = positionX, + containerSize = containerSize, + colors = colors, + overlayHeaderLayout = overlayData.overlayHeaderLabel, + overlayDataEntryLayout = overlayData.overlayDataEntryLabel, + drawPoints = drawPoints, + highlightPointsCloserThan = overlayData.highlightPointsCloserThan, + touchOffsetHorizontal = overlayData.touchOffsetHorizontal, + touchOffsetVertical = overlayData.touchOffsetVertical, + overlayWidth = overlayData.overlayWidth, + ) + } +} + +@Composable +private fun LineChartOverlayInformation( + lineChartData: List, + positionX: Float, + containerSize: Size, + colors: LineChartColors, + overlayHeaderLayout: @Composable (value: Any, dataUnit: String?) -> Unit, + overlayDataEntryLayout: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit, + drawPoints: (points: List) -> Unit, + highlightPointsCloserThan: Dp, + touchOffsetHorizontal: Dp, + touchOffsetVertical: Dp, + overlayWidth: Dp, +) { + if (positionX < 0) { + drawPoints(emptyList()) + return + } + + val combinedLineChartData by remember(lineChartData) { + derivedStateOf { + LineChartData( + series = lineChartData.flatMap { it.series }, + dataUnit = null, ) - val listOfValues = retrieveData(lineChartData, timestampCursor) - - overlayHeaderLayout(timestampCursor) - - Spacer(modifier = Modifier.height(4.dp)) - - listOfValues.forEach { seriesAndInterpolatedValue -> - Row(verticalAlignment = Alignment.CenterVertically) { - Box( - modifier = Modifier - .size(16.dp, 4.dp) - .drawBehind { - drawLine( - strokeWidth = seriesAndInterpolatedValue.lineChartSeries.lineWidth.toPx(), - pathEffect = if (seriesAndInterpolatedValue.lineChartSeries.dashedLine) - dashedPathEffect else null, - color = seriesAndInterpolatedValue.lineChartSeries.lineColor, - start = Offset(0f, size.height / 2), - end = Offset(size.width, size.height / 2) - ) - } - ) + } + } - Spacer(modifier = Modifier.width(8.dp)) + val timestampCursor = getTimestampFromCursor( + xCursorPosition = positionX, + lineChartData = combinedLineChartData, + containerSize = containerSize + ) + val listOfValues = retrieveDataWithClosestPointForEachSeries(lineChartData, timestampCursor) + var linePositionX: Float? by remember { + mutableStateOf(null) + } - val dataName = seriesAndInterpolatedValue.lineChartSeries.dataName - val interpolatedValue = seriesAndInterpolatedValue.interpolatedValue - overlayDataEntryLayout(dataName, interpolatedValue) - } + if (listOfValues.isNotEmpty()) { + + val highlightPointsCloserThanPixels = with(LocalDensity.current) { + highlightPointsCloserThan.toPx() + } + + linePositionX = + listOfValues.first().closestPoint.x.mapValueToDifferentRange( + inMin = combinedLineChartData.minX, + inMax = combinedLineChartData.maxX, + outMin = 0f, + outMax = containerSize.width, + ) + + val (pointsToAvoid, valuesToShowDataFor) = listOfValues.mapNotNull { + val (x, y) = it.closestPoint.let { point -> + point.x.mapValueToDifferentRange( + inMin = combinedLineChartData.minX, + inMax = combinedLineChartData.maxX, + outMin = 0f, + outMax = containerSize.width, + ) to point.y!!.mapValueToDifferentRange( + inMin = it.lineChartSeries.minValue, + inMax = it.lineChartSeries.maxValue, + outMin = 0f, + outMax = containerSize.height, + ) + } + + if (abs(x - linePositionX!!) <= highlightPointsCloserThanPixels) { + Offset(x, y) to it + } else { + null + } + } + .unzip() + + drawPoints(valuesToShowDataFor) + + OverlayInformation( + positionX = linePositionX, + containerSize = containerSize, + surfaceColor = colors.surface, + pointsToAvoid = pointsToAvoid, + touchOffsetHorizontal = touchOffsetHorizontal, + touchOffsetVertical = touchOffsetVertical, + overlayWidth = overlayWidth, + ) { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + valuesToShowDataFor + .groupBy { it.closestPoint.x } + .forEach { closestPointBySeries -> + Column( + horizontalAlignment = Alignment.CenterHorizontally, + ) { + overlayHeaderLayout(closestPointBySeries.key, null) + + Spacer(modifier = Modifier.height(4.dp)) + + + closestPointBySeries.value + .forEach { seriesAndClosestPoint -> + Row(verticalAlignment = Alignment.CenterVertically) { + Box( + modifier = Modifier + .size(16.dp, 4.dp) + .drawBehind { + drawLine( + strokeWidth = seriesAndClosestPoint.lineChartSeries.lineWidth.toPx(), + pathEffect = seriesAndClosestPoint.lineChartSeries.pathEffect, + color = seriesAndClosestPoint.lineChartSeries.lineColor, + start = Offset(0f, size.height / 2), + end = Offset(size.width, size.height / 2) + ) + } + ) + + Spacer(modifier = Modifier.width(8.dp)) + + val dataName = seriesAndClosestPoint.lineChartSeries.dataName + val dataUnit = seriesAndClosestPoint.dataUnit + val value = seriesAndClosestPoint.closestPoint.y + overlayDataEntryLayout(dataName, dataUnit, value!!) + } + } + } + } } } } + // Vertical marker line + linePositionX?.let { + Spacer( + Modifier + .offset( + with(LocalDensity.current) { it.toDp() }, 0.dp + ) + .width(1.dp) + .fillMaxHeight() + .background(colors.overlayLine) + ) + } +} + +@Composable +private fun LineChartOverlayInformationWithInterpolatedValues( + lineChartData: List, + positionX: Float, + containerSize: Size, + colors: LineChartColors, + overlayHeaderLayout: @Composable (value: Any, dataUnit: String?) -> Unit, + overlayDataEntryLayout: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit, + touchOffsetHorizontal: Dp, + touchOffsetVertical: Dp, + overlayWidth: Dp, +) { + if (positionX < 0) { + return + } + + val combinedLineChartData by remember(lineChartData) { + derivedStateOf { + LineChartData( + series = lineChartData.flatMap { it.series }, + dataUnit = null, + ) + } + } + + val timestampCursor = getTimestampFromCursor( + xCursorPosition = positionX, + lineChartData = combinedLineChartData, + containerSize = containerSize + ) + val listOfValues = retrieveDataWithInterpolatedValue(combinedLineChartData, timestampCursor) + + if (listOfValues.isNotEmpty()) { + OverlayInformation( + positionX = positionX, + containerSize = containerSize, + surfaceColor = colors.surface, + touchOffsetHorizontal = touchOffsetHorizontal, + touchOffsetVertical = touchOffsetVertical, + overlayWidth = overlayWidth, + content = { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + ) { + val dataUnit = listOfValues.first().lineChartSeries.dataName // todo + overlayHeaderLayout(timestampCursor, dataUnit) + + Spacer(modifier = Modifier.height(4.dp)) + + listOfValues.forEach { seriesAndInterpolatedValue -> + Row(verticalAlignment = Alignment.CenterVertically) { + Box( + modifier = Modifier + .size(16.dp, 4.dp) + .drawBehind { + drawLine( + strokeWidth = seriesAndInterpolatedValue.lineChartSeries.lineWidth.toPx(), + pathEffect = seriesAndInterpolatedValue.lineChartSeries.pathEffect, + color = seriesAndInterpolatedValue.lineChartSeries.lineColor, + start = Offset(0f, size.height / 2), + end = Offset(size.width, size.height / 2) + ) + } + ) + + Spacer(modifier = Modifier.width(8.dp)) + + val dataName = seriesAndInterpolatedValue.lineChartSeries.dataName + val dataUnit = dataUnit + val interpolatedValue = seriesAndInterpolatedValue.interpolatedValue + overlayDataEntryLayout(dataName, dataUnit, interpolatedValue) + } + } + } + }, + ) + } + // Vertical marker line Spacer( Modifier @@ -103,7 +316,30 @@ private fun getTimestampFromCursor( lineChartData.maxX ) -private fun retrieveData( +private fun retrieveDataWithClosestPointForEachSeries( + lineChartDataList: List, + timestampCursor: Long, +): List { + // find time value from position of the cursor + + val outputList: MutableList = mutableListOf() + lineChartDataList.forEach { lineChartData -> + lineChartData.series.forEach { series -> + // find the closest point + series.listOfPoints + .filter { it.y != null } + .minByOrNull { abs(it.x - timestampCursor) } + ?.let { + outputList.add( + SeriesAndClosestPoint(series, it, lineChartData.dataUnit) + ) + } + } + } + return outputList.sortedBy { abs(it.closestPoint.x - timestampCursor) } +} + +private fun retrieveDataWithInterpolatedValue( lineChartData: LineChartData, timestampCursor: Long, ): List { @@ -119,7 +355,7 @@ private fun retrieveData( .filter { it.x <= timestampCursor } .maxByOrNull { it.x } - if (v0 != null && v1 != null) { + if (v0?.y != null && v1?.y != null) { val interpolatedValue = interpolateBetweenValues( v0.y, @@ -151,3 +387,10 @@ private data class SeriesAndInterpolatedValue( val lineChartSeries: LineChartSeries, val interpolatedValue: Float, ) + +@Immutable +data class SeriesAndClosestPoint( + val lineChartSeries: LineChartSeries, + val closestPoint: LineChartPoint, + val dataUnit: String?, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt index 639ac45..39c5ab4 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt @@ -2,6 +2,7 @@ package com.netguru.multiplatform.charts.line import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.grid.GridChartData @@ -9,7 +10,7 @@ import com.netguru.multiplatform.charts.grid.GridChartData @Immutable data class LineChartPoint( val x: Long, - val y: Float, + val y: Float?, ) @Immutable @@ -18,13 +19,13 @@ data class LineChartSeries( val lineWidth: Dp = 3.dp, val lineColor: Color, val fillColor: Color = lineColor, - val dashedLine: Boolean = false, + val pathEffect: PathEffect? = null, val listOfPoints: List = emptyList(), ) { val minValue: Float val maxValue: Float val minTimestamp: Long - val maxTimeStamp: Long + val maxTimestamp: Long init { // find max and min in series @@ -35,12 +36,12 @@ data class LineChartSeries( val minMaxTimestamp = getMinMaxTimestamp() minTimestamp = minMaxTimestamp.first - maxTimeStamp = minMaxTimestamp.second + maxTimestamp = minMaxTimestamp.second } else { minValue = 0f maxValue = 0f minTimestamp = 0L - maxTimeStamp = 0L + maxTimestamp = 0L } } @@ -50,22 +51,29 @@ data class LineChartSeries( } private fun getMinMaxValue(): Pair { - val sortedValue = listOfPoints.sortedBy { it.y } - return Pair(sortedValue.first().y, sortedValue.last().y) + return listOfPoints + .filter { it.y != null } + .sortedBy { it.y } + .takeIf { it.isNotEmpty() } + ?.let { + Pair(it.first().y!!, it.last().y!!) + } ?: Pair(0f, 0f) } } @Immutable data class LineChartData( val series: List, + val dataUnit: String?, ) : GridChartData { override val legendData: List get() = series.map { LegendItemData( name = it.dataName, + unit = dataUnit, symbolShape = SymbolShape.LINE, color = it.lineColor, - dashed = it.dashedLine + pathEffect = it.pathEffect, ) } @@ -78,12 +86,17 @@ data class LineChartData( // find max and min in all data val timeStamps = mutableListOf() val values = mutableListOf() - series.forEach { - timeStamps.add(it.minTimestamp) - timeStamps.add(it.maxTimeStamp) - values.add(it.minValue) - values.add(it.maxValue) - } + series + .forEach { + if (it.listOfPoints.any { point -> point.y != null }) { + // null-only series, that are used to make timestamp ranges compatible between different series, + // must not be used for y-axis values, since they always report min=0f, which breaks the chart. + values.add(it.minValue) + values.add(it.maxValue) + } + timeStamps.add(it.minTimestamp) + timeStamps.add(it.maxTimestamp) + } minX = timeStamps.minOrNull() ?: 0 maxX = timeStamps.maxOrNull() ?: 0 minY = values.minOrNull() ?: 0f diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithLegend.kt deleted file mode 100644 index e84eb51..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithLegend.kt +++ /dev/null @@ -1,53 +0,0 @@ -package com.netguru.multiplatform.charts.line - -import androidx.compose.foundation.layout.Column -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.grid.GridDefaults -import com.netguru.multiplatform.charts.theme.ChartTheme - -/** - * Classic line chart with legend below the chart. - * - * For more information, check [LineChart]. - * - * @param legendItemLabel Composable to use to represent the value in the legend. Only text value - * is customizable. - * - * @see LineChart - */ -@Composable -fun LineChartWithLegend( - lineChartData: LineChartData, - modifier: Modifier = Modifier, - maxVerticalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - maxHorizontalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - animation: ChartAnimation = ChartAnimation.Simple(), - colors: LineChartColors = ChartTheme.colors.lineChartColors, - xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisLabel, - yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisLabel, - overlayHeaderLabel: @Composable (value: Any) -> Unit = GridDefaults.OverlayHeaderLabel, - overlayDataEntryLabel: @Composable (dataName: String, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, - legendItemLabel: @Composable (String) -> Unit = GridDefaults.LegendItemLabel, -) { - Column(modifier = modifier) { - LineChart( - lineChartData = lineChartData, - modifier = Modifier.weight(1f), - maxVerticalLines = maxVerticalLines, - maxHorizontalLines = maxHorizontalLines, - animation = animation, - colors = colors, - xAxisLabel = xAxisLabel, - yAxisLabel = yAxisLabel, - overlayHeaderLabel = overlayHeaderLabel, - overlayDataEntryLabel = overlayDataEntryLabel, - ) - ChartLegend( - legendData = lineChartData.legendData, - animation = animation, - legendItemLabel = legendItemLabel, - ) - } -} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt new file mode 100644 index 0000000..58b6ce6 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt @@ -0,0 +1,401 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.foundation.layout.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.drawBehind +import androidx.compose.ui.geometry.Size +import androidx.compose.ui.input.pointer.PointerEvent +import androidx.compose.ui.input.pointer.PointerEventPass +import androidx.compose.ui.input.pointer.PointerEventType +import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.unit.dp +import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas +import com.netguru.multiplatform.charts.grid.* +import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleStatic +import com.netguru.multiplatform.charts.theme.ChartColors +import com.netguru.multiplatform.charts.theme.ChartTheme + +data class YAxisData( + val lineChartData: LineChartData, + val markerLayout: (@Composable (value: Any) -> Unit)? = GridDefaults.YAxisMarkerLayout, + val yAxisTitleData: YAxisTitleData? = GridDefaults.YAxisDataTitleYAxisData, + val roundMinMaxClosestTo: Float = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, +) + +data class XAxisData( + val markerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, + val hideMarkersWhenOverlapping: Boolean = false, + val alignFirstAndLastToChartEdges: Boolean = false, +) + +data class OverlayData( + val overlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = GridDefaults.OverlayHeaderLabel, + val overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + val showEnlargedPointOnLine: Boolean = false, + val showInterpolatedValues: Boolean = true, + val highlightPointsCloserThan: Dp = 30.dp, + val touchOffsetHorizontal: Dp = 20.dp, + val touchOffsetVertical: Dp = 20.dp, + val overlayWidth: Dp = 200.dp, +) + +data class LegendData( + val columnMinWidth: Dp = 200.dp, + val legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, +) + +/** + * Classic line chart with some shade below the line in the same color (albeit with a lot of + * transparency) as the line and floating balloon on touch/click to show values for that particular + * x-axis value. + * + * Color, shape and whether the line is dashed for each of the lines is specified in the + * [LegendItemData] class. + * + * If the [lineChartDataRightAxis] param is null, ordinary [LineChart] is used with the data and + * settings for the left Y-axis. + * + * @param lineChartDataLeftAxis Data to portray on the left Y axis + * @param lineChartDataRightAxis Data to portray on the right Y axis + * @param colors Colors used are [ChartColors.grid], [ChartColors.surface] and + * [ChartColors.overlayLine]. + * @param xAxisLabel Composable to mark the values on the x-axis. + * @param leftYAxisMarkerLayout Composable to mark the values on the left y-axis. + * @param rightYAxisMarkerLayout Composable to mark the values on the right y-axis. + * @param overlayHeaderLabel Composable to show the current x-axis value on the overlay balloon + * @param overlayDataEntryLabel Composable to show the value of each line in the overlay balloon + * for that specific x-axis value + * @param animation Animation to use + * @param maxVerticalLines Max number of lines, representing the x-axis values + * @param maxHorizontalLines Max number of lines, representing the y-axis values + * @param roundLeftMinMaxClosestTo Number to which min and max range on the left will be rounded to + * @param roundRightMinMaxClosestTo Number to which min and max range on the right will be rounded to + */ +@Composable +fun LineChartWithTwoYAxisSets( + leftYAxisData: YAxisData, + rightYAxisData: YAxisData?, + modifier: Modifier = Modifier, + colors: LineChartColors = ChartTheme.colors.lineChartColors, + overlayData: OverlayData? = OverlayData(), + xAxisData: XAxisData? = XAxisData(), + animation: ChartAnimation = ChartAnimation.Simple(), + maxVerticalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, + maxHorizontalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, + drawPoints: Boolean = false, + legendData: LegendData? = LegendData() +) { + if (rightYAxisData != null) { + LineChartWithTwoYAxisSetsLayout( + leftYAxisData = leftYAxisData, + rightYAxisData = rightYAxisData, + modifier = modifier, + colors = colors, + xAxisData = xAxisData, + overlayData = overlayData, + animation = animation, + maxVerticalLines = maxVerticalLines, + maxHorizontalLines = maxHorizontalLines, + drawPoints = drawPoints, + legendData = legendData, + ) + } else { + LineChart( + yAxisData = leftYAxisData, + modifier = modifier, + colors = colors, + xAxisData = xAxisData, + overlayData = overlayData, + animation = animation, + maxVerticalLines = maxVerticalLines, + maxHorizontalLines = maxHorizontalLines, + drawPoints = drawPoints, + legendData = legendData, + ) + } +} + +@Composable +private fun LineChartWithTwoYAxisSetsLayout( + leftYAxisData: YAxisData, + rightYAxisData: YAxisData, + modifier: Modifier, + colors: LineChartColors, + xAxisData: XAxisData?, + overlayData: OverlayData?, + animation: ChartAnimation, + maxVerticalLines: Int, + maxHorizontalLines: Int, + drawPoints: Boolean, + legendData: LegendData?, +) { + var touchPositionX by remember { mutableStateOf(-1f) } + var verticalGridLines by remember { mutableStateOf(emptyList()) } + var leftYAxisMarks by remember { mutableStateOf(emptyList()) } + var rightYAxisMarks by remember { mutableStateOf(emptyList()) } + val horizontalLinesOffset: Dp = GridDefaults.HORIZONTAL_LINES_OFFSET + + val alphas = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = leftYAxisData.lineChartData.series.size + rightYAxisData.lineChartData.series.size, + uniqueDatasetKey = LineChartData( + series = leftYAxisData.lineChartData.series + rightYAxisData.lineChartData.series, + dataUnit = null, + ), + ) + + fun LineChartData.addNoYValuePointsFrom(another: LineChartData): LineChartData { + val anotherSeries = another.series + .map { it.copy(listOfPoints = it.listOfPoints.map { point -> point.copy(y = null) }) } + + return copy(series = series + anotherSeries) + } + + Column( + modifier = modifier, + ) { + if (leftYAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top || + rightYAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top + ) { + Row( + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.Bottom, + modifier = Modifier + .fillMaxWidth() + ) { + leftYAxisData.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) + rightYAxisData.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) + } + } + Row(modifier = Modifier.weight(1f)) { + if (leftYAxisData.markerLayout != null) { + YAxisLabels( + horizontalGridLines = leftYAxisMarks, + yAxisMarkerLayout = leftYAxisData.markerLayout, + yAxisTitleData = leftYAxisData.yAxisTitleData, + modifier = Modifier + .padding(end = 8.dp) + ) + } + + val numberOfXAxisEntries by remember(leftYAxisData.lineChartData, rightYAxisData.lineChartData) { + derivedStateOf { + (leftYAxisData.lineChartData.series + + rightYAxisData.lineChartData.series + ) + .map { + it.listOfPoints + } + .maxOf { + it.size + } + } + } + + // main chart + Column(Modifier.weight(1f)) { + var pointsToDraw: List by remember { + mutableStateOf(emptyList()) + } + BoxWithConstraints( + Modifier + .fillMaxWidth() + .weight(1f) + .drawBehind { + val lines = measureChartGrid( + xAxisScale = TimestampXAxisScale( + min = minOf(leftYAxisData.lineChartData.minX, rightYAxisData.lineChartData.minX), + max = maxOf(leftYAxisData.lineChartData.maxX, rightYAxisData.lineChartData.maxX), + maxTicksCount = (minOf( + maxVerticalLines, numberOfXAxisEntries + ) - 1).coerceAtLeast(1) + ), + yAxisScale = YAxisScaleStatic( + min = 0f, + max = maxHorizontalLines.toFloat(), + maxTickCount = maxHorizontalLines - 1, + roundClosestTo = 1f, + ), + ).also { + verticalGridLines = it.verticalLines + } + + leftYAxisMarks = measureChartGrid( + xAxisScale = TimestampXAxisScale(0, 0), + yAxisScale = YAxisScaleDynamic( + min = leftYAxisData.lineChartData.minY, + max = leftYAxisData.lineChartData.maxY, + maxTickCount = maxHorizontalLines - 1, + roundClosestTo = leftYAxisData.roundMinMaxClosestTo, + ) + ) + .horizontalLines + .let { + val containsZeroValue = + it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null + if (containsZeroValue) { + it + } else { + it + lines.zeroPosition + } + } + rightYAxisMarks = measureChartGrid( + xAxisScale = TimestampXAxisScale(0, 0), + yAxisScale = YAxisScaleDynamic( + min = rightYAxisData.lineChartData.minY, + max = rightYAxisData.lineChartData.maxY, + maxTickCount = maxHorizontalLines - 1, + roundClosestTo = rightYAxisData.roundMinMaxClosestTo, + ) + ) + .horizontalLines + .let { + val containsZeroValue = + it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null + if (containsZeroValue) { + it + } else { + it + lines.zeroPosition + } + } + + drawChartGrid(lines, colors.grid) + + drawLineChart( + // we have to join those points so that the x-values align properly. Otherwise, in case when + // datasets would not start and end at the same x value, they would still be drawn from the + // same start and end point, making (at least) one of them drawn incorrectly + lineChartData = leftYAxisData.lineChartData.addNoYValuePointsFrom(rightYAxisData.lineChartData), + graphTopPadding = horizontalLinesOffset, + graphBottomPadding = horizontalLinesOffset, + alpha = alphas, + drawPoints = drawPoints, + selectedPointsForDrawing = pointsToDraw.filter { + leftYAxisData.lineChartData.series.contains( + it.lineChartSeries + ) + }, + ) + + drawLineChart( + // we have to join those points so that the x-values align properly. Otherwise, in case when + // datasets would not start and end at the same x value, they would still be drawn from the + // same start and end point, making (at least) one of them drawn incorrectly + lineChartData = rightYAxisData.lineChartData.addNoYValuePointsFrom(leftYAxisData.lineChartData), + graphTopPadding = horizontalLinesOffset, + graphBottomPadding = horizontalLinesOffset, + alpha = alphas, + drawPoints = drawPoints, + selectedPointsForDrawing = pointsToDraw.filter { + rightYAxisData.lineChartData.series.contains( + it.lineChartSeries + ) + }, + ) + } + // Touch input + .pointerInput(Unit) { + while (true) { + awaitPointerEventScope { + val event = awaitPointerEvent(pass = PointerEventPass.Initial) + + touchPositionX = if ( + shouldIgnoreTouchInput( + event = event, + containerSize = size + ) + ) { + -1f + } else { + event.changes[0].position.x + } + + event.changes.any { + it.consume() + true + } + } + } + }, + content = { + // Overlay + if (overlayData != null) { + LineChartOverlayInformation( + lineChartData = listOf(leftYAxisData.lineChartData, rightYAxisData.lineChartData), + positionX = touchPositionX, + containerSize = with(LocalDensity.current) { + Size( + maxWidth.toPx(), + maxHeight.toPx() + ) + }, + colors = colors, + drawPoints = { + pointsToDraw = it + }, + overlayData = overlayData, + ) + } + } + ) + + if (xAxisData != null) { + Box(Modifier.fillMaxWidth()) { + DrawXAxisMarkers( + lineParams = verticalGridLines, + xAxisData = xAxisData, + modifier = Modifier + .fillMaxWidth() + ) + } + } + } + + if (rightYAxisData.markerLayout != null) { + YAxisLabels( + horizontalGridLines = rightYAxisMarks, + yAxisMarkerLayout = rightYAxisData.markerLayout, + yAxisTitleData = rightYAxisData.yAxisTitleData, + modifier = Modifier + .padding(start = 8.dp) + ) + } + } + + if (legendData != null) { + ChartLegend( + legendData = leftYAxisData.lineChartData.legendData + rightYAxisData.lineChartData.legendData, + animation = animation, + legendItemLabel = legendData.legendItemLabel, + columnMinWidth = legendData.columnMinWidth, + ) + } + } +} + +private fun shouldIgnoreTouchInput(event: PointerEvent, containerSize: IntSize): Boolean { + if (event.changes.isEmpty() || + event.type != PointerEventType.Move + ) { + return true + } + if (event.changes[0].position.x < 0 || + event.changes[0].position.x > containerSize.width + ) { + return true + } + if (event.changes[0].position.y < 0 || + event.changes[0].position.y > containerSize.height + ) { + return true + } + return false +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt index 9aa1974..e087469 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.pie -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.aspectRatio import androidx.compose.runtime.Composable @@ -19,7 +18,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.drawscope.clipPath import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.StartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.pie.PieDefaults.FULL_CIRCLE_DEGREES import com.netguru.multiplatform.charts.pie.PieDefaults.START_ANGLE @@ -50,21 +49,11 @@ fun PieChart( animation: ChartAnimation = ChartAnimation.Simple(), config: PieChartConfig = PieChartConfig(), ) { - val animationPlayed = StartAnimation(animation, data) - val maxAngle = when (animation) { - ChartAnimation.Disabled -> { - 1f - } - is ChartAnimation.Simple -> { - animateFloatAsState( - targetValue = if (animationPlayed) FULL_CIRCLE_DEGREES else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> { - throw UnsupportedOperationException("ChartAnimation.Sequenced is currently not supported for PieChart!") - } - } + val maxAngle = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = 1, + uniqueDatasetKey = data, + ).first() * FULL_CIRCLE_DEGREES val sumOfData by remember(data) { mutableStateOf(data.sumOf { it.value }) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt index 6a0c323..515df7b 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt @@ -1,6 +1,5 @@ package com.netguru.multiplatform.charts.pie -import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -8,14 +7,9 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.size -import androidx.compose.foundation.lazy.GridCells -import androidx.compose.foundation.lazy.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha @@ -26,6 +20,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.clipRect import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.getAnimationAlphas import kotlin.random.Random @OptIn(ExperimentalFoundationApi::class) @@ -37,27 +32,12 @@ internal fun PieChartLegend( config: PieChartConfig = PieChartConfig(), legendItemLabel: @Composable (PieChartData) -> Unit = PieDefaults.LegendItemLabel, ) { - var animationPlayed by remember(data) { - mutableStateOf(animation is ChartAnimation.Disabled) - } - LaunchedEffect(Unit) { - animationPlayed = true - } - val animatedAlpha = when (animation) { - ChartAnimation.Disabled -> data.indices.map { 1f } - is ChartAnimation.Simple -> data.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec() - ).value - } - is ChartAnimation.Sequenced -> data.indices.map { - animateFloatAsState( - targetValue = if (animationPlayed) 1f else 0f, - animationSpec = animation.animationSpec(it) - ).value - } - } + val animatedAlpha = getAnimationAlphas( + animation = animation, + numberOfElementsToAnimate = data.size, + uniqueDatasetKey = data, + ) + val columnsPerRow = when (config.legendOrientation) { LegendOrientation.HORIZONTAL -> config.numberOfColsInLegend LegendOrientation.VERTICAL -> 1 @@ -65,7 +45,7 @@ internal fun PieChartLegend( LazyVerticalGrid( horizontalArrangement = Arrangement.SpaceAround, verticalArrangement = Arrangement.SpaceAround, - cells = GridCells.Fixed(columnsPerRow), + columns = GridCells.Fixed(columnsPerRow), content = { items(data.count()) { index -> LegendItem( @@ -105,6 +85,7 @@ private fun LegendItem( ) legendItemLabel(pieChartData) } + LegendOrientation.VERTICAL -> Row( modifier = Modifier.alpha(alpha), @@ -134,15 +115,18 @@ private fun DrawScope.drawLegendIcon( LegendIcon.SQUARE -> drawRect( color = color, ) + LegendIcon.CIRCLE -> drawCircle( color = color ) + LegendIcon.ROUND -> drawRoundRect( color = color, cornerRadius = CornerRadius( config.legendIconSize.toPx() / 4f ) ) + LegendIcon.CAKE -> drawCircle( color = color, center = Offset(x = 0f, y = size.height), diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarTest.kt index 1c04561..7715643 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarTest.kt @@ -44,7 +44,7 @@ class BarTest : ScreenshotTest { maxHorizontalLinesCount = 2, ), colors = ChartDefaults.chartColors(grid = Color.Red).barChartColors, - xAxisLabel = { + xAxisMarkerLayout = { Column( horizontalAlignment = Alignment.CenterHorizontally, ) { @@ -52,7 +52,7 @@ class BarTest : ScreenshotTest { Text(text = "testing") } }, - yAxisLabel = { + yAxisMarkerLayout = { Column( horizontalAlignment = Alignment.CenterHorizontally, ) { diff --git a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt index 31e1b2f..7ab363a 100644 --- a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt +++ b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt @@ -10,21 +10,24 @@ import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.common.AppTheme import com.netguru.multiplatform.charts.common.HOUR_IN_MS import com.netguru.multiplatform.charts.common.WindowSize +import com.netguru.multiplatform.charts.line.LineChart import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries -import com.netguru.multiplatform.charts.line.LineChartWithLegend +import com.netguru.multiplatform.charts.line.YAxisData import com.soywiz.klock.DateTime @Preview(showBackground = true, widthDp = 600) @Composable fun LineChartPreview() { AppTheme(windowSize = WindowSize.EXPANDED) { - LineChartWithLegend( + LineChart( + yAxisData = YAxisData( + lineChartData = getLineChartSampleData(), + ), modifier = Modifier .height(300.dp) .fillMaxWidth(), - lineChartData = getLineChartSampleData(), maxVerticalLines = 10, animation = ChartAnimation.Disabled, ) diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeMapper.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeMapper.kt index ba66848..f15bd8a 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeMapper.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeMapper.kt @@ -10,5 +10,6 @@ fun NavigationState.Tab.toLabel(): String = when (this) { NavigationState.Tab.DIAL -> "Dial" NavigationState.Tab.GAS_BOTTLE -> "Gas bottle" NavigationState.Tab.LINE -> "Line" + NavigationState.Tab.LINE_WITH_TWO_Y_AXIS -> "Line with two Y axis" NavigationState.Tab.PIE -> "Pie" } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeScreen.kt index 545eb9c..66da252 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/home/HomeScreen.kt @@ -57,6 +57,7 @@ import com.netguru.multiplatform.charts.application.screen.BubbleChartScreen import com.netguru.multiplatform.charts.application.screen.DialChartScreen import com.netguru.multiplatform.charts.application.screen.GasBottleChartScreen import com.netguru.multiplatform.charts.application.screen.LineChartScreen +import com.netguru.multiplatform.charts.application.screen.LineChartWithTwoYAxisScreen import com.netguru.multiplatform.charts.application.screen.PieChartScreen import com.netguru.multiplatform.charts.common.AppTheme import com.netguru.multiplatform.charts.common.AppTheme.drawables @@ -127,6 +128,7 @@ private fun HomeContent(state: NavigationState, dispatch: (AppAction) -> Unit) { NavigationState.Tab.DIAL -> DialChartScreen() NavigationState.Tab.GAS_BOTTLE -> GasBottleChartScreen() NavigationState.Tab.LINE -> LineChartScreen() + NavigationState.Tab.LINE_WITH_TWO_Y_AXIS -> LineChartWithTwoYAxisScreen() NavigationState.Tab.PIE -> PieChartScreen() } } @@ -242,6 +244,7 @@ private fun TopHomeDrawer(state: NavigationState, dispatch: (AppAction) -> Unit) NavigationState.Tab.DIAL, NavigationState.Tab.GAS_BOTTLE, NavigationState.Tab.LINE, + NavigationState.Tab.LINE_WITH_TWO_Y_AXIS, NavigationState.Tab.PIE, ).forEach { tab -> HomeDrawerButton( diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/navigation/NavigationState.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/navigation/NavigationState.kt index 882a163..a46cbff 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/navigation/NavigationState.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/navigation/NavigationState.kt @@ -10,6 +10,7 @@ data class NavigationState( DIAL, GAS_BOTTLE, LINE, + LINE_WITH_TWO_Y_AXIS, PIE, } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt index ba75a90..14d39e0 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt @@ -87,6 +87,7 @@ fun BarChartScreen() { ) ), ), + unit = "unit", ) ScrollableScreen { @@ -95,7 +96,7 @@ fun BarChartScreen() { BarChart( data = data, modifier = Modifier.height(500.dp), - yAxisLabel = { + yAxisMarkerLayout = { Text( text = it.toString(), color = AppTheme.colors.secondaryText, @@ -103,7 +104,7 @@ fun BarChartScreen() { modifier = Modifier.fillMaxWidth() ) }, - xAxisLabel = { + xAxisMarkerLayout = { Text( text = it.toString(), modifier = Modifier.padding(top = AppTheme.dimens.grid_2_5), @@ -130,9 +131,9 @@ fun BarChartScreen() { ) }, animation = ChartAnimation.Sequenced(), - legendItemLabel = { + legendItemLabel = { name, unit -> Text( - text = it, + text = name + unit?.let { "\n($it)" }.orEmpty(), modifier = Modifier.padding(vertical = 10.dp) ) } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt index ef82d05..bfe5ff1 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt @@ -11,9 +11,9 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.foundation.lazy.GridCells -import androidx.compose.foundation.lazy.GridItemSpan -import androidx.compose.foundation.lazy.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.GridItemSpan +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -51,7 +51,7 @@ fun GasBottleChartScreen() { modifier = Modifier .fillMaxHeight() .fillMaxWidth(), - cells = GridCells.Fixed(numberOfCols), + columns = GridCells.Fixed(numberOfCols), contentPadding = PaddingValues(AppTheme.dimens.grid_4), ) { item(span = { GridItemSpan(numberOfCols) }) { diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt index 464f3a2..18ec73b 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt @@ -7,6 +7,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -15,85 +16,292 @@ import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText import com.netguru.multiplatform.charts.common.HorizontalDivider +import com.netguru.multiplatform.charts.grid.YAxisTitleData import com.netguru.multiplatform.charts.line.LineChart import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries -import com.netguru.multiplatform.charts.line.LineChartWithLegend +import com.netguru.multiplatform.charts.line.OverlayData +import com.netguru.multiplatform.charts.line.XAxisData +import com.netguru.multiplatform.charts.line.YAxisData +import com.netguru.multiplatform.charts.vertical import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan +import kotlin.math.PI +import kotlin.math.abs +import kotlin.math.asin +import kotlin.math.sin @Composable fun LineChartScreen() { val lineData = remember { LineChartData( - series = (1..3).map { + series = (1..3).map { seriesNumber -> LineChartSeries( - dataName = "data $it", + dataName = "data $seriesNumber", lineColor = listOf( Color(0xFFFFCC00), Color(0xFF00D563), Color(0xFF32ADE6), - )[it - 1], - listOfPoints = (1..10).map { point -> + )[seriesNumber - 1], + listOfPoints = (1..20).map { point -> LineChartPoint( x = DateTime.now().minus(TimeSpan(point * 24 * 60 * 60 * 1000.0)).unixMillisLong, y = (1..15).random().toFloat(), ) - } + }, + pathEffect = PathEffect.dashPathEffect(floatArrayOf(15f, 10f), 0f).takeIf { seriesNumber == 2 } ) }, + dataUnit = "unit", + ) + } + + val lineDataWithLotsOfPoints = remember { + val now = DateTime.now() + LineChartData( + series = listOf( + LineChartSeries( + dataName = "lots of data", + lineColor = Color(0xFFFFCC00), + listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> + val sine = sin(point.toFloat() * PI / 180).toFloat() + LineChartPoint( + x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, + y = sine + 1.05f, + ) + }, + ), + LineChartSeries( + dataName = "lots of data 2", + lineColor = Color(0xFF32ADE6), + listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> + val sine = sin(point.toFloat() * PI / 180).toFloat() + LineChartPoint( + x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, + y = sine, + ) + } + ), + ), + dataUnit = null, ) } + ScrollableScreen { SpacedColumn { TitleText(text = "Line chart") LineChart( - lineChartData = lineData, modifier = Modifier .height(300.dp), - xAxisLabel = { - Text( - fontSize = 12.sp, - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - textAlign = TextAlign.Center - ) - }, - overlayHeaderLabel = { - Text( - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - style = MaterialTheme.typography.overline - ) - }, - animation = ChartAnimation.Sequenced() + yAxisData = YAxisData( + lineChartData = lineData, + ), + maxVerticalLines = 25, + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center, +// modifier = Modifier +// .padding(horizontal = 12.dp) + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + drawPoints = true, + legendData = null, ) HorizontalDivider() TitleText(text = "Line chart with legend") - LineChartWithLegend( + LineChart( modifier = Modifier .height(300.dp), - lineChartData = lineData, + yAxisData = YAxisData( + lineChartData = lineData, + ), maxVerticalLines = 5, - xAxisLabel = { - Text( - fontSize = 12.sp, - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - textAlign = TextAlign.Center - ) - }, - overlayHeaderLabel = { - Text( - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - style = MaterialTheme.typography.overline - ) - }, + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), animation = ChartAnimation.Sequenced() ) + + HorizontalDivider() + + TitleText(text = "Line chart with only one data point") + LineChart( + modifier = Modifier + .height(300.dp), + yAxisData = YAxisData( + lineChartData = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( + LineChartPoint( + x = DateTime.now().unixMillisLong, + y = 18f, + ), + ) + ), + ), + dataUnit = "unit", + ), + roundMinMaxClosestTo = 1f, + ), + maxVerticalLines = 5, + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + legendData = null, + ) + + TitleText(text = "Line chart with only two data points, both with the same value, and null between them") + LineChart( + modifier = Modifier + .height(300.dp), + yAxisData = YAxisData( + lineChartData = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( +// LineChartPoint( +// x = DateTime.now().unixMillisLong, +// y = 18f, +// ), +// LineChartPoint( +// x = DateTime.now().unixMillisLong + 1 * 24 * 60 * 60 * 1000L, +// y = null, +// ), +// LineChartPoint( +// x = DateTime.now().unixMillisLong + 2 * 24 * 60 * 60 * 1000L, +// y = 18f, +// ), + + LineChartPoint(x = 1660600800000, y = 36.0f), + LineChartPoint(x = 1660687200000, y = null), + LineChartPoint(x = 1660773600000, y = 76.5f), + LineChartPoint(x = 1660860000000, y = 83.7f), + LineChartPoint(x = 1660946400000, y = null), + LineChartPoint(x = 1661032800000, y = null), + LineChartPoint(x = 1661119200000, y = 216.0f) + ) + ), + ), + dataUnit = "unit", + ), + roundMinMaxClosestTo = 1f, + ), + maxVerticalLines = 10, + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + legendData = null, + drawPoints = true, + ) + + TitleText(text = "Line chart with legend and with lots of data") + LineChart( + modifier = Modifier + .height(300.dp), + yAxisData = YAxisData( + lineChartData = lineDataWithLotsOfPoints, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataWithLotsOfPoints.series.first().dataName, + color = lineDataWithLotsOfPoints.series.first().lineColor, + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + roundMinMaxClosestTo = 0.1f, + ), + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("HH:mm"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("HH:mm"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + drawPoints = true, + maxVerticalLines = 5, + ) } } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt new file mode 100644 index 0000000..a57c455 --- /dev/null +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt @@ -0,0 +1,320 @@ +package com.netguru.multiplatform.charts.application.screen + +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathEffect +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.application.ScrollableScreen +import com.netguru.multiplatform.charts.application.SpacedColumn +import com.netguru.multiplatform.charts.application.TitleText +import com.netguru.multiplatform.charts.common.HorizontalDivider +import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.line.LineChartData +import com.netguru.multiplatform.charts.line.LineChartPoint +import com.netguru.multiplatform.charts.line.LineChartSeries +import com.netguru.multiplatform.charts.line.LineChartWithTwoYAxisSets +import com.netguru.multiplatform.charts.line.OverlayData +import com.netguru.multiplatform.charts.line.XAxisData +import com.netguru.multiplatform.charts.line.YAxisData +import com.netguru.multiplatform.charts.vertical +import com.soywiz.klock.DateTime +import com.soywiz.klock.TimeSpan +import kotlin.math.PI +import kotlin.math.sin + +@Composable +fun LineChartWithTwoYAxisScreen() { + + val colorLeft = Color(0xFFFFCC00) + val colorRight = Color(0xFF9D78E6) + + val now = DateTime.now() + val lineDataLeft = remember { + LineChartData( + series = listOf( + LineChartSeries( + dataName = "data left", + lineColor = colorLeft, + listOfPoints = (1..30).map { point -> + LineChartPoint( + x = now.minus(TimeSpan(point * 24 * 60 * 60 * 1000.0)).unixMillisLong, + y = if (point in 15..20 && point != 17) null else point.toFloat() + ) + }, + pathEffect = PathEffect.dashPathEffect(floatArrayOf(15f, 10f), 0f), + ), +// LineChartSeries( +// dataName = "lots of data 2", +// lineColor = colorLeft, +// listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> +// val sine = sin(point.toFloat() * PI / 180).toFloat() +// LineChartPoint( +// x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, +// y = sine, +// ) +// } +// ), + ), + dataUnit = "leftUnit", + ) + } + + val lineDataRight = remember { + LineChartData( + series = listOf( + LineChartSeries( + dataName = "data right", + lineColor = colorRight, + listOfPoints = (1..15).map { point -> + LineChartPoint( + x = now.minus(TimeSpan(point * 24 * 60 * 60 * 1000.0)).unixMillisLong, + y = if (point == 3 || point == 5) null else (10 - (point * point)).toFloat() + ) + } + ), +// LineChartSeries( +// dataName = "lots of data", +// lineColor = colorRight, +// listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> +// val sine = sin(point.toFloat() * PI / 180).toFloat() +// LineChartPoint( +// x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, +// y = sine + 1.05f, +// ) +// } +// ), + ), + dataUnit = null, + ) + } + + val yAxisLabelLeft: @Composable (value: Any) -> Unit = { value -> + Text( + modifier = Modifier + .fillMaxWidth(), + fontSize = 12.sp, + text = value.toString(), + textAlign = TextAlign.End, + color = colorLeft, + ) + } + + val yAxisLabelRight: @Composable (value: Any) -> Unit = { value -> + Text( + modifier = Modifier + .fillMaxWidth(), + fontSize = 12.sp, + text = value.toString(), + textAlign = TextAlign.Start, + color = colorRight, + ) + } + + ScrollableScreen { + SpacedColumn { + + TitleText(text = "Line chart with two Y axis") + LineChartWithTwoYAxisSets( + leftYAxisData = YAxisData( + lineChartData = lineDataLeft, + markerLayout = { + yAxisLabelLeft(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataLeft.series.first().dataName, + color = colorLeft, + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Left, + ), + roundMinMaxClosestTo = 1f, + ), + rightYAxisData = YAxisData( + lineChartData = lineDataRight, + markerLayout = { + yAxisLabelRight(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataRight.series.first().dataName, + color = colorRight, + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + roundMinMaxClosestTo = 0.1f, + ), + modifier = Modifier + .height(300.dp), + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + drawPoints = true, + legendData = null, + ) + + HorizontalDivider() + + + TitleText(text = "Line chart with two Y axis") + LineChartWithTwoYAxisSets( + leftYAxisData = YAxisData( + lineChartData = lineDataLeft, + markerLayout = { + yAxisLabelLeft(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataLeft.series.first().dataName, + color = colorLeft, +// modifier = Modifier +// .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Top, + ), + roundMinMaxClosestTo = 1f, + ), + rightYAxisData = YAxisData( + lineChartData = lineDataRight, + markerLayout = { + yAxisLabelRight(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataRight.series.first().dataName, + color = colorRight, +// modifier = Modifier +// .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Top, +// labelPosition = YAxisTitleData.LabelPosition.Right, + ), + roundMinMaxClosestTo = 0.1f, + ), + modifier = Modifier + .height(300.dp), + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + }, + showInterpolatedValues = false, + showEnlargedPointOnLine = true, + ), + animation = ChartAnimation.Sequenced(), + drawPoints = true, + legendData = null, + ) + + HorizontalDivider() + + TitleText(text = "Line chart with two Y axis with legend") + LineChartWithTwoYAxisSets( + modifier = Modifier + .height(300.dp), + leftYAxisData = YAxisData( + lineChartData = lineDataLeft, + markerLayout = { + yAxisLabelLeft(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataLeft.series.first().dataName, + color = colorLeft, + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + roundMinMaxClosestTo = 1f, + ), + rightYAxisData = YAxisData( + lineChartData = lineDataRight, + markerLayout = { + yAxisLabelRight(it.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = lineDataRight.series.first().dataName, + color = colorRight, + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + roundMinMaxClosestTo = 1f, + ), + xAxisData = XAxisData( + markerLayout = { + Text( + fontSize = 12.sp, + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + textAlign = TextAlign.Center + ) + } + ), + overlayData = OverlayData( + overlayHeaderLabel = { it, _ -> + Text( + text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + style = MaterialTheme.typography.overline + ) + } + ), + animation = ChartAnimation.Sequenced(), + drawPoints = true, + maxVerticalLines = 5, + ) + } + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9dfc35d..672ecf2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,9 +17,10 @@ desktop-packageVersion = "1.0.0" desktop-packageName = "jvm" # Dependencies -kotlin-gradle-plugin = "1.6.10" +kotlin-gradle-plugin = "1.7.20" android-gradle-plugin = "7.2.1" -compose = "1.1.1" +#compose = "1.2.1" +compose = "1.3.0-beta03" activity-compose = "1.4.0" coroutines = "1.6.0" appcompat = "1.4.1" From 5cbb9021101e1f8391c50bbb7c7d623b128bace8 Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Mon, 26 Dec 2022 09:33:45 +0100 Subject: [PATCH 2/8] - Add some overlay information balloon customisations, - add possibility to round x-axis values to arbitrary interval, - a bit of code cleaning --- .../charts/OverlayInformation.kt | 34 +++++++-- .../multiplatform/charts/bar/BarChart.kt | 11 +-- .../charts/bar/BarChartColors.kt | 1 + .../charts/bar/BarChartConfig.kt | 2 +- .../charts/grid/GridChartDrawing.kt | 6 +- .../multiplatform/charts/grid/GridDefaults.kt | 10 ++- .../grid/axisscale/x/FixedTicksXAxisScale.kt | 1 + .../grid/axisscale/x/TimestampXAxisScale.kt | 41 +++++----- .../charts/grid/axisscale/x/XAxisScale.kt | 1 + .../multiplatform/charts/line/LegendData.kt | 11 +++ .../netguru/multiplatform/charts/line/Line.kt | 12 ++- .../multiplatform/charts/line/LineChart.kt | 20 ++--- .../charts/line/LineChartColors.kt | 1 + .../line/LineChartOverlayInformation.kt | 75 +++++++++++-------- .../charts/line/LineChartSeries.kt | 1 + .../charts/line/LineChartWithTwoYAxisSets.kt | 60 ++++++--------- .../multiplatform/charts/line/OverlayData.kt | 18 +++++ .../multiplatform/charts/line/XAxisData.kt | 11 +++ .../multiplatform/charts/line/YAxisData.kt | 12 +++ .../screen/LineChartWithTwoYAxisScreen.kt | 8 +- 20 files changed, 208 insertions(+), 128 deletions(-) create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt index ca1d3f5..023c609 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt @@ -4,7 +4,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.requiredWidth import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -29,7 +29,8 @@ internal fun OverlayInformation( surfaceColor: Color, touchOffsetVertical: Dp, touchOffsetHorizontal: Dp, - overlayWidth: Dp, + requiredOverlayWidth: Dp?, + overlayAlpha: Float, pointsToAvoid: List = emptyList(), content: @Composable () -> Unit, ) { @@ -37,14 +38,22 @@ internal fun OverlayInformation( return } + val density = LocalDensity.current + var overlayHeight by remember { mutableStateOf(0) } + var overlayWidth by remember { + val pxs: Int + with(density) { + pxs = requiredOverlayWidth?.roundToPx() ?: 0 + } + mutableStateOf(pxs) + } - val density = LocalDensity.current val putInfoOnTheLeft = positionX > (containerSize.width / 2) - val (offsetX, offsetY) = remember(pointsToAvoid, overlayHeight, putInfoOnTheLeft) { + val (offsetX, offsetY) = remember(pointsToAvoid, overlayHeight, overlayWidth, putInfoOnTheLeft) { pointsToAvoid .takeIf { it.isNotEmpty() } ?.let { @@ -53,7 +62,7 @@ internal fun OverlayInformation( with(density) { x = if (putInfoOnTheLeft) { val minX = it.minOf { it.x }.toDp() - minX - touchOffsetHorizontal - overlayWidth + minX - touchOffsetHorizontal - overlayWidth.toDp() } else { val maxX = it.maxOf { it.x }.toDp() maxX + touchOffsetHorizontal @@ -76,7 +85,7 @@ internal fun OverlayInformation( positionX.toDp() + // change offset based on cursor position to avoid out of screen drawing on the right if (putInfoOnTheLeft) { - -overlayWidth - touchOffsetHorizontal + -overlayWidth.toDp() - touchOffsetHorizontal } else { touchOffsetHorizontal } @@ -88,16 +97,25 @@ internal fun OverlayInformation( modifier = Modifier .onSizeChanged { overlayHeight = it.height + if (requiredOverlayWidth == null) { + overlayWidth = it.width + } } .offset( x = offsetX, y = offsetY, ) - .width(overlayWidth) - .alpha(0.9f) + .alpha(overlayAlpha) .clip(RoundedCornerShape(10.dp)) .background(surfaceColor) .padding(8.dp) + .then( + if (requiredOverlayWidth != null) { + Modifier.requiredWidth(requiredOverlayWidth) + } else { + Modifier + } + ) ) { content() } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt index 362ce2d..19d70c4 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt @@ -61,7 +61,7 @@ fun BarChart( yAxisMarkerLayout: @Composable (value: Any) -> Unit = GridDefaults.YAxisMarkerLayout, yAxisLabelLayout: (@Composable () -> Unit)? = GridDefaults.YAxisDataTitleLayout, animation: ChartAnimation = ChartAnimation.Simple(), - overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, ) { val verticalLinesCount = remember(data) { data.maxX.toInt() + 1 } @@ -197,7 +197,7 @@ private fun BoxWithConstraintsScope.SelectedValueLabel( position: PointF, data: BarChartBar, colors: BarChartColors, - overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit + overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit ) { OverlayInformation( positionX = position.x, @@ -207,12 +207,13 @@ private fun BoxWithConstraintsScope.SelectedValueLabel( maxHeight.toPx() ) }, - surfaceColor = colors.surface, + surfaceColor = colors.overlaySurface, touchOffsetVertical = LocalDensity.current.run { position.y!!.toDp() }, touchOffsetHorizontal = 20.dp, content = { - overlayDataEntryLabel(data.data.x, null, data.data.y) + overlayDataEntryLabel(data.data.x, null, null, data.data.y) }, - overlayWidth = 200.dp, + requiredOverlayWidth = 200.dp, + overlayAlpha = 0.9f, ) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartColors.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartColors.kt index 1c592da..9692574 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartColors.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartColors.kt @@ -8,6 +8,7 @@ import com.netguru.multiplatform.charts.theme.ChartColors data class BarChartColors( val grid: Color, val surface: Color, + val overlaySurface: Color = surface, ) val ChartColors.barChartColors diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt index 8636187..1aedf10 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt @@ -19,5 +19,5 @@ data class BarChartConfig( val cornerRadius: Dp = BarChartDefaults.BAR_CORNER_RADIUS, val barsSpacing: Dp = BarChartDefaults.BAR_HORIZONTAL_SPACING, val maxHorizontalLinesCount: Int = GridDefaults.NUMBER_OF_GRID_LINES, - val roundMinMaxClosestTo: Float = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, + val roundMinMaxClosestTo: Float = GridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt index 6f44ba7..75cdacd 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt @@ -124,10 +124,10 @@ fun measureVerticalLines( val valueStep = axisScale.tick.coerceAtLeast(1) var currentValue = axisScale.start - while (currentValue in axisScale.min..axisScale.max) { + while (currentValue in axisScale.start..axisScale.end) { val currentPosition = currentValue.mapValueToDifferentRange( - axisScale.min, - axisScale.max, + axisScale.start, + axisScale.end, startPosition, endPosition ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt index 0ebcec4..36ba688 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt @@ -14,7 +14,8 @@ internal object GridDefaults { val HORIZONTAL_LINES_OFFSET = 0.dp const val NUMBER_OF_GRID_LINES = 5 - const val ROUND_MIN_MAX_CLOSEST_TO = 10f + const val ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO = 10f + const val ROUND_X_AXIS_MIN_MAX_CLOSEST_TO = 15 * 60 * 1000L // 15 minutes val YAxisMarkerLayout: @Composable (value: Any) -> Unit = { value -> Text( @@ -51,10 +52,11 @@ internal object GridDefaults { ) } - val OverlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = - { dataName, dataUnit, value -> + val OverlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = + { dataName, dataNameShort, dataUnit, value -> Text( - text = "$dataName: $value" + dataUnit?.let { " $it" }.orEmpty() + text = "$dataName${dataNameShort?.let { " ($it)" }.orEmpty()}: $value" + dataUnit?.let { " $it" } + .orEmpty() ) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt index f01035f..a27f676 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/FixedTicksXAxisScale.kt @@ -7,4 +7,5 @@ class FixedTicksXAxisScale( ) : XAxisScale { override val tick: Long = (max - min) / tickCount override val start: Long = min + override val end: Long = max } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt index 844defe..b1f858e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/TimestampXAxisScale.kt @@ -3,33 +3,32 @@ package com.netguru.multiplatform.charts.grid.axisscale.x class TimestampXAxisScale( override val min: Long, override val max: Long, - val maxTicksCount: Int = 10 + val maxTicksCount: Int = 10, + roundClosestTo: Long?, ) : XAxisScale { - // find first round hour, greater than min timestamp - override val start: Long// = min - min % period + period - // if period is 0 or less set period to round hour - // avoid division by 0 when app starts and min and max are 0 - override val tick: Long// = if (period > 0) period else HOUR_MS + override val start: Long = if (roundClosestTo != null) { + (min / roundClosestTo) * roundClosestTo + } else { + min + } + + override val tick: Long - // find period of vertical lines based on maxTicksCount, period can be in round hours i.e. 1h, 2h, 3h -// private val tick: Long// = HOUR_MS * ((max - min) / HOUR_MS / maxTicksCount) + override val end: Long init { - val diff = (max - min).div(maxTicksCount) - tick = when { - diff > HOUR_MS -> HOUR_MS * ((max - min) / HOUR_MS / maxTicksCount) - diff > MINUTE_MS -> MINUTE_MS * ((max - min) / MINUTE_MS / maxTicksCount) - diff > SECOND_MS -> SECOND_MS * ((max - min) / SECOND_MS / maxTicksCount) - else -> diff + end = if (roundClosestTo != null) { + ((max / roundClosestTo) * roundClosestTo) + roundClosestTo + } else { + max } - start = /*if (tick > 0) min - min % tick + tick else*/ min - } - - companion object { - const val HOUR_MS = 3_600_000L - const val MINUTE_MS = 60_000L - const val SECOND_MS = 1_000L + val exactTick = (end - start) / maxTicksCount + tick = if (roundClosestTo != null) { + (exactTick / roundClosestTo) * roundClosestTo + } else { + exactTick + } } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt index 5f41f3a..a537b8e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/x/XAxisScale.kt @@ -5,4 +5,5 @@ interface XAxisScale { val min: Long val max: Long val start: Long + val end: Long } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt new file mode 100644 index 0000000..7d604dd --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt @@ -0,0 +1,11 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.netguru.multiplatform.charts.grid.GridDefaults + +data class LegendData( + val columnMinWidth: Dp = 200.dp, + val legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt index 8708752..3df2779 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt @@ -11,6 +11,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.unit.Dp +import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange internal fun DrawScope.drawLineChart( @@ -20,6 +21,7 @@ internal fun DrawScope.drawLineChart( alpha: List, drawPoints: Boolean, selectedPointsForDrawing: List, + xAxisScale: TimestampXAxisScale, ) { // calculate path val path = Path() @@ -56,6 +58,7 @@ internal fun DrawScope.drawLineChart( } val mappedPoints = mapDataToPixels( + xAxisScale = xAxisScale, lineChartData = lineChartData, currentSeries = data, canvasSize = size, @@ -134,8 +137,8 @@ internal fun DrawScope.drawLineChart( val offsets = selectedPointsForDrawing .map { seriesAndClosestPoint -> val x = seriesAndClosestPoint.closestPoint.x.mapValueToDifferentRange( - lineChartData.minX, - lineChartData.maxX, + xAxisScale.start, + xAxisScale.end, 0L, size.width.toLong() ).toFloat() @@ -167,11 +170,12 @@ private fun mapDataToPixels( graphTopPadding: Float = 0f, graphBottomPadding: Float, shouldSetZeroAsMinValue: Boolean, + xAxisScale: TimestampXAxisScale, ): List { val mappedPoints = currentSeries.listOfPoints.map { val x = it.x.mapValueToDifferentRange( - inMin = lineChartData.minX, - inMax = lineChartData.maxX, + inMin = xAxisScale.start, + inMax = xAxisScale.end, outMin = 0L, outMax = canvasSize.width.toLong() ).toFloat() diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt index c31ea87..2bf732f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt @@ -13,7 +13,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Size @@ -61,7 +60,6 @@ import com.netguru.multiplatform.charts.theme.ChartTheme * @param maxHorizontalLines Max number of lines, representing the y-axis values * @param roundMinMaxClosestTo Number to which min and max range will be rounded to */ -@OptIn(ExperimentalComposeUiApi::class) @Composable fun LineChart( yAxisData: YAxisData, @@ -118,19 +116,21 @@ fun LineChart( var pointsToDraw: List by remember { mutableStateOf(emptyList()) } + val xAxisScale = TimestampXAxisScale( + min = yAxisData.lineChartData.minX, + max = yAxisData.lineChartData.maxX, + maxTicksCount = (minOf( + maxVerticalLines, numberOfXAxisEntries + ) - 1).coerceAtLeast(1), + roundClosestTo = xAxisData?.roundMinMaxClosestTo, + ) BoxWithConstraints( modifier = Modifier .fillMaxWidth() .weight(1f) .drawBehind { val lines = measureChartGrid( - xAxisScale = TimestampXAxisScale( - min = yAxisData.lineChartData.minX, - max = yAxisData.lineChartData.maxX, - maxTicksCount = (minOf( - maxVerticalLines, numberOfXAxisEntries - ) - 1).coerceAtLeast(1) - ), + xAxisScale = xAxisScale, yAxisScale = YAxisScaleDynamic( min = yAxisData.lineChartData.minY, max = yAxisData.lineChartData.maxY, @@ -146,6 +146,7 @@ fun LineChart( ) drawLineChart( + xAxisScale = xAxisScale, lineChartData = yAxisData.lineChartData, graphTopPadding = horizontalLinesOffset, graphBottomPadding = horizontalLinesOffset, @@ -216,6 +217,7 @@ fun LineChart( pointsToDraw = it }, overlayData = overlayData, + xAxisScale = xAxisScale, ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt index 1f82097..a4277e0 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt @@ -9,6 +9,7 @@ data class LineChartColors( val grid: Color, val surface: Color, val overlayLine: Color, + val overlaySurface: Color = surface, ) val ChartColors.lineChartColors diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt index 55486c0..b0fa977 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.OverlayInformation +import com.netguru.multiplatform.charts.grid.axisscale.x.XAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange import kotlin.math.abs @@ -38,6 +39,7 @@ internal fun LineChartOverlayInformation( colors: LineChartColors, drawPoints: (points: List) -> Unit, overlayData: OverlayData, + xAxisScale: XAxisScale, ) { if (overlayData.showInterpolatedValues) { LineChartOverlayInformationWithInterpolatedValues( @@ -50,6 +52,8 @@ internal fun LineChartOverlayInformation( touchOffsetHorizontal = overlayData.touchOffsetHorizontal, touchOffsetVertical = overlayData.touchOffsetVertical, overlayWidth = overlayData.overlayWidth, + overlayAlpha = overlayData.overlayAlpha, + xAxisScale = xAxisScale, ) } else { LineChartOverlayInformation( @@ -64,6 +68,8 @@ internal fun LineChartOverlayInformation( touchOffsetHorizontal = overlayData.touchOffsetHorizontal, touchOffsetVertical = overlayData.touchOffsetVertical, overlayWidth = overlayData.overlayWidth, + overlayAlpha = overlayData.overlayAlpha, + xAxisScale = xAxisScale, ) } } @@ -71,34 +77,27 @@ internal fun LineChartOverlayInformation( @Composable private fun LineChartOverlayInformation( lineChartData: List, + xAxisScale: XAxisScale, positionX: Float, containerSize: Size, colors: LineChartColors, overlayHeaderLayout: @Composable (value: Any, dataUnit: String?) -> Unit, - overlayDataEntryLayout: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit, + overlayDataEntryLayout: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit, drawPoints: (points: List) -> Unit, highlightPointsCloserThan: Dp, touchOffsetHorizontal: Dp, touchOffsetVertical: Dp, - overlayWidth: Dp, + overlayWidth: Dp?, + overlayAlpha: Float, ) { if (positionX < 0) { drawPoints(emptyList()) return } - val combinedLineChartData by remember(lineChartData) { - derivedStateOf { - LineChartData( - series = lineChartData.flatMap { it.series }, - dataUnit = null, - ) - } - } - val timestampCursor = getTimestampFromCursor( xCursorPosition = positionX, - lineChartData = combinedLineChartData, + xAxisScale = xAxisScale, containerSize = containerSize ) val listOfValues = retrieveDataWithClosestPointForEachSeries(lineChartData, timestampCursor) @@ -114,8 +113,8 @@ private fun LineChartOverlayInformation( linePositionX = listOfValues.first().closestPoint.x.mapValueToDifferentRange( - inMin = combinedLineChartData.minX, - inMax = combinedLineChartData.maxX, + inMin = xAxisScale.start, + inMax = xAxisScale.end, outMin = 0f, outMax = containerSize.width, ) @@ -123,8 +122,8 @@ private fun LineChartOverlayInformation( val (pointsToAvoid, valuesToShowDataFor) = listOfValues.mapNotNull { val (x, y) = it.closestPoint.let { point -> point.x.mapValueToDifferentRange( - inMin = combinedLineChartData.minX, - inMax = combinedLineChartData.maxX, + inMin = xAxisScale.start, + inMax = xAxisScale.end, outMin = 0f, outMax = containerSize.width, ) to point.y!!.mapValueToDifferentRange( @@ -148,11 +147,12 @@ private fun LineChartOverlayInformation( OverlayInformation( positionX = linePositionX, containerSize = containerSize, - surfaceColor = colors.surface, + surfaceColor = colors.overlaySurface, pointsToAvoid = pointsToAvoid, touchOffsetHorizontal = touchOffsetHorizontal, touchOffsetVertical = touchOffsetVertical, - overlayWidth = overlayWidth, + requiredOverlayWidth = overlayWidth, + overlayAlpha = overlayAlpha, ) { Column( horizontalAlignment = Alignment.CenterHorizontally, @@ -168,10 +168,13 @@ private fun LineChartOverlayInformation( Spacer(modifier = Modifier.height(4.dp)) - closestPointBySeries.value .forEach { seriesAndClosestPoint -> - Row(verticalAlignment = Alignment.CenterVertically) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.Start) + ) { Box( modifier = Modifier .size(16.dp, 4.dp) @@ -189,9 +192,10 @@ private fun LineChartOverlayInformation( Spacer(modifier = Modifier.width(8.dp)) val dataName = seriesAndClosestPoint.lineChartSeries.dataName + val dataNameShort = seriesAndClosestPoint.lineChartSeries.dataNameShort val dataUnit = seriesAndClosestPoint.dataUnit val value = seriesAndClosestPoint.closestPoint.y - overlayDataEntryLayout(dataName, dataUnit, value!!) + overlayDataEntryLayout(dataName, dataNameShort, dataUnit, value!!) } } } @@ -217,14 +221,16 @@ private fun LineChartOverlayInformation( @Composable private fun LineChartOverlayInformationWithInterpolatedValues( lineChartData: List, + xAxisScale: XAxisScale, positionX: Float, containerSize: Size, colors: LineChartColors, overlayHeaderLayout: @Composable (value: Any, dataUnit: String?) -> Unit, - overlayDataEntryLayout: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit, + overlayDataEntryLayout: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit, touchOffsetHorizontal: Dp, touchOffsetVertical: Dp, - overlayWidth: Dp, + overlayWidth: Dp?, + overlayAlpha: Float, ) { if (positionX < 0) { return @@ -241,7 +247,7 @@ private fun LineChartOverlayInformationWithInterpolatedValues( val timestampCursor = getTimestampFromCursor( xCursorPosition = positionX, - lineChartData = combinedLineChartData, + xAxisScale = xAxisScale, containerSize = containerSize ) val listOfValues = retrieveDataWithInterpolatedValue(combinedLineChartData, timestampCursor) @@ -250,21 +256,27 @@ private fun LineChartOverlayInformationWithInterpolatedValues( OverlayInformation( positionX = positionX, containerSize = containerSize, - surfaceColor = colors.surface, + surfaceColor = colors.overlaySurface, touchOffsetHorizontal = touchOffsetHorizontal, touchOffsetVertical = touchOffsetVertical, - overlayWidth = overlayWidth, + requiredOverlayWidth = overlayWidth, + overlayAlpha = overlayAlpha, content = { Column( horizontalAlignment = Alignment.CenterHorizontally, ) { val dataUnit = listOfValues.first().lineChartSeries.dataName // todo + val dataNameShort = listOfValues.first().lineChartSeries.dataNameShort overlayHeaderLayout(timestampCursor, dataUnit) Spacer(modifier = Modifier.height(4.dp)) listOfValues.forEach { seriesAndInterpolatedValue -> - Row(verticalAlignment = Alignment.CenterVertically) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.Start) + ) { Box( modifier = Modifier .size(16.dp, 4.dp) @@ -282,9 +294,8 @@ private fun LineChartOverlayInformationWithInterpolatedValues( Spacer(modifier = Modifier.width(8.dp)) val dataName = seriesAndInterpolatedValue.lineChartSeries.dataName - val dataUnit = dataUnit val interpolatedValue = seriesAndInterpolatedValue.interpolatedValue - overlayDataEntryLayout(dataName, dataUnit, interpolatedValue) + overlayDataEntryLayout(dataName, dataNameShort, dataUnit, interpolatedValue) } } } @@ -306,14 +317,14 @@ private fun LineChartOverlayInformationWithInterpolatedValues( private fun getTimestampFromCursor( xCursorPosition: Float, - lineChartData: LineChartData, containerSize: Size, + xAxisScale: XAxisScale, ) = xCursorPosition.toLong().mapValueToDifferentRange( 0L, containerSize.width.toLong(), - lineChartData.minX, - lineChartData.maxX + xAxisScale.start, + xAxisScale.end, ) private fun retrieveDataWithClosestPointForEachSeries( diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt index 39c5ab4..0e21b1e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartSeries.kt @@ -16,6 +16,7 @@ data class LineChartPoint( @Immutable data class LineChartSeries( val dataName: String, + val dataNameShort: String? = null, val lineWidth: Dp = 3.dp, val lineColor: Color, val fillColor: Color = lineColor, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt index 58b6ce6..9d7bf0f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt @@ -23,35 +23,6 @@ import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleStatic import com.netguru.multiplatform.charts.theme.ChartColors import com.netguru.multiplatform.charts.theme.ChartTheme -data class YAxisData( - val lineChartData: LineChartData, - val markerLayout: (@Composable (value: Any) -> Unit)? = GridDefaults.YAxisMarkerLayout, - val yAxisTitleData: YAxisTitleData? = GridDefaults.YAxisDataTitleYAxisData, - val roundMinMaxClosestTo: Float = GridDefaults.ROUND_MIN_MAX_CLOSEST_TO, -) - -data class XAxisData( - val markerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, - val hideMarkersWhenOverlapping: Boolean = false, - val alignFirstAndLastToChartEdges: Boolean = false, -) - -data class OverlayData( - val overlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = GridDefaults.OverlayHeaderLabel, - val overlayDataEntryLabel: @Composable (dataName: String, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, - val showEnlargedPointOnLine: Boolean = false, - val showInterpolatedValues: Boolean = true, - val highlightPointsCloserThan: Dp = 30.dp, - val touchOffsetHorizontal: Dp = 20.dp, - val touchOffsetVertical: Dp = 20.dp, - val overlayWidth: Dp = 200.dp, -) - -data class LegendData( - val columnMinWidth: Dp = 200.dp, - val legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, -) - /** * Classic line chart with some shade below the line in the same color (albeit with a lot of * transparency) as the line and floating balloon on touch/click to show values for that particular @@ -205,19 +176,21 @@ private fun LineChartWithTwoYAxisSetsLayout( var pointsToDraw: List by remember { mutableStateOf(emptyList()) } + val xAxisScale = TimestampXAxisScale( + min = minOf(leftYAxisData.lineChartData.minX, rightYAxisData.lineChartData.minX), + max = maxOf(leftYAxisData.lineChartData.maxX, rightYAxisData.lineChartData.maxX), + maxTicksCount = (minOf( + maxVerticalLines, numberOfXAxisEntries + ) - 1).coerceAtLeast(1), + roundClosestTo = xAxisData?.roundMinMaxClosestTo + ) BoxWithConstraints( Modifier .fillMaxWidth() .weight(1f) .drawBehind { val lines = measureChartGrid( - xAxisScale = TimestampXAxisScale( - min = minOf(leftYAxisData.lineChartData.minX, rightYAxisData.lineChartData.minX), - max = maxOf(leftYAxisData.lineChartData.maxX, rightYAxisData.lineChartData.maxX), - maxTicksCount = (minOf( - maxVerticalLines, numberOfXAxisEntries - ) - 1).coerceAtLeast(1) - ), + xAxisScale = xAxisScale, yAxisScale = YAxisScaleStatic( min = 0f, max = maxHorizontalLines.toFloat(), @@ -229,7 +202,11 @@ private fun LineChartWithTwoYAxisSetsLayout( } leftYAxisMarks = measureChartGrid( - xAxisScale = TimestampXAxisScale(0, 0), + xAxisScale = TimestampXAxisScale( + min = 0, + max = 0, + roundClosestTo = xAxisData?.roundMinMaxClosestTo, + ), yAxisScale = YAxisScaleDynamic( min = leftYAxisData.lineChartData.minY, max = leftYAxisData.lineChartData.maxY, @@ -248,7 +225,11 @@ private fun LineChartWithTwoYAxisSetsLayout( } } rightYAxisMarks = measureChartGrid( - xAxisScale = TimestampXAxisScale(0, 0), + xAxisScale = TimestampXAxisScale( + min = 0, + max = 0, + roundClosestTo = xAxisData?.roundMinMaxClosestTo, + ), yAxisScale = YAxisScaleDynamic( min = rightYAxisData.lineChartData.minY, max = rightYAxisData.lineChartData.maxY, @@ -283,6 +264,7 @@ private fun LineChartWithTwoYAxisSetsLayout( it.lineChartSeries ) }, + xAxisScale = xAxisScale, ) drawLineChart( @@ -299,6 +281,7 @@ private fun LineChartWithTwoYAxisSetsLayout( it.lineChartSeries ) }, + xAxisScale = xAxisScale, ) } // Touch input @@ -342,6 +325,7 @@ private fun LineChartWithTwoYAxisSetsLayout( pointsToDraw = it }, overlayData = overlayData, + xAxisScale = xAxisScale, ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt new file mode 100644 index 0000000..05690b9 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt @@ -0,0 +1,18 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.netguru.multiplatform.charts.grid.GridDefaults + +data class OverlayData( + val overlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = GridDefaults.OverlayHeaderLabel, + val overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + val showEnlargedPointOnLine: Boolean = false, + val showInterpolatedValues: Boolean = true, + val highlightPointsCloserThan: Dp = 30.dp, + val touchOffsetHorizontal: Dp = 20.dp, + val touchOffsetVertical: Dp = 20.dp, + val overlayWidth: Dp? = 200.dp, + val overlayAlpha: Float = 0.9f, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt new file mode 100644 index 0000000..a782b8e --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt @@ -0,0 +1,11 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import com.netguru.multiplatform.charts.grid.GridDefaults + +data class XAxisData( + val markerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, + val hideMarkersWhenOverlapping: Boolean = false, + val alignFirstAndLastToChartEdges: Boolean = false, + val roundMinMaxClosestTo: Long = GridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt new file mode 100644 index 0000000..af76ab4 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt @@ -0,0 +1,12 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.YAxisTitleData + +data class YAxisData( + val lineChartData: LineChartData, + val markerLayout: (@Composable (value: Any) -> Unit)? = GridDefaults.YAxisMarkerLayout, + val yAxisTitleData: YAxisTitleData? = GridDefaults.YAxisDataTitleYAxisData, + val roundMinMaxClosestTo: Float = GridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, +) diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt index a57c455..6ec4863 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt @@ -73,6 +73,7 @@ fun LineChartWithTwoYAxisScreen() { series = listOf( LineChartSeries( dataName = "data right", + dataNameShort = "short name", lineColor = colorRight, listOfPoints = (1..15).map { point -> LineChartPoint( @@ -166,7 +167,7 @@ fun LineChartWithTwoYAxisScreen() { markerLayout = { Text( fontSize = 12.sp, - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + text = DateTime.fromUnix(it as Long).format("HH:mm"), textAlign = TextAlign.Center ) } @@ -174,10 +175,11 @@ fun LineChartWithTwoYAxisScreen() { overlayData = OverlayData( overlayHeaderLabel = { it, _ -> Text( - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), + text = DateTime.fromUnix(it as Long).format("HH:mm"), style = MaterialTheme.typography.overline ) - } + }, + overlayWidth = null, ), animation = ChartAnimation.Sequenced(), drawPoints = true, From 2fd718cf737e6944233599a88b119efacf71566a Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Tue, 27 Dec 2022 16:46:47 +0100 Subject: [PATCH 3/8] Dial chart: - add indicator (arrow or something else) to point to the value --- .../netguru/multiplatform/charts/dial/Dial.kt | 125 ++++++++++++++---- .../multiplatform/charts/dial/DialColors.kt | 11 +- .../charts/dial/PercentageDial.kt | 2 + .../charts/dial/PercentageDialTest.kt | 14 +- .../charts/application/screen/Arrow.kt | 81 ++++++++++++ .../application/screen/DialChartScreen.kt | 122 ++++++++++++++++- 6 files changed, 314 insertions(+), 41 deletions(-) create mode 100644 example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/Arrow.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index d158a1d..b3bb198 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -8,17 +8,22 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.graphics.StrokeCap +import androidx.compose.ui.graphics.TransformOrigin import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.layout.layout import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.dial.DialDefaults.START_ANGLE import com.netguru.multiplatform.charts.getAnimationAlphas @@ -68,6 +73,7 @@ fun Dial( config: DialConfig = DialConfig(), minAndMaxValueLabel: @Composable (value: Int) -> Unit = DialDefaults.MinAndMaxValueLabel, mainLabel: @Composable (value: Int) -> Unit = DialDefaults.MainLabel, + indicator: (@Composable () -> Unit)? = null, ) { val animatedScale = getAnimationAlphas( animation = animation, @@ -79,6 +85,8 @@ fun Dial( Box(modifier = modifier) { Column(modifier = Modifier.align(Alignment.Center)) { + val sweepAngle = + targetProgress.mapValueToDifferentRange(minValue.toFloat(), maxValue.toFloat(), MIN_ANGLE, MAX_ANGLE) BoxWithConstraints( Modifier .fillMaxWidth() @@ -86,6 +94,7 @@ fun Dial( .drawBehind { drawProgressBar( value = targetProgress, + sweepAngle = sweepAngle, minValue = minValue.toFloat(), maxValue = maxValue.toFloat(), config = config, @@ -113,6 +122,29 @@ fun Dial( ) { mainLabel(value) } + + if (indicator != null) { + Box( + modifier = Modifier + .width(maxWidth / 2) + .align(Alignment.BottomStart) + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + layout(placeable.width, placeable.height) { + placeable.place(0, placeable.height / 2) + } + } + .graphicsLayer( + rotationZ = sweepAngle, + transformOrigin = TransformOrigin( + pivotFractionX = 1f, + pivotFractionY = 0.5f, + ) + ) + ) { + indicator() + } + } } Row( modifier = Modifier @@ -128,20 +160,20 @@ fun Dial( private fun DrawScope.drawProgressBar( value: Float, + sweepAngle: Float, minValue: Float, maxValue: Float, config: DialConfig, - progressBarColor: Color, + progressBarColor: DialProgressColors, progressBarBackgroundColor: Color, ) { - val sweepAngle = value.mapValueToDifferentRange(minValue, maxValue, MIN_ANGLE, MAX_ANGLE) val thickness = config.thickness.toPx() val radius = (size.width - thickness) / 2f val circumference = (2f * PI * radius).toFloat() val thicknessInDegrees = CIRCLE_ANGLE * thickness / circumference val arcPadding = if (config.roundCorners) thicknessInDegrees / 2f else 0f val topLeftOffset = Offset(thickness / 2f, thickness / 2f) - // Arc has to be drawn on 2 * height space cause we want only half of the circle + // Arc has to be drawn on 2 * height space because we want only half of the circle val arcSize = Size(size.width - thickness, size.height * ASPECT_RATIO - thickness) val style = Stroke( width = thickness, @@ -149,28 +181,17 @@ private fun DrawScope.drawProgressBar( pathEffect = PathEffect.cornerPathEffect(20f) ) - val joinStyle = if (value == minValue || value == maxValue) + val joinStyle = if (config.joinStyle != DialJoinStyle.Overlapped && (value == minValue || value == maxValue)) { DialJoinStyle.Joined - else + } else { config.joinStyle - - if (value > minValue) { - drawArc( - color = progressBarColor, - startAngle = START_ANGLE + arcPadding, - sweepAngle = sweepAngle - (2f * arcPadding), - useCenter = false, - style = style, - topLeft = topLeftOffset, - size = arcSize - ) } if (value < maxValue) { drawArc( color = progressBarBackgroundColor, - startAngle = START_ANGLE + sweepAngle + joinStyle.startAnglePadding(arcPadding), - sweepAngle = (MAX_ANGLE - sweepAngle - joinStyle.sweepAnglePadding(arcPadding)) + startAngle = START_ANGLE + joinStyle.startAnglePadding(sweepAngle, arcPadding), + sweepAngle = (MAX_ANGLE - joinStyle.sweepAnglePadding(sweepAngle, arcPadding)) .coerceAtLeast(0f), useCenter = false, style = style, @@ -178,6 +199,58 @@ private fun DrawScope.drawProgressBar( size = arcSize ) } + + if (value >= minValue) { + when (progressBarColor) { + is DialProgressColors.Gradient -> { + drawArc( + brush = Brush.sweepGradient( + colors = progressBarColor.colors, + center = Offset( + x = size.width / 2, + y = size.height, + ), + ), + startAngle = START_ANGLE + arcPadding, + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + useCenter = false, + style = style, + topLeft = topLeftOffset, + size = arcSize + ) + } + + is DialProgressColors.GradientWithStops -> { + drawArc( + brush = Brush.sweepGradient( + colorStops = progressBarColor.colorStops.toTypedArray(), + center = Offset( + x = size.width / 2, + y = size.height, + ), + ), + startAngle = START_ANGLE + arcPadding, + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + useCenter = false, + style = style, + topLeft = topLeftOffset, + size = arcSize + ) + } + + is DialProgressColors.SingleColor -> { + drawArc( + color = progressBarColor.color, + startAngle = START_ANGLE + arcPadding, + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + useCenter = false, + style = style, + topLeft = topLeftOffset, + size = arcSize + ) + } + } + } } private const val MAX_LINE_LENGTH = 0.20f @@ -249,14 +322,14 @@ private fun Int.position( private val DialConfig.strokeCap: StrokeCap get() = if (roundCorners) StrokeCap.Round else StrokeCap.Butt -private fun DialJoinStyle.startAnglePadding(arcPadding: Float) = when (this) { - is DialJoinStyle.Joined -> arcPadding - is DialJoinStyle.Overlapped -> -2f * arcPadding - is DialJoinStyle.WithDegreeGap -> degrees + arcPadding +private fun DialJoinStyle.startAnglePadding(sweepAngle: Float, arcPadding: Float) = when (this) { + is DialJoinStyle.Joined -> sweepAngle + (arcPadding) + is DialJoinStyle.Overlapped -> arcPadding + is DialJoinStyle.WithDegreeGap -> sweepAngle + (degrees + arcPadding) } -private fun DialJoinStyle.sweepAnglePadding(arcPadding: Float) = when (this) { - is DialJoinStyle.Joined -> 2f * arcPadding - is DialJoinStyle.Overlapped -> -arcPadding - is DialJoinStyle.WithDegreeGap -> degrees + (2f * arcPadding) +private fun DialJoinStyle.sweepAnglePadding(sweepAngle: Float, arcPadding: Float) = when (this) { + is DialJoinStyle.Joined -> sweepAngle + (2f * arcPadding) + is DialJoinStyle.Overlapped -> 2f * arcPadding + is DialJoinStyle.WithDegreeGap -> sweepAngle + (degrees + (2f * arcPadding)) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt index 20617da..22745ab 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt @@ -6,14 +6,21 @@ import com.netguru.multiplatform.charts.theme.ChartColors @Immutable data class DialColors( - val progressBarColor: Color, + val progressBarColor: DialProgressColors, val progressBarBackgroundColor: Color, val gridScaleColor: Color, ) +@Immutable +sealed class DialProgressColors { + data class SingleColor(val color: Color) : DialProgressColors() + data class GradientWithStops(val colorStops: List>) : DialProgressColors() + data class Gradient(val colors: List) : DialProgressColors() +} + val ChartColors.dialColors get() = DialColors( - progressBarColor = primary, + progressBarColor = DialProgressColors.SingleColor(primary), progressBarBackgroundColor = grid, gridScaleColor = grid ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt index 42c0b2a..d7254bb 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt @@ -21,6 +21,7 @@ fun PercentageDial( config: DialConfig = DialConfig(), minAndMaxValueLabel: @Composable (value: Int) -> Unit = DialDefaults.MinAndMaxValueLabel, mainLabel: @Composable (value: Int) -> Unit = DialDefaults.MainLabel, + indicator: (@Composable () -> Unit)? = null, ) { Dial( value = percentage, @@ -32,5 +33,6 @@ fun PercentageDial( config = config, minAndMaxValueLabel = minAndMaxValueLabel, mainLabel = mainLabel, + indicator = indicator, ) } diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt index d343bf7..afde805 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt @@ -22,27 +22,27 @@ class PercentageDialTest : ScreenshotTest { @Test fun value_50_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 50) } + checkComposable(composeRule) { PercentageDial(percentage = 50,) } } @Test fun value_0_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 0) } + checkComposable(composeRule) { PercentageDial(percentage = 0,) } } @Test fun value_100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 100) } + checkComposable(composeRule) { PercentageDial(percentage = 100,) } } @Test fun value_minus100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = -100) } + checkComposable(composeRule) { PercentageDial(percentage = -100,) } } @Test fun value_150_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 150) } + checkComposable(composeRule) { PercentageDial(percentage = 150,) } } @Test @@ -69,7 +69,7 @@ class PercentageDialTest : ScreenshotTest { Text(text = it.toString(), color = Color.Blue, fontSize = 40.sp) Text(text = "tests", color = Color.Magenta, fontSize = 24.sp) } - } + }, ) } } @@ -80,7 +80,7 @@ class PercentageDialTest : ScreenshotTest { PercentageDial( percentage = 69, minAndMaxValueLabel = { }, - mainLabel = { } + mainLabel = { }, ) } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/Arrow.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/Arrow.kt new file mode 100644 index 0000000..ee7dd87 --- /dev/null +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/Arrow.kt @@ -0,0 +1,81 @@ +package com.netguru.multiplatform.charts.application.screen + +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap +import androidx.compose.ui.graphics.StrokeJoin +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.unit.dp + +internal val Arrow: ImageVector + get() { + if (_arrow != null) { + return _arrow!! + } + val width = 30f + val height = 30f + val strokeLineWidth = 2f + val strokeHalf = strokeLineWidth / 2 + _arrow = Builder( + name = "Arrow", + defaultWidth = width.dp, + defaultHeight = height.dp, + viewportWidth = width, + viewportHeight = height + ).apply { + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(width / 2, strokeHalf) + lineTo(width - strokeHalf, height - strokeHalf) + } + + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(width - strokeHalf, height - strokeHalf) + horizontalLineTo(strokeHalf) + } + + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(strokeHalf, height - strokeHalf) + lineTo(width / 2, strokeHalf) + } + + path( + fill = SolidColor(Color.White), + stroke = null, + pathFillType = EvenOdd, + ) { + moveTo(width / 2, strokeHalf) + lineTo(width - strokeHalf, height - strokeHalf) + horizontalLineTo(strokeHalf) + lineTo(width / 2, strokeHalf) + close() + } + } + .build() + return _arrow!! + } + +private var _arrow: ImageVector? = null diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt index aa30376..e9f45da 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt @@ -2,14 +2,26 @@ package com.netguru.multiplatform.charts.application.screen import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.material.MaterialTheme +import androidx.compose.material.Slider import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen @@ -18,28 +30,126 @@ import com.netguru.multiplatform.charts.application.TitleText import com.netguru.multiplatform.charts.common.AppTheme import com.netguru.multiplatform.charts.common.HorizontalDivider import com.netguru.multiplatform.charts.dial.Dial +import com.netguru.multiplatform.charts.dial.DialColors import com.netguru.multiplatform.charts.dial.DialConfig +import com.netguru.multiplatform.charts.dial.DialJoinStyle +import com.netguru.multiplatform.charts.dial.DialProgressColors import com.netguru.multiplatform.charts.dial.PercentageDial +import kotlin.math.roundToInt @Composable fun DialChartScreen() { ScrollableScreen { SpacedColumn { TitleText(text = "Percentage dial") - + var sliderValue by remember { + mutableStateOf(0f) + } PercentageDial( - percentage = 69, + percentage = sliderValue.roundToInt(), modifier = Modifier .fillMaxWidth(), - animation = ChartAnimation.Simple { - spring( - dampingRatio = Spring.DampingRatioMediumBouncy, - stiffness = Spring.StiffnessLow + animation = ChartAnimation.Disabled, + colors = DialColors( + progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0.5f to Color.Red, + 1f to Color.Green, + ) + ) + ), + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } + }, + indicator = { + Image( + painter = rememberVectorPainter(image = Arrow), + contentDescription = null, + modifier = Modifier + .padding( + start = 20.dp, + ) + .rotate(-90f) ) + } + ) + + Slider( + value = sliderValue, + onValueChange = { + sliderValue = it + }, + valueRange = 0f..100f, + steps = 101, + modifier = Modifier + .fillMaxWidth() + ) + + PercentageDial( + percentage = sliderValue.roundToInt(), + modifier = Modifier + .fillMaxWidth(), + animation = ChartAnimation.Disabled, + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } }, + indicator = { + Box( + modifier = Modifier + .background(Color.Red) + .fillMaxWidth() + .height(1.dp) + ) + } + ) + + PercentageDial( + percentage = 100, + modifier = Modifier + .fillMaxWidth(), + animation = ChartAnimation.Disabled, config = DialConfig( thickness = 20.dp, roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, ), mainLabel = { Column( From e310880a8c588a8f1a3f1d610060244dd82bd096 Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Fri, 30 Dec 2022 16:12:38 +0100 Subject: [PATCH 4/8] Dial chart: - enable more than 180 degrees for the dial chart --- .../netguru/multiplatform/charts/dial/Dial.kt | 231 ++++++++++-------- .../multiplatform/charts/dial/DialDefaults.kt | 1 - .../charts/dial/PercentageDial.kt | 13 +- .../charts/dial/scale/DrawScale.kt | 82 +++++++ .../charts/dial/scale/MarkType.kt | 6 + .../multiplatform/charts/dial/scale/Scale.kt | 175 +++++++++++++ .../charts/dial/scale/ScalePositions.kt | 38 +++ .../application/screen/DialChartScreen.kt | 117 ++++++++- gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 10 files changed, 543 insertions(+), 124 deletions(-) create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/MarkType.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index b3bb198..bbab71e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -7,9 +7,12 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind @@ -24,22 +27,27 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.layout.layout +import androidx.compose.ui.platform.LocalDensity import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.dial.DialDefaults.START_ANGLE +import com.netguru.multiplatform.charts.dial.scale.Scale +import com.netguru.multiplatform.charts.dial.scale.ScalePositions +import com.netguru.multiplatform.charts.dial.scale.drawScale +import com.netguru.multiplatform.charts.dial.scale.drawScaleLabels import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.theme.ChartTheme import kotlin.math.PI -import kotlin.math.cos import kotlin.math.sin /** * Aspect ratio for dial is 2:1 (width:height). We want to draw only half of the circle */ -private const val ASPECT_RATIO = 2f private const val CIRCLE_ANGLE = 360f -private const val MIN_ANGLE = 0f -private const val MAX_ANGLE = 180f +internal const val MIN_ANGLE = -40f +internal const val MAX_ANGLE = 220f +internal const val START_ANGLE = MIN_ANGLE + 180f + +internal fun getAspectRatio() = 1 / sin((MAX_ANGLE - MIN_ANGLE) / 4) /** * Draws a half-circle and colors the part of it differently to represent the value. @@ -64,16 +72,17 @@ private const val MAX_ANGLE = 180f */ @Composable fun Dial( - value: Int, - minValue: Int, - maxValue: Int, + value: Float, + minValue: Float, + maxValue: Float, modifier: Modifier = Modifier, animation: ChartAnimation = ChartAnimation.Simple(), colors: DialColors = ChartTheme.colors.dialColors, config: DialConfig = DialConfig(), - minAndMaxValueLabel: @Composable (value: Int) -> Unit = DialDefaults.MinAndMaxValueLabel, - mainLabel: @Composable (value: Int) -> Unit = DialDefaults.MainLabel, + minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, + mainLabel: @Composable (value: Float) -> Unit = DialDefaults.MainLabel, indicator: (@Composable () -> Unit)? = null, + scale: Scale = Scale.Linear(null), ) { val animatedScale = getAnimationAlphas( animation = animation, @@ -85,57 +94,131 @@ fun Dial( Box(modifier = modifier) { Column(modifier = Modifier.align(Alignment.Center)) { - val sweepAngle = - targetProgress.mapValueToDifferentRange(minValue.toFloat(), maxValue.toFloat(), MIN_ANGLE, MAX_ANGLE) + + val fullAngle = MAX_ANGLE - MIN_ANGLE + val sweepAngle = when (scale) { + is Scale.Linear -> { + targetProgress.mapValueToDifferentRange( + minValue, + maxValue, + 0f, + fullAngle + ) + } + + is Scale.NonLinear -> { + if (targetProgress.isNaN()) { + val range = scale.scalePoints.first() to scale.scalePoints[1] + + minValue.mapValueToDifferentRange( + range.first.value, + range.second.value, + /*MIN_ANGLE + */(fullAngle * range.first.position), + fullAngle * range.second.position, + ) + + } else { + scale + .scalePoints + .zipWithNext() + .firstOrNull { + targetProgress in it.first.value..it.second.value + } + ?.let { range -> + targetProgress.mapValueToDifferentRange( + range.first.value, + range.second.value, + fullAngle * range.first.position, + fullAngle * range.second.position, + ) + } + ?: run { + val isSmaller = targetProgress < scale.scalePoints.minOf { it.value } + if (isSmaller) { + 0f + } else { + fullAngle + } + } + } + } + } + + val density = LocalDensity.current + var angles by remember { + mutableStateOf( + ScalePositions( + containerWidth = 0f, + containerCenterX = 0f, + offsets = emptyList(), + ) + ) + } BoxWithConstraints( Modifier .fillMaxWidth() - .aspectRatio(ASPECT_RATIO) + .aspectRatio(getAspectRatio()) .drawBehind { drawProgressBar( value = targetProgress, sweepAngle = sweepAngle, - minValue = minValue.toFloat(), - maxValue = maxValue.toFloat(), + minValue = minValue, + maxValue = maxValue, config = config, progressBarColor = colors.progressBarColor, progressBarBackgroundColor = colors.progressBarBackgroundColor, ) if (config.displayScale) { + val scaleCenter = Offset( + center.x, + size.width / 2 - (config.scaleLineWidth.toPx() / 2f) + ) + if (!angles.calculatedFor(size.width, scaleCenter.x)) { + angles = ScalePositions( + containerWidth = size.width, + containerCenterX = scaleCenter.x, + offsets = scale.calculateAngles(config, density, size.width, scaleCenter) + ) + } drawScale( color = colors.gridScaleColor, - center = Offset( - center.x, - size.height - (config.scaleLineWidth.toPx() / 2f) - ), config = config, + markType = scale.markType, + calculatedAngles = angles.offsets, ) } } ) { - val desiredHeight = maxWidth / ASPECT_RATIO Box( modifier = Modifier - .align(Alignment.Center) - .padding(top = desiredHeight / 2f) + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + layout(placeable.width, placeable.height) { + placeable.place( + x = maxWidth.roundToPx() / 2 - placeable.width / 2, + y = maxWidth.roundToPx() / 2 - placeable.height / 2 + ) + } + } ) { mainLabel(value) } + drawScaleLabels(scale, angles.offsets) + if (indicator != null) { Box( modifier = Modifier .width(maxWidth / 2) - .align(Alignment.BottomStart) .layout { measurable, constraints -> val placeable = measurable.measure(constraints) layout(placeable.width, placeable.height) { - placeable.place(0, placeable.height / 2) + placeable.place(0, maxWidth.roundToPx() / 2 - placeable.height / 2) } } .graphicsLayer( - rotationZ = sweepAngle, + rotationZ = sweepAngle + MIN_ANGLE, transformOrigin = TransformOrigin( pivotFractionX = 1f, pivotFractionY = 0.5f, @@ -146,13 +229,15 @@ fun Dial( } } } - Row( - modifier = Modifier - .fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - minAndMaxValueLabel(minValue) - minAndMaxValueLabel(maxValue) + if (minAndMaxValueLabel != null) { + Row( + modifier = Modifier + .fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween + ) { + minAndMaxValueLabel(minValue) + minAndMaxValueLabel(maxValue) + } } } } @@ -174,7 +259,7 @@ private fun DrawScope.drawProgressBar( val arcPadding = if (config.roundCorners) thicknessInDegrees / 2f else 0f val topLeftOffset = Offset(thickness / 2f, thickness / 2f) // Arc has to be drawn on 2 * height space because we want only half of the circle - val arcSize = Size(size.width - thickness, size.height * ASPECT_RATIO - thickness) + val arcSize = Size(size.width - thickness, size.height * getAspectRatio() - thickness) val style = Stroke( width = thickness, cap = config.strokeCap, @@ -187,11 +272,11 @@ private fun DrawScope.drawProgressBar( config.joinStyle } - if (value < maxValue) { + if (value < maxValue || !value.isFinite()) { drawArc( color = progressBarBackgroundColor, - startAngle = START_ANGLE + joinStyle.startAnglePadding(sweepAngle, arcPadding), - sweepAngle = (MAX_ANGLE - joinStyle.sweepAnglePadding(sweepAngle, arcPadding)) + startAngle = MIN_ANGLE + 180 + joinStyle.startAnglePadding(sweepAngle, arcPadding), + sweepAngle = ((MAX_ANGLE - MIN_ANGLE) - joinStyle.sweepAnglePadding(sweepAngle, arcPadding)) .coerceAtLeast(0f), useCenter = false, style = style, @@ -212,7 +297,7 @@ private fun DrawScope.drawProgressBar( ), ), startAngle = START_ANGLE + arcPadding, - sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, topLeft = topLeftOffset, @@ -230,7 +315,7 @@ private fun DrawScope.drawProgressBar( ), ), startAngle = START_ANGLE + arcPadding, - sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, topLeft = topLeftOffset, @@ -242,7 +327,7 @@ private fun DrawScope.drawProgressBar( drawArc( color = progressBarColor.color, startAngle = START_ANGLE + arcPadding, - sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(MIN_ANGLE), + sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, topLeft = topLeftOffset, @@ -253,72 +338,6 @@ private fun DrawScope.drawProgressBar( } } -private const val MAX_LINE_LENGTH = 0.20f -private const val MINOR_SCALE_ALPHA = 0.5f -private const val MINOR_SCALE_LENGTH_FACTOR = 0.35f -private const val SCALE_STEP = 2 -private const val MAJOR_SCALE_MODULO = 5 * SCALE_STEP -private fun DrawScope.drawScale( - color: Color, - center: Offset, - config: DialConfig, -) { - val scaleLineLength = (config.scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) - val scalePadding = (config.thickness.toPx() + config.scalePadding.toPx()) / center.x - val startRadiusFactor = 1 - scalePadding - scaleLineLength - val endRadiusFactor = startRadiusFactor + scaleLineLength - val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR - val scaleMultiplier = size.width / 2f - - for (point in 0..100 step SCALE_STEP) { - val angle = ( - point.toFloat() - .mapValueToDifferentRange( - 0f, - 100f, - START_ANGLE, - 0f - ) - ) * PI.toFloat() / 180f // to radians - val startPos = point.position( - angle, - scaleMultiplier, - startRadiusFactor, - smallLineRadiusFactor - ) - val endPos = point.position( - angle, - scaleMultiplier, - endRadiusFactor, - -smallLineRadiusFactor - ) - drawLine( - color = if (point % MAJOR_SCALE_MODULO == 0) - color - else - color.copy(alpha = MINOR_SCALE_ALPHA), - start = center + startPos, - end = center + endPos, - strokeWidth = config.scaleLineWidth.toPx(), - cap = StrokeCap.Round - ) - } -} - -private fun Int.position( - angle: Float, - scaleMultiplier: Float, - radiusFactor: Float, - minorRadiusFactor: Float -): Offset { - val pointRadiusFactor = if (this % MAJOR_SCALE_MODULO == 0) - radiusFactor - else - radiusFactor + minorRadiusFactor - val scaledRadius = scaleMultiplier * pointRadiusFactor - return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) -} - private val DialConfig.strokeCap: StrokeCap get() = if (roundCorners) StrokeCap.Round else StrokeCap.Butt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialDefaults.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialDefaults.kt index faed3b8..fc8d6c6 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialDefaults.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialDefaults.kt @@ -14,7 +14,6 @@ internal object DialDefaults { val SCALE_PADDING = 24.dp val SCALE_STROKE_WIDTH = 2.dp val SCALE_STROKE_LENGTH = 16.dp - const val START_ANGLE = -180f val JOIN_STYLE = DialJoinStyle.WithDegreeGap(2f) val MainLabel: @Composable (value: Any) -> Unit = { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt index d7254bb..fd5b81d 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt @@ -3,6 +3,7 @@ package com.netguru.multiplatform.charts.dial import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.dial.scale.Scale import com.netguru.multiplatform.charts.theme.ChartTheme /** @@ -14,19 +15,20 @@ import com.netguru.multiplatform.charts.theme.ChartTheme */ @Composable fun PercentageDial( - percentage: Int, + percentage: Float, modifier: Modifier = Modifier, animation: ChartAnimation = ChartAnimation.Simple(), colors: DialColors = ChartTheme.colors.dialColors, config: DialConfig = DialConfig(), - minAndMaxValueLabel: @Composable (value: Int) -> Unit = DialDefaults.MinAndMaxValueLabel, - mainLabel: @Composable (value: Int) -> Unit = DialDefaults.MainLabel, + minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, + mainLabel: @Composable (value: Float) -> Unit = DialDefaults.MainLabel, indicator: (@Composable () -> Unit)? = null, + scale: Scale = Scale.Linear(null), ) { Dial( value = percentage, - minValue = 0, - maxValue = 100, + minValue = 0f, + maxValue = 100f, modifier = modifier, animation = animation, colors = colors, @@ -34,5 +36,6 @@ fun PercentageDial( minAndMaxValueLabel = minAndMaxValueLabel, mainLabel = mainLabel, indicator = indicator, + scale = scale, ) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt new file mode 100644 index 0000000..ebf1b93 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt @@ -0,0 +1,82 @@ +package com.netguru.multiplatform.charts.dial.scale + +import androidx.compose.foundation.layout.Box +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PointMode +import androidx.compose.ui.graphics.StrokeCap +import androidx.compose.ui.graphics.drawscope.DrawScope +import androidx.compose.ui.layout.layout +import androidx.compose.ui.unit.IntOffset +import com.netguru.multiplatform.charts.dial.DialConfig +import kotlin.math.cos +import kotlin.math.pow +import kotlin.math.roundToInt +import kotlin.math.sin + + +internal fun DrawScope.drawScale( + color: Color, + config: DialConfig, + markType: MarkType, + calculatedAngles: List, +) { + when (markType) { + MarkType.Line -> { + for (angle in calculatedAngles as List) { + drawLine( + color = color, + start = angle.startOffset, + end = angle.endOffset, + strokeWidth = config.scaleLineWidth.toPx(), + cap = StrokeCap.Round + ) + } + } + + MarkType.Dot -> { + calculatedAngles as List + drawPoints( + points = calculatedAngles.map { it.offset }, + pointMode = PointMode.Points, + color = color, + cap = StrokeCap.Round, + strokeWidth = config.scaleLineLength.toPx(), + ) + } + } +} + +@Composable +fun drawScaleLabels( + scale: Scale, + provideLabels: List, +) { + provideLabels.forEachIndexed { index, it -> + Box( + modifier = Modifier + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + + val topLeft = when (it) { + is ScalePositions.ScaleItem.Dot -> it.offset + is ScalePositions.ScaleItem.Line -> it.startOffset + } - Offset( + x = cos(it.angle / 2).pow(2f) * (placeable.width), + y = ((sin(it.angle) / 2) + (1 / 2f)) * placeable.height, + ) + + layout(placeable.width, placeable.height) { + placeable.place(IntOffset(topLeft.x.roundToInt(), topLeft.y.roundToInt())) + } + } + ) { + when (scale) { + is Scale.Linear -> scale.scaleLabel?.invoke("") + is Scale.NonLinear -> scale.scaleLabel?.invoke(scale.scalePoints[index].label) + } + } + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/MarkType.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/MarkType.kt new file mode 100644 index 0000000..c6bb840 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/MarkType.kt @@ -0,0 +1,6 @@ +package com.netguru.multiplatform.charts.dial.scale + +enum class MarkType { + Line, + Dot, +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt new file mode 100644 index 0000000..76e95b3 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt @@ -0,0 +1,175 @@ +package com.netguru.multiplatform.charts.dial.scale + +import androidx.compose.runtime.Composable +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.unit.Density +import com.netguru.multiplatform.charts.dial.DialConfig +import com.netguru.multiplatform.charts.dial.MAX_ANGLE +import com.netguru.multiplatform.charts.dial.MIN_ANGLE +import com.netguru.multiplatform.charts.mapValueToDifferentRange +import kotlin.math.PI +import kotlin.math.cos +import kotlin.math.sin + +sealed class Scale( + val scaleLabel: (@Composable (String) -> Unit)?, + val markType: MarkType, +) { + class Linear( + scaleLabel: (@Composable (String) -> Unit)? = null, + markType: MarkType = MarkType.Line, + ) : Scale(scaleLabel, markType) + + class NonLinear( + val scalePoints: List, + scaleLabel: (@Composable (String) -> Unit)? = null, + markType: MarkType = MarkType.Line, + ) : Scale(scaleLabel, markType) { + /** + * @param value Value that this point represents + * @param position position on the scale in "percentage" in range [0, 1] + * @param label to display next to the point + */ + data class ScalePoint( + val value: Float, + val position: Float, + val label: String, + ) + } + + private companion object { + const val MAX_LINE_LENGTH = 0.20f + const val MINOR_SCALE_ALPHA = 0.5f + const val MINOR_SCALE_LENGTH_FACTOR = 0.35f + const val SCALE_STEP = 2 + const val MAJOR_SCALE_MODULO = 5 * SCALE_STEP + } + + fun calculateAngles( + config: DialConfig, + density: Density, + width: Float, + center: Offset, + ): List { + val scaleLineLength = + with(density) { (config.scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) } + val scalePadding = with(density) { (config.thickness.toPx() + config.scalePadding.toPx()) / center.x } + val startRadiusFactor = 1 - scalePadding - scaleLineLength + val endRadiusFactor = startRadiusFactor + scaleLineLength + val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR + val scaleMultiplier = width / 2f + + return when (this) { + is Linear -> { + fun Int.position( + angle: Float, + scaleMultiplier: Float, + radiusFactor: Float, + minorRadiusFactor: Float, + ): Offset { + val pointRadiusFactor = + if (this % MAJOR_SCALE_MODULO == 0) + radiusFactor + else + radiusFactor + minorRadiusFactor + val scaledRadius = scaleMultiplier * pointRadiusFactor + return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) + } + (0..100 step SCALE_STEP).map { point -> + val angle = ( + point.toFloat() + .mapValueToDifferentRange( + 0f, + 100f, + MIN_ANGLE + 180, + MAX_ANGLE + 180, + ) + ) * PI.toFloat() / 180f // to radians + val startPos = point.position( + angle, + scaleMultiplier, + startRadiusFactor, + smallLineRadiusFactor, + ) + val endPos = point.position( + angle, + scaleMultiplier, + endRadiusFactor, + -smallLineRadiusFactor, + ) + when (markType) { + MarkType.Line -> { + Triple(angle, center + startPos, center + endPos) + ScalePositions.ScaleItem.Line( + angle = angle, + startOffset = center + startPos, + endOffset = center + endPos, + ) + } + + MarkType.Dot -> { + ScalePositions.ScaleItem.Dot( + angle = angle, + offset = center + endPos + ) + } + } + } + } + + is NonLinear -> { + fun positionLine( + angle: Float, + scaleMultiplier: Float, + radiusFactor: Float, + minorRadiusFactor: Float, + ): Offset { + val pointRadiusFactor = radiusFactor + minorRadiusFactor + val scaledRadius = scaleMultiplier * pointRadiusFactor + return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) + } + scalePoints.map { point -> + val angle = ( + point.position + .mapValueToDifferentRange( + 0f, + 1f, + MIN_ANGLE + 180, + MAX_ANGLE + 180, + ) + ) * PI.toFloat() / 180f // to radians + val startPos = positionLine( + angle, + scaleMultiplier, + startRadiusFactor, + smallLineRadiusFactor + ) + val endPos = positionLine( + angle, + scaleMultiplier, + endRadiusFactor, + -smallLineRadiusFactor + ) + + when (markType) { + MarkType.Line -> { + Triple(angle, center + startPos, center + endPos) + ScalePositions.ScaleItem.Line( + angle = angle, + startOffset = center + startPos, + endOffset = center + endPos, + ) + } + + MarkType.Dot -> { + ScalePositions.ScaleItem.Dot( + angle = angle, + offset = center + endPos + ) + } + } + } + } + } + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt new file mode 100644 index 0000000..033bce5 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt @@ -0,0 +1,38 @@ +package com.netguru.multiplatform.charts.dial.scale + +import androidx.compose.ui.geometry.Offset + +data class ScalePositions( + val containerWidth: Float, + val containerCenterX: Float, + val offsets: List, +) { + sealed class ScaleItem( + val angle: Float, + ) { + class Dot( + angle: Float, + val offset: Offset, + ) : ScaleItem(angle) + + class Line( + angle: Float, + val startOffset: Offset, + val endOffset: Offset, + ) : ScaleItem(angle) + } + + fun calculatedFor(width: Float, centerX: Float): Boolean { + return containerWidth == width && containerCenterX == centerX + } + + override fun equals(other: Any?): Boolean { + other as ScalePositions + + return this.containerWidth == other.containerWidth && this.containerCenterX == other.containerCenterX + } + + override fun hashCode(): Int { + return containerWidth.hashCode() + containerCenterX.hashCode() + } +} diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt index e9f45da..37d43c0 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt @@ -35,6 +35,9 @@ import com.netguru.multiplatform.charts.dial.DialConfig import com.netguru.multiplatform.charts.dial.DialJoinStyle import com.netguru.multiplatform.charts.dial.DialProgressColors import com.netguru.multiplatform.charts.dial.PercentageDial +import com.netguru.multiplatform.charts.dial.scale.MarkType +import com.netguru.multiplatform.charts.dial.scale.Scale +import com.netguru.multiplatform.charts.dial.scale.Scale.NonLinear.ScalePoint import kotlin.math.roundToInt @Composable @@ -43,10 +46,10 @@ fun DialChartScreen() { SpacedColumn { TitleText(text = "Percentage dial") var sliderValue by remember { - mutableStateOf(0f) + mutableStateOf(-50f) } PercentageDial( - percentage = sliderValue.roundToInt(), + percentage = sliderValue, modifier = Modifier .fillMaxWidth(), animation = ChartAnimation.Disabled, @@ -64,6 +67,8 @@ fun DialChartScreen() { thickness = 20.dp, roundCorners = true, joinStyle = DialJoinStyle.Overlapped, + scalePadding = 16.dp, + scaleLineLength = 10.dp, ), mainLabel = { Column( @@ -91,22 +96,114 @@ fun DialChartScreen() { ) .rotate(-90f) ) - } + }, + scale = Scale.NonLinear( + scalePoints = listOf( + ScalePoint(0f, 0f, "0"), + ScalePoint(10f, 0.1f, "10"), + ScalePoint(20f, 0.2f, "20"), + ScalePoint(30f, 0.3f, "30"), + ScalePoint(35f, 0.5f, "35"), + ScalePoint(40f, 0.7f, "40"), + ScalePoint(100f, 1f, "100"), + ), + scaleLabel = { + Text( + text = it, + modifier = Modifier + .padding(16.dp) + ) + }, + markType = MarkType.Dot, + ), + minAndMaxValueLabel = null, + ) + + Dial( + value = Float.POSITIVE_INFINITY, + modifier = Modifier + .fillMaxWidth(), + animation = ChartAnimation.Disabled, + colors = DialColors( + progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0.5f to Color.Red, + 1f to Color.Green, + ) + ) + ), + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + scalePadding = 16.dp, + scaleLineLength = 10.dp, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } + }, + indicator = { + Image( + painter = rememberVectorPainter(image = Arrow), + contentDescription = null, + modifier = Modifier + .padding( + start = 20.dp, + ) + .rotate(-90f) + ) + }, + scale = Scale.NonLinear( + scalePoints = listOf( + ScalePoint(0f, 0f, "LO"), + ScalePoint(34f, 0.2f, "3.4"), + ScalePoint(47f, 0.4f, "4.7"), + ScalePoint(61f, 0.6f, "6.1"), + ScalePoint(73f, 0.8f, "7.3"), + ScalePoint(80f, 1f, "HI"), + ), + scaleLabel = { + Text( + text = it, + modifier = Modifier + .padding(16.dp) + ) + }, + markType = MarkType.Dot, + ), + minAndMaxValueLabel = null, + minValue = Float.MIN_VALUE, + maxValue = Float.MAX_VALUE, ) Slider( value = sliderValue, onValueChange = { - sliderValue = it + sliderValue = it.roundToInt().toFloat() }, - valueRange = 0f..100f, + valueRange = -50f..150f, steps = 101, modifier = Modifier .fillMaxWidth() ) PercentageDial( - percentage = sliderValue.roundToInt(), + percentage = sliderValue, modifier = Modifier .fillMaxWidth(), animation = ChartAnimation.Disabled, @@ -142,7 +239,7 @@ fun DialChartScreen() { ) PercentageDial( - percentage = 100, + percentage = Float.POSITIVE_INFINITY, modifier = Modifier .fillMaxWidth(), animation = ChartAnimation.Disabled, @@ -176,9 +273,9 @@ fun DialChartScreen() { Dial( modifier = Modifier .fillMaxWidth(), - value = 17, - minValue = -20, - maxValue = 50, + value = 17f, + minValue = -20f, + maxValue = 50f, animation = ChartAnimation.Simple { spring( dampingRatio = Spring.DampingRatioMediumBouncy, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 672ecf2..0119562 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ desktop-packageName = "jvm" # Dependencies kotlin-gradle-plugin = "1.7.20" -android-gradle-plugin = "7.2.1" +android-gradle-plugin = "7.3.0" #compose = "1.2.1" compose = "1.3.0-beta03" activity-compose = "1.4.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e6e589..41dfb87 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 55d63c13d14e4f8ae6fdfa8052ac39af3f5e370d Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Thu, 5 Jan 2023 11:32:13 +0100 Subject: [PATCH 5/8] Some renaming and cleaning up of mostly LineChart and stuff used there --- ...tAnimation.kt => ChartDisplayAnimation.kt} | 8 +- .../netguru/multiplatform/charts/Helpers.kt | 10 +- .../charts/OverlayInformation.kt | 4 +- .../multiplatform/charts/bar/BarChart.kt | 18 +- .../charts/bar/BarChartConfig.kt | 6 +- .../charts/bar/BarChartWithLegend.kt | 13 +- .../charts/bubble/BubbleChart.kt | 4 +- .../netguru/multiplatform/charts/dial/Dial.kt | 11 +- .../charts/dial/PercentageDial.kt | 4 +- .../charts/gasbottle/GasBottle.kt | 8 +- .../multiplatform/charts/grid/ChartAxis.kt | 12 +- .../{GridDefaults.kt => ChartGridDefaults.kt} | 7 +- .../multiplatform/charts/line/ChartLegend.kt | 8 +- .../line/{LegendData.kt => LegendConfig.kt} | 6 +- .../netguru/multiplatform/charts/line/Line.kt | 252 +++++++++-------- .../multiplatform/charts/line/LineChart.kt | 151 +++++----- .../charts/line/LineChartColors.kt | 10 - .../line/LineChartOverlayInformation.kt | 40 +-- .../charts/line/LineChartWithTwoYAxisSets.kt | 258 ++++++++++-------- .../multiplatform/charts/line/OverlayData.kt | 18 -- .../charts/line/TooltipConfig.kt | 18 ++ .../multiplatform/charts/line/XAxisConfig.kt | 12 + .../multiplatform/charts/line/XAxisData.kt | 11 - .../multiplatform/charts/line/YAxisData.kt | 12 +- .../multiplatform/charts/pie/PieChart.kt | 8 +- .../charts/pie/PieChartLegend.kt | 4 +- .../charts/pie/PieChartWithLegend.kt | 4 +- .../android/previews/LineChartPreview.kt | 6 +- .../application/screen/BarChartScreen.kt | 6 +- .../application/screen/BubbleChartScreen.kt | 4 +- .../application/screen/DialChartScreen.kt | 12 +- .../application/screen/GasBottleScreen.kt | 4 +- .../application/screen/LineChartScreen.kt | 186 ++++++------- .../screen/LineChartWithTwoYAxisScreen.kt | 76 +++--- 34 files changed, 608 insertions(+), 603 deletions(-) rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/{ChartAnimation.kt => ChartDisplayAnimation.kt} (79%) rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/{GridDefaults.kt => ChartGridDefaults.kt} (92%) rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/{LegendData.kt => LegendConfig.kt} (66%) delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/TooltipConfig.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartAnimation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartDisplayAnimation.kt similarity index 79% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartAnimation.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartDisplayAnimation.kt index 881f379..500b5ba 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartAnimation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/ChartDisplayAnimation.kt @@ -3,20 +3,20 @@ package com.netguru.multiplatform.charts import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.tween -sealed class ChartAnimation { - object Disabled : ChartAnimation() +sealed class ChartDisplayAnimation { + object Disabled : ChartDisplayAnimation() class Simple( val animationSpec: () -> AnimationSpec = { tween(DEFAULT_DURATION, DEFAULT_DELAY) }, - ) : ChartAnimation() + ) : ChartDisplayAnimation() class Sequenced( val animationSpec: (dataSeriesIndex: Int) -> AnimationSpec = { index -> tween(DEFAULT_DURATION, index * DEFAULT_DELAY) }, - ) : ChartAnimation() + ) : ChartDisplayAnimation() private companion object { const val DEFAULT_DURATION = 300 diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt index ad5111f..c8e608f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt @@ -64,27 +64,27 @@ fun Number.round(decimals: Int = 2): String { @Composable fun getAnimationAlphas( - animation: ChartAnimation, + animation: ChartDisplayAnimation, numberOfElementsToAnimate: Int, uniqueDatasetKey: Any, ): List { var animationPlayed by remember(uniqueDatasetKey) { - mutableStateOf(animation is ChartAnimation.Disabled) + mutableStateOf(animation is ChartDisplayAnimation.Disabled) } LaunchedEffect(uniqueDatasetKey) { animationPlayed = true } return when (animation) { - ChartAnimation.Disabled -> (1..numberOfElementsToAnimate).map { 1f } - is ChartAnimation.Simple -> (1..numberOfElementsToAnimate).map { + ChartDisplayAnimation.Disabled -> (1..numberOfElementsToAnimate).map { 1f } + is ChartDisplayAnimation.Simple -> (1..numberOfElementsToAnimate).map { animateFloatAsState( targetValue = if (animationPlayed) 1f else 0f, animationSpec = if (animationPlayed) animation.animationSpec() else tween(durationMillis = 0), ).value } - is ChartAnimation.Sequenced -> (1..numberOfElementsToAnimate).map { + is ChartDisplayAnimation.Sequenced -> (1..numberOfElementsToAnimate).map { animateFloatAsState( targetValue = if (animationPlayed) 1f else 0f, animationSpec = if (animationPlayed) animation.animationSpec(it) else tween(durationMillis = 0), diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt index 023c609..5ca02bf 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/OverlayInformation.kt @@ -26,7 +26,7 @@ import androidx.compose.ui.unit.dp internal fun OverlayInformation( positionX: Float?, containerSize: Size, - surfaceColor: Color, + backgroundColor: Color, touchOffsetVertical: Dp, touchOffsetHorizontal: Dp, requiredOverlayWidth: Dp?, @@ -107,7 +107,7 @@ internal fun OverlayInformation( ) .alpha(overlayAlpha) .clip(RoundedCornerShape(10.dp)) - .background(surfaceColor) + .background(backgroundColor) .padding(8.dp) .then( if (requiredOverlayWidth != null) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt index 19d70c4..d85c6eb 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt @@ -22,10 +22,10 @@ import androidx.compose.ui.input.pointer.PointerEventPass import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.OverlayInformation import com.netguru.multiplatform.charts.getAnimationAlphas -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults import com.netguru.multiplatform.charts.grid.YAxisTitleData import com.netguru.multiplatform.charts.grid.LineParameters import com.netguru.multiplatform.charts.grid.YAxisLabels @@ -47,7 +47,7 @@ import com.netguru.multiplatform.charts.theme.ChartTheme * @param config The parameters for chart appearance customization * @param xAxisMarkerLayout Composable to mark the values on the x-axis. * @param yAxisMarkerLayout Composable to mark the values on the y-axis. - * @param animation In the case of [ChartAnimation.Sequenced] items with the same index in each + * @param animation In the case of [ChartDisplayAnimation.Sequenced] items with the same index in each * category will animate together * values */ @@ -57,11 +57,11 @@ fun BarChart( modifier: Modifier = Modifier, colors: BarChartColors = ChartTheme.colors.barChartColors, config: BarChartConfig = BarChartConfig(), - xAxisMarkerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, - yAxisMarkerLayout: @Composable (value: Any) -> Unit = GridDefaults.YAxisMarkerLayout, - yAxisLabelLayout: (@Composable () -> Unit)? = GridDefaults.YAxisDataTitleLayout, - animation: ChartAnimation = ChartAnimation.Simple(), - overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, + xAxisMarkerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, + yAxisMarkerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.YAxisMarkerLayout, + yAxisLabelLayout: (@Composable () -> Unit)? = ChartGridDefaults.YAxisDataTitleLayout, + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), + overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = ChartGridDefaults.TooltipDataEntryLabel, ) { val verticalLinesCount = remember(data) { data.maxX.toInt() + 1 } @@ -207,7 +207,7 @@ private fun BoxWithConstraintsScope.SelectedValueLabel( maxHeight.toPx() ) }, - surfaceColor = colors.overlaySurface, + backgroundColor = colors.overlaySurface, touchOffsetVertical = LocalDensity.current.run { position.y!!.toDp() }, touchOffsetHorizontal = 20.dp, content = { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt index 1aedf10..25403cb 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt @@ -2,7 +2,7 @@ package com.netguru.multiplatform.charts.bar import androidx.compose.runtime.Immutable import androidx.compose.ui.unit.Dp -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults /** * The customization parameters for [BarChart] @@ -18,6 +18,6 @@ data class BarChartConfig( val thickness: Dp = BarChartDefaults.BAR_THICKNESS, val cornerRadius: Dp = BarChartDefaults.BAR_CORNER_RADIUS, val barsSpacing: Dp = BarChartDefaults.BAR_HORIZONTAL_SPACING, - val maxHorizontalLinesCount: Int = GridDefaults.NUMBER_OF_GRID_LINES, - val roundMinMaxClosestTo: Float = GridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, + val maxHorizontalLinesCount: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, + val roundMinMaxClosestTo: Float = ChartGridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt index 42e1cc8..1d8317d 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt @@ -1,13 +1,12 @@ package com.netguru.multiplatform.charts.bar import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.ChartDisplayAnimation +import com.netguru.multiplatform.charts.grid.ChartGridDefaults import com.netguru.multiplatform.charts.line.ChartLegend import com.netguru.multiplatform.charts.theme.ChartTheme @@ -23,12 +22,12 @@ import com.netguru.multiplatform.charts.theme.ChartTheme fun BarChartWithLegend( data: BarChartData, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), colors: BarChartColors = ChartTheme.colors.barChartColors, config: BarChartConfig = BarChartConfig(), - xAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, - yAxisLabel: @Composable (value: Any) -> Unit = GridDefaults.YAxisMarkerLayout, - legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, + xAxisLabel: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, + yAxisLabel: @Composable (value: Any) -> Unit = ChartGridDefaults.YAxisMarkerLayout, + legendItemLabel: @Composable (name: String, unit: String?) -> Unit = ChartGridDefaults.LegendItemLabel, columnMinWidth: Dp = 200.dp, ) { Column(modifier) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt index 24280d7..cb2a1ec 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bubble/BubbleChart.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.bubble.BubbleDefaults.MINIMUM_BUBBLE_RADIUS import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange @@ -38,7 +38,7 @@ import kotlin.random.Random fun BubbleChart( bubbles: List, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), distanceBetweenCircles: Float = -10f, bubbleLabel: @Composable (Bubble) -> Unit = BubbleDefaults.BubbleLabel, ) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index bbab71e..3fe95a1 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.layout.layout import androidx.compose.ui.platform.LocalDensity -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.dial.scale.Scale import com.netguru.multiplatform.charts.dial.scale.ScalePositions import com.netguru.multiplatform.charts.dial.scale.drawScale @@ -39,9 +39,6 @@ import com.netguru.multiplatform.charts.theme.ChartTheme import kotlin.math.PI import kotlin.math.sin -/** - * Aspect ratio for dial is 2:1 (width:height). We want to draw only half of the circle - */ private const val CIRCLE_ANGLE = 360f internal const val MIN_ANGLE = -40f internal const val MAX_ANGLE = 220f @@ -60,7 +57,7 @@ internal fun getAspectRatio() = 1 / sin((MAX_ANGLE - MIN_ANGLE) / 4) * @param value Value to portray. * @param minValue Min value of the chart (will also be provided to [minAndMaxValueLabel]) * @param maxValue Max value of the chart (will also be provided to [minAndMaxValueLabel]) - * @param animation Animation to use. [ChartAnimation.Sequenced] throws an + * @param animation Animation to use. [ChartDisplayAnimation.Sequenced] throws an * [kotlin.UnsupportedOperationException], since there is only one value to display. * @param colors Colors to be used for the chart. [DialColors] * @param config The parameters for chart appearance customization. @@ -68,7 +65,7 @@ internal fun getAspectRatio() = 1 / sin((MAX_ANGLE - MIN_ANGLE) / 4) * left and right of the chart. * @param mainLabel Composable to show in the centre of the chart, showing the [value]. * - * @throws kotlin.UnsupportedOperationException when [ChartAnimation.Sequenced] is used + * @throws kotlin.UnsupportedOperationException when [ChartDisplayAnimation.Sequenced] is used */ @Composable fun Dial( @@ -76,7 +73,7 @@ fun Dial( minValue: Float, maxValue: Float, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), colors: DialColors = ChartTheme.colors.dialColors, config: DialConfig = DialConfig(), minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt index fd5b81d..c9afb65 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt @@ -2,7 +2,7 @@ package com.netguru.multiplatform.charts.dial import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.dial.scale.Scale import com.netguru.multiplatform.charts.theme.ChartTheme @@ -17,7 +17,7 @@ import com.netguru.multiplatform.charts.theme.ChartTheme fun PercentageDial( percentage: Float, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), colors: DialColors = ChartTheme.colors.dialColors, config: DialConfig = DialConfig(), minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt index 20c5d5e..b11be9f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/gasbottle/GasBottle.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.vector.VectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.theme.ChartColors @@ -31,17 +31,17 @@ import com.netguru.multiplatform.charts.theme.ChartTheme * [ChartColors.emptyGasBottle] based on the 'fullness' of the cylinder. * * @param percentage Value to portray - * @param animation Animation to use. [ChartAnimation.Sequenced] throws an + * @param animation Animation to use. [ChartDisplayAnimation.Sequenced] throws an * [kotlin.UnsupportedOperationException], since there is only one value to display. * @param colors Allows to specify full and empty bottle color * - * @throws kotlin.UnsupportedOperationException when [ChartAnimation.Sequenced] is used + * @throws kotlin.UnsupportedOperationException when [ChartDisplayAnimation.Sequenced] is used */ @Composable fun GasBottle( percentage: Float, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), colors: GasBottleColors = ChartTheme.colors.gasBottleColors, ) { val animationPercentage = getAnimationAlphas( diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt index 0c18d33..a83125b 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartAxis.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.layout.Layout import androidx.compose.ui.layout.layout import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.line.XAxisData +import com.netguru.multiplatform.charts.line.XAxisConfig import kotlin.math.roundToInt data class YAxisTitleData( @@ -108,7 +108,7 @@ internal fun Modifier.alignCenterToOffsetHorizontal( @Composable internal fun DrawXAxisMarkers( lineParams: List, - xAxisData: XAxisData, + xAxisConfig: XAxisConfig, modifier: Modifier = Modifier, ) { Box( @@ -118,7 +118,7 @@ internal fun DrawXAxisMarkers( modifier = Modifier, content = { lineParams.forEach { - xAxisData.markerLayout(it.value.toLong()) + xAxisConfig.markerLayout(it.value.toLong()) } }, ) { measurables, constraints -> @@ -133,7 +133,7 @@ internal fun DrawXAxisMarkers( val placeablesLeftToPlace = if (placeables.size > 1) { placeables.last().let { val xPos = - lineParams.last().position.roundToInt() - if (xAxisData.alignFirstAndLastToChartEdges) { + lineParams.last().position.roundToInt() - if (xAxisConfig.alignFirstAndLastToChartEdges) { it.width } else { it.width / 2 @@ -156,13 +156,13 @@ internal fun DrawXAxisMarkers( placeablesLeftToPlace.forEachIndexed { index, placeable -> val xPos = - lineParams[index].position.roundToInt() - if (index == 0 && xAxisData.alignFirstAndLastToChartEdges) { + lineParams[index].position.roundToInt() - if (index == 0 && xAxisConfig.alignFirstAndLastToChartEdges) { 0 } else { (placeable.width / 2) } val xPosEnd = xPos + placeable.width - if (!xAxisData.hideMarkersWhenOverlapping || (xPos > leftEdge && xPosEnd < rightEdge) || index == 0) { + if (!xAxisConfig.hideMarkersWhenOverlapping || (xPos > leftEdge && xPosEnd < rightEdge) || index == 0) { placeable.placeRelative( x = xPos, y = 0, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt similarity index 92% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt index 36ba688..9a3cfbf 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridDefaults.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt @@ -10,9 +10,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.netguru.multiplatform.charts.vertical -internal object GridDefaults { +internal object ChartGridDefaults { - val HORIZONTAL_LINES_OFFSET = 0.dp const val NUMBER_OF_GRID_LINES = 5 const val ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO = 10f const val ROUND_X_AXIS_MIN_MAX_CLOSEST_TO = 15 * 60 * 1000L // 15 minutes @@ -43,7 +42,7 @@ internal object GridDefaults { labelPosition = YAxisTitleData.LabelPosition.Left, ) - val OverlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = { value, dataUnit -> + val TooltipHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = { value, dataUnit -> Text( text = value.toString() + dataUnit?.let { " $it" }.orEmpty(), modifier = Modifier.fillMaxWidth(), @@ -52,7 +51,7 @@ internal object GridDefaults { ) } - val OverlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = + val TooltipDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = { dataName, dataNameShort, dataUnit, value -> Text( text = "$dataName${dataNameShort?.let { " ($it)" }.orEmpty()}: $value" + dataUnit?.let { " $it" } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt index 6bd85d1..d3c7fca 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt @@ -25,18 +25,18 @@ import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.bar.BarChartConfig import com.netguru.multiplatform.charts.getAnimationAlphas -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults @Composable fun ChartLegend( legendData: List, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), config: BarChartConfig = BarChartConfig(), - legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, + legendItemLabel: @Composable (name: String, unit: String?) -> Unit = ChartGridDefaults.LegendItemLabel, columnMinWidth: Dp = 200.dp, ) { val alpha = getAnimationAlphas( diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendConfig.kt similarity index 66% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendConfig.kt index 7d604dd..4f1b825 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendData.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LegendConfig.kt @@ -3,9 +3,9 @@ package com.netguru.multiplatform.charts.line import androidx.compose.runtime.Composable import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults -data class LegendData( +data class LegendConfig( val columnMinWidth: Dp = 200.dp, - val legendItemLabel: @Composable (name: String, unit: String?) -> Unit = GridDefaults.LegendItemLabel, + val legendItemLabel: @Composable (name: String, unit: String?) -> Unit = ChartGridDefaults.LegendItemLabel, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt index 3df2779..17d3f3c 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt @@ -10,165 +10,159 @@ import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.drawscope.Stroke -import androidx.compose.ui.unit.Dp import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange internal fun DrawScope.drawLineChart( lineChartData: LineChartData, - graphTopPadding: Dp, - graphBottomPadding: Dp, alpha: List, drawPoints: Boolean, selectedPointsForDrawing: List, xAxisScale: TimestampXAxisScale, + shouldInterpolateOverNullValues: Boolean, ) { // calculate path val path = Path() lineChartData.series.forEachIndexed { seriesIndex, unfilteredData -> -// val filteredLists: MutableList> = mutableListOf() todo put this under a boolean parameter -// var tempList: MutableList = mutableListOf() -// unfilteredData.listOfPoints.forEach { lineChartPoint -> -// if (lineChartPoint.y != null) { -// tempList.add(lineChartPoint) -// } else { -// if (tempList.isNotEmpty()) { -// filteredLists.add(tempList) -// tempList = mutableListOf() -// } -// } -// } -// if (tempList.isNotEmpty()) { -// filteredLists.add(tempList) -// tempList = mutableListOf() -// } + val filteredLists: MutableList> = mutableListOf() + if (shouldInterpolateOverNullValues) { + filteredLists.add(unfilteredData.listOfPoints.filter { it.y != null }) + } else { + var tempList: MutableList = mutableListOf() + unfilteredData.listOfPoints.forEach { lineChartPoint -> + if (lineChartPoint.y != null) { + tempList.add(lineChartPoint) + } else { + if (tempList.isNotEmpty()) { + filteredLists.add(tempList) + tempList = mutableListOf() + } + } + } + if (tempList.isNotEmpty()) { + filteredLists.add(tempList) + tempList = mutableListOf() + } + } -// val shouldSetZeroAsMinValue = filteredLists.size == 1 && filteredLists.first().filter { it.y != null }.distinctBy { it.y }.size == 1 val shouldSetZeroAsMinValue = unfilteredData.listOfPoints.filter { it.y != null }.distinctBy { it.y }.size == 1 -// filteredLists -// .map { unfilteredData.copy(listOfPoints = it) } -// .forEach { data -> - val data = unfilteredData.copy( - listOfPoints = unfilteredData.listOfPoints.filter { it.y != null } - ) - if (data.listOfPoints.isEmpty()) { - return@forEachIndexed - } - val mappedPoints = - mapDataToPixels( - xAxisScale = xAxisScale, - lineChartData = lineChartData, - currentSeries = data, - canvasSize = size, - graphTopPadding = graphTopPadding.toPx(), - graphBottomPadding = graphBottomPadding.toPx(), - shouldSetZeroAsMinValue = shouldSetZeroAsMinValue, - ) - val connectionPoints = calculateConnectionPointsForBezierCurve(mappedPoints) + filteredLists + .map { unfilteredData.copy(listOfPoints = it) } + .forEach { data -> + if (data.listOfPoints.isEmpty()) { + return@forEachIndexed + } + val mappedPoints = + mapDataToPixels( + xAxisScale = xAxisScale, + lineChartData = lineChartData, + currentSeries = data, + canvasSize = size, + shouldSetZeroAsMinValue = shouldSetZeroAsMinValue, + ) + val connectionPoints = calculateConnectionPointsForBezierCurve(mappedPoints) - path.reset() // reuse path - mappedPoints - .filter { it.y != null } - .forEachIndexed { index, value -> - if (index == 0) { - path.moveTo(value.x, value.y!!) - } else { - val point = connectionPoints[index - 1] - path.cubicTo( - x1 = point.first.x, - y1 = point.first.y!!, - x2 = point.second.x, - y2 = point.second.y!!, - x3 = value.x, - y3 = value.y!!, + path.reset() // reuse path + mappedPoints + .filter { it.y != null } + .forEachIndexed { index, value -> + if (index == 0) { + path.moveTo(value.x, value.y!!) + } else { + val point = connectionPoints[index - 1] + path.cubicTo( + x1 = point.first.x, + y1 = point.first.y!!, + x2 = point.second.x, + y2 = point.second.y!!, + x3 = value.x, + y3 = value.y!!, + ) + } + } + + if (mappedPoints.size == 1 || drawPoints) { + val pointSize = data.lineWidth.toPx().times(if (drawPoints) 3f else 2f) + val widthThePointsTake = mappedPoints.maxOf { it.x } - mappedPoints.minOf { it.x } + val isEnoughSpace = + (mappedPoints.size - 2 /* this 2 is a magic number, it just works better with it */) * pointSize * 1.5 < widthThePointsTake + if (isEnoughSpace) { + drawPoints( + points = mappedPoints.filter { it.y != null }.map { Offset(it.x, it.y!!) }, + pointMode = PointMode.Points, + color = data.lineColor, + alpha = alpha[seriesIndex], + strokeWidth = pointSize, + cap = StrokeCap.Round, + ) + } + } + + if (mappedPoints.size > 1) { + // draw line + drawPath( + path = path, + color = data.lineColor.copy(alpha[seriesIndex]), + style = Stroke( + width = data.lineWidth.toPx(), + pathEffect = data.pathEffect, + ), ) } - } - if (mappedPoints.size == 1 || drawPoints) { - val pointSize = data.lineWidth.toPx().times(if (drawPoints) 3f else 2f) - val widthThePointsTake = mappedPoints.maxOf { it.x } - mappedPoints.minOf { it.x } - val isEnoughSpace = - (mappedPoints.size - 2 /* this 2 is a magic number, it just works better with it */) * pointSize * 1.5 < widthThePointsTake - if (isEnoughSpace) { - drawPoints( - points = mappedPoints.filter { it.y != null }.map { Offset(it.x, it.y!!) }, - pointMode = PointMode.Points, - color = data.lineColor, - alpha = alpha[seriesIndex], - strokeWidth = pointSize, - cap = StrokeCap.Round, + // close shape and fill + path.lineTo(mappedPoints.last().x, size.height) + path.lineTo(mappedPoints.first().x, size.height) + drawPath( + path = path, + brush = Brush.verticalGradient( + listOf( + Color.Transparent, + data.fillColor.copy(alpha[seriesIndex] / 12), + data.fillColor.copy(alpha[seriesIndex] / 6) + ), + startY = path.getBounds().bottom, + endY = path.getBounds().top, + ), + style = Fill, ) - } - } - - if (mappedPoints.size > 1) { - // draw line - drawPath( - path = path, - color = data.lineColor.copy(alpha[seriesIndex]), - style = Stroke( - width = data.lineWidth.toPx(), - pathEffect = data.pathEffect, - ), - ) - } - - // close shape and fill - path.lineTo(mappedPoints.last().x, size.height) - path.lineTo(mappedPoints.first().x, size.height) - drawPath( - path = path, - brush = Brush.verticalGradient( - listOf( - Color.Transparent, - data.fillColor.copy(alpha[seriesIndex] / 12), - data.fillColor.copy(alpha[seriesIndex] / 6) - ), - startY = path.getBounds().bottom, - endY = path.getBounds().top, - ), - style = Fill, - ) - if (selectedPointsForDrawing.isNotEmpty()) { - val offsets = selectedPointsForDrawing - .map { seriesAndClosestPoint -> - val x = seriesAndClosestPoint.closestPoint.x.mapValueToDifferentRange( - xAxisScale.start, - xAxisScale.end, - 0L, - size.width.toLong() - ).toFloat() - val y = seriesAndClosestPoint.closestPoint.y?.mapValueToDifferentRange( - if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, - lineChartData.maxY, - size.height - graphBottomPadding.toPx(), - graphTopPadding.toPx(), + if (selectedPointsForDrawing.isNotEmpty()) { + val offsets = selectedPointsForDrawing + .map { seriesAndClosestPoint -> + val x = seriesAndClosestPoint.closestPoint.x.mapValueToDifferentRange( + xAxisScale.start, + xAxisScale.end, + 0L, + size.width.toLong() + ).toFloat() + val y = seriesAndClosestPoint.closestPoint.y?.mapValueToDifferentRange( + if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, + lineChartData.maxY, + size.height, + 0f, + ) + Offset(x, y!!) + } + drawPoints( + points = offsets, + pointMode = PointMode.Points, + color = data.lineColor, + alpha = alpha[seriesIndex], + strokeWidth = data.lineWidth.toPx().times(5f), + cap = StrokeCap.Round, ) - Offset(x, y!!) } - drawPoints( - points = offsets, - pointMode = PointMode.Points, - color = data.lineColor, - alpha = alpha[seriesIndex], - strokeWidth = data.lineWidth.toPx().times(5f), - cap = StrokeCap.Round, - ) - } + } } -// } } private fun mapDataToPixels( lineChartData: LineChartData, currentSeries: LineChartSeries, canvasSize: Size, - graphTopPadding: Float = 0f, - graphBottomPadding: Float, shouldSetZeroAsMinValue: Boolean, xAxisScale: TimestampXAxisScale, ): List { @@ -182,8 +176,8 @@ private fun mapDataToPixels( val y = it.y?.mapValueToDifferentRange( inMin = if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, inMax = lineChartData.maxY, - outMin = canvasSize.height /*- graphBottomPadding*/, - outMax = 0f/*graphTopPadding*/, + outMin = canvasSize.height, + outMax = 0f, ) PointF(x, y) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt index 2bf732f..5892d64 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt @@ -1,5 +1,6 @@ package com.netguru.multiplatform.charts.line +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column @@ -16,6 +17,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.pointer.PointerEvent import androidx.compose.ui.input.pointer.PointerEventPass import androidx.compose.ui.input.pointer.PointerEventType @@ -25,10 +27,10 @@ import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.grid.DrawXAxisMarkers -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults import com.netguru.multiplatform.charts.grid.LineParameters import com.netguru.multiplatform.charts.grid.YAxisLabels import com.netguru.multiplatform.charts.grid.YAxisTitleData @@ -36,71 +38,67 @@ import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.grid.drawChartGrid import com.netguru.multiplatform.charts.grid.measureChartGrid -import com.netguru.multiplatform.charts.theme.ChartColors import com.netguru.multiplatform.charts.theme.ChartTheme /** - * Classic line chart with some shade below the line in the same color (albeit with a lot of - * transparency) as the line and floating balloon on touch/click to show values for that particular - * x-axis value. + * Classic line chart with some shade below the line in the same color as the line (albeit with a lot of transparency) + * and tooltip on touch/click to show values for that particular x-axis value. * - * Color, shape and whether the line is dashed for each of the lines is specified in the - * [LegendItemData] class. + * Color, shape and whether the line is dashed for each of the lines is specified in the [LegendItemData] instance + * inside [LineChartData]. * - * @param lineChartData Data to portray - * @param colors Colors used are [ChartColors.grid], [ChartColors.surface] and - * [ChartColors.overlayLine]. - * @param xAxisMarkerLayout Composable to mark the values on the x-axis. - * @param yAxisMarkerLayout Composable to mark the values on the y-axis. - * @param overlayHeaderLabel Composable to show the current x-axis value on the overlay balloon - * @param overlayDataEntryLabel Composable to show the value of each line in the overlay balloon - * for that specific x-axis value - * @param animation Animation to use - * @param maxVerticalLines Max number of lines, representing the x-axis values - * @param maxHorizontalLines Max number of lines, representing the y-axis values - * @param roundMinMaxClosestTo Number to which min and max range will be rounded to + * @param data Data to display + * @param modifier Compose modifier + * @param yAxisConfig Configuration for the Y axis + * @param xAxisConfig Configuration for the X axis. If null, X axis is not displayed + * @param legendConfig Config for the legend. If null, legend is not displayed + * @param colors Colors used for grid, background, tooltip line color and tooltip background color + * @param tooltipConfig Configuration for the tooltip. If null, tooltip is not shown + * @param displayAnimation Animation to use to show the lines + * @param shouldDrawValueDots Whether there should be a dot on the chart line for each non-null Y value + * @param shouldInterpolateOverNullValues Whether chart line should be interpolated between two non-null Y values if + * there is at least one null Y value between them. Setting to false interrupts the line and starts drawing at the next + * non-null value */ @Composable fun LineChart( - yAxisData: YAxisData, + data: LineChartData, modifier: Modifier = Modifier, - colors: LineChartColors = ChartTheme.colors.lineChartColors, - overlayData: OverlayData? = OverlayData(), - xAxisData: XAxisData? = XAxisData(), - animation: ChartAnimation = ChartAnimation.Simple(), - maxVerticalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - maxHorizontalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - drawPoints: Boolean = false, - legendData: LegendData? = LegendData(), + yAxisConfig: YAxisConfig = YAxisConfig(), + xAxisConfig: XAxisConfig? = XAxisConfig(), + legendConfig: LegendConfig? = LegendConfig(), + colors: LineChartColors = LineChartDefaults.lineChartColors(), + tooltipConfig: TooltipConfig? = TooltipConfig(), + displayAnimation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), + shouldDrawValueDots: Boolean = false, + shouldInterpolateOverNullValues: Boolean = true, ) { var touchPositionX by remember { mutableStateOf(-1f) } var verticalGridLines by remember { mutableStateOf(emptyList()) } var horizontalGridLines by remember { mutableStateOf(emptyList()) } - val horizontalLinesOffset: Dp = GridDefaults.HORIZONTAL_LINES_OFFSET - val alpha = getAnimationAlphas(animation, yAxisData.lineChartData.series.size, yAxisData.lineChartData) + val alpha = getAnimationAlphas(displayAnimation, data.series.size, data) Column( modifier = modifier ) { - if (yAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top) { - yAxisData.yAxisTitleData.labelLayout() + if (yAxisConfig.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top) { + yAxisConfig.yAxisTitleData.labelLayout() } Row(modifier = Modifier.weight(1f)) { - if (yAxisData.markerLayout != null) { + if (yAxisConfig.markerLayout != null) { YAxisLabels( horizontalGridLines = horizontalGridLines, - yAxisMarkerLayout = yAxisData.markerLayout, - yAxisTitleData = yAxisData.yAxisTitleData, + yAxisMarkerLayout = yAxisConfig.markerLayout, + yAxisTitleData = yAxisConfig.yAxisTitleData, modifier = Modifier .padding(end = 8.dp) ) } - val numberOfXAxisEntries by remember(yAxisData.lineChartData) { + val numberOfXAxisEntries by remember(data) { derivedStateOf { - yAxisData - .lineChartData + data .series .map { it.listOfPoints @@ -117,25 +115,30 @@ fun LineChart( mutableStateOf(emptyList()) } val xAxisScale = TimestampXAxisScale( - min = yAxisData.lineChartData.minX, - max = yAxisData.lineChartData.maxX, - maxTicksCount = (minOf( - maxVerticalLines, numberOfXAxisEntries - ) - 1).coerceAtLeast(1), - roundClosestTo = xAxisData?.roundMinMaxClosestTo, + min = data.minX, + max = data.maxX, + maxTicksCount = ( + minOf( + xAxisConfig?.maxVerticalLines ?: ChartGridDefaults.NUMBER_OF_GRID_LINES, + numberOfXAxisEntries + ) - 1 + ) + .coerceAtLeast(1), + roundClosestTo = xAxisConfig?.roundMinMaxClosestTo ?: ChartGridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, ) BoxWithConstraints( modifier = Modifier + .background(colors.surface) .fillMaxWidth() .weight(1f) .drawBehind { val lines = measureChartGrid( xAxisScale = xAxisScale, yAxisScale = YAxisScaleDynamic( - min = yAxisData.lineChartData.minY, - max = yAxisData.lineChartData.maxY, - maxTickCount = maxHorizontalLines - 1, - roundClosestTo = yAxisData.roundMinMaxClosestTo, + min = data.minY, + max = data.maxY, + maxTickCount = yAxisConfig.maxHorizontalLines - 1, + roundClosestTo = yAxisConfig.roundMinMaxClosestTo, ), ) verticalGridLines = lines.verticalLines @@ -147,16 +150,15 @@ fun LineChart( drawLineChart( xAxisScale = xAxisScale, - lineChartData = yAxisData.lineChartData, - graphTopPadding = horizontalLinesOffset, - graphBottomPadding = horizontalLinesOffset, + lineChartData = data, alpha = alpha, - drawPoints = drawPoints, + drawPoints = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw, + shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) } .then( - if (overlayData != null) { + if (tooltipConfig != null) { // Touch input Modifier .pointerInput(Unit) { @@ -201,10 +203,9 @@ fun LineChart( } ), content = { - // Overlay - if (overlayData != null) { - LineChartOverlayInformation( - lineChartData = listOf(yAxisData.lineChartData), + if (tooltipConfig != null) { + LineChartTooltip( + lineChartData = listOf(data), positionX = touchPositionX, containerSize = with(LocalDensity.current) { Size( @@ -216,18 +217,18 @@ fun LineChart( drawPoints = { pointsToDraw = it }, - overlayData = overlayData, + tooltipConfig = tooltipConfig, xAxisScale = xAxisScale, ) } } ) - if (xAxisData != null) { + if (xAxisConfig != null) { Box(Modifier.fillMaxWidth()) { DrawXAxisMarkers( lineParams = verticalGridLines, - xAxisData = xAxisData, + xAxisConfig = xAxisConfig, modifier = Modifier .fillMaxWidth() ) @@ -236,19 +237,20 @@ fun LineChart( } } - if (legendData != null) { + if (legendConfig != null) { ChartLegend( - legendData = yAxisData.lineChartData.legendData, - animation = animation, - legendItemLabel = legendData.legendItemLabel, - columnMinWidth = legendData.columnMinWidth, + legendData = data.legendData, + animation = displayAnimation, + legendItemLabel = legendConfig.legendItemLabel, + columnMinWidth = legendConfig.columnMinWidth, ) } } } private fun shouldIgnoreTouchInput(event: PointerEvent): Boolean { - if (event.changes.isEmpty() || + if ( + event.changes.isEmpty() || (event.type != PointerEventType.Move && event.type != PointerEventType.Press) ) { return true @@ -256,3 +258,18 @@ private fun shouldIgnoreTouchInput(event: PointerEvent): Boolean { return false } + +object LineChartDefaults { + @Composable + fun lineChartColors( + backgroundColor: Color = ChartTheme.colors.surface, + gridColor: Color = ChartTheme.colors.grid, + overlayLineColor: Color = ChartTheme.colors.overlayLine, + overlayBackgroundColor: Color = ChartTheme.colors.surface, + ): LineChartColors = LineChartColors( + surface = backgroundColor, + grid = gridColor, + overlayLine = overlayLineColor, + overlaySurface = overlayBackgroundColor, + ) +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt index a4277e0..aae98da 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartColors.kt @@ -1,20 +1,10 @@ package com.netguru.multiplatform.charts.line -import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color -import com.netguru.multiplatform.charts.theme.ChartColors -@Immutable data class LineChartColors( val grid: Color, val surface: Color, val overlayLine: Color, val overlaySurface: Color = surface, ) - -val ChartColors.lineChartColors - get() = LineChartColors( - grid = grid, - surface = surface, - overlayLine = overlayLine, - ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt index b0fa977..03b706f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartOverlayInformation.kt @@ -32,50 +32,50 @@ import com.netguru.multiplatform.charts.mapValueToDifferentRange import kotlin.math.abs @Composable -internal fun LineChartOverlayInformation( +internal fun LineChartTooltip( lineChartData: List, positionX: Float, containerSize: Size, colors: LineChartColors, drawPoints: (points: List) -> Unit, - overlayData: OverlayData, + tooltipConfig: TooltipConfig, xAxisScale: XAxisScale, ) { - if (overlayData.showInterpolatedValues) { + if (tooltipConfig.showInterpolatedValues) { LineChartOverlayInformationWithInterpolatedValues( lineChartData = lineChartData, positionX = positionX, containerSize = containerSize, colors = colors, - overlayHeaderLayout = overlayData.overlayHeaderLabel, - overlayDataEntryLayout = overlayData.overlayDataEntryLabel, - touchOffsetHorizontal = overlayData.touchOffsetHorizontal, - touchOffsetVertical = overlayData.touchOffsetVertical, - overlayWidth = overlayData.overlayWidth, - overlayAlpha = overlayData.overlayAlpha, + overlayHeaderLayout = tooltipConfig.headerLabel, + overlayDataEntryLayout = tooltipConfig.dataEntryLabel, + touchOffsetHorizontal = tooltipConfig.touchOffsetHorizontal, + touchOffsetVertical = tooltipConfig.touchOffsetVertical, + overlayWidth = tooltipConfig.width, + overlayAlpha = tooltipConfig.alpha, xAxisScale = xAxisScale, ) } else { - LineChartOverlayInformation( + LineChartTooltip( lineChartData = lineChartData, positionX = positionX, containerSize = containerSize, colors = colors, - overlayHeaderLayout = overlayData.overlayHeaderLabel, - overlayDataEntryLayout = overlayData.overlayDataEntryLabel, + overlayHeaderLayout = tooltipConfig.headerLabel, + overlayDataEntryLayout = tooltipConfig.dataEntryLabel, drawPoints = drawPoints, - highlightPointsCloserThan = overlayData.highlightPointsCloserThan, - touchOffsetHorizontal = overlayData.touchOffsetHorizontal, - touchOffsetVertical = overlayData.touchOffsetVertical, - overlayWidth = overlayData.overlayWidth, - overlayAlpha = overlayData.overlayAlpha, + highlightPointsCloserThan = tooltipConfig.highlightPointsCloserThan, + touchOffsetHorizontal = tooltipConfig.touchOffsetHorizontal, + touchOffsetVertical = tooltipConfig.touchOffsetVertical, + overlayWidth = tooltipConfig.width, + overlayAlpha = tooltipConfig.alpha, xAxisScale = xAxisScale, ) } } @Composable -private fun LineChartOverlayInformation( +private fun LineChartTooltip( lineChartData: List, xAxisScale: XAxisScale, positionX: Float, @@ -147,7 +147,7 @@ private fun LineChartOverlayInformation( OverlayInformation( positionX = linePositionX, containerSize = containerSize, - surfaceColor = colors.overlaySurface, + backgroundColor = colors.overlaySurface, pointsToAvoid = pointsToAvoid, touchOffsetHorizontal = touchOffsetHorizontal, touchOffsetVertical = touchOffsetVertical, @@ -256,7 +256,7 @@ private fun LineChartOverlayInformationWithInterpolatedValues( OverlayInformation( positionX = positionX, containerSize = containerSize, - surfaceColor = colors.overlaySurface, + backgroundColor = colors.overlaySurface, touchOffsetHorizontal = touchOffsetHorizontal, touchOffsetVertical = touchOffsetVertical, requiredOverlayWidth = overlayWidth, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt index 9d7bf0f..8b69389 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt @@ -1,7 +1,20 @@ package com.netguru.multiplatform.charts.line -import androidx.compose.foundation.layout.* -import androidx.compose.runtime.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxWithConstraints +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind @@ -11,114 +24,115 @@ import androidx.compose.ui.input.pointer.PointerEventPass import androidx.compose.ui.input.pointer.PointerEventType import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas -import com.netguru.multiplatform.charts.grid.* +import com.netguru.multiplatform.charts.grid.ChartGridDefaults +import com.netguru.multiplatform.charts.grid.DrawXAxisMarkers +import com.netguru.multiplatform.charts.grid.LineParameters +import com.netguru.multiplatform.charts.grid.YAxisLabels +import com.netguru.multiplatform.charts.grid.YAxisTitleData import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleStatic -import com.netguru.multiplatform.charts.theme.ChartColors -import com.netguru.multiplatform.charts.theme.ChartTheme +import com.netguru.multiplatform.charts.grid.drawChartGrid +import com.netguru.multiplatform.charts.grid.measureChartGrid /** - * Classic line chart with some shade below the line in the same color (albeit with a lot of - * transparency) as the line and floating balloon on touch/click to show values for that particular - * x-axis value. + * Classic line chart with some shade below the line in the same color as the line (albeit with a lot of transparency) + * and tooltip on touch/click to show values for that particular x-axis value but with the option to show two different + * Y-axis scales (one on each side of the chart). * - * Color, shape and whether the line is dashed for each of the lines is specified in the - * [LegendItemData] class. + * Color, shape and whether the line is dashed for each of the lines is specified in the [LegendItemData] instance + * inside each [LineChartData]. * - * If the [lineChartDataRightAxis] param is null, ordinary [LineChart] is used with the data and - * settings for the left Y-axis. - * - * @param lineChartDataLeftAxis Data to portray on the left Y axis - * @param lineChartDataRightAxis Data to portray on the right Y axis - * @param colors Colors used are [ChartColors.grid], [ChartColors.surface] and - * [ChartColors.overlayLine]. - * @param xAxisLabel Composable to mark the values on the x-axis. - * @param leftYAxisMarkerLayout Composable to mark the values on the left y-axis. - * @param rightYAxisMarkerLayout Composable to mark the values on the right y-axis. - * @param overlayHeaderLabel Composable to show the current x-axis value on the overlay balloon - * @param overlayDataEntryLabel Composable to show the value of each line in the overlay balloon - * for that specific x-axis value - * @param animation Animation to use - * @param maxVerticalLines Max number of lines, representing the x-axis values - * @param maxHorizontalLines Max number of lines, representing the y-axis values - * @param roundLeftMinMaxClosestTo Number to which min and max range on the left will be rounded to - * @param roundRightMinMaxClosestTo Number to which min and max range on the right will be rounded to + * @param leftYAxisData Data to display with scale on the left side + * @param rightYAxisData Data to display with scale on the right side. If null, classic [LineChart] is used. + * @param modifier Compose modifier + * @param leftYAxisConfig Configuration for the left Y axis + * @param rightYAxisConfig Configuration for the right Y axis + * @param xAxisConfig Configuration for the X axis. If null, X axis is not displayed + * @param legendConfig Config for the legend. If null, legend is not displayed + * @param colors Colors used for grid, background, tooltip line color and tooltip background color + * @param tooltipConfig Configuration for the tooltip. If null, tooltip is not shown + * @param displayAnimation Animation to use to show the lines + * @param shouldDrawValueDots Whether there should be a dot on the chart line for each non-null Y value + * @param shouldInterpolateOverNullValues Whether chart line should be interpolated between two non-null Y values if + * there is at least one null Y value between them. Setting to false interrupts the line and starts drawing at the next + * non-null value */ @Composable fun LineChartWithTwoYAxisSets( - leftYAxisData: YAxisData, - rightYAxisData: YAxisData?, + leftYAxisData: LineChartData, + rightYAxisData: LineChartData?, modifier: Modifier = Modifier, - colors: LineChartColors = ChartTheme.colors.lineChartColors, - overlayData: OverlayData? = OverlayData(), - xAxisData: XAxisData? = XAxisData(), - animation: ChartAnimation = ChartAnimation.Simple(), - maxVerticalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - maxHorizontalLines: Int = GridDefaults.NUMBER_OF_GRID_LINES, - drawPoints: Boolean = false, - legendData: LegendData? = LegendData() + leftYAxisConfig: YAxisConfig = YAxisConfig(), + rightYAxisConfig: YAxisConfig = YAxisConfig(), + xAxisConfig: XAxisConfig? = XAxisConfig(), + legendConfig: LegendConfig? = LegendConfig(), + colors: LineChartColors = LineChartDefaults.lineChartColors(), + tooltipConfig: TooltipConfig? = TooltipConfig(), + displayAnimation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), + shouldDrawValueDots: Boolean = false, + shouldInterpolateOverNullValues: Boolean = true, ) { if (rightYAxisData != null) { LineChartWithTwoYAxisSetsLayout( leftYAxisData = leftYAxisData, rightYAxisData = rightYAxisData, modifier = modifier, + leftYAxisConfig = leftYAxisConfig, + rightYAxisConfig = rightYAxisConfig, + xAxisConfig = xAxisConfig, + legendConfig = legendConfig, colors = colors, - xAxisData = xAxisData, - overlayData = overlayData, - animation = animation, - maxVerticalLines = maxVerticalLines, - maxHorizontalLines = maxHorizontalLines, - drawPoints = drawPoints, - legendData = legendData, + tooltipConfig = tooltipConfig, + displayAnimation = displayAnimation, + shouldDrawValueDots = shouldDrawValueDots, + shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) } else { LineChart( - yAxisData = leftYAxisData, + data = leftYAxisData, modifier = modifier, + yAxisConfig = leftYAxisConfig, + xAxisConfig = xAxisConfig, + legendConfig = legendConfig, colors = colors, - xAxisData = xAxisData, - overlayData = overlayData, - animation = animation, - maxVerticalLines = maxVerticalLines, - maxHorizontalLines = maxHorizontalLines, - drawPoints = drawPoints, - legendData = legendData, + tooltipConfig = tooltipConfig, + displayAnimation = displayAnimation, + shouldDrawValueDots = shouldDrawValueDots, + shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) } } @Composable private fun LineChartWithTwoYAxisSetsLayout( - leftYAxisData: YAxisData, - rightYAxisData: YAxisData, + leftYAxisData: LineChartData, + rightYAxisData: LineChartData, modifier: Modifier, + leftYAxisConfig: YAxisConfig, + rightYAxisConfig: YAxisConfig, + xAxisConfig: XAxisConfig?, + legendConfig: LegendConfig?, colors: LineChartColors, - xAxisData: XAxisData?, - overlayData: OverlayData?, - animation: ChartAnimation, - maxVerticalLines: Int, - maxHorizontalLines: Int, - drawPoints: Boolean, - legendData: LegendData?, + tooltipConfig: TooltipConfig?, + displayAnimation: ChartDisplayAnimation, + shouldDrawValueDots: Boolean, + shouldInterpolateOverNullValues: Boolean, ) { var touchPositionX by remember { mutableStateOf(-1f) } var verticalGridLines by remember { mutableStateOf(emptyList()) } var leftYAxisMarks by remember { mutableStateOf(emptyList()) } var rightYAxisMarks by remember { mutableStateOf(emptyList()) } - val horizontalLinesOffset: Dp = GridDefaults.HORIZONTAL_LINES_OFFSET val alphas = getAnimationAlphas( - animation = animation, - numberOfElementsToAnimate = leftYAxisData.lineChartData.series.size + rightYAxisData.lineChartData.series.size, + animation = displayAnimation, + numberOfElementsToAnimate = leftYAxisData.series.size + rightYAxisData.series.size, uniqueDatasetKey = LineChartData( - series = leftYAxisData.lineChartData.series + rightYAxisData.lineChartData.series, + series = leftYAxisData.series + rightYAxisData.series, dataUnit = null, ), ) @@ -133,8 +147,8 @@ private fun LineChartWithTwoYAxisSetsLayout( Column( modifier = modifier, ) { - if (leftYAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top || - rightYAxisData.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top + if (leftYAxisConfig.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top || + rightYAxisConfig.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top ) { Row( horizontalArrangement = Arrangement.SpaceBetween, @@ -142,26 +156,26 @@ private fun LineChartWithTwoYAxisSetsLayout( modifier = Modifier .fillMaxWidth() ) { - leftYAxisData.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) - rightYAxisData.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) + leftYAxisConfig.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) + rightYAxisConfig.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) } } Row(modifier = Modifier.weight(1f)) { - if (leftYAxisData.markerLayout != null) { + if (leftYAxisConfig.markerLayout != null) { YAxisLabels( horizontalGridLines = leftYAxisMarks, - yAxisMarkerLayout = leftYAxisData.markerLayout, - yAxisTitleData = leftYAxisData.yAxisTitleData, + yAxisMarkerLayout = leftYAxisConfig.markerLayout, + yAxisTitleData = leftYAxisConfig.yAxisTitleData, modifier = Modifier .padding(end = 8.dp) ) } - val numberOfXAxisEntries by remember(leftYAxisData.lineChartData, rightYAxisData.lineChartData) { + val numberOfXAxisEntries by remember(leftYAxisData, rightYAxisData) { derivedStateOf { - (leftYAxisData.lineChartData.series + - rightYAxisData.lineChartData.series - ) + (leftYAxisData.series + + rightYAxisData.series + ) .map { it.listOfPoints } @@ -177,12 +191,16 @@ private fun LineChartWithTwoYAxisSetsLayout( mutableStateOf(emptyList()) } val xAxisScale = TimestampXAxisScale( - min = minOf(leftYAxisData.lineChartData.minX, rightYAxisData.lineChartData.minX), - max = maxOf(leftYAxisData.lineChartData.maxX, rightYAxisData.lineChartData.maxX), - maxTicksCount = (minOf( - maxVerticalLines, numberOfXAxisEntries - ) - 1).coerceAtLeast(1), - roundClosestTo = xAxisData?.roundMinMaxClosestTo + min = minOf(leftYAxisData.minX, rightYAxisData.minX), + max = maxOf(leftYAxisData.maxX, rightYAxisData.maxX), + maxTicksCount = ( + minOf( + xAxisConfig?.maxVerticalLines ?: ChartGridDefaults.NUMBER_OF_GRID_LINES, + numberOfXAxisEntries + ) - 1 + ) + .coerceAtLeast(1), + roundClosestTo = xAxisConfig?.roundMinMaxClosestTo ) BoxWithConstraints( Modifier @@ -193,8 +211,8 @@ private fun LineChartWithTwoYAxisSetsLayout( xAxisScale = xAxisScale, yAxisScale = YAxisScaleStatic( min = 0f, - max = maxHorizontalLines.toFloat(), - maxTickCount = maxHorizontalLines - 1, + max = leftYAxisConfig.maxHorizontalLines.toFloat(), + maxTickCount = leftYAxisConfig.maxHorizontalLines - 1, roundClosestTo = 1f, ), ).also { @@ -205,13 +223,13 @@ private fun LineChartWithTwoYAxisSetsLayout( xAxisScale = TimestampXAxisScale( min = 0, max = 0, - roundClosestTo = xAxisData?.roundMinMaxClosestTo, + roundClosestTo = xAxisConfig?.roundMinMaxClosestTo, ), yAxisScale = YAxisScaleDynamic( - min = leftYAxisData.lineChartData.minY, - max = leftYAxisData.lineChartData.maxY, - maxTickCount = maxHorizontalLines - 1, - roundClosestTo = leftYAxisData.roundMinMaxClosestTo, + min = leftYAxisData.minY, + max = leftYAxisData.maxY, + maxTickCount = leftYAxisConfig.maxHorizontalLines - 1, + roundClosestTo = leftYAxisConfig.roundMinMaxClosestTo, ) ) .horizontalLines @@ -228,13 +246,13 @@ private fun LineChartWithTwoYAxisSetsLayout( xAxisScale = TimestampXAxisScale( min = 0, max = 0, - roundClosestTo = xAxisData?.roundMinMaxClosestTo, + roundClosestTo = xAxisConfig?.roundMinMaxClosestTo, ), yAxisScale = YAxisScaleDynamic( - min = rightYAxisData.lineChartData.minY, - max = rightYAxisData.lineChartData.maxY, - maxTickCount = maxHorizontalLines - 1, - roundClosestTo = rightYAxisData.roundMinMaxClosestTo, + min = rightYAxisData.minY, + max = rightYAxisData.maxY, + maxTickCount = rightYAxisConfig.maxHorizontalLines - 1, + roundClosestTo = rightYAxisConfig.roundMinMaxClosestTo, ) ) .horizontalLines @@ -254,34 +272,32 @@ private fun LineChartWithTwoYAxisSetsLayout( // we have to join those points so that the x-values align properly. Otherwise, in case when // datasets would not start and end at the same x value, they would still be drawn from the // same start and end point, making (at least) one of them drawn incorrectly - lineChartData = leftYAxisData.lineChartData.addNoYValuePointsFrom(rightYAxisData.lineChartData), - graphTopPadding = horizontalLinesOffset, - graphBottomPadding = horizontalLinesOffset, + lineChartData = leftYAxisData.addNoYValuePointsFrom(rightYAxisData), alpha = alphas, - drawPoints = drawPoints, + drawPoints = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw.filter { - leftYAxisData.lineChartData.series.contains( + leftYAxisData.series.contains( it.lineChartSeries ) }, xAxisScale = xAxisScale, + shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) drawLineChart( // we have to join those points so that the x-values align properly. Otherwise, in case when // datasets would not start and end at the same x value, they would still be drawn from the // same start and end point, making (at least) one of them drawn incorrectly - lineChartData = rightYAxisData.lineChartData.addNoYValuePointsFrom(leftYAxisData.lineChartData), - graphTopPadding = horizontalLinesOffset, - graphBottomPadding = horizontalLinesOffset, + lineChartData = rightYAxisData.addNoYValuePointsFrom(leftYAxisData), alpha = alphas, - drawPoints = drawPoints, + drawPoints = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw.filter { - rightYAxisData.lineChartData.series.contains( + rightYAxisData.series.contains( it.lineChartSeries ) }, xAxisScale = xAxisScale, + shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) } // Touch input @@ -310,9 +326,9 @@ private fun LineChartWithTwoYAxisSetsLayout( }, content = { // Overlay - if (overlayData != null) { - LineChartOverlayInformation( - lineChartData = listOf(leftYAxisData.lineChartData, rightYAxisData.lineChartData), + if (tooltipConfig != null) { + LineChartTooltip( + lineChartData = listOf(leftYAxisData, rightYAxisData), positionX = touchPositionX, containerSize = with(LocalDensity.current) { Size( @@ -324,18 +340,18 @@ private fun LineChartWithTwoYAxisSetsLayout( drawPoints = { pointsToDraw = it }, - overlayData = overlayData, + tooltipConfig = tooltipConfig, xAxisScale = xAxisScale, ) } } ) - if (xAxisData != null) { + if (xAxisConfig != null) { Box(Modifier.fillMaxWidth()) { DrawXAxisMarkers( lineParams = verticalGridLines, - xAxisData = xAxisData, + xAxisConfig = xAxisConfig, modifier = Modifier .fillMaxWidth() ) @@ -343,23 +359,23 @@ private fun LineChartWithTwoYAxisSetsLayout( } } - if (rightYAxisData.markerLayout != null) { + if (rightYAxisConfig.markerLayout != null) { YAxisLabels( horizontalGridLines = rightYAxisMarks, - yAxisMarkerLayout = rightYAxisData.markerLayout, - yAxisTitleData = rightYAxisData.yAxisTitleData, + yAxisMarkerLayout = rightYAxisConfig.markerLayout, + yAxisTitleData = rightYAxisConfig.yAxisTitleData, modifier = Modifier .padding(start = 8.dp) ) } } - if (legendData != null) { + if (legendConfig != null) { ChartLegend( - legendData = leftYAxisData.lineChartData.legendData + rightYAxisData.lineChartData.legendData, - animation = animation, - legendItemLabel = legendData.legendItemLabel, - columnMinWidth = legendData.columnMinWidth, + legendData = leftYAxisData.legendData + rightYAxisData.legendData, + animation = displayAnimation, + legendItemLabel = legendConfig.legendItemLabel, + columnMinWidth = legendConfig.columnMinWidth, ) } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt deleted file mode 100644 index 05690b9..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/OverlayData.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.netguru.multiplatform.charts.line - -import androidx.compose.runtime.Composable -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.grid.GridDefaults - -data class OverlayData( - val overlayHeaderLabel: @Composable (value: Any, dataUnit: String?) -> Unit = GridDefaults.OverlayHeaderLabel, - val overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = GridDefaults.OverlayDataEntryLabel, - val showEnlargedPointOnLine: Boolean = false, - val showInterpolatedValues: Boolean = true, - val highlightPointsCloserThan: Dp = 30.dp, - val touchOffsetHorizontal: Dp = 20.dp, - val touchOffsetVertical: Dp = 20.dp, - val overlayWidth: Dp? = 200.dp, - val overlayAlpha: Float = 0.9f, -) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/TooltipConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/TooltipConfig.kt new file mode 100644 index 0000000..833a308 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/TooltipConfig.kt @@ -0,0 +1,18 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.netguru.multiplatform.charts.grid.ChartGridDefaults + +data class TooltipConfig( + val headerLabel: @Composable (value: Any, dataUnit: String?) -> Unit = ChartGridDefaults.TooltipHeaderLabel, + val dataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = ChartGridDefaults.TooltipDataEntryLabel, + val showEnlargedPointOnLine: Boolean = false, + val showInterpolatedValues: Boolean = true, + val highlightPointsCloserThan: Dp = 30.dp, + val touchOffsetHorizontal: Dp = 20.dp, + val touchOffsetVertical: Dp = 20.dp, + val width: Dp? = 200.dp, + val alpha: Float = 0.9f, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt new file mode 100644 index 0000000..2937cc2 --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt @@ -0,0 +1,12 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.runtime.Composable +import com.netguru.multiplatform.charts.grid.ChartGridDefaults + +data class XAxisConfig( + val markerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, + val hideMarkersWhenOverlapping: Boolean = false, + val alignFirstAndLastToChartEdges: Boolean = false, + val roundMinMaxClosestTo: Long = ChartGridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, + val maxVerticalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, +) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt deleted file mode 100644 index a782b8e..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisData.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.netguru.multiplatform.charts.line - -import androidx.compose.runtime.Composable -import com.netguru.multiplatform.charts.grid.GridDefaults - -data class XAxisData( - val markerLayout: @Composable (value: Any) -> Unit = GridDefaults.XAxisMarkerLayout, - val hideMarkersWhenOverlapping: Boolean = false, - val alignFirstAndLastToChartEdges: Boolean = false, - val roundMinMaxClosestTo: Long = GridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, -) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt index af76ab4..7031280 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt @@ -1,12 +1,12 @@ package com.netguru.multiplatform.charts.line import androidx.compose.runtime.Composable -import com.netguru.multiplatform.charts.grid.GridDefaults +import com.netguru.multiplatform.charts.grid.ChartGridDefaults import com.netguru.multiplatform.charts.grid.YAxisTitleData -data class YAxisData( - val lineChartData: LineChartData, - val markerLayout: (@Composable (value: Any) -> Unit)? = GridDefaults.YAxisMarkerLayout, - val yAxisTitleData: YAxisTitleData? = GridDefaults.YAxisDataTitleYAxisData, - val roundMinMaxClosestTo: Float = GridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, +data class YAxisConfig( + val markerLayout: (@Composable (value: Any) -> Unit)? = ChartGridDefaults.YAxisMarkerLayout, + val yAxisTitleData: YAxisTitleData? = ChartGridDefaults.YAxisDataTitleYAxisData, + val roundMinMaxClosestTo: Float = ChartGridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, + val maxHorizontalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt index e087469..230035c 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChart.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.graphics.PathOperation import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.drawscope.clipPath -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.pie.PieDefaults.FULL_CIRCLE_DEGREES @@ -36,17 +36,17 @@ data class PieChartData(val name: String, val value: Double, val color: Color) * [PieChartWithLegend] * * @param data Data to show - * @param animation Animation to use. [ChartAnimation.Sequenced] is currently not supported and will + * @param animation Animation to use. [ChartDisplayAnimation.Sequenced] is currently not supported and will * @param config The parameters for chart appearance customization * throw an [kotlin.UnsupportedOperationException] if used. * - * @throws kotlin.UnsupportedOperationException when [ChartAnimation.Sequenced] is used + * @throws kotlin.UnsupportedOperationException when [ChartDisplayAnimation.Sequenced] is used */ @Composable fun PieChart( data: List, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), config: PieChartConfig = PieChartConfig(), ) { val maxAngle = getAnimationAlphas( diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt index 515df7b..94ecc56 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartLegend.kt @@ -19,7 +19,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.clipRect -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas import kotlin.random.Random @@ -28,7 +28,7 @@ import kotlin.random.Random internal fun PieChartLegend( data: List, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), config: PieChartConfig = PieChartConfig(), legendItemLabel: @Composable (PieChartData) -> Unit = PieDefaults.LegendItemLabel, ) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartWithLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartWithLegend.kt index 1aaebeb..0880c25 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartWithLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/pie/PieChartWithLegend.kt @@ -9,7 +9,7 @@ import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation /** * Version of [PieChart] with legend. @@ -22,7 +22,7 @@ import com.netguru.multiplatform.charts.ChartAnimation fun PieChartWithLegend( pieChartData: List, modifier: Modifier = Modifier, - animation: ChartAnimation = ChartAnimation.Simple(), + animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), config: PieChartConfig = PieChartConfig(), legendItemLabel: @Composable (PieChartData) -> Unit = PieDefaults.LegendItemLabel, ) { diff --git a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt index 7ab363a..9a7e047 100644 --- a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt +++ b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt @@ -6,7 +6,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.common.AppTheme import com.netguru.multiplatform.charts.common.HOUR_IN_MS import com.netguru.multiplatform.charts.common.WindowSize @@ -22,14 +22,14 @@ import com.soywiz.klock.DateTime fun LineChartPreview() { AppTheme(windowSize = WindowSize.EXPANDED) { LineChart( - yAxisData = YAxisData( + yAxisConfig = YAxisData( lineChartData = getLineChartSampleData(), ), modifier = Modifier .height(300.dp) .fillMaxWidth(), maxVerticalLines = 10, - animation = ChartAnimation.Disabled, + displayAnimation = ChartDisplayAnimation.Disabled, ) } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt index 14d39e0..5bb3910 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BarChartScreen.kt @@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText @@ -111,7 +111,7 @@ fun BarChartScreen() { color = AppTheme.colors.secondaryText ) }, - animation = ChartAnimation.Sequenced() + animation = ChartDisplayAnimation.Sequenced() ) HorizontalDivider() @@ -130,7 +130,7 @@ fun BarChartScreen() { color = AppTheme.colors.secondaryText ) }, - animation = ChartAnimation.Sequenced(), + animation = ChartDisplayAnimation.Sequenced(), legendItemLabel = { name, unit -> Text( text = name + unit?.let { "\n($it)" }.orEmpty(), diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BubbleChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BubbleChartScreen.kt index 02e3038..325cbe0 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BubbleChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/BubbleChartScreen.kt @@ -8,7 +8,7 @@ import androidx.compose.material.icons.filled.House import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText @@ -46,7 +46,7 @@ fun BubbleChartScreen() { bubbles = bubbles, modifier = Modifier .size(300.dp), - animation = ChartAnimation.Sequenced(), + animation = ChartDisplayAnimation.Sequenced(), ) } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt index 37d43c0..539f40b 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.draw.rotate import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.unit.dp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText @@ -52,7 +52,7 @@ fun DialChartScreen() { percentage = sliderValue, modifier = Modifier .fillMaxWidth(), - animation = ChartAnimation.Disabled, + animation = ChartDisplayAnimation.Disabled, colors = DialColors( progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), @@ -123,7 +123,7 @@ fun DialChartScreen() { value = Float.POSITIVE_INFINITY, modifier = Modifier .fillMaxWidth(), - animation = ChartAnimation.Disabled, + animation = ChartDisplayAnimation.Disabled, colors = DialColors( progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), @@ -206,7 +206,7 @@ fun DialChartScreen() { percentage = sliderValue, modifier = Modifier .fillMaxWidth(), - animation = ChartAnimation.Disabled, + animation = ChartDisplayAnimation.Disabled, config = DialConfig( thickness = 20.dp, roundCorners = true, @@ -242,7 +242,7 @@ fun DialChartScreen() { percentage = Float.POSITIVE_INFINITY, modifier = Modifier .fillMaxWidth(), - animation = ChartAnimation.Disabled, + animation = ChartDisplayAnimation.Disabled, config = DialConfig( thickness = 20.dp, roundCorners = true, @@ -276,7 +276,7 @@ fun DialChartScreen() { value = 17f, minValue = -20f, maxValue = 50f, - animation = ChartAnimation.Simple { + animation = ChartDisplayAnimation.Simple { spring( dampingRatio = Spring.DampingRatioMediumBouncy, stiffness = Spring.StiffnessLow diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt index bfe5ff1..ae62498 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/GasBottleScreen.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText import com.netguru.multiplatform.charts.common.AppTheme @@ -78,7 +78,7 @@ fun GasBottleChartScreen() { GasBottle( percentage = 100 * item.value / item.capacity, modifier = Modifier.size(width = 200.dp, height = 300.dp), - animation = ChartAnimation.Simple { + animation = ChartDisplayAnimation.Simple { spring( dampingRatio = Spring.DampingRatioMediumBouncy, stiffness = Spring.StiffnessVeryLow diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt index 18ec73b..8e554a4 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText @@ -21,15 +21,13 @@ import com.netguru.multiplatform.charts.line.LineChart import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries -import com.netguru.multiplatform.charts.line.OverlayData -import com.netguru.multiplatform.charts.line.XAxisData -import com.netguru.multiplatform.charts.line.YAxisData +import com.netguru.multiplatform.charts.line.TooltipConfig +import com.netguru.multiplatform.charts.line.XAxisConfig +import com.netguru.multiplatform.charts.line.YAxisConfig import com.netguru.multiplatform.charts.vertical import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan import kotlin.math.PI -import kotlin.math.abs -import kotlin.math.asin import kotlin.math.sin @Composable @@ -97,32 +95,28 @@ fun LineChartScreen() { LineChart( modifier = Modifier .height(300.dp), - yAxisData = YAxisData( - lineChartData = lineData, - ), - maxVerticalLines = 25, - xAxisData = XAxisData( - markerLayout = { - Text( - fontSize = 12.sp, - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - textAlign = TextAlign.Center, -// modifier = Modifier -// .padding(horizontal = 12.dp) - ) - } - ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> - Text( - text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), - style = MaterialTheme.typography.overline - ) - } - ), - animation = ChartAnimation.Sequenced(), - drawPoints = true, - legendData = null, + data = lineData, +// maxVerticalLines = 25, +// xAxisOptions = XAxisOptions( +// markerLayout = { +// Text( +// fontSize = 12.sp, +// text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), +// textAlign = TextAlign.Center, +// ) +// } +// ), +// overlayOptions = OverlayOptions( +// headerLabel = { it, _ -> +// Text( +// text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), +// style = MaterialTheme.typography.overline +// ) +// } +// ), +// animation = ChartAnimation.Sequenced(), +// drawPoints = true, +// legendOptions = null, ) HorizontalDivider() @@ -131,28 +125,26 @@ fun LineChartScreen() { LineChart( modifier = Modifier .height(300.dp), - yAxisData = YAxisData( - lineChartData = lineData, - ), - maxVerticalLines = 5, - xAxisData = XAxisData( + data = lineData, + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), textAlign = TextAlign.Center ) - } + }, + maxVerticalLines = 5, ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), style = MaterialTheme.typography.overline ) } ), - animation = ChartAnimation.Sequenced() + displayAnimation = ChartDisplayAnimation.Sequenced() ) HorizontalDivider() @@ -161,57 +153,56 @@ fun LineChartScreen() { LineChart( modifier = Modifier .height(300.dp), - yAxisData = YAxisData( - lineChartData = LineChartData( - series = listOf( - LineChartSeries( - dataName = "data 1", - lineColor = Color(0xFFFFCC00), - listOfPoints = listOf( - LineChartPoint( - x = DateTime.now().unixMillisLong, - y = 18f, - ), - ) - ), + data = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( + LineChartPoint( + x = DateTime.now().unixMillisLong, + y = 18f, + ), + ) ), - dataUnit = "unit", ), - roundMinMaxClosestTo = 1f, + dataUnit = "unit", + ), + yAxisConfig = YAxisConfig( + roundMinMaxClosestTo = 1f ), - maxVerticalLines = 5, - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), textAlign = TextAlign.Center ) - } + }, + maxVerticalLines = 5, ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), style = MaterialTheme.typography.overline ) } ), - animation = ChartAnimation.Sequenced(), - legendData = null, + displayAnimation = ChartDisplayAnimation.Sequenced(), + legendConfig = null, ) TitleText(text = "Line chart with only two data points, both with the same value, and null between them") LineChart( modifier = Modifier .height(300.dp), - yAxisData = YAxisData( - lineChartData = LineChartData( - series = listOf( - LineChartSeries( - dataName = "data 1", - lineColor = Color(0xFFFFCC00), - listOfPoints = listOf( + data = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( // LineChartPoint( // x = DateTime.now().unixMillisLong, // y = 18f, @@ -225,49 +216,50 @@ fun LineChartScreen() { // y = 18f, // ), - LineChartPoint(x = 1660600800000, y = 36.0f), - LineChartPoint(x = 1660687200000, y = null), - LineChartPoint(x = 1660773600000, y = 76.5f), - LineChartPoint(x = 1660860000000, y = 83.7f), - LineChartPoint(x = 1660946400000, y = null), - LineChartPoint(x = 1661032800000, y = null), - LineChartPoint(x = 1661119200000, y = 216.0f) - ) - ), + LineChartPoint(x = 1660600800000, y = 36.0f), + LineChartPoint(x = 1660687200000, y = null), + LineChartPoint(x = 1660773600000, y = 76.5f), + LineChartPoint(x = 1660860000000, y = 83.7f), + LineChartPoint(x = 1660946400000, y = null), + LineChartPoint(x = 1661032800000, y = null), + LineChartPoint(x = 1661119200000, y = 216.0f) + ) ), - dataUnit = "unit", ), + dataUnit = "unit", + ), + yAxisConfig = YAxisConfig( roundMinMaxClosestTo = 1f, ), - maxVerticalLines = 10, - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), textAlign = TextAlign.Center ) - } + }, + maxVerticalLines = 10, ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), style = MaterialTheme.typography.overline ) } ), - animation = ChartAnimation.Sequenced(), - legendData = null, - drawPoints = true, + displayAnimation = ChartDisplayAnimation.Sequenced(), + legendConfig = null, + shouldDrawValueDots = true, ) TitleText(text = "Line chart with legend and with lots of data") LineChart( modifier = Modifier .height(300.dp), - yAxisData = YAxisData( - lineChartData = lineDataWithLotsOfPoints, + data = lineDataWithLotsOfPoints, + yAxisConfig = YAxisConfig( yAxisTitleData = YAxisTitleData( labelLayout = { Text( @@ -281,26 +273,26 @@ fun LineChartScreen() { ), roundMinMaxClosestTo = 0.1f, ), - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, text = DateTime.fromUnix(it as Long).format("HH:mm"), textAlign = TextAlign.Center ) - } + }, + maxVerticalLines = 5, ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("HH:mm"), style = MaterialTheme.typography.overline ) } ), - animation = ChartAnimation.Sequenced(), - drawPoints = true, - maxVerticalLines = 5, + displayAnimation = ChartDisplayAnimation.Sequenced(), + shouldDrawValueDots = true, ) } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt index 6ec4863..a9ee863 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.netguru.multiplatform.charts.ChartAnimation +import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.application.ScrollableScreen import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText @@ -22,14 +22,12 @@ import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries import com.netguru.multiplatform.charts.line.LineChartWithTwoYAxisSets -import com.netguru.multiplatform.charts.line.OverlayData -import com.netguru.multiplatform.charts.line.XAxisData -import com.netguru.multiplatform.charts.line.YAxisData +import com.netguru.multiplatform.charts.line.TooltipConfig +import com.netguru.multiplatform.charts.line.XAxisConfig +import com.netguru.multiplatform.charts.line.YAxisConfig import com.netguru.multiplatform.charts.vertical import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan -import kotlin.math.PI -import kotlin.math.sin @Composable fun LineChartWithTwoYAxisScreen() { @@ -125,8 +123,8 @@ fun LineChartWithTwoYAxisScreen() { TitleText(text = "Line chart with two Y axis") LineChartWithTwoYAxisSets( - leftYAxisData = YAxisData( - lineChartData = lineDataLeft, + leftYAxisData = lineDataLeft, + leftYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelLeft(it.toString()) }, @@ -143,8 +141,8 @@ fun LineChartWithTwoYAxisScreen() { ), roundMinMaxClosestTo = 1f, ), - rightYAxisData = YAxisData( - lineChartData = lineDataRight, + rightYAxisData = lineDataRight, + rightYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelRight(it.toString()) }, @@ -163,7 +161,7 @@ fun LineChartWithTwoYAxisScreen() { ), modifier = Modifier .height(300.dp), - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, @@ -172,18 +170,19 @@ fun LineChartWithTwoYAxisScreen() { ) } ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("HH:mm"), style = MaterialTheme.typography.overline ) }, - overlayWidth = null, + width = null, + showInterpolatedValues = false, ), - animation = ChartAnimation.Sequenced(), - drawPoints = true, - legendData = null, + displayAnimation = ChartDisplayAnimation.Sequenced(), + shouldDrawValueDots = true, + legendConfig = null, ) HorizontalDivider() @@ -191,8 +190,8 @@ fun LineChartWithTwoYAxisScreen() { TitleText(text = "Line chart with two Y axis") LineChartWithTwoYAxisSets( - leftYAxisData = YAxisData( - lineChartData = lineDataLeft, + leftYAxisData = lineDataLeft, + leftYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelLeft(it.toString()) }, @@ -209,8 +208,8 @@ fun LineChartWithTwoYAxisScreen() { ), roundMinMaxClosestTo = 1f, ), - rightYAxisData = YAxisData( - lineChartData = lineDataRight, + rightYAxisData = lineDataRight, + rightYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelRight(it.toString()) }, @@ -230,7 +229,7 @@ fun LineChartWithTwoYAxisScreen() { ), modifier = Modifier .height(300.dp), - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, @@ -239,8 +238,8 @@ fun LineChartWithTwoYAxisScreen() { ) } ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), style = MaterialTheme.typography.overline @@ -249,9 +248,10 @@ fun LineChartWithTwoYAxisScreen() { showInterpolatedValues = false, showEnlargedPointOnLine = true, ), - animation = ChartAnimation.Sequenced(), - drawPoints = true, - legendData = null, + displayAnimation = ChartDisplayAnimation.Sequenced(), + shouldDrawValueDots = true, + legendConfig = null, + shouldInterpolateOverNullValues = false, ) HorizontalDivider() @@ -260,8 +260,8 @@ fun LineChartWithTwoYAxisScreen() { LineChartWithTwoYAxisSets( modifier = Modifier .height(300.dp), - leftYAxisData = YAxisData( - lineChartData = lineDataLeft, + leftYAxisData = lineDataLeft, + leftYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelLeft(it.toString()) }, @@ -278,8 +278,8 @@ fun LineChartWithTwoYAxisScreen() { ), roundMinMaxClosestTo = 1f, ), - rightYAxisData = YAxisData( - lineChartData = lineDataRight, + rightYAxisData = lineDataRight, + rightYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelRight(it.toString()) }, @@ -296,26 +296,26 @@ fun LineChartWithTwoYAxisScreen() { ), roundMinMaxClosestTo = 1f, ), - xAxisData = XAxisData( + xAxisConfig = XAxisConfig( markerLayout = { Text( fontSize = 12.sp, text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), textAlign = TextAlign.Center ) - } + }, + maxVerticalLines = 5, ), - overlayData = OverlayData( - overlayHeaderLabel = { it, _ -> + tooltipConfig = TooltipConfig( + headerLabel = { it, _ -> Text( text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), style = MaterialTheme.typography.overline ) } ), - animation = ChartAnimation.Sequenced(), - drawPoints = true, - maxVerticalLines = 5, + displayAnimation = ChartDisplayAnimation.Sequenced(), + shouldDrawValueDots = true, ) } } From ed0555b2cdaf2162cb86f73015e692415eae9643 Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Mon, 9 Jan 2023 18:06:50 +0100 Subject: [PATCH 6/8] Change configuration options, add progression as a separate param, add option to select angle between min and max values --- .../netguru/multiplatform/charts/Helpers.kt | 3 + .../netguru/multiplatform/charts/dial/Dial.kt | 293 +++++---- .../{DialColors.kt => DialChartColors.kt} | 9 +- .../multiplatform/charts/dial/DialConfig.kt | 33 +- .../charts/dial/PercentageDial.kt | 8 +- .../charts/dial/scale/DrawScale.kt | 51 +- .../multiplatform/charts/dial/scale/Scale.kt | 175 ------ .../charts/dial/scale/ScaleConfig.kt | 271 ++++++++ .../charts/dial/scale/ScalePositions.kt | 12 +- .../multiplatform/charts/line/Progression.kt | 13 + .../charts/application/UiWrappers.kt | 16 + .../application/screen/DialChartScreen.kt | 588 +++++++++++------- .../application/screen/LineChartScreen.kt | 5 +- 13 files changed, 871 insertions(+), 606 deletions(-) rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/{DialColors.kt => DialChartColors.kt} (73%) delete mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt create mode 100644 charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Progression.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt index c8e608f..55e5c9a 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt @@ -11,6 +11,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.layout.layout +import kotlin.math.PI import kotlin.math.pow import kotlin.math.roundToInt @@ -104,3 +105,5 @@ fun Modifier.vertical() = ) } } + +fun Float.toRadians() = this * PI.toFloat() / 180f diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index 3fe95a1..a86bd86 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -13,7 +13,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Offset @@ -29,22 +28,18 @@ import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.layout.layout import androidx.compose.ui.platform.LocalDensity import com.netguru.multiplatform.charts.ChartDisplayAnimation -import com.netguru.multiplatform.charts.dial.scale.Scale +import com.netguru.multiplatform.charts.dial.scale.ScaleConfig import com.netguru.multiplatform.charts.dial.scale.ScalePositions import com.netguru.multiplatform.charts.dial.scale.drawScale import com.netguru.multiplatform.charts.dial.scale.drawScaleLabels import com.netguru.multiplatform.charts.getAnimationAlphas +import com.netguru.multiplatform.charts.line.Progression import com.netguru.multiplatform.charts.mapValueToDifferentRange import com.netguru.multiplatform.charts.theme.ChartTheme import kotlin.math.PI -import kotlin.math.sin +import kotlin.math.roundToInt private const val CIRCLE_ANGLE = 360f -internal const val MIN_ANGLE = -40f -internal const val MAX_ANGLE = 220f -internal const val START_ANGLE = MIN_ANGLE + 180f - -internal fun getAspectRatio() = 1 / sin((MAX_ANGLE - MIN_ANGLE) / 4) /** * Draws a half-circle and colors the part of it differently to represent the value. @@ -59,7 +54,7 @@ internal fun getAspectRatio() = 1 / sin((MAX_ANGLE - MIN_ANGLE) / 4) * @param maxValue Max value of the chart (will also be provided to [minAndMaxValueLabel]) * @param animation Animation to use. [ChartDisplayAnimation.Sequenced] throws an * [kotlin.UnsupportedOperationException], since there is only one value to display. - * @param colors Colors to be used for the chart. [DialColors] + * @param colors Colors to be used for the chart. [DialChartColors] * @param config The parameters for chart appearance customization. * @param minAndMaxValueLabel Composable to represent the [minValue] and [maxValue] on the bottom * left and right of the chart. @@ -74,12 +69,13 @@ fun Dial( maxValue: Float, modifier: Modifier = Modifier, animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), - colors: DialColors = ChartTheme.colors.dialColors, + colors: DialChartColors = DialChartDefaults.dialChartColors(), config: DialConfig = DialConfig(), minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, mainLabel: @Composable (value: Float) -> Unit = DialDefaults.MainLabel, indicator: (@Composable () -> Unit)? = null, - scale: Scale = Scale.Linear(null), + scaleConfig: ScaleConfig? = ScaleConfig.LinearProgressionConfig(), + progression: Progression = Progression.Linear, ) { val animatedScale = getAnimationAlphas( animation = animation, @@ -89,154 +85,161 @@ fun Dial( val targetProgress = value.coerceIn(minValue..maxValue) * animatedScale - Box(modifier = modifier) { - Column(modifier = Modifier.align(Alignment.Center)) { + Column(modifier = modifier) { - val fullAngle = MAX_ANGLE - MIN_ANGLE - val sweepAngle = when (scale) { - is Scale.Linear -> { - targetProgress.mapValueToDifferentRange( - minValue, - maxValue, - 0f, - fullAngle - ) - } + val fullAngle = config.fullAngleInDegrees + val sweepAngle = when (progression) { + Progression.Linear -> { + targetProgress.mapValueToDifferentRange( + minValue, + maxValue, + 0f, + fullAngle + ) + } - is Scale.NonLinear -> { - if (targetProgress.isNaN()) { - val range = scale.scalePoints.first() to scale.scalePoints[1] + is Progression.NonLinear -> { + if (targetProgress.isNaN()) { + val range = progression.anchorPoints.first() to progression.anchorPoints[1] - minValue.mapValueToDifferentRange( - range.first.value, - range.second.value, - /*MIN_ANGLE + */(fullAngle * range.first.position), - fullAngle * range.second.position, - ) + minValue.mapValueToDifferentRange( + range.first.value, + range.second.value, + fullAngle * range.first.position, + fullAngle * range.second.position, + ) - } else { - scale - .scalePoints - .zipWithNext() - .firstOrNull { - targetProgress in it.first.value..it.second.value - } - ?.let { range -> - targetProgress.mapValueToDifferentRange( - range.first.value, - range.second.value, - fullAngle * range.first.position, - fullAngle * range.second.position, - ) - } - ?: run { - val isSmaller = targetProgress < scale.scalePoints.minOf { it.value } - if (isSmaller) { - 0f - } else { - fullAngle - } + } else { + progression + .anchorPoints + .zipWithNext() + .firstOrNull { + targetProgress in it.first.value..it.second.value + } + ?.let { range -> + targetProgress.mapValueToDifferentRange( + range.first.value, + range.second.value, + fullAngle * range.first.position, + fullAngle * range.second.position, + ) + } + ?: run { + val isSmaller = targetProgress < progression.anchorPoints.minOf { it.value } + if (isSmaller) { + 0f + } else { + fullAngle } - } + } } } + } - val density = LocalDensity.current - var angles by remember { - mutableStateOf( - ScalePositions( - containerWidth = 0f, - containerCenterX = 0f, - offsets = emptyList(), - ) + val density = LocalDensity.current + var angles by remember { + mutableStateOf( + ScalePositions( + containerWidth = 0f, + containerCenterX = 0f, + scaleItems = emptyList(), ) - } - BoxWithConstraints( - Modifier - .fillMaxWidth() - .aspectRatio(getAspectRatio()) - .drawBehind { - drawProgressBar( - value = targetProgress, - sweepAngle = sweepAngle, - minValue = minValue, - maxValue = maxValue, - config = config, - progressBarColor = colors.progressBarColor, - progressBarBackgroundColor = colors.progressBarBackgroundColor, - ) + ) + } + BoxWithConstraints( + Modifier + .fillMaxWidth() + .aspectRatio(config.aspectRatio) + .drawBehind { + drawProgressBar( + value = targetProgress, + sweepAngle = sweepAngle, + minValue = minValue, + maxValue = maxValue, + config = config, + progressBarColor = colors.progressBarColor, + progressBarBackgroundColor = colors.progressBarBackgroundColor, + ) - if (config.displayScale) { - val scaleCenter = Offset( - center.x, - size.width / 2 - (config.scaleLineWidth.toPx() / 2f) - ) - if (!angles.calculatedFor(size.width, scaleCenter.x)) { - angles = ScalePositions( - containerWidth = size.width, - containerCenterX = scaleCenter.x, - offsets = scale.calculateAngles(config, density, size.width, scaleCenter) + if (scaleConfig != null) { + val scaleCenter = Offset( + center.x, + size.width / 2 - (scaleConfig.scaleLineWidth.toPx() / 2f) + ) + if (!angles.calculatedFor(size.width, scaleCenter.x)) { + angles = ScalePositions( + containerWidth = size.width, + containerCenterX = scaleCenter.x, + scaleItems = scaleConfig.calculateProgressionMarkersPositions( + config = config, + progression = progression, + density = density, + width = size.width, + center = scaleCenter, + minValue = minValue, + maxValue = maxValue, ) - } - drawScale( - color = colors.gridScaleColor, - config = config, - markType = scale.markType, - calculatedAngles = angles.offsets, + ) + } + drawScale( + color = colors.gridScaleColor, + scaleConfig = scaleConfig, + calculatedAngles = angles.scaleItems, + ) + } + } + ) { + Box( + modifier = Modifier + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + layout(placeable.width, placeable.height) { + placeable.place( + x = maxWidth.roundToPx() / 2 - placeable.width / 2, + y = (maxHeight.roundToPx() / 2.5).roundToInt(), ) } } ) { + mainLabel(value) + } + + if (scaleConfig != null) { + drawScaleLabels(scaleConfig, angles.scaleItems) + } + + if (indicator != null) { Box( modifier = Modifier + .width(maxWidth / 2) .layout { measurable, constraints -> val placeable = measurable.measure(constraints) layout(placeable.width, placeable.height) { - placeable.place( - x = maxWidth.roundToPx() / 2 - placeable.width / 2, - y = maxWidth.roundToPx() / 2 - placeable.height / 2 - ) + placeable.place(0, maxWidth.roundToPx() / 2 - placeable.height / 2) } } - ) { - mainLabel(value) - } - - drawScaleLabels(scale, angles.offsets) - - if (indicator != null) { - Box( - modifier = Modifier - .width(maxWidth / 2) - .layout { measurable, constraints -> - val placeable = measurable.measure(constraints) - layout(placeable.width, placeable.height) { - placeable.place(0, maxWidth.roundToPx() / 2 - placeable.height / 2) - } - } - .graphicsLayer( - rotationZ = sweepAngle + MIN_ANGLE, - transformOrigin = TransformOrigin( - pivotFractionX = 1f, - pivotFractionY = 0.5f, - ) + .graphicsLayer( + rotationZ = config.minAngle + sweepAngle, + transformOrigin = TransformOrigin( + pivotFractionX = 1f, + pivotFractionY = 0.5f, ) - ) { - indicator() - } - } - } - if (minAndMaxValueLabel != null) { - Row( - modifier = Modifier - .fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween + ) ) { - minAndMaxValueLabel(minValue) - minAndMaxValueLabel(maxValue) + indicator() } } } + if (minAndMaxValueLabel != null) { + Row( + modifier = Modifier + .fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween + ) { + minAndMaxValueLabel(minValue) + minAndMaxValueLabel(maxValue) + } + } } } @@ -256,7 +259,7 @@ private fun DrawScope.drawProgressBar( val arcPadding = if (config.roundCorners) thicknessInDegrees / 2f else 0f val topLeftOffset = Offset(thickness / 2f, thickness / 2f) // Arc has to be drawn on 2 * height space because we want only half of the circle - val arcSize = Size(size.width - thickness, size.height * getAspectRatio() - thickness) + val arcSize = Size(size.width - thickness, size.height * config.aspectRatio - thickness) val style = Stroke( width = thickness, cap = config.strokeCap, @@ -272,8 +275,8 @@ private fun DrawScope.drawProgressBar( if (value < maxValue || !value.isFinite()) { drawArc( color = progressBarBackgroundColor, - startAngle = MIN_ANGLE + 180 + joinStyle.startAnglePadding(sweepAngle, arcPadding), - sweepAngle = ((MAX_ANGLE - MIN_ANGLE) - joinStyle.sweepAnglePadding(sweepAngle, arcPadding)) + startAngle = config.startAngle + joinStyle.startAnglePadding(sweepAngle, arcPadding), + sweepAngle = (config.fullAngleInDegrees - joinStyle.sweepAnglePadding(sweepAngle, arcPadding)) .coerceAtLeast(0f), useCenter = false, style = style, @@ -293,7 +296,7 @@ private fun DrawScope.drawProgressBar( y = size.height, ), ), - startAngle = START_ANGLE + arcPadding, + startAngle = config.startAngle + arcPadding, sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, @@ -311,7 +314,7 @@ private fun DrawScope.drawProgressBar( y = size.height, ), ), - startAngle = START_ANGLE + arcPadding, + startAngle = config.startAngle + arcPadding, sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, @@ -323,7 +326,7 @@ private fun DrawScope.drawProgressBar( is DialProgressColors.SingleColor -> { drawArc( color = progressBarColor.color, - startAngle = START_ANGLE + arcPadding, + startAngle = config.startAngle + arcPadding, sweepAngle = (sweepAngle - (2f * arcPadding)).coerceAtLeast(0f), useCenter = false, style = style, @@ -349,3 +352,17 @@ private fun DialJoinStyle.sweepAnglePadding(sweepAngle: Float, arcPadding: Float is DialJoinStyle.Overlapped -> 2f * arcPadding is DialJoinStyle.WithDegreeGap -> sweepAngle + (degrees + (2f * arcPadding)) } + +object DialChartDefaults { + @Composable + fun dialChartColors( + progressBarColor: DialProgressColors = DialProgressColors.SingleColor(ChartTheme.colors.primary), + progressBarBackgroundColor: Color = ChartTheme.colors.grid, + gridScaleColor: Color = ChartTheme.colors.grid, + ): DialChartColors = DialChartColors( + progressBarColor = progressBarColor, + progressBarBackgroundColor = progressBarBackgroundColor, + gridScaleColor = gridScaleColor, + ) + +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialChartColors.kt similarity index 73% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialChartColors.kt index 22745ab..6502871 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialColors.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialChartColors.kt @@ -5,7 +5,7 @@ import androidx.compose.ui.graphics.Color import com.netguru.multiplatform.charts.theme.ChartColors @Immutable -data class DialColors( +data class DialChartColors( val progressBarColor: DialProgressColors, val progressBarBackgroundColor: Color, val gridScaleColor: Color, @@ -17,10 +17,3 @@ sealed class DialProgressColors { data class GradientWithStops(val colorStops: List>) : DialProgressColors() data class Gradient(val colors: List) : DialProgressColors() } - -val ChartColors.dialColors - get() = DialColors( - progressBarColor = DialProgressColors.SingleColor(primary), - progressBarBackgroundColor = grid, - gridScaleColor = grid - ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt index 60dbc6d..c60f48f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt @@ -1,26 +1,43 @@ package com.netguru.multiplatform.charts.dial import androidx.compose.ui.unit.Dp +import kotlin.math.pow +import kotlin.math.sin +import kotlin.math.sqrt /** * The customization parameters for [Dial] * * @param thickness The width of arc - * @param scalePadding Size of space between arc and scale - * @param scaleLineWidth Thickness of scale lines - * @param scaleLineLength The length of majors scale lines. * The maximum value is 20% width of the chart * @param joinStyle How the lib should draw space between major arc and minor arc [DialJoinStyle] */ data class DialConfig( val thickness: Dp = DialDefaults.THICKNESS, - val scalePadding: Dp = DialDefaults.SCALE_PADDING, - val scaleLineWidth: Dp = DialDefaults.SCALE_STROKE_WIDTH, - val scaleLineLength: Dp = DialDefaults.SCALE_STROKE_LENGTH, val joinStyle: DialJoinStyle = DialDefaults.JOIN_STYLE, - val displayScale: Boolean = true, val roundCorners: Boolean = false, -) + val fullAngleInDegrees: Float = 180f, +) { + val minAngle = 90 - (fullAngleInDegrees / 2) + val maxAngle = minAngle + fullAngleInDegrees + + val startAngle = minAngle + 180f + val endAngle = maxAngle + 180f + + val aspectRatio: Float = run { + // diameter is equal to 1f since we are calculating aspect ratio + // formulas can be found here: https://www.mathopenref.com/sagitta.html + val arcLength = (fullAngleInDegrees / 360f) * Math.PI + val halfChordLength = 0.5f * sin(arcLength) + val sagitta = if (fullAngleInDegrees <= 180f) { + 0.5f - sqrt(0.25f - halfChordLength.pow(2)) + } else { + 0.5f + sqrt(0.25f - halfChordLength.pow(2)) + } + + 1f / sagitta.toFloat() + } +} sealed class DialJoinStyle { object Joined : DialJoinStyle() diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt index c9afb65..b4974ef 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt @@ -3,8 +3,7 @@ package com.netguru.multiplatform.charts.dial import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.netguru.multiplatform.charts.ChartDisplayAnimation -import com.netguru.multiplatform.charts.dial.scale.Scale -import com.netguru.multiplatform.charts.theme.ChartTheme +import com.netguru.multiplatform.charts.line.Progression /** * Variant of [Dial] with min value set to 0 and max value set to 100. @@ -18,12 +17,11 @@ fun PercentageDial( percentage: Float, modifier: Modifier = Modifier, animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), - colors: DialColors = ChartTheme.colors.dialColors, + colors: DialChartColors = DialChartDefaults.dialChartColors(), config: DialConfig = DialConfig(), minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, mainLabel: @Composable (value: Float) -> Unit = DialDefaults.MainLabel, indicator: (@Composable () -> Unit)? = null, - scale: Scale = Scale.Linear(null), ) { Dial( value = percentage, @@ -36,6 +34,6 @@ fun PercentageDial( minAndMaxValueLabel = minAndMaxValueLabel, mainLabel = mainLabel, indicator = indicator, - scale = scale, + progression = Progression.Linear, ) } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt index ebf1b93..1370c60 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/DrawScale.kt @@ -10,7 +10,6 @@ import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.layout.layout import androidx.compose.ui.unit.IntOffset -import com.netguru.multiplatform.charts.dial.DialConfig import kotlin.math.cos import kotlin.math.pow import kotlin.math.roundToInt @@ -19,18 +18,17 @@ import kotlin.math.sin internal fun DrawScope.drawScale( color: Color, - config: DialConfig, - markType: MarkType, + scaleConfig: ScaleConfig, calculatedAngles: List, ) { - when (markType) { + when (scaleConfig.markType) { MarkType.Line -> { for (angle in calculatedAngles as List) { drawLine( color = color, start = angle.startOffset, end = angle.endOffset, - strokeWidth = config.scaleLineWidth.toPx(), + strokeWidth = scaleConfig.scaleLineWidth.toPx(), cap = StrokeCap.Round ) } @@ -43,7 +41,7 @@ internal fun DrawScope.drawScale( pointMode = PointMode.Points, color = color, cap = StrokeCap.Round, - strokeWidth = config.scaleLineLength.toPx(), + strokeWidth = scaleConfig.scaleLineLength.toPx(), ) } } @@ -51,32 +49,33 @@ internal fun DrawScope.drawScale( @Composable fun drawScaleLabels( - scale: Scale, + scaleConfig: ScaleConfig, provideLabels: List, ) { - provideLabels.forEachIndexed { index, it -> - Box( - modifier = Modifier - .layout { measurable, constraints -> - val placeable = measurable.measure(constraints) + provideLabels + .filter { it.showLabel } + .forEach { scaleItem -> + Box( + modifier = Modifier + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) - val topLeft = when (it) { - is ScalePositions.ScaleItem.Dot -> it.offset - is ScalePositions.ScaleItem.Line -> it.startOffset - } - Offset( - x = cos(it.angle / 2).pow(2f) * (placeable.width), - y = ((sin(it.angle) / 2) + (1 / 2f)) * placeable.height, - ) + val topLeft = when (scaleItem) { + is ScalePositions.ScaleItem.Dot -> scaleItem.offset + is ScalePositions.ScaleItem.Line -> scaleItem.startOffset + } - Offset( + x = cos(scaleItem.angle / 2).pow(2f) * placeable.width, + y = ((sin(scaleItem.angle) / 2) + (1 / 2f)) * placeable.height, + ) - layout(placeable.width, placeable.height) { - placeable.place(IntOffset(topLeft.x.roundToInt(), topLeft.y.roundToInt())) + layout(placeable.width, placeable.height) { + placeable.place(IntOffset(topLeft.x.roundToInt(), topLeft.y.roundToInt())) + } } + ) { + if (scaleItem.showLabel && scaleConfig.scaleLabelLayout != null) { + scaleConfig.scaleLabelLayout.invoke(scaleItem.value) } - ) { - when (scale) { - is Scale.Linear -> scale.scaleLabel?.invoke("") - is Scale.NonLinear -> scale.scaleLabel?.invoke(scale.scalePoints[index].label) } } - } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt deleted file mode 100644 index 76e95b3..0000000 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/Scale.kt +++ /dev/null @@ -1,175 +0,0 @@ -package com.netguru.multiplatform.charts.dial.scale - -import androidx.compose.runtime.Composable -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.unit.Density -import com.netguru.multiplatform.charts.dial.DialConfig -import com.netguru.multiplatform.charts.dial.MAX_ANGLE -import com.netguru.multiplatform.charts.dial.MIN_ANGLE -import com.netguru.multiplatform.charts.mapValueToDifferentRange -import kotlin.math.PI -import kotlin.math.cos -import kotlin.math.sin - -sealed class Scale( - val scaleLabel: (@Composable (String) -> Unit)?, - val markType: MarkType, -) { - class Linear( - scaleLabel: (@Composable (String) -> Unit)? = null, - markType: MarkType = MarkType.Line, - ) : Scale(scaleLabel, markType) - - class NonLinear( - val scalePoints: List, - scaleLabel: (@Composable (String) -> Unit)? = null, - markType: MarkType = MarkType.Line, - ) : Scale(scaleLabel, markType) { - /** - * @param value Value that this point represents - * @param position position on the scale in "percentage" in range [0, 1] - * @param label to display next to the point - */ - data class ScalePoint( - val value: Float, - val position: Float, - val label: String, - ) - } - - private companion object { - const val MAX_LINE_LENGTH = 0.20f - const val MINOR_SCALE_ALPHA = 0.5f - const val MINOR_SCALE_LENGTH_FACTOR = 0.35f - const val SCALE_STEP = 2 - const val MAJOR_SCALE_MODULO = 5 * SCALE_STEP - } - - fun calculateAngles( - config: DialConfig, - density: Density, - width: Float, - center: Offset, - ): List { - val scaleLineLength = - with(density) { (config.scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) } - val scalePadding = with(density) { (config.thickness.toPx() + config.scalePadding.toPx()) / center.x } - val startRadiusFactor = 1 - scalePadding - scaleLineLength - val endRadiusFactor = startRadiusFactor + scaleLineLength - val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR - val scaleMultiplier = width / 2f - - return when (this) { - is Linear -> { - fun Int.position( - angle: Float, - scaleMultiplier: Float, - radiusFactor: Float, - minorRadiusFactor: Float, - ): Offset { - val pointRadiusFactor = - if (this % MAJOR_SCALE_MODULO == 0) - radiusFactor - else - radiusFactor + minorRadiusFactor - val scaledRadius = scaleMultiplier * pointRadiusFactor - return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) - } - (0..100 step SCALE_STEP).map { point -> - val angle = ( - point.toFloat() - .mapValueToDifferentRange( - 0f, - 100f, - MIN_ANGLE + 180, - MAX_ANGLE + 180, - ) - ) * PI.toFloat() / 180f // to radians - val startPos = point.position( - angle, - scaleMultiplier, - startRadiusFactor, - smallLineRadiusFactor, - ) - val endPos = point.position( - angle, - scaleMultiplier, - endRadiusFactor, - -smallLineRadiusFactor, - ) - when (markType) { - MarkType.Line -> { - Triple(angle, center + startPos, center + endPos) - ScalePositions.ScaleItem.Line( - angle = angle, - startOffset = center + startPos, - endOffset = center + endPos, - ) - } - - MarkType.Dot -> { - ScalePositions.ScaleItem.Dot( - angle = angle, - offset = center + endPos - ) - } - } - } - } - - is NonLinear -> { - fun positionLine( - angle: Float, - scaleMultiplier: Float, - radiusFactor: Float, - minorRadiusFactor: Float, - ): Offset { - val pointRadiusFactor = radiusFactor + minorRadiusFactor - val scaledRadius = scaleMultiplier * pointRadiusFactor - return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) - } - scalePoints.map { point -> - val angle = ( - point.position - .mapValueToDifferentRange( - 0f, - 1f, - MIN_ANGLE + 180, - MAX_ANGLE + 180, - ) - ) * PI.toFloat() / 180f // to radians - val startPos = positionLine( - angle, - scaleMultiplier, - startRadiusFactor, - smallLineRadiusFactor - ) - val endPos = positionLine( - angle, - scaleMultiplier, - endRadiusFactor, - -smallLineRadiusFactor - ) - - when (markType) { - MarkType.Line -> { - Triple(angle, center + startPos, center + endPos) - ScalePositions.ScaleItem.Line( - angle = angle, - startOffset = center + startPos, - endOffset = center + endPos, - ) - } - - MarkType.Dot -> { - ScalePositions.ScaleItem.Dot( - angle = angle, - offset = center + endPos - ) - } - } - } - } - } - } -} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt new file mode 100644 index 0000000..bb67a5d --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt @@ -0,0 +1,271 @@ +package com.netguru.multiplatform.charts.dial.scale + +import androidx.compose.runtime.Composable +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.Dp +import com.netguru.multiplatform.charts.dial.DialConfig +import com.netguru.multiplatform.charts.dial.DialDefaults +import com.netguru.multiplatform.charts.line.Progression +import com.netguru.multiplatform.charts.mapValueToDifferentRange +import com.netguru.multiplatform.charts.toRadians +import kotlin.math.cos +import kotlin.math.sin + +/** + * Configuration for the scale + * + * @param scalePadding Size of space between arc and scale + * @param scaleLineWidth Thickness of scale lines + * @param scaleLineLength The length of majors scale lines. + */ +sealed class ScaleConfig( + val scalePadding: Dp, + val scaleLineWidth: Dp, + val scaleLineLength: Dp, + val scaleLabelLayout: (@Composable (Float) -> Unit)?, + val markType: MarkType, +) { + /** + * @param smallMarkStep How often small scale marker should be shown. Value represents diff between actual dial chart + * values. Null means it won't be shown + * @param bigMarkStep How often big scale marker should be shown. Value represents diff between actual dial chart + * values. Null means it won't be shown + */ + class LinearProgressionConfig( + scalePadding: Dp = DialDefaults.SCALE_PADDING, + scaleLineWidth: Dp = DialDefaults.SCALE_STROKE_WIDTH, + scaleLineLength: Dp = DialDefaults.SCALE_STROKE_LENGTH, + scaleLabelLayout: (@Composable (Float) -> Unit)? = null, + markType: MarkType = MarkType.Line, + val smallMarkStep: Float? = 2f, + val bigMarkStep: Float? = 10f, + ) : ScaleConfig(scalePadding, scaleLineWidth, scaleLineLength, scaleLabelLayout, markType) + + class NonLinearProgressionConfig( + scalePadding: Dp = DialDefaults.SCALE_PADDING, + scaleLineWidth: Dp = DialDefaults.SCALE_STROKE_WIDTH, + scaleLineLength: Dp = DialDefaults.SCALE_STROKE_LENGTH, + scaleLabelLayout: (@Composable (Float) -> Unit)? = null, + markType: MarkType = MarkType.Line, + ) : ScaleConfig(scalePadding, scaleLineWidth, scaleLineLength, scaleLabelLayout, markType) { + /** + * @param value Value that this point represents + * @param position position on the scale in "percentage" in range [0, 1] + * @param label to display next to the point + */ + data class ScalePoint( + val value: Float, + val position: Float, + val label: String, + ) + } + + fun calculateProgressionMarkersPositions( + config: DialConfig, + progression: Progression, + density: Density, + width: Float, + center: Offset, + minValue: Float, + maxValue: Float, + ): List { + val scaleLineLength = + with(density) { (scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) } // todo remove this constant? + val scalePadding = with(density) { (config.thickness.toPx() + scalePadding.toPx()) / center.x } + val startRadiusFactor = 1 - scalePadding - scaleLineLength + val endRadiusFactor = startRadiusFactor + scaleLineLength + val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR // todo remove this constant? + val scaleMultiplier = width / 2f + + return when (this) { + is LinearProgressionConfig -> { + fun position( + angle: Float, + scaleMultiplier: Float, + radiusFactor: Float, + minorRadiusFactor: Float, + isBigMarker: Boolean, + ): Offset { + val pointRadiusFactor = + if (isBigMarker) { + radiusFactor + } else { + radiusFactor + minorRadiusFactor + } + val scaledRadius = scaleMultiplier * pointRadiusFactor + return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) + } + + val itemsList = mutableListOf() + + // big markers + if (bigMarkStep != null) { + var point = minValue + while (point <= maxValue) { + val angle = point.mapValueToDifferentRange( + minValue, + maxValue, + config.startAngle, + config.endAngle, + ).toRadians() + val startPos = position( + angle, + scaleMultiplier, + startRadiusFactor, + smallLineRadiusFactor, + true, + ) + val endPos = position( + angle, + scaleMultiplier, + endRadiusFactor, + -smallLineRadiusFactor, + true, + ) + when (markType) { + MarkType.Line -> { + ScalePositions.ScaleItem.Line( + angle = angle, + showLabel = true, + value = point, + startOffset = center + startPos, + endOffset = center + endPos, + ) + } + + MarkType.Dot -> { + ScalePositions.ScaleItem.Dot( + angle = angle, + showLabel = true, + value = point, + offset = center + endPos + ) + } + }.let { + itemsList.add(it) + } + + point += bigMarkStep + } + } + + // small markers + if (smallMarkStep != null) { + var point = minValue + while (point <= maxValue) { + val angle = point.mapValueToDifferentRange( + minValue, + maxValue, + config.startAngle, + config.endAngle, + ).toRadians() + + if (itemsList.firstOrNull { it.angle == angle } == null) { + val startPos = position( + angle, + scaleMultiplier, + startRadiusFactor, + smallLineRadiusFactor, + false, + ) + val endPos = position( + angle, + scaleMultiplier, + endRadiusFactor, + -smallLineRadiusFactor, + false, + ) + when (markType) { + MarkType.Line -> { + ScalePositions.ScaleItem.Line( + angle = angle, + showLabel = false, + value = point, + startOffset = center + startPos, + endOffset = center + endPos, + ) + } + + MarkType.Dot -> { + ScalePositions.ScaleItem.Dot( + angle = angle, + showLabel = false, + value = point, + offset = center + endPos + ) + } + }.let { + itemsList.add(it) + } + } + + point += smallMarkStep + } + } + itemsList + } + + is NonLinearProgressionConfig -> { + fun positionLine( + angle: Float, + scaleMultiplier: Float, + radiusFactor: Float, + minorRadiusFactor: Float, + ): Offset { + val pointRadiusFactor = radiusFactor + minorRadiusFactor + val scaledRadius = scaleMultiplier * pointRadiusFactor + return Offset(cos(angle) * scaledRadius, sin(angle) * scaledRadius) + } + + (progression as Progression.NonLinear).anchorPoints.map { point -> + val angle = point.position.mapValueToDifferentRange( + 0f, + 1f, + config.startAngle, + config.endAngle, + ).toRadians() + val startPos = positionLine( + angle, + scaleMultiplier, + startRadiusFactor, + smallLineRadiusFactor + ) + val endPos = positionLine( + angle, + scaleMultiplier, + endRadiusFactor, + -smallLineRadiusFactor + ) + + when (markType) { + MarkType.Line -> { + Triple(angle, center + startPos, center + endPos) + ScalePositions.ScaleItem.Line( + angle = angle, + showLabel = true, + value = point.value, + startOffset = center + startPos, + endOffset = center + endPos, + ) + } + + MarkType.Dot -> { + ScalePositions.ScaleItem.Dot( + angle = angle, + showLabel = true, + value = point.value, + offset = center + endPos + ) + } + } + } + } + } + } + + companion object { + const val MAX_LINE_LENGTH = 0.20f + const val MINOR_SCALE_LENGTH_FACTOR = 0.35f + } +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt index 033bce5..4096e12 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScalePositions.kt @@ -5,21 +5,27 @@ import androidx.compose.ui.geometry.Offset data class ScalePositions( val containerWidth: Float, val containerCenterX: Float, - val offsets: List, + val scaleItems: List, ) { sealed class ScaleItem( val angle: Float, + val showLabel: Boolean, + val value: Float, ) { class Dot( angle: Float, + showLabel: Boolean, + value: Float, val offset: Offset, - ) : ScaleItem(angle) + ) : ScaleItem(angle, showLabel, value) class Line( angle: Float, + showLabel: Boolean, + value: Float, val startOffset: Offset, val endOffset: Offset, - ) : ScaleItem(angle) + ) : ScaleItem(angle, showLabel, value) } fun calculatedFor(width: Float, centerX: Float): Boolean { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Progression.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Progression.kt new file mode 100644 index 0000000..15351db --- /dev/null +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Progression.kt @@ -0,0 +1,13 @@ +package com.netguru.multiplatform.charts.line + +sealed class Progression { + object Linear : Progression() + class NonLinear( + val anchorPoints: List, + ) : Progression() { + data class AnchorPoint( + val value: Float, + val position: Float, + ) + } +} diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/UiWrappers.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/UiWrappers.kt index 74388b3..108b339 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/UiWrappers.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/UiWrappers.kt @@ -9,8 +9,10 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.sp import com.netguru.multiplatform.charts.common.AppTheme @@ -24,6 +26,7 @@ fun TitleText( color = AppTheme.colors.primaryText, fontSize = 40.sp, fontWeight = FontWeight.SemiBold, + textAlign = TextAlign.Center, modifier = modifier, ) } @@ -38,6 +41,19 @@ fun SpacedColumn( ) } +@Composable +fun PresentedItem( + text: String, + content: @Composable () -> Unit +) { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + ) { + TitleText(text) + content() + } +} + @Composable fun ScrollableScreen( content: @Composable ColumnScope.() -> Unit, diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt index 539f40b..79f025f 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt @@ -4,11 +4,16 @@ import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.GridItemSpan +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.material.MaterialTheme import androidx.compose.material.Slider import androidx.compose.material.Text @@ -24,275 +29,376 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartDisplayAnimation -import com.netguru.multiplatform.charts.application.ScrollableScreen -import com.netguru.multiplatform.charts.application.SpacedColumn -import com.netguru.multiplatform.charts.application.TitleText +import com.netguru.multiplatform.charts.application.PresentedItem import com.netguru.multiplatform.charts.common.AppTheme -import com.netguru.multiplatform.charts.common.HorizontalDivider import com.netguru.multiplatform.charts.dial.Dial -import com.netguru.multiplatform.charts.dial.DialColors +import com.netguru.multiplatform.charts.dial.DialChartColors import com.netguru.multiplatform.charts.dial.DialConfig import com.netguru.multiplatform.charts.dial.DialJoinStyle import com.netguru.multiplatform.charts.dial.DialProgressColors import com.netguru.multiplatform.charts.dial.PercentageDial import com.netguru.multiplatform.charts.dial.scale.MarkType -import com.netguru.multiplatform.charts.dial.scale.Scale -import com.netguru.multiplatform.charts.dial.scale.Scale.NonLinear.ScalePoint +import com.netguru.multiplatform.charts.dial.scale.ScaleConfig +import com.netguru.multiplatform.charts.line.Progression +import com.netguru.multiplatform.charts.line.Progression.NonLinear.AnchorPoint import kotlin.math.roundToInt @Composable fun DialChartScreen() { - ScrollableScreen { - SpacedColumn { - TitleText(text = "Percentage dial") - var sliderValue by remember { - mutableStateOf(-50f) + Column { + var sliderValue by remember { + mutableStateOf(-50f) + } + val commonModifier = Modifier + .padding(20.dp) + LazyVerticalGrid( + columns = GridCells.Adaptive(350.dp), + verticalArrangement = Arrangement.spacedBy(20.dp), + horizontalArrangement = Arrangement.spacedBy(20.dp), + ) { + item { + PresentedItem(text = "Percentage dial") { + PercentageDial( + percentage = sliderValue, + modifier = commonModifier, + animation = ChartDisplayAnimation.Disabled, + colors = DialChartColors( + progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0.5f to Color.Red, + 1f to Color.Green, + ) + ) + ), + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } + }, + indicator = { + Image( + painter = rememberVectorPainter(image = Arrow), + contentDescription = null, + modifier = Modifier + .padding( + start = 20.dp, + ) + .rotate(-90f) + ) + }, + minAndMaxValueLabel = null, + ) + } } - PercentageDial( - percentage = sliderValue, - modifier = Modifier - .fillMaxWidth(), - animation = ChartDisplayAnimation.Disabled, - colors = DialColors( - progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), - gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), - progressBarColor = DialProgressColors.GradientWithStops( - listOf( - 0.5f to Color.Red, - 1f to Color.Green, - ) + + item { + PresentedItem(text = "Non-linear scale, simple gradient") { + Dial( + value = sliderValue, + modifier = commonModifier, + animation = ChartDisplayAnimation.Disabled, + colors = DialChartColors( + progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0.5f to Color.Red, + 1f to Color.Green, + ) + ) + ), + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + ), + progression = Progression.NonLinear( + anchorPoints = listOf( + AnchorPoint(0f, 0f), + AnchorPoint(20f, 0.1f), + AnchorPoint(40f, 0.2f), + AnchorPoint(60f, 0.3f), + AnchorPoint(80f, 0.8f), + AnchorPoint(100f, 0.9f), + AnchorPoint(120f, 1f), + ) + ), + scaleConfig = ScaleConfig.NonLinearProgressionConfig( + scalePadding = 16.dp, + scaleLineLength = 10.dp, + scaleLabelLayout = { + Text( + text = it.toString(), + modifier = Modifier + .padding(16.dp) + ) + }, + markType = MarkType.Dot, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } + }, + indicator = { + Box( + modifier = Modifier + .background(Color.Red) + .fillMaxWidth() + .height(1.dp) + ) + }, + minAndMaxValueLabel = null, + minValue = Float.MIN_VALUE, + maxValue = Float.MAX_VALUE, ) - ), - config = DialConfig( - thickness = 20.dp, - roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, - scalePadding = 16.dp, - scaleLineLength = 10.dp, - ), - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "$it%", - style = MaterialTheme.typography.h4, - color = AppTheme.colors.yellow - ) - Text( - text = "of people like numbers", - style = MaterialTheme.typography.body2, - modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) - ) - } - }, - indicator = { - Image( - painter = rememberVectorPainter(image = Arrow), - contentDescription = null, - modifier = Modifier - .padding( - start = 20.dp, + } + } + + item { + PresentedItem(text = "Non-linear scale, advanced gradient") { + Dial( + value = sliderValue, + modifier = commonModifier, + animation = ChartDisplayAnimation.Disabled, + colors = DialChartColors( + progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0f to Color.Red, + 0.1f to Color.Green, + 0.2f to Color.Blue, + 0.3f to Color.Yellow, + 0.8f to Color.White, + 0.9f to Color.Magenta, + 1f to Color.Cyan, + ) + ) + ), + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + ), + progression = Progression.NonLinear( + anchorPoints = listOf( + AnchorPoint(0f, 0f), + AnchorPoint(20f, 0.1f), + AnchorPoint(40f, 0.2f), + AnchorPoint(60f, 0.3f), + AnchorPoint(80f, 0.8f), + AnchorPoint(100f, 0.9f), + AnchorPoint(120f, 1f), + ) + ), + scaleConfig = ScaleConfig.NonLinearProgressionConfig( + scalePadding = 16.dp, + scaleLineLength = 10.dp, + scaleLabelLayout = { + Text( + text = it.toString(), + modifier = Modifier + .padding(16.dp) + ) + }, + markType = MarkType.Dot, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it%", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + Text( + text = "of people like numbers", + style = MaterialTheme.typography.body2, + modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) + ) + } + }, + indicator = { + Box( + modifier = Modifier + .background(Color.Red) + .fillMaxWidth() + .height(1.dp) ) - .rotate(-90f) + }, + minAndMaxValueLabel = null, + minValue = Float.MIN_VALUE, + maxValue = Float.MAX_VALUE, ) - }, - scale = Scale.NonLinear( - scalePoints = listOf( - ScalePoint(0f, 0f, "0"), - ScalePoint(10f, 0.1f, "10"), - ScalePoint(20f, 0.2f, "20"), - ScalePoint(30f, 0.3f, "30"), - ScalePoint(35f, 0.5f, "35"), - ScalePoint(40f, 0.7f, "40"), - ScalePoint(100f, 1f, "100"), - ), - scaleLabel = { - Text( - text = it, - modifier = Modifier - .padding(16.dp) - ) - }, - markType = MarkType.Dot, - ), - minAndMaxValueLabel = null, - ) + } + } - Dial( - value = Float.POSITIVE_INFINITY, - modifier = Modifier - .fillMaxWidth(), - animation = ChartDisplayAnimation.Disabled, - colors = DialColors( - progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), - gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), - progressBarColor = DialProgressColors.GradientWithStops( - listOf( - 0.5f to Color.Red, - 1f to Color.Green, - ) + item { + PresentedItem("No indicator, bigger angle") { + Dial( + value = sliderValue, + minValue = -50f, + maxValue = 150f, + modifier = commonModifier, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + thickness = 20.dp, + roundCorners = true, + joinStyle = DialJoinStyle.Overlapped, + fullAngleInDegrees = 260f, + ), + mainLabel = { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = "$it°C", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + } + }, + scaleConfig = ScaleConfig.LinearProgressionConfig( + smallMarkStep = 10f, + bigMarkStep = 50f, + scaleLabelLayout = { + Text( + text = it.toString(), + modifier = Modifier + .padding(10.dp) + ) + } + ), ) - ), - config = DialConfig( - thickness = 20.dp, - roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, - scalePadding = 16.dp, - scaleLineLength = 10.dp, - ), - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "$it%", - style = MaterialTheme.typography.h4, - color = AppTheme.colors.yellow - ) - Text( - text = "of people like numbers", - style = MaterialTheme.typography.body2, - modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) - ) - } - }, - indicator = { - Image( - painter = rememberVectorPainter(image = Arrow), - contentDescription = null, - modifier = Modifier - .padding( - start = 20.dp, + } + } + + item { + PresentedItem(text = "Non-round corners") { + Dial( + modifier = commonModifier, + value = sliderValue, + minValue = -50f, + maxValue = 150f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + thickness = 30.dp, + ), + mainLabel = { + Text( + text = "$it°C", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow, ) - .rotate(-90f) + } ) - }, - scale = Scale.NonLinear( - scalePoints = listOf( - ScalePoint(0f, 0f, "LO"), - ScalePoint(34f, 0.2f, "3.4"), - ScalePoint(47f, 0.4f, "4.7"), - ScalePoint(61f, 0.6f, "6.1"), - ScalePoint(73f, 0.8f, "7.3"), - ScalePoint(80f, 1f, "HI"), - ), - scaleLabel = { - Text( - text = it, - modifier = Modifier - .padding(16.dp) - ) - }, - markType = MarkType.Dot, - ), - minAndMaxValueLabel = null, - minValue = Float.MIN_VALUE, - maxValue = Float.MAX_VALUE, - ) + } + } - Slider( - value = sliderValue, - onValueChange = { - sliderValue = it.roundToInt().toFloat() - }, - valueRange = -50f..150f, - steps = 101, - modifier = Modifier - .fillMaxWidth() - ) + item { + PresentedItem(text = "No scale") { + Dial( + modifier = commonModifier, + value = sliderValue, + minValue = -50f, + maxValue = 150f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + thickness = 30.dp, + ), + mainLabel = { + Text( + text = "$it°C", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow, + ) + }, + scaleConfig = null, + ) + } + } - PercentageDial( - percentage = sliderValue, - modifier = Modifier - .fillMaxWidth(), - animation = ChartDisplayAnimation.Disabled, - config = DialConfig( - thickness = 20.dp, - roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, - ), - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "$it%", - style = MaterialTheme.typography.h4, - color = AppTheme.colors.yellow - ) - Text( - text = "of people like numbers", - style = MaterialTheme.typography.body2, - modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) - ) - } - }, - indicator = { - Box( + item( + span = { GridItemSpan(Int.MAX_VALUE) } + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(24.dp) + ) { + Text( + text = "Set the value for dials above", + ) + Slider( + value = sliderValue, + onValueChange = { + sliderValue = it.roundToInt().toFloat() + }, + valueRange = -50f..150f, + steps = 101, modifier = Modifier - .background(Color.Red) .fillMaxWidth() - .height(1.dp) + .weight(1f) ) } - ) - - PercentageDial( - percentage = Float.POSITIVE_INFINITY, - modifier = Modifier - .fillMaxWidth(), - animation = ChartDisplayAnimation.Disabled, - config = DialConfig( - thickness = 20.dp, - roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, - ), - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "$it%", - style = MaterialTheme.typography.h4, - color = AppTheme.colors.yellow - ) - Text( - text = "of people like numbers", - style = MaterialTheme.typography.body2, - modifier = Modifier.padding(vertical = AppTheme.dimens.grid_2) - ) - } - } - ) - - HorizontalDivider() - - TitleText(text = "Custom ranged dial") + } - Dial( - modifier = Modifier - .fillMaxWidth(), - value = 17f, - minValue = -20f, - maxValue = 50f, - animation = ChartDisplayAnimation.Simple { - spring( - dampingRatio = Spring.DampingRatioMediumBouncy, - stiffness = Spring.StiffnessLow - ) - }, - config = DialConfig( - thickness = 30.dp, - ), - mainLabel = { - Text( - text = "$it°C", - style = MaterialTheme.typography.h4, - color = AppTheme.colors.yellow + item { + PresentedItem(text = "Animated") { + Dial( + modifier = commonModifier, + value = 6f, + minValue = 0f, + maxValue = 10f, + animation = ChartDisplayAnimation.Simple { + spring( + dampingRatio = Spring.DampingRatioMediumBouncy, + stiffness = Spring.StiffnessLow + ) + }, + config = DialConfig( + thickness = 30.dp, + ), + mainLabel = { + Text( + text = "$it°C", + style = MaterialTheme.typography.h4, + color = AppTheme.colors.yellow + ) + } ) } - ) + } } } } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt index 8e554a4..3c1fcb4 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt @@ -24,6 +24,7 @@ import com.netguru.multiplatform.charts.line.LineChartSeries import com.netguru.multiplatform.charts.line.TooltipConfig import com.netguru.multiplatform.charts.line.XAxisConfig import com.netguru.multiplatform.charts.line.YAxisConfig +import com.netguru.multiplatform.charts.toRadians import com.netguru.multiplatform.charts.vertical import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan @@ -64,7 +65,7 @@ fun LineChartScreen() { dataName = "lots of data", lineColor = Color(0xFFFFCC00), listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> - val sine = sin(point.toFloat() * PI / 180).toFloat() + val sine = sin(point.toFloat().toRadians()) LineChartPoint( x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, y = sine + 1.05f, @@ -75,7 +76,7 @@ fun LineChartScreen() { dataName = "lots of data 2", lineColor = Color(0xFF32ADE6), listOfPoints = (1..(24 * 14)).filter { it % 8 == 0 }.map { point -> - val sine = sin(point.toFloat() * PI / 180).toFloat() + val sine = sin(point.toFloat().toRadians()) LineChartPoint( x = now.minus(TimeSpan(point * 5 * 60 * 1000.0)).unixMillisLong, y = sine, From a4b5d665246a58846fd9fe2099b5a23efcde0ef1 Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Mon, 23 Jan 2023 15:38:53 +0100 Subject: [PATCH 7/8] Fix (and add new) UI tests for Line Chart --- .../netguru/multiplatform/charts/Helpers.kt | 29 ++ .../multiplatform/charts/bar/BarChart.kt | 10 +- .../charts/bar/BarChartConfig.kt | 2 +- .../charts/bar/BarChartWithLegend.kt | 2 + .../charts/grid/ChartGridDefaults.kt | 19 +- .../charts/grid/GridChartDrawing.kt | 55 +- .../charts/grid/axisscale/y/YAxisScale.kt | 3 +- .../grid/axisscale/y/YAxisScaleDynamic.kt | 170 +++--- .../grid/axisscale/y/YAxisScaleStatic.kt | 55 +- .../multiplatform/charts/line/ChartLegend.kt | 4 +- .../netguru/multiplatform/charts/line/Line.kt | 26 +- .../multiplatform/charts/line/LineChart.kt | 19 +- .../charts/line/LineChartWithTwoYAxisSets.kt | 113 ++-- .../multiplatform/charts/line/XAxisConfig.kt | 2 +- .../line/{YAxisData.kt => YAxisConfig.kt} | 6 +- example-app/android/build.gradle.kts | 4 +- ...mLegend_doNotInterpolateOverNullValues.png | Bin 0 -> 96906 bytes ...g_alignToEdges_max3LinesC_customLegend.png | Bin 0 -> 97335 bytes ...s_alignToEdges_C_noLegend_dotsOnValues.png | Bin 0 -> 300872 bytes ...titleOnTheLeft_X_noRounding_C_noLegend.png | Bin 0 -> 286280 bytes ...omMarkers_alignToEdges_C_defaultLegend.png | Bin 0 -> 25847 bytes ...dedTo4_noTitle_X_noRounding_C_noLegend.png | Bin 0 -> 309626 bytes ...omMarkers_alignToEdges_C_defaultLegend.png | Bin 0 -> 26949 bytes ...omMarkers_alignToEdges_C_defaultLegend.png | Bin 0 -> 26949 bytes ...s_alignToEdges_C_noLegend_dotsOnValues.png | Bin 0 -> 425545 bytes .../multiplatform/charts/HelpersKtTest.kt | 71 +++ .../charts/bar/BarWithLegendTest.kt | 4 +- .../netguru/multiplatform/charts/bar/Data.kt | 3 +- .../multiplatform/charts/dial/DialTest.kt | 30 +- .../charts/dial/PercentageDialTest.kt | 23 +- .../grid/axisscale/y/YAxisScaleDynamicTest.kt | 490 ++++++++++++++++++ .../netguru/multiplatform/charts/line/Data.kt | 73 ++- .../charts/line/LineChartTest.kt | 346 +++++++++++++ .../multiplatform/charts/line/LineTest.kt | 80 --- .../charts/line/LineWithLegendTest.kt | 54 +- .../android/previews/BarChartPreview.kt | 1 + .../android/previews/LineChartPreview.kt | 21 +- .../application/screen/LineChartScreen.kt | 107 ++-- .../screen/LineChartWithTwoYAxisScreen.kt | 36 +- gradle/libs.versions.toml | 4 +- 40 files changed, 1424 insertions(+), 438 deletions(-) rename charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/{YAxisData.kt => YAxisConfig.kt} (68%) create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_C_customLegend_doNotInterpolateOverNullValues.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_max2Line_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_max3LinesC_customLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAboveAndBelowZero_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5ForceShowing0Line_Y_roundedTo4_titleOnTheLeft_X_noRounding_C_noLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_roundedTo4_noTitle_X_noRounding_C_noLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5ForceShowing0Line_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues.png create mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/HelpersKtTest.kt create mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamicTest.kt create mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineChartTest.kt delete mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineTest.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt index 55e5c9a..2defe19 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/Helpers.kt @@ -12,8 +12,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.layout.layout import kotlin.math.PI +import kotlin.math.absoluteValue +import kotlin.math.ceil +import kotlin.math.floor import kotlin.math.pow import kotlin.math.roundToInt +import kotlin.math.sign internal fun Double.mapValueToDifferentRange( inMin: Double, @@ -107,3 +111,28 @@ fun Modifier.vertical() = } fun Float.toRadians() = this * PI.toFloat() / 180f + +fun Float.roundToMultiplicationOf(multiplicand: Float, roundToCeiling: Boolean): Float { + if (this == 0f) { + return 0f + } + if (multiplicand <= 0) { + throw IllegalArgumentException("multiplicand must be positive!") + } + + fun Float.ceilOrFloor(ceil: Boolean): Float = if (ceil) { + ceil(this) + } else { + floor(this) + } + + val round = when (sign) { + -1f -> !roundToCeiling + 1f -> roundToCeiling + else -> throw IllegalStateException("If `this == 0f` this line should never be reached") + } + + val closest = (absoluteValue / multiplicand).ceilOrFloor(round) * multiplicand + + return sign * closest +} diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt index d85c6eb..80e9841 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChart.kt @@ -59,7 +59,7 @@ fun BarChart( config: BarChartConfig = BarChartConfig(), xAxisMarkerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, yAxisMarkerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.YAxisMarkerLayout, - yAxisLabelLayout: (@Composable () -> Unit)? = ChartGridDefaults.YAxisDataTitleLayout, + yAxisLabelLayout: (@Composable () -> Unit)? = null, animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), overlayDataEntryLabel: @Composable (dataName: String, dataNameShort: String?, dataUnit: String?, value: Any) -> Unit = ChartGridDefaults.TooltipDataEntryLabel, ) { @@ -120,10 +120,10 @@ fun BarChart( } ) { val yAxisScale = YAxisScaleDynamic( - min = data.minY, - max = data.maxY, - maxTickCount = config.maxHorizontalLinesCount, - roundClosestTo = config.roundMinMaxClosestTo, + chartData = data, + maxNumberOfHorizontalLines = config.maxHorizontalLinesCount, + roundMarkersToMultiplicationOf = config.roundMinMaxClosestTo, + forceShowingValueZeroLine = true, ) val grid = measureChartGrid( xAxisScale = FixedTicksXAxisScale( diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt index 25403cb..545ead9 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartConfig.kt @@ -19,5 +19,5 @@ data class BarChartConfig( val cornerRadius: Dp = BarChartDefaults.BAR_CORNER_RADIUS, val barsSpacing: Dp = BarChartDefaults.BAR_HORIZONTAL_SPACING, val maxHorizontalLinesCount: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, - val roundMinMaxClosestTo: Float = ChartGridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, + val roundMinMaxClosestTo: Float = ChartGridDefaults.ROUND_Y_AXIS_MARKERS_CLOSEST_TO, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt index 1d8317d..674495a 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/bar/BarChartWithLegend.kt @@ -27,6 +27,7 @@ fun BarChartWithLegend( config: BarChartConfig = BarChartConfig(), xAxisLabel: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, yAxisLabel: @Composable (value: Any) -> Unit = ChartGridDefaults.YAxisMarkerLayout, + yAxisLabelLayout: (@Composable () -> Unit)? = null, legendItemLabel: @Composable (name: String, unit: String?) -> Unit = ChartGridDefaults.LegendItemLabel, columnMinWidth: Dp = 200.dp, ) { @@ -39,6 +40,7 @@ fun BarChartWithLegend( config = config, xAxisMarkerLayout = xAxisLabel, yAxisMarkerLayout = yAxisLabel, + yAxisLabelLayout = yAxisLabelLayout, ) ChartLegend( legendData = data.legendData, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt index 9a3cfbf..83c6ac4 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/ChartGridDefaults.kt @@ -4,17 +4,19 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic +import com.netguru.multiplatform.charts.line.YAxisConfig import com.netguru.multiplatform.charts.vertical internal object ChartGridDefaults { const val NUMBER_OF_GRID_LINES = 5 - const val ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO = 10f - const val ROUND_X_AXIS_MIN_MAX_CLOSEST_TO = 15 * 60 * 1000L // 15 minutes + const val ROUND_Y_AXIS_MARKERS_CLOSEST_TO = 10f + const val ROUND_X_AXIS_MARKERS_CLOSEST_TO = 15 * 60 * 1000L // 15 minutes val YAxisMarkerLayout: @Composable (value: Any) -> Unit = { value -> Text( @@ -37,7 +39,7 @@ internal object ChartGridDefaults { ) } - val YAxisDataTitleYAxisData: YAxisTitleData = YAxisTitleData( + val YAxisDataTitle: YAxisTitleData = YAxisTitleData( labelLayout = YAxisDataTitleLayout, labelPosition = YAxisTitleData.LabelPosition.Left, ) @@ -72,4 +74,13 @@ internal object ChartGridDefaults { text = name + unit?.let { " ($it)" }.orEmpty(), ) } + + @Composable + fun yAxisConfig(data: GridChartData) = remember(data) { + YAxisConfig( + scale = YAxisScaleDynamic( + chartData = data, + ) + ) + } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt index 75cdacd..7713195 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/GridChartDrawing.kt @@ -6,6 +6,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import com.netguru.multiplatform.charts.grid.axisscale.x.XAxisScale import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange +import kotlin.math.sign fun DrawScope.drawChartGrid( grid: ChartGrid, @@ -19,12 +20,6 @@ fun DrawScope.drawChartGrid( strokeWidth = 1f, ) } - drawLine( - color = color, - start = Offset(0f, grid.zeroPosition.position), - end = Offset(size.width, grid.zeroPosition.position), - strokeWidth = 1f, - ) grid.verticalLines.forEach { drawLine( color = color, @@ -80,21 +75,45 @@ private fun measureHorizontalLines( ): List { val horizontalLines = mutableListOf() - if (axisScale.max == axisScale.min || axisScale.tick == 0f) { - return listOf( - LineParameters( - position = axisScale.max.mapValueToDifferentRange( - 0f, - axisScale.max, - startPosition, - endPosition + if (axisScale.max == axisScale.min || axisScale.step == 0f) { + return if(axisScale.max.sign != axisScale.min.sign) { + listOf( + LineParameters( + position = axisScale.max.mapValueToDifferentRange( + 0f, + axisScale.max, + startPosition, + endPosition + ), + value = axisScale.max, ), - value = axisScale.max, - ), - ) + LineParameters( + position = axisScale.min.mapValueToDifferentRange( + axisScale.min, + 0f, + startPosition, + endPosition + ), + value = axisScale.min, + ), + ) + + } else { + listOf( + LineParameters( + position = axisScale.max.mapValueToDifferentRange( + 0f, + axisScale.max, + startPosition, + endPosition + ), + value = axisScale.max, + ), + ) + } } - val valueStep = axisScale.tick + val valueStep = axisScale.step var currentValue = axisScale.min while (currentValue in axisScale.min..axisScale.max) { diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt index 7dc4d00..62b5454 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScale.kt @@ -1,7 +1,8 @@ package com.netguru.multiplatform.charts.grid.axisscale.y interface YAxisScale { - val tick: Float + val step: Float val min: Float val max: Float + val numberOfHorizontalLines: Int } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt index edf5070..c272ee7 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamic.kt @@ -1,102 +1,136 @@ package com.netguru.multiplatform.charts.grid.axisscale.y -import kotlin.math.ceil -import kotlin.math.floor -import kotlin.math.log10 +import com.netguru.multiplatform.charts.grid.ChartGridDefaults +import com.netguru.multiplatform.charts.grid.GridChartData +import com.netguru.multiplatform.charts.roundToMultiplicationOf +import kotlin.math.abs +import kotlin.math.max import kotlin.math.pow +import kotlin.math.roundToInt +import kotlin.math.sign class YAxisScaleDynamic( - min: Float, - max: Float, - maxTickCount: Int, - roundClosestTo: Float, + chartData: GridChartData, + maxNumberOfHorizontalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, + roundMarkersToMultiplicationOf: Float? = ChartGridDefaults.ROUND_Y_AXIS_MARKERS_CLOSEST_TO, + forceShowingValueZeroLine: Boolean = false, ) : YAxisScale { - override val tick: Float + override val step: Float override val min: Float override val max: Float + override val numberOfHorizontalLines: Int - init { - - if (roundClosestTo <= 0) { - throw IllegalArgumentException("roundClosestTo must be a positive number") - } + private fun roundToMultiplicationOf(numberToRound: Float, multiplicandBase: Float, ceiling: Boolean): Float { var moveDecimalPointBy = 0 - var tempClosestTo = roundClosestTo - if (roundClosestTo < 1) { - while (tempClosestTo.rem(1) > 0) { - tempClosestTo *= 10 + if (multiplicandBase < 1) { + var tmp = multiplicandBase + while (tmp.rem(1) > 0) { + tmp *= 10 moveDecimalPointBy++ } } - this.min = if (min.isNaN()) { + return numberToRound + .times(10f.pow(moveDecimalPointBy)) + .roundToMultiplicationOf( + multiplicand = multiplicandBase + .times(10f.pow(moveDecimalPointBy)), + roundToCeiling = ceiling, + ) + .div(10f.pow(moveDecimalPointBy)) + } + + init { + if (maxNumberOfHorizontalLines <= 0) { + throw IllegalArgumentException("maxNumberOfHorizontalLines must be positive") + } + if (roundMarkersToMultiplicationOf != null && roundMarkersToMultiplicationOf <= 0) { + throw IllegalArgumentException("roundMarkersToMultiplicationOf must be either null or a positive number") + } + val validMin = if (chartData.minY.isNaN()) { 0f } else { - min - .times(10f.pow(moveDecimalPointBy)) - .getClosest( - n = roundClosestTo - .times(10f.pow(moveDecimalPointBy)), - ceil = false, - ) - .div(10f.pow(moveDecimalPointBy)) - + chartData.minY } - this.max = if (max.isNaN()) { + val validMax = if (chartData.maxY.isNaN()) { 0f } else { - max - .times(10f.pow(moveDecimalPointBy)) - .getClosest( - n = roundClosestTo - .times(10f.pow(moveDecimalPointBy)), - ceil = true, - ) - .div(10f.pow(moveDecimalPointBy)) + chartData.maxY } - val range = niceNum(this.max - this.min, false) - this.tick = niceNum(range / (maxTickCount), true) - } + this.step = if (maxNumberOfHorizontalLines == 1) { + 0f + } else { + val maxDiffToShowLinesFor = if (validMax.sign == validMin.sign) { + validMax - validMin + } else { + max(validMax, -validMin) + } + (maxDiffToShowLinesFor / maxNumberOfHorizontalLines) + .let { + if (roundMarkersToMultiplicationOf == null) { + it + } else { + roundToMultiplicationOf(it, roundMarkersToMultiplicationOf, true) + } + } + } - private fun Float.getClosest(n: Float, ceil: Boolean) = when { - this > 0f -> ((this + n - 1) / n).ceilOrFloor(ceil) * n - this < 0f -> ((this - n + 1) / n).ceilOrFloor(ceil) * n - else -> 0f - } + this.min = run { + val roundedMin = if (step == 0f) { + if (roundMarkersToMultiplicationOf == null) { + // do not round + validMin + } else { + roundToMultiplicationOf(validMin, roundMarkersToMultiplicationOf, false) + } + } else { + roundToMultiplicationOf(validMin, step, false) + } - private fun Float.ceilOrFloor(ceil: Boolean): Float = if (ceil) { - ceil(this) - } else { - floor(this) - } + if (roundedMin > 0 && forceShowingValueZeroLine) { + 0f + } else { + roundedMin + } + } - /** - * Returns a "nice" number approximately equal to range. - * Rounds the number if round = true Takes the ceiling if round = false. - * - * @param range the data range - * @param round whether to round the result - * @return a "nice" number to be used for the data range - */ - private fun niceNum(range: Float, round: Boolean): Float { - /** nice, rounded fraction */ - val exponent: Float = floor(log10(range)) + this.max = run { + val roundedMax = if (step == 0f) { + if (roundMarkersToMultiplicationOf == null) { + // do not round + validMax + } else { + roundToMultiplicationOf(validMax, roundMarkersToMultiplicationOf, true) + } + } else { + roundToMultiplicationOf(validMax, step, true) + } - /** exponent of range */ - val fraction = range / 10.0f.pow(exponent) + if (roundedMax < 0 && forceShowingValueZeroLine) { + 0f + } else { + roundedMax + } + } - /** fractional part of range */ - val niceFraction: Float = if (round) { - if (fraction < 1.5) 1.0f else if (fraction < 3) 2.0f else if (fraction < 7) 5.0f else 10.0f + this.numberOfHorizontalLines = if (step == 0f) { + if (min.sign == max.sign) { + 1 + } else { + 2 + } } else { - if (fraction <= 1) 1.0f else if (fraction <= 2) 2.0f else if (fraction <= 5) 5.0f else 10.0f + if (min.sign == max.sign) { + ((max - min) / step).roundToInt() + } else { + (max / step).roundToInt() + (-min / step).roundToInt() + } } - return niceFraction * 10.0f.pow(exponent) } override fun toString(): String { - return "min: $min, max: $max, tick: $tick" + return "min: $min, max: $max, step: $step" } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt index 80007af..841d38d 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleStatic.kt @@ -1,61 +1,26 @@ package com.netguru.multiplatform.charts.grid.axisscale.y -import kotlin.math.pow +import com.netguru.multiplatform.charts.grid.ChartGridDefaults +import com.netguru.multiplatform.charts.grid.GridChartData class YAxisScaleStatic( - min: Float, - max: Float, - maxTickCount: Int, - roundClosestTo: Float, + override val min: Float, + override val max: Float, + override val numberOfHorizontalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, ) : YAxisScale { - override val tick: Float - override val min: Float - override val max: Float + override val step: Float init { - if (roundClosestTo <= 0) { - throw IllegalArgumentException("roundClosestTo must be a positive number") - } - - var moveDecimalPointBy = 0 - var tempClosestTo = roundClosestTo - if (roundClosestTo < 1) { - while (tempClosestTo.rem(1) > 0) { - tempClosestTo *= 10 - moveDecimalPointBy++ - } - }/* else if (roundClosestTo >= 10) { - while (tempClosestTo >= 10) { - tempClosestTo /= 10 - moveDecimalPointBy-- - } - }*/ - - this.min = if (min.isNaN()) { - 0f - } else { - min.getClosest(roundClosestTo) -// min.times(10f.pow(moveDecimalPointBy)).getClosest(roundClosestTo.times(10f.pow(moveDecimalPointBy))).div(10f.pow(moveDecimalPointBy)) - } - this.max = if (max.isNaN()) { - 0f - } else { - max.getClosest(roundClosestTo) -// max.times(10f.pow(moveDecimalPointBy)).getClosest(roundClosestTo.times(10f.pow(moveDecimalPointBy))).div(10f.pow(moveDecimalPointBy)) + if (numberOfHorizontalLines <= 0) { + throw IllegalArgumentException("numberOfHorizontalLines must be positive") } val range = this.max - this.min - this.tick = (range / maxTickCount) - } - - private fun Float.getClosest(n: Float) = when { - this > 0f -> ((this.toInt() + n - 1) / n) * n - this < 0f -> ((this.toInt() - n + 1) / n) * n - else -> 0f + this.step = range / numberOfHorizontalLines } override fun toString(): String { - return "min: $min, max: $max, tick: $tick" + return "min: $min, max: $max, step: $step" } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt index d3c7fca..9ffcffe 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/ChartLegend.kt @@ -50,9 +50,7 @@ fun ChartLegend( ) { val cols = maxOf((maxWidth / columnMinWidth).toInt(), 1) val rows = legendData.chunked(cols) - LazyColumn( - verticalArrangement = Arrangement.spacedBy(16.dp) - ) { + LazyColumn { itemsIndexed(rows) { rowIndex, legendRowItems -> Row( Modifier.height(IntrinsicSize.Min), diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt index 17d3f3c..42587d2 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/Line.kt @@ -11,14 +11,16 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.drawscope.Stroke import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScale import com.netguru.multiplatform.charts.mapValueToDifferentRange internal fun DrawScope.drawLineChart( lineChartData: LineChartData, alpha: List, - drawPoints: Boolean, + drawDots: Boolean, selectedPointsForDrawing: List, xAxisScale: TimestampXAxisScale, + yAxisScale: YAxisScale, shouldInterpolateOverNullValues: Boolean, ) { // calculate path @@ -46,7 +48,13 @@ internal fun DrawScope.drawLineChart( } } - val shouldSetZeroAsMinValue = unfilteredData.listOfPoints.filter { it.y != null }.distinctBy { it.y }.size == 1 + val (shouldSetZeroAsMinValue, shouldSetZeroAsMaxValue) = unfilteredData + .listOfPoints + .filter { it.y != null } + .distinctBy { it.y } + .takeIf { it.size == 1 } + ?.let { (it.first().y!! > 0) to (it.first().y!! < 0) } + ?: (false to false) filteredLists .map { unfilteredData.copy(listOfPoints = it) } @@ -57,10 +65,11 @@ internal fun DrawScope.drawLineChart( val mappedPoints = mapDataToPixels( xAxisScale = xAxisScale, - lineChartData = lineChartData, + yAxisScale = yAxisScale, currentSeries = data, canvasSize = size, shouldSetZeroAsMinValue = shouldSetZeroAsMinValue, + shouldSetZeroAsMaxValue = shouldSetZeroAsMaxValue, ) val connectionPoints = calculateConnectionPointsForBezierCurve(mappedPoints) @@ -83,8 +92,8 @@ internal fun DrawScope.drawLineChart( } } - if (mappedPoints.size == 1 || drawPoints) { - val pointSize = data.lineWidth.toPx().times(if (drawPoints) 3f else 2f) + if (mappedPoints.size == 1 || drawDots) { + val pointSize = data.lineWidth.toPx().times(if (drawDots) 3f else 2f) val widthThePointsTake = mappedPoints.maxOf { it.x } - mappedPoints.minOf { it.x } val isEnoughSpace = (mappedPoints.size - 2 /* this 2 is a magic number, it just works better with it */) * pointSize * 1.5 < widthThePointsTake @@ -160,11 +169,12 @@ internal fun DrawScope.drawLineChart( } private fun mapDataToPixels( - lineChartData: LineChartData, currentSeries: LineChartSeries, canvasSize: Size, shouldSetZeroAsMinValue: Boolean, + shouldSetZeroAsMaxValue: Boolean, xAxisScale: TimestampXAxisScale, + yAxisScale: YAxisScale, ): List { val mappedPoints = currentSeries.listOfPoints.map { val x = it.x.mapValueToDifferentRange( @@ -174,8 +184,8 @@ private fun mapDataToPixels( outMax = canvasSize.width.toLong() ).toFloat() val y = it.y?.mapValueToDifferentRange( - inMin = if (shouldSetZeroAsMinValue) 0f else lineChartData.minY, - inMax = lineChartData.maxY, + inMin = if (shouldSetZeroAsMinValue) 0f else yAxisScale.min, + inMax = if (shouldSetZeroAsMaxValue) 0f else yAxisScale.max, outMin = canvasSize.height, outMax = 0f, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt index 5892d64..b5d3dea 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChart.kt @@ -25,7 +25,6 @@ import androidx.compose.ui.input.pointer.changedToUp import androidx.compose.ui.input.pointer.isOutOfBounds import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.getAnimationAlphas @@ -35,7 +34,6 @@ import com.netguru.multiplatform.charts.grid.LineParameters import com.netguru.multiplatform.charts.grid.YAxisLabels import com.netguru.multiplatform.charts.grid.YAxisTitleData import com.netguru.multiplatform.charts.grid.axisscale.x.TimestampXAxisScale -import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.grid.drawChartGrid import com.netguru.multiplatform.charts.grid.measureChartGrid import com.netguru.multiplatform.charts.theme.ChartTheme @@ -64,7 +62,7 @@ import com.netguru.multiplatform.charts.theme.ChartTheme fun LineChart( data: LineChartData, modifier: Modifier = Modifier, - yAxisConfig: YAxisConfig = YAxisConfig(), + yAxisConfig: YAxisConfig = ChartGridDefaults.yAxisConfig(data), xAxisConfig: XAxisConfig? = XAxisConfig(), legendConfig: LegendConfig? = LegendConfig(), colors: LineChartColors = LineChartDefaults.lineChartColors(), @@ -124,7 +122,8 @@ fun LineChart( ) - 1 ) .coerceAtLeast(1), - roundClosestTo = xAxisConfig?.roundMinMaxClosestTo ?: ChartGridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, + roundClosestTo = xAxisConfig?.roundMarkersToMultiplicationOf + ?: ChartGridDefaults.ROUND_X_AXIS_MARKERS_CLOSEST_TO, ) BoxWithConstraints( modifier = Modifier @@ -134,15 +133,10 @@ fun LineChart( .drawBehind { val lines = measureChartGrid( xAxisScale = xAxisScale, - yAxisScale = YAxisScaleDynamic( - min = data.minY, - max = data.maxY, - maxTickCount = yAxisConfig.maxHorizontalLines - 1, - roundClosestTo = yAxisConfig.roundMinMaxClosestTo, - ), + yAxisScale = yAxisConfig.scale, ) verticalGridLines = lines.verticalLines - horizontalGridLines = lines.horizontalLines + lines.zeroPosition + horizontalGridLines = lines.horizontalLines drawChartGrid( grid = lines, color = colors.grid, @@ -150,9 +144,10 @@ fun LineChart( drawLineChart( xAxisScale = xAxisScale, + yAxisScale = yAxisConfig.scale, lineChartData = data, alpha = alpha, - drawPoints = shouldDrawValueDots, + drawDots = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw, shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt index 8b69389..c70ba58 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/LineChartWithTwoYAxisSets.kt @@ -67,8 +67,8 @@ fun LineChartWithTwoYAxisSets( leftYAxisData: LineChartData, rightYAxisData: LineChartData?, modifier: Modifier = Modifier, - leftYAxisConfig: YAxisConfig = YAxisConfig(), - rightYAxisConfig: YAxisConfig = YAxisConfig(), + leftYAxisConfig: YAxisConfig = ChartGridDefaults.yAxisConfig(leftYAxisData), + rightYAxisConfig: YAxisConfig? = rightYAxisData?.let { ChartGridDefaults.yAxisConfig(it) }, xAxisConfig: XAxisConfig? = XAxisConfig(), legendConfig: LegendConfig? = LegendConfig(), colors: LineChartColors = LineChartDefaults.lineChartColors(), @@ -114,7 +114,7 @@ private fun LineChartWithTwoYAxisSetsLayout( rightYAxisData: LineChartData, modifier: Modifier, leftYAxisConfig: YAxisConfig, - rightYAxisConfig: YAxisConfig, + rightYAxisConfig: YAxisConfig?, xAxisConfig: XAxisConfig?, legendConfig: LegendConfig?, colors: LineChartColors, @@ -148,7 +148,7 @@ private fun LineChartWithTwoYAxisSetsLayout( modifier = modifier, ) { if (leftYAxisConfig.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top || - rightYAxisConfig.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top + rightYAxisConfig?.yAxisTitleData?.labelPosition == YAxisTitleData.LabelPosition.Top ) { Row( horizontalArrangement = Arrangement.SpaceBetween, @@ -157,7 +157,7 @@ private fun LineChartWithTwoYAxisSetsLayout( .fillMaxWidth() ) { leftYAxisConfig.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) - rightYAxisConfig.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) + rightYAxisConfig?.yAxisTitleData?.labelLayout?.invoke() ?: Spacer(Modifier.size(1.dp)) } } Row(modifier = Modifier.weight(1f)) { @@ -200,7 +200,7 @@ private fun LineChartWithTwoYAxisSetsLayout( ) - 1 ) .coerceAtLeast(1), - roundClosestTo = xAxisConfig?.roundMinMaxClosestTo + roundClosestTo = xAxisConfig?.roundMarkersToMultiplicationOf ) BoxWithConstraints( Modifier @@ -210,61 +210,57 @@ private fun LineChartWithTwoYAxisSetsLayout( val lines = measureChartGrid( xAxisScale = xAxisScale, yAxisScale = YAxisScaleStatic( - min = 0f, - max = leftYAxisConfig.maxHorizontalLines.toFloat(), - maxTickCount = leftYAxisConfig.maxHorizontalLines - 1, - roundClosestTo = 1f, + min = minOf(leftYAxisData.minY, rightYAxisData.minY), + max = maxOf(leftYAxisData.maxY, rightYAxisData.maxY), + numberOfHorizontalLines = minOf( + leftYAxisConfig.scale.numberOfHorizontalLines, + rightYAxisConfig?.scale?.numberOfHorizontalLines ?: Int.MAX_VALUE + ) ), ).also { verticalGridLines = it.verticalLines } - leftYAxisMarks = measureChartGrid( - xAxisScale = TimestampXAxisScale( - min = 0, - max = 0, - roundClosestTo = xAxisConfig?.roundMinMaxClosestTo, - ), - yAxisScale = YAxisScaleDynamic( - min = leftYAxisData.minY, - max = leftYAxisData.maxY, - maxTickCount = leftYAxisConfig.maxHorizontalLines - 1, - roundClosestTo = leftYAxisConfig.roundMinMaxClosestTo, + if (leftYAxisConfig.markerLayout != null) { + leftYAxisMarks = measureChartGrid( + xAxisScale = TimestampXAxisScale( + min = 0, + max = 0, + roundClosestTo = xAxisConfig?.roundMarkersToMultiplicationOf, + ), + yAxisScale = leftYAxisConfig.scale ) - ) - .horizontalLines - .let { - val containsZeroValue = - it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null - if (containsZeroValue) { - it - } else { - it + lines.zeroPosition - } - } - rightYAxisMarks = measureChartGrid( - xAxisScale = TimestampXAxisScale( - min = 0, - max = 0, - roundClosestTo = xAxisConfig?.roundMinMaxClosestTo, - ), - yAxisScale = YAxisScaleDynamic( - min = rightYAxisData.minY, - max = rightYAxisData.maxY, - maxTickCount = rightYAxisConfig.maxHorizontalLines - 1, - roundClosestTo = rightYAxisConfig.roundMinMaxClosestTo, + .horizontalLines +// .let { +// val containsZeroValue = +// it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null +// if (containsZeroValue) { +// it +// } else { +// it + lines.zeroPosition +// } +// } + } + if (rightYAxisConfig?.markerLayout != null) { + rightYAxisMarks = measureChartGrid( + xAxisScale = TimestampXAxisScale( + min = 0, + max = 0, + roundClosestTo = xAxisConfig?.roundMarkersToMultiplicationOf, + ), + yAxisScale = rightYAxisConfig.scale ) - ) - .horizontalLines - .let { - val containsZeroValue = - it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null - if (containsZeroValue) { - it - } else { - it + lines.zeroPosition - } - } + .horizontalLines +// .let { +// val containsZeroValue = +// it.firstOrNull { line -> line.position == lines.zeroPosition.position } != null +// if (containsZeroValue) { +// it +// } else { +// it + lines.zeroPosition +// } +// } + } drawChartGrid(lines, colors.grid) @@ -274,13 +270,14 @@ private fun LineChartWithTwoYAxisSetsLayout( // same start and end point, making (at least) one of them drawn incorrectly lineChartData = leftYAxisData.addNoYValuePointsFrom(rightYAxisData), alpha = alphas, - drawPoints = shouldDrawValueDots, + drawDots = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw.filter { leftYAxisData.series.contains( it.lineChartSeries ) }, xAxisScale = xAxisScale, + yAxisScale = leftYAxisConfig.scale, shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) @@ -290,13 +287,15 @@ private fun LineChartWithTwoYAxisSetsLayout( // same start and end point, making (at least) one of them drawn incorrectly lineChartData = rightYAxisData.addNoYValuePointsFrom(leftYAxisData), alpha = alphas, - drawPoints = shouldDrawValueDots, + drawDots = shouldDrawValueDots, selectedPointsForDrawing = pointsToDraw.filter { rightYAxisData.series.contains( it.lineChartSeries ) }, xAxisScale = xAxisScale, + + yAxisScale = rightYAxisConfig?.scale ?: YAxisScaleDynamic(rightYAxisData), shouldInterpolateOverNullValues = shouldInterpolateOverNullValues, ) } @@ -359,7 +358,7 @@ private fun LineChartWithTwoYAxisSetsLayout( } } - if (rightYAxisConfig.markerLayout != null) { + if (rightYAxisConfig?.markerLayout != null) { YAxisLabels( horizontalGridLines = rightYAxisMarks, yAxisMarkerLayout = rightYAxisConfig.markerLayout, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt index 2937cc2..8b0a06c 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/XAxisConfig.kt @@ -7,6 +7,6 @@ data class XAxisConfig( val markerLayout: @Composable (value: Any) -> Unit = ChartGridDefaults.XAxisMarkerLayout, val hideMarkersWhenOverlapping: Boolean = false, val alignFirstAndLastToChartEdges: Boolean = false, - val roundMinMaxClosestTo: Long = ChartGridDefaults.ROUND_X_AXIS_MIN_MAX_CLOSEST_TO, + val roundMarkersToMultiplicationOf: Long = ChartGridDefaults.ROUND_X_AXIS_MARKERS_CLOSEST_TO, val maxVerticalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, ) diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisConfig.kt similarity index 68% rename from charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt rename to charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisConfig.kt index 7031280..6512a8f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisData.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/line/YAxisConfig.kt @@ -3,10 +3,10 @@ package com.netguru.multiplatform.charts.line import androidx.compose.runtime.Composable import com.netguru.multiplatform.charts.grid.ChartGridDefaults import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScale data class YAxisConfig( val markerLayout: (@Composable (value: Any) -> Unit)? = ChartGridDefaults.YAxisMarkerLayout, - val yAxisTitleData: YAxisTitleData? = ChartGridDefaults.YAxisDataTitleYAxisData, - val roundMinMaxClosestTo: Float = ChartGridDefaults.ROUND_Y_AXIS_MIN_MAX_CLOSEST_TO, - val maxHorizontalLines: Int = ChartGridDefaults.NUMBER_OF_GRID_LINES, + val yAxisTitleData: YAxisTitleData? = ChartGridDefaults.YAxisDataTitle, + val scale: YAxisScale, ) diff --git a/example-app/android/build.gradle.kts b/example-app/android/build.gradle.kts index 7814f96..f95632e 100644 --- a/example-app/android/build.gradle.kts +++ b/example-app/android/build.gradle.kts @@ -44,5 +44,7 @@ android { } shot { - tolerance = 2.0 // 2% tolerance, needed for testing on different devices +// tolerance is needed when tests were recorded on a machine with Intel processor and executed on an Apple's M1 (or M2?) +// based machine (or vice versa). Here is more about it: https://github.com/pedrovgs/Shot/issues/265 +// tolerance = 0.5 // 0.5% } diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_C_customLegend_doNotInterpolateOverNullValues.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_C_customLegend_doNotInterpolateOverNullValues.png new file mode 100644 index 0000000000000000000000000000000000000000..424501724f07892e4f8890d125a8afd0941a6f0f GIT binary patch literal 96906 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 literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_max2Line_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_max3LinesC_customLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_intermittentValues_Y_noRounding_noTitle_max2Line_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_max3LinesC_customLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..930ca43785f4c7a1892f67357e6f7836a6da4d7b GIT binary patch literal 97335 zcmZ5obwE_x*TsjzGXND8B~?&F1VmDhus}fRP6g?fj$u#~1O$}s?(T+BDe01qLAskE zhWO6C1NeR)e{$=beb!!k?S1wccS&(!qBG=Y@bK`6L|#0T#=|?wjfeNI{l5g@Kl;}* z!twB&@kE|ImbLAlA37aOsa?Re+{q{M>x0poZwS)Il7crr8oj>xhVWaL=S4y0*jUvo zkJ}}RX&P2zay^~D%UPfIr=p`1JSp{9+g;(-hwGY`WM9y|KUq2_w(<6M$PF2e&X5q< z)?KGoQgPH8=A&K5o!9<(VWEl z#AZ5N9?Yucij+9fw&1iDCQWH2EAwd2GDYE_a=@f){{u2BV+vpJ`w2We!9AT;@2v)f z(9zY##sXsR;li0je*DnWz&LoxjZp`x9;Zn|4Xl)GTOE9RU*pS=>D?Xym!caZZDTJv z%(Grsx6|(1JBMAMAAEh`1R=Pj_P|(~0W<6%*c4G_g!HEMPTsk%cME=~bFny%lIFlx zrhG$w3Y8@5@uIY(Z&XYpwUqA@=SfQNuw}z0N+XkxA%XEt&14w8dB1+w)=p33%DCSU zTbkDI;l=PNBmZo$r(eSX3PRB8>xJ$(AzqqIyd2OYyHE`?` zSs?Rx?^{1Qr)B&<1WR<#Ag*_|BGo-;y{8?Ezga8pq7PKuyA({fMH#x48Qqthipc4s zRFU+;JJ`fOt|~H$7vVWkiSjb@@3fzYh%7PxE!DL(ubXyu$|U~rGmGGFnLWyB&FdhIilkO+KXZ zOt{W4P3L*T%!o{DN_;m!=UBPn6J|GGrdKi)-XCth{r-p18O zwq^@t;I#;qgo`;#mH4AR$R<=oys9_%T9d(it{Aq(>+O%yb#HNR%L+_?^W!?!I{#4? zq`U3@wlvd=5I(F;&Ppv~?beFn8IEaRVtjAnQM%G0S)s9X)$8s4ldsy4O# z^N9?Ak0oo5oX_4;)p4aJXL~Yivw_56sbaI1At}6L(okb>RsrDwrad(6CUCEg#ObR5 zt=6xvpU*NUSAV`xe^J-ucaiH({%LM?hlK)QOvKn9HyV?*MB~D~+uh2B8NqxG){ii~ zTC6sUgZ({7OkPx1DR;-nAAFiEL7)BTtjZmOaI>GM`B?#~sMi}9FGL+U?vu)N2#yX~ zgjIRTS|xu9mfql5{RTPkgSYLy3|L?P$Sdv;~~FVuWU2 zVe~Vt_vfhn^`xA^ca0mpB%#Bh5438}MO_7EBjMRyJ`q8FcPFG(Rtvj8W@VD!)UT%! z*NBzO>UJLcCQR*am{n0|HJ0Bg?#Y7OZd}@Ooe0w4C+3~cRy41|r@vnG?I{VGHKKFJ?`QJq(8wNz& z9RuPW%hwCKi50QC~VG1S&8*6}Kjv*jm5nMj^VB0E@SI zF<0bMlJNP{Fo&B9-Qpa)ZU#7l5FS$KDCTvm)#nt4;yXf%0m}*h+d$N@F%{!updI9 zW7eiNOU#{Fwpbd>kFcNH8F3+5ETp-Mpqy7g?R53ey~ii4EvnqeP(B6t6|0J{dPt36 zM;VUB``yjiU7bn0)!H`Q!tpz;@kAYkX}Q!{t}Dn~5gz)niY0_;(XL>CsP>NoTXByP zi>dBz4QzkUC_uNf1c-Ri6bYSp;tvzTv6aS!BAS~+X;e*3dT95Yb%3}gXRZEx{R{~O z5nauAmuK`6k%KzXdgOxfc@Ij($Rh`>dejPfR7@+Z9RHlvSZ08xnCHoSw@%|AbcppE zKgR?GI+^*3kbhvWU3&!lK3arFJ#gFH>IyHeVeZW0QID&@v5WTZ11M`43{fz(Je&%@ z8px0Q7qYk?KQU&#bB)l`X_75K(J&)kSl1-@$77om2Lj<8c0U%xj93BQ+tF%wu|1dg zgX>8aT>IOt$nNfg4UL1#T6NwVr{N*xwVI@UqEzA>=5`nH^QDd|c|$-rbc=1I7r;Xk za701R4Ab4L@>NlY2F$zU6uLfq*4P~-%c-Mws8-UADEM8JGH5+uY!3LZN8L302f@k& z3$iZ>#F@5cb*G1;AI`4onmR5RcHIf$4UK5GxI7zh%`6=(W`Tz10EF$2q~f1hoK`%| ztBAOMR|dLX0Fl;sKD&z8YVZ8PR-J$WO4oC}+y76M8`csqS!rKN(xku@>-A~6!eJh} zy7@1|$&y*6CQ?d>jjplWMrO~cC?vnr{#sN|rS)RTR5z7bxOKn&%BUwxw|bIK*sHQ9 z;4RbYY&!msF!%nJD7!9^h~adbiea+C5F0lE2{mQZ!S0j_zV~`PJ#ueOLo1`8 zd$wbVO}oLrc-&V^xrg-j%VfTa1X>^_WW%iN!(Ni-=U?SAQT1=sj=Bf@o>ybf;NjhX z`OW!q3l7e{c~-7u{f{??@Y>P6t?Yoj32I zqJz;~Z;lq(ZdIiy)0XY1JN;;#z`i*|tQjZ~9$~GfVAiFr<^xO-szyqfs%vLBpOFp` zpZ4$?_!b{a1=9owun*8Ocb~rul~pTNzQV@UG!pHQZ})OO#*LbsF+KZ92Co)a+JdYE zHkJ+zu?M!xBiz{eJi{BczVYvWjXwUxm{oppZK{>b48q5UxlBfuV&X=pR$^XRt#~`?e+RO+S^}#=|*ReZN~892d>wwyWfQZ z3Z>1UIpm?W8V5T)wtz~2NV!q)IF`aVU&{Etex!7YEQP8)uu^v^XUFTe`Uyo%@oLw> zz%Az^9Yk5Rgsg?D9nfLboCEi$IW5`G#uaVG%sr6tV2@Tbt=KR?&33IifVu2Ku1b|+ zwqd8xQj$;hfpl~Mr&1 z4DLJZ#R?k6izB~sS87F!a-KJ)$}XQ#qlez6XT~+G=q-8+%ST8ZY;9`!2tO`Anoi^b zCWarL96=BPrBX);g~MVWzv^esxk;lKJ#3pD?i!{;EWvjC+x+X1Dw@pN)yAZ(;fHIn zvUi!fm83o*4lVm$4T*5-sah;6I!U+`Zr5ID5qk&QW`%o0pp8RATg-*A+FMJ(@1+Jg zehWhhSz9zvjna>{-&*%nRl9dxy+0Dc#_Un)nh7r=dvaRl-Kk1lAHI(9*X`+^u?opS z@ESf=vr)6It6KhZfmVneP0-PCLu&oZ2JV??jlERavgfxNnagD3Qc|`tKHfU&>^9<; z^l4^kVM7RV4Sq#BG-Q_DZuh-r$-WkwjBS&{jnaQ}-JhfTg=ShtDiNDQ)j8t8K=^|{ z;){}Y7fb;z46|xOD`H$+65u3H?|#v6D0o*3FU$VAzqhXXC1aw)aRjTFHZNK#S~Syf z4p~YO3R~EoC(3cPhjB*!i{?PlLtys?@4vy^tol7SK>S8T!C!h07~LtTN|@jG-u#z4 z1#|v)_Q_{)-@0zM#wD-Dp*fe~=NbZs{O7O@uXoTV#Y;%mKX~(`AVvq)6ENo3KdYG3 zBkdc+d2bOt{Lf?_4_d2Oe`hsP1WLgZjcK>NeE0#pgB^ux31lc0p5r)em!5%#Yv_MI zg9qia0ir;}4#-F|d7WpXy5LplYX2{kJd=N?vU#hq3qmlf&P$F^LaWnScN1d?<O7vBhFWFL#;34(+-fk$vK#EVHAa%uNVMt_>jgE!D}bMf!NehXUM5Kg9huvwBXSSr_zWEZ`Q#36 zSziyAe|Dp3sr-(1!akRfUL{rB?t{@Vg9KOG;kwtiS(WZ|KLo0kcgY9nM z;P!ch4h{TqqB{|&Z}btU9NVO)Vt2CjhHNk~>hQ8?ProP3Wtnv&@#)ozGl+_UYzSZA zr!+GvQsY5t)w417+dNtSgut=u>uYu^HPVkjO<>onKLHtb?Fzz%2!4WqOAF@gB#~uR?tHP6p&?r5WqUt-GDUytwZLGkE1#c*&^?^N_z%Lhvdcm~;{8p@)5U8sOY<)9i%3pU&SgbaFaOaOe!5fn z_D>BGopl{1a)=OxzUZCiilvc1L?sJ$!BlLe->`2LC2&!+5dQ+WR4y?@^#Zjb*kn0fNBA>-`6>peRND>;Uvefv`qZH;QvT#<{6 z>1{N+z(7AbaGJo^a=#Xz#1f1N`5*k+*ON;4Yqo^XZ{7<66Gh$vLM29ysR4Oww`*Q=RR z3~)#mAQ4<-w1@ub9TllbKxl~zy@Y%#&vYkEW#jTk`uRn8B9+>aN0Nowzo+6`zxBZS zDF4m0xESQZQ=E*mZ*w8h(a29)<8u9bg@6>8N zkZ?lyVuG}O&b7-+;m~Iu!z6SER9S|;eN`X#q3m<~hIS%&jt#lIXMD&}ZBJMK@doSI z7NZnFyl0AYlz&9B`e+>QJM0VDJBV7-KRr-6wLKidFMj!G_gAL`l074*Z|m zL$)afjEnS!&`?3(M+Z*CI=fLfRPt%BHTzwC@K%c6WtIU)4`*&wh_}v-^jZ%TN=QhB zG5&_*R$H^vMjC+SjB|U9u2g=8r;hY`5dufU)h;BHt>~+)nm~y(K0k=H%2(NpI=Ysx zzYR=9Oav`A>{)jb*U9&i1ezD0y(r@fWOs>0Bt1nA;wbRM?rIRYUFb`4Vc6q#q^?Om z`tX9K$-Yo7zcpt_LLYGd>C2g6U}Hn0|TcI9^yn)l(@H2n!RmB_r7bSBOnshxOJ9gvI}z= zN57Kxh7GMwfda@lC6VUzL)~fe)sYmi|{}zE&6%n=Vb?oRap!z9O%ilkunNwlYDBhlIa<|=GnRkxc#$00K zb9Af&QHVhWgG-_YY&6SuK9@MD-E~M6U+viOba^-!ff%PYx;=h+r4(>Gat9I`1 z3L-w9+jK$C%}B=wyd%9PWr1~7vu)F=M-O}g!sFXGJM|aJzExLm9l&h!YpTOuh5!mkbGIU4GmKdwC7fQ2aFNm+$HxK-w&wLT4vv8nBl z@16HIkzxhcD3wB|OrK5vYWwlH70zyc-v9>wU2NWEO}0Q~#oVirf0z>eelz=fen5t^ z|Bkzyygto`ajSd1Za5YwO_p}IUH&oexgr(UVRDjcwKK#la4=rLzPq>AUZ^#{z zKG_5xUqT9l=J*RLN*-<;;CsjG`yvP+k@)q-1s+x~cn5g!YWEH0tF?RpvXYq{6KJ0j z;)3BnqEV5)B4WLXEx~psVcv6@RSPJ_1mmO+R>S1*IQZr( zv8%l2YJD^;2WohEFQ>0{OXAcd{i{gTmO%~E3c7AZT0{bA+&%}qcJ@uX+ZUh}x%!1_ z;NAO7QmvWpLzIgbAM8srjsJR}^Ri$=|2h-ZX@eddQ`ol++32DpADF$~IT`R=0$*w_ z4TkabW1GQmh?R;xjL13abo?VTe6Zh{k!}hPp)&hIq2T4sLmJ95T;)WMW5TwliYQ}bis!|6!E8G%-cOF=?GS; zGo3Q4nPr{Mv}tTVO4khG1p~GCZ;1B2Oq=J9(@*87t{$zUjC}=SsRD#xA)id4lEFgK z7=$r8x{2{MY(ZKN_Oc=YKajQTD zXV=nZ<09==G%mf%*OrqmD>$qn^oy9jvYSnr_gnz`U{3ZP-e-@fYi2TRjrX*5e+oGd z6DS=}!uYXXHIY!V>iV2fD5^12{MVT_vOWvbG%wNxbLW6O#@jP8<#4TQK!W(tH(clg zl*{liAI%`Td_cyP$nz>|taid!tnOW0hV?oIdBCgL;J-T{6B=r%e6#|R`kO)t7ayJw zZmh9Q=Hb3`9-`atPe5LbaA+9$aY3s#{)C(O@xZ6M6xK{7`poML&QV^Csd_?4SOcd+ zpC=c+z-O(83KFUWlRh1B9uapga2eJ&Pa01Zi+e_9;07Lzc9=9so7}ZRnYp5 zM|I_Ru?l)7ZHVV{ggGqbLA|gT@(@8(5J*=*iVqmIvg6HBOgOQ(Xp<1k&sS#gx@ag> zDpUJ9&prDjob8>R7Ix+uOP2I2`EDgZ!-OsTPwCF=eCB(rZV}B!CKdVr-aeNkz|<8P z?W>(t(UJL2#O34h1Sm`bG1bby09fIfHQ|T7gaKT};_Rf~68<^Nw1t=(Z0ON-E73pE zJ(~C@%Vv&=U@jIcU-J;f1szRL$XS8JnX?lEpuop2S5SPn+@(`4iTEmRZsAxU;sL^* z0qj}No4i-EP634#mf3rHm6*cC2%OKqQ?phAr6GJ`#nn!kejDoErQt)|KjE<%+nLM5 z_ul9h(+o2X+|BpFL=a-iY!1nPCt$svAx}peH8n<)1vFzpVaQdT!{{Cls;VeH?I?ur zmunY9-nM?tMp9}QH=#rG!Se4#o1t4-u+saVy_9y@K;{&7>Vl0HJ-%Y%IzFd;d4_pNE+G#-W{ z_$G?6FoBJpx2UNR7e-dIXyP+RUNgN=L<`Ew3~PKYgu;%aq%)Tb|8p@htYKxfv2SU+ zw=Om3=b4$b8kRzp?sgMn6#XVF-?C5I`M5H%^zQ#o>gc10jEp_h7AJ$|gz|r91wMuGae%OQH%7!Idm3#E{d{ zJWjp{MzMl$R#X{)u2>1klD$$X+OKAr)`*i;(^D<{Wl);iXIx}plq=Gh8h<7C&{O#T z^y!Kf49GlSalWE@f(q%_e=Az%*keN3Qy3;&Tb)|#1k}9>dKR0`{cF{Cm}0dpLpzT? ze1Qn_N0xfkQ~V02sV*KlPK(BYvWK5U3(YI(si`nRYqdP(5~lHgP9@1)Stjh;L- zo1^UxKU9H$=XocZ!sJff@09JNeX##>D^P{GU+twZVb^}{(4o({u4f^iQ#u&!XE2c7 zmeuM}ON(JU8tao3d0JwATR{;0az{NbBt;EhH2G)%%4xxnvee_&z$(imnY?n=yk<4i780o8K*BtIVFv}R zc}0m=?T0!^aM+%4lr&1uLzudrgbPwXGU6#8L#}w0!-69Ex-vC7wB@HFIcSQY*_(C- zI%xMSx=Y>@Y%PkOqe>+`nmNy-bx8)3iUP{c#DG!cLD8iE(X}41-^7W2VM>z9+Ilu+!sLK&sj|#42}4LJ>2X?nbgX0hTwp&5$HY)eT z=p$s^tB4JGEuKz2)fm9R%f+NTr@U!@_^InN$F;D4;QKKX{}jjh9r*6?=in?6#<%^J zf!Z#9yC?U)qb*O`*aFxq)U)V7?~kKPv(jO1v-GQ@VX5(PlJ! z0TL&9)Hsn&)m;ifW94fNE1&}f+qo8?;LVNc6`e;RJ9hm21OMI|ftgLaK&GMU4VsA< z)SXJM3UuCZlO5X{V+6e*#<~y6*FK`1(8KVoztTn|nYTQgD4tDySH2>Y<5Y;)e5G9F zHBah?d_!(GZ3aU+(%54Wm67a0Wmm zC3;J!QyT4^i|H4686I5S!b=Zyz6cbG0nvf^*d?c zrULmk!|hiF9&R+52T#nmCuoUzlF7>!L#wZ-$PR>OM*++`Ve;OAU0ObYC9v-S#?wcU zic?76pA@0hL93Xahf>}wc0XT*79l(Lp71ts&9$EXsPZh7Q$LloyOy{9Y+%%Odfwff z#Zu46)NhCm(;=E}h%=p?W}CTaz4;0mGRt!-RfPGM-_sF;9n!LS-)AM^$e;Y?n$<-p zHFr{R#nP{|dwf81rdmAi!ZFZJndR5%AB0>rY^|1iAuC4n+G`VFk27w*md)w5ia&2#;m2^K8g zk8&?Y?Z{rlC+tRc?7t^@rfM@ZVBW|yQM^+74loA7Jd}W(kXq3TpZLDT)5F0ij&z7M z7CgMFRzW?ek^ZLWXSzZm9qUbPa)Wz0Eq$`jrSuBw*-!WK2n@$AKLbPdI zYReWu}*q0b--TJr)y(8Tr0}>JlsP3Rw24_N=F^+G$-`FC1vA~ z#R&`Na{;2&N&H=xdNj}lW}w-Q4nzadb2O2e9i*%A8}a2O$|_{~aA2R#n{4p{vp&J9 zEjq=5M@Zzs{pX|T%TWK{%r{kj63H=HWbIO6fAhBM^^a&VqRjxzg#y1AB}zQ zFa3stn=8i4)PJl_fVt3R8AB3jJU0*ML*r z67uOTiJ2Y2gO>EtuM5KLT_zGUUub>OYx%LkB{88m*1z)=Y!B8obJ;AqGw?3RdX0If zee^@f5yG1((f1<}g_l65LP<=lig7^o!ztNV*@nU+Pe_tUe&K<+xv{|+*GaK_XjE1mm)I;Y%@?H*1B4_5jc^g(LmaI$`K_io# zJJ8`858HulaAwe)Z2DY9vNSm8^^`aTbRaU3*^BY~X>kbkKwu9;{hf3XKZ5G{zU`#} zO;0*;o)mKNRXHk3*ukG{?{7A)v_0LX?_^9rZ@yB~byX6ZWtn&N_r5C3{hxe?L*EUW zZx|w&EU(m&V5am^bG7DIO&kQ6Qlt;x@17l znERMd)<-`FxkG0>Gf_h(1|S8!bd3{;Zs5zI7160Ubtm}4and>tp0mK9`r6_?fNM$cfIV zj_owC!WwLa?522^=SWa5^~?iJyS1(qwHI|SCa0$2(t~?!5mfg|Ysp0@5tap2AtzH) zXK@v%#wLa&OOxzru1YDd$1dS*X@{IHc^_&`%57XF^js`8#i!)}T%j!WPNXmmQ_YagR1`Ojjp{9VHLH3y!v08L z3{yBTwl#t_B4qY-Ed@Q)_N!nbK6(6TaG1&6I#VY|NKuXRSTND*L%p>hJ4 z6n%?^MRg6vNv;gNaiar;Tb>XFfHNooiMFl84!r{!2_v%h!LWdPCSG)|K0h@z0_07+r}I4AMty(YE6zK$`feKCS(a|!PsW>`2ErOerszssG;A9KYB4dGjULOFmK6zF zQ;JlpKc%Kx$-&Iw0}9a0<@ZqzpyMnRNQ#-X=k#5vsn!Xw585~N=}y_08s$q}q}kKU z?X6MHFSE@nENsz$QD$E)aL`w>2oZxTsqHb!XTs1%9$e@qr&gV?Tdd|#VD9IGi^y#m z9gAL`EGN_0k zs}1&wg}js>4Sv4=^hbaHIk=82`L8L83P`8zA&Mw$I2i9COfUT|=m`W3L-T&)uQ)}@ zxSEC~yCUK2(K*4F?t*Sq1iHd}y}c`N>0kQAw7xaj0PDQ9NS2w-P zF66{P|58(k?xc+=Xrkw6(57EFeyS~BKVhpYD_7#Hg3_%~EgCk5r*aO3@G{JTmOU^u zHyU;K_xPO(;{AW2DX^Dv$p#%kWp<9@iuv*nk>GEC{WBhPR`!7E%fyIF8mmz-srB&+ z=`9X^X3YErI=@WC9_}t11baoNR!G6Tr)E77FrobGoAy#gTEU4p@!sQag|8R-pJi#H zVFsxu6PdaWouWz@PVtBG6A;PR;>W6X1CR8uUS12r;+33e&>K=Wfh)px=azJQlNH zvkB)o(WF3AQm##c$`L5V6bM)GNFB4qSLO=#GKaYG*H~wKWon`@Cv6e>W_JV@-n;>3CeXvX2MfE2TTKZqU3Zdi+rJ0v+~V6 ziZrZhpdT3I$ymOF6`F-Auk|!w?}`%G-fy>lkmQzeg@$(giJiF|NNV{PH9PB2D-kF! z1;~34O9T!mfLU!e;bw)epdKQiYKca44#@mGU3%npHGVBaFQ!c2D%nkZrm{K5c0N6$ z8OQWBmQxWE{iL$FlxBkc6@SK6k0A4*fr2^I05mgfk1NV`X=}i+^xUo!xVc!th5axC zH3w7?bt=r%n~Q+!>hN`A#{=v{vV0!e&)W1}X|abjnF=%|6g;K;Z(ORDZPB0kHq%{6 zEsp0iQ%^6pQij%!B3J?;#g*6?`7Ych*9ZVK5*JT?tJFg9~PTx>0nYQ7>kykLUHzY|{b*XdG<(Bn!s<6XxHx z){1SNY9C}cm09@`Lc}QlTT)W;QOJ{o(wH6%P$n97DEbI0p45LmjviDzEflyi%V)kxcl}t{JALU7S}=Yg&?i{4el`xcq7BOE~)tS=dPC z2TZ@oj#>}g%2C|I}P54-hCoVhM3DJ#Ws*#b<*0_`~MDgks(BMa* zJ{h!aPE{sB+lRz|CjqMFET5tFuCj%j;a`q*#S003rPLu17h3sLTs=eWUZb7H;Km4N zr}4=!UIz!!-^`Js3DR`+v3{C{hI2PFA-o9+STr*AB~>gr*<4gH?xHk_CzERK5x)g) zc#?&?0jfNMoj_2(_f_l=F~=GJT-}7#8F+J@Kno}kPep`9MRs7`ZbfYFg0PO#gL9DR zs9&Jbr=aU5=;Ur<|4TbEKyn`Jn_7bd2xJ_c-;e1^QDFDY{_{4d9Z%L^aYXOoHF>#$ zEjZq;QwZ!xVL-zI#-9XnM_J+{Sr(R%tkmJh(&6QsLOn-4hb zFANlE#N*bHWYAV?|FkJKDd}FRt%qU<-vIy)SHB9Ph}f%ayRD7f%-|349-{53EYN2x$gq{-tgeu!XSlpA}xf3;=I>Q+2cUi@VKW zrzsFt+_2hhOKOg!S{ZTaBNO0V@E?vGJ$Ve+52bUN?_}@xEroFB?A4o%hg1H?fD&a3 zh4W{l-s96+_uer7=P&IwN6~;|E?~2();pv2U1LI4)BV5pZQI)n8ujAJMdz)xfZeoX zH&nHgkPvb4@^Pfow~#;%cqUFq_y1ii2~ie%&{hiel&uHo}pgbi^x#b!s7ZvRsyTwLV#{ekOn);10esjDR0fPLuN3+l#_JR*UPSAfka9 z8E}(k`6*I#^np+8HYRHz>VOVRPr!k1blyW!6AGBol8a?oa04dTVdtKaKTH*)qoJ^~ zZawn-Gpm-eym)Cw26hn^80^_#YqqlZ8XpgkWf5i&rQn9znG^)lQ_ut8M%53#0Rj;& zd3PQK=i*jbjB0&+%zkEoU<|bZ2)@Vn1|5i*D5r~a>75~d8qiAb!z-;PI5YMJxzhaC4aG@l;No7m4RmtZ;juTM zq;i!bbi#4nz4taEQme znWLv#&1Ogr+yCnuZP^0h)>_m7C3NbeY+{pVv3Sfe7Mvd*0j1)a@Q0v7lZ)9r7ucMn zrwtr}OOSTg*k27QXz^foeDTyfmV(DpFTJqefL{vFnZWE|uWyKAhNGo7M-KPd*|Xdo zCLZ9B5Yzq?a-Tj?B5IgX;QM<*>Z@ho9H$!EVKybH7M#9PaMb>am1uUym}JVE?m zu!{cHAc<0ZbBewX0;*ud31RZ9s^IA3l5J-T?-C_A4&g&c9mCR z=~&l+GZnL)C-L;~^evXPd_WK0eD>2(I>^F;dnf8fhrvYa;zj&4!NI~Wn;^LbyF5vt z4M8dk99+2zpDmelA?CTmIbg&VbsLPucI5rLakVO_oPzPs1~m_Q!|6b0t={Z6pk_i} zJM6GT1)YLo=is=!>gKdi&;yQ9G3%)T2Z_Rn{Da5-8Tg4Su~)CXA!ynH-kW{tMBVmO zlt!0=N_O)f*VNR#yeC{IDZNI( z36{^-*mQoYo94F*=3dpCe{h@y_t z;^nz(52};?#cLD($J++Q>rTX(>`H0`(HnwiB$&s_0Q7^Q(kq;L%7!l!QrkvLoX3lP z9G{0zFTt!^sar=ipfUdugcFp?Q-OcEnL)bM-4lf!oPth0F^#uwW6=l00!nz7I(E0$ zz!7Hk&(L9#{rl5asJ(?%a60o!$dVFrPoQpnCd=y5w{g|oUJ%<@=27b%Y^)BL`F@sZ zzY}%fxX+c%K?{jF`;K@Kem;P})m|+|oy8=Jv7*5Tb02Omz3l;%gRr4l<#_qsy#7{D zekK3bh>MorD^7;_*3v$muo^f1^&1D4CnNzaG^Y{GVU`#IKd~SfumXGnpt>&PJ@}~U zx@6bBnj4YBt!{9J4xAAm9y{QkaX3-O21?Wl8VIYoonN#*>-8t_*uUDX-Gn07N9(5G zz&{^!&O^%h1cH48I*p^Eu~a64JS#(oE!@vEuw`WJGDJv$=A{SmOGlBT&hSOO0I z4SEe(4>W@_qHV7eU)ERZU3>VzJ@Gbu4^+a6_937I=hO_=^m)c3mD*+{h%H6#sWLAYbbQISapLp3F%r3az59+d@zCSyzEC+zR z{=*rRrO{v3K*`W*ucQ^h>`FqjNQ#fAcOS52`JCE?up|jLt9Kv`$#8M0ylOURHxNt8-Nx>N>opV$?>@D15UxK;KH5WG@foAR%Z~!dU3IR@x?Zktr zwt1ufBmmZC54WRe02vb?f!UtqG-nda+X%#qdJV(iWe+^r?7O|9H8F~NB z6QiObYkmeG5U+xRkR}&_vTkgsF93hU#AnFOnj(0MI0j!-faPTcKXcIJJhoCt;{y&% zrdfgY6BbSxr+J6xEabm=GC(TsaFXnT-$7#?MK=#Obb76yr{cLb;F1uu1&q&Oqr7HN zoUy?$0E_FVHZOEX9!xu_F!&jz?s&Sexu3h0A
zNP}lH*?vnV(_?@}(_XlY_ zbmvb_$O~RlI5Ba)O(H2NAy2uK2V;h z{&lM%=Vq>R?)9Kw+RooCyHq%yX4b#7(tRLowYiDie(AKA*D%q%HB9^UaVq7tjL?F*_uy{rNDj{@-!RXGMUoc^88^c0(qRoo{g2Riciv$Q>~hOqHhVS%422;%)QBZ4kK+x3S& z%(Fl6^5SgJnw51RPVO>rFpK^Hbj_>g5Ym-74TY%qbA!~@?S`ve1_k8oKzAm8O3M`8 z;kuUb0I~CZg25%LULmc^pbe5>S3qrKXVt&nj~48DYyP-4@JHvJ7X{a_!x;QZrlxQu zKK!zoL_4IP*6Z3r``hsNxZv@nD8sw$)(kh!<-b91|$5{Np`zKZn&!f_|eGIQzcewD7(DC9uK96AnEf zTkppxt3~GSu3pG;Q2WmV5d$N4SR}3)Oj<8-t+6 zo9H_fl$fiMX&Eu(H*gxT6OEwbJ0g&hH%uYC1 z1VxE4Oe~*nFT8&Iok=adrb|S#UrO%0=OJCx67xhdJyiROK`(0&7puGDS z0*85b%RU90&iET06d{bQ-ie^1yn|XvwgQ(<0J+)) zoMlNzPzSv3z|%R&DRttHr}?S?+{-zT&nA;5e{7LZPHy$J&_{t9{6D|^onS&aH(|+a zsx=0EpAC3~urxe|v60EJfgxnoe{M_xw}7Mci|!sF`hW2e1MpFfDVW%&(24!~`2ehG zzVZ*&Z2LHa#P0tNcRDf57xp6k&ei**ObPiPVCx&qrKY9oD*DB%{`mHZ@6=yl))INo z?s0W%2>7JPG(Qt#$iVqj=-o|p@y_h*weI%=RYJk;V3M?1ut8ZZ$GjHiQQw-4-9Cos zF(h23gkUDg3;xGy-2b83>tD8ZgMxl)+`sb(gg5pnzzNhv)Ek1o#+C(az|oTr*_)oJ zeKfxIKT{Y39rXG(2SjXb(xQww?@0ts30@OsO8ti9KdzIJmX$e-9NWlZ*+hT7kNvbXlM16Z8F8CgN2iRyb6s($}*==hxD)1$) z;cjl&>uzV3Wr7i_7=8N`qWgC-Gr-NgjusC8CU?!Yr{e6{W&pU0t3|89|9wbL30t-*SPo`963HK}XtdPC<*KuDl&}kNp&C1#dp6P66KYoVXumCdp1e2!L z=aAla`G;6ftAi~k)d^hN%QZyj7=$vd{1hu`8gg9RiLV;fi{+j6Io8hhlt9z*F{6a& z_Ufq~^?{v};5Q=558l3g{jkJe+FJ*v+_;e-)JqlWyzNN~2_en4dUwDVEc!TR`5=!q zJ(oUwzw_7t1_q!>RO6sDf>He(^SnajJ^yL5=|6J;O{&1t z5?{L8R#99rGI`d^CYT|ANR9>*z&$0H!OuPTFvv9BKQ=(90rG&zfdKr3f#W^gq;G-l z_BnVt&ayQfuV7(+A5v?~i+27(w0znja}{(A?}L(U@G)sH0n$))Fb0u>d)rsq+X|jG z?QdYj&O~kT%6R`bhg2vJZYlpmWWnfg@^3IDDkwT|4blE<>xCs$`)sHku0?7Zar2S}zbOo2UqM44>$l%leTzU$* zL~raMlJ;j)u5t!-D@-AJD!^k+on(ea!18=u z5iW9jYcQm1+X~>%d`#;B?B)3rL8x$tC#>Z&osIZSbbn0&mcomO^Qy_D95j(ac#i!K zEOgQuWmaFvu+<-1so807)PsCl$vpNAfzolT{XOO*JZNt?Maw5n_(Pn6s&jIf*Fkcn)Bel{pz?grY`wP7! zHyUq{gUu4SL71|70h72QWHTF=_J0`?!i!;!b?us6^#=g#Dc3RK*rcPCO6!_EoeZ1# zO@9At%K_uOQ{oTe{omarh3Vr7SYW5Ho>XZ#9fH1m{xeZk7MhZOG$IPg5`van&q!&jKTp5(0>8O$AJHa4= z^Q8Dn_v3V!L23km?m){K;v=tW`$6Pw)m^UzdfZgkvi|ai|CF{%9Ju*r)74`TDep9! z0)4^TuV=;`@}GBhO)!W^b8;It>6}@((GXd_{qQgu=>&EM0 zLs(@%hKQaDC~~dX-eKo>Cv zZ8aF8_CUxgL|sa+w5K-A;MnC@@@$DF=Q0`GdgcX>k%WsoRl&@t!fJzKX-!uW#9$N0 zSU9#s(+}AjcAyA_=Lp;ku?a^D0DdmdPE;Q_f|)VOzvEEXsQ~*R>>BLnCRRqt!mb_T zn4`-`2uhL0l++_19E`{8Mmz&#W2l1rH28%X-(a?+o#2eZhNg4JpxS{liFgrh7uqYO zwTK@o93T&{8iMn&>BkwISBKvEJ-RKyN&BDZ3--9@va(Ff{DYEYHP#}*BnE9WYGIqz zsoLw4XWZs(Bod-+`uF%Fp{4V=vmq@hGPIn-z4gBSxp@~MkG5}02$GNbw<-AB^SD26 zMgCIM-X=ZRsp%r}HZHuzEp;{cLWBTYDzq}0xRp@_zh>j-{CoI(b5yIOdBHTL>Q_L)1QpFED24_{HzuM z27T2;C%>yH<-b7tC|~5pv^h=Di>!K?eZ&FD#sEvJ{!qeOG7%15b{O$F;@DK*{%th~}iiUvQ)=i9A|)w!v!Z zWU(0kLiE~EN?bbb+g;>_7^7gLfBu&U)4G5pH8}Lc!%;z$? zSTKb0rok%#z^o^rT$IDA{dtD&1JEZ){}kdYX9z%E1r`pyL|pg8Pp@v%6HW}tLYZ$K zoSaOPFAP#+noV1-@I1U@F*5l22b?MJ8pD#ev^GHD_R4x^7c_a#7Dr-nXr-3&aWlM0 zrY2iqAJ_i5S10TdLF>o=e^pg-?;DnMbi5RkUDr8T#5Q^-wWZ#vFjO8GEMvbjJo+d1eZThWdS1)xc~utvIOzN=s2-uEScCH>gQ6mp2zo)>L9fyi+JFiz1(4ff zaSNwvV8S+vl;BDk^P3-IcF;9WT3fEwFxy=mk(NVNmD1eptcr}2dHWDED{yG5hErJK zL770w;q4h++{Oa7$O78d^=>XKHlM%Yv*vR+AH|QEmu>@QKzmLd)zBD z=hk1_6#n0{E)>)2QeW#tPhQyRJUwIdkD>gKyw{|^U#X`N*TQ8I%wo6Q)Onr8xbON( z|9Hmf$1_|-`c)c(RvEUVijSZzH%eQ&VrZS)uPXzT(BC3%ZQP*zAKqi732~EP^96M6 zxfOdz0FUBx3+!7N^UfAc&O3$npbMAS5j)5~Y^5t%CvVhJ zl+$&%6M;1UF3(Ek`r^Hke$Mcz7^ecRv=7ujX1_bnHyZA+>u_j}viCNH{Wozr$$Q)n zJX&)r+I?OxCwRj+HoyE3G9kdw30A}VzuCdeIQwhcbi4Ew0q}@5yo2TZ@AJ1W$7U>) zWmHfA5~c4fmuFtiooaUJYcpN%F^odGZp23E`XEqDL~RksIlc#$S56{g5!t3UZGZ`E zzD09%2ZS3Ux_+Eh*IvCIq0v60%i%7)j*&2)#|M9$km4bIV{E~Eu9_W!2!EboHxH%h zNqGdtQ2yhA4|%soBx)*2(`ZwYNBq|$*;QS7Ua|Df_bU+GA|IgWDr>mgY71I7x58Yg zvd`L_;-~t#Nv-EwMGT<5ug}cw(tbWZ*T@U5 zDP9n!UF#zK5ibfn?N-~?-`^#GYONe+@Bl)<8qD4y;{|Y!y4d$prr~m-`5DMt?!hlq zxtUMvfO`KS#jp4jIe9cMRm_;%fpPQG0o1Lzov=?Wn`!5ejq@G#1J{-T2*6@$iqEYG z%!%XS(mFn^HPb0a+waS3bvPqX#l7SQoXYtCJDyKSUC&|qmJ+X*G)3{sWBp_x?HweK zz56wGA+LdtBJsDB2IeUS%B6?3hpZr;(SrwI5SJhQ-;i@eIUS^aNZk;lGdo5D=osjx~=e(58olcdU7e95}71bmswLt(y(bAi!Qm!gsp%D)GmOy(Q&{0QljJy`nk-*C-0jwL7jX6(}=mrVDt|>|9|J9=MYYygwZ){w#pbV8B*sL2&uu^zzyFvlwK{vo2RrL|5EhxWQWw z1_%yK@Y#I0{_NDRR}*$dH$lTK6zQ7(a0&8L#N^%I+Ty!*mUxByJlI+7n9VK!>;K$0 z9$7_G1bb`@31P}gp22iU+(AT0%@eDlGE4nq%T;azW6bXKLTN7^QtT!FKZrF4=@D!^ zUpnII0pZ|b(|1P06!?`#S+trb=&2W?`i5epFt_{n%ys@%%dd*{N2JXF{<;n}A<|&L zh|*AL#oRmYrK*yhL)%y{^Zf2xYWi>fo8Nam(?aFa8;A{;Y9HpMc_kDeZ4RD-vF^{vQ;B( za!J`Y{smIq-QqaCDo@ju$soTy1w?54^pZUoOJ!EW zetzq%rLXtSx&T1t>xC0C*@ov$MT_~s&d5Xo~v zsa;BB5qCYU8Cby@F1CEYdWcdSA6yidsQ;Op)%~Ona`vbfm+H(YOYu5}V$zAr6gXPO zBD?y}^QC`<0;A{L5Q81ghf&B&Zz;h8#L-WO%S~mtOtRDa9{6XcDgV!&O2KI{pIhS< z_cls;vXIN1;ey4VX4=q75MfB7;C+pU3;Cfj_`OwGp~}r?FK#t=DkA8B`4AAGACEQE zfeo-&wA$~8e{@(O>(mY8G$UO?p1J)SdBZ+ub9AeQy1-*u2)&B#{?%v7M_zj^tBzN$ zzGFpY<-~v(H_MHV{nv!OsSbLhAbTh78eLmTr$cDvi=SZEp9MI@xZBaGuPSY0M#8=X3|IabxlFB)F(9$cpL6{bvdC&im^_sLQj&vWul-dqnW+#00` zOFyOapM>({TYmWkjEU7HH;eo)O6EGq3T9JqDD$I->y1Eo4tTOsVCo-#DAT+cXz5fl{^f< zh;jaMI_$gk;ThKK5$Dd?YBIH|4M^~`|I=5?04^br{ zxNueiP!AG1Gx$#?5>aE+(QWP3{5i0U&hXmEe*!)9J9 zFnQoFOgJr-B8@Iphsd%3rp&@Ld$6c)hO!Za(KAt-OI&oU3f| zRN*KYKr0`aYz2-`B`G1}um<-@Ap4-FX{VuUlS!27LpmVTKL?QORhG{bzttWwyr<;p z15r+yUA@?Jsw+HQu+hqU!JH*N75ZRQMZ|92-*;0#KqZNsiO)qqav(3Ys2`1bPefG_P4zUS2p%wQ7S28GHQ!BHcsN=Bn>3h*8)?!*RvQTw^ zYJ@V$lE5^c>PHUcn`%rkCKV`aQoS-jz_sBN#HG+nrM+3=z{8Evt!i#eq53R{%yTYr zp^$!eu`ejQL7N9&3|usJU{;A(4(#R(%ocU zSrdYdrkf)VV1`EIkr{GVmpSD)_9(}=7Xqt}!;a@w5BS?rrnE9O%)0&{-3OT^@?Nre zc5yOF>Bgc#9a(Q!%?jY*4l=%EqV8j<#JIQ84w=<442SSU(_E%yP ziC~|I8e`%9*wAQt%I-o`Lv97_@bO-i zOynDG(?32j6LvWg$gCARZHr|#it^ef;!G3j+W!Qxx)6eh)mK??`5i9oii2~c7oS^h z4Y!om8onsg$zD5`_M$)p0mQI%K5@}sUbw&ud1}3GD!k$hf{CnVQFW~u|A7KQxR^+9 z@4Nbj)S{`+YkUl7qkZy6J-0c9!a#88kHk}Sk74KVIbFLCUBl;m7EIefRu6|zK7l~| zD^&@sB_q8?PNuPj1zTg(A|lDii)NG;rMrd^!&yzrajcimT#ACN5W#(R7!swA+j}T; zEmam)O*ek9@_6ZKZ7fjqB3=#g05l?+#XrocOI5LQ@j=vhp5KGzEgJFGiM6g>ljf5m zFDY6WIXRaczCKli44bI&0gIu_BxI_nWoI#Iu^Z#YO1u>klr6{%yb3JId-u5tva2Sb zx_}h$LI{Deit(e!ZKSO~bi_pA7P0)xhf0GR$$DOkQti?uLOQqak(S$%zD5BeOF|&@ zl?NkU_Q$DFpONU+zHS~6^WozyHX4-pJ@%;lt>KB9xXTkEqHq_OUR`E@l+0^?$g7#x zC%^R~yDZhKOR#izTcsdJ0hT{#wOyHMzGJb>f)V;B!a@^%n(8w<4Q<>7J?^Hw;F8P1 zn;afrH+7y%8JD;xYE&kB2KjexTSdw3&FLx*J1QKflR-<^RjseX4riIqO$5N@@y7J~ zMEWrI5{|?l3i_n}8lB*1^8WY0!mU_8E6;H%{|1oI69S6n3_K@znCxZw-hEvPEp>Lh zTHr=>z3mwJKAM__IYO^667D97LPDkUBZK@HWlpis zu9pl)uH_AueoJo{;?1@F;QdXx4fuUqqo}C_#As-l#lz)NiTUG)_WX(*7YZ93EjDmw z1CKgw*$wtakFZ~TRh29jF6X^q8cJd~Dd;yS#p*a6Z$%z@L~RZw7uudK=@g(5ga<`G z=n4CFgBy#+Gx`sTg6zFhg^K$>?jJbdAJIAH@Awb5`1MrBD-mu&8_9yKoQe-sMH4d= zu=Y!}zw?ba)YT*@EmeCFmkV{puIHAWecq*R-#DFELa+p8i6FpfYk7>oSJXgGC>c5* zenNc#6I)roN=+5=@-THsKKHh&O2P*l;^>6(cj2WaGP945Y`7GmJK)H%Z{j#blRiV9 zb^8U0TV|$j_Lw0D(b%@!$|Y(dw<2;YoP1+qm!LjTHp57E5-idx`|{?L0_tnzNvgX| zRt`0Bo{}t~0j7!xtgF(ajDIxz~pnNmi@Q^>9BuCbLX9C=Z{Ib7Sf^@N%wqpVX3`Ac-cYezUdkc$@SgIz4?n6NRP$4td;Rvw^A zRR}oPcq4L{(Q0Q=gIqd=Z!OrA!`hGieRyZY)!;aRv@uJVFWQUSBqRf7;DLfI$|NGN zb%m?@Nn(H{=L|1Z&1~10zi?!FM%XvJofvK$UQP0}mNe(swU9Mf(LOzuV+onI<|vmJ zjfbf&xQe3hhHy7|nC|6YLi-<>Ns8^>uo?1N7LeI)63{VdGh(Hx>Hh*B{D<3((S9@Z zD;}3ecADI_k?Q{((A*;DyEh@~yVJ#OS1BAy&7MiM58Wq+;e^L0vdY zLQf~3R#gu&Uv+Bm;`c0lO$|;;NU_TxrgEeKg+Wu0U5jLIjG>qbZodG%_gz58P#byK z7+yXcIhij^Mp^CTj4yt$6eFwOABdP*b{~6vbi~`~IG!!GQDWvzk*)O$9mAr^99t1c zn{~2)HTei@633ipUMJFNxo7j{+h*#3l=Op*emnLr!Q}+V zcPs2Sixq%ECPKc99so9;r_~-X{i{Qlt*;}NTO87L6XgoG^CHZW&-q&Ls{iKv3Yg4G zFU>dch>zD&&u^|rvpxl@dX&%&Ay%ndNAXntEO11GiRFK6z3hO~Xy5P$zM->kvn$1@ zwu_1lE~|4vl@6Bu*c7Q<+x_ZlA>aG~oYDkC-upa&fRv%Hc(0E?sJjtqfZuoGX<8Sy z`V!M=Yjnq(#>VU7t7$b^=}byUWQQDUftVS$wlyIG6KJyqCDkGH^|u zeQrjR+s^8TyFVB8odqxz3WDQJukj2h!ZJWq;Bsf?0w#J((dyfk;u`a992mtYS6Hr! zhQ1Xw_5bUJOkEyg9yy_Lz#_c;Fr$He5w1Zb-)OXZy=$(j8}Chmxel<*mUAT`Xqp zpLNPeDsU%asC{t*A%IpptD>6}WCueSp7po$C^jn-pOKvq69pnhw?n|AtMW=Vhxw{w58t6NFEfh!tBJu`r zn?(l&&{{XvQg_%}3(N*_6+kGS`+SwNv(B@HQqx|taNw7@21>RGm_&?-TjWIcz+T>s zNJC7Cu}~+zX*HCqrCHf1=Df_b0%qqyM7jbK$7Xvm$vc7ce(zjEvUFF}ZxgedIQ8+Q zW!riVGP$=QQNJ47_2!U0q@)nrOkaoUG%$V6Sl5%jeBEiH78% zS6jD}*FMys5fuVulp2HV_ICtV0mKS9)OC668BM%>eORxN+q6{fkB z->3hXogd;ntLo`TB%KhHHAy9wjrXl%!pjmf4mI8=<7m7WcxgODgb~;DexZOKI6OoE z)Mxueb$l7KiOiZS5O!Q?YTH_JTLl0v5BzLi$!=-UoMBQA$BxG}Ye?zx>-;1Xl2N!I$FMP zQ-2%7glD_yy`a}Hw1Yj#Y&LZ`1&V0_cgaKI`4d*6oEszJ7$_JqK(M_%Yy6;k%Vi+5 z-;XTNF3BH?Ij=O)hf@nq<`3{4d_&)rF$3N-^L&D@o=Sq~N=F9ZZ0mJPB;%^6M9VSK z(Vc8?z0hy9BM8U1Ju@D-qa3{1w`3fzk=q?tVUn5@;_kAx?vsaBl+50$3N-Mh={Sk6 zszQ^>$M?0R&RkGJ+!HzWNheE2%iY^Ti+YG?@7Gbs-otTb&4EjiaNWf@pA3Xsio}Sl$Y8sM*+x`-83qB|pE?a1q920^+X>Wwmz$kL9Zgnj(DTcprV% zCZQ~?b1Q>%RvvWnv++_GEjcidBc=wt>1)O@EA=N9$?@8{p-@ew8Y&lf-?3D|tMqF|e zAK#uCB8yBVDOK-HnG4|dj*@rq9_h9b$uj20DO2Kp`^P6EJtRKYsvUOuz+_)}2L$70 z8q-p4q^_6_OXxnv)Q{<4$?HRdE*k?@DEGUmi%j>Ye3_uUR1Mp$X9@W%;df>;+JE=< z1(Uu&8{CA>nps?@B$?c#OtLJ+!h_@|SOsMWBMrg|OnBdc0J;a|-#>EG%9QR;%a`GS zsiTJp!g4YTAwBL>l^f;|X1diY1Sq+@X6#gNXC~LE!Q^re0GJYYju!yRTi+=2@AC6cadc zPLP&4d)2h>4`Z2vg?>v>+Msv)=*Y>@@i@Ow^HsF^;bX5W85Y_vs|RN!+bwS)=p~V` zfO)GqFCrpV`iFJ;O)!-xxtFPSrB#>YxmLaFJ{7phC1AC;FTMFD9y~Gn?G^*`q>!JY zNg&(VhScz4w>@^R`;H&~Xp>8bb;)G1wd*F%Yf>Eh$mue?E3h$k`@Nl*?49md275YP zU$)T3d!W*kx3N5jjucubR89$of*WHajNsBI5GGr#*Aky!E6efb#ZOPG{7C;oZT{UV zXVFA5W7Ju;(ee3GkuPiAp9<=vcrB$Eg+7cD!xVvU>VtUNhlwyf?+Mm6lEKGbM|0cE z^mp;s5HUo_hr8RVmMMR6b#QcR?NdPs6OXZM&K?U(Xa^I1QMa-ro9793191x!v<%wV zEqu^q_q+yv| z(QzW)fTLn6#>0DWLY0n%>Pj258hR`{^HX3`KFUu+G?7{%)$!_7U!NsP_vQatJAC$$ z*({TXd&KiT;yOkWOfJwb9>=o}m78{2UPny$?DvoH$EaR~ffN>dHpIonkwI(%gU{$?{l3DKZhX2i zZ`kFgE;(KIje($pbhc~8)jiFf3gU1PNzzYKqh#zLRe3awc;VsM7z=^7 zItE9(tDTO(=e^By_QFS#mS$5~9ha+eI=0;UPlwmh&WEYWIf?ropeldyfPsDd)$I}uTP2tYnR(vS)Mzg|Am#)2m=Q5ps+zPe1Af9QZC0>C$4V?3 zw|eQxw=0wGR7#64=q98S0EM1t@Y0le;QVIg%M0)p`B*{Lm0uHtK~A-tA2O4Da3}pY zD(BP4);P3Tf8*?XBbfr*jvHNt{MEfUhKURS0CQHUT+y-V!#-~Fg?m8F(`aKnWZ382 zT4g3mb)^JQ`p!#Nl`VGE>gG85+?TaLVZVc4AK8+FPWu~WN1={!Za zVg;`M2Y@L9*%MqAC+^aL=gI))IJ7lMFGo2hF-VMsBWo|AYpok>s;(%7MK+K7EFDss zKCRtv>A^B8%+f_${v4}1uWM8AYcanU}B2#FiE`Rl$0;j5^=O6t95uWk=Wn?|e z=cl1Kl%BfO*#vO(h=aAslI-05x_xy7vl%8d`b?I{FQnNy_A0k}t3jSjV$C5f`mATQ zVI_!e@kgK_A#8bb9yXW30Moy8y}!of>uSA38R=I_-$aows&f`S?2tyN^<;8?E(jZ39M5Gg*o3DysuUk)Xaah%_cIa{xemrupm?fOL{PZ~X)I~k`@nRBa>{OP^1SEP5w*81#mZ+(AFS2TLtd1npk=5fsf zTsQ&?1`gmWZEBKpCDiyUF*IR8Q7w57`}1(awjTz%$L@|Nx#+Oqb`94rK2>ZW`x|d7 z74mR!{O`a_r?*)ehCYn%+XU|Kbgfx*+RErumOSQ(`a^S+aU&|(wkm%X*t8m2j7Jld zPd!wIIXMq=QY85e5{oZ=ll|kAwOqsX(Abj44@7fwwrH{8AaEUrPh(Ziw)R!WKm`dc zAq{sB@yfTS^G4%#H!I!do^m9Q?vf}j%s;>rd4<|w>m?V5EApM0ZQ6#sDZ7xuz z%wHWeNmoJq^Va+l;ID0L9cDPO-XY*+V-{fgs>#vSaW6wECj`^slk4JS+96%o?@;F* zS7qVJLrwB&?=bR{0@Oo6m6Ap>mUJOI=Jn4S{A7d#=cohs?Y^w7eY!|P+h|ngIiVo? z&dx!Ug&ueli)+|VR$OTTr4gDNc=f9ECILK_*e-0tl5skKDvsu1$PRNAOi=2bKH{( zsqr-{8%4o)@-oR6_S{~))ZFt7$%qklTI)nQfb(O_$}yL3Wk>x7gn5qUzL*UW5NCZL z`i=$V=Nf;+bUMZ$5`qU19e=?KQM|idt^J%69^rmuin&zTju`lC_FK{y<_wm#CUyC6 zS)$SeGro}L9e&jiW%Jv~0FP9UN*u$lRtSvv;li*Rk||-gQ@7M-iyD>*MnviTH(To> z*gNt)a1rjf?7kI@5i)t{ykC`lYQ34)7tl443QIdzj)aX3U!AzTpjUiNltr5+Y-mSF zyJ=O|{qd0445SQ_4CwnMx|VMs&T3S)NyD@YCTS{w~4? z#Uh?_klsT-f!EVB0u4;U;Qb-~uYEX}S@^sdAG z_`}qxsSv{a8Tp1_p%J%E&e-=~i`aT>={8--!xXy-kLqhgk{e%jo(;yBLvU1Qg}d-N zyO+TD3r!@?1d9Uc-PU~8@G}3Yau;u3r!Nzx!-yR>F9C`FpAShEbr~(yfoOfZ(;iIZ zV8B=PMYSH6Al8dwJ<@mL_BUEgrlQ;Y2Y#W{6X_zGW9M>=5&0^8abZ);AwKvpHJ7fK zn3`0+hKEXmJj&O-w-chpBm!Kzfqgr(=XVI&dM$acBlK%yq3z80T_KIP1$cJ7%Dt&{U&ygVMDh(tzY^|t$J!h3dCE7q^@WI5T_{*E#9A^M zl)aq=7Z*g{p?vXl?Qc}G8Z4-rTuDATli+q&4lcn5?vo-XACK$O&@vLh4Y^+um{YL7 z;gMZ}g-9V43##VH{DRGys80opyW%I<)DnzPZRQ?sm}fkR4J*-k9|}EFzdeG_-lKf> z!%XAn341=@O$7$R*M;%YEMqk7pi|o=#bIwJSlvFHOt@7S#CoA_(7(^$#3j#kVT>W3 z&_S~+o&HU(6AswtYH&1Hc}`@eBH_=^^KhW$CCSxOQJ50J;LW^K8(u1r$&5Jm`KEM1 z#ElF|gyLwZ${o(;ibROupLHthk^$CiNIq4gXRNfsy+UMV?-JHQUy@k=Ve7KCPwUq} z3rzO;->6<~BEXuvLD8?eCOBx@#R7B%Mml}xvg&z(FzGLvYH1LV25LWu*9&=S)L$l8 zL3kVH zMMtSV=fF^8GT4N&{b!#I7Z=nD?)cEt>i&QX*7ce5fSKanSGpc$8rOj{nAob;0ZA$<@L|3Z zo6hq;m-xFjzvLWX??i?PO-xBfAlWYJD8~2_ntAX!kC;BY)9h;>J+^!Nn4k?WPAwbLq zTzS#a_s9#-IUTNkEg?+;NVZL$ahbbtiJyV>fO`E+hLo0|`~c3Ns(LfZ-W?i&z` zQ!18yb|=iDyf16HmvVB#A4zk3U?N~ z@N9**U9`g)C~LpWsPM(`6iq-fl+yI4QoR1RR{lL=u{Uw!e#7P+qx6*8zv~rwibn6O z`5#1f`&~<9zZ~S}V9cSmmAC3r%4lCx#fhrQ}Z(1~LZbFsc(%0Qp= zl76UYuR3b-B25^3pS4rxN-i&g)ggmG@_NZ)t?)nma@ah>O23Zx1h)huM!k){{SJ6` zS8bjJLX#e45!X=(41>=1+mI3@g>=I14!mNZEe8IRcjJ9BvXP$MCAg}sL`=K!={M|( zRkOIi!^07rFi$2kAXw>JI|FLUPYaH8NA^~`1rxrVFKnpS_%VBw84`z^Z<7N;WaBrd zGTA+(wVaUaQlL!8euq-OjD5o3to)!_ESG8*U`{jq`q7u4I%pxUHvw6=f%6@^sC z1$x>vVz;LHI+>)zpL6o^a;4J(uuSCx=Llr!Xv*(n5}>UUZ=o&jri%@J`m78dnhl%2 z9>n>Xy)(1I8A*_A#07_w7-swW?ATcPD`e0;b4%~;X|bYk;BA~h>bT32h~bzJ>7ChB za8X;V;~rEJ8^J@&gP#Xx4vpQ%XIGr+t|wNE-*b>gUv`vgDGrfOeOK$~1CFlix8L^g zW8FE&Gh}lh^|r*29bm!P7IqYZ0XN7DA+Ks7;>OfiF}j`$2C&7<{wNFZ&=YRX&d*~K z?aG1gd@_PWAdf8jGF@K$ph^5~Jp*bi7zhxVL?V(|=k8`sOJ{3RbF&yorU%z+0W+z9$hL2q|Ly3GkbQHy~wlMJ(Dwm~dMST%@Zo@@v44 zWvJD>Y?nIzAb!R8pGTt6Ep``a2tWhat-LM&+Qu6o`s{wemE>9Hy=s0~hhu$Z}+}>Bg`Kgozljoe`-~N5!`)-Z3w1Z2 z6;(3oX+u7Xby|et;)3Mwk5!+|=T@9w!jVZ(9On|#E+!6k<$462KJl}UOMQ$W$J0kX z=#ACB*O*I*2Y2nYJbJQL-1q05MD%nV0J$FHM^nBEwHvPy|eaky9{22M%nlZ?$&Ne7V&du%x8E*$^-)}zq2^0P4#n4b= zR#ve4?zznh%c(RWA1jq4$xB$@oo}Qas81g(j@xd-?8~W4&OF=sM4jV3+umBx2EvVH zL*qu5@mk0CuBvv)EYEd$O2%t%mxwNW;%%`_Z#k{m5QFG=K4kSa`IqSiq$i zel(*>IHavYM*M8~VfMY{K6`B1mKJE)qnQXEHfoo}Rgp1D2~Mkk8a|KJ%J z&w?_Xt6cr!{?%@*j!)NK03B60hGB#2=)VB(`+Ax%380nPZR6EU|FC}`#?W=ZV_6o; zgLCb0BHP<%t?@`0w_fU}OPI>Mlv+nK;`}|5k~6|GAW-F8pIZTm%+hGs)NmI?`7@Lm zwtX(!e?zwMy6;l{_dwabT7m%M&=+OGkO*Nu!6x?ve~z<}C5t6B|K zAUYZ4EXjYW6FDh&R42f<)XkvEnz&Kaj5pn1=Li-U!W)O2e^^i7L!Qe1a0}87a0TS^ zd`HEu9v0Ho7Sh`vcIs#taU-y?+LcD&DQR6r*LF+dFDk26b=>lqnc>Ya$ zPW@3qv#n#Yh1nwT&nX z*X5kVnhu&GYsbp(_OF>Pc4UCA0+)2BZH(9a8wCJsai|!t64PZ$aWVc>7cxn9fuo{j}><0 z`W6-R>U-Fh-mCuHR093s^%A-FoE0VH(WE@RKfN$eI7Fg4x@22%H`T-uITn)N(#Vy~ z45))yA_c*C)AYj%Oy`7D%jR?EbOn|@b*CS(%$W0m4==uN>^ATO&FoKCZ5F##G_Uk# zBji`pJy5m$-)@yeg^lX@mfA+lGi>kP;|Le6dbd^L`vS+zw)Err!sXGgAzo7Pr@<2n zNNS9>NSxs9M4sYkft0f;4&SY>ffLVpuyMMG!s6&;5=In*`?$X3;Pt^k!f zaKNGHH(Jo-&?(2%=0)ZpedX98$eVD=igy#=q`HayGbjbYfNKG%ns9A5ZLi|}43-7; z-={P))ItLwqbW>!qo1^617&L#K!nzb(c0nmHvqgxP4`d(6YZOCpJF1^VNJ@DoY#7D zYSJ0)S=R`HX6S>U6F(Y<(eCehw@dWMCT6I%m_}<$>HOC~T0ztI9D5&rEYvO~mAK({ zM}WNEN2u4pzUnFI^D>|oG_WO20OithUd!dU7wb0>9;K~uCR{(E9x?$;P4H}PsFl+E zt>MpaVV+#XqXqe37e7=b+7QM#be;XP^3)(C`7V6G$1O|z>|UQT5B@gAWyWD3k6HXy@;)##XEfaoUgJYJ|clVsn{=9KGP&qk8(2>Rh=%Cu@X0-=C zMm1!mokv-)sGAcXwlVWeP5Rqx4g-q#af*lV)?EuL7*>^wwtI&Ai!B{48izhRjK7}$ z7&0$+4&#B>NM($hw`G^CrOhEyxcTt^Qht{>sj*bGY^JA1|M>CsYqTMa*U85(k(@Gx z&vs_g2M~97{_iaP%|8vxm|SC}`!U!4{`30p#H)7wPGL)uBzqTib&js}-UT~dbvDBC zOxNnX1vX(Isbn;FX;W8SdJ5rg(rSG|=leZ?fveW<4yeFr1%7F1>4yyrx}PpXh^rV^ ziNoQVLcV+1zEDalKCF;Ie&Ek7B$>dE`pEZJWRly+DeKqs9Kp72rP+03H<-h?9@f!# z2AGn()zj6?vKuGR*A4-v57qsTW8XbCD+q!|83i)eK9-VpV0Q6yA`b>d%VtwBlV6mD zqU-2nrM}1FmR$0(v>f(;c+cX@hLA@5g?o=TWV_$`vHtb^e*WXS3&C|hX!c_$rmo?? za(9K#-gtbwqW2$NqfUFUPPFVpW*os>r26Z`;lOaec^&c!9l0Qa2kU;-=Vp%Ytt1(r zaumR}FGEADJ1sQpe>98pLDoaK&O0$$pjZ>$&yXbAALNdJ@L}fpQgdq>+PZ$uwXZiA z3FPW(&pM$=uNH#~=*F%|XoBifNUcVlJ?-3PP5SljtMPZnnJd{uyC*a{LgEeDRK{Q3p&vYK-c;B!X6-QquX^O}c4{jKp z*L*HvP|UotPzYU;Nt_FHlpVYYIo5DX07dmDo00OwWVyVP#Iz@siPwEb6oWeQ~|u zn!&e!4$&;vUJ!?8%L|Wqel}4+|*Kizv zOxT>6!ZbfxD(@9LK5Ity2OOn=n(r!WRc-AQFY%%TJWrWnP8NRFf-J1K zrj3KvuEP~@N;ZCHSS_0|aj2jExzb37otf+U8Z8X=#Q&jjpcB+7be@2_d;P$Z#Azt0OiPvtc{9lFCR8ijgm+^!V=< zpWw;ALf=bL1r4MG9HFJ}OX5v;ZIj9@9{RXwVppx^*K(j;x{uXGRgk!a552%% zkNg}%4!|BfuEOYL_n~9g2Q9GfAZl8~9>8^Y*gcguES1m*94tHcp1ONaxK8s4BR|Js zLLM@$$A4!)T@rkUe}38rEf&;bs9<{6VKxhhPVz?oPV1@XV#k%zHwMJP4;>~wV{%7?yrQcmN=5n5>E6Q|x%S?7775&|Zap!pB{pNr0>|LxV zUvj8U*O9cx2a!I#9YZEK~YPw@U;B;Z6G$mjYjoV_f8x;$$&y$Q948o zr|JHQytK!)HhM4ai!7JpF=kVI^74Q7$e@@}BX{p!xj$0=zC}|i_jEcnHDyx?QyTiK zqMMKTv-zTi=dDj>d^SCO>cUUUYZglq$I-`492_=J{y&p+!ASYcL4D1>B*B<85%iL- zvD;hx^>mH;CnM4gIH%@pJ?uuSN(G(pWJRp~C2?jB|4W&E`X*KLa|;&y@g z!k!E&vD-C6BsAs2Sf%x$z_2d0i6vgew_|sukR{=xOhJmi3@t}@7G`H!=`dH9N5n)= zY9{-&N2wMG^YySkDfj1ft{HhM;z9|20U{d2_7WY33o=N9>N0j7FyB;s=v&#n-xp29 z4~Jv(!+1{$-*Z#X7l_bQbCg)Ueux?-F8EgM0g%>O4$PMR@(MycS@G*n$L{Va9C~odUU+7 zJth4lJdYglE2Y!7^310$GT@Z1**jc0IqX|8I)>hJP&eAuhavs=D%Ds0mJ91rWhTly5ItN72N%g6hC zE=Ro$$TqgW;fH&|j9MeyU|btRz6{?Fdf3$YkY8cE*TA6qZ|U?*ylWftPVC#e4$hI$ z{OdiePal8U+t&IWc^Wy;$F4nh!qVvQ zN#o^y^-t!gN`{Y*W_?{K)Dz&L^MpV$rRD2ola>bgf9iDplT$gvmX2k6#V%yo*ojj) z6p(u2$vVM(WL^q<6wm?q-QBANHBPT(8KP?FhK-vJeKavkP;79FQ{N5t^Xhk*U$fYW z6|5UZo<(NC@)0|$Y1iDMiG6p-WTEv?^4rDHnm2>gIyo2l&IZ!%*mE<4@WP}2P3~)9 zFu=D>^mg*sgfwf%`o-by+up|eqm1uws-69RCbxLzcjD|8RT?g1O;;aetx%lSZcTIa zj@0h^I^Mzg4D?R20ToO8mbBZgBABaaiFJjsP8YT49$#+zdM|Y7u^o1JE zqwR%mlVO`ot-pF3IGxfw8719cn={*7KyO68C$Um*JXJr3CX}~_t-7Qhck*>!z*!3^oixt8T-^ecd8*(Oo9Dtx$wmOC* zv;8jEUeKkXbMyaro{Ts0s(D89Y+*EqVE*kE<0r)i(>~d0JxnTKL>q=es>RyW$ zNm(Slc+fRxaOqfjANzajXwu3_GGi5nvGcCzTjo1S$hZ-(MJxyi4w2UClU5WgK5D(7 z^eELj!3L2L8&57Tea`c@XkUAi7w)LU_iJXW7MPbLGz=?Ggr7N|>E8Q2?c9Oli2UHU zMbwqwAAhQ&0}OUXIdk;J#s7Wf)kRaGZkL(oX5Ws5DfINs^h{hy?`OVU_T|{fGZL#} z;6C-g9ZE^fzxBx7Hh-p#j!m!Y4sY(Rf=WIxI~I}FNRv&RcsBfR5(76s{)-lgDKLPl zPVvnAA$4h^BkXz;YU>OErnZLzs~=BvYmR&s?%90!7YDg=!?J$sA0EIp+sxAx7;$ZN zyvnEJkCnw0k{MsRhtt@ngz2PlG}d8SzvCL+sc3eTB%@HS@7(|Ge*gO?8sZ^*qX=Y^ z3w+e;bDY&0XU29X=RH80BwjMDP<^n;RW#D1B0`g;^OW^UOUyUckcZRHn`tPrT)nyr z5v~5*`l!R@;&UEH8!r^QnK(RoZyriod662vaUZw8h6@l;r^sRGrrHdpn>U;qev@<^ zF_sR~>EJkuGU%#Qy|cL-cmKdKn&-nlC8Raq#g!KcW!+o%o}fJ(xk4x^$`NIXwDo&e zsU^>7VSnEE=ToR>j(I!fhSKR5ItRxRS*x2~i=&6nisbgZtgY_C?;hzRB=$y9Iey>aFmk1Y(t{Ps5lc=wKoB_)9HOS5I%LC}%~6JB|L|o}ZZ*n+uI?FXkerKexNmcJcVkY_#6>`VQY=pKrIpgd>Q2;s?@yqpuu{<|#0-eI zq8{plk+y%nQvov-)H4k3}=@rsq~% z7ie+2{FuO|y6WnPIu<71o85^-mIdGrGyAH*8GR9I1J$dby-tQ=egmBFhRV}wAxrI+ zeK4Ni=cY)bFGpC%g#nh^MN0M#0tVC1Hf*l|WYIXe_~OUYs9m2vYlgt~F?TI#tj-Yo z$0wQ~xlgOh=7^&i&#%Q9YdO3^PzVEMD5il}mZTu2EQ{E{kkvNpicR6K+}VJ^%b}5|3Th4%eI8mJhAXzlxg4B3+azTwTnqSc}a-xxM7kOm{f@ydv{| zrqIjQP77P4z2X()Hj-wd$9jp26gg;DxKp+r|I+^2HBL7|j<_46;L6rN(O>97Lk_~+ zv$%;+?4sJ6&pQVyKUvKYI|hZt+c<(I?stv#zpuUNSK*uZ^r)fC{my`2h?J^-f+fr! zd)(*-B0*NEGiUH`XXva{(l|2n$T3X=#db+>s;~Zif5Vm!ojFF?7C*4rM&&cESDXh% z3|vO0O!OoJCUobBuLem^THA^%mcICTes2pk$#=~Dyq1YaBO}Y#K~8dgS8mCZ(|=3z zdH`H*TGNZzE&TA7Z z2`#NE1{FHE^2PZR62$Ar!n8OZ^jE>-$jR&cyFu>c94m^`xGTKUF==p#Y;K`l)p^dVRHZ8Aspv_)xZQp~HVrF*goX zpM;TK7G>BEcU@3j^>iFj)|ADARW;z}7m*s?ICkUmFKtvk`)WL8b*`KTW2UOfwHMqt zwxxFVSQwx*2GmiehhF{1P*#~^NGA|j7t`2$@I%xb;i9WYni7}$f?p;(Fy3~sMa zM#-m92h!TnB|hh(xrV&(_II$bVnP{jXinrO+yA;|upgc2q0#T1C?h9ld-iP0`qE7=X`BE_b zZAD^p)Ev=&kW{bLo~NC)wl7}lrDPr^dJIvBh+|-FTHfWgw0_gF*XU|{#P^D~-U=ul zpTl^raOQ#siFY0R|1;J98azWC&1hJf*qm>YfXl#=l}sJ(@Q1AqbPN85|Kb;LITINY zav+_DC;tlLlTrAlE9&)CBAW23*x=>6vLd@A0N8Wq)M?TFeRp-jM3AQuP{FIE?>u40 zH}fun6znP+H|;Wx#%Ny31L3+!7~6QSC)xf!59uzlOP^s+bppD-x$Yk2NeY6cz@pn@ zy9>Sfrh5+3F&B81__FTU-=Dit_b2jo1m-Bu8_Mp9*I9@iH1j#Tzwklgn*-FjPZ@ho|+OKljYlL?MFS*92duUr93j+iT z+-%!zSe5vX^Fqq_Q^-5Wx}W3|Dvu@@OHXIbuwKH{T<)GYRWwrj9III@Sm2oID+fL) zz02+IasLiPT%51ts;AOF%hyL;25#6cJv-2^)i1Pq*%7o(%eCp zS!e29IvBe4Vj7)2<)wA9lJ&6tdJG`-pPZ2THb2o5d*)l0uGTmCf7{O9{oL>*6-3m-?H;EI6#?AWp&=Vf^Mhd_@&g3EFtX) zQ;M(uyuf-*=FUIrt}<%?;vy&@?)PfH1F+re5A*RgDr5xBpJ(c-JmcQMtgd}t+i_&| zxJcrjvgT5iuD!#D3aO_e3g0^BJ^wRu!zf7XN#`BC3;In8a09l4w@R+UPi2*G!py<8 z|8CHO`4X$XyDvl(^gglvbf2kfQPjk}n~K6%H_dpS^zCw`H2LqOffV-5x5@GGLE9%? zz4}cwCMTn+p5gMg>kc`VPjs#({_y&Qk$-r7##Lxfk%gj55y`cM@+#toBS`=JHid9kT!I^U;6ccO!eI zb7_QglOS76VqG9FSegD*!J#uV7hx~^YsInVU}(qf8V)&*U>Zbm*#pXUX-t6=-luz= zn({{fZ`a}GJWgYXwk?t+wf)6wP&$?`Pr~W^>+4v5I8HLm-eE6ekTtDl|9%4D=8(@V z>BN(!0oMqA{~uXj9S~*Hy{+;HiiAO@f{3(~EUhA-gdi=cbVzr@gMvtRmq?c&T`Lkx zcL+-_jj(jXezS{@`u;xtX7;{k?wND0bDis)NiUL{`y5fr*(JKQ+<|P{Jco1#gSQ!DV)|07 z3n743?2`oAm$faTJ#OJ&a3Nvo1lw zt6P(v=?*x=-9!fb591ev5sziSA5{g}udfG_m9WlsVI>|LX1dNue?8FTBPT;p23o7nZ>+@~T;M@MqcM;(WOP#0jjjCj}g7keUOYdEwpl-0c@4Nb;*HRu+Lzo$NX9ef@UMZ1t{!CT{4${ zS$RNwDM>YHQ!fhZ#;fMlmC4p{u&wqqm7i*KkkoKFwv2gVrFzu9LBlqT3r#P!`F1vyatHt>t?^tPQRpD+g%#R7R;`o6xB;jyyc7D9whYh_3MqrR$cIdNzKh`QQ%Q9;h zO(bL{0lqG{bu03$JC2D%{<7Mjhft(h@-fO zAw*zscdStg@nJIu*orD8585YRUjd^qi>GPhv|F-i+JiHD08?zX7NL*cjY+%KuDPD1 z3)c`Fv$I=MKeGHb`E3`?TA|8_+*S2VMwQB48HE5Lo zt%{DTj2~(bX3w_ZQ^99i;Agz(@qZ_*`VuII#2;Aq>y8LN6RuHUU8T#&xE_Ic-ZsAw zU_O=O(L>oHBneK$?pKz`!WdPkOM=kGBjNpamI3|KqvowTWSwkb{ShI{R5}X#pUy`h zkomoO@>j#0>?ibwl21OV4db+Yfu)3LTFiWDvwrfScoVv^Nxo}<8m=GN2u{-F^Ic zelthTU4gyk=PjGTm&n=om%aaYeFmk12Zp{%H<#4&_zKs{+Ej_pLQ)h&9dj%V0>{3W zu-_P{bqQJMoAEobP*AjC$n|ar*))i}COm-CgrL`XL zxn;k5=J6AfqI#sU>-1XYc`d?3efRqnQ-hqu1a?Gve4~ zqY}TfitnTem}wO<`HR;qrP%jHcHLIVj2=VPhW&;RwkwCW)Cn5RvyK@>mW4a}o?fIB zfmA@-i#ctnEcbA%DQ2(g!q3+9P%mU`n`t`VEeeQK+><$o#KSu&K0?XPzHhPi1-gv$ zQ)ZmDbtlMFnO$|WHod7tL^L>HY^@)DtkXY*x}j|xC))jcSEXJ95dx=FVtq|st)#G^ zU0_9MkZ*D_QrF5WKI9MM>ee^I%Np!IKyq9Wx?4;8jNQ?H48h@u@=7@li(Rl?L2WW? zTajn>xuFw(m~$RY&1Q7wKR^zB4)!!>R}cRF{L*^P&XbuJF&e&UKuvspSV6jV zhWpI;$iBLA9dLo*{Gd|n_n(azj?T3qqo2$WjFzolTbUC55TkYP&!|Z0;IJ0YGVar+ z<&cnDuvck2F2(sBO6yUDon^_%s~KvVOf?Rt5qNmDa_+FX%dt$khM2>Lw&GvsQcLcn zn}U>sn6Rj-%r@8V0g}C|f||>uU+1|cG79V>z9#DzZ>!&??Q&tymNrXtxV?76upkIh z3=0z7!hP(!)N>Lcr&BMfx&Nt<(N0yA6an;89|3oA~MuASerQa1de`q7e~` zfkI@DjrJ0v+{U&GYcyrH$E@RgqIX&11nleI!X5H{>}_7$=6OpK5#lLQ`TvbndXQRQ zz5X6yXmt>~u+3#Y##G{d+@-+WWfq&Fc}wPh>6XB&6LB81KbtH;exoLK0Y9m{ml@Ua zqq97T%b|XF)V6mNYUx~uC*J{gYu** z!E95Aw20?^tVa*ncrQg=)iM}yjv0XE3^JrZc>hjwT`z8XEW^sB`quUR+tDrZSCt!k z!tv7e{>5e^ux5Kgi=(>2Rlb|TPaS?9WbW)8#T2-i<3S5p6*EujYfrX>XCZ#P?gz$M zbBH8D#g-5Z^BLlZi6<^k|41*Wwq0xhnm(Nv2I=88!71mUM2E55>w0=scm&#a%j=we zbcQ}!L!!PM@nyEXyP87dbGY|WCds87T%ahtvdCECxzvDu*I$TbsVnG}(l+fh?ox-_ph+e#lM`dIO_h65##RGMD^C~-(L_o6NZ>N4!%L>8vpx#4aJi1W#RqUGI9kI zyed7I{;RKsaW0AK{#h@G`B82f?FLs1eq8BqXt*|rOkuypSg(^)kd*cQdlLHSp}(;{ z>TV^DG747j*`zgnoKVipo49OCC2owKM4GRsKiDcZsA zfyv3DXE~)$Pdhc>+KSRt$jXPFWQ6FAI$PO--VIC_z-|~^gNxI6j^`_xDp@iJsvC9w zIBpM8*+qtzn2p4++>YBz^KmEpAC;OiO%y3@uRr~?5Jx^WlkL= zU(;;T>$+oSg5DP84U(DFE2%S|o+4xF>xb&p6Lw!t`0ezC;afa9e~h|H^&Kro<&B21!p;MtF~CDosMEZMjt!o_1(NEEL4U%yTL?=mL(9MPKIhZ*WLneYoV%G1umK z7hYaqmizQEB5T*(7kzLxJ)xI?4||r|{CNISu}g`24d|2e($$eqf}O=!3AOiS;s{l_ zKKQYX^UZh3vTeSUDOO?O5ilP?XHMAoZ{+@=3*Y3GrV1&2mx1ftK=S^v<+~Y5sx=QC zrOoMSq;&CtaNB&jDN5(oJvSM1S8q$ljZeXBi45=2Y{bZ*J#t`hTVWd2#gh^}If-J#!b16x@`BN51gsyiz`fNVOwpPp zjN~I5;xr1@7%kjVq~8zOzf@}L40D!ku3TEJkvT>sJeV2af;jmf#a*q%oSI z^@Qr?Y%uj7xM9=w_%c?mT?YwB!k_Nl;{W+&GjDpMOfxx$W}6{p>T_IAO-2z?M}MS{ zV;cDby6C8^&YDLaNTvqbXgzn-QC7IWqC7yckw6)vcVi*leYLH6SigZd2p*UN zG==c=7HMpX#FYv^Uu04*NZqkd^R z=vmq1boM08L+#4-2H-N;mzNJMgRJ@P*461mot?>T(1pOleD9#2h2DgdCf_Nq?JLQH9wxb$pEQu?VkvjKjSXgVg=2CGLLRs;1~+)5wk2x$YGtEom5}P&V={0U@W(Ud)f98)tP<0m z`_Km%ZOBLf<@K{EfiIz7v-oAv(zEZt90If+ClkN(X6>Q7JL;aGqjuXh52}#AxN;tS zxfGZ7P*R;pj44iBzGp}fBenQ()k9lmd-R*Ri%UI2jicua^9oUpBWwQu0rI{f7B6K) zv<}%c0>h+&hTDVGh0LN8va5t1Y-EAm3pK4^B7tU)OX(>r?fn&$w37NN@#sJI+~XE=SjSthn_10& z)g}ZNfgIqd`!r@{ElS}9gBkta2VPa)4)UjGltX2PU%KNE_iRK2yJvLaj39V=H2tu7 zb{FlfnTct8h5zJd-1=S$+j6i8lYbbXu$;`-F{bgTWQ@4S+Y>T;cyrOoYU4>9WbRequi_PtlrY}tTpV3zgzO} z-KLCwjmWdFN3O?MC<*9jHei%JVlh%akTb{lb=D(oJmcz}89)4G(j7P z=_xY6sJ=+o<{;+NKlNAVJ+f&C{mp4r-HHFv?B?ELz60%X_7p9%==r5ffXrhO{x8e1`Peq&X~}FuLxBGG zcXDQ(b*gt$beJ;wM|V}RMs7=zQT|$2y7P5?Vj!lnBPn{bEOw;FH;%h*rrC1~HJO%H z(E*UGs;4af26An=st_pVuFWi!X%P~jDZ-!#bOQY@6$wf+nak$2isS-0w`Pv&le=13 z0P88?z8AzoEj*c#;1$6#J)X?uh8PnGRR7`$pJU#fAOQ8#IJN=w6-`#($XZ3RM@{DP zLfmZAc@4@+he4% zvKMbDTc}P?t?^M(Q&fLhZj=>dfLb25&`|v+u+{qy(P!zLE_^C4NWtMYs%8?pH9()y zZ=%5JA-aLwV-b?sCbph1=_Eau2Ldhyuxk(adLgUB1xG7EPae-T-5PK<%+wT-G_yL8 zeRl0VvIF2I{;$L)ldsRE4{rI}m@vn$+4G^@_Ch?E$jdvjn{AA)y79{=$9}#ft?#ZX z4sNe`7h$0+nClxF+<@^s=XlYso&k^xN3-4+!~AFq`6+@HB!n$$g&3APC2aJheSN#b zfT73I!8$wv(e+}JwRY5Zs3?uK*<}!({>3hXz$HtA&tiu(dX0t8)R8idmt_JW&z_P8 zRyjRO{va5{F70R`^zY}Q?eF3|li}-m-y(N+Iv5q=eYfA;Md^$P5JHg*xZT?*lV_d0 zjfEAHxrGdo{J*osxpn)r+S%6LdO3kS2!tUODoMN@IY5JV48g-sVyUY`acq=@_Dlf= zFA&n*(3xt8tZE_3-p{>(BC)&wYK*9w;LEsdvxE z4CA7GKH%;l!keIXaw~Vwpl(r4c)Ex4$Ap|JZT22{&tsn53h2#B*dH1eXH4UtkmB!{dNYw5hqoA9=2+e2w*SyY8xWjBE(mS2}b*EoQsd* z_fswhzf7~bhAk=i2ZyvX;1Cn$D8l!Ep7u0n>u5r;v($H$$1J$sWwXM29J zvvUkkP*siB>Be(>TwU*J&`tS!_L3cRRb^RNhx+q;7I>o4B94WmB?mE`a~<;x{czVR zhnLAcQ|w}5q_$svI0{DnUV|$!R1)@moa$)t93qi$71}q#xV6C7v7xJz74BbaPRmhP zlM=fi?X9=4Kl5#R>7PHS9Y|NzS<|17$R_L@!-3!>pwqB@J_Eq@R8ELWZc(s{8s4x7 zh}*$x|3Yyx-h)f%@`hQ`g=dX@N1sY)dXhR4Y0a$?Kk-8F(si~DclD}QahHB?h139G z9c>Ub$cJ!Nx&*}NSN``RW7BG^Lo0ZUR+PY;l2IMIBsNTdM_>*Q8T0M_G|GoOY>bl1 zHZlndK>Yc}Dli%4t_%NqHwOL*Y|ikB8tAvzYXcDOee@_GdjR&HbIBJ!2wy@{)rM93 zC)W(t{itYAE7Wn6;UdHyyzPQ*R`mB$<19R4-eDBw)L-mgp#wEIFQGM3yCfw$Q&%!w z4%>`M;b0qde7k@RoBSUPD>sGkcH`Qjd`Lzg(Au)LQp|XbM84t1I|S98Lf6pPg|7es zydWp5jBFT_{!=dlvii6mc$Qj%7P3DENeC~Hh56r#LkdV`aDUEPg!)WX+E9{zcK7;C zl;7YGcz_dLm=WGuw;x>iBYVLtCQH8VhOhatqvF+v5Ins{TZhUD>>Ng4_AdS2r*ztO zuW#Pf0!FpT9>JDVSM9FakEx6@_Y{br|BB7o22N?u!Il3{ z`u`s>hNmU=r!MqgY#K+%xrLaBVi)z&l+-`-LI8L9!9;|k(Dk-Y84N})B8!&G0*n6I zBK6|YxUH|y;b)+yJ+cg>hHKw_QxVX$h>T226V?B+cl}Q|RKJwX?wc{sPSy1MgKE)3 z-wswE`$-|o!Lxf7w1VAzv(?7|CiP?o@k~T2L1a_~BO5nYXE%PquO{nr{3W$LTUC9< zq>$(~?P4uB`N7Kr;=w}wW@A$Y$0?Qkc_*PbVCN6 z9=<>I0KcRX+|>%-%ry8PiFh0yqa*4^P*3oY2T8UI)KhTg%+%K!(_lrj#ypUfiYG%U zg*aI8PGxzpLzu^H@EH8;pJn?M5})pZ{7Q6H?dchOJCR$z75Jk z?9Wt8k2O1bu35kSMQ_jQH(}^^anFF4JjqAjulb(rWMS$GV>ZX6%hoQN{!@hKF+}DQ z-eXzt7RD9;%UpB8=rR9OKa?U*UmLqT2@MfDTdxV~brK4Unq%Lh)w;sRaCDW?xH8)KibpdM2D7?9#=$f2PLQcrZI6L4L zRvKRlcDab;|Le0!kI_&dlF)erV9C}>COx68-APBM)y84Z5L!=qg;h~o5tEaiBY`Ds z@4rs~KJA`S{kbmjoLD47;ReUIdEXNsDYym|&IjfD1@hS_O*RYVtu?469LAEAx>e&d z)oEjvp(GH&t)tgoQ8fJ@9@X5!taQ=zw_>^YLajW@2QC12%OrO~)@l}-%8gWA%>S8L zBxC%0t~X!Xgodb|&But-xGSOa&C}(=+>dJ)twD%wW(6Eo&YHFgT+XOA@C&zI7cl_Y z=k;8eT}|YrmqMjgmh0gBvCmGT)>@QZvlU`5MQ!A7T=23u$Ul+8Ad)jLZ&N(0jIr$KnPy*l5 zug0n&G7W=#1`%Ui6rbY{-y8Sxh?8(=!)dk zfBnsjzpUalI2NFjBBQEwV@SADvT+@0tOYma}*l9TU191c`2D6N~}I-^p}Yr ze5;*yT$t=wS-E}@`0sz}gLB;>lg&;hrNzG@rTtS}bU0A_n&z%pil_G6CM?5zUP5-U z$1%3|#vAxGz^0^u1F0YSeNE{v9RSY4V>-KeDcd=&$d&!Nmz$r&S#PI*(oD|cg~)8b zD$dUWF$3)NeK@0=Y^IV~bWb zR5M5>Xz=?^tc1BaZkr7+k-i6YI^$LAt#k@gmlIDW7XYaJ*t~klvt-N6av5OR?H6Yu&3P)zr0>oO-Vh3X zvA;1&#kU`M8_IEL;|%EZ5o5f@nC221Vi>=#PsdWq%!cl@EA=efp8!@@vz62d z-_y*P>W}pW;{22kh}t+TneEoV@gp+uL+Fzt0G&%!po^~dsAI?o_n2bSmXQnG?6q;$ zURrHO*Ffn-Cbj?8npVzzllhP_X)XEVlDht+5aGZZO}ltV_bOPmk)J8MfK9zf@Sw|q z`QCqs6J-25-~Grj_v0hm?Fvdx-V>((kRAdy(GE6Df`C1JP3aFnsGQp{y@x|VTDPwa z=&?a$MTWFiPV$WyUvYZt3SF>+iVs975E~4DZM+E=3HFf*0BuLlSK|ho!1>Va?hSY& zyH58LYoX#b{uxWVs$DWFe5Ee@KR8Rn?lp6htYw|DrB$NSCm@=C;0W8dN9@ly`KS%| zT&l>~n>i508@}>47w?^OoyC3bhFG%ei_ep}sU9q&>a}(`1H+%`)-8UjS})-T%Tm3L zH)8(1LFqJYz*B&tUo3vaYcl&F|EolTQqx4pa$~X4Z{@-5S#g}qCy9ed=u1n8z!5u( zBsGIg?_=!;ry!a>j*E(I*CNID!GNB%b{wCu-g*=c%rtl2N&@J+RbVz(+mQ|RS5>baVTedOnxN4_yNu1d7Q zU%16hIsvZI-$bJItIk`SJ?EgP^S#p&C>p&9LUnlQ)L5NK1kz%18^*8y+W&h%|`anK71baBvyFEQf|2{|OtBl8!6UDVpFBc!7RQU4S~-9b;6 zGRPNbVPd?!^(0S|tFQLgmoUm6g7QAljr_d0^bAv6>gE1<%#%L$>aC{>-39fl4^=!$ zkyjtrA0KXrfLPOIcNfcB`2N4lZv9bwTxa{3TA#zp^I|BuU6s#Gh+D`>^Hxv==RnA& zwIU@VdNN?DyjGnYYiJ&(6|`#9(gw&QsEj!1mw?#lF*=lqBUQT*5%k}p31b$`NodwO z5Lr7AYV!)}2d=6-<1W)MAMSxTu|;9e!RV2E6l^3#xaBt}kF1nDU&NQ59WyjL`*6QM zpU5yqK-{F5cmEMg%o1H0-8VpAVwDD$=a+}p;99%s!mc74!+MHTMQz_2B1t~yol62C z_t9yB+09<-{)We4WoElToyV4|ovctqmAyL)?EBB^fu`~hzyQ1iB`+`5wh4`U?q+D< zugAXwY04IL3?3njB0^;3sru<8+q94m@o6zL%z}U-@w$&*`q-qhsF6ZLLmawj=@;+S zJ)rjL^>s(i`a?taU5T{YCHnr{3QW@+nUpLz9}vXHK@z*}5beU9nJ;SyN%z?HC*$f3 zVP()1OqtOcy3FVTG1ZcGw&#B2P##7BTDY?#PaYOosT8kVl~F_h%=Huyl7htnpy^jF zQ<##~KWr^+l2QA}WL@}?u~OCWrv-8J4v*AiKX53_0-KF8|PqCA)QLe2 zOMIx%eE!!HjgaB>WV*(vOHI}x)J6_VEZs%3R*4bW)6+6{e(QiQ+)emWleM$+fmLfI zx7l_(f!+E7*)z9bJe%!QonzzSQGhr-QC0_3~(ELzZK{z70JP$N9F;E888 zHpOQ#EA})~o0`k68&zSs{2}6IOviR9wj{e_#aOp8JRvTBdRmO<&m%v7a!Ge#5~D7f z5A=Q1Qb3G$F9= z(!mZIR{$Z#g`DXYO4&`J(*lVefsXW>beC5k=+I4eB`>MCLTttJS1HA9;(WC?Qgwa0 zL%Qui?{Z)2e;%nPxbcIrag2Kfxx82%L zKlYx7cT4~h8yj0BEKT*|Ujx9M+r5**^WU(<4ZHJ`XEHC*v4KJWfO=1)l|Wk&p&~~5 zqCfn`?Y?oxlsi4bjOi}mOH(Z-ua+xac&B_NG{m)DGnr9XIL6G-m#u1CqHH3E+?nBb z4(x*e0_gk25+K-Prad>LtJ5Rcld*Njo|uZ8d5GL2O5!@GRvqO8B5|;&XadTsNf%C6 zF|KP`!GB~dM<7~Te~|7cuFjLShmvVqL=t##cNTQ@=6V07-&#qjX{?`a#`9*rohqEd zT1-?lXCE6+_krLSBRa2fLOim|Co;;DV!ieL2uQWG?5;ar{DC(*cA(tqy|!agy-PZvfDm{^8ID--4?%nn$kY-K=FG$V%Js)gqQiebLJ~2n zc`5QlZCg&5VQbpwh#X}s>J})t?dE!fM+)A`Wr$S|Sx=@W%PIEgTur=ocoL6CM)ilctY0!Nkhwh> z^J5#YY6iQm0bIvPca22JGjp@k(~RMQwZN>6a~csYp9x;DAh#~KS>Qar_#8mM%r20V zr$UZy-}7?c5?{mY$@2`cBhU#XjT>@8LlwPiYn_;`VDWnhSaN0#0b(6b_k(#RQthSk z<5*I9>(OQwmW`TqVUNT!o-@a32t>9 z8BEu19D`b+Iu0z*?+p9_U+~n_CN-&-(&7Pgh5L~8*G{>h?LX({$5*qMR%grkg_auZ?k6ig<3NF+iYbpBrK6T{_0+-)W zi$v(?oW$R=j@E^1XB&2S8XJbQ9iFH&MNRhWhnL3dJ`V)s`r`_5YkuuA1oE!$880v&G ziV|&wL%BfHc^4!`Ea28~nZS|wPT}bBoFb zrE4k}nl*skCSg*j?`_^9^_{|FQ_ilb%iVcTX7)ZdgcWk@{V&vvn@gDD@tYzFx?%42 zHD5bK>QFVj#;A=Uj1ED z5WJ$!=m5{kX0#=&t4qB99B^77(crz!m;!xej-q7};07Xb;M6HBF>QMAl?;DAcWWj# zH0aAk%mz>wvoe!@fWtg!3DE5;o+H|NkJ$D;t+0!H+=CI&i6nL=PiY3f`<5 zt=C1XwMLM_wKLKDd6((&+R9=kkNbh?>4WHZl^!hf`e!Ii%cKEXGzj`!{x6n!*6MKF z)~e2`CBC3*Iin;ExdS$>cwPINZa_1tzw@5t)}i2#11X3f(Q3hSp7Ki3^aCD1g;H*- zY7u*w{SZB(ubA(wOXH7_6X|e9y1G7&H8T1yGeNiwdEzJ&neL*4m|zX` z*?V+Z(r_my>*;X80Q8vJE|kyBOpTeSw>TT*6KAE0f^MJS5;SfM`f<<`3qv4c9{}<` zZ+3J2&1Fe>1}tm66I#@p_w|RTo3u5J_;=w+RgCv&s6j(2P+<9{_I9*=5v2R=FaG-0 zfDgJ3-U~O_ePA(#&!8C>l=%q@(*e`0Jb5=q<`FD6qdx~t>_w5_Ry^}Wfq{R0u_Igp znZO69M+`Pg;+{e2Lp&E+AW9%1HNRa8%rJZ=3M{|qe!ekcB4 zX=IQQl~1ymVz=2HT6m^e)0xUy&Kf4oZtX`}@b4$r&%w62!_!~#VMFC1Ip!gt!4cS$ zzh-;E6~+fOX`OyuH=8j!Q`C}`w9sy*t$6xkmz{hqO6bsGiX$o-Xd01Y&T9Ab<+nGG z5(_&0rNch-IVex`8&G1-Voo#P!}?8p>6IwT0`-aYQ{+Bm+k3sNdfj?ulbN$?5x`_Z zW^75D&4Z2qa3Z3)0;*N_G@~A3rW^+PxdD}IJF?GR5iTN$``+@OZt)J6M>5;w))PLr zj!e0J=dryuzgaRL4Hc<32K1)l5{ON1)A)%CRQISeC*=T9!qy?Oy|)+V*3rjL|D}B| zw7jRZ=Eud>C#5vk`)?)!TIHas6|auPFmA%i5$o?pk- zwXV9_|MgmkF*Di238ZP>mof51L*eNQV(hiO1?;1~J3{Y6aix{zfegFR9#1+n>ST%t4MY3f^{95hdHJb6!I8 z`6gPOK&`4{-oD+lTERbkAq==%gD>!3FYf9_9?QbXy?p52yFOf4qD@c8~j3>zy6t6^_{9EmD?9aOIOMv%HGQ? z-&SwHMHJz0d1ByqGY>VaCr0kh6`k*y{;ME-45S_DN*3S5-XSG3pmH!XqyuSH~esyzE)UxfHmq+BuO3*cSD{|4C ztPK(3m-6Ba=4r<*{9@_gymjCPaPd-JXa)ZH5qi`Fx(c#UNHd6u9FJ~9feyA+TP=Lm ztR;Qc$}s12ms)MsRqLRJO)U^`J8srqEqwAurhJPd`!X?NZlIVSjf4Y z-YO~jvC6wetYiLKbIBRQf%4m*g*&rk6h~jx5^{b|(5_*w)%R?cluqY3p1k@>&4I2e zxJ~tE5Fv#eP=GyhaS=&RuJPs`fyyv+1IzyhzfvQ_XxshGRY`+9G9*p|w?J1`q3O@} zdqmGa+62xvHZo0;yEp3 zL2SjRyzxI+e(+baDV}k=YQk&WjgS_{9?+DY&6+7;TgRHO=|;O(Bje3D);yI7weS!fdbHNT3-`Sj)&<;lLeUSJ4soKq47Q8D zJt`XhRMzhXR%GK!P4Zxffcc2Fv{}fif1zjGCdwId;+3y%Uq)*mIgW4?j7|Bz8URCV z9w_Ww_=oC(eE-2rOT|>?q@lsj@r|k#=9(Zm+MgQ-v(Cb0KaB6%*tVb+fowQto+0LrK3DuxM1WU!t&>|)%kDel+bvAm5_>ODdL&)A$&SoHM7dU26w}_D@1cs3A!var#)VA3#9WRrd&szcG(|Y`3U&E4( z%OU^kk*pd##TynAUy*+*T-S7rI@SW$G0tq@nHX0}Q5mI&JD=n?c%v84W)ri33i;{` zHd}3HgG6jrYe6hUrB6o^#+F`|4)W6ZH*wzdAOCzpxiPZxp}CML4mQCfoWc2X+Wsj3 zQqpo4(Hr1y9HcL_N8}m-UrUg!e$Cpriuulc^&^T9T9&X@^GTzt;@_-ensiBBQ+8Ry zU=tqr7-c3K!{yt6E(_ONR*Opx^NNa!lQ?SBLRul5*v3~Xj==RlhIbOEF{Lx zrgYZfPw5DsujbG$Kc$PfOCs0^*XHnsO_X5c6wv~FqW%&0(YK2i03W+ZzBQ!U0H<~@ zr58m0v}wM?rct)Wb~lcSF0J=dAgagyRPm}G?Or)$BgJ{QM;sjV7pQt*7R~7VRG0Dg_<5GcF8RUf$HkC-2BZQpM!n^_SZ z?IX~8mv#>Q)tEDV(%p97-NHNEQDobQv#2d*xpfbcS9BX^>IsQ>$KzZ6Sa&H-eU^?E zKe7jp+$Gu?nT161o_FgcAOK%3dxs!+Yw&pl54Zqg+Nv=n+y+K{rlmMu$}+XZP>Z^q9+b)|yM^e9UF;lB$IQ0&N`zbxe_+BRyF!k_7Bm25U5Mz|W=nq#GZd zY}0{$;S<%Aq&jaq77}cmX$xdz?*@lIo5SuIF*>2_-QBM<&wM6ymiMW!p@A5~O=Dih z>yn+7u>nH#;L)5al&jhL-;|l&wBSH;1P_$_ZPiu~Ox4#hQQ-OA7m?5AT;`{q@VMku zOmNg814v9jn(;N15S*$_r{U=fphJoPL`oZa*b-H&hkv+UGi_8c<6EfdnA8>JQ98>@ zavb!oao;6{L)FgO?M_&03Ih#_&GF@9a2j3;K)`uUy(tK3&$6YDvzu?Fmj(9&O#6qY zg|?bkjP|GdMVI?tq|x!OSJ5rD&B$D+^+bEh_g|b6dOiRoDBJ7nrg(f3fmZq_P8IpdwDv0#MXNUh zWFyDM^ddcX!L06vK~$)WBIw@bpnV^(vY{1x)YK*>L$prcLgAJpa0znrv8x)BLgvsq z7SE#yMU|cqfnCj^h_)HsS2Z6^>SGU!w9P`t#t@(DJzic6;eCg$pG6-wp ze%XgX!ckX&rTAyok1{LqQ-y0po7xk3_aT6dr;d9+JEe!=*=^}}$d6FdK>g{l^$xLw;K zG-3KScFD9iJX64n%g3QDg#?XTSG)bUgq`m9L02c&x4slO`EGT z*j`7LW-R{A-I2yS0`m@Oy@<(&F)r{k5xJ0ef2N%phpfNFzd)v_?e?-n+g5MzzA8I3 z(F*G}PLCJ zw%9(T3O8|7yy(?Q_DWWHGpB%>V|N!t1fLXug?Njqfq@uM@o1s5Z+_es|8NF}Z`Dd~ z<8>IN#TW6BQO^rW4Jo-dLr^MoVP=tVlQHI;Ji%uw`3FY9q|_MzvR}BseCrZ{7jtIX z<2gqt_gtD^yaKLh?Ui940@I)45AgQxJW~D8{NmO?A}K^!d}J!3y1Fr=-Xj@lvjboL z{obik&TG7~FNFF+2}OU7CnSM(wR8Dj)oig+UCByJhbH>dVUwRsrgCshZNmnKP8C!N zYdItvA5x=rB$)55MDBspVqS4r;l+D5uJi2pBuf6`U8L?ZA7Mbs242^K^ACaV6aXbQRf9sS}F*rdd?HG@iH_cCztSedFd)9P203xt0s<42XhoHH7fG8^oMdO zGs^cOzd;-2jq7)oz#UtKiS&gUG46?JY}@sY<*^Ig0N}Mzn6XA!BXn;DP2MiA3)&~c ze#Ye-y3c)VWrbF&00Y@d;3?3mth#J7qP4cz&v-N5ZS#F=f~6^!Z6+uepo5-d&>JPr zwE9vy>_{+Wch!Qla133HmZ6hq#kTE%>+a2}MH=by(U!F>Bya&P3ocyzQnQ;C3^%Lz zoq8Xl*o9s2qK=LZ!8u^67}_Odps17jK2tL`w4!j>TA@o;QE2q zzDI?wJw#(EE^g-%cB3Q%CrkYjR5A`t@BECPebtGLMzBDxiRrUF)!@@9`wq71lfxbf z)5m??TiYo$Hrrj%JIe!`J%pI0>M5iN(7IiHR{rkEwM!^=d<60G=m7HMz%2Lp6aDv@ zHU$mWXiuWnBjg0(lkYRfbt%V;&+i5=rlPy&0t?lf?0*ZtYOB3);$j0KQ@3DGsGR7K z{`Y@0N~*X{c1J*2?Gi}v`?~EaFM4J{Cw-x@OD0+Nc9d#`wTfBEAueK#)RR+ij~tV` z4W8+=&qHV$YY~l1Hv_cp6jGWOil^VI3t_2oD*Y&JzScI`gZgn?6=SmjzKd7Mzg}3k zdw`XgoVQBn<(v2{EgQs=m6DtjAr|2{d7}zJphe^SH0J3iGbju>9Lv)duI2E&s1)Vy zBqZWENywy95YKFHPyciz#$a<~Me44Nw5d7hWQQb%Pl|u)%d5Fz@hmU22}NE8{KWKa zH2Md#y$v$e_kgdS`?;uPA9Y7?eW_6U=hw}yFlZr6FT{k)v5>t8I$2jkk4HA$9>k|! zvJg)Vjr)$+JlqW)kObS0&EDQGYq+-+TMJdR^OOJ4P5-`|1adv2oA)T{)L2&+Ct(i= z7QnNB=a65U;~F=fZD+wBHKx}v>>dO%8ex0V==GbphXb$Q^6#lZ1wSvhbA9~OEbkfC zb9BV`x!fTUsJ~yG5yScM`Qo#4s?=2SfjYw4V?2c*=Tps>bJl4~sg=Rd#&N<5KmM&Xawtn2yNhi`KUp zVIgbc)f|O$9CVnC2K7W2QQeH&i)IXmKU{Wi@^8y%5QvVO*!x8eU!!?g-)1vWo(wQk za}Er^X%BjT367mw#dltM^*oan5BpEbQX}M6zOjYt$x! znp|*rck+Jm@WqeO5iJNrbBRNAeEip@2WLg!Bnd$;3u5FxvY~+*%nKmITz}}PEU*Mp zi*g;%)%GHf`PNC-V`|FUS5NzFl;LM_gCiWF&*o^52-Ch&N(fyP^}P7SYyz+!3~6YW2z%@{tv2YW8tRU|$F zz2CaYPUO-gI4s1zc~CV86FHVZyRzp~gF0SN)J-YCqMV z-z8Ys{f2(?Bueyq7Xp`T4I}5WH)XfH3?B@;k)OFABWM=Q0Id4QH=j?5!aarRb8F3! zl`fD9ToW#m5LLJ#Oi}zs0fvzQ7`qPx957(9RaY0l=~?avUqoPw*kz@?S&9J zrb%`}3d>3aK2UI!ZX+DEw>oeX-?Tg&i?m9=|51I|V-m*E#G`Y6jI;lNc4V^fe&o?n zRxPZQvj}~^z?cCVqPEg=)P2qn;Hy6qI7a5=-69vA4AZdevPcRBh{b$S!qs!VN+sbP zrTELi5vLPJ-FTeEogbtjDE03%IJN(etM?A1@_qlnY0yF`DGn;6XdrUzN=0NVA(Sn9 z?@^MhBP-dJvPVYtNXE%5d*wJBdmSV57{BW|_5OT+zu!Oaw|JiWzMt#9#_JmQed+&f z%q;9#S^H%CQyk!CcJHb}`4w=NOrlPJQ8=SmzFl~}#xFL{)^K$we+`%Y+diCgCW|W% z!S&Y9kFAUMWmedL)X$b?$mNB6G!gxpImp3Ub^lzboUQGwnMv{eu!iG+h&7%)Yh~zo z{HANowBL5BO}{wv(PH^pZy|mKf&YLWfS4-yjGWtdF#>tCLfyK$qcLXY(8nWX1HTnJ zgr*Plf9z_i^y9<)Z}bF8wCh-y=K`_~=h*_|@w?zFGYpEXZVaCBuRWMC=!)Z8&^hQk zE-T>rVRAF?(k%?zC+U#TJiWTZxCyi6O+0W@r799ZID@Sv1RoCY+%$DGvor@ho^Pzx zo}o_S*lfPW(q}CddJvqv@z@}%gCeuPC%fdr1Fsg2z4t-Udz`qlSMa2$Jjz%K6v@(- zP`t?e#^IOO1-5QpGV7dv|8Z>Md^jo4f|yV$nEAAvVLg9q;K%Bu&6~_ex!*`T2jDs+ z=zBo+gii$85RSNPjLm)z_S}9P%~ul^6Vq&WkWRca^n(-&WU8g+E435{Eeq$E1C!q* zDQ_n_jD}{%*@tnOWz{{tf8tJl&uzU3j&L6i`e=^f1##R#eW@E?lnEA+5)7E)`F>OE z=aUX`xIEi2eHATIQ|3tl!JvuH*_Lr@;&h9pNSY(Fni33B-II~qQbw)KmNvgU)*MC? z+{_R9zBoShwPKCNYuzV)`o}vV#VF&%u2IR|HWk&U-8uvE`%i<^C3p8N5F$c3;<9>ey@UNWO2>VGQoa9+tu_3^Z% z)A;)ARc9xP$ddG;XY7Elk*vTbHPPmA?aT}C+uO-Y^EK!f(9SOBFSCZuwy0=pR6+_|ye>K8iBKYDrCImOSa)L4o<9Vw?mwy)7y;T$P<=|Mm z5HPMjcu7?7g<903S-6ms23&kqJYPp*x{7X<8ra)%S|H^G78GcyH;SI?)w*0Y5eEFu z1FDJ^%$A?HezLH9Laa-Lz_g}XvY zM17&en^3Wa3&*m$-PiHjc7V=jWwuM#CVnPf4UyP1QSj`pW7NF_?W~UN?tLG9t(Dh6 zV_}faFhu-u$t=Gpo&VQvcS8oyb;}cjaco{Ai$mZk!Tp8hOY3Q19|T;p1q6OKFd)|s zM$pn;nDZu(h*eR(hZ!5U*M_bxkGIHqSQHI9Hue47olFXWiySTrZ$Qs7hm$!H1&4kL zxZt1T9fYp;ep@Nb=U3pG(g~YO?$RbNT}r#DW)WL;tyA~2bjVZO;-c!9jQ}bE0%CBC zT&h^*9yxR&nz{GHW&9TlEgk1!Uo~T2Hi`AK(rKz%T0BT6#~g`I3n|GcFZYGS7hVJ1 zr>~h$b@52v`G}b$?|G!3kH^2XPP>OX8r%NAuhK)MTpf?PZyDLZPBF-%_R zjTSB<2}qo2ESq9K4SMSv{y8>_Pa9YLf?FriyGgm&i>l1nHJKz1l`VxG|C9? z^fAMcekbJKn%EL6s#R4LBnLycSM8RzObR+<_rcvh?$2h*Qb!3Bq@ovs5YIwYO1ab? z_9H@>+5Jmq2YikJPB=tc=}shsLVm9&3Y9>L>u$@(FHNppoX>bx{Yi z-tX0shGMLVUPG%V-8Z&9vY8_v%~BzN&x2p@%BsZ4*M>C4Z;)!EJs5lQ0n3gGo6V^d zH>-zc&UG0m>@i_tIes1*yjy?Lt-3YzGM1+acrni>i5JV##Kh4sYI4w*RhgA?`zv~S z<{)wa)!RFXC6MvzTSgt{vnwt?6T}Uh-|?0ApIIBqX(}V8mk9wnMq>RkAxdyFXG=yQ zjnJW_+}<(07`gJHZTb47#HZzFKm1a=cRu9Fm%r=k{%zZIxg{~teW{_n%!&A7d%kGM zGj>;lQ|8=GYRjvc{3O<3XY3@ojM=@M`06 zMX|P7Y%nvHhlbx{(>2fCqr4BTR^Z7peOA5EeL1-#J{^ay>hUY3xfr#ruz@vzgX`OJ(5=QXHtt zKG8&HxyAL$P?=FC|GFzYGm*=chxrUYO zpS?tp>KxNud*S5bx-Yok5w@|`>*uY??8>qI;f%-yrg`;`L9vg<*|i@0t<ybulH*R#sVY_rbKC*I;lcyY$i_bz%RPLlwuwzD~!OP2woLr{5cX zXd5{eqI*8Mq{uc_rj|H@R^?uQWd&os(dQn|90uEDWoOpg0R``(!T}2~f@;cio_Vxu z?Dm?Ifgj7?QQnzZ3p^bVmEjk@b?ZaQiI8Qv9Erh!c^Mr680bepz(I7fV&WBD&ke)r zWoY=QN-H|ctE2tKEa!n@){?P~w(G^ifqQPOD9s9@V_w&tm%UK%i*#w34^6*u90H)w z{ZRhSK2+|b`r2ju<0 z`l*Ybb19toT|V;T7Z%IV;8lXl%-kq}*i6gPsbnLfA9Ji#rErdUB*Dq@lIACg=R=-u z>W)M4^E4ExSGH&|dO6i?FAe9;V)7#=H$|fr)tb2~HV1Hy9xjV8){T4j_M_H@ys93% zj76$wX~mZ2H!Td;?5#3x2;*G(=~ejq+5F4n3it>6OQzHD15Amo+=I*%N*)p4wbe9_ zha_GS6f{m}wMh?5`Y=qZBL*WXsqj-`8Fk&yLZ8Nu9N`TSY?7YkU|y-|5BWw6IYC$4 z>s}HDKaRp3u%6W!nq%uu^3m7jS*-s|vGcnM0EN}qf@cEXDy(VpyS#?vhik~pK+pjA zw6d2Rql@QV%e`TeH=$t%(GRmUyHJ+vU>qLP`@iJJJ5PO%GQgF)wCqHvDqQrB9R5&z zKgQs-VOo*!JX)(cFZw-0!I?7%vNG1S8mLx26moSoco!>+cK6XME53cMC}qAJ(R4~n zlvrpQ95anCCSdBJHZ(w1TRVQq4QYou{*$yi2i|cIo?(BGVDYq zuFxk*fK^vaLgEa5p$yWl`Y+ZrBAz4B9ubbKlvuEoZ#O58cuv%Px)(kQtw-e@EVd@4 zB@b;SK+mrf35po!g`3)yB!!BWP-zj+vV?n;&*Ce-_YCMvnO7YpFW#vNx5$L5^Kjqk z3^%YX5ZaOah&J+^>oRs3V9|MjwL;)miq3118_Ihy*&~Sy=D?@r+`kOxD@BXlpcQ!B zL#~bJi|*nT!M{I40%;|#M>L^9V+$K46Zh!|+8rW=s+7`GEL8|jjdwjeO<~AjO=0i1 zyR8@w@r(+prUbXrrToMa&Y1f`I>Y8Ad42YE`B_L1#&vCaE=2V6!n(PeC{bUXFNpD4 zV!=B(h!Qhm`wD6?L*&Rxd@Bv&u%7L+w?esPs(x>b2V8Pq8VqXkx z+WvehUay>slt;jTA2HP@NsU#P-^KfO5~J&mo8dRmFVhw|Q45PGBmz*f08u!l$mZyz zrXJmlBH=A->2smY_iPqDW_Y5RAXPk3S46~L_>5%?HCQ@&&~Gob-?EHe@J!m_@0 zboqH9T=nx_g#)#8n#9iSk)y<3@ivlJ!eTEgt)eL{x|m)TnK@DeVm{vKBfg9RkQQC} z6H!BJ_bK_j-K`)<7R&d?sCdMkGn3_adH?d(HGb9shixytm|gm&e*YeZJIV#$k#IwL zm}$ogMn>^X6Y1!q5dU}>OQkK$vtRyv2oNqU{FI$0Hy-Z*@IR~B<`D8c)xgPU32heZ ztx>M**~&6GdJN2UmjzX+*_|+gmOQDwdx^j&f$~(+%gu=CIXS!n??R>nRB2-vr<{OB z;r)u1-dxKvA5PeB^?XIx?=fubeb)1#Kjcq`EXJ&UetFAlxsdq>x#)obN&dc{{$b?W z2oh=-t~Mj$FOFoE3m!HxWgS7QaPg;^a_@EV_#4pxYAkU?pK$r3?C>qOhSu^~z@d9+ zn8&zMQ1_yw&H%2T)O+^`Au9;GsWhof^B4_4uTqokl>WkgXZ`QIgbigW;iCo zfd|)u#mPFNi6DQT?pV#be!YH0vIozHU*V9eTi*Pir#y!3Oq(|8kwjxyX5PF+!c1j? z=mJ_PjLJ%(N9tN1TO@W%$>bT(kvvo5l)ye@*S-;dgLf}3{#jR2ee=)7oKG=Gy87~c zYQKT=N3N`3%?2b_B^()QoRz_BtrS`;NMsB+spvmS$te&~NLOHL znzG@d_mh!t2@FW`^npFEn8S=BuVj7MpNr7(qs#hJhqb#GIBXZH75Z43ryzj~NpcbB z&@?AL5?D?rx_mHLSSqZ6-6j5iA)=)xb%#QI4|nCxLy9`H;<^ts4>G}W1#3d&4BZ-& zrd1s?u6L)n;sz5FQ~6wUGK3KR23aB~clwzNvv5Yur;0X4S%44ZdkW30BLX*_RF(Im z&K(30y;jKFGJ|mII8xg1pgL1yI!On8DUVo5D|(3H4EvbNs>uLpU3x?9P3YpM`nbqL zh)I4gau)BMcXl|wLt^oz>o$#-tE{}daMhIcfOC(77H1!#_!44ElTA%6zJ1;NL|l^X}$x1hMaZZ|^dFk&LmR-?ng$>}cV##lW9b5PWf=mBQhh8)BYK z{pzQ!P5SB5OfS9tO6PMPCWipx6r_$yv-)`v9Y~*?BB0%HU!5$mcf_@uCKk0IhFCRW zfAn?1(L*ig@bC_3;0xMYzITjUR1_7bhK3>&#CeAMN>4{1iZ`QdzSPW(P;IGq>Zh?p zE}ya6F7EtTX*W_83W~*d`A>)D^vPUqTJ-zhWkNCIaYc_yYJp{cle&SLLj=Y1YpPVJ znANZ9yJfwr6jX}v9)$MV^;gZstz(xG6GoB;zaJw5cCBvwg(|F-2DOW8?ve@9p_cRi ztxn#kRgD@|HapVjIul9CZx&cXK_zPxce^JIW=Xk6ThW|k47sd}doZUVyMx6a1TX`k zVNGa#cV5^11I}o7o9C%b8)iJgEX+j#`K&ajuk#Trp!z}^y`?%N)~0vq2XOv3;dXp7 z>EB)Ba&~Qe>Q}@^8zUd*Zq#xp zApv+%!B=dc`S47d!VY4kE9@Mqd}=O|CX5H%+(hoVsL}Y2-#cd`=7Zdn535~t*|Kr? z)|L_V10(uSf!c2-Syuy5F~3Rmg6Kxl#-r{lxSsCC%2kK)a8x*?0m%f}XJT?xBkwlo z1OEAhcJ7g1$OrCL8q#2FJtaJU@ZG=l!S4hmb`Npr<=QbLCAh*0VJgt#kTMZ8wi9lDS8Ij9$XT%$CjQUZ0N>#*BWncVvxm6&Kjoc8dbAN{hM!DUnYzpS^??2&}J^NaeAspK(<4E-g{*OymnN>t*Rba zU9(Rea1YBsOJ8kr9S~kRhe?W&B1f0Bv&<;X>?4Mj4r@rft`2TcR~%!H8xPlJ7<)ul>cCEx-y+;8%VLJLEps=Mg?k|-XBe#2M%Hg4 z^zKqZfJdI*@GSrx@lKA0ErJHm!NWSi=V@8J}*|40wKC zvztyg+Io*5J6R;{c%yIl>J=t?Yi9mhQ#+LbSJKj2%vy4dMaNwXpv;YhQky1bqrc&XhNAKrxsTs%n3>k&=+qHIZ@?|Ri2uNLH zQB+L}0_m=jaWG!jW;(6t-t4QVL3-G`j+7xrP9dgLZ!hMi4~j3SkZU6Hv;5&*K^^~2 z2ZTQ=h^cl-wh6j2=58TsuRk0@b336R-;#9%@=ulIm^vkZA+b(M+O{!KC4uZ9HK}zu=1R>A*d_Z77Dw-bmeqZsQ z85Z5>PL(LlzY$>N3X6$HpT(;TY~S2IH@(PlBIc@pZSf%{Nit3OXOM4x3mz*i`ugu* zkuBHlA`eqEQd0avoxg*NFeWaU9pF z^Y$OMAG;3u=LftKZv^)&IJ@t7m~pRcXm+1D=$mXTvBAf9F$aZ2Xa5HIwMT|_yGKdH zu7M*=qYta&YLICi)wvOcD$cm_aPe-PgjZ9)+-d9eL6*{;SLjwp28nFIHE&b)ARA6E zAYNy@Zk@s{f-Y_kg5cAfmLGHEraOzV(!#+vB{E?RbHytE%kPY0>H@nuR0{{YBfoY( zi=8c$Sbu&xsBa zo5&MyEe0+^<#inwgfX@@x~zyiI~(W2p}=t^@k`Pv{kNa?(0;%AzY4yAOFEet6Q{nq z$bL-`A-JmC&aHj&VfFIt*}{sXQ}sNjv8QStjacl8X2*>{7S0T*LA|jCp? zI<3oAA|j>q(bE&VJYemNRp{=BM084-men*q_0@!x#$M2<%6yHFz~NXZWd0s|2x9B>Du~$EcuQ66 z+~qizH(=S-Rb9!ttK-E&3)M(uGf}<|pzq_`oj9NVRkDaKJM11W3P`BB zSXklrZu~_vmsCd2Fg%W!6@|q?r*l@7rwexOI$TL?W}<}5m=_JLdODPY>Ou`JKmONB zPq{_aV&Pof87S=m#r{SdpuzJ2HNqydMCLK?k0v`kcqO3NN6l{U&MfRTLZ*%%;S81O z-w9?9#w6r*Yn~gh)C#8b^SaYz;V_n42eKLOnms+mg6dk>(sqI-^GuS!Puz--t}v(rZNNuF6}jXUuH~W!HoX!^iCEv-~5~ti~7b6(O}xx@2j1OnN4c z>s{4(j(t+|h~urpDIeq(co>uSW`}CGwz@&!<#a*3NojlPy(ZKKCi^xS>p4va7gP+$ zj7fSy;hr@MEgX>p+fFv{8oAE7BKTAMwP_<2gkpiS-F>G}T8SW$||tn#HyYMDUXx(gxx3 zlX(20Ylu!6m1Z$Mtk|=>6?HnKc1M8W9}7`%DvE!u^lAL^R3Vc1p7%&jP_G_F{sC91Uw|rtl^u zA3^iRuvw5NA6QM+$gEjJVvFPlu^_uTUOrP7GuUZqz^ABcT)eAN6iDOC`fwjg?(`dY z3izmhxoX#Rsg7~lBAvAQ<+6azQ>fT)Nwh6LmTTeg?ZXV4>wxFH1&N&salt?$PQI|D zo4IE2x&}j^eJKefUixgOu8F|HzKdUJv2920!&9)ueblH}bHt^|O>{5*{`afZLlZyE zhm8zf<~$xeV+~#c*;Ocbu_Bb`$J30Yzm-o}JoeLn#gB(SA#)k!X?Xc~C+*MXB~SFU zGcoz&A@n1^f5@FCv#L$_-{`)|*eN#muv(FS?A1pF7aR_mL^Eqw;A}K2vuDUKdT4W9 zwS`nun6K;Svk28bgg^p?BwI19U$)n%$Ito)k`l^@5c84kzkO-x&fQQNX)G6l1+E&g0QbsD;Cr13Z&!r)ce?l&Y8D%1v4k5|Opk@IfkmmWKsbrFp;>z_9?C z({KwVl9;kVN^m0f5vy_<@(iafR{NVQoboj0rgfFgOY`8!X$+l%dZKvYyg{nb*E!Ed z?<5-*%+HEBuUfP(gbB_dC@Sn+?26DU8oPduuNQnygL+m9wl0YjQP};q*vNYl;<9!B z_iWxFwCB=s2(U~!w`wQvD_WX~aoRIiSen;6sWl!%R&Z-G@@J(71kveEyS=OR8d)`= z_gNp*5so7mm@x$b$(+?M_E*nX8N}E{P2nGII0(%>#8~!MBc*MfWx8}rUBzB`8h%No z|LCTG&@Dg#WNDp}daiA5pq@F07ogC%VysAgzvFeaqU#E(%2_pw&x?LatVxiL5g0&z z$aY!nxLg!fP8FYhY7MH!aXMMs6cK|8+j7&Kw_S?oLcNclw^M!=bLjuxIBG4BKb4%F zS$3sCfCUbF0Q)kfo5mV^MYgBT8Hh%PE$yn5+t~#>A+DM za*>J>4d@o9XRe3tIczeaG{42!kTI-IMVfxlc1I<`hTX%DemMJrh562eREa$J=Cu<( zxXH}XK|Z4b@sp1t7)g0fJ8(=5?{whSBnBdE4wK6>fYF{MB#aPps;X~lvDg9>9ar_x z6k+UT%j!ZjO>M(tZvWckAT7|7E^5I47esCz4zjE)fntiLo1%8b!&OtznyDq{x`Xu> zNs;#8y*ehe8D3$7Cmf+v%3Y#dk)U~EHUv{{ zNE51LlAh3SAKxGX0R)XaZM`q2iZcGNFcPm| z!=(^@?H%HmH@tDkMmv-QfIU;9u%i^Jm9zg{Vj^ZTvm>j}RN^#h*+l-!%*&r)Jp67#+Z8 z>CZv`ABE3S`jrYgO~h-bW#~&9N|AV8$E0MB9Qx~bS3>>HtL<$w6o)MnZY*o$#!sSb)+gt%S2hi&UnIhc**=#0dCv;kyMuBHO`hRj_^EC z*H8|qD|6dmZEy-d`MCHjrIiF3tGcaVM9{sGEIk%wyVI(iJcQhVD(y@EEPjM=AY%q( zG=^WX+1_w0sLCS)ytQC#?E6+K_oNU2?B`xBmY>5vn%#Cg=yM9D0*k-{cQxvIYOq-I zihs^8rnIX?3I<7)oN9(%1_TSYCpW$=-kN@!n?2xzGyp}Y5Ly?wa-FM@rFu_N{O73v zxSq;nr$AW6q9e`QsJ-5lTb&0p_;zyh8qSgZbUjQ078a#ZATwAoJjCSKqkRx9A|*$1 z?ue8kyX}CS`q(sFuzf8Zsq2RWjKre(qyB+|8zuAwJM}tlUz=B6&EjP*BCsstBa_~M zTegl_lKv6>WB+{wd(&HgDBl#RIE8)#hEQ>a$M0WS>t*_EhjcyOk#iGNg2`y&f%YU z+0R>Y`_u^-LqNCg2y(qWu)RY0%GEo*$5!}Y`TwKg7qCCBjon&h za3{eTr{PzMzhW5>b^Wstw~v&Pzd}=IbDcrkOZS-dr3iy1p(7@L7c~vV#~q3pqUcw& z@>Tmk;Pd~KUcoikHT57GjLmc9SZYhG%c`OyPS;P0#rjg%TVL7JL!gT)%aCHzrTYAz z&+=?PyT(@gXeFn7VvAd-PPlFjUf?zPIzvhOn-*@bU*2*uM(q`}_wrBS(eIRH zRRoP%ACFoTQ4^RE{NR*?;0G6DM59HBuUdc3&Yp{Pc)%}LQBf#SEEKO+BvFE75m)BB z)!A%%CAHIg0xXE!uNGf`cwF+Yy%S_b_NIbGkmWFVJ!?FCHFYoMX-z*)+*kM|`CzPu zPf~k1D0~sTGj8C@xQA}UA`PG~Fn+-CCm^OwC)Nv^-|=1TNd8*0jWm+-k=3$rdsnoZ z{V?bih=>XV$4((c14kT)CL0Q$J(J0vN5EX+sv7LXjC(?6a9l-H(`Rpsjsf^062?-xHwf4|-{}CQSTnH87wN)vh&O&N`)7D1x zd8T?X;*i@@*IVj+$^A?XBpv^Qt~w@^y>t9m$59D>4Y1w|>MuA9VW zu1Dj?^)ynhRsIijaKriIrJ^bb*RJ9Q&bqYT6z_$aOSLMI}6Rpo<;B!j?|&5 znNwZ8GZo`B7+)TO!}V0D*xQIf7lfk(W_ZG>9YI{Ji*&pFD`GUOsEr_-2(&R8bIe6Q8a2m&ZB=l*`B>p{2+-BQ; z_fNrB&R^N7Kc09Aobalk=@MYT_W9e;{)fXxs8G}E_TMPfpFNX_u~WD5_^f0mI5A+6 zuq=-ZJD62u&-lfwR99EZ+|7wE$e5u+E#b}Wkz4w>t)d6K0$JA;2Cuah2^)(Ul_7XLT99nN$gIzywyl0le}~IcUKpkzmqOCKLM{BG>$Lyda=L90o7w=IW?F@ zzRO%Kh%9z?9y4}e<|VN+J{v$T3Xt(RRS(&0YTn+zmgsD>u<9UlcSe-V?hb?=V%`cd z|9j1E`;FAsx#v*J@0_^%X5(d3+`WGY%(s^K+j(mdR0if06^Xm&%li`m@U)8M^}R;b zg4G!POeG=~Pg$J`aoO$PF+Sq_SFIm7d9~Z1?$FA0YStfrBHX_r#kYr@X2j=TM4Elg z+zSwPXz=MNxw=9>e*C|+y%UrhtWZ{E=QlXep}ItAMGx6>gCEtNKeGB)t-T_Eaf0uk zs=xG~)!VmoPgCg|k|;1bwq8C5H}kZ)o4NjYJ}z6Mry*4*FkvJy#m^RgTQ7{w^xEX# zIV3hnLxLOQ%&;t$+iO&CVm@hcN91bn>T_}qlTmv&1>HIirFazHVnF4VeGXRZ@yzVf zc{>msx*^@Wifb=^of^MU+Z4y?zYoDfH=s1h+sLR{i5ey4CjzDqve)i5rnOCkN^RiQ zFQ@9iH*@KXvxmt%u4@JS`(rO``$(j^z{beomFxH6rs)e_{W$skw!wyT5UdfHlWJS( zsk13GHii|Cp4vkzv$#+*Jx^0}w9iU1IRy?L?MYC61ud8=vu|S6EQ{zZI@U)t99S7)TtvmO_t2enyYN zO3t4=9xblLVm(_`#U6Tqbco`;$}a&C^r7c7t4Eud&L#_s60W}*?%AUF^oj-c`3>0B z^miKhf7E__&}%-``r`0ci>u5~tla{Rw`ot)YQHTdiFdByI%MH?$Q(FrQf@A9GI$c!AwR&IoYUbl>Jk$ebu zgM%|k;bqe%Y}ZLCUFDf=UU1Cj+3>JD1t`8A_~upV51lrJaCTe%2q7`Ro1lD;!*Wq4 zR`4_}h|&S{8Rq%YCacH?R(8#N!Gp|Gb|VWLs}>X1NI{RMyDBv`Dd`O^5A%=;6&x76 z^B}C@+G#q#pa{x*u|Rjy>Gub6I`Oo4zbQ^)o3yy`=fAA^kTNy3#4axH?mZ6v>Sdm5 zi4oCWPzM_12X7+>11T?Q(3cla_U2-4C*`?f9JS;XAEr%|;%p7Snqu6|$Yq0%JGZr7 z3T1(Dy=YLOaB1c!UkiyJQ(d}~eX9N%&P>325rL!+w2@rWjTe?QGuJ%JJKUA-_53j) zXJ*o(bSqZ0)p{j;v$(>gdG=yD{i9t{Y6*LLy^tN7Mt1DN#_YAfbs$=nQ;n^nMW_ew z_9D((2fE~BTNo*B@hjQ~$Y77bF(N|HTYWS@=+;Zjrj!yZ7Nl8&cg z0r2K}<6UN+x{O(J6C>dy0W{4Tj`8g#470UsZbt>ZDt->Et3R(74rn9Q#a2S&kh zI*}!2F^Ej}YE{7(l`MRj@GjGor+iZzc)WV&mU00%1I#A^**(kBi%_2#XNRKKCp%of z_M{qaKZNw-%UeRO1M%Y)Ir)H50c*nZ?r;=Y@iK3^-nzAVVefZ&EpLVRO!7I{m8DD} zN9!+M0UAYfS>+*T^-cvcXrmHcSEK>18SX;twPJc2AD0kjo=~Tav2_fkuA3MU@&glS6ET6aOsdQ-Cj#@a;@^Lk$E1Cp|1Q z>T~;f$DLPporm%TNpSm!dN9Ih*SF@K?&7bfB+ff?DR9)nwgIN9Q&tUY2e z{LVPW3iq0%rN!R-oBnpl@|o+Ctjp#KkAn6~vmPg#(644T&2ZPR)fGzf=|J3j5z6C~ z>%bMh!#MSPAl~K`yT|62D%s3nJWT(4wZdYL8Lz4MBZN|PdEGRF>S zj|6W}Z`e@RoCg(2DQ(Da7;uHn{XIr>`w5}>nuX)Th7qHMe+AXqUrPk)cP@T*<=@ca zYbmSfnT!o$_s!nr5{#_NtLHN(n=v)kA+N;2erC9U$t&Pc1b1}yIsn#jg@INJBd>_J z-S_xibe?6=Fnsvsn|6h^M?3rjx!f)(4^1+cs@%9+(Q;C&*mgFTRy5<24H7ZPwwSn{ zFDWa3dB*vmujR5%3f(o#$(U8c>B3z9T8ks`uo^3AFFxd6?y$} z^=*W&I^o!divR8U3`Kl%nTnH+O&sMBL(EHU($#Cqr8}-C zPhO@gw)ID{XC_JK>D6TgN<&;be@R3rP4eG6zx(YdxpGXovV1fBeE9kOaAFGTY8`*K z8Tv);kLygj5aVS5kx#FPJdsvbJq`U@ffOETjMAiQt_2)tD?E~fnC{H$@bp)fO-iUhyc{3Wn@vjh+4twW0+oD1b^oU`8^qCcd4u3?m|4^qHN zT}Q1WPG2*cv?TCdr}Rk%?MKErJie?c;=VWy7vE!F)8p`BTV`ngqs1aqvy zUJCE@m)=SD*TA94p&jP0PqeR)a>@8&O5(i;H5x!NW>o~u59 znwOWi81pBA1=Lvfp*UL^)D4PKO)hZoTQI4r!q?G2;sBcU71k2g6B zoZXRVfs19U?V`j2!=l0BOW+UOv4rPHy9st^7;wyU8Kjl}yP4?h; zwV0V=C8QW=Gw4teQmHqvEjIX$5ojw5#IfYne|5!cBk+n`RH4Mv$?#35?##D2P_ff^ zkPB_w`?UJ(%c}R2xmYH+3jpT*5t{wj_2P^rP{i?9weo2W`lyr_)HRPzx#t<lH(jxMkmxqwcjB&KI;_Lwt`U#iFFSTYwX-T?JY}R|h=tGL; zZj$6_nP6IcT8hAF!N$q%p9?<6c8#0kXBuB0gM-1Z@5h<^Xc3yh-Mi^1$xeR^I?0Ev zbQ1)DJzLvOSpt187SB`BhbTsw*t7kt+gr5OGynRo*V%^AXdJc4g%HjZx}%_{rfre&1Z3axW`1j>RdSr}M0gA>&{m}O8itY3j$ z`na|`i!J8`!L&Yr&KuoYcF?F4bCUeItFfaN)w%$e<1O{-7n7F^Z5wEJBew<d%q!bU=dsAjNzkB*QIi=wIb_kp9JPxVMEhk~1nc1!yX02!Rb=}E( z9JcQ!H<#}m5uOjdt@r;PgVin5nG&0-jJY4J=f-s?y6B*+NLrNK_U=F#9r|A5Gn-zb z`ICd^PT!MLICt-c(v1`IoIF$KWbVGWBzrWJBj7cCw(}h&{tKt?ai4jA?!Dfb3sDz# zZWfOgEL4Z}@h;D$eT|*(i;ka9$i`*QPi$`XN;R#uj@ml1WM>Vr1)n1q+2u8nOOj{cZQuB^&O4Fxj`;eMe_tViKy zDcAO z)egHGvNPUEB<=RJFTYDjh)VGk6Ic=VtX&+0g*b%xP)REQVZQRTNDJ8&4Z3#tb1B?g zZYHpn&p-Cj$Me|PmORD8^WFBD=M@;DJNC(tq|HzCU%HjU#ViVagS;m zqnUVL-DYt7e8K#Xre#T`eYb{cJ5~}W^u$;dHw7o=idah?U-`+&#&@e?s<6Ds2`6AP za@urhRJ{EiA4z_D|H!UpC;lCN{Yq4mUnDFmJeW0pw~DXn(nXK$8P#_6s{Yu!822i> zKFL+0ITNv9ahk_!JIMylaSQ2}7Zs_2ZtgH7czCcW63gw@I_+XrQ#|7YR?NbeBm$>< z7Ob~~EPp#&5Z+gZhWnmu+}-^mcQrn)u=k@?X{+I`NqGl0gOMT=Q;!fmZgDN~sM)Ul z#QG)E_D?yVakxlWr0AHdXGc%b8$uaO%FIMfgNe&5x82!|%F0*JeK4WIRiuU0HWh$b zb_kL34@fDo#!H#uqz!r9p~hCLp#L_LBf%(dwcleZyKG6r{Et4{jNEcdimI7dNxRAK z;>EW?A*b5Bs2~g-PgqXD;l3vCh;3btT8@PuQ#_lA>z44)tNNQh?9!sMzhdF=fx(rW zitW`3A4mQ=%Rq6TQE~Do6fEL!jXZ{{ib5fZ(Rm)0G#J=B>&J|Da)%Evp@f-)vV}Z| zZtNX$R|VG`7$5U~-d>$yDF}!3*oA-=jJUXz?!Dt>?9f6;kx6jcD|zRBkkvHuB`;vd zY&=_UE1RQVP)TD(E^=X6ML9jDx>t`qgb#_r-q- z7dPY!VS@9yNa`oM^`$2~q zGh6r7{EDgB{FKRG$Vx7UbeUQAvg!R!w;k{NsVm1WjpJ<|uYU*<(weUev2&ljG?ZZZvRE{n14mSPOQp^t#;p9a&~*CaEMs;N2c%kl|ZD`{*4{UH$cseVo+t!zO>n& zuWzYJCU$tz-)TF7jHWFha8hHmLcql~Wc(F;?d0l-T&WT2ffghw@fDFJ>QuS1Xf3=&J2PJKX^vn_DQ;IY^_#bUHR`XMXu%c^cow+ zvuxzYa2Sy8HY$5oN)z?$Hl7e&RN6xfR-X&psc3MQ0x%@NvH8^naH zHED$^mdV%cyb(&+>rF+?EA^Sj0KR*peyRt5v`+IJg^4wV;MDOu%H}s`Pd}ldRnFwx z1J5ZPS3dy1yOW6+jiW7iiW@$AO-iSEGC@WX6cf1NF8qH>pzN$=KgzH~lna@+&qvUIX6Gm~ zX@e48r+9z4yow4!uoJ)V&;|UO1^mjp^&{LCscqEH1To_HJ8*wsX>$P*85aqJC+$x| zB@{)x4D#zB_^r3XC*v9RT)Pg3wyZ6mx=Ua=%Wl0qK0hy~li-0mOQ6Sbx$UaAbgTW(Czg|80n z2^aN*_qs=6FYnsxjjfD%AQX0!m^+rc>gSFwAr!&X@}O@lK6O4nQP)3GK;AzWY@?Ci z_StS$mK@k7`F+6CYMY6wC(Hsp5cTs~yhA&hv9A9k;VY;`|M%5Tsr*c+{4NBHyvbc! zJwcKZ@Bz{zD)HM9TE2XpFKfP56Sewxa^#OUTUvruxKysN ziFoY>XpAMHGVBmRVw-m!yDvq;I*Su9Jus%Au!;4%lC#J#h|U7>Mp*2IkI#6UOQcZ3 zn%ZyXt3cV7pBb^~tA6FU-;0_cYl%Koe$nJZ1ZV?$cX|l#k>7b0!z_|Z-oupg-5{yI zd)N)5?Y$-h<#KhmTJhH9|9d*-f-I0wPc%`WpAPv!IcD*F^@j$en_0lMM?Oi|oumH^ z+;63d+;mgt7}ycB;IRtyg|=8&9xyaX)?f`!*5Rr>Z*+`zWse>^{pqA1u1ZM*`EjiHjJZN^i)ZwXOzq@?&|BY?JjLPagV zd5>u%>L{6Dt;L)AXE$&4*cIOS22?dlnS<4DKfEQGX zbPwNiA1W`~Fdpd82m2ZW;s;y}7fuVThpQfQ8zpa0K8ivBU5XJzn=Ei~mD~dI&lp*z zihcyrfTAj~Ub+;Zm*IKuD_iZ|Sbdm^@<>BNKCt)(r$ayR5AgL~P$I8JIlPAjgkf)& zgFdHt^s(vbOG+XOi>&$tF$#(-coF`0B7v+v=tz4gL_(pH9GpD4!OZp8tg za8x~o2_Y$><^;vB=ZMN^BCCvZh{|BdYYdk`;6l>?r&Dyc zPwi7X^Ivd5RoOB@YbWFn;Pq%;HN9zfXb>2xYLZ>SfG%!ZY~SFVD#8$JSNJY-{u?^X zEPr5<^@cD3U*>j$FYi&%6?hEhnfA%46N9=%IrIVJa=i1xHyO-x>%WHke83S%@+{m2 z#f6{5C70jBmwX;N&+FA!0(ZRc51juyPGvITF|3cihhcGKks~_D_jP_#rMoA zPHUIocX4mTK4Ha?#W^>6jR7uhdG1y?eaOz0X3)1cvhL`=qGo$IhG4(tjS%LpI{+35 zg`gjAdTkFNyzk76mvAU7G#KdE-pEagOv~8C@mcdzLdohJh({}uCZgspH^PB_uHN=& zib~nJWQ!~oU^rw zt-Z#EH^mfJDoHQF3yj49U#C5uhPLI=LDG?32Y&}2j4phKk%@zA@9?k-YjRD9y$cH5 z;%-Zqhws2(A+|n+rS%<3OLM5s+@Z`i%@ONk1{%;Rk!IJi~Y{ zkvC`RCx%oKBzLcCTNz{^e=m#q->$>)(?8ewEVGNDLlqFp#cJ<=LnzjfA2lgA%=7ITY$u|{{CuDcOw|CJkD>86#XA~(Vlsp zB^AXFbR2lVj=*7I_URRX535px2Vu()-)(AC)@#q*tzHBS@8&N_nu(-?u5Q z_+!hwY-WI+fA~3rcIx38uDfzBz&uAberhst4l6--AP0G7;@20na8~)56-ThocsVdf z@%wZPw0Q&>8iv%$!#m|hC9H%uA~>G>E)OV1pVON!BxSac^PyiVDQ1HYu@Da>v-^w$ z^*=swa3N5Q1y=J3qlQpq-b0c8Q3t#Xlx#r%Ol@Z6IDFzNF5U4t_0|^Zpnq4Hm>DD5 zaYaB6{c<`^&I}Nv3XUv+_!bwkjardaBrHO~FfYW2;ST#VZvAWgEE6 zV<>t~@8ixw@%9*3*0~^r1Mpog3!to|XuvMIt9|SnJbCvRy1R&Ttlxyq@nU9Xn+~9U2(4Q9^%3aXqM?{5o{0Atk3+3&!Twn#JBZ zD`Q1#ntTs~LzEz0D3LQm^SOzl`>+5!obY>KV;4n=1U%PcTE@^7((}I8gj%~cjm%`rA|<551Jfa&-QBuT;z zF+lrfprA`CPA7mN&`FS~xJ>mIp0ibG@w^|;S4vn1HWeUjFMz}gXhLvRJ20*5A4E0n zofctehwMZCfwjIiAnt1xIC$zAOoABz%I|d0s0PruHdSHJfYpULuCYjxkG$qt&$!L- z^MdIV&v>}cCa{SUI*A1B%nm`JxWbxI-vEFBaYs2fKpYk8Q!pf6;jK)ot$n4`KgT^ra)uzkRjozL4cVn8pIw z_!HjjzF}-RY9^Sb})J~i)$iKlhjD{&o~yNDbmd#5DTA5D-O=x zMqF%gZU9_f+>=W}#`@1^y`MYcB>_r=9>RCp1O1Hh3+2Gh`nT*%(G7GN%M)GRlEa_C z8cXkI?n1e%ms?|2&rt}-{#MN-Y$S8cG$g%+KJPONX0-w!%_ekp>S zj1C&B;S22MSLwm>TZ8~yX6F_wF9%j$c7GF!8M2R&4%S2J);tC+rLE~0^;;kfob0zE z&#eb2U`N+GV<6y~9nakup>J+j(1sH0nzN)+OUwOAjhwVq%(@f|b{OT*55#5ME$E52 z*Q66o8{%Q`Uc^@3 zHXR4yJ+bw3hc~ppIW$0Nj{C3QpunE2Pe;&MZ1KMmJ^Ai^kTco=yRk&Kl`DF4D-aD} z%jsX{e5YrIgWI@lj8vevUG%Gi_alg;GcYlfa6wGkaMB@{@*>2P!Y3b)kbwkj4;LwA zg$_9F{(fs9RPmDDu^-t6L-<*-;4(W}f3?Oe+#8r9-nPo^hjdqlY~bHjX;~j$9=5gu;gA378c5c9V_A(g|DoLE)k1v3b3* ziKv=*I;Y-o}3BN+Sh5C5Y#$kLUBd8xzH^IUBZc{_F?Nl_q6dc;q>6+|;4 z(>0;3uf*Pv(H)mzhA7IEc4!yBeI8sTUS15cPVVi-~vwQyljvd5n61d#dd-@`w?du2zl8f)>n5AXRe5cFH zhCBu`ls3p(y5{C?t&-ix!cIRyO%~lLL!MdCqEU{zX1+Ne>%gWW!J}trg*B0$=+QUV zc*x_EJqxKIgL}vWPA=3RSJ#asWWK5@`#m+N%OXrzZ__Bh0khPjZ`1lfdf1CEf>%j# zx|T9bULJ7PvTO{0@0dQ?8?D0Y|IzaZT&DWcMdnB)+G;zwOHEXGoWSjAB0Jy2mqm5s zU3tya1rHbxvsPF}ij=c950jKd?d!@~r3Sv1oSz%kJUe!11huUAevDaCrVtv?%#XL6 zE>)NEwY*%>Z&wpJU z7}=~yaxQs)Lc@P!p-oQI_l(*nXc5`X<2&_54r=2Jrq6*=w}`wttpG1pj`=}5Os9T( z0_i4n{QW+)(3!51H5*8y8lwKA)hdO|k)Ffe0`^Wf6p6=s-x~z1jwQ~o>13*3g%+A# zKG52-6nbZ`TN_znb^Y|wuv;Vw-pmn{HjCHYu?7eE*bdY}ck4X1LlKOZ^0A$#JLRjs zJm4&8*EjcHa)()~XwZZ$=`^yyo_iHg-lzwORx1;FOcL5aN>hLpCNK4ww=1UdXxO{d z>!?Sb{T8=_5MyW^@4mS@o&|>d($;xB-X`U}wR80PXC|d9u$_&dKJv^yzxV-8kfFc# zbm@mDsAH|%PxmUIIj%kNSBcvnp{Zefiq~k!QQGHbp`yVbN(Z#W&yEK3l`u9nayrXT zNe}h)#TLApgAZ@7zG31`>NOACs37Jf&{xzbohM-BOWCl`B=ahhr2=X=$s$_^#`ZkQ zf69_LjtOgCnIm-%d5$EDRDVy)-;aSw&J=z*cqZAs>*~8Yjj?|FB8^z{0Pp41Cu$<` zk@E9bMy|qqf49(hrEE3zshFsefsBaT=le6Vy*brrjo2O#<1d`BUu^775VO>s?<3I7 zJGQj%bcnIew?t>f?O&&-o!!SA{4D%8v9xD_H{a|!qCTGFrs=`?f!lNNvHvtQF0`$D zgBipSGO}<1vQ&8C_gGlhaZEUQs;llGJAMg-=*z>?}kNk1yvln!E%;j0~X_f4I-VXhFFK*WMnfVq7 z;%rj9Cjv@~Hyfi*>DX;9%z5=2(9*wVr$?$nGhxrOyb3;LXrBzjcZR#tGHGIS&shCW z)~<|(8E*FBH_I~_2_v*kO0GQ5tWi-Ai)?nGQXt$(Pf}(XmaDA(fZ9qSRF}^^%z5=j z% zBM#Q}sGD!W`{Iq|fvnPYMLGY`gSfbvc11Xiii{8v7X4wfIp7A0S`0mUbOmlkLYu_bgpE3vaF-(k}V_8_AmRhSq&^)i>CZ)mtmBn_b2?Hi|shf9Qguzhd*Zx_z^^$ z3LnP>DpHN|z4!C(jKAA!*iEUU)aHkXJ-QQoL+V0f6ff?CX40qY%#n9iOdzn3J@Hi2 zYM8d>0l7XCw+v?K!9N@Uw`^ZcSF~_kDi2LtUck}hhrCD;WEe@?ZofF^y45b!J9CJo ztVho{L(H=A!$;_V>BxIUzIMENvQUi`8b-^~))yu>snftS6#SR+%pLpNm!tS=P>CU0z5_ezvMiM-?T7qlmr zDu8f-f{upL>U*s&z9{)KLpVcdDBkV#YC5Lw$KRsQtpJZY`i$&yGD^Ow3{D&vWy5Nc zFEw%;SK-23s)%Cbq>YIN#{2tC8jq-g%MH`exqzrXEBq zB4Hx0D5Xt-GFS#-seB#HI+Kq%rXzeH)2Z^ygDLyT{8G)K5vqqj4s*-}JX~VhX8qAc zmg^eVg?gGR3a~qqKl1_v>YB@~eNXRE{is@ALb4x&z|>P#tp}&<@N;*6{smLcC+jg6 zw6fT(l?4kRGC2z1DCrj*uqw9^p42+i*!%C+4=YAQ5c@~BDnb*R{W?S)0fscU)xE6@n*KEqDEG)FZWqhvS*v868e8tWt28Xr0%x*kIrH z^*sEg9zAmJlSU= z$9ADrTC4QK8MWo|lk;GZ8p{dSuaW*jg)?%+fKyB6Z22f!50a#10!b@yt$Xov5UbP} zb$Djht?lf%df?^)j&tqR9EC+`{f8@$&e2#?55t~A$l$_^&PG>Cj&-W=(nsH12$66x z#MqEyf2oDVgDbZ9HYM7+9e?t`=bJvBu*a$AP_?rkiIb>cweji+MyPGrcQ*NONW1@x z8?nzKw-3Tye89>(UQJ5%+|P;HM`WyDnfNdD*cO!c=B|m01zGo*dbXO0&%E1n{dQ6H zL~a=%@7GN<%^4QlFAbNDB+tg}Sfq~7>SkvBU*X&1beD>w{PSm~LmfkR8eJWnWgp2h zvbMbsK2b61&vN&efAguVY-~2x&Z@7sxoSK`j+(8XUu96`p^{I?)=PWSX(dv(G76kZ z6z|uYoYWbe2T&vH|4kfs6%PkBm&jMY5WxAl_FTy8OfE2a^!@ct)}+GMy8RBNttFb% zSbekjG3X?IOK(MJM1^Oz^yI+s2t?i_4a;!Kfgw_*%B$g>*RK!T@YPX=W)V-rClSuy z3E_|Vp(F=zM2smf(KaC#)D+3}GUW}@?D**z#WIr?CL-AWI}tGljP^Zk6uE+Ij4ChbvE0I_q)Sz(XOXfdT4+@D z=$hBcmxp=tMtT@C=sue}Z{S^Z=rT9Em%qBFxN8pZDtQc}eMBqn{Um)h5{4vB zHdFHqGHDiO^yRG}df zTla@~KQse1hsOMS1=+H4lN!01Dh$dw5zPHkeuihiH!xBgoHIbB?jBMOGT98HvzBw& z#IC1VF=jsGvIaKeY%B=diQh{a-AdF(H$QI*?ztiVBu5V$Sh48$Lw>|2%gI+5X4f9V zx0ar8^O5$1s9h!J(7>+=k)E%^Q59{9Q4PEBw2fJP;WJ=X5DM+aK4+@OYfJh<=S7xW zTgDJrSf+S`qpRR8Es9Z8Mkb>>0-60W;q2m>-})kVMX913YVe<%JvzGZ6Az-`$oO;VeJE94T^8 zr%6>m{(`*Jsgzwq=FZNuFK7i{YAzSdmL7ari=|x_8nzJ@V9MwrsNuQl-)g7Au$8m1 z2&Jn3q2#%{rnhgwWhC*tYTaUnXa<}mVP0@4DCk*3Iu22x`H8jx$Cswd+0UKm_ULp_ z$b%PCzkkdx`EKu3l=yK60d%mv6>pb++B$r4^$lylwY!o!^u>=a2KFO2;|Fy2B09D~UOhh!p6doXs>VKoamN+MiLmL%(UU&fk65sQ z7b!ZX(TFz8UPj&LS3`DwSs_JfLJb)zXn^ZXYZz&NUs2yWw~ z&YRxy+WX;lXQC+V)Jbv{4y^Z7kFir#2A%cfV(-?p19PjJSdPy2jF2!ylU9929T(x- zscNBWTCivOhN3DN>@7F1Y444b3qCmIk>xMo_*0^K?4m<2IYyhu&$OH-1sZHW6P$98 zBYSG(PI^QaFKvZz-aM;h`0vWDmHLBP(F-U`*g5>Fi0(DXerDdC%15w$Ex~Zm%ZQ)b zIJo8?m6c5BSQw#kjMhLgfyda*#(mg(TsUy^qmEY3qUUH`ee=@_Bc3^lL5d+XG%if5 zX;;N>Ogne82Clqw-K=W&Z_6d2VD-#y3>b;tk`0AugR35H2OBWLYJn(%*v^*0NRDH# zQv`XLIivb`#I3^@;Msrsw3Ai-ks?S9v01UxFW#{jO1pi`?#DAj&g`(dfUq?&pqKV@ zJ|2wel#l_xB_XnP!=LT$K;kn92lFF^HEXweFlaJ@%i&~AUj2VDme~b}YU-kOD;CS% zgW3loeg(H>VMH0PwX((f%A8>xIWy5($98f$wD85--Q9;*zz}_#g3e`tnJ7{yhV_ol zG4QneqIBdD-d3+?C3_ed0T3tJkQo0?B#K>PR5y2qnH0wKO(8&0R$`S|)Vw zliR2{lc0<(6+w>OQ+uTp#h=*VpSVoFb@gNzgsebvppFEUiGTvEp3y1c7q5RBOAF}M zkY+agijE|hAIHoN+@#$h+e_Q_s>Y z97j>0%N$v|+%F_tTz_C|%CX~EL<+jnqZEzW;7Auw`l8n&Rcsp2k__sDZ%k3md^35z zMYO0ISI7fNlJBw)Vh}MZ`VupoJozpP>p$M<3b~&E@b5GILe02^%Oit4?QSbGMqB<2E4S=dLkGSe+0pXy1*u(ZZuRVHxvY#Srf`6 z7r=@w9A|NAymNnq$PCEmCF`JQU9~T)vaWdDm778R2-96#-l@~0y zU^2hH&~C%K6ne^gqoMZg^$(*dq?5PjFrWum^KKxWl8jCgkejKrY#9bfR?wPWR}^9m z;Los0k)B*aVG8It;ua3GMyoIJ8^S|y^Re|7^G(;Gs99YA_|#L&Fx6#{o7zxD8!VFr zd6^D>0}|_SG&6`*QAW6Sv8!T;`ZIm4cF=fpu~wK#wX1{kkPIfS;C6tIEZ5HZi&C3( znZqosTSK(5>4puRu!2th?fn zr!km;xx=1p>_nI&te5NEcg)hylRf%R)dF0O6$yh1W_UC~-rE)B`&}T8l@^VF^VvSt zkh=O$BDj`Nkx@DDlU>G|#n$!05Q(aS)GQ0>yM`j_VW&&3$S!@<=>|O@#X8<9X38G) zY)!gee)J*NlN0K3kIWzwf-OUp?%;D7Ro@cw`2X$cvaztG`4uE>0zxvk7Qc6rA?en% zFDTdR!NogP5W65wBp?ZDYP0GGp*!?nwqE`Fh*=!6|Bv0>PbcmBV@92}=ZSt9JAT;E zFasxfHL=l75s@&kE{AO(Bgz0-n}d-f4uD=9Rt0E^Eir%8##2n^W#hmljglz zUEcG@K8GWX#99@pQ)EO?zy^vPZG*N4ZpWW3T0tLp{1(Gk$KVF9u^HWYmVd7f*4%LO zlVwy!gjD~@zCOP%e;?@zpialq1?S?_>+5nDJkBxRdwZEas$MgP?DkhEw0}WI#RV#Q zOnvIFJDPqu0}dmR8VaOs7;XY(9NSE|{)^h*a`mK4(0~kdYaG=kw=EVH11z>2>O=h( ztZv1_s@QM(Vgr|vy>3Xxf~t})=f6y}vGG>NCxW><=0=@^lV5ZWA!`)~fsw0;Fsy)FbrHsQtPWvLBG zm^tko=6-Vxj%taHTPp+~!$PAKLJn_w;r~Pf*F%&k=Dw!Kd~SjNzCwT5!lt(ytJ#?l z;$D8kQ(#4-m2e;xx&DVQgB1<7g6cEYjzVSv&1}pvc}5y4bSn!S&xkcsJ$OR> z)v}cDK-tF{G*?sm5l-bF}@25!3+w(*vVtC@AYvwY|TK?Fxwy)jpr- zRBhWd>Q0J~j!`lPcP)vkG5Akucf7r-Trp+)Nl;>#o~!>Y9IA`8s7 zc@?Q`m&1R1O#P28RCei5R%x58P%V0gi6HW7>WN6@=ReCJ$m(rW1+J5LZ6Vpv+6vsO zGV^-1-+TWLRj4U-(8}C4`K4GezWB13DhCBsEc`9%chnS&n$9$!;&=DUOPllvDOC_pab5a#^Vmh; zbwxQv8(^Io&VkecL^Xv29g(j>$t=Y&{?`*)DM_ewfZ`KGP*R}vJvJ_-P{DSRSyr;z zlJu>&e=UOD+c5tLGKEqEI9gSt8+XU&d&hi1;_3n?#Ld7#Tc@LDXrGELyZ_uH^6BmX zoRQ)DTnlO@Adp=+Ah1Uq4t=LQhbSXJT@M#;yMofz#1d|~=`x*aP&~T(>Xysh-~KAF za&%WJDe6lBbaS4~1hG@z6ml=JXyB^a>LjSg=KTOtT|1b#9x1MWVU_E{6b3Oex!0l0 zX5$NMV3VRbNO@flhfG!+Lxa@FzkB!FW?3;6S3bF3@5nP#0f8u!iP!JNy3NBg;Oq0a zKnQCICCnIQQZF30tOy#(z^hT4eXr*faHJG}Q(li;B;!5hq|1kaQR1VGUSYE z?MgI1DZXRY`RgEiLp-a9cjF$Hz2kDu#uw0`3*_uXe;y`+=E=&8oh?T81y}@Dv-VclmBPU6#h51+l}X^?qFO+Dfi zL|1_6Is3pVhg~2xK86GNhAY<3x)kn2Z*tW9c)Q2Y#Id|*cOdKSEC)3cNxMEF6|j`U z*FRj4fs2*4YXKDJ8jB-@SDXvcdJfT!$l))+%(_9zkNJDG( z=~pr7AqNG@7e^*1CtEUKNmk3;P_GKZb23%Rf8AKy8L}Y;_4%W$0RZ|`GfB5w!UJbW zl-~xrnsK{6`=_h4TL^qLBAuuhn&XS)zV4YQT)3v9!7Fb4LEX2#Ret8~TGdC$rSyjN zg9_y4-fIP%DS(vJQ2e>O@q_KTY=L$Vcr{dEt%kyAiSkoD)4M&WDj0L*VnXNnbyT#< zBs3`8Lm9tE>IxK2k`*ac?HN$8TOj(!^B4c3BmY2%EmQF9<_f7r|EE!f50IEJ;{!_T z@ds(&boEWKGf*Fz8VPPl9UTd8NKzHJg~5@5EXMh7;%QX8A-!HDY;+h&n^P$*J{81@ z8c{ZeFml0{CcY?jq{mm3cn@}S>X?yiz9`Wal)53g?1GUg4vi=+c3kX!s-+lT@Y<}} z=f-UN@8@2IlHP(J;eY{G!>6oP=3xs#UI(toA3mPa-|>BJ1LUTwbj5JKS*TRtcD<;p zn12Ao&bD3;0}wRb0^7^EC==dxDle1NYS-smY=Mlb3+2DKfHD=v4L8h($Zwa&sP2U% z6DDSsCLoBEz$~=YMb|tm=%Swq>@W%9sTpP1CnSY~65?2q^8U!D(K3%3Rg!8h-4{9B ziBwl&Z9G;`AG*#gc0XKNYjpv*$b#w_zXFs>$BJ|}6N^vw02@sjvgeo;(@Ya=7!leS zLghtx>u*5P*{$@jzwxM`I$5FNzAtTqq6NP<@2MCBO_HcGxRZ;Criz(AAkc<+tF7Hm zpA_FU(vf$S5AoU`J64cBn^agi8tTfImeS9G|D9kT%chj?AY38!0vE-SEPouXr_(Y zNV9zk#XV-v8MoP&%DDk!zB1rYs^KBB5AVY5J5@}aX2k3b7HY=GuL1!{s(_smQ?Z$q zPt3I(Bk;V0IPY)q0`{`?=~C%Cet`69qaTloXEtF5js3qM(&#i>6+=pK%W13^{gh#> zW1**MmNY5TcRpxmbDE{!VyB7?t_WBX88%P6*L%m(*)RfC$8N#A{3k;y>`Y|UxlcK0 z4-26CwQLi4!O)rWOx)4j=TN~sV~=Ah~zy=%knrHRm&fjx7gdc495R#oUXYf95?hhz1VhN
f#4+exO56dGJA>FwtT(`;O%{wQ$v7n0+_)}K`wG=rDQqpb8_kUr_E1*LaV zxCl{3QNC>%c1Ofn(&G1xQaQCwVYVI0^iY#b$HPkAV)tv=hnU7H`}Ze*RqebkqLCHm zyNl_7{_W9Jb^&or#!aYc<*n9^0Z^_6(q?H`+&GVZ0AoKdW{ecf7umGgTG{9EqM_Wn zLbE^SiOkUg`OmR_QH|vR zBc*OR{q-bE(pAZ$z1ks$LTz`GCSgOf@WH4*_F(fw`uNyBgi<*I7ZOKqd%Gu-?5>=i zIb@M*Njsc0KwhHyf`Zpf<>!%8n9h7!vFl!Mh`HZIVXcoRg>S4tTHdqdTyON- z+}DRF+8Q&6r!eg2y#?FTS|T@!%`Vw;-}mrpZ_BVgZLLyIvbNla@Y;PPKjMoC6Ku85 zP}RSp$`tH#iJ(-ySbPEAd6<9ffSrl^$-wBvsrpYKWb}5xSusmY+D5_(g(n*D($VY+ zRDbJ4;=q}X8-wgQH5}I`bC(#tdOBTe5e>@7nGe#)!#&Q3F%tAGQO*zBU%Gqr{fXkp z%TP6t7c>6jOt1dQjbp8uSdz!#i=&=Zu_Ii5wrF}kz;LlVVh=dbYXb?1+&>Y zs*|aZ%?Kor#PecFu$N53{HWY)A8!+ozqkf;WOd>Rp_24BA3ru@6zB~AigdechHpMzPd)y|PRGAmWc6cR>^;Lop_FJ+`Ice$H`!x%o?576)8L{a7fImOs`nR z;QdW~{ReJQH;0Rq9##IdZ&&n})mB-JtT z|vaJaoH68?I;+)GJzZ*B^{n!>h!cj}##KE{L9>*p0yScV$= z6>zT>_dpRIrXv&DkRf>3CDIj1Jg9*~OACaesVf6^kJ6EjjB~&&~ z-Er;EWZ^3(54m?2SrwucX2f|M`)SQy`K8yY`G1dWM_XQ6%O%-W^hSBH}o&gpizpSvlDBltr~p8?xsBwxwy)47=blsC^NHbsL+RbO3I5Oi z^*pPnitoRL#Ftoi*dlUUAZgA!$*(?lwfLTi7bG|(2mh4mssTXs9r9_WnK3s7PR zJr;0E@ylNaO9XDN&&T3F*ezaH;npo2Dn2;|#jwPUGe^=Y^renI$Ss)L^97J(+Cept zD{*uIm1{Vo+@ib|ZF2VS$3Ns_Y)#Zh;S?qw9YG+gqxmOsuFa>2Z_b9gs4tno-qVu2{ToH{_2N@eVB+qu!}7Tj zWH?0K`zO=p{AOfQ|B~sfghZ*dohn*)m@?S7<1-|K?^!AlRa{>35>*qa`uf5ge_d|s z#l_|Cl`@7Q{s(x)Or=VR4dEf$l1JTD=+1dX zy);UQcC>MAUzn3t9#2Re@N3pQp=(;Nn=e~eK1pmH}C{tqW0gv>p?!WEy6QU8|PH2LsT z@Ge;rUp;mfc5F#=yLX)5Ib8Ro&(}jlms)j0J~_j5+Z5CV*k(g_)xx$C(;qTT4bkr^ zNB5=e@rQkhniR_DoB^iiSamPP`Ifq4c#dbWi?(h5KsXPPP2WB(eH~<{=V&{d+~W}6 zQ;AD!LG0guPRCbv!Fm@+>WxPRiVmCSe^U4qT_@wR*Xo61q*DMnS66s6R9zk8KyW0B zW|oz2+yldEQZ)yxdZnK2|4GWi6?N-4lL z%7&Z|;DBQib(iCsdG!-xVW0GlzU$e#>D#>0)?zyBa<7}q7HPVZ zQyF-M<@H@!Mq4i=*f;F!<(CCKqsl!57T0ec$9Ey=4hDCXtDXrsWP~ML} z9>epVI0gKFP`B{lAM{u~>b7;gROWh8>qNZBr(By4I~ip9c5r08*Gi@rPj+!uJSAO8HE^pb{!dcXvujhjceXBP|`n z+gH7!<3 zX@oMpq;e!WI=Y&B=hK<*L62^Za8Rp#+akMq9B<_~6~|IR1bBQK3Qf_4j-4 zO*pgn4Gj47t7@{^E)TS4Koi5+lkPDy_eB@KWYW#~mav;k=}LYZ-^$ZqN*=Z`yV19( z3Fmb@gC-mJ={P}o|czxN6SQh(>uA5`SOv!|kncd-%oI6E_Fy=US((TBR6ny*Dy+QMu zJlmz7je24^ukV&syjoTbq%U*3x~E-Nsxc?1PZHE7wg+#%za{g*r=pnejG>8k`P*V% zF2!jx|NEhSz2C;qNi-YGs-8$k5{ydSp9=@hAQ$~Z2JZm9?oPw-;%iqL!Ch60Fki|h zYG?EPiM^^X-jw%j7CP|U_v>hCt(vIF$sVYG)VBN0(e#@19_8D@Pin;APO6H*myqz) znGv%b?Kko(j(Nu2@f%Z~1a{4y4l8+06f)8Wn<4HnS-z!2LyCaiwQ+vfyFLZIshanw zSWo;`wm>v5Tg65#Vt3fcnd@|s+nvkz6b{7^S$!ZF|YIEjOlq1@B4=@`49>gv%v(Box#Ir>f=Xpuig&4^5h8 zWNFw|CbRt9UL76GxDGzWk~Tt$zHqp`6e`1GlC?S0#Pb8J?0XE8##hUm)&!N1M)l&UXyr#vp#>iJU5t6YIzR_oElrdsbCb*Tyo`8Y`9 zsCNU`tB>c{MPy`x)rg>HT1#Gmy?gf#$)Z$-lPPe;HhQ1oo4bb;~_en3Al?P>7zdp&qmWtW~HGr#ps! z@<6uE?ML!oPnzSJvrVR0bg`+9Kp2KEe7xa5VzDE&bcdQuik#XD$2^_ylu$q{j?;Z<2ss0*Nap zxT9QLeK7yscR8n8XnTEfG6T%sh1owF9y5_<+1HJJSc$8@E$Yv|r(-|@qmUr(-4IA_bd>jOre94LPta-G zm~*XStK$aG7(%4Z4OgJ*us^5x@I+Q%v;H&%sGKfoZ`{SE3db#q+F-`rA$5>A!7^?y z^-`|NedlK7FH-$64?QN+g^zP;=#?iPSlU4LD)?xKlCsm@+Um<|;Npl%;ANzeEbl%3 zBJmQ7@!GP5XiB8;$$qA3f}&h-K?ffTKQ!HiV!k}LgK3)%mvh#?L0ORRMOF&MfiVJ!&a7@ikkpe6DGg-c60vsH{uD$1*(fs z5&r1&bG?c`==NiV7m=JM-waOKOKiFz=6DM=9mtMPd|x&bE?xr_V&$xBG%gQ+yc>Aw zJ#z)ZiBD7xM<-7P;t}*W5#XN}RE+-grJ>ZS4^;x2ZU8!W!6V(~VD5`A)(x^khlghd|YGYs;OztM|9ZMi59WmKh{HeL0q~QOjy7Svbn; zq4Vwvx3=!-=Q8C1CAoe-+Ckr8tDR@mh4S<*UU~Da7WUQxs8yv^LVNmP)vwZQWp|Ia zVlY~3qeN$StfvnVxM@+jGhkQ7dip|LOUW|d$=tTSPZo}@p1qZ;Is=QG1xB6tY5+B& zN_Pfzg(1Fz@+1(#K3cDKA2Ln|t{u0Zq|$LfdA~WIa#d!p|0KrXMiX8|)Rih%t!m*$wIWuDCGO`?ZQ7|Dq=< zosCFo&puc;?zj-8H<0tiF?wXd`yK3=Fg-;y+I5iDr4bfGM&4(4k)pvf2nlDnQX= za>wmPS=Huza3K94wyrSI$zV|19*>KQ3-5^ezoBiu6DA<&yo<}fTBu~FbNW8=@2J73 zA6iaSjB)U;KHUi;e1jLTlzQP6XwccQlSon8^ zW2%{0#9t1`7Qt-2o>10LrPx~NBmnA1J5>Q#Y;Uds^@MK2^ZA$on#6U$BFhXw^!&tk zhn>Y`JGIkd+}MoO%OTd{q4+u)-_sB<4uuQOEv3YCP!&LoOQ+JwQ1CIcf3Hl$g2Ua@ z02;Z=P0kt_oewxXnGbQBv%pybeEWB=8Y8&p@b>N7TS6`lDFS3?foK{?#>%WEcu!Vt zsXIX;MS%MJzadt4HoUjR!wjR`t8v{EN1x8#p$JGH5B3~nWMt~L!;FUJ<6qSG2PCJ|*U(;tod>)M2?Cdjk8}G^zw}w8M?qB!qRL|&bG=IO z$+V&ptLGCUudpLt2v+=^>A$TJUcx*xYox{K*7@4u2p-IamNoHA zILyc^DJ6V3jUCzEWSJWv)pk%3Uq*KPDT}*yy5CL3z_Wt6M^bxP&Jzx+DhVPpuaQCz zuxxEw)cK|rJK1x`@a*j~fb?2hi${7|9peUdoLPT^glYfcNAyinZ$hef=W#+>l!y^G ze@Kybwh%r0n=>{cd+U?JxVIj@^7f`Yn}la#7bP+$)IXg+dHCFBWLs0n5azkRuD)z0I)4L2g&GAA!=zajJulA^&J#~a zAA=MY``=B%C!6W1WAdkImvb2?Y^*S1HTkrNiSuU}lE}#2e)#H%y6a9qi>h*%?fmBR zvnM&694y#`G=bqKNd4SUwb5u?rv4Pm?*{*w`fC=6i&}6^C8!siuq1snZK~r0YVIeXR`7ILTW1ayA0wXK%-?dBZPzOTG73!2jrl2<~DZt^KrA zHwfmcxD3i!EESkT2w2?WG?uS(0}rEi+eaaQ3d?y^2XK%k3Vf|iw$7J;0KgiPA?r3) zfP*RlUZ|_a998?8^d_^~m;>cmZ+o$Om?@$`3q%U)hVK3cds;A<2PyGa6XyCU`;EVO z82tXqf$9<=zyry`xYQi%w)WbfQnEEjoB#doaY0*CFy)!B-9%;Y1@f>(8O?7MHEq(W zgLX^qa&sVvzVuL3QzM6@=ge|?Cm`3>eF4g1W{<&o<=(C=BtFh<0Ei2s*ZXRJra}$T zcmE(5Z$9mqIt0{!%o>VyJtH$;%5M1hV5>kLRXT%gV`kQ$LTqSIB3v| z5*dd^#w4fe(JVrE*l z-C}y1(+zlgR7dXS1?}8zV|$>u-5$^|%YsDy*IybY?m+rId?_)sf*x8mynsVX(UvQ) zJih7tHa0Uj;n6EjJf2q9C23t8dhsA^kO~co-RHv9d=ij+=`tBV>R-{TdWY4InowAT zjRFvzZ^C3{`ogx2wd54C#|DFJomo6$8t0BVQ9(cEyaJnP3hAWqi&z1T32!wv0ywq% z@#Y5TpLhWXRe1RHHxR2|#0XXDVG3f<=BRhmec_5VL@dvzrC2tvLzz~?s3%dftSO@s zBi=`d5ZD{D3C1scZ5WnSGEv^`_Q1qM8Ysw#tb;ka)wRp@OpjzNMNao_mYVXfZd)g* zAC;TGuF)vByMb@lt4K=eml7Rmle~0ZEh>1Ft@bgF<*X8&1ava0Hee!z;u7*N6P*l=!@Z)SBE331 zp5Lk*{;eXu1JE8A(hp>%uvoBkKhi{ze1mjy)G>M0hBq13BXGkf2JDsFim0!OSQ14l zpb+z1fz6>r&C+RGn;J=FM(BiMOZ!$zs?n?Fm>y~Nc2()&*P$|zR2ZnOl95wYuIKKk zY6;%VBm559jR#iyHy`Yi9IHeAvHKW`*A(3_} zH6ufF?Y^O-MS@Xh^vk(MA_*7~faBG#(E@g03+4hiWYqp*=5h#2QCLnprN}1;tOL~D z$e%A&f5CLR-ai^U^;wdRv{1s-W1Rh+9SNL<7(#waj;6L7RfeJw40zVukWJ*GSTI-HDM2Zj{f9YXZ0s2Ltv zEe#Ht89=#E#0R%UN?*ruE*t^kzzb61D**REQBLlQa~sZqCV^@TG^ttJf7{p>s6#SR z8pGv6|NQEvzW5Zduu+$BpmrzGjx7SzUkb7%)TJ0Qexapu?<#d(+9DW9gti?-7k_zP zGs?&Xce=o;2H*xLa_v6X`-^F~KmfH>vZ?3BHpn%Cq(s?~li$kx*6CS{`^kZMt7HoZ z#8JcAVC!pCw(_dtTe_GX-QklEx9tQ-x%Vy_)EWH=^~p3+?_HEo&Z^{Tt^4BRkzhGl zg(qAyR%WAl{5p&sPm}s{VPnk6c8br|a`sP)Vo~!?fapFtUNI7GtNjW!CN(P!W}81v zM1fm%JZ%lT`T zS)lUp;IL_=3xokWXDu zjzFKTJNbT*K&oGyq_hl3MW|zsivsTFX);G?(uP8AAlavNN)A7tCSA*p!f0Q z2IfkNT`o%)^iZ3drUVf4ANWOVAXC>KwJZ;(By1ov!8v?pyedc*Vk9L zBpK|=BP+Pmw{om$SxL%Px!r>pvuc{txu0FAxb`^aAjtkcn6*NAX^J3K=Q;5LQkViR zoUME@-dyFg1K&z+T`j4a77;hVx8lOH1)V~aNcgm0uEXZExo~#$&Asmc5e|Ai?ts(Z zke3xkZ|8zVW_vsjHK2x|HdPGfc)=V4y1>n?uaJCyQo8^w7B`r|VPE)RBb#7oNFcO7 zl{*)q>2x;A`uTXU=a_Nfkr|1pjcCJ5NPrm)NnsK+uC~R(b}K`^=d``(gP`XF5))+vl45 zf$94>9a^~%?fgbbWjYjM=!GxRN@G96Gw9gnyS3&-Z9tU}nlJ}nPossX`GD^XsC(vx zB<3VvtOaL3iq!5^?Nx5%g}7!;6W^qCZ~VVHVcJ$MxV&osS*+MXN*O@IDf+oYG&5hS zwv*&FHJ78HUhV2Fgv)jUjZC~XeaVM}yKIz{Dbe*zEKqTA0Q(@nZRT?}hu>m$S#ezB0%u|dnn;`E;oRO^>srXb(Bj0jnsFtU~={<8lGo?@YU6f!J+Q%WU3k_hY*)Pm=pfxWQ&#PJWeY&& zFn11kT)%Ys+?g@~K7;0w!V^Ee%>|W=d;g^gOsc#jSg^cb#wM9(QqP|kQG7)Rtni5K zsnq$iN0gVwpHO}}yPQrcBlprQtLWL=)oQv+=k&_7X8NrARWQmNwnUWIb zi=|+CrU5KYLltUlCh4Aj0tpK*-6^}U)q8Bzfh!&HpoL1w^dUu(M$4(J>A{wniV-ga z`2U>WVUEUw4rl~laTt$SnFvL3n4T+Psml3f1Syq=@XQe6`!14x?-OK zy+|%FIURjA59O&q^E|aL*uOBr3a{9><2`dK87#(w#S=}!LH3=hps|6>IB-)lGZD-Q z`e%J7^Axzh2U~g)p7_jm$k0su-6HfEOVd^c^l#!-p_b{nLQGM(@iqCHK-`A*V8A7ZxNnmNiNLHwu(V5Mep7@uzBm{JTGY{^YAD|EKJ~LY3-DS$KGI!jP3!{p({ax;B27f zkhJ0#xtpEZ*Grf5Z@N9=nV2tM!~b1;u0r*H#zAKH*@zH8d4KVPhT^a8e&(}W^@RK{ zKma~~FwY^u%65|$pGNm{Eoi(Xh%=q}GcFX`kc|HApB|hP?_mHoi+290B36UL2^b-y zfcjh~X7FkWz32EC=8q&ArQOfXOWtG@v(+1LQCx5`3I6m>wj1Ra$dj(9o&9ql)k>}M=Of7?0w z0-S8i2L0kM=fpWJ`&A&dIO^1_My_qEpyzw^`IZNOI8-PgQrv)m!~QgR^`fK~zAZrD z-ZMykwh90{St)2Pf4sp~dPfT=I4GX#0~vs8=mq>UW)TMQRlXr0)sbhH%|~);^IWB?KH15s0}ZcQs8J=yVCw;{H@Shwrynu({+g3w996@GyeyP>nFD1;Rgfft7H`Zx<9FEj zb*+G!V)fp{01)}9?1l}=<=CRqK^_m&CqOnW%T*sg99tYnToCU)O`Tm&_33MorS1E{ zk8_V9>l=PqyDyE~P^feYGpK_sCw&8KM+@#ndsFa~3hM;Pubc0ooEb%b^8T^abiG~m zxWo6&VhH}qJ$m2^^bKDCFDk|@c_!Xetme4Pu|&V-lL7nG{9$CI@L->pyY2F>dpHHh zG2?P~-fuUkV%Yit5vy9nQnTh_+X65~t#*x)A-cYSM56E6-8XiEDvnc}se9Xiz5}Mx z*dCOr>vBQ|uYJeeDpnn604TrQ0HwG!5FYqH(GH`VLI6UdT9TE3j#dxA%fr|u&X3mp z)-G1)1K*kLFr07-g`@ z<9gFLKt~pkl3CZ9`u1aR1bHGYAYpy+$qjP0m79APwfliTs=VIy3E9;bQ5tZDB5K%; z*5s%MN@&`~{*RP;b{*s2$~p$+Ok%6alg2V8@g zHKeWT0m2sTz^4q7V^&(4q^cqB^` z&b52ZBs)c1;jD=@(gc(m3W%ZbqWiY&0UD2fARGpE!ZNu*QLL( zWd$@9fPU906;FwFVutLCH$;Cz?d@F*MnEPdRattjF>q(p9gv^CqM`+;x!|#T;Qc6~ zqDfdipnh$~vT{fD=a?nvFAXRce%_mO7tWa7-^p>0LSMShk^$n;7r+9RqfD~f0uG3u ztUt#RBtjtO7tk~brZDsKOq?&Z)Eku>>6%cP0+~H{HzUq^rt)yLy5Ifk{DK#05;~-> z-}~F{ATUWbknSl&3Y4 zw(Pp^7Q}c%DsI`Jf4J%<<_1u`_deulfuz=&!IPeJt;vv!3uT#vn9;o!ne}_9-0evB z-Mcsmw3zQejIP;I4?;5YFtslf(lNWNAub2mKfy?V0{{hV6?VJrFPA8jsqDu%AU)zG zSJPzzf!yEhZZZwaZs6H?fGZjm*S}t})Ay_$l4s*)$-KLZWAnc7 zfh4N5({;^e*eKEYSR8)5{C)10eEpqG`|2ZYNKsZF`bqCrJl&HcLG?~~U@v+58!~2i z9}_T%IoTu4p|o@cS>vTJvd6%qm=V+pz-%yX%5`?n&<1=ZlJ~@IMpyp`(_>WJs~DpH z>@EK((M_#hQ{DLzl8spj_Am2+GSyq+@1;?8BPQPN+o0u9NIT{y<-T427GfA67$dnT zf>?4ZfMxgPZ8Tu_U&h_E{&1;k*Qc>+zAaKwtyEBSE?vJ@+&@W&81yYs(c6UZPOMuO>v|XUNtJ zHQ)7s4|?-b&s-GfUg-UuZ7DO*e_{oU9X#n{#%o)oo`LG!M9!08Y#}k-sV+?O6_)7+ z)jw{%>4@aYn4a;EGr@fT*>~CRyj9#@R|MKjm2luhHPyT0io?$FK7zUcDU|s7;c5ur zD+v0GF~0?2TwbZ8&0W=uNsK;vX-oPGH%!-H3=ScYPy2XlK!(?Vv-#j#@ky3RO}^%` zuUKODbsP+#m3&}@S+#W6+}y0U%KUG&k_mTKX(7%5WN&PhQw+jby^dLSm} zXyflKov?NHuGiJJr<{J)Z<4IRQh$cK6F~6j@ND~et$9dXg1RBY0w+?9Av7^rBap4a zkz?uebYUJn5+08@R5$OUqzo+H*;36;8Vq!`1v)*u7sz2b(=!3mji5?JK^?CR{T^nH zJI;IK_BKt*A_U0t!&L$^)7qX2M1tE-ceKf}dY*!Caan7yB0Ey*v<-;`={L3cdwASK zcVM6egVL@3S@hPz`hZ3zt84E6aX+ym=6&IH;TGo<7K)&LFB}tc0eYla|`6T+5 zP@`19+$ybnPvkNhG?MKdjyId?0A$kL+(b`Z6K;N{h$mqZ47z8)Kyk4tV6D>XExP(` zC{BbIm8$TXA3;h?pX)7Tn3@IW$^s1P-p=~Df2^ONbksNK8dByw(aRT@M1;HDHecPD z4*LqZ((T`U8EUo#J+|Teu&!_raQrXVg9Xeo^Tb6agXazy%C*e0$y2alppAn{5k{Ld zG{H@J5)r^SWQ1XVAHfVXgh}_g3`CaS>dN7&rH!hL|I9$@yl_|*`rH#h;cD|*k3z5aV(sh+mt;1H_eN7% zjWs7p*VS~DDkd;+uH`B8et-lA4;=k|ksr~Yji82Lsr=!+w_+VuLVr>dY9;SSg|QkA z|4^Dch0Gv<&P}<3hMB6i#M^RxAJvrrz1jVl;i=1pH1shjSdJ z%RJic=$j*v%T2nkp+w^Yswvp8m7srF`~DjBEyx>>#o!1EBIf0gIwxDwSoGuz_Ra;t ztMPe89pL1T&gN#L$|uk_D9vQX4Iq(GVA7>47M#FjjSD}%NzBpQ{mB1BCp`JojZw{M*KQ1n2%il5C%-C`u6fvt>)k|gEvaUCMz}VAsPhU+GtLgF1 z9_E#IH08L^*ktxep-I}M1QJ!wL4ySE(+$$zY&LYeK{r`E=#~Q4B<`18gU1cpcEk4o z)pSqWA2O&RQgd1A&-g+f`I;2#Lf-n5%njpC%jCAAon3uH@nd%hovmp_(kAF+g!h}W z%g9|POo<(4Wn`pB*t~6f%mlLPqTUmf&HzEZ z(|=ABsjSaA9-(GIa=IruH-YO>XwN~*`!xU%CJKz*kuy**M2v=@x%5p=D)%NdH;w!* zHmOzp4TqEpc6f`wE7#w8mFK`2*uUmpSR_$ORDwR-X>&r=t3)z`R6yXi;hFm})0M4(w0{Hs zyrboQ%n#=Z(2zudqg>gCG4v;>+s-J6^pH0FaNQlggg*j9)JrAr`?^aUJBOEGM*mJw z#yx-?BSs6{j^_R@^WYtQF@XG@8*z}l8AQd;ZU4f2>UN5UZ9R`J2nnr;RUPM5(v!o% zYE`X2cCBGd!<|1tgU)$V66Avl!ZlFK#yFs+n#hiL(a}Ij6{!WlWC7u-z#jYCZ9?0A zygyJb<1!LXnqJ^+Spg)76IG`Rq^fcUis))dGdFd|ZdO&D!WqcgvJnTIDj{V}Gdz00 zV_bbvN^HTH2$jW3qL3!1&zJu+%};dr_R5S{LqZziNs;N(?sQzR zM6Sj42H=tEJ<%nUm%mkb(5r%(0|57ma>4%F9iWqZ;b+LcLn7iCR{w;7eacT-s7VSL z%ri0c-NR6b*zqq#kX^l#&I} zt5yk9p~LPFAK<%G(~9JC6K4mVtxTG0h1^rdIqoqU*2g1j<8_~N%{zmAmiuGG>rL*8 z>0zu-w-`%hX}~XVuW$VGp)tp=$;fPHd0r(6zmXc1g=j5YkbZASy3V)H6#Z=;UDs4aQkzb)Hto84bQVr&g_&_B1=#i(5cgHmjblqIO;WlhjIFTm6WP}O%M z3innUTZ5?VhG+$VmzUJN5i~3{Yo7L(1F&rqVhIefl00qN5X%8DjLHIZvI7j*ey%*a zcnvQgohQCSOKgr{{3p+tWv|H>D-7|@s0@GX!YQOT1S$yZ)ValBRn}i26}UUXJ~&ZA z^QENy1{`vkgVtkkE~phwO7bex3tOP2)VI?nVU-Q zgs6Xu%ck%C0XXflraPTLr`E6%K7}c;r+#Ivv~Vc=xPZ-!QcY{1l6pAW9kKet7Y42XNxO2Dcqt{JS>?kjtw*gkPLyg>}gGH5%mG;i|Z!in} zNV_79CD`iPb9$4B$*rJ}PHLG@&d(hg>(12=t$=NcsY!tg>yl32dj#-P5++R@f*_#O zfq53SJN~LKXRB?(+(doZv8R5;{dTQqsILzJD;EAUY+5gp2hWEQk0%OoU{B{BYO>>? z9nhh&e3FpOCOe6n;~R*!T z&OLg*gw5^9HA{TU6c8lovKO%XhYz__ufu@vpj=_# z(2pKDC97C-CsN`*V&8Q_gLTrVip%=)v}YFjvsSTeqIYFG3VuG5ch@Vnkk%D13*P7h z58FGs2gepN$4;)INrmRaiYucfotw_|u2}sPz$W=%?e5(ify2dwRx3XQWRx-3s|3hH zy>855Fk2frGdDLk4Txt+>G9vTvQQGnC0mV^u`(qV@D5c@9LtUht`qr1A6w*Fl2e8R z;eSMRW{rQG2M)d#VI^3XRzt!=eERBAF(5auCo|s;~AfoCs}yEI@O#4VyIyZelHZR z!%|PYBrO&?qRI+L?vzjZFd_CGslU;UQq3QZhe^hGcs6j0 ztUbW;>v&bDlA$Vo_hZb$r!Rp4FhQQ*WIdy?wi?*?J8@|=&m)8JRqSoZ#V(K)b@>r1w*Ik+?HPyY?#;}a|*@O60=xjb2GYe9<`(Sw7N=SpBMfQ(Hv zT4Ko)^auO;XGqU|*rTi`BbSG9`>?3Fxs2`rj@_i1i*a@UlE41~jwqAEe{Vml?w|>s z#aNML6|Us?M^X(fx-%W|Ne*|a0|(BU($pOg?$4jbMfP1zOjd7WAK#{ zs=5DQhV`+2ys2;2>Mzo@$th&qU-ZmA7!VS)n0p#TDw(LXGgXI zr&F-$<1EdR`3{jw-~%SNh@C)62pY@XUCoMFPmxwS03EdY;u5CX?OQPt*g?1I;xvVrKp&4eW=v<==0Uj7PBxAMLgTPp&T{MdHN6 zfqc*z<$DD}ez7nbZu75;z`mwK$FmYzb7z7;L3Kmv$?%(!(@3m3G+h(Gss-sWJk2{+ z`=?!1l-z{)J2Dik?ET5BgT+^>azN~da=oAM9l<%^CQ)MZ^t;-Bm%+l7-Gup}VN%W0 z4;Pl0809iA5#b#Kj3I8)AG-+`LBdyGethE_=V5m^mbm zb|#|h5<1UFSNtZr!tLu{3)6g}v@l_QS}_S!%dkt=1f=n)1sEfFEIXq7_Hh_C%O@G@ zx$lQ~#A;>?q3kn=;ZrX^@E`g$(rrqBY=LeJnrhxTn3h=yjYRJ#EBtf{K!p>%iaAd> zml8Enfo(0sK(a5Ep5=p^yRs4!8ygwGo(LCrt%u<7eabW-jq|diF2F~sqkyCrOakGO zt#ixjEp0`7elIw)4;#E8APp+RU2sOBIV$zSh9aHnLSA>*iSwJH&*@Z!vi#45ko9h6 zS$1@$5*qvC=OHoV*>VK(PFS0IuhQ=pu`xk-SJQY-oQQ7#pkhC>zk`Ebic@#0KC~PG z#Uw}T>L=X!M3zag)!p!wl|bhvh*rN8v?44|W6)!pM7V?e$Pi<2+&*8XH?Auul@eV2 zQ%vLQ1eF`|e0!}Nfb$ha{YubbbPe>gjj4yfqO787;-r&k6FDlt>6ei|OyC?t>fC!h z(u>m*!gFCtVV9afXS!w5_1FV9kM;db0MSp8Qo<+9d_?H#=d^wx*sq z1A@RbNU-*YKK%Cs8yOt6sf}eV?%_!M>D-v811q?sXsL$&y( znY^MLY1D<$MoM8YAGqkQQF)`=hIL~_O&RDb^ zpijOQ#%FGUz}Frmf<7oe_2h~~HZLQMl7eG~sjscMTt@(9kpRcvE-?8}PRe{=dhwHp zx1eAW;nTHSp4{TP@$n6Y(;x^p1ov@19f9jv3is#Qn3V4ZM@-}sQ)a(|y%q=zk!|l>8Ujf5 zk9JqJ)b1`Url)|T6S3t^QdNQ+nOD#!4-Z{IlU!?%Sc=bbDEDbtSQsKDfQj*1ChFe^**BAdN)Ke7|xcU8N)cW1tQY_-@$ zJ7`FV2c537NulGNTP>MXMTSuE7Z0q{PZGg)C(YznIhtSz50-GD!Vz31%B z70Yr-N;>k|I~MBhF$WIr$KrB)OLsQ`UN6gLNj#FDV$^zn`AG6R_gm}3=o@opYngmc z`yDLQ>3F;1o1L=K8HTxO{`0Kz#b9tckpi`D5&GrXvd9XkP`3=2q&`dAc2l;0=OG78 zd>oaXuykH+w+R{{81s7rpgSK2H{MciQ|K;#XQrU69M-#4r<~z8m8(nEW|!LkO1aC^ z6RPC(w|S5OgfRFCUJS*`$1uvI7y6t-T?Xk9Rq7R=cm$;nKfMiQ0vKcT~KGC{ZT6y?53>i59!FB<2^hO z>l^+%*QWjDy|L(f`shVExbg`l90sQ*!)GI3ej)yQNzw|1A^FPzITvwNOYuQ47QK6JmaUd3gtz80P~5Xm#k|){bsp zqhC-g(e!_!+*M_>`5=9L&ZYQ#H}VrEXI+}p(=0MoaaAC>N`M;`r$^|TxSHxhL`Z70 zG4-^L^8Lp~j{q9xtN5@*X)!-IHVk0KugmaweZpS@`G(TjnU_ewGlae}_xY4pKEB;8 zj;$6F>9TW%sqWf=hQa+-E3=)jT!&Xfqb@GgFPOh`n$WejwNVXHMu?GIt02NQ!L_W| z^s%Fp`}4s%Fa2}JelT5t0WfcCz2q=B-HnM4=l;5E&>mZwM^g@*7zZ-y-<$jwNTeC6 zS$~zOxgYS>>6z-42f#35fn;UbKLNJ|sUUb7h>e32!9qKIN@ek|C*in>gK45#%1UuH zMC`lklkE63LYZ2P6u-KM?EKA3%pxeGWYq%ciqi3(-c?Yc|7&#)arJ%K1REX@ER*pn zEV9PKl~1u}Y3L{MI2Hm;Ev*OQNLUN$TrHr`;g@{V!yfoE@OdgI0WjlOlNzm0Oqz*K z&Zqk9I?31XW83fNLVaFL)WO#S|1b@FRL!Bj<^4zq_zdR`HLKk!K^O5Fn&`P__krad z!3GWLh(1!da;8?9qWO9HFl_JwxYy*%68L0C2Z55HvYe!0gHP*=6!^P@OfrGH?r9qhoiT9%i>8KHc|TkA~7OJKGt*tob)4V z@MHAn?gu>LLZ*)TcSD~&*+y(MW80oj{LrOZ#T%315Ij6M?D-`p&G*lm-T=Ajt*t>)To9U*mH2}t^)(%SvOiPySpYIQGd0o5>no1MiChC=P6&UY@Q}O- zV-h)dTQ9fMVrAvVR_B~_;b0uFZM;DECk4rvm zV>%C-MKi4d4?$t;0`)|k1~b@l!mTi9Q#V3m@pwOz^r^zmvjeL0#fQgA%l*P4qJ!W1 zhN_fFQj7;=PaoLFvX@Ei{XoiMUp(f?om7}grP&Wg-r{%$YH!=S+lguNQ+_2i7d!7N z7n-hExxZ0`BPf0S9zJ4ubY5}phFp>W)=g26t(LV4)7a+WIwqo(i&yZUS<@n*L-H@| zO)miR!vG+}6PJ87ouphtFh0Lh5BTs`pBxyIsjlNWos!VIvfwnC1aHS5COk7*M5=n3 z^*vX(-~CeogC~I}Gc@Pn?&|E()}jmiqqsN?(%}Yd;AUR1Ny@KR%CrGN50A(?19Sf+ z-@j0@SgyYK-jkYgXFWkV)AWOHb%NG|c3S@cKvhl9JilF=t8%=v*0(8}joiV(7V&^* z43yE9*W6>c-$s6YsCUV}{woe__hud*??g^`$f{~*u({c4NHax{20cUV!1=5;&osCj z)OcJBYBqkNsjU1uaW7M+a^xMFPR9GvH3cZex#HcETXoNnn-z^i*1aY?wQ^`MU`m?4RxWl_E9Bl%~@XYl%({I9o zN4`GlBO{a^aehV5D^E82Kcn{TPL-Pa%3*NTz7~7to>)>|(}A4V&%LW7@2$(`)0?kr zzZR4KheO}ZcSL2tN>WmCvvdQk^VX{|Rm+Fk034*Irap`p#I~9S4G<-yW=4wFxMxDS zsG*-wC-_0M24FgzDRU00cZ4dy@EF z5YNvm#`S2|U&I%m>5GZ^l_rg0i}nD@emb8ls%Y84;2+J&MWy1ZvwG(Vk}jA{5DOOu z|EMoUKLX^t0M#rFe}GWSvuD8JQ2D7l$i*I|S08yz`%<4DQ~z$!-MRblZcGLs(T&>2 zRQz_O*$cqn2DF$f-AO4Pjp7KG__XK`d3r&;2r$y0&5==@l&VbE+zTtg_&fn)fAtw_9!dA$tHw@pHSdi`^Z58M*@*moN7{- zt5-=&0DjnF7^zOr@Zb}1xU75U%sHzUrHJ}`K_oUlge4wT$n(AX zQ&08ynfYXuHm`-8T-y33m86WWdVP=v5p4KGzRWzS{c^&<$wJS(!M_Cv1Pk!Biclfo zEB4HS*cIPOC(kJGJ7$5zvherdVd7t+FTK#k7DsRjeYkA@_wh@bOZS290s8QB$lDyB zM?qg_Zn7vGC z!b}493l9-KQRkgVk|wVct|8f3nT|%U!|Z8%L$2e7t1RgQqkUox5r-`kGa;P9#wCV+ zjGm`USdndVV*cGH#8y4_uYc1|#(qM%-PNoe$VnPi^Yppv6=Xt)5T9c8tqVB z^hsJ*I27@9%+oxHQARuYgzxBieWqm|P?Jj@>;>J^uMMKWY5RA(&$fK55v-cYT33m! zos4I*Lw3?0afpfr@9-w(rh!eSNT*!mE<*aP#tnVAfr1V_hksCF;AgtKNeKUqjr4&{ z_U5Ct`hv#@BTil=x~hwQ3}XEpuPS`y-xij1KD%DPl)TmchF;#A zb_#Gb+;S~e^mnx2C?T)1DC-CMl}|7~aDA%gqKF@i&z8}?3)^G0+@J}6?oqJ+)K~VH z7_xXfjesnw0JL_rnVFaryio7yS$2|$#KA%udo1FG=M^v^IJftO2G`2; z%)Yls#ANz?%yZC%7yai+>Nv1BPEsWI<@BOOe+|AqIX;kjZ*aW7Irh{aqzQ40**-P{jdstSaA6&&7_eCNpqDdD*@8n zIqbk*R9rpyxyabRgr5hhbe{8`#oVK0T@b9+qr0o4YGo5ZM`nRQwML=wFRCJsmz7RM zyK9eeITFN4Uf8}{Chh+}M16NW)&Ki`85w095pis?3W*$KZ=2Q?_pC%&*(=E=WdH8-{?zyPZ{zhi=e(ZJdtBFbUw4k{%6Cq18);z_nfu@M5~X{0 zr$*`}wM3wXlKr{oy)-*+;X^^_Fp-b{3VeD^7 zGFYKnG)$1iz0sd%k;8-P2U!WT2V+`!Y99qVZac7#uCX(>?WmA!ZI7|>$O)?Z|JRRV z@mU9X?*}frE_8Dg%vN7Nm)ZatKsA4SPHz%IavDLpNH%oH)F}|X#c2YrK@?iwXc{$@ z+q>aY*r{Zhm|p!(dYDI(ZOLPrUKR1|UrwP8reMC1m6fIM&)z-3@QC4uW*khuIU1et z=@d+1^c#^k+%>H5kn_Z;@0INn@j74ve^y+|ZPjo!_bSw~%<=n79TZ)zFY6QvuEeyc zIF~4>C}aTuh{HWqz`RIqg;7hJfM~S6g4j>@v{M%(Bt;=Yf8i7$y%@|HW_j%u{9&A$ zy8|39&lWo^sJCRsDCkZJR+#ui&8A+8WlQ!UvzmK85HQPa5U8M~{}(->7JRRTOXYpV z50rW`7P|6rqf1K)bT~|j%HRtPh zOH*+Q@`~ff&5}T3nT-e(-zXB7W5fG*T&Q~z1avW@`8kOSSw#@ukngY$&D0#E6eT_|LObSD}rJpftku59xT#E-th_KKsAl4n*M|cR(4V<@QUr z(6EcK{M1ObOTHeogRV2T4{?&A8IV6f*^j1ddV|+tc180*)4KSg!BE&-^pzPF zBRJ_3|86NrZOvAMK%tReW$|F{xt))KeJ*50_DH3((U9*IYCeV_*elcVWVkrq8P~m1 z%3y5|Z_4$!RoJ_6uvNgV(E)%Ixmr##JLkuRDn-q}`~R|Cz-K@Fy-qSx#szPojB zes7zDG;_@1EOGLQ67VhgKKLOG?y7`x)EyTeCpE>>$ojX?*P&BqcfIdYBhuC9&g?S^ zUF>V;)NH0!R0!$#TVV)6`MnIj7YdJgX)iz!VTIgRR7;%Gh<1m+Nlc+aCZ2Lz>~9On zcEnf8phh)^@-u#TgB3k{S!qz635lPtuAml$5v=%&Zd`;aF%wzA5TS%PNUjhJ*nUTa z`q_eZ2X0zkOg*6QzJFRK?oSZL&P+(x0CZ8}RUKP+Ou>NKM@znP-^72Piz>~m1I&u! zdve)O%VJ%oNL@sG?_|ENz%2QDhJs8@y}0=Ji%N~~fm+bYpzQZrlO#nV6cW8TGeP;rNo318suQLxPSa>B8{Ddlk0HDCeKi7J~&B z-KOwlpl*0h!Tgzq=6&NEym}={4AxO8ozp(|25Jm5xwSHI7rBpr1%Y(!J?q7xNcVrA z7pPtd*JW;?F4<2cGiI7je+(1hrEHU(3~H8nEchKd5zF)Usm>Ym4ziFgffem^H|dCn zOhS4;B?X31j$86_^+TcbtlNiw>9-IH0H|uUwnOmHn^RBI0tKH81fd8q&9byjO~2!& znv8t43P(zxoF~K(`#;E2U$zZtygGSn_PwHQ;+1nsjO?6j-~OISJ!0gbGs#jiQWW7o zTXiv*B3NxIt&f|KyrvPcePp6MEF}%4BOZ|tsu>U$Mfj#WQG0TXO;=fB5vo;(t+DtnOo8T>%5 z&Bq?5LSfF&fikM{CBpT)#1z%kG*+HrLr13(NIAsmtK599-@@W3T_gpXrT#wp%^BLu z+gIsCQd@lOkH9;c!F1KOK))y`PynH zf(liDKpK}zr!!m_Zl$OpQa-V6(8&zUUGhNe{Ee|BB346%G?3$T`0=4b8e20Q8GVl# z4eef715`tEiu=lyc?|Nw`xOc#D$VfBF#|~?kqouIKtr!!xw!uWD4oWz@`0ZN@aL?d22aMOUt#iRUh3>RM8M0NTclhTtjJ_GwQ) zZQ|zjs9d>&wsL8R5-g`gX@QM#w1i{G7Y}hqy|`AsP>e~;g>AY#{1L_eYpynZ`+eYnirS_?>}{9SOKzL zg|nrcZI5tNowf;WLV;T%J|j#cYWJy8mB_Gj`7O$hA2k9)ve`mQn>S7=W25z^ z2U<%b^q21nb(5)0#_v5=`&%hDMqDIV6@vmzrf|c05f+3+qduxSV;VXm#Y#%U5UBnS z(;!7wh7Y7Go}IWzu1XM0I<{B@Jxl*R74Jk*yA(&{+new7%kn1f6qp%PAM9LLOP%~J z=YYTXl)G!Z^vT`TVUO1Qrre>~t#n?I!b@f?gLVR=FD~Hss@=>~pg#DUpYHi*KpmL= zOFt5UG==WOe;zCe*&(KNFiI#v#MNNB&fn0>?FC8%ZOtYldj*FGdXX>*R|3E}743ib zGNl@^voG6p{tNr1Kh;`aq49w^^$REEfp~Qu1Xzya#_Q8*K;GgJrJtE$vsEw(Y~3iS ztkgrI>>FLY&{Lh#)ztBW?+k{P{?yXp1%t%Gx*=-3^6obUB^15qbMJq_mgG`5gQ%?* z|AQA?^K(2%914yW6{e4*J=k3v^2~3%FKmlIqK^+lX8yqYH>#kGRN9JyX7Ms&$=qu# zVMRQFm>hfL<+t}foT!kA7V!`A(KO2k2g1_x2I zOvP57L&;z7K3l{gkQ;IdDg8j+{^HKh6VqPd<*@aOYOZv7$?fB-rHO7L#=wKOH>RF8 zVl_fcZzDXoEN`HAuU*7;mZMkxC2T@+x`=j8M|OT(#N(^D=-9KnJn|q;jAMfq5(&NX zGC~(E$7OFlQ9JS{x!i6tMZ%p)CW|N2caea+sAGXM@we_5NrtOSdjYl#Tt?WV^DR6DpKmhxd(fR+Oe7h|rJH*6R(k~+>{)L=K5vxJEH`Tl|bWMn0 z93l|z4A5}^5H6vco14$5QR&F0(;C&foc3QVglqAXdE=?zmTWrTFy`SpnTPnF*q#yb zA3saHL1E-c%KwqYz7@@J3N1>neUV0UDuf6=1l{rCAyc{UbhdZ|t98 zyvU=?byJsuywmyUA3);$c)mNnd!x{(hTg4&?kb}GLY5iB2OHHJ1ekiC1NwN(jLJ85 zlymcWHk8mv9yNzIUhvTDhMB?s^OrBoJRQ^O(Y&vJpczlU*_!+RftB2dAo!kV$yF?+ zDWm8K(?D<0c~rD#sqc}ed?wol4QdAL^R|gGP!RHUP%ukb6Jw3fsj9By9)0bc(n<6D=5ap*r7$j zy-IslLd=b)RCT=f1%GY3*K+fn83shifnAbQX@cSR|A=jFT+ke@uuFBkNO!MYn}d?= zyI7yf%`e(dxcT_bgM5w6Z6~C}c3d3SlFbV_fa{AqfieKoWJSnB@^QUd_u@p91N@_> zeMg10p7z#pu}9uA; zoY*UUVpwy_aP7E*^%*`m=-dJDV5%=G*FADd&kQmBv6IY;Lpe23`;IBWe@%`YNk6R? znDWb&0%!I4VM|H?!+`I$;*-Dz3IYraqM)ZjcvMWj+-??kU8d_e{1@S%>ybMfA+#f zp211;Z?f?WG$4GM#xM!0d9bfcA0G!E5hh<#TW)_Nf8 zME@t^oetLQ#%sISH8JMZ&Yf5(A5kfz&uy7*JBrznM~CAzoQmx z+iyi5K~HP*yO!9+gv%b6=Kl94qZ(yTBL5I00rnR0#yU5cQ$^r#7JG?f{tC%nrry45 zd}s97nP&c#0JZo|eJ)FbJPD=*%Ff@JBt0!E#3Gb<>=lR-!}$Rh!c)Elrfboz|M5e_ z!HxdZx5piJ-&@}l(e~A#4MzOE{rCy!UCWZ@9t*GC zWo%*%9PD9>`G631 ze<;e8`EQ_JcnlvOU1379jXo-P!smG7{Pe$iiV)aqt;Z_&K7O5{Z$jj(;rq*LTgJp| z&A?-W3Voux9zuC){ zVW;(szbVKOCj}QA5&u&)aS(v4B9YcAVk$%(>MK%YpPVk+;H^98cq!M>$qXS|PV&h+ zkA=I5G53c-kKuYzfC<@iIrdPzvw>leM~)6bp=vc3z)8jS#46)ouk!|4*k?5@gQ{ns z%tti6smWCqiJzGI9ts4)byx;#`vHA9|rdUgR*4-Y-5Z^P*)uVHjMcv1XKsm1Aj;d;? z>uAD@7hzym7$*HJI)IdSSjU(EgHo`}Z6ALTKC>$y7KXtk$>Ikco66D3{uz*xzt7qP zEhkLdxmUW|53{3qS5hv#@YVWP%B?{krB)MhvB|W~BHUn-=NWtVB#|2ueS3bYDWGta z28aAN_b#OR6&kf)Mld9(kX1NT%%}f3(oiHE&;ks0t=ee11yC0gC_xI59mQI1wMLpB z{241me?EwuvfnIy|2sqcZy)EOywKnuE?Pqrygl=25n~?Lu|k`JKK7-|)+x}NuC}?S z%1J-PUr#!ATZ9mU@|vp*jX~R@_rUH$tZ?*&6!JJ@Yf6xid|<;Z=t;AUlKt@aOlz;K zuLCnO?^K9icPPgF`&Pg4h%_0Uv1AT(Zm$&-_YPRgRQ@X!=%H8x1E;%nE8}d$GyVEp z2@V#;D-eSC-Ucd9X)yXF3@j&NY<3HXHD1!l78qY}jSA=fzh0e?T*0n&z^P>-Dwc?7 zU!0j7${b1*WgTMomy$!|)R&8qztY`QX8SzsaXX$|T15^vTs>SJO}MB88JhaI_*^SJ z^jfp-{12=3P!{b{d?gR+-LXqI9rk^z)p!lctxY-OiPK)sHQ(3L{)OWA$x(gut$`Wn zx&o61gYd0DInK5l{)=eWt)FEO*C_Wg4GG3##!P!{-QOpN$J1k<6=Z;PLk!tdl@p zVl?%h*^i><#IBUyM!dA{ecf$r%h>Uw?_s0Ih^D`{w~H@dw`h<*L(NI!c45Z#!p*6W zU%T@0&okQ&Kat!@ft;EE7WftkvQ=o&7Q=x#am!g(2X^vF3Oq+B*cP3?yBzSF)FX)# z=Xf|OFEz%-yqt0Y{ZAvKaTfU~3||tJKH6~|m@Fe_ZDE|<2G1t=f=sW#ID!F>{bdNp zxZi)z?$n2{u+a_Ico6HZ^oC|ozJpV7Wl{Na;oCH0KB~nIyv5|+ca{(2d zVm9u#*o3INfIu;Oulp}ue?$=M2WRqWU07IhJj#yy2FjCVMmA*lMC#&yGX>GL8P^29 zX-|io7jOBTn|=+a#jyR4Vq3;4JJ`INQA+v_et|p{S8ulM<2YiP?69zJcXu@Jj^&DD zzlF~Ij9;PcUW@x52E2Lw%}{)ZOZ7ofxHDwUugSS6Z)qa}9OM{TleqG|Y&MGRAxp)$ z6@l^_N@WBU4=*n{qd3QP>)|wE?@PzTNGOrCnM^hsXtePMW|Ycc5YA1M?4eQngMq)W zo45bjM@DMT?-B&BilG^Ip$ptN@VG*A)1TcN7ijLC&Y^^xosC^&L!Ii^;;So4E7rsOcSO zSmB<*o09ioM=f^@X-0A>-s$lO`dhzy0IG6A=Jj34@Bk99!_N;|*1~pKHK>aG z+WGXq=JNPG09KwP$ekk!9$wd8GOGp&wbu4Ar-1)GhJ+Aq!#V|~v^Mn`ytvcWmD^}k!6BUSzIB7x{RIX*@ z#!IXpfZ9TX|A7wLLA>4;yW;yPv!N!-Q|(RZUr+)CE!ce>jWHJayb2+Fk_2%+FF#H3!2)T7ycF{F%-_( zF}W$vczJ(hPO2pxIBZYJWRV%>=5KytwU1zud?k$uAw~{o8wciBBA~O23suxk0?MtD zADT2C)FO_!d;zXI`}s_)JXwvvIn;*c_(5sYZ&e+PW3?Y^*S)p>2= zcODz`Lu*7CXg~^@17Iivv~Gk|#!$zcrfhq29;ITBM|7yp!conrt2@kfR9;TR#+avm z`G4INaaT^GzZT(AW&@?Z(HUHj_D+C3*Tp4`80M~=r{@EN=DyTX_-ew$E&vo~ACp+YB5wjiV+kC6bnfg6!8 zURe0iQ?t^;{&y$1;FP-SaJ=`9_=gRl>?3u9WM4zqh?*GySYY`)%;%(o2jn4k?j?A8 zSSfbO3BPvU?BwA9&21~_&(B41^t%J3O9|9KPOy0mtAWnwr+|!{s#?xw*44lC7)cUf zcUHKH_J$>(N15<1meP+Wn;NEFea4=GK&pBmUR{k`Lq4SdAo4H+bXKmvHFbmw*^~{z zqC3ab`lWgfq#l_m8P2QlOf}r}fRvd;^+1x|FL>-XE#1(~zc>Ry*k`NLGtXU0OjHm^ zhvSJvl*`XAvM*BXdsEVqGXcpsy-nrlZ8 z>~dnDT_&%ymawCOSshVr$bTH9crNtc+zA23mI^?W-%}wb;WiR}$KG%Vltn|YD4dWj ztzG*pQ~OHXg_n>#)qi9MJad6Ax`EQcjib#<=DQAC+L2!CZ<=Vg`5Tq+loy&zbw)K5 z@md|mcz?BSA1v|WfOjHeO)XNa9LV`7g2UqZbT^4&@XKw-^NiXH(r28#6~olhA9WN= zNPjASEn?F`wRqod_Fw($Ut%+QJ%c(oOb#;@a&_ zke|xv!?G)HcFbfn`umVw%24n4DssIyG*G_5Kxesgn2mAfA8V;Wg2W-0Hs4EmayujC zHm780Xp9n1V2l(XY`rPKjI(B4F9+7wLBv~`sH@o#t+pKCB}GOm=*ki<$S%1SmuHRm zd|5$_8kVp0>ALH-{zK*A$trhv6dYQlo`hL}PK^WCVVQH%5FNztGN+Ax9s67xb|fu}}={Nr!xeC42v(^Ef85&w6GsEZItby~Y^ z)rF9m%J+t)?Ry7qkS?nz;3!lynii#LT42dtXa4w1w`{<&PS6x*G``_Q)BpzAk|}ZA z6?W>PRbW6C^AKE04q!@OQc_KvUxfLVi1U|NO)sGA-5My_QLbICCTOh1Jv5pUfrQqf zCya(KZuSv@^7N7VZitp;s!EPQ`|-h2gwo6Oes`dyvXHtS=y&BI==RBCY5o22%L8|p zu@nw#09i(w0l8uZdSNB#_w>=M0^JeGYQ|}-r8b}-oXLz;7t)tgc@Jiy+O;rBI0GUg zDp)v@$KMk=xc~@C+uNKJUYNPzZpSe8#4F-G04MDMS{7UCFrp6Yk$OIX&PUy@Ro--u zznHctsA0(BP9%-XA9uO9c%N%%fKqCa4@%T^JeDR+eSOOUFPh5sYh1bxwn2%UyG>n= zsmYwols>%c=i_IG1&BI#P#!l9Vyu-rRu5i}4wG$FGY?T`nhFa)%eaLxUj{kXLZVMx zh)cM4ZmBji7~l|+_p^X9kT1n&=brp9q>3AXh0`0buZj+@gEPU94IInq3UA1H{{VI1 zdABi#U{?FeBPnTMwPtanw-@m`z_;nrcokLo{XcI~N;T^=#Us)e4!tdK1_ zXErp9D92&Q|Dz9?j6BugctlKEyi<)2SWweCc>67NE^u+$^W8NCcWRnXF|h?}-5qxx z6iY2Dm8i3TR8+a8QC#W!`&I9s&WDCqetFvJ^)hqw8(8z(g?n=cLe$X|I9?By4#A0v zn|gxF)>H|pPCyr)lQYIGP-|Q^=8^yT zWqAevEJgQ%ZH!+7-x(&x+pn*Stg5e0)IkpsJ++}J%UOtJc>AqaQD{#;V8|$5utfEt zP(#$=KJf7`!L}~IVSM#Wq!I)9p{VnZGN=Y|Y244bNK+$^oq_Zn(0@0!z(M~VdgeKa zaR#*fGq8bTR*jQG`S7Q*v}IhS>9e86%vlf!%&T$Mr|}_10R+}lPw`Er5tT_+A@j-O6fx$B#v#Z{o%jq#&oSKMHv~*S<#2Y5Oe%=^m-$nC^0OZioU`s{i4#|7j27 zScEhKdl?+B3$exScd0d@O5eDwR(rg^B<3YqI|!gb8*af<{7n^hk6&+dTEV<4`omC* zRWcZe;kGc$c5{m5K%6js5tReTDE+XXTKxs&yU$UTou@O<0}o%}DfI*H}54E(C7CQlW>zu9g+lT}fL*ZB{d7V60|X_)w0%6U_cB;w*ba+;7+JhzuFF z#NTp!o0cIMe zO`y!SQQ%$ByI0+6m95zu>byUrq73To50A+FGRQy&^32&ZXGQZBqi!;@=Y22gv|RwG zLLN&UuFIR4K#j*rMl}EG$lC@YI5VEIAt2NB+1>HB4-cwq6Kg)c$fnBL#&4j(k>MBq zo8To^6@>0o2IO#NFH$zE?Ut@#-HoL9Lznmc6SHQ(;$A6J8?<ipE@s3X`)0EPxYq zZ2q+!u$!r>gybz3ZgbY0NT)pgl9kKi$!>gk`-qV$)ZDRwnX#)3-=P?Yh8Y}s){_>~ z4LPWr`3?r4BYPC1w5~*wZoxt@(>=68V*B7oOv$6kiFVxR4?3NfES}GP1LT0w`+%Fy zMoF(8987&aM@UW;*NDiWDi(a^b=}MKmo5R(_p(j1)kaNV19E} z{Y*vPZMjoxAC#n&lwGfwz7{a52K*y>|Lc7U@=qRFt%eht=9ynWAE%(Is2H@iwgIjy z7cpZnurWu<)rudI_h;3ufe*6M(t+1F*vzDZn7LL$-m!Uq+mc;c!TxD(aGgL5?LE=% z4mFCZ{zw}?uF0I7+BC@t*Bk-fD{5_;Fz$@F5w5_yE$ztsyMa`N*CnSmMM)%PmaQuL zK2Am*8d@B%<|po${Xzf9qlu{r9RiF-dL~4%`UV^p(FVpV+_-h)A>h^@z?V$f zW;Z|7a9mai<2@0YzOtvHlAvb`2O~gbLonVQBhGAMA(N%0vCtU^v7BpX8kxAO#gWo9 z`LQ84byBEUdwUYR%$^DGNH|+e+^`dK^b=g?LXYQ<--=27G}5L4S@+)`R!tPz|fyekiBc zj=1iv$ZH;FcU#LSesJgGdND=S)^(2w!>2knEvsbU2!2XcK~~FnOeFHl{@4F~Y|zb-oIhAnUGhNZos-)tzghx$yZ_-L}J_qK7HbgRewAJ#ART zJ-_M)UAWTFiqbHg(hvSqq$L4S-pfqQ5V^6~p@>%qt)$N3)Y$8@i9+UK*GrS4_lc3~W`Y^J>2s_bc6)!S=F`8{#$F1% zxqUvh18uN4lg_r0RNE;jgtye&<3Mnr4t3HVd-sP%|4>_McI)$@32>`=D1A~0H@6IV z`xkQ_u62GXk`_Qq47+jL&lv+wDllY$IZ2+MlQNIA5H#?blmCdrp|8L;C7m=pB0Uf% zBig{_*-a3cLVelqPYZJ^&U5pN55Hk2OZpr*Zxvl{V&kC23l>3ESn@Nk9!rM2=rq>i z#M>NO?>FH)@pD0A-ScVGmX%Xc#NP(eOX4O3#4GfqfR|*UsZj3=6ylGg$9+?Al zHW4zDZhh&BGq}p45*&?wcFB@rm=C9jl!D&8-vpDCP_UtvsfBGg=@8?_?kj{BJ|iU{ zUz*b;M*KRCn)g_|4Y*_V{<)7%EjRs&y$^NagI`X*@JX&-3eg6LQTCbe2OOgJWAfw{ z+90b;sFS?gI#F>r)fy%7-XEoj`8kELd)1v#mY_Vgv zCJyGww&85ieX~kX zkGGtb7Ns=`wInobgEgwHSqa9xusW2`1N&m;IlG#3tkx~ZjH!$Mzqr>&6V2)>`%9DO z6c_lb4x5lZC}}dK@<%r$^vrEZ#UIQi zi;4g6F{vMXy;#Nshgip!r7agHqVplxxiaUv|x|O-3 zsU4x?b^if&3fDhMUp;MgZphFn($o;Bdc6%8LaGt4VFay@^L>!7+1rjqY zIlFC!-_Z5|18T+=KB5%H$VgYYsvlrhr+X_2)%WK_`eg6Uic^a3{*$Yg-?%q2n2$mj zu&9}N@>-E+EgaTIkLOQPWynjnKfk2JxP23(sePL+cdl!vqkD(ek;>yS8k@6F6FHgG z74mg{wx{Iesduf}?kNZNW4_IkmN~}+0|kuWyGa1bLELi9m^W8}^%?t1Z&|4n>PKm@ zp?9TY7cZUcoZq9fxW({w@w_6hODwWx^y}96{>zV%nWS%6ji)8ONTG z$M^23a}VWz_JdBvmXQ39-EdTb)dva8ufs0`ztce}3-xU>SUMZQbbkog34OU+=gbG< z>ub#;I3V^nj6Iu$Fyci1?l2Rr2wKt2y%Vt4qSaq2kqX`Z6aHvLmm7qFGlHiazLVc;^f;vk6QT z#``fO`A8}Rdz&2l1$w7ScMeIUc^r>#Hm`B)RrtSna7%BnXtfsellh=cs_P1H!}pCF zg5nis9$;@xyrAi|j2bz3`B8B1PuXGWlZPfRX(Zdb%RhJ@8cDsVmYRHPa!*V}>ZGPb zl>5L_vE;;L^BP&~k#tXo?EF@2m)AqDbnkP-^|w&zSDz(Cgkx9aM9EF1I@u+J`|H1n%J1^S|jY}5E-8W5z3 zUb5w8?!o5{J>O|12_8u|JSFVjA2S_p<%*VrH?>EF*+DTyG zs*WiALA553id}V@g=%yrJ)B=Ckp2~hN&>#M;YV35CwaH&JaUsyrjMV#7>L>1dnw(%iQLgO?wNF*IQP1oBpF zVw3qF3E`WcP;72slH{8*oz34ZjGDkn=2E`Yxnn)Mw=-!X?i1skOuo6{G;)Ve%B1R$ ze5l81ChRjd|DSi&Q{t++u=uedr@%&y+r1fj@WUgf_IU#OdMK}>^I0g#3 zvsd)qH=^FNDv)96G(4wAaTXwVSR*T!!heznR_DunBYsf@4(gSsRW3gj`w9M75#er( zD$09c<+BPdBYW+l^`P@i;WL_ICZgH1RLLpxI6A|2Ggry3lto#$sUvGEM z-`CiMWlvg%;M+UUUH*u7_*=vfOLHA29Q;6X|-0!A2QGEZ!Ngy?1Z? zQ7U@8sNjY{=GVtP$Ce`|+@mg=RW+^kK3?;a24UB2SmKbJ2}=*+w|>>y#)n+(R0&4R zP;~clwOZ~Ot;Q9dENQ%ZAdqEtl?XSyZ4^d&OKGK}SIGS)H)hRf{PTJ8h15zMj~xj+ zL!{dA)A~s-p(}f=b(vgz+=*p4Ucwmu<`IiM64p*BRgVh05I7D@$zW28>W||T`6RUVX@;xQ!ORy-_PTW=oG;4Nk|KY!ihy@Q$Z%zOu8K86 zj-kpS-SEfYrXyObH)+}z(#=PJ=i4>~>IM1riJBD~n8Z3B&yc4sOWW)c7nk*RZCo?= zI>Xx>_|S)aoV@RJ2*F(vxNwV*1BDFbH&w^nEY$ zEW?1je|P&gPMN`H@4h+pzLaxauLP;P*d!Yg^^J>b7p(UM9c>(jMz*ysxfzb#u7@Sj zlH*;MI0|G6pz#>G5gHOQmRnSbwYtwnihTeJ7xeqiFtMy_v9yK*rO~&aBJk|ziDW$0 z)~5!8wWN`Kc^2Ew@E*3?pY5AlDm`viu=X}+V&284K6nM(+Kz{xjuywnWdT}7`O#eBs%axC}iG13Adn&)dOf@L6i6E4t&F9MquvVbtE1b;}D#<((qL3G7GWD}*+VO_yLD@Ma2KVDo z+#n@Y$$9O5ZWj;OFUDi^wZeMDED_Uu7#*Ff{-;)pu}PIYyS|Egi+KGxW+C?TO3prm!L(_W8yTS1g-N!`(+#td@u6 z>CKd4abnHePu?MrWbRV@zieZR{4Fp6VZG9KrI?~8H}pT1laMBNwh@z`JU#WcdIGOX ziei37_m$d_)@m=!fLVakYoS&$R(%Qg2ONQ~A3wJo^TgP8Zk-Rkw0Uj(a!i-i{DQ>P z{@(e}5yzKA^Cd%pW|2$j?sQGlWB`J__q3<$kgnQ#xZL3|x>5J~ouw`-OeU#t`>T1w zuxmK1q*bj#emvI^aj`{Y%0BV zh;xMXJ)S(?shD{^d6*45)@VgNPiN$(Q7QS)-f^61(7HQLuyTi&w{>c{&76uh?Zt-D zZjiLmLns;O+t z!Z{Z_Qj$LbE6IHB23q`C($;Z}PF+#klRVBoJk*|D=vr{@S=v`(9{RyM)g=2Hpo8~? zD+r`jU@qq~2_^f)MIPUzsQ<+Da%Uq*rNQ)YzU}HNi!|7<%)lxTCSAHv0zt&zXhEL_{z?v3|Ly?i2Vg8dNbwd2-(a>9v+N5tk&X&$YX^(SL$S5Io4ac`j^%OM~;wagt09#1qLmyNhob)n|7kRJR$6;@YD636x*zc=-#Rx%F3Pk(Ciofqpj&I5}>}%i+ec^v%%0VpC5S?hozAFO}Y4c z*LvdO&M)qGGWwzsF2xL}A*%XRv{gCCdGhjV`C$8upR@5$1I(4A1Y3qYGFP050R3D_ z3SM{8rR^8xHI!mvC;!PSy2Pr4X%y;l>pZxOeYUlS%+oGp2+w~Ko%|SoNA44BZF&%= zIkFsrJeWOMt5yzr@a*~#dT&hD#L&#J| zjvK5=Lj}ZIBY#i5FOSBnf2|(gpg%s($WQ7AosaQg<^Dk=?KIvGfK42u3ZI3ENODdt zq(0pAoA))yju=zn&}2)l@3MGjOecb+{`_ueWte08j9W^W-?v|pc? zkX$1BM5*3spSI`tE`5S$X+pO$GwcQMQZJ?y^Qa5mbjj{?^>4oW@Qw9k^z4HEIpqN3 z6P19c@4aAjeaMGU3dydFnTz7>fGfvhKX-VpTZi zC*LvAcPT~c`bc48hl&ag!&n!a z5905>K1)Gv#r!CJ{Ucht`zb9^>uazqv46}h=zJ;Tk)@oJ(|*&tO+&CARbt*PZZLl_ zbH1-jwO;mkh1cMF_|d^Qk3d?(Wxp0h5B-yD|6|c`4}AnzDXWze-%?ln z7Q-^>y{M=jTq_eHG9dW*l_{n8i z3#H&raz@hjhYzWS4aeG>TMYsY3#@Is-YoG{wDAeyd;Lvi05hE^&D03SEDUXo1QIGd@)w%dufYtPZBM6{C>&pRu)rSkB^aW?{$w6Ch-h( zcCP#RV{N_LN@TM-6f<{q4IT#AE#!oNdtP+X>`*deZaY`9bIf$b^qEzK|LAB~iz_Zl zKth=Kd+FSDtQ&dk7|U9#o}WpT1=iRJmY#;g+H4gM&0vZy*gX4qm5%V)Dn??5(Mj`l z5%R?EQtZsxPit>{F0t3gg2TU04);sp{u0AA4iWoW9d!qC6J|~Vfm=CkAKu0-?T)dJ z9?bo@@`zr&aWnu=dA*TZldwM!SkYHQ#2AH{CwqEDRXf%K{fjp*&&cA&`%Nb4`>?Nv z?D&|^&)e;Kw26-MRdkumIi3jEA&`+HsUegw)vJLqVE2%H+0H=PK9n3pJaZvyFt;LZz!ocrKM@PrZmr+N>)%3a{1Z4}ChsrkM4MqCGi1(_CyTz1x%P?bX?x zUTn`$gTnF2wsqx)*PWpctF0c6@=%P*>+-q+(9!Nd6Ke~~dVkA%Zwt6zq;B;vp|zYF zcD%H*Y^Vpmr_#^9!4~;ma(a_gTgQ1)(y?80DYmz3zMku3h-ZD}jf9*0w{{V6_P5FY zp^ib>X7S*@a|_y3lI!DLPe0#5<2*UMn{Gd`UUr8cvbEA-wiRb=P-wF@ZWX~kmm2L2 zZr)KAJ!{j?j-gqKu%3h2Mb$mn@+P8*9%~F`eAJj{uHp?{=KYi2fxS1Zv%6g#wx4_@ zHKZ0w3;Yczt6F?P&tY?R#MhvHXVOrCvGmD^)FozVx5TkObv|&Z^vDn5_;01SD=)mf zPapAv4;az?*N4Gb4>jHm>2HsbUO!{QoXI{M$to(k*xG5%Po(5K)C#EK?f>3i=o#`; zJ@yNj@nVmhCj!A)R@Bnuld;Pe3(kK6RVbHz;*vP?LV|)>KvL()-2+CUmrK^YPPR@W ztL28P#wUCwKDUp@kN$*mW1RQ(s|4g}cDaYSFSjlaN+? zXb5?xs(lS<^oK^KR)#n17oG*^lm@aR0|`FC5(7>!ZGbj4Hv=QY7P&cHXL{r_U!thT zdrn#Vt(e!&G6I%nJgr>JeqEW-iiEG{n6$<3(cBjcS-~%+rQJm-32Oi49omajQhtr1omfvc@8T@bs`M>6`z zY5-9iJqu@>Ov5JlN3%X$G^K0YvvnNhj1{Gk{4Z;#U= zpHF`0NIyxa0kS7=cZtQxVkI^l0w-)RdJq?Qg^$naXqB!3*!;!#^G?pO==?@RCQ%1z zRYQHKFxk?v)$3N))@^-OOJyCsb29IGd*&+_4Sx07{}Ml!1hR&qvO}2 zb{FnQZpTea%gvCmB?`SDJ|*hU&g}Mlx(@s0ki4Gs>&>x?XZJtfjsJT8wtCr}wcXo$ ze=?fGAH23Uc`-}dbwX6-^Zrh5Iw_DqPql11c{4J>VgTm2Bpq3Qb~ksP#n3M6b+$Qu3NTBZ+n#Jo@7B{= zvB56kzS`v4HFc?DRxKKBs!-***=CLSu&l;u4Co_aCT`aBrO%NBvgl?Y@iJtN`m{z_ z$J-i2_i~dUWR#eqezh0e`_Kv&KsR2pA!5!>UGazU^^l35Lq#UWtA<3|5{mpsZuMJ? zS;HT!M}#)^mx?~jp#4da!^-wZihZ|rmeqBO7YAyW*fAP&!mpLmd?U_MFd?hlPac&> zUroMnqT%jP5VLaNSmiK+Tw^JZ0_ilK^6Hn{3RpSfCLZ^-$l$q}$HGIe7U<5rmUXv9 zdD(OL{GJj#xD6q+UL`99n`cbO)o-HD9wa~V5{|cF7~PoY-MXs< z<2sQ0ojZmFL>EBJ1m+U!V4h8v9US=Q6WH~(0WbW{2-ZOqItd@1OD{WCKe9!m=bMO_ zg$KhKLS}#~zvFx!?Zn3Luq^dci4Vyl&xnLn^YmvuMBZt0c6_UGM9CPBn%;pJlc*#L z%=VZ5DD0i&m>WzxKBi2aUAyPco@;pv`a|MQRQ8vK4nKd~(1Qo+j?IhMcwLcH7j7+P?knIXmHEYG-}rFE)7$W| zn28u;YRwsM->{E>48>SI)7pm&$org}kr(Q?pZgvYekVTcy$vu7FotT?O>v(g!Htj2 z3&BiidU5Xsyg#3e+^2({PZu%3Mrz6rk9#kG56BO4>T9(+8YG*a*X27O4_H6%ju!y(31v%o&&&-Z5-e3^#D$=p#Tu+LVSI#A+EoHKY$#dE_$}B;)OMl6_!6?wj0BbdDWZ%W+ z7gnqB*gu7||8>2GbpubS1ct5B*zn7Hc0BSK>f{YLM#JaDTJ-Zon6I?Pr%kLeY?`f? zrL)a@R+;#w9DG=6TifzV;5WLlVnB_ekK&JK`Q!5cX!;7bDBkaF6{Ms=sihlfi4|!n z=@gJI0g)DIkVd*&Iu${>S(Xl^LwYGeLSpHBpZ$E_-yg8oHM28wo^$SVN9)UfXgpg? zgiVz`MkE(;2cCwOjL<+&e|qku*aq3;iNN`~Gc=c37)Et65GoZIVT?(ULbvlH5v8Ee z$0B~z8NDy+nSIS47T-Q+WaXXk-a2=`+IT53mdmBpLedx#eyiz8@wfZgYBVrSV(%kjreYdcCplUU8noh1 zf41&7&KDa`_4)l1eg2NK9R^y9^*f2z zGwiMLR8P6f<56&Of$>^l7&spv)JXVUdmMu9s?o0)MIi!V2nr}I$AV-xnFfIdmIx}- zIM7g{Gzs_ehTKr^`@V_@`YZ~Ow+CAJx{AP8( zVs#@9UohesOx%=f7lkT!jeQ1;3q3bxhM8rgOA{@6bseE?(Ixe`&E&-!=jC=^5KsX( zbMR++^IkwHqXm)!is11zX*y`1yJKmcMk7Rg@KEc>uF3vrkN^~h8WT~gCeAmt3Qa%b z=wIS|ynAu_+oI>weYEcX+?zd*$K=_ay0I3!u|YjLO!C>S6p?D;cE>nM?}~c?$;Awt z#ZR=SolW7W??ZyZ5We>?zye6tE3SrtHQqU+9aHlb9-_yNUY99R!D^wBNL4NVN`6Mv z+i}vvNn6$h{lxF3)x1*uzfLKJ!~APu@&L3kF|egd-+?khx2u7D-5&pI0{n7#FnD0h z9Y~;ySCCr!Xe~!JJC=5+4LB@OI*ZKNz_G$vUSo4qRl!%vR*yR5Pn+2$*lZDln`_yD zYW@VXI@5m%A?kb`L)0G^?&Gdre7)Z?*2fO8>j(`oPk{c8^ zQI6rc1#qS7^()Hkhll0Ip<*R^Q2pWH(4x|!7_S-c zUw93`-srS`0s9#P8>xHvHDo0FM-u20TkrIbZvM&Z)plL-&6BNHThuUH+$=Z%3zm|O zm1iO&rGNna@O6Z6d>RKWm7o$eqx*bze(|bj^=qits4tLVsqYiq#aj~p{rykpZNh;6 z=MQtB$`=;OJRc@a4#kGNCWvu+>lFbO>0;uv^j9j>!z34?{vmGx@Gx-mnZttszZUQY ziNQzoI=hySsO@-MiHj9ini4Z#_~*@Nw4?8i!9&={N+DQBT1SGQw=TDIU1QIl{ub+3 zn_H+Qy_cf;W>^U)_i?9)XTve;YM{bKfLUbef$u`L1*GGuA>n3Xea%;P_>8G(q2j}v zTI`OXmk;y#R_Ft^R90g0HKFy#0QM`ksTbBvi6Qun>}-1+dSk(_ma{no{aRL`yw1-v zWCdH>`8a{XNTt_JpKnrvi4NEYIPCN1#fa`EeEB(n5^OQWCF3iKQYCI|dp$;1bQthqu~#5S0~G@=aB_ z?w^moYuZR+;z=O|Ummg@%XFbpYqLIUWZysP{fnWGi3Wm?FFfRK?{IP&GC_y-KOQu| zAQ5`hKLyun^x=|%`rTrU z9^*hxNTB6?a5wIFsz1(6c2lv8qev}FR6}H#sAfgIVg&H4EZ~qEy0e)n?%S+UTn3cL z3wnhbs7$UoD-^lKRaU=y1jQ3y0Qt8SL!5xD2#8w-D7Ds8&Q7qLj|)VcUC?pOmvH@k zqUzomVR_fOE1R#revUCq_GeSWBk+7m{)JTgzQyT+TJs%A*xAeB z-g$Iq!c6R@wUJ+66}~7`D1&Un#f$ zXJasqgYskRI*yAAeSmoh$WH936yiRO8o*N>D4k#+_3`L>&94vtZ2^#QJYv{7-JLBk zWC_QLabLG6vBhEwUi-qE6e`x4wP4`lg`9IgKwur+^bOsTROdMBnY^WaThQgJsuh4$ z%pt5CP_QBi9harWAcDs$t0vt2E1y0tPrFfmTV8sU_(NWu)a7o-JJ!WwoO9#t41KpbJ_0AsC@uWd^XyWo!mJoNbQCsaHgUXNEA7L) zKa=bx2K^ZxalJ4(WH~pGvsZQW?5B&7W7(vgOOr{zRmO%2!W3QJ9`zkr3pKdfeoUwk z@&79d#c2XInfR++*iY|Rb5OjPR?vo5z3=$U!Luc;K^0XBk68rDN}MtCu=i*YEfQZzGjqDfIuD@oED6yhe(5S&i@`cBqVTN z<#T5~RDxJD4?Wdy8c@ngU1t$)7xw&2y*XDEZSmg10vBpZ7(|E_@aND*T3VV;k~mkt zq{YOy0riRQDLY0JpnK_wMdy31c9soy3eo*@^ef{cc$) z7xhdJOLa4W2k1-!PLh^e_jvGGpu0@a2RG3lhtZY=Z4}Tq?v!q`ddXL}xvlOAKm(6B zY{MSotVZSC{7XJ@H*TH;-2@91BNUM)V5>Q=b?^tdOh7~vosHGA>K)?s@e2)JOaM>n z(2U{>8NXrMd7jj(^m1ETxDSZc0cw9B%V$d+{8j z823qSON+tr@v#kTlSECF9+iX29;ksUC+Y(zx{S;Bm$G*FY)0u&L_2S$LVUaF@|(m%TylHHUdm^e7=da_?l#0RN@qr;a*k^{OZe&akavO%Mx1+ z7TUPy6M8>}j!K1oZBDj~pv&(-ea?SWwco6;dz}6Iex*`?*{Ocfr19fVXoX?io@>zc z;>(QFuB%#OZ2?ueh7ER28i=-pD>nJeYH%s~+OkI1^<%84VwYP*B{336)W_CtTP&?6 zfNeyh_km4&5AYxA&XLrQNw@E#ZT+TDt?T? zAhbNpJ;>e6V9&1|X_A)Rd4r97n>Z<7V?tJoy>bH8?e2U2uuPnXhq-yw&T^-ZE~q8O zi#>CI@uE6Q_j~8<0UP`zO!+L*Twf{fv!v@R-gl04S_(~~Y&vsPwquA=TjvEj5fK{x zS__T#VS<4j@yV1;g%c8w<|8TDhhTFh2{`Slk^o zc_8DKowC#D3j4j*k)Xr$+SEk=e}pJV{(7hoPY>8FdYWhM~m z=zlfedkMstkzfwfQMygC@&BOX`*WpTnfG77oG zm^cVx3(t#oFasHz4)3zAFH(DV*^9=tFI?THUUuG*H7=-gdzgtfE!@nV{@l!Y+_Oqm zEh=(&L7n||a#_me1BeeAhPi4-=-s2|fZzTlUxD9$#~zK;eYc&CFlCAsuyI1)u&Ze5 zRd8}j!zrKu{$lCMm6$GQOktm|3;LyWw~30)8K8v452R*L0o4l^{DF~VJYHsKET(I7 z6^FDm4>v==OSW3?^wZ&o9!@f5x$*25+~c#BSM@U^xO@6ZIhY&nH#Ss%{KF0ND?hEj zPgb@NSY2px?G<{MU;8+L@(y`{xq)mW9FHhH6P5H(ERqPGNj1bzeQL&WMm1NnWvzAL zw2FMOq+!|3AHrOXFaIzJ6LZc5sHTixn8Xnr6u!O186+7O@h>XM2Cvk(f>!xDNWI_t z(&(Co!-%cEnlGvCp-3qzJgyhZ%bx|-y00;V%Xs1O)RG0E(l5lIejH>%EPHr94qd70 z=5DT1r^G5zj{Y;c%VZ`&7Id&>P20Y~kcL+i>r(o6@j_NwW`T^J!2Rb_tK11f!RvZt z)Bo+{QvZe%@zql~0)l$Lv)i*8&z>~4W`JH^`bdTH!N=SKU#bv!>!k@6nzHJQ;}$vm z-`ka!-Hlr-%P|OO{^0;%v4!!3mGQ3Lt8ip-M7tO1j1?sp??=kM^-io)yZz+5qwNl@ z_bwm4)&L<}fJRgeA%%UPN9^~1UM5z?;aiE7-z-fak0YkIsLZ`F^To^Id~wSJk@A+A z7a9j`GHb8Q<5a9ZfCg@>4kS3L&F3huvoTU?Z>!d}WymrQ97?2iA-z(5*P5(^XrWi$ zHy8~3%bcQxCW^e*%C?Xy|>{9o*-5vLniWjjH$P19og_>kgzI{moEF@>V}N@ zSE_0Nce5=m8N9i;;V|O>w`Mo{2#+IKJmK6&6?6X8)yP4jtjax#xfi`x(ko%{8B}$@JW^{NBbf*SRoY?3Aulym=mGV`m(GB<^2N8aA;-RpT+C!k!?s zz*u0Ra)Qp_hTwf1ifuidMTCkej-H{j7}=ez(JGR%P=u2&8R8cDj(9IIqDZWE^C>lD zmYCY%ia*R$nrY$k`!FM+EJnG*P12w`7Qf}@qW_srUcqJbG~m*{Atp4 z)HX=30MnFb7}){Tv>R;$PL$QpDzUU5m%}LMlB?aUaXUFMN6GbD@eOc#?bLg>cg0yh zJN2I9m6&b>q9bc`e*US5$ik9?PyyUoo4JXxcm6P-#029{O+Yp1Pv$}eY@JcEAi2Px zE^Ts_1@~p&Rgk3EYX|5B!_5br^@m)Y+REsd6)j*x&_mXK@bF(0JEmJc{@K~bD5Qk0 zAVX3jcb(6p)^q7>Vq4DC>%~_Y?X=ZpJ~=kaIYax`hryfv;5zQ8d}HP;`Bq6FW&|;X z@5S$2k6Mz4_RHt9YN8#Ligv81mhIme>EC^7{a5f=Tz7l1%k5yb<31q?#H*ABBCo?$ z7Jm3q^WX~ir!|_+ThtphUJSqA0xT*uvAqBY0d575im)SodY`o{e|a~8Hx=~qX36&4 z_`olqbP;IWYwdl25{4fhe;+pqvk%SK2PXdZg8xE4#^s4>?&RsKfwK%P&WM3=hB)OC z=c6HMDId<2_Z*~fqPTa;PTiP~`A5YGV(u8)XUUr`jPs{*6%3mAV~YM>{fb|<&ab`X zgXY{7wf>nQ_N~xh4=GR(WPxUYE&89DSL~Uzzk`BS(8t%Ci1gM|dRcIcDMdg6Ou&Q& zKc&;Zh3AJLubi^735b5bmGQW-QggtCMo(DyfeYd?;OlVSu1Va!obT-~b~)YE-#2<& zNP_iPvi}qI-T^|=V{qu*9dR_@knjcHP;+7q#F>9``6R&GC8K?Lem(!NPinWuW)dnT zl#D#`CU|vlvFf|OyGsgE(I!vXhYN{mu^#6t^nc=1{CF+z5%D}kK$P&!<6}s;izI*H zU*M}fGq`;7^M|+zPvvt~|82$H3u%aJe;obNn^%|@P7l-3o2~< z_t|$luv?|pyPN$@)pX6YU~{zEuAntCYU&eKL!wi;rmCUA&$^U?P}9n%q}{Q2dxi<8 z&KFHw;Q4@jMP7%vG(>nTkmbeAptGANLY9#icMNy1jUzlAUr9jA^~Zd(GV#*u9q&b(o?z0+gZO4?nOVIgy~Ea_S{3CaaWV8(?332VpgSEKtoTCP+7Rd25lVZ=J9e<5FRGej+;NPn5&~)Um?wda}@%qcW z=k58@AuwpN(l4(l+1$fWs5;Cy*g9LgcqEGHu(zBw)1Oc$Y<%GlBOZa$5$fl z`w2M~GXBO!hl>>whlbqfCa0X8zqGO%5O$-r>!9L?3^#S<~)P-m8c^Jc%Rke z_|Y+INfT(7Y3bS@SC?@93_g{+6oekMRV3TLAsn3_rO)wKHf|BE+ElikX`;!O#*UIM z6eQm_#_3cO*xM@#w^GBa{)vuRV6RZXD(~*zP%;?v9#@1;IRqOYqf_f&%f9%Up#CGZ zS1lnCQ2ucQ^&~j5{ZFm^d#MG2(8HQFRLn(}pGxqs$!BO(4Su`XWq+>I$hEN{f)|tI z3nQv-mEopoAU8+S#^>C1I!WQuh^CoHKXBIUW_eMupGf@*!`A9k#zc50E^henU@PkXV2k1i9qpK5>%IWpf zMlimDTVQl9)CpqL6M#peplWc)tzA>ZiXMe)91!=UO9nK7&>cFo#Vn7Nnbp=TC9C zT?-*I=ACAg0bQVIY9vXvi*GV#_;{Lvg+8+|c$$hub~1UU48ZMU$2fT=dY=pr|DFg0 zD9kJZ86Q9wuzOn=yIX}c!nH^K*JOahtsEHkqGK8kczJnsgX8$ZOe8AjdYyG$P|71> zZe-k{KmjH&Yv9l%d;M$qI=X6cMIYHT;v4hAHsaF{29C^!STRg}$WI8it8Z7$iQJaU z2VGjh#08m1ceE+LlB5Yu6UB?O7O9jw=KQv)BgUiV*vqO_U*9F|a2yiI;V1267CioY zG>}&@n-|wFyBjF?ys5&KJ)N{KJu_get#PndwKoOeM@&aqYY?bpSP*uMjii59ro5GR z`)ZAK^P!vh;AWV>)H68T2?qp!obd}KU6X%jL!hT)<2MM~NnFj2^!pXQ!?8>cRwnuJ zDqYYn1?q8-drG2X>tQ2nsMIZuBfvRl<2M7g+?B`4pV!d{XMO6G0*~A_W=iXza zez4C+&vb6fM~oj($Cw{7eipT}Q2^%MgQbEi)%ci2@Bq@P4!)w7w!rlHuj}u3`U>DI zQ@!up406#(0mqA%7?N||&DvN6=>h#~&u0?Ws2Ms@=5Om5b^X*fbeR#K5$78`{(o%? zP1m{p~_veXuuiE&jZ@fxR5;p#N@0*{EpG6&m%jjASFek2dMBqd=PLRjZb5z^sbL@KugB@ve z7f-oPP^~HcyJv!gCqpS*B+FMzXHotQ&TG9t9n2|w(fHlcKwM;2uv+uwnXhsSCMt7D zwz*K^c=V;RQy~@@a8=I|C}H$BS6K{9EDWm66_2(_AGW(}(3bO*{AgcKglv%d-&u|0 zr<}GH-)Q(r-|ne&>yeyYxPJZJ9;8V00_47+-#L0H
LqrBD!mtwZ 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�gnt0&23``4V!i$8Fyp9UZL8m8<9inKPj(%!Pyf&n}n>|ALxB?cE=NL5(Ee zzyJcL1j_*r56arX3L3u*Y2!7ZY4+V1}@pCu9wl?TsLC<@bQ zNov1yxu=icY&%ZG^M|qbHthMOnhb|uX=Xwt$5kg~9^Q2hK8G<#Cl!$HFnXZ>-Au-9 zH!ckVi0RJPtIpSwkV-$2(L1s7h*O|JCF*&PFkab-7W8+MQmtx!AFPfJ4B!cqKRoi;3=WQI>BX2`nlZpW8fsR$yw-NjL0a zb;$~p?Bj`^K&_?Ru-7E;Uy)8Clz3h~zt2hF(@M)Cq3<_V<+~F;36*$rcXhm}AE2ex zAgObfpxRo#S{`Q0iQbEjKiWKZ?u5YFW4w}#rAKi{U{40)u0*Y$idRD*lE~#9d^69$ za1l8kL7(0sD3h>mj@F5o5_nK_&kO<0^3}V+8Ts z?hOR8THhHriV8Z@JvndmS($HRL5WMg8ptjN3KC~$=F2+v-~y{ihVB=6HedYlG_&uy zDAwqx_y&vl@0%Z)2+?+%VoS?q8f3cZQZedv?!n>mP~8FgqK?dn!XH)4JWoNjDY>P* zYT1+1JB?7eFAsg@YgixV{9(q<4`n{neT~7a4Ec`e-ls;3URx*-iEL>R$@`_mqETbm z>937}WuLXPtJ<|cQ=FHVXR2|QLY0O#MekzDL0j!%&R^_j@3&@~g0nM+{V zMT;cq^$$myp$?w?UGt>D=5w-LH?_4`g-SJ`Z!a=jl`o(MF%P{L(hLpYVt_zM-p3Ng zL8Py*X`2UpWAMu>DqW1{fLgQlGEA5W?=`{lmDK=vroMz zde6_@Y_w!!Ko6(Aac(^I6^<3q36b4TrhBo4It5s~E8iUP3RrI>C4&Xe@Ih4F-DhO! zsTZF>KP610*idgbgVKoUTop=#gt=&gM837`ejkWsIP{LXM=?SjSe*yALOs_ASFs6Z zk*DXB7}vBsjy$QdiadtRN$Qt zCEH>4$Zo&RBaV~vD*jjSOwJ{9Xq-OY8)K`EHKoDm92KVMIg~{H6HPT2M;KJ;V`Gi_ z3DV_!clTNgxB88t;heSFF~J-ZbF?$^lmmQTE-1`leA=9npCdSU;XvG+bALy(c87kO zehMV=4QOE0S;_HD@L+S$s?sxSy^EcT^NTH)%7DN7N0EoO4rG8|bl%VGXnN*{0jUrP ziZ0jXOCYe{D=3Ian%y(2r=OE95#;xtZPcDb1QCOPfKaNL$Q3v(cwXeUISi3u-Rra- zFzQT+=KJ@JJpWvf3))~m6`p;ijC=|Uz3PeP`}i4VyHMD(Sbx3PzIMiSv$K}OAzeDZ zAfmbzhC=w=KW@#qE5fm$a`>!7N*?fSwo7S0Px!%YV`&M-RyD|Si|Tdyq@H6vq^y=V zskhVzJPEb2QzmdCHoslGZl#*a%vdj@c8SSw=kV#UgT$@Mh>n?|%-RK=eO>r^r`<%I zrB6LUP^Gm*koqh`=62cN>CZ2K$ml(G?$@5_FBe1a6k*S^QNN7EY3Ka2P=a>(K;b6QnrWM%z3Lt;>(AyoqO<`OCN1 zIazb~CpJ{a)2C@$=gbW`QK=df#6-8J*Cc_#J$d(d2*bC*5EdeqhiPP0SUTSV5I!yg z0xoVEcR5rMO^P|Ygef#d*4Rrd%yp$Vn>&-mH&h@GFFV6Iz6~e_Qv1D9>hJ>B*HA%<+2Yro`?+55?hT1f)wH+gdMYGP@l*HI z(i-i;<=p%-`?AMVUfwNy(Bm`bEc%`Z;y{!(Z-?=JE zWtMngEbN=!$8bPbd%8ukl0H?VO`c}Ga%?+UoK)ZW=;QTc8|BG+34J<0ug#BIKClh4 z?$c`hOxd{;-!MZVv@cFp_s#p>>KO9Y;e2dhqXTynlSeS04Gs^C!THZj48lytL5Az& zZ#_OOYldt8@-0JUQV3)n`P|S4!VR7fdDjj zSYe}latOBiD(ChZP zely5z7aX<6b>V&;G~0D?2vHICchhY7mi4+~iIiAJ-=#32fAjutQ-LrN#u)9Chw$ay zQ{AtY0hYH;PK>$kvO76#{4l!1^l3SB_H!_cK5K|1q5R2lQ?EhZOFAqKt@Grw7-ASu z%!#nUj)F&kvwzYP_;rZ1KEdBSSKlk7gX`p9#l0}QjkP`W{di@)|yHIyvvdB z5?quv{bF=C<6r^NVkF$;aF9RvweIuALXqSH@~X0;BFx#jxeQl!iMhUnK%1?ce}B)b z{|^~H#=s)h7by6ZBkoNSa5XmBObkk+`!SZ3$#&P{i$U$aJNBgE<^pGL|G*_#F%R{7 z1k(>K=)jeKEnLcR>CvN4kKVqK)`Y=+-a9o=I58h+MRZG>xfzG=30`=8_Csy!($A77 z)MU`R1q;s#H$Uh5y+D0%3E>y&N(m$-B{fI|YQlK>0AO&w^K9k;DWM*K_FYuPxQR*I zCv*sRt8ZyVYIlmB&1~ zvA!C?(3u8nCH-1WM0E0aL zq%J61$Ykklwb3GZ7k=9UV?k0&h@!P2vRZ6!?BeUBm?Wf<&0B`3eUaG;Uw!v}|KK^f z5nV6&vdbXb@uz1aq8DYm$XKTMX!9l?D+#n*dk=u8FJh3Xh}GXSfWn}lMKbeAp_#oZ zuj_U$wQV7@387q_R_MPRF)r6lDnkF{BFSrOYitrD)wQU~@V`+7?T-WSn}enTL2CAJ z*MuQBU}QB6>|_Y0?su^&zcg6*4^5Qpzzf^lZC_@W9#GnJcvOy#BJZZ!v$U1m7HnzfKQ&Ph3R(drM*sIT zUGLkRDrx>F->pY)ea-xWX}hP|3o<9F-h7+0cEe+^N#^DamZ^PL5j2TTWTP1*@n7-O z#>fmb8?GZBlQJ_nv<_yqgb{@lgjR-BSFXigc@zZ*A!_!uCU>{C@-hcLPOj9A=pB#mN$4h(|-@>)lw<(ET4?WOC@u)B#64~YZ<>xDM5U_g2IZYQGSnk zms0OxU$ZvkpwFaUMqc~8!6z^>Fft65^hpy}^S+92A$I$hI!Wia28$ovGi%pv4n-O% zsqs;M>L#AO{CcS9vQ6}t1$%$OO!0|nz`7U5rX*A4Vbk(|hXzolvtk!!Cc(XL#0}xf zU==JF)m=sa4rfNkpUfLR0l}Da`YBVQvNN;m=;O4$j?3{89=0Rp7LSEr!TD3!&Al4` z2J2sQfyvu(T3I^$m!>*9bACScrO~Xk-h1Q#-3_<7AH#bNPAt{bDqjoA3jm7dFC18G zQ_&s$gZ6urGBOnfTl%m3(&p*!4XeH*f+{it)^}!a9ni0wwY_GmoG@}Mn z^_+TZg%pHgwkbP5SBo6X3rBm!HMN(0R{do+>frJbP)@jZH2VULW8c~e&e=fcKw}uv zZDzAzb1A+vroIhZ^OB#mAc)=b{cTk_qAtf1bj>Mcf+5d*tR`Yn!M1k((Z;NZ-Fs(- zb$2qEFr*g(@x{6wy98}t&N1^txp{cIpZOncX6*_Vm1yOzjTFnfCB(amzd?PY&hENu zM$lsJQPa)N&SDUQVnqCDYcH3kQnp}}JG(nlY<$6=ds4$izw`rj_y0VLSHU4(6Yu-v z!!xRAML_|3#FG^_Zhx+fJJy&S9Lc=GF`wT&IdO!tYWE^c3&ZIA#Xys-8|U@sdu2nS z$d?jtPQ_8491SOJ7KMu9JVeoVV&8rV$4=2G+w?id`t}bT^&%PS#Esq z%?}=6Yhnq+5m5*vz}jM7f>qew9@ky;TffK=UN1jpKV1PJSSLhFY;0Tv>+JolMkfzS z;_a?ce87Y(^g=EG)zH|8{a!QGv?<2B%S+PyO;Q4;07>n0B+g?@EIDW{lhUuRnFca# z0X53p$3OUmh1HB-cBO<{0j~c47btC?gMYx%*r(Mb@5#!uj7|Zu8Ojoicho0Lm%?~~ z@|UN(`;J~4ibo2qt@%Uag}W7#d8*aczAd*K=<;%oy(GW3wieBw_TW*&r2{^J){~#oa%2h; z`m^*?FJp1Oms}9jrKYJyJ_YfpKs@-N}O?-?0G_sq~po9q= zp*A2J7jPXE-ZD???%q(1$j75os_fLE0=7aw>QKzBXn#tf%FSO)z5(@;I1279jqAXj zUB~;}ej`>s+a@2F?s7O< z+*HoftMhN|(m?3zklPG1r5f{&bd*1i9jfYVoYh{Rf%5ox_5!RdA+m&q{@TI2qzmM~&PkW%WBYC1 z>3=_abTl`sf;SMawUFhk^R(k7Jon3n?!A-5RiW%}ShBDnbB|Z;Jlvu7U)--{@`E_= zUvQtOHqbi>X`6SxA!oToKou&sIh!ySjTHn8V0`mA=>|kb^1kw7v>{A#AJ-l+grMKm zB)kBdBd85hJ8i<4Pn^490fNDs)St#&Zf{{-Sxe17zjLXuj35eF>0Ni!p%$uwM4N?6 z({o9rNx)7>6~rY%HUJg*y(B%nvtRa;(|u83@ckh%m7^t>W*nz05w1;AJQ2Ozi{MQ? z=_e^+VVKWwagKacSTwxPd->varrr6$K=Db=R%$5D)OcHASpN?*0R|OA+heWbeCl~> zIigP?et*K3v)lwF`bY8v9h7)?er8a7fZ7c6eTkDQkcWx&05rP{H&c!+pOY!>`$Em2 zS4@gc?Ho9Jodv(TVu%9KM^ej>3qCUG9g+1uOa)s&WU&a$OO zj_1g)Mt+tmu+H)xNZqc=GkzM`XU*XVrXu@(Bh%|g&swoc5O(_4aH7IK2}HSAJ*}A^ z0KpZvkPx0bue1H3hLX7zbu_qL#H4!qHBMnp_}6PU`?{NUb)&%X@$nv^iNz$gx~lb| z{ue(@;$nU?F1@-e5h5d>W+e+1VNkKgkYj(0wvDUUr@zl(`k}L^uGjhkF`0J3?Lx2_ zbo(@$1tUn#b5I-TJ){D|2St+Z?#A*Pi5KfzYk`xfAd!zwN{9F8cjIZ9J>#p%`h^9| z?cS{g(Z-yw9Oa-65~O5=ZFAHICn^oGH*|=yhU$DSZR{$5>0+NLtkid=HTSr-<_ObNq-vKt#w2WgDdztkNckageN>J!_vQY3e@QEP$7nVXDfNfvfAVnYh`VviU zGw34+KBfyT3%U**2lPQvREttY5b!Vrf|>e`UNvZ6f3;VzS~`~n_#k-v`Vt2X&bf0! z&}!E&Y}~n1M?=OThVq>UkRwXb_M`Rp$!uf2g6zZdJ}~@)c>3)-^#(DtoSeHBlFcZ` zgJbg~jWGo!F$osl12qe{)GE>5LSojJSCuxdah#VndQ0C-CN8H$%F;0jBr)aP+%)#) zxU{u0n?4PPOc3gFQedaN9bwjx-=FP&UAF+O#A&=bD&;|AE5};cux*Q&^TEGs|Qi zwGnO$a#L1Kpp)W{+v3fb>t$`aEr_BB*RB%fGr1|* zw0}Z5~Z=SrfNxg$p)oegY^ zIg^vmnuiDOwKy2r>Z|3)|Zc4;z+tn!a+DV57v8NI3sX8_Ifr{Ih65! zqtbAiQNmMpq7T+a#*EaRkPw9@prB&Ur^eiU{=hI~6568LU~S7MRIx!}R^=i1gEVA# zmS^#Nz)v&M#AE9H@281G6I^gM3n1%F!u!aFglu;om`z1&Dw`fa1R24xSb z@?CnbXSNA`?d-bqf7?~?IZA~y=QTreyc=`^gOT}SvK2l0kWf{;ddA`>%lPNS#;1*S zE$xJUPdHj1-%qbUlPVA55%c7|QMrphC zR(%;b{WEGMPrCqHb$}FC;S1*+MT#wEZooJis98e|ie%Ll#wQ{1pZ$(!J?#H$kp5u6 z02uOywY=`cvBYt88-xwY+ng(*wD7x6c{EC5>Jt?62znY)rPe3uIqDV+v7z6_ZJ>yj zlA=K9BUh6#JRb@p9{+`v9+Hx=W`yg--QR1&+cKGs=%c^}9fPgMLOmE2`t`Mrrr^*blzLx?X_pcTqrWfcj=mS6&8F7m1_h;Y(T@$nAi(R7 z`B$Yx@+GF-1;!Cc%nsk%Z&6=5S@Ksq+_#ucl4Z&|xe&f{0zc zX2S!PNHoB(1Km?}Y=5GQG654S6xCCX7)7C|iwOn!UOak-lB27&c3xNy4_T>v88oe1 z*XCtgVI6vgMw4!G8oZJAnK*D8*(Q)DuvE@Porg$|NNc56u;KkSDz*!?pb(_q*olHs zO0$4xYbi;UhobYXeubM}_ITJ`rg6NDmuo!`xQoA@AtR zR+3*iOd41^n*XToYlmlcJ}n1rr|u=2;@J@j#Qn0-cci;4)N3~w#t(gYqVv*VnS3Mn zx>gq6CA##IPh(q5?xyb^i+L)|o%*Kdfk{{9=2X03nLyvJxhwSn(Vs5J)zy`?i%U%A zKSo=JHR!FGMgTWreS^35UC9bj`widm&j(REHl9yBB^iS8BLyEAddqu9p6MDWQ>S$w z{FU$Jybe}Kr~!&`7uyz{YLe^i=J%z!L{c2 zV5kQ4`Qck6!*dm&Mf@STu|6qGset94UknfT*qeGB8ukAaaTWc^S*M*F==aCxR7a8$ z602*9(V1z6ZwJP&CjFbaTB4r_3Z)1s090rvYMhE}g?{CD%)JQn0W?QZAp?qaDm$kJ5)0AxUn9@p zPvvEULf>DI+IT7*VVb{pnc>Le2^E9fl&28M>&a%Jzn9=Fm1u52U)J)qju>B_O?Y6+ ztdPd3sRHdJon5B%)+3BguTETCG8%%-DqfdnWLL@(35==o(7%`JWw7SvZ!@<&j*J?HQ)WzMOb@-9ZiZHFhaw&r?Hw*?&v z$N>}dg7s_QH(`*2i}?6BhF3T6sa!reYTTPIrW*ak31;GS{M9aB>+ct+Ii62Ccm_1p za1?LNjBZCZ!KAgDuzmFaX9*spsrQ7SxGc<#y_5POwDhcF%ih> z{>UdU=t+%cAQq0PZm#|j5k@_Lj_F-5IF?R=Md#-$Xp7Sm(mixbRMEbP{vU8j)t7X) zQgk#V)oJpaq@q+zOrp0Nd*v-1s5YL#x%+35=Q%+%(+`p4sBT<{c=U@MI5W#pdbn6> z_MFMr5q%ANSp);UNxeB0b;phDoXmrRTmA0o?xjlwKw;AGR6iBz=j8NB7Ghgy`y+W` z13Wn!EcY(ey(#ELZfiv-0~uCe{;Cgunci3?I6bKY((9Niiw%-El+aj>DHu!q_>trQ ze6WlBIEU$%|4^2K`Sa%?85QK-Qdw#@4N<58k4&X1ximYT$-TZQN`C?(kaBT-`BZEe z^)&j|R1zQU&ngKCS#^Xc;}Z@yEHJ~PothT-Poa}~*1E~>C#+SMt| zNKIa>8+ljv7jAfDCUUhXv3y<36hl#-c`P+fD(Bu7+u>9A$eA0}+bR;3#b-L+2|-&I zcwz%c3nYcbH_h%^H8CP2)9D$dc2o%EPTOSWJrLT^ypX0rkGFPJPA5!MaWs`%PmrTc zMEZSVsjUMe{{iX|wCjkxl_3!^#Nrj$Qb_REbp~U$-H;^m$SzepVGN@yqES3dKx?n! z`Nb^Ux{rP=apD0dxr9~+x{Q@lLZ0`->Q3W4`s5+d-DqoDEcNJbgG{X^6< zD2Ka+5)bbyg74Me(8z>UV&)z|mTV2gaS&Ml?hdIbWJyIni}djEPUX0xm|N_do*ax! zc>m$yK2TH)px2{rAqOSDCu{k$ZUzvE05kc?V}5N|)DuudH8-`Kkh5kKJS=KGl1UfndlCo>4PONyMCma&Ku(_A`P;S;)Nrv>bR{_jyG9SIkB^9C~Lq z>rhyPjX1Qc1VRL)V*)P?Fnunf$kvJ5=7a5{8K&tS68(>2dY zx!@Y?6)_dlQsnzh+#O!k-}U9BFrcEju4*Qpi)uHhf-1BUc%bMLWnW612+Oo!LLXj} zzs=E)=?i<-i$VhAE~y6CGWQ^pMxF zWm7mw?G_pxIhP>~zO*|Vp9^+9UTaZTI|k6Dey!@6H-MBI5&StQTAzJ}`2LiXlVUJP zLEC{TsE+BEalW@4BkBpYA##^H(%Li6T8I}pS5-H_#1VI(ouc{l1$BzPghP_3+Ew~@ z#a#V&|5eC<=2#-3s`SU%*Y|DEGlq$8J5xFb0_FkO%Ga5NHY8?z4D$$E3fP86E@CnD zkHX#Wt4|!d_E_Tlz8c!HNY&Mhx6a7~cGNS+Vpahn>0S-PjBdB$pyj_eGVvqXI`GIOc{F3~E-MSxR1~T^2Vnv`p7Xj#-DBa>a!uZ2|Oqz)+vsBDwS1Qs65c8M;8fAWxXsGN#u_mY1^V|lJj`1S8fwh?RVw8j<@n^r;((Ey@< zh?}|tQXuydD*Yo=L2sH~AF5>nPzEhN@NuJ>9(rqn!Ozkw5qUtED^6lYfei$*fzAX( z`}>0g;Na3!Sa_|aAWj4)FS3<$v9Bu~RkdG)ECnNjR5n z+JVAeCVZN1MPPn^@p^pU@!tJ$bi>&DxXGz#Ha_MT?V2DO6E^>Xbc{F5<~YyVU>Y$t__6VJq&{ z{dh=JHgFDV>l=zEC|N+rAktg3EqJ8$&MuE36H;4u<4|jY-fFe%4?5O9%lKp(wHzNu zXAGIqxEmyZ#hwbjCQ2{;8Mn$<3_rIWkwawtUOnC`Q;-=Ap(#fWmc=aL3rl)W3{Fx` zpTp^ZP4N1)rw9(FE+vo*p8F(xedA;DA~D4`cs^&IvH|c>4--~DttU@#FerJVIskkr z8wK}VQMJcD#F5qljlZ7AIMLt^%`4|0efYYOF}~=A^zMK5ljp?Iy*}HAd_z6xYy^F2 zY3G)S`$6tr>{4r!L^dN4V|gFhadu{;c}D>K*o-InqHq|mme;)#hTZ2^p?2abz;gGj zTv4y;*S!LZFFwJXkB^nK0n4`N%vMq9lS4s4={4vW;>${=Seh+a?Q~)ax4a|%m*MM# zKt6;{LUcRG#|sN%gL1s+CW_$PfNPEZDl3FNBp8l9a(AolRVnFUXh~};+_&jW9 z73#(o#d4A4kx}ri|8)`|*I#f4QDgyX$Rz_qgUn*s{`|u7y-dF>wPMl_FD#P25vwMYDd#xe!qTfPMR2d7o_8ZVI z=PvUr`c(-Ir64=IOKChaSejp2TN-%6GG3USW{x^kJr!Z!dr5Kec>jhd)GsGF)|G|C zsI9|#Bl(kMZii%LsW416ttK+gOIZiqs_B~_RtT*V0uDfPwZ>N>MUM;ZP<&|obS@7j zA4@tk6d`cj2-Zu`66S!i=<5Ntg8@87bDHs8dSEfHfeT>nL1!)?CUkPyjaH&^NK*8e z?8kUjoP#-wd%k`9PpHk&OHEBi@mlNh#{{G=apkDAbOX)1Pd+RpYH7Fn(v;nQd5^}% zQ;sC^6k$`k3=0^m2`eF>nY_P4Phr#&8W$JLTNOo+l!Xd8>Ds4 z=pI7G)btDv4w|#u8W5;L`Qetfy0qu3cB-CVo^xw+Pdy;#)rBOySt+KTwX|Mca)x<_ zgkP=`3;)e6RA`?Vvhm~xBrZpdQ@zxw=-9vq1>!N!wg_hBAhqOEg>PRxBl|7SsiW=DI+Yhj%&c8MGb zG^YralW)QUkj_fHist{nR_x`4zaRHX$s-TxR&AO3a}`dXTBB4Xz^{`+Gq3bYdwY{K zWhug{-Uw*kI)sud)XdA`D6bwmU(sy#h&LVtgFce&$FCA^qunPh-Su7Z2N5Mgs#Xh~ z6N`{UuH`^-zOo@dQeiPUf{E)LCZJC_6!>Z*0B_~x)s==;`u?%EoTa}~G=@tXofs(j zymL%v=z?msoD_j}+yNo#Y4khSJ!WLuGQ3UyZIyw6HrJ-sTFH4N<$r>nACbyFH)PB* z*EsQvWLg+v9nR98Z!d!X)l49_@C9#F07uT~84}RbN+AkcG)2B8Ij&~p=Cp1s-rt9^ zJ^_spQ`j$8{bAt3($W79?Sn(nUndtJfvH{l_2qrU%?Lvee`g}RYZvVh>e@eCkN+zD z;{hN!y|40(RiBD+*IEjO@3|@L9G>MmjgfB(Vi|;rUiAykGaMyah{EU}vlTj|H47j7AfC51V9^!tRm;(twzSUg0&d*sT$r|A%?-Qoac~1N$k=Mt$=Uhi zGFV)F_;k8zpO|8rGOJWgO%qbEJOljoDTA3NLa}8;)w4``Ju0(&2UwCYgB>X1;$&<& zIB+;f2;ir~_*b)SGw%TFLT~Mvp~KqfeCj7X5r)2ToAxLs+P-SaS|z5ayrnE=ztNN4 z*FB&j`PH7JZ3zq)kU6-3&mad+>V5>SK)`}ygFptYG&h{Dx2{ZYZz1sGMjK)KvB~6Y zwizS&_n5#sot?ypl4Y&hbC-#&=nFY{>*9}hV>zqfrj?M`r#CO*iUWc6uTYm?fvbC_ z^iSta)^6Cpj!lrnhv6$`VfkIouPiYc0Dj1c1rP_dQeq{uE_8{I!t^#qSgHZ1aLS}M zho?K4f>XJ%P-N&+t^q-`3a@9 z)0$L%R_WfFO>>nZk$+$3J+|1f0XxuJpguEX+GzNtgg3Zhm>Vee)oA&ttiboXtLFQ1 z8A}^sui@KDg+zu2o)6U|Lh%7WOH9z& z(oX7!_ES#ZjyZO?KeBx)EG5@}6w;F}-YsgLV)XmoO{W*Bs37RYU?Hk+?<;v6A z{Rm_BzAub0K?->|FOd{xJGB?xYo+qg22|}-_hPW=c^L8E`jK<%`NGtL!4Ed{tX8|n z5P8FRhoGdyzNugH%x&nmX`dO2j2$;aK!yp-c3CIzoqf2n3UGn^SCxhLtu4kyRo!mE zFQ!;3D!#c|+`0s(JL~syeinQhe_sQ*68A={I0uL~9@4g`+wKjppv5n~m<*zxv6eCf z5y`)|^w2-XL2O5M7%p!OO`z$)brOqYmn) zM5K^=jWL3Q~9+6hu)!jIhh_=Wv$1bgZ~_ZTq4;jK#5 zv<~Ulcy__|(Q99O+3OqjEkyNKaAfnJAw5M+D3w z94GJkO!c^1SUlgwUi2XZVpePSlRq9r;GwxrS1 zaaI}4{7{XsQzg<>$RtcanMnvlqNc^O@~}}_(6$Y}xHm3ZcK`orekkP)qxYHWkl;4f z&ohXFE>*YojqIj&BK=xfRy-qYKZ-Yq&wkNYWHmWaA3OXt^@H-b|4n`O7~%29*6Ndq z{E>4!@H23hlk`LcOJ4jLWrg@rm345B5j%SlQQ4ai;!U)?D&3XVTa+Ina0!(?glWkY zip`}@`7oy9={tgcb@?&tz4Jx}W3E-g+|H2E?ncKkSh%UD7-}@;PRKTqUMW_MQPxIL zPWH@)(|F#)MQlCM3vvC@?;l!mf=9Jks_94T*lE6=E8;GktILDB+W0O~b2Bh6Imv)T z8xjwd2^@oWaffvqX1KNFVP``-wZccwsrq!f)}PkYZD(sxW>(5vNvppgOV}C$)+``~ zC$}z>YhK{8B$<6OWjF+DZ|j`_OdOv9P|&}292fB38bePFdxpFGM;Uq!Fs}H2!B@e< zLgI+Hf;F+%Iy{>pm*lo|u=%VuBdS~-d5F1DtZvj281;fibQ?5m!{}E% z%Cbn^*xbBBO|J8EBFyjyFLsPbHiP7UTX!dof4sE|?oPQQJZrj(Tw&z_m64=4Fy@;T z=Rq=Q+mhIz!WNbd+vC|D3t}1(Fc|wlXZ#@MsR)UbK=N?!u5M|5c{z#y^tQ->By$Hw zhc;4Ag&jyM`GclynTpFFq-{Es;B0JIpoNqc_B7jk|6Ho3egXI31)M(NNd>Xo4Ee>? zT-hZr2JlhoF8X&^By9~g_kNlEC!zu3d>JU*Jv2Lgxh_7KTp#5}x4~~J3@wS8(amXG z66vPtaCOM=<%hmL*VwzUbuHb5&CSgeQ7=TU;EXIs3>CQC*KI|D_E_<<$Xndfd_are zGB&urY?x}|?%eh}iej6pA6@fD;anOhPNw;(D~Hg|$I8zN0qdeVFT!sJwv`18O-ad-YMm9U zdkXrG9(XLTwX}DrPxEOjkh#7m$!@Ui-UN#?peND1o2^bc}uSP2A#INf|ppPP@;MI8p8`uHoVbqtEUhL=`QPJ4YJKNBh3)}N#GqRY zA-EAKGk~nEF4p);**~3~@j~LgIG^+!e*z6t-vdsm7`DDX__|`u8l#BvF3%!yf&pcT z=Dqn!x7F2MRRZSUegnc~c0;VK&#(Y-9+%|=MDYPg=U)QHXC+TzA1A(-P^>!QNGaoj zQ&ao?eoqKgVmp4publjq;RnqUnb8y+Mac{w@}Jl<^0T0C8GQ`%oopC*ocKkLNoY$2 z5oal?(M7&<(5P81QBF%W!-@DeI&{pkc|dYS3bf*6P_3hO)~U?HyI)SxreKa*J-V+8 za{#z9)FMxbYM0&#+mP(8zC0|EWUYV>jd(tFzO}s&}K zV7Y9tr?ovjpfe<8;cMzu23;K^w@h|cuVw$WU@462YcJa`O3FYp>rB;i=(v7YWYyLa zWxC5Fb(luLWmErP$Z2-o)knRN$$XDUAmAq-tTB@PtUB1!bZbl;R0%9B~YUUYD8;DvyeP28x z&&ZnpwL3^AA;3=kh)`w33Or(;vZV7SR6${2aCK+@urdZ6ovNofnhR7!U(Cb?T^Gtv zsQ3*HouFn@d2oWCY1G7`;kH-UuQ(C5@5aSV4`TpIiJ?}d^5X_Z!>?p@VOC_T%Ubz~ z59`n;)r75|aPdjHcFM={qN29RNuU0619M6>qz#xIRB1#c3NqZ@z4cE%YDXNicm!yF zA~#IP`BTExQxyWhC22+pZRD1%J-dav^+LH>E`_|5*!`4BPF0oHlY`U40pz~x0-q)ooKpqI zO4!O{{uD@#ey(rV7fsu|#0_&SGYbI`sxsDS>Gr(X6(6{8xQaV2`HT$UmmhV-Dq{8P zZ%mey2ov5C4Cd`CZx6u>QM>4oH}y&ILhD^sIsr!l(hLu*l@ulb0R7JtE%bmE_|su= zAU9*H%C{Yo$V&dX_QTs3dE7J@KK_t@!6J{SS;yBN5HPZGZ*8qDAu#?H?>}a*1RN{0 z8*?=Am(t*K^821AxF48hODmY_kwx9dcsEdV?1;1Ji*5NWm(KQ1?22>ZlmJwhS>pP& zbTcfM`GuuVSG~pOZP%GnL(Tqj-O@|K1i|mC!W)>Tot74fotOTB6ef^M8E;>LGt2g# zq7(MGR=lYjl67gb0o*@UA{p>P2(0@6n^F_|o_mCtj*tke)3eH?b$dbc-sCYn?Vit_ zuwn)VhD_=Gk}%smp)*F-m$t-mwfT;$gZZg7A0M%G1Zgj*yu<{h(*#K&s@TUgWu@5< zAh_G?jy2XS4dcX8ATN2J8QmSZ#J^z8k~d~#3741B>J|@QhjvJVUt^2orUUlUlbHTh zMQW;mP*v!;bo1sq^s=Nj&|5#kdjNqMZyou9p_(o~Na^hr!7u)9SLe*nbhXXQ(#CFy zCTYf1C=_}sC;w1OTlx|*p=)1zsM$>aSmO~?)0d9zR*59H*7%{nj6jN8Ntj}d7NxwH z+=htf#U^rL$cSkJ%0jh1hx503@rl#`4_7W`HgO`}k>ToS3U5|c#D%%PjQdZ~`-4;J-W|NZ ziraFzedxm2iNUkTiIsahyY;33VbO_ch6n#OU6S^_u{inp^N>CzMx%7*F>!f`GgqHo z-Bl~lTMl3j(`B9b-a0FD@znMX;n))jXg%-IRO;q-+Vjm?t$STzwb$gfT}2ZNSBsg( z`D+q$i#+hs!$V>*OkpYXdrB>EZhk(z^;cPe zrSa;a)R!;Df6(87CXDZO$Kltd;jp{ELTrP7#(Ut3=Wl(R6HtGvEp)lL31m!7eig}u zMUS)PaLHdwOd*5P>q&DBSQg+mDqgewpueS@R`1CM{j8kCO3sgd&DpVmKUhp}$6~91 zy0%bq12cMibyV}9CS=Uu4NuoKQ6Tm2M;0oQ>CsFROn2K^i8Qc;j03WrZS4<`SZdbP zy(u5!kq1AY4lINuN2Dww-{+*O_1KD0c_60X2t)CIEsEkiVhUQPdt?W$LA&VTy;a2NzFW87RXAy?C=|59c3^4@`2VwN! zQ`%3qrVnozK<6CGtWtZ3<7`O>%iQQF{#~^hb93`=mlE>w_&`?)ufp|SI;6FmFjt4g zD#u5_(g3-pg`#Wx75(;4)D%lW5}1hX{EeIzNB|JKkn&2jx0&TiGwb4=a9)@d+axAn z}-fBgeXhki|cg zx2($hHnSZeOJtsuacltf9Kkc7`To@|^a>->mW$E2Vsqms`;LkAqgD?ZcIuh%=#AP;qB%Kc|u;I+%_~&$8d# zTeiVB!vTG+k;*Bn4m(TmHv*;&e(?Y@U$U7hQr@f3j%3H{U(j$D3$`bCkcw}e;@Nw-n7@`Ere{<59ZO=sjZzasah)-Nxa!QX*M{dM4?3^Eq z04h}=?`;l{P2oM1B6DRY&*ZXNbPG$^2O92=$xpL=w}wTIBmr4Ri_%-oTR|ZKA4|ma zG|eL5>;XW>=-9ZmQNA)c(FmNi3uyH@<9#+T0VzlQFDQ@5jx~kdG~QlIb7wsoYW#p& zf@1eeQuK4c^9_`yh`HaulXHLa3E$JE1?&|7vtmpp$S<&Ro3~-zE(SNBVBG#!Q6`*9 zrnlm@)p=ywHYjHRe^>Bj3M@W`7ngD{Guw<9X0x*~MVwlI-HkW8-LEBII&o}7UAg?_ zw(1Ye!8v_ylT38MFv?T6wfM~pv^ep~%ewz9ur<+Hwk1e9fpEio#do<7d%h}!C!zH|?aD7SQLJSEx>!!<7Jba=O^L`G)pH?LIH~gqsm2Om-d`#=de`lKsP#i;$?)a286=4vLPYJnv4Qnqr6n$B-gjNZd`pSwedLK)J8Ep10k@2Kod1ksrO6O9?{ z5>xQKikbE|canAFRZstX+bk41MiOcpMDG!@9q*f*?b(GG|K03#m(AjY@8{vY)EG3Q z)aagHu1EJ*6j3}~O&I=Cj}!S31S~bdzGhr(%%^-+S(b7OW`EJtKA|5Ddbv*yn? z-@1A!1!d5>ObHQjAS0vwDlM>!hHEJ)A}SOHSwW2ycnKU$&kokr&O=1rc!Y-Lu<+Qa z&@P^eZ2=9dE*yNKRM$|f{3iiA*Ipqh(etw1po#a|mXYb>iK}G?#~JxPP8w9H(l5Qi z{?1;;QqkGj*$pR;!;!7QgTS&ioYy+SLQCxV74xPXGf(JKbW{`n9g*<=y4UjI{VL6d zZ`HGM6p_X1Kj41&Hxt}9LU3;rU0wX1v+P4*T*$Nf$ml=$`xU&OEsY@o0g?gT8XP_> zQp?e6)05ki(*Dwm@1mvWK*FV$mcZ*7(fNdehE!%-tbFwRw$MN*h4WCnP*Uwyu8)9G z<8EzfWruo=79rHhX;Q?KV0bC1kkdZ-_9Y93Jg+>r$QN)!Klg@-=wFI-VLEvHH1ddu z38?QCZxnjr&*<@@u~unjSni3y%Rx$K^V{l%-2fo_Gw4OVJ*QNKEq3ma3m#`_CpBwq zLMK4S06gD^Vb1(nL+c`Q$0yS4ny9FY5aAv0&(G4JJA@S6;hbP(Ysq6=px~|Z21f?5 zXJ%*nY;cGWKG)B+A6a@!pt_0Hwfmn)9!{yf9|sk8a~j{e2>vv6zPR-}t^O}(@JsjQ zzDE=V0Z#b!d3MNGjit8)U*>MYpQ}I_9yRq)j@!40Jf?x(VPP?}Kjc$_aRYs=pzhmJlsF~sQ*KuE z2h3MH9ztFfI4LGQiSY@W$}#QRrfzQJzW)9OfV@pCb#czvogi9ZI{*)a-6+d6p?WM& zcd+6Y^?BVIZA*G9_3_i6oEq%pXB;cN8L_h3+5lxWCC^(mdm3g(W6Tu4mWOghnCM0| z#b@pSRW@W++%nbazj~KO+4Ivoi{{51DRGIg+FNWu?jJB%uRZ8`|NJ^FmCx}j_$MCH z$bkz)76Rl8NQ`KfmUP4K?ok(g>erx*g^iar9NXTm20pt&4< zI^8$xF1S-Hnsiyyav-SCH?O`O@-~IVYe1V`;~2Uz^wM~vCtGVM{#nz+n-hYIsa+qK z$oD@NGV)bD0(vlR3%XSAke-U`F4xZcp4Vj9fRPHspelF9>D{Ht@wEz5D6!ZGpGQ~V zNfGCE6oCa)8!Fw$VlSMtmQ5T#Er(LJk9D!%XtN?{iR(wGa3a-NO_y3`ju?+0Nb z&_7jm-`J?dRkgPpaQHv}ac@HzliFIyDAznRkJQnjY3y52xKXo2y1TDq zu}u?@HoJ_tt;%{QOK`#EIEB6@b>-Bn*_Jka_R(lYiWhEsA0S1zbypsSUN3kVnHxt& z4Md6ljZgu*9pdU^SsXNFRV48jO>$Az5 zlZL+mvf&Y%BtJ-b=URZuZt1JH>y+Fx8r>E0yEsaTGZPlYAoTaLGDr+X4)BHc*EwTW z843T4s_vzy69A&vH=o+N3p*^51@orvU)nQ2$q6Z4>wT%1Z7|0)WT!dPBWYj;QV#o% zy{GS6ONsH5dm57{sBo(bJ%3fhO}!MXaKz3RN5-Hye&Vv_9_%zsd6$DS!?tuF!$%Mq zcFt>Rni<%y7CVU067_udHsf7pRm*eejfva4iJeljLn6d>#Nny>MC+~D!Qri`GHcf{ z(SVvUEH_(7kUIM_GP$3F@xXD!G&os8M1jN+*4$Baf|!s*vFtuRJq29tVbWv9;I!^7 z%U!n6UNGoFq4v5dzE9`lA-qXT)Th_YL~_N@AM2j}!G8BVEI$m`LKzZ+;-36pd^dh; zK40|SNSKDh*zmCT?sPLmC?-&zsNV7OA(C@0WwZvIt74L>5UjtypVtJZPot0ErDX39 zxq_ImzZE2yZF#ymEuH`4kL(1Tqavfm8=C0Sp*t&zN27@lnsShb3%Q zhwsEc{XhX{VX+T}NLb$Mv&M^~X;U!1&hLBh)Y1g*S8^@yz475Ay(RA@$7roM<@(3( zx%HK)8AhzPWEhMr&u?l9t&|EGeZ7%OY=z8=o-2thDf@cKsD?S+stVlA>BE+5$FbV5 zFbF_jnao?dX5SC*mwA@O!ez+kX> z=RIz&W69TRC}vPAn7`;b3`TjqMpU#d9)3OUt}yu|jcW9q{|Vki|JkJwCyQrJJw*U1 z#R0THqE}$xjeampA%6}4#+_#twp^~>Pi9V^HrkQn?HYH7aV}=20Gnly-AhU(AwhKW z@X2QCo14Z9f)$+a7ltDojvEJmkn|7oLuq`m6N|71pk8B=%U&EkKJFMS2p; zo#VzFR*oVOT$gVI751&q@9xac_Z0B*O4J3Uz&#u*__W;@H3Am^JBkdJOp!4;mBDnfChb{BnZMkHa8idVv zJ#Hiz_DS$5VKkoV^SN&O;ppq*VHJmiy!BI==Z{p5cgxFd9ek;@dMGK#^nPPpU4;OG zo%_)LfhL}0IDR6&EAYuzU%nK-@7*M`%L7b-oGesSAWJA#_9BSxka_h;M5-NNiW(bX zr!@J6MH$Xd`Z9FhrRv!gMFElH)uI9uPjzjWH#a$M*EpW~EWgE^uiOUX{j4kk?vRI4 z!n0m?o|Ccs4U2EnW(G@Qv3>*0%MYb`p-OJ=D@D2UVY^H`9Bg|*ylmJ~moCrKQ}$5u zCQ&&dkN_`rY;|csv{@n^IB;87PU+Tm*mCef#{p{vo<$i>jcrMzcp>aNOh31z9G~ff zlqAb;^)Fd%UTg6HE0J}f{>xEnU6E2aGhhbV+yDXvfFHU-a_Sue=Bj(P3>1dYzkV^> ziOM{piQzenntV5k8!q=ZaFwqzx8RxMgmx4wWh{Fbb3XfTw;gtD#}go|*~K~G8od8^ z!`2fpbcgx1Yq}!;R-KMgVWmgEKYNp^Ge|5bBKc3TWADz6^3(Ew$39lxgkt#+@3vu~ z3A>AZH+u{@4i+dFvJGCw8F3;^MdQAj`SZXZk%^0wSjQXlHkC{ke~;PX^D+QQdT# zf?8iaAP5!c%GSqgUifJ?WA^Ibb34&jaHoR5s9;mqN^K!nhUL2hHe<4UbD+EsGGZi6 zoz0QOA}(T3$BY}-NY#9W1slQ?X65w2N%}7pNJj<__xi! z0dlN*>ljyhD^I%_J^K8gaqsl3)9)v^lTkWc4AV`j>mYwttM;!XRsf+dzfUpEbAH_W zaSVObXtZm3#`bV6Fg})%k-aHyPqxjQv9fH(=!9v;inr)rxGAto${xhO2G2+DCEm1Z z-LkNP{N*M^U0Or0gxA^1w2@Y%_gd+F zIKknXy9hY*nnGy#HyHO5b%H?w6SnIGa+hru%Es?y`TZTk%wI)BM=q}&l(}qVlkv3T zi;~z^#7EJ3YYzTz?O6Ty*=vR{O233};@t0Z6roHcy!#?AKNT`OQ@eJdxY@IlaV_SmOTtRI+(|k4GsyAB2J&KvK(~ieUP_9XLPe9V8q^q9GTG}j9kk+j zq5gw#r<4;Vdv^bG77B+UPj#+A`9)OMAWi>s%=r+7QQ5-^$a8DuG>kBxR6Oh!yQVKhmkt$lid! z(YPu}{aGa{Z(o5SLV29)$WWV-QD|JTvV9@ZLVxZ&79KB!2J8QrFAWN0W?NqwJet&= zs{vJs0d`D&ne}XKDyP|ZBKo!f!y2QKsLf&z2aaBK*eRK%_&I0Hx5Qbo%KVM_pq6ix z9c!+2ulaF5T>tACeR+9$|57|%v%_imsdf7ZqbaCd^*P-BeN-IqwC#;0xxvO_vkh9t zKrbYxEW3AqhPAEuTUuIDa$wdejlYE%Nqb2HnXGBoPmVf*FP;?+CTcvD7kH@kTI7;r z#&GrB8(aD%+n^EpCzn?rA77|BEH*M6K`fk|_>!uM5UnroT`Vcd!*xIGL;sfkya`#p zjz`A@;jA{-u;qAT>4rFdMHbtrW_Vu?-Bpc!c-uNy8}@pu_CZo$Fh%i-rTF*GT25a_ zte0>cNT6qX*j%~T4$=C$=TCB5oihTv)Z~60l$o2D-qYRffQQ?Nk~_mH;_G(+1&2u_ zBdhymYwXC4NP(#QzL1rBkB&mTH1r+KzRkJKKZgvFL^>EBtzbJ2 zqhM^ZQfUUSR6h;~gDeyy+uGZ0m|GT3%Tc~UQ)}k{S4u>{y17xb@`}>rwq~xc1Kms- zXr_h?!Z;OBrx8fE0eZkSv&ny}gE}s^eG!xf2)vLwN{7Fi@3P;g6rTE{n!qX$bB$1d z3eD+CzAFhGJdTr=o)k2hxk>FlxL-^;AQ-Nwe@nEV-k9w*fTi`um*0b}n<6$tAwqJu zFY;gk6GBz1ig_|{%UB%1#u^=1F%V*a z5>b!6CQjH&+ghlCkLz(8LW&(7$0pBNJ@+*+r=Bpm7H0q$QL_T3&6XG&PdlV!u$=hn z>GIn!=*)IEF#@`G6(rquppdEdEf{pf9#*VBty2(y^1Hje0t`%9Xba}<_pwyKbYXZy zl%MzNtlDT_m;b^^XJnEZBth_ZZF3O`n`BKufw>a5dM<5AEJoVr6GJXPV2K)99J$ov zzI`KY!C+{XTpj05Gf{0QDf=Qcd9gXI`{=|SUZ|I=B{@-X=7+#y4tvtv3vSD7CI+_>S=q>EPyN*&(M(D%{JWc)tK)&} z0JD>!9&`UdLZS#o6_D8G1a`v#R2rLCwx_Ni{nU z7xiAZ8xOg6$r!`OPZuobx?1+AB!XND!xPH1@@D3*0CopyxEqRXpC_P1s%xvh+>qB& zN2MbaKk4_~g+^DsXw5g=yIiEd3Hil{|@2%kvm6UR99OisR&I^Pwdiq1@A% z9hO;;vVR%R&b0RT3K$kqHbny*Gt$J>p#->QVE>okW=m@@BA78>Kc`q+o- zIh)wLiM$eNA1Q^_w^K?2#y@F^tMl=3%^EY!i4yq}%9I?l%c=_9Ps3HyaQM%cb&RRjW>dq*4yW(v)=Cu1Vqv6 zUxnmjM0!Sgdz7ZuLV+!1QvH*t&l8<-dact;ebXnUpEmYkKZy6oHuU|{ZIcU&CYK1OBK>PS35_vlJ!J+q7C_Es;iB?wbH3SpBt` z#cBI+M4rnnUepcypzinIW^TzG@B4JBCbS;ika5{7Abf7wP&6yL$J-I8ogu~m1@e8? zs=sLXyoD2is=wTXHp%~E=_?%R{=fejbLG9-Hdi-OQ`dAiGfX$b)Wz836*JvTPBVQm z)6J%HCWg6Ux~B8q-|PMPeg6RN>scor=bXpGP&(V0QuuvRp@uDTU1RIU;yT)X|2o|L^s1?$(#u=>9j2lpVdrqC;)$A&iPpO`nY}M! z?yrk?Yy1rEcW*m&%p+7vNZ*d^jG8~#Tzmhq@gaX0FHa!rO<>e75uq*Vo)rvZaUX_Z zc;oP+G-(U2cyc5EA%vaZPGt19Fob*4GRM!=oWz#|i7hM>r}4efr-3~naK5}oSsKgp zhTv@z2Xv4`ESZIM-Lt|lxKw)is{M69-Y597BAoT^_OE5W+A%LqRN>3p%JL(nqlrH> zmkxH3ai}t6CFIO6p@q=sV0xGh$CYtsj!4SoBOIQv`UUit^z9@3HanzBdDS8rRIZc0 z?-{_RhgG*H#jjMt*wrm|N(F)$P4G4oCYNR%8BT>)D9mXo`^2@o?=pRN3?!- z7%Y6Cd1HFJi5~3_L6M&F2hoWm7SKu7oV-SS}SUb0Gg7vQcoTjXiVR%Q~YnoOtJ{e zMP3t&p7wJ-zuIU%przeAzL8kL0t|ts(Mww|miG1KBSwxIa^D7hVu!HLa*>KJdClkb zrpI}J0TFSMsU@RdMwEOnFVolQcn zB-`5UKg*k&2FZ+HtgkWAx_QzCHHX=^MHOWA?~r)p7SZ8DH^Hv(i&GL^%*HNUp9G`0Wp7| zI>>0rAgTFd)ao%w4^yU-?$r6a)wKs+qc(QQ=);-3t`fEqvvK@Ukn#iQM@*j+cfF*t zc>>(##o8<=@3&I0LPIgGnC#c}i$V?|iP{yfxkc35OQ+Yk!jyzPU%HODc4(z#K^CleA1wf;Uft@*k;FSuD7j#e4upA&-yioLxr-%wJiiS z|8L9uWwJ~pT56Zo>U7)EZm&p{8aN=KXU{aJKO3!=*A(zgp7NU+JyHqAp?E%Pf<|KJ zm5n&*Bj}XithV?6B9=9q@Ndo^%Rw#)K`l`b-~By)=>~m(;OeztdAsE%zg(zibNS{b z-}8G0?fohGq8n#5deL#0y&U>E-ih(|#0yX!-guU@T<+Q%_j|Upl|jfOHL|**#?$3hf565b z$#zJJ_nP#)Oh)ZFQ=Q)vlQwChthW*`#mb;meu+i2-YC8oX~-v_ls_D560_z8`aY+D z$!9n?nQL)N0=Hi{`IWj3{AlafPFC`g3Um*L94JoCTg3>s?{LC%eAZFYQr&eM#|W*> zF!Aq}wrhKeRSai%!V-RO9=&5jJ@2dkb9LJ7E0c?;v42b1H~7r}v~QjI^Dbm!Xr|_~R&UUcYK` zYGO(bM~QH=#`s@mv5Kj#OD^Zz!=O>k3AmV1K||uXxFBZj=U(;`+q;Hk#Jai)pg5M8 znb}f#&h*&Fpb}f_n)QSHyEf4R3)T3D$$>x7e=uC@r*#}^Gf?Z?&jUSVTbE&PAGjv3 z>|S3k-hQe0yS*aQoJa*nQrxlTz;%5_uJK3@_uCL~+t4VOAUNHd^<2ie7vp)!0*xRgqUzN3Nyk^6=P z(gDgHxEP+)fojo{{7-oNYCOU2N}rhKe(S3eBx3#9q5U_)^_IaR3P&U-g%)U8`Ld1Z zdcEG;Y&N&zmKPUcm6{qraq2E{@ljbc6lbI$glQW#-?@IylP7GckLSoR|xRwwbEjGe!vh zju4E8Ki8)eFHh*A(tb!4VD9DhHSinSrcgK5qL>->+98$`*;8ko7H#h#Pmuz#y?#;!Cx^}Rw=kMoSaE<)-&h(3|a?@izqp*aJ^)1<>mQGCXgG{6Y`0I%uj#7L& zP<1lQ%af1UJ1CIM@XA|yKlqN@`B=E2+qp&y71S&vi3{Q*{CAsmsz}C1iuj>X*+7Xl`Z3<2&8#jisI`%O(TUlQD;z`jQg12u!82bfzJZwNp~%c$R=bcR~mab@hx1A+N7AIp_p^-J}dOt>Me5 z;xPZt&f;h(ChYhDdVk_SXQg6t?(Xif2fg7$$8qifVRsTf`;P*4G%Q1lR1yw{ye@PQ zH+t`n{8#qgA4nbfCg97m)~@=aS1|W0cEo3AXWgTt#BzsLo}G>HuioDXlZJiW51Ivy{~H}xXcfFBMLhTYGr80QgL$P z;_~GMj_mx$59RH>JzGZDN2z-m_rQ6LHu7r~RSgD_$UpO{V6~tJuEmE~O4rY)zc!`` z5l;@BW<+_>C*M97caWc>|=R-_)k4FrM~u>Xj3R3)ig;f! z3X-@HN&-*J5$OP4nPN4gbNX!_A3h1Btza;?L*GSe8nhDxHGD~yLp!vNx|&J|!bPCB z5MY3gVAlE9uV1VgWKoK!A&xv&F>urRKtf-2(;q^as~!kyw-Twn8+LhjCwVuvau*jV z%Ub>!7)Cy9JCeRSeAh*5+xO*NbHn1*JWTRrk{{K1xdNI%OdY@{B#uH9%p=;p;7O9c zYpm@jO79Z4Yb3U2t5@ERXdRDtA<}sVw7lycSJpsb)|WAKEHES2VQwm-nUwo`D@;bc z`lCSvONqEAUdM)0gRC?UFR`WWE0j(H{=+D;UpfU3kJmj#nXu!W>T!QQHV#HkD-^ta zFJspiGoy87>P^xr93FiJi$KrP6#p$6;Lp6hv16T?y&!7nB#jw9Ph1GPxOh zRD|ikGL%)kK9=r8V=06wM z)iIPc(dA~WyNiPXp@U6#H8nwRsTpw?U;mX16qQ&kcXW<-tKpPrti`&0Q}X~?R8(}_ zI@d8y=%#OA(DOz5oU8euagmWlVZ{hpU7ZwxYU;W_sBLameE@m45-28lGRQ&-j!4PM z3e`ze)Cg$9pl?@~kAlR09a0tCtzHJ<%3K{W0ASCRMe{8ZW2nh`@~-PzYUz5~u;=&g z6PlKg%94OhqC90BU~cUojfkTdVejk9Ry6#3%8h>K}6G!Abn+Y?;zH&G8;{CQ$M zr97|Z{LN7sL%VBeqB+!X&qA}6o}u{dc__=LFonS@J6k=R>@ZvSJj`PiPzG!pm0RDy zR-L#KI=dW)S3X4LY&T50=2u{7DgS<(L9bV^*9Rcutn}8H3+=A32c2Ya*-jwaC1T$L z_+=BwmW)tA40!P>jh(?Wv4Q^gU)VVS|D7Tpze~GI2ZhR|wRbd(_pF|UJ)d%XelFz4 zMinwi3WXB$@d+!7!fr$Sw4zoO*O_62gaKm67>$@rd~htMw-?PD6BfU}WIz0b`ZtR4 zTbB%i*JCX2mO-U=YeC04-BIvF(8br$%UaLZGRFxF!BPJRnlD+7#5_M!UG3lJ zh2LU!C~Cib`+grV6~cVAE7ob_(PBjQk_m@pg!>x$eBG8}a_P4sa76siAiQfUQB~a< zKTljruD3~Kk`V%_BniV#$Fdvbsm5$CydBVPcDJE9-`20=a9Ci8CuH`&TKW5B$)i7xx*BG}$sLF#7$wkykVkNVpRoZ?^j4H%6KE59m>z0|LQ$fRkTAk&`DDy z*BOiMyiE)giSOcPNF7X%>vG0eyfb6|)WlF$T}gFHGSnU_S;}w94oTIPnYSxAcf|DV0kViEyyu28;r zP*nF|EI;CUJ@HaQQQk6|WanluV}tL3nbWkx-v~c~X#}Zph+)a! zUcHwAhgX7JbT!(LKGQVsW>fPB=$RG+vHbyev$g0Q9qh%w^j*Am!BiTpf>mK??)4ix zDpyD5+Z#XI&xUdj)0uzxc9RbkP@THB`PmB5_6SNy5%Fm7Bqr$W9uwr*waMJRP+5E% zsn|)f|>0kVfC6yKq|>} z5wKoEJc8)c=h2uKh$rU}4S{|gb@4y-jBW|q890$;q^Bf1s{+|!IA3DcJ3K7hI{!jw z)poHu#_}(pvLJII(FX;ukfBU(pVTuM-7{?NlN<}$We(f`Pa6J#7YxRX&aIIH0c*PU zfSLFz9QbQFXB*}_RwwWf8!J&^(d3;)!I5P5)bg?xzT()$8ckQm?PLGob-?QJ#wH{v zXlZH5GxT~y6K~#hAK3HzKVAiqVaG2w9U(BctOp#qKZY|!&UFIsejZQcp(W*9`%ie_8Ef993pN6DWFHUp93VR+w>c7Ymy`<5%b8Qrb&C((Aw)a#!K&asKIv zG9;d_?O1)A1hMK@=1kFleO-~$OlW{n8UHvjWLyjW2g;WzH4FXXoXzFY;fo)C674C7 z@v(Myaoe~#MR#Jue17TDI!kU}s(3CV18w=kss|CWCciC%i$6DdC{HFmdNL}vJQ zSjx)C(6CV*k43d*U5ov}~%a26?zel=_hIoL>_DDi?FK=iep?&VBP0dvq zw*kUpLPV>*4;IhgY}7!KV>Kq|zaA2*j&Io4O6`NjI@hrVGKCzVev)arHSH(rUrzTA zv>b!i`=cn13m}1mkysxI2sXRBgCn(B@jJ-eW5iSlx8{DFb~ZE!UtKv!gPWv}bX>*% zIVs!C@GA7uWBDuDvvG6_+S|?X%U^2_scb8~KapR?>Q)cDCN0oVTX+E`ajd)^pIcpn%D|88LTh~t83QLWPh z14SOu_-7PX7Jum=;CFL`Q+`rOS}VlrnZhNde&Za8#LE27tc1N1T+!Hn}7W$ zhj)HMnr!mgFZvCx-se4j{%+kDq!-IKrk?r#+fy;nn5&j92H#*C$MKVTwmv5Q)yuQ$ zfo)a1CgQ}v0qpqIRcjSEj=~S$>cYYYo}Qjo-Ubs#KYAjv-8;pZvOS28dhSTs6L7$8 zGjnq>SSk;Gcik^`C6U+u6MZ#aCE+>r)z;@2)Oo?yeBxxNoJ4DPlAX=^t8}E7p48vh z{;?OawwC5@HYshL!5OPuqk8zEm<0P~fUI%&JErS%R$N~4WzVUV>+3ErZ@cv7vL}RTF{lyEsrv_{67g+q1` zbRik3C>^Ca5iOl_u(wyaIFS(h>=M-cG9d%eD#fC}4w8dWh0m&bKTk)vC_!|;JX+Gh zNw$+{NjKxTws;1+aD)Ta+rcP#0UK=kqR$L5XDBACJAcOyBUx}i6_XGH)z^Q;$Cf_0 zcJT4x`ypdfMO9Oza(a|3iCZDB@~nRlYXLCm8I7)_015m04Y5x*FE4L#Kc^cJ5fQkj)>OxG0=S*GfX+fA{qmg-B6=!Z?Ejd-0WV@TOR+iH)OwzFv$ z!yXzG7g!5C74s!F1Ih!~fd6M&?5m+s=|k5e^o_$<%JPng{&qi6y`APy&F{L*PBMU% zxt1=Sf6jc(0vjF~ad~=ZgFfj0GdUys04j`;o?LWaH>+J{(9!;Q?_ij!!$jltaPTBz zXE1K0CcPWz^U5a+#Ap0ob2NC&=_MnFuS|y@Z#B`?ixVy&CNv-mfBOAO#Ui)}BA-eT z7_tE`{epXX6AO==+9T*G+ciSa&|FUhJ_!Z&ZoR~D-b!Vv<>Z!^eQR8i=BFy(FQ~ zle#6qUSAO@0x)AlL#$uC}iEIq{jAd;YgL zC&ahbhjY#v$8!Z{?_a7f8U_{6xyE*tn}t40w#_z~d*|xgLIxK`y3UZDfwo8n!8KVwrpRx%;loj>q+c`HB-TTPDUwaF)S>^M52A7P z9`Z%Fo#P#e+Qzy=5ID-SpRJ@MUN~GoC{h(mWm+cnf%_S8cybMEEMZ9mU5%-aP46NWE51%EJzdPOSVR#W)R_PGg^ zqyUtX_ebl+Ur@7(e=5a)EHgiesG=qeX9P)c+<4@!VS$jX87W_JZ%^Kq zlP7yjgywWGIct3Xe+gc&o}Mc?Mvf__@)o8g|)Y?iMd-wpaYy1Jh$VKC~Z5qleN z-)s0V5s##U#ypG`J|tA}%0)CPp*znh>11q+T=LjQo^5PyZOa7!zSIR-U2cEluPOU` zZjtDlx5)UB7XmT7{jMl4k3d}fNSXHcDcFrz%t5*St&%t{?cQZ*VdE3T${Tfy2``6< zXO~3p<3FXQcmMufk%9OqB_@-;Gq=faF@sD$I2EZ6mCjI*8SLkbkJBpCrCLOfUtHoE ztt^>wcm@XYCf>_r=k^8o^%vAl|Du|Q$63zijwxOvtC2UJXlm;4%n1d(l$1e)J4~8^ z&_IDR{Vzsr^3lG+iUGxK;*s_WenwzmAl(Jcg>N=wR&gWom-Mc&l#G6VJ9Mc1IQJ@;nC$`oP7ryn$a}o;qAmy4@5rs4^)H$CW8-5V zE$`N702?(;zp%7+gERnX@vHzD-{#86%pcJbQL<&LGH0sVmRg#QtT>*i*< z4|$VBTSaMK6vaeD!Ky=H9%yPsC}(=^bQQ$#IzBsj+UEUPl4azz!_O_gTHo*=;|YBV z5UGvh2!H_#@vkx??{K7^gVs~-t2BdM;M+6F%#T|Wc@R4cV%GN|7FxxLZ6xN{ zYwmsDp8Ld*(Eb)kEi4anx7C@`HIn`+BZ!2;9dqU&<8`G#Ai6qX(R+bG1f0lNd7fCw zH$(1O9U>x_Tmdq6UBKV8wzgi3g^8ip1&@A&6VXHlO-NmKd(WA3Fq0Fw`TF`UqDOs_ zXfOX<2ED(gv|hqj5SOZ#mZd$NO^35x4P6Gwn?uCJM5X2wv~DTub#(7B z-g5?_rJeet+Ue47Z-k3Ki+kbaUXMC>inRjnlvU=9Ov6#&k^d|21VC}+{bkz#^IW<~DBTL-4n=K40`UiRE z$^k%EO7#2ftNcqzF<$<1>HHYdaJ9~spr0u&;Q0FJm&vC>;4eqER!EvJbH5YP#ia~R}%-|XIyK)}GJ&(CZ>a<@SbB{IB5;xuczH1s>o z$cPs0NfDf3MbJ!@i5zk+9QD-x6o-XQV&p8Mj1mHIK1qfi-Gxf7)O3|JKd0?OnrF1h z*0@(8`W1`xW+sNF85J2DFG%9DnK^xyd{PUU)!O*Yn}1pjEiFO+2a=Vn&!n!c*^tGl z%D0^i^Ds$BWaBn9N{AX|Kl_=RnMM$iKtHwmiZtBYsX{p?temK=w(Wo_Ep5~ThVY!QyDw|>fbh?^~@>o&6VdiO@lQ&pLVoBR8ndLmtVbl_cj zg5G_Xw(t{AgSMV*34f;^$|h%(#8G)Vi?2+4NYeV zZ#@q5;X~_{@fGs3oMAud-gZl(Q;p|_5o0nHCM<&|$g(}GtdhpI_4{K6MG2q+g6dvD zAFOzawXq@xW9t`&JKQ3^^q})|l9K9*v@Sa?|7e{2fw!HGORQcjy3-^@vNi&dhVSuz z7!((Nyu-?g3(tvKPB5>h#;)8Vb3rfPzK_2+s3+t*p_r57Oe@!@Dy%69ZbpR!NBxUuYk4&)rz*@nwsnn-5-e zbaalYZ1s@3(5V^3N*1B~PU;S1&Ve0YTFQQP93j&Vv?f_w7o4A#Xr!;9b2@~pq*Te> z{jXLdR!{RV?IkM#r(?$>mgwXgbP9*g^RpH7MH9F)X%E@;hpd^5x3ObW1iA1k*j54x zTVk7gJaN0k$GItmFXU)OX6!c6(mt+)n ze0tK7^Mcr%`!5n5{GlbYZ3aG5}-d`?;tj;)5VH zdx<+9^$d1W>UE^;Xh^>SGqvR0*5B_`+QCKLO{Yx_RjEL-DI^8rb*%2}sQQs{PeNN)+{&vIfI2+_@xIzFh7qx`u`QxIjsmtM=x%6Nu70=%qJJTS zzA0FmnXz&`Dy$=e{)dvO!MT#~+_owb%yR>OVRYz+Ld{BX@v8Ts$y@WF>In{0k;vWlM8p2pW6yeb3-ZMHaVU zm)QkrtB>)5ac!rvN*OOXJ$UQf1v|Wr`fS(?Ovc6ry=e!u(p8x;#8) z4r4h-yDauc`nBNDg*VR5P51sF5J;(i^;rWXa9hCx=y%DXy_j1$zdU*nYQd7EBj7m~ zd%5t|n#L!qqrE=oF>3Ofnsu-EJMv_C__<`3RsB?#p=iLn&+HuY{~x*NB6mbqRIq2a zj*V$4XAP6Sr4x6_K{D98JYN`)?ow;51 z_Vxn8FvW9sFCiM6yTU?)kf-*{u3@e8R)xAs68orp0AKY8F6!u5E?7@iGqem8ITd8=G~07bTde=(K~XI-~#U0%g=#S{C}-EZBTQE(MKPpnwb zt|4At%TTp$tMCr33V39m($(ZyW^c#j<4I1FZ97)4k_urusFj=Ny4}37wxFIx14?2c z`?URc(cdDb`c_A0h^3TraAA@#t;rjYA2GtyMhrIsqx6kce|veCN7P>IUlspx7C-mL zfJO(DhtWN(kAR9FPYxlsE^Y*3>z#+1ATeaBQgLilb1!J+fWadxdS(Rp7m0LxCX_=~ z+teyb-TM+?IQ02je02>CYagFa+cMWfI?dSe|D}Ud1d~geXxFBW^J@3y*;@qqG*99I z6p6UsE9mUBP<-k$dHk&pH_+XGaS>4Oe7|#aJ9&%xi$HryJtz+mx$faP;o9#VuU)5j z7Zlu=tFRkbe+0Vyyi4uU&3zXpHP|E0`>!7H!Z=LEP%Q9W;MyvRlLa3v*hTI%pjhNE zky8R}k-yd@6D6BJ#%b4C9R-ekh`y6}$I3ZrU+kWQ1P#PfX1}p7Xt( zqP?&KAKZw!_f9TuytPTZY?5Q!@8EIut=fCX;KUnL_chIP5i)8@c6kf9^KL6l`r-+V2nC zzmyV9F{c20ipPH-oiuLk*LW%)M4#-;c+D*#|7WQ(!oq$DVDEe^;^z4I9f$oGQZkqkUVIASr-#S zl#3rv9Yu$KBnG2#c%br6WMxf}p7o516j~{pDu6$Q6H+mjw z`$Lu)cF$aj6F>dUuL|-KL0lg)tV>3E3mBd=S#n(Zye$ z0~KOt%UhHA-@m6>-d9!>B}eh;W_#dg;flf%PUq!W43WKzAu4=rlf z1bpM-zXA}?_Kbg{*ryn|b+|}zv$?K2mRcab{xuP4a#y_Qm!I(|;-EP^@l0-oxf6qJ zFAUMb&nq)(F2BI>ggCNJ>e=@mjIjPY&v_z3z>XWdTSxr( z!TG2Po=^^3j0n`}djR{@N*F{MKS2f!liMLCAqgo|!Z#@@|Ms}X_eSJ+)IsVe^#X1J zRK#IJ4+t(S{I#`3#lKAt{cK;{n8$@m|E9vnjo|v37*N>?zI3ELCfZm-@O&XFY$n=n zH3w>g;ltEsX?a9CDm;f@HTyqKRE}wCX?ot9D5cSWA~Fzdbz;CC0L?xEf}+~owv(_Y zcjX$4PVOJ8@xga8*o>Im?pT8iw&DX*+J~fI%ZFs=+-IE*4^e()0y8p$p9h*1tAtc6 zM`eD}^Vxu4pCl{FtQOw9uF_MbImS77)VlrcN>_ssW&?wT&Kybmv&KHN@Bt`YxLyTW zB4RYwW#P>*SR`U5Yf^iBXlP>tH6NTP363_=QhAQ6xndC9w_)EchUaCA>c&N1o+A;T z@4Nt5?djEYdM7S2;4hCzK;2+S$IA zOz{SKPTYgT;{+2^Vh%lGl@uTF&>J3eg|AF>p=C$UyF(WLtCuw&w(j9W2AVq0c~!WK zmVl@j6)$lZ?0?t-0&e7XZRro?P*k@Qq^Xv!|Cz5+^AS%O=6;YtnPUWj{sn8{D<>j^=w4xiL}yrl1_$yA-q-;-gFC{wxI zV#IAyHGR;sibCPjhZZsPeR<^WsLL{QJ)!{rAgER|v2_`ej58WYs2u#%%qX}pnK>Py z86jN#MA&Kc#~71wk2T%DDG1rYCTB7e>KPL@cnQ8>l;anw_v!|a+zJZHZ4W|qV*^~r zA^ZC-hwo6?F=4F#1+fHgit6h<=MZyaVk??27z+=qZ=#FyMuR2lxg@-;X)YA!E1fGc z);;d-n%6(%`J6CNwz=>uQx~IkJT&@WMP8?|N(2df&dDft+a3RWAY#>AlM<9o&nm%n z&#e)%hmpl#d7WCSOzZXE6)yPV54>UK!omv1Qd5-E2Zyd1nLYcnb(R3rve!&0-yqtG z-6d^E2}Dj81~sZcv_gMju(|qKcN`Tlj(b8hJ-UfUx7Vg_m4)&tKZS(g`NgnVggns= zrnzT~>2VIlOZ{}e&#HJV<_bbTMP2+z_X&vL86*n$f|wuLw8s6ryNaod;o0&ir!`jn z!H%TAY5Onhct&`Dt~p`=fO*hkt=w$CAfz%ohYtq2!rK2G+qlzsUXp`gLDz%)<(FTM z%#cD`^SsMBBtcCn4ODEOv{tt68R#Fq9=A2~G#cf=3oYUtg}_JoWnIm+M$cW9)(^s|Z8k{@{9HCqgR0wtfXT<;Or79SXc;LstY4>#( z{7`cyC+-5-bB2V1)dFjFkct!+&?!bU##bbml9G*6nf@wMvB&~V;c%s=v#BfL8b1)s zB;x2J)m-qf0z;V0vOy_ZX$qj|SzW)*&dgN1X=!hOuCF{T)NL^Q zcam4}`$0kCMj5qy4Sz<7t$%wGSTsJGapAuX;}2qSaCl_O3#LnD>iq8yC=_duNWB5p zj{{8%Z)otrwsYjdVDL*nErZOU%Bn(5#))LsMHAD^OOQ+4TV-vKLy95 zd$6CW7_S$Xx9E;?{PBClXN3o&-lUP#nK#9s;=JDudKmTiZQiiv2R9TM^n%e$;6{oy zLU#3S#z$17A~PVo_~S1MzgP0Rqb}63_|Wk6Ye_Qq=b;LxD3riow)xP2usU|gMHIaFtR zM#+!=>s<|Gm}huslO#4JsA(oP1<|!g0E%D*wo?H|Vadu~&nqRv66z0wek_mT0@Tq* zbbRVbp&un<4h>q0O(5rT>A)$yxRK~aISSenIp(g%MEqgIkB7@KZXSi$n9m8dvecr18mA2381VH`DwefBAR55JuEC!eOq29)WSe- zh#0OJt3y6cP?Yg1zofK+b&#w$==4hLxZL5@>r%m*{s8rc-0buiQEw1xEj)&}aLNmQ zA2+v$FDtK4XIB2jgVXK`uVf_*8mcQ9SeM-k}_|8zep)}+a`*LYtoau@=B^css)0z^AFf#7%(1N42M}3a;W)dx^SPfz;bdHV>$< z5Cr)m2Q*?vMm?gC4i-TcjGNACg4vF5U;BLA<(G5DHpu!J_9W}Ifv%vp@$N&VxKb7k ztoXAH*&XI?CX-$=Xg;BzE7PU^Nu=@?|9Icc%@aF&dm>;GR1A-}M^L;+8J>uhnW3VV z#>+c)yl8ps@Zg^H%8Jjeg8qw}l?gexFxf}&k@tJ2q&QS}4+$6JX+v>)>f_PxtVO~y z)2TLz(C8Wd=1tsCg@z3#n2YucRi;bXS3tD%JlZx?-wU4m6jw)`n#d1+ z14uR~!}U=w`)ugh3`Cp0!Np;t6qWfJ6uHpiAjsLdmqvfIZ-4s3@O>;5VI{U%okqvv zAFSWne;8{O22}nq4!n10l2LqEg6Uus96<_yXH+Qi^a#;oo>ioOXqEdZ6_5`Cq*31@ zqR5~YgCq(NwT_Q;PZbrcO8&ddaNG#$zo^6#;bN7i9GponZKF$oKv zMX7Av)5hh2iHYf8Uzl$_BleB7=dRUmJ?7wtn(T|4uFg7jZcr^i6$qp*3-M&oDy`+E zeW;uX6+J#J$Ez$Rs^Ouogac|&1Z5-|;5wsVwqoyb)F@i*>c6vDAc8@mfFGe2FI_}5 zI&q(F_~Hd(2>sl1&t)~EpFIPt@i$W^98J~_h#LgK7r)k@>1Op~;i%dKe)`Zb(pWsZ zp!835;xGY2DmlBsf=3u&i97Uzab?nBK`Y#ThanqzEs|hvnqIE=A%4Yn!() z*CSz3V0nu>FpsM?QJeSFkx#ygaenOkGtT?}C@*iS)Ny*4HVseqtLds|v?9|=JsW9i zS}vZj7%YsI$NhCVZj&1BA&W)l?TGg+725#v?cAG&&M!Kux(q8c<0Xau-;?&_eA0qTlU)l0QTx5Q zjQ%1Kj&E&Ta{NvpP`lu~eSp|l;6_Gpoc&RC{|;C3!6|U<#{T@CCFIC`F30giYSG!F z--rV($bmsOIpexP2{kddez)@gNmm?WguG4AcWeHq+-rwZ@Znr~f#~x*y6rYhFar@M z^uZRZze$*K61r(`o#Meyj0L#KLa38H_B?Z-$J%26*9!gVQ#zbs+@W-9doS#F^lZeJ z!CO0=9;=YDBbLtyb=^xL{x$b-*}x_T<>8ZeU3l{h()Ru`M(au2&rZHX zpWappKOR0hE&AUum}F?*hpsl3Oj6nfAYRf*1>&V>3DJQc;|fw-Vr3y>5n-6~vQvmM zqJ>IdAXH&APpYozQJR1w6uLE@Bcxp+3{nZB1JmIGs}M>8V*|4dBt5Gl(gHnYz$z96 z^RR`w<)$CD-?K42v2UP1$=8tBfyCDgh&FVeHSvFZ@oT{Zp8_{f%EH3pbr8MR0Im~o z2%pGby8iZy6o-`o$3X1FRO|5~xX3TE;=G@c79b#6HT|EHhU0>mS_N6s{A#Kn4^g&G zrj)D)C|UHC*zD2nRi%W>szY!i^8Rl0v(of1-TnHrT}|hTr#^Sf`r7Z!6R7~+{4uvA z4^OIkrsttW+51;FQK^_)iAkA3MR-HwH}MM6$m{;ue>(z1EsYJen&%kT*Hn@w6&$Va zVzvXVb-=|aRgTa;%>6+M02sWY4egVv`9%Gy*#3+O0;f~3I*(?kzJ5${=Pcnk2s#*NHr?9R25;hi*ou7SKc4B|R;*;^`g z2ajim&hvHucsjIX3h!HZ*vp;G->CRb8Vi_O97(TVzgp z*(Og+rzW&`&*jPo=pejk>S{`-J==x7pG@oH+oaIofBMw!M)LFV)FQ^P@HQo;K|>Z% zCdE?H^Q~CFN*0cb-P5Dsj`AT*P#At5TY1qRh7tfug#wl_Bhi^b?tXq*yBN6&*_HG- z3(Lz*R3bcoo!D_&L_a=ScKiQK&r8Zu>NvAqxN;jGV0s+=y?L`E6d-Wb#_xvT-qt(S z?F4-@jj_VIk&%`jheDLTDef4}!m@+ZQlFrsWlFj9F!wf=zVks0KB&m>!nX%FUJ z3gm*0;}*{Q`FQWE_8Sd%*ft$u3Fr;_lcD|#@rWFJa5UzFHY+hK&Rl)y_su4h;Q#nGvs9N;RleGRzn15GRu9p=*dxi~k+ciRU7lw3K zVGAb(%Y*+Q@)(YR1vZ-zo{{f&3$_y4V)PDPlB9ER1mej+ckumU)h^+AOrXT1!=D;`l5Ni_Wi(I?Sst8Lw9LlXeKX{>DcX ziqw@~9JZ9C`A$2lmdKxZzr@}?F)0ZfAoZO2=Nt5v(&V=ZE=UCn27~{CvSXCJzikaA z0V&Pbrf*FGIyJBOtI6@MPflI}L6QW=0>Xy_6w!5yINTQ(4J|6sofxAz<#6+FE=z3F zX%mnD{iRCF4LZ&LAze3c2i4pDqwkmuKpwJ)2@jsKveEl~^3{M4s{(X;RvjoP}po-+fgM?gq4k^6fQ;thPbYCL9#{_NO0rPHag=dHK7 z&kp*lDHJMwgqi7QC2(9-riJiU^V*l=eCNA?Y4ZB}i zB|&w8P~#FoKBh;#`qYh=x`#77EDV5%28ot{1K@G+gp(Fdm2;K3SDl{aWzD#GxCO_A zu~g*A)i3p^t!|bbxBYKKG$O1o)`*a6gMPRoOWh}U{muwg31G!xwgEXniL|2hxt}L1 z@ad|=c>~8wnLCePm(SC>clHFYSA?WcgFvdCha7xl&JefvLz|yo3%WOQoq7_v*bcUh zO;|Q0Ho9SqKiECKDSeFB!n(QIoLS6{`#DVE)LX`19JdJQ&y#6T@rg%qK8>fa< zZ5tWpwdCFsQtO%l4Gn-aRZcF5af=IlmXHvqcfWErBm5JwCQOy{(PryUt%e!*tl~3) zFzldjG5^KUC{$vc8dN?ezi=(bCOh6M76>|1>;~|`uS`wMLN$0Q6SLD5=$X$V0zW(Q z;`>qdtRA7Y;rPk`_ty8j7R?J_TKD*>C_zuB=Imu%mQp0oLS&yXO;QHK0sDWiS7uVI zdsOZSHZKR0?7v&+q&t05`v6KrbgGH*B@LY5&n&S~Xp9gXQdc32rvHmNeuub);TF+l zP=waeum5Wim>_`X*F~=|G+din=+>}AbD`aRUeES$tzP6kK?$b~bmSex0l!P$ey+y| za04)h;^al{%7MQ#s_V(U^NU`+`|lOlBdaUdL?1bP(v$7tA~W3tE=xnS!f=D z!EY!NO$LksjCTTi24sMZH{*3~D=dqlb9Yo1<)uLZkA(1S&~*gi^0!o$uu4N#dFkX` znL70bz?C}fO$bfoUo%%^Ffn`+c0DJ*uN9qX{&&d!jrF1P&D4~L31(S>0P*_a`jAC! zV?(_FaHs?mjdpOEB-HKGmEK5wD;r_XH%7r*TJW{vwO+Do0P@|*(&Ba0RFsY+;P96> zGmPCvRUu?ZBzPM2!=9agYC30M>|a5Mg4%CRx5eE2%p!0hb$;t4J5#@h&|MxC z-{0uzu&n>K7d_rpAPAu*W9DpetwoMu)SLh+OI9~ZnEHMDJ1K^@nzRhG z1-FlHWj9!{?xVT#O#H4a9gw8#!Qe9dFIsQ@B8n>8jrx-qwwq2Ll`RoyysPLQe7JO8 zw5N}&nD4Ufp6*!iq$w5)Gx>1wA}J{|pn_;s?({5~8VPyj&0Kv_-;|#mYR=A{_m`aa z<^_O|44(6f#L0af@+Zr2*8QtTeG4`hBfzkDPBp-V>Q9c>sCL=g*>war-+!g4-ye~U zdY#IVdrnRb?+q1j^UJ$O(80b`#8>naD=Oq>!&EF_#U;93>HhTfxE+V9@4mF+bj>bJ zTP)SR(92r6ULeoiiMS;F5p25c0|{dMi3y3%UG^;`3_F#z|EqTV;%7sA81t@2ds9bQ zwkFB6hyLr=_6$wKm5V@uUt9a@*oCt`z27xSa3I?YLAsx=+P6X^*a332tcm+JL;x%^ z+N8k@+Cn08npXYD|72UYPdy|E=*&V-h`!k*a<2Pw>Ez)Gc;21Wz61cWdxlDiQVfXV zzXjE5xK^*1z)-3rViBmtg%Q5>-+V3r5t3ih|0L#ORlj8dPgSK zel>8>oS04WZlkc;T4i^5`1Kv7R~xn}dUq#oQk>k}sQP$*mteG?Q2t&<(%ex)SU;}a zb4JA6;$gBoV6pJ0q1tqIhi_Ijfs=tF$-@($(A!B5vGFrol>oOMTOG2_3O6{z&z&Ox zpIGq-O?|R2<16+F4K+JM3sX-WbK$}TgM=P+|&8$!3n0Zp)u^T_Wo@O zBA?6-z)8Zh2v;Pt)xs;hyb@(;p5Scq1fUfC5(I*uf9sA!Lg#M+*}r!gMSE~@1pJHrjbW^6 z+AXGk=>;g+h<7;pMnt;Aup7^u#hV^}yb%^@FtK-w3Pcu@0d8@2c4pRYZU4J-jKGLh zcMfQ0^+m81U+wCskA+C7;NN;!Sy>ssl{(C@t2U@#*kw+~zEUEU5LXWeE1isOJF%`%XIxnsU2B*Xw@5kdE9gpq6T zw($|OolN6Wx}$N&%v7q_BRU;6m;6A3tFC{r4GV!KCN9zwmHtdige?sqN_y+2#;Zeb zqgT9w;-WW-shM;QdB^x7Iw>>m>sS1TO_=XI9B=xw+8Tiq6nlr@F~OzF1=rjC8j+_R z4(FVseOYMnG3T$T&QS)Qo??Q+02TdB73hb#&6>}GPpAR{_l=2j4|ai_P>_eg*uisz zVd#i9`SNb`(DPgwou(B_(@cQW1@p^f!XavSY?RiR;V5J_>xy9d;MC4@dq1LH|2LYC zj%8Mu*)%8q*+76`fk1+MQ_cXdUox%Cj!nK2&u++~tD{|>vi%!#1YjR!&#*%cl+3}d z1g`Y;0&&U3$!YJ{$kjP=IsdR`9{^=}7*cZ(+XeXTG(x`TefzHZ6W#~Ud~!0SI?js- zgz(x4w#MVHC0wIaqM|f&*tG%`47X%KtIWI&;KK)dh1pMaT$AOdWH#0ikDoE zk;V*m#MGD_ru8?b^{F#-0@CN9ZEfEI`w)I-p`j{H*t(yX%h~LAIrO9^5rKi78t6`r zuXX9pbNtfb$xN+{)KF}&m=fh|mYV`CL_*`3W8|Q@SOxlgG+7x7zGV+w=d*)|1jQ%R zfpm)Jhm&TEo`CK+;r{jGCr^qhVQ#ntzq3m9Lo(fVW$oq9xbpe3FQ^q`L3h*#?=fxv zb4kqL=h5$43IKEvx4UjFsjiSy58$+>^D9eS5MpTq)1@V&&>xL9JrJAgVu8yl#-vc6z>}YT;R}_fw)26ovc>*a)V{EADN;%Kz#jeq^;d#i>pM z%@z>YsZ`q?g*=QA3kV!oD{%f^Z6E`Y9tQdzzbA;^K>Y#_j9YV+mA2ata6K1^aDmcu zbu|l9{}lTDZE%XavotIU0mqMw>m=R!9eFQ9pU2NS1fEKe4R|D_bCCK@%yZ!SZZ8%j zs?OEAKss2~yD`;CUlX%Ks#%k>vWnK3FVe+uhFZ4paYnNBd+>dn^Yl6Nd~22N`U75M zt-wN4$gc|!E1P_@u7tgdw}f5z zpA}g@c3OE}1~X)ON1!Z>!9M2|p;N6hHqao|r&{7m@*9{*u7v5-Jw5eNP&UqX*6Ohw zK4?QM7stHoAwcc;*8K1B(G_)N5iFrl1l=aQ$Gi1F1Jq78Opc+n6Q>g_?-$=TL+rK@ z+6=!6!FlujjiKSg>oKWXcgFo74o0s4F=CC3-SZw9VU5b+i?n8Bdo8`)q15hTFF8lE za(R^8-g{s64kKOdpQpjeOjt>~1HHYbS5tYLMp9vAHm@?nT1OUh6u$SbUko!AYE9W| zoSYimsQ0n(39d17&YgKU`uj}#U2-H(C}H!%RDT2PTSdj=rn>Lg&6mw~H>Ga52VOt& zQomq)@3sIOn^o>ZT!bm)aU@mmZ8aDN_(%-S#g*mdB*}aq(k`Szkt__FL;I1)L#3O+ z=;|@8r_Y`-qyaP=AH414kmVE5&fT5zKB7zTiyJ50(9W5+e%JnG+KPtdGguD zT!Lt`=&RQN^aDQ95;VEhuye=Q%}sa=4sbtpN^;iPqo3n9M}DC6bXS=1gM6fCymk@1 z(Ws2@UvGu1-kGmq1H?-c^Wn+VDl)qQ)}*GcCTr`ruVFtlOi%G z6*)#!wcHkTfPydCAEEr0vHv+#kqO5To=0?&o@=jpsQ=uMdCy8SBCJ08MCxS7++G#w zX^$A%x*rziY-yy*8X99F!T3dT5rQI-Qq^f-aBXB@=M!}2!}od@tt%$2$xL@^lM*PM zr=-&rU+L-eo|XlL1Y+qxIEoODJXJpvhy)uKT=E}uV=@qgpkHVyWyXh>J2itxvJQ|t zmd4S65ExGxPt%u%=B@j~GowFFt4e3Ete@^2Zu5FhJwjr`Yca{|3HZxw>t_@V|8OY* zRJR~BLS>ihHqbc?4Gj3_;wbRL95cm?l#~>gHWQU1lB*=oZKs45ryuU*cfio}^pZoT zYC1v_?|pZld0D=tenvohBktTn5cSS6!ET*U748VnYq3dxclpzP1$k(2^D^M|4BFno zf%=3^#!c@H3y=8y$*D5`x(=)K$y=^yvu)@b*30vL#$}h0?!LA*^#^Oo=Syv*T8Kd6rA&8<;^Xf5T*RCmPxtgz- z*LmWa;`)Y>B(CVRl+373c%gr8J=++2=RBB1)Kozxm_4qvEc$3_= zcra=X=Sb7NIo+`v67BBHNwT|bgMC8w(2?#=*;awXC8qwq&!P&xh+HGpy(a zSFWkAA9u?_V+b71F<8;kM!n}y(;VICSYDndmRDUVTYvseO7D?)8aI+Ro60%$0ODgL z`FRqzx#!5O+}BzvS7xj#z@WC(PEAZXYnBSq(9(TgpZq}oee^NVWKm)Xi0xgL!OZej z`cdggNd$OH-cE71L8q2!cQ-q8bLF#Y_;&NJdkUqPT7w{K%=ThRCgZx#uZi*(zx#e( zD`#f_nnajo*>{**;YH#$_P;s&-&TDds#S`@&vqi%pB*@pk`-h_fq9B93qB>4CVu07 zV;ltHI6OW+-tqFSjyNI9AESXjd8cGg_vat}u^7B}LTn~Ay3ex4hV#Q;u_fI)tcIkw zUt^E6fsVp)f$(PfRD-nl>a6`ekiC3X%Ds_zj)Ax671D^fQ;N@f;_n9UY zM*6`^IV@Ioc5W;TfPf1ti{`lf*`hI!N*7L@NTux|a{{Bt4F#m#9G>u+CxvA+LLk$a zM3Ts->gP{bM1y=C^4NT2&OZ@OdYd-BeSM^LGpG!#!jutQSk}v;1~{fBN-9PZR!G28 z7@z{M)ob1D8@X;Qvm@9fX`bPX^MF0OpeiRTWCTUW%O{+%6B-bt?D($=^$C~YD0qGK zn*#SkFLs~-)8}A!qJDyZT3VUmTOKHPWb=cD8S7omF~*AAEgiAf)<8{m=XD6hlr1{ck zGPHOc_H_M9L`W3aRH9R_PN>r0liB7{Rgk54U|YS1V-|?*_G3`{pGQ{lgA#&3EEh@T zw#8=nkkf5?%yK@`8Tz-#IQ6sYPhjdOaUv1lKQEaWrMAAhCIdv&rPn!*&rG7CHsFVN z{!7T}7k97njl)_LUi_?8=N9-=-qWj5&btbQmRD8=4sxp7<6zzBk= zvn|fk(Qgo6Vd^$G$lO}+ypmqpgiQ0UJvA7d8`_ZfNcBxV8E=D$!F~z_84&ulygvF6 zIrl^Xt`VJ+l^CDC>=sTmFO5!1O@E%|66_IeyJORJJ>7i{2ql@gm?wC~1(SkD2GTtO zil_5e>BRxOe?11z@izt9px?ca6&CjOPN@lE1~Ecu)X@;w`aTG^J9J-nkRWUO1IefcdPmep?6Y&H zkEX}zw7>^Y>u_ULNcfL;i%tA+Ws_qGSa_%+?7`OQ9Refc{}4T{lFh|N-A@=;LKXsH z-@oc7f(G61fl!_ZVN)hjf?%6#Oh67Tr)37lG%)x8`M_)Iy^EJ<_KeOSmjA#C1#Sp! z$@sfi)qhshyH3oRia&K>{CLdmH;A=FJ|8e~RRm+}Wb5}b(A0lGtEcx~YS#=s96Ly( zj*q%a#kU~=J7T4vqSSPXLFdu83K;|8OcBYy@1XXP2xtYOYe^;!9d)jCZepMPWYo3d z(CQZ%mlk8*^ko6oLC%F#V(^~Gvd0$-$!0$KG^!!cyb|1vka_Vl>{8_vm>%ot9bhq^ z5xjv&3Xvzl6Z84HizD_gB3gMh0t)-{E~vYlbpO8mkBbtlR(~--SP&y?q@I$PD97A1 zrZpCEr84jMgJB$Ou9Yd~L08$jq`$}} z+QF-D0#u~3VMT=4A-*tTS4MVu@Ap#dMpO)(tn$IyxZPb{O_PCqYRmRF>bYJ%Y#xWl z(n*PX+C$Xn?R92I%LD8`pC&DUm03_z|KtNumE<3h2G-FIqHww)i3F~1US+x>{6#ejhwJzSTm{h}EDqyJ9#^>tU%wH@VE zJ8S*`j^wZ-wq*HyaRp9B9^%Pp!_t`wT>TEvc-0)~nlglV&ADErwv5vRtS~BtrKe;@ z4lUXUDN`+1KTIsc&L`jWnG%g5j=O(%iQpgD@YX`~RA?289<A`4$MKT-$$H5IrW0lf!{(!z^EA8l;l5uc_i5vKSNkQ&0Yl`x%(Tdzr%5C$xeh-K#yN3;R&@%l#pk;xh}s>6OC zum`@PA+_cqz32IM%2Yr)&YXjihenNb?4#bCOaAX(0%Q|djk;?Vrab4splh9(a;5h)o}?bDZSGBOj#Tue44%g zI1moi;MK_#(ibej->++dfhTeM5CX;Qru^w1S8X4zJq``u&7mF=amk00Yz%#UeLp3X zu{?l{!QH)y2Fu#{UBP%j9GVdh#l)}ksl~AypKfShSWjU(JdD3N*XEQKYVOjQ|ifZNvqa{i{isbTN;<6Z6porDz7y73t7806Y2mO4-A_UalP6V7~Zn46Mrh4##_* z`#m$v?NIHeMHDN_Y*R*J!PUdmG*evh-u?Ss*L5oW2$_>;-DL{+Cv-(ABbMH0n$^$o zR;RedGeqjEfkXMX>E7SMR6-D?TJC0OglJ0Me;BY{q+U<}2P}t{YnKrQMrq>5y0w|-O!Y<`5K`8U zy383=*A!Olk6xV)4+~3{asrC!!org*JkQd092`rA`A4Z}<@35n4&W*I&;BwXSS|?> zi1kHCeit0r6~g-r&O>oe#@?vX>^r^><~=S!c%Yeu2j1kHDHd^#@B>)A*lDOleiaQd zDo)R1ZuCqrk-m+T#9lp|;$Oj0Wd#`{$&vM83xI}RAG;H^eJ^$vM@YeFoJo}+^RgYr ziTd$I)%CBuXQ&WopYHBQ$@|J2G?XjSI=gS*x#C?P#~N#j((?y&(h;Ywiy@rw_5fVC zfmA-jC^S%PN>2S=MMA6+z5st9dJcV!7+!?k4x_yt5H&nhxAtC!-O|^Q>Bg9~Ekw!-Ce!<%)L3_iH)}Mbh za?u_B?|uEue2ri|VVwtza*LOQ3>~Iybd+Fl3A4shDP#K4h)SuevSTDMFgl-}$+})N zW@MxfT#P~~Nl7BL$B~YghC1R8ShhxhQ|3A)5YSmPM;{O>II2HyzvpW+}Bi=olL$LN==tv({fi34SJ`6_LX_Q zn;I9P_UmZ7j}F17rw;@$@#QO;HRV9;>k4;7Et;kNoX5w2(1Qjt0{e{^UCOo_-(j;r z`jQzYM#QF!nhbH+(ZN6B99d*9Ae|w$zSMyQN`?PS)ZU$==e;RogZT9!{Lf;p2~JTC z4ZhJYOJ}UwM{ZjT*;kAFh#nO*n`qh7B;J0N8TwQ@z=yExu**)QixypVh9u0m(Gw_@ zUN{7iBa4BQVnw=ZcS1;rYJ_u-{XTi56l&5kKAvj`Y`$}mUntoURp@);sebm#xvys7 z&ji=68^-By5Cvj~Ze?$!+VxO!Rg|wCD_9OjI&XbzrUR+}u@2RAxy7`B#KIh?z6Y*kW-VMs& zviV1qj-K}9-(#Uo;vMBR6#n7{)Zm{awdIufs|booK z^vqIXv8SPrsZ3R-gVD8r=+o#@%&5sD)nC4pwXi6tu~PjyPVK?9ex_Z!vmsi7x=6bM z3Ws)fcC}jC+qPYQHDpjr|6==v3Kh`G%kjl+%cM-hv^C{#<~Ew14$S&c*-W(M9d6$H zYmRw9b-&CR`ttx*^@Xj&bm4;taUJSRyFQIDN_&5ipN^xfLtS)xoOM<|>&c+uZ8PrA z>(go=MS2};&#r(6>~LPmn&>2nV-k*G9JJwX@qM@Pt&o{bJL#p+zXTTGws4Gjet$Zq zOA`i2DyGeW^cUPsL_`l{EG+OsaSdEMiGIqJ?f`PP<9kDZqV$E7u#k`<6CGd$Eg&_d z%b^z^uf_lDS)_2#n$!j|Mzcj4pi0vJlrdg>11MCq{JV&o{Ow=`Q{jM>SYqr2RG&1uSr01%ceoa6DuiV~t_?%RvqlV$e zE4a|9F+d}?=J4Gsi5OzcaK?nT<~Qm2r{aj#OEUsAl(Lp#e%;-Y3EnC@Uf9i>7XGU ziuP7hu37+|?96QEL7)Xjf)-(*e?Jw%ptmzEm1fnC_={C+RO-0|Nk|Jqb(qH{m z4M23o&Y+PjknNov;B=XyYIvd$ayKV28!A-xK=Ze0hM$5)?RC!1C0EQbT0r%u=e+bB z$c>R=1s1&<44mURzTA+p((Uag^xBe zo)(Z%Fn%On6?boGiH3%?NN-(5&ZVYiC&tsQw>USh6ec~2Lg6=EX#5Ad_5i$V;RNj; z?EmriFD@W#td}N=>P@u!t)ec}DybwzdE?8gA>k3=aRc4i-TwDsthcOV;?v|z_IVir zr@WC@iVeEsw}VkSVMpyDWYX_yvB5Nm z8V2*lEaiKL%nxAl#2+WJuSgI%1rh-(y|2D_+}w*P9&6}E)bLBgALE9^sE39oC4K!` zZ0$os*(hngm>9FKt0Y(^mUP)3b4?+i@B&yaqb4Zj*O_Sh=)U15N&}Ep*uB$zXJwVu z)m4O``^Mrx{7zm|6vonB1AAngRGFEdVT`mbkccMj1O3JRbWO&(p!i-mIfvurt~Xay zJd8|ajvi^mUzlv9@T`!Ygc&PtGuy2d1#>t!w|75SFi31`HMD+&$Q#+6mz-~}by#rl zUFm{b!ifU%3>xjH7bWc*Kc?j&*21Hyo;k;fRLrA#$b)+1@&* zcG{;;WC?>0?woKvR{r(%G(r#@4HhplG?@P8MSOx1_uc)(u(2Y{%)<~W1qQZe;jb!@ zj9}6CoV`tnCH*{FW>hcG;lC__7qak&pEZ1@tHt($uiEC4`-60$j+l*&4Ko+lT~Wxp zLil{Q64YhO_wF|_9Gip9oX*c31P4An{VEGhrsNmqedTQ{(SV3_1w5J+lDihO<96eZ zJ`!aa6zlvP637bK7GolQZNZsaph)`)iw;SccD3`}f#B*J-u^)i+|oIQEjSoSL--;C z)oGn}N6AK?F3Ky)K5gvlZ-fl-S}q%8`s5of-l}y~&$7t7C-%7T2r!tF(-mke>EWH( zuWP;79Nha=%WF%&mD%Pc1hjgG26lSwNxPqacN^`AA53!jg;^ln#R?=y#Rk8bwqN=s zdx)}7KEC@oo_3O0lR?$lW zwbvyqAL2;bZO&h*J6P$Dr-<>NKdn+0vQ-3b4cF`EsV7hQ@g zNQnJ1vUvWQmj?&2;k5{Ck^i9#ditXG%=bNt4$lck6!Pjl;nH&uXncQ)0qBQYT{SPR ztXw~ap6iCJG9??dUPT*8R%eNj0R!TkKWtEwA7An3XU951zs#)nmg#8U z6QP)i8bQe6uQSCbpRcufoePyB6_o>*mrfIKghku8==^h-O{6bc+Uphz^uuU~ z%&UX!3kj$nfGWfzW#f-Z*jU=8F+Y9`%n7_;TK-mBTbov3if)CwnGz$t()>LE4IsFJ^p)ZA z!DJr2NC)X*$)mx0RXhAx@gir9sJ{Tu(+V7#dFAVYxK!(RL}|iyVVOiK8mv#u-yR=qgkLo8+9LYuk zpN|C4@UnM!jt~&{Or&4jjka{S>>>#co|-Y{{PGUB`?*5N$(8r|DeWv;=EEEOD2*t% zp|~(XNR)oQzcSjZeEvFJ{@emx&x{}bEigjUX}%3Vzlwou8twZ4n*B2%ak{>x=)16zV7H&z1<-^vn|6XzUl;njqGmpN4g(3J|$cgs~Re* zqu^*5KHiHP3R#I?aY#x6ScTz&rhJ;G^_HVz{X_gg#cDFEpQBv-V$=eeeDQuDuvpT4 z@jjQb8=aW>;dJSZ{4!_O?2RJHV?u{sxF7r(Xb?Y`|3(b}E=c(IZo!J@Tw$4Zu&tw~ z#Z9`1Hsd6houCs9wqxoCv=4?H_b*~Ql>|riT0Fwt;?@)la0Rs0x@`BP-)ZA+3}tLY zjmQMzJ38Og+;soa5QXR#r@l(P_b1=2C0{FJeJ#gjtd&&U_X}PNQ*ryQ{aJ={fsCc7HRyRo_S94wx zk!pL?piv)3wTfL17I0ARw?^?)w{4WYt@yn4tVl_+_i1Nf+tS;BfA4(#M@7Sh?Qo3$ zG@Kk+WcjPax@1l>v#3vF!o!F$XFP@gzCOp?Z8JjfERl{r-@no26Z!VzHZFb7FuYy? z`TNlE3Z`_at_|dH>0jjE)vGOu7g;JAU}-@814lm3H7yJ4GkudNb3j?3(UW_&D!(hk z4gx3VSvkjq+PoIKnOB5kmhUKen~Rc7S~Ba176Yed;9Z|h>dbtVtSSng zo7|`eWn_N+MFhp=E*bx5G{`QNGu$ zHOYmG@!qky8jZV(om)5%Mm;yL+Jz%*aCa0#S@-qJOLwPU%q}MmLMBvQ#D5z;ny_xV zTz8my>n@5E_}7y4oCk*$XAOlP(iwiUdHhY9X&Odi{)aej)mD%YG?BNr=s=Ea%2&1A zU5p%N)aIuN3zs%sxFFh@OjGZ8Nj$<>cgD?aWCvI0?~C&f#0MD_BN-`vJ~h1mQK^I;Uo~u@E>y|nU4+45hf5@Wglfl&gh4bRgpF%XD3bXg!rWg&I(J4=VkB#PI zwMYH(Ljp~S3wAe{wrh$+zWJ8-H}*m2!=`e`_~>b@s2`DOIfX5BadGkVUAgzh2C)Q z3o)-1D1AiF{&jc0jk@Jx*WURl>!%+~x;WpbFnLO0%@>@0$ju;hE9n&hG40Q`gF2Um zsaf}q>;V7I@jTV(=6cQ<^E)C=&`%|3)WzPnhcpcQpKhQ1>e+2T#7X4emXao(P~qwn zQc-IGLZUgFPBz~D_f}szw7=`P!QP_MUB#`ToavXV=u!rRRsPL*ua+=jlrTifcFDn( zlagLYL16`1jJhu84wQ)tka1y2t;CXGu+@OR@UuSadlIp+|3Rz z=!co&;^OL_E7qNTmg={gsV2pzd=TaoXEvbX2A2*(9_peRL#+{yL+d9L)136oB=y2!kWd@d9E=mQA! z=g~iBwXj%W@D?CaMZ&GLYecu8ImZ0>ENx@H;+V*}@9%2wo~MjC0)gco{E13{FV2+= z0J?s8$}#?)bO`X;hja9)d^K?%U6YblfPRr-HF;7GhmxZ(ueKKQ#Pjp>Z?8#~6ZCNP z$K`$e!IGJwAr<`?xzB2XXn&TSF9%XpRauIBJO=Ffs2R8l(&5rGhRE^6^E;fu6L=e; zfJP@^P}Ue9$M$u}eKow&BUJrHM$5pWi`tgPuIzm>)^h9AFkY_*C5WTjz~Tsu_J`u; zO@}-`n9RQ$( z8~I!_;W`#1guwbmC%LJB7MaDKnoz5@+*<%&XI1{)Gb&dBXXRp33C4<+^gOHHo1*9v z@LsJ}^sl~`CE>wgW;w7e?jBP-A7*DNDTQRdBh&9S**pRB=*9nF8toe za`-G*ixBnL&Hf+;R-Q|c04yImB_*Zd7LHpkRv&(n?rbO*k}^j@1_LY1H3zG!oR=2utJ~y6+A}PBDskD|1d$5;dq=oRtdko2|PHQCkzTLB5aK zzc>a44-jqAav{V*5+BWgATrNeKr3jw@Sv2tEZN!G&#G?!#vzRAq+YH|iW%-)^mVnR8yHEfl%?PNar=>qC+h?CqEsm7<&XL*1^G=uqEXnu;I@?UM)5rt)*F!H7v8tAYUkx7lqHl{ zOAO*-WTW%v`t+yxU2osn5JJb-FtaQWE06bJSbgK|Ow{6nPXwAWsN2DC!?p)Yr`Ok~@HDjY<)82qI{?Uh~XY5784g$Yh0HH$xtt z96=!aRkd_$$6(JY0pv%~k!x0!QY_KaCml7Kv*upjeyI>h$Fn^nOCTbZUI|fsxhkJ3 zvcm?KSX)Cd+a`^+S>!?;IjSm0HJ(+(+!5?IqCd-}SihJvB*q5f;60R;fBis#bs}4l z{$u0p(wKr9(tbl^5%#@Dc_=hV zmy}{rhBw891NttYClDv8-_yE<7A zf?dRRgM?*nS&OeyM#=Z273sW^1Iu%szI;v7!+=6LB<0Gg{#*vk%VLFmI@ub@>pBD6 zl`C#iVBkz{b=hW0EbU_8 zMr-?~f(Q@dGDvGi{A|YlObb`ZgyBpPHC1WU{hg^r(t8!UyU2Gm3v{PpMP2nTX7nt_ z$zd2Qp*6rxB?Q4($Nw4F6y=$Nw#7wNEbvblADp4axx8=*qTn;A*|mm^!J_Uk)on>w znT?c1J*#vkKc0x}K~;f36`n#n>(emH2MxM*jhDARxd{+=K=kA@#zqWpD#7og+q^D- z4BM(?G&Pk@S^b6Z#FL9S5U=#Mq`A=Ccc@~xQ6wHU)(@$yoJChwmPY9xbe+*;&6uZ_~QF zxPrsL{nyDMI$Rh5glcNH1@BkxLH3pQwN#=_=U%e#UdOhXg6~x`?4I=KQs{JFS zF*DK!P<>jC3rWAK2uxA$4;|8GM(<#g%4aP8oxgD8EA0>Ynq&$wlz4za1#qnmZ>!1gwAwmv z1c3eT46WJ5H@>emo^JNqa=I@RV7@4~htD2V9d#mbLYhv9BpH5TW?im3m54Sn?M9ea zuj+S9M^{xyMSH{=@pzQ}JoZIj7+Jv-EP|=D-_H}<5HkqNqi9i8;@573AnpV!K}pFr zqZ2?&k`dGrnMc3hJL8J49`b5yVpAE{{ZegK<8326Y_p=iBwKR`IE1}p=UAZ8Bq*T4 zku?@IgpgUAt}*l9*%p9l<&IbpM)Grnyqsxdq_EKB)O|kmivmROdG=pQ#)x1cG;K;` z(Ny`UCol^f#o240E2DeC^diqt7nKffDOB!~tbCi{Aqcku>A$-x!RH4H_2Rff=ByA; zmoCg~(Di(a`-J*eSIt%{(Y~@bm6O=uNw9g>qkkr{jNRW`tjmd!z~$+WSF|B!d`g3= z3cvn1IzuDeIkKjGY5l5o(gCxtD6EvS>b};YcvepKFqxNLlqq7bhRmvE#6bbt)QH}} zyGxO_ac-JlHSUgVcyCoM2vnFZrEetEri43kJMN+E+=>e$KytJ2jH6Np0U&2_`HvJl*M`YkH}zP65;MZnh5cQS7)#7 zCvfrpX^2Tr>CPOd@MJ&bK^ZER1K_g{yTkO4-QcYIazm(7w~vZfp@*{F4dsM>+Xd zh>AVKkDYJ<`B?f>3Ft99T%PwKO~D@G=q<2`NrbwA!rs&wngD(#Jv8Bnp&F0cq_A?isatS?g#HW{EQ;p7{5rPL!GM1_{K9_I!TE^iV&l z_WreC6REC}&f7-VMx`Ni={mT05oUEFXh(Q%Og%%Ja$fMB{wd73G?77P2^55Mutl5>O=)o_O-(lY=m>P9^<}&_SpLVwUiLi+r@-mXA zveF)P*9#wgGXgvJ_76q|fCJ z5whvg%SIs9pZ2H zAG7SMgh(P3XHN}hibV1SH4vB`S=fgUkE9g}cFhAfj!0h+d9&2ufa&q>UayK}*~l}0 zQV8*EDVuG6vszSis$-#S-*XbAFMf+WT2Qm~4&52X(O}Wh!%IV2thl;y@Ekug8*Wa_ zyNxMXyizEH7^q*$bOqm2w*Hg5aB`_@%N=4=z`~jM(}+!( zKZ=#G4##Z7?>V%QAruL<^qQh275sXTH6usaEVFaA^~_Rm*;O1j8m+CXQ*qf}onW{93tyy1?5Qlgf3IO_2x@^+ zCuuV#VWYRHw#G~Re4Ds%7r#|8J1UP2O;RjP*k@D4FQwSVa=BL@8YD#M)+{w)v26#o;UWjv)5Q4 zP*?q4p66xl8tG2^87d26?Tut7xeW;^dMORgyS>Np`rIZy8}4+fOl5zU*tkToMYCta z@tCgFi;w!RtT|^)WS~t|Xk!(rM^18$9NbQUQdw_imkP`8`?pj182hcnZyY2q`isLg z4V~&}uFm#m{Vp>U@qfi3t{h2lNLRP{nMK)6X?qUoA6*0++@_lEe;{NCil|Z^Sa-d@ zwe|dBYbs=Rh>Q0mt;$^%C^F`y=TB$svJXEQUti^_!7$AJ4^3a;Pxt%&zv=FFbk8u| z&P+3H7&bF)@|flvH60T(eTL~aIdRm)G}GM-)6F@*m-pxU`vV-0`*p{4UC+2K#47Z% z$){eJ!xcJlW$uT0mGj@5ym{GA z|Nc}NVI2LbNxzTaKfmqUYVgRIas?U;ZONFvHC$S`4q%<-4(JY+A(>@Wbxlt#e)}4n zhsLrn+qTJ!MhqDbS;#Q(%^vYLza42 z()H)T+8xHSzalntK9wuNIi?!~SvVFd{wo@Eh=@F`$ee0hEhdsmQ}|5Vfk949_D@9G zJLCY2jbURY0(!DRbPKHBbvsq#_JU~R^Lv=n_{I1Bq(;f#XWRK2DIJqWBY2s{_L6`I z_UYF-79h)R@Y+0iMY`NDRsiAwuC3F=5IMNrZ5(UY)ei#@;v)VgGv&v<27i#_BN{;Tqu5zFn!D$hw1 z8}sF#*7OUIUOucDo2&0#LN=*7Z1BlmgM|)>R`-L#S-Pw1ZESK{m7Ju1jxqrOC!R3qiR>ERhHRF8r zADpPGnV|ZosI`=51YMxr?P}D*Ng+EuO#NaFF}T0 zwQrQV!uC1t_mP&D4IqNVaE@GJ16rACXiaHRV`)J0e5gW6&aPX@_{s%b$|pU3MOC}& zcro^F z$wDYD4wkXs{Pe{A(l;^wJh-VpIOxq19~1|RX>qQN(!BiLR;d2&WHa@5pkq7gBd}d; zS<=&biMm`{m&Z{|Zwo@d0_*Df?zEh!X++H@JFvJ{I3`w+=lo$AGSpBXU zzC3jz1*PpuAn8^PKW7Xm{l+8#5yF?1JV38K-%fX81eJOa6$Mg-lIeVMk=JRq>p<^_ z$b9B%zN3mKeg#}QGBzTjn3mj&wt_x_bo74S*FOUWJZYq%Wwu(`AFrBCNkQf=i@MQg z6#MWZbl*RzV>!q!sofigej}4WwzZAl`Sn!m&wx--8o*0HX^_m_fp4*|#zHqnoz%>*piTG?*KZ;oL~-pa282!4KN+GP_!Gt> zAPRg1qQDornCLb)QX#l^V;9rbimUnU4tiaJPBi68J2DcwsHLqj83Ao@UivMwYx2{Z z)_;5HkOuNOgxCdmEEYXOmiszZ>n|Air3h5wK-Rzp`E~Ck%z$NAv>W7IN7XHW(RJa5 zVWV*Svgj9n~ku|TSm>1 zP5P^AD1r&dZbuFj(&QiVnwx6?bj)QHkFiXKY+Bjah`BM?n5S4t<}AoP5)rt(|5V|HRvB087hP5&2-I;w@wi?a`BFs25#CUYj9A^LtC zT}oJb!m}-322>8nc8>1kw2l>W{=`Ib8!Okd3ymcjeg2%|@h4z!7f)99Q~1hf`nZ)U z1sCSvyj3Z2foab+J|3Q+v%xd0k;6o(xU*Qkm;Z?1jUcOW7eyAHz~oUB zM=8!*#nX#ZWnT{n>q@c|wRx|yI?mS8h7mE*u^ZrTFqW3Asb?_CVs%&Jz6>6w zsl(d>zIiz8Jy%D&&^DR}IO&G^F-^y94JlD?DE!;+qXuqOw8ggPzJto+)5Utc?LIy0~&Vv1tzPXCQ{snq&3wz-XRnja>8RlSpEI|I&a<#S!I~l zc=Hg@3(DNw?mRP_+U}m!hL6{}{q4LMI}|k0YOLTvVO5}(M&;ndfGPpqb~w|5O`=w> z8h8s-ilBDNH%gS)ud58ygGnLzTvKE3Uexo>HyE&e#N4`+;q2BKts1E={l=?8&Pd&)Ra0$t*%zhZ=F5oRu1V2r7Cmsq%aMrb_O2}|1!Xf>)L0pp$k zPd^7I2z0aZ_!XfN9*}yMdM+aa8Xw11HXJ;9ZP@poJq+UBMU4Kh1^^Tq>JE+j-S`&6 z2M}Wo)E6qXY>ra@l;aul-JGgswh$&YAn5U4IJ&&teU8?4%cHylG*|@A%$tLGgbP#h zmlUOYsK*0hu@7gg5&j``{g|lSz_DxFi>X?L7i!F^`qHZ7{i|T}CjWbp`KZ0Q2Kd4> zdC!V61$!^e@8 zYJ@S`4Rr(jvY+@j0&dSaj7nz&bX9gDziR$L1C^O=p6>y(HGXX8cw`vdy64|%9pz9W3irj2r;fn9#JIx7$dPf`gmkhl8t85~FzfoGtT=@?S z_7Ub$O(pFOC+wLvXY*pCgSZ8OzL1JB=po94Dy*3JHR$&{mk|iROXtyCCHzM3W7Z$b zE^}3{OB>gGy~`ivsJ3Oy)mciz--#gH+fw*L@5%4S?({2C@#61pyk0uvJi!N>;!H2P zX6<4O#HKTT`SkfSzr%D?rQtJ#dCBcrD}_m|L*)I00@NfRh-=fD3usYWSS)%(AEYUw zK7ZPjiXqNDSz)e%zPJ>yS46e4^8N8S+jOmK(c%NsVNchKABPCLaX+1N-(F->iIb2R z(dHN!ISg5#S2y6p!B?Z-PW?>b{O5nK4E8g&54oBfgg{}GV@_eA)A8K6?!72ido}LA ztKow%at1Gl*53*9bLZz5l})GW2xI^d!Qs0=g8umDH9;Gn0NRm636= zXb1%QH^yspL<(BxjO#`23Ig?Pm}X$!LbZ<^+~3BlCUUNnjp=M9PadW&wj=&Lc5iy@ zx%*;698_tbE4cj*%Ec`j7m&>m9FjP*cJ-kVEG`g#`xD^x302d=?3Dnu@LcS|TC2sH z{>?&>n=6LXs{0YpC1VDz|+F*X&JN`>qJQbYf#J4My8 zoUZyidUPzpc4UOubesR*%_^^vw_9q{YXa2Rzbn;qgT4)_8*iaWcXzC2UmV=oa3yDR zZ)US={d8o#P>G*S4hi8p%a-QRe+AyBOiV-mvI^lJ_%{96?Nps^?U`%zJ~RCvJ(9+0 zvw|yzTbX8|YT8}ehwJ0+evK2CtDqD&d>Q2{soL4bY#mL4lO0G>gBfdQz*0}6{E`M2 z{O0|`^MFM{RQX3xCHCjVPgFay{td#_GG`AR^z93?`}F$y)R1W-GC7%I$HQJgA<}d| zz6fXr!IQLVK5`em3y2wkyHicpGtWv$R?5??b)fr;h z0%1oIP%Trov=^gEgY#ye8TgZ96`T^#6A4=-n#)gdnHWwj4iqJXbTQQEthj8Oe2)E# zgN-n1ruY&w_z`4FWCvgl40)UR03)2W+qYf(ck_GU9eCK|?3n|{*gC*zj{ji>t@g1w z{E1a+u$x8mz1$^~_S(1dyw{}1v*_8U0@BU+;I75y=6a;w>c0q#&B(N&;|ygOJ>RPrRCbzkjNDt{`jtv505nhBJp z^RBKsJp4RiF=YfQTYgHkSc!_t#lDXTF2l#Foi6r_TZqSo>CWxMJXTw z@VukBluM5M_nTp<#vcFm%j*ML3A;xZ;Irx9;Oi(JU_jhH@%9E4C8fPTS*ySS!_y~L z{@gKkxfi~n{C1_zySfnbD}8i~XZ2xR5zczy8t zE0#oNCQ8kP-JyMN{*w-q=?~3`aNq^V6RYp?n+Im#NlAM0(@#RSu9_ zo>T0@c7Rc#YEI|?!u09lmT9#F9YE7hU`j2X*K|tXlc1JKcmD zLTP%xT0+&|BAQ%<-5L2MP4z%P-l(hpK7M0gjX9Wm z>Mtj64i592o!>H}g!d!yc6mt&ZfzAfG~h*3bWS)c^$Z>d-9*S|T<4J-7h?M_eBR@* zcZik#XBXhw54PG_QkV}Uzszioyy#7!mUhLW@B6~W&=AYLlyVbE)g_OwZ^UqK;o%1_ zGt{5l*taH~g3AkPw17cpQ}|@bAvkHAtRu`J<-Cp@c-SiM=YGW2=Cx35T4c4rJUQM^ z2&3)tNVH{E1N0yMzfx};BHL})t1N<&syO|F4{TTWwI993SS57Q!$Kt`m=#}!h|R_R zDhP_U8Oo4!@kHlQ~IH0+Zxe+=`KoqAqqtRwec6?9kq+axLpzA&Aw8F{gi6OY$ z3xb4~+^oir#$=(rKnC!uyGG+W6)878(XFTXlqxFd>GZoR&R~K*5PXKCCJ?$F;1SEF*?m^Ry1 zX0zytP2rB%!u^TF7k$Ygt}{CVZN}Z_@$hGF*-C)Z^+sBnH$$5E>z9-?@mEBHsMfyi z2Cl=`tggR*CC1+J>8uNFD7O=3zQeDui+|%YgPU?vrL_Q-#!yjK_Qe4jE|ss=GX$@@ zj;)T$LI@tSoUtF+Y1~}nZh3smFJ1`6Axh>9ULoPoVAp$2f1qsr--QfG{0#76QxQ1} z!3#LCBitZRq#d#5=Ijr@cuik**uIP1^gx@#)|aC-cL727l&}16(I#I_eqMMw`#Fg~ z*FAatz$iqqJ@UqXQOw z(VOZx4~o&tHIMn-k@LmoYf2!iQPN&g8i+Qs=D$}fSV338z3O;_(y5j{`pvVlM{lo2 zqRncCAAt2q_Xr59VejD$)Tg+L%j*n%^uG zK=eA3c?%keJ0AbD>jkozc}S3%+&RSTP}bSj+IC)U`pcIT1z(e&4=aiy7;$fG6iD0y z%JI~Kt2ZGF&*olW+^{1LUVmrcKCyOq*1r1ZMw6JUq_otD1VjtGX0<&1+<@Pzuz1wL zP^$vH#vhZNqqV!~A8W)opfaa;$iJXDMyD$r+MKjWmTc(-^Jop&E*H{HP~YLo1_=6`c$&l%nw>_yf7$6h~e z|0ME92j#)*vujqHVev^3%Az;To-@lb&V>c_W8+kHwcIv=c@#fA4*%}>J_~bf5$-$G zg5U^ky=&<}G^>V*@&jQ^n`ER z=*{?2zA19JK* zI-F}D3}s&u(+g5;$%%i>D5!Dx^(57OJ@Z*dA%3lx93S8n+goh*?3(>y3k1_HEK8IE zEaWaZd_AA~ZIs0B_`&J+a96GXRmb3KVNEXM$f=V0xF}pF?9HWb8;NCqc?`@2ot|7E zl-EXn4+Gh`x_0s}D_KBE=ZX&6Rt>Qi{W5Ek9`)sv)om_jMfIihR05%Enx>C&`qKJY z0Pm0DZ{wVGgmINLSN4JHfaI; zP`7DCvu0>V?W!d+rYX`N^t_+u)KnsN4b>_OZI4ub;lu&_9|OOKsFS5&Qs;oV*z7f3 z(Tfc83^*7Q(d3XN)PhS5$?U#9`seq|{bG>WG@uF*HnT@=HQ`}^E3?2^BFofXXoNcPo!Av2*AKMRNV#>F4}Bc? z!E8$hK5%lHaqnk+q6+<&duKOJ=JFg0^Pu%B$Q0l&L#M8G{k{{?@97}>$b!8oYj)!@ zf8XKBGx*Nyf5u=S!zSY;Rg@*O-*NobRS}b*4)BumNDHIT zcRThDxcIB8cW>*zZt|z}BBGV@$4OIB1d<7t&*suBZN5~40T%q^kyUo9tN_&Y~LmDfn(%f$=EuQ%IMwrZwpw?(M!q({NJ8oN2C}9sosnDIsx|^nSgIZq80z%&)s|_1UEl zG#!tF{=i?Yu$xWXfENh$a)9@#)fMo>06ODt9dZJ)Tl%^4I@`f?A_2se(CJ1bmbl#g zj(+3T&kttqC+ry0+7rHXy(0n(#zpzON07|Iw~~`0@OQA&`m6-&kQE7CsvqYT^?$>u z1A*4=%qTh5jO)E%`zOxNAvBT_WXIR^&qK+@c6lZ!B{@|!fiPy{iB+*ISOuVzS2%HO zD(~y%`c4Q)lC~gnh^X2mh@06q9XtE~SSr#$(I6f&phAruavm$eJo`66@9DVQ0V3u_ znBa;pLC{aF*q1!nu~q!RuyRdbJXy8EV(<)N)U%UO)R)4lVJHj;G=oW%*N6Opz(n_y zH@~`lYbZa!Tp2X~Yy(oSB{hoyLq3aztLhm9UBZ9BGV;!+sH`N^W++{{O)f^~Zq!h( ziT=V1lgSKQ6j#OhId@SZn*`bE^`XXHx#U#L}*)+K8`Az>SMzld!VfFv579KqzUQ z>p556RROU7mACfkcmnP6?q7-b!H>RvY-R6@Do^cEX>t0JO%N&}v4*<-U|6v_%v9^E zo+yBOOMR1dTqo zYvXZgrxB?2t350mZm3(GbOP9!@-v=>Ph*>CeoBm$NZ2#+769l&inbb|h=54GR?fpO&0Il@H*=Zmb6dG}9WHz|U z;2ZiN*j16m(Fwl5X=!np8Q}xr(ZV=b8Q)NjDgLM1AKBJ=>!=M2BVY=?$G?xeu^r4N zayQQ$khv}?DH+$n7hm>t-&q~*vtg1^6`mD550Si-%7!DXPYntG4odT6dQMUTYfl4n zarIuzR@BxS;JbFe4@gxKgN#IyUJvImmG&bp`<4G1^0nu%(Nf^out4kIp=ESmo{A?O zu5xoV=HwR^Aydn?sRiDK{{8D<3PA4y+xHA7(vSoXgE&V1u(z$gzpMg2f7x9*ZKWY9 z38d6r#a6q)ptzo5#-_?(V`Kb3R)~!x@()|0MY)mNb70xw=A{MWh2s80@@{2s>ZqJs z*Hd&tB|kzab1V^`R0POaecOP>mc=WIcY?7|7DEh?*e?MOA(Qa$n)LW&Np@SZNFIfY;Mr^{cjCiV6DJoNi6DWcC8{{;r)ag_bK?(l&@ z615df#{AmT;edz&gqI@GDu>e{LaECgyAm^gTg?2F8Rd+B!N!vF5L<@XBnYYsRLcQc zC3YC>_{Y^bFr=V(f1z4`eGf-zE6+jn0xEj~4;(RfO3D^;J$i1JvOoZwY=(2}lH$S8 zZREYo>BfiMHEY-X8Mi+BujF!RH4X!6MrC&h2_Kj_l=p7?Ym(~y0tfeBW-`6s7#TS%0@BCR(*!mZ%b#*Ze;wc7Pn(sq(p z871efdM->tbo|GHD9#)D&+sHtDY)+rS`@%{&1mTXS65?NQFCy3GE6L3JHNfvxdre$ z*VoUo5QO<=S#JfbuBk|pvZH~SgZ1Vdx9#CC?cH?^C7_X={IHsR`!8r~C?n0B_=Ud{FN=Pr9PABWNg=^gnuvScgVY&WU(XQ0 zzGVj@F9U6THP0-?lt2?RhQzEp;k%*kh#hogt$$PMSAj+K<|_=IZmvXZ`i{Lyu&Clz z$YE9jX2)JczbCsJG`F1TP8Ih#{t=54cNKuV)q@zsku4TX>H{Tg_3IJsx$i}z6nG%* z>L1b{2iE~^OU|FYU=Q=Tm(CZY6}(}neazx*rQ#}~&ZqF1zG#Wr2cVY}TZK7XLMIW> z4A3KFp`G4s2Lc`6-FYo}hex}nd2WiRs;lGG5#JiE*Ua14x^LT= zC~>rRkT!d)QPoHauTI9X^E(f2v6pvJD4YUNp5{JQ}2XwNwTnw{nK^XqUTPz?tc zy`&BMg}_%AiyyiS|r;OKoiX_RRWw%VjqO@wO5 zRSJF1CR3l#Q>bTe1yntP!My0+AUdK4sD+FiLxl#5sci45iB^H)Ssvo}n(K`m?t=wk zYv$YaP&g4|FyLg@TItvS=xzD*JZh8IX+j^1U_Ty+DuU+?jMTAM-YD+xD+hR;{kpVoTW!_muE+ zZA*n(lqL*lR58;Fj>Vhk^e|N=g4w>UpEkMdPU_PvYkbJ%*SCyzti}iAe%NxT-eGvg z*WOleGIquHMhu9%yJh3s+DA&+M2RBs{z+CmrXV!i$VEE9q) zZ+eD?1;7{OG|16eTgsr^`VS@r19wuN7DJ42T3w^ zV??yE!-EwYr^BLr&uJ3yVXdD|OhgBvW4CV&nWnB={xafSt(SH|H%}DkknBDl1JIg4 zciR!S?HFA0UQ3ib%YBs{eecHBh0iacEWdUcF`e4RN0enX?{J6clN zyeqX2j$K#=Y9^5nQv^U3k?JnWM>${WRhfFxJNE5)8>>PBw_p<|QbX)^ncN|r0K2z0 z7-O?TFY_rz?@$S7;v!Sl&rsnQsLs;TB--BZ6po})M0&4wVs7ol>*S7+Rv*Mi34z!} znG7VXipQyOJatUT%(0Z(z!rO459w~`ijJcc)6Lkj#63Ab96-%SKiMCod(h40@q90Q zdY>4-WS22P_0#h(>K^;v?R43CVqN3RNhP$6!scr0)i|dmFz1Z}h-VH?G+-lsqLHDX3%UP7WZM9QTF#LI_qR<|J(gcLtdFOn;bDIAyIqA0c_jZ_SR-6kb9*f*_2e)LhqU}*>}~t z4k^jGu-h3)e!bB7gZ6-J=n)Zhy{p?w1}fy(A#l+<=34s+W$A-=xSF#x!powoAC`7;6^7IePszc+Mr#ROj|aA_5~q^v0xcvcuqqt5x)^XZ*3QJgUhs-}kP z-*lw$PonL9c)l7XLJ9+NZU8qGZ#p&x+ok`8f8S{Le#cDpHYM?01VX3-1gb{0SZ=gE z{l3eS`IpD*cXj0xg=?dIBJqjwiKA<950Z#Ms(ne;Zx)A02x{3Rw+q#A#(d>3)aOI0 z>`apYVs1eTHX*^0`V3nIG=ut)M&S>-@krd@E?+e38l{K##V_Q9;@vFZAkqjaysCZ+ zu8B;4I^F&vA;^sRqM5k^m8fZ;p+jC3_hLcr(1QgxnHz?1##da%L8dn34aU6_VN=Ku zaP|K+1qXTrY_CZ8OBC$s&kQreWoZp8az2G92pZ_85koiKARZb6dwlC$cG3s`6a5q6 zC|{jv0f?w(U$*zPA`l9ViKQPs3VfudC~puFm+%SBA3Fc=*wgF>hB*AT{ASP(gWGbz(g=<+k>qgtV|2ful1hd_%})r?fA;|5qLIw*&YEgCB#2&_&bgatD?L70pLWToS&dc=)o1Imy5#2c7@ktVJYH5)K z5-ERMXY_U(OB^z{*?yKb0o+Fx#G5GfSJqz)DN6yFr=Yol-RPQgJ{HpGrH%7HV$$=R zosiim@bDgYw>3k6(#th0aUlcDil~WYEnFL)#6_|Bnr$G^t>@%d*%1;#Ph`Ojd9wdJu2E~EZ*n8MHfDB0?EKF@eTQ3#AWkk z`wtk5>LIb23_~Kn+71E+wi9SsQU%skY`1f@H|z@M9l-AqjJe=YP8G?w{RQUpuR+`=%IET5MoN6#RXXd-amJ-C}_$ z3_H=|o#fiX)~>$?Y~!&%iydxIyTX;hMsIz;NE+H5g>-fUmP7jGW1eoR(dGwmsotFd4DK!N-%y9&S1|I~Zp7K0#-Jv2wcv$uvo9ZD9bi4NAkKw5ivAHu)QrvjE$9b( z;%@Gb3qaXT`QKd-dlxIhd>3B}awjGx>H?)XvaOvz#=`?E7JqhIx2kg;{ET&6L-Dc; zTI^(~HX9`f3Y&acZ;b274q4|I!+zC6Tz$6~Y$(eix64xt&Xn^=_tW(JjKJ*Gb@Xs{ zcD9SDnJ|cYH@YG(XbLXNGe~ej)Ad!OrU{Urfd;spgnzLmjK_w}9=%`{EF_(V5Am-D>9dxd%F4E7FQe z&e*!DULUM5pi^NadP2-CdeoBI{iY77e3xe}8MkNWC@FC_x12oKYE$z!yv3U&=y~9~ zKSbB|n=8*5=ry-b;;tE10W)>#>E&u}7qGnC$XvNctb>GZszJ=gBISMOUMKz%!Lr}> zvCL%uvy|P18W+wI5=xN}aD)PxdBLj7R2l6o_sg)$ZNvyjKxDklX+UfTTm@U`v3=?u z&cnJ1G*Y<37OwHZ!&In7eFFy}{ZGD0?EQUxv~+iwN*s+3Mxk9CEMfyNt@tLpse3ZR z4_bf#n>}*@M0KkLg$r)eSu^1DA~=NS2xtr+_qFFdttP3&j)xmx@xpV{eQmxpV)V_c zwc5BBFB3kW_Ak2++GMqv#+jRF+4GfbhhCck;bcx59fS=GM;~6sCT5ITyrKAII2mVx z7scFS%UmPQDq%qKOW=9JWg`4%xF2q~eqPQ)+4%nBi!!=khAR>(&{Bl74L`{vC$YD^o7b12{qzpg6cj_R2_ zZm>o54C#9QwsCWnutuGaz}B(E?MAmxc)nVo>~fKgfT;Ia*;VH{Qf~;zs8UdGUIyE4 zmPnN6%{6%pE}>A4qx9D$xhxWE9G;X0iAhO0fbmlTy0&rnhleS}oy41>gS7NK#G3av zG0|&t{6Q8Cdkj18EAjQpL_{eQ9 zR9?p=+sr?P`f^~m+E6td1MjAX-z=OZAEI_{=SF}nE6@xXm8oXSi1~EJLVpu!_3|m@ zOz473gxXPr8KKj<4wh`nD}$ZotJopBd-Qy)Pzfl?^D$A>O~)}gxLKh$Zh=`;$*bET z;QefgFVD4joIete9MToB@n3|5X+Sfqy<5{Nrq$>lv|Q3GhEA*rz}hJGUmJ~t=9}|x zvT`l?A82093P7m}k7+ZKxPEhWCIPf_XSW)873|xA)U65_$@0{^KJ$81Rm~lBxQl2f z*Oq1M_dKl9452S@up(+hfsx3k;*Ii=MwN(N-+d;{nc*5G*KU9X+6;$?K0VKWc0akX z49~anenP}eBp;Z{!h+%i^7~}(bEmZK_Q*$4 ztfSV9o#h|$H&JGF7|XP*v+~>2r4h-8)eOT)EWZQnp@Qdpy;IIR)yIwtRSA;L0H;BG zdl^9Q?s;SE=Bl&N12}7&re9`>Q38!y{##K7s|0tVW$(0fDsilU+$HP6W$W!X_iZiG zj=Lf*)AKV^@O1Iz^7#-yfb5X{>t9~HTp;ArGkJ%y>-6+Al?x6rT$TjJ4}LGm?>V1^ z1V8zp8piU_(&1MJ!Q8ZN>uY8R~gx>}5xIrrfe&9Oj2J3>r$3LX! zm?i9X-RUB}_t6zjb5)o#Xdus7+8D6nh=darD9j%zHO0?l@l`f33$iXDoc{wCw?b(M zFzj=1;Ijatnvn>*sQc0QnCOWB;z;OjHBx0gaK#n5vHJiB-vjc_0y9C{hdZ`cXa>4m zK7Fp}D&Mf%^G_RrB9{SQN>23Com!PL|aVnPW?4 zQBlhOt#Q(T(eKPn!vE@-J3|KQpZ`@y$Z|LUMuja4e5|3gLNwg9RY0ZWC||jq-A8Lg zS#-2uE}UP7WmJR%cpz|E7vS01T4LOZh9?=c00)A%=;s-Kd&*H>aKfb<6p|_Gn7tFi z#KTGu#}dUxWoB6G@Vl86rs0{Vhd%4JLQ}174-mz`!nX>8@aaAm6el_6j&;=9uD}v1=*fWl)R9*Te+N~cX8KcITN;hBaQ#C_JhLvvmEn#5cH}&zVT?; zT=wq6mE%~UMK`AL%pvX1dMIBbOJLq1>d(5i8&eq1@gXtngl(T`hnO@rh2pC#DJYVJ zPS4x8IPB0(2V?-{5e*TzqZITX#_Vk>W28>%a5-&2DMo^Q*B55p>3n0kD9%IHxuDSU zxmSh$SDvVbL65(q9l5Dx+80n0pM8tZ-84hp#rY%mPgpKWAR2FSfv4ZYvHhHJjZorZbN)Be|e;) zu656>bC;vkpqC*O6!81=XXA-4WAD1m=2A{3MR#P{MB5k2mzQ%URxtZPa}*pYMA5US-E^ ze7)^HS2h%_Ks$?3wD)xbQ@{qX>+Hrra0cj9%~Zk3-8FCZ@NxnhM&-t8=MTF%9f4iD zx1j98_v^zJ?u&5Z$hp=`vN{}4uPcIi!Cm3wDTICL>y>wOU{8 zN3xU<2vdUn`&P@oO&TtdB&`_!0$d#m4S-~q&<`9X^4eZsaubW(m+fM?a?IQ_m}%wP z9sL;xaI5zYQ{gTz_>Dcra#(+WhbP}Y=X<1-rZx3LI~U?@C#!uGcD2m9w>V^>6+3z> zItYA#sC8B>Y;*2JnkX4MtjEBs7J5HD+=P`PU`j+iZ2m4T5A$?sA{c!(Ics5yy@($w zbv=-hRCv<@R{AztBCyaD==i6i6-oE7^i0%PFO>K}GYu#;XhBztE->tgil1oX;}b8} zyQ4mrlmZkQMo!1!_Sbtla~y$2`BM7(vsL)oy$YgVTT-GCCvKgq^S-a+yqF&e=6Q9L zwu8>d`-@Fa$gKE^rHkeJC+7@O&^Zj8{`}OvnD(-{ASXUtb0_x7AE8`JB;K9?(AHd! zk#|~mdes2FDwIQ)X#)TIp7(d&hNLSC#$S4+?R}DbmHu=uj_UEJmEl+qh`XB^h5m*v zYkiE^oE`l>&=sb$Zu$*+Wy{$UchIX>h8mGcI3;%u`>PNI^V zxmEJ!u-4@PfwtU)(PPG7m)3i#9ne$Bh)X6wk!TI}dBIzjDd&SVE<8b3&nVjduL$qx z(d-qti>KT-xaF^(p0KwDFTKXJ?61TtU9c(FR_sgm;`!TFX7!_TP0QRQGScl-7*1xbLE@Ge(Zq30I%H5REzwhsbceZ$KchpS} z;lf*jHrcgCBrEdGaj_)--ugP|f1F`ry0=vHi}eJ!@l|oeJ>e4UOy%l8LIREJwpa5p z5!Y1V&pB|?hgy+jp?5|Mx5j53%_YPY`emZ($-eW!7XDM0_rnQ@m3Td&OKE4#ifg7O zDT`%+FEx75z!0o1AY)s0>3u+c8Knq-UR)k;!I@_RC-KiImN^l8qRirhApP7c+Uo5D z*mRfzGw8dr(|`4mnF!E{{=1-FbVs;2fV@TC%7@J#wlHKvPwfAB`>s!lTg)7-j@G}a z&-v%QV#T31-3c6KMd9E)tx7Hw5aQ9CeF?vmZV!e5POEj`tlQo@&D92(-~FXNIvQcz z%1+iL8*y9jwYTG#P)m7bs{NA&`3O7Q$n?%1+8Q&kzcMrgYGWdXVA4G0DW7}S zDL7Wm9m&;qbH(j_90&NBevx4h8BFU8(Hr%r>VFN_5^CkS!&&2O%0pR`0H9p|l9)~i z7}_^S?+N{pB$>^P-ENLLtUS8XkN?y;e$%i1-O%Ztb#q1Mk1ry7%R|oq_fnCI7r!FY zjRV+lza`jhRzrt7%7^G;f2qqqLdI|FsXq$I)Gm#`RKKBPT6?|`y-JKB{ugzlNiW`s zKpvwSx%@;hx0h}YfzSgjfRn|J*K7jAn2yPTEq=d>cvBn%i&m@3Nc!uRawmIvo!)^4 z`}A1NV)DuQWx_+QrBr^oC!SD`>?(Nb$Vgjw$vcVF6MO|jh_qXKr6zpI0^SvQBv4n^ z)%8mu!XuT5r+w}tKAFFAL09t6uKl3RZmXgS$AlkZZ=_u^2(yNKTKNB8hETFQkvkz= zlokl1HZ#ljNUzmZxD0{lq+?0#z29XQKpuxkPLH^Ki}Pjf%gK_SJU&mR-YD*cPeG)8 zAoFh;>~a6IbKC(%64losE@vTLuDc|Oe>KG7}`{hYjV*zo--^*|V*6$(7m zNKc^WrUjtr8T4t}8O@QZ1Xmv?k$$_w$FP6$W-)cr=n+){V(-<7*HVFO;gc`~m(`vG zH~oL;C##e^9YYLYI+(M|bE=!)+-L{DzsDo@w?6+;eYc0aa!dio4(uIDXE^VDe-JPz zrRdyGmc#66T~O)8!8A7Dkqf@0K2Wy2Jea12BBSA5N%6A%Lq5=*LShBLq-D|G{ut}R zkCz^L^*wsi$nmaadKoryuVZF52(SyZ!p;OQ;gaZw0&`~4^I>*p-Z&j&Rp))Uevhsv zyC9-6&RzEMyeR}a)-*-I`FK$}#HQubdkBR&W7Z>mea_EfTEuQH?Eh}-)|W?d?B{J( zz12QvEla|q|44r7qJdH*jrmIiROnU1G~#MOgKn3HxM{4#$Ng#>0VixDIuy8> zh5jyYPa0p(=VX89GzB-lfmPgCBs}TBl7C;H##uCYk>8GoQrans>iC$nlZhr}q$~ms z)ymA#szeFc&vUWD=D)l^-fL9E++I=-x%46u(o^vI)%qo%WE+JzL`(kWACGior{FX< zUzmc}`8Z{5LvWiclpzMe8_ihHkx^#LEVYa#b(BpO4+cv&GsS1hbk;zOo(K+v0@}GX z)DkgMU^w*dS*Danlw`eKRG($M9G3RowOjc`3mrSZKEWh)%-jyxeTyJd+E1$#Ct;kG zqjSVBKv$P^FaTO{FoW2g0*1-*0!QG6J_{~qfV|8{wKpcL*SU4SfMh-eVnqbIQ75-Keyn@Qtn*s4x_Zzi5>IvA6>q2eThH=W zvgXV?|7ZD_-)}y!0>@Rqpgi2EPp9}!t0LI5gbve(7IoNAONEgKe8cUL2hd@eNfIJ* zB{k-G9~p0shCm@!PGhGf#90$SKLf}V-8gB-HTw7T6#6U~A#D3xc?R6!$;s#spHo5> zlOm=T(873}0d}7k(j3sU1aPWqVi^QzZ0x=7CDL~s+VgElI`Vb117F$eR;sqyW6h%6 zV19x8R*Zm~iy#ZOu#O$UyfiLJVAf&X+TzY!Iq%D6hjbnziihu+gs=>cJDRpdqFpYX zzj1!`1$~(@aId0`NbY`3|A^zdk?YOr_E31d+!c*sxiM~jzIDN6PDZ${rE;<8*3Km>P*EyLZkw*H*8D7LDKz6jUY zx80y?Oe!eBNcD}qreL`>g&c^g@vWSu<9{abXYchFq?Ka^S0?+rzJN8ih16aSa3ZTW zn$z=dEaH?4Xc+q45?WA%Z4^a<+g^&bmCuj60yf?jamJN(vq-9IXRcfX4VJwGfpO0O zb(uRU=%c2DZ!L|~$3A!BMD&xsg=1>flf@4^FsTz(M~yZ4N6R3{LE*-^ni+dIAVivm zDfW!w@nNW$FC$=-4-g~}Z?W=oLs?`0q=W$JRXkD^7QZCB`g_-?lZ)xNGEHgubVtUmkh+V*Eb-+roR_^ZOblD2EQdzAx{qPL zXMz%jom_NzK`BhA{oW27Dd3}tzeNEu-__GSs?IyFZFlWqG3OZ!uVtwCU_b!>s6%4U zvD$gF%SZ?qbqH4=xElLRO)++i48E*`C8I)40)fd8nWGA9lhgu+?V`e!K_S>gkok!c z4_-k3jv8YWI!5Lq#GpTY>d5C*c*eWt5V7?h0a10Z0zJa%Bq%aYl(HM*T9w`Mm#A2> zh2O|wq}&E0496wm^2&T|InT(pI$QelWnM%a=7u}f=kh<68y*N|ctD8qdpalrf8&z~ zpACZY)q8vG59v0XMwr@dq(O!>DFKlZ7`j0jQc6msyQBn>uAxKe z&Vd2xlJ56hKHuN#U*n_Cx%ZxP_TFo)z0W>#-tWv^`CCWG{`y?AaqO-&U@HI1r7}D8 zTaHAeRYK?CXXWs9gNNU!tq7k1%uDJ?z-QY3tB-%&TI9q3ikn(SN;t=Gg;QcgV(tqq zUq)H^Zt|QBiJe{s3c#C89>wT?_dYFvjx0V$9_YkfQKQa;Phux)JgbjKQSKYKy}OTu zFvYr!M}8GO%b92E_c*yU=sZ zZ#W`a8t(1}xm(A|ofws0eGwpvtQS`x>`1DUosBVTqTEnWx?Ie2=V1*SE4Jh2W%8=v z9p_Z=n02{7dgbg5Vkfsok0QdSy5vkRY6f9RnwQV=G$duC+(JO3%LqTp7R4D`kn%1z z?zzOJQ`H)G7J?A1m)>Aj$Y~Exx_ZBD%If#W?JGMV zq(}H>sqp~$WXu`m?{7~CIuissq*2{GeD?iFMyygHH6qceoyK3Sw(&bVkSnLhCTBT@1<=?LJQlfiu$p>CPFJSJV% zO}$bcM+W#NB`q>h$S8jVYGnQQ$Q(28Vca4p%_b+>qy2DHu0cxu=7O^Dj+Z@e&>o4M zw%v;tto(IAZ~@tz>&u5~pe$g$;3IVnB|6l1_Kx+(s`t;-6sfZI^&)k=y=|)Fl?a$m z!Zoo?Z?wd&YdEUq18vb^W|(-)=;QC)>j*aD!FWN3-h`7^%NL{xU`VcUB+BL3W4DH& zCU5D(S>!vT8$|{!LJ3xJNEZovxnZUV%KD7-4a;i`>FErsFz=E;N@J62hPRAI45J2~ z-nknnPBqd%9lSb>nvo_Nu_9MITo&n#%+I%5-|3F*j7($`JDU`Cf48`_fS9nEI*Qx- z(s05dpsi)_T_7b~a+=F1Z~g31n{<`iN>rXLr>rM|pI`)^zVN>A_h+f~1J4(eC4K2% zcm4jIrfG2|RI zTxD{B5=?BDhuU$oGP3csZ}OS>1L+gvS3lE>_y<0JPnl8~<5ld4|pZx!;x?o;1x zQq8S@D=xMTOhhiP;J5{KHD12V5w*m3iP2Y#H4q2f_Sf2S+kADOO$I6UAdL3V*^dc( zQHt(#snne|vPkPP0#S8RWo%3~0cvAx*R}UPn+_L!ER8;?9kWcHtaia~U0Uxwp3P?K zd(c|D|D8HWnDT)s@Z^*>? z$JWVO*;+QsjjUj}<@V$Ufu|>!%BQUZ7Vj_1G(8zc!D@78euFaoKsql?vozaR*{NeT zMFp}V(x{9q3E*q^%mjBDk&O)k+XiKeE0Yp^HZK|#JpLXSv4f6)^9CEJ&A>pA61h0!FX+7e zja{aFqU+va>Qvi(3NeiEwu<5-?fIpAT}h_q&2s!74XUJ~U$?g`V*=?Az-*fxLqE>X z%~K~Zlu_B+Y^g5wq{?R9Ve@AD`3`5%m0c6Om$m-q1X&!Qz{W_95Z|Ul)JU{cnr`Co zZMPU1_2*~O+9(!%5+}q-MK)BlT1qlqKe{U)GZBzGcmfx`#ge%DNh&*)d>z4xgj3O!~TYS0>|Edi`s%BV4%Z_-MTd0G1 zv^0J8SjPwdtCpmJR^(^jqM~TEc+(toaDplgzEOl>SK%h9V<&Xh-4=}Vc^tAnqtiFr z3dvqWd)}P{K7iZuc>TRhwgK$;NmjSfz-)b?AHHY1+;oDD?0@kw>)j{+26fdITh&}e zyOU+R&!$376Mt-r!Vi1CTMeoYY3kD{{+lOU>YawB0;<#37JPDLa7ll;2YheB}|Qr2-B zjH#dfjHMC$dJiVf>Q1(Y#7-hhA}sw!zM26a&sCM9)(Tt9ZwpAQ2PohN`w zRFCF~ZnK;Y-G8XkwlTerxRFYEP;Y`u`c!O|=`P}vks*^Ee`VD1(~uHAgdw>j%vpt6 zbHre~UZAGr@TKCTposBuGF$XFE>-y^S6$CxPJ!s&zP{|58lAo4AHTl8F`f5$Qc~8% z6y<;rh^tbZV(rIWU6je^@MLyI|f8uHIQ}P^RpmtE~<{J#C%hEGXwGc4V*K!&dfJDl-&|ZD%cO znPJ(nSU9|rnLh&AIGr8>-g%0}E>$+7n*8+@jz$~z;NDf+@!P@$k3 zrc3yRbT_&BgYocAIh2`*fGqQd2OYOJE%lIxc<$c9ng+ncnz`ZzX%% zVu~!id%qg2g@pe!WSBEOGPn!od~+LXf-#XCA##Js8W`aIQjT!29?h&zw7AZzr_>6B zJ@`X&+&{q>Mr&`9n32KSS1u7#p!?RfHQ7dDF+GuUKtx&N6Pf#m@7+%K+^Q{f{#9%aAd?|0g7EN%flrQE-I=1Z3hO_lGkc#M=kObGb z9i>!bIq`8g?x&KHsd@9c;UX4Okt#*$(wtJ(4Q7c?On6@>q&(1W+W&&t`lpw=C2cqG zqUWssbW&zqo-MTHC`(U?6pAE2KvO1hDXC&)MrOLEXhL6aZ}+61A6?+V!NJ#Bl!V^J zQQDrOR&SZ0ZsRRN*}J;(udCLWrj~y_k6n2@BH_JUgm$9@OQLV#o{+55L=5+JE9eqV z5LU1kP{9!R)nb^as&P2ni%q~*!$(KQ&7}Do8%Z^yntyf*geN#Hy;e*(`~9=4?trrAP3GH*a`hkCg>5Co@a7SE zev#E@YHPjHdv*3D~{`{V7u+^-67h6=0 z`Mm0X^WX=b9uTGNM4hMmQU)}E@o%U4D|9hR*G^#cHW`n?rh~)D*RQS>UNlRzDQYfE zOph?`F7uY%HQ=4Kd{c{3)Wono!&3Gw@oNUfjngTDbGw#op=-36$8q)zz#1g;dq{KtYeBb&W&ek~;1$Bn7^F0FuSkMW>*9VOqVq6GU6Pg<4zE*#`R8A6_rtG4p)6}in z<=^oSqB^8Qgm-_i>wMn59CBHi@809lhzrEFYuBNc>hH5Yhi<<1#xfw@)nJ&o_xq`v zxj}vIcGgnW>A@fXJhdk~cLmWnao=VOuwNE4#cDq(D9R?eB};}BiJCV*cAndbT9h3+ z{8W&;9YO}MDFJMt2@@EH}5#Ht=d6WF)$K8X;U$}Q)=WmZkssIPO|B2 zesl_Ql$bsu16R2$P_Ruch>VGiU5w4JY&I6aXHLp#F9B7QlaV2NO;8Td%Dwptr$0P zd3*d(S6_;E!1eX2KO%Nq+B=y0i-A8o>-N3qZ;Nnp=8@cP4k8Z4y`4R5o(x!f{|0B* z)7Sa#%>p;dHtw%o-}3~#e&y@R23uHUzeXS_@y@uG0nE4PnKuQ3%uMG?n+0dsqK-1$ ziSF!Q;a=M!NG|P@ssac53B&Z5WXnoh2OgdJtMXTYw$l`)QJC&&zd9;i>9CqC z>gLk-`}I%bUU`a>d=ATngX zZ2s)qJ1dCe8eIu+aa}FkijD8@!Y4;#)QvwYGf-_htsI>Gp+jT?_qDW=yEyVQ6K!f7 ze_cT>$$9xjjB9UN-In*M&hp0};cJ_55*B-lqKA3wM%nAW0e9C^n&X9l8_xx3B*P$d z=!=9eT!dBd_MP}yq2x_cgNX{enOSbr?W{o?I_S%IhF~N#a`SNxsEyL)!F-Ak20qi9 z&1|+NwlyC|Ys@RL@gA!$3g34;UP-kn?6wi%w6*wHFrmscvk-Agym>krj+3Jkrov0A zi98ewfq>WadmC`_===2az(jRp!r_G}7vZSJ{NJK)G%JaT;dd%FNIBAbuPthv0bSc! z*w(|=2Sskou+W{}SFNMGKts4npnVBI%|F~&vQdt~(@qi_Z90ni6DMK%(Q21ce~bb5 zU(&E8kOwR_!Lv?`-qOq|p%G+?IM8EUxDK4>HE_4qi}{Zm&zNi%y79>du1|frYV%#@ z;j089sKdA6dHS>%cyObY1=aGTmy1UbNl=E(F;)vriI-FmDY(=1gGiP{2&pk2)yiXK z``>uU&#cfv-`=ABIZpgHpA*(13pnv3abK?V{9}6X!mJ`9A`|Gfq5kf73pa1fGyG%z zh9cfM{rxqQo0s_bJ*{Tgx|EttMM}OkeyoKVy?OfTwW@SFlPuxiPdbrXcMHJ_ zf4mHbvw08tWe;)y+|?3q;OdF#=)(N6?xx3uZ2$q{OUE2z=~$l78J-3X8UWMyUP#f_ zR}UYdEX458Gyi@4`n7&wNpbPQ;0(@?0|af;zuv)wvvTMQst#zcHDLj_+v*k}Y#RIC zmj=w~AO{nb-~ZoKC)1ZP`R;z=3Qw3-$cX5_+3+;tlm(t#yO;GBlT35NKk2A5arU|m znz{bS>?ei*TF$meW_z{l+}!JePoDB8o>aXzQ%V{VY@BDPT9oEs^Kuk*Sq4w0L?WM- z-1C^fW=PW%W%fl9*vp_Guz-ap-E?3@{w-2dFE$gylYzyp-ncUGQSL@O`T7Z8KR;FH zdf!bLtl78N*6{%)zlh4g^0aU%XN1__v5l`=wmFZ zfBg7Dd3b7KX33uQJ@@LsMtAeaNAgu6CM>*0e3SI5nQwJ@0FTyW{b z$HVPK3hSqYW^Wvy^NAoz1|bN_jYit?2Ep|zce*B^hmwjETM9xGM!i$FA$24kh3aa3 z#ve~G$ltH(E+OGntIUj=(dP)A)Rn9*#7Huia*L)7ZC%@96y&e}nyq1;&SM~3YAuS~ zjw6544?W-qwAt=5GPd7p+PC$2sVXZa6>(2c%FeZzAmxJ<4%CjLYE<)ld=6#WAGRv5 zY_T6WB&!JBU8Sd`4RlbECoOZ}hR+7Sj(*)=?cxB$2jg!xl5|ed?cmJrvHV3Afu!Je zym>CrW?sFWPQuYhOG!z!rAU@xrn#CCs! ztf7m~5Y2H|tF&F8aw(h!@qCuJ|Hp>U_iKa#nQJTg&{SQDYM^dq7Sy1gIe&nw?ObQL za~KAC2EDcvDKJTa9gv)BIM6ka#QZ%Db5t#tzj5GdT04w8`u)4ElkWHWYO+n}lw2o? z_sbVAi1-Cj{Q%Ct1(%wbv)kmhL8M%St77**+bg%_LD6{uhmtNj3}^}JqubP4D(IcL zBnYcdoN}*-epGL<-t_=GZ7XO3fZeu7>_U|kOPG!1bd}Nv1B39aoD_TUtZ;(Rlz1pk z1egN$?_cv!`izDLjYdQOtb@UJj!>LR*d-L|tKVFxKNec*0&Ma-nqOwkkSVy(;VA@d z5A4#3U?50*aNeVz$OhM6+v4gjo)~iMkUVy6-1t$;Z%sa|G$eRu<@EHoy~^~Z)P=L% zo}=wWr4!h8Cb)8TK~R8$JmS8M>Yd!o?h3 zfdpO*E6Ww;WD0^uEVCi)`v>g&X%PN1IO8l!ZU=PI+1TeT-blmBs6{a5eU9TTETN4B zJD}%x4&m@#N;zmaZ?pAGqjy)wjFxcXXQfd( z8XEoIUB!oA6h=nsc?(GLW63elKGd7uaNrG2sEf&}i^}Gu0s+<7HSV1%K^gw^vkLX}%Yu2ydbiqV7;9{g9>y>`FCY;@J5At;WwgYs6AT&_#*iyiJ zTkxRBq&B&@`0)VUY->+&MVOa{Sabe*K_Q7|V@5iO40ss$9I69)Tij;c`0xu&#mfhm zXVwv)wm+&niCPnSSjy5tOVUR2eBShy{QNn1_osKCCx)EG2WMk*G4Nq=&hKAjENcCz z$rpWq4K?1<3i%scrmd=Lr1thP-@tmK#93*iPF6VXie`qIs`SCZ=RV2#1J7%sE9vJl zG<_*YD&@DdPZ&%G*2z^+JNU;l(NP#ei=JLfF>v=nR0JCvTVI_7feE1EKE%PGc#7q( z@XI;BVj-HPWfD6s?#~CFCypWXB8^5b8TMV7Rx^qWJ17Nrw)>>4#Vt#3r7QSO09*T* z)i7;K$ZHCQkClYPo`cAj^~k@Oo9yczKP#fulrD@Twu-6_}m zA#v4pbH&+BVEAnc$vR<`Bk$DW62$jMI$hN4Fg_7fOqr6;$0Az!<40km*T(UH~f z1cN=HS^5*M(*Ct>VQ)9!^5x4us3STd`))u3vp_5D!>-i4O+5;*3+g=kpZr>Shec7@ zvrz+)k7tOljRb791?$D7Eq1UCav|vHep^V1@%htHm$Jd@12W22)gAI_aqmq`0 zQ=!)d6i6l_xZ9)VN@eM=#JNCL=KB$C$F?FxCqlv zl;eWw?EIr~ayR;8*OJ15Pc87@Vq+D#q5{S(O4p2j3uU80J{Nf*iE~ZFGV61J`(H?e zEF6@iwuIhKZK?mOkb|+276LGmtFcw+v{98wUxt_K89<(c zvq;bA#{e5dr-;E8``=ZOk&&hQd)bQ@%f5s8lI>p_#czi7Evg7yA;051Km>QG37M$e z_0zWa{WU8oaZCt){~phAU}=P9^4G7F3JMCSti2%MRQ_<>;*qz>T6qfOL|*in8*MQR zSymh;e36ZLlt9ZOA<{e!hr5&(L_#w2RABaw+{XpK*}xw!b8~VY#diQumsC3zO-g6F z0{y3ffdP$Iuc$2)Qicok5fwSSNv< z?dw~4`cBcG#jwfq?A$g_TeBz@hj2eyj_{nWLEWjcq)TI^4-aeq*m3ci5^+6#qw)B0 z@}wAqWS7;mp0lYJgkCkIgbdqEL<6uD;GqI5R6!sjwT<4MoqeaENc$`(Na?Uc!+s^H z?Xf)m4w|ap?*|6;M9kfHUn?-F%%=NnHP2yrFzD*ltDtqP!rsrnPgCdPa;#+*{xF!Q z0dJK=1Y^{HnS=dg4{S=vxf|}c>o+1G&`ca`F7!b==V>jGZ^Phv$8YSk!^GQ~FIPgf z5i-QVe^R=Q^{Xv`WiFedkqF=|!lVP0rKD&B)nU!|QbhE@&0?IoCF9-LQ0`y+^`_|I zBe!n@xYpmlrOr@akhy8!L>eys)&3menz{=Lr{(KoQ3^co~{f9 ze5NA@z?^s@IE@?-U7pCH`+LeZ@#LA^S(p!Q$96)2*8;71IqtQ2L+=VyFLov-%+m6X z*q&1Clb-C%#26L+Ey#Ftu+!ERt*cfT3`Vj31mEWkKw4BJY_J``oz;4$ zfN#-hbk|ZSKBRdg#lU$gXH)+7iVd1dKvFm_j?o$-sbA|71+E+R11dj_ zl?`w!1kdOk-e+AkvDX?;(da? zJ0+_n_18cNl&jZdUm4*SHVO5U+8;t9M5_9*`!uxi4ErJ{f&tB2O))a0w!AeqKK{(5 zWPS%OIvghSv@&9Nb>B%g7I>eAt^hG`T(Plt1gqzTfsv}I8&IUDr+c4O z|2;UK&~-ltA1p}W(>&+nXvs|0aBwLty>chMZ_(O6{37ItMd`KFS8RbsVUGPd_9Oi2 z!vGwi?{K>+lK9eXwkNa6bNAj=;-?BHTw%9RXxtH7;r>Qg*pC?6Q5r-bXjrBG#`#Sh z@pLzmX{8Bl$dvUdw4kOTITnj$neOa%Uj(QVeNaY~I4kAyam;5ARrUJtZV~!gZ|W^)RUnJUHe)$er@>}QqzK=7 zQK85x#DJl6>szfd%FxojgG~wV)AuD?6;wVhR zm9bKDWdsaXOInnP!9-o9zAMB=yM-aNM|)`(n8YDY^YlSJ;DVnPrXlg3t$?JNUnDlY zlNqvDctsysTvZa}UzCSl_{tuMmtsJ;0sImq9U3h-wD1ycWGU6`p!s6xio@~I-g+h| zOrvo}RY^ZMbkJX7X=o_@JRm6Gc+d_i*0T5f*?a_;;%G9x=pgNhg%63ICni&!q(PvH z2>{Me)u`SpoA#0_e*U1fi$9*;B5zb7J)KDf!-Oj26v_gTB2|pd7{O<%AvNz4Q=s|t zD=I+{C|DPa=Wti-d5vCaxEH)5KL?Q7+24a8qWNM1Ux59z`^kdo#EZg36=)UdL5RD3Poxq)0vV7GQaIp4f(mpmrQel&A%SfLFGt=4#Ho@0w@}VVr*p z`b8PphTh;6U?M_nEswFGRFzr#@$FTYbK-+t#&%aTcKEqHlt08%1S)tkg@qg7eMnAe zR3L8;wE0k8f0VCP1_YZ1mtz1l0k%BXTm8xEGZ>KHO>XVRn^ODuwc{Tk!^mG9a_W8G;m}fKVU{1~~>?h;eZ;zN;(9UIf_L@(TNUw&^4lF-oF{y)&u*lrp2d?YPjQ7+ch zuvaeZv)Yo*p)M-=$>X7ncH7?|pB9~Q{@{!XE-E64NK7nPf2)?Ds}G^+FdD>Z;9DGX z5<1fd5)c1Yc$nA1AkdOl;o&L>oTz!G!}8Z>)X~%$Mn5!Vm6SM@L`|%Rw}v@6esQhX zj*pd4KU4-r%gfsfLX6h>U>+?AonXWh%gNm3+2L0upE`xs$CD_Y(hkUrMgy+$ae?uR z;MVtR8QCed+0x2ue1uSAS+UL}Of-wW_g3oNNz0ZWk~449K+wmPue4rkvQL zk4qyYx1`6=maV6jQTT!NySSK9*2vioR0I~CLsm>VMmkBgE)2Z>8 zau;;OB~2UE!{OjVu!;o4@YD&7!2(TLJX>Jt{{}~5C|?m$7E7LU+$K8xsQYD<6srVq zuG=q%aN@ux2W4i!Gu9?5`#?RB-MoL*GnNS4k5C(?Iw#m?ko!9bDJ>}(v|XdOo=g&B z6J!W`ej)615*;-< zf0fCkvP=q-KS*ZP`VMSxqfv4h5Ou$0;jkai22PvA%0pVpiY*s|9HT&C zLDAf$+g0N~=QU}#lWIAq7=&`)4B@`;4{8iixzp=|Jvzp9YXnP{z3W3>yA#yq<3psN z+;s&hc0EB^0Rk!Q8@j?KL#&Ko&>K#!K*EL;0cntwF?QEhv;rQC*iO%h` zU|hhmv_astLGPQrhTs8px$#_*1jcwMU%SFaI=_L(e*BeYjabNV`w0C!0CwgXTlQyg zj)hX~d%H_^jE3*ut7&V;=ZB|$IB||~S<>pYQ;_=u;hw-Rn1QYT)0q@5aa$gYBx5^a@Gc4X{z*X_;= zZpFpLD(2=SbASJitiub3&Q8;(R-1;J?Sz)Di}~IyFTcoe_0aNVUwLx&x1^Csl2=W!BzY-D>WT3t( ziMG6lLc`D?1egeVILC)RvQuybj^vN0A7m=SZI_H-ICvbSwblR0w@E3#~*IVNs0ar&!0n_lTzcgB= zm%8R^Wj634=8;4GDgvQE9(HLG_By2RgVWX2JGB?UYA*xFmf7{ym9htmwF0fD)X}`a=AvRMp{$`{Bo_IFUoZ~d zx0Q9husN;HSVqQYsgmfV^!`$+Oh`(X*pb!{7IgppzER5`E2aR^Z>b3^*)w}&zorSa zQ{!PEDg%HnP%eoCc8s&1Ke&A0v(*%{6oZ@4m))3=D%S{&@)bhPicBu$4fw3C>n3=f zjz%7Ue2bkK8vQ_1SB5^sW7&GgnoT+?5*nXw>BA3aZfNjCAZe6=_yR%=eWEZ5{IZ|F z%<3&uF4_XL;Cn!mT$#}dB=C1?#opc9d~unMH#9UhD&Taq=>Sy!HXvvftR<&GJM9c` z&ppSzd&KLyG4DJ-KmzyD#t`nx^)PXn*KIdBAb_#iGw@#=CSO8D0XGfynReIj_Q#x$ z+wG7@Y%(nGkpz+UD(=hXJ{4fG82~O&vmvc*dORx2bcBnMuZ%Ui+6v$A#Ju&Cv`8Ag8cj^@daDtj3BV(*_2<+Z`j;lJY* zYnP`b?A{QX5v>@7+&^4fR685`k#Ge{c3OF+w$}#MFIIm0m&Jv8_czoO-D(eo9Mpo{ zB@&v)S59sV22no(Kx`X<$az^%GO#ZNc2p-c{C8MX%zq=J(S+_H=VQkUpC`SY85iE$ zAtMCIMgu6K%f-sUdc+7IixaOMS`H1A!+jTq$V}1PMlj#_W>7u#kp(BzsPJBeHuBe7 z$k4;-vH!g)eY{s+JAm^EH=I@VlBeTBmu>n722@|Xf06Y5;~6UViI3^kM%}%C@f#m8 zlFfJni@&(muC8mbu%t74ZMWaUJg2k1!5EBLIk-g#z=TlF=1dq+B|&{!vXJsq&W&`N9kkeXdthozu&PIvcA{r(xW9=|sikMnaTg!w*eDYaXE(O2#)At4$U*Dd`n zkWR=4bPJ^a&%*g^dyWI%?1_o$hDw|ThC>;MPnZU39`)AvPWJFC;BJj&J5{EZ|D4xE z&iR5{I8^`0>IO06HOp!|POhSY$TzUXs6^PCjt|r>FC=zjK#{zG@xi}aWWW-&ewo_M zp31VGJVKpou5kFtZ;)rzcTENQos?ALzN{|_`cc_@eC*obWYF~Ws0 zO^&Cw4vD>cHE3{1-PyS!|B*z-LIHL6MbUpTyAG-;&mG5xCuK2TWNM<8HljNSI?|F<^JyMwO%QrCJA&20C z?0lZM%-c69lXMwrCFKYri!b+GK_Ilq*T5S{yL`kbwx8Tq z1~AmIe#2rS?4E;Me)7+xl%lYVXR)J8jM6fl_(zWF%0>8`@i#17azS;Pdnq2CIRXY! zi&sJ$yKSs5s&ygmN2OBy&7*PZXrKjpo;_n?G^fgE~M9(y!;`Y}I5Q_}9k;iAO<$piBv zuV>Hc>F$7{Pb5_*9Vwll)Xok`L}+Nf4bS>bO|7M=@}T&9B=ViG=+8^3-rnBGGs%#w zkVGW5_L*7>c5@XJ9As3yL4JHkp9t75Pc}ArrFLcBf&@zcJ+L!B*NdT?#`$CXQ;gml zsg+txEP$9%vDLykr^(JKqGZSR!i@~yv$4O}{_o~Ua97_Syb)p(X64h@&p8h@I;CebZFmV#L%{iO-?j{dGDuvh0A8Aa zM^!(pL%OM{so4F*dEx*M+FP4|4#)azHq#Mb_)LM@wAOk)F!1-XOu*G11~Mkuf4#He ztbJ?@9^{b8jtq4epEhl&Vh9$TRk#wQ*zgPe{*bRL2YaT>o(cjrwiQ6eVH<@x*Dp3T z1X3V0+dGc2OrL(5xg@#72 zA6Y|FQ>9F#Pk`Y&a{8&S)_~xu>fHs-RMM@tQJyTG_NqhW1Smr^jp4OZ$f;!upASg~ z&$)3zgP56VOO%%ci}ZkK{klOM0QgkieeD=~@n==Tl@68)ii)Yt%`y`L?+*U{6ZdQ& zEAxwb2yi-Bpq5~|%+b*|c*2(MEDX-%mn=n3q z`BL_o1@~9ClV98GfO$fyLaP^eM`{co5{CmhimlG@B1HnQqb?d)ZF0Z)w`f#h(@H}7 zL}4zl+Xh{xg~|@L>7c~V-OFdbJva9^nSn8;**~1MH>aQ`V;Q&ax~O*0l?v8*upg)5 z@I>}YxO3iZV3Y>=zNS!E0h!a65IqxDeq8PN4T#A=>h0s7T1f*bfk+^*SUqTr3ZOyI zhiJ6CRIO?Hp}n>B@7_Jg{wuOYt$LX!Xb`{mRwgCKN(R(WsNl7&rdVJb=UJB9kmjCD zcZ19@NLX|N{gjc__;=U+8y1%w0yI6M6`TapGcr<$WN*?TsxTyRv3}O9Rs|{e>$W2E=2UsM7#8h&2Qv@D#$K<$ZI>DJhH)5ndAx z`?c7YDL+51QZ`c@Hs=Uu5Phbkq~v3>RbPK;TWsTr)ntYfDAz7tSvEZMmZ?3AsoASu zmp^g`2?B8DMBImpOm!wpR36f}<^re^{ru?y0s=@V5G%MZApBXn0)%7|Y}D7Rlwo5t zDRKFPv@mZoEgVHIf87n%!VAuVRD1_vwcQpGqHJ6KuCty7ZQ7DL;JTFppJ%o4Q>m&3p#sj2H_pKPCC{{1Rx$e(zF75)+pCUF2oCACK z)je6)*mmoE%>2=Otsh%P4{vru$*L+|ArN-%RHNmLdd`$W`RdlQo$!OsrIftI~2%K!kbcpjvGl9ywj;o3_XTXx`T)7)vR5Xzn~fL#t=m7 zOG!b}KG`(bF8u)wvez>KkXq_w>lloZkH&2z%EnuX!BOx{ZQBOImJRZ4{zka;Y4j5} z8cs*cPiuJ5qm@S$+eM1gU@vE2Br9dELiDEh4}hR2Ns=LnfKwMj5)NCDsP(KI@WQX7 zBet~Y6BFuQL~J&KYBD7T{6p@~r?6^+!~Sgb#gohH%dBMJ$Uz<_pgDfx$bpUS- zdm|9?sN16#$y9q=@jsjJ%}zIYrc>39)kr~UuG--A2HRcyI&QeE2NbcLdue4!56KnK z4&0z3Sw~%6a%X1;K!%Gj*q33IDW|8vz2E=0KMQ#V#+10w7Pih*Kkd8VSb)aOx(^l> zgYoM5nw7!t|0J+X2oJ4>)?xL+a5xt61tUMuEv7k$!oP?B247&M06|i{VzyT?O~@T8 zI58@T6jF|x{u?fCY|ev3I=Ys7TvIsL700tjIVgc;FT_Quy%qWpC2GRUd5SK~H+b4VUA9f$BNjPz|AbEm zO3U#gHR4GCfP{Cd0Dc7Yn-G`B;e5rUj*K=s8Tt{pSG5*y8&&Bt!sQ;W&NI%!wEX6v z=++!b`jC@T+Jj*IaiXZ3pj+8O!`q@~v9mZqgia8KaS|FiW|run_IQUE6L$dR?pN$; zs|V9ZeqDrc!~?+)<^`O%XP!*7wd zAKtr{oR-GCEw&Ip*rH6O43w12RN0UvRsqqIZS{)%nSchwP3O+fuOI>YE2~hyL-4uE zJfM3DIp5diw^uJtvXphqk^f>G%+t&iih>k_pGI9_8AQH^!Zaa6^8pF~WTrDIHk5Qr zfhlC4ml|nPM`eVF9ljcp-#iHGGCn;%NM_X^68PDi#<7ma@?c)SYuZRZ_S5NQdQMUE(Z?Xs$3>vJAI6gCEi#!S zf2kRw`mdJ8albU_^PjA0SQXp`_GZ<4;*b!B{T2CN76)XjDPEy`04Ul&^dn=sJ|AIc zXIH#8W|^&fb}GRpDVz$b!i4VYQ~z1A{Bb`c?cF!zv+aiqJ>5pXzmeH;NrT$t7cV{w zBB&P^D^3P;tlzxKgP!_v!*pYOtR6`QLG%ov|L^!M-#QQh&!3+{x}_Z$J2?GHSEkSC z8L3NxqYStObx?KWwG64WWB~g;fpR;S)H8|oBvF%p%u6Fb+2{nUne`=<3!lwxbuHFk zdw3m?;9%2C?}2klc%>_A@jVe(AA`A-e=QV6wBGdH%7D=GUd;j#VBD~KKxx}R{~x;4X9 zK?XozPi>N{cA}627w3Vkd?O74A^ndjtnX=qK{7O1FEC7#)b@bLwmKv<(s(=t6ttbH z0U#)m8pCv1Pb^xc|n>+H88R;(jje_@ULG2(j7OUt68WW#?2g9TH*LPOOqITCN za$;xqaTwBtFvW+-8wz}dA;459hj7r2g9@U`zC{Sc0qhFd3#erRLdu18!SOlU9zd6* zlb=oywzNlraP$-JUe#W$Zy7jW*`gUt%Z1kqq<%y*?|?QdTc66#Oi(DO-i-m6?V8vt zc5*~;-TsxJufx`WyLTWErxMdWxpx8H2zj`d=mk*=YwLoSkjQXh{f+Ai65#89a~;pU zN%0OMteay=&0G6S zT@HC3Cw8nI>W(Ju8`BL|?!Fe$?wup^-O5#BJ$C4osoKP^4|OHNS(UCLIkw{{;fheX zpyCah>!S+;2OHd5l*6<;^K29*q)j4caL+JI63 z`DM`yt}Qb$e6DYaOjguDNjZ^CyGf-ca4^_g#wp07D*nseBlizFXTv=P#ZGgT|@K={qh7?|~%+J6<2i~RT|76R}!AN;V$SwD` z1kx$4S8Xv&92iPVU#1gq{pOs2eySD!C65jbAtX17jBGB@6w)pVbEGFfhndMQ z-0GVxEOZ^Qj^T5$*Xl|wOjys?`8A53{4?f2dGjXW!?W(h8+o5Wd`P1gaaOUhv5|to z*k&emH$=5vH(jT5RZ2914Izc`iVnys%cl+n0Bqd25759vRyH>O35~CA)z2J!%Jt_I zz$0G7h47bbY3GaRFHCOyqCOC8#p{=TE^##flupVuw^u)nAuci99LXaUE(eGib3N{bd$4 zo$GSEzxmAr(-N3yxBGf~t#W;7Eu(&{iDSOd5drcbAHCsl*`%L9r|xJxp|(HIg5dka zbi`%%A96YN;m>gV@g#&%YepAsFCI_4sWru}Be zRrW!P2k+(9+8vvf5K`a^Y0i9}{FD(z5k>Pu-bC&t0u&B`eX6z;{Fa=2m7x0m5{8H* z4JdJ=6?Qpm!ZuBxBR>(!&Ilnv%R>|7{NEB#r^j$ey8Uf2I{NivaLfT*W*7{s0Cue9BUg9x zvycRc$s2l2IMv7Sq0wz+{6NbB@>(hp!~$Js(&V?>?-wj}@_}oZKs5?onocz;Fcs5q zIHXzaOaf$9s?N&tI(BHn4ycXdB=#m;5{h^|wKyX>y?R7da5Md|j8m)o%Kc4!pC;mb2ax^9NZvA?T= zvVrXXue7W1it>xLC?bLa0xHrH0!j=e9V#sXf(X*mAl)5`bcf^s(kP{L4B${BEgcd= zj6*ll!@Gn2-unX{vzE){!nyam-?``Pv(G;F%A8+{7S80iBqLI$ey$X$RNwF!wm+)l zjQXhAae9aqqCHts=D|vg2P7qE?-qoF49en9Ui#K8S1=?Kuaf%w`i#ye(XrFh-G0lB zsk$#FQXEWL7?EdWh@Xu-uEk{~(8HO>5v|^Xio1Pja?z5QTHti;VB10R_HD-(-!E_b zp$v}2!>mT$fPe*j$0UPtnh5Bt`}P*~P{eWZ8YnXHF`$P~C=|APpcU~vRgB;akH^+w zM$GTMl!`&6ee6biHA^%jA` zSG(T%b5}d5s1Pl2w}J6QxoN)OEftYv<~{l)havMG=o5ghZz*;%E{n;|dhaULuY4&o z^7IBiZothxhRKMfmt*Ma1q&Ua0(2{5Rq=v+lR+R zWkmZx)+VyuMn2&838Caxr|aA&jQ&~CFG0P1nx~&n*1Z5Kf*~TX#gX1hKtp#3t6AaW zgW4`w_y~u|O3NUEC~3X?!Qo-)s;a7>=($CbV*(=>6Xd1GMjhJOML*wh3;85AB7Edx z1!m#zs#>vc3M=`HcnMhSHXh@Sp9HMX$AD6fTFVVt;JwYhjiN9}l?X~I_>_6CL$ohN zRF32RuVz0#>FIS>d_9^%_@(hN_`3)e#_T=Pi{wvQdcxQdV47s^cZnQY*`k{f2;SR8 zR`y$7ye&w0zym%$^0O;E8{dG4+xd5j`5=24Y%pkA9f`!T-a!7Gd3PBYt0dwO*eqzx zCPzOF0z%bCMPqH=DPbQU34zeBm?mf^;N1fv^-sy~d2_Q3TV9MnnOk^hu`LImRyT4G z18?AhQU12%C^A4C5<&)20Z;~bEPbPGdjS!?e*%k=B-7T`UJ8daeG+#1&DN($!JdXBe(&9fI_2l{O&y?_lWS_^qS3K&GZJ* z9QGU)#$FoIxqa_%_83BiEzg6W!49nob4nH=jWT`OA=8J-!F;yeFU@+Pfxhq9^k5bk znZ0PgQz=dKbc|6|8X<7Iro_a>3b^=kM8p96079Z~XRbB)I=ZDay@9b$+#`h$vW_$g z{^pNZ{kG@@|gbP9^9gt2>RD$<_MZev+Bi3Oh|?{(dUG_I)~ zFZlQkk7ORBUpn_b8v72+WEMU!AleCbS&eM8Gg!KJ#20NSDf=(YGL4dvg~i3W;Bv^W z-rh*i+Cg+2`!dnjKP=SlM14G4Z}F z5#VFC(UT#6F5xGIW4lIIcZZZkfiv13n2&CwItOf@6ha1F$NHrovAMYrEg=9kK%-Eh zRQO9INZws~-7{S6Z$>g8>@NgT=zo&LEJuUZy94B`7r$~u9~NLLg3}{RKsRcSp1tNjPZ<+I$rQ)QJ&E1w9#& z;DN-^rVpEsQDtpW4`LHPf~szazSsJr`qQ26oQN~XGHtZw_X3-j;#1c3TM8xaqY``qt9c`qsA*lVRk6R9a19ubO70UuD z79gdYk|zSyl8jh74L+&HVrD8a*i|`1=H~ZzxO*TlQT3G|BB|wkj`!eb65H#(`y-m+ zSLAYc@M!9q?Iy|tLH18&uP@XZcan}p&L9!6$C8yDRis!k)7W7I&{P7wLuOJ!LWuS) zkZ0CA4Y0OK)+q)BBut|2s>-qfZk4!R`f7Ia@!>C^RKZ*QpoC-4GHeKK`1a});N3@a{oNBWkoxn1qBN)HeLVD_U?bx)>%L1=zmy&RzKSp5$kJT+Lcz6-?Bl+Ww-mfY zEnZ-X_I6q}>?9Z@v(N<29hBxjsqJ7{qV#76tLOPzeCDzfb)@sY_;Tos=%j+=xvAa0 zcJLlWXDZB9>VK!w4;o;0#=cJ8U2(kXceHCD{bbN0`U0(n*}rHLZNJ!TViF%k+py`} zQEhTAmIhTi@<6A{*)<)RjR(e4y?XVk5(|g9eZ7;N7^mJ1kZweD?E5l50SX3tJd^#;$Em!ggq(Wy>TVLpgW-@+TKVCHhuS>AZclPl z9cAGY=9!VZkFsqRVxSECb~9oig4BQ(io$f7=JT`7<;o%D@D;3#037M2pjAi(6RALt z4lns%RQvWdv@b}Kq1$Pk*o5Ed4Ca9b0YSiKQW~%ac|eU<^Cf*iwKS5}qv;I)&k#5| zgQ~B<>tI6(kQxXy$@J*)`P7yqV@iRmEf^7Ix`v?ldk!cfLO0$ZVZNse1)Ny+;`T}5 zJ*Uu%hAg`>A|Mq8j~gF=i&m9xt8S0YV`}FmRyJ9x7t;3(?TDhZdgs*oYYu(1>4#AS znINBw9W(3w1t-}`7n7usPS#8gGD;v{Cme6*aTjxO`wo4@6-a5$mLhK1|H_?}yH3 zA9};d-_3$mbOvCi`U^bkO=sNwY`R_r*7U_@0*c=~7LwQ`um_%nQ3KEcG<`z;4Tl2o z{SxtvfCNyXJ>=lX1&8KLr!0q`d&X|mpOmr*3&GwwOn#%H**rY}$BAuyntSdEKURbU*b})al-kN&!d?2U8zewY+rz3+guGQ84~Wo|*ke^C@#O%z_m=bQ_%XNO9V5 zCl3^Vor_$~6eurrEqgyM6s$|KA`L=^mla50I#Qsa>mi-S)bf~}51q})tRTJ39YwPn z<^xR#KlJ-eH-RdX2IX0vq?~>wx6JI14IEGpxcnqNNzsi0qe^rPcDJozTBrw?~Z)pIUkDnY~D|vZBJ)2E97&8 zN>Z}2dk(N?5D|L^Iy5=PVFtEq*^|tZeJ7Z%wC*?6Lw5EYa+S4_&%1!p@efqMHa65T zcCZ3C{eaQPr~^zk!?u2z1y~5sy)G{oWM-|FHgM%HRDAmuJL7voJCw3JqG=G>Ps)?E zAVnfBJyf7FMvDuG`@L0z^He(TEx2+cF&Pcczn^ic)*zxBNdWR`tplx z04M(YR{wQ4R|ur}G!A>(qbfR`8nag*85&-g%e)E+XgXeDmr|5yU3MOPrKuN4Lb60w zi_Y*`N_U&d!t%^f1Dk&5Cq`4wfXS6ABi)bf#c#LjasT>fWrRJSsH3cRB=qB$s}RkS z%)ilo;>DzzfX@^*2eq`cJlyi(A^@$H1AUHhPY&@Xj)UIT!#Tx`cei^&NK%$cd z#NlEqAn_ljUjAj*oCoGPTloflSsUj5?U2`S50HP#;`{0%tHl)-Gcb=~P(#^c`!`GZ zH@eOPGDa!SY-~z4jK>)zjoPlI3OQsiUxWc5j)59*-E!V0y&3?!$6AR8e%kBX-T z2{4cMjoFySoi6t6tV?=?&Br5UZKY4C1+0Ji+z>6vf1dKxJi{Y@d3U>(0|F_~Yj6!c zcN2kc0~Zf2WZNO1EH_nTj|@M80qTA}xF}!ZXfYn}3rmHMh=1wW*3MmhYhhuLxBja} zg`ehpE43Oy=k>g}4)@=@@A1qz)-6#qAL32BFGRLX(-NG5myS7bK0iBnX=rH3o*qx- zz3aR@mYnjvd4vbZPYEj z`u8j`pOCqD{YOV;g>+H0qOvv9uGD8Jh+kGjL3^(>pExApJ)6fjkICRQVnlL^{|&64TAA z_V10s4Q597*gJ_ZMo3OQq1aEiuFM6@=eG3wVVvd)ksn$?ie!9zxDee=78hl-`@6U0 zQMR(ReV~zkR2(o*?{yG*LVf>KWa34~M!SJ?gcu3_dm)dF=J6#DFO|Ih_H=maCoV*^ z4sadqE>{dhzjFG5vf8>Yr?O+h$B&__pPANhD^>vaFE-pgyiA{#1q19nY4T$FpLJrA+hTD9-;Uxe%@0J z2!IDNueU zrDq5yU;QsFwnXCIyS;+hEI0-_ckfH}d=HIHv#nQf!>4#8bd>EHiStr5O$!K{ zCds!#xd-Pl`EhfO&OA7XG=ea$`aq=phWB*# zlsBG#X%ui5;rI1cMkr(7sK=;>6W?UsYUO?Ak2w zOTBh0`h5zYc`AkoqNhqmvvzMTT|>zD%D=H5&%d{;bmV+Iqji7gji#twECJ5rYu2yb z!OmG;ubGYN+I3-re*+!L+%t*ks%LUqNdp^1RM0_>b_vZ^n^-zPB_Gu+em4tICwa=OQ42t6Uy& zm*+D5RUBy?R*buq*^H+LaL4JMrC?2l6{X87Dt`TWs-R%h%`(&eAxl}L5+ByT2Pp9O z{jDc2(>P;Qbq0U;q=4S*8~=?F`VQ>>pW+8oOkq*3dm_0xhu}H~>4J1uDv2vN+~0wh zwH(Nn;WzC{`06d?HIQ{B_*gMZ-1geOv4>oIl>ha3$8Yy$1e3NwmJ>Fu1{$y#C42$r zwFgK$d=GP1yZ>U(_Y8Rjg)HD;`i(wc8`}@Z!#a^vK|4AsdYnld0Tu7#<${)k?~g=9 z--BlX^?j;SNjvzkM&TH=%G5HH&V5y@`m6oi3;mszk0Bnb;~+L(aWmWYY|MTgTF;f#nVAleR6!%@5fagQbksf=_{fKQcMeH91HxN-Q8tCS>%Fu9Lj0* z3u{qgbSecTFus2H>e6_f1E44eTLQ1kh?C4v*Hl)j-{M0pUfmpS34DIrUTqN|5Y~dB zP<>+t(4Q0`i-QxPf`h{?d+G7puSA%Vnwj#wN8^o6Z$}>T3*b28VB_#>jZuB(iG3oH zyWIX*yRQf6UFOZ%XWTeHx^c7VMEdGSz?i@dIb#<8y<8Lg zhE4-e*ikeH5S0Bsbr(k@C|%Ueb!jsWqy)^>#yqV+QSt-jsIYAYdZ?Ah4E)4_AvnF? z9WB$fS}3mQ%Lc7$jt$f5dU{G_upPq2y+Ot7$DJg;Te#m$P;Sj9w9x+$%g?}p(e!(! zendF(>bEE;+?F;)7JI{F-+$ukj1%32@g+|!{i-Q@Em@#6xK;WPx`oWnhWQ4=t=wzB z-rQ`t{BOdK$J+jqeHE>ukCNYIrWxSk_(w4a3MLU=zy2B2lJxwN+D>{go9CFaW!w=( z(cxc>0)m1yNA2Ty*`IQ(-gb3&x5ts=k%;fbWZ|Mf+4a_lrd=KC4jdaThK|sgDgbOO zJ^DA?PZ{{w&9bKBFQ)xOIFHd=)0@76Ym?2K^7A&YFPbE=YZp#JatC0MAeZac7e2Oo52v{L7}sr5?!!$wZ?s!PV5SJbcM22Z9v9Z|}eAZztg_*!i7MV}obC zLO8ZDo?JzYbWu~+L1w&^WBtxMuu zW*EJ|vGh?>UjY$KPXTpPF{C4az_u<=JN1h*zH1R}fO@WcE}`Qy?Ybob3X01CBoa5F z;ZgQks-<5i0S^C)*dd0HNF2U-joXtcnJF7h7fJWO+o#BiX68~L?TTU&*N9$qOSh^! z`)gkgU22@0qF*Q8m7M|a>oP^8F3VroqAse_|cANdI)baP#!Xt zjjrUlHlHt_t7W_#f-~+VPWAl2XJx;=6I}mP|H01 z_SDBfS{f3`Q|@$t@3P$=Gz(bSHJ=IC%r=Q1)_`7kX8_={HQOj*ImE2(adC0dyxnv5 z&d0(>d}!3OwHqrVMM;$i%cKKayh$(U66+Exub(VV2U~~5UQ|V1o{SjlY~kQc@nvq= zg>5MGE7FP-GbiHfEe=n+&o3zW5=efeIiG07Q>`CG{FK`g=h}6kdN)l2T|&|~Z9x8F za2GB(y!LpdNCx)|BtN%92{1=v&6xYXl}PeC5LQEc8D<&@Zy^rSmVI%6MMock_7D*o z-Jt~lFbY74>Gf$T&@IxrBQH%Gqq3P{>VXv{kJsQjyN)fPH7h8S&rrss_dD)xq~Od=A43pJ=N0b?uMObf+{sapexe=*mob?@wPs%MQUDA@uR2Vk z8s%DmL}wYKUZgVbg%v0DD-VQ3CpBadpWSYprb4YznE;H&irKJ(Q(L7#)kfXG0OD#o z-zj{ouy(A#F&Q7doS$YJHtBZn*8|adue(j%+j<#=#tECSZ%j$&Wp94OFtotEK$$4y zt|eUvPZ$qX_d%Zze{6>Z|757$-CZ8`T2!LW5=gBotV`QX34|ElZ8~@~0XFE=K^xpl z+YlXKU=A{=MBivump`H7bi6>%qZ%AAR`j{%z3G-lDK_iF<|WuJ;S(|4L(p+N_4 zwo!uWJTt-%vrE6div^=3&&o)T?)D2U+=$J>HM+h*0*eTdWD-9EL6l6g`E1=TuoVrE zgrJW;hU~0U#rG)?i&*AuCm}%%hRwGlf|7~M%B(xCSV*}6b|8;vH#mivM1&u4gLHUm zqrXWU(OFuI&h%^2vuS5#tXSX|2?ARvtc~qlx}rHJ^YxgDk#M5NU~4y54qk<}>LC}x z%|nwar)I{p$laQG3$IravrV$y+8sylv!|*GBQ?GSK9x=gVW9U@g~a~K;#=PXU|GSA0$Hg<&&2WGp7T)i+$8nv*@jy?Ni&OiH6Tu!>O7b%KK5U~F)84<%Q5ySGxw?e1^j*m=K&rO-cJSd8sRS;XAr zBdxE{%kGKS${&{3_l(=ICdO_LMB>&Hys;A~2$fBCd85Uq!;YRvJKn%(_59}T(Mhix zr?Bf3ToKxm=uIIEv9#p3rpz{D4!P^D`ga009U}%TXwe|&Zl6}Q@!BCnM?~D<310YP zq6t|5FXtv2zvWks5UQ&2YMZpzB%j3+S*3O56R(Row1mSA)UCZx=tT$~hW9t% zTA>frTDrp)D!aYVXp^EDP=Qb~H8oW|ni6${t}M#tR?oY*V5z#o<<{=`1oYAmo-NPT zks{6T214(7RGy7>tnpSlQIpPH%T>#2;~k17sx`(r^5A)5DamiunQe|7PEV}4xW-7g zX3ut#nr}F|l6|QWLbwSxbvLZsMIk=_+BKIvNqPOdxU{!p7ICWAPoe4!hm+g6&hOC5 zSGiFAwX$_YC!#~~{I;&wdewZsqt~xc^wZn7Z<9vLog9nRoU9a;NvC~%S(D?$X&TW4 zSRbRNKnb$hO^2%x3bg}V43}n20Vzm|&5sU*My+uY{hNOd3w-@$+n`h&J~+cLXDTn| zK*?`$Q_p=aaNf;Y({t?`f^k%RZawJZa~4q_cQSs%mJjE%Gb!!QRBa4v>1>CkjpuRL zgxWpYE|Fe=z6g-zDMY-1-fZ({3X>+;4!j#2ay9aO7|TO8RT`#GEZIWh_Z&i`ZmEN! zdsjfmT?77(G`rcg`i4KBH)dYxy_%LeHyGR=-hR>e_CUMHtwdXD-p;+ef83}~fs+!+ zW*-3vGKgMZy{>3XP|_%0@DiuN2fN07jo0eDHG>cfZkg4Oh>O5OK zR<#))7;sT@K2sLRDUG;Na&mHl4}%DbTmP5Hgon{|9oJ{?+L5Ci9+XGC*P^3H`~l6FZl?cDSTl_Kp}1; zZ{|Ig#JirJUl(eVh*7AZqzWt1uIi#8SIAxLwBeHdFkth=3Di4paH~-qm&O>GnWsRs z%G-n>no+!q#objW+@>MwVkUFlF~?oSef&jG%uAd!#<3gOjRKJ|95*iCDutS^hT_RR z;}cs}IPx5Ppwrh1JSde9$f=%qG8%9h%qR-1jK1BylEmuU`zA+8<7-uc;EX#{A&b7i zL-23{qomz~d5XQgR;f_SRZw?;NoS^B=c@g_XZ`hN0*7(gNRMnD)5wX#b)q+V*P_%F z*d;@4zY>3{9~zFf<6q&q8k1E!im$qUl1q9m0_4trF6*h* zl;PZ!xcj)kM@_O~Db%~p+XFJr_EV*m*I~XbakcXi)O|j5n`Ly9_TI%S(&E|o9URVaM7jSXIr7@wr^_eM4;34hj(P*7DAq^zlIPo*zt3wAoA?dkKdqP(f zwGVdrPdmzO`DlRV&SzdIx3x?Mjps~K9i$xub*Xc`PMocWpQ;IF{1jC=L4C&!=1gfN zb526Fpmmjm&ia{|_M_bRj9b9O%2CDEGq4FU+HYIT4ALr#-KcIaxa@i_UgXBpe*9co zopFnr0Bd!D$#8IQZ`p`^pX{nhH$NL~1E4*hF9(H-Qs!KvC8$zemap;^lA`z#-#USWrIjapv=O!gRbQA$z%u;>!t~=9k1% zMBQxX>yruZWV7y|c2JFPavpzi(wN$(;kS6Pu^J2Zf!B!aw2M)5Anjz&7{4%eNxaQf z75jj+XOeeG<0uEL(+>}xD;Q2$-=Y2(rM`-oejE^}@BS*LJ(~SH17YwI*Rr0L!;lL0 zV4?3>wSCS9({3apti5K1dKC{!H{uU33_eNbj_`C9<1y94f@Td&(%V=o8B0RFDo#+9 zt5OJz&rmPGE;Gj`R@-!l=hI-vBk-B9@U6{ql=BSE{oXBWno~aTTZF8B_8B{YvEx+2 zgO@%1{3$)pDqLDdr;)OS;HV>!1;n&d1Nn=T(w17g28@i^57X@hLi>gj`EnXDIY9n* z9>#^6ZgTerhhJRmtwcycv-0Ek-iFO4QQK-uxhAvw>u0-@SWh9cv)eC;kR0+0$hgmM z;&Zk?wg7HmzQ_7J`3+S~20+kHD4AuBur{jsIB7Q1_qg-)`MQp_6oXC+j*eZU%T}G` zr13Y^c3#w!TABEVa@2Dj_L_kgs=Qly{!A_f^&Gmj+=m3sd$|>!Y9r=te` zbOl6i4x$NcYttq`Jm`J?I0n2`(;QUya%p_vz?WcJ*Vo=_2a??ln^7(y4X$>Vz=vzh!)V>#<+hmxV5+a!x%gI z)1StG+1=(*QUHM?2c-IZR07t?op%hy3G`<{fpVLl;+dvdAJpOR<1xT>iEwwyB^RdA_J4HuSA?pfXGhC~yK z@BM6>-4a&L5S!o+&X4W{^~j#hS+C7TtYGB{N_zdm4a(g+c3X%Plx5c_4*BQ`C_Eyx zgPj7_iR7`K7oE^ac-QVp*C!x>T`DAS2d;#UzG~8CPT{vy<9A&AamW%twR$k?Cy7Sl``Z?_GqXd@@XFB1U1grkl zy|9FeuBsh5LsA!(kIJ5dXBW0bL_t)wa}hJ@toaFYuAglOf^%?L@I3mU!rRHVw&hV0 z$4g6q>QB0`e!TAGviQKk1X&->Fq(79x8U_|%v$9=`4quHvPbaa_nZFdVg-u^U)@W@ zs=^?{wRi63tYL;K{;*(mvyL^OAHN||u2VhvwrCJFMOG>fk?GPxX%E~_?a02fg1>xd zjmQFiLQ~~SrRm<{m!i_J=#*``|194g8$m{sWnFXmaaDG;@r3@`yMXYSOF4I9%Gzhy zMb3jAM0XI@Yxw$3p+KKq7%q*!U4e&<*2Rn-L=a|YbUoF6Z7~E996SIif?53o1-?J! zi^V5ZHBzdM8jTvxU9RVe%KiMc@fprF8R|COOQAZMJxMMh89$P`le%Rqq`nBPTI14y z0%1Ajth^5l82v+P8w2IF(C>y+3y5ezabBvqS?=Ao>GWcUDF;N}pRZWnogBe{4XkDK zH2^}=g)Yqcoj0muw_xFomBJ})&cTnM;gOYcW{h)%3>W5o?M;!ejLx6obe=+wp&$>c4QEsm;HkUr1|@CGmPnlN4@V2xTpb; zl+eq0TXIQBZ%CdKXu^FCrUfx61CF^bs;KxXJ$8RfC;Tki=alNJ*Y_g5#eg=B7T1{2 z-k!0&GCMDqn#Vd_!1`*kyo|MR>SBJWa?16{A+ce{9}K})Y@lcS?o_c@*IGVcw0H{2 z)(bA$Rc~K?-r1Sa)b}u*cS~U4uK;oWV7&@+c3==+Vl0gG$9>K;pm9h^osgced;uMI zr`={#u0bOwm6N&Q&ck{APwsFt&MMG4_3&`grgVe+)1V&e0{fHA_Eb5IO7oBQTrQ}^ zrG=;~s;uO&zVeZ^^mLr{Ign}Cs0Z%N8|;P`%7Z!6s%8C>=idBSAmw=2n>i#fc;Qs| zGoc$IJQMSoei#B@zh?-2usILiyAmD@!13v6=o`++iX$;wtt6pN5p?3(B5D;T4)B`TPRTH_0L^Cl1~e~@1WWTbHvB7%~fQ>&bL(zaopH}g6| z*y87>ah^s%$8Zwu15PZ|FW>+3N?^FY5b-yv;97Hg^Z?aH6b@PP{_p-9SYnSyZ z0sco|=w#Q|);~a>2(aBgKM%l$n(-=eSm*SoYv zv{l2Gd`Zb;Sv)z!KL=;1?^7OmmV=m(=bDxT0iQ^Lr1-tf&Un_eU7#uwd($_&_JHL< zFE-(hPFebHrgs4z%#z~wv#yLk{r)Z8Wv7BpNbo)@=Hvvs-OlyHk^GdB-$m3s`QHu~ z24N3K5W&g=y~SKsh6gV~&8@=t#`!Sz2sK<4JuIB4ekseNKG=ylTp-!a-tGZWosQNW z`7X5iWIh~{t;ki!Tnb?>?{T<|_4?h6;ZPwJcGefGz@!GougR?l)R)7FmKEGq6j-f= zl~igcCM^rnvGCS3M|g2DlqSvm?d)>rz}OfCr#?(b1QaIlPdPs?g0<2!@;(3phQDr& zSXdIwUmU+( zTc}{9v%UUC`u>+`epj52t)P_VUJWn*R}DsqrcCc4DA=&eV*Oi0UB&Gt$MyRD@$NbUJ}Pu&vsRe zb(PP?MM>v%Df}T`efBfr`<2Wgu$ipAg`W^VBU{eIHsxNZ*5+q-XpvVTT{~FdrS{dO zIuTIVDViGc?7QHUu~Z)U6}%EY-D>L;k0a}fUV#CoXfY!-psE>Ai7nn|9({B>;}y(Jxm;D$ogPnwXDQ>4Ih* zk36_Ax<8Y?H<^d&NB-YOT0OfXn3;8wsIh92bt5uZonbT6yzHZC^L^R}2FmZ5_Ezt` zQFN%+sq`y~p_T5MoTzhmWsb$xKwR4bHk zoUC;)-UEDn%541at~InqMMgJvrDh1#-v6@Mc^L?GiFx9wCaJ?R!n;Ti|JQjoK>3BB zptk$D(af1SFG!35CB{!?8qiB__!lOod!_TAL$`2bY00Gynhq literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5ForceShowing0Line_Y_roundedTo4_titleOnTheLeft_X_noRounding_C_noLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5ForceShowing0Line_Y_roundedTo4_titleOnTheLeft_X_noRounding_C_noLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..82053def98fa6ecb3a00616909704484c8762788 GIT binary patch literal 286280 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

gyvb(t8W4?i4BGfhj?wkXI4}a%ux4$cD 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 YVtU{C>nT>QU%}6L0~7t?)7O9bKePYV+yDRo literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab1b8f92b0a0f486b4bbed3f8db0f749c1a95bc GIT binary patch literal 25847 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 Yqum-iv(baFdWod(E8NSu^Z3Po0Ir=|NB{r; literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_roundedTo4_noTitle_X_noRounding_C_noLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesAtLeast5_Y_roundedTo4_noTitle_X_noRounding_C_noLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..2428d5f351dd5723f9d17f8ef00f81fdab1c04f8 GIT binary patch literal 309626 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�=M^f8ax@?^~rA34O5Q?{VcZpw-C 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 oXVpNck3l79W=_^85D#xC2_Y-2o^upYPSoqY@Q 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 z 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 Fe*tc|hED(h literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5ForceShowing0Line_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5ForceShowing0Line_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..78e2adf7f3e68d4e44b8d0759afee6cd961a2866 GIT binary patch literal 26949 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 h*ZzBumnDr_N%yo~bgoLdi`{x>AX41WLs literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend.png new file mode 100644 index 0000000000000000000000000000000000000000..78e2adf7f3e68d4e44b8d0759afee6cd961a2866 GIT binary patch literal 26949 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 h*ZzBumnDr_N%yo~bgoLdi`{x>AX41WLs literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.line.LineChartTest_valuesBelowMinus5_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues.png new file mode 100644 index 0000000000000000000000000000000000000000..40832b8af95797e3e32ca64438f186c51b64d09f GIT binary patch literal 425545 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%0D2xlg2V|&^6teVi#8SO?KD#Z{J*64m z3_Ov&Hn)F)teb3yRMVvt5DM*e4yTvu&(@gBml_^8+52wx%NfuTst@Xh=3xAVI|Z;h z1;D;aqIwDCEwE}M;-hXWy*k_B6u!7eK|yigd=p33){AAZw@6?_E{j4!FV63_JhQ=X z>h9)3|9L<>c(zj)b@qF{W(6%r!t({7fZX6xO{Lj5MqhvBnL*@4yG?z~lXqrRcx((G zM4QKJuE7C`hj;Rl6ha+dj{%D7?7c+`2J49^%`65}cRJ`=boj1zw1y%7^0VCCuLom_ zipH+m-xC8Sy3aEKHf+0~*-7;T^yd>_`x!Pnnf6_sk#QIisMgGr^79>+VO*X>NTRY zz=~lj#Tlo6eZ=xrcS`lhi*v(R4OPWQ>Z&zP2G$$GDPBJzRyPjh`^M_OXNmyJ*gG>z z8wYQ&c*FwEQVMS(=p4Kh832(TV-Lcme?sqL@Q?PeljX=%eT4h|m`maEuUEnXVt>qW zT?dnut~ny>z0&4q4ATazbw+lgRVRT6-}^Oet*ONmAgZJ}R|&okE2B{Gmz9Mv!(R7u zPJ0}4UyQYlvlV-061+-cS_;KX{d)QYVmwGGd`F*oPlQZpPh_cK12x5aGhcP8niUxh z_j}~@PaC`q7bbMBe#2hEDYns@i|P9!TCNvsyI?7ka)MPtusb|w2KRgVuePu-6k|1j zJ)3<}w}y@9>*!P=w0v8NFXUHb!;1Ty53d;kl{nPo5+R zV1Jrsaz0vNIuveL-C4(_^VSi%o>r(S37OZhr;{C#I zn(j9)$!{Lj5MyCR?X7?Ee4Fj``9$?w!s_LvG0bY$6Bz4sdL^ZRM3WT92W=N8B7dbU zK-t;h0-9}Cp=(Zm$Hc3spUJPsmFd2y%kw@m$9v%)W#Kuf0v#G_Blw-)15I&&V;t60 zCX%(^g9Y7b`$KRpSr@{hBfHWLF^zmLkFL6kGFueNHLCRYqDc#`e=O93N||R>xfL2H zrVx%{)=woEw8NA<@PNN*-*pAM?g*{8n{&eli-R%o1+^tkD$esU_6qOIZ@NE~p-BQE znH97A;hEE-^0~U*v18z(a4CW634nDa$JV~?{8Aoz4g%uIgy(!8)o%YT)_#zEj5Vw< zFL-`G56SEkaBtkG%+}25ZBu z!sDb<+`xh?aoaCWtbcO5B~k1}{r(duqZ22#jOl-BJ~M`j3uuXMECkD?L_BW>^9H%! zmtia65$nJK&mG4u+@gtQtQy7SNgx5`EWQmleGqy&?bvD+zmr7gFM!6RmXSnItFV)R zb1_aMFG@ubBD`duYI8{&`V2l+fZqMh-r)s~H6@V-ScpC%9n|4*C#!@j`Kvid9bBP` z?)&L&v-1^LpUZd^bM;^c>^TmT0)4iW7EoUrPceL$;{z|r-j62N1z#Z`4w&uS)fSAU z*e@Pg7WItEHS1|g`NvUZcxlnwa~wOq_1CRzmYa~iOY0jgDV$AZRHeXFpM5)(=gvYr z8+ONKnJjM?Z0+5}O#op?@@-)%hr`A)@Lpb(SI2O7#c*`>pV0*SsG@5{s}j9((A`e0 z-v$RK**pG89~p#if-Pja!Uwxy7>}N?+rciRKI>qDF+y=l4FN4F=a@Gw8`eBuL{42m zaWdQx2!$r(!5WYFeLs(bpL>X-K-dDuBq_HCPq<}CllEPmAl24nVqiWY2VMgEpJ<*A z)8m$s54{wB;sXB{!7fX3hgpFYk3-+d0%rPd$`T z23}1;N=jl0|6^`{74o;WaIk&4imV}cnv^g?U>o83Ft@_-dihGl>$8?uMwB}94xT%@ zdOlsWCQ}SvzKyi4sF0bAtViHaaD?h5bmDIXIp8YVy}%iB<`f0SjEzoY&&bVL<$&=LX&_X_P)JO!LlQELLp3^&gwncqF;u68U-1&ohoCdcG@f zlwaCLKu6z5JL(A=hRk7F#AWF5kfa}~eEeUd)e~R#A?;QBF(ei;mV4;+4* zx&?4aI<54n@yg{u%Q>8fE21m(@KB)8oU5p%Usd}*8a*`i6f(j5FjMzwSTaN?vc5pe zd)eRv$Za8zN&V`m@=2Ia^L@@pP^x4_z8kZ;iYnm!h&dTz7{L`Fv%L8Ka$6Ni0*4$9 zp_eZh?uSw>=1{J=2utnQ*3}^K#e<3zrzf;?;dzH#tT#+VMpJuBnO3t z$;s}qmnVNjKegN@)ACu6DG;n}7l~`0*jxm=Gg7dFjxAm9DOQy+{ex?>2Of|3#Unj$ z!dpwNZ~r>13W719q#ttS?Sdmb2|4YNW`8bu|3;>~foK-Oa4oru+TOyn{s!*6>hq`) zw?5ER&q|tao<9Uqq(&#vUd>>A(dwV=ovXjoQOu%#4WLL~MvS?DDDHjCm3mehHo&zq zbf`WnMxT^!isV8!MLnIo7)kaw`Y`6NQL{J1+xd2j&ZOV6d*?L^#BKZp8bik)%isL$Z)C~-_wRAw;Av+v~9Jh6~A=54_{5{o`GUAvau8euE? z+9m%Ra~+e)bAqM=`X-!T6P7y|*zE6Muz@LIl!a-I1!4{}0>Fsu6(@qK#W;zED3At+O6#72@f&jj6c=|;aSDHE}fkZ8(iJ|(s=CUf z?UMQ7baR4I21Ls(YBOSBrVHf^y3G>%*s76@ZL6O%h+luZh=Ov-`OoKne`CaN2kOR8 znkvr6iOcOVr@dVMvl~Wa`kb!CPozki7x*6@EZh&j8y)i6%oy6|bZ#cNbgezc5G*$|erx?HQHisC2$F6~$Vce}-*la=bF#KS>LcKf6=*%m)#MqIM<0&_87=_^}pcC`0`Pi{! zBk9a&H9)v04)$llZFB!1EtceD;=3pX=wqhF_=X{RiJ;IvuCA zvV{p!6hR?}Q!jychoC0IUByN)M%{z(1qMQoiI=p$Nmzr0|(f>si)W zY-A0#SXb{bV7osI&OUu~_&PbJwxS}#Gx1KOgRnTM7Zhd47?4T>g*f?W3-8>A8~eEU zn9WkCd9qf5jjx_o-0Kk+w@Veh{FV60VtA|~x?X5`cyeXgUDcQsF`WJHJ)<&e$aa`h z#LRK&jA+`FIbg8;yWz!xf9x3ZjeJm_!`om4!W>o?+~OjvVwj)J4cNy|N3kp0J}YEb z)?ZZr@27G4$v^uE9^yPS%x@hw1zW=6*nt^w$<8`+ow~a%2c^aMI#4rU955z8E!va# z)sAPRi!Lc-CrE|0`DpPc>}%SO)#3uw$D=qRE~{##y>s#3n;v-!%*6zY5LC`yUV z99r@cF<|{yLnk?r<#~@1PiSy-lecnCV(}az>HnW02NE7 z>#`iU335qbMf8MacRaw+rgMI_E~XIn+X$) zfsWo1#$Mez8f35H%&1e`E*LY>=}i0RJ5bf-C`{QkQO>6ZoqU&e$<0=~76*UMqUAYS zF9{!K`U4{US!Gfg@dzuA#q#NlJcp6+{nF;0<`l<~^cW^S9f9-UOV9=2Uebpb*MJ{0LvfGrIh2yfVcTFi|IKh{AtHo1aK!v7OQ>Yx+9mE51Z z1JKWl(uXV>tI3Rf{zVaukeBQRY%(_}RquNQw_F}U+xid)tjB#jxW=+hCYcyJG3ezj zHD6u_dHOYJ)|#mC@tRk%X|I6sn{z}8dKr;7RMC(0 z_q8qA9Lq87KzO5f*sJgK-qGPyuAptuX?4eSb7oA0)w_OL6JtrbZzNj^L!a%l)TdvB zb#?C#2#dRAQaUWeHiv~RfI|$|+RGJCcI9QM2i62b9*PsPK^ZHImoaX+o?b4q^VhRh_HQ?Yn#N>l<*~O%T*NVV0|E zr#bNObYH~g`sUYNSuHIAOK+pZy`q9ZqvyaICa{7f!Q{t3n?zO{E-t$bkPd%&co<-4 zn2o}ABa5$tjFDR^4Bt5x#Ro*c<52tCfZFR4Jn!H5sqosu(TON_4Jij$0Y$>?9S;5p&pA8kD?`(%P$B@MAU+xQzzyPV5q;PDmH^llb^xk2d$#dp@f~C*OxNfIsU3d9A1;l#V-I>~ae9!8 zD|Q4iO0X55PV6}nlU zK$Fz2z?(2u-<;K5reBe}7IoB~5#;6EY*;V|Yaj$H=5O(lXg#+T)GBR2dix%7XjJxx z4h5GeCH{q$I&bhdLV(~BY|_QHp2H8Mu(vvN7frnYKRWmNHN@$7Hi_vx1BDJ5&Z!)0 z7yF(6g)vcI9MM`Qhexc1efbI?YzJ&0$ED&}&*GjUd`Zpd7>YV12ZmL zOMyKCr&q~~KCyJ-Bk``ST}iN@NJ4wj%JU|;ea(<{QuQA*OzyKaO_va2V3kXKfE|JeG%S5nQ=_AP($wC@-v;; zxhubZq&c4L{qCinQ%WjOEiXO|DbV-+Z~=dCk2)@|%ZU5y`y<0U;<>py`9U@Gjg0Wz zIQQbRz_0nvLqYQ0g3u}tDRlh1vqLo=AO_g|Bfi?DNvbNj8v*p%L%=uTBxKzlV_~%h zT54w8VP@n8e*#BvLdd=W8;#T=-4HctFuy;Oa?=vH$M>%WND>kC;23B!GOyt$T_M=- z!SXy34s-I8k5tkhI4bds*i#~Fre=nGIwAlA_VXd1$80lE$Hg9BhKC>`08hjv63oU7 zd7y*>F~!WPpm~%_r?QaB>`VM2wMg0ZuKPHHj#*W%cj0=c&Nb?LI|!?!?ja=KD+`a~ z5wo<@qg=q86)al>8d5xPQj9coa6aIa_T~|gunb(alNwAo-b@U$I8RFow#<;|T^mHi zu=PF2KT#*I% zK2IhyBfeBd(>=BGaqXtLPXCjChRQtaHy~3i@cjG-nKEJGiM%ORFb2n2$EJpj^SGQo zU``2Zw_O*_CCr*%F`xcrE>FT=phCZkZZ{Dl={Yrp#6MiyDofoCR6qSa&WKrl^Nd)( zaU8C~!k*lG)9TVgP#Dx`_)Qo)%9KDhjIVPONLG2|5&(BfrI~a=#XJoYn-R9l3RD+`V9R~c+QRiMms{6I^}(tn`8#PC{$tDhH$kl7~r#d;$> z(qEg6N??`P;D+oWB;6EiY|A)T!3P|Tj2ARXtFGlA!mfJ7DPe?NW5`7O@#g4oDkC>& zp{kuYlqY=sCq!6(zqdW%piZbbbQbCR?g|t06={W)Ev-3c!I~0r3*EP${^X%xp7Kl0 zAFR0zSY1=nc1O!dElY?C_*cXp+`}eql=%Ep8hyVeIHEq)j!P|n05UGa!ap)D&PZ(< zIWAoa;Y_oF;s|$YgdxCrH&8QKU*U~ITROjhgDY^U+xNVU&p$6N9G9VWT%EWu4&VgO6D+82r2dYE7F3Y)4Q?jw9 zi{nV4IO}2uR$ES1zPe}@uBBKOKB@jDro6_JXoh7=ODpZ17*o3x&&jYDnpwLJ_{wWL z)2~18s~vI|dv?=3?eoG`2#9&p4%bMgz0O|AtrT)9<<-92SjgY{$n~S<{ZJ?U$?iG< z?8l8&tpE{IdS*{+e^m7ewl!T@G*`t6WLOLWspQQMc*>S|b(toJ)YK3p0K)xC*=H5Y z!T*5aXH*z$*^~^*v@v^2&Q3h|Lx$oQHp~V=*?zt6ai7Hdh_f#7Jc0uG_7bq*Z=R%$`5`^{}ov}p(E;I5u}K+k-OXWa+Jbb}AjU7ooF zhWUMV0@g05KU{kh##S3e)dM-Y50ze`bQP#hYjVq-cn$0m9dvjyn?Jr^UPx;+fN2IpYC>vby&3Hl!0xUcRh(;HR8pUHiWY{b9o zL^zXfnR6zr!0UMkvcA%kxf>25#1_UN^7SxVvr}e$7 zmg_KQJ|CyOcnwCFJL)^>QvJ>|)+tf%ueHt0L{Wm+-u`Vg8r`D8dZLuNkZ=Ce-2+o| zowk)_%g-@>U4DyXBq|_vBy{2wBnh9^r>iLsT?{Qd1$)YNFOUS}$tUaV$@C88nV5U< zOxDrpRNULLqiE$;PxobUv$<6U<7Xb`jUS&~KJP0F#PpzpuvlE;?JNg48B=?dDoh*4 ziuuBZbyebFvME~`=*bnNV#9{~Jh>H`W?PM#?%_?K0)F_7bDIzCe~lzpirbs#(1lyo z>b9;w&m{>{tkASj`cd$k@lRBx!sKZfaf>GaY%nsUl55{-9;@;LPH1f@z5#{*tt$2| z$-(i_nT&P8S^dw+^WCRy?W$cpwLiM$1KqRWxYu*5TF=8mmAYB!YTW8L<{YvJ=m@QC$&2YazLZ-&y>0FkLnqb}^&+ zOy17eV%RnP1kl4o?lmbq{#XV6@50_ z_43}`NdJ3^j&30_ksi4^VMFauYnnt!;mD64v9Dm|a`T}Fjx9PR&q~q~STQy&E_k6P z6#6Z^@_K3t6V;B!8X(Z{<*@v{;6_$$UY@jjuRQ znA{)>`%p-J#GULb8E=aZ_x|Db>jvhP>Sx-)BPt-&F3U}pieXC&vts)D;0@_aFN7x0 zEKUknGA@`l;BWSI9&NnK){=6KM7>acN%P{<3p^1Us>@=SO=s|a^-V~L(KR4~ZiOW4 zz>Q&Ey^kE0xRvO8bd8%1t#efGnSCSOgio#1iV@rkg*nitHe7EeDoAW8+bT!$8f!`2 zeHVs~c}*|8!q5ZtIekH>2n9~ZtKzu@VYwQ9S;3qZT>SZ-4Z;5&KMRu-f8Fk zb3`ImlWOS=O}mcQWK5iW{@G7w_?rLJqGtHRx=TG9x~wB%<{K5(+%uf)N?(V9M>udQ ztWmeW2MW*A?i2J!MLWUi5$V0Cc5 zxcHPwz4LtluY13EUhr59*#X`Tru?(l=upUQc1P!u+IT92S(wis5+;x+RgSCKknl4Y zFbkj%WaetA28ivc13%PY?XM#boO<~^ieo&=y+tEuS}4CJB3^%6P2gvJFnFDK5L|91 zFDIWiFifs-4;>|q&gwy8;x~A&afR?-a&HE2F`JmQYY?U&>FC+|(EKsw{+mD{Ju=U? z2>i&HtM-ycthy@@Y9~6^nQ$^;9~)H3Fl}NUxyqVoIU7RPp~%^BX|N%1zf*;#Hg_Sr zeYh2Fp8z&gHvCSCWLmOXi>p1cbMh#Yq&?q?OoNQB)w@hG$hGirg85(>oKp%3@QJOb zR*|$GUIllY`zW~V7@J7PGZTS?*4M9g=7Yo~P;SR^kY3CBm4**!i(`3@;?`O|fQIZK zSk3eUpprhh1FM7@Xf>NzE6Sy7)8^0_1F2r8~2zEs}s(Q42WV?Ta%#Ez4ox zzBf<>qq~UKh19w%MR8va63m*|6(-AK}o`vj+l_t>Dwrw z(pQ+}oo|X|tSzGgEv_YGdECu}qq&tiQKI^~ylgj^j5fC1HA0bRnbihS^H%@({7hWb z*^=nODKLtWuW1i!Z2;5A;^P&anZCgKy?dWy_Oy| zOw4a!xjVvr8d90Qg@5g{c*SL21>E8%G^ze50O$N1`ezT4xu`mrW0+lFK$-^~8pr9Y zDJEz+JDg^+i5IYJB{%8vGN6;Tx@YjGGG~T5XAcc`Gpf-*?zb#*R#4x`~Cf%6zjz1 zudWb<=#4OH_Zu$?T-)*;UcjwV@HPoN0!Cl|NQQE!rF!Fh)( zjn}dqr-VL}uIq4jxE>5nBlXli@WS`y$ZO%CN#m-@13_Ls?#Z7A4(HC|Kjoi`TP82w z{UAwT{dP{kNwl7UG3(n8^y*>Tft&A5iZ`CT8IUB9TXfdK)llf(_M^Gi571eMindx7 zbEH=ckc3+eCD{&S=-kZXXmL%(LVgWrA3P!LzytR=w1as`^1 zg9lO~elf`%sn?u0mit@ov-PH%C?iWYhR#k4v9&+# zUJ*WZksmJPR60B``72+Wt1H2=$23pG%#`k)rk&-QGgu1F$iV?&Zb4e^j{$YI<3H&Q z?b&OmBWcI$3+WVL<+BbAMZV4asHl^E7YS`sjHFQvAXDh`d zfqc9#@*YLfEEuoNW|55*cpg1D!T2G)Gg0XsLz%#bjRzdqKSdVaqb?lSnxnXVL&o!l z6>U|!xOCg;2ajZB`8g$Kxb5-CfmOkNkc16pCljXlQriG z+?k}u^!mgA25Tb9q9uhv$bfi=@b84i#CpvHK774 zm5h#Vx)|`GOj}6miz{pbTgfMAirVg*8ek`$Zal~Q-Vvq@qc0}+=-nkZ`x^E#U$}x2 z&sX|ATujyux$mCIo@On~cu|<}_aw5?V=So$vst=P(Q*5XudXqD3FaSSd$=u5W3&_c zw&q6&VX>JyZGcOXuv|&Tk@Wr~WvK{Gy|Dk@ryA@z-sqZ+7U^X6eQq{n+uKd?R{U>M zgQ6;E#xV0I-}xN3uS%D7`li}Nov+t&N#jtp_jL2Q9}}u)5Rb~h5o{;Il8$$-1@9l) zv${P{5*HcW0|}}&oR|pP8BQRlKRT1w&+BeTYOj(y%QwxyRcqa9OY8gJ8)~3WoChz9 z!f|Z@Y|9e4xd!CIuCUf9W*GD$6#*usNIz>NE7n4(i3MSRHaU<~>1lc+7hPAUSTRKaed zYF{Ug>LtQv)F-Yp=8~vK*D3adu2d(xw3-R*lgdb2_sx;)Det51=bT=V}zD{nC z?&ZXmlt{veE!L-N`M>T_?x+V3t38d8>~vx>|E-8p)~)Eb=c72WUs$no9P~-XfqFSV zT7*()sXP^BME=K9M*$`qE=^GN%=y2|-~Qn6OO!*;kx}`9RGQ zIh4Am^57Rf!zWE$p&!g=*=9EWdmw20E1fHyqSOg7WQje%jJ19S-Py$%?Mcd~W>UrE zP7tM96Dw#bU36$We;!>9&U}#IvUgJ7a_YY)oT4XEh3vr!P2#Ue`Hyd!q-Qqo;R%p7 zcP4u$Gg-rbhcAj7B@}={cOHEzIA37%O~@t@9v<-&Ue8JDZ}0W@a6Q{7DEsf{VSx%J zW#_PO&mkLa%g>un%~irZ>b!?q&wMD=;jXbjp|?(%nwCnZv&_VZj<8^CRN#Qkx;Q5D zsdC+{Aj@YuiAxe*3t&r+OnR6YYbbYy|CtitKw;>ZFNhCUD9PhXS0=p~U5DU2wGpoA z6YJ56JWR6w^vvU1(7H1_1<+H#V|n#xpny`MH62rxllUW1w+mm<-KfG|ZAGJ)-7K^t2#qx48P`^=CRu)J=r4 z-EK{o)IHArpAtzi2)Zf1=PAOOKs>aGRy_$#u|5$MK_U{t=st-Z^wJ!dt$pJ)GXl^9*MVqv<;^N4_sg~gvVaTt% zM|vW7>Y>(ItL2cw5_Ggl3tRuZ0vlm}>3C^yHiYqd`U@kdT=shz_S z*vvzx@8-UcI`Uxtx5+QJ;h9jlwqft?bV+Z(NxB&5@PcssP6Ddp0)Ay~@PkX$Up$H^ zQN5s}VBUm8mqBP7vX<7gcDFA0Cc)N3Y)5(VanttUTSc(7jH?0P|v3 z5@%SL{ezLf5_n>tJ`4m3gfySprHU+OaNPMdU;D1+fzz|6mq?9+ziz2q7z8W1w+Q`x zgB%D+AnpF`Y(`bU1g`~s*q+y_Z(c6I9P0&H)NX0w7JKseFMhD%tsDmrbhhEgRLf~i z(AT+rgMR5=4=bjQB{UL<8S?!Xga~kJ#W+!Zcm@9%OEz}5h`r6cmse-r&*z+d zU~=h&9EkgV!L`IO2PW5TgLE!-<3-I(gcdx7B%U$===^eVCcs`2QQgH^(lYWid%n&R z(sgTXcnhOP6<~nbR{{QeFcLgiXXZmzM>uDav$t{8q*f$!gJbkSfXXunFNshU9jN-d z28kgLGPy6xf1&(ycydWVyiOS^a@8`7c)i&V1ne1qm&fiCR40 z-pYQzu>nxDb-ywsFkI?8tXv`!oqig3cCqy$STn`F%O`~8bpz?!T!!b*en6HDJ9E4( zW~3W0oKUiqDsX4JKai*$$q*@ReTuz7l;A?-eNmO9OZ7I4er8U{`<3Nww(e2e7NN&l zQKUB0Ct<%smI88?PQ4E#l1bsZ%@l^8-=M-7vy6q6P_FFFu&k&NBQy*i% z^$NaNQi_;CW=On9*}$E^k-TsYuNLDy zKT&)^h64>m!Lk^Rv^Kfc8uRd3J_umI?bXiGuDiiNzUxXckt)l-uWkUA#3C(WUrqkB z8!ajaeMU-evFt|ccHS12CbZV=E~{9wVF9ea%b;q6+seTtxlo&4_`Dq&!a(axm(79o z+pIM-Wjk9kG5A%!^u@I0Z`uCT6izyjAL|k9jlK8AV=n8wULSaQ1@8cxQ@{ zK(@8fL5^$!tf(jh0wzq)bZQUMnOWxkz~gFb-KF&ZOu3%Wf;&hO7%hKsT$`e{^yLv- zzl1`=a+edkScRY9o^feI8yLK`7R&G_yeSlZtTp%kolOAogHq&u`FlYd+|*iHXGukn zj3s%oo#9((#a>!6zv~Gj&BuxRq!mxQ9Q3ND%5pxgZMY{HL4GgJ_KNz?p+-cMDI!|j z=~YfLWNZE{)4b60FJ6;CEhNfcA?8EJ@2>QX`4+r*mRSNs%Q4J*SIwerXpG{}M!GGo z1G3-Ge<+BMuSw0SNfXIn*U8J1X$dpb`DGSbRxEoQA&hkG!tU!^>4hHyb(6_A!kJY& z--o29r(>?upVV?^7d4w>q;e_$3E@+sbMnffe?|Z@V}OY$OA;~NQeYSAQr+}vC|v$J z&xl%ZGtz|*@@O}iXSAe1HR8Y;KI2eUCk*;b8nzctl%C#q-ebh^xl6#5*C8U=1^0cX zY3HY$m7r#DeW!!pplh_FtQL5)|AP1+amUBq6DjY`y~^D&OBY?PnM&7ib@XCg{B*Xm zM9BxS2rm2ir|h=~Y5SCp4N^+8Fk2HRj9Ln)B1akh+M~f3vg2EajTkC;rP_Dzp^I>% z{BQ*v9*a|)NHYE*)B)KYo7M#q1n`}@Fj}_f#r8n1bOU!HRwY&T8@39x0F%M1G*A&8 z<(n?UUP$TxTi3r?-Eg>CDsDK^Ef11+KYuYKNFrV=^wzB$tP#rDGK|-`qSX zQx<`_+V%B@sh>)xOTo)TzL!6qZ~9z5TlU=}wo1JRWqFEi_OJ&V}9haTF>iHakY0#1YbK0ausC)8DmB@gEwuFfj)!=IM#e#OpO9$O(Y zBmI(V=nzTMxnaMI)6?{epfJ9oJ$eII+Xe4UcQD2>>yD~YTzB$c_>#*H46KTW4{hu9 zp?#b4hVDSu?=tWj7^aZCvDYSt;WTp8P%C~0Rm8!-3qGG7#v)zOEj^{<7)h#|%m3TPGXk1OF zetBus+WYXh8(kdAPrKo3lgWPJS8Dz{?qcUUbO5j^Oh~S?e|PrpTBd{#|@#= zMOFV@)~xpM+U!N4J*>K}(WM2Lm8Uo?4|g#^hVLa_+t;SlISboc@OT+9+MZne#0({_ zDE^aB3uU;~g=e+zb)N{`*t}5-xqK}`80HBBBeV@#<>5GDvF<8JdmE$`CG@E32>GTb zAoVub2H#mO{O_USQ_F6{etYfOFRIem%Fw><9fi{ImEwXLD3;m84xIm@zBB~%T0<22 zPdmX}Fvp5NQ08>^+1BT}gsDw}VE6?-Wgihz8y+exwE0bw(@(ucl)m2F;0ZQ#mO0j1 zo`n!V&cckgS^NB!lWD5iRIep5J)4uwRfeYJeZCI$C5ZC!^e2iR&Pm^Df@WR#@I7Xr zXPpEe)*CZf_&Qd}x?P@mTQ+PlG=90H zlTahg&Yti8##QrMaTZxB=t~GD=!N4HKHje!q^g?s=Ij5SQFh@ z+%1P5oxS15yG+K|e>S%|8On)$OUE3s)%pF+!7pFt-3|(1V}s(*=uRp}HldGgitwt| zyEJ!DAjcecx#yzft*wz?LebdNEx}ncwq8nFGaC5?I3s6keE#BEFQ8EudacIP_9Cjz7}yJm z&OzVhr89I1My^P8`m#e|;Moshqu{G3vJ1uz1zD}IaHVvkGON&$xC-!Z5+(`E3`;&B zwyS44{yZx^uwte8a;!7oa6*@8nw3zlO`inY45CZ^!{Xv%@&oCjK2!Rn)+mm&_nb6F zW1o^MIi4hCmQro3!dcsBz1)>t>7SQ3pm_ zSI~6-2Vlq(!&3OQ^SVhTQKNwcsgal(BB4nw-!(irq+x=59HhrjvwyN zJrff0eIlzW`pz8>nk^wY==ARm@Ppj3n;N@YD;0ptoqp9i`x{0*SMaAZ37HZ(r%*r) zOOe*2jM$y5Qlcst3{ANQSpczh?7R3}fiN8Y24}UawDJ>0jtyOVtK%Y40GM@1O9 zznxS(_71B`gT^Ga3cbpo*@!K;s`Ql$g#>#|TQ+7WqB=+a`$ zp|!En+c-6M(TFEX(xN0yI9t@#FQLUsxVZ2|BfEfFiawzgkEJxsBoMQdU0YG$F5s&aKqN@qS8OWq!2P_0h4Xp`>_i34h4@FnpK@geLRZ z1`=abG^cG0)kM_f3a`*ezcNqe*AI2=a57%H?jYn>1fR?b0g zgBPqiO2UmK2;|>ULB1e3>wdehlf?`dasJ8V9=3909I1`j)sC1j-nYM+XEWu7B>uYh zn(>5OgJxn=&-0gadVyDQdFIkGOj`?WYAj+BPPH19sIxPSlA~*^FE)kPvzy(jrvsi? zFU^IFZa9C=-XO}qmpgcO@BsdBOUn94`L;ek$|zl( z&>I^S%OM^IqQ?_%K(&7?%FU|l2bF601xM>TNA9r*MT&r~VW8Vx9jas8$B;p(F7gGi zEEdO2Pu(?FA2^ru{5R+h+b-RvnqJNS02{f*;*)ocV$H6>o zvEI$7;dDWa%~oLj6jb4}ICgqk*eiL#e(5#xPul+vS#KE@Wf!)Mk}@D2QbUWRq{7hM zNJ}W4qQppdcOxl{G$N^VcS$NCHApHTB{5Qa&GUZmxA$@E|Hjn4)^(lfC5L_n>ddEP zxOHI12sFKjFqw~Q{bqV=8gcz4@!~(e8Jzqh@XH#y>tf(-L%-`_%quW$M8Tne&d0=x zR5c>*_j%%TKY!594JsYhZz+6wqO1SHM-vgqs|Sq`kjg%Nfj@cXVP7s-5YEI~hbBks zAFqQzCbhAg6kO>zgpV+OByLzO29b4`K_?L27}a3*Lqt^>ufHlj{TBnGXlK| zb5Az&exX;v-Z(nA*Qxr=w05$TXd2jej@*qYW9yVKq17J*X;`t9wx`0&&>})u@Gs<^ z_?T#H4*u~xYTAvu!Jg+zL%E0|KUZ<2dBkDS<)D1Km6N^`$W-IVX+OwaWY((O^; z`bswTY^WR<$(l9cjASecZD~02FPimCckU)sRr6eKF8eJtkKOZo$~rJEu0Z8oc=;{` z6mplblzoQ%Dt(u1rUZyY7b?_(GgfW)c=}6Cnc0IRajK3?^7j*=ezY~G^$Z*^Sx7FJ3>}cooD@*M%5aampmt$p6z||Sw7=LOVIoWd z4dd(iIz|4`9q=z$IOc?!=vAYBlliI2*ke?#9r6oftZg3He=hbw5tdS<{Uho+vB+w& zIIMe>r{t*ur0;(&^2;u$+1qz@-#B>{u~)ozTv|Xe&8isTwaj3uc=YVbkc?G1DeR?8}oqt7yA7yk^2t(>EArA1{_P zyQCOvLAsRL=lLd}BPb?w5o^$xt=1pPc*q+o%kdwJ*D0O$Z|tih^ld+hTP<$z5D3om zTLfVV;Y6szNeNizHvct6lL#ZXvKLbqC(I_Az6aN7dBf3;*1;_x;`Uyscj}QM^V+}K zG-pgDIE*R(KYmkU94~<&>-?>h95RTA6c1us306oHM%hDoNus8HJQ`NpooHwoWAG@X zj}aD9jo>3)@hL$_w~X)=-=8{+;1}xEB#w}seCk!uztVC(qcMy}H>C!1#CMC#LvXOV+|nP1I6&7cXJW z8!2Eq96xDf88*H3Zxvk+UVw$JfE6i*wphmE5z6r4L~2!vb_=P`oGf9;tox=Q=(LC# zCgiZ7^=;nk5k2&!w^5}%!<&MGtw~}X6m2j2K>D>%4JwGh8|SlTUhF#ITfyW0OhA(Jf*f@Z; z0_PF>CI7-Zy7k(K0n5OhyPMy$=bhV2SCm|j{S)Rnv9@8m5Oy6n%m7~1^qTG2ft91& z;{W~#=tSMjfg$hMjTWHfmY_bTEE5t|fL4fwY7unaj0gsiK6QX7$&F`_%F~cVm!<5~ z0tQBTyGMqrWDvDrmkr^f2G)$|jKj~9CYe%^&KLQ0RJ7@kJ>1^oDH168ho4YUOx0Xb z#z1Mq(UQ(&+BTI0O+#)E3h>&5_>@A(p;=rC09)XK38^erRQ(wGjr*=ohuVTiPADG& zey0dp(3$ga5|_~Y_8N)Gt}+K>MOmoEuoxm44tO!VaBayT-#;kG0~n5_a^sj;VB_mV z9;z5pJ44<#^@i$UWnRBpEDZ8T#&9kho#Td1Pp-b6x-)Tt(9%dAdFYqr{{P%2n?QdBY_85qY3{SVuIN!%yJdF}x&uI=y;mYp8^Iaa zS-#lMMrbIb%YX+?A7_CB_c|w#D-hiT5eg3OThg^iU9S#>7j~0(8$~QI5ZyZeIS03GWl!EicA@T}SNmx4-m9tN$YkUBo_Fo*%tiP#nvQ7hH zP1K1*5QW?Ir*&@uP{ozcoHMz)|8{{fb03skm0@Zg(E$invJF^3zl=SvHhzBtssZxW zi1m(P` zkLC+U1Nxy57S9kCWuThaw0aOLv1>lkaru|>40f1$M5owDkVuLgIn zPEPzf6L!dW+dbA8Mx+iW#^w~OeCSc3)cbv6>HMrcDw5DY#Lymo>YMPiRO7M9Kx1Zc z`8B~3`ozOYskVI0H^`I3qZ7)llk+ow>Pe{RWf?M564kL|MuUF>D@!31ZCR10*tZv70?C>{QCp=Cl1j> zs_9;}bxTS+EPD%=z2Y>lPAeYV zt){d)Dq)PZT!%j|8Rr|y^!&LNYFqQD=I|$Pd*9Qwu7t__-mV4%`b45Ac8X}33d`IT zBGHuT0(O{X-PPr-li)!Y@?t-YQJ7f2K`LJJfMCs$q8uNuPY>0(GU#K(wkEnCiqHSs zHZeA7{2~m|egA>sBUp=m<)$+?rD8RpFNO7Wblx$~j(nN!Ka4)X+?l%%&|d0vS9u8A zQTLdciR< z#HLi+DH@OjKMvs_O>dE4%}PUfyTjVV8o_ynW$&9)&-Y@NJEus|M<S-Br z@iJeVAZ-f~3!iM!L_#MYoJ^LUc-~;g9By=ZRDJ$yZQA(E*!l8WUGg#II={zKqT>9? zKUY7o&=Ze1H!P((PM8}O&ObfHt9lAkIc_oa7Jpmr z^cVXG45PbP%$Tv`8e_bXyWjjl7SPDv8XiFU?aFdJvXZ1oA*Se9QnCte(za=YbfSh6 zm=?jfcu4?Pj6U}S?rzJ^^y?-lD+j=U8sk^Gz+yRYp-1Rq#`d@vPTFXG zj;MVt)ltQ=`?EAGM0P8BI#TmfadLCi6VmyFzyR|6fGyrnW~cu&uTLG@uK{pk$aU*i zKC~BkicF(!xV|;N?WnQjKaaJ%V!1r=m#Mw<^TXdoskRFvdBj<%u!aa9#II)UhSjIK z2qVLP8B2aq4~tLbN4juuyd5qw7CkZXn4|Oj_m~6xQiv zNHqIuS$FrS&!no6AwFSq%p`~UJ;{viN{3c&B|nIT7TsY{u>Fq z5KLZIU@cF~tO}aoexz*6Z;90))ug!3?}Lun1Y)O0JS0V*W`ZISLK0t8CHtFsF}n$9 zT|OB4G_xZq)#Ju3df88o*87ZrDE_`}?)CLiQqE#%#EIpp%V*>3B^~!HN}{00RXsm3%<@5Q;;~2AX)|>APO=? zHkn&@;CH@~V85&e?BjXh-9=#ISde&sr>uf3yI%+}vileXM%;BN7PU)P&UNAzX?`DG z?rdL8=AGwQe7j&3x`9zxJz9ag#krrTl6n9v~^H!pTdjmihaterD!;t1r^IR3R7_fgYf*o$;0k>fi zbb4TnskoiD9aLjVHDZdM0QqU>f*EEKLFhxY_n{gY$*ZK5SnNavFM4)e7v^!hC(+h1 zw8G=4_?h2eD)UZ~6ndGb?JZXafPip_ij-p8K@eXiFdyLXJckzYp;=F$`z&^ejx0wJRZL_a;fu^dsZ=SwuX2}1u$y=iB z{cu8Y#3GMjemtX#sPJ}EzFGDC^G1qWB-L$TVCOZuPR*nyN@oh>E7IpoPejeo>PX@x z**exT*F5>2Qx|w`S;Edd`Uwd_qEJR5{Is6O zP0P%^`XK-K-KQDH_aYSLnQ0wznx+$c50xXwCm z{3XVXfkOdf`)Q7$!$HyM;2}92oegS1TSLhLU`Po|Y6ls6%*(?BUT+g11L5jo!Ogq{ zSoN`e3fWk?N^wqP5GTw+j=-BUz!{Z4a?7P|f&=?seZz$4*m*!u67xJSJr#)J_|67Mw+ADxe>jvQ+|8NGK@A3XUm z@{ci4mx}cyYi`*-iSgV;Mqkj_8VznZBG=L#nr4`1-__}DMYeKtedJAr#yx9VsZrjf zlQiK>KO<{(RiKB?C0!wCpBy;58{ujP+00=Lfz*(9>uhM&EgtX1rjn)Y&QOjG_ssl4 z%y*w+Fj;EvnTvaY7Eg919}Dh<20Kk5`G# zlPmg+qEuLJ-?nZ5eEu~Eq=GTSZ22MvAZDdlk(A&_^;3SkXpqEs;umMgGOkLvCcrBN z-03o(Q6JUAIy}a|h30>0wT3zXeBa2cIQ$wLgJx5>@CcHizNFc-Ep^XIdjRq>F2lf_ zd=V<=$U|`&9s-I}F1Q}sG$4Hk4u!@tPEJTVuV+h2^5_{({fguC(GLT(7`FxcLm&yp zt2TLhoWi4{#G_}E^8TJD8!PjPDWXB39^ zbdT&3|K;oQxmavv?n2p^5V=2pmpEW9uL48=qjR=X?iEY~)r8TLQEOfvs~ZQ7yPkgp^x}r) z64IHO8y=x>@KoZgj1|g+31=0799N|U^5rl+Mp zo?uXFk0-v_e(B#u!|R)oUZ3nWRJYi5ad~HUQlao*GT&iGOnb>;wf+5Svuf z(%v0o95dxdpC;oh_JZ@-9-m4-It2=k;Vy4~^MK3ybL^f*o(kWa5#aq+CcHIO9td<8fxxDe9D(IiAysp5`_j?p4A-v}2NpdKamF#$rF`K!7idai4s{UCKY)Z!R; zwY0V?O;$hn_t$K=fJQh#swafPW{IS~hoRr&%4fx-`rIvH@u(lS$B{Od9dj#+h7Wk5lrhM*M~FxlBHb2K{GS=kvqP%dN$!L)`Z(^iHZ?xYhvpI{EIGkqZd~! zlAjQF3_r)-_K89NkwU)K%klq%!_E-h6-&jh*1~XbtTuZrB9I}jG?+F{#@&i`s&GVb zyjFyI@Dw2?2w>LS6CV?f(e1rgmvmGP^k+8!1}HQxTRQp;C5a(wDW2J%`;@)=xk8y# z`Lw3>H>c=SSXH4ebBMIy54lt2m!<9>uljynkZ{6${=Nc^qsW~+UyV#dvXDf_rA7|1 zKD1Q1fDPQRQg+3;-$#2jFD*BTD=aqZnOSCAqvc07uR4$c>YIm(B{3x3^Ow#o^GXyr z6Z1eG! z1OIhX*Ys|nSGH@0^AM50qP5p&IeuH6>F{!@(A5H2wWoNIG$Nn#Ey}?&!r0VW1%dyt z81%IETA5Dg1?p+VhkIa(3iu&#(z!dHXFWXD`}a}Y9{%XFk77z;Kjn-Fi|o8$y}D=- zMIO>WtgR^onx0{WkV!KY>pEYb=HGqp$P@gu_lM|t2UuQ0{>n8{iUpy0gGccT2Ny0f zGG*GYYjQ*Bdf?=~5ur1`%cZB$gRc&X2B;Zwt1p+GZlp0}Z8tXf^xmN< zo?-Jtno4kTV1l`MxFQyO%+t15dXu*I-PHkgvT}uBn#tSZ_vsP*Qp)Xy-Yc~Fu#8ck z0JP-#*F^a^nNC^9|F0I&eXQOpt~~5*u1ru0>O|Q5fI!m#otdmX!B@BuBZ{0h7))fS zXlIZJ!QcO7Yj8Ln**R?Mk4mC=2V$av)L#xyC_too3diITLU}H~vYFs<)V=Hd>vSjAv7PmF4AQ@hTn7+PMQ8 zLv6oB%#&Cb{kp35p)&A=!^3=T8oJ55yGY(4&7D4N2Rz^riBX3;C>wiKo_2J-RBa8K zYhZ>20ce9s19B(1>29PKk^WthyVX z$63oXp7T_mEp<=;!5>#Qy%V`r+CS;fPcG40Wu&P3$Efjf+nCrSYxgc&zCRFS`KVu; z{r4Uwp1u!;H4Wsr%I_)TpeIE@-=!uxln=_{M*SaN5{W8dQ50+^Ka*~t#zmtR z1H;FXV~{lZFP!Hz!3c8E8oV%<+YN@hVP*TWH(cw1X&*V9);j$c!6_P&{t#dp-m>9oY!O7+imVcJzfD`;Uq9l9VBn?aNKo* z9nT0r{R`lgmebgFTguP<7q#Vohu0TWiiomGH+|nbM0Wr3;1W>h>A|PG4J#R z8PC(vgnVwQ>TbI(9r`&KG;Kx{oW<>KSyr8sKW#c*eCa=_r(?EyFnTZYl*^!^_ca4t zdTtG;_4t?6wV_kDZ{*io&7H|YU4O04-xHLgZa55nd?wcqv`V^#5oC)a0WcSReh~DIRG*8aK27b4dK1Z7Qc{H#_ZAd*e8!nvm$PH4*L0V9YA4;z zl0T2@<95d84TRQ&w}&>^jyhLAHeNBrhafJ)=RbP;Ku1DZC`5?}S-#N>Is1G6pk3N{ zndW)>R&>Q7F;pLeb&-A_n4V&i3qZLLh!1dG24F(D9PbIE-Tsuwf^((Pjm%bEdV zwFumA*;T-!b@~E>%|KAD+u;LEy8AZfVh)S!anB!Ce(?FAGJ=5iGw0wU$>}YCXi_^O z5xZIauA1Sq8e-3^s|Bisn^aHFavc{z$jg7j@G6mVQsrFi)uJ7Sm_UYYd-pOk6>C!cx;9+oKlBoojq+7<5K&PHXOJ?bt`ty%LnSN znhMw<^6%ZLU`K`pWLsQTF(-1@Cu4o_pYQ-GPd?R9VluiaSsb2@zdD8E&ER+Buq9|< z{5G6X7zLVK<3F+;9D$QX#nOX;SXJqVN|{1H?QXG?K*4K%bD_ZdW1=^Tji?zA&gF|` zdOp2<4d8<>E2!*-Fzz)1(qt`=3S|cA*mbZmGJYFXXuWeUX!iT zcK9S3p*#eVDN|3Uw~>Vi^Xr5t`MEcc>b#LtXLgR|$|VjFfeJzW+?q1%nm~&yTFbg= zzxQL80(6nvG54{af?#kKTeuy0NK$Fz@WAdYi5660(P4O?}1R9HsT|3k;yiGD^3@g0IcrzKan^k<2n$c%0EsleK4+wr8NZc=2nceHp= zuDEy}-=jJ7Nsh}j5&=Lj;t@72*%g`U2q>Ov%tmRR6(7D|Iy3(^)~DC0bxrD(m9|D= zN~f74NXJ)e%B@(`DhURH1#20n;RC@C&CqYRKKy3HP$#IDxVrDzZ`Ma*(il$N2f)GM zx(ylf!PH7;bpJFvZD@pd26$JIe}sMytzGp6m#EU+|AiX^knGa@VkYO=V(By5bHLWI zcaXv30pVVYnMwnQ$7ozIE&8u(Dd#{>!w|D37Vb$S%H*+9v=L2+CmTf~V2>l>C~9%R zKV3o|uCwBM7*BA0XOwkuoRXp%{p#C_PJr2{zds%F%O$?qQhs9>D~*4K*~eUQu{^D8 zxwHZwMVTILZs04T0+j#d@lu6I=X0_HJHYu`I*~v{8Knft>F+J8%S5(!C8g6c(Q2il zWMx&w{YcFeYUy$<;+ewxg+1}C*`+k9X|TgpCgeJGH%c%_e)c3D3ZZ8I7#vBK+lXi#mV@F0=l>sojz7jA;r zHBYDCx3mqr=OLLo?)$kpSF+5Fxx~8{Q95B1mXx~ zY7k`oQuH#6+`QlK@@Re3#+)YxpVO2BwygIA*EvjZLW>m2M;Hi1^6wUBAU#1T8r4+@ z_{W=6sUgVv9-aW&mI_t)vu^{#G-mWMGv#V$pGk(H^O1aM6)|h4V!U>zzr1KqrsFqa zPfJ0xFz`XMEk0?V{D86XRXFvEIMH)!>^UhO?uM^EJypxNu$f&;Rel{A@`=g!t?gOk z+l~!!v1&#bNb$32!x<<>TmoLSEXNt&!&%^qroPQnFL?7ZJXsahhK%Nk?{*;~@5Mtj+aq9J``R7scY~J;4fYmYN*e1e7 zyR?fGIW7_@h)ZR$aC-2|sohw16w~>5E#G}Dq1{u0=>u=^V%F0)4uNF7dQk`nWe@rQ zf#T`1lhoE^*-6HT*?6vpZbt^k)2j9y<4GS$tLo}55#BdNeGWSuAr~CCZDMS)%I&aD z(LQ-**i0eqK%~w>&iB!Sa}k={h=wBX{9hIopOYp7t50Y1$rfv*=%wQ3-yDzJUZzJ@ zK=gI;E(RdEAw}Su&a=~uR$QA)qK&^aW1k;OrKhg1XP!lBh{FU-0*#F9 zOao11;OaYLgzIBzK#(^azRdX$MxZ^-0W)8z{96mJ@SnKwGmwBWt`7{e<3FBO@dBQm zMUdT+k+TN+IXr;gnSGxB|3)5#kMpqQd0GAt;KN0M;ER8MZOv4GK19Q~YC3o~y2yc) z=!RC7bb4$BXnu46C7o3&DUUeDn8@V74v613rZ7@8R@rrktAeE2gISJHjkn!oCin2UaN?BzHp&T|M?P8F( zJ%=p?joZJtR;kyQ<+YBn{Ij|>ne4zP`NA=aT)J_5Y1Pr+nw%KSfQN(7gl+!nDAmjx zS>eK9&hxvUh2_;L_1v`3o+vt-P|3vTH(V+u;7pLfNL$mrzpa|MQv1_Gs6b zN*qruw|h4nc#!<}bakVs{c(pNJMvywyI=Hq$g;FIushoK=^b5x3y7%4q8zQgm7Yzh zs7jB&3xikeig@Fo5eMftfp>=x?>tw+nl&+$p3V$ke#_-gEC{l}$-7v!)qFqNq*Dnj zVmgw8bC`V{qRK;VLu+xDVJf4e@X`3zE6X!aTlrmWNx#7fvIPVmQ-$K#@7Kr ze@g*OTNl1uF~B^gEdemD!}{BQPf)M{OA;d%Kc^!O`xG#W%Uf`US>u?612dEUC7$;u z#L?>;t+(Z}@B%NFcXhGE+#!7*&&jYNb6qfP#BSfUG>Ok_KOf0t+dJqVYbw;LL;6pZ zFfV!mmuU@;d^k}2db+H)Z8>_yh`M`;uSW1TWvK9z92d}Eyt<+D5?MXJNQeL|1Ita;(^pdk1#>ElSh%L~#ziJNBv3|u zDbS0C%8?Ys{d+PF{QDn`OMNf?*w4SoR0V4}B^T8T)WYp16BdOy`XJa8opJx^7+pSO zO*w$Dp0RLOnZq^LIVpgr=8o!i@ny`~1tqWDk&Pz*od%_R9-bi3X^{<&byjpqieW*(2YCR>00IR-jjDy+x%64^oQ212h#d!^=F zWb)L62{z@e2no?BTrU<3{a-ovL=Ac&Pi8yTOdWIa|AaUxcWO!VxDPW$T0eb9k?x+w z58UqjHW*Ui`h*$2;Z+Uuw&*u0A(lk}!B|N{+YUGa1xY9mMa@O%QqYGA@Ij4ETR=gW zeysJr@nd0)Uyiuy}QGJofmpX0X43P=m(^ogcrS-hLfzPis!YXodyrR!_dzeJ| zvV|LfHefbBiK%BDo0%l6to+B8DmT4zhIp5$4eg?dr_|De`U?4?SGtWHiE>7Z(bWuQ zATA1pf?cALM);@!|MB+ui!Wy1$F1Kf9k>#2XKV(9Dj7R)k6LYpVi@xsePJJTCxsv* z3|L6D(h7A!j41b#<7BpQV!aZve3l*ss{dTZ<UA6MK%snfIv_+sQ&rzqfDTZ*P=NU1FHCN7W@|Mzlxlup?#QBt3Ok z0dUd}KPg6Ug!i@S^Xelt@e)8(PtzQ2qNj3k?-wyb!ApT9nYaHm;D~Fo9&P#$7^Fa_ zwlInM(%gYM9f-b;{;>`oBqxA;PIg?vB-+!RNlFXzu%G>)J_u{NL>6S@`*#qv_o}ev z7C(eZJE`Zuv@?y!PH@6L{I14yd)Gn55fMALQ!lI_68nyH!(ZIWel$iP{)Bl6xlQFN zJfFyyHu9irlKoD#IPSpyo$roMd%U*c%2R1}oc4ci7onbb31`>s{-yQ}iDxP;+JAc1 zzyBL+s8H9v)(NW^M~vnD{7vHV;T7jS2EyE)av8V-c17u{d~N-wO`h~$CcX3jQ+7f` z+o_JFU)YEf>kU2w3IR|QqJW>yuXeGCzNDSkw`b?E=~Rzt@(2QTV=Kc6K3nd~=MU11e@uSf=P0cw3#_Orh>7-S z`Q`)P)Y9Ly@xAqxe8Qo>=|Y&kMTgy#uc=J&kr~FGqH2p3X~4v}bxV6LZK(86=Vx}$ zEAIysHFIXccX^H6G`STpdaeF+*4BkT=oXy+c_6lguwk0nm;;A5@frE26%?+*;SCz;noOK+g|rX)X@6o)66^RGY<#YpBi!?ln z+khsqxWgNlv^6P>wix9uC=52>{|Gt@V6g+1zt-fQir~jUUN0>Ob zM#DS87|R_{qn+QEI7SjpqTQ4rEIXhFbRMqY`Z-Efw*Fun-GM|pa3y21Z&c+JrSJXu z%FD*mZhS{Vn1HWS*`@|(-=)mSc+yvHY zxkf*v%aS9nadT2`;4KoM{P-xR{lvwruUscldp`(Jcs%a;_Un=bDC*b;wwR*(4-2qx z6z@7-@sd;)(ol=zSqH7LgpR+&9x`or=$XGu``HZW#^*c?&Zu;hgcYzSdMUxjwI-Bc zN+KLdm0?GX^v@htKAshkt;A)hIRtt>5zS6ZH~sUw?h$sRq&)Vh1W0*%y~P$yj>>&Y z(!3;T`_b<0%G!fM#e4FKPLWL??(?J*4lz z<3!jrpfvixDe=wh4%Hi830NE{X9BMk|I*qGD{mk+$NJCX2vK!xJna$To@1$iJjr?P zSs|G)s&#sj$-ONjz4jGTBO@+WU_bHeA+GE-w3$x;>6d@OPm4LdiGf+6>O*dIUZh8s zI4TK_>A>Pw2fqO@zAS)b+E4p>y|L?{zNC;$=b^Ny9>x2h+EQ6PI2uHkTGXxlBp_&U zchN5Y8KtT;E1a#uMQ|HXlY708_lWbR#q3Fy`AfTesk zB;jW;k9Y~#P=3I?YyM!?pqtUS)fQORVg9#L@${_QUP1g`4d;>Z4%y78J^B6h(#3b9 zM2AMk%4Nmtmz#G0Xt7gTa_;qD8~S{8(}4WeH?Wfe{20C|_0(xBQg{i}(Wkca8Vu>p zudQ8zkXnh^)wmZ;Lxx40bQX88tUk62NCLQ?Id+^E>q`)aIA!$EZ0;XyElz;5Skqu5p=VP%`Fb6MW`U$A*69g$BkA0~c1%n#pUEz+(*388!S*wxi* z5O6642aec*Z2^jTWBoae@e8)6RqE-~^iWf$NL&h~hXO$Nq|~*CSkMXpr?+Q9y+MTpRzfrLPl|K!oK zN$VNY<%G(VYFJ9^Rv^`D6p6}@vUrAMz5>D9Zgmh{rjR}}kQIW~8!HZy*{iHt-yHi$ z#AZ54{jLw`8$0--GMozvN13Df()x^jOhuS@h9g74MLK7n@irfk$#IiUQ>qg{`)xCy zuHU0f|FK}ni?ezsFSu7nhkj$%T6rki+gJqrLobIL10fsM(4({&9_<=^p2wqVz6ZX! zs6m9-`mzww4Us{`Qh_ne@d8s43ThNf!N(13g>DBwp4MChGoUioQe>ab&w zKb^@##Q-wa(1>gP*j~Zp$Yxh?=dFKk=_Ev-7xDPQy;?f5N=o*f+l`~Wg@!OK#P62B zjD6Vv+-9W)0SVOSj-Uo)7`PhKcTSs@Vy28n%2sBi1;b%c86Rf?x`JQ15q8D@YdhZ$ z6?m2=Q9h+RAd0KKn99hTN)Nr{);#!f_+Q8$_<#-Yxq9{Vu!g{D_Z8HEPMj}T5s7kO z$AH3sdgrbi{T6k}`m*7RV6&hYIUvRWi+`%5h&dKcHBshT>vx{&E#7D;<$Fc?stH9W zztWxmR{AYS)>m8?Q&B6hPv-mmm>uAwpy&Y#>9bo}SVAj4^u7D%`IBEm#X3E$4nyr{ z-N5cdHHmZBM48xRS+~GB@Yb;Z0(0=dx7B5zA5zk~ecz}j*s5BfM;MauMe(&+?D+`% zRfX+q-uoiisA(I6Y3gWi3(bO4InX{5=FEo*a+~Y)_eH&j%Ko;T;;6cPXIMO{P@Jw90?R+JIb+ zM_NjW8+VB_s7S5Zp0gCSUH%1_FPBv{b$lf`2=Iib%M3izfsuMAQs-p38%5ta_UK4( zF?Y_*O2FDH1m|MzRz1mwic;4^^N%h{d8(nlIck>$i-k!PAO(aR4U+)OC}cs#PXZeM z?^q~sO@nSfQylGK_JG$^9ZLya&ZY`i8i?WsP;cYEsW1bbNf|3La4P;sUt7;tkGJ|N z(E_Eki@F~oK-U~lj0>UFG|iK;c3nIlvf?qTj#abZ6fM#Qrcb4Vm5Bn<_z4YSx{8?a z6-T$1k_!HRmusti4|{^^!$08+{W)Q|tq{YC)-}31H;2)A+QSg7F z4#RLy)bcaVKyoMUJ1dZP(|8p!P7>DJZx(nnU^|)j$#@&Yf=yicBPfr0vA&D~9N=}^ zIDkEV^&XS75>qtvyy7`n*Dwvp+WoRH;MSy)gwMf0wVnKwXeYzFJ;3{xzC8e|Ca@Gn zpWl2bK2s9Iin_4}z8;YedK}pYgbbT=Y&nG#Jx3E4V3u@rCJJ~Nw0WuX?`C`Bq~eW| z*-puawgYKk&bOafM6Eg#r=K%%@l_gWRZTjeYs@z2f5fpdXkh zd7IYK?^Y-G#Z@l<(&b+WuI0bxfd+b2luP3gc7*hq+{GjPIG=lIm{+ino%#8|Gt(Zd zrrFpyV)a;fihr0sG_>dVQMEivy+;ns1`5xGz2%A!tJwV>3+)(|T`SaUHzkI8sbFn{ zVJ2u#%kG-5UobX)e=PR}7_IMjk0HPyYsJdS>HuPlPHswaiFphqj1MFy-2*lT|9!UQ zqYalrFRVQR^M;slGxKam1$GV=l)LMj$L~U zwAwe|v=PdNy=A@v(MIp`89+fdD!0hue?|Aalzm{ESOgZz{#{b&agW=E#SsYCdSfJw z$%uF4TdMw^`DffTldx0$|6gu@36c^PLHs};kY#e6gMZ)l+CNiJBa<(<1ElHo4x#Np zx}#=+F=!HH8uLKe!^*5NdeoPZPcdddCX9ZeZ20Dx3YO9_F!oDoO$>?5hevx!tZ`89 z&Rv6sLSu0;;!dkbK*SIOf;$8=*RttHUn03GcB&E$2d<4KzUkoeJZhfF#LM=ZJ})Em z!_1fsjE>o89`PpNJpkig?u*kaYo~*aq0xPg<4Y25vpm`g_rdEUgmgz$6$vlb$v?uS z4bo`t&9R)M)8qLwf|x~Xax9#LC4F75n3k}F(($2lk;7A0R#?GYGhpWXt+Cx~`6U3k zwGZC99pH&u>{zs49hn6nZO(z6zIJOYqwFin3_$k@hu2|2^P{_T!WCF3qJKrPB$%U; zLqIVhccyz*A{!(c;NW#5DQvNm0$&+}+?Rpje;)({)aNFSWB;e0KL^Eb4JfbQsx_`X zkpviN;{E}OffJ$wPJZ_Ggd+9vm!P7N@Wn~b9#UgiT6kw84^@_!0gKJeOqB=Vs7 z#BYWJ#@F0tHAJWnx^_d_CV-duZV+}s9*bfV%jbtIiZb#v0G ztVA6s*g0MVu+!qxd1Dq0^3Dw*#*~}+uG^Bhd{2!3$+)cRy7wEjWGG{Zt4q&OsWa)} zYSBx7`QVZRp!DFG866>z-ByT4&2K5MQG|8*huSWOX(B!j^q$tC0On11(^_*G9rutM z2@uwSCG)+>*~}-K_2Ck=l$DV?))0WK*{V&%^&sKsxjvZl*pLKEdEm(b8%Y$?=k?Yq zqOj$lomQuZlaH~7hK3*X?kiy&|6Yjc;^I?K|IARb`x@E4vfXZ643ktt@?VE)`g-Rm z3^2AYPmq&7khZDNebPel!7{9D0eDqqdkS^DF12YM%8QO5OsErut?Cx+Vz#E(DmmtiUciFHIuDo` zy8rYMYc{nZy9)?UBAO@4ZiwR`YCdzcY*2_;vge*T7fnpcZoW)Y7~vxKNEl^lL3IJX zb=su$9M9ypl!{-&e2$mOtZ_{Y2`BQl9y88T>RisOQKO7K3_|M}7Ak~668Z?ms$Rw0 zxJyEl!a~qQkeeyLWKW1S#3|#rIa?YN@8#M&C51fMT>DrR4TdxBu|AKNuf<`&+o753 z>L)3}1Uqsvr~;K_lh{oVU<%xLGQ;>~H7MiiVY-bs_gJz2d71S-yriC$REB+#`Sz|( zBo~uyeQ!V&UJ!Ucbh^1BSK}0sluD$aZL9YG)v0H{loj>t#bv7nDMEO>5IK{#K&Xyq z^pSR^6_py4MEhzAWy16Tv~7dL`2tIkI{~c_cZH!e^cGaX%!=}xkMcAlFqr&9o3PPj z5nqMZP>HQX2cjhOCm{H?)IZ@AZ_%Li7uwF(>^^a)K!DciLSM?D23lIoSPUD zh1U<&Sg%h_VjMVQFR#AUiAW@Fk}r6$>oE|TMBzaazQ&xhzgJMusGtctU)n<&kwHN= zlUhVR8ZdqYIc^iOvrid4H4Tzh9nX^xv!lSl7rHvz%XlbEOcOd4 zE?9n~{=2pVAYjp=-`G%08zUStK+q)t5J}K_H#M^~h&Jwl8;&kMWd5Nlge1>0pyi~^ zN#WMpWauVnYAF0Z<&Qr&NVpdfNT>S23xXo&jx+l5@e`x_&yt|H>faL8hjRvYT=1XR zX4U6-iLOCI5Bkon+8suB0$JS~$A|0y=_sB!RiT?qHISpCpae%;{t}1fd}B#=zwXK> zw_s`(f1$ec^iZjAUdHLk_7>^VhSeo}^F&-=qAaGLT`#0hC2G`G!8a9DFShwloL*Pq z5@u@B1c_pH;&BFz!+?8gp~|R1o{nzY7?;p(E|~*6D2J$!a53U(K_7;d2BtOBP5wNS_6 z1Cf(tO?niZhk1(keX4SSQEIFzsBsEfYT>!!B_fr-G<0YHYK(MxrR7R1RYF{MMH{># z+NN*6+B{$h)`^}UOpi|Pjw&wTORP#m@<~m%{q?_s=px@O4z&i3>^Scn%J^=2NdgZb zKNrj`*C@$fI}~fI@J7xn=0_~X;po@X-yKXTxNU3M*Go=Di|c-|YUE=U(vbJfoLhhW zWHV!aw^P2ZGz5F$gBH5_S6y6es!~fkjN%OS%rI*e-Wfm99wWQlw1==&{|gf#>*1s- zP1wxb2opXeSX#Bs!Gf6eUXC?1I3ucMmW2$*!iWuxDA8D%fEvty8W!`wX#IQF7Y7QL zRy8@-VgI-&?$?%9YWcG~ULmA=eMvmQw%(KRYRwRlp=@`WUQ0o1Xz z7M#e#sp$Dz8UypGRv&P$_+qlwM@3~Qj$rofhimI2z#kqZRV>=x2rX)k<-HIwtL_*K zl{5J57x@41^p*ipc3s=B2*M!U2t#+bbT=Zc64D*YfTDzeG|~b}mvjh{g5=O4-5@Y@ zcQeGdxt{y|{)*^Xd+)W5b%YAs94|1xcKCJ^TS@jU?@PMDdCD_2ENO7A+Vsq}U5U_r zT773i{cZGEb-mEPNx7U5O1Vm0PP+TC+LgJ8b!I&$mVpw~a{}FrW)J9CfkE8+uhXbb zMnH>LDYnQfWK`#xdqKmK0qVM*&4*W@=+ad|WqCrF$t|-JM?e!~Nnfl33~*bxT-$1= z|Kq$<@%_^vtY&Wr8x%~>5jrqX{6T8ipkz047y z;L>{(0+6s5k)9~*LOb_zg%%9CVBMse>D?!MxzixR;4c{PdPtIAcKzY&eVmj`Btx|(ZBlXK2IcS2Q%vRtaRtg1N#&k%_tQ*vLjpG zWHt7S`kS!pJNb*dGxNsbjfXXkuig%_P{Fl<!|9R5avq9OkG zLW3F4iDae9=U&=a6boFWDu%O_!>h`>+szT6nKCCcai_bViW&eHh$tlMX*3Bn9B=_uv%_3>}63Xh5V^1Sej$9Ji`?rI&5<0@H4uXMtNF z-{V5OBU0PVe;+O6Fk*03f=4A)y#8y8njP7&{qHBD$MwYBqi1;QUCWg6q;Fj$q}xi( zO>o!SXn$5TGKZxhx*O+=a;C$>u8$n!p}g~HLX6UGN$(H5kk;1y-_Vp9j~-?8UbucO z8N3$=Lz5y5tL1f&k;LUcs6T(09bA|11pn<(G%wKuHlqKi=W%mWDAT(5`;HIR40*e% z1j5_837K=s71{NQMY!EPyLqZL=xn2=LBGX1`2-Eb+yk(vG*a$K*F*xSd`?BrFFxzk?%An1(;sxc{v zFfkOXe=?!ar}pqDG_0fBz|f%Om>}^WZ^6($#pkO__gt(5NUBB%+Xb+@LYPP#Yk{WwZ%>8C}5tFA%cPnxy@AhvQKCuB?r zNV@0LcXa~Cxz31Ui}1A8hNyc_PnnIsz^);=1o#x+O+2*PL=F`OwP-1>jR`r zDU$_X-TA7H5e4VKt_!1yM*G&|H97BhWW`Ex)3^OTyanHkgxyyiE)G*ePuHkUHyheW zbn$in90$N9NC0fx`<>H3C;l9De&21s4g_p;7tT4J-0d`C#v3c9Nt=|_$7wvwk)N2a z;9;ceCd7VR`?-xdY$JlUqWb~0Of(jQh^s`erU=8|mW|J@X#A|Ki0&W$4+k<^yJ^Tt zo z*H+m%SF?ay;P^&C``+;!{Up1;as^haeg1x|C{|Iwr6_-SlZmX&F~ z2GNBc(i}p$sawIsv6KrJox<&8O$R{@V?R{Bgmnls2tTlLxg3u6S@BIU@66c+xnVtx z?HN~N`MsnO*0rd$Yua%Q4i6Oy-X>uCH>y^m@%?>BiZRCM0U%p9@7u9QoZVHP>3CJ8 z@87lnpqUWF8$XtQ{o(_1moM$)=+Nn44eDd^D zr#n{ZoW9Cb&86Ok1k_o??koq4VsXS|zf_Ko(wKOSn$&4YaKv!UqV5rvG@=!at9&7bqaXk2y`;7a#rPlKYMm?0r#ocg6EYoD?VH z_9WjMkDdsiPMjA8oKaGL-md%ceuF_HAFdHxOX*RoR*~NG8Tr7e8oRq-$>!}OQN=ir z%HKgYg*|@3V42}K)imrikDDQo54^!uoZ*jzYHN`-*8fCYP71V{qNNj?rGQ=PjE{1y zd!fZm&BGe4^~;AXFX=|j3eUK|U2(aP_FEjSj4FyrGOqV%?GpwLoNNlT13umM(RoTr zxzhE*l=#yRP8sAvMJIHKaJ(zf@&)3Px`GDi zs$O&JtzDr3zn(DDbw8`Cyp3yF{obE{?bz!Nzm8yW*M7FuaC`VKbjUec@=QN!$6reA z_crU-k|VZMWR4TCWUmu+|f`s?w8$k%;mRYjOO%gxfW zNTlzo`kPB>V%0A4}n;*FQ`#ye@t^dvhGsPX#F!blXZJr~eJA3H7=L6C=VnN>!@r{eDpd z7Cg`dS|@6__7`&WH2&Eyt$e+PGTMZK}ZNowreJu(rS-y;n|*b)&fdue$hd(xV>9}@aBgz2d#`^ zo3t;iWFEU+2_or*Nf^(VnqQ+b@jg~hI~A>yn_eRv+jy(JAvhYdBI3nMohq zL2EoOI&VBr7~`RJVVk3v3{)z#f*2GFZOQx- z?%2oY7zw_WXRm>h(!&ZPKggQVd%@A5OXIh=crfe9W~JkC^%(NPa!33u-tZ|*FtX0fH!gcoZeT{$8Ab=QR%FfW zPOs)$;Wyi9wRhe4)A)lD-XP6gA8$oTJlUwfo&&C#&0{%ca` z{*jD8ExsDC$BZ0TjcOeC1b}$Oi$!*`8D`CN&U82>6on~4EAuJfAIJBam z5T)@lsW7&j@{8HXgWwWLinJI+F8qbLK8d-M4vfPelSU%Ux8 zY5fMNH?NKM^l+7_jRqrfnV|g7Cm2aikLw6>0Y{P0VoA(@8RSf_V3c&CVXT?1PSq#m zD!S>34yVXR=vk!dqK}Pc&AL$y+TwOT0AU|XW~Z+l?zAX%)M3OAO*U7*_UO6yD(riO zkY_iVN1fKWUlpGmhKwxQ3F1Y8K#9;31bGnBHuI+RL!$*6#v@Mr730eD z#(i%l8jcePCWGIF%x`lCL+X8uZCc6TFcax*zE!Mx`^z58vpp+er} zx8{sAxJUmHgw`XaaGpE$zp87i^9k?8h&G2~j87(OB)#79Z)zcr`>brVIr#RyW*hf^ zC+xtpjoB=VA;P5VP3}Dy;ctKge zfIpVL|LU(cTn_yh1|05cy9B@Y#!sm$XJqm)bBwTY@LH4Z9bBZ}Cc-ndG;wfcG#be< z++BF#<`^;+x0i!gm^*x3P++{2X_9;OX`&eDhaUwN^1`)6wZip9oqp>hYZi)|zrO+V ziMXv}M!dj=U--Eu$7g1?6>ohPiU%?GfC3}Nv$0mmwpQe1xp^rf(J8BEhC z5Lg?_h?@>1>NP zXu-I!F#rm@p)XbsfqNY1LIJtiyNC6?5F9{=z}B zGm8A81xLG2OoG^1vFS~b2#{{{Nj)9uznyKqNooEZT;8_OvJi&lQM>xx$aRrGzvL5m zL_B8jdou$Upi4oX&c3bh*JPknMyC~Gtndr`ToagV-TB?}C04iI=XW?Cp8;T##pm`o zBMv1Ffj+EH0V8J0|~tdP1hg&Uw zv7}7&OG=$Q9MQ72#*VgdmvkuoHe8!sL?IXd{_nl}tGD%HiSo_7p^L=V7mT_IX9wja zlM6H@gNMBdLgz5mo|`sm=nu2!wMI4K1ZVmET1eyY3b4FCbR58BhX~CX0G$6@|My$t z(i;%^OAHdV)6U34cN>9G-HnF4O@gk5DASSGfyINu!&M&N>9S>Kzkjuh!IVe*kvp@$ z2PZviPbZAtNh3Rjo9H^DX-r}2oSlpI{%LHV20+@D3$REFovu7KE{!oc_z})chykE+ z9GL=TICwr3wfn$=BiDVaF#q~0o=vwMjIcPx#KhcddVk>#T?`XI0a*9t?*}+9-q=z- zAzH&WNNbBi$cPlA=0<2!7j44J^*4eX@$e+^tl&l+%h@KUd64KR&(uMueN=yjJt^)0 z+MtST`aVTtu{Lc*khZ>ReI!bHB=S^eR1w9H z8lbabG!IelyUZow=F3PLLcbuv?(e2|SCbY%=v%iSYuEd#>F8Vca(}Am=y^mf2xxGP z6MRjE#>ba+Y>bn@c}TXkDEbf#P`ykZ8&XCa*k2!nNE0_-bnqNO@Z9H!v0}6V2L5yq z_QdTG$wZLecw=MZm-eV9r;om^E*E4+Ev3YNMhu}WO#+{&XE~GbAyjd9J(U-t)X;F? zCPt3)r4GKLkH$B6H1TF`JIu(nalrOz7QB3t<5kE42Vp!q#=MXOO(gx)Ey$hYayBvQ zrPmM1V{UAI&MaWG+=GASdoxq$$u+=}mdi>d8!8lg|B#32bRwYkruw8uduG4b8nguDfa4|!pm1ay zBkuuT2$vZae!OJp+4C`#WF08;4(hN(90;{8-=7B7{IBhOtK+XsSG^2Sv=-TJ(P|X% zqPXT$cighh0Ty(iVcZ*YoTO}*nE85bZhe~RM4PaY-~B=`tlKRXKTtxuwOjP;-;%8rsNK5AwmTKLj%hUuN&m8h!=T=vO`^^gUz5(_c~)Hi_?3F z<-#axmlp_hz#K`EuB`COt1zT2R9>rn8VsS^S-=U!;|LOOZk4XE7~DXAvqi$rmZjC!x1|GE z?Pr!n_g-E%ntU=Mgi_c_bx-{q2JQa&a7;(-fF}?Cm4f)(k7hrR=>nV};?OX%pQ0)M zQ^L1i_}*@(AGk`qFa8sKe=O+--0$k|dqbz=wIABz1$L&S!+5HlG%>Hn&M8zwKy!Zg^i4&dd$WspU~UXec#3J^}bwn zUo7Dz;cqkX4|rqe3dkqQ*LxqE!%Zc43|fT?(a|uTx-PAm#d{k;Z%zIVEI2V$(>lW1 zCv81f?>emnWRSfOyeP(HyeraU@w8&G_iTxX?uY3sxn-&+PdU=0IM)kfmB$aLI?8Cjc>&tMrBu4_A$mf*P7j`^|9krkIANVpH=p9qZJI<^)l2cgaMAA2eiV zkA_h((E%sH!)2G~V3CF3L=7{~?z8_EfWysrBZ9UZiaJduDsY9(u}iWBo)c%b9WLVe zCW;RL19-Nf`Oh*n&-dje{en&dF^L}Y+Z3W<1eQLjrV|M(w}og9cks%4SsH$LVf+4X zHQPFfE|gn)m#~JU6_GM&byxD(goXCfs%a9`E8x!IO{(cMjw970$1{1eN=Fd|-c)~N zXj5(p-$`eARLEgte=1@0&xR8ICDnSOcYR1F7a(8yJILInG;nZ(D6Fy3BNk{|R$(2l7}CT$8*9q-aV?B+PQ6;Zt3jE81IMVqae zqMY@L^huv^WgtGc6gZfyijA}d&r#*dn#&pI!?mM5#U$tI%Y45yWEjMA3mOgxSYWZ@ z;r@L!A3B7H+0M=(F8{yl2+m4Rr*s9^0dWgOmD3~tKnR7V>rlWC0X?IuW_zAQiC-)H z6{pX$a@+9S4CQZ?80ZzqmcSZ?#%Jb3mo0bOkDeoY%|?u!e6`J0)M3~^#_&lD%mjPm zP#kVl8hELKPfNH@18*wWv)G?E* zy;(JUR-ep71jR;gb5C6ALBYdykdZ499MKi{i}JemRhh}p8(gf2?@F+Z2m7e)YMNxnU{4Ko_L>{znDceJ_4Ad5wK|wi+TCVKjG>F0sG%i@4<=$Vs?KlvKNuj7!8Kk@7}X89%ayL=STQ?X_POhH*hymWc@ ztp!e$>_+=bKOG5hrZLgKChD+<<%}L5Ns#IFV~)rDklI~5w(Py^*V=oxc=J5>CGm5Z zmiIqa`s|^gS*E!uRxbfHwHI$vZ%SRo|9g`9iFt6pIXZ0iKYkcuP=Loj{FpAA*{VzX z-N4fme$|L~s-&zO(%dq^^$RSP9!;NEnpVOG(Y!^2s~yfdUNs{16`_&l)Z5P~W(6t8 zp2(qQzuay8bxeuD-^#Ht(jHoNz`UA|(dzqc1kr*NuJzjIMi3}9;^j^q#vnqE1-q>} zJr_{EvhvK2JJA>Z`MoVDvgP8FgdGYAjcm%UYwpf*bH&_~ZCs z#w-ll#IS11vW{K%o`=~_+x02I?H}3U7#qs^c-FhCI@Bcc_!pCI$gF!%B{Ba6XaJfu+EC+~Z(JuFb;vaDd8Wp1H^R+<*|@vZYQVIv zC}r%^-TMNNTo%1a;Nt3XQ(GtEk6S6f_B2p<`O5DnS;XW-%LdnJz(UR2R5XL1!YRNS z3NVK*NrJKLK5u_O*uJkp`^=lMzVS2g; z&k}Qx`&5F~s+1ggDqQwY)(-af@k<)>h)RlMCw1ewazVtkjbeL4-#OX2Z~m(&mJigc zx7l)ft+u)K^|PDjen-Ie$idN(!HoUv!~8V zr}71J9oR-&40-`s{kHhlZ@@rVA4iCgaCl>K+W0q5=Lu z2*`exMz|WEp{EA@h^x^7S;X%p-;k`8RetF@YHW9?;RxP-4jh|N`xOV$v2lLic zy;&PgnZX^Vg{Ex(Fq=bghVp`Jk?l#ipvYhGviF|Bueig95iPcE!#C*seQqG>en4yo zM?z$2=aN-^*Yf9<|9_k7(GLxie@QwTsUlx7ag`ysp;q73*vBd)!SMkWrli+XBB&d! zh@5th#m*}YYEheYXY^i#hoghT5h=@|xb^AVe6ZcP`HafKy7!}9(~F;xPqI?so*`Jr zY*Z|oWndeCRs%~ctRtA)GfmQ7XK5FVc$kcA__J}3wSC4--UZ*+89oJ63T~e1UGn08 zJL<-Vs<94Ju30v|-%U+Y(k2uxqY+o!_+DOK)e9hJSc{sd+9^7DC&|?Z$Zke_oIy`% zad&%Tu`!f&twoBW79hV4C$Mg&h1ER?^PR?E*I}^ueuA_I!teRrx^3Q_>%1TFlGgE5 zou?))EgT`le79QW?^TFqH_$@1;Igwk?u|~&g7h|zb%lh-K1>I+%8sP4{5o#zBxAPW*D{CqM9pGi6~fW1uzue_@4*2$|}YWQ$tJO+UlY&QgWHU zwU#0c_wU{jo|`h@L&wB#gh54ly3!3O{SM8=^8^1aCXzglw}HE=BZqYN3%?Q*cPA{0 zMq28uE<3%?utr%jAun|S7>y~NJ!;hhcmZxahO!EbvD&mRU_ABDDA{*?x#&l9B)@um@@%VA56Bqm{IoOTq8+Ho9UVc@xhiOs%vx!Hf?u!@o360>9{WjEYuJ z5g6!w@7g&DI`!zKH=1M9wM^fhEA2D^m3mv_*@rUk5N4x(2ey>wOoAd5@Bm;(Mm6(6 zNFk`kl%qQQE!~=aW}UW*YhwNr{(qXNDQdeBjSEAItTxwK5Zo|q0V+NBFwG^i=XvGp z*=>r=S!eY#yDykTV%QIXw<8f?eJ9rfKh*GBZ_X0m%RbXE;9($lAK6z&E>B(#9FY1o z#Xn9M*j}d8g{leLxQa zc4M1UUN|F3U!n2m=tC0|-!D9-mcMOdN*@}?{{2u(WaIgy#4|!dnsYrJZ-8gZr;PLH z=7)qxj1E8hXe@_H1p|#IjIqAVtHHHVYa-CYnpr?#gIiosq_wMGp&y?PKkvw5=Vrjl zGfZs0Ks#FnX@8822}F>G4kI9a@;Eio)vO#p;C#HiwD&>mzLR(9UVCifr1;@u#{=S; zJ9G8I=K`F}zY3IW`~lr_HDYe5BfJCnL$LcCr!0g%!Xk~o(R#7$EPTXQeE3OkI}!WX z?8my2PL{U&M})DQ2v+u)3Oz3{9Q)UhM#ue(hwc6cW(1vCQ9WP09_yblSHJ2LO2#)A z)tz}#ne~_alg}u+!Bw|wh%lz_WJ*_r%9Jlyh!=mgu%r_(qhPP3zcfC6q;z^5y-CrJ zd92omuI&A61GXVt`N4ew{=>)p$E|Lo+mByB0mcU+3OO=9MtmDvTlg&TJK~qXoA1-d zY6(A}{-_2Isl89M592bfb1e4qMb^M@CDq94viHjv1+tGytwczqvHU!Zv(ui_&@^!W&3_x3F*gHnWwQ<)4br&Uqz0;=jZq>+{g zRoV??;~U7U0^Lm_%m<%he9rlS!JDYa5n?uYK=v>uZjM#Rb4`b4JO5?ceQ_%K?bQq> zyyRq^I!||rxEX64+~Wb~$J1TUpM%-lpyrsbUg+ZoW$%nIaRE$aJ;nRe+a4W-dg`6- zE~tV-Tp>}wa#aHaRNg$2?i!GCotFkVn~F5YrS*HgyRWgI@GIQMRxeFiM)xCe(faRc zyrwI7hWHOi>+eaVwEzuO^T{ka{7re8IPNZ0LPI{#cxOyGXJVa^Ok*^jIx zUnuAy`Mo`B`#13`4H%S0kg3BMQCH!9&x0&>NJvLL_-5o*#tG76XHl?Nz7X&YFjr#~ zQ!@-YhfVJBh*<0ie}3@ClIYBo(7(-^3O5YV(ojW?4C<)z+2b=V=z*U`WXoJZ0 zY|<{P#7A*L7+S62mf+PJ`UjYE!_A*LRpU@V>3Rrq7Z{145xw}(sh`|=zTXR%D+wzl zQNx?a@o*;)tUu9u%1tV-w%L}vJ3EO2=gxO$Cu7hsT5;aXbj$JWqoOIDqIE^c*b%2c zqCZf;_sf^N9ei$|VCr~0P}bv^vf^zUVAJ%Q`4IVF(AE9dX6S>IASG3tC|(K0@p;Gt zY3|t_kB&Z92yXkxz4gxRTPf0ZSP~}&K3yD5_q~hVHI+x!4N#z5xiqQ1?sEM9U!mLm zEA$@5t!uCPRW_(vfZa$g1azG<_)rl0qVANB>%L0y4WVUGlhsV{2ie*A zlyZU_TUt7>up~j^`51CRm(c)|CrXJ)q+re+62biY6^3j0=0#msRd;o^M*d{PS$z3= z2rr2wd{}qPJpjf@MS!Tl2>IM%7f6MNaz{G)zYi4GPEgO)ug-O~x4|Vxz!g8LW0}wZWiu3(xpd81sw3E1dR*OK9|t!z_q6d&rblR{bonf zw89EgIu%pa9!9(jFDH$YqO0PY9p%)U#nXM5?CCSwh(uyUqIdPuFYuhyy?vD|DH1zB z=q5+QPIq0Em&Fp;5FBx&$D1qpH$7I;muL{LE+~EY@A*p-p{A@sklHyDgQk3UuxRKt zZL z$!VhWL+CP}n5V2MK6U(3x2}v8*|hELn{wV5rLc^{RIu$D+KVC=z%UrlM(AY{d6?A^ zk2?p#p!V)mS!A>{l>Y6HzB{bl^i{QjA{g0v{B zh5wo?iZP37a=a*NCv3Zy47v?>!bY|7WZWOXg+4h7R{wj`rBh!CFiuw$zDZ0Fby^fM zrH@iKOjs;r?!YE(!<=r)E+izYS$5VmnN&an4v+*%k+U8)3x*vmFIapbT-&}oe1%c8 zIlBo75(=Ii-|t4)N=#-~KZxSk)h=+*y1W*UCVT1u5L`P&t-%EQUA?)$<5!Z%B?xW~ zjcsTJX|W3%Uv}>cgO}>o(eLikC^UlQD`djn;BGV5V6_c8mk9Sz?~R|^?MVkJNx#n0 zE9V|;iv@>nxv3zWFK8&1w-UBP*u=~ZQ6^^8%f59{#7Xg4*~OAaRr;hzIPl!=E z&v-!F$#EcA*AK<;Dp19C0(&A^LZ~Xz`bEUL5;+JpOvg6LgPUJ@Xq@kD^Y`EEACmq1 zc8Gv^P}g`PKg1#mQZc%!QX8M=3&gUtnn}(^+Ej;7Km&68J=UYWQq+D9-T!0d;LDf~ z10dcmmaR6MZb0@(rov*8N5p?ij5$CX(@gns+|#)qnq4Q8KfJFm4h{WL<+8^tg0w}= z)>D$P<;6Q{Iv&hFveQrWnFk(z!-P=Uj0^8fmfwrqxlz|RjS}zAFg5#1`7BpVp;eBu zjW@f$J7#ZgCgxb|ppCm}^*tNZd~%#|!cp~^xgE-vHbMEai&0}6dPmRIOp)#2w_mG51%n~s*x>l zh5bTDuwgz-Y@I4E?m*5f_lwV;cAmZxS|lyX4}7umjc3ucS(i3fvbmK6XBNSW!QQ3_2(UzTi@4`pENr zvU>{WQG@jB7T~6-;>^FCNEYIZ#b719|i* z);5IDvgK4*wW2#ny+V3nZrm4Y13GFpMsk^5Nk|D02gFP^DrBM=3Or8u}rK zhZHE9z0;@F+53bX``s+eKJWE2Dx^my>BZ)FP1wUCD%!bUHlo2%5=QoY&g1Ck5)v(I= zg{QW;p&30xP?>X5HtK&2i1CieIIY!~U6c@P2BXk{P9_7W5I4M>4o=C(HMrc8=Q;#7 z^a`VAFe~q5yQ-R+*m?hW{roQgI{#FpvD_~-!Y^*pe+W+m6AyBhO#p@NSow`vydE#Q z`G2Qc-vA~Amn!q^K!FtNK91Qys_3WeqKM7We8<@YZsT5IRa7tl5x-R3(b0TY*}b>j zNukeYY4%xCr0BIq6xJfnmHi8XWt^vR@57(Yj+joyBJ3Qt=$hkBxy|sRw!X)OdYEc1 z*`m_5ipe2(d@sY}&_ed%1oN7?k&+_VV~9jPOQpR#kWPOnPg@|-g&*_vqqv$|e{tu+ z+Z9WG@^M;G^`E+O+3xuVP2F;K5i>+k;I4D_QRd0`BPPMHzi&c|X+UkWPy*4ShU%{{ zmunWkUkMK3b|w^2_+tK@<;(41ZR5_FDy=2xaQ!9=57Fnv)nP002||oC zdhTlZA2Z4sAMgL(c>+IG8y9%u(1>Uz*f6M2mVFBt0Y6u4yI%S;L<$+A)h)(J6@?g~ z&YD_6aL3)qCgk{?@4k-jG1Gg@4f10D8z}zClt9hIfrAH&hYOq>z^m2( zhy1hhD@s2?x|*j>^I1f#I(Si`uakkZO`KUncB`K;wsw|+QXC<)keGx*xStRY(ukp4 zBX};6lFZDs!C|GN3IuVdI>PL>@YhWzC9 z-Vb?!0gx`ECTcY?pR{nXB+@X^`!?w>+Wy@^j)V+8be}5)0pnB1%{cf)V_#?dQ6~V^ zf{)DfQ+X|jtGu~-^LvgNw1fUr9mn?;uf`wez7?CgF9tE$dKUigTln_*xi~AphV7?L zPETDzUV7-r*h9*1l|U#KNm``KKCur zJaN)W(o1C)(Zh+#lnRp+`Fo6b@N1|E&`&-Ii~s+GB;s1qGW~M7*YAfFMTP9KFA9_w zn~-}%KvbFC9HU&52q;gvHvjuN!dA4N^;Tw6?}DLfl3o$k28K3RC^IN%bx{a}Iy+z7 zWn@4*gWhCV9#(gu zgvrGx_jmG*rWVV9*{)J#DF(5D#2@ZRL>@w7jl z_*^Db48o4EvF-rWbxH>pg_Ex2Op{U|?4W?g-=fF-4Y2$feBI*RrBl#nF^D5-8hg2( zqM;e)O;vEq9{jK3D&!0a(RfaK&fJN);K^s1#=wz&UCRJ`oDz{P1jcre+W`A_4$$Vv*GTAhU zbmkZ?i|;OQq=u?OqQE!hD0GbdiP?Z}a46wP_`pYto$Z)6$~MGyA~;;d`^LmiBtL`M z5Gp4TBL3x9rn5%EW%=+gRG&6;6T*lzC59&h-0zt>=-v`z_srLJ!0#g2)fgTt)b+-@ z7blIDF(|BN2H+O;EUbYSuqyi-H8YkL3=qJx05RZexz;vg;4?zL1?4{N${~;}t);wR zgwxeqcTKZoAVR+kD|xG3+|*L>QqBbZTDxY!poWS)Cq9{et!gJ&SJ9#v&M(Z@-F}&RMtFy7mu35qX^QdStd%2x1|dn{2S&qpweLN3C3dN zoG7bXqwrl9?4i%m@lA;~nEO8^$XuccH{j!^+KJ(*vpIJz|B1!KA4Fgd1Tu~jt!PE(&;T5Lh z0@^Z+%$gmC=Pf*KEoDM*6-2Rs)jad~s`D}ERgcV`VLQEhSDDCb?hioqkbA-<^?t)K zZc=VAfHxl6TV#1WEMo$Qb2mmcDh>B*w==u4S8pj_pJMNwsGjy@t)YTdk>hmO`_?&P zL-$H?k4Cyr&A0hOYSul8sz4ip>wqC0E;-*gOTDa$&;5sGopk!oev)w>V>I#TAX(NQ z$o5>(<-AyhZCoG=oq7kGKf@Rz^w&NED&DW)iFp8@1%QfuMfH=4Ub0E+{iJ^;;AsAV zNPya|AFtAXNO;hH1IkZnREAV<yDMsbq$` zE8D{!{Ks2Tjtz2TuU2ZDBUsJ(mpnYd@7rW`dzm*%bgXku`n_t%&dA7!-oK4G#@<36 zw5&)e!y_j%WZ!?I6JoJ`ETU~=V`GcMr4Du27`ZBcLHt%n7c14!qC1GJw4C+w^t@mu zQH2$VUud7%y&-p|Uaa%G(kk2W#|Uf~&F>VP)go&xI!;^qHW*^17-$RPk#A%K=4IlA zrJ3yLUXLthf>RVTqBKtBbAfB<@2S12sdw300d2v@ZyZ_^uYcqA~w5A z`oqolzcq0K8AE?szYJio9=_Dj3p6=?M(0T+$#AfAFLHLO2ir*<{x=A6J}>6S)7f*i zvH!-Ooo&HR?0_c-F9vZ?;b&(b_J$}3p(V`#6upPrJ-xhcoNOaF!GxAqK^Clwpu!`I z8YP$CX{gsWF$1VxlxFfzNkSuZrYfwl zh@d3sxqv=k&6a(n607>i1PZ7&ptgVjlTL3#szo;1gg9UWXuS?t`3;f`roSJpFZ>)< z!0a;#UE){?o@tK%T=0yJ{o4Ve+iJp2@=*-^gw0^2Y%J}Y>B|qDCn2xj9!Lqov*Z&o zN6^jSph>6R{g??Sumu^hgk(Ej)4Ts&(I`$67X?)R6ZSEB2Cyr0z>K;)UVqp15^~=b zf|2o%k1a@9_>{f%fK%!hx%^D82rbE_eSTV}FbCl1W^uoL;Z?OzydKDDDJYVMxu_md z{d|3PZG7?dZ7Fj-4(D`8=wURy$W(xQC(7{HSpF$v=n;avVZp`VmAaF2n0lkb-le5z zRMq5urw`A!8N|&Usx<-hDHylTQ_6^qnTP$N$#$jS1iU8ddjgT&R1O?P#_l~ZTn8YH zwkW4*Q|fgT7BzJ1oedV4Q@`IFnK~14oH&r@1o1^S+F!i5CsbCH((^y-Whk`sVm+G? zAO-N`aVa(_3s{~g&C#xIl4%Kotp`o5x7+r{cJF!@RR}`Yl3pRWR&}= zGPcxTNMuXThTmA>ZYW7FMo|$1$a7*8nFf3!!YbuSXU^5C{>R>XP62%YdJj(a?z~p} zXB?nCk_XOX{K%S#Y*NX*3~5D}jP#>vz2r7*BAf_DEM0(V?+#M@^949?4(&CHv~tl@ zRn@Vzk?}a<*Wz{kw->21(kYGnyT-5LY#KyaBjC3F49@3Ly|?bpffE6=Y3YnyrERyr zs!KsD>U%5qo+zE#d;VjEv%)`jc@G#+(;>D-xwy*DvT@Glbnf9*zyG6rIgKJzV(Gv- zBx2E68Tk1iOqHNG_R-Vv>;^3-kvqmDz05YC(%cF5{mzCLMe1xJ{^!?nNYurya zx)Sj_?)GkB;jS~hElMW;?D+Ku1`TGEA-Ggqf^dT1{PtOz27(j_4#XWcwO2>yNC+t| zWl7s>-7dEE0&bv{g3@f^6-QH*G-w< z`sP$oy|iC^P{H&^Qn>ZcR^HpbOUn?qovHGfj>p?DD_O9*#m~1ZJxH=8QT<(u_(i#g zDq^;Se;4QCtoz2iqTaf>j!e9j^=_Oz`O2S;`oIKg*%{%I41yJET+T4W@8XAY54@9i z&i+BR1E`@-)9xVq4S1)$!h(#%^PzDTU6g78sGo=I00HiB@EQNOB6;UC1-l(uY@sAr(4?$d##)6FNIiRs56!{AfJBiaeeBRY(%vHeqelg3 zo71Z2=I682r0I6NLbF-G$S=AbHb8=?H7x)m%NC?+ z^%QT9TXObrfGq03)H|GEM z+%Pprj3@zoph7?yi&}m;%EfM7(Uy0dF6QQ7aMO*ZOsWbBv2g`GY4w*M{v^})MkwAx zzg+9ms>e+mIvu_H(kEz{9QYVyK;NlYSOnMBe@lDY+77|ND$7Wg8w}W3PM+iT(wK6& zO~TGqo+#e6b$4iex|Qw`SRf(~YyTIbjWWF$=3UnQeR9zK}LFuw)D7JT_&?8TH9 zivA4Pn%Zp=PMq0-B2H|D>g*uPgy?^*3IG*kVI_FoI9av3!PeyIg!$%QwLi4hHj3@e z$tj#^)*jc6a-4fD466pVrYI}JY7uZ*;4d=ZojRwQJK^Xn9k;0?fwfe{xnoCj68dZR zS{zf(Isbg$Xa797^Gvu^?>$UGr5MFEJ&292Q?I8s~#d3Njfpk$$pmV`_aFS zrZsY{GfDvRsx|fhBkV83qVC!~V3Fx#vl#oyw2BeV&31w(0=|-em zYG_a-Lksg?1y;!$QIdT57>}A)o+3nAy{6P=rgsjtj>?bxp!6$i?^0}>+i%o znk+4rk{u3a#~$O~i+y#!M`bs%2Ujx5gd+b?Dqm2pvMPI zzd@STU`GRm=qw!f)+_T*Th&0u=PhLqpx;}GjK5~8bF4!01MmomjN>$VedSVTE2LaR zG6DAGfv22b9Ni03pH72?;C4*Db(9sXp1wog#m2%RtMK((iqj5dAy{aFfKR@~-yuy% zVA)RxSUATNG~O;cXj}{vPg|cl`R&W5lQxmwL>4O#N$=KjiEGEQsmyfE0y0^(>GgfZ z;S%a2iDnsin6W|Lwo*o!uEl46{#sLmbd)!c+x4OYul-!-{ZFF$nFD99r(OFQ4G&$j z{Ev-Y!QP~#Wx1atwbzMzwFVSXR3Pi5Jk4PX%zDN5cU%I+(KhpcS4FqnBpaZ$3?s_* zv4aBC4YqJB7ReNTb0$CD4?GPm0CvCi@WWu1%q4#`jNYvn}6tjTwY#Uj^!y@PF9#+jnMI%{iCqn&zS$Kbl<2d zr;MD*EUwaj$3e*?7O15DMVKQ%l?|$(AtvZbZgH{lFGwtQhOnp!V41UFes~ySP>if* z62FpLb`VoJQax=)r8??wQol-*D#$b{ZO2|#MjjnSdh&PFRGnR-H(;*yY6twG2FB(! z(e8W*ACQ0p+T+a3%te6Q(%5`(eM2uMl)+{TaIZy>`$=hN>XF=0g})E)r7?`egt)vO z_<}8`ADtQYc*)mM48t8$10*Y{MbDav@d8gZ+na*p^k0pB75U;3`oUB6_2lwXgRYJ$ z13A4GO%$ny!xmC!`wp*XA{ix{w~uMR+=T!y}YeE^fP{mgp~jdjEoos-IJX@+lI>c9hxyzs;Em=(|X?9 zo_?ug!N4v^X0#<;#vVmnIBUmYAwSLinim*+YVpIXZr|Ic3FXYw=$X3kgj zg`_f^0!U+XPp3x$o}~PDcLLm^=_=JwTxtQH3leH*A@=!g+~|u25|F6mD0#iR>-@(* zNJWSmI@TE?@@?+WcLi$!85|dB&}7AMHGABmBLurIcI_FbIXrA!f1R3ou4(4u{q+>o z#-~iHp1G5;PE&1ujSY%}QdN*O0QTM@;!0gvO)uxal)nYko2CKN|59&;2ewQJ;?Cq= zI*mwOIR5ck4nGD^=X!s=729J~76aUL>Q3pu-O{IGG+-=g|GyUQb}(pPyhY-DR77>Z zzes+*P7EO#ef^vq@@nY)ds^v3-D1gF;4}NizX;5c-1}o|M7OGC5PxRlHmO6=ADvsD zO#a9efBUVY_a3+R$}#=$&7|AHOMr}vH4tfY4+%=)bv&hby`;JO8$$;i18-EpTQ*Di zv^Gyw5dAwh?YfsVX3-}H4D3P4Js-;6)viqZPRs_aPS32y1*_VtT*i3?IK4hc9Jj;} zk5*GdqFgwM5y1Q*GVm-VaQ~W|t^^Pk1ot`0878g1{0~9UVk-}l1_~9-N#FcR9jmYd z``Jxy27(K2`BzVPRagwkJH%Zw5)|NI!;?Ov&#_9u_HOaSWr2M(AVIl|UYe#6DxJDYa?JL~5G&-@!^gl|Wf-`hvLWNLbp z!l|@#63?#8#RlVP!!~mW$(J6;%bN+6$BE%A-u6q|0qns1anfO6VY$p(lPEBaBS_vt;@Pp%C~LLYeZFN_Vp$4!xs0EJM|7|BCa*p z0+iD5X-ZFM_o@buLFCZ-SibP5o4O?Scaw{;7vv;gw{Ev(dFJZVVt3kiX!_$q^_24?HIjRmYk^nA-oUQ& z@;VzMwtba-Ve-4O|2+o33nH7=Hz0>F0&Tqz$6(Il=7GyY;Ga|Av__HaZ7T^Q(taS# zc~@#kD}~y_xVx+708QmPlA)QtPaZ@U!S{(n&cG2r`ADuYr%)31H;5N3q47}p2+e9< zA|F}$Y{bMvQ(K|0mbW5;DcLP|dIz4nqCfca7dulSS@{$8bGX9){#FzGsX}-$>=N+( zTDm5B*6j;#fH4}g3EWT;elCA}v$;S5X6+Uq4+VT@7nP81PjX1K%shzjT1TT#h!2%; zh2MmrB5S23*=B%Mm3A0bZeGjC(fQ;npp2PzX^1X2c=_s|buUsJ4Ro*W>7=C-_FV{1 z!ngL)^Kw-xbsbFQuDtD8kPuY=?J?%hj`$mewfRM0+;-C_;_By5qnN^mpq`f(>F7br zuNpY4tgKJl5E>+pXsf9R7&rf7^xm&_<>t?SHug{|LoIs#Q$QwEJr1=3%$enSr{66< z=*+D-xFWs`C#oqG(%f@;Ebbuig7;LJw~NlB@(WSaJJv7-Q!8@2hwE#tj66 z{C;cdnwpF^d(r;qts_ZBA-Ehqr6UGyvTsUm+@|%ro*^LA_1gBs?<2G#LI@1&w#DuP zH{Hm83ae|tXkIDS6kY)*4~7HucRx1pu&vaw_v-Ru5RKuC=H=&yii@)*NRXc*9OeXB z;#o&kdBZdbRzgTwgl^vLyiGR2g{*n;<+Yo(B05!2?)5VJ)8NUu;%wT_Rq?Dl?#((~ ziC^fb8xH@TklkX_E6!s0<<9ORtEs?q{mQ9EmlTJ}P@~VDnas!Oobo&3*Q=|Si|8w@c`yFfJyI7(>H9UBbLBBz zfEdD!VR2h!p9w5WLood~^%igdyN-Djt4{8o_9D=w(pJJ;hYXN_UZZ0u<}c<>s7fC{ zq<=TGgv)#ylq&A!T)|ZAW8rq0W|KAc;9%;L6tIVCs-?yWi-Q>Leem0D{$?sl+X&3s zD45SjBg)$m7-Ngc1fji`a$?6yIG!`r)p^|!(tjmr=P?;r_Ih(=MuHHUZk`d6qlD{2b^E)-Eo!y$zS-~A8U|| zO&nqe23t`Ft5MSt%)864Oly=APx$JB@ZUeQ>p>ow(#%qt~-7GnZxXQzp)U6+)c#JlvPiR)|eS)6k;EiUS1BjlCg&l7XU z<{~(%7X}z|i=^K8Pg7AqUB&%$ByW*i3Os66jn-{wo`bfN)0%4+gGu7K%je0pPiD-@ zG5kp{86rJy&vRy0s1St(DouA46@BWFV7}XvTO4t5&w*juy#F-lQR44OLYJSy>5mpX z$7Z3D1e@;0SnFizf2DMoIxgp$`=_I-voh%!W(bwH{hE(%tZLjdthkAhDf%3+1}(a! ze*-Da27iHl)5*2;i=mtQF)pt|4XJOu!LCYE?NiWDhQrII7G*#pLvrI6bns3PB*HnR zjPhYA$5>VLm%QA2{rLxcjcn=iibRvG0@Sd0hU90SZ(S0fN8O zDWI8_I#c74WQe%?RVQL%ZF-`8{Vs5wQcKN|V--8NZEZ=D?fg9fDSGNWy{N%wrFb`P zY)-Zx*PAfr-i04L*!j=mvvXtr(DSiyW5<9CbjZ=T^;iUtc6b~|@~EhwV&&!?S;PpU z+c37&*|Oso`AUAcsq_h0CF;`#A4)zJhEIN1^hP<3zvDMJt@{KfMR|D#W~zlEl*(w@ z>6_Je3BSPEf6Z-y_H+GQ%1ogSz^UbHWpgSY6cwwfPv?<*Gbe6aEU>D$4v;E1m=P<{ z{Ugk=Dj_mnQSxRDsf{2;sQ+s7bN1!7O)pp*cFX^6c*}2gm;j_;0NI001Op_VAerYq zG2*mYA<5sEJ>J}Bhi&WdH>dX1;>4P;xJ6%MMClV=$!i2rjmfSw=-b1b4+N8+-n*3k z{By7}f(g3d?@@fCS>tnMrTnizxgKgGuq}Yv!s76iIoSH1GwU#GzM!j~Zcq6R42HTM z&tL9(ZOt|R=}zMy;J0^^>E%!YlI_z_pq&$UI|2k;6 zG+@xI?3ntb@gcu;w)*!Wh|@K3wdneq+{hHDPFghK1I7jgnz8bE64O)dFNq=gVsvaz zS%JVRY27O>%Ych6C*j%sissey*7FxBrcWl&=5Qpwj|Wi+*$Gq6KLw<<01t77Bn)Vi z!2nYOJ_>e8-ZRD&c>|L@pmvc#Vvt4I=eVpx?T+t;+F1#_j&;y4$sqaa-ctjYg~!Z8 znsX<87R5Cxlo8iXT+ppfPl-w!WmfT1ffHbP5-Nby^^^++(^TTHT zCX_vfwBB?wY%IY2Eu`BoHh;T27cwQgCJc+?6YK%834b%86!>B+itoz@w00o9nnjMy zOc=`qgY;Pnxj39>Tn*isv<$+yxVY7mk&F(H82R#rLU4243{>KV;mApyy#HrK??yW%#80N6Tq@A}rS*f+!dsE+(rGAIQOAK50*E1d#H!onJv$8p9 z=I4}!R7@|jHwA4tcp0kBQvlAzs#U(rF%XMzjnDrw;ini1@(k!nej zvlFw>jsx^%-~%q-@o#24k;aH$`!zMc|7@wt+TQfP6$!*IYg~4M`tSacr|q)|5rgl4 zR_+N6{bR2y*5)lBzPa*v8TQp~#&FSCIaSU4-5a&mxcgwFDq~ys@#7b@5O&Ge-Ua@) zq++wG7iL9WdbE5c4GxrR{recU2Hnx6^woZ>4_-eo z$fDZtd=~Scf{YUtLJ-lx4d8vn(Sf^`D3Q}Ga~V6e8&MZw?KMS zq(wuE>0EQ&>3P+MU(m5Y3xD~qrvNwd2G+Zu{Fs4n<%2Xc)>oZn%^JnxnUhsS+0cwi z_C&jrp>}#QNYYrTWhq5+97=$4ls3QbZawSa z&B`s}rzQifq{WYiZ4(#&*-KTYc9Gb*x<9s}fZquiVmFm{P_`5D1*y?|WS3@$M@9ZX zMec*q{_lmd&L8v+n#WifYKPz7GH8F08a@qyTblZ+-hNn`#PeWgqF@pj2eqj3dtFGv z2nMnIDsh=;D|;G5g^yM^y#HKu402z(7i5*nwQZ6?Or)NKM$O+7%uw$8sC&$|k8NUG2Oxeeqp zL2>ja4qsp2p{KBiUuC?!8XGd@4gRqD!3S1aSjuI&I+lG6C$tRTF|;M`ur^zq9o2WY zwKO;9Tz82@-Zw3q0(7LsdfK0Bv?pUPlyL#>63CeLHOy#X;{IYHD~ks3Xio*Y(D33@ zy#6YS_+yKLkH>AZp5KWOX%B7Av+xW}T*J-H>ulpwr32exfRWVWH+R4^pCeCn0K#3q z@zw-`5w4`$I9}r(#%uJ%^!{@ECHur+6*$twxI&T3N(}{oet#g}Vialp0C)lND3))5 zaaa%u=M0b0|ITsbQ6O2!IF#0lc z@ec%=fyMXISL0rDQk!=?0~_g21KtrtI89FS68H8c!-u5rgQp*+un^#hXtU{8@;u5&gssF8gGh#2J@^F7 zdW)ef{&(eAD8zyXod#NCm?WQq%nbJU3myWj|Im%*9rD4yZ3l5cmh|V3^EHY6^v`7T zt<{4~QbP$Ckm2_X#Ix7Gz16hx5Zpv6yq*x$F_z%Z%ozEFC5Yf80J5@tDe? zE|sG=GG=BYLBHJ1&-7P>?~3jH_N1$%FYT%OacnThFL`nsE?D&Hq-*E5g|lv-dRgvC zF1T;V(bBL|l=+oRy13jtTzY`4UG{?N4G+B^&}x@`QN? z&shXiUsud-RbzN;)#!?Q9Q}ZDl!m&43pRw~fND~}sF~^g+81;C_M#MragZhD$C*T( zH}%hz`EAjV4z%05dUghAi8dhmlljc*oY(U!*(Uu_@f;4torJbU{=iT;P4VAapA79q zRbTst(W8@HY$afM9wLkQwzXBl3Wd@X^pAINNBbC{$F~1?{ZNF9KjGQ1&}S5bwro>q zz}LYDsOsvCX%OrPXnL%EVb~O+@%G7~R zu!$jWe13+(jv34kY`5p$wi;>CI{l_!NFvi2zcTUnU<<$;)>I zo0ZM$yt_r4`L5vLEn%hU5xQSoSl^zGNlpTQLyXsbm(#@(U(ts5XZ7K}|$e zAQaLK{Au*8Z(;;V^3MdcJ;&Qqe*G&s2S!N2?(r1-N+J|WQgOPWIPUMeEB0|jsLi!<+vfSu0x`3G-3a$z?RbKE6N?@*s?!AFX)h;7z)E2+p`cQ0ZHd{XWPd< zM?cws_-Xfd2Hm)&7(i9i0Gox}pI8D{EF}C@`%A^+lOTsITccFc{CkA_a=eBfc$teow(B;aa|tyt^0Rc@7;-&mSMkhR|{c#t0^IrZDD z1Zi<_lU7emyynuIrEXlz*{)jc|1)=u&?yx7RYz z6%XPm;{orHVkg6H{l)X(U&D5>f0}fI1!#bnjDszI(|`7+FFewA_>F)BC!ffp*^Qbu zNiD0MzO5}N{oa?lBJ)P?o!WiL4Ig^SNOC=nbbzK;A4!u+mf|jF~6}r6;!GR+&G)-|OcXq&k&k=%F01 zrgKCJwkKUx1})*wg-8OxS)zh2SS#~3|Nh|FO1@{0Q%V=1G*Fz6(knRk zPZae*7TwXAYa!D~z|_--(Gmp87B5%Ve*YE~)Q16TQ6}>^l)dEQjE&8+#pL5hz)3PE z?=tXwYfFY04aF!iWQrOa8tfHQP1#{2YlQwiN~$)U;mC*2M_+Z;x0E3*E{?1p?95%8 zPreI$M$#wWO4|K~?4aIe@p<0poeiWQs7BkEZy`v@o}=F~G5-Ts7jd7Nirfa5Ng$iR#j1)<+GFQW$IRELcrh_x_t~FVK<|a*9#8E^L50hMX7%*|knH$4a4V7;o&(GVAVn1%% z{+G?f!vGGcM>8krdHy#L#-U7eJPd`-^F5$LwlQowl978>n&8r8;gm2yeQ@#x#V<_} zJ|aTV1j^zAWSZAk!ynQ6o89aZFcTI~Rg}wv|A8IoK8}BH=m{~+9xl^!AWfUwJ%>Vk zv)krQBIrQ*ssKMcIdQ0O_>1nbgLej05fD0HPQ1?)#mLTbg`DzI5t8*#FI9(Owb4OZql6^ zf(X*d$y@oQY?Gqi^BL4&KoH8y%9GS-s{&shA-!`MGd5Su2~4n(*UnICe()a%6Xwhz z;p7>eIG*=xFbz`OTs);<7#SiSyLllG^evLz|1l=1*y#*KvcTF6)wa;G z_J&7bGl7usNQyYan#~(Q>7j zIs^?Dy3zJp&HtMQcKu$@X91JB!DGx2Ao<$|o1m>iuo$n8>fXu*7BxLuq`i)*0)Bdw zNNj$kUZxvILl$Ju*VO-K1qzcPR##sJ0)|3o4MbTg!CGg`hoq!%c<0YzfB07S1r|B< z_d~QBS2D*f0|W6IV^4j=9m+%MUF*VR`jxtxgBO0E;oIlwIOHEp<$8`?%;V(s1Nc}J zK8D_7g1UJRfz8(Dta z1~m~FRPDc)#%52LF|#1j28tLkV0w?T1tx!!6{MHNeygUm427OQDSdN}uazis$5@gX z2WnUq%rxBe12Vv?o1@RbNb z5$awqLO(-qBj2>{Ekk zp#0+d86G-0scKv97)5Ug3WvW;dT|+25&1+2d2&gEYUT_oXniefUj&T&(M4r(Cb?OfYBC4MdPk}0M-Nh-Uj?fA53yd!xAE7#z5C1<5Y6d%jhM)&`3oFgWSE$S9=lA?l*Lcpb@8JzFb%C<(AqfPIy##42GUx?IoD& z#kleVM(rr3o&t%70OjwFz>Z4#5xj^jR1jH+sU;c2Pd%(;eGjBH{>a8+^9ymf(-(?6 z5MJCfJMyFwN<*2rZ7)d^w$$YAPfcNlmvWeTvZ7fzyCsR+&EY2l?A)x=H!veCoDlhT z=HX%B>aK(Kb7CM5hWAg#9LteGE-LvGZ)qFrqJ2+%<{dP*k(3qt8mut2BjD`r_B_X8 z+rQdF*DeINeCq$5MblRny7GT~ZSEj|mNwcHmv#VSkkQlN^oy+$4I2GpX`uI}ls+Ge z?NOHc6W{V*=z0gZ8U$&DcK;Lu04PTPRc0i+#otNrd38a*tnck7PVi$8*w!~_P~Gbd zKgElP1Ef7ihH-?M*PSX_jpGLkT2Eki-*0NwMO6QUn3@+G&EbM{%1eEX`8foPy`%Rzf@`OtShBhil!(Chb%yZ<8b;+UYA zZYanrlTiJ54vfBDUdRA-X>c(1K5+Ip`+NmLp<+8w_X&*(vOw2viJog~&bCM)e7kvd z6;N$E##Zex$#=a5d`M{lv#RVAK$PsX_ld{&4E-3p$yaZ;f&3Md^mwiyw_XzyfnCsrF~Z?@l!ci9Bb>#J;%vSz zE4Dxg-hL9I;W+F0%P9ah6vry>7I*=Y2b)hf4Lj1sl|NvtBG^rxKDtVZFk&cIg@AHJ zS9UA|J+pYmXhGBBy_6~L<+eupG>~<0G1Wp!;HQ$02A4m?5x?*e3%^PC&D^^&O7b>U zJOkD?m&O+xa8sDC|5DrF*|(;E_gT2Ni1f$e=|zZQHXUUSyXs?8rQKI)zaXCqcna<) z`Eecld796ASI(AhtjXn(I#B)Y<5nz61Em5vbJodK#PM_M&X>Z`ZT!Bk??j-Qc3ZZ3 zE>Gso_g-ypv%mQZ(2Tq1sb0T540m(!N`rLbtYRfa(BhH3ZKx2^zeb+6vRFpjn6w)F zIl5jHLVTA3V{U%w2{7M9{p@oCXVfY92JW{XeRBD+3`ThWCG+r^ zOrT^K(G=8Bp?{i~;=|kYo>-S9&t`+BJjo^sL`>?2j;+{p?H0vfiB4%{zMcFvH+$bR z(px)|mvV`;%fOKfmf)RQa@(%-<_kKmo8GV+MQk3`O!n|55C3&#mnQ{j+|D#=TprT@ zjP#OJ!zWO-PCs7iT8zZ3`x@g#yz>EA;9I^HmDk%=%+wEGex;bdI&OSx=4jcO63&_% zn#=e9m#(Ato|@wJo)%H?Qpxh08z$UcdK7usf5D6AVfp_tB6tBKf|So5o+IUZXuIP9 zk_gD;<32X!Mhw1STj4~5sNp1`jo)p4US__1 z-5&Re+M&k7fNPk`cL?qpN3G1ZF4^L!RM1cSlh{7akN=Od(VZ9>J&qa@|}f96X*{ zJ>CjG=ddhDC{8(_skwflRHB;xch4gamKBn6pjeTT7>Cpe=d|&Qyl@-DBNSrbY3?*> zc6(tasrm+Cg?PkOiP&Z?)bM@0R2h9sQC9OL(rO@7Ll|@NVtlH80-q|j{BuSz9N6BJCMWN2^wF4tOASojv;#Uhb5SmE}^tD(tR)8AyGz;qMMyJ@dA z3ec;F5*=Tm&89T9F+63Fx6#)f9|(iK93jsVo=v7`#ZtG}1%3cDYdmFOd&A*3+IOt? zjQ=gFc;|O4eLB(q)AGUb+Kdc}3R9Aoda8iR87V*V-&`cGO zvrK(#4L&pEf8FV8)Mlw!+5Xc$kB%Yd9Y1CByHG#^vdANodvDt%f`{au2aDISN{CL} z=b8425TB%5LkgZsIuaeN@!FIcREtnT+X*8q$(6!N^`-;*8d4PD1`KYIDtaETHN0~= zg6?ziZ0OwJ(nv)W=aR-A0PBhPT!ui9sNr^fJ)kV5Cv(F9Fckk`PUtMlCMae{?SN@d z#chjMRq7gWg?!3~B~6=S3gIQEUD3}PA~6-?tKkVQwI&Oynb>wX6}JMCgHMCIMc0m+#N>zBsDnYj*7AutaE05i&Az;E7(2wK_dmeTCgKP%t_IK;gCB%9oPfql z#s?##ca1{j^l5k?TZj`yhP8f%1qaKCzMTB>Jb7uxLsMn1tvzUh1lTW4G3DjGiLrT* zVHwU{Ye7aYep~YuODk)I>HKNP6)#64MbU#(C2)fxg;AP*XwTq&CJ8!*;kijYU`_*Q zALhH)V7?m_sGUW`LChP4tCs`FS&8lNJM_W@!HSzxLr11~+DX+A&lSTSVV~>*0Ldlw z0$W==PKv(R1kcmfgIclxE8;luo>A?~mn`3(MgA|*&<%=M4T z08Zzo1p?RanxbdY@+3yD4KVcuM%C{1GbRgJA_{^=(A!#)K<)6Eh<<=USe=OA63jXD zFBrqfMfB2*ykVWgvp*dAJOJBDxPfswLLH4O>=H!bIyIS!(?Jt=Th61KY$$EcvWcC7 z^L^$IcBi-OJ5z-*<1VfX=VEQD=Mc?6G~+`hclD2w_PJr6VcuzC=J>(6xLv~CC#=b0 zEN^c3e0r+6`i#vsU{@)14W-cBb~c;o%0^0ls^@XzAT<0l*pLGnG_ykqz~c_ z-NL#c=0{*Ujb*RvBlGJYUhI-Uth{-ZAVANDQ+-AsW`ZZg;ci9(g1KmbuESv-{&ij;A>9kpu1BA zGkQ+?8aj+WiF+i85hkf%ZD`Wp^fmX3!mN2R! zGW*pdqoQ~pCyW_v7_}CQ%L7jx6Rl_7s7~ztUj6{xzlX)rM_VeFB%fkp0}k`0UcDn$ zb#bW#F(?77m=v9hvfb;`*z0wEy{q}_i@@zc=AV7261y-ts8krvQjsLKV3Q zfw4j7bJKs^cq%;U-+YzP-?ewWLH~d{DFh_VNiTEsfbA0Zli`fQ zhBcoD3VtF@lUcl`ZSDKjOi*NW&jriF9|N;31P)J3*WVLkr2c{ejz-HD(&HCZmlKU3 zcW&`%2Z#^+*_OW&Map%o%3AzPeX)ox98A*ir5uNkG@v29io98Uhg|hJ^HgYe4h7Bh3vs(v-l<1EjpU1Bh0lS; zzWF-vw3}ILIUXxG9T-jM{=GWs;D;&I|7VnvEHhgWk$z)(6yf!TO)jTi4n+#wz-NpQQb>G3Aa%nxd9po z4lrUZSfhsel0jzMWXXeIBUmRhgighNlMxij8eA9Grvd%9U5$3{22aK!dUD*&?Xiad ze4wp6f2|8txaH&j%N0nR$=OTnd4#@Jt$x{7&0ngZraR$Dx-stmRCgE)5+EdnXBQAW zZ?%bueEji=ATl214=3j3<(1kfrk)HZj35PePCb^wb#z;yyhBFhkfwY2yVFS;^c7S` z{?3g>jOjd9t!|A)^Nn}eZW_SyOBtZ5wCQe91ePTRs^6TfmVu6@cdC1|zZ>6Mwj6HA}u83t&U(>k4c$s8|TQs+#2OIP2V7_VDMo zEwZ^*>5q=#uJYb)@Xw|@OW<0$R$phxc?0%T=|2NKS#n5N?e++DssTQC?ZS;+2j`NV zg;Uh#QQ>!RXI=_{Hh^wtts|Gu6;^Vy5Xsth?c~Tj=m}BLXGr#BeEsYxkJsHZiOQWN}4l3^!#QLlFJ$Cig)}-tv1J_=yU54^Edc?EAyhP@~9Xiex~#=)RgGX?&Jz7|YBJ zTb=1W58GQ4yzF>fO$sE~%QiaG3>(dYMvGE0KWrtNObNXD#DTIWoQIfjlH#a{*2W)0Br_9_1IT@AYtiZ$} z^25oU-I14F`W7Z)yy@MZoCJ?F66xvk9sR{AL!B;;G>PgTFABjdBLydkAi|;1bD_9a z_OEnY5_VHAjsRNs5xFpT^y0x%eU>;6Quf6x7>@Uj5v&xYVpD0td`3Su`QXVq{o247;nOFJ+>XUTQv2=_~2&59*yMftI zBJvJ_POZ@ z`JSI?6=T*_u>S;Y1KoCxNS)E2W4TH&tf1N1`P`c-c$rs-f0x3>I~#uv1*r)re>kZP zvL2=VTySg@U3X#)y+&@}e#NN`u8E99g#<-L_N6{I$?n^cq?=uoKhUL4SyLCfx>6b* zNwN7ear#|hDTI`3F~rs&DK#fJ@*<>3;T=o#ecX3(+$0t+cXzI`zc*fJ{civL*dM*~ z%k;PD+QCNYGkwsgJ~qrQJOBA;zBb_UT%nbm(->}>Uc5rE>ScL$N8CSw`bh8%Re9v?I_kCFFBiNg#YiXPa#(<3Ptj#O_J4rp@mxCDG0{~zy ztDMJEJRgMxxBhg8=kQ`amFm*Wt{IL+I0TZWhHtknC#Zkz6=DLZw1VWtIUe{ei8=V; z898Ub(M9Fd{C)O$SWuO(XCBBn>)PrIJTEIa)@&WtSaQr|t(1TQ{-QWnKvPP@1x_2aFCD(mwe)^ZPV1z>R^PBbayKobtvxVwP zX>wpG@?fVvXKqcL4SEYv6P^|n%#^k|>T(n4lyyZ8fZaRLy zSP_0ig;$)l66O8~GJf{F(Y49&LDNvEd!&!lNC-P0AI~>WThFJSs$a+^-B__9H{Hn| zouWcDr6R$mN*l(Zh}5Y7GFgV^!*TUNptzB&4DHFbMY;kmXPS?@t_2wmksFxm%}ZcZ z1T|o<(teJM-UkxX2i?EIA7{hN^rLU`r{PDhKhR{CG!t(PySZy3`+%ew;q?5@Q>xs z8u^Z~lvQb=kju4+2zg>v{&*;BRE7EHF9)8hqB(^TM^e2%KpGST;vyQ(S|D())S~CN z3OxA1q_5*@t0SH8Y841E2Edr|K;;47 zw$FC!k1}nOO5>O-%0A&j1MP}2q3>>?XIH)&bAGICB<*i4{sbfq_dOwI@086SHp5a* z?-Dq`f}}@|zg^-$_-KBfuA8k|eZX1Nws-k)Siom``$e@=ECK;})s4j~Y=qShA|a{B z;GHK_^=Goly3t@*_U%Zo+rzB6s1zG?L{~5-nqt&UQdxCp!xZYX4NG$ zU;0iBGb}0n8INW2C#yJzP<(iSB3v|7xqN6573pC182vT$c5-Cd6>Y^dGr<|D-$JvlTDm< z)uO5{m|Sec9rqoO7W7TO+QMJeLq1BnJtXo{53+tw_f0gxDDb{R_(%r*NQcYz-uDqo z69*@!824}8RE%?WYkwOBv3IAd8&Gj?gPi`gRR?-lUdBJhf{g{ ziQ$LDBfi}PumoWue%AEkkDW6Vl`rU*7GSXVJHb!h-w(p&g(X1XQ{wwu6nLw3lRDH> zdI#e1c50dL@2P5xO$AU}LAQlIG5mFf=j3EW+hP%pgmka!<$MyA5LJAaTWUHn4TTPx z)ipeG3G4r$J3ZC^c%gfoiM>>T7``{#H+vtJuAg%fqQcq9su-Q5)63r!-@S7tH6St& zjHL{1hQZ;Ah63PMiIsFm6*((D+;g_m9InK1QO0}pAT88tnn^-*T*w$+?x8fo0@elL zz(;Y}`LJX<-c>52Ysl9%NA&MUu#%JhSp0r~V1@ZHd(%SwgWfU29}YvI{tt@_eo}X1 z)k>C&9iVafqobMOpVC8uq28|_H{eIyCR83j@}pP^#e)^7#8X8}l$BZA5npv^kV4A- z;toiYO-f04jV8_Mth9nn18w+&QtI^lOR5uSq@3c)N=d?Bx3!# z?-IInL4>H5xiN+XkrrQX_=ru85_rctfe4(>>!|WiG?^29rDlKmijU|1w2nY~4h`YG zr_t+J%0Hv?)&sSg|9!yj-TNj{+dBa;*tR?6hhMmMrZ*nJj6w=B*dELq z%7Zs2g0y|`I{Gu~r32<#W5yoe$QJ=IVznq4x@1@fc>osVLy{Ha&hZ?Rur1iw((oOM(M!9-VH^47Ay-yP@*bCwo`h`7-KE zsj9C{i^sa$vPHBS3vtKP;59bXwtCb1`Zgmi^g%Kd^Gu_3-X~YHrm2ou_7*zyiy7BDt~1MYHXD1x=_PCI2HRWCAlmyzh)LS?!D2kMic8|{bG zye9KFXYxDa;I5M(_vC82l7}ss6O8lP65F;(OE5vkV6eYf(1v98Y-@KST#4b~I|-&* z(W|#qKT3}%;?EJmm@f>}=QP7#9C1r@S{TDe(bvy^@d_@SOGfU?{`2xnTgva^qVC94 z_%Dl(*+^z+CgBs3w3HTLqg23>=vVk2V0LtD@IxzMSW7JlKcachypgXOi_quEgxu;gFj&&x zuXjt26ccoJTXkhclW7n9T2**-TS{22Z_uHt9>K~_{IOQvu<{BQ;78oNtA`i2^Wt?x zZ}Y=f~Wfmc6}ws=@~%`1WUXd-e8OD}K>VRzmpklr67O>mj2PGIuq8x!$utuC}aZooZ8!pzemhC}X(7MjmEWY>^dTDK{y_(=v>Q$VcD2yEvfIedkP^ zAaka@|AWN&r|dGjWt+XT?bINsZEw71Q0Q8gB`$Qoc6N#YcXwnVl}`1uO|)$GmQFs%M?NFf2MIgY zKH+udh%tN$FVRlp)t=$_R$A@iy5(Wmx4+(OHE&5`L%Zux@K*HjVN;shCEDh7+&|B< zj4x4kV?u7`+0f#uCeDob%_5ED&XJE|eridpzDR#Iu|o7H(PRV~SO0+&KBa5GgFVGY z2!o>i*fp!tJTFJ?{^!lhQIa9@Wj7>Z@{`anZtd4i=)6ucC-11I8D|!hfyk*SN_~<| zQV$9xhlA)8zG}=hdqouuhs{2*m@#@B7^MzP7&hZ^zu1pd`u-eQJ$H+9D0lwNGgiyC z*Kst(+HO=|h*cFYBj9}9gh_MPgVtfct5?IL zHE}x^xD^~<-xsB&)cj1p+w!dG|DozF1EOmCu5VI6U6|KqpTa(VH47Ae)F%Ifr~Vz&nq zHrC!zIXPc>Hew_HP4WGVSLt|r$7lyNk*F4f`IxcJB^S)?g%NFNo$Qg0QKO1t`KKZ&&|19S}$ zmq%PMk(C9U*u0_xv?zjK9p+!ulU7Y09(#OQ6$k@wjJ8~2_M0lJkCD11^} zazASX)yiTle#iym3)}%t?hQ$rOkt+@Q6Hc;LCpmBSHm;<6Jm5Gs{RVpojzRnNX*{u z@B;@2$D2M+^kC=#Hj+IexAPusOr6iLwgZ6H}=u-Mr&AJME`rvQk+KOmqlC@l@}8;URDKhpj8hE_)u| z1$quMGV-j?>1uK4QNXey0v{2=RdT5eD?9UQHQynK|C%k^NCVXbjhkf5)yN6;NTJE0 zqHT$Fa?G>WQl1Yvbc`~QHa%k=bO?ubejqocABNm-Z*rU!q=W6}fj;U# zTw*i{f4(5N-Wa&F`@wtOblOW1E>IIQ<3nhWRFWT^nXcsZ^pYDmhe@+$W^_V2VaD{Q=XpmXF)gY_hHCZ)YUQ{b?40mxb#0s1efALC4HPqO~3NSvYMsIOh^t zDW|sf_Ph+VA0DhM0+U&}(o3<)H{e?_=!EcVq~6L}+-Qr+828$8-H0I5|L#0O0j1mg z_%>M5OCK?frVLEui1)idahkHeLXnm3(9kpLwL9j|%t8ST8&i^RrSrm1wLTR>x0Gg> z?TuXwxHiUz3@CnS_m?-^Q^mi#^bqdk0E|w?RnUlXnl)BY}#CTn6`{Rvyr%yayBYXe-p__95g=?bo+rN`!YJnoU&qNae zJ;d5hBKmK6KN1Sfgx=_xb(rrP8xVLF_dkeByR7Z}_i43rb&_60-;DBgPgt2N~ra#Xa z&>?$eDRyazlM@pwmJ>LB#>)%=f$ZMT?#DZ;b7AS+Onk^_pb zr~Y~ph-If->jh@9S%$2Mc6~>3iG6vh_&Rx2)+%Y^BgXTHe?cyYvQU|yu8U2DU85WI zbV)b&O=9UU(8MS@+}r$*e7K&?=5|By@2tDLb}q$+C9$!4{t)eSHwE8zR{zaGWpJp< ziiHO-Tc0Rn z9-iNc0TVIwq%Fa_tdwafLW}y&1%sNu8Y@LLtp3Kji;h(UNpseRw^#e|Ak0c{+NQA& zcr)}q*OXKQ+bVb9U8+4cJDaXoJ6@>C29^g{Vw?H#o~cRWMHgTLAqz-18IW(6lD+ep z{vWVrQU!i5RE~2FJ+YuDW7$iCOFiYV!2dXXE0E4I)$xyvy?}-9W6syUhZ&zcM&WwO zN*yXSycuWeT81B@+Bd3+=4Ej~{!1IOzWe8-}#OhjhDVhXFmHiTLr&>#w& zLRc_FROQe;VTohCrWX0twSZ?mI?vo1IB}Hawih6q!Jrnd^0EEgZidyTj~2{M0hREF zC)C!86tP8{RkxTq3{RH#aTmV4j59$&+y9X~KvrP?)ltBLx$TA7Q9!vl#`ejRaR?C% z2KfFM!10K|9hk5DLeV1H(K}zppBPDB^lA2jY4W` zEAe}F0xoBNpB}c*;BIms+*Aog+A`WgqB-Ba>pf~|$>tkD{A#QG)=#@m_&8krBTY?My8zC4mA zD74Q^9?oQbA9RSqzu997|1mL;Oq=|>?UPf?aKJ0;#b;mPL*clKZ|XS9I-TGogy6hn zGmENh?@7J+{B)jR*j30WxL-5Phra*PTX3#N7%_|r6?~-BGTA8x{u?OfLyPN1x~CXRph-w@h&cKU~V>T?19RqSv9x;yJyXQwR7>8*`_9V?S8MjH-6sv zkHz2p=3;P6B5f|otLHvG?jST8alLz;8Sf0o=x}AiajNC0MC~$cyuipm zKj$2SKr!lY_h`5khncxUK9SODF4N$1Di4iWI{HyrZ_ad)*04T6Ub*+ ziN|bMTRr=9Y>jYaP4vHG`e0GrZ#y$5z0J z2Ju8rTacN%h*6x>Gm9*6J3e~NQr(~*Wr7~aXTWvgslp->X}~gbq^7%TwPjQdHa+*j zacLu#aeZ0K-(y-BuEru`L}uxShtQ|+I(`1W#7ruq-;)Imr|~VAoEL7O>Z=yU$K@%2 z!QKzyn_l3t_yU=92vFaIyJQy=Va{~R+DnK=fT_T z?p#q@n>3g%8vQI);0qE8jkx2=kJ5VI`}zB}1C~??EYX{%O$1BcaIlD3)Spj~Um*GW zhy9MZ-GUds47%dGv@#G4U>#b*&hWl+sX-v~Wi(8;DlS~;QAPQbjpT=x*MicaTs!5* zWlQd?*`Lyh9K+v`0{@2#`2aWvE%cDnyPRz(Z8 z?vUMND{PgsJ}XAWnb^UGH4!(nm92C)=qPXNcWfzbEMxwbUZWOClctUH@JerWIjIGD z(9`L@w~T6=py{YVhWG~rDD%C;fKq5#>wO)K3}EWM%r?@%SVB@sdpBPf$|d#bo=S*i~RT7Aa%sWrOZSg`-@p5RYmIC#pMdujf1Dr)vxd!{ z?(!YmV4l&-nLme4UuShD+7d_UcO(pNBLa`&u@MZ&neK_YurWq%m^OtXwivAWD!^<0 zV|+|gaWO|0S}^D=S{BYldf#%~4sc??v_kK2@ijXso)F=Ig%;A{pTalKD)`faxi?DS z_8+*C7)*l+5oQwhLUnneqkKXnE2d$7$_D&> zkGP@+!jjCniL(UhRI1OQ{AJ3T?axkIdKvqkxale65204{ehk#e>l~bWl~)=WV9G}U z&HP;M{8OXl0*f}jN$uD&V;~axFgfg!C`Zgd;!>F{zp33FlWW0i6dgiWPKE&u`=0aG zlYLT;HZDNE(nG-z278jStfzrk4kSV-EarAHQwgI(X8pTLwB-AbJ-SyD(V)Gf#K*Zc z52se}E^C=(%m++7c2~DOG^(uM^k%OPBvY>3C_qys+#O}<@={0IWsS?Ie^({MaltVT z`^3q|)@3%oeINA96gOpmJK`pIJY{Mn5UY=1m?FgZS~_B`8j%ksfU==<6Mcs8=eTd! zD(U-PmkS2#dMN+ee6cj=aAahsX)kyCbG7}+N z0Z`bSNU+%{ud{@-%JTr2EuI+Q z(=ALIeLgh~esC^jg#Oh|>f~Ep`74nLzv~Fc-t#0uYi&ae zK$nS)!}E;%%lLEY)x(=Xt?9(=DXRoZLy&2F+ZdH&QRjXdoq>%*5*Gj_b2(j41~0rt zVccihWvH8#_#S<|T(fm$*LZF0m*TdmBJT}HA7#|ur{?cmz#_rJip^VUIh%L#`nTi= zS^*4_pBi5TR}-THjvuMe7f!Eba#*ys`487Ak*Q;UP?q9@d zm@c`bn~kq$C@b8yWR#?fVxwL+KVL!NWZOsOuac;kHaLEHBewlAl)2r{+yeD;>;YmZ zCIh9_cL}5%cA%~-^GPp={ry86>q1F_Hy+GkyqRDjXo!`yiEY?N+oF~E0|qm7@0QVT zXHH5NKP9wSAGUWaBR9U4^L}hgFWxZFMqROk$^6B}?9QL6qYG-m*LvpTx=&l{ZJFuVbdx<1xvNio4BXi*oXrz zSS~Bo?`l&S)HJ+8UMB+*`0rRPnYM_*D=MI^tSlS<#0cZ8?N60=$t6KPWe5M0<62F_ zBK`RxF++sy=e$?-8->l5w$zur*8g2z8?9u|S087?a7HjcSE|hWhMPw^-zm`3@sCk{ ze@*Vki|70OI&);)u$`$NEk3pf;AEWsY?Oa&jyJ6MsTNr={xf0oENp?S z+W?Dk9_RS`*Nf}qrqu1Hcc9Wj=30Y81K7REhLBch&daC_54={FgVX3BF6)^)7C@ht zNrG@Vkn3hL)f%$`>6wFv?08B}KXNslT;rT+(S2Ddvlo$v?jzBgdB*SP{8IP9Kr0n4 zopJtG;rpM3p!wV8H}q`y5L;KeGju~lDd&by_hs?lnbbI`$;~BXyJs-7LOmr8s9Z6z zUzX-M-*jD_Vj>uDaAy7U0>;9BkGDDWQU*x(m6ey&u6ID{ZgWb~2d6@C5TBhte7Fdk zBToS3tN>^rxYaqvU1J>)`MM+A%OzjS`hg4MQFi>~shU9BE1g`n3TrWmf?<4#eE6 z?lAH}#}%Ym1BVXL+(=(p(=D4USHvpocgr5wcRRp!6nq!T##TS4P@toHM8)cMvh~}~ z#1wwY#HD}B!)vfksQ0~O z29Q}DPf@qa^fic5i1ETt{^(_S)GcN&ASe^VE=5E+u>ywOBZnm=Z9w~1y3#0@ z(|mI}%QwIOc<^Tw4Ni~V_Eh|D7@K-=E3fdv)n*|nl3j5`!4uFb?nk-t8c#y+V!OYa z=c^R^Bcs?f0?Eo@(;~U178j%2ld*sDl=!(H@7Y>2>V0Z7K`!CD zIi9<~$vrIN@%ytWJFRNhQ-DinZ*@~Z3P9whcb5KxzJ0sK%>u2P+I$t&c!t7zhigUr1k@jH;uL<4BFx!9;g2J^Xk6#h~g?}rB0MiWUce)AWjTr1uLvp zwkH0VL=rKezGbm}PxN4$UVvNF@j|ed&I3wHTHo58QNITSHoEmsW`tYNP7L-97GwjG zVsFlrzZQn(NPaTZui$6%tB9cik$|NaGoSXisnjyr;)$Mw*!CzEf|oA;Dw0Z;)lB8| z{;{cczr*|!hq3&LiMAkqlhl1oXwz<+w5-RH_+EX0HDl$hT~jRhz3_fNTLg^NQr6Kg z`#qwMZsPJNQUT9%Z>#BwmQ|}zhUu!v2wL$Z5WSe6|FdR`i5$HZk$f`*)hg@y@*F0&~bc@XCBs90>25gnx`4IVm_EABuv& zxo@a~9hqO9*s~;!O6B?3`lI#h~mvQoC z00*%GV(2CM^dbet}_(j3h2`D!E`gw?E>FKw-{C7!?pUrpi6@cZ@>ix7M*ewEyb(wc%E@ zjrJVbOlKt$sjLkK9lhY%3xwl$O_)#GP~fQ{M2RVPwZm463$vIgUpm93qU|2vNr64R zk|779(l{euES@Z4rk7i#meX2Z3s4&T?LAOAX&wu3w@UM`*%myy1GKt#_+VB3 zmyZN#)>K#>T;Q_|w|n|=OB1)T*w*|wKGMCNO9Su-9UY?z0W_fc;$$0B?0%laWgs{7 zWV_V!_G$qobpdS2*Ji&kzp+S;AC^YVO}WNw2e5j+mk&e!?;$fNoE$Vj1bps4yNBvw zI(4dAIWNR^%&=taG)bb8UH#`}6)R==_D3}uR09&Ulv!eS)XQ&9^%uGqxrtcQkIpRE zTD<~M7F+w9mu+(5bA$Ri*AGmxdyvglUvDM&hVfr*vONsI?KIM2YOl;08ERIcC+s6^ z)%_jp(Ek;ZeJnK5MtJmM=Uv^ulJSRy3Ux>%H@lO>a~c@DbmnUr(Q-neQa{=6wi>hd zMj3V?Z0%r5@;2_Wb)^{#Cb0t4uWSH=Gn{|53?%N1KvLtRx;93I-boQ57De0W<8xX@ zxu-MQRM)#h({uNV2U0<-CO^l{`W`BGIpD0+J@HB_zV9wdPgKn|C6Jn3=xm++8%%%%L7K0sx39F1NRf!x-(U6O0ZE+- z3boV==4gqyIrsImX|nPQ)065#m@^J{m2dZR-Qx4L8;9kw{P_VZ}Z!y>rjM5 z`?T0g%=H`Lbe07duGSLsKG~*-2E5^FQH@S!>KblXX9bzoZ-bcAwWds?cT_zco!%;b zL? z{%2eTSYe(+NRXcw_Laf{~+Uh%8Pl4xO8Ccu-RxXsBP2 z=KqoDyNf^PK~$J^_+P(?cpjzv-(_1|WKc5JG-nQy4xk9V-$WI}5?H?3K~K@~7LVu9 z4y^5 z|43Nw!TfG*?{Q_y#q|#k;S;v}%qr#DQBP?%2|sf~1oGzi__zWcg2i5Z*3{?H6Mwnj z18AcAYz)Ak5aJGaH%{tyc!|#HkS2Ot7UHxc|+9-n2l94uNTXz+SY$#%AuxE|OlWbHO@fQaT zzD}WsTn!gCp8)Q&3o-p!{&VO1E-_mBn~i(@dvwn3=03%z`*rOoBEQ2nKGrB+xr>J| zdj;KWqUZoj^tSnV6Kx|SPG_HWfCyJG?7B?riF1oRIjEXT-CjoGT6+?6Ec7oTr!lO9 z4#Z$?H4-&)zJ8Wv%D#~vbLAvH9Wz{G-^FV2%-nE9TU<+>kl)V9FJBkil3tRg4cYIGeZ!*M3&2m2|dE*pEZw&rYu79%n zi9zPXXMs=S)3vF-JzGZj3tqh!Cl{b=)p{Z>-Uo2ZPYW{Us`m1jPH*UrXmuxiDp!yy zjBKjn!2y`Bm_4IBQl@1C2>@9n+V3%jS zE64-O28JWh-vJ+MOfit~a)j?_+-n(#v2HgEqK%d4ypBgP+Lw>VHF+=2%9;<=?p84? zN1&-`vZi(bbMKT3;HDo3>doOt+?gOs^pAP$^n(tvD?0ey;sz9)h^d8;0pTwy#X4j? z8n1=N|1v7V_L-MIUQaqnh0|G{8mScn~vl`@gr`egVeoX+2Ly1$v|rSj4* zisVcd*9GLegz@lOgtretzU871y+>_$$*rGNm0r7;;qNS>M$H0rd|~qVbDx*?!h~tl z-$S=^Nm<>S=zW<3GNQo&S$y{N=>sAJ!*lKy2IVZgV=qSxC@9dm()bohemr^&+O5}? zcg_ZDEl7S)?j9l3yu2h+g>5LrP9~nGwmrD3{Io-~g* zFJ7yd`gWWkUX~kX#_r?%)f7mLAP#V-38a+$QbW$hW9SVx%@o3a?yrFB9z5up6|Ojx6x z_A+RQNQr6g@wT)9kGH#E{=>$c`Up)II&PTDG8*)pcCME*Q9`=t%%%mvs& zjQcNxh!=sQja*VC9G8BuZ+Z%mIyZ}7u-KbxP+Zf3g~~gQKjm#nh@g{v0tc_i7i0L_ zg+^j+D}!@FQW<_1?e$KvV7-R<^Q=GlZFZf4`;h_Q*B;}OH#2Ociy~+{#(uLDppeE~ zdgL&w=_B3jxlqP}w|hpus&f8op>wn=MMCOckGZaw#zsLW#t#J?*fnrt{WH=&mujCZ z?$*6;A41{H^rc>B+e+W@Gj;w}rB7SlFc{M5Nc@{I}>PbfxZ2(*7Bm2MV zy=@CbtT79nH6}5pwJ%j+p9udNevz5WKHloV z#E80W<3oo$@|Nd;yp*mhp@4FcNa}D!`*ay6EDhx_hu#0?^JK(7@9jS(ZrIqnj*hU} zsy>{)B0_`$qc;~Z4&hSfcvc;fSXMeb=G1R!v&41CKj62Xh+|&SIrh99I&5n@e12c4 zc%KF54oi$!Ne=+~8*0PPJ(v)8{KzHS)zXWq~m-&>rw6!FOA z6W0~mpe$SMRZt}=wGH%m>5jQM%!rjI+PFhmcn~>py%R&N^(afFXJHIBYXc%-J$S& zP%v47G1lPWmLb9uFFvyn_TcUHjdht++mKL%aS?%EP)iAH9Hl-qr+D{pg4I)_n<-E!LNmSe?B2zget7NOh44I9S0_BE3wKJa)j9#a-Frw>_3wpf zY@DoU83BAG@h|@_@3vjyO3=|J{l_r|l6T9M{q-#W5M}SevdSIf&798ilX~ zP~JLidWQc&V7Qz?mftm*YZL?J(39y2dq{&cuSHZ)_j{b95|zXN5!=4d(~;7nPW;B# z64U{MnO>rD9MY>)CjoWhA;_TIW6CJLaAMNMeaqfyJ*sa(YkRz%7vr2CrR-KED9OjU ze3q5KhyFkx1B%5~O`w7O%r$q0jo^kd*irJ!NgX##KZDy;rXLfg04%rO9b)RZs4#Ui zE!lSdu2OyWp(U|sFq2hcAD?Hmh@IzgOK*=t%P^q`W#$BmCGn~69iQ8IpQz#6>stmY zoh{+W9kZQMDa^br=YI8W8-BxgSvZIk4^pGrM-)gIQ-en)r9Z7y;B>1ePhe+O1;h5v z6i~Imvkwds@gM7hX|uQst?^Y@k9LuHO6MEvyQE6BKlUnld8BlI zdtr;8ZuEjMkpA%tow!li0J3=sw29~ONi>QS&^@5s(7XwJGT%!`&KVXS7G-WxeAd7b zY^dtRD|RP|h$G{W+xnKt$@@sO_wb1d(ddW6H{lx-zt%4_5!ZkUs+qWXvfluLrglC7`eAI@6n@-Qo$Al&_Bu;jTsbkl#Tyk?8vkg^(FS-`b1-qs$Y@DCNb&r}ExI{N3c(!7U7()MtvanJS&XCHCuaQ!~U)wpl zWz+~N1gh1%zkrs$oK=+Q1x4*n=}Ja4 zQQl1ZBI6BB$yPQJdKHPQ;TEf-a1Z7Ng`&1Ya+g+gHri2&pHT|KUx!ZB;5SCQ%{}-{ zc$dHPQ|@l^4@{Gpa6a19wV%PqwNGi_DHGhFBGHsUgW%vOR|yj(UA9$&!3g+uGnJBE zxuhN&2?7MiNA955ofr;XP;!2t-ROWv5145ZgzLF&E^D+95>9LLN{|jk}dtl zZWNNjeqmgKkB}Z;bc-4d6GzS|BKAo9q@+zAB?5}u`40t@=MsAy!Wk)t3eA{$Zj6E? z|BKy|PWMD0Lf&VaxK~x zFu%0&a`OIGV_SiyY|IUdVXrSN40a!q zmgIsRh8xU+WWgIY$A&G7q>QA?y2fv(Zy^xp@)fY%<_a%iJm=Y&?r@P^bU?7HiRXyE zd-aa@RFR54SIs?E=NzunnfCnOWm{DHBi)YI>k|4~KBlXr|I?>cSioF(@>GOX3Io1- z0^2K%{RD$eIhc!8Ren|&2HZMLhcXdltRsf;X8h&hSwD(}J+yP^na@{*&y*B=q|;Ul z1hPlxd1H)We=a95q24aof*SY`;P$#G`N;mkTGsUe580%!sVV)qi*`BY zNAxP=n>^ZM%_b~iW7z}aqG{*Jwn#yo=^xlI=aluFSqdVmQjzx9b!5f-`n_V*fZG4P zdW!#K$}*)~fAc7ljPbH7s^!{+a#$xb+FDv6=T)>gGL!;IpOU$&D zq>8ftL(tRHo~^m&*%?~kAh-=NmE zJEz#~x=sY3?pQ;Il=!QI(na^buYL$OLB2?7^ZknehPHO*%? z=VZ^`9*CeHXBW9AR>dc;czz`;5Hy+iCgqab6_pRJtRm{>ie^YJkSW17KIx%Am>Rrf z``eFGCKq_+n)|O`o`{^8SRGGH=!@>H(zo8)3&~mkoq<0nMDr&F36>Z!*H$NLV( zpEpo~o@`^6{==3BLtZ%jtT>0zSZ7LZkC^K5ry{n~48}g|=+HDmtB*p*#74Xdr6>h1 zaLo8TYMn&z|8Rq&;Cgy16b1rllobaQG4J2^&K_y5)8Vk}%5875k7r;9$BkWz8Vvl2 zn59eQI5{y*OV@4e8WVZu8_?6{7ncJ>o7$yd-}wJ7iNeD%KB6?g@;ej#OJ~hZj|i8m@MPCIWXPVkv)BF6 z>L*LJnIXq2T)A2${!f8 zP5?n;LhmV?*7eAlD#wDla?A+z;=zvtx@eKqvNkSX=696jEoDP1!ez&#{p}>AgJq{0}H=l&uSVIz>F*9F|T6&gpA80-LPpTB{O8D zgPaMW%(M(j4II32Vc9Vr4w$fO1ot`lo8yF~k*}8Kv8~U!TuK~Iv_3UTcfoqGV9hgn zx_UBKWuJz-Ffn0|H;tGupyJJ3usIma$}on)0g=!3zD^H8$IHNT;zsk_9JD(WF~5FM zLnz_t)e{GUKsT~kDt$^g=@y-1;Xd~ojtQmqc=_rt>|Sl+Woxq#!WWbB7HnoD+z&c% z`oIF(=62r~6GFU~_T~B%Y&bOU@^%gZc}SUP>T`3_T2}Rcgmt3{CM5@vGK zvbTYeG@?Nk9kJmV-*e2^dQ!J8a|SbWT6-RPx$m`p$k`j_YsJgoU+4fsjWxIN1V+jNL8z{XD5!3r$bvu+MP#nMQ6O(W-5Da+pcQI*ummpGE zJO-j2X_NFAq)U@tbP##VNCE5Du(AOBJF=Xjp#& z;AW@8sSaY7y7`ZsV&FEYf-DxgQIG3?J$)ch?RBd$49yrss#$@c?aw>umR{;4fS|L| zN3cUyL`o!nMxBp1_*6IF>;GUQGP^FmY2L8NHaz=2Bpn-vSHTuR0i~KbqaM;gK7!rr z9_lfyzLFOu@6sQtK)TUNdA(Bq4eG%kX#vdT8c-;7ItpV`I+c=bA?^tCXh#~@ei-X0 zgy;G{SFN2-fs^J>w@(uhs!TTGn!EDDY+| zBNw$iJOj}0Bf)H=s+9|R{1GQKRsBB?y`_0_$cc<6u{6*VO)0Cnh3~6EX z_>lFe^4`v6m3F?*5+l>}tf#CRx+&s*e|B6|qGG-|K21kxi$WkIWA-v1c`bW{@og%S zL(AyN!?1(j?qgCS5stuGE&twO0BGx7(_HW&b#F~{ydSJwvGx1s-5Xm=+1O^+X2VgQ z(FP*?5r7lPlC?r_u_9{;Z_gloh+78v)=w zHDWMBOmG3ub-~MZyvAa#-hsswpPTOO;UEZLuE!Pnyn1Ki!L6`1lxed@?}kKo1g8VV zvq?Y<-aYYrDg>YBuI-A*kHb+gGh4i9&Mo%6CXdSFteC4fvP*)0nvRyOwfoyI$;$(7 z(Lej5t!$XM*hA>JYBq2Axixs@(f4ii!i#Fgt6Ioc6`^7!5Crnd7ar`kj)#Y+--vfH zqQ}ig1wPhvzp92=7CpHnN-E(8dRmwMbira~k;^Ax)hPkY?@#PkBd+dQ+m?n-_y+)K z6j(8qp8Wxi4wr4mhhb!5$eI3C?ml4*WTp zjtvIqgn$PcFuyC>hhTqnGW83)<6yDN()IscZAh>gJ;B*=$`_e%mk36bh18bfhrFWc z2OuE|D!yC&Tn4QNBS;ZFtCBY#)1pQ`aa)tg5MdTThuiZYB6EtxPeM<+9h)>V3=2^q z=bQ_scpI7LjQ(5Fv0SjRIjL_cjSL$uZXa+Xuh=nN5;HWed20 zo5Hj7baJ4`@9SU;!NzeE!fJW@4e-!vuCAg0tv5Qn$i6);w9586<+%DNqGb`D9l{*X zrpeQ5DfHkW46I!8ypyy^ABkw&sIMvXYAX6N`*?JVzu5?>ygx**uK1jzCl1pO{}N^A zZ}+&DC;`itIfS?}>@aK7X4~p{;ZftQ`gX$~acL#4L(rDz{$20}ySW2fdkp))+*1GR zjWBe`{FSfWl z%<4YdAB{?nKaefUFBUwVnX%-<-m8yBMMfIDMm=B+3nN76!>jXKIVDX=+ToGiHVODk z$)?_^r6w&i*AWtAz(QO}aSFh_!}nzZZXt(MqOu_CjJGEAEigTO;JA?!{1fP}q@Qwx z3M>*ssIxHC$UIypE!W9k@k5)iD+K+LtTuu=zavA!4`49=3Z&NWbx#G&RJvK(C;Z$n z)^t1Ru(($W&)q96e7hdKu(jr>fH_woi50JR?tOFw;s~gMAp)GgHU1^l0l(WW(;(Wq3orU5if2sjH0_$WQQjqJFma ze-OzW=Vv_0?e2ntsWKr-@fdd?t3NKuSN0=G)*hF}XtDQ*vqkPXYSLl}S5)KYGd=s- zujX8q#Le7{joupF!<64(`te$^OvUH?sIwI$nzhqn3b8B-?>WzGkMr|Caq`4}xrJa9 zz*-@emb*M{3Fn!EA%bjc|AqNU71ip;t=Zrh3Y9vyDAccCe{J#ayA>jqUC?l-O4G1| zEd!|a(m>g$2bvEx6Su`r*X#S9>*9|v!{aZG*5iZey{8FiW`VAb7quqZrrLVevL6e+ zQi;b-40d)+qTXmEbxxVLP5%+Dp+!=Y&l$ax$HP27?_LiejyvH-i$hqvI$VuKKNR_# zg`PfUq1H`^Rvn`CCzo7Je-tIv-*8#nIiFp|JUk{4v^vPCh3Pz1WXt%8hKSzl819G$ z=}}1Yo~J#|S1*VQ=wf;AK*L-7Z{sPX-Q1sHw)PVS;v9V$3?St5zucSZ9A?;DMQVY% zUiem23tKc{YNW%FO&+60m?cPIZD8w*L~&u)KA z*S{n}uT{SQee0pIcj3`TmmuH z>S`%#*FULo?x}@G-ylu$i%9bb5-usLSM91ZHWUGKO1r47$IF@q-KUk>q#nyCks z660u*lf=7shd2lviuZFDkt%V(;iQ1UXH=1L^`<*EdKno&BqAR4D>fFFs5=8LAP zAgg2chCoc@E%8Md3EhRe{)lF^+q-^pIyMbGJ-s6DiPih0BuDu53Y@e4xa^iV3%>*5O& z!8zxd6C)OD-oeC2?TZ2=mE`|GqKPW7Sf(dS(OAaX0yMM0H&LzI%c-_FKx1}E=z-~V zN2p+6<=gMuKSEa|f6AP%13e=4u{_IRH>D|p()o^k{^XMc(k*%3oM|xnpsp7B`V%<^ z8oj-4l2>|}_4s~0m%gyVGHAKvj$5wQvPiW1dzpw=F)OaiG`|i6>Hd|6n8T<0dnPI- zo(^qcmn1~Z`Zezo`St?@}62*1@*>3H9K zmbIDz%Bj=)F&lcOUWve=al#`up)ckxwD|l@pOa57_o+XhAb?gP?5JhjA-X75O6q}Q=Mfr?MoCQm@u1*v!dGn$ZGW=o|Vl>C)ouM1J8swX?_yR@_vsihX?}@aJm0+u! zVqxeliy^11BHI8`CF&Pag{(<0ChJ;XH5Ps5GOn*c zLuygAUU+xov3LJZ9l-jzx;e)1%|jQlpbZ+rv%33 zz-NQA{~14SR%>lf+Ke?c^76kgMoT(mHBtFpF-qB>ReA#g<^`5!pILZzhzNdd_L z>4rfDkS^&|LXej3E@`Ds)78E~=2NF$Wb2qxDG3 ziAoM>t~z-hvL9a4bo(m#%W4_1OxwO6{>-%@r!L*5$o>co+W3(P9}YWF5Y>m{W-UJF z5`u1gE%%uz_7Jv7eYx^nlT|32wy({2Y2EG1=Xn@pVpM*Y>d zs9+8gCLcwoT+(uLp~;<-*6?NX>6$_?2o<>vUv(E*qj-^;_&G3oym?C{i}^pd1RF2r z*?B5n|M95A7XhI^d51KNE!0D^T^-6FKj#>6)@PQ<6n8Uf7SsFZ8mM5)oj=@|jPdak zlm2BZw@?LRT8^vv-1aezVtKyQWar_TaMS@uJ?iQge1YqoxC7K?yKAp=H(!JUNLqc11Xk-r2EV|r9L`fcC~ z;YxY7LS$7Hrsz;GozFVC&ppSov8vie4w@^@xH)`$uLrD3)8yeIMb<_jO ztmxMRzVstANGy1WXy}ba1>vW?>tQp_qD)%-xlK%j-#B2g`7BB`$~)|!<22I13<_s$OYy* z0#qG7;pGsf+Qr-sA(hl;-?Q*K-i!r8X(>-*nN{eb$|*;LgYSwN#fOoPGDX`C;~1|+ zf2yxez3{^NF4lk7>H_Dk91Li0Xls~gR3KpH?O|#6f69;v!QN1g5Pv21!!@++TE+Ap z^xFlyG@{2Tqo(fjKsjaS4NKr(0|~F)``-tKL;+S^fAfhwa|5O5;Z-G)>mhtG4uP~1 zC1T+?EcM=lk$(NzWh%Y?DL16|lqb9`h)fjJNIJm9YC*SpVG+A14LPszI`0cS9gZ_2|7-b)JuJZFBpA3tZr zyEAv86bU>z1t_19Mmzg<>UHNP!QU66;f)wf%649>957ueeW6M*c7WeDHyevdy`(N& z1Z@+8)5V|sI2!xfHiJzjcgK@oI&pVy>{wznRd;ahc>xoKG1~c_Tgw}@$XihWWc7l8 zaI1B{>usY{6Z584e;|sD15`!POv&xy%CJY1|J9WVKG9(Nsuj=rJmj#inkpMfAONi2 z!d(d?E`F?9nU?zgF?-&;C>Vh;7*E~+if_jFhh5LDFJy)I9ly8F@GovmVIXgvr52}R$7Pew@( zJ^o8kZOA~zv0w^v)vXfq`|UTKrI763UX z0Ecg+yQRd@iVeY5@c6t=Z7X`{yhzi|KxSDifQm$i@uHLtlHB5I4eoRqQjwGlT^NkC z5BpD;`c=m2j>4bk=8KZsNbA8vAn<>oSsE%01zVpaq$&`H67@ds?ep{h-7Y6K><)%{ z-CFThii+j8@S{cQEG4P`{@_MqBL^^W4(b^5i7aX5?OWO)uq=R7+6g(XG%NUXp1AjA z3lzrVA0BzHk!2n*+#@AAnoo8%GXp3>^YV zADKqcD>8Jse#S|{Ldn7(SUf;LSMOcM3BMnp=EdB#oZ~8@5j$1mDtRtFcQ)Y?H?_kp zl!mXlnvOLlw|AQ__wwF#Vo?|vug6rHwOpSv-8p3>-!WK2W2QcU%yKM~eL!J74J52` zY`l|QDh5QQlZlMN&;2IWE=SRjO}g1*lf|Q-s|Ww4KCAq*rd(k*v&95#PH^GwyK|zi z>kZV&KeXaI^Fm`5m;Nw4`Vb}m$Vu4CQl;@yL5PgJHTzp>oNeN@cT42RE^V?~#g&i)WxI7#h;n z?N-kY?u!Bc>hnHgecRf;<3HnlX~G|p)D;K?+9-%QW&hT@qul<&Uy3{by|Y)jYt{8i z|FcHIS|cdWb(uytp>r=j90YWWfivKqM}BHpCTT}!1;t_TdylRU?}&Z{b}Ynje>W_f z_W%`1T6)XB)$ejStVxb$XbW`=rG zw3V641r8VJWz!!EL@+n()fc^Q3rM77+sxsM&fRf5h(oc!1Fb_yFo~itYu*%yQ{U)Cv18wc{(Gv5Q z`dO6}=F;}^)Q3I6{4R;WFKq{1PxG!E<8|H~iG@)*ofDwOwN-ADWt2~?B5_$QgZ`}@ z%P`QLN#5TT!2N_o5aLmYiohWdaO)CNp?Vn(a(jln8U|DnHZN2Y6?7J4lHKc0^6`-7 z6AM2|SX$foFD(fS?aC(?P2y)`PfvNn6CYgY8~H`tL$NVXCV=|+@EiL7rKP5kE}33~ zlo+A!&qjWBMp>m;)LW*3tf@O)@OnTx2?ZgHiXPnYeP>Zix}#q)45hV843ZV9VhkJr zYOM4$y4Hw4{DzS^n?XT|aK%&c46W%vD44mu2);m-tkfs^8+eL7cANzR0#lndb#@Aj zVR7af0w;g74esVAKP*D~d?q`ZA`u%^X}l6lt&X03`v`i}J?S4{0{2GOzXOkGTT2p1 z<^a-tTh)~@=XIQ4tokt08o=2I@y;K@uAA?+5@#OG<~sT3Qpads1%>`tT)}?T@V>yYpQ>X0$K3Z{U|a?+ zCp&LjKdbbGC{0?KcCLpTiDHe^g>ZZnM^a-Q_j1~rRTq(hKT}*EToyCYzU_bvy3bQu zxc!<^qJBv8>TvE7^{$O^{hA~Y?OZlIKj?b-L&0QktTaS`o}3DWlFRFbalov6MlDqB z&GK&Bxpd4gR{^u(@T+p;)~4#ez;7of&n=^&+OvU(8e?-kKvVJBIdP+01Hf;E507SX zj`tt*Vv?~DH5?GD0v7ozzL$D%ffv_r9sdtWm6Y*Eq8#%3+=Ih=@v4s>N43rtje0M< zTns#t*ZA__Z6eJOP|5u+F{Ih@hX$4HO_Qe}Ix@W;=sQqC;kMSk$owhfWCmteeq-s| zgE~LMOey#0$6<%h(u8t~)yg+z{xB=DaaCa91c$hc6L>s?pr3%NwWg8mFmvp>kN3uE zWHAS@I?%*EDa=NO5m{c-%6k}j^_}*847(0TFDOTkw5~1q7n&pU1{{dmdjET9V4k*X z7Ex&WHD{fMVV*30JAXnYh2Mu{%Z0eZspIJyQOIHO;~ZkT+hDu4wtHS_h2NTc>rDNU zR(FyeTAKURypKMLsyWvAg%k5V7#pVC|Mv!-raN|Y$9D{5T+Ss;{6Y30IOJp*WmR*W zv3bFDD8^VJUVLS2ur{sUXmF7*w4}142i2khN_Bj;m#H78A1h?)FwwUhWT%`<2a%oB z7QSExf^9Y6$xD-Dub>X*hF^T2O8$@61l(JvjL{Q_qi#Q`MQTGcJ^#s=T~xnQ)nli? ziL$Dq#&9BRUs;qITh^GqBwOR&2@RC^m@-GAAOJZNpj&(FdgefR2}g^p8Q9VR6>aJ> zyRfRoBl2)PB(RiQ=5x+k(dp)&{~bo?D_XwKcPf z2pCry&5#%YiZJ2M%_0CZ_iNwci^zrm=GWiXyEk%P8!LDp)tv>9?wEJ4+?)l7W)8de zNXmQRY(@NK1&swfw*V|@+v^bv;qe~1#lA+$bMhS_p1oQ}xN&oXpWhg_jDPMN8&K^g z;$G9LNJOs4{y0PkqbWR_z-MY~0d~`;-FSeU_w(how#nQ7_<#~=KZw@zieYv4HC@tf zC{jIs^Vg&Pt3PmsOgpc=Gps0x$M$S$7gv}hsA3To`H>qpFrKBJ*3aqsnR4M)LL!4* z-_g6_i!Vbx7LHI@SRA5bj9?cM&2N9fJ=n-N%arNhs0)YnWZG{!IAVgx2GyV&NNytm z=I7nG71ZCvyu7y-9wTWMV%zwn`B*riOIJGohj90W&0aKlNVDuPosm}awd_qBY68&x z94z@t5~<&gYPzH0KzfJvLl~srz}fnXplY^Bef36DkwfWp%&uz!h1QLGeyp`-X}0#K z-WDmRkUoo77%*^O)}krI?_*2`Vh9r%%oNQ#8IfqU+}Bds{uy7R`Vfg&vDtJ`Cb|c0 z#LA`U(i{q8x&a0Ip?f63uP2iy(n^8b-QD&}Xm{v_S-@<>gu@!JbNw$_*UtV8>dnUU zYOJT3@jqj`To=mYEQllOIU3#n^RNpKA^iw!eBv!CY@4DnaO{D8n4*%W@<-|`q z3#OSHd<#iX=q524V{5s`k%dLw+27wO;M2={*ei3)vVN|P$10d67QjJr`{x?9TwTr( zuAG;${U4%TPWJ>3JT@<;OE|vWrN@LSZ87y{tp0K)0zm;p64&yeighQ4e&vuNTl4wX zkluerRCKb&`o`Elh6e)aFo~qezsy8CyUpo2YImlZ5olH4Zr}#9YqgOurU(8Qtd-81 z7(xeOIb#nzr9o%pU3jidFvKdFxdcEMT!Mr^pT;wEbcoyaNQ$D*TX6_Pw)(U1+iLen zAvUqMM_HUOKn_;t8H>4Yen$N0Bo!FNK9YN>As1Chu#8DTZ{=xehx3JA#`jT2Y)A4L z20SbCs6ah8$TPT2AKth;^_7+DypT)u&B5@Q9=!A5=FCKl`@;p!1}E|gb5XpF0AB70 z=-a+m|3)swhQ+()zIPOmb6qgfKhnNX8}Pn=E{!*oU%&~fcyb~Xe3HN}bYkOIF9mUU zUXyqV)e8P1AY=J=5cns3g~4nQEQO2UP6rYTVzvi1tmDZKG@Ef&FB!{I^M?yesn=9F zD7~k>(Npqbf`hTwmtP3vs6!__@-n{el-bPKV2Sb$#Yc}uKT{JG?t1~a`R$uLjxT!J z(wVwUYBr9TR>6!e{tFE@0o~xv5$>Jz19;QMhSzU?d}c`Twk1>ptX&X6haWHWYa*Ik zykB|fa|m!|S|Q%e(I}wMCn+2*iqYr4KTT($Zx#SGs@Hc4v1rSl{6&QDY{3!XDEo55 z?eIUd-S4s1I){73F*5np+9^K%x&C*D4pLqL*9g=_Hf3;;q$*%nz zv^=KelL&;FBHnQ-+uAe6OxsL@bK|5{hZERv6{RU|6n`G^0Y4W$ok8Px#`weCc$&Zr z-D|q%b%L*>cg@yftTfe|oqwzXS8L2Bz0Q?8SL+KOyTps8L#O`=FErK7b}(S*V>ML8 zr==dc_GO2?rET}{WAVT#AqqcsznEAzmqc>g$8x|zK9xGAjU7DK`s^tospW&%^n8E) z&;tf)!asU+S_QfwHe;dG$k%ai;vwx6?ig}LXQ9d_b~k3YM*4<7>VT!A9MyW{>FKEm zxFefrNI8X-`tg!&*)MW|`=cP17(qC4>;9u;06u%u)yH{N5J|> z%!RVkom7O`BS$nwPsTJZ)9Q^aj6-PWN|K=k5^2H(jyVrH0;CleJFqP@PGmBE{d&a# zS0i30N#aM{)ng=qlVicJ+Qe~V9kFepfTOGGR^jbIo)+IO)dF22^vH!^Y@LA;7DXG= zZ~HmDG!^0x4iWRN&%WPu-Ni}Ry?XTuwU048x9F<+ci|DJa;VeP0gLh<>YKeB&fn?Ir9APpDp<7!sC zCa?aBEC1?K)?q#CnY?|zgDR|uvHJSs=drjd*n(tm*e`+ojnA(ZpWa8IPUzKzVbOm_ zzo*X_NO2^4=0C62alAdC6!IX4vTf>X;rk$DH?}Xu~V4Pk@h9u4Z-o9FzzayXZ$jAg8Hf2LHKXAZa z##p3SOQ546jUGbe^yGQ&;S2;arKUf3%GQjtX(2*g1AB!Fy1uR+HJ|D` z8zeWV`;tWm=>p^eWIcJ`gO-x*c9O0O{uAx{V99#lBi3lJt41Q27cwSUCnhOsG(!U{ ztw16J+X9XxngXNMyN@9*N(;{?!IRQd_=Iu742Fgg(6VnuCjOMa?!m5f;kDa{>dvjB ztxcV2x{v2=bVnbX)yg^W5ERQ2aQ}|_eE2!w26|E<^nh-T z5_D8s*YgZw2Ix(})*GcgY?*Fp{m=i>>uT>xg@p`J>pEu~s2_6J>tc&S>>=dpCvY3g z!PF@Lm0>XwOQFG}H+@n=19WOvfZGBTJm1!GmU{q?gPu~pXcfgaJEmFyc|!_=V-_D=Y-AD z&g}1_DZ~+2aLjQ6H*eh$a6Han!qczM)t?;ayjPCCf#lCw zznGS=@GTqow=Ah?n}i1R^rH;Iu+9w>7?_fI0Iad^a=%4&4>YN zKLd;&{f);@#S3Ko>cfEzE{F%FkSnsyT9`I}Hs(=7C!T^&s6qy)fq@Az zIq<@7cz&~^7WLN^^BQpM`f=dS{G2dCRJ7;^M@5^^l6`s26QD+1<<2B)xA~3N-K9h!lJ%T;DQ3uf|DmSZnkX%NYgQH`}?l;E;tx8jow2VBx%y zaZ@kfYlx9C`{G-~Krhf55JGW}_)ZW1|2Xn88?CTPp5LznqiL}L;Gp;7=x*%Tw_CHQ zq5@kAYTYXP|MTOmEwDXW|GE1AwdC!$37(St@?|^_0r&p<{O8KpmTZ(9d%q~@c*0WI zDtui~nV)k?mqcCtKRz!PhFPZWx(-9wgM}mBaezJcqL+kXgvr-K<}~O^A!C?dfo7l9Lwb|AERXR{L}MJ}TSy6Q4uxDO>M~c{9;iX(J2dw69X90+9NU4jvqE%nt!Hl++>E6> znKwY1{00hW`9L0_BD%YpOVHRBo?%Lv`;+iX7nH2;B@xCed7snA-!5>vj|>7FFrg>S z7gYM>6#$E&j%fD`6=r!RP`ibI$ULU;eX_0?agH$4!t*_BCFH@ zKK0zcB?3RiI{=krE-T?La0-#(YS^i`GKGGJj1U_GO5vB-i?k0z!sj-7K+C`S`;7y$ z0=-NCwugAAi-{33ir#dC1-GLpC3D$Rhze|Hc8I+@~xh@{>U6iJ*iToNhzdWuh^xorL zVCb`&Lc?h$XxtuC*Sr{$SF|Di+OqbK&{z1dma?0A@_8uMDu2H;WZ=D>z0DMwN0x$5kv{-NZi|wnU{^8&PWius+3t^duL-Kwm7GoU z7jrl^0P(!sXCx5gEsqHZWe6iuo#TY*lYAd8ies;?DYA|77D>vYfKNc721ODIq-2GQ zPq|BRQCaVRr%2wXUf_%Isym!Ywxn)7C6=P>|Lt^ZQ56rSRtr~6mKh%1gSjqkcM}_~ zkym6@Dp{dicV4$SSQ4BHv@Y>~sQKOY4ES$bF$j{f9{RMrZ?+HwXQ;D2oX4lkOrx2V zZAl0o&)k^+JEYy_2U@eEM%*Wkm%8+uWo$8R|6J*bP>FN($otm_me-PLpqQIpC^lDZlh!0 zK7{D3{$7}lcp+S0*m%d0oa3&=a z{dLkdMw}gfkWG24=p_=O>-9=*MM)P8hdc1)LLegg-a`mLDLG0pQBsk?S>)fXy5&`$ zgA0HgxU9xb99*R}nx7x8VR=Z7O0%eD7)1BEzIUNA+7WmFETP?3 zX@BN$23)*}Bv|?&@x%R89E5Lq`?Alu`xP!Co`Bzh>vRxy1&NZlu##v28}I^n$zdF_ z+`c^oetu*ee=k2MovV##1VN_%fgKwyOCYZKw(`NX>`PC8=t;Oa_U+5!3fYSu!l8S* zjR_q9y08$4CQkU9Q^3&LwhUE|SN<*Y86W<|4#{=@gu!FW@OMMhk}1JTGXbcqFlXAm z>D`-uH<1&_5aB3F;s z!%3$C;_X}z?(o4^fqUkwL=hVx#}a+XG7_#&jc4C{Ycf#ve!L$WX0;syX88XuRFst? z`dAMZy!PwZ4+V_CP%jJ2SMQ#mpjt-CmB#z;x`J8SoIt)lbA4ZfiaDtxO zwJmkGsn@#uj4Rwuy}8is;gh6j1px)4RD&+E#RI z40KqrTS<&e{uhZN4sN_w^+@BMRB6tFDIp`sYACc)7=v*TeoG<+`gcID?)4{^7i3g@FBm5eG&*5rm=l1aM z$n#9{?}@}ebgugPdKm!aSll#ehv@1&gm^iop!ra|T+qksJ>482U|E2w=mGju#^<^iP|EX;X9#&N$m3=Xo%)6b zkjZ|sy>aP<@#Og&l?L0-J0=0!LkLN-%fGxHUP+blUSf?+5<9hX0=6SB?U}K$WgCq@ zlhj4j6~K04PZ)?%zvV0QY&A9TNqiK2EpNJIMrpQm^b~NxCHFCcIXCVf!tZQ{WYD0l z1u7eti-|lw6!Ht}sOa6%&kkplMpw_(0ocvZCPg>0iv?i(BIOrMoJ21v=?eraZ3&nr zqd?76Hu-D~vn1c^Bro3nTk$;nlRx~1 zvxG(BdaLMr-t6${?kur-W@O~9dCRqKs($)vl%IF}@$m%334tXYQ%N~X%v~<{prVmU zFQ}WR;`9h0k#6K%j|WUlX>_j1<<1r8eHAmdCsnJXavS#wausXx65h2PfK-W#d-&J= zsSXvK2aT?yM(#_7u|IFb1wk~Nb5~eG-hhXhS)45ayZCa5NYd-$e|uh4Vy9DP=Es|( zWK9@AO=en}3FbH6sx5mvkNx!PHMh>t`n`;I2}S)eWK%#{z%QA7mlx7YWtqmPgV6Z$ zSSi}peW%tDWbGQ=V^vVEHsWuXW@<>CPoIChIyFb}V)X(2=UyMC5C#U!fB#^<{tU>u zM}b6ja#BnRm>9(OC=)IvFrN!6Nialr&fySB1fYzh6kXlc7gd!fm0XnFblgZwT<2jLNvBnz=`xczGk)?crgG;$ zeAOM0S)H!y$8nUC1hvhU!{Va4s>3Q+!^jkob5J^)+x#we^w5?+bYA<)gKN)Jltj~- z9eL}yB5^wHu@QFa;4>OI{>#v9HsV6z{M@eFpmM>&cPW{g@aD7Q>G$5~nqS&)K0c$P z^W0>dboIhkz@K&O5r2=qI&N*VJr#6+MVI}Tbh-)pz&_6nr_vjOVyY+R^Fx*~?k2zh zoO^3u^7?pu2as|dGf0#I)TcHBFs8X0_FmqI2c4G6ha3MO?26@o51XDSe0_N(EeGp* zlAjh!QUeunW^1^)*p5I7yvR)oFYd>qS(1nO#kVsDXyOz?{ul!18WA|ctK+V`vn_saZ91;5 z5K2ZmeK+5^XSTPuzFGLdXx4Q{L-%IVb1eB}ZLbXkF9Aus z@<A-`#-mqQFzTR&mRlIK2dh5HXG`pn@ zor>H7x25BBBcbTXgck9FzU1T`CG%!@eT(_we#(Yv?5NR?$64A3YtM798V34iMKih) zTw-L@(64-U^X79bx!=s8Me_XC5Q$Nbc|>kx^ywhGuLU`tA^xC<@Q&{?%~>-STXYw* zp5af$oe1~5@JV`b(|Mj^Zk`?S>KyZ1`>%9#cq5C0{c4=S%I*Hlm($9pE`_F-B6dd? zC)6#3nv0}&MD|?m~dM@7sAy8NuF7% zFTVRV_Iv9ElEo+Sz#`x%LdA-7r-g@8k(|t2Ei~1SAeU<$2i-~SHso&{N+uUD^7UiX zgCdhxD&;cvdo#(jHUNoN5~N>P!^XmCyCl1?d~V__v%a;p zwF!QM2_LNUemeAnQQOJ=!@d;E<&X>Nm0L=!h_G(|Z^Bux(2GO`w{5U-&>;DjuO2gS zoYi5YlBhf4>TI3gyUb5w;nK2vy+#(J6}As&QmC$7O4ZPiBl7#L6!^N@*v;IuYIi71hl7|DkQ;NeM4(JAAL zq`z#2^AGj@BFekdj0Il^5suS!wha)pyrhXb671`hF@cAWh~y_VJb21FlP>j?)y{#s zG@bH;c=>O1s1I$<^2fF%XTQ+SThD(F-_&<6Ynvr6&gl&MFcXuAmDMir-OP`=h{cn% zX481hf5XNZ$Pf8WE~!&d(Z7x?>yO9(z?9#nZizhXW{U`Iv**A{U}e|fz>i%*9*iY# z{pY>2xGX)9jhIC9R#uX8Nz-j@9gThZl)`_-aK%RyCc!Os8EtVhYFE+D zhZ}Cew>RyV)fS`P?Uzp~YM^|>b?BM!lfdNHtU*$sII}q%jbk(dC!a6@cHx#npYyE- z%K{!RgUD6*4N!O08;*ESJq##NE1NG~@40>0oFr0!w%zF*wcpU(D9{Pn8|>XWG@X$9 zG0+Gq3aNZtMYaIwqU41u} zc#Zs)Hj2u?HpYlsQeL9K1TC0kkh*K_Ah!s%LJ}JC^UrKi1e3&#c(^OCWT&IAvyJNG znE`5)Vi7fTwdY%ETR^-6&{g+L+X5kL zmQ8HT$2z@dQIBn7^kKX;al?Fendb4gpCTHaDp+8Kuq(_)9$Q!E6O! zBD+brWLt|bXWo81lBL|Wlkxv$;rmBW&VIi2plt9HdAvA+iA?mCPTos!h`^-El5bZ6 zy}Ho{gjDP#gWt6%`=0xiKSmaI5)FVRR!`DhXF}(JQFQUNQYrbzI}w2cHfGjg zCyA<+&^ZXWa^Jf(>xo?Bu4kdr3&D$I7n@GA;*$8lYTN%})@kJ=;lP^h(WeJ^ChR`I z@M-V`LY5*U)(4u`&6ik9EeNYP`$|G>Xwulsw=hWv`xNHRm5U8)O!GaX+@^H7a_j%} zjQs^7R~H}hM69b6d=xwgcXq6+dFS&SL>1FLYj|scfqKp!HA1nL&u~V!fR#6~y?8U5T_jZdx5){pAEfdGkK;A?oKwToVre@Y&n`#^# z>e7A5BJ%BP5v%a8-(2LSzg+xC#KpAssrP4p^D1Gb2-F{_J;+w4MKH~m(hnq=m>vFe z`2OftdrZT$S?$Stcvf*?dAgCOAT<=6n$8~xai_bZ%h1bbP5&%*B+;+(kZsX7VJirS zgr8Dlps!SBKbUOr(Mu$2MGq*s;|+=*4e~ci0Q=8p4hv$>%zLAAO1y@}&&rBQ>cbpX zV>m4U^Rn89{@FP$0-gDO>7ViZ%IQkWN)Se-w@_m>`p6aJ!IcA+0SUV8lFQvE{D%h- z?xvQ~pTR2s9(1ZMe?Ncr=Z@JIbtChM8ZC+g@;uqtDDfIni@UFhDUU-yx8rW~<3~Ln zdz=7o?XNc!OgR^Oewamte=H+$y^ z%_;rK$xAC$>XV-lPT9szQ|7Pr9^a4XAH=VV*XU+Wzw-^; zYIddV=ZwX!L51Gz>qP5@;K$;p>-fule)LQQoIRc{Lj+3`*&Q*8|8QUu0GrI|35X>7 zNJthw%mUuTFu^+vctQDWmdN(zQ2lFCG2O#pXg*Bsbqxm0m^BT4Z~qHG>*8+d-hNmg zT;l#k9gcMRU97j$%M|5&E#}w^zIi!bq_xtH#6s=&8mh|4u~;_I~Ey}nAUeAe8|zldJn(go9#Ej^i_|F~3oDgqVp z#|Q^m**MDZfW=>WrO9$%6Rz|&k7Vrx9ioA9<0logX5N*il?Ubr_` zKibtA#wdJE39o6(7l#Oj=+4b~uZb-*@Aa;N#b~>W;LO@xGmB>9ADN zd#5MU^P+|9^{^ScA&umt>CCH;*nr2o;G6R zoTx5cOpf$p}hSQ}%TFb}I*xz={5&-`g>5M8SX78N9+JPzY-FUKCNVZnMFHDNS_hxj=Hkn-w_QiF<-4>hCehuOa8rYoii53J z*b0wE|7@~;n{A<3EJlYp6&tp5z2;OLtwg$A|j1cH+s3+T-P1%IYxl|^{QsR=z?(%o1 z2*9A*c8A{CgWSfB@%K<8A76Z<^l@#hsT6z7-FzdVXn0I>l4;m9@8}c2tYL%>Z8|xr zJLsc=HZ`rbC?XKy;l(rGr9knKt1EpH+MDx;TjHm3Qh}dUBf*BzZlb2;U?nzE*Eo?F z^*8pnSLM%VmFIunRI{FW1dPUX`w0DIZBNm9EO8=(AGuX8i5nr}b3463hlgjIw3Ga* zo{)?(NFLbERxz?iL}0D>lwmGw$N4>#OIP=U{T3appTD}tqMrV+gS(iJjJ7pfMS1!_ z0+x6qo>reiop8Y_+42Rt@p;|iYyNuE-l|UHGUb zVM0P>f^0pQIPGNvO2z& zO=lQz|NMK_XboTOajR5k3H2Z>dpmz5>v-Z^kH~*ild9t^ldFCYT;&s2X&9t_@;5F2 z{`a_t@8F6<94mwfozPv`2;#J$QquKcc7ggh*`x>lf!JnF&LrjRE-YlUh>n|h+DyN? z_9?Z27tdH1Q--j?G+k1MeWorLBUZ}a${Q_9P;+S7b?m(4wPW7EUa8O9p&`d5TGIRjbuUJJs;{%D3@dr|Jb6-Zg0mDI}~C3vt- zk*=f{|K4=m7@o9JnS7;FdxU`wH8(e38$!Xu%8QPj8fC+)3T|aPP$Tyv5@`?}_fhci zw~F~asmEhg&W}iX#`erhX8IjVlrqeno=_yanZaxI;?a=#gk&*tUC+EuO)w(q|}|*$1BzGog-LZ?}@)Y|f-L}IZ z#7uk`Rj_bLyK)H4nlo>7NKlV-HHROQwPu^ak6&7!n|iwy+~o9My_wi8?%zO~&c1dn zG*xC%FE=(UM?)5SMbj_t@}BN@P5$x-yinN9jNfg{!GJv)&bbHgz_jV}`zR_&*eWeA zFOL@~!Pe8a^aP?5=|{On*?o@}>~;9RNfcUyM^kVcZz!3yYG7yXhSR-virbH5*Iggv%PM zf&acEvta;D!Jqe|3Q9LtD!Z6zNE15mu9qThY$Wjq9nKTaT#>=>IC9noB@-tO-kH-^ z`F4UZeE|i6ub8mE$<8#2E*L3_9KGpZdU?x#Uzp1w0=p{gPn8lDxk=ZMx>BX>8|eK4 zmopMZ^%H&S7V4vXFb1A);roFc>{@&K?IrwMl9QfAY3$l5MxOmr2#nPJ_Jeu4H@7M$ zo7>4sMc@5@aD95oyUhl+THlTh?+>S5zmKs0`=*+o68Rnm;Jz*w_RwulvLR1!LWfCQ z{gr*sWbc5$A<#yPbQ54bJ?Wm53{=VD(9_gS;MeK~t{*zsNFB8A@pzE=Lbs?v6wg2a z?_Y;6ZKFs$h}KG<8F>N^8f1RXtOq4Up1{G2yz=42gKQDx^J)3wL0%(ru~x{V@y(|Zo{_0;B!<~*EsmZ=}ab-7E##nKX1y+)P5JmXDCfVf=jd%|1BU#>eMc)q0 z69EqK>|IwRiDAeCP-6!(RmZgCpEI_57IE^Iam&ejkdwVeAg;9k{cpE*qBfsmtgOru#JK_^81cuN=q)2*I47P$M9z^g{m;yG^*ik@GP!1bT$_FF9 z3QE6wN0E=;!)xRF%==y6j(#k_jh5|6!oLSUPQi<`;Kxh8BImt3vP_M!cwLEQQp-NI z6}6r^LI&}9pR9<(Dl>@v+t8nqwJsSMACp`q4!jUQdVtW3+ZZZYbXZ?LX- zOuUJBmo~rhxeZ-5=_M%|QX3&_0>=vr_4`zjURSXF`u4G25$4Xh2^_bT%i6y~q*-*( zBLbw>c&1!*eBJxfwq!!pHC+~i27UA??7n^U?E}aEo$LmjL>SmTR=LH6-`_QHu@cvgu+^L5%`C*#=7=KLWE8dw?(08IjQn3|8#8ZAv7{|oAdPv-uJcRqV z#Yq0F65@g7DJ5$FrO&KxZ~xh}H18z%>)IUwigPSHh%z}@8;Y&_iXS!;>LEo9CHhQT zeH2PDcMnGnkZg{`A60EorTfN=0Pma7}Y&vzg5jP!l zgo4!Q7j^I8Aup{oDRLfF6ofd=Gd^S1+FQ)A1?BS0P20lmB03cm+}a@}Re{sAodUS; ze2pjQBVEKCFv1TP6VE$eg}jV*iH~e*o2+F)nEB(~y~v(htp}|!&zjxUf~;+9^!)e} zf5hS&p{aP6)jbKuR-6=2AIYHe{VCs}H!(R$!l%Y;F^WQ?Y*lqX!sX1!b|$NmwQ^=Q zE5U`Fp2d-T|^^OJK`}hhvNR-SrL?1d%-qqF}7(V>hzm{nKs118H;w zyuC~S(y6_-F>70iKMNp?X`pMIu610&WiBvhP&0+YFX|1DAL3$WAJ~8XD6d6`QT=?n zvyT}q@??8b2eZ{=KAdX;Ejw;=^~ExQ-K_yvOy6Slb&_~-PR`=YfxPd!*vQWU<=Wc}enwT@m?y}$EBBd94cm^U z?63aCskURmnlHAVUN1HE<^&!T@euX;kqJu%;lo=C(W7fYQakXQ6Yut`29YY4&D|d< z-u416l}gVkpkYO~0J;_59irme%ZQ9OC%Odyb_K{P>PgHr1W6<_i(cnzpQqpFr*|iE zaVj~Uh4Ov_Y{s`YGuB1lr+~4~RN@=^7n9B=Hdi~Ak}KSz7?i=2!+tj(Ao5ENIwC8q zB`g9k4n;e%->ef8wHac?LJMaf59WlXtG0tmomt|*Smp-obGjJCPtTi=1*e?acC%cs$HHL5qD>#2AFDVB2xB8l z-t#+VfF-pv*>dw^ZDXY;$`TOUZ2|ECcul(qA0LAzY@LMD7g@|l1;x61Up-Uis_NUH z!q2XC_8zzQquACTe+P$uQSas~9eE!~LR`}G!R>H8LD;u5U(nTy-GV>0d(*l)f(}&= zDsb1kTCXTbI-7pdWuVjG_vzbEfn?Q5{J%QB%wy|z#3yuEW7(Gn{Au~Uixhea$>Ozn zH}G#O!bja~?7p;XU=Q2yUFvskFyE3bT&dx;mV+q z&$8z?f02@ZFWVUIMLTU3=2uX>bq_$Uj0heDpY@}#OI*6hbjmcdJt>@l6Db7!$gc8z);G+JvQ&*Y6JEvQalS58Qlv|nYuH8HQ z!+$io`jOq-y}5wD(ZV0rNw1*!K+Z!F->%_%oJ(I0 z0&J=n8qwP00ps_P5f8oZzoj~?Q!sOE2iaNOisXMw8xJ2`f;_3E%d

_#8Hn8u{7+ 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%0A(0<0%-0(&UJ%S&WvqS?K^t$8{ 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 literal 0 HcmV?d00001 diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/HelpersKtTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/HelpersKtTest.kt new file mode 100644 index 0000000..9f4f397 --- /dev/null +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/HelpersKtTest.kt @@ -0,0 +1,71 @@ +package com.netguru.multiplatform.charts + +import org.junit.Test + +class HelpersKtTest { + + @Test + fun roundToMultiplicationOf_initialIsPositive_roundToCeiling() { + val initial = 20f + val target = 30f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, true) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test + fun roundToMultiplicationOf_initialIsPositive_roundToFloor() { + val initial = 20f + val target = 15f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, false) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test + fun roundToMultiplicationOf_initialIsNegative_roundToCeiling() { + val initial = -20f + val target = -15f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, true) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test + fun roundToMultiplicationOf_initialIsNegative_roundToFloor() { + val initial = -20f + val target = -30f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, false) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test + fun roundToMultiplicationOf_initialIsZero_roundToFloor_resultIsZero() { + val initial = 0f + val target = 0f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, false) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test + fun roundToMultiplicationOf_initialIsZero_roundToCeiling_resultIsZero() { + val initial = 0f + val target = 0f + val multiplication = 15f + + val result = initial.roundToMultiplicationOf(multiplication, true) + assert(result == target) { "result should be $target, but was $result" } + } + + @Test(expected = IllegalArgumentException::class) + fun roundToMultiplicationOf_multiplicandIsZero_exceptionIsThrown() { + 1f.roundToMultiplicationOf(0f, true) + } +} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarWithLegendTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarWithLegendTest.kt index cfda12d..365e687 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarWithLegendTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/BarWithLegendTest.kt @@ -64,8 +64,8 @@ class BarWithLegendTest : ScreenshotTest { Text(text = "units") } }, - legendItemLabel = { - Text(text = "Custom label for: $it") + legendItemLabel = { name, unit -> + Text(text = "Custom label for: $name") } ) } diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/Data.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/Data.kt index 778df82..ba528a2 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/Data.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/bar/Data.kt @@ -54,7 +54,8 @@ internal object Data { fun generateData(nOfCategories: Int, nOfEntries: Int, valueTypes: ValueTypes): BarChartData { return BarChartData( - categories = generateCategories(nOfCategories, nOfEntries, valueTypes) + categories = generateCategories(nOfCategories, nOfEntries, valueTypes), + unit = "unit", ) } } diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt index dff7216..d46bdd6 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt @@ -22,40 +22,40 @@ class DialTest : ScreenshotTest { @Test fun range_0_100_value_50_UI_default() { - checkComposable(composeRule) { Dial(value = 50, minValue = 0, maxValue = 100) } + checkComposable(composeRule) { Dial(value = 50f, minValue = 0f, maxValue = 100f,) } } @Test fun range_0_100_value_0_UI_default() { - checkComposable(composeRule) { Dial(value = 0, minValue = 0, maxValue = 100) } + checkComposable(composeRule) { Dial(value = 0f, minValue = 0f, maxValue = 100f,) } } @Test fun range_0_100_value_100_UI_default() { - checkComposable(composeRule) { Dial(value = 100, minValue = 0, maxValue = 100) } + checkComposable(composeRule) { Dial(value = 100f, minValue = 0f, maxValue = 100f,) } } @Test fun range_0_100_value_minus50_UI_default() { - checkComposable(composeRule) { Dial(value = -50, minValue = 0, maxValue = 100) } + checkComposable(composeRule) { Dial(value = -50f, minValue = 0f, maxValue = 100f,) } } @Test fun range_0_100_value_150_UI_default() { - checkComposable(composeRule) { Dial(value = 150, minValue = 0, maxValue = 100) } + checkComposable(composeRule) { Dial(value = 150f, minValue = 0f, maxValue = 100f,) } } @Test fun range_0_100_value_69_UI_custom_colors_and_labels() { checkComposable(composeRule) { Dial( - value = 69, - minValue = 0, - maxValue = 100, - colors = ChartDefaults.chartColors( - primary = Color.Blue, - grid = Color.Magenta, - ).dialColors, + value = 69f, + minValue = 0f, + maxValue = 100f, + colors = DialChartDefaults.dialChartColors( + progressBarColor = DialProgressColors.SingleColor(Color.Blue), + gridScaleColor = Color.Magenta, + ), minAndMaxValueLabel = { Text( text = it.toString(), @@ -80,9 +80,9 @@ class DialTest : ScreenshotTest { fun range_0_100_value_69_UI_no_labels() { checkComposable(composeRule) { Dial( - value = 69, - minValue = 0, - maxValue = 100, + value = 69f, + minValue = 0f, + maxValue = 100f, minAndMaxValueLabel = { }, mainLabel = { } ) diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt index afde805..7f28ed1 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt @@ -10,7 +10,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.karumi.shot.ScreenshotTest -import com.netguru.multiplatform.charts.theme.ChartDefaults import com.netguru.multiplatform.charts.Util.checkComposable import org.junit.Rule import org.junit.Test @@ -22,38 +21,38 @@ class PercentageDialTest : ScreenshotTest { @Test fun value_50_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 50,) } + checkComposable(composeRule) { PercentageDial(percentage = 50f) } } @Test fun value_0_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 0,) } + checkComposable(composeRule) { PercentageDial(percentage = 0f) } } @Test fun value_100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 100,) } + checkComposable(composeRule) { PercentageDial(percentage = 100f) } } @Test fun value_minus100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = -100,) } + checkComposable(composeRule) { PercentageDial(percentage = -100f) } } @Test fun value_150_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 150,) } + checkComposable(composeRule) { PercentageDial(percentage = 150f) } } @Test fun value_69_UI_custom_colors_and_labels() { checkComposable(composeRule) { PercentageDial( - percentage = 69, - colors = ChartDefaults.chartColors( - primary = Color.Blue, - grid = Color.Magenta, - ).dialColors, + percentage = 69f, + colors = DialChartDefaults.dialChartColors( + progressBarColor = DialProgressColors.SingleColor(Color.Blue), + gridScaleColor = Color.Magenta, + ), minAndMaxValueLabel = { Text( text = it.toString(), @@ -78,7 +77,7 @@ class PercentageDialTest : ScreenshotTest { fun value_69_UI_no_labels() { checkComposable(composeRule) { PercentageDial( - percentage = 69, + percentage = 69f, minAndMaxValueLabel = { }, mainLabel = { }, ) diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamicTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamicTest.kt new file mode 100644 index 0000000..7f6793f --- /dev/null +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/grid/axisscale/y/YAxisScaleDynamicTest.kt @@ -0,0 +1,490 @@ +package com.netguru.multiplatform.charts.grid.axisscale.y + +import org.junit.Test + + +class YAxisScaleDynamicTest { + +// /////////////////////////////////////////// +// // min value rounding, non-negative numbers +// /////////////////////////////////////////// +// @Test +// fun minValueOf10_roundedTo10_shouldBe10() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 10f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 10f) { "scale.min should be 10.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf10_roundedTo2_shouldBe10() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 2f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 10f) { "scale.min should be 10.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf10_roundedTo9_shouldBe9() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 9f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 9f) { "scale.min should be 9.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf10_roundedTo3_shouldBe9() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 3f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 9f) { "scale.min should be 9.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf10_roundedTo20_shouldBe0() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 20f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 0f) { "scale.min should be 0.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf1Point7_roundedTo0Point5_shouldBe1Point5() { +// val scale = YAxisScaleDynamic( +// minDataValue = 1.7f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 0.5f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 1.5f) { "scale.min should be 1.5, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOf0_roundedToAnythingPositive_shouldBe0() { +// (1..250).forEach { +// val roundTo = it / 2f +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = roundTo, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == 0f) { "scale.min rounded to $roundTo should be 0.0, was: ${scale.min}" } +// } +// } +// +// @Test +// fun minValueOfAnything_roundToNull_shouldNotBeRounded() { +// (-125..125).forEach { +// val minValue = it / 2f +// val scale = YAxisScaleDynamic( +// minDataValue = minValue, +// maxDataValue = 200f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = null, +// roundMarkersToMultiplicationOf = null, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == minValue) { "scale.min rounded to null should be $minValue (not rounded at all), was: ${scale.min}" } +// } +// } +// +// /////////////////////////////////////////// +// // min value rounding, negative numbers +// /////////////////////////////////////////// +// @Test +// fun minValueOfMinus10_roundedTo10_shouldBeMinus10() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 10f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -10f) { "scale.min should be -10.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOfMinus10_roundedTo2_shouldBeMinus10() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 2f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -10f) { "scale.min should be -10.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOfMinus10_roundedTo9_shouldBeMinus18() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 9f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -18f) { "scale.min should be -18.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOfMinus10_roundedTo3_shouldBeMinus12() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 3f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -12f) { "scale.min should be -12.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOfMinus10_roundedTo20_shouldBeMinus20() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 20f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -20f) { "scale.min should be -20.0, was: ${scale.min}" } +// } +// +// @Test +// fun minValueOfMinus1Point7_roundedTo0Point5_shouldBeMinus2() { +// val scale = YAxisScaleDynamic( +// minDataValue = -1.7f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 0.5f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.min == -2f) { "scale.min should be -2.0, was: ${scale.min}" } +// } +// +// /////////////////////////////////////////// +// // rounding to non-positive +// /////////////////////////////////////////// +// @Test(expected = IllegalArgumentException::class) +// fun valuesOfAnything_roundingMinToNegative_shouldThrowExceptionWhenCreatingTheInstance() { +// YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = -3f, +// roundMarkersToMultiplicationOf = 1f, +// forceShowingValueZeroLine = false, +// ) +// } +// +// @Test(expected = IllegalArgumentException::class) +// fun valuesOfAnything_roundingMinToZero_shouldThrowExceptionWhenCreatingTheInstance() { +// YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 0f, +// roundMarkersToMultiplicationOf = 1f, +// forceShowingValueZeroLine = false, +// ) +// } +// +// @Test(expected = IllegalArgumentException::class) +// fun valuesOfAnything_roundingMaxToNegative_shouldThrowExceptionWhenCreatingTheInstance() { +// YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 1f, +// roundMarkersToMultiplicationOf = -3f, +// forceShowingValueZeroLine = false, +// ) +// } +// +// @Test(expected = IllegalArgumentException::class) +// fun valuesOfAnything_roundingMaxToZero_shouldThrowExceptionWhenCreatingTheInstance() { +// YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 0f, +// forceShowingValueZeroLine = false, +// ) +// } +// +// +// /////////////////////////////////////////// +// // max value rounding, non-negative numbers +// /////////////////////////////////////////// +// @Test +// fun maxValueOf10_roundedTo10_shouldBe10() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 10f, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = 10f, +// roundMarkersToMultiplicationOf = 10f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 10f) { "scale.max should be 10.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf10_roundedTo2_shouldBe10() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 2f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 10f) { "scale.max should be 10.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf10_roundedTo9_shouldBe18() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 9f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 18f) { "scale.max should be 18.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf10_roundedTo3_shouldBe12() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 3f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 12f) { "scale.max should be 12.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf10_roundedTo20_shouldBe20() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 20f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 20f) { "scale.max should be 20.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf1Point7_roundedTo0Point5_shouldBe2() { +// val scale = YAxisScaleDynamic( +// minDataValue = 0f, +// maxDataValue = 1.7f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 0.5f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 2f) { "scale.max should be 2.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOf0_roundedToAnythingPositive_shouldBe0() { +// (1..250).forEach { +// val roundTo = it / 2f +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 0f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = roundTo, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 0f) { "scale.max rounded to $roundTo should be 0.0, was: ${scale.max}" } +// } +// } +// +// @Test +// fun maxValueOfAnything_roundToNull_shouldNotBeRounded() { +// (-125..125).forEach { +// val maxValue = it / 2f +// val scale = YAxisScaleDynamic( +// minDataValue = -200f, +// maxDataValue = maxValue, +// maxNumberOfHorizontalLines = 1, +// roundMinToMultiplicationOf = null, +// roundMarkersToMultiplicationOf = null, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == maxValue) { "scale.max rounded to null should be $maxValue (not rounded at all), was: ${scale.max}" } +// } +// } +// +// /////////////////////////////////////////// +// // max value rounding, negative numbers +// /////////////////////////////////////////// +// @Test +// fun maxValueOfMinus10_roundedTo10_shouldBeMinus10() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 10f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == -10f) { "scale.max should be -10.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOfMinus10_roundedTo2_shouldBeMinus10() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 2f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == -10f) { "scale.max should be -10.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOfMinus10_roundedTo9_shouldBeMinus9() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 9f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == -9f) { "scale.max should be -9.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOfMinus10_roundedTo3_shouldBeMinus9() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 3f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == -9f) { "scale.max should be -9.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOfMinus10_roundedTo20_shouldBe0() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -10f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 20f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == 0f) { "scale.max should be 0.0, was: ${scale.max}" } +// } +// +// @Test +// fun maxValueOfMinus1Point7_roundedTo0Point5_shouldBeMinus1Point5() { +// val scale = YAxisScaleDynamic( +// minDataValue = -17f, +// maxDataValue = -1.7f, +// maxNumberOfHorizontalLines = 1, +// roundMaxToMultiplicationOf = 0.5f, +// forceShowingValueZeroLine = false, +// ) +// +// assert(scale.max == -1.5f) { "scale.max should be -1.5, was: ${scale.max}" } +// } +// +// +// /////////////////////////////////////////// +// // force showing value zero line +// /////////////////////////////////////////// +// @Test +// fun minValueGT0_notRoundedAndForceShowingValueZeroLine_minIsZero() { +// val scale = YAxisScaleDynamic( +// minDataValue = 10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// forceShowingValueZeroLine = true, +// ) +// +// assert(scale.min == 0f) { "scale.min should be forced to 0.0, was: ${scale.min}" } +// } +// +// @Test +// fun maxValueLT0_notRoundedAndForceShowingValueZeroLine_maxIsZero() { +// val scale = YAxisScaleDynamic( +// minDataValue = -100f, +// maxDataValue = -20f, +// maxNumberOfHorizontalLines = 1, +// forceShowingValueZeroLine = true, +// ) +// +// assert(scale.max == 0f) { "scale.max should be forced to 0.0, was: ${scale.max}" } +// } +// +// @Test +// fun minValueLT0AndMaxValueGT0_notRoundedAndForceShowingValueZeroLine_maxIsMaxMinIsMin() { +// val scale = YAxisScaleDynamic( +// minDataValue = -10f, +// maxDataValue = 20f, +// maxNumberOfHorizontalLines = 1, +// forceShowingValueZeroLine = true, +// ) +// +// assert(scale.min == -10f) { "scale.min should be -10.0, was: ${scale.min}" } +// assert(scale.max == 20f) { "scale.max should be 20.0, was: ${scale.max}" } +// } +} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/Data.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/Data.kt index 9422f00..c64d728 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/Data.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/Data.kt @@ -1,8 +1,11 @@ package com.netguru.multiplatform.charts.line import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathEffect import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan +import kotlin.math.abs +import kotlin.math.sign internal object Data { @@ -18,25 +21,77 @@ internal object Data { Color.Red, ) - fun generateLineData(nOfLines: Int) : LineChartData { + /** + * @param numberOfLines Number of lines to draw in the chart + * @param numberOfPoints Number of points for each line + * @param distanceToZero The actual distance might be a bit off due to sign of the largest number. Also, to have + * the lines move down, you need to set this to a negative value. + * @param factor The factor to use to multiply the values with. [distanceToZero] is not affected by it. + */ + fun generateLineData( + numberOfLines: Int = 4, + numberOfPoints: Int = 5, + distanceToZero: Float = 0f, + factor: Float = 1f, + ): LineChartData { + + val offset = ((numberOfLines + numberOfPoints) * factor + abs(distanceToZero)) * sign(distanceToZero) + return LineChartData( - series = (1..nOfLines).map { + series = (1..numberOfLines).map { line -> LineChartSeries( - dataName = "data $it", - lineColor = colors[it % colors.size], - listOfPoints = (1..5).map { point -> - val sign = if((point+it) % 2 == 0) -1 else 1 - val value = (it + point) * sign + dataName = "data $line", + lineColor = colors[line % colors.size], + listOfPoints = (1..numberOfPoints).map { point -> + val sign = if ((point + line) % 2 == 0) -1 else 1 + val value = ((line + point) * sign * factor) + offset LineChartPoint( x = DateTime.fromString("2021-12-31") - .minus(TimeSpan(point * 24 * 60 * 60 * 1000.0)) + .plus(getTimesSpanForPoint(point)) .utc .unixMillisLong, - y = value.toFloat(), + y = value, ) } ) }, + dataUnit = "unit", ) } + + fun generateIntermittentLineData(): LineChartData { + return LineChartData( + series = listOf( + LineChartSeries( + dataName = "data left", + lineColor = colors[0], + listOfPoints = (1..7).map { point -> + LineChartPoint( + x = DateTime.fromString("2021-12-31") + .plus(getTimesSpanForPoint(point)) + .utc + .unixMillisLong, + y = if (point == 3 || point == 5) null else point.toFloat()-3.6f + ) + }, + ), + LineChartSeries( + dataName = "lots of data 2", + lineColor = colors[1], + listOfPoints = (1..7).map { point -> + LineChartPoint( + x = DateTime.fromString("2021-12-31") + .plus(getTimesSpanForPoint(point)) + .utc + .unixMillisLong, + y = if (point == 1 || point > 5) null else (6 - point).toFloat()-3.6f + ) + }, + ), + ), + dataUnit = "leftUnit", + ) + } + + private fun getTimesSpanForPoint(point: Int): TimeSpan = TimeSpan(point * 24 * 60 * 60 * 1000.0) } diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineChartTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineChartTest.kt new file mode 100644 index 0000000..ec296d3 --- /dev/null +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineChartTest.kt @@ -0,0 +1,346 @@ +package com.netguru.multiplatform.charts.line + +import androidx.compose.foundation.layout.Column +import androidx.compose.material.Text +import androidx.compose.ui.Modifier +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.karumi.shot.ScreenshotTest +import com.netguru.multiplatform.charts.ChartDisplayAnimation +import com.netguru.multiplatform.charts.Util.checkComposable +import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic +import com.netguru.multiplatform.charts.vertical +import org.junit.Rule +import org.junit.Test +import java.time.Instant +import java.time.ZoneId +import java.time.ZonedDateTime +import java.time.format.DateTimeFormatter + +class LineChartTest : ScreenshotTest { + + @get:Rule + val composeRule = createComposeRule() + + @Test + fun valuesAtLeast5_Y_roundedTo4_noTitle_X_noRounding_C_noLegend() { + checkComposable(composeRule) { + val data = Data.generateLineData(distanceToZero = 5f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = null, + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = 4f, + forceShowingValueZeroLine = false, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + ), + legendConfig = null, + displayAnimation = ChartDisplayAnimation.Disabled, + ) + } + } + + @Test + fun valuesAtLeast5ForceShowing0Line_Y_roundedTo4_titleOnTheLeft_X_noRounding_C_noLegend() { + checkComposable(composeRule) { + val data = Data.generateLineData(distanceToZero = 5f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = "data title", + modifier = Modifier + .vertical() + ) + }, + ), + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = 4f, + forceShowingValueZeroLine = true, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + ), + legendConfig = null, + displayAnimation = ChartDisplayAnimation.Disabled, + ) + } + } + + @Test + fun valuesAboveAndBelowZero_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues() { + checkComposable(composeRule) { + val data = Data.generateLineData(factor = 0.1f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = "data title", + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = 0.4f, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val str = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + Text(text = str) + }, + alignFirstAndLastToChartEdges = true, + ), + legendConfig = null, + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = true, + ) + } + } + + @Test + fun valuesBelowMinus5_Y_roundedToPoint4_titleOnTheRight_X_noRounding_customMarkers_alignToEdges_C_noLegend_dotsOnValues() { + checkComposable(composeRule) { + val data = Data.generateLineData(distanceToZero = -5f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = "data title", + modifier = Modifier + .vertical() + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Right, + ), + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = 0.4f, + forceShowingValueZeroLine = false, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val str = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + Text(text = str) + }, + alignFirstAndLastToChartEdges = true, + ), + legendConfig = null, + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = true, + ) + } + } + + @Test + fun valuesAtLeast5_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend() { + checkComposable(composeRule) { + val data = Data.generateLineData(numberOfLines = 1, numberOfPoints = 1, distanceToZero = 5f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = "data title", + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Top, + ), + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = null, + forceShowingValueZeroLine = false, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val str = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + Text(text = str) + }, + alignFirstAndLastToChartEdges = true, + ), + legendConfig = LegendConfig(), + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = false, + ) + } + } + + @Test + fun valuesBelowMinus5ForceShowing0Line_Y_justOneValue_noRounding_titleOnTheTop_X_noRounding_customMarkers_alignToEdges_C_defaultLegend() { + checkComposable(composeRule) { + val data = Data.generateLineData(numberOfLines = 1, numberOfPoints = 1, distanceToZero = -5f) + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = YAxisTitleData( + labelLayout = { + Text( + text = "data title", + ) + }, + labelPosition = YAxisTitleData.LabelPosition.Top, + ), + scale = YAxisScaleDynamic( + chartData = data, + maxNumberOfHorizontalLines = Int.MAX_VALUE, + roundMarkersToMultiplicationOf = null, + forceShowingValueZeroLine = true, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 1, // no rounding + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val str = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + Text(text = str) + }, + alignFirstAndLastToChartEdges = true, + ), + legendConfig = LegendConfig(), + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = false, + ) + } + } + + @Test + fun intermittentValues_Y_noRounding_noTitle_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_C_customLegend_doNotInterpolateOverNullValues() { + checkComposable(composeRule) { + val data = Data.generateIntermittentLineData() + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = null, + scale = YAxisScaleDynamic( + chartData = data, + roundMarkersToMultiplicationOf = null, + forceShowingValueZeroLine = false, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 24 * 60 * 60 * 1000, // 1 day + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val str = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + Text(text = str) + }, + alignFirstAndLastToChartEdges = true, + hideMarkersWhenOverlapping = true, + ), + legendConfig = LegendConfig( + columnMinWidth = 50.dp, + legendItemLabel = { name, unit -> + Text( + text = "${name}_$unit", + fontSize = 10.sp, + ) + } + ), + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = true, + shouldInterpolateOverNullValues = false, + ) + } + } + + @Test + fun intermittentValues_Y_noRounding_noTitle_max2Line_X_roundToDays_customMarkers_hideOverlapping_alignToEdges_max3LinesC_customLegend() { + checkComposable(composeRule) { + val data = Data.generateIntermittentLineData() + LineChart( + data = data, + yAxisConfig = YAxisConfig( + markerLayout = { value -> + Text(text = value.toString()) + }, + yAxisTitleData = null, + scale = YAxisScaleDynamic( + chartData = data, + roundMarkersToMultiplicationOf = null, + forceShowingValueZeroLine = false, + maxNumberOfHorizontalLines = 2, + ), + ), + xAxisConfig = XAxisConfig( + roundMarkersToMultiplicationOf = 24 * 60 * 60 * 1000, // 1 day + markerLayout = { + val zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(it as Long), ZoneId.of("UTC")) + val day = zonedDateTime.format(DateTimeFormatter.BASIC_ISO_DATE) + val hour = zonedDateTime.format(DateTimeFormatter.ISO_LOCAL_TIME) + Column { + Text(text = day) + Text(text = hour) + } + }, + alignFirstAndLastToChartEdges = true, + hideMarkersWhenOverlapping = true, + maxVerticalLines = 3, + ), + legendConfig = LegendConfig( + columnMinWidth = 50.dp, + legendItemLabel = { name, unit -> + Text( + text = "${name}_$unit", + fontSize = 10.sp, + ) + } + ), + displayAnimation = ChartDisplayAnimation.Disabled, + shouldDrawValueDots = true, + ) + } + } +} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineTest.kt deleted file mode 100644 index 84c97ac..0000000 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineTest.kt +++ /dev/null @@ -1,80 +0,0 @@ -package com.netguru.multiplatform.charts.line - -import androidx.compose.foundation.layout.Column -import androidx.compose.material.Text -import androidx.compose.ui.Alignment -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.test.junit4.createComposeRule -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import com.karumi.shot.ScreenshotTest -import com.netguru.multiplatform.charts.Util.checkComposable -import com.netguru.multiplatform.charts.theme.ChartDefaults -import com.soywiz.klock.DateTime -import org.junit.Rule -import org.junit.Test - -class LineTest : ScreenshotTest { - - @get:Rule - val composeRule = createComposeRule() - -// @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 -// fun mixedValues_defaultUI() { -// checkComposable(composeRule) { -// LineChart( -// lineChartData = Data.generateLineData(3) -// ) -// } -// } -// -// @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 -// fun mixedValues_customUI() { -// val data = Data.generateLineData(3) -// checkComposable(composeRule) { -// LineChart( -// lineChartData = data -// .copy( -// series = data.series.map { -// it.copy( -// lineWidth = 12.dp, -// fillColor = Color.Yellow, -// lineColor = Color.Blue, -// dashedLine = true, -// ) -// } -// ), -// chartColors = ChartDefaults.chartColors( -// grid = Color.Magenta, -// surface = Color.Cyan, -// overlayLine = Color.Gray, -// ), -// xAxisLabel = { -// Column( -// horizontalAlignment = Alignment.CenterHorizontally, -// ) { -// Text( -// fontSize = 12.sp, -// text = DateTime.fromUnix(it as Long).format("yyyy-MM-dd"), -// textAlign = TextAlign.Center -// ) -// Text( -// text = "midday" -// ) -// } -// }, -// yAxisLabel = { -// Column( -// horizontalAlignment = Alignment.End -// ) { -// Text(text = it.toString()) -// Text(text = "units") -// } -// }, -// maxVerticalLines = 2, -// maxHorizontalLines = 2, -// ) -// } -// } -} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineWithLegendTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineWithLegendTest.kt index f22fed0..6276de9 100644 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineWithLegendTest.kt +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/line/LineWithLegendTest.kt @@ -14,29 +14,33 @@ class LineWithLegendTest : ScreenshotTest { @get:Rule val composeRule = createComposeRule() -// @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 -// fun mixedValues_defaultUI() { -// checkComposable(composeRule) { -// LineChartWithLegend( -// lineChartData = Data.generateLineData(3), -// ) -// } -// } -// -// @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 -// fun mixedValues_customUI() { -// checkComposable(composeRule) { -// LineChartWithLegend( -// lineChartData = Data.generateLineData(3), -// legendItemLabel = { -// Column( -// horizontalAlignment = Alignment.CenterHorizontally -// ) { -// Text(text = it) -// Text(text = "line") -// } -// } -// ) -// } -// } + @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 + fun mixedValues_defaultUI() { + checkComposable(composeRule) { + LineChart( + data = Data.generateLineData(3), + ) + } + } + + @Test // removed due to: https://github.com/pedrovgs/Shot/issues/265 + fun mixedValues_customUI() { + checkComposable(composeRule) { + LineChart( + data = Data.generateLineData(3), + legendConfig = LegendConfig( + legendItemLabel = { name, unit -> + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text(text = name) + if (unit != null) { + Text(text = unit) + } + } + } + ), + ) + } + } } diff --git a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/BarChartPreview.kt b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/BarChartPreview.kt index f6cf58b..865e9e3 100644 --- a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/BarChartPreview.kt +++ b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/BarChartPreview.kt @@ -82,5 +82,6 @@ fun barChartSampleData(): BarChartData { ) ), ), + unit = "unit", ) } diff --git a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt index 9a7e047..2b8208a 100644 --- a/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt +++ b/example-app/android/src/main/java/com/netguru/multiplatform/charts/android/previews/LineChartPreview.kt @@ -1,5 +1,6 @@ package com.netguru.multiplatform.charts.android.previews +import android.graphics.PathEffect import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.runtime.Composable @@ -10,25 +11,33 @@ import com.netguru.multiplatform.charts.ChartDisplayAnimation import com.netguru.multiplatform.charts.common.AppTheme import com.netguru.multiplatform.charts.common.HOUR_IN_MS import com.netguru.multiplatform.charts.common.WindowSize +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.line.LineChart import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries -import com.netguru.multiplatform.charts.line.YAxisData +import com.netguru.multiplatform.charts.line.XAxisConfig +import com.netguru.multiplatform.charts.line.YAxisConfig import com.soywiz.klock.DateTime @Preview(showBackground = true, widthDp = 600) @Composable fun LineChartPreview() { AppTheme(windowSize = WindowSize.EXPANDED) { + val data = getLineChartSampleData() LineChart( - yAxisConfig = YAxisData( - lineChartData = getLineChartSampleData(), + data = data, + yAxisConfig = YAxisConfig( + scale = YAxisScaleDynamic( + chartData = data, + ) + ), + xAxisConfig = XAxisConfig( + maxVerticalLines = 10, ), modifier = Modifier .height(300.dp) .fillMaxWidth(), - maxVerticalLines = 10, displayAnimation = ChartDisplayAnimation.Disabled, ) } @@ -43,7 +52,6 @@ private fun getLineChartSampleData(): LineChartData { LineChartSeries( "Solar", lineColor = AppTheme.colors.yellow, - dashedLine = false, listOfPoints = listOf( LineChartPoint(0L * HOUR_IN_MS + startTime, 0f), LineChartPoint(1L * HOUR_IN_MS + startTime, 1f), @@ -58,7 +66,6 @@ private fun getLineChartSampleData(): LineChartData { LineChartSeries( "Grid", lineColor = AppTheme.colors.green, - dashedLine = false, listOfPoints = listOf( LineChartPoint(0L * HOUR_IN_MS + startTime, 3f), LineChartPoint(1L * HOUR_IN_MS + startTime, 2f), @@ -72,7 +79,6 @@ private fun getLineChartSampleData(): LineChartData { LineChartSeries( "Fossil", lineColor = AppTheme.colors.blue, - dashedLine = false, listOfPoints = listOf( LineChartPoint(0L * HOUR_IN_MS + startTime, 1f), LineChartPoint(1L * HOUR_IN_MS + startTime, 3f), @@ -85,5 +91,6 @@ private fun getLineChartSampleData(): LineChartData { return LineChartData( series = list, + dataUnit = null, ) } diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt index 3c1fcb4..9cfe160 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartScreen.kt @@ -17,6 +17,7 @@ import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText import com.netguru.multiplatform.charts.common.HorizontalDivider import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.line.LineChart import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint @@ -28,7 +29,6 @@ import com.netguru.multiplatform.charts.toRadians import com.netguru.multiplatform.charts.vertical import com.soywiz.klock.DateTime import com.soywiz.klock.TimeSpan -import kotlin.math.PI import kotlin.math.sin @Composable @@ -47,7 +47,7 @@ fun LineChartScreen() { listOfPoints = (1..20).map { point -> LineChartPoint( x = DateTime.now().minus(TimeSpan(point * 24 * 60 * 60 * 1000.0)).unixMillisLong, - y = (1..15).random().toFloat(), + y = (1..15).random().toFloat() - 5, ) }, pathEffect = PathEffect.dashPathEffect(floatArrayOf(15f, 10f), 0f).takeIf { seriesNumber == 2 } @@ -118,6 +118,13 @@ fun LineChartScreen() { // animation = ChartAnimation.Sequenced(), // drawPoints = true, // legendOptions = null, + yAxisConfig = YAxisConfig( + scale = YAxisScaleDynamic( + chartData = lineData, + maxNumberOfHorizontalLines = 5, + roundMarkersToMultiplicationOf = 2f, + ) + ) ) HorizontalDivider() @@ -151,26 +158,30 @@ fun LineChartScreen() { HorizontalDivider() TitleText(text = "Line chart with only one data point") + val data = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( + LineChartPoint( + x = DateTime.now().unixMillisLong, + y = 18f, + ), + ) + ), + ), + dataUnit = "unit", + ) LineChart( modifier = Modifier .height(300.dp), - data = LineChartData( - series = listOf( - LineChartSeries( - dataName = "data 1", - lineColor = Color(0xFFFFCC00), - listOfPoints = listOf( - LineChartPoint( - x = DateTime.now().unixMillisLong, - y = 18f, - ), - ) - ), - ), - dataUnit = "unit", - ), + data = data, yAxisConfig = YAxisConfig( - roundMinMaxClosestTo = 1f + scale = YAxisScaleDynamic( + chartData = data, + roundMarkersToMultiplicationOf = 1f, + ) ), xAxisConfig = XAxisConfig( markerLayout = { @@ -195,42 +206,33 @@ fun LineChartScreen() { ) TitleText(text = "Line chart with only two data points, both with the same value, and null between them") + val data1 = LineChartData( + series = listOf( + LineChartSeries( + dataName = "data 1", + lineColor = Color(0xFFFFCC00), + listOfPoints = listOf( + LineChartPoint(x = 1660600800000, y = 36.0f), + LineChartPoint(x = 1660687200000, y = null), + LineChartPoint(x = 1660773600000, y = 76.5f), + LineChartPoint(x = 1660860000000, y = 83.7f), + LineChartPoint(x = 1660946400000, y = null), + LineChartPoint(x = 1661032800000, y = null), + LineChartPoint(x = 1661119200000, y = 216.0f) + ) + ), + ), + dataUnit = "unit", + ) LineChart( modifier = Modifier .height(300.dp), - data = LineChartData( - series = listOf( - LineChartSeries( - dataName = "data 1", - lineColor = Color(0xFFFFCC00), - listOfPoints = listOf( -// LineChartPoint( -// x = DateTime.now().unixMillisLong, -// y = 18f, -// ), -// LineChartPoint( -// x = DateTime.now().unixMillisLong + 1 * 24 * 60 * 60 * 1000L, -// y = null, -// ), -// LineChartPoint( -// x = DateTime.now().unixMillisLong + 2 * 24 * 60 * 60 * 1000L, -// y = 18f, -// ), - - LineChartPoint(x = 1660600800000, y = 36.0f), - LineChartPoint(x = 1660687200000, y = null), - LineChartPoint(x = 1660773600000, y = 76.5f), - LineChartPoint(x = 1660860000000, y = 83.7f), - LineChartPoint(x = 1660946400000, y = null), - LineChartPoint(x = 1661032800000, y = null), - LineChartPoint(x = 1661119200000, y = 216.0f) - ) - ), - ), - dataUnit = "unit", - ), + data = data1, yAxisConfig = YAxisConfig( - roundMinMaxClosestTo = 1f, + scale = YAxisScaleDynamic( + chartData = data1, + roundMarkersToMultiplicationOf = 1f, + ) ), xAxisConfig = XAxisConfig( markerLayout = { @@ -272,7 +274,10 @@ fun LineChartScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Right, ), - roundMinMaxClosestTo = 0.1f, + scale = YAxisScaleDynamic( + chartData = lineDataWithLotsOfPoints, + roundMarkersToMultiplicationOf = 0.1f + ) ), xAxisConfig = XAxisConfig( markerLayout = { diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt index a9ee863..f373e13 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/LineChartWithTwoYAxisScreen.kt @@ -18,6 +18,7 @@ import com.netguru.multiplatform.charts.application.SpacedColumn import com.netguru.multiplatform.charts.application.TitleText import com.netguru.multiplatform.charts.common.HorizontalDivider import com.netguru.multiplatform.charts.grid.YAxisTitleData +import com.netguru.multiplatform.charts.grid.axisscale.y.YAxisScaleDynamic import com.netguru.multiplatform.charts.line.LineChartData import com.netguru.multiplatform.charts.line.LineChartPoint import com.netguru.multiplatform.charts.line.LineChartSeries @@ -139,9 +140,13 @@ fun LineChartWithTwoYAxisScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Left, ), - roundMinMaxClosestTo = 1f, + scale = YAxisScaleDynamic( + chartData = lineDataLeft, + roundMarkersToMultiplicationOf = null, + forceShowingValueZeroLine = false, + ), ), - rightYAxisData = lineDataRight, + rightYAxisData = null,//lineDataRight, rightYAxisConfig = YAxisConfig( markerLayout = { yAxisLabelRight(it.toString()) @@ -157,7 +162,11 @@ fun LineChartWithTwoYAxisScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Right, ), - roundMinMaxClosestTo = 0.1f, + scale = YAxisScaleDynamic( + chartData = lineDataRight, + roundMarkersToMultiplicationOf = 0.1f, + forceShowingValueZeroLine = false, + ), ), modifier = Modifier .height(300.dp), @@ -183,6 +192,7 @@ fun LineChartWithTwoYAxisScreen() { displayAnimation = ChartDisplayAnimation.Sequenced(), shouldDrawValueDots = true, legendConfig = null, + shouldInterpolateOverNullValues = false, ) HorizontalDivider() @@ -206,7 +216,10 @@ fun LineChartWithTwoYAxisScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Top, ), - roundMinMaxClosestTo = 1f, + scale = YAxisScaleDynamic( + chartData = lineDataLeft, + roundMarkersToMultiplicationOf = 1f, + ), ), rightYAxisData = lineDataRight, rightYAxisConfig = YAxisConfig( @@ -225,7 +238,10 @@ fun LineChartWithTwoYAxisScreen() { labelPosition = YAxisTitleData.LabelPosition.Top, // labelPosition = YAxisTitleData.LabelPosition.Right, ), - roundMinMaxClosestTo = 0.1f, + scale = YAxisScaleDynamic( + chartData = lineDataRight, + roundMarkersToMultiplicationOf = 0.1f, + ), ), modifier = Modifier .height(300.dp), @@ -276,7 +292,10 @@ fun LineChartWithTwoYAxisScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Right, ), - roundMinMaxClosestTo = 1f, + scale = YAxisScaleDynamic( + chartData = lineDataLeft, + roundMarkersToMultiplicationOf = 1f, + ), ), rightYAxisData = lineDataRight, rightYAxisConfig = YAxisConfig( @@ -294,7 +313,10 @@ fun LineChartWithTwoYAxisScreen() { }, labelPosition = YAxisTitleData.LabelPosition.Right, ), - roundMinMaxClosestTo = 1f, + scale = YAxisScaleDynamic( + chartData = lineDataRight, + roundMarkersToMultiplicationOf = 1f, + ), ), xAxisConfig = XAxisConfig( markerLayout = { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0119562..1852801 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] ## SDK Versions -compileSdk = "31" +compileSdk = "33" minSdk = "24" -targetSdk = "31" +targetSdk = "33" versionCode = "1" versionName = "0.1" applicationId = "com.netguru.multiplatform.charts" From a6630158147d13f93f13dd8d812125b8e40e8fcf Mon Sep 17 00:00:00 2001 From: Primoz Ivancic Date: Thu, 26 Jan 2023 10:27:58 +0100 Subject: [PATCH 8/8] - Fix (and add new) UI tests for Dial Chart, - deprecate PercentageDial --- .../netguru/multiplatform/charts/dial/Dial.kt | 59 ++- .../multiplatform/charts/dial/DialConfig.kt | 4 +- .../charts/dial/PercentageDial.kt | 4 + .../charts/dial/scale/ScaleConfig.kt | 17 +- ...oinJoined_roundCorners_customThickness.png | Bin 0 -> 24109 bytes ...inLabel_customizedLinearScaleWithLines.png | Bin 0 -> 83908 bytes ...mizedLinearScaleWithLinesWithoutLabels.png | Bin 0 -> 64124 bytes ...oinJoined_roundCorners_customThickness.png | Bin 0 -> 27327 bytes ...omizedLinearScaleWithDotsWithoutLabels.png | Bin 0 -> 107444 bytes ...ltMainLabel_defaultLinearScaleWithDots.png | Bin 0 -> 77703 bytes ...atorLine_nonLinearProgression_gradient.png | Bin 0 -> 73643 bytes ...nonLinearProgression_gradientWithStops.png | Bin 0 -> 75006 bytes ...oinJoined_roundCorners_customThickness.png | Bin 0 -> 28389 bytes ...ers_customMinMaxLabel_defaultMainLabel.png | Bin 0 -> 30811 bytes ...xLabel_defaultMainLabel_indicatorArrow.png | Bin 0 -> 31229 bytes ...ue50_joinJoined_roundCorners_defaultUI.png | Bin 0 -> 46706 bytes .../multiplatform/charts/dial/Arrow.kt | 81 +++++ .../charts/dial/DialChartTest.kt | 341 ++++++++++++++++++ .../multiplatform/charts/dial/DialTest.kt | 91 ----- .../charts/dial/PercentageDialTest.kt | 86 ----- .../application/screen/DialChartScreen.kt | 17 +- 21 files changed, 481 insertions(+), 219 deletions(-) create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_roundCorners_customThickness.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLines.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLinesWithoutLabels.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_roundCorners_customThickness.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithDotsWithoutLabels.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_defaultLinearScaleWithDots.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradient.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradientWithStops.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_roundCorners_customThickness.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinWithDegreeGap5_squareCorners_customMinMaxLabel_defaultMainLabel_indicatorArrow.png create mode 100644 example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_rangeMinus20To80_value50_joinJoined_roundCorners_defaultUI.png create mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/Arrow.kt create mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialChartTest.kt delete mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt delete mode 100644 example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt index a86bd86..36ed0c4 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/Dial.kt @@ -65,14 +65,14 @@ private const val CIRCLE_ANGLE = 360f @Composable fun Dial( value: Float, - minValue: Float, - maxValue: Float, + minValue: Float = 0f, + maxValue: Float = 100f, modifier: Modifier = Modifier, animation: ChartDisplayAnimation = ChartDisplayAnimation.Simple(), colors: DialChartColors = DialChartDefaults.dialChartColors(), config: DialConfig = DialConfig(), minAndMaxValueLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MinAndMaxValueLabel, - mainLabel: @Composable (value: Float) -> Unit = DialDefaults.MainLabel, + mainLabel: (@Composable (value: Float) -> Unit)? = DialDefaults.MainLabel, indicator: (@Composable () -> Unit)? = null, scaleConfig: ScaleConfig? = ScaleConfig.LinearProgressionConfig(), progression: Progression = Progression.Linear, @@ -189,19 +189,21 @@ fun Dial( } } ) { - Box( - modifier = Modifier - .layout { measurable, constraints -> - val placeable = measurable.measure(constraints) - layout(placeable.width, placeable.height) { - placeable.place( - x = maxWidth.roundToPx() / 2 - placeable.width / 2, - y = (maxHeight.roundToPx() / 2.5).roundToInt(), - ) + if (mainLabel != null) { + Box( + modifier = Modifier + .layout { measurable, constraints -> + val placeable = measurable.measure(constraints) + layout(placeable.width, placeable.height) { + placeable.place( + x = maxWidth.roundToPx() / 2 - placeable.width / 2, + y = (maxHeight.roundToPx() / 2.5).roundToInt(), + ) + } } - } - ) { - mainLabel(value) + ) { + mainLabel(value) + } } if (scaleConfig != null) { @@ -288,9 +290,21 @@ private fun DrawScope.drawProgressBar( if (value >= minValue) { when (progressBarColor) { is DialProgressColors.Gradient -> { + // we need to map those colors into range [0.5, 1.0] because drawing of the sweepGradient always starts + // at 3 o'clock and advances clockwise until it reaches 3 o'clock again. + // For the same reason, centre of the gradient is set to bottom edge. This might result in a weird color + // transition (not aligned with centre of the dial), but at least there is no jump of colors at + // 3 o'clock position. Trying to get sweepGradient to draw from [0.5, >1.0] does not work. It simply + // stops at 1.0 (100%) + val step = 0.5f / (progressBarColor.colors.size - 1) + val colorStops = progressBarColor.colors + .mapIndexed { index, color -> + val stop = 0.5f + (index * step) + stop to color + } drawArc( brush = Brush.sweepGradient( - colors = progressBarColor.colors, + colorStops = colorStops.toTypedArray(), center = Offset( x = size.width / 2, y = size.height, @@ -306,9 +320,20 @@ private fun DrawScope.drawProgressBar( } is DialProgressColors.GradientWithStops -> { + // we need to map those colors into range [0.5, 1.0] because drawing of the sweepGradient always starts + // at 3 o'clock and advances clockwise until it reaches 3 o'clock again. + // For the same reason, centre of the gradient is set to bottom edge. This might result in a weird color + // transition (not aligned with centre of the dial), but at least there is no jump of colors at + // 3 o'clock position. Trying to get sweepGradient to draw from [0.5, > 1.0] does not work. It simply + // stops at 1.0 (100%) + val mappedColorStops = progressBarColor + .colorStops + .map { + (it.first / 2f) + 0.5f to it.second + } drawArc( brush = Brush.sweepGradient( - colorStops = progressBarColor.colorStops.toTypedArray(), + colorStops = mappedColorStops.toTypedArray(), center = Offset( x = size.width / 2, y = size.height, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt index c60f48f..c8f13e3 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/DialConfig.kt @@ -27,7 +27,7 @@ data class DialConfig( val aspectRatio: Float = run { // diameter is equal to 1f since we are calculating aspect ratio // formulas can be found here: https://www.mathopenref.com/sagitta.html - val arcLength = (fullAngleInDegrees / 360f) * Math.PI + val arcLength = (fullAngleInDegrees / 360f) * Math.PI.toFloat() val halfChordLength = 0.5f * sin(arcLength) val sagitta = if (fullAngleInDegrees <= 180f) { 0.5f - sqrt(0.25f - halfChordLength.pow(2)) @@ -35,7 +35,7 @@ data class DialConfig( 0.5f + sqrt(0.25f - halfChordLength.pow(2)) } - 1f / sagitta.toFloat() + 1f / sagitta } } diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt index b4974ef..772570f 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/PercentageDial.kt @@ -12,6 +12,10 @@ import com.netguru.multiplatform.charts.line.Progression * * @see Dial */ +@Deprecated( + message = "The default Dial param values are the same as the ones for PercentageDial", + replaceWith = ReplaceWith("Dial(value = percentage, modifier = modifier, animation = animation, colors = colors, config = config, minAndMaxValueLabel = minAndMaxValueLabel, mainLabel = mainLabel, indicator = indicator)") +) @Composable fun PercentageDial( percentage: Float, diff --git a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt index bb67a5d..50caf6e 100644 --- a/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt +++ b/charts/src/commonMain/kotlin/com/netguru/multiplatform/charts/dial/scale/ScaleConfig.kt @@ -48,18 +48,7 @@ sealed class ScaleConfig( scaleLineLength: Dp = DialDefaults.SCALE_STROKE_LENGTH, scaleLabelLayout: (@Composable (Float) -> Unit)? = null, markType: MarkType = MarkType.Line, - ) : ScaleConfig(scalePadding, scaleLineWidth, scaleLineLength, scaleLabelLayout, markType) { - /** - * @param value Value that this point represents - * @param position position on the scale in "percentage" in range [0, 1] - * @param label to display next to the point - */ - data class ScalePoint( - val value: Float, - val position: Float, - val label: String, - ) - } + ) : ScaleConfig(scalePadding, scaleLineWidth, scaleLineLength, scaleLabelLayout, markType) fun calculateProgressionMarkersPositions( config: DialConfig, @@ -71,11 +60,11 @@ sealed class ScaleConfig( maxValue: Float, ): List { val scaleLineLength = - with(density) { (scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) } // todo remove this constant? + with(density) { (scaleLineLength.toPx() / center.x).coerceAtMost(MAX_LINE_LENGTH) } // todo remove this constant val scalePadding = with(density) { (config.thickness.toPx() + scalePadding.toPx()) / center.x } val startRadiusFactor = 1 - scalePadding - scaleLineLength val endRadiusFactor = startRadiusFactor + scaleLineLength - val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR // todo remove this constant? + val smallLineRadiusFactor = scaleLineLength * MINOR_SCALE_LENGTH_FACTOR // todo move this to params val scaleMultiplier = width / 2f return when (this) { diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_roundCorners_customThickness.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_roundCorners_customThickness.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4c4ef348788d356cafe8e4f11132603fd9c85f GIT binary patch literal 24109 zcmX_ocRZE<`~Q88y=Rgwl^Mz2<0PA;jEan`2yqA*M?z6XvO+c$p~#LCp<$C1IZ{?c zA(HXEZtu_U_eYP%yWX$+zF*@S&+B!S4hG2aorM@iADf^-q>4gm8u4j*d1w zb?Wvh9UXl$4mcbJ4A#8?hG$@cd4&M;GNd*d+oWu=0ifnjGpU!9Zf5;z5dTUoqYaWo|_e>DHyyLX+BQ6orr6oCvOxsHYZx}K1ms)7^3sPvWz zy;fFMR^P77$q~34AHQb~&j@Vw+=_@0SL#y{h>U9+swzjr9*QIT28bWurm@IvKPFAWR zNXls<2B}~V`B=(yf&Yff2^q2#H3p8)pFejMuH7*_d-g#=QPCqJPU9*y79pHxhHc(9 zh$htEqThM4DkJ+1u{*xyH&4rFgD>jnu;B|Dq(G1`K{)Qsdwk;8)dcFa@4tVqPfIrP z&^^r!hl}{z!_V*D$H=s_NwT6th?eLc*yg+Z^YcG#X_;DAr4pf)L+}mxX%*Z3b5n6` zf6zsA5MTaOq`z}5_I{1mq|Z1xwcXZw`6ShvPanf^H#fJJZUe{I0(z$~$O=0cCh^(a zhxgsxCTy;afvZtV#}JNBlapR$!lsYYym2^2OH%F>n1Z+tEZr*Q#S3XR*IMoSckj}~ zVC{5fW@glbHR{6ln!xZws8!bTcU=%>bvy z-CFRjO}cCRHyCIKjfLqcDM;nZI@x?K*ZppIXHp<5qA)GOA@U~^hj@8;j}3D2@)n99 z65pq%C1R!}5P~TfuqL73!rL-6O8vx~fhAHguu%~oUpc2dcKl*>nz*1~I2NOcfF}`< z{^8*b!NK0kWCZiM>&ma6m6RNnmNq*nBV#=B!gE47h77^n0)yc(YB*V?f+J&43q7f> zZeoTgej$-^20wjD7nhX$iF4`LTK^%+h$wP`Unt)5RD*p?92&9++}V<&z%cioK7G0~ z;q2?fLPEwax~ES^rB7fGZw^?7HvvMAo4b3GWw~v790M=J!OcoI<-pzTy1JIuR;SgO zuA)jIHMOh*RR{?IYqT@3H`9#Ia($A^e~6V9`I+(f@$QKNSy|aZJl=IAH#a&8T<#xg zHr(mi*$TW|Tvz8<*q6p348&2s-BLSWP9oWj)?Ux2QCSnA`{9Bis)J1sDeD^=jGyFI z%2l;-Atc_Qx2CfP=lwQ*+OYY5o0$QtRRIGZYP;cvREXG2Kg&Js>sxv6{(UoMWJTI? zIMdeN-riaBX%sKFyhn~AVyA`9RIq-m_rO(%I54V$T8(w2x7V%=Le%^B?-LsvRl$vm zVJHg>CAsA1=N}vFEopAfzJ(ANn!GfEH+wI^z@ic%6_tyJ4<8m`L^fGqcQ@a>eS3Sp zzxPajad9+^HD3So=TXVam;D}geHFOj?uCl82*C?XfDmtFY@ANB!*vx5w>@)-5>bp` z6!yF3&}YK9G}l{!Q&B~bCe+q!i@47`)(G?T44R#p5urvDGbzW`*VktZjErQpqHX*7 z`q-(E#yemJjYPS7KigstLPXTmLIgDDSLPNLuKLzlbT7zrSaf3vv%j(qAgX%Nx7Ba{ z>EywsXJr)%AOxoR`ufiEW@h%)6&|0fyYK-Bq8b6Ov(S&AXOLavG`M`3p8|tO7&L6J zxkTAMefsq5nKO3v%A7{DNC^&RC@!n2>QOJp#m(&$6!hp8gc{>n+4;hYR@I&pVv&)N zoeK!z0BX-py`q1QA3r|xJmX6O79r8pt8Y)WM*p7c6RPyIh={AIlBFd>K5D`%Jvq6# zWhS_k74bek58#cB+Lm`}UcE{O?|8#=`TfU_Nh>SfVE%>z@LC1l-sHPZmt!uz4p%65X4SSO-*fPD?r4}!$TqxgPApR%hn;pY$} zJYqQj!M4oJJyD9v>o9`=2KGSg(^&mE(ID*S=lAm3XL;Wj&K#Nouq`Clh=_<8%JRCp z(b5nKMBt2(iHU)+@qL=j)zwvFOI;%)`bZ4P3hbNbX-Ub)@m@cF|FiUnrshDMxw5Z8 zyvxkDZ)r-rG&D5ql!R&6JMV`nDI79pO*J*C4hXWsViR7bE4TjP-MbT7x&{Wc@G?&H zW!GDWMn+t3F<89DA{ABD)$+cDMMWRVY#Oc%6dAKq5SGCDE1svPr!$q z*PK3yBZzv=#DlS}T<-V&KgZo#;wmam(2^1RA>3G{Fw(zcN=plpGx$XP%pxo3rt91Lh$3t3AN%|CjlPgCk(NH<`Aw@)|7F8uh><;;E!P8InB&Mq)qW|Q>o+Z8r^L1Cd8 zI}!>uMV!T#MU@48nii?wI)ES}7rng7FEs^QpEWlxEG;#9@Zf<6Es`xnLP+NIEIL$o z7PuiWlO!f4CVsE>XndUM%5Yl#^7=tqnw}Z5Ne?HHJvTp}7!yM~|KmqKCxR$mx_Psq z4o~f-uYdP#M~68(Vyg>ZEuo~M>bg)D7snWbfixGmzK~p1Ri)?YSvFeF%EpE>LjoA! zW#ycQ4oT~pt+m4jlS}f7?f(95=yvt$gIl+-qp#dk0fC<7MEKAb<{vwDtaIhe>%=~8 zE(Ag36cmI_v(=LiO4+{qv-G*}$rHVnmKG6uBpw`+#4<22aMse&WvFR^fgXvTIB`45 z;LMo>aw@8fc>cXD-@V0wJzFx<*ZA1}j%NRzS<}6`&`bz|D+IFn;p(zGVUX9r$PGe6 z)nT{O{~a(u>|Swkadl?iha-%^SjlGIxpT++A1xD;!qT)wP~|hGQ!+9#VOvj9qe`-O zZ_w>SYkWFO3w9`HgW<-{acL=CMm|*$2u#Hyh{cT_91T)>E-b8h`&S2l|L4z!(g=TS zOw5D1Iah%8e%{$XvgdUzt#X_F-!d4wKB-gHYGq_lJ|--z@ei;(*~;$DTZr#n?a3kk z{-iHEA{BZ6C}56tYxfQP{9Y;H=!lgLj*c3)*~^e=-@QZP#aW_3bq&>Ln`c8LH+$_r zw6?a+^oKFp`Qc9lUc8vWe(+$%Umm3564=#v(d^gtMh|0Sh7L2rf!;v&F*lZj2RBj; z`Kz<~uT9C8d8WO6`<7x)A&CBTL>$x`8Wj9nKl=L2R(IHl{cG;;*I7}+0D6pP$Sue zOM}XvF2(21rCU3Z&pm8y`E)QV*05*0dBw%Lo|8@2Jj=off5SPst~yK9Dod{oZ<)C`BTYp%{AEH? z_0}yq3dCTppgG;B%)`uc-j`o%^c_4A&B*(ppx{UhmejN1`w$^^C@`Kse}0C6hO`!~ z%W(2RQqs|*N85r2HF41dtVI#8&X!WiaPefb27}sKfB1dEz}%&Z?6BQYywBo9!!XYw zas+@Yu__c&yAg!GuFqOTH$3ic6la;?SQqIh*HL&Mm`FRwp$&e`3OL9mPh#ChZL>YF|Tbi!(LAw14=8J?73hnd}UAN)u& z3=M7i>r(&qV)Jr?WC)u{D%GOV1O4KT<5DGE#o$o&?Q+i`>cgOj- z0s(1MC?MCgyKa2Ayrg9MIq%{IPF(gJgt0De<=3*kcAk_KK4bmmg1NS1U(02Y8-4+< zbGbHrrKOQJRj*#X2hZy=80A&*Uy;F5SKZVxK*-}1yuPGOiwFq`v6KDT6g4;RS0THTiKd0dpml>dehtqkJu>Qq zo4N*w;^f*|)wy%$DtIYUiX$}SdV5dca11+g;gqDk@{jRUX$w3|mLs_bbuZYR=W5?s z8!$b4?%WZ`6Wgj#(qgDc-cTtNx#KLUu@?CX8QGLv9txOJ#RJJ!`-`#$o*aYm5?nT1Tm6H~@umH4BvS-jV(IrOzs6qeY8XQ;HLprCM; zd)~e1O~I$!5%HI|;?|otT1sKNjUJOt6P>dp7bcQXuoD^MsbR{}Q^VDsV^!}xuJy(P zR%WO07U7+n8*{C4AC{Eq+?xK&TmOP$K)Eu@#3Rct(D;j!!aVA=ZbSGki}>MS%qM| zJjqb`cGoM`v!6d=h@aQeK38A++*#Bqv?W`NeBaM5B z8KJ{a*~#Fq5f9>%OCBcbOq!`v}2_v6YUgP)$}me^p3lG@tZM}&l0F9mt% z;21+VKh-SrIEEKPy>fbYy*%uFI2qLu1%=dG2nQr;tF-Db3#AP32K}HSMerYTZe>|^ zWYMHX@!IIiwoB&b=D!y{iOUo}D=&}#YWJxs*5b0PTY&#uuOJN*Q?Up^2T}${p%*=1 z9w!fvdk%J=)|`#Jw&ey#pc)*#gGEdV+|}vm=(^-&Wv|>~oJe@nV_s?jbzWo0KMRvg zML~$~?Bo>!aEK07?l_lgjRC)IIoSD4lE4msRP$-{eJb0EVneX{+S<1u$$xmPcC#~< zj6nsjDcY+4;w;xgo5ldMnAq5^Haaq*!$$K%q=K{f|NcHnn4L^K&r1|Q zcNdpVHzgVIutIZguCrBvt#aeV2*#zw-f0P<&)VAByLgRV*BPI=SPFz=lh2d}+3U|J znGF4RU(3}>erc#z@;<<$RSQ<6LKUhK2q9O>zI?G|^PeM}V>OvRgSotJm9%w`E&=D#DjvrL#QmO z^u^;Jwh+l}(GdPHIXQj$**;OQf>alf9LI8V$#6H8#+;ND5Cjw2%F87Nkx%AFb4EtS z_r82xG<4h7hCM_}i1~SGGWXG!*Z|VM<3|yTXdzMWKJKLP@k;|Q-jL2f0gpGgFfoa% z!wWp6O6G^& zef%i1)D9(Eil=Sgr`(%=7NuMD{6yv#7bPNTPJrJ#CwttuQS&#r_wR9Jyu*^df?k=~ zsFfkBA)J_$ndxEi+S%C|DsO`2+xGSkyF34!HhxYx2h^3Ne@YdnmVmV9v%4KAlZw+2 zMrt9)c$))sPp^6N`5`f1+}6+gNm($Iy$A7a9^im~|E_**qZ|12hAxGeCpCnZ?0^VV zM}-+bMa0zRmX(=Yy?RyT6roS>@)pPa^W_NAJW(1Q^(c^Dd09V#@wISzT3XHtj5gKi z<)+|K9-ICOIwI?&j3}m}qOML!R7xrpIDi-yO{gCWs;UO@o>0$HD6i_{7_;^YaNT~Z zv=_&*5#8UPl$FVI-)P$WN;l(!#F9$LtcZXGFTD;r4|qXW8he|O>65~dPB3h%KQlWT zOf_4_E<>rKgg2q;a3PB*W8K|o-n%yAgO--eB;QFPQOt^Ez2Ntn$aP#9dQrxTkxqK zg{uw1nZ}br^W0Le4-H-hp8m$z{eW-pSlGsY?9i{aW|mi1TLc9KeS3SCZM+BB13dn2 z@930*=Xe5I4^P=C=RD8J(L_@Ww-iwQr(I;`$h@E!9B&T0Y}*`aY{p}>7a9h^K*5fFe1%A#rex8Z73GjNQ-w`Jxp z!6vRPUsQO53BN}m!x#@=n?KZ!7OzuhAYi?`v20r@NP!SElO8-cJlmZmWAluOPt{H( z6K8B<@&TQOe2*X`jsAgwu219R9#M%4 z7sC`kj*n+vYVbFPGS@Zk8#Ww>NQ|yIqMi^jB$zrHz4Znc$1MJ-FtLoK3gw6-xBmI{=9%+v`pGqbZ7E{FvN2C|a@ z%{S-q?AqsQec<$zs(%AxVDVA8bD-GN>B^P2Jl4Qd&<`Kzzb~$QrwWZgDZKpr#UhM-z{}g;mmnKvp{7 zu5L!xe~e2&)b6E;mrk)L3;$1;_X5p7ZeHGGu+9t<#t(9+-t+t13Lls>wgq|~t0j$%U6@H%(gbdSrj(Ii z-6QH1nF*vP-M&8!A5*0aQ7B!Zq!#xQI7(4T$r(jj1fWZLsf_a4RBdi{w%r$SMdO-eywxHS3svu6*0 zQ98q%(SPvvLCH%ANy4TE7cOv7gg=MphrToh3PA@%E<(rNRJqaUv(2lUWI(AIT3My> zDC6IC&Wb=>1STZL0jI3`2eO0niYt%=6yew4>1w>xzvbpVPm7k8P<+#AYwPqYSFW6) zM-UH5Il1$@zv9F6fRt4Y**Z5fJ1ZK~H8(km;&RI>#$<{`aHi@47xi`S6B?>Zy2FWJ z{#}c9v*P1Up4sqp4gmty!I~9U-!o`6{7!Sv;pNkTA4;ck_cKMOxqzagmH+aWpI8vK~hT8J5xN@vcB4Fg|#ce$IH` z)1we^YJLns1ia_BkMmvtqS(#Z7k}f1IXidX0b;$=e(Af+T5Yu&7y?;}oVvOs zn4&ma?X}Z4iUBTOMyW(#BsXK9U#u}e3)xVk=&}&tupgBzm=~L{_z+)GE86L!@dZ%9 zA#Uz`PI;CC2b?Y(9O&;ypR{`De-r8oi$@t5UCe)>Qx@Yu2DQD<`oei709t5wf!T@? zLnWbG?BPD!J~+tUR&f^sx{SSws%j?e6jC#vav(&>XZed7@S%AE@;NpNC^0VM(tW~( zA*I#jh{X4<425F{oLj2ZfF}I_$jUfF6x_$))TvWxl4p3egZ}-wX6rNh?Xk`5w~)Wz zQ+W)dfQ2TWL>UCG(vl~3AzSU=NpB)%ipU{(zXHPUTQq-Y0@R}wZf%sn35lclE_nTu z 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≦yxrwyeiDb!6#-{xCN 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 literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLinesWithoutLabels.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLinesWithoutLabels.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca542d1a4e71e49e29156213199d04a774b2357 GIT binary patch literal 64124 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 byqfrnx8Ro6IqE?-ib$KTrlAHj84CG7_AQ1~ literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_roundCorners_customThickness.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_roundCorners_customThickness.png new file mode 100644 index 0000000000000000000000000000000000000000..07303bc44b7e20fc714b319e44c7b9a087abb7f0 GIT binary patch literal 27327 zcmX6_WmuF=7k(%a6i^B25NQzUl2k&vQ$Sj}K^jFsKpLb&nx(rWq#I#bx+JBg8@}21 zDB~f>D(LMSarKWg zJM&oegKJkk2O~RNJw(rRnRaJno=M8e#N?<;G*$0kwfvowVq$w%9b)=`t@=sm6WK83 zO0xks^Nfp;BZ}KX^-3Dj_Tf+J7R;n)Uq5 zDe*-yA?RYH?+FA&2^BlEe<9E-Rj`h~_S9eA);JKwAYOO8Io!D=r&YHpExDtDpWV66 zmUn!iYGLLj)Tk*ue8HP6>rwoU>tIoXo)`t9PI%-1LCV9+AwD z`vbC{0V#hAgTi3Xs`&OWrn@e0 zDNVYbd8Jt(MT`oGdC)FF5Vb<_lJVL^=JNipuFEwJmT~I(UPYtU>h%rn<(W@p%#rFo z>`k!A3d;?_ke=ozk*=|k2>itqe{=}Sd5QuKYW66Sj`vq<=kaW$<4rAfo`xu0i$T=+ zWly3edxVY;bJU$YdrZ7&=aYns7ngOSe9|VhK@{}p97esvu63^_-clx@fRDUxLxI}- zUea{W(D{8KZnecXF4iHhO1440qpuezHCs$(sht<)yAg4_wfXW;MzR+%l^oBhVh}|W z;x2pHB*AC5(s=_D>NWW}gaRE(@KfJhx*kWqG_jMH!`FImlG-IM&LM14Y`_s>eVQoh zyXWw>X{V0v{AE0)9;N%jter*xu%+$$z=ImXRhl$=J+~I?T5PucI6)uJO*@`S!=2#-f>w!;yPlZ+Nne_gCt2el#W{HH zK_5>d21{JvYV{_mDz()pu!D<83sozrc`Z8?3`gU7dO=VnDY$3qqQvMT@FT=CwImMO z3z?CJ)JO8={1)EN9c>#dUF5uY9SRmW`hI5{s09;#2D@cL?sl#Jn~8q)T4D$mxBT5h zd?%>)#kxm>gXehT@yA1pJjcSqy(!%_6>C4C2N)0|A38bY|Ba(ZmPk=4h$O64M#N5c zNClr-tK^!)Tt5Tnt#9jY1(Dijh1Tnc8VKSH_D6%Fc-L+2A~U2;=7U4F1HOLuR-jd; z&amCr4#N_t)%0*E#(<&}k>8CAku=jV^F9+-U-V04HQT7iQm!97TI9aZJ2_#(W-c)x zUP3PT?@j)x@B~dlf-5SNa}OLlQ+}}bE&hkZ?O>&BY@4NCEPuaR7lXmZg?;?mb{yxp zwKjYT!Gd_TCMsDxJVp~?)A_Ob^;W94L8MfYHAWbp?)i^lVdh-KW>1_LU9viXzft9I&FnjuSm#E=*tQ#+ui; z)#wZzxe!W}ey#8@=OK|}DhBiqsc7X)d8T@v;e*}P`;*EX)~M8V1|8rhsv9y*xS~Ua z_wt1_swfc@kn&fsZl?eBD;9GN%f$C4eOeq{Oyf`#1JTGgy3#1A#mB0*JKc_->Hc59%ez|CKq6b6ttIM=>i|h$HJ{;4L?_+PZdR62g*$g%=3I3ceeEakVwBvc9B85v# zKo^StD`e2{psr^soi@o%7I>9qzZl6#YOVk+mGPE_ZpS`tpU|j|RR~VqDMyVA&=VpN ze*k&-gH@c=pEGVx^$qepOXi}q&gdY^&XjsL)3DK z=ELxyppv2)N?sn3$=tm8G+0Gs8c-3dIQadV%`Us6j|i(xAgSEO6R`J*Ry+0(>*Wrb zZ5X_l+{h6&s-sA#kz0%g_2UCej0*^F?KZX4=q1~I$#hB1)(~$M@<=^RYSH#Ss9R`I$V}p7wue3Hqod(Q~8V8k3 zfvfQ=p$+TRcU2sSQJtkF((*WsCcJ?q=SG*`#YHQDG<7d3AJqta8X2Z?evf%@`21!U znBl2U8ZCwVb3QJ!{kg)+p5WQBN+Hcy89zv9Qoj<*D~H5jAfJkn1m0BUWqKb7qgZ_6K`)j?#@vJ%`AxM&Y@%f@6sUP=6>msH`PIiNoigi#FUaq_;KQ3I`JFV@rHe zQ`+A&z8sJ#+k@gA6?Q1bnj*ird=Sb{K6Bah z$0x6hc7@t-fxr4wl06D>7iOi& z2trG(VB2l2bEd;28O0NccfR9Rk1!#zylaqqAM@Sgxh&0$*jiQ%GkCG7-QK4RuFp)^z$**L#g6r3&YGYPjPTm;MLy%A~_N!=&ny)@+v-rL5WPzyp zYz*)xy&?mPi+uICtR`%QQN?J$5tXAPy2g4&0(mY9AN43hkbvz%=ZED(>&bv!E1zt= z@L`w!VSN#Q)J{1n|IfxE2g%2#Q`mf=ehgC}aYdRfb{?xn`ghM+sugX|S-E|ZdqK60 zn&|+J#(3Y_FJyaO`t^ikoP$3y%^i3x#MCd;^A;T71-W>$Cq%TicO~jT7@z#nK+YBs zHJ@Md5#Tfq_rZWNm2Gq>ChM;xJogXEll51}LniArT=_oZLKnca#SAWQI|>$jSaa+b z84w`t*DkHs(~FW!NZ)h_ZrLQv%&m^SxSG}>hCDzj5?gqgZD0`@p)IXKG-CP;RKByJ zLAjQ%JCbjmw1d-^t3O9Hh9~_*rS=26?u{g??Hro9iVUtfl>UqZLAT)-VoTeOkGE&e zw1dHiCw`S+2|}wPK*Ito^-SsHCo}BDCj&`eLE-lH=G>Co@uFsy#*O9ghmS#OZk6Cy zz(mD{r|X$LzMrpbbR3o;HJ4fZeK_25$-}&}SihvyxzG|X;hn(*hL|1A5){QXSTGrK z_dv%YnB)W-65A>jVVs=a(A4}K%Uu^H;dnspj@+!L+(sAouWz0dges{-WWb)& z3cr&(Ysu`35NQ@!zZ2we^k9DC0`=N~P*yq7Pi0K%At&R!5K&GHinD;Wp!)9lr(?l4 z9h#95Lp=z?|2A0wc1ul$yp0q-44y)JnO!^g?ZhMf%Bol> z%Iu>KY7`G|S-ABz8jTO|)#yjtD3Dk!2bIK6PY>mNVM@)brg|Q1_4FNRMi**TW@H?<;U^Bs^X=Z%p>FEvM^T@Gv0iMb<=8jeYtq!JIU;e9=|S zT{LjPrXX7Qf79lsg&9qvpB%9wP2q5U?%?rI$|IGIVMW*a$r945M=p?zDEOphjkm8n ztv#;Qf{+Rk8sv}qBvOtmSo(NP?=jEr`WTaYLk+x?m*}3@4A6i~7$VGs)Y+o9u_6R+ z4u1WaFib}6ULem6qCBFhGdI@WwP<-5odN=mg(fCzd(Bo_w~wd8$2s~EC>M%(CcYWq zYotIypfXVO&dR4*ZlNFfW2B|ao=^7h{P__j;>lZ#^tr?ECYeehn@WZ~a`KRYb(vR! zwXX#6MU`G9i(Va>9B!<)@_n-4HWuj%xA&NHk{lXYnf1Qu$-v-KyTw?gJ(^3O63S6Z z$17S1u;Xd^-IWE&V1d(`olZxUOD#MZTj#Nn^0!$ne6KdDsH(z~!kk!SwR{EZD+_}$ zU-&FO@QL-okAm-1Hc^Cj;M$8g**y3GvbrESmDIHz@L@Ljl`2!;%~ zEpr&c*bWr}w|KWP$=d{50zn=0YNsy{c?)+hS9rYf7}n7<(JOm#TFJS&^3cy z6?9#sP_&|nHoD0kOql-x?c9&Pck1N5*P$TeMZKO+leb1eds~LUyGmXQo^74Qo6V8I z?XBc4jv~xol^%W4&d8=gAqE9|-ks`=>%LK!l}Dgl{@hw^`y1$-0jQ{UAWkhMx@=_+ zM~C+PCkZq9kR7*j{hGQUV!ak#9N|xum2|%0wVGGt6St8WDX>VwMSFa2@7VfvshZQL z29YWs2ao>Th!_ohWHSzr7ruOza59JD-wLwlKR%Evt$G8+x7SG-3Cv}sOVDCax=S&I ziXU~To2t*JHGMEmFT8x&>bE}goy5mFkaF=_W!I>M7vUz>!lf1-^p0R01k0_N#Uf!c z2OEsG4A51a`kfkX}t`Z1kE&spLoNd+|8*ZW`%Fi4H~=_BZjnEMfVfQ<)#eTRv=d&{Y?uD-DF3 zT-u_@fexe$GG$n*~Ld z#j>ogJ@ff@Zwh$(rXK9olgSx6^+TGoL_Di>{?W3I86j6qsz})G+j1O&XQ;TDZO?_G zgSji*6RW0s1?YcIZ4ft|V9npMk_N@+JY-GtRqScdVXo2vSvLd4cpWR_+DuIU43 z?n(I&F5#YGzdmb<9@MCwv+v-G8G|_MWRv%JRy1I|QNl4BH?g0B1l%f>)Pm86k+g$u)Q@-4kNGX!1&G2qbHP}md;;{^L0a8xyYjs=d zl*EdX6FnjIJJbA=zlAauUetz3K@k&)>z#;GO&!_~3U~SYB44#NCdng zgHAwl)PFfu_qg`g%sdRc5wRYJ)M@#*|b{ zoHHYaYHr3zKkdn){X4=*_u1op?K2ijOwN(xaF1*BR!}Lb<_FIoYA!2a_dZ1@7fXLR zziYT9j=0w!EMV@`cA!WxHvHrDtUw9VL+GDYyw%kBU)Frrq+1HPjqc;Mg0C&I?*>|o z+Mjavs6X)$q%Ib)mma^7EW@>uyU*`W{&ebtr|lPR+YgCdVp1BjaPvTtlUYGm zF}b`nh_PWFw}RnC-OS?J1T2sP6th`nQqm_!gN)KTQIEG1dQQ}ZS|bE!3t#vMGs9%X z@K!m&v4fLf;lG}u7xP(A&+kNluK%?nZ-QDAr96WtRH$ZR-=w?vSMgn+LjGp#duAab z`EX_;GoL7fj8@8uy(0PE(SHwXWyDICrys0RtJQE^H%5t&Ng(cx4IB@@j8&8uXlVFT zRL_-RgCZm9Jh*#4pg&P#>H4m!M~d6arE_cXmpW0-K=tN~F)$GNQejMlfEfxkqE;2?aA^p5vgM)UZl)?&UfCbB^V|vr=LM zSJ6+MAjFkf{P}cL%U<#c*;oP3+lMlQM_1g(%bDgsNmU{fe!?2bj6|azAipODPS?ea zJ+E76B-Ml}R_fr9+o9yDtHqsqJ?=B}`|El$enktW>L1_;jc31&T|LIKvzsbiQ7b7% zRH?%-_qXE;1_7>%U^^H=js(%$7=tpeyszsN@<D(`EMF&>3A>S-n#NrZ#Ix^`GW550#?ATxUD z65P>;hnd9f`k#urv^|S9gz(|wIk|vN#@b(oI_3dI5^fb1CL9tKlxHHCP{K-HST{kE@GGN z;F{7znfAAMraU}2gy5pMxm=U8D^}*zRBKjC6FfCeI4OJ%WtzgqYYT^l?6!5UCC9M^ z&2b~O!(~5F{4u1O^mj&0K8ujE5M7II`pScXghG@fKuCu@ZMvuaGlGn1r+&+88nGjh zuTi1mXaNH-4dE8IleX4I&#PpfXIXd|Se6I!BHnEg9Pwfg^4_=}SR3q4`ztPpc>pE# ze-el}oUj#F@QtBmn&QX{(YdKrq;Rj0!>n`cl`2JnHX8)obrTA=&i^Hq^9a*E zF}D4;51N)uzaFBZn|ZsMmeCEW#RA~L&!W|-`2|Q#{f1j^W?H3 z7R1@7?vg4x^@EEtL=QeB;wxf9!G>}BmYX%ag%+TYS&i?%P72<`pmqjE{*Y5zbx=UT z*#Q5XA#e5$V4#}z;UI94h+{%)#i|M^JWr~J6zl-*1fGJknrK3R8 z_H~zTX=gvB({48=;yxMqT)%r`?YrJg>1Pqack}OUCCcVr@R&b=41-ppVBUl}FWGl2=;N^&x;a`g(At#t=w7<6uTb*rztv!fVg|_xJCTXW zeu2EYu@Eg!V&xyMVw!i+ENl+o8N3Nfg13jOamDOG(#LzWG;CMjWk)2QD$Mb=_-ZIW zuz2IT;A|iuT#Tix3BE((_#ETz?sIZIhd^VIoUL7!BO|o5KbTY8y}@5%y?6d~!GpUv zLnNEV@<+;n)f>4DqU}Qt5smrq7ILwqy&fIZ%wzr-)DEq#ypqjF9q8ZmMf!gLgxPb$k7oORn80Oddle`ym8uVm;2qy${{NA# z6s6WvU$*qV=s1a*ffl!##^K!T5$C>5b78tidh zCX>@Oy|+?-`tU&aMi2BppkPEtk}d5xaCfx8{NZS~G?xH9X&0A%sb2uR!-4G@!F7CI z39c#DX)sxJ584?F_(=b_uyT0=%JA*b3K5Oj*c9CN(%^1|{sPzs=M{TfJ`+aow~sv8 z21C7CfZh1@Ez#C5frMjwEbh}|g)RKC#$0rYz)txYknmslbPNdJFAo47O!4yeQ`AC> z=$oT5RJDEL;1ed&Yy$xLcB%c!!!MOR^}2Ks)5iAh!a4chD)-kTBLDvA=FsPuC?fSz)5o^KL%}SkFqi1(%D<>N z;Ikvf7DvnjL(kV!XlgPAO&}D7_A}mg%OPV{u!ZyXSCp$a-4kQ|!+C%?dH!Q;eL=oF zO0zrFkK)%=g?j$LnS3pG55?{YwixJeYa04WR=kkt6D8z7r{=h^Ivzj4*T{3a7nRrg zq*f~YnI8skCjxY$GxL9HU%(VUi2^J@FY#WM$=<`wG-(;$!!*!fF&OMt3c^#$P@rB{ zp$8jjiM13~MCvCzJhIySnF!#H@w$CS``D4eR{Q-tUwz?U`2cIR zM|fnq{x#kad<6eJk$>wfu!`l^WrXM*vE1o!^>uMa+t@B|k>|Ba@h* zJ&fHP7;So6QA)fGH^8wJ32m2Z`}Fw~UR~fCjrFgrFvZj78SIY~d=C88|)X!iT8K&(cAb&I}%Tq5cVMGl!a{edQ zluJeJ*QaZhGsfUXyyJq2+v8~f!&bYAj+dt7pC4arKen#kxm=rLUkl5ypkpXb1}$n|2!|9X_%~_Ym?|7ud4N$K78V|FS@%utlc&yf=9@ zpr*C+~!e9|kfxm&xsSA>i;=nyqx zPIAohtO>D$njd8NbS(AYTgm|D?TMrCXn)xerWc|dUr%h6-M1+^Ves#yxG-w6Kq}vw zcLiwL8e9LW40*e-0LxFo5I1-R zj)QfTYccX~d-hBqHU`ga24Nm9Aap2iPzpfPYBXIzmyy(G3VTl{&M{vfa}7A=wR?>3 z(g4iHjwi9k*%-qkhyv{}G->Tty~&@*PrN?*h+WZc^GngZm3z}Ha{>n7mOIEF+q#y> zNoQ=^rR0(-+ozu6Ik^vQ=KW1!Xi{+hqGLDyn!pMI8a)rS9}{}cJ5RylgF*`gnT#$5yo1|PoNDl`0N@$3VGB2P3V z#}DvAMDf`1#!LL2iQ9HzoflyErD&1KcYCqY67T7QaapHg|;z2A(aktoOEJ#>oM zEOT66v7_+BW`7Mn&O{&t}(ymF2jdQtPUJr_>-&w(5R@V?83eWbe!e_0a@1Vu9m7ag;|hk>xBUcg`K z=3cM!aFrYtcQrMn`8BDt``5r;al~2Wc9xbf%!^<{2n1CvFP`e{VI9fjbBEr>g4!YB zmAwZ{L>MOB7|D?Z2NPOI8-rtY$`e)^l2Vo^(`YUx0_8o;0FEYCf z|4AjvfrezW{fEKsWU9M3ASq0x+86(QQbOYNhwD+-+aydWEb@e|&xwD74$jO1GlaFf zjG=M@q}mgKzB0l^XLGIu?%lnyB&GVbk~fHZ5Om%Ix@H#{y?lTpW=ik{4^rZfR#~8r zJAawnsz5cRMa4DE)e!AEe#6o_aU)xq!NR<648I6y7W{_}I zp1vTwsD5Jr19aTSE|{$^sMca*7qWXL(8+rR<;;7=>q-n$CjUt#upp^b9RN4Xgup=E zP`)x47aySL@?nZc+~-zsXw~`G^;;ET*HA;Ph!YM9JRJb(=&XUpd25j)bIH6t{GD=P zkitBsr$#G|28g(sE}^iQ;(On51SOHZdFZ4gRpKtP2X3*wZgfi3TIly~3)~TJ`&4{z z6RdJ#y|4AWQ+E~hC}d#z<`qmioR0@gO1TARY^l#n;o|T!WMZgo4n^MX_Kw?2 zv8kT7#r_l5gKwH`YIkN6DQ*AMeP)8YP%X+6(rX5n)962 zf|?Q(CK+j6V0DtU!VhYZ;sz8>PH$ebV=>o<+{>A^I(dfgM6lg><}=gq;w+qz3atOM z)tgXlkr$;soOSZw!+a3r9e_BDNwh%xQXKZryoTwlU@5H)f^7@;NyiA znyx;9%Kp%O<1P41**3#P@o1}9<0A)ZTlxBfzXxB)rhC8n@T?dL#GnF7Fi_Z04}KtC zcWS@)J4_!9)I(msZH!^om$f*5XWV@zni->TckH5wtbG-O$jCJRb;sBas>HE$dzL5( zf@2;Ii8Bbe^b9@|_JJ7=wB*Lorm!YI)&Px=zVIkRe#(j17TEV1SXui)d$^6u;Kd79 z4**mE?Y08&F;6d_5XqdjkPgMg+Z?Xss|Zg{ml@FdXd-Z;WUpmuawpir_5K8Tyg6Nx z0mL^W_lpddO@}i26P)c5y?{_jomd+Vdt-HW7cA{N5#G?yXo(%SC{A!jkREp$ci8?@ zY`e=c&kKaWSgC~&X0->-S>d!X7=XBENURKOdHSzVC;=$;WD{2y>E~Yds6`3mTJMib zmU;fCAnarkTI)-vSMXnDh8qs8$!q}5dpnnZ55Q=6VV~lF0VE|cG3EVW{3GQiaKT%r z*c`kEk~bs;+KWartLS@%kA4q6K3?l3Qo9$lR`kr(GcgLyOuFq8Cl*Mbpn9-=&RQ8z zIPv!&Mhi#i;20Ta;p+?)!Muo)ljK0;Y)qEX#B;KrcW<;8LV0VN0`NAJL0>HAKNk8W zCtnHY!!#c_ZWcgPNmy2!6({8Edeg!#Zz8%w~10jO0s4@=R>1WV6FzHH;B-3 zLA9%J!RBw}=DYPSom`H$6WA}>UXVR(qW_>V z&D|6gg_ipo$a>HoEOTwx4!g$G(Mk*%FmQOAv4w>1b&aptdAzYqI#XL~A8cwUV8 zyFMga>roHI+aijBuOR;9SL#b*WsI<*$Qn=dewA7vH>Igu9Xh|J;l>B`noMB#hM>k( z+iGn;apBVbs+pi&Y!~U()J<9+_^ADLnM*2#-Fi8{+3Gx zIG*}+)hGSB5k^&H|9+9&LcZ1~U(ccN-actrtpu%pqbq`DsSTGSR&}s5j@Xv3Kh2Wf zsy!Um2=Kg|jE2cZ?`oxvQrxYTjZI;#bYSY+eQv(<$017T*k8!c-OnQ1wUI|9Lwc_8Jx|y1=~wzd<(xy_z3R;o`s^q7870bYoVff{)ys|_ z!e$|0*M6N5ShIwYZ-HNZICz>W#Hy5+^Z@`zGx=C5AOnhdaHws=_SWHC`54t6Y`NrX zYhYFf3>2xQq|CG4s|A?K>`A|w_>f0RMAlm2#I2h(H_^}=uxkI}g0zs!fQ1OM$f#+3 zK>$S%ia{R)vih8*JF=yyPhU3k$m}ND6Sv=iGd%K7h36|UqJ4Lrn9;i+^n;D z;Q5zeq9MXDA%W)Uy=r)=$gVrN#_%~8&~smL^kaZVc1px$({BhMZ2c##Y``V?@2G+@ zfX`by=jjLzfJM|_B?N!a-tzMltCK${oIsi5Ucm#}_FMELMzkHFvc3`ER47*5A4-w{ zvNr37vcikUTSFhSC8^p3s=tKbH_%-yC zIbk3rTffnvKubEk5B?Zf*CcoAcy5|ojgGWtJHcyTg;YoqaqJ>k(PBL`zz)~dc zQhjLMA=@7AmReq{i#2#!Z(&$KdhDhQCSBx~b9bZbK?B8cv ztm1z-v5wSsQFUvgaDT7;((B7(>G7yhQfm}NR{V|4r1T8MuRJOZfdSnL!U5o0Y~?jG zekpZ1O~{EFfl8?Kb6o_)>n_7LI^Ud>3-c5vf3AR;=E7_s-uu)%z-K@`k@JZy~ zr`W6G>f`pLm|}ZhaIV@oyZe^Hqlm%D~V5*`)%&dbGM-*K$-G z1FRTWdSpVWQEUfKYqaIokcg7CFraWGp#aSl;Uq)TWFVhow*5zUcr^OKL0YH@Ss;>2NKsh08er9 z$Vp(w(KS(s_RYim15h*9Ni9iG0Ow_2e525&%r5+}-rzlEW`F6T%(89=?)&{!@~K0g zTAz7%bU4R*I@$^L$nAz<6#c7oB{w_75fO@XdKOaX=NJOt8|MD7ED{B3kcOe`=}IQ#a$}0`bgpqN zL?hi87@BJ#c<#E9AbF_qWAlT-?g$VPM+$k=ej&rGqX)P*BsRS>-BwB_db(Nh-PhLO zb#JsCaPAX{1piXf{n&7ci0kR>3iOMPSK^k;$pQ&K|Iqy>)juxsyHqdl`DDW zdarBz!g%s~z`DY>tpHzcLIpmxWY83553gH-6zqSf(OU8v0Hj+NTxg*^Kro~y_h}=# z%k0Aps~rXS=(~<#wjShwYvvwO7T+%Q>}T+QOX{rrQ%l?8_-&0t^3_>Y*miK06z+0d zOCss?w1TqX%e)?L#aL$*vYghca+x8uQA)EalW)l`t$w%qmDJ66HkIW( zq5m-$5VYE9u2xX2tGarOv~%h!B&43lh;A16jGU|c00<5`6P-IKs-B%fd?Vx z5+v{2!`Bm@{3pPd>Xbi=Eg-Tr0)4LD?c(h$;YH!|*{Pyueb)5YVbved`Zab;K73<0 z>tg>I!#j9xS&v{Trx`VH2~g=H0LnIzjxrtYPdhO5ktb`~gxD=jF?_`F&={F^Q;|HB zhUH6V^s68j4wN1+1Fv3J5zy5OM#*$+hDJD=Jq2iu;FfnQ6fRPrZWUAHQiIruw=@7O zu~YGdeDnPbMq)Oz`^bx!I?fw@Kv_$F52Z6mNEf2b1aAwXUm&?JP?uEVw}bnn?n&~R zkqh!bw8k19(Q|rmP)yvA)+I+6Tnkb~nS*e`YDS;OdXZe3wW(^0mr|PaH#Q%26AW8I zhXKMBP1^!<`O+Z#GNbYn)K(A>hq0fSAKXJ)iOv>LE9`y%c2`7TT|eRsC6T9bbHPV}VsEcd*~b@y0PIFDGz-MW1H@ za1uwx=s-W$>W&sErRjeW9X;n7KO@2=VHkW2r#AYi$ksuFCt&B7sPuP|ap6oHmXD8R zF}dm*H|}R_ac6A;T|tL>fXvqC=q_T=y(rL=w0mwVF5gkcpsSF; z%h%vKc)^Vd6f0&Vkd+OGaT2=<3E!#?eUU;Nk&B36gUR}}+K9D9V?6t@Dl-LWN}1rG zwA8o=5T`TW15UXFyv{nAj(QmuZ472dc+Nj(dWIXj*zi&>^`hF(la5!~Z#tyno3#ZyqXPq?A(btAXiR-MYBa>_XESoJ8}|Iz{%FSopzOkbgFLl0(NA zav3&!t9NHDO7ZSA$bb#iYBYRT&{8_y{A2Em!CU_HZ7$%TNnQ1n)2NQhiPu2MkSf1L zRvVE|-PQWrPNzqe5eK|m+2gCtIttf7g+FjO#2stFQ4ilFz^kD<@_;o?a?Pq9QFls`}|~(aA}w0b)&m zN>8D{1GiskPiSTZb_^+F1BmV9inG=C{7VpdAvd_{y(G2g36V9u1gH@YL0J7X|CwCj zEr)aIZoi{}0XLBGS9Pk-8IbaH^$RdA(Qh}6SJydmme01s+Ztrxhs7{~wGR7^jM#2J zzu}IzaoZf@`w0Lhd^MzK|F@7E91{4<(Rl%xSkf+1=u8D-xeaWt9p|l)X*xM0cIsc_v^&|iw__)`QtJ{jw66)Bx8TZQzP=~6;3 zKQM!C4$29cr#T`2gYc0iu)c9(9#x|u;*r)sMYfPNEi!nh5!|G{`pPMjho7UE^-@AL z=jXvxEcmlj|B^RxK-=2unPpd;lg<$Ti+R1!6icd0-%OXn!RDbX+iU zTpbb%+VS|J50Ga7v#aOk_s^aMk7vfJ@qo67jsonDdMDwYYyOb~GsX0Dq2^?x_I)5k z9gytiZaKQa;UnnJ8KM65ON^R^-Q_p~S>Psk_~3*BrdFg^A+XNw!PeIZMSxJ6kr%#ciwiOjt$u%FyPWJXct!Mt! zfLT^aL`dtMPw(gWTUx(d&GIizZ~NG*{%lF+hdb2+%ZqE`2hq>WZ{3^Yelwdes4S{sY~o3djKCPhPQKft%(Othcha zg0@&W1D&&(gJ9CSTxftuu)bWyejaejiJ0lF+=viJJ#)46NlT6CG0RVX!?rwX>(f0QQE$ zRHX8rn0H%0<`D@l@w6<8D|Sc)9GT z@R2bGPU%oZO!uZuMZ#R_ATlGyE-qf6$U>^!lZE3R77**j1fy=-l&$V?lPa0ebksw(-R^O zD~ajE+Eh@fPVlS|N^yGe@mRcy4Y5whB88d?jFgl#;Ag3~Bt#1czXaVpW_mAXhft`$ z2_|@WZawFd6J=%=k&{@-Ll&Bqv2K-s+$DfuB)b1KObW6n__)nJRebJ?xQu zPXM_in$2U;NQAWUTI4Y&Yl(6N_u+b`=R;%B6T|!bw;ic%!T9*Ta#%!$Ik3eVOeMq)%Z=)Bkt8X?|wqW#fOr zC-4J!0w%cf82EO_0*uw5=~cn32zzC6z3~-TstZ#oxW*03Laje*fdjXuB_s&hEQ`@t zj}GM8FN9g`eYqc|B8y~Zs(u+!IE&C~++v~hh`wC;)-5WAqoG5vYYGR%*;`^{UeQ+5 z*b`ud;jo-PYN$p&Tv+l%w`o_r|X2R}P=&MJ%gcLgOXz39g|H+VTGO*lX z(GJG)Iufa0gw^Y=H}x4yJXtr*`*IjO6k~F$yl$6ZH6oD zZ>`iz=V8+(NEMrlRE2FIiv<7Of9lnRS78Ri9+eqgjC55NJT#+!D5l2j!w^$JBoBnH zb)}xhca7?&31-qsBa<&EM$nX8w7r5i%U){aRxkWy%6YBi*gt%_eFyepau`d~-TqxX z(26$=5&R!#1>L4h3k{|bBi4C#e#x4gWF_Xc5KL4&<=}M#H94C+-wal>rHdMoe)@5* zR$w8L=K4=0_3E2603geWbCFD0#NJlSz<@3>I=SArhS-X7Goy%HZox1^2IS9$N`Gx4 zN23cHRs>+Gq-2_%B_Z4;rMaOU@1}Ho5gD;FkPp|b6QdL2ziG7;!6WJu+Qv2lSeczmfqJk+F*c46EXkb4FB(ET>kC_ zie(*TS^BA$;MFMj%jrMRsy_x#de|;gvzh4#-`d#sh(1!C+`z62&3=y-F>O+~z{uwO zyo+3+0-p7s--Vu$Zs48%ZRrRr!4Z;O2MBLX!*p)iHj#O*&o4U_>BZry+-gwqz~2F? z4b({`0OV9`87iqbE4N@N)aI_3Y^Kc#GdLkyU2LUBizt(ltX}ql@yT|43*a#^Li!E0 zKJr20;Gf4}KF~++?GX86m6Q~dnVaA3Mazu6{w9O^&p+iNOrih){7nHV5GAtCe+?+* zt@)fOFn`|nt%bILrTY?lZ(rX5rKgw=oS_8y7D`MmA`iJInO0%ky6sNudCz?gk<1r` z9{X=j0LirLWn;9vh|Rq8wI|2%>~NJ42Y`-^uQrWnkV2+|h3-u}D~NIcVS%X6efT}f zE=gBggB*j#*aeK-Vs@4eeCnGaT z<~0&Y0y9RJ|B_yYsYqn+-!BB7G5ugEM^+r29B!EFnavFt@bNudz6VH!X3n|RkCcG_ z3jhov2W8V4owjG-U=>Ycl>WSHTK8!)l1&8R?nKJc#k-Boo(_gY#-KRSD!$G0Oue#G zY>=%?PdmXg^1h^v48skdHjbM$aNykcvTfiggYo~>84gg4V`L?Nkt}TRwiwKsMP}e^ zej0?yGq9g|?*HSHBT^e$Uf1|LpW{(dgsAP@S-tkNXwn5zW1HDZ-+6z8+)_@)U2tX{&$6RForkQmF?T zMlerTqEdJCzZR}DpsB2Bizx0Z0xD7yU{{(TMMRo36@?{$NJpvyQWQc$?_^~aqyz~~ zq)G?r9YcxIL^?_@0YWdq(0jgf+3#;Mcg~!t&&)aZe)3Q+057tF0|u@UIpqvY-I3{| ztBoWQd4a7yv!Jx3T9WlNYji9D%bEfiN1z z>^XKQ6})ZMlf?Q=0`Y8V`~!3$Jji6ulGsv5FRQuTx)%(&LF*|{_$~#$HSmjC>A8S* z8QMN35M9@hSFirbMuWTehtY$Y^?NnnobFSUa?{fd!dNR1ubggH4bm154*CpQ6|w|g z54mnsBNUwU&*g5^o5PEI@2x$tmJQMAzMZR`$ej-({z^QN{(S%1cy5e1pX}Am`*+IS zX5JMOmJL^`*?P4mv70NwOJ0|nIm($UyA?XZ?%Bf5$WHi7WMom8Q*EYb(<>gFuF&$H`cHmq%_$z#&# zCy#lBr)oC8`FRVAY?q(%_GmBrH!)!JO0h!W$42tu=6M*oC%T$T&HxTbjkmN0VE!*e zfgXETOr)0B3fGstFn9O>9RqF3bS^YbDg#vpLGH;$c<0BsQB#wrC%z z=JvkfO<^SiWaq(Q$x&R?a$?kF>a@4<<_;rI0}z+3#9(*q6b z``8ZaC1KHaSzKU^TUJ^`Q7+#`DOmM!e?hB{`A#L)81=H~DBG+21&_=%j!x{jqIM^} z%yIHN{T=kc3FplaeHAoqbHt5*cOK!)kV+F4#^Bgt>u>VC;G?HvMMqV_SReC)%AF6s zzdmI9t!Z(f6kG%Qexxe-G!b*5#G;x?>UMm$68P)NT3r4w{-rqM06PiW)jmHG!^hi@ zUoDwhitIfR6X@1I6-0@YlWjF^S<&2L*?;~?@y*5w?)5_*)1UR^Y)?#X)d!P9ZGAl&IACPP28X3G&o)P9@qYR>5{>ckwT8@E<> zj4A)hbg!VhcJH2p2ThZSbEG$FVJRhdxemZl6%fN*j39bNFlB&q!4FjkSmU;Le`n&X zXTs-eOr^C5&!rrXamx`lLy{0J*Y6a^qaFGsFN%b7+7Ql7*KBhFE4vidg>G~V#gO)2 zw0KR8zRvmlI5>6iDoG#@+UKHJEEe2YO-;6CRZ}dYMq<54Per4UueZ{K&SF0|WcXxQ z6q0n&ojERypb(^m?&r+T$kPg2rC^JcT;KXehZ?H8nqMS!{x0i*6Nsl$~mrzk|(>GQCl;1&vanXDR1#sZS|J>Jl|`52dB69KeUgxsScFTs7W+F=VGYjU-4n2 zet=vH(}0*~w>Uh;-e5_7B-;K~k48;dBJlHlaq)9n#->Lro~w5HkbiFtp#ul5Pvz?Mck@my2F3QoSS`JH z8#ZW7?n@Z9YO4r>jFwaAq25+!Em=Byb+^|9hYXwTR(ftia=&uNhJe=Ur)J7$iK!(| z&OkU;y1z8l;T?ZG$gom;<%psaq*~J6ek(rA7Dg#4I{XB*$`=cZFyRE*saLZ~S(bTh zH5uE6lys_yd(|*>C2*rQZsS{+YCnK~I1T9-{FAX#yL`xZ*l#!+2Rcx@)n9QvWN3fz zKGWbukBpRIW-p-JR=z!)#oay_b4-kNhs2<@86uUJwlFSv?c6tjSB@V6T@~Z5Ef$5H zgKrz}QOufRX@RQll4KZ?n5gS{G0No5xV`5BLRdehI?2Mk}IQ2%lvA=kJv^=tOlo2d@3+q`5VLoZdQb=>J zk$Ol#9|z86+#u#UjQRIV91_AIo3q<6XJ=VO%Gi<^om+QbwnS%nEgn2rEqS)Lp3iUv zWwxofCbTVkAZ`i=aZ0!>x5_I=qsE1Mo^ckt9XIhLWFbCpKaW2FU%HT328HsokX1J? zf$Yx5`0_#23bmt6o?0vA;?#6__w8|O5})EPk7hxaIR;^9W7FoV6=q4kZ(~dApYFaC zVx)kEx%6H_;WHiKYHs>!O08;o}sK+sg;a&Rq z$+JB_Ig<~JZ!y#8J%_Vc6C7g%k*dH$uPouWJM^4h_Toxv#8@EzRPGB99~(Z`fw*tm z3|)T$wP}jrOQ&x6L{;R4|G-!;&FvfG5xxk~3xW5xK~qRT$!}!<6)|+Ii?sgSWwq{* zYbyWCdiX5knowm#Vod0Sb_plI8_#Oiz}Fj+d{u=leEVSA^|h474a$7rOOCi=MUm=- zOvM+JH@IRG#=HD%4*L+_5)HB~{o}3{eoK(=>T4*1ToAdz8GBGq7#O^{GW;X7s`v?zbk4Cu!5^fGT3XH*)qITxvYPLh13zZiv}f zZ@|P~OtQG07{1xGFIE4`8$J{rg~kk=UE>*&a|mpF91QayR-gZTpc?!?-5jNcP+&-aQH>2}8D7bBJUUsJ zBoqtO9uo04c<|iHZlz6tzAERJZ4H>1-6P3Q%_dvnPN+GT>hmlBx)g7^Y5u z4~+me)tlcm!&5(o8uV~Tn`rg7pf@~CJ6tv1etUl&9wsjG@Kcjajm%-4q7fss4SPp` zgJ{;Ea2-wadUcfR+l|BGH0Igq0J^DED(?bDvFQd9n0JDKMxjaq+7 z*_I29nlp%+HjfK7aF8+YMSo~8y<3$Ojm=pXy&Eo!Jba-vd9pqD*S?9$RTKo$xH})WyZ>l$?AHQ|5{_TE_y*9{$_R{Te z?4~kaEcCpcP8U~WcUxz@3ElC^rGrAB?NHru&o}FC&O1J?Rds3{Kne3WM_qO4e3AOj z`s$DJ-92rv9!?sXHm8L-{-;uWhtUwne)$Psm$O(41y@Un6#q1K(^c6TC*dG<{x9 zUxafjG9|QDjYA9sTW`URf)K1QFeTKzI1aAL;%W9i(pp)v#sD6~iJBebCF6BN2NE+C z`9+D4Mons~7(DT?Kr6hel&7>WA?jb4`uF?phjm@2cD9Yb1Y<$z?}APNAPuc*c-?+< zkPp6LK^HiL`lz1AT{9?f?v;;GN;DlC+=UGl^0cx(+6*r~=YiF6#DF!&{Xy}cT;1(< z%oI7*j!*jplDa!PgDZY%ohy*g)E7h3=E}qZp{ItR`rZ_fUT(Pn;}u{s*qAJgLWV3v zT58mTHXl>dCQ9PX3VbqTn5+J7Sq-Yl0Xqo4X4p#ycek<<4}|U+iK*@g?eU*O;7FbN-K!Lc4UVWq^-) zt;s(raTY0&Sg9+u613FX3v+S)>*;mdCH2F8KEk$ZIj7t*)vI2R{T|vLKeG6yqmE-4 z-^Tl`9>@I?$xFvSRkNT={0{b9l%xVgWdF3|Wo=043*+y)hT{8dnfurm7>e*c)@+ix zKw3%HcVUec;mAx6p=oqbKD;Mk;XUeE`cbI-r-XInDP~~*gp?882)%N4+1~WGBrl^&%p;o&GqeHW14)1Ex1r+nA1PTRzwqI z*Nc->q;@TILU6bU*(6qI-K|QA#|p+@<5E4( zWM&>>rF2~plh=%)gYTNZP;_*@#0E6VuDIi+C!Jz8gEMRYGK8S~?s_wPlGcgw@206o zCpPxs{fU1~LHifo@zawQJ5ZxhlTuGaG||Ds0S3mhKhb`Y<`X6dK4LSpL)|IC|XsDhTipeOm-IN86E}3oMYz9m2NRyL}e>avmNl8Vr$!KW z49nbfK1rO#f{31ZhcB$lvz;tG1tO|=oAPY1a8^8nW?!@F1vt~Ovjk!zVws8ZZXQCU z;U0Ld#!p|AiDZ#4rpGQqapGdF;S(~*!^Jb_;G=r^301Clr6+FB{RwDQYsWu?)T+H8 z6@}@e^(1Y#DNefTiD55qf z_(fwfI9H&-rPo9^ef|F|x@d=3uQ!Ta9~-6il8CqY~*=*ih`ZOhybh3xYxXrd8SKec#K= zGu}?3FimWGGODH0Vuvh*TO@ZKbn^H(u7SL9X8Z4|yrYxA4aW4uVC0R5dF)Zkq^e=1 z3y}AWo&0$^KHmlgFeK>QZ~GXM6UW+NAm-nEI@w&(BT$;HUP#7PAaS9E^V!gh=Zt?@`>ej^r~sF^(tN|j zM3W2~oy1g4$3I48q)%5N`ySZgY0tr9x7-=kCTP??@y?7~;PT=h>pAT^?ok~*?+GB~ zh6o+xxC!GBU5V=k3$b`IhIb@I7w4>BQBRWrcx?S#rJWGExn#^t`K8!0>@#$575jx2 zpx4-}q134Yf5mW!s3%;pKMGbp{Xp9Ycp2f;%VJ`#W|emXt71;nO>R|92r@HS*tt4* zMow6SpLaj8V1dKh5j@~&X~T{AT1-Zc;ChjASg!n(al`O^qq1YaQ-i?-M=~F1w_n2g z46vXScArR$8p#inaktaCSiSxL%!g&^A`Gj@mAZAm|CSKw$@kwax(QH@?ua2iGs8VP zCI~F>EW`1(9E)C+M%yM6KG1Wwd4iT5B_i{z;`(VAu-`b%i8(fmZQO!`C;q~+(%{ZL zkozCpCC>VNJMRm9TJ=GyEA+DDJI^X`$&4&0!1UHF9406w#q9PynzrS5jnbKR9P^s( zw+j7z$QS9pZA}1;F!z+6wShy$IuF8gg8d^&52L%l*aQM%u;rqxkB^J`a}q69knBoOzg-FS@?#;c34d_n?sDyAYv9b~Q49(1Wg>T+9 zl7J!6cJvkGi<>gSeNagxJR9*Das#b`>mr#VA1Yz@eEW6KBrO&n;|y+V06x!3_-HOD z^1I3&a6u8B@L#VNSGZ8?YPew&aX+J;4z5kSIkhNOc_Noso5KOsluK9#`7GYCt5MFL ztjUUK&volN`E>Aoci3C6-T_wmOx|c$0LlT`Y{a(cLZ-WcTXaP(U)U2}gNtT>P@A~$ z=gt2YPh%eShwK-Gut|zqAMXP z^ZM2uYtR2Y!%R9)Kkgjdx4w3Rx{~!8Kr}?vM2`xwPWY#%M%%Fw8~mXl=<*eR=dlCaU}dBr z#J}8qS|8pb`m;f^C7fsf^w=fO%JWeRh9oxtV|jW7q8g(prPL}0aU~Bqw8c%+wmI*t zpZOY!rBBk{@}7O<(ESjW4h;#k?a;p&c7#$*Uj+YuypP20YRKH@S4X!tCzw}v>i;3D zk8+E5iWv5L#l!-M^lCg)f423ZTLGFinLkL?^R6bL&rUDq90-A1n%Qd~uybJ(1M;6M zgsapD&mTEzpZ1>YV(oB78a1QX`QV*`sgmne!9wMyIOvw9r>^;V#a{+rpNAo|^$bp9 zLQ?>CXH?~OPzGKMjP^9Dj8RV})H}f9C_yK9al;c~CJQY(@P&L00wrlD<_FWyoqjOs z0h55)wQ=>E-aB8dG>L1G)7tTvCc4;^{)7jUU$&T<3tsB zeRJ6MdS9g;uL5b7opEXPEq;kUQW&wgx*v?UWj8;IHA=aHas9s5~ECg_quM1V~49CCExrnXVS*V2PI-D`K@PoQ}<#Gu^f z`wjECG2X!<;YVY840fBrm?lhLiu9N;%ZT9updkF_#6J~=n!16T;}h~4cXfOqwB|GF z_ZFI5p5ashK7*!FV^fcla6e>FWd5uO*ypF){Sy{_q|#^Y^cz;P+uu>*6asO z@IFk@slk2pFF?}!1owhnT#?L39O=+zwcaS$dW&fa9ZqRoaRSL8?W^YSbuMv53)JOg zK37?R9^J1x1KFn@&lxTUSFBHQaD+U4EA2E$RIQ^C+Qpt(j`lh_U#C9-C8bS!OE%=h z_T*13#+E_Fa@+ux${K6J)OCjm(l3LDk-^tKmH3O;A;Ujp6`<>wcfM%Va}b+eiF;g> z9W1oyUp0HrkeH$~22GMrx1E{jBm*-tbl zK>IRoMaG3XcJPRA7c@3Tj-dj@FTfKuT@uzEHw%9<0?{yUWAxF$k#pY-Io+;xB}hCa z^o=wpbVK%Pz2j|o*HA$Rb(v~+6w^)9c8%?zyDI7P=`QK&%K?T88v38CMYVc7#u`Vv zbW#GA#K^xQ!HBhwTBhA9V=qE+!5Jg(SG~E{DDNjXHT?X(fbI$vukUs%nF(y@3@5o; zcxo@m%|j(SYPdwe!%x_joB$@u(Wvmm4+l+{tANJ-P9icPbWlqdVCY1B2!ntjf^tv8 zNtitM$1A9U>TLyec0d>5bbwqk_6WM4p&m#10$eZHW@f|LE&QMKD#Mvo zZFf21VI+n(;oe>AT{jU+1s}s!?8qG!wSaHXc;(E;j=mM~gCS}OuVJHtPrfYBC0F^v zu33z3sURs=yRtd3&T}nSE~(lti@#OtHZ-8c%tHV*X-iv_LgX=(d3n;UZmXl-g0Uu6 z+mZ4EJDPcAB9ET)1N0Mfp&Tr6PtpYSQVe-e>?eXp&l0CSjo-hkpEUChux+u_I`C3D zQg%WQa(}j7`w?Y2kF%gw2T}v84xo|XJw4xbCKD39ZxQxE+xKI6?1Taf&%t`t23;&7 zzldQ33`0(~dOCW{AR*+pVCt)Prh!qBY}_2)8Y--QH`wsp z#8?0Jfx(nlTeZo|Kd?Pzm7Ga2e7f*I8QD2pAUIpUC^^ zrv2{Q9KAkdc(`l3vj4AXmsVTCkh5%>Q3`UBmQx0;Qd2qyp9Vb77mm0ez##;;>DbL+!8vGj`gXs9If8-+twr){ZKP~q_ide$I7(oMg({m6D3l6 zn1UYpus7e=#o?lvkc@4tbI}BEMCX&0qt`mvKFIPK6wU4pmcE*4=kH>60r`%FhZ=!` zvOpiWN3bMI>X)DtJDV`yOm#?kZ{12>l0C*rNFa6dwFAY*hQ#j#ycAY)pL_eBL>YrA z&knCKjL6Ql6-s!N$K-&98l&@K-ePI*Xr`1B%~TjBFWw2h4KU$B)JzIcH?4?RKjcyx zOBMg{@A=ePTgM}^#u|EQWKGAOAX-+Km^s5mbbPnJ-r=1N@)dg}?gflz|Ap!JUNjb* z%B+==2U!jjt!&kgiPjnXTIT>dkiSYmHr^n+qyCN>;A!;sf zH`UR%Ai#SMmj<1umD*J`H#qmGBC3E)XUsK6#JB?en}%!V*!F8?JJu+_`lspd;(p*{ z0`vG8PY47z3!4iw(V4neplLt1pe?DII?OFY72$bh#Ax0db?HyJlXB701@))eHvzvb zk6>-JS{Uzs&073^&0-kfr>Mf_RsoJcXawy@3@huD_N1PFZl}GwxAARqTfC4`Rc=bc z(r=)fYH@#ic^j=(+vr0{KegYgeOs$)pKv# zJg&x)MK<-U46uyKat3 ziY(51W*YmXxf}$g)4#=Q{=`b*@LuWBCK!ju1=g3_(EhMB&H54O@zY@?FewV_w5!$D z9c*_{DGUWbuG7wu<~}LHGQ@ZjAw+KcayfF+B%GyVh&Yid*3zLJ^F!H#*o^y^tv$RO sbQ9Lgj4Od=)XmvOnF*Ig@^31SYGC`(eOeSW-#MfH=<&m%2hU#rA6NdaOaK4? literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithDotsWithoutLabels.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithDotsWithoutLabels.png new file mode 100644 index 0000000000000000000000000000000000000000..46f1bf10bec2213b7075f9e89f126a33702388cd GIT binary patch literal 107444 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 z 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�{E)SQe*huNjK45 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 Dzchv3 literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradientWithStops.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradientWithStops.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc9d91bba9e764b093e5e77daf2dd6e99236325 GIT binary patch literal 75006 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 literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_roundCorners_customThickness.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_roundCorners_customThickness.png new file mode 100644 index 0000000000000000000000000000000000000000..68a21c83a6b55af683b7e6192f899b4c7f4dd77f GIT binary patch literal 28389 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 CZb;Dp literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel.png new file mode 100644 index 0000000000000000000000000000000000000000..95561225ff75eaa9d2f8b66c406ee28fa6683f32 GIT binary patch literal 30811 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 literal 0 HcmV?d00001 diff --git a/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinWithDegreeGap5_squareCorners_customMinMaxLabel_defaultMainLabel_indicatorArrow.png b/example-app/android/screenshots/debug/Pixel_4_API_32/com.netguru.multiplatform.charts.dial.DialChartTest_range0To100_value50_joinWithDegreeGap5_squareCorners_customMinMaxLabel_defaultMainLabel_indicatorArrow.png new file mode 100644 index 0000000000000000000000000000000000000000..6768d3c58c5033ed26111e3db2606b746b54cde4 GIT binary patch literal 31229 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
5k&HXbqY+i-t5|+N=jd)j0Nms_!pX(z6 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̑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 ap>bU7dh3VSje0@ka;2MUa``umeE$zeFVK_# literal 0 HcmV?d00001 diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/Arrow.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/Arrow.kt new file mode 100644 index 0000000..4da2b32 --- /dev/null +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/Arrow.kt @@ -0,0 +1,81 @@ +package com.netguru.multiplatform.charts.dial + +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap +import androidx.compose.ui.graphics.StrokeJoin +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.unit.dp + +internal val Arrow: ImageVector + get() { + if (_arrow != null) { + return _arrow!! + } + val width = 30f + val height = 30f + val strokeLineWidth = 2f + val strokeHalf = strokeLineWidth / 2 + _arrow = Builder( + name = "Arrow", + defaultWidth = width.dp, + defaultHeight = height.dp, + viewportWidth = width, + viewportHeight = height + ).apply { + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(width / 2, strokeHalf) + lineTo(width - strokeHalf, height - strokeHalf) + } + + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(width - strokeHalf, height - strokeHalf) + horizontalLineTo(strokeHalf) + } + + path( + fill = null, + stroke = SolidColor(Color.White), + strokeLineWidth = strokeLineWidth, + strokeLineCap = StrokeCap.Round, + strokeLineJoin = StrokeJoin.Round, + pathFillType = EvenOdd, + ) { + moveTo(strokeHalf, height - strokeHalf) + lineTo(width / 2, strokeHalf) + } + + path( + fill = SolidColor(Color.White), + stroke = null, + pathFillType = EvenOdd, + ) { + moveTo(width / 2, strokeHalf) + lineTo(width - strokeHalf, height - strokeHalf) + horizontalLineTo(strokeHalf) + lineTo(width / 2, strokeHalf) + close() + } + } + .build() + return _arrow!! + } + +private var _arrow: ImageVector? = null diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialChartTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialChartTest.kt new file mode 100644 index 0000000..e67de0e --- /dev/null +++ b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialChartTest.kt @@ -0,0 +1,341 @@ +package com.netguru.multiplatform.charts.dial + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Text +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.unit.dp +import com.karumi.shot.ScreenshotTest +import com.netguru.multiplatform.charts.ChartDisplayAnimation +import com.netguru.multiplatform.charts.Util.checkComposable +import com.netguru.multiplatform.charts.dial.scale.MarkType +import com.netguru.multiplatform.charts.dial.scale.ScaleConfig +import com.netguru.multiplatform.charts.line.Progression +import org.junit.Rule +import org.junit.Test + +class DialChartTest : ScreenshotTest { + + @get:Rule + val composeRule = createComposeRule() + + @Test + fun range0To100_value50_joinJoined_roundCorners_customThickness() { + checkComposable(composeRule) { + Dial( + value = 50f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = true, + thickness = 25.dp, + ), + minAndMaxValueLabel = null, + mainLabel = null, + scaleConfig = null, + ) + } + } + + @Test + fun rangeMinus20To80_value50_joinJoined_roundCorners_defaultUI() { + checkComposable(composeRule) { + Dial( + value = 50f, + minValue = -20f, + maxValue = 80f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = true, + ), + ) + } + } + + @Test + fun range0To100_value0_joinJoined_roundCorners_customThickness() { + checkComposable(composeRule) { + Dial( + value = 0f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = true, + thickness = 25.dp, + ), + minAndMaxValueLabel = null, + mainLabel = null, + scaleConfig = null, + ) + } + } + + @Test + fun range0To100_value100_joinJoined_roundCorners_customThickness() { + checkComposable(composeRule) { + Dial( + value = 100f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = true, + thickness = 25.dp, + ), + minAndMaxValueLabel = null, + mainLabel = null, + scaleConfig = null, + ) + } + } + + @Test + fun range0To100_value50_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel() { + checkComposable(composeRule) { + Dial( + value = 50f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = null, + ) + } + } + + @Test + fun range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLines() { + checkComposable(composeRule) { + Dial( + value = 0f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = ScaleConfig.LinearProgressionConfig( + scalePadding = 10.dp, + scaleLineWidth = 4.dp, + scaleLineLength = 26.dp, + scaleLabelLayout = { + Text(text = it.toString()) + }, + markType = MarkType.Line, + smallMarkStep = 1f, + bigMarkStep = 5f, + ), + ) + } + } + + @Test + fun range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_defaultLinearScaleWithDots() { + checkComposable(composeRule) { + Dial( + value = 100f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = ScaleConfig.LinearProgressionConfig( + scaleLabelLayout = { + Text(text = it.toString()) + }, + markType = MarkType.Dot, + ), + ) + } + } + + @Test + fun range0To100_value0_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithLinesWithoutLabels() { + checkComposable(composeRule) { + Dial( + value = 0f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = ScaleConfig.LinearProgressionConfig( + scalePadding = 10.dp, + scaleLineWidth = 4.dp, + scaleLineLength = 26.dp, + scaleLabelLayout = null, + markType = MarkType.Line, + smallMarkStep = 1f, + bigMarkStep = 5f, + ), + ) + } + } + + @Test + fun range0To100_value100_joinJoined_squareCorners_customMinMaxLabel_defaultMainLabel_customizedLinearScaleWithDotsWithoutLabels() { + checkComposable(composeRule) { + Dial( + value = 100f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Joined, + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = ScaleConfig.LinearProgressionConfig( + scalePadding = 10.dp, + scaleLineWidth = 4.dp, + scaleLineLength = 26.dp, + scaleLabelLayout = null, + markType = MarkType.Dot, + smallMarkStep = 1f, + bigMarkStep = 5f, + ), + ) + } + } + + @Test + fun range0To100_value50_joinWithDegreeGap5_squareCorners_customMinMaxLabel_defaultMainLabel_indicatorArrow() { + checkComposable(composeRule) { + Dial( + value = 50f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.WithDegreeGap(5f), + roundCorners = false, + ), + minAndMaxValueLabel = { + Text(text = it.toString()) + }, + scaleConfig = null, + indicator = { + Image( + painter = rememberVectorPainter(image = Arrow), + contentDescription = null, + modifier = Modifier + .padding( + start = 20.dp, + ) + .rotate(-90f) + ) + }, + ) + } + } + + @Test + fun range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradientWithStops() { + checkComposable(composeRule) { + Dial( + value = 100f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Overlapped, + roundCorners = true, + fullAngleInDegrees = 270f, + ), + minAndMaxValueLabel = null, + scaleConfig = null, + progression = Progression.NonLinear( + anchorPoints = listOf( + Progression.NonLinear.AnchorPoint(0f, 0f), + Progression.NonLinear.AnchorPoint(20f, 0.1f), + Progression.NonLinear.AnchorPoint(40f, 0.2f), + Progression.NonLinear.AnchorPoint(60f, 0.3f), + Progression.NonLinear.AnchorPoint(80f, 0.8f), + Progression.NonLinear.AnchorPoint(90f, 0.9f), + Progression.NonLinear.AnchorPoint(100f, 1f), + ) + ), + indicator = { + Box( + modifier = Modifier + .background(Color.Red) + .fillMaxWidth() + .height(1.dp) + ) + }, + colors = DialChartDefaults.dialChartColors( + progressBarColor = DialProgressColors.GradientWithStops( + listOf( + 0f to Color.Yellow, + 0.2f to Color.Blue, + 0.8f to Color.Red, + 1f to Color.Green, + ) + ) + ) + ) + } + } + + @Test + fun range0To100_value100_joinOverlapped_roundCorners_noMinMaxLabel_defaultMainLabel_indicatorLine_nonLinearProgression_gradient() { + checkComposable(composeRule) { + Dial( + value = 100f, + animation = ChartDisplayAnimation.Disabled, + config = DialConfig( + joinStyle = DialJoinStyle.Overlapped, + roundCorners = true, + fullAngleInDegrees = 270f, + ), + minAndMaxValueLabel = null, + scaleConfig = null, + progression = Progression.NonLinear( + anchorPoints = listOf( + Progression.NonLinear.AnchorPoint(0f, 0f), + Progression.NonLinear.AnchorPoint(20f, 0.1f), + Progression.NonLinear.AnchorPoint(40f, 0.2f), + Progression.NonLinear.AnchorPoint(60f, 0.3f), + Progression.NonLinear.AnchorPoint(80f, 0.8f), + Progression.NonLinear.AnchorPoint(90f, 0.9f), + Progression.NonLinear.AnchorPoint(100f, 1f), + ) + ), + indicator = { + Box( + modifier = Modifier + .background(Color.Red) + .fillMaxWidth() + .height(1.dp) + ) + }, + colors = DialChartDefaults.dialChartColors( + progressBarColor = DialProgressColors.Gradient( + listOf( + Color.Yellow, + Color.Blue, + Color.Red, + Color.Green, + ) + ) + ) + ) + } + } +} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt deleted file mode 100644 index d46bdd6..0000000 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/DialTest.kt +++ /dev/null @@ -1,91 +0,0 @@ -package com.netguru.multiplatform.charts.dial - -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.test.junit4.createComposeRule -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import com.karumi.shot.ScreenshotTest -import com.netguru.multiplatform.charts.theme.ChartDefaults -import com.netguru.multiplatform.charts.Util.checkComposable -import org.junit.Rule -import org.junit.Test - -class DialTest : ScreenshotTest { - - @get:Rule - val composeRule = createComposeRule() - - @Test - fun range_0_100_value_50_UI_default() { - checkComposable(composeRule) { Dial(value = 50f, minValue = 0f, maxValue = 100f,) } - } - - @Test - fun range_0_100_value_0_UI_default() { - checkComposable(composeRule) { Dial(value = 0f, minValue = 0f, maxValue = 100f,) } - } - - @Test - fun range_0_100_value_100_UI_default() { - checkComposable(composeRule) { Dial(value = 100f, minValue = 0f, maxValue = 100f,) } - } - - @Test - fun range_0_100_value_minus50_UI_default() { - checkComposable(composeRule) { Dial(value = -50f, minValue = 0f, maxValue = 100f,) } - } - - @Test - fun range_0_100_value_150_UI_default() { - checkComposable(composeRule) { Dial(value = 150f, minValue = 0f, maxValue = 100f,) } - } - - @Test - fun range_0_100_value_69_UI_custom_colors_and_labels() { - checkComposable(composeRule) { - Dial( - value = 69f, - minValue = 0f, - maxValue = 100f, - colors = DialChartDefaults.dialChartColors( - progressBarColor = DialProgressColors.SingleColor(Color.Blue), - gridScaleColor = Color.Magenta, - ), - minAndMaxValueLabel = { - Text( - text = it.toString(), - color = Color.Blue, - fontSize = 32.sp, - modifier = Modifier.padding(top = 15.dp) - ) - }, - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text(text = it.toString(), color = Color.Blue, fontSize = 40.sp) - Text(text = "tests", color = Color.Magenta, fontSize = 24.sp) - } - } - ) - } - } - - @Test - fun range_0_100_value_69_UI_no_labels() { - checkComposable(composeRule) { - Dial( - value = 69f, - minValue = 0f, - maxValue = 100f, - minAndMaxValueLabel = { }, - mainLabel = { } - ) - } - } -} diff --git a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt b/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt deleted file mode 100644 index 7f28ed1..0000000 --- a/example-app/android/src/androidTest/kotlin/com/netguru/multiplatform/charts/dial/PercentageDialTest.kt +++ /dev/null @@ -1,86 +0,0 @@ -package com.netguru.multiplatform.charts.dial - -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.test.junit4.createComposeRule -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import com.karumi.shot.ScreenshotTest -import com.netguru.multiplatform.charts.Util.checkComposable -import org.junit.Rule -import org.junit.Test - -class PercentageDialTest : ScreenshotTest { - - @get:Rule - val composeRule = createComposeRule() - - @Test - fun value_50_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 50f) } - } - - @Test - fun value_0_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 0f) } - } - - @Test - fun value_100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 100f) } - } - - @Test - fun value_minus100_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = -100f) } - } - - @Test - fun value_150_UI_default() { - checkComposable(composeRule) { PercentageDial(percentage = 150f) } - } - - @Test - fun value_69_UI_custom_colors_and_labels() { - checkComposable(composeRule) { - PercentageDial( - percentage = 69f, - colors = DialChartDefaults.dialChartColors( - progressBarColor = DialProgressColors.SingleColor(Color.Blue), - gridScaleColor = Color.Magenta, - ), - minAndMaxValueLabel = { - Text( - text = it.toString(), - color = Color.Blue, - fontSize = 32.sp, - modifier = Modifier.padding(top = 15.dp) - ) - }, - mainLabel = { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text(text = it.toString(), color = Color.Blue, fontSize = 40.sp) - Text(text = "tests", color = Color.Magenta, fontSize = 24.sp) - } - }, - ) - } - } - - @Test - fun value_69_UI_no_labels() { - checkComposable(composeRule) { - PercentageDial( - percentage = 69f, - minAndMaxValueLabel = { }, - mainLabel = { }, - ) - } - } -} diff --git a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt index 79f025f..46af13d 100644 --- a/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt +++ b/example-app/application/src/commonMain/kotlin/com/netguru/multiplatform/charts/application/screen/DialChartScreen.kt @@ -36,7 +36,6 @@ import com.netguru.multiplatform.charts.dial.DialChartColors import com.netguru.multiplatform.charts.dial.DialConfig import com.netguru.multiplatform.charts.dial.DialJoinStyle import com.netguru.multiplatform.charts.dial.DialProgressColors -import com.netguru.multiplatform.charts.dial.PercentageDial import com.netguru.multiplatform.charts.dial.scale.MarkType import com.netguru.multiplatform.charts.dial.scale.ScaleConfig import com.netguru.multiplatform.charts.line.Progression @@ -58,8 +57,8 @@ fun DialChartScreen() { ) { item { PresentedItem(text = "Percentage dial") { - PercentageDial( - percentage = sliderValue, + Dial( + value = sliderValue, modifier = commonModifier, animation = ChartDisplayAnimation.Disabled, colors = DialChartColors( @@ -77,6 +76,7 @@ fun DialChartScreen() { roundCorners = true, joinStyle = DialJoinStyle.Overlapped, ), + minAndMaxValueLabel = null, mainLabel = { Column( horizontalAlignment = Alignment.CenterHorizontally @@ -104,7 +104,6 @@ fun DialChartScreen() { .rotate(-90f) ) }, - minAndMaxValueLabel = null, ) } } @@ -118,17 +117,17 @@ fun DialChartScreen() { colors = DialChartColors( progressBarBackgroundColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), gridScaleColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f), - progressBarColor = DialProgressColors.GradientWithStops( + progressBarColor = DialProgressColors.Gradient( listOf( - 0.5f to Color.Red, - 1f to Color.Green, + Color.Red, + Color.Green, ) ) ), config = DialConfig( thickness = 20.dp, roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, + joinStyle = DialJoinStyle.WithDegreeGap(15f), ), progression = Progression.NonLinear( anchorPoints = listOf( @@ -208,7 +207,7 @@ fun DialChartScreen() { config = DialConfig( thickness = 20.dp, roundCorners = true, - joinStyle = DialJoinStyle.Overlapped, + joinStyle = DialJoinStyle.Joined, ), progression = Progression.NonLinear( anchorPoints = listOf(

*Va2Q3imdBxQ#9>P7`?hK6 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