From d532824aec25e20efccb80860b990db0b85780ac Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 2 Feb 2015 14:46:48 -0800 Subject: [PATCH 01/31] implement functions for patterns It introduces a new function type, FadedStopsFunction, that transitions between the stops values instead of interpolating between them. --- src/mbgl/renderer/painter.cpp | 6 +- src/mbgl/renderer/painter_fill.cpp | 42 +++---- src/mbgl/shader/pattern.fragment.glsl | 17 +-- src/mbgl/shader/pattern.vertex.glsl | 9 +- src/mbgl/shader/pattern_shader.hpp | 9 +- src/mbgl/style/fadedfunction_properties.cpp | 51 ++++++++ src/mbgl/style/fadedfunction_properties.hpp | 24 ++++ src/mbgl/style/property_value.hpp | 4 +- src/mbgl/style/style.cpp | 4 +- src/mbgl/style/style.hpp | 2 + src/mbgl/style/style_layer.cpp | 133 ++++++++++---------- src/mbgl/style/style_layer.hpp | 9 +- src/mbgl/style/style_layer_group.cpp | 4 +- src/mbgl/style/style_layer_group.hpp | 2 +- src/mbgl/style/style_parser.cpp | 120 +++++++++++++----- src/mbgl/style/style_parser.hpp | 4 + src/mbgl/style/style_properties.hpp | 4 +- src/mbgl/style/types.hpp | 10 ++ src/mbgl/style/zoom_history.hpp | 39 ++++++ 19 files changed, 352 insertions(+), 141 deletions(-) create mode 100644 src/mbgl/style/fadedfunction_properties.cpp create mode 100644 src/mbgl/style/fadedfunction_properties.hpp create mode 100644 src/mbgl/style/zoom_history.hpp diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 0fb99826c..448b38074 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -385,8 +385,8 @@ void Painter::renderBackground(util::ptr layer_desc) { useProgram(patternShader->program); patternShader->u_matrix = identityMatrix; - patternShader->u_pattern_tl = imagePos.tl; - patternShader->u_pattern_br = imagePos.br; + patternShader->u_pattern_tl_a = imagePos.tl; + patternShader->u_pattern_br_a = imagePos.br; patternShader->u_mix = zoomFraction; patternShader->u_opacity = properties.opacity; @@ -408,7 +408,7 @@ void Painter::renderBackground(util::ptr layer_desc) { matrix::scale(matrix, matrix, scale * state.getWidth() / 2, -scale * state.getHeight() / 2); - patternShader->u_patternmatrix = matrix; + patternShader->u_patternmatrix_a = matrix; backgroundBuffer.bind(); patternShader->bind(0); diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index 5e8f46d34..10d4aa332 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -33,7 +33,7 @@ void Painter::renderFill(FillBucket& bucket, util::ptr layer_desc, c stroke_color[3] *= properties.opacity; } - const bool pattern = properties.image.size(); + const bool pattern = properties.image.low.size(); bool outline = properties.antialias && !pattern && properties.stroke_color != properties.fill_color; bool fringeline = properties.antialias && !pattern && properties.stroke_color == properties.fill_color; @@ -59,34 +59,32 @@ void Painter::renderFill(FillBucket& bucket, util::ptr layer_desc, c if (pattern) { // Image fill. if (pass == RenderPass::Translucent) { - const SpriteAtlasPosition pos = spriteAtlas.getPosition(properties.image, true); + const SpriteAtlasPosition posA = spriteAtlas.getPosition(properties.image.low, true); + const SpriteAtlasPosition posB = spriteAtlas.getPosition(properties.image.high, true); float factor = 8.0 / std::pow(2, state.getIntegerZoom() - id.z); - float mix; - float duration = 300 * 1_millisecond; - const float fraction = std::fmod(float(state.getZoom()), 1.0f); - float t = std::min((util::now() - lastIntegerZoomTime) / duration, 1.0f); - if (state.getZoom() > lastIntegerZoom) { - // zooming in - mix = fraction + (1.0f - fraction) * t; - factor *= 2.0; - } else { - // zooming out - mix = fraction - fraction * t; - } - - mat3 patternMatrix; - matrix::identity(patternMatrix); - matrix::scale(patternMatrix, patternMatrix, 1.0f / (pos.size[0] * factor), 1.0f / (pos.size[1] * factor)); + mat3 patternMatrixA; + matrix::identity(patternMatrixA); + matrix::scale(patternMatrixA, patternMatrixA, + 1.0f / (posA.size[0] * factor * properties.image.lowScale), + 1.0f / (posA.size[1] * factor * properties.image.lowScale)); + mat3 patternMatrixB; + matrix::identity(patternMatrixB); + matrix::scale(patternMatrixB, patternMatrixB, + 1.0f / (posB.size[0] * factor * properties.image.highScale), + 1.0f / (posB.size[1] * factor * properties.image.highScale)); useProgram(patternShader->program); patternShader->u_matrix = vtxMatrix; - patternShader->u_pattern_tl = pos.tl; - patternShader->u_pattern_br = pos.br; + patternShader->u_pattern_tl_a = posA.tl; + patternShader->u_pattern_br_a = posA.br; + patternShader->u_pattern_tl_b = posB.tl; + patternShader->u_pattern_br_b = posB.br; patternShader->u_opacity = properties.opacity; patternShader->u_image = 0; - patternShader->u_mix = mix; - patternShader->u_patternmatrix = patternMatrix; + patternShader->u_mix = properties.image.t; + patternShader->u_patternmatrix_a = patternMatrixA; + patternShader->u_patternmatrix_b = patternMatrixB; MBGL_CHECK_ERROR(glActiveTexture(GL_TEXTURE0)); spriteAtlas.bind(true); diff --git a/src/mbgl/shader/pattern.fragment.glsl b/src/mbgl/shader/pattern.fragment.glsl index ba6aed302..a28a52ce3 100644 --- a/src/mbgl/shader/pattern.fragment.glsl +++ b/src/mbgl/shader/pattern.fragment.glsl @@ -1,20 +1,23 @@ uniform float u_opacity; -uniform vec2 u_pattern_tl; -uniform vec2 u_pattern_br; +uniform vec2 u_pattern_tl_a; +uniform vec2 u_pattern_br_a; +uniform vec2 u_pattern_tl_b; +uniform vec2 u_pattern_br_b; uniform float u_mix; uniform sampler2D u_image; -varying vec2 v_pos; +varying vec2 v_pos_a; +varying vec2 v_pos_b; void main() { - vec2 imagecoord = mod(v_pos, 1.0); - vec2 pos = mix(u_pattern_tl, u_pattern_br, imagecoord); + vec2 imagecoord = mod(v_pos_a, 1.0); + vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord); vec4 color1 = texture2D(u_image, pos); - vec2 imagecoord2 = mod(imagecoord * 2.0, 1.0); - vec2 pos2 = mix(u_pattern_tl, u_pattern_br, imagecoord2); + vec2 imagecoord_b = mod(v_pos_b, 1.0); + vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b); vec4 color2 = texture2D(u_image, pos2); gl_FragColor = mix(color1, color2, u_mix) * u_opacity; diff --git a/src/mbgl/shader/pattern.vertex.glsl b/src/mbgl/shader/pattern.vertex.glsl index f2de884ea..dff4469d2 100644 --- a/src/mbgl/shader/pattern.vertex.glsl +++ b/src/mbgl/shader/pattern.vertex.glsl @@ -1,11 +1,14 @@ uniform mat4 u_matrix; -uniform mat3 u_patternmatrix; +uniform mat3 u_patternmatrix_a; +uniform mat3 u_patternmatrix_b; attribute vec2 a_pos; -varying vec2 v_pos; +varying vec2 v_pos_a; +varying vec2 v_pos_b; void main() { gl_Position = u_matrix * vec4(a_pos, 0, 1); - v_pos = (u_patternmatrix * vec3(a_pos, 1)).xy; + v_pos_a = (u_patternmatrix_a * vec3(a_pos, 1)).xy; + v_pos_b = (u_patternmatrix_b * vec3(a_pos, 1)).xy; } diff --git a/src/mbgl/shader/pattern_shader.hpp b/src/mbgl/shader/pattern_shader.hpp index 9fabd8e18..9fc8dcfa0 100644 --- a/src/mbgl/shader/pattern_shader.hpp +++ b/src/mbgl/shader/pattern_shader.hpp @@ -13,12 +13,15 @@ public: void bind(char *offset); UniformMatrix<4> u_matrix = {"u_matrix", *this}; - Uniform> u_pattern_tl = {"u_pattern_tl", *this}; - Uniform> u_pattern_br = {"u_pattern_br", *this}; + Uniform> u_pattern_tl_a = {"u_pattern_tl_a", *this}; + Uniform> u_pattern_br_a = {"u_pattern_br_a", *this}; + Uniform> u_pattern_tl_b = {"u_pattern_tl_b", *this}; + Uniform> u_pattern_br_b = {"u_pattern_br_b", *this}; Uniform u_opacity = {"u_opacity", *this}; Uniform u_mix = {"u_mix", *this}; Uniform u_image = {"u_image", *this}; - UniformMatrix<3> u_patternmatrix = {"u_patternmatrix", *this}; + UniformMatrix<3> u_patternmatrix_a = {"u_patternmatrix_a", *this}; + UniformMatrix<3> u_patternmatrix_b = {"u_patternmatrix_b", *this}; private: int32_t a_pos = -1; diff --git a/src/mbgl/style/fadedfunction_properties.cpp b/src/mbgl/style/fadedfunction_properties.cpp new file mode 100644 index 000000000..485bffd26 --- /dev/null +++ b/src/mbgl/style/fadedfunction_properties.cpp @@ -0,0 +1,51 @@ +#include +#include + +#include + +namespace mbgl { + +template +uint32_t getBiggestStopLessThan(std::vector> stops, float z) { + for (uint32_t i = 0; i < stops.size(); i++) { + if (stops[i].first > z) { + return i == 0 ? i : i - 1; + } + } + return stops.size() - 1; +} + +template +T FadedStopsFunction::evaluate(float z, const ZoomHistory &zh) const { + T result; + + float fraction = std::fmod(z, 1.0f); + float tDiff = (util::now() - zh.lastIntegerZoomTime) / 1_millisecond; + float fDuration = duration / 1_millisecond; + float t = std::min(tDiff / fDuration, 1.0f); + float scale = 1.0f; + uint32_t low, high; + + if (z > zh.lastIntegerZoom) { + result.t = fraction + (1.0f - fraction) * t; + scale *= 2.0f; + low = getBiggestStopLessThan(values, z - 1.0f); + high = getBiggestStopLessThan(values, z); + + } else { + result.t = fraction - fraction * t; + low = getBiggestStopLessThan(values, z); + high = getBiggestStopLessThan(values, z + 1.0f); + } + + + result.low = values[low].second.low; + result.high = values[high].second.low; + result.lowScale = scale; + result.highScale = scale / 2; + return result; +} + +template Faded FadedStopsFunction>::evaluate(float z, const ZoomHistory &zoomHistory) const; + +} diff --git a/src/mbgl/style/fadedfunction_properties.hpp b/src/mbgl/style/fadedfunction_properties.hpp new file mode 100644 index 000000000..4d49dafb4 --- /dev/null +++ b/src/mbgl/style/fadedfunction_properties.hpp @@ -0,0 +1,24 @@ +#ifndef MBGL_STYLE_FADEDFUNCTION_PROPERTIES +#define MBGL_STYLE_FADEDFUNCTION_PROPERTIES + +#include + +#include + +namespace mbgl { + +template +struct FadedStopsFunction { + inline FadedStopsFunction(const std::vector> &values_, timestamp duration_) : values(values_), duration(duration_) {} + inline FadedStopsFunction(T &value) : values({{ 0, value }}), duration(0.0f) {} + inline FadedStopsFunction() : values(), duration(0.0f) {} + T evaluate(float z, const ZoomHistory &zoomHistory) const; + +private: + const std::vector> values; + const timestamp duration; +}; + +} + +#endif diff --git a/src/mbgl/style/property_value.hpp b/src/mbgl/style/property_value.hpp index e017981de..7b6c38e75 100644 --- a/src/mbgl/style/property_value.hpp +++ b/src/mbgl/style/property_value.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -16,7 +17,8 @@ typedef mapbox::util::variant< Function, Function, Function, - Function> + Function>, + FadedStopsFunction> > PropertyValue; } diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index ecff6fb5f..dc764106c 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -29,8 +29,10 @@ Style::~Style() {} void Style::updateProperties(float z, timestamp now) { uv::writelock lock(mtx); + zoomHistory.update(z, now); + if (layers) { - layers->updateProperties(z, now); + layers->updateProperties(z, now, zoomHistory); } // Apply transitions after the first time. diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index e9205712e..434b39421 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -49,6 +50,7 @@ private: PropertyTransition defaultTransition; bool initial_render_complete = false; std::unique_ptr mtx; + ZoomHistory zoomHistory; }; } diff --git a/src/mbgl/style/style_layer.cpp b/src/mbgl/style/style_layer.cpp index 262ca23af..bb9688e57 100644 --- a/src/mbgl/style/style_layer.cpp +++ b/src/mbgl/style/style_layer.cpp @@ -94,7 +94,7 @@ void StyleLayer::applyClassProperties(const ClassID class_id, template struct PropertyEvaluator { typedef T result_type; - PropertyEvaluator(float z_) : z(z_) {} + PropertyEvaluator(float z_, const ZoomHistory &zoomHistory_) : z(z_), zoomHistory(zoomHistory_) {} template ::value, int>::type = 0> T operator()(const P &value) const { @@ -105,6 +105,10 @@ struct PropertyEvaluator { return mapbox::util::apply_visitor(FunctionEvaluator(z), value); } + T operator()(const FadedStopsFunction &value) const { + return value.evaluate(z, zoomHistory); + } + template ::value, int>::type = 0> T operator()(const P &) const { return T(); @@ -112,15 +116,16 @@ struct PropertyEvaluator { private: const float z; + const ZoomHistory &zoomHistory; }; template -void StyleLayer::applyStyleProperty(PropertyKey key, T &target, const float z, const timestamp now) { +void StyleLayer::applyStyleProperty(PropertyKey key, T &target, const float z, const timestamp now, const ZoomHistory &zoomHistory) { auto it = appliedStyle.find(key); if (it != appliedStyle.end()) { AppliedClassProperties &applied = it->second; // Iterate through all properties that we need to apply in order. - const PropertyEvaluator evaluator(z); + const PropertyEvaluator evaluator(z, zoomHistory); for (AppliedClassProperty &property : applied.properties) { if (now >= property.begin) { // We overwrite the current property with the new value. @@ -133,12 +138,12 @@ void StyleLayer::applyStyleProperty(PropertyKey key, T &target, const float z, c } template -void StyleLayer::applyTransitionedStyleProperty(PropertyKey key, T &target, const float z, const timestamp now) { +void StyleLayer::applyTransitionedStyleProperty(PropertyKey key, T &target, const float z, const timestamp now, const ZoomHistory &zoomHistory) { auto it = appliedStyle.find(key); if (it != appliedStyle.end()) { AppliedClassProperties &applied = it->second; // Iterate through all properties that we need to apply in order. - const PropertyEvaluator evaluator(z); + const PropertyEvaluator evaluator(z, zoomHistory); for (AppliedClassProperty &property : applied.properties) { if (now >= property.end) { // We overwrite the current property with the new value. @@ -155,95 +160,95 @@ void StyleLayer::applyTransitionedStyleProperty(PropertyKey key, T &target, cons } template <> -void StyleLayer::applyStyleProperties(const float z, const timestamp now) { +void StyleLayer::applyStyleProperties(const float z, const timestamp now, const ZoomHistory &zoomHistory) { properties.set(); FillProperties &fill = properties.get(); - applyStyleProperty(PropertyKey::FillAntialias, fill.antialias, z, now); - applyTransitionedStyleProperty(PropertyKey::FillOpacity, fill.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::FillColor, fill.fill_color, z, now); - applyTransitionedStyleProperty(PropertyKey::FillOutlineColor, fill.stroke_color, z, now); - applyTransitionedStyleProperty(PropertyKey::FillTranslateX, fill.translate[0], z, now); - applyTransitionedStyleProperty(PropertyKey::FillTranslateY, fill.translate[1], z, now); - applyStyleProperty(PropertyKey::FillTranslateAnchor, fill.translateAnchor, z, now); - applyStyleProperty(PropertyKey::FillImage, fill.image, z, now); + applyStyleProperty(PropertyKey::FillAntialias, fill.antialias, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillOpacity, fill.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillColor, fill.fill_color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillOutlineColor, fill.stroke_color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillTranslateX, fill.translate[0], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillTranslateY, fill.translate[1], z, now, zoomHistory); + applyStyleProperty(PropertyKey::FillTranslateAnchor, fill.translateAnchor, z, now, zoomHistory); + applyStyleProperty(PropertyKey::FillImage, fill.image, z, now, zoomHistory); } template <> -void StyleLayer::applyStyleProperties(const float z, const timestamp now) { +void StyleLayer::applyStyleProperties(const float z, const timestamp now, const ZoomHistory &zoomHistory) { properties.set(); LineProperties &line = properties.get(); - applyTransitionedStyleProperty(PropertyKey::LineOpacity, line.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::LineColor, line.color, z, now); - applyTransitionedStyleProperty(PropertyKey::LineTranslateX, line.translate[0], z, now); - applyTransitionedStyleProperty(PropertyKey::LineTranslateY, line.translate[1], z, now); - applyStyleProperty(PropertyKey::LineTranslateAnchor, line.translateAnchor, z, now); - applyTransitionedStyleProperty(PropertyKey::LineWidth, line.width, z, now); - applyTransitionedStyleProperty(PropertyKey::LineGapWidth, line.gap_width, z, now); - applyTransitionedStyleProperty(PropertyKey::LineBlur, line.blur, z, now); - applyStyleProperty(PropertyKey::LineDashArray, line.dash_array, z, now); - applyStyleProperty(PropertyKey::LineImage, line.image, z, now); + applyTransitionedStyleProperty(PropertyKey::LineOpacity, line.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineColor, line.color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineTranslateX, line.translate[0], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineTranslateY, line.translate[1], z, now, zoomHistory); + applyStyleProperty(PropertyKey::LineTranslateAnchor, line.translateAnchor, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineWidth, line.width, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineGapWidth, line.gap_width, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineBlur, line.blur, z, now, zoomHistory); + applyStyleProperty(PropertyKey::LineDashArray, line.dash_array, z, now, zoomHistory); + applyStyleProperty(PropertyKey::LineImage, line.image, z, now, zoomHistory); // for scaling dasharrays - applyStyleProperty(PropertyKey::LineWidth, line.dash_line_width, std::floor(z), now + 10000); + applyStyleProperty(PropertyKey::LineWidth, line.dash_line_width, std::floor(z), now + 10000, zoomHistory); } template <> -void StyleLayer::applyStyleProperties(const float z, const timestamp now) { +void StyleLayer::applyStyleProperties(const float z, const timestamp now, const ZoomHistory &zoomHistory) { properties.set(); SymbolProperties &symbol = properties.get(); - applyTransitionedStyleProperty(PropertyKey::IconOpacity, symbol.icon.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::IconRotate, symbol.icon.rotate, z, now); - applyTransitionedStyleProperty(PropertyKey::IconSize, symbol.icon.size, z, now); - applyTransitionedStyleProperty(PropertyKey::IconColor, symbol.icon.color, z, now); - applyTransitionedStyleProperty(PropertyKey::IconHaloColor, symbol.icon.halo_color, z, now); - applyTransitionedStyleProperty(PropertyKey::IconHaloWidth, symbol.icon.halo_width, z, now); - applyTransitionedStyleProperty(PropertyKey::IconHaloBlur, symbol.icon.halo_blur, z, now); - applyTransitionedStyleProperty(PropertyKey::IconTranslateX, symbol.icon.translate[0], z, now); - applyTransitionedStyleProperty(PropertyKey::IconTranslateY, symbol.icon.translate[1], z, now); - applyStyleProperty(PropertyKey::IconTranslateAnchor, symbol.icon.translate_anchor, z, now); + applyTransitionedStyleProperty(PropertyKey::IconOpacity, symbol.icon.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconRotate, symbol.icon.rotate, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconSize, symbol.icon.size, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconColor, symbol.icon.color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconHaloColor, symbol.icon.halo_color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconHaloWidth, symbol.icon.halo_width, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconHaloBlur, symbol.icon.halo_blur, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconTranslateX, symbol.icon.translate[0], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconTranslateY, symbol.icon.translate[1], z, now, zoomHistory); + applyStyleProperty(PropertyKey::IconTranslateAnchor, symbol.icon.translate_anchor, z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::TextOpacity, symbol.text.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::TextSize, symbol.text.size, z, now); - applyTransitionedStyleProperty(PropertyKey::TextColor, symbol.text.color, z, now); - applyTransitionedStyleProperty(PropertyKey::TextHaloColor, symbol.text.halo_color, z, now); - applyTransitionedStyleProperty(PropertyKey::TextHaloWidth, symbol.text.halo_width, z, now); - applyTransitionedStyleProperty(PropertyKey::TextHaloBlur, symbol.text.halo_blur, z, now); - applyTransitionedStyleProperty(PropertyKey::TextTranslateX, symbol.text.translate[0], z, now); - applyTransitionedStyleProperty(PropertyKey::TextTranslateY, symbol.text.translate[1], z, now); - applyStyleProperty(PropertyKey::TextTranslateAnchor, symbol.text.translate_anchor, z, now); + applyTransitionedStyleProperty(PropertyKey::TextOpacity, symbol.text.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextSize, symbol.text.size, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextColor, symbol.text.color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextHaloColor, symbol.text.halo_color, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextHaloWidth, symbol.text.halo_width, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextHaloBlur, symbol.text.halo_blur, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextTranslateX, symbol.text.translate[0], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextTranslateY, symbol.text.translate[1], z, now, zoomHistory); + applyStyleProperty(PropertyKey::TextTranslateAnchor, symbol.text.translate_anchor, z, now, zoomHistory); } template <> -void StyleLayer::applyStyleProperties(const float z, const timestamp now) { +void StyleLayer::applyStyleProperties(const float z, const timestamp now, const ZoomHistory &zoomHistory) { properties.set(); RasterProperties &raster = properties.get(); - applyTransitionedStyleProperty(PropertyKey::RasterOpacity, raster.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::RasterHueRotate, raster.hue_rotate, z, now); - applyTransitionedStyleProperty(PropertyKey::RasterBrightnessLow, raster.brightness[0], z, now); - applyTransitionedStyleProperty(PropertyKey::RasterBrightnessHigh, raster.brightness[1], z, now); - applyTransitionedStyleProperty(PropertyKey::RasterSaturation, raster.saturation, z, now); - applyTransitionedStyleProperty(PropertyKey::RasterContrast, raster.contrast, z, now); - applyTransitionedStyleProperty(PropertyKey::RasterFade, raster.fade, z, now); + applyTransitionedStyleProperty(PropertyKey::RasterOpacity, raster.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterHueRotate, raster.hue_rotate, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterBrightnessLow, raster.brightness[0], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterBrightnessHigh, raster.brightness[1], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterSaturation, raster.saturation, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterContrast, raster.contrast, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::RasterFade, raster.fade, z, now, zoomHistory); } template <> -void StyleLayer::applyStyleProperties(const float z, const timestamp now) { +void StyleLayer::applyStyleProperties(const float z, const timestamp now, const ZoomHistory &zoomHistory) { properties.set(); BackgroundProperties &background = properties.get(); - applyTransitionedStyleProperty(PropertyKey::BackgroundOpacity, background.opacity, z, now); - applyTransitionedStyleProperty(PropertyKey::BackgroundColor, background.color, z, now); - applyStyleProperty(PropertyKey::BackgroundImage, background.image, z, now); + applyTransitionedStyleProperty(PropertyKey::BackgroundOpacity, background.opacity, z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::BackgroundColor, background.color, z, now, zoomHistory); + applyStyleProperty(PropertyKey::BackgroundImage, background.image, z, now, zoomHistory); } -void StyleLayer::updateProperties(float z, const timestamp now) { +void StyleLayer::updateProperties(float z, const timestamp now, ZoomHistory &zoomHistory) { cleanupAppliedStyleProperties(now); switch (type) { - case StyleLayerType::Fill: applyStyleProperties(z, now); break; - case StyleLayerType::Line: applyStyleProperties(z, now); break; - case StyleLayerType::Symbol: applyStyleProperties(z, now); break; - case StyleLayerType::Raster: applyStyleProperties(z, now); break; - case StyleLayerType::Background: applyStyleProperties(z, now); break; + case StyleLayerType::Fill: applyStyleProperties(z, now, zoomHistory); break; + case StyleLayerType::Line: applyStyleProperties(z, now, zoomHistory); break; + case StyleLayerType::Symbol: applyStyleProperties(z, now, zoomHistory); break; + case StyleLayerType::Raster: applyStyleProperties(z, now, zoomHistory); break; + case StyleLayerType::Background: applyStyleProperties(z, now, zoomHistory); break; default: properties.set(); break; } } diff --git a/src/mbgl/style/style_layer.hpp b/src/mbgl/style/style_layer.hpp index 7cf661ca3..8531ad3a0 100644 --- a/src/mbgl/style/style_layer.hpp +++ b/src/mbgl/style/style_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -35,7 +36,7 @@ public: // Updates the StyleProperties information in this layer by evaluating all // pending transitions and applied classes in order. - void updateProperties(float z, timestamp now); + void updateProperties(float z, timestamp now, ZoomHistory &zoomHistory); // Sets the list of classes and creates transitions to the currently applied values. void setClasses(const std::vector &class_names, timestamp now, @@ -50,9 +51,9 @@ private: // Sets the properties of this object by evaluating all pending transitions and // aplied classes in order. - template void applyStyleProperties(float z, timestamp now); - template void applyStyleProperty(PropertyKey key, T &, float z, timestamp now); - template void applyTransitionedStyleProperty(PropertyKey key, T &, float z, timestamp now); + template void applyStyleProperties(float z, timestamp now, const ZoomHistory &zoomHistory); + template void applyStyleProperty(PropertyKey key, T &, float z, timestamp now, const ZoomHistory &zoomHistory); + template void applyTransitionedStyleProperty(PropertyKey key, T &, float z, timestamp now, const ZoomHistory &zoomHistory); // Removes all expired style transitions. void cleanupAppliedStyleProperties(timestamp now); diff --git a/src/mbgl/style/style_layer_group.cpp b/src/mbgl/style/style_layer_group.cpp index 0ca0fa0cc..5ca020ee7 100644 --- a/src/mbgl/style/style_layer_group.cpp +++ b/src/mbgl/style/style_layer_group.cpp @@ -11,10 +11,10 @@ void StyleLayerGroup::setClasses(const std::vector &class_names, ti } } -void StyleLayerGroup::updateProperties(float z, timestamp t) { +void StyleLayerGroup::updateProperties(float z, timestamp t, ZoomHistory &zoomHistory) { for (const util::ptr &layer: layers) { if (layer) { - layer->updateProperties(z, t); + layer->updateProperties(z, t, zoomHistory); } } } diff --git a/src/mbgl/style/style_layer_group.hpp b/src/mbgl/style/style_layer_group.hpp index 1af6e23bd..85cfcc6dd 100644 --- a/src/mbgl/style/style_layer_group.hpp +++ b/src/mbgl/style/style_layer_group.hpp @@ -11,7 +11,7 @@ class StyleLayerGroup { public: void setClasses(const std::vector &class_names, timestamp now, const PropertyTransition &defaultTransition); - void updateProperties(float z, timestamp t); + void updateProperties(float z, timestamp t, ZoomHistory &zoomHistory); bool hasTransitions() const; public: diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index f048b24bd..3f1fc64da 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -263,6 +263,52 @@ std::vector StyleParser::parseFunctionArgument(JSVal value) { return std::get<1>(parseFloatArray(rvalue)); } +template <> +Faded StyleParser::parseFunctionArgument(JSVal value) { + JSVal rvalue = replaceConstant(value); + if (rvalue.IsString()) { + Faded parsed; + parsed.low = { value.GetString(), value.GetStringLength() }; + return parsed; + } else { + Log::Warning(Event::ParseStyle, "function argument must be a string"); + return {}; + } +} + +template +std::tuple>> StyleParser::parseStops(JSVal value_stops) { + + if (!value_stops.IsArray()) { + Log::Warning(Event::ParseStyle, "stops function must specify a stops array"); + return std::tuple>> { false, {}}; + } + + std::vector> stops; + + for (rapidjson::SizeType i = 0; i < value_stops.Size(); ++i) { + JSVal stop = value_stops[i]; + if (stop.IsArray()) { + if (stop.Size() != 2) { + Log::Warning(Event::ParseStyle, "stop must have zoom level and value specification"); + return std::tuple>> { false, {}}; + } + + JSVal z = stop[rapidjson::SizeType(0)]; + if (!z.IsNumber()) { + Log::Warning(Event::ParseStyle, "zoom level in stop must be a number"); + return std::tuple>> { false, {}}; + } + + stops.emplace_back(z.GetDouble(), parseFunctionArgument(stop[rapidjson::SizeType(1)])); + } else { + Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); + return std::tuple>> { false, {}}; + } + } + return { true, stops }; +} + template inline float defaultBaseValue() { return 1.75; } template <> inline float defaultBaseValue() { return 1.0; } @@ -284,47 +330,52 @@ std::tuple> StyleParser::parseFunction(JSVal value) { } } - JSVal value_stops = value["stops"]; - if (!value_stops.IsArray()) { - Log::Warning(Event::ParseStyle, "stops function must specify a stops array"); + auto stops = parseStops(value["stops"]); + + if (!std::get<0>(stops)) { return std::tuple> { false, ConstantFunction(T()) }; } - std::vector> stops; - for (rapidjson::SizeType i = 0; i < value_stops.Size(); ++i) { - JSVal stop = value_stops[i]; - if (stop.IsArray()) { - if (stop.Size() != 2) { - Log::Warning(Event::ParseStyle, "stop must have zoom level and value specification"); - return std::tuple> { false, ConstantFunction(T()) }; - } + return std::tuple> { true, StopsFunction(std::get<1>(stops), base) }; +} - JSVal z = stop[rapidjson::SizeType(0)]; - if (!z.IsNumber()) { - Log::Warning(Event::ParseStyle, "zoom level in stop must be a number"); - return std::tuple> { false, ConstantFunction(T()) }; - } +template inline timestamp defaultDurationValue() { return 300_milliseconds; } - stops.emplace_back(z.GetDouble(), parseFunctionArgument(stop[rapidjson::SizeType(1)])); +template +std::tuple> StyleParser::parseFadedStopsFunction(JSVal value) { + if (!value.HasMember("stops")) { + Log::Warning(Event::ParseStyle, "function must specify a function type"); + return std::tuple> { false, {} }; + } + + timestamp duration = defaultDurationValue(); + + if (value.HasMember("duration")) { + JSVal value_duration = value["duration"]; + if (value_duration.IsNumber()) { + float duration_ = value_duration.GetDouble(); + duration = 1_millisecond * duration_; } else { - Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); - return std::tuple> { false, ConstantFunction(T()) }; + Log::Warning(Event::ParseStyle, "duration must be numeric"); } } - return std::tuple> { true, StopsFunction(stops, base) }; -} + auto stops = parseStops(value["stops"]); + if (!std::get<0>(stops)) { + return std::tuple> { false, {} }; + } + + return std::tuple> { true, { std::get<1>(stops), duration } }; +} template bool StyleParser::setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass) { - bool parsed; - T result; - std::tie(parsed, result) = parseProperty(value, property_name); - if (parsed) { - klass.set(key, result); + auto res = parseProperty(value, property_name); + if (std::get<0>(res)) { + klass.set(key, std::get<1>(res)); } - return parsed; + return std::get<0>(res); } template @@ -430,6 +481,19 @@ template<> std::tuple>> StyleParser::parseProp } } +template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { + if (value.IsObject()) { + return parseFadedStopsFunction>(value); + } else if (value.IsString()) { + Faded parsed; + parsed.low = { value.GetString(), value.GetStringLength() }; + return std::tuple>> { true, parsed }; + } else { + Log::Warning(Event::ParseStyle, "value of '%s' must be string or a string function", property_name); + return std::tuple>> { false, {} }; + } +} + template bool StyleParser::parseOptionalProperty(const char *property_name, const std::vector &keys, ClassProperties &klass, JSVal value) { if (value.HasMember(property_name)) { @@ -573,7 +637,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("fill-translate", { Key::FillTranslateX, Key::FillTranslateY }, klass, value); parseOptionalProperty("fill-translate-transition", Key::FillTranslate, klass, value); parseOptionalProperty("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); - parseOptionalProperty("fill-image", Key::FillImage, klass, value); + parseOptionalProperty>>("fill-image", Key::FillImage, klass, value); parseOptionalProperty>("line-opacity", Key::LineOpacity, klass, value); parseOptionalProperty("line-opacity-transition", Key::LineOpacity, klass, value); diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index 42e22f945..482fa0a00 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -77,7 +77,11 @@ private: template std::tuple> parseFunction(JSVal value); template + std::tuple> parseFadedStopsFunction(JSVal value); + template T parseFunctionArgument(JSVal value); + template + std::tuple>> parseStops(JSVal value); FilterExpression parseFilter(JSVal); diff --git a/src/mbgl/style/style_properties.hpp b/src/mbgl/style/style_properties.hpp index c5149b2d1..db9e4c34c 100644 --- a/src/mbgl/style/style_properties.hpp +++ b/src/mbgl/style/style_properties.hpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include @@ -21,7 +21,7 @@ struct FillProperties { Color stroke_color = {{ 0, 0, 0, -1 }}; std::array translate = {{ 0, 0 }}; TranslateAnchorType translateAnchor = TranslateAnchorType::Map; - std::string image; + Faded image; inline bool isVisible() const { return opacity > 0 && (fill_color[3] > 0 || stroke_color[3] > 0); diff --git a/src/mbgl/style/types.hpp b/src/mbgl/style/types.hpp index c0b873dcd..cd9c29d30 100644 --- a/src/mbgl/style/types.hpp +++ b/src/mbgl/style/types.hpp @@ -11,6 +11,16 @@ namespace mbgl { // Stores a premultiplied color, with all four channels ranging from 0..1 typedef std::array Color; + +template +struct Faded { + T low; + float lowScale; + T high; + float highScale; + float t; +}; + // ------------------------------------------------------------------------------------------------- enum class StyleLayerType : uint8_t { diff --git a/src/mbgl/style/zoom_history.hpp b/src/mbgl/style/zoom_history.hpp new file mode 100644 index 000000000..703106862 --- /dev/null +++ b/src/mbgl/style/zoom_history.hpp @@ -0,0 +1,39 @@ +#ifndef MBGL_STYLE_ZOOM_HISTORY +#define MBGL_STYLE_ZOOM_HISTORY + +#include + +#include + +namespace mbgl { + +struct ZoomHistory { + float lastZoom; + float lastIntegerZoom; + timestamp lastIntegerZoomTime; + bool first = true; + + void update(float z, timestamp now) { + if (first) { + first = false; + + lastIntegerZoom = std::floor(z); + lastIntegerZoomTime = 0; + lastZoom = z; + } + + if (std::floor(lastZoom) < std::floor(z)) { + lastIntegerZoom = std::floor(z); + lastIntegerZoomTime = now; + + } else if (std::floor(lastZoom) > std::floor(z)) { + lastIntegerZoom = std::floor(z + 1); + lastIntegerZoomTime = now; + } + + lastZoom = z; + } +}; +} + +#endif From b3ca6fcca6e3a1c383a0235aea3110bc940c0656 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 2 Feb 2015 16:23:10 -0800 Subject: [PATCH 02/31] implement functions for background-image --- src/mbgl/renderer/painter.cpp | 50 ++++++++++++++++++++--------- src/mbgl/style/style_parser.cpp | 2 +- src/mbgl/style/style_properties.hpp | 2 +- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 448b38074..f8347123c 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -376,39 +376,57 @@ void Painter::renderTileLayer(const Tile& tile, util::ptr layer_desc void Painter::renderBackground(util::ptr layer_desc) { const BackgroundProperties& properties = layer_desc->getProperties(); - if (properties.image.size()) { + if (properties.image.low.size()) { if ((properties.opacity >= 1.0f) != (pass == RenderPass::Opaque)) return; - SpriteAtlasPosition imagePos = spriteAtlas.getPosition(properties.image, true); + SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.low, true); + SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.high, true); float zoomFraction = state.getZoomFraction(); useProgram(patternShader->program); patternShader->u_matrix = identityMatrix; - patternShader->u_pattern_tl_a = imagePos.tl; - patternShader->u_pattern_br_a = imagePos.br; + patternShader->u_pattern_tl_a = imagePosA.tl; + patternShader->u_pattern_br_a = imagePosA.br; + patternShader->u_pattern_tl_b = imagePosB.tl; + patternShader->u_pattern_br_b = imagePosB.br; patternShader->u_mix = zoomFraction; patternShader->u_opacity = properties.opacity; - std::array size = imagePos.size; double lon, lat; state.getLonLat(lon, lat); std::array center = state.locationCoordinate(lon, lat); float scale = 1 / std::pow(2, zoomFraction); - mat3 matrix; - matrix::identity(matrix); - matrix::scale(matrix, matrix, - 1.0f / size[0], - 1.0f / size[1]); - matrix::translate(matrix, matrix, - std::fmod(center[0] * 512, size[0]), - std::fmod(center[1] * 512, size[1])); - matrix::rotate(matrix, matrix, -state.getAngle()); - matrix::scale(matrix, matrix, + std::array sizeA = imagePosA.size; + mat3 matrixA; + matrix::identity(matrixA); + matrix::scale(matrixA, matrixA, + 1.0f / (sizeA[0] * properties.image.lowScale), + 1.0f / (sizeA[1] * properties.image.lowScale)); + matrix::translate(matrixA, matrixA, + std::fmod(center[0] * 512, sizeA[0] * properties.image.lowScale), + std::fmod(center[1] * 512, sizeA[1] * properties.image.lowScale)); + matrix::rotate(matrixA, matrixA, -state.getAngle()); + matrix::scale(matrixA, matrixA, scale * state.getWidth() / 2, -scale * state.getHeight() / 2); - patternShader->u_patternmatrix_a = matrix; + + std::array sizeB = imagePosB.size; + mat3 matrixB; + matrix::identity(matrixB); + matrix::scale(matrixB, matrixB, + 1.0f / (sizeB[0] * properties.image.highScale), + 1.0f / (sizeB[1] * properties.image.highScale)); + matrix::translate(matrixB, matrixB, + std::fmod(center[0] * 512, sizeB[0] * properties.image.highScale), + std::fmod(center[1] * 512, sizeB[1] * properties.image.highScale)); + matrix::rotate(matrixB, matrixB, -state.getAngle()); + matrix::scale(matrixB, matrixB, + scale * state.getWidth() / 2, + -scale * state.getHeight() / 2); + + patternShader->u_patternmatrix_a = matrixA; backgroundBuffer.bind(); patternShader->bind(0); diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 3f1fc64da..1cf8d2e35 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -703,7 +703,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("background-opacity", Key::BackgroundOpacity, klass, value); parseOptionalProperty>("background-color", Key::BackgroundColor, klass, value); - parseOptionalProperty("background-image", Key::BackgroundImage, klass, value); + parseOptionalProperty>>("background-image", Key::BackgroundImage, klass, value); } void StyleParser::parseReference(JSVal value, util::ptr &layer) { diff --git a/src/mbgl/style/style_properties.hpp b/src/mbgl/style/style_properties.hpp index db9e4c34c..d2c134e8d 100644 --- a/src/mbgl/style/style_properties.hpp +++ b/src/mbgl/style/style_properties.hpp @@ -96,7 +96,7 @@ struct BackgroundProperties { inline BackgroundProperties() {} float opacity = 1.0f; Color color = {{ 0, 0, 0, 1 }}; - std::string image; + Faded image; }; typedef mapbox::util::variant< From 322f46a5db6d44633ffc7a45140e163f03365371 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 2 Feb 2015 17:08:26 -0800 Subject: [PATCH 03/31] implement functions for line-image --- src/mbgl/renderer/painter.cpp | 1 + src/mbgl/renderer/painter_line.cpp | 25 +++++++++-------------- src/mbgl/shader/linepattern.fragment.glsl | 22 ++++++++++++-------- src/mbgl/shader/linepattern_shader.hpp | 9 +++++--- src/mbgl/style/style_parser.cpp | 2 +- src/mbgl/style/style_properties.hpp | 2 +- 6 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index f8347123c..84bd24c5e 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -427,6 +427,7 @@ void Painter::renderBackground(util::ptr layer_desc) { -scale * state.getHeight() / 2); patternShader->u_patternmatrix_a = matrixA; + patternShader->u_patternmatrix_b = matrixB; backgroundBuffer.bind(); patternShader->bind(0); diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp index 3951f2e7c..b26f1cfa5 100644 --- a/src/mbgl/renderer/painter_line.cpp +++ b/src/mbgl/renderer/painter_line.cpp @@ -112,19 +112,11 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c bucket.drawLineSDF(*linesdfShader); - } else if (properties.image.size()) { - SpriteAtlasPosition imagePos = spriteAtlas.getPosition(properties.image, true); + } else if (properties.image.low.size()) { + SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.low, true); + SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.high, true); float factor = 8.0 / std::pow(2, state.getIntegerZoom() - id.z); - float fade; - if (state.getZoom() > lastIntegerZoom) { - // zooming in - fade = fraction + (1.0f - fraction) * t; - factor *= 2.0; - } else { - // zooming out - fade = fraction - fraction * t; - } useProgram(linepatternShader->program); @@ -134,10 +126,13 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c linepatternShader->u_ratio = ratio; linepatternShader->u_blur = blur; - linepatternShader->u_pattern_size = {{imagePos.size[0] * factor, imagePos.size[1]}}; - linepatternShader->u_pattern_tl = imagePos.tl; - linepatternShader->u_pattern_br = imagePos.br; - linepatternShader->u_fade = fade; + linepatternShader->u_pattern_size_a = {{imagePosA.size[0] * factor * properties.image.lowScale, imagePosA.size[1]}}; + linepatternShader->u_pattern_tl_a = imagePosA.tl; + linepatternShader->u_pattern_br_a = imagePosA.br; + linepatternShader->u_pattern_size_b = {{imagePosB.size[0] * factor * properties.image.highScale, imagePosB.size[1]}}; + linepatternShader->u_pattern_tl_b = imagePosB.tl; + linepatternShader->u_pattern_br_b = imagePosB.br; + linepatternShader->u_fade = properties.image.t; linepatternShader->u_opacity = properties.opacity; MBGL_CHECK_ERROR(glActiveTexture(GL_TEXTURE0)); diff --git a/src/mbgl/shader/linepattern.fragment.glsl b/src/mbgl/shader/linepattern.fragment.glsl index 45be7c8c2..08feff439 100644 --- a/src/mbgl/shader/linepattern.fragment.glsl +++ b/src/mbgl/shader/linepattern.fragment.glsl @@ -2,9 +2,12 @@ uniform vec2 u_linewidth; uniform float u_point; uniform float u_blur; -uniform vec2 u_pattern_size; -uniform vec2 u_pattern_tl; -uniform vec2 u_pattern_br; +uniform vec2 u_pattern_size_a; +uniform vec2 u_pattern_tl_a; +uniform vec2 u_pattern_br_a; +uniform vec2 u_pattern_size_b; +uniform vec2 u_pattern_tl_b; +uniform vec2 u_pattern_br_b; uniform float u_fade; uniform float u_opacity; @@ -24,13 +27,14 @@ void main() { // (v_linewidth.s) float alpha = clamp(min(dist - (u_linewidth.t - u_blur), u_linewidth.s - dist) / u_blur, 0.0, 1.0); - float x = mod(v_linesofar / u_pattern_size.x, 1.0); - float y = 0.5 + (v_normal.y * u_linewidth.s / u_pattern_size.y); - vec2 pos = mix(u_pattern_tl, u_pattern_br, vec2(x, y)); - float x2 = mod(x * 2.0, 1.0); - vec2 pos2 = mix(u_pattern_tl, u_pattern_br, vec2(x2, y)); + float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0); + float y_a = 0.5 + (v_normal.y * u_linewidth.s / u_pattern_size_a.y); + vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a)); + float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0); + float y_b = 0.5 + (v_normal.y * u_linewidth.s / u_pattern_size_b.y); + vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b)); - vec4 color = texture2D(u_image, pos) * (1.0 - u_fade) + u_fade * texture2D(u_image, pos2); + vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade); alpha *= u_opacity; diff --git a/src/mbgl/shader/linepattern_shader.hpp b/src/mbgl/shader/linepattern_shader.hpp index 388cff17d..16d9ff8be 100644 --- a/src/mbgl/shader/linepattern_shader.hpp +++ b/src/mbgl/shader/linepattern_shader.hpp @@ -15,9 +15,12 @@ public: UniformMatrix<4> u_matrix = {"u_matrix", *this}; UniformMatrix<4> u_exmatrix = {"u_exmatrix", *this}; Uniform> u_linewidth = {"u_linewidth", *this}; - Uniform> u_pattern_size = {"u_pattern_size", *this}; - Uniform> u_pattern_tl = {"u_pattern_tl", *this}; - Uniform> u_pattern_br = {"u_pattern_br", *this}; + Uniform> u_pattern_size_a = {"u_pattern_size_a", *this}; + Uniform> u_pattern_tl_a = {"u_pattern_tl_a", *this}; + Uniform> u_pattern_br_a = {"u_pattern_br_a", *this}; + Uniform> u_pattern_size_b = {"u_pattern_size_b", *this}; + Uniform> u_pattern_tl_b = {"u_pattern_tl_b", *this}; + Uniform> u_pattern_br_b = {"u_pattern_br_b", *this}; Uniform u_ratio = {"u_ratio", *this}; Uniform u_point = {"u_point", *this}; Uniform u_blur = {"u_blur", *this}; diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 1cf8d2e35..5dcf3b114 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -653,7 +653,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("line-blur", Key::LineBlur, klass, value); parseOptionalProperty("line-blur-transition", Key::LineBlur, klass, value); parseOptionalProperty>>("line-dasharray", Key::LineDashArray, klass, value); - parseOptionalProperty("line-image", Key::LineImage, klass, value); + parseOptionalProperty>>("line-image", Key::LineImage, klass, value); parseOptionalProperty>("icon-opacity", Key::IconOpacity, klass, value); parseOptionalProperty("icon-opacity-transition", Key::IconOpacity, klass, value); diff --git a/src/mbgl/style/style_properties.hpp b/src/mbgl/style/style_properties.hpp index d2c134e8d..178421010 100644 --- a/src/mbgl/style/style_properties.hpp +++ b/src/mbgl/style/style_properties.hpp @@ -39,7 +39,7 @@ struct LineProperties { float blur = 0; std::vector dash_array; float dash_line_width = 1; - std::string image; + Faded image; inline bool isVisible() const { return opacity > 0 && color[3] > 0 && width > 0; From 6f5c6b58b48e762ed7aced6c4486f1060d0e34f1 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 2 Feb 2015 17:52:44 -0800 Subject: [PATCH 04/31] use faded pattern functions for dasharrays --- src/mbgl/renderer/painter_line.cpp | 37 ++++++++------------- src/mbgl/style/fadedfunction_properties.cpp | 1 + src/mbgl/style/fadedfunction_properties.hpp | 4 +-- src/mbgl/style/property_value.hpp | 2 +- src/mbgl/style/style_parser.cpp | 20 ++++++----- src/mbgl/style/style_properties.hpp | 2 +- 6 files changed, 30 insertions(+), 36 deletions(-) diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp index b26f1cfa5..149683cbc 100644 --- a/src/mbgl/renderer/painter_line.cpp +++ b/src/mbgl/renderer/painter_line.cpp @@ -70,11 +70,7 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c bucket.drawPoints(*linejoinShader); } - float duration = 300 * 1_millisecond; - const float fraction = std::fmod(float(state.getZoom()), 1.0f); - float t = std::min((util::now() - lastIntegerZoomTime) / duration, 1.0f); - - if (properties.dash_array.size()) { + if (properties.dash_array.low.size()) { useProgram(linesdfShader->program); @@ -85,30 +81,23 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c linesdfShader->u_blur = blur; linesdfShader->u_color = color; - LinePatternPos pos = lineAtlas.getDashPosition(properties.dash_array, bucket.properties.cap == CapType::Round); + LinePatternPos posA = lineAtlas.getDashPosition(properties.dash_array.low, bucket.properties.cap == CapType::Round); + LinePatternPos posB = lineAtlas.getDashPosition(properties.dash_array.high, bucket.properties.cap == CapType::Round); lineAtlas.bind(); float patternratio = std::pow(2.0, std::floor(std::log2(state.getScale())) - id.z) / 8.0; - float scaleX = patternratio / pos.width / properties.dash_line_width; - float scaleY = -pos.height / 2.0; + float scaleXA = patternratio / posA.width / properties.dash_line_width / properties.dash_array.lowScale; + float scaleYA = -posA.height / 2.0; + float scaleXB = patternratio / posB.width / properties.dash_line_width / properties.dash_array.highScale; + float scaleYB = -posB.height / 2.0; - float mix; - if (state.getZoom() > lastIntegerZoom) { - // zooming in - mix = fraction + (1.0f - fraction) * t; - scaleX /= 2.0; - } else { - // zooming out - mix = fraction - fraction * t; - } - - linesdfShader->u_patternscale_a = {{ scaleX, scaleY }}; - linesdfShader->u_tex_y_a = pos.y; - linesdfShader->u_patternscale_b = {{ scaleX * 2.0f, scaleY }}; - linesdfShader->u_tex_y_b = pos.y; + linesdfShader->u_patternscale_a = {{ scaleXA, scaleYA }}; + linesdfShader->u_tex_y_a = posA.y; + linesdfShader->u_patternscale_b = {{ scaleXB, scaleYB }}; + linesdfShader->u_tex_y_b = posB.y; linesdfShader->u_image = 0; - linesdfShader->u_sdfgamma = lineAtlas.width / (properties.dash_line_width * pos.width * 256.0 * state.getPixelRatio()) / 2; - linesdfShader->u_mix = mix; + linesdfShader->u_sdfgamma = lineAtlas.width / (properties.dash_line_width * std::min(posA.width, posB.width) * 256.0 * state.getPixelRatio()) / 2; + linesdfShader->u_mix = properties.dash_array.t; bucket.drawLineSDF(*linesdfShader); diff --git a/src/mbgl/style/fadedfunction_properties.cpp b/src/mbgl/style/fadedfunction_properties.cpp index 485bffd26..8ac4f3be4 100644 --- a/src/mbgl/style/fadedfunction_properties.cpp +++ b/src/mbgl/style/fadedfunction_properties.cpp @@ -47,5 +47,6 @@ T FadedStopsFunction::evaluate(float z, const ZoomHistory &zh) const { } template Faded FadedStopsFunction>::evaluate(float z, const ZoomHistory &zoomHistory) const; +template Faded> FadedStopsFunction>>::evaluate(float z, const ZoomHistory &zoomHistory) const; } diff --git a/src/mbgl/style/fadedfunction_properties.hpp b/src/mbgl/style/fadedfunction_properties.hpp index 4d49dafb4..23b441136 100644 --- a/src/mbgl/style/fadedfunction_properties.hpp +++ b/src/mbgl/style/fadedfunction_properties.hpp @@ -10,8 +10,8 @@ namespace mbgl { template struct FadedStopsFunction { inline FadedStopsFunction(const std::vector> &values_, timestamp duration_) : values(values_), duration(duration_) {} - inline FadedStopsFunction(T &value) : values({{ 0, value }}), duration(0.0f) {} - inline FadedStopsFunction() : values(), duration(0.0f) {} + inline FadedStopsFunction(T &value) : values({{ 0, value }}), duration(300_milliseconds) {} + inline FadedStopsFunction() : values(), duration(300_milliseconds) {} T evaluate(float z, const ZoomHistory &zoomHistory) const; private: diff --git a/src/mbgl/style/property_value.hpp b/src/mbgl/style/property_value.hpp index 7b6c38e75..8dcb8d737 100644 --- a/src/mbgl/style/property_value.hpp +++ b/src/mbgl/style/property_value.hpp @@ -17,7 +17,7 @@ typedef mapbox::util::variant< Function, Function, Function, - Function>, + FadedStopsFunction>>, FadedStopsFunction> > PropertyValue; diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 5dcf3b114..454e78657 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -258,9 +258,11 @@ Color StyleParser::parseFunctionArgument(JSVal value) { } template <> -std::vector StyleParser::parseFunctionArgument(JSVal value) { +Faded> StyleParser::parseFunctionArgument(JSVal value) { + Faded> parsed; JSVal rvalue = replaceConstant(value); - return std::get<1>(parseFloatArray(rvalue)); + parsed.low = std::get<1>(parseFloatArray(rvalue)); + return parsed; } template <> @@ -469,15 +471,17 @@ template<> std::tuple> StyleParser::parseProperty(JSVal va } } -template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { +template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name) { if (value.IsObject()) { - return parseFunction>(value); + return parseFadedStopsFunction>>(value); } else if (value.IsArray()) { - std::tuple> parsed = parseFloatArray(value); - return std::tuple>> { std::get<0>(parsed), ConstantFunction>(std::get<1>(parsed)) }; + Faded> parsed; + std::tuple> floatarray = parseFloatArray(value); + parsed.low = std::get<1>(floatarray); + return std::tuple>>> { std::get<0>(floatarray), parsed }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be an array of numbers, or a number array function", property_name); - return std::tuple>> { false, ConstantFunction>(std::vector()) }; + return std::tuple>>> { false, {} }; } } @@ -652,7 +656,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("line-gap-width-transition", Key::LineGapWidth, klass, value); parseOptionalProperty>("line-blur", Key::LineBlur, klass, value); parseOptionalProperty("line-blur-transition", Key::LineBlur, klass, value); - parseOptionalProperty>>("line-dasharray", Key::LineDashArray, klass, value); + parseOptionalProperty>>>("line-dasharray", Key::LineDashArray, klass, value); parseOptionalProperty>>("line-image", Key::LineImage, klass, value); parseOptionalProperty>("icon-opacity", Key::IconOpacity, klass, value); diff --git a/src/mbgl/style/style_properties.hpp b/src/mbgl/style/style_properties.hpp index 178421010..fd55cb0bb 100644 --- a/src/mbgl/style/style_properties.hpp +++ b/src/mbgl/style/style_properties.hpp @@ -37,7 +37,7 @@ struct LineProperties { float width = 1; float gap_width = 0; float blur = 0; - std::vector dash_array; + Faded> dash_array; float dash_line_width = 1; Faded image; From c9f8de863dc93e4fd587290357c8a3b572a4f956 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 2 Feb 2015 18:27:55 -0800 Subject: [PATCH 05/31] remove old version of zoomHistory --- src/mbgl/renderer/painter.cpp | 25 +------------------------ src/mbgl/renderer/painter.hpp | 5 ----- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 84bd24c5e..02e263a1c 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -232,7 +232,7 @@ void Painter::render(const Style& style, const std::set>& drawClippingMasks(sources); - recordZoom(time, state.getNormalizedZoom()); + frameHistory.record(time, state.getNormalizedZoom()); // Actually render the layers if (debug::renderTree) { std::cout << "{" << std::endl; indent++; } @@ -479,26 +479,3 @@ mat4 Painter::translatedMatrix(const mat4& matrix, const std::array &t return vtxMatrix; } } - -void Painter::recordZoom(const timestamp time, const float zoom) { - frameHistory.record(time, zoom); - - if (lastZoom < 0) { - // first frame ever - lastIntegerZoom = std::floor(zoom); - lastZoom = zoom; - } - - // check whether an integer zoom level was passed since the last frame - // and if yes, record it with the time. Used for transitioning patterns. - if (std::floor(lastZoom) < std::floor(zoom)) { - lastIntegerZoom = std::floor(zoom); - lastIntegerZoomTime = time; - - } else if (std::floor(lastZoom) > std::floor(zoom)) { - lastIntegerZoom = std::floor(zoom) + 1; - lastIntegerZoomTime = time; - } - - lastZoom = zoom; -} diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 5a4207020..4d4876a6f 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -139,7 +139,6 @@ private: mat4 translatedMatrix(const mat4& matrix, const std::array &translation, const Tile::ID &id, TranslateAnchorType anchor); void prepareTile(const Tile& tile); - void recordZoom(const timestamp time, const float zoom); template void renderSDF(SymbolBucket &bucket, @@ -192,10 +191,6 @@ private: RenderPass pass = RenderPass::Opaque; const float strata_epsilon = 1.0f / (1 << 16); - int lastIntegerZoom; - timestamp lastIntegerZoomTime = 0; - float lastZoom = -1; - public: FrameHistory frameHistory; From 93b07c367577b097e3791d38690b8fc37054c5fb Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 4 Feb 2015 11:36:31 -0800 Subject: [PATCH 06/31] rename FadedFunction to PiecewiseConstant function --- ...s.cpp => piecewisefunction_properties.cpp} | 8 ++--- ...s.hpp => piecewisefunction_properties.hpp} | 8 ++--- src/mbgl/style/property_value.hpp | 6 ++-- src/mbgl/style/style_layer.cpp | 2 +- src/mbgl/style/style_parser.cpp | 32 +++++++++---------- src/mbgl/style/style_parser.hpp | 2 +- src/mbgl/style/style_properties.hpp | 2 +- 7 files changed, 30 insertions(+), 30 deletions(-) rename src/mbgl/style/{fadedfunction_properties.cpp => piecewisefunction_properties.cpp} (73%) rename src/mbgl/style/{fadedfunction_properties.hpp => piecewisefunction_properties.hpp} (50%) diff --git a/src/mbgl/style/fadedfunction_properties.cpp b/src/mbgl/style/piecewisefunction_properties.cpp similarity index 73% rename from src/mbgl/style/fadedfunction_properties.cpp rename to src/mbgl/style/piecewisefunction_properties.cpp index 21c326751..e760ebdb1 100644 --- a/src/mbgl/style/fadedfunction_properties.cpp +++ b/src/mbgl/style/piecewisefunction_properties.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -16,7 +16,7 @@ uint32_t getBiggestStopLessThan(std::vector> stops, float z) } template -T FadedStopsFunction::evaluate(float z, const ZoomHistory &zh) const { +T PiecewiseConstantFunction::evaluate(float z, const ZoomHistory &zh) const { T result; float fraction = std::fmod(z, 1.0f); @@ -44,7 +44,7 @@ T FadedStopsFunction::evaluate(float z, const ZoomHistory &zh) const { return result; } -template Faded FadedStopsFunction>::evaluate(float z, const ZoomHistory &zoomHistory) const; -template Faded> FadedStopsFunction>>::evaluate(float z, const ZoomHistory &zoomHistory) const; +template Faded PiecewiseConstantFunction>::evaluate(float z, const ZoomHistory &zoomHistory) const; +template Faded> PiecewiseConstantFunction>>::evaluate(float z, const ZoomHistory &zoomHistory) const; } diff --git a/src/mbgl/style/fadedfunction_properties.hpp b/src/mbgl/style/piecewisefunction_properties.hpp similarity index 50% rename from src/mbgl/style/fadedfunction_properties.hpp rename to src/mbgl/style/piecewisefunction_properties.hpp index 7313d3275..69ddc7cc2 100644 --- a/src/mbgl/style/fadedfunction_properties.hpp +++ b/src/mbgl/style/piecewisefunction_properties.hpp @@ -8,10 +8,10 @@ namespace mbgl { template -struct FadedStopsFunction { - inline FadedStopsFunction(const std::vector> &values_, std::chrono::duration duration_) : values(values_), duration(duration_) {} - inline FadedStopsFunction(T &value) : values({{ 0, value }}), duration(300) {} - inline FadedStopsFunction() : values(), duration(300) {} +struct PiecewiseConstantFunction { + inline PiecewiseConstantFunction(const std::vector> &values_, std::chrono::duration duration_) : values(values_), duration(duration_) {} + inline PiecewiseConstantFunction(T &value) : values({{ 0, value }}), duration(300) {} + inline PiecewiseConstantFunction() : values(), duration(300) {} T evaluate(float z, const ZoomHistory &zoomHistory) const; private: diff --git a/src/mbgl/style/property_value.hpp b/src/mbgl/style/property_value.hpp index 49e837cf1..c7fe82302 100644 --- a/src/mbgl/style/property_value.hpp +++ b/src/mbgl/style/property_value.hpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include @@ -26,8 +26,8 @@ typedef mapbox::util::variant< Function, Function, Function, - FadedStopsFunction>>, - FadedStopsFunction> + PiecewiseConstantFunction>>, + PiecewiseConstantFunction> > PropertyValue; } diff --git a/src/mbgl/style/style_layer.cpp b/src/mbgl/style/style_layer.cpp index 795c651b8..9a7066c49 100644 --- a/src/mbgl/style/style_layer.cpp +++ b/src/mbgl/style/style_layer.cpp @@ -105,7 +105,7 @@ struct PropertyEvaluator { return mapbox::util::apply_visitor(FunctionEvaluator(z), value); } - T operator()(const FadedStopsFunction &value) const { + T operator()(const PiecewiseConstantFunction &value) const { return value.evaluate(z, zoomHistory); } diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 1fc57e2f7..4dd200aa2 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -344,10 +344,10 @@ std::tuple> StyleParser::parseFunction(JSVal value) { template inline std::chrono::duration defaultDurationValue() { return std::chrono::duration(300.0f); } template -std::tuple> StyleParser::parseFadedStopsFunction(JSVal value) { +std::tuple> StyleParser::parsePiecewiseConstantFunction(JSVal value) { if (!value.HasMember("stops")) { Log::Warning(Event::ParseStyle, "function must specify a function type"); - return std::tuple> { false, {} }; + return std::tuple> { false, {} }; } std::chrono::duration duration = defaultDurationValue(); @@ -364,10 +364,10 @@ std::tuple> StyleParser::parseFadedStopsFunction(JSV auto stops = parseStops(value["stops"]); if (!std::get<0>(stops)) { - return std::tuple> { false, {} }; + return std::tuple> { false, {} }; } - return std::tuple> { true, { std::get<1>(stops), duration } }; + return std::tuple> { true, { std::get<1>(stops), duration } }; } template @@ -554,30 +554,30 @@ template<> std::tuple> StyleParser::parseProperty(JSVal va } } -template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name) { +template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name) { if (value.IsObject()) { - return parseFadedStopsFunction>>(value); + return parsePiecewiseConstantFunction>>(value); } else if (value.IsArray()) { Faded> parsed; std::tuple> floatarray = parseFloatArray(value); parsed.low = std::get<1>(floatarray); - return std::tuple>>> { std::get<0>(floatarray), parsed }; + return std::tuple>>> { std::get<0>(floatarray), parsed }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be an array of numbers, or a number array function", property_name); - return std::tuple>>> { false, {} }; + return std::tuple>>> { false, {} }; } } -template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { +template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { if (value.IsObject()) { - return parseFadedStopsFunction>(value); + return parsePiecewiseConstantFunction>(value); } else if (value.IsString()) { Faded parsed; parsed.low = { value.GetString(), value.GetStringLength() }; - return std::tuple>> { true, parsed }; + return std::tuple>> { true, parsed }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be string or a string function", property_name); - return std::tuple>> { false, {} }; + return std::tuple>> { false, {} }; } } @@ -724,7 +724,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("fill-translate", { Key::FillTranslateX, Key::FillTranslateY }, klass, value); parseOptionalProperty("fill-translate-transition", Key::FillTranslate, klass, value); parseOptionalProperty("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); - parseOptionalProperty>>("fill-image", Key::FillImage, klass, value); + parseOptionalProperty>>("fill-image", Key::FillImage, klass, value); parseOptionalProperty>("line-opacity", Key::LineOpacity, klass, value); parseOptionalProperty("line-opacity-transition", Key::LineOpacity, klass, value); @@ -739,8 +739,8 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("line-gap-width-transition", Key::LineGapWidth, klass, value); parseOptionalProperty>("line-blur", Key::LineBlur, klass, value); parseOptionalProperty("line-blur-transition", Key::LineBlur, klass, value); - parseOptionalProperty>>>("line-dasharray", Key::LineDashArray, klass, value); - parseOptionalProperty>>("line-image", Key::LineImage, klass, value); + parseOptionalProperty>>>("line-dasharray", Key::LineDashArray, klass, value); + parseOptionalProperty>>("line-image", Key::LineImage, klass, value); parseOptionalProperty>("icon-opacity", Key::IconOpacity, klass, value); parseOptionalProperty("icon-opacity-transition", Key::IconOpacity, klass, value); @@ -790,7 +790,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("background-opacity", Key::BackgroundOpacity, klass, value); parseOptionalProperty>("background-color", Key::BackgroundColor, klass, value); - parseOptionalProperty>>("background-image", Key::BackgroundImage, klass, value); + parseOptionalProperty>>("background-image", Key::BackgroundImage, klass, value); } void StyleParser::parseLayout(JSVal value, util::ptr &bucket) { diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index 5b55d6116..fd26dc864 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -79,7 +79,7 @@ private: template std::tuple> parseFunction(JSVal value); template - std::tuple> parseFadedStopsFunction(JSVal value); + std::tuple> parsePiecewiseConstantFunction(JSVal value); template T parseFunctionArgument(JSVal value); template diff --git a/src/mbgl/style/style_properties.hpp b/src/mbgl/style/style_properties.hpp index fd55cb0bb..f50722542 100644 --- a/src/mbgl/style/style_properties.hpp +++ b/src/mbgl/style/style_properties.hpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include From 4ec00288562f16f93ea0d46f63291b8bea4d66ac Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 4 Feb 2015 12:08:29 -0800 Subject: [PATCH 07/31] switch from low/high to from/to --- src/mbgl/renderer/painter.cpp | 22 ++++++++-------- src/mbgl/renderer/painter_fill.cpp | 16 ++++++------ src/mbgl/renderer/painter_line.cpp | 20 +++++++------- .../style/piecewisefunction_properties.cpp | 26 ++++++++++--------- src/mbgl/style/style_parser.cpp | 8 +++--- src/mbgl/style/types.hpp | 8 +++--- 6 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 78b6c18e4..ebb2f77cc 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -375,12 +375,12 @@ void Painter::renderTileLayer(const Tile& tile, util::ptr layer_desc void Painter::renderBackground(util::ptr layer_desc) { const BackgroundProperties& properties = layer_desc->getProperties(); - if (properties.image.low.size()) { + if (properties.image.to.size()) { if ((properties.opacity >= 1.0f) != (pass == RenderPass::Opaque)) return; - SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.low, true); - SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.high, true); + SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.from, true); + SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.to, true); float zoomFraction = state.getZoomFraction(); useProgram(patternShader->program); @@ -401,11 +401,11 @@ void Painter::renderBackground(util::ptr layer_desc) { mat3 matrixA; matrix::identity(matrixA); matrix::scale(matrixA, matrixA, - 1.0f / (sizeA[0] * properties.image.lowScale), - 1.0f / (sizeA[1] * properties.image.lowScale)); + 1.0f / (sizeA[0] * properties.image.fromScale), + 1.0f / (sizeA[1] * properties.image.fromScale)); matrix::translate(matrixA, matrixA, - std::fmod(center[0] * 512, sizeA[0] * properties.image.lowScale), - std::fmod(center[1] * 512, sizeA[1] * properties.image.lowScale)); + std::fmod(center[0] * 512, sizeA[0] * properties.image.fromScale), + std::fmod(center[1] * 512, sizeA[1] * properties.image.fromScale)); matrix::rotate(matrixA, matrixA, -state.getAngle()); matrix::scale(matrixA, matrixA, scale * state.getWidth() / 2, @@ -415,11 +415,11 @@ void Painter::renderBackground(util::ptr layer_desc) { mat3 matrixB; matrix::identity(matrixB); matrix::scale(matrixB, matrixB, - 1.0f / (sizeB[0] * properties.image.highScale), - 1.0f / (sizeB[1] * properties.image.highScale)); + 1.0f / (sizeB[0] * properties.image.toScale), + 1.0f / (sizeB[1] * properties.image.toScale)); matrix::translate(matrixB, matrixB, - std::fmod(center[0] * 512, sizeB[0] * properties.image.highScale), - std::fmod(center[1] * 512, sizeB[1] * properties.image.highScale)); + std::fmod(center[0] * 512, sizeB[0] * properties.image.toScale), + std::fmod(center[1] * 512, sizeB[1] * properties.image.toScale)); matrix::rotate(matrixB, matrixB, -state.getAngle()); matrix::scale(matrixB, matrixB, scale * state.getWidth() / 2, diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index 10d4aa332..9cfe26222 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -33,13 +33,13 @@ void Painter::renderFill(FillBucket& bucket, util::ptr layer_desc, c stroke_color[3] *= properties.opacity; } - const bool pattern = properties.image.low.size(); + const bool pattern = properties.image.from.size(); bool outline = properties.antialias && !pattern && properties.stroke_color != properties.fill_color; bool fringeline = properties.antialias && !pattern && properties.stroke_color == properties.fill_color; // Because we're drawing top-to-bottom, and we update the stencil mask - // below, we have to draw the outline first (!) + // befrom, we have to draw the outline first (!) if (outline && pass == RenderPass::Translucent) { useProgram(outlineShader->program); outlineShader->u_matrix = vtxMatrix; @@ -59,20 +59,20 @@ void Painter::renderFill(FillBucket& bucket, util::ptr layer_desc, c if (pattern) { // Image fill. if (pass == RenderPass::Translucent) { - const SpriteAtlasPosition posA = spriteAtlas.getPosition(properties.image.low, true); - const SpriteAtlasPosition posB = spriteAtlas.getPosition(properties.image.high, true); + const SpriteAtlasPosition posA = spriteAtlas.getPosition(properties.image.from, true); + const SpriteAtlasPosition posB = spriteAtlas.getPosition(properties.image.to, true); float factor = 8.0 / std::pow(2, state.getIntegerZoom() - id.z); mat3 patternMatrixA; matrix::identity(patternMatrixA); matrix::scale(patternMatrixA, patternMatrixA, - 1.0f / (posA.size[0] * factor * properties.image.lowScale), - 1.0f / (posA.size[1] * factor * properties.image.lowScale)); + 1.0f / (posA.size[0] * factor * properties.image.fromScale), + 1.0f / (posA.size[1] * factor * properties.image.fromScale)); mat3 patternMatrixB; matrix::identity(patternMatrixB); matrix::scale(patternMatrixB, patternMatrixB, - 1.0f / (posB.size[0] * factor * properties.image.highScale), - 1.0f / (posB.size[1] * factor * properties.image.highScale)); + 1.0f / (posB.size[0] * factor * properties.image.toScale), + 1.0f / (posB.size[1] * factor * properties.image.toScale)); useProgram(patternShader->program); patternShader->u_matrix = vtxMatrix; diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp index 149683cbc..a66da1fcd 100644 --- a/src/mbgl/renderer/painter_line.cpp +++ b/src/mbgl/renderer/painter_line.cpp @@ -70,7 +70,7 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c bucket.drawPoints(*linejoinShader); } - if (properties.dash_array.low.size()) { + if (properties.dash_array.from.size()) { useProgram(linesdfShader->program); @@ -81,14 +81,14 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c linesdfShader->u_blur = blur; linesdfShader->u_color = color; - LinePatternPos posA = lineAtlas.getDashPosition(properties.dash_array.low, bucket.properties.cap == CapType::Round); - LinePatternPos posB = lineAtlas.getDashPosition(properties.dash_array.high, bucket.properties.cap == CapType::Round); + LinePatternPos posA = lineAtlas.getDashPosition(properties.dash_array.from, bucket.properties.cap == CapType::Round); + LinePatternPos posB = lineAtlas.getDashPosition(properties.dash_array.to, bucket.properties.cap == CapType::Round); lineAtlas.bind(); float patternratio = std::pow(2.0, std::floor(std::log2(state.getScale())) - id.z) / 8.0; - float scaleXA = patternratio / posA.width / properties.dash_line_width / properties.dash_array.lowScale; + float scaleXA = patternratio / posA.width / properties.dash_line_width / properties.dash_array.fromScale; float scaleYA = -posA.height / 2.0; - float scaleXB = patternratio / posB.width / properties.dash_line_width / properties.dash_array.highScale; + float scaleXB = patternratio / posB.width / properties.dash_line_width / properties.dash_array.toScale; float scaleYB = -posB.height / 2.0; linesdfShader->u_patternscale_a = {{ scaleXA, scaleYA }}; @@ -101,9 +101,9 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c bucket.drawLineSDF(*linesdfShader); - } else if (properties.image.low.size()) { - SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.low, true); - SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.high, true); + } else if (properties.image.from.size()) { + SpriteAtlasPosition imagePosA = spriteAtlas.getPosition(properties.image.from, true); + SpriteAtlasPosition imagePosB = spriteAtlas.getPosition(properties.image.to, true); float factor = 8.0 / std::pow(2, state.getIntegerZoom() - id.z); @@ -115,10 +115,10 @@ void Painter::renderLine(LineBucket& bucket, util::ptr layer_desc, c linepatternShader->u_ratio = ratio; linepatternShader->u_blur = blur; - linepatternShader->u_pattern_size_a = {{imagePosA.size[0] * factor * properties.image.lowScale, imagePosA.size[1]}}; + linepatternShader->u_pattern_size_a = {{imagePosA.size[0] * factor * properties.image.fromScale, imagePosA.size[1]}}; linepatternShader->u_pattern_tl_a = imagePosA.tl; linepatternShader->u_pattern_br_a = imagePosA.br; - linepatternShader->u_pattern_size_b = {{imagePosB.size[0] * factor * properties.image.highScale, imagePosB.size[1]}}; + linepatternShader->u_pattern_size_b = {{imagePosB.size[0] * factor * properties.image.toScale, imagePosB.size[1]}}; linepatternShader->u_pattern_tl_b = imagePosB.tl; linepatternShader->u_pattern_br_b = imagePosB.br; linepatternShader->u_fade = properties.image.t; diff --git a/src/mbgl/style/piecewisefunction_properties.cpp b/src/mbgl/style/piecewisefunction_properties.cpp index e760ebdb1..86d02e7b1 100644 --- a/src/mbgl/style/piecewisefunction_properties.cpp +++ b/src/mbgl/style/piecewisefunction_properties.cpp @@ -21,26 +21,28 @@ T PiecewiseConstantFunction::evaluate(float z, const ZoomHistory &zh) const { float fraction = std::fmod(z, 1.0f); float t = std::min((std::chrono::steady_clock::now() - zh.lastIntegerZoomTime) / duration, 1.0f); - float scale = 1.0f; - uint32_t low, high; + float fromScale = 1.0f; + float toScale = 1.0f; + uint32_t from, to; if (z > zh.lastIntegerZoom) { result.t = fraction + (1.0f - fraction) * t; - scale *= 2.0f; - low = getBiggestStopLessThan(values, z - 1.0f); - high = getBiggestStopLessThan(values, z); + from = getBiggestStopLessThan(values, z - 1.0f); + to = getBiggestStopLessThan(values, z); + fromScale *= 2.0f; } else { - result.t = fraction - fraction * t; - low = getBiggestStopLessThan(values, z); - high = getBiggestStopLessThan(values, z + 1.0f); + result.t = 1 - (1 - t) * fraction; + to = getBiggestStopLessThan(values, z); + from = getBiggestStopLessThan(values, z + 1.0f); + fromScale /= 2.0f; } - result.low = values[low].second.low; - result.high = values[high].second.low; - result.lowScale = scale; - result.highScale = scale / 2; + result.from = values[from].second.to; + result.to = values[to].second.to; + result.fromScale = fromScale; + result.toScale = toScale; return result; } diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 4dd200aa2..c6d3c8666 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -261,7 +261,7 @@ template <> Faded> StyleParser::parseFunctionArgument(JSVal value) { Faded> parsed; JSVal rvalue = replaceConstant(value); - parsed.low = std::get<1>(parseFloatArray(rvalue)); + parsed.to = std::get<1>(parseFloatArray(rvalue)); return parsed; } @@ -270,7 +270,7 @@ Faded StyleParser::parseFunctionArgument(JSVal value) { JSVal rvalue = replaceConstant(value); if (rvalue.IsString()) { Faded parsed; - parsed.low = { value.GetString(), value.GetStringLength() }; + parsed.to = { value.GetString(), value.GetStringLength() }; return parsed; } else { Log::Warning(Event::ParseStyle, "function argument must be a string"); @@ -560,7 +560,7 @@ template<> std::tuple>> } else if (value.IsArray()) { Faded> parsed; std::tuple> floatarray = parseFloatArray(value); - parsed.low = std::get<1>(floatarray); + parsed.to = std::get<1>(floatarray); return std::tuple>>> { std::get<0>(floatarray), parsed }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be an array of numbers, or a number array function", property_name); @@ -573,7 +573,7 @@ template<> std::tuple>> Style return parsePiecewiseConstantFunction>(value); } else if (value.IsString()) { Faded parsed; - parsed.low = { value.GetString(), value.GetStringLength() }; + parsed.to = { value.GetString(), value.GetStringLength() }; return std::tuple>> { true, parsed }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be string or a string function", property_name); diff --git a/src/mbgl/style/types.hpp b/src/mbgl/style/types.hpp index b7d675857..78938a282 100644 --- a/src/mbgl/style/types.hpp +++ b/src/mbgl/style/types.hpp @@ -14,10 +14,10 @@ typedef std::array Color; template struct Faded { - T low; - float lowScale; - T high; - float highScale; + T from; + float fromScale; + T to; + float toScale; float t; }; From a49737e542dc518076add81fca7d02c0a9449ae7 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 4 Feb 2015 13:51:52 -0800 Subject: [PATCH 08/31] fix durations by making them milliseconds --- src/mbgl/style/piecewisefunction_properties.hpp | 4 ++-- src/mbgl/style/style_parser.cpp | 4 ++-- src/mbgl/style/zoom_history.hpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mbgl/style/piecewisefunction_properties.hpp b/src/mbgl/style/piecewisefunction_properties.hpp index 69ddc7cc2..769020002 100644 --- a/src/mbgl/style/piecewisefunction_properties.hpp +++ b/src/mbgl/style/piecewisefunction_properties.hpp @@ -10,8 +10,8 @@ namespace mbgl { template struct PiecewiseConstantFunction { inline PiecewiseConstantFunction(const std::vector> &values_, std::chrono::duration duration_) : values(values_), duration(duration_) {} - inline PiecewiseConstantFunction(T &value) : values({{ 0, value }}), duration(300) {} - inline PiecewiseConstantFunction() : values(), duration(300) {} + inline PiecewiseConstantFunction(T &value) : values({{ 0, value }}), duration(std::chrono::milliseconds(300)) {} + inline PiecewiseConstantFunction() : values(), duration(std::chrono::milliseconds(300)) {} T evaluate(float z, const ZoomHistory &zoomHistory) const; private: diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index c6d3c8666..a334cecc0 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -341,7 +341,7 @@ std::tuple> StyleParser::parseFunction(JSVal value) { return std::tuple> { true, StopsFunction(std::get<1>(stops), base) }; } -template inline std::chrono::duration defaultDurationValue() { return std::chrono::duration(300.0f); } +template inline std::chrono::duration defaultDurationValue() { return std::chrono::milliseconds(300); } template std::tuple> StyleParser::parsePiecewiseConstantFunction(JSVal value) { @@ -355,7 +355,7 @@ std::tuple> StyleParser::parsePiecewiseConsta if (value.HasMember("duration")) { JSVal value_duration = value["duration"]; if (value_duration.IsNumber()) { - duration = static_cast>(value_duration.GetDouble()); + duration = std::chrono::milliseconds(value_duration.GetUint()); } else { Log::Warning(Event::ParseStyle, "duration must be numeric"); } diff --git a/src/mbgl/style/zoom_history.hpp b/src/mbgl/style/zoom_history.hpp index eee0d9b44..248868710 100644 --- a/src/mbgl/style/zoom_history.hpp +++ b/src/mbgl/style/zoom_history.hpp @@ -17,7 +17,7 @@ struct ZoomHistory { first = false; lastIntegerZoom = std::floor(z); - lastIntegerZoomTime = std::chrono::steady_clock::time_point::min(); + lastIntegerZoomTime = std::chrono::steady_clock::time_point(std::chrono::steady_clock::duration(0)); lastZoom = z; } From f07de8dd23779319909f20f9da384eaf46aa4ca3 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 4 Feb 2015 15:30:51 -0800 Subject: [PATCH 09/31] make pattern and dasharray properties use duration from "*-transition" properties --- .../style/piecewisefunction_properties.cpp | 4 +- .../style/piecewisefunction_properties.hpp | 2 +- src/mbgl/style/style_parser.cpp | 76 ++++++++++++------- src/mbgl/style/style_parser.hpp | 8 +- 4 files changed, 59 insertions(+), 31 deletions(-) diff --git a/src/mbgl/style/piecewisefunction_properties.cpp b/src/mbgl/style/piecewisefunction_properties.cpp index 86d02e7b1..72ed0b8f7 100644 --- a/src/mbgl/style/piecewisefunction_properties.cpp +++ b/src/mbgl/style/piecewisefunction_properties.cpp @@ -6,7 +6,7 @@ namespace mbgl { template -uint32_t getBiggestStopLessThan(std::vector> stops, float z) { +size_t getBiggestStopLessThan(std::vector> stops, float z) { for (uint32_t i = 0; i < stops.size(); i++) { if (stops[i].first > z) { return i == 0 ? i : i - 1; @@ -23,7 +23,7 @@ T PiecewiseConstantFunction::evaluate(float z, const ZoomHistory &zh) const { float t = std::min((std::chrono::steady_clock::now() - zh.lastIntegerZoomTime) / duration, 1.0f); float fromScale = 1.0f; float toScale = 1.0f; - uint32_t from, to; + size_t from, to; if (z > zh.lastIntegerZoom) { result.t = fraction + (1.0f - fraction) * t; diff --git a/src/mbgl/style/piecewisefunction_properties.hpp b/src/mbgl/style/piecewisefunction_properties.hpp index 769020002..0440655ba 100644 --- a/src/mbgl/style/piecewisefunction_properties.hpp +++ b/src/mbgl/style/piecewisefunction_properties.hpp @@ -10,7 +10,7 @@ namespace mbgl { template struct PiecewiseConstantFunction { inline PiecewiseConstantFunction(const std::vector> &values_, std::chrono::duration duration_) : values(values_), duration(duration_) {} - inline PiecewiseConstantFunction(T &value) : values({{ 0, value }}), duration(std::chrono::milliseconds(300)) {} + inline PiecewiseConstantFunction(T &value, std::chrono::duration duration_) : values({{ 0, value }}), duration(duration_) {} inline PiecewiseConstantFunction() : values(), duration(std::chrono::milliseconds(300)) {} T evaluate(float z, const ZoomHistory &zoomHistory) const; diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index a334cecc0..89a266a18 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -268,13 +268,13 @@ Faded> StyleParser::parseFunctionArgument(JSVal value) { template <> Faded StyleParser::parseFunctionArgument(JSVal value) { JSVal rvalue = replaceConstant(value); + Faded parsed; if (rvalue.IsString()) { - Faded parsed; parsed.to = { value.GetString(), value.GetStringLength() }; return parsed; } else { Log::Warning(Event::ParseStyle, "function argument must be a string"); - return {}; + return parsed; } } @@ -308,7 +308,7 @@ std::tuple>> StyleParser::parseStops(JSVal return std::tuple>> { false, {}}; } } - return { true, stops }; + return std::tuple>>(true, stops); } template inline float defaultBaseValue() { return 1.75; } @@ -341,26 +341,13 @@ std::tuple> StyleParser::parseFunction(JSVal value) { return std::tuple> { true, StopsFunction(std::get<1>(stops), base) }; } -template inline std::chrono::duration defaultDurationValue() { return std::chrono::milliseconds(300); } - template -std::tuple> StyleParser::parsePiecewiseConstantFunction(JSVal value) { +std::tuple> StyleParser::parsePiecewiseConstantFunction(JSVal value, std::chrono::steady_clock::duration duration) { if (!value.HasMember("stops")) { Log::Warning(Event::ParseStyle, "function must specify a function type"); return std::tuple> { false, {} }; } - std::chrono::duration duration = defaultDurationValue(); - - if (value.HasMember("duration")) { - JSVal value_duration = value["duration"]; - if (value_duration.IsNumber()) { - duration = std::chrono::milliseconds(value_duration.GetUint()); - } else { - Log::Warning(Event::ParseStyle, "duration must be numeric"); - } - } - auto stops = parseStops(value["stops"]); if (!std::get<0>(stops)) { @@ -379,6 +366,15 @@ bool StyleParser::setProperty(JSVal value, const char *property_name, PropertyKe return std::get<0>(res); } +template +bool StyleParser::setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass, JSVal transition) { + auto res = parseProperty(value, property_name, transition); + if (std::get<0>(res)) { + klass.set(key, std::get<1>(res)); + } + return std::get<0>(res); +} + template void StyleParser::parseVisibility(StyleBucket &bucket, JSVal value) { if (!value.HasMember("visibility")) { @@ -400,6 +396,21 @@ bool StyleParser::parseOptionalProperty(const char *property_name, PropertyKey k } } +template +bool StyleParser::parseOptionalProperty(const char *property_name, PropertyKey key, ClassProperties &klass, JSVal value, const char *transition_name) { + if (!value.HasMember(property_name)) { + return false; + } else { + if (value.HasMember(transition_name)) { + return setProperty(replaceConstant(value[property_name]), property_name, key, klass, value[transition_name]); + } else { + JSVal val(rapidjson::kObjectType); + return setProperty(replaceConstant(value[property_name]), property_name, key, klass, val); + } + } +} + + template<> std::tuple StyleParser::parseProperty(JSVal value, const char *property_name) { if (!value.IsString()) { Log::Warning(Event::ParseStyle, "value of '%s' must be a string", property_name); @@ -554,27 +565,38 @@ template<> std::tuple> StyleParser::parseProperty(JSVal va } } -template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name) { +template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name, JSVal transition) { + std::chrono::steady_clock::duration duration = std::chrono::milliseconds(300); + if (transition.HasMember("duration")) { + duration = std::chrono::milliseconds(transition["duration"].GetUint()); + } + if (value.IsObject()) { - return parsePiecewiseConstantFunction>>(value); + return parsePiecewiseConstantFunction>>(value, duration); } else if (value.IsArray()) { Faded> parsed; std::tuple> floatarray = parseFloatArray(value); parsed.to = std::get<1>(floatarray); - return std::tuple>>> { std::get<0>(floatarray), parsed }; + return std::tuple>>> { std::get<0>(floatarray), { parsed, duration } }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be an array of numbers, or a number array function", property_name); return std::tuple>>> { false, {} }; } } -template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { +template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name, JSVal transition) { + + std::chrono::steady_clock::duration duration = std::chrono::milliseconds(300); + if (transition.HasMember("duration")) { + duration = std::chrono::milliseconds(transition["duration"].GetUint()); + } + if (value.IsObject()) { - return parsePiecewiseConstantFunction>(value); + return parsePiecewiseConstantFunction>(value, duration); } else if (value.IsString()) { Faded parsed; parsed.to = { value.GetString(), value.GetStringLength() }; - return std::tuple>> { true, parsed }; + return std::tuple>> { true, { parsed, duration } }; } else { Log::Warning(Event::ParseStyle, "value of '%s' must be string or a string function", property_name); return std::tuple>> { false, {} }; @@ -724,7 +746,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("fill-translate", { Key::FillTranslateX, Key::FillTranslateY }, klass, value); parseOptionalProperty("fill-translate-transition", Key::FillTranslate, klass, value); parseOptionalProperty("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); - parseOptionalProperty>>("fill-image", Key::FillImage, klass, value); + parseOptionalProperty>>("fill-image", Key::FillImage, klass, value, "fill-image-transition"); parseOptionalProperty>("line-opacity", Key::LineOpacity, klass, value); parseOptionalProperty("line-opacity-transition", Key::LineOpacity, klass, value); @@ -739,8 +761,8 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("line-gap-width-transition", Key::LineGapWidth, klass, value); parseOptionalProperty>("line-blur", Key::LineBlur, klass, value); parseOptionalProperty("line-blur-transition", Key::LineBlur, klass, value); - parseOptionalProperty>>>("line-dasharray", Key::LineDashArray, klass, value); - parseOptionalProperty>>("line-image", Key::LineImage, klass, value); + parseOptionalProperty>>>("line-dasharray", Key::LineDashArray, klass, value, "line-dasharray-transition"); + parseOptionalProperty>>("line-image", Key::LineImage, klass, value, "line-image-transition"); parseOptionalProperty>("icon-opacity", Key::IconOpacity, klass, value); parseOptionalProperty("icon-opacity-transition", Key::IconOpacity, klass, value); @@ -790,7 +812,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("background-opacity", Key::BackgroundOpacity, klass, value); parseOptionalProperty>("background-color", Key::BackgroundColor, klass, value); - parseOptionalProperty>>("background-image", Key::BackgroundImage, klass, value); + parseOptionalProperty>>("background-image", Key::BackgroundImage, klass, value, "background-image-transition"); } void StyleParser::parseLayout(JSVal value, util::ptr &bucket) { diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index fd26dc864..d25c70579 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -69,17 +69,23 @@ private: template bool parseOptionalProperty(const char *property_name, PropertyKey key, ClassProperties &klass, JSVal value); template + bool parseOptionalProperty(const char *property_name, PropertyKey key, ClassProperties &klass, JSVal value, const char *transition_name); + template bool parseOptionalProperty(const char *property_name, const std::vector &keys, ClassProperties &klass, JSVal value); template bool setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass); + template + bool setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass, JSVal transition); template std::tuple parseProperty(JSVal value, const char *property_name); + template + std::tuple parseProperty(JSVal value, const char *property_name, JSVal transition); template std::tuple> parseFunction(JSVal value); template - std::tuple> parsePiecewiseConstantFunction(JSVal value); + std::tuple> parsePiecewiseConstantFunction(JSVal value, std::chrono::steady_clock::duration duration); template T parseFunctionArgument(JSVal value); template From 6e95c3b2e189e91a6244eef58ad1057258b2724b Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 4 Feb 2015 19:47:31 -0800 Subject: [PATCH 10/31] fix compilation on android --- src/mbgl/style/style_parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 89a266a18..4120ef470 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -404,7 +404,7 @@ bool StyleParser::parseOptionalProperty(const char *property_name, PropertyKey k if (value.HasMember(transition_name)) { return setProperty(replaceConstant(value[property_name]), property_name, key, klass, value[transition_name]); } else { - JSVal val(rapidjson::kObjectType); + JSVal val = JSVal(rapidjson::kObjectType); return setProperty(replaceConstant(value[property_name]), property_name, key, klass, val); } } From 3a8aaad6a799fd4ab1feb47a47a7ffa0d05c1cc0 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 5 Feb 2015 15:56:46 -0800 Subject: [PATCH 11/31] make everything a function --- src/mbgl/style/function_properties.cpp | 20 +++ src/mbgl/style/property_value.hpp | 21 ++-- src/mbgl/style/style_parser.cpp | 162 +++++++++++++------------ src/mbgl/style/style_parser.hpp | 4 +- src/mbgl/util/interpolate.hpp | 20 ++- 5 files changed, 133 insertions(+), 94 deletions(-) diff --git a/src/mbgl/style/function_properties.cpp b/src/mbgl/style/function_properties.cpp index 81b1c85c7..2ea3682b8 100644 --- a/src/mbgl/style/function_properties.cpp +++ b/src/mbgl/style/function_properties.cpp @@ -14,6 +14,16 @@ template <> inline float defaultStopsValue() { return 1.0f; } template <> inline Color defaultStopsValue() { return {{ 0, 0, 0, 1 }}; } template <> inline std::vector defaultStopsValue() { return {{ 1, 0 }}; } +template <> inline std:: string defaultStopsValue() { return {}; } +template <> inline TranslateAnchorType defaultStopsValue() { return {}; }; +template <> inline RotateAnchorType defaultStopsValue() { return {}; }; +template <> inline CapType defaultStopsValue() { return {}; }; +template <> inline JoinType defaultStopsValue() { return {}; }; +template <> inline PlacementType defaultStopsValue() { return {}; }; +template <> inline TextAnchorType defaultStopsValue() { return {}; }; +template <> inline TextJustifyType defaultStopsValue() { return {}; }; +template <> inline TextTransformType defaultStopsValue() { return {}; }; +template <> inline RotationAlignmentType defaultStopsValue() { return {}; }; template T StopsFunction::evaluate(float z) const { @@ -67,4 +77,14 @@ template float StopsFunction::evaluate(float z) const; template Color StopsFunction::evaluate(float z) const; template std::vector StopsFunction>::evaluate(float z) const; +template std::string StopsFunction::evaluate(float z) const; +template TranslateAnchorType StopsFunction::evaluate(float z) const; +template RotateAnchorType StopsFunction::evaluate(float z) const; +template CapType StopsFunction::evaluate(float z) const; +template JoinType StopsFunction::evaluate(float z) const; +template PlacementType StopsFunction::evaluate(float z) const; +template TextAnchorType StopsFunction::evaluate(float z) const; +template TextJustifyType StopsFunction::evaluate(float z) const; +template TextTransformType StopsFunction::evaluate(float z) const; +template RotationAlignmentType StopsFunction::evaluate(float z) const; } diff --git a/src/mbgl/style/property_value.hpp b/src/mbgl/style/property_value.hpp index c7fe82302..00f72ea64 100644 --- a/src/mbgl/style/property_value.hpp +++ b/src/mbgl/style/property_value.hpp @@ -11,18 +11,17 @@ namespace mbgl { typedef mapbox::util::variant< - std::string, - TranslateAnchorType, - RotateAnchorType, - bool, - CapType, - JoinType, + Function, + Function, + Function, + Function, + Function, VisibilityType, - PlacementType, - RotationAlignmentType, - TextTransformType, - TextJustifyType, - TextAnchorType, + Function, + Function, + Function, + Function, + Function, Function, Function, Function, diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 4120ef470..15a9f64aa 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -228,53 +228,40 @@ std::tuple> parseFloatArray(JSVal value) { } template <> -bool StyleParser::parseFunctionArgument(JSVal value) { - JSVal rvalue = replaceConstant(value); - if (rvalue.IsBool()) { - return rvalue.GetBool(); - } else if (rvalue.IsNumber()) { - return rvalue.GetDouble(); - } else { - Log::Warning(Event::ParseStyle, "function argument must be a boolean or numeric value"); - return false; - } -} - -template <> -float StyleParser::parseFunctionArgument(JSVal value) { +std::tuple StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); if (rvalue.IsNumber()) { - return rvalue.GetDouble(); + return { true, rvalue.GetDouble() }; } else { Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); - return 0.0f; + return { false, 0.0f }; } } template <> -Color StyleParser::parseFunctionArgument(JSVal value) { +std::tuple StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); - return parseColor(rvalue); + return { true, parseColor(rvalue) }; } template <> -Faded> StyleParser::parseFunctionArgument(JSVal value) { +std::tuple>> StyleParser::parseProperty(JSVal value, const char*) { Faded> parsed; JSVal rvalue = replaceConstant(value); parsed.to = std::get<1>(parseFloatArray(rvalue)); - return parsed; + return { true, parsed }; } template <> -Faded StyleParser::parseFunctionArgument(JSVal value) { +std::tuple> StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); Faded parsed; if (rvalue.IsString()) { parsed.to = { value.GetString(), value.GetStringLength() }; - return parsed; + return { true, parsed }; } else { Log::Warning(Event::ParseStyle, "function argument must be a string"); - return parsed; + return { false, parsed }; } } @@ -302,7 +289,7 @@ std::tuple>> StyleParser::parseStops(JSVal return std::tuple>> { false, {}}; } - stops.emplace_back(z.GetDouble(), parseFunctionArgument(stop[rapidjson::SizeType(1)])); + stops.emplace_back(z.GetDouble(), std::get<1>(parseProperty(replaceConstant(stop[rapidjson::SizeType(1)]), ""))); } else { Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); return std::tuple>> { false, {}}; @@ -315,7 +302,12 @@ template inline float defaultBaseValue() { return 1.75; } template <> inline float defaultBaseValue() { return 1.0; } template -std::tuple> StyleParser::parseFunction(JSVal value) { +std::tuple> StyleParser::parseFunction(JSVal value, const char *) { + + if (!value.IsObject()) { + return std::tuple> { true, ConstantFunction(std::get<1>(parseProperty(value, ""))) }; + } + if (!value.HasMember("stops")) { Log::Warning(Event::ParseStyle, "function must specify a function type"); return std::tuple> { false, ConstantFunction(T()) }; @@ -528,41 +520,57 @@ template<> std::tuple StyleParser::parseProperty(JSVal return std::tuple { true, std::move(transition) }; } +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + +template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction(value, property_name); +} + + template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { - if (value.IsObject()) { - return parseFunction(value); - } else if (value.IsNumber()) { - return std::tuple> { true, ConstantFunction(value.GetDouble()) }; - } else if (value.IsBool()) { - return std::tuple> { true, ConstantFunction(value.GetBool()) }; - } else { - Log::Warning(Event::ParseStyle, "value of '%s' must be convertible to boolean, or a boolean function", property_name); - return std::tuple> { false, ConstantFunction(false) }; - } + return parseFunction(value, property_name); } template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { - if (value.IsObject()) { - return parseFunction(value); - } else if (value.IsNumber()) { - return std::tuple> { true, ConstantFunction(value.GetDouble()) }; - } else if (value.IsBool()) { - return std::tuple> { true, ConstantFunction(value.GetBool()) }; - } else { - Log::Warning(Event::ParseStyle, "value of '%s' must be a number, or a number function", property_name); - return std::tuple> { false, ConstantFunction(0) }; - } + return parseFunction(value, property_name); } template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { - if (value.IsObject()) { - return parseFunction(value); - } else if (value.IsString()) { - return std::tuple> { true, ConstantFunction(parseColor(value)) }; - } else { - Log::Warning(Event::ParseStyle, "value of '%s' must be a color, or a color function", property_name); - return std::tuple> { false, ConstantFunction(Color {{ 0, 0, 0, 0 }}) }; - } + return parseFunction(value, property_name); } template<> std::tuple>>> StyleParser::parseProperty(JSVal value, const char *property_name, JSVal transition) { @@ -745,7 +753,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("fill-outline-color-transition", Key::FillOutlineColor, klass, value); parseOptionalProperty>("fill-translate", { Key::FillTranslateX, Key::FillTranslateY }, klass, value); parseOptionalProperty("fill-translate-transition", Key::FillTranslate, klass, value); - parseOptionalProperty("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); + parseOptionalProperty>("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); parseOptionalProperty>>("fill-image", Key::FillImage, klass, value, "fill-image-transition"); parseOptionalProperty>("line-opacity", Key::LineOpacity, klass, value); @@ -754,7 +762,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("line-color-transition", Key::LineColor, klass, value); parseOptionalProperty>("line-translate", { Key::LineTranslateX, Key::LineTranslateY }, klass, value); parseOptionalProperty("line-translate-transition", Key::LineTranslate, klass, value); - parseOptionalProperty("line-translate-anchor", Key::LineTranslateAnchor, klass, value); + parseOptionalProperty>("line-translate-anchor", Key::LineTranslateAnchor, klass, value); parseOptionalProperty>("line-width", Key::LineWidth, klass, value); parseOptionalProperty("line-width-transition", Key::LineWidth, klass, value); parseOptionalProperty>("line-gap-width", Key::LineGapWidth, klass, value); @@ -779,7 +787,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("icon-halo-blur-transition", Key::IconHaloBlur, klass, value); parseOptionalProperty>("icon-translate", { Key::IconTranslateX, Key::IconTranslateY }, klass, value); parseOptionalProperty("icon-translate-transition", Key::IconTranslate, klass, value); - parseOptionalProperty("icon-translate-anchor", Key::IconTranslateAnchor, klass, value); + parseOptionalProperty>("icon-translate-anchor", Key::IconTranslateAnchor, klass, value); parseOptionalProperty>("text-opacity", Key::TextOpacity, klass, value); parseOptionalProperty("text-opacity-transition", Key::TextOpacity, klass, value); @@ -795,7 +803,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("text-halo-blur-transition", Key::TextHaloBlur, klass, value); parseOptionalProperty>("text-translate", { Key::TextTranslateX, Key::TextTranslateY }, klass, value); parseOptionalProperty("text-translate-transition", Key::TextTranslate, klass, value); - parseOptionalProperty("text-translate-anchor", Key::TextTranslateAnchor, klass, value); + parseOptionalProperty>("text-translate-anchor", Key::TextTranslateAnchor, klass, value); parseOptionalProperty>("raster-opacity", Key::RasterOpacity, klass, value); parseOptionalProperty("raster-opacity-transition", Key::RasterOpacity, klass, value); @@ -820,42 +828,42 @@ void StyleParser::parseLayout(JSVal value, util::ptr &bucket) { parseVisibility(*bucket, value); - parseOptionalProperty("line-cap", Key::LineCap, bucket->layout, value); - parseOptionalProperty("line-join", Key::LineJoin, bucket->layout, value); + parseOptionalProperty>("line-cap", Key::LineCap, bucket->layout, value); + parseOptionalProperty>("line-join", Key::LineJoin, bucket->layout, value); parseOptionalProperty>("line-miter-limit", Key::LineMiterLimit, bucket->layout, value); parseOptionalProperty>("line-round-limit", Key::LineRoundLimit, bucket->layout, value); - parseOptionalProperty("symbol-placement", Key::SymbolPlacement, bucket->layout, value); + parseOptionalProperty>("symbol-placement", Key::SymbolPlacement, bucket->layout, value); parseOptionalProperty>("symbol-min-distance", Key::SymbolMinDistance, bucket->layout, value); - parseOptionalProperty("symbol-avoid-edges", Key::SymbolAvoidEdges, bucket->layout, value); - parseOptionalProperty("icon-allow-overlap", Key::IconAllowOverlap, bucket->layout, value); - parseOptionalProperty("icon-ignore-placement", Key::IconIgnorePlacement, bucket->layout, value); - parseOptionalProperty("icon-optional", Key::IconOptional, bucket->layout, value); - parseOptionalProperty("icon-rotation-alignment", Key::IconRotationAlignment, bucket->layout, value); + parseOptionalProperty>("symbol-avoid-edges", Key::SymbolAvoidEdges, bucket->layout, value); + parseOptionalProperty>("icon-allow-overlap", Key::IconAllowOverlap, bucket->layout, value); + parseOptionalProperty>("icon-ignore-placement", Key::IconIgnorePlacement, bucket->layout, value); + parseOptionalProperty>("icon-optional", Key::IconOptional, bucket->layout, value); + parseOptionalProperty>("icon-rotation-alignment", Key::IconRotationAlignment, bucket->layout, value); parseOptionalProperty>("icon-max-size", Key::IconMaxSize, bucket->layout, value); - parseOptionalProperty("icon-image", Key::IconImage, bucket->layout, value); + parseOptionalProperty>("icon-image", Key::IconImage, bucket->layout, value); parseOptionalProperty>("icon-rotate", Key::IconRotate, bucket->layout, value); parseOptionalProperty>("icon-padding", Key::IconPadding, bucket->layout, value); - parseOptionalProperty("icon-keep-upright", Key::IconKeepUpright, bucket->layout, value); + parseOptionalProperty>("icon-keep-upright", Key::IconKeepUpright, bucket->layout, value); parseOptionalProperty>("icon-offset", { Key::IconOffsetX, Key::IconOffsetY }, bucket->layout, value); - parseOptionalProperty("text-rotation-alignment", Key::TextRotationAlignment, bucket->layout, value); - parseOptionalProperty("text-field", Key::TextField, bucket->layout, value); - parseOptionalProperty("text-font", Key::TextFont, bucket->layout, value); + parseOptionalProperty>("text-rotation-alignment", Key::TextRotationAlignment, bucket->layout, value); + parseOptionalProperty>("text-field", Key::TextField, bucket->layout, value); + parseOptionalProperty>("text-font", Key::TextFont, bucket->layout, value); parseOptionalProperty>("text-max-size", Key::TextMaxSize, bucket->layout, value); parseOptionalProperty>("text-max-width", Key::TextMaxWidth, bucket->layout, value); parseOptionalProperty>("text-line-height", Key::TextLineHeight, bucket->layout, value); parseOptionalProperty>("text-letter-spacing", Key::TextLetterSpacing, bucket->layout, value); - parseOptionalProperty("text-justify", Key::TextJustify, bucket->layout, value); - parseOptionalProperty("text-anchor", Key::TextAnchor, bucket->layout, value); + parseOptionalProperty>("text-justify", Key::TextJustify, bucket->layout, value); + parseOptionalProperty>("text-anchor", Key::TextAnchor, bucket->layout, value); parseOptionalProperty>("text-max-angle", Key::TextMaxAngle, bucket->layout, value); parseOptionalProperty>("text-rotate", Key::TextRotate, bucket->layout, value); parseOptionalProperty>("text-padding", Key::TextPadding, bucket->layout, value); - parseOptionalProperty("text-keep-upright", Key::TextKeepUpright, bucket->layout, value); - parseOptionalProperty("text-transform", Key::TextTransform, bucket->layout, value); + parseOptionalProperty>("text-keep-upright", Key::TextKeepUpright, bucket->layout, value); + parseOptionalProperty>("text-transform", Key::TextTransform, bucket->layout, value); parseOptionalProperty>("text-offset", { Key::TextOffsetX, Key::TextOffsetY }, bucket->layout, value); - parseOptionalProperty("text-allow-overlap", Key::TextAllowOverlap, bucket->layout, value); - parseOptionalProperty("text-ignore-placement", Key::TextIgnorePlacement, bucket->layout, value); - parseOptionalProperty("text-optional", Key::TextOptional, bucket->layout, value); + parseOptionalProperty>("text-allow-overlap", Key::TextAllowOverlap, bucket->layout, value); + parseOptionalProperty>("text-ignore-placement", Key::TextIgnorePlacement, bucket->layout, value); + parseOptionalProperty>("text-optional", Key::TextOptional, bucket->layout, value); } diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index d25c70579..a32e6dd1d 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -83,12 +83,10 @@ private: std::tuple parseProperty(JSVal value, const char *property_name, JSVal transition); template - std::tuple> parseFunction(JSVal value); + std::tuple> parseFunction(JSVal value, const char *); template std::tuple> parsePiecewiseConstantFunction(JSVal value, std::chrono::steady_clock::duration duration); template - T parseFunctionArgument(JSVal value); - template std::tuple>> parseStops(JSVal value); FilterExpression parseFilter(JSVal); diff --git a/src/mbgl/util/interpolate.hpp b/src/mbgl/util/interpolate.hpp index 952d7b9c1..a2998233b 100644 --- a/src/mbgl/util/interpolate.hpp +++ b/src/mbgl/util/interpolate.hpp @@ -4,6 +4,8 @@ #include #include +#include + namespace mbgl { namespace util { @@ -22,9 +24,21 @@ inline std::array interpolate(const std::array& a, const std::array< }}; } -inline std::vector interpolate(const std::vector &a, const std::vector, const double) { - return a; -} +// fake interpolations that just return the first value +template<> inline bool interpolate(const bool a, const bool, const double) { return a; } +template<> inline std::vector interpolate(const std::vector a, const std::vector, const double) { return a; } +template<> inline std::string interpolate(const std::string a, const std::string, const double) { return a; } +template<> inline TranslateAnchorType interpolate(const TranslateAnchorType a, const TranslateAnchorType, const double) { return a; } +template<> inline RotateAnchorType interpolate(const RotateAnchorType a, const RotateAnchorType, const double) { return a; } +template<> inline CapType interpolate(const CapType a, const CapType, const double) { return a; } +template<> inline JoinType interpolate(const JoinType a, const JoinType, const double) { return a; } +template<> inline PlacementType interpolate(const PlacementType a, const PlacementType, const double) { return a; } +template<> inline TextAnchorType interpolate(const TextAnchorType a, const TextAnchorType, const double) { return a; } +template<> inline TextJustifyType interpolate(const TextJustifyType a, const TextJustifyType, const double) { return a; } +template<> inline TextTransformType interpolate(const TextTransformType a, const TextTransformType, const double) { return a; } +template<> inline RotationAlignmentType interpolate(const RotationAlignmentType a, const RotationAlignmentType, const double) { return a; } + + } } From f99bd1c6ec6ed9369fe84e474ff539398f962715 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 5 Feb 2015 17:30:34 -0800 Subject: [PATCH 12/31] switch to functions of arrays (from arrays of fns) for properties like *-translate, *-offset https://github.com/mapbox/mapbox-gl-style-spec/issues/237 --- src/mbgl/map/tile_parser.cpp | 6 ++--- src/mbgl/style/function_properties.cpp | 2 ++ src/mbgl/style/property_fallback.cpp | 18 +++++---------- src/mbgl/style/property_key.hpp | 18 ++++----------- src/mbgl/style/property_value.hpp | 2 ++ src/mbgl/style/style_layer.cpp | 12 ++++------ src/mbgl/style/style_parser.cpp | 31 +++++++++++++++++++++----- src/mbgl/util/interpolate.hpp | 8 +++++++ 8 files changed, 53 insertions(+), 44 deletions(-) diff --git a/src/mbgl/map/tile_parser.cpp b/src/mbgl/map/tile_parser.cpp index c3e7a8244..6118d90a1 100644 --- a/src/mbgl/map/tile_parser.cpp +++ b/src/mbgl/map/tile_parser.cpp @@ -161,8 +161,7 @@ void TileParser::applyLayoutProperties(StyleBucket &bucket_des applyLayoutProperty(PropertyKey::IconPadding, bucket_desc.layout, symbol.icon.padding, z); applyLayoutProperty(PropertyKey::IconRotate, bucket_desc.layout, symbol.icon.rotate, z); applyLayoutProperty(PropertyKey::IconKeepUpright, bucket_desc.layout, symbol.icon.keep_upright, z); - applyLayoutProperty(PropertyKey::IconOffsetX, bucket_desc.layout, symbol.icon.offset[0], z); - applyLayoutProperty(PropertyKey::IconOffsetY, bucket_desc.layout, symbol.icon.offset[1], z); + applyLayoutProperty(PropertyKey::IconOffset, bucket_desc.layout, symbol.icon.offset, z); applyLayoutProperty(PropertyKey::TextRotationAlignment, bucket_desc.layout, symbol.text.rotation_alignment, z); applyLayoutProperty(PropertyKey::TextField, bucket_desc.layout, symbol.text.field, z); @@ -180,8 +179,7 @@ void TileParser::applyLayoutProperties(StyleBucket &bucket_des applyLayoutProperty(PropertyKey::TextAnchor, bucket_desc.layout, symbol.text.anchor, z); applyLayoutProperty(PropertyKey::TextKeepUpright, bucket_desc.layout, symbol.text.keep_upright, z); applyLayoutProperty(PropertyKey::TextTransform, bucket_desc.layout, symbol.text.transform, z); - applyLayoutProperty(PropertyKey::TextOffsetX, bucket_desc.layout, symbol.text.offset[0], z); - applyLayoutProperty(PropertyKey::TextOffsetY, bucket_desc.layout, symbol.text.offset[1], z); + applyLayoutProperty(PropertyKey::TextOffset, bucket_desc.layout, symbol.text.offset, z); applyLayoutProperty(PropertyKey::TextAllowOverlap, bucket_desc.layout, symbol.text.allow_overlap, z); } diff --git a/src/mbgl/style/function_properties.cpp b/src/mbgl/style/function_properties.cpp index 2ea3682b8..1ac2863a7 100644 --- a/src/mbgl/style/function_properties.cpp +++ b/src/mbgl/style/function_properties.cpp @@ -13,6 +13,7 @@ template <> inline bool defaultStopsValue() { return true; } template <> inline float defaultStopsValue() { return 1.0f; } template <> inline Color defaultStopsValue() { return {{ 0, 0, 0, 1 }}; } template <> inline std::vector defaultStopsValue() { return {{ 1, 0 }}; } +template <> inline std::array defaultStopsValue() { return {{ 0, 0 }}; } template <> inline std:: string defaultStopsValue() { return {}; } template <> inline TranslateAnchorType defaultStopsValue() { return {}; }; @@ -76,6 +77,7 @@ template bool StopsFunction::evaluate(float z) const; template float StopsFunction::evaluate(float z) const; template Color StopsFunction::evaluate(float z) const; template std::vector StopsFunction>::evaluate(float z) const; +template std::array StopsFunction>::evaluate(float z) const; template std::string StopsFunction::evaluate(float z) const; template TranslateAnchorType StopsFunction::evaluate(float z) const; diff --git a/src/mbgl/style/property_fallback.cpp b/src/mbgl/style/property_fallback.cpp index 5fc3ce1f0..2827fd614 100644 --- a/src/mbgl/style/property_fallback.cpp +++ b/src/mbgl/style/property_fallback.cpp @@ -9,14 +9,12 @@ const std::map PropertyFallbackValue::properties = { { PropertyKey::FillOpacity, defaultStyleProperties().opacity }, { PropertyKey::FillColor, defaultStyleProperties().fill_color }, // no FillOutlineColor on purpose. - { PropertyKey::FillTranslateX, defaultStyleProperties().translate[0] }, - { PropertyKey::FillTranslateY, defaultStyleProperties().translate[1] }, + { PropertyKey::FillTranslate, defaultStyleProperties().translate }, { PropertyKey::FillTranslateAnchor, defaultStyleProperties().translateAnchor }, { PropertyKey::LineOpacity, defaultStyleProperties().opacity }, { PropertyKey::LineColor, defaultStyleProperties().color }, - { PropertyKey::LineTranslateX, defaultStyleProperties().translate[0] }, - { PropertyKey::LineTranslateY, defaultStyleProperties().translate[1] }, + { PropertyKey::LineTranslate, defaultStyleProperties().translate }, { PropertyKey::LineTranslateAnchor, defaultStyleProperties().translateAnchor }, { PropertyKey::LineWidth, defaultStyleProperties().width }, { PropertyKey::LineGapWidth, defaultStyleProperties().gap_width }, @@ -29,8 +27,7 @@ const std::map PropertyFallbackValue::properties = { { PropertyKey::IconHaloColor, defaultStyleProperties().icon.halo_color }, { PropertyKey::IconHaloWidth, defaultStyleProperties().icon.halo_width }, { PropertyKey::IconHaloBlur, defaultStyleProperties().icon.halo_blur }, - { PropertyKey::IconTranslateX, defaultStyleProperties().icon.translate[0] }, - { PropertyKey::IconTranslateY, defaultStyleProperties().icon.translate[1] }, + { PropertyKey::IconTranslate, defaultStyleProperties().icon.translate }, { PropertyKey::IconTranslateAnchor, defaultStyleProperties().icon.translate_anchor }, { PropertyKey::TextOpacity, defaultStyleProperties().text.opacity }, @@ -39,8 +36,7 @@ const std::map PropertyFallbackValue::properties = { { PropertyKey::TextHaloColor, defaultStyleProperties().text.halo_color }, { PropertyKey::TextHaloWidth, defaultStyleProperties().text.halo_width }, { PropertyKey::TextHaloBlur, defaultStyleProperties().text.halo_blur }, - { PropertyKey::TextTranslateX, defaultStyleProperties().text.translate[0] }, - { PropertyKey::TextTranslateY, defaultStyleProperties().text.translate[1] }, + { PropertyKey::TextTranslate, defaultStyleProperties().text.translate }, { PropertyKey::TextTranslateAnchor, defaultStyleProperties().text.translate_anchor }, { PropertyKey::RasterOpacity, defaultStyleProperties().opacity }, @@ -72,8 +68,7 @@ const std::map PropertyFallbackValue::properties = { { PropertyKey::IconRotate, defaultLayoutProperties().icon.rotate }, { PropertyKey::IconPadding, defaultLayoutProperties().icon.padding }, { PropertyKey::IconKeepUpright, defaultLayoutProperties().icon.keep_upright }, - { PropertyKey::IconOffsetX, defaultLayoutProperties().icon.offset[0] }, - { PropertyKey::IconOffsetY, defaultLayoutProperties().icon.offset[1] }, + { PropertyKey::IconOffset, defaultLayoutProperties().icon.offset }, { PropertyKey::TextRotationAlignment, defaultLayoutProperties().text.rotation_alignment }, { PropertyKey::TextField, defaultLayoutProperties().text.field }, @@ -89,8 +84,7 @@ const std::map PropertyFallbackValue::properties = { { PropertyKey::TextPadding, defaultLayoutProperties().text.padding }, { PropertyKey::TextKeepUpright, defaultLayoutProperties().text.keep_upright }, { PropertyKey::TextTransform, defaultLayoutProperties().text.transform }, - { PropertyKey::TextOffsetX, defaultLayoutProperties().text.offset[0] }, - { PropertyKey::TextOffsetY, defaultLayoutProperties().text.offset[1] }, + { PropertyKey::TextOffset, defaultLayoutProperties().text.offset }, { PropertyKey::TextAllowOverlap, defaultLayoutProperties().text.allow_overlap }, { PropertyKey::TextIgnorePlacement, defaultLayoutProperties().text.ignore_placement }, { PropertyKey::TextOptional, defaultLayoutProperties().text.optional }, diff --git a/src/mbgl/style/property_key.hpp b/src/mbgl/style/property_key.hpp index f10607a7a..dfe82e4bb 100644 --- a/src/mbgl/style/property_key.hpp +++ b/src/mbgl/style/property_key.hpp @@ -9,16 +9,12 @@ enum class PropertyKey { FillColor, FillOutlineColor, FillTranslate, // for transitions only - FillTranslateX, - FillTranslateY, FillTranslateAnchor, FillImage, LineOpacity, LineColor, LineTranslate, // for transitions only - LineTranslateX, - LineTranslateY, LineTranslateAnchor, LineWidth, LineGapWidth, @@ -41,9 +37,7 @@ enum class PropertyKey { IconHaloColor, IconHaloWidth, IconHaloBlur, - IconTranslate, // for transitions only - IconTranslateX, - IconTranslateY, + IconTranslate, IconTranslateAnchor, IconAllowOverlap, @@ -52,11 +46,10 @@ enum class PropertyKey { IconRotationAlignment, IconMaxSize, IconImage, + IconOffset, IconPadding, IconRotate, IconKeepUpright, - IconOffsetX, - IconOffsetY, TextOpacity, TextSize, @@ -64,9 +57,7 @@ enum class PropertyKey { TextHaloColor, TextHaloWidth, TextHaloBlur, - TextTranslate, // for transitions only - TextTranslateX, - TextTranslateY, + TextTranslate, TextTranslateAnchor, TextRotationAlignment, @@ -85,8 +76,7 @@ enum class PropertyKey { TextAnchor, TextKeepUpright, TextTransform, - TextOffsetX, - TextOffsetY, + TextOffset, TextAllowOverlap, RasterOpacity, diff --git a/src/mbgl/style/property_value.hpp b/src/mbgl/style/property_value.hpp index 00f72ea64..fbc3f3bd6 100644 --- a/src/mbgl/style/property_value.hpp +++ b/src/mbgl/style/property_value.hpp @@ -7,6 +7,7 @@ #include #include +#include namespace mbgl { @@ -22,6 +23,7 @@ typedef mapbox::util::variant< Function, Function, Function, + Function>, Function, Function, Function, diff --git a/src/mbgl/style/style_layer.cpp b/src/mbgl/style/style_layer.cpp index 9a7066c49..1a4354be2 100644 --- a/src/mbgl/style/style_layer.cpp +++ b/src/mbgl/style/style_layer.cpp @@ -167,8 +167,7 @@ void StyleLayer::applyStyleProperties(const float z, const std:: applyTransitionedStyleProperty(PropertyKey::FillOpacity, fill.opacity, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::FillColor, fill.fill_color, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::FillOutlineColor, fill.stroke_color, z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::FillTranslateX, fill.translate[0], z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::FillTranslateY, fill.translate[1], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::FillTranslate, fill.translate, z, now, zoomHistory); applyStyleProperty(PropertyKey::FillTranslateAnchor, fill.translateAnchor, z, now, zoomHistory); applyStyleProperty(PropertyKey::FillImage, fill.image, z, now, zoomHistory); } @@ -179,8 +178,7 @@ void StyleLayer::applyStyleProperties(const float z, const std:: LineProperties &line = properties.get(); applyTransitionedStyleProperty(PropertyKey::LineOpacity, line.opacity, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::LineColor, line.color, z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::LineTranslateX, line.translate[0], z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::LineTranslateY, line.translate[1], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::LineTranslate, line.translate, z, now, zoomHistory); applyStyleProperty(PropertyKey::LineTranslateAnchor, line.translateAnchor, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::LineWidth, line.width, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::LineGapWidth, line.gap_width, z, now, zoomHistory); @@ -203,8 +201,7 @@ void StyleLayer::applyStyleProperties(const float z, const std applyTransitionedStyleProperty(PropertyKey::IconHaloColor, symbol.icon.halo_color, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::IconHaloWidth, symbol.icon.halo_width, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::IconHaloBlur, symbol.icon.halo_blur, z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::IconTranslateX, symbol.icon.translate[0], z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::IconTranslateY, symbol.icon.translate[1], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::IconTranslate, symbol.icon.translate, z, now, zoomHistory); applyStyleProperty(PropertyKey::IconTranslateAnchor, symbol.icon.translate_anchor, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::TextOpacity, symbol.text.opacity, z, now, zoomHistory); @@ -213,8 +210,7 @@ void StyleLayer::applyStyleProperties(const float z, const std applyTransitionedStyleProperty(PropertyKey::TextHaloColor, symbol.text.halo_color, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::TextHaloWidth, symbol.text.halo_width, z, now, zoomHistory); applyTransitionedStyleProperty(PropertyKey::TextHaloBlur, symbol.text.halo_blur, z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::TextTranslateX, symbol.text.translate[0], z, now, zoomHistory); - applyTransitionedStyleProperty(PropertyKey::TextTranslateY, symbol.text.translate[1], z, now, zoomHistory); + applyTransitionedStyleProperty(PropertyKey::TextTranslate, symbol.text.translate, z, now, zoomHistory); applyStyleProperty(PropertyKey::TextTranslateAnchor, symbol.text.translate_anchor, z, now, zoomHistory); } diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 15a9f64aa..c8b62a97e 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -227,6 +227,21 @@ std::tuple> parseFloatArray(JSVal value) { return std::tuple> { true, vec }; } +template <> +std::tuple> StyleParser::parseProperty(JSVal value, const char*) { + if (value.IsArray() && value.Size() == 2 && + value[rapidjson::SizeType(0)].IsNumber() && + value[rapidjson::SizeType(1)].IsNumber()) { + + float first = value[rapidjson::SizeType(0)].GetDouble(); + float second = value[rapidjson::SizeType(1)].GetDouble(); + return std::tuple> { false, {{ first, second }} }; + } else { + Log::Warning(Event::ParseStyle, "value must be array of two numbers"); + return std::tuple> { false, {{ 0.0f, 0.0f }} }; + } +} + template <> std::tuple StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); @@ -520,6 +535,10 @@ template<> std::tuple StyleParser::parseProperty(JSVal return std::tuple { true, std::move(transition) }; } +template<> std::tuple>> StyleParser::parseProperty(JSVal value, const char *property_name) { + return parseFunction>(value, property_name); +} + template<> std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { return parseFunction(value, property_name); } @@ -751,7 +770,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("fill-color-transition", Key::FillColor, klass, value); parseOptionalProperty>("fill-outline-color", Key::FillOutlineColor, klass, value); parseOptionalProperty("fill-outline-color-transition", Key::FillOutlineColor, klass, value); - parseOptionalProperty>("fill-translate", { Key::FillTranslateX, Key::FillTranslateY }, klass, value); + parseOptionalProperty>>("fill-translate", Key::FillTranslate, klass, value); parseOptionalProperty("fill-translate-transition", Key::FillTranslate, klass, value); parseOptionalProperty>("fill-translate-anchor", Key::FillTranslateAnchor, klass, value); parseOptionalProperty>>("fill-image", Key::FillImage, klass, value, "fill-image-transition"); @@ -760,7 +779,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("line-opacity-transition", Key::LineOpacity, klass, value); parseOptionalProperty>("line-color", Key::LineColor, klass, value); parseOptionalProperty("line-color-transition", Key::LineColor, klass, value); - parseOptionalProperty>("line-translate", { Key::LineTranslateX, Key::LineTranslateY }, klass, value); + parseOptionalProperty>>("line-translate", Key::LineTranslate, klass, value); parseOptionalProperty("line-translate-transition", Key::LineTranslate, klass, value); parseOptionalProperty>("line-translate-anchor", Key::LineTranslateAnchor, klass, value); parseOptionalProperty>("line-width", Key::LineWidth, klass, value); @@ -785,7 +804,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("icon-halo-width-transition", Key::IconHaloWidth, klass, value); parseOptionalProperty>("icon-halo-blur", Key::IconHaloBlur, klass, value); parseOptionalProperty("icon-halo-blur-transition", Key::IconHaloBlur, klass, value); - parseOptionalProperty>("icon-translate", { Key::IconTranslateX, Key::IconTranslateY }, klass, value); + parseOptionalProperty>>("icon-translate", Key::IconTranslate, klass, value); parseOptionalProperty("icon-translate-transition", Key::IconTranslate, klass, value); parseOptionalProperty>("icon-translate-anchor", Key::IconTranslateAnchor, klass, value); @@ -801,7 +820,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("text-halo-width-transition", Key::TextHaloWidth, klass, value); parseOptionalProperty>("text-halo-blur", Key::TextHaloBlur, klass, value); parseOptionalProperty("text-halo-blur-transition", Key::TextHaloBlur, klass, value); - parseOptionalProperty>("text-translate", { Key::TextTranslateX, Key::TextTranslateY }, klass, value); + parseOptionalProperty>>("text-translate", Key::TextTranslate, klass, value); parseOptionalProperty("text-translate-transition", Key::TextTranslate, klass, value); parseOptionalProperty>("text-translate-anchor", Key::TextTranslateAnchor, klass, value); @@ -845,7 +864,7 @@ void StyleParser::parseLayout(JSVal value, util::ptr &bucket) { parseOptionalProperty>("icon-rotate", Key::IconRotate, bucket->layout, value); parseOptionalProperty>("icon-padding", Key::IconPadding, bucket->layout, value); parseOptionalProperty>("icon-keep-upright", Key::IconKeepUpright, bucket->layout, value); - parseOptionalProperty>("icon-offset", { Key::IconOffsetX, Key::IconOffsetY }, bucket->layout, value); + parseOptionalProperty>>("icon-offset", Key::IconOffset, bucket->layout, value); parseOptionalProperty>("text-rotation-alignment", Key::TextRotationAlignment, bucket->layout, value); parseOptionalProperty>("text-field", Key::TextField, bucket->layout, value); parseOptionalProperty>("text-font", Key::TextFont, bucket->layout, value); @@ -860,7 +879,7 @@ void StyleParser::parseLayout(JSVal value, util::ptr &bucket) { parseOptionalProperty>("text-padding", Key::TextPadding, bucket->layout, value); parseOptionalProperty>("text-keep-upright", Key::TextKeepUpright, bucket->layout, value); parseOptionalProperty>("text-transform", Key::TextTransform, bucket->layout, value); - parseOptionalProperty>("text-offset", { Key::TextOffsetX, Key::TextOffsetY }, bucket->layout, value); + parseOptionalProperty>>("text-offset", Key::TextOffset, bucket->layout, value); parseOptionalProperty>("text-allow-overlap", Key::TextAllowOverlap, bucket->layout, value); parseOptionalProperty>("text-ignore-placement", Key::TextIgnorePlacement, bucket->layout, value); parseOptionalProperty>("text-optional", Key::TextOptional, bucket->layout, value); diff --git a/src/mbgl/util/interpolate.hpp b/src/mbgl/util/interpolate.hpp index a2998233b..55b1e2add 100644 --- a/src/mbgl/util/interpolate.hpp +++ b/src/mbgl/util/interpolate.hpp @@ -24,6 +24,14 @@ inline std::array interpolate(const std::array& a, const std::array< }}; } +template +inline std::array interpolate(const std::array& a, const std::array& b, const double t) { + return {{ + interpolate(a[0], b[0], t), + interpolate(a[1], b[1], t) + }}; +} + // fake interpolations that just return the first value template<> inline bool interpolate(const bool a, const bool, const double) { return a; } template<> inline std::vector interpolate(const std::vector a, const std::vector, const double) { return a; } From 968d6812db7b2754a671a309f925134e8c79d051 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 5 Feb 2015 17:35:13 -0800 Subject: [PATCH 13/31] make raster-brightness two separate properties --- src/mbgl/style/style_parser.cpp | 22 ++-------------------- src/mbgl/style/style_parser.hpp | 2 -- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index c8b62a97e..c9c711d46 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -630,25 +630,6 @@ template<> std::tuple>> Style } } -template -bool StyleParser::parseOptionalProperty(const char *property_name, const std::vector &keys, ClassProperties &klass, JSVal value) { - if (value.HasMember(property_name)) { - JSVal rvalue = replaceConstant(value[property_name]); - if (!rvalue.IsArray()) { - Log::Warning(Event::ParseStyle, "array value must be an array"); - } - - if (rvalue.Size() != keys.size()) { - Log::Warning(Event::ParseStyle, "array value has unexpected number of elements"); - } - - for (uint16_t i = 0; i < keys.size(); i++) { - setProperty(rvalue[(rapidjson::SizeType)i], property_name, keys[i], klass); - } - } - return true; -} - #pragma mark - Parse Layers std::unique_ptr StyleParser::createLayers(JSVal value) { @@ -828,7 +809,8 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty("raster-opacity-transition", Key::RasterOpacity, klass, value); parseOptionalProperty>("raster-hue-rotate", Key::RasterHueRotate, klass, value); parseOptionalProperty("raster-hue-rotate-transition", Key::RasterHueRotate, klass, value); - parseOptionalProperty>("raster-brightness", { Key::RasterBrightnessLow, Key::RasterBrightnessHigh }, klass, value); + parseOptionalProperty>("raster-brightness-min", Key::RasterBrightnessLow, klass, value); + parseOptionalProperty>("raster-brightness-max", Key::RasterBrightnessLow, klass, value); parseOptionalProperty("raster-brightness-transition", Key::RasterBrightness, klass, value); parseOptionalProperty>("raster-saturation", Key::RasterSaturation, klass, value); parseOptionalProperty("raster-saturation-transition", Key::RasterSaturation, klass, value); diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index a32e6dd1d..2f7aa0110 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -71,8 +71,6 @@ private: template bool parseOptionalProperty(const char *property_name, PropertyKey key, ClassProperties &klass, JSVal value, const char *transition_name); template - bool parseOptionalProperty(const char *property_name, const std::vector &keys, ClassProperties &klass, JSVal value); - template bool setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass); template bool setProperty(JSVal value, const char *property_name, PropertyKey key, ClassProperties &klass, JSVal transition); From fe5b618484e9d1a06770c394dd3251229a5472eb Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 5 Feb 2015 17:38:34 -0800 Subject: [PATCH 14/31] fix compilation errors --- src/mbgl/style/style_parser.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index c9c711d46..3244839a7 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -246,17 +246,17 @@ template <> std::tuple StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); if (rvalue.IsNumber()) { - return { true, rvalue.GetDouble() }; + return std::tuple { true, rvalue.GetDouble() }; } else { Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); - return { false, 0.0f }; + return std::tuple { false, 0.0f }; } } template <> std::tuple StyleParser::parseProperty(JSVal value, const char*) { JSVal rvalue = replaceConstant(value); - return { true, parseColor(rvalue) }; + return std::tuple { true, parseColor(rvalue) }; } template <> @@ -264,7 +264,7 @@ std::tuple>> StyleParser::parseProperty(JSVal val Faded> parsed; JSVal rvalue = replaceConstant(value); parsed.to = std::get<1>(parseFloatArray(rvalue)); - return { true, parsed }; + return std::tuple>> { true, parsed }; } template <> @@ -273,10 +273,10 @@ std::tuple> StyleParser::parseProperty(JSVal value, con Faded parsed; if (rvalue.IsString()) { parsed.to = { value.GetString(), value.GetStringLength() }; - return { true, parsed }; + return std::tuple> { true, parsed }; } else { Log::Warning(Event::ParseStyle, "function argument must be a string"); - return { false, parsed }; + return std::tuple> { false, parsed }; } } From 5eb08baf14f2eda6ea860f4d0957c4eec672edec Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 5 Feb 2015 18:33:00 -0800 Subject: [PATCH 15/31] tweak style parsing error messages --- src/mbgl/style/style_parser.cpp | 20 ++++++++++---------- src/mbgl/style/style_parser.hpp | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 3244839a7..aedb8255c 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -243,12 +243,12 @@ std::tuple> StyleParser::parseProperty(JSVal value, c } template <> -std::tuple StyleParser::parseProperty(JSVal value, const char*) { +std::tuple StyleParser::parseProperty(JSVal value, const char* property_name) { JSVal rvalue = replaceConstant(value); if (rvalue.IsNumber()) { return std::tuple { true, rvalue.GetDouble() }; } else { - Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); + Log::Warning(Event::ParseStyle, "value of '%s' must be a number, or a number function", property_name); return std::tuple { false, 0.0f }; } } @@ -268,20 +268,20 @@ std::tuple>> StyleParser::parseProperty(JSVal val } template <> -std::tuple> StyleParser::parseProperty(JSVal value, const char*) { +std::tuple> StyleParser::parseProperty(JSVal value, const char *property_name) { JSVal rvalue = replaceConstant(value); Faded parsed; if (rvalue.IsString()) { parsed.to = { value.GetString(), value.GetStringLength() }; return std::tuple> { true, parsed }; } else { - Log::Warning(Event::ParseStyle, "function argument must be a string"); + Log::Warning(Event::ParseStyle, "value of '%s' must be a string, or a string function", property_name); return std::tuple> { false, parsed }; } } template -std::tuple>> StyleParser::parseStops(JSVal value_stops) { +std::tuple>> StyleParser::parseStops(JSVal value_stops, const char *property_name) { if (!value_stops.IsArray()) { Log::Warning(Event::ParseStyle, "stops function must specify a stops array"); @@ -304,7 +304,7 @@ std::tuple>> StyleParser::parseStops(JSVal return std::tuple>> { false, {}}; } - stops.emplace_back(z.GetDouble(), std::get<1>(parseProperty(replaceConstant(stop[rapidjson::SizeType(1)]), ""))); + stops.emplace_back(z.GetDouble(), std::get<1>(parseProperty(replaceConstant(stop[rapidjson::SizeType(1)]), property_name))); } else { Log::Warning(Event::ParseStyle, "function argument must be a numeric value"); return std::tuple>> { false, {}}; @@ -317,10 +317,10 @@ template inline float defaultBaseValue() { return 1.75; } template <> inline float defaultBaseValue() { return 1.0; } template -std::tuple> StyleParser::parseFunction(JSVal value, const char *) { +std::tuple> StyleParser::parseFunction(JSVal value, const char *property_name) { if (!value.IsObject()) { - return std::tuple> { true, ConstantFunction(std::get<1>(parseProperty(value, ""))) }; + return std::tuple> { true, ConstantFunction(std::get<1>(parseProperty(value, property_name))) }; } if (!value.HasMember("stops")) { @@ -339,7 +339,7 @@ std::tuple> StyleParser::parseFunction(JSVal value, const char } } - auto stops = parseStops(value["stops"]); + auto stops = parseStops(value["stops"], property_name); if (!std::get<0>(stops)) { return std::tuple> { false, ConstantFunction(T()) }; @@ -355,7 +355,7 @@ std::tuple> StyleParser::parsePiecewiseConsta return std::tuple> { false, {} }; } - auto stops = parseStops(value["stops"]); + auto stops = parseStops(value["stops"], ""); if (!std::get<0>(stops)) { return std::tuple> { false, {} }; diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index 2f7aa0110..90dd4224e 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -85,7 +85,7 @@ private: template std::tuple> parsePiecewiseConstantFunction(JSVal value, std::chrono::steady_clock::duration duration); template - std::tuple>> parseStops(JSVal value); + std::tuple>> parseStops(JSVal value, const char *property_name); FilterExpression parseFilter(JSVal); From 177f441cc990f3bbf4cc306a936dfe8a8212445d Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Fri, 6 Feb 2015 10:11:27 -0800 Subject: [PATCH 16/31] add test for parsing enum, bool, string functions. --- .../function-string-bool-enum.info.json | 6 +++ .../function-string-bool-enum.style.json | 43 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 test/fixtures/style_parser/function-string-bool-enum.info.json create mode 100644 test/fixtures/style_parser/function-string-bool-enum.style.json diff --git a/test/fixtures/style_parser/function-string-bool-enum.info.json b/test/fixtures/style_parser/function-string-bool-enum.info.json new file mode 100644 index 000000000..9c25a2f48 --- /dev/null +++ b/test/fixtures/style_parser/function-string-bool-enum.info.json @@ -0,0 +1,6 @@ +{ + "default": { + "log": [ + ] + } +} diff --git a/test/fixtures/style_parser/function-string-bool-enum.style.json b/test/fixtures/style_parser/function-string-bool-enum.style.json new file mode 100644 index 000000000..c38f19525 --- /dev/null +++ b/test/fixtures/style_parser/function-string-bool-enum.style.json @@ -0,0 +1,43 @@ +{ + "version": 6, + "sources": { + "mapbox": { + "type": "vector", + "url": "mapbox://mapbox.mapbox-terrain-v1,mapbox.mapbox-streets-v5", + "maxzoom": 14 + } + }, + "layers": [{ + "id": "waterway_river_canal", + "type": "line", + "source": "mapbox", + "source-layer": "waterway", + "filter": ["in", "type", "river", "canal"], + "layout": { + "line-cap": { + "stops": [[0, "round"], [10, "round"]] + } + }, + "paint": { + "line-translate-anchor": { + "stops": [[0, "map"], [10, "viewport"]] + } + } + }, + { + "id": "label", + "type": "symbol", + "source": "mapbox", + "source-layer": "waterway", + "layout": { + "text-font": { + "stops": [[0, "Open Sans Regular"]] + }, + "text-keep-upright": { + "stops": [[0, false], [10, true]] + } + }, + "paint": { + } + }] +} From 8f4a245c4014b0a2fad754300f3f8372a1b9051e Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 6 Feb 2015 14:53:48 -0800 Subject: [PATCH 17/31] Update test suite and style submodules to latest v7 --- styles | 2 +- test/suite | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/styles b/styles index 25b1b7dff..9b582e2ad 160000 --- a/styles +++ b/styles @@ -1 +1 @@ -Subproject commit 25b1b7dff37a18151e3286144bc8013b432a8860 +Subproject commit 9b582e2adc9ed852bf1a9a26b0e10d43389e8618 diff --git a/test/suite b/test/suite index dba0f2b1f..d2fff4e20 160000 --- a/test/suite +++ b/test/suite @@ -1 +1 @@ -Subproject commit dba0f2b1fa749691435d06a251d733173d41e3f5 +Subproject commit d2fff4e2048bc4b0b2eb92c779fce01b4a45b063 From 97f19e8b849cd0d48ac57e03c3ad49459e7a0d94 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 9 Feb 2015 11:48:36 -0800 Subject: [PATCH 18/31] support constants within dasharrays --- src/mbgl/style/style_parser.cpp | 4 ++-- src/mbgl/style/style_parser.hpp | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index aedb8255c..251ba8321 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -209,7 +209,7 @@ Color parseColor(JSVal value) { css_color.a}}; } -std::tuple> parseFloatArray(JSVal value) { +std::tuple> StyleParser::parseFloatArray(JSVal value) { if (!value.IsArray()) { Log::Warning(Event::ParseStyle, "dasharray value must be an array of numbers"); return std::tuple> { false, std::vector() }; @@ -217,7 +217,7 @@ std::tuple> parseFloatArray(JSVal value) { std::vector vec; for (rapidjson::SizeType i = 0; i < value.Size(); ++i) { - JSVal part = value[i]; + JSVal part = replaceConstant(value[i]); if (!part.IsNumber()) { Log::Warning(Event::ParseStyle, "dasharray value must be an array of numbers"); return std::tuple> { false, std::vector() }; diff --git a/src/mbgl/style/style_parser.hpp b/src/mbgl/style/style_parser.hpp index 90dd4224e..736cb9e9f 100644 --- a/src/mbgl/style/style_parser.hpp +++ b/src/mbgl/style/style_parser.hpp @@ -87,6 +87,8 @@ private: template std::tuple>> parseStops(JSVal value, const char *property_name); + std::tuple> parseFloatArray(JSVal value); + FilterExpression parseFilter(JSVal); private: From fdc9283c5cc5c70e7c287547590cc9cdfaa7589b Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 9 Feb 2015 12:03:47 -0800 Subject: [PATCH 19/31] fix raster-brightness --- src/mbgl/style/style_parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index 251ba8321..af6a84492 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -810,7 +810,7 @@ void StyleParser::parsePaint(JSVal value, ClassProperties &klass) { parseOptionalProperty>("raster-hue-rotate", Key::RasterHueRotate, klass, value); parseOptionalProperty("raster-hue-rotate-transition", Key::RasterHueRotate, klass, value); parseOptionalProperty>("raster-brightness-min", Key::RasterBrightnessLow, klass, value); - parseOptionalProperty>("raster-brightness-max", Key::RasterBrightnessLow, klass, value); + parseOptionalProperty>("raster-brightness-max", Key::RasterBrightnessHigh, klass, value); parseOptionalProperty("raster-brightness-transition", Key::RasterBrightness, klass, value); parseOptionalProperty>("raster-saturation", Key::RasterSaturation, klass, value); parseOptionalProperty("raster-saturation-transition", Key::RasterSaturation, klass, value); From 0ee6044ccf49bb32a25c57ce25af15bcd58ca77b Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Mon, 9 Feb 2015 17:42:51 -0800 Subject: [PATCH 20/31] =?UTF-8?q?slim=20OS=20X=20prereqs=20write-up=20?= =?UTF-8?q?=E2=80=94=C2=A0don't=20maintain=20twice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab24baff3..6c63c02fb 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Be sure to pull down all submodules first: ## OS X -On OS X, we are using `zlib`, `SQLite3`, `libcurl` and `libpng` provided by the operating system. In addition to that, you need to have the Boost headers installed and ImageMagick for running tests. To install all prerequisites, use [Homebrew](http://brew.sh/) and type `brew install pkg-config boost imagemagick`. +Prerequisites include the Boost headers (for routines provided therein) and ImageMagick (for tests). To install all prerequisites, use [Homebrew](http://brew.sh/) and type `brew install pkg-config boost imagemagick`. To create projects, you can run: From d4d4cd44151423d374e373798f09d12157babc27 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Mon, 9 Feb 2015 18:01:40 -0800 Subject: [PATCH 21/31] move iOS code from gl-cocoa to this project --- .gitignore | 1 + .gitmodules | 10 +- .travis.yml | 16 + Makefile | 19 +- README.md | 12 +- gyp/install.gypi | 88 +- gyp/platform-ios.gypi | 23 + gyp/platform-osx.gypi | 1 + include/mbgl/ios/MGLMapView.h | 203 +++ include/mbgl/ios/MGLStyleFunctionValue.h | 23 + include/mbgl/ios/MGLTypes.h | 17 + include/mbgl/ios/NSArray+MGLAdditions.h | 7 + include/mbgl/ios/NSDictionary+MGLAdditions.h | 7 + include/mbgl/ios/UIColor+MGLAdditions.h | 11 + ios/FAQ.md | 49 + ios/MapboxGL.podspec | 33 + ios/README.md | 68 + ios/app/MBXAppDelegate.h | 7 + ios/app/MBXAppDelegate.m | 15 + ios/app/MBXViewController.h | 5 + ios/app/MBXViewController.mm | 266 +++ ios/app/README.md | 3 + ios/app/app-info.plist | 51 + ios/app/img/Default-568h@2x.png | Bin 0 -> 2239 bytes ios/app/img/Default-667h@2x.png | Bin 0 -> 2797 bytes ios/app/img/Icon-40.png | Bin 0 -> 951 bytes ios/app/img/Icon-40@2x.png | Bin 0 -> 1528 bytes ios/app/img/Icon-60.png | Bin 0 -> 1313 bytes ios/app/img/Icon-60@2x.png | Bin 0 -> 2091 bytes ios/app/img/Icon-72.png | Bin 0 -> 1418 bytes ios/app/img/Icon-72@2x.png | Bin 0 -> 2442 bytes ios/app/img/Icon-76.png | Bin 0 -> 1447 bytes ios/app/img/Icon-76@2x.png | Bin 0 -> 2520 bytes ios/app/img/Icon-Small-50.png | Bin 0 -> 1118 bytes ios/app/img/Icon-Small-50@2x.png | Bin 0 -> 1839 bytes ios/app/img/Icon-Small.png | Bin 0 -> 684 bytes ios/app/img/Icon-Small@2x.png | Bin 0 -> 1231 bytes ios/app/img/Icon-Spotlight-40.png | Bin 0 -> 951 bytes ios/app/img/Icon-Spotlight-40@2x.png | Bin 0 -> 1528 bytes ios/app/img/Icon.png | Bin 0 -> 1171 bytes ios/app/img/Icon@2x.png | Bin 0 -> 1931 bytes ios/app/img/iTunesArtwork | Bin 0 -> 264721 bytes ios/app/img/iTunesArtwork.png | Bin 0 -> 5655 bytes ios/app/img/iTunesArtwork@2x | Bin 0 -> 661346 bytes ios/app/img/iTunesArtwork@2x.png | Bin 0 -> 9293 bytes ios/app/img/locateUser.png | Bin 0 -> 1111 bytes ios/app/img/locateUser@2x.png | Bin 0 -> 1696 bytes ios/app/img/settings.png | Bin 0 -> 528 bytes ios/app/img/settings@2x.png | Bin 0 -> 1130 bytes ios/app/main.m | 10 + ios/app/mapboxgl-app.gyp | 57 + ios/docs/install_docs.sh | 24 + ios/docs/remove_docs.sh | 7 + ios/mapbox-gl-cocoa | 1 - ios/screenshot.png | Bin 0 -> 248491 bytes mbgl.gyp | 15 +- platform/darwin/log_nslog.mm | 2 - platform/darwin/string_nsstring.mm | 2 - platform/ios/MGLMapView.mm | 1607 +++++++++++++++++ platform/ios/MGLStyleFunctionValue.m | 190 ++ platform/ios/MGLTypes.m | 24 + platform/ios/NSArray+MGLAdditions.m | 10 + platform/ios/NSDictionary+MGLAdditions.m | 10 + platform/ios/UIColor+MGLAdditions.m | 167 ++ platform/ios/resources/Compass.png | Bin 0 -> 1736 bytes platform/ios/resources/Compass@2x.png | Bin 0 -> 2376 bytes platform/ios/resources/mapbox.png | Bin 0 -> 5947 bytes platform/ios/resources/mapbox@2x.png | Bin 0 -> 10713 bytes scripts/ios_travis/add-key.sh | 25 + scripts/ios_travis/apple.crt | Bin 0 -> 1063 bytes scripts/ios_travis/ios-dist.cer.enc | 30 + scripts/ios_travis/ios-dist.p12.enc | 32 + .../ios-in-house.mobileprovision.enc | 153 ++ scripts/ios_travis/remove-key.sh | 4 + scripts/package_ios.sh | 75 + scripts/travis_before_install.sh | 3 + scripts/travis_script.sh | 7 +- test/ios/.gitignore | 3 + test/ios/App-Info.plist | 45 + test/ios/Bundle-Info.plist | 22 + test/ios/KIF | 1 + test/ios/KIFTestActor+MapboxGL.h | 12 + test/ios/KIFTestActor+MapboxGL.m | 24 + test/ios/MGLTAppDelegate.h | 7 + test/ios/MGLTAppDelegate.m | 18 + test/ios/MGLTViewController.h | 5 + test/ios/MGLTViewController.m | 18 + test/ios/MapViewTests.h | 5 + test/ios/MapViewTests.m | 353 ++++ test/ios/README.md | 9 + test/ios/ios-tests.xcodeproj/project.pbxproj | 659 +++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/Mapbox GL Tests.xccheckout | 41 + .../xcshareddata/ios-tests.xccheckout | 65 + .../xcschemes/Mapbox GL Tests.xcscheme | 110 ++ test/ios/main.m | 9 + 96 files changed, 4720 insertions(+), 83 deletions(-) create mode 100644 include/mbgl/ios/MGLMapView.h create mode 100644 include/mbgl/ios/MGLStyleFunctionValue.h create mode 100644 include/mbgl/ios/MGLTypes.h create mode 100644 include/mbgl/ios/NSArray+MGLAdditions.h create mode 100644 include/mbgl/ios/NSDictionary+MGLAdditions.h create mode 100644 include/mbgl/ios/UIColor+MGLAdditions.h create mode 100644 ios/FAQ.md create mode 100644 ios/MapboxGL.podspec create mode 100644 ios/README.md create mode 100644 ios/app/MBXAppDelegate.h create mode 100644 ios/app/MBXAppDelegate.m create mode 100644 ios/app/MBXViewController.h create mode 100644 ios/app/MBXViewController.mm create mode 100644 ios/app/README.md create mode 100644 ios/app/app-info.plist create mode 100644 ios/app/img/Default-568h@2x.png create mode 100644 ios/app/img/Default-667h@2x.png create mode 100644 ios/app/img/Icon-40.png create mode 100644 ios/app/img/Icon-40@2x.png create mode 100644 ios/app/img/Icon-60.png create mode 100644 ios/app/img/Icon-60@2x.png create mode 100644 ios/app/img/Icon-72.png create mode 100644 ios/app/img/Icon-72@2x.png create mode 100644 ios/app/img/Icon-76.png create mode 100644 ios/app/img/Icon-76@2x.png create mode 100644 ios/app/img/Icon-Small-50.png create mode 100644 ios/app/img/Icon-Small-50@2x.png create mode 100644 ios/app/img/Icon-Small.png create mode 100644 ios/app/img/Icon-Small@2x.png create mode 100644 ios/app/img/Icon-Spotlight-40.png create mode 100644 ios/app/img/Icon-Spotlight-40@2x.png create mode 100644 ios/app/img/Icon.png create mode 100644 ios/app/img/Icon@2x.png create mode 100644 ios/app/img/iTunesArtwork create mode 100644 ios/app/img/iTunesArtwork.png create mode 100644 ios/app/img/iTunesArtwork@2x create mode 100644 ios/app/img/iTunesArtwork@2x.png create mode 100644 ios/app/img/locateUser.png create mode 100644 ios/app/img/locateUser@2x.png create mode 100644 ios/app/img/settings.png create mode 100644 ios/app/img/settings@2x.png create mode 100644 ios/app/main.m create mode 100644 ios/app/mapboxgl-app.gyp create mode 100755 ios/docs/install_docs.sh create mode 100755 ios/docs/remove_docs.sh delete mode 160000 ios/mapbox-gl-cocoa create mode 100644 ios/screenshot.png create mode 100644 platform/ios/MGLMapView.mm create mode 100644 platform/ios/MGLStyleFunctionValue.m create mode 100644 platform/ios/MGLTypes.m create mode 100644 platform/ios/NSArray+MGLAdditions.m create mode 100644 platform/ios/NSDictionary+MGLAdditions.m create mode 100644 platform/ios/UIColor+MGLAdditions.m create mode 100644 platform/ios/resources/Compass.png create mode 100644 platform/ios/resources/Compass@2x.png create mode 100644 platform/ios/resources/mapbox.png create mode 100644 platform/ios/resources/mapbox@2x.png create mode 100755 scripts/ios_travis/add-key.sh create mode 100644 scripts/ios_travis/apple.crt create mode 100644 scripts/ios_travis/ios-dist.cer.enc create mode 100644 scripts/ios_travis/ios-dist.p12.enc create mode 100644 scripts/ios_travis/ios-in-house.mobileprovision.enc create mode 100755 scripts/ios_travis/remove-key.sh create mode 100755 scripts/package_ios.sh create mode 100644 test/ios/.gitignore create mode 100644 test/ios/App-Info.plist create mode 100644 test/ios/Bundle-Info.plist create mode 160000 test/ios/KIF create mode 100644 test/ios/KIFTestActor+MapboxGL.h create mode 100644 test/ios/KIFTestActor+MapboxGL.m create mode 100644 test/ios/MGLTAppDelegate.h create mode 100644 test/ios/MGLTAppDelegate.m create mode 100644 test/ios/MGLTViewController.h create mode 100644 test/ios/MGLTViewController.m create mode 100644 test/ios/MapViewTests.h create mode 100644 test/ios/MapViewTests.m create mode 100644 test/ios/README.md create mode 100644 test/ios/ios-tests.xcodeproj/project.pbxproj create mode 100644 test/ios/ios-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/Mapbox GL Tests.xccheckout create mode 100644 test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/ios-tests.xccheckout create mode 100644 test/ios/ios-tests.xcodeproj/xcshareddata/xcschemes/Mapbox GL Tests.xcscheme create mode 100644 test/ios/main.m diff --git a/.gitignore b/.gitignore index 4a61e999e..3ee0136c6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ /build /macosx/build /linux/build +/ios/build /test/build /test/node_modules /include/mbgl/shader/shaders.hpp diff --git a/.gitmodules b/.gitmodules index 8242fab9b..19de5b6f7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,3 @@ -[submodule "ios/mapbox-gl-cocoa"] - path = ios/mapbox-gl-cocoa - url = https://github.com/mapbox/mapbox-gl-cocoa.git - [submodule "test/suite"] path = test/suite url = https://github.com/mapbox/mapbox-gl-test-suite.git @@ -14,6 +10,6 @@ path = styles url = https://github.com/mapbox/mapbox-gl-styles.git -[submodule "app/ios"] - path = app/ios - url = https://github.com/mapbox/mapbox-gl-cocoa.git \ No newline at end of file +[submodule "test/ios/KIF"] + path = test/ios/KIF + url = https://github.com/mapbox/KIF.git diff --git a/.travis.yml b/.travis.yml index e42f9fde7..ff578458c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,6 +47,13 @@ env: - secure: "CHBiUM60TolDbQnn+4IRA/tvOKwKs3g9EDvv8YHSJMg3FuHmjKQkprBasvxf3hnTXg4WLZEubmeDcyJ6RRzPP5mMSr/hksYl0pSjj/6TUecE5fHPVVeN7txVqkpOBf9i45Y+iBUQMjBb1NnDK3pHXxpnAs1Q/pe7vReErj4GF1U=" - LD_LIBRARY_PATH: '/usr/local/lib' - TERM: dumb + # begin iOS code signing + - secure: "I6Iu75X1E+js5tzijtKi1EGtIuBcA4/25nDYe0svV4HAtujY71ZJZ4eB6355CKhFXpLXrF3i7eKVX3v+zWS0QROPEWacgsqsvNg+Ba9cnznW/faUSOYekCfhzWd/6reYDM7KzKAQwSUHLk9JIWK/kkmi4r+vVJK7h+tjPllK5YA=" + - IOS_APP_NAME="Mapbox GL" + - 'IOS_DEVELOPER_NAME="iPhone Distribution: Mapbox, Inc."' + - IOS_PROFILE_NAME="ios-in-house" + - secure: "nQqSM8rd7OHtV4MqmNqVnkrVHqxKqQsaWRYk4/nPdhbeVWtTtkk0df711LrF1TUtbEPEewHxYUvTZ/UXmwJNeoKdzTHavI8hnatRkgjyxGERPn1il1Otelht9I+LQQHf+plrpRjVWBrNIW0Zox1B3cqn6d3NglpbXrEQ2EjYGNA=" + # end iOS code signing before_install: - if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then sudo service mysql stop; fi @@ -65,10 +72,19 @@ install: before_script: # Set the core file limit to unlimited so a core file is generated upon crash - ulimit -c unlimited -S + # begin iOS code signing + - openssl aes-256-cbc -k "$IOS_ENCRYPTION_SECRET" -in scripts/ios_travis/ios-in-house.mobileprovision.enc -d -a -out scripts/ios_travis/ios-in-house.mobileprovision + - openssl aes-256-cbc -k "$IOS_ENCRYPTION_SECRET" -in scripts/ios_travis/ios-dist.cer.enc -d -a -out scripts/ios_travis/ios-dist.cer + - openssl aes-256-cbc -k "$IOS_ENCRYPTION_SECRET" -in scripts/ios_travis/ios-dist.p12.enc -d -a -out scripts/ios_travis/ios-dist.p12 + - ./scripts/ios_travis/add-key.sh + # end iOS code signing script: - ./scripts/travis_script.sh +after_script: +- ./scripts/ios_travis/remove-key.sh + notifications: hipchat: rooms: diff --git a/Makefile b/Makefile index d26aa2fbb..ed7c23422 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ config/%.gypi: configure #### Library builds ############################################################ -.PRECOIUS: Makefile/mbgl +.PRECIOUS: Makefile/mbgl Makefile/mbgl: config/$(HOST).gypi deps/run_gyp mbgl.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make @@ -36,6 +36,9 @@ standalone: Makefile/mbgl install: Makefile/mbgl LINK=`pwd`/gyp/link.py $(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) install +.PRECIOUS: Xcode/mbgl +Xcode/mbgl: config/$(HOST).gypi + deps/run_gyp mbgl.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f xcode ##### Test builds ############################################################## @@ -101,15 +104,18 @@ xproj: xosx-proj #### iOS application builds #################################################### .PRECIOUS: Xcode/ios -Xcode/ios: ios/mapbox-gl-cocoa/app/mapboxgl-app.gyp config/ios.gypi - deps/run_gyp ios/mapbox-gl-cocoa/app/mapboxgl-app.gyp $(CONFIG_ios) $(LIBS_ios) --generator-output=./build/ios -f xcode +Xcode/ios: ios/app/mapboxgl-app.gyp config/ios.gypi + deps/run_gyp ios/app/mapboxgl-app.gyp $(CONFIG_ios) $(LIBS_ios) --generator-output=./build/ios -f xcode .PHONY: ios-proj ios run-ios ios-proj: Xcode/ios - open ./build/ios/ios/mapbox-gl-cocoa/app/mapboxgl-app.xcodeproj + open ./build/ios/ios/app/mapboxgl-app.xcodeproj ios: Xcode/ios - xcodebuild -sdk iphonesimulator ARCHS=x86_64 -project ./build/ios/ios/mapbox-gl-cocoa/app/mapboxgl-app.xcodeproj -configuration $(BUILDTYPE) -target iosapp -jobs `sysctl -n hw.ncpu` + xcodebuild -sdk iphoneos ARCHS="arm64 armv7 armv7s" PROVISIONING_PROFILE="2b532944-bf3d-4bf4-aa6c-a81676984ae8" -project ./build/ios/ios/app/mapboxgl-app.xcodeproj -configuration Release -target iosapp -jobs `sysctl -n hw.ncpu` + +isim: Xcode/ios + xcodebuild -sdk iphonesimulator ARCHS="x86_64 i386" -project ./build/ios/ios/app/mapboxgl-app.xcodeproj -configuration Debug -target iosapp -jobs `sysctl -n hw.ncpu` # Legacy name iproj: ios-proj @@ -197,8 +203,7 @@ clean: clear_sqlite_cache clear_xcode_cache -rm -rf ./build/ -rm -rf ./macosx/build -rm -rf ./linux/build - -rm -rf ./ios/mapbox-gl-cocoa/build - -rm -rf ./ios/mapbox-gl-cocoa/app/build + -rm -rf ./ios/build -rm -rf ./test/build -rm -rf ./config/*.gypi -rm -rf ./android/java/build ./android/java/app/build ./android/java/lib/build diff --git a/README.md b/README.md index 6c63c02fb..94c8d7c4f 100644 --- a/README.md +++ b/README.md @@ -45,17 +45,15 @@ Target OS: 10.9+ ## iOS -iOS makes use of a Cocoa-specific API called [`mapbox-gl-cocoa`](https://github.com/mapbox/mapbox-gl-cocoa). If you are just interested in running Mapbox GL on iOS and not developing with it, head to that project and you can use this library as a pre-built static library instead. A `UIView` interface to the map view and bundle resources are provided there. +If you just want to install the library for iOS and try it out as an Objective-C consumer, run `./scripts/package_ios.sh`. It will require the Boost headers to be installed, so use [Homebrew](http://brew.sh/) to install it via `brew install boost`. The script will produce the statically-linked `libMapboxGL.a`, `MapboxGL.bundle` for resources, and a `Headers` folder. -If you intend to develop here, `mapbox-gl-cocoa` is included as a submodule of the overall build setup. +If you want to build from source and/or contribute to development of the project, you can run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app. -You can run `make iproj` to create and open an Xcode project with an iOS-specific view controller housing. This will automatically install required dependencies as well. +Target devices: iPhone 4S and above (5, 5c, 5s, 6, 6 Plus) and iPad 2 and above (3, 4, Mini, Air, Mini 2, Air 2). -Note that if you are doing OS X development as well, to toggle from OS X back to iOS, you will need to `make iproj` again. +iOS SDK: 8.1 +Supported iOS: 7.0+ -Target devices: iPhone 4S and above (5, 5c, 5s, 6, 6 Plus) and iPad 2 and above (3, 4, Mini , Air, Mini 2, Air 2). - -Target OS: 7.0+ ## Linux diff --git a/gyp/install.gypi b/gyp/install.gypi index 4ed32eea1..01857aa56 100644 --- a/gyp/install.gypi +++ b/gyp/install.gypi @@ -1,50 +1,46 @@ { - 'conditions': [ - ['install_prefix != ""', { - 'targets': [ - { 'target_name': 'install', - 'type': 'none', - 'hard_dependency': 1, - 'dependencies': [ - 'core', - 'platform-<(platform_lib)', - 'http-<(http_lib)', - 'asset-<(asset_lib)', - 'cache-<(cache_lib)', - 'headless-<(headless_lib)', - 'standalone', - ], - - 'copies': [ - { 'files': [ '<(PRODUCT_DIR)/libmbgl.a' ], 'destination': '<(install_prefix)/lib' }, - { 'files': [ '<(SHARED_INTERMEDIATE_DIR)/include/mbgl/util/version.hpp' ], 'destination': '<(install_prefix)/include/mbgl/util' }, - ], - - 'actions': [ - { - 'action_name': 'Copy header files', - 'inputs': [ '../include/mbgl/mbgl.hpp' ], - 'outputs': [ '../include/mbgl/mbgl.hpp' ], - 'action': [ 'cp', '-r', 'include', '<(install_prefix)/' ] - }, - - { 'action_name': 'mbgl-config', - 'inputs': [ - '../utils/mbgl-config/mbgl-config.template.sh', - '../utils/mbgl-config/build.sh', - ], - 'outputs': [ - '<(install_prefix)/bin/mbgl-config', - ], - 'action': [ - './utils/mbgl-config/build.sh', - '<(install_prefix)', - '<(PRODUCT_DIR)/libmbgl.a.ldflags', - ] - } - ] - }, + 'targets': [ + { 'target_name': 'install2', + 'type': 'none', + 'hard_dependency': 1, + 'dependencies': [ + 'core', + 'platform-<(platform_lib)', + 'http-<(http_lib)', + 'asset-<(asset_lib)', + 'cache-<(cache_lib)', + 'headless-<(headless_lib)', + 'standalone', ], - }], + + 'copies': [ + { 'files': [ '<(PRODUCT_DIR)/libmbgl.a' ], 'destination': '<(install_prefix)/lib' }, + { 'files': [ '<(SHARED_INTERMEDIATE_DIR)/include/mbgl/util/version.hpp' ], 'destination': '<(install_prefix)/include/mbgl/util' }, + ], + + 'actions': [ + { + 'action_name': 'Copy header files', + 'inputs': [ '../include/mbgl/mbgl.hpp' ], + 'outputs': [ '<(install_prefix)/include/mbgl/mbgl.hpp' ], + 'action': [ 'cp', '-r', 'include', '<(install_prefix)/' ] + }, + + { 'action_name': 'mbgl-config', + 'inputs': [ + '../utils/mbgl-config/mbgl-config.template.sh', + '../utils/mbgl-config/build.sh', + ], + 'outputs': [ + '<(install_prefix)/bin/mbgl-config', + ], + 'action': [ + './utils/mbgl-config/build.sh', + '<(install_prefix)', + '<(PRODUCT_DIR)/libmbgl.a.ldflags', + ] + } + ] + }, ], } diff --git a/gyp/platform-ios.gypi b/gyp/platform-ios.gypi index bb1b45072..a8a827af6 100644 --- a/gyp/platform-ios.gypi +++ b/gyp/platform-ios.gypi @@ -15,6 +15,19 @@ '../platform/darwin/application_root.mm', '../platform/darwin/asset_root.mm', '../platform/darwin/image.mm', + '../platform/darwin/reachability.m', + '../include/mbgl/ios/MGLMapView.h', + '../platform/ios/MGLMapView.mm', + '../include/mbgl/ios/MGLStyleFunctionValue.h', + '../platform/ios/MGLStyleFunctionValue.m', + '../include/mbgl/ios/MGLTypes.h', + '../platform/ios/MGLTypes.m', + '../include/mbgl/ios/NSArray+MGLAdditions.h', + '../platform/ios/NSArray+MGLAdditions.m', + '../include/mbgl/ios/NSDictionary+MGLAdditions.h', + '../platform/ios/NSDictionary+MGLAdditions.m', + '../include/mbgl/ios/UIColor+MGLAdditions.h', + '../platform/ios/UIColor+MGLAdditions.m', ], 'variables': { @@ -26,8 +39,14 @@ '<@(uv_static_libs)', ], 'ldflags': [ + '-framework CoreGraphics', + '-framework CoreLocation', '-framework ImageIO', + '-framework GLKit', '-framework MobileCoreServices', + '-framework OpenGLES', + '-framework SystemConfiguration', + '-framework UIKit', ], }, @@ -37,6 +56,7 @@ 'xcode_settings': { 'OTHER_CPLUSPLUSFLAGS': [ '<@(cflags_cc)' ], + 'CLANG_ENABLE_OBJC_ARC': 'YES', }, 'link_settings': { @@ -50,6 +70,9 @@ 'include_dirs': [ '../include', ], + 'mac_bundle_resources': [ + ' +#import + +@protocol MGLMapViewDelegate; + +/** An MGLMapView object provides an embeddable map interface, similar to the one provided by Apple's MapKit. You use this class to display map information and to manipulate the map contents from your application. You can center the map on a given coordinate, specify the size of the area you want to display, and style the features of the map to fit your application's use case. +* +* Use of MGLMapView requires a Mapbox API access token. Obtain an access token on the [Mapbox account page](https://www.mapbox.com/account/apps/). If you instantiate an MGLMapView from Interface Builder, rendering of the map won't begin until the accessToken property has been set. +* +* @warning Please note that you are responsible for getting permission to use the map data, and for ensuring your use adheres to the relevant terms of use. */ +@interface MGLMapView : UIView + +#pragma mark - Initializing a Map View + +/** @name Initializing a Map View */ + +/** Initialize a map view with a given frame, style, and access token. +* @param frame The frame with which to initialize the map view. +* @param styleJSON The map stylesheet as JSON text. +* @param accessToken A Mapbox API access token. +* @return An initialized map view, or `nil` if the map view was unable to be initialized. */ +- (instancetype)initWithFrame:(CGRect)frame styleJSON:(NSString *)styleJSON accessToken:(NSString *)accessToken; + +/** Initialize a map view with a given frame, the default style, and an access token. +* @param frame The frame with which to initialize the map view. +* @param accessToken A Mapbox API access token. +* @return An initialized map view, or `nil` if the map view was unable to be initialized. */ +- (instancetype)initWithFrame:(CGRect)frame accessToken:(NSString *)accessToken; + +- (instancetype)initWithFrame:(CGRect)frame __attribute__((unavailable("Instantiating an MGLMapView requires setting a style and/or an access token."))); + +#pragma mark - Authorizing Access + +/** @name Authorizing Access */ + +/** Sets a Mapbox API access token for the map view. +* @param accessToken A Mapbox API token. */ +- (void)setAccessToken:(NSString *)accessToken; + +#pragma mark - Managing Constraints + +/** @name Managing Constraints */ + +/** A view controller whose top and bottom layout guides to use for proper setup of constraints in the map view internals. +* +* Certain components of the map view, such as the heading compass and the data attribution button, need to be aware of the view controller layout in order to avoid positioning content under a top navigation bar or a bottom toolbar. */ +@property (nonatomic, weak) UIViewController *viewControllerForLayoutGuides; + +#pragma mark - Accessing Map Properties + +/** @name Accessing Map Properties */ + +/** A Boolean value that determines whether the user may zoom the map. +* +* This property controls only user interactions with the map. If you set the value of this property to `NO`, you may still change the map zoom programmatically. +* +* The default value of this property is `YES`. */ +@property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled; + +/** A Boolean value that determines whether the user may scroll around the map. +* +* This property controls only user interactions with the map. If you set the value of this property to `NO`, you may still change the map location programmatically. +* +* The default value of this property is `YES`. */ +@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled; + +/** A Boolean value that determines whether the user may rotate the map. +* +* This property controls only user interactions with the map. If you set the value of this property to `NO`, you may still rotate the map programmatically. +* +* The default value of this property is `YES`. */ +@property(nonatomic, getter=isRotateEnabled) BOOL rotateEnabled; + +#pragma mark - Accessing the Delegate + +/** @name Accessing the Delegate */ + +// TODO +@property(nonatomic, weak) id delegate; + +#pragma mark - Manipulating the Visible Portion of the Map + +/** @name Manipulating the Visible Portion of the Map */ + +/** The map coordinate at the center of the map view. +* +* Changing the value in this property centers the map on the new coordinate without changing the current zoom level. +* +* Changing the value of this property updates the map view immediately. If you want to animate the change, use the setCenterCoordinate:animated: method instead. */ +@property (nonatomic) CLLocationCoordinate2D centerCoordinate; + +/** Changes the center coordinate of the map and optionally animates the change. +* @param coordinate The new center coordinate for the map. +* @param animated Specify `YES` if you want the map view to scroll to the new location or `NO` if you want the map to display the new location immediately. +* +* Changing the center coordinate centers the map on the new coordinate without changing the current zoom level. */ +- (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated; + +/** The zoom level of the map view. +* +* Changing the value in this property zooms the map in or out without changing the center coordinate. At zoom level 0, tiles cover the entire world map; at zoom level 1, tiles cover 1/4 of the world; at zoom level 2, tiles cover 1/16 of the world, and so on. +* +* Changing the value of this property updates the map view immediately. If you want to animate the change, use the setZoomLevel:animated: method instead. */ +@property (nonatomic) double zoomLevel; + +/** Changes the zoom level of the map and optionally animates the change. +* @param zoomLevel The new zoom level for the map. +* @param animated Specify `YES` if you want the map view to animate the change to the new zoom level or `NO` if you want the map to display the new zoom level immediately. +* +* Changing the zoom level scales the map without changing the current center coordinate. At zoom level 0, tiles cover the entire world map; at zoom level 1, tiles cover 1/4 of the world; at zoom level 2, tiles cover 1/16 of the world, and so on. */ +- (void)setZoomLevel:(double)zoomLevel animated:(BOOL)animated; + +/** Changes the center coordinate and zoom level of the and optionally animates the change. +* @param centerCoordinate The new center coordinate for the map. +* @param zoomLevel The new zoom level for the map. +* @param animated Specify `YES` if you want the map view to animate scrolling and zooming to the new location or `NO` if you want the map to display the new location immediately. */ +- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate zoomLevel:(double)zoomLevel animated:(BOOL)animated; + +/** The heading of the map (measured in degrees) relative to true north. +* +* The value `0` means that the top edge of the map view corresponds to true north. The value `90` means the top of the map is pointing due east. The value `180` means the top of the map points due south, and so on. */ +@property (nonatomic) CLLocationDirection direction; + +/** Changes the heading of the map and optionally animates the changes. +* @param direction The heading of the map (measured in degrees) relative to true north. +* @param animated Specify `YES` if you want the map view to animate the change to the new heading or `NO` if you want the map to display the new heading immediately. +* +* Changing the heading rotates the map without changing the current center coordinate or zoom level. */ +- (void)setDirection:(CLLocationDirection)direction animated:(BOOL)animated; + +/** Resets the map rotation to a northern heading. */ +- (void)resetNorth; + +#pragma mark - Styling the Map + +/** @name Styling the Map */ + +/** Sets the map style. +* @param styleJSON The map stylesheet as JSON text. */ +- (void)setStyleJSON:(NSString *)styleJSON; + +/** Returns the raw JSON style as a native dictionary object. */ +- (NSDictionary *)getRawStyle; + +/** Sets the raw JSON style as a native dictionary object with a transition animation. +* @param style The style JSON as a dictionary object. */ +- (void)setRawStyle:(NSDictionary *)style; + +/** Returns the names of the styles bundled with the library. */ +- (NSArray *)bundledStyleNames; + +/** Sets the map style to a named, bundled style. +* @param styleName The map style name to use. */ +- (void)useBundledStyleNamed:(NSString *)styleName; + +#pragma mark - Debugging + +/** @name Debugging */ + +/** A Boolean value that determines whether map debugging information is shown. +* +* The default value of this property is `NO`. */ +@property (nonatomic, getter=isDebugActive) BOOL debugActive; + +/** Toggle the current value of debugActive. */ +- (void)toggleDebug; + +/** Resets the map to the minimum zoom level, a center coordinate of (0, 0), and a northern heading. */ +- (void)resetPosition; + +@end + +// TODO +@protocol MGLMapViewDelegate + +@optional + +// Responding to Map Position Changes + +// TODO +- (void)mapView:(MGLMapView *)mapView regionWillChangeAnimated:(BOOL)animated; + +// TODO +- (void)mapView:(MGLMapView *)mapView regionDidChangeAnimated:(BOOL)animated; + +// Loading the Map Data + +// TODO +- (void)mapViewWillStartLoadingMap:(MGLMapView *)mapView; + +// TODO +- (void)mapViewDidFinishLoadingMap:(MGLMapView *)mapView; + +// TODO +- (void)mapViewDidFailLoadingMap:(MGLMapView *)mapView withError:(NSError *)error; + +// TODO +- (void)mapViewWillStartRenderingMap:(MGLMapView *)mapView; + +// TODO +- (void)mapViewDidFinishRenderingMap:(MGLMapView *)mapView fullyRendered:(BOOL)fullyRendered; + +@end diff --git a/include/mbgl/ios/MGLStyleFunctionValue.h b/include/mbgl/ios/MGLStyleFunctionValue.h new file mode 100644 index 000000000..27a867548 --- /dev/null +++ b/include/mbgl/ios/MGLStyleFunctionValue.h @@ -0,0 +1,23 @@ +#import + +@interface MGLStyleFunctionValue : NSObject + ++ (instancetype)linearFunctionWithBaseZoomLevel:(CGFloat)zBase + initialValue:(CGFloat)val + slope:(CGFloat)slope + minimumValue:(CGFloat)min + maximumValue:(CGFloat)max; + ++ (instancetype)exponentialFunctionWithBaseZoomLevel:(CGFloat)zBase + initialValue:(CGFloat)val + slope:(CGFloat)slope + minimumValue:(CGFloat)min + maximumValue:(CGFloat)max; + ++ (instancetype)minimumZoomLevelFunction:(CGFloat)minimumZoom; + ++ (instancetype)maximumZoomLevelFunction:(CGFloat)maximumZoom; + ++ (instancetype)stopsFunctionWithZoomLevelsAndValues:(NSNumber *)firstZoom, ... NS_REQUIRES_NIL_TERMINATION; + +@end diff --git a/include/mbgl/ios/MGLTypes.h b/include/mbgl/ios/MGLTypes.h new file mode 100644 index 000000000..7a1744577 --- /dev/null +++ b/include/mbgl/ios/MGLTypes.h @@ -0,0 +1,17 @@ +#import + +// style property value types +// +extern NSString *const MGLStyleValueTypeBoolean; +extern NSString *const MGLStyleValueTypeNumber; +extern NSString *const MGLStyleValueTypeNumberPair; +extern NSString *const MGLStyleValueTypeColor; +extern NSString *const MGLStyleValueTypeString; + +// style property function types +// +extern NSString *const MGLStyleValueTypeFunctionMinimumZoom; +extern NSString *const MGLStyleValueTypeFunctionMaximumZoom; +extern NSString *const MGLStyleValueTypeFunctionLinear; +extern NSString *const MGLStyleValueTypeFunctionExponential; +extern NSString *const MGLStyleValueTypeFunctionStops; diff --git a/include/mbgl/ios/NSArray+MGLAdditions.h b/include/mbgl/ios/NSArray+MGLAdditions.h new file mode 100644 index 000000000..4b8761433 --- /dev/null +++ b/include/mbgl/ios/NSArray+MGLAdditions.h @@ -0,0 +1,7 @@ +#import + +@interface NSArray (MGLAdditions) + +- (NSMutableArray *)deepMutableCopy; + +@end diff --git a/include/mbgl/ios/NSDictionary+MGLAdditions.h b/include/mbgl/ios/NSDictionary+MGLAdditions.h new file mode 100644 index 000000000..04c3396d4 --- /dev/null +++ b/include/mbgl/ios/NSDictionary+MGLAdditions.h @@ -0,0 +1,7 @@ +#import + +@interface NSDictionary (MGLAdditions) + +- (NSMutableDictionary *)deepMutableCopy; + +@end diff --git a/include/mbgl/ios/UIColor+MGLAdditions.h b/include/mbgl/ios/UIColor+MGLAdditions.h new file mode 100644 index 000000000..3758c04ee --- /dev/null +++ b/include/mbgl/ios/UIColor+MGLAdditions.h @@ -0,0 +1,11 @@ +#import + +@interface UIColor (MGLAdditions) + ++ (UIColor *)colorWithRGBAString:(NSString *)rgbaString; +- (NSString *)rgbaStringFromColor; + ++ (UIColor *)colorWithHexString:(NSString *)hexString; +- (NSString *)hexStringFromColor; + +@end diff --git a/ios/FAQ.md b/ios/FAQ.md new file mode 100644 index 000000000..19ae74fdb --- /dev/null +++ b/ios/FAQ.md @@ -0,0 +1,49 @@ +# Mapbox GL for iOS FAQ + +Mapbox GL is a completely new renderer technology which will eventually replace and/or merge Mapbox's existing iOS toolsets, the [Mapbox iOS SDK](http://www.mapbox.com/mapbox-ios-sdk/) and [MBXMapKit](https://www.mapbox.com/mbxmapkit/). This FAQ shares our current plans for that migration. The plans are subject to change as Mapbox GL matures, but we wanted to both clarify our thinking as well as set expectations for where things are headed. + +### When will Mapbox GL be released? + +The library is [open source](https://github.com/mapbox/mapbox-gl-native) right now, but an official, production-recommended release will come later in 2015. + +### What iOS versions will be supported? + +Mapbox GL currently supports iOS 7 and later. This will continue to be the case. MBXMapKit also supports iOS 7 and greater, but this does mean that moving from the iOS SDK will leave behind iOS 5 and 6. + +### Will the API be similar to the Mapbox iOS SDK/MBXMapKit/MapKit? + +Yes. We are shooting for bringing the Mapbox GL API in line with Apple's MapKit for the easiest transition ability. + +MBXMapKit is already an add-on to MapKit, so Apple's `MKMapView` API is used directly. + +The Mapbox iOS SDK is "workalike", since it descends from an [upstream open source project](https://github.com/Alpstein/route-me) that predates Apple's own MapKit. It uses similar concepts like annotations (with the difference that the map view delegate provides `CALayer` instances instead of `UIView`, the intention being that Mapbox GL will support `UIView`), similar API for managing the map view center, bounds, and zoom levels, and an `RMUserLocation` API that is very much like `MKUserLocation`. But the Mapbox iOS SDK also features unique APIs like extensible tile sources, offline caching, UTFGrid interactivity, and point annotation clustering. + +### Will the iOS SDK's extra APIs make it over to Mapbox GL? + +The intention is yes. This includes: + +#### Tile sources + +The SDK uses the `RMTileSource` protocol to allow for extensible remote and local raster tile sources, as well as custom on-the-fly raster tile generation. We are planning to build a transitional API in Mapbox GL that acts as a wrapper to `RMTileSource` so that existing sources can be used to plug into the main Mapbox GL source API. + +#### Offline caching + +Both the Mapbox iOS SDK and MBXMapKit feature robust support for offline caching of raster tiles and the SDK features support for [MBTiles](http://mbtiles.org) tile sources. + +We're likely going to take a similar approach to both performance caching and offline maps as is done with the `0.3.0` release of MBXMapKit. That is, `NSURLCache` will be used for performance caching and specific, separate offline map database management will be used for fetching areas of map tiles. This is a cleaner design than exists in the SDK, which combines performance and offline caches and has a non-intuitive configuration API. + +We will likely also port over MBTiles support to Mapbox GL. + +#### UTFGrid interactivity + +[UTFGrid](https://github.com/mapbox/utfgrid-spec) is a technology for enabling interactive features in raster tiles. Support for the technology is provided in the Mapbox iOS SDK with categories in `RMInteractiveSource` in combination with either `RMMapboxSource` or `RMMBTilesSource`. + +Mapbox GL obsoletes this sort of pixel-based interactivity since the source data used for rendering can be queried on-device, so we are unlikely to port UTFGrid over to GL. + +#### Annotation clustering + +We're planning on adding support for point clustering to Mapbox GL and it will likely have a similar API to the SDK's. Clustering will happen on an individual style layer level. The performance for clustering, as well as annotations in general, will hopefully be better than in the SDK, since it will be done with direct OpenGL rendering instead of Core Animation layers. + +### What will the migration path look like? + +Ideally, the migration will be pretty lightweight because of the APIs supported above. There may be slight syntax changes, but they likely won't be more than would be expected from something like Mapbox iOS SDK version `1.x` to a hypothetical `2.x`. diff --git a/ios/MapboxGL.podspec b/ios/MapboxGL.podspec new file mode 100644 index 000000000..6cdec1826 --- /dev/null +++ b/ios/MapboxGL.podspec @@ -0,0 +1,33 @@ +Pod::Spec.new do |m| + + m.name = 'MapboxGL' + m.version = '0.1.0' + + m.summary = 'Open source vector map solution for iOS with full styling capabilities.' + m.description = 'Open source OpenGL-based vector map solution for iOS with full styling capabilities and Cocoa bindings.' + m.homepage = 'https://www.mapbox.com/blog/mapbox-gl/' + m.license = 'BSD' + m.author = { 'Mapbox' => 'mobile@mapbox.com' } + m.screenshot = 'https://raw.githubusercontent.com/mapbox/mapbox-gl-cocoa/master/pkg/screenshot.png' + m.social_media_url = 'https://twitter.com/Mapbox' + + m.source = { :git => 'https://github.com/mapbox/mapbox-gl-cocoa.git', :tag => m.version.to_s } + + m.platform = :ios + m.ios.deployment_target = '7.0' + + m.source_files = 'dist/static/Headers/*.h' + + m.requires_arc = true + + m.resource_bundle = { 'MapboxGL' => 'dist/static/MapboxGL.bundle/*' } + + m.frameworks = 'CoreLocation', 'Foundation', 'GLKit', 'SystemConfiguration', 'UIKit' + + m.libraries = 'MapboxGL', 'c++', 'sqlite3', 'z' + + m.vendored_libraries = 'dist/static/libMapboxGL.a' + + m.xcconfig = { 'OTHER_CPLUSPLUSFLAGS' => '-std=gnu++11 -stdlib=libc++' } + +end diff --git a/ios/README.md b/ios/README.md new file mode 100644 index 000000000..2af03691e --- /dev/null +++ b/ios/README.md @@ -0,0 +1,68 @@ +# Mapbox GL for iOS + +Use or edit this project to get access to vector maps (via [Mapbox Vector Tiles](https://www.mapbox.com/blog/vector-tiles)) and dynamic OpenGL-based styling in your iOS apps by using `MGLMapView`. + +![](./screenshot.png) + +## Installation + +Currently in flux. See the parent `mapbox-gl-native` project `README` for details on building this library yourself. + +Static and dynamic prebuilt binaries are coming back, as is CocoaPods support. + +## Example usage + +### Objective-C + +```objective-c +MGLMapView *mapView = [[MGLMapView alloc] initWithFrame:CGRectMake(0, 0, 400, 400) + accessToken:@""]; + +[mapView setCenterCoordinate:CLLocationCoordinate2DMake(28.369334, -80.743779) + zoomLevel:13 + animated:NO]; + +[mapView useBundledStyleNamed:@"outdoors"]; + +[self.view addSubview:mapView]; +``` + +### Swift + +```swift +let mapView = MGLMapView(frame: CGRect(x: 0, y: 0, width: 400, height: 400), + accessToken: "") + +mapView.setCenterCoordinate(CLLocationCoordinate2D(latitude: 46.049900, longitude: -122.095678), + zoomLevel: 12, + animated: false) + +mapView.useBundledStyleNamed("outdoors") + +view.addSubview(mapView) +``` + +## Development + +If you'd like to contribute to this project, go up to [Mapbox GL native](https://github.com/mapbox/mapbox-gl-native) and clone the project. + +## Testing + +Currently in flux and not functioning. + +## Requirements + + * iOS 7+ + * a sense of adventure + +## Styling + +See the [online style reference](https://www.mapbox.com/mapbox-gl-style-spec/) for the latest documentation. Contained within the `MapboxGL.bundle` assets are a couple of starter styles in JSON format. + +The project will eventually get a programmatic styling API as well. + +## Related Projects + + * https://github.com/mapbox/mapbox-gl-style-spec + * https://github.com/mapbox/mapbox-gl-js + * https://github.com/mapbox/vector-tile-spec diff --git a/ios/app/MBXAppDelegate.h b/ios/app/MBXAppDelegate.h new file mode 100644 index 000000000..da081fdcd --- /dev/null +++ b/ios/app/MBXAppDelegate.h @@ -0,0 +1,7 @@ +#import + +@interface MBXAppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end \ No newline at end of file diff --git a/ios/app/MBXAppDelegate.m b/ios/app/MBXAppDelegate.m new file mode 100644 index 000000000..f0541b997 --- /dev/null +++ b/ios/app/MBXAppDelegate.m @@ -0,0 +1,15 @@ +#import "MBXAppDelegate.h" +#import "MBXViewController.h" + +@implementation MBXAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[MBXViewController new]]; + [self.window makeKeyAndVisible]; + + return YES; +} + +@end diff --git a/ios/app/MBXViewController.h b/ios/app/MBXViewController.h new file mode 100644 index 000000000..924d3af60 --- /dev/null +++ b/ios/app/MBXViewController.h @@ -0,0 +1,5 @@ +#import + +@interface MBXViewController : UIViewController + +@end diff --git a/ios/app/MBXViewController.mm b/ios/app/MBXViewController.mm new file mode 100644 index 000000000..4945b73cc --- /dev/null +++ b/ios/app/MBXViewController.mm @@ -0,0 +1,266 @@ +#import "MBXViewController.h" + +#import + +#import + +#import + +static UIColor *const kTintColor = [UIColor colorWithRed:0.120 green:0.550 blue:0.670 alpha:1.000]; + +static NSDictionary *const kStyles = @{ + @"bright-v6": @"Bright", + @"basic-v6": @"Basic", + @"outdoors-v6": @"Outdoors", + @"satellite-v6": @"Satellite" +}; + +@interface MBXViewController () + +@property (nonatomic) MGLMapView *mapView; +@property (nonatomic) CLLocationManager *locationManager; + +@end + +@implementation MBXViewController + +mbgl::Settings_NSUserDefaults *settings = nullptr; + +#pragma mark - Setup + +- (id)init +{ + self = [super init]; + + if (self) + { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveState:) name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(restoreState:) name:UIApplicationWillEnterForegroundNotification object:nil]; + } + + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + NSString *accessToken = [[NSProcessInfo processInfo] environment][@"MAPBOX_ACCESS_TOKEN"]; + if (accessToken) { + // Store to preferences so that we can launch the app later on without having to specify + // token. + [[NSUserDefaults standardUserDefaults] setObject:accessToken forKey:@"access_token"]; + } else { + // Try to retrieve from preferences, maybe we've stored them there previously and can reuse + // the token. + accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"access_token"]; + } + + if ( ! accessToken) NSLog(@"No access token set. Mapbox vector tiles won't work."); + + self.mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds accessToken:accessToken]; + self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [self.view addSubview:self.mapView]; + + self.mapView.viewControllerForLayoutGuides = self; + + self.view.tintColor = kTintColor; + self.navigationController.navigationBar.tintColor = kTintColor; + self.mapView.tintColor = kTintColor; + + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"settings.png"] + style:UIBarButtonItemStylePlain + target:self + action:@selector(showSettings)]; + + UIButton *titleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [titleButton setFrame:CGRectMake(0, 0, 120, 40)]; + [titleButton setTitle:[[kStyles allValues] firstObject] forState:UIControlStateNormal]; + [titleButton setTitleColor:kTintColor forState:UIControlStateNormal]; + [titleButton addTarget:self action:@selector(cycleStyles) forControlEvents:UIControlEventTouchUpInside]; + self.navigationItem.titleView = titleButton; + + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"locateUser.png"] + style:UIBarButtonItemStylePlain + target:self + action:@selector(locateUser)]; + + settings = new mbgl::Settings_NSUserDefaults(); + [self restoreState:nil]; +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-parameter" + +- (void)saveState:(NSNotification *)notification +{ + if (self.mapView && settings) + { + settings->longitude = self.mapView.centerCoordinate.longitude; + settings->latitude = self.mapView.centerCoordinate.latitude; + settings->zoom = self.mapView.zoomLevel; + settings->bearing = self.mapView.direction; + settings->debug = self.mapView.isDebugActive; + settings->save(); + } +} + +- (void)restoreState:(NSNotification *)notification +{ + if (self.mapView && settings) { + settings->load(); + [self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(settings->latitude, settings->longitude) zoomLevel:settings->zoom animated:NO]; + self.mapView.direction = settings->bearing; + [self.mapView setDebugActive:settings->debug]; + } +} + +#pragma clang diagnostic pop + +- (NSUInteger)supportedInterfaceOrientations +{ + return UIInterfaceOrientationMaskAll; +} + +#pragma mark - Actions + +- (void)showSettings +{ + UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Map Settings" + delegate:self + cancelButtonTitle:@"Cancel" + destructiveButtonTitle:nil + otherButtonTitles:@"Reset North", @"Reset Position", @"Toggle Debug", nil]; + + [sheet showFromBarButtonItem:self.navigationItem.leftBarButtonItem animated:YES]; +} + +- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex +{ + if (buttonIndex == actionSheet.firstOtherButtonIndex) + { + [self.mapView resetNorth]; + } + else if (buttonIndex == actionSheet.firstOtherButtonIndex + 1) + { + [self.mapView resetPosition]; + } + else if (buttonIndex == actionSheet.firstOtherButtonIndex + 2) + { + [self.mapView toggleDebug]; + } +} + +- (void)cycleStyles +{ + UIButton *titleButton = (UIButton *)self.navigationItem.titleView; + + NSString *styleName = [titleButton titleForState:UIControlStateNormal]; + + if ( ! styleName) + { + styleName = [[kStyles allKeys] firstObject]; + } + else + { + NSUInteger index = [[kStyles allValues] indexOfObject:styleName] + 1; + if (index == [[kStyles allKeys] count]) index = 0; + styleName = [[kStyles allKeys] objectAtIndex:index]; + } + + [self.mapView useBundledStyleNamed:styleName]; + + [titleButton setTitle:kStyles[styleName] forState:UIControlStateNormal]; +} + +- (void)locateUser +{ + if ( ! self.locationManager) + { + self.locationManager = [CLLocationManager new]; + self.locationManager.delegate = self; + } + + if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) + { + [[[UIAlertView alloc] initWithTitle:@"Authorization Denied" + message:@"Please enable location services for this app in Privacy settings." + delegate:nil + cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show]; + } + else + { +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 + if ([CLLocationManager instancesRespondToSelector:@selector(requestWhenInUseAuthorization)]) + { + if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse) + { + [self.locationManager startUpdatingLocation]; + } + else + { + [_locationManager requestWhenInUseAuthorization]; + } + } + else + { + [self.locationManager startUpdatingLocation]; + } +#else + [self.locationManager startUpdatingLocation]; +#endif + } +} + +#pragma mark - Destruction + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + if (settings) + { + [self saveState:nil]; + delete settings; + settings = nullptr; + } +} + +#pragma mark - Location + +- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status +{ + switch (status) + { + case kCLAuthorizationStatusAuthorizedAlways: +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 + case kCLAuthorizationStatusAuthorizedWhenInUse: +#endif + { + [manager startUpdatingLocation]; + break; + } + default: + { + } + } +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-parameter" + +- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations +{ + CLLocation *latestLocation = locations.lastObject; + + if ([latestLocation distanceFromLocation:[[CLLocation alloc] initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude]] > 100) + { + [self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(latestLocation.coordinate.latitude, latestLocation.coordinate.longitude) zoomLevel:17 animated:YES]; + } + + [self.locationManager stopUpdatingLocation]; +} + +#pragma clang diagnostic pop + +@end diff --git a/ios/app/README.md b/ios/app/README.md new file mode 100644 index 000000000..325670f1e --- /dev/null +++ b/ios/app/README.md @@ -0,0 +1,3 @@ +This is the app for use in the development of Mapbox GL for iOS. + +If you want to run this app, head up to [`mapbox-gl-native`](https://github.com/mapbox/mapbox-gl-native) and follow the iOS installation instructions there. \ No newline at end of file diff --git a/ios/app/app-info.plist b/ios/app/app-info.plist new file mode 100644 index 000000000..c15cbeb64 --- /dev/null +++ b/ios/app/app-info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.mapbox.MapboxGL + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.0.1 + CFBundleSignature + MBGL + CFBundleVersion + 0.0.1 + LSRequiresIPhoneOS + + NSHumanReadableCopyright + (c) 2014 Mapbox + NSLocationWhenInUseUsageDescription + The map will be centered on the user's location. + UILaunchStoryboardName + Default + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/ios/app/img/Default-568h@2x.png b/ios/app/img/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3706427aafc3aafabde8c67bffb0d6c0d27316 GIT binary patch literal 2239 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 Xph8PuOoVW=00000NkvXXu0mjfBS3M0 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-60@2x.png b/ios/app/img/Icon-60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f25955f54048a8f9d7653282ba871154c5eaa6 GIT binary patch literal 2091 zcmb7GYdjMS7oRq_45QZE>B6*SZhMf+)3CASmTfP}a=%yNnYqSXa@*t@lB7l=5h0K3 zlv^S!o-QKIBP~N^iT1d>e1AVY?}u~FhyOX}_dn-%e!u_8JmY99ywi|NnjW!5$2R1GVc&L=VV5Lzr{q1F zH9LdsqB%w1SUOys`!nW~tN#{|7z`)w1LY0nfnChA<+ou+BoqoOd(6}F^I;AcyYF3Y z$%#o&DXU}J${C6H?7xeF01%eZcDzmV9;k=st{{?i1%LLi{39)IPI9%{@PvRghJr$= zY<_#)h9k0@*1Gm6Wb0f@<4jRg2?mni)t(6$a6x8+EYJmU(MGN4LLL8J{4~91Qk323 z@@qK#J<0oy{MLK;iJOU4bDv6<1hVlX^U*_{#2R)aRnW3CT|f8$B1SkrCE`p%NG7a2 zeO0V>qO3&M4_JW_HpsCXJxUxaGc2+$@N!4;Pb!!Y4?rMgH<7n)BF#IQIw4uqvlGd_LXCGQAiq_fd!EWpSR^^AmlcjMo+j#PAJ;IQmi_Aam)oc*QS@pq-T>Cb)h%~J z`SxlX5?aw8@@#yiN$ZQw8mAko*;>ZFDY=zTKh zY@tup;1x~`uDNk@1Kwbzl6^czY(44oNg;8~WN_w_sny}~y*)kOZv7U_EeZl8gd_NnR#sz3(tPCtF=ja@2y6Y3U z6e6Z_P#OavEWlv_-9beR5$6`2Q>}V}X(HidQPO$J!E26)1i?IufIuu@_F9-xb)(c( zpmn70H!KlpSa+RYP*=kSW(BLUfMIR|l?+1Ad=Rl;IJkfb!Z&i5YjdQL2~^a%Ze|FR zb!GO_fhe3W9TB=#$r@MO2)}RGV0V+{pk+-%B=F~bYT(eAK5+A6zt_cRoUHrezMnrB zo^g9qud`mq--!|XV@fq9grzB{>u@OW^teCA9G1#~-H$-5@PX0>XWTzjw<;4giJKyL z+veM8r|7i!iVq9kZ)lhI64L!OfL`cI;n0f^MuqKZmLiB!Yc%G0euA`?k~3S%_$%^? z6GHI&nW%Yom&f*nwjyJ9BNg%BY!21=Tj~0Xo#{{z*7^-Qium1-DR8bn$o45p+7H2g z3b?X8)AB_RU%8Z$R~2MANnT99Ob2)cp;jt=4##@Oa7*sZ1^0sev_1wRYx!%DMtDP+ z!N;T_$dGxd2FUcdecSY9{2JcjeWbq=zx z#`pvyPqwcu%BA%^QC0>x&eUqd*rz@V6TumwB5X_yf`U}!rOOx(N*PBd3X){FMLdg|=(tJpba9fRt3d=ZD zNcAf)jz9&z#Pi6Tg4j<^7YYxMIQ`0~(Nq~PA1v_9NUGij$4q_RS`LCiJq#^1Ag~ml z?~mQ_U@E4LXU-@s*yjfUz#e+!{|lqg*ew76 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-72.png b/ios/app/img/Icon-72.png new file mode 100644 index 0000000000000000000000000000000000000000..0c876f664d67f14c6c509d6c4c6a327d63c7faf8 GIT binary patch literal 1418 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 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-76.png b/ios/app/img/Icon-76.png new file mode 100644 index 0000000000000000000000000000000000000000..895b4a17615bebe7b7135ec7d01732bbe55ff32c GIT binary patch literal 1447 zcmV;Y1z7rtP)sKOx3bjlDNDc5bm5i*>a3_Y(PsrBROm=r{_XT~4t zOiKdRkjA!|brIXnLRVE2YCI3AD~L##UD$s-+~J$LFvF6|Hr zqUNv?B*Cs;W7Rf^01SOT9MM1&L=54B)1$p z5YiCB5e3me#(aBfxVmp;a>R-yUY{Hs@5%_G1FKz6VU3dpj!ox#Ab>;EZSr@XI7an?Fw+P% zx`Jn4+IaJ^;i@g&UdIvFE%Dmq;Am%B5@`;9Z7X1t-k!%A2vl_hLu3fGd%OWJZ!|~4 z)(Y4pdQwyl8VQ7ews3jVJc@=vpdd|F9r?>z&Fiy)Kz&tPR2^~d*b!ge5CH-dDq9uH zf#9k%NRugsv-73$jtyR)pa?YFn>JGnFHVnmc|!mMP;CF3 zBjik>XfpJj<=&@)H%UZk&X#J{<%MO2%>?pF@#d>P%JY@&oWXP##``IhX`LX-r}&k> zRtuFawdQK|q~gs|ZTItAE8Qu6*uAed71rF9DFWRr?w>X_@&+*+kD-|qL|rETp}cwZ zc1r@Ot$=IG8*{}wZEkt#Da2KXBytJFJOtXyo5OB09!?>eB!CR769_#7a(PpzZ0C3= zym1xodeR}vr}#G>0yXlcCp6x;3jM%`Av%gcdy4n+ChQzSj$bFx_41}W2f91IS)VK3 z$%n}sS5X|@Numye&Hh%ZSdKdO+7WW5P%;?{V}9dR6ejBgs#=#9met{0G`w*Y(IKoN z(ASIq{<*ocy6b%UdlbBJ74Uj;A0eVm^x@57&fryBMAI9UqBALpx=j9Kd6NL5tVW2^ zBmfXWiXkFI(-mDsY7*3LRkRM_A-VmLn2d`OlX1~QVN!DlaW9{QBo*8};Zg@d+ON|z znKhWYcG9Fk4#g3m!(h!t-omz}V-f)t*0;7D*>vp;0Col4r%wd1CH=ZqOEuh%mlFGA>F?#zl$AxF|6h7bPa+qQqoe^dG20wp~(At3Ln$002ovPDHLkV1kV^ BpeO(U literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-76@2x.png b/ios/app/img/Icon-76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc52089764e5dba49adafa60532a75179bc8ce9 GIT binary patch literal 2520 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 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-Small-50.png b/ios/app/img/Icon-Small-50.png new file mode 100644 index 0000000000000000000000000000000000000000..6d17da4b0091aceccaab7bae470658b8d149a11f GIT binary patch literal 1118 zcmV-k1flzhP)5YN)g;4b%6hZm2f?6O0?;g4ocq#UW3_v!|*7_mS&M4EYK zB=zPqPd;dBr)5kMZ8X(ulfy4&2Q{-33?eox0D_2tcTSIuC*6iI1Q6gG9!@y#JvYt( zAtF;mEW2g|80OK0^X}=fP2UJ2K~(nj+s_^!AMgybtpY*HTRd3QGA4)&^BX5e=d$T7 zrR&LVgb0g zSZuV?To7sI*^$(%6GN{Y&%E^1px$v6Lo?8x0Ni!4SyL;B|T~_AAzdMe0HOd49^r1 zD}(xh?5z8h(ANxKybpn2AmyW~6vK!@E z!w29AiUBGXEC3AH^KmRphzkqx0a-bsJ%}TU6=)Id{d4DL5q7<7z2Me0JsvC~q#W6y zLqXHc9#-3{t0d~#7wLh;+t*S3!S8q4r@mWlB)WDGw$&M)pkl50;U9O~=H%6ea;b+p z_3X)!>0^bFhdhV=`StAgp8x;=07*qoM6N<$f(IA~y8r+H literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-Small-50@2x.png b/ios/app/img/Icon-Small-50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4ec19282fc4cfdf83c2ed5f127143db1394cee GIT binary patch literal 1839 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 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon-Spotlight-40.png b/ios/app/img/Icon-Spotlight-40.png new file mode 100644 index 0000000000000000000000000000000000000000..eca13393e6654246a4a788dc36776b547da1d5d9 GIT binary patch literal 951 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 literal 0 HcmV?d00001 diff --git a/ios/app/img/Icon@2x.png b/ios/app/img/Icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2e8ba037fe6edc2e2bcf6999b383a1f61e6c04 GIT binary patch literal 1931 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 r3sI0z;*5x00syzT(@z1A&%hH5Ty5F{uq^^B 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 `%W`9$N;Mn+&4i6Pe^+CDg{WogU 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 z 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

%kbSIn^iq+ zATt8H?T%nb6&mo~P@*;jaa6ra)G`cv;*Y*zhYU6D)WXdAwX{XqJsIM7H;(9t#$nl> zIISZr$rxuQ+@e2(Oh=ZHlh3cm;?C(nx|(!V0(}yAF)RSM&C&%d$E9}Pi$U73bf7(w z^=uTs{Gyl-=UcbVzI$Wm+i&MP4sCcc9_geR&*eE^uo&2xUK~Gja{l;{$Bs{}+cLXx zWdMc2I@@U8L#^bn$7{KAk=7;8b(SK;0OWn3-oCG&s+p5 zaCveRo_@yoDrxdRIdy|nA$2Rj`G++jN99i|&A>w>XeK|S$M+VS0q3PpIi|mhx=v7+ z9O@5#IQuGi5xAHc2;NBwMxlsfYMbDh_|rs_*Z8M#kx+g-||WDCY|I?$|3MS0J**M7`o)RtyFlrxG|8Q)*AOOAmu8kXpbi zNV3djYEI33ZebdZds5+W0Lw1Q0YpuW1!wGai6Ny5ntsDdn|rn4JCSn{U#U za_g&C=o~ic&ck;4*!lm4?nTFd;P)Or7(2|d%T(~{=UG;%Rcu6Sls4aO;4HWN+O%`~ z;%=X`hxp47j`txr!R0t^yjHv`+VvQ_;L0?&*D{TM^Zo}9R1fLQ?=uHZg>~{@`vCZJ&dS1h(OuTu`t8V@-EqT`1SYR9pyo5l;gU;|L}=# zgf;zVbk92~_2uGxDrg85Kj5|0{G0czt9EO`_2$>?mJOiQ1J9pRDxyvr3g@a1 zNwZ?VtkI9sP-wUNcAGNG{vNt^ZMgdLV1WLFI;RYj&xLf#qYj_^%>BB`azpj6e)TQY z7HMX5Il73oI-avb8ajXfr|!}j{ZrK^|M=Uf&Rqzkxjou%!?n_5(t!EW9WISF6P9TpXBK02Y};7<`mg**XaH=GJ*rX8R{x*f ze_YRGM&P0g%Mc#GN1f~shi3^c%;{z>Y90iGuw~PvP#48&!X|XpzbXM4zE6U?i$Ca4IbS&V41{+M~lLMGP z4?GBinH_Y4w&9dc90qW7>~&aiqh|0LO94I{9?+MI0jz|t(~2xRG#DOSEz8x{?%Axf zbSq@V_LPj+a85Dp4#qAHM3>?WXFmiYMDsY1h7s%=F(WvcXc-M%z5BpPo8JUx!|pvb!&_IW7N&*ub!m+XTS&!v51z7SxWhzmx59!Qq)~+pIJHTh_&M z3A+Mqz#%1zO<=s+@olQD{vSPE9ph#d zx5I(ubkpihHL`tj6^?g$yqb`Gf_0MfnBM<$(pX}r@v6HjfngHxtZf*~^OZN~jk?tI z|DV100MhHY?mh1$3}%pK01O6!AV7kdViL1R+FXf}tYFCswk%7QD2H|Jv!C_$)xO&I zYO8j)YPV{)Hk9r4+h?ucvn9)xWGh+8O182@QY6J3!2|}x$pcId*#GbJJ@@u^zk9#$ zLtv7of%!U}K7Bge4yR9_E~cZbahSV396w){hdUF%{a#naaQD0I@a}i~?k~oBxa0SD z&4Zc*SL-!^#kr+T+s^Ipkj%Rc>Z}kTRJLj62LpHZAzh2~G}>&NqX|~g2oL_SHS`T4 z;m%++6#Qrqvv3=0+I8B)lRMh{3r|PqYAJY`R;Em@0Mu_bN!zIf;^2;Lw&0u5LQl6D zl8KQ~sRiJkt^o8u7~H{cJd5ySC;Qi5dw~>7^_apH?!x)P2HV}#iThDFh4|T(m+nrk zzv`T1$Bs?Od3*H6vqaEfzs@a)18p>CnHvdYUt`h$3-&ndB4E+)g-R1zG(W1QZi$Rt zc;!Vlp**v9pY#;WC3Cz25Kq*emlIRK4+lB!q+W?6%i7auNPQW;&`x#qlaImZCm^w$ z9hZ3wCLjvGA(UryHg4e+fVO1x$XGhbIa~@EC&-Z1_m@(-GI+8mMU+8!EVj8lAck-p zvc2zQ@EKficzhwa#9PRy!t43CT|DXcWFBw*xg@u`ATLuCfyijTPAf3uVt}E@DL0-| z9%8N%JfR{L>qG%)$sLE=ghy`RS~W_?1`(xEyL5f$Uwz=pBk~gHU z2v=+mzWzq0Du2>Ytt{Th^eVu8dZpp+2M;AZ8e=DQQi+H^o3%!UuEBM!wK}c5Sdtx= zUoe=g*T(LQ?HlwSwluR#lB1a^(q|GBN>nU&ng6($0O%e#BuSAWF#w*_3jr62j%FK5 z`sH>hGdx2lu^P0KK`}3$-9I5EiK6!e`&t=YaTrV$dmZ4ZBYGX+NV023pD|ugs@P1@ z0+H;C_6#JKoM&_iFO(G{(mhk0Jrb`9bKKFvkZrtx5j)BiAOseC@7ehswl; zv5|pE^X2b6k=%Lzf#ky%82D$OxheUB z_iH@3nDKz;=PJ^s!CV9Se?D$`JnrFZgD4m@*?~(6SUn??0qh0d}?aD!{CsjN}RDr=K0l8MSeH+M3Ua ziELY#iWdFP!GjA5S*PT_ygP<99&`g0*}+GEZQ^^RHQ!zVxL}vX?A!ZnGB0Mbz0Q=T z4O;(iN^ZFBJZb$uGg+%|vXKHx+U@gSxhuK-t|yY8-2QknI;IyId=7ScB06wp!PG-u z(7Zq%o)#wt>J;Pe%rmznJ9Z8vZ@lHIWRKRn&pvfrIRr$uK=7(ty#;k z!8xR6oH)KT|E=lChjfqbm1)Y^imyysPn9bFbojj7jm@8j#h;$%=P<3<{-qURtMCKo z2Dj&L;cV`C4Pb6=eJ49~B5h+}gMoaS4;cPzTBy?n5YXDB$*wWQY{R9}=L3$SEIyD@ zstZ7AgR(!p3eee;nEpRdACkuM+O-M3$Ank1or!U-NNdS;?y40?F5pbS+v}ia(uLX25LCQuW?V|XiFd~?cii?9lRLQT? z>^60YJFU}_6lstraGT)RU7hmeV#2h?Zy@cZk_7NFx$V@qTv49j#kJ{U7`N$ralZ?( zE5BX?-kffGc-Dv02&+d8ef}+Ha5$QNB(}j}fxD@{H|f_&>w0Z28yPmvV-s^aHJ#Pn z?rD2FJG_0|DAh__qZ+7d;s}^AoJ|RJ%-wIa?C(Ex)W*+wz4NX0r^aRHUq=Zer-o%) zG;`X_h84wvjNx0f8AXy{LW^cj$@mTG`3a>=uEc^;_pP924h%+i#hI8Bmt;bPRv(zFD9cBbePpfI{qX(#2i43 z9+7ewH^4UA{KK4?o{=sHNl+ZrA503a*#raSswC=x$_)ic;|i9=6~YSMu(k=zqCwU7 zpmY=T>xsMdVjMLx;ly>`+LY%+VGJ_Ib7K9fFjjwQJ&Ite3Z@NGO}u8o`ekVkWhwv0 zte;935(giQp|sJ6zSGlhg5C=H1mgUBw{v=Jp+{pwm0k^)7CajWgO~4SwGKh%wDwwv z-ljJ?8}tvNLieh5h4M8>*sKELq_I0C2&vgz>;DEFLT#|NXteo1>Tg}LVMDKt&pC~8np2}F3^xY9)uUu|rDrwXthkY@!Q5SU{vnA5*0Zz_yCYEnX-9-^Pj!J6hzhv0mN1 zMHB0+M7c(^A=k#-Bmo$VM7~On)B=WNY|cY*^$zs1IMQ})AcVO#{*;TM0xN+r6w+!E z0z~(}`;$ksdEc0vd;S^8CM`18X|Q8(^NqhV0(>zR`%xx#^=qX~SA+5um+lfLb}IS& zm+v;+0Jq)wi14G!AZ`MqoF6NTS!u->6hB@cUSUPQH9v3xZ?MF6F{TX|YxDCvXXs|A zHFP7H)XEwt&F{o@0t9q0lFX#-l!nSuMpizj+cQqVot(HnEXpHfLz~41#sksDTr!6N z>nFg6lLoTP+uI<#UNi6%zx#{vX}CjqEgCOMae4Db5W-RHFP_e`@p$)pzjA+WM|cTz zZwip-9|Ald|E^pTppY#4?i}9XQnb0{{m(2YSSdSi#OuX6;`Q_x^eMgf6`jon&Q)9lf-+22a_MM%zv)@F^8%Y<;slFb0 zYS^^tf9v~uB}Fl<6JX}dLW_7MxJ^9nB3zuTq>Wi~Ao0NF|G)XbHO3@@VbRR+4B@B0 z@}S-MfAsM~c5?2UE+1!$IEtjT3RhpIBBo+a!C!25uPTdWKEmO18+9W9UNidpFWzH! z?k|@VL^CCgwC_9Lda3CG_}E|nFd0oHKP-=u`i{eWKDMwB5u7!}3v_ZV=w}ZfO!kY> za?8z=_6*?`iN{ya2fM+EMz`9HmU7??(89Ke8DpImStpO3v z{c#2O@QW{XW$8U8MUlmaq`+rs93-_*N$dZ=+;8j5DXn3P6a@4k)XB7Zi1SaEX<2xN zB>%9yHh9MKoxgHb(kBMMlq7-2bydeQwKM@LM!n)*sR6HnS2F{^%YaQ+_nzL&?Vpm{ zF&@X|pC2$~f8^ybo*qBDnIgQ$yG?wY*3)@BHZYucA77lGUF0=@rG>f0rLOsZEl6SaP;&5=M|7fcB2n3V}=p8`%(miQS54;*0-6 z8Y^Ca&(fp_EPZfu(l(q-KpD1*{w-26 z*ewlvRj0P#=bJ+3!(nNC=j8vWUWJ&RMw`AeQJj6!f#7m-EUrANDwJ=3qjVDt=$g#H z#vVy3NN+@XfKiqPGHg816$M_a;E&T++gO$*c%_9|J*M?pq)l;1+>A+&0c#i(F!pM! zWV1&*ml@VL1A4sz35{M|q2k32n4_oOKWR)d4UKBwk?MJBdcpK8AbG+Ql2v23eLs>; zfR+LE<9X4yfB&csk2wCQ?kHjX64owW-W)o2dEDu=p_!{FTXgC_IJn{DwEjzS_0*{J z)NWJ4P-E5wL?n7YdRKQRoApXYU*Fnfc3A82nq1?wr?ZAuaQ!^gKx-`fm$sx8!&|nB z^mwtO%-OnV4pXml{T<;sGI2m;7K4+sRnM@8(9#0+=cmKe1L&*!8Ja+4TAcLPX0E{sGxIeaW zqZ|hjxr;B{o?LasZoPkerlbPS61RNJt_@6auT7OizNIFOuxN+DE+)wQ4wPb(ca;X} zi(Y%7F(Zn1%_w!KjWk^$c}7!)KZMwNOwJrUxcK!Af3V%>n9>{z_$<~?=qDiY1bGxL zrQ=R>{~$U5bf@{qXzg8d!)u5D&S){5mLmS~($f#pG-Y(fN!(olm*<=p!@@j*^qv+w zb!YvCXwM_EJw6Jma28Tq|91ZX06+jqL_t(ncnOaGoDN6o$zm7_bJ`s+vJnaF%X9!t zrn(s-0Gy7v5L_A2AioTk6Pe-nOxz~l+|7da<{S4UmtVXsxkcLlw`yb3=!q{D`*%Nl zD0x(;l3)Ah$C4KgOqjT1T@e}twBCLVkVH|A&x_v3Mn8$`02m)ZF%-gKCupMjvy_c8 ze39dNdpeTWUD79}?0jNmuydt=vqg& zZFnSIh6GuwWhiD9Cahwp`C<4T(rF}51g_VWlTk4y}b9J&zcPnxFb+D-@Z{-;6}1AAM3f0rnozs{s9$Pb)eB(3LZ=PMiG=x^AJmEEzA`NLbUOK!e?cXICTO{Vy-5hKaQg9i^LkL(>vz96mnPduah<*G9bC;Cn% z{yZ0aIqA*d>Jod7GfYMHs$_!uaq1gk#fUbXY`rq zeQj>R$I;M6JqNg9?P`6C6ZS;%h?qAn4N;ROZI5vBALp66;~>>!=9PmsS-qymmV79M zeD;O$K-$rO$X5~pK20V1 zQdgGVW1J$74}N1VX#82dw%68WXPv*>BKGawC+Sw5+DmMIVDtLqzyIi4lbdh2Kv$K5 z@>0iEW}|fS|Nf8POn!LV z=Wb6v_@3*f_+6_mjd=HYybjaLMYxw-9mH^c96U<`Da7{KE4?Cj)1XID3J^!8F7 z3(p`{uI?r(85oV&Ocy{HwEe_C3?KRp4udC)SoG8e+*GEtR2M*2PUWRn0XW@jYYTSL z7DNMWU}ZA15iW2OLZNWO@pTi5=RPYgX?!A-8we)AwhlPWQ_?28oUA^sL2YIxIe2(n znpu0bfYhm>CO)JDFigC@D7S$0C+G%f)6-(T5`A1swo4L#7Xx@LV3jnE!=0X+Ul7+^ zgTDq$%RMJHMrEXC0mWiu5w8SCs6&3e{ewI01XUz@x!nf*q{`_C+&*bURg|7uxb;!d zWOjtg`>*%KC~C!7QUl(+Zf78AfQxxreWJ^R@k8%(Cu$E3O^MN}>uF*Vn%P;$={6_Dlvbvjo+}87IIzgpcod=)siHDGUSARNzwq@#8g8nfFX`+ z59lyxru-0H4CH%Q8_r?6HWb-GSdw*De9 z48KicL?NNEL5vE%!Fi<*4@&3x_!>KIEEpO z*M)z%gcHxc8rxSg#c=n#?Qo6<+i8+B6aSCnJv@dZPyUwY7iJd@AAEFdW_oOHV8{8J zCA!xU>jGesSmyqv96EScZnD#pe=8k98l1_wP8WbA1}q~cCg5TU@N3Yv@N@zJ7SpMX zzf|%`8}ykv(Vvlc;6C{^0UI1?R2`B^;IxImI(D+2;o#MgbFZ8BjSrwX=Bhv{G zD#6+~I0Jy+MQl56>@3A+6%fF(`c1=&{uFOYmgnN+)1}NfJy`*OP+q=J^8Q)KJ&Sk5 z4(I;db_$%%JO)>ue+c({!uONI7VrMI3YTH9HgZ}N>h&1~8LT7r2F(yS{e=XMCxeR| zBmq3b8MzhC25&%0p*VGY_nXeQML*)nRfZziiKOnFe)g*m*&S@2S<1dO5;meILhS7u z1(~zD9gC2){wjR6P>@Gu#F3|_groY{x05wq?S*KWvN5cA==Cd;=lU96;cQ|pM3rMPui1s-}v5MJ>jah zK1tK4j(JJqOW%0dl;S}niV3f~OedMzL^U$#47l~(mzu)9DZS)!P@?BgK0T!Q$*1&2 zscYjJ^&gsgUX1A>ZF2u#=>$Mw;vawLx)ag~aMM*gIWtI>7BrWtGPoz+%)rd~v%mSN z>DV}|&CHw_ZKkuwE0fNMJL{As7%Tf}eIg|D-u)Ko0MTm;7oRJQ|Dv&xGzQF;XZMep zguo7q<{1&T`ghFbX0HLfBviY>UxRB^S51USGtNc;Sb~fS{=A_CU1JfCCPqC z41G=OE_5AaW4X}Rj*Qe0bz}XBZOym05%A7dUTo+ZyJ=e1hq&qhXOq z)9Rmp)*x(zzlshEU)Dx?R<8kc&rNr-8OE@nbX@>U1o+uhPymCF-v*3yKrx>WE)21$ zI}EL1aS+BTkm!0Zz6SU<9Nz6mfXHSa?c$9ZbW381YFVXox+JbXG>z+KR#* z79?K#IehAJ^4tdSq{#F{r;MnM#M2t!4ehog=K~9!+e23DMm6Bg>~;nl0yy#8q!S?S z{P(q>^`8yQF=-;7kXSNLeQ_VwP9!tDuNFsKA+h__LVqot;^!tK(xEafvFq{4d5O{o zt>tL?-hcS0os93$-F{A+yh`oig| zIZp1uOMm2fKtyU0yN4DO$W|HRkpy6l<4!$u({nF$>dJz)RY(F786QiP! zIro50yTOmd1Sk3Ew-Gs|hVV>roKMrGkRi~%GcjMr#%JwR9i?rHi>hy1P!vj4@HRkO z8Abb2&uesIy=}{S+d#G?38ZCs!j_Y~G7o&%KR?#8sAdMw`y8|zhi@_L)@{clyD zY%YoNVrl)SHZh?F;#NVDVy&LW?%SZ3JS6FX-VB&48h}EQmEV;bXt4%<9vA>VLgZge zD7=RkZQpSM?`cTkUr#d|e2$ZJv5CWRw~9YzJdh3=oX!s2v0NJ3|LEA_%+&mnKuM>W~rP{s8Bmw3ZCKap1%G8(@tP(l-S6JXW!x=>yAXH7h zcnKWSfF1@#C|^jYI3_O(lE^8dk$QK2Y~euC2=I zOaSM8$C3bE4o;um_QuO?^14xPy$v|-Q!R4j&dYwOeM6z$5c$zjNB!q{)B0Me$kb>p?(D8eO<4N%rf*smpJv*nz%IRs; z_X4>NEjrSU>LHHL`<2H#irjWc4@oh2aKT%Es_S2#tP)NU^hu}F;W9hzznR}Zz$(O9 zJ9-KyxRAi{I9P0x1n@K|VxqtGPPG27H<8g8w9Gv-x0HPEzC*UDM8omi+tWqW$UQ?z5+T17QJIhXv|ryjQrGve56 zROWTk%qtE5`O|kN8?*^|=Peg%W4AVW(~Y}L>wGJ?UF$xKg|p7sV3Giz{KEbAHab_r z>KnfmthF$4dCBMYhmRx!2aoCg^eR1%x7zOcHR1R%clV$uwr0mHotC=Gj?^^K&iZGhe<} zk`fz|-_t7zZ1T&D>3~q*K+^HX>-N~I0N?-N<5Jp(M*4JNms1o_ScVauRuTnf?VD2+ zmyz}1jK<^Je)^=bk%a>2h#r ziRZD9zf+N|J)AzbGXyDQX4R(8z^ooZ+^SVw$we3LOxE{wCO2Joj!6cg)U?WQmEjq^ zW`G{4Z>C!Rxk73tqbJQbr6a@T4erh1{tO^@g!&E$07L2Do8NGGvUA6#!@E=d8K&P&2Z**57+EXsv2%dCkm0N?n8jhKeh zC`SuR2c)7d00_#A@-#UFT|Wqt02;6tIr$MCN^hHYN~pomCQ3?X#dDhgubQ~nvD*-Y zbe0|rh%`!bf1B7)OnReCEv|^@gb_5&p%#Fe3-uRr^4~D= z<0~~qGGm|>BrA>v zHDGsu$EEwF#EeeN*uD7uIvM0-navB@{Soh`{^<)Y-7(mpqP+NhiiGnzFDWOwlhi%-l#M9?^A^F6mF< z{ygz7OiGv1uwIRTChq!+ z%u-|Dx5Vmskz^aewqS}a>HdKk%;1Ts6lDd=LHQ8kdU-! zWay7D{Ep~*nLIiz=G5uX`tRdnr~!Ol-+VXR`|s)Lw!^MLy-)yyg0@~UD>ZO3HSkJg z0A&5WP@t-C2P59Uo;b|YHM4!TbGtZvk)A(~XDG$*wuigz;e4II`B&=kgvG|g9Ug!B z{Vy+1&rUCP937hH+{4Mtkej1V4fUW;EE7&WN`k!M1hkUYB$MENhWBKPkWNbfwj_ zyd=?0Em)THngM@E1@OltfC=-V7zq}jz?2hVs1;_+2;j16hcMwtPpUyPr+b)p-ub8| zp04D92cDKll83k)r=Scq9L8gPfQXZtuP}5V(h;xN*TqOJ5*4eBmikK&N236wH2Dw z>jX%XS(l2r>meUU=k1m?kinBy839WBgd{1#w4+cTX`L8!N>6RM0vZs6X3i01x&d-R z48ONKjHVEf7TC)hLTmE&AhQc_UR@4T$j-Z;q8*a*ir%zrp`X@P0k}Lq!&}JL!*jf8 zNX&U7D6JCD-P8F=me-i;2B?Gc1gUM(0HWRD3(@uU=5$vgu84@*z9tXHr$DaT{POjC z?5^(xXY1rbCs>U(Scm}NKp($U?;q8I|LA;jU{s5Ki6)yED$Ddq~I?2KmYhC69+%a{Y?haf+@CdAv*JV|HuMP(9vo>&Cs4G9j#VpvwY+D zY297^=Jy`AjS4R}Y}KjYhu(FuUJ6*Py05;&>^Rs+Ty*xP#bY|0=Wf9HNMqW%~aMy)EcuG8D z78>V=h8B~Lf98&4$F{!YKYa9!#ssJ>L9LG$I6nNo>r4XRe?2fJiGWE-x&-O2ygogD zw^JNm|88ffQ%WFZ9Lfy63S38f<8_ys1ON417bLW@cZY9A9uP<&Oc8gPSAkY|H|;k=zw#ByNyv>N>`TW=Z-F{ z(rW-n1+dp=q4)CX0tj;e8(1+TMCP*W)heX^i5b9z7Z$WCf(?vuu|u&!AuHUZv58Yq zHEyesEGe7h8A$;kCVBA4xJ1$xH7Ji5XZft1o5amsovfFR0K}v^RB52BGHA`kY+9we ztKzhx8=zAQ(d~M^hSSSM(ZPMXS>1cfo>zfte3>4@iY5yVF3Kr^HM`_XkfCLhHO}UQ$0gJuUA!ouUn)bQZ%>vlNq4*E}0JGovw2;~osTV>+o`=31s1=w!T%>5bh1s_CziKpPSY z!)l*Zot>ta0mc{#38|7Y6J7;aYZ6}c0oHJ%yzJtqRb`1zIgIl0=R|1@Bm#RSA+b*5 z{|2oSv7xQX@ZF*KZ%h&>L&Lg;a$2FVMr?_I%xsUFK$I=i#KG?6Ke79-baKW-uq~_jI0r5x>WK{@8r` zFlRhWPR6N@WVPgf78mE1HVvNJ-_fp>5d)Pl*hZU?Rw)_K5KOQ`a-Hl4ULwzLfl&YC z&>F(9v*p8YhhB0RW7im!jh13!Nbk)vffn%# zFQt7`n&cjNte~NBl50)Lp2vI8+Uwd{G2*w%)D1_R8~; z>#sfEM3Oi5trJ&$+!l&i3JMbbn{AbsMFvN=t|MG@58c{2D4(9C1RA zkHgB{WvT0tI+W+&$1bpo(wi#4(E0ZZ-7mINLgYkg5%m?lebe>YR=Ya z)gOG|%H+z|Y)jTPSQxSq8<6n_%3$|x)Tn9 z0olK4gQXiEnY4B}VI;4@1VMCLcjTp1?%u}^B|m%kkQgrOjWN*5yY@6G_nFt}RPMDG zZMFV0t&KlViSZ;P424rMpPF|mR zepEUe?n&;t?*%Eqm4q9#HKmWSxWrThgO9PWTa3Q}Nml&vM{Y=NzV0kZ1FbX0duDTyX>G_UV0i z^-EoM2_~Y~2#Bc&?l{EKr0v)vC3J0C$FM%+AY^7*iWoKjADx^ftk zUG=CVN&&3HP-ci^7~k_|iQhk~{%krO(i-t?a7KsMhuazA6e6>NBTJXTxkD>X(Z70) zB*ND9ChvXQ<;l4_HzeEpQ9|lVa)+(8kreveSMEw~yX%SM$9j!wbWF@mDW(o2*XEd! z85Y*zI57sXPN1JG%vUxcAVllBj70r;^6$U>qqikD-*{oNQwLJTd;c)5pLkZfJ9HJ{ z(Z^mesf?MaX=|U_613*)?vXB(t1k`f)kmK)N!wGw*IKTxekipW3*keuCyp=8e`|X3 zA-y&G$}~T35&(^A**`J+rUdAI(zqL&KVaOJv(z|jE4Hr!9JUHS@oq@tBawyMYXGyy z=DNC%rLO@5H2gBTzLdHE$P;6PnTPzPbgzAN(ymdjU7A#l9zoZhNspF>=I}E>Gz82_vY)Tpkhf zVUqQnfMW^@VJ#Bw%$nHkfjpC{ptpC(d{Kuv`?Bv?6ZYVSFCM}Xz14chX>;8!DnR6fLpqLhP zEAJOox(i}S0Q&C$@12V=F*Lkn41|;KKh>o{AI;>^Fz=uf0K*AB^fJ%c=TK9++~egO z*3}x?WKLrDIa&oUlE2zrIO1Uw=C>5 z5e-9aR1C`1(pAJ}uSZJjSf^CAHygzPX^WToD3ikK(tZ6!F^_7$l^j?RwNUF~`ez)l&p@x?x_#RmyAZyGw5!(nESOBnT{pcyvH zEY6v{44z;9D;?o>hrDKT11cEHj|nahvIz6GYa(jz(&BD0>0Gr&1J`PMabRu%C3*|V zv2iW@I4PDiLmdJQgh3J@B_zd)1VI1hP39XP9x-mK(LjbAaa+a~Ehiqr5WieXCM2eH zP>KQXy!T0Is@*GPUlQ-s+qJvT+-%R$gjC_TN)mv)IDuNDjmyOsY)`Jbe0TDii_T20 zxa=%rEFk%S_SbNdALucXj1+TO2DK6Z`+@`jieoY{i$FT`hg5l5FC@*%pF$06JLV<8Rcp)xiO7l)O*NnK(J!S2QOKNeN}S}2hF zm_!ugQ^+!S3-hv+WLX+i1@9R^k6;i39gz6;AAR_`~Lpd9&{Rb7wlfen3(9 zzB$2t%{g0=D=w6Tf=-ur?&#C^P5p8Gps>iRDu1ysk>5_5HwOs-UNDKcY`y<9 zMDy}Q>SN$^5AoSYo)}8*d-RYN+#Sh?bUSQ6fs^Yloo1fDYh!Zh`CF0!B(&sy_5~?{ z)rOnRQEXb-MAWoPDw%=8SDsOO_^F}fG3hV3N>VFaML@A^RnvPvVl%dL`-bE~Ndr9c zgibWI*{bV5F_Dej#Q~%awoTV#mXoKS8&00m=^xMF^8J|7#0t@Hrf#(9ACU(Azx>S4 zlH2ZiP7JRJYa82s)Z|&?smr}?fO7~kDHvXb_?`D(ll+oS{x7|7t3>}LEhwfyl`%;m zJuUfy6yJU9<3CC6duYEg^~uvu{ylAdZfQ(iL|uTRsIja14b)~7tHBK$4ey=8?Lx(b zbyc24Q!0w}7x{7W9P+f7A^l>ejE>KkUKPf$GDH6!)R?zX&#vD8$YC+kI_>bnz7->c zpIVA)eME;4`UkpHdU_=RfY_%B#`*;b09*eE6v?SWl8`(s-AR|f=1f!giNeC7gOwN$*fQKJDC^(+|dTs?9MY(;J>)DF*TIEX-Fj zAt38x@@`n)n|$c~Hz&Vz{e{W3SMO0ft}SJ#tVjTOOTE0d+HOSx;N@)s`_%j!;)`-O zWM!XRfyPGR#PR2=3->p($(J;~nU}N9l;I^E;ci>LoS5h}fQ7}y8A;R6Ep;u;FRePR z(NmL7_{RynG6UKsrI4{DHW++Ks3)8YvhR=L>_ zx3~Ao)}mPffq11C{VA4!90YYHgUDjCRH7kvTV@%QJ4nx;CTCf5^Aa6iXipZ0&=atb zJTKh_&bm^4k3`qp6(k6#H!~Ah# zXu1KYPsqSz6&1XB1bzqdxH!z?96@P?#R*T+9rB@WJtq*+M?zS6zD^xQFt-OdlJaB? zXas>Lj=?1HrQ;exKEG1gCo+~ z&UF_U6jhtvI#N$CfN=n&ii`s=CQz=(H`QqKAL@TO8B@7n5TRs^s~J?o%WkYa(sn5l zL)?pOXeTzKFsP159|CKa1+8h8k9U^#OLa-p7QaT<9|s23B=d_4$^QNANzn9g0`vmv z4bUJN^c_`uahgA@`|&VakpR;mumSkkTUX06t!T;JF_xIy2|iq`)^ zWv+Nnp$1;bR{;F$@NdG4SrzW_*kx&o>D=$OZJU+W_N$T2u;nmvW}^vb>4X>IJ=|>{ z_KJQ_7vl!MhkF@(#jNn<<;aI$#& zQ4$4Vh;Nhl|LUG?T7Ym*PfBNwhbOj})M1VZoBq-}Q+h!FbKFD|yvS@l(`ti>pfr+t zFgVXh%O0bX$-@lq#mjA3$l<{uZds@8^U0Vt=->GIom#|o>F(B}x{J6W`N(hHBzt{w z*6uBK!jodFw3ytOIQHxs5Z8LMPI(3s-X{ObH||dkNi6K!-@9Lmc4l<{Q!gG+7l9zF zuN*0a%IB44j+Ejwj1zkbl-6>Zl*j<*ym2q7vI@o>?oWf=3V87aJdWS-gdB(q2b9R?g;Qka-AvmWez!meelQI$K zuK*O1XKk4E(=JjYI_cIhs4qkGh#vAe!Me%jt4fBcEV z$(&AMH=i*mNg~gr!luyVTPVC~{nx4ER^2Uq=NrzolmE3^P&G3>+T{JxRXc5idg=KC z+9XXS|M~ClvG>P^BofX>F6&Rtka@kNaQ;0sOI8(M>_1g-CmUYfA5RuzNjmi%?r@Lj zH$-Xj=GNc_n~F`&H5j03%_~8U3N1{^4iVPA9E}KO&bd zj$+v(5yOxX z_Vm6H)25$a({rQ+yNbTj!qlc^^Z%AxF0^srs!Mi=>E5k-*1jyNg~bO-Bos!q`TyKE zpi@u%${&wWRpeyTNgdkC6g7~=@2j@vQcyK~hK){Ob&!P^P&VJyU=PDoA*j~t_33tP zZ0=J$5&+-+-Xo?M^ZF~pNjp+ZRp0PB)%&f#ewCiw8&Cenrw)sOz?=28bZ5Ro{x)vK zmBG5PqL9=f{Tu~(pZNRR?Nxw(|Is%~bbU=ue~HUp1^CVDjK1d&j@YXJb10;QmW-Z^ z!hj+5`nXz%&2ovuX|mO;RwY|Du1{`NemiuZetioH^|FnJ0%+&}vB%U3={X()zzCx%s9G^{T>JW8~yOE3TCqIJFvhB{Kj{rDS|j zK3o;uj<@*L#c;sjk3V1BwmnYcWSx?!!XG1zX$3eB(;)m9M?)oB@ z%zfV(-K|_=tf{KgxZb?Kxt+$L$$5j6RdMf_r{`cm@NG9UG!x8=Zk;f1)oCSk?-*Qf zC&4qiKg;HoyPwskxy^F;#g4aTQoAx9Pv|-T=)5adg0iF_x+aW!wa@yO@>Yz{&b&NMm_d`YHh5YHP0oESaG#h_1f0(G%jPeyOtu*UR@ROP`KaC)@9~AZ|O1`JAMKz1>Sob4!~C&g<`JTh;M$>H=UP7MtMZm-~sG zI(_eul05E+>xrRb(n`t(p21llwpX_ey;n!=;An%P?yPOt)Tb27$@qxy=nk;4H7w&4 zj}wv6l2Tz-7HE0Gh+uL-d+X2cMmNCYwjg@ynIjVE@3%!=xa%3EiwhXJ!y>1{qya9z zU`O)W%XTMMUwMueSu+~2yCr5hWujwX>K3EmqN^^}CWKc2QXK%)2jUf3R+%H@VqV{R z%j4DK<;`db>9W-IjttTqS$vd@oa97Q$R@bs-<(cKjc8%HX)x$!;1vL#P%~q=^@DBh z5X^7EtAG$v7w$hKq62F}wG--2lZ54QNPq(FI|;7aisvnxtlMTx^z z#pmG_gGpCzsTzx%$|CYN3?sD*#Ek}B8w zzhCcrfBdsQOCEgmpzf&7Svhu`xy7#9kQ=Xv9C+@Cm}=+%a7wG`;6&+tzj{e>&E-3i zOQ1m~%~cz=GAzJypPQ%3t`&}Juh^-@^Rl$h_nJbo6V*NsgRno<0pPDQ)aBbkx$4rq z$^#IsMGSra!HMKi-M7F0u_Goz&)xQBQX>>Sv{RQo@A#VY29hf--e%87qO)aWR15_q zHi{_^FWZ+lu#fG!*DqeJ5VHe(90+d~6Kg$INuPjoe<#!ojmEZp|o=tyy&_3)n~n}w9Ui>{MTp8MLM zlZ&<5csDYf_@VWGSof{bM9#_7shs%nJq8Jc&SZ=3hV%LW_qZD^@~Y@FsRf;=4M^-8 zv1QjjKd`Y^8o1}RxSh3=>ta(^;adr>uL0_AHr1vbBmj=kWu=;V)j=am39lYBl^ zhIZ-@V;o%*wEYg9II{si9j`es>hR|Lyd3BPU@#mWowfYfP$8*MWsn3|Uhc4d2p^(f zdN4S-JvPO)IA0c!+Q+sEOiiNWRGe7OiBW|j!zo=q=#uo`8l5H*en3nBnA2PX$e)9Y zQ=ht{3Nzenqksy<0L-_n)=-L=>H2TlEqm!)+~pW~a0`(Es>pfao%0?v6c zCpeKlB*n|*-SVpdQtpWa0ngucDE+cFvn^zu66=IRV4fGWcP4q~=xoyJQ})LEl> zp;GIAMcK=Pod&l9T~4KkQq}Z3o}cDg>K4(rsc)_6ohrv0Lc@16qd9a+xDx>?G+04fAOb$F@K1)~Gz&Wg(=8pY@m6=BPVtB`oZDYi; z0(r?3CZi1yo28eaT*7GM?@bQ z*#GJa_gMe_*B`vbHua5?)AykN=$63dt+V<#lGz>PVK2e?z3fZE0%>C=U0vv9)>E z_?!;6Ya%008t?O29+T&UG~@Sw_^4g8c*Bi*Bo(m17*4E5$_$K{cmB$2RL>L19d|t? zcpWIER{_Gfo2H5@g@R^TW{yxN(3t(v|2$!^r}RS7cfS9qHr?x!*Ij*!-W3a@-P4Xg+onYvg7p!NTP^S9~F|HkCT>-N|>jTd67jBEYh zuS214{>y##s=@RO-)xROYd-G?zN&Ym9-bwkPJ$=YPU^-|A6q5qhs~0F_{ax-S$F?8 z+SOD?Rb_Ln^%I}^vAu4!_lf-`-3r5U#jMmovl=+{RZ+7XUfy{7tWpwUcNJCPYYeeP zc>Mn7Uzhuv*?jAyVMKOVIZF-k7`KBj{8|_sKVAb^SeRX0)TO?~uKA^oPU-u#&2zd4 z&|ngD0VttzWl*;1pouO3AG^aKuIV6*QkJ`gr2`rpFrO^)A&q=Qc$Ox>95;o6+6c6v z_>a4Yda6)(!e%GUNh7Jxw|P-hL{{pwI%;YKk7q{pM(`eNAQf;SBRd(H(IhpmQ>X)n z$Fy+L(?ik?favHEZQi+m#ZxSZsPWgx80TF=51aHMp|JDF}fNuC`0gp8N`m9+)o1ZV@P7m99L|Fsbs(%tW2?tfK5y(J7Fp1qSW&+|At10#@Vgw!t;pT(wE($Bc~^3orsa zL7iP4QwRDB7(nf?a9!58%c}s3i#oB^W|{ZyN5}hgg50ICxbZa(+K9j6YYrv_qJA+v z*6M2x^=%dCL;5Z;odDdm=B~Q3vwl(4hlr;SYS=eLlys1O=>(uN*GU4@XM55;fq90_ zAqNFeWi#%w28mpta3VaMs z$AVJ8MscMHUb;ZmQRuvwJlZAk^eH>A*rfaIRa*BMr#I+&6bB#Ng-7}7h{mn#u054b zW5$&qyK9O@M2HOQgM3{G7%>RC9Mx6Fo}NzAqL2P0#^);f=tEqcnPnc)VG246Mn@*3 zHrkinU@jV`1Hv(Zrr_2ZQ|nE8onuR1GAIVbx;4%3)R$`gufZFzSN}QdRdgZ+P{kxMOhP*=Ws7{@`wxxj+Zi{#R`z;AHBl=uD>abSK=sNf19`Md4xw!GvI}0 z#~=CaHGsvo&awGXy#~;`c4P0r;GT_bo!#wHz;C%D4#_~etVNU|k)IWa4xxor=kM&& zmGkj=`DNO*n6X3nr7-CR2>^wQS_-k8ZhVn62qsi#w!YUSx#U*D-$=PzUe@2T?J-yULeU>dMJdC26NgY;D%10pe;sN;c0)|!~EST)1 z+~KJwjOP=4!W+Upy?09T!sNd(6Trg-Kz;I;;>lxDI>7)ECp)7D?25|5Lrx)-BvE<- zjc$b+SPq+)(^H0Y#gh}05CJ5kGlehIhhxd?0=!e@@lHuz4v&c-g(Hyf(2x<_c}Pg- z{mQX8ocrtTD4(p(1VwNZm3?9b1b)I_M@OODp3LDq9pP)V$*Ix$ug!9mLMq@*>%ZtB>dfF715g3>~Ei5P+ZwDIV_ZfB4;(1qlS5+E*Fcf~z?gzUzvj z)+OgEz(spDC+F(@`E$?gGp+NV_{aNgQ@B@myb&8MHIQ9KdMWTJ1~%)@r-=T=Ob+QV zV@D)D{CA(bSBv#k$-{exZS(wFZ@xW8mEF-+w%hFh(H(#C!9<^`6VEUIz8-AIy(N-xdl#e{|=wRv$mT z`x(2UfP_MquF_=&`fJKi3Kz4sG^shguMnZ$7=vx-3z); zNQiJNiT!8r)jv`Ca_a(Mx7H@k16q+gI;6}*RkyT!)aDS}P|c6cxmE%TAyg)~>z6i! zr`1EbNsOs+%bx}t8XJ^r0xXIDfRWQD{>H|qOkDE?Jx9Z-WRW$fcc!oRD&lAA4qQ$(R+KJb|ativ?thCUZ`*c<-Hiq&o(=bFP!&!##HD%E>Eu&3Lyo z4`CkApfDk2$uDVN83rEanl*auMdZNrptuXVdww#dDwYVz4DPUxYjeyi0S9%Low5C( zq(t!Zssrs*b?Od2`X#S9&_4c}13Da#(n5Cw;_ygp)OISUPsdWeQwmoo5MJg276C?= zV7RvqAQB=~G&wyW-KLE(VOG55B2=lW0p*!!OoZt_SOloXu*V<)4idPr)zpVf}=zm+&e;^|OUYjSNVK%Yqnz zywZe}$dq1TajC5wyVnCDISnD6c_G*OKcMTKoBCdCt^ZDg+kq~pvNn`)N*e!F|7)aJ zkyoU)N-;{#clgFG(?<{w;TC!KNIJ>#j5m zgeBV~OF}@l70Rg4LQ8S@6%oSIQf4R78pJH#enN!+?(xj0?RpxpyJxo~0H$@nZ&LQG z(x5Ptv}rYo7*Mz_0MeP#K(AE`0Dx+uK(b_PODeBXL4nhg{ZQZ(Ot37%Y7B)pLqTN> zM}VJ~hTSI~dm(w|$%DxgPaTlB+?wQ#ufNPB0^afF%Z&*T5(yrHEk{Hh6#hZ+{?#QhJg}R}IkSkeL)8^wgO22sc6ER8ByU>-L^Bh%` zVWB#t)0{(E@c;7<_Sy>^h@)n8?gnMV& zGSga6{_}0m*opAI=SJ-btq;EIQY{dBR0fHtHb@Ijnr)3vZMbv(hq?>SlXm~~-MtcF zKAL>vyN{a=kSy;a8O3sBfK41lJWaq~%;+@|$^W%mc4?v7o;>vAgqSG{$&=5Fiy7c! z>gmayCl`PEvuBOz^2Ad^dRlT_@~=O9wQVq4k=#J^ch~j}rWkPR?_F;a8z2Aty{6C) ziH&sV2*k$i;&ttIp*V9|fIs-?f#m6Z;ePveF&9om5`b$CkLX1KBmo|jw*JN&-{OZ` zASR|ej`HxbZz+ar;*KSKV$hhXUNJM?e#?dS{at+Sph<2}_f=*=*FB!yKW^i|KS~k; zCV)xgI8wI_ffu9-TL|}gxCm9+gp9uq$j5ATl!bVV+1WIbhL%G`Ns9Gd^hcoPOyet0 z{2jg~hb=EUr4rZ-H=?QJMUG`E~0J!m#^QWyY`dGx4-*ncpc!d zUR&V)I0dfBD=r0)LQD6g^P6yoBzu%+avlmC2zgu zGF@F;XN>G3UG9eg0*wcy!{Ki~`va2zIEoZe)GQ9WVz1OdqZ)WMFaR3Sf3k7mD-5Y| z=U-`#k?{EQcDNj(+yxweMdRVvj@QG;pRnR=8RIF&>%d^?_}uKV`R;DL2B3l2w$2R3 zHn@dBn2j`|_Eth+XR~dYG}8r;Qg5fb8r1TEPdF@(KpO6B^QAOSuvI8OZqk7Ec0_Wu z>2E{imLkoCO;8HQW(+H+0{r`Spcl(-{t+_nZS0eTlj?eHkDhwf0{_Gq zQ?1d?!8m$Z78cr*17fZ$s{e3ToI2$xGB%l2n;g#pCIxVt#oUpy91~CH`Wg}&i^2o1 zr?ib6L5Xei!z_Aj+N6N%sEvEH_bQ#h_GnRG_1O}RWWxNK5@Bit2=*Ur@lq5=P zV}A)jFH;cT0D3Xd&j53Vmp4|g?$GyWD~(dBnB&+G@^l?1|6>!=rW7%2gVI!|7|1wF z<(G}OWnrh7-RV!xxWRXsjvqA{ux5~Cilj+krt;(-jM?+gVZ87&sG0;;6(%vIHB7&x zHIP~w((`eWd^k^)9X|(=34Q>az@D*DvglX>Rth7Q`gx1`FMaG!^xZZ(o!01H0=2=+xbRQ>LTE1zYuHQvx6opi*IVx&SmFg+p=K0$WbS21siLiuGrE_bfp9 z`CP9=KpJ$K1hBwJz|m!*o4vhfYhgU24e#U1N2h;G%pgvAAjfqdAJZnO0gS;=0zHAq zpM-QRJP@LEFeS{WV0fuUg&A7H)7Jqg6DD7%I+4N7;{!E>GI7mIQO>9qXJ7lLpK5Wl zD!Kcfr|eGIZ@lX|ZGP4z=j;E*?u-_KXcbrPF+qkUr8h0F7u!o;laV|rwCv!r_68_R;P}#%USVmzE(ze^xgECo zfW;gB>;ztY%S=YUcaSt6=m8l8aHQr9={$J`ozj(qI(~=1R{ux=GMZ8_JJEW7wrPPXXju}Z+&@6Acf1?Ji_Vy$niK{?`Q6JIQM4_Um1{MEFps=6~U^; zJcc}7>;H$|9q#Ioq}Q=e{Ts2=991g<4Fl zZTRFE47{OHDI3#f|2sc=!Zsj?z9K66zaN}5?eo8xYM;OAl5HlcT1HAS3oIx!qi{zb12API2O)n{sx-*|boe%&fb3|wvs z4;i0eA~cl*XhMs98}YZ~-%BW2)8F{}E(0#ho(;^kSDt0x-z_)ovF`^4NR@#kPWoZK z{ne-MG6{%by-N>6ARpJrsVuiztT}vbxHn-=6NQ>tu2W0*5nJ?UJC+t_eW`{90J=-#Sjjlbt=U1=L;l_CK z=YRPfF%jY`7%5(-*Rx7(_fn0ubsp0Bx+C}?Q;I2d$nhPWF! zVne-z2*4bq1BRp+8`}o^lUqMs&S6mp1%e# zx3sisVQINTd{tY8DNFmWjlU*5<~$Dl!%;^d#E2&jjOhSoJ|D~!gNQlF0+d_;TkeKD z-wTXj^14kTA^@JDx? zBolVRq9A~l)XrQnmv7*IPcpp4ONx7WOsh0xp=dl{@bW~_sz6@*J%CM z2H6&IRpqVBxi%u4!1tQ+zdoJBuW$0?7$@?h+Vl-e3W2-e+$+T}-f%SmT?G3jUWroB zk+D9V$mH7RU6QAkg5aZBcw!5w0q%Hn0?N}@yaK|a7ZxmeWOuzQnz;;j2=fGPS3{P@ zwESHG=;KEzrVyw>dljee`lAi#4`GYaj6UL>m>m9(q(|z zuIFQ!AD?{sh$O(4?WDA7b887+0YB6;x<4o*OgH}c_8MLPfo%K!#w7tHMh;8>d+|YY zYwg|c(@;PkD;te3jp9xN38x1|;X|lFTHiroaH7MgM+~SjjdL7Wz?il5R8898VcoG= zuLdAJ(5vrfTK#xlQjggp#rJVKHkbb*CPQ&(@6BhTEhHtD)j3m(?Nk>Dxi4 z)E3b<(7#SnWG(0>kf=W|JscDR z<9Yx_lLjV80Hm49pGyKD5~jS<47CNf|pJvU?=*r%U9CSq6r-^an*yZ+qjVCfau6 zwddF-s9QmwZ8NmS;6)KZjAxysxl?9{@SJ8E%k^njWfY}%NwfW#n zYbsBWlW zobRVZ%h&`;=aj5Dk^4B>!yk zt4x$foXkmoo?2Z}`J+T`=NTKt?0mRiCt^qVN6Z#H5rgl3Z383d+7`5-AxY^8b z6dIw5DN^VnAvxnGE+12zJGgs|^qI_&OuY#p^{jZ8)cE09-ftt55wzci;Py|KZ>AD!|$dyv)J6 z>cj85(eCE|Z-4p~T_KaCLT&MtEF2smm9ji>be|5Esj8{=eW zlT^O+4CuV$WOPs)!4v8wb<4^@bTvWDnN4D5-1>o=O*g@I=|fm8Mr0!fGvmwOfB8-; z|09p=lP-m69TF7@3S_PPuGBy)HSlU;0JKt`Dj2>!AE%0LPm_J0X+R7|5dQdU!|j`P z;`~oeGwyfW!>erI%J9eVz_`J!GHEznUR<7^J+{!*xq3ldbcR>}gg|@0g(^yuolhM# zx&SPSI6xdFzT6+?Oob^rjgdoxtNfNifi3F-FwF5!*ci9#dO~}<24+#bB&h|xWMFww z0*uYoZ2Zj|!h*-$K*etSZWK-w#2W|%r*3RBH2?~!1IVCo7#g5N9~|;F%|CN`hn4%O z`}a#EP1^hq=sniynKe?t6J87GUIpjf&{Y1gsawa%$x>G`D+z#Adj9AP=?3W19paIp zAcls>B=xhD)=ecci*QQu(4`=t2@!yvvZ3cuPn>mP`)}xlO(}4)-44l5f^-mg;dq}6Z zJpIM##i~>IdW8Qb}Kz~wJ1_;#H(swx-rJ> z;Cl&vJwvw}WEs=$ZnqmGJGDYFza^#%U`!hwHp*Nlfl16J8s&29wGl-kq0xexehl-7 zDTa1HhXIlsj8>DxLyq`Ut*{byWo=6<8JEya-m zjf!1m8pTzmdC9|}pIR;}M_E`sfvgqK67RYI7;BNRDEl7Bi48MK9MQVZ+J-T1o~ncj zr3)*`Jnt~m*XP@62srt^TmoQRuL7V9kMGf$+(lgeDgg9_R{`deX(=8xCD9RZt=9kb zk_=mG5=s$Bos$=urX|G#pdL*YU@8Om7yxxG=YXE`a%&!MQDi=WXg}@9a3vH2^{Dk7p;vNChluF%(Yt9cj)%hXAH0D~+6? zTA@a-+>!kFwnxOt zUYGp#2X4~hXhU-8g=g60S~aPKOv5jtcv~e33g`O2`@=Wcozx%S@uW6P6Uje*?XF~e zVk(({v(My|6C4uziF;a(luU|VYMeu#Ndh<&93G4#2)^vsvk4&eKp{VV^X)&djyC&j zGWwmu2$v;K!&A!_9627aDwhCfx84$|_r{u<%-e&y-OBX$GNpTiMfZc6e4uo$c$7*pp;cLjIu zUw^|MZM=I;47eOG+Mkz`ebV;L3F}wB^{{FCM&VS9+G&nYCW9L&hjcsS#HQ+!*XWL? zHrH2Nv`tTI_B6Z)ZtsoX^_({K;e>TeV#s!aQj0bq7eSl?KlsT0WUm&--0vRH3Fimj zeVJ*W-@T*Xl*(0=nQ)rP?wpH3@w>l%xfF^nC67HfVGNLi&m2fbR4?}YTO%Z=Gmc88 ztX|ot19yrGE9;i03%}D^);WMoh(cv$C{ULkm6`GI)xVi;h5{PNv zs+07?5B^#QI?jm1l=Df{rrOuUTX>! zH%N-1nK`C;^2^_T)K2~%ef)qiOV|W9GCuD6IOedWT}*UYdAz|Hn{i`jV@SZ@|Mo=r-j*2$B3H1`n_{(N0gS1%b|ImIaQ zd;Ym2$#m2iF=pME;#EHA40!(u zX#Jm8IUm`NSpBi&$k?o&9z}60^CksN@fL>w56_B2Z3ItVFClpbVi39(q%q-5ufHPM zxnomu$%Q+uJTL&N%)A&A4?OaMDWLx5HyD>DOj&dl{7U#r4YXPVzbFgiIHhY5uZ zqW($AAEN&q?OH%Ux0nH8(hnOKuL>2iFmX{0PEDF2~z*ijQ=#d{Tp+;h(25F79&odpA#hReREQ@MW>aVw6=2R zcUbSFbE?Yw&zZ8dQy>dE(CUu#0e`(cVkU|KS7jIvVMMUGIwTQqPWPLgpzwVG2a|x! z7&a%(YzX_;_k?$>wV0#Ys| zx0tLUSd7cvZZ}NWVq^=rs5_Xjv=8F*NN^may>x=!s>Fu)-(q^JKZ(f$BlZk2m5|aH zH%X8M6H{;Xq#8IR0ccX*`Q>yk>m&`oG>jo`A4jtd1*rVAGa%TD9CHE&R%3N zd;LLL;~4{B{%z!C1?H^^1KlvwOh7S;e2SXA~YNnFquIo0Oni5@W{t0c8(*FH&dAknyf?P^OqKdHp~}r67RO0+2-H#bKBwFAElEx)xxx-mKK(_?!0PCdqLv_XdWkcE(R%HNrEbav}+t=_U76%9Nm1qGz)u*JpN^-_`~Gc`G(#WJS`;0kmw z_y!YgE-fpq@H$hH&i1u_ufXVGVeZU`37)XjapbQ~EBaS+GY&yCBp?%5icRi6j z`otl<6}>+>_pGfpsUanhh$RB-J6qZUwe+;I6pU85VN6Q%z;CP#?|JM zitsXJI8y4INDHTBF>zpULoMnjH+`!^i=O_0K1(yMDbFyYyCyE_&MW$=T#T{`Kw2ZFfDJ9M(dQ1y)`@T;--yi=`dA2TkGtDEj+> zeTUW0ma-GbkKTGia{U!MO#xx02&D?o6&g12AN$*%CigtJ-xv|4_m0zgj45KFio^mE z13$a}Kyuf;FC@C{VVn_JFesF{z><5M&VFw)yGAvt^%%CX2 zlo%2LNFaoL2D8s}&(_m>S5;Tlt$VA=-}nFd<;j!hoV!$2&vegJcGu0!KmRTN%#-`c zV*_lw>T~AgLh;O#r;5)%bEdfP4o^ODg2-2V@={8vTfz`tRk!95e4(9r&a98Jlc zIKGbc98Q*e`E%#-+)UUfF5ktj=tvXRqzJhn@#fn%i#IObC?0+2n7y(vNDs+hTAV39 z^Z4oF*{9AFue^EH9(C^K4yqsAspq7L&;1OJQlG@DWPHwEd*Ol|A5PS2G=ZHIKng9C z{s}pyKZXhafA*jJa`BB{daQWj(UZ0SIB1f^N!|B<@^10M%a@Bk_y<2Ie*W^MVgp~* zNqI&&eAt5HqC(z|NjF1*!3>**;~$;;j62u(MH?^;y_9Cr_Mb#ACv2h2@O*oPxanUa zrou+!q<~(@Lj|#tlIr8rQ0LDu>j3NF3fix?@NWCFpT6HF*og))$o7-3b@3?vbzCBN z1Uv1#qk)rjx1RsO;+Pe9*#h7T1s{YCV>A6t%9xk=}0GHZ5_v}M9 zVduoStv%;6`q;zw6%T#tMDhI}U*G}OVjZV$?6ZeYo-ZDM^#0;M{F`5~FD%W?wlC1~ zRU0nAUcp6)KX`MccpHm{FaPZIqKljV*Vk^_SlISWQq@(FBCM=U9`Xd+Q;L>l>Epsw zoLGAt`aOX!6a1aO{f*+e&pl|T9oqV0E?V<0g7+}i`|tk8e^C6{zkC4~0Ahi&rJt~J zS>i^MPdV7Xt>0d&UFMjmH840kKUaL_OV1j=H-8Sh;55iy_ze{HF-k-|;AhG%!N0Y$ zwfRrhmVXvL0d)6e@{@7`K$hpzsV6oKE4|5&k9w9!xc)TaQGA$B9Z16`Rk#S&9Mj~4 zuQ+{6XM?cS-{@`i)_c9pwe8OI%=Yxm9GVXt__x`nzK8Rum zilFWW@cz_c6lfDBv~ICoCl52J)03ZevXJBo5(mkK5rNK)zYvB-e-7GWV!#stSOB1T zoFiqi`Q%UxJPhb5Bz3M#p&JATjwREK3VV>0mS(NCNimS&c|wT0Cn@s18-x|092Y0} z>BQ^!PV3C<2JQynM12Q4hv-N#K|VKq!UmZ$c*SCvqwVK$gYPUeecyz2+~;sNfW3Q( z)nneI%TNCBeKkKODvff^g3DJPhwG4Ys>a2S&@?P8hsClBVAdCh4UsRF^2K)7>XVU( z#VqxeHbk$KPXd*=3+yUl}Fn5}n55B&@lMKA!x{ITp^vBVyN#73* zhPuVwvnl*>*PVLrV|5!l8!RU-z_Oe^z#;&?jEk=Xz=v*Qo!CJ6oWLZP3p@8?C!UYd ziDQe_ZgW7+d|K}`B(t1g@WcyuT;IdaHyNGA#a}ykrKIg70P7ETE%|)$89t2#VBY(} zR|0Sq?$|cjPXg-39oHo;V%gmvu*r}e*3EGD$K`PHW(B*^Jgu=S2RnG1Ho)-2xn~@8 zRiBe9y^DM_u;VkqUF|D)4)_WHPhs$DMKh>_O}!i!k>)T_z3NTQf)&#to!M_mxejb8h|%G&o=~Ks<}{ zbAY@pxsQSI90rsaFi{C4@)J`_hy8MGbLv5Pa9hwUTxQQ$n2~kUene&IpXzccoJ`=AN0zw`T2@x33tQ+((9 zZ`$XJs0(E)8@XPJGcUYrKqmmG1b3p|ed{vb^Peof`KwPApL_cL;`uL}w;kI-dhpi& zzyBvM7Jq?V$e+CMK5kkc<@K4E?P>seamVVy+c%1rU%y(sfgRqTzjn2F^i#*|dFJJa zLyFdRxVW%);^;#0{O8XXU-{w#c0%hU76pdyG|O^TwLXd%C&&*yuvDz#qPy4M!l$$F zdc$R2mWYA$NA0)}u!70@4}OXh8>oMqsC1X`3d%!coY-Lg9{$wP;;BbZ*}W`}JaEEx z^qD`tAKm&8G4q^B;E%hbJnsI&D_4r2VF&yn@MHZMM!6-KlT*fT8G zEKRA2pX-&!6I2Uk>0Bc63X(~zM7a=7Cv5{sB`=OqAtOmm9x#;AgdGap>flv;Ztn&r zyN^C{9~K$=wxBiWnEj&<-B&z-&4%y%#T&R35ElyKdGfNtMS@rmn8OJGE(}l&PT)6e zrx|(9^l}?e;ow3>*b696^jWsHuzGnJZON75`7b_f$KyrTa?zeF|<(*>YsGpd5^Cje$JKZ?Nxr2qn=(ssV zyGD?VEwg)q?IA@XqSIcJ#UY%gICuYv;=lU4zgc|km!7r-mbMcPBIoD+{)hkRkBV>o zv!4{Nzy2O};IVL4v#+q(h2Uhy!3luUARkc(HRIp}z(-{JVPg4|>d74xPWhyGg8S3% zF}C!a#1l5?&#{O9l1Dm%691GkmCrEpgywn2z6P+_>CAP|@EDHn0gE;Vq~g{9#oTs`nA*4jVD( zth+EmkGm2zK$=r((kIQonM4B|IeduXJw zVvTq5<}i`rYCJoFK?5mD4uG@i^WIzzGt+7Qmxr8#voRFq}V+)qeT z`Le$qI- zuJQ6B-uitXF8>;J=kF4Z-SeGa?$T`SabjqCU{WxP(=(&$(Z$7kYj`FuG|L zwozl)AVswuE4*9F-A%r8&eH+BSdd4=vF2(!`h)HxATN6l7tb@_p`OET9Cw=84)A;2 zq+P-7);8hcD_eQ>OqKZv!`$J%exr-_hdYaSPagLr#0BDyP%pKATqwSVL3DazgLhH% z`mwa@go@;nk3yy_#_gCvZl)T|Mwq zy=R6QZpwHQtXZAA0Lo0LvuaaEnQlvOfDdAeG%tr97LdBwVPCcJf?Xuc%Z3^p$9P=q zUEkm-uSI)(Y7Iy1$11x9zJow~^^|p+mtOMuT3%VVvC+c(Y-@MrUj@Jk87#8he+CP% zc8ACCTmN;mp7$bfhn?^LpT+`2yHlCSC#H{O^3qH(#BUM{6{oNu!FT>o;Z7*t@5HfO zn`3$Lo*XXNT*9jnm+)!?PjL`_;0`RXpBCWm^2gojsgbWIPjUK!(H4TsE{wBvPz#}S z#z`l*d~SmhN4{FwJY9M4ff6sz7Bw+_v{cjz}~^90NAumPWix-=Lh&2f$!UKH4{YO z#mOvvyG0(pHBRtlN_&NX0)b~>{t%BSa0Vp{;snRL0A^-C1zk4K8LS|Y7a-Bcz!HOO z>gVRBhA@@-+jq0B;;{o?=V6}f;w(*Xc_ZO&PWUy4rmU; zubq$}O0+_hVciU z7D{;gf?maRCPLJ)JcD53bMpU0xb^=lUwqIet-OK1&1vV4ljCpw^OtP0#CLv!Xq#XX}eY@Fq!|4{{1iF;?Jex>BmnE{31cho}a$@ zw}0(PTd4TV|L>3O&H-NFRsGDBN-E`WC&DU;cHW%y|KYbTpqfqCVu(+6 zhv_#gyEO0{+Hd{j^=o$Wv9xa&ekR1C3XxBycNUHKwLtP*TUs8^39|IOKgjh9%DbmN ziZN3#)iMp&xB%ek>ZeStn0dq)uJLr`dHny6zx7k>L?11l`|Np}V0%jQFE20tcm6Hj zwtu7e-~Z2liA5Z|o&@IBOG1XLLSZ3Nv56@WbSe4!II@hVA-=M6;o_BIWo51S)}Q?x zdLApj{!34`o&?Z1=={0k#ee_b{7qx^AWrEFTb$-=Jpb1}{2snavs}FT>ifmc6#6$U z0EFyBz0~1`>?8&brRWJnizpzDa$x_nrUiQ%bwMr_q6G)Qq^PRlgklId=)2O z!on;wGE3?6bc_?Xw>P^ho4w7&4lescoXwCoMT74G;DivFgtRzOQ;w~nLZfdv#Sb*F zAb-*7#fFbj{8PinL7^rS#5cvAB!)e}yb;6Qi!IHPC6J4ihVMZ znnYaax51gjOaz%}I3>3*c}TZ3Tt$>5`LY6iIhF+%F*bOi4&L+SJE}7{g7GdsWwXA< zo0OM)#T%Wj?e=3gaFEl9f%)0PxU^@cIM1&IV5RvCE`Q?c`4t@f<_?wJ%a`ckJf)X> z%3^h*KUl8Q@AWs-N$5psr50|vSO?q0h(NyZ#BA4D5JUO<##oF#Twl+N{9HPpfr0hk zACqY;RO#0LB^*oUj`bkNool=G9~169z4Mz1;SS^p+&+H%@Jw+8JF}cP4|3e0z6u>U zVOzy(06hA?pN{Pj7a6$2%kORT`_%7V;wwspeNUdZZu65=YHHeKGo3rl{1!LAL(kIz zXD~_R!V6z};KY;1&eQg=Y)R+Cz|edrxP2r;d|i{$`AOe0@~wIz7oLlVV&p1 zf+tU=@I0JD`LMm^t5;lXDXh4B!P6O0o<ED5l(u z75xs_;Xj%woD4u?htA#<+VQ;t{MXL0=CRtL1xCfiNjzxi zC~X3F0nE=of*UF z`0lrVj80+(-?jY$I*B92U;X;$?1Gym9Kmbr^o&>X!%La|z2E$z9d-TnuRV>$h2`RZ z`QQH3j?;Z`+25UvHi`O^0rMw=xIM*IP%nKJYc<^}5er(5l_BXwYv{tGapCl93O_@9JP#4ajoYsqJ#kR$3IY@lG`LDR(67%llY0+C;*(r(PLi7^tb=UbGCEI z8`6h4Ui|lafB#4J$-EWp{8hCNl7iVIuLiI*7b=f!|FysN8Cw8gc$l+02>!{7t_OBi z#D{dsZ+aS_iJ$6AQ<`A3DR+3U;G(zR`Q3kI&+j+C`h*=D|E+I6g++kjx{}u{28T~S zcB<$;lI& zdYYYm=N!tIf8JZPVOQaHnILund7n%_^vA+T>u(xXI?XuHlmipVr9|MX6hFb&6`1c| z#62LxKL5#+6Tk4ebHy!uSDl{#<>Jdf{?-fi&w#RBqNt=@ijrwKYa5AC>XNs6#HTAU zJl^`N_ErdaTyXhWy4rgs*CbaI3HdW*%TUM@0Tsk7#^gLbiKovp4U#08DEkRO@Zmz` z#S52<6^uLnzkl&^aqjFkd1=2Jq!CJXm~yQ&)fdt+U14`!|Y<*rE3Y9P$k^ zD{>{zHBgeq5jDL6KzNMu(}n-=kN%Cl=J-p`KW@(r$2e`{A;OtX*M`G1PNaFiz`MxD zKmOJau{gY1%pE#ZEX_2u&$MSKD$=GAH@j<`n?2?e_U7dOH-6)J+xdU?=?CoMzd@%w zUBAoF?|SivfA}3c`p?fxAGiYx+$jruoEHEF*^E!Gn$I-cM&nPrr*ekZG*Tdr&;GnA zW_;Kmbr3({0#tD+UnU4YMIsK}PQTyX>TPznuo$q_>u+q&%*-%tf{iwnwt)wvvPFHvH-!s>1Fjdhp##@!wQKzvfiu*1gzw+*X zgG7QdGmshczyTBA?WE%+XERtVW4&939y9zp)c|*k@1+B$2cz(_RWoyHp4+TZXEw?L zKuU!%HuAn*EaSb>g*80S&|$l^?xvJwm>aCKbF;<5;udVbP%Le37fYB#?aNM3gZWFz zcTtG-;Z8a96>E4meFY8VEtJvBoR`xK>er}l2K~_7BFg2^LU9Onk>%9EZep9G*|{3O zh=tubd7?JDd+0Tdeud2l`;P@Y zf2~f>+(28GiTng8U;X2AeG9gmoF4K32Elmg#`IW1yRd}I(3-AyFQt^)DnEpj?U<)q zvst3XP!pe+mdJO2P>~W$2~I5+jp5I0{ihknfx-F-GD*iRl`FRj{0} zRri1^d5CuA=89F+DULaA;;)y#z7{yThs%u7el6k>=0m8jhj4<03sQ@R@D&rB5TIC& z$1vuEuW<%|5*xJ(fXKUyGn87N&%^fAbkWD_smo}<7f{!>?2ag6?cQ;Boq6VS$7BB- zf6Xs0;%~vmWz>0oX#pEgJk@pBeC4AqHRxYv!%)%%fJ1op4j(%L+u;-iUb$tTxXu%x zEsiJ1meC%qtmEV>$EVXXcwQP7CtB!vnu+B^pN{$HcQ-vBEi{9`9Ivv?I&dFf3+(NQ z`e^MkOn0T{K5KLeQw>6`E+SA6+& zr}WZOc%6mC6LX(?{rBs1O=D8YhP5*jvd%jI&?$7$aC4V`3ll{S zEcmH99`WmA5X*GN>2KrKWA-5&gjyU&@VThq7geDXuy+sH=r|oW;)Mr&0r#fSP85KT z#pEO1j}=k|^`p;|3ELQCEkoyReAgJCn_^Cp&VQ4b=4esm3bh`Cfv@zXh-^i&3HLA%V7D|ZS%Qf z1Y?dw?z$3pG{H1aC#;_LamT^PVg_gL~-%-6$jS0R&W_0+KE1I;cgOk0Na%Xc%KAc zDOtoT8m!m2$8czU$_25{;^!q<&xXAMAX>`e^K|s6%N_N3x{hy^Qx5;y9NW$go)6Z) z8T5nfW7qI`wbtjqjZq8So<|spdC+GsTTm-t_W8GY2`F@Legy#Nm5HvCQ{G7JSVh|1 z8o5JH@93Y3F#rHS07*naR4&-EJzB(qC>K^2u)ymZJ?(a5J9M2Be=OwMC6qv&!UQ$; z8_;2kCo#v?g#>KFb3%@*{Pmm@{2UxQuB&pviS}UOBYs8KYefVX@D~b&Kc+Fy5>q~I?Bgf9uDAIfu(rFVO+g2!%8QNPr6|80Wz1z z1G_OlNh*> z=M*OFHi74HN;Iq;OrF_bO=6*g{uF&q@WX<@bXWkGz{H63lh%P@fYI>@#spVfZ9$-1 z006-7EI;fhpoJ{}z^4qRo5sXb;~ui$HfC0mJONKM9jrdHgOP2pu2S@{V!N@qPNKa# zu9$Pjbnl#;Lz#_|Bl2UfmH;v_iS;SuXMEShcziB7#hu}rOZl+k%nfZjVy=M3Nd}z_ z?siiwMqU2gycNFPJ)#QKm8WuM!fr&#X^fEaA(_a>GLG_>?Zqg(_Cb$P#AG-<3^e_D z=B`+9%nuh3;kImrG{A>=Y)g0n+=1I)3-GbvYa)ECc2h2;HYgt~NRQ)g;**JEIn)83 zfZ<=OQ$F~-;E$7wX-x3OdtO?(TLODx-eq$Q3laleOPiw!{XkkJGCzB2$EXC2(V~px z+=KpJbHw`?&_LN28a(^MIoh}Er!b;GU9{c>zB%;!coQFHZs5@X8pqr>hSjrim?gM8 z&BiCm7H5%`jgB@*Vs1 zw9wehsGG`oY~llgd%*(Z^;&mVj`Y0g*=^G<$7_odp7Rned8P)>C{W+-;#{P^E}>goW;x3GasTC%~4 zT^StfefkSeLCwkH!Ydc;d$YI0NdU^MxJsN68pe56@D!;rP(p)G{lhB`4XG`lib96N zmF<)G{0`ltR}-iP z4LLxa=4nmcI(c~vU>S%9V~`))vEx}gR+pSX2D8nO5l!$JEVnM|sLhas0THrj4j7UQ z2D_7VMKGa2&RX0ao3*5^K0C&RZyin2P zG6OUkFwBLWy)y1_LvaMW`#Eo~S@3v2k5z5pf|uL3cxyP8PfEnV&%N?D@GAk;P)=V> zjcOSftj1pes8{h07FCw;2}3epMLzh|fhI@I`7X8Rpo-B1BZk*11OkGnd; z(*Y4Z%U6VFXi`M%DtL@og@9j45O&S4PaKYj_oe<&v|H_D$%j z!JNWVBQ)51I3LkP%BmQ}8j?AY;isW^GKY@g+ZbrJPH4nyKYg9-*$191mxXXy74y;d zyzE8PsO7O28FvG1Lv`7;T4}kg-Jx=c$|axZi?DqPcs}OP62Us?@A-zFw?3PE3#>kZ_Mt%Pi>r-$ngB&jvnNT zj^(m?Yt{S&ZRDWFt0NN}Al`Ep_#`a==$Td9r+8jyg0tl$u4V{?D~&Wt4=uJ@?%EE2 z(~iFA>9@HyzSKu~AZ?DvuK{dbdH>}b-L+M`;=i^rH8nHYncx}HNqe8vCS$f@3`W@f zm}Dcyc`mq4ZsY3!7~D_o@I(MIj5s^R2_C~I8tC{w7LT|RFopN@*+}woAg0^9TJUY+ zPn6)$XBdCJ<8NU85HF+~lq`ssI^tlrdSeYc8r$o|+RAJ2@m^!V@yP+EQ#Jtyu?^T6 zhnZ}W;yeAmT21Emc0KO+3nv0h9`XHAu%rFPn+cqzxlcMeixWgeEy>e8SA+@AeIw!z zqP&>zbARbsEK+P2@4s=eSh=~3oxtnBs*@ai$F~6ar zm4plpQ!rqUh*o0Tf@f&M0(2CQa{QRMOML6)i&)5LzYwaGXI9<=?cB=b^s@l)3ooyI3?^8?V42!@j06KvvDpK|&;n zfn0QRLfA*BAhR74cHWLv5E;qKImX4IM&W>nXH0^;lqL;RPL)p;dYSkFRw6)keDmsjLq{IOi*aw_%!D3609PyQV}bsRp=isF($oF2V# z8RM9y6M%s}Q>&8qAlPAXN64Y&Z^?n7XwL@yNE5+%#jThj0I(m0Q?^2(xoTia9Q|o>uJ|yY?HXw`?MvB{R{RKW!Xu73d<_8ie|7u(G$6v; z+npIKu4o zs11GJz1D()vqJ85L#`(FG@+63M^0g;dC}P`0!pS2@GK_CTo|Dp_`Ta6F3#ib3<}73 zlCg{@TGa#CJxNyAK0 z0XNGJ(9+A~g$J=r4P&Za?_<6aNlpgZuF^5*; z9MJF*BflUN0~&-qKRnXhs6okKNU{(|L=(E@jgevbD+xR#IlM%Rj+6h*WMRg!M)=Lj ze_TCAkZ@0<$j&hn>U1KYIWVkT#LJAbppDs*K2LlF7gYa(X-437Wrrk=%ERrK-5kBz@vd zS!zmhpLC*OnCTql6V~*n69V#uoBAM)cMC8~m&;{bdeNWg_cr?1ue^SJVe#a~G`5XlEN=0YKxpvk!LxSYN4JAm^qOf2ds6Fw0;*F+eN; z)Zk9yk~!}3&&)l9j%E!V&TE)!U?N}>bY_G{g%QO&{OJP+1U)Bsbkoq7A`r}Owi}c49cI9z(wje!UYf?kGmSQlXMR0LJvOgiQu1|07=twI>}3M5XPGx z=FIL0X$q;hQjrlBL-+-r)B?nv4CCb#fJWhAP&)&Qs(gi4@^gsn7}KMi0FhXW`hrAS zFMKCZ)bKL_`G7MnIEh3RR`C}5DcOADRP-uSb8s+wu2!smjf|j^sgdgjF`C$mZzg5NblY<%gqUvu==1pxehRi{ zgZ0I1)T~R^{8h*qNvYCs9WhHCwOlg1y#1|ekSUb(O0ExdFf~$L(r}F%0G_UKjq#C@ zi|k^p(ygCz<{lTP1|H_TsIh%&tPYOphcROu>TBx0&E7JOu% z48TJ6dlC^dUi)C*impsk$G3(w6*7{a(k%kgV>M2wj?h@(ySyeLrS}IzGTU# zq%=IDWRj@M6v-~wh_voY08{FWQ%D-F^ErSVSm55az$bYDAZ-OyiiG9xrZ#{uP0Hz~ zBYW-SYsM)&!Si^Ir*!$!jd98mA8m08p5ie)vDNG11i;HTyBnuBPv8IS*KQX z00M#DCo-m`{fLb-OMZR11*9(57DHqNiVgn~3IriX11OW75NM11Lpuo&Gz<1f&B7E@ z&wc`42=f$xr#m1nxW_=iSJq^}kncu0fur;FUtbDP?FB3+)Z;1st}zkGz#Ua2UC^Dt zeLE3ga=ENlwMQ!6l*sIo??{b(A|S{$-j*R|3OYnP#1so8*08utk*O7lN;5Z5LWb?6 zG|1BPCjOCO2#8y{6O)E>{PwswwP6GehM|dkcj#_&@JRD($HGIqz_7(7M}DxK)RV8| z{qj@22J%#U)PS@!-zk3cn-3Q=_%{5DuUs#dS9`^4Z{EZaTDHY|b9XA=(kkX(p3#P$cR;qNY+3)>{*KTsB-fdpKFHnT&q2?y3rsk;nCWTBsc?uVozBnFJPzP zK@2jyynU@1OY)3o$aj2-sRI*Iq%>SjF%~uX34UsHhHJcyga1T6fgWB-?){*rIHNMn zp@9k_6bih>SAG;3@G^Av@9NbmNu(zr2#!ni6(lmx05!Sd;ds{Hq$CkP1%j)hd4=P! zj;;cSlEgQf(o#f=;1FoFSDp_NH#w8hln`K5@%w=|fX6}7fd#4-_#`g?&=Pz+^$6x+ zSt@^og-2h_3vn6Nq@3~Hx|A=&sXXZ_-b|BAkd77tIMgPY?KD0L{FC@dKD+;1|5e&XfQG;c7^Uug2Qpz@Xq$jNGagYc(WJu=lKn`w2ah60l&QwR8l5I^OCxWbEi@oNB=FTHeQZGC0) zF0t|A(Wc`?&j9RlF|OjAjgs4^^WJSqLF|fbcKyQ+WmP<=p_$P9a4IWSTgEwc{+Z(pQK? z3|onZU*=ED6bQafawu8(W8B!_Ct~g%H}Y zo|bN;69LkZWGa`Eg@^KT59w9uC6UxC?doYNAKJg!ffBN82eLt?Kj#&bM>dif0SNf> zQ_2#3iZeJ|(l+B|Quh%(WyLW6GHG63P4H%A+o27%CbD#p-_BroN~befJb3?7F+bNS z-nhumO@W4GJ)Cr8j5hm>%wSAJ>b@)e$0iz^U|>%4T(I3$+e-q$MO?F|66mY!^17pT z-P)CAz4LYJ^!k>EKAihKs zAj(UU%pTyA*v0x4vaaE~yc$>)u-aXMXVA~QL_idl=)oWv<4^yXBXhaH0QST^{Eo~g zASw$rk*x_e%mcuI1!RFw(gJ|;+~o7=(i4=1n{WwBA6qs#anhX-5J!J$vy_IFp8M2g z5Z{zXjz?Z}=5rBXySI)@j=NjEUU#cA&HDh5S2k#nQojoTUnxF>n22fWD{a>TQf7BwI6Rkl zAV<@UjgR4`_-S}FHV0UD*a9e~87ucB_9dG#ByCIW%8=4NJU^A4hKFcC)Hd^v!KPh` zn8K%Ebwu%z{hC;Ku;{2l+=v^Z=w;Mcxh(CIPn$d?31`!1R$J_ zu#^YGN@F_1ws8($xb#zgj0;Enb!PyQ%!#Lb;W2J{ZuU2NS1ipt~g|nY}?#$%G zWT*Wu0Gt3oXWyUlPt)ah0qku1i2$6$H?5~Ix#!LAy)DlIJ~Lp83R_{P8b=Nc&t5wq zN^o{mlu4j9u#;OVl{O-#d&D3Dn{QtQ=oItw58GV;>uWE87e2EWcJlFcTJKxph!mGo z0TSo`c#XiFo5>duIAsjx(@6m10z>lT1NEV{@Z%&s;FVt^2yD$uGHm(7kNHT9KD2_p zl}~C=ItnBrobsUz#FGG?tc;Z>0Rr3vAspCg=iO{m(`#`h}`Khcg&$D0>n_|ta$Ec`sc}2Ey_~P?I60+>^Y?{ zkax(mMY;yrZ9Dt482`joi+KX)uc z!ss_uR+0?K-jHNUtvZuc1zC*nwlpHNq~+~nEguyH)k@1klxfUO1^=lK)UA@~;r&k_ z7hCycMFUn@CbAGL-_LY7a7E4#!%ps@GR>i4UD1P_q^Er69=YXF(TiV9H|d1>Ul|H| zMS>V`(wba=P5FQqG8U<7_?}V&t3p=0MYl60M}|Rw#KwFiD2b)bUTIlGK4hA@)`S#k zAHt!eTg4&4j6(z=$=?U@2P{687SJr{W0|=zGQ}q)JYn|qw1rcaDUINI;^?P;CL965$9A3OMf_GWjvJ2gEswS$jpyHGUo5u0IjF6{h6gW7Z# z0JYcD%Ek^Rfg&*IGfDUX%!2#{uh`!KfpB#!#Fu=ByS631A>)UR7;=v75KPzcRRDJS z6BE<;<0M~>k{s733I3(|(N6+c=EMv>;sTXIJl(}ueqC1~#Ds)TJt%DX!r<_PFbz`# zFJ-tDO8A%|36wAL(bN_;d@+zu2CSa+_oyQ{jP4}g?Z%k0LLRJvUMoh_sbp7GK}<(v zQzd3B*DS}_vw)o8-5FN{AiqgV8-%GY5kZC0gnR(|FfG8MS=;DaiS#zNi+-Q4IDMEJ z9LTCzAhkWiDh&A*YlPw`#eN5o+ zJNug|pN7Yj+GL+Su&YZKGx@}DE9Rx2VpRK(I;GS?c^&iUvSaOCoP@i2%h?B`xfC_{q_EpcYk_i@$lJ&v**5i zeiB~;z$pORg&gND0Pg*7vBuyy{S-{Nd&m4upPDneQ|+_{ukC6 z!omRzEdY|~h(_l-c!&jnIzuiX_|5)D5STBfXHMHmfPVif+djcmH=zIq~EQXL+a_z_ic>zW|76W;k9K?hEp6b7b7_dDI?J;Vm4CcfB!B||N zAO-(uu9Vv40b&EQB*lVIPA36e01WR6dp-mNPuVx*M=5qU0C?H1UBVs&LUG^ZBN)Lk zVCiI=vMy5vbqMpEI-Lk8`G)i=S|rh32I3<*rLPc47^ZE@;ZiA2a)KZ8EBZtMV}lqNF=?OB^vwT;hNHz45ChBS2lb=jbzT;)}k!6*rpHP=Um1hZQ4rTceQX6~a zAX8IhA)ky6-~gF?CJduRzT`y4SwP(P|Ac@9NrK|T{7hq#kIRB08rTeze5caax?9D+ z_=`)$G+qIC{q2?F_F4}o!F1N=PDve;?r04iZNT7swLZsEWL!UQck+17PwEk`0XJ{|Y7dp@jjvi^S&uxKP(cbBRAJQ^ zNvaU_M@B66jL?8pR6~hBkxxLX;EIv-_P(sj&f zW{6?UHi@@eNB-i=a4IiG`K-QV8c+S=LaO#0z zh)y{m*}_1WXDzmHGd4Lm9}hVo4I6^ldv<;ri!cLdr}(vol&BK1T$%pHKgDYglkXHi zS4sZ(^cXp6NK|q!L*&1?*|&0FWmidfZk>`jixdc$?NPL5r!>Kg908^z?XpGl)5q@T zsE+#2&GP%{3BNQPbfW%!PN?XQ$$w_r%V7bZYU|hooXCobLT}my0(xWY-kSX}>7&mJ zMN?Oec?$V&V6sSm6h|IYs7KSt!wf3w48n9=d|beVb6m7c9ocU7Sx?jFImM`koj>)* zJM5^ZWd*3>DdzmCKlzWA2fYtJGp*+U`9Rw-JLByR^Wo(JDPU<6XZWl~qe+0;(BJEk zG;R0M5l6^WerA|#t?7+U*Fg&dOf@{hKhuPW|o&KR(ot1|D2Nc z_x31HX^yAmjGJ#;%UR_@{;ba|yRpkT*r{0)hwiB!W&D}9+)bl?&EUD5#=Q*YD3DIR z$NV>eu|LDrz@cADkU-8dN-HGGn9uQMkL^<6pO7>Ky}j`EXv!ESSQQ>gd(^8w;|WDA zX!R&OXDsH5%T#2vY>$YUAykMJDf>0=e@IrPEBhAb-=lqCD?e{3J}o|M%=3ws5B3WQ zT2+cyVT$gBevPMaQrQVLVcR%PE8`Psr8|}&CQoOcI(u}15TfE zv3iAkMZ2YmP3!@S?d%LsfC8Wus~W9aso(SQ0LNw3vab=;B+70aBd|Rz`)|@RwaUZn z*6X1TAc@aSjbjx+4t$2$rE+u2@?$9CO}})kTbt-tV;z$K`9w{^)OQBsKN}lU|B_W> zXfBLJ8xs$J9}5e75*GlHN5aZb&p{4XTs}wmdJ;*f5r5w02)-AeGF3L@LmBK5375Q- zzw&_Os29Tq$Bcjb=B@YF*yeS+%j;}4r#eSwr_hSk?g9t{y-7CMXkbRY3xM|kaM!ZG z#R)b}2xNBwSYrwKw(7uK1jojXTKcXy!b}V4raW6wf-GV||4Df8vw*X+=fS31%pB=K z_9h0}&9nuHnA@J(VNfbaKDVuZlK-L2(KOnSD8n>ROX5rCgZq#|l`cf!v4geFgr zH`AFeo_YFye1TvZs6K(?fWYXi)kX*>3OHGN_k)|o29C#GxwLG9<3w|!2M4CsVWD#% z|Jmu{OV2%sdktnh!@!HEB7wh+!TinDZn3f6D_(i^l1*}>fmAEPNdUpgpPkE-kKYIW z)5YP#3pUt|Y?W~VAb5SFSA75b7t9wp4tz{8FqK2F16!OueHgcbPZ#IUAGOJY7bcNI zPJ%}==YP?B)}M+~M=l`vv(r6u`jGQKcR27Dg8ON=*2Q4r=dWBf{%f~!KZKR3FG}fz zL@5<;*kEa4rkKN|`KiZGqfYr^5jmH5K^_2o4Dv3bd|A$y-mjK(P5s2avl!%k@e60Y z9tCza3BYGPdguKW6<-8MOm3u^Anu5DIy=Qv4=sRyr#QWM7Ic0eMij*W^!MkW zXZ&A#cxCaU?Lax7zHhNOd}O|O za*`x*G4cz~;(3OgL5`EQRp?FqUxl4EN1R-7 z^8fgw$Bh5d(sZ@GfIwRi#ekCbIE?&uFqx>;g+$+6$6@?)eCq$hA6>S588r3<@Ud3y%7DvH}^FNQ4ww3Tzl9^IL@Ib5uL3H6AJVYgSnKlE)m zKI1HP4%8QySdXTPCmuT<7mtKb)AD(ei6=XqV(G+@qBA>db$ZhfnJNrXR{dElras4d zg!Y1%S&fS@)}v+U&FA^mH*OAYFOs}jd-3qG&|YAHyQRITv`4RBgW9y5>&|wqzT3}y z>|mjg_4GvGkJF76{#o9^bA$cb58pSxv_uszjd4-?%xSb2=+{1V_E2aqXr&aZktHn?@7Jzazh?Z|;K@b43Cz;U z_!Qc^Gohb8ci#KaGF6O%4}K=^r4Jx)6ZzpiOK|+D1Oh8R(<}A zmOK>T*cAQs%a@9EjB8eJubbUsa^7*E>0~)C9fI93p83oZXEA;^z|Jv`qR z-@6I^o5ct3--7z7RlPhZFUmB^Qa{@5^w}expK}`D1onZb#OCHqzj*nj_rv&O!xlE8 zG7SNa&mMp5wDDg;-)CRz5?(TXaL|PD{lWL&G~ZxmBWPfLlDD7~7o#70!ucONvH<(B z-(zBe>&)$UdVU^bAb#F;^u@S@{2+J_SYYtT;U37qN33G{ytCzL8c7nT?ay1QdODv- z@e^&HRl-HjG~qMMG&zIsU~6d`GnQVzi#dI_k5$%L&Uvkijo64`ByN-S(BR(fcL6Yy zt}j=BF&OBe;l$#_!u%E*P!z~C;aIWdrGNC1#@(=W3}Tpjqpg^c#_-O-&8Q;viOEqk zoC^!HSV8w4P%b{OZT800ZO7e_TUckI3GK9iU64pk0boaArA9dp@_hFtW-J$!f$gUZ?BfM5GCTI;$LEVhEH;!b zLq?SRZ-PIy^Wu@lqG}ezaz2Df^Ws9M=%1X&u5z{j5Xd;7=T1Yl9*K9mZ~QSaSwuM; zKQ?C*_I7Merm!fti*jDXLd@d)B>vnsJ(SH!e0RRrtCsr)cA>em-iN)coXcZ9RkdhD zJb%nHCsnl13Fto)cIB(cjCpM$|F=-rcuK;`AuooEklJ$aI|CUfkIve_o+y0YjvRK~ zx4Lt7N{Dcl^Q~K5gs59693~8Le0ENN|Kb7`BnLR2Mw-H4ud~MXVgO>6MBGD|*pvV9 zqgVh?Tae+Af44VnO`F%#451}DDu0pl6@&5Gi^3-V)SvaH+8&8(SuPtJJJ=zcva<6U zSK>5<+RC|(%hm;_7uX)59&v$Zlwu|h7geb@^`D!o)_clHCo4Sd*1zb)@V)>a<+gp1pv!mkWGt1_c>4V=~KmGPD;bpuZMkjB`*wW#j$Y z^`u|R@@RzZKg>_skFtJ|e8v~0EO-BEc@$I3rT;C=gr1gB`QN)D86=U4P3pi$2r&pAq^+sB86;2_U-Tdjdam<>C%3%Rv+jUq$9+I__3h(_nhYGMiT6dy1nHi^j;CgW4n4`R~S zFCI95104f*2mDC=6n*H{nZk;uby+4;)NI9wUYo&Kwd#{mAXy>fEOo8&*B8bDe!;d z;p5F6a@4dau3TF!{`@tRr*O zFV+A|oH4OIiNVU(zw$tF6pzRt#|a7Tef9cU@$P%KiXJYZlpAzM04JZn`uuq;!Yl~A z(Kr5h_O4!EFWz})+3RhF8SNxE>K#r)7SBAi1pb)(KXHhrgDdkYR8BnKczfCS|NP}E zn4l;n@mbEPLp|Um>6s@_82?8;br^Afc2cx7O#Q$6z4!6FB@aSCkXGUGH|R9lo^#l- zJ%z#WlV>pC!bF{pulIcV^jUjc3=n>9E_aIyun!kuR#ve?mDkk-na>jkjpxoTVp26% zeElz-!ve$LZtx~f3%vz9(S*y8)wH`L5#&!js52*RUw!^;aTKQ{%z=I?+$FO0_+ls* zOh~X($a1`TV*~YQ743zdDN<$jcTV;@kM`(SzI4X&k$`K#O)OlzadE}?zsPdNPFqub z$O$T9LnV;cDKKOWEv-|wu+S%0Ef&#Sqg`@nxK3;39h7K8PTJ^HY(}Jas&@7e`v#i?ls@@uf?}22S3Tj%D6Z?f{Yh zXP-Lh{8>-YJ`HkgufOx%i|yX z*vaMwK*G;-0|+(D94CHUXtRFjFF!Q2-(kP@=7k%eyU`lWnwk7e^i?c6Q-1#$?o6;(YY`l_$yz1Y-oRd1C#SN-?~;@ z0q0vQn5dI|UU5|=0OxpaX>rcRGvEB>$BSb}%l_2IaiBM6jBLV8ewQ(BdhhLPwm{?K zF^&^^Tf3X{g#%t1E(Dq$H4hgu}v5m z8#o5HzJ{a7e3u@1ae~g{=Pd8sc7y1MYjp&)l+h3Q$Z760f5~HB z$I+j*q)lmC+BiIZVi$dt3ts_X8MEvlD5kdt(sD)}9JUZvt4EZ<{;^dS7T%$|wMQfH z?_;sL*Tc>;tI-JRD_>rZhPOx6_F{AaR*%p|c5yU*Pci8H9B7e8=E++dP+GkijT0`F| z{^HS+)n+gR#(osfH5VWn6%Ewvr`3;E8B%jSRh}117Z?S@QxI%t*DyxwZMalF9^G*euB-7>Tr`z>pGOJ-%LWZP^Gq?dLp$2U$E#u(NGc?olj*0=G8 z7DQ74h6vfE?McOYyn$ET);GGK<$VyO0S=7kmgY8vJHC?P8!!PUz}q}NhkPx8?a=yK z7wt-Y`j?J3H@ByTt%0_QI)L9J7EoQfN7Nll&9=M=-sBUO{!t+3j)bxOqOZ7oK1GDn zCywG=9!%jJ`Z1l`LG%@uPy8l$icfxRd~^BaD}7C`si~RHiBpdp=hpx}{oHSVVP@{o zERRp|p`XTVjVr2Cc6^YRtdSJ$;1+N4XTyY@FLY>|xbO*|60}JPJ2(ww{cA6&H# zjFdd4d+ZqA&9|erRF?nAoi6zFz@LL|T?+p`NXn+!nOfc!WZg(VLkt48=Xuz4lyQYtS{z(J9`lFX&>rEV$P=}m-Dvx0- z27m``&m*cl3E=!4nizP!_rRNO?Oo&xxpckljmF5@uWYBV>#FneY_X@rLR4UI{?_^adE6${Ny_?nlC=A z-YjRH<{^Lnm2H8r=mU|8qRhB+%lGH`D#k2cG4OioxJ|jBT~=@V^W1hxUz#)W;K?cS zUs_Z>^*cBoc>KHxy7=llc99qJ$~LXL?&Yw72B}g_U9HAn@;`E9#^f|21R(8!H6$x% zd$&DRb^syR<2b7GN4H?lM-%#;<}aD7r?+mQoSW*YkP@H8-B!*Cn%#}^smIP){eSUC zZ((s26A`qp!_1VH^P!}iQ{HK~sU8iIQSvWPk9dMDhx&;xT?}$a1o4mjxGP`ncbq_Et`A~p z@VKDu{Tjzrd3zy>pi+nmN0ABc#s}BT4^rWIf6DuAIBr_Nc);vt5B>?So8%AxV%rBrP5}RD9!a z{dEvdz%Ji1yIlX^N@kao=palBz;s9S~VWH&()`rKXYe<(ZmW@97>Mv~u2k}jHtLde$0pN=O(+FeSiSL-bViub5ga>;t2h>K&N?%aia7X+h7_74f}(*4siu&p zbx1feXpVZpS#eoNKY?34A+f)3;U{7^5#VkC-6~d?-HBg_R-u6>aagVC2mFASdMujA z9}_-z;-ArF`lkyCDNhfx^q~p_?4Z-Ic}Hgvd9Omogk;&y!liqd7;lHySk`aj`MADOtj8mdut1Yp>MR|?3IxZ2V5~=Lo}}NA*fCG!)si<# z;Xs)sU|;D7%z4S@;T1v)#ZIAA?xT%x)D&PNT2u zU{W|*7K|My^w;rv#Xz@*yj0qYj8D1%P?gWz=Z-Kwq17~Wo2aMi*Q#kbt~lmcf}5X- zVSB_2{pi->YfJ+7=!)FAXBiQZ}P&?G#OSoS+4bpDd!Jru!$MCKtdxF#6k)_JlbssMRT>gDo!p( zzY#U3#cQhq5jPDt#R20&EqC>ad^_tmY7C;>z&j3n$-LQdvuv5;GuaS+G(!xCwgw0Z zc}9fq$*S@v*=sc>y4QQuHJUp2r2xeYNHEMZ+4B z!WriXfwb~D1EmvQ4riKV36Bd3!f*1MdsTj zfi&aO#q{h0xX%ESpWbyaTPr3ICKcY~GO`IQ2$073z%M86;A^uAFCJ33WAP9x6q|oU zF{B21k`kQ@9ioeBGLh*#`9L5M#T&ugadZq9uOI+N2T%*Z-4F-|xFsU24ps&Xc=7!+ zElCBq>*B2WtGgI-)%0GqNizk4{;7B}$mNSsHdFH`w3mLBe2|el?ZZh-eCJ(&$X^uA zzFxl*nS5c_>iaWXVj{#y z32 zfKD8=(jVr^_Qo-XQ<#JrTa#CVjtC(z}s4l%Jja*0L9QX};j)$d7trontcBZCfqvGmSRXRYj%%wR@!&0Wk9e^rcr9BpV z`9!60t0X0Jh9bX!l;D&5DNQ_tMavf`Y#8C7hj~SPSyao)? zF{r=T?*V4K94`)Wa(S78QbTC5LC?D*Rc>b=gn7iXP=+lO@G9j>ArctUC70tesz&@O zO^T=r5vkk`WQ%`Qm&8Su*r$q{#sYHiBA0CZB#N?$5djQmtAB`FUdbVH5!nD=e4Nbg ztAcE{k={;9u#!%UMiIKKw4g%`8>z4d-)dal2-gR_5pxY2qW6HYv#y)$7qg*dceh>Z>ZbQb{6 zx^rjM=$K}^)-KW~*GB5{t);>$=;ez6ZAqBfR6z5ogr`)%yN#rR_rz9=QZ3_Dn8N!mP&xT{_|_mGEAsc6D>fwLr3OXCK)z{suW}CP z@2mw>hWk}7Qf==9&y@c?8Ro;mwu&x&P|~ocR?`I=)0em=_F^?CO*p~#enY)+HPOaO z0M+~GD&C!oF(XYG9wUQ!nTS+Al~2Qa&WxDJcL9v4N0W#YL$FpqA|sH7BY}YOV*&yR zjKNe9g;j-9vNS9@!qRYxlZJ&upROW@!1PavL~JBr!h!pQTi}zp0FXWnY4PW9#dBXX z6#4mMuAO`>0;tW`jz49Jr@|=@rtwdFL?=GEpYkFTBERS&i7CT8v1fLpFv*7HgHj_Nr(?U8x?hsH18cAb7NR%;+_n{w!4r|5w z>QA6PkD*Z@sogZt(A&}Qu0IzGxJ=ktD2#u)x=V40*?5OTB??&zVQjFCZ%j2yJ$ zEWjj{Rwb<$ub)f%nCx^ei;x(0Ax|2X=gq12^>_P z#8KQGFIpAZQcC1l6&UR!%@RcjBE6DG8N$*hFso-L@^y?--$>zsShpB;EU%lMEW3Fu z`OWPYlJXt9+KB+M$n+DqRu5uAOQ4NUhMripk`hfD5MsQ7g-Eo!652Q_J>di$ZP9Q9 zUA>(MJgO|Df&}c!_r=Ryk$xNeNL*`7ht;bn#R4sl zVHF9nCaz7e8leDc=oQcXVd=te!OPnXp*L%e)Qa+Ix2jZzQvQU*3SpH^Ngm3g1XSAF zwD5^SmMn-W>yp@Tlo)(PNt)CqvQ{6$kVNIorB7s&+cl5p%0)Fi5cyQK4l!sE6mgA! zT_eZvhM%|*6?pg4J2n~3$XV4PrMFtV%fgBzT zQ_(kvfqTl&lEFtl8K?O|lAYMhMG-HBDNH_LoFK_Wb^d@D&{K@WenOwbF#jq8>k5~E z0B@)>M!-twBYy@`m*Aw}gYaE#fluNBz$gWxnorzeVLb`*bN+;@S!0-gd|C(#(`ADx zO+Jzvozm%xFA>F0M0q;n_LT16b{c#QpgT1+i`SsSwR)iD9N3r;(;OQ*bY~pQpg|)s z-+A9bl%_(|V&$y&(%qSYCu?mSGAVH5nru(5+LlOprqe7{A^9 zh=Y7_q1_4dVU(csJ)foSY1$sbQb7K$#fX7?GGdLS&%Y1bNe{OtW6Bye@fyzBGoo%K zyXK6D`H1YAnWWHR0)@Npg2njb>8pW~KWZ*n9HL3XZS>YK0l)Pii~(y(B=_M7!>hVEJj2vemQR$P9{JApB%zFOecYAl45S4&u^=1V|=D;Y{6 zo`n%G8v6l|zWx&W7|a>Pgla(S2u;IPtb^D+Xn~LO0)VQj9+Odvhjcj&VQp~n&1Wj2 z$B~SP5I6shp zWs8p(z;J4Vd$<6^emTCW%t>+6T>!+yoqL$8A)R*t*le9pEHCiBfG`-M#|?4YMdf`0 zAlb1C2pK5)vNgpPUQWR@HH4pN2*Pn{tq0Lq37HdHAJEAHq9 znY1}wbyAAN3caX-s1pH}4X{pF}6#KO;gEH<>Xdih= z0SWfF@+rz_hY}D%fnM^J9(;)xcRe&h%k4vi_w%XxvF_8X&JgBCj+A1Rat{#Rc-5- zdA4G_j_Qzrke5drdI<+1%HG<(PzOx6B%GIFNn3_0CkRS#3=P#kVjcvnJZOgaOu9{2 z^;H&WI9iPLkTjM0IIN~cY74}28j);7w5pJ%7tkz3b zqRtR(x+nUY>?(t5EKxSov-12(jC?X-1KY}sd_!W!mte7Bh+)U{P?<&^be2irU-oU42pPrk2vvN(ZIOD zGr9mz!v-RNtlf_wYlj$f=4LJn@`wF9H@OhTxRxsTJN&%W%kjPKV>sbk36r-Rq~kM- zHbgcY&;&L$l1jOeUWnp#;NOiF&}`>!)a|3xiBE@Wa2}Rk=@Uel@aXF=9W5(e^uv7d zNPY1WOi!|O6;GziF|2fl?`-XKH`g|&@ihQk2C%)=+1i=pS%0Lm@h~BnsoG@Sh?#^$ zaA8BjHi&;VXXJbTws^4ny8wLh5%^;SCRr3o2MHdeT+>lNrpQGs0i2GD0Jz0;YH}V- z_$e2Drq8kpydc0RAeEy(mu^Yk*3u%x)0-F!OBTbLG73%>2$PsD4J&T15m48SGy z4jB74soa*b%9OE%G!f*2g|llh`_51r?a_C=SU;7ulp&uDPh;u`t}UB6sf3Nl zHYYFR6ewmTv>p=9o(0xff07`4_UYsg3LD~w^kWShbWQ>jU90QD@&pxpk zE|G%h~_{xZ>$#+vlFY!*H-3mFW|z` z@g-ga;NPH!;BXf}AA>}GAplqEkq7PsfO;4V?fEW%E$63|NvfHcuf<2$|&;x2&oqQ|cSY~vd)eSQuF)3xw%kRQruAvz0P5?2Y zWELebTnVrU3jnsQ51=g~5Fhl06EbBhq}V6H_ieET;dwP&F(M6fp?J&@6B51w9?*o9 z?%*=%j(;UUdWL~9^^h)1(g}{zP|O5eK9E*+Bfo$a;f#BUSc(b3PbdJ%pwaWA@TBsY4uVO)0y>AwUGJFDI_rXEc}X7I)Ef4ea^zb2_8|aQIM5HOe&MB zu_OUla?sz%OCI%n1l(M30M~Z_Jz-BL1M<2;mexp=xeMZ9kW%*uYX~$@Hee-15D12H z4+tgyGE@p6Oz<>ZVkD9+Pw5GQ6l<^HVJ8dr%70h%C_}T(h-Epp4Avd;uGA})gGmNU z#Yf}b@;D47mb9UW!w}NE*s}qGl)1rDz%Yg(J>{E_v_0olp_vYmUhQQ5G(kU8G1Ze{ z{gHu(Qw(F!T)M*9bB|t`CJ758wq}CLQ4lCFzW|0p;}L_Y~u3KKH++T=%>vf!+H`07cSv#{E%cW=f}7nM~3B$ z4?cT>(>fjG*q4nXG4I7n2iM*I5HjiE&yO#_h_0R zEKRK80WZWIME(qi7{dXVq!vUV;zuB}#fV%b!GNYVmM|vqRe(u+6~I3Eg0BMjs|n=H zKNXcXdPWE^^|5>tB`VKU0|cM(+>sc6mQSR4E6M==Pz3bshXISgm+onPh&P@SH~A%3 zLF9{Xi6O|Ie6g1=X1f+6M)Jvs)tEm2J}T$6)#?aTkap6>Yd)Ws5p@&;`C^p&WJjD4 z+2-W+xR`zDg6parKuQa!0hC{+9E5gjfseH<)8{u0@77qmr5m+9N%`-izN3gALtM$O z3`ukLLRB{g<0|1k#3WmO%CZTTrZl9u7J_<2Y+G0UoxoIkTPwQkTDO445L8QhQ%bpC`V)1jBg-|0~D1heFNqQ2|f90 zlPduq1V0`YI9LFvm!lpldpwe4!R0H7Pabjgr#O8&?d&t1wA@;zFFy2zD>!kr(=Yn4 zB^_}E*Hf=_keW-=$xlwQCipdg>z99eb$;>G!l9$5mZqjUldX3FSgvq{p6~3V0jk^u zfQj+WmVX7HYq`tr0swyNT>vl}+cQp+%pk!6oNL=;KQwllN4uGcZ`ff@t|=I^7~moZ z^i1Jb0p`P30oGQ347u2icXUv>8T~~Dn2YcFlSgR$Z0CbIg&o|IEzQg+UNFDz2nc)) zPBthuUO-6OagoJ~m#eji8((TD$8;50U=)*@;l6|Gniwj1BA^xO>Lip3r7|QAFl~WL zo>qZ^03##187|R{2}wpQ1!C+ZfK(<=m5caCh5`g%8LC8)3l&(+J}yM{LYhrxd}4u1 zoDdb4Jo!O)WkJ5sYj#B`6DGFxope2ZfkU*1IE%8B;01}eP!LqPMy!;~%ED6!PLoQ_ zL>c@PiTazYL|{Ox=O-p)3_aSmV>tH70C876Q+!lE+IcjBia7?5L<_Yf>Bx*m@CNxs-w|%NYV!2eoBggh#yMeZVT4{Pk zctg3Txk%|!cnG&Wx7F4pA=>)E5=6e!N4D0;B|O#rrt~J7NTWM1#{^&FnJ^AjjWi7Eg%hT>7GP~Wzi5RT2we@& z^bb~*{R2OTf{XPDjFB1t^B?lUF{|YTJ`>uU^i#UzDDFm#v4g-zYk`9WfWh`>P1mzA zEIi<;h))c0(m(QMOTpP^3LnG^s1-+CHLFYzzf^C+bDo%oZf*CvtKCj#VQL4j1=yg_ zF!|6Az6-$20tsv{czoXiXdw8yfX#22W(h8qyXXuN)tognN%Ka0YdnAz!qzC0AZQ+g zmL9+cFuLAf)oG3wvuo3k^vL~5Es52YERGi_bv^0N;V2l6? zu*Q{I(lcFr6i)e=ps{|$O}>a(5-zcx;yUb2uH?k*?3)-dk}pZrS9aeg-Nkw=-|cF3 z1$1>S-SXaPkHJ`sCXhm?I^Sx?cX`+j(*tL)P1JqV=H6;(` ziI&3-5G)}N8dLw!&f(o>52a&b#P%q~98;*dNn3(PQ9o9;F-0nwl`&H~_5)HN6I_&Ys!mn`t@JfH63!M}x*Q!wM{@th~@ zBiwHMjQ|ZW_NhJPtf>SG|2fQnb+?aw7J!=@W8fS+E&i(j7ngqwTVBs@uKy=+coV?f zMw7ftoSYEG1se(o8U9T>67(ql=4ZGdsj~x&pB!?CyV(a%!krhtz-WWB53CYKM^G9S zF;*b30SFQFL>ptt4>w>sphn7yZf=z%8%dX#8j+R8z+Ki!Q4V7t${6@nvXfl`F`jzD*t{8F zzNaBFMsb!DY1P{Z>LAdBf2L$?v1q_DN*lnTM+fZVfCUJWuGL*!L*rL=!c~ z+(Ybsj@{L6cj0$wA^(Vsss2~RO_Y2Ttnp2?LL#QebdL%sJ-q6Vl*pqT8h;x)sa0(1 zsk@@ZT!th8tR+0(Z%wV3MFY+hPq?}3kD1K>VhWtZ_D;;lZXCAaU&nTIsOD;D3OG5Pao!o2>hiy|-kC_B?DFFbJw zSo$vCEZ3{otJ^hB0$iIquy{D*{O8o$-UX4WFSzRxXg4oy?^Y48JwyhJOGYBala=Is4wr+|M#Ieu^257m z#k`voZ5-NJbrW}BcwlkU+GU&KOzHPZ-7$n2qZIDZWBG-OvLTv~8hqG7TD!<7L0L#k zwO@|j(fmdn^(OCTX}$_P=9+@J{lRaGa-?Mr!8uLQ$a{@2qqK+=i;?j$JVy^4Hvnp_ zsZ|T2RxNm+7rc)(A}}USKIW78vK&TQPwEL{P+m{`vmB=wzlu+Cq*rpJmw4JkJj;R~ z1JJJloSnRS{q0W|I2Q2q>;u3>@J6 zK6`^#0=T5Uu?PM4I17M!5NtaFhWH}f^MSEQgOshEp|>vPX+7zq+I%E5*bHX@oL}%) z0bb9R*S~=$Uc>$y$C+!esbN(GepCx3*bb>BT!+0eU;}BmIlc+=U07~nkT`UcA8Brp z@Qnd~dd|Il7SjK2%QsyBB|hfJJq%U0jeZb1ng|0}7RiS_8$d=uu996jWJX_Z70=5eX2fDhpq$jkw#cMcu`H>1 zax>=({=z3gMYu2#s~&2}f>Lx63)xv&q*-2-nT(~pAw^Mn0uTVU*3mEu_D#Un0O!8X zn*rWGIxE!BI!2pQ1rko%#cC*0E%H`6ek z^9|u4nSI;azI0Q%Ge6T^0qmY*_n2P5j#7@IH7fM2EA)qKON}5Ld(u_=v$@L`4egM)gBr%-%E3r>Qu4tdt{g#?)Vq`?{iB+$inP}%|sv)wrj z)V9#icjVW?V@8zRG4Z$_(BkxQwS0WibB|z8)#5yRf;3Zqc@)Vs>>ZLPc$UdD;S7pB z=hqBl8e;{24Pb>|19-JsoSv_4Z}DpYepi764!eHS=fQP&t3QGd0M=DGfB?=klX^Pt zF@gC1#LfcnF^|6ra6VfsE?_ej`HOIkeXBsDy=%-%o`olz11UdsV4{} zSoH>s5W-FXJR!M3~5*Zh>GBBrmwo<+xk(rpT__GUa zaGiU-Tz+ynTk!Lo2-Xgi$#K!+z$z^hF+GL>Y*0@-};ACM`6h3I1^Xw(8^ zuig{5vmE2{s$Lnenay!uyt=xq^D@Xk$DHf}u&Yn5VqPYC??e2VJu8HPxkRQ-)Csu7 z>TArPHtoTQr%6>e0F2oAh?oo-@%>&=Hvj}DBhq*v!=LD;{fuq-j?Zl`UR+@j51V4X zdSah)=2<|L)D~FcN4eDa~`A7XK1Cka5%eD!3jGv+hjvD~ewW8Lo)~tLV zt2ZbXy(AOP(8rY1%My$-NYCCW7)KVSHJevnvq;GoUa~V?woP)e{(rmt{x^U7%_V*f z;FC|k#z*p;nbxxaD42r?m!zu|7PlBA>?{CC%Vz=bvwocgu)t0v`KHeTa8vBTH!K;P z1po_dypK}YkOdZwPX?0p$b}>ulYF}(XrSMT5j#=Y#AKEm0H1vR@328}GrRiqH^{Fs zDL(}%{&5iH=K}oJA4>67giWZJKf$H|7gZdLPZsA!KR+ei+}?<=UkVUC-ZmirDHbtj zSd^VYJ~tKq&ENd>Y_(kB4TPnc$j=f;cM^*olMTtf5dfdtMg+?N%k4ieo;Cnb4D|-# z`Qa5j2!5?`PC1V#JU4db1mN?perBkD^{YRK8)i@r*arY3EYOk|)3gU{z&`*?3Lzz% z(=>-Libq6kK{@p}0oz&*Z7yT>PjkWi*_WSLfqwA^U)e5xr)Ga)ccxTH6uY1{mxPZX z*vEeHt1rt2#-~49&;H~8@i!9-nk1`9jtFk>?=EBY@^cKY2w#2u1s=|5$bNS=95oF+ z@I2}zZiGYg3xxNG&%XEs8?mRj&tT&Wo6Y~>fBzf1&lI9QF(GyW3~pf*_W~a-Z{_*Y z`-_cZ>@V!jrut#@ON!!JK9!?l1R0IDk_oA}l|X1IR*M?Rbuzl_2*X~WX2Ctm5sDD8 zU7cf*%$R|ni{89>Yw;*+1MCfM^KGs&PQi!uRe6Xj3vQc?0%997E{zYSF3!#|FXM(e z=4k-`^?&^Lvzwcn+4U=yhi`1+Oe;7CMMU6&o+s-ggG~?0wlkm%?+R>82YSON^K>c} z&qhyKlz`YI#iE)p3zpzT_bX3xif18W{R&l$x!A`%5#?fkxwyEr2W}_xQ?qY%gZU*y z`9nBRa>5N+{Bc|vgJRF&ieCe`y}thOdU1NWU=QbjA@;{V3n0v~fdqpQvJT;3#dPGD7HL?=8Y%Rw zoxsif z{Ve7b?-Y;;m>#dEOqHY`l(e7fwD!Y#Ig6V%+tfi~?nykZY#a(zBM3eDj{(W-IXg!` zicPZp3>*=>ALD~laT2CFU^)EfK%b6%4_@GBB5=H3o|^IH<~C^<%Q44EzPu;!sVv(U z+nE+>ql^<`C%{R>Zi+;Fr=;Cy(P4Ps=Qzf>NDVn%p@*i%r4Y(~$#|S%pl2tUrhEfV z188nDj@<&?sdo!+LhTk46o^rkcjE?)=^X8os{D zNQdE(4dpn)TZ@Y`^p_>;=ho(XXSZl;7g(^{q8;-wR1O#RrU@GYl)2&D4e_nLy@@t!2>-j zE0G8?-V(~lb|-NK!U=YapOObYrVRkKPHW$(5~koH8Ee6WO~ErC(;E2|3(q`l(Gz-% zC>BIF6;IIzyXm7`@pFVw8A+pb!QhZ@;#~{B#l;Os zJKI&iNLvYQPBe(E94WtdlD^?iHj6bWeMH)J+KR2I5g`MRwSfV22$+)Utr+wj!QN$4 z{l-o{zT#tNx<_C;>jG_~%+5wqjer6=!9XU45k_tR++43P=C}=^*4)Rp33N*b_6A_8 z+YIPC6~3_SfO}+j*Y7UPLnSub0h`M{kbj3CtF)S;1^u|WuRmHT5L5sqVFhe*%uKYa zX}uw#7i8rnkl(iRP1ZB(FK^$zHUIta+wbg+nVTErZ9dC(3(v-@|M=x>WFwDw!wmsi zY?}pK_y^wFE9gjH_{r)U37p*;U&x&-AZ4@gu$BM#Z9ZL5+b#PCa$N8O=krZwg939? z;#pQcj5@#kg*}}5>~nk~2$DCiU%}?p>@DWMw9PjTfQtF=@BaC>v(?RN_VV{X%&y;F z!zWyRpiCj(=jcXoVE8`a1q>@B2`2yoIc!g~bW)dL^X2Ebi?L_W4gHN`$H zxuxj_V2qA1!4->t-&isjb97-4Og&Gw3MV?{g(sg)6gI23H>>5_v-SFBz1b}BhnLoE z7ZC&;@KAhHfl!F{VJOBl@*{2RzRNdlxN)DzAye&ZZ+!p@x*=ml% zS1iw;K}0!ir&R+o>9Fex*sC93+Ti@^3(Ff~ci`SgpaJ|v!u8h~3sn@fygSAw+3Nk)(X=R4yq z%l4cEDsHJA%4_GJmaNGcHOetAu_2wLiKacMhbpyN)=G@rEemV85xXWR-yfJZ?%zz`pPi4TS!I8? zX7TWr?rB>r3+|+!lXotNc(%mticc`vUtVJaK)3%bj+(S@95D`s*^>y_5Jj7$+q38> z=eAJ&=yU_>08Dl70ewuc1AqvoiRJte|G5#s1o|Ljy$RqO2?p`vng2<%t^B}QL&e>ynZHp)+@H(* zk%U2KY``dKSQfB*33y1myt2&4IyL0KoILciuGDd<6@E5A`+>yk64`h(MktIs7aDGMNY~ zoNXaMq&6A?RcMTesuB+mNLk+Co7~Nt+3TPF0SgQ)GESCe(EQfl0I<;#%zBl|2VUmc zg*4!@ETrdux}9*lLWRE}@aw<-M}uRp)ojAjA9;ev3wpxKA5*{+b;|aycQD8wCHKE1>Cbmc}T5xl4zUcq{N0wnbJ-K zU~Fn|=|mYg(3#xR9kB?y2BO8k(Edb4xfD-`s}ws4K&sO1LEG6`^&Fboq3gl)?6B)y z>6tP^1M(F9zVMy$`<`}Bg*)|8zNXXLbZ^6%h{jNVB^aZNz2fB)d>;cEGJtl-wQ-~6 zAqQLQfYT7T3=jm309&z<+fL_LTTu0w!r9$B8UM33XkiCj0{WS1jD@W!zl+s2$ zSIaTZu3`*|YXI_;Zy+mao2r719LNe`rpXoT0BoNYCdoD#1h0)7Nk&PQL@;&vK{fyb z#YyKuNy%%OYynS@p;0TapEaZBC>w5^!G>G=RDktHLi~kY_*|CU$kPFVV{C5#usZla zhj0cis?AZBb};gWc7A_?E;+_DaWN}lFKL;Mc_Gux`UO|ZIG(vg&(B=H{=-Y0cklvl zyz-0?Y!u=X0lc3J`|(Bq%JBB>OU!@qM!;LVX@|M~a*4AL@aq4Y*B<+(2wQWjxBQBb z=6N)!qcMfcHt8(NbRkhF_xk)(QlPLCWH(V@DMwW z1+>&(tH0*PIV;{%+L-C#gZvIV2lRIZd}w;6{GdU73V&btW6SUD+f!dzko5c|-;V$V zfdp`6L7d?=J;}Y(zH!cRC`}o`0OW_RRePpWBm85;MUT%2*sCoy;Ri{b?){>0WtwLc zXwlahGk_Nk39?vF$*od|;h&eF!aXIv0-pj5>;Ok2wqbze|yKr$K(`}o7te!iSwZ_&|g z(ijivc+fXL{v~hBLv22avl6g*aErO^lApq|tX5u7;=5kbvl)n9lm-2?Ud34tJKmlC; z+UG`g768)xu%G{_4W#uf01OI%Z`OQ;oeOD7!Rv{9O_3=KWE>oI761oMgF}h$iV{x_ zrd?tJ&Mve}};heb@$U z$)H3n-0{l4X_H%NKOm-t^x^)var%vc9F?Bh!z#B68N1 zEV1M$wGdXd_2#satT-(1{Z=G|LPjK|fhuf5sXZo;C8K(KFvN@q0aahl!YFeKASb|O z;)XH@^^w^u9fF6f4W&=`8qjFQ`sXNS0yyD^3F-<~d#sShNlDLL?Yyg1(tB6_cg44- zo%^<*YWCI!zhfLxFPdu9kZt0}bd16Fuxi2&8Xv0!q-2(2A*q@J##R#oS!hbar64P@ z8YAug3#`USrbHvvy;9j-q)(Ku+!uE{EiR{Yh0 z&1`jzJe}%hLpH_9_?!-cf>YkqSDpb_fGkry?>9!dZ!jPEJ6QJX>(whh@q4o2xB+lj z)v(p6#pU!iDQc-b4dEJAnU*}l*oy`0W1vPurjuL}O0JlgXHe`p50`OZgJ3asGjREc&z$!Y=4>Ae$BtX&!2%3U?zPVV| zxXextban7FkjqT0CfQhcQK&KmQS2CA`OWbqc4qigKc489fnC(qZJvTPM#GH`IuT`O zq6Aij0F~DY-M}+Vq)Fa@2Y{mGF%q&?v2>^gH2oCZjm z6sUSr1qk;(W7+9FKt&d`TILSn#8@;Hw?|3>74KrXv;TJq?(r(kzJ~Su@66C%@iBk& zz#Tkr-}X+GckL?&n0ps9?_gF{Q&YW_n)nRwO+DrN%G35S`w6>a7!xN^_Yf-)!&pKU zX9~YJX`~fqj8eEK7t?qK8m)qi79az2TFin)oFkh{17P!C(UEVTK%+RBMqEV1HdvWE zQzrjZ81ET=78M^(fxexn0!ESX;K~lYHju+{<=l30hIxOSZ(zTCfX@ULI3I!YWgZa7 zGqJdKz^MvGUk|%&%Salt&ivq(R&CEcWhaDO!}HfCC&xDco?30HC8}r0zA1RdkMW3a zpO`edM@3I7D-FRF>j}T|yJE_g4YZl`v{yEZe@gEhPrTPZe*X{Ouh(y`H@8c?EQD|N z!R4EcaTWj$7&1ZKSpari05tho066g=dK}xodp0B z`6>~E#w6|PE9N0BU@IG`8oXi*45W#$0^5!{L~0^X9HWG*GnuB>Ef0jxB!Hrnr-8Qp5uXa W;IfG`BT7xgr+R3F9q8M1t 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 JlAE^A{~y{yxv~HN literal 0 HcmV?d00001 diff --git a/ios/app/img/iTunesArtwork@2x.png b/ios/app/img/iTunesArtwork@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fdee900aa4f1231663cf42052e35853f38567d4f GIT binary patch literal 9293 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 E153MYU;qFB literal 0 HcmV?d00001 diff --git a/ios/app/img/locateUser.png b/ios/app/img/locateUser.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8d1cf52ebeb1b245f3c61ca0e63a3cbe49d9a9 GIT binary patch literal 1111 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>4nJa0`PlBg3pY z5)2GX2ALrdB@w}FfdWk9dNvV1jxdlMg3=B3ERzPNMYDuC(MQ%=Bu~mhw5?F;5 zkPQ;nS5g2gDap1~itr6kaLzAERWQ{v(KAr8<5EyiuqjGOvkG!?gK7uzY?U%fN(!v> z^~=l4^~#O)@{7{-4J|D#^$m>ljf`}GDs+o0^GXscbn}XpA%?)raY-#sF3Kz@$;{7F z0GXSZlwVq6tE2?72o9j`%q@UhlvfP(70`eB6^RA1jvMM1PJXMiW0%H`l^wT^eXd;pGpWc^b>Y4bU*7FI{rz5f{3VSjhjTksBjOGy zbs2P|Dj6Fm?c@F(mF{?Zj`^eqy^k!)CLA!|$oyi0F~9`L?8v1&Kp z>S#~xJIOu^xPt?VTm7!C*eh$n%qeuPp2jIY>T55Uw&YJk=lpi<;HsXMd|v6mX?>QKxi}Do8Qj3Z~E;P|I)ibiuM^}V!tPRLi zE9d;&f}+%7kQO^r8+{BhboG%zsm1v@rJz8tGY6Uv)_^RCt|0=O24q2~1{-})m?DKS zBm%*rz!!Hd{7TTR8 zqFk4=WXtYbuGxaSS8%zi?A9w?>;0eOV(Su*lgloc38{u?Omzxj;aKP?eZtW^#pBA>(PDR9|63MF$uP4YRCee#o|6CjSi#HqWR()$8ehAs z-K8ehb8|VDx$5yG)jbXV63>#~7=BPr;Mvg$SHh0;yk-1s#~|+UkG*nsJYVNd2mhus z8UBr#2JB%DGqSGDT|Z;}=VRIS4SNq%RjysJ)6=o3>-LNARWr7qR)3`NVJ1hg?&Q4X zVMoOGzP@wLd&T$Fr5~5RHMLNm(Xq2XQsA%pjC$5RynKzC3tWY`r|^}S-F_oq{3CFG z!}-gTd|z446KvtxQt6&pGEa?ziWzP(RV~rnbB9a-IB+59JS-#M9D+ z-nW0rZeMjSJ6co2@%i(E-#r&tnDI>2-EAqLvhI1XA*YW(x;7VU&Rj3A&Susn=jXZUPHW3X?fXXCE~qaPh}(B` zRlwg{K?Tiz8au3y&f1(cX-|*B_a75(Enm7r!TyKm$$dfM;$O3aFT8$Hx$gAi8Sc;d zK3rerX0{^fZ`T#sUjd)B?H*0Lf9TOG!5dT7>oy5(o3{S2PZHz#-p})YZOsc|S$)c- zo>A=MmLn0m8zp4S4&FGHRCxPZ;8Dqt=#BSXY#*`h+xl$9W+lf?&p%o_<~4PH&RlVi zH~QcTq3JG4g_3E3XYCnlW+dA^`u!_VuqWM3>Dms?eI7betJD9i;5;^Sj`P;}0q3j! zb2V*j{im>l`&0YQmroOX(-sFAe0sfCrrTHk*(0ahi`90x^q!xT)jNNh(#b%(Zy^exr*oQ~uC$)E17 zXFsZXFlfe-OdiD#@j+Y`{}p?RPBJ6w&akUUN8);lIIZzgv}BA|B65Ho_V`r;r&p1n zZ{nFaOlxF0k)y{BIeyhikCSsAxMq%j6*gsUJFZEDEq?e{<6IuK$*{+-8Wh4%^a)QT zWA`&@JPB;@vqI8zGUzi(-B%-tNfrUQ-x&VHY3x&LY9D}g>0OXV_Q?1gikOlHqY`GN zcn_4wX@wGq8-ja(3N_!tje@Qu$9z(}uW;Nsch3*vuZaSQ5ETyot=`ZAma3HCycyTH zB}U1HlDDo>+5Vu{KI9a={xrS(rTM*I>x9+tx0y^2EFZQE!)!2~-LH$WtBS+skI04s7HFCmVKg}mNY8vJR S^=_#E0000 zzmH8p6vrP4LdZsIf~W%_71-A=#*GMTBHE zd_U`r%+B6>?#zAj=H3-2IXiRbe9y0Y=FZH$ZwG^X^j4;R1-z*1P5E4OXX#Xsn4jqB z?!p=jHfM5v$*?nJ$TozCDYzu|tLFES^>&(`P;j@zd&G6b6!a6S>RZzk+xWm&QR2D! zA|~K(;``z-(H$C_6IUhWkIf4M)+cOX6Wd_%h0h}7C+7$15Kiw?Se zV!lq1B$+C%a=!CYeSBw|u2rk(c{!L6cSZOmY3cmnGb>fCqRzn;*NJGCg}Emtz->dO&ls{;nvMmI zisRG~yNN#)c9-E0*%Ps=lGWl9-(w>V#he@G#8x0qMshI+X)s`&p4H9?M+`A`1&bq& zW;5a?vE|&CeHPZLoWyGgEYsDuVfBfHn5=`k#LZOoCT=-)vb)Wu*CBW&oqkHYu+CD# zK#C(Ddo;m^gQDZxNa;HpNiFjnCvAw;@@JyrR^e9?bsW6aGihxT&T!6_1dGxr2_9+@ z>A@B{BdL%ei%c83*h1+-3msJ6wbWZxV{Wq)m)IuQT4EO#f17Ca{HI9pzXpxEm(0)DSBh;#O;@;}hS|r1+|sJ$1i0#JX!_V6KbNi6%cumst2oofFR^v2#|}a{L186Sn+B z{p5J-_$0>ONAZJUzsmmX5Q7Yzq&Jq6Qn(`y6VuRN;@nu}*dGH^N7%kC#uwx#=i7+w zCnx#GZT(*k(o5pH0FZ%+p-F*UmlF~`vjCB@=fYvDSHumn zs8j7 zV6OEoIpX0>Vp$xMfQ7+E(rc6O#psAUjglm~*yuI+Npf(W5!Y3W1;riEH$-yo&NIb$ wj#zkD5$h5}1_o?zr=?(tg#Z8m07*qoM6N<$f@F^{f&c&j literal 0 HcmV?d00001 diff --git a/ios/app/main.m b/ios/app/main.m new file mode 100644 index 000000000..954584f14 --- /dev/null +++ b/ios/app/main.m @@ -0,0 +1,10 @@ +#import + +#import "MBXAppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBXAppDelegate class])); + } +} diff --git a/ios/app/mapboxgl-app.gyp b/ios/app/mapboxgl-app.gyp new file mode 100644 index 000000000..7287932fc --- /dev/null +++ b/ios/app/mapboxgl-app.gyp @@ -0,0 +1,57 @@ +{ + 'includes': [ + '../../gyp/common.gypi', + ], + 'targets': [ + { 'target_name': 'iosapp', + 'product_name': 'Mapbox GL', + 'type': 'executable', + 'product_extension': 'app', + 'mac_bundle': 1, + 'mac_bundle_resources': [ + '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

+HCMFy?^PlQc;%DpX zhbUZIMMyyZeVmn#pm_=*lkH`BOm@iG@OZI&(r}wpl3*M7t&1_ zx)3^;^`5_paq^WbW#RgD_`r=aapqik<`4g{9DDHv&XG7)F8}nWtVFRZNk{dHd}-4f zoeRgwZ@-Q~^HJ(zj;)pHM-*=8OFFBc2}SppINGMz4=pdFPIt(i)pG0C;7ggU7I)pc z>qf0leiMhwsO&i~I-ZD!4>kn9JR|8rMGA`mr2qPP2yq(oIDH&uylo z!di6D4beOSvVw*Tw$&vKB(ve2nS55T^V59uNU2feT|;sJ+(tQy}cHbu)E zSm>E9!x*t^$Ucg_-PH8?GJXD;SbbcX<1CU`9l0B;Basf1LRI*Wx(eVe1Ay~f{e15{ zLpN?xFbE6-j6aSoK`*Q_C=d^FQu~lIymYCDG`OF#y{Lw!${{u>2u3UH2)F5YMOxCK zd36eCF)6IYHD21J=!F^^!iXy_29H@yVKIJ1PNFE|5oT%(byQYQ?jTe@TtZKsHaS9D zlkN`O0S5L11NPH@{LlV*dG5LAV}efsTwcrxJ=;t$`j99@9@$B%LGF!Deb>)0QoiGN zzIXf4jBQ+=(mPT#Y}d7)@r}HaZ!}D3dYA*5h6-3_63O{JWAhsiO(ytvpL~f#yJ3yk z3Ltzrndw%)j%{`XMq?tPv4ytHXI@6eRV1{18`$DA8T6JjGi?7F&M4h*4Icf_$L&`S zu+IWW4_dOa^|GW-;hYImt-#Lr4r*BE&R@thNh=7+dvmpu_gnq0fA2FLCgK7VH^c1M?8ArUv(G+_XjAOo;1+Ui zIChhsVI*{S-%)U?>Q|-{4AyQFX@v`XHN>faC4swRkhu2ny!JM`t!P^w6YCCwItS1k z^0K1+TAht3&7_jJ{bnfr2Z5t5Yu50;DR a4w^2p)l!oy{_7{iP>71>_Cz(&;X$};qZeaARPuxH--4ri-e02waCKl==freR!X3f*7p@Sv$tQTrUffwy%PkYAF}^Mi<-%__eL{`fIVXfZ zP`};8m2g7nq1*}yqk$6#Luc80ooU*)$V@!WZD8M_nw9Nl5Q}!{%edKIJpToTgso?t z^~bvdr(vGXNiQ(t)(>es(#`@#-+tfO#*Os{2qO<-1xrC>g6)0BJQQr|G@C{+BPoqC zb}T)(PrFn-f}t3Cvp&7Yvv=wz`ZmA$4u-rtwrDq3h1Vb|`whz%0tf;LbRfMcq<9}f z7#c>{@$j)R&IH&z!j5H2Y#U7e9%!nw-3Lw*N#U3ILPY3e#R0H@p=@Ii?P(Bg0?*cI zyZ$R`-Qrh6*wZr`WfYaHyGyJRZeT|vjS@GC6*(RJ9AIGY7_e37>`NSDv#&^B+rQ2? z$Kst_rPU1AiO>XZ#oQr@pnKaylZ*F+p!v1UHmTJyJa;0ssn;(Vz_-k%$*i5HVFk7V z+@u+|2$%W#D?W6lZ@*+5eLC&iZ@zPNT!p0x+wte2-B(8W2wTBOu)3+`Q2fup1y#L<2e0TLD2Z;*TZttdT<-05?AyffmxAAuj*C5Yw0bo#> zTkH;TC0U!>&aT3x0Al%^T{e**)P{CDv3alI%_?=8Wni6$X7?b~4}L>k7Ns#z2WMRa z^*~ubU5m?bO!=J=mv7{c!d78K8uk(ou_7Yf^prXAEwj9VUirfOW$5u_IsVGa=${{9 zx1JAECF|rF&N5&(ENFH9##M}>--{EVk39E68Jju94rKGpkYXDGtSN|)2}z6Xc<_!8 zq8zdXfF5XedNG=|AMS#sx{QXwmG5dNsNIm~z+kouo094|&cwD|sN2xAL4~|p2p^(v zm{kh#um)r5H`Pw0D``h33<@L)CL_!mR~4;XDFi0;V?7r_fn#l+otoy*=SSF3;8?nQ zudFgL;LQ90rk^dq*fa6+Aq=vGgZOXF&VHg}lY@PIt> zbHEt|HU+F0hbVY2=8XR+CQD>`>v3=Fob?_0m3}r50E|F$zdYS7EuO9WxY$N{ZJBMjSxs|=Sq6jz-RWzP`WmA@aQonK zCb=fCPf)jt0+z~(QbJ4bAlr6WuMevP*nBNkcZ0QG3tmN zDQ_>Xm4yv#VN{PKE$QjN9bn+=V4$|=Xv31Mf6!I8O(zX@^Wd9*&|k+zkTxwgADcju zsgIeivE)XZba<{UBGPM;$s2tp?NAsUyW=djCXn!DF715%*h+u^873n2|1r4Zat#^p z!fWJ=y)}(4Zki;UaK2@7{I>j>P+8_}{xx;)#wKdO;&awTcs4)LhqgVw#`C@kAOU*Q zA!RZ0w+mk_XxHblPo(7vfJPEZzxqw4S!VGev!5~w z?mjTizRT`DU>Gk4!a9J~fzkK&a|~q6RyvqD+h?UcU}o%-k3TB^=|BGaD4MG*t1)Bf zps+Vr2QGJ~5l+<}Yy{PRZ>e=d*IKawk{AOC+w7t~BiU5~?1t|1UPmR%?RudOn`Q^}b}0-iV{X|LH9`=P zF7b1q5Bh?Zf}VQl6}+IVE^RI@++fC&gY8bAEa#_xQ0`s)yv$wu3LArmW%9(Ca`?jY z7|h;BKm9T)S@+6JY~hQ5GINHlYiF4mg>fQnX+6R0ivQbILOP{*@`K=p8Y2RTcnO+m z>dqcoaOEL{Pu1cSM@C0jbcBC6+72WoD;0`eGv>1@yJMA@_jSVM~%io%E zG`x86N!so0E;^BGgy^eHJHyrZy{Tqk+Mfx=MRVuT5#INJjVSiHu2e?bu>Ua-PWba) zW7jwDh7qoQdB&IK$FRC?xQJ;Z4X>_$2Umn{QjeJRCxdsxZw(~;HI40HB_2#SGB*2G zp!Bafef|5s3Lx2|B~S@8NNC|9zwDt1#I^I*4n#GmE0@12r%s<`#*7Z!q$^^qBwT&% z`Nm87Cm=OWbhr$r8i_A3%QcREw~W36t6^%mT3NwFGSI|~zuz5n;CxKS%VoLyckh%h zKL50Q_Q^*9&zM_=GH8dMZuso}$NU}aHEws7SCuiH{=)QiTrj1kMH5qH#+kpUyORB;(81AjCKUP1r?iWEqml<(i|cWOKUSVi!4R$d`Q1NHP4Ck=fy zVCo}EG+u|#j)6Z`MZmR8rFEFmq!`8ZyN5t@H658=6|pV$El zo@0$OG+YI-N);wzRRl)Pa<3sg3~QTVSvEbiQo9Ij0bU~uL&1rg#g6F$nhGM;*C zT9rh^Q80fBaz+Ao1HkPLUfKBr1OY}-lUZLzSN#(vDK26_e(M%_u!9jNV^5s8z?P~< zP*po!rca-O`C}kKI13$KRK#K@BbduNn23^z8Fm_5SZ4L(7x**tg>aKAEWk!xh2c4? zrl&a+OIxx91VL%s8E98U)baNuZqqb;+$|K&GDY3TJ-mWYqADn(YFV2IL!QbVbOD2I zc+>Y%2+#;|r}H|R6#LxV`Z)y`@!S<4`UKtLWxn=rovnIN6%wX&z!rZF*G>v$IonCp zyrLY`i>n#heT=fL^av{pk8@@d=e9f=Vjp}a0H7=1E7LE2T`khpnbfp>NT#^LX&HQW zGE2PXvpD5Bqn9CT%J~8S06+jqL_t&@+}`;S0*Q>jLN7rfu?%O~RJn?k8&)rTHZ9vj zwI9T?hLsic2pcCh%u6*_;S1~li)o1$?GS|_FIK%`0)o0?<#2F%0NPd%I!+?zfNK*W zWWFrixfN~w{>9I*3;PO#cveM@pQKMjg76B+(WVg+Q@)^|X0rwbvSaLrGB&hY?$G8I)-_PK4yEg+&h7jC$8awo)d=36FPAb6Gk=; z!_bBd+3Olu^o-1C7d$$8g{y$oSML2&X!{Dy_HZT_)3Gyn7L% ziIa7ZFV;zIyfWHoWq+~iU2)dvD>?a)7@>)55@)QWNN^@yH zkQ5=zxnAM1t#bA4AeYV*v6g{tvBTi|y>`SJzJK-E$1!NpTPqFKx@)S*(9XzqVbn({ z*^`@9sp!Jym%TdFuh{uZH_wciX$4OAn#>O2**AxVf%*rGgUzHiz#W43@fO$Vl5Fc+ z@4ZdL86%pvtavb@zo~X0y`{)EaimbOz-q`CGp3_qH-m2_swR^7knt3&)|o<V8xA|oJ8NocBrs5-H@a2-YkAsJhxb2HyB55D>m#^Yk>pidx_96tXn z&kJS#_Vse}SAUB-(U~%R?gD3w94U`RQ6mXKgqc~8pTe-UVCTy1X&m5HA!Nm~I${RZ zc2hfS&)1NtvMm_aGRftk#==TS*oVXvtlBNKVNSG`DUKQGrr%g&bwd~xaNPN-!^DEG zM+h~lERDdNjk9~v-1WQV+Pgn5i`Z+p(lL5?Is`L?hBex@*84T_G z4YEQYqbR~7U2JoBi1P45scLJfcYSe`-F{6~AIrClz%VfAR+QordkC0bg@D{{w=D!@ z^qqc;voeg>RBO$KTeSe_-yI6VdLsQLR+@{#*tPOfb|zH z>CTh`7kpdBRw)D<4j^4!MsPWVN?-`^(Do5ddOz|q_F$}lvP+kf4xaGtHAEX4M=+i^ zhA_fTU6ZG0pvl!(O<6{zYi(nZ0xL8r*i&c1EQmPs^9r4F-o;()NXF`kxQdbhDIR0rQvKu z(ULmfGjvU?$*4&~-=ysNz519&ev_VUudZOK>Ec9#D}uI(!;Q*QZ*xe5)b5cl(g&zwoMf@oSAAA-8-m_1cara0bz3e(@CV<{N!{Ed&8; zo;6=bv;A=2fB=#mdIdBp$r9GW>=kMXZyK%yxCQOyOBdr{nwowjXQeh+>>^XdX1?Cr z{s|13Zmici9|t6$1h?Ku=eq7j)K>5Voz`leIWtb9%<#$;5T@nt578D4jAdW4GB zM9j$Nth8a{a5R^Va5CRAmq}{mN0aivwGj-12M$e?+aG;duKo0HDA#(KM!2wIR%U0* z^8G8({)SMAa+8E*4A1X>@+l15k#goc-z_Izc@F<2m`zlrs&GKuF$~Y=Z{KCNu@7M? z$(J@As~-ZuBkWz8rjAA@1*> zV`x7l-2MRq4_2OAEK4;btnBzuyP_SUMHq!tRklXhl}TC<{y-l;GRl67bR`cMgj^xX zm5E3IoYwF?eNohD6M_Iz=kV|Z?U@ZfP-7Br+B#&2gwXgA4JJO?Z<0j=z7_P6PEUzgHElRaD4Uma&1_T!5}!z4pJ3QMn?M;~(%s zx4Ek0IGAH_Q%K?iC$J9F{?9N!_5d2ahoH0$?nYgWq9A=pyGB2_A7G#l1|Y^h&NdOv zr1dTPFWcevIMQ9)cWeB3hvbt!vkljzlWLnULBmbErE%Ji>x>^e{K=0oL9u$s%~on^ z-p#$?fsN2|0dEh?HGIO6sdOW>%h7)BhTy67q4n4kMEEMMYK{g-P`a_|xR5^i8~p*} zT3b-q3TIDddwgl9yT_<~f&+8KuZ6MDQE+Rmsgypk9`8jOIpAcm-~H)dm1i!n^UR5p zJH+cEGy~N4gr!zQ7x@Wi5Lm$9C2VJ9HS}|)t+TIxtHx^@<{)(L*5zu7t~1!g+unX6 zJt}w9%AkiX2V@P202*FgY2pxA|r{`0;?RBK{ z=Z+wPa58fqRiwkmNgF+Ww~JM%CT}W-TrEt6YIpZ&(gcm!U@LEntKWOQGoWQ!TXknD zw%etRwFT=GK5~Iq0jHk(k?Da$W{!uMj2IZ0C|BS8Wx4sYpOuNT+QeL-ytmmQ4BHtF zZ90i@`1IM+80TZxg%Go`x{m7FjdJ@}zbu#j^iL5|zFW?|{cUVVXtywCjx59DGo(Mj zD$=jYDnd+dyDKd85isED;=3!+={MhGwt2X$&#^M4`U!RB3F^))Yg01D$-Q&eu5nl- zO#cis-=xrkUOX(1{{8S|I~jz@RP{^7bCDg7bmA$60AoJc+3r;1d>X;U)P+OgL#Hj9 z>Fv}9B_nGo#aB;hjV_rXBy84-VBXIL$998*T4O3uI7_IsH%|1~Y(Z32Ju9U1{ zC@riC!7|Zt5!OCF+F%EL`QUGakF$@=rvzQP%b2)x@+)gA0W)mFk3_jFZ@0wM9m6%f z0eSUTNi!AGNY}u?O(9C5RY6NtF*a8woGXX82oCfh?GbI)Q`uKG*;!E`1>31fwvP7j z(lu7fRnb~R5K&cg_S&Ve7nwMID%7-&961ZQic?lZ)=<%;KTvRXyz+{+82uIPf)d!T zMfSj3abGJ=19exFjv_3L53QG5tgV@A7Guz5Mv?53HaSN~ z*UmOPzUI&V3Lt^d1hi9VOQKg)%u_;3T$ijzn1R!#;)~BdiLGuG3S`!*6VG{p#s=wT zzt!b8!*sz4q65xKd{GJlIDoIlEMz~m1tYXlCw$Gf<-4ax<4f4X9Ps6ArMq?IYDmBQ z_mp%ua0@BsXPGtVbwGD#pdk@*NqzQhb+!9PbJn5_Mb}DWVkF*9*e~5JG?Cb?|U0_DPwmEmVs^@)3i|#IG_;ln) zAK+@n;P5mmQXiEYKmAEL`s%CY^jmM0J0E|{0fLvx@z>vA3**DhO_#eEfFh~1~gk7DeP9m$tpgrE^L3rrwBU~~rh zit>r#5)b2usn#?L;Vn&;pB2-f*IKc4U$DbhN%p>%jXv)ywl$-PtO-8RE zpr(ken>ZOl?PiE`A(lAz!EhRm3zL0b7cZ?ytw+DxZzw>-A%(Ge(ZJ9Ox6`BXWxh37 z4`cTR2mQl42-}Y7kE12@hO!E^n{bpS zCsv;1+sQXn`CRl<0C9ChfyA~XQ1m^z+$_S4C9;pT?1r(Sh5$xTSC90!ULvYLJ38`V zXEV3H-HkIT&%d#}8rg?B8S1gHJ4ElTGhwJJbFKusZMW)iOXVTV(I_-L$=1*>qH6eD zY}KtW;$*}sxyC`=w1p zIPN{4>su?m)_2>I&OEy@tDhfI_{cE)5Z{JshLItTt1qcZMX?s z?*T*8A8m&=d8?|ekg+pVjo;0?iQSZ~>%aY}_MdqGF{u*A*j=|hb$xonbVEPQ(;m3Z z-6Y=y&GKi5O}tJy8szLIsdg9=i$T{x0r&HFe^Snzd#3NXAidE#88L!vL`E z>Rq?416qK!s-wF50saIOO9Kk@adNjd04;k0=}+cSCtcdndsV0YyiDZCIJ;AQakX6g z@lVS1v(J_bKl~wv`Jb1&s7#$;)#KS8e3xZ4wS`q5LfzCU}6i@)7XB{Vpv7OCd<0u+bD2p z3nRlnz)aED(IYW9Ewb(J;b%_r3}db!19AhRR(q-C>%Gh9f@hdOnb8S0$Pi~M*sQ2) zU)xe|obFq|3+&F|i?duc*;1F?;M<;RJ*k3Z9ko}ewgql^P-CsPe6%h#W?p3lD$X71 zBS>tEgopi-D*~>Rgt}J0KwJEblSb+u%-9GFGR<7Vph~SfX<=iI@Tf52N`vi5fkYuw zx|7jPwKM&l1QHMWiF^H?+!w1x$BJ02gt*e!rQNd|2S$`o^!K^ik5xA0uvEVRE)5)@5<;Dr!7y+ zoGa@ii>PPar46DM*<|9Og=B%V5|eg8M5p}X!TQAu93ea*gq)f@RK~Ggx{VOBj{VY@ zs&-O+O|(h-;C6t44hGt^;WL+X75!!B*$=ML>2ELE?cjyLUXaf5<~Sozy^0(*A<}Sy$r+Y-Ua5h@N0Xm z%oGM3SeUFlAx)%o5cU+nivS0ZY76rIdp~0p1l@PkEgbk0W&Lxg$P=!u&vh`-KRZ<6 z&*z+d&NQ3qdhT3qfqpr$JmeU!n6+XBU zvXgpEv@UZHp|}nX=^$jW`_F=A*oa`fr1mHqECAlSn=Op^zfnKg*;pJ)SaIw`u>5n< z8!RhakOt+3Q2Iv!?i}Tl5Nti05 z$B&oON8dsH;tuK;UzKH4lGacqlF^txi!BJuh{mdO*DjTXo7ZARWE#~CchMOd1-^9! z5$%ms9noc5h>`)A^{l`pAWijUuwDF$hnSIv8ItLfnXAs(Rt=Lw4NwH(LX`%Zs5=~q znUM)qo9>m%fAN>G+tdqx_>aQ){yHa>Po6zj&VTP6CTv$x!I^Iu%w#G}*GuMeef=H` z*YR@d%{R&y|M!39jFr#Jh3|hC0c5&dd+$9|xUPpCN6@r|l;LC|K;i5Z0?x#-BV}ps zM%1g!pEJBNU}1LvjN)!=da{fhKFsc9x54SFFo|@t>}E!#McINTET`Aj3Xc$af@6M7 zUjYC!-T8IUv(r?EA4m4c%Etc-*!B=+;t zq?UkP)4+rF%D%=_ z3x;?JVT4r_g^?w;?A1nTm~(N)*(q=O-1#ztiqu_Pz44v!C&@zF=+Cg*G| zE|16R5wc0(-`EH400TQ=z>%P5zJ5FBS&~suzyeWXeWp5D|%f!En(|^k3PRQZ~)jXK|3x1>xb~pZ{d|l>7*2X zwa{C>H3;m4Z9jB#>!vNjY}NH!y^Dv$eLIEyd8S+5ZwE^JZvkBk(vKwelDlb!dJ?lz zSJ{&HQ?|Q(|% zo}K?!x~{I;fzFK954@6=6C(|u4n7k<(Xh$G@~Nhm5v(DcCeu!0)2X^PNf>f$S4PtojF<#aj4$nojYai!2|3>JQL$a2plu# zE|hh)>QoS!zi|bF)vI9}GKC;Aag4+G*uM7>+lX!`h@hSot0GYZffqU%)Tp@(AaiESF1v_1B^2{>s1j7p&k+m9PHtFJfn^ z$vnzb#H^eSj<0ns+`KwnEhL%x< z!zkHwy$CB!$n<(BoPIs{wBHoy>PX)9sH&Py9J(5k0$j$fLGzB?2HzbhRoRj@DxQ18 z^?wsS`yJyey!gJ`__lxR*9i#k6b!mVPa60~QB?yJ((0e@R$uc~015YmIEHnFMFDeS zY?3}yL;I$OA#UyO2*$TmaeBngYnD+JGk3UgYhzdE3~PB6G;-x9H~;X!#}Gmg?8JS3 zdmLbO6~ww%6|n1!6?g(K3LkzOL47RGW7^5kzZ<{(WZ5mDtA*M+`Kq4+gTl=Qwjv9& zZ0gGf6yvO_j~!*@hN@_BZJyURI3SIgYhi=m=<_`-`E%6Ya-jL-)tctEGBF|KnM zuWHCElwB2Q@fGa@$X$&!KXGQyuz?NLD%*39u_49t#~zhib4%=$McrVhGNKd`_-&Wq z;Q6;51GRmMhyHy{ww@sMzQ}_1Gf3y&4i>c81gPO4!|Z(90ex-)2vf9C`jH{VgIJB{ zo9e7NIYVDh|IzLNI?oL(6ed$AUX+V_lYEnF6R-nIjVK(p6mFewz2IiM@AYdE-F6d< znr|By2F!P#%rJVtPMIn+0edZrLHE(^uK*&%B0Fv(o56@m3fK52TGMN z3|76vLnd6-g*kA34fM^pTDR?b4!B&Z5U_2q?GlcN+Krr@R}QwO5UKmQX~dl}5=5b5 z9VSS>5Jtd67$Ac$anemy@KSh@A`Po^RlznU{fpw&l?SoY&Bpo=yF#5QBhS8oka4Tb zUcVgbS#H%ir3%*hXG1k(i8Cxb;B4u`+ZbVU80X2eTqiN)ZdOIG71?C=-a{v&!wrCJ zKjvTSstsj;6+acv&NSO;>-x>e8*T&!TNSKz$|IUIJ`X036@?*~%Jt<(y^9k6HM}t^lTTYWy5C$b;qD zFMd&0?xD6e1@qPPS*GKvt9B=6-h3+z&*$#n;TJY9(0FUZVE-C@EV7+K-Xiu33L;bV!NaYyPK;x?twKoKeyLAZc-f}4amrPM z+U~vkw}LQyh)JFhc4BqR{=Vsp`X|`eR~+yklO8E}Gv-2{IeC`Ci8Qyqwg^45s~Q5@ z5V$)0%=u8kn!9l=jMeXd@ewPGUtupr`Jv$lYJ6j0g4)ZZcy3=x6(wLT^V$@qI9tRvp@MyW$d5-t8$u|8;Qj^tR9D7bkMc> zTNR*x9gy13HNJjsvH4BAs9-9&p2V)|m3e<7u3JTwz9O5gxk=w?u(|b13##};Km(gv z{3}chAxvynJ#dDf`9^|u)6AI3e5V~qEB$?Z3?>4mR%TNt1Txgl=Edv=9aEl1(tH%K zUAh5g_Hrh$X}Zol(oxZ8MOkgWfudG=)~`ZCGWD6+I-MGGg)k-P%M){$S@uy@l*E^_ zk(IO+T1+!{+saPJ)iZN@#43ela=YD?l^byU9Kwek!sN*l=ziY{I}mrw8e(=lPEuya zEDcgu5qMXiyN8!QM}6x{Rz;2x=QPm~L@>@C9Ck((dl6nc>Qz{h|pFazV|+6TWX_dfctocZ0~W%sJL$~@|2x88qW z&ZkVBLC~7wKuvb`$(n5;y7icK5ZELb2IOpGdieY^WdXtC?nfV$0S&bUL;-}mrO@`{ zBz7N1pL;f#w~`M>K&1TD4n)CU zhS0jwZ4%c3E`<<0tZJ_C)1QGaVHZcuN(g=5(xaS>51bOs*=cd^j#W>dp*QDVXPHdH z^pd&m{r==Pg)vny5j@=8xI%C z>@tS(sD)Jn^@Nb12ky5P12l(iPCDJ$K{a;19VeYh+Z~VQL62y0(dOa@FG7cJ&BJ$H z{>CFONtw1w$1bnNC)$zyxf9-*L&oW39|>h15uizO+s!;WKoi^lP9lcRF-WhDcfh4b z$EW+;_ywHJv!%Cu-K??{rmkxzlRg1_Jlb0s*YR6E<(qK(D}V%YvH;nkT0jwnAK&sz z3vo|bBGX)FrpkeKg%0y4fBom>M}P2-%TZ2-J_MqaPCJP0R9HJRVdxKsX?qEO4#bTB z(yfu6Zc*3sbCm@z!WfHPQ) zi6ar>h8mU)wkn=v?4*UnybZ$z%&dtNKpFz+X0?w`v3(vhjt^m6mlqaM?-(vK$B$sF zIa;oKb}1cke{Z(jxpK3dc=il~Id)7ijZ;amLcjQI|}^y zm-c1KR5h{gRu=D-l|%QTFHT8*_B=wxDFhMD3&0R{9`y^|==9-WE~d|%2M*LN7UmF0 zSQWW>W8^3rTMhR6Y1QZ1c4Q8X=*T_5F#S!0x z`6N4NS&x@~{Nu9D_Sv1)kERdUz!-fLTaGhtzgdS(B!w=^gSPWvR)p}gGfO1p+{ zq+OF8RS?35jPLm9B-91Wd(6yoJ6WK?zN_7jJ0~Uap$g$R%zLWH+E281$ZF%XJ}ZQz zvo4!m;2Hz}6n6G+a5sJFgj?8+nXi7nd#~?w+)=-)i`t4jpr;-vV{B(V$_mm5f}Dc) zIymu+kyZM6Cn)An*K})NR|H3`I;?>fbfT4$yaLO6$HP9yfUpzRbwXleXgPb1L5 zh2sO|&fH45v&b~mCbl7rFS0l}Q4^pY{QMSTAlfYbUEA5#D&4mIyU+Ibm7cr4+n-3c zq5Jq2uNkkC2UMtw-v*3SgH0Y#IBe(Il{v{BHf4nKY^1&}65^-1o1~ACpU=Y6DQ|v_ zpghJ~yqI$0z^9I@Woho6pq&8uP|GH6YrFT0*>;lXyeACC(aCG*B5u6df9#Y~1bynC z{S`pAz*q~E=+7cOHKbc2nzrX|jKbVJV7BI`KmLpIyFd8-IHb^lJa*IpY5fom zP{Vld!fY6Z4m#U(Svgz4_*$=-m-@zRSqMY2i1Dn0;jdfx*jfm2le5uVg^vt500+8> zdX}m?xm-Vvnocgo8$w1PS3xRM+T@T(54;AE)2J(LXxpG)HiahqKHS8yyYDO^B>d_x zepc>$bp<2gDO6(?$_w9ly}ZOVclSXVo1_k4-tJz##Vqz}Ii)ZH9T{K2A`JJzizhhS zPTjT@kOSt6?|oc8{_CHWqntaTjltN=WO?%+e!m5l0eA(H!l0qhYca={%-ry{QYuBzLgmC`Eg|k8Pu5d`3u?_;`KMXUGJ9RkN+cD=1 zd(aUxklN%Zh-_k{J34k4LF7W2W_K(NQndwfn@$;vAy)fFS^0=rP7W_zhXL21dld#{ z>Fx~}55FUfaMH57Ne!!SKO&6)NeCkD7Q{0%r!v`g)??r_b`0s%rRCE-u04?^X_)@n z{93v3-Y7xh>H$V6w zx7~$_CxMJZVo~qZ!P)P8C;EVo|HFSMbC<6mRLsOB6K4Hv!l>Q5b+g?5`OnMf(WB)g zXM~*k)=RN+H14X?W$i##h{LL&hTY8ENspdTt&^Uj|3T-zY(OLK+$9|TQ5CqrmHy1ccYGj9DZ9l7~~wjH5T32m-3QNXdPWdJ*-(MeWGfl~=# z6TxDG$-Y$tar^z{hxg0vkKZp3uYSb=sIQhIY;-X(ak$*S&)Gv^{GQtgyQ&@eK%few zrwf;a zek9o5rni-hN%eOEVHxV3P?2hV?v${Y2t3NB>``sUwBQOG?^5Cp8u2#JFdR3&?I;iR8 z_lOm7ox$z88oKNAv`=;58DTlvS>GiLW1ThryAnRyb>z%!Y&o~JaNt|~401NX;vHtq zI4#(N?*^ICUs+dLYIhZ61633mlQym^o@JVCFf!4$0&N;R6GY?e8lH!*=SW|C zZlVsL@NxZ<&&&7!As8CYdE)nnU+|d6mwMozLz+jC_usIt~NC84#!~{O$ku z*JYBeSl`_EPC3kMyRb?>QlreCI2-20U5J9Yjyi%<6}S4!xKba&y0UnmYCHjCf|q2zu}eBNObLawWkz+F$rSGzr{T)2UHaIDcjX?aD*KhM+kj5TW+y^uW=n%9?||xL)g|? zS(riX>Ihr?-a+6QnwTul|IYK!Vo1`1gei!Nt2YOVui9 z+BYeLxI2@!3ko-ZQseBwSq4`>EVtY41};1CrLwjQfCBCuh8&_iiJX-)1lBmMoU*L0 z*!H%@ZKw0~p0zJgI2%X!7-ogA_NRMG)zv8L0ChZ8H58b4n~vdJE$LZ_LI|6eDM zt-_9dN*r#u$9mdJ*|L50#;AV6p)R`uXRcUK4#bXS49z!DV_czc3__y*6il=k@$gUW zLB^&g%EakY<&isWF>&#L_Icy|zo9QVi(S?$<1NH7|D;0$pr7%;!5qJ|3DkvJG40rZ{&n4!1lv~R2I>IJv(Y-in-{+8mA^db z`jki5YJ1K=-Q+q+cH(x^YiIB0_Io~e%hG`ZuiidQj$(h@{t6%s>;j$u;}O_Ml=L8V zAKLH}I|AHoZY!iDiKF!ggbw4otqieZ$mUjcy}x(0)){=2F;X_#zGnPXLh z)CbRotFQR>idhBjst>6*FB5H!69Xe<2_wfQ@GJXMmJn;UAkIc`v>2Ncysq> z%isQ|KQCuqdbYgsdv7Mrq%At4!_0P{yl^IFw6A>pQn_*Qt5_wu{>A0;(O>?I+4c#T z|D|&F)#uBbzyG^s;o*Gw;7@;Ae&?V4eyq6s{J;D~nMRdJcaz!ubKiQoy#0@U0PMHQ zjZZ%>lWhMAM_%6iz27OPCr-smnPH=?fj_YrTlG@tK~I1V=0ThrDqVCNcu3o82#j8X z%$RHBtwHMa=`#oz%uK>qEU_{&clE0%+XyOJW1N98j*6r8y$-XgFtUcK*2BwRaFM5a z-JC68xI+lA>Y)!I#Hi{vG~!H=dZemrrOH;G!3_5ib3@|h_LOl#qcB^aMGb?Nr3L$(GH1kvCz;>GT zoAyKE%X2~$AXLe+ZD}888{CbvJt{c3@~Udlb_Uwk>7VUbczo|(0_>`uDpw<%4)4xY z%S)d8M-M`}{osYuQ}69vG(& zXBA`2Ri76&8&YcbWvDvFvSP8jUuDp8}wMJF|&proU zM$7#>S4hWmWJZ{bO4@N1Zv{M$U>EevF=%&Tt=yd3D2o`Vk2A@`h(OrHS%v%H{`VXM zT@sCgMtkX7>fn#|c1HC2NH>Gi^RQuyqseL^ZvRck?WaJ+7T*^MT@!Rg}h}MR|JS z@RI4$KXu~RcDteaB-{PC$EW=jK(=HagHHgS(6`F4CFIk;S`p@>5aP_D```chpZ?eK zT~2_ucCJ^~=>fdke08_l@f9fAIqZhS6#TuT&Gz)`=qMNFD8)VRuc0rVd0! zDA!0BKcqEMjR?IboQrN0Oy^*$2X zLUS?k8ztQ%gumx#KhC}T4ua3QYU#n_>i&nn#OoEp-dk^k7G?xSf0a$-J1|fR3)=_> zg9CMz!Gur~(`WGZ^PqZ!mn!$TSe}|AZsLB6RdG$J&Rl0t4D^}3vVc$ogU|k~q@yL& z1SZ0N!f=!B&Hw7hA;3JuwClpV??(MSkZ_w7<2VllCeC2LQ`;au&H?M3@8Mp8QTI%c zR-1fY6lcX>q>|!G1{eHoG&TH%Bk&#yOndu#$ zmaRFJ_*z5C<=0Rkn%~17H#vlH3}M~;9v*1i1gqTk$peZHSjYLHI2dTOEt-l!rwLrU z>P4!>=xERiourj@2<;Jb@?PQVaCp)yHBktGi~|J`7na6NxigomGjCvW$l}B!PFuhK@z1Ms(Ba%Guf-hq@ZOgpNbAfc4hCfmj>2$l z0N;7){49I8#(XgOt0lm7vM>Ssl{JB%WzD7SQW5UOrUzvyUA^KlLAMq!L zK#qgDGe^!cHnM;31?Kx{+*P~S<$NpxU;O^_m`}ye_iB6fnCILXIM+CKp&3<5@5X!I z#3zyw5w`&+z9wy&{>(KFMt92?fI^eADQ{p*fg=4)P*N)ZS%%|3`3dV<{`?x8MmSvo zq{cm}1V#P0dLQ))Y}>ojK)%2zol292a!}#VaMAmnr{Aq!!9}l!6}rNucbXE+W25KQ zdpmpLSK@38J%EfbS*xmM>Mq%jeHFHF{rI>tsI7d$OdO64@T3{2V%x=9Aa=6Y_t8f6 z+_@q)HZ_lpdKHJ<`O-5bZ^}`hiTMe z_2~A!>Kwwu`D>Tr!!F#g>1VQf_|>iISAYMX`N(b~aJ*Z+$=;F&x9~zmF|U5_EjF6Z zR@dHqwfY>_xDUU+TU~jT6S&!^EZw(RQ8|C(Ms?%6uVcz}rn-0oSGZ>uVxm)1qb;`h z%$%7G=4(|g0)(23O>x}RRdd6#t2dgK*_BI^1f3<5D=kehR{G0a(64FVt+l22bFarJ z!pIC-Ax*Tl)?Pz1@;p4_=pDzy%gBV50%ifh!fSZQ!K0SigH2p??!w4uw&m&Ti_pXg zT}{h4W6=$)9J-rCdE>fvubfu37o%Cw76dhg@kR2$Ep zRp0sBzolHXYo7aX=~9?stzpJCeSVt!c)|j=LBTOMIeU)17(19=ea!xnB{rVVMY-m& zFO-evo_MZi&(r2(e^b1NP60b2b^)S` z(4jWOO_K+C9V17;wOqAj-Obku8`}s(80kb60Zs6?b4P*Vr3b1wt(>p&9|%JtE1KZJD*j%nBjk%gdiF1)6?LyXRD6@5{bvrK2CmoYBr3nIgaAdkK?o2lk*EL`h+J!uNZ8 zj>Rs&V{`2HJBQ`LQ|9k`_wH5aS!@+Y`Am5?7ef5jI@SzRXrg`JpdX_r3uwOfMaDlmqw`!0)v+IJJ462M#Y-5zGuT#soYhvyHrNg) zt&JVql_Y`KdBrd3V@cm)p!~XeQ9nx-4^6KI;{!byU?Z$Hj*ZW!C!mKOYRAEK7u0@u zTKk~jM~^zgB)Fa%0peLkFx`9{OL-#_I)o54AxY<0;fMALA+7`;GAtARfM45k8fJGB z^OPm_S6q7KY6wf3x5Q>(_FmW~Vh|s0CLSl1GHNg3IqJ@Dzo@?a)o-gOteRg%h;R>v zYS{cx=PKhR_6xlK-~G#K3ZZ2Zfnj_qy2#E+KxqBdEy;sjr}8*IZPcC9)@6Y+(R3-8k=2tST3$68Za$25JIx_ILG!{2>TJ^kYM)d&ou zf^`W}VgPeMjK2r1)@4kurg5XY`uu(fM8hMgtxR}(2$<#2SBGGxwl-D}#@M{e*w}zR zlXwo>Uc>VmCU=u(E@q#BCfOi$+e5D@T(xRK6&sWlN`m&biEfqEG$bQwzYTpMf{0+0 zKCEfLquV<7IljU}Rxs83o!p)KKB5odV%0phm0{b1C=os=J)Q^sn08~G6+m82On9gt z&)D<3s;w5M2DK-v<;jfOFJ*?y9Iz*0Hv%+lrZ}{ZdpFyU4ryj4eu;B8`F{5?o|tzO zI4nE%aDYdl{VIFfVg;Ueg%W?q!LyN`ORlA~jodSvVb#uSMrr{`cmVQC~_~|dL zekP3zDbmzGO+{P)@!t68LwxWQI9&L$jSU4??;W?6ZhNzg6A4{X5cdC?{i? zt|Airr?1ekx?`~4TsxZ^)bDBr$_eV88KRQ!QNLzTnB3w~J)&Q$w3V6t4jxE`SoKz)EOg zS;y}DlW3IpVp8W5M15aOflI0a^)#-hD}Zz=?IdXEH7&9VUBX0?Q~i;+PNH@MwIM6m zs()#Y_N!HHp?C?kwZ z-3DWPY1|`Wj4OD1Lo#k|IG&h3%YkeeG_p-G z$e>4IJQ@`yac)AlXL!biK^(_nh!p@8LgIXkoqbf8^qY0a4WoUQ%Chf1MEKW%F91%>E+!wN~ryPY67_m{9{4u>0 z!FVW?h>Z0NH=k^J-Nck*?dikNn1p*z%)7Q(S=xC11XHWC2n5^J6NH6T%$Ua6U-Al@ z(RFdWibh6li3bqQT)A95`0yj{F$cMM2~(*&!yrwbtRKAzu4iKIEI6)KcYg8nYKxD? z1S?&!_k$E_@N~sHfAc2$P2OM?8;^9v~O*rxVOr_|^#)Fqg>!W}AvbmT3^S2?f3 z4eITw-lcuhR7*kERe8%UbD+Y9EMea#4@5H9@BQ0WGlNEA64OP;=-P^_;|f5~D~l;v z;wpT{yLr9$FPYtzG49FGeE^=C4{2+8VC7F}99Z(E{mY->9d_T-17r*`@=CDgVU%Bz!>h7)IhR3aOG=3Z+0(=+YD36Y={@Z?ZW@Ze*!!tux zI5PyVdwj#=%#iHxJ>|cA`17DZ+q1Ke+E4AT*}tr#DHs!ui{366@sT3ZXFAjOo(s~; zbO$&y)&197LyTR%r3*M!*>oX^z9(-mhu6$&*REH0InZ|&s|9%laWVZQ-!!!&|NYqU(CvuF54{asKD;@IzIhrP zgs)P&LB>YS2Vb#hx4l?pFPofU6#yIEN58{k5W!U~SuZ#*002M$NklqOpH@Hr-~SU{t!85-|INSrL3Qn|SMWrINf7-+Goc&owfKO28$bKI|5Uy8S3jt( zzHzg<^y>BMgZ~4sNSDu7bL@{$sOjP{g@$Eg6&IBVBEy(51aknhHA~v}|J}c?e*4o8 ztN-`jV;JM*>aBnI(3p7DfnD)JKMb6?dM z|AU_YwwlGY@#fkh!V&EOo@(%P={tAvT$#5xD}=FZOBGnbRM)0mnipxFmEN}0z~Uwu+Q?+LXNCY5!Gm+q0kOA_ zh@W##JO4?mEd*x;CSeT<_G2|I(qWu- z8I3b>jwlp%0fN86hhsvIS1~u(!3fsP@{3zz(^)UI8NNGia6CH4Dg;Fj;Xb=H}_ zwoASHL(D0Xe($TmHv|FNz_tzHg|zlx1zw-6gMZe|Anpg^Z+;Voq|5w)@SzZ3el-#X zL=XNDK7b{DU3jG}t(S`v+h|Vje*Gz%(BDYS2Y5b36Jk4GdguM>+ReACI|w0bnCwon zC?U=v;3#|u8=+)}zj5%mfj^GNOY7BxuCPRS+r2gXl}=# zhn9Z%4< z4$Xz`_O8A4YBi15qjgrpXEDRk^`xd+b8NEIU9ZB7r$wixA^Z7ve*A8|f-f!XLut-p zo8Msby5%fB;xIrqx1Hr|5c4XW{N&&NH{s5AlD#KC{@Z^W?tX5Cw)rr&c0T>CHXc6A~;3=^L-tYeUpbnLknMxLK)vO?3z|pocwLSkvVqb zxqlO9rZG3t)6~@zAT--zCD@bJHxNqJnACT+9t2J!FnONJJ_@ru#(t6sHn*!$(IxQK z###ty<8#K(LgTgS&WHbq0E3HQHn)#qbE{Tm8t-9OfAW*+?$3T+{r*4v$Li`|{-iqh z+VyILeKQ-Yc{;iq&zEWYduTuA&~i-Ss(URquQNZ;7q-xpUi!h0*w=IwK@zW8N9@}T z`5Ze)1iB9PEDtqUZq6U4&8P5&_4Ie2!KiPt_eGtROnyt(21XqhURdly%t#%f73AfIK36-tt!RQNz}MElY95TR!nBtXcl zDhRDEv|ex22n}$=gN`yi2$g7y^g|J5R(Vgb|qopE+BSJ_{39 z%gtT*F|UxwIcWrwEWOO#$J}b?%IoX_c_*}>Pk#Stb&tNHCgl37?_!SiS!`n0P45t6 z&)P$3=EeL@I<1W1CF=rXWny%@x`#$}X%#P7XschEWI?V!>p(}K4@W<=p4lz?YP>fx z)7yCsbwB1>@)vl{PjO!-wJ+y5Dml5jm;=9|M*I#Y{J;M7$JPCZ537rqSj9d?EI*dn zg#Lg9taHrm|I`2czf@Onxh|jKI2K-9YYT*c+!Wj?huabzqdagbbueAlvx{Hm?qsZ! z#r#3JS$3033hW7`&ZX>9PMfeHP7rHg`GePsS`bIPJ3RrUE>MzLvHXdyz^xG_bni>t zH+PK&p?rl8KL$#-+strJF%j|4FwaWttloO~IB6Fwb80ZJ0*UH#L)63G+f$!-<=b-8 zxf++9q7(T~d<#z2fna@Fth-&+l_;2{NltYhnyemt{%aV*yV%>mh8fALvG2px@S_MH z(#5se5#a2yu{G50eZ!)BOl4LSdenLtJndVo#L@mf#pd)826gTW5pE1y-W(oe;>OsQ zapm+$SP~wYs!Y{o&W2RUiNTKUU}17=H1_73flbh3g`v z;mn!2AgTGgeIxt*E(a2xug+e$4<)xL+YDiL7XUL(#>0aS zBM@)j2rUV1HilWn`0RN!6Bl7(V5l*%+GKJs0!a!bPXgf)#-4fO><}3FEml=oi;9X& za0sF1C3@RheS(I9zM{b6K9Lc|^#U|n!zJ&%4}THYi*LV)Q-O1&f$87eWfS|a*oU%4 zUw(+$*V9DRcf?JwSL4!q?@cn&XHl@59uJL|3=5BtHrN475dg!;fhzB zXD(jEMC`+A_31MNsY}4l^kp3OgUo)DvCcp4>+!0$tZfebR0s(d)}ZDFVy3kO6^vxt zUI_>9TrknrNAoUWIG@F#d$wQT%{U0*qj!DT{Eo@OEO$Rdu8_-^%A~sjFDMs#>=#9l z$h?jh-?w=6*4KWR>H-o#5>th4>pS^L4=-&Z@AwySgBd6Pam5+1Vd{_5v= zulrtg?Z(^H<43ov#V2srF|SXjt7DzUi~^vQE?_cP6G^b~7Gw-=sE^WzYv_FbBSR{gvw8 z{fE`(pMPH6zV(L&ir=As_c#AT^`jsEMRoP+wa63SUh+i+dJz=q%v-KLWn~(erLrYS z;KYOUh}`W@Cr^7@m(WIVH;57q{6QJW(?;6{z+kM|MkQZQ0WbJ)iUNo>qmW9X8bI8N z#N-%D*T7wkPi1&aV-x^5^i`{N@GA67LN-C#Ngwaj(o zp#tST-q9}`7rzvxVB(*lzYM?IQGe2Tg(O((IAM6tPuOMoCPP8JiD_<13a?Ijg(-y% zK_HazOXjaz_cn7YkeHwH8Ee~UEZFjEMD!Q;5)CUvvT0e5YSZVjvjAVcfaxS)gMA$y zbhv?lF~Z6xtr6{!6$`N8L2DWlO80Jrc@_-yCaY2F>(9u8M;$a>nscqf;N1OisXF%t zu9aVXy?XfBXVv3RKgH|SZ0cMY5iGvK?h_2_K3A7+mZ4npFXAol5B&j_LnnmRfDj;dBef|`hBF(8>K+&Aa zIY~ZtL?MKF^!E*+IyxK|69{(pDNP6_*h8b1rF{5v-v`=E8O~1d{UG5Zl2D;=-O7V~ zD*79!=6NrSSt6wiZ#xhN-!8-&MHUYpYdszHiOV z_REp+)?2eF^LO`!h-0DIK@iABxtRneo^OQ<-D;#k(oEC6X z!vaUTcyDM*?dHu_^>346pXU~mAR5Rey3TbPms1o#T0BKe#APb8S9}AQpQQFSc;Mzr zbTWTVu4P3sm`^6XH4c>O4`o%aKmJeeS;ipSqYS>RgK;t?Fn+F()|<|seEumWGBeeM zx87qVo)0pcgPT!vtjfy>VZ%Lyt5k##O+Gq9B_N59Hq)gYIO>2PE1dZHYx|AE5PN=z z0*E%sYD&tzISkp-d0&2e>sw;2PCFpI_fO`18rQk+|23PQ*^I6!RuKZ)oO##H-~Ud8 z2jOD6ZocmQVeh(SL|X=7vR!4|(gX|Uk$Bx1OT$hT>+H4%dAh*j-t^Km+sHJYUYvDE zA*2W-_Lqz=^lPC-eS(P>DDnK?fho&&&$=s+IBC20Vr-t3eohOY-9^ofef&1w$uB^|q9=f8N{# z-ao(UQOhundtXgB=^Z>BonDsbVn%qpq7Bq+7hD4HAwQ;-w&T=8a|>Z90BXW^7#!bA zGwUP`4@-XtD)noaa@7(wO|9RH!j+o#kKC~9ykSu}SJ>U-y#g-dm>CxaD$h;XQgebP zGZr|2ATHhZ6|Y=S8m%5bxCQO-hIO4YxfrhxKKUgsus^6~A6-ME{z`S>+>L7E%q7lh zdRVP2JqaN>yv{+l2;kxOU=$&HegZLcc)PlfDey7}7fw6ANaV`%%kXDJ0Xt<0-FxEf zmj?To_f5Zx_~@~`Et$%5C(6u({BG5KJR>5${P;f07-ADT2hH+#Sz8;yI7!qb&!J&n@|6OnS9av=X$&lsy zndBQyh7zA|Pv`d(1&~~!4aDmSL8J=-PY2!8gHjqROltgAMvJ7KZh2<|#Q&(zH$nc> ztIvxp%+&*Y7KYGKgsL$asE439e zVcAdiV%)|4+q)OfVkS|@=%gv0UKK{DMi5I6S!MH^?^Q2(*&AS<&~ot`ZI$n(x~a1j z6i5VWTgD&lpqX7h=ev?GuNFt%FcA_z#YV(ROl)M}qeU5inr{rLAz`EO$jn4F#iT#I zi*UizvdwC^p0+j+7&eyBl5kyn`Z%x}fw>=LQ>zS)Zh+&Q5l&@4bMtk~pDtH-KKf;N zq8i5>Di~vsk`}vaHZ^at3ye#o-KL~yVG%*_;^8mmx z&O3R6>);Qo=U;tQ&0M}5CSID8d1k_<-jA5XHxZ^5Z{NjB(5vxmzbbQ0q0?bk$3}R# z!r_71TeTmq*6$aDpLiVIZWW7 zMR^_s&veqt4da?_9k<-W@N?7+D)+E_{qK_$G)^H&&F{yeh2xoel$VxiTOw8vZ%Z)8 zl139bZiB|syW2m+G0gE0;+{Rei(s))UAXj0b^RxQRXzFQ^J?+VA2{Un0pk-*$mOfm z*@df^LL-Pge^f1Vp3WxY&iTMU3amCk46=qttjjYy)f0rmXKYZPVBEhn$?9+2KjmjS z`>?Z6+)7#5fb3B{Rxx_z*j8+eR6I~Q&VfrQp zNThKDbwfOt^6I3Su*JJKPw!I~7KQda`jBI;6F(qLq^p0*>w=Qe2C>P1`Rsc`sb|bT zjQ7(By)*wQK&){MNcqvyTS|v0HqakYC`3(^=u%FkHGaMC{)mu1byVt)8qDAX!pHX7 zcG&E?>HNZX-{&K7fsNaoHm%7JYVz`7IvE-{@koR=}*m#WwYHFJO z6nMDOg{SAEY%X&i2|~$w2qc`^&VBX=JTl?s?&=T!l6@D8oSyz6!U>-2q(vQs?>>~v zY+j$cbfLQcn_tGp_bD7xs8#V#SGr>pXO!~j`DaJP0!OWzNpT=b_0_XnEIV^x=_LDXjgHV@_<7$D{d&a zoi#C%hTUMg&;o#$V<|SB_od17_6)U?E)1yoQuu7!TsTDt5ne-sZejJkxP%8N>gvbZ zppa1*RIjEn_`a+8khFT&TK7B=HX+CR*!SV+?yXw@82FQOS$e!;-g;(Aa((+?;k`U8}+2<;|Z01^W8iJ}CRuN)MiG`bClwevcEcZZ+EXO>A30lxT{>Le3Y7 zTX*g*bZO&+CN7Cj@C%*t%HYcM^@_z|g&*?%6a^4J5`97B`D-VIqmZi)#<%?lzD*zc zw#)vu%PY-6h4uQQr=X$TG3@0(u2vr0trlK=lU3wba??4J{n0j^AEgpm@Cg3={fNo* z#8TP-%KPEB!>bK(RWaJeepQ0F`wx&gY|0Q)7;$Z#KZOz5Dz5&uBBsMy){76E41<4h zpKNrN(v}qm{!tL?;+)*>9tojamv6VvSf*#BOmPUI(?DrPiK96}jyJF6-ZW0S-NZh0 z12je>wVxZ-ZpyrG>5|W4rLmlvP&Ed|Hkf4+5!^R8LCV;~e^QA%?FQ50c^u9oc|Hkk zrTgDe-1(kmBR>qy(C$t4RL~}98Z_Bjef%)YvV?T!gI~mc4EKH%?S~AFE`KNSgmwAd zcLTQjNi@sS*}~Et1?_YhJkG(0x(pV#&?vd`1=D3&Yiug_5XSYzXVu(|8`Y)nzgwMu z{WbPY-O4>6XU>4n3Z_@L<6uHJq%Z#AE6&q-$T>P!5VTTwXg>h^5@+Cxvceuh2=sDg z-XPWOk$x~`#D#BKX;^oTNZ0#g4?!D&5HeT@^{}}7T*QaCH*-AM-yE-|>#vjX{+Y)7 zUS-frI#COcR|p`w+qJDWFlif|Wc>4KA^8yl?sjQg=Zf%n6^!eVGuLHsNTY%s%x)1r z#J4%*5y4~yGhJzFU42)Ab<@qR@uj}y-KkumQ;zYr%;Ujz9AysiR-lYO=;f;J7SH4C zd$dZOYLUl<1vApdm;!nmE71xfcq7=|K|s+gYY#FR<08T)UhN*=|FT+}TMTW-rSJcc z!#Wqy3Mz!$tyUi0W89v@Sp`~=3kV`}=Q+pgS(s;S`uzd%a8SV%PH zwi*fBriK@r?CS(f<);!(Q2^=1$H~nJ*hXt7=%&WKiC;c_yA#uiI$oSSMY$#ht*GOuB@~W%vt9S80E)P+hNl}0N6$d*#wTlND*oV z4E>VzRIb*+jra;5Rxxqph6hl~2qLAAT@Ustnu!&=W^ugu$`PM{of9<4t@ldZml4t#v%nA?T^OQ3GRL4hq7S4({*MwR*pB za8TazP8iZnEyg5Trmhyl@`X7)JRNCt2%u0R!){-+9-3@LI@|wXbW4#(zQ&klzEZdn zbW8bzKqOwK5UmGIU-W4?8z^q<*SlDScfqG<)R(GB&JUVJ$hh#%_o{`PuVKdcb+vT=PWAAUN7eXk z-d(;HCX_Q*-^BUC^VqPyv7Y-gW3j@o2Lk5hX~r3z>lSeU;i0GFYR>C&OC3(TEqcJe zd^j}<*sJ`OI+h0YaNE)T*BjbCp7H(fiH!kcy1sXP&!t!IJHUYB!low8eVxn!MmEMq z7bf>nbRu5k(PCetMMS|XVj{sFT#YSoB1Qg~b70ygO;f9$>@BD)+mgkjq&7C(Kd(=MoZ5c->l|oApa7^i&4N%>j!BV75Vt&Sv~;wswba+ z0y8$xrt^0(8G(u6W5Kc$1vTCA#R}b%TOq_1)3WlqcXN8lB11jKhEzYExeB|dbCsm^ zaL(SC^FiLL#ekh*VDXRaagF^?>9-iVPzNj4>H`9=WDj3L*+NnYTY@ zfpD^GVgrLo{Uh1?0&~*_n`D?TvFjoqOx;YT?GKm}T8YOZav5 zn6syzfBlDQ=F+ul7W1sjm*1#X*Etge)2wwIQs@nChdPM=Ir_>Z<5H6>+*DA8ZQzyV zqEdDjAu1;cUxq(U3S{@Tjr{hAqd(<-Kb)O;BXKh{njwJR!y}v%NS4>dvb0VTYWYIm@{Ui)=do zm}d@vV$=CJCrq!$N$0kopPACKFJAm!2oBgZ|H#eh#Y52Ez9PP^LMni`Ni+rq01p~i zd&^URV4w&1EFRfmflWxJ{>n? zS)PN!3O{88Zhb%$J}gDdWqt-TK-RU?Kma~#mX_zU+_gS{e=A>XgfG4F}-K8xt(%#(>uyxXpQpA@4{?@>D?l*D3M50D5h*nJ3x*a1t#*7DoNqoDK^&P&+Bp7w%c1 zxqa=p?QK6Tqe9Jxb)LlAT)1MT{hSYElC4A8>tdfsMxTD(&?@_yeN{n4_t^>{-S_={ zXVA0wtG%!+&m1`jMu9CZ(!p|f*7AgM=cHl^mt&1ucAKpfPWxmFw(VG69dxz45`yMt zui;A)adRA$v8%Skg2chGGOqjPXfNgqBD=V0ekH6}!R^r3{8>!9Pbi#J1W;FeEdXtt zt_+CNlx`cLr;K57F7r{LU5wjUOu$SKVPXRf#sosYg2>r7zJtJi18vA%gpseSr(gaq z#+MEy+&gmd!mAwexLQ3&5LsJU42_p%Od(8NVbN@p{aPFRA=Bc4j&q~v#qJIC%pmb7 z2YrfuO}Zp0b+(@WoI~~psp35REm5MU5lWfak@S< zuet!aFLO~BZkeNe*TnCWzXu#;$xk$Sx-XN!-5Bocxv&Rz&qH5&vy=*P--X$Y@7^~M zTAFmTHLnF1f5}Vu;CL~VvFm+9Vjo^0oUQ=UM>7%bB7HnO`+yxU^UKuxQGhnlhCTzU zr<`=YzO)&e&SkzXzWc*!<~(sLk67hpGwKU(I^PeG{`edid(A&gx3@3&!5ONxA*Lw( ztXz#Vl;{4*z|y)QODG@Yy1e>gTH%y`ex*{+kx=42X-qzfAmE>@ThWTNo8Zed*Dd+r z`!Wem!@Mfs_}mRXX%?niVl^<*MW*v;q4jvxPh;yV1F?s0#2bRH-qtjV$oi+`8GJ1? zCTl$dma+=N;&Z<0O#IyfxHnA^LZs>rbyw3dF}(n@^00dJ8?+iQuYqToX}NBr$+-Ca zAF$GTJ@z&YPwZ6lbC&?9`4tQcdnPvAOQOdu1dABF4P2~4y6v;6JN#V;|)fZF{gkdGJ$(d@80Uy{ixKdribk=gSE`2cWIkuOT9Ud_rzR5KUO=LLTU;M z1%@Ab1%{)A-hLZ~kBpNLKDI}2FN_H&4hN!pN4@Cjb=@^9bG1Ggefp$AiT&L7(e}i- z*Tpn?yo$~r+Xo*E6yFL-(lp#y=Vm{mz54??t0|x5Jyrmp4Zs# zaSN>yr=Cxrs}^3nSv^GnO_v|7&#%EhbJySc0h5nM*a33@>Y>m&vj&y^K}%S?T`g9uyp{ zru4Fx`ON|@>X5@^B2r|!LN<8y-tH!WUGZ2LaJMLFh* zo)>vqB&d1(6PFSkFVWXq;Q6X9BBFbcAtoYQ93n$W<3k5l)H_x|>vGELPWD0IISytJc zzO#!-K(P9nfD}C1K4jnOGTYscv1s}{D6Xl3@9T%`r#`jtOFCnGU;1@wOKOaOQH-v# ztc2;Bf!Yd%1_cm>gR)m7%Pi1JDSNL%a)MO&7#kpbn8R|)$?-nNUKwyL^)@cU-g@n~ z+1T_&80a0p2}#%*Vps!Mn~d!Ima>Im03Cn*X+jsS>HRC|y6>6{eK)2NzD$=4mJH3* z%w^1@+<5+TG!z>lB*Y<(YCTx3cH{X3nuv?iipT!fai^6jDuwpn-vTnR`++Gt*>6GqMy;C^%@Q zpwb}>8DkZj^3yAp@45+m?rjHS_NK|${FNc-WjY7L=;rahTdrl=lgpp0&I(!T*bJzlZb1+yrHq83g+PJ5qAKN5z_uv(3*Ul;$q`AUps z+5gluc+FV?iq&yN0}-=A4Kn+;5731+v%Mo<+-Lhl8ec>^(;Mtl+}qzZ5%WHncdm&q zztmm27PG1%bck!ANx2$Vf@LW%IiB3lQWslZ_g(D|F0!~!i1C5r3e)=&%sclkzz9=( zcDB=bLsUI*t%(pd23G`JwI@R(&<_D-6u|-i*wyOFy=r~rG3~KX&E3R&5!co$j~*e2 z+>UQmdd|9lrsS3C%vs*gp0AcT&~O!v$R@(Q!jwTq+O`-4_Ke=W_`k)wEyk2b&1`I` z`9h1e3;)9R&TpRD8PD92e$H-Dzkucs_~-v7=1=X$7Jv-dMpVu|v1z}e52(S5p-a5= zPt&<<&lF0$&%D+<`;+sxPj%M3J<+e@fS%su6;Ffkd)p!7dwtR11kbzsz!S3gky? zjg?x%HXdi5-C|Yg>n~x5Zp4YTJG-nBH7A|_Q?-?hx9a>{@sBeZ_|(bv%9u5SBx(`E zBJXk}F<9ETcv1h9k8k(db8os%mCHLvoDlO>3p?&8E7=a-*RM<`!=MJlP_!Zwp%qDC zPJlA^3Lgp>!N3Hx-XGujVUX94Js?r{P9^H(E!IXP<8YA2t0Fw~mPVhc>s2Ob z>lqvQVLJN5e(hkoplwW?J~?ssVrcAP!8|f#aOQYUV$a6JIW~Cz4o_2G#$kmDAD+cA zbq02wM_xS3sZEZvJvF3dCDI87Q8pKbnxJ&LK% z#Qbb%T^@h_o3MMIU=NArUY=*7>)=rs;*qhL#1*DUGPS}8q@-YiKt`DgQz@9! zO42yGgFk&Vj>nAarGGbF)}^26OrRxQ6wqldKT^4p4hsX$;N6T8+uFSnnmZvRLW9)Q z^uy?YlbY1SI>iQXgatQ%s~M5Ox36}!BE2~eeiE)ijaLsEl<5kZ9h|LsE8Wz7=rv0m zq_w78GQA2j!pcAEkV1rM96#;5c%mJX29d5QfmX9G@=x3(>kcQhDkw+~bH>}~uWBH& zO(>R-WpqFdycLfP+}#R4U}ollX)`kM%sp3{=;b~k@f5|rzwcw9OCYy`|P_q8-mFE zx%1ULg2)EmrOr}UTDdqv;fq~5mF+{9RQVGgf< z&}o&$fpzAxWv&}K-C&I6;tF)Moux;#w=_usCA(hsIq7j!S`-}Zha#GE^|yX#=qPNk zr=Tp06ec4?R_5J$G&J!E%>?|_Y5N|UN9odpPWl41yz6=Hq$}^e_Q0xNbfDKUnc4WB z^jVn}oBBC2S>f(;4XM3!N*S20^WJiM9`nKa`Ogrvc2J8AiA|AjeEZ_z)C7>yIinNR zc*T7O+s^HaWBwAtu_<6@iqpKKLshs7{j7R+d7+wMv+eme-flLX7Y)g=3pmvb^#EXM z9KsgeZISs8hJ!=m4iiQOphRC@m zwG5qg>(WUVd_`!ogfe0J@ecDR>RAMl!!T$HtlOh`-si@4HV$ zKS?<(Q6a&gRz$NawKL{f<#0Avcg0HvE;iG`G^sVw!;eDA2+XH~RcK#g9}F9yX?It~ zT+tol#OMixm|$e7L(~mA#YTLu@dtdb($@dnN3h%ob|!Ct8|`E~VgxJS3KPAqvuzoL zj9So;A*r8hAOX>Wgykx0m`ur}AJN=N0QO0lK)rg!UKeOBRx>l6?yd%MBz!1Cm`UvbJ>7a_l>+rnaN;YY2DCEF7$<8AfnHJ|TV9 zaReHMwkd=)2oiavMv4XdS6=Mf?@iFJ#=6~v-py@#;5Q-Z-#m71qAs1rX`bseft&B^ z5dF9Nj&l6hg#My=aoBtFcHu^6sR0ILej2bPqJH0#w#GBk2GJR-!ZvOF?0pkQdduzB z+55nlgb6Nk3t?~ImFZ71ukHmlIA-vSI5_R0vC(k?VUf0?S%K1i9daEC>t%v(f&#Pv zvx#OQhV^Gp_yDl!{H^cBrt`JutO^^Ln6n$l(?9V~_9KxfOiiO1k#+aP>O(XmN3B2^ zkVOE?!Q7TFoE(sC-|p$>_4|@8K5TrjI8&X8ycINrtMK5T>q>s;QW)`RCj=BXoT~we zF(trGuynO5GW-TtthP6uz`5t+S`WQ=*Zpy#OyOhyb5~5?6+kRst%rY>EAE3ru(H%~ zh;&8x>Y11aWjaD!DchvF-0X*`Heho4JY`N-U;pZ-aRRw+cdbJl_J>`*-mql0U->ux zHG3^M6b(D`9ZzPLX^MJ@ePLef_KwbAX)+uL85J}m$<78-rmjGF9}J8KCE{Lm5>Gx; z=jJJgwnpesC<(7wm~L$#n5ZSuglpx=!=Ryu5-Lcfro)Zy?ira!kf2Y%80^9jhG4?V zw3?gPB)|A1;*)H&1k76qC?SxbDM3hy{-b7KiailB6#R|AsHVL;IESE;Ojpj=(Q-i_ zenRjnreDS6D?UI?r;_2a?@|_H&wCZ}IX3MbrH9mXj9!x%`_6Vz;~?Xy2BUl+ONzs; zjyLnj@JAa^jLh>6COk5eWjr1RM;Hn*YA@7W9Bt*lg=+q$F5IW-R=yXWuobfOmX`05 z5ojUoef08N9d0um|dv_8D`F-CHdFu2~iwnnr-LJ%_kv z?ca`caV|oM!o?W%n2zm|GU3h;2%Dr|-{JsJDzvdlotYnY5lAv$YDq@u+cu%C$ZfQj zZPjVIc-PYK=y#>H1#5_|!qpKNK&2JWQIE10^jF-Q5g#IAp@$R;rs z^+cyY;#Vr>S;`6g`N=+>&(c1T=h6gImRgp(^4zAko`nWY*28WJn3Ar8Pl>YV#H)$P zncXflQO6gP8P>I(OfFXnk$G{12rV9%|)6{C3w!@TZI=Y zTnm$Filhru@oUFlH@BZ1g&p=P1bqh6BqkS_gz|yVURs=-RtM+EGRiyar7)#C;1>}@ zq+d&`YzIH4Zn!Tc+TJ5DO>=YCs>QGGR*ydUb!Y|Ry>pOh`CEVbq`LI}kE*k;-ehI^ z0jqY;==-^1E=?0+3%4$ybIEtQq*d@!0Cqx_R@*QmX|`oi^b0?@IC&UDOENxtt{S?8 z*DUC{%~GKzSnekY!9<}1rw{HeSpz@eg^*AL6Ez*W1%^pi$QV+vlzH=ya%B=cC3;6! zq};1L@yrsJEA?q+x~LiTPiBJt2ScID?a-bmwD32K*Qn5_$Sn9wnvqdf!qMI+cu8Y` z#Wgm_Ge@W$8ls#L4lNB%#4@B}Az_Ddy|;r8`0Gt`@RR*gMpPk2#@@Xn-g{n%jK2)e z;Qrsj6^4Sx2F#P*u8v{?*5=MT%TV(nL+u9oe&Hw2V;Rmgq@4uU{xtnCd!MC!Z%p%4 z)7i^@Nt(0=+(-w_;G}2Z3%7h2?FNIB`AMO4oBbR1g>X)QFm4~(;cp0mALSgy35ItDa+0HOp$uL^b=$wQ6!~8bKYm%}>#m zJbTRbahNsQuO}5oE?lZ+aT+mq;S6&N8V*+Qw-~=09CEnDA&Hs=?hxmhG}fU?PT9Pf6@+VIE+?#5NCS4dAXY(l3x$!~Xh~IIoh# zAiWG-LBo6u!{{gRy`jUnz^F#r$RYk*;=*Snu86B@dSV1k-*h!IJr}~nFs4<{@7=5J ze)R>5BTqv^J3c!f3m5il=N9+2t>GwR2Z7Bw#rbWFy;c*X^KW`~rdmKK8J?L7A#)X& zPx1cu1nuN9!d{4{Xt&0k*HRK8PU>adf*w|^8=|tM=J}$eFUjnu_J_klNkVec*HHR_ z0R+nN3%nYx?H_^YIQOITJh0qIUUC(@dJBpt;D?aXg17L*t!M_bWJ)AaB3{RIE~N;g z;=UVEr>pbsM=M_&3XSrq_c!a>)+6r7U{jt(I8^~eO4fCPZZ*=pSCwS9AZf95k@p_k`YURB5N~Xpq36A z34HI+R|Kfx@}y{>kdvRD(xH1{#S??mL2KUKVRG={bTYSyWL|4+h)i7~#Bbh(R>T!G z{*||-gv7|nLg9nqU$>5G@D%isGR?ZL-%r{)t zPX|b>GHxv+5a0@z1hF#8xRS9So5j5=8_$Py3hOZKndYNMh<3c6LSyizQ!CmGID@Ky=NwWbmeFk0OMGP=YWucpQjUnjD$_MO^kqU7+ivv>71uSiZuI z_^AmgdsYUeE!8{nwKUn0Gwe-R=&*sNCij!d4`dHp^FSea%6zX%~a z%mcO|4H1He!iRHLnQxqPI>RY*Lc^Ft<0&gY>{&>_*M0Bi##3DQPBFgc!ZY3c!nJB{ z>uR-yFyh{?RRj?Q5d(wA1e3W7YeM5UZ$iju1dR|da_&n(!!hi<$YKoTk3f^@F};9kQpSO`jI{~09e(r2Ic!+h z+6rllfB1?+QorP|)kWwqU!D8T+aaLonmpP-$cE5^s(=lNamWALyMCWeb)2I-<#&s8A^NX+YHI zdC7L}K(5~zlj%#jdrBciowxul^yxl(Uq2T}<+)R8bKA}8T-Daw^0T}giEW)@P9^Pr zb87?q7&k92fbczTf_U>+Hq$jkZz$5Fe0lRvKmq%$tEo=fhDj!g-5t&|& zO*{N}h9JU+!U;@4Lq^)uL<^%WMmg|vPHQj%M*IVO-qo!{{1_io-Ce3_@$_gXl`=O8 zuN!vY(o-1Qi)T+da4M6L!oYq(T&1K&QTwH`Bn7Er2H<8zH5mTu5BmuoC7n5V?U-k+sO8$yjx*uVHmNPCS7OP(0SBj9k|&hQ zgq-Lj2CnM}S>ju?4)zzK&ub!%OLWK);v zexsN@)sm3dyoFz~UU~SNvnL_OYR+XNLmGV{Y(Ph*e6&7jW)w6S;JJov?2SGeX4}^bsHD& zO43f+C~!}*n(-z+=55mZ&;JdGQdqh2BK8wTg6y-t613wsa0W4-Gt_19(8iT_2VAXO zTfrt_Q-(1;?_21FZuYT$FzuXF<0#JlBVh|J$6*ZNrsR{~ytn|er)(z%TOf&^y{RR@ zp5!khzC8-i3^9qkOZHg? zv%c~~;tqbo>cRs~F~3m=IifI9K34I8mMM<1-T26-gb#x&`vyNi&A+&Bu_;*iQFB5_ zvk^~j#^a7=4E)u@E@1Wl$T%MsT$wCm*R)Q&mfNL>@#44v9oP9ldn)^&^GQr+D0%&q zN-sZz@xi6f3C9wwzkj8yk|!awzrME(Y0;p;+yWoB$Iq&JzxpV=RYgAzS^^mwZNg~I z-+Yyg=ih-&Pgp5kf>{{6(rdl_lfE+d<=M8Ai7XShHIkOwXp@FwL-rwpd)=lau4zFn zC?i%@`S@D@6iRpx!w`ZAALg+M7^BdZsMR71f{6<|+pb2UNk|V{F#5H?unjCXyn8xy zc1W|-1U48{kc#XTZk6;L$y@@$i!V=bg8NGOn4j{91c@7=1N--bbn z^sH#YbZL8uv9|KwU^)eu zE$Y}cwK8|9pYhG<VLsm*?BA;}-3HTk-$mphKc;u%ZlgV+J_YuES$&@ZQVJn5 z{ks#m6%H-*;JWS)%QG#|c7lif^02Z8!;u-SwMf7z`&0I#`(PLuD;^4T8}>>56#NWr zPtU&X_|fx}g2)hpNUW@zj{N+OYh;YkAdKD_Ak$fvX)~q2*5Ab!=f3oul^S4I?blY( zdaOK-@jf;_!vYP96`XlBefa|8C&$R9uC+by2gZ5v>o22UDol(`(VuI9#PKkWE8y8_ z&gr3k9&)IraT6_xW7xjD<=EJut_b3B`Z|3)1d@0juIAB@uthD$FEG||J*`mUL5XV$ zBxp-Ew^B=DJ2=CPK&J@=0G3)1Fffs0ePImT6f&l$j~b0Jn0N(_bf!^j6BITy3j_EL zb3$rY5uT{$8vD-_JSNX@*yHPOq4Bs#UERxtaJKe1(kFG3$h0i`X58;4-DB3}M(vMg zoRmE^QB9nit!8%A=z{qsdt?+c*h}*4HX0UaI(PYIb>_y+>iXI1)s?dstLLlFs;4ZX zJjavZ#OP{uW}LZUMR2J*XNo=P>hw{p z=?qO-`RMn?|Bk7_NwT)4i?pP3uBj``pf7T!oIuI-!|&&tmW08?zP+3oKhG_PM|PG_DqG3c3@e{?6KYr4lO+N7z2e7 zSj6n}0ZSL*ZNbG&DDHsrdos*#K{NZ~{gc4*hEX?*F)y?MQy;Y`0jp*VWe{1p-O=7(J9mW^p8eCLBFwP@hT1Pi2@F(dPM}|C zQlRJ9T8|6Z$kDH+u-0m8`<+@s2w9~2urIw>50nmV*9Eg5q~ujrZMiQ z!MkB0q5o zHdzPZnT|fpqLNS2Y<=w+bLEo|Mn+-Y6_7{IVlo8tJiEi$L7v>c29C6iXZ+|aVj0g` zi?_dwGS&P|V5a4t0?7oz3^rV`+U=rB9CR2aTL>jE{aczYzSmPBx7H3A8Pe&0x#@U=7LdH0nM{ph)X78rvT8Nu7T`kAF z${X8z8xMkkwA7W(cS+Ph>fChbVyt-#U79!!y3g@GQq@0E zL|eaZ+Psfm8Hue!%sGtX;kxWW@VnrTdw;3|NEBXIPzJ+^sjcd9QG1#Go1p+LQaW-^ zXa93=sWM!hU}SO(#yEmU#~DCbFJ;Zf(Xo@OfkQvc0fDPd)Ss^LqVi`{Db-= zGKay*z&}4)<-S}UR2%5?UD2JunY|yn(xj337(c={h);~yx=)CgnD6Zsx)$c6%UcB} z)2!fK#*LAOwc@YsalU1)Ay3+?O12^0h&ox8!b2MZzCO`}a4TysANzNumM z5U2A%qDWB-a$Q)lzrvMP8<|9rGH~QB`bRPkaSub_K8+DMQ-e6lYLDqJ#_^WMBWtyk|i`H z!3e5dK?s>zI9F9?wqgV8sAfoGFjEr}MqwObg!<)Q`t@|gI8N=Ko~W%rp%CZ+i%q+A z8>zncT`;-iTLYJ}_ri96k^LvaRr6tsokV*gdeQfQAb!EjLI2$RT^Q)P5(6&M+5E1; zPtgBQ5`@w0T{+^0{XyjjN5Ml_3LYuQC=~Uk_MQ8Y>^~uhzzo|4wxb##wFHKP+Ot5^ zd=t?%9xcbA;AU}}nR0Cv3r_?BUX6>m=EimNu%^Gp**&XIN$Nt5dn5FK#@{TbucP&t z+NGZYH?$;-0ZkqiNc>x>-D4}1$0qC$Nbn+s$=2i)2baz`A7(#OL$VcG5(N@8B=mF9 z3sWl>5~zD_z-PY(3rHvvqEdc49N)vZ8y*{9Kp>f9K>-cP5{EP5ea|z5ws2k%nhmbo z^l{@{aIk<7cGONF>`t=J#WRJ}P-+?^{pQY|CmDhZPG`2!=EN9f-p(K${mYO~?X$7Y zq0%&yF-mEO4P2UULszxfYM7^>#q`;8cqn_D!&R@x>GezZzYalUV(u)0+?i@px4&o4 zl8=5fmfuI=d)Hf{v7O+{Xwwo`H}t?q@iTczQ$O1fM#ZJPO8_~yCLVE5v>26pQ#H?l zOU5KX@Arl%q2N%ik*qDdy{myXuoGVUzJ{L_>nW_%v!^^$bTXGT5#5RJ0aVx4v@y;Y zzr#B&a*9;)3Sny5o9RSPrzn8b>`Gm!M81!yiLSM8txr^emziEt;P@2Cfpq+Q`{iii z$%uM(M^00U6EY17BdtK<2*}kiK3E+=L=}E}s1s8j6F~2Tkz;3L-IeWaOau6UvWc^v z7kZHM!yxQ#=)yAIXVZvFS?MTgoMf#-H(0tg()_AS!ifRq z&%A@)434u*@znHcYk8}>`_TvRuLwdirFC7!UnY9${DtcBd+(twS*}+2*g|nWxOsxK zv?=wpBp1zsUer#Z2zH(oNZT+&q0|0C$SRtU0YV6HqmFT{X$gK2c#N1{67y^A zCgyI_g!Y5J1(%ax?F>;~T~1wI2qM%euL`yN)lAT62r38!ji3UkV(x`d5~sn}tHZhj zUSk7luB<{;OhU%cdZ=xZ+3_I7pcgCO>+BxCh#*qnYO?_G{l_rI*y^G0fP4n@0@z&0rwi*d~R zPDTfs$MI#`LRUSINmGL~x9bfGwuOI|so-LMO}0jP7DibFNdN*VZQDXC8`X18Qy9wy zgfMwx{t~a8$CzoMZQ@hLc_L<-B8=FN6pXg@riF%t7vx7Uh}HZQvcom@xw&d?=NeiP za7IhwIX{|gDUdv)KRXW87LHA$@e3``sxr`LmB_jlAvWsvn{nxwZK4`u7F2? zcxoU*LxbSqc{|%^xR)P4WWNfBG2(*T1p&u<2o2Cqx7+T?QX{Hos&F2m2GDo>1|WcXJ@7I~=cN&rcSzVbMfXJ)PPwnI znJfqtG_;QO(*Y%yvFdm*wV@Q)LUasSOwf%Kri{O6D<-5<2&X52q<|kNCE`}Z6-&Bj zAzH+o0@g15*$(zW)pJ~JVQ0I=2Eefi zK9+1iG~b}$N7%nIdGx0-ev^;t@-kZj$2nno8h5YYQs60Q2)ay5nP2S(n-5_IV*>90 z^;yA0Mrj&vWCtCf*vWR}Tj6h`X>oOJX7YS>=Vu>r8uFd^=t>t6R|B9~g5mP_-mfOk z%v6sbegebe84+z!Ws)|ZpHDxe`7hI0cmId0<2svpWPXk#gv6&HCUAjB%{KTn1oP1w z+rHm>H#lXsuUtmvXxpndy>-=NRTjuS&xXvOc_AQlf|+xbQ%wph)q2`OrBY4q!u;=E zMwo!XQ&Zw;@Yt0X8+y+a5@u{xS0I5gwLKuR9S(4u5y2(JA{S#SFuR1wpw zd5FC$lq=(RygDRw;e_C%85#nG^spN_cG`Zo7n4$!i!0WDXAF%N!kB`g0!RuX&=s?z zXv=-7Rs@WwKW0ce;cyWq>Cxh7I>&1Hv-~zq3p^P4dZ8h3B;6*f`5WsxX<^0zj@ni= zBnl>@3zOCK!i8#f_Yz$ZT?czfG~4p*j4<26E7bElUqw5Q(0|pEM4zT_+ovb!=k@`; zBf22vNgAkI;vR8;GVoHhgLZ6bt$OzGt8gK_j?gfQQ;A75h_hF21;p^H@ENsqYr9_YXU`j0l_pru7pum3k^`JPlfINa2Bgb8l6ecSq)hT4x6 z?v|JD=b0^-Urx-jk7oWxHFxuR&}|zR*gGsNOn&fdzG=)$0`-sJuM}!R4LlaPJ`lb_oq_j1t?8lioYu*RApwxlim!kKv+wUAGB2%uU6igJ&Pg;%*D7B_Zr0a#= zd1?_dT?ET9kiS!8#@V;qEGDYsy_m0o!o4^N1L_E}0ys29x9!s~BT=h%3@!Uu43 zW0^X^aMgG;t9Ia+|FYoB-6G)!*6<=iNV3TG0cjrK;@+5?)JvRK6SV!M`{wZb!}BEr zHb_trdYeDYtwM-P>bMaVu?r?gW(@B&{Egu1cwz<xm$0GNLmD~5#6#r#!0AOt&qS_3@6aEo5n_fh z+Zw`b%e^QvSz)fls6ziMCvsc(ox4261van!FGWI_)72=I`Hpe-Pf?cjkAjhxUaw)OGR6`dUYj zg3d*diut5l-~soJy~fiMb+oS1Ky64cp&lm5IUCMF;@#g~(k|%7{ItcQjsi%Rp53BL z+9HH_4P1fS4LxP>Zlu-cS{f+iL?DDb=Q zb57R<`n{g)?B5{9CA5TS3b)awq=O2^1kY45P<8a?c;Gk21dCzNPrAN%kdMm{W%K}~ zWN@&|F$A|w%qt&0|GL`dZqEhnoAVZ{C zEw392IO3AhiRB=)BCeDxjP896vs+~8@B8-y%gXXfz8JSPEb}Lf{65yvC%&AX00KW0 zglrI`Yfyu%Xi~VQ>xq$lneinB{&XqO&N6$25m({6`$qhD80uff(I!Gd5kAIni|9Nv zD8x#aj9-~O`V#qJ_SGUEJB5$=g_&SboZ@P=l#kX@m^y^;0VF@JdTSbip}X?_ z`$!H5LXYnfuhYtUH54rJUluKOlfr{hQPX1>B!oz3SNhuErvgU2*_f_?Sl60Dyenl{ zpOzlRij{Qj{g}3}PwTENbw7v-c_OON!5U|nkC;|rVso3bO{&i7u;z9$W1Ix9OWtw! zdF0U)p!5bFZJ;y`&_y!V({FvT0 zRyc^&e$D(!dmfUvycUM}6=Kv}2&W6fd&i?fh=P)WM(pvZg#^c`CQE8yPHHw~8RB4= zq@4X2_JZ^N*CI%{iJz5v@b1=S|9tHm>th~;Ew5!0ylu3Jc5cIs*leoSOl?$8Qh2wD zc5}4w-+TXb>FlV{jqhPNh^K!kh{&WT10|e6p%)(IX<8I`o0_~Z`J42yjcSo+Mr@1$ zwK%k|D!W;<$qQF#(^)irXdZB-t(H)s+{6B!ef?#OrJ`YsgF(>(*@x5hHGSpmB^FTL z+`&)1$-EBsCHJc)2JiMO%m91J_b`5-;DiMl0}ZZl>3TV|(rq>cDKR0PrH zZPS-HXI$ZwH@3S^<Nem822TCZ>iDu+2 zQKj#e=O(cc*1MF{04Wi9E%|$6eX=ldNIZgu#K^~&g@dLnlSjz8r92(?+WmqaH*ZgR z7tI23iD+X&1uL3Wi3jdWs3}z*UtV8Q;GY!*x+9^OX{EM6Ml|<~D3HhivoeO(L+yvA zQU?hieq?2u`X@+98{^Po8G4#st+PTmH$ROk9W_01Q*+~J4A!fsi%WPbN+G2FW|=+m z=iZOb1Q&1i{#d?6t-84wAh|i+F<(N?3gzjbtFYX7K0Y>6&2!@UlTW{_p8o!``owce zah8-BlIdhM{PO!hsAh4s`S|JQc$Hya1Pnx&CDet8MZu(8eI>sA!S}`7%nkP?IIl@( z=Q-`#+u&zb6Sd+U3x?B|{0J*QZY6cZMEV`~&(QAf#o#1?%utejt5@3%rU|#43Li-o z@$`czGw3Q)1~nxcTiT>6lw?Y6=$jQ{%tmzaIe8w>S35Uo8-%k}wItZw%Z#D%SYG5H zGnlDzx^mjGv!R!LBnl`JZ3LJpkUY=L?RVMSPJ55kW?LzgXtsqg!$E7VGAll}1 zcSzhfBQfOfk7id6RI2IuVp}!9oM9VdEiGNbB zKYhMG_;+xg-V#~}ju)sKg2#F+swE@uzCeX7anboW(o{8!c6tlCwO-N0lW`VB`t2KB zcDJCTCR0+g>H-w`hMnO<_ixtT>FI(nV~I& zo;-OxAq%$^La^88z_Et@V!_AE`Y2?=l7|48EoM1*dZI46zl<+Xg8UYKttD+7f`@K^ zvrqI=t<-|P;oOcukwIq6I*|)ncqT&NZav&bqNgG3=)>DkFk{%zSGkvD2OD}f^{$7O ziZI;@730$>TuidTSMqs!yqj@1&Bwlz73}W)QjaL`U~6wWPi}{@ zn2F6+(;V`cGv)etYY}Eo2+?skpc~wocc<77F+GF_IYzopG~|)Qc?e-k!GB|m z{ZuPxdA42jAU^h~lsa_^hib5xtmCnKP_+ z5H#x&eS+uGhQ8`HXFi)Y;db9eK~Y$nNq7a8ulh+K&ijRUH{iALy)f%UEm}PwvkYJM zg*sc-p?&BnG9EIf2Yg-ec+(|PA&7B?@|;igZ-G=w%CuRhsGS+3j=qr>i0>FM`{+s2 ztrj4{_P+nQM#R^9!>MUNVoe~5?=%iYN5^Z*6_+l4&5M^eFDdYn0%eAV5;dzH!pJnI zP-*Ylu1xoiAt!}a_;BN{tTmGc|C-Uy%?Qkmw&Z|1vd(P?4+3&)G||R6Tpj zDe>Y4gF8+?S?(N^=*IZb@p<->s0mPmMLUGq7IoKD1jKELb%ZE4orl(-&ur?jc914v zy2U1IPZ`gR+I#!pAUKvEUZLpIi;K@_6I|{>BVo3EWl+xEIMX+KSJa*~n~rK0jPv@Q38C6W>!S&w0?GLBEK^%y&k9|#oa6u22p&J(nJ^xcIW;|F7#bk4kc+toa6YgKcE7&9%X?FQ=<-C3}7CsSC-~WQ$~}N0!j} z4Uh#$8{d<@rorA+b$VV(X&MuG&U9U>n2@ zOgeHRwSYDVT~o3!593p*=;H^ooMkfc|FidAO_n7`o?oQaqO|O4f!2*yK%)V0Far#+ zLnFZ%YT8na8I6zRhoJG1--2d*ARlH)8jWMz<#2bzjsk`N8jS|fT2@zeX_ZkC&(MpdNj!wYF)6ls0AEw>8UYSYwA3dI&htI?TOAmVsI zu8j^edMiIG3k5R!!2JWe>HmGPh@D<&IKTG`ybq`MmyzYyO=2OEF=2w=Y`5d($egU2Rx z45*X}jFQ!r1-k=o#+eXG2UOl@a0c(kKUV_IT|W0O7d#9;x*9cj2BQseaU zGw_NA{9<;<3=vjsI7lwYa=a+E5(dJ2}sU!u-XHhpUhz272VZrpo(Xvlo$b?b4Ep& zd#_BOd?x|Ef$wl-&FBc+i$|nl$IU6{d{+h9orb+6a}Z}AIZ&6+J|aCpwQn5Q)JZ2g z&qw$|Nvu)RxzqX4XrUl8_Yt)}YCWS&+{{aDv;mb#86nG?X+futaGWm&2pv6_8d61f z>p<$%@9iz<^7g11*VS^-M=vgi0m7*C?4ifg;Koq8^y^=xO^)r+ek&c;W#xRht%UyM|{ zznAxx&64QS!^C|IQrI+ezzhi+dq-v`ba~o|G<)|{Hb_=vh-mqh3=-eie$9*o){zft zsS$S|*wQVXG{i-05MZ+;+W3q?Vw>A_uLAtH`x|7y_#F;@pTY)*CveoWmU1yeg0aL& zNOp&eC76u5*l$a?1AIqO?bGnQGM%JOdyF(89 z+`9s~GP;n(&g>(_AlQ|w{BcFzMMXHE`9so_vhK2YBE_=$j3&qOX z6QvBl2W030OBn<_Btd`Vr_FyTR`pjp!Y_jZSa1U`BnoXh45Tufkz-mR_JRn5(cFx+ z4_}?6^no;}+Zi-?5^d^E(2lVtrhW@atYf=;*5AMeMe*z^H#tfPkC&B64(s{=X&EWr z^^6Vb7Ow^8wA2(ijJ_%V64t)MKN}^MWbTiu43|ArlO)5Pe>_Fx+UG0EFi+bd8vgnS z(X5hd01zktS)B=Zm;ggG7_h!(%E%jUyaC|$>C>n0Uc7iQA{tCTKl^KdkbHIsB)28f z81Gu>5$WLha5#{qE`*Q9ocHn`h=)VSK`OmDKxI-LvJq;G4=R39!SqE($shHL*Tw9g(R0Aghb&q}3UZYkj^e;@-dn{KI;dWBrr5cVbxW$LQE> znwdPFuD|n9y8Y?LHqz}4plC!9)4y#gXUAUoMw&Q!C|$Y!j)J*ZvAKr=o}h-}}ruMQ~ElULD2W*`<%QT>kwcwj7t6^P8 zwttQePcoxrUd+aHlc`>5A!p3=wA*sqC!|c3x$K1l|H!$)$B#8csPry@944@?rBQ3E z3t6G_3*xvvog1sC=Z>VA)4Gd6wv*pSqGNpRl%d;xle=b2meVDhEwg1;EZt(+)-h%} z!~@C+MV}j`b>i0YwaYsC^b4zA1DaVGlk&Q%Td_GZm7{=%$8{vIZf&xMd&p=E&>RjRMxUeVnS7z4d=``#7g zce2>z-K{)eeZ~F^;3|(BIQL^nIXYzBPrM=>3@Y*%ifT@>dQkF60P}>rg+nyxpVn4Y zue9`PMEgK+qdJ!M;`xi|pZ~KzNk_CC@5NWXt;01W2byW&v_NgL&`iRFPR!zDG40b5 zPi^0oX5hSjir+dm7Y9G>C|uFIE9%f zxM4#`FBi3-495@CqraK1GG^cJ;$^cv3qE(FC(B2HysY~XGlB`TFFfZ7p-#Ono8sSo>ao)(X2=1+id(GmtN4U`@= zysBpnTL9?Q7{D{T;n);}e;&bNb^eq+WoPJKe2V03shkK7qW6OCAkG8e zKo%n81f^+BN4%0Qsm$mU6B3akZ z#aaj{|5*D!b?S6F_RKSBY4w_xdEAy9)1=jn5OB;3Ez1ytN1l62tm_Zq>f|s!;DgDJylbx4Fgw1rB0!C;=a<6gdxStLx}^lN*?)ai%eEM~ju{eW zNhY=YO0yMHr;bQdMJBYoYl&lg+1!4|_Jyo0T}?|epimsycVah2%ODw(kuiDrm>E`U z+CQ?*271i~5_jd+bxDHg(dkpRY)i(7-Q2EaTcesG8IVCjj_p`fDYdIIW-yw@q@XfF zZ}+JP0-hO{seC=1FPmD+`$pKaQF7Bp<`sWYCy1dCb9}AOv^fo+rT#K|(*J!SVm>n< z1x=7hk(eQ+dbXE6Ff}@#i9vRDKeiV-)D{hJ*`!WZ3;7g1itZ<3soc5$2nxw7`$FFM z@jvLqzWMa;{U`rfnmcsJ=-yBnVl3a$vCkjB|9<-5owv~UwGwZ&1}u2Te_>` zH*fwjee(VX!Z(n<^}D~5jvhOj-u&qs>B1+U>e%Lq^unvJq{p9n-0JbWzkVmZufGlP zcXob0z4+Rz>CllwmQKuch&(fpdK-tqnU>Ipx1Q8GGf#a5yL}7eG7zqmng_Tu8P-= zps-wn4bEZB%&5NY#ikEikd~PHRb*5zW%L}+h(KS~x8MMEFNn?&GtP(|blZ0htNbEP z02fa{Yv;IKPtWNn(CQ(d;Boi?>K1PP(4p5gsPOtTPd}Z$`|a<{{ty5CfA-}z};xpp;;NCC8yi)ak>7o+i~Uw$PGY6tnP zD>|N)u&UYiw+$IG?Dz1cX`Q_6mS?yFyx(P_O}srer-NHN5u`XYJLxE!?nX$r6x}b{ z&FB=ZUb6H~9n#Q1Qz`9@r85K>*)+w@WyU$v3D?aB1v2tehL=Wfa5bJK+`YcrOrCg8 ze~vN2EEGx}3J&>zM;Ihq8l7GnSh6tq%xPP;v0bNOjcN3H;+T%(y?fT~Vz5~fjgH$9 zz_z)4Q73NcjuGKwPZ37RfOc7Osod!NRMG*!CTp8IDm7+F)^w@dg6arMy!_^N!OrMn zIVrT9UbMA6q+_imvl{95Wm_!gV|gS?e^k>NJ-*jJD+gm5GZ*XDSMIdwd`L9H3)@ez zr48B7gKrEh%adudKa0h_#GC3l_R z-u(H`(*N^+{z>|sAO6T@k^c5y{R_>atflY%-tVP1fAVH}^B?{`efNhy6keUuCZ7K7 zpZ`_5^!exMJHP+^bmfc7>0kWG|C;{rzxb!=@h2ZolbQv4_N5mL&tL!9zce2G@DKlO zef$0s=OZ((or*j%OTJ)`q`y}Zu{s5&QO@km zsoS01DQHs}61{uOE)b$G+N5X$yFeKXy!HzSt>Tyrm*3eV9tB<#am2jgNUvAEDIq_G zx1vtG6M{C53`e6Crip>H;5^}`XCpsFB=^rriD>xUjM>PBeKcTNz`gQW^27PyC5u00 zie5k;Fu*`%!K($$GV5>q=&@siqa(v-UwHM^$zQ+m#+BKb8B76EZ&A=mFFyNbfS3vt zT+3;Zpi9 z&N@sZz@~E?CC7Ds$*+vZ`X1lmNo=-t$4@zH0WOLJ$>q#FyL znbE>c-Od$EMf6Z~w?xOI!a7r&A^Ti&HoKnXy0F-V{TPM`;n zC+{God`bb`7}VvO$hP2^CE-@FTIk~p1?N%K;fX#+F&FmRbACvCAeWJ8NmfwrC9^%{HLF!kKTSe{ooIOlwSGPtGbYNA$|VwCz|zmJ3aQb z$I|I@XVT4UH_b4cnV(CyZ^(F68KJmay7@?IzZfy{!jt^S{IHpgtZLOoYT>|8+DP?- zaI`7Vh|KV$obj`LDl(jrH7>iv583K;{m@mn51yA!EIayC@-C>H9CY^MI>5{$sGx0i znXKVjc=;^6D2*tKct#xwz}mk>VV$hnC*diKm9h=3l5^q=NklC%R(=JX3b1M;;8BIE zi0FQGNPoPnQp*zQ2;m!;pufz6jE}oo^0``TbZ~8ZQER`inDQ26lRG$MOR4n6mf^iL zJ%PtJr?WgvOB6G1(&C+x!U)l}X;YFh=xxM)2Lqlqk$lDzT&9SKNR-TGhvBLC@w{|6 zG}-r(8}Cq2>@a1zIcuZAn&m2kjbgZII@z)zZ+&?fm{E(Bu)BZKf5Oo1m% z;&BUm8j#U~(lx+INxF+6;HBVmsu~8yn3ma09Mzr>W=XUJbyIS-zNkF}%#bW`>eijK za{U^WL&vIWDV`Z5leTPYd|u1FZ;(9X*%ITwm4(YYZ89U)9MMZ$lzL>0*$NB>9APmcZyvk; zz%2fghU_va(JQ(r5<_TQ`z!2V3x&Is?~2R-pe>9eKk=%4+-^U3#6OkorVgIi(nW+U zY2&7B{!)nKe>$T$F&>`SY|5R zLCdyQ53tgM^lJz6d=J;obyo58&kCcCyf1Iu7|(1L=rK50x)<$B&`R3y1%sBdyElWe zNhURt;jnvmnQwa7jDvUzU!gIF^og>D_M)i213}=8Z+m)CxmSL#Qf{NrH|-JO@iYdP z2wQPV^j^+Q0A*EqZ9-Lf2b7?~k%w-sibJ3yZSXJ3ycxGlz-h3&=OijV7)mb};!9Qr z7MGR==jP_p#N@=ljT<*WG@w4ip1cEBxH6&2dw&g(B1xEJj3OhE8Iy|qQIT-)@>Ssg zGRqn3c1Oflg{a?pI=o(@VERc{)Q_Sf75S%wxXbyq3dZYw=5>uLP(OuF1-<2kskvl0CLPoC zjJTZ+$WGQGkiB6#$nmu+v&&?a#cFxoA=pmvzn^4V$7UnMgxlT{y-VNK zGO5utqWmF4CO3v4_%EPc91tjtTbu3x=khQpb&=h8dcQ+Da%1;u+=bdG7SneXSgdg*$4{E27Mty_1}#m~;Cr@#I} z`taQk(px|Iar!U++y5q=I&(T*y?iBIzkJDf1+B1&K?nBz*r$=`yc2txZ@8*$kq0m?M`|NCHttSodE(TB z7Eh0i&~Xh+PftTo`>#Y7XzjVb21w3J&1{IR_?Hvz!LSBd2OkfN1BED5>rqumEHR)F z-MjHomTQs71Ix&717dilid=0r=bL)m$v-*=ltrqxZT?lflH|YM=;Oqhld3{2GAzfTMORZaZKf zzQMhfJ2#YKT>TrIt`outGFmVQ;7*>|3)!zBT|qQCr}_XFqt%kDEgf;qMTx6-*%P7^ zRemhn8X4sl_DNlmsGHO^sJErf?SA4G%eJ&!Yk9$LZs(}zRh1bAh|Q8{llp{?|79tc zNYp64W+U~7QNn#SD>?$0{hm`&ZBmcs)v93EbwwJXz zdeZ8!9|^2M2IbvGPW7~9U5?eV!B1U|&PfY~sBpYWRyXW~r)}+Z7&qQ9qJM8r2C~X- zRYn*5-|fV!Ubvx`IuS;U-J?R86f_46_oTf3-S4IU*;_0U;fARum9DbrD-jT`_<2XlD_+ce=D8QF}+Vc`$GEbfBC1zA2!IJ zKKn>|<@Mi5Z~g2imfF=zU)U*U&p!XMjFB6f(Hctczx{5ybm5YgW_@Jk0MAB7S^5R< zC4;(8$+_mggF4OXe)etk;!$7zDhrlXu_P}HL2D1?-*#T_=^wad-uswZZrafL21O}O z6$mBYHK2m%^-}V!4Fkz#a~dg>e%3OnZNo3Z9gkWSi{JEZr%~o9@=kjc`6=HmZiy4( zgBa4cq|CFytFnC!96@YQ=d`+l4~%1pP>WUh+E+)AC=FVKjJ%L8F7m~@r^8#goKnQK zlp{<}`FpkmSHWnYK=Q&&BnLCd5E-~BA~cNZk5Ka-e~b=aKTo;P64c?;M*GVz^}9FRKhnEw11~Q*TH8sMe2L{^%6^7|+gFlnP5Z`W;Q}#Na-t z=`6!ywxgDTXs1y=c6E?qaqVSS@O}Z{-5QF#W|`cW5HFz?V?j^ntv{Ut-rYfo8zU&> z9xsfM4AOWogTN{Qs|)%e|6cEqd89_Oj8gd5lJOM*S9Bi*wTjK{90APnzie8c&?q|w2ZXbMep`PW1#J6Dw3LfG zP3&L=#V!q#vFSNA)RHIt-_qWQK@5~(9chc9s#zV{U0=GzGjDoV9z9RWPgX#T31k{> z+LKq$JIXZjh+$lT-%}B56TOsw+NizUe`2(WE@ zGa6SlD}lao?x^8ifS3Uzy&Sc=}@S3YIP`m(T;St5w^b# zRp5a4PGT3*>O|Xb02!-GGgJwDYOvL(r~ zlQswtfs85pVBLQVQb(EPP9_ z(%j6+G&wpiIM+i^S?uSnv zw;P5M+r7P0Iv92ElM=%WVwsnfnvx32Fhy)OPd*qX_{TRXdMOj%XGTyo%z(*xBOJ=T z9uPwvD(w_6g27?9I1IlW1+7{trHtcsmsYg=3K$s?7yzTAnyr|c)crY!bmfGUUM<_& zVlRmlS~p18*uJD0j~iN=bs6-2f|f?;ZIgSR^py!;vT>5zW>-)p6H?eWq{y?R zX;iZx#zkj9{cgF2`tA;X+KE@ffziOId#^sEJBIL;5u@c(>~&!?G<9J&Jk*vO_pVb&BFK>Dw#bRJ58Jd};Id*< zG)q3IG1ZSwAHur(I+yFX0q6YZOZo=95QyIo2M;|HJpE5_qGN!8i(xD~9Y|U4 z0RegU#0kl+x1=LREK_I(sp%;KWFl_y?Ryi!q68rDEqV+EFO zE|(3JRR3+mtJa*`CRBklXd8dsXzPZtmmiH=X?z%kl97qgX&qsDCf)x0a$@Nf3YrKP zJx&{n(v~{=acy`z`NE4bxTM%EUo)8lCrWEOZy0M2!hsd_cT7j~k}BzwwyVVAv1q*) zhr$G3tM;-HnRUi2#zjlFhFQjC28z$TV3-VQ z24~QgXp>Xb3=9$daWdEHx|Tkw4aabBLxubc3^_4HJme*wP+}Z2{;|}Dy#}M&OTqpD z=($%%IoR>PG7iSH0iM~Ie(_*X5I@RtMSRBifEFt+^;ftJ^UJXFu~+N{Eh)Nj1DAkP<4OH_ULeO6vk*6AB5j~{)x4pjyy8^K|Vu1cB0GLFqO3} z!%`;c1B9ZhBX<#0z60E@w_Oo*^UR4E=lHRg3|J+SJxwm#NJLQ(6+!vi^N)N)fIq$6 zcFzXgZNMU0#EEAS)OxKk8u?Y7P#~dvG^CdM90d=QnBgu_w~R%<;6gd{d)!+>DLUP&w~H#_#z(2VRgp-K`X>+mx;jYEA61rm3oTnRKKKg*#Ot$<2(rGk2Z>$L zm!33aDDC6y`H&-Nq>Mciv-4-u*3xFWsHIoiEC-pIGUW<55=3UXfbi5ezLmxfO{beT zJ`lZHcdd=R3`Mr{2ky>U5yQ3*KjcH3kVUsO&ccZD3#aXpyge`o1EAAk*hslG3;zdElgMkTZ3S zsM{K)R=(6PvS%V@PvED^2~Yn=DrF8kQxtyj%G6N1LCr;)Zk#NeQDG-<-MD6T5yNCy14V3jNB%KLI8lpb zUE~r&#M*LZN~CbdK9lvO%T`yYw^pvP$3%vSpX8+(6DT|NAKDO zc-1pIolE%LAi(5S5ypn;Qis?L1@QwO zJnSFAfbq@iV!3#S0}j5`@69mwN-z_(CgYA-ul9}ekp}UZF~MN6bTC#LQUk=7?=U9d z2l?k|WC4&&pOf z0>9-!AJlOx&JsWAD$F1H?P{nL5i)$?W3QH0PQyG5&U`Z+tr!`PJt~~EC(!8eD(@ny zr&H#mfbwWHw7%P3R-g?gbU@_z1z!0CO*L}f%D7ev@`L~SRdnM!K6-JPAWn^o^3W12 zknD5{mc?oRL@V0%zprl-9txlXOOqKL!3Q1>mID$XIyR1+#4*ymsI%;sbjjAyr(Z~u zhmPvD;aln$m&^!3SQ$lOjc}A4Wy*B-*yLf21Wl$}pM9pk57m(_Baw!8>iFq&gGO6>5H)5Un+yHruOouvzn-2Z|cBX53_y{Bq2QPia}KY=NpL1+D4zeSio zWpKbd^`u^BFywWfon}Z@S8p2#ytSDUE!`R(kzu0ekPHBfl8FHw2TKzmJ(+zWw9ObN zEH`9d$%bxd$FVHy)~6p@yG-06Dg0*Ks10WW``GZj%b$oKefF7zVZsr?D>ts%DP0)u zIA&W0G{d4>#M0L6A-jYTd_%fzd`L77m_7lAgpcKMd4CB@#Pnf(z>1cbA^W4+KVbV% zD3PiTl>90=ZOPkD^e?vQT*@y7NU7k|kUPI&z@uo#=5^nAP5P3nik?m!Wf%Gd)J zo9S2dhY^F3;jIXK)!enp0RzR1CDHp;bjTsb1TGA)e&~$ZSn^lro0wjf7--sMY&a=* z>K03aDP4LvaZkf*(k~>;z1rn&ba+cmX}R-~>x87dqRhx+U9?U?9ix=J+P9xK!_-EX zb7*`hP&eD3h~xkTm~*cpHsGK}IcH!bfa947ZGBecn}3effGIwTSF2Ms-$)Uzh#2b;|`k0d_2KZZvy^Z6FaUs%=7 zG2kNaEY2QxeSOhRZ8KVs7r}5@A~(3(z7i?^!{eF-&_#QbcaJD+R7S_A`uiYF9zCJ9 z^oR@+U4*DQ!5t(ki`QgSf_K13Ah7C)&@~K>$1jg~fEb(Ha^6-fF0qe`R)98c@C@uR^WE*6n0r5S7 zN*k$zE%`@J4+93H0s7*!CgaUL{XkEDo7ZY}gr^Zy$t6(2J&2Zx)Cel6V`!^E$LaznGP28d-tKQ_vuyP4n6v~mQanP#amZ6>sbbgpO(d`2do#Knm(e@>Wk_2`Hyr{ zur>ic^FkV#(Gn7+wIOd?mSyPGVlW%hXlio0?FWrG%dX-AKk~+?866i5+RWUUw5g?67k>6r z=`dOz!!i!q3_0j#M3|)~XLY3Jm`)(NbNgdc5VmCmFbijJ!0I2kh1Fb@zse^E+{c5w zpvaCYKfL2e&zAIvR_N`LoO$TxBfFDSqLcHl%N>?V6D`MzhTzf_z)&CZBEMsq0!==6V%gLji3{;EZAO;6d?HJ{pRXTHE*h|1ttnHPXk|p8L%pS0uymjdCQ+k*3tEDv4 z$4{l1(6O0L){m^K?4$#yx zv2jx@s@W3Z+F*|fr*h>wM*GiluwfY`ECZ8eq?3v7rpcLkNwa3@bbyH_Q(Q1;Lnv32 zQpLArTzW>mHpSKq^#RQ^tjS+9RZ{pFU60urW7s|XtchkeuVXkM$Ijb(Ku~}Z7sWkp zoR4KpfcWK#GRBnu`$?ln?t#6Uys-~NMw9Ved2(s(outIhmtm>A=%a=y)Ix^&fWH_a zw7=9`oBb0?H$uF9pVYEGj)dG_js;m##>NG#cs zf}+M}diIzu-hHe)8=ls> z<7qALT2uq}AQY=FgQrbd#?YV=^R&*FXa2)KWWVmv>iE0?&8!E1RBHSJg1BI&LFaEn zFcBuO4rgK1J^R-Y>>f&_R+yYR+OO?AnnijzYtyo>jQseYUKGrGFGqYgK6GQTfXEd} z+OQP(?XC5^^lC1h*S?QMox5*Kud?xBIE8#ma(L=n-%j(7p4G`V7iA1DOED8Z5oLof zzzfdkaB>xu4$RHB9mwlNc2|E;Gt0qD4mkM^Km2jK&3?cSsi*3&SylyoEIrawwAL7< z0Q7lz8F}7hle2ih-95HMuHpd{b$2!zZ8VcEysFEQJoH+!5vcczr=i@t zH$qw5)i?6Z2TQRyQOk@784fEe*R%vkhKf$R8q~)3!Ab3P&|bUofhmcUZfAE*z?X8d zR7gv&Y^K9D!7uCHk{eP;by^{&#La^A}no zPfk}6p&+gSV{zOkpyO$Ex6BYo^LK@#luw0Oea$fKs76!uQ>Bu9#4FQo=(u7`YB3|iG6ybXOWRUh)W9_w;Q}|W;BOiqK0-V!A4?~ne?gmk@96A(T?iIRn$kD;-1vEy zSrb9}{M(7f8oHl1@*@RJN+o!4u$7q{c+8*83Ry_EA827&m6S5^T@mz^mvO0Vw@?!F z)V5=T>4u^7Q*_CZj%1dCh!Q}5gAu|}+GXEU#_@NjgVb$bk!Qt%A|EC*oe|Ba0Pg{@ zyEkPL^1M6r{X#z|my|uktqRHr0e7gh1mU6M_otYP3BF0`gb_~oOKCFCd4~qCrTxL#aA8Z+y@CVP3 zSL#eDo4j)Z7JD+duyC&@aCMeP?Nhc%__n`m$gkcTGKHalfG|kWkD^EZP%8OjM#%-! zBup8k{_yS&!wmk18)gOzc{MoNnPfBHgEERS<|)gl2he8ijbNx_=AsT*x#Lr(iA`-zjukI0FP12cgCc&%ukU5cZrd{2d4p(nE9YT0<;^r!M1<;k;`_R z*7r*BU1VKE`-q2#r{v`bJ#b$x2M|Cm9K=z9#&jYI!o0e0#Wsx}f9^$fIMdqO@m{+8 zt2eYq-RlfGxJIPYA>-tyL!qWJ_pBO0j zZg}L1EWdCxGngd4+=^!1JAmB$1X#z@QrAy3@U#Ub9i&U6Z|mYMedRz;>wM(T=oJbE z=aK`9znMltf*-4|a31RKWg7UScyUo5piqr6#>@vBS%)-oJAe4`w0!ke`urdMUZGMi z)KU6!O|=zzXVdJ6PQp6#jn}m7V@MZ?ePNvku%wI;2VK#w*t04E=&e2ke}4{4?D`l} z2TR(ugRdA7;wStvu9o37By_v+fkMEjp~HE}uys>)NB`h{CvHRZO6kZ=rrE<_C4dX;E1X8jfM?%fcnacrobU`${%FpI$~#em8O;~|WVC_9r$ zl_RsycQ-ZTp&TMZlo7DB%NQpZ?}HN>a+s1qA=6~?u5Nfoel?3`r*i3-+WM$qmU1m? zzZD0F_){H_Z|sULQKiHtcjOk|YUvaYNYGi${CC2SPu)GRkX;9p4Q zy_Onrf7_h54Hy$Fov!6&=X}xz5C{I!Ke_7G$xq;HDHbE&4y4&G$&=cqvi;@Qbp~fR zFoibG`xhp z>%b?!3Js$LGD3bT1LUM`@;$759Cy;frSoa(=&5x0u_w~X z+I8K>;3L!I34_xGKo{e!TuxIuUiHY=o=aDL^M)BAC%*oQ_Jhm{kK(9da@qXHBoi0~ zI`&fcBzq%7t`Y7^!0~7}>Hx=8!W$X_AZef(mBOs38kQUj2ymkap{Oxhj4Kvo|NCZM!1;?8P;DfM-q26i$#3mK>eUjJQ|Q; z6r-Q;x2x;SURSVQo)`kibgz@!dd0gRe>kjpC7Z3UK1JHEF<;cYpwcE$JUIn5cj;8^asrK8mqNjNBH9#R7_ zNMxK0V3_ITt3hpkpVU1&gPh7G1J#TYoqo6_!vtf*XG?TM?W!*MQ@vf0p<%dGXKmxU z43gLck5NK@!7?rCHbx2iSk`r-7pHpNUDE=@g{`!F>7vnOcS$L}-(RBH63vK?V3cS% z7kgnitYVO(WZ|gFh}rgyr8~N>L!0ci+)Ip6_KHCX2!qS^gd6( zRL~~c%#}&y&Uv*sGC*t@mM*p&xXaA18=_@Q;L7$GxgL>W5l6-YOPMhsg%Lt;XM5&U z474@AU&`wVahtCFZK9Gv+F|84@8!2gseIxEQP6uWBMt|>MoR(LhH*&Go70V4X5UKY z!0&k@B+x}YG-$;!@G_1ea_CH=K|&2I=PX!bpYXsq&1#gXfpW0SO;cC&y@M z2v}?~;_i;2@zpeQM#rOS6#CA^&(rd?OWN3|(}%PfapvTswm)QZa8<|meqo)MS1%MI zMo&?+hi$$7>e|&bee#6XF+Z*4Hg9X+$ouK&v(IUXz=S%Y1#KwSXxJ{USLG*~XQLLb z$k$GBc1doBU@9%kW!Mjs8>t9XPrH9OXCBj zfpiWXc|sRij;4=)^4DomhZr!+;l_s|h%R8Zv|j!A%P;F-gQwH_#w{JWdn?Nrw6OH3 zP&C}jcv{lzW?c@vj|ZF>m7&bO48Oq7IRbaY1a z{Ux@H%MBA|aWG7Vr>A8&Xr@ENbL+M(y%dXh$Tr9GhJ*js=VT9N(jkO@ z$YkllxAd#ug*_)9PY(l!2Q>XH8IKcW8)yw*dMc+g~W14xgk4H$t%azx=BzPD*3 z%w2)hUWHA4aRr~_7El!#4(fk+W7s!%bK9Zh%0sRs1S>ULvRE`;K%S1U>`~AeT`xF1*qz)%dKk*>Q6rjn5uQM`xdw zQuw${t7D{$Oiid6TGP_23!)I=%Og{nUWCz&5H5APrH*Vo9eV6B>!fa9_}Df%&OP=> zx;w58V^ybyYb36wqRzDAQIkg}EJE#1)LOmb8_F~Bbr?&)q%LY>WUIc^i1+-4lFiHq zs&ysY%4A@ya@-7HkOvs{F7hPsaLNlL5+~!mNH_=kSMayX?*w$49k}sl(hF_ z280}edyrAvH={e#6>m zzO}Y&$~1c^kSf|$1_AEP5l=Z%zW8I-3qBwd%vMwGu_O>Bb!}5OwGVK=hooOirR?qp z1{GM&#Ynac6O{hZNiCl_GATaE5N9^cmU1a?%iQ|TjEOdxYXiOQ4`G>((j+mAoHe@$ zF&ic_u10jcFteXHUvkwlOm6D1lq=e#&OhLU2V-Py@~Vsz?N!mc{b|;OTi-`UrvxXy zT05pTLwpOP#FuiZm1r3zCIK+xx5!c6W=yExuJ88PIfKNZEvD>UZkXrQESF9@)BK?7 z25oK4Ct&GwF(xS&oSky07|6Manf#F7${~C$UPq|mw*IAp)=Qn9M-?<}rv4L;IDyi? zBW{f~d>mDQPZ-EUPbU;Rh8r0W~%g2q1uVo3|_+8 zdyhDTxr3r;6P%wB65$LiL>pp$VmRM8&(GdWiM_?LWPAK%?mBT02y3%v&Bh*)54;~L z2clStL~W{7o!r*ON?P8!sE$Wd;lt`^GzHFuR7-2O?IJkJmvihQGeHq`=gJ}t z)5`J{-Ssf0y(CXtr*z}vcWuq@?3vSA%ydJB&9ZfFK?0Q>-0PfGuc>2OXPD`<>RG&7 z!=P`TD2q7K>`~t$i9I|qAaojx9W_@o4LVVZOJxmOA`gV~&v;}VUQ|{mf&388NgfVq{CD=YjCYr>IeGR4*(2`7hD`t<4-vT?X>f-7Dd+f2}BWB zczN-LD0@la!=PbFk&l?oA9_N^S{_Lk-uOkj^4426q6u2kz@b!Z%J`T(b}T)jrB`fL zU0S>#nm8E;#YEH#7G9UmdE4oSf0NT?tbX57NVW7s9CLhiJYUM--=VySJ3O0s}$Q(QlzI! z!G+c!vYlFQ&Z4xlvE2-9$uZv;o=9}fm0BL#m>J0S{qm3DeVI6wFoi`GETY|MEnrw5n*39pg6RW$5$J3NZV(?$z z;k<~OT*Tx3sGL~nxU&6 zMf+IRWstPo7G0n+gf$bw@Rji=M+W^2^fP^ zS?|^DzX1Ye;tqt`Xp4wWx=8k7y)=6hF{hFHUbM9N`! z(2z00fzp9*G&635sPb6(`)JAX(ib|u_nbDRKa;M!{bsuU{;w^3?#vnC(MSo$^X5h@ z3=bMUrjJL)S*KhJcvRGQ8bS6$1w!ula60R-`+3u7u-3n-`)eQ}9iQP~6gec^<(|Cr z52fBmeQD@w`44FL=a;cL59^xJNUHA-$bc66XHSm`EtCrz|BN-F-5L@#(sTjPXf!+X zEK=Y>d1a5l5c>p}1yS!0cZ0)`mmre63{d*+N{-n4I;(OYA3v0?zW;vuLPzeh;WXBU z6Nh)(bgrctXJ3CkP0Y>f5Q7`q1bK(h{O6q;G?u*Hl#DdHLeG~gk6_=MBZq8S=5NFH zT1b%fvy!S_slf}3bY_9<{t$gX2+D&e$nH9AsN{H5O8l7W%Yf?Qs1#)} z)Q;dClv2%Qfa^L5&S#dj7pkbIJP27_3_Wq-<}JS?4@$;=#hDb5A+vhP>%Vau@C2ST69UYb5C z12ZQ$PQ${$fY+E5u^fx9v-uFRif445P=l*TwwLP5LY!s; z+ovCL&Jq&#ebA{#PEiWQE797fkAzXiLLuY3j^!1bnGV*%V}PKrMP&!}ejRDGX#&4* z_;dcjHU3b|Y{>~qY01ih2yjuBD6qC?Nc|F^#ItEx<4^q^BVs0ujDOc zBa_hA_9v_#=W%s2vlLO8M#?9KTa7J@4{(KHEb`4zLH4ymMQJOa+BYJu3CbB8{54E9 zIw#3N{Jr&y!BC%g)e79@6S_#AnUifB`IQIdrhlfGsrldLoPK$4GczJ^M!{V7@Ii#O zEVYv)3Ce<&!&QBJz8a2l@Rf>cl~oFpcU&!a*&iL$NmHUGl(8BrfU&a>rlWnXDoNma#G%cv`e(JaACnT~>wA1ib2#W_5-%qi&~iY4iA)Hj$4Xnh}KB3=9+M zx%QZBVvy*M8IyHxeV1Xvk?t%J6JS~vjb>EX&F`8q!MNZwEG{Bc`$B%rFu_35?2BF0 zsN;;+?%cG!jD%H&Nxq;lW=y~lr*e&qO&dR)Q?xKWnk+a+3I8^7@9cC zXzlbY%%bEt5j{}Ew*aFKl;~+Ys&-IuD*Q#fKvmMw^}Ugyh!szd5oqmcLCtWW0;UWJ zzj$^_zsg4rbaIG6-m@p~q#)$xR|eD|&Jz_5G|-Lj#qBPQd%zlnXbqs{(2-cC_JHpo z$^+s+CB3d}xbYF<%QOB+-#hV58g+F70oA6=RBCl57$FF|DURx3*EEwdIy;{x4cIKO4cqPk$I}qhoVva`bo_pO{N`E?r8W{q5gqbaGuIkQ&8Q=MPlO zf}kLr{*Epi)NI(&wX11xO2*qZotvp=2FpwwG)Ch|n#f=`=aNZgf&<;4cJkxS4>n$s zH{HjenIF1c(gb63`IYkoBVk?3O>~%$V4{<*_cqnkfI(lz>+Eaqy=iTqc(oJdJB6_% z3;tOdDmj!smWW|?U`TSmi{1>yu(aSz=}ssu3`L!r?w7Pg=&R%?FHA^RrafP~(HEr< z#_ir^Xt$JdxDv#+Wr-NG3nLi$`X14~xy?mxBwy0~N#`{3FC$d$)#! zo6YYS72=^8CNf6sL@o>y85rXehibz_8DKw1%$D$6ThOUq+GoOy4*787M$5qz-)2iV zl`9)2;2Rl}(PWx4c~eWyU=*9)l}G6C6S>;$lh-LlEZO={-p$z30E8`JwesFQS>%z~ z31&c8O6ldQ!dH%U)uuglZl<1fe$3Dzj@s*xhdL#1d-ygUBkLMqWUqgj*+{DdcN)4OYDRH#OQLfe z(P?iAf@B~{SLG`_Rj&9E2Ux>MS(o_@*y33SQ$A%XP6xk%*Emqf5A{-o2SjzXLxH-l z*L^iWC?JTb9Jwn#EB}L+FOdT-s764RH;Tx|Fndp<0fTbQEC*t~Q?a@cqK?#NPw23a zQ;qm<+)>9euiJa)?2LFC`a9=8vI>3Z(Z|%u+))GW%6{1>eL2ix=@o0io2EUAoHgVH z2VkSGe{Xj>wfJ)?2sbP5?O5IZIY7BsgOOVn#&S6t5&vA=_JZPQ%W-Hx{C`IxjBc{| zoDo+Pr8+k?sErk?;iB_q4fxo|d>Y=?#bw$Ex_ISE`t)!9Cao_l+GbHVK0t$lqD|)u z3+dQPFQpUDJ+I@PucX0I$);MQtrZPw&@I7em zb>dZo-|N%rl=R9$jbbyhi4w?h*gnH&nN&XY55>UpCO`26c?y1e{_B*1hz->k*E_ci zb-ai1#*7^FKx6-ode1+~vYp%hvGfNCe*Nh`b<~x9&A7<`SzhsFM5EKX08nk>hGsxG z9+y2llw)iPEe&GQw80@1q+I_k2bP3#V}5W$@4}%87jwv>!TG1*KtOE}sS)A;fg2k9 zIA`{WgdviV6c6L0)p;)oWJxBKc&wv*x!6=H?Z6gg<%WyHLvI)+l2gqBnPD8j>i2THph%SpR zY4CbTG%<^2@|Wc`C!hz3dHWhc4p&3;ev7(G{JJg}dA zX18GX%js2MLd-jkG>jYaFr$V#Qn@OI<)J}i1(UfHc@phatRhdD!4|87ALeUR=*=mr zP}gA2+93Etz0WhU7Em36<#408_F$epz+S*1HMEAi4v#lG`cga? zo0ydXHIuePlgif%!nLd&6v3mWwPQ21h=UAcHfe+(j{)s2jBj0*WhRW5nwxsV< z$L;=@L97tCCBod;^W2a}BlAuYc4YsiaDazJXD3Q9zqv{Zqz6XI3=LmBBJbhy^3zc{g4bAgx!*hviYjTQWj4W0uRpyCmuR zLFlb(BLrBCklh@7b?49eyLZf>%O$j?)A>OjjLC+e%twupwCcP%VD>75^loED0F>Z4 z35%y6XcqVE)1nuN!gCABL|16abPPx2Ll71pbOlcPj8q89Vc^%hmkmhea{3*#D5y%` z0DJ!c7pVsi$~5XSfE0(c*)h88J-9ta+aV<}0p^npvxe1B_;;PL9bz8@Jzx$XGcig` zxv<281~Cmuv37atN`aNADR;d`pMgOwtM&p2q3;J6Nz-$W=w#J#-K73OTE3yvUCe3O ziq<%D!QqXM-cKi9cv;iiQyPI<6fL_qVj0OkKVSk%2&Z28Y!3;*D?4g1r)H=9s3GTH z+tFOWCA&;eoeVJe@$Z2-p$0qU>!~oB&xUZ+;@Z(@aMF({7|K)3f|M{0Eow`gdWQ$m z=;%ZLl`l=9PfndoX=O;WSy$5hBacW)TGPzO-=<~FfHdy?^1oufyIC*=jjVo32>BMt2xE_?BSF8dS@>z=M7hFvO18Eh(@ zXhS=p_TVF&+zDVDUB^J>HeyKxKM3iXbLOmC;p6IV}!7Io9~F;gnT$( zq)+bdrTn1`nki3=sE6kyTcQ^JAvfdWhttNQP9W4W)$zF_x~OwPC&JybK|Jz>;epY> z6Fm=EjeJ_&29N%m(O|FOEuG>rLn1HW&4>|VaF>p7c)`pqH{sOAcL`O#dpc#E4P&Hg zGfME*J6t!;=UFtP$4~}kv^PZ356@~)GY}~+47NxHIWBmJyG%4QF`}ctb^WR0NFsU} zCR*CXe#8|GmMqCIK=v^zH~?TsGaD=&W%guZUIvcR2*)LnTkCG*u#{^XuGkR4D-K3ME-aN$?b1Z?JdPPF-L>1BGX zyzmGj6r;*>;paIGnvetDqu2}4Q`PqL1M5%|c8gY%xLt4$?dm;1ycK*$4M$4O&OMgW+EBWp)2|l4_)N#Go>U_|p$&mowd6(@ zUC9Vp*881{7t;K>vl^L|@~;Nigj5tI{+#H%zYi=ZjeVssyxVhINY74sIs>7N++fatCJj(k-=JBFAoKh zcXga2qtj_jM`bQuxTU*2K29fJ`no#m;q=j8{#9Di-VZZA3O-?cu(5P>b~ZingCE%b zpU?j8$LZ8JUP^;H_-FMFr=j`!VrcT&kD$tDKV0Fe{kpwzvu^IIN=K$&nYXu zn@%0A8AVb}RZm!cwIKy)T_d0qS{i~9fuT3tIQ6QDfiJLD_~CmeNQVy_|F?v{T}B;% zd+@*rF$HK{{My#x05%hX;ivk&r7-dgofWOUDJBF1j?L7_ze7G8$!}*}RA=QGqY!!T z-`P?FlUcAlSVx)CR{HFRHlXX^hT(z9bo<5yjo2^h!q;bH0BFzHiUwpPpOp+Kp3A7` z4gYR!WrO=gc4CHb5V@j=3F}g{;Z0k&y8+VV6{GCj55kgF+fN{CsT+-TteQa7S$DOc z)g1dQ{W6&GLs?Lt!JY-RBpL+CVS3p963HgU2|OOtAlJm;w6c8E>Lc>b9yPlZ5ko?= zBz~8PE=ZJdvc3>Yxr9sol^Zv1n6M{gVqW)-sGbU$8HyM)7$-ghv!XpFx3$NFrCjxl ziCwa&S&|XW4v#Qn!m=^h;vRWlv^WKuF6X$IwJPxVy%2B-J>iDEk zQBGL{hzG6!Gnf{=Rd9}1eOqM58tIx>`~WZ4NG3iCe}get@rjR;Ap7qBXCDm^Uy4xB zYZa~>!Hh!hpS%Oe2g`w6TC|*^dzTNm3w+raD zm$%cEcYYy*<8qohemWh07DaV5eeuhm+lUcU-ZbR5v>#+bx9*Nk=_poPidCl@X+78{ zdBbdIZm6Y!MvfU(^nEbQXw)v=nd{&_4-_z5?hb0e2mEGyM_G`P%+f2{c%GXR!cZdk zN9Te!eqJY;twb61oS4F3#)oE5v?1BT=wQVIlmm=VL_kTBy z%}l2c|Kcyx;)M%oL`z4k<026`I_NERa-1;p#P9#U9WDCKpZ=+g(c@|6?9sHm%$+kd zM;;-TUO^L7#f%fUc5=i9o{iBg{iH1VDF;UHOMaDUAoJEyDeq>8h>sG9G%g;o{FO9E zb%%sFmHAo5F5U&`^g&_%D1y7a`ko^cmu{i==?6~zkvBG^Bl%Wl@}t?u5f7oR0NDFuXHmpQV&?E?URN=2b^@ z*V5HXc46!Ip~GoOm${Pe60r4N^UsZt&;xvr0BubxLgRDCzy_p!h#AcoWj^#SS+@PzemqeC06+jq zL_t)1x5l!<%-!bAveB!i+%|Mr8Z1xS2|`*j5(q)Gl?=_|An_kH0wH9OnIZsM%6Fd z(YxwDShlshqpmRc()+gbHV)G9eU#xmh_Rp5Gw zJcge=OFZxiPyBcip=%@p-C0r<+4;rd7$)P5s*TZFEvHl@+7^>{(#+q1b1%<+B&;vI z3_MuFhi;PzbEXj8Gu0QO1E7b-fh?|S_%z#~KZ#o-?MB0pL)uL}-ah*4BV3d{CxVQQ z&!yR!vuXYIa=QBNuj~lK`EyUELr*;EX$@}chV-wc%fDW*hJ9G0Kx^7JaO2|-v=r+l zHQ-Zfs28nsXb|{Kfe zgCWRBv@N|-Sp>1rsS@&-MJ6yd*x>1a9$^JkilQey9mzDGxArG(FD-_An1@DD$+ z6J(zLcYl<|r)Ok*{6$(gf4(q2z$eV=T(@;jA3S{Q``=G9$B(D?{_OwO5t-}h#EZ}B z2wO%N{oWArM2E;<5DykR;<@tC%MLEGhcb*J9S0|Li-L?ZQ^YOUy%>I?4ub~9A*Bu? zfrAeiAGYU6d>)hmJ2EnxmapBEQhH5yCOwB>seUa8t+=JSqyJJIC4*8#hqZ5k_R8xC zDGQ^@%GzJOql`rjQnj^m6q?Gxe~K5JY)DsBEB6YZc%jYTA-I6-{tE3lXth}Ylx-CM z>|e&}=2wPyd$*i)!R4@I&^TB{Wspfnf~a2Uun28_r@z|LJ{vL57-Gwiq<}XJley9` zQJ=t!iP|*VuwEJ_n&Dl$t-G^i7+9Gx^CM;7j0*OJ=x;)Oou`43BO@YaOtkr(C0*-U zlI*8)G4LQhDLw;sY2np=c6y=D!_c3Q%&D*J3flCAH^XWt*fSUDb&b~W3>?ThMHSx-Af@kh z#RVE8CyG{)5cKZRY9wX2RgyZ$a8bVkiNSUPl_(;11w|kqm4{=k2rD9YWHE;k6<2`T zcjaHnavQ?Hy8jR-yXsBRO^!1mK@YNF{5SL!bVTp_xo-vtDSDHar-~ypMgFTo>zlj- zzz4|z^-*eM8O`?*`+m|w=mu4Z)odyrBOi9%g$XP87TlEer zq`n^l_Y5N?&z4@*Bj$9NVSLnRo0W~t<#rKU?(QFyjC-ne+N8s52E50x@CyL-u8!Sq zeg-txJzk|=>Ql<3>LuU&4okUZ-vUeUT*37SR>r0v2u}GU-tefF3rIoQT1x5iySh~H zXFt{DVzcSlKl&q$)=ru6ap%)d)5y$>cU-ytoAIH;4z@Lt_{i`6ZaOR(`1B_~PB(<( z@jv({f*;Zv_uJ|S>k&D4UNvx{6{Qe*b9UsjyCaYAXHv@Nl8j21*CqyM5ehThVZ0ch zrX%n07)OUbDB}Yj1Is0aglXKM{|>%LS6;n~(Ebjz}_ z1!GeNo66gyLkXD;Xe7%35evvG2E}eJ_<$TTvofZJMwDAQ`sJmyF#>-dltbcU76b#c zvvli}p#mvm7V}{_CPADtu35BenRrKY>Khnw;=*!_5&k?B|1Zj zOB=PhiCp+B8T=%loD_%bU@+5CW01tsE6<d$ zO>JkP8KxapejDB<>N2=`2c*mv>DyihtG^f_44#dPN(LVUnQ_wg*nkU$iDoQ33_eJr z6xS|U)IBCc6PhtG!{nG?)V8XfWAnQkCOVNzh6zhf?H&@%m~bi=vlYO`#&utIHDNOy zEJX&t5^}>t>&R@6Nj6N@)K0E&`+F{13=_M*gqz5 zSBC@9oeT_X)LDNFZu`_`Cyg$kO@A6<27wvD^UaQGFeRika+5PB)71F!v~b~Ky7vCB zB(#I+=+iIBpg5!BO0T6g-EuuTG^0jPr zUi`DP^-XzUWI&E_O~zu>LxWKe!JJA)=Y;WL`)#yAlg1b28bxP7r_<0GvR7wxMCaab zj;1@GTuYbUcrz_sJf99d`&@cl1_h_ZeE64tnR*%@>eyI%b?TenOebG>A>EXba`DGM zPKTd)F3ml9Qm3+97eOL6v(M#7oq**H{-U_@Ua=DP6EyqfE^Zt=4;M*3YM*H3!A zV7T-XV;kCcrCb>Y=6>1Rix&JzfsNf0x|C0Xqc&JKg^wQ6UaBja0lAb8Kk=+ijvG%) z3l|L5HdbT!=GhPGr_E{z7Yg-=mPy(kH5C+fUE}2{Lm7D#qW&W{%x02qPU1G%fe?)8m)#L1fWE(ES~@a69|FhhORKlk-i zXkXaZfZWq^Z`@rrBSc)xWO&=-A0o1(Q_Qj%3p&j8l?*~&l#ZBe7c7ox31S!~v;_>- zX{Lmev^F`Jiz9+DN@S4Ok}h2~xq4F@*D*{)6GxfbF~Mqg!#Ek8Qu|9G%31mtCU(M? za0t)J9mT(K#S9a}p|(Aiat$+UB7?-2a>+=sJs{d}hX7f-szEj_1shTwAJK+;ArUWC zL#g!PM3=W~cr+Li5c%0nf?6Q@wDyMNi;}6Z3Wb*;?2vB`sKPTk3o~5CHj4vH8!m&x z7NC{3%N}xJt{s8ITYdoxy}X+|2`*@GMEtfQ!?!xn-vYz}JT$y240zzG$R&hQksP+u zF25ah#+@s89bO^zBple@iv&F^2mnXM<9$U2uO3aDm3JR6`)hz$f>u0EFm&ymwm!%| z0J$FyF#Dl1AG@LmLGy~+1hJ7#DH2w_1mL4ODb38CP2)rJ>DDKo=%(|x)eujoqffn% zrcNAAE321v8Q~2z(pqE69t-tQ%PZOwGJ95|;!mbazxufv(tEODWsB+kKmT*za9-{C z@O;o=qO@;oslv%`d_%|WeoLM1YC5lFTO;aFkH7G&ELg3{URtTj7Wzt~4@?*zNND6( zul8PZ3!mN&-mt{VjSxSf2`(}Q4^LUH2JUY7yd3C|2h!y9i8L{ONXCYa-o33&!QzuE z3cA^O5(SWv&L#2Q`FC$r_NL!MoVpP$$w3cUTVrO9PH4AyJBJT(?Y4Np(XQUXAa$Ar zkzyuQ%e;_5Qm1U-2a27~lI)DT9qKvoU-*s@ZF`a0fcyLn%?uDQQ^_F%y&RMQJFfc7 zj6}B?vtDug^#?!38_y}-^#KpIbZXf2)FWwoWi#FW{9{{UGjr;U4mr^1`TCNK4p)pZ zG+26tAz{iyQTTkLRAYqDZXw@;79e^0?xA&UGivoi`4Ok%7;@+mk8CfB zcKxFS-<|`8BjvCVZ!b2a>i@r7Gpp&6@xmFYg}z=V#B)11_KJC zgjo|dtH;gn{?r{NY+TpDEM^EuPKGc{*b8EY37gktSZL;XSO>P)rg)_jr*iqe74Ajh z2Kk#to0B9w7$B1~+Jooud1CvF3~6(|E^PFAj{zbMYEY$I%2f$Ykw0Er%y6&0{u*of zp}@VafS)gZ!+>xJb9pY43OFCs@~<*H-jN#d7I^<}I!(!2Zf8#PVn!zyC!v4J^G| z z^B-zz`bawV%-7S{;pw!r^tm?T>4YO2Ic7wgnFczjt+c%KMVdZ*F3p{JOrzuPYcx_j@M zQ?5=t|3aG45xNVPFQ-ExsS`U<&WTja46TU1o%Rmxg=XWL5}z8%s~WU&5x^E)@c3kUUEu*{UK=z?ID z(~e9{+e`_|xaW~>E%2OC7s9GHKuE7 zEB$y?@@);Vo+vtu9Ivil*AlIBI)?R@b;8{K%M>z8vBu`+v^48@TD&7X8kJ!xm?~jy zk8m*F$40h#3Y`@Cb?TgDd@z4eRxdgzMh+Vl*ihygTcC%Q*u>0+*T`D|;uSdml8(%t+v=Kg^9XKDa%_Zt2z(6Ay(P4E7W*Yb+Fvr8Bnv8~hq2BbL`sIuxI3XA}CQ zPT*l*&XA5{UB9}RE`9KBy7}%qHgd;p<%b@7#P0Z@yl;N?S^DH(|CKKFTJa6%7;D+t z%ttmpPJQ#Wbo%8N)!A-qZTqEkRR+k^iIeH*Gf!xQ_l|YWF|$Q`5sDMEqs(A{ln&mo zoQ7pPlaePCi{MZR*XiLT{Xfu7{T$(+7+U~>IQoG1WMK*%~moP@8aOzdg%OP-x7X@1U>xUYPfM6%hsWKBQzyg=7CAX{yvj@{$`wor*0d16+Ef8v{gPlzSjRlh z2*yNFF76vaw{l1mzx<72C}eDiQ(TtmENc0v}IJL zB&=~^m1~r`I2YNgT1-i?$Q5{uT==0*N#Hh!rK(-7#!|GY0qy?gloRV$VzN$GGRU>e z{EAOT=>Dn`#Y3n|d3xlWW*MzC1%TQs(l`gVqO|jj_f~q7m!6e{f>LYh9i+g_{QjSM7+F8YTZ6PC%U6 zBn-2WMR1Lj4sJxl3-`x_f!+?Auru&wJ}@nKfIB`OE^WblXlC~|jKl@(*I&d&>BDN_ z!FL%i7X5y053vJLytZ-|W@WNEa^X^S8TGdv_vg&Z(<!Oa`-HQKd5VwlO2~p+dV)<8NzxAP5_AAa;EECPVDygksvv z_=YeFQjgCkJq581B|O`wP*LEI@MGC-5bVb+uXVQlWpW1*XEa^G(Bptw`c~|#gF{c@ zCSYm@B)&0aJv04MwL15px{J8#=+ta=NoJxQVAtwx!}h{&{owL;AjL zk*J~;K6zfgAL{(Pn$b8 zzss2L7dj@~X|j5si!5u#LLC#Ck~}eC!wJU36A$}Fi0jd3Qt{pNOKe6hu!e(aKuqZb zOav2Og?UB5(nN5>l(6~$Pklnd223ivyBL-F*L9-2g70kU{576$C3axP50m*3uJ$OO zJDxS}S}7vKCW9tLrwwYa-mK%hm9YJ4`{3+f(!Js8{K7AQ&h@EDmOZlxbQoc*ZyZM*!d=}uFyv?Wh3RY>Wb~^h+IyRM{rJlq+^AiveAKbMA2#8#) z!Ubm9)p`3|Fc-cSD2T>Gj_FQ%7{3XP=K8jtL5v+TxBExzI5uoF5yv2>%C$N}w9b(AS zl+u^-=@GiH=4Ei1=kB<2Qjl>`@59M4I%h<8!S=7IZ|34yb0DS#uVJn=xR=>6bDXl*YM#*lf6WY)O{~KFq@eSs3KXK)g4i!indp;!v%uZj+625Pp7|lB|CpT=!kd2 zvJ7=&JkiUYYRv)biba&iJq0m)+f>meiOwiHa{TdrY}@^s<*m^h1g&Gf^u0&Ho#||& zJb4(Q&2wj-b0y}7oO!mZgR^JQ``BWx`#2DAx43)xTSAtS z{mZzvlk=GyDLxx!!>E=V2XEz$mx3r`23$qk`x1Q%U#$lcbL;kk& ze!lN*=qL$%NB@eaCD*+PShu{x#G_bT#$nvoj7eC-3dW>9F(H|ALFk!;B`wH9HjLur zWEoK||CW|eey=Y_R5Xz}K2Az76YL!(qcgMB5SJusY0bVAcbCMi@2i~p-mI2xUJY1e zN`_gdJs~NK$?&)*FX*X^s_bqw=O#|%WK3X6wiHRD|2*8H%{;N8zScC_tGChgZ#7Gq z(~4g{TM;a-+g+iwvmDknG=-o!Gj z`wNd&eunF$f3gqdcjvbtt>e+WG(p)0B_ztT3?fK7ga{{rQAQofcjF1}-sj47f90T_cOT-E`|+Z8Mb?gP;aub&kL%4I|`Q81fqvy&ttI}3sKaG8^jPyfJV z_JG~Hx2uC^5u@6eSUkc{DR481*PRhDdw~823YqM>t8BM) z`&xCEotq=CT|!=Vi<6M+5MB_`OpG}o>`zW}>ky_M#kWi=_AS}PO@-tXuP9N>E19k0 z)BSW}7?z=;ue;c_okP)G^(iddxELm*V2p%~0T6?=97V}# zcKJ^s@-|J=X|-jU3kP9Bu$O=1qfe@9|M(9v!KujD%Y3N#NF!D+{rO*1C*OHHm=Bd` z2hp9l`O(KAlYHXcw*Uc?xG0|Ii9o_H&c(fTCS$XQ%5txx# zM9r>M_pW?Z-Td$$tL4+LAhvc6J(0uJ!_id?=hXKD*oPh$;y_6MTFP{|gSi3IF*+t; z!f6rxU|sPnl0=`N#59%w^N0vmFtEh)84-+FyDj{Z&9j~mJ<+Gwg?B@OQxlo5JOz;$ z>>dXtkKU)b+lDfZr44)IJnwJIRT+JRKTjj}I~L=v4sa#>yD?8CFUyeOa4zuAF{{&> zns3f?>J$xcPgb|S`jEM9zB-1Lz{%qn>R7o>8?DoRdB=x&4Kbf!5`vVb&NgyO!~9@v zAkG~Z&SSPimc>gr+qO|oce9|Z!NO=R$;cPj>tvah-`Ei+PG=LbjAvkm`&wX85*`3<2XU2e(tlNM_RqQl%V0mWEN{ScHpF0L*LLNfsZE#_d zOoh9{il)eXtZ}D@yLSiAo#obEc19L%&=(=XgShGKu>ETq`WEE7x^j=sJ_@mS0m2R< znVlB(L7V^|T)jf#0WRozt=fh@URk1?5z8q|hUdS*}O7x5so zF%-C$>0nR7OSTlVS=!)4Y7wSm4pE^STq1Zg7LT!mTo%bm$LyIiD3%{(v4F7ve;eGs zY&%aJIDr+b?dpg3eplW4@DFhkqWyXopWVYvnqCHX*zV!1=TUxKov z-1($LiNndG)$G(M?xsN$4IQM(qo=AP7hk7*%w`u`)e)ftL$av|}dm|z$lfC!5|7UMM22#Ly*fqgS!Uu$3>PeJ_BITvhl z(q-H{1!?+1MCkKlRub<&hRNMN#rJsSDTqu$RIw+t->3btqnu7X+I_K%a>s08Ix=r_ zPvY8B2mNF&v@|p^dW8N(|G4ozV~@V^(o5AE8#n9giY3ZyBs0M^g^--(gs4C}60DyMUn)jF}Xp7sw&f+tO7;+Q&~bZWCLU z=jnz_OzLptGe>^Ap4OyEy^o^mdgQ!de^(@{Tg>+=4DLKF&P|1`JK~_>LByk_EF|^r$2gjoRnxm3*8dLx7L>z zIRU=MdZC^qtAeK`n9BD;#iA$T8cpUdpqU;KGS`Hq+Yi{}`aa+sWUY2HF-5l&;o=@J z?u=sQ25N=r5_a2YXHBE%tZ%-?oM(|8XQIw`c_CN&cUL?k5m#Nnz>AY-D}r!@f618W zt=zg{=)i1>j8(vhuR7oG>nW#`X(=c2s`IEpN}QCOI}z(Xn{nf}&O7=8(W1Oootl(Z zHPh+Wyf%I%u0EYMAz~9ZV+74sds^O;x5Pm zh`WT1%dlRPyM{YycZ-@esrtRSAnRm8%0%IJk{rJ6oH+C?u8al;dSN(B(J&o3DVVpz z$ejHP@=#{Og@9x8WcH9%N9dDsn>U|cPHT(`@(dj6=T65La-~D5C4`Rt3ESZfR%m<5< z;#g<@1(yt-KgTXVH#sleMF-*_ZMO{L@*!m&t&YBNA#ObPWlg5qsOZ`%t_z<;=^D>4!?Q{QLQ7@(8eMQ zJK||Ev5Sk6-#!5DU}pEYB{$72=LRoNtm>?zz#8|w=t(5IuvV4Cox7s;E-@X>@njeT z0%uM2c+I#&G9eHv!N8zIyw`5HxLsqH{>QU;wL4x65gx~^IssvnVDIRiP_bkGn!*xQ zVWtf99HKBD&I#r(a?8Isr?7t@f-;P8f*Ez$Zr-7Pea`qh#+Z4n+8WgC>K)oaK?Yk- zhJ{Dx?5tkI;ZTYN|E#iPt|FPa2y_G0&qNq*|1&nUrI-iogfsVyq*xQM_!rO2}Vt&Z1*So6`s9fYvq+n=;x6Ad1 zxhu*(KHAjTKBDg(#RiN2)~t5!bQG7qZ8VmU7tfzB1|&{x!|gD&Tdj{&H$VFzPA3kX zyM*4ytJU(_ZJ3XnOk!b9>z7hY=pZI` zv9KcXDbw+g+vXpxrtSs}SWO;0MLAQ|+&5RMAGou_OR|Q+yD)b#AH>~cF&dqnsm}g) z|FSyx(itw9yc1$ZaWaLN((O+_sn&q$+`s;-R6J)l%>}PGCpQ1Aw>?bV4{>B!I(N(! zv)XH_Gt5*Hg%XG2v*0;%+5Oi(2x-ngcJ{&P0W4mv&MhE%l_F!uF1=d~O%1bXeg{Fw zZZvhaO%gu)bmpDoLthOlaB{b}3X)e^f_rsOy{*}uZSXe+ebRmxlrYNCfs3B_2 z)4w3zXwUW>--g7Jip4Aa6L0MpKh---5vN_lGVwt5xcx;PqM^8JCr>@{EX92CU#XQn zYXs&4DvZhxGGDz^Z9G_w{w1MyjcZV;Y*z#hE&>21lm_n9@2VTn5?*nIIM zb1#f%AJ}irb92B_pQH`TIPQho{^7r8?Q)0=gnn3QU;WBlTWTHs{yCKYtn2e+`ITC> zQpZ?#wkw++&S9{vn@cDII)Z#W z!I*W{gNOIfkD~-nTH>ChxVwZK<6%g=Xjq(Uq0I{!x7qA^h|+zC#5o7y0_u2mJ*Ibb zbq_h|ycs-rnR$s&548TXG=B6mL{dX8}e+Wpp1pWjV}jbBqt8~XCzq^OGv z0NcJ%a5pTL-@;dU7Y`k{T8JxUnMpDxzO~CJG4u=U#FPCeF&1fz(Wc)lv%QuR{6wxz zojp+oU5S8FAVXn=XDrP4C4x$Yt;!4c$AbYI^&vN$pJtL8t!{tz5u!ZTvG#Kz#GzK! z?}TEwJ1E(yOZ#Sfs~e9=4)zOIfOx=@{X`xl(Hd>AJo z?nt}4vUK}KDAZ}{cLv4vklw#%VMB~lQGP|&Z3JmdGts%fr!;8O3=gOq-QqKoS{tF77LC$ve_s(sSY8S zJ287an3^Ac_xtMR2Oq?dyo!bGiHA(04L6V*o}i4g|Kh)|W;sn+UA%?f2e$4Zv_>Y- zh4|qXcZht7;yIS1&Yr5)Ftr@0s3%7AY@ayE#K}k$tVp!TRP4uzPsL)4ujQisIB~8V zy#&etuxLtJohFrnx7Js=@8nn1Zv+U5W+~s6Q0T@`nceiS^Wv)*s4z!OsrH_NShhRRp%hF$=JIoKLL$7H z+LX>p3n{k5q;3 zSmHrZ#60~Fvj0|GyRNJU1B&i3&(bHdSLA8)L&SFn`ODQC+!#(D4aNkfWDsk5LogR( zvnZNZC-S5OF|7?v1hY02rbG)|igr2Qq{2Gu8K)%!h>OaQOfWwx-er3<&R(;(Grz_; z{|1P)mw6eX%*ntW@w*bmlosQ;m01}dW>n^^hyyd!arNuobV4h>2@6PdCK*}-4e)Vq zNO<<7Ghw8y{ktogxpn-q1$%R-i|i`7_;r#Nk0>lZB1|lRpORJ^g|!qA=kb1EkVmOR=^Rf0?~5cqG6qzdoSZsY4Q)+Ux4-y=3+Rwr zK7B3}!dExv*}c0)8{3WQcHRMBwz^}y#Be;hD7*Ycf2litj5ETtykWU_=PxG{@)k_U zXNa-P--e(*5W6Ys%L|BTy`G9oZ6cFCEOca)GjJ2{HUo1JV2)Xe{ZPWUiP(-sz)Zhrg;F}JIezjz15b8OA8tP-A#8UZPK1uPN;o_Z;sp>wK} zaFv-5PtDX9!Mpw#Po_n)sS=gKxtCL%Mh3(ai0Okb)4#{6TbE&UF}Hj4wRfuNQzxqB zm8&eCYt`7WGS22G?wVZPp$o@D|MHjjW^l(1yMzzWW13|5Z}QktPVs(Q-TnFttd4!h z0{sAsZx`cIN6lHUFROP$Eu!Iehu*G5v;?OvK7rWd*Lb^RDa;S~!5|HBGLpYCAA^4L zUxL`(^=d%Z~KG@UD=)BLdK>M6V1Nw>A#R&*y3sdypVEXa|RYv-G`{^->o-8r`qTQ(yFu(t%k|KHRwKq@gddc7+I+OiAdKpxePIyV&&Z zlC5=^5{T0{A&HZc2i5xA9VQ*vo>8nua;c&^CB?-wWNIfST~DK=H?VY_jzo*Lq8En5 z`82%ipC+FDBu7F!yw7`+WCtt}y9015Eq;1i2a{(Ob$ML?5sSd42vhYbhBOgUr}f?O zT*h*#WcWn}=1Zj!ztBC+`4q?4P5+ ze5IN`@ltj4;v4K9E^yDsRR~DCkkfbnHZ84f2bMT@;cNbNmss{^?f5b^PIkBEzN`)( zI$s@s^IaD3Ppd^NVtESUpO!oBAYZ?>aF$(mcKxT(3t7HJ|6|7`#ASr37cO-L#zNdD zc79rQE{sHbXPykYTxZ}zw8&hWCMJSihNNTB!v5W?PMcl~Z3d1oh!@<1(-nNbH zVhDFcj^?ypD<7Loi}o4mE)|2zPc^Pp}(x zf2b)+Wd3D1Lbe}xg1!gFSTJncS|N3On)b!g)xGbpR^MY{cjeA)^5mWi>eXxM%I{5d zJ`P>HSiOR^tI?V9YWe;R^5SND@l7GaBUtzO^qcAddLt)(`D@^vu2$A=0$YBhnvzPd9qgyOO;glFTj7)m717;;Te|F?jTAQLu^{NOk1LtpSkrA(ei z_3nuw$|&Etuz6A-1IwQ{z}fdhw}8G@+O7_Yd_rdeofwS>%TC7>#_i|u~!J&SUk0oBJz#q&#^fNND6Lxn{bEgwS1dgB!Fh0ip2H$?q;`ueY z1jnmmufJVw4y{%T_r52cyXdI&f+SQpr$sP@*>OH$4S-x znhSOVNjU|Pm@X;HAQMkz;qpE4X4>wa?G)fYMV`F1dH@C^l>8vZV1MFo8~u&VC6$}C z$9}EDaD+IO3ciX{AwqTV!g)>^4zsItkjWZzhGV3M$aOZ)Qxu3hnGKIb9d|L{auRaV z1q#AgM&c?{!lSAWA&j^P?a&G04_DVd_^7(^{_io-yB4l~B^W^W`Vp8}d23gNvclG%<4`m=I50k_k!Jdw;D<9LN-SdL#6H8?O&i0{_MZ zcDq!NhqjAAI3{^>oPXSEdRIPMzZJylIyV6Gv?^=_wgu?7YWVDcPEt{rhwf{usI z`Oo=GBPKH3!;{P;Gl$r$Iu%v}R~P@EPS>=3at({5_55ib`CXp*l~HpYuH%zlQoXcf z&cEfW#4o9Z*!hm|CQ1`nzeSuqB6Lb?<&l`p-{S3^dhQ+Xprfk9jQ^kGov>7M5kW z&D))3&A#6HcnJmHv(?PY$JvR-6fE~HJRDF#y|Pln?mqAIJHw_RGra@brl8|ZJSpzSG+<75bCYJyXZ z*|RTW#`RD&u7#=zPDeP_W=onV60=_Bgz_GiuAuz+F1WWX_;W`OFaNxVN}Upk!>zcx zfp6Yz+sOmyiNH**!Tel%@9(O+pMM^ULtHLMcsfR|dGg_@hqvCI`R#A3qZcmF9;=*u zuv-rdG9TutWh6~1-r*!+<@W9B{QvlGLh*bB#d83w^UTeOn25<+yeV#FDc0mkiB$9H zxAR#FHE$*Chg}3|ckwvN-5oR2XTl=U95+#WyYR6~Z_~duSpZ@{oxgk?CM9>JGY@mv z!-*=Q*ak@SkiVy6wRoAeq(Kbx&}r!&B6Jv0m_Bf%I{7ERMla;EFjeWz#YbLy6U$jg zIeEE{EHw)Iz)PMAwHV=l$dSb z^pp8CU$-@AboA5CRNJfDh^~GV-$!ZR(F2o+t$q^;h6fRsWXyE6amoI%o{k^q+r({e z(ir!3AG97nmiSdK9HY#`>kI;C%!1F}I8X9zOLzj8?b$xn$lNT;aGi6bdLL~DBmz1R zncF{Am;FTM!~U|LF_?3+49hZe#cr0_x^b2plLd!_fpkTxIqHBtwrrP4CLMH0QUsCt z!-febjOCq?5gi3Tyz;${R>y6BwMS{5c$iQ2w4G@)Wfu-wol+R;lsk$jY05L>8aq=6 zEBlU}?~*~G9oj(wAwM0nz@5nTOGLVbLPm!UKiD^WYR;u}L zzd&J~TiGw1MXUu;tCfX-U*f#m346+2YqB?oQI_rEBvIvrqF7DW;Eh2@jh$tPE|E9{ zA>;iUUK%EmCLOTB>BchFsaEIjS1WVqrvQ_u8(R>Xrc=3l;`p)Z$gwvOr$Vn~mdlaa>RK<7#uM}!h$`mG_IRW4m;P}H~N1S$q{H-Pw6$A5$=|d-z14mC{ zO8Ee%NLQ;L{^1{BFmG|1)W^iG%nZbWN`=$h6Y}z({WeVZu5(97mkC+%0Bj@U2e43f zr@HgW$JK#XUqdAB1os+XrjdD|?B+XxwatKfr-1W?#DQdqRJ!?k-W(T7ClvDg2k8lFyzR~A0Z=|?atu~6^KGkk0V>rc!MypAE6 z4=r+eD!{)&07g98U|n;R>;z99I9eS?BujC^In1)&{OI?XWxa$L*ekJnzP3Xzgi<=Y zb)6D-0j}|Ohf6SltbsG2W)X2%kY_4EMujqAPxetwLL`{IhK^d*Igl@PmT9+bWdvo$ zicXK2nU!rL6XHpUn+)Q`f9Ztm$8nZvf0=~A%>Ghf=q_J~>^Hg+qk$K{@XQc@BYrT9 z%p{E6sp(TNWK*G6w7z(s6Rx+=RXbKKE&mW3CnMY^!z>f|Hzm}cPw;S8o6!}J^d`6e z6(_9y^mR)3^LkpYjHtR9UKA+Co`p-?SHXNF^QTX@vu!*9iMVxN?T(RsxYzHW-ZwoY zn2+4_*{y!g(_L#G_;b9wSvSPsMr&%fq_uxf8#pJ@+q20DbMWxznv~+ZB`l-#q$W>& z+Wn=x7ytTMdlz4UA!?NE002M$NklH#iPQ-@}{=krMgC5FppP zO}b-mzf+z0^{+S~Uo7aSv$dNf6<`im+3kz?5;;GbDb?O)IBH6{|fhZrg70)Gv z{Bxo#qItH5eNW=V9a2w0np#=H?#_4;kzp2Y#NZk~#DDjFYmi}NFxPdfM7@KHN|AVNuss!ZM_v-b$QXR*)$j%!|1^Hv1r4=vHZX279KZwIlhT%P3BIoMsLg5@TU!u%HEL>%WfVbk1A?C1YB z%G|NBHRy~NedJk`=*dS~yy}n7SUV`lb;N#JaM4|M836tB=#Klx`Q^z+uij&CO*ASY zo0-Cm0zLQ^*EZ_Vst`kOmx++sgC{T9dwQ@5`_}6LUoeGvT zrHtP1rl=;@5?2J+=7A>?cGA{SW4sXPXK}{&uec3pi6?Q-i~-r)+~zK%P-l$AC0ZVc z`VaOe0rf?iXMq9x%;->d9C!D}hiefX32BJGiOD0?33dU?EGp z;zNpKA^J2r!vY8Kd-H?$VMfj(+Hwy4gmFY$G(XEgiRu@K-GSF)4LiF`&~0bmRm5mG zPB>J=OK~c#Jgv=hx`7zd@*ONwanWDiy&()(v*L7P5DOn;hh{_nL6NKxEJ}H@qAtZl zj-Uoq>_d5c1CzMob>Ja!2B!cm+omuaiIw!L0dGJoRnVtIsY9I{if)L?&j+{^Po?&6 z|M4HI``>;WIwm1<)tX4Guh}SaW!UMz_~(cvy@nr5UD5YwF&|MVX@-U;F$Qp@n*Z|4 z>g2C~jV{F@h%FS)&5S z?|bcHw>6Iz2+xUKLJ;1JQzZyM7{iCcL*A=P_o`9)~+29;=Z!#b4{@N$I$M8ypV)Z|Ec1{^zW=+O;%w@zVVzJ`l$96d` z8C@`;o2)fY>%`&sE*7uad3*Vw&iOYsmfC^kUEqESq?GcX^K*++Ck#*TS;?HEJRQk? z(@#uI_SLbki0TtNaqXyg?eUGDcnc)@9SG=- z(FCV|=EJ+6wd;UVBHLb;kMn7Nd0O|(7?1=?5;3_c0rW^-WjuET8`pksd|$l%NEit8 zXB!Mb?A1enc49Z2U41RKEMC7=&42eLiqA*6>*G?jwspT+Ub@W$uAILMp2xAtd^~Au znvd3xmMM4F!QMiNYRIVgTiU(lVC2=?^&$Qlx5d2nIoce(aNOuBaEVgzg67RNM}} zf@P|Wg@s@yWH^Q=!P`rx*y%hOjE3S?53XLT)`=st;bgGE<#dWPZLOip!k8GHMZx_1 zIq-Xq`yfst3yZD<^qhopp173CH#0)Pbv(;QiIxcJ%sZY$cv^Gl#F=W0(~rAfepOxL zR`WG1GO57tj(VPYm_Mz-w`sOe>YqM&syc(n)d5U}rpOg0V#&XV-DQ#BO2u<7+*^wq z&rv)_hvnEC7ikAiPnZdUU{3g*;KJlCIQM-x%Fo@{8g!uu5slsp2}>2*Py50IgmCZ9 zr=__^pZXq|!drI-U_M4hXR5K$BWaQ7`>!~OI!)hs4I){k^Sj_45h3yfQW7TIHT3ia z-gPz>DG)~}{2Oi*5#GC4sH0v-S;AmqVi!czc&N{2veMU>NubhP_82J=#?!L~%d@kK>5G1&Pq=a(YGWt;YM5FbJ70m8pq#VnRINDr*pJ$E>U@`Y zrmrE3F!58T3IDq20+Y#f#k)K^K(s3n??&##inROssnZlNBTdP>Uw$pW#CKC>2{L(E z_w>uUWbK>S4RjelzjvOPHSzX(dwK?>-ZUOy21fJ)m}ws6&RftW@TCe_t-XMH5%&Br zU@Mdsa40$9xOlqbK6~JmY8_%yi!EAk38ixu&&B!c5pJBAs34%7Bua}uF0`hT#K=p^ z9`7hVtR_Lhd2{t9;$ZU&-&O~Yzg!($d##$gj50O#Q9lG~CY}>VP*A_OP<{V5e}hTb z6Ih`+2SIn3`zj_}og%*Qr@30DYK{`uAt2W7d$Mtl6OOxax}i8#h#MiYG{)`X)0_-= z_lCL~Dvieli7+R(K4k~{>u<;rnRm*Y=90b%6v_t?yP+@${Pk+-*4=6W9gLgr{h^xs z;&OH7&wmRuauVWnv9=f`0o>m?G3_X0EMdiv| zNSCDF!RW!9Wo`+5;0gxB%N$214^=1Le23?B7=KVN z%8JgjOR|`+i6cm5?l!*vqaOL5B_PVe4ybod*v46x46%(vXA5T5@=R-+sPCh&p->km z8xz)vh+}`yDK4WW<>{w+*>=0RB7S9f&X2pr{BPU8ZJAI! zb^1=cC!N4+;9C6quf0+8G}!BHmuypiV+zSa^E0NVCcfjlU2@ac1JJHC8LyMpPD6MZ z8zp|{yPa)$FCDGqD-Jv%ufJ>Hy82mN40Yg5V7mcMAR_;gNhz$!w(&7~KM1pwQdW-n zjBDCXo&CV|ey4A?vG3;7>xu}ldFzBW7}T;>gzw}3JUs(a%9JLlp>r225KdU9vODox zQoeZph#2VZT+wJW)h0Lfo<$jBAe7D(XFBoLud9*SiR#|{Z(?_L2;#@)?MFyF4)}Hh zVNmSqapiy=dXgQUf=HZ5kZrMRb8qo`2(*{0nUz;CYs$&Z5vE3Wy&;@^YEf!vd<-J_ zTJ_+{6-2aVh$HiWI7BF$bNHZba+r+Odsxrn1jCa6(~ol3#yDnh56N(N_XcUkrV!K7 zbP#aJSPZahe*23rs~`UMZ#gYltq#6=p*s5d1@sCIK-I`zzq<0*|1bW3RUJCVg^JtvAuyc`WJ21l#rv*fD6uLLB>6RY;21g|Go1X~ ztiJ#IzpIuw0aBz&Gl(6=gP3s&Vw);*1!Hyk*S|sJiW3Yjp<23kjks;|xjnFu&I=3| zuHUV0fA|6Bf-fS@bei_Ss+gxQFb7-eKv4VQoUkMa>__G%KGX+ji|H6w5seMof+2&vYG(_|9Gg!+Wr8OQrLQE@9zSb7+a*Bqz*7N7lyP1Tk z{){_#KB8|f!aQ@Mx_Tj8xT%2xb&H;fqY9uT|5_Oaync6HT7h_aTI5*lb&9!&^W505 z?PzCDPl+qGLNJbg(3@=%HFdBTXU$C;ud*9a)NQ`7aomI$o6MSPQ_) zGd_s9(-oLJ{df}R>DA;kqN}5a5k>q0vCo@a4thRJjIOQU<<2A&@7I)(MsgmeUEDky zCmzhVVe;Gg%IsKH^g#j&u6ps_PV-~E%k0?$dYRHkl^<2uy%%>gRg!Fl%uzo$FlpkRNRD;ou+mulUmVym1O`XhV z{poAtO8owz5ifGC<3%2IQ6-a3zIB{32bA#kvw^py^2w+o&#adt%wn|isc z;4l_j+__&^x{A`|GDN&Pcl8b=i(ToeC6C8_YHrt^@AkmmZypW?3DeP9P*m}nO%$dV zxK()eJZ6J$-{nHN8^C`Iy$bG^a0eVJbYxqX2tLwl2T_}?eV?tM#<(n^nNUo`g!DY@=xD|DdRSBZ#)m2 zx<7`pb?nZTw4xjRocgF=Ul|f7q15}xT1%k1yQzMVL`uvfb#JlH6#W8g;-B#qxiYT( zL*^|{KHSNJIGj330V9~a{UB~2KYHn1m_zhbR&HT{fi}b(s^shroa2*z&SBa9b~}n` zIsNNT!+M;skB(q|6ijFk!1+2H&xBP}>zRZiTm?oI9w4H%QO$50yP|~N7osSkCYz65 zdW$P3%CmFsu($;)-S7O-`|PM;=)VfGvQ&l5Rd z8z1+w!86P$H{y<>aYR>-Alj#436x^0DNZBT7-y?kl#?kNjhml)G5xru+tW0JGVX%9t(bp61yvFN-X$ybDu#FJboV8nlj=^PBOS zxZN=vd&3MZCzkgN}?E+4oOt&cy{h#;si^r1KIPwE-_tdsB4c zbYL?^Q{nFSo?P0W1^3bk-s2M1Hia2b>$)XuzunGW_)1f^##SeaVXF|8{`DK&orsTk5f&Fy2~X>yIM(X&0~m%`EML7^E&Qje z=xHpVlW`1&10oH^!jlmD5(B(D9rt`!dl=Lptr?q2?`y7qT}hpF0^s#pH<&#SQ`zydR5-g$}v5v<}d1K9FO z$$!6>L%eC~)T!#_zxea&oB#M9xs&7l>imEImmwauiTr;O@`(&_7k@zkr=LEGLg_}v zz1Rs$PIvEB*I+#Eef@PRnxpSg7@wF)sH+pmCd82WAODkIRHy&+7l{0DSzMQuD@*Is ziqye$L+A_Lz5GKp_t|IF2}HK0A?UZ%V=+lR`Gp0nI6)A?bY(#+-#%q1+)_;WNgAe; zX^rjzdcJJ-TrhyH3;(T%eNa_G#rLQN2S_dxQrwo4I)_#xgtZqBPu{lHF>iP%Eh>o#AfJs;T^ri+3s4G8Yy9W?aXf#eKK7FX1{o1Z+JsZqsw31_a zb|t2@JOxP|1nXt%r4#=WdkwQ$a%kc>J~V_;`h++T773zU@RB(2#LKlM$GsyzYw8l% z>-4dN64LwLj$h(R%s$C{B)r4S8`HB~HaPbnPLGFRE;Jr6G&aO|nhR)*H#UZNA2?a( z4jAh;Hipg_-<>(74cI>46}@uQwDDe&=6q8VS9sd4mepXt#QfuWKFZ=%sg3pQ6~Bsp zE)HmqovxqX&RBn(KGtn#{mNL2f!~7@aa7iyYp&;hl8d5j$U<@xK#IojATYjyiF> zLii|!760D6+Ca2{kM}<5&8JRNqGy)Oe7y8#->!E7!RO9+8QKeO`m!2QX3P~tDE+{` zkZod^U^y6uq`AC9<7*<%~$o$<2UR{~5W)GiXNB;~v#@|*a-g!3&xrJ-r zhvKy|*l~0E_3yCDk6GH6UM8nCcAQb}je*4ALxEP4y(+24NDF^UubsE=hS`R~Ru~cA zC2~A*e8|e{iAb4Mq5`c<>^qT9mtS|i69-91geZ^*-=`~M*}AFUGdYb(XEy#kJ@y`= zV{iRw=zOhWv_sgE2^W)?Aci@S;aXc=t5(?f7>6k_pJ<1OvHzbKDItEfGmZHbI7?^{ z7460?0e>V<4WIr1;w(#d+gw8yWch_kkwuAJ1FP!`<+f@zoyFj;k_; zj2&|leOC1No>BnzzBTYG1MJvzBcUGOJVP9k1ZA8%`g+kDVdNiJZ+@a|^K@!5O$2p= z9jOvdMi}!!nxxOj8NZ~mZOeO|N%7j@-KzIqVI@7;#TYaH*p%u{6!7)o5{zXQ=~|hE zM}BvFyCVlqvN{c{5m#h|6P7xE{7Sp_&INVkCQS`di4R62t%g@3|GM!UJGQef=NS7$ zo|Zh|jn#;SW)zCtM- zi&b%F1;q15??Xf{REN%i6O1Ky~xuPq{~8v3eEd z>&YWi+#_*4BKC?dm4V&lA``;aH~8IvXc-<|;^M@YQAj_|MT*}-B)FYwzWQLfy8egXVUG9{g26o^S2^~|#6&XN5);5%?7$v8|0*I^ zzX9e$QSS|u#@(Img}V)}h0CA}p;w{e`Q0xsqg!&VI{$C}4W>pX5J^L9EC^tM%yR7; zx$q^yUGgi7Rr&U5D$V9@u*fw~w`1hHVKTSLd^C*8FsA`Y6uNVV=oa{!m^_I*{(VH4 zK0=Ic8gr;`urtkFBM|io>(2al^>OeBS*f1SaJYQaOeyns-`JsBFdDg3nDSF zhTjnFFrwI?`#BKYatDoG$hk1@Ja_q1^g_6V6S1Bn=P$qvAAfe@^^bTzG-uTYfc{}c1HQzyO->i>rQ`r z=>DDaj3+y^4<`>}6Bx6ormNc+?O2(=h0e!oh%ufH%W)4kyP0vz5Z5E>B~1)s_IWi# z7Cadlp${0ge`mk%Ht^6+E6)6D&pWxRNo&>J^>J$5&iki$x2?xfT37Guaj@jTw0%2i zz;Qo3i;KtW2R{WCo~F#KVLOL@%!en8{<#_C){&jXe&n4-p|8d~HNwfB8%2ZL7yw}7 zB>Ea@e8ybTV4LI(Gg9XKLcqqe?u7ND4Ib~dTDG0x4iEdTe~qKn;=6ukk|x;nJ?VBt zDX|F%exXkU`$l)UnW#O!TG@y>Q-oJMOUfb3-Q823G#dFCTsoa$c2m5#Oz6kag}?4k+7IB z`oTxNM#d%)SGyBpPKPdCVka7NwTQw<_=Y%4J#!?n(iTH$GIU%xpe<(&24G_9I65k4 zxPRp<2u^lK4{|TbKwkDHR&yM&fJPa^=!+a>0T{35zWpIYu9k1!K#_bZ%I}M(jBOX@Iv{aJ_@9=-G? zr(oPXzjC|NKdfWNiOANc{y{869de-w0=1JMU!vc|?x!$BH|mK|J|kxN=z2!KZMAV% zV0;Le>H9nTiGSiK))WUh&c3oAw^ytllsqy!H#w4_k`bQ_(bfCkU9A?beT!(P7WOUz z=PHch663DD%id%y-tDUsh(@Mf2u2&W$6!JfH`MJHDr@H7&iFB}m{rS#-c+*mT3K<=kjdLcn{29N)!t_ekI<%~VGKl$~=?CyuF0YnL3mpC!NESWSN* zew5M4v?qh^Pl}89@oWVJB+x$L1iGIqz*wLe^eeIxr_O-yh+QKhlGJhPTzX2Prv38m z#Oh9E+?Z==o0z*X z9vIl7vvNuY>dPN+c;sw{O;?_KK=dN$xnUqC5fp$G&p}=Z(UdFI^2^7$i0xc;;H8(U zWpo$9glf%v*o(TmX9JooX;_?mFmbg9wC|;*JrR*T(KWvD`NTiwBQw($!;1VFJ&N88 zK_shqy}8UTBXZaSV-J!0KaHLQdJBk}sm!Z6TE+}a$`uF(L?=SI7YjpJAyNUj?`Z)2 zI+>H9>cO?^h&^q>xLqVJ6D&KLol3WACb3Z_{H{r^6NkERA~i6(z~qe~$$!ZZzk#ab$WX#~qV?aRcrk)81PshfN+o z&W+~3LBHqaYI*SiOvEith7b#47o#uWC6jnE>B0D<;(3Kh-%rER)roiCL9`7s$IFT{ zNpS6)cNEaEcgU8u%PB-L^?L_-{m+>f0<|Dv($0z4sDM9(JlmVDbu!a zvnc24#|AymXs%SIg*YCWhUkQuI zKkZMcnd{6$#LG3`Yuyv-y+Cz< zH3U%)Po>>-^2xu56UQbEOkH4`sLP|LI>JzgH|3F6WM}?;YulYkpZp)4t~Z9?x~zxo zlx@UjNxhDA(e>18dU|?bdS+(i2qM^6y?hAs5glk?YRb&of01+jQ~W!APs@OGAg41a zo?BBtcDUq_-HsVB@Ic?uO9oc6Y47}kHZd6}hL;UDQHF5M9cYqw=1OU-5 zC-7bRcVR*bURybWZwY9yOZs665C|O=#LX-xC&Ju~fQcXDlw@!SJ%Fn>QCR<7webCS zm=~TvgbPLL4&xD(jmLW>gJrOssHE)4a zCZeGs7&uN`=05whIsr2?bK(%Y@=NvDwxrSuC9Qc&_Q+5)jFF)(RMyXVqD;aiRnhAx z-)*#7f(xYSWj>m;=Cy&+IhM7XyKv4LTm%amAVFC1+c z_j-?YcdrO_Sm08O(y$$D)a`2>M3GO$Yi)%(XdgL0pD04%y-{9ZIEKidC+k8bjJr8u z7WO<*W&VmZ65vT}i|58kylg^0BABur(H^^ut=w=)d}|)v`Na8Ky{Jvv zqZiZm|7LC%DxGU$z9meKMNAoJjh5eR|jqjEh7awpL@z%uX=zqWuMcQh3b#AWvsHa&oq+=I(IE1@{fSdI_0iP68fq85;zt zbFxHNakiOAZpeFso2rW5H=eaSrOTtE$LNOcV7u@%TEij4wp>Fef_Wh+J*1ZdErh z`FrF2-}Al_ryfpF4f8=Nh*ZBf5V;!Tg2dCm`V}TYUq!@ct-AI7w;{$etTHU{L_<1J zS-rg+Ox-Z|imX0ZsjmO-_tgZaDc*R_F#~X5juDBMF!lN4tZw=g?>)LD~Owo zV)sXp^bv{*WM}}1*cy-}64C!GkVqFT|rn#>^qyJ)d`O-Vp zEH~JP*cK+0^CZNDzl}vd={I;;Kbm((Fd6ut^!&xk?wv&DAv4%L4iQ?;C6Q5E6E2S6 z?1R7(aQYhy9%&?v>hC%%!AWAKm1*l$IC|>a3N5eprQKW!v+hxUBHG6$Cb2%YJyG33 z@57A?FNuuPwbgs<5bxCc*e(C!Z#niSPbkz2S;lIg%IOkk1%?v0`{}&aVjc*zI!P$x zy4xLp=htqvH{YC!vJB_`Hi5b`r|0h@B)WBAao+c`Qtu1u%>BE7P!Io49cAllk z@-#urz{F88<$NXfjNN%*aAY-|pV3~dG?sCZ6fVGK)XnIy146(y!s}0SFoeLaD@Tv#N^II$oF*-%T7Q}-cCq58(i*Kr9e+X z3@bw@BK!zHmgkTVrn0l;Kpn>iApl zRCC`2ToR1r!$9}W5=EZkM)T>ToL0=B(rJ6>W(I5tkYgPafiO9Hk(1WgKh8Gsg| z!Fi>WYkKeU(5S-dUCg0g{uqWS#bSmhN2`?wH>sfUEyLRG?u19nR1*EZPav*n+a;Xr z7GmjZO=W%v_c53d!`h4M?m6!sV&3X}xVyVqTgdWTT^Gx8Ltsqv&^1vS_@v*dvotz! zkP9r&!=#Q=?@zdw<$e0VI;TFb5XQ~vtD1t9kSO>{Jc|Y47N`Ai60v|w*!UlR#_aF* z#%aGaNvt@p^z`9?)0QesiK!jw0WojHr@c*=X${G+rkny#*0u5PezR`7xvaN+)4Uu9 zh{TP~RHMU(v9R|8^TxN_*>f5r7Ux;4SN7EV*sYA>ZyC1jsymyrz2y5Ii1zs=`Nq^=)ib%uEw7AF)}fMRolzSv7FTc-!98*H>%=bw^pxKPOe7#;0V*;zlj2wB*2ya~OJ5@= z0G;UVeDsVcJwO(J!fgA}zkQZ`+Sv%NVfs0D#5zRQd0K_|9f`_Z;YGVL#Q`+5HQ`%SF1b zV1~Z<{V6aI9goR(U9+>gVRm`f??4oz+}hg3F2r(U!=I=e#o7s7_DfeEcLx&=IplMl zG&&)f{qz2{PdP!l6XxyP!zhOjY@naQ2IUs zk*)~K{I_2~v?D9b4zs3Y)f3r-ke9d^o2Gt?DlRh(L_cO)SG0*mYn01(RIoOG2Sve4 zMDFwBLg(Oi1_B2ukj2HhoM)$I@dP#t;e?NB`5^d5~G_MCGHG`&xlUj9h{i~n{(PI&gUO)k0W&7(}1O>W=? zy@_Pn#B>s_5~_;wOirtGz8RPHshe|{lYoiC2ddS@mO0d@d6VPLHz#Mroge^po;VZ+ zLw}toAL2VqsX}-vGGn`z@QCz;KOBFzSR*kV^zrNg9$cnb746EZ`E-Yd{^X!0bmxw`#>bCv>hXa2 z;!8v~xpN4sY6HVCf{1e_Lu}rqwC=nf^<`Q1wW6H91_SI#mrSnsZ(zxs#EAcLK5pt{ z9>#Z`34)V+_in$vA+t7?Q*N>^n^1eFdcL7qTTUsdJ<{heAbBF<8r7#KcYrZnoaL~2 z5c&<&tKi5nEbh`}J4#gBxBj@4(`kDY>V-Y~Vq(jBwwY4f(Z39>tG&xZ-I#6GCwqeH z>^7IT4vnZpP6@0X{)LDZ8z{ljcp?&~n~J+8E_cZ~%cqZa%^`F;`+N3V^Cy=sK+8w= z&d9sc5|1mv(+aZSR zlsG*-eEs_MWpvq`Z2dE{_Frba%kOThK)>i_T5!-C&ZX0sXn`?`NMORnQ!Xl$C>_`Y z6Vvnvb&0`c*uEn57t6d+3`xpc7j))wm3VcN`W#V%ID^8 z%5GhxqD==5`_=t#zNrpfdL2b{Zqts-@qj5N9_z>=#qP0nAD`Gj zDf=aec9qjVgRww49RlCDTF6p|;>c@Q$l~Vd#f7WLzpg{-9;_ECC&nBS?)nUQ64G-c zbibPBF1AJ382pFG7(u*g6S1-TSGccaa-y0-w`2rm^X0jDWcxqF2fBW!L-kuYS!1jK||*#(TGKav>s%ffjah;)rBUqk`@QiLvIEb+=?%p5S#D zI5w6xt82geT{SW@QyqUBQ?_Kcy420ImL&b3PT4SDEpdPn&qcrVwbIYZ(>U=CuIyFC zKX%9C@i`iKL0xAP_azL2~CQ{IL+BsdpnzCB?vz*tgKHy zvW=T`ez#4j7Ll0|cB``t$`RPI(^e;q(jN^13|8*OI_?z7(Y&y7(!FpLh-5;vx+K#z zi9+Csw|^NrPBPURMmT!$4es|*0sl7b?broQ`vOFm^4uv>(F<5Evf^8uM1At76x(__ z3pD+)6|n1TBdXC`?ygA)*crDlB{8NWsjwI?VUl?4yaQtiD|s2y>XqMk-SHzak5#g< zSvCoVtA!h1=Y1b2{g2IXVo~4s!Hxtecfz>1?zZ_jYk=jY&ZR!}TU-3@g^QY_02k8JCmP>KP2f_e|u#}giL zxKku6apj!8N%#;JvYf-7wvBf}^ela3NWn!P=0iQU7|#?ZJ)p z@-e?`BjcrilcEVJemy=l2xU!aV)eu;0X$28)2l0;Ng}^wPz>)l`c45ZaxULp#WXpm zcUNF1tM*F`ekbn;D|yF9ol`GjTA3JKSE7{p$7h@l5;hED?s^fD8z$f{{-VAL_CQ9;i1WD{`(stI(7bE{}rF^Ue3D5WgCxiT1pGXjZvM94)X}WlT1>_d@ zi!5HfTD|hG{uRv8fw<=&HxtZhe=bBBD8~gdAxIcCNl8A-;kH^26`a5&x+0h0*zge4nhH(b+pFd_Ey6;6A`xjFsB z+kc8U*5_Dw!=yHS^e7hICJt(*_bxbLXB7MW)*+Y=`T?)mBn1%B&7W0q&K4%$cRK15 zy=gbtdQ;fX_B#FOjsK|co#l3z5{aIGIV+bjAw6jucP`@@vxhZEM#a*M*HqOvVdmtE zJ9pOaEmunzaqvRR$sT{(ZCFUVq*UM#Z^n}~HwiKq7ZU01U6 zD77Y8P0#-@n+X`|cK!Rd|a!m*X=m1BrJk8xtV!Cb^? zi6lQ`6V} zH7xd_;@6#514rAxlV2Si#noj+mL*wvlDMRaxE=V+HB&cleiz?X2H~4E${0rCteBl#BxEtYe5aXkmv0Yld4qWy)i7hXugLEAlXS0%18<{YI+!fy3dH_*zqB=AE z&md$!$9mFLh;Mdy5NBGwcelFv2^O-rM`HTm%izg;Qj}>6lerI-+YfnRWb~^E2CxeI z9)FAD-FmxY#CG8HV`Q@0Ty%G8sJiq&|GNIc6 ziJ(24;kLC3!|Ma;g(w5<$%zX7wr!I>%r^2FJ{@MHU*?%E7#dGH2UE zJq1P1#!*h!Le>zlsf>T~qt!4)JcDtCs+vc4WP!N$VLtt7!D{}t2*r}8i*kPJ-`{21 z^bgzVD>3qXcaj6kJq4F_N5ZHMk_m|x@z*iJllDU}CEvr(F{19rG)($fwaC3WTk9*; z%&B+ido0R~zy0>H9)KSCX`6c?v?tl{+ka8L#y`nR3S3E6b z4S{PYi-AkJCZJ#K8raVhn z$vWfs)hdwJcG^;bPX3+P1(rH(iBK}{dfLCbN{P?{mnC-I8N0z?^yJrqkm%%A!i{g< z<-1*OCy_5XCx`<#;?#pQiF1dpoPZck{@8gRPzS_BPM+;Qi);V!x#L^EaQk6E0{)U< zmnSsQ;2Kqh0b%_I@|AVEGIk^-maGKTVzQ>=1tRv79X(VbTyAcw1^ zJ2#|05I557F1LMt@`tdfq)FF_L+a45OMUMF0$C?uLR1)Ef)JPjk61@yf$lYbXx+t; z*p~o{Ntm)n2M;1DHd9T!ezaQRV#x1cJ{ErX0rR>rG??X;*iT1FDq?$Vx#JG($1tsX z>fJwK*LxC+U2}+#L0Hbd)#j@ zQk{7BZ5T3?@|Abr=c$6_bUSNpdtk{4CZsG(8AllVxtuG4Q7*e^0*@P;IuZr}<}QC0 z4A;?%Z^N*`1b1#a-&yb860CEaIDk|8xia_de%%|t`@4pNlMinT)@s)Baxx)9oJ!?n z-HmI9Y z4xBknoS|xQevUq5pX`Gpyu^#J#*fckT;eL*XqPCpwF}T@@(E@E&u>P07*naRQC!irv`12 z+`Z!eSYZ-s)?N#ZN?oX={;0b{WLO+#>V=3?aV!%e10v4SnXg1XObE}|1nD<+eyoai zmE)-f{V_Imn!(!MI5hfh7OxBwZ?@$UcVH=2HOeO2-(P;I`aj=0UcGg6wfbLwb-g-s znERs%|<4-tRj+J9MoJoqVNHT!Ue*6)0f1V^e2s1r5cUEXzQ*P}$pEW3jIu_eQ+=4L$LhY)s@k;YlJ!= z>eq_YWV#Z!9}X-mENqU<%&s^gTM+?OoWY94AST72J0}s=g~wL5FJ6BN4A{|SK?c~} zae~doH#?^Al!+KaXN2Vdb;qc8@ySlYLPyxMH_TX40RFI<| zo5f5q1CVOSO9T<;Wr26TN#NCKo0#Hx(--8VZw;KJ^3&Vum;xRC%n3TWIhJj?s_=HlXp)-oTxl08p4{` z&Cf1Z55E1jI{oK=fnEtBCoAQWwXSR)<0IQIZ~?*OZnz?B?%ekFxzg4Whss|Yx2_E! zZdK!02isg;52f=hObj1;<4+(A4~9&>b5H68wEIhcFrA1c>~x-H4BIh|f`+)PWB3Sm1xILXVw7=+Nm{b4A zks@>N$wappP8&q?@=qqjzaT`OpdRj~OSnIY>xcCx$!E7Ti5W$wn!7_Zn4-9vu3!1a zjX7B+g!VU1!H@Jy;@h0v%l~;Prz`fGr(aEfl#ukV^b=2dJl|_#h>0?zYE^8#T9KiK z2_GEVtp3xd=c@nf4=1bt?N_&|KYI;*$q~iV=r<~((+E-;5Uc*Uxrn zU~b+F>*u=T_lZ#=l&s2kpQs6NE5NwAI<50WzQ-Hy2K3J`k~qiKV=ZGj7iMPhYZ!4l zIb={28UBP9uUH$(cgeSYmN=Fb@8;WanS1FM9dD!X*I__lGS%Of7SILlSHp&W$ol>H z`9-|B52SMfV#c{^lSnYxBi()(kai79rWWX*y6~*Ls~af1J{TQWZd~G!-5UuaD&eA7 zCenO=vWY9odhzpIFpz|SvYPCC!-QmCYMNb6*qv)TqAqsdSn{0Me77rP*N#_ynzVd8 zr6Xsub2!DoBRBilCQ9LlX3kVY423(Nd|J)Ca<-a1d$L;DxQFufDta5IxvFA<8^bSG zcRv0&^d-DJZ~_8;XdI=&s8jY$j_cwU@)dT5m#%U8!9+ZEc($54MqGBYL!=2J|1S53 zOrJc1O#K1$O}>EXxmErD?7dfvURjdochYPxNVbSypSdTLw zBmRx8U1C7mCE}z@1$D2--0eGd(tx73oqA~TP$4O_jUP;_VqUlV^yzTmwbw;#cc_dr zB8oT(RUAZcR80;)t9u`y7NziyO(q(rdZLW3O>tX*S%A>1Se{zYogeRq)i|tbp^$G#hJ@T^6Fd;g{SXowoXp}gYM7mPv zMMyv63w@c*8W#a`g7Qi6ppI;DVS`|8Ugg0;R-cIGH_XH|rg||q-F^I2=#=i$%p)FC!EY{QP zFBaf7bl1(I^ots_@zC7eqqR-qb{dOc)hTYd z9q|O5Jvcduj0i->ejO(;khG6$^>T2T$DPD47y9h{$OVU9BFqveA)JUXxIPmDTDWX-h`j58JGJHFX^v{NW@%x+MzyI-Y_|uPv!+-RxQ5isCola_(O)d>DJ9U@N8a2MA`?*kb zrajU*&zjBt&;$jJ^sG@)9LocXzhjb0^AdzVZC2>O!RAhRdp?EXyMBRZL83y$Q%sUL z78(nuKqPYu#)LN)_eXQ)sR zZX#ILenu~>Og$Vo21FXTOdjz^*2O=0rGC5@xVNA0@Jagi~ZY$B;>-Ofy4VJwYkpZ$Mu_>%MHHf+825%b>Ix4OcanM%P8Rl=?mMG3tIR5po zhRwQ-urN0fy4r_B)k=N1_udC#MpmTSkB)@?m!*u`)2^L<4LVy(a#%7k@LvZB>+>j^ zPD!ueu1+}~is9&!_>qVv^eQy5FO5IY&VZ~hb+(1^3l|msZCSEv5do}I7mk|6hER{T zkE-4KINDvYyFpg9dIhH{JiPFkPCY)6zQTgwi&=pHjv`kYAC!~P%!v&qe+R$zbu+J9 zQ>Tf0<)L869IzEc^53d^!=D5y3-v~k41m4py^JG>xG*ABf?;A`o7ED%`b6+I!{Dp0 z$P}@}nii)tuBkMDJ}c+2@{EWp@x!oTJta<09*_E~(M|N+$1r{CR#<#EY6`(!Bge%Y zE$bv{Np-k49I4xQ;*h^%<7rC94l4bksku>v;kqVrjS0j+L@d$=Sm3-bWVv`>PApz& z!iUJDJ@(?P&48$~6g#}=8(Wx57ID!crRkdUZ|FK4wg3e{-CCYj1;g!)LaW|Fm*Gr5gkGk4QL@T;tRT3#(nSP`>VJ38+I46S; zvaGi@qsY5fOdi-Xd8bdH3xZxwv+lToVPp>(se-6~1XIG=i&$w?PDjkK60Y6qs%U}A8pPumC4~)IyR~*j??fl&#FlmUv7S3i7J5Kfy#xq@)WNgLL z5a<^_WrXU|x+LQM%TZ2;dBECKp}Aek4zB2I8q74{3dF&T4< zwbBz=4FBw#_rrhv!{PACt)B3WQ&SSf(ws~^CexbFZ}dIYu^1HW72)DM=F?yC9LP6o zqQ&G-&Y5TKJHD3smrw8Usgu;jS7jUVvaskMBN|%zQ%Sdv!g!{hLhpGHmfS)T7=&Ad zBwms}OXDfB?*x(Jd{X>;j&_i_R0&#M*FrzOC>;zpG2U6MCt##R&TG$Rl z1824P)rRXgK9Np?#7IP(!+;hH-aQtH!N5XlH$IE8In;GlvuaJaaO0iOGbnutnabVL zBGKI>#p~(SF!9-Ey7%FX#G<5-ymCJ@b6fFhLl}MgJzd;)Jsf~=fBBR|jgU*7Ho{t4 zT_xDq!lE)%b=QTC-h-iYH2u*ysxx>mtuK49Am6F0n4@D#%gffe3ZC#7Z+1?2= z*RF6zCG1dWsqrz!4c|>+H|20udbleq5DEa9GZ?s zu1w&;#tb`7#3fE~xl_Qo7itE6(~rfuNnIN|B23fTB7!;UOk!@jp?hs>T;_OXA?xMW z%|h1vy<1{V)>MDzLXVh`nTau3$yyRY;0!+f8~k|g?n=ke?(qTm>nFxig0uQtZM}>p zXr5RUgI1#xvgY1?MH9KEdfO|bTLSlqJQ(95BsHHRa>Y2cIYqEwSgoIlIl&}!)Ez=8 zos(EZGG&rMG3gzpjp=P%>R$=XxSPJ06ds4aoRh(HpvVnD%q9&!&(B3%{O*u-V?Y`; zHbepok5Wt^&hgLYqf(J9NJM(F-<|e{^;x{KXaaSC9h`CCGZYN$kie5`0$`KZSNg?f2pCm99M zv#bR#LWs{8XdyXIhtHZCV^9}fF6J24BN$lBeF9DMXXY3|0t3|K&zOQm7bCpNZmnPDrxoa{93znj6|etBCih@fl69^mU2M z=(}a7Ri_&_O)RJT?8&gWBc@zLYD-mj82j)-n7?x~41e?6q5suW(n*nM)#8{g7+i6} zUghF6BmQ;-mtEkMmHDu^G#TcW?uF&r+0b?VNI3M3-;~&o^b2MdM36vyAgZIjEW)o% z%-E95^{z}Vi_z|uzb1U)9f@Hq6G5yrcMM46sv}HXyAiJc@Grx(2>com4>c&7GpIG- zaXz_ecS>S1ybrzk)o|i>emArYbcqqrPOMC+`eYIJ4mA9dk!TZ29F+#`@qdWU0sszN zz|?N1l=FA0H*|`2E_59`ty9D4 zF!tF;VNK8Ofde|3>kuObld#R$u6Icw4IKElBe0tLD#c|?Rj-bt_&DS_2Ji36~5w$3#{Utr^ z26MIdlk}Q=K2Q1{$utP?MTzjP>I486{qt~Pwh-T<)~sBrC+eH}h0u3L2uzhs+1vda ziT4-wVBC>kslgcfM#Kx8qs6O;N^E7yOq;-`Q_$tWvnfH{phsT+f|v= zg$BS}u{KF`(z2$L@qSss`mg@MrSS1T{V1FpkO;6&@?)Q%8*wg1)x30Y+D_DOj}^#D|ktt(S%%>w}C-A%2zYYOFDo2`l~?*vI|ZD+5vtr?|H4du3&5Njo!} z5TBT`T+tl`42TBgtCLbQS$bzH22q^Fi|;SD1`;MjyJ$FwC))Ld#1Lj@*Mp1>s8gUH25MtS*T_TT*{n5;5hnp)e$j zDh4ykpd0d^U!2zfSSbbZgM78efM(S3(VcjNIm7BWYlEIda0}`X!3b)^WC*1k@ zPhI3nB2~u7D2_Sd#kUP`5fRPORXO&1e-IA6@tSl)v`{W_CrM)V(+F)|Yv6|2h4rl2V|A%5?GJ=Z4>aM6Vh}G#7JO5 zGJ^}{&>BmFM zxTSAEn;V)3HILDj&wD&DXK~sgMaz_tHN?O~?T^GklSH#vUtzB4aFr({9X1G91y- z0q5AWd9u=QR~KdWwn#A1=|_!pI3CTlsxCq}+&iZ^H|yin74@^KHog6*D_ptLAMTEI zi!kN1lz!nlCNVD*)jOKk!^z&2@Yw?ywo%4@!s7YGcuDRBy@9+^0$vfUdiAvVEGEc( zyT4KiC~2efH~y;DC~Q(M-Y&VAM9GrHz(Cu3?oTdm^z}4?oa7(tk8d_j*EDy`afg`lWK)Apx>bqa zV_XGCA6r`y;V1q!SwCaec}9e&Ne<;vBLXgNqx#qW|HjNoxwE;vw%FLxzRCn0WlJH# z>M>KPi4jz4RiGE{Z%Pfogh=$LPM7lOH0!g^J`G>}>es`OBj>`kYwv{N;gjLy$z$Q( zz0oi=H4)CAf7KRem`w%`yK$RhkXigTwQ$aDPK!Wq&}mAmb?^;cpjovcB5>XN1Zfu5 zWdcqo8SN6`s&8;{5O#SRMJyg3JQ1qatHZivO=l&Oz4XadnV{{E68O5m{cT(0TZ4uFial41Ej&74Dx=N)*TY_)X*xpYm*{+ zWcHU+Bt)(lMEv3-dD^!^m^kwDl@)N8KQ`GbL1S}!m>Yc%rY>EyJ3qQdhLyMS1^#{j z?vmI3gVc|-_}A(_lG@r9DV^UiW#HBUiN_s2s@-Uvuo^+QH@%NFwKEJaryljs^5jE{ za8^fDSmvl-h{q!WjUh&}NCBDPoeJw~8`51mAR2ooOkckeCa-*^KD->djvUwBD%$m0l9^uh zQP=x1NF{%O=q_SV5~aX{9a@}iE~FvM6^R(jQz@rIP$Ci%2|zN4_@$YpFV3i-tA$BW z%`>VOuSuoRAma36U2_HcUQONoV#Ygk8Z1Uhgczd4yTMK~d4@0aBNRd*deQly|IiPj zBb@I>na^IYUb9m^6QfW+$KT4SdiGuVEFJ0da3Z|?lUj_s>4hmFY9YKc(JCi>qjI`!q#DZX^lQAS-f4^2r%l`qKg8c`yv6dx zI*H$pdqx~wr;t0HVA5ehyzj+uhm$fx^5#T>R51pv03&4=1*@#FRU!t&1H1X9rqI!_ z9XeWMB~l{Kx$dP#7(c}lgBCILs)dGQsLu$JfGVAlURA6iB}q46c+t0-vl8r z%i|IAPM<}H$N2d)Sron5N0M>OFaop6jjU2Wda;Lug9f>^2nv^h~nVAT; zM=zVwc4u2pXm39vytl)xTNgrq|Ay^?uZaN~95^rimIq<%;jM7+kaS2yG~yt@U|hB# z9Jd}yoKOtU$-|*VyYI7iZ%9OA#+Z;AE%bAvHzYc>9Qx0lmkvy?Orb7^yC1(FrmtKP z@ghqqVxqDe&3!n*tfP3osd6`Vb%z6Qycv3AI#pAF6uraYz4}0>IqhNa6 z!!f&54@*QnCtNgaeRW=C+}m6NlZhb%#6dY$W>S7y=Pd{n+JUd~FgZ=5E!Z()Lg!?d z{J{g_Wxu#!gCBhv#IT_0eIWr4@$xcCLf5Sm69PI`%;d>t5RNuokq+U?(!9j3+U@4_ z*;_Xx+IGc6|In*x?HtgBh1?aQHb};TCC>j5QB$eR1<`~A3mQMhl`Wikq^2$u&`8y0Y%IWlZIzXc&5OB<~l^ktSsUMcxO$QR9JZ?QH zgH7FM^r;>39Bt{T(e9NRAH=tQW*1n*_Fl`|z- z+B6OuDEhy>SsVJqTQ|vku9@4#KRT^}Of=0c^Pxv#SendKKJ_S#7srQ_kS*1ZN~?H; z^)|_3pF|QHDqbarUvrzjJ;}b6bELjFJd86L) zc@?|^(Lm{smERM^{^DUtloH5Urv8?FTU0AROqAhkH9=Vv-EbjD&SK;WlE>3y6#d9C@8pS#`=A4cqw^(tboHDq2n-2f$}*-=T)A>FJbZXL49HTHamnhbOG}Hon`0onbo@7DIiopTzH&L- zzH>YDOHbrCUjA0tSf~w?lT(_QB%Y@Q6|s~LKl&hiC}Mp|1K{|PQ{nYf-w0C=7sCAf zyiUzDiHUgp_|uQVCl@{r(^J#o(9xse8~^0r3kyxPIu^bv;y^bP*Y$)tA4ilaHEkcl5RxlBqB>G#m~bI1{c)e`IoUK}?kt*d;1;`SN9n#-JOJ z5vVpnX#qh|xkd{L_W$P>?}VDpS}F9trdyGZXyVp!ypArpdAd==JQo2jh(WskqaTNd z@4XkAdV53Xk)swb5`m&{jIe{i!NhLQ=`-QvAN)b+J$_V5U$eSQZ%mV_>yLO_7mw#; zO307Ka-G7WC2{lN@&cDSEhLSyCiX}cxmKrVbic?~WGSr8MX&Zq+~>hQn|DLbKs8G5 zV|8vpRcGJl1{NoN6&=K#q9o&p zlQ*nonX;cT1-qp!4;1B1bWFH=1lZBl)rpkWFLO>vdH%F{5?N8!5PcLQQYYOH@5{qs z;lZfsg={RXhNgCHFw~)=q=K3&#M6m}T;^G(=^Jyt$;`vZXpy7OrMtChEM6QoJM_EV zV^NUAJ}94HO3aF9N*t6%tl&ewkY?+Gq0?98kNDM=PKXxA?u#MUoj=+b*w$(1w&p!& zcy}*zg^Zrw+xm~%SMv+?>bP)D6G=I*3a4)AKD)>0v$~*nx_p z-uGYkmh`Fr6cevc0x*w#zO2Qts1JUb^Vsxh`Z;y)_3aF?i~Aw=CvkK!$i|$gM%|G% z{%B3oAP(lDg7igB>I&of7x|DUk_D{0K;gs-+#Cashxi-1H7_YPDH6(wP>&}p(l~nIBmE{~VP1t_ z3Ca;bQQTM{${eHMM>PCsn`!9-u1N0|)5y&-jzb$`Op1Jnr_JBlnd!+<(n%}Gya~$v z2;w`s{Co6EpZS$4_1xo21gzl_cC@=kHLdE{{)TqBwvkt*P%9$L5O?V6mJ+Q9Ekv+t zjlkRgWVlDXUPODAHDEneOP4xlXGeFa)6V!kS>Ha{~O-=>mOOVlSf{bLb-@+$;4xdZ(@8r{NU$*96r7C zSK+7c{aN_n(|5%<^o5b3m%{yf4{b0Ym-rWN{o8Qw!Hw|l4}K8d{>#4zT|M1l;J`sK z5)!joZwyBdod^#fJPd#IKmJeQ%BLTOOV{2FZ~fvg?DXyA@mD2wvL#DipNG-WTjA)@ zW6DE!A$00ybD7Y6=bg7?!Q;Nf%Z4@3vgv@T#H1yASh#BK;$WR>e)e|QtX>E`Cr^g< zgGVH$(G!MVeKT|%IvU0S;=&V8fgZw!KFvA>*WV_S_kz=CAKTX$8 z%(>l4to-N?999%JoAr|a_=_)ePC&a?@!w22of_V)4-$q55Hj&kqeB85 z>0gOh+pbpQO4M;h8zJkmtk&8;Bm)$F(db@J+ltGx-*3ilIfp;>#tAT+e7ia8XCfll zym3ccm0xo!jfuFMp2voE5ce& z;`Lx*3g`3#se$oj-4iC|cD})Yen$O(e}yh?sAVONZxMUX$08NPEDBGfr7u~MqPN)Y z>6o*^%i;@; z$&X~LNt|@dXcLl6qE;E)Xp;!my3EPXFD&dx$E*rC`i;#zdNidZ?CgPD`~e2XcXavp z=vVNJvr~cRE*~+o2)N|CuDbexcITFAYU|oSm_pIpT2vS;Dp62&U00=WOc@IC-6iK2 zL0?)8Ff?e(8ZFFyy>05G_rp|2U$}n#noeTZ!_lKB(@qbQ+1t^h-Py+Q*B5>j79_Ux z+rRTIBaCj|xDy_XjfNg6x>jw~+erxnAJfbu$40`rSGn+RCyd^{9FEPL2nPmqx!n5@ zGAy{Y;oRx-;q@b@!=v%{!tD<~3{$VaA$il+Ss_Rgky6}r1{V>!@N8`JH`0s~} zrloM<(+|QOiAo(hI3ip-HLy0tgk08pb9nR3Z&?5P{PWMk-MbgUH@@)|S^v;|9Zr(Iz1LlHyLuq|e zy9iYhzk&JiO9eMW$B~h6P$v$p{kmm*ZO)Xd87oolp0qY8r885m3&auVF>(QV6%6Xt zEEx$e;1oNQpIf_n!j{BJ9;z-IySj9%`^zf32zC+e=xu#DPWXzs;FkF6>P9gi*Gvw- zZLphelQ^o4U$0@;jk`l2%GveH~E?F2Po*r zf{4E{2HMF7FHZEREBeB$#1Gr0gx;eI3TvfDFn#Mv82{|Uuyyh!U1WIBPW9Hg{hO2~ zhQxk)+?_S=^bh5L(BKLDVuxR3KoChQb<~q~cSVrxe#e4hX~!7i&g;1pQr?HMlP_x! zC%VNBeCuU~S~prr3t;2qPeMaoTQut{B#neuD!znmCW@iSOumhhe3kvBBqM z&cb87^qEhqTB;NixcPiYU(Vtc`6AAP`PRMEcZ$as@IrqEp9b||m@FW zU4jY09ugPXnvRBEv@~iRsR^SqjbW%=CXb~L;;EJv}w$4+wqxW!ItC4nFFNuQofpB^uR>Ln>CkCiV;Q1D1n z$2`)!tw_0;3G`ec=>uLjik75{m0_`oi;FOm_-WK6h-hE|&4FQ|hmXcAS*Ij9I00Fh zUkD3}i#yU`tfoyw!;gxlM+}R@3mP)X$e#IkgY&pQdp!Y(fXl;MSuuGq0+*H-CpCF4 zvfEfMMuS~2%$qi8C%C@eZ)@g6BsOz-fG>Q19cuuS%3K84riIUmS+)q$1re*5Vbuk;Y;nY{Zs+~9;c`M&KnG0@^s23+Pi<1-K*zpmU^;bU| z8X8a^Tuz7%ZketZXD_j>+gIc#CSDBFd++@+jEo%6iHIx!QARNs_A6mNyj4iYWLsC) zs zbm}l;@u&-%JJJ!CzIf*LH}lKhJec%CPi5l=Gs8FdCX<++?10yc(WI%!B5pj?j6=T&9bLW*L4y>xBnA3l`chuXWlM){~tM?WUJPIWg7D z#s?OIAoA&NanXL#a?rgw?VuL<#d_!6m=JFJHP58|l8kIoR$rm|{oU6D@PYV74+N&2 zUG21ulC*n$XaiW5202y1Qj$oJh#>grXAhprb3@EE3kl3R&K5E)J`m-L(wAD6Xj|uz zBVpj2tgmVOOA=jWR;?@Pmkp@A$i;&0OKWuC85|4$2~*>Y}B0P=+8{ zWdwrFG8`5A#X0H(oM19AlwtT;W0JFr5`sS$`_f+CvU|ga@ zI{8E7qf6jqQw(|jPx4of4b9RIY_byzZ2*W7Y0+B2J?Dh)#}OOC9cIS*_Z||{6C&Xc zvsUaF&zVS8aVV+dkFflEaa8r>0@8I1WWbd@?=vuH>mYa^Pe*=7PaIL zeJ`s)-f~~rYc5?bPQ@aYOX&C+pd^^~=6^+39A?qold@X+m^c}$DZHd#SouDql3+ zw#lQmwCVym2vjj95D_%Y3->pp2D}5hJa=bTyNLCAS-=|71%;B2R{P?J!w+-15ZxW^ zoz{WPw5~cjJ3{WQcLV}*X?elq<*}}@@bFQXzjZS- z9gt1_1HHx!(TC=jX3ab={iKR{l89PiWVmxYe7f-Ez z)%w|K2%L#31?H$lZ8Ll8w%te4cm8~6JusjX9f^qvcPDOkpO+&R&+h3&Aa&Q!+#ObC z=faFcuc}3$_u38AwNmPr-Urn7E)y+%1|?lYxVV(5=lHuv&T*M#T(SG2)y+pV6n|TrFj{KlbfMv$uF#+h4Mzs%bQ%I<=Qz^Wm>bYBD0Er9 z`&)VZZLA7fbOI-rjN#~sPXf+kX0X#J35eoxRQyf+UHe3YV-d;6^D50T@zKMQB+YLl2}{`zAW4-@3u>9yg#% zyk=)zgRoY+kX=1JcB>+{5A*H2GR4)gM{Hh1du}zr05kdR+e4NbZf@XjsWtUWUmrl%*hvnNG7O{%~%r}TW!N=IU9YBJ1B zErem|W^{<~8NGK`l1;8R#BH4SFI@@?%d$z`suPbk-Oeukg~>^osjXVpv9YXRX+r+$ zcfJ!gWWx8x#VcWYd``RkJ>lSi5y764>0aqqs4up*9teYj2g3&+ye~!dTVg=o5FyyD zQ<2+Ad4!W@Fn)1D;tBjZDb2Tcpf@ro!t8#yrb`8ANrHg)QO z8+`pM;l%I$Ug#7PvbH)KmgmMSzuk89E#W@@c)sjH>xWXZh*B64eh|QIQmS2_oeyIl zeH2;-214JtbJE9I65}T;FWNYO#!s4cpE*BGbWJ1b6ZI`!Qs|eJvul^lq8OJAHg>j4 z=^WWqc4C;a;#5?aAG^jVc0;ha0`7hZwL*CLFM2tm1w5(WNhY`Noq?#BEDHDlf{w+-F|w&7(R(34@4qje)gRMgg+U}pMK9t3zm6c<}(C6K4YA6 zp`*8@%l1|lCv@^83t753z3qVR(vj$-U0OJgdFej8CES=05$u>8wM=qZ^U4|ku~9B8 zAGO@hZWd16a2DbUyh%l>$P~7+qdh1y;+r_imUnzd;?9^q^{YCaW^OFW4CTcA(A+bi zey2^4^?6klb5&vbJgjH^&KwH!%pA!{9w#D*>hT>n2lk#PeSm+-d|Q;z=QVnXm#@6V zEA?%ie2C0W;}wDV!ar$kFl>?uWS9&#hbUFv@m-^Kb>?Jm%!H*8w zlS`f9ADy2JZ4Ekklt?4Pk22AJZB8f}k12LZlU5A2aF9(?lzCBLL^wW^Sm03N%6OH; zi5`ku-0ujA3|1URmTi)E5ekla4n;gtn8gJz!Ofwi@hNC=nuu%itQ1UD@MA+5ecW;B z;;ygD;;0S^(7{Dg0^M6}9E*%$Gim$5?4$8(6jy64`V~g^>l-YKe@X7UKgtQ0juMFn0g?6AAOA>xZk6h|D6>kyf0Zf?=;$z-^G^HMl>>h63|trwo?9XynnmOvl!#Nu z&|p}a(w!pnB9MDJ!*-)A!=?9FP?LoYcsQfAiboyaijX`kUjC0QSR$CkgD8$B57B{G zA!!jYU!#TQ-Y1{P($8u*@}2K!>s;+Av6DI}GO&YA`^E(?5A%zAhZvNNd08TpbbFYQ zc-->Tm=xmANdMq~cA#}~Wit3oSFu)d*l31bN8dy948$8h@GraA&LN=aLH-Cbi!(@o5P$;?{3qN+S|i+jTjhR+E}fN{GO+yK49LOg%8Zf z5@MUGN9JG{5$oexTKC?+Y44&oPYPsnIGsiH4nga?=UHh<70vC&UY3PEzc)my8YOO3 zXN(7>DPJBiB5b$tVyrnyDaX(h$9vp27xICXE5#R%0~ilubQ2)u`eokF#*EqpKkxmF zFEKFs@ef~=<@x4fLBB|`Fwe)~n-6DPp{LQ=x)lE1SMG)X?ia^GSIbEF#@Sn;Mkg5S zIw9dg!M?7!@b|wyrOg-#Kdv*+%1plQ45_b|WQ*>fxiirj{)b;23V$%N7+yI%t+`Nh zwvAb5KIqqR+{OGI>jd|tu#`Wm4-d=xQP24LbirKDdji91$DtSc#~krjVAU?aPDd6O*+rK%9o>;JxpX)D^8NX6=GaT&$bl2-hg!nHp(A1-Hgr6^6VB-bfvnl-zIN?u_|=EM47F|R z;jk`GgE$$zb1AHUyb+EaJ{b-jm!F892NK)*)w@5}1o|kP9(g77bRU)y{cQNfFMgy; z6<^UU?w#S%r4PfIGjE77IjLQME3%B$X<~wub4NRW+zHU!Ijqx^PMIm42=_mDFU;Q? zl?AJ2BMcbO+~vUp*#FvVX7OrLmawXIn$V-ug&~PJVM%B5=G8EF=Y}cy_81W-<@2gJ zDSa<04|a-~I=piEYZISMB>KoZrUQ>q)E4YNi+m=8qoAkM5k3Oi{&$rHVkGiwg~=(>ny^pHB5>Hu^=i@$y6(EMo>2Mv91xBn`E zF&j*Rd6!1j;vw;eqR@QI$G<04;*T68dGNI*WY*SQREZ4&ZJf#_iSp3F$rw-fgn=gB z^8C06Q!PqIbn4gHBeA_};gOi{^<$?)=kSqG-CCy$`*au14unR72qG@Y&G4XoAUZgW zC|vlm%!xx7Ob9p@S63FZ5N~eywv*Q~dLWVU;Z!z{PX;T#dEV91Biok6wM8l8*K0ni zX=##D=A_ECCNtGK;VH~ICjP>n)Ccn_Cn3}ibwioB%#HaEd|=r2;@F=qN06uEMDQbV zo3$LZCT3bhwEx+P0^5;@U zbxJX_dF6D~W#vwtf}uTdJc-X-j8AMEZ$;({|3?{7Hs7zvm1R=yj~10RF%>6<#=}2* zvp)RK?+u5=)w=LoXYPj9M(!@cQXFfEKbsqLp|6HLR=+nS!hG>wfB0YCIS{@wxElW9 z>$<~Aeuy@kK8bKf#FIYFT2xRUDrf9>yp^^CwE&zLDn4Ws%#wK8Vi;w= z^Vuj1PFph!i`p`Y3(omCc^vFLA`+i?da)`-B|?NsRC7t+P-Z!o07_unS1z9niYH0S zEEwQSdyI{Zg$Z46P^&cn>!Q$UoPKED+0iA?QVT)Z%YO)^4gq&TBQMcB-0m3eu(B?kU{?fp`|8Sculp zDPOo>zZyWX9Od!3so8M<+V#-U(V&y87F+beHcpgHvi3AFbuV0zvg%INYUq_UolWtg zw?{|A&)&VIU1IIJi-?EWh=X*eb~Ut0H-kl$dp&;q)?ezBM7wQL_*`C}3qwcx!lA>% zp{=Gb+>;Axpp#i96V%~?M3~D-9(Ja_7H{~J0KNYoNOSR8(KR> z+)t}LKaWq4e`fmk#^8@+2FGJ+4RlJsym6- z9Y3vmRb(1)VM-`5KY$n0OXesWgc)Le5M%lKTe4Ws<}KzVy!Ns<#pr7PBB(xeua~XT-(KYRV6KhMU(}V9+aY=7Wu^LI*13 z%`fv6Lm2=7KmbWZK~y~nu_z*T*JbNQ`Uh=Y{h?LL>2+edr>V9n@=OSARmsto;K@ctCBmA8w9tvUk@(l93aaH%L6jtO%q_t5S}hEVvCQa! z`d>psM_8MlmnFIxDdC?CtvUsroxNka7d2J7%gRn1Vyfr!q&;ykA>2?5lTF=#3rq<0 zQI9F*l6tXZ=^uy(my#~51K{)HbgM*sNOk$^V)2T;y{>tpMn6QQ%9Yppzv^MXr!@_x z`%x;+l~&$9U%&%Y=x_riZ6ajHN5csN`dZw*BOrd*rxb#qCHp$R;T%Rdf&aC6(J9!@FUA7|CWRA+vPaQS!l+2!wk7!Uv#mp5i+Pc1v!vK?G2b6yKF*L6`AlYW=Wvg%Yw zcEKQKJ0*Yq@V>-jIyxlM(yHCxNr8RAfb7ynUt*AUh|~c^n}+Vry3i>rR_roIi&r4V zz-CbtT@qSkVW+dbSEpMtFDioI$WamfBF5)s%57buMzk{V>C}Vm-6Gc2VZ`LjFU*G< z_dgA%UK$C*NBeb3c0?i(Qj~7$4qfXVVf4b!LcJE>{`058R2UE4vch$u^JV4fW^RGW zzeb5s3><9GO}2u4S35R0ZiIF*xhH!MhX!4)H`DM)cQ}lOL+W=uVuT^QG4DG#sQXQ7 zCu}FZQ|4$jzO;bsgyz;ESr+OE%M)|q{zo5%*_+oxwM4+U+XIoT)G2>Nuh9P(d-vVY zdHi@d`FH<*XdCE}*wc~-za8xsAG6b;)ma^1YaDQ5GJXA$DXw>q9G6^uuP#&6&C?L% zCZjLtHhHJHlzH(X$$TReDmW2#Vx;PuWz&0cJveO{$h@JswGD1Y_**J&GeIFYVlbaM_OTF~S+;U?_tLj4rH^^HAA~+X1Cs-lGFnLM8 zER9o`;#qywX?F-|t5vlt&ib{UE{dhaRvyNHXfY>-)mEh{OX@r_BDoa#YA2h@PMLT< zo;tpxbdEAJh8Dn*3p3LhoJctE0tfzC2QXjz17pXgL6aE59qEOvNwl(6CuVhxUkOt; zu7>&18+MmX@5wW2uU^;Fk;S-ZR}A%w`36_okT!w| z;iL+t!I`Va&n}$#eN6;6ciwQekS`JS0-?@H4NBR3 zKh6QqPCqpN)24hsKGox(dN^=^2Lor~F-fvg_@zEX_4M>-7wO{Le~u?i77U299_3*q zS?>G6JjAKR#ztK@J3JQt)6T{4_O*lICs%YS>Gj^w-Lf8rnq(Kaog31k zD?wbi3KRHTBEK|^YAxNci|OMtm)84(0%90ACGQqyb9>SPF^+JEXk^h7NUUQqP@p_K zi$&JCU_Q&c7%300$j{L!gdOL*d@?dX|6^Q6dv4sk6&f`^qkP`ksm(yqZF6%AJ6tGE z+ih)Zj!uj}990q~Aq~d#4v@%*kRiW)x&1I8#eidm@hL&$wQbB6ivQS{ou2w|@W9}h zM6CwdW#-~72vro(qctpUM_-(ia;a)1>mbG1y!igYYTz;5g*IWq!}3bkkq#+@%fg1l zW$1&Rl)pYHwn=WVO`TV>m&8xB2gH2@`q!$Hf;O4fC0=v}SKP;pL~B@BISDy>4{JJ(MC1z5lsxlc{Z{p~q1)eU)yIdw{oA4c^l9xB>oT(iiLdBH zhufqZb>~KZ(|IG@79ZU=CIn_?PM11vYIl?S7m&AKU7AweY2lJiO*T=gp1rDL6kf-VS-S5uOD-ireJJAYymu4n(JFwLE2oSqnD| z!P7f%t7}r9*{RdXhi+mQbJin^SFM8s!cCVUig@PEmGbkNn=7S{H6~&z^oi%;U^J+E z7d>$7*0mwTPJFXO6frxA^W};6r1H!+_Xi*rRm70`A>vq~EUlhxp(WVDb7?BQDqb2@ z{gJU@JLVE;La}_4+Y@b}B4V1cpjj_U9{`Et9kn5>TVoqjpA^y!3hP4ePuJH!@H9nU)!vT_VToc{^qSK0ZTg7kYr`If zBZgIi@TC5X3Hk&UuR2?n!{2-TO8CtaZQDcPtF6{_^4g&JNAzF0d5m$a?HWTfE2+<|{EcaBbH-{SE3r*w1+`OH zS|8_$AIXxW1^zJ!h0Q>_Z}E4Gn}0@_X>!$@F-S=yA(?`4gwxdSp8>G7S9oO62$Ki6 z@h1x~n0O~K(mbLcDJ)$A-X3XsaI_dU2XaDw^X82(CaI7XtrJ7ix#aqciHQl(dR(bc zZ>yOO6h4@ro*vUA#86?Uhe_qBm=Cb<*5_?+EY6m*P*!*1!uMs|xXo)c66AM2Ks?q6d z;XvO=IQ-pj3&y1|_TGECL*#O38y=QYcyDMFkx}0&VnQb8*wA0s4*ZUY$mY&Li37En z8Q6!qO?~>xW$Tr7Vv=A~3YZV|Yj%~lq!`*J9EYT%(s^h|yS&S~Q(;`?_d6{(fmo43 zZ$nGB2(`1JMvTY27!U4Qs1*^nH1W_B!h24f2~8dS+DV=g!MLgkLgl1js_S(Ahy{($ zq@Lqv;ZvyX=SNv{S7%z zTtqO`=)M^4QklMeOX6vFLfg=A=sbKx{Xpku(u+Z1+B#8D7W5yKbGd(ojSbz>YPc3f zd+ew6!zUG^{aK^(j+B*m=gMvGZ54wk@QGj^GGq4*vSS3)4w2)xZdhX zl58O+WG@a7Fb}|L(1nt*i1?GIS T!I&IjHp)Kl9q8_tn3Uk2-65-ZGHJ9jCPBd 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 literal 0 HcmV?d00001 diff --git a/mbgl.gyp b/mbgl.gyp index b6b00455e..c5ede2823 100644 --- a/mbgl.gyp +++ b/mbgl.gyp @@ -8,19 +8,20 @@ './gyp/standalone.gypi', './gyp/core.gypi', './gyp/none.gypi', - './gyp/install.gypi', ], 'conditions': [ - ['headless_lib == "cgl"', { 'includes': [ './gyp/headless-cgl.gypi' ] } ], - ['headless_lib == "glx"', { 'includes': [ './gyp/headless-glx.gypi' ] } ], - ['platform_lib == "osx"', { 'includes': [ './gyp/platform-osx.gypi' ] } ], - ['platform_lib == "ios"', { 'includes': [ './gyp/platform-ios.gypi' ] } ], + ['headless_lib == "cgl" and host == "osx"', { 'includes': [ './gyp/headless-cgl.gypi' ] } ], + ['headless_lib == "glx" and host == "linux"', { 'includes': [ './gyp/headless-glx.gypi' ] } ], + ['platform_lib == "osx" and host == "osx"', { 'includes': [ './gyp/platform-osx.gypi' ] } ], + ['platform_lib == "ios" and host == "ios"', { 'includes': [ './gyp/platform-ios.gypi' ] } ], ['platform_lib == "linux"', { 'includes': [ './gyp/platform-linux.gypi' ] } ], - ['platform_lib == "android"', { 'includes': [ './gyp/platform-android.gypi' ] } ], + ['platform_lib == "android" and host == "android"', { 'includes': [ './gyp/platform-android.gypi' ] } ], ['http_lib == "curl"', { 'includes': [ './gyp/http-curl.gypi' ] } ], - ['http_lib == "nsurl"', { 'includes': [ './gyp/http-nsurl.gypi' ] } ], + ['http_lib == "nsurl" and (host == "osx" or host == "ios")', { 'includes': [ './gyp/http-nsurl.gypi' ] } ], ['asset_lib == "fs"', { 'includes': [ './gyp/asset-fs.gypi' ] } ], ['asset_lib == "zip"', { 'includes': [ './gyp/asset-zip.gypi' ] } ], ['cache_lib == "sqlite"', { 'includes': [ './gyp/cache-sqlite.gypi' ] } ], + + ['install_prefix != ""', { 'includes': ['./gyp/install.gypi' ] } ], ], } diff --git a/platform/darwin/log_nslog.mm b/platform/darwin/log_nslog.mm index ea5fddf0b..a82d78a01 100644 --- a/platform/darwin/log_nslog.mm +++ b/platform/darwin/log_nslog.mm @@ -10,7 +10,6 @@ void NSLogBackend::record(EventSeverity severity, Event event, const std::string NSString *message = [[NSString alloc] initWithBytes:msg.data() length:msg.size() encoding:NSUTF8StringEncoding]; NSLog(@"[%s] %s: %@", EventSeverityClass(severity).c_str(), EventClass(event).c_str(), message); - [message release]; } void NSLogBackend::record(EventSeverity severity, Event event, const char *format, ...) { @@ -37,7 +36,6 @@ void NSLogBackend::record(EventSeverity severity, Event event, int64_t code, [[NSString alloc] initWithBytes:msg.data() length:msg.size() encoding:NSUTF8StringEncoding]; NSLog(@"[%s] %s: (%lld) %@", EventSeverityClass(severity).c_str(), EventClass(event).c_str(), code, message); - [message release]; } } diff --git a/platform/darwin/string_nsstring.mm b/platform/darwin/string_nsstring.mm index 86c2c07ed..9bf199afc 100644 --- a/platform/darwin/string_nsstring.mm +++ b/platform/darwin/string_nsstring.mm @@ -13,7 +13,6 @@ std::string uppercase(const std::string &string) { NSString *uppercase = [original uppercaseString]; const std::string result{[uppercase cStringUsingEncoding : NSUTF8StringEncoding], [uppercase lengthOfBytesUsingEncoding:NSUTF8StringEncoding]}; - [original release]; return result; } @@ -25,7 +24,6 @@ std::string lowercase(const std::string &string) { NSString *lowercase = [original lowercaseString]; const std::string result{[lowercase cStringUsingEncoding : NSUTF8StringEncoding], [lowercase lengthOfBytesUsingEncoding:NSUTF8StringEncoding]}; - [original release]; return result; } diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm new file mode 100644 index 000000000..dde15567a --- /dev/null +++ b/platform/ios/MGLMapView.mm @@ -0,0 +1,1607 @@ +#import "MGLMapView.h" + +#import +#import + +#import +#import + +#include +#include +#include +#include +#include +#include + +#import "MGLTypes.h" +#import "MGLStyleFunctionValue.h" + +#import "UIColor+MGLAdditions.h" +#import "NSArray+MGLAdditions.h" +#import "NSDictionary+MGLAdditions.h" + + +// Returns the path to the default cache database on this system. +const std::string &defaultCacheDatabase() { + static const std::string path = []() -> std::string { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); + if ([paths count] == 0) { + // Disable the cache if we don't have a location to write. + return ""; + } + + NSString *libraryDirectory = [paths objectAtIndex:0]; + return [[libraryDirectory stringByAppendingPathComponent:@"cache.db"] UTF8String]; + }(); + return path; +} + + +extern NSString *const MGLStyleKeyGeneric; +extern NSString *const MGLStyleKeyFill; +extern NSString *const MGLStyleKeyLine; +extern NSString *const MGLStyleKeyIcon; +extern NSString *const MGLStyleKeyText; +extern NSString *const MGLStyleKeyRaster; +extern NSString *const MGLStyleKeyComposite; +extern NSString *const MGLStyleKeyBackground; + +extern NSString *const MGLStyleValueFunctionAllowed; + +NSTimeInterval const MGLAnimationDuration = 0.3; + +#pragma mark - Private - + +@interface MGLMapView () + +@property (nonatomic) EAGLContext *context; +@property (nonatomic) GLKView *glView; +@property (nonatomic) NSOperationQueue *regionChangeDelegateQueue; +@property (nonatomic) UIImageView *compass; +@property (nonatomic) UIImageView *logoBug; +@property (nonatomic) UIButton *attributionButton; +@property (nonatomic) UIPanGestureRecognizer *pan; +@property (nonatomic) UIPinchGestureRecognizer *pinch; +@property (nonatomic) UIRotationGestureRecognizer *rotate; +@property (nonatomic) UILongPressGestureRecognizer *quickZoom; +@property (nonatomic, readonly) NSDictionary *allowedStyleTypes; +@property (nonatomic) CGPoint centerPoint; +@property (nonatomic) CGFloat scale; +@property (nonatomic) CGFloat angle; +@property (nonatomic) CGFloat quickZoomStart; +@property (nonatomic, getter=isAnimatingGesture) BOOL animatingGesture; +@property (nonatomic, readonly, getter=isRotationAllowed) BOOL rotationAllowed; + +@end + +@interface MGLStyleFunctionValue (MGLMapViewFriend) + +@property (nonatomic) NSString *functionType; +@property (nonatomic) NSDictionary *stops; +@property (nonatomic) CGFloat zBase; +@property (nonatomic) CGFloat val; +@property (nonatomic) CGFloat slope; +@property (nonatomic) CGFloat min; +@property (nonatomic) CGFloat max; +@property (nonatomic) CGFloat minimumZoom; +@property (nonatomic) CGFloat maximumZoom; + +- (id)rawStyle; + +@end + +@implementation MGLMapView + +#pragma mark - Setup - + +@dynamic debugActive; + +class MBGLView; + +std::chrono::steady_clock::duration secondsAsDuration(float duration) +{ + return std::chrono::duration_cast(std::chrono::duration(duration)); +} + +mbgl::Map *mbglMap = nullptr; +MBGLView *mbglView = nullptr; +mbgl::SQLiteCache *mbglFileCache = nullptr; +mbgl::DefaultFileSource *mbglFileSource = nullptr; + +- (instancetype)initWithFrame:(CGRect)frame styleJSON:(NSString *)styleJSON accessToken:(NSString *)accessToken +{ + self = [super initWithFrame:frame]; + + if (self && [self commonInit]) + { + if (accessToken) [self setAccessToken:accessToken]; + + if (styleJSON || accessToken) + { + // If style is set directly, pass it on. If not, if we have an access + // token, we can pass nil and use the default style. + // + [self setStyleJSON:styleJSON]; + } + } + + return self; +} + +- (instancetype)initWithFrame:(CGRect)frame accessToken:(NSString *)accessToken +{ + return [self initWithFrame:frame styleJSON:nil accessToken:accessToken]; +} + +- (instancetype)initWithCoder:(NSCoder *)decoder +{ + self = [super initWithCoder:decoder]; + + if (self && [self commonInit]) + { + return self; + } + + return nil; +} + +- (void)setAccessToken:(NSString *)accessToken +{ + if (accessToken) + { + mbglMap->setAccessToken((std::string)[accessToken cStringUsingEncoding:[NSString defaultCStringEncoding]]); + } +} + +- (void)setStyleJSON:(NSString *)styleJSON +{ + if ( ! styleJSON) + { + [self useBundledStyleNamed:@"bright-v6"]; + } + else + { + if ([@(mbglMap->getStyleJSON().c_str()) length]) mbglMap->stop(); + mbglMap->setStyleJSON((std::string)[styleJSON cStringUsingEncoding:[NSString defaultCStringEncoding]]); + mbglMap->start(); + } +} + +- (void)setStyleURL:(NSString *)filePathURL +{ + if ([@(mbglMap->getStyleJSON().c_str()) length]) mbglMap->stop(); + mbglMap->setStyleURL(std::string("asset://") + [filePathURL UTF8String]); + mbglMap->start(); +} + +- (BOOL)commonInit +{ + // set logging backend + // + mbgl::Log::Set(); + + // create context + // + _context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; + + if ( ! _context) + { + mbgl::Log::Error(mbgl::Event::Setup, "Failed to create OpenGL ES context"); + + return NO; + } + + // setup accessibility + // + self.accessibilityLabel = @"Map"; + + // create GL view + // + _glView = [[GLKView alloc] initWithFrame:self.bounds context:_context]; + _glView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + _glView.enableSetNeedsDisplay = NO; + _glView.drawableStencilFormat = GLKViewDrawableStencilFormat8; + _glView.drawableDepthFormat = GLKViewDrawableDepthFormat16; + _glView.delegate = self; + [_glView bindDrawable]; + [self addSubview:_glView]; + + + // load extensions + // + const std::string extensions = (char *)glGetString(GL_EXTENSIONS); + { + using namespace mbgl; + + if (extensions.find("GL_OES_vertex_array_object") != std::string::npos) { + gl::BindVertexArray = glBindVertexArrayOES; + gl::DeleteVertexArrays = glDeleteVertexArraysOES; + gl::GenVertexArrays = glGenVertexArraysOES; + gl::IsVertexArray = glIsVertexArrayOES; + } + } + + // setup mbgl map + // + mbglView = new MBGLView(self); + mbglFileCache = new mbgl::SQLiteCache(defaultCacheDatabase()); + mbglFileSource = new mbgl::DefaultFileSource(mbglFileCache); + mbglMap = new mbgl::Map(*mbglView, *mbglFileSource); + mbglMap->resize(self.bounds.size.width, self.bounds.size.height, _glView.contentScaleFactor, _glView.drawableWidth, _glView.drawableHeight); + + // Notify map object when network reachability status changes. + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(reachabilityChanged:) + name:kReachabilityChangedNotification + object:nil]; + + Reachability* reachability = [Reachability reachabilityForInternetConnection]; + [reachability startNotifier]; + + // setup logo bug + // + _logoBug = [[UIImageView alloc] initWithImage:[MGLMapView resourceImageNamed:@"mapbox.png"]]; + _logoBug.accessibilityLabel = @"Mapbox logo"; + _logoBug.frame = CGRectMake(8, self.bounds.size.height - _logoBug.bounds.size.height - 4, _logoBug.bounds.size.width, _logoBug.bounds.size.height); + _logoBug.translatesAutoresizingMaskIntoConstraints = NO; + [self addSubview:_logoBug]; + + // setup attribution + // + _attributionButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; + _attributionButton.accessibilityLabel = @"Attribution info"; + [_attributionButton addTarget:self action:@selector(showAttribution:) forControlEvents:UIControlEventTouchUpInside]; + _attributionButton.frame = CGRectMake(self.bounds.size.width - _attributionButton.bounds.size.width - 8, self.bounds.size.height - _attributionButton.bounds.size.height - 8, _attributionButton.bounds.size.width, _attributionButton.bounds.size.height); + _attributionButton.translatesAutoresizingMaskIntoConstraints = NO; + [self addSubview:_attributionButton]; + + // setup compass + // + _compass = [[UIImageView alloc] initWithImage:[MGLMapView resourceImageNamed:@"Compass.png"]]; + _compass.accessibilityLabel = @"Compass"; + UIImage *compassImage = [MGLMapView resourceImageNamed:@"Compass.png"]; + _compass.frame = CGRectMake(0, 0, compassImage.size.width, compassImage.size.height); + _compass.alpha = 0; + UIView *container = [[UIView alloc] initWithFrame:CGRectMake(self.bounds.size.width - compassImage.size.width - 5, 5, compassImage.size.width, compassImage.size.height)]; + [container addSubview:_compass]; + container.translatesAutoresizingMaskIntoConstraints = NO; + [container addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleCompassTapGesture:)]]; + [self addSubview:container]; + + self.viewControllerForLayoutGuides = nil; + + // setup interaction + // + _pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; + _pan.delegate = self; + [self addGestureRecognizer:_pan]; + _scrollEnabled = YES; + + _pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchGesture:)]; + _pinch.delegate = self; + [self addGestureRecognizer:_pinch]; + _zoomEnabled = YES; + + _rotate = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(handleRotateGesture:)]; + _rotate.delegate = self; + [self addGestureRecognizer:_rotate]; + _rotateEnabled = YES; + + UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTapGesture:)]; + doubleTap.numberOfTapsRequired = 2; + [self addGestureRecognizer:doubleTap]; + + UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerTapGesture:)]; + twoFingerTap.numberOfTouchesRequired = 2; + [twoFingerTap requireGestureRecognizerToFail:_pinch]; + [twoFingerTap requireGestureRecognizerToFail:_rotate]; + [self addGestureRecognizer:twoFingerTap]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) + { + _quickZoom = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleQuickZoomGesture:)]; + _quickZoom.numberOfTapsRequired = 1; + _quickZoom.minimumPressDuration = 0.25; + [self addGestureRecognizer:_quickZoom]; + } + + // observe app activity + // + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; + + // set initial position + // + mbglMap->setLonLatZoom(0, 0, mbglMap->getMinZoom()); + + // setup change delegate queue + // + _regionChangeDelegateQueue = [NSOperationQueue new]; + _regionChangeDelegateQueue.maxConcurrentOperationCount = 1; + + return YES; +} + +-(void)reachabilityChanged:(NSNotification*)notification +{ + Reachability *reachability = [notification object]; + if ([reachability isReachable]) { + mbgl::NetworkStatus::Reachable(); + } +} + +- (void)dealloc +{ + [_regionChangeDelegateQueue cancelAllOperations]; + + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + if (mbglMap) + { + delete mbglMap; + mbglMap = nullptr; + } + + if (mbglFileSource) + { + delete mbglFileSource; + mbglFileSource = nullptr; + } + + if (mbglView) + { + delete mbglView; + mbglView = nullptr; + } + + if ([[EAGLContext currentContext] isEqual:_context]) + { + [EAGLContext setCurrentContext:nil]; + } +} + +#pragma mark - Layout - + +- (void)setFrame:(CGRect)frame +{ + [super setFrame:frame]; + + [self setNeedsLayout]; +} + +- (void)setBounds:(CGRect)bounds +{ + [super setBounds:bounds]; + + [self setNeedsLayout]; +} + ++ (BOOL)requiresConstraintBasedLayout +{ + return YES; +} + +- (void)didMoveToSuperview +{ + [self.compass.superview removeConstraints:self.compass.superview.constraints]; + [self.logoBug removeConstraints:self.logoBug.constraints]; + [self.attributionButton removeConstraints:self.attributionButton.constraints]; + + [self setNeedsUpdateConstraints]; +} + +- (void)setViewControllerForLayoutGuides:(UIViewController *)viewController +{ + _viewControllerForLayoutGuides = viewController; + + [self.compass.superview removeConstraints:self.compass.superview.constraints]; + [self.logoBug removeConstraints:self.logoBug.constraints]; + [self.attributionButton removeConstraints:self.attributionButton.constraints]; + + [self setNeedsUpdateConstraints]; +} + +- (void)updateConstraints +{ + // If we have a view controller reference, use its layout guides for our various top & bottom + // views so they don't underlap navigation or tool bars. If we don't have a reference, apply + // constraints against ourself to maintain (albeit less ideal) placement of the subviews. + // + NSString *topGuideFormatString = (self.viewControllerForLayoutGuides ? @"[topLayoutGuide]" : @"|"); + NSString *bottomGuideFormatString = (self.viewControllerForLayoutGuides ? @"[bottomLayoutGuide]" : @"|"); + + id topGuideViewsObject = (self.viewControllerForLayoutGuides ? (id)self.viewControllerForLayoutGuides.topLayoutGuide : (id)@""); + id bottomGuideViewsObject = (self.viewControllerForLayoutGuides ? (id)self.viewControllerForLayoutGuides.bottomLayoutGuide : (id)@""); + + UIView *constraintParentView = (self.viewControllerForLayoutGuides.view ? self.viewControllerForLayoutGuides.view : self); + + // compass + // + UIView *compassContainer = self.compass.superview; + + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:%@-topSpacing-[container]", topGuideFormatString] + options:0 + metrics:@{ @"topSpacing" : @(5) } + views:@{ @"topLayoutGuide" : topGuideViewsObject, + @"container" : compassContainer }]]; + + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[container]-rightSpacing-|" + options:0 + metrics:@{ @"rightSpacing" : @(5) } + views:@{ @"container" : compassContainer }]]; + + [compassContainer addConstraint:[NSLayoutConstraint constraintWithItem:compassContainer + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:nil + attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 + constant:self.compass.image.size.width]]; + + [compassContainer addConstraint:[NSLayoutConstraint constraintWithItem:compassContainer + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:nil + attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 + constant:self.compass.image.size.height]]; + + // logo bug + // + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[logoBug]-bottomSpacing-%@", bottomGuideFormatString] + options:0 + metrics:@{ @"bottomSpacing" : @(4) } + views:@{ @"logoBug" : self.logoBug, + @"bottomLayoutGuide" : bottomGuideViewsObject }]]; + + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-leftSpacing-[logoBug]" + options:0 + metrics:@{ @"leftSpacing" : @(8) } + views:@{ @"logoBug" : self.logoBug }]]; + + // attribution button + // + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[attributionButton]-bottomSpacing-%@", bottomGuideFormatString] + options:0 + metrics:@{ @"bottomSpacing" : @(8) } + views:@{ @"attributionButton" : self.attributionButton, + @"bottomLayoutGuide" : bottomGuideViewsObject }]]; + + [constraintParentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[attributionButton]-rightSpacing-|" + options:0 + metrics:@{ @"rightSpacing" : @(8) } + views:@{ @"attributionButton" : self.attributionButton }]]; + + [super updateConstraints]; +} + +- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect +{ + mbglMap->resize(rect.size.width, rect.size.height, view.contentScaleFactor, view.drawableWidth, view.drawableHeight); +} + +- (void)layoutSubviews +{ + mbglMap->update(); + + [super layoutSubviews]; +} + +#pragma mark - Conversions - + ++ (CGFloat)degreesToRadians:(CGFloat)degrees +{ + return degrees * M_PI / 180; +} + ++ (CGFloat)radiansToDegrees:(CGFloat)radians +{ + return radians * 180 / M_PI; +} + +#pragma mark - Life Cycle - + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-parameter" + +- (void)appDidBackground:(NSNotification *)notification +{ + mbglMap->stop(); + + [self.glView deleteDrawable]; +} + +- (void)appWillForeground:(NSNotification *)notification +{ + [self.glView bindDrawable]; + + mbglMap->start(); +} + +#pragma mark - Gestures - + +- (void)handleCompassTapGesture:(id)sender +{ + [self resetNorthAnimated:YES]; +} + +#pragma clang diagnostic pop + +- (void)handlePanGesture:(UIPanGestureRecognizer *)pan +{ + if ( ! self.isScrollEnabled) return; + + mbglMap->cancelTransitions(); + + if (pan.state == UIGestureRecognizerStateBegan) + { + self.centerPoint = CGPointMake(0, 0); + } + else if (pan.state == UIGestureRecognizerStateChanged) + { + CGPoint delta = CGPointMake([pan translationInView:pan.view].x - self.centerPoint.x, + [pan translationInView:pan.view].y - self.centerPoint.y); + + mbglMap->moveBy(delta.x, delta.y); + + self.centerPoint = CGPointMake(self.centerPoint.x + delta.x, self.centerPoint.y + delta.y); + } + else if (pan.state == UIGestureRecognizerStateEnded || pan.state == UIGestureRecognizerStateCancelled) + { + CGPoint velocity = [pan velocityInView:pan.view]; + CGFloat duration = 0; + + if ( ! CGPointEqualToPoint(velocity, CGPointZero)) + { + CGFloat ease = 0.25; + + velocity.x = velocity.x * ease; + velocity.y = velocity.y * ease; + + CGFloat speed = sqrt(velocity.x * velocity.x + velocity.y * velocity.y); + CGFloat deceleration = 2500; + duration = speed / (deceleration * ease); + } + + CGPoint offset = CGPointMake(velocity.x * duration / 2, velocity.y * duration / 2); + + mbglMap->moveBy(offset.x, offset.y, secondsAsDuration(duration)); + + if (duration) + { + self.animatingGesture = YES; + + __weak MGLMapView *weakSelf = self; + + [self animateWithDelay:duration animations:^ + { + weakSelf.animatingGesture = NO; + + [weakSelf notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + }]; + } + } +} + +- (void)handlePinchGesture:(UIPinchGestureRecognizer *)pinch +{ + if ( ! self.isZoomEnabled) return; + + if (mbglMap->getZoom() <= mbglMap->getMinZoom() && pinch.scale < 1) return; + + mbglMap->cancelTransitions(); + + if (pinch.state == UIGestureRecognizerStateBegan) + { + mbglMap->startScaling(); + + self.scale = mbglMap->getScale(); + } + else if (pinch.state == UIGestureRecognizerStateChanged) + { + CGFloat newScale = self.scale * pinch.scale; + + if (log2(newScale) < mbglMap->getMinZoom()) return; + + double scale = mbglMap->getScale(); + + mbglMap->scaleBy(newScale / scale, [pinch locationInView:pinch.view].x, [pinch locationInView:pinch.view].y); + } + else if (pinch.state == UIGestureRecognizerStateEnded || pinch.state == UIGestureRecognizerStateCancelled) + { + mbglMap->stopScaling(); + + [self unrotateIfNeededAnimated:YES]; + + [self notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + } +} + +- (void)handleRotateGesture:(UIRotationGestureRecognizer *)rotate +{ + if ( ! self.isRotateEnabled) return; + + mbglMap->cancelTransitions(); + + if (rotate.state == UIGestureRecognizerStateBegan) + { + mbglMap->startRotating(); + + self.angle = [MGLMapView degreesToRadians:mbglMap->getBearing()] * -1; + } + else if (rotate.state == UIGestureRecognizerStateChanged) + { + CGFloat newDegrees = [MGLMapView radiansToDegrees:(self.angle + rotate.rotation)] * -1; + + // constrain to +/-30 degrees when merely rotating like Apple does + // + if ( ! self.isRotationAllowed && fabsf(self.pinch.scale) < 10) + { + newDegrees = fminf(newDegrees, 30); + newDegrees = fmaxf(newDegrees, -30); + } + + mbglMap->setBearing(newDegrees, + [rotate locationInView:rotate.view].x, + [rotate locationInView:rotate.view].y); + } + else if (rotate.state == UIGestureRecognizerStateEnded || rotate.state == UIGestureRecognizerStateCancelled) + { + mbglMap->stopRotating(); + + [self unrotateIfNeededAnimated:YES]; + + [self notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + } +} + +- (void)handleDoubleTapGesture:(UITapGestureRecognizer *)doubleTap +{ + if ( ! self.isZoomEnabled) return; + + mbglMap->cancelTransitions(); + + if (doubleTap.state == UIGestureRecognizerStateEnded) + { + mbglMap->scaleBy(2, [doubleTap locationInView:doubleTap.view].x, [doubleTap locationInView:doubleTap.view].y, secondsAsDuration(MGLAnimationDuration)); + + self.animatingGesture = YES; + + __weak MGLMapView *weakSelf = self; + + [self animateWithDelay:MGLAnimationDuration animations:^ + { + weakSelf.animatingGesture = NO; + + [weakSelf unrotateIfNeededAnimated:YES]; + + [weakSelf notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + }]; + } +} + +- (void)handleTwoFingerTapGesture:(UITapGestureRecognizer *)twoFingerTap +{ + if ( ! self.isZoomEnabled) return; + + if (mbglMap->getZoom() == mbglMap->getMinZoom()) return; + + mbglMap->cancelTransitions(); + + if (twoFingerTap.state == UIGestureRecognizerStateEnded) + { + mbglMap->scaleBy(0.5, [twoFingerTap locationInView:twoFingerTap.view].x, [twoFingerTap locationInView:twoFingerTap.view].y, secondsAsDuration(MGLAnimationDuration)); + + self.animatingGesture = YES; + + __weak MGLMapView *weakSelf = self; + + [self animateWithDelay:MGLAnimationDuration animations:^ + { + weakSelf.animatingGesture = NO; + + [weakSelf unrotateIfNeededAnimated:YES]; + + [weakSelf notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + }]; + } +} + +- (void)handleQuickZoomGesture:(UILongPressGestureRecognizer *)quickZoom +{ + if ( ! self.isZoomEnabled) return; + + mbglMap->cancelTransitions(); + + if (quickZoom.state == UIGestureRecognizerStateBegan) + { + self.scale = mbglMap->getScale(); + + self.quickZoomStart = [quickZoom locationInView:quickZoom.view].y; + } + else if (quickZoom.state == UIGestureRecognizerStateChanged) + { + CGFloat distance = self.quickZoomStart - [quickZoom locationInView:quickZoom.view].y; + + CGFloat newZoom = log2f(self.scale) + (distance / 100); + + if (newZoom < mbglMap->getMinZoom()) return; + + mbglMap->scaleBy(powf(2, newZoom) / mbglMap->getScale(), self.bounds.size.width / 2, self.bounds.size.height / 2); + } + else if (quickZoom.state == UIGestureRecognizerStateEnded || quickZoom.state == UIGestureRecognizerStateCancelled) + { + [self unrotateIfNeededAnimated:YES]; + + [self notifyMapChange:@(mbgl::MapChangeRegionDidChangeAnimated)]; + } +} + +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer +{ + NSArray *validSimultaneousGestures = @[ self.pan, self.pinch, self.rotate ]; + + return ([validSimultaneousGestures containsObject:gestureRecognizer] && [validSimultaneousGestures containsObject:otherGestureRecognizer]); +} + +#pragma mark - Settings - + +- (void)tintColorDidChange +{ + for (UIView *subview in self.subviews) + { + if ([subview respondsToSelector:@selector(setTintColor:)]) + { + subview.tintColor = self.tintColor; + } + } +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-parameter" + +- (void)showAttribution:(id)sender +{ + [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.mapbox.com/about/maps/"]]; +} + +#pragma clang diagnostic pop + +- (void)setDebugActive:(BOOL)debugActive +{ + mbglMap->setDebug(debugActive); +} + +- (BOOL)isDebugActive +{ + return mbglMap->getDebug(); +} + +- (void)resetNorth +{ + [self resetNorthAnimated:YES]; +} + +- (void)resetNorthAnimated:(BOOL)animated +{ + CGFloat duration = (animated ? MGLAnimationDuration : 0); + + mbglMap->setBearing(0, secondsAsDuration(duration)); + + [UIView animateWithDuration:duration + animations:^ + { + self.compass.transform = CGAffineTransformIdentity; + } + completion:^(BOOL finished) + { + if (finished) + { + [UIView animateWithDuration:MGLAnimationDuration + animations:^ + { + self.compass.alpha = 0; + }]; + } + }]; +} + +- (void)resetPosition +{ + mbglMap->resetPosition(); +} + +- (void)toggleDebug +{ + mbglMap->toggleDebug(); +} + +- (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated +{ + CGFloat duration = (animated ? MGLAnimationDuration : 0); + + mbglMap->setLonLat(coordinate.longitude, coordinate.latitude, secondsAsDuration(duration)); +} + +- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate +{ + [self setCenterCoordinate:centerCoordinate animated:NO]; +} + +- (CLLocationCoordinate2D)centerCoordinate +{ + double lon, lat; + mbglMap->getLonLat(lon, lat); + + return CLLocationCoordinate2DMake(lat, lon); +} + +- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate zoomLevel:(double)zoomLevel animated:(BOOL)animated +{ + CGFloat duration = (animated ? MGLAnimationDuration : 0); + + mbglMap->setLonLatZoom(centerCoordinate.longitude, centerCoordinate.latitude, zoomLevel, secondsAsDuration(duration)); + + [self unrotateIfNeededAnimated:animated]; +} + +- (double)zoomLevel +{ + return mbglMap->getZoom(); +} + +- (void)setZoomLevel:(double)zoomLevel animated:(BOOL)animated +{ + CGFloat duration = (animated ? MGLAnimationDuration : 0); + + mbglMap->setZoom(zoomLevel, secondsAsDuration(duration)); + + [self unrotateIfNeededAnimated:animated]; +} + +- (void)setZoomLevel:(double)zoomLevel +{ + [self setZoomLevel:zoomLevel animated:NO]; +} + +- (CLLocationDirection)direction +{ + double direction = mbglMap->getBearing() * -1; + + while (direction > 360) direction -= 360; + while (direction < 0) direction += 360; + + return direction; +} + +- (void)setDirection:(CLLocationDirection)direction animated:(BOOL)animated +{ + if ( ! animated && ! self.rotationAllowed) return; + + CGFloat duration = (animated ? MGLAnimationDuration : 0); + + mbglMap->setBearing(direction * -1, secondsAsDuration(duration)); +} + +- (void)setDirection:(CLLocationDirection)direction +{ + [self setDirection:direction animated:NO]; +} + +#pragma mark - Styling - + +- (NSDictionary *)getRawStyle +{ + const std::string styleJSON = mbglMap->getStyleJSON(); + + return [NSJSONSerialization JSONObjectWithData:[@(styleJSON.c_str()) dataUsingEncoding:[NSString defaultCStringEncoding]] options:0 error:nil]; +} + +- (void)setRawStyle:(NSDictionary *)style +{ + NSData *data = [NSJSONSerialization dataWithJSONObject:style options:0 error:nil]; + + [self setStyleJSON:[[NSString alloc] initWithData:data encoding:[NSString defaultCStringEncoding]]]; +} + +- (NSArray *)bundledStyleNames +{ + NSString *stylesPath = [[MGLMapView resourceBundlePath] stringByAppendingString:@"/styles"]; + + NSArray *styleNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:stylesPath error:nil]; + + return styleNames; +} + +- (void)useBundledStyleNamed:(NSString *)styleName +{ + [self setStyleURL:[NSString stringWithFormat:@"styles/%@.json", styleName]]; +} + +- (NSArray *)getStyleOrderedLayerNames +{ + return [[self getRawStyle] valueForKeyPath:@"layers.id"]; +} + +- (void)setStyleOrderedLayerNames:(NSArray *)orderedLayerNames +{ + NSMutableDictionary *style = [[self getRawStyle] deepMutableCopy]; + NSArray *oldLayers = style[@"layers"]; + NSMutableArray *newLayers = [NSMutableArray array]; + + if ([orderedLayerNames count] != [[oldLayers valueForKeyPath:@"id"] count]) + { + [NSException raise:@"invalid layer count" + format:@"new layer count (%lu) should equal existing layer count (%lu)", + (unsigned long)[orderedLayerNames count], + (unsigned long)[[oldLayers valueForKeyPath:@"id"] count]]; + } + else + { + for (NSString *newLayerName in orderedLayerNames) + { + if ( ! [[oldLayers valueForKeyPath:@"id"] containsObject:newLayerName]) + { + [NSException raise:@"invalid layer name" + format:@"layer name %@ unknown", + newLayerName]; + } + else + { + NSDictionary *newLayer = [oldLayers objectAtIndex:[[oldLayers valueForKeyPath:@"id"] indexOfObject:newLayerName]]; + [newLayers addObject:newLayer]; + } + } + } + + [style setValue:newLayers forKey:@"layers"]; + + [self setRawStyle:style]; +} + +- (NSArray *)getAppliedStyleClasses +{ + NSMutableArray *returnArray = [NSMutableArray array]; + + const std::vector &appliedClasses = mbglMap->getClasses(); + + for (auto class_it = appliedClasses.begin(); class_it != appliedClasses.end(); class_it++) + { + [returnArray addObject:@(class_it->c_str())]; + } + + return returnArray; +} + +- (void)setAppliedStyleClasses:(NSArray *)appliedClasses +{ + [self setAppliedStyleClasses:appliedClasses transitionDuration:0]; +} + +- (void)setAppliedStyleClasses:(NSArray *)appliedClasses transitionDuration:(NSTimeInterval)transitionDuration +{ + std::vector newAppliedClasses; + + for (NSString *appliedClass in appliedClasses) + { + newAppliedClasses.insert(newAppliedClasses.end(), [appliedClass cStringUsingEncoding:[NSString defaultCStringEncoding]]); + } + + mbglMap->setDefaultTransitionDuration(secondsAsDuration(transitionDuration)); + mbglMap->setClasses(newAppliedClasses); +} + +- (NSString *)getKeyTypeForLayer:(NSString *)layerName +{ + NSDictionary *style = [self getRawStyle]; + + NSString *bucketType; + + if ([layerName isEqualToString:@"background"]) + { + bucketType = @"background"; + } + else + { + for (NSDictionary *layer in style[@"structure"]) + { + if ([layer[@"name"] isEqualToString:layerName]) + { + bucketType = style[@"buckets"][layer[@"bucket"]][@"type"]; + break; + } + } + } + + NSString *keyType; + + if ([bucketType isEqualToString:@"fill"]) + { + keyType = MGLStyleKeyFill; + } + else if ([bucketType isEqualToString:@"line"]) + { + keyType = MGLStyleKeyLine; + } + else if ([bucketType isEqualToString:@"point"]) + { + keyType = MGLStyleKeyIcon; + } + else if ([bucketType isEqualToString:@"text"]) + { + keyType = MGLStyleKeyText; + } + else if ([bucketType isEqualToString:@"raster"]) + { + keyType = MGLStyleKeyRaster; + } + else if ([bucketType isEqualToString:@"composite"]) + { + keyType = MGLStyleKeyComposite; + } + else if ([bucketType isEqualToString:@"background"]) + { + keyType = MGLStyleKeyBackground; + } + else + { + [NSException raise:@"invalid bucket type" + format:@"bucket type %@ unknown", + bucketType]; + } + + return keyType; +} + +- (NSDictionary *)getStyleDescriptionForLayer:(NSString *)layerName inClass:(NSString *)className +{ + NSDictionary *style = [self getRawStyle]; + + if ( ! [[style valueForKeyPath:@"classes.name"] containsObject:className]) + { + [NSException raise:@"invalid class name" + format:@"class name %@ unknown", + className]; + } + + NSUInteger classNumber = [[style valueForKeyPath:@"classes.name"] indexOfObject:className]; + + if ( ! [[style[@"classes"][classNumber][@"layers"] allKeys] containsObject:layerName]) + { + // layer specified in structure, but not styled + // + return nil; + } + + NSDictionary *layerStyle = style[@"classes"][classNumber][@"layers"][layerName]; + + NSMutableDictionary *styleDescription = [NSMutableDictionary dictionary]; + + for (NSString *keyName in [layerStyle allKeys]) + { + id value = layerStyle[keyName]; + + while ([[style[@"constants"] allKeys] containsObject:value]) + { + value = style[@"constants"][value]; + } + + if ([[self.allowedStyleTypes[MGLStyleKeyGeneric] allKeys] containsObject:keyName]) + { + [styleDescription setValue:[self typedPropertyForKeyName:keyName + ofType:MGLStyleKeyGeneric + withValue:value] + forKey:keyName]; + } + + NSString *keyType = [self getKeyTypeForLayer:layerName]; + + if ([[self.allowedStyleTypes[keyType] allKeys] containsObject:keyName]) + { + [styleDescription setValue:[self typedPropertyForKeyName:keyName + ofType:keyType + withValue:value] + forKey:keyName]; + } + } + + return styleDescription; +} + +- (NSDictionary *)typedPropertyForKeyName:(NSString *)keyName ofType:(NSString *)keyType withValue:(id)value +{ + if ( ! [[self.allowedStyleTypes[keyType] allKeys] containsObject:keyName]) + { + [NSException raise:@"invalid property name" + format:@"property name %@ unknown", + keyName]; + } + + NSArray *typeInfo = self.allowedStyleTypes[keyType][keyName]; + + if ([value isKindOfClass:[NSArray class]] && ! [typeInfo containsObject:MGLStyleValueTypeColor]) + { + if ([typeInfo containsObject:MGLStyleValueFunctionAllowed]) + { + if ([[(NSArray *)value firstObject] isKindOfClass:[NSString class]]) + { + NSString *functionType; + + if ([[(NSArray *)value firstObject] isEqualToString:@"linear"]) + { + functionType = MGLStyleValueTypeFunctionLinear; + } + else if ([[(NSArray *)value firstObject] isEqualToString:@"stops"]) + { + functionType = MGLStyleValueTypeFunctionStops; + } + else if ([[(NSArray *)value firstObject] isEqualToString:@"exponential"]) + { + functionType = MGLStyleValueTypeFunctionExponential; + } + else if ([[(NSArray *)value firstObject] isEqualToString:@"min"]) + { + functionType = MGLStyleValueTypeFunctionMinimumZoom; + } + else if ([[(NSArray *)value firstObject] isEqualToString:@"max"]) + { + functionType = MGLStyleValueTypeFunctionMaximumZoom; + } + + if (functionType) + { + return @{ @"type" : functionType, + @"value" : value }; + } + } + } + else if ([typeInfo containsObject:MGLStyleValueTypeNumberPair]) + { + return @{ @"type" : MGLStyleValueTypeNumberPair, + @"value" : value }; + } + } + else if ([typeInfo containsObject:MGLStyleValueTypeNumber]) + { + return @{ @"type" : MGLStyleValueTypeNumber, + @"value" : value }; + } + else if ([typeInfo containsObject:MGLStyleValueTypeBoolean]) + { + return @{ @"type" : MGLStyleValueTypeBoolean, + @"value" : @([(NSString *)value boolValue]) }; + } + else if ([typeInfo containsObject:MGLStyleValueTypeString]) + { + return @{ @"type" : MGLStyleValueTypeString, + @"value" : value }; + } + else if ([typeInfo containsObject:MGLStyleValueTypeColor]) + { + UIColor *color; + + if ([(NSString *)value hasPrefix:@"#"]) + { + color = [UIColor colorWithHexString:value]; + } + else if ([(NSString *)value hasPrefix:@"rgb"]) + { + color = [UIColor colorWithRGBAString:value]; + } + else if ([(NSString *)value hasPrefix:@"hsl"]) + { + [NSException raise:@"invalid color format" + format:@"HSL color format not yet supported natively"]; + } + else if ([value isKindOfClass:[NSArray class]] && [(NSArray *)value count] == 4) + { + color = [UIColor colorWithRed:[value[0] floatValue] + green:[value[1] floatValue] + blue:[value[2] floatValue] + alpha:[value[3] floatValue]]; + } + else if ([[UIColor class] respondsToSelector:NSSelectorFromString([NSString stringWithFormat:@"%@Color", [(NSString *)value lowercaseString]])]) + { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + + color = [[UIColor class] performSelector:NSSelectorFromString([NSString stringWithFormat:@"%@Color", [(NSString *)value lowercaseString]])]; + +#pragma clang diagnostic pop + } + + return @{ @"type" : MGLStyleValueTypeColor, + @"value" : color }; + } + + return nil; +} + +- (void)setStyleDescription:(NSDictionary *)styleDescription forLayer:(NSString *)layerName inClass:(NSString *)className +{ +#pragma unused(className) + + NSMutableDictionary *convertedStyle = [NSMutableDictionary dictionary]; + + for (NSString *key in [styleDescription allKeys]) + { + NSArray *styleParameters = nil; + + if ([[self.allowedStyleTypes[MGLStyleKeyGeneric] allKeys] containsObject:key]) + { + styleParameters = self.allowedStyleTypes[MGLStyleKeyGeneric][key]; + } + else + { + NSString *keyType = [self getKeyTypeForLayer:layerName]; + + if ([[self.allowedStyleTypes[keyType] allKeys] containsObject:key]) + { + styleParameters = self.allowedStyleTypes[keyType][key]; + } + } + + if (styleParameters) + { + if ([styleDescription[key][@"value"] isKindOfClass:[MGLStyleFunctionValue class]]) + { + convertedStyle[key] = [(MGLStyleFunctionValue *)styleDescription[key][@"value"] rawStyle]; + } + else if ([styleParameters containsObject:styleDescription[key][@"type"]]) + { + NSString *valueType = styleDescription[key][@"type"]; + + if ([valueType isEqualToString:MGLStyleValueTypeColor]) + { + convertedStyle[key] = [@"#" stringByAppendingString:[(UIColor *)styleDescription[key][@"value"] hexStringFromColor]]; + } + else + { + // the rest (bool/number/pair/string) are already JSON-convertible types + // + convertedStyle[key] = styleDescription[key][@"value"]; + } + } + } + else + { + [NSException raise:@"invalid style description format" + format:@"unable to parse key '%@'", + key]; + } + } + +// NSMutableDictionary *style = [[self getRawStyle] deepMutableCopy]; +// +// NSUInteger classIndex = [[[self getAllStyleClasses] valueForKey:@"name"] indexOfObject:className]; +// +// style[@"classes"][classIndex][@"layers"][layerName] = convertedStyle; +// +// [self setRawStyle:style]; +} + +- (NSDictionary *)allowedStyleTypes +{ + static NSDictionary *MGLStyleAllowedTypes = @{ + MGLStyleKeyGeneric : @{ + @"enabled" : @[ MGLStyleValueTypeBoolean, MGLStyleValueFunctionAllowed ], + @"translate" : @[ MGLStyleValueTypeNumberPair, MGLStyleValueFunctionAllowed ], + @"translate-anchor" : @[ MGLStyleValueTypeString, MGLStyleValueFunctionAllowed ], + @"opacity" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"prerender" : @[ MGLStyleValueTypeBoolean ], + @"prerender-buffer" : MGLStyleValueTypeNumber, + @"prerender-size" : @[ MGLStyleValueTypeNumber ], + @"prerender-blur" : @[ MGLStyleValueTypeNumber ] }, + MGLStyleKeyFill : @{ + @"color" : @[ MGLStyleValueTypeColor ], + @"stroke" : @[ MGLStyleValueTypeColor ], + @"antialias" : @[ MGLStyleValueTypeBoolean ], + @"image" : @[ MGLStyleValueTypeString ] }, + MGLStyleKeyLine : @{ + @"color" : @[ MGLStyleValueTypeColor ], + @"width" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"dasharray" : @[ MGLStyleValueTypeNumberPair, MGLStyleValueFunctionAllowed ] }, + MGLStyleKeyIcon : @{ + @"color" : @[ MGLStyleValueTypeColor ], + @"image" : @[ MGLStyleValueTypeString ], + @"size" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"radius" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed], + @"blur" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ] }, + MGLStyleKeyText : @{ + @"color" : @[ MGLStyleValueTypeColor ], + @"stroke" : @[ MGLStyleValueTypeColor ], + @"strokeWidth" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"strokeBlur" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"size" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"rotate" : @[ MGLStyleValueTypeNumber, MGLStyleValueFunctionAllowed ], + @"alwaysVisible" : @[ MGLStyleValueTypeBoolean ] }, + MGLStyleKeyRaster : @{}, + MGLStyleKeyComposite : @{}, + MGLStyleKeyBackground : @{ + @"color" : @[ MGLStyleValueTypeColor ] } + }; + + return MGLStyleAllowedTypes; +} + +#pragma mark - Utility - + +- (void)animateWithDelay:(NSTimeInterval)delay animations:(void (^)(void))animations +{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), dispatch_get_main_queue(), animations); +} + +- (BOOL)isRotationAllowed +{ + return (self.zoomLevel > 3); +} + +// correct rotations to north as needed +// +- (void)unrotateIfNeededAnimated:(BOOL)animated +{ + // don't worry about it in the midst of pinch or rotate gestures + // + if (self.pinch.state == UIGestureRecognizerStateChanged || self.rotate.state == UIGestureRecognizerStateChanged) return; + + // but otherwise, do + // + if (self.direction != 0 && ! self.isRotationAllowed) + { + if (animated) + { + self.animatingGesture = YES; + + self.userInteractionEnabled = NO; + + __weak MGLMapView *weakSelf = self; + + [self animateWithDelay:0.1 animations:^ + { + [weakSelf resetNorthAnimated:YES]; + + [self animateWithDelay:MGLAnimationDuration animations:^ + { + weakSelf.userInteractionEnabled = YES; + + self.animatingGesture = NO; + }]; + + }]; + } + else + { + [self resetNorthAnimated:NO]; + } + } +} + +- (void)unsuspendRegionChangeDelegateQueue +{ + @synchronized (self.regionChangeDelegateQueue) + { + [self.regionChangeDelegateQueue setSuspended:NO]; + } +} + +- (void)notifyMapChange:(NSNumber *)change +{ + switch ([change unsignedIntegerValue]) + { + case mbgl::MapChangeRegionWillChange: + case mbgl::MapChangeRegionWillChangeAnimated: + { + BOOL animated = ([change unsignedIntegerValue] == mbgl::MapChangeRegionWillChangeAnimated); + + @synchronized (self.regionChangeDelegateQueue) + { + if ([self.regionChangeDelegateQueue operationCount] == 0) + { + if ([self.delegate respondsToSelector:@selector(mapView:regionWillChangeAnimated:)]) + { + [self.delegate mapView:self regionWillChangeAnimated:animated]; + } + } + + [self.regionChangeDelegateQueue setSuspended:YES]; + + if ([self.regionChangeDelegateQueue operationCount] == 0) + { + [self.regionChangeDelegateQueue addOperationWithBlock:^ + { + dispatch_async(dispatch_get_main_queue(), ^ + { + if ([self.delegate respondsToSelector:@selector(mapView:regionDidChangeAnimated:)]) + { + [self.delegate mapView:self regionDidChangeAnimated:animated]; + } + }); + }]; + } + } + break; + } + case mbgl::MapChangeRegionDidChange: + case mbgl::MapChangeRegionDidChangeAnimated: + { + [self updateCompass]; + + if (self.pan.state == UIGestureRecognizerStateChanged || + self.pinch.state == UIGestureRecognizerStateChanged || + self.rotate.state == UIGestureRecognizerStateChanged || + self.quickZoom.state == UIGestureRecognizerStateChanged) return; + + if (self.isAnimatingGesture) return; + + [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(unsuspendRegionChangeDelegateQueue) object:nil]; + [self performSelector:@selector(unsuspendRegionChangeDelegateQueue) withObject:nil afterDelay:0]; + + break; + } + case mbgl::MapChangeWillStartLoadingMap: + { + if ([self.delegate respondsToSelector:@selector(mapViewWillStartLoadingMap:)]) + { + [self.delegate mapViewWillStartLoadingMap:self]; + } + break; + } + case mbgl::MapChangeDidFinishLoadingMap: + { + if ([self.delegate respondsToSelector:@selector(mapViewDidFinishLoadingMap:)]) + { + [self.delegate mapViewDidFinishLoadingMap:self]; + } + break; + } + case mbgl::MapChangeDidFailLoadingMap: + { + if ([self.delegate respondsToSelector:@selector(mapViewDidFailLoadingMap:withError::)]) + { + [self.delegate mapViewDidFailLoadingMap:self withError:nil]; + } + break; + } + case mbgl::MapChangeWillStartRenderingMap: + { + if ([self.delegate respondsToSelector:@selector(mapViewWillStartRenderingMap:)]) + { + [self.delegate mapViewWillStartRenderingMap:self]; + } + break; + } + case mbgl::MapChangeDidFinishRenderingMap: + { + if ([self.delegate respondsToSelector:@selector(mapViewDidFinishRenderingMap:fullyRendered:)]) + { + [self.delegate mapViewDidFinishRenderingMap:self fullyRendered:NO]; + } + break; + } + case mbgl::MapChangeDidFinishRenderingMapFullyRendered: + { + if ([self.delegate respondsToSelector:@selector(mapViewDidFinishRenderingMap:fullyRendered:)]) + { + [self.delegate mapViewDidFinishRenderingMap:self fullyRendered:YES]; + } + break; + } + } +} + +- (void)updateCompass +{ + double degrees = mbglMap->getBearing() * -1; + while (degrees >= 360) degrees -= 360; + while (degrees < 0) degrees += 360; + + self.compass.transform = CGAffineTransformMakeRotation([MGLMapView degreesToRadians:degrees]); + + if (mbglMap->getBearing() && self.compass.alpha < 1) + { + [UIView animateWithDuration:MGLAnimationDuration + delay:0 + options:UIViewAnimationOptionBeginFromCurrentState + animations:^ + { + self.compass.alpha = 1; + } + completion:nil]; + } +} + ++ (UIImage *)resourceImageNamed:(NSString *)imageName +{ + if ( ! [[imageName pathExtension] length]) + { + imageName = [imageName stringByAppendingString:@".png"]; + } + + return [UIImage imageWithContentsOfFile:[MGLMapView pathForBundleResourceNamed:imageName ofType:nil inDirectory:@""]]; +} + ++ (NSString *)pathForBundleResourceNamed:(NSString *)name ofType:(NSString *)extension inDirectory:(NSString *)directory +{ + NSString *path = [[NSBundle bundleWithPath:[MGLMapView resourceBundlePath]] pathForResource:name ofType:extension inDirectory:directory]; + + NSAssert(path, @"Resource not found in application."); + + return path; +} + ++ (NSString *)resourceBundlePath +{ + NSString *resourceBundlePath = [[NSBundle bundleForClass:[MGLMapView class]] pathForResource:@"MapboxGL" ofType:@"bundle"]; + + if ( ! resourceBundlePath) resourceBundlePath = [[NSBundle mainBundle] bundlePath]; + + return resourceBundlePath; +} + +- (void)swap +{ + if (mbglMap->needsSwap()) + { + [self.glView display]; + mbglMap->swapped(); + } +} + +class MBGLView : public mbgl::View +{ + public: + MBGLView(MGLMapView *nativeView_) : nativeView(nativeView_) {} + virtual ~MBGLView() {} + + + void notify() + { + // no-op + } + + void notifyMapChange(mbgl::MapChange change, std::chrono::steady_clock::duration delay = std::chrono::steady_clock::duration::zero()) + { + if (delay != std::chrono::steady_clock::duration::zero()) + { + __weak MGLMapView *weakNativeView = nativeView; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, std::chrono::duration_cast(delay).count()), dispatch_get_main_queue(), ^ + { + [weakNativeView performSelector:@selector(notifyMapChange:) + withObject:@(change) + afterDelay:0]; + }); + } + else + { + dispatch_async(dispatch_get_main_queue(), ^ + { + [nativeView performSelector:@selector(notifyMapChange:) + withObject:@(change) + afterDelay:0]; + }); + } + } + + void activate() + { + [EAGLContext setCurrentContext:nativeView.context]; + } + + void deactivate() + { + [EAGLContext setCurrentContext:nil]; + } + + void swap() + { + [nativeView performSelectorOnMainThread:@selector(swap) + withObject:nil + waitUntilDone:NO]; + } + + private: + MGLMapView *nativeView = nullptr; +}; + +@end diff --git a/platform/ios/MGLStyleFunctionValue.m b/platform/ios/MGLStyleFunctionValue.m new file mode 100644 index 000000000..a319114ee --- /dev/null +++ b/platform/ios/MGLStyleFunctionValue.m @@ -0,0 +1,190 @@ +#import "MGLStyleFunctionValue.h" + +#import "MGLTypes.h" + +@interface MGLStyleFunctionValue () + +@property (nonatomic) NSString *functionType; +@property (nonatomic) NSDictionary *stops; +@property (nonatomic) CGFloat zBase; +@property (nonatomic) CGFloat val; +@property (nonatomic) CGFloat slope; +@property (nonatomic) CGFloat min; +@property (nonatomic) CGFloat max; +@property (nonatomic) CGFloat minimumZoom; +@property (nonatomic) CGFloat maximumZoom; + +- (NSDictionary *)rawStyle; + +@end + +@implementation MGLStyleFunctionValue + +- (id)initWithFunctionType:(NSString *)functionType + stops:(NSDictionary *)stops + zBase:(CGFloat)zBase + val:(CGFloat)val + slope:(CGFloat)slope + min:(CGFloat)min + max:(CGFloat)max + minimumZoom:(CGFloat)minimumZoom + maximumZoom:(CGFloat)maximumZoom +{ + self = [super init]; + + if (self) + { + _functionType = functionType; + _stops = stops; + _zBase = zBase; + _val = val; + _slope = slope; + _min = min; + _max = max; + _minimumZoom = minimumZoom; + _maximumZoom = maximumZoom; + } + + return self; +} + +- (id)rawStyle +{ + if ([self.functionType isEqualToString:MGLStyleValueTypeFunctionMinimumZoom]) + { + return @[ @"min", @(self.minimumZoom) ]; + } + else if ([self.functionType isEqualToString:MGLStyleValueTypeFunctionMaximumZoom]) + { + return @[ @"max", @(self.maximumZoom) ]; + } + else if ([self.functionType isEqualToString:MGLStyleValueTypeFunctionLinear]) + { + return @[ @"linear", @(self.zBase), @(self.val), @(self.slope), @(self.min), @(self.max) ]; + } + else if ([self.functionType isEqualToString:MGLStyleValueTypeFunctionExponential]) + { + return @[ @"exponential", @(self.zBase), @(self.val), @(self.slope), @(self.min), @(self.max) ]; + } + else if ([self.functionType isEqualToString:MGLStyleValueTypeFunctionStops]) + { + NSMutableArray *returnArray = [NSMutableArray array]; + + for (NSNumber *z in [self.stops allKeys]) + { + [returnArray addObject:@{ @"z" : z, @"val" : self.stops[z] }]; + } + + [returnArray insertObject:@"stops" atIndex:0]; + + return returnArray; + } + + return nil; +} + ++ (instancetype)stopsFunctionWithZoomLevelsAndValues:(NSNumber *)firstZoom, ... +{ + NSMutableArray *numbersArray = [NSMutableArray array]; + + va_list args; + va_start(args, firstZoom); + + for (NSNumber *arg = firstZoom; arg != nil; arg = va_arg(args, NSNumber *)) + { + [numbersArray addObject:arg]; + } + + va_end(args); + + NSAssert([numbersArray count] % 2 == 0, @"invalid number of arguments"); + + NSMutableDictionary *stops = [NSMutableDictionary dictionary]; + + for (NSUInteger i = 0; i < [numbersArray count]; i = i + 2) + { + stops[numbersArray[i]] = stops[numbersArray[i + 1]]; + } + + return [[self alloc] initWithFunctionType:MGLStyleValueTypeFunctionStops + stops:stops + zBase:0 + val:0 + slope:0 + min:0 + max:0 + minimumZoom:0 + maximumZoom:0]; +} + ++ (instancetype)linearFunctionWithBaseZoomLevel:(CGFloat)zBase + initialValue:(CGFloat)val + slope:(CGFloat)slope + minimumValue:(CGFloat)min + maximumValue:(CGFloat)max +{ + NSAssert(zBase >= 0 && zBase <= 18, @"invalid base zoom level"); + NSAssert(min < max, @"minimum value must be less than maximum value"); + + return [[self alloc] initWithFunctionType:MGLStyleValueTypeFunctionLinear + stops:nil + zBase:zBase + val:val + slope:slope + min:min + max:max + minimumZoom:0 + maximumZoom:0]; +} + ++ (instancetype)exponentialFunctionWithBaseZoomLevel:(CGFloat)zBase + initialValue:(CGFloat)val + slope:(CGFloat)slope + minimumValue:(CGFloat)min + maximumValue:(CGFloat)max +{ + NSAssert(zBase >= 0 && zBase <= 18, @"invalid base zoom level"); + NSAssert(min < max, @"minimum value must be less than maximum value"); + + return [[self alloc] initWithFunctionType:MGLStyleValueTypeFunctionExponential + stops:nil + zBase:zBase + val:val + slope:slope + min:min + max:max + minimumZoom:0 + maximumZoom:0]; +} + ++ (instancetype)minimumZoomLevelFunction:(CGFloat)minimumZoom +{ + NSAssert(minimumZoom >= 0 && minimumZoom <= 18, @"invalid minimum zoom value"); + + return [[self alloc] initWithFunctionType:MGLStyleValueTypeFunctionMinimumZoom + stops:nil + zBase:0 + val:0 + slope:0 + min:0 + max:0 + minimumZoom:minimumZoom + maximumZoom:0]; +} + ++ (instancetype)maximumZoomLevelFunction:(CGFloat)maximumZoom +{ + NSAssert(maximumZoom >= 0 && maximumZoom <= 18, @"invalid maximum zoom value"); + + return [[self alloc] initWithFunctionType:MGLStyleValueTypeFunctionMaximumZoom + stops:nil + zBase:0 + val:0 + slope:0 + min:0 + max:0 + minimumZoom:0 + maximumZoom:maximumZoom]; +} + +@end diff --git a/platform/ios/MGLTypes.m b/platform/ios/MGLTypes.m new file mode 100644 index 000000000..2928bc2f4 --- /dev/null +++ b/platform/ios/MGLTypes.m @@ -0,0 +1,24 @@ +#import "MGLTypes.h" + +NSString *const MGLStyleKeyGeneric = @"MGLStyleKeyGeneric"; +NSString *const MGLStyleKeyFill = @"MGLStyleKeyFill"; +NSString *const MGLStyleKeyLine = @"MGLStyleKeyLine"; +NSString *const MGLStyleKeyIcon = @"MGLStyleKeyIcon"; +NSString *const MGLStyleKeyText = @"MGLStyleKeyText"; +NSString *const MGLStyleKeyRaster = @"MGLStyleKeyRaster"; +NSString *const MGLStyleKeyComposite = @"MGLStyleKeyComposite"; +NSString *const MGLStyleKeyBackground = @"MGLStyleKeyBackground"; + +NSString *const MGLStyleValueTypeBoolean = @"MGLStyleValueTypeBoolean"; +NSString *const MGLStyleValueTypeNumber = @"MGLStyleValueTypeNumber"; +NSString *const MGLStyleValueTypeNumberPair = @"MGLStyleValueTypeNumberPair"; +NSString *const MGLStyleValueTypeColor = @"MGLStyleValueTypeColor"; +NSString *const MGLStyleValueTypeString = @"MGLStyleValueTypeString"; + +NSString *const MGLStyleValueFunctionAllowed = @"MGLStyleValueFunctionAllowed"; + +NSString *const MGLStyleValueTypeFunctionMinimumZoom = @"MGLStyleValueTypeFunctionMinimumZoom"; +NSString *const MGLStyleValueTypeFunctionMaximumZoom = @"MGLStyleValueTypeFunctionMaximumZoom"; +NSString *const MGLStyleValueTypeFunctionLinear = @"MGLStyleValueTypeFunctionLinear"; +NSString *const MGLStyleValueTypeFunctionExponential = @"MGLStyleValueTypeFunctionExponential"; +NSString *const MGLStyleValueTypeFunctionStops = @"MGLStyleValueTypeFunctionStops"; diff --git a/platform/ios/NSArray+MGLAdditions.m b/platform/ios/NSArray+MGLAdditions.m new file mode 100644 index 000000000..2bac42ce0 --- /dev/null +++ b/platform/ios/NSArray+MGLAdditions.m @@ -0,0 +1,10 @@ +#import "NSArray+MGLAdditions.h" + +@implementation NSArray (MGLAdditions) + +- (NSMutableArray *)deepMutableCopy +{ + return (NSMutableArray *)CFBridgingRelease(CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFArrayRef)self, kCFPropertyListMutableContainersAndLeaves)); +} + +@end diff --git a/platform/ios/NSDictionary+MGLAdditions.m b/platform/ios/NSDictionary+MGLAdditions.m new file mode 100644 index 000000000..3228d5653 --- /dev/null +++ b/platform/ios/NSDictionary+MGLAdditions.m @@ -0,0 +1,10 @@ +#import "NSDictionary+MGLAdditions.h" + +@implementation NSDictionary (MGLAdditions) + +- (NSMutableDictionary *)deepMutableCopy +{ + return (NSMutableDictionary *)CFBridgingRelease(CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFDictionaryRef)self, kCFPropertyListMutableContainersAndLeaves)); +} + +@end diff --git a/platform/ios/UIColor+MGLAdditions.m b/platform/ios/UIColor+MGLAdditions.m new file mode 100644 index 000000000..ae40735d1 --- /dev/null +++ b/platform/ios/UIColor+MGLAdditions.m @@ -0,0 +1,167 @@ +#import "UIColor+MGLAdditions.h" + +/* Portions based on Erica Sadun's uicolor-utilities + https://github.com/erica/uicolor-utilities */ + +@interface UIColor (MGLAdditionsPrivate) + ++ (UIColor *)colorWithRGBHex:(UInt32)hex; +- (CGColorSpaceModel)colorSpaceModel; +- (BOOL)canProvideRGBComponents; +- (BOOL)red:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha; +- (UInt32)rgbHex; + +@end + +@implementation UIColor (MGLAdditions) + ++ (UIColor *)colorWithRGBAString:(NSString *)rgbaString +{ + UIColor *color; + + NSString *numberString = [rgbaString stringByReplacingOccurrencesOfString:@"rgba(" + withString:@""]; + numberString = [numberString stringByReplacingOccurrencesOfString:@"rgb(" + withString:@""]; + numberString = [numberString stringByReplacingOccurrencesOfString:@")" + withString:@""]; + + NSArray *numbers = [numberString componentsSeparatedByString:@","]; + + if ([rgbaString hasPrefix:@"rgb("] && [numbers count] == 3) + { + color = [UIColor colorWithRed:[numbers[0] floatValue] / 255 + green:[numbers[1] floatValue] / 255 + blue:[numbers[2] floatValue] / 255 + alpha:1.0]; + } + else if ([rgbaString hasPrefix:@"rgba("] && [numbers count] == 4) + { + color = [UIColor colorWithRed:[numbers[0] floatValue] / 255 + green:[numbers[1] floatValue] / 255 + blue:[numbers[2] floatValue] / 255 + alpha:[numbers[3] floatValue]]; + } + + return color; +} + +- (NSString *)rgbaStringFromColor +{ + CGFloat r,g,b,a; + + [self getRed:&r green:&g blue:&b alpha:&a]; + + r *= 255; + g *= 255; + b *= 255; + a *= 255; + + return [NSString stringWithFormat:@"rgba(%lu,%lu,%lu,%lu)", (unsigned long)r, (unsigned long)g, (unsigned long)b, (unsigned long)a]; +} + ++ (UIColor *)colorWithRGBHex:(UInt32)hex +{ + int r = (hex >> 16) & 0xFF; + int g = (hex >> 8) & 0xFF; + int b = (hex) & 0xFF; + + return [UIColor colorWithRed:r / 255.0f + green:g / 255.0f + blue:b / 255.0f + alpha:1.0f]; +} + +- (CGColorSpaceModel)colorSpaceModel +{ + return CGColorSpaceGetModel(CGColorGetColorSpace(self.CGColor)); +} + +- (BOOL)canProvideRGBComponents +{ + switch (self.colorSpaceModel) + { + case kCGColorSpaceModelRGB: + case kCGColorSpaceModelMonochrome: + { + return YES; + } + default: + { + return NO; + } + } +} + +- (BOOL)red:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha +{ + const CGFloat *components = CGColorGetComponents(self.CGColor); + + CGFloat r,g,b,a; + + switch (self.colorSpaceModel) + { + case kCGColorSpaceModelMonochrome: + { + r = g = b = components[0]; + a = components[1]; + + break; + } + case kCGColorSpaceModelRGB: + { + r = components[0]; + g = components[1]; + b = components[2]; + a = components[3]; + + break; + } + default: + { + return NO; + } + } + + if (red) *red = r; + if (green) *green = g; + if (blue) *blue = b; + if (alpha) *alpha = a; + + return YES; +} + +- (UInt32)rgbHex +{ + NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use rgbHex"); + + CGFloat r, g, b, a; + + if ( ! [self red:&r green:&g blue:&b alpha:&a]) + return 0; + + r = fminf(fmaxf(r, 0.0f), 1.0f); + g = fminf(fmaxf(g, 0.0f), 1.0f); + b = fminf(fmaxf(b, 0.0f), 1.0f); + + return (((int)roundf(r * 255)) << 16) | (((int)roundf(g * 255)) << 8) | (((int)roundf(b * 255))); +} + +- (NSString *)hexStringFromColor +{ + return [NSString stringWithFormat:@"%0.6X", (unsigned int)(self.rgbHex)]; +} + ++ (UIColor *)colorWithHexString:(NSString *)hexString +{ + NSScanner *scanner = [NSScanner scannerWithString:[hexString stringByReplacingOccurrencesOfString:@"#" withString:@""]]; + + unsigned hexNum; + + if ( ! [scanner scanHexInt:&hexNum]) + return nil; + + return [UIColor colorWithRGBHex:hexNum]; +} + +@end diff --git a/platform/ios/resources/Compass.png b/platform/ios/resources/Compass.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3afe6f68b380c95db072d22a410895ac99038b GIT binary patch literal 1736 zcmV;(1~>VMP)+;wC|8@FQwdeisPnxFZOp@G-l4K{0<9!pQhh7l8CulRq92l_w zY`V`wC6?^bY#Xr_W_OebAxSyZW1 z?7M>lyC`q^%mtxQ0~B@S#MppDD19BvO@eK2!dDKs;B1^yNQPD( ztezlo^BC~L&~BF}?2Az;UTHJt=6Snp!vPnZ#d$P)8Zsum43GsBUa#+7Bq9@@;7W07 zzfMlu*3?Ctkr`t;nJePqRWoE(0uAl60nwKB$;U*|n>a1y$Mm@PAZ3?Davj5vWTcr* z*w%$PjqN^J>gEt-HN%yFCfX<63=EvrdqspFJ>JmcT3K3>ol0HwFw@SCv1Qrm=kwF{ zXlh2|i)3mnk;}7Bmb8$C6K<{qw2bhh?TLquDXI3F?m~(%%QCrV?%F4fhRw=l1^3I& zj%0-F9LeV*Xg@zCO9;dHw9!-zw8Fgb@o;P?j(1g*8j#~F6Br7Xe8Dh6ZJk;8Srizm$Kfx$z^P!I$k09NlT z>raw@6TgEX|AGEUDur9z0PU_meBJBl!#OxSqW`{nebe5&UDd4N0Yl#b00960xBdld z0009INkl4@ezQlv-`<{Nv~Ysa<{rNPqZ{>_|o?##V+9Yy*}lH@QiN@=}p%lmFu zUazgm-28$hNh(<=&RLqKf{k1Axirnju7f$ZuxK3J?zTKzZAqF3V7wOe2}%+6FV*nw&7 z+D|y}?&qcOF}N6Krhe0GUAc$V^ha4y{BQtT0Pa6rmbEwQ62);JI3m$1Ae4yKAX;ay~PdkMY9?U;0))%i7>P!r^=uYBgY+C*HC^8MPm4>c8ld z(AGBuA{WiK53A4d&hUH?LoB`~7)-^!kcd$yO=(Mkj(WtgUDLOln^MfqRu3j3_#k60 zh<61ae0$GG^=cm}=ISWVrN$wIyIEd*Q!^6#wDix5XQVxF;&-Y`@6;yRCQSV~1a)066EUBX5c6tjiQ!3N0~mlMr1N@~m8VJc4LQ|J z;UFL}MJq|&zxmv5K*xduxEJ?}@>Q+@o4F5hkHO&qV4%ld^By~oW zAlQOU*yioXQeY;Mx;}xQ&`tBL42=JKy_pOuZmB8P z2{{1ys8V73`}<5ctw^Wrp#sC>cdYdtHed@jTk}J=6oVDfg$G5Z^GBO4CUe;Jd=_$ zV;9-qvCGbLuP~CBBvB`X=FGt5vX1B685%w$hpXs8F`0_u5(J->*l{C)+4kO-(F*~BwtAo;ads ztX(2Vyf1QZAKKM})oFcW!&y3UD#sx)$vLPM>_burCqtAj6i=oySpze$!v|~w;8WPj z>)n=w3(2{f5%d^hFbG-TB#nb-obymCDf~B-0fmT&;rTyG7nvo%#BIq^UY zT*s<~vqSp;m3u3M8`2nVkB3i5$>AiStk|J;#f!?7r>{%HElyp!cO!y=dm@t7gvfZ> z`L)JYqM$R4-|sECgL6;Xw>^Ph~UtA~?^I%(q&*#j2=g6PnOyYjAs zD9{l7eeRO7dN@J9s7_WY0v7>-h@7=72)bey*dOoA#hq78uTtGCFoKH!LEe8-WCftF z+W{8=f@lTX&Zu|#njD7%;vz_pVeK3f#OGjZCxjsW(M|DB1pJ<=HBGuf>}4m|g<_~r zPoF&xsG1Y>4*&rF|8_b0YybcRdPzhZCE_T)_k z4^l<9-#`ViFBaS4(Ss-y>=p|4U{89eXQ5cwp7c{zo}XtQmzN{I+Q49_Ua-w+&({XeNBn`0FJ4YX zeBxaE)Ucf0A{~79{sTKcK4v>Rza!$fj)lcVw+>QXR!r*b`e1m*Fzuhkblw@M91tMM z0F(xZSa2?WYFhU9vH%?(9hSuF$5#>O{y8vWSXIyHd6f^+fH ze$!qk1JIMnNyZ^PefB&AsjLwM7CsoBF-@mY79dP7OtXW7gV0nf3lLavE`DlR)<{`^ z&@YGaX>H9PMZ64Yk=nq*2NTFtXeIlVCd9NIHad1SvtYi8VT$oSvE*Y_yL0!RTb3uF zI%$S>-j_5b2E?Qi;Bu0sSZGDoaA`AH0#Cq#rC4XyiP!|OM0vd`=5?C9u-wOTFqxY1xvZ6Kk8a6~TJY&11J!9m$a9+7Lq zs9sYurZ$yiwvqs$4Ie$d7(p^k@I3+~uE4PEFH$2UK9758fY1lxqQU@?&v7hb%ld8m zb{-JUk`4GA3qw*^p;7cz$HBN2L8pD5b+xsSuf!of_K^VUGflHjqT4FMA52WROQ*K5 zoTh6~BQ#(cho)e8LcR@OWgHUAY18&5!LTcU!_g3=D!l7@I-1~PB7~Hi6c^c>GDtc? zWHx$LuBdI3{7;U1QUGD9T_Gp-L`QCokLwQQu1AE}x9T;A1g$Y`_TXEZ|4R31`~OJn zz^>Jpq~ka-nfGqN{&n_&&cHDrGkv2MD1GZo@*oSH!K9JLTOS%T7bKO9~4jM-# zX-@F>aB1~mtF^tIYEQJ|!8xblZ&y_-I@1l)3UNvD8BAyUq6!GMU{hzxdef?BBPT-A zdvHfqH}SuQqY|9Gh~;tDs({cIHeox?j!;IcRn8CO2n|Vr7XnD*BnZWsi)w_e0|+*w z=Q)v$^k!~LxrBjAan*~sm9{0qe>XG&bO0sUp?hsFLe3Ths(7zjhyGJ_-3_kjBtDqH zPb}BEri~}GsOm1dUd25sDd0RQ0*(6gjx36M5NDy=Ihn-qZTO5k;#j5~J#14SswaV2 z9O_})YUgbUy;4$m@0JSCwc#|qw-2Z18Iu#h3OP1H%Wi`nqWBhI)%~i({q!dIeG=uV u%=_YG6?M@DZAr)3m_j)L`)}r~6Zi+-n6!b6vRQlp0000)d*q9Gj17f;m0039U zK~7FnMNW=c6Y6H`;A{f`C==vo`0DB`P)3h;Jn5Jq1v0ar(+1!$e}AS-fvy#!5~_(B z6~W;nkD*9T!mV$u+l`_W4YX1q$9o+PnZr3H)*S57l2<^i#5v&{)e4`j<{*cR))uzE z%q`d*1Oi9UL{gYd4k`p{noi>Yjlezn*Yk94fvCp< zltnnjH9&ZOz4JxI7EjwqRwl=05v|b}O}kJ*T$|=<4*PmZ9D0#y7W)sol2=$Z9l9zx z0K_HN)YMg;8i1cX+hTN^qsTc%K!Kd*Fy<5$fSuMa+72ardo5~T0Prif+l)nzQGt|` z%w;(sc7|Iu80Bo9(!YVviT8GY-`NwT&ul;~wP?C@6qSvi$d7^@0}pp62e zyrNuHesmO{Fmv1*c}aW^?-q6VHqytNSJ+K;61k(NwUdSu5o6yLDIR8+1hU4B2$@+A zp%&r9q6yA-BDeRp00c#fYBsB24ZBGIXJEkeRK{tUr9)75jG;UOnDnH6< zm;-kBF)>B4OjQzPDN(lUEHRxiw!fT==2LRC0lAnY;uPuY36A&Fk6u?5$!SWQvwG3C zVw=6bd51N@EQE+yQ^Y!b$Onhn5 zkof^^-g5sLJ>gI{%?7=Da5J^3fU9sF`WK?PxVF%}K7w_Q6TkLHtK>)FL_MCzkXJ07 zxFPf*jBANZgI%0SIL7Es;Y2JM%xunVy2P~D+t|nml3pRLu=g5Xz$jw>ep3kdhlF{V zb`^RK^;B||C^jl>Hty`EFkKZ#pc#h*M+Zylh?un!l-fwzT%(SyklBKrC`C#$jf;a^ z<2k*8?1H-J^A>4;X@9vgZG!i%(}q=9t@*|p9r8iXgTP9uf|+NT@R8co>SU+%z05#% zjkLK;-%JZoA*TgP$n)Rjcg?6;J<>foVI>XvMT+Z9y%Lcs3OU8;kT;MVNDSolhVXzE zdwWV)$`?|NO6i{s-`UGpXl19${J%Fhy=W3!v{~e5PU*%GzG0pGD;b`f&;CMR&s*WG8822q0&$ke|-@J?7ZD@@NXufg$)we6L zn@XEQ+eu49t4EtDG$>4yADlsm3Hu%))vq$WSB;16fAtqlXMJ0aZ zh0gr+s_x6y@uqQnr!9L9p=#l_q2h*RBcmF{*>|FS;=`{>{By5)@Fd09j2aWbjzt={g8{mSfhiLfNL? zHhw{P0lek7eT*d$?HAoacscLo!_^iMG()ntv)(**5(mfP4CMSUrBbn$Z#2d|Mle=_ zhfj4(HO)s2o%C35riUhjtU+-We(pundQ0hWr_5jGT?!1`FE? z`+D1T`uvW%>k&S5BCL&^tutL}QTH|LXIN@WJ+7UisO2W|$2zGGCae`(aj#7(FdM{nBQz->GkD;_;HmA<;UqN#Om* zj_37`N;4I^rMqFYi8)&xyMbR0@)w7e=DOBgLZ(pS(FU+28OiC}LxwLkooZ!V1}vA? zYx>6big#PP>_RL;mx?$9ss*n744ukn z7-Qg*%DsPe9(R$Q)A-d+bv${DA}?38&^P#0b};hfZ46bkn1PpMYt!cU{JMs^RajVN zz4=KCv~sEA_D(Oe+OAI2>{(ELP{%&qu8Xlt5mBr9(NtL67b=C;20K{ zIR%gG;{N^lGJUeTFxdCD!wxdif9y25mo4>t^?j%4&FqECw)M{Dl&`~4c}47Mb*I!t z7_#Wr>U=2q=f1|3MtWhqlM7|y*z3pvwP6+p34!>5lDN#w%;HdMTQO~U#lPVXPZB_TFE4j7 zFxc1E7vw7la)a7|AB&2Lg82o&0s?#w8hoDqu3naYe6F6X|1k1TJMuQ3R!|3bF9$bQ z=0A2VA#UDY568_S41vUlX}{{vFjrd|*FIckp8nKluLxc{$kr+r9sV`t#-= zu)m`E$7JFU)QHJJZ7jXqpt^2u&XO`#ZctZd9~-FW9}k5<0w4i#@P8})+gb5HR>kDp zT->2Ho_`>c!s6inBl~ZCBW)W`H)roZBuGAf%KtawKc)YTF#LZJ|0(?&ArAh->VL5O zk0ty|`mlzQxDV0%Gan>zgLt4359bqzioA@jAMO&l@_bsvjg3DZs7y+FU^WWWgxirP?fh(Z0TVeYb*~TNYA5^Cl(k>jWY0#`CaJ# z>5m{}K6p)u5u0K_?N;ehaTs^k4E8oY z{u{szg?zz)e1OYpzQK}!o`FH?xvDBm!h2UYN0F6{2|~@Omi0qlS9deu{x@>8+MwRH zM>qYRCF|Z=oIfF+Kjd_CgXaJ8hQ$_c?-*WiLXiQ{c`;-jfuU}I&e4aXHlI_UMzT~d*ZjWdpy|X0P()7n_;MyS}ag63I5b5 zmd+s797_nc=se$DZt-+kpz0Kpv9U<5IHL@3%Bk`q5px;OxkGO8YfJDyc$?J{Ni0A` zPR>Qfsh+n|XVzxyF07!SfbpSX6M@K%IFQ z{$B5kw(JcVjH97@_o1=e$~?hB@2K^Kz@V)9KX-JQoWS zGr{DGtJ&2@8<^?hXP4WGKj$4~Wo6ve`B6ynIaj6DxA?MA21>B`a?jM%)LZ%+uZOTb z{9HeOuCFm|`4~Kuz<|}$m)uCXnYP*yczH{~qrV&pVh~$_Z92)D?>$h1wYa!g?z+~A zL?Oxobjn`<%<49ka#d0}K3)9!o{Uq+)Xnip3tRx}|Tz#mYpI^i4*K&B8j?K8^3ypSxWWp>hEiI=2 z+*3R{43+Z3MTE68z3AwwwKBL=bha5|5rl^1Q z|1zN$=x!+d5(3%yQjCpZO&Uj)o{{m$$jHc6wv{~077VVh_dQxgJ}K%6CGGtt;<7lM z{VJWKxk97R7-Z3zmjEgIxFt~85%7zaIrhhkuBbwGLBXk44++1inhBC9e@TwRu#Kle z6%tk>BK97$-Fr`ew#9Qh<#44flUqnYy-+d;lNQ{~|4>R`uU1w+zenOw%tS*jCofRJ zGv7mNBBDghVbMoV894~*FW~Q=1t{VkKG1aHy*GPcqK8W=IzxM`O>ng{$vP4iTUfXz zPZ%)yRUT%H$#Uh^lP?t#oKQo;IMPa>h@JlHfveOuub;ql&(N-}d&99oyx-knXhS_M z+G&_0IhwBq0_Z0`=~So}T9xvI4_PsVpACejpiz8}(7o0;7VE;mqeMq+ZjuvU;9}T3 zzA`>uWA>s3b-1l{-UGJRI)iRWHn#-BD+r#as~0;=l^bET}ux zarB~4vcULITB2XQv!?QIsFU~!+n|W&I}bH1hn*RMLlEd#CoO}=vaY`F!Oj-TMQ_j| z?_+QO-dKwj2n115QrbSTpLl1U%JG60E>neVk58>?UF8+wkB=D#f1LJEL!a5eRX5lS zgK5ibiMdK%c{Z+WCr?UWUd>kORIrG)y}{}LNWP}$OdpUhVR~CPSEhN){B3ux-Xd_O zN)PL}GhakRB)0pr%Tn>>L-x=FT(fAxPohvhJt|A0JC#J9Pt|L=;!yDEusH-edJfl9 z3UW23rl!W{=H?oIYYC;ES8hg}@eMA;na+~*RYRY;bsJWl%x78xiCW%x_`QLE-b*Hp zSPOi%pOoF&6=m$zvW9yP=+4MqQMEKT&yz+04Om9?#26<4U9CUj#MN-_c;jh>1txW> zBx-+r=n}la?NHb}t)0}wFc?I!Qm#M6_miz==96ELeoP0-3r`u@q-nc8+a}ry2Zc7_ zQucOYL(X;Z$rAfw3o*JPJ>ff?Ha>Oy`^s+q>X+QJ4qT$9I zKVHoBGb$b~GrS|DC6Z28tvarl|HWaQzBgAtq%(2qd$1^+efKnCuvaZ1Xyu_kGoJPf zjZM#ibjvLkFxD)K0}>`+E;LY-Pn@!$H#2@eJ@Xau@6&({Ay>!ic#4UPNDM}+L|^%1 zlNP|h3X4~g=8!$+jc7VS;Dt`P+DWE6dw+n>&cr%Vdn6wcAu4-|xq3}ES;TJj^LrUe zt??&l>3p31YP-K%oPipTH!7M0Gv^_-psm`rR*53AKtd^wmavwyfD)UiBLA81DzLpz zMJ~u5W?K|xIg-M@zS$*zQU0)HoqxGIOxR4Q)~d<#w7;zVjTJcqOv%e@*Q#Mvh?sh$ zzKv@9OBcHIsz@~W?#kt&9Ve1ww2#eAUu2VtVBm);w5m&YGFHyrlq;&2A3b=CJame} z!TLp)AwQ%ao140Tcfe}*y9wr0uQGK8o!>9H*j4`EZ&wW=CL)&yOP36GccB62X)NJ= zdxAgpqECq_LQbUhkwsg?EJGdehtCbX#p{vk3jC`FMU6WF9guoD?mHRNT@Cv@6}U!Hjk%?$ zs-3xZ01RM~My9ibXTx{`Q1e3%Y0rP`;XNgL{u}C4OLX_VFA!Fs$IA0+ISdq3b$Wcy}JI@E#fU<8Y} zCrR2j3MR7iQNWGT%dj8bMmDdS`rM9DERq%3Yh~+%YsX-;oOac{)vwkN8VYFofr8}#-bpjx+d^KBAexx!G%?ckPT3V4h^PulYo=L z!KBqRQSXM54x=!Z#6kHM1YSb=gP}awqaq=>zaDLkbXmpucO&y2k_b6U`MZ0XxTzp*?{>-1(g)L z{WUhXr3dtok@Pg`y?g@gN&I$>oM?#hMkdvEVKi*MZaUSLd7%%2X@|OOCSd>W^W5D1 zcLe|oPKLqwA$7h@1e+ud{zb$eXaHhzKX1DeTGRutMGnBD#C$IjHbNF$g1MA#xqmcl z_IOpV_5fz3PwrFP4);))x^6&?Wx)%mu}_tRqSCg_ut+$sB04|UUOcdP=vv++@l$&d z9QJzBxS~Fr$`Osu(cZKnO6=#RLca)azgyFz*IGR7{RH2F*Lgabdx;kc0gfw*5bH(IDXa zWn1G|xEcU_LwJ>2WD$n#1p(rpU?}Z`y`X(hzhbZ=4|ld(R3+3n$FX_69zK$y=tkOY zD~M949o(YEnK)4uFyI$%2HW&NW5px5uW1-(__a2z4(6B9 z89x!)P&fV#k%M2$M_o2M&T80Z^rdJ>z-ixyZR#tJcDfCm%OLa~=igu-@=j!bB7c(2 zIMTr`ns_7~SnD8k@>DWP8%lKy0>neamtf3Z4wb+kN-h+k7@qyQVA{IaU!v`@MAToB zaAZR%@l+{kGa3TbWvwXms0FDz$dg9+Or)JYYK!PARa54Y8Bn1o3M(gnrp8f{Ba#$b z{=zHQD&i^PDPFAl;fLKks64$bTSuuw!dK3hSvrY5?Qh!dNL5lrf_2Jinm3hF@=}_6 zngLTTjRCp8+-u2m3$#j)NRL`zVXbDq)OJI!V2G?_W8PDkZL5LBoCl zXCb@Xwp?kR#fsX>$ZFZ@X@RLCW~y|`J!dN0fa7iNIqamiEyAni(dwq}MDQeuAd{ez z0G~jEAdO>?6F<`~b0l*=^N?ex!9oY65mskk=de+qB_-oxT-}VSK8iQLs`|W?aYm?U zy+W|c_(wg+yzoo?B(`26(^qcMX5D5rcQGY-W)QPMjml-dkVp%mBa|SiWQwCCP zT5ULxZNo|JW8X@DrnR22?@*}Ku5tZj$@)QKRT<-^Ti3ZSf2LmTIuP;&GIfh~OYubg z#EKvo<`LF`cK6H0?K33UcLDSCXuDwlMiA3iQUDZ%o< zRw5lC7r{!wY9a`supwc=xx)7KK=nX^NSS91D0Sz7&|=TxZXp6loTz%ZkIo;N7&t1a z&pcZ+Jp4S|VHv@a65{<3nYiKEVdA(pxf3Qa%mDpk2Qw6|ECZ zRw4)_CB*fnbaN`Zn_ZU=+dbPs-o0RA*G;WITXAaKFB_YxjyLGhcBCUABqiR&c#FX9 zE!$V9zBXue--lgFf`mOK9uCqU#$4&$n?5JNrUm~Do{>oF*NZTgt(L`=-Gx>XZQOGG zY49g-uPiw}xsaBrdfK*cI#1(l$!ukoe~(Fx#h4Oq+C^^6tK_NFb{bmLUmgsK zwTh{1cQ8(VMY9>O!L>PGH>$tGD#3_Q(Ge{Aq@0opov&eRVWMw~RB1Yhe5FvqP@NN_wI6 zr067&ATINupd(F zIq%iZ&^_s84ywSiXQXfWG0jWvZPT<)q)z_g+G0dg5tpU6g7@Zez+5)*Br&6K)|=0D z^le6F{iwP8RKg_g_blFAcfUVkgCSQ@5qM#IS}sCu4STcM)wR_dV}WTk`d6(^Wvd-e z&l+hJ=GDA<{Jz<~9p|AhF^eRSoK%A|Kg;9BOWTfPhx(V)-KyA5IN!rZy(i|4+cw|* z*tcv#m?-$i3#Lx*H~lriW8aOJ8H6%)ec^F0o)?Q31H=C_oG8l^tCsj?}0sRpSN=_=`|=!fWaue$4j-(%5fbGsp3w69Hf zDKizhe(p~l=HQY3-_|py8NzZKKRS6I7jJD3O^){F+$}FlN+UNaI)!foU-F-fuZI$j z&y?TK*}>EL2%Z%6izUL&x* ztBW87#Xl4MSNXS{whsR_k)89uy?XbL*~7?znU#r!`Ts|9u{8T{^ZqZ^KO_G^`TGZ0`cDvqSb13f&G?_v|IGmXe;NN%`fr8+^FLAjA5s2~ zCH$B4eGP?>-@WAUDPEzhamhYT@m^fMzK&ZfA>Uaz?lg*@y$tRzv z>T$(VZ0JK#wl62&M>~A&7i#=&DlYBI4Axt88H**M8L=!9y8X*x*NmtywzXk3v^r`^ z;E6Q42{2Dd|T?MG=le+=fWJZ8(;cxBd+86Y#s)P^R7A zZTkB^PiFILB_}82z(PZH4Qr^YCvW&YozHprU)LJ-fm=h1d;U^0GIu@yG{Ja!ILtLb zTCF8T41Y85e{n^c3UfJKtRmL3#?4Az67JoawfS0klX$}p*D9^T-(a<1H6Mbf@4^YJ9->guYr-cHby{M0<);O_$kl&QU6^VHbb90j*D zpiPD63O73;VJ6gCaT(%nPvb|Vr=vr+Kl7aR>5cRG6|y!A=8b}-$Fq@hacL-(Ph)bN z-{p5b;V@opvVHP}$k)rczq8R%L)cS}i08MqP{xx8CCh4R=`MN@@#Wx#*2 z7OV&GU9{|ajib8ulK1d?!tPKUsk}{Eba8DK3i?(Q zbg953~NSe{(A$cK;v_(<6K!zyY;57@Zl% z3A$lwUd`u?Ibn;#g~P4et~4Yl?++5xTf1z!Z~EHpDBQ3H3fXnFY1QaMadE}S`nQxS zW|e^IxgLq@DN<2*j*bBm|VVB)`I=69{B_OwrO$FkO@y z0i;*dBlZg&(Nd|0^xoHQ6u65xU}Lvcl$Y-;7g4H=aoKO^k`st-ln1qQaw%CHp!^bm zCUfD?(x{Sdw4j^(A|r!1lzS`>K@_pZsd7DCTu^0rw0w5>S*D_}I3Ez-31zYj@+0^5 zkn;s_6pp0$J?y7henUXN@L15$x=C>rpRTHI|1;_=^m@Nbnhv{d=s2>UX7FkN3d#ri zSXx@{+jl-3@IBsqQx*qs^v=V>qm)i4Ju^11&7xPVkkZdZ&Bs{3AI8xlPG zb<+dW47)-$c1q;o$O4UFudo4*1X=YIKsG%3+)lHJ%qsi#D=E5mT#Bs3chzYKmJ1(( zK2W7)aU>tmcMrr6a#znu;^}dGrlKk))u%?vTpl+5E6?1~kP)L#ZX4;T)#>}>MjO+O ziDaZfyf!V_Qs#3e2+6dEa#ogW#=hM+ zVZSUK7Tp0FIQxBMs2W6_|ZH8De0OZJ6n#5_%pwaq1wG-s@ zr&Z+#fIn$S^m-!6x$(YuH(D<-VOmqt&&(i++^99WoattNhyD&-dEJZoNlKSm=L^~I zuLChu*j?H2``7Qqb@FxlB7$`c$gJP~JkCC)ew$yjH`w@r^&Yj`3N`5bZb8f7%n(*fC@SVMHFFKun7@pe~K&w0npAO_o5*d6Xr!v;J%VY@Xc7pq}@69AN<@irt&`!QSI`1J+ zurpzJ5>6^lt!p}NDZmwp;~Y#I1t(>tIgjD)yMV67qjRXI7|@bH%r^u?fbN^{>s1_Q zLlQT>L?bY1^^*ZXG}OSPAMXQ7olOP^66Z+F9v(=65ggVc6Jd&%#7>C5Gaz``{&#Z8 zVw;Ov2i2i(P!zHM+bvb%?897lAPjSf9;}#)qoXm>3j>(M?sJ%)xnXwz)VTxpInwYa z%qDtTT3UE|*Nva1V@*2+f1rG+QWdVEJvep77bxSlTTvC2jPLXn7_?-4fUC{+n`nJu z=$EJg#{JD;fg|*mGV!8}g4L&ocL7z^wV$$^49EY~ zs@8p=7c1LOyv`!lLCa$3>`OZ9jEe(sR%5gSK7buQ(Tey*Hl0 z)zYm)ofbrj$pWn2FboPdWMAHRp?tU1sstrOQgxu|2x9(>orqplCj?5QSv3ep9V#i) zs12#nY?YW{Vhc9A9M5vB)G<9(aWgeUOFXeNM1rd~;spK-6MLCkcHAs}Ex5taSoEbJ zYXNRtm?Rux!I)VJG-{Aqq4}A#+jn%?}qN`k*)b|?3B9inP?o5_XT{1F*o+QyI9Y*CWUq5)-0F6PVBZd z4QmO}TeG#;i4f(UA+_Z&)c6YZI|zj-9VNyQG%5O?M&8&2R}?HQfC8}Aa&?D4Scwa! zuB6d%J96!Ih65DW3Wapy-)}0l_L!|?>J00jYb6#DG%4sp_hiI5cGOLTNQSDl$T~bT zL<0p=5*bb5sryj$%^v{I8F%6&e)rpu>or*vhmB}XUTsI9t(P)_vJxS?*|;9;Lt_A$ zjtP7H%PG37PNuOy*YZ}6Q z8@IM4!y{*eTySn2A;rdvToAkD@dq~>$(BCcB1J#xEyxU0HulpuMKNZ~fL3hF)cp2t zm^QtB2{{gXqnT8w#07u{HWO2}AzzZN9v@&uV&jS!oX*ZL6KRqsjqzbhvr+ZsbWbl*0zuzqa)QtIi8rbINF>wIcf)UHzhsK{${P+zI z|BKzNmoF!=9k^em{fmUU-wVGCl5zMyZnAM=nWA27n$zQEp4ocepV!1Rm16 zy02S(SPu^!NONy6-SXyGa0&u8Ul(v$((OVcZ%$tIz;Zz7x)7XI*kt#sWXHVa_M&7?PcChi24m zR)rvc|LO3qn69 zkHFVbX25o!r2o-hQ$P&j|N6&Be^B|gCjJoGA%Kn#Nc8#tdA#IjhNh(Rc1g+Wwar|XLZg*ZxK%-Q_d8seH zz?nExms5&B!_4oZq9O}ChGj`i{U3TzImV1R$9gqOS;nHD$*cr$mX*$02=-q>Z)7F? zo{m;+xJVG-L_VTp+($jwFlHeCna~|YX#vD)Y$OQ@-Im%wba3jhx+s#&{Gkh6O6(VuVzXvzYvijhsHqxn$QUT` zr!Yy!)=$6aeK`;Ui)R96FmZP!>&YAeo#=V2iy!YuyE!jHHF+1sAR7D%9a^zag46NP z1GO_paOu_-iRLApFdQgn8t$fauhBck@My3W5~HH%e{M(HHpxow}VTBeJG7YT?ytav}bN>Q^n!( z0yJ6Qb7EUWSW056CC6+56s_l$H8HRxaYx48I>bG0UwzM{Qc4MP-73%Rp-_SYz2e!Lx@^; z;TiQm>j6bxo+(ZKB3Ap0TMYeOjggORxt^5|!&HlXeNWqqwo}^ajl>Pt7$JPVqF4j& ze$ZydP||8?U-_kB?K`){?@49_b&fp#M1Ep!-AmMNd6R%U`}uK?@o%kqMmuxw=|YQ_ zIO2gMiZ!t!8wB@UQoghCj``Fk;rJLgdlB2=HcQ;$RQ5iqWQ%lyENl9#Wd`Wyx=NdH60)`xaI)5Ou zmGrUUGN-I_u1no-*=G^}Rxow@U_rLW9+V|^wNb1VRsLF+JN*C%Q2JpOL6IGY3M5vd z$iU~uHqPPA|3sEWG{@?WIvloSwG82aWf-#xB>PRZb3rJ`#k3G3-@N%-_Gp1Y&K>BE zW4@YH+wRNR1o(zqu_wIa2jH-5pa;;H9aw1gUd#{XB6)?{upg?)&Nd1@TXAJ+BrR?MI*r{eBT*t5lc0mirf)eIqn0M4^wuXF0}iF(e|?2 zHsqWBylUrVSGB1s<1b*5^v4-#(&M>0IaMAmJd0A#{u*hVfS%FVt;+Ux09VsWzLp%|W%N{+d_?}C{;{M*?#!#!80%w!hc_wOF zAG*{$9QmwnseJyx7eFPr68PcNkid9CRThoe+`J8D3wX5#a+gP`Si0yzAZ^Ep;s~0q zlz`~CZLinr4mm9>SL3Ul*NIpHta!JUq2eAsr`aFR7H4fA+74cPKp$n-?9-aPSuzk# zu>UCio9a%J3mGn;Ok7S*&VTTjI;emiCA4`2Tna(-^w_SGK^}X!;n?X^>EW^i?C)CV zYn+946Zpv1K(|;)tD=Z4Xewwbb~r0 zBcQZKR*r{ZQ-4&3Jr`a5aQ)V z7>U=>2QF%Tx7S_AgboLY?Bg@CgGYBIx^l7@1aZq|;M`ACrWVbw398x#rwNAa&3=Ux zLC~3UM0XVM#_`Cc&&lH0FYOP0o-6*nPtSYGqA^MLRLjh(39@lgM&p+-0 zT-Lz$@?}igd;rdHq@yhJ&PE&NZ-igBHT&97V)4{V+IuXznn_~QgZVZy1(Nnqg9-iA z5s$=TW9W!u;o`UCwRD|Ao+*6~HAtBVFx@1GwD?d11>4kun0#oL&n?+DmA|NWAYhNi zEZn3>jC-B}y2Ge+VunZ|o@ts_s&V=-xJk+{E0N^yt=jrGP8MnKZ%TQL2v>cS7K1)L zH`5Egfge}EfFA^^DFKveSME^1)E|q*&1wFwD?SNWAo_f{BwyB;Q97I!ie-x`J9Vsj z^p6(;loS39H{Ml6_4gje@o2RYZ%9gKM_CzUW4{Dk`cWGz2XNXhyt>+C%Wgqn~9-ozQ5@c=9jZ4N8^{@_Rk!|)k1 zA-<-bEoeEN%V-cW@`8@U664DpDEXPJCsXc`R4@(fj-8 zcbWsR7N@>FYhIK@=TZuV3KdBQdZ~y&ZNB<@vK&|S57-`w(ep)ddD{v=Zf>?7@9u#y zl8XXvi1H_>Bn)bW=-LzOBy=V*DIsbfZxL4(8QBbyY7Si^VC8lZ3wDS`Cj=5PwJ z6}iB9QZ$Ew2vOc+OHFUDtmQyqF)hhx!ko~3!U8u9DdZ9qFx~3cM}U+6FURzAaV^DGo113_1#o3LrR#>k27L zf&$4ozT!{>pg{np0i9dtZAZt2KO|R+)G6^M(I)$RK-|LnW{&;kYru+pwVO~0<5q*O zi{K6wP5`)@W&Fl4gkaRCC4$%@@wNjvfXtn2m%Z7q-egea{!?Ax_in7I zdgpVKlS6yCE1}z&4kN*<(U1x~|6!=bNp{tj(U{{;kNJNsf8-{;8nvP$i11Ip;Tea? zmDatS6=-*!LLzgjZW@v9+UtCRPrYlW(99~oSz15vBnvfN8nx;;`+&kpjSA$l=4b5~ z^8EOX3qFmjjyWJCc9TK}5QWIr-*jZ{a8bF(l$;Jn=khHz*5&FqC!0|Q4z|^p^*ezy zi)8p--#;>iIYY{0BAmckWvgW?pb>(me=x$x08aFMmXt`99C=>OKvjs){!D|ljSWS1 z3FE$u>{cAK$cVgiok+u>Js13Z<1*Y9_))myIRS8_D}UIo6L6TUFy#CZ+Pkhlho)37^&2iXxi23lZ8 z@F+tJ56>^kNh!}vNmX!3ElbVGFGwv?2ujTXyQ$dF#lQ*d6dr3LR4d@{kUIV9Jtx~*mOc3N^qkf?1> z*PH#>5>p>AuVJj6&YFIXuXU<<)?3bP>(b8#rp!MUb8%02Ub<;Rnc0%|#ypGu8``3N z)v7n5_WLy-?7cMks#M|DggJAK{X%~VMewxk5aT`gwA{5fz+;!T?vp944__Radn{w= zhQ)u<>k4);MS7PzO|;zk_3T5R_Xn&!dX_y^jQyLHwR^dkX~LyvYd^bbo_uk*`(@>U zti*KDO&|U~&DfI^pLc%d-S^VT|0bobW@2V!U|ig|&Y*F%0Ut2DW%(Hy|Ff_FlUkbr zKZq|3;h`Ux;W>`Z4wFHZ(i^E<{o)8C}i<=19_0NGK++PSc8c6 zg-rJ;Wt{)MWcTVhEc@>6Th9?^UVJ@=m5ZPQlM_jVT^MR;3$ zd0QGKA5$P3W-0XaA+O+*PF1$OSGS1v#a)P;KH;Tzf$>s?CZBo|n@pP49Y^;$XV z-%{P_->Y|DYj<;MeH~=0wkdhVmW`+Sznpor`Gos}{j(yQf8Cl9tkv|jCRK0hP2Acw*r@b6HQk_fhp0-j|J~}V_hu*nMD<{Pj>*=eOiUI)R Cp^hm4 literal 0 HcmV?d00001 diff --git a/scripts/ios_travis/ios-dist.cer.enc b/scripts/ios_travis/ios-dist.cer.enc new file mode 100644 index 000000000..dfdd0ca99 --- /dev/null +++ b/scripts/ios_travis/ios-dist.cer.enc @@ -0,0 +1,30 @@ +U2FsdGVkX1/Dn0fx6y0q6CHTK5UmCnel5Nw0kQlpeCqrqpWvXnYS//Ep0updcMIQ +xj1hu+baBWjw7ccysFG/zcReSh/xgP6JrW7QKiA/kIQvqOvH0vhtzvDsnAQCB52T +VWVy492mIwFRCBANVTPbdmBbVIeHAkeQcrVkFJJIKOv4dC+CFAw9ArHm8iYrg7FV +FDK3cmrfR/pgvlQ1lQDa1C0vV1k/R5KuhqwDM3xMML1WbuBlR0RRHccs4xJRmRV7 +NuAuWg2Ob+p5gOW4L3+7PnBTBgxUZl2nbukd3oUlAPBOxgwwbgQSJPDvnsw2zmgp +uv2X0Q0/fT9R8VxuoSXYkLkgIlOnVVRpyG4C4ou7HPS8VDiLP5iRWKx2PoTvaBLz +9lNPTXhXu45n2k9L9SbkYk0024u6I8x9EkAmu0wU/rQpdudw4uLO7Pxz7BZHq3/D +frwBMvtQXRogeQcsi3dKmsISrxdSEO1hax6toVnqujPSXKmFOMHXyhqJg/K9DDhs +8GAUUO0cVfAaviofVFBZAXwkOd0SaYWz3WY4qHOZHnFiuGN0MCd2lXe5kVKFXRdE +6ElXMm2+M0YLH+L55MA79hIDjqjv9JXTAAKpLy5wsOkMYEaaXvevdAEhkSW9QzIh +HGUqBED5jqdrNlm7qOPSMWDcB/9FlnizKFsqrZOjquWFQZ4L34t++8FPT0ipxKCI +XkYxBqVesZlHBOLPBYQ2bdJUuYaACkyMtB5eRebEieoWRXTB0aD4otvh6F6MYpiY +4q66GO3faCnPxcZY4OxxwSSuyotBP8qKJcACqf3/Ji0nt42IHOIWJmiwROjBzMQ2 +DgYLtjsi1/b8eXLO5g+6S8o404j8g+2Z2rYXG+Hw6TaxY5bXrAH51fbUNDJP6qFR +X3K3q8YvJlXcKIU6aZi5CDqaJUz6e22FvsOeWVHjdQYB23kk+LWYQY58hvkFUDXd +/Nn2FxGPn80280sF4s8EX77YEXLGLqIo293Yg9F9JBwrq76ObY6DJbRlB4EG0Hx+ +vo0WJhEWHahu2uCfwqMJPDhMTGYcYRdHcNSepJlbj+gFTmH8bdKZGI/g13ZsDYEK +HKP72rtaGQT4JYkS06TC6/Vvi+0+PxXr9SKbODCskN2yJpp0S2wXy8H6IwlpPe1R +v82oCJQAXrcD8wd65TR2Q7fg4akHzI9VX1q8UGjzNt/Y/EsPEVv48PM/zngk/Hat +Ptq6SoOFAj/JqbXOMuW0fidBI7uhq5575lgxaQ+VL4nKdDrdoHZXWJgjG/ZQO1j4 +8o12Z+Fk8tNpMPofJaAf3ebuArAE/IUDK7KKB7UoSwT1XPOFI9gCVtG654i7CAtN +LfkDruwjTcD2XyaVLcVTeDUr2wMMrugE+OS4B/d0nD7jU4hVHTVn5fJxRiAFx+ql +cBG/TIf951aDZ1x7eIj4xhehletdeWTZ2wGT8RJcFPD3LIB1hddeDIFQrkfEP7Gp +IY+VdYo3tZtYcj9x0dXey/n9y0kxZw2w8oAY5iJB7NydeSANL4btPWO8y4KxXta9 +P+HNq01JS78ufYxfIOnOxD8l7YtD6Z6Evr1elzGFJOzRl4nCbPUg+VXekR94Lmf8 +0MBLgyG6xSoRBHvIYK6SRHEc+NuWvyfZGSOKBQVTwvf4/y4+xGcbPZy/YnUX6u+/ +zRWaYPJBdRhTrwAqawz9ZLL65uFYM7jhpZPEYGhOVqFoarNsy0m0gF5HNy8r/s71 +N1DBKUyVzdhR+4JZEHkkAr8JnN108d1uDIkaiI1F+hLCK2m5wnMYlZBMj2pP4kSC +1E7JiIr/EKDiIHE7rOzf3yTYwug0xusBDdNTappMzTRsTCEyJf330k3kS7y0+zoH +lwtG/9HS6qcwPY2h5buxTb6v9xQqmyWNT28Q8qEb3h8b2XS/NUyB9SQvRpkn9oUR diff --git a/scripts/ios_travis/ios-dist.p12.enc b/scripts/ios_travis/ios-dist.p12.enc new file mode 100644 index 000000000..ad6507ef9 --- /dev/null +++ b/scripts/ios_travis/ios-dist.p12.enc @@ -0,0 +1,32 @@ +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 diff --git a/scripts/ios_travis/ios-in-house.mobileprovision.enc b/scripts/ios_travis/ios-in-house.mobileprovision.enc new file mode 100644 index 000000000..51036a741 --- /dev/null +++ b/scripts/ios_travis/ios-in-house.mobileprovision.enc @@ -0,0 +1,153 @@ +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 +mCKBZzE+OCJOYS4bO4/Lbg== diff --git a/scripts/ios_travis/remove-key.sh b/scripts/ios_travis/remove-key.sh new file mode 100755 index 000000000..56b769ac2 --- /dev/null +++ b/scripts/ios_travis/remove-key.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +security delete-keychain ios-build.keychain +rm -f "~/Library/MobileDevice/Provisioning Profiles/$IOS_PROFILE_NAME.mobileprovision" diff --git a/scripts/package_ios.sh b/scripts/package_ios.sh new file mode 100755 index 000000000..89aac5ee7 --- /dev/null +++ b/scripts/package_ios.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail +set -u + +NAME=MapboxGL +OUTPUT=build/ios/pkg +IOS_SDK_VERSION=8.1 +LIBUV_VERSION=0.10.28 + +function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; } +function finish { >&2 echo -en "\033[0m"; } +trap finish EXIT + + +rm -rf ${OUTPUT} +mkdir -p "${OUTPUT}"/static + + +step "Recording library version..." +VERSION="${OUTPUT}"/static/version.txt +echo -n "https://github.com/mapbox/mapbox-gl-native/commit/" > ${VERSION} +HASH=`git log | head -1 | awk '{ print $2 }' | cut -c 1-10` && true +echo -n "mapbox-gl-native " +echo ${HASH} +echo ${HASH} >> ${VERSION} + + +step "Creating build files..." +export MASON_PLATFORM=ios +export BUILDTYPE=${BUILDTYPE:-Release} +export HOST=ios +make Xcode/mbgl + +step "Building iOS targets..." +xcodebuild -sdk iphoneos${IOS_SDK_VERSION} \ + ARCHS="arm64 armv7 armv7s" \ + -project ./build/ios/mbgl.xcodeproj \ + -configuration ${BUILDTYPE} \ + -target everything \ + -jobs `sysctl -n hw.ncpu` | xcpretty -c + + +step "Building iOS Simulator targets..." +xcodebuild -sdk iphonesimulator${IOS_SDK_VERSION} \ + ARCHS="x86_64 i386" \ + -project ./build/ios/mbgl.xcodeproj \ + -configuration ${BUILDTYPE} \ + -target everything \ + -jobs `sysctl -n hw.ncpu` | xcpretty -c + + +step "Building static library..." +LIBS=(core.a platform-ios.a asset-fs.a cache-sqlite.a http-nsurl.a) +libtool -static -no_warning_for_no_symbols \ + -o ${OUTPUT}/static/lib${NAME}.a \ + ${LIBS[@]/#/build/${BUILDTYPE}-iphoneos/libmbgl-} \ + ${LIBS[@]/#/build/${BUILDTYPE}-iphonesimulator/libmbgl-} \ + `find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libuv.a` +echo "Created ${OUTPUT}/static/lib${NAME}.a" + + +step "Copying Headers..." +mkdir -p "${OUTPUT}/static/Headers" +cp -pv include/mbgl/ios/* "${OUTPUT}/static/Headers" + + +# Manually create resource bundle. We don't use a GYP target here because of +# complications between faked GYP bundles-as-executables, device build +# dependencies, and code signing. +step "Copying Resources..." +mkdir -p "${OUTPUT}/static/${NAME}.bundle" +cp -pv platform/ios/resources/* "${OUTPUT}/static/${NAME}.bundle" +cp -prv styles/styles "${OUTPUT}/static/${NAME}.bundle/styles" diff --git a/scripts/travis_before_install.sh b/scripts/travis_before_install.sh index 060a14209..ccda31c99 100755 --- a/scripts/travis_before_install.sh +++ b/scripts/travis_before_install.sh @@ -47,4 +47,7 @@ elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then mapbox_time "install_awscli" \ sudo pip install awscli + + mapbox_time "install_xcpretty" \ + gem install xcpretty --no-rdoc --no-ri --no-document --quiet fi diff --git a/scripts/travis_script.sh b/scripts/travis_script.sh index 71635b5c7..45bda62c3 100755 --- a/scripts/travis_script.sh +++ b/scripts/travis_script.sh @@ -44,9 +44,8 @@ elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then # # build iOS # - mapbox_time "checkout_cocoa_bindings" \ - git submodule update --init ios/mapbox-gl-cocoa - - mapbox_time "build_ios_project" \ + mapbox_time "build_ios_project_device_release" \ make ios -j$JOBS + mapbox_time "build_ios_project_simulator_debug" \ + make isim -j$JOBS fi diff --git a/test/ios/.gitignore b/test/ios/.gitignore new file mode 100644 index 000000000..516812b72 --- /dev/null +++ b/test/ios/.gitignore @@ -0,0 +1,3 @@ +!*.xcodeproj +!xcshareddata +xcuserdata diff --git a/test/ios/App-Info.plist b/test/ios/App-Info.plist new file mode 100644 index 000000000..d7e9d5c46 --- /dev/null +++ b/test/ios/App-Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.mapbox.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/test/ios/Bundle-Info.plist b/test/ios/Bundle-Info.plist new file mode 100644 index 000000000..4ea0aed89 --- /dev/null +++ b/test/ios/Bundle-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.mapbox.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/test/ios/KIF b/test/ios/KIF new file mode 160000 index 000000000..ab5a46ff7 --- /dev/null +++ b/test/ios/KIF @@ -0,0 +1 @@ +Subproject commit ab5a46ff7e970de5578df48a1e1f013bd5e1bd4e diff --git a/test/ios/KIFTestActor+MapboxGL.h b/test/ios/KIFTestActor+MapboxGL.h new file mode 100644 index 000000000..199091b29 --- /dev/null +++ b/test/ios/KIFTestActor+MapboxGL.h @@ -0,0 +1,12 @@ +#import + +@class MGLMapView; + +@interface KIFTestActor (MapboxGL) + +@property (nonatomic, readonly) UIWindow *window; +@property (nonatomic, readonly) UIViewController *viewController; +@property (nonatomic, readonly) MGLMapView *mapView; +@property (nonatomic, readonly) UIView *compass; + +@end diff --git a/test/ios/KIFTestActor+MapboxGL.m b/test/ios/KIFTestActor+MapboxGL.m new file mode 100644 index 000000000..b267e0c0b --- /dev/null +++ b/test/ios/KIFTestActor+MapboxGL.m @@ -0,0 +1,24 @@ +#import "KIFTestActor+MapboxGL.h" +#import +#import +#import "MGLMapView.h" + +@implementation KIFTestActor (MapboxGL) + +- (UIWindow *)window { + return [[UIApplication sharedApplication] statusBarWindow]; +} + +- (UIViewController *)viewController { + return (UIViewController *)[[tester.mapView nextResponder] nextResponder]; +} + +- (MGLMapView *)mapView { + return (MGLMapView *)[tester waitForViewWithAccessibilityLabel:@"Map"]; +} + +- (UIView *)compass { + return [tester waitForViewWithAccessibilityLabel:@"Compass"]; +} + +@end diff --git a/test/ios/MGLTAppDelegate.h b/test/ios/MGLTAppDelegate.h new file mode 100644 index 000000000..e5c459beb --- /dev/null +++ b/test/ios/MGLTAppDelegate.h @@ -0,0 +1,7 @@ +#import + +@interface MGLTAppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/test/ios/MGLTAppDelegate.m b/test/ios/MGLTAppDelegate.m new file mode 100644 index 000000000..4bd6b6488 --- /dev/null +++ b/test/ios/MGLTAppDelegate.m @@ -0,0 +1,18 @@ +#import "MGLTAppDelegate.h" +#import "MGLTViewController.h" + +@implementation MGLTAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + UINavigationController *wrapper = [[UINavigationController alloc] initWithRootViewController:[MGLTViewController new]]; + self.window.rootViewController = wrapper; + wrapper.navigationBarHidden = YES; + wrapper.toolbarHidden = YES; + [self.window makeKeyAndVisible]; + + return YES; +} + +@end diff --git a/test/ios/MGLTViewController.h b/test/ios/MGLTViewController.h new file mode 100644 index 000000000..39df59bb5 --- /dev/null +++ b/test/ios/MGLTViewController.h @@ -0,0 +1,5 @@ +#import + +@interface MGLTViewController : UIViewController + +@end diff --git a/test/ios/MGLTViewController.m b/test/ios/MGLTViewController.m new file mode 100644 index 000000000..9caa64c79 --- /dev/null +++ b/test/ios/MGLTViewController.m @@ -0,0 +1,18 @@ +#import "MGLTViewController.h" +#import "MGLMapView.h" + +@implementation MGLTViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + MGLMapView *mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds + accessToken:@"pk.eyJ1IjoianVzdGluIiwiYSI6Ik9RX3RRQzAifQ.dmOg_BAp1ywuDZMM7YsXRg"]; + mapView.viewControllerForLayoutGuides = self; + mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + + [self.view addSubview:mapView]; +} + +@end diff --git a/test/ios/MapViewTests.h b/test/ios/MapViewTests.h new file mode 100644 index 000000000..5057ffd64 --- /dev/null +++ b/test/ios/MapViewTests.h @@ -0,0 +1,5 @@ +#import + +@interface MapViewTests : KIFTestCase + +@end diff --git a/test/ios/MapViewTests.m b/test/ios/MapViewTests.m new file mode 100644 index 000000000..adf3aeba0 --- /dev/null +++ b/test/ios/MapViewTests.m @@ -0,0 +1,353 @@ +#import "MapViewTests.h" +#import +#import "KIFTestActor+MapboxGL.h" +#import "MGLMapView.h" + +@interface MapViewTests () + +@end + +@implementation MapViewTests + +- (void)beforeEach { + [system simulateDeviceRotationToOrientation:UIDeviceOrientationPortrait]; + tester.mapView.viewControllerForLayoutGuides = tester.viewController; + tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(38.913175, -77.032458); + tester.mapView.zoomLevel = 14; + tester.mapView.direction = 0; + tester.mapView.zoomEnabled = YES; + tester.mapView.scrollEnabled = YES; + tester.mapView.rotateEnabled = YES; + tester.viewController.navigationController.navigationBarHidden = YES; + tester.viewController.navigationController.toolbarHidden = YES; + tester.mapView.delegate = self; +} + +- (void)testDirectionSet { + tester.mapView.direction = 270; + __KIFAssertEqual(tester.mapView.direction, + 270, + @"setting direction should take effect"); + + [tester waitForTimeInterval:1]; + + __KIFAssertEqual(tester.compass.alpha, + 1, + @"compass should be visible when map is rotated"); + __KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform], + [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(M_PI * 1.5)], + @"compass rotation should indicate map rotation"); +} + +- (void)testCompassTap { + tester.mapView.direction = 180; + __KIFAssertEqual(tester.mapView.direction, + 180, + @"setting direction should take effect"); + + [tester waitForTimeInterval:1]; + + [tester.compass tap]; + + [tester waitForTimeInterval:1]; + + __KIFAssertEqual(tester.mapView.direction, + 0, + @"tapping compass should reset map direction"); + __KIFAssertEqual(tester.compass.alpha, + 0, + @"compass should not be visible when map is unrotated"); + __KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform], + [NSValue valueWithCGAffineTransform:CGAffineTransformIdentity], + @"compass rotation should indicate map rotation"); +} + +- (void)testDirectionReset { + tester.mapView.direction = 100; + __KIFAssertEqual(tester.mapView.direction, + 100, + @"setting direction should take effect"); + + [tester.mapView resetNorth]; + + [tester waitForTimeInterval:1]; + + __KIFAssertEqual(tester.mapView.direction, + 0, + @"resetting north should reset map direction"); + __KIFAssertEqual(tester.compass.alpha, + 0, + @"compass should not be visible when map is unrotated"); + __KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform], + [NSValue valueWithCGAffineTransform:CGAffineTransformIdentity], + @"compass rotation should indicate map rotation"); +} + +- (void)testZoom { + double zoom = tester.mapView.zoomLevel; + + [tester.mapView zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2, + tester.mapView.bounds.size.height / 2) + distance:50 + steps:10]; + + XCTAssertTrue(tester.mapView.zoomLevel > zoom, + @"zoom gesture should increase zoom level"); + + zoom = tester.mapView.zoomLevel; + [tester.mapView pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2, + tester.mapView.bounds.size.height / 2) + distance:50 + steps:10]; + + XCTAssertTrue(tester.mapView.zoomLevel < zoom, + @"pinch gesture should decrease zoom level"); +} + +- (void)testZoomDisabled { + tester.mapView.zoomEnabled = NO; + double zoom = tester.mapView.zoomLevel; + + [tester.mapView zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2, + tester.mapView.bounds.size.height / 2) + distance:50 + steps:10]; + + __KIFAssertEqual(tester.mapView.zoomLevel, + zoom, + @"disabling zoom gesture should disallow zooming"); + + [tester.mapView pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2, + tester.mapView.bounds.size.height / 2) + distance:50 + steps:10]; + + __KIFAssertEqual(tester.mapView.zoomLevel, + zoom, + @"disabling zoom gesture should disallow pinching"); +} + +- (void)testPan { + CLLocationCoordinate2D centerCoordinate = tester.mapView.centerCoordinate; + + [tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10]; + + XCTAssertTrue(tester.mapView.centerCoordinate.latitude > centerCoordinate.latitude, + @"panning map down should increase center latitude"); + XCTAssertTrue(tester.mapView.centerCoordinate.longitude < centerCoordinate.longitude, + @"panning map right should decrease center longitude"); +} + +- (void)testPanDisabled { + tester.mapView.scrollEnabled = NO; + CLLocationCoordinate2D centerCoordinate = tester.mapView.centerCoordinate; + + [tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10]; + + __KIFAssertEqual(centerCoordinate.latitude, + tester.mapView.centerCoordinate.latitude, + @"disabling pan gesture should disallow vertical panning"); + __KIFAssertEqual(centerCoordinate.longitude, + tester.mapView.centerCoordinate.longitude, + @"disabling pan gesture should disallow horizontal panning"); +} + +- (void)testCenterSet { + CLLocationCoordinate2D newCenterCoordinate = CLLocationCoordinate2DMake(45.23237263, -122.23287129); + XCTAssertNotEqual(tester.mapView.centerCoordinate.latitude, + newCenterCoordinate.latitude, + @"initial setup should have differing center latitude"); + XCTAssertNotEqual(tester.mapView.centerCoordinate.longitude, + newCenterCoordinate.longitude, + @"initial setup should have differing center longitude"); + + [tester.mapView setCenterCoordinate:newCenterCoordinate]; + + XCTAssertTrue(tester.mapView.centerCoordinate.latitude == newCenterCoordinate.latitude, + @"setting center should change latitude"); + XCTAssertTrue(tester.mapView.centerCoordinate.longitude == newCenterCoordinate.longitude, + @"setting center should change longitude"); +} + +- (void)testZoomSet { + double newZoom = 11.65; + XCTAssertNotEqual(tester.mapView.zoomLevel, + newZoom, + @"initial setup should have differing zoom"); + + tester.mapView.zoomLevel = newZoom; + + __KIFAssertEqual(tester.mapView.zoomLevel, + newZoom, + @"setting zoom should take effect"); +} + +- (void)testTopLayoutGuide { + CGRect statusBarFrame, navigationBarFrame, compassFrame; + UINavigationBar *navigationBar = tester.viewController.navigationController.navigationBar; + + compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil]; + statusBarFrame = [tester.window convertRect:[[UIApplication sharedApplication] statusBarFrame] toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(compassFrame, statusBarFrame), + @"compass should not be under status bar"); + + tester.viewController.navigationController.navigationBarHidden = NO; + compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil]; + navigationBarFrame = [tester.window convertRect:navigationBar.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(compassFrame, navigationBarFrame), + @"compass should not be under navigation bar"); + + [system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeLeft]; + + compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil]; + navigationBarFrame = [tester.window convertRect:navigationBar.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(compassFrame, navigationBarFrame), + @"rotated device should not have compass under navigation bar"); + + tester.viewController.navigationController.navigationBarHidden = YES; + compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil]; + statusBarFrame = [tester.window convertRect:[[UIApplication sharedApplication] statusBarFrame] toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(compassFrame, statusBarFrame), + @"rotated device should not have compass under status bar"); +} + +- (void)testBottomLayoutGuide { + CGRect logoBugFrame, toolbarFrame, attributionButtonFrame; + UIView *logoBug = (UIView *)[tester waitForViewWithAccessibilityLabel:@"Mapbox logo"]; + UIToolbar *toolbar = tester.viewController.navigationController.toolbar; + UIView *attributionButton = (UIView *)[tester waitForViewWithAccessibilityLabel:@"Attribution info"]; + + tester.viewController.navigationController.toolbarHidden = NO; + + logoBugFrame = [logoBug.superview convertRect:logoBug.frame toView:nil]; + toolbarFrame = [tester.window convertRect:toolbar.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(logoBugFrame, toolbarFrame), + @"logo bug should not be under toolbar"); + + attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(attributionButtonFrame, toolbarFrame), + @"attribution button should not be under toolbar"); + + [system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeRight]; + + logoBugFrame = [logoBug.superview convertRect:logoBug.frame toView:nil]; + toolbarFrame = [tester.window convertRect:toolbar.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(logoBugFrame, toolbarFrame), + @"rotated device should not have logo buy under toolbar"); + + attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil]; + XCTAssertFalse(CGRectIntersectsRect(attributionButtonFrame, toolbarFrame), + @"rotated device should not have attribution button under toolbar"); +} + +- (void)testDelegateRegionWillChange { + __block NSUInteger unanimatedCount = 0; + __block NSUInteger animatedCount = 0; + [[NSNotificationCenter defaultCenter] addObserverForName:@"regionWillChangeAnimated" + object:tester.mapView + queue:[NSOperationQueue mainQueue] + usingBlock:^(NSNotification *note) { + if ([note.userInfo[@"animated"] boolValue]) { + animatedCount++; + } else { + unanimatedCount++; + } + }]; + + NSNotification *notification = [system waitForNotificationName:@"regionWillChangeAnimated" + object:tester.mapView + whileExecutingBlock:^{ + tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(0, 0); + }]; + [tester waitForTimeInterval:1]; + XCTAssertNotNil(notification, + @"regionWillChange delegate should produce a notification"); + __KIFAssertEqual([notification.userInfo[@"animated"] boolValue], + NO, + @"regionWillChange delegate should not indicate animated change"); + __KIFAssertEqual(unanimatedCount, + 1, + @"regionWillChange delegate should indicate one unanimated change"); + + notification = [system waitForNotificationName:@"regionWillChangeAnimated" + object:tester.mapView + whileExecutingBlock:^{ + [tester.mapView setCenterCoordinate:CLLocationCoordinate2DMake(45, 100) animated:YES]; + }]; + [tester waitForTimeInterval:1]; + XCTAssertNotNil(notification, + @"regionWillChange delegate should produce a notification"); + __KIFAssertEqual([notification.userInfo[@"animated"] boolValue], + YES, + @"regionWillChange delegate should indicate an animated change"); + __KIFAssertEqual(animatedCount, + 1, + @"regionWillChange delegate should indicate one animated change"); + + [[NSNotificationCenter defaultCenter] removeObserver:self + name:@"regionWillChangeAnimated" + object:tester.mapView]; +} + +- (void)mapView:(MGLMapView *)mapView regionWillChangeAnimated:(BOOL)animated { + [[NSNotificationCenter defaultCenter] postNotificationName:@"regionWillChangeAnimated" + object:mapView + userInfo:@{ @"animated" : @(animated) }]; +} + +- (void)testDelegateRegionDidChange { + __block NSUInteger unanimatedCount = 0; + __block NSUInteger animatedCount = 0; + [[NSNotificationCenter defaultCenter] addObserverForName:@"regionDidChangeAnimated" + object:tester.mapView + queue:[NSOperationQueue mainQueue] + usingBlock:^(NSNotification *note) { + if ([note.userInfo[@"animated"] boolValue]) { + animatedCount++; + } else { + unanimatedCount++; + } + }]; + + NSNotification *notification = [system waitForNotificationName:@"regionDidChangeAnimated" + object:tester.mapView + whileExecutingBlock:^{ + tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(0, 0); + }]; + [tester waitForTimeInterval:1]; + XCTAssertNotNil(notification, + @"regionDidChange delegate should produce a notification"); + __KIFAssertEqual([notification.userInfo[@"animated"] boolValue], + NO, + @"regionDidChange delegate should not indicate animated change"); + __KIFAssertEqual(unanimatedCount, + 1, + @"regionDidChange delegate should indicate one unanimated change"); + + notification = [system waitForNotificationName:@"regionDidChangeAnimated" + object:tester.mapView + whileExecutingBlock:^{ + [tester.mapView setCenterCoordinate:CLLocationCoordinate2DMake(45, 100) animated:YES]; + }]; + [tester waitForTimeInterval:1]; + XCTAssertNotNil(notification, + @"regionDidChange delegate should produce a notification"); + __KIFAssertEqual([notification.userInfo[@"animated"] boolValue], + YES, + @"regionDidChange delegate should indicate animated change"); + __KIFAssertEqual(animatedCount, + 1, + @"regionDidChange delegate should indicate one animated change"); + + [[NSNotificationCenter defaultCenter] removeObserver:self + name:@"regionDidChangeAnimated" + object:tester.mapView]; +} + +- (void)mapView:(MGLMapView *)mapView regionDidChangeAnimated:(BOOL)animated { + [[NSNotificationCenter defaultCenter] postNotificationName:@"regionDidChangeAnimated" + object:mapView + userInfo:@{ @"animated" : @(animated) }]; +} + +@end diff --git a/test/ios/README.md b/test/ios/README.md new file mode 100644 index 000000000..21975e177 --- /dev/null +++ b/test/ios/README.md @@ -0,0 +1,9 @@ +This is a harness app for integration testing of Mapbox GL Cocoa. It uses the static library build of Mapbox GL Cocoa in order to be entirely self-contained and not need the `mapbox-gl-native` upstream C++ project. + +To run tests, either open the enclosed `ios-tests.xcodeproj` and run the tests or use `xcodebuild test` at the command line from this directory. For example: + +```bash +xcodebuild -scheme 'Mapbox GL Tests' \ + -destination 'platform=iOS Simulator,name=iPad,OS=7.1' \ + test +``` diff --git a/test/ios/ios-tests.xcodeproj/project.pbxproj b/test/ios/ios-tests.xcodeproj/project.pbxproj new file mode 100644 index 000000000..86f125132 --- /dev/null +++ b/test/ios/ios-tests.xcodeproj/project.pbxproj @@ -0,0 +1,659 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + DD043327196DB9BC00E6F39D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043326196DB9BC00E6F39D /* Foundation.framework */; }; + DD043329196DB9BC00E6F39D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043328196DB9BC00E6F39D /* CoreGraphics.framework */; }; + DD04332B196DB9BC00E6F39D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD04332A196DB9BC00E6F39D /* UIKit.framework */; }; + DD043363196DBBD500E6F39D /* MGLTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */; }; + DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD043360196DBBD500E6F39D /* MGLTViewController.m */; }; + DD043366196DBBE000E6F39D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DD043365196DBBE000E6F39D /* main.m */; }; + DD1A9EA8199BEA0D007BC651 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD1A9EA7199BEA0D007BC651 /* libc++.dylib */; }; + DD61240819CCF06E006845B1 /* libMapboxGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD61240619CCF06E006845B1 /* libMapboxGL.a */; }; + DD61240919CCF06E006845B1 /* MapboxGL.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DD61240719CCF06E006845B1 /* MapboxGL.bundle */; }; + DD8A790D196DC0A900FAD883 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A790C196DC0A900FAD883 /* libz.dylib */; }; + DD8A790F196DC0AD00FAD883 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A790E196DC0AD00FAD883 /* GLKit.framework */; }; + DD8A7911196DC0BB00FAD883 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */; }; + DD96917919F1C08400729E7D /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD96917819F1C08400729E7D /* libsqlite3.dylib */; }; + DD96918119F1C09200729E7D /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD96918019F1C09200729E7D /* SystemConfiguration.framework */; }; + DDBD0154196DC3D70033959E /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDBD0153196DC3D70033959E /* XCTest.framework */; }; + DDBD0155196DC3D70033959E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043326196DB9BC00E6F39D /* Foundation.framework */; }; + DDBD0156196DC3D70033959E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD04332A196DB9BC00E6F39D /* UIKit.framework */; }; + DDBD016C196DC4740033959E /* MapViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD0168196DC4740033959E /* MapViewTests.m */; }; + DDBD016D196DC4740033959E /* KIFTestActor+MapboxGL.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */; }; + DDBD016E196DC4A10033959E /* libKIF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDBD0144196DC3AE0033959E /* libKIF.a */; }; + DDBD016F196DC4A90033959E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043328196DB9BC00E6F39D /* CoreGraphics.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + DDBD0143196DC3AE0033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EABD46AA1857A0C700A5F081; + remoteInfo = KIF; + }; + DDBD0145196DC3AE0033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EB72047C1680DDAD00278DA2; + remoteInfo = "KIF-OCUnit"; + }; + DDBD0147196DC3AE0033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EB60ECC1177F8C83005A041A; + remoteInfo = "Test Host"; + }; + DDBD0149196DC3AE0033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EABD46CD1857A0F300A5F081; + remoteInfo = "KIF Tests"; + }; + DDBD014B196DC3AE0033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EB60ECEB177F8DB3005A041A; + remoteInfo = "KIF Tests-OCUnit"; + }; + DDBD0160196DC3D70033959E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DD04331B196DB9BC00E6F39D /* Project object */; + proxyType = 1; + remoteGlobalIDString = DD043322196DB9BC00E6F39D; + remoteInfo = "Mapbox GL Tests"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Mapbox GL Tests.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + DD043326196DB9BC00E6F39D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + DD043328196DB9BC00E6F39D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + DD04332A196DB9BC00E6F39D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLTAppDelegate.m; sourceTree = SOURCE_ROOT; }; + DD043360196DBBD500E6F39D /* MGLTViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLTViewController.m; sourceTree = SOURCE_ROOT; }; + DD043361196DBBD500E6F39D /* MGLTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLTViewController.h; sourceTree = SOURCE_ROOT; }; + DD043362196DBBD500E6F39D /* MGLTAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLTAppDelegate.h; sourceTree = SOURCE_ROOT; }; + DD043365196DBBE000E6F39D /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; }; + DD043367196DBCC200E6F39D /* App-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "App-Info.plist"; sourceTree = SOURCE_ROOT; }; + DD1A9EA7199BEA0D007BC651 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; + DD61240019CCF06E006845B1 /* MGLMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLMapView.h; path = ../dist/static/Headers/MGLMapView.h; sourceTree = SOURCE_ROOT; }; + DD61240119CCF06E006845B1 /* MGLStyleFunctionValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLStyleFunctionValue.h; path = ../dist/static/Headers/MGLStyleFunctionValue.h; sourceTree = SOURCE_ROOT; }; + DD61240219CCF06E006845B1 /* MGLTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLTypes.h; path = ../dist/static/Headers/MGLTypes.h; sourceTree = SOURCE_ROOT; }; + DD61240319CCF06E006845B1 /* NSArray+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSArray+MGLAdditions.h"; path = "../dist/static/Headers/NSArray+MGLAdditions.h"; sourceTree = SOURCE_ROOT; }; + DD61240419CCF06E006845B1 /* NSDictionary+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MGLAdditions.h"; path = "../dist/static/Headers/NSDictionary+MGLAdditions.h"; sourceTree = SOURCE_ROOT; }; + DD61240519CCF06E006845B1 /* UIColor+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+MGLAdditions.h"; path = "../dist/static/Headers/UIColor+MGLAdditions.h"; sourceTree = SOURCE_ROOT; }; + DD61240619CCF06E006845B1 /* libMapboxGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMapboxGL.a; path = ../dist/static/libMapboxGL.a; sourceTree = SOURCE_ROOT; }; + DD61240719CCF06E006845B1 /* MapboxGL.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MapboxGL.bundle; path = ../dist/static/MapboxGL.bundle; sourceTree = SOURCE_ROOT; }; + DD8A790C196DC0A900FAD883 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + DD8A790E196DC0AD00FAD883 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; + DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + DD96917819F1C08400729E7D /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; + DD96918019F1C09200729E7D /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + DDBD013A196DC3AE0033959E /* KIF.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = KIF.xcodeproj; path = KIF/KIF.xcodeproj; sourceTree = SOURCE_ROOT; }; + DDBD0152196DC3D70033959E /* Test Bundle.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Bundle.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + DDBD0153196DC3D70033959E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + DDBD0165196DC4560033959E /* Bundle-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Bundle-Info.plist"; sourceTree = SOURCE_ROOT; }; + DDBD0168196DC4740033959E /* MapViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewTests.m; sourceTree = SOURCE_ROOT; }; + DDBD0169196DC4740033959E /* MapViewTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewTests.h; sourceTree = SOURCE_ROOT; }; + DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestActor+MapboxGL.m"; sourceTree = SOURCE_ROOT; }; + DDBD016B196DC4740033959E /* KIFTestActor+MapboxGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestActor+MapboxGL.h"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DD043320196DB9BC00E6F39D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DD043329196DB9BC00E6F39D /* CoreGraphics.framework in Frameworks */, + DD8A7911196DC0BB00FAD883 /* CoreLocation.framework in Frameworks */, + DD043327196DB9BC00E6F39D /* Foundation.framework in Frameworks */, + DD8A790F196DC0AD00FAD883 /* GLKit.framework in Frameworks */, + DD96918119F1C09200729E7D /* SystemConfiguration.framework in Frameworks */, + DD04332B196DB9BC00E6F39D /* UIKit.framework in Frameworks */, + DD61240819CCF06E006845B1 /* libMapboxGL.a in Frameworks */, + DD1A9EA8199BEA0D007BC651 /* libc++.dylib in Frameworks */, + DD96917919F1C08400729E7D /* libsqlite3.dylib in Frameworks */, + DD8A790D196DC0A900FAD883 /* libz.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DDBD014F196DC3D70033959E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDBD016F196DC4A90033959E /* CoreGraphics.framework in Frameworks */, + DDBD0155196DC3D70033959E /* Foundation.framework in Frameworks */, + DDBD0156196DC3D70033959E /* UIKit.framework in Frameworks */, + DDBD0154196DC3D70033959E /* XCTest.framework in Frameworks */, + DDBD016E196DC4A10033959E /* libKIF.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DD04331A196DB9BC00E6F39D = { + isa = PBXGroup; + children = ( + DD04332C196DB9BC00E6F39D /* App */, + DDBD0139196DC38D0033959E /* Tests */, + DD043325196DB9BC00E6F39D /* Frameworks */, + DD043324196DB9BC00E6F39D /* Products */, + ); + sourceTree = ""; + }; + DD043324196DB9BC00E6F39D /* Products */ = { + isa = PBXGroup; + children = ( + DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */, + DDBD0152196DC3D70033959E /* Test Bundle.xctest */, + ); + name = Products; + sourceTree = ""; + }; + DD043325196DB9BC00E6F39D /* Frameworks */ = { + isa = PBXGroup; + children = ( + DD96918019F1C09200729E7D /* SystemConfiguration.framework */, + DD96917819F1C08400729E7D /* libsqlite3.dylib */, + DD043328196DB9BC00E6F39D /* CoreGraphics.framework */, + DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */, + DD043326196DB9BC00E6F39D /* Foundation.framework */, + DD8A790E196DC0AD00FAD883 /* GLKit.framework */, + DD04332A196DB9BC00E6F39D /* UIKit.framework */, + DDBD0153196DC3D70033959E /* XCTest.framework */, + DD1A9EA7199BEA0D007BC651 /* libc++.dylib */, + DD8A790C196DC0A900FAD883 /* libz.dylib */, + ); + name = Frameworks; + sourceTree = ""; + }; + DD04332C196DB9BC00E6F39D /* App */ = { + isa = PBXGroup; + children = ( + DD043362196DBBD500E6F39D /* MGLTAppDelegate.h */, + DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */, + DD043361196DBBD500E6F39D /* MGLTViewController.h */, + DD043360196DBBD500E6F39D /* MGLTViewController.m */, + DD8A77AD196DBFDA00FAD883 /* GL Library */, + DD04332D196DB9BC00E6F39D /* Supporting Files */, + ); + name = App; + path = "Mapbox GL Tests"; + sourceTree = ""; + }; + DD04332D196DB9BC00E6F39D /* Supporting Files */ = { + isa = PBXGroup; + children = ( + DD043367196DBCC200E6F39D /* App-Info.plist */, + DD043365196DBBE000E6F39D /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + DD6123FF19CCF06E006845B1 /* Headers */ = { + isa = PBXGroup; + children = ( + DD61240019CCF06E006845B1 /* MGLMapView.h */, + DD61240119CCF06E006845B1 /* MGLStyleFunctionValue.h */, + DD61240219CCF06E006845B1 /* MGLTypes.h */, + DD61240319CCF06E006845B1 /* NSArray+MGLAdditions.h */, + DD61240419CCF06E006845B1 /* NSDictionary+MGLAdditions.h */, + DD61240519CCF06E006845B1 /* UIColor+MGLAdditions.h */, + ); + name = Headers; + path = ../../dist/static/Headers; + sourceTree = SOURCE_ROOT; + }; + DD8A77AD196DBFDA00FAD883 /* GL Library */ = { + isa = PBXGroup; + children = ( + DD6123FF19CCF06E006845B1 /* Headers */, + DD61240619CCF06E006845B1 /* libMapboxGL.a */, + DD61240719CCF06E006845B1 /* MapboxGL.bundle */, + ); + name = "GL Library"; + sourceTree = ""; + }; + DDBD0139196DC38D0033959E /* Tests */ = { + isa = PBXGroup; + children = ( + DDBD016B196DC4740033959E /* KIFTestActor+MapboxGL.h */, + DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */, + DDBD0169196DC4740033959E /* MapViewTests.h */, + DDBD0168196DC4740033959E /* MapViewTests.m */, + DDBD0167196DC46B0033959E /* Supporting Files */, + DDBD014D196DC3B00033959E /* KIF */, + ); + name = Tests; + path = "Mapbox GL Tests"; + sourceTree = ""; + }; + DDBD013B196DC3AE0033959E /* Products */ = { + isa = PBXGroup; + children = ( + DDBD0144196DC3AE0033959E /* libKIF.a */, + DDBD0146196DC3AE0033959E /* libKIF-OCUnit.a */, + DDBD0148196DC3AE0033959E /* Test Host.app */, + DDBD014A196DC3AE0033959E /* KIF Tests - XCTest.xctest */, + DDBD014C196DC3AE0033959E /* KIF Tests-OCUnit.octest */, + ); + name = Products; + sourceTree = ""; + }; + DDBD014D196DC3B00033959E /* KIF */ = { + isa = PBXGroup; + children = ( + DDBD013A196DC3AE0033959E /* KIF.xcodeproj */, + ); + name = KIF; + sourceTree = ""; + }; + DDBD0167196DC46B0033959E /* Supporting Files */ = { + isa = PBXGroup; + children = ( + DDBD0165196DC4560033959E /* Bundle-Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DD043322196DB9BC00E6F39D /* Mapbox GL Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = DD043358196DB9BC00E6F39D /* Build configuration list for PBXNativeTarget "Mapbox GL Tests" */; + buildPhases = ( + DD04331F196DB9BC00E6F39D /* Sources */, + DD043320196DB9BC00E6F39D /* Frameworks */, + DD043321196DB9BC00E6F39D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Mapbox GL Tests"; + productName = "Mapbox GL Tests"; + productReference = DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */; + productType = "com.apple.product-type.application"; + }; + DDBD0151196DC3D70033959E /* Test Bundle */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDBD0162196DC3D70033959E /* Build configuration list for PBXNativeTarget "Test Bundle" */; + buildPhases = ( + DDBD014E196DC3D70033959E /* Sources */, + DDBD014F196DC3D70033959E /* Frameworks */, + DDBD0150196DC3D70033959E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + DDBD0161196DC3D70033959E /* PBXTargetDependency */, + ); + name = "Test Bundle"; + productName = "Test Bundle"; + productReference = DDBD0152196DC3D70033959E /* Test Bundle.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DD04331B196DB9BC00E6F39D /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = MGLT; + LastUpgradeCheck = 0510; + ORGANIZATIONNAME = Mapbox; + TargetAttributes = { + DDBD0151196DC3D70033959E = { + TestTargetID = DD043322196DB9BC00E6F39D; + }; + }; + }; + buildConfigurationList = DD04331E196DB9BC00E6F39D /* Build configuration list for PBXProject "ios-tests" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DD04331A196DB9BC00E6F39D; + productRefGroup = DD043324196DB9BC00E6F39D /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = DDBD013B196DC3AE0033959E /* Products */; + ProjectRef = DDBD013A196DC3AE0033959E /* KIF.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + DD043322196DB9BC00E6F39D /* Mapbox GL Tests */, + DDBD0151196DC3D70033959E /* Test Bundle */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + DDBD0144196DC3AE0033959E /* libKIF.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libKIF.a; + remoteRef = DDBD0143196DC3AE0033959E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + DDBD0146196DC3AE0033959E /* libKIF-OCUnit.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libKIF-OCUnit.a"; + remoteRef = DDBD0145196DC3AE0033959E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + DDBD0148196DC3AE0033959E /* Test Host.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = "Test Host.app"; + remoteRef = DDBD0147196DC3AE0033959E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + DDBD014A196DC3AE0033959E /* KIF Tests - XCTest.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = "KIF Tests - XCTest.xctest"; + remoteRef = DDBD0149196DC3AE0033959E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + DDBD014C196DC3AE0033959E /* KIF Tests-OCUnit.octest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = "KIF Tests-OCUnit.octest"; + remoteRef = DDBD014B196DC3AE0033959E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + DD043321196DB9BC00E6F39D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DD61240919CCF06E006845B1 /* MapboxGL.bundle in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DDBD0150196DC3D70033959E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DD04331F196DB9BC00E6F39D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */, + DD043366196DBBE000E6F39D /* main.m in Sources */, + DD043363196DBBD500E6F39D /* MGLTAppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DDBD014E196DC3D70033959E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDBD016D196DC4740033959E /* KIFTestActor+MapboxGL.m in Sources */, + DDBD016C196DC4740033959E /* MapViewTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + DDBD0161196DC3D70033959E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DD043322196DB9BC00E6F39D /* Mapbox GL Tests */; + targetProxy = DDBD0160196DC3D70033959E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + DD043356196DB9BC00E6F39D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + DD043357196DB9BC00E6F39D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DD043359196DB9BC00E6F39D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + armv7, + armv7s, + arm64, + i386, + x86_64, + ); + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ../dist/static/Headers, + ); + INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + ../dist/static, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + DD04335A196DB9BC00E6F39D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + armv7, + armv7s, + arm64, + i386, + x86_64, + ); + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ../dist/static/Headers, + ); + INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + ../dist/static, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + DDBD0163196DC3D70033959E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Mapbox GL Tests.app/Mapbox GL Tests"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "KIF_XCTEST=1", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ../dist/static/Headers, + ); + INFOPLIST_FILE = "Bundle-Info.plist"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + XCTest, + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + DDBD0164196DC3D70033959E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Mapbox GL Tests.app/Mapbox GL Tests"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PREPROCESSOR_DEFINITIONS = "KIF_XCTEST=1"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ../dist/static/Headers, + ); + INFOPLIST_FILE = "Bundle-Info.plist"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + XCTest, + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DD04331E196DB9BC00E6F39D /* Build configuration list for PBXProject "ios-tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DD043356196DB9BC00E6F39D /* Debug */, + DD043357196DB9BC00E6F39D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DD043358196DB9BC00E6F39D /* Build configuration list for PBXNativeTarget "Mapbox GL Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DD043359196DB9BC00E6F39D /* Debug */, + DD04335A196DB9BC00E6F39D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDBD0162196DC3D70033959E /* Build configuration list for PBXNativeTarget "Test Bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDBD0163196DC3D70033959E /* Debug */, + DDBD0164196DC3D70033959E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = DD04331B196DB9BC00E6F39D /* Project object */; +} diff --git a/test/ios/ios-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/test/ios/ios-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..4cad7961d --- /dev/null +++ b/test/ios/ios-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/Mapbox GL Tests.xccheckout b/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/Mapbox GL Tests.xccheckout new file mode 100644 index 000000000..68c68a223 --- /dev/null +++ b/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/Mapbox GL Tests.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + A9E9DC14-62C7-4C7A-B782-6B24B7657046 + IDESourceControlProjectName + Mapbox GL Tests + IDESourceControlProjectOriginsDictionary + + 1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF + ssh://github.com/mapbox/mapbox-gl-cocoa.git + + IDESourceControlProjectPath + test/Mapbox GL Tests/Mapbox GL Tests.xcodeproj/project.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + 1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF + ../../../.. + + IDESourceControlProjectURL + ssh://github.com/mapbox/mapbox-gl-cocoa.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + 1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF + IDESourceControlWCCName + mapbox-gl-cocoa + + + + diff --git a/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/ios-tests.xccheckout b/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/ios-tests.xccheckout new file mode 100644 index 000000000..8f3ca408b --- /dev/null +++ b/test/ios/ios-tests.xcodeproj/project.xcworkspace/xcshareddata/ios-tests.xccheckout @@ -0,0 +1,65 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 31F71B93-A6C7-4EE6-B62A-5324738E25FE + IDESourceControlProjectName + ios-tests + IDESourceControlProjectOriginsDictionary + + 10265E242415D473A6A613214DB7AC3EE3D43F93 + https://github.com/mapbox/KIF.git + 7E68CB584078A487C0535CC191D3B7551EEE2095 + github.com:mapbox/mapbox-gl-native.git + FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF + github.com:mapbox/mapbox-gl-cocoa.git + + IDESourceControlProjectPath + test/ios-tests.xcodeproj + IDESourceControlProjectRelativeInstallPathDictionary + + 10265E242415D473A6A613214DB7AC3EE3D43F93 + ../../..test/KIF/ + 7E68CB584078A487C0535CC191D3B7551EEE2095 + ../../../../.. + FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF + ../../.. + + IDESourceControlProjectURL + github.com:mapbox/mapbox-gl-cocoa.git + IDESourceControlProjectVersion + 111 + IDESourceControlProjectWCCIdentifier + FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 7E68CB584078A487C0535CC191D3B7551EEE2095 + IDESourceControlWCCName + .. + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 10265E242415D473A6A613214DB7AC3EE3D43F93 + IDESourceControlWCCName + KIF + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF + IDESourceControlWCCName + mapbox-gl-cocoa + + + + diff --git a/test/ios/ios-tests.xcodeproj/xcshareddata/xcschemes/Mapbox GL Tests.xcscheme b/test/ios/ios-tests.xcodeproj/xcshareddata/xcschemes/Mapbox GL Tests.xcscheme new file mode 100644 index 000000000..f3c2bd7ff --- /dev/null +++ b/test/ios/ios-tests.xcodeproj/xcshareddata/xcschemes/Mapbox GL Tests.xcscheme @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/ios/main.m b/test/ios/main.m new file mode 100644 index 000000000..d79750dcd --- /dev/null +++ b/test/ios/main.m @@ -0,0 +1,9 @@ +#import +#import "MGLTAppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([MGLTAppDelegate class])); + } +} From dbc4a460ef309b4d97fe0c0aac7f7bdfd0d7d0da Mon Sep 17 00:00:00 2001 From: Leith Bade Date: Mon, 9 Feb 2015 17:32:43 -0800 Subject: [PATCH 22/31] Disable testmunk for now --- android/scripts/common.sh | 4 --- android/scripts/upload-testmunk.sh | 25 ------------- android/test/.gitignore | 1 - android/test/features/load-app.feature | 5 --- .../step_definitions/calabash_steps.rb | 1 - .../features/step_definitions/my_steps.rb | 6 ---- .../support/app_installation_hooks.rb | 36 ------------------- .../features/support/app_life_cycle_hooks.rb | 13 ------- android/test/features/support/env.rb | 1 - android/test/features/support/hooks.rb | 0 10 files changed, 92 deletions(-) delete mode 100755 android/scripts/upload-testmunk.sh delete mode 100644 android/test/.gitignore delete mode 100644 android/test/features/load-app.feature delete mode 100755 android/test/features/step_definitions/calabash_steps.rb delete mode 100644 android/test/features/step_definitions/my_steps.rb delete mode 100755 android/test/features/support/app_installation_hooks.rb delete mode 100755 android/test/features/support/app_life_cycle_hooks.rb delete mode 100755 android/test/features/support/env.rb delete mode 100755 android/test/features/support/hooks.rb diff --git a/android/scripts/common.sh b/android/scripts/common.sh index 5c214fe25..69f41997c 100755 --- a/android/scripts/common.sh +++ b/android/scripts/common.sh @@ -16,7 +16,3 @@ make android BUILDTYPE=$BUILDTYPE JOBS=$JOBS aws s3 cp ./android/java/app/build/outputs/apk/app-debug.apk s3://mapbox-gl-testing/android/${NAME}/app-debug.apk aws s3 cp ./android/java/app/build/outputs/apk/app-release-unsigned.apk s3://mapbox-gl-testing/android/${NAME}/app-release-unsigned.apk - -if [[ $TESTMUNK == "yes" ]]; then - ./android/scripts/upload-testmunk.sh ./android/java/app/build/outputs/apk/app-debug.apk -fi diff --git a/android/scripts/upload-testmunk.sh b/android/scripts/upload-testmunk.sh deleted file mode 100755 index 3fd1e70a1..000000000 --- a/android/scripts/upload-testmunk.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -o pipefail - -EMAIL="leith@mapbox.com" -APP_NAME="Mapbox" -APK_PATH=$1 - -echo "submitting testrun to testmunk" - -echo "uploading features..." - -zip -r android/test/features.zip android/test/features/ -RESPONSE=$(curl -f -H "Accept: application/vnd.testmunk.v1+json" -F "file=@android/test/features.zip" "https://${TESTMUNK_KEY}@api.testmunk.com/apps/${APP_NAME}/testcases") - -echo "uploading apk..." - -RESPONSE=$(curl -f -H "Accept: application/vnd.testmunk.v1+json" -F "file=@${APK_PATH}" -F "email=${EMAIL}" -F "autoStart=true" -F "public=true" "https://${TESTMUNK_KEY}@api.testmunk.com/apps/${APP_NAME}/testruns") - -TESTRUN_ID=$(echo "${RESPONSE}" | jq -r '.id') -TESTRUN_NAME=$(echo "${RESPONSE}" | jq -r '.name') - -echo "successully uploaded to Testmunk as '${TESTRUN_NAME}'" -echo "public link to test results: https://www.testmunk.com/testrun/${TESTRUN_ID}" diff --git a/android/test/.gitignore b/android/test/.gitignore deleted file mode 100644 index 68c12ecc0..000000000 --- a/android/test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -features.zip diff --git a/android/test/features/load-app.feature b/android/test/features/load-app.feature deleted file mode 100644 index e6bd1158a..000000000 --- a/android/test/features/load-app.feature +++ /dev/null @@ -1,5 +0,0 @@ -Feature: Testapp V.1.2 - -Scenario: 1) Start app and load map - Given I await for 5 seconds - diff --git a/android/test/features/step_definitions/calabash_steps.rb b/android/test/features/step_definitions/calabash_steps.rb deleted file mode 100755 index 6d80ff0c9..000000000 --- a/android/test/features/step_definitions/calabash_steps.rb +++ /dev/null @@ -1 +0,0 @@ -require 'calabash-android/calabash_steps' diff --git a/android/test/features/step_definitions/my_steps.rb b/android/test/features/step_definitions/my_steps.rb deleted file mode 100644 index 3239322dd..000000000 --- a/android/test/features/step_definitions/my_steps.rb +++ /dev/null @@ -1,6 +0,0 @@ - -Then /^I await for ([\d\.]+) second(?:s)?$/ do |num_seconds| -num_seconds = num_seconds.to_f -sleep num_seconds - -end diff --git a/android/test/features/support/app_installation_hooks.rb b/android/test/features/support/app_installation_hooks.rb deleted file mode 100755 index 2e0a203bc..000000000 --- a/android/test/features/support/app_installation_hooks.rb +++ /dev/null @@ -1,36 +0,0 @@ -require 'calabash-android/management/app_installation' - -AfterConfiguration do |config| - FeatureNameMemory.feature_name = nil -end - -Before do |scenario| - @scenario_is_outline = (scenario.class == Cucumber::Ast::OutlineTable::ExampleRow) - if @scenario_is_outline - scenario = scenario.scenario_outline - end - - feature_name = scenario.feature.title - if FeatureNameMemory.feature_name != feature_name \ - or ENV["RESET_BETWEEN_SCENARIOS"] == "1" - if ENV["RESET_BETWEEN_SCENARIOS"] == "1" - log "New scenario - reinstalling apps" - else - log "First scenario in feature - reinstalling apps" - end - - uninstall_apps - install_app(ENV["TEST_APP_PATH"]) - install_app(ENV["APP_PATH"]) - FeatureNameMemory.feature_name = feature_name - FeatureNameMemory.invocation = 1 - else - FeatureNameMemory.invocation += 1 - end -end - -FeatureNameMemory = Class.new -class << FeatureNameMemory - @feature_name = nil - attr_accessor :feature_name, :invocation -end diff --git a/android/test/features/support/app_life_cycle_hooks.rb b/android/test/features/support/app_life_cycle_hooks.rb deleted file mode 100755 index 63d4678d9..000000000 --- a/android/test/features/support/app_life_cycle_hooks.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'calabash-android/management/adb' -require 'calabash-android/operations' - -Before do |scenario| - start_test_server_in_background -end - -After do |scenario| - if scenario.failed? - screenshot_embed - end - shutdown_test_server -end diff --git a/android/test/features/support/env.rb b/android/test/features/support/env.rb deleted file mode 100755 index bb2505d45..000000000 --- a/android/test/features/support/env.rb +++ /dev/null @@ -1 +0,0 @@ -require 'calabash-android/cucumber' diff --git a/android/test/features/support/hooks.rb b/android/test/features/support/hooks.rb deleted file mode 100755 index e69de29bb..000000000 From 80f1795b377b0d942ffe6d6e7dcf7afacbbbf073 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Tue, 10 Feb 2015 09:59:59 -0800 Subject: [PATCH 23/31] clean up iOS README notes --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 94c8d7c4f..002a530ca 100644 --- a/README.md +++ b/README.md @@ -40,19 +40,18 @@ To create projects, you can run: Note that you can't have more than one project in Xcode open at a time since they the static library project is shared across the OS X, Linux and iOS project. -Target OS: 10.9+ +Target OS X: 10.9+ ## iOS -If you just want to install the library for iOS and try it out as an Objective-C consumer, run `./scripts/package_ios.sh`. It will require the Boost headers to be installed, so use [Homebrew](http://brew.sh/) to install it via `brew install boost`. The script will produce the statically-linked `libMapboxGL.a`, `MapboxGL.bundle` for resources, and a `Headers` folder. +If you merely want to install the library for iOS and try it out as an Objective-C consumer, run `./scripts/package_ios.sh`. It requires the Boost headers to be installed, so use [Homebrew](http://brew.sh/) to install them (`brew install boost`). The packaging script will produce the statically-linked `libMapboxGL.a`, `MapboxGL.bundle` for resources, and a `Headers` folder. -If you want to build from source and/or contribute to development of the project, you can run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app. +If you want to build from source and/or contribute to development of the project, run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app. Target devices: iPhone 4S and above (5, 5c, 5s, 6, 6 Plus) and iPad 2 and above (3, 4, Mini, Air, Mini 2, Air 2). -iOS SDK: 8.1 -Supported iOS: 7.0+ +Target iOS: 7.0 through 8.1 ## Linux From 6d47e9b6849f7c383dc6e71d9e8d6baeaacf8e9f Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Tue, 10 Feb 2015 10:59:32 -0800 Subject: [PATCH 24/31] use correct interpolation for background images --- src/mbgl/renderer/painter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index ebb2f77cc..116ae3ad2 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -389,7 +389,7 @@ void Painter::renderBackground(util::ptr layer_desc) { patternShader->u_pattern_br_a = imagePosA.br; patternShader->u_pattern_tl_b = imagePosB.tl; patternShader->u_pattern_br_b = imagePosB.br; - patternShader->u_mix = zoomFraction; + patternShader->u_mix = properties.image.t; patternShader->u_opacity = properties.opacity; double lon, lat; From ba6e3848dfd171722726ff91142ea5acc6d51c73 Mon Sep 17 00:00:00 2001 From: Leith Bade Date: Tue, 10 Feb 2015 11:21:00 -0800 Subject: [PATCH 25/31] Add target devices to Android README --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 002a530ca..0a19e7ecb 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,9 @@ Target OS X: 10.9+ ## iOS -If you merely want to install the library for iOS and try it out as an Objective-C consumer, run `./scripts/package_ios.sh`. It requires the Boost headers to be installed, so use [Homebrew](http://brew.sh/) to install them (`brew install boost`). The packaging script will produce the statically-linked `libMapboxGL.a`, `MapboxGL.bundle` for resources, and a `Headers` folder. +If you merely want to install the library for iOS and try it out as an Objective-C consumer, run `./scripts/package_ios.sh`. It requires the Boost headers to be installed, so use [Homebrew](http://brew.sh/) to install them (`brew install boost`). The packaging script will produce the statically-linked `libMapboxGL.a`, `MapboxGL.bundle` for resources, and a `Headers` folder. -If you want to build from source and/or contribute to development of the project, run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app. +If you want to build from source and/or contribute to development of the project, run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app. Target devices: iPhone 4S and above (5, 5c, 5s, 6, 6 Plus) and iPad 2 and above (3, 4, Mini, Air, Mini 2, Air 2). @@ -100,7 +100,11 @@ Set an access token as described below, and then run: make run-linux -## Android (on Linux) +## Android + +Target devices: All Android devices on Android 4.0 or newer (API level >= 14) + +### On Linux Install a few build dependencies: @@ -125,7 +129,7 @@ Run: You can then open `android/java` in Android Studio via "Import Non-Android Studio Project". -## Android (on OS X) +### On OS X Install Oracle JDK 7 (requires license agreement) from http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html From 9201133251a7e4bcc61ffecd9f08ce2d81e349a9 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Tue, 10 Feb 2015 11:47:50 -0800 Subject: [PATCH 26/31] fixes #764: cyclical iOS reference --- platform/ios/MGLMapView.mm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index dde15567a..ecac9552c 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -1563,13 +1563,11 @@ class MBGLView : public mbgl::View { if (delay != std::chrono::steady_clock::duration::zero()) { - __weak MGLMapView *weakNativeView = nativeView; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, std::chrono::duration_cast(delay).count()), dispatch_get_main_queue(), ^ { - [weakNativeView performSelector:@selector(notifyMapChange:) - withObject:@(change) - afterDelay:0]; + [nativeView performSelector:@selector(notifyMapChange:) + withObject:@(change) + afterDelay:0]; }); } else @@ -1601,7 +1599,7 @@ class MBGLView : public mbgl::View } private: - MGLMapView *nativeView = nullptr; + __weak MGLMapView *nativeView = nullptr; }; @end From c5f35d0d11f329a5da543715c3181578af2b2b13 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Tue, 10 Feb 2015 12:21:40 -0800 Subject: [PATCH 27/31] fixes #839: add isPackedDepthStencilSupported & isDepth24Supported for iOS --- platform/ios/MGLMapView.mm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index ecac9552c..4328b4600 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -219,6 +219,14 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; gl::GenVertexArrays = glGenVertexArraysOES; gl::IsVertexArray = glIsVertexArrayOES; } + + if (extensions.find("GL_OES_packed_depth_stencil") != std::string::npos) { + gl::isPackedDepthStencilSupported = YES; + } + + if (extensions.find("GL_OES_depth24") != std::string::npos) { + gl::isDepth24Supported = YES; + } } // setup mbgl map From e8a2c393654a1ebfbc7502432fdd0a43398a0cdf Mon Sep 17 00:00:00 2001 From: Mike Morris Date: Tue, 10 Feb 2015 10:53:44 -0800 Subject: [PATCH 28/31] forward declare GLX typedefs to limit conflicts from glx.h --- include/mbgl/platform/default/glx.h | 2 -- include/mbgl/platform/default/headless_view.hpp | 7 +++++-- platform/default/headless_display.cpp | 6 +++++- platform/default/headless_view.cpp | 6 ++++-- 4 files changed, 14 insertions(+), 7 deletions(-) delete mode 100644 include/mbgl/platform/default/glx.h diff --git a/include/mbgl/platform/default/glx.h b/include/mbgl/platform/default/glx.h deleted file mode 100644 index 6b7d9a3df..000000000 --- a/include/mbgl/platform/default/glx.h +++ /dev/null @@ -1,2 +0,0 @@ -#include -#undef None diff --git a/include/mbgl/platform/default/headless_view.hpp b/include/mbgl/platform/default/headless_view.hpp index 2fad430e6..ba318c2b4 100644 --- a/include/mbgl/platform/default/headless_view.hpp +++ b/include/mbgl/platform/default/headless_view.hpp @@ -5,9 +5,12 @@ #define MBGL_USE_CGL 1 #else #define GL_GLEXT_PROTOTYPES -#include #define MBGL_USE_GLX 1 -#undef Status +typedef struct _XDisplay Display; +typedef struct __GLXcontextRec* GLXContext; +typedef struct __GLXFBConfigRec* GLXFBConfig; +typedef long unsigned int XID; +typedef XID GLXPbuffer; #endif #include diff --git a/platform/default/headless_display.cpp b/platform/default/headless_display.cpp index 4756c8d2c..c4535fc1a 100644 --- a/platform/default/headless_display.cpp +++ b/platform/default/headless_display.cpp @@ -3,6 +3,10 @@ #include #include +#if MBGL_USE_GLX +#include +#endif + namespace mbgl { HeadlessDisplay::HeadlessDisplay() { @@ -52,7 +56,7 @@ HeadlessDisplay::HeadlessDisplay() { // We're creating a dummy pbuffer anyway that we're not using. static int pixelFormat[] = { GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT, - 0 + None }; int configs = 0; diff --git a/platform/default/headless_view.cpp b/platform/default/headless_view.cpp index 9df58f802..656a77439 100644 --- a/platform/default/headless_view.cpp +++ b/platform/default/headless_view.cpp @@ -28,6 +28,8 @@ CGLProc CGLGetProcAddress(const char *proc) { CFRelease(name); return symbol; } +#elif MBGL_USE_GLX +#include #endif namespace mbgl { @@ -104,7 +106,7 @@ void HeadlessView::createContext() { if (!glContext) { // Try to create a legacy context - glContext = glXCreateNewContext(xDisplay, fbConfigs[0], GLX_RGBA_TYPE, 0, True); + glContext = glXCreateNewContext(xDisplay, fbConfigs[0], GLX_RGBA_TYPE, None, True); if (glContext) { if (!glXIsDirect(xDisplay, glContext)) { mbgl::Log::Error(mbgl::Event::OpenGL, "Failed to create direct OpenGL Legacy context"); @@ -123,7 +125,7 @@ void HeadlessView::createContext() { int pbufferAttributes[] = { GLX_PBUFFER_WIDTH, 8, GLX_PBUFFER_HEIGHT, 8, - 0 + None }; glxPbuffer = glXCreatePbuffer(xDisplay, fbConfigs[0], pbufferAttributes); #endif From eaef4c08740097d11b11c1c087f73a034ced0097 Mon Sep 17 00:00:00 2001 From: Mike Morris Date: Mon, 9 Feb 2015 13:14:09 -0800 Subject: [PATCH 29/31] chmod +x python builds scripts, run directly instead of with python gyp var --- gyp/shaders.gypi | 2 +- gyp/version.gypi | 2 +- scripts/build-shaders.py | 0 scripts/build-version.py | 0 4 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 scripts/build-shaders.py mode change 100644 => 100755 scripts/build-version.py diff --git a/gyp/shaders.gypi b/gyp/shaders.gypi index edbcb61f2..fbf8e3197 100644 --- a/gyp/shaders.gypi +++ b/gyp/shaders.gypi @@ -16,7 +16,7 @@ '<(SHARED_INTERMEDIATE_DIR)/src/shader/shaders_gl.cpp', '<(SHARED_INTERMEDIATE_DIR)/src/shader/shaders_gles2.cpp', ], - 'action': ['<@(python)', 'scripts/build-shaders.py', '<(SHARED_INTERMEDIATE_DIR)', '<@(_inputs)'], + 'action': ['scripts/build-shaders.py', '<(SHARED_INTERMEDIATE_DIR)', '<@(_inputs)'], } ], 'direct_dependent_settings': { diff --git a/gyp/version.gypi b/gyp/version.gypi index 68f777f0a..1cc2eb351 100644 --- a/gyp/version.gypi +++ b/gyp/version.gypi @@ -13,7 +13,7 @@ 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/include/mbgl/util/version.hpp', ], - 'action': ['<@(python)', '<@(_inputs)', '<(SHARED_INTERMEDIATE_DIR)', ' Date: Mon, 9 Feb 2015 13:17:40 -0800 Subject: [PATCH 30/31] dont set python gyp var --- configure | 1 - 1 file changed, 1 deletion(-) diff --git a/configure b/configure index fec0bfd31..b818faa07 100755 --- a/configure +++ b/configure @@ -92,7 +92,6 @@ CONFIG="# Do not edit. Generated by the configure script. 'libraries': [] }, 'variables': { - 'python': '${PYTHON}', " if [ ! -z ${BOOST_VERSION} ]; then From 49e76dba951aa232e24b988981e7bd8532b254c5 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Tue, 10 Feb 2015 14:15:49 -0800 Subject: [PATCH 31/31] fixes #621: better performance for iPhone 6 Plus through smaller renderbuffer --- platform/ios/MGLMapView.mm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index 4328b4600..7c1f9eb65 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -202,6 +202,9 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; _glView.enableSetNeedsDisplay = NO; _glView.drawableStencilFormat = GLKViewDrawableStencilFormat8; _glView.drawableDepthFormat = GLKViewDrawableDepthFormat16; + if ([UIScreen instancesRespondToSelector:@selector(nativeScale)]) { + _glView.contentScaleFactor = [[UIScreen mainScreen] nativeScale]; + } _glView.delegate = self; [_glView bindDrawable]; [self addSubview:_glView];

R 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%0AQ^tWA(Vnw~r`CnEuI!R)@!7?v*|Vc7 z^Xp6BdNP_22fhrBx`LW`DJnPa<8?aBE=KqK@L+OV$-WrICh90l$~yPLkx8>9^7*el zVf_#8nsI!8P^i*um_g-O@+4hGX>sbL zz7?Y)wz<9p8*LdCAjI+H<%TF-6Mh5STj5&^#zNeprIG+{3jn#aI3IuG`9Z!~S=N43 z0Q8%kfzgK=z%CJ@l`~1^k^^ZrAAcTCHGo36et``D2Y{4WKdU~7^Y;~bb`t?$MH<`{ zmDoT@Ac@CsSAf+z5Md)if9oY?=JZ9D$k3mexP5_qOc7Ir(tlJObf)o9NdhqA`=!^9 zBmjD^dCnyP<|Pt(_T2gC+zi|Yae8LvqO+&gMTzb7yzI*kXOU#dLz02bc@)i?I6n(k ztC9fN1Q^&jXPYVXAG_KyBpt*K4$np$SXCOQSi&}|{}7C1X_~vwi`{g=or(kSTt zH!G3A^_GmIC8{hXcrJ-9LP<$n=SnWAcuhq+mUy=6s^mpdih~e`xziHoW^F98cfnH5 z0eE(J(GJV3wbL`_Ow!6>ZWZ3u$j5gAadYN9^JGr9929*YfDs&^!@fge>>P{-#C4zP zUo5#oHtdbizr0p^NqqOXlF#}^eR59i7%2G8HB&45OH1}L)pUT1o^0^$s?v+{b&GLn0-z2_RkfcG(} z;79}0(wx|qkdTxtCLhFON$KUm1^~bG0rC zD6P08U((RD6jQ?C&4106otD#FwiQXu$Nt!f35gKSM1S=Ed|wuahog_Y?`D$(xMKfS z+wc_uvOyb@%Xe*xw&}{DU%m6H=#Z`&{M``W0z71r z0OC4nyv8;GZm>;yR(=m-Lwm)(QR8fV{6nvnF{Rn)pMH4AZUxAC!4T5XPmmDlcw8x&wVc#rw&o)cDhcj zmu2Oa4F%_@<+ZgezvlxE`*}d#vkc(8d=NX#Ij8RuT)3RJ(o7$yNufis+K(fvQ3=>9+aXd86@ zvyhb&mNo8jl2!^X8|S%&c)w&MpeI8(-QSp$aPRfd@9Df8kK^fnPvg%-6+G4T_VB!? zmz5Xaw(zP5u9~hgVBSK4*0Cs7_2ApX5@WB%_bC zv{+9Uueous{%U=(dJNCn4X5ePn+<>&-3D-8>Q~$b07Ms(^PH#i^=h&&zS5?w9wiOQS=rHph-S_x*2)Nz8Sz@h30)T5KG3*Do7D7{A zUEH3sUG^vzRK}px0tO^SKzaVD<%>&R|ME7%(=G3`pKk+}?IDsPA$Apq_>$cgcmziy zB7|T&W>#GHlc!~KCYJ!r{$2x~bUc?cSC=TX&Y$G!HHF*UsqO-#&-Yd&L^ z`4@$++{1rEGx*MIlmyeTq^Wj^2+s{B7*rj=Xkg+n!iN;fG2PyS#1i8ViKU&1odt+Z z%N73zH`qf7b^m?rI~*_PXE+i=zvINid|nftHMgs#^KxHqPw>ND3{}GsNyGGMFUBoa zt+SO@2ZP?v)Q&%EEX0t7vGS)}e=_R5PK=}>tx6?CM|AysPiz5J;o=3|KBC_Rt$ExE zaDkhvzi?zO0Xc|V z$7Hfh{OO)%1|Tj0zb+sKyDlj6g@vP%lgPeSRwMyViTeM4|G)Q}B)}j1>pSfJ;VO~< zY&_oZnoG zR+JIfEpjdiuveTt)=_Q;c;WdI(Mfcu1b@|yTu~j_aayp`ZlVS0OLp=Kp-y40khCsI z4UW3tx|dE`{r8HT1L*HXPY63>vRMJ~<~?t@$~a)y0Vs1wA^hFfp0a+PlD}E3$Kx)} z)t+8+h}%CNyySL0OUFrRg4Q81yaybAdZ3;7A06(GKKl0EW`X@jPfm)6sasQ?*8S(n z4Iwcnd_t-KbJ0(pIBw(Z#sk}xzIIRxTL)q4z-61wUcmKNZ8Og8QwPWGnm|w2c8LJ+ zU!e~?Nw73KNcQwO5s&pa3JHjR_|~%~F?Ib_+e=k{yueN3Z2!ugu`Pg4e11ahKbL}- zT|e_cE13ZiLf|FlKg-%hPQFP$eDt_<=BK0UuU0#9`Y*qh`WTEHe)~r+seh-UgD;&m zTOzTM!TNN0ZxE4gx<(RAx}D(dufNPBn8L$6M58C3AGh)IPv3glzN-)bSnGcI_DfA- zAWWZEPg%I>{(rBU?tc|Lm(|x*@r*TocG&XKA3#{4!L}A9SsB+Er33}G$LrtA(me|B z^UI!a?ExmE6ra7#;9|WF{+C?3EgBn>&6V4)HX_~E?)iB%f2Ij3y$b!60dD()(uTVy z#z^{Ra4IZ8l-t{jkMe*+%Gz7Zz$eU0h!6gz4@;=NkD)s+BY@}E$&lx{DV3sYS^I~@ zH6aZQe1=1uJ{_+PM>0;37{D7y09ZbT-{rQ?|5y2nA+2ld7MSM|=G?N727rAZs8%vYk~WXYriHk%Lxa+HpNpjd!l{YQwQ;iHgli+U zpz*U&<0@}$M1pE)u;1=;C+%}OAljYk?3wgGbi8_-!|-nLBhiJ$c@E4NOdS%Jnl&M> z?G87R5WcQ%lyuJenZA-WHSDm^?34 zmG$NY5I0M}={E@`5i-&Lhnw%tB=kf8IIbH?(EEo&4*_$X*1iqOhu;61(f#)hpmF#c z#=p0@Tb>TC&r9Gc0@>4(F7)$`s~zLqUsPJ0XGQ*oz~Wy;u-H3pSiepNSBG`u$dHHt zgEmJAzj$4U^uV8bOi(!c;6aTtGnVtFd|_S{BuUTf2N*W97*5eGgSM==aAua3 zH#cv3n*Zq&KeSEjhu(LKNdnwY7;<`0Jy!nvhbr-B?0!xCV&qAzxP|W8i)AL zKKm212{0>ThecHOg60?uYxNHj1swhlT)EwdJFQy%Z}uvzD)>So;r(xw^=lEGc5fT8 z4Si8RU_JW_cRy{Mv}X^En+~nMjZ2-zkdHt6)TJ*=lQxDF)!&%5nfJ1C%Rnq!SIYC3 zKns9nK$aBI7#&aRzI3+%jD(fJnwI1JXa%LAxgIOm(vH2Rlj@P5zwpv0+7p)f%xw+CdQARRA3x}|lsIm8=B zu~|Tc)ujN2flK`rlPO~@B~9Kqurb=MasAN`yh_B_q3Bu7&r^~lZP~ST02e_~Ye!M4 zT3lZGAY6Un5}mHQAL9#BQruB#cd4ED)7;6y-M{3ryC8Noz^P#$&y4zje za$va#^4dpfopCWvnXaa60vtV~#p1jy4{tM3tf7JYjV>6d>C{WqNN&%rk*Hr3-4ilg zgwEmudPpn{1>gC70IcH}_QN_o zQVp!YPP6#^l_u6!)$K=NQqfwgO=*061x>m``LDY$i8CD^n<%whOSs)1zkFI!9;dc@f zYsuo`y#4Uk%{xoZpQI8?5c@5^?RT{n_1VYDQUglj!uQbc@hkpZNdf>^O0c#f?Of^l zI?yPM5g#UYVyi8P<&`7|pd5J5TB7}4$>#bZ@u!95EIY|PXJhd2o@^61E z5$mC7YI5Fm>fdnNWu+V+mjt+E_h|IL|NA$Y8o-}Qq5$JX$7O2(l>m2saQFA{8TMxA z57Xce<3fKd32-!e(j)c>8_NFAsHJ}<*@saT~Y2YlDzY^x*y0JL$@ zniT=#dzwdBpMU)=`%LAlNCLuf0m1IqbzePJ?4Nt#wCUpe_-Z3~R$Y~HXXh892Od2t zTL6+E+Ai+<`kLsy!(8Rb+H;L0K{$|epl7`~JEg;VPNR%~DK!(U{Qvg5uQ!_td$-GY zt_T9&Rd%a@4*j3_heyq}z=>0{RxVO#5aCx#_rD50NaH&@KZI1xmz|FFk;%+3Zk*)V zIl3v-=5+#4=cN7ZZYN;eMp4jdx3woKmdfMKy~^9L&IKU)d`*K=Ph3k}i9tzB<1bB=;aOTzMxx~gtt0_p zxv;(r^D|(59E5|nRaCUQyjJ13$nt3s;fRhQqj6a^hU@UsaoGgWqH_A|j1KS{qtQ(R zzLsS+9wGqT5IE^@z%aUBo>FUZP1nT|n1UI4Ny_)!fEEjtGjx-(d$QtJ|#pGo}WRNZ2uC_6RmU9F(6bLj6}$&L8v#&>UhR-a^r)h!5R4azK_EK_+r2N4LF z7&=Az1jBOZ#>3Uka_q<8+@i0IjyU?;{nE)qEYm-U4yr%B9M&zucy@z}t=`W^6N7WQ zN>5kOl}JE1%zOv7${;J!HxLXkWH+mCLD_e}^SA5i_{ILmY1simk|Wa=ND~#Z27w1S z^XTYLO0t0OW|oU3LS(ySbfc+{Y?JgsD8U4N(e*zij{ot~(>BH!Ym7Pat~uTREF?4) z<~>HH?wJW;@A@3gYE~okS!q@$EW~B#Us-5a8waF5Gps%3ZZT=NNeY`&c8gR;K*{To z#_+I*n*k)mW$16Fj3BLp1)}&0*kF@?$-)^YbmCjA6o87^I<0R=0BB88UOqYfeO8DS zVZ{d3HF{MZiQT!Mr~5t5pJ90D_xO%IF9rety%_go$I#Tx1t(4SQR&YHkbP7wMby%e zhODdn3VdyZF$X_O8d){nl8n0JSYoc9|K~?^7#x&7;*=fcf9);T+GZysc^X8O=xGmV zWAyL;)omsT@JIjO{q{Vr`=CQffHYHv$NQS7(BGKU;u6&2cPz8veE9Jr(NoW(zJMfv zbj-wgsdPJlBmpkb;s1a8x34qN@&D_ue;i-MBtk&`bykg#wdp-vJQ?l(z* z2OfFJZjVV5HF^NdfoqIw@jV_Y>qLAwAKm|xBPIdx>u){~jkQ>wXG0C-O?O;s#O5!2 z^GUl6z~jOvk`Qlw%{9>uiTz)>f7B%ELi+;{5WaZ#v$l>t`@$I!O0;>`uH6U+9nk$} zU3}84AgeY?k^*WY$|v|TDOgmFD@XI$9W(4SRX-0oE8KJD)~t#iz?a)x1!y)dlU zpVXUVG}TjExMEKKI!^I&iNHeq{UadxZeXXyTgKQtH#euWB6Kdy>ngzY(FI96S<#9k zUD{nqCLdq%6T;(q;|VHhTrqXU&a%tv)%nxosirZ^GaX5Q3nB=f)Fze#@R+z5T*sE@h})pMN4IYsvQ=RJu2D-rEe;75 z`?*`%7n{5?YAXn|O%szf1JHM;6JB&2<3`GTul;Sz(iOrFyl`u$shwwY{2%2 zLXBZU#D7sSSW!uUyar~#y__JrlN%j4ury`$Uk4%#ogpQGk+Z4kX&$ zoH@5aQXJ*C8sx!=4l~?*2t(_+Z(AK6e%q**wsZRc2LHBe3?TOJhktOup$EGXtfR;E z3)fL@Q|N^5|LKW2!vo*r73_vQG1+TJo@v(4VBJt4}Xh-_lCsWbBn| zWf%`%M1#fiNUttN8!iaPtWUMd&BuFKO+&Q5hS@@Y)p$?W_GhO@PTK+Q6_^aS3Zt$O zSK(j{{f+4^=J%}G*Qxf-h?{!P_nx*z`oxJzNdk;U|N8y6mU7bB__DAM>8im0<=_6I zi8TJj-#%=I@t;0=IOYJ6NRGe!vfHK5I9ZY+ebIZPTPli+B)~(DNfIEv9iW;dfWto^ zaq~a?&@IL(`IApe5lH$R<+IQzYhqt5o_x2x$`pP zoZ&BX#!0*9IpZ|GBoz=iX@v)kW`?1!SeWZPhILB{MV zSks3Ha@QTQg`fj25)=yyGckush30@&4`jRER2km{)EMr2_^_#Y-Eq@iJD|5x1&4cV zl7Npf83df2q za|c28mu|n*h)npG>oAJ?mG2!CQD1AL{H?gM@zQLWzOH4D&Sp#VwY9zD3fMw8-M<7n zOPItK3~W-sRIubq$CKY$bPjhOPCT4+FjPjzHksJ}Z@v3w8H^s4AAfCLU@BMVXhsPs-w zo{0wL=R}Cyt|B$&6d#wI6s(6=K?(Tzt?M(L0lZY?NjzFXsSCpz{b{03d6vH_7DJZw zf+Y(5#kqR19l=1@0inMmm9?|b5ZKV)&N`M;7BKk~58y+8Xj&rF=cSLxra>#X={q8> zg<-ZJ>5|%!1b~Bq#bXYb`(zV<^v{SeKvi&%;K&p?beWuH8T*S;FO7p6gCqc@APKLSOX}| zjtcjZ!dbVFGGSfA#su?)@#=fF#tf`8jA8DK-!!ydoacTWfOSx$LT_`B$(!m=hG<5z zAjishS*|&>!a*Mw7a7jo7IC$mqn!r@-+~btz?(TITQb`4bNHN}mzX;RuAsBpROg~Z zFixCN|7}=rn`DV_v;+n1qVG2i>Ng}#=HR>x_sJNbdW*Zw;r!F@+axtdzYhfKD(lmX z)~w^ndNnn@VBad2AYjb2U-$pK+C5{x6(wT(KnBa*Fp!(mMmy7V z2^uKJXFx{s#%k95dmj=r+=8)fINGY`X1?nRTQkl(5P;j#VPPSmzY!x|u|F9#`RU_S z{FN;LsQ@fW1t4@j<_PnW!uY`7m^6qoZ&`d}`nJE;KO+M*ktsGIP^%>g)I2JuF!o{JZ6Ly&Y_=j#a16?B`NYI^Gj_}x~K_UsD&Dx)QDwYJ`povIq zH5YS!=JU55%_upz9B(JIi74ZT~J^b0vb-YsGO!is(m=9Tms8*dU&v!11=q zk^o`5AhdnyyU&^}fRD+x%4QvKi=3^alHfTnL*H+B%|4r_-}wG>OKwFdDx+$g57#2v z0{wR1Lx*j>`{h^fHv@%L%Ma60*T~?;XkqL^bki$#MLV`lMc6n%HR6D*nnN`HRY@>G z#08;K#po3 z_#27U|2?vuf`q77SD!Nf&2b8TyUH~Jly;m$97F5LYM~yI)0#9Ik8=6Dm9Jf3@*bP< zrVI~|WQhjj^vsl9#eF`p5#Z}$`c!gYaho$2&SOMS%&!fDh$6+CD0vcRNdv!!^Q7W1 zK8(XpT#+k_&&-?s#m!9GQec8j%NzPzDy*03Wr~4tLur#g>{&HM*_SSM*v^semkKu?9{dE(&5yZNLjgjqnXXu`pSTJtw%$(MU`FPV* zrF4h@rqi!^fU!zAs*J_FWe|G-jB9M8U`K>C2Yp!M_$ptDi=c8xfj@JS1vys6%baKa zBjOGhduZ^y5mAb22QLspcF=y|ioCOGKmL_+jz`vi4BbwMD1pvB-1wq3rU*XTMgMQ# zA{!428cUKY=$AMNx8d;HEQyCueaY4dN#f*=p+m_B5d7uo{ z5f{?PCB^b>IWI$A{9LkVNg@S=(=qfHM_EZ>^3b1EO-I5yO#mnY8qD*1dAoGSQw zQmrORV+eJmRp;g(JXRCJ)vB9~-?7u@WNH0Ebl(r2j7D{M{_S^NZwA^%O0Ee6W|st* z(B|tK*X%S&fWQCeM_66V*joS5m^#poON z$M;UpCkOcX%2GYCIQ;j2^r8&BZHiuZ^KLu*bKPAY>db2V?fXql>lM-?fART8Y`ua2(C7?LU8eir2;7q+@2KnTg|`T54wtp0D(Ms<^M=lt801sPm2Hp*u8 zA8Xa}gUg~kS>@z~8TVh~2M*y*{f4D8%f`CML6903F$ZoWHVMv%kd!xu>dI*xP<4^L zm*rx>(HqXc&~FnnZ-Uk(TrMQV`B~2qv4pe4f1u)<4t$W~B?i zd2}G=K6ATDD(@?J9eDxhjuL-5>Uge(18;L8T%f{m(sb!{-4vYslHC|ADt)54hKuQ>nQsI*DM03@M$F2q1MCPIIb#)Ej` zkN_}A0A4uAGg33wMlIBc{-3`f)izN*F$#!uQT?c{S=k~y9`pV|Qqs(V>nh8r*z&E& zpOR0`iog(JbVVv$jY@3nSy!7c9u|qW7@lrMPheWk#(bp)Wj43YsZOD*7!{^CAU1NiWJZnneQ75g_A5&?i44#yi_wcj?*W}xrbMD%${ z0-P<81W4PQ;|W0z{f)^@lHufJG%ff)ch5o71%21+_C;gb#8tHk@CR*@1So>D5$<-q zFURWtH-E4^tN(0r8y#T-vL~@aVzeK4+bc}Bxa^K`%HZJji7!5GY8@waJsF1*Hut4Y zNm3|Cp1zdkYHLh=12Ynq&2&{|V^~+b82>9QAHNHRI#{q}yJZD4I@!F~+KuJX<(RHA4h22-a z`@GH9>#y2YYCP04BNG2^-HLETwh;dE3qLdBiO1DHW7{dfRMZdkd8)r*(D1tt#i z+_zZ-oa}xpE0II~4&8=;n%lqqjTp|Cf;GD=-A&_tP*)p<1?w)GI|_gq2JSV?AZ+jfQ~h;>k4L!c=y)E zPS=519iXrgp}%?w7hg*7P=*Ux&KCCr*}9^a6SlJZ$U(`Wvr$-Sk-;BP?4(hN<7AbEh~5FE)e8xCa!Lj*9+zuJYP zj~x#PwoOb)Qc2$$RK|{<)=e~Od*h*&H4h@fR^6-sp$J0xavc4`Z50rxAl6{acWt@O z_J1BOyw-4jEobEU;fnfV|8h#pgSvad!5_p4q(ZUyzf*fVBt0=~d2zdVjf%%l&0pTz zaoWls0FY=|JYO1+iC&0%i?UC`ua3}X`z6Yd3;lZSTS!#^EV|)O*rd?kkgW5s%UdBk z10NVou-cglI$5fJw9+Qj0yqm@o9# zCDIGPWO*x@mv#pgD&4YVq(&v=xk%t;M{#Hxj*|U=^}FoX@@bf813<(Y7^QUL2ui8CGJl~ZKeHI znjoXlB*^gR9BPFvnVw3JhII(Rt>PuGRb}OIh(q$^Y3Y8SmMY4l&zv$z0B*0yBZ8uG zbmM{THs1gHWm}Ah_2Q9;9(bjvM!sN&;X2@ETdk-!?WBU3KYJi3Lx~DD0WGeu=B#5yJJOKR+Iwl1kI5voq0# zjZ)E&Re#T$hl9Lu@{u1GmVuhXr@yRQQ^bjX_Tadwjlhj-bgYASz4kI27vZe|jp?es zPw9r1FW&RCUEzzr=T-*;ta;2ATi>r6>SNZ>n+E?zjpZFW`2Ws_Z<7STXf!6` z{>AU&-s7(e*840^zk4}Ih$Uz0j^|cN{m3D6T!(*`YD7e@!ADS1k@^D0$kf!h_DJWV zk`s{7OPzNhw@dFQuou+P1o#GB&bRM6-r%$?`+r-!%o*^LB%wl=U=SQ8isS6818 zO=RySZ4Lv>>_u@h;G~=oSA$I}2WmDyyF~frj^rYJFVZ0ifJi#}VOYg>9m=C3DqO%I z7m1Q3#8sbw()>B#()CG}!VfO+!iBpa&d8}V(E$%kfcD04*zhq=5$a(kCv+#As!j`v;}-LX6X>x8>_kK z-W_i|-G%;i5{7}H-!rY@Cqw`UQ*e1X_%EIxi;!{3ax|TFkwe}#af}(iT#dTmIPoWo z7=B;OlEOTi*U+Ctuh;{yAfnDm#Pqmq86fg&>*C>XwDL!DT0drF%V0tWiERNq|Kb^2L#;OOl^|@j_Pov1Kdl4w zH^2Y9wfj}q?X)Ho-G*QZ^aq28zy6j3W((lC7bM9ul|7d|eY>9V5R4HF=L^EkcOHDn z*8P8R=jCjQnWs;+9oDx?dSy3oI>?F%apfht3M z#SS7F`;2$qb)8xLzv9wucBN&WVbl;DecokQ^ql?hbKs{uel<>am?OjQ{X$ge&q%r& zK`9y?wuS{hjd$QYoxl4zEqRZ>KSEYr|4IJ9^QnBQn4ZyXRpw6;%H|oqwE84C#lS}uE8mDVWoE2Y_f~=|6#buEkfW40z0hHtur>9I` zazSKa>Yx)Y9MJ?sK5)o_zvq^P0Y_(u%Fv${?g`9stqsvD zhD+up*KZCD&PmsO-r9^kfHF=x?cYlKMLZr7o@Qm0KO0x=ZE0g^zOJxF;%|rJ8;E4X zDcurtQhN9^A`YEX-)1=*2h#mV|DQFm=t|nG{EcDMjqd+x>Hg13x{d25-O={;w9rd@ z`8`AY;Sa}Ch>b8j^oMCy)gJQuVa6o^_U#&u{=@(9TC$hh;-eA;-BPs_?bd`icsT=V8pLTp@HC;iw3vs&QrbXl1X-;gK=Q-t}wuzF-{j zyY9HuuC&a83so0X05F#IhTAT&_3nE=dPySb2`60TIGkDV7|!A9>W9B2S5!ekfj*|G z7ue3t&5QW4&aCS1ku88Ad?fdjkE>i=6_f3-=1!uTn3 zW{cy=W6@Dbtla(Wr=>s`X>j~^Ok>CJrd+aO3rLY+i_ zkB(S!0#tbZxw&)pF_}Ae&eqbwL9XAfAIYAZe0_bX5x_8*D9_XwP8=>TJdSPi-yQ*= zDTLB@?n1wZ^`1Qpw2lFr`PvO)kc~y01N$NAwz3?ZnV1!KWurEQ#YUDO0>BZ0D~wg; zy)q!vC*9Js6Eg-F)|!0WB=7p(s8 z5~qE)e#4t&sau@MJjZ69{^OqN;}W&!s=aAh_-?0jju!-gtvUcT-k0527cg<(`dM+) z><(>NT*vkVhXFqrH0H^CuR3rtGxq`;F;I%m(gckquKjn20C0YpKOAt;0UuOYo?Q#V zF^acC_r7y*Wc@p*FylmnKb${(5lhw)5B4NUuw_~4KelerZW%&EvIm<8tTTD-cKEFQ z5_jLRMH^BPGA2*Vn)qtiwi*ID(^A%vDIGYt$$*3U%()GfZZq&UWIe$L1ZCDOeh`Hk z9cx#obpOwY_`r`b72*_Wm0BNmx4nFwH@~5SGBmwwK5Z+|+w3^mEAyA>e zwGt_TJ=zA@u-GlGKivOOU4^Uso#RYm_Q zRPKY`pB)E*idL+$j<;qdD?pU%3txFuqK$)gh}^3W!`oheh3UQ)!NI0**VbXP68%5@ z%iD}I_9vgX&z{&B!0=QR7xr4{FU!lOscn(~pZeu0!=xBX~^O zlUM&To15FDvU|A692jAQ(u2J znv|%#*Bh4Kir>r0!y9F?luU}acp~bH?$vDuNHE-?eq&u~#W7ZghWesS^LlCAvK? zo!7C^jmF`x&ry4WGa@mhXuCF$EZ2Ng_*g3$nz@ZnF&V43Jt0;=|mG)qkk*XQjhCj;8eybpQZB07*naRNgAqqqQMV z4T}l_hP&1*;N(vdYT}^YK9({^h&& zm$-bG+E+q|qtKt$;LQ&sLw}lZbv;NJ4GqSEkn@Z2bxB;sx7_K;W(vc2Se75x973mi z%b3!gBT`|$HkP|G(>ts+wS=MW{M{YD(8X&qRG2B{jf;xS}qs5C6*az_Od@pgQ<~?O|59NBEO9 zZXxPl$d>2~TP=kFoR{c+3+$#pYl#3rFVuRXo3PmRu!KW19FyG#cn#7vcXic8v1+=i zsH<3B)&|F`n371>SML6~#LqWI&mTG~j>ky!vG?5+Z7I1Mma56aM)D6o@*3%)&qja! z)yIsZ{_vxRrFV*6dbzdaTA$RfXbxZAvn`SUzwyfGs1C3H@zW0(+(%DMbVL#$tDDfP zfA8B4MEhi2de63zXjq5utaRS~DH*Ez%6DSj(IdyF5+i#d_B>_tPe1&>TAVdFUN>F4 z-TJ?X;|2HXg(H)8@W1B=2enC%ZlLu!dxZAQuegPAdH9!KGO7u{2%eh5-}38jzHge% zVJ$MyFE8J;c9Uhra(e?yc$m zFSop2{vHOZU;u9aZ~WRT&FcRiscd2Z)R&W@{F5Sbe&$P$*cG5J9X>4r=t4BMZL`z~ z(yvER_V&bCRr+2hy7ciEtvyAzR7%ox$AEuUYVYm~N^ktelEgDwGQB7asfXE_DKX?w z1we(emJYv_Y`275hywWyPsJ10_>4pI!#%$7>E$$rH}$^!RkNw;dWlyD1L26aVY;$l zXf})M+7}s;p(8%OFXh`aKZ^7FAhJ~{-A$TOA$6F39Wym_4%yvycgJr zy8|Yh$sVhSG};Rc;yhpY4BBPE!8>|ho}0}YR9?bxjT?1?lf=owI-`TzdF4ig9~_*P zwQLsp(Gr^gVvK!RDApEVl0RA9Q0AH~B`|KbS zb8NgVwRG`4DCnp`e4xE2W!nI&wpgt$vThs0z0M5X0p6aSn}iBk373xBTwjfg?f4Aq z#GfCYc4(T#(VXUyXQOb2Xzgx^;bKn#STj+Plme$6g35{UbM`|TfDCyb; zBvn~N@Pbp0QNRTeAcl1KWX)U@vnJe>hD)7SLtij1z&U+X<;tzBa;&_p2!*BUrCzC? zBxN;f%yL12NIr0-=d2_uHmN-jS&AI}2i#jmLv7m@{T8mzNIfHTGiCEYYOI%vB8NC21(Cn8E5#5U#`S7Y+yTTg+s ziQhWjRb_3?#8vaxyU1$+G7AgqRJ-DRf~N{28~tILB_%Z`UcvW@aFr&D+eBBN*IxGg zqNHb&?u;7~V=xY~ebt3T0)Xhclq=ZyN>%j;0F}_R`ia6ZS`C`!b5tw0`BZE~hBn0? z>CM~5qItNG23`y!e|?su{y0i8>tq~deKb6_$tvEweM_`3A5Xx#buvhA3Db9b3;x6r z9?ixqp1ut*Bni@VF~Is8>zq*_aVgyPEmWKV6>lcfIO@>LreWcL1zI1RVKyzAeWWpc zY_BM(hw{w@jRcPek4{A=C+4HifAbkToWA|_mqnxEd=(uADFR6Vu9x}PuiYR6gR{{F zaZHY#oQa+~c*?HP^6Jhf6c7KjpHJ%d_ZTMq72?+G0NvcTZa{CQnT zsM`TP@#UwYJvzkxoAq1J1~DWBy@2v$ik=_91GrGbT>c;0V>P^9^fW3G&B-V_ZC<#RUk;P%Gm#pi`v z#r(-lkQFTb3;bx zPM$rlwk<|S#%0l72dP#a?XJ0X(OF3WtkZh+`15Bq?&qRwE*mqWf3-9>W^*SKtNI%{jxFXmyxk}9jo8q)#@ns)wdu`-$XF${BaQy z7d4ljJ3L_q_Ac8!Qb;hR9*841UojR<=n($GDG^G~^+ls<&-x8DV`60o)fCcp@fzq=&lniKX#vTDW`bep@NCU8M+ARmRM0>XmL|+vV)+Yo;S$9ezYxnk{ z==uZOj0jLf7^(w0ekg}X0?F2;uwr<1Z2<*E9@gMLy? zoHPFG>6UgJ=;-xz)n`R* znMn@bF_=bBh6!@pEBBd1=WA}-Z^nGNO0&$N!ujYkC(Y{r&!3C;8=J;P1fx`ewu~f% z8Nn~A08A59{?@4xanoxA0P3m17uFg#bkj(!kHgqPzkjsi%9J$q6lSYM)-YHL!1sg4S>yM-D)YkYOX<*C z@h-AMmG+7)!$3HAec+en>F#(q_8$zKv(sctyUNC7Y(;WWpbGqr26er>N* zSdyrICdZcGSvNRPQU`PGg7(M_%VJsu2f;xRH@Ayu$ARRq>|QV*e2JiZYkN?U^#zNP z9DPJR7i>Wf5?O5g$IHl$4HAaloWwc7vUQ>>VYQBoOM-_so!_aHf~&|83o(WR?XaW= zru3_q01zJX2Xax-OTK4mV*7rkZ-#UF3;PX-GLMNsoF@fU%a!e84h*Rco3tKtSQ;3V zWP#Rv2n*ZvJwV!HNPS&IM9wa`K9q3+v6LUM3w_BNvlQQUB&5@bs_VSEm--3{-h5ov zC*jM!q=GbwRj=q~YP?_^`Lu}2o~%0Jy$kEG&vSk6w6{yy&Xk^HbPT3DtR>+MprjSb z;~#N(({g;HRhNxSF}^&V*I!GP6r4N=_dQsx9ksA@UzQZ${p98QyO;0ZH!t4X>+gmT zz4*GtS~(=f&E8#OQuP_Ot1JgJ*2|plqfUtHkKR9$QH)vpwrDN(HpL=qS~65mj2SOE zhRCOF4L*-gp4y!8eX{*sZlZ=fUH9rOPkT)edRPm<3J*x;a0>v$l~@hH_fbh53=DO0 zU;lcr*7ca{5dc~k2c6GiBQ35bIiQx-=_^aRRF>xGC1?W%GQUSbxxVxSK{?*)DG@b) zP&)iji=TMvn2D(W?gw6J8zS`9)1i=46ISFu@~gif&XTNcKX$?l#C_?TPnqGYoGfh# z=CFQLSJhy&=KuPehjdfHQ1mG$b#31&(H5DNL(=O5+(S=}Q?D zMQNKUq(VJOlA?aCR7we0CDBW&C`z9dM_5*P)fw8Dmwd5pjpvNBf7xCc%F^L}Skg6l zxZ+lTxBlW~BFN1~hmOyfG0t=Iy3air2kCIF11xwc-61bQRZ9Wh-k|2R91J0TOA-Rnq`j$wWzoXe{XzNZI9=xn!Yey zj{s1Jp4EzE7@u68%lF>ud_gb>K0Sp zY9C{RFi2nj-UxrKPGVS?sgKYQIO-4u;L5@I$#Za4xH}%>fN;4<38&_~ zSRWHII0#3?n^mL&uqfD^`)=(}Tgn_M=zp%r!)o*~eatSXKE(Xdvj?^;M>w1$^gThz zZbU-WNnF(=wX8@IS?WLUL6zVQs4L8SF-RB0b8Et=begwr-e{cmG3lQcS>T2mkJW!T zM<)aa(hX4KX%CL3Z)>Q$ow}Wf|+iD||y- zI)+^%m3H`ip$_#2<64?BrLY!PQW)EG*+tDi53tEVVjYN$BhkjC>p=F5D~6R=@=?#3 zN!bt)gACOlIKIq_{+zYZ2zeshaa#(8=w>wsM5jyP@}cj0K%{9L=D1&KD~YEmhtyN# zv@|EUC>K^=PK&sRR1yXe2R2H&LG8|Iwijh<=&-ov!-M^@|AJ%&5>x6E!B7LE=1Vgc zcwEGJNfM1|O7f9FJl69ein3POZ7@nu2J@0~lK|Fz%E18Zh<+TNQ1#fNwHf;WMeB23 znPE8VB@%F`#bHIAZ<5W+9P}`<8`~R~my;o^EW@8SzG@>dBNIVOr&vzHI5>qawDw~~tEI7+LR;qW6O-*luzkzm;_!XEoD z7&28HFfm5q{GX65C>SZ}HI;(V+Y^@+e_yc2LcUmKftUmVw5j%1=eIP9Hx&XETKr{? zYwPa6wA5YLY7cAf$=qC&8uDU4H)(y*&azH}*<1Ftz$+UBOYx=5S{E zoc+$6I;#VTEHedghf~rPT5Er87H!nwaO>GE7JBC7cr>s4%^CrWb@P|b&0HgZUcEmZ zUjf{i-P9N#ywA@MrJMdKiL_2l%tYg-&svy^(tDYF55@ryewQgx~+oTa3e3Bnd#7Z2os_ z9*RC94m~>efBfkQlVCV;S_B0@P$`|`hdiMZi6MM7zoU8U*kJUw*IZ&&rME&LQC&qY zwEF+FbpNNs{ZBVRsd!|435|HDkFAG$ll1;yd(&=%=Tcb&FWc}UGW_K8=u{MfovH5tbrOEbX=PYY)c3HxMiW?B&V@}*TFB$*T+3Dz-8?Q!3Na6Qd34-BXpS`4EOKa0XM!M#kb=?zgLWUVb8vt49>nkjNYg|7XQsF5QNwhl|dgB$j z(m8as&y`z$VY}T5aQF8Q+95hFt@fAV>6cNhDY#m{Bo+J4-ePNilGs{6qt5{k!<8vH zFNC4#7;G$)Hcy<9&6g7c(f5AxlC}E|S@}mrsmMVv*uQNc8r11&yKWGe*8%s?;WI{@ z^n6+1d0f#mKVJ>{Db@e5)DMT z7bXq-*=5xdWWiC3UFyq9ZzA*ROc$N!(0p3oe`S8C2mzFp?#r}KO$oF_qy_L2xV&&rlEwoQ z`J8V0pHT=w0taD^~Qm3L7aH1gx1W^&NW-|!|S)jy12 zK>j2cuesO;fWPVK3qxZ<&*|}GAq`-qY2`708c-`w$&8|^CytLM)LFueLK~K=_;j`> z;dT%q+}`6woLb0BS;r(=Pg#dg=qX%{$%qls0B}q49QoNyk{&Tr@^90@w@>e9C0d5a zzC)5WGpV04&r8?$JYO0`#$15f$B6jQH8juaBJXiY0?;<@sRy1iNdU^^gS15(TiT8! z0Ck^{fk2)i5g@GJ{o?hxH+=%zknYdrDygmFv~%rL*+n(zb`rx)<6XJyI5ljg-t_8C3Av`s@c>X9; zgUf;$cx?P-M#k-AL}o>owYQ=A+>fJ!%x1YwbWAO!e3Tl zt%%gurvn-Alhrs)-Y*I$!f#qYfhT`Gj5Fo7qoK@ZnnfGj+4`h z6-=dy6D?hRwnU$-%g8I zij)OX0E{np`Rz=w#&<8n)v!<>nN=Ps^1?lLW_dBfGrQ0G!1LEXoA38L_}DAB!=KK3 z2Oz+YgG+kf$N4(Ld+e{3XX*K)pY6}|jMK#MJ2&0ZB|vz&R)_w;@eWW2GA<3@P1t>waz67L<3` z#Pk2^?;qCYNOwuk@zG_}wBG?YDgfgWq5qRl|G2Uw0K)*v`JgtH+zxP5#Do9%>4&VW zW2Ywc;S#(}40Ob5Z@Xom3=9rOw_Ll!2moxJ^BkO`$DbQFJbmv+FPiv&BbPldZ(evf zdNJI?b$=KKdgmLjGF@8K0P-B&gDnCiB0l})$4mlXaCA5?c`v*I1`3y&3i($m$!Z+@ z+tIdgyi;D@3gi927`J=oe|k&?L5HF{ZrWq>V*jpu>-h1yw%2R{{OG4gjmQXr%s0tY zO8Ev$9suoVY=tr$A6Z~c<7j|V{f`+zjXIo+ir3l;%jf-V?>|J_l#M)QSDf+n-PKH8}~jR z9oB&g|7tkz!w!97SEEU3os4D1HNQrGn&@TZVLrb3&I8eYjp55L*&2P7cloR6>bIc>K?w$Ys*o)7mt05HPk;&uSs9^DQAx8SVQDs+KXsU(19(jVH$VSkryQQ!w2ibVez zj&R{li0jXR8?pb{Hf|m{(9sWDx!+oCL)VpS9*Z3Pj(8xPtdk-Fjcen*YdF3(vnbzk zj%B1Hr*zZR6Gu4*nR+;8{R0)SslIwC*U8W}G6 z4OrnA#~0%v^tTR%mqH2nyYfu6qP~t@KZi0I*hiDqTX?48Yld@-^qz zb8W`}iw`#h9Fu{VKl|$kWeZ?a^wAI8Vw|HJuG($~-J(i42w#8Yw&<$;o1;-#rG+!{ zpFjJc8J?MwUT>Ww0A1LoZfvV0z+X!eKoSARP9%~51r0{DbW~RV(N%rN8?VsSf18Z6 zmY0RYKb-dCI{bf5wh|8OgWOK5|7;X6^u;FkgKvL@5o3yOA#gZ>;WJ-(%K8h-=h}DI z_mwAX^ON!Bg8={Xhl3=3(n8|Wt%_y*DdUhgU33k=%2}-?+!Li=d+=1b>e7TMx=T|g z3BvY=e$P)>7|x`r;2e&;)Lx{`K@kAHc+WF7Z!eQ|{B0ZJLt$Puo5U@C>n~nzwgCR> z_@g40t={}r_JVf9yny{!mr$US>akm85}S!**$DJ^S4~T%OnAQ z`ouB&Ml{yZiT7E3i+=FPAtTbfUGO6Myc`E%^wK@DIU|R^RaevfpNgJ7c*fL9%t&HM zf#KZE8>b~j^rCYy;Qd)Ix?i7MSTC7CzK)cotCdTRG?)2mZ?#m*@omsy|Jti}M*DV; zMels`wI-p7G(efdpzw2tBxxx1&ad9{xb`%Y#kW+H6?hTFdmp(1Nv&yZn3*=wYc&MJ zBdJCbPK%NlTIdr&MnoS1Oz6 z<{WcxgKWc0>b`j-oZt}WOr^Ar);oyp4&kY;a znSXGg+&~vxbL_nAklF;-rLNbNRZ<^bk$z$`O#e*ihk?j*TB|k+mJqMa;%&Kl|I}C0 z{g=T?jRm*eQU*&1_iB%aGFUIp_%+r80+(CjH)@^QDfPl#`fVBIYT;^z|4>yraazm_ zF?7yI?0<5qz59)ebBwg1RaJ%=du_P?QUT!S2mdzIzM@6+2mmXJ?w4z2;YKU;zg+Q= z-|iGUdAnIjqOD+OX0#_}eN8@R>vs;CQ|y03YHH{>ru1&OO^k%(zqm z+RcjiSH2VLj2@MW1)E#H@~;iej|L?o_)E86W>){Ny+S&I;+Pe2y3n)z@slTvv-jwe z$4xAHo=twi?FDV;h_|ERt5Al|pH-;3R;4Ct3P(7pYbkPlW&Kz*jwv*)H@Ai)qM)FO z>BZ=iUp=OSH%9p|1jZq?p}@xcB@_aO3v^^Tio;OX$&4-q{vFAet1h^ptS;;1efIaseAFMe1ms zg(xn)itfJ;+fL)C-R&)#KkcsXWm8@Y0|K+SsK0EN8s^8|d#fY>Mx#-w^i_3}GQ|Ap zzx#>l{-5&Od{%8hGO~PhRc%2F>AZ@T*QR9`&;YcT*AT2%4*k+~Q9nLa%0IK;%+a~q=( zJ*Q-qA1R2q?VW2Gl2{mHNAhA^SIc6zfOTuN9N$Ga{!>yRIjx&gs_Oo)7QDTB*ER-_ z-rKr)llB+7vQpo5?D}Bfx6Cn4C&cYP%{9J~IF!7rAMP zwRCN^zefP*)_x0jA5Fm6Vzwq~=q1g>Ko=t(9r4e9<hFwe1xJ}zTs7$N+^ z*MDyPfiyxlxx7B=CKxY9SjzBTx=fW7uw0~h`EA%Sadq4GB>{k;)7QRoceG9nnBf8y zCk~)*x_!T?%RKn#5fK6wbr4Pn7^R45vf*uPCpEjo$2m!Mjh{Uqef_?J#!>&!+pmo_ zlyDURgtZn`{xZdK*C1`ts7v z3XbnTbi{18JoWsz@HiV)(f!XWubJ>R4~J%|?xkHN42;Uk|3^P~t6BZuBkn(jIDH%x zfy938AHM#$asHn@ctVDaXYJbLqCCyU`FXY7%U-i^(8{nu75BU1pG|=j~yjhk-H-F!5WS{AGnN zD;~=6S>yai+WbtKwS26_!o7NGy0$|i?&Vp>XPv{SCY*5AJ=6bQV^TA;nYHnh=Ke-WX(9PDIB>qyz^ko`(*Ji` z09YmOn_DOD6~n|wX=jEEk_+5Y0#TC#Hw4TwsfA8JVmj5r+X)d*QGuwc``-yzdSza` z7(n7?KGof*95M z+pp>t0^QPZeEeLdL9>fz)aLb0XTmEl3l*xjW0mWWS4h9ANh&rx9al;E^gRLIMe0kB zlwKc`EW>%Z*|Gj=9JzINS*~;49+Ll)u>r%Vm z^>Q4d<*#|zf11`U0E@D+JtrxEK8QR~vVR*azL`c)EFS=G$}*lk0>Cnm*UQ?&z*@op zoEQwt!1;%|%o>C>d)$Z)o=~XsIO~KXst#wpU!0_UJ4ZzjkQBiwZ6H;ifA6iZcKy*3 zX;$s+c7T~WNr1sb5+JW$!b3@by^;jjAh@Te7Gtabqv8Te9~NqTo&#TJ(YNiC)qm9u z$A7C-EWj(4%8NF|oRy{}dBH}Ss|X=zz#Z^IS6(}M;j4oIMwWl&^GDh0z;?0J%Gi%N zyEArU#;iEvLj@f1a9v<+;Rb=#)Jt!rA6N&_;m4RAl0X<5t8$2^?IR-o&Td*TV`NjT zCHfvLm%kW}?QqO{+vp<>H{1kpR`m@_3WKXoi`F{N+m0vra@~I<;jGOaCVI33?p_)7 z81S`}(9mC>YW3cb=8L)i{n4IXW8(ggir~1ulF>`{8c4?+m&O01lG2=zRNu5z0m8Yp zdM#V6n#0y-tt_hrSFK)d0yxht0D4|XZUZoNt)2ux4M{y;bqs_PSZ%uwF9m1_LGC*LT7|n+MB3(} zh0M#vQx)-5z;gJ!KHsS45~+N^b4qK`!C^+H8?pGuo;j^6OoyUtF58@IL~}sK0B^f~ zrx8CNkX8LtG6;8G;`CV6Uv1Zjw<36EbfEtB{fA6)=!UDd8!@9Oy~hnn65x%uU1GKX zz9`8F42~_w(Q~d6Rb-|N;>>^l@r$jG`tgps#$D2>rzstXyor7$iHlk3@T=@Bc5~b5pciHho~MlsT5ZDG|nw zotTRL<{xDB|L9pG0F>qH#V-c~KJ&c{A6foh{mHj&YEriWNEKk?0G$8EvaPJvE2s`i z(dOmnN#L1Z# zhkmm-*^qwVDz)=!Jj1l$jU@qO{O&~Sk^o3P^lPKfo&(zkzW2!L%}!eVr(W(b=k9V2 zD_H)AC{Y9tu(N@N^N&gccWN&vEc;uN)uLWl*I+>XpSsYW2KGG7V1PsC{QL!*A17rw zo4f88&yPiU$~~Z*8#hn~*e1)|7c_~+&z+C*gu=rv!rv`BIo9oQ>DF_t9>hv+4#B`_ z(K-TN;ZkBymGy(Xv*-FG6-KLCYgtwNEQ(8p^?hKp^<34J!3w;~b*b*Z2t@NzpYX%~ za?9=IUl|Pe_+oU1{*|e{LMo)8P*jm5fFlNR()YjV3KQ$xCUJVy3jX;!&zPElr)lTYB>~P%)Fc6ZU$+AwK3@bc zn@r+yu47+x#U9t`J^tLdamd{2Ke%d_b$Msr#QuOwqt&VL^0>1Qper`ZjX=Lbz?Zc4T> zzWnXyOeg-jE4P+%#32B@_bpdR65w3)*>62>M769stc%>10}AY2;#e16JbWgaoSc<) z`@`1mJ8s-#gn%LtQG2-krrl;l^!`T<8&~|`OOtlhSW&*^#?8&0j~;paxQMvZ(Wy5{ z5^IBuG7je7>ayJWJbzF3-!ZW^pWzZ2`iolQ>xHi$MQN8CM;#k=t?+i;nDpWI+!*bX z1i)yH9g?iNP|N(xmw#$j|6e+CHky*?e~(C&g{e-4<&6{{N%?gn{y#Z!MiOM_qHWu@ zMHh6{V_*MzGWst+^D4*m2mq_x0ln&b80a(xScQCftMlsxNdP!Oh(^LmJ9bhWcKs`p z1OR6C^kWin<8IqMJ2%&{Yyyz3=-^L0(h*qM=Kfuz zBKR23N~)n<4(=NkxOZx^z!i(bo7R_Z*dctJlC^)V{-2d@AePU241#v`$SRcMlaZ=J z|0;lTF;(f-<_BbOi}eSNc+u5c%ta)bWWgl99Y7-W>kw~haA633*3fQnwpMBFMz!gr zEZbwF#cod#fJJm2;*dUqfV)NZM-Y+k@0-e%fM{1+=^yL>VC8&TPb8W)4d_OIB4C$M zIrzCKb^p6{KrW-Nin2B~wL9n4t9tpp zl=WwfEPR`YqzC|KB~JRsfB7TnXpTgG@R3_hOtgrz?zrV%=eOQ*sW#p7;^@SZ0Dt%O zCp)Ic#)0_w$w|T6oFst5oA=~{>{kCji--$Ic}a zit3oe>i^fCH0#wTW%VBkg=RUaMdkP6E?x{|&G#y;bzS}{X{)4hIC3|(eh6d|w&>uR zaU~{pF}`;13pT&*(z=8pt}KTUI#dAAiNEvJ`?Ud|jt;$WDwq1IND)-tr*s`TbNua5Tb9*eHKdY2jYEn_s$ zUJm~cNCM|2S^aFuG=D#6Y`%F~IoyHQ25Obhw=C zFJp%*?G@j{Ko0{ehXLO&uo#AZhk!7o04`iuFfnt|am5@PYU}~5m)?BQ2aSy;+$0XT zdt~^A-N`nIr2u89_qavT<3i#=zNW!4&Jx(qlc>!@%ld03v}TUp3p; zMGIOhAWEHIT$ge|Rs%ZLEbL_6@<+(Uth{ur=8q9!nJ~=pE=jxQQ~4u+d*Ge5(^?^Zrre5>nkc1 zogn~F_DQXq{NT=AG-B1^CnNk+HaTv3$(M%#*1Zi@vlZq%3VeY3Ko0}Sem2=W zuxN$*2=Id>z%g;wPoJ5N{@4HXJ>yjWyARzO?GnfOihZMnL;&&+$+** zA`bfBe*FovR*#r!^>3TZa;3m!K}v1F+g?ck3~BvyV)g%UV)efXpkts4{=)5l-(3gH z3iciu3WD=hYv=vm2+tilW7q%18)l_V@v}5vFGT1mLTnE~r5LC(yf#XQ z`}(UknenS5r{~4dIv<_VQ)jJQ=l#+y2^R0>aBX2DeeZ)W>8|;q=(RWRi54W13#UJi z2(VFy{#WcDjm zz88#`jlbu57-%O3Hb~Xz+5xu=@dTLVFq@W?C zn#0|CBLMbZ1yUtcWAY>c*2~ZyR(Xry4Xe(x`tKX{Fm1Db4n622kLcPz#Q!;%lv({x z;gOAlV<%frZhEqR;yKwHV4x|tl&@o4K=Co{QaL~0| zO9XG01LOe_0fxlQ+aiuQb8W)xZ1`%Km8-kLkW}Ix@o`Bnal=7X;sv;Y5V>v3kfbG$ z_&OEM2_F|ObgmzbV4(vL>*0*-0GyLb(?A8TX;qB#dATTc|EnUPm#*U&U@3ucxO4lk zasIbRwXcdgAAqs1LZa`uYz&u(%*% z%i4aQ&FS%p1zC6(_oJWyFTdSuKvtDV^nBr)&)B;4yYIijhyYpX2*Yq7QUdRM)0Jim z;IIDiF}s>8FMT(LBU1eA;mK%5>&K+p&f%VRl{v)!@4DkM8G@aT9+hrBhmqzaw#sU# zk7utuAp*cg!S?g#PwN($bJ4YuL;&7)xK#IF>-ljJP$y&;qAEe89rgFhxVSOE(z$V9 zW3*j||Bt=*R+9i|#_InWN$dRCr|*vr$>RSpsal>Bv9etfQ5QGnySsI)F;mm(&-uBY z1VDFpRZGyZXIY7TOH07@GQE5;;G1eNfWIAsln+vTf3ohRRe@abN7#04lHq2f>y~qd zFc?VFFAn@}5dcVs)q9{jIX-Rn2GAKUmjs|i6`YDnB>_aVfFSUabnBqBqrQO4lLTNh z>Q?`u$fHX;(?+ZR=oAk~HDag4koj#I*ig7BuZKsQS8bHBn%#3f40Ia?nAaTs2M4eb zvd*MhZ1Q&rpd4heo59>iBEa->MVt)R%Mesl1Rw%%kS6WSh6QoOCE1`gVl6n<4s0IG ziU2Sx0xq0&t{lw~d`O#wBnP*-V3i*(Cd9^08XDz060dW*|6GS5jL5e0fX=#ay8pTv zf&Me@>Kf_8v{QPXuEhWr{;}V)P3l5O^KIRXEuV7Y6=R+oe9lbFO8kE+Iwk@Y*5iAJ z|E}%orU0WK=OzBnb9SyL0nilkx;*iP^NTZceSJeHcC`6ZlD8e{a*Q~5YaD!U##(+d zAiW#fIXGF!=FUkHK%D45{mTdJ%BTUC!5@6KEH+QzL2Z*07;5C?vb4&lG|;aj8z zFdcp7pB^_!0Q{%~w9}a+fDZnrC06&JKl8AN4nxt$KlDl?0%S=7@ImgR)&G7OP(gfBh-b$!+H?1ntCiudE&hx*Y?kGaWi216v}Z{Y3ZALyWxf zz;+Sjvbo}{R|hWL9BtFpc-LLE%_ISyJUFgRU4c=9E<*xh{FAeb(ZdHPMXa5VUUT*4 zXt0E{4&h_R)N;hs$K7{gd=1pS|~tlI*z71Ydby-Q}wdx*I?@OoK3lBS6BCpaVe?q#!}0 zK(0heGpm(GGiT23*3g#2dDVO*OeZQOVp z{m|n_L=u2DqISUTO&m#p-B>hteC2wP1o$uCeib$b79^gwBmmdc<>jn3Hn9R528Vnl z0jMYY(39_qmFTmu`cIu<_2Zfb?P%ocOLt%9Sp9F4o5z6jKW+$Ct;cBfAL4;zw24ykj8Ij0omE#Za2F9AgCtlW4%^};D(0$#qiOKgL*!CJSg>N&U+ zN&n34d&T(X`=_R@NiY>@lyf6+&mk2fLMG^$iDhek`MkBWW6tV?)X_zQ?Y4?W030%N zZ@+$rxPtx7p|heoFbf8$%>=MBYPSgh6ZumXjG4nn$Hd_5*%7#%1#^ay2uYa$Ro(x{ zq^~ASKmi{9KXm;b(fR+#^%se{5Y_v_0-2B}&Q4)XpR*qM*_)84oX1+fIjqEo)vfy7 zpa3SvWvBp%I4<^|n<0ev-px>p^5X~x#~8)uu(Fo#d{zEhR7=>B6yU~GH|*uyr1Ee~ zgH1gA595GZgTiKcXvXhWEQEd=Y7(8208mGj%{OtRBmj|~g(Ly}Z?Awup4WvlYr(kI zj*y}SZd9q;KZ%<^21)|(U1xiv7@sdPtxqEmpQ zrWX5`Mo6j*!0_JyE{#Afg3akqSL=xZ$NCMz+y9{4{lmxizgM%W<8H51$+ieh^BPade zefdIuU;zLCKmbWZK~y@Z6)ahQ_Xs%RkOVjiYtUo_*Z~SRoJbK$IRF!cN&P-V3juk%KpHqtXgIT-%Fi0?xQz&wAOaKFgvW^wf)|#TLNlKe|uc(0Sp(8)zB>q?P(R zZoWut0X+4>32`gvmA+EnQRnz4&kR}HaHyyEmZpZLKvZRZZf>-!?X}jOs5fl^Jo?nT zm?xJ5^OgFMV*9^&b3`Pi24E+py*}KRx>uQ1-G48tRNs|K0kP%N16xKA`TxC7TqX>F z_7;qjh+z)Q#|MA-JF)uDcr{#56i}{fMV?K!5(D6Z>Q&XsRw)pb0_F_l6^{x>)8!-q zuu-P9<%WiO(Xq`!)RZ?zL28`*)_|L+p6$)B2~dNZsdjmup+o_`@gS~;f4e-+n~Jq! z5dF#XhDriZM3mz7ya}AZ%@{Yx3%GgWdzM{lAdGs5IW$8WVxZSH{zt=BY6rm!zT(GQ z|53Q%qVMvm%RetlRo_)9kemW!0#Fo}E;V@*PNo~jChY=v1<{Gew_eOs^oG)aIis!) zQbLpjsK~8caV=P9N&u`u0$>s9MXk88XNDYRn_<`#-56R8vllC40Fq}`-k^izD&qAkZz)WEU+^5J1I z%K4#d2E{AKt^t4Dc%-PaeFky3?n*%wAP(M9>*r2KTL7nrXRKzZ zAHDpJ?FHf51O8qRG(QjGAG&%#B(z>SG-QoHLhIDod2v~$Y0`YMU0!-^SR?>`|Ks~( zgRbiS$0k`dLktRZ;8Np(du^-#gRuP1@e$?1U>*{N4?cQWtp2}uV#1o6hdNFQb4Lu+ zw_ws36FzDmFZC8AS4fpAfdLSLV)b*C0#yo>LIFJ^ax(OaCxy*J0!7tvw`Ps3X026- zat`Abn>TIS;U|}zb3aBo-&5zbtJ6+52sHxYx9v=mwSbQqFage|$SmiEn`A|S#8Irp#yq?K|!ow!w)unmD3)oFY0-JyWyv&-JU&ZZf zEu>axZJ%~LDi?8`uV`$OjO7pG>U<%rhfn zbFh~*D;EuvB&wcBBM`otWZfvRkqm(9)MYlaQbQ+p^V_C~YX#yVtGPC9wc}NH^Q6|D ze1u&X#r9u&5B^V4yHmrn(3NYm{t7z&6eFd}oG=hHwDq;mUn#Bu`>@Ck!&T1HFP$pO zVZAI3fQmO_!`jo;VtwfzSp7%+>GCfu(3Zl3KRqUD2~?%94^TQH!g5!?uPX&&jE8l_ zt4xKtd!g6-JeOIs9(;TZ;~OINFyhIB9E5B<1I1wjL)iDg%*7v7f}!|}%>;bx`4eIb zU@s(g8bfsBTX7Kn;Mx2R$~JKyNpOsL9OFw&%P&k zvaVY`n1hk=kfF8Z=~1Q%^6-DpT~}JWaO;2NfnG>9HU+BlDH`+`^5(HIvHJhauivxA zAwje3H!*6a>a$9L4WPhAG5|K9y44~#69u@o(Etnos_R_kwj4Lx6x*kMEDcBT5}W$$ zY%?1Cqt30LBmis0Z0J;4L9N4DYJ++2J=~;DLW;K0Oth^&-I<#@RG<;~QbG zV-7dYjS%VOjkh18l9Egu)2rCn^H9JW@hs;%vmMt9`2^*#op`vWaZ)~;ajf0gqIn#`Y-k~eC&moc(6}W0+KraBXIXeHGoB| z^{I~;v(Re1N`ZtFs4@T&60Vx9{1o5;u&=MvYJ_EC#;Ma-4HZTK`T}$UMK9^^|D$~*Eq#QIV;B%}K# zJ*rIwofX{qeev-5pm2OXCwfhh@iW77GVY$nI2`C{6$i?YGoD@vRY+Tw0&?@Rt<`FR%asNk4!QBDh0*5No7^o+p$e-QRzMoa zIuBa_V^{=h@SBHt-pWw_loq#xEaJ0WJD@T^W)C^GR54xzwS_c$zi!5=0kiV_dCpjN&H1m+U!~B3IMOvMrK#99 zEYEMfAnvRK>%%`XbxLJ6X`QRj%A$bwFYR%BYCLUB$>8KZr5_gmdGk;Gf2uJ?32R`m zP0cKey^Zn7d24Dq6UpXA6xbJL8f|&jzLc5e!lYi5T9=yvpz8v0G2>BiOFPY`=s}9) zMiVP3@nKtCvesC^;(Jlxw?jAl3!k~l+6E@T6h!={;7(=ey&-Gn{G#YoaT8D!^j#PM zHM8H2uLyAUMN|r?B)}xZIscb$yeJ3bzkp2u9+LMBcKB}U6n+cz>1lnNMs(WX!4Za{V%vJz| zH^{$w`84LGR_oSl2ITNh!*_m50vUaGeQ1}A-fQgL~J{-f@Z4`@Iv>5Yvas7hq`{*nPmpobjY}kogg! z(^LpJJ~U@7fib#gkX{-JT{W^?>i$p6X5c+wNY;mCHb#Pw6xRerZOSa##<7u)nlWlR zAYitY8IO&dPX^AZRCQ_F)@c2AU%o-c2^j!U10@x|`GZ%*>i-#d-^eUtuYxtd8j@1L zTwO|;S(28&_4E1fR@13Fd%w1#8BYg#70Q;TKy6K})rkq1`rs7HYQRl!FT}AB1(%h# z%`iMg&VNNvL9x*8UJ*!b3=&w>DG4AOI!FT0`t8u@JXY}Y)*v?941PB|{KgG957N}F zr{O9}ee{8O0FOX$zrdUIvB?#=`C+<^YIwFVacsa%T0e{y@&K_7`u{;L|A;PcxF(@{ zJb_yRTKuOGz!>`XX`VU`ZjYe0 zJ{Ff7t!-dVFF|@|YIRkl2RxEj+$+|X9uVeH*BKmEnlZ=nc0WjBiIt!P)^^NqD>(Gi zD*$iiCm_K@TM7*PS1DFXKPP@L0{}?{+Ll3pB zrTVzuR~PsY;st(YYo{@@1Qv2Ze=IixU_FSdbHaL*wSHx2t+fBIU&-l|#97hVAe0J_ zo0Jb89K_^*-nw|#Ht3npTi<@@HEcp)Ky7TM%(ej{Hblf^rP5+E*GPdt1~Z#;2CCX$Tiv)f?BOH@+LyUv%jEoTWAjtt5+A?VVlUEL<6$vmSlg_6qRjyAO!*(jZ)UFzSVC z(^ede?)%iGa^wEpA0H7WW>CJQ-zb^!>~GJCEr5%6Zi7+4LJ{oEsQVw%-IJ24nlD8P zw1KJj2cNmp+6Jk^{=Rmr1^bUE>lY9IzdbxGH~)v;9+rLS3K#&D8SI&rYg08;DX667z`X5nYYeEI-mzq9nG}99pLYoRHVgf-cXTgz~9ufXPBB^6G?zoUj3{y z5y(VnfNm^t>%xtJcrd^wIVjLI(Bkrn=p0k;cnw!wdbkhDSN*nmDPVR>GroCiwDmCO z7^Ebb-iR;45M3iIfK%t+D{w8MR};GYT*VC^=dh(^+d%Ectv_CvdcPx%l+GFl^PG}& zS={DRQj3TDpuq1mhS-aG^J0@OUipp&TdDhO^SRRL<-})dW=Uu(He~=-4`PCURrf!r zsjA;%QhZ!W6cCOR% zbNt2ePW|~-SgYqvI4#hRjLibb1|XlHNHP=1kfj0AN!+w^P3;C#HjDwl?%70%EXVdq z9n@OL1Qi#(U~*>R9e|z&RNYEA)7q!az8-=z@mpFx2i<<^Rj-IK*jCtQU|7hkg4wV! zy8o;~g6as~)qg6H0x(sL1-tYz=W&3LkcxB;WSRtqNWKl}3aqJ#P5 zWqr8On74lX#GCN%47C905vF--k_^-Mxs*EE+My7*du0eZg%W6lbdpSf*&Cfe9QZLX zfdk0nK}O9(PaYNHj{HoQf3*4^WI>1ThG91=hRLj z6wD39<$EEy0{_)qqiVgOCxuzxE+b8*pkAPR(Uu8z$U_ zN=OmDpS{}294iT`<6BmmA9D0g6X+I&g>DR^e~l3PZ?{;v3yVjwIvbGG=TsKn}SWgB(S?OK{Uda?NN3|JGjx%pl zX%m1}i7A@6bAXZnwN@WCGdw7c!<`Usb6W4~pf6>_l_EWb9_Kk1X(4RLeP!w*|`t#ZT9_k$m# z%6d;G5^Q10bh3J`Mi{Q=pr374tFkb5VM9c$pg5bOBx zQp0(m4ZgxNOKX^uIG$bQROnCMR!%}4i6YSSgwTZBPkKV|tFKuN&cn1Jz%9rNQTqD52gRjcP}$sQ_Cw`kHS027 z#Y(UO3|b-kSE~O~^luFM{HqY7eFisDJ8-lAk?RJ#9p|@WTOcbTW&>FUG|bjKV>uJZgxVQtROdSLxvQ-Sa&fhUE(mh|7U<0p2-QR;{1C za7w%ad=fX$Z4eFi3Y>?!#YJtcb^DDMi6p=aubvWDdtT|w@h&R;yvpVw`qbGuh%Unm z!i%Rd|F&8my>SoH>bqb%Tv#u5VvUVJaK;W zP;~+}3ZM;OO~EbTDwwV>y*4ECCMB>6LMenO0JOe8!us|4Vv}xZocA=CaeY_#jKVbo zlw3O#V(v!{6yNZ#CWx@;xQ$@g(~Hj+KXJLWv%ejlKMFlfQW?>1Nx}Y_o>_}E{0p^@##>5CXnumuhRyclQ-{ARo> zkTfzX$oGw6lcpKB)aS%LO>Head>~KduQ#kK_3hWdxLLruX^9jAZ$_iuhO)gWF|i%$ z1C+$0p;nqtqqhLs7MNRvaX>JH#92#Bg0M+wK$V^usAjN&`Ia}YnI+iy(G9oJ7S(8F zQ9y?mhnPE_3{!=|+>9p+l-!}DA=h47{ihTQ-$e=1A0hQe=KT;X|1ZIghPeETmOV-l zTR%-Y&A9dHv<@|_G62?r$mJS?T`#BjPs<5|@5U>5Rk5Kq!8-c~_qU7TEbIKdH9ZGUALCir z!gE7YEb`Cr6n0w0JD;;Kmgwfc5Jb^0GK_!w#*o#E!@;fB4dCXvMQ-~2m;h82`0%wm zAP&4}{pQdxYF}e5fbqN*hP+X7RC*X$Qj2DAh``lU!e#)3<*R;oQNUbW%)^N**{1kOoqvW(=-4(UvHq zsD@`CO}K$3N4^saaTFTy&`+BIycJ@w`;sU4qL*vocDizT1a;ueXPrZb+(##}2p#@< z)L{b5hz5v6(~ua`H(@i(r&k~-Pe}m0&q9CJ%R7LK6*QudpHFFUFX+YZSRUz`uY$(i z7-9@Ky4)NI+K&nb1v`>E8(z>idU3C``>=_T-H&Kxok0A0rJ2Ky1AVa#!E)B5Qx&H% zA)dowBPw*Mj?>NszMt_yzR5rN@<2>HuII z3qe6~(Hm5+zUG&okZE^COQ^@(N0(VmP4f7xfKCa~1jAo|1< z2hJ{Mtr~N(WI_0oCTHCKX-f()?!1!^0sn9w75Y0BU|h3GJ@B1p867WtGHDQej!7~z z>p=t>@?#&`3s<`=iw6Iq2A0zXDK6SO8Gs}JZ41!AAmMTyr_C0si7-e#oI2#;vnF