From 1064050b650426de7d4183d0f2a46d6bacdeabe6 Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Tue, 23 Apr 2019 23:50:06 +0200 Subject: [PATCH] added example for advanced filling and line options --- JKQtPlotterBuildAllExamples.pro | 1 + doc/dox/examples_and_tutorials.dox | 3 + examples/README.md | 1 + .../README.md | 99 +++++++++++ .../example.bmp | Bin 0 -> 12342 bytes ..._simpletest_advancedlineandfillstyling.cpp | 156 ++++++++++++++++++ ..._simpletest_advancedlineandfillstyling.pro | 28 ++++ ..._simpletest_advancedlineandfillstyling.qrc | 5 + ...est_advancedlineandfillstyling_and_lib.pro | 8 + .../simpletest_symbols_and_styles/README.md | 4 +- .../jkqtpgraphsbasestylingmixins.cpp | 10 ++ .../jkqtpgraphsbasestylingmixins.h | 8 + ..._simpletest_advancedlineandfillstyling.png | Bin 0 -> 90782 bytes ...etest_advancedlineandfillstyling_small.png | Bin 0 -> 23996 bytes 14 files changed, 322 insertions(+), 1 deletion(-) create mode 100644 examples/simpletest_advancedlineandfillstyling/README.md create mode 100644 examples/simpletest_advancedlineandfillstyling/example.bmp create mode 100644 examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.cpp create mode 100644 examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.pro create mode 100644 examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.qrc create mode 100644 examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling_and_lib.pro create mode 100644 screenshots/jkqtplotter_simpletest_advancedlineandfillstyling.png create mode 100644 screenshots/jkqtplotter_simpletest_advancedlineandfillstyling_small.png diff --git a/JKQtPlotterBuildAllExamples.pro b/JKQtPlotterBuildAllExamples.pro index fa171c1678..9a120f9125 100644 --- a/JKQtPlotterBuildAllExamples.pro +++ b/JKQtPlotterBuildAllExamples.pro @@ -75,6 +75,7 @@ addSimpleTest(functionplot) addSimpleTest(geometric) addSimpleTest(ui) addSimpleTest(boxplot) +addSimpleTest(advancedlineandfillstyling) #addSimpleTest(imageplot_nodatastore) #addSimpleTest(rgbimageplot_opencv) #addSimpleTest(imageplot_opencv) diff --git a/doc/dox/examples_and_tutorials.dox b/doc/dox/examples_and_tutorials.dox index 56785145f4..6b33131543 100644 --- a/doc/dox/examples_and_tutorials.dox +++ b/doc/dox/examples_and_tutorials.dox @@ -75,6 +75,9 @@ All test-projects are Qt-projects that use qmake to build. You can load them int \image html jkqtplotter_simpletest_dateaxes_timeaxis_small.png \subpage JKQTPlotterDateTimeAxes `JKQTPXYLineGraph` and `JKQTPFilledVerticalRangeGraph`
C++ vector of data
date/time axes
plot min/max range graph
internal LaTeX parser
data from CSV files + \image html jkqtplotter_simpletest_advancedlineandfillstyling_small.png + \subpage JKQTPlotterAdvancedLineAndFillStyling + `JKQTPXYLineGraph`, `JKQTPSpecialLineHorizontalGraph` and `JKQTPBarVerticalGraph`
C++ vector of data
advanced line styling and filling diff --git a/examples/README.md b/examples/README.md index 650f627ab1..cd226e6c44 100644 --- a/examples/README.md +++ b/examples/README.md @@ -31,6 +31,7 @@ All test-projects are Qt-projects that use qmake to build. You can load them int |:-------------:| ------------- | ------------- | | [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_logaxes_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_logaxes) | [logarithmic axes](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_logaxes) | `JKQTPXYLineGraph` and `JKQTPGeoText`
C++ vector of data
logarithmic axes and styling
plot line styles
internal LaTeX parser
add commenting text to a graph | | [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_dateaxes_small.png)
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_dateaxes_dates_small.png)
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_dateaxes_timeaxis_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_dateaxes) | [date/time axes](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_dateaxes) | `JKQTPXYLineGraph` and `JKQTPFilledVerticalRangeGraph`
C++ vector of data
date/time axes
plot min/max range graph
internal LaTeX parser
data from CSV files | +| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_advancedlineandfillstyling) | [logarithmic axes](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_advancedlineandfillstyling) | `JKQTPXYLineGraph`, `JKQTPSpecialLineHorizontalGraph` and `JKQTPBarVerticalGraph`
C++ vector of data
advanced line styling and filling | ## Image data Plots diff --git a/examples/simpletest_advancedlineandfillstyling/README.md b/examples/simpletest_advancedlineandfillstyling/README.md new file mode 100644 index 0000000000..a42dcfc6f2 --- /dev/null +++ b/examples/simpletest_advancedlineandfillstyling/README.md @@ -0,0 +1,99 @@ +# Example (JKQTPlotter): Advanced Line and Fill Styling {#JKQTPlotterAdvancedLineAndFillStyling} +This project (see `./examples/simpletest_advancedlineandfillstyling/`) demonstrates how to use advanced line styling and filling options (e.g. custom dash-styles, gradient, image fills, transparencies, ...) with JKQtPlotter. + +The source code of the main application can be found in [`jkqtplotter_simpletest_advancedlineandfillstyling.cpp`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.cpp). + +Initially several data columns are generated and added to the internal datastore. Then several line graphs are added that all use different custom dashes. In addition the third line does not use a single color, but a gradient for coloring: +```.cpp + JKQTPGeoLine* graphL1=new JKQTPGeoLine(&plot, 0, 3, 12, 3.5, Qt::red); + JKQTPGeoLine* graphL2=new JKQTPGeoLine(&plot, 0, 3.8, 12, 4.5, Qt::red); + JKQTPGeoLine* graphL3=new JKQTPGeoLine(&plot, 0, 4.6, 12, 5.5, Qt::red); + + // 5.2 set advanced line style (see also https://doc.qt.io/qt-5/qpen.html#setDashPattern) + // and use a gradient-brush to fill the last (thicker) line + QVector dashes1; + dashes1 << 2 << 2 << 2 << 2 << 4 << 4 << 4 << 4 << 8 << 8 << 8 << 8 ; + graphL1->setLineDashPattern(dashes1); + graphL1->setLineWidth(2); + QVector dashes2; + dashes2 << 1 << 2 << 2 << 2 << 3 << 2 << 4 << 2 << 5 << 2 << 6 << 2 ; + graphL2->setLineDashPattern(dashes2); + graphL2->setLineWidth(2); + QVector dashes3; + dashes3 << 4 << 4 << 4 << 4 << 12 << 4 ; + graphL3->setLineDashPattern(dashes3); + graphL3->setLineWidth(4); + QLinearGradient lineGrad(QPointF(0, 0), QPointF(1, 0)); + lineGrad.setColorAt(0, Qt::red); + lineGrad.setColorAt(1, Qt::green); + lineGrad.setCoordinateMode(QGradient::ObjectBoundingMode); + graphL3->setLineBrush(lineGrad); +``` + +In addition, a `JKQTPSpecialLineHorizontalGraph` is filled using an image `example.bmp` as a texture: +```.cpp + JKQTPSpecialLineHorizontalGraph* graphF=new JKQTPSpecialLineHorizontalGraph(&plot); + + // 5.2 set fill style, using an image, also rotate the images + graphF->setSpecialLineType(JKQTPDirectLine); + graphF->setDrawLine(true); + graphF->setFillTexture(QPixmap(":/example.bmp")); + graphF->setFillTransform(QMatrix(0.5,0,0,0.5,0,0).rotate(45)); + graphF->setFillCurve(true); + graphF->setLineWidth(0.5); +``` + +This texture-filled graph is overlayn by a graph filled with a color gradient that is semi-transparent in some colors: + +```.cpp + JKQTPSpecialLineHorizontalGraph* graphF2=new JKQTPSpecialLineHorizontalGraph(&plot); + + // 5.3 set fill style, using a custom linear gradient, also with changing transparency (alpha) values + graphF2->setSpecialLineType(JKQTPStepCenter); + graphF2->setDrawLine(false); + graphF2->setFillCurve(true); + QLinearGradient linearGrad(QPointF(0, 0), QPointF(1, 1)); + QColor c1(Qt::yellow); + c1.setAlphaF(0.5); + QColor c2(Qt::red); + QColor c3(Qt::blue); + QColor c4(Qt::green); + c4.setAlphaF(0.5); + linearGrad.setColorAt(0, c1); + linearGrad.setColorAt(0.3, c2); + linearGrad.setColorAt(0.7, c3); + linearGrad.setColorAt(1, c4); + linearGrad.setCoordinateMode(QGradient::ObjectMode); + // use this CoordinateMode, so the gradient fills the whole graph area + graphF2->setFillGradient(linearGrad); +``` + +Finally two vertical barcharts with different filling options are added: + +```.cpp + JKQTPBarVerticalGraph* graphBE=new JKQTPBarVerticalGraph(&plot); + JKQTPBarVerticalGraph* graphBF=new JKQTPBarVerticalGraph(&plot); + + // 5.4 fill barcharts with transparencies and make the surrounding line invisible (colored transparent) + QColor c0=QColor("darkgreen").darker(); + c0.setAlphaF(.75); + graphBE->setFillColor(c0); + graphBE->setLineColor(Qt::transparent); + QLinearGradient linearG(QPointF(0, 0), QPointF(0, 1)); + QColor cl11(QColor("darkgreen")); + QColor cl12(Qt::green); + cl12.setAlphaF(0.5); + linearG.setColorAt(0, cl11); + linearG.setColorAt(1, cl12); + linearG.setCoordinateMode(QGradient::ObjectMode); + graphBF->setFillGradient(linearG); + graphBF->setLineColor(Qt::transparent);``` + + + +The result looks like this: + +![jkqtplotter_simpletest_advancedlineandfillstyling](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling.png) + + + diff --git a/examples/simpletest_advancedlineandfillstyling/example.bmp b/examples/simpletest_advancedlineandfillstyling/example.bmp new file mode 100644 index 0000000000000000000000000000000000000000..276b359c5463b613836f9bebb77698c23b9f747d GIT binary patch literal 12342 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 Kj$2^A1^yehFkCSJ literal 0 HcmV?d00001 diff --git a/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.cpp b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.cpp new file mode 100644 index 0000000000..a47f3dd174 --- /dev/null +++ b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.cpp @@ -0,0 +1,156 @@ +/** \example jkqtplotter_simpletest_advancedlineandfillstyling.cpp + * Shows how to use advanced line styling and filling options with JKQTPlotter + * + * \ref JKQTPlotterAdvancedLineAndFillStyling, JKQTPXYLineGraph, JKQTPSpecialLineHorizontalGraph, JKQTPBarVerticalGraph + */ + +#include +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgraphsscatter.h" +#include "jkqtplotter/jkqtpgraphsspecialline.h" +#include "jkqtplotter/jkqtpgraphsbarchart.h" +#include "jkqtplotter/jkqtpgraphsgeometric.h" + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + + // 1. create a plotter window and get a pointer to the internal datastore (for convenience) + JKQTPlotter plot; + JKQTPDatastore* ds=plot.getDatastore(); + + // 2. now we create data a vector of x-values for a simple plot (a sine curve) + QVector X, Yline, Yfilled, Yfilled2, Ybarsempty, Ybarsfilled; + const int Ndata=20; // number of plot points in each curve + for (int i=0; iaddCopiedColumn(X, "x"); + size_t columnYFilled=ds->addCopiedColumn(Yfilled, "Yfilled"); + size_t columnYFilled2=ds->addCopiedColumn(Yfilled2, "Yfilled2"); + size_t columnYBarsEmpty=ds->addCopiedColumn(Ybarsempty, "Ybarsempty"); + size_t columnYBarsFilled=ds->addCopiedColumn(Ybarsfilled, "Ybarsfilled"); + + + // 3. now we add three semi-transparent, filled curve plots, one for each histogram + JKQTPSpecialLineHorizontalGraph* graphF=new JKQTPSpecialLineHorizontalGraph(&plot); + JKQTPSpecialLineHorizontalGraph* graphF2=new JKQTPSpecialLineHorizontalGraph(&plot); + JKQTPGeoLine* graphL1=new JKQTPGeoLine(&plot, 0, 3, 12, 3.5, Qt::red); + JKQTPGeoLine* graphL2=new JKQTPGeoLine(&plot, 0, 3.8, 12, 4.5, Qt::red); + JKQTPGeoLine* graphL3=new JKQTPGeoLine(&plot, 0, 4.6, 12, 5.5, Qt::red); + JKQTPBarVerticalGraph* graphBE=new JKQTPBarVerticalGraph(&plot); + JKQTPBarVerticalGraph* graphBF=new JKQTPBarVerticalGraph(&plot); + + + // 4. set data + graphF->setXColumn(columnX); graphF->setYColumn(columnYFilled); + graphF2->setXColumn(columnX); graphF2->setYColumn(columnYFilled2); + graphBE->setXColumn(columnX); graphBE->setYColumn(columnYBarsEmpty); + graphBF->setXColumn(columnX); graphBF->setYColumn(columnYBarsFilled); + + // 5. style the graphs + // 5.1 set graph titles + graphL1->setTitle("line 1 graph"); + graphL2->setTitle("line 2 graph"); + graphL3->setTitle("line 3 graph"); + graphF->setTitle("filled curve"); + graphBF->setTitle("bar charts"); + + + // 5.2 set advanced line style (see also https://doc.qt.io/qt-5/qpen.html#setDashPattern) + // and use a gradient-brush to fill the last (thicker) line + QVector dashes1; + dashes1 << 2 << 2 << 2 << 2 << 4 << 4 << 4 << 4 << 8 << 8 << 8 << 8 ; + graphL1->setLineDashPattern(dashes1); + graphL1->setLineWidth(2); + QVector dashes2; + dashes2 << 1 << 2 << 2 << 2 << 3 << 2 << 4 << 2 << 5 << 2 << 6 << 2 ; + graphL2->setLineDashPattern(dashes2); + graphL2->setLineWidth(2); + QVector dashes3; + dashes3 << 4 << 4 << 4 << 4 << 12 << 4 ; + graphL3->setLineDashPattern(dashes3); + graphL3->setLineWidth(4); + QLinearGradient lineGrad(QPointF(0, 0), QPointF(1, 0)); + lineGrad.setColorAt(0, Qt::red); + lineGrad.setColorAt(0.5, Qt::blue); + lineGrad.setColorAt(1, Qt::green); + lineGrad.setCoordinateMode(QGradient::ObjectBoundingMode); + graphL3->setLineBrush(lineGrad); + + + // 5.2 set fill style, using an image, also rotate the images + graphF->setSpecialLineType(JKQTPDirectLine); + graphF->setDrawLine(true); + graphF->setFillTexture(QPixmap(":/example.bmp")); + graphF->setFillTransform(QMatrix(0.5,0,0,0.5,0,0).rotate(45)); + graphF->setFillCurve(true); + graphF->setLineWidth(0.5); + + // 5.3 set fill style, using a custom linear gradient, also with changing transparency (alpha) values + graphF2->setSpecialLineType(JKQTPStepCenter); + graphF2->setDrawLine(false); + graphF2->setFillCurve(true); + QLinearGradient linearGrad(QPointF(0, 0), QPointF(1, 1)); + QColor c1(Qt::yellow); + c1.setAlphaF(0.5); + QColor c2(Qt::red); + QColor c3(Qt::blue); + QColor c4(Qt::green); + c4.setAlphaF(0.5); + linearGrad.setColorAt(0, c1); + linearGrad.setColorAt(0.3, c2); + linearGrad.setColorAt(0.7, c3); + linearGrad.setColorAt(1, c4); + linearGrad.setCoordinateMode(QGradient::ObjectMode); + // use this CoordinateMode, so the gradient fills the whole graph area + graphF2->setFillGradient(linearGrad); + + // 5.4 fill barcharts with transparencies and make the surrounding line invisible (colored transparent) + QColor c0=QColor("darkgreen").darker(); + c0.setAlphaF(.75); + graphBE->setFillColor(c0); + graphBE->setLineColor(Qt::transparent); + QLinearGradient linearG(QPointF(0, 0), QPointF(0, 1)); + QColor cl11(QColor("darkgreen")); + QColor cl12(Qt::green); + cl12.setAlphaF(0.5); + linearG.setColorAt(0, cl11); + linearG.setColorAt(1, cl12); + linearG.setCoordinateMode(QGradient::ObjectMode); + graphBF->setFillGradient(linearG); + graphBF->setLineColor(Qt::transparent); + + + // 6. add the graphs to the plot, so they are actually displayed + plot.addGraph(graphF); + plot.addGraph(graphF2); + plot.addGraph(graphL1); + plot.addGraph(graphL2); + plot.addGraph(graphL3); + plot.addGraph(graphBE); + plot.addGraph(graphBF); + + // 7. set axis labels + plot.getXAxis()->setAxisLabel("x axis"); + plot.getYAxis()->setAxisLabel("y axis"); + plot.setGrid(true); + plot.getPlotter()->setShowKey(false); + + + // 8. scale plot automatically + plot.setXY(0,11.9,-2.5,5.5); + + // 9. show plotter and make it a decent size + plot.show(); + plot.resize(600,600); + + return app.exec(); +} diff --git a/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.pro b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.pro new file mode 100644 index 0000000000..257033a002 --- /dev/null +++ b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.pro @@ -0,0 +1,28 @@ +# source code for this simple demo +SOURCES = jkqtplotter_simpletest_advancedlineandfillstyling.cpp + +RESOURCES += jkqtplotter_simpletest_advancedlineandfillstyling.qrc + +# configure Qt +CONFIG += link_prl qt +QT += core gui xml svg +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport + +# output executable name +TARGET = jkqtplotter_simpletest_advancedlineandfillstyling + + +# include JKQTPlotter source code +DEPENDPATH += ../../lib ../../staticlib/jkqtplotterlib +INCLUDEPATH += ../../lib +CONFIG (debug, debug|release) { + LIBS += -L../../staticlib/jkqtplotterlib/debug -ljkqtplotterlib_debug +} else { + LIBS += -L../../staticlib/jkqtplotterlib/release -ljkqtplotterlib +} +message("LIBS = $$LIBS") + + + + + diff --git a/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.qrc b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.qrc new file mode 100644 index 0000000000..77429e32a2 --- /dev/null +++ b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling.qrc @@ -0,0 +1,5 @@ + + + example.bmp + + diff --git a/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling_and_lib.pro b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling_and_lib.pro new file mode 100644 index 0000000000..48737bd8af --- /dev/null +++ b/examples/simpletest_advancedlineandfillstyling/jkqtplotter_simpletest_advancedlineandfillstyling_and_lib.pro @@ -0,0 +1,8 @@ +TEMPLATE = subdirs + +SUBDIRS += jkqtplotterlib jkqtplotter_simpletest_advancedlineandfillstyling + +jkqtplotterlib.file = ../../staticlib/jkqtplotterlib/jkqtplotterlib.pro + +jkqtplotter_simpletest_advancedlineandfillstyling.file=$$PWD/jkqtplotter_simpletest_advancedlineandfillstyling.pro +jkqtplotter_simpletest_advancedlineandfillstyling.depends = jkqtplotterlib diff --git a/examples/simpletest_symbols_and_styles/README.md b/examples/simpletest_symbols_and_styles/README.md index dbd8c48e6e..1cc7364da7 100644 --- a/examples/simpletest_symbols_and_styles/README.md +++ b/examples/simpletest_symbols_and_styles/README.md @@ -40,7 +40,9 @@ The source code of the main application can be found in [`jkqtplotter_simpletes } ``` -In addition to the symbol type and line style, you can also alter the size of the symbols (`graph->setSymbolSize(14)`), the line-width used to draw them (`graph->setSymbolLineWidth(1.5)`) and the line width of the graph line (`graph->setLineWidth(1)`). If you want to switch off the line altogether, use `graph->setDrawLine(false`. +In addition to the symbol type and line style, you can also alter the size of the symbols (`graph->setSymbolSize(14)`), the line-width used to draw them (`graph->setSymbolLineWidth(1.5)`) and the line width of the graph line (`graph->setLineWidth(1)`). If you want to switch off the line altogether, use `graph->setDrawLine(false)`. + +Note: There are additional, more advanced options for styling the graphs. See the example [Advanced Line and Fill Styling](@ref JKQTPlotterAdvancedLineAndFillStyling) for details. The result looks like this: diff --git a/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.cpp b/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.cpp index e434f99211..ab4c46fec4 100644 --- a/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.cpp +++ b/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.cpp @@ -122,6 +122,16 @@ Qt::PenCapStyle JKQTPGraphLineStyleMixin::getLineCapStyle() const return m_linePen.capStyle(); } +void JKQTPGraphLineStyleMixin::setLineBrush(const QBrush &style) +{ + m_linePen.setBrush(style); +} + +QBrush JKQTPGraphLineStyleMixin::getLineBrush() const +{ + return m_linePen.brush(); +} + QPen JKQTPGraphLineStyleMixin::getLinePen(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent) const { QPen p=m_linePen; diff --git a/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.h b/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.h index 87f7f64044..3da2d3ef21 100644 --- a/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.h +++ b/lib/jkqtplotter/jkqtpgraphsbasestylingmixins.h @@ -102,6 +102,14 @@ class JKQTP_LIB_EXPORT JKQTPGraphLineStyleMixin { * \see https://doc.qt.io/qt-5/qpen.html#setCapStyle */ Qt::PenCapStyle getLineCapStyle() const; + /** \brief sets the brush used to fill the line area + * \see https://doc.qt.io/qt-5/qpen.html#setBrush + */ + void setLineBrush(const QBrush& style); + /** \brief gets the brush used to fill the line area + * \see https://doc.qt.io/qt-5/qpen.html#setBrush + */ + QBrush getLineBrush() const; /** \brief set the color of the graph line when highlighted */ diff --git a/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling.png b/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling.png new file mode 100644 index 0000000000000000000000000000000000000000..676caa40471846f964ed83ec91e47d7bb8d161f6 GIT binary patch literal 90782 zcmb4qWk8f&*RFzuG>UXchjb3DA}vEH-QC?OokL0wT_WAxFn}~jH$zHy!x_}){hs&x zbI$nzOx*jv_g;JLYhCMFix4@WI64X;%9AHg&?O~4C_H%rX9D~2LWYBV5)5aa2>bKY zUP1i*lae9gZP=S<#_wd_J$X_diF&Jx0DJ%3Mncv8$rFsu$DgM?*53?ZAHHx9RdG(NIE#8cs-lUaWB48e9Jf4CozG<|{{)VX2<0Dp{9e$Ghq#-O&!SA^eTi`9K-UfL(~B3ser zaJk(N36m7xnIg++cRmC+L@db)e3_|S$}+6oVtac`LMrh4njjJX#gGr#1~RhG=F&`Z z2DnQ7kNyl503*85&Qd4Sm|FqU1n#=xSpNdVCP6urhApTyThcN zseJ(lYn@aTd&y+c4cN0ceGm9S-ox4sgqtiH4K~}yS78YcjW&{mzKgD>dfz(Nep?~? z8$wNC$)cOh>8j-g;$#R{LXN6I1RCV(07RFc$)l=)W(3Bw;`{h#rJ-sc!OcgrdqF+S z3%0)>Mn1HCN;0x7Y|vsq>cE=y2sFdHwS#c6(IiNmJaWjVE=p1y2QhC z*DyG|U3>(VHtwFP_g)E^Z*(s>cz_lQnbJGf@q2bLUasnd2v;I5hjhU@@h@@hZ>8$o z;di={HIuq?RK1<|Cs_*HtVtlX0kNtY7?ncOxDT_dL*@Otu|`alg*G!s(y&)~!(Rti z?WW76k1s7=6nM}Nc;O~d`q`$nUX7RrD?y1*H`BE_qi0ezE@ysb0&XqkzdZVxOZGASViY`+ihEB^kdNJ& z(eplE)LR1LdVFjd)Hm+C=avU{z)$40BWAk6-feZXjYx~IFj$k)P4fn}vmnh8quNc* z40DQ0&PWg5tCI?ZYP0q~j}#BIu4?42Mws7Q{ zWAvrelSNz@2yJrU zhnSiaL1vteeKC!P?p*GRWbcy~9j^>Hf!U+MM)ciZJpHJk0*+@uNZ$qe_F?DGaf|@w zV(|n0r8KR@m;EFSry6DR*TrXV=%w;EbpLf-h<0yHh)rsm`oyn~e%h(u7f(zM5qcYSPZ|r}~96~Aj0mdfw?JTD3&CZpf4l)3b{jrz_?WC!R10v^8q|xy9 z<)t;w}WkKv?Y> zx%h@@Daf!!*bblE)6RIwNOO_BU^87gx33t%^jYIHd%@Y(os)>gc!i{aARxlhPARSG zJt>EKdlFX;df%;OJbT6S8&^ZM8mCt!_?GIZ3I>UCq)d0t<<;@Fsxu+w>S?N_gS$J! z8Y$J_mBJ#L0k!~Q#JpD(s!c%Luj6hSKRf-z<-;ZId6w#kyt(Oqn0`#HRH$If_gUf# zw?_Tr|0=TJSBwV2Bjn(LRkyX7j2nDoUkcSLH>x+wSV}Fz6Teaws*&SugB_m{gJcX* z=fwZuj4L(ckf{V@#&ncSGePFc;mm*dfnePIL}K!@`Cg7A=aBgd0j)8AvZ?Xfd)b-? z^slXam08BEuWnL7MofUOP^DF7i^7Gs;HJ*CxZ|~?7RN*|2t1inwtqm(FpM=BJ?@wn znIyVCByPh1Fh@^n9aIRcoaW=ToUL-@)vg(PF(=%0Ufk(Vuo0tVBsGS|g_>_xsh*OA z>a;#ky;94JV$T)8{;G&$Q13`@M)#eeX5?M%(AnX#JPtgFd`-)#geLvDgP2o^Q>1Ey zCGO>shTPZjHmQB}c3;nF#7E=wO^g}a^4x2%Hcp>u9KxIH_{2SQxAJ7=4H}9+QAp*s zLB@EvfWQ+!6_14&w4)Ru{xu7iz~ZA>EW2~k%zHe`S87XZ?vKxgbWOl`N*mJiRKcv|zDs>oZYk&-AcVYh@O;tR@PMg)YjZ z33#n1hA;7bOtUrUu} z;rM!Gz|?rluj6rU?qtV@I9<*;4-^}bZklzNL4>kaEvr0*3#JtB^j zAC{DBuYdbQ9A#|y$8t-%9j`Z-IzEG(o?1!q#g6`7vEILEpZA-+cb8PSx<2(visL7U zIh!5Ou)$9(=T;6Ve{L^D9^`YrRAJNNvW~E>CwLB@%H#wCU#*M_e=!<9{6MA=Wh*0e zuN~GFrZQkr{TE|fAm|MCfjQTBW1k6h9YCum1e@+2oNp7=q^; zWUr=Lu>9S1=b1>mtZQYX8=yk!RqT6nT@(66Bo6u*Qn9z3h|X^D4{sf(D`-3LSiF5>T}X7jhDN=@5KoS#D}mZMMJgEQaaAh z#+txP>aGK)gzU13gVt3MrZ<{NUSXBIvu3>-y(&&cgNC{@gFjoq1ySRxhGgS-pC-=? zF1ZW4hy28&!{|?HR5Y1pO?AxCJgE!IY9@$jqv2p-AJqjH&$@e7G@MJ1Wj^#y|K3bJ zV0^O_;&U!i77i_we7{F)tScNg5Zw+aU6QsVgwlL`Cq6(Nn?IPy?s@LgNG`2pDM0oj z&h}VD#J1Rwk(-TNS`iXX=UbvBCt0{XCA+`$5=)tr4k5n<$R! zQ?seCXhdM{b+D?oak4BAU~{~mQv{&vtfSAn_snAYp#27{Mvg2=pZVLV|O3tn;qEY*Vy>6$t-yBT( zPxL|yQTT^mSA>K^uHJV4hdjeZ4oC9wsz9}(^EFI87{!tmz-yu=tmoqaE07cT#~2pA8TrVz7b8+!0EeJjxucbq@g z_9Mcd^KxDI>gD4|6a?7Cbfl0z3q>cH4O*oN+tD}@4qhM)Q3Y9#QhxE|fPJ3;Fv5U8 zo48h`!W)e!E4S@D*f+r$pSIJrU?*hTFrS8{Q zTTc3NuPf7~XKOFx{Dh4|Gy{NTgPnaQLxy&b56!T7e5elCX+zhVNwqP0;n}t*5~`g8 z)onOPuArl6Lr*y3lwRc3P%j`vaV&1R$zW_}@LKuz*e8!;V=Tcj)-$^HRE<)5ZG5&S z=l0Q%Xkma(iZ+C;BB^Uz*$F;%XAQPM;L{bDRl6qvm9{wf+Pr83dUiW#c8OsNQzbFo zRDkJi>#`JcQX|OYZe0Anv<7G~a4Zz&RQNZ;=icDmd=l*SU?kWGABqW(v zZ$L^5^+=7{qdF(Vq8YT3Q)}iO@_Wnz)4JPn*+K(saV6p3X`fb6ff1~&Ve18EK6*uW z=O4GA$N7Ku7kQqcC9fM0*73=(aDO_l)#`eJHUz=_@=*7RqlaX^*&Q#zERNyx+AuNC z(Ui9LitpX&xa|7lyFS|VWnay5y@1;!DB5o~RFztRY(KBFbwjoSlll_nzkxXT;;bFw+ypB~2A-4Ad+Sk%-g`sPBg*%k6KADGJEO*f0f z0^Oah-nqZKS;s^O_G8ksfjZC*3qRb#($#fL(G)!caIN){SV2HV`&#^}As7{x5g8dd zN*Kp7G{M&EbW~ik!6Ew3yX&i~S5p05k7g^e4Gav_JXvg?Lt6A>%*dcpX8f0?Ol|PLo=T%x^-cAL09r08XuIB z8qq^aeFt3q=iNg;Oj2B!$9$vh^P}zU?2&Xpf1#M#B_y``J^E5yvV)SUoFOcSLH|^7 zO{&spwJW3!tAdw&>o;gD^s%(wRyggcJx+c?S-TrSoiY67c!qkd6*)OMY~tYtV3#ch zZ{}HIey1YkQmx~lERX@XTXZj+fMa7Ii4rzhhl52DJd0@dq5eRk&(^iCGtc^p-PW8m z?ea06-;g~om7z!@CrhAA`M&uB;5```y)#G%v!*h=7(_LkPV1jvhf%h_MD=}nKR=Vd z2NNx}Or^|QEYAZDga$Rn4WXyN?@piVn5R;>U_e)*5Z+)GhTUCQSc5O$^!UH`@#e~wnulVd>=y0gN=(@V>C#31>fVjJ6C&fdv$V*6mgTt zVGNX#3cdA#(yT(E54R_>S0Xf=xFX*++DE(ECNLv_=u4*}y&bY85#H-dWaeqN12;D6 zc9)uVIb6Kg7`*4)y!W`gM>M=wh`bY_U@Lk8TCuaRJ*H1lh4vt8eXrqBKr=+wo| zX_x0u`htVDpYn>FC(1iKWNfJo^z%xJAdTpL8|Ydc3J(yo9W*Xt13i5Nsh)dWSc8E(FRii#^AGSzYDsCVLsICm4KYsklb1*s!lS=cp*5y~;;YeW0HiNwwJB z;Dw@H9xN>M85@L%;{QIpig4|L`dRPXnO0U>+=9{Bff@4b2^z3bdZPl)nAsk4C@ zf63lo$20DW$9ssxd&$I~QF~vI_qXbmXVvC|#veYUJlsuHPE3#qp%d_M>a`ak5%EwF z^Jcf?;ejfyv(R~f5ru~(YMAYfW`Z9Ietidxe#g_iyU5pXY&_5!x4ZK-j+Z%2x#36> zOdPn19w6z`Tf{WDe_OHae!S^yu<}HfC|~a&D3WCFsAI-wk0tWz95R2jV*cP|v;20o zdnY-Vs*+Gfb5c`a1=45x>JOv_(FsCa1%>i{fNc$CZP@ROk9%0z_34tXUM6vMjYCwe z#E0FGkXk(5PB#;bFk8#*tSW{M0of9#7<)cuFtZNF7X}a!nZmKaGl&p_tP#+3q4%#lf?tkdu3mg z>RNu1!4?|(E@p~tjCLNK7|`|Gj|HZyu#($^W?Q#mG7afpEtgl+9AZ*+6~LsR^h#vdBrhjr8>LW1{pQJcyQdC-w$5yx0NsF&qkybc)%p8B=+J&d%e5cl6Z*b4y+ z;<^bh9%`HXn5<+waatfLXI~4ONmwHA%sWfuK)n!Ot8vA35f1UFo@atwU9Mdkk)e<3cbLNw|!QF8`T=(GH3Eq8gO(xNxD;9FQ04gpHtti9&(yEeI=PKI z#kFGS+MfPeYIe>U_VKQZSj2BP-_^O#+!(e^Et*cGDB-a?>o(x_N4RV%oD}&QSfXa}rMn9?!S7=u z#tvTb=Lc@e^}_U*v!@YOWBXp~8!I{cmI?>B1!Pi$^Hk^}ZuhsZYtd`&$2(6fz;O*^ zCbxG-7v92C?)!1JMAnGn-`AyhhhR>E{0Km>Xn;ix0dT1ix`_kael!_X>i+WB!_5Aa zekx-%DwMe)&9*2j9!;AqF?f@sMCJO6)b*O#mB#lc2JHhXrQ<#TpBA!WuU4-x1;EQW zH*;lv13fjhKP?yrww^-+N?w-S)opE@4r1>_h^E)2Ic#PEjU6^`K+^E@0PM%G4r6@e zq0zQ#jEBqQg5HwTHT@MjA*O2pky7ikV&O?n7uC-z1qKRS(E>4VNkOy|tG)W=Ic{hL z*fONv5@{}N8XP>3dI$TGgH{1s(FxCwTS3B0mu|CrO9@NrO>Y{OSo&o(Ln36^PUapK zU<-!rUJoo}xCK)ff=$>83T&W=#C#u>i(b$Iaa)NDuIj?Bx~D#JrLocV??~`6(U+1x zHB)#e%8*y_?dy96+E@n3eRg2Fv9;KTB*S-C8K+Goxvy6sAutrPks_gaIUkwxke02^ z6Lzu@OzDLy{1D!9hg+WVMnwj zX9j0kvvnJk$LIrm{){L>GKBLo*~X>SaDx5ht8E_HH9=z)Pt$c%rV^K*Fxw?|HVfMo zRwYll3-&w74+xq5Pvl+Z0sUOzMHlCOweDix+*DSVRbBOk3N^$dx9$^I1eVSxfNEW~S^z?&fn#m7r zCNb5lHzKEL+(5&#x}FqB>rd`-sB+)ZLo%Ofn%g?f!ipj!ihtuLoW~;I;QQG#7|PI> zK5q#So+8L$a1El(pVy*F$Dbc}bY}sDe z`(C@X2Cv1FrAa?qoh7buG4UA>1rK3N6ylnZ=L@ySc{5cGgM$)9K&FVGgp!CCsf(aB zM77>G6KFZ{hK2fkPeeR2Fg6BAx)Ke)@83Pd2gn81lJJFkDO9L*0p7Zgu?_&I1LkvRSA;VjXmZl~*=XYtEo!`tZvI~lJ)WP1Jd_80hrN$jVU!91!KtP5;URSxnu(?IB2z{X8fOoANY7r z2zhT9c&B`CZ&0od4DIfz?N&r%%%NZoKKYUc<#{?zv4ry61y%NXGb`mZ*q(7C3(6}lynk~(TAUtpw$K-7WuUKIQGhx#pJZ|6Z?X5G z#*u1Hn1-J(DwQl+bBRkJevWiVKHa}g4_q3DdRwQ}J7paNy1l*M#b(>tpav2->fIen zv&kFzEZrX{!Eg-D3j7syGkp>@TobVUW8>KTIS9k1#Mf$Cgr z(ayX3cAIVhn}VMGlxi}uG3l`u7UAYjXysm^_U^*%bs0u&9(rA)$7<)on-}-|IVi2V zBRMEZcXeGbnEM8^-%Fd{QCAAN!2lZhS?Pkh|2nF*m7@Q|6f9UsT9$Zx{KC63L~WpH zrFZ440W9315X3^hVkP5y?JmY~wbSO^H}3RMB6;zXc)wA-pEYE*Kz>MObPTg~I$t_D zILEKodgMpH7qnJis8kjF3+X%3CfWQvuAOfC6(wb)#ZI-S;m*VfAv0J`_nMCVNSWP~ zD(MzAiQV@j2{7;OV_qa9Kkc=fuRyc;JODoq33^*G7SRsE1i2ra-YzCgMxe~JvaWW( zN-?2Ci>B**j{z3O!DZVT&3=cYz99fTS03RD>#jvX2Y!?8Zu{5>l3S~ujmRlR@1x=R zNZHhH#DZzzq~efp>Q?>RA-!FEb}LST2co3qpMaof;hJ+{D&>7bU)5V^v0xIYvUYg3 zUDlH5X11MI6IgnEbiBV!ZalfrXiFhAo?dwg5db1@SrgEbMZCZ=h{F^j zMltEE^XA~rW}^>auh)eP+mBr054!pj85fAKCUULV+UCDMu)O3k*l3X!F6N)P8@?;1 zu`IYdVR-QJjuq;cSjt`7pHV)xcU^DE{KiL#$wbP7Tz|PMy zsE6q(iZH2C6)uy43zD0s5fVJ($)(1FxPjJe&?z_Q92bX`#>%@8J%X{ zXKdcPS=fhHC{Y@>*8eK!!tOXOA7rmkFM0B7Q2l7~2UEHwKj5~vz8=rFc0OF-;x)Ab zb>fNL4br3F$T|;@#`%@uZoEWV-Cuj+G-gY*T@~k15#X@+vB82ulPAWCNW$4cMwV#P zVLccjQdaG1%y*Eil=pC9h$9xLq3%k(YNK)sa?$_pBWx?c@!zgSjr7h~;Pf(qUowbf zO&@lTER;@V9&ppyLI9FmF~6YQ!32Wwz6EAzy^Z$C>(5n(f%^L})FJ=p%n!X6liNY# zIrtu-5v*N((7yH=8{T+vm-E=DmMw%I*sovr@wh&vu~&SbeaLWesicrs&poUli0{Gi zItZkkM=HQ&e-Rq(oi`uKVSX9LKmYuXI`HR&yAd-4Zv-7RptcvxMN%_PAKI+lx;Kk0 zSuF_Hz1w{A)LP>;ODZkPgSggJLKQ$0j-Az7P>#Yi9QV~r8>#xW^M zTZtEclY43ZCXLi)_iSm%F~!rd_j?M*`TWhM#e82%a+%6I>lj+-qa+T~L>y>0_%Aw0 zU8%qRY?UPRj|$|G$krJH1atPK*lKxuf77tGl0y*taA(ipbddYAtugP}EB8*^M=5+B zi3i9}m)l4G{!r$m&;I>~9069IE^py;+=5M9sKDNt(Q!MfU9%|s;^!Umzd2dj7v~9z z++lzWjoU?<%LdqRocm-K0iv6IDtK+Obo=)6X24f=t{9294+>m90xx7qC&Iy0va9TD zf`MxbfLEnjMT_@pC#CQC!jZ`YWIb2%G)$u(gU|nXg+w3MkabI@`^9K(e^)s)!1`KU zXiLZJyy9q-_ADnn;%oOvj2)qZmJHmdoc9a`iSHSxV}G1O2*kgumS`j-#G0EplMF5b zO5?ou#O{F3i`&i@VWXI017Rt(+e#TNAanL&*~R@_^M3Of)Aw;qHh5Z^kE+QPX89Yv-jEdR zEVVb0pI{=zZ|84mB2>huS5PlY>#I3x_eC@!bAL+Li|TWn+HV4 zn1e+(RI91~mpT5at{_nV0Emc)@H_2Jm+6Y!N?z8QPnBHkFT{G&J9D@y+cS9RH z{@}DT2_niTT7fZm-@mJTE(KI(${oNvstqSWh4ys%Asrv0;$?`TzwTli0=Kh_0vh93 z9vI!iCjg_iq0P2ZzxAiT6deZL@1nVZ#kl*6hC{X1WJPKS97b)y*dzIv4qH!3TTmQ- zl}*Q=3)DI8uwSljruTQ|f9zw`K=JmTd=fWZXS>QVoY8-14+ew(wU-$-;V;#L>KLq- zj0C@NTP^rnxA<^dE(hRcC^69~LPqz%5OK1;SnK&jp^-TvT$cDCD5KXsLCZa%ScHEP zN7B=5baC1z5~>T?2bSem?M-?#?coBrfNwleWL0 zl>FcXJYs$t*@+gueXubEXFjN(JnUXS?A~IKV z*p0_(fc!BHO*)|?g2d*W(L9HSw(%~|>(7n*s7*u}Uik-gdOx)9FBIh_M!oh980=wb z^*2uQIbJ6b92QFEj_X;f>^XX){;3H0;fAcrr2Sg?=G14UGwDWccd?Bw)Gkx!w`%h* zJaO&1Hws6^8ylo&L~C%W=Cmpj6+St0}!S|95?`J$&X>7b5IK5Yt@-^HR|nxO8;>qJ%`$3m+aI9l2F63AUWey@8e z@nruc&yY){+L~3{9FS@>^_IZJSwSw>@wVm?7Q&Av)yqtx1qhjA89tApmnt#U%ebDI zUBA7-=NaN7C{qkXCk&PqB8ZHYpv4Ko2q;jTk?d)953_?G-TSw2_>~x%gEL@MAFe~- zi9P3SqG_Ttn9}IL5!l-5;e<6f(IPXG6;Q2UoCX4+ zj`YuAk10F=+#!PXni<$apnqbdQpb8{6h2wJQop&D!ZvcgF`PiFTEn<-uJPR3TB+~y z=yodS1SQCTKnfdmf|IOUi0uc_1czQpB zh4X$opuI_s(8QYqvYBpNM*tllI1he;IUnBsUt4^rqs*iht%i<`z3WebYhf`5u`2hz zGIZh)d;7Lwb0#POuh9T!)NK52*!0u4*Gu6(j$RiejZ345_a%+as^|z92j4~iy$8o8 z;H)#F@SBTqA~WAMK5q9@9lQu`b3|Ezr(Ry$=Sr|*(>y^~z(S-oQQButlc+`hP@F*!zca6|2BJWQkJvbnKNJZ6ZRDTqY|5OwJJVVne8y~l1O+ef=*2c6rL_9+_9AX#y z$F;Pwd2?DDa&%+bMQl1x8h6N2t4$R*Dz>Wq5X)o3wi?xI%9tmKc-ZG#wbB0ju7X<* z+dTS3TId|cS{@ggilth+V(xQ}nea$?M5Kf{#V6z2<~bwc)T_{y?fe-m&Tiv0UBPlP zk2cZ>%7t*-^-uw|?LYh$#^uOH2osnMYu6r56$4Y)Dh?6)k;kmCE7-4AZ+R^oOP^|QC>%)*a_{H4k!YL60DvgF`Hy4#H z1zn80|aVODF;XWS3kELmkq22|rCvg;t zfuume%RKsZc#FSX^|$TiZ^K^}(@_UpWr3zu@cH8x;x1Q$c6FCzh0)i47}@~nYpmjW zymy#-O4-E&P~;l9n~qW32MR!2CPtlj%yo7gVg>GNT0VdCj>if?mI*<=$j$D#rPKXz z%fZicrIiZ9nK=$Bx6|HbS0Fr5LXAD>=DfTz#JcHeDt~1y$LgfnZ(ny_2>+k_@HbA= z0ic{o)5RB(lE>myG>CziL9#-+q?6yU-P6kw@S4t(ch!BPI*9^D_o$2pqWCpO70JB8 z3*kP@VOn7k{9Xe5nRTul?x8a6FoF4R-U*=C5V^aJW~HFwRVXd{A`FbR++Z{~872&$?xk2Mr+X#0 zUuisNVL2D_4B>a4M!#8TtfYOitg)*eN~37&U1+29?*w!OlEiPpqp#5d_97B{4|me7 zR6Lz}`T6@A?C_-t9{aPj?q0qM>>R}RLz-I(Cl{7%!s+~vfgTP2lFks%7nnX|HP%D3 zfJ6p>xoi*F`jPR_0INXCHw{=L<{YeoKI|r^Tw>t-cGe2AOp8+q8%MkRTgI%D+GYn@ zP?7@LN=lPh+mDRGdr19SAL7O5nr221!4PHbKIl?iJCIuF7@5<8ZYg}U^&yp1a37uI zN5khxQp3o~kdVH^25+F&pISae_Z&dJL8AiJebU2wzQ@6MFaw`0_O8`yq~K*EU7nYx z6H(w^!P2yt1FP^2EO@(eT3F3uUYr?PLrf;o7Tq!3&JE%|f_t?{x=V{zY^1QdrvdUj zFj>qGmSVzd$`u<$uH7F9PdBGj!&%lctR8ALX8=jg$3A#_8|lBm2s92WP+Z5pzHq)} zc>UHZ3Z45Ui$;{V2nEIRl6Se_kTqo4M(R0C$D!_DgQ!N~s3|igFAb*bl5?ro{_xD7 zj_EunuKC5@`dKA(N;@IH+bH+WhFF^dpyG84!ukBY440Nq@6%TS-%;csjP`cF-CTLn z76QLkrGbA`g-88~yS3`o|4nIh#kV`|#XjE}HJ^er9&BJU8b~GcZn{`c*v%SG_qujI zF){^bNXBZo6?#D=ytb)Lwem5EB}^uy)Ek|Cpt6+h0AcI;E;^KvzgXwf=o2d*`NMDi zv@uEpUA4hsyTNg1H)wkKQQ)-WH~96l011P*jEtf^sF$p0&8c^>+5O=Xig`o+g4#=B zsm0S!+&0iJgb&sZ6wL~Bw~>f|xXxpkzJpzSNDh-2Rngx;!Tio8cUT3CE39i&`(=9i zJ_=VSN6>cto(iIu{0?$lRz=>c&%-*+nb{$Jz|@=qib^l!?{azJnPTXUeuyEZO&ujB zB;1U*bJik3n62E7zxq0ZNKRjiIw2Eo&Q_c6{b#n%K=u#!cjqEhmsnSRaq}3kM+p8?t^C9^z%mh9wQfC z@$S&wJk*e`4^Dc=Q`)-c7AlSLXQ^5(1N(zz-dy5rLH}@Q7iFf7((mgA6hcCG{;QWq zurS1FJ+%0Q(Wm8e_4n)*!-yYoGo7|r#Y$dREwCt@nl1U#<;HSr6682=f6wn8KL`Om zLPU@vBTTQjmXOjruukTng^`I!VW7A0&m@lBUyAN0m6!qVy{rIAF;@X$HApi}4?-U2 z1nz~0-C>hb#X93JF(0lR^I=U)iHc32ar)dLfF+N9hO{Z?@mqs&8k4281tIxTQup=D zH5K2s#p^X47yRk_Se4qLqc`+$a0At52wuk_0)%!uxQ!yC=dX#tTs++ZkEP~kfA#ql zh-wwKs8h_a69;6qd)GhxZV+EqC~3tgoZ<6pt~ePJ*0Pi%%T6{}x)L8;u z5#sqF)0_prVYCVE5tv!kt;-W$%~?UF%Y3-ltml`frXE|xu=BqXY{D?+Y0l1MACJDr zgP=Q2o&W1HB=9UTv%SRP~+XGQI*QcMBy&s&zzi7JVHE? zf9kxCi60z{5`5KwdhGK$9hX{bpMN0=N%wZD;zQHczJhdZnK&7OI%{i8CK>NMuWPNL zdVT~PV@nLg*z$xh@c*x@Tfq)AzTp~%*WY@U9XSRX!QGq9C0g7VEJEjV;~YroA;q@2 zWPOI%;fDkxEyVvz0+BmG z_LzUlf&b-h|J^F{uj136W&Bl5f6rN??U5bACja>2Pr3I0d-C-15CTHNSy)S3AUe^i zY)7kRqf@i|c`sW)p40 zn8}HzIWW-R zIMT!`aL4(n1WijTBHk!0AOa!!|nXTy;@cez%}_m z`mhHd?Z0!KM^E7#65V2!l*Gb*s$AMpZ@){N36e?4&=%fWB$=%VP}U9*11*QpW_Vno zwVVy{7jbRlRDHZ*OBG9Ew|Qt0Xn`LcJ?v*WTySQ!qxzVN5{BC@{Lr@8Y;(=2(TWir z9hID%YT1bP-x+k%;X!Me2k$@{IxG$%YNQLX8ltE$9@nDcj!4B3r|#Bo8t^oD&K}kP(_91Pt53G0&J(BG& z5P62+J`@H>C+G|kI<-w_Bkfd7SB0cjK(cF!m|wj4BT~Umu77@m856F=NB={cIy;02 zGGlH(^y;eZxjdgIA-}rKX2fmrGs0gmdb>^m+tuG9-&!|d&}b5qN|W$p zTy~_E#k{%sf|OrgxmD=rw|3wHZ=Ldn90NIxSP5(G@)76IPO9^ov_2xb?`XCz1g!@1 zov@J2muh5@_sc6HHA}s}Wi}>x0FHdVAfCkN6yjUbpgIW@rt|2d&1Y zyzoeT4LYP*hW#(*oBMu0g2rkIl1G)wJ$R~WtZPHmpEVQ@74c7;@m(itZ;~&&wPXYG zq(Hj5E*d<|OBhtCWetZfk4olU)Pw(o&D1ZD_=#M$SXvJAfly2#n<}<^+nspWspt&i zj|hpryE`saHU`iqCaTb(x5L56eFuo6G;whEbPWP3GS3yq#OGpgy`M&E1XgkE;(&Orz|Q@ zVrkfJ2-y7vl|I1@R(RfkSwN<` zhUs-}pabZL@H+iE6Ab4np~FJ@Jt;7i!6=I^aDE<~cpKO^J*xMMa_m49AA=P^2e(b{ zi|AK9-6CX4#*QbWW8)dt=`q(GpeO>nYHkb?hHH`RzbI)uwxxP$n{jYq-;F)To&{W4-G|cs{h-kc?4c7m{8xJ zlT&7_G63%5?mo0}efC#c1a@73<} zr1{;hS$R|bc&&u|#Ph~#)sk++8tpK%ASM`#!wQ)B9M`3wz#`vKiYefWb5a1w+ka$nx1f7qJ;{>GFJ}%iY|m# zxHOUAm$!ZIeitd`0h)+B%O8!Eo|!4+em|JE%H!ZV8u# zhej?W9&rk{1wR76EF$mGZ{ez%f1|y&U>trO?u=46vHQM-;<2!_Vg&uUlPj%1?dnf0 zJ&ll*EnXSM(Rv%B`3(krhaISL`4|G%beGqBgo#Xn7;)zPOw$HMTB(|DYT1aKCQnM6 z;0{`chnD6V#GtFweodCl!E>K#N`(h7|EV_Sn}Y>W?KgiI@_)eU*x#KpHA_URrf+&O z@?u%AkDq?8QMXgvpYGL%cfl-e2{GnyP12dUsuntILb1uK?)(nb)e~k&`*Meu4O@?0 z0(Ikn^4!ZyXasX&P@9<6QP4lxu>(lRv*K6N*f)>rEjRZuo zqp)bdZ_3IRe!7J+f}!~`BMy03L2b#R==*p)CYqg-iLe!MV`5owJBTB4TI(AQes9`~ zYIEg4Y5kTv?(0DwMQwK(A^OX;Sh-vj_hymBI&a~|ezP2DeX|L@;ZduJP|d)T8DpRp zwLCFt&kD+a){bg1-^&bVC#JJ(0{YQ!z~Fx0kxiqxSDC+KR?Q;kg1*coZ-G8iZdjQ7 zWbf%LoM^vCSjP^90PRS_lg|YzTKS4*KecE?@=$Sqnq6L-*ALJuB!1i_H<+2XwpoE| zR2|vy#bEhl$JW&REDh+>?6} zexVnxt=zee&t`Elcyn38DEJJezc`Ob(Ko@JQb%(KhZLTCF8%K2>G!{ExMwQtOqSW@Y7oIX^V}XMmBg{q`mk0(splauY8prL@@ct6vs)a(3ig-e zPhCnzl+oOoRhhj&5AJp)ngGZX$GMtR#uvdEd5cZCrF>juhf~+_E*D;R-wmgfTW?sqhcSaZ}VF$HuNp601~) zrW#hYa^^|nIkiv83bP5PaUdxb>EM-;@^&yAG&Zk6K9!#QSN#zVlUE_-Xp}fX}ZbR zku!JZ{U?U*xUf{wN`gg$h4Bi;Q%1$yw4esam=VQp9>Xc{4F z3^gv9OTRS6DS2g%wRj$1 z?(4wR0X9mZ#;L+{kh1nTv$_(_;1=K5>biJm%l_Gg(Zd}q}SQ!K9YsL%fr$BUp2 z6wT|b`4Vp5gVB2%dR1XaPVVDr&dqO)-SUOW{Y?-izn39uZp=hD^UauanQ^3mm(d7+ zd8YOkSx`NnX^!EHej;gHvxhiOamGUfcK89j@o=xU{V}Wy{%<@D5d-4@jDiAfR)r|6D0y~hXhcR80+!mC=MQn_Ag2nYe~5}(W-f)5!YoO7m6ZVp6q zI&nev3!$&-7RqWHH5$71r{`)wjsinTowMubr7>+rsvrCXRIRob=0*=$Jv1Ro{`>}aEhKj&x*dNS`u7IByC6GyI{L^wQpdDs{8WR z!$QZOGC_r?w3{I=Ls_$G0I9vNG$w-FWIbavY`=%uXh1mW8O>$&8I?-msyk_ z-mxerCl!?fkCC^SO@d~$387Nq#PrIE>Kz>!-rhZU3^Rh?Lv-2Wz?&u)p07AnbAqHY zmv*hMy`J21hc;hC!$fcNI$NWsHC&jaU;9;GhsLL5nkU*OBiG=+i0M}Ur!qp7&%Z`kvN=yfs!mSTZ}duCh^;lobpJ3DL{^cXq06z~crY!qvo}{sG@Zh2 z$l~pM%@DGgKCGX@D3s>tGy5xA>)X$q=S}Cy`-40OH74Y(a;9Tcn=GH$jXiu{(-L9q zeaW35ej$Rgx$X1j^iVe*zV7zu8*|}}F2MAEWZEH{t9HRp{uxnuX0OS z)mjy?pQNNoy*q^q^QCcn=kKfaSuG+ylmAtj(o^YRn-tB6!U-%zqih0>Kuw5VWl580 zvzzO|z=soiCsQbop-Q0NqB#GXKxIR4jlRb%X;I@_&Kqfcn;>dRd^96avI%Eb z_}&n5qiqF7IoorLBu3@sC!tsOH)shESb4W$LvGV~seDL%UUZ|LD+#mCwgDvU-Priu zZjL*W+gzzYb^Obfw^BqnLnH=6FbZlzUWA}5!{r8!>l$%8C**9bk!K)naNlD+=WmfB z)Kl3q9&)u3v<>5FEVr9vS9sa$9!Ch~<-CamZm%i~QTc;5597u!cR9=**+ZV2Sx_wB z59z$_aQ5eZefkRSfIhPj?wVm+4k7$Pl4R5TN?lh)*1=u!Fs}UgYdzcr99^Vh5wGoA zu(l@F^H=?4HwhoecHlXG2sCL=8YnHV;JKsdAAWFM(>OY4-JRzk)zl@-&x7qNaYQ3M z1QODKUBH-RsI=^y@hNSgdI$DzZI=nnlpTw3xm%;q)BC#yQo(7z5e6j#5gX3AT(;6y z3^I=|&@z5%v2dMI{QlD}F8MEYfGj0?2fnOv4kRx1;L&fK>R(kRcV^yJL&UTH4^?j& z7F8Ry{nL$rPUBYH$#fFz<_jj3?<>vAl;yJ%799jsB}sil)Fu$JhA3>@z`6z6+ z{H7>#dn!CN`xE%dLfy}B>2LvlV;f1|O1}SuCYtIkt5$MyU&)#ef9oPDS9PgV6*xn0*{oCZzEh!w;G?P7hJpHgf&73ymktZ( zZKkvv0ogYPuJFBR(q}!07LkJUc=qQoyKk+oUfW+D7{u7X^qXxZQ89mn|lFRTp z3q>B9b-$z+*;!f}YVA-}VOJUW2j3n76^21Ea!w4MYdhLEP0yTveDpm!-<>}AkH6)Z z5I;!$=p1lq$A#NC2HAs~3e&9VP9KKES1o*T3*rfZ^1Pn#4{Hqd`unDiuxgBEL1B8 z3iA*}E2)Fxp*sDtPCYU^^_$z`XJcs`?i(@X(`*vl!#2ui8XHx0jfjkwvC;3=k*IsV z=*J@)WH(Xo*5y?8hop1JqaVaR7oKvYa}-JDPjF%qBR$l{p3gy=R_CcIxnk}R3#V6b@kx5ghVRDc z^5+`U09)IiqC3xuNz%o$M?;JoNsN-9kbJ%|A#dSCKWeU&az65Qk1a;u&Yb6lyP?MP zo{v8Z245F?cYBmJGn5ZuNuGy|t#6!Xf1}i3OzT181Kf^Hu)eGPsa2j#Tb6p%>#$0$ z(m#+pC2Nvis*oFuY$h+v;aDM=670(34y)bj>7M)|XFko{7q22-swg>E&-XY82g^iu zLu4aX4M4$KTWb(oF|^fb1n>*fpUj1$H~uyn6b?ID?ZK7;+p)`K(Hi$)``yG8$%Vni z<+tP9mCGNA-*w@8^f)Lb-!QIjVEW_yLy8I4P9=sJ6ZtZ)FrMlxnMPnz;ptwR*Db42r9QyiA)PQUaplW=B67RUq#((udGz4n!$bLz=arK%x5nm&Ll2|^l%Unm zMn=DX?79ZZ4GT$#WJ4Zc>|jn{!s%L{&=`K|3eGDUi=(~?4CX3RG+LnSP$wIo8Z3EB zRwU5KqmZ;g*1<2IC-Gq5n}lYv z+J?kQ1}^^gM;7WqwD5Y94M6$skCda1RVmxer5IZ~tHcBWPUMj53#}(2JK@4B2dplv zDl2Pgm$it8+ZRFT`KB~VXG#B~2Wb3_;Ky^Lg@;K8X^LN9|7s2nhPjjO=K@c(rK=TJ z9Z>~T>RD2jCS&okT3}d~b#NXwnHZxA9dF)Q7)tCFwoTgk-q;kNkenPGKa$_u zP0b4#JC~34ZV4Vf3V?!260)!&{kkUKXS%k~$9tpeDs6c`fYgT~~WXaBrpb6FxMC2{C-94Tox+ zx^-FHD}HnPoug6q9ZQ{fN%YVZWaPYeK+qIXA=2%c`J-#B;Jfx)h|jP@NxENmVbyL! z1q-ZGzd+~-fP1U7c$jntP17CV&IBJW@5x5bX1_R4P8BPkz*=$D4!qa6{*CPZ`e0(m z6xsT4w~Fd5#tgn6iKBnIa-}x!+B#K{)p)X3+{{DD^-^sLq{p^~zjD;%U6KAU0|a{| zyaGS_#4qnUNnase1oRa}5J~q zu{fGy^fNBhX3*6Q%ps8uh0=^y5!vt~r8z($3V)wQW@!_qW2$Q_ymJG;DV6s@Vv>hI zz46iz^I4Zn%=4ePiEu2$lHZ`cc3GxAXiQ_Xc_B(F0^y*OlhemJ5*)Gj8dEH!80c*l z*m%72L^#7HLR>)CBvH3+-sg>e@gfZdnO{#yB}Th^RI7?7|GBm~6)%Qf zmR$^0Tl5Dkk>Q@S1nKbi6l--_JkE1`$Hg=`YuXyfm!uoqE^BnTti^UI@DTz`Qb8cFH8$wnSF-z$l_sTw zwgRb$HWyPu6d$f2Y6s=VXMpQSYF`xcd4da4Q#K2eMs7ANnP_HG$Oo&u!OcK4;LGNG%@sKK~hyH62YT5l_F-j)I2>f9A&>; z^$6Y-Wa~~JOP1MU5XeFU|6&qpEmQ)> zmS2n35HRhkKUz_A_bFXEXj?$yja65*QY{TrB|C1g z=RU;uQX!jUp8psG1H8a2RT1E{2>vVKF*3ZtzLt583KsM@d1d=5PpMMm3k4f9>zc}n zU*dWO#2}y~dxG9Q4JHPNeMs z$LvNH^zSXNNnQ)$$w1;`hYym(&5q^KgSF=MuWQT%I*@8WH#9;#QY_5*vY2~Z3zz*b z=SD3=m%kdma01-bKh9e6H_5pD9c?aFsNv7aT`GHN%;xb4Yq+iLiQnh$p&WP&tME=N zr#$G-ag?4*0R>>9c03dj+G|% zZ|vccyKA`_BpC0SlhvZ6>y*^=*aziDeUzLO3VF3>_ZRzPh7j6g^`6s2dc(L_(sl-l&qgZvR+)_0(8aa)a{Jy@q>Eerf`A?aki)J{G$%_=W6RLBa0F7Z@xyQCZ++}80J zHdhzz`fbCL9*8t_Z1a8wfBoRx#0=S(-LT7ijerT$#g10j6GZ3;O6w8mIWavK1u2FiT1H3<A1-32bB=E2)t5#q6uX-um;rAy zliza@P~u9w>B@;|$Ce3l=;-yhB;+e+>%H`{{SjULj(Vt!J#Q6~M3q7n77vfqQyd8y z3W|FQ+<1Z_=JxX)(LR!^qZ?t638!rNnGC78?=nd?-t!7QZd=ePK|TpAHB^BZ6DiU!t(>YYoG;B4Lw6|xrenE7sK@NQJggCC>Z zxWi6jrY{bnD!GEkA8OZ8r#(yy58t+q8shY`POH?3RnXT+|ChmS&$@JNP&CO?@&6Jm zUG>e3`U%S_vY?@OeJnkm_mLu)5X*UVH}&V-k*tiE6115cuA3gqDatIN91BfL|CIkN znn~e%bJAPJmu+g&oq>zc$Ch1-q1%V!&eZ}I2 zu^uvx$s%wfn?D63fCgmRWZOSUC95s}6xVle{Jh?O%JEZtw?F4Y*LRz>0AoH0rbZSl z(fA?>&ZiGY$cQC_BzY!K19+IvPSF%yKdzadLVjJ6gj-h+iR%gpiki+5ZzXb0+w_SH zyrie}zqc6DLw$8F1rqmt`rA}IK;dsAjyB&%=UL~ak6rG6Xt`nInWX+2WOq*_cT=;E z!;xUXkwmh*qQhdyT%Z3J!S4=(D5Mp=MTptX%iMgT3RYJoB(;dFqfM_3Z&#oV4L}>M z%lRDyox1Gj%t^g$#YhgRc|z|l2p=_{t_NxqN&uIG{bJEf=f8wje@C3AJW9389>?}b zT3bA_8pgSa2QZVz`LfYFjd0IJ(W1k5++n*cMr9}xmLQ72`^Y;V!lG+XxdB_yx8c0o zcqAChJooE)$|qF>-EUxPna9V*L3f6ac5mUp#!7pYSKM9h8$`bImBu<`ap5z{jp-5e z+wH)2HKk9PgBwp0qLOHIneu2Og)ww7Xt4P3K1Ar`?NTX6S^Xt~vvahilzTsc$huu? zrGqpwXgl)E`_?qF0L(d!uQ7%FR}N%<=2zzGGV=Imuz;qn3HRtQ=x#0k?_hL4dB_h8 z7{*fUnkk;HSN>rzkdC5>nSWO3%=*51GQC3&`Yfp1z%S*HdP#$6O1%I9eOt>gfkctN zV^c(6lGLMjVxZ%hS=tJK{kUOrN{ZX09;NhixC7&WWfUc3wsVge5XH}R|8fag#Y^(I zJleI(?j6|KT(+$|TEp_26Jp0_U2E_OW=6zkh7Ce-+^;FGj#t9_)yeV;{S9`dW1gT< zGQq9SzMlwG=L%|?@o+Z`OH`YG1OuM?8u4+d=;{j`Kf{u`w?lY%2fCHq-L*c~+aUz~ z7cMS698jksF zVyDV1!$KwqaE2IhdxI1IIKAq~Sf z^0V)=eV&?YhG;g_#1i69sDyCpRXd0o%sQfR@JKVVq+bXTueGeuk}fIoZ*j>tfFrXY zt{e`MfpdVD8<{1DuFx${(;wzaBcUje2Zh}z=eGuGDY13b-T_PIEe4Xs2#(QdJr;zN zM!s;M7sbj@0YB3ORP@WWm^_OQcABlblN?p&sN*8VY1xRfoau0KL8SHaoj^6Wgl3SS zhIz}+mg3m2rt_++fH|?5Yl|@QEr(z;uo!@Jod<@zJgG|)9>Vhq3kw;ay?(h+&+@lK zxGXp7f3DQ^2-vX_byFVpG61z`MOhrxXa^X>H}-{?;EsA0 z5H^+*Z6xM|kovGG1Us2rdpNUhe;_XKq89mjea5*^ld0nu{bD)3)X4a5==u)P#%x`)gmmzd;GO>0S55po=LFrx^Rwq6Vre9ybCD5T*1gX> z`AegAc6MsbKZ-d`;h2{N{kh!{mzI`p#9sW@Lr#84{F%?*OocYvopK_5#=%_8QdfYW z?(JJ8Qw)*V*ectG=a^cf{XfbF3W}|vu~U&t{^2HSeSM^&zb3z_VBBkb=TZDo=h`qs z4FNZHku+yOy5X>=1Iq|(IL1&EbGpYL1V54`=0{q>%F6aBn=BQsa+F1#6zD`bgB`@` z`o#{VUrh4)#~S1HDfPtu=BTHp(~~cys;kG=9lx*yN~4=Crlw>gXo>h>LevM-;Zs*N z2MGr5%@lk*EM2!lWkZYGEp7p{CWyh|s7+Sbjw;n#WvII^kANSJ1~_A%hY{rgl(-%I zf1tC78U1H_ZF@+ufh|TU-SkQeAoIS^&SV>8s?aG>$q#j$d688|l1i%prZ|!_nEL1Z z7B&Y0&Tpszeuc99_%8)kSD97#xDQeG$yaU11n5$0r4$mbJ^bU1zE;$vnjVi^Rl?n) z$8o@aQPcmI$LT>qS{&*Mwn!EkT_g}8d{L->75iNKkb8DGC!65s8?G$#q0;mETEhIjT7+4}4CY2@d%!hn!r|8RI0UWYaXy;|33R1Q475QCcm<-w=akldLH!VW2}C zIT#}fO!gpshO=vX!3rfU+;2Q5P|g-af{{8Wf5S^^|=zpp^^881Hn(5S0qVbL1x?eF=U2GB|-F4{J694wZ7UsjMUDTw=3? zR&4IgwwfgNv#tmiTb65NV4!v5B+rC%NoGPoz&%oc&vJCe(>4B%tXy*pKJN~LRrBub z_A8V5<;As3PY>{{!y}=H3Wi#Ym3FK@zx?Z|%FmhQD)sy**1S$0zSo~Jo?ZRfqRZYtD{dCo1qIx?9@svfwQjygP(yVO`id1tkN zIc$(rOG4$4cvgecOkbKE)0pt}Mb*~lFPFSWQCV=?Fxs-9xZ(ZN%>vIv|4sC4CVfr+ zxCQ3X_gelhlgV9J1)pUyt-q59jWHGHR?*E@r*N&ee+tJxp4RkSgnOogleHUcSW5B1 zmIi8?WK|?Zd_AkdKB$fESJgXGPwHsqvIJiP2fSeo*BHvBh-9@^=FyULZPkocSfZ|S zUv8LANt}l*kK%Gwg^sls<$QA(&?G!@TJRX{?k~JS$n&;{>DDG4%j=6x?ao2Ge^h1N z;IEMzEG0qHD+-S!wJ2J&<75%fv$wWCd9?AK+3Wo-CQ(uMEbYLDn{_Qo7hfuX!d4QY z-iYN(s+VldL{{$?EG_RKaTXJQB>d54I*5o$lLMCufFE(LA@IE_S& zjL&E~oRlvdx<%?oHN1JKQo*XEee|AMz9E3pOb~fXV}L-#JTDp95niAhs&f}lw=U4b z7U($ma&03`D5mi|qm))+t7Frl$T~9F?NAG{k(pvH9Xk z$2o7|m|j9hU_0u02|f)FsTgIh1%cpdwYZ^%njT4)qvzZ0Sv~-udK_miCG>4iG2TG@CpO{H-i|S*QP%P`kN=y%eA$xYk=NbSdn+vZS3KIoG7IgRj0Z5%Z`rvSl-KjZCOht(W@V) zJ;)pwS5ZE=-OD?#*mhaB_iO&fzcDR|`#fEZx47I*9k9<8Ud{zyfv>lo!Zwa=pnB{c zN+X@FoI^+*hrA*sHO@$dP3pkUq=N6&w4GQFGal0+v%N6>9xP?d?p8B0O5mcc{?=&Y z{dDA+&me=~A`7RvwW6fDw1yenlpL5JZS#)2kE{3n_`G2ZsjyD+Aj)HX!}E~)?XIx5 zk;blde8=qSICn>;jZ&)Em!A8%mp@liz;hRAPW*O6nkCT+o9X-K^|w#9GC1X(I)bo= zlQLZRaFLGdcKOXj>5F481>UumEoxJPH#s>Qa+3+)MgA<-|B zaulU2XS2%n=s(%5urEAl_xc7DV3zB3zV3Rbjt6clN|-y+D>?O#IkzP+jzZJkcJpYC zk49-1uUxuz74wcJ$xICwJ==YO!Vl7 zpyp=}^yZilf3RDI2XKa4m?@Jjr&8M^teS>-2HNY1U@7tCB%Wq#UnN&JMysb}P5#L( zh&P8**g!18Cd`tfPf16R&S}iccY`!q58MOYx4QDS1a|2}e@Ql~Q?pHco?o!2fBcyn z2)&7sct5WRyflhg>|av~+h+u;d6&|QzQ@DSbDgVxi1xdb;2c1ak;~1Q+XIPztg?97 zZ`6#H(6=$v3O-q0#mv^q#<$i{eJb9#3Xd;&gg|dsIIqTZcpMxUt;kZ| zG%(wqhy^czNAs0hK*yfOHHfjF7T9b z|MtmSqbp+Y$3l{(oY7uv5!hj}-o`6C34eMr)O>6j$#YLR5FKQ|1~BA#&?!ljJ|-MV z?)RR?y7v~Rb^=--61-NVV!qCw2|pru@XD}r3L9SHCI~}>WMAPI(a^|GinFm=4H9&` zjGjL4z0fh*Eu5_%se>jD2SCN6D^BkLj1A|*P&NmQlg{d2H57gy>6on_6B z+4xrZKE4<|D$=LN> zVUxpvgrOygUR=W2j9VZN$PtQ*@V3O}jQ#qSqArYXKoj<5K+EtmozUb8qX; zrG9&7g6T8*g<-!uTnyDyO9$z<+x}GH;690syLb>U9<<%6D%fJ>B+nu$%EIjde52r| zsGe26YsS&U4ysPp({u$G-eE49{?u|Y@xgQ+b>p+WnR`@B%EO=Q6=!*tr{8X-HY%XP zG^*0=c1Y9HAJPJ5IrnJ1wt_QyVX*zvM#&?l-o)RYZ;>f{qcQ5oL`0Q!DjZq0&FOZZ zY+0_3njZT`+OLsi(ZrOh)Ba zF;1;Jqlh)Hf3M=lBxa0pAkzYpyk^|&<7YZHrfeUir57JX)FsE>3|rlOewoK(@|TM5 zo}k~L@3d{Pz4v8-mB<4q|;L7ph(nJ%Y87Tav@h#$W-L7GQ&?F?vy&Fru2Ug z(ORL8kG~eBgBu!-K4gO%JX|-NmOriZ{fe7dlbzgq-{onXef=7Kxlx%(7bV#RNV zK{u1e0DV<~WpS2`t*wYb+Vk5h99>PGb82gGKn7{T*wP(;{xp87k~M*RSL$xg?pMWh zk1v~D)bj?@QReUQTg-JjO#k+~LabF=i&I zC=*O`#wAe}?YO)9<-A^dxi*K-WLV;k_w3*bmJiMjjm!iaxCdApe`urT%Vi_ui3KvV zKysfKPq&n7x+8~93m~si&20qOfK~o8^lt;;u>ae0vCx!)*{Z3sK|h#YWSi*E9qh7*@tr07`Z zefL-_OTRiN82e2;@OV8NJOTT7j_O*@13RHe{-pf92}J5h>qI1+{qz$0&8S%(J-YD0 zeHy!s7HKWi{l)IwiO{6x&OEkQkD+|jk)&hNqP)&kNRn%+4f8+a{h1=sfN7@*<^G8d zVzyQ{pQzpR7v==vimUWX>xuc^RFD2S%s#25LJ`()FT1{t_+)&p)Wm+XJ?b+=Gd-#>{W8Enz831gZ$;QKj=Fcv*q-0$d|jhSxR>D zR5E|7p(6T6?Q(Pq3^`R&BBvZRs*~GKjN!Imr?r%o0#(C3X-q$1k>U*%lLc|UxtO8) zxv&r@SrZNua49kq$frx3;QdoO_q-fPK#7=PA(!JwuqA>Ah9O6OsHi{XzoWcYR15oxYyc+t{1l}wQYG=x_%TCnSr~lcDDr_elo!z7!SP3oN@G$;j z+<GbcoVrzbEXMbv z|4%WbJDBV4PX#_B#*&F|mRsz(K9M?(i6NDXc0=drPN_C;t;HXC^0TvBA5J#Ts8OLD zbWy@%hrdtWETse6!NmYnGi}#7W;fwm1J$y7gT&OLhVOWzuf^s6!k7PUyFBGTpm_TQ zGHTvZSvgVn&a5@9{M@f$1-R8y4L}Q@j$a~h@RH^#0QU{o^XO{$+|uw}u67JnZ0!<(yH!Lr^emf38m%9rm6oADa(}Lru zR45E?(Y~dRoUdVg!2gdr$4wOj9R4|8{`dPAv+_XJh?1&N(!Oc@xONuGE?dq9!A5nm zhfh5P{`xC`>Iz9h%F+_*5c+_uRgq$c6Iq?^GEPYoPY5Rn-?u+AI!k+*7f;jho9f_` zD?-cBz-U*Rmj{bQuTLA;u68F;6I0>9 zrovDM_Kmj*2k<_^po4JH)!tV(`$a0N4BJVG-sbtu=f}Qo2)JdIqyfrAOS1=K*@(Ib&-4hy2R-N?neSM&vDa#_QB%>>A8t5-I+W|HS}e9#(M- zDpLL79_mra|H3QwqNk4A&+ncSh~cRqY+_}BN=oq5uIDrts076vl3N`6=l@|Xe*T8% zI(`&I*MFlikkX+C%lh>1uG<4)>qN-`>1i<*brDSTb{Fl{K;V@FUdXLFPniQ0MEq}( zOH=D7SW0B6h{6N~_4h=G;OnA_tA6TkkJrI3Y!Q&>sX&UQGdLxC-qtNeWqzk^q>KI9 zHBFJ98+cDta(^CzT-jm%HJL&OzCqrAldckeC%p++d{sFtjwt<0ONSka>{z z6l{-ORwhGEr~zh_#c|&yEH$QJ^f4_xO|@g^M4C2sMlqvE>O?@B*?8!`WuuVjlNsF? zbH0Bd5dEDCxtdE2%D~f`xpuX26=pl|v;JUGZMSbO{@XN=w#f4W>r+<;e7=dg z;ytb4h|~#4((QaGZc%(GMz{FwD6@tqU=61%3k&jXUz@Mq3SKECf1g{p+4nYZiU43s zCU4~;423~w8Ml?Aqx3!;yRbmWdU5jOvEBh4?uGpmErmhYvP)Cv2;lv=s;K1Ljl~4* zRLvp^Np^l#*hvcTV(XUmW{f{EY|jR_>lhUZP08+xz%V+W=Yx^ACU7H%$tJ?~OUK_j z(TgPSo;1|rjsWis7&!Sf^ZEmsEW-%wj~m*mIRBS?eqfl89=CODs(1_; zb=1q|Z+9MRbuyg1MH}opzkWCe<9rsvnw?73=`K@aLcypmC#}iywT_4CL=sszs|2MI z_|!XN2R#Nrgi3Z0^VHoZa`}9A>|okQr*mI@PwiSBF6cAR6BR3t!JozXAxaJ?ALFZ% zx%8#)V#WdRy&Wjv&U*H_e|3?f_3PO+o5lD8)o+N=6foywz&D<8OKY{rQ_S2=C1*_i zdQQ+eH>ZqPVAaR`*(s20!3xP7b~?(+>6&h#;Ub_B=E!gqSt#kXZH9h)ofV(Rk1vv& zZ;K!(>PK-oQ^yAR4ctzJbcRD;Mb%0JUi)Yb2??@LpZ7aQcxiVmf69i2I#g1i3Wt6h zs8{g_{{m^;^|(=yDlErGSLl=`@U7=6{IV}#RW1aTn~+*QX|<%dWGRhin2&#hD5;~R zl}V!j)RneRy$3_U5ZCH>+<&D!mp&;6n&fURil;tnd+jpw0uP&_B5QKxDzK@M^l%Io{T`=E@(D7J zzYL|XRxC5drRpQv;azqbWM+c3<$wyZIeZR`SQz$_qAuj<`?*XxtJH~@My`vBeGavT zI#Nei;KkmL??fj2s&KW+1;2L=?|7LWv74ubSN&Y-voYVVGSo*Ey%WWbVSX4+kv#Kh zcK^@jhtuduDeWkQ&vr4$!QtOU2@yDXjOi@pjL#$sjXH{o7R@Z^ZT<&!D7urDCm?c) zgR1?iPj!^^zuj0J;Hp+)dkH|tKRW#{0hLUyf#KoLHbFT#CG5xP`iO-&)xLjWiJ2zZ z^SdiE#0nq4f=rhXzT$&hDgE&>ZT%EKYr9W8dhq}D0FH2o9vs=feXifWYi%wl0Ej=U zm**4vk4y1?&yIgmf6P1J)Ecu9373Cs_SdTP(}Ue_ZFRpOU)+VX|9y>wXE@emQ>P$- zl7gQc;brYiWV%T6xb~&l$G`jYSx1vKr%(O}4e$&O;u+Pwuc`Mk#5Mav6$7cq(XUd{ zqXK{IAmkbAb=Ho8tYKF2u^p>)z<%>$U4Ks`kOEN-+vd2YgykpvlV~nBD2c*w)6(If ze*1S54FgH0soh!VheK~ZZOX?3x00%CBdgc{KD}$#1`o`}Ha2<++f+lm4io#2%iMc! z7xSD7Y4cLtc%|YorfTGSmdf?u+)Ix|8BO4215OH<0s(>5-?+R31J)#u+>bg8vNs|> z17p_F#A9(HEda5e%Bb@&fie*F(@nqKNd1T25)vfbJVJrL}%YS zz>%0ME)BrC<%FOKx+Uamdtn5l%FalZe9^-13}fM{;M%VAj!z}gS~%0#ru<@oTm87WYQLMa^3}VZ)19Fl zn_v$udrx?tl1 zM$B1WGAd-PQho@dhSF$uKv7Ef7+?yz*8vxQ(mLK2-<@HKB$nrf$#Lz54jW+X7EVH@ zre*oqM#hg1XV%m_L^T373Y``b(slM>Is#_zScu%&?AHDS1koqzxO|tSPxxhk zL&G_@G_i|(TBDO8^Xea&k3ia%mXv8&K00;JI~=(s&6wtgW=i%O=)RqgUk z0rqL&qNN$LT9gZM#Hf-%%sa6R{0#Q>M?x5B56v~nx->R+t&{V>Jh)tNgvz@b}|^r};GS6)cb4D4$eyhDX<%15Sz7 z<#+AXY1Vn?E7D^{J^cfhC+7h4fg+&_fzI$SeO71kP{IeA_(@|jl;5;bcyOI&fLkwY z8VFvgk!@Meo%cdkfWuKWOB;KR{;8`x)(HK`(lj6kQ>evsR4m-N?h2Lx}{;|qtU#160cUi*N z*PX4#z7;C2jfhx(Uy+Z(68(Y#`VF$&{}Xu*)sssG+v{W20Zo=ZLs}&nwZfT3^7PV| z;6bJ$PXQpv-nr^I^ffBf^F8F#B^{}A8u_OF%Cu6!jbF54+?ui# z?LWHIRQcQQNbf9`NITwCQ7=dSgwPw7ZvED^H9?FnXav|}Q@z(b^(Lvn_b?o^@j8$L4tKE+v-xwpV`nm?xvc zceUUgg+(pTDNE&~!+P%f)tqK1*)n)YR`u>l&u(g~#c~07D%CQ{j}>M_I33=Il^$9v z5%iqF=p}c@@Xa?xj4|$f`CYrvzb~OzPe3m;Rf4!Swrp<7Kj!{F$Vs}m5vmx|9+MBJ zcab0eL&_+*B2Z5N89=!mNr2j39msHKo!=p`onxkYno_+t-6F^&9pSr zPw8;kvaIK{wuojt>!?ntIACiziW&vqs+q+&)$S|U^L0oNv|rRegaaCg6&5t{dESG8x@aoc6QOZ-5;2?mS6J#>q5l}u|Ow`b@(G=Y$y>(eqwYAnFnc)l@bqVo?&+KP8q6i-2!k5 zAoqNjTYZO(C2HPtnX6#_!>-zmA{Vn6&yj2b)MVMa4t=Vp69&Z!KNd1eJ7GcB$Ea&Z zY3Pnt`0nu!*d>QdU_NO(sLbBoqT1eamEbfIiSHbA)JVa zyHLB`qgT&aSaA0TZD2Ps|EuGec;PH8$&DdqX@TXZ`6Z~qFiRk@#x1CA^m_2EdySkQ z1)N}uOLUJ&n#GSi>t}v5GtqpQ<%}~g6l4P<62$7XPA}AXqmF#hE(LT;!#Re(P4M*) zAr_GXAl`zJMvW41K64~eBJ zsY{@CXHzffwFTxdl(`s>wQC22BqhO5$khlek+4-a$uAcB!VDqbHE6f47< z$JRRnKrFQ78gE|wt2ucM)SL)`j`P?D>BlXfoHqn-J>Pu;J^^Un{6=@Wqk3Z#1$W~yYZ7AkrO zrH$gOkM7)kwD_y9C~_%|wEl-x!L0Z?6_(j%)Jckf2j;Cw>p2F!PMonJdhn`3o1*x~ z{+ImIuAW+;r@(8V4usY9fsN`!7oW2Q)^`R}0Io<~$SsHVpS%jEY;t2_5zUaY_bGdD z4TC)!<>do&8#ITOxo-l}C8^Ns6pI;2!N9;dim{grje1aJ-7q5$qB@T5;g367mu4-! zz9L1rX~&I_3u-xf{&_0q4IaR?fpUvF%ex&KtcZsPwp6^@8{HiVg=TWL*}uREai*sKY;d2C13H zwPZ8Clyt7uuacXd%J8pXqx`>WXfx}cfBqv%(4Q41rwz$FuRr;7_3L5WngXHNml1BO z_trFGqB(mPH(T08e7`-Sc`z{TLw88zN>AtZ&;08-f5ZZT^C=BZq|zT+pi-szsg!!^ z9ImW+yE*AANd;M^$O&gY8E|L{&j=0j<}BbS5<76^Y1EWwPPPC#DCV42* z&FJo`<y z1;dP)s?#HMWvcy+AjT7ij$yuuY9q{%q*10g!doZXm5t(d5%(^mEWASsi`FRMypke% z3PUxp1M=oC_zFTA)Na8J0xWJpUpIs5nuDX4c zKxT{X1=y6>VnyqQ^26GbM;r^{Rah%YjbdOFDZO4Ixn!h{w30DO1!aL4muN9unFULj z$Y*L{lFijxxK>Sb^M%ROyq`H=+zUG8>T8-d91_pM!-U*MI}9_%a$N3N=aQpFvVkiK~^V@ zm<*hUIFZn|+6ADGMpvFFERtw1z}cgbHMP1mNIYe8|YJ-7WF z9A;WE_Y~7k@@oYSzw*-x4l@psT!=A`U#c`;5-2-fZ~7oZqk|yD<^YHWU*uhJlE+Bk zk*YFoQ9OrVDvJwo1UTT((5I9*YDfRzEA?BvYB9k5?OI2AXlyR zVj6Xu3D8m!^@$%yBEm%0&kIAINppmJZ5PfUkws}9_frEuZZCN;f{NM+slF5RYLIho9_tZ{(H|&Z!pny za<2sN4a}`|cBk#8^Yg4Edu|Di;ZzI02XFe;qSDVF%Ke$GVich_R`}m4CC7|Di?Qfc zb#AcyEf$iZa=z0zgMg3@R;I848xLreS`aRNkPIU9`7`0OCPzSm9FxyHc7Iy5nzkvr z5P(^F(I4a{5jPfbP=E$tyifb3)fa;4EHzm){O?;Q7@xK0*9 zU~@P%cey-czgcSD@nPGTMB13O%RW)Yax;~`2!cY0LBw{aaZ+@q`}rio5)gqifq4g(o9&ON*2t4GOlhkfmtOQ>1uxtxGkH8rR|Zr~9P_W6 zpW}g6%d=IU9ZE9zzR~+Xf`Zx?9gMI%ZQ9eoH|zFB`ZaUJ^TfDe`$K$6W6L)P3i-Je z6zk#p1w~}&zI@H8JP5h|^ZwG+5&5LEF z(Pq|QcctV{O83AN#hQQI*<16jGVRM>A6#T^ZPYu)c|Dxd-F*<|F2yMjEPy%Dj3mXxwiT?^GvQ&Zb#lmeE*GY%M&xLrCbg% zUSp&Dv>|Snyk4z|b)qpAn-@wE1CE)N;=U>gFxd3^5)_ysX?ZUdoj3#8b3E3VYwR(B zJ4#(iSW^>OYq))M?Z#4zFqLOVcmXsL_Owb#W;?mj3}HqUxc7vxUVwarsX*RNjch-? z@hl2rf>qZtbP*OnVGS@$V$ZWBc}TG-IovUyUplpKO70SA}GfERuZZ_CJ3-A2bDELTU4FUuP5>GU=?Q-7FLc;43?TMvko(Yff<>@3P z81}yX3gO?b7p)Ar?|hJO)|z)3@RrKWOfW6MtcLaq4QW14F{(#t0jf@Ht;y1ny1AaV za`Ig*EpN{Bdg2o_5CRw#=C;M`6WgRJD? z7OB}40CaULt}ddHt7{L>1m){=8?qm;E|k0>9p|F%cRE*!JgJzUE41kMa1$@}c2_xx z>Gzyq`19~V18QMnSvBEVEW(zTOT)=6^V^4}g{j1$O}=;9o(Bj?{kRLnD^XfA0i2Q<_Z><+0HGNY$&nd;YI_Fu)i zDT%KGAh9VB4X(n2-BdUCE+A|9goFZ@w3fowMHtk*YvBbHgtuk^@>e1=V}7MXhVy;@ zo7<)*=GyD^lCvOD#!Erg-9n9vGeG3L)N$WUjjEi+_pJP+n`W9&OT8IX4!m({E;ef7_kJO{SdOLq=g+;4At?^Pff8TAbHo z2|Z{KI=T@1bsUL}b4l?bD<&WY{%rE)F|9A$`TubB)=^zXP1i8pEsb<{NJ>g~cXxvz z-QC^YCEX?6((t2Gx40K^vh272-sW%hkqbbp*bQYJta?vijI}eXCY)!>2LCGolidl%a%)pm{A(Gf6sPF z4nNF)dUYd*aJ^t!E4U^HlSU9l3m^R<*pHdu#~(PHA=e1%qor(2COb#a^sI6lYsp+x zNvZma6`L>TdF=LB^EPJTLo9gCnO8L6QgM-azLmznghGV+buU?M3_C=ogI~o} zWnL}KVXeB+*t4TkP2X&%Lwk7hlN!I-ou9?o#^M~>xKo%R0Lq?bJJg_m)PIRC*{jQV zD1BhR+lzc_Fz>a|OM_jH4)zPeHa@EX>5n(b6FiJ|FHYT#9SWk)9{#E*ZP`RXb083O zdEFYOJ}=dsIjc4 zag^J&XQ!n#+0=2y%LZ9BvK6VAw`mM|qE}gcjZ2=4OaF^8F0cqL^Oyce0Li$I>VPQ3 zz9`NtEY3dYYSWw9k)W^6mZ}t)!bR-Eq5QF7DsCljz2*w~s~*MpRA4?q?N&<+0T>a| z4kwj%E#`tHUC2h?fSO=6N-KY!%jsC;{F0&K)-2h<%WZ!B)!>80f$ZIIkg(AoW6k~F znv_7NAt7MoV?ti?=9a$<~o78(>O zzP$*iPD*=~H4Rby}dMT|@+qR4Lc+-7cmK-Y0St-Y5rgvaoY&w12@cx!b;47yN57oaP8ZB^Wwo+@h&@C&{zyU&=wfS`w zZ?p3=nDZSm#NP<9v3HjCQ`Y`f-0?5sz6KO$E3Z2@M=#B*1b6Qm240;D(K96EilpqqdF$mrv`nyF zxs1r`xXTbqMl=pqgF|9tANG(+lKI1xF&W5S(HneP7SC23?y7X}*a3$~nZn(4Df)yh zP)sUTc2>y@$VemUcy2+Avhin=BADyqgY*vD*lBbywHRU=sq_2D8BWxO(5%yNa{m;* zC9Neh%+OYw(~f)){k|<{lkDUyO-n>eKO%Ye-6uKVI>ihQI~h>Ycy`(Oqs3ds@7z7l z)<)!Au`w@>EBKvcdE3=%KtV4ql>BG$4VX)ayb zIai#w2`LWV+uHI#|2sBFoU9*3AUwl~YX|7W;0_P-jY$ z<>aW^gwEy$hM)rx1vogs)5HNYsM`Q)+4r<@DaTlvEpjx{Cb?Yk5%VtL4W+Hz+m&a z?}q|=lupE{Kmf;4GU0JW>=dtInoGRNs060TY}jynv#e8YDI)$1bj)#Jsq-tMv%bpb zvIO_GB54k8s_r!CI1)V}Ou0hK;Q{%Nf(*~xSmj@+&0E<)z11?cTms=Jpko+(B$G+N zVd_!7(xA`sl|2JnCwgwOl$B=puDVL6_xix&Zm}!K>-cixy$SM{QYbLj7j+ujmVPJi zr&n4z7*mPF=NtL^$Mp2CNW;G-hRfT~pvDEw$6@|sbT!TfjIPn0e(Opw_=j^Tdq3S< z5K{guq zLA0M4ts7lIYy6OTl9h zcp>+kEgs`&xaTrC8J}Big##@=sLkuINK8%GDBlbN5)Olk|10fGbDNN;QMqLXGu*CR zX@RGRL2`moSGGXze)-tPtQ1%I(ZZ@Yj?O*b^~^7XZ! zBR_e~@GcpdDL_kkLJV?J@QrbL`1ZrEM|TRFhdykgl?QkcpZUlCA= za7C5JN%oYnz!)O*3i}U%MbQjp#ERho{neJoRx_;%Qa)dD**^Kb!c)utG;?FM$2}t! zKW0#+?1xJxP45xLlNx2T51xo0aioWjU7h`taOVwwvShkDt9-yM>$ zh3{CM+@~v>FSU=M(M=k*F*yeW`#j6g)whJ`ow8MF$l6w)6CINL`i|f8qk-WpCL^6? zBm3haPd`}G+8n^m+mhv#J?qXXTaUNZ9lDNgFAI=l{n_yVt76wpdZGv*#t3}8Xa}t` zLrEt)hK7a$TL9~g20}Fjfi9uu)2@$c9by*i*oG^wa2r}V_O)J&bm7=v`T z#3Sl{pF%ylylQL}_o;9uuiwz-P5~zUX=}TU*|QUh1p^k4L^PuI`I8e0E66nxGC~kH z?k;Qq&BG-$KTm0RUuFO~)S!y(5$Kk*WFB?6g!tlMWqHf^+al6f;}imqp&!_m3I6il zvBHuyGR|hn47__vJsAA5al*P|`HVh>>g{T%uh2B`h{9VVp>6tAY{P&@G5{zznV~ZQ z^W!jptoA3Qjx-5=T-WG~l!4DU~$aM@P=c4_cH#mjcSr_GPcZ;r{$D z-`ano5fa8sfr_O*IA=WGo)+ywK|_zCn1%&08e>}Rp3Rr56p6>w`97~z>$IN5Bt?eS zWlh8Dj7P0ifb13wb&!{pqwGCat&?s;Zjrg%NOgYD?HuqypIQ$Ha%|^~7@eE!WRCSm zBK+tX%f$AJ&rva-t!m<-oUj@LR_Yj7hJ9Y z{~-_ML~C2qW@y$8)A_FrSR20^ge7(4S1V*W=O1sB!<0XJsQm!o^M4QCz6Z;1{HHX2 z&?|du1}1NJb|wekf8+^VBN{s*9c9tc7spF*%S)gin%6;E;PkH`{tl zF;y(+Q4^<@3e{dh16FYa)Rh#}#>j{ie{F;o_S%A|zd#J#h4_NrCImA52>?l;$IvX_ z@w3a=S!N1nnQ9=$BnaO!bunKwfOL_Lxv8AC$wS&wW#rzzO9t3TqIQ2qDsb@ECToq) z&RS(|{=jkfX~E@EZJ|p?>&2B~o*5g2<&CBOhBKWf7 zK5WTN(C#9m>xYD}Q7?^ZM4U2U8jOWy?#PV;EXcEd%#sY)5p0`*wB}i#ro`ff8g^4> z*8uArj{kE02g zZ3RLWQIH%*ofbSnZlK?Z?QzvID8u$e6z@icQuBqP%J-wXdRU6u@mQp@mX=Y3!O59+ zta(Nk!1PlNNB`YVf35LIR8HTMC`%412WM$UkoAS4(g=#+Fx=TC$ zf5V+S&f|@=w*$h?9Gl>XJ+7qm{)cNW6K@qxG~!b2OX=J^3!b%#J9s`N7!hYfOgyNY zfYUozMy*f({_K5{z-0zfLU-i*L;%I%^O=QjE*V;#+?6_vdOJq~xEtE}zX1OnC0@Xn zJeisZHkziU|H!lOW}27aKXKZGSokqMyf|2;hrnR|j^F2R5wb*;{&R>bj<=|LN61>p zQv!ND5_wO(bi4I{N_+H&T#J*QFdNjzK$x9K1HBVsM7oJjpvT?hxwSvvKpIJpO@>rYQOFA+sUV@ zubW?euD`xny>19j!q(UbSSl~n`jPR6#ZQ;2U$&M$#8qa!)%|$rRRjLicGJ)7+IKwf z?eWsQOM^WxuDUIKkT>2M-JpY^^Q>+njvex;xg1CjMMcsT-7y2*Zmx6 zP^4vQ`dmW)UN@SWKM+NgUm9DAzfH60OHq5w!M{2id*B*?4{HScQ8PLtXSu82{YtCQ zEydJyjqO(n!<)5bl(|5ykC_i2u8_P|b3@yYe3wR5pPZ1BO0TY-cxkvvqIwqe~B|I8q3RHbAoE-RO-Ni?( z0W!{-PfCyZ(T}(Er_TIyvF4@#;J*1W2Egct-w6P_YMZLXTN0#Yewmyx$wvSFd&gpJ z1`j0iP}L>I$qUwkl~M^D4bXsN7oR(rNa#3E#oPS2DshG}RPepR|(&&6T0$;`W* z?E5o(R|C3ia3&}Z=q8+ad{Ib!=~BL#UqYq-z~Y6n<~;MoAdRF;i_4Ps7|K$Svr;7( zP$w$ke)#zncX#yY)aL3c@bPSp+^%s_&T~0DHk8;85Hdo69su(XHCD`e6+Mn62Fu)j zngnP(-F#Iw2=v4ODGM{S&DWJ1L|W*nYC&dkI|e_h*ci%1(~^UF#(E99cOXK{a)mi= z{ibq2QjKgIv|6(Elg2x|&O2+X2IB}l^bt60`%GE0R$HHS z(+ZzEXT9n>=+gpc9VJ_SBi-H9YHRJ*U=$(NW2NEunfxG6Ff~d%{N}XL_;WFTV4-YZ z5HJQNy2tP9`f4(SeJ~(TJ6(pemCE}NscCWbv?{{zM(4W(EEXDjbZzp=iFe;gD|=e9 z>%&LHP37ni=5LRc+*0B#zL=EpZeJE571bBrnh@~0wv6`P8nbzps|py&2uzB>+G5Ke zOE-cJl6g4k&vP)yGv|BVC5c96m?kf3uFu{fJn*D9JnIKOEXA%Q*z7iG>U!rhl}h}c z{P7?gSE=DQs*tLm{SEiMPyjv^6!QrA2-eu>K3o~!x148RyGafYn0C^vf3X|ThSpm8 zLf7>^U0S_&3luu=yK{Ios8&Fzd*Y?t!}+BZ(2osVA=GuUF;p7INEk|CX)0sARzUcv z1&3f2`Z5;fs)tVfExX2Y7O0;f%NzwSjFPvqNM#uAVGOx{%1Zr}yz@0Umg>NuE2zVL z;H&R%9iB%Up8IBqXEHG{Tz&8$dyh!rPyST3P2cVRO~^1Nh3R4w3!%-58ejZm!iES; z$Z+{=%t{ab%)~-iCc?|(=zd}E(d^ltjlAJIzvAa;**0Q=x=4@;l zUS>7@D87|>dWEDrY|LtwL&OXO@w0~qi*V-`Eit09WPIw9)Nu_MYgJz=%Kak)@S9o$e?J^`p`PFn@Vflxp-q9ORocIPTUdgtum?1QE28&7aC2Ay z7+hh<;h~JG|5}fGO%-akSJ^LF!ksu{0RMaf-QzyMEbu#u80l}=wwaMT53YJF3VoE{ zc3DH+gHlpC5vi}h*tg(&NHYb-C2K7FW(8?wfxO{BWCp<;bt^V>>G7pX4ZM7OAvwAo zN8^7BATr>XHQxjz3RuT1*GdB!AiaSRAkne=P7h;f);`9Pt_%jb*94{gm%TXC-OoMJ zU}{xt)>3SumXT~#ei=yqF#o!+mpf2LDE|HG=XAZdr)PRN37sFF)+}8S{#fru0L8!$ znq>p2VTp5kDL@mbV?s_Y_;s9sRrj3Nb-HMiLmMA+chG5IYanS_>oQ< zu=QeHP?aB< zGT@YW)0$>{1A$n%;&^9tNYFJv5yJW($6fq0L(I($3oQlk+bW>YmryG)DTa@GN zZGtR|0cAJkd3jST5yn9t>XSfZsK8vo4_Q-Oa!DSL1e zPGRLV4D;W-md@vat6(s8+LWUkgaA5>4`U18^_9?){jHd*sPHYS4$+NE@IdW{AyOY{B)&jgQ)q{Y9Fo<&IODAjD8)$ape zGSy)0lYkK|I~I9rB7lXm0BQXhtn*(h9qHEBG1zaOb$=h})|!WS9<_iP@^>RAGabZ` zSO6PcQFPn=n5Y&JV4SWWGyIw)gcqTcqQwE6Hz>utWRlj&7SICC%z;QK9nD*eGHj>( z7rQ*|2m832?>-&CuS*^W*lz=OfZ~`Wq0g0yxO=uJ$J7?81CUut33&|sT>HWQqTumX za-x=TG>J-Bk`->+(t12_buBl*SOcJC-nkWU-3)~Gy*zzuSEMD`9rPf%f<@iUbd1!f zb)EU%g={T+NLMKC4&T^ih!VhqkS>^#_8m*xzD41U1KMEBjPtwnA zjC%~Z`)i_HE2EEgANMX3vp+vAm>6q^MA(nw2DVnmF2xxwAYk!c9s&Ak%>eubUauOL ztMuDoS0o)4QR~iZO+Q&(t6BMiFO^BRcVJ}cQCRnKab36A_Z&|8`;AAoUT19qGA(hoSzJ~dfmad&!seQZj`QgiImbd&1d>;|g8G>8Ur zEh>`pT4wC3u+~>bZPn&6!ww1rTSQSj^ldeo$>{}Ut79XIz^yJ@HLV;X;HKiS;jD$! zG|kznLfE)O#^Z>Bs*$Bgb(pmYJ=%U0?j-{+gR;!IL@T2bMH9BnnMEdAQTdI^%0HpO zx$*h*Q^ML!oeuNaTK3#-6mxI#ugW#H-3rH8;%V*d_Fn$uglPu;Py42^gmwRJ{K|sO z2lqiFvcPn>goE@wQ3>#axOBKm!(zfv`F$u`qA)F^=1y{nS`~nXF=f){Mf8+0g}jRV z#t5T^E09GMWaA7d|T5*M`b&cUu^J%q#h^BtSOG(AM$yb+YIAu91f ziCt;UOXyqNf7iGCPEROl$TRS0+_Kn!=0;3?l!d|CCk$9A6vDGk`6}!TRic$$;t+YB z%cB(hC1?=QLJ`o8i_rZDGq`!c%p`Tv=Fr5vUOHLt7DzjoF0>At=7LOdpQM^W05zNF1-)(CPK*M49F z_@T!&%n1`sDiYe!p`&*pH}$la%Pu#a61?fPUGm14_v;6zodR(p^~1s6J&Fjm4IO>S zyyS1TB|_3XEy}XeQaZF$lt(ahP(Nb(YYO^_)z9|cUOfM_?~`saksM#$pL5xC+RI{d z3;GS0mW%~eDu1FHc>A>9CaXgmuS}dOB(3Pjermx^FpoOP)7tklsyI5VjW2j(F>#+1 zrSg_qfWBL}Qe8rUen%yDcaZp(pZCp#z#npB3oxpMFq@TP*``rAnL(pO>JoVq7kp%8 zR`LW_C}})h{J3PY5+VkVTRKGJjx?#`D&t-`SFyIr6B8R3VP1lDu@sbX`Ohx%R(iu2 z!TgFr#wIh(ynR31a7+bo#htDfVK&SN1})DweH~seA=0(G8z`ZzD5$7U2L9Du!_Ogph1$d!VcyLR?BNV;|e0<4$LXRSP)iq_fGfKINlx)*a~+4{gd)FhL9J!UPWy}^!CBr+BI;C_SUF;PE!7iWe`bB zO0aT;w86F{JvrMmd3&LnUGm8U{y+k24!%AoAnhb8!MY_WlA2P#y>}#QF7lFy6)L)2f9WTxkT5KPZg7Mvr+o?zX+&mGLct33-`` z0-4bU(n_@gikI|7;#Lgg4;+=IX^0TMBdaR~vL9o+9=DPQCzsk$ioJhi z@yfB)n3CnF2B3sq1b07hS zr$!QU&%JEKfL5m`i7zFki|??BV5M4n(D#kH?l+DR{KKJ>)gX0gS%F!bK>#~LgRrEB z5dNP(k^>G_y$Av9o86SvyG`txOfk2o>sq0@GZ0HMEr@C2CwU_`QnVxL2*t@wDaQZ# zxbhLd5BhzlIO3zbbsZvlCH_idni3|j>d}jkphHxtzKu@K9jHx1q1~)fx`l{yKP~ua zf(e!2y7J~Id2ZOyDmwYG4odk>C`xE!)>x6NY3~=Z+r8lLi~<9qI$;Jaq8(sE%qgdB zk8tJUD(RZzw^pQ$c0LJS1XeJ~DfNogy$wA~mtQd`_3U z(sq9!Po*)nSvFt%zzeE-Ta(8{eS$QFcmgx_&-}Cg36>!p#x_l(wvByD6%*9ET&k^x z;{}T|@%aP<_61*_HE-)pr}AhFqDL3k&6uT zy>1#z6&iJ_%ddu&7+V}k$QDE(rtEL5p@PXvz2C(rf;vowp<<{Uk&@{`Hqo!@XZvr* zFd`Lvnv5S2kkeqR(AxJMUq1iEUvfQflgTxo&SQt3f`n~5JvA3C9S=HdQ6zd6%0LDy z6QHGhe@qbLHI}sB5w-6=X#08&=)IzPtK-t5YLcchpgP`MPHRoqV!n-U1;GC0tzo?E+2q()eO!PMh98XqRf_$xePe&d*Q4r&r7WF$e(P(gS z!j#*yI*h)CVYtB|-IS}WwYob_e|F)+VYsrMXCOF()DF!O#mUR}Ql6I6iu;>PP^Xuu zY=nvlGSpg2W9F;Xb8>UK4q%VOaiUkAzy71LR4mGsDE^HtZMfraeBFMaSu_5@>LiUM zBuXp=^2F-x`Qc})ObtyVrkG3ZM^Uxk**qgjMz$gBn>`Y4mrNnx%CFA^lC)O9|2(q= zctvCNDG)$>^?*rv!AXJ45l7EoqQ6VnTo z!8+>=fvpKSR*N%dC(oRVjX#o7YJEfyf*!Z4qOV+x_?Mf*{agMDl8|?-4tYqG#(30B z$Y=Q-I71f?A1oxvX{DeAt&FTohdNqWHNGYv(hyCT6qx-~`{=bnA*G3hf?qw^Q=1B^Zc~^9dNO3=@?exMigw%SXaew|vT{mFePegPil_zL_T{ zs)(%3s^x0u%9W1x*=&Iyc0eI_wFV+ul^7UpPJ4Tpu{!1D6{^U8 zqfxn`di&cn*V=G_b<7rm#RSpW7k)pOWyOslAgy|VoZ#%2CL>ZLL(Y-HI~m4~v9kam zCB6G!3Ft`I9)Hh;@Rz>I2KQhPTZn+RG*PS^Kr7);9L4C@2{OBPlQGY=$Gx;G{we>P zBp&N9ldgy{p+CpcVT?ji2eXeFysmfAN8jhI@8G{&3r5k-_@_>8+ho*c`|n z1!E%O>8nz&+27>zk`r5$NlI{231_qwy_zn(nl@z}gmD?-_Dq}A#&!?$dZY(9#{->? z;z_0cMBrDa?nlNg_^@MwO*MJ&m-EXMJF9%+N1szEIWIT=L2l<)oTgaz)Whfc>*@8}dEGVm!1Nrh}l-xuWLM#&;$GWPtCEPC2F&^!J+9>gDU~HV zyNcdb$llR0jd5`*BO`6YLlpv@5?uC&{#X-lfvPN3>f?1%5mNB*f9mvd1-gV=5Z~;` z!L7h{Nn%E(KT6>{)}zFW+cM?(Rpe#fuvY2UcCpKubZY!==G| zBzCcKpoap52SJjh4G)c_w?A_PKqv*I&?1VjzL%bdZjdR<8Y zaKYNh2Ue2Gj7k#$j_qE)b10q)4Rntot8i2*E0_8`a^G#7ju3D5$kK;KgKtr!(S7+L zlTxl1N$on8v?`XeJj+@iWFpKP7wj6aN-Q%|S1eWDp<4banU?XYm>t!y``V&syv8m! z#||99H1occ^Uf^Gl)?<3!7&J;^JM?9*rvBs^;V|lELVAmsRZMvKzpKwb%~Ib4z2rG zxS<>^YH1U%&KP9covE~YUG{pjm~OKepQDnW{a533*+7E(BrxL+1G|k7*5aeC-J#d{km$QY(rwhCp`H6ba8>)}SYN$=#F5+uF@l z2P@raRI6t<$EJFAj5j``cmVGLSoL3d^{=uDpgdw$MRvwj^J_ANtBQw>8}4&W&?fNK zEaDUJ)uhrRdV3BUi5>EJ-12#H@aF4LWIj@_PFTYYzH)cC)HELl3a)$0IzA?SYZ2dJ zXCZtRsA9*rKK8`nk>!+lm^0>h0K&|xqUZ{L%>4ERq^?|CY$zqU0%Hf!ES{xPz?g3W zCcohtz;4(fgkPs8FkC~@!AOf*t-k0qcJuz7?7s)Ui*h&v&IShVusF+t1=|_xRLjIN zYD!d(htiiKFGz##`3^B!QqC7;Gf&9W#+0)-|51#yxFNts9bD1|KHkJoWp^;z^4nbJ ze%t)DP0Mwi50?wRUk<{-M6kt?v!z}`nov-#YaK?)YR}q?>Heqsl$HN`{NymqNPNx2 z(6@!hX$huhI*yGB;^V<`84+7|P||3r`=qm+z?h62_OLT!>ppoaW$A$Tkkh>Q>2|wJsxVKa^SE=SG~KqzM#gjH zsMPz}kfhQqqO9CONzLK+R@$%i zp0{2O)=bI3YOgW1d8dd;pIWpYDPt2vTnl;QpdYN%;E=?pl@+XZg&1zs>Wnl^)F&F%OUmW& zb!mK@RB=jgz1)|4x(g~cc6(*|hc-+AqyV5kV`co{eNt6|8-fZav<06AZ<>J#5L*#I zn^C=_XRqJ%`Pg*vVQl_RuioA}P;c!tlKAja zIkG8XOfed@HggiF9*(=c{M)YRL7xowCr(F2As2(IF_SRnKc0hei12>tIJl9Lw@yo3 zl^Ktf{$;l!m##OF5@z4=+(REnt(gc4rc;+t&=aVV)Ie!9~*OV@oaoeqR< zx^pSj#}o4olI3S6xT&R5Qhmza+oT`yDVtEi9exn9EPE@ z9Rwt@r-=p+S{4qR`%hD^Z3cuLUxx2mFQuud7UxTw0yw6t{rK>AX>pki+g}`rY;j;v zjh6L~*Cq}uJtiU}3KLHgQ zD}eKXsEK)Q9q1ZVI7>9M&EeCwk$Mhc16(pLGlXtL%lKQ*)qVC-c_y(Ib~d@VDx(tF z;os_Umb2;f^H@ilXaXyCj$I6yPOrS(l{u$p1TY8SF9$+o_EM2me3aEzFQ;=qvaSOp z*LpAE()HjiSkh)&>~z_ceQh7a;>}?5x+5}|?m$TO$)LK6X~nWN-90`Dz)T<~vLUDT zFGy2OM8T^xhMYO1^P@oXe1nkv_Dz1u=xvjr-hiN&D3xzh^7sbT|>#lu-?F&PT^3t)v=ie?{C@r2<_5)THQ<>wUaQ;kWw5d?nBs`s9`Ch~P zJsI+&XUqqHJYpbwVj{g{YM6Zp?q|=RQ8utd;s48MVA9I10dyGz13^(&%#47dNRyw` zG(5HI^Yio_`r8?Uk`Ex)gMuHGZxcX>mfySn~vPYS+t zmk-=MJiTuI!FRSDA&{1E>%_wRtF)*}(l}ORAb8=kWIzEVL8-k_9DhdxLXIp$U4wDa z;$m!>XyhL*mCoM^?Ui}`=SXOgSH_U8J@2LXA66b8RyIB>Y>P9keK4Xb54U`ezT^6SiUHfQtekcKHKI3EC%u+ z4OZ7{jnH<>iaNTzC^%b4lv9Vjv~ea?wU0&A5JR5j4&nSL^#i0W+_y_3_*O}CY)~?W zv5L<@0~xM>jnXIF&BWKExSh zm-cAdK|y&Cc5b|Ih1L=kGEOc)bh#1b_4mL&Y1-ZDQx_iw;!j%CqW3^|+bi;+IGLxG z`UA4&d;L2Ga|EX3bA$Mu=&_mUGh9WGZ)FThfOWyIFC4SP95Z?OCr2#b@gEUYu?WG{ zzDUp)ndD0!T}B>p(;&P+R`|<{7AA?hG2!P7PzGo0JHA;e@mZn?rlydO2R1r^J=PYV z$cuTck0QF=^b&43O5m(-;`x1@ZmC~rQMb|#0oAd~jX7(Yr!N(i7noa@uVlKmrSjM8 zhuiRM<4?7P($^f|8%*KFKd|6KM6o}w3cVivu2&YgQhF0txz$9Z{=0~GG z<_WYeNAm>o@71V4o?)NmafG}B%6 zVuoM$KhU!b+$I`enDh0%AIr}psS@rlRU->e;xoj8wuI~Sc8oWSIwUuPN${w~AX}oa z#&uynf6qU6fJWyvPwa%7_ z0mf~R<$^dVv*fA>AnF5JxWP<=UYy5D7o|$H&h8HwJsE+6+lYo^47%)L#84Lu>hf`hXMg;tg>gakf*Z#kl$}bZXiew#k_?(SK;-O7j1sXio+}?C(*H zl{V%bO1kAAtSKQD+I`<2(yIHWZKxXtq)nWV^L|TjqmIGhWvwDUPz$04(U0@1{V{T; zVSO4@7#vnTqGPK%((+M(_~DXD$h|Vhhh7ub_l)@urIM6<)R9U6H32dDAN5Y#+raQy z1tteNMf{MW58f!@s@LafCk@2ao`DDCw1I(-4!j!cp+E6j9s8?4I?(g3gF@{Jj5EpY z*!w44(&wq))6tZFbtXOKSWE0|QHRb4fVE2(lozKS~l5OaD=!G*c;gtl&`? zU6UplPK#HL$M*_SUH%Zv9;ND7UlD~9#swtmy(I~C7{Q^{LN<`Pl%s)dnvOQ{qm*Jz2>+{oWz)J$`zK;= z{PigO?8{9Ten+ye+V}|$DB~;+-c@BXkn-l0MlCP{;>Fzzls(||R`flxkm~=@Eo4Y2 zE$JWa5v`$DqqTqO%;GkxvD6fPyOBYhVf|GhS}vroFp5${)b-tcUNrh93h~^k(96kTAUfJGm$FBi-hxO z;b7E0qdF1lg>OKp9Z-({bl_bd%TSS#n7O7|gDtVmOKa_uQ){C&&LpuTSNqm=CjQP2 zgQpha)!FW6XG(JDpx0xe#VU8vejiringOY z7NQ59O~a|~a+pBCd8zw4)_j{Muu4tY$2xRTJCG|CL7EP4w9?7IG*LIC#hEyS#S#m_ z+J<5RRqMXJoMNwkk~VHIyzw3x0fTX90Xf0H)Wa1G+&(-G(= ztd*f|T#MxE?X>X6}sn&NVPP#CuxX?vr{c)0?F~=@E-IK1=UVojW z2dDxPl;2#@sW9sI(Fr0Pg6Z0Wkz*Bi8%S7^TRNTV_EgtlZpI95$A|+QxT#yvsO1D; zi|W{grS(@f!f^!&u!nDUlTQlzSDYb4M!m+^+fVl@K-`6@yz*5a`eVbjiX&f4|L&Az z8tvzbp2Ch>Z}#}$;f(XwB+afO6CV8eTMx!9GQthk*q1(u8fG#z(rfRJ$Z887ea&UN z6%k*gZI?zKMh`SiGya9~klfvULe1#e8nY&i;riMZW?E`JU(cEwAF7^(3^L64=#6hn zDhavkkO)k<@Ld6*?>nRj_#Z~Z$`>-V0jRL-h0Yg?E+ZBT?pifeF|= zY3G2O!Zd`Z3#{?)pIykpNxEM!qLK6%)UM-uyxFEw)nV*5auD7`d&Vi;>cc~bZh~fw zvHgmz{EP1U4>dG?rix)?)i&_IP0ppUbnO*3;>rh{NHQm`=(9-6^U8O&JcFrXva}1Q zXdFz{{ge^&ZQMU$a43~`9d2y|v5sPxAJM+|7mz?1Uz5ubJw+GK8-Yj|<|HE^b$K4z z9mWnO+$*(+gBwZDViI-RF6f!v&?Kbgr$j%}aI9$jSmERcLuDZzX8sW?KnzW| z)nstg?N%h^6h|)eMY4H1q5No;jaM~X1v|Wn`((_C*7yZC%(l~T=K+OP^6mh5nN8}yVpQUR71GbQ?Jt2K%# zhFOPbSpi_>=|$CkB=f#Ap2ehoA-deZC&-XB|3$X{K3L^qc5{G)WQeXo4=FeenL(c0 z3MSbnwZ(B7-<>7rb7y&L$09rZJOx3w9&V`Y(&7Io?|Z9~uR(}a6C`9SH#o1zy5RKZ z9nD48VNUy-Nq@tkb(D%fadE|Bisi32pDi{MfF+E}0fPDho8a415;$xLl0 z|KzNRPyTKx@Zb%=b!!%qMxH@;Kd$&-nD|qPnvhD1cknyUHaqKeJJU#1nq-t2e;~-v zGGh=&;c{@OJTVDr|qHGH8BMP#?PU1IzHVAxYWTA`yZ1ewBN2pf6y{JYk?z6UQXK#}=4BNw)DcMG_@(=U> z=p7&So&x@T(NYNjB@8IJ|3%~PHi1e->KW;qU4;3E#YhKD(rb%>2tHdJf(_Sg{W;XN zA?1Da4<^)&e9mk8HYs7B)QIxGOWRW*r>cFy*VXvFK@ghY4-Swuz+-u5n*mbj|JAsp zB;gUnxV}KoRzn=!#YB}d#Yc?;sL*W8WE{KG0`;vOnw%2a;0ODkjsq?5Y^c;>V^jTP zZMhhmatFp>8wcY`veL-NYU?&|o51Axb23>aES=~MdH8g1#4Uj3b4-{2EHYZ@FaMF* zWh{t$e`oMONVcvKc(zoO)Cv;%7bsO()xdS+D=qnBNsb~uQ-=3q{4q{ID9)&ijcWCB z__a219Erme6Bl(WD}A8f-})`*y52-_pKjtCtO2&bb}*>e9B(A6)lk7Sf9+=g7XT6O1$bApw^uKZ{^8c|w{5ySwI;edKx2u8<65s`(rNP?bj3-N6ZkFAh z@uXs#;=P41?J-3}wAY!APOFi56yhQv6k=k3`9;F*bn31ZgQJs?)B?dKCXJA4RXpKd z8=glsk;@n@Bs3PRTT!g*4apgkY(-Wq8$^jBrNUwyghp^={7$)ICL|_R@>5&zqMe%3 zx1@NZE^^a;K~lC!K$Z-$1suqOBNa>rM3a`3Oj}uSsZv8op-vB?7j)3c4Nm7jh;Y}E z8aOF7nEG;*zDdwvuN4=QN$w6I2DhgPnR-INiGaf6c4O~ZzV$i$M!2(j%KcI>pLPd? zmv6R|r2iA7i{Ay-|LAe;m@d$aUpBCdF7i+55l$CF>-5?nu^q^Gw9I@x;MVpV$3)6% z4TuWkIODy&`2qp+gL^Oj|Do$E!=l{Uwxy+&mQ+Hzk#3|@S~^4|q`L(HMTQP(kU>&X zxR2T@rAcR{!9!*+`B_ehW1d^6B-<&`#PyzMuq?I z=`1R~OpdL#?)`v1;~>+)bo_2oUd0=e7pNwgeSxB9Q18%O@On*|uq7S(kk0!7wArCZ ztIJE2n8)_HA6JxG70<2&@k}v?;(NHc>o5K*Ph6vx*P|H?jDCP;BFrF956oGCA7;c% zz5_K=FV??o@0MU{Vur#oKJ+18!K&kW{uAwl2haNw;j<>_Zl@8y|keEnNdz;34ZC1!@T)tONTdk7$ zT8q`;SotI!I-Ydjd(T7{L7VmRLrhgklwLM9^oe8syf6WW4#jBH!`W5|5u})bmnh*ib z0_J3FRWlS5Ugeet2x3g=*$FDA3^EHFKeErYpCUqc4pTy)aLcHJ&!#@B6VtPjg~C$m zue=9N>E+LE1O`jU^?MDIaA6<7>FYnDejd2Z7;GK?RT;~$Qm`tnNsA#oM%|v6Aqu%5 zqEBvN{e>3nu)z8LPw#R4ZwJxPp?KhgrurA^$N0!(__%XDx3PV(yE;wM=<~(5kfPGY z{z(c4lIv>I^o<&igP{+cGt*kFt$B(u?K~Jt9Z85+&N|z3Je zdUj>v>B};@)*HmwaW9tirmeocWWS?CH1LIF>EuNZdR#L#BnFQK^O!M0%8i$&RrF}3 z%G=M0>Kn|4ow!t zf-g6sPC&N3flb!sixrvNQ(y1gO(6Ib!)6>Oocv4mAUdHPj>w2SUHIpRd4i%|?h0?y zk-NO|!-kA**@bl!4#sHG5NNd$s4kS=j9-43I^2RMJz>)D-Wp6!LfWdFM&&OKts`E= zj6bSNLVJ1PRNNEv(SUA59|<57E=4zgywK(mu+Wv2$wiSLf(}=LPPUDbM+L*->ZPD) zpVR?0zUd329Uu`B@qSps4x~s#$TZZvHskXXHCbcI`g*=6Ulx`aD}%A8v`4*XeOxyw zMeyFm3HUVkiFl)BM-ZS9SUosy3Etm z_j4o#i4;_=k3c?kjU%)cCkLMPJwy=Y>~CUZl*2k5m#);G+kQ#JY%O4eG*eAeJ4AEm zX-s>*R`G3SytKza#w9~+M+|2n=y~X_Z*?QP2f5(7ll~Ja*D4s079w!){0!DMb$pkC z4Gin)7E-mSmf$8^r*^?w+am23V+G9;L33M;?a{Q3$}&~%(N`?^?{;sT$#-RXvP#># zV-U?nJZR<LZA*a!}sMZeE%~u&u z>Z-GEQP<{Zv&N1pBE221i6mh>@s!l2O~Qc2l>Yw0n4fm3b`iZr4Ynd(2jROLIufg0 zIMI5?OiZ2QBdZt*^wi7-xr#hpg^COu&kM7#+j==y+&BvAr81S2meKYvJiEyVPWpY^ zC>WI_x|?p_>QyCM8$Jx=N)SJvlw?yy|(CN2Q6pq^2yeK&u|WM?B5MV3nVh5W+A7y9!Xr3}2aZUmE^gE3HE)V|dvpR8Ok^l8SX*fo@U=;3aMonRt*r^|F(w7mee zHxjN!mw_+0BYHzrfoSk$jSOrC#hhV`;w}n4us5lDUL4-57GiCNtXi|}s!^)+%2`Do z#s#(g#GR;%5$h#{Z69%~%=^cBm20yU&d~Lx@U=N)Tg!Id#QJUt8v!@z^r^XfG~YO!D4?;6ZG(p4{rTvoLC7iLJfYOwZT4IV3@wfT{iO+2Q)Z z91fdYdpfRYc9O zo;&jDOW*4ulo?{`-~GaG>6Kj%UUGdV79e zUEN(F*(h4F`FnOi)~3Pjid!b)k=%_C?#6a=7>(quO`HbT?eSHum>P;V%lK&`x7b_f zNTchwZju-dk&+9m6 zxiGrbQ9#t8G(-(8`E#yV3H#dH@YTZ&l}keEfWWyyKjk|%qkLYJLS>JVLheDn5^b{h zzkGN+#9hNR45<6KDOt17)9+?l>_6#^Kga^8RbAFi;0$hb%RW1P$OX>@2N5i*dPrI6 zGhAZtQmk*#=+jdq*4d#=&S6Mm0@=NL6>!C*3j+Es5Y3+?ohzUqP<@gPsx@jW)sa~k zzI1gUF8&2FMg5fF0w7Wq3a%(Z_2_aooP6pGL!>(MZ8u^0ay*K9D08;k2<9{@kyj z#fz=eEG99aOzt|86q|s$zDtAV_5xn4@6q8gQvL}?hJ@A=rnBAFjWcZJ=|

=K9&R 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 Dp_#;^ literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling_small.png b/screenshots/jkqtplotter_simpletest_advancedlineandfillstyling_small.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c8885e0e454de81da3e4fb56b534ca06f4baf5 GIT binary patch literal 23996 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 nH*Ea9R&7q|C>6SXbA9z6