From d0ba2e9e76d5d909488f049af33f5659b19462ce Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Fri, 17 May 2019 14:17:34 +0200 Subject: [PATCH 01/31] [ion/events] Fix typo: arcsin -> asin and so on --- ion/src/shared/events.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ion/src/shared/events.cpp b/ion/src/shared/events.cpp index f0f78d032..9cc343154 100644 --- a/ion/src/shared/events.cpp +++ b/ion/src/shared/events.cpp @@ -42,7 +42,7 @@ static constexpr EventData s_dataForEvent[4*Event::PageSize] = { U(), U(), U(), U(), U(), U(), U(), U(), TL(), TL(), TL(), TL(), T("["), T("]"), T("{"), T("}"), T("_"), T("→"), - T("arcsin(\x11)"), T("arccos(\x11)"), T("arctan(\x11)"), T("="), T("<"), T(">"), + T("asin(\x11)"), T("acos(\x11)"), T("atan(\x11)"), T("="), T("<"), T(">"), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), U(), From f1a6067027e99547b990aecab0f4b5a020cd23ea Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Fri, 17 May 2019 14:24:11 +0200 Subject: [PATCH 02/31] [apps/code/catalog.*.i18n] arctan -> atan --- apps/code/catalog.de.i18n | 2 +- apps/code/catalog.en.i18n | 2 +- apps/code/catalog.es.i18n | 2 +- apps/code/catalog.fr.i18n | 2 +- apps/code/catalog.pt.i18n | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/code/catalog.de.i18n b/apps/code/catalog.de.i18n index e5a0be097..858aee304 100644 --- a/apps/code/catalog.de.i18n +++ b/apps/code/catalog.de.i18n @@ -15,7 +15,7 @@ PythonAcosh = "Hyperbelkosinus" PythonAsin = "Arkussinus" PythonAsinh = "Hyperbelsinus" PythonAtan = "Arkustangens" -PythonAtan2 = "Gib arctan(y/x)" +PythonAtan2 = "Gib atan(y/x)" PythonAtanh = "Hyperbeltangens" PythonBin = "Ganzzahl nach binaer konvertieren" PythonCeil = "Aufrundung" diff --git a/apps/code/catalog.en.i18n b/apps/code/catalog.en.i18n index 4fd635083..312851e59 100644 --- a/apps/code/catalog.en.i18n +++ b/apps/code/catalog.en.i18n @@ -15,7 +15,7 @@ PythonAcosh = "Arc hyperbolic cosine" PythonAsin = "Arc sine" PythonAsinh = "Arc hyperbolic sine" PythonAtan = "Arc tangent" -PythonAtan2 = "Return arctan(y/x)" +PythonAtan2 = "Return atan(y/x)" PythonAtanh = "Arc hyperbolic tangent" PythonBin = "Convert integer to binary" PythonCeil = "Ceiling" diff --git a/apps/code/catalog.es.i18n b/apps/code/catalog.es.i18n index 4fd635083..312851e59 100644 --- a/apps/code/catalog.es.i18n +++ b/apps/code/catalog.es.i18n @@ -15,7 +15,7 @@ PythonAcosh = "Arc hyperbolic cosine" PythonAsin = "Arc sine" PythonAsinh = "Arc hyperbolic sine" PythonAtan = "Arc tangent" -PythonAtan2 = "Return arctan(y/x)" +PythonAtan2 = "Return atan(y/x)" PythonAtanh = "Arc hyperbolic tangent" PythonBin = "Convert integer to binary" PythonCeil = "Ceiling" diff --git a/apps/code/catalog.fr.i18n b/apps/code/catalog.fr.i18n index cdc0899ad..89d307345 100644 --- a/apps/code/catalog.fr.i18n +++ b/apps/code/catalog.fr.i18n @@ -15,7 +15,7 @@ PythonAcosh = "Arc cosinus hyperbolique" PythonAsin = "Arc sinus" PythonAsinh = "Arc sinus hyperbolique" PythonAtan = "Arc tangente" -PythonAtan2 = "Calcul de arctan(y/x)" +PythonAtan2 = "Calcul de atan(y/x)" PythonAtanh = "Arc tangente hyperbolique" PythonBin = "Conversion d'un entier en binaire" PythonCeil = "Plafond" diff --git a/apps/code/catalog.pt.i18n b/apps/code/catalog.pt.i18n index fd30d2b90..e77aaf28b 100644 --- a/apps/code/catalog.pt.i18n +++ b/apps/code/catalog.pt.i18n @@ -15,7 +15,7 @@ PythonAcosh = "Arc hyperbolic cosine" PythonAsin = "Arc sine" PythonAsinh = "Arc hyperbolic sine" PythonAtan = "Arc tangent" -PythonAtan2 = "Return arctan(y/x)" +PythonAtan2 = "Return atan(y/x)" PythonAtanh = "Arc hyperbolic tangent" PythonBin = "Convert integer to binary" PythonCeil = "Ceiling" From 1c09f49ec07cfb5b878427d4a8eba21d77fa83db Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Fri, 17 May 2019 14:26:20 +0200 Subject: [PATCH 03/31] [poincare] Fix trigonometric inverse functions' names in comments --- poincare/src/arc_cosine.cpp | 2 +- poincare/src/arc_sine.cpp | 2 +- poincare/src/arc_tangent.cpp | 2 +- poincare/src/complex_cartesian.cpp | 8 ++++---- poincare/src/expression.cpp | 2 +- poincare/src/trigonometry.cpp | 20 ++++++++++---------- poincare/test/trigo.cpp | 12 ++++++------ 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/poincare/src/arc_cosine.cpp b/poincare/src/arc_cosine.cpp index 46e7fd159..887bf0ef6 100644 --- a/poincare/src/arc_cosine.cpp +++ b/poincare/src/arc_cosine.cpp @@ -39,7 +39,7 @@ Complex ArcCosineNode::computeOnComplex(const std::complex c, Preferences: * this cut. We followed the convention chosen by the lib c++ of llvm on * ]-inf+0i, -1+0i[ (warning: acos takes the other side of the cut values on * ]-inf-0i, -1-0i[) and choose the values on ]1+0i, +inf+0i[ to comply with - * acos(-x) = Pi - acos(x) and tan(arccos(x)) = sqrt(1-x^2)/x. */ + * acos(-x) = π - acos(x) and tan(acos(x)) = sqrt(1-x^2)/x. */ if (c.imag() == 0 && c.real() > 1) { result.imag(-result.imag()); // other side of the cut } diff --git a/poincare/src/arc_sine.cpp b/poincare/src/arc_sine.cpp index 8239d3fb9..7a043d7f4 100644 --- a/poincare/src/arc_sine.cpp +++ b/poincare/src/arc_sine.cpp @@ -39,7 +39,7 @@ Complex ArcSineNode::computeOnComplex(const std::complex c, Preferences::C * this cut. We followed the convention chosen by the lib c++ of llvm on * ]-inf+0i, -1+0i[ (warning: asin takes the other side of the cut values on * ]-inf-0i, -1-0i[) and choose the values on ]1+0i, +inf+0i[ to comply with - * asin(-x) = -asin(x) and tan(arcsin(x)) = x/sqrt(1-x^2). */ + * asin(-x) = -asin(x) and tan(asin(x)) = x/sqrt(1-x^2). */ if (c.imag() == 0 && c.real() > 1) { result.imag(-result.imag()); // other side of the cut } diff --git a/poincare/src/arc_tangent.cpp b/poincare/src/arc_tangent.cpp index f98a01900..a107b1b72 100644 --- a/poincare/src/arc_tangent.cpp +++ b/poincare/src/arc_tangent.cpp @@ -35,7 +35,7 @@ Complex ArcTangentNode::computeOnComplex(const std::complex c, Preferences * on this cut. We followed the convention chosen by the lib c++ of llvm on * ]-i+0, -i*inf+0[ (warning: atan takes the other side of the cut values on * ]-i+0, -i*inf+0[) and choose the values on ]-inf*i, -i[ to comply with - * atan(-x) = -atan(x) and sin(arctan(x)) = x/sqrt(1+x^2). */ + * atan(-x) = -atan(x) and sin(atan(x)) = x/sqrt(1+x^2). */ if (c.real() == 0 && c.imag() < -1) { result.real(-result.real()); // other side of the cut } diff --git a/poincare/src/complex_cartesian.cpp b/poincare/src/complex_cartesian.cpp index f58c40d98..000156c78 100644 --- a/poincare/src/complex_cartesian.cpp +++ b/poincare/src/complex_cartesian.cpp @@ -140,8 +140,8 @@ Expression ComplexCartesian::argument(Context & context, Preferences::ComplexFor Expression a = real(); Expression b = imag(); if (!b.isRationalZero()) { - // if b != 0, argument = sign(b) * Pi/2 - arctan(a/b) - // First, compute arctan(a/b) or (Pi/180)*arctan(a/b) + // if b != 0, argument = sign(b) * π/2 - atan(a/b) + // First, compute atan(a/b) or (π/180)*atan(a/b) Expression divab = Division::Builder(a, b.clone()); Expression arcTangent = ArcTangent::Builder(divab); divab.shallowReduce(context, complexFormat, angleUnit, target); @@ -150,7 +150,7 @@ Expression ComplexCartesian::argument(Context & context, Preferences::ComplexFor arcTangent.shallowReduce(context, complexFormat, angleUnit, target); arcTangent = temp; } - // Then, compute sign(b) * Pi/2 - arctan(a/b) + // Then, compute sign(b) * π/2 - atan(a/b) Expression signb = SignFunction::Builder(b); Expression signbPi2 = Multiplication::Builder(Rational::Builder(1,2), signb, Constant::Builder(UCodePointGreekSmallLetterPi)); signb.shallowReduce(context, complexFormat, angleUnit, target); @@ -159,7 +159,7 @@ Expression ComplexCartesian::argument(Context & context, Preferences::ComplexFor arcTangent.shallowReduce(context, complexFormat, angleUnit, target); return sub; } else { - // if b == 0, argument = (1-sign(a))*Pi/2 + // if b == 0, argument = (1-sign(a))*π/2 Expression signa = SignFunction::Builder(a).shallowReduce(context, complexFormat, angleUnit, target); Subtraction sub = Subtraction::Builder(Rational::Builder(1), signa); signa.shallowReduce(context, complexFormat, angleUnit, target); diff --git a/poincare/src/expression.cpp b/poincare/src/expression.cpp index 8f4f90711..1b3618bb0 100644 --- a/poincare/src/expression.cpp +++ b/poincare/src/expression.cpp @@ -446,7 +446,7 @@ void Expression::simplifyAndApproximate(Expression * simplifiedExpression, Expre /* Step 2: Approximation * We compute the approximate expression from the Cartesian form to avoid * unprecision. For example, if the result is the ComplexCartesian(a,b), - * the final expression is goind to be sqrt(a^2+b^2)*exp(i*arctan(b/a)... + * the final expression is going to be sqrt(a^2+b^2)*exp(i*atan(b/a)... * in Polar ComplexFormat. If we approximate this expression instead of * ComplexCartesian(a,b), we are going to loose precision on the resulting * complex.*/ diff --git a/poincare/src/trigonometry.cpp b/poincare/src/trigonometry.cpp index 84b694c5c..c54d4b12f 100644 --- a/poincare/src/trigonometry.cpp +++ b/poincare/src/trigonometry.cpp @@ -99,14 +99,14 @@ Expression Trigonometry::shallowReduceDirectFunction(Expression & e, Context& co return lookup; } - // Step 2. Look for an expression of type "cos(arccos(x))", return x + // Step 2. Look for an expression of type "cos(acos(x))", return x if (AreInverseFunctions(e, e.childAtIndex(0))) { Expression result = e.childAtIndex(0).childAtIndex(0); e.replaceWithInPlace(result); return result; } - // Step 3. Look for an expression of type "cos(arcsin(x))" or "sin(arccos(x)), return sqrt(1-x^2) + // Step 3. Look for an expression of type "cos(asin(x))" or "sin(acos(x)), return sqrt(1-x^2) // These equalities are true on complexes if ((e.type() == ExpressionNode::Type::Cosine && e.childAtIndex(0).type() == ExpressionNode::Type::ArcSine) || (e.type() == ExpressionNode::Type::Sine && e.childAtIndex(0).type() == ExpressionNode::Type::ArcCosine)) { Expression sqrt = @@ -131,9 +131,9 @@ Expression Trigonometry::shallowReduceDirectFunction(Expression & e, Context& co return sqrt.shallowReduce(context, complexFormat, angleUnit, target); } - // Step 4. Look for an expression of type "cos(arctan(x))" or "sin(arctan(x))" - // cos(arctan(x)) --> 1/sqrt(1+x^2) - // sin(arctan(x)) --> x/sqrt(1+x^2) + // Step 4. Look for an expression of type "cos(atan(x))" or "sin(atan(x))" + // cos(atan(x)) --> 1/sqrt(1+x^2) + // sin(atan(x)) --> x/sqrt(1+x^2) // These equalities are true on complexes if ((e.type() == ExpressionNode::Type::Cosine || e.type() == ExpressionNode::Type::Sine) && e.childAtIndex(0).type() == ExpressionNode::Type::ArcTangent) { Expression x = e.childAtIndex(0).childAtIndex(0); @@ -252,7 +252,7 @@ Expression Trigonometry::shallowReduceInverseFunction(Expression & e, Context& c assert(isInverseTrigonometryFunction(e)); float pi = angleUnit == Preferences::AngleUnit::Radian ? M_PI : 180; - // Step 1. Look for an expression of type "arccos(cos(x))", return x + // Step 1. Look for an expression of type "acos(cos(x))", return x if (AreInverseFunctions(e.childAtIndex(0), e)) { float trigoOp = e.childAtIndex(0).childAtIndex(0).node()->approximate(float(), context, complexFormat, angleUnit).toScalar(); if ((e.type() == ExpressionNode::Type::ArcCosine && trigoOp >= 0.0f && trigoOp <= pi) || @@ -264,7 +264,7 @@ Expression Trigonometry::shallowReduceInverseFunction(Expression & e, Context& c } } - // Step 2. Special case for arctan(sin(x)/cos(x)) + // Step 2. Special case for atan(sin(x)/cos(x)) if (e.type() == ExpressionNode::Type::ArcTangent && ExpressionIsEquivalentToTangent(e.childAtIndex(0))) { float trigoOp = e.childAtIndex(0).childAtIndex(1).childAtIndex(0).node()->approximate(float(), context, complexFormat, angleUnit).toScalar(); if (trigoOp >= -pi/2.0f && trigoOp <= pi/2.0f) { @@ -274,7 +274,7 @@ Expression Trigonometry::shallowReduceInverseFunction(Expression & e, Context& c } } - // Step 3. Look for an expression of type "arctan(1/x), return sign(x)*π/2-arctan(x) + // Step 3. Look for an expression of type "atan(1/x), return sign(x)*π/2-atan(x) if (e.type() == ExpressionNode::Type::ArcTangent && e.childAtIndex(0).type() == ExpressionNode::Type::Power && e.childAtIndex(0).childAtIndex(1).type() == ExpressionNode::Type::Rational && e.childAtIndex(0).childAtIndex(1).convert().isMinusOne()) { Expression x = e.childAtIndex(0).childAtIndex(0); /* This equality is not true if x = 0. We apply it under certain conditions: @@ -310,8 +310,8 @@ Expression Trigonometry::shallowReduceInverseFunction(Expression & e, Context& c */ Expression p = e.parent(); bool letArcFunctionAtRoot = !p.isUninitialized() && isDirectTrigonometryFunction(p); - /* Step 5. Handle opposite argument: arccos(-x) = π-arcos(x), - * arcsin(-x) = -arcsin(x), arctan(-x)= -arctan(x) * + /* Step 5. Handle opposite argument: acos(-x) = π-acos(x), + * asin(-x) = -asin(x), atan(-x)= -atan(x) * */ if (!letArcFunctionAtRoot) { Expression positiveArg = e.childAtIndex(0).makePositiveAnyNegativeNumeralFactor(context, complexFormat, angleUnit, target); diff --git a/poincare/test/trigo.cpp b/poincare/test/trigo.cpp index 50fed6eea..c7a9df4a7 100644 --- a/poincare/test/trigo.cpp +++ b/poincare/test/trigo.cpp @@ -513,22 +513,22 @@ QUIZ_CASE(poincare_trigo_simplify) { assert_parsed_expression_simplify_to("atan(√(3))", "60", User, Degree); assert_parsed_expression_simplify_to("atan(1/x)", "(π×sign(x)-2×atan(x))/2", User, Degree); - // cos(arcsin) + // cos(asin) assert_parsed_expression_simplify_to("cos(asin(x))", "√(-x^2+1)", User, Degree); assert_parsed_expression_simplify_to("cos(asin(-x))", "√(-x^2+1)", User, Degree); - // cos(arctan) + // cos(atan) assert_parsed_expression_simplify_to("cos(atan(x))", "1/√(x^2+1)", User, Degree); assert_parsed_expression_simplify_to("cos(atan(-x))", "1/√(x^2+1)", User, Degree); - // sin(arccos) + // sin(acos) assert_parsed_expression_simplify_to("sin(acos(x))", "√(-x^2+1)", User, Degree); assert_parsed_expression_simplify_to("sin(acos(-x))", "√(-x^2+1)", User, Degree); - // sin(arctan) + // sin(atan) assert_parsed_expression_simplify_to("sin(atan(x))", "x/√(x^2+1)", User, Degree); assert_parsed_expression_simplify_to("sin(atan(-x))", "-x/√(x^2+1)", User, Degree); - // tan(arccos) + // tan(acos) assert_parsed_expression_simplify_to("tan(acos(x))", "√(-x^2+1)/x", User, Degree); assert_parsed_expression_simplify_to("tan(acos(-x))", "-√(-x^2+1)/x", User, Degree); - // tan(arcsin) + // tan(asin) assert_parsed_expression_simplify_to("tan(asin(x))", "x/√(-x^2+1)", User, Degree); assert_parsed_expression_simplify_to("tan(asin(-x))", "-x/√(-x^2+1)", User, Degree); } From 19529db5d522423194a3ad637a8bf925aa504081 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Mon, 20 May 2019 11:59:18 +0200 Subject: [PATCH 04/31] [kandinsky/font] Fix for gcc --- kandinsky/include/kandinsky/font.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kandinsky/include/kandinsky/font.h b/kandinsky/include/kandinsky/font.h index 06d3dfe6d..10ec5ae67 100644 --- a/kandinsky/include/kandinsky/font.h +++ b/kandinsky/include/kandinsky/font.h @@ -26,6 +26,7 @@ class KDFont { private: static constexpr int k_bitsPerPixel = 4; // TODO: Should be generated by the rasterizer + static constexpr int k_maxGlyphPixelCount = 180; //TODO: Should be generated by the rasterizer static const KDFont privateLargeFont; static const KDFont privateSmallFont; public: @@ -44,7 +45,6 @@ public: uint8_t * greyscaleBuffer() { return m_greyscales; } uint8_t * secondaryGreyscaleBuffer() { return m_greyscales + k_maxGlyphPixelCount; } private: - static constexpr int k_maxGlyphPixelCount = 180; //TODO: Should be generated by the rasterizer uint8_t m_greyscales[2*k_maxGlyphPixelCount]; KDColor m_colors[k_maxGlyphPixelCount]; }; From 3d991e56daeeac2d6db0fb11e108ec4da94db587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 27 May 2019 14:11:09 +0200 Subject: [PATCH 05/31] [escher/poincare] Cleaner way to find the cursored layout in LayoutField Everything is now in the virtual method LayoutNode::layoutToPointWhenInserting This removes a dirty inclusion of apps/i18n.h in escher --- escher/include/escher/layout_field.h | 2 +- escher/src/layout_field.cpp | 74 +++++++++---------- .../include/poincare/condensed_sum_layout.h | 4 +- poincare/include/poincare/fraction_layout.h | 2 +- poincare/include/poincare/horizontal_layout.h | 1 + poincare/include/poincare/integral_layout.h | 2 +- poincare/include/poincare/layout.h | 7 +- poincare/include/poincare/layout_node.h | 5 +- poincare/include/poincare/sequence_layout.h | 2 +- poincare/src/fraction_layout.cpp | 2 +- poincare/src/horizontal_layout.cpp | 15 ++++ poincare/src/layout_node.cpp | 5 ++ 12 files changed, 69 insertions(+), 52 deletions(-) diff --git a/escher/include/escher/layout_field.h b/escher/include/escher/layout_field.h index 874719df8..3994e89d4 100644 --- a/escher/include/escher/layout_field.h +++ b/escher/include/escher/layout_field.h @@ -53,7 +53,7 @@ private: static_assert(k_maxNumberOfLayouts == TextField::maxBufferSize(), "Maximal number of layouts in a layout field should be equal to max number of char in text field"); void scrollRightOfLayout(Poincare::Layout layoutR); void scrollToBaselinedRect(KDRect rect, KDCoordinate baseline); - void insertLayoutAtCursor(Poincare::Layout layoutR, Poincare::Layout pointedLayout, bool forceCursorRightOfLayout = false); + void insertLayoutAtCursor(Poincare::Layout layoutR, Poincare::Expression correspondingExpression, bool forceCursorRightOfLayout = false); class ContentView : public View { public: diff --git a/escher/src/layout_field.cpp b/escher/src/layout_field.cpp index a25088ef0..912e070c7 100644 --- a/escher/src/layout_field.cpp +++ b/escher/src/layout_field.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -91,6 +90,10 @@ void LayoutField::reload(KDSize previousSize) { } bool LayoutField::handleEventWithText(const char * text, bool indentation, bool forceCursorRightOfText) { + /* The text here can be: + * - the result of a key pressed, such as "," or "cos(•)" + * - the text added after a toolbox selection + * - the result of a copy-paste. */ if (text[0] == 0) { // The text is empty return true; @@ -122,31 +125,18 @@ bool LayoutField::handleEventWithText(const char * text, bool indentation, bool } else { Expression resultExpression = Expression::Parse(text); if (resultExpression.isUninitialized()) { + // The text is not parsable (for instance, ",") and is added char by char. KDSize previousLayoutSize = minimalSizeForOptimalDisplay(); m_contentView.cursor()->insertText(text); reload(previousLayoutSize); - } else { - Layout resultLayout = resultExpression.createLayout(Poincare::Preferences::sharedPreferences()->displayMode(), Poincare::PrintFloat::k_numberOfStoredSignificantDigits); - if (currentNumberOfLayouts + resultLayout.numberOfDescendants(true) >= k_maxNumberOfLayouts) { - return true; - } - // Find the pointed layout. - Layout pointedLayout; - if (!forceCursorRightOfText) { - if (strcmp(text, I18n::translate(I18n::Message::RandomCommandWithArg)) == 0) { - /* Special case: if the text is "random()", the cursor should not be set - * inside the parentheses. */ - pointedLayout = resultLayout; - } else if (resultLayout.type() == LayoutNode::Type::HorizontalLayout) { - pointedLayout = resultLayout.recursivelyMatches( - [](Poincare::Layout layout) { - return layout.type() == LayoutNode::Type::LeftParenthesisLayout || layout.isEmpty();}); - } - } - /* Insert the layout. If pointedLayout is uninitialized, the cursor will - * be on the right of the inserted layout. */ - insertLayoutAtCursor(resultLayout, pointedLayout, forceCursorRightOfText); + return true; } + // The text is parsable, we create its layout an insert it. + Layout resultLayout = resultExpression.createLayout(Poincare::Preferences::sharedPreferences()->displayMode(), Poincare::PrintFloat::k_numberOfStoredSignificantDigits); + if (currentNumberOfLayouts + resultLayout.numberOfDescendants(true) >= k_maxNumberOfLayouts) { + return true; + } + insertLayoutAtCursor(resultLayout, resultExpression, forceCursorRightOfText); } return true; } @@ -285,42 +275,44 @@ void LayoutField::scrollToBaselinedRect(KDRect rect, KDCoordinate baseline) { scrollToContentRect(balancedRect, true); } -void LayoutField::insertLayoutAtCursor(Layout layoutR, Layout pointedLayoutR, bool forceCursorRightOfLayout) { +void LayoutField::insertLayoutAtCursor(Layout layoutR, Poincare::Expression correspondingExpression, bool forceCursorRightOfLayout) { if (layoutR.isUninitialized()) { return; } KDSize previousSize = minimalSizeForOptimalDisplay(); + Poincare::LayoutCursor * cursor = m_contentView.cursor(); // Handle empty layouts - m_contentView.cursor()->showEmptyLayoutIfNeeded(); + cursor->showEmptyLayoutIfNeeded(); bool layoutWillBeMerged = layoutR.type() == LayoutNode::Type::HorizontalLayout; Layout lastMergedLayoutChild = layoutWillBeMerged ? layoutR.childAtIndex(layoutR.numberOfChildren()-1) : Layout(); - // Add the layout - m_contentView.cursor()->addLayoutAndMoveCursor(layoutR); + // Find the layout where the cursor will point + assert(!correspondingExpression.isUninitialized()); + Layout cursorLayout = forceCursorRightOfLayout ? layoutR : layoutR.layoutToPointWhenInserting(&correspondingExpression); + assert(!cursorLayout.isUninitialized()); - // Move the cursor if needed - if(!forceCursorRightOfLayout) { - if (!pointedLayoutR.isUninitialized() && (!layoutWillBeMerged || pointedLayoutR != layoutR)) { - // Make sure the layout was inserted (its parent is not uninitialized) - m_contentView.cursor()->setLayout(pointedLayoutR); - m_contentView.cursor()->setPosition(LayoutCursor::Position::Right); - } else if (!layoutWillBeMerged) { - m_contentView.cursor()->setLayout(layoutR.layoutToPointWhenInserting()); - m_contentView.cursor()->setPosition(LayoutCursor::Position::Right); - } - } else if (!layoutWillBeMerged) { - m_contentView.cursor()->setLayout(layoutR); - m_contentView.cursor()->setPosition(LayoutCursor::Position::Right); + // Add the layout. This puts the cursor at the right of the added layout + cursor->addLayoutAndMoveCursor(layoutR); + + /* Move the cursor if needed. + * If the layout to point to has been merged, it means that only its children + * have been inserted in the layout, so we must not move the cursor to the + * parent. In this case, addLayoutAndMoveCursor made the cursor point to the + * last merged child, which is what is wanted. + * For other cases, move the cursor to the computed layout. */ + if (!(layoutWillBeMerged && cursorLayout == layoutR)) { + cursor->setLayout(cursorLayout); + cursor->setPosition(LayoutCursor::Position::Right); } // Handle matrices - m_contentView.cursor()->layoutReference().addGreySquaresToAllMatrixAncestors(); + cursor->layoutReference().addGreySquaresToAllMatrixAncestors(); // Handle empty layouts - m_contentView.cursor()->hideEmptyLayoutIfNeeded(); + cursor->hideEmptyLayoutIfNeeded(); // Reload reload(previousSize); diff --git a/poincare/include/poincare/condensed_sum_layout.h b/poincare/include/poincare/condensed_sum_layout.h index 0495cbdb1..688b78bc4 100644 --- a/poincare/include/poincare/condensed_sum_layout.h +++ b/poincare/include/poincare/condensed_sum_layout.h @@ -26,9 +26,9 @@ public: return SerializationHelper::Prefix(this, buffer, bufferSize, floatDisplayMode, numberOfSignificantDigits, Sum::s_functionHelper.name()); } - LayoutNode * layoutToPointWhenInserting() override { + LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression) override { assert(false); - return nullptr; + return this; } // TreeNode diff --git a/poincare/include/poincare/fraction_layout.h b/poincare/include/poincare/fraction_layout.h index 423198210..94eeba128 100644 --- a/poincare/include/poincare/fraction_layout.h +++ b/poincare/include/poincare/fraction_layout.h @@ -27,7 +27,7 @@ public: int leftCollapsingAbsorbingChildIndex() const override { return 0; } int rightCollapsingAbsorbingChildIndex() const override { return 1; } void didCollapseSiblings(LayoutCursor * cursor) override; - LayoutNode * layoutToPointWhenInserting() override; + LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression) override; bool canBeOmittedMultiplicationRightFactor() const override { return false; } /* WARNING: We need to override this function, else 1/2 3/4 would be * serialized as 1/2**3/4, as the two Fraction layouts think their sibling is diff --git a/poincare/include/poincare/horizontal_layout.h b/poincare/include/poincare/horizontal_layout.h index 1333108a8..fa3fe7ec6 100644 --- a/poincare/include/poincare/horizontal_layout.h +++ b/poincare/include/poincare/horizontal_layout.h @@ -26,6 +26,7 @@ public: void moveCursorRight(LayoutCursor * cursor, bool * shouldRecomputeLayout) override; LayoutCursor equivalentCursor(LayoutCursor * cursor) override; void deleteBeforeCursor(LayoutCursor * cursor) override; + LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression) override; int serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const override; bool isEmpty() const override { return m_numberOfChildren == 1 && const_cast(this)->childAtIndex(0)->isEmpty(); } diff --git a/poincare/include/poincare/integral_layout.h b/poincare/include/poincare/integral_layout.h index 1a4836c61..cbd03b1a0 100644 --- a/poincare/include/poincare/integral_layout.h +++ b/poincare/include/poincare/integral_layout.h @@ -24,7 +24,7 @@ public: void moveCursorDown(LayoutCursor * cursor, bool * shouldRecomputeLayout, bool equivalentPositionVisited = false) override; void deleteBeforeCursor(LayoutCursor * cursor) override; int serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const override; - LayoutNode * layoutToPointWhenInserting() override { return lowerBoundLayout(); } + LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression) override { return lowerBoundLayout(); } CodePoint XNTCodePoint() const override { return 'x'; } // TreeNode diff --git a/poincare/include/poincare/layout.h b/poincare/include/poincare/layout.h index 8aa19ad4e..f9eaa0ad0 100644 --- a/poincare/include/poincare/layout.h +++ b/poincare/include/poincare/layout.h @@ -8,6 +8,7 @@ namespace Poincare { class LayoutCursor; +class Expression; class Layout : public TreeHandle { friend class GridLayoutNode; @@ -59,7 +60,11 @@ public: void deleteBeforeCursor(LayoutCursor * cursor) { return node()->deleteBeforeCursor(cursor); } bool removeGreySquaresFromAllMatrixAncestors() { return node()->removeGreySquaresFromAllMatrixAncestors(); } bool addGreySquaresToAllMatrixAncestors() { return node()->addGreySquaresToAllMatrixAncestors(); } - Layout layoutToPointWhenInserting() { return Layout(node()->layoutToPointWhenInserting()); } + Layout layoutToPointWhenInserting(Expression * correspondingExpression) { + // Pointer to correspondingExpr because expression.h includes layout.h + assert(correspondingExpression != nullptr); + return Layout(node()->layoutToPointWhenInserting(correspondingExpression)); + } // Cursor LayoutCursor cursor() const; diff --git a/poincare/include/poincare/layout_node.h b/poincare/include/poincare/layout_node.h index 2786ec135..3c82e2720 100644 --- a/poincare/include/poincare/layout_node.h +++ b/poincare/include/poincare/layout_node.h @@ -6,6 +6,7 @@ namespace Poincare { +class Expression; class LayoutCursor; class Layout; @@ -102,9 +103,7 @@ public: virtual void deleteBeforeCursor(LayoutCursor * cursor); // Other - virtual LayoutNode * layoutToPointWhenInserting() { - return numberOfChildren() > 0 ? childAtIndex(0) : this; - } + virtual LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression); bool removeGreySquaresFromAllMatrixAncestors() { return changeGreySquaresOfAllMatrixAncestors(false); } bool addGreySquaresToAllMatrixAncestors() { return changeGreySquaresOfAllMatrixAncestors(true); } /* A layout has text if it is not empty and it is not an horizontal layout diff --git a/poincare/include/poincare/sequence_layout.h b/poincare/include/poincare/sequence_layout.h index 9f5608adc..c301d120e 100644 --- a/poincare/include/poincare/sequence_layout.h +++ b/poincare/include/poincare/sequence_layout.h @@ -19,7 +19,7 @@ public: void moveCursorUp(LayoutCursor * cursor, bool * shouldRecomputeLayout, bool equivalentPositionVisited = false) override; void moveCursorDown(LayoutCursor * cursor, bool * shouldRecomputeLayout, bool equivalentPositionVisited = false) override; void deleteBeforeCursor(LayoutCursor * cursor) override; - LayoutNode * layoutToPointWhenInserting() override { return lowerBoundLayout(); } + LayoutNode * layoutToPointWhenInserting(Expression * correspondingExpression) override { return lowerBoundLayout(); } CodePoint XNTCodePoint() const override { return 'n'; } // TreeNode diff --git a/poincare/src/fraction_layout.cpp b/poincare/src/fraction_layout.cpp index 8af85a37d..589ba4fcf 100644 --- a/poincare/src/fraction_layout.cpp +++ b/poincare/src/fraction_layout.cpp @@ -166,7 +166,7 @@ int FractionLayoutNode::serialize(char * buffer, int bufferSize, Preferences::Pr return numberOfChar; } -LayoutNode * FractionLayoutNode::layoutToPointWhenInserting() { +LayoutNode * FractionLayoutNode::layoutToPointWhenInserting(Expression * correspondingExpression) { if (numeratorLayout()->isEmpty()){ return numeratorLayout(); } diff --git a/poincare/src/horizontal_layout.cpp b/poincare/src/horizontal_layout.cpp index 475ab8737..260ef72da 100644 --- a/poincare/src/horizontal_layout.cpp +++ b/poincare/src/horizontal_layout.cpp @@ -164,6 +164,21 @@ void HorizontalLayoutNode::deleteBeforeCursor(LayoutCursor * cursor) { LayoutNode::deleteBeforeCursor(cursor); } +LayoutNode * HorizontalLayoutNode::layoutToPointWhenInserting(Expression * correspondingExpression) { + assert(correspondingExpression != nullptr); + if (correspondingExpression->numberOfChildren() > 0) { + Layout layoutToPointTo = Layout(this).recursivelyMatches( + [](Poincare::Layout layout) { + return layout.type() == LayoutNode::Type::LeftParenthesisLayout || layout.isEmpty(); + } + ); + if (!layoutToPointTo.isUninitialized()) { + return layoutToPointTo.node(); + } + } + return this; +} + int HorizontalLayoutNode::serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const { if (numberOfChildren() == 0) { if (bufferSize == 0) { diff --git a/poincare/src/layout_node.cpp b/poincare/src/layout_node.cpp index fa6341dda..ba236cacd 100644 --- a/poincare/src/layout_node.cpp +++ b/poincare/src/layout_node.cpp @@ -110,6 +110,11 @@ void LayoutNode::deleteBeforeCursor(LayoutCursor * cursor) { // WARNING: Do no use "this" afterwards } +LayoutNode * LayoutNode::layoutToPointWhenInserting(Expression * correspondingExpression) { + assert(correspondingExpression != nullptr); + return numberOfChildren() > 0 ? childAtIndex(0) : this; +} + bool LayoutNode::willRemoveChild(LayoutNode * l, LayoutCursor * cursor, bool force) { if (!force) { Layout(this).replaceChildWithEmpty(Layout(l), cursor); From d2d43b8cb0f0b7e2e136e2ab1ab2ebafbc3344ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 27 May 2019 15:27:17 +0200 Subject: [PATCH 06/31] [poincare] Add tests about cursor positioning in layout --- poincare/Makefile | 1 + poincare/test/helper.cpp | 5 +++ poincare/test/helper.h | 1 + poincare/test/layout_cursor.cpp | 74 +++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 poincare/test/layout_cursor.cpp diff --git a/poincare/Makefile b/poincare/Makefile index 6689a9982..4845e3661 100644 --- a/poincare/Makefile +++ b/poincare/Makefile @@ -158,6 +158,7 @@ tests += $(addprefix poincare/test/,\ infinity.cpp\ integer.cpp\ layouts.cpp\ + layout_cursor.cpp\ logarithm.cpp\ matrix.cpp\ multiplication.cpp\ diff --git a/poincare/test/helper.cpp b/poincare/test/helper.cpp index ee9a2149d..fc3436671 100644 --- a/poincare/test/helper.cpp +++ b/poincare/test/helper.cpp @@ -193,6 +193,11 @@ void assert_parsed_expression_layout_serialize_to_self(const char * expressionLa quiz_assert(strcmp(expressionLayout, buffer) == 0); } +void assert_expression_layouts_as(Poincare::Expression expression, Poincare::Layout layout) { + Layout l = expression.createLayout(DecimalMode, PrintFloat::k_numberOfStoredSignificantDigits); + quiz_assert(l.isIdenticalTo(layout)); +} + void assert_expression_layout_serialize_to(Poincare::Layout layout, const char * serialization) { constexpr int bufferSize = 255; char buffer[bufferSize]; diff --git a/poincare/test/helper.h b/poincare/test/helper.h index 91c8bcb46..091d68d74 100644 --- a/poincare/test/helper.h +++ b/poincare/test/helper.h @@ -39,6 +39,7 @@ void assert_parsed_expression_approximates_with_value_for_symbol(Poincare::Expre void assert_parsed_expression_simplify_to(const char * expression, const char * simplifiedExpression, Poincare::ExpressionNode::ReductionTarget target = Poincare::ExpressionNode::ReductionTarget::User, Poincare::Preferences::AngleUnit angleUnit = Poincare::Preferences::AngleUnit::Radian, Poincare::Preferences::ComplexFormat complexFormat = Poincare::Preferences::ComplexFormat::Cartesian); void assert_parsed_expression_serialize_to(Poincare::Expression expression, const char * serializedExpression, Poincare::Preferences::PrintFloatMode mode = DecimalMode, int numberOfSignifiantDigits = 7); +void assert_expression_layouts_as(Poincare::Expression expression, Poincare::Layout layout); // Layouts diff --git a/poincare/test/layout_cursor.cpp b/poincare/test/layout_cursor.cpp new file mode 100644 index 000000000..ee883705c --- /dev/null +++ b/poincare/test/layout_cursor.cpp @@ -0,0 +1,74 @@ +#include +#include +#include "helper.h" + +using namespace Poincare; + +void assert_inserted_layout_points_to(Layout layoutToInsert, Expression * correspondingExpression, Layout layoutToPoint) { + quiz_assert(correspondingExpression != nullptr); + assert_expression_layouts_as(*correspondingExpression, layoutToInsert); + Layout layoutToPointComputed = layoutToInsert.layoutToPointWhenInserting(correspondingExpression); + quiz_assert(layoutToPointComputed.identifier() == layoutToPoint.identifier()); +} + +QUIZ_CASE(poincare_layout_cursor_computation) { + Layout l; + Expression e; + + // 1+2 + l = HorizontalLayout::Builder( + CodePointLayout::Builder('1'), + CodePointLayout::Builder('+'), + CodePointLayout::Builder('2')); + e = Addition::Builder(Rational::Builder(1), Rational::Builder(2)); + assert_inserted_layout_points_to(l, &e, l); + + // random() + HorizontalLayout hl = HorizontalLayout::Builder(); + hl.addChildAtIndex(CodePointLayout::Builder('r'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('a'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('n'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('d'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('o'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('m'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(LeftParenthesisLayout::Builder(), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(RightParenthesisLayout::Builder(), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + l = hl; + e = Random::Builder(); + assert_inserted_layout_points_to(l, &e, l); + + // cos(\x11) + hl = HorizontalLayout::Builder(); + hl.addChildAtIndex(CodePointLayout::Builder('c'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('o'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(CodePointLayout::Builder('s'), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(LeftParenthesisLayout::Builder(), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + hl.addChildAtIndex(RightParenthesisLayout::Builder(), hl.numberOfChildren(), hl.numberOfChildren(), nullptr); + l = hl; + e = Cosine::Builder(EmptyExpression::Builder()); + assert_inserted_layout_points_to(l, &e, l.childAtIndex(3)); + + // •^• + l = HorizontalLayout::Builder( + EmptyLayout::Builder(), + VerticalOffsetLayout::Builder( + EmptyLayout::Builder(), + VerticalOffsetLayoutNode::Position::Superscript) + ); + e = Power::Builder(EmptyExpression::Builder(), EmptyExpression::Builder()); + assert_inserted_layout_points_to(l, &e, l.childAtIndex(0)); + + // int(•, x, •, •) + l = IntegralLayout::Builder( + EmptyLayout::Builder(), + HorizontalLayout::Builder( + CodePointLayout::Builder('x')), + EmptyLayout::Builder(), + EmptyLayout::Builder()); + e = Integral::Builder( + EmptyExpression::Builder(), + Symbol::Builder('x'), + EmptyExpression::Builder(), + EmptyExpression::Builder()); + assert_inserted_layout_points_to(l, &e, l.childAtIndex(2)); +} From c94a5deae35352ff6ad3c1beed0eb9431e7ec9a2 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Mon, 27 May 2019 11:17:13 +0200 Subject: [PATCH 07/31] [kandinsky] Add safeguards in the rasterizer --- kandinsky/fonts/rasterizer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kandinsky/fonts/rasterizer.c b/kandinsky/fonts/rasterizer.c index 708d027ca..6f6995bbd 100644 --- a/kandinsky/fonts/rasterizer.c +++ b/kandinsky/fonts/rasterizer.c @@ -192,6 +192,7 @@ int main(int argc, char * argv[]) { int greyscaleBitsPerPixel = 4; int sizeOfUncompressedGlyphBuffer = glyph_width * glyph_height * greyscaleBitsPerPixel/8; + ENSURE(8*sizeOfUncompressedGlyphBuffer == glyph_width * glyph_height * greyscaleBitsPerPixel, "Error: the glyph size (%dx%d@%dbpp) cannot fit in an integral number of bytes", glyph_width, glyph_height, greyscaleBitsPerPixel); uint8_t * uncompressedGlyphBuffer = (uint8_t *)malloc(sizeOfUncompressedGlyphBuffer); uint16_t glyphDataOffset[NumberOfCodePoints+1]; @@ -218,8 +219,8 @@ int main(int argc, char * argv[]) { } } } - ENSURE(accumulator == 0, "Discarded accumulator data"); - ENSURE(numberOfValuesAccumulated == 0, "Discarded accumulator data"); + ENSURE(accumulator == 0, "Discarded accumulator data (accumulator = %d)", accumulator); + ENSURE(numberOfValuesAccumulated == 0, "Discarded accumulator data (numberOfValuesAccumulated = %d)", numberOfValuesAccumulated); ENSURE(uncompressedGlyphBufferIndex == sizeOfUncompressedGlyphBuffer, "Error filling uncompressed buffer, only %d out of %d", uncompressedGlyphBufferIndex, sizeOfUncompressedGlyphBuffer); int sizeOfCompressedGlyphBuffer = LZ4_compress_HC( From a0ddc9df727fd06d7b2df0143d55b26635a96403 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 09:35:00 +0200 Subject: [PATCH 08/31] [kandinsky] The rasterizer can check the size of the emitted glyphs --- kandinsky/Makefile | 6 +++--- kandinsky/fonts/rasterizer.c | 25 +++++++++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/kandinsky/Makefile b/kandinsky/Makefile index fcb8533dd..d522fc8d0 100644 --- a/kandinsky/Makefile +++ b/kandinsky/Makefile @@ -48,12 +48,12 @@ $(eval $(call rule_for, \ RASTER, \ kandinsky/fonts/SmallSourcePixel.cpp, \ kandinsky/fonts/SmallSourcePixel.otf $$(RASTERIZER), \ - $$(RASTERIZER) $$< 12 12 SmallFont $$@ \ + $$(RASTERIZER) $$< 12 12 7 14 SmallFont $$@ \ )) $(eval $(call rule_for, \ RASTER, \ kandinsky/fonts/LargeSourcePixel.cpp, \ - kandinsky/fonts/LargeSourcePixel.otf $$(RASTERIZER), \ - $$(RASTERIZER) $$< 16 16 LargeFont $$@ \ + kandinsky/fonts/LargeSourcePixel.ttf $$(RASTERIZER), \ + $$(RASTERIZER) $$< 16 16 10 18 LargeFont $$@ \ )) diff --git a/kandinsky/fonts/rasterizer.c b/kandinsky/fonts/rasterizer.c index 6f6995bbd..8ce508a7d 100644 --- a/kandinsky/fonts/rasterizer.c +++ b/kandinsky/fonts/rasterizer.c @@ -48,9 +48,9 @@ int main(int argc, char * argv[]) { FT_Face face; image_t bitmap_image; - int expectedNumberOfArguments = 6; + int expectedNumberOfArguments = 8; #ifdef GENERATE_PNG - expectedNumberOfArguments = 7; + expectedNumberOfArguments = 9; #endif if (argc != expectedNumberOfArguments) { #ifdef GENERATE_PNG @@ -61,6 +61,8 @@ int main(int argc, char * argv[]) { fprintf(stderr, " font_file: Path of the font file to load\n"); fprintf(stderr, " glyph_width: Width of bitmap glyphs, in pixels\n"); fprintf(stderr, " glyph_height: Height of bitmap glyphs, in pixels\n"); + fprintf(stderr, " packed_glyph_width: Minimal glyph width in pixels. Pass 0 if unsure.\n"); + fprintf(stderr, " packed_glyph_height: Minimal glyph height in pixels. Pass 0 if unsure.\n"); fprintf(stderr, " font_name: name of the loaded font\n"); fprintf(stderr, " output_cpp: Name of the generated C source file\n"); #ifdef GENERATE_PNG @@ -72,10 +74,12 @@ int main(int argc, char * argv[]) { char * font_file = argv[1]; int requested_glyph_width = atoi(argv[2]); int requested_glyph_height = atoi(argv[3]); - char * font_name = argv[4]; - char * output_cpp = argv[5]; + int packed_glyph_width = atoi(argv[4]); + int packed_glyph_height = atoi(argv[5]); + char * font_name = argv[6]; + char * output_cpp = argv[7]; #ifdef GENERATE_PNG - char * output_png = argv[6]; + char * output_png = argv[8]; #endif ENSURE(!FT_Init_FreeType(&library), "Initializing library"); @@ -111,8 +115,17 @@ int main(int argc, char * argv[]) { } int glyph_width = maxWidth-1; + if (packed_glyph_width != 0) { + ENSURE(glyph_width == packed_glyph_width, "Expecting a packed glyph width of %d but got %d instead", packed_glyph_width, glyph_width); + } else { + printf("Computed packed_glyph_width = %d\n", glyph_width); + } int glyph_height = maxAboveBaseline+maxBelowBaseline; - //printf("Actual glyph size = %dx%d\n", glyph_width, glyph_height); + if (packed_glyph_height != 0) { + ENSURE(glyph_height == packed_glyph_height, "Expecting a packed glyph height of %d but got %d instead", packed_glyph_height, glyph_height); + } else { + printf("Computed packed_glyph_height = %d\n", glyph_height); + } int grid_size = 1; int grid_width = 20; From f9634041c0b551a228fe1109951f297e600d0d03 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 10:19:59 +0200 Subject: [PATCH 09/31] [kandinsky] Auto-detect libpng in the rasterizer --- kandinsky/Makefile | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/kandinsky/Makefile b/kandinsky/Makefile index d522fc8d0..7e1e530fa 100644 --- a/kandinsky/Makefile +++ b/kandinsky/Makefile @@ -26,13 +26,15 @@ tests += $(addprefix kandinsky/test/,\ rect.cpp\ ) -RASTERIZER_CFLAGS := -std=c99 `pkg-config freetype2 --cflags` -RASTERIZER_LDFLAGS := `pkg-config freetype2 --libs` +RASTERIZER_CFLAGS := -std=c99 $(shell pkg-config freetype2 --cflags) +RASTERIZER_LDFLAGS := $(shell pkg-config freetype2 --libs) -ifdef LIBPNG_PATH +HAS_LIBPNG := $(shell pkg-config libpng --exists && echo 1) +ifeq ($(HAS_LIBPNG),1) small_font_files += kandinsky/src/small_font.png large_font_files += kandinsky/src/large_font.png - RASTERIZER_CFLAGS += -I$(LIBPNG_PATH)/include -DGENERATE_PNG=1 -L$(LIBPNG_PATH)/lib -lpng + RASTERIZER_CFLAGS += $(shell pkg-config libpng --cflags) -DGENERATE_PNG=1 + RASTERIZER_LDFLAGS += $(shell pkg-config libpng --libs) endif $(eval $(call rule_for, \ @@ -44,16 +46,15 @@ $(eval $(call rule_for, \ RASTERIZER := $(BUILD_DIR)/kandinsky/fonts/rasterizer -$(eval $(call rule_for, \ +# Define a rasterizing recipe. Parameters : font name, size, packed_width, packed_height +define raster_font +$(call rule_for, \ RASTER, \ - kandinsky/fonts/SmallSourcePixel.cpp, \ - kandinsky/fonts/SmallSourcePixel.otf $$(RASTERIZER), \ - $$(RASTERIZER) $$< 12 12 7 14 SmallFont $$@ \ -)) + kandinsky/fonts/$(1).cpp, \ + kandinsky/fonts/$(1).ttf $$(RASTERIZER), \ + $$(RASTERIZER) $$< $(2) $(2) $(3) $(4) $(1) $$@ $(if $(HAS_LIBPNG),$$(basename $$@).png) \ +) +endef -$(eval $(call rule_for, \ - RASTER, \ - kandinsky/fonts/LargeSourcePixel.cpp, \ - kandinsky/fonts/LargeSourcePixel.ttf $$(RASTERIZER), \ - $$(RASTERIZER) $$< 16 16 10 18 LargeFont $$@ \ -)) +$(eval $(call raster_font,SmallSourcePixel,10,8,13)) +$(eval $(call raster_font,LargeSourcePixel,16,10,18)) From 1eddc2d2e46ce6d8038348df94b698a386d2fb4c Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 10:38:20 +0200 Subject: [PATCH 10/31] [kandinsky] Use SmallFont.otf and LargeFont.otf It makes the Makefile shorter --- kandinsky/Makefile | 12 +++++------- .../fonts/{LargeSourcePixel.otf => LargeFont.otf} | Bin .../fonts/{SmallSourcePixel.otf => SmallFont.otf} | Bin 3 files changed, 5 insertions(+), 7 deletions(-) rename kandinsky/fonts/{LargeSourcePixel.otf => LargeFont.otf} (100%) rename kandinsky/fonts/{SmallSourcePixel.otf => SmallFont.otf} (100%) diff --git a/kandinsky/Makefile b/kandinsky/Makefile index 7e1e530fa..2e6cf333a 100644 --- a/kandinsky/Makefile +++ b/kandinsky/Makefile @@ -16,8 +16,8 @@ src += $(addprefix kandinsky/src/,\ ) src += $(addprefix kandinsky/fonts/, \ - LargeSourcePixel.ttf \ - SmallSourcePixel.ttf \ + LargeFont.ttf \ + SmallFont.ttf \ ) tests += $(addprefix kandinsky/test/,\ @@ -31,8 +31,6 @@ RASTERIZER_LDFLAGS := $(shell pkg-config freetype2 --libs) HAS_LIBPNG := $(shell pkg-config libpng --exists && echo 1) ifeq ($(HAS_LIBPNG),1) - small_font_files += kandinsky/src/small_font.png - large_font_files += kandinsky/src/large_font.png RASTERIZER_CFLAGS += $(shell pkg-config libpng --cflags) -DGENERATE_PNG=1 RASTERIZER_LDFLAGS += $(shell pkg-config libpng --libs) endif @@ -51,10 +49,10 @@ define raster_font $(call rule_for, \ RASTER, \ kandinsky/fonts/$(1).cpp, \ - kandinsky/fonts/$(1).ttf $$(RASTERIZER), \ + kandinsky/fonts/$(1).otf $$(RASTERIZER), \ $$(RASTERIZER) $$< $(2) $(2) $(3) $(4) $(1) $$@ $(if $(HAS_LIBPNG),$$(basename $$@).png) \ ) endef -$(eval $(call raster_font,SmallSourcePixel,10,8,13)) -$(eval $(call raster_font,LargeSourcePixel,16,10,18)) +$(eval $(call raster_font,SmallFont,10,8,13)) +$(eval $(call raster_font,LargeFont,16,10,18)) diff --git a/kandinsky/fonts/LargeSourcePixel.otf b/kandinsky/fonts/LargeFont.otf similarity index 100% rename from kandinsky/fonts/LargeSourcePixel.otf rename to kandinsky/fonts/LargeFont.otf diff --git a/kandinsky/fonts/SmallSourcePixel.otf b/kandinsky/fonts/SmallFont.otf similarity index 100% rename from kandinsky/fonts/SmallSourcePixel.otf rename to kandinsky/fonts/SmallFont.otf From dbfec9f08be960f3ec02abcf139d6491113e0988 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 10:54:36 +0200 Subject: [PATCH 11/31] [kandinsky] Enforce proper size for the small font --- kandinsky/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kandinsky/Makefile b/kandinsky/Makefile index 2e6cf333a..f0fe6fd2e 100644 --- a/kandinsky/Makefile +++ b/kandinsky/Makefile @@ -54,5 +54,5 @@ $(call rule_for, \ ) endef -$(eval $(call raster_font,SmallFont,10,8,13)) +$(eval $(call raster_font,SmallFont,12,7,14)) $(eval $(call raster_font,LargeFont,16,10,18)) From 199ef93d4048b46f4cd16f74eb6eeb97dd1ec566 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 14:15:30 +0200 Subject: [PATCH 12/31] [kandinsky] Use TTF fonts --- kandinsky/Makefile | 2 +- kandinsky/fonts/LargeFont.otf | Bin 211488 -> 0 bytes kandinsky/fonts/LargeFont.ttf | Bin 0 -> 219528 bytes kandinsky/fonts/SmallFont.otf | Bin 206120 -> 0 bytes kandinsky/fonts/SmallFont.ttf | Bin 0 -> 213336 bytes 5 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 kandinsky/fonts/LargeFont.otf create mode 100644 kandinsky/fonts/LargeFont.ttf delete mode 100644 kandinsky/fonts/SmallFont.otf create mode 100644 kandinsky/fonts/SmallFont.ttf diff --git a/kandinsky/Makefile b/kandinsky/Makefile index f0fe6fd2e..582c30977 100644 --- a/kandinsky/Makefile +++ b/kandinsky/Makefile @@ -49,7 +49,7 @@ define raster_font $(call rule_for, \ RASTER, \ kandinsky/fonts/$(1).cpp, \ - kandinsky/fonts/$(1).otf $$(RASTERIZER), \ + kandinsky/fonts/$(1).ttf $$(RASTERIZER), \ $$(RASTERIZER) $$< $(2) $(2) $(3) $(4) $(1) $$@ $(if $(HAS_LIBPNG),$$(basename $$@).png) \ ) endef diff --git a/kandinsky/fonts/LargeFont.otf b/kandinsky/fonts/LargeFont.otf deleted file mode 100644 index 1e6c616eaab8d8ca652dbc5d0784008b119ed06f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211488 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

ANzKqQF?qZvpac&N*wWj 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 Ul27ng@IQ-qh3{}5x#W`n1ImZhk^lez diff --git a/kandinsky/fonts/LargeFont.ttf b/kandinsky/fonts/LargeFont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7a88c8dc603571c08b60b3e0f1bbab1878357ac8 GIT binary patch literal 219528 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

JC1K>vUb2eIw7W4yqd$| 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

{u*W2stA-bL3t`O}HcC?3u-gd9m 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 JZF}s`{{;~ljt>9; diff --git a/kandinsky/fonts/SmallFont.ttf b/kandinsky/fonts/SmallFont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..97e426fc9f60a92949b0692f87f315a8324b1c63 GIT binary patch literal 213336 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 Date: Tue, 28 May 2019 14:15:50 +0200 Subject: [PATCH 13/31] [kandinsky] Fix the rasterizer with old libpng --- kandinsky/fonts/rasterizer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kandinsky/fonts/rasterizer.c b/kandinsky/fonts/rasterizer.c index 8ce508a7d..00848d2de 100644 --- a/kandinsky/fonts/rasterizer.c +++ b/kandinsky/fonts/rasterizer.c @@ -36,6 +36,7 @@ typedef struct { } image_t; #ifdef GENERATE_PNG +#define PNG_SKIP_SETJMP_CHECK #include void writeImageToPNGFile(image_t * image, char * filename); #endif From 4ae24bcd353bce86f312e0f4627af624c43128a3 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 14:16:03 +0200 Subject: [PATCH 14/31] [kandinsky] Add a debug line to help diagnose wrong glyph sizes --- kandinsky/fonts/rasterizer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kandinsky/fonts/rasterizer.c b/kandinsky/fonts/rasterizer.c index 00848d2de..967c5457e 100644 --- a/kandinsky/fonts/rasterizer.c +++ b/kandinsky/fonts/rasterizer.c @@ -113,6 +113,7 @@ int main(int argc, char * argv[]) { if (belowBaseline > maxBelowBaseline) { maxBelowBaseline = belowBaseline; } + // printf("Codepoint %04x : %dx%d\n", codePoint, width, aboveBaseline+belowBaseline); } int glyph_width = maxWidth-1; From cbd14480fffe70c9c028a925d8d309df16287ead Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Wed, 15 May 2019 16:41:14 +0200 Subject: [PATCH 15/31] [poincare/test/number] Test that long decimals 0.999...9 are rounded off to 1 --- poincare/test/number.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/poincare/test/number.cpp b/poincare/test/number.cpp index 8bb30e4b2..922190419 100644 --- a/poincare/test/number.cpp +++ b/poincare/test/number.cpp @@ -27,6 +27,12 @@ QUIZ_CASE(poincare_number_parser) { assert_parsed_expression_is("123456789012345.2", Decimal::Builder(Integer("12345678901235"), 14)); assert_parsed_expression_is("123456789012341.2", Decimal::Builder(Integer("12345678901234"), 14)); assert_parsed_expression_is("12.34567", Decimal::Builder(Integer("1234567"), 1)); + assert_parsed_expression_is(".999999999999990", Decimal::Builder(Integer("99999999999999"), -1)); + assert_parsed_expression_is("9.99999999999994", Decimal::Builder(Integer("99999999999999"), 0)); + assert_parsed_expression_is("99.9999999999995", Decimal::Builder(Integer("100000000000000"), 2)); + assert_parsed_expression_is("999.999999999999", Decimal::Builder(Integer("100000000000000"), 3)); + assert_parsed_expression_is("9999.99199999999", Decimal::Builder(Integer("99999920000000"), 3)); + assert_parsed_expression_is("99299.9999999999", Decimal::Builder(Integer("99300000000000"), 4)); // Infinity assert_parsed_expression_is("23ᴇ1000", Infinity::Builder(false)); From 712ec0b81c06ae8003be02fd2c98f6373caf310b Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Wed, 15 May 2019 18:35:04 +0200 Subject: [PATCH 16/31] [poincare/decimal] Fix rounding error when buidling 0.9999... --- poincare/src/decimal.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/poincare/src/decimal.cpp b/poincare/src/decimal.cpp index 812b5cdf7..a9857b7d1 100644 --- a/poincare/src/decimal.cpp +++ b/poincare/src/decimal.cpp @@ -287,6 +287,13 @@ Decimal Decimal::Builder(const char * integralPart, int integralPartLength, cons } //TODO: set a FLAG to tell that a rounding happened? bool rounding = integralPartLength > PrintFloat::k_numberOfStoredSignificantDigits && integralPart[PrintFloat::k_numberOfStoredSignificantDigits] >= '5'; + /* At this point, the exponent has already been computed. In the very special + * case where all the significant digits of the mantissa are 9, rounding up + * must increment the exponent. For instance, rounding up 0.99...9 (whose + * exponent is -1) yields 1 (whose exponent is 0). To that end, the + * significant digits will be scanned successively to determine whether the + * exponent should be incremented. */ + bool incrementExponentAfterRoundingUp = true; // Cap the length of the integralPart integralPartLength = integralPartLength > PrintFloat::k_numberOfStoredSignificantDigits ? PrintFloat::k_numberOfStoredSignificantDigits : integralPartLength; Integer numerator(integralPart, integralPartLength, false); @@ -301,13 +308,22 @@ Decimal Decimal::Builder(const char * integralPart, int integralPartLength, cons } rounding |= integralPartLength+fractionalPartLength > PrintFloat::k_numberOfStoredSignificantDigits && fractionalPart[PrintFloat::k_numberOfStoredSignificantDigits-integralPartLength] >= '5'; fractionalPartLength = integralPartLength+fractionalPartLength > PrintFloat::k_numberOfStoredSignificantDigits ? PrintFloat::k_numberOfStoredSignificantDigits - integralPartLength : fractionalPartLength; + while (incrementExponentAfterRoundingUp && integralPartLength-- > 0) { + incrementExponentAfterRoundingUp = (*(integralPart++) == '9'); + } for (int i = 0; i < fractionalPartLength; i++) { numerator = Integer::Multiplication(numerator, base); assert(*fractionalPart >= '0' && *fractionalPart <= '9'); numerator = Integer::Addition(numerator, Integer(*fractionalPart-'0')); + incrementExponentAfterRoundingUp &= (*fractionalPart == '9'); fractionalPart++; } - numerator = rounding ? Integer::Addition(numerator, Integer(1)) : numerator; + if (rounding) { + numerator = Integer::Addition(numerator, Integer(1)); + if (incrementExponentAfterRoundingUp) { + exponent++; + } + } exponent = numerator.isZero() ? 0 : exponent; return Decimal::Builder(numerator, exponent); } From 56728535112a8c3374e9dbe5c621fde11b1f71f1 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Mon, 27 May 2019 16:11:59 +0200 Subject: [PATCH 17/31] [apps/regression] Add tests about exponential regression --- apps/regression/test/model.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apps/regression/test/model.cpp b/apps/regression/test/model.cpp index aebea93df..d03f42fa0 100644 --- a/apps/regression/test/model.cpp +++ b/apps/regression/test/model.cpp @@ -76,6 +76,20 @@ QUIZ_CASE(exponential_regression) { assert_regression_is(x, y, 6, Model::Type::Exponential, coefficients); } +QUIZ_CASE(exponential_regression2) { + double x[] = {0, 1, 2, 3}; + double y[] = {3000, 3315.513, 3664.208, 4049.576}; + double coefficients[] = {3000, .1}; + assert_regression_is(x, y, 4, Model::Type::Exponential, coefficients); +} + +QUIZ_CASE(exponential_regression3) { + double x[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + double y[] = {-1, -.3678794, -.1353353, -.04978707, -.01831564, -.006737947, -.002478752, -.000911882, -.0003354626, -.0001234098, -.00004539993}; + double coefficients[] = {-1, -1}; + assert_regression_is(x, y, 11, Model::Type::Exponential, coefficients); +} + QUIZ_CASE(power_regression) { double x[] = {1.0, 50.0, 34.0, 67.0, 20.0}; double y[] = {71.860, 2775514, 979755.1, 6116830, 233832.9}; From 2c21055a0fce0628017b221c57637689dee91b7c Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Tue, 28 May 2019 12:17:47 +0200 Subject: [PATCH 18/31] [apps/regression/model/exponential_model] Explicit fit --- apps/regression/model/exponential_model.cpp | 39 +++++++++++++++++++++ apps/regression/model/exponential_model.h | 1 + 2 files changed, 40 insertions(+) diff --git a/apps/regression/model/exponential_model.cpp b/apps/regression/model/exponential_model.cpp index e29bdb047..ee7ea3c60 100644 --- a/apps/regression/model/exponential_model.cpp +++ b/apps/regression/model/exponential_model.cpp @@ -1,4 +1,5 @@ #include "exponential_model.h" +#include "../store.h" #include #include #include @@ -46,6 +47,44 @@ double ExponentialModel::levelSet(double * modelCoefficients, double xMin, doubl return log(y/a)/b; } +void ExponentialModel::fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) { + /* By the change of variable z=ln(y), the equation y=a*exp(b*x) becomes + * z=c*x+d with c=b and d=ln(a). Although that change of variable does not + * preserve the regression error function, it turns an exponential regression + * problem into a linear one and we consider that the solution of the latter + * is good enough for our purpose. + * That being said, one should check that the y values are all positive. (If + * the y values are all negative, one may replace each of them by its + * opposite. In the case where y values happen to be zero or of opposite + * sign, we call the base class method as a fallback. */ + double sumOfX = 0; + double sumOfY = 0; + double sumOfXX = 0; + double sumOfXY = 0; + const int numberOfPoints = store->numberOfPairsOfSeries(series); + const int sign = store->get(series, 1, 0) > 0 ? 1 : -1; + for (int p = 0; p < numberOfPoints; p++) { + const double x = store->get(series, 0, p); + const double z = store->get(series, 1, p) * sign; + if (z <= 0) { + return Model::fit(store, series, modelCoefficients, context); + } + const double y = log(z); + sumOfX += x; + sumOfY += y; + sumOfXX += x*x; + sumOfXY += x*y; + } + const double meanOfX = sumOfX / numberOfPoints; + const double meanOfY = sumOfY / numberOfPoints; + const double meanOfXX = sumOfXX / numberOfPoints; + const double meanOfXY = sumOfXY / numberOfPoints; + const double variance = meanOfXX - meanOfX * meanOfX; + const double covariance = meanOfXY - meanOfX * meanOfY; + modelCoefficients[1] = covariance / variance; + modelCoefficients[0] = sign * exp(meanOfY - modelCoefficients[1] * meanOfX); +} + double ExponentialModel::partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const { double a = modelCoefficients[0]; double b = modelCoefficients[1]; diff --git a/apps/regression/model/exponential_model.h b/apps/regression/model/exponential_model.h index 7d373b473..d7293ce35 100644 --- a/apps/regression/model/exponential_model.h +++ b/apps/regression/model/exponential_model.h @@ -12,6 +12,7 @@ public: I18n::Message formulaMessage() const override { return I18n::Message::ExponentialRegressionFormula; } double evaluate(double * modelCoefficients, double x) const override; double levelSet(double * modelCoefficients, double xMin, double step, double xMax, double y, Poincare::Context * context) override; + void fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) override; double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override; int numberOfCoefficients() const override { return 2; } int bannerLinesCount() const override { return 2; } From a36ea6d1e3274a6e74d33490a9311e49bc597dd5 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Tue, 28 May 2019 18:55:58 +0200 Subject: [PATCH 19/31] [apps/regression] Use a new helper to compute linear regression coefficients --- apps/regression/Makefile | 1 + apps/regression/linear_model_helper.cpp | 17 +++++++++++++++++ apps/regression/linear_model_helper.h | 15 +++++++++++++++ apps/regression/model/exponential_model.cpp | 6 ++++-- apps/regression/store.cpp | 5 +++-- 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 apps/regression/linear_model_helper.cpp create mode 100644 apps/regression/linear_model_helper.h diff --git a/apps/regression/Makefile b/apps/regression/Makefile index 450d3a471..f31243396 100644 --- a/apps/regression/Makefile +++ b/apps/regression/Makefile @@ -13,6 +13,7 @@ app_src += $(addprefix apps/regression/,\ graph_options_controller.cpp \ graph_view.cpp \ initialisation_parameter_controller.cpp \ + linear_model_helper.cpp \ regression_context.cpp \ regression_controller.cpp \ store.cpp \ diff --git a/apps/regression/linear_model_helper.cpp b/apps/regression/linear_model_helper.cpp new file mode 100644 index 000000000..c0c975d2b --- /dev/null +++ b/apps/regression/linear_model_helper.cpp @@ -0,0 +1,17 @@ +#include "linear_model_helper.h" + +namespace Regression { + +namespace LinearModelHelper { + +double Slope(double covariance, double variance) { + return covariance / variance; +} + +double YIntercept(double meanOfY, double meanOfX, double slope) { + return meanOfY - slope * meanOfX; +} + +} + +} diff --git a/apps/regression/linear_model_helper.h b/apps/regression/linear_model_helper.h new file mode 100644 index 000000000..27ca1da55 --- /dev/null +++ b/apps/regression/linear_model_helper.h @@ -0,0 +1,15 @@ +#ifndef REGRESSION_LINEAR_MODEL_HELPER +#define REGRESSION_LINEAR_MODEL_HELPER + +namespace Regression { + +namespace LinearModelHelper { + +double Slope(double covariance, double variance); +double YIntercept(double meanOfY, double meanOfX, double slope); + +} + +} + +#endif diff --git a/apps/regression/model/exponential_model.cpp b/apps/regression/model/exponential_model.cpp index ee7ea3c60..608467a11 100644 --- a/apps/regression/model/exponential_model.cpp +++ b/apps/regression/model/exponential_model.cpp @@ -1,5 +1,6 @@ #include "exponential_model.h" #include "../store.h" +#include "../linear_model_helper.h" #include #include #include @@ -81,8 +82,9 @@ void ExponentialModel::fit(Store * store, int series, double * modelCoefficients const double meanOfXY = sumOfXY / numberOfPoints; const double variance = meanOfXX - meanOfX * meanOfX; const double covariance = meanOfXY - meanOfX * meanOfY; - modelCoefficients[1] = covariance / variance; - modelCoefficients[0] = sign * exp(meanOfY - modelCoefficients[1] * meanOfX); + modelCoefficients[1] = LinearModelHelper::Slope(covariance, variance); + modelCoefficients[0] = + sign * exp(LinearModelHelper::YIntercept(meanOfY, meanOfX, modelCoefficients[1])); } double ExponentialModel::partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const { diff --git a/apps/regression/store.cpp b/apps/regression/store.cpp index 683849169..7174cb8d3 100644 --- a/apps/regression/store.cpp +++ b/apps/regression/store.cpp @@ -1,4 +1,5 @@ #include "store.h" +#include "linear_model_helper.h" #include "apps/apps_container.h" #include #include @@ -238,11 +239,11 @@ double Store::covariance(int series) const { } double Store::slope(int series) const { - return covariance(series)/varianceOfColumn(series, 0); + return LinearModelHelper::Slope(covariance(series), varianceOfColumn(series, 0)); } double Store::yIntercept(int series) const { - return meanOfColumn(series, 1) - slope(series)*meanOfColumn(series, 0); + return LinearModelHelper::YIntercept(meanOfColumn(series, 1), meanOfColumn(series, 0), slope(series)); } double Store::yValueForXValue(int series, double x, Poincare::Context * globalContext) { From ec40cdd34770f577fac04cdfbbe6dfbc783fe1cb Mon Sep 17 00:00:00 2001 From: critor Date: Mon, 20 May 2019 18:11:07 +0200 Subject: [PATCH 20/31] Fixed german special characters Now that special unicode characters are supported, when appropriate, replaced occurrences of the 'ae', 'oe', 'ue', and 'ss' digrams with the proper character. --- apps/code/base.de.i18n | 6 +++--- apps/code/catalog.de.i18n | 14 +++++++------- apps/graph/base.de.i18n | 4 ++-- apps/on_boarding/base.de.i18n | 8 ++++---- apps/probability/base.de.i18n | 4 ++-- apps/sequence/base.de.i18n | 6 +++--- apps/settings/base.de.i18n | 6 +++--- apps/shared.de.i18n | 22 +++++++++++----------- apps/solver/base.de.i18n | 26 +++++++++++++------------- apps/statistics/base.de.i18n | 8 ++++---- apps/toolbox.de.i18n | 8 ++++---- apps/usb/base.de.i18n | 4 ++-- apps/variables.de.i18n | 2 +- 13 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/code/base.de.i18n b/apps/code/base.de.i18n index 155cd5ccd..5879c5745 100644 --- a/apps/code/base.de.i18n +++ b/apps/code/base.de.i18n @@ -1,8 +1,8 @@ Console = "Interaktive Konsole" -AddScript = "Skript hinzufuegen" +AddScript = "Skript hinzufügen" ScriptOptions = "Skriptoptionen" -ExecuteScript = "Skript ausfuehren" +ExecuteScript = "Skript ausführen" AutoImportScript = "Automatischer Import in Konsole" -DeleteScript = "Skript loeschen" +DeleteScript = "Skript löschen" FunctionsAndVariables = "Funktionen und Variablen" AllowedCharactersaz09 = "Erlaubte Zeichen: a-z, 0-9, _" diff --git a/apps/code/catalog.de.i18n b/apps/code/catalog.de.i18n index 858aee304..fa6a0999d 100644 --- a/apps/code/catalog.de.i18n +++ b/apps/code/catalog.de.i18n @@ -1,15 +1,15 @@ PythonPound = "Kommentar" PythonPercent = "Modulo" -Python1J = "Imaginaeres i" +Python1J = "Imaginäres i" PythonLF = "Zeilenvorschub" PythonTab = "Tabulator" PythonAmpersand = "Bitweise und" PythonSymbolExp = "Bitweise exklusiv oder" PythonVerticalBar = "Bitweise oder" -PythonImag = "Imaginaerteil von z" +PythonImag = "Imaginärteil von z" PythonReal = "Realteil von z" -PythonSingleQuote = "Einfaches Anfuehrungszeichen" -PythonAbs = "Absolute/r Wert/Groesse" +PythonSingleQuote = "Einfaches Anführungszeichen" +PythonAbs = "Absolute/r Wert/Größe" PythonAcos = "Arkuskosinus" PythonAcosh = "Hyperbelkosinus" PythonAsin = "Arkussinus" @@ -17,12 +17,12 @@ PythonAsinh = "Hyperbelsinus" PythonAtan = "Arkustangens" PythonAtan2 = "Gib atan(y/x)" PythonAtanh = "Hyperbeltangens" -PythonBin = "Ganzzahl nach binaer konvertieren" +PythonBin = "Ganzzahl nach binär konvertieren" PythonCeil = "Aufrundung" PythonChoice = "Zufallszahl aus der Liste" -PythonCmathFunction = "cmath-Modul-Funktionspraefix" +PythonCmathFunction = "cmath-Modul-Funktionspräfix" PythonColor = "Definiere eine RGB-Farbe" -PythonComplex = "a+ib zurueckgeben" +PythonComplex = "a+ib zurückgeben" PythonCopySign = "Return x with the sign of y" PythonCos = "Kosinus" PythonCosh = "Hyperbolic cosine" diff --git a/apps/graph/base.de.i18n b/apps/graph/base.de.i18n index e5ec488fa..47586b05a 100644 --- a/apps/graph/base.de.i18n +++ b/apps/graph/base.de.i18n @@ -1,8 +1,8 @@ FunctionApp = "Funktionen" FunctionAppCapital = "FUNKTIONEN" FunctionTab = "Funktionen" -AddFunction = "Funktion hinzufuegen" -DeleteFunction = "Funktion loeschen" +AddFunction = "Funktion hinzufügen" +DeleteFunction = "Funktion löschen" FunctionColor = "Farbe der Funktion" NoFunction = "Keine Funktion" NoActivatedFunction = "Keine aktive Funktion" diff --git a/apps/on_boarding/base.de.i18n b/apps/on_boarding/base.de.i18n index 0ae046cbd..bbf9040ad 100644 --- a/apps/on_boarding/base.de.i18n +++ b/apps/on_boarding/base.de.i18n @@ -1,6 +1,6 @@ -UpdateAvailable = "UPDATE VERFUEGBAR" -UpdateMessage1 = "Wichtige Verbesserungen fuer Ihren" -UpdateMessage2 = "Rechner stehen zur Verfuegung." +UpdateAvailable = "UPDATE VERFÜGBAR" +UpdateMessage1 = "Wichtige Verbesserungen für Ihren" +UpdateMessage2 = "Rechner stehen zur Verfügung." UpdateMessage3 = "Verbinden Sie sich mit Ihrem Computer auf" UpdateMessage4 = "www.numworks.com/update." BetaVersion = "BETA VERSION" @@ -10,4 +10,4 @@ BetaVersionMessage3 = "You might run into bugs or glitches." BetaVersionMessage4 = "" BetaVersionMessage5 = "Please send any feedback to" BetaVersionMessage6 = "contact@numworks.com" -Skip = "Ueberspringen" +Skip = "Überspringen" diff --git a/apps/probability/base.de.i18n b/apps/probability/base.de.i18n index 78de545c8..f0a406873 100644 --- a/apps/probability/base.de.i18n +++ b/apps/probability/base.de.i18n @@ -1,6 +1,6 @@ ProbaApp = "Wahrsch." ProbaAppCapital = "WAHRSCHEINLICHKEIT" -ChooseLaw = "Waehlen Sie eine Verteilung" +ChooseLaw = "Wählen Sie eine Verteilung" Binomial = "Binomial" Uniforme = "Uniform" Normal = "Normal" @@ -10,7 +10,7 @@ UniformLaw = "Uniformverteilung" ExponentialLaw = "Exponentialverteilung" NormalLaw = "Normalverteilung" PoissonLaw = "Poisson-Verteilung" -ChooseParameters = "Parameter auswaehlen" +ChooseParameters = "Parameter auswählen" RepetitionNumber = "n: Anzahl der Versuche" SuccessProbability = "p: Erfolgswahrscheinlichkeit" IntervalDefinition = "[a,b]: Intervall" diff --git a/apps/sequence/base.de.i18n b/apps/sequence/base.de.i18n index 2899ddbc5..278615512 100644 --- a/apps/sequence/base.de.i18n +++ b/apps/sequence/base.de.i18n @@ -1,15 +1,15 @@ SequenceApp = "Folge" SequenceAppCapital = "FOLGE" SequenceTab = "Folgen" -AddSequence = "Folge hinzufuegen" -ChooseSequenceType = "Das Bildungsgesetz der Folge auswaehlen" +AddSequence = "Folge hinzufügen" +ChooseSequenceType = "Das Bildungsgesetz der Folge auswählen" SequenceType = "Bildungsgesetz der Folge" Explicit = "Explizit" SingleRecurrence = "Rekursion 1. Ordnung" DoubleRecurrence = "Rekursion 2. Ordnung" SequenceOptions = "Optionen der Folge" SequenceColor = "Farbe der Folge" -DeleteSequence = "Folge loeschen" +DeleteSequence = "Folge löschen" NoSequence = "Keine Folge" NoActivatedSequence = "Keine aktive Folge" NStart = "Startwert" diff --git a/apps/settings/base.de.i18n b/apps/settings/base.de.i18n index b0a434359..3ed41780d 100644 --- a/apps/settings/base.de.i18n +++ b/apps/settings/base.de.i18n @@ -4,14 +4,14 @@ AngleUnit = "Winkeleinheit" DisplayMode = "Zahlenformat" EditionMode = "Eingabe" EditionLinear = "Linear " -Edition2D = "Natuerlich " +Edition2D = "Natürlich " ComplexFormat = "Komplex" ExamMode = "Testmodus" ActivateExamMode = "Start Testmodus" ExamModeActive = "Testmodus: aktiv" -About = "Ueber" +About = "Über" Degres = "Grad " -Radian = "Bogenmass " +Radian = "Bogenmaß " Decimal = "Dezimal " Scientific = "Wissenschaftlich " SignificantFigures = "Signifikante Stellen " diff --git a/apps/shared.de.i18n b/apps/shared.de.i18n index e2ff6f0c2..93083a3dc 100644 --- a/apps/shared.de.i18n +++ b/apps/shared.de.i18n @@ -1,10 +1,10 @@ ActivateDeactivate = "Aktivieren/Deaktivieren" ActiveExamModeMessage1 = "Alle Ihre Daten werden " -ActiveExamModeMessage2 = "geloescht, wenn Sie den " +ActiveExamModeMessage2 = "gelscht, wenn Sie den " ActiveExamModeMessage3 = "Testmodus einschalten." Axis = "Achsen" Cancel = "Abbrechen" -ClearColumn = "Spalte loeschen" +ClearColumn = "Spalte lschen" ColumnOptions = "Optionen der Spalte" CopyColumnInList = "Die Spalte in einer Liste kopieren" DataNotSuitable = "Daten nicht geeignet" @@ -14,10 +14,10 @@ Deg = "gra" Deviation = "Varianz" DisplayValues = "Werte anzeigen" Empty = "Leer" -ExitExamMode1 = "Moechten Sie den Testmodus " +ExitExamMode1 = "Mchten Sie den Testmodus " ExitExamMode2 = "verlassen?" Exponential = "Exponentielle" -FillWithFormula = "Mit einer Formel fuellen" +FillWithFormula = "Mit einer Formel fllen" ForbiddenValue = "Verbotener Wert" FunctionColumn = "0(0) Spalte" FunctionOptions = "Funktionsoptionen" @@ -25,22 +25,22 @@ Goto = "Gehe zu" GraphTab = "Graph" HardwareTestLaunch1 = "Sie sind dabei den Hardwaretest zu" HardwareTestLaunch2 = "starten. Um ihn wieder zu verlassen," -HardwareTestLaunch3 = "muessen Sie einen Reset durchfuhren," -HardwareTestLaunch4 = "der Ihre Daten loeschen wird." +HardwareTestLaunch3 = "mssen Sie einen Reset durchfuhren," +HardwareTestLaunch4 = "der Ihre Daten lschen wird." Initialization = "Initialisierung" IntervalSet = "Intervall einstellen" Language = "Sprache" -LowBattery = "Batterie erschoepft" +LowBattery = "Batterie erschpft" Mean = "Mittelwert" Move = " Verschieben: " NameCannotStartWithNumber = "Ein Name darf nicht mit einer Zahl beginnen" NameTaken = "Dieser Name ist bereits vergeben" NameTooLong = "Der Name ist zu lang" -Next = "Naechste" +Next = "Nchste" NoDataToPlot = "Keine Daten zum Zeichnen" -NoFunctionToDelete = "Keine Funktion zum Loeschen" -NoValueToCompute = "Keine Groesse zum Berechnen" -Ok = "Bestaetigen" +NoFunctionToDelete = "Keine Funktion zum Lschen" +NoValueToCompute = "Keine Gre zum Berechnen" +Ok = "Besttigen" Or = " oder " Orthonormal = "Orthonormal" Plot = "Graphen zeichnen" diff --git a/apps/solver/base.de.i18n b/apps/solver/base.de.i18n index b5977d8b6..5350c81d2 100644 --- a/apps/solver/base.de.i18n +++ b/apps/solver/base.de.i18n @@ -1,25 +1,25 @@ SolverApp = "Gleichungen" SolverAppCapital = "GLEICHUNGEN" -AddEquation = "Gleichung hinzufuegen" -ResolveEquation = "Loesen der Gleichung" -ResolveSystem = "Loesen des Gleichungssystems" +AddEquation = "Gleichung hinzufügen" +ResolveEquation = "Lösen der Gleichung" +ResolveSystem = "Lösen des Gleichungssystems" UseEquationModel = "Verwenden Sie ein Gleichungsmodell" RequireEquation = "Die Eingabe muss eine Gleichung sein" UndefinedEquation = "Nicht definierte Gleichung" UnrealEquation = "Nicht reelle Gleichung" TooManyVariables = "Es gibt zu viele Unbekannte" NonLinearSystem = "Das System ist nicht linear" -Solution = "Loesung" -ApproximateSolution = "Ungefaehre Loesung" -SearchInverval = "Loesungssuche Intervall" -NoSolutionSystem = "Das System hat keine Loesung" -NoSolutionEquation = "Die Gleichung hat keine Loesung" -NoSolutionInterval = "Keine Loesung im Intervall gefunden" +Solution = "Lösung" +ApproximateSolution = "Ungefähre Lösung" +SearchInverval = "Lösungssuche Intervall" +NoSolutionSystem = "Das System hat keine Lösung" +NoSolutionEquation = "Die Gleichung hat keine Lösung" +NoSolutionInterval = "Keine Lösung im Intervall gefunden" EnterEquation = "Geben Sie eine Gleichung ein" -InfiniteNumberOfSolutions = "Es gibt unendlich viele Loesungen" -ApproximateSolutionIntervalInstruction0= "Geben Sie das Intervall fuer die Suche" -ApproximateSolutionIntervalInstruction1= "nach einer ungefaehren Loesung ein" +InfiniteNumberOfSolutions = "Es gibt unendlich viele Lösungen" +ApproximateSolutionIntervalInstruction0= "Geben Sie das Intervall für die Suche" +ApproximateSolutionIntervalInstruction1= "nach einer ungefähren Lösung ein" OnlyFirstSolutionsDisplayed0 = "Es werden nur die ersten" -OnlyFirstSolutionsDisplayed1 = "zehn Loesungen angezeigt." +OnlyFirstSolutionsDisplayed1 = "zehn Lösungen angezeigt." PolynomeHasNoRealSolution0 = "Das Polynom hat" PolynomeHasNoRealSolution1 = "keine reelle Nullstelle" diff --git a/apps/statistics/base.de.i18n b/apps/statistics/base.de.i18n index 4aae4697a..a28b5e8f5 100644 --- a/apps/statistics/base.de.i18n +++ b/apps/statistics/base.de.i18n @@ -5,12 +5,12 @@ BoxTab = "Boxplot" Values1 = "Werte V1" Values2 = "Werte V2" Values3 = "Werte V3" -Sizes1 = "Haeufigkeiten N1" -Sizes2 = "Haeufigkeiten N2" -Sizes3 = "Haeufigkeiten N3" +Sizes1 = "Häufigkeiten N1" +Sizes2 = "Häufigkeiten N2" +Sizes3 = "Häufigkeiten N3" ImportList = "Laden einer Liste" Interval = " Intervall" -Size = " Haeufigkeit" +Size = " Häufigkeit" Frequency = "Relative" HistogramSet = "Einstellung des Histogramms" RectangleWidth = "Breite der Rechtecke" diff --git a/apps/toolbox.de.i18n b/apps/toolbox.de.i18n index 0de46ea75..8b7f75086 100644 --- a/apps/toolbox.de.i18n +++ b/apps/toolbox.de.i18n @@ -19,7 +19,7 @@ Product = "Produkt" ComplexAbsoluteValue = "Betrag" Agument = "Argument" RealPart = "Realteil" -ImaginaryPart = "Imaginaerteil" +ImaginaryPart = "Imaginärteil" Conjugate = "Konjugiert" Combination = "Kombination" Permutation = "Permutation" @@ -31,7 +31,7 @@ Inverse = "Inverse" Determinant = "Determinante" Transpose = "Transponierte" Trace = "Spur" -Dimension = "Groesse" +Dimension = "Größe" Sort = "Sortieren aufsteigend" InvSort = "Sortieren absteigend" Maximum = "Maximalwert" @@ -49,7 +49,7 @@ InverseHyperbolicTangent = "Areatangens hyperbolicus" Prediction95 = "Schwankungsbereich 95%" Prediction = "Einfacher Schwankungsbereich" Confidence = "Konfidenzintervall" -RandomAndApproximation = "Zufall und Naeherung" +RandomAndApproximation = "Zufall und Näherung" RandomFloat = "Dezimalzahl in [0,1]" -RandomInteger = "Zufaellige ganze Zahl in [a,b]" +RandomInteger = "Zufällige ganze Zahl in [a,b]" PrimeFactorDecomposition = "Primfaktorzerlegung" diff --git a/apps/usb/base.de.i18n b/apps/usb/base.de.i18n index 938143630..bc6cd5950 100644 --- a/apps/usb/base.de.i18n +++ b/apps/usb/base.de.i18n @@ -1,7 +1,7 @@ USBConnected = "DER RECHNER IST ANGESCHLOSSEN" -ConnectedMessage1 = "Um Daten zu uebertragen, verbinden" +ConnectedMessage1 = "Um Daten zu übertragen, verbinden" ConnectedMessage2 = "Sie Sich von Ihrem Computer aus mit" ConnectedMessage3 = "workshop.numworks.com." -ConnectedMessage4 = "Druecken Sie die RETURN-Taste am" +ConnectedMessage4 = "Drücken Sie die RETURN-Taste am" ConnectedMessage5 = "Taschenrechner oder ziehen Sie das Kabel," ConnectedMessage6 = "um die Verbindung zu trennen." diff --git a/apps/variables.de.i18n b/apps/variables.de.i18n index 60817027e..220ab3680 100644 --- a/apps/variables.de.i18n +++ b/apps/variables.de.i18n @@ -1,5 +1,5 @@ Variables = "Variablen" -Expressions = "Ausdruecke" +Expressions = "Ausdrücke" Functions = "Funktionen" EmptyExpressionBox0 = "Sie haben keine Variable definiert." EmptyFunctionBox0 = "Sie haben keine Funktion definiert." From 1ef0e4054d340216f7496129510b20ab68ad01ce Mon Sep 17 00:00:00 2001 From: critor Date: Mon, 20 May 2019 18:18:24 +0200 Subject: [PATCH 21/31] encoding fix --- apps/shared.de.i18n | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/shared.de.i18n b/apps/shared.de.i18n index 93083a3dc..da4a09283 100644 --- a/apps/shared.de.i18n +++ b/apps/shared.de.i18n @@ -1,10 +1,10 @@ ActivateDeactivate = "Aktivieren/Deaktivieren" ActiveExamModeMessage1 = "Alle Ihre Daten werden " -ActiveExamModeMessage2 = "gelscht, wenn Sie den " +ActiveExamModeMessage2 = "gelöscht, wenn Sie den " ActiveExamModeMessage3 = "Testmodus einschalten." Axis = "Achsen" Cancel = "Abbrechen" -ClearColumn = "Spalte lschen" +ClearColumn = "Spalte löschen" ColumnOptions = "Optionen der Spalte" CopyColumnInList = "Die Spalte in einer Liste kopieren" DataNotSuitable = "Daten nicht geeignet" @@ -14,10 +14,10 @@ Deg = "gra" Deviation = "Varianz" DisplayValues = "Werte anzeigen" Empty = "Leer" -ExitExamMode1 = "Mchten Sie den Testmodus " +ExitExamMode1 = "Möchten Sie den Testmodus " ExitExamMode2 = "verlassen?" Exponential = "Exponentielle" -FillWithFormula = "Mit einer Formel fllen" +FillWithFormula = "Mit einer Formel füllen" ForbiddenValue = "Verbotener Wert" FunctionColumn = "0(0) Spalte" FunctionOptions = "Funktionsoptionen" @@ -25,22 +25,22 @@ Goto = "Gehe zu" GraphTab = "Graph" HardwareTestLaunch1 = "Sie sind dabei den Hardwaretest zu" HardwareTestLaunch2 = "starten. Um ihn wieder zu verlassen," -HardwareTestLaunch3 = "mssen Sie einen Reset durchfuhren," -HardwareTestLaunch4 = "der Ihre Daten lschen wird." +HardwareTestLaunch3 = "müssen Sie einen Reset durchfuhren," +HardwareTestLaunch4 = "der Ihre Daten löschen wird." Initialization = "Initialisierung" IntervalSet = "Intervall einstellen" Language = "Sprache" -LowBattery = "Batterie erschpft" +LowBattery = "Batterie erschöpft" Mean = "Mittelwert" Move = " Verschieben: " NameCannotStartWithNumber = "Ein Name darf nicht mit einer Zahl beginnen" NameTaken = "Dieser Name ist bereits vergeben" NameTooLong = "Der Name ist zu lang" -Next = "Nchste" +Next = "Nächste" NoDataToPlot = "Keine Daten zum Zeichnen" -NoFunctionToDelete = "Keine Funktion zum Lschen" -NoValueToCompute = "Keine Gre zum Berechnen" -Ok = "Besttigen" +NoFunctionToDelete = "Keine Funktion zum Löschen" +NoValueToCompute = "Keine Größe zum Berechnen" +Ok = "Bestätigen" Or = " oder " Orthonormal = "Orthonormal" Plot = "Graphen zeichnen" From 2f7da3ab46716025174255851b7420ad52bab148 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Fri, 31 May 2019 15:01:51 +0200 Subject: [PATCH 22/31] [poincare/integral] Increase the max number of iterations to evaluate integral --- poincare/include/poincare/integral.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poincare/include/poincare/integral.h b/poincare/include/poincare/integral.h index 6c176caa0..d848e05b1 100644 --- a/poincare/include/poincare/integral.h +++ b/poincare/include/poincare/integral.h @@ -41,7 +41,7 @@ private: T integral; T absoluteError; }; - constexpr static int k_maxNumberOfIterations = 10; + constexpr static int k_maxNumberOfIterations = 20; #ifdef LAGRANGE_METHOD template T lagrangeGaussQuadrature(T a, T b, Context Context & context, Preferences::AngleUnit angleUnit context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const; #else From 23e1e39ae7115e7953de107200babfac7e514008 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 28 May 2019 17:15:52 +0200 Subject: [PATCH 23/31] [kandinsky] Misc font updates Small font: * Percent (25) blurry * Backslash (5C) not properly antialiased * Underscore (5F) blurry * Degree symbol (B0) not perfectly round * AE (C6) too wide * ae (E6) too wide * Round accent (30A) not perfectly round * Approx-equal (2248) blurry Large font: * Degree symbol (B0) not perfectly round * AE (C6) wrong * ae (E6) too wide * Uppercase delta (394) blurry * Replacement character (FFFD) blurry --- kandinsky/fonts/LargeFont.ttf | Bin 219528 -> 219444 bytes kandinsky/fonts/SmallFont.ttf | Bin 213336 -> 213188 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/kandinsky/fonts/LargeFont.ttf b/kandinsky/fonts/LargeFont.ttf index 7a88c8dc603571c08b60b3e0f1bbab1878357ac8..46b67f74d6733ff75cd16c128336bd3c8d9a4daf 100644 GIT binary patch delta 6777 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 E084##od5s; delta 6504 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 diff --git a/kandinsky/fonts/SmallFont.ttf b/kandinsky/fonts/SmallFont.ttf index 97e426fc9f60a92949b0692f87f315a8324b1c63..059148375375ff14af85e9d1719018de65336d35 100644 GIT binary patch delta 7620 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 rsQhnb@9aBlw^=i7XQ1C+VDfj?_1m{h;{M Date: Wed, 5 Jun 2019 15:56:47 +0200 Subject: [PATCH 24/31] [apps/code] Fix PythonToolbox "kandinsky module function prefix" did insert "kandinsky.function" instead of "kandinsky.\x11" --- apps/code/python_toolbox.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/code/python_toolbox.cpp b/apps/code/python_toolbox.cpp index 01dfc7cdd..fa14d93dc 100644 --- a/apps/code/python_toolbox.cpp +++ b/apps/code/python_toolbox.cpp @@ -95,7 +95,7 @@ const ToolboxMessageTree MathModuleChildren[] = { const ToolboxMessageTree KandinskyModuleChildren[] = { ToolboxMessageTree::Leaf(I18n::Message::PythonCommandImportKandinsky, I18n::Message::PythonImportKandinsky, false), ToolboxMessageTree::Leaf(I18n::Message::PythonCommandImportFromKandinsky, I18n::Message::PythonImportFromKandinsky, false), - ToolboxMessageTree::Leaf(I18n::Message::PythonCommandKandinskyFunction, I18n::Message::PythonKandinskyFunction, false), + ToolboxMessageTree::Leaf(I18n::Message::PythonCommandKandinskyFunction, I18n::Message::PythonKandinskyFunction, false, I18n::Message::PythonCommandKandinskyFunctionWithoutArg), ToolboxMessageTree::Leaf(I18n::Message::PythonCommandGetPixel, I18n::Message::PythonGetPixel), ToolboxMessageTree::Leaf(I18n::Message::PythonCommandSetPixel, I18n::Message::PythonSetPixel), ToolboxMessageTree::Leaf(I18n::Message::PythonCommandColor, I18n::Message::PythonColor), From 5ee130a95955856ca3861bd2b504e1a87d85165f Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Wed, 5 Jun 2019 17:38:22 +0200 Subject: [PATCH 25/31] [apps/code/editor_controller] Fix backspace event handling If there are only spaces on the left of the cursor, then a backspace should remove two spaces (or one if there is only one of it). The number of spaces was miscomputed. --- apps/code/editor_controller.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/code/editor_controller.cpp b/apps/code/editor_controller.cpp index 854793fc9..00b4f562a 100644 --- a/apps/code/editor_controller.cpp +++ b/apps/code/editor_controller.cpp @@ -70,9 +70,19 @@ bool EditorController::textAreaDidReceiveEvent(TextArea * textArea, Ion::Events: /* If the cursor is on the left of the text of a line, backspace one * indentation space at a time. */ const char * text = textArea->text(); - const char * firstNonSpace = UTF8Helper::NotCodePointSearch(text, ' ', true, textArea->cursorLocation()); + const char * cursorLocation = textArea->cursorLocation(); + const char * firstNonSpace = UTF8Helper::NotCodePointSearch(text, ' ', true, cursorLocation); assert(firstNonSpace >= text); - if (UTF8Helper::CodePointIs(firstNonSpace, '\n') && ((text - firstNonSpace)/UTF8Decoder::CharSizeOfCodePoint(' ')) >= k_indentationSpacesNumber) { + bool cursorIsPrecededOnTheLineBySpacesOnly = false; + size_t numberOfSpaces = cursorLocation - firstNonSpace; + if (UTF8Helper::CodePointIs(firstNonSpace, '\n')) { + cursorIsPrecededOnTheLineBySpacesOnly = true; + numberOfSpaces -= UTF8Decoder::CharSizeOfCodePoint('\n'); + } else if (firstNonSpace == text) { + cursorIsPrecededOnTheLineBySpacesOnly = true; + } + numberOfSpaces = numberOfSpaces / UTF8Decoder::CharSizeOfCodePoint(' '); + if (cursorIsPrecededOnTheLineBySpacesOnly && numberOfSpaces >= k_indentationSpacesNumber) { for (int i = 0; i < k_indentationSpacesNumber; i++) { textArea->removeCodePoint(); } From 278c8a5cc9e0d96653c4235cd622e429901592ca Mon Sep 17 00:00:00 2001 From: daffyb Date: Wed, 12 Jun 2019 01:13:51 +0200 Subject: [PATCH 26/31] Update base.fr.i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Numéro serie" >>> "Numéro série" --- apps/settings/base.fr.i18n | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/settings/base.fr.i18n b/apps/settings/base.fr.i18n index c76912acc..9a6cc3547 100644 --- a/apps/settings/base.fr.i18n +++ b/apps/settings/base.fr.i18n @@ -20,6 +20,6 @@ Cartesian = "Algébrique " Polar = "Exponentielle " Brightness = "Luminosité" SoftwareVersion = "Version du logiciel" -SerialNumber = "Numéro serie" +SerialNumber = "Numéro série" UpdatePopUp = "Rappel mise à jour" BetaPopUp = "Rappel version bêta" From d7333e65856dd7aefa64fd60b4add6b52a2de1d2 Mon Sep 17 00:00:00 2001 From: daffyb Date: Wed, 12 Jun 2019 01:40:59 +0200 Subject: [PATCH 27/31] Update base.fr.i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit some e become é --- apps/graph/base.fr.i18n | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/graph/base.fr.i18n b/apps/graph/base.fr.i18n index 5014969aa..2d4af4a84 100644 --- a/apps/graph/base.fr.i18n +++ b/apps/graph/base.fr.i18n @@ -12,14 +12,14 @@ Zeros = "Zéros" Tangent = "Tangente" Intersection = "Intersection" Preimage = "Antécédent" -SelectLowerBound = "Selectionner la borne inférieure" -SelectUpperBound = "Selectionner la borne supérieure" +SelectLowerBound = "Sélectionner la borne inférieure" +SelectUpperBound = "Sélectionner la borne supérieure" NoMaximumFound = "Aucun maximum trouvé" NoMinimumFound = "Aucun minimum trouvé" NoZeroFound = "Aucun zéro trouvé" NoIntersectionFound = "Aucune intersection trouvée" NoPreimageFound = "Aucun antécédent trouvé" -DerivativeFunctionColumn = "Colonne de la fonction derivée" -HideDerivativeColumn = "Masquer la fonction derivée" +DerivativeFunctionColumn = "Colonne de la fonction dérivée" +HideDerivativeColumn = "Masquer la fonction dérivée" AllowedCharactersAZaz09 = "Caractères autorisés : A-Z, a-z, 0-9, _" ReservedName = "Nom réservé" From 1e64db68ef43f2c76e40a33f063c8c6300f3d424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 13 Jun 2019 11:03:23 +0200 Subject: [PATCH 28/31] [apps/solver] Fix string length computation The layout for delta=b^2*4ac did not appear properly --- apps/solver/solutions_controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/solver/solutions_controller.cpp b/apps/solver/solutions_controller.cpp index 77e2138e4..dcb422691 100644 --- a/apps/solver/solutions_controller.cpp +++ b/apps/solver/solutions_controller.cpp @@ -79,7 +79,7 @@ SolutionsController::SolutionsController(Responder * parentResponder, EquationSt { m_delta2Layout = HorizontalLayout::Builder(VerticalOffsetLayout::Builder(CodePointLayout::Builder('2', KDFont::SmallFont), VerticalOffsetLayoutNode::Position::Superscript), LayoutHelper::String("-4ac", 4, KDFont::SmallFont)); const char * deltaB = "Δ=b"; - static_cast(m_delta2Layout).addOrMergeChildAtIndex(LayoutHelper::String(deltaB, 3, KDFont::SmallFont), 0, false); + static_cast(m_delta2Layout).addOrMergeChildAtIndex(LayoutHelper::String(deltaB, strlen(deltaB), KDFont::SmallFont), 0, false); for (int i = 0; i < EquationStore::k_maxNumberOfExactSolutions; i++) { m_exactValueCells[i].setParentResponder(m_contentView.selectableTableView()); } From 50bbae5e066c1206ea0934a7f0906f03e95d3119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Wed, 12 Jun 2019 17:53:45 +0200 Subject: [PATCH 29/31] [ion/unicode] StringGlyphLength method --- ion/Makefile | 3 ++- ion/include/ion/unicode/utf8_helper.h | 4 ++++ ion/src/shared/unicode/utf8_helper.cpp | 17 ++++++++++++++++- ion/test/utf8_helper.cpp | 14 ++++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 ion/test/utf8_helper.cpp diff --git a/ion/Makefile b/ion/Makefile index b2ea8e4ba..1c3e616a4 100644 --- a/ion/Makefile +++ b/ion/Makefile @@ -34,8 +34,9 @@ tests += $(addprefix ion/test/,\ keyboard.cpp\ storage.cpp\ utf8_decoder.cpp\ + utf8_helper.cpp\ ) ifdef ION_STORAGE_LOG SFLAGS += -DION_STORAGE_LOG=1 -endif \ No newline at end of file +endif diff --git a/ion/include/ion/unicode/utf8_helper.h b/ion/include/ion/unicode/utf8_helper.h index 2a665f25c..cfb15c128 100644 --- a/ion/include/ion/unicode/utf8_helper.h +++ b/ion/include/ion/unicode/utf8_helper.h @@ -68,6 +68,10 @@ int RemovePreviousCodePoint(const char * text, char * location, CodePoint * c); const char * CodePointAtGlyphOffset(const char * buffer, int position); size_t GlyphOffsetAtCodePoint(const char * buffer, const char * position); +/* Return the number of glyphs in a string. + * For instance, strlen("∑") = 3 but StringGlyphLength("∑") = 1 */ +size_t StringGlyphLength(const char * s, int maxSize = -1); + }; #endif diff --git a/ion/src/shared/unicode/utf8_helper.cpp b/ion/src/shared/unicode/utf8_helper.cpp index 51a8bf3ac..0eeb12c9b 100644 --- a/ion/src/shared/unicode/utf8_helper.cpp +++ b/ion/src/shared/unicode/utf8_helper.cpp @@ -326,5 +326,20 @@ size_t GlyphOffsetAtCodePoint(const char * buffer, const char * position) { return glyphIndex; } +size_t StringGlyphLength(const char * s, int maxSize) { + if (maxSize == 0) { + return 0; + } + UTF8Decoder decoder(s); + CodePoint codePoint = decoder.nextCodePoint(); + size_t glyphIndex = 0; + while (codePoint != UCodePointNull && (maxSize < 0 || ((decoder.stringPosition() - s) <= maxSize))) { + if (!codePoint.isCombining()) { + glyphIndex++; + } + codePoint = decoder.nextCodePoint(); + } + return glyphIndex; +} -}; +} diff --git a/ion/test/utf8_helper.cpp b/ion/test/utf8_helper.cpp new file mode 100644 index 000000000..975b5cff1 --- /dev/null +++ b/ion/test/utf8_helper.cpp @@ -0,0 +1,14 @@ +#include +#include + +void assert_string_glyph_length_is(const char * string, int maxSize, size_t result) { + quiz_assert(UTF8Helper::StringGlyphLength(string, maxSize) == result); +} + +QUIZ_CASE(ion_utf8_helper_glyph_length) { + assert_string_glyph_length_is("123", -1, 3); + assert_string_glyph_length_is("1ᴇ3", -1, 3); + assert_string_glyph_length_is("∑∫𝐢", -1, 3); + assert_string_glyph_length_is("123", 2, 2); + assert_string_glyph_length_is("1ᴇ3", 2, 1); +} From 78bdd0e04b424b8f6b28986b4cb640ae0ad04d7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 13 Jun 2019 10:44:04 +0200 Subject: [PATCH 30/31] [apps/statistics] Fix banner view Scientific mode, Data: 10 - 1 20 - 5 30 - 4 40 - 3 50 - 1 Display the histogram, there are problems in the banner view --- apps/statistics/histogram_controller.cpp | 37 ++++++++++++++---------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index 70d02ac1d..fcd94ed73 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -90,6 +90,20 @@ Responder * HistogramController::tabController() const { return (parentResponder()->parentResponder()->parentResponder()->parentResponder()); } +void pad(char * buffer, int bufferSize, int * currentNumberOfChar, int maxGlyphLengthWithPadding) { + assert(*currentNumberOfChar <= bufferSize); + size_t currentGlyphLength = UTF8Helper::StringGlyphLength(buffer, *currentNumberOfChar); + bool addedPadding = false; + while (currentGlyphLength < maxGlyphLengthWithPadding && *currentNumberOfChar < bufferSize) { + *currentNumberOfChar = *currentNumberOfChar + UTF8Decoder::CodePointToChars(' ', buffer + *currentNumberOfChar, bufferSize - *currentNumberOfChar); + addedPadding = true; + currentGlyphLength++; + } + if (addedPadding) { + buffer[*currentNumberOfChar-1] = 0; + } +} + void HistogramController::reloadBannerView() { if (selectedSeriesIndex() < 0) { return; @@ -107,7 +121,7 @@ void HistogramController::reloadBannerView() { // Add lower bound if (selectedSeriesIndex() >= 0) { double lowerBound = m_store->startOfBarAtIndex(selectedSeriesIndex(), *m_selectedBarIndex); - numberOfChar += PoincareHelpers::ConvertFloatToText(lowerBound, buffer+numberOfChar, PrintFloat::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits); + numberOfChar += PoincareHelpers::ConvertFloatToText(lowerBound, buffer+numberOfChar, bufferSize-numberOfChar, Constant::LargeNumberOfSignificantDigits); } numberOfChar+= UTF8Decoder::CodePointToChars(';', buffer + numberOfChar, bufferSize - numberOfChar); @@ -115,15 +129,12 @@ void HistogramController::reloadBannerView() { // Add upper bound if (selectedSeriesIndex() >= 0) { double upperBound = m_store->endOfBarAtIndex(selectedSeriesIndex(), *m_selectedBarIndex); - numberOfChar += PoincareHelpers::ConvertFloatToText(upperBound, buffer+numberOfChar, PrintFloat::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits); + numberOfChar += PoincareHelpers::ConvertFloatToText(upperBound, buffer+numberOfChar, bufferSize-numberOfChar, Constant::LargeNumberOfSignificantDigits); } numberOfChar+= UTF8Decoder::CodePointToChars('[', buffer + numberOfChar, bufferSize - numberOfChar); // Padding - for (int i = numberOfChar; i < k_maxIntervalLegendLength; i++) { - numberOfChar+= UTF8Decoder::CodePointToChars(' ', buffer + numberOfChar, bufferSize - numberOfChar); - } - buffer[k_maxIntervalLegendLength] = 0; + pad(buffer, bufferSize, &numberOfChar, k_maxIntervalLegendLength); m_view.bannerView()->intervalView()->setText(buffer); // Add Size Data @@ -135,13 +146,10 @@ void HistogramController::reloadBannerView() { double size = 0; if (selectedSeriesIndex() >= 0) { size = m_store->heightOfBarAtIndex(selectedSeriesIndex(), *m_selectedBarIndex); - numberOfChar += PoincareHelpers::ConvertFloatToText(size, buffer+numberOfChar, PrintFloat::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits); + numberOfChar += PoincareHelpers::ConvertFloatToText(size, buffer+numberOfChar, bufferSize-numberOfChar, Constant::LargeNumberOfSignificantDigits); } // Padding - for (int i = numberOfChar; i < k_maxLegendLength; i++) { - numberOfChar+= UTF8Decoder::CodePointToChars(' ', buffer + numberOfChar, bufferSize - numberOfChar); - } - buffer[k_maxLegendLength] = 0; + pad(buffer, bufferSize, &numberOfChar, k_maxLegendLength); m_view.bannerView()->sizeView()->setText(buffer); // Add Frequency Data @@ -152,13 +160,10 @@ void HistogramController::reloadBannerView() { numberOfChar += legendLength; if (selectedSeriesIndex() >= 0) { double frequency = size/m_store->sumOfOccurrences(selectedSeriesIndex()); - numberOfChar += PoincareHelpers::ConvertFloatToText(frequency, buffer+numberOfChar, PrintFloat::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits); + numberOfChar += PoincareHelpers::ConvertFloatToText(frequency, buffer+numberOfChar, bufferSize - numberOfChar, Constant::LargeNumberOfSignificantDigits); } // Padding - for (int i = numberOfChar; i < k_maxLegendLength; i++) { - numberOfChar+= UTF8Decoder::CodePointToChars(' ', buffer + numberOfChar, bufferSize - numberOfChar); - } - buffer[k_maxLegendLength] = 0; + pad(buffer, bufferSize, &numberOfChar, k_maxLegendLength); m_view.bannerView()->frequencyView()->setText(buffer); m_view.bannerView()->reload(); From 2061c5d692c2ca90b9d9d7f44e902b71261b5c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 13 Jun 2019 15:31:55 +0200 Subject: [PATCH 31/31] [escher/text_area] Fix text indentation handling We used a small buffer to preprocess a text to insert in text area (add indentation, remove empty code points, compute the next cursor location), but the size of this buffer was sometimes too small and caused a crash. Now we do all the text odification in place in the text area buffer. --- escher/include/escher/text_input_helpers.h | 2 +- escher/src/text_area.cpp | 85 +++++++++++++--------- escher/src/text_input_helpers.cpp | 5 +- ion/include/ion/unicode/utf8_helper.h | 17 ++++- ion/src/shared/unicode/utf8_helper.cpp | 41 +++++++---- 5 files changed, 93 insertions(+), 57 deletions(-) diff --git a/escher/include/escher/text_input_helpers.h b/escher/include/escher/text_input_helpers.h index 04718b4b5..2fa8e2671 100644 --- a/escher/include/escher/text_input_helpers.h +++ b/escher/include/escher/text_input_helpers.h @@ -6,7 +6,7 @@ namespace TextInputHelpers { -const char * CursorPositionInCommand(const char * text); +const char * CursorPositionInCommand(const char * text, const char * stoppingPosition = nullptr); /* Returns the pointer to the char that should be right of the cursor, which is * the first char between : * - The first EmptyChar (which is the position of the first argument) diff --git a/escher/src/text_area.cpp b/escher/src/text_area.cpp index 86bb1d560..e1c73ea97 100644 --- a/escher/src/text_area.cpp +++ b/escher/src/text_area.cpp @@ -34,47 +34,62 @@ static inline void InsertSpacesAtLocation(int spacesCount, char * buffer, int bu } bool TextArea::handleEventWithText(const char * text, bool indentation, bool forceCursorRightOfText) { - constexpr int bufferSize = TextField::maxBufferSize(); - char buffer[bufferSize]; - - size_t textLength = strlcpy(buffer, text, bufferSize); - - // Add indentation spaces + if (*text == 0) { + return false; + } + /* Compute the indentation. If the text cannot be inserted with the + * indentation, stop here. */ + int spacesCount = 0; + int totalIndentationSize = 0; + int textLen = strlen(text); + char * insertionPosition = const_cast(cursorLocation()); if (indentation) { // Compute the indentation - int spacesCount = indentationBeforeCursor(); - const char * teaxtAreaBuffer = contentView()->text(); - if (cursorLocation() > teaxtAreaBuffer && UTF8Helper::PreviousCodePointIs(teaxtAreaBuffer, cursorLocation(), ':')) { + spacesCount = indentationBeforeCursor(); + const char * textAreaBuffer = contentView()->text(); + if (insertionPosition > textAreaBuffer && UTF8Helper::PreviousCodePointIs(textAreaBuffer, insertionPosition, ':')) { spacesCount += k_indentationSpaces; } - // Check the text will not overflow the buffer - int totalIndentationSize = UTF8Helper::CountOccurrences(text, '\n') * spacesCount; - if (contentView()->getText()->textLength() + textLength + totalIndentationSize >= contentView()->getText()->bufferSize() || textLength == 0) { + totalIndentationSize = UTF8Helper::CountOccurrences(text, '\n') * spacesCount; + if (contentView()->getText()->textLength() + textLen + totalIndentationSize >= contentView()->getText()->bufferSize()) { return false; } - - UTF8Helper::PerformAtCodePoints( - buffer, '\n', - [](int codePointOffset, void * text, int indentation) { - int offset = codePointOffset + UTF8Decoder::CharSizeOfCodePoint('\n'); - InsertSpacesAtLocation(indentation, (char *)text + offset, TextField::maxBufferSize() - offset); //TODO - }, - [](int c1, void * c2, int c3) {}, - (void *)buffer, - spacesCount); } - const char * cursorPositionInCommand = TextInputHelpers::CursorPositionInCommand(buffer); - - // Remove the Empty code points - UTF8Helper::RemoveCodePoint(buffer, UCodePointEmpty, &cursorPositionInCommand); // Insert the text - if (insertTextAtLocation(buffer, cursorLocation())) { - // Set the cursor location - const char * nextCursorLocation = cursorLocation() + (forceCursorRightOfText ? strlen(buffer) : cursorPositionInCommand - buffer); - setCursorLocation(nextCursorLocation); + if (!insertTextAtLocation(text, insertionPosition)) { + return true; } + + // Insert the indentation + if (indentation) { + UTF8Helper::PerformAtCodePoints( + insertionPosition, + '\n', + [](int codePointOffset, void * text, int indentation, int bufferLength) { + int offset = codePointOffset + UTF8Decoder::CharSizeOfCodePoint('\n'); + InsertSpacesAtLocation(indentation, (char *)text + offset, bufferLength); + }, + [](int c1, void * c2, int c3, int c4) {}, + (void *)insertionPosition, + spacesCount, + contentView()->getText()->bufferSize() - (insertionPosition - contentView()->getText()->text()), + UCodePointNull, + true, + nullptr, + insertionPosition + textLen); + } + const char * endOfInsertedText = insertionPosition + textLen + totalIndentationSize; + const char * cursorPositionInCommand = TextInputHelpers::CursorPositionInCommand(insertionPosition, endOfInsertedText); + + // Remove the Empty code points + UTF8Helper::RemoveCodePoint(insertionPosition, UCodePointEmpty, &cursorPositionInCommand, endOfInsertedText); + + // Set the cursor location + const char * nextCursorLocation = forceCursorRightOfText ? endOfInsertedText : cursorPositionInCommand; + setCursorLocation(nextCursorLocation); + return true; } @@ -136,14 +151,14 @@ int TextArea::indentationBeforeCursor() const { * indentation size when encountering spaces, reset it to 0 when encountering * another code point, until reaching the beginning of the line. */ UTF8Helper::PerformAtCodePoints(const_cast

ROf6SHlWe4m9q1^7<`{08iSMn1y2A}M+<-p>uPR*>)DS(;ls z#8c7U8hF|k&t!xCnx<0;m~0Y?bqC^q27CDABC+l;7wBG6Wee; zn6J7I&PU$^7v71sgku^AJXK4V>E*?i@vZB>_}7Iu9^(E%KEMBbn{1%Ad;qRy#;{u7x{y;;bNOfp59I5O@?h z7PK!(w%Tb~HgorjE%y6gO=GPo&CN3%_iy6mmiyN|PTvXu{%dl67JBrw%6WQ!py5#p zw?l9v1kbOYY=we45R_4vYkH^!BI@A~Xji}i&{4ZPpvG0pb6Zzi9`+1aRlHPRJH>3;0e=l-gBgiAb4Tu?#PtStRf;pCr zdbnp;>tb~`bOSWLS}CFH>7IZG*imkSexh&Vf&T6ZuZ^6exYPx>zb@CzUpTnF|uVyxy%HtmU}YTs|SCC)7QNrx?~ zd!mgP70!t^VuyW+)YCoOZgbI~JkZ_#9{}&iaC$$bGuOgr!;JHGWSjtgs_ z3h6#hE&|>A6zGwzeTNtqXVfQrhrB)Pa22$lb%NnuK~g|;uk)F4Yc;FBDc zvz4|DfOUrOGiw1zY5mfC_c&?*w=Iq)<#2XDQeCtH@9cmG5Aa@xJEJPK-8~(Fn8jL$ zuVB=Ix%37gAq{?<0qrN8PgE>{nzhl?YHYaXrRN;g{thtk;T1H!j&RFRq8XcWGSJDl zB|VbP_}nU0dL&-hGZOca--0F%e|&j)p;+{#RURaT*<@@{5b+8oAC*yrNiSJs!5me_*r2s}t9Zr&h{v{2Dx% z&!+I8#D&MDyMl+fAzrY*BRn*ga7S8leDx}Bh=kq>_4=Mb=0EEeT@~=d4=yx`*N4T^-??)c&FIY514Fxf?W9@q~5-y*cD(YFTv2K*T3z=6>7}G||?$ z)D2+Rt02_ujzXTS+qdqqdbil34h9nqTl|51VP>|F_xlscJrE$3!d*rW424-($mau$ z+clP$no6WxFrH{ERi1>tnm^dFt2E(*`E!${T{o5{!j^D!SQZ1@Fy;48yfn2Tn`2ql zo6XE`%;dZ*>w$Vi#4Xs>I3osUtmAtUUE;LSqGs4mxc$pIeLCG4!~EaKJ>{BQ#~7Xf zYeN*TTiEf9`)d6w33LLyISP0~XW#*olFSk6Kf{twD9v{1R_>5T<>Op_))Cs;3>W@e z>xEN3x20P+Uz3e$=>p2?e3q`D6mcomdP+VZrPaonEZxFOo^COQr6b^NX0LR0h#E~m zjb{Y%2b;0R)7+-UGi`;QaFhx$j2}o-SGqmj2TgNUm_UEOvA@NbmCk2wm@%O3>r<;5 zW~+3G0Juk#H{hcQw$KddVPT$1x7JXj;OW{rs*^ur7`h8nsa^`z>?V8%2znEnBk6_PGN_(O<-)n!f3zOrl{UG~omgWDiE&!u` zB+$Y=zzd*@hBfuR0+K!LY@je=>;f%#kn!jPSA7U_e7@#4%)|zY9*>?idwt2A&j;A# z-*h>vegu(w4i>e>?H+}fFou1g4fVc!emi;>WdwKVH@I(C5;_K^hxfD!281sG6*ZL+#(ejy{&U>SL|%vc9*r$5pN8IoAUoTKitL z5}l2`qeZegMZSl-ULWT-mH77{393PTut|HD3Jpd6*gyXs^zQu(CRWE$k_nSFKx4}T z9~cQ0Bp6M16V&Z6EJ~`?4=lP$z-D%>=Upbk0 z8ZG~E{vEI1lho<;o(<+rn{K7%zux4UGjH5@Y_T-yC0{5^OkF!eHs)FWAhr4TZs5P? z9D>w6+NBg;8jr>|-9bW7sfL;NSkF+SRC}aX$OYN<^7`OcDzxG}o;YMQkbVG-4xw~_ zmJi4RPG~w|bApBrZ?7NUAx!4LUhN!co-p}e7OPwDbo+gG#YT^eMid5fk0%dZ2qvd_aPW~weC$;Dip7a3 z*7utWk>RPCYm&z%Cdf%q+geO}7*@H24-Wr&jnM`wBWOingkPmPc4a$Ij2mcPaxSS8;KzUg6F36>8!M8JG z4nP4~KrkpF_9x7kheRWgq^M{yUi?oDYrk9sQSeR7}k=EjZWl_SqI?ndtfY}GaK*8oBj{+^TX zPcAm>QJ*FPxrnt1S{kFW)0eOy9@OGgOvA1hS1k=EtJ@aKewNqX8PB>1wF|;oaUfI+ zTmmpn=i^r(K;5`DjY%tx!J;gsXNW4$2rNjKs)a}ErckBRATWqO;cpa>vO-+} z26g_x-0_i-(fCqwZjv>#BP02fTCK-6w=2$VO zY%1&b59(Y+hjw7jGXyVn=nQtN%QZX^4$sd=OlJL%AI^T1!iqi#RAh?&h*10o5K4tg zv}k{AaF2?S+J&AV7Q1R5>J4TAzsP5h_Ld@I@ZwDGIChJS_-s#5OU3BBdjT70oWiX% z0uMWImRchhgZ`nhy>*>r7qDBkd!)FoWBnIdiuze$a5UfB5rLkLVGSwB-JD`8Xs31D ziMr(+mR|1XTtGgM<&hpP=?5*wvd}ZZyVvwg8`pWJMrCucm-9R>(?q?T=6g-)OFRqZ zchnFT7jM*^LNerpY$4dqV7buo>(r*BRimgks9CM1Y*rFO110j0N~PP$`tA0?!G5*V zuGQu@K{v#BC;rCq3;Qo*Wz?U$t2W`*lMeNGyi@He({{ zPdlA9`?Zx-hMgE2@n{`eCZ6(fX{*WT_a%k{exp(AG&!v4jHACl$%wU19MqW#)tLw} z)<%m1BLp2nj)lYQV~-^h*M$9nkS^$oI+^c}Cbw5EkncNHbJu4xP#ffg##6lClkiK3 z*5856BTVLk%x*ObBHF#Er-Zpk<5#%< zZ`|Y@(mRX#{(h?^nk;|nnN@Ib9KSsR{4>Cy(4V=_6?29ij#$iRC5+pJqy8Voej29`SOv^6jv{Z)Mq1mQR! z!U0D9+Bgxa^;+La01UTQ_wdncv=2fl(jCr9)?j@z)+J)LRI}zS+zmO>nbsRJZ^MWo z?&q!c1UW|VRSRruuxl`NVG#g*KRlIOjt7j`OXgYRkezN_R#!o ztBBQ*(bO-zeI(Tglv`n@J~E{-n)>jGqiR(^#_( zAk^m_Du3MWyb^AOw|;8*5lI2spz^UAyAOdzZ%-WL{ueIG(q6zffP=<>h&l;F;impsc5g|EZ8{2J2 z6#Jo0!3uo^Nw5$_-2{?O=((XnuSEk+u@noFuZ)kEuw5%0-d;?k3cl(qHMAhXZJ1W6 zQeH3gZ4r1OZtutl%W`Bt?=EkVl^;aI_5=jK#e6u_(W(LK7MRCAE$~CF=SK+DHFiL@ zzlrC5_B^ye!qaKmfg%0Cz;p5+_#d^po%dMw^U}xVpN8M_eeLi^^Jf4z=Fdd9@y^x{ zH?f-cI`5P3-v#Jrjfbt@ybRbiw8CRUjovN;e&-?M0o4KHp-nxW;rj=SyLK55T;20A zgj$MU=pB>~IQQ=F5&pA>tcS1f8F=7#u|CxWIYdQKkbo`hfX3AJatjjvk=)<<)ixx{ ze@SjN*5r)=_XmEW4pU6budX3?VzN4!ds_h0R2ftG{WcIG{}a@^%slf&;C+-sk|c7- zBvCcv8v{d(e7S0FiJRwkKyr6~KQ}8kw)Tj7S{EUk8w~CbsQEN>fe5w{?1wg347LY5 z4=~($*ZaU4`_pzi)64}w*vtNCXTttM7Pj;LXmS2~+wEzF^>f{9Up+tORG}XQ>;fs& zPcy1r;o_(~e;R8GRa3h38(lz1=@RY-?a7@z*puA=-lb*v-`bw2lX>}ToexO)UZi)x ze>W80l+$d>0l$H9N)vR^gFNWW4g9+e!z2aRFrL>BU3b`Rn6u0>@JaE@q=?8G~_QBWOC>)LVCv@QRFwQZ34e4r-XJ!wFZ98SsadH3H%f+ zEm*bbhV=Si1gz`j0S&to{(HrMR;}M@7TddbEkxtP^S}QG*yQcff0BP6c78pQaHa`^ z?@kN*A%DYusFRuY`_aPg;u;&$lJ4zmZHU{6dt$Bttwq7#vbWz>EKgeNq=MhIy5`PG zabLk_2?>@H`r~Vy7z>uwYaCc`U0z&sU!)V9C60HBQ2=_Uc0V)A;H82vgTHCsxJ1qR zQb|cKHeS{aIlu#Sc&_GF#zMoD+f$LHk zw@ay1s*CDSAPpTI6yL)Bc*n56aK~%!PcNG93;@0FdpiIiogeQTnhUD;y*3EqrFVe^ z;qG7T0EJMei}xVhKWK5uX9exO=4~Jm{Gc;31X@__2#16ZjGbfRx2oORTk{s{DwfL~ z0d2C&_*>V6mD);_&ruh{`)^&xcA(>IO~AYC0?~IqQoTZM?gDwJ!wDsOP{>J(Gb}8& zV1Wb+K^uW#2WPki&@&J7cY>0+TgW4y<3^N?)4BS3G}eCBs#i^|!ea<;m14Mvn##;Uv`)nnc(W~h(L z78B!sW!W-#R;<$nUK&sUjFIXBjovxK)>is~oIN1eE1<3}&x7k85Z8q}sIBWjT_#&A zwOU=^BKEk^cOi6;ABtn#K&Y^imserl8*7&^>?JgvQYQzJc|xaaHDOXL#K@;MOy>)M z06epmUnrzf!@5wY^tkRnmiHKMDttlr`K?iCn$HH(+3f6i3Urt|HJ-mQJZH&0GETq*v2 z0EQ@zU)o7{m^B}TpJX*NvhF~k4g;}CqjfObNE+mW-GO6cIK;>8DLHfobAQ;AG#bh0 zg@HbQNG=@8dp$VH=Y?(IkV>g>>wGLn7I0sfAwp-2KyFNhLn&H}4k1Td3=P@Wa#)B; zapxsF`8nkyKYib?X_}U*K|c`)dx?KmJzCE6ik!_zQT`MEn2!{l&a7q7Fx2m4<3mHf zx`b_Y>^zL1uiOiBIYR&0A5bxBx0ZF4n7PV}fMKCt?J&@;Md(|ByN3&g5eR~@4Tu1! zTKrkG0s5!6nfhHCoz0~i%DCOjkCS5U53(-!gOdiM&1Ntf4K|z6U{nqCxdsN5!_l2g zlC6CE&W4}=6hG+k7!3xa2jVO9m+Z^|>MLtt_6o+T!JfuQXltC^3*zz-Ok1Rz5rmf2 ztC+YbwnPY{I05y0Dxkj*_Tkm>f<_8TR>Ny1Xj-+)_`&v4sgQ+7w4<@Bw&Ek&`3yXw z9VyJ_;1O+jgXknYnjMJ8Cl4Mcf97%qf^)_2aP8e}*5<&`CdKV%tyZ6JH1Bd9I1RGp zIKGPp@HlDrD)3$-bHXEOIY$f5d?X0l3(ucrW+TZld>GBG!dK8ri4hOJf;N^;C&;Og z$AzppH5u@mjR8Q*cK#25F+HWi24GC5YYZ7vgah=;Fm_@Ic+pV#)$lMIr5hL`5jM4e z>3Do(b7Vy4k8obEN>zKGEib*?wjcu!`h8Q(ml8>{+ZY>}dm3J8tHOz|w-tGXr3R)` zk{_EceL&?0L^X!#uyq6y<4LrvOU%cMZhdvH^b zT~NhnOarsuQeA+6Fkz&WLw1#6Ec6tl8TKBNk?E+Fbw(zA!BA+Tyzx_8t@8)DOqTV+ zt8}BeTqX_O0r4dtOo|?z+87F(j1irqJgwa^7A%w(u9z$ZeB14tSZ}T{JCn__`GC)A z4JEwnV{UfLVzK&ddQfi&@0LqDnI+);m;w}mT?VM#fsbj4v9Bt*m#}F&Ob2CyL=ay! z`m_2+wP3u5-P+%;?>EC^@C*|gPvur*&ur=H9@qNlqpZuLb@wS%K6cZ65vPk}>R#It zVElmD&s+ow^ZVhh1IU+x&KLd6Vj&olZd|GWVW_6Zcb8)1>a7zaBP04NuARze zd_MjVEIF}rCq7j8 z=h^HbZY&A$5qggwkoTyJ0ICnR#0v}rY(&iYhF8(XqA?H=b+4k;V%Y!EmNL!KNYB`ubL-;y8t{n^ZQ7v8>VJn68<3%~ux z-#C;Q9UEVI{yYC2cxhueL@s!}Q=@K|PC0b_b>ICdG;M$uc>~V6OO%H!?nd!mDAD(< znz`yEd3qD|{T&P%3@pr58xodQ@Gq(kf6iP+6 z8y+V0m1nmu%ucZ|vEb$-dC^Xa!rsRK&*Nw%iyfU*ltkcS=?zx}4HWx`(#0W2L=ByN z00`*A|3RJw!8$&%JChwC*O?NDNqFcctPc)*%kzc2b(>Q&q_e9`8m*D_d2Dv|{3B5E zZB_9v4~>q@5dH8L7(x&zmG?ZjB@)qT-EN0|Xk>KJt1UpPS*f){xco$jJEk z{?YP{nS3U_XJTw@#GJ@Yly53e1cI5pIr5VE^$dZ#lz?)E@$Z=uBc42GyZZZbuq zbD4l|NHwx`ioO>{6x%^&zc0Xr6CuFn03$>ytf~rcpeuY@lad#<17M_>evq8YmD zUY8n=#}~56k(fC#nk(-r}O;6vtI|;`2|g#y4003i~agcyJd>^EAh62vkU6FJ>D z^3HzYydI3&Q>Q*DA9lxv$S~HZ{E+2;Ea1ToGWaIQ(Sm;iv0|k8>hW_Z?10$?sVo&q z(~BvEYfs>b3__j-jQ|fZVjBs!cPGPCrE{@#{Vi7-7Yvq|#2udG4ias|W`@oM@$T$YCWbJk(F8My z!#YR{GDs;SldlO6Mp8I;?E=9lhmU`Xf_LTB2wc+clz`h*uKcVSDtNCCVZvPZ2h={m zOc&inEE7az!RxT#W(pTrXETr&_Ri#>V-Oa}%q3$Zt~0L&$3|wim4MYk!KulG!wXjO z0}l($^YaC0qc<2_Ut(YITP^S;*2EP%OVk>G4S}AESVIT25~7_zBDF}HL3q>xdcRmI zS#ru8iZ5Ff?6{glK!T2u(`K8S_1Hsht68rNyWW`pv>~lF`1E(o|246DwS#vsDvNgz zC8)tLVAK957ppVs^-eo$3R;U%@*4k!{~FJmS)5MBv)RpH!FX(4*(L`1;?c8k)l_U?Fz$3ZozARoRLi4fqgDQgk!UnBR4JCKwc=n+J=YLu?M=#7 zR8*EsC9mFyj=BJ*&tLmc>vs9`8IynMjk-4p{ z(#gWz$5dsivXWA8N}R{y(P5vDX|>G}woQjvF}H;mV(}Hvs6%Xj%3|A9cUY)wBI}xH zL-o7yPO`Etc!7fRHYhIbgX5K<3@rRb0A1W2SKn`HgYH7VoNz(7?S*B7U>F4=f;2Jm z75RBdV&l^L@3S{gpO%q!Q2LZ=+~-ElMU7)NWmQqLAPDW@a+uxNcAeYHFDg>7aave> zVcRY)1>b*P!O0tI$fe?i{&{PXM)_JX`i6xrh#JdBx&V`o@bK$%dg!#KP4FC*NIlh=A)U3WJhpr1cy3Fezk7oR*fEI8%yRW zzNz&Xje@6Voo()f&2F@L`;5%fv({;{_Fp*Zkp0B#%?P&(FE-@YT^8Imofd9Kqs(6{ znXovI&7h}Dg^SU`lwH%KSMa(QzLgEW6{4{eKWRBpJfgxXH)MwlIo$3# z84jI1^Pty_!KRVWM&YzLuRebSF^>qIM-&1|v?Z(CbbC_{#H}T{%J~q(4)M%4|BV z?d)-}ygVwr{s9K}b-7&`+7pirqc(L1C>zl^%JP^n~zszDJF$hnmr#VTnu)XEm^ z=NdMf)77(e&Tg{x_jPJb{TLKE$K2yRPP-MkR1qQUXY&J6u;KQ^{C;21rD-r0mhvh0 zxpSbkj`K2NvTqU|wDgjAn@okN>U5Ngl*Q$xVm7Wwx#%SU#Wor2ef?b?mp?v&8zHSW zhm#2=qsMM)?6TTSm{u9^!{yQR^?Bp^UJR;ahvWx+eMV(arLo^j-#3iCVf-6t`1%pF zW*v3JO1l9MGHwJrI$ROXwmJJ)&)JS&yrT_!jBDhdnRkMMMBeT zk9_Plr?bG0H2Xn#BW zVY}##CR~nQ0uKJ=qG%#}6@bY1vmFEw{(W;Y>aZ%1hGQ$`TURbb6WP}}eA(1rhRxV z@Pe4Ja0qxIs)PZ=i_m!!a1cTuawKde(H1+`x}Aj5~Aj!kYjAR_?z zjHa_UftWiuitaflU&9GY9zVG-i=c$APz9k}-z;!yL#%_V%4K=d z>n;~otSA({fJx}c0H#%d$wReS44oYiqFvnKZ8QJzV@&JgxK=_!cENJ|Z8=e@W-=}} zWJji2N_=oe{y939Be_^UADbQ+V0!U&(SSHwaqHG%P4XGUXW&Y@y(adssb0Sx_#i%$ zApd-r%Z`X6qEk(u0~(6_FvS1_I-t$f%iEl0u%j*#r<)HHmn{Boi$x&AS1ON5m|Z3L z;O7-5q`z>x1~NnSbk@l8cT3_BI-{#K(I=ceEBM4(ZT6 zw^winf?0!21e}sI#b#vfgy=JQbe&zH(CnA7Xbb|0Jwn^**F++l<=1E9aa~uR3j$%V zu#^21W(VE}!ld{0gF;EHfZJ3xuVZKG`-X?5l`D=6RrTzZ+R%;f|Kg635gQIju?CS@X3D-2aGUZzKU?Mf8RcSX-Jaz55%qQY?PwL?|d=9XX_~!#cJBca+Cm z)6r3gt0o^TCtKGb=Q47asJ>aO}{=?r&Bz3(;kFiG=i>{f!e^(+E@L&{wEH*8WOVD~3 zB$JXgYw{eAc~C1JcN%rT7(WjfNC<#57QN)f7ngwW{PPbkyoV)RT9(?~4u|}PD4)jW z@czpAwVcP0jiL$q%K6|;tq36W0NI>j>agnSwmSyU@0JL-a}%Mk((l&zWzyy8?Q>O3 zI-M1rZWZ3?Mr&^+Julor*=-iI!!KB($q>}37FieTl7B7vX2)0RkyQ%ripGu})p|gt z@+26?<1*@ch;2@~w2y#h4Upvx(5xF7oK`#pmN7|FI8+2Hh1B_Ubx2QgYwk|Ob8Exl z!-pm2l5V;Q+$oj7a@6nL3ium%7ujr-O~%oa zhH|Ltied`7F z!^0a2r5rLLVy;x!FgzT$iNb+zG|I&QayEt1$TtoMBE+W>Yax9Ko1oJE_Hd|Qh^r<7 z3=%b%MGktQuzoZ(Xa)`AB%Au@=KznMNz>Sh0BR z)~Ts@yi~f8+2vpIeJi$VHvlMF!5J}{u?J}#r`Sj3d6cBmsVrYUM5jx|NU zP-H872Gfzq>(c9yBf$af-zCk?N9EU_dWvNq%}xR?=qO{s$# z?2bh?ntT(xLw=IIX_9AW+l;e{i9OBb{Pg*IggVxBkw(%IJ2uN`ii%xGRwxo~T;P-O z%ns@$L%;l=*gd#e=017u=jH8)wMSy(4ZmY3Cwh@~%dYL37^D~Ar4QJhp_I?JbHriy z6)4O=IELKQW7d0H^&*sjWkLNRYk<#TIF0|QVkrGr76DQ;si z`3V5??}Pap>%)OS<*dh@ai(1ONT;d3~8e5Fd3{x2N0o z^aqd&{r*5~Wio}Fd^8*MculARVS%STmenbYD+|hoV6Zk?@i-m9sNZisYc>TOlCd8l z)b;6%*5n~qb8Xn|nVk5-)c8=qkNo$+m$~OzEN@$#9dxky5zMC9%WP33rX@rju-^n^ zObRlR_xo`VSv5>4F7xJ02v^J-t$&O>MquV}HrwCt_~F1rIApcPqvK43oPETQ zby!f&Y>Pzktkr6k;!dm4=y3XzZuzZJz>j(cZz1mXz?B5uY{r?DpfAavYbwZvx)u&0 z$W)1?aJ5GJYFayVr0ge)Jhq=%%!7Wve$YMQanmk-=JixvE_hREv+$3~^OJ2Jn-Gzo zDWSr`V~K>O*c8Ej2madt#|ppzwjKC%4srwfjf&cvYE216&~*T+g&lr31H42Bv#WO3 zhuoe-c1${y%MIi<3NN_aNk_uxEf#kTrw4-3sQebI)Jo+w>(V@)!1!#F4&@z)jV(Sc zyrFqil_L96elUU@c6xjxmd+iLwzyMncYSEL@TOOaJCg7+((BfgOEvjr7AQG_7(=_O zNOYp?;{&_{wlHjxCMzu757&J>Rl;s4=K=d@y5_{5@>9Ephf)LUkGHFJbrU$0F8 zc6U^yZ54{UX9|@(QY1`rY5BXZ1z`%xyB4BPOZK(!uIG{V8{RpUAB@^Une-TTHkjXi z@+s++nLX@qX>k4SV!`W6I1)6@eBH|G(BQ(Wu&;xN+kF6jhriKDppz( zuDD{`k8fGMJ`s()hH)#KE~v6qWTzNaT&1iPVvg}VEF~_7x&Zc4QfUEa#7Qqwz?ebD0QXtA1x22v%C*z;uFoHUoO?TThZf=1EvOtS-r zsV87bX01w9)(gs>`xY=_nyJ91%?s&D9XWdB%_rJy^RGKx3ng$w?Q8$Ky`ZW| zW7L1oxsT*AujF5@Om5yM@W3+8K&}6uKXo~ja~_;*=}W|8gUf`c4ei{nV9TgFJKbKZ ze;Lr`f8E|r+>#Y!*Ccq=jv6K=`xVAtb=e#`(AHmkdKtJ}dL8F{=rWM2y!nBk%;1lZ z6-KAsoWZ|rNEglEe|#CBE==K{zx8rJg11zDYlpLa2LE#5Y@fluEGS!3_?H1?Qzi&F zcV|bQ-yzpJc^;dqq64D{Lo2*ocrQAGe;I&ZVhaD|H__aKGJk*7C!fE++?{=b`TNV+ z?=mLvUw-o{olUX@`)~9UTYyW2%_p!37s;IFMX;AM4;Krc=K0ZFDm&~~)XEV*t6ozp zlK%&)ILomV9yA@X-IU2>28OhSXfztnYv(U(E&Pv%zp=x$`MOUB|Mj*b zh(CTR`17#O!l=+)*Rl(^x35Tn|Blnh1Oje%sM}{U+w5uKPe0ARG+DDbuFYl@AI%$jQNehU6uDo#F~ z)xKD=d_og`v4o+xC*A90LtZ08vvu2|Hf=^N&$#fwVVli+p`oi*xVF2K7tT;xY~6;I zSg#jOQ<`36&T@GFSF6J%8yhh3m`99auOy{~HdImMxOn*r;RssH;>)fQR+@INUS_SZ z0^>(K7Lx3!wKQRy^TrSS@?hSkbk%m8Up}O2({17t!K(0FscmX)8^?VL?Ed)$@-@8t z9W3FpeaqTOlP+j}K%rxzB{|f9yTjfl50;61eoJ$!OM3P4H?XLQ`iW(M&wU@FYw~>* z_|=#?Hb7NSp9X$-y)k`-&n0zwzO{V#ztG#O@$@LeN;?fk=lsK;bPqZu#?thEKLzd+ zYRCKj<%8XHh|et#S|yH7IH%bcT$WI@?2}XbbLV=N4ZtcD9v;KX>Led2~rh_*qdNr5bO_E%7yx_wC_PQgwxI@`u<9t>0_Do95J@ z@sj4$Xj<<(hfzZbFtpG0%7Y)Eqxt3wpHt^7;0j%G zd^=mOWK+MLC#4`itvr78w^NTkl%H%Z(1e$0rf^w`S(v4|0NmeRj1r9fOJ}D}D(`O| zvOYE#j&yhTFPWD5Q4=s_?r%wrO{1>bibNMOqTz)XW8B1vM&oUDUzpPHK=Waod2?UH zt8@;Fo_yupx$)*>Z4Wh{p?Dn4)zF1uD-^420huq|CUQ9=|5SPW)%$5Ozx>X^i?If5 zHih;OPj6GU_C=~Z`nqAnB!Ut+*mm*_uAnXg6WOuhuSNpZHx22=hPPaCRv%yS`CV!z0;?f+p z(Dk6S@?C`E_~Zh0fY{=mh9>vT-??~bSaV-w_frBJg$<&@z^EG3TK>(HH z6wx2nMZ2Z-GSmj?by504_0pwiO6doo9z-M7U)*JLwAEO{x|*#t3vv@2RlNXncearA zemi#P40t~c_Tlb8@2{g(3i)x}Gr#q*4Krsi*CC_Aiah&8WW4Ybael2R3g2tdhvwdk z%Ie1*cNibzG^V-Nb(3jN>#?Rx;xqJtJdvTk47 zq`!rAzqyz$L))2CdHf7&409Hc@Fa)6=ss_EnHY3 zKNUE?eD2%=c#k(YPhhjOPtqgtD)_2sM%GBh;!B2mPo6nuI6*AS@~$n+E6RVh-*uh* zZK!_4TkuXSA{=hwiP7Vn@zFci@)xLDftgP7&9Lx=sA48VuhnYk#e5b>JYc5_Yi{Oi z(k$N&f?rv6VNW<;t~HcOh*g;yw{RyF&DRTsd!i z@;`OxdwIi_SN=ob4c1bV-myo{!%S@?#+LXAP~{3oqd7+654F@(y2fHF`~mc44SP?X zIeL^{b69WK6GK}y+iJIk(T|m29isfOD8Gc))Q;%&rmWuQu(!^MX4C0t=2Q^*KB}@5 zbVUTn`UOFpUGdzC*;l4-&^^?baQ9gCAe5u>kKM`N7#D{iF6rK@c|P0Dt=RXF{EF?DUU_6Hn{_%(=AdC)B5deQCRXm6 z{mta@Yj?)uMsuH0VzV~8KRQquh&vq`;i$_UPYxu4aa)(!EQXT5w%|8F1}V}*w503tL&4f9Dqmn|$9 z*KWLvJ${#Pbp8&Dh5gMJ-<6LtsuNmR8~vAf4y)rY{+vKh)E@Sj{2Cr3)7roW_xy zW|?^ar0J-k?k^xbf-FytGG^^l7#5mR98N7MPcU{h=`e{@E&gT6isjD08-bsN?zB{d8y+8$Z^Z!}X5Sow_tC`l4m?Mv ziut8fDP@I%4-4Y)>En%Sj~%0pv;-&Pja;8n3lTPF1RX})nt})BDHD-lX z^vmZP1JtaTDBJwxcDPay5>%M`%$Cch!^qS*2x|4+N zLvO_?!6BSwc+UMIrz3<`uDaodm8&#E)qil;P)#Fmlf+mik;p_T10Ro%jm6{EZ?9dm zX3aCdzh(30Ex*5i|CfdvMx(KBWc;=p%fr;iQ&(`a2RQi%@7JNPmD5$wyoWs!kRKrw z3Ul-KfG?VSV<4N6QP~?W4hBk^Eg?<*&D=IJGCJ|Oxdzj2oSR!0jgl;l3P)4vtM+6# zg%VS`J;j3Ct#6$T@d0qgG~k%BRRgpI*^zhH{c_-)cfdPOu(k3pK;%Ydq>D`!cnvUv z6Y%S(L(AQn@~U!^jwuGi`FhiCsCX)e3;ZkY5c7ZsT!q045Nyu9(54>C!N5aeVrfS0-<@ z#*g9O=?HtSW>08(HJ#mCuaaMopZJr|819zb#zyN{cO3X}0Y6xmYA~@+n-k>Cdr@(^ zRJrLZd?cv>s} zS}SjT?>*t@_8))!>%JTIVky2qBVP~I`_{PCX(j2-{}%15JYwny#xy+5rsSW!$Bt=X z!OM@yFN3H>`B$R)Ja~-YQJ-hPE`$*OL(jA8KMDjs3MdcHZ)Th2;~>#DSd3%~e?R+q z`|~&{@}4;D)AK*SPd;_ueXOA@P?>)W*7hEfFq)1NIH0#QF1*=KHIz%e>ZP@+P0NnB zigjSNJ}zbGA(O1>H zbP-_?dWT3stwmobu)mZ(;#fNF_Fx#$P;LO@8QlZvkvh6H<$q$gVKgzax5{0wG*!;3 z;Nd@g?sKbWF~lgfe#mV`kgcSFc_bL#lW6>Z|v!M&C*#x)N9sI6q8t7-{Av zAhaNUp^A;7a~F{Oufy7@Yb9ccgX$^&;p&IpmiPbim+bp*V-01-Q$WRa61<=a$_3+1 z5uDBMbuGE{UN5k$qWZD6uTQD+O5<9B-WICA-X_TSK8P0+d>`OO+K1z!9Jz!aTii%^ zmRzoZT)mz{kB`e;yy>AMR$DY$EJh&&^@LmM*)1R!7bmNS>$HV(eK_kX9Vil)>pcWfb(bd=L91OO#M0^7u2KaKF{-8CG~^XWMsMC)AC>%(==ys<7+-_QM;>o7J-BawC@A`<%Yf$i(Od$G z1t5P&)>Ct)kxH~SG+wp3=TvW!*9DrD{IX)=qR)+;{_@TOW<6q<$#|w1WlTc(dOjL= zUYpIu;=^k)>6Kr}MPa4qvR8^yw{T6Z(8L`?TvRo-Q zCLHt%t8X_?ZJ&H4L*~`pTEEZQx-Y&aMx5$P$Mj zmZ11;bRY{J+~SUemc9%lz`tN#a*F%U<#I4MHg?Srh{+y}tscwOXY^|unR>y`UEyI~~)|@M(*6uG?{Qhj*?qC=lI^k3XdJT9* zNIjZ2iy1%0xGQEc#baXyKSp|)d}17Mee?WUp&LHl0E!iw_{7rG}cy}}ajH`z?R`X0b?D|(?(EsAQ&4ht#&5_Rh0eZ-F#B3O>m zP3S5YJ{yy?P?q^@c4~DvBx!Vl*EgK?1SR&>LFmCl+x>@DxX_JpmF(Je-`Xu#ZHmV* zH-gSW(~$x_Wf2OpqH6&bZ(IL9e-mj1b>OcZDvpN1DYNPB+`1L>{QN5>zwyP1aoAU> z!NQg+@`LQ~HQ9k~`N8h&z$Qb$zh&KbADo%pwE4HbyKal0{l)mi#P|(bt^8W4_?y33 zED=4!F2rn(*8mAc;m{_e(;+x+hQJBO&&|!@o@M$A-Syhs+_}b_?3tY7Hs|fJ$GX21b*>?Z@KgC8xCEAHEvV+W<@*S za8@l!0}pcK^3SsfferaV4V> zx7gn&d51FjfWKVcGv*B&RqnF5dNr0zW(Vw6tJWEdRjJP^3Ol9cP<#w-d7qMD`FO=B$bL|qvfI`-;S1|G^RDA zF`oq7S075}9IP?R2e4v)zpf~K}cSfgS7-jV)sVU*LEfB|lW{Lrle4+A_NGCMIrPz2?56*@E%d^#+Z{cERXTVvako4<|{O4jpICMW$CZYL6pAMNl+_ znw|YhQUV_PP}9%szqKm&g1^CP39qqlx( zXb6{>2=d>hF!=1sEAqK`@*v@H1J1Tb$xkqQ7qxKncQrFDyhRb_^{|E+jgl+SrFB}Y z12*fclWdN?uySnQ#OjFI-0jh7H0Ts(*SfT@;mFx6h zx^3%lUBcMhLp!$Py)>GJg>)oE!Z!p2Nq8mXoa{} zbuszKsyj=9i@Pzfp8u>;fl5SMd3LL~eK4=@5hYRIivWOVs1INNo$Y?-md|O^yD{cc z*fsxn=jiB-YvRQ*{d9i3^u<-HI*%b}!8)=y-xT16#aSUCrP61yWtQwf3Mk)aK34SYUWLOhyAjNE$u|oa}ZV zvhu)V)4ph#>U3f)Q=X3-#%yZfRnRS%s;X3Ach%~dd<6KoG7Ed%dH23z(c{go9hym} zSt9nG8v_9dtYS3ouxGP-3=Rj)CC^+lf(crYSoyOnwYo}Wdj%by!iiGp&_B#QIvJ5) z^4_o^mor-&&S)&VVK5Iw3LX1#?$i&PR44fGVW``TbbQ#9mqpBe59njF>e z&SYZ!%yT{dKsH;eMx##quHAp~ueMzwyc&y6%~mQsKb-l0p$rf@^5EeFXfsY#feU^M zXAqzjf0`u0S-1;R>%(OQqh>OLxMGO^dkhdJm(W%AxP88SwiXOjSH@!jsa{1V`*(w= zE2!tQJ})|Qd%WICd3JMkWYjWT9o#aR%ehgZxv( z_{!rWn3TkE%l%`1r)HYGEUM+Qv~&isIT-5`dC60*dTi!XdCEe*>oxuSgP+`AJ`5V} z<9k5Y6YW5mY}1qjd^?x*wAc;+F2B2ce~W`F|KakTF3xY<*Ws|j@>Qx@FXQpBSpfFN zrQ99`ihpn!-=|aYJ@|X+eujRs>rt%~4#W3=kyWJvBwf=NG3(e=%oJU@G8CSxrE0Do z-!rOb($IA2GjsTOq$_knaZq57LDaQ;n@&W%`zR7X`BppD$KudY?Q2i(m8hmTR#p$Q)m`*$Vl|?II2% z9DYuF%d?I+VDj0IwUHEXo?eEbq*35NOr7pqr@m|;zlguu5cJ3^dU9L=zU#eDT){G6|(gSgLY|Yvl z0(;tH$JiU9Z?L!m({)Bh53DG1y^Xmn=Qpxnz|TXhKLQkRS%@jGv2a%_y2vdJqREA5 z!Wx*aZoRjwD=_B2cC=Bg?H_h8GI=p(@6fIFx+E}GE*-csov|SWV>bI1*}BS1 zL7K6O949JsC?91F+Fz2`UimqJxgJIm3AK42lJiJ&zGm64kmE!cP7C|8Gmg6$AjRn) zH9X9rWN%pIcl%hNKlDO+xQ`{WD_3qa-F(HCOvdcnbN#_JUvqzbeBBPK&wbDC>FJDX z^t$W5_M3O@+lPt@oX^SgS$2qLRFUUG?Wf&DZ=e_%zQ*lr@#HF3!{fnxHM)>(2Dkp? z{b9@sYjoi5Hg-3jeF3tQKZ)OFcT=_(-y+SlmmNaPaN+-iz0Ln~-~`qRKY{k6s#A=6 zn{?S+qHx>SPbtq*wb*3GDf<5?{=bU<7rR}jPK|$E`G1#?XLDRma?Qad9hX~pZ#O%} zW_d0J|7Ufw5T)vP?t`AybR5I8Pw{7Y9nx|*{W2^pd>oJBoyZ=XpJF$kf0le(J}+6P z3n6(6>y@qP>F@38w-zKp_lOq#_T#nDejR_tef|S>3%if9j}b5g4NAh0Nt;fCr>6S! zmM)i}B4N9xE>HI=wsq1h|Cjz=(9ExeadrfL37%6cIh$l$U38n_1$PzxcRqVom}GmK z?0I0g{$?BezPSMwwMKvCTBC^y=QSI4dEQ86cY6%RY2o9W9CsW0B!}75W^0QobPpERybTT46jx z$3r*(mPe--Is}$E>*jKEY`Bbi614Cnrv*hu5oKS-8es*{>DApjZtisVVXW+__HQ`d zRw>ut*RSiw9adx&HNWQX{C{39YC0YicCqI*22`C7@}9IdOq0*Q2-BpJic4*~jk!$?Vn{ z@l9W!N06M(?>C=le*j+tb)c7DVp{5T!XrFCvY4M@;VO%UgHBhnJ76|D94SF~*k(;8 zoldg@P98nY7vjkI77lI>rp_ z9q7J?TXM9Lib(986I~}Rs~3fizr?fO#UA=-7fKZbp`7F>-A4FJuXoCTtC%K*r?IH; zu-%>-PCAS>t9?Y{d6r%Q-hLHp9Br=Afjunf0Dhxkx5F^y^(KT#<6X3f-sngUr*M^; zM>Arx)oBq0j_)+r_&7Koc1e+?aCDvEHYdSxe{+o`a6q!M1vs`zk<=16N(vmOP}y}< zc(g;LN+MnvyC@$J=K??>%Ed=sW!;uOLtnS9Hwb}Z>=O-UgVCll;5*1CZ?;W(3XgVb zdwVp%hZ@Bk9b|jVFc~yRpS8K_~ z6Y(wUBVqYvoYVg|YMNm$3U%Oy^6ecMb2`<*27iBDtCG z)3Cr)mq(5qGrM~1W~-GQdH30uOugmuS6Tl)`}{qom!1`-Zuy=3&AFOY*h4Z0d3An< z2*NL`{uu}sc7U&7UEs~lTsCP!URqCj(#Z?tC>G1zW}TuYyZB^Yn%sEx{jo>tef@m~ zLw_H(&~I^>Ef#Zquei64FDwpgKYrTR--}z8`s$Cw?!TJq>e$skNxPBE0i$&Hczxv) z7$f_}iL%ez(~Tc>bvfMWpU4l>ZvsN>i|Swc0Vi?^{GQB9-MXeSZY#B*Xq+ncK`v;O z{a?ew*NAog6}5QQXOl_;V?(iw+XJU`JeBZCg<@k}rBrm}^Z1Qe+Vj=&Y%(rJ zBGV(0u+>cnTe_pc+&xf&|syJKQ zK;6LwYyQY5O-}lxPD#L!RSZ%Wq_vCRqOrtKXIBz3bd^Fz_~_XSUJJPI1U=M%XA$&+ zbHCK7hwlu0d%wqNwV2)fbkQ_!GCL3aUF_d~3)Q}KlA_DdgOk)DpOgDz`TNRAvW{-} zK!g`)w@Q`Y1j7q#6yk?8Y)AOgVF$do)qptt|uNNmg`w$C2g+a3yM=g@#e6~=(rMf&y za7f4gIj%S>*UFIy7`R-@7%V26V-p0P$o}z4es1AI!afl z7)6rx4spEZghs*)Pr zBE^c@)X~t}4#_`g_v!oX38%wsc{}vT(}&q@^RJY>B1p_^if4sx`Ce=oIw^uROW+f` zQa@Euw}}7?L=8`6A<_@uwN;}|+AnVY;l$+R?CMPB)zaXBe)ec=(t+6X>)oSg! zof8wEyJ>uk9X!a!CO-SQiE-iJ!TX2n41PnkcHpn-^#cd-yYg1Nzgd&S>&E|w)}!x+ zo*Dmvd7yV00|)zA|%YRG1)Of;GiDhABS?x<&1Zl9O-hlrpZXYr4SP28NT&>6q=sETsuuHUxK<$9{s&FlrI-LP;AJ42K@0nT+zxSFhwHKu!iUr zUy(CbdU5?g_ViBz51&Gb>+XB+-IvX?I&}N&6QI?a{1W?qG{z#qpt2^nu{6gZ1t`9X z?1sj!_95V3rp1T^+d{jU<{0KA%pYIqIaBJ>Ma{B%0a*L$F?gsK?*)*5weZqQ_5;YJ z79i~Whd2}BBhUhDDj zDH0#JaeTas4aqN#kKIyEBxANzCOf)$bR_uK=u23aOgNlD+=*^kv*s@GcQ;WjFKp#h@vvC8_xe zGOXJ)22gkYKjR%$yn{3bk7+F7Ygi_NGnd=fV&%iNT7ZROu@>*C@~PxJ^sEr?(+s*|sIV z4N2LL?z+&Up*?W>kNZ-PA{Y8nnoHP(e{g|A^`(njiAx--`6Cy#8d=8`uv^d~O?D3K z7BX|t-CYh}5nx9Gr@A~Zs|L&AXP*U_fEySW9K!RkbKouUDh9eO0e69MgQbm9e-e22 z-5o!F>&^$*Err2i>BgC@Lh6AB#A8o9D;UN3U&NwYWQWm)uAr-cvo#`4{C97yNgHO;ql}R$>i+xO*gHcNuu3r{mc#5&u)wh z*Q{ClH5do;za5KC&t7%a>@+#cN)O}|WIU1y(W-S(lmRuPMcnfVr+HIwn;A)N#I1Vz ztj0d$u?X)o)>6^{qpXQ?W${%uB(d8K<6FhLRq{H_YrkgQr`5 z8b0ciFTspG%HIzg7I-Eb0USy9Qjj*M-u}lnZ>AvC@#AcjM_>gJ_eseo@d(!Lz*!yw z%yoQ2rpzY|op7r<%pSU0{6yiCZwI?P9v(kgZVct5VyCYIy#2!WJ20iz0Y{`IN>yoB zZW&!vpx?Crnx0HcrJ+fq{BH||Y%4h8zDzj9E9TOpxc<`R8dSq0p^Jo5Y|*xGN;Q+l zC2)WEhYFtW1l*&*b5O>3*RTPG?qR9iwC6$bx(AyOXtey9D4cXUC}7%VYKNO1{5CnWHy{Y4+%TCzFUniLBuV~ zn6tg+6ALQ{H#6HyA;r#iooM_-qKhKG!dn!1EVSZ~^8qf)K2a=KquAtpe{R@y7ulh8 z$=sBSzsXfA-g@GRv+}S0 z%@|4lYGr_`G(z7WNDss8wa81Ev#?_UD(E5!EbF0Q9) z%`{nRf&9GX<$)A%_v8oY8zH%d3aMr#emO|#n09He_ST66^lId5JIm!AhD>I5^>xC1+qPOP0S7J}+r9hY&&+O2^ut-1 z*!GR}vjoE)FxE%BMu+S=M20SmU_Wzi>tdr$I4g?tj*HoJT4i2`>Zjx`c2CICJaTg) zry6i@^1f!(t>sEk#m2{U+uys4X&;yLyyt&+8FN7XSG3QX_H!4kM@Hz3pE&oq ziyO%NAYZzuRZKRiVxM1)uXJ4ZQd9tcFY%VQY}-6p{QdSN-u0sXe$zMccYfc+U#QMe zVQ*n7TM2x(hzDTtzyef!L{-1?)@^Elr5~%+jO?@N@<0|BH4hgjMhkV_6PgYse#%gT9<9Y=u^2@b7}t8_tEUre^sMX2XH3R{e&hOisO1okOTIu2OP7g zxkbJuN;ARe<>6+ImhN&!gQ)5`Q5!uaXX&zNCS89|=sP*9*@SDUb$yb@?aW;xUXydW zJyM^p+vqe|thw)m?zvuk|9vLR<;*5Q!iB2CbEi+w4Pz{oB$&*(Iaz-HeZYVo1oj?a zK$9x$&r4-sasJI5$fBrCnY~ghT~$l%&gK${=|UzMx1>|W+QxEmTOsJL4P*L4F>Of> z3=C}<%>M*kv0e{G&$x^x$r0)|BgDKqsqMpk=;JYD1QU)}f4}4dZvd_@;?uw5XO3Je z*aV}(NHbHe)mmi#PSR>uy(1}~<llJ9$@W2>N{ zd~`-uqdvIynb7fLAoHKzK4!P!RQmPRum0Ef-cx7;z5ERKePa*sMKxrxs^Klludqkk7Kp_|O{pXTb6MUlIA*N3ix; ztc|z_f_bXNgqdltfO91_E`jvkJbjt~QEO1ZZ%WUwVv;OnHRqz9VN|0EVlY^#Oio}( z0Y0j=u`%?E$;Xq4!p1_OFu3W2n~kiWsZ_ioV-O{kne~;5==F*f`2)Knm)nLrl26nq zHpDubu<91(a2;V^mgMKLpAZl?N-&-`@&0TpMWwCnv2t)Fp{j!?`xNVnc!7(Ix!QO4 z4c9Rvr8H!|WrBvqc|6hhV0NGq^OVY&Ogia9|Ip~j7gv{RqQrU!<JN_q;%4NTzhc4AU*sFIA8k5ZZ>*Tw9dnzL=Ey)eQr|YbA{vMM znOs|{7yT*rSUSCLcRJJ4>C)#T27~CWR%X`KP>zA&eqb{6QsbS}OAWk$sQ4)|->dB8 ztC-pf*~@X)#0z|N8%>GWRFI57~4V0b|nN(l5_ z-o8XM=1-xwefkRyS31&FX*ABrf!*0bk6WYBbXB@Sf&3&k58X3xJ|v_uw<8IRtj9Z5 z0qAg|y2h?+KbH^`9Q@6uUa#;rIHZ}XbZIL$001zDO^Jsf6@o_akU!(HdYw#Sg+Yuc zvRcETWM~-QdM%=DWjujdV>Pqa5J0r*~rfi=(5TsgLybIoLt5OD_cm<$u=Oiw^pcA#~7ZgX}m;m_=S&X}oE9GZRQmD%9xfag*A!ppwr>5~Rc6H}|t zor~|u_%Ja#jP*VX{g}czF3sLG^id*oC_()GVF2+uejl+p%5ej+&2$T& zdqs9g__aboN~iZG``uAVvg7i&;LGvY6*u2Jjh+on&(G!18`^G$rUBZ|M$i%I?h9cc&G9E7t8f-!~;)ppkvKPntI zp2f$uyPx~nq19A^uyOBR=7~h6Rz{*A?o+bp9Uk_2-X{1p9s2;(hgj2~L}eE;$XL^g z=m5rQD)|FgIR(D%m!-Y3^ndV$w{C4M{N^dlfP+YZnp0O7I(`pp|1DpeBKHfH)M9A= z5nuHIX-)z5$dUFnTdNW7rl1#O=otuBhpG}TmgQAn^qozX>4Vn}595MhpKiFmy%NW8 zpm-{}Y6Xha0xMU2&M@nk#!w(}PpM=vg&a|fRTOK(n=l6kxURuojp1FqwzBDC!T^CD zrb;)m29@`;+o?*H_eaH2G~smJDoLN$4(8XQk=yA25C0A#$H|E?SWfXV2&7tV19Zrl zo9cB@94hYEUKkSDbHnu;uB#6NsLza|FpSQ88XJELIP9Zpk0NzPl}nW6g@<0jeAaLX z^gI3Nid5={?@E94dt0ZTd+uBDGb|jOxKj?DIrG7*2TO>x?9_J8)Dv55#t*mU6sjw;w|Wi!!1xhN(o1a3jMqhrm`s*#*6Y3Y@tJ(aVkwq) zJh01hQ#~K{RV@<9*++f{Qh2pyW-UMjC=d~di92Wht2Jd428p!lTow9*yjh% z;K!-+m`Kv1UshvA+?aPkBi`AX$h2=O4P-)51UkoN<+Y6pP06NbPa!Tw{yV%^o~gnK zcOr2cHlL<;+7sv_qoJTgd2#@)X`ELl&zsm|{EiDqYBl~vUM_bX1sczS%rDn4WYMa; z$L?;wZc{qPGE%Tm8p~}kNZzz99Sge_-7PR53$ZsE^XG=r15Q_@V(RL)^kcs~FHC+b zkBO1nrl4A}0qEX(2rPa8px0KW&0hRYpI(w8+?w{;?LAiAD~`>%0Su=p-OqZXkw|RT zVEFannRp!Lb-+LNwZA+Sj;!R0MBddVn=u<6v_S7~=7D*K^1@5YVSB4`$X$`soh0*(r5+c-%578b=Yjh!jI}~~eyqL9{`dl~@59TQuuEJ) z`Hst2v_N9VSI%!`e+{}=lp~IZzap`a^sv??JgQncp(mf@XOJg4!i*eFM~vr(7YMgZ zae-Ey7%Y-guUx;4n-BLq@r3kaZj^YGppFsemA9xEm`?qpz`Huy*_i#>sScu z{slh$jc{)>UkuJSv;W=T>i#tx?!wd zf5)YLQ+z>uM_E@78+H%i#aTsR62TN%M*PO9=9wP5UR*{9=NppNV|gDRmk#2*O9nlM ze=TT?;y7^Z+H=8*-Fop%FhpT9sDpfB{I80G$!4hLV}d%x!95^Zz1bX7!!^hzTq>+H z5{qgdd4$7v5Ac-%e25+pzQ}}J9NTK*X7-r0RH!@_0wUgfZ*ipL-zmNf{AKh!pXE1D za3^5Nsyt%$_H#e`S`mY}{YrSuYAOF9^x$2HnTS8VeZ*m>h?sTYj*ptLmm`3c{3&S7 z=t5{iJ-cRr1Af)G8sy+^6=A+0L;jDN2&<+Xh4%nnFSlRhVBlWk=_j5 z9rkMrg&7P~mfm=Sy)D1Keg!|9=ChE>h_&$yF3K}1d>Jz7!YpuncFVuw&-c<|fBCz| zB$pO`8CJ0H1xLjz)9`SDKD(xaI4f z=2T9zMz=z4(fp~7sH)wUdavs0C%DIYeVY$U$HiUNMP96Oas)T*o#s49^3otCsJ1&6 z=Ydyz$48SD+3{+%fyt=80b?qZay1%#*>Z-xHITiE%C`zW4?10##buQrM40E@{yv-r z^c0Wtay>PI??IsOHOMqkOExsik{xR7_gV^0cD5@n<1$1Ej|K}{DR_xe3^kM~fA3=? z3l9&gc+sQB7IGPRfMQ`xC{$bUlR1Z&Uj~!V`k7tR)Z(SF7M1D!Ryy#2-4CrMa8GY{v)>;O_qf z*_@?H{f$qW+|hJcpi_514i!;7w2pYNb;kUp70~0c#fd4^iMH!_y{iCi%l{wSZAl6c zxX@iP`owT>5O(n9-IZ{7tnphI+gEm{LT;lk7EKHWg9dvtLGdg>ekT@Pb6+Q8n$Omf zKP;APc8@2WN@u-RQ^aM}_j+7|2ZDj&H3I`?OeZt;S)4Wm-Th;j7dPD4nW1FHo~uvg zAGO+jQZnQ5h*GjV1Gjs@f2O#4flqFx<61bf2*qX@k^?sy0A4RU;eojpBZil?2*n&bDrK#FyS7x^ zZWtTAA#iQETJd;*OsO`udU|YF1dSfJwgiPtGC;{mkU!PRl`pk@Po66;GJN4%%^$na z?p5LiR5L@qnV%|$n%)^En~_}9wY*Tp@46tiPUDd7ymvYHDq7IItjLBTPkvid{ktDie?OB=PtQf5k%~@%io`U*&DGr zZQy=Vk{hXxA#lS5GT*vfcrNtVY?p^{iFBW@Toz>D>j3cepOLE{r*5cr4++YrSwv8+ zRLF=W8Hg?M&x+*s3z#4al;RKPNO)385QrQpGRfoYGq~kvz~`%0uP>EFH_Csdbu0RP zI>Bn`wqR_BJ=N8hPWbxzt=_QSq3zVVhNY0z=JsZOP$No;rMC=Z0-luy5BfqI`|6EQ z2q!B)c)WliJxG2o4N!F{0jXwWlP;sQGpV=NVbDsMyYk&y ztzPfqU)QuSdwkg}6oHt_iN2@pwqVe1vsuGotF8O7{oiIA!#0f0Nz6aP9{!GR@Z0iJ zF_Q(~3)Aw!6RbhkJFG>gN+P*#Boq#Z8zbRRC_M6CmAi{betaOT66oHSF^Vfi;@pf- zNv}N<2pR+VDLEt}L5DL$gl88NV*_*tE2Av542lZf_<+#te{5{HE}y}DFaiHi!{v%Z zV_|>LhE}I&d}?&F-JY3t(KQSP)~(UnPS~9ZT;JIk^GfFs0!tb!W}{1cLpAGi6t8eP zl8H(=nTTJ#GZ740tuP&e(uQn4wr)oBkCnsmq`6D0VZFPA0f*h`O69gDq(DM`DK+MF zXf?e(-p>6qZXc+F=RiRxq|+##iruKYZn7K~R86j;8BNX99`RR|YGU83x+0-;BpUEk zF)rPg9hlfuDEkbZT5YF6e&N8uL?S=9WqUT4{AY7>o6`1f+^%9zuU)(Ad;9Yk#+#cB zrURoR{#0=Psuf?oXVt0=8^83WsqY}jyWk_V?iHg91Uec;dC!SC%zLCO#pr@0*0BZj zE^<1=y#IyDYgIWTut2x=sGy$>1Y(1kT()slsqAr$)NWzhz8LFg!NAV(i97;|mijs>mlcYe*nZ1s!k(d?9LrWg(uzW%@!9G>RZ^nm4M;uOpHn z)K;ImeswOZ)sEM`G*~W&Q0Es2gfhW!Y$!LFAKFtLx??(%#$6z>;e76QW>XEHuU1Hg z$NKw4G3xVqP=aC#Nl7=lW;WlH(W3ZeY&f6q?Vcs0N6q^KHa%6!qD3A~KZQzy;5wqz zBF3I)=uQCnG_xi2*M#*px-?4O(>QU0Z7&snQ=Bxh1FDc?_8) zW!OETk{UCcC=GL$5DyhG3~TRT-qcTpPt~;zc=GAYbJL(#^Vhfw?R&6<${jPvi7Y67PL{1eP&*3LnY|SCQ^*NVk@}0rZHl&2h00;X z`UZ=e3wfJ8J`szCBSS+YleM8>C^<0k{YE7i$|g4>zV6)w*_5nhyPOG+#abHNFf+*h z(as_|+?<8t6{&Q>s}04XWn3~u*A2y^wQ4-&(=r_flI4OSh^SzEM3Srdn8Vd?vh-{F zTo$JzQ1bh|pfyrnbPZ~P&a|?STBwlo7$;x5O=v2d2>MqQGiMxxY~X#}R?o-l)yV2Z z)M82IGZWyVa0vIgl*aCDH2V9Cr5mE_+z$IdX3bbOlj*F~u1@3ntGw4_a#%~nt5Crt zU>fV-Xm$`@*~U%(_=~Gor_wgT84CF~#{L^|Zvy95b>0o@Txmv{P3zUwcD3)z%xE3W zqFFp1k9T|UGF~vYF~%6jF~lLxK#Ai}LJ1{~KgV?_aVQ}UuS+T6B`zV9rj)ppCQd>r zp$SbWFX6{aXg=Z+!bkb=o%jEoD`_-i8w^R`%9cjD_ndRj`ajQho+oA(J3rD>ax`F_ z1KJ8uWC1P?XsBYHa$r3rbGXJ2GPZYoQLzl^YoMoh{#Y-*`TRZ4c0x#e@?>|{x`Cu} zHX2zpZ}*->YILSWdv+{b5Elyblf`2^@wTAmd6 z>H+Il9FHhFpI|=|51l=RXjd`f{nlVV(h1|Rlja-;u$gL1vxqA=U|%*1jR7#T?hCr! z^3^+gd;5B?x~i{Nxi+6)vo@d0=hm*x<$t9H3q{~iyV-PjV#SJygP&iveEIU*Z(6u; z;rJi!U$|hw!u=K=Gt`5acV<#dRO{YPGIdS8>fsV&y}a^=1i$C(OE5inNmAPiOlH%l zKh7DPgUPhiIVSUc|CLNc-8ROFrzz@bac^X&!nGg=wXoqG z)5Wf!7|ZASF6k{N<712Rd0Eb7<}K{+Ns6&td88aoIZEk8sgy67nAaB$iMF5wv#w-f zVI>(Cbsd?`(Q*P#4{)$lia8u`LPyw_o_-X569zEmpu}cjvNmWbhtq7A>Ej>wDPLzx zI$vj*rsnG*W`yDZS=>HyuFGJrO(QoI)@Neb8Gc-kXIA_;= zi2`?>?9|rFFaOA=KD%SbhILoS)&|T-Y6gkMz@DViLwrVEU>D=o61CY?CkX)D4ID|s zB%SKaOfF9(jK;Q(h?8{QUN~)CxFT2fdTlTbamQQRHp?>Nh{#q;ON-l`pRz2MJ(+AU zo=SP;a_@p{IOP$b0&+TIow?3fP}bUPp>S6c0Wv%;XEK@V3c=%!)*npvU1_yh%^;ss zE|<}`BN})n?w36l3$DrDL7%sygK&KX=9&g;N>=^Smepla2bY=YMxF*5Pq%>br-K099pvY<5Dzcm(rQl`CO^nkSlCiRgrooF8K>A_$~eEjK{rl z;`5JfSSQ>Firi)aVujGtr|ez0Z~sCiJ-`mm-*?l(Mx2|C(T`ZasABYe z;*A{UUZ1Jk-N5K@m42Ru!NBM$%G5#0ejc3eyJ}~-50!-z6XjYgwnT4V0*>&`gVler z>C#I#e(h@;*0102wav>HMWWHz`0~w1R$p?->LYXUT9vP>XUee2@U2FB^5jWn)1%Fh zG@U&`^fRzU#p%1rzUdsCZiczfZ0ea~HBrxq{t=IjW$rADGeMdB{P>b+lmPo?0&LLF zrQ)SS^M)689|C0GG`?hbuzzWH7siufyOHlA?kkJzpFc2Smw?zKx7^s@pXpp!N96q{%TX8X5>0re_wQ!I=l=fQ35d*gO# zat>~9uT=d0Qh%wA+a)ZLFO^njyE$&>F84+ddz9*f!S%9n@7;3L8NrB07GQ0%$<>QrX&SR$Es zy3?J5>+|r$oy?9qmxSX&7L!cu&MwWSyMpjnDEjtBMHWdy#nLn6U&H&%m<(2;xaT}r6EY{fvsB=ype{N$CVA)Uh+q?RtMN{N$QMC zqS4}lG(rygdTy%-do31N?1fUU-;S zk-Y@jxQTYnb3}qPI1Pk_YBN~lCP6yET$}BwvoNB?h z%H?cpZ)OHPi%tpYVvjcqXMjFA!*IG4kJdcOmY^PVR#vskCxM$9OEdnm!_m>sDpO1! zkB>On7pgn-ic^}`7oC1G-{QNb*4pfz-&(!MB+*+NUdtq)hm(Hy<_0c5i zeVW%B2d^;C@NcH(^sDjrfmtniW7aRU%jT`O%Qd@^=pW?;toH=xcNJ1E=Ks-W2$@&e=tfSp&Pdi7FiKeNT zu#O?rs%Uj)eLbbcGz(}RoYbV)VfL7&860E@j(Q#XlP6Qhj-_5moy;CPM6y4oc~TR> z%zT*AFgs#}z|H${o`?z6RAeuiVsG(sV0Be3srqMvrxhEEJz3AUO%s8w7L|>B)zX`) z4;fJ(a^tLL)v}^q2&@h9*iKqY6o+w&O9*M3`yK90XkI~mj8rDsjZLseUP&ZSo(9*~ ztJe{m*DkE5%eejl)1$@-RC7CD{}?7(|A}gh2F-EJes&V^2k3M`U92@r*yUg+;khjk z3I+T&=qLRAo5;En3BTWhmp>4X2k4tQfVFZ=vyVN-j$#gD9=@NHhdq`^4iAwkV`w;; znAQXWSr{h!1G#J<@DB;POg9t5g+MUqFP8j)Ksbl?pVS=0+}N-7SHXVr%)v9*R^W49 za|^ql-Gb}DGI(sU#9@keKhwN&`t&VKGp%txt&Y#_RF}PAwRu^#CVNxZ@-S;h zG3?k8;RwUFq}J<7cAEXUTArH9VJ|tq$=cQOZqw{Q{cfq2$5S~R<=fa83X0u$BfCYwc@3ZV!V4(xDC&2- zTE8eX4$-5mU7)fIN0jG|sO8sJ|ui8^8z!V-Ct!lzD;epTXO?@ zgdIj7V<(_KhT3qJ8G`F9@+z!zgs&o69 zi3z%1nZ8w!r%%y!2j)C>{3%RT(#6Mc{Q-4s=?*N(=`Ili`y!F;5g77O{vmi&b_*LR zKdsLpIQm0iQhslGC(a?9nZBQ}OE*`#-)?7yv8jCkYAbbQe!qAXl{=0 zFZn%|k|aUw9|#O>T*u|k)c-2IrE$RNGlknx?!o}^t|wZpIzE`cO)9Ncy9qt^Ox`Bs zg{td^6_&5v7Z87@nf3GYNf=$C^t4oh5B9aJhdrV!I{P$zs(m)4nZjI=$=;LkEjZ3M zS9i-Q$*`Cd)yYb=}V4y zLC+pNfS~FJ=tC$5gtK=FJMi`BQ9eesJlt|0i4kwm!9NgN54p?wyQ-Ph0#J%@080O( zM^VJ{&+~HBZ@_|G(@(S4g%g?un$5M9T*esIV2IDa+NxC7CXuOnTq5xR&D7dIK0|0C zL)#s%Qt7yd|MkUpo8KSVvQYAdqv>v+mjsUKes>UuRGqny33hcEn6L)i;b7k7vRd2_ zRmKsF!YOx#ZJGS218yTB1C7U`AzPD!F~{&V?58|gEMlRnFGTH(9v<* z#v-8k(x=k#cGAfBNLEISs5-n zt>$PV*cndvld$D58KYwCeeR$AW&;=JY50!*+75Y;+FuDoNG069n69A3UftIC(31>| z28S(r&qh93VMC2AQ*NoeZ{w6TG`?SLsCAc0Px7&5kMOas*1gJ?t5|%Yu_my>M3^;{ zfFk?*4BxKG8}+J#aenwi*Bm~TA;*0h_0I7Au3BROD#BV+18S+-2BOYQJ~OL3AfTh( z-z36kUx&eq1@TUpqzg2+nS*{AMm^)v&V&!Vd{<}8F18y@chzPR8o=%qJf^tM-)Uvc zIy7{`f>Y)(ISor)i`5UFUJQkkA&=LhEH#@vstOY`hSp`H>_OFIQ9swaQK+pdzOF#X z!aBd%L>66qyQW>SDvn?)EYOTr=l4ShXxAEn<7VE1jtgI~7PYNG53Scncrz2oDl{3&{@2b>4YZ79Nz&?!ZOd2colW z>V42}xW5^JlZ88_vlCFxQ+{CoJHi2;pR@oLW_?w8S2%EXhlE_nkNexy`?P<8wjY<3 zciqCBXD6V^6*NDY-iiFDR7q8hN+Oc?CoJ^TQ_9=1*d5wU(z{Pfk~T}}HzWOldipBG z6i52aPd&v#@H=t`5=!qL=gFylOycFwZr>>hlHUh-`*8n!?NfHJo7MKAeoUIvK8E}f z3ZVAwWZTsH4eh&$-Jz^P`?Q(_uprN%h)Y(9wdck*sV-Ih`)91Qk2 ze4@+j@WM@T2x4N%9t~yOvLspApIx?n>9S-hm0Y%T`xQ%7o3;&5b&bbBMUKzgdin4e zPT@5apHQ&sQW0bCP>EmCze zf}5g?Z|^gu5O{{-c;Itx7bO1u{TJOjqem|E1_Fq*_@qPXPS|YsVe}9;n2m#8e2S0f zFhB9|0o&vt^0x|ARlk#s4i?baydhoPV(iuO<_O+$5= zJQ{G=alkeoO61q%Lq1`ozn6zMaUy1Ue>&}ULU+*9osEW_k|e?vcCs@j;T3!IX`>18 z|IAJ6SGZ$|6=)B*Yql4$M2=(qfgHAx1suAX;V(SPpmuP{VS&9Rj_X~!=bb(5J{Yu5 z`X=F2Cestp1&VAhli*t9HI`R?c;D9NpWk{P%ipwq{Y@wuWrx@flzjp=j|)I!fTANx zu!hZ`|LW8q769j7__8S1NXO`TYVpGsgFg?V%Sd`1UuXi{ilf_hfdy0L3Sh;S>Yc>^2OH(el zv18l9h26Q8E4MFSx*(aha(WEEKDXX9m~49WzfoD|{x^=u>iH>~fud>Epo z4&Bjm^a|(Boz5$cw%pO=7QzK*|DRgE^d-xm_B%`e19=Z>USZ#xksBUl6;*Ed!LDmH zJEjjI{_Gi8Nc3vvW2CSwzzp)!WfUBtx`rHJ6Nz!s(l(lU`H8NjR>NsVrE>= zc9$f($0sixvW`@`=bM9euxHD{E}tvpfS$tavwG5(w1f1>-6xg=%HOe?oqJ+An?cucre_c?>9%`0|D9r|Ae4NymBI>R9=`*|Vha=CvY z_!J{{nVeVloyFX{gF(ip&8Tw7xjLD-)@JPSczk?3ju(9@Zw37DV;#WU>cNTncY5&J zzKuS&!QvyAC-dL#{AzXl9%gs4r?dg$g>8`7fFt5Ya6cT4xu=xZ_X{seEneja{4;}^ zpz*#N=^sYD0{B&51`X!5AkU}-qBq$Ak2eGE-6~ol;TSCR0Yl4&Ur^o{*b*=bhkczM z_^Xqx0h=A-sUQL{XiyzTaY z)nm6pSB^@cPIsa0kDyMN>ozz~;W|QY(Hp+&gmlMUGTgYF5(2E<_~uPFx%chkd8i$a zpnn7SrP3ytnzY{P%pqoL8Iub$kKO4DWCJ#vTNIyr%oxoLBx8w0WmB)SYoZ%`G6D-k5r=3CDu_NS1)0{+=J&lhPwH%3TW?`vuyyYW*!*BuiB(kFjJNx-ul>?WTEh6743DFCNFObs?;?vt5BevrixNjlaP};lZ^VuiCY4%{n){ zFK98h4kAwmc11Zlz0k;c)$DU=$Kzz+j0HiJ%%Pp4;rIg9c${$ep+KN_Ac&^dPy1e<2s%WLzuHXhY6#CyHfuvsdm+d*$}lz<4}PbN3y#hV9dCBiS*@7zqS!{ry-qDB}z}1o^E2qYb*QVr*+`Yc+}O?O-d7Y^`W>F@)B&;F?Je2K;KAQuP1y685;}RTV$yiWNQxelEEX zd@{|$)06Be&Cdus%jdz)yJw&ixQVn6qdtLIHlygh8gV-ZH@)8Tr z(S|BsHcY0vV~gJzFXx9Z1}`71!llDjhfBHZec`gL190iaC=*^*=Pk!ejK_ZoUOs$2 zxWs-o7cMa#@4%1KKIY@Pw)e%$6v5@-&@8w_884xX&1xCYGQKxnzIZ;kL>XjDw6ms9 zB)mMyZBbz5`75?@`Y7S0?&9(C*XMyt_{o}n6*d7A;L+2VeecDe*9m0Ki|W~n4o@su zz!4T0)j3khd^VGGD*qk{<#Um+#q7nQm7v%Bqe3y6hQbXdhs9z7r(F#hacd=gLW{9q6q&(rQ9s)wF zf+|J8T5J+drO2|s=<;}@gYLihd9gQWLde+&^L2DcX4zHBkAg}*hK4nhm5`mjuHj@rKDGO zI&DrzC@wiZZ4>o+v+=0B&Fb-FyFEa9a6U$;5JFh9kD-t5Mg91i#cp#hiq?0x@LZac zxx8MBHJKc7T73p%Fq{npwYgH!?e+z_yf%lsNtR1>j9ZfDQmy!6b_z=p}8p%J%8 zt+UQJb9BJmn80GXY3e9P>hpbMx8FVJ5&tlOo+ekGC?z!aG3CN zJYun0EH1CntZ(apyLH0Klc+PTfw@>&t1IvIs)VRV-9YQ~<*zaCd3XD@h^pjv`{i6n zcH1pDL$k;2N6oYp{GeWj!*gtFA9w)9~2Ht8mx8g;g z2Kr*P@=u~Wr;oCY$oIi;biw&?6w>n-h0Q9CzNh5+B5^dFYs67V3N8jnfuqdG7U7%? za8%{#t2ioXYd}i2j7I29$A3p06*BLOqoC~Xz;l43n%_T;vO6yVNckK)iS~XS^#GRI zE`+7*V|6g)c^*RD??yk8Y0d@d&<}*C?DOvdsCWu670h58Cj5A5#T79{1re6?LZd!26wK@2X5@HY57GVk#3Z z22}anQ#7a9lyLI}`1Lus%C0#NurkeyC}U&2jQ7S>Va)|_75y^7RuHbvl|s(ORVFn8 zE46_Mn&ZIr6@;xYhM3)zYHiNP)BodnvGpNX+&(0bFaPMwE^Q|XdkyQ$6zw%`oe{S` z2lFVn!t!X@$Uxfb>*={}b*bNUXx>$sPRSM)zH4d^27AAk%z-d1%AWQsq7LQl{MD@v zDds2bw4gbJXWoZrO7u)v3(q`C-C@aNOpM#@5Ou({GwcgGRvZ|P#Y9^q9QQ#QBna|< z`n<(rk0d)?IYa@uGnqqhA;gQ4#FjRzPdT+U7At()+R+kE44~Wa+@pBz6L_wjo=dBa zKe#HeQAw(EBp6SS=Z$0nCs^=;Pxs+WTKR1-SSSSXqEDe2mBK3)%NMA6ne@uR7&J_S zgCsYGshpts@95)4(bi|R*QtFxEA9YU;z3;jfwYzPF_$x;lkGnlEYHVrUwaVhdb`KP zbZ+nnqNf-PxZJ(Ditv}YRC*cC9N6uxZ5AJU{x;<&t*wdV&`2m;_%;So^EY_rKcauV z=v_W)s?#6G-0{`3&vlk5s(WuCZ7vQh$YdmYB$kXKxlQ;kI&CP1QA~AamKUQjo7mcF zBk5Ij-qhN3o_PaX^Y@!K4p|7i$F#Ba|Dh5)XWra_cKtot#r=C}%IDL4!_^u|ej#zx za}^xhpK14aqF~lzKu#xI@Q=n~g7O=dO!f~%qx%2Q`s5<}OBfXy41Dh7V+pGmOU`!= zMEJ2=y|NssbxM3dhG%=uqvM*-TLNxs_4s>ve?L_syxCxoVjn)Gaj-d zl%82rrkOln5zSTQ3;`L<_HVT|JL2JRPLgif8V-i?Qq;F_<)Bx#+mi9ZqF4;FVUwX1 zb1D*bK{AR@m&51nOZx*>i)iay>b1h#in-OQ4dioyfWaNkz}m-Xb)_xlxW^3=-swz3 zK5Q0R+B&QsA>n8&2A#SqraWV{wzpYDtE&yMA!3*^=)dovGya~>8I=c_iL2MFC!Mlg z|Bhb{?Foot#_RS31F%ti%xb>jdrxNFFzgDxifO)#=H5w^^GWS?;5952=OVVA>_05* zlZdx%YH4ZZQMbSQZNIi?XlXH+aH*xmbgM@>#UR2)S%;aH?dE0C@0l*ZS%p}CwEtPu`%SbTbOsB@d6N;7 z7e<+HMnAI=TCBg1eTv=rmuuG}F!8;Q-Js_A5$5}Mkq0!L2BYhs8dhC0F6}eN4KBO1 zX48%Afi}0k`3kn(qkKxux1QYzUk)#j-wBo9Q!y371JZ^-k$}fHe1$^4@OhV8USzHm z;b%lPn^TfQcGdq%I-T%$CgaEmR1K$}gdL^PD!*R)%POS7s*W$7354L!oIAdb!n@wa z@%3o6!rxdL2e{HhWAfj%H$2MP*t4j=2x%krc9l;f$W(0}3U%!%VKj4=MynW|Ewg|} zD-^p`fbJR=UZ~-7y#G4({kSq+2WP_0wwXN_J*7%pxN|l#{^Faxs=KQ1xreHIZO9~O zJprMw7u#>Jamy8U@y*uM;Z;gE3}&(W0=Vm2F2fV=L}X6x?^d-`)RWs&Zpl$#qv3EO z?$Y~xD+<&M;X#~;l3RrBPq4}gjO#Zr2OmRTRZmIuy1GwO4}lx5Z7-lotHk4s+xHUt z3VAlNx-8aUpdX4-hb5Eik{qxL>P8IoP`I*U$l~@ox;x!2L1!{`m<%lt1w@=qEK>=( zN{3`b(BKaEV}%86#(@pU3g;kdoxZQFkiQ@XysYy6we6r(LPtV9ANtByY&HZrF_=6K z`-scEdX3H_Jm9)RabaSP7g*ycd5 zQ|Igze*FE($?q$F|HP%2KEVd)ySnxtLwSFTIuJUNnGVIBAwmOsYaV%qd4t+eE_CId zaG%p8v{>59!97=oi^9#>;)*~0+S<6SUAC^h_vi{*(??hkclzsGOR;jAWYD* zgLaxS>c^}mtF}$2H7yT(KDFH0Ven%2HMSlOt`qdJgr~hVaZ0&sm)_GPIifO~cM4_F zrbzXpC=bx1BW5qo$KX8skN)!oX8cd~R~`#9do0Qs+9&ybuRVlsJdzuEtG8a|?^KsP&K=_3i>iyb$Ex@;{iO-(Ikx6$b9O6xC7 zI0>3BvM;j7g%`osgi%)xZ*zUJa#jg3c*=BKvB1_O#!_j4b?73|-b%XNBZqur-5HSo zaww#GgM~t6_Qh0cfx8k4dL)b9km+8U2f^PQ3=EF=AvUkk8aHwzhxS*`L3YlDR3+cy zan>Z-1SrcJXb+F4$ChYuIkcC%UENz@JAT9W|3M`~e#y3hnlrju1=_3b0v-2=@GqbV zAwf|+Zt+DsEEKdH4$<5m(tTIOVc|2aE%qBi8*uK!yd-dg#n{sCGs*Deh(K>%EsOZv zHfM^(UQ4G_k1Ib7;rzjfWv@HX7Hw-aM`)O1i1cMrj_M;xeCjyf>UC4X6MvtpDCq!eaHbiV45tLO* z^Rr+6W96xX+U?l7u#KtI=AVP!_jnkN$l}aAqch%b14+2l67(*&4w#w}4opq`jO)BK zF9~_JPgsUD+;-rlBLbXjV9bvTMRu}wJ!n79%tFygpp1JJoJ5dk?%~8;?Vg}nrr8F+ z6?v>YFy1O9h|t@x62poEme%-gvLypx0N1&hMk6OtB^Q6-_k{uhr*BeR7mrPflMcT- z7I%5wYsJYJ{dPlQ9*oC>5Zl=70shU#&LEUct80U_p}25*&m9yT*cBdR>`>JurJ{9I+F8(Axm>K z;q3{BoTsxeYHs<1DXqsJ&PJjBlX~4YvBPBbNbsdu9`xhn)R$Xu@HXppw6>beVV9%L z<1%^SQfd_VAs)&;s;;1j+deCvrPp71^X z_~R_aCckH$TA%-(a-Y0JK5+scynTpMCM3|l9L+4WtwzYIB%vPdz_B5GR)=h6+opcF zi4Bh$M@M(&6DhY;S$1h}UppIDz6Cf9C@&dHrB%5oDB4&$UD-S|Y#JRA*ml9G+rMC; z=Z)7EZ>bK&^)PF)7|5;Xg#U%}kDU6m0)ImC^CdMJ1mpCE|! z$lVaojKbugLoN3I4bPmebh;#W`eF`i&&a|7>!M}yUFr0q1)0vvDnpl#B3iKA{IP3c zEbkBtOu1I*5r^5HYYrBB4D9oUp7JGlH2S$XeHZr=L;A_8OslN2^p6SDgCG$Ew3uMXnvM$aoL)B(usna8A#nVEDHa8Cf2oNJQIqoPo+{DqJh-NSSD3i84HaE7OWJFI`e-_xXd~;>vii`N_h_U z9SZ&RDNnIpCcONzq8!`5{}|qA>y4;`h%*R&%xTmo%1K#uA**eUqsLWi0mP<@^QiD3 zv1$ynp22A@c{<~CB%;~0%i|YxI4!$s75eur7?&;>jCee7A{?-?oN_PQcw#7* z-%v^RrCkw*#-K`$C)7V^MsevwP_Z*3?3W{@W5k<=qwR_Mt!kBXhe` zH}2H!+b4%2^8F6`#!GCW@%`Jj@pZEe>t2U-k9jE7_LUiwo7n@oRFJw0$KUPYl9DUP z@?hm^Uw10)1oU1t&<`n9_i!Pcv>$nB{uW2p@2eWSB%W?|)TpB(B5 z2C*MY>l4WZLwTppA$y%V+3$^Y2LonnOpHQ(ilZEfaKPu0eIYaLT|yNz&!}8w-L7M% z_h^r(A|<-4zE7~$S)DhyI2HCsI4t@eFBCRz$`xih@5=4G^A@nPU)9gnC|i|9+6*X)AZzJFfy z3;Ppm*x}=Ghf}|B0sCBcceC=ZEF#BaE1kOCvTXEtW7JlLxIw=WI`9loC1j6^y@1{p z;^1jq$_|d9&2bC%gpxk~c;LJ3Kf?d{eU+}1-lG?~yO*t=*xSB;Z##SBsYf=sw@%`% z{7kZSWd@^`)_`wusQ|*8<%{m#$)cM-a~$m=dV^%;cvcwYQrWaT&>~(3_I&$&fxFu8 z!~f^l>F4l=?UYt3XMelcy?heypUd)(7D_829mjap%F~i$g}g>+0e2;=r|>xP2A&&b zw>>9pm*um^*xML>o~MG0Db&G9EmtFcAxk~NJ*`XpBege#&*+WP!#Ch{bSDCn_Fp}P z^L&VjoiAOnd-t|d;bEt40-MEXGC6r^XV--Mun-Ogl;>kHNJ*%ViPod`!bT)oC8*$e z17{!U5p3@_{0K3&NBN)RXX63+@L{*Wo{<6acTnDD3Xo6N+AE60jV))5n^!OpqHdVzNc(`k9)%UvoE7!XJ3xM zPbf4-{PSek<;8}JP$@ok@<7M( zpBnOZIUk-Qub?~i&49LoMjIuLd2s0In43m7C(m5n;@sa%^2&t*&TH_`NA30qEZXci zlVFzuE$rJy1O@@Z@hSqn@T;r^mF`n&aq46bNK9A+_Le47K-$2lWMM`{J3UhSM2Qz z*)@u;s$JuVQ`uDSN%SM;vAVw7NLts}j~~chsG(EYj*BtDZ0z9q7qlX(R~ubiuWLjD zh6eJ2sy1;>FE^7NDyAA7iZ)<7XYQn6W=zh?yFXx;HkgoJ zsEzE4HAB|gtf`u~8dw)$4bFNfwAa#s+-)tg*qyz}tP!S*C^tH;&1k z_b@e;!Z0;$9FLy&vXW{Xhs7Ui94=7z_wWCWs%b2*@A=wuQGGvSLK~gi%vpV&rStF9 z=eqZqH?x-WMH#B`fl-cLXbLr2Dl;&+7qk(s58TxIFCgXL=C*dGBWAVRO8(;stBD>1 zX$KOMgZ1pSbb&Ecf&4aZ8Vwj{^WSI0RETGfa}#QUC8ao1t#ijmH)~C#$oG2Vu0mB* zrJys~zxOzI*SPDfyI6B*wZ^qg>5CU<$Jbcz1Uw6@tJS-K_qfnX{!oqjBa$XvaNamV zO#8vw%eFxwdd_%Mhe|noalODXyh{67NJ9WARPCe*-+Rcc$`jlsKf-2`=7 zeMA~*w|JaHPz`wc;Dt@iZBcG&?uyQsnm1zW6VivWkeuDNtY(E~ljfrz0-q#RdGR}R zz{TO#wh!Dv7lC1a^84t!1o*Wznk%b)cL5xmh3UVCKD+BZS0lFHjUTwbK6_z2|Jv`P zpUgPPT+uAA_S4Kt<yS zv%t?7V3*c{w-n~^l2PJ`aIa1SSF668xSvtt76Y@`!&P+so<^=vSPU-c^=~Qvd=3-H zukUT(6Tz2F|BBPB$HDJ)X)XnI$eEq0mV*mNX}**}oil+Gu=SJITxq5nemlVM6K(%K zbl1-ZXCHiX*ndHEIuj=Nu{Ud^c6{UEiy_-9v(CpQ3*D)+oLu*_4xEpZ8_vs}z4Kzo zcgRj^J`&qVzEM+TAquEWZal~_B6;*UN&D7&`vtxkR%g$$SGd1K@^&1DtO}Abc3*1$ z{@Q=`O6?mifu5T}p)bNeqv~&u%hvReOsQI3IOE2_@8eSxHtvjio-qa=zuOvo{Ko1& zesMk#R*f&RfeADC@qo!>aZTI8#aGS{oC1FdGOjWz0swy*-Es@gCU*4##s=!7Gv zTCegHwS{T6!E^Xq!Vr1NWpz(6!MX<-wrwIbvG?X(uTN{LU)WrY)>+&90vIICNrK3stfN+=F5>|Pg~th&r5X;C;l(e1YTMSZK)-`d{Z zv519nf)w0F)YsJJ@r+L7^P(~3(YKl{6oran?%j?)G2ods-thgND*nEzb}_a8qYKym zPcD3mkHxj{6}}z_%vV6Tw2d7Ju!{UDv|s92)$cPqB)=v0mU4T5t(Q-~%J1)mU*=a} z>p&J84W>T)YrO;5D}iKc;i5z;K+d&#dlLya`})8;udnUy>gt+&{hfiXPO@O`tkp+| z@cM9B?oI4EWw#JfcFH)DuEkSM!awqh*dcl-CWyIFJyo3wby<{pup-`5of$pc5P0*rF}qkHD3S-0bbl^v=s5hUiEibotGxZDHAGO`6RKoT>B}S{+6hHl~fH zcio;qP%MZxz20if!~*Uf7EB@l1_C;HC?rQRIW~sKGg9AXo0TjyOr}VCdr-0)t+tZh z?Xnt0TOn<<8uX&2fOcWsaa)zA;e9=X-?ZaV>o`f$Tx&zAR$m-^W;?y|;0?iGZ#m$9 zu%ko9;bU0$YCAgoq4o|a_1{d!4=+h1V$qeAj*j+LYswYI`9zC3f>X9MwlA53n}u|R6HHSDXurzsPHf}bQ%VW$2dzl zMW;b{_|(lK{2B1;i?#Y9&5t}-4KjYU5PbnP75*Vwti@pue%&EeDw2KqXu<7jZblsF zJ4BoD(*TWUGts!#ZgV-j0L23lf;7|(ac+2Qp%_IcY=|MuS7e>fX_Qbl>$$SB+KDvY zY}ukTg0?vO`gX>1T|t)VTnc*+m(?BhcWo%bNl&lx8#s3f#Mboon3iq0th3!AWm0`t z3|2%bqD>wd8#Q)#;I`JhbopH$om|`f;w9ZtSk)|9yl)*U1&ktp-P(4t)6j(VB+_cO zTZpj4sA34AWrt-1R}!KVFv?XFBfTr87SAX6Izj< zx#G(J%4>Ck>DiYY2u|jc?0w#rX5sD5(&W2Y?GJb7dz&HPruIBIy^U40_@fcR*h`v7_k`U9_Bk4u=W2sm=Jma*SXnTxo4ASH zdy{bF?0&12{o?vplp}06uWJT*GXllX^)F34@-3sTd)4@gx}EdNy*_Vm z@8YH9vd@bHI=7t~O(B+VcYb8FJBvU|snJun^@hXjk;RKMsZ@H&%Jo;QSy9r-&dybr zT(@TaXdDI~46pmRT!S<4K^&44s5g<5Dk7I!4kjyvgYr_e)H%V`$0Ir#fCVcPR!S(RbRQ z1J=T{@dx4Q9!G8!-)pbI%k3W4tb7N7XU5nBvY~#+LpoKU1-yr1Vg)Tr*r|}Re@b}! ztU>tMSvu@W6x8&q0vZQ8x*xoL!|H`29tY!KSJhJU!vJJI!-uJEY);FEgFcK}`KqdN zD||%RzpG9otpChqD`zu3Z+vqdCF&wB>cVtd~27At7T88SF||I#oqo# zp^NX;JcEb6iE*j|{sPy#bBB2(oe=-qG1Gz$BW(xRSPS!-{55(y=pqp$a8+It!SP4q* zpndcW5e6LX;v4Mk*IyNxLB|Z@t1{ZhG$G8j9>K_M-Z3LF!wO8#`sG?OOk)Fk`wfvI zQ;0}knSKd6qoQgf&*J51DHtyc>yz#wtdv>hM_Cx|;sJ(b zp+|XJr@W0iy!vLXVv6AnN`HkW%YMTir}Ay62q@%oll=>9yG{ABUe;>i@8E>;WgFWL zmGzWXtF~dQrkkB%e@l6yHgK0srKm&8{z>1EaEz@~j@j6iREBaZe@-u+^AvA~O%H;f zm2u+g4Bf3IW#3e8#Uu3WN}F=5ew+ORf0n%|4xGl4WWQ)gImxSu`ca*E zp4ylIVWPDm3F^5CA}gvR^EvhfW%ass>@Ss%HCG4dW_gWn4H`Jphse)hvQQnQIKF|D zSR>y&lY#weowAyJ;dAP6eNOop`%8$MsSFwOVifZNWt4+uSpCqrLGvCj2W2FhlkHx5 z^v$9=N;l7`gAMdZfn2zQ4W$u%lvlK#S}@jH^0{i;kbnA3O_#8peUF|WC-pC$?yzHn z3p(`e4~cgQ&O612@b~PicZ%=mPK)>7FP>KapzfQepM+oJEahbdu)ugQ{Jml-VYa4b zB^I(&#_MWXg7r=jZKpMT7<&ulCvIv^2?X17N(m7sJEtH;B*f+gw*2J6)A z%(g5TWN$t{JdE(XUay?bjf~{-Ugc(ZP)wIf=@gvnlI>_Q(`9G34#A8Jsl2)T;9x$F zAgbPcZ@DMk>A=y-&P=JCPP?2=4>nTxJ;KLMaMPf9X%~c)fQTcZ-ga&$4l5E%6dUY% zEXeEFwaTG=__E&3u0zs>v`u^^2QB)b#fH?kvZ;h}Kt>SW2jFz`<_xkC;OjQhhw?7&S2VjZhTDnfQ7IjS)cLg%5Vk9=JnqiSeM2pUO&e4b zojHv?nI~kYlq$W|uh}Eyg%zBK;<0xsVA@dBieC%A1}Vw6Lz;@3M$1c-P&MIfwJa(}+b|zI6upjS1lGiPXDVj!+-;LnoHTnjdED8q!3ta) zx!s=bY-O-3>tJDN=tz%ZR8Mff$7pD8ec=f(ey@f<5(%U~a*4K+8>Y@Jf_!xOHU*`AcsZtb( zs`ia-kR(L2Ou%RyuV^ez-`M>tCi?r~gv&EHuyXl8KavOfMiwo~k-r{yAy@ylILl9k zz=u&Zhl2>@L?DWW3Dd8EPT3<+>?qnP>+4GvR;A9uGCOwmdEwaE+w;Qyvv&(is_CBq zuhmK??-{osq%~Q#Iyje!rD-9;2Bc(Jn2#`e=_Ja@|7%0b$x!U^s_qgo~j6ZnH1 z?CCupEoBDQxs&mrOIN(+V+Wjq_*W18b@TuDlx=X?$g+q2>f1L|`KhhbzXI+*Om?J1 ziQyk+Q9K65q+BKtoZ%H!LX6KS3r=aZx5oyYa30H=nuSPs9*8)9GU1+2~ zwrF(q)&j{_P&OtPl??_R#B5m=5Aot)tY0g+_BaRc1bQ;Mg`0zd1$`uyvgjilE3sH2 zI!})2G99K=a&Rz}G@4Vom^_?_M`MEmoI)Pu;%pa0DG zc)8L$KNQ|rtDzoew6m~<-_G%7ShEt^{w<`dy%4Q%p`CqhZ0xzeo5{kA4)0a}R`0{$ z3Gxz$Fcygpk4#LA45KrH^Xc3Cpkl>Ij=n{U`uYMmde=KJK0eSJe1y!$aTtn!9&7yZ z04|=uyDym<9Zjb6PVZGaWheXcB`fERhNIE&C`z3-6puvWLkpKI9;o<(L4Rdn@sff5 zAd2r_OX2<89y3DwdElP6{=J!84$|uZit#pLShEIu7Np?`%^3E7@`D(M=ANu1u6&PP zQ)wY$XE`^BkyN!t)!$VHtvYRSB12`^>c4A}!Z;0nEh5EoAUIx#O+nw3uQhhYte)AW zYtlD2H8tt<2A%F$OoZyh#+3;Pb zLy3l#CY?^#+S2g-+hM#$43m@8O`xM6m{x@Qfcu!!JVFb{JVMq63?Lv^aR6Abs<(XU zqD&gjLDQLqmzH}y-gt1?yi6Jgw-cGs`N@=-H|zy_qw;5X!P z^r-wcA780lMVqj2JEBKtJN*Ow<2TbWm7DjEFKBbmn>Y2zd86}3KQUe`c~)gI0sla{ zH-F`o`Lf$IJb&Hff+3Ug^$vr%Lyr5RsZ`V#cbm+RC;w|E<1^}8aJu+%t>0pFIwS0x zAMXlBtzw_ow`I$BHe|aK$>sTE63%)aT)S5G^u=QR-2wlw1KW58A_uRpyGd^_bhNZ~ zbOaFW4S!pj^*Zd|dP7^gUjL=VZSCHG)k@+uAH0 za7?Jzwze4b7SSswJK$NR)hG9OJd&~9E9Ve9k&p!gl9Rpd9gtxgD7wpt01x11yI&ZY z_3Jb-4$aeNFwb^kp7}wq4a3&+3e7&CH?_Yi(yBGO-aA;^F~ahypqOw`s_uZbnS%q| ze4Wq+#wB7iU01)-%=45b#66P=d;r4Fj?EAFO{TUshq!3r?p;e3icWHM?e~w3t$!yN z=qoQ?)Ylsfyz|b%bT_tBY@uE0k4_m3R;$4PU-TAhAZWI-zys%88L+e&nhb4CPC=({ zwY0)3#wr#JjD$stc1t&2TW|C6;xrM`Y~POKcC>P&CCv@=ubQ4T|znGFT|5MD|U&Is_S6G6C^9%l;wg#Sd%lB;g3 zD1y(&l*(-b5&}<`ZoggGJ%mK$*5C4g)A<0c2SKxF`gy@DJOM3EKX&p`RkBmd@_BT75p8j2$YKXhc!nWrN>+PBTq1 zroU6ZQm-WHTdg>|A(_ez7f?UcxiHM@oIXV|tZB`^Jh8i8$xOZCyl-_HpRh*Q$9GcL z*+FcNpc@pF1HB9dUm3F>Y&{ebbodgT+e~%^upX&lF&}?6H6#zFwuoC|P1jx56y79m z%HTqJv$#2?!-dFY;$@Fe;H7!HD&GdvY8L?~NDEr3$Y*_!(g z9=!j)Lx+$b0!HxLl%J&V1siynCX`_bGI!(!1b2PnY2DN8IP!guYzo?0LivgEIB47p z>-5M+{(onza>N@J9PE&`uj+e{Nb7jrk36VdD1*C~k3{hr(e}ln;|rksbNl^0J$^qC z$V~GT^6ypiTY-so71nwjb|?buuOi!W1R&{Nh9ZQ$$fJ$N#umh4ybPZIK1B0<6nZGq zRXg<66~~!+K8;k);`}}wdK!H=?At!$!{Jp_>{|8$PzY2zLjX^08U9%kBe#w$8ZnHp z-Fx>cN3P>?Bc^$k?XITfDS0YNL2bKB^GkLkyM`ifV-*siOIxG91UaVBD2Z@-?HRPJ zzm|3L5D{AfGBJ+GcZ?~B!$xr`HE@F;|H+BU3E}m}vrp2!7X%%9LU@zzK^E#@?h1|s z>9UWL|C`;o_Xczm&B%uu>*M;}_f$?~j~)`b?m3pl6hxX6LIwVLI6p%93s_Ukx6gX5 z?po_Up>o)K(@o~XNXI(ZF}75Agg-|Mp|Q_0WWgm_d0DL^Y3z?f=Rv)jfEq6H+)7Fi+-QpEga5dGM#<8JeEv6ON^nQc^YNhiuu6fjL$uhRpkxp zdmy{j4SNjQLx`8ZTNGt4>=bN1#I_Ok;4-{TV54xyWr${MULS6WUOWS#quFWUHS|BV z5i`Sq_ZhgOh~O>sx87^M8*e`LOoz6v5$-1xoLd{V2Eo%TZSC!C7L&0}xQ4#jZ0&7r zM(O~}kCX6ozZ2ge+162T8RbS z=%D+-oBP;nykCiWTM6Fx8qKFQU(o!S<{O&7#k15Ao8iOe{GQ9FL8(U5v7Y|F`uE)D zH*^H86FXaCXfd{v3l$85;UfmU2|vIBw6z(Y#BN#Bj|ABiw6?QJbBZS5xdZrY0LEhaPA7lX+{-;GAJ!(jT9nwO_hUByruz4->@ z#WUKdOe%*w%h31DRHo5r(CZCGW5f3hFGnpO!>(b<7=x=h6@#IYj4KD~Ak35{!XwjN z+7lcb>E124r#(Rc%`~qGSwzY{!|xG3NBUzKA^V8oQIvU$pqt(`gWbv#GuW*>C_Fh` z(XOcFQ@&%|CkaoQr{Fi8IZ@`6wz+nXWu5&oA=~_PE6Nm6=AA0$!wP{gUlC`6K2uhq z>`Bnld^h8X!pc_Tb@Fv^H-TsD-D}>?+Z+(qL*vhJR#nv3fa*PPR=K_bXgh=|&>Bq_ z1lraZ0je@CagP!B?Tv=SL_*bGrf3Z2{4|XpA?Zz01@+j4UXWP3k7b`(l&u z+Vrw&pI7g_#=}+p4*5of{^=d+UI6NqZ(K8b!9Ah(-wN>TF`+WOT{unq$+=~GH4t2~ z)E{i}2_8>B+!;d?^TiB2VD$;bU^pBs3TPV2m=KLuFILhAt>Og`Z51Xr1TZbLZl&a)Kig;T6#4j>aFtFI9*F{LFZ>qVMR# zdxVi`3A7khtIDO()W%j`R(>1|IGqVYz+#ycgr8Zg;h-pXIMFV#8?C0ik55b5O&7`w zeUh42yAgRqR$GTu%PS~+9%{|VODk>8o>grdB(pUtW%gKXJ9nP`bHgsbW-j@H{#NJP z{)>Lztnu4)?tEO{y#(M#1;Qs0y3(o0XzC6`pf=zQdoN=kuTLYoc< zk4-1EwpxlAMGff(~hG^w~x|3dAs>=E8e^vjd)sR0QlAb z(#N6yYoEVZ^!Y(rN5W%ckr0$RtCq~CRUfQ7Y5DEx*j z5z;#7HVG0@4fN;zLI^na6m%&R`+;T}Xi_@~Sybv)c^m*_2^xz`-;SUnEgeG0)Zq)t zK8xgo^^)EUk_P2~b{J)wYj{AsY^^9zw5fn0BRYe@tT1U2wzW#8|HIzdz-cw+5C3)eG0w0~h80>0uh$FGqIr>@oFbkdu5(N>haY52x}`d? zI$ZsNw!nD*gp5(Oygcjs0a*i8Q&wS=EhM<>lWm!w2rS&@RKAv4!xA zJ8#&zWoDLhf7bQmZ8@(qE2;-NlXT4E9o_y7#OQeWd;>2xw|g9)Q%cNo&To;BSrE>y z*G#_wl#)lIH&u65RT2Ago%8e^6?>mERIO-|aafn^h{rIe`@ip!*=*bTUT;xqp z5Id#6fQpi=8?y#b0t0M36VP*`uJyExs>W})g=GhAth!ItZoc6~-fQnF_8y-fU@)$q z7Hqkks{Yk|s(V!HuWbC31#?}0<~pAA^!Kiem()r@wLa@aUTg0m4r#pPVWYIP<+XN~ zz9sulzx<|Gx2aB}{51W3-32wr{rjrz85uXm_0Ht;O!@VXPfpH0pjgb@dfAY35w2LF!o*p@xb2&=X}>Qk`6_BOh_IJ7m7& z%|P6TM5OOvt9fSgq{9pQ`@76mnH3z;X&67foTS+HLa06I?G#_NBQ@1eacWwdNLI!P zeA6&Ub4J64aU=Q>{`%@jb-{u5s8z4nJ!(p`1ME@%b9&ZP?W)>V?f=?B_X$;N;?m-( zcCA{ac`dDOR^6|9QM857Hq)z0w>Mk%`K(zSb1`33=T;BryK>rsTH7Lprc(IxwyRm8sQ+nafZWXws&-r@Hdi}xMRm+u+Q+xPH@KT_SjdIs@xPQP4qLTeAMoj_&n9IY)<0%w%VvDD z?Y)#SpkMX<(Kg_(h)bI-YxWgQfU|4bh`KM@Gmf<8MNqVoH7c_ByrHp{3J5{q1a{)SB&V^R!>Ioh837R~OR*SLu1Pe=ZgupUVr^jcVx3(^giP)~jVsPEL{EuK2!_Gs4Vw zJD|U@zCBD=v9)KI+Pf*!EOl7sG(EqmSHFI}Mv3+6Esni#Rwj>0dpPP8>w=j)xw6>V zXcqhDGlw2$tK^Xxb5THSb{Drg_QLI&I413({q5v5&V`)OEb-3^Y@D2{=hwZns@aK{ z`aSadb!AtYq?t)#hq@;A!s)uc{<@=ylLIt=^V%rJ?C0}eDcfEpnZriJ7Fw;cElnG9 z=6||uJCDg2IXt#FYnAQDv@vHKsB9Ngwu}8UwVL`oXxVn;+-;P90;y+}i3tg7VlVs? zxo#S#o=0-rsbw2A`(-1k?_&QJU@O`B<>0 zUFzM7gZ00q-#@b7gg6|6UAg}VqkXSD+TRZ)zGXXB?7wjg&B{9eKy4%12jcxFvHbBx z?`a(@k0xB2T;i1^mlp3ot1px!4;qwQa_auG8#C7Y;`qlWj`PMPjvu)HtoJBM9XK$x z;OS4K7M|w_G>Zpv{lLrq@F1FzY5#NGne0raVnb?nSZAIp!%$nH7 zXHFO##OBBp;<_^$S8SMdgEIT4*2FX_^_;#zOg3K|U57QhF5+u;d%BQl-7OlYna94P zNp?c#l#Co_X%M+9$;r7{DX9%Ik|UW78aSD2Y(i|F-*ffdlK$P|y>^hXTJO%vN^hD~ zziCopYHGgsK#)LpD&J0Ok&;p`GroR<BXE=pXb~TXSQUW6+Jz( zEm7Bb`K=4mj?DL;2=Qn9XfAd(J*-Lnw0Iu!Vi-tl6i!cZBHaH-NK4@62SY`p#1^fh zd5a6BHgH26YdbB{(&L=^p-`M>LJb;ZIxW)E*2dKDe9C;eJBRU0A1puU=oL+i@fwA4 z^*a`g8`L9ee%_pxk(SmpKD9n?`nML%qUA9s-bqjNYR05`jgsAvj!8M`8E@CrqksR? z&7hrew@%yVzUPZ3D|K)t-wv;RCv;BogtYR#j}sl{*|p5Gdf$2f`gAVOjh@)-ImXUq z4xh01aiJrJlD@*>nS;-(BYor3CS?38>C^e}oI29SJQ%J!eFd~xR!@8SLGWwWZgrGq z`$(i|)7%8U`IDC3&Ut#Dbh{l=QgX8!H;&JYYt%4Bdq}gp_RfWl54N1|{{`_Lv3IZ8 zH-8KE=|8jg&aK9~fcwzP{C?E!Q2WuoWpD^R>eZawqCVNVAwC}6qJUS@hnl$u>{~a7 zS=+YpIF!%KjQHn%`dq-;ppWUZ=m+g%`=;{{dfQ7mxrM#_bT)5s_~9*@lgYUwCt zZM=Ao4!t{_SzE_qzMo>}Gk&$tm(HTwwz?*=j&{0>tCd)D%>ib#L_6sfH%rJ(&EQ1c z>6hee+Rwb^&v`QwGWaw|lQ3r^nI^A6gP^Q#iOnZxmBFd7-a|8kGdt$5%nkEZl!WdB z9PXH}OlXj*chVX+%t$#*@1xoBz9v>j{@yyqQ&x*&bWm0g)Yh?ASsmKkPX`QAYVY?Q z!iZJO_?nTO(5zu%Kj*+>)fp@zGE$Q3Wz=KWkY_S!NY&q&7S6e*C;de97o5x4%aZi)WUF!y#^@P3J&yd#2eM&Aq3f)`GNDt?;5rAfrCe~epVVbsl)9OCQd z$ER=qs(ETk&y{kn@56r@z5YXU4tJ2c`SI`1FUj#wt9emGbraIln^3-AO_LiCXhc>0 zsvk*O&0n%?5((FTKjEzQy25$@2oxH^iGHyLrpx+)K5RH+7R&0r=MzFdeq53$>)K>N8_t2ykFmb zJJEYEE%jwRrf1mnuiC(eT3!#^_TaabI@~|ttW(=Wt?>N|&FNKJqv5T4fBznj)nDVT z;j6#X_C|TDetjWEOG;#e=^rNBm0fDwZTP+16ALTz1NZ)Wg-@*7YECbV4d0)7*`q&j zx8Y3-?I*Npb?@ZopI5B6uUhVIuN>m%pL*So`zSyEG2#7p9hv^*-~m6l^Sa;Pc)!jb z9eev3Rp@-+`_caD_dC+z=Fq@%l1%$>)pFC*dDxZ%TC`u*cJJ@pWy^u^+BY>H8oZ04 zcRpZ)lMnPK*5&R8*L=|L{e0@Is;~Y)g>!Dz2A-5}Z(39i2~|`MA)yEMmsmLpfBbeN z+Ac_s-sq%Np%I;a*=z_W71GEmhd2-W1r)TQz5Mc-Fj__Xs;z}dVe9vG=i$Bd?w!u9 zJoisc#-!74cYEpFEB^k4m7|=y{K7wI{J!50c#bD)?*9w41HaqHNje$DB&)!)V4$vtuJ=}Vf*@RnmTwogZN|98H`(gezbLJ zf3Lhz+XrPtOS1i4#|?j62;%1VvwlmaZ*E|8($++Gwtb_v-!6OnF83Qg=}f9=qk-N! z<4;7R9Y=Ir+%qo4q*L4c{?cg^$w*60KH&Eb(?S!eBf4LnF?mwIzFJz-1Aem)Qdtwf z&42B5`tir6GZ;VhRF1Mt59*#IYEk*k$)6K!OAYFjK6(iLX#|Jrf0PbuG}vF{|A6`v zDQBDh7KfgGzgf0FB>%pC+l=e<&%G^Mp1gI=AIX^4w3FC@&kvI1k3BJYCXAg!{aR?* zg}GF#i)=_&CsPnzc*rx5EbzW1(2lrn`86UjPYw9GLg+2MM-DdaJA5D)VC(?Ht z1#9V=b@Yk1-+nv2LU#hXpFfel*eF;x@9oE5x2hlZ0OP4O{e6t~LJC}W0KN|Mg7&V; zh58q-_)Wxb|9$+bu6_Jge<#(<6{lOhx=Yfx!Ln1TypgfGXEgm*5P5dlR zQly$J*!@p*f8?*B&=)gK>w4NB0CZ9z$(0v6U+R1!==A3^^-II{8+W=n9i9BZ%b(9^ zZ>+$zjI7_&S=(vJ(+kpb8vB2BbQ#B6VztqIkHRlmGi&#^?V6bVw9ps)o}>MszdsU@ zl+!DlI5+$G^XpY796#OBv~=;)!iUuS)k1WBb^LYB>FBj-(V?@Y>;E-9nGeQ=dAXLI z6@2|ViLhqWa;E$=uXGi^!=y9bF89YqGU0q#d7({c_JV{yOLDQkyo!V~yJ@o7lFA zU-W3b*Z3tV{wi*cN#rM)zUCk;zFzg~r=@1}A%-OUqL_l8V@`K&W)30`dVaKLEv>am zo%*8)A#`2iw;75@n_=aJtg0`Jwgcj@_kKuBbfr#Pq8jV4{Gd}mTg6ZF4UsZwZ1kZRiH64RjVd#gSL%mxsg^scQq}F7xCHTYVPpwH>#kW z;NR}recvhk0@9u+e6QsfT?cDqdcNS=wnZ3yXAJ4IrReu}zlGJ5fbZt7~%{B8RZC~ra_iCpZ>VV=5Yy0w6L||Dlvub z)y&b_w^H=%HQF*%lO276(zkuh&zT*Ff?BAR!Z1F24f z-hJ|0^X=ol{e~s69LR6oyU$5X2D66u?bohtw4D6&3w>rrpD^?vL-Unza(d#4NlC-{ zsaHZW$h2+Ouir2Ye`0a()XZBeBfP9kF( zzX%(s;qG+$9PMAfbI14Uo=S0!ccKLh|EKCRE~`Fsr&qq_bj_`Nt@5>8r>p;m%V>G{YX*C6sYeF> z)S%-f|LuJ?N#FtBziJ62oblpH90+B3!Va(Ah_4LcjkIbyAoD)ci1z z`{y<4PfugCzw7oXNmXeN@yp7l!Pljug5BvdmH8XpB;Doit4li`x==-Sv?p*1Lpw0- zX$StfZwkLt=NF&tomG|k5P-Ika(+3L&6p}FM8dCl${&5S#{Ny;-VZ~XM^??>6GpC# zb#oe3{(X;|X}_1-UU8WZW8K{Ici*-roO5HWo7e2;&-b|TyK+rqkQVRNpS#7l#pEq| zY#rpGQB1xY?d@h>*yCnisO5HPjN7HP+*n9N)51Iu9HHCz6Z9F4JU_4caaPA2!u^jYt^e)Ia4d?MenCQ35d<_L3)IoX_L zCYr0v&E{_NsCmx3Wj-$##x#j&V+Q&T=L?S2;I3cQaze{PtC!v+j71YrYp- z^EBMA{`W1fU(4sf?czaFi>Dc#n19_=kN_s|05)aiZ_03I^Ynv;p4rQ8qc0ZwGwf?FpsY=T! zIb%;L*JVERa;ht|mUz_ukTkipf*?idDSN`!G7pZO&h}@%sMNt*TzZ71=6CwI|w#4ZPZNt$9y zd|&f_PLtb-Hjv9#qMAi={aUQkd_wGizd!R;|JyYkaGE>B+$A-!wPmNdI?Y#QX0+T> z%KI^&u)j$%*8V@INzYx~qoU`h_I%qtO3$|)&Vr-%dXDcjsyTJ_&&2hdHTH}*dR}hN zW3Ahs^H|^2KWEpQ%zMJsK4-_xe}+@Pc%d;=F62gYabv8m^yq`V+}n*g*RRWuD$`rC+=n0qd&(d-s@iGsb6S&TKOATJ zL4x*5kETY`qj?KrYAa#M;k#hv|3mAMTEG7YewkBq7X9CLUHgqM|I^q1xAR{+Kegkx zzoFc-zy9CmUOT-9yY3r`tCtYRzl3^mp^pFdh3W~##f4O7M=t7nwJyB+flJ-qsv5>7 z!R(Ax@t<)!#5}I8D<=m_{QTI&@1 za-Mcxb>4HnVAiiSTmHMFaqZFm-@UFqn*LIKwZk9m`k?yl*E{t0eg4~^_3b{#OZvJACkUlbZ6Wo!>h3)%b3;S6Ln` zE?;*|*uCqab~;QE^MRck;}b$Xg2^Evj+ZPd6P1I43%+6g z*EjQJCd@W1O=IliW6XIm=2-t7eS1IQan|0Z_NbV+Y#Xw1HQJATBu0;o*XrD#x!r#B zP-Jll2|-C7g1NCRfqk_3u?Ko6u9~vyb_hCS)6jZ9{&|aUo#_n4q{r5XEj<(Czjm6V zy|iUqT!uC(zQ`RHS6`pwq!nq?3Gz`t#!UY9@ypm=ux@He_QY(cfE70A8Y>gTi5mnuhG(B z70mnef>+`4VXI%ib=}MPZ~xY{E5muvV-w$7N#||GhjHpet)=r*Vto}vmu|sB67d!LrVZMj#J<($T*#x+PP*f+MyGQM)& z%q!w8EPSm(pPiXjwcQ!)wc^>ER{TmiKBbd%>C&=Wla{*fkN#Kl`)~a*cDK8DCqlSl z#`P5$O|lyw+cTpDU!~8;h-7zd-9DUd$}*kxl~?xu`=gKkFreKL%^SCA)i|R=yP~SE zOlJRf9hx`EZIaup9r2E;9$|juy{RGn3TopN-iSyx+?Gu!;!ce_weHes+Ba1@&Fq}_ zJTDyC$RBr3RbiId{PPQD{>ts<#3RuFv#rcZPe(`XrDs{A8Faol;pA z;&UvxRcG?t&}RQxCezKB)=oj?`b?*&a&;!(_8FK_Ik$3dhX0$_?M_*sBgHsnm9xF% zpEmN5##%a>7!z-tqRh(mPC;hnYIk!+<bW&@kHXx_3_kA^wNb?crTX_9ex zyPoN3#XYM2k=ocTo;jyk(<2V=nrhld%z`63b&pSO*tp=rP`%`&Nc(1)e8SMnYt^G? zVb>lZBP zG)d37uSrH>VMh8%eL6L38W&esST!fDapG0Z?5Yjz`5t$Apw$F2?vcpeG87u(eNhQwI*|3e$B7Kbsm)053nVto>WweL& zG%#cn!eyobY0BIo(sVeGmS)&D$G!P7ku3CNp|8a%k#H$25y>V@_GFQW0M|KXBDo$A zu4O+Uf35J_YNJSA0pKS;8K%K%K20Zpzt*!w+K{d`#M=h@!!RF)-C;XK+71HZZC41` zwI_W0RU(HMz!Z@V`0cQkhYx0n6yW#BG(bnk5?(jKb!Xf=kAoc|T?W8nk*>)=TwT%E zbv=EOFx^OV_cl-pD@2YWZAXm(boD?-k7+hYXj(GZF?z>Cmc*6E8 z5ji0NR*3X36*`w+}S$>&hw8@f&8RNPP9 zAu?>5$Y~8>fynS=*er57`bW$XIb$~60{1h^L`Du5IjacJUrO3a%VD+1*@QV8`?D)x zqX_RDl~JU7bP1h|w2m1EJ4D9L5jltJbBO<(og(MrXI!bsd947Q{%T(U~!QgmEe4(miJu&Y4tWphO?A1ZRiIFTvDH3hdT7l=&7{;GK*(@I3H&VsK+ zu30T|?M#vB_`j}D)i#(BshKeknE%FFydt`~oqr~^< zc9A86V6(_$<*-p?De)~Oo~2wrPPoVM|M)l{&Sh<&0(OWz(GReHV!g=n0+^Cszf3texm6f?0sRzm&i_k@tw}y*VNq(Y$b0+GLB|5xn4CXHXu75N+TZ>vPU!TfD^mqcI+4oBu!9xY zJXTuRRc~VU9S7T3iVcPJJik6mjN1lQi}6?|d27Xlrih742HfJi!*($V$b`jW>J>vd ztQS+CDZ2gw*eIp}b`5qjb@NWbhPXAtU!x6T5(mK!F-gRmv{_7Ydmye9{H1&?Cba-6 zV4Il6q^a>tKwnw}2$x<0o5W-ge+F(DyTmk^0=Q*n!E_*OQ_M~IE+KQKX;vntd5M@T zbY!g((*oH7e=P_T#y&h(Og8$mk&#STASQ=&0q8wC6YzgDeviga zuU0@lnfJ^wggs^)kk?~2i76sn(L6D|(}4JU6Q&RDeP)1~cZxZd@W&1XHA8V5C{Wgm^Ap#|Ux&L%nE9S%j!1aLH zVooZCxnc&E!Y(l<BqW4JN+9q-zLi9)g~s#4~igm{UpTsq@4P z<9gUEF{dTK3Ngcp=X3$|j3Aw7U_N7wn38hXF6PXBK-?pXV6B+5@Kc%w>%^SBP|T<{ zfS%FaVGQ7Bj0X`Y1oAaz3d{lgjcpI5!1dS-V$Mkh(s0f=m=1(Lw;_w<+kDG6OJQiQAQH#Z1L*>U1Ekt0<$ZX2CWw(}-sp zX_>Z5%+;jf>P=#v^ubn4mdS@Wabj;T!z)+Y2=)HcSm>VKc4(Ogi`eu-i z-w@Z0nNR`S#r$@rn3?FAxd7IP`CS^!6>}3|Z(0F6#oRm&FyFjec#9jLgP#qYi7SWpDB#N0Pd%>4tzJkSsb`@jY<3$a^BS{|$rvnT=Z{}Aa~Oga{0Uc3gr z7W425F^?=3^C;mToeadgWD4N^80mX#tr*rRX6be@kIxaaEDQR?*0HFUx56WPnm^H~T6e@r)Yta1?b}zMuelP}z z=OyBKX)&PhCG@>q0NA~Z-OGe|d8e3HNb@VjP!71gLi%6XCT1=A)(!{k*AoBQC9qD+ ztJuGa{#ViQ>Uu!OYYW7@J_yQTCgAou<+UyiNY6U-zJc8vq~Xm3AilRIi&wvs`utLm-5y1b4m^Tdo!fzt(j|lq_IzC2zLfTk!nNNu4lZCL0t$hj1fE{8!CCsPj z-I58oZ`mYfD{@!MMgL!?iTOGK3So(uzZJn`G2gU-6|h^(x7d9<1=fn$fxjK3?Ys6cPt5me zfdB7_@9*OPH`Z%rC;9jRzdvC9VUw62@%Q5lAg%xC2gJ3D^zSN#onro33^QT1n4glN z1n~0{VSgS6_}NW-mFTIQ0z3GYD`Bcu@lL;?Ks?p!V4FC?@rY!>264$k+4|i|1IH7T{U7WZXKz0e?yJIHnmO4r@9m1-+?D#A&=xoHXJ|PY@>~8HlS1elll>(-ik+bHr(md-EOQ zWTC4?8z_bfAZ&{@@U=K$(i83ngb!mMCLNr4IN8LNJp~9KSqt06$w>gxl!K1kp@5Fu z&EmAgzGWN0e=GF0S_Xv6YY(L`SDbvz`NWYw4>pO@IvKi))20>R|FFrh05*uz)`QM4 z4hY*8yLQCUt{=>Vb>g&d2wb38n%hk8=bw|1L^FIj^0xMJ$*8v z5Qc(Y?-u9SHZTSj0{QDp*uL2HC2ZePAZ%a!_9f1~8^t+ZU>e}JAAbAcw;z7{;kVxc z*e=cq#C<|JEC#Oo=b7pb_0oX zApTDFpa_WXWb96!2b;thlm&%Q0)!nj7dF5yaZbVRlsT|boWZ1J@Bo+%n*jGAnSjnA z=o_+HoS~S94u@5+Tbxs~0J~G?!g_I7zdFP4H;lBMMw(9>3gl;aA&}tyHr&QJm~U>OikSpr~R zhJD#|AWYdtaV|jL1?^!tV1EJj7iS*-!0C>Rxk*#pSS?l0eLLP zzI*^+Uyh#gP2ybG5DK9T=E8b$SbIB@xMwlE{OnXxMUhEf$id4+8#<^7NE0&_$vroF&WTTK{;HO1!I8g z%W=QF7^cG-ajxL{iZ+1WD`o?FuUH4@o`TyH;+#?ll;IR~PMHg&XA16DHUz?6Sp=lv z$_hZomFTz<9arLKDmtd3V=6kPqGKvLrjpjFi(xHn6X&`e;>_GF&g=xh?`-_e#_w$W z&c^TTWw1${+XPwx@!eJiGxso;I2SAs=f3u^N}T(PVS_ji;FmS8^8oQIoDTSVu$4HE zWs0*Dx1}q@d3={RPejC7ULnqtq~S^YJxQ8Yj05~Xg});<~G`k&Pct?630u)DN89J9)#-4zCrL@yy>Ef-WvYL1p27I6APe zK&s!`{<;QsQK|0gH|j5{J8Bo}PyOh%xar`X{yzO~$HU)K&dsFwfQ?y=XJ z?gPM`_~FtJqUrVmv!*v{SC_0S|60DWey^!@9qXoMZCkNvJ&3vb?L+W?u(CTy9HQZs z`k-mNB#^ObABdff#p430=GsL4Pr|J(4s~qN^!~zfswq<;Y%B-M`~KXuJSGHa9Zv== zA2sWk8FeehtZ9vwVN_~aXq(LkEvNpVZW=!7N5kn@rsbmMs7{p{z67E=^jhmh`>?ue zx;39YK>cVNR(maX)!!b}Z6Ndu&^bU+U1~QBG(Ac*9St$7ZcR@#jv~whAgV{NwJh4e zU>FYL0(lNn`-!HZG?3B!{=brSwZ%iR(|o8uEiaW?&Ib#pWfm9XPp>t+(j|~;r*sFc zLpApfq?)y@XnmA`hEuz!j#k07)`8Y>$3UuCSr$lj*Dz|Q<*sc*<%v)RGeO&QTTp+O zgT|w1TC}ZcI`lf)-cH6`0@|*M;Uwq)TKDSbY*4oX(6}@njU$?N)u-VV4X5^M*0|M8 z^(=xBu+sk$gnkWTxXFM-$bs-GHQMm@QQV1G03UT{ptvfBxXr88F*7T`=rLHlx>knrm5eGRdaD0{)O2W?G_F%20^Okq=7Pp4pnBA=#;g8S zXEcv$R)3Q~<52%!_QSy`tCUKs)fI`d7W}pa`@M27vk-2vL73qxxh0Yn`b7{t)Yb2iNlFZm-^<2Z1G%8_YaOZ7HgZ!8TBe%U<)C>|v!+R<)`Qwb?SI0&1<0FG-T!L13c`K>n%||M z<)v~JJPn!_wX1^7cHH#i`&YxM?pbg6IC z4252xe${SDU>=23zv@Tr`hbR4)UWD`i$O4}o~T`Zj5%s|sIrW<|25$&0;XGORATev(4^V&Vrvj$Ibl{NLhSRoyS@mmLqJ9?#=~4L;_P4-|fn0~Y6UNs< z*O)ae8lUD%Sp%h@>Cw0p&7b6o7RtfqyQQZSSbzZBVSbtIf|E`o1^&7bwzkc^rzh@dvN8RRq zlC-IQq$P?3qcr^8 z$@hRoB5D>7Txey@-1Bz*bm*^w>WgsgHP}Izc_c1g=JCshqtH8oTwg9z#JR$m>P&ZTac*<& zaPD^II}4l#oTr>s&U4Q5&N}DM&d1JXXPev5ZR|$ewr+d(NVl_lwA;r$&OOUL+r8Mm z+@0#)=+1O!x%apax(~UJx=Y;W-B;Z=-S^xN-H+T)+)uqE?+CA#ca}HWyV$$c`=fWS z_mKCv_oVl<_k#Cl?|pBp_oer(_xI4Y7V+Wua7wsII49gL+%tSacu073cw+dv@E^i= zh5woTeD+(}pJacVT@{IsBuB!L+(>?;Akrz)CDJ2uOr$t+Lgb#vg2)4r2P2Ckk3^P6 zo`|f7tc*O96UwQd(>SL|P9!Hc=ZKuaIU{mL=KLn-wwyb17UsN@E4glNQf_K)dTz7a z?A*h0+vRr4?U#FY?%0-2%jA|hd3WdCleai;W!{>+m-E);y_NTV-skx#`RVzE`9=AC z@=Nna=bw{*e(T1q2e%&6`il;k9r8BM-~9N`PE~bvHMJO#0_h>WO?E3?z=ax(oI8srRiPIpE+qo|?re9f-Hxzd^D+~CZ1<~Vbmd#IuN zsiCKxXQ`o=o%PN}zlOw3ax>kQ)KCX%=%|_+n(WumbZY1(_xJ9-?jm&L zD?B(nJX{u@8or4dnwR}d_8ZwBW&bU^(yyV^NQ4?XBGQo>Ix12~4INJn-5a@|8hVHt zdMvVx8hWaxhBEvb>X0)iXGqQ&)X=P)+o_@T)R03BrBFjnbHggVBUYRmsu^>+2d zz{ta!vHz;)R51coUsFB3`da>*j`{lP>-?*$tFKj`)fLs{)f1h3C(mi+w1jke>o_x3 z-JFJs)4-|cgdD?7w=c}+)jg|wRCi#O`4--&TF2iVRXA3gQa_>V69@P~JwefR0S z8}qJg&^kU{jG0IItpa9Y^QPHgel%68$-Um4;ogY6(Ou}b=|^bQ&-yN_^{@Tsu85jc zy35?ss92_D%j@-$Y&2{^!2nuAyJ8cRz49yIb6^-EZ6- z?oM}?=Xjo1-=qE+;*nm4m+3Y0+IT&@LEd0*oHxOng3HWMuTbAm|IonDVD-s66j@J& zs2Tt29BU4h`B#Chb+dm%BYcOEhouf=Jt_t7US$xxk{$VHL_dg$~~;V?q$t& zpLdNsC2z|+JgfE>zA0L1?l7+LOvuFX)6M#(8DAJZ%(OM_%;9{W_Czzl3^eP^d3^prk)g;Ml!@iWT?rJVWy>=YI5Z?(@M@T zZDf?`AfwF@GR7P!V@-jSvQj8Fg>s=eS|*uZa*;VkD$KERr8z;aHYdro=4APe87kMC zQ)Ie1)$l;2+-Qc$Z_R0Dgxtg<31?)jTf8 z@axIzSPMO9E|Cw-L-LV%SUxt7$S3Ae*=&}`$tFuCn<80cE|rOVfA~&wuJkeuWT0uz zoH#?)n%m_~^C$C;`Oy5$>@eS%@6F%&HR&eSFW>N$*PY%@?;qX|-aozXydS+Uyq~?Q zkO{fGMl(KCFVrZM6iNxDhnj?%hO$D9L*Y;)lp8uc)FE_4sDQVYcMf$8b#oqb9%s$- zuyZN1>SfLp);{++movZ4bM9qk)zwe6+us%UMAx_jT*p1hb=`rk=br3_+(B-fdx{(H z4t5jVA#Oc)s9WDX)otJoV|8?z+sGa6Cc39H3n#lH+%w!1x5Q0#&t%;+(oJKnl;Ct%W#t?r<;5kVOq-s(?c#cz2$OqoLpv#EJfHcNxl7iw>ip6?C1079@>lb;{LMTg-A@%dSIuKOopJ%h_tCh< zUYYx6_g(inceVSryTN_OJJ&niJJUPWJ>T8pEsX2vRd`o=Q@saS9X;eN_MTvcbf-7p zTi{*oP518dX0y8eop(L!s*UdZ?g!pn?@z3>mb$CFXT9g#$K7SDrk;17aF=^8v+{k> zebQawt?^!RpK@1vuXwL|A9+uCKebsq-a4M^5uigz8dm&KcbJjUYA zK^9ru&yl@h1UPVp#eET}GaR_DBG0tAYmg%?-c00K7WWxssm0T>IvaG>%YrK`?n}ri z7I!W3N{h>igqg-iKSVF{EFoPx-eYn9fShmfbiTdU;tfGAuz05+@3VNig1Xk-j1 z1@}$lLW}o3@P>?N{iP9`LxB={H=m#@uThGIScc-$ZF8K z>Iz!!3T;AO4mb&^?Mc!0to5Pgr1h+ARM9$I2U=!YKbk(}8qoEfvK#&!FctVcXM@2f0qIz@Z)=`?>LERg6d^+ajgWB` zpxyh~VjSdK;JTXbw=9b!2Fsbv9j zHS(~4laOsKaxJo5z{yC>1ITZXhX-igY1x5XkJR!~P5~_okm*P*FGcIFV*pO9DJ<)e zoh@=BvP*!rfvy($EwWpH)^+!Q5y+z~auc#gfY!UVU65HwEoq+Zs z6p4=%^7ybM=Z{P|!CW@Rm0Y0-IuwYf#hU)zmxCrk@y zfz);Yy7pq<;iL10Uw_mgdqsY*YGKzXW}ZcsBDJiQtKm_Lz6^m~qvdhr3l^t2QtK6T zZODGt(h&KUMXp1x4;X~hdIeoKnYRP9%-*r+ylyrGJcQKx2A$i@UjiORzGu;S-e?^w zkAT)I=$vn~E)~s(>IK=1+!UaB+G3HDk(y5>3qH4q*7FwuMaZu#y4Ev)4bU>&X_1M@ z9|C$JcUia##Si@g&PD!Y(e<_YIiLY@w?zgbD+8J%wf;cYai%(8221Wti>|+%rWSVZ z{J74dYcH)Qzpnm->}JvWagMcc$4s06tq126if^3+NP)rXC#zj{uD|7 zb~I0)A;(z^{lXbrKaS@4F7$tcyxXF6<=g}FLCb7GKpOIXcmUGjDT_y2a-N1& z^qtMfXW==_v>oSpi?Ocu4A=M2+DaiVk5as65j+GE~`=xC%~ zBSXEAeJr74k;hp=D$lZn`XbM^gpNl}hKs3#N0FCXoMp(V7H2VXy2W`6d7Z_19C^J( z`-6Lf#bJDNXTXiK~w-fYo6{`<_QxEA9{^Wv6IA z^t8Od9g2L!qW#i))Z(6sTw>Aw=~2ImI}EwhqJ7n)T`KNr$mJHd5%NikI~=*v;wB=W zwz#JwSHts!O+vn4aYrDv&cHnbx!$6Eo^v%Hw*Ffx;RG$Yn^?3%XAV zx3TCsT$sEm=6GaVi=N4a+gVIMWJin4M0T?1{v+JkBELg+vFKhT+|?q#M|QL5J|o=S zBDWxqvgn>8ta$^u71`5bN|B5QirkJo#-e+UaFIp+fYkhh?mxnPEIdCX;bSej4+(3Y zLGD6oxq$91!hJ1rH&XKty3gR<1U@nkd4fgv9O1zhJ%bAmv6yK{Eep_dx3K0PxKAMA z5f)jEq@O6}CM11Bk>`>02SwNQ;gJ@30jcEz++(osg)GJYtC-KW7|lCvTG4a5u$BvO zFG9ka2hg**u%;V~=3Uzp=s8_@qQz+5r&{DonH*dVUtZ z*24V`2~W4k-;mc?%ri*MGw7LFSn~|xSK;{<>4Uu2Vv>*xEOIRJK8v1d zh3~fr?J4|#MbEc*kA;sMhkVeYXIJvR!kvdB23)-mWAQutYmoQHhQqUTBB)fO3#eBPpGOJQvXAm<}rwCFig zc#TE0Ex%+j-H|U_MBDW%7CnCoueHbxNNq!)XDwlEHy|^R+77@BL9VmtxqkQ!i|*&c zZ(8(>Km3-(T!vh4(ewWBpDnu255H~Ev;Xir7Tx!UH&{gL@Lh}U|HFT==skh(dlo$p z2ye9L{ekfN7CjpXe_#=<+Yc?=%M;$2;-mKv!XH_T_Qj7adOsojiN#DuZno&Xh47~q zqkVLXMei|$w_42g$ZZx;zn@vSUnt?vEu!JRuy7Ai!rLu+79al7!hJ;ve`V3L`S4#Y z+-sEZ*A`KIf3tA^QNrI?M0I~_;hv;~cUbiNKKz}9`;-#?-lAvs;lEqBcPZhW7E!w& zEJoYcj}}q)e^`vRwOtlbzyGut+Fds7T5(8QHhL9@^k>ty6^FEC)3z1eJ7xzs=**^F zDZ1Cprd=tH>Z4sLy64QM?iAgNW>a^H?nkq!JH=7mlutJKbLc18l!>By+3ZS-L;uXK zvN)7UB;FD#M8zm7}8i%EkdSS+=r1F7I!_eiNz&7kxXcc|GCI!7Iz-9 zxy7B2%z_s9xeFP#=)NTqfgJ4VbCFz&?oT557WX#f5tcYjSAoSVLw1BttjTUicCqOC zJ8~5CKZSN7s*)(O08Ch!aeuq5U z;$4p%1JtKS*|a1tiuW-x*`j;Vmh_#L#I1Ylmefzn9Q@1;9xJ$;eaJ=6USbAl2G1NS-hW+Z&^G| z*G7xWn3?y!#aoN~+@j|h`IK8e_3fcMpZZmFPnq8XdSZSDS!nS#A&V^D2gp7a??Ys% z#d{k$+M;{eeCkTk{cZj^7Twq8j|cjb_Xdx3G`4u;qxE2mNBOlLW6}L?Ytr2M3(AVP zI%Ha0(%B&w^022&HqV3k^tHA~^0t|}iaT6*SO^@PQiv%&tj!0br8oEDf}Nt2O**^BWLl14Hqu#b~^a#diiCkd>etj>m# z$sIkOp7-hz&yC#qvSuT#Ovk|NNFsNwti3C3*qvFk7vm=+&CJZeK2B1(Gj9FVlVoOg zYi=k7X6>;P%P*UB-nru@M>-Z9S_uZIU4rG1i5E{AJvK7vyo#}9kpX8GfcH5I!{hrIpc(O#KqZG)I(7wjp5mRp&gWpjy7V{87T!i1T ztZ6Ue`ULj0s{_~FV}5l3WjO$-`hFkvr(NpcB))#ngGUd;7qt|QzJ zI8Q1tX~+TSn?&ly`k~InSD9~fB%uoY|9X%@Ekt&1L@|Eiy$ z9P9WO*9A-cs!JZvT(y=qJYCgR+ELbrld2>9lJ6*;q_cF9Jx{dultMY093ID>?0EKB zC$M)qk({2yJ(`m#t5YbMAu?1>C9kJ(mUBAiGiPw`?M&AGuX3OC5uQACjLWm9(Pvx} zOg)}+ZD1OjM*RLJ$t0T;_I|TWW0Pjm*`T< z&ksgSj>$DGO)HaU@=a^gCU{=9Jx|Pb;Hl6fOo2JlbTpkzXVb-W<+Cc?%~7TY`}=h~ zW!jTxI}3Tj@MzP^9Ak=1Z_~#dYl_WrJZ*Tq>1R&Rr*3)DZ-6<8CvQ(SgUl&rFi#Z@ zF++I@c9^`wdBC69r<}`ku*1#iW`sGzl$bNkNOP7cHD{YqX0#b&#+q}?xjYAZ9?wdS z=eff3O_{mCOxW`jFV7K9X4tyeTw*RY73MN?xw*njF;}vS`HO7e3D~Q6f^nL;+FWC< zHPg-iY3oYh94V@Py1J_8$jriW%6-c{_L#fgQHy{_}M(c~#P1cvJ zo2@TfUx77orFDz-HS6o}Su`^*Tel$+_;%|Xh&=w5b%$kTPQngt!9UTq?zFyb-DQ0T z5xL*9zHi-)_{|?8I{6;!$JS5q&GUKdUPRRX+`7-Y-};61OY2wG1BkDE5MR@}*yU@j z-)7cX4_Oaek01}_QRrvCupUD`%H!4()*q3T@}%_?VsR0DiwIwi$VH~gKdomGv-~gX zIqP}r1$;-`h_m5ch#fiEdeM5xdKtM!8RRzzVGD^&2S*HvVdOlFBJ*KPjEg16#@{US zMX|Y9Dz*??imk-fVjHoocva>xv0dgxu{|=CcFdeDb`m>_UBs?pH?h0Uq`)cv9{e4G zy)vgFyJBy#kJwl2C-xTyhy%rhc#Uv{CwvizP(&h!Jeo-{C0;8I5(kUdWu6kRM^@z_ z;tgV26htxexR?Pgcz8aZ8*NW@JXT)d4=fw4hYra8zLEMNa=bI4c zd^4h9zk+z!TTJxpt%!!b9r3W=L`3WzCMNdV;x6P5eOG)>d|%uxet>MRABlU!kC9RI zQ*p2OnfST5Pu!0@wqJ^0i3h~5#e?EE$Od}|*+!3u--$=X@5N){58`q0g!rTQlXy}* zC7u?47SD*kh`)-ziNA|~h<}P_#lOUJ;(76c__ugbyd+*md^Ns$AhOyT$$S>j>(lh@IXNanoBPW_nx1OK)dyZ|`95Xzyh2Z0~|hwB798?LF*0 z?Y-<*+k4yl*!vW zY2-&0?HRjdm+fWtq4sh_eIJg9?;{cIy#kTmZ$y;$F^KS9iRkX*5ZQgaiRpeD;pK70GpKia;J_C6y??)!f*~nu#2RT~jAxrB5sVtQWvnBN z?OW~J?AsCftfQOnK$gax$W^(^{tj|9zK5)gyX_yCDCm2TXYmt6LEmft3=z=x+4rZ> z%*f_@5czz+MMmGl_9Mt{c@!4eNM=juXj^Bt$!rUKYrD+$nH@4a+K(aA<8k{5`;YdY z>?e^0^EC2coUEK5A;>|j=qd|pu6nft_s%%T-Pu>}C-;{J z$OGjB@*7?0NnZvsl#$HIyquI%$nH5v9xPvn+{Z(ZTQ@BWvM6U{NtWd@d8k}250i(> zBjl0tD7gZ8KyO42%`x&=xf0nh$H})K^85t(R{1u>pT7gSlPAg;*?ARMldI(#S*MH`xhPLU{$5*lkY~A8u0yo?2DwqbOP*|^)=!b|m8Z(nf-hG_RsK->NfJW>D1Jd1q6Pa+QfDn!CxEw7Q+%IkVD@}EZ@;TJMXGS6iGlDS3R znAsI}^Ddd)5G8jJzNAcNE`VNlZRXSRCS-)(jBhTdo2dG)!piz+=3|J5|2i^vZk4ym z+jR^*V(2c@G4wimUPsO&j{dudmjAxITmC@)Q2t2XgP8fBAgAGF7%guF9*Bt+Kt^0U0YhA!B71wX51q z?XLDvd#b(EtJU6WAGNRAPwlS`=w-5a$YlwT%@XN+7B#7+)N9p2>R|OcnL1Q0M?Tr%>IiitvdUHnR9kgaSFKg+)Oxi+ZB*}4C#!d> z_o!3Ud)2AxGO6J6xah(OVmfz zrRp+ux%!y;xVl1pLS3mosXnEyQlC~=t83J?>N@oq^;z{fb-nt$x)qJuc)u8Th!Oo*VV1+Hg&uDhWe)ZmbydzpSn|hTivC;qrR)Yr@pW5RzFZbR6kPp zs2{7JsGq8P)z8$=)qU!I^$Yb&^(*y&`n7sc{YL#(J)|C1kEq|NN7e7uW9kp;arK1y zqxzG2Qaz=fR)1E{sK2Pcs=ukftAD6}s%O=|)N|^2^@94hdQrWkURM8cGLGd4$9ANn z90&iizF}v?8FjMGm^1DyaW-={ca}O^I9obfIa@p1INLg}a<+4}cXn`gbarxfc6M=g zb#`-hclL1hboO#y?dlJ5)rkiukMzTi3UTNCp z(&sYdGRNg4m(yGpxhzpx;Q0lfU*P$L+|YDs0B_0kyM7qZJU5puR%)$EcVSgMSwC8= zHal^pk~BKbOeF^WJc_ZojLmb=-D<`i-R*jl(@u#-mze7kab4;yH&hzrw!qvJn41Ex zU*PqN%uSKGDKa-jmWF3a*DHtFWdqbN>!UMt`M$GkfD7MsmUU|NDnEj$AbV(kGBN5i z0-q83OsGFC51ox$&T^W+oY*Api{+u^gUl6qPI1~^MSf~UCSit2m|?DF7|9GHnVD28=9?|vQ!~8E46ic7 ztCV;Z+NoYC^0O=2^|(Dx0(uh{J*F_i$i?*{#uM?%5w9GToMX(a>@ocZF>;Jqf#vA> z9t$_e=yS}(RLMEEhs*V-8N(Szj&bBl@>sn=R?-Gp$?w5RBR;iKzy0GY2PMlQ4Te_s z_m1n$nCF8s&;3(e@>VFZNJ}}jvM%2;i26K4l_H`30U|;Q598P@E7&<`^lNeo)QaxcO|QFPqUyk7=jc+bLejWo#~E^E@Y^?u6M) z=-o<)r_rRh4wJ{^7nuA4FIeCOi%foz$uBbbMP}dQJyedea|7hgZGr~Q(ZHD-Alvtx zIkShe^ZiLgkk1SIjA)9Vzt4pF1v#(Zff~I7HDXiG#fEl=YJ<EUA-wf z9Dj^1VE%$=Y|UINNgDOIQLR;+x_LxSy+=Hz@W$^=Wh_BK*1)rz^%(U^5z8v# z6(e3TDm!g6E8Ffrp^>(k$uh-p$dhx7HW#RRvoY6pIz0?HI}L*v%ouWvA;&aNGn1l2wm6*5^ z6IW)=@?~coouTVUD(eQMvaWZAZlE)CL%)+A_GG#o6H(@ej9s_UtT(!GllK#6C?lTY z?J*VENn=j0=K4Wi)K*Kp0iB`R>i(nkBXd%@eneZ(k67{%oxgr$u%n+ul5)<|9Zzby`8;ciE8?4pNO4!zFF%vM7>&mBHnxe z^WdODZ_rGyR!(aLteGV$2Idrc3m35P2rC$18Eg|(WsDdfxIw|o9P={Pzf9B7exUo! zsh1-5fq0lMRjdn^M)8W*lXe@`;aV!yS}N7rCQ_x#6qMHnq{>%oigU(Ajjvb8tv0}3 z5h59;80Cau}`Z@OW`Ch8eXmTaCq$U2#-byrl-Krl!qsadgdo(|l7MQ=40e?PKHa z&`Mg$K6<`p7xC}tc8$&e>85Nbzw4QixE} zQ5ldTS*eq~nI%4|B9+4wE9PFQ9&uFQ^*GHWAcw&==5Z={|yY6v8V z7f0guV$#yJtbXr+vtKXI==u^fmJS*XnhAZ-^wR0m>+OT4myY&cZx1xG3q874LyxYX z(4%W4^ys<^J-Ti}kFJ}L-8UgyC?VP2Zb(`rO1l0+QWOEx^%r{dOhb>Z+0diwFZ3C| z&-i`D?=yb#=C~mlE-2|b49TDYOxJHnh74fF@6+`g`i$Ra{66FN8NbW;UB>S+ewXpP z%)iV0yNutZ>pyfEzf0GD$ZAvQGJcowlS%1@A*<^ltH&X$#UZPi zA(*hlI9;^)n0 ze>lVPWk*d|;&sTT!@gpC<-mz68(KXz(A079O|)CH!?o_3R@|6~Jo@-dcrqWs0G?mfLJiHX9I0~8R@S!$r(3y(HrpIVxdJN&xHA1Ba z8BBT*A*v9f%J@lL+>`pNMXQ}u%@c9Sb*2OAMpxD5x~-%Nhpdqd+^(a|#iTLYt=E%| zX^QCl@FRNOuolgGg3>%Ul;*uaX`UNOv+q!v=LD;yp_0}jK&BpCqtp~*r8LUtDt>(Cyvw*X^6Sp?VdaXq_i#wfj77=y~lTTkX?(~$b!gERhU68&@iWf>c zTU_!B_CU)Lja~@ z(<2=MusZ@?%-)+HGdB>`+gbgFbA8NgQwA8Xxx+D^&UlYpULbKQo1E0Gt&L%CRFZLA zKlSEZtrFK^s*TkeI568d`VnS5+H7^^wZAv6tHoArAsNOIZz?1+d?wJ(Fens_{W_}W zVoTIJi@oY>hlWgrW(Wb(QwGonvA+4@dNx^K!$IBX)MC11;BF-zNRP+S9*iXI4xBNF zBOi%dt>!v?e!{_pT6b~Ol;#Mf&T4a=`SuB3S;(X~0j3Mlo0@`G43oi;UWrx!&|Mr) z+s%5tQF=*Qe74z{r&@Qh+MoftHrq}N(NVGNXvb1L!4a%)(%I&E>L4x6&+`+B@R7aK zs>O5NMd~N*47W289YISo{Z(Qn;!PG6jkbq*?@6HZYYcbxWs%kIB)nuf-P=mDMN`if|wg(tgdGa&^ zMI;xS%|+E}LQqcED@UI1;H<-TllsSQcN=QH*(GVYKD}8eNoDmZLIE(T$UdnmuFocq z&nA!0DymNgJ^IN6@acOOU@`&xBCku|&>^(qusOFX3$x=?X)era&24xs{G>6OhmA?D z`>B%l8?OYKHNS4)`q~MgOEcLR>Us`Ucn%K@d1$DIa$Cf0(Lh^{+j0|7nEQ1&5(t%P z?=O+(A^CwNCb?}=w>j`nf~HX_`lCFTMnU)KuQtsyrw7^!+*TN9D{@=Ww6SxNnJROi zag0!#=TV#I_1EzHVdEL;3DXOPjrXJ9KuQDlK&F3Z&)kgLyf^^IJKGj?JG?8FGzc@ePFB4DRQ zz{YjJ#&y8Pbil@Pz{YaG#&W>Ma=^xN5c*qaov^(K$6Z4|&%Pkp9uC-!407J)sShpP z#9O_xLC@}uO80cHA$>P`)6xb#Z7Gg}`i4$z4Sk^iDZP2={>KmsZlG_97_#+$wQNFx z*+3Z9Lzp(`QCsvq^eI2v{CCqUMy3=Gj7*yh=KccoUTpQshF7eYvNo_@+N4L0n@0kc(1UO>R+sz7PHMJUNI zjmQfKn5|~MO(VWdalsK?WPq7}I?wh67nE9uV{(zZ( z`sfdsl;9}G@~4mfXlMTEBR^o~pFZ*fX8!5pK4KY|fAWR{=I2jdalrii>Ek|Ne*W~4 zA28#mZ#;k*f1dfLkNs$8{`0`UI16{73FSo$1>>iW{(yrasNnsfsz^NrL}vhf@Q20AxY+=S*Z_&x0Ex(h zi*fw!lP4E2^G*R6fSGp+u<%`a2l45tEIY~ij!G7qt7}>Pm5r77FzFAp@W^%Kt>-X!U<08DRqe9mWKhNU}Y>9}5ne0TanmGj|qWuGgTp zcEdz6TxqUa1s84NXqy0w7^?v7WEY?T2YQJQew5~cqBI-2$sTOij$2d7vWJYv01O5ynvKjD4;w-g2es@&6;&*qoJAU_6E`ELd YEkYZa1k3P;84-zY@?7;g{r?Q~{}i@Mj{pDw literal 0 HcmV?d00001 diff --git a/kandinsky/fonts/SmallFont.otf b/kandinsky/fonts/SmallFont.otf deleted file mode 100644 index 43e3c0e566c1321d45e781f287210f766ea9ae04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206120 zcmeFacU)B0)<3+~o?#ez?=TD6{O_VYU3Jg*Od)LGkjaXvA-b>UJ zHJWNPF|l_d7L2A`O;uDBerxYNBiuaq-p})UKF{ZU-#=c>_pG&cS!?aJ%h~%J&!qQ& z0lmQvrho#XQ_|A3D7d!p8(vetMp zszli!Gkk?QivYo~3MaYDxb) zwfJr+Yte1-i~BIHna*~^&u=F4dfX>V{pOVGw#XK{7Ma)C+$^7`bDO-Jh4M5igBnR; zggO5)(Mg1UgdT)6bD7b^A0R{$_7PeTG6-A`Zv)S>*gr%3FamGi_k>D9jI|oBnZfJN zAz0$^ujt=nZ_(YHdXf$<|Eu~sb9(dgoagPIKzNn#_dJX2`XBNvWjLkS{97IWE}#3F zPq6sR%WDAimfvHy@YNnw7EC{X6yk&t)2qQ9ie2i5ai|cfVUvnk|9n(U=yLm$%3kpZ*>F zyFQEjcVGXV%*Xl=0k5N=W$cuXyRy+J(Bb0hGWa-B*7Pb(yFU3?7iyih_HGqw}u;IZauTpzc`kxJlp z?FsD&+?SpNZlfci2f?C;%YzBo1a6D#K-?Z%$~&z)qP(2=Ny+D5TLZ=w_*u^#e!2=CkG;Qhhn5d-j859d1)xDBp{r}KW#B@`1z5O`gl#>WAt{GQA6=Mi`rJ~nvW z3WATB=RTAYEcSU_UZyvJ>*IF#9OC0JieRzB%kzAm#`R?rwi9^z5CYdhXsjd3P9bo8DTILpAn-BG%k%oYA2`p`xh`IogV$3Nc)BH@r*q!YCa#mu zL0)Dkf#!kmo5#|T(1pNb(3TKK&=YulK7Y6myj|@HJk6HC^_H74hiFRzZ*x9@m$87y zklSoc;Bhn&cz^JI;D{iMAgm+s81u2geX-Qn63=aOpLv?jOev0yJa$|MFT;J{{%~6~ zXGK~xQLc}VgN}p|gjIwu2)zBgZM-~h5058r(-Z>N#bd(b#pB4^#Phg)-Ui->7Ru{$ zp6lc7DkNBZx9H|F=PlH=SsAX2w}IQS_|MB({O0|}>sl!Hg^vY`4Nkf5|BCW7i{0ks z?J1r2G4K24>HmuV+jtfFxX!=hU)AMl&Fx$Kt~A@VP~JZlI~HoGXQ5mdkMrN{T4YP! zzw^VAKE$k}xo;L5|69~z>wkmtzWq;r@v-xt^8Y*S{Ga-1iTS^yPwAe)*I1%r{asFU zw;4N$ZfwSLc`M;(^L>Wsi+1rgTH49mdWg`DaF<}w$IDM6@OjFy#td%5;vZkXt`IJf z4M(E$3H&@;Mkpmve&Z;j;RHTMIr0d6&h;Y~9ES-!ZteuGkJ};I_$Sdf z2$_TtW|~cu`(i2UPrSv4A;eo^XBiJX4qT5Nf$Pm66cTtoj|1jc|5vG4+i4B3#Dn_@ zjZ)^6qq*{l5(!&;JQ{Ut88I zOP~CA^r)KI%O;+$=jjCApS*vc(AZWJ<9;b6DcX*W%{(2asGq zuuvX*9OM1Y)8C!qHGu}4U<5dGH2y^I5uE9-J;4bg8+SF< zf{I$$PL%A=-&4>Zq!$kR8dZD;^z6^Z?y5oJZH35^7puphU?Xu6SkVc04tteSyGe?} zK!>e(DJvUURtxMh18?*D3xK3f$*Is0w2h7I0onLcu@9b-$+f&R{>2^;(Q+OfsRiVT z_>)Rk$s_rmYUUYOLtitmfIt{*=9SILSW(-`%;_p{hyC;}1(n>lH{rOMNASkJW}bl~ z=9qZ}w8t_tuWVMv3dZ64=5!U^D_W zDmps4Est2+=DDrS*{>Q4i*ii)T3M`5e{FQMWV21hnWp?wo)MLh&^9l9jL}p)GAcJG zLlOa3 zAwiTJMLD^owUGRZBG35Ww&YPKNT#9D_TScR{kPh$3X4Ug-9#R1|4CaP(xMfbo7>2y zlEtEJ`Q)jkMilv#Kz8%Ur!l0Hml;W(<&x$MieD5M2yvi?c=~JjZ~I4MR7p?}LM5;A z=c7)@3b3WujsBpdxd>QFiPplUN$?(ggj4WMT!>3>9qz@?@q4Vrd-w}J#75@F;#mqC z#zwGgR?5b+No)pN%$BkhY%N>QHnJ`3Ap4ko!aif)va_s)-DGzZ_6j$JR?$+?N)e;b zD_&6~D^eB173qo+MTKIL;!VXo#X7}jic^ZqifYAm#SO(RWqajtWu~%3xkUM{a)WY* za=-FJvy?G+vq@%}biLny#AunoNyJGgGrnvqtkI z@Uy_vfj0tw4Q$X_Yn`>BJ5>>C^y+#>j;;P~J!!Rf)q z5EkMb5)`&BY-iY^urI^D3i~$fblBCfyWuY39^vi6JBBBRj|k5U9~nL-!Y!g-L{`MT zDDSASo9l1xuV)R7jn5k!sXw$31XZ;D9uje1j8(XY;{F}p#=H14{)La3w}^Wm_6Eyf zquDq%kxgN<**k1GTgBE<+&5F)53{2b_pjI)c16S;6iy0nMF_<`isGL5BJRZ^?lUOv z3ltj^Uo?w5C_5@Ml!eMg%1ULGa=UW3@&n}|<)_Ni$_vWd%Dc)3%0EQhRT_JZr$(y@ z)#xWdJ%U|5%;K|J{0#w6!$X}cSdn{p}6}5YhJ{CL~xdfyMGvjZ4cWQ_A$l% zYl{07in}w#z0Hfb8^cGN<9?Uo9(=Rv=H7a=#J#b$@pFL2qmA!3zSp>?aYJKe*8=f~jYp8E{ z+VH61&xZRA|7iHB;Z(!74JR7DYB<*LWy9wUM;i_`eAKYEVNJulhB*y08>Tc&ZkW_C zv0*|(al_b#f(BDVenX#z-VHq)Iy8hegfs*;_%wJmcr>^*I5j95@cEPHb*=j0w;tTOf9sc9Ki>M`*7vunZ=JdI>8)+Iw%oG2*>LmE8y+_t zZm4fq-%#C9-e5IPYaY}btNFZUP0hPCD{Cg!jIXJvDZ75=`r_+TufwG?myU<_4DD$1 zr&XP*Eg+WCcn2)x*Z=tIqf8c*UA!yCu_lF?D zBm&Q`BG8_cZbd*Vlmz$seF@SEw8sSah)_Z}M7=wO=s2Qpn$dyiLNhuNrT1vKgpfq2 zBCI2%5cUxE5>g2?GX**m{f_WGp$p+Qp_VY1aF=k8FoZz+Yy5>UjPMuXA>j=IzrWEM zizDd7>`m|^KAUK~1m+SY+Z>ojl>RXe<2v$*Qhi4Ca6D0JKcjj`abcqgG>&m5QEDfn zeBLHDkwE!aNpuQf2Jy>@&L;3SuO|8qVJY$3i1IvoXNUB@kF6rCC4LuCiU(UyJjI=D zl)(K&Hxsr{I`soPD1j7vc9`%nrPC~CM+wxQ$n!swK%V~<;af_la_kJ@Eb(6uy+WuV z{ut4l5=iCP9SI(L1rTV&;3=X`1UKTViFy;X#8W**2%#nMKM`#ufxi=tBE(SoA4K&M z_=qT-V-&AYdL7YZ34BJB`kn)y6CEyr4Mfu=cwZ`t2{hIi_p3sJk)WX1b1-sPL9tiR z_+v_<^CXxZ(FFt^UuutH1A)hg+MxJ?K<#54h+dXp-HGyc5?BwS*Ckj_qBkU1FQT_3 z7@gP194OmUc^XH`js$80qp`2dAY>9xV_aEC;QmwpDi;xGF0l8B(zsE+OFZ?RvWh_d z@xD}UC-5;sJ}P$;_*kI+Qc~Y5d7qyoO7l*6n0V?h<)?(ti9b!0gZi4CBYJ^wmH3N9 zZxd>Xr?x5Y5~$x8wNLqg@GJ4uCMETm@=xNaoE41+4)y~;fVBjpdKwjhWOk1z#Z==$ zJn7PS61<2fT^cPRi1^=$h7w*Pp7d&Tgto-j6Q!7Gx>6jii1s7&C!Ta^1`{%gcO#lh zFcBX}l=@jSllTy#3kb`IC%u|A5()!RilOESrN;pT9wB^2JjFYZViZVmQ7k1&Z4SIa zJk7SOH& z!bal1Ai9~bg?Jhp+HDew<3wrfXm?Wj38FN9I27LyeUCssDro#@X-(0RUkZwimis~W z6%->a#f?L8j&2LoHyn!dL~SJ$G^T>6Z#WbeiBi7@QNJrL5v7=LD6SBt*l;Ll`~^ix zD6SEu_;AoY34;0%-k>toMCVE|~wKf1 z{^D~xjQS^x`hw5zFj~9$zg1OIUx$4qq5PKU*94+U>btPh5`4~wQQX5Q-b(7bu)7j` z4G1S6!YLNYi$uvDhw?JfHUt`fN~#y$Q9?<55uPle{GKSakwbZ%Xr_d+hA6c)d?cmQ zTnZme7(@ImfCw5F9DJ>b=qI7PLzLpfq5Od;`4(}Hc%o6>63QQm1{1<4{U?B%RfP4# z(;U6Im$0As-vH{7z+?LtJp*f$P||p4r2ghmB>-Ls764T|Z3|olKv^elYe1#mr$hF? z_=9{5Afm^=eAYo3Z67;hz@+~Eeo}`_SYYA z@{gP1vLb-~nejGPtAPv<)btR|69VXX{t`Vsh==y{{GmJag<Pcc~Wh9X;0s3@ZY|4ce~E>SF3tX8a7Y*Fl1ys!9}4x!&D&ML0Z;s37UzTz)M zy^<+yl+H>orA8U1Y^BsG6OJVMD%UBuD)-Pq^@#FI z_-FfmY#Gt*!J{ZLN~6x?1(I8f5i`mC-8Ks>rIs zYO2*7tA$pTR;#TxTJ5mfXLZo(Q>)`vr>rhoeQ#B3^|RIQR*$V3RVtN(%3bBB3RbmH zMXTaf?NzC&9;*JTA*ys$w#uX`RZUdQP`#yEtXiR}Qf*P~R=uzKSoMYK8`W9W71a&Z zUDbWnU#fa*W^H5bZ0$wQF2bx^S?jIaS*KWcx9(^Cn)L|lQP%m^#n$7kr&-UnUSz$@ zdX4oa>z&s7tq)m$W_`l?wDl$H>(+Oyf3bdK{ame7+o@gEK5DHxLLH?xsN1Pi)ZNs5 z)q~Z;)g#q;>SFbH^)&Td^&<5$^&0gi^-lGB>Z9rt>a*(W>L1h()K6_xHqJIdHsLlc zZCqY+Y=(J}X?xQ4ob6THo3{6CAJ{&$ zeP*Yyv$b=v^R^4L3%6@+r?+csmu%P7u8-XyyEp8NcDZ&%b`^G0?dI4mw5zmRZMV^G zhuuEAgLa?V9k)AWchT;9yIQ-S?S8j=Y}aV7vUjj|xA(ITwr^n{Z69yn-agg7hkbwh zA@=F^+4d&;Qu~SaGwk28Uu?g^zRG@!{cijB?LW5v!u}ikv-Vf)Z`j|pziNggLZwh;?Y=kmS(Cp|``U4zD|8IgD{AbSQV2;xOA`fx}XVRSp{*wmZD% z@R7qO4qrKZ=WxNH+TpgtPY%C1)HyUbS~=P~x;gqf202DLzU&z1_=;mE$L@~(9A9%B z;W)}M-?7ATg5z|@Hyz)0T<*BmakJwt#{-Us9Y1&c+VPCzWyc!F9~}ST_^0DjCv;Lf zIXQVc1vrH|z2u~GN_6Vz)Y++*(?F+TPMJ=loyIzibDHcl%W1yTJ5KL9t#{hywAblF zr=w2CoW6BB?{v-SmeY?;zdAi~dhV=rwsUrM_HouaM>t108=TuYr#N?W?(00*dARdP z=RD_P=kd-{oo74GcV6PW%6XIXPUrp3hnzoiKH+@Y`I7T>=R3~7IRD}N#06ZeT^wCJ zT>M=^Tw1!sxFooAa7lCN=`z4&s7r=Rj!S_{nad=XnJ)8Ombk2RS?99VWsl1TE=OFx zbUEpA&gH7hO_zHv4_qF)JabjJ+Pb>9dbl>~{*Id^k z*9zCEu5(-$x>mZbcHQW@!*!qQLDx@RkGr07z3BSAYpv_guD`oJc5QT1xjDGGyZN~V zyR~qOc8has=a%Bu&8@H7V7K9JBi-`cirvP$O>>*;w#aRn+Zwk`ZadxfyB%`-%8{o?kATcf+ZyPLbWyVgCzJ=#6qy}f&?dk^>i?nB&%yJxzOb}w)*b06wez-n)@yHAKiaaQE=@2=-{< z5$zH0(cUA~qnF1(kKrEK9%DT!Jf?cg@mT0l>9O8px5q~w$2`t@T=V$B<2R2wPw=$% zboBJ_4DgKbjP-2mne5rqbD-x4&m7MZ&kE1ko(nvedam-^;JM55L(ik0$2`CFJnwnU z^Oon2p1*oN@_g>4^s@7E_44u3dPR6ec^SOgd8K%D^Xlt0*lW1gNUuDvVz2RD)4b+- zE%I9CwZ?0c*G{kfUWdFs^E%;m+Ut_nb+0>Kzj*!O^~4*zt-T$+J-q$BL%dsh$9N}r zckoX0?&&?id#HDYcaC>~cbWGj@0s57yq9>d^j_z^)q9Wk2i`}#zw|!oea`!;_f7A6 z-VeMVdO!0~_}Kcm_;~vS`h@$m_R;&a^-1>W>eI((kk1=FMxR`tBA*JMsXlXj7W!2B ztoGUHv%_bf&q1G0eUAH_^10~qy-%&r&pyBVJoahyRrxyjy8HV12K%<~jrNWAZSR}v z+rziN?-1W~-)vu#Z?W%q-)X*ceHZyI^IhY+$#nt(^gS7PHSk{GL#;w z;L_m9!Lx(k4t_UyWAMJ<&w{@Vz7%{T_+Id@!B6M`vR#NL#Bqz4w)aaBxFU%+K^2lJ3`(I`7q>2$QL1Bhnx<%7*ZW_E973t{g6LHo`f`p zT7}w$dWHstwhm1UO%3fH+Bb9%eL$8QS{6DjbYAH4(2b#cLl1-=4E-wfRA_Z*ZRms0 z`Y=_POPGIHM3^D0V_5gFfng)U#)OrIO$?h8wj^v#*yga^VMoGFgq;ujA?#teO}I~Z zi||*%dxgIdZVI0f{!aMT@I&Ee!f%H^j!;MVM?^(*is&1W5n+m$67g2V%7`ryA4Pl< zaWmpUBt*JIhDXLmc8u&9IV5saWO3xA$TuSwL@tS36S+O|!^mTiXCtpf-iZ7m@GiybZAE6LBHH;K`bbP^;&dN#4j@XQ647xORS_Wz-9fMT+h-+8rT8<=LUs&qeEoXGMCZ(gBSYbRiPLlXBqY912{M_{XtengqBHp>;DzlR% zN$DZloGY$9$VM)qmnfItR9bHkrS);WM7ex*)(&Z9K1`3}`#C2d{PX4G8ei_)@?ULrg zK-ohjk_>8cs;r59t%)sfVuy$pRfy}57ad&jg3C4Kk17&PNf7faCLu{mX@Vri_RcmH z=9~CsAitD|3m=Iovgs*emd2!{it;J4S|_QiQ;bOLBujRRm6Bc(+2NgJXLO2}i3yS< zN+Mn9BnMKb6p@%Jm8HgZ7O@^Bt};g!PnE^fq?t5nCQT|%OHAT{7STw5!6l{21fw9m zi>QyY1#42Lebp{b>U7R!|$DuAxT8NVt;-rN*5n^4Ov=ApP z#7Wh0QgxhE9Vhxy7bh*mNel7PLcDBBylhImG!!ol#Y;o+(onp#5HH&hFAc>@L-Eo= zytE*PoGwACPLQe-r0N8zIzf7!Aay24opOxo5~R)q>3o7zonTfiollg`CrS&6(n6wC zohZFdl&TY@>O`q5Q7TK6$`YlrB&j7yYDtn>l4PTkq@T%BOS1GVSt?7GT9T!f6saXe znoW@vQe>1;WW5wwPtGEpoJG1$QcJ3AQL27aVS1@CGcQAoRHA%@#zyPJYV$%AKE_6i zmc~X4S7W1vtFh4u*`}Nq1%>_CXkkA#TG)?`77oY82#c{X!tdA^(fZgJ(Mz#%M#Rb) z5i4gzteg?CF;Yv62xV-Ha6dLi>eNNk3Y1~YHI-RB&`DQy(p8;wRVQ85iCD$zM66D|N=oda<%ztZZYftR5@9)5})LyHKp0Td{FciyY*!a*)T$ z@f;hUT5QTU6=mfZ3ynoNMM6l*Eyzw6TzbB#*qCd~Nlz^(%AqAzB&HV2%&xTg5DC5W za`=Wu@B^C_?44&EB}?Q`(f?{9*;t(3IXy2gU37V(-fUzDC6kQ-*+jXG?&$>u={?f( zGP2Tpmh>taoMX1vC#PSwsejI>yz~L-C1$&QvUBFBJ+YnS zDCr~zS*jQpdbv&2N1G)vg7nd1Ug)F6$kWS-r288XfZ1Fa^~sf z%+p5;d-`ZGw)Juz>g7Dt%Xz4m^H4A6p*}|1ixIO&A0uXuK1R$Qy_}g8Xg&<=oZB%6P^~dvYf0V`cl~22?L^x%yZcPdUr=a+d4mEZ56f zu9vf1A1mXjmkra)hRLa~mp5*`UItPw1bV#;q+SM6FAeEs$LVFq>1D(8VmZ<4WyADl zLt?z>MO z(93m8FE;~vxf#&QJGNflvGsB>)62z7FK>@}d3)5$+oL{FhCETWJyEt@-X-<&E~!tH zZBLYKmnSs6yglmW?NOg3wIs=sN#>F=E=e*j$+91kWj`d#4o{Z#lBM-zX+2qLk+)TS zimWGZq#5RustY^}Bx5ahn;GF{xt05|Q>& zWQV6ndnwXhiVRPRv?un+R6({+?2$>5?Gt-slB7Lx{3J=*6N^Ahs#pYwNPFV=Ns_cD zmIRWdJ+UN^B-uoAW6nkYzSgf#h#pqoW5cyAxXARE(xirvVCG< zp*-0>v9ORN+m|ZsiSsKZN_(lYeW}u(Saf1i)A#~NB<3|ST+78(Cdt-`Q!f>etxJ>E z#2J_pg|#%1CS;IkR}6=CcR9PUZzPe)6#_N zX=&VbU9?yQ`Bw)*5*rng$iXc7IDkGmFlJ@sjxC{WGk>gCSY*r+<#cHUg*kaVPf(E- zYoLdDv^}ImDRVozXt6dC;X^i&&sNFp`Z7HG(lW5D;e~duZ*kZy-9n2dL)*Uo|~03a-?w_otNm@D~Sb#rmT|8;-V5d z5fsxGBHRmVi6n`Iw1>}3&&|mnnUkMWTy82X&gKumcnS@ZB4Z}6!g(71Vkpo<7& zn#LK&mZazMGZ?3I$tfk0pGiluq9Tz-4=ySEg@VsEmC%djB<+b^2}!bjVpl?vv?q2YBuRVX zI6#tYpEwSXB<+dg06jC4_Qd{$Bxz6VUr3Vn#QudOX;185NRsx%{)HrIPaFqGlJ?|^ zVUR0^LF{I92C@I?5s$V_QZ2T zdafz$iBkwk(w;blkR@)pKHu5rl-VN zMsdj+BZzQ7?DupAvEL&iZOJ9oAeU5wI7LyO94q1!MUrfrc=AY+Y+GX5NP6c$_dnA( zp_e1D3_iMTSS9}iKp}?Yt2d|TS|1YFllBcnd=gUn~En} z6ee?p@|9LpI=Lj=NTb|lFGWc(``z>+)Lc>*%S-b2sb*t3GA08Ul}_GMWcmG`xEyoL za?I_`X=(*!nq!vJ6f^UyQnQ^-(NxIdW=>N(QmEPTJ*q6Ii%V!Km}RMvC7Q+avUvLh zBa;$4MP=ni(SuI@x|(QHQ=(&HQ_O9Or5K4`iA}UHWHwj4m?BDT6gBB8wacy`Go(N~ zC5iEGmKG1g&8>|V`v8-m0nIx)5Bp? zX7(6rQiZY56ctVH{>?1yAZhX&qc|-tGfA3FFR2ALl0ICP3~fpUQ2H?K~YJD#g~kK^2ID!d?C@|O9q`Ir7syp!k4UklNb)1^0){p zeBqpki(t4foZ)d1RQSR<=?mvXTsYGdmlu-sMTpWD&Prc6Cw!q1Nh_5xic{{3pu!i< z310-mec=rEMNr`j=cF&36TWb!$(I+B^hJo$7tTswIAq>K{RY;nyI*U{oSMqG2nHBVgg#Z`{J0>O_J*FteE5?48xN(5gju4UpX$78wR zE5wx_>deDczL%G&=5?44P_f_{5=FXP{Ne;JT1EF0Dnqvce$6z|J2;VNo>06xt&8-Y zU!)rIUa)durKbg%TxD!>idZWJpQvx*lM>|`YBJGrlMd3tS&DK7pY5e|i%qBZnqs}P zB#On=^0G5p$IFQ|&yp`pMC*CFWDQMhTokQ@GL=|M0g?Jbif_tD;4Iyz$l8lUS~Ff0 zO=@D3Ios^UL$7|DGA+w}G`;)fsp4)xO2zU`RE#RiOI&#aiq$pwp%Z@a*;!OTGb!KV zkL5lq!$Yqp&F@exGB;&Ovqa4z%Q!dHvBrqfO;3DgRtfc3V@arfzIXv$W^Grf^+iyJT_epM)2= z7SkfvBD~0zCPiM8bs<^||C8{~{);R=HeUR@J4*^LCj)J9?w=*0hwtWSPhgsI8py}#xd8* zp#9+(s$W`8^-c8j%ot@Xpk*hDHX^j}L>c9gf-=RrKu;I>c`cehs*LHR7sr=0dKCM= z{>v}DOoem+1Nyj#{?0~VR`fe8U=vS2{sYMYI2Y*mzv$~C`jHf%531;Ut?2;twb@$$ z^v%{X@x}HgfGGg6n`J+=b7k3CHmnf`i&v}Irve4!^poeKLYd%L-a)x|9>NV#^4yhYJjBxCjm|% zeb)rv0MKV_ivUgm&^K$R8PHdR=NW7PpwH9jOSCHp^bOiIpbw(xyD0hyihiycZUfMV zVYPs7IpHe6cj-H84ZKZXIy=%2BEe$7la8hgOw!s)e9h0IEe@REY}SkI)04CqQqYpPwNwNgeD1`uzmv42rg( z=nRU5{DWnsJt)KY7skqbP?mx6O|VJ_t8%dV2dIvM>LysHfm#LXj$l&?w%x&Y7}%}{ z+aq9m4s7p(-Bhrj4)zDY;Z<-r2aZ~BYy*ycz;P=$ehQ9P!6^`&(!gmTIL!g4Pr*48 zoKJ$w3~;#(uIs>cAGkS#TL*BP2X42(-38oRfqMsV?+fl(;65GP7l8X(@JIxYQ{dSR zJU4^acJR6ZKCQrK8u+XLUqA5e48CRH`w0BHgWnh6-wphaLx2|qoCb{>XtF`G3IeSm za2Wr9H}EIW?g8y#2$}#v*CD6|g6YRXRzXM$2>Ag*BOvq@2+M`AixB=NMC3ula){Uh z5&Ix=Aw;f(7FuYL1TFeNi*jf&9a`9rHOp|uKHcY)TG5S0K? z7vSXrczF**XF>FQh&}+(KSE3n#4LuGgAnr%(B*>ebBN6Yy%zLm!LR`0svv#`#9xAh zDoAvI#Bq@L8?<>J+WY}+lc1d)v^xN=42AZ#(7_5isvt>CKR^V@yCLN@`T#Gm zht%xC!yCc z=xu=BMbO6!`pkj8Z$RJc&~Fd)PlW!T!vOlxxd$+CExg(rUcC#0Cc~hgVDNYtd=_3C z4zEpzAuV9YWEeUKhHipkB`~Z8Uf%+*e-Cdgh2hpP!UX9G$XEcGzL2#Vj4fg09vE2* zqx!?BX)x+KWE&y-B4j^?9B0TeLe6_I+5tu{hS4`+^sg``8pc#ZZX3v52f2-qmjQWi zLf&S`tA+eX$e$1SyCDBQm}0pePH9s-bue zl-NSa&rrGs%7#MOeHhmf%3DHtC6xaK6?0*{6O5mqM!;kpObLXkN|;&$ z)Aqr%dYE1Y(>KEO$1uYeW{ifJ@i6l~%o+%@4#4bQF#86~*$i_tVeU0}vkSa=65i?u zZ=Hd8ufev#_KX zmNddU1@O)qc;^8u-3UvsK&1jIKZ9kj!m`t_yd$h|fEDLpIRz@!=^{Dc@=Eg3|k(-)_T}>9=2D)j<;ZEIqW>A&F2 zVmPxA&in>v+rrs0IJ+OtS;09ioNEu~dcnEZ;9NGGD~EG);oMd@cM#6i!THv3z7oz~ zhYKCx!VtLdCR|j&#aH2CHe4JB7vF)4|A32+;gSL_CBvn1xHJzg9fQj+!{zR9c{E&} z4VRz5l?1pl39ftzS1!SoAK^+JT#bgSxo~wnTzw0!u7RuD;p#28)*Y^W0N3tAwFat3 zLUkEb&x7h6Q2i5p9|_;T1>Y}&@1Mf;IJn*ou4lmYBXGSMYT83h4%C!D%>k(S3Tm#v z4F)&5z>Qbo#!0y80yq8OW)j@YhMNoERy(*g7H-?Z?IUpe0n{#n+O<&o5!9Z8+WTKN;bt zXYliB_+>Kuau5Cy1NVdA{yliG9UeS`U(djAMesX=-(QE{e}+F?;g8Ai$9eeE2L9{< zfBC>)hvA_uJX{TrV&G93Jo*Fbwn5$Z@OThB@qj0X;ptka?*;Xj;n_NP?g!5+;rSkD z=nf6rq2W9<4uHn5pz$_>5$VHbd8TaR!yIp|S{-8&UZuS}jGZ zjcC z+IK_yF=)RR9RMA=qQjTy*byD)qf-PrT|?)-=sW_QH=)Y_bh&`8Md-Q_-CWRZ5W3Ar zw@c{u0NqET`+fAtL5~Xb_ys-hpjRS#4M49o==C9bT|w_q^e#p3Ptd0|`W!@`M)ci| ze!I{=2K{@X|N9t_hXKn`GG0+18voY`s)cT( zQTH3h)}#I!8p<)w8{_gY?jFYX!1&7;{}U!CFkv?)_Qb@~*k(Ak`4HO%VB59WPLJ&} z@fA;eWgNCYjUD{3!zSz)jvZ?;>19khgvkz=ycUz|F=ZI0EWngw*vSSvQzaiAIpzKR16;;TXUY9$Wxz(I3xuoVtI zhp%nJAr3fXKMwg3hiY(WJ`Vi^ht}dS8yuF6ue;&vAK)8)_{PsTd?1bp!x80}9*gO- zF(U;tPGIIv%*sUL1T;3_$a^>{6SGq>`%}zWkE46xm=T!U0rMtfekht=M$;rL=!FGq zaqL(e`xFZwVbRN2^a~b;V)1P(>4~K}EIo~7KjXOmSpEu@&&Tp}SP_U7%W%92C-~!p zM>ug4P8x-i8gcSxIAthK?Tyo1aC$t>h{Bm#oOusteTcJ1;hZ)&=RVH8hi`s{Z~ck$ z>Tv#jT<|3>d=(eoz(vJK`{%b;;9_rFydResa7i7$Q-w=cVr3pKYmLj!<8oJAz66)o z;fmF`Qh_VCq>FmR9rU?*Db?!>v7$Oxb7sb_rmoVxPBL|e~KFx;l>c$_yKObj+;Vo zQweT%#?3CcWgu?J#w~B+mQ}cAKW_O3xBQA*x8T-&xb;`uW{=xn#~psS<0|f4iaQVC zu5P$%5AJrr-7|4d0Pfj~dmiB4EZlns-`j@!Uc!Cdao@I*YG7>p;%@x;4$;xL|ghF`bDuZQ5*Z{gR6@#`n}&2IeW z1b$PE-#o{YYCIW+Ctt>snfPrveme)hy@KCG;&Sv{Uj!L$AFY&xDDi)W|e*+qDEEuP(lXAk4q(|EQP&pyU;4tOpI z&&A=n?s#rEo*RqjrsKKgcy1S-`vlKjz;i$0xq3YBi04D`d>cI96VH#p^QCxx9-d!| z=l9|H<9PmiJpU_RV0gg`FSNo79q__nyf79oyonb!;DwLz!bQCB0596$#ZbK10WS{4 zi^X_xK3?367eB#^SMcI5c(DO5x#Ojlc&R;JdKE9_;-#s0X*FKjhnK#>OSkb-9bUG_ z%aM5b6};RJFX!Rq*?4&?UOtPLf5s~+ywV!4bj2$p@X8FlvIehwfLChpsuHh8;??1J zbtzu`8m~UbYq5B(8(vGtYwzH-wRmj@Ui$#AeU8_@!)sUZ+8w<18&)%{cEjp0td7I# z6s+!p)vsgqXsj;7>KR!5Hda?*^&YG~iq+p?_4io)3syhH?``mVPy9X%?<~jrcKC1- zK70!wuE2+z@!@`a_$fX-gAaeghxPc#0U!C|qZoXYgpYdRqmlTi2p_$Lk1Fxe7JPIJ zA6>>rkFd@T>sn)73f7Ipy75@I2U^@z|?1%%^YU4jM;2vHXksXFPUuuvo$f>MrLQv?1GqG6thcVc88dK2(u4m z_6L~5c;+~lIbLN>3C#H}b9umA-(jwQFt_f^?Q7=#8gswLJf`vBc3VaT`m#%i4snHX~S@zgXKjteuLr`<%UUkhNE^ z_ET8v56w?8th)&U${v zdJSW}CbM35S?|fL_g2r@} zfCp^gckI=X?A49z)!S^4Hyf122AyJq?y$j~*k9VzNcQ^g>ZX&Sk`7{Jiv?(*~oY{axEMA1snMfHY%Ns+Q71dS@wLEW5sgfSn%=DNQC|H3bEAU|j zajYPh6)a_AUt)!0SWzu2ddP~Etk|6u2eab#tauMAKFo^0W+iG?(wUXaVkJjdX#^`B z!Aj4uvR7EyYpkr4mCa#gn^@T$HqMWY>(9o$#l{_HtH8#E{8~-Vr zU|*~~yTGmg#d!Dg;uGas;7FR@wKY_^)sPGhrYvN_>wP6V41$rioE zR#dZ{&>0PlgMYCo<~~OFOx;1sJ>egFLes;;D{-)~px=tq_S}jz49c1O`sCBF>ajd&p*T&=V ztb}K?tZNcH5)x`uj&&0r$9mMwPpF@7UAM~;RizusH&5C)dC$a; z#viKKF=^#=_1Y;*Cr}-pmnxqfLuf76+PE7pyH@KW>%xYh5-LZ#V7B z^(o%Eb;>qB#~RNB)#Eu&T3OYo>L1iQdhD38xwMKjo0g8Is#8l#14~P%6pZoBtu$4Y zYD%lNOxfwTb4z7aRbW+B<(BQf^)a3sRp*F2u`Ebf0rk>lg5 zo;B8aMe`Sy2bM1=d#8Bi_WhgouG?9)bM>B;d({c5((Lm5ilRy5%ElIq?s3g~!s_z% zWn1@G?cTI)hkEPImAm)&9~eom5&rp-5d(I6ZfyZ{hs$ zi>7H7PFg&1>G;Yr@3$u}oH6gsjNH*`E zEvtHayWgsnv!^c)TsHlkX^W?*7f)F*eTHwr^pXh`nhE2JD{{vbP4F(;Hf8yY<+GRj z)ajlnJt9;iO!F2@2^_az{NgFg)l-+wdY8t`g0*ii*DP3Cxp?)$J@0t$EZjDB)7Z@g zoANe{QPV(wF{&LOuYD5g(YGdfaKG*u?R_%ZmFlB>>tDNCA655qy+U*B;%o02_ZIB- zDcDoCZ^{Si$sf%8``#(LnRQ*0b+zxA4qx@{=>2ildm}fG+?ut9~3`j$09UaN0WueM64v99x}Yf-1JZ(&tKTfoLSvfu~d%VqK%E56vO;zfu{Pd**{Q3-^TACY}TUt7L@-X$}VKckxeGPAS zT{cWpIjkyYTdBHq>-$r`^!w_ArBz!4w^ps)S$R-hd0^40AAN7nIyLo>rvA&J9!qvF z-?(O_dc~T}i+A~L-!Nn1s=#+ARu(SKRxd7CFsP$%$2o&$6li8-PcAB-pq^M!I3wF{ zbkX9K6@ld|CT*O)M?HP_?4#fLo?CeIo$Z>s*7dDDw#}`YRjFAqYs%tszj0G$Oqdlo zYuudDQs2@ArHjUCCM>F)vBqz8<>Hl#0v9cvzjnK?h~49>w1~})zdg_D*(_Sx9>-El z9|u16@t9ONuCSn>-m~7$yWXju%}=m;98**Of$IHz7fyY0WcyB^?K{@*Sh-!ja`zIN zS$n7NsMx9*zqxRI_GphR)+%~JJgA|x#2DMHkQ>hIG znXKyY64r@hhllpz#ezkbCR5sgj1LD@3Ad?AFSc;)h`pw!s|H`h`9;rDhV3$BOcrn5 zfXTX)HVv@=HYnJYxs3{zq;%sVHq%?aku?LBh3;j6xmiHJO}~Irmax{RKzu5vpb@J# z^5jZFA!|2n#+imibOZa?E^l;z%tvEMPe0;GI*JFd$L-rKeS{^eOz|j$;%)FQ!I>|^ zhn|Fe3|8+68_N;j-SY~b>9bi<)5sKrJ+_L*qD?Iz;b8y+g`;FZu7@8B<$O? zJBPSN9pl@vXLWl81)?C>6nO||{Nl zv|yX;?VU=(qA(hCHpHfrbaC+wTz5c0DgyeLErVENU6UuU!d9xMmw+Q$dU@`M(kD6V zmbI*uu94JeS6fzER$1?`U)?RPnql|8)bmT{arb1kdor>seIUJi^uV4Y$b#2P-$mU@ zufcB(TBFva9T6%_N{m4SK)W|)dTA- z+77Zqqf}aCh(&4dsKe?UJdc)`p|3$*e!n~7KzbvEo@snC+hq-s5v$+qG$0ODuUvu& zx)e4r+*U)U0ta-VHT5{)NIPtv?m*Xg)wm<;3KO)I`3c(H+_i-z?o!w_gxzSe=wM^Y zgkA0Uveq7lkyJU1Zkr#m`nurEcR#@za%BP(5uj535l6hc>Zu;qaN4X1k^zld!ow=- z{ZHs`tWOz+3B#D8PY^%?l8vq2VEjJ&G5iTf2Km%O+#1MywGl)Dn}##Iv@-Kim0R*Wz{3t=(PZBKljLmmG&eqp4yl zQw;AzLWevry@4%S*uGWO-9_AcdQ;j+d5^qT;Z!?yeglOVsLuWoY?ouu6Cpe?e<18c z9Lc`kEIu{ZX^4|CLqO>gAx=^6=0`Bwx6m$?V}xbe+SzRhlELVHe`^$L40G7sbiA$k*0@2|Fb^8DTZb_$?dTfJLpBA{v32 z*MXUO47~)f2*oJ^4t6h-8xkxuJn#0+1OJ%6PIl?3j9A+csjHyE<_X-p;d{ z_@ts!VUTGwdbL_9mrJXTFV7EpeSu&IAjiV;{?pjFw5yasWfT0NmJ9-*DYyxL;K$0A z)#R$C&Fgp%Bkhl9?!6UT6uGzX2r=-`_I3MPke2;Nl*jPB+x>|VayXvpr-pNfsur{#$n-(I3`@8I}E7RgQQ2=Bs2a(YpU zOo^hxfB^CHU8+v(9_uQ7v!Y2Mks5`FL27N=jMWFYNeLlN=JX?YGUjkc$gnHm@%aKi zf4~=x#H$v~&`)!A8Ykrw1jAu|hw9bJPC2g8dqO7C6tYGsEbfeWLxd+74fOfazERIE z7qW;WY?nzjdISLR>u_1qdiF1wUe=pzCJxxRa*?09jzw=TZA1OZJMtT+<_4P$VX(X6-!`*Q}xveQnH21Fv-_gU=IIB)wM>ld_I2bLAkV6G(-*ec6 zb=a6A3)QDChu<-Cl)}?p0kS$ZHBR|D{8a|SrBBt_t($C=eg4I+Yv!=9$ zk|PUBYbMa$+2LY*cl?n5@$M&k{v`hQwU5;tygAQ&$-&$@w>YV^+bLB3fVmX-fjd;IK%Y5WBX2B2jGP{NrPqmz`x9Z z@u*w^F9U`I4~~7+t^AcM$Q6(B7BQd0eiT}kT}SlS6dQL75y9?5y5l%~4}B8Q5d0`$ zz*er8;*#7bKPxRF(xPG4uu>ynQu<{13!DaB zyFf}v1zbZtE>k&uI#Tb^gcV7^(Tl-d<-G9*-Ol{JvNzqO>uERbod^ zU}p9@^qr+Cy<8d8Lii3-&1Sw=#+aK+3z>yZ77Ut0JGatRJt2Z7Io&(y#TBT+rop)d z?7bLv46P|ASZ~5S**(k%t4FuBeLdE5Q}0TLgz=X~t19zm_t0`yk85l3Cs;TA_iz@* zN-k8er)9h@i)8C+L+kLG4LU(Bxlz#Az*~#()@qhLfISddmS0QcYQ`F-VV_O!(oW;M zc80T)ftpmD7Djhbb`wDQG*pA zJ2r{!FcksFsAh&yn$}ZFgi?6{w>4S# zTJYYKGCkjlSextZwUt8(zrfxz+GS0`p;Iw8pu@hLS9F|bQgj--tGl}`TXp!V=IlWQ zIpy9KD;CBE2DYX5AgMip$DXK6Sh$z?^WtrU#ap}HAgLv5B~4Adb(O_?=q~J$z^c@G zBDHRyq1Z9jF{#*PiqvHqhue_$p$W}y+!1uR(qyotLvK<(*xW!gG_RE}#ap?)IBe$_ zKX-aN?>vZg|3~uZ)HpIexj%6fKQt|G7$e6T;t$;jE&_m6l>U1*eGOcIzhyK3O1qwS z?~fG*stW_r?FX>u6puAb5ZfDml)M&aG?h(28%sYyvzZdb%^O;>ysFSL%AWvdYGTST zjZchtqj|t(sYEo3gu$%kv2o+5qChAHc>N7Y=CZ?8?P2g20-8{@F3?G(v1BNgjS%7f zVb27fOjwNxGGUBshN(vwk^|?u1+;I1sd_%CX1$nY|#i5axo$o8HEC@-7BPI z1SO5B61t$NU%O5AMom?}F0KwLkf6dX6;%AEg{7D2-kI{ti|F2R<#1g~e;YN6bt;t+ z?p~1tPcYe0f#$moU=(wn1db6Hw-J(cPO7% zKdU`ay?|at{|@~zb04c_F5<<8%Z&94_8uCK?G2ClGu6IiFiVXDTdI8R*;^wUQ;!tx zto{}IMS3x7?&oVb>VpmR=O3XLLuh3IeHmOM%w>xXv*`!nri1@j%NNm?v5);fPrP>M zm8i7pSIk!q-kNAf=*wo7vzZ5B^TU6v!!vMy)-G*bC*eZ4u1c5qKK-S8|JxJ*4BG=E z{CVjibPIEte1H4PEw4AwmsP`0(~rW{!}P*=(DR&c9#KhsU0c>cD4O(^G4kUU58vJK(qo&{YtFKB@C#DfHJ1fbRwOZ zG5a2z*3n1VhqP0?5n`CPiTW{Kv&m*|BAd*uns&+dyQ&h2zEIwSc=|>iyYazfm(@=) z8<=|36AJn$XWE%}j5u~XtB!eCV4ZH@w1^!Z9jSA7hLYHzGwlt-MwyFAo?LWF55dSj zc}$hkWHi+Vh%9FDi3xvV8#x{y%4f!qOffXI7yGH=i6*eujgO=j!2#?9cU+(o$aoz{ z?z?EFkV+?`5Txky0L~t=8j@t6fl>v;h+pjD)?*C@u2e)wL}H}~w!B1URpA6##%*#qJt-CKqL)@4Ub|q z!AladB=Bso(E5snzKpY?)~w=^ttyc~(}-v`o7X&yt#sE0 zxkRuvDH>2As={`7BvlEYA4VqcO#~?_ z8uj@dPPgCbclhDDk2^AOTJ>E9yOFSWcA5%uTCXf5 zPpJxsA=#N5#^{smo}R6}E)4t#hYP#m7pPkfhmh^`I{mJoE9wtZK_nE(yLaG)l-&{{ zBbI>4WpeABdWYfNaAO5o?O_*uSt?DWsa&v#(_fomzQ(?MGy@ zJf0c)GF0Kx`1OQWA2dcR5{*`6RUlS@T`a{`#Og=Igm~nT{$>1E&qN1zl2e8B_WfAa zlF{}N+CEuA0G>Fn)!T$KSFukUQ-!+MsUID!3YW`-Hz+_OqAY9X6N%GxE^Dr)l(k1(5+I)mP-uePe}Y900l zokIhmh%e?uobkTi0X(0sL^UEd2;%Axug)nKU{brP(*Qo2$)X1bT&3<(;}5Vkie86| z)H)0va{w_1Y!K|vy5fNl@n7XHqx3(phf-bE02#LW%q}D1GWBXCSer(|(}KBN2j;S- zt=FX?6)wHk8bGWOdpv_ty%A@Ca0YyVaA2aRs;4)&H8qEYcc9FU8G0Y*xNf(oKnw`$ zBFpghwk~@+sj!QUJPkrmR&E5iH+_A9SSS<J+qB3>@70m5c_Q9TZ+#$;zCp__nvrE<^*ifW=36Oh%^>HyCXe3u!jnj5Va)zWDqBtt4M~L%8HnW_RnN=E{1UU@Zqsk&ug;**UM1rxTyAO{9I}JY4 zr*p|g81s7NpQD9n3eHS0l7N4vLRLe73>e%hDaQO^hW-O*z|yZx6S|a=l7^6=RO*)C zYis!{n;>2%FQF)Su-*^^0w~H6#fSRMDhO|=e1ZmyIZ|Z#UAVzOmj@9V|a1M7l))(yf0fpAKQGB(-?Dd;nBd3RF;5%LTCb?7|;nI(<2DfK8#7N zA`_o5iL`P>WhLAx>}IXmY*Mw89ZH!%-;C(Eo$DUL9`>z^wGgr9oUjPfn%HeVgg@EC3e63H z`6`UzH8$nn+S5x0+?7#*fj~IT0?*vMwMk1Bu?*Qpw_$tzqwyq>i0Ax8d;uLR-HWPK zl}v^c@X9OnK6b8{&GjdcWH#f^;C+cMD@CTQ$4;m}2mi8KaivKM{{&hr1#EYxH)T6ACx)oQyMR>(`KNJZ3?8^^%o zWuE3d6x~qZ5xl}q&EtUj9j-VTaRohopVL9b3PZ>uxWyJRM>yg(g-EaI>;xG4NBRW1 zfw^8^XUuoTx?R<4=eZHCEwYX;@AJD=`6WIb#< zTy5QNJ8VCS0I+AzEMkG*H%R~eHv0C!RCt}Q#U-t#?xOAr)p&)~5QmwWVSx+4;R3?s zvUR)k`wfQ;`;1ejqIQ3kZl@&;*j~F#v#f*pg7{k1Vi?{IdLL?a8^CXojZ}%YOGae_ zb0d2fhyx5C*h6JqK9|?!sSd`YnUMnlSz+CtJE{lQvff}b_q>C~Vf^)X*Du|?490&q z^KI0i(^<86r^-hONS)X0vh~(1t#Wp`Y#vKQ7cqn(A|8s`;`rE*KMoP`cp@22_ic|3 z_~MW?msVwFu3_KAY+1p4MX<^ssbU%cJAZf45Sx~iZxr2SH(K-tO|{jc*UJ>JYj2}p zM_+vLG<4s`VfHa6=b$^Y58f(|{yDm)2g0U>M0b~;^mTcx4hzz2?oq>a+Q6xEcLWtg zK#|bpAhX)H!+sQ>nE4tT?7c%rnjJQ82%{C8o-7M6j3qfe4mTm)_^An5%eM`fCTLTvIcDe^m z_3rD2&~CfDr`JdtdpliSUc~O|j%G2sfwR4{V2Bg?xIDxMj3};iJcMsv^grxuwA=0? zeRiiwg>`dT%%hxc0js-vt3`{cATezMgB!LaY%-g!(_%&}CYxT1>9#_en&|1?YEonH z3lc~Ks0h2kXx6|Xk@M{>c+H~Y?CGM@nL(nDyUIWQFLi$tpdzq=E7C}6h)$fz-F3>o~Un7&_ym?D+!v2Sej zxjx9$>6>&SouS&GQ$dJTXK;87q}s3b>jFlfGAN`FpGNIe;A@NH62TIK zSNhCJl=*y){v2m-&+g=|?aD+|L-QuZhHj+v4bEiuxN5XDmZ;K1WD!wF9uT=YdJy_@ zKEvX)*xC#{1y3Orskn%WYiihpJrG+xQcsL*nUWl`BBeVnFMo}*-qo1ojUv1e?bIRc zKxAs5NaRPyk~;x_{4$0rOLylO#>pAzOZA8INI35q-HxSg{gymI*W{SZY)hh(GUP02 zYpmLuvB$&Mcz7`1PxR-uh4$j3xr&35(I+)AMJiD>UAHoQAO7R@8XiPZJ5=>+F`Yx< z0#|_R5xcd))+*-mE|!q~2aZqT6!Ne-W23BvkhQe&Yh`elA1HO8H@_yA{^ACfs6|)5 z0jmvd$+QqR-!zHrQ=trs7Xb>UuO|;<2hcZMcL&Z~JB%JE=^yB@I zzD|)zZA=jsAt8~Q4;+zBNbC|iky0VmAzG=}BE*GaPgqJyL#ntggXl6AV2mvIHN?{R z^vb)LmGFP&_5u2KdUcLj{X*sc4|3?u^lw-lY~~A0t&A(!$X!-#W8Y2_%opfdRvVk% z#QX-l`V;g~wDb_a{17KsKJ?C43rgP$pp|XghYjg-k`yrz>7(LFBpUbj7qEh*Uy~%X zab;8z5r+7o_K*ZTE=fS;(*z;Irw?~h2`uf6Q&A#HWxPXpDs8i*Ny?JYC)Kf3)ky7n zYAwzaTMYns3>vLTg&0*DHodBah}lS6Oj_XG^C)U(yA@fkI9eXeJNJ}u$Mm? z4#g2wX#pBHP@0em0IFLi!~_;d!OH`vLw@3 z#+!^%L?n`q4pI@rfM$nsNY}5ARXn(!*?&Rd6 z5Ei%B=Er?Lr^iFOJr17_qwiXHuD`ONlqp$I>7MrS1_%l_)P~mJYif0Z2C_lW-XN<% zq&0@+OR*(^<*6DXwYJbOEQ`)`w-l=eIoE*;<##4JMG19{)uqO?NWd|xj;d{_S z{{8ViM0_ecIs&Pxk!>M}rcLNXBjkuE+Z?Y&;+uV|AHW_oty0txiVcG177-$B*`nKs z*KP^*!->lXMitYDVy|)kA&h>W{vsMnX(HNy##8N4D4i;JCl-x_6sZ+btpL&REZion z-qRB9AVM8+Nm_%b(;0IP?@v|^SKJp1MI!1{l}e*A>N*jN9QXiuGcQtry+2@>*o*B9 zj->&WDna>&&txZ?4oHvnIck3exL!Dh;3#Vu2F8(nvmBS3Y92b0UfFF zTOvs;6G;q2hJq}H2L+SrTRe5PzKp{~0+03(`8Q+Xts_YN1aar2NmPcYjwD6nJ_X>j(_8BY%4Iu=cu zOlxBD%0<)R;X$C*!h?%OBUH-aqR~i1kd5MtDl|7yRGHAH5iMLagBV;|;eO(E<}!2- zd)pnXVRp@b1RQ>kH&E>fIDj}rmSU5jt^=g|s_5q@X}F3R7~4z$1Y zZ=2XZT%qDZ3YIHdb1%kxb>@EhHiG^fGlR}5_@@*VkGb@v(-~lTdMTQEj>TuUeJ^WE zbcW2;L9^SS!PI8G%0#G59o9O#TUhmL_s;BYEY=A(8lexUyb`dGrPZZl=zi@s9_(~p za|8%?qE4NJlmI_ZCqi^0OGhil^>l^3Qo#r|v4>fDUH8ktCUj_)|G7 z2`3>;D1kktaw6m5c>frdF(p)CBCL{lI^fYZ6F6KZjlrNvD64#-kRJ$Lo=_Mf6;o+Q z&zse1J*iWPA=NMD{B%rKC$p%v0D!d$s~DHTMWiBCer?D=iIr7B6{ShRt52poGx%F4 zemnn?mnZ0dIb(TCpF0CR>Rh_N3Ox#$HE35Bc5|b{Q zIzT#r_hA?5)J`QXQW)hB$Ca5y-5tn^Q`~bNp=5RlHJj~L3)$IeHybPX#cd@z-Cny7 z_jw&|H|cgcynf6Nc*jk+0PmP_`nrYZ`YX)NQ$y!Gw*9juR3bNPRHRyCmJ2bFS02?6 z>S)5;ho=+XD3CxS-b4n=m=o$K5mCv#5}djEa;4T4Fp!2oXEct*-H||m2m~T-3Xg_6 zPe&Ft3QS>zGf5Z>+D;YDbew8B*RhQ*{5>sW(GN2+I-X-7OGV$AW9|e_y(Guv+04OH z*Rp79sUA)3IzWGsKa?k9wD03|{&A!9N62Hv+ioTZf#tQ>S zc9Xjw&%F8v?DwKq*F8=gUUzr?TKqBQMZke~!NItk^PeXKt9Fo+D^vG;7rS11cil>2 z<)$V4@8QhlkmLpKjUJt0I|h0p4hUjY`&}Vd0{8pvo&M98r75GL^Z~dm!<9J7)Ig*F z$A7@PZ4b7H&Fg|7523S}ELz-Ta=75C^cXxwpNx`+RKVa>L5cM$pm^9x9^a7 zmuj3)O^Qc52KK*FC5^7VQxX?Mc)@BvkLTij7-?{oe_f)ENNmbB4R@@*y(*>N_fkfY z)#gpr#(dtIdxt@&Dw$A*Dif^rQ{tz7hJ6Te5JIAs43O^Q`iv4`Y~}BwbhPw;SmPTK z58w4+6hg7g;Zc!Nw;ZZcAXxK0v-vZKK3+WX*IB0b;3?-teAN8cl;EOH@e?{vw(|d8 zyu~YBJ9`wB_Ays5Uks~R`@Y{(J0 zhUMWqf$u_pkxgG&u0xqC>0|Vj>=*VMq(kJ8gxc~b_Nc19RYZtdR_pGCj8wSv71U;B zNxWi8Oi-c$@swyvG^mK{khspT6k~j@c8N&VNQU#aG@j4) zIH20ckq)HdNGcwHBA2`|EsqoOxH6&+sDq+NOR^;?C@3b8l((NM5L6+U@x>8e+zH|4 zG2^ftDud+hkvja2jaGw>)EYEmRkNzuw54YgQZCMv5}YHhaVSTL1#;dgJVhB50Wt_N zI4LI6w~ICtqB>oh6x?V6B3W}axBxbRe0PGWx!onrTM0kpG;!r zVMcXnEZfVvx;Om+b6Y!u3-GSp69mt`KpY1pn-IEyy`URcz(`tU~{U4NHq@##ueKYlZG8#9k*1S zjwB&}b-siC=Im<7#z4U@&|rZ?50Vrav^&XqTD*V#7%{f)!T4glzQG^^o~euvOOD7I z47F>qwSl@+Gm&hnJRA7V+fCE>o^huyM-KQh{-1p%`Yg)qV@ERaMfsXbb!8X7Ghisrs+iQDU$P@D-F`NrGBIC1gW*dD z&V(`7m#;YU-~J2c=w-jbTz29xlonQ33L+7v`o*QJ7ntfZf9`#20V%k%NW|YyphL<2 zLVOz%FZ!Se=_TDyL`MnH<4t=vOwwOIR;5od)jw((SX+3YP_3386ioArylUoacL$~P zw_ho?=bO{@)#>`k2JcF7UXW^!0*jOjsj>C-CIw{l6#}7xizr%*4V$srKz*`>NVen! zBXGu`*lq%!+!jcVkk8RYw09NjKJ|+BI-;&^z4QURh3lh0*ntxF0Xbe-FpZ31Bi^A% zo(ShteFe}qC=`9$@u6XpYKR2M13|VCszfUl>TE~8Co~u4a|J@~M31Y-Zx300)}S$} zqcoI0YJ!|d#75!ML(xKvge>=5m`~Ovv&#sb-E7h026L|qXw)u)M-z}#!hBxDFBQ9h zS}QlHG^9$QgAA2P1Ytf2LVtrb;L+;gn z{NvtlC%;kNb>Sa!){V++eESEVDEphfs&qBl#qRwri|zYMIRHHj=C6$piv~IeIyr=M)Ns z^dJS5+j(yv{`i!<0WfYuc+FC5qq(87Q(K^~i~^DK+Kf%OKe!vfee-j<(z{;XO)d_5Ub#df}+%Ryj|pvLyk0VNZaxV^Z8S+ob#eI&DNnpr?pMb zlMAawP%hMhw+Mn6s7}e~^VT7ut;*FHZtd$pcd{QcH&f>AK!wtb#PtX?t=3o08+>xdxkc!=oI^BP>R>fURKAeU5_zUvko9aMAm2S9R2!Erm6~Rex~WF z3Hpl6Oa2jHi?qCeLVf9jto!R)*R2AU^m_xLB7b2Z`-Y~D6$$z%=YV#SH$)8aYN=&- zOOsgxoJLi5Q^ZSG` zF{seB^WEU=G#Md++A4oHg1TuPc3b?B@j7DD*k0)|e5l}!f)Y?9o5*AlFfVtr`q|9e z^nass-c1}yFASE%O-hTos`ij&zC}><1I#{Xh z1++4x(yQ#BI$3=`pg-5ae2!Vhr3c=zgL)`}K&iJzN zdSdg~UZ~eTYpTo)9Y(34zW#xD#e?&YygNtVpXV4KhdGX`_dbP<`9`TBD2iSLNO7*7 zfz|^B{KM&t8vqZUMw6v~D*yc@8g(t*JNqI4w9}}s`h%zs0NQD^h#7Q*{ z@W$kbthn7cjZgQ6d%{rKT)nc6zi~arhcsvf#-}PU9?&z0dAdO$Bv^s*8o5b=s{qDB zqH_+$X9KxpmPqs!2M=!3_E$BpTd8~)Z)o;aH0~%tzkC>x4;ja&u@aU;%hhb>w%|x& zAeqmk^HC%+T=3@cgOh455Kg$%I!8s7=_BkaIv?k`bly;;5J_bc|rQXeBmet2WbB{37rciq4RO9$Tf`nV!Zp(hK~_?D1V{+r@w8F3#G7h zUS_ik$_*~YmGH;E!u9gmf@cdbCCY`rZHEiC9WIWT?9x+TL5;#pSHc>yREI1c{XDg{ zNlQc%AT$Ayx7iJO7i@Md+S$*#zH_5s9VYW=A_gL2fF=Q*{{AXauiT~cAUcmF7{MaG z5alBx-U0Wd17VJofA_Z?alv-P{Iuy4r`Dk#DiKUyG5gksmy4CIFN-gNpc}LasB|Sb zIa9LyB6l-=)gtC9C}XSq!CnG|PbbQj8BWP^Io%6n4UoT-RLZ5Z19X9NT)T@0TwdO$ z=yJT7Yf=D5Lea+OHX)GJp%=1#OB-^GVa}oD%vDg8Umc)d;f!w|9>@b}B0uOG!uJ%l z0*Jy2Km!hn*FV{E68bF=F8R<}wG|gTrT%s1jx$&>XL#MuGPi!{kV@QllQ4f^R-O5) z9|xcu2Y~Wn^DkLG2Et$#F$c~VAYBCCsr-B9Ei=`OGC<*eAut6g{2K>lK$A?Zy=(nK_!h-WCI zqyk}t^KqT&Mf24hR`eU*Q&ptzfo@lAm1bAZ$kEx`+fLoYX|f4H2T@^CnFP2(lE8UQdWUwxky?8msDM7Y@J!GA!#w#90EyR5EksMAj4IJ|OQ5_1XE#WCi7CE`T)pyb*rpE2oxSP!-C*tiVn`!mL2u zLe^=Kj57_lQCM}_(jyuti&&&#`rIt%l9j+f^N$>DV@?2^r~}z zNFU8bgW~Bv7Q;Q=Z{coE%u74yh5A0m#QdYu%qlHdRIW&C_X5r6st1GO-#o@*OA)1 z#gK?SRDSe)M)K0UIW_1Uc78AGmmiT2yB$9BLTlqbTlzofNG_X?72atPH`gH!q&E~E zDGu!}wpxv3ch^>v2HOl`j&p71pok56J*f12RfDY3W-eMt6f#I@(+wzdXn=l#b5yre z0J2Ad&5@OOOS@TBQNZdDx3wWQw(S=zVda7?v4@5SvxA^WmmTm9;?u)A;heVamNiiA zR#$o!9oj(M4$VoJ%MFXAHAIb+Cu#=m9j8}K>f2c67?4@;snP7gJefNfevSS|jQ)cB zWc_|(fBnk-`|vidQ32sxd52iUL;e#$#b7DVN$2zZBPk>`G8D+;PwtY`4uhzb1S|ma zDrbw8XHXDwgWSl&l`^MSLYjp^YryXBsIU^fR-+LWR+rnX3~<7OkSMdhajyU;1JWCuezc<6T@Cynw#xy}vAEe)g#>X9+s| z(n(sBg}nSN4|XiuL~dFpz3po38>!o-mJvVR@l?mpae6GrXy$Z@*o=Zsp#9}P2-$b9 z%pGhdn+__Ue;xaE?D^tB;=t&^>}1ls}ab7p{S68Yqz;AF#*bW6MCqlI}tpXo**XDgNf}>(P&b{NqUC49c7Gc z$CII5=@Dc&JwO%lk$yE71O?mt>w1=gtB?j2BM|laC;DE1S*(Yn2wyzKXt|xdaK*imV%xE=2?kBI_|Tm+kb4nSPk9r*?v3Q=1Z*84*|~m zEWWCjK!Wd?-JY>{wou()2#t<^$}Q6V+TLzHcE>H}EZujsQXc+T&-P$0U7dpt7o(qY zhl`KcFwd@iUhtx=`aJXrU!B*%ra7PO(|7bEjLQF%@z3P>6Py``JyQ=kal9&aX0O2F zM{RfjbkEQCLCL49#$4n6@hJDjs?+^aka_#1%xOcH5{ndfM4j`7mpnrkQX?()FreZt8|s{H)LQ=p=;i=ELFl-n+Nf#MkvAxZi5i?=$Z z8{SQ>(o4$b3qOsIlcVLIy6YlN{GpE#W4XEf=7nFXD`zw4nKH+JjVv)*@RJ#czZbl}*FVx8wDj$^@(rAu zVh@f&lb_AIrB8Mt8yY0_o6cec{6$)K*4GzL6R~tQRt)Wq6?1)KNZ(lSu@|t?4ISlg za~7!{;WiOX+&blIe9h)q5z3WE)JJ{+5&aFn1)7iZJM}z~%&4hWNlYTqxjlJ$XgkzA zmQ)?g8=RIcT;5y-ew(QoU)L1QLhvZ7pM=&W(;duS&eHJud^^#e-=RJX<&6Hhu6_gA z{1Cv3c_~V30ZWS57Wzj@`UMbl$&_=T?E>wBhyFPDtD#r=PExs$ov_OI2}A9by2z(j2Qxair&Ki1QquUf>GEs-skuT#}2YZNQs z>GSGoFf8DaSm>`=>CeqQ{Kmu3MD5FeZlX5DEQe-fqwu4;vUT5|ka*^u%=71>XbEQh z3^`2Z%2S;AIylp^Gh-!%@~U~e#r^R-3MH9`PTe~1lixZI-pn!P;JgEznb&7yzWNah zaPlJ@BKq$c&3w-*9h$uz4faU_Qm@Qa?UYG-CHV3>H5YpBay9E8#vbG_R|B_?zPh|R zSDNJP4sL_)L%DP@ycdrqyX+Z~vd1kcXaZIGeheK>g62pONr2|a9_$6xp%w^6x2#Pr z#oIuBflD^4I;0X&h4lA7AIACX=Qs~Q33x`4Q|EPvejp2NJ+>7qnj_yS-HtxKL(v5J z%EoZb!`NnXqq?FcA{Bx{gM!C3Hsb<8MWLbnv_b>zn^SifiXzd$0dE$f`I=c2J%t|O zoIF-|0@?vTk)HW)>`&rX*PoVUzZ(D1DtSXA+0dW>{f8SzAAYWxi1oL{CD8l2T9dI9 z#;`r%?YUthJ3OA)<3gS)&!TOmx7fexJ|>u0jZCag+;biF9mNltRuC(i9_8N&_1t$B zQ0UXSEx8{_?DHRa2K$q2X7dxo6PuR}`~dH0x9HkPzD}%^Nn+9}kXobqq1$UF>mI<5 z@8v%V-A-4;esCRDUe?9_k#AXi0})@7tsmh*Gr0-PG`@R#IA0{0f2aG=(!a60Rv6bR z>lB;BtsN3X+}^CO$CqvB-v^>Dd*wf|zXli9(b5-zN1kJDVSAo-?hQ=D3)MrhEJ*C- zGoAVb8SZ06M0^hyzh&JL2G@|5rL2|grImMn1*d~4bgtIdD|po%3cjWhmq}d#8L1Zs zEkSF@UTvoWT^@WIDgrZP-%xaq_ZaMhU2wv}o!)+ySEX_4agodd{VG(@uR;WE=|D9T z8nCgix|P3j1-ar;-Xh3S|0uL9yN>9uDK_pFB7)tAbjNYffQEMK(Cc$Cw4H3_dMo8c zQGQlhM5IN-uE()oC!X3?B#Prt#9zhf#SwO_OPOPBmvL;Nu5bjSTp>U7xbTJDF+AX{ z^hEriaP$+pL!twOXm{)Q=3L&F4pVW2ihI*JEY+FPr-%+U%cpWFRoFUi#{)(p(%9l{ z`!F%-2O`VzYl&RVSi`gc5lrvWPQRlcy|ENTp;@sY)qo_M{2P{km?Cr=r~{myn52kE zih7vXhv-Zf3T9OSX3$Q59zES!_czj?)J+nVQOBWTGwuU%fdq`YkKn&MYLQv0Q4t!A zSl@0z;=E>G-Ct_j%Pgf2q37PD_skZ*r<-||uHtwt1HQgcoT`pdzRb}3S5(poUGE5k zR$&x$B0bRcl+$SATKL3;RKJF%y))2zx>V2EpU93s{>~8oygc>ljy4tHJ*$)J#{-U) z2A(3cbS?czj(LP$aQct8`OMoK=8?)#dW2c9f3-w*b62JHFz=>qr1u0QwwIxEk)zmE8#>dN0RSFLa5a~@|f)a`b7e3);p zf0es)PA$Y@?}UDx(C^BGnH&~RC-m#|obGq!ag)%g^IU&rUDwTs?_3kr zvL1c-v;R&mpB+KPiJPy1hJm#=e^y@#)Nh|a|L51**uUHX;v@g^vR3&&*RyJte&*i} z{R9Xy|Mu7F==Hb3ysrOuwfeW$v(|m*Gy9rentciV&YM#Co8Mvm@Uwq*=$YAC^yW9k z@?ZZeYw>6I?7Z=3wLRu2$nAZs272^+VkL&W zWG_^K>`D52Xnbw9zQ`+fOse;E38V^zQHAJamUFET%=jx|_(WfSybyXayK|!O7*aSC zeeNXoobiZknvm_|ZEMaVxu(tG_4tO(T7DDR#OH01twm%Tj6eP%_OO3>d?hhR{~D!s zWkv`4kW8T%nt(u+PBcUoM49H;283GcTeS>ZW?HFQODH#pn%aeku&qf~k8f@c^|zC4 z{i3338c|N04j#ph`VPdVi3M-|FPd!3@kV5bY-GZ?3t!(L-duNXQT{$(CYB+nbUKy| z9ZXLa@?%K87~XRX+i#qb6$#n6Am0KiRxJ(w%^#-wTjSr9Xd-g-*3)`d@2dG0hfRtC zIiTnhP^}2X^)}Xin3Qirt1r$Yp`UrbY8X)snZ_sIQ3igWvf+V?bP#!G#($Xur|$UM z$-7V|kACCqE~gNaJFnWD_qSoXg}MHMm*ddKXKD1sDP3%i_WIe%-bn9 zWr^z|gf^n`$sLFe%Dg{`Ub*yt&Kl8YN7Mt%7w*=W4F80KxFevH>_vYFv>Gq-BmCEM?+N+kM1 zd1#~DH|p4p4<@^;e)2q`MmN&6s3#QkQO>k8?-+6Hc2*tpK>rQq22P9E;Q<{fcV{Sx z4LZ}_Fv!T=b0+t^>^t?#kBNfLYEE(+Xkq`~*!qS#b5ReR+WG&NmWgM{kZ(T~{0wT` z-$*b1>{8Mhlu?{d?Lig2^fO4v1c5o*dCZnRx$rEOBlYn4d`K^_%NIcg3{qgd>@)e7 zf03m~_s;PXIsXgc*z+id|7Yg93np=}9c%%#!@iHci}T9k(V+=)`%rS%lh{t}C_hW^ zvkg>@2XS(W{(LN%K@u5%VFcT+1n^B{o7RNx!)4=V0c&U` z2r>o3_%7^s-sb|-kpq!!@qR%4=@4+nC)I=86p`d^32elsGog0124;|2MmZlU&+94FZz>1BxLq0jTI8({+;hN zR#=-_igUSU6_;#L^5s$q%=#D#ofYx}1C`DS(ZPau0DpW(rL#hAuCqd&d5aqQxHU-x z0_D4%70%4tFQ7kHI*OK$&cg(N1`qR&<1B`OjqRjwVomy?2MW<29|GbyVfNe25_ zL1^V5!Z$W)cu-f()77uS2Fkq3peyYl{!AD+r$Lw2&|g9otwLcNkP*0zraDOQdqP|w zBM2!;N-3?%i1Uge*il0xmLfhq=}(N2V~K%$Y7Dxw1g7?4dks^vaY8!A%Qq#EL{q(g zBi__((Y2C1jX)`pC8SkT(~qT(;uA%a0;Dq)nK@Ui(bv#`)tMTUT#y_t>Cwj~eDN%q zi-(~jUfL8>LH|OP$kPUI$S7|mTV?HhehW7)>{kpSiXr3J1h(Bj9v>m%!~NMINFxu8 z`nKUm_e*Mbkckv)_l6&5?!jy8jq)b4QP#neG$E3?mUHW&Bz-61}i8OZe&Am3id z`TFn$KY>EaGi8{E2fY-W@@O`Z&VUSa7jq@6*3%Y-0`qVR3MqrW9*2wc^?DsHhq=GX zqSM+nxJ>JdnMo66gLLz32-Kg?mPDRU{rND>I#+RLD6juL`aZ?w`9A*4S)HZ0d|F(( z^gH%*$kWUwpR57pv zc9(I7e2kEff%l(8k}Zw?dc2|0q-rEvm8aXBag7bNSZ^B(^kg?0x5&AKoGTP^m57Sl z1WkIDJsKNbOKOE#RZg2VRvWWJ)-il~yFXbZe+97u5P5YxmDpVzLWYVvsr@*x6*SOD zMV*$!c(IN^i(?DiZ?^(92-*?F$C3DU|I{vQ+Bl`yPRNV=d<$&&=FR@~cq7+pgcE7x zYXz#XuxfPg!PpV}iQUSkB01WUSmU@KDc{8IYGd7-Sg{RMtj7%$+CCl0@%d+e^jKAu{TEl7#{-u0spg7z;!_VLRc7#D_tDCaagheapfEcQyVQzM*_%Yq&bwNHk{W zREyMf&K-dwN;H-Vx=b7Y5WVw=Fs!#Gpr%wfKoy>S{ikYbeB-sCIe$4 zYc&d~dVzOb%9D(%@}`4;=8+*Mw}&G%NxM3L&{tuQ3d!0~^EBu-=a1^nQTgc+_cU+P zoe8B9s%W`XCRVi?31e%swSn5Y#}x)tX-JdEles`57otPigU)l*@njwQ(cR7QuuC zDI|2Yh|6u#NLpaK3ilYdQVq>E7w|i{#6f8sOkoP-o+k~2VS2hdPn|vLjTdRj8X z>OICzK98>uiRFB-aQf;>^6s%m57yDO3uhGHqs|=i#^KBH0CR-~<_Z;&wo#D-t}yNj z`+Q--7qUmkNxb&++;+({d!b-tie;TXcq@%v5{Z&litFGhtlkiTur)Bbi>GO0367mopQoNY6qtlPI2oKjP8LI)KVY#2H$e=uP_-?#`7H|iC26rn zMp~?P2e~rzD6s9Y0G$IRo4D8>y;zKeoBndsIhc$uz*a!f|x&|6IOoA-ogU<_fcKseNv(-C&=Ec`U_)^g7_bjf`*I`R z1TXC!4@4sbT8(!~&`L~k)ankM6gEqn#44t08=WB`ubFX}lc4)(oY_zAcTI=0bU2$B zp9~Sf$!X^-b>ax)FqaiSgK4g>*WVqW#ow`bEj~-I0tt#$tQI!@M|@1xuxB~65%>I9 zHI4rf9b+}Kk+8Jg*kRH1cDLTo>Q?t^w4~VH?gcqwZpD)&PBjIjci03uM6O0Rpv1X5;iEPk`WbL#})~v6g_B4CqGG5!54)B%B&~@lx?gugG zQ(5N{27Mx#%lF~3a=bNtX(NMUudi(uOVxx*EHX8}2gkk)y>e*{_jiVRr88;t(<}2z z;)OIi@_u%j-;z}_QRTw}^AJ^zSHvNzEW8y}{<(N?{_vTYn-aH;$lnvc{(+lXhJNu8 zNcM3}X)_l+j7=Ai>AePqjUVn|Ei2lJmB4g=y98}5-G#SGink|mW$~^h;;vO(eDDu5 zc2#pM-qD`XD=4mO?OrVp{m&AU7p~(BX-$LHx8&B}FXis)1u1tB-9WE%2k>6@ZHs%* zC+GLOqx)&$3oJF{C(Trwf;n6lNOcEDv;|$C#Mc-9?((sBahzJ!a0jp>bsOMU^cJm( zl)IG?9o-elTJ}?4{4Uo$>~Pp=yWKMsph5ww(Z^eB;cO830F;T&G;uHWW03@HcvHZs zbT`E0bbD-4zn>Zl4%#3B9*R0L9(}xA)zEAbQLCE@FM+X$y};F`I>3_>0jbcjmr`~1 z^(c5q0hYmEDo4GoZ#JfjmFOoNti~sz?cNc$%{^2xWcLk3s3V0gF~k|-QQ&%NvWT=& zS_`RH8yI-0#4Mp|1S4Jk534qZX+;RC+?MQgpY2 zCmHdWAX2i15+r*4^2eGEEqtu$gpV~kM*2(d?hZsr^z#+?=Nz$JIx43}%hYhQ z>P~Y9wL?~Tg@=A}#h>FhIJ=yJAiR=5TtE5FVMEby2ArQ0{e)X8|8U%s0B${Cno`H< zn5xYqWU$RTh}Ct&qGnSA#JkR5D^C<`f4dPn53a3`JY-K|1!_e1C)uS3@fWyVS-gajeJyKaC$x>l^?)b;ZX0wpM6OO%a7XQOcsuo}5)pg|mI zNJu7?lbzFsxqhN3x~8<5(=gEN5{H=PuOU~amZncqgB~#Y=Gl!<`nuTO(`W@_K%c~iN-Tl;1%M)u~&c! z#Iheuag7p|E}I71lo@vhqr6BESbZmmLHud!C@cIH{>36+MqUJ zkjt$dlvv>k>3RB4cV><(+FHSoDr-803V6pIGNY7I=mv(YJkx-7SmA`bu0g+Hs+8zD zuoy!2MsIaoNDJfpG^eRZe8`sK#cVN0%xMJHD3hXF)fs;Zjtig!T5?BxXfpbjrIoW z{*9gWHN4&R@<+ZwVrv?iIM0U{3)3)aaWr(6Dol3k8LxL8m9vGE;9 z#A;%rJF%#yzez9YsF29Jgtg?I$7|6iX{3g&&c>T@FBfgb^>{P;OS`h?bKdcBpseoqYCA`p4xKfXjBDJ9gNuVL?Y2>l9L;g1`#l-E5lWaqhtn0gjd&C;lQ zl~kMB83NxLwI(v;FFEzkJk$9dxXD8CH22M`IlG`j0Li|tP1i_iRYNufuWMLom%F># z$`!M-un6~0j3$8%GU1v#MP9m^bI3mBi_>vm5<3v~OT;+uS?1asr z8B|c!f-Y$XPcAjoZUBq*48wl5HHo*P1@=cd0!)(PolGLS6Ce6;m%I%97tAYM0O5-Z zkkGOhRkKY=I@wq?x{j*aZs^#?%dQGK!y~cbis4{naEzMEm^BezSmWxHlX#E`>INYS z^MX`5V2Xk=2en5q|h$5lLK+*DYEr>%wk#1Nlf*T;TfUDG|ck@e2T zkbw3J$0hj=1`uSJrw+_A0>_h)@nmR{2_^#wTKY z&+bYRqF$|lhQ_{(nUE7T8Tn90a$Sb##I+ehn=?;l$zz@au>u_{WU_^Eumoas3s+Mw zZ+T~stg6;O0Ru`I^`Y}53b*1k=l)P-K|l-ghty9}hxd8ML2`LKF%_IAg7eNJ$H}Ml zN7^Up$#y}Yno=4b>+k1T`we~FeU?6##5FuR1mfkOVopsbwW1I&By!bkB6pf=GChue#AgBZxEfP zl2f%!+E#GhtsPC;THIfHsXWa_<>>s#s6F7z!GGC`VRob;Rx?(GZo%ivCqU`8sGEG* zw=bNH$1BF-DNmMi`+KcnFr_C@ErdQbPYDm;tI?f|8EnLhEDS2wt2yBF7vU!$^LM94 zu2(Cins%L{Vi{t?a*?3dIi>4MYgn4%=eB*gVC?16^_=4M#WgHHEN`Oh6nhTlykUSZ z@Ms z8R9g$jvEezTp=nOPz!-~Ue(28s!k$mGut;CNQWbg7sh<|v zr0}-}?x$L$J*EyGnn4HQWH(6AzjN>cUJSR5dx8!(?00W)FiM?2tZju=CkoVUBL$`w zm4sG_+dEn{1k7}q1=P;H4nH95{H;+*vQu6@Axb3jZ7TBB`A zkXoB+Ulb5{HVqQQYw}f7q8uU0Y4#l=5Bmyf;Qh_a`HoR@IkN`bnL6GPlZK<^?cfUqox%w>=_fz+8X<5IQSHHgVYxq+n=7w)AY@jz3PPD#2 zy?7#h8bX=Vp?^nQvUD@rzzrOZ71Bv!Je7k2Mj@wbOY>6F7(Y-&1gag6+(Y7PRm%l1 z$12z*d4zgoSMmf*lAcig7+p)gj zPakl{pu-glOwN;&#&Jc6R)l1pRy%Q%my7R)5c=EfpB`@A@JOZTCY~3#fAM-IE@mI! zZ-NoYwAv>Vl1*JwiHa$^nzq8DVmhm>Sb(2Lf+cEt6ObdBz(0JHn#gni{V;cIR5~Zl z2@@6G_{hWzSp>pSMk2z-5%sh~u{FE1Do{xY+nMZ7tuv`QNV!WH(a@Sm%ABXp9SYB6 zcuCo~DBeKe17K|(Zoo-V3kw?2Jg>QZuX-ybRoGk_p2lhR_(|`G$L*w-eXk4>h(*?L zDY8`hqS^Q>fW%mb!b}};8!q5Zyp;v~?Zub57gns`po-GVAXR%|725z6LLE=*)&~u7 z!jR}rrb*;lfn6MdRbo)khIYM5rz3PaW4D=Fu>v>~AXrZLd1L!n{Wh~pOFMLKoexR^ z-qCI!EbA0H&&5}>?`2%xYFtR80;)~om7F6Jvyv`e!59RM(^;hR)Y zt$ll!_(F+DJ`TGn2fO6m`>#e**V0G}_|<|fy$ufZq6 zZC<;_<{YjVvbhKRR3WVug9g3Wy|;?oY}nJ$LJK=28X+Z?*<4DV%Bl2qhM}GlQA9Nn zXrDxq-8pJJ?(oNWB}MTh*FEV^M4*)xiMrxcG}x_!EJPPj2B35fLbXkNQ9aez8lLUo zb<7%oCw6uO>a&nGPoiC1xFNsBZL%vo!jRP4F{%s@+EH^TPL4T3KIkF)BK9~H3-(&P zynxwf9MwY?C?ja_)l%|~9NQ+q)FXB9>c0}lv(cZR*5-Lx+@qOJVs2`kk z$8x->SPF#kugvQrD$xUg)dY9Q}@N~Jn@9!Cn<~=-R8`ZtN|{Eg zN?{W2Ch_$cc!~jHfp5QjnJ;l_z$i17p_G1>3XF|-vOMEB%b@7ADkx!xGYG}2VD~tj z^7}|yn*VTBqDz}OIa>lGJcI7AGe!AEnTNLwhE~>dCG2)w#R{{>P&sVbBgM~h{i7pb zAYE?TsGsy(y+#;ZH|lH}3dB^*2Hs%Sl?_Y=)3JCmq8cl2>X3*PjYLO-p{|CM**lgR z27Yr0cIWXw7Zd$5qz2lJHqKnusDP%F!Xs%SAuE$X$|4gQYpFKQk-mMN%s7#W`*H`! z1#M0gr$zBPPgNhh0`{dmcbro-Sg!{Zj7X+w0;rC^DI=pZZL|6#gTy$eR_KZV!*N8P zoFXA#j6*9fo^{Q^Ej$h9t#3BSr982`tF?g?cv@moIwsA?X63}qY2YKMi?qZPaiSw` z09%%F$09*G5J`YMR4mkE3h;bpzdoQ2hsz61b)lVb#49qaz`XYF8Qow${Terb@~lVL z0i1_&_lmcPzm}o*pb(c8uLa~ez6nXjS~;H}RxG`lyj z&w^a|bET`e43-VZD30k9UYpE zC1qUchZ}KN$R0R156Qxfe_@t7@TONHnOau-G<4uKQI^4=>()UX+&&7q`luyoox|7E zmPR&aT(}2^pD&jcBs)MY9|eSW~+s^ zSj{~~N@4KC?L$6WglA)z#eLvNpZ?9Kue_h|#x$z`up8<|tS$a#X}NFQba}boSo%cq z7u=JZ&~50hjVD>lZp6%fj={B}e=kP&Xu6<{F-uN{p3@R-L4VfG9KmQ4=b?|lXAF-F-uWtokyU1WSS6pC2 z31jJR_|Y4X5%jgOPV}YJB2w3_H<)OHNo`hG9PQ-^XTbC8@M%bkIN6X)H=gsj)+JsDq|hh=emmuDIZD#D(8yE8*^n zFLCccceQC=!?&~0Ew11G1CHyxr2d0CLGOQvziIF%{#Y_!c{88lPYKBlHI3D}u1-4*RHs5OSp3WL(x*+F&= zb=gg{(eAW*C^*XN#dF-zj;K4}cZVz7AzL^~hI>aXPTFNL+6S!ik+$;uNZK2V5V5d(e1i1%yL)Z4 zC1myVL4Ev2Z2dAf%n=MoED8;w&=}+(TJDxZ?h?@?Ex7?A%#kWapo^;YngbCs;s{(0 z4o84p=|)_MtGLOp{z`JwSC_7#02leI*OFKudF>|VnhJo9cu{iiS0%6An|$%LB=e(6 zXk;+I!2EwNzU4zN5%}6K0jlikb#_B<)?ywqQbu#H1y~F$y=LZ_n(bg2M;tva%IO@o z+j%4QA%}|uE`tyI6*v-GBWA%Ia>E^k1X@VU|k4B7o&FZ0HK^ikmA zAj7$Xdw2!Myn+??n;{T#m>p&{Y1Wv*$Uqrv1!Ie5U&yKhvUas2&V%y|{a#1>2h|PV za>O^{JPvTX(MDD$yBlw0OgxFzkbR=Hm>5T&!&>~g%L_opWyIN4{twEw!^QmbH~ysk z4rl!6`@K|)Mcj8`3cOCnA@u;Jz-jU5z1o1%*X1@7Ca>QbxB^(gFl>hqz^?b`eA-Z# zSLY<0Iv~1w3$Fn8w-$fxGM5NEpIWs3FMYb-+{^9cBqEoyK!;jED$Hsvn0>9HTS|3u zruviih@Xh~U9l9IGR72sXhulvP5q1&co-Ts=yPqDz-tlFcKPis{p=Qam$z`np~#2U zeig4}!|xu2dAUCJtVJH?Q(L6FzdFDh?_~{RM2Zy!*f*Ipf00H`Z-x! z+{t_fu8s=%%xV|&nW&Z=A7s5YAUUv=;>$bhEzI(iK_;gPKKkgRr&Ov_n;zX1RGm6? z>d|2EQ6|JF)xJ0U`%AnsAHJR2-92Qp@~pN#yNeurlGVC}T^mqj>Cm8W81#~REv9}W z7(ZC*@OJ-uD`UzaFfDRD;q`N?C+>+>MDP2S`%dbPm4=S{c`M})2p_KZbe5l+c_#fl z0CAsv$#s#s_>xiaEbn>6Gp*+UC;K}x#6?hmX~*T}hgeC-8LJ>)c=eCHFenH$FU24D z_%%#8a#?+>OAhK|I)g=`-rdHikNGAdnK)EB(~<033T6XK5@rM=VJ3$P+I5#~+y>Vs z%pdE9v(FVzaGyi9OFv+>KE1^AVW&slw!aLE4A@`e5{rzL?jCXUx+s@pXawx9jbWWZ zRZGk`ALc8|&K6g3$9wi8U)?YZ$yyUeY@iK zOnvqME-#0{nFUlni>{5o{7ayW+Am+t4*4NI_ZyoXgJ?|`jofccX7B!215 zThNb^co9moP-TDjZ>=w_f|4zi%b!W& z&lcZ!|8H%3jjKM=KHZui5~5}=bY_}$QW&0=${W;GgnFy#k+tMn=Oclwbf7A>H!UHg znOxU2V2DQ(P~=RE%><4Tfd$8tFOV;opHwf<_<0T2dmxk>j}w=B3)z&u9WwX!kYKc$ z7_GK%Sx>IFZ0@S2yQ-B2Yz$P>{_XLdle>u?CaU?`80Y@)H==9MP2^$wA@2h1oeO2hAU1<8$s{$I(#zmZ zWFeuqmhkdNc5Ni_O^x`P`|qOL(bu3GH_Vwl7(Wy^O!$vDo;XjQGC!_4NNWztFF#zt zD4(fY{`J=^z6xvt7D@m?caB}~%EALVEU(@F44FY#h3DE0abIzIiJP?JLf3U6I51pC)c&;rrQ% z=Tk33ePTJf#GP`E`2nuwiH&3m<4< zN6uO&jY-;&kp=e-5%(Y|H{2Vv`1OQO=TOQ>X?LeyPwVtu7HuEVr|syMQus6IuAi}U zWBt8eUIF{LA-%h6NJ|XK2HRz1OMhptiSF$(>C{l3R7<)WC|m)fXasxzM7N&Fg71Q? z=*?R%EX~GomhCGmTH%J^zVK4Hx}x|AR9^bT(w$u7!q6MA^k0ND?#){->x42rT}Y>3 z6I)qJO4JuQ_#(6hSHQ>6#j=+DPKETMtLWhVAwq`-T#rU}(UHp3-n@hm=l3xbj!O)i zQ;F0p@OMTIx=ua!7CA)eM(v-K_5q#3w}HVJ0N(-kR|c)?pZ*ky@EgoaA1Qtnji3=0 zFks?S_!JABTJh$s@E9I1{tx$Yd{=NY`uoz2jNy}Bx`n|Ri=U!7JdP;m1(PPvbn;okLa5J;BF2F*s;Jk3c8Jy*wpnq#?4$T{S@bo8;@9s{TEOMn!`{+}g<}6ntY%B|zqONBDH4KHZvE zOn2-z90JUi<(iU!vvy#6ls`xC=ak2vC7%r)FMwj+zN3-z14ObU;1&g(r}~d63Ux%G zKD1>ujIHfe^J$epCTZzx?rbpDLhOmI0tjRU`sgCNrNrjo&kR2NEcl_zpWPLD zbb2qH-@DlPEOT-9Ub>dsC>HaTJBiMn#;p&N>pUA`Tj<#K%$__5mttCis>V2b(oOp$ zi-hFyuBToipKu%r%+mh-W4VcOV2PRb?x*Iamsn!j#sq;qgulkIV+(mt*E-2ITC%mN zZci)Gj;fNFhMCx0W`FD`5j*ZV{S^6xaZ!1U?mQ$ZG^T);rgn4(wX>GtrCEmlO1$0w zb|n$|ztZ_XEN}RY?}}N`3Q#cJhk9A9(0ZX^I>m5AJ}rb$N!aKCLY_vW0;W7VB_c&V zv&5^nkoN{R0?mJYZlUuOm51pAXe|a4$@nxgi)iRK8lmsfIod^Qy#Y&<^81GDUY=!~ zW!30=EtF1gb1k8wy*~1&ZP9&##u#18jPNB>07Ok?oH;nAp(D*p%cHfU>&;&-?-d$b zRbsVNE||V*r=V4L`@3!l|2;kdGhiZX|;)1ZQg>Yhx`#d`fy$8P<+7Y~Wvd_w`-_#h!35;*A2mNMLLz1MN*=DFbH;E$4gd&wldqbpX)vqdGBu*smKp{?{a^6Ba56-a$h8_#$ z$jQe-{X=wrtl!`3CR*9UErXyWx~!;0y8j3E#imO)bG2iNP#bgwWRj5~*q`XOuXw?7t4ka0<>a}rw8sj2QcYAU-lWgHlb1u`&+?95G*i<d6CI5e!m@{B>2Nz|yLf(b~4oPFWYB zl}P~Zv|@egiQT*+&3R_@NGeC?Qib3lWdqYY46ySV&Eh*lNd0ux&?Mjzd1@?IO zuysX^Lv>VjqfrTIqf!qAV!2%bbJ<>HNHwO4D>I5|`C8RhQC%%jSF70m2wCfHhzjYb zFeS^W3B)UYgS#Lp2qzkeWbKoW0tg5ZrUQxAU&*r9wiKa(Xk8UC#2v+8VbWV6!epa8iq`PAlcw(~R zZGR!FTl{K*n;DDE_>U9*MaK)Tlj#4bej+$WpKaPcv4&bxDO?AA>FFtn1uLw9n~5W8<} zPqjsA5g6LkfZ$WN!vK{?<_rR+BcK~M=S;co1HDhceg4ZO6Zg*BFS60MO5NPs`d5CF z1@lTApqyICy2$?Ck65KX&JPD5fG$HNE-odboD=SY0DFzk=jQkCkL;b?HNQ1idtmDm z>nBIbcOKe#yy{%-F~Jep!bEC1xj$JLn-1nZ-LMOkyF2)8yF@jOb+xs%g5A<8q6by8 z5A^1&aT>gnYEV6>AqILMlh>2W;+Gn^j#bBOtf4?~01BaDl>mB70>8j3U?8pK5Z9s# z$lBLK@&&n`tC*A>Q_QMU6^1B`NW_SMQsIzM+Rol?07G=EtQITyRO0YZ`BV5z6y6&#+x4}u*O1XaP zsKsOc!;9MFR6FI4%Zqx0duLEEMhIf6!ZEVo%0^OjB$}A$Oag%9KJkd zbc8$#Y11@a`h=3}n~WuZ(IS+}I;X+Zo0JeVDq{>yhrijuuO(~EOQSB$%%}?^SOUBX z4Z@{B>uttF^Ys3=hGv!(Z$kwbWo%+e>`EWtD18y2Ve#4@>mT41`eTEv3oAJN&#}J4 z0k1Y1BKwCQgYxv;z}(;*ec?jssZr8wGj*!k0)pCaBZ%47*EeiQQ$dnXl#38bOCd3aaN)hP$A-WyAx~q+1-5P7>&| z96$;$&1~;3F6W|8U%+$hZFR;@n3qy0#QFw8&+p#(D0y4((J2^u$sbjpqs|=(pQ;qXV= zyjoi0jhfSx*E2Ba;rRxggF{2z~BBkRg^Nr5BK9)s4e44bgWem2>55P2>*Lh57SVuu!dn+9>0?G zU?qATRibCXk{9$`yfTSaa?TGOjTaV(!b0fG_sLw(v}KOAOz3Bn2V0Hhp*l~)NHbw? z8v-h*`!$SBq1Bk_1?4RoOG4}j& zw(&*I>fqKXKFyyxtUL$B%DZhKHr)xJmDP@%3i?W`gzN9w&|+A9pmA`p#7V&-vb zJZcB%PiWK^aVKDc)h+cY!Vn&Yq81=jnhfP363ly#zd#-{AJWd#>bds0miabK`9w{u z-p41r_4eI6$aTh@od5&vlmZM?DtE_}JY~$7KTJL~FgFyT8<-2MT}M`$nv@D!uIw;C zYfokOfp_$GMNJ99FlGf1^)bhSZ;tlQj?HFf!By&DEXEDQ|9^DL+zBn4Rb?OcD_@2l z)km*>qk+H9RpJ+L=5MuG-_uq@TY*va7JPYG3vns&E&pQhK zN!p){jW1Q|CY>-H1Ju_km|dyH_i%gw*ZJ7=D5U@XaWrfhBKjp1Jl|PQ{@b7ljR^V9-KSnvkWqEgwY+g&Q z?tVnS4Z5xW`d)tJ*GtQ;&;a`@Ra@<)RadxxpBAs?qKfmIFi~%5?rH;8FqKjP{XRuU zx12JVm{DrOpk>fHXl^Y}b+dZy?tU*7PuRU_-ncg!S*o-+3WvyNI*-&((%JgWF!WUq zEW|ZDpzjz+mc$ZN2^|>pYmQ_8+%Sw%6>oWu0^~Kj-_=4ypMU|HXk~^!3(9M=2fG%j z*(rxV!%O*6vE)Q&xLhWdDx^SuAr%3U<2@Ubi*>x(Ma3(>Akq0Geu_Q(quBYmL&TxE z6JyU)>14NloHwS6s>2;HaHWd2hgu<35x3YIsm(ie(t2KPP&Yhg&v?4$VQn~>s>`F4|>pNhki+*&80WE9q3Gu{lo#i z9M)mGuc3 zM=VYN$11LY|K*%l9%{_cnZ~XD2Y&CSI(twjgX*QsU$+rPj}!0aipBvT;AWsLpJ$^E z{3>gjjrHhPKSdAuGNUoKx57Q@bUJK=&F&oZP|guXS#e~NHDt967%6pEZ#N9hnDu&{ zMypgy)q*eKwdMF`xDzn%ufNyEq4hhsFxZ+ZDIdUP5cm%r8+h_rvbYM6HB%e_Y$%^Y zWf1uHR`x%-mMpEAfNt#lpkUKF*e^E8G|CF4Mh4lXQ058&COl+{_orI>%7+9Vak!mm z4^067&i)C{SeO@zd(uN$0^eO);Nshh*D|nrMJb@#ZD`Y}w1x`95+tr`i4_gru{9Lv z9i_74&JYx9f`NoDhZM!r<;`q-OX=D=sKx?U$;C2MgEx+|M*#GQssI!8=5?j3FI@*W z`Jqu8Xc6ow{t{r1UQL$RfIZs4e&M)33kBPW(7`k06P^3(VWHM<9=)G3LoXeF7M(#f z``O3!au|SZ4=}4sUEd6=OR!z{AQ;R4Z6J^*%Zk#=kFuKO|MsQpfU~YwVS1<&FKfZ; zDztZMAJq!rzYeX1Xw|Ssa5Zb3{XMjw>&|!|AANCT!hPQVbN5TmMSG4w>e3sftJz+! zC+^KdoUt6H$$vMBzyfQ)D@_3`J7JsFfk0v8&JdVUEVrf zuT{&_ckA_fm0qcr7zCSOd4B~hNbtf}*qhK=Lr$O6hbr_zy~i*@*fd>3ddg_&@3rzq znps1(kpU;=a`yE&cn+(>5jyU|2ysSSF3#Xv|Vy0ozGSUE=Bo=KePoR}5J3C;OITVQp zGVs~>#7Lf+pMJ}dwbYZl)J?*6y1ltlzna=3Im>=_QP&1bRT>5+DuG$7mV-aE!MMVQ z+}CUVgnj*8y!u0)4*h-EU&Ov$^BUJAF)9teiU?kJ+ zjk+h?8P9_I^fVHc54mk=$D!f4z2H1bAmtMF1Q*!fDs47yGu9iW6(0q{b44uF|Bu1B zG6tvU0o>Ec7rG$m+wHCJ?yVcyLv4Yuua;LU6*kCs5bZnk8^29H@}jBsX(b_HR(^sU!B(c5H&!Hu~uPT6(Vb$&Ob5+*5r`X%%P9z_w6hfoLo! zkDVi*3LVXZ_HzDM=sOI!XBD@&iu0ZR$Cdd;BHtLSS_>K0_C`M4$ls=X@Gk}Hd9|## zA)%r(1us;ITw zy>WOyarNAj4CPId3rBzh)iZzH!q_tS7iZc2vf{w|&$Z$5Z!&+uDPIRSem6vt0}>>9 z^E!0x+g>~yS^zJun5zR+19?)=WB{k(Hs{JNR{T^-p|9N%hDrcEIh%+gnxNv zBaN;vp5@NxWL1D8-s!pfMov1lfoUQ*?F6>)rsR1Ul3x!$FjGla&MdY)OU>q7K!lAy0a$<&`<0E5hcx;?9DR?4-zB8A z%?jv75lX4ZD4-tN89xLM^N{-ND`fgH|G*&q-0`zh&%?v~+fa!><$sCv3>X}qhY7aV z%8Iw)RUnvv9%lI;Dl&Y_60A0T%dkx^tJJlvarC|@_haqTvt#~JQ4Arub4#-lU zWhW-X&wJ4)!Suu2I2YXofX53@U0|J&&()04V>RnMw}U<#L#^GUkhCfo=%t~C;W4g_ zHqnvBw6p-vD8J9NKpid&JCnS$Gwuqx+#@02{UV?_=0&LCqg$M6YEzDP2|U$T)Z7tNGlsF@x=%K>2gwg>KPK*8R8iZQlg9B`LDNf+BGD$ zry-}U1Q}DvX$3}!s-r@#lIZyqU*d@YLtfOF?9VYdZG%@B1z36{*L9dWG&Pz6?!lBd zJCr9J9X<4=ZeC`%&)TFC}{@zT7^!)W-s=>J6XqY=Bk!sP@;pLf4KrP`v?@w&Q{ zlJ>d>@v?Hf5(!)36>KO=7iD;sy%%4!)|y3nMTJ7AF*0wFsgsynSv@W{)JYa6j{L&S zn?k2y%|rTs{?}Z+1Rlu_^cf5_2UZiq9yrfF)IZld4aA;kMd@1RJzs}1`~HJ@Mh*SY zj>hwFswNJ;4kwIKolxBf@$eP+e2P}o{WsA=Zyw+-^s`PbIQ&z*oG&pB73;u^^WX{c zboW7hp4Lq%60HFuAgXh2r(^@HfnL>P0&067YsH&-K#jBGgRIe|#(q1~5Wl*gl}{O! z5nf2)YOEspJxvxNZIN~8xE;x7rzy@^lWft!Hq@y7J*ZTaVr1)A$A$jqUTNogpB@1I3gJH?wcYdpF~MkZv=`%P}8@6TY@0%SQ6ja@ne0 zqeXAfR#+{1y#km*=Ygy6F7Ji}Fw2im0qu_0KWq>2JR?3AP+vY!j@PEqS_Uy8DP+20 zR3h$*#CX6Q0tDWKH#c(NIQf$PiFSZRvlz4Mt)-@hTmTIbXLd9Zh!EjG*cFArMuzUi-QzPvlmsqvv|6n} zVq#d?*0(?Q^Rx<<-`_WOZb;J+?=v}T{wog8#0K!2)7QKz12b59z za3EoG+8j1}g(u{X=N@+}GCL37T`^I``Y9XV{}zZIzEpo-{kpo1aL`Yd6~F#&&(>P1 z#LpEgTftr}M?!97n1#i#F)v7Z5zWyTmXnt33j0T(LT2c-1b-^8 zm{0O`Vi~Z5$@r#i(9FLcj)kh={OHr1D;);qagNJeos5G6N$xk0;)lQIh+Ez{;+L*? zMCQVP>`#HN{yhhB>$xwSj?69a4$Q@#{66`(VS$kd%8QeY&;V=P3)EKCf^MCRC(%n) zZ8E6ajK#+MaW~-^&x}k_Cl9IxP@54%ciA=&cv^xA>@}TR`2b_!Z|nRvwRZE^!CgF6 z2W$J|XWE#Ms?pCK4@Hu`X~LJaA2>-qVL70kq_xwEWE-4LCUyeFe!Y?pxLUq?OYbTI ze+r2hw+5P$1iR8v<8P#WjS)#gMJVGbQx4|#oWLl!9C~m2COi3ncBuDmT|=(XZI!_# zv^96u0f%C^0D3P4-Q(XOpY<*#fXX;A6=qm~t|~(eAuL*lMU1Oav+*al)ZSS;Dol3p zlJY72d_M-J*mATH@H%fX!qzl7gTTWT)B$1B`GeV?KvV7W!12d0lw5$81`I=?Uzg(C z{s`;o_G7!I>FJ#hg&=wPh%wft!{t)7-mEgqz+fsHdn>6HvBM8pgs(HwHBNNJEr}#q zT+SXCcx>2Ce)(B0a2NaHp-2oGO0gKQY0XV_>j5;SizvJz*bBN#cXIzAcL4w~-i^Wl zP{xP;%IebBKchyg}q0x zFI?y^-HtxRpm2};mB2kTZs#&cNGrYwTtLNd{SjO~@8`wBhu+Nn*~Adh?To$pLaFj7 z`^20lp5mpKJk|kiu62x#iE2GtsSa>!wa|@(ZqFxmcXZboMO{F5-laAu-ydF&MZM!; zUU=L)Z9n3C&hZO7svuw(`!22?DLm|>1;*ixsXUCs(~H{~hu2`L1lxLb8OV98#-`^u zSGtBe@Q1*cxq68&lZ_%tZVOUOT=|fI=tyvJB8@WdXZZiEoXPLsx%(#5sUWaIP5_PD z;e3}Af-|YRZWE-N?-BFG?l;riKSu`h>Gu-0q4ke^s648;@lQzF@YtKb{Hw;s=rd*L zPWB*P#TtWB#VV+0Ed^S54#F<>vWemmAQJvkDF(us=!-9$L7zdadrsi5@|L5ONS(xL z^raU3B{m{TF$jDXUt~Xj%mBT|NqL|NdXJjDLLed+F7+PK0OY>t##VeIzDI)YfxzsB zE5<)J!NF^jz@1&HS>4-)F5rjuvDTz|}ECl+S``M(X_r8tBtLP zWx5P)f2YniwDj}#w|-t#hF$>;49HnBOZ{^E1m~N5thOKES0F2>E`tKg(uYiW4pjAI zoNq#O@B^#_+rL;g{!Rg3$N@;gD<89-ZxUM4P+K`x7JMi7Y2^Tag8HvmUc;uP+TJp> z4-^|780Xl~1G9rUXDU#U@yDZ~6cJ20v-!VWbNTmm#52N)_N*qWnK8`+2Pul_xr4w& z$5_1EPY*44v+)X$@XOBrbwmb#kNROkmR4pBlLpX%h0a(pQRaDPT|#y#LNEWxP@Bul zG@pmXWP8_QYUbb-sQtrM`wS$}M`}Vi+vD zfUM}VNnFlG>xwkPY|?tCNcxOdz z=iq-vZA*j{@6^&hVr6bwk^la+{JR>~SL$)Y#NPW?`bRF*MTS9dL-7v6@R`oT{4|~B zZ}#0o)$Cq^?WUj`y@c1Dn;$+vJ$+a&1FdjbpzcwKj+O&d3-7;xj&h#T9g=0}bX%=& zBPD9->lN{oz3oP^mOyh$h470U=a@U_1@xBB;Ts}`V&Op_HNp0RGP0lN?sn-ND#G3| zEET~~uZUT#zVr&WweKKAsK!sj@eaf`uLd1-VcXMD@;~dy@DbfSk&cIK{?`kPskiv7Q?}_&8{e4VSLN z_p#5Q8yyi>)Ds7reV!45%CiUev!2i&Zl9qG?Se3LNyJ74RBsguQCGcrpElD0&5sVL z3kKC>RwGnGjdHzGH!3d=ctWli&|xN{wg3?A>ZC9fCw1=W-*~Ix+lsxdL>;uZcanUM zD5ju0Vrjz^b^1j1sYRY&7;cZjFdY<=vs5%TY>)9m_K-8=?HVg@7c@bibZ1j|7EUy) zgV7D-PI9q}J#@~0IFThL5?Ozq`tJ04{11aXJX_YmsT!&E3TTzIyZ{|P&|cwK4N z$F+WYPllUMB;U%@q3Qig#f7@l^y#{d>3gYGkww?S16ga8f)Vb9I(T5*LwMqeku>$x z5y=*4oNf-@dn;Mm*vEd*xiM5thqnKJ?0pG%9L1GC%X(&d3DG8m_DbEPhXfV~0m2c$ zoWTTGu3%$~@r5nRvaEA7_l)MgG&;~Rn)|*rqZy54NtO?6BMdQiLb#F;!WBb+B#`Au zve~T`HOl^9k7Qd09FPLW?4M7cJ>AuHzIs*ls_MPp%Tx`E2+{DkZWq0$gvEwmLj5Fr z5x--Zd1XtbdcCafu#>8#Yx^GtEv^aG&)eUCj{Dqw&0jld023!0K%qT<`5d)V+3OGC zn4<^r!Z{sF9WRp&RDn-;D7WKeKl(!PTc3x{!Iy_(|A;SEcG02X`Es%H)6%j%;vU2{ z)p>l+cb}R3Jt+xYj?amic}RoKJp6JFAl80bO2o%>hJo*!sy@E$J(JTmdA7I$u7-?bsDLdbGo&`3P4lK`_}pD8DCvonggVu{5DW*3UdS{@T&lSS}pP> zO5h1&k5FU1!_GY8><`4Epw1M{fUd-N@xVOl^J!89U4*TNDE-;B6MeP#^dWZJbsHIf z=3Vd43u8a77~3EFb>~|j-K8l%ha%K;MW!v*>bF*a&A3TNX{|<$h0$7??3L}{RN@bP z4`%jIk=CHm%NV^Hm)t=#!&dL_@&I^6x{Zv1qt6>>dX@jldNsgrx^j+nv9pR#$OvWZ z8SkG*DqLBv?CEe0^uGFI3%?OFr%F1Tp&`h)HWSpP*+ z-8p(7+0hmf2HSjAw}EgOdR1ad(XJ_>xmj$+cA{OQ?a%z(Dgt&>v?I=KkoLq)4?w}4)Dw?ijXJB%*7 zm#_!h!R=lcybE}lUa#95@Q!ztcXj(7NB~(s8sYkePvAM_!*l6paWJ>Mc*opl(c`sg z`Q20(`H=wOzn=U_$%R25`1i5)SZS-Z-EQOD@_-8ia3Rw-?ZUuKyTOG)ALqh=b0Kp< z$%Vn3k}N6qfBHwE9ANmXs2jfuDBs-D*p0dY0d7Pv*C{ggB%JboQl7}nC;KdVl|P3Q z-j4)x&;J8HVm@)}4uVScC#~oN%<}X0QuWEe-cb}UBfXwpmrLk$_Imu3x6KPKq?{IW zubFcYX|oBf;QP%$8G6kw8)J2HW4#0K_ zM|rFdgiQeo%(sA#N2&+B`O`@_2SGNt=mS>$gjHg{ek2(%HUNHy$1 zxt%+slkh|HC}jVkU1j*Hf4Ii%rIQ?lK6iq2>D0f^;mmw~b^id7pPKr~At`Z=lv|1) zn@M>zYzt_etS0B|i9j^@PvFj&vyfVJkavBNAZ=MwTpIw-y9%cS6!F`vDq+d5k(_vJ zQPIwg+;BdUh``ZeB;J<-$J4DQ@I7R3sH7BrllvUXhZ14<9E`!|@QkTZpGHC9KOaPY z7UXRG`XpmWw1gFY!lzL5$?28rnwN7h>#t3Aam$2l+HH-6wpiO+Z8M&3Ow*pmzz>e;7 z5P+XpHGs^naf_=deBdB@ zTJSUNu0}9mZd?~wLW`6gc9T$JGuo_HvqjS)6NAAaH~0<+l7rr`KNtwWozeW9h@i#A zzs!RzR4n;vw*dWHF*lEz%(K~j#rF?QxSvH^HWx<^&B`CSy`93A6Wlcmcqh(~iYz|u z!iWMCSTC7w4*Es$pFfY|ceHF!;kk01Qvo1=gj1&IQPMS%4gkYZ*|j#4MXu5t?40`0)u{V3YvQ7*-g(Hu5%#7} zv4yq8=jSmg+y#Q+^s$htm^iWM!^#gG)uaJO=hI__`4Q@~WS^0#yASU~K3%5RS$y@- zyqy}LYLyQO&?OhCqWnsxznf-5v2 z%mfm#P=*MkotXh@%)CXNXVf`Se{~$6^jLXgK;}_6xk;{He`$OQU_oa1yn zW;cVyh&ieUYtj1h$DR~t8qzh%ibPF~cN4v?<}e17j8I9<5;4{2l7y8^SP{|03_eT0 zeyj4`RptGLsMe<@eCj@h7z{Mtn8&>HaB%|}(Ym!-s=i)xt3=%65HU)J%A*O^Wy|lr ztsom!jq573Bn~Xl3*y84CF?rOk2ttW2{k4L>!icHU?IBD_!Nc24Uyh*XpdW zIorJAS$cMQ?#wB3>x#?2{RTK(8V= zdZR?!0%{>ji$Y2@x+M`c6IG{m1Li@~m}RGB+?F#&w4hh;g@$@uj-Q(Q-1P;uM%#pc zGxxTB5QORX^Ep^W;Lng;1V`m?R^H8D9;q5>W}3H5=%1t~9`+_45!OGavZ`8D_KG&O zvO`8!Ho8KvhYguyNeb++yCIPP-8M!2f47Vxi++m+=%Y3LAQZ| zE&2}Ukn&&Px8$GlR{UraKHIcRdtJ-3+F$6Os(7z>*F4(t7xWal7JtuJX&z{ebUG^T zLziquC#xPWS+;}k3?2wa_kbHnxQuALT6vdY17R*!&7+(T!0zI^i{qq}Z$me?pkG1b z(#7m!xPtdve&H{Jzc0L)daArf=avRHCsqtzwjKW~@q7M5s3OazFYmG9Z?xhCZQrf1 z-`sI;H6`U6$E3g5^p`61&*h8w%3GCpt5$0&TUM!;!7Osh(Z*+ZC4P{!p>NsI$)zGM zdu$O8eVspuzOofv>)p8%FA6P*-054#*-$=qFbyaOi})sdM=R#H-`=sY-B3}*H|#d< zH9ckmUlf)R{oZoJgSI3@(l6C5ZNmQ|J5O^p#IZfv_Grf=Q2fzwy8nJ0T8yfXGOHad zjvdGL9O8lKd%|~K= z(wnWh-2J4B_Z(UgS5LZ+hf59o)wBLV(V~o%c**`?JRZz~^B!kzh?>xDYbY=ch2^R1 zg6JZ2Q@MJ(bg(f=Bpa)}tLZ9m^aeNmDsWj;L#S)a06|u~w!mI2crN@{0pL0cJEA|P zfAw(vZGh)?5x%**d7ovcA+M>(YZGdpobXEeBvPumPZ3q7 zWwP>^B(2H;Jo`Z2R-gxSt{{Lg%oRd;Wa{#{p9`F@Xng1jJf9O#$K;>L4he5x$AG4h zGPD{^7RF@JSd})HqC5k@#vwlu^toU^m^4L{K1SgcJL|!L(sfgRnyZNfN>56UQIrgd zihH4`klz(a99`6Zg9p}t-D7o_02jGOqo&SjUu?bKu-4F|GKc}6-&VDps&PoX8phia zF{WFI*7RumLo|TPJkH;z-zgeqhD7VbOXyYLDgaEqt#!Ia`L-L%W3iNf0NfI$w)E_w z2jd-fj}Wf~EgYxc=MMKKdk1=kd-n8}Kj8$3JAA32R>rx0GW50jAsol7K@EB1Kg#??va&8`@-(9mk4;B zp(vHGgw$R}?UD6~x`;Hs>(gPUGbX)chb++!+RWj&`5W(cx(goBWo5&EE?8 zQGs?poeH~x9-$}D7wL-2y30E>ZN^qW-L{zlb=w4}+g72q$JA$V%L4{idl%?j>AO|5 zOk>jl9Jju;rBgv{!xUK>-m@5-cji?6Tt_-uKDnH$cBt0}=xR=ftJgz2JRJa=>9>2^ zTy{r$pfzbF+Pwab038cB18^PfcZ9p5rE0gE>^8z?w*n}f-O>%{oVIS0L+7lDl=o;1 z-4 z`km+EKQOtE4C&u{OA+JYo30}zZM_Zt=7h9Dn#dcs(p&SsbV8U&`?I}+lHT&RW|IuC z1l6GW&G}OGM8R8J)Rb%+An-rW!(ft|nq;x7@X4^!p(`Gqw>H#e_$Mc1mz1GuSOMO< zFci4(J>KTyOI-9nlh=}0!Mdq>{aZY=@c$xleeYjA@8$LO?;clH2f=qA2)+ZIad3rO z;kP+q6*je+O;(V!b*<_)m#jSLh`PdlBJ6jC;voKpm0m^(l6FHEfmWRRe{g6V-!&U0 zn}CMxa+A76SD{l&txa^3)D=_TCJ_nLeuK$28k;K7AqlWT6}iX2F*L@?Sr$Lb{!6%pfl$R zu--q8i_yHK1hxjuvFEG8d!jB{^OGasdh??lCZQX_3ha}p9nV%%E@NLrffLgN247u_ z&i%*;&F_o_T?weOAMJ)}ekUpD@nX}7N!K!TCb)Qm-B7A8>IG@a ztD38>ZWXdu<6obkoxs}QEKruX@H>$f-gkVkWt_Feg?j|F`B=V1*>fh(1htI!K;Vq= zZpO>WSw~j?^#bhNkRNV^PEY`4>13Q-{AXFqOW)zWHJ3)eH>n}vR4NkV4ybr&HRh8? zoz+3ZQTT*y_CItybz|v(=o53tybhs;@X9X~8y#nf_Ke%+Fg}l?JemOHk)I4)k1^fNQ>eLu-AjJpmh~VacrHE)70*2}sdIeAolZPR9^@SJe$b!r zqw~5q%HdzmhVVWH@|$Zu)+F=713wR|j?@P|Js*=0_JsGsh&=NW_&*;9JTQ7R{fBEyc%)tG~nRPH=*=?H_a7yAS{N^PnvH7@7FQrz{eE z?9K7#MB7ha@ILW-gC#z-Yv|9Z*U$+d-kWPOpdQW_UC+L1gy$AA6emiD94g5k|VFZfrw# zz?}?)!M$nJmCRC!)`T&^G--KmjiW_Ft*&pn-OL0x)w&w!Rcj66b;A3_o2o@C3DHX3 z(%Y%qgG&ciGTBw5)w{r<$gbU-LlJOMyj^%d>mvuW{o+J55wG!pBip6sHL4m$RU;KQ z0(@;_qqUK4XgGwJBp)H+UMPs9AT0p*=zxvLly?XXH`CL)#L$c;3#$Zcc!i; z!JXvxUDO{HKL?lHToa<;kS*%&AEIK=gcQ?!s0mW5LZ@MLI+?N2MnpxM-IX*x`-hj~ zA6y?>x^;ta!`Q>hC+LxaI|{z?qNz-Hguu6iQ3|`%(#%+-dX-v7 z=+ttngqF&=OEz^-7qg@ZbIP9Xrylq2NMx8yJm((=tdW(IkCW&$ya3caP5}U6B>Lia z!Ph_FIxc+T_rg4{C+?g&@I@al^W5-=r~dgwA6duwK4s6;;x9TcocS4F{GeCi_U*); zkJ($tzu3Ka$&_L4*RyORI>CptyZGmMH0wNcK53O1G#Wr^)ky92biK^s1)V*wA#6<% z)?`~@8#o$WRJ=@Zi)&T5o(b0^r8zyJ&yCu4(mO|-ft)ZGNTy+}4;NeyJu?$`Q(L{Q znYjZ`%;V(jf56+Z#mwnH6Lzh(T?ud#1o;%ehnjXt*L0cBcy;l!E20YLkvJ>D6X&E78TV)ikSo znglCD>t-8-?wVRb0!LH{_Qo<}`)4Y2Sf;JgHZ^D%*HP^9k8$6J1=hleLz%C9K=7