From f5508a172fe59d517af11c498491e683e8271bce Mon Sep 17 00:00:00 2001 From: Cruiz102 Date: Mon, 11 Aug 2025 23:35:29 -0400 Subject: [PATCH 1/3] ros2 package init and decouple shared interfaces. --- autonomy/CMakeLists.txt | 57 ++++++++- autonomy2/CMakeLists.txt | 71 +++++++++++ autonomy2/README.md | 9 ++ autonomy2/colcon.pkg | 1 + autonomy2/package.xml | 24 ++++ autonomy2/src/cv_node_py/CMakeLists.txt | 5 + autonomy2/src/cv_node_py/README.md | 12 ++ autonomy2/src/cv_node_py/colcon.pkg | 1 + .../src/cv_node_py/cv_node_py/__init__.py | 0 autonomy2/src/cv_node_py/cv_node_py/node.py | 116 +++++++++++++++++ .../src/cv_node_py/launch/cv_node.launch.py | 24 ++++ autonomy2/src/cv_node_py/package.xml | 23 ++++ autonomy2/src/cv_node_py/pyproject.toml | 3 + autonomy2/src/cv_node_py/resource/cv_node_py | 0 autonomy2/src/cv_node_py/setup.cfg | 4 + autonomy2/src/cv_node_py/setup.py | 26 ++++ autonomy_interfaces/README.md | 14 ++ .../action/NavigateToWaypoint.action | 10 ++ autonomy_interfaces/msg/Detection.msg | 4 + autonomy_interfaces/msg/Detections.msg | 2 + autonomy_interfaces/srv/FireTorpedo.srv | 4 + autonomy_interfaces/srv/SetColorFilter.srv | 8 ++ autonomy_interfaces/srv/SetYoloModel.srv | 4 + hydrus_software_stack.egg-info/PKG-INFO | 120 ------------------ hydrus_software_stack.egg-info/SOURCES.txt | 45 ------- .../dependency_links.txt | 1 - .../entry_points.txt | 2 - hydrus_software_stack.egg-info/not-zip-safe | 1 - hydrus_software_stack.egg-info/requires.txt | 33 ----- hydrus_software_stack.egg-info/top_level.txt | 1 - 30 files changed, 416 insertions(+), 209 deletions(-) create mode 100644 autonomy2/CMakeLists.txt create mode 100644 autonomy2/README.md create mode 100644 autonomy2/colcon.pkg create mode 100644 autonomy2/package.xml create mode 100644 autonomy2/src/cv_node_py/CMakeLists.txt create mode 100644 autonomy2/src/cv_node_py/README.md create mode 100644 autonomy2/src/cv_node_py/colcon.pkg create mode 100644 autonomy2/src/cv_node_py/cv_node_py/__init__.py create mode 100644 autonomy2/src/cv_node_py/cv_node_py/node.py create mode 100644 autonomy2/src/cv_node_py/launch/cv_node.launch.py create mode 100644 autonomy2/src/cv_node_py/package.xml create mode 100644 autonomy2/src/cv_node_py/pyproject.toml create mode 100644 autonomy2/src/cv_node_py/resource/cv_node_py create mode 100644 autonomy2/src/cv_node_py/setup.cfg create mode 100644 autonomy2/src/cv_node_py/setup.py create mode 100644 autonomy_interfaces/README.md create mode 100644 autonomy_interfaces/action/NavigateToWaypoint.action create mode 100644 autonomy_interfaces/msg/Detection.msg create mode 100644 autonomy_interfaces/msg/Detections.msg create mode 100644 autonomy_interfaces/srv/FireTorpedo.srv create mode 100644 autonomy_interfaces/srv/SetColorFilter.srv create mode 100644 autonomy_interfaces/srv/SetYoloModel.srv delete mode 100644 hydrus_software_stack.egg-info/PKG-INFO delete mode 100644 hydrus_software_stack.egg-info/SOURCES.txt delete mode 100644 hydrus_software_stack.egg-info/dependency_links.txt delete mode 100644 hydrus_software_stack.egg-info/entry_points.txt delete mode 100644 hydrus_software_stack.egg-info/not-zip-safe delete mode 100644 hydrus_software_stack.egg-info/requires.txt delete mode 100644 hydrus_software_stack.egg-info/top_level.txt diff --git a/autonomy/CMakeLists.txt b/autonomy/CMakeLists.txt index 5581c17..634ea4b 100644 --- a/autonomy/CMakeLists.txt +++ b/autonomy/CMakeLists.txt @@ -26,25 +26,70 @@ if (CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) endif() +# --- Begin: Copy shared interface definitions into this package --- +# Location of shared interface source files (relative to this package) +set(SHARED_INTERFACES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../shared_interfaces") + +# Ensure local interface directories exist +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/msg") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/srv") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/action") + +# Gather shared files +file(GLOB SHARED_MSGS "${SHARED_INTERFACES_DIR}/msg/*.msg") +file(GLOB SHARED_SRVS "${SHARED_INTERFACES_DIR}/srv/*.srv") +file(GLOB SHARED_ACTIONS "${SHARED_INTERFACES_DIR}/action/*.action") + +# Copy shared files into this package so catkin can find them +foreach(f ${SHARED_MSGS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/msg/${_name}" COPYONLY) +endforeach() +foreach(f ${SHARED_SRVS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/srv/${_name}" COPYONLY) +endforeach() +foreach(f ${SHARED_ACTIONS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/action/${_name}" COPYONLY) +endforeach() + +# Build lists of filenames relative to package dirs +set(MSG_FILES) +foreach(f ${SHARED_MSGS}) + get_filename_component(_name "${f}" NAME) + list(APPEND MSG_FILES ${_name}) +endforeach() + +set(SRV_FILES) +foreach(f ${SHARED_SRVS}) + get_filename_component(_name "${f}" NAME) + list(APPEND SRV_FILES ${_name}) +endforeach() + +set(ACTION_FILES) +foreach(f ${SHARED_ACTIONS}) + get_filename_component(_name "${f}" NAME) + list(APPEND ACTION_FILES ${_name}) +endforeach() +# --- End: Copy shared interface definitions --- + # Add message files add_message_files( FILES - Detection.msg - Detections.msg + ${MSG_FILES} ) add_action_files( FILES - NavigateToWaypoint.action + ${ACTION_FILES} ) # Add service files add_service_files( FILES - SetColorFilter.srv - SetYoloModel.srv - FireTorpedo.srv + ${SRV_FILES} ) # Generate added messages and services diff --git a/autonomy2/CMakeLists.txt b/autonomy2/CMakeLists.txt new file mode 100644 index 0000000..f41b40b --- /dev/null +++ b/autonomy2/CMakeLists.txt @@ -0,0 +1,71 @@ +cmake_minimum_required(VERSION 3.8) +project(autonomy) + +if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 17) +endif() + +find_package(ament_cmake REQUIRED) +find_package(rclcpp REQUIRED) +find_package(sensor_msgs REQUIRED) +find_package(geometry_msgs REQUIRED) +find_package(rosidl_default_generators REQUIRED) + +# --- Begin: Copy shared interface definitions into this package --- +# Location of shared interface source files (relative to this package) +set(SHARED_INTERFACES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../shared_interfaces") + +# Ensure local interface directories exist +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/msg") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/srv") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/action") + +# Gather shared files +file(GLOB SHARED_MSGS "${SHARED_INTERFACES_DIR}/msg/*.msg") +file(GLOB SHARED_SRVS "${SHARED_INTERFACES_DIR}/srv/*.srv") +file(GLOB SHARED_ACTIONS "${SHARED_INTERFACES_DIR}/action/*.action") + +# Copy shared files into this package so rosidl can find them +foreach(f ${SHARED_MSGS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/msg/${_name}" COPYONLY) +endforeach() +foreach(f ${SHARED_SRVS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/srv/${_name}" COPYONLY) +endforeach() +foreach(f ${SHARED_ACTIONS}) + get_filename_component(_name "${f}" NAME) + configure_file("${f}" "${CMAKE_CURRENT_SOURCE_DIR}/action/${_name}" COPYONLY) +endforeach() + +# Build lists of filenames relative to package dirs +set(MSG_FILES) +foreach(f ${SHARED_MSGS}) + get_filename_component(_name "${f}" NAME) + list(APPEND MSG_FILES "msg/${_name}") +endforeach() + +set(SRV_FILES) +foreach(f ${SHARED_SRVS}) + get_filename_component(_name "${f}" NAME) + list(APPEND SRV_FILES "srv/${_name}") +endforeach() + +set(ACTION_FILES) +foreach(f ${SHARED_ACTIONS}) + get_filename_component(_name "${f}" NAME) + list(APPEND ACTION_FILES "action/${_name}") +endforeach() +# --- End: Copy shared interface definitions --- + +rosidl_generate_interfaces(${PROJECT_NAME} + ${MSG_FILES} + ${SRV_FILES} + ${ACTION_FILES} + DEPENDENCIES geometry_msgs sensor_msgs +) + +ament_export_dependencies(rosidl_default_runtime) + +ament_package() diff --git a/autonomy2/README.md b/autonomy2/README.md new file mode 100644 index 0000000..13d1a08 --- /dev/null +++ b/autonomy2/README.md @@ -0,0 +1,9 @@ +# ROS 2 messages for Hydrus autonomy + +This package defines ROS 2 versions of: +- `autonomy/Detection` +- `autonomy/Detections` + +They mirror the fields from the ROS 1 messages. + +Build with colcon from the workspace root. diff --git a/autonomy2/colcon.pkg b/autonomy2/colcon.pkg new file mode 100644 index 0000000..cd1d2a9 --- /dev/null +++ b/autonomy2/colcon.pkg @@ -0,0 +1 @@ +{ "name": "autonomy" } diff --git a/autonomy2/package.xml b/autonomy2/package.xml new file mode 100644 index 0000000..934b8a1 --- /dev/null +++ b/autonomy2/package.xml @@ -0,0 +1,24 @@ + + + autonomy + 0.1.0 + ROS2 port of Hydrus computer vision node and custom messages. + Your Name + MIT + + ament_cmake + + rclcpp + sensor_msgs + geometry_msgs + rosidl_default_generators + action_msgs + + rclcpp + sensor_msgs + geometry_msgs + rosidl_default_runtime + action_msgs + + rosidl_interface_packages + diff --git a/autonomy2/src/cv_node_py/CMakeLists.txt b/autonomy2/src/cv_node_py/CMakeLists.txt new file mode 100644 index 0000000..755f811 --- /dev/null +++ b/autonomy2/src/cv_node_py/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.8) +project(cv_node_py) + +find_package(ament_cmake REQUIRED) +ament_package() diff --git a/autonomy2/src/cv_node_py/README.md b/autonomy2/src/cv_node_py/README.md new file mode 100644 index 0000000..23b859e --- /dev/null +++ b/autonomy2/src/cv_node_py/README.md @@ -0,0 +1,12 @@ +# cv_node_py + +ROS 2 Python node wrapping existing `src/computer_vision/detection_core.py`. + +## Build + +```bash +# In workspace root (ros2_ws) +colcon build --symlink-install +. install/setup.bash +ros2 launch cv_node_py cv_node.launch.py +``` diff --git a/autonomy2/src/cv_node_py/colcon.pkg b/autonomy2/src/cv_node_py/colcon.pkg new file mode 100644 index 0000000..a06ee9d --- /dev/null +++ b/autonomy2/src/cv_node_py/colcon.pkg @@ -0,0 +1 @@ +{ "name": "cv_node_py" } diff --git a/autonomy2/src/cv_node_py/cv_node_py/__init__.py b/autonomy2/src/cv_node_py/cv_node_py/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/autonomy2/src/cv_node_py/cv_node_py/node.py b/autonomy2/src/cv_node_py/cv_node_py/node.py new file mode 100644 index 0000000..89789a5 --- /dev/null +++ b/autonomy2/src/cv_node_py/cv_node_py/node.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python3 +import os + +# Reuse existing detection core utilities +import sys +from typing import List, Tuple + +import rclpy +from geometry_msgs.msg import Point +from rclpy.node import Node +from rclpy.qos import qos_profile_sensor_data +from sensor_msgs.msg import Image, RegionOfInterest + +sys.path.append( + os.path.abspath( + os.path.join(os.path.dirname(__file__), "../../../../src/computer_vision") + ) +) +from detection_core import ColorFilterConfig, DetectionPipelineManager, ros_img_to_cv2 + +from autonomy.msg import Detection as DetectionMsg +from autonomy.msg import Detections as DetectionsMsg + + +class CvNode(Node): + def __init__(self): + super().__init__("cv_node") + # Parameters + self.declare_parameter("yolo_model", "yolo11n.pt") + self.declare_parameter("color_target_rgb", [255, 0, 0]) + self.declare_parameter("color_tolerance", 0.4) + self.declare_parameter("color_min_confidence", 0.3) + self.declare_parameter("color_min_area", 0.2) + self.declare_parameter("image_topic", "/camera/image_raw") + self.declare_parameter("detections_topic", "/detections") + + # Build pipeline + self.pipeline = DetectionPipelineManager() + model = self.get_parameter("yolo_model").get_parameter_value().string_value + try: + self.pipeline.load_yolo_model(model) + except Exception as e: + self.get_logger().warn(f"YOLO model load failed: {e}") + + rgb = ( + self.get_parameter("color_target_rgb") + .get_parameter_value() + .integer_array_value + ) + tol = float(self.get_parameter("color_tolerance").value) + min_conf = float(self.get_parameter("color_min_confidence").value) + min_area = float(self.get_parameter("color_min_area").value) + self.pipeline.update_color_filter_config( + ColorFilterConfig( + tolerance=tol, + min_confidence=min_conf, + min_area=min_area, + rgb_range=tuple(int(x) for x in rgb), + ) + ) + + # Pub/Sub + image_topic = self.get_parameter("image_topic").value + self.sub = self.create_subscription( + Image, image_topic, self.on_image, qos_profile_sensor_data + ) + det_topic = self.get_parameter("detections_topic").value + self.pub = self.create_publisher(DetectionsMsg, det_topic, 10) + + self.get_logger().info( + f"cv_node started. Subscribing to {image_topic}, publishing {det_topic}" + ) + + def on_image(self, msg: Image): + try: + img = ros_img_to_cv2(msg, encoding=msg.encoding if msg.encoding else "bgr8") + except Exception: + # fallback assume bgr8 + img = ros_img_to_cv2(msg, encoding="bgr8") + + results: List[Tuple[str, list]] = self.pipeline.run_detections(img) + for name, detections in results: + out = DetectionsMsg() + out.detector_name = name + out.detections = [] + for d in detections: + dm = DetectionMsg() + dm.cls = int(d.cls) + dm.confidence = float(d.conf) + # point may be None + if getattr(d, "point", None) is not None: + dm.point = Point( + x=float(d.point.x), y=float(d.point.y), z=float(d.point.z) + ) + else: + dm.point = Point() + roi = RegionOfInterest() + roi.x_offset = int(d.x1) + roi.y_offset = int(d.y1) + roi.width = int(d.x2 - d.x1) + roi.height = int(d.y2 - d.y1) + dm.bounding_box = roi + out.detections.append(dm) + self.pub.publish(out) + + +def main(): + rclpy.init() + node = CvNode() + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + + +if __name__ == "__main__": + main() diff --git a/autonomy2/src/cv_node_py/launch/cv_node.launch.py b/autonomy2/src/cv_node_py/launch/cv_node.launch.py new file mode 100644 index 0000000..6b291aa --- /dev/null +++ b/autonomy2/src/cv_node_py/launch/cv_node.launch.py @@ -0,0 +1,24 @@ +from launch import LaunchDescription +from launch_ros.actions import Node + + +def generate_launch_description(): + return LaunchDescription( + [ + Node( + package="cv_node_py", + executable="cv_node", + name="cv_node", + output="screen", + parameters=[ + {"yolo_model": "yolo11n.pt"}, + {"color_target_rgb": [255, 0, 0]}, + {"color_tolerance": 0.4}, + {"color_min_confidence": 0.3}, + {"color_min_area": 0.2}, + {"image_topic": "/camera/image_raw"}, + {"detections_topic": "/detections"}, + ], + ) + ] + ) diff --git a/autonomy2/src/cv_node_py/package.xml b/autonomy2/src/cv_node_py/package.xml new file mode 100644 index 0000000..343e633 --- /dev/null +++ b/autonomy2/src/cv_node_py/package.xml @@ -0,0 +1,23 @@ + + + cv_node_py + 0.1.0 + ROS2 Python CV node that reuses detection_core.py + Your Name + MIT + + ament_python + + rclpy + sensor_msgs + geometry_msgs + autonomy + + ultralytics + opencv-python + numpy + + + ament_python + + diff --git a/autonomy2/src/cv_node_py/pyproject.toml b/autonomy2/src/cv_node_py/pyproject.toml new file mode 100644 index 0000000..9787c3b --- /dev/null +++ b/autonomy2/src/cv_node_py/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta" diff --git a/autonomy2/src/cv_node_py/resource/cv_node_py b/autonomy2/src/cv_node_py/resource/cv_node_py new file mode 100644 index 0000000..e69de29 diff --git a/autonomy2/src/cv_node_py/setup.cfg b/autonomy2/src/cv_node_py/setup.cfg new file mode 100644 index 0000000..6c72b4f --- /dev/null +++ b/autonomy2/src/cv_node_py/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script-dir=$base/lib/cv_node_py +[install] +install-scripts=$base/lib/cv_node_py diff --git a/autonomy2/src/cv_node_py/setup.py b/autonomy2/src/cv_node_py/setup.py new file mode 100644 index 0000000..9cd3130 --- /dev/null +++ b/autonomy2/src/cv_node_py/setup.py @@ -0,0 +1,26 @@ +from setuptools import setup + +package_name = "cv_node_py" + +setup( + name=package_name, + version="0.1.0", + packages=[package_name], + data_files=[ + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ("share/" + package_name + "/launch", ["launch/cv_node.launch.py"]), + ], + install_requires=["setuptools"], + zip_safe=True, + maintainer="Your Name", + maintainer_email="you@example.com", + description="ROS2 Python CV node using detection_core.py", + license="MIT", + tests_require=["pytest"], + entry_points={ + "console_scripts": [ + "cv_node = cv_node_py.node:main", + ], + }, +) diff --git a/autonomy_interfaces/README.md b/autonomy_interfaces/README.md new file mode 100644 index 0000000..cdeda1e --- /dev/null +++ b/autonomy_interfaces/README.md @@ -0,0 +1,14 @@ +# Shared Interfaces (ROS 1 and ROS 2) + +This folder contains the single source of truth for Hydrus message, service, and action interface definitions. + +Structure: +- `msg/` β€” `.msg` message files +- `srv/` β€” `.srv` service files +- `action/` β€” `.action` action files + +Both ROS 1 (`autonomy_ros`) and ROS 2 (`autonomy_ros2`) packages copy these files at CMake configure-time into their local `msg/`, `srv/`, and `action/` folders and generate code from them. Edit files here only, then rebuild the ROS 1/ROS 2 workspaces. + +To add a new interface: +1. Add the `.msg` / `.srv` / `.action` file in this folder hierarchy. +2. Rebuild your ROS 1 and/or ROS 2 workspaces as usual. diff --git a/autonomy_interfaces/action/NavigateToWaypoint.action b/autonomy_interfaces/action/NavigateToWaypoint.action new file mode 100644 index 0000000..6d5e2ec --- /dev/null +++ b/autonomy_interfaces/action/NavigateToWaypoint.action @@ -0,0 +1,10 @@ +# Goal + +geometry_msgs/Point target_point +--- +# Feedback +float64 distance_to_target # Current distance to the target + +--- +# Result +bool success # True if the target was reached successfully, False otherwise diff --git a/autonomy_interfaces/msg/Detection.msg b/autonomy_interfaces/msg/Detection.msg new file mode 100644 index 0000000..38e226a --- /dev/null +++ b/autonomy_interfaces/msg/Detection.msg @@ -0,0 +1,4 @@ +int32 cls +float32 confidence +geometry_msgs/Point point +sensor_msgs/RegionOfInterest bounding_box diff --git a/autonomy_interfaces/msg/Detections.msg b/autonomy_interfaces/msg/Detections.msg new file mode 100644 index 0000000..80b3a13 --- /dev/null +++ b/autonomy_interfaces/msg/Detections.msg @@ -0,0 +1,2 @@ +autonomy/Detection[] detections +string detector_name diff --git a/autonomy_interfaces/srv/FireTorpedo.srv b/autonomy_interfaces/srv/FireTorpedo.srv new file mode 100644 index 0000000..d1472cd --- /dev/null +++ b/autonomy_interfaces/srv/FireTorpedo.srv @@ -0,0 +1,4 @@ +int8 torpedo_number # Which torpedo to fire (1 or 2) +--- +bool success # Whether the torpedo was fired successfully +string message # Additional information or error message diff --git a/autonomy_interfaces/srv/SetColorFilter.srv b/autonomy_interfaces/srv/SetColorFilter.srv new file mode 100644 index 0000000..02395fc --- /dev/null +++ b/autonomy_interfaces/srv/SetColorFilter.srv @@ -0,0 +1,8 @@ +# SetColorFilter.srv +float32 tolerance +float32 min_confidence +float32 min_area +int32[] rgb_range +--- +bool success +string message diff --git a/autonomy_interfaces/srv/SetYoloModel.srv b/autonomy_interfaces/srv/SetYoloModel.srv new file mode 100644 index 0000000..040daa4 --- /dev/null +++ b/autonomy_interfaces/srv/SetYoloModel.srv @@ -0,0 +1,4 @@ +string model_name +--- +bool success +string message diff --git a/hydrus_software_stack.egg-info/PKG-INFO b/hydrus_software_stack.egg-info/PKG-INFO deleted file mode 100644 index 93c0108..0000000 --- a/hydrus_software_stack.egg-info/PKG-INFO +++ /dev/null @@ -1,120 +0,0 @@ -Metadata-Version: 2.4 -Name: hydrus-software-stack -Version: 0.1.0 -Summary: Autonomous underwater vehicle software stack with computer vision and navigation capabilities -Home-page: https://github.com/your-username/hydrus-software-stack -Author: Cesar -Author-email: cesar@example.com -Project-URL: Bug Reports, https://github.com/your-username/hydrus-software-stack/issues -Project-URL: Source, https://github.com/your-username/hydrus-software-stack -Classifier: Development Status :: 3 - Alpha -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Operating System :: OS Independent -Requires-Python: >=3.8 -Description-Content-Type: text/markdown -License-File: LICENSE -Requires-Dist: opencv-python -Requires-Dist: numpy -Requires-Dist: matplotlib -Requires-Dist: requests -Requires-Dist: colorama -Requires-Dist: pyserial -Requires-Dist: fastapi -Requires-Dist: Flask -Requires-Dist: black>=23.0.0 -Requires-Dist: isort>=5.12.0 -Requires-Dist: flake8>=6.0.0 -Requires-Dist: pre-commit>=3.0.0 -Requires-Dist: mypy>=1.0.0 -Provides-Extra: depth-estimation -Requires-Dist: onnx; extra == "depth-estimation" -Requires-Dist: onnxruntime-gpu; extra == "depth-estimation" -Requires-Dist: onnxscript; extra == "depth-estimation" -Requires-Dist: onnxslim; extra == "depth-estimation" -Requires-Dist: torch; extra == "depth-estimation" -Requires-Dist: torchvision; extra == "depth-estimation" -Requires-Dist: tqdm; extra == "depth-estimation" -Requires-Dist: typer; extra == "depth-estimation" -Provides-Extra: all -Requires-Dist: onnx; extra == "all" -Requires-Dist: onnxruntime-gpu; extra == "all" -Requires-Dist: onnxscript; extra == "all" -Requires-Dist: onnxslim; extra == "all" -Requires-Dist: torch; extra == "all" -Requires-Dist: torchvision; extra == "all" -Requires-Dist: tqdm; extra == "all" -Requires-Dist: typer; extra == "all" -Dynamic: author -Dynamic: author-email -Dynamic: classifier -Dynamic: description -Dynamic: description-content-type -Dynamic: home-page -Dynamic: license-file -Dynamic: project-url -Dynamic: provides-extra -Dynamic: requires-dist -Dynamic: requires-python -Dynamic: summary - -
- -

🌊 Hydrus Software Stack

- -

- A comprehensive ROS-based toolkit for autonomous underwater vehicles. -
- Built for RobSub competitions with maintainability and usability at its core. -

- -

- Philosophy - Β· - Autonomy Docs - Β· - Issues - Β· - Docker Setup - Β· - GitHub -

- -Quick start: `./doctor.sh && ./docker/hydrus-docker/hocker` - -[![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](./run_tests.sh) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) -[![ROS](https://img.shields.io/badge/ROS-Melodic-blue.svg)](http://wiki.ros.org/melodic) -[![Docker](https://img.shields.io/badge/Docker-Enabled-blue.svg)](docker/README.md) - -
- - -To start developing Hydrus ------- - -Hydrus is developed by [Rumarino Team](https://github.com/Rumarino-Team). We welcome both pull requests and issues on [GitHub](https://github.com/Rumarino-Team/hydrus-software-stack). - -* Read our [Philosophy & Contributing Guide](PHILOSOPHY.md) -* Check out the [autonomy system documentation](autonomy/README.md) -* Explore the [Docker deployment options](docker/README.md) -* Join discussions in [GitHub Issues](../../issues) - -Want to contribute? Check our [open issues](../../issues) and follow our [contribution guidelines](PHILOSOPHY.md). - -
-MIT Licensed - -Hydrus is released under the MIT license. Some parts of the software are released under other licenses as specified. - -Any user of this software shall indemnify and hold harmless the Rumarino Team and its members from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses which arise out of, relate to or result from any use of this software by user. - -**THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH AND COMPETITION PURPOSES ONLY. THIS IS NOT A PRODUCT. -YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. -NO WARRANTY EXPRESSED OR IMPLIED.** -
diff --git a/hydrus_software_stack.egg-info/SOURCES.txt b/hydrus_software_stack.egg-info/SOURCES.txt deleted file mode 100644 index c0797ff..0000000 --- a/hydrus_software_stack.egg-info/SOURCES.txt +++ /dev/null @@ -1,45 +0,0 @@ -LICENSE -README.md -pyproject.toml -setup.py -autonomy/__init__.py -autonomy/arduino_simulator.py -autonomy/setup.py -autonomy/test_controller.py -autonomy/scripts/__init__.py -autonomy/scripts/profiler/__init__.py -autonomy/scripts/profiler/profiling_decorators.py -autonomy/scripts/profiler/profiling_test.py -autonomy/scripts/profiler/ros_profiler.py -autonomy/scripts/profiler/ros_profiler_demo.py -autonomy/scripts/web/__init__.py -autonomy/scripts/web/detection_viewer.py -autonomy/src/__init__.py -autonomy/src/api_server.py -autonomy/src/controllers.py -autonomy/src/custom_types.py -autonomy/src/cv_publishers.py -autonomy/src/mission_planner/__init__.py -autonomy/src/mission_planner/base_mission.py -autonomy/src/mission_planner/gate_mission.py -autonomy/src/mission_planner/gate_mission_tester.py -autonomy/src/mission_planner/gate_tester_visualizer.py -autonomy/src/mission_planner/mission_manager.py -autonomy/src/mission_planner/mission_tree.py -autonomy/src/mission_planner/prequalification_mission.py -autonomy/src/mission_planner/slalom_mission.py -autonomy/src/mission_planner/slalom_visualizer.py -autonomy/src/mission_planner/tagging_mission.py -autonomy/src/mission_planner/tagging_mission_test.py -autonomy/src/mission_planner/task_parameters.py -autonomy/src/mission_planner/test_gate_mission.py -autonomy/src/mission_planner/test_slalom.py -autonomy/src/mission_planner/test_slalom_integration.py -autonomy/src/mission_planner/types.py -hydrus_software_stack.egg-info/PKG-INFO -hydrus_software_stack.egg-info/SOURCES.txt -hydrus_software_stack.egg-info/dependency_links.txt -hydrus_software_stack.egg-info/entry_points.txt -hydrus_software_stack.egg-info/not-zip-safe -hydrus_software_stack.egg-info/requires.txt -hydrus_software_stack.egg-info/top_level.txt \ No newline at end of file diff --git a/hydrus_software_stack.egg-info/dependency_links.txt b/hydrus_software_stack.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/hydrus_software_stack.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/hydrus_software_stack.egg-info/entry_points.txt b/hydrus_software_stack.egg-info/entry_points.txt deleted file mode 100644 index f06db19..0000000 --- a/hydrus_software_stack.egg-info/entry_points.txt +++ /dev/null @@ -1,2 +0,0 @@ -[console_scripts] -hydrus-depth-estimator = autonomy.src.computer_vision.depth_estimation:main diff --git a/hydrus_software_stack.egg-info/not-zip-safe b/hydrus_software_stack.egg-info/not-zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/hydrus_software_stack.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/hydrus_software_stack.egg-info/requires.txt b/hydrus_software_stack.egg-info/requires.txt deleted file mode 100644 index 3af6dfa..0000000 --- a/hydrus_software_stack.egg-info/requires.txt +++ /dev/null @@ -1,33 +0,0 @@ -opencv-python -numpy -matplotlib -requests -colorama -pyserial -fastapi -Flask -black>=23.0.0 -isort>=5.12.0 -flake8>=6.0.0 -pre-commit>=3.0.0 -mypy>=1.0.0 - -[all] -onnx -onnxruntime-gpu -onnxscript -onnxslim -torch -torchvision -tqdm -typer - -[depth-estimation] -onnx -onnxruntime-gpu -onnxscript -onnxslim -torch -torchvision -tqdm -typer diff --git a/hydrus_software_stack.egg-info/top_level.txt b/hydrus_software_stack.egg-info/top_level.txt deleted file mode 100644 index 342156a..0000000 --- a/hydrus_software_stack.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -autonomy From e309b8acffdf30308545458294f0b56fc925c9f5 Mon Sep 17 00:00:00 2001 From: Cruiz102 Date: Sat, 23 Aug 2025 23:12:10 -0400 Subject: [PATCH 2/3] delete clutter and added new structure tot he dockers. --- FORMATTING.md | 101 -- README.md | 2 +- autonomy/.python-version | 1 + autonomy/README.md | 6 + autonomy/action/NavigateToWaypoint.action | 10 - autonomy/launch/depth_estimation.launch | 22 - autonomy/launch/godot_bridge.launch | 47 - autonomy/launch/profiler.launch | 23 - autonomy/launch/simulation.launch | 37 - autonomy/main.py | 6 + autonomy/msg/Detection.msg | 4 - autonomy/msg/Detections.msg | 2 - autonomy/pyproject.toml | 16 + autonomy/scripts/cv/depth_estimation_node.py | 135 -- .../scripts/profiler/profiling_decorators.py | 276 ---- autonomy/scripts/profiler/profiling_test.py | 114 -- autonomy/srv/FireTorpedo.srv | 4 - autonomy/srv/SetColorFilter.srv | 8 - autonomy/srv/SetYoloModel.srv | 4 - autonomy2/package.xml | 24 - autonomy2/src/cv_node_py/package.xml | 23 - docker/amd64/{cuda => }/camera.Dockerfile | 0 docker/amd64/cpu/hydrus.Dockerfile | 109 -- docker/amd64/cuda/hydrus.Dockerfile | 100 -- docker/amd64/foxy.Dockerfile | 50 + docker/amd64/noetic.Dockerfile | 46 + docker/amd64/pkgmanagers.Dockerfile | 39 + docker/docker-compose-amd64-cpu.yaml | 27 +- docker/docker-compose-jetson-tx2.yaml | 66 - docker/run_docker.py | 36 - hocker | 2 +- hydrus-cli | 3 - pyproject.toml | 50 +- scripts/__init__.py | 1 - scripts/activate_formatters.sh | 10 - scripts/commands/dev.py | 4 - scripts/commands/ros.py | 567 ------- scripts/commands/runner.py | 2 - scripts/commands/test/__init__.py | 13 - scripts/commands/test/test_cache.py | 0 scripts/format.sh | 44 - scripts/format_with_venv.sh | 26 - scripts/install_ros2_jassy.sh | 39 - scripts/jetson.py | 383 ----- scripts/setup_formatting.sh | 45 - scripts/setup_venv_formatters.sh | 120 -- scripts/tests.hss | 36 - src/computer_vision/.python-version | 1 + src/computer_vision/README.md | 4 + .../examples}/color_filters.py | 0 .../computer_vision/examples}/distance.py | 0 .../examples}/object_detector.py | 0 .../computer_vision/examples}/orbs.py | 0 .../examples}/plane_detection.py | 0 .../examples}/slam_visuation.py | 0 src/computer_vision/examples/yolo11n.pt | Bin 0 -> 5613764 bytes src/computer_vision/main.py | 6 + src/computer_vision/pyproject.toml | 11 + src/godot_sim/.editorconfig | 4 - src/godot_sim/.gitattributes | 2 - src/godot_sim/.gitignore | 3 - src/godot_sim/icon.svg | 1 - src/godot_sim/icon.svg.import | 37 - src/godot_sim/project.godot | 15 - src/godot_sim/scripts/depth_camera.gd | 100 -- src/godot_sim/scripts/depth_camera.gd.uid | 1 - src/godot_sim/scripts/detection_target.gd | 92 -- src/godot_sim/scripts/detection_target.gd.uid | 1 - src/godot_sim/scripts/main_scene.gd | 99 -- src/godot_sim/scripts/main_scene.gd.uid | 1 - src/godot_sim/scripts/submarine_controller.gd | 330 ---- .../scripts/submarine_controller.gd.uid | 1 - src/godot_sim/scripts/water_environment.gd | 173 --- .../scripts/water_environment.gd.uid | 1 - tools/hydrus_cli/.python-version | 1 + .../cv_node_py => tools/hydrus_cli/README.md | 0 .../commands => tools/hydrus_cli}/__init__.py | 0 .../commands => tools/hydrus_cli}/arduino.py | 16 +- .../commands => tools/hydrus_cli}/autonomy.py | 0 .../commands => tools/hydrus_cli}/build.py | 0 {scripts => tools/hydrus_cli}/cli.py | 14 +- tools/hydrus_cli/main.py | 6 + tools/hydrus_cli/pyproject.toml | 9 + .../test => tools/hydrus_cli}/test.py | 0 .../commands => tools/hydrus_cli}/tmux.py | 0 .../commands => tools/hydrus_cli}/todo.py | 0 .../commands => tools/hydrus_cli}/utils.py | 0 tools/test_lib/README.md | 1 + .../test => tools/test_lib}/test_cases.py | 0 .../test_lib}/test_config_loader.py | 0 .../test => tools/test_lib}/test_logger.py | 0 .../test => tools/test_lib}/test_manager.py | 0 uv.lock | 1368 +++++++++++++++++ 93 files changed, 1604 insertions(+), 3377 deletions(-) delete mode 100644 FORMATTING.md create mode 100644 autonomy/.python-version delete mode 100644 autonomy/action/NavigateToWaypoint.action delete mode 100644 autonomy/launch/depth_estimation.launch delete mode 100644 autonomy/launch/godot_bridge.launch delete mode 100644 autonomy/launch/profiler.launch delete mode 100644 autonomy/launch/simulation.launch create mode 100644 autonomy/main.py delete mode 100644 autonomy/msg/Detection.msg delete mode 100644 autonomy/msg/Detections.msg create mode 100644 autonomy/pyproject.toml delete mode 100644 autonomy/scripts/cv/depth_estimation_node.py delete mode 100644 autonomy/scripts/profiler/profiling_decorators.py delete mode 100644 autonomy/scripts/profiler/profiling_test.py delete mode 100644 autonomy/srv/FireTorpedo.srv delete mode 100644 autonomy/srv/SetColorFilter.srv delete mode 100644 autonomy/srv/SetYoloModel.srv delete mode 100644 autonomy2/package.xml delete mode 100644 autonomy2/src/cv_node_py/package.xml rename docker/amd64/{cuda => }/camera.Dockerfile (100%) delete mode 100644 docker/amd64/cpu/hydrus.Dockerfile delete mode 100644 docker/amd64/cuda/hydrus.Dockerfile create mode 100644 docker/amd64/foxy.Dockerfile create mode 100644 docker/amd64/noetic.Dockerfile create mode 100644 docker/amd64/pkgmanagers.Dockerfile delete mode 100644 docker/docker-compose-jetson-tx2.yaml delete mode 100755 docker/run_docker.py delete mode 100644 scripts/__init__.py delete mode 100755 scripts/activate_formatters.sh delete mode 100644 scripts/commands/dev.py delete mode 100644 scripts/commands/ros.py delete mode 100644 scripts/commands/runner.py delete mode 100644 scripts/commands/test/__init__.py delete mode 100644 scripts/commands/test/test_cache.py delete mode 100755 scripts/format.sh delete mode 100755 scripts/format_with_venv.sh delete mode 100644 scripts/install_ros2_jassy.sh delete mode 100755 scripts/jetson.py delete mode 100755 scripts/setup_formatting.sh delete mode 100755 scripts/setup_venv_formatters.sh delete mode 100644 scripts/tests.hss create mode 100644 src/computer_vision/.python-version create mode 100644 src/computer_vision/README.md rename {autonomy/scripts/cv => src/computer_vision/examples}/color_filters.py (100%) rename {autonomy/scripts/cv => src/computer_vision/examples}/distance.py (100%) rename {autonomy/scripts/cv => src/computer_vision/examples}/object_detector.py (100%) rename {autonomy/scripts/cv => src/computer_vision/examples}/orbs.py (100%) rename {autonomy/scripts/cv => src/computer_vision/examples}/plane_detection.py (100%) rename {autonomy/scripts/cv => src/computer_vision/examples}/slam_visuation.py (100%) create mode 100644 src/computer_vision/examples/yolo11n.pt create mode 100644 src/computer_vision/main.py create mode 100644 src/computer_vision/pyproject.toml delete mode 100644 src/godot_sim/.editorconfig delete mode 100644 src/godot_sim/.gitattributes delete mode 100644 src/godot_sim/.gitignore delete mode 100644 src/godot_sim/icon.svg delete mode 100644 src/godot_sim/icon.svg.import delete mode 100644 src/godot_sim/project.godot delete mode 100644 src/godot_sim/scripts/depth_camera.gd delete mode 100644 src/godot_sim/scripts/depth_camera.gd.uid delete mode 100644 src/godot_sim/scripts/detection_target.gd delete mode 100644 src/godot_sim/scripts/detection_target.gd.uid delete mode 100644 src/godot_sim/scripts/main_scene.gd delete mode 100644 src/godot_sim/scripts/main_scene.gd.uid delete mode 100644 src/godot_sim/scripts/submarine_controller.gd delete mode 100644 src/godot_sim/scripts/submarine_controller.gd.uid delete mode 100644 src/godot_sim/scripts/water_environment.gd delete mode 100644 src/godot_sim/scripts/water_environment.gd.uid create mode 100644 tools/hydrus_cli/.python-version rename autonomy2/src/cv_node_py/resource/cv_node_py => tools/hydrus_cli/README.md (100%) rename {scripts/commands => tools/hydrus_cli}/__init__.py (100%) rename {scripts/commands => tools/hydrus_cli}/arduino.py (95%) rename {scripts/commands => tools/hydrus_cli}/autonomy.py (100%) rename {scripts/commands => tools/hydrus_cli}/build.py (100%) rename {scripts => tools/hydrus_cli}/cli.py (69%) create mode 100644 tools/hydrus_cli/main.py create mode 100644 tools/hydrus_cli/pyproject.toml rename {scripts/commands/test => tools/hydrus_cli}/test.py (100%) rename {scripts/commands => tools/hydrus_cli}/tmux.py (100%) rename {scripts/commands => tools/hydrus_cli}/todo.py (100%) rename {scripts/commands => tools/hydrus_cli}/utils.py (100%) create mode 100644 tools/test_lib/README.md rename {scripts/commands/test => tools/test_lib}/test_cases.py (100%) rename {scripts/commands/test => tools/test_lib}/test_config_loader.py (100%) rename {scripts/commands/test => tools/test_lib}/test_logger.py (100%) rename {scripts/commands/test => tools/test_lib}/test_manager.py (100%) create mode 100644 uv.lock diff --git a/FORMATTING.md b/FORMATTING.md deleted file mode 100644 index 299aae8..0000000 --- a/FORMATTING.md +++ /dev/null @@ -1,101 +0,0 @@ -# Python Code Formatting Guide - -This project uses automated Python code formatting to ensure consistent code style across the entire codebase. - -## πŸš€ Quick Start - -### Option 1: Use the Virtual Environment (Recommended) -```bash -# One-time setup -./setup_venv_formatters.sh - -# Format your code -./format_with_venv.sh - -# Or activate and use manually -source activate_formatters.sh -black . --line-length 88 --target-version py38 -isort . --profile black -flake8 . -``` - -### Option 2: Use Existing Environment -```bash -# If you already have the tools installed -./format.sh -``` - -## πŸ”§ Tools Used - -- **Black** (24.10.0+): Automatic Python code formatter -- **isort** (6.0.1+): Import statement organizer -- **flake8** (7.2.0+): Code linter and style checker -- **pre-commit** (3.8.0+): Git hooks for automatic formatting - -## πŸ“ Files in This Setup - -| File | Purpose | -|------|---------| -| `setup_venv_formatters.sh` | Creates virtual environment with formatters | -| `activate_formatters.sh` | Quick activation script | -| `format_with_venv.sh` | Formats code using virtual environment | -| `format.sh` | Legacy formatting script | -| `pyproject.toml` | Tool configuration | -| `.flake8` | Flake8-specific configuration | -| `.pre-commit-config.yaml` | Git hooks configuration | - -## πŸ”„ CI/CD Integration - -The CI pipeline automatically checks code formatting on every pull request: - -1. **Black formatting check** - Ensures consistent code style -2. **Import sorting check** - Validates import organization -3. **Flake8 linting** - Checks for code quality issues - -If any check fails, the CI will block the PR with clear instructions to run the formatter. - -## πŸ› οΈ Configuration - -### Black Settings -- Line length: 88 characters -- Target Python version: 3.8 -- Profile: Compatible with isort - -### Flake8 Settings -- Ignores common style issues that don't affect functionality -- Focuses on important code quality checks -- Uses same line length as Black - -## πŸ’‘ Usage Tips - -1. **Before committing**: Pre-commit hooks will automatically format your code -2. **If CI fails**: Run `./format_with_venv.sh` to fix all issues -3. **For specific files**: Use tools directly after activating the environment - -## πŸ” Troubleshooting - -### Virtual Environment Issues -```bash -# If the environment is corrupted, recreate it -rm -rf .venv-formatters -./setup_venv_formatters.sh -``` - -### CI Version Conflicts -The CI uses flexible version ranges to ensure compatibility with the latest available public versions of the formatting tools. - -### Pre-commit Hook Issues -```bash -# Reinstall hooks if needed -source activate_formatters.sh -pre-commit install --overwrite -``` - -## πŸ“Š Version Compatibility - -This setup is designed to work with the latest publicly available versions: -- Black: `>=24.0.0,<25.0.0` -- isort: `>=5.12.0,<7.0.0` -- flake8: `>=6.0.0,<8.0.0` - -The virtual environment approach ensures consistent versions across all developers and CI environments. diff --git a/README.md b/README.md index 6ffc34f..1e06c41 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@

- Philosophy + Philosophy Β· Autonomy Docs Β· diff --git a/autonomy/.python-version b/autonomy/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/autonomy/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/autonomy/README.md b/autonomy/README.md index 31b780a..733a67c 100644 --- a/autonomy/README.md +++ b/autonomy/README.md @@ -1,5 +1,11 @@ # Hydrus Autonomy System + +This module is going to be deprecated for the following reasons: + + + + The Hydrus Autonomy System is a comprehensive ROS-based underwater vehicle control and mission management framework. This README documents all available scripts, their purpose, and usage instructions. > ⚠️ **Warning**: The mission API is currently under development. Some features may not work as expected and are subject to change. diff --git a/autonomy/action/NavigateToWaypoint.action b/autonomy/action/NavigateToWaypoint.action deleted file mode 100644 index 6d5e2ec..0000000 --- a/autonomy/action/NavigateToWaypoint.action +++ /dev/null @@ -1,10 +0,0 @@ -# Goal - -geometry_msgs/Point target_point ---- -# Feedback -float64 distance_to_target # Current distance to the target - ---- -# Result -bool success # True if the target was reached successfully, False otherwise diff --git a/autonomy/launch/depth_estimation.launch b/autonomy/launch/depth_estimation.launch deleted file mode 100644 index 5e05225..0000000 --- a/autonomy/launch/depth_estimation.launch +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/autonomy/launch/godot_bridge.launch b/autonomy/launch/godot_bridge.launch deleted file mode 100644 index b91975a..0000000 --- a/autonomy/launch/godot_bridge.launch +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/autonomy/launch/profiler.launch b/autonomy/launch/profiler.launch deleted file mode 100644 index a7677e1..0000000 --- a/autonomy/launch/profiler.launch +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - $(arg target_nodes) - - - diff --git a/autonomy/launch/simulation.launch b/autonomy/launch/simulation.launch deleted file mode 100644 index 3e8c19e..0000000 --- a/autonomy/launch/simulation.launch +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/autonomy/main.py b/autonomy/main.py new file mode 100644 index 0000000..428c106 --- /dev/null +++ b/autonomy/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from autonomy!") + + +if __name__ == "__main__": + main() diff --git a/autonomy/msg/Detection.msg b/autonomy/msg/Detection.msg deleted file mode 100644 index 38e226a..0000000 --- a/autonomy/msg/Detection.msg +++ /dev/null @@ -1,4 +0,0 @@ -int32 cls -float32 confidence -geometry_msgs/Point point -sensor_msgs/RegionOfInterest bounding_box diff --git a/autonomy/msg/Detections.msg b/autonomy/msg/Detections.msg deleted file mode 100644 index 80b3a13..0000000 --- a/autonomy/msg/Detections.msg +++ /dev/null @@ -1,2 +0,0 @@ -autonomy/Detection[] detections -string detector_name diff --git a/autonomy/pyproject.toml b/autonomy/pyproject.toml new file mode 100644 index 0000000..5294fc3 --- /dev/null +++ b/autonomy/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "autonomy" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "colorama>=0.4.6", + "fastapi>=0.116.1", + "matplotlib>=3.10.5", + "opencv-python>=4.11.0.86", + "pyserial>=3.5", + "requests>=2.32.5", + "termcolor>=3.1.0", + "uvicorn>=0.35.0", +] diff --git a/autonomy/scripts/cv/depth_estimation_node.py b/autonomy/scripts/cv/depth_estimation_node.py deleted file mode 100644 index 463a612..0000000 --- a/autonomy/scripts/cv/depth_estimation_node.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python3 -""" -ROS node for depth estimation using Depth-Anything-ONNX -Publishes depth maps and provides depth estimation services -""" - -import os -import sys - -import cv2 -import numpy as np -import rospy -from cv_bridge import CvBridge -from sensor_msgs.msg import CompressedImage, Image -from std_msgs.msg import Float32 - -# Add the computer vision module to path -sys.path.append(os.path.dirname(__file__)) - -try: - from computer_vision.depth_estimation import DepthEstimator - - DEPTH_ESTIMATION_AVAILABLE = True -except ImportError as e: - DEPTH_ESTIMATION_AVAILABLE = False - rospy.logwarn(f"Depth estimation dependencies not available: {e}") - rospy.logwarn("Install with: pip install -e .[depth-estimation]") - - -class DepthEstimationNode: - """ROS node for depth estimation""" - - def __init__(self): - rospy.init_node("depth_estimation_node") - - # Check if depth estimation is available - if not DEPTH_ESTIMATION_AVAILABLE: - rospy.logerr("Depth estimation dependencies not installed!") - rospy.logerr("Install with: pip install -e .[depth-estimation]") - rospy.signal_shutdown("Missing dependencies") - return - - # Parameters - self.encoder = rospy.get_param("~encoder", "vitb") - self.model_path = rospy.get_param("~model_path", None) - self.input_topic = rospy.get_param("~input_topic", "/camera/image_raw") - self.use_compressed = rospy.get_param("~use_compressed", False) - self.publish_colored = rospy.get_param("~publish_colored", True) - - # Initialize components - self.bridge = CvBridge() - - try: - self.depth_estimator = DepthEstimator( - model_path=self.model_path, encoder=self.encoder - ) - except ImportError as e: - rospy.logerr(f"Failed to initialize depth estimator: {e}") - rospy.signal_shutdown("Depth estimator initialization failed") - return - - # Publishers - self.depth_pub = rospy.Publisher("~depth_map", Image, queue_size=1) - self.depth_colored_pub = rospy.Publisher("~depth_colored", Image, queue_size=1) - self.center_depth_pub = rospy.Publisher("~center_depth", Float32, queue_size=1) - - # Subscribers - if self.use_compressed: - self.image_sub = rospy.Subscriber( - self.input_topic, CompressedImage, self.compressed_image_callback - ) - else: - self.image_sub = rospy.Subscriber( - self.input_topic, Image, self.image_callback - ) - - rospy.loginfo(f"Depth estimation node started with encoder: {self.encoder}") - rospy.loginfo(f"Subscribing to: {self.input_topic}") - - def image_callback(self, msg): - """Process uncompressed image messages""" - try: - # Convert ROS image to OpenCV - cv_image = self.bridge.imgmsg_to_cv2(msg, "bgr8") - self.process_image(cv_image, msg.header) - except Exception as e: - rospy.logerr(f"Error processing image: {e}") - - def compressed_image_callback(self, msg): - """Process compressed image messages""" - try: - # Convert compressed image to OpenCV - np_arr = np.frombuffer(msg.data, np.uint8) - cv_image = cv2.imdecode(np_arr, cv2.IMREAD_COLOR) - self.process_image(cv_image, msg.header) - except Exception as e: - rospy.logerr(f"Error processing compressed image: {e}") - - def process_image(self, cv_image, header): - """Process image and publish depth information""" - try: - # Estimate depth - raw_depth, viz_depth = self.depth_estimator.estimate_depth(cv_image) - - # Publish raw depth map - depth_msg = self.bridge.cv2_to_imgmsg(raw_depth.astype(np.float32), "32FC1") - depth_msg.header = header - self.depth_pub.publish(depth_msg) - - # Publish colored depth map if enabled - if self.publish_colored: - colored_depth = self.depth_estimator.create_colored_depth_map(viz_depth) - colored_msg = self.bridge.cv2_to_imgmsg(colored_depth, "bgr8") - colored_msg.header = header - self.depth_colored_pub.publish(colored_msg) - - # Publish center depth value - h, w = cv_image.shape[:2] - center_depth = self.depth_estimator.get_depth_at_point( - raw_depth, w // 2, h // 2 - ) - center_msg = Float32() - center_msg.data = center_depth - self.center_depth_pub.publish(center_msg) - - except Exception as e: - rospy.logerr(f"Error in depth processing: {e}") - - -if __name__ == "__main__": - try: - node = DepthEstimationNode() - rospy.spin() - except rospy.ROSInterruptException: - pass diff --git a/autonomy/scripts/profiler/profiling_decorators.py b/autonomy/scripts/profiler/profiling_decorators.py deleted file mode 100644 index a155adb..0000000 --- a/autonomy/scripts/profiler/profiling_decorators.py +++ /dev/null @@ -1,276 +0,0 @@ -#!/usr/bin/env python3 -""" -Function Profiling Decorators - -Decorators and utilities for profiling function execution times in ROS nodes. -Use these to instrument critical functions for detailed performance analysis. - -Usage: - from autonomy.scripts.services.profiling_decorators import profile_function, ProfileManager - - # Decorate functions you want to profile - @profile_function("cv_processing") - def process_image(self, image): - # Your function code here - pass - - # Get profiling results - ProfileManager.get_stats() -""" - -import functools -import json -import threading -import time -from collections import defaultdict, deque -from typing import Any, Callable, Dict, List, Optional - - -class ProfileManager: - """Global manager for function profiling data""" - - _instance = None - _lock = threading.Lock() - - def __new__(cls): - if cls._instance is None: - with cls._lock: - if cls._instance is None: - cls._instance = super().__new__(cls) - cls._instance._initialized = False - return cls._instance - - def __init__(self): - if self._initialized: - return - - self.function_stats = defaultdict( - lambda: { - "call_count": 0, - "total_time": 0.0, - "min_time": float("inf"), - "max_time": 0.0, - "recent_times": deque(maxlen=100), # Last 100 calls - "avg_time": 0.0, - "calls_per_second": 0.0, - "last_call": 0.0, - } - ) - self.node_name = "unknown" - self._initialized = True - - def set_node_name(self, name: str): - """Set the name of the current node""" - self.node_name = name - - def record_function_call(self, function_name: str, execution_time: float): - """Record a function call and its execution time""" - with self._lock: - stats = self.function_stats[function_name] - current_time = time.time() - - # Update basic stats - stats["call_count"] += 1 - stats["total_time"] += execution_time - stats["min_time"] = min(stats["min_time"], execution_time) - stats["max_time"] = max(stats["max_time"], execution_time) - stats["recent_times"].append(execution_time) - stats["last_call"] = current_time - - # Calculate averages - stats["avg_time"] = stats["total_time"] / stats["call_count"] - - # Calculate calls per second (based on recent calls) - if len(stats["recent_times"]) > 1: - time_span = current_time - (current_time - len(stats["recent_times"])) - if time_span > 0: - stats["calls_per_second"] = len(stats["recent_times"]) / time_span - - def get_stats(self) -> Dict[str, Any]: - """Get current profiling statistics""" - with self._lock: - return {"node_name": self.node_name, "functions": dict(self.function_stats)} - - def get_top_functions( - self, metric: str = "total_time", limit: int = 10 - ) -> List[tuple]: - """Get top functions by specified metric""" - with self._lock: - functions = [] - for func_name, stats in self.function_stats.items(): - if metric in stats: - functions.append((func_name, stats[metric])) - - functions.sort(key=lambda x: x[1], reverse=True) - return functions[:limit] - - def reset_stats(self): - """Reset all profiling statistics""" - with self._lock: - self.function_stats.clear() - - @classmethod - def get_instance(cls): - """Get the singleton instance""" - return cls() - - -def profile_function(name: Optional[str] = None, category: str = "general"): - """ - Decorator to profile function execution time - - Args: - name: Custom name for the function (defaults to function name) - category: Category for grouping related functions - """ - - def decorator(func: Callable) -> Callable: - function_name = name or f"{category}.{func.__name__}" - - @functools.wraps(func) - def wrapper(*args, **kwargs): - start_time = time.perf_counter() - try: - result = func(*args, **kwargs) - return result - finally: - end_time = time.perf_counter() - execution_time = end_time - start_time - ProfileManager.get_instance().record_function_call( - function_name, execution_time - ) - - return wrapper - - return decorator - - -def profile_method(name: Optional[str] = None, category: str = "methods"): - """ - Decorator specifically for class methods - - Args: - name: Custom name for the method (defaults to class.method) - category: Category for grouping related methods - """ - - def decorator(func: Callable) -> Callable: - @functools.wraps(func) - def wrapper(self, *args, **kwargs): - if name: - function_name = name - else: - class_name = self.__class__.__name__ - function_name = f"{category}.{class_name}.{func.__name__}" - - start_time = time.perf_counter() - try: - result = func(self, *args, **kwargs) - return result - finally: - end_time = time.perf_counter() - execution_time = end_time - start_time - ProfileManager.get_instance().record_function_call( - function_name, execution_time - ) - - return wrapper - - return decorator - - -class FunctionProfiler: - """Context manager for profiling code blocks""" - - def __init__(self, name: str): - self.name = name - self.start_time = None - - def __enter__(self): - self.start_time = time.perf_counter() - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - if self.start_time: - execution_time = time.perf_counter() - self.start_time - ProfileManager.get_instance().record_function_call( - self.name, execution_time - ) - - -def profile_ros_callback(topic_name: str): - """ - Decorator specifically for ROS callback functions - - Args: - topic_name: Name of the ROS topic for identification - """ - - def decorator(func: Callable) -> Callable: - function_name = f"ros_callback.{topic_name}.{func.__name__}" - - @functools.wraps(func) - def wrapper(*args, **kwargs): - start_time = time.perf_counter() - try: - result = func(*args, **kwargs) - return result - finally: - end_time = time.perf_counter() - execution_time = end_time - start_time - ProfileManager.get_instance().record_function_call( - function_name, execution_time - ) - - return wrapper - - return decorator - - -def export_profiling_data(filename: str): - """Export profiling data to JSON file""" - stats = ProfileManager.get_instance().get_stats() - - # Convert deque objects to lists for JSON serialization - for func_stats in stats["functions"].values(): - if "recent_times" in func_stats: - func_stats["recent_times"] = list(func_stats["recent_times"]) - - with open(filename, "w") as f: - json.dump(stats, f, indent=2, default=str) - - -# Example usage and testing -if __name__ == "__main__": - # Example of how to use the profiling decorators - - @profile_function("test_function", "testing") - def slow_function(): - time.sleep(0.1) - return "done" - - @profile_method("test_method", "testing") - class TestClass: - def slow_method(self): - time.sleep(0.05) - return "method done" - - # Test the profiling - ProfileManager.get_instance().set_node_name("test_node") - - # Call functions multiple times - for i in range(5): - slow_function() - - test_obj = TestClass() - for i in range(3): - test_obj.slow_method() - - # Use context manager - with FunctionProfiler("manual_timing"): - time.sleep(0.02) - - # Print results - stats = ProfileManager.get_instance().get_stats() - print("Profiling Results:") - print(json.dumps(stats, indent=2, default=str)) diff --git a/autonomy/scripts/profiler/profiling_test.py b/autonomy/scripts/profiler/profiling_test.py deleted file mode 100644 index 60a9bc8..0000000 --- a/autonomy/scripts/profiler/profiling_test.py +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env python3 -""" -Simple test of the profiling decorators without ROS dependencies -This allows testing the profiling functionality independently -""" - -import os -import sys -import time - -import numpy as np - -# Add the current directory to path -sys.path.append(os.path.dirname(__file__)) - -from profiling_decorators import ( - FunctionProfiler, - ProfileManager, - export_profiling_data, - profile_function, - profile_method, -) - -# Initialize profiling -ProfileManager.get_instance().set_node_name("profiling_test") - - -@profile_function("image_processing", "cv") -def process_image(image): - """Mock image processing function""" - with FunctionProfiler("cv.blur"): - # Simulate Gaussian blur - time.sleep(0.01) # Simulate processing time - - with FunctionProfiler("cv.threshold"): - # Simulate thresholding - time.sleep(0.005) - - return True - - -@profile_function("detection", "cv") -def detect_objects(image): - """Mock object detection""" - with FunctionProfiler("cv.inference"): - time.sleep(0.02) # Simulate model inference - - with FunctionProfiler("cv.postprocess"): - time.sleep(0.003) # Simulate post-processing - - return [{"bbox": [100, 100, 50, 50], "confidence": 0.8}] - - -class MockProcessor: - @profile_method("process_frame", "pipeline") - def process_frame(self, frame): - """Mock frame processing pipeline""" - process_image(frame) - detections = detect_objects(frame) - return detections - - -def main(): - print("πŸ”§ Testing Profiling Decorators") - print("=" * 40) - - # Create mock data - mock_image = np.zeros((480, 640, 3), dtype=np.uint8) - processor = MockProcessor() - - # Run multiple iterations to collect data - print("Running profiling test iterations...") - for i in range(20): - processor.process_frame(mock_image) - if i % 5 == 0: - print(f"Completed {i+1}/20 iterations") - - # Get and display results - stats = ProfileManager.get_instance().get_stats() - print(f"\nπŸ“ˆ Profiling Results:") - print(f"Node: {stats['node_name']}") - print(f"Functions profiled: {len(stats['functions'])}") - print() - - # Sort functions by total time - sorted_functions = sorted( - stats["functions"].items(), key=lambda x: x[1]["total_time"], reverse=True - ) - - print("Function Performance (sorted by total time):") - print("-" * 60) - print(f"{'Function':<25} {'Calls':<8} {'Avg (ms)':<10} {'Total (ms)':<12}") - print("-" * 60) - - for func_name, func_stats in sorted_functions: - avg_time = func_stats["avg_time"] * 1000 - total_time = func_stats["total_time"] * 1000 - call_count = func_stats["call_count"] - print(f"{func_name:<25} {call_count:<8} {avg_time:<10.2f} {total_time:<12.2f}") - - # Export data - export_filename = "profiling_test_results.json" - export_profiling_data(export_filename) - print(f"\nβœ… Detailed results exported to {export_filename}") - - # Show top slowest functions - print(f"\n🐌 Top 3 slowest functions (by average time):") - top_slow = ProfileManager.get_instance().get_top_functions("avg_time", 3) - for i, (func_name, avg_time) in enumerate(top_slow, 1): - print(f" {i}. {func_name}: {avg_time*1000:.2f}ms avg") - - -if __name__ == "__main__": - main() diff --git a/autonomy/srv/FireTorpedo.srv b/autonomy/srv/FireTorpedo.srv deleted file mode 100644 index d1472cd..0000000 --- a/autonomy/srv/FireTorpedo.srv +++ /dev/null @@ -1,4 +0,0 @@ -int8 torpedo_number # Which torpedo to fire (1 or 2) ---- -bool success # Whether the torpedo was fired successfully -string message # Additional information or error message diff --git a/autonomy/srv/SetColorFilter.srv b/autonomy/srv/SetColorFilter.srv deleted file mode 100644 index 02395fc..0000000 --- a/autonomy/srv/SetColorFilter.srv +++ /dev/null @@ -1,8 +0,0 @@ -# SetColorFilter.srv -float32 tolerance -float32 min_confidence -float32 min_area -int32[] rgb_range ---- -bool success -string message diff --git a/autonomy/srv/SetYoloModel.srv b/autonomy/srv/SetYoloModel.srv deleted file mode 100644 index 040daa4..0000000 --- a/autonomy/srv/SetYoloModel.srv +++ /dev/null @@ -1,4 +0,0 @@ -string model_name ---- -bool success -string message diff --git a/autonomy2/package.xml b/autonomy2/package.xml deleted file mode 100644 index 934b8a1..0000000 --- a/autonomy2/package.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - autonomy - 0.1.0 - ROS2 port of Hydrus computer vision node and custom messages. - Your Name - MIT - - ament_cmake - - rclcpp - sensor_msgs - geometry_msgs - rosidl_default_generators - action_msgs - - rclcpp - sensor_msgs - geometry_msgs - rosidl_default_runtime - action_msgs - - rosidl_interface_packages - diff --git a/autonomy2/src/cv_node_py/package.xml b/autonomy2/src/cv_node_py/package.xml deleted file mode 100644 index 343e633..0000000 --- a/autonomy2/src/cv_node_py/package.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - cv_node_py - 0.1.0 - ROS2 Python CV node that reuses detection_core.py - Your Name - MIT - - ament_python - - rclpy - sensor_msgs - geometry_msgs - autonomy - - ultralytics - opencv-python - numpy - - - ament_python - - diff --git a/docker/amd64/cuda/camera.Dockerfile b/docker/amd64/camera.Dockerfile similarity index 100% rename from docker/amd64/cuda/camera.Dockerfile rename to docker/amd64/camera.Dockerfile diff --git a/docker/amd64/cpu/hydrus.Dockerfile b/docker/amd64/cpu/hydrus.Dockerfile deleted file mode 100644 index ac7e556..0000000 --- a/docker/amd64/cpu/hydrus.Dockerfile +++ /dev/null @@ -1,109 +0,0 @@ -# Use Ubuntu 20.04 as base image -FROM ubuntu:20.04 - -ARG DEBIAN_FRONTEND=noninteractive -# Update package list -RUN apt-get update && apt-get install -y lsb-release gnupg curl software-properties-common - -# Setup ROS repositories -RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' -RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - - -# Install ROS Noetic base -RUN apt-get update && apt-get install -y ros-noetic-ros-base - -# Add the deadsnakes PPA and install Python 3.8 -RUN add-apt-repository -y ppa:deadsnakes/ppa && \ - apt-get update && \ - apt-get install -y python3.8 python3.8-distutils python3.8-venv - -# Set Python 3.8 as the default -RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 - -# Install pip for Python 3.8 -RUN curl -sS https://bootstrap.pypa.io/pip/3.8/get-pip.py | python3.8 - -#Add kisak-mesa PPA (for latest graphics drivers) -RUN add-apt-repository -y ppa:kisak/kisak-mesa - -# Camera and Computer Vision Dependencies Python-3 -RUN apt-get update && apt-get install -y \ - python3-pip \ - python3-numpy\ - python3-opencv \ - libgl1-mesa-glx \ - ros-noetic-cv-bridge \ - ros-noetic-vision-opencv\ - libbullet-dev \ - python3-empy - - -RUN apt-get update && apt-get install -y\ - ros-noetic-tf2-geometry-msgs\ - python3-tf2-kdl - -RUN sudo sh -c \ - 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' &&\ - curl https://packages.osrfoundation.org/gazebo.key | sudo apt-key add - &&\ - apt-get update && apt-get install -y ignition-fortress ros-noetic-ros-ign &&\ - echo "export GZ_VERSION=fortress" >> /root/.bashrc - - -# Embedded Node Dependencies -RUN apt-get install -y --no-install-recommends \ - gcc \ - curl \ - git - -# ROS setup -RUN /bin/bash -c 'source /opt/ros/noetic/setup.bash && \ - mkdir -p /home/catkin_ws/src && \ - cd /home/catkin_ws/ && \ - catkin_make' -RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc - -# Install Arduino CLI and libraries -WORKDIR /usr/local/ -RUN curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh && \ - arduino-cli core update-index && \ - arduino-cli core install arduino:avr -RUN arduino-cli lib install "Servo@1.2.1" && \ - arduino-cli lib install "BlueRobotics MS5837 Library@1.1.1" - - -# Copy embedded Arduino code in the Arduino libraries folder - -# Copy dvl embedded driver -COPY ./devices/DVL/Wayfinder /opt/Wayfinder -WORKDIR /opt/Wayfinder - -# Ultralytics with NO GPU -RUN python3 -m pip install --extra-index-url https://download.pytorch.org/whl/cpu ultralytics -# Copy the Python Dependencies and Install them -COPY ./requirements.txt /requirements.txt -RUN python3 -m pip install --ignore-installed -r /requirements.txt - -# Install Default models for YOLO -RUN echo "export MESA_GL_VERSION_OVERRIDE=3.3" >> /root/.bashrc - -# Install additional dependencies for the embedded node -# Install tmux, vim, git, and htop in a single RUN command -RUN apt-get update && apt-get install -y tmux vim git htop socat - -RUN apt-get update && apt-get install -y \ - ros-noetic-rviz \ - ros-noetic-rqt \ - ros-noetic-rosbag \ - ros-noetic-image-view \ - ros-noetic-tf \ - ros-noetic-tf2-ros \ - ros-noetic-image-transport \ - ros-noetic-laser-proc - -COPY ./devices/Arduino/HydrusModule /root/Arduino/libraries/HydrusModule - -COPY ./ /catkin_ws/src/hydrus-software-stack -WORKDIR /catkin_ws/src/hydrus-software-stack - - -CMD ["/bin/bash", "-c", "sleep infinity"] diff --git a/docker/amd64/cuda/hydrus.Dockerfile b/docker/amd64/cuda/hydrus.Dockerfile deleted file mode 100644 index 3d4cf0d..0000000 --- a/docker/amd64/cuda/hydrus.Dockerfile +++ /dev/null @@ -1,100 +0,0 @@ -# Use Ubuntu 20.04 as base image -FROM ubuntu:20.04 - -# Update package list -ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get install -y lsb-release gnupg curl software-properties-common - -# Setup ROS repositories -RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' -RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - - -# Install ROS Noetic base and catkin build tools -RUN apt-get update && apt-get install -y ros-noetic-ros-base python3-catkin-tools ros-noetic-catkin - -# Add the deadsnakes PPA and install Python 3.8 -RUN add-apt-repository -y ppa:deadsnakes/ppa && \ - apt-get update && \ - apt-get install -y python3.8 python3.8-distutils python3.8-venv - -# Set Python 3.8 as the default -RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 - -# Install pip for Python 3.8 -RUN curl -sS https://bootstrap.pypa.io/pip/3.8/get-pip.py | python3.8 - -#Add kisak-mesa PPA (for latest graphics drivers) -RUN add-apt-repository -y ppa:kisak/kisak-mesa - - -# Camera and Computer Vision Dependencies Python-3 -RUN apt-get update && apt-get install -y \ - python3-pip \ - python3-numpy\ - python3-opencv \ - libgl1-mesa-glx \ - ros-noetic-cv-bridge \ - ros-noetic-vision-opencv\ - libbullet-dev \ - python3-empy - - -RUN apt-get update && apt-get install -y\ - ros-noetic-tf2-geometry-msgs\ - python3-tf2-kdl - - -RUN sudo sh -c \ - 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' &&\ - curl https://packages.osrfoundation.org/gazebo.key | sudo apt-key add - &&\ - apt-get update && apt-get install -y ignition-fortress ros-noetic-ros-ign &&\ - echo "export GZ_VERSION=fortress" >> /root/.bashrc - - -# Embedded Node Dependencies -RUN apt-get install -y --no-install-recommends \ - gcc \ - curl \ - git - -# ROS setup -RUN /bin/bash -c 'source /opt/ros/noetic/setup.bash && \ - mkdir -p /home/catkin_ws/src && \ - cd /home/catkin_ws/ && \ - catkin_make' -RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc - -# Install Arduino CLI and libraries -WORKDIR /usr/local/ -RUN curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh && \ - arduino-cli core update-index && \ - arduino-cli core install arduino:avr &&\ - arduino-cli lib install "Servo@1.2.1" && \ - arduino-cli lib install "BlueRobotics MS5837 Library@1.1.1" - - -# Copy the Python Dependencies and Install them -COPY ./requirements.txt /requirements.txt - -# Ultralytics with GPU -RUN python3 -m pip install ultralytics -RUN python3 -m pip install -r /requirements.txt - -# Install Default models for YOLO -RUN curl -Lo /yolov8n.pt https://github.com/ultralytics/assets/releases/latest/download/yolov8n.pt -RUN curl -Lo /yolov8s-world.pt https://github.com/ultralytics/assets/releases/latest/download/yolov8s-world.pt - -RUN apt-get install -y libeigen3-dev python3-tf2-kdl -RUN apt-get update && apt-get install -y ros-noetic-tf2-geometry-msgs -RUN echo "export MESA_GL_VERSION_OVERRIDE=3.3" >> /root/.bashrc - -# Install additional dependencies for the embedded node -# Install tmux, vim, git, and htop in a single RUN command -RUN apt-get update && apt-get install -y tmux vim git htop socat - -# Copy embedded Arduino code in the Arduino libraries folder -COPY ./devices/Arduino/HydrusModule /root/Arduino/libraries/HydrusModule - -COPY ./ /catkin_ws/src/hydrus-software-stack -WORKDIR /catkin_ws/src/hydrus-software-stack -CMD ["/bin/bash", "-c", "sleep infinity"] diff --git a/docker/amd64/foxy.Dockerfile b/docker/amd64/foxy.Dockerfile new file mode 100644 index 0000000..04f8a9b --- /dev/null +++ b/docker/amd64/foxy.Dockerfile @@ -0,0 +1,50 @@ +# Hydrus ROS 2 (Foxy) layer built on shared base +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +# Common packages for all Hydrus images +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + gcc \ + cmake \ + git \ + wget \ + curl \ + lsb-release \ + gnupg \ + software-properties-common \ + ca-certificates \ + tmux \ + vim \ + htop \ + socat \ + locales \ + && locale-gen en_US en_US.UTF-8 \ + && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* + + +ENV ROS_DISTRO=foxy \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +# Configure locale and add ROS 2 apt repository; install core + dev tools +RUN locale-gen en_US en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 \ + && echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros2.list \ + && curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | apt-key add - \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + ros-foxy-ros-base \ + ros-foxy-tf2-ros \ + ros-foxy-tf2-geometry-msgs \ + ros-foxy-image-transport \ + ros-foxy-rviz2 \ + ros-foxy-rqt \ + ros-foxy-rosbag2 \ + ros-foxy-ros2bag \ + ros-foxy-rqt-image-view \ + python3-colcon-common-extensions \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker/amd64/noetic.Dockerfile b/docker/amd64/noetic.Dockerfile new file mode 100644 index 0000000..fca2418 --- /dev/null +++ b/docker/amd64/noetic.Dockerfile @@ -0,0 +1,46 @@ +# Hydrus ROS 1 (Noetic) layer built on shared base +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +# Common packages for all Hydrus images +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + gcc \ + cmake \ + git \ + wget \ + curl \ + lsb-release \ + gnupg \ + software-properties-common \ + ca-certificates \ + tmux \ + vim \ + htop \ + socat \ + locales \ + && locale-gen en_US en_US.UTF-8 \ + && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* + + +# Add ROS 1 repo and install core + commonly used packages +RUN echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list \ + && curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + ros-noetic-ros-base \ + ros-noetic-tf2-geometry-msgs \ + python3-tf2-kdl \ + ros-noetic-rviz \ + ros-noetic-rqt \ + ros-noetic-rosbag \ + ros-noetic-image-view \ + ros-noetic-tf \ + ros-noetic-tf2-ros \ + ros-noetic-image-transport \ + ros-noetic-laser-proc \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker/amd64/pkgmanagers.Dockerfile b/docker/amd64/pkgmanagers.Dockerfile new file mode 100644 index 0000000..e724c09 --- /dev/null +++ b/docker/amd64/pkgmanagers.Dockerfile @@ -0,0 +1,39 @@ +# Hydrus package managers layer: Python uv, Arduino CLI, Cargo +# Inherit from either the base or a ROS layer depending on use case +ARG PARENT_IMAGE +FROM ${PARENT_IMAGE} + +# Ensure common env is present if base is used +ENV PATH="/root/.local/bin:${PATH}" + +# Python and venv utilities +RUN apt-get update && apt-get install -y --no-install-recommends \ + python3 \ + python3-venv \ + python3-pip \ + && rm -rf /var/lib/apt/lists/* + +# Install uv (https://astral.sh/uv) +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +# Install Arduino CLI (package manager for Arduino cores/libs) +RUN curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh + +# Install Cargo (Rust package manager) without baking toolchains/deps +RUN apt-get update && apt-get install -y --no-install-recommends cargo && rm -rf /var/lib/apt/lists/* + +# Set cache locations to bind-mounted repo by default; can be overridden at runtime +ENV WORKDIR_PATH=/home/catkin_ws/src/hydrus-software-stack \ + UV_CACHE_DIR=/home/catkin_ws/src/hydrus-software-stack/.uv-cache \ + PIP_CACHE_DIR=/home/catkin_ws/src/hydrus-software-stack/.pip-cache \ + ARDUINO_DATA_DIR=/home/catkin_ws/src/hydrus-software-stack/.arduino15 \ + ARDUINO_SKETCHBOOK_DIR=/home/catkin_ws/src/hydrus-software-stack/Arduino \ + CARGO_HOME=/home/catkin_ws/src/hydrus-software-stack/.cargo \ + RUSTUP_HOME=/home/catkin_ws/src/hydrus-software-stack/.rustup \ + PATH="/root/.local/bin:${CARGO_HOME}/bin:${PATH}" + +# Prepare directories and symlinks for caches +RUN mkdir -p "$ARDUINO_DATA_DIR" "$ARDUINO_SKETCHBOOK_DIR/libraries" "$CARGO_HOME/bin" "$RUSTUP_HOME" \ + && rm -rf /root/.arduino15 /root/Arduino \ + && ln -s "$ARDUINO_DATA_DIR" /root/.arduino15 \ + && ln -s "$ARDUINO_SKETCHBOOK_DIR" /root/Arduino diff --git a/docker/docker-compose-amd64-cpu.yaml b/docker/docker-compose-amd64-cpu.yaml index 46150f7..32927e5 100644 --- a/docker/docker-compose-amd64-cpu.yaml +++ b/docker/docker-compose-amd64-cpu.yaml @@ -1,5 +1,3 @@ -version: '3.8' - services: ros-master: image: ros:noetic-ros-core @@ -14,36 +12,21 @@ services: hydrus_cpu: build: context: ../../hydrus-software-stack - dockerfile: docker/amd64/cpu/hydrus.Dockerfile + args: + PARENT_IMAGE: "noetic:latest" + dockerfile: docker/amd64/pkgmanagers.Dockerfile privileged: true stdin_open: true tty: true ports: - "8000:8000" - - "5000:5000" # Added port for Flask detection viewer - devices: - - "/dev/ttyACM0:/dev/ttyACM0" - - "/dev/ttyACM1:/dev/ttyACM1" # Added ttyACM1 mapping - - "/dev/ttyUSB0:/dev/ttyUSB0" # Added ttyUSB0 mapping - - "/dev/dri:/dev/dri" + - "5000:5000" environment: - ROS_MASTER_URI=http://ros-master:11311 - - ARDUINO_BOARD=arduino:avr:uno - - VOLUME - - ROSBAG_PLAYBACK - - DEBUG_ARDUINO - - DISPLAY=${DISPLAY} # Pass the DISPLAY variable from the host - - RVIZ - - TEST - - NO_BUILD - - TMUX_SESSIONS - - ARDUINO_COMPILE - - VIRTUAL_ARDUINO + - DISPLAY=${DISPLAY} volumes: - "../:/home/catkin_ws/src/hydrus-software-stack" - "/tmp/.X11-unix:/tmp/.X11-unix" - - "../rosbags:/rosbags" - - "../yolo_models:/yolo_models" # Volume for YOLO models command: /bin/bash -c "sleep infinity" depends_on: - ros-master diff --git a/docker/docker-compose-jetson-tx2.yaml b/docker/docker-compose-jetson-tx2.yaml deleted file mode 100644 index 17f4367..0000000 --- a/docker/docker-compose-jetson-tx2.yaml +++ /dev/null @@ -1,66 +0,0 @@ -version: '3.8' - -services: - ros-master: - image: ros:noetic-ros-core - command: stdbuf -o L roscore - ports: - - "11311:11311" - - zed-camera: - build: - context: ../ - dockerfile: jetson/camera.Dockerfile - privileged: true - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] - environment: - - ROS_MASTER_URI=http://ros-master:11311 - depends_on: - - ros-master - - hydrus_jetson: - build: - context: ../ - dockerfile: jetson/hydrus.Dockerfile - privileged: true - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] - stdin_open: true - tty: true - volumes: - - "../:/home/catkin_ws/src" - - "/tmp/.X11-unix:/tmp/.X11-unix" - - "../rosbags:/rosbags" - - "../yolo_models:/yolo_models" # Volume for YOLO models - ports: - - "8000:8000" - devices: - - "/dev/ttyACM0:/dev/ttyACM0" - environment: - - ROS_MASTER_URI=http://ros-master:11311 - - ARDUINO_BOARD=arduino:avr:uno - - VOLUME - - ROSBAG_PLAYBACK - - DEBUG_ARDUINO - - DISPLAY=${DISPLAY} - - RVIZ - - TEST - - NO_BUILD - - TMUX_SESSIONS - - ARDUINO_COMPILE - - VIRTUAL_ARDUINO - command: /bin/bash -c "sleep infinity" - depends_on: - - ros-master - - zed-camera diff --git a/docker/run_docker.py b/docker/run_docker.py deleted file mode 100755 index 9ed4a77..0000000 --- a/docker/run_docker.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -""" -Hydrus Docker Deployment - Main Entry Point -Simple wrapper that calls the modular hocker script -""" - -import os -import sys -from pathlib import Path - - -def main(): - """Entry point that delegates to the hocker script""" - hocker_script = Path(__file__).parent / "hydrus-docker" / "hocker" - - if not hocker_script.exists(): - print("❌ Error: hocker script not found in hydrus-docker folder") - sys.exit(1) - - # Pass all arguments to the hocker script and replace current process - try: - # Use execve to replace current process with hocker - env = os.environ.copy() - os.execve( - sys.executable, [sys.executable, str(hocker_script)] + sys.argv[1:], env - ) - except KeyboardInterrupt: - print("\nπŸ›‘ Operation cancelled by user") - sys.exit(1) - except Exception as e: - print(f"❌ Error running hocker: {e}") - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/hocker b/hocker index 20b74cc..474d715 120000 --- a/hocker +++ b/hocker @@ -1 +1 @@ -/home/catkin_ws/src/hydrus-software-stack/docker/hydrus-docker/hocker.py \ No newline at end of file +/home/cesar/Projects/hydrus-software-stack/docker/hydrus-docker/hocker.py \ No newline at end of file diff --git a/hydrus-cli b/hydrus-cli index 3074f4a..03199d0 100755 --- a/hydrus-cli +++ b/hydrus-cli @@ -5,9 +5,6 @@ # Get the directory where this wrapper is located (should be project root) SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -# Set HYDRUS_ROOT environment variable to ensure test system works correctly -export HYDRUS_ROOT="$SCRIPT_DIR" - # Change to the project directory to ensure proper module resolution cd "$SCRIPT_DIR" diff --git a/pyproject.toml b/pyproject.toml index e32b941..cf0a375 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,46 +1,6 @@ -[tool.black] -line-length = 88 -target-version = ['py38'] -include = '\.pyi?$' -extend-exclude = ''' -/( - # directories - \.eggs - | \.git - | \.hg - | \.mypy_cache - | \.tox - | \.venv - | _build - | buck-out - | build - | dist -)/ -''' - -[tool.isort] -profile = "black" -multi_line_output = 3 -line_length = 88 -known_first_party = ["autonomy", "mission_planner", "computer_vision"] -known_third_party = ["rospy", "cv2", "numpy", "matplotlib", "flask", "fastapi"] - -[tool.mypy] -python_version = "3.8" -warn_return_any = true -warn_unused_configs = true -disallow_untyped_defs = true -ignore_missing_imports = true - -[tool.flake8] -max-line-length = 88 -extend-ignore = ["E203", "W503"] -exclude = [ - ".git", - "__pycache__", - "docs/source/conf.py", - "old", - "build", - "dist", - ".venv" +[tool.uv.workspace] +members = [ + "src/computer_vision", + "tools/hydrus_cli", + "autonomy", ] diff --git a/scripts/__init__.py b/scripts/__init__.py deleted file mode 100644 index 7994ee4..0000000 --- a/scripts/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Scripts package diff --git a/scripts/activate_formatters.sh b/scripts/activate_formatters.sh deleted file mode 100755 index ed89f1c..0000000 --- a/scripts/activate_formatters.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# Quick activation script for formatter virtual environment -echo "πŸ”Œ Activating formatter virtual environment..." -source .venv-formatters/bin/activate -echo "βœ… Formatter environment activated!" -echo "πŸ’‘ Available commands:" -echo " - black . --line-length 88 --target-version py38" -echo " - isort . --profile black" -echo " - flake8 ." -echo " - pre-commit run --all-files" diff --git a/scripts/commands/dev.py b/scripts/commands/dev.py deleted file mode 100644 index 7761bba..0000000 --- a/scripts/commands/dev.py +++ /dev/null @@ -1,4 +0,0 @@ -# All the dev tools should be in here. -# For example formatting tools, linters, etc. -# I would like to have an internall interactive tool that lets you have -# multiple devs tools enabled accessible from the cli. diff --git a/scripts/commands/ros.py b/scripts/commands/ros.py deleted file mode 100644 index dc22164..0000000 --- a/scripts/commands/ros.py +++ /dev/null @@ -1,567 +0,0 @@ -""" -ROS command module for Hydrus CLI -Handles ROS workspace operations, camera management, and rosbag utilities -""" - -import os -import re -import subprocess -import sys -from pathlib import Path -from typing import Dict, List, Optional - -import typer - -from .utils import get_building_path - -ros_app = typer.Typer() - - -class HydrusRosManager: - def __init__(self, volume: bool = False): - self.volume = volume - self.workspace_dir = get_building_path(self.volume) - self.rosbags_dir = self.workspace_dir / "src/hydrus-software-stack/rosbags" - - # Create rosbags directory if it doesn't exist - self.rosbags_dir.mkdir(parents=True, exist_ok=True) - - # Constants for download - self.DEFAULT_ROSBAG_URL = "https://drive.google.com/file/d/16Lr-CbW1rW6rKh8_mWClTQMIjm2u0y8X/view?usp=drive_link" - - def _run_command( - self, - cmd: List[str], - check: bool = True, - capture_output: bool = False, - env: Optional[Dict] = None, - cwd: Optional[Path] = None, - ) -> subprocess.CompletedProcess: - """Run a command with proper error handling""" - if env is None: - env = os.environ.copy() - - cmd_str = " ".join(cmd) - print(f"πŸ”§ Executing: {cmd_str}") - - try: - return subprocess.run( - cmd, - check=check, - capture_output=capture_output, - env=env, - cwd=cwd, - text=True, - ) - except subprocess.CalledProcessError as e: - if check: - print(f"❌ Command failed: {cmd_str}") - print(f" Exit code: {e.returncode}") - if capture_output and e.stderr: - print(f" Error: {e.stderr}") - raise - except FileNotFoundError: - print(f"❌ Command not found: {cmd_str}") - raise - - def _setup_environment(self) -> Dict[str, str]: - """Setup ROS environment""" - env = os.environ.copy() - - # Source devel/setup.bash equivalent - setup_file = self.workspace_dir / "devel/setup.bash" - if setup_file.exists(): - # Add workspace paths to environment - env[ - "ROS_PACKAGE_PATH" - ] = f"{self.workspace_dir}/src:{env.get('ROS_PACKAGE_PATH', '')}" - env[ - "CMAKE_PREFIX_PATH" - ] = f"{self.workspace_dir}/devel:{env.get('CMAKE_PREFIX_PATH', '')}" - env[ - "LD_LIBRARY_PATH" - ] = f"{self.workspace_dir}/devel/lib:{env.get('LD_LIBRARY_PATH', '')}" - env[ - "PYTHONPATH" - ] = f"{self.workspace_dir}/devel/lib/python3/dist-packages:{env.get('PYTHONPATH', '')}" - - return env - - def build_workspace(self, clean: bool = False): - """Build the catkin workspace.""" - print("πŸ”¨ Building catkin workspace...") - - if not self.workspace_dir.exists(): - print(f"❌ Workspace directory not found: {self.workspace_dir}") - return False - - env = self._setup_environment() - - # Clean if requested - if clean: - print("🧹 Cleaning workspace...") - clean_cmd = ["catkin_make", "clean"] - try: - self._run_command( - clean_cmd, cwd=self.workspace_dir, env=env, check=False - ) - except subprocess.CalledProcessError: - print("Warning: Clean failed, but continuing...") - - # Build command that sources ROS environment first - ros_distro = env.get("ROS_DISTRO", "noetic") - cmake_command = f"source /opt/ros/{ros_distro}/setup.bash && catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.9 -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.9.so" - - cmake_args = ["bash", "-c", cmake_command] - - try: - self._run_command(cmake_args, cwd=self.workspace_dir, env=env) - print("βœ… Workspace built successfully") - return True - except subprocess.CalledProcessError as e: - print(f"❌ Build failed: {e}") - return False - - def run_camera_entrypoint(self, zed_option: bool = False): - """Run the camera entrypoint.""" - print("πŸ“· Starting ZED camera entrypoint...") - print(f"ZED_OPTION: {zed_option}") - - env = self._setup_environment() - env["ZED_OPTION"] = "true" if zed_option else "false" - - try: - # Build workspace first - if not self.build_workspace(): - print("❌ Failed to build workspace") - return False - - # Launch ZED camera - if zed_option: - print("Launching ZED2i camera with RViz display...") - launch_cmd = ["roslaunch", "zed_display_rviz", "display_zed2i.launch"] - else: - print("Launching ZED2i camera...") - launch_cmd = ["roslaunch", "--wait", "zed_wrapper", "zed2i.launch"] - - self._run_command(launch_cmd, env=env, cwd=self.workspace_dir) - return True - - except subprocess.CalledProcessError as e: - print(f"❌ Failed to launch ZED camera: {e}") - return False - except KeyboardInterrupt: - print("\nπŸ›‘ Camera entrypoint stopped by user") - return True - except Exception as e: - print(f"❌ Unexpected error: {e}") - return False - - def _extract_file_id(self, url: str) -> Optional[str]: - """Extract the file ID from a Google Drive URL""" - pattern = r"drive\.google\.com/file/d/([a-zA-Z0-9_-]+)" - match = re.search(pattern, url) - if match: - return match.group(1) - return None - - def _install_download_dependencies(self) -> bool: - """Install required dependencies for downloading""" - try: - print("Installing gdown and requests...") - self._run_command( - [sys.executable, "-m", "pip", "install", "gdown", "requests"] - ) - print("βœ… Dependencies installed successfully!") - return True - except subprocess.CalledProcessError: - print("❌ Failed to install dependencies. Please install them manually:") - print("pip install gdown requests") - print("\nOr if you have permission issues, try:") - print("pip install --user gdown requests") - return False - - def _check_rosbags_exist(self) -> bool: - """Check if any .bag files exist in the rosbags directory""" - bag_files = list(self.rosbags_dir.glob("*.bag")) - return len(bag_files) > 0 - - def download_ros_bags(self, url: Optional[str] = None, force: bool = False): - """Download ROS bags.""" - print("πŸ“₯ Checking for ROS bag files...") - - if not force and self._check_rosbags_exist(): - print("βœ… ROS bag files already exist in the rosbags directory.") - existing_bags = list(self.rosbags_dir.glob("*.bag")) - print("Existing bag files:") - for bag in existing_bags: - print(f" β€’ {bag.name}") - return True - - if not force: - print("No ROS bag files found.") - - download_url = url or self.DEFAULT_ROSBAG_URL - - # Install dependencies - if not self._install_download_dependencies(): - return False - - print(f"πŸ“₯ Downloading rosbag from {download_url}") - print("This may take a few minutes depending on your internet connection...") - - # Import gdown here to avoid import error if not installed - try: - import gdown - except ImportError: - print("❌ Error: gdown is not available. Please run the installation first.") - return False - - file_id = self._extract_file_id(download_url) - if not file_id: - print("❌ Error: Could not extract file ID from the URL.") - return False - - output_path = self.rosbags_dir / "zed2i_camera.bag" - - try: - # Use gdown to download from Google Drive - gdown.download(id=file_id, output=str(output_path), quiet=False) - - if output_path.exists() and output_path.stat().st_size > 0: - print(f"βœ… Successfully downloaded rosbag to {output_path}") - return True - else: - print("❌ Error: Download failed or file is empty.") - return False - except Exception as e: - print(f"❌ Error downloading file: {e}") - return False - - def video_to_ros_bag( - self, - video_path: str, - output_bag_path: Optional[str] = None, - target_fps: float = 10.0, - include_camera_info: bool = False, - rgb_topic: str = "/zed2i/zed_node/rgb/image_rect_color", - camera_info_topic: str = "/zed2i/zed_node/rgb/camera_info", - frame_id: str = "zed2i_left_camera_optical_frame", - ): - """Convert video files to ROS bags.""" - print("🎬 Converting video to ROS bag...") - print(f"Input video: {video_path}") - - video_path_obj = Path(video_path) - if not video_path_obj.exists(): - print(f"❌ Error: Video file not found: {video_path}") - return False - - # Set default output path if not provided - if output_bag_path is None: - output_bag_path = str(self.rosbags_dir / f"{video_path_obj.stem}.bag") - - print(f"Output bag: {output_bag_path}") - print(f"Target FPS: {target_fps}") - print(f"Include camera info: {include_camera_info}") - - try: - import cv2 - import rosbag - import rospy - except ImportError as e: - print(f"❌ Error: Required dependencies not found: {e}") - print("Please install: pip install opencv-python") - print("And ensure ROS packages are available in the environment") - return False - - # Open the video file - cap = cv2.VideoCapture(video_path) - if not cap.isOpened(): - print(f"❌ Error: Could not open video file: {video_path}") - return False - - # Get video properties - original_fps = cap.get(cv2.CAP_PROP_FPS) - total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) - width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) - height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) - - print("Video properties:") - print(f" β€’ Resolution: {width}x{height}") - print(f" β€’ Original FPS: {original_fps}") - print(f" β€’ Total frames: {total_frames}") - - # Calculate frame skip for target FPS - frame_skip = max(1, int(original_fps / target_fps)) - duration_seconds = total_frames / original_fps - expected_output_frames = int(duration_seconds * target_fps) - - print("Conversion settings:") - print(f" β€’ Frame skip: {frame_skip}") - print(f" β€’ Expected output frames: {expected_output_frames}") - - try: - with rosbag.Bag(output_bag_path, "w") as bag: - frame_count = 0 - written_frames = 0 - - # Create camera info message if requested - camera_info = None - if include_camera_info: - camera_info = self._create_camera_info(width, height, frame_id) - - while True: - ret, frame = cap.read() - if not ret: - break - - # Skip frames to achieve target FPS - if frame_count % frame_skip != 0: - frame_count += 1 - continue - - # Calculate timestamp - timestamp = rospy.Time.from_sec(written_frames / target_fps) - - # Convert OpenCV image to ROS Image message - ros_image = self._cv2_to_ros_image(frame, "bgr8", frame_id) - ros_image.header.stamp = timestamp - - # Write image message to bag - bag.write(rgb_topic, ros_image, timestamp) - - # Write camera info if requested - if camera_info: - camera_info.header.stamp = timestamp - bag.write(camera_info_topic, camera_info, timestamp) - - written_frames += 1 - frame_count += 1 - - # Progress update - if written_frames % 50 == 0: - progress = (frame_count / total_frames) * 100 - print( - f"Progress: {progress:.1f}% ({written_frames} frames written)" - ) - - cap.release() - - print("βœ… Conversion completed successfully!") - print(f" β€’ Output file: {output_bag_path}") - print(f" β€’ Frames written: {written_frames}") - print(f" β€’ Duration: {written_frames / target_fps:.2f} seconds") - return True - - except Exception as e: - print(f"❌ Error during conversion: {e}") - cap.release() - return False - - def _cv2_to_ros_image( - self, cv_image, encoding: str = "bgr8", frame_id: str = "camera_link" - ): - """Convert an OpenCV image to a ROS sensor_msgs/Image message.""" - from sensor_msgs.msg import Image - - ros_image = Image() - ros_image.header.frame_id = frame_id - ros_image.height, ros_image.width = cv_image.shape[:2] - ros_image.encoding = encoding - ros_image.is_bigendian = False - ros_image.step = ( - cv_image.strides[0] - if cv_image.strides - else cv_image.shape[1] - * cv_image.itemsize - * (cv_image.shape[2] if len(cv_image.shape) > 2 else 1) - ) - ros_image.data = cv_image.tobytes() - return ros_image - - def _create_camera_info( - self, width: int, height: int, frame_id: str = "camera_link" - ): - """Create a basic CameraInfo message with reasonable defaults.""" - from sensor_msgs.msg import CameraInfo - - camera_info = CameraInfo() - camera_info.header.frame_id = frame_id - camera_info.width = width - camera_info.height = height - - # Basic camera parameters (these are rough estimates) - fx = fy = width * 0.8 # Rough focal length estimate - cx = width / 2.0 # Principal point x - cy = height / 2.0 # Principal point y - - camera_info.K = [fx, 0, cx, 0, fy, cy, 0, 0, 1] - camera_info.D = [0, 0, 0, 0, 0] # No distortion - camera_info.R = [1, 0, 0, 0, 1, 0, 0, 0, 1] - camera_info.P = [fx, 0, cx, 0, 0, fy, cy, 0, 0, 0, 1, 0] - camera_info.distortion_model = "plumb_bob" - - return camera_info - - -# === Typer Commands === - - -@ros_app.command("build") -def build_workspace_cmd( - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory"), - clean: bool = typer.Option( - False, "--clean", "-c", help="Clean workspace before building" - ), -): - """Build the catkin workspace.""" - typer.echo("πŸ”¨ Building ROS workspace...") - - manager = HydrusRosManager(volume=volume) - success = manager.build_workspace(clean=clean) - - if success: - typer.echo("βœ… Workspace built successfully!") - raise typer.Exit(0) - else: - typer.echo("❌ Workspace build failed!") - raise typer.Exit(1) - - -@ros_app.command("camera") -def run_camera_cmd( - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory"), - rviz: bool = typer.Option( - False, "--rviz", "-r", help="Launch camera with RViz display" - ), -): - """Run the ZED camera entrypoint.""" - typer.echo("πŸ“· Starting ZED camera...") - - manager = HydrusRosManager(volume=volume) - success = manager.run_camera_entrypoint(zed_option=rviz) - - if success: - typer.echo("βœ… Camera stopped successfully!") - raise typer.Exit(0) - else: - typer.echo("❌ Camera failed!") - raise typer.Exit(1) - - -@ros_app.command("download-bags") -def download_bags_cmd( - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory"), - url: Optional[str] = typer.Option(None, "--url", "-u", help="Custom download URL"), - force: bool = typer.Option( - False, "--force", "-f", help="Force download even if bags exist" - ), -): - """Download ROS bag files.""" - typer.echo("πŸ“₯ Downloading ROS bags...") - - manager = HydrusRosManager(volume=volume) - success = manager.download_ros_bags(url=url, force=force) - - if success: - typer.echo("βœ… ROS bags downloaded successfully!") - raise typer.Exit(0) - else: - typer.echo("❌ ROS bags download failed!") - raise typer.Exit(1) - - -@ros_app.command("video-to-bag") -def video_to_bag_cmd( - video_path: str = typer.Argument(..., help="Path to input video file"), - output_path: Optional[str] = typer.Option( - None, "--output", "-o", help="Output bag file path" - ), - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory"), - fps: float = typer.Option(10.0, "--fps", "-f", help="Target FPS for output bag"), - camera_info: bool = typer.Option( - False, "--camera-info", "-c", help="Include camera info messages" - ), - rgb_topic: str = typer.Option( - "/zed2i/zed_node/rgb/image_rect_color", "--rgb-topic", help="RGB image topic" - ), - info_topic: str = typer.Option( - "/zed2i/zed_node/rgb/camera_info", "--info-topic", help="Camera info topic" - ), - frame_id: str = typer.Option( - "zed2i_left_camera_optical_frame", "--frame-id", help="Frame ID for messages" - ), -): - """Convert video file to ROS bag.""" - typer.echo(f"🎬 Converting video {video_path} to ROS bag...") - - manager = HydrusRosManager(volume=volume) - success = manager.video_to_ros_bag( - video_path=video_path, - output_bag_path=output_path, - target_fps=fps, - include_camera_info=camera_info, - rgb_topic=rgb_topic, - camera_info_topic=info_topic, - frame_id=frame_id, - ) - - if success: - typer.echo("βœ… Video converted to ROS bag successfully!") - raise typer.Exit(0) - else: - typer.echo("❌ Video conversion failed!") - raise typer.Exit(1) - - -@ros_app.command("list-bags") -def list_bags_cmd( - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory") -): - """List available ROS bag files.""" - manager = HydrusRosManager(volume=volume) - - bag_files = list(manager.rosbags_dir.glob("*.bag")) - - if bag_files: - typer.echo("πŸ“‹ Available ROS bag files:") - for bag in bag_files: - size_mb = bag.stat().st_size / (1024 * 1024) - typer.echo(f" β€’ {bag.name} ({size_mb:.1f} MB)") - else: - typer.echo("πŸ“‹ No ROS bag files found.") - typer.echo(f"Directory: {manager.rosbags_dir}") - - -@ros_app.command("info") -def ros_info_cmd( - volume: bool = typer.Option(False, "--volume", "-v", help="Use volume directory") -): - """Show ROS workspace information.""" - manager = HydrusRosManager(volume=volume) - - typer.echo("πŸ“Š ROS Workspace Information:") - typer.echo(f" β€’ Workspace path: {manager.workspace_dir}") - typer.echo(f" β€’ ROSbags directory: {manager.rosbags_dir}") - - # Check if workspace exists - if manager.workspace_dir.exists(): - typer.echo(" β€’ Workspace: βœ… Found") - - # Check if built - devel_dir = manager.workspace_dir / "devel" - if devel_dir.exists(): - typer.echo(" β€’ Built: βœ… Yes") - else: - typer.echo(" β€’ Built: ❌ No") - else: - typer.echo(" β€’ Workspace: ❌ Not found") - - # Check bag files - bag_count = len(list(manager.rosbags_dir.glob("*.bag"))) - typer.echo(f" β€’ ROS bag files: {bag_count}") - - -if __name__ == "__main__": - ros_app() diff --git a/scripts/commands/runner.py b/scripts/commands/runner.py deleted file mode 100644 index 1494d36..0000000 --- a/scripts/commands/runner.py +++ /dev/null @@ -1,2 +0,0 @@ -# Runner should be used to run scripts that are in the repository. -# Runner could have a smart breakpoint checker diff --git a/scripts/commands/test/__init__.py b/scripts/commands/test/__init__.py deleted file mode 100644 index 3ce1e0d..0000000 --- a/scripts/commands/test/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -""" -Test command module for Hydrus software stack. - -This module contains all test-related functionality including: -- Test execution and management -- Test configuration loading from distributed .hss files -- Test logging and result archiving -- Test caching functionality -""" - -from .test import test_app - -__all__ = ["test_app"] diff --git a/scripts/commands/test/test_cache.py b/scripts/commands/test/test_cache.py deleted file mode 100644 index e69de29..0000000 diff --git a/scripts/format.sh b/scripts/format.sh deleted file mode 100755 index 66477bc..0000000 --- a/scripts/format.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# Python Code Formatting Script for Hydrus Software Stack - -echo "πŸ”§ Running Python code formatters..." - -# Check if we're in the right directory -if [ ! -f "requirements.txt" ]; then - echo "❌ Error: Please run this script from the project root directory" - exit 1 -fi - -# Activate virtual environment if it exists, otherwise try system packages -if [ -d ".venv" ]; then - echo "πŸ”§ Activating virtual environment..." - source .venv/bin/activate -else - echo "⚠️ Virtual environment not found, trying system packages..." - echo "πŸ’‘ Run './setup_formatting.sh' to set up the virtual environment" -fi - -# Check if tools are available -if ! command -v black &> /dev/null; then - echo "❌ Black not found. Please run './setup_formatting.sh' first" - exit 1 -fi - -echo "🎨 Formatting Python code with Black..." -black . --line-length 88 --target-version py38 - -echo "πŸ“ Sorting imports with isort..." -isort . --profile black - -echo "πŸ” Running flake8 linting..." -flake8 . --max-line-length=88 --extend-ignore=E203,W503 - -echo "βœ… Code formatting complete!" -echo "" -echo "πŸ“‹ Summary:" -echo " - Black: Code formatted to 88 character lines" -echo " - isort: Import statements sorted and organized" -echo " - flake8: Linting checks completed" -echo "" -echo "πŸ’‘ To set up automatic formatting on git commits, run:" -echo " pre-commit install" diff --git a/scripts/format_with_venv.sh b/scripts/format_with_venv.sh deleted file mode 100755 index 19257e0..0000000 --- a/scripts/format_with_venv.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# Format script using the dedicated virtual environment -set -e - -echo "πŸ”§ Running Python formatters..." - -# Check if virtual environment exists -if [ ! -d ".venv-formatters" ]; then - echo "❌ Virtual environment not found. Run './setup_venv_formatters.sh' first" - exit 1 -fi - -# Activate virtual environment -source .venv-formatters/bin/activate - -# Run formatters -echo "🎨 Formatting with Black..." -black . --line-length 88 --target-version py38 - -echo "πŸ“ Sorting imports with isort..." -isort . --profile black - -echo "πŸ” Running flake8 linting..." -flake8 . --statistics - -echo "βœ… Code formatting complete!" diff --git a/scripts/install_ros2_jassy.sh b/scripts/install_ros2_jassy.sh deleted file mode 100644 index 6f651c2..0000000 --- a/scripts/install_ros2_jassy.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -set -e - -ROS_DISTRO=jazzy -UBU_CODENAME=$(lsb_release -cs) - -echo "πŸ›  Installing ROS 2 $ROS_DISTRO on Ubuntu $UBU_CODENAME..." - -# Locale -sudo apt update && sudo apt install -y locales -sudo locale-gen en_US en_US.UTF-8 -sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 -export LANG=en_US.UTF-8 - -# Repos & keys -sudo apt install -y software-properties-common curl gnupg -sudo add-apt-repository universe -y -sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \ - -o /usr/share/keyrings/ros-archive-keyring.gpg -echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \ - http://packages.ros.org/ros2/ubuntu $UBU_CODENAME main" | \ - sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null - -# Install -sudo apt update -sudo apt install -y ros-$ROS_DISTRO-desktop \ - python3-colcon-common-extensions python3-pip python3-rosdep - -# Rosdep init -sudo rosdep init || true -rosdep update - -# Source on startup -if ! grep -F "source /opt/ros/$ROS_DISTRO/setup.bash" ~/.bashrc >/dev/null; then - echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> ~/.bashrc -fi -source ~/.bashrc - -echo "βœ… ROS 2 $ROS_DISTRO installation complete!" diff --git a/scripts/jetson.py b/scripts/jetson.py deleted file mode 100755 index 60518ed..0000000 --- a/scripts/jetson.py +++ /dev/null @@ -1,383 +0,0 @@ -#!/usr/bin/env python3 -""" -Hydrus Jetson Deployment Script -Replaces jetson.sh with improved modularity and error handling -""" - -import os -import platform -import subprocess -import sys -from pathlib import Path -from typing import Dict, List, Optional - - -class JetsonDeploymentManager: - def __init__(self): - self.network_name = "ros-network" - self.ros_master_uri = "http://ros-master:11311" - self.use_qemu = False - self.qemu_args = [] - self.zed_option = False - self.deploy = True - - # Detect architecture and setup QEMU if needed - self._setup_architecture() - - def _run_command( - self, - cmd: List[str], - check: bool = True, - capture_output: bool = False, - env: Optional[Dict] = None, - ) -> subprocess.CompletedProcess: - """Run a command with proper error handling""" - if env is None: - env = os.environ.copy() - - try: - return subprocess.run( - cmd, check=check, capture_output=capture_output, env=env, text=True - ) - except subprocess.CalledProcessError as e: - if check: - print(f"Command failed: {' '.join(cmd)}") - print(f"Exit code: {e.returncode}") - if capture_output and e.stderr: - print(f"Error: {e.stderr}") - raise - - def _setup_architecture(self): - """Detect system architecture and set up QEMU if needed""" - arch = platform.machine() - - if arch == "x86_64": - print("Detected x86_64 architecture. Will use QEMU for ARM emulation.") - - # Check if QEMU is installed - try: - self._run_command( - ["qemu-system-aarch64", "--version"], capture_output=True - ) - except (subprocess.CalledProcessError, FileNotFoundError): - print("ERROR: QEMU is not installed. Please install it with:") - print( - " sudo apt-get install qemu-system-arm qemu-efi qemu-user-static" - ) - sys.exit(1) - - # Register QEMU binary formats if not already done - binfmt_file = Path("/proc/sys/fs/binfmt_misc/qemu-aarch64") - if not binfmt_file.exists(): - print("Setting up QEMU binary formats for ARM emulation...") - try: - self._run_command( - [ - "docker", - "run", - "--rm", - "--privileged", - "multiarch/qemu-user-static", - "--reset", - "-p", - "yes", - ] - ) - except subprocess.CalledProcessError as e: - print(f"Failed to setup QEMU binary formats: {e}") - sys.exit(1) - - self.use_qemu = True - self.qemu_args = ["--platform", "linux/arm64"] - print("QEMU emulation enabled for ARM containers.") - - def _create_docker_network(self): - """Create custom Docker network if it doesn't exist""" - try: - # Check if network exists - result = self._run_command( - ["docker", "network", "ls", "--format", "{{.Name}}"], - capture_output=True, - ) - - if self.network_name not in result.stdout: - print(f"Creating custom Docker network: {self.network_name}") - self._run_command(["docker", "network", "create", self.network_name]) - else: - print(f"Docker network {self.network_name} already exists") - - except subprocess.CalledProcessError as e: - print(f"Failed to create Docker network: {e}") - sys.exit(1) - - def _container_exists(self, container_name: str) -> bool: - """Check if a container exists""" - try: - result = self._run_command( - ["docker", "ps", "-a", "--format", "{{.Names}}"], capture_output=True - ) - return container_name in result.stdout.split("\n") - except subprocess.CalledProcessError: - return False - - def _container_running(self, container_name: str) -> bool: - """Check if a container is running""" - try: - result = self._run_command( - ["docker", "ps", "--format", "{{.Names}}"], capture_output=True - ) - return container_name in result.stdout.split("\n") - except subprocess.CalledProcessError: - return False - - def _start_ros_master(self): - """Run the ROS master container""" - print("=" * 50) - print("Step 1: Setting up ROS master container") - print("=" * 50) - - if self._container_exists("ros-master"): - if self._container_running("ros-master"): - print("ROS master is already running.") - else: - print("Starting existing ROS master container...") - self._run_command(["docker", "start", "ros-master"]) - else: - print("Creating and starting ROS master container...") - cmd = [ - "docker", - "run", - "-d", - "--name", - "ros-master", - "--network", - self.network_name, - "-p", - "11311:11311", - "ros:melodic-ros-core", - "stdbuf", - "-o", - "L", - "roscore", - ] - self._run_command(cmd) - - # Wait for ROS master to be up - print("Waiting for ROS master to start...") - import time - - time.sleep(3) - - def _build_and_run_zed_camera(self): - """Build and run the ZED camera container""" - print("=" * 50) - print("Step 2: Setting up ZED camera container") - print("=" * 50) - - dockerfile_path = "docker/jetson/camera.Dockerfile" - - # Build ZED camera container - if self.use_qemu: - print("Building ZED camera container with QEMU emulation...") - build_cmd = ( - ["docker", "build"] - + self.qemu_args - + ["-t", "zed-camera", "-f", dockerfile_path, "."] - ) - else: - print("Building ZED camera container...") - build_cmd = [ - "docker", - "build", - "-t", - "zed-camera", - "-f", - dockerfile_path, - ".", - ] - - self._run_command(build_cmd) - - # Run ZED camera container - if self._container_exists("zed-camera"): - if self._container_running("zed-camera"): - print("ZED camera container is already running.") - else: - print("Starting existing ZED camera container...") - self._run_command(["docker", "start", "zed-camera"]) - else: - print("Creating and starting ZED camera container...") - - env_vars = { - "ROS_MASTER_URI": "http://ros-master:11311", - "ZED_OPTION": str(self.zed_option).lower(), - } - - cmd = [ - "docker", - "run", - "-d", - "--name", - "zed-camera", - "--network", - self.network_name, - "--privileged", - "--gpus", - "all", - ] - - # Add environment variables - for key, value in env_vars.items(): - cmd.extend(["--env", f"{key}={value}"]) - - # Add QEMU args if needed - if self.use_qemu: - cmd.extend(self.qemu_args) - - cmd.append("zed-camera") - self._run_command(cmd) - - # Wait for ZED camera to be ready - print("Waiting for ZED camera to start...") - import time - - time.sleep(3) - - def _build_and_run_hydrus(self): - """Build and run the Hydrus container""" - print("=" * 50) - print("Step 3: Setting up Hydrus container") - print("=" * 50) - - dockerfile_path = "docker/jetson/hydrus.Dockerfile" - - # Check if Hydrus image exists - try: - result = self._run_command( - [ - "docker", - "images", - "hydrus:latest", - "--format", - "{{.Repository}}:{{.Tag}}", - ], - capture_output=True, - ) - - if "hydrus:latest" not in result.stdout: - print("Building Hydrus image...") - if self.use_qemu: - build_cmd = ( - ["docker", "build"] - + self.qemu_args - + ["-t", "hydrus:latest", "-f", dockerfile_path, "."] - ) - else: - build_cmd = [ - "docker", - "build", - "-t", - "hydrus:latest", - "-f", - dockerfile_path, - ".", - ] - - self._run_command(build_cmd) - else: - print("Hydrus image already exists, skipping build.") - except subprocess.CalledProcessError: - print("Error checking Hydrus image, building anyway...") - if self.use_qemu: - build_cmd = ( - ["docker", "build"] - + self.qemu_args - + ["-t", "hydrus:latest", "-f", dockerfile_path, "."] - ) - else: - build_cmd = [ - "docker", - "build", - "-t", - "hydrus:latest", - "-f", - dockerfile_path, - ".", - ] - - self._run_command(build_cmd) - - # Run Hydrus container - if self._container_exists("hydrus"): - if self._container_running("hydrus"): - print("Hydrus container is already running.") - else: - print("Starting existing Hydrus container...") - self._run_command(["docker", "start", "hydrus"]) - else: - print("Creating and starting Hydrus container...") - - env_vars = { - "ROS_MASTER_URI": "http://ros-master:11311", - "ARDUINO_BOARD": "arduino:avr:mega", - "DEPLOY": str(self.deploy).lower(), - } - - cmd = [ - "docker", - "run", - "-d", - "--name", - "hydrus", - "--network", - self.network_name, - "--privileged", - "--gpus", - "all", - "-p", - "8000:8000", - "--device", - "/dev/ttyACM0:/dev/ttyACM0", - ] - - # Add environment variables - for key, value in env_vars.items(): - cmd.extend(["--env", f"{key}={value}"]) - - # Add QEMU args if needed - if self.use_qemu: - cmd.extend(self.qemu_args) - - cmd.extend(["-it", "hydrus:latest"]) - self._run_command(cmd) - - def main(self): - """Main execution function""" - print("Starting Jetson deployment...") - - # Set environment variables - os.environ["ROS_MASTER_URI"] = self.ros_master_uri - - try: - # Create Docker network - self._create_docker_network() - - # Start ROS master - self._start_ros_master() - - # Build and run ZED camera - self._build_and_run_zed_camera() - - # Build and run Hydrus - self._build_and_run_hydrus() - - print(f"Containers are up and running on network '{self.network_name}'!") - - except Exception as e: - print(f"Deployment failed: {e}") - sys.exit(1) - - -if __name__ == "__main__": - manager = JetsonDeploymentManager() - manager.main() diff --git a/scripts/setup_formatting.sh b/scripts/setup_formatting.sh deleted file mode 100755 index ed048a0..0000000 --- a/scripts/setup_formatting.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# Setup Script for Python Code Formatting Tools - -echo "πŸš€ Setting up Python code formatting for Hydrus Software Stack..." - -# Check if we need to install python3-venv -if ! python3 -c "import venv" 2>/dev/null; then - echo "πŸ“¦ Installing python3-venv package..." - sudo apt update && sudo apt install -y python3-venv python3-pip -fi - -# Create virtual environment if it doesn't exist -if [ ! -d ".venv" ]; then - echo "πŸ”§ Creating Python virtual environment..." - python3 -m venv .venv -fi - -# Activate virtual environment and install dependencies -echo "πŸ“¦ Installing formatting dependencies in virtual environment..." -source .venv/bin/activate -pip install --upgrade pip -pip install black isort flake8 pre-commit mypy - -# Setup pre-commit hooks -echo "πŸ”— Setting up pre-commit hooks..." -pre-commit install - -echo "🎯 Running initial format on existing code..." -# Run formatting with virtual environment -source .venv/bin/activate && ./format.sh - -echo "βœ… Setup complete!" -echo "" -echo "πŸŽ‰ Your Python formatting tools are now configured:" -echo " β€’ Black: Automatic code formatting" -echo " β€’ isort: Import statement organization" -echo " β€’ flake8: Code linting and style checking" -echo " β€’ pre-commit: Automatic formatting before commits" -echo "" -echo "πŸ“ Usage:" -echo " β€’ Run './format.sh' to format all Python files" -echo " β€’ Formatting will run automatically on git commits" -echo " β€’ Use 'source .venv/bin/activate && pre-commit run --all-files' to check all files" -echo "" -echo "πŸ’‘ Note: The tools are installed in a virtual environment (.venv)" diff --git a/scripts/setup_venv_formatters.sh b/scripts/setup_venv_formatters.sh deleted file mode 100755 index fa00f9f..0000000 --- a/scripts/setup_venv_formatters.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash -# Virtual Environment Setup Script for Python Formatters -# This script creates a virtual environment and installs the latest available formatting tools - -set -e # Exit on any error - -echo "πŸš€ Setting up virtual environment with Python formatters..." - -# Script configuration -VENV_NAME=".venv-formatters" -PYTHON_VERSION="python3" - -# Check if Python is available -if ! command -v $PYTHON_VERSION &> /dev/null; then - echo "❌ Error: $PYTHON_VERSION is not installed or not in PATH" - exit 1 -fi - -# Remove existing virtual environment if it exists -if [ -d "$VENV_NAME" ]; then - echo "πŸ—‘οΈ Removing existing virtual environment..." - rm -rf "$VENV_NAME" -fi - -# Create virtual environment -echo "πŸ”§ Creating virtual environment: $VENV_NAME" -$PYTHON_VERSION -m venv "$VENV_NAME" - -# Activate virtual environment -echo "πŸ”Œ Activating virtual environment..." -source "$VENV_NAME/bin/activate" - -# Upgrade pip -echo "πŸ“¦ Upgrading pip..." -python -m pip install --upgrade pip - -# Install formatting tools with latest compatible versions -echo "🎨 Installing Python formatting tools..." -echo " - Installing Black (Python code formatter)..." -pip install "black>=24.0.0,<25.0.0" - -echo " - Installing isort (Import sorter)..." -pip install "isort>=5.12.0,<7.0.0" - -echo " - Installing flake8 (Linter)..." -pip install "flake8>=6.0.0,<8.0.0" - -echo " - Installing pre-commit (Git hooks)..." -pip install "pre-commit>=3.0.0,<4.0.0" - -echo " - Installing mypy (Type checker)..." -pip install "mypy>=1.0.0,<2.0.0" - -# Show installed versions -echo "" -echo "πŸ“‹ Installed formatter versions:" -pip list | grep -E "(black|isort|flake8|pre-commit|mypy)" || echo "No formatters found" - -# Create activation script -cat > activate_formatters.sh << 'EOF' -#!/bin/bash -# Quick activation script for formatter virtual environment -echo "πŸ”Œ Activating formatter virtual environment..." -source .venv-formatters/bin/activate -echo "βœ… Formatter environment activated!" -echo "πŸ’‘ Available commands:" -echo " - black . --line-length 88 --target-version py38" -echo " - isort . --profile black" -echo " - flake8 ." -echo " - pre-commit run --all-files" -EOF - -chmod +x activate_formatters.sh - -# Create a simple format script that uses this venv -cat > format_with_venv.sh << 'EOF' -#!/bin/bash -# Format script using the dedicated virtual environment -set -e - -echo "πŸ”§ Running Python formatters..." - -# Check if virtual environment exists -if [ ! -d ".venv-formatters" ]; then - echo "❌ Virtual environment not found. Run './setup_venv_formatters.sh' first" - exit 1 -fi - -# Activate virtual environment -source .venv-formatters/bin/activate - -# Run formatters -echo "🎨 Formatting with Black..." -black . --line-length 88 --target-version py38 - -echo "πŸ“ Sorting imports with isort..." -isort . --profile black - -echo "πŸ” Running flake8 linting..." -flake8 . --statistics - -echo "βœ… Code formatting complete!" -EOF - -chmod +x format_with_venv.sh - -echo "" -echo "βœ… Virtual environment setup complete!" -echo "" -echo "πŸ“ Created files:" -echo " - $VENV_NAME/ (virtual environment)" -echo " - activate_formatters.sh (quick activation)" -echo " - format_with_venv.sh (formatting script)" -echo "" -echo "πŸš€ Usage:" -echo " 1. To activate: source activate_formatters.sh" -echo " 2. To format code: ./format_with_venv.sh" -echo " 3. To install pre-commit hooks: source activate_formatters.sh && pre-commit install" -echo "" -echo "πŸ’‘ This environment uses the latest publicly available versions of formatting tools" diff --git a/scripts/tests.hss b/scripts/tests.hss deleted file mode 100644 index 8285e4a..0000000 --- a/scripts/tests.hss +++ /dev/null @@ -1,36 +0,0 @@ -# Script Tests Configuration -# Tests for running script nodes indefinitely -name: "Script Tests" -description: "Tests for long-running script nodes" -strategy: "script" - -tests: - - name: "API Server Script" - path: "../autonomy/src/api_server.py" - args: [] - timeout: 2 - infinite_loop: true - description: "API server script test" - strategy: "ScriptTestStrategy" - enabled: true - test_type: "script" - - - name: "Controllers Script" - path: "../autonomy/src/controllers.py" - args: [] - timeout: 2 - infinite_loop: true - description: "Controllers node script test" - strategy: "ScriptTestStrategy" - enabled: true - test_type: "script" - - - name: "CV Publishers Script" - path: "../autonomy/src/cv_publishers.py" - args: [] - timeout: 2 - infinite_loop: true - description: "Computer vision publishers script test" - strategy: "ScriptTestStrategy" - enabled: true - test_type: "script" diff --git a/src/computer_vision/.python-version b/src/computer_vision/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/src/computer_vision/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/src/computer_vision/README.md b/src/computer_vision/README.md new file mode 100644 index 0000000..80bc204 --- /dev/null +++ b/src/computer_vision/README.md @@ -0,0 +1,4 @@ +Python Library for running the Computer Vision Algorithms. + + +How to compile this proyect \ No newline at end of file diff --git a/autonomy/scripts/cv/color_filters.py b/src/computer_vision/examples/color_filters.py similarity index 100% rename from autonomy/scripts/cv/color_filters.py rename to src/computer_vision/examples/color_filters.py diff --git a/autonomy/scripts/cv/distance.py b/src/computer_vision/examples/distance.py similarity index 100% rename from autonomy/scripts/cv/distance.py rename to src/computer_vision/examples/distance.py diff --git a/autonomy/scripts/cv/object_detector.py b/src/computer_vision/examples/object_detector.py similarity index 100% rename from autonomy/scripts/cv/object_detector.py rename to src/computer_vision/examples/object_detector.py diff --git a/autonomy/scripts/cv/orbs.py b/src/computer_vision/examples/orbs.py similarity index 100% rename from autonomy/scripts/cv/orbs.py rename to src/computer_vision/examples/orbs.py diff --git a/autonomy/scripts/cv/plane_detection.py b/src/computer_vision/examples/plane_detection.py similarity index 100% rename from autonomy/scripts/cv/plane_detection.py rename to src/computer_vision/examples/plane_detection.py diff --git a/autonomy/scripts/cv/slam_visuation.py b/src/computer_vision/examples/slam_visuation.py similarity index 100% rename from autonomy/scripts/cv/slam_visuation.py rename to src/computer_vision/examples/slam_visuation.py diff --git a/src/computer_vision/examples/yolo11n.pt b/src/computer_vision/examples/yolo11n.pt new file mode 100644 index 0000000000000000000000000000000000000000..45b273b46165267f2d4c90df94468b547f43cf67 GIT binary patch literal 5613764 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 z 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

%-uzG<15fFFor2}e z`_sLg+sUzVPri~gR&LL>Lz|E_r5bz~Zzt9ld;29g0J21jC700@d@fTRG**WfO_tW` zsC-a(=kP_l@rQiAvOH7*{xEA9C)94zfXEPbMmw*LU;-8?{=C{hoM%qezlR%y`^Q%? zMksyx(GcT*^V8&hS|S{!_t7fk<>?NogQXTn%K5@)8$^f0R)$*}BUFH&Lk;CB=49m# z^$KvHl6+g~6&`9%DnL47G0*9!{ zYE|RAMG1Z4{l%GJT4F2jB>F1|ve86z-qod(L(An?uF9cPYDuvIT;`yC!{jvkI?3Zh z!D?y-^3#!qZqmOOe$T(e_c!h)GLHaF{{sSVW_H_hg_8!%LkP^Y!(f`JMs%) zz*0XeomQ%gyL?@&++8!!qH)IdHZ*BDBl;d1lDeOB%DN zH^^t}{$5YqAeMwysyTR*Ebm^#%mo|07u*i}Sn9BIEv*3?8yz=BXU)-_aFFJ+o(cR@myZ(MM~)0(5Ld!foS8cy9OroGFx*L&f$u!YM^u_lc@l zW0|s?-;r>JLQ6H3lG68VRZOD-V4V7fs6})ni&5)YNUvrS0TMNlctZ98Zt|h480*2W zW2Knxpbg;Arc`v`fc%~e`L|oF7%$vQt_EpjlDoj#J-c$_yi2_n9#cN5yp-?C`{9UC zf-zNFMvrzEQCj6G%qwV8iJ4O)^RC|1ung;8@;zhR7EvfUo;rQm5Lmj3+GI@;1j^>Wxi;1tUAz(lE+Z{l5 zu~pqejHhy*ksBt)AJ6i6%CoA&E=ThTPo)#;U_RGXV%#p@2cgaL$t-2@fKkd1d zk7{bX)5hrc#h-jBVYkxLOw}*sJdzDLO|7Wrkp1=Q(mA4ca+fs+Eu!|(%EFI? zN_ZWIz+CS}_XPH{hw$`36YWKibEygJdiQAL6)3}E{2OJZUqt2+&4EAn2pL7)Q2y0A zsKG#d=&{t@@iZ`xx&=oWRg8&JW1~4L!&L`s4Q=zmWb{9$uSj=!g+SX^q2K+(iRoB{EY_MeN9iL1CvxYd zY7UyLfY+97ScK3C+AQ|}HnpsN3$|IYC{O|mt6tzQjvmr*AC*{ox7 zg{2Fo7A#qvz4}DD09PuHu=d2x;CVoJ5N1)@xxfv4KhlKxL1apZ+#@i95j>CGv$>C+ zB+n=EF8-T&lQ~qGDqbv8#!3{Q5vS-!#o6QtP!8-vN`geD0lZ*LQCGog;jMaavwY$5 zLRxBRt~P(rCy?0eUuff;IAlLli96)(2ng>{(2?2cZa_SikH_}cY{XvrX#CxrPLA6C zR%9pGi*HIlqeXDoott>VOM1a z$=-CoM*kMu$Ik;vR3wm5M;?ve%^8N^*l(g2Xifa5)b>}+X=cC7#xobGujCJ+8E~@Q zSr)8iPjg2B?#W_uwF&7veI3nNaGA6%;NrW3T}ngn7cpN>61G~DGhOcmKV;tyUa8mzjN5jnba81XRUDXNln>CMC;q$psCw)lJ7 zVj_(Pw);_@*hjeJE1^u5*RikIO56dZowifL)GG8NAr8bRSuLJc>p)#SOPUhAXg{j0 zh2^c&kQz6i+$+uURAd(+jYEUM4eWnb5A|z&5;iMAgdfZ{<~TZn^ie;E=WuCN+-lC7hIQ zhKh#1%Tv(b%nNWU^o-mM*5^3rXmSyLn0RR~t=to?!4>jTSyEe)(aIaq%D(D^eoOqQ zj)L9YZ9F5qi~z`7B1VYKOS7gUt+eZ~vQ|}ps&@%Zr1}sOsVeLowm7*+-GvQ8t+bey zV>MlG;3_(!5}u0-?fU~%h!Se45n5`(c%`1!(oJ|~ar@|M*1bCeFJKPQtEsVs=$fOg zk{;_7=u;F=2eEs>LS%Amx7-}D1M?Kr1v80q;0T@#2WpbWb3NSCxCY{FOY82g`Lyry zdYQNBrG8l5VvUTcKFqa5t_gm!&)wBX4DE+(laAW{5;lVt?wam)h%U5jQR6#X%!LJtS#l!3O)72Wg)d9* zo#o)oxcz)ZW)|>jgt1qn&d=kOFX~a=XPvqpOEa+K_-t~yd=HGaXg_=LtrDXb>RY9@ zMs;OMk&V6q*?WZxxyjC}h(!)`|4AG~24cgcaTrg{$97U3(M7}rv=Z^Je&77tybp7< zBUUp0fnGiTtrBDO3YR6idT`HvDwfM}nIT&5Vx*EfTY<&0Z{aq)3Uz_#QIaJlINMqj zg;4Ih%yeQ9^N20&-tJz>J$KZJ*-!6c>RIag-$J^SE>%#ATa${$p(4^OSkYo3oMvWY zIO|~t5`pl)TFC$pSIaj9+&YakaT#F{UX&f?vcavCQ9>K!F#T0q4ENboNpMJ+Lki&#%A^3e}zOjOL2f^`umhFS>GI zd3A=8048#SILI$#yWlP9Gwy+IAIOmgDi!S$C9=pPvJ@9!2aq@2d$@YmNq9555c@N> zL}q!o!g~J8i|JXL;tq#q2Y+POfwiAGMDh;kWs_ig`H^#3W45Sx#I=Unsxz(?(y=ULK(>#NIl_BCEj|_ak$>?6Y&LqSaCJ=-h zzliUUE`{m@JFi@+uT&~ySHODk8}1`x*>cQxqEOr&<TKV9i>QknK`yvC#ztL#6B#ij~T)ZSx#~rjN5HZ>7 ztvl@@7L&$VzOplp9CRQU0IILNSLUeyrFIVPTk%w!g|v76%6?Mi3=b&q{ z?wiFmTh3x?i4X)$J$9}faaaFWi4JdRfgq6JLQ z6{&ANma|OjZ9E~`8KWuLo~ZVgo~nOmAI$k-vT4`oLu86Q-O(CfM5K}bA}6Gokp_JkM_>%EA)bR}caAL7e#=cw+n}ZUt7T51kvu6yAok z6Pr<=167m^`Z%nkl~XRM@BDu|1!<+PGs5Rxb{>hJDOrgj`;U-cYYz5;XnIs&CpXI8 zTeC3(h#5Mr?3a33zV4>57Z@+^6DnCPzH_YoKt%2n(eh{Coa_=pDb$^-@wZ|=+OHtr zrP9PuZHzR^8HX)Tm0`d_XCx68k zsA*J3yrg47o+7VMYSH~;OWMoD-=VJ)7U!2fAlxLI_&X8Tr6EMeyj3lC)rAQh@^qBdNWrm&{#MbtZkjS8mfr)JmiI~w7GN-zbxLP)<_4l=1|>pt6G|8 zb8Ig8Gp;O?&a|;K<$h&9JKJUV11{G-stq^>Pq?FrDq1oc=Wx;60`Ij^V5;&8E@Pj^ z%~sy9Vfv_sGHIMw>*Vjw9t3yv#Y|0fvnhZK;j-qU{>Lwkdm3`7FG;8L1is2VNLG?A zk>}$%SQd<=BJ-M1Hv$Dx0h$>)X3==h2EW2O$O|GaHy0m;zYdiGL(w}@5B&efsfD4< zjDj?B&12)_9ZE5*dfZ5tNInSNjBjX*R-e17D667BIV#C3;=0?;#h;`m+eU=8m8oFS zxW|acn8g`m@%8c5&=Sl{iDrk8%eA-G8oyEI`$Kqp!o4Ed_1iyO{$=B23f579dzrFU znaaJB-BNXTtm`Im0;?eI6WmJY(4de_PM1P>MRi5ot+?}i4~Gj><~xF`L>0XY^Hq9j zt^j$`xbXS(gXlnVBl!^a$vf+AB#$w6f-k&`o<~dS1baqouSa?QBD%=e@Fen)7O<#$ zyVW;TO0h%aQmk8OJSagf=Rc8?sI^onvOU~HXXdfWD%<2hKDCkjBHYEYwJq8&kE|yN zlM`=?S^SvH_DTt{fc{(Tk3Jxyg4;sh6V9r&<6?j+{J}S)yHek=wft=64`RNQX#brt zJa@I&K+gvQ)m73bZXiD?{gI~}+L1XB`UG|ZzcCZUv9r{7pcZpZct-XB>y$^}j{Tvrr5*Hs{JTwybcpQ6=-gf{5?| z^aj6NYQ?$u_vQ%NT4Ef;g$F>AdMKUn!=YMoS0mPUfa@HdCiL~(GUnQ|Jik~w zyH<-!s_v%qsl;X^5*{GzQ7cE=qZjdRDxR2#w?L!CKc(xSW6%#Tk|Sg=vQrr) zwsrIqyCsaJua~$TzY0HR&knW6MhWT5j`&9@CfQ7+c#?V`m5%GdkiIxdX9`8@+bvst zd&(i@zH=^oZK`<#B|K;ZIqmP@Eb6e_OrgwW>Qe1M;c!hf1{8i!T>6^$MA({X<7+Cd z1<)2kGU=-Em82KSEh*hPkC(T|M=Z0%CzMf;m11f6EixB%h3=sr@!F0EI8N%vj}-@K zsEl&00`GmIu$_=IUkg%nOPG%3`-k`^p%wCm$mfeYQjUj26d>tndzT1O+_&I*rV3L= zYb@ecV^SyKmT03*w6w*2kHu$!X;^P}DR7Id&sB1rwLBL{;Bml`P4y;$Udz723&Bs+ zQfk|hf7~OG-r5p?WAUb2_(SSLB`OWIzG!jOF83BbnJsk-V^y%+>|Sn+nIN}Ksv$B& zIunuy>hrxnVY=AMGdn91l#Qya3?_C`Cv})30!&<|oNz@c!?o@7J#B+Nfym;6upet_ zab_#;PD6t!iE}a^QH9cS-yif$;XILV%hdTKx1Pu?fH$@}=l%sKIfT;B2||D(j=TagNal>QHrBkw|vmEA>d4y~{~6(iNb z_XXqeTdX$cbVGMM`G*afKJhMf-dDF=Bdv6xG3J4g-wtw= zTF!aID&&9BI{!dc)Klz^Kv(#ZoheNLhn0091tcr^ct4?>=9Ehpi6X|rii*Z`)Vl=E zvmGV?aF8WrX znGkhIdEo(YSA67Hyrx{&zs9{g@)uIk-PD~<9Lz6exhnR-jlQRrbNvN! z-#!~jw73sBfCx0UW?|2ijdEjdi~0__J+t6QNPDizJ>`6IzUYxBs>7_t*(|NJc-&&I z^%U2}OZal!O|Igr@z>Nw*_XBd%oO((?V^6l({HWBICJ=H6*k_Pq%uc*c2cRj% zGMh?mQSI*H{yO?w*G>Nh^DnlqMU=Y9I6z0(s#L6aG=C}g9F7f_N~{C-%gwnr#$<7N z;z;;Oc6vj>e&ieS9-eDC7S|CM=;c(7(6Y>DvIE~=x=HkbZ;GDrXQ)<~Y~>4VEE_|$ zqe6&A@@ReaVJHnmAO;&jkLF5x8e0lwveg|>+We-a#E*qNU>!0CeQKREPMM9vq?T2r2X}Xe;_eQ`DJ~(NwV53`BfAMM#flV{ zQrsPiL!r17{m%D?e_R*r&d$tv-{-mS$Kg0@mgzv=c#j6iZKxM=i`2?q#=3xR;5F)o zPZJ9H9X#>_d!kt^g-&UQSIw)dlos}LI`z9Np1g-M&Oe1E{A62a!Eh}LmghrEjo?nGnd(1|?7p2)ZY54{jQU}PCT4syn}r)iw(E^7GW?fOO22L% zR;I)k!%M5yiu#CRQkUBb$_dB#eQXhaI9Fd-NRq;1;Sf6~xtC`l=)|@GWwozby4qZq z@trXt{hhbKn@e4%0lS}C54M3h_R+urny7`S`=3gjT6|HS755t(3)*1g#9Hz`SVvD) zVh};>klsfbBBl8!1P-d{pDE9>0 zoa;j8W6NM(E{z`yIx_}8B6NhRo2C-OGs*E@#r`7VsG8RoV>C*V(2`g50taYsc+34;kHtJ;|0nT?KE#8k6|br zHpjEkSOaP~OKaD?cKm{6sF$fN#Dw@x{sLGJhG0)?sL5eIwE1gH&vLC>IhfnPFXMu+ zozX=fq3;Qw)!kwxl;c{f3Sw91cBUS;iZz_PtppaMzEEGoy6}!NL_DRBhuLsi@I1Sh zypZ`5*HmaqjY4U((aZ;Am>WXv0Ym6k^eZM0`>14?DSCIKQ(=C=MRRcB{_rtvmztyf zBahGPnH{t00rlR$O#N9VLoI+EbOFcNqU@hco1BR69G;@g&|_dVxro&+;`R5;xD-mo zvt4!U`%qtc5_lgjvc_7yVGXlBcird0(7F!mW+ZILI7(i^EtGC5ChQmf;w$Ts$nh{? zQ4uVHBTAto95jERZD%nf!BszRc0#PHdR8WWNV}s9RGw-J)MG{j#v1$KQ$!vZw`2g^ zsYNFhB^zhtNiU5jMm3{Cn25Yq?;BANOL!7+;H%=&VGS4wY*ibHZ;gLU&KhM=tIMty z^<``RTislq5o=~X%Dc*qVVr6QY7;g`ZD*|sJw$(gHR`El!hh=rvwPbF#44%GZ2%3a zG2Cf(1O8E}M?MZN&<3mH^nCrj`b->brR(jKUe-19UD1F!6ISQ$(0_qe^fLM-c)`vE zeMvvPpG;ZV5W9_+z>3ifJphbCJ>E3^t`S5}r!~g-FmFX?jzwhmpWHvE9P#Mxx~UaY zc8FuGt9mA^uT0hUYiY7ayvogB%d^deuE`HPjf8H=ZgNJGqVA&`7b{-JjT}f|7D6`7~IHrYn7=&)O~Y zK2kaKSuV*e%B(<{p(-%m93?H%TfxN;MKClUb4D2HuFuU8EPgaQ8uaFuYhM2@rW$G{ z2G|x(Ke@=}v^&vE=X((PQnWMjPI;HwNi1}wP>7aEZwG$gK!OE2-6!XoEQ^1Nu8-jI>1R_8kaiEE(@fqgAS?15WU&Ius z{3ZNJiF7F;Tj1O!*pu83dMYT*F5wcucl-!bpWf?SN?fOO+ij+EOpvX~*A$;p4A`%! za#MK&%+oW(HcG0M2}PnPJ;>$|CV57Bs;~*k^E{`WMd&FsoqZWpwFTrIR8m66Qfu^( zwo987eq!y`zn}>)52|pRh)JAZxCkyI7RXObeJX;cQbpMY?w;;dLJz*N@Dz8eFY_D8 zH{pGAc&MGx*tn~|3b&5HkY)U5Zl{~W2g*0s0X0Ucp72Fp0W!%oj&&%j5Re~d+|D}` zI305)_+QKodpnBYR?=>*Hge6}hS8?S=xGbb$B>;?eI=(;%L1pfd*H|XpEA<}r>H!z zN2!;4-TzQ~Peo&=5ox1eRF}LCsC4npzJ=O{wRCMIR}kAAwd7d+tNH+K2-9JPxf>2M z*65^8spDN@xxMrQyb_ziiL8TP3U1q9AudD)-GKg?6>Vh!$+eejQRQ;S6FROsO~hnP zWo!G#p=+ljmO+(58)2FE%yav5a{9o)F-XJ(o$()q*=eo^^My49d3uv zn;*xX_k8ipU>2m&3vNxS?d#p@X7t;&k54xssN$fCCDWjT# ztU7rr=};2rQG8`EH}Fx5f%mjCh-~*Q1)%5iC2t07Jp5mYd$~6M6H@l4+L9*O0pa|@%|Ejh#3nE!o zfm{z6I6G_W^`_=5^?_7Vy(MiYRqBF#RBImppSDI`tgXcgQC~Yo+$A4YUh6&KGksC$ zuG~nU0p7Z+2>0oy?mC`ZSTnW(_ctQdXX%gC3+7j|s@f%3+2{p+bHDN&p-@dVc{6$5 zT{LB=o?^Y#pQ<0N>&9qMGPv8xsPkcKJrS!YXbJ zunReSTvl;r6?#T$*!Ex*sy^kX)~j7|CxSEbeB~F%9^b$?A}<+BEE+9fmlpM8QlKbV0nO<1x%fFSJ5uMwD>ck8r`C*P=GDMR?VMLwgc71iP`&?9KQTtT%rkIWvzDp?fgUqv#+LR z;q9sO$~i+sP37v~17FtPJL8M|LwsTV(4Ph{Jzc}u3;0&-941nI}YAoS2tT3p-k3w4IgvOAcx&HJgZFqIxJW)0w7y^Ce-X^D5)DZbs4~W9^%{PRnAr zimCOJ3)T4+(34y~AajGrR79>gtMAkU#)jz8iPNPnw7?HUwEe%q2j*K&4YggUo4gmL zdnzcSy$$3!IYXV#{PT&eNwf2oEWb;ArLKyX1^{tE$&`V#D>zl1xaHljysWCYb3 z+n(?G!jw`9tb^9LAZd;;W*I?Z3(?Q3C})g6Ld$){;5t`jK88J(SzD8&%?TBB5}n_A zLT$Y-~%|JAtv@ z3>}o`6LZ8~^1Ya(&Q@`#lGh(DHfCwOaUVQM6RFQxl}2INGXB9DdD?#=kAgGe}gB!|0xmf%y)d5|h=Y%gLl2sD($vA4gt*(0B&*7_yUrW>rc1Fa^ z#r8?UIxJcL7~W%6)t4KC!&k&l=-KjCrKwHw&Ajs9J3HQGGMkxoYFn{sXb|31eI*@m z6zDU9*H&zZUxM#O?4%Cdj{G;SX;P;0(CTXms~WL(rXN^_9Eebhw?fvU;7BTn?mazu z9o)drfg)U=_(}2@?^ESJGuK#$XeLdSM%q2?IxJ^z31X;vcvGPd)s8&E-se9$AJ9XX zXXIw;EYV-=gD4SI?BAm4Vh2EJVgMMH)F@bzo}xsXC-hltch7uJDd*`R7wBQ#T3d2W z32h>>+0}%MigtRz;kH9d9*U>qPsGmAhgj$IKTMA`$WpYW@Ty)Pb#=4wx!`XHM|OuB ztUY>HYCe-o_{n9$ai$MZ0P4_jiRozOdJtQH@~bn63^IXQn&hD0P~75^fJVuvRoq>E zl54M3&e)c-PPr7y2o4U8UNOwEUaTy4N%*Aws>BE~eboPwU&Xw-}T6 z#Jf^ErTrD-@JX&@^(-7Fy{0RY5!Yy9Hr9gtBZr4qL&J(!rY9tprjnStu6@C2_QR45 z$9#RIA#`KVv&d7N;~#)YOg=pqtKd8nzcqGtb}7CRm@EHL@=UP1>zq|OEYf~9g>9i+ zlDa8zMz%#*gG4$@5BAfK>#N`;49r6{8F!OR_F3v zMd&ext?<`KZ8g!B?^CGGDZ`SNgk$jN@O9vmwIG7T|5 zrx#ODr)ReEDuk=)*uX$fC0V;^9J9Qz1TRf5D!xo?1(nl~grWKJQ%Yiq{vIlg*Oa zD0750COw`i$B5)#G=|p$hxplSZm644(R_;fJ~AvO*C9FTJ*en;GicQ@Ho1c z_7-mm!`$~At?9Mc%}mTVt%&fx)h+x+Ehf)}VYwQ#IeRn z`U~n&=G#65i-tatzeP`W8B`OY3mue}qBqi0@SHUc-hl_yi`r+zNQy@Up1=GP)flP* zP{2H@mJ}|R#PqUVx6jS~LRCWl!$FLnsV!C&D`4-%LB?_IDeB0)l-l|1(SB`M;$X)P zzYo4QU#Pu|6X7dXTM00OUE|;uwIgh+jIb_SJscGRr^L!OQ){k!#7+t?enb4v6OLK< zWZOBpI=$5W2l$M3f#J|Otudt3afy2tF-snXs)bgo3&aYpI=0kcP#dbqrItF< zC~!9cAK-J8hxpZ+7g>|w)T^j{ly(@v>d9|iJFs-UhhEJ{gMY!?GLzK9NrPMqV#}k{ zUavqIDo9VYxwMHPmQJ(3$jm_oA&Xy2Zz5kM{s|i37g(0Sk$K{&>lkqu%tUN~!}=tp zx%t4VNVNmCmIddJ`PE*IC(#khaL7r>Z7q%IW@9@v{>aU{@5JDQhd#|E4-K{ZT%b0*}j`fYY>mZEg5exQ{+Q zY!83tMhP#uV)R^Li*SW4>K-P9=pzhCw1`P@tjb@j#KA{!1~xy?oMME^%)~`^QSM-< zK?oh)|L`i`UbxK>0`Ez6R~Pe%JgO@(o&TAwZtLqlCPYzy9_}g@OoJV@#bRee(kBM5 zlJh~1uR3T()il%On&MEn34v_J>UY9_TTO`f${)EwsTM7`9AGjZ$F6kU5NNifbRf{# zu}?1+F0{HB9U~)*Hk9n#fS4s!I5(?sS?)DLD1SVeNG<`TJefR8ee^)j3pojvH+dt| z{LAX#|DEl^&i8*$=h=Gr79*f;~okbc`-~-Z2xlu(s;| zXqCeotW++Iyo`Q9mAQRvKSbfE#=1BSq}ZP^ospZN1iBK+1CyACI6oWsO(`Q%X7e@O zJB6Q_RPGsDgZtY(Bl#`JrceJc|;lKKzd$=CEMnNOh~0S*NgRgiuKEm7Zy9 z#V=&v=R9L`T)VK#xuX%iphIG7xi7lU9>wpv6!r)=#qleQ&O2$pq0N;p5xoc=`^xV2 z%opael~@D?rvC_qsrBTA(5-|kU^z`tZK&0V16ot;W){_t;8oz8n2mBpyb>bDEM|We z+_(h3f~o3w{jyP3j?=#x3$!uHKy`?+f{HHJUCXiAk!@B2A$(tGd@d$OIlkEXc>~T| zJcQF!3;0jo2c>i5S8Hr&DBKK7V^CSE7KHa1iZo%I#)fqYlnMFkPt6 zwPz=y9#=8yF{^XMS8BErc%huA_LiQ@aODHKv)D)Y!~FsOPSp*z@|_8;gcU>*oK*e^ z#*3I%7`)8=PT$MUb<{#V3zhW={{9_{^9QxgT+d+QS*D;2C-uoUsO>Dx z12nl<;vPjq)C7D+ekehKN@#}Fj0-5m6PhXu0=LloqXCHW?Dt&s9ij#ki-S?>Cuxw4 z@lms^3tBLB*~s4n*A$ZqYV)g_XyR5w28x1kVj zVboQwij5qZ#P9q9@X>Xbxl3No+$3(4?a~qNes8R4TCwJ@;(6U;R!~m_cY%*E&f2fK z_3rQtH6?+g(-yqU=>)>AJZ~C3lc;Cx3j3{#M)NgYR}auq3;hMpC^E4wna#y;%@J9x z7Z=CZV4c)ML?6A5niro#%fLzGNlg!DMbdQ->4Cwd%WM@U-ba%8h+7ij2C;3Cv)N7U zN;qGxJ26;mN{&_}qoh1Re}pAs1YJk9$Ck0>Yw4&%n*t}i+XJlp^i8j+wAPIG= zD(O2#$#7VMm5=5<;{e{7n342WWUw~`pIJd$1f4!;NboaW3m#LOi^)bc^G04n)bGm* z*0EMtkFX`gT{2FdWqy;>B)|TbDwCxUq3H;nL$(IDWYXRf%yh~0eY%Bn5an~xuDAGM zEJgIjpD(*f<^zAA+2M_ZG4hU3Wh!0Tg-cX9>{mFYz#Vz4Bu93e$F;523uNSbrFS+c znE>5w{i7C$B3ekyQb!p3LNnA;QX8t0bX>ZxTofCY*sl2DrX-eafu?L;M8IljPsiVh zSH(yASvAdE0w*Z5w9;a%{2#J>bdw+Ave;GMp}q@UmK&+{8BV>J(5+}2s|Wlh?=Gku zZll%Lngna0KHgj72x3wB^)KESxx9mbrfjNZwt2}^|6SVygz z1qIeO9q1kOqDrCTkz=ND7wsIk0S2pTn;=7Fv81DI9h zRua$`nf=U8CXUPseI|AxYuym#p!m*L8|A~AA=gI@{ZXijzFCpzFHA|4P@HJz?7i6U z#1Q(7Ya60Jncy?ijolIRTl~eZCt%+lluDaGYGN~UiFvW@l2m_wIk zUy{KUcXUnJtQp+|22yr&0 zz*0=CE1kp9DkoZ-}xiQ$r&( zN&SF!;3!0hK4<7}LJR60*9LiRPJcQc<&I~Nxl(jMTy=u5fid{$oRiERvKeVnN91AV zO_PI};=0fqD$zZRYa<_W)ej|>8OHSnBLn5hOsq9Z|4( z58yOkTm2kFtroRN;D)P)Q9LpoQA5oF+*=#`Q`&E^$`!2`6cBx?3jBdxRPLD*dZv_8J%9AslUTpFnRIZ_~>9db%UFSxL{?44cr<^=N59I%I zpU3)F=OVr;+@qdSM8p)jCEr6=VSUHcoPQlVL`$CwU#P=#yXuXl3$9l3P2UsrW;lfG z3$`g0Glozl^m@t$ZZPfp-&&n91R!NNYIPYGV$@ zM*AxG4El5CA<7^}IVQPGX^OST97?sNU)ooKh|rm>tal8%tTo<6S~0b^9v?j7wIt}Z z`A7QGsPVc7>dFSquT|1Zz;yCUz7VKH?q_R~LyVGYzMdTHXR96>9DHsTw{|Ic2``{q z98#j%;_mPx;uJ*5Ig#n+On*|Ow)L9)A=VLtXz%r%uFBTqnzPA{PTT_OvU&y0C)??D z&7Fw8`FBPerL}DoIh0JI>rg)SH>#{)kav}X3s%Upgytz7lRtuS$@M+&{T7p0FN9c2aHw@X?1}8sXKPi=S;`^3cEo|5)G~9|Q<+I46dRw;D)5c1 z8lqhlQ3hf!l-kBqv#+rMKGwhLSB3Is&q*Bjjqp1$(1J+fr$N zxeDxgP?tyr_rNPa`bMjBi7{krZKju$^UNQb+lUKS4L>IGxK*6Ytl}hQ204Z0=|S*c za}Y9jeTc}BC?z^v-1;*(lCA<{vbsSpWW|H}W}}w0$^IBW=;K3)OZUqQq7M|=rN1%@ z_4jBp^~zjp714*AxoE$2m^q)ZT}0eZ7w&KE<(XV3C(Rc+k|@pTh_|~@|L&l|<((n= zONWw{gBu_Rc@RR#(NNmD5Po8&Sd+tx^ey-Z_C7sc-keiASQ6fZWy}S>YQ|G-vo_f3 zZ?qJ9P%E*L_N#0|dkJ!_uo7GY|B_e8$F946GJhI4iuxm09jZ%>KMG^ubz_FP!!pC0 zOD`o@Je$2pk74&^?lh{XUju{H0qU=L6w6`P$|-zRcANP@y9O^ae{l^Md!U7Dr~Fnb zr;X5lB{A{=V9AD*#`j2?>VKN|!Rk^lBT~$kuOEP`R0mgEh0O1Gwil<5aU@v69_K5u z%c%0`iPVO9f#$Z`$Zw(tW$yN|rF=u#>gijFHuQ0EE`1Uud$vl2Oeti=ct|qj?|223 z6rD=9MIai;(P~ZP`|VHk7UG4K%nkMrP?r6dUIEI`57~))b5H5i+NmS>1<3Y5h!pn?W;Za7c{6sUAn&wQaSY|4kL@ri3D4*4o;7C|sG!imt zk*HQ?2^bnT5N1f1^n~S(xIsj6-W5mef?C?rJepHOPJ1k0!OuAJ=vm|?$Ns>-u%lcE z?-}FFDpu)LhO~;8E<&m@Yeb{+q zSM%b(h2BbKada2W7tK$ahZv#!Y1@&T?7Hcy0k@&&PaR=O%6U(k{!q^hU$TFdM&y0; zHo|A%4(woT6GeBN(o?nRj!9OOF@!BPO}}P=|%{)K+f)J zRxuW$iS#gij8P!ch|=(x&qM_G&q@v7A%HvX!>&eOV}-50dS4s{qJ(eUZ|W(rx?`cf z1$F4_Nlx`>&T+MaG9srP@|(AF-pyR)-yluUYgqHm_9fbB#r!J$Es&en2k*hI;YyPG zY#5#xVu?Qy>AWaES~!zA!b-44+Q%9k`~Xh#BhXGZihBUo*!Qw2^uE|K#5nn5*)On+ zu|&HCSHeUkhOQs%g{<@o!j;K>8L8d?{5#wlU|^mRGu)S@hTvnS;VeX z&#FGSft<)9=b_Kt)=zPLqmDPH}hVUb7%tY~JgfHY5HAPM%>w0@pXJf0W zr-NUEyY!}TBI%&AsY=*8Y6Lh3pZUT*0(2s$QZ>Lvbe)#rhvOXB8XJe~TdcMLeFiOZ zM8qFCr=8SKn}NW>&=u_GgaZW0ee!-scj&`%tspQq`I{qk$AsmfWhIC)1} zDgOrhYtQqhU<*Pm6Q0A$u2ND%@igftM~YSH?w;|;VXiyv_=xDC`Xyf*s9KM-3Ro{8 zgM1!-wTZ*kA^2@D9x$OX;u3Xm%oW>Qb`DJmui55a zh4kguD^Vg;&J~q^8K2>z5?_J6%m3vwNe*sJ|zvtg4 zOUPr&rom-;j9#(OC>SK2M=3w_{Kq`L#!|NJD;^6--~}<-b(yw~Yoi?hF3bhjaUS^K zGGklb8~P7qdMaYygFJ4F#02lfoJnSLL|Ly-KWA36#gpn7MU3XeM;Q_ur3?04Y_(bo zB?TzXXTQjLlD@m@D7Ax0`a*9@M3^}$ya-_&+)5bHNwMRf1ordu%Okgi0Gl%t7&oozIm! z>~l{GloA|;cH*iy+ZK;MOWYK*-1{bkF&0RIPxV@`rtf&zfQ8=Dqz^374QmISnvtOH zKwE(xm}b8(moB_*JyE{8;y^E0Dsuo|uH*%?f6;dy? zEcFfSrn+Oa+@b6h_FU)_wTpQJ^11SegYm@u#rIIXp=@?;$$~+ZXv6#H%SODJX&#U! zt|;oLs8-Poy$XFK{=9#ND_Y5R-4vtjlWc&U&Fm+a&=cvc>@pe93+UOtqOvajOE==r zvd3sIYv<~ryK{;$3i-`Hn;Rv-E=N7GlELlLH|>ns->eksPo^$ ze7|WU^IZAw@;ypN;y4k9y@n^W`-U$UCwP){CQ8%d-^+*e#a7igWDQT8<*gz;3Vu-D z#0~T9gw0Uq0d@U7FWn8@Z-vJ0(`pg(vRV(8Ks|1n>dI~94)`;j#a%sUH!;FHoZ8A3 zr{c(={`IkzFqwP82&QS;))kX#=|Z8uZySXyCJ4c6#w(T%Q{Q_!aj9UTszQT-mgW;AMmQOC2kBR z#Qf$TMQ)*QNeSLqlvmk}^$BiIVDyKus+KL@AkNWq$v47n{t;LU=7D)?GqhRw!oKDv z^J`tJ|-SKR3FRMNq#LX&v|5la4v;`HbBxY8U?V5H9YcrWPf&VcuxHz zC{t(1!NiVoh13_Rf|4ZWp||aP=psrJE>{a*L(rS4&pzb$a?j-|R!fV;3PZJ>JA+q( zRS~y!7|QLGlFMuF^n6}TiAy;kd5l7MS}G*J2Xl;aY$p51%8srd@@~+kY;kOmi0jet z7D$yn`5lR3STx<7Tr3-;&(R6npd{zz76Yg+_mQclH{d4Hi*xJAXQUV@3on~@SW1=z z?f~(IJgL)Ej=rq$m+&d>5F%Ha^lb02gf(zCY;Oe=8*=X~u#t|r@dZLr&t`WhpEaJq zqw-gCqyENg%J1~N#KG8P(nDgo&FHGCUw>eni;<~AbW;Yho4D~gGn0Oi$Dxhs2^fuB zAm^D6-i+W(AkGXIt6|%GJ>(97JMulXs6MpR60$k=8*Z|7 ziK#iY{qv+p$nNeHk1qY3us&g1>=309yqSnBe@R6KEX(Ue0OPY;NzVVL3{;_ZhsN?A={7kRo zPO)?KC3=EUN|~&r$*K7ztSjEd5)wRS5w122$^>e)*i&pDC01V!9|ugxn{Ts@ySH)e z*cfI!SeDm5(ARz{Au8xfN53cnk#sUIV5+xJwq>5MuMN~BJl@HAvb0#7@4qRnT09`` z_bAaf8AcmU)v|gleg%@5WVvABw$eYt(q<)WuD-(TY%UH>B2H*A_5`^}@LAju z*KTK=|E%w*?E+2Y?aYzPh47<#&6wt`;md$0)mQ#F`(BxfcHkm78N7++vb;T-ydCq5 zxIv!vukddqYP&RfvR=ukZnV(9ghyH@yr-08<2?BjMFLH{gC?}6$TNwan0azf*jaLm z#WmG6TltCpOvbP*R~^l+%M0iDdZ4{f&%I2VrrKaNB~5ClRSfKl`b*VA$Y#27nUzp5 zC_FHngSb)^Da*dzcAb!jN7!2M3w4)E(GKZd;5xZU0KGlyEsa{HNcX3XlLLHTb3W!@ zvn7(**cI&`{V_Z&zl4>P!%_CEmCHO8mpO9Ud)#MM?9WEE_ibn2Q@*%yK?ZL${w!E(R3@J(+ zth|$&C04@!B8QMKi4=qut0f=eU!p9^G47Rc*!>e9;A6Ri_(#4Dmq$JUe}ZY5d63e4 zj;+B;OW)-`)4m69(rq0c` zbw4LVHT1Bajy|;#=;VDmc)-7nC=UK5DsmZIF|yN2-TN^9PN}rzHE0T*k36trU{vBy z${@N(Mt113vOry!cU{IEYsqWeAv%_u#4cyrcv*@k2S$|x<(VB=_qgLqV`mkmr(D9< zNoi^pPr6FoFxDWh`!VabdDZF=CXA2z25SM4mvk}xG}aeJ#9Av_D*bcpa#d&0HzF~W zIZGb%6$UE@J8~FT$X;Y`3w1oN_zs?YVJ^2H-F5fTcHw9CsB%+W6RfXQ(LRM{gt}p= zxe^v!JUF;EejA-mT_#hM7rDcjHqPR{s9-I*led{Il|4#$z#=pOoa~%w>l|pv33YVzUThMzjC`wE(t^0Ta02`< zR7Z@*O1k=s-x4){fqyJnI#?0SbH*DN^xD?HRtW9)I~#lDJ2_>Yb&KaZFA|sFuj(H8 z65EP{oS}DCRUMSVl6OiSj ztFM)=z#MyY-d5~)hnE~f|0-Ye_IC6L(va7OQn3Vu=IA?l4?hL`$?fJ}!X;`0L|N%i zX2hh2s>yCMKG>EKSP@aoeU3k{X^sI>bE$=Qk(8^R&>z6-`clN3-HiRNR8@8aC%_BZ z?ZHBBo6ZcD43U-H6i8CzSqLmLE3;XxsdwSfxY`?IDTR?nNnp(rH0mf^%-eO=$L@__1w}h>Y z7tZaxku^9k!d~&6)iR+MIRPGOxAcXoq1^KJLEYE`QW`ZEvByrLKFbKEEKNs$cj80> zeux2h8?cgpL1|1SU&YYWGUKv;ceQ3e;w7?5kc*47p|jZb+}TinTSLS?+mC#g6G~{# zl2j$7OHlDfeD_qt6taqDjFIisBf62Ti3qHJOf<1E)0OGy+}t%jSKT7tP;7dJ(G^X( zyKC!>J!qr(%BJM+viDXZY#*{QB53xZJ4pZWFP#o^0iEjWV`RzO(ImB|I@TO)PS&@2qsWG!4Rzgh+Z97L6?3uCp^NaL|Dm)|gWerdf;vnNXo6f( zF01Ehl@$q2vC?5xG$%h|6A@Q49c`xOM7isRE6aHs zTNmL~DL$uFDBxHHqInMGF8ZNd#!T=NyEwE;s|KHA?}DnoZ)m7~O@GBF3eALS?9Al% z?km()ZUEoSRbJ7t#O&wZ@7MunKRnjPC0F*yfLskCQa@xIni|CipU3T#wf8Sd~H3{Prwi1*5Rl6 zz(`yKD8oP<0cE<#I-Y;{JjxI5%je?$v60TJt`AsahsrJ^R?@?SpSY{`p0Vd#<)w+b zr1W9Fq1=T+?_{=ke+OC2L%A_5gRfC`NTag_N=cs}yrWOb=<%36hHILdnUY4FqI>Ya z3LevKE2<7WcC}GqAxZD>W;2(qv(8M2yWr34mK- z7iGR)!|0$q4(-u{rOaSixn73D6-zw`Jfu!hn?l~uVrhHKRQnz0BmOEV%GUydySn=% zYSazqJ2QvrdvrI^CcjrFqFn6_V>GN~=2{D|MZ|vecHXn>1@eu@(^Q8< zm(n(vrW|7)+f!qQ$m~J8x5ITk!h+(Bx2S>cZ*W` zEHxM9CNTZ8QPdiwPOx?w348{7kF6+#goQ#~e2VkQ^7pWgUS9jIKxv=)E%vIKroZ%e zq)sr8xmNsSHkYo;X5~%~bOmD^zbWT~#pM5jBPCNl#f;> zz3^oI9Q>s8CZT-70Wc;fGp9=s$eUpsSWCZW7O@KDvM{8USJRY3p>JZG`Xu;9+#gCw zsLBigttkLFZW!`BJW`fJ)hKH2GcJbThnWJ76moX)Jg6iT@ib%B31d7vT^BL}@rb); z%z-(uTDYI}4j-t_3^c^MnYHBlrHUXI2?(|)26gMssibA5uD zM0O{C0V(84`WV}h{*85z7v(0!W}*4lZTQY?Wy~^vvDzCc)^Vyvk*fan;=s@okqgOE zGp_|Aj&Ia77LYX6oHJP+vGMDo#M*f{KQu}GMc*83rfk$}8QT&XSsL8Kq#656&NsoT zfHs~Z!zaUKBK@^P;o1?uH(&Iq?Ob=`_o-Eo=`z_WO?$Hcc4jjH42$2)G^BnMIZ56Y zyCU0g1*5caUWzgeGtHj}`>6Agp|6H`wlf(1>dz+)o+m znN79zEECqNN$B6Y49*Q7GnW{}t!%v?bf~-Jh2G6sHNu`cXE{iP_yQxeA zTP6D@`T;y(*sSX^rZhkt%Zg+=-b$yeF=hmwG5yvz*JW4;tE$V<+d>QZ9F*bhV8_r5 z=@+RwY^U~>t|5xleNtoY&~~biT10Fam~YlKM)3WCmnseV($|O}IKu8?pjf4tOA1(9 z3N~2%VRE>pHB4z}d{>q!RjFZkrcGu3Bg%wY>Yva_7E!w36|y>NBIPoHXcT3J?e$a2 zYB*ndwPXu9GVdPZkN#mF!}f_e=Hs#Q*_#ztXonJkTVVT8@8B46wN$}5US5?w0c-EA zgSeyB5c#Zvu)|%0pUN+H9|b>zufjWNSXOoY4QR-hq&o{c-5Z3m%ypV30qbR!1C!nF za?uO8oBTemKHoBVyJsKYTsX@=cj7Qln-Zw4eIuX1?-*k2YnQ@@%z!zpU``~zd814Calx6$Eo(w#T=-&6J7r|(7uYL&(3+s|;nvn*;!o@$`78NfY$dTxg5oHY z-+SK%tJrkyjx{H|Nz2mX%rbD3lBBiJ2>3?7r@qMf)Av}pWlu=@DW|U71Yhnt;jBVf zx<90-E3>Ekb0snn658FF5o4I!`(|C%v7cSrK;fq`IQWo{oOT&l7iip zrTPwqHTM`Kx+Aw&qrrdVL86&^mk`Cz5&lhH;%T=+U`NwW{mbQj>N!O)&KTE18`Oqs z34dGTi8jmrN&AVMpihS-&8-Oui~5NFILG-LiRaN2Yod~`l$8Ha=Zon|Kjj+8W=nIo z*&@^eE`#YL@4|jI(#@Ufme^b3LH{puZ*^qg1+_`6j?KhZ<#r3sqbm|U5mS51Op6uTcCwEMYzI^ z1p|$V<|1>6{zf~h-S(nZiuyI?GIdmLLnV`mzC+S(aw-{8uP<&Z-z!Gs?=JE;wat~L ztar?0h9UySacM{(80-hHtF=R_DyS>al>3W67G$v7*t5cTKAUf)EK}pm&2XVQ4t5P} z!5?Euj*baWsWe{~_%T~h6f;@xr182>n<|!!9gyKL{*jM6&rkUSOyqRfXKXA?EF7e}BZI=n^CwH)6;i9~U5~p^ruUWo zHq%^KkDTteksG=W*IVc=)G&skXP;f&X_XAS6e+ipT812gTlg?^y>t#05=T~5v)@9V zxbNCM^*Z#*m9)~ZpSmBbC7o5?qkKkd$9}sLO)n2EZkxL*=%VJJ_Xnz6J=wGdv-@L`#hv4&QUugz?a& z_cx)Q3X2(}Qp4z3s1-c5Uauayx-9Hd&??+FCsF@TiNlug8~EDXwB)dRE@FZ;NgN{* z;=Evr)W%jVv8eo$JWj3^=k^oEPRd0tb(KTs_bo~wNp#2Y6Ind@zWXRVy@1cI7^JZU zj%iF1^RGP+boih6zk7kXU7sU$LmAN;+&9$I45D_&9QFdUjOz(hV_pRP8_@K=o%#a^ zo;c5LVSMspA=5KCB{lht&@Y+uB+4Jua%y{}vc40UVUvt}^BPq}ZGv(m=aJ8(Y3vxi zim?Y6Ts^R!w7aIE6aQ_wQi*O#5aqxUu@=Hjt|?QOzryE%CPII1EhnU4?n5z?xN@#h ze1CU+_jdO$DH$on(Fx^Nau)^{!W_-dOR19V<%Xo3^V|b8a;Be=Saf9!DA|CVVz1`B zfU;NtIUkgwf6i@-I)fWvQDjbQhKzf(D#7XodcMJ`upuJe1;a|Xhql|w3@?MYG%l$S z{h+(6w8w$Zy8*UkRe6DryJ z2xZ%!@C3GjDutfmwv^7ve~~BL|0bW2wxHByNzNZ5 zv&2c^kZI57BXjb<$llnW8p~N=mv^G$jK3Rs3EW|B((mwD^a}MGGs@o;EAIN7yP4Ty zo1sq?h6pLbUBomi=8^c6?_CG!-i>stWtG_y?pWb7S)4YQ zlbH{Q0c<7iK5}|K;Oe>;yUY6KP(NW^a(6AadwaO%M}NXrXKuyad00a0l95mvkr=yd z`FcLVlOa48%AoU36!%zI=?-&?Jp+?fHp_k7{RgtuFL2k!t})Y)S$n_dhG6D3q3@P6 ze0%)ea?1GA(7VL|dKWi`d&W-_Jm|`5?y2oI!By@8Jx6_-KNcVgxSUG;?jMPbVMoJO z`MvD-(bJ>~>gUqolg1&CR_-6B5Ko{h*|uerLza>&_AYU>s|`7gI?m^DG&=%3_1<-@ z%lU?`y~DhRIqF{P-mZSrd+NjCNNcFR#S!hRi&x^*k=~oWF}_ta7}<_MuY}mxFBe+6hzeedq@Lfi%o0VT?7C%o|Wx zKIn}>*9n7wR_86g70UuHyJ`A$?K#->-;|aa8D2vf&Vysq9?@t~hAfhJxAz?FIN(vfT>NmcTH_I~$J5A-0y^yZXE>yQb_xvx=?BG~E zS^cE9)T_%mOWt|+aE;;1Uc!+l7nQq&)=FvV*%UVsD9ZM!J>>ZY7i8ip6B%TGI@wh* zbw4%J)z?*5oFu$J6iBc=c6770=bFpAxz*CHz(8y`T|f%u>{J1kNcAE{<7bKg&{J>) z{3R3%e{~P`y-;^zX=;YHkO^T&9gQusP=uSDbeMdL{!8v7edI+sUYnvudo*#pSK?ob zh@8jW3@j5Gae}ZAooh@EbY(y0fs9b8rB-D22|0~6;RB)8RvbIOav03j-E#RZTC73!b{0S>K0i{%!DTL zJMFd6lV~^O739OcK;2NlYRr0Oxw8wKPBvgplG&NN@uBD>TRYH|v&b-d98*8I72Ip} zL*v%WT1$t|tedh9rYhsvcotET?nafTFR-U*)Pj*t!oUideQbYi9%2KuhplnRNK;EZ zb(OxsoBVnV7X!dgwii8+6&7MW0|NWi23Vf6CY#K;r~zaxbq)VUx$FC%{!*SRp3{>g zEyXXiEc^m*l|Or#K#$-)wVd$X2mzAuD8Lw)Wb`uX8$3vMUMcUk4P5<*Oi3ivF_D;m ztR#rf5DWPyS|4x37E+&}In+;V5MZa*PHIX_^cdFmxE1IrcI$_X?#5MRQTVo=74t^j zj7o@|yhxU$D>#?X)%|JKJ=~Q*1?6h~C%v|L0XPPJ1m6NT^ax86{E48&51>zo56RQC zjj+)_2`f<@&{|eQ^{fHXfmw69p()VI{1;>&>o#d%p`y(5ohj^rT|sVR`#@z}4EoUo zHi?~&9Zl|q??nFRDVg;f0jf{zD13y$5J0riiPxHX0v4RbH=6lR|-x zApPLFy3qClOOvnSuZ0Y89mu>tuV$+-phS$)PJlVuC}s%y|GfIjh=YtE=Zi0MZ(B$6 zD`bfK%2o3(D;Q|qi8rN`Qa#WWWCQSAmelqK_IfKo<=kT61%x;r2O3z06=0F&J@*`G z(s%!l*sW4Mxtl&hz2<3c%qrR!^s4W5O55&jle^kF9D2p_?2W)hKv$@VKO`rRo!Lld z8P^W%0#lK>M`HXq=^a#CiI?6M{t0%Ykp%(A2dS&bp{ENQ^U;MX%fwJlY#$Nh@DNpy zaD3j1Ok0HSGE#@Chh}0jnI~O>QYZ*&A%FDb#l6)%%HjMj(k@{iX)^oi!%#Qiu0P4g z3#HW~jwhD3*<}Ndr3YMQv|s#`9E{&5?#g|~wNE}9*e#LBJ8J>D-Y5F9^V6uw)C1u0 z?uj@9Cly90BYllsr4~BI;w_Pr!F%B;rV(6RbkaDlb_^bZHgW#}29Z-46nQ`QSLz)>(7K%No(r9mi z+}?L&@xH)YuB+5Rc_thLQ^cQ+E7Tc08Kl3}1$9^rfStP}_TiVIHT_)R6PAry-i^0Z)~QAP*ClX z>uq^6{X}|N)nMfduI7~wR%|GS3+>$ayg1KQ$8YWoKOM{%R;pKI!_!msOY2J|`oI>z zR$Il@RP-_WS6qLPc|9Lpw&Vk<0b+ay=rC}R$2dA!YUH`)wOq$QKRFR9f&B-3=wqZaDSqxbT0gNAKM?9! zI>c>3zT#VGjoJ-;AO@3LZ8OzB{gFzCq8q?1TB*2k@jWB7zUlgh+NRKSlM5{^zPGML z=-T?k^@yjMB5J)0z8hur_d+k@xTdP>0!{gf@*J(AashN>X?iK)ysBht+O(pVW({>I zaJt;VqsgnpC}KTc#a^F~85q`3xS#!WF!v3ec0&W zXY;3V*RX~2O`B0Vd`(}Y_~qVe3t^1>lUpWEmAeI!nCh+(&X2S+^^CJUP0(MdZqg)m zpK?tbVzvqv$rFXzQod42`6)D3mH}1uGW9e+RVbC%o-0?X5?`y-Kl~u96)#CArM22q z@tHJPn`S%^a{1=ke9wC9khL@*$0Z?mss90GMGi6yWPg!z_waU*{&vpnY<5u|34@?4 zd8)cguAkW$IKEDx={SXa6_)X*J!QDNV9xx)UXy=`v|0%n&y^o5v|xnlV?Q!?>CVh3 zS829CRi91HD#y)3V&b+!R&og-6ucy|@b2;?dA>GJ-X;AKTvCR7U0Eb8SK?$tpKS~e zLTUhz{UZ6dTy^nU?gO=naxDKuU?{Xf7=j+c>k2Zlf?BVnE1G!6-`SfY9t}K~x~pGA z;F1dFI;!im*gR*a(MRu>*G6)PUmabD2DIC1B{ySA!4Svh__uky^@O)V;cjUf-v@1H zsa;S?DS`8F4Q?EjLw@AXU{#Sj%byG13yRTId^IsvSgzd@C!q<28j@x4C;o>v^9+>M zNbz`_<0iHbDYVx?<1iohLWs~u$ghPbT0$tn+@V>*HA8b8)zI2-DX62`Qi_AKs^ufC#iw zSmK9Z9c-DZlU3LOguuQ??Uh=VnVDAKbps^dw4elhdEVdHZZy+p5_a1|Wu#m}sRK@a ztGGRIKn(Dk6@iOaL8^#a*8N#t6}S(k_Xo8H!O_MZK;gV6#0oBUVDOsp%G zg&m<@)6>y!fXa3R9-BJ{evoq$sfyL}C5xGfw>=%brBW&wywOts+q`5BGlvEXf*HDt zJb*vL&m^(IQfen_MPr_Zsda*jjX~;S>80>epQhB;F~n7vn;7;L0n*&gyg{J0Aw!#s zio*8r>7q47`wf3lQc*vU*JC4dX_&4Gs>|Q*&v*l1jihi*kw)XXG1ZsCDR~JXHbe48f_s zRzHY|fYhc4jSvm$Ay)P-&5zJFX`}TyvERue1}3`FGbo6ws~-36_E(k%%7>vz$+hi` z0*3rnX0;~97{ePxLW;RgUusCkeY76k9XU#3^j}mbVF5_Es0^}(Ys(Au4q!sxf~%?x zQ5!&?{X#AcR6|XuEmRp$H}d#cd@6bt|4G*+M>>wjc11G0hw@$~y++dDdg#oA8em?( zqEriPI?@n5?wCsUfR5Xo?)k<8T?=L#0W;b>qW{pB=%d8qf-Oo`u(mo(uNN})5=IJk z6g}&>1E_ChsYlpC<_%h;G}1<>to?{w+Wrv#1B*iX;-m5L@!2Wg9jyx2D1RyOY7O{t z9P9la*G$QjZmD1FNy-O8LstN*)KI6-xr0n}9%T*7Vh%y>!Pim-P=(+=X-h3I`iI|| zh#70%GikjPxQBhl9+0DTUk6(-^|}}-TBQYGgZ>d@E^Y-={+*H`PX?4`o&HH*$7c~) z>_j3CAHq(+s>XFDYa@x+Y!b5%u|Fr4;3ctv=o6q}I|jUUR(de%A~Ud$dD$pr>q{+y zzhIBit&TGO>%M(UZ>cBvJtYrl4sN+LRv(}dYOyK?MlBlV{^Z;2t)y%hitv_XYpMtx zPI>XVilBGaIvE$t@1Z5Z1L30Z48Yab_FaiaiXpQfC1TX@yYBcLj~i`p0sZ>PeTU zKH8JHfLL3*rM(2dDX4G75MIu6&wr8oDE`Ao%1OdK0pV|o+xbrVVFP&4^;PD>U_PG( zZ?gWB!%9U>mTgLfKsvdfzln_?-aDRRXY75%g-RuPxH6I7U|o;3LB1fnKKIJ}gNB<@^0%8_NWinCpacUM|D;7Hz1EO6pdB6M)ZqG${MMw!$ zgg%Mgs8`N>wk;KMzHv6E2GIwpC1q>jH_3_xx2WCpQ@)eGz)ot-#4JJlGxMoT$qkzV42igGz~2# zuSk2L2z^LkG@2O^CDjs}NE6XI)P8Cl?qfsOOHDWN1q$G4vKV zni`91`0BD6IL56I68Wl{HE1{b2AdhZLcl4Y4>hA;%pr=b{!@z%_BE=Qcg)$;SLPaX zi7n;Y>dd7|J0pP0nM-}+N@LHZ#-zby9vjd8D>KGw<-2x6Ii>2r`xav$@_djT`9_!c zKa{=vF!BsN7wSW0;WP1FYzb-|F@bcG4TYT%hGS%)tS~)4S-l;&C`3t9++I1;o@%Ka z_)dLen$yF{^<0SpJKn~29Bt_tQFexBg?PfA4Dx4c5OZQDx#ApKWnh}Dasj_I*P-1x9z!HN43lS%C=HY3t8^}VMDMf!di7ccNC}!7Y549 zSCe)qe$QZZwHPZl@obX!Ec$Anios+Yb&DPWXqO~5MV+K|lm3b#fIulBua46ep@iA?t{@t+4FGZzOf(_N%L; z;VZ95L;St9LZG!<$_;@E>5q%bP&kV^a+uQ2F>zbqlJ=2YNsI=m9!Ir>`m5;Ijzw5W ze}5mDi1Q`O_LKgI^1{{KXZ_vb$Ci6hyW&T|RfL<^NVFmH4p8+z`VJFK04=csJC+^{ z=AK)eAINi#uE4+Gp~us1MsQYh`YFzNfSpdf#9Y)NrY4Fa3mBA*V_ImPwFW>T+C2D6 z>h61+zez5|x3do{Q(x&Op9sXsv-HMdffj4L)gfbhsF(3h+i5HcJ`hFFhrCFd2%dv_ z+QRG_Dz7Zf%~QvS8Td`;HagwuCfj>DK&jXdBqDlMa!;|AQd<2eP1MT+x9x0oh&q8U zjV*?2`Qo)0<9kYH!xCD^O;VNs-*H>DpS}$ceUrii42NkqdMhim@_;Y+PcURul?gfL>OC4K8OeBs8b<^Ta>&8WJoenUB0cnko(SQftq51R7X{9 zknOH;S@3%o79J2 ztSe|Bj&+#Q6zz)k2i|2-Wo$b?#q07rfU;wRo{;olOU_M+44Y9knyE9l1j zp2YXWW-v{ppw$5X*r9Jy#~Co7bM*zx;s@C`=tjWBIgWnMt|&K=?o4HhgmfI*C?Vo; zIY&NaJp;(BxOfPy2X7O57PR%aliynN9nD1>f14WM@=^B~-npIS)ONt#V)`-Vq&iFL z?mz2k;xFSp5x`^mBnBPl169P&LO%+3o?**V?`eX`qNY)6$xe7{E}fgpt&^u{6U3H4 zGft_CL$RS!;rB%|i#mmm72OL@Q?~?@fJT5cnv1Ge6M2U|q0jw!@{fUaYp zy}G+9e#rd;85?L*xF+|DP)2VN%u>8yqj$}>S3atsz=PDqxEPEw-y1Q&b+uVtA)}&K zEQgjzdMSniD0tt-u@%7-a0XD&eWGc+D$|In6gO+7m+zwdN_;5HPJ{tV;kdPtc98!r zmNmO;C$*~~!uX%~Q)mQV23q$z+nDxI<&5ox)P)N55=*3?UXIKsmQAK1Jl>x8dfLDQ2Ku*^%<_yc?(crB& zDzPg6Q$WN{>I3dK||HHfSf;!(b1x&45cwNwF@*^=lP(hD2$_5XcyTEMQV`i8KBt;<6 z&cenOfBA3AyYbrUw9rGfJriRNS8LEA{hcp~?W{&gpXDxU3!w8^=O=->s1miCJ&1qC z-LCgcJMt})!CVKEl}nC|)LQlln6fmZzY`6}@@yNX3tk=Qy5TIQJig=-{Eky?412v6yCWDpxf9dfE{ zH~Ne7f9zKF7>iKbu)1ix^=bjES&a(xZWeadz(-;*^BVgXFu2QTgOvViwD{D2O0tL- zVGOtnPV>hCAEbtXg^929slhGUB&r=PGZGc1C9pBLL$;%;T9a^3Y+p2u*}}9SBY-RR za6nMfx&DArwp}ZO{3Fj&C-?*`d!*W|=Fks8&tC8H_ zWG;N2$aCegr-`uZAd}^&>h!ZLdYm21?zB9C*KlcYGvM=g8ymt)Lk)~sx^C*yI-nQs zui3-B&9Yp!J~(JG#+cj8@}Z+e&5JlAJv7%$5!(@E`A61fbSAn99)mj3X^uJg1E{v+ zf#s((1*BqqAlfk#T;*KpAkw6_D)Q)+N>LL_mO9@Zh>0lKXDFkl3I`ZkJF@h zF&RIBN00-st`ZCwv~9TCa2jeCMxd*7%0P8o9~Mx!&xNM}*?_dSr^eCm_&sVxF*i_2 zZ=#*k1{hIBidN3tZd?7t$Jx~u~t%p`~q|2pvt-%i`5X4|2_UXif&z$L6IDH97*z6A!MO>AqWuNJSrk#a~bii;0z*ILq5 z96iK(Xcv1s>k8jv?txs9FDX}$>&btpZH=?)WwDFV#>C)QVW$5GU<1Qq2j~xeiX5Z- zB6{RkvSY5@OmA@3^&@dH!agfdnOx0atP4Fxz9L6MC0Ct^E0g$J%~Iw{t&D(v(Q9B+ zu!h_Swh{#gI+EaQx7{F`VgDe_0i`&bIKe!j77~PgLh=)A2z1186&_7}q{gW2bU%0$ zcbH|3JJNC$R!<6lNcRdyux#o+R|5F%OzkC}Ey#B?0h)P4AE>kqvU<9|nUSZLPyUdP zXWu90!SgLoskT%{CZ9P*#nD&g^&mk$mcGN5bt>3zs$9})r6TBtcF>j5KDgGquBM*` z1VTq@BUc||bm(k&t2r!OB3#m#6AqZ?$o=5=I?-EMm0E`Vk7$m?N%xbiVEcZ?S?IDe z?b8xm+iYEYkk}&dN5LTXd__?DiFdRB;K!utQASfU891qKX!R1$;}6lER8x?%cY_@6 zyz8{ayoUC}odbkAPnDGG!H*#EdW@PZr)fCw?94V^fRksieVayUd-00u6Fo?r6ek&r z#NOJ$;6g1b{9jQgV`ovID9Ip$Wz4JEP3??!RVY|CTA^01Lu$}g>O7c39H$3U+sNhx z4O9AHAMl619@KA!WWQ0B!BudOwcuE)58PDsEUyyikZ8Dz-3L-m;4|S&`A`0iI1)_t zv*BiP1^t!kwOY=)<2-~zmNs-#B_eF&&MK_=x zbBHx;Tcw79W2TCDOkW(#1LtR#a8N51v>C;TgZ0UA2=Wvq*h`*6fTw*zDyzD<968`! ztv*!iNL92M!XjZd|CqP~l&I6eY^$-Ov>I#9HYmAkXt_BMf2wwp3fyg(zH}+;K_q~k zq9%|xu*%#Q9LruoDjlJ-J8qVvHlkjB^$y!R}w zk@(IwU*<61*2QVj`XP5?17pfUC z%5jS9M8{FF^h-L3jillnxekzINA^MI@Fn0ifP?dy`=A_FAB!unrT9|%fUN_S!~`@| zOHk4PANH}9sQoau8wa3{c^2zL@xFFQzAko_ozg&Yi!dtxnkM9?-U_N37+A2Lde&k&C!mmi{RnspsUp`~)zedQCpY5lV7x za&2YC)0nd)_g;M_M*$`PNRSOw0G`dI60h&oDrg76wP>g}4>t-yupc{@^M>5WJOhc- z8F{U<7ju$0PxNZ}!3}ynt%uRv=*%2;DU6T4?)(a`q6fY+q`1Rs#@}s;8DGG!GFQ?${tV$)Y1AAukbi@ zl=4cUUmfVWY*%)Q_*`Aa@73!Yc`6wkqBxWZ@N@J9 zGayEL3c*|4(wC2}j8XP@NzWK+~i${XcKARPQ7 z)G;s`Y|GM^YR+HmPo_`mm%L@Y&3ow#q!vqq;OrajbVa0cB$~g@GGms zB!Wu<3684#4&sgnC616^sSy3y<5OUzFNT3RVGzH{K617ZS93$SdwyTwjhL8sm+P7H z(=$Ou^_s~d_ejhq&yiNT2k?Bq=WdjEi~SYwP^*~rEa>nF6Gz!RbR;>~dC!^3mUNU= z=gTE*I+rWO>+_6fp=#1A;0Y&|UC zEZY=ZWhqR05E#pM0X)OL@Lky%tfQ7SuB&~@PL(zUx>$!&>&XSwELWzpoiF4Vg7v|p zi1DCyIm=|xGW#X9jLYW4(mSPPpe9|PlKqrc8Ekz21J6hk%uptBZ`4DYrZ-TyV65Iw zSz%T%YM~&tingQ04juSPUt7AuagHO&?WEaqZP_Uv5?cVG7o--+ujNB>Jko+6hec3+ z+zA|QN42+lM(B;1p%;gXLsQrr&T6j8?B}$lX}95VG{=y9zHpoCsCH0ODslREd3bP^vNEYae#BK2kBDET1HxJSTw)Qt#g*->KUvSg~uPvoX}%sgOhXcM=Pn>)Q->&;;%aiylkuN81ARa1@|_d#Q2O&C7de2MtSb zu~yaGVT81w=6+MhX2=VavRIDvSR7AvC5E8AXg|37M6$p($tuzna6}lx?si3|&UTGR z>z(Fh-#fm?lyt(n1`QOHMCYNHyhlQXP9#L;!7;@3#7xWJ zKtH7t5eM!bj^YUtM{S#kF(NDeO>`p9kn_+LEJJ^R>}+rPg0u;+xeupYmmqa1*$Qp} zhuMLyf1Nc_wX|cd`Ob*c_s&sD8BpU+GD{bYFM4IpEwU9YkS2p1NS8LnH$6~4aXHp6 zWsdAOE@_jEm7z|dF6zwC95X_#VrCkpl6opu$tbL1t1HELcZNE!(7?8~TIjRcPCucx)&XBaCk%^aI@CGoT22^i29M<^Sho(#zTy2JP2E*5V1>mdWPPxC#gGk_vOQeGyDeM)`?+0|Np9dwu_BPz&s3iP4Uv39~| z-YHLTHxinFOliZhm`k#LKqo?v;eW|ROe_SvY=xu&NF?)}{hcG3L9WfNDRgCLI`bZV2&hx_a+ez?fHs^A{|@c&ee`%h z9&VxIv^zcjsN=U|mGy`AMp}YzmxgII@v_9Jh+@8+z8kFn$|q&wq43K#u79rTtut_F6HeA954#0IWOp2PG3O z=Ra%{{3*E;WXp|2ZlJBOTOccDng4jU-ybU#1=fi{_%k`4n#uff?qqLdhO}AYUx`1= zNb?`8le|*R>E{v#!ro|IgGcm6nN2)z_18+iYWlnN)@P5=CB7%%ZaPesf4}X=Lg@1*V z*h^4Vyf^$@v~o4Q-;|krZ%&IVPfi5ns9p@tc23=!nkgMu&Z@;icf2OQ7U{^rz{Rvu z`K&Bg2dd{iKk?RDNfSjzQClnv9Zvcdp+jo)7SB7tXda1;_CKajxAeT=*jbW54l&vDP@d#_FWm)tvE@*?#iiYAI4WtSa86VuhqeXOMRkM^ zNr!R{+Y+21)`j(Vrm%)yENq#3bpxv^%bMax=VL zxz6M|b~#nedD#VOLfIt^mBU7R>5EKjU$y^KU)C2fT^lVRAtd}NFgsYo{D&V6k|y0M zs_xSeaDE2e+5sl=N= zn>z-5E6Wi}w86wz;(nXWFW8r#|RoE5Mrr3T+CX%Qe6lyg5!9G;g? zOr#^p8bmamNy7LGY<}{5|11-a|48@qzR8@Gaup3!IWI<8nDHvvsv5%t~NJrF5 z<=UwA%&Ou9GZ<4srVbq6uf=xFzO10$oGSp`a|6j zT&_MN;KsWJ6gbBW zyR=pBq<@o38MpQGAdN}VDivl)jipB9D7rg&8~@McN}Y_hW2?EQ!G97xNhgBSr{K?k zgDZgP&(gq1H99}cht!VHBj2;Ew$fstAE_-O(i>5rYI1e34@N;SkIgb;j5F+Kaee$Y zf`L`!d{P^@F0s>F2i=V>Kwn_h@eODqP-8#9s!?}*`&RtoR{CSSbtPP1p@xJu+7^Bc zjA@m8HKcOM8}J-QSs~uG)4h2~ReKEGm`G;EfFwkW&G7V;$BK>YbL6nSq5BKi4eH!f zRpb68R#J25TjW?az|4cbaFWo)w+&>v#01`J69Uzx(vD7vFUbgJdFLol86I(c^>y@} z2^=FALVqAt@M@0Ecy*|k_XXyLlC5Kify6H+gHGbUp`{XGDl)CQvl;c&wZ%0{E&_VR zU*13QY^?ICIBpOUMIIokQRVo$d`#dkbv)2@?Sp-EPe5831BR7Vy*3fy<+=eLL} zLydEL0t;;`u#JvRwjqwuWG1xHv$e3ZTpGVh!NA3{))l5#F*BTYaelHuTTy`lQRIA}aa zhmxBCsV9LwOqK+BP2UnUzBUJY!zq>7AJjd3u#;myQ?&@4*yfy<7L|6L-I=yAZJ_j$ z|H&WLN*Py!C)I?Y$5^H)@*KaX)IQ64xI&-?QyDs7%OHN9=!zJ&Xay zM&qZE7_ysx$}>W%f~&}Zz$M2xTcx#4Yw2j{3^4x!$9zR)f=Yr3^HBA-8f`jkHPJWz z|AA>qXS7S8kUWX^z~(T!>1a@~FLDlHqSKnV{t^q;JYdImm$8{~AUp88R-d)g^k zT0iO&+716;!3utJx7GNNU=G$Yic&*+v6WJ8Jd0dJXM&mdDyNq|&CBX;(BZ-gPPVTj}1zv9HNHoNU13!r4;w)*Vr?0j1L_T zW)XWal6XkwV^+|UcLAG#f5d22(MQW=Jad#)o{@xXxr3KxF3^_=n4LjC^6h2cFu!6e z2E1y>azYuL z%!E+QAf~!h2XQTRobv{~z;)Q=B+8R_=%WEZns0SZWe|0g0tw(;MZdD&uPkD1oiiS;A-S0MJVh1zmf{w_JIAu zX<#SuL%${0v|PtVfOps``X6c!$eQiX#^YC*>&$2QxBsiR3ET{~ujr3@q1lKF3;SEy zY~Dq5F>nUpu0zaQ0;TJ)y+U1ppZDyVd+QgiXV=tR-+sMY`I_|*1NpzsKF)D8k#;q8 z4A(YyMC@5hd7$bUDelE@BW2V{!Hq^8Z%eutUMvk46FDW~0N7moPpKSUVfIj0gd;-P zg^e8L$vOre(zL;$L!oSQe$Gwi6uBYiAsq*(G=5fK>*F)nRBEy_lzuL)8woKY(}c26 zHM|c}9%pm#V=cxz&T%*HfV5JDfF`MVu&we^si94QPXX5TAIVwtPWpnkBl|D@7f5Q| zk~cGuiwz_{6#kU#OQX3Y@oRoQnt&s;lYY)@b~Gv1iVHpHLPWlO)(v&7Q!gdk$7*t$4(;2Z8+ zxk&uadO*3OLT2UghHy1=R%mNTlja#?^k$v`rFs)ptZt}${933!pDJwfRYfZhE$mbL zbK^I0gqdu}%4n&ndRo5?h{uf;O^eXK_^JW=(OobR=|#N5``Kqg5#(cNuYxOUK>sYN zcA!Vu1a-uAyK7>bSH0sQJEI&|siZcAFXgfJ2bRlRYi^?4PhRQylTE=VQ@N= zX*FDfN}Z8q5z<2DR)bJei-^!;PBkv*3D!rkD};_V$T^ta&YcA*+;?=ZIWSZg@X{NG zHW6WR3fMJoXL^vA&@v#at0I`Bj6fzj>VmAIilA;A%$^Zes(0l_>dv61+jXb@SZfRv zVmvyNZc6nA9_&2ILyy8&G7(OM&Z9^`D31eF^vSv+)D{{CA7;I>{*YQB{R?;FQqp_k zFL)BZl}xvY_LUGyR7VpXh2#cy6jP7>Mn9*iLZ@`AOceY$aUjuKq(HsV0`zRN$YLBM zcY}>WDQY3eoLvnUCf1?0K=;t`=qP*&`Vv&ce-sXhu|i$^hhrkaPh0a{V)n^FpBKBP z90+#CYd}5hKMPvtca${=q>6)HePZYZ&@H#9ta##39gqm`DQcC<^_ z;LSqDIp)#R*)B|ZYBjZ#nx!n}?n^}~;Mi({O6$w?zJO$LQeEXZLiEEM#(lPz#U_Xg z#M{bm(1%wh`=Ku^w=!oIT*~hV3D{%%UA`kafSZjTgGX@#p>f`S?I-yEh%Y1sd_fX* z5T~J3;34kHj!M1es_gonIw_TwUuZ=@;agvwtT)r@1E0_}ZL^`OtAqI=uQ^SoLh&Z9 zrR##;USDU7Ga4FSK+0UC=cs&HJmIk}-7VIYtlntZ1+uyd*pbLSkoK^O=t~_$NwB** zuKxijZS9R*X`t3p`&+mnTP(Y{mbPJ*1Kzv*SoxOvTa@&@W{)61q54~J1J!QeO&y~} z8L7sD;3fIF_II!@;H!WH26A{(y#21NKRS~5$EypcfPU<4$`g>7`N;O#uFL=GY1(2n zO_Nnq9jyskE1TrlpmyL30a@J!lGoOv23`x=7Okl>Nj<+I31+Ov{C0P3F3^z>#_A<4UWd+ zF$~-jYCeU=;gfggQ%rN!^xd(7R@*VZ*`{-TU z1CXUzY;8#t*@N6T;AtL21gNsiGRT1)A_#0V=738SW`a+8uW(Cvq<(;l3;q`O5tq=B z$WuqMP|p+NX@@)qdtO=XD&NhD;?nsl=pT3;;-0&(po_gfv?!lxZ?0Bz@Ixpu+~@vUg%YRiq(Dw0k64=D3*GBCcLa?>I-lx#?S<9KO?7Sy%? z$IB75wlP=B;^zD3h$lhn-&(Ynrzv#YyHG6W&zJw>YM~gB>u*ME#^P*GL1xVv>N;KB zg;W1g?_5)1TzUr&Ei6?C2NtVa#LeO|`H1!n@R(}=@|y&D&Ji+G*bg3#=aa*T{UCjZ zXFh?%u0>P@TLWYoZb6!0HytH$+Lp<`4CDhH^+{>6yg&%rN6XLQ5}xDOV32Jg6}H1J z;~{%LX|g}jKOE>#641#x6#*;!hw@9kDm~SF@+2+V$kh>TysGPct;^gUa>kL-3H``g z(s{9^>;gnl1*qxogMDsYZUwlK>5?chK~)*8jo04btB3=5CN`YyMJ|P>;#KYI#3epg zwhowU)AUE`^u#BgD@Y%-Sga4SE3E2V&25x0+uBUIgZM&htP4POKSVAqPB*@2Gr8$T zYtL?~tI{9e%ZwLX{HlVC;99+*W(npP2{u8J!&Pl58f66uEiwi}5ds4ELTafJgt8h5j2badq6AZZ$OP4n*tCaFeyWslZ z3q%D;mU)`4WvIW+_U3Q%l{qgI7wXQFfTuy|3xG=ho6<|{&$(8^YPNxczlAni>-UXA z`cHH-lz^4Nt6|$5`IwD5g3r`$NQ1?{fa>d!xXxpsE3t0qN&JZ;8QnpjAa@~s&@;q3EScI&#v6Z| zmCTpH@}aiImQZYXKzN993p{;3wU$~>Z*7bW&NpgO2~=BRACu1(v*&=CFxi=(e?xmE z^^ENmk2^}h@BDW7CbEu&*h=Inz}&upTJUL(PiPX@RUc6D0Cyrq9boh~h8mN@*Fy%_ zI)5^cnH$Yrp@w8fst;WXaKPf&QS1T0YfTIK%@$?}^E3Fwx)>3_Ve!R5(G|%Y>~CTl zk%LWu??O$mDAZthr+9zY!wPTL2nam9N+aFDC5 zr2=)4g+5K+0NU^w=ui3yU7wgmpW&ZLUxBCjIQPYI9M-&v(H|Vk=n^*79z|BiV#Obr z2VDepOo>8k*b=dwR8zVM!>~ZbL5`z>=pYA6RVQQUOZ2_udRPHEo7}-z*rJ$b#BAma zlA(^}TG8>ud$JA%(fQzN>;~CmJ;@_<8dC-zLz{SGb%vB7{FWQ2`{iuon|4?F%wHoC zxrW+0tB--CanU-wcH_EE2{9S0GEz#}?wX`oly;FiJOFhFMn<9X=N8g1SBN?)}jj970xMSYH)%6ZIRdMn}<8;g{%Q_c+Uae_JjU zva98-3$(jJw)&4cL%yVt+*3I-rlkLqnkep8y6b=HQF%?Iq2f)gg<%W!mk;v;)#5+_ zbOauP^r5;t#t=)v?mdD3m+0V_U`7>P504GiE-F`aLaSi*Hk+!Q?d7>r(x14)@;rA9 z(!!tTYMhpo7U@b&%SzkseB`pH_Jzv$r(t5sM?GDI#h$W5iWc80eSP1#fOJ^>8%~Am z#lgy3=|AbH(JGj3^ahIN2;-)@LLHOhGk*k|!V9!6q&F=K>qTC`BFI~8HF`m;!W5zH z_`ynVr7xH>lIm(PO4TNMnbrb`FsfG2JWU7HF}jX*!n z17%=>wJP=${|_i;_kr}S<90{(Yus)94SlvMfH!xBu`!!nP#$2hS>AYD$sf_BNfFUa z;QMeY;5!z>L;0hQB3h$IGM%C3a5uOwy#UOVM$tL09>Do~MW3YW+RETq!yZ||7B3$J zDOuI%4Chhimb0Jpfb**JKMv2|=`Y8v0BIpL)DlLz`i@(J3FuIHv9@2S73iV2P+F@l zQ!oovU+9F{G43C+L7=a&%09?O1V2yMuzdkI1|n`m&tX_IDK~Dv7^|r z2fE{krgjBHuA^ge@N?keYF$*8uTkR22I5t)&4~AA`GWA1{4d_#Vq#*nB~M-;)eRgd z>$N9I75R>ZEBqC$qi`Soxa>;&Uvk%?WbzI6jC&BcmOodkY2+yt!IixeOmr+n>J+4> zgt$pkTWmF6jV#0qFaq1B{2xVU85qU2hGBvwg!tO*?8q6}4Fo3;w79!laCa>Z!4e2W zh^)+x+a|%?U5k4uS}4U`iWcZS_a}c!6Lx3L`M&pkp8xO7I+}^0ulh!+BE6VV(Raw# z=ol~xkHr@Y8=!}wIcHN3N?Xu_kkRo8eUEH$WudpYi`K6ETnRFn;eBepI6kY9u?n6s z(PE)!gt$}f2~PiVx9k$_8IkkGmUf&qF4ZA|LB7b3)P|ZLs z&wKW$dd9@zIZre@7#6IwwjeGtZw&De>n{uezd!=?5Vkk-Cq4x`Pb>aQ`Da`)`OoCK z(jX;F=B1I)FP{tpj(J0iv8OP1Od<`p1+)8WJ59WT$211bM;N_*$LR)nhY>3&=h2VFbbUqUf zThHTC{0py7yy}nBSE(J~H|C6*BA?fi&`5hdak#50cum@fIY4sVD4ZnaAh0PSP0Kc* zf#s=sRXwRU(@V>z^L}!M^pX23co~u5DIh{_DHriA$oWNh$@LEVKbCEf*sImM)iSl03KN`(U zNL`SssV6`HlqQCepNV1cX4V+C)t1R!1M|K0kP&ev-hl>~6AU3svpjwn%!2o?HEbAL zja`9thtJdXf$P5cQS?XewrJm3C6E{4{4HaNM|&++F0wVA6G{!C6LrtM~w5e z0Fn0g&Lr6SOQmMm3w*(Zmla-O6+s5^#dgi^!@uG8h!?n#`x_BYeNsD@jgV)@Re;&c z7QUUtOzdB2-Rg*R-nYWLJD-i3Xgh_?!P=v*T;r%$nX%wx!A89xxFAcC+Q$B75#;Z% zqdHQbtMv1|c5DgE1|!jY)WmYMa^6Qq_2TcLYM>O|k~s?#65BFQ+JEOm+-l-1Sc#l; zMcLkoO=DkJ)@b*@cxpe~x6D9WlO6C*tc4-u`$|UeH({Z0%jdO0Us+xbIwrm-;WYI# zeh6sEuA&;U!^NJyErDCUUaK#w(av#&b)^*LJu=fZA*Q0Z8+z)Koh*_eG^Cfqru`sN zrbwg}$%1BN2iie6*;Af%Zj_qJHfHzmU7&yJTJQx-{-5=o0BrhAv@x*@X%AWYgQof8`qd0_lXZUmvGGkuOQ5w7qlE7i8r z3uM8P#K>y2us8{0DJH&{bf;dNu`o)p~J;(N?3T`pUD14KeFxt=a_-; z)Noha?qgQe3^WL)T0il1#4A|~s0P23$6jNbT9;T^Im!_h{UE+vP{EH{f1&Hfw?W3^5n{jmXylD!i5N{f z?UCtI=n4TwgjrNH7u}8iioYTb1ddaiKr`?IHuWw#zml)%USzkp|In9C9$gt9o{{A0 zx@!+J*9bj?zv!r|(xo#*^X;p>f6}NFQ43ya+nuWBECF zX>17JRSu{&aip9J8xkJ%wbI>?`I>qkeWCGL@hrcpt(8WiLCq&k37+PzOUtA+wm;RT z{3n-7SOEsm!$?0cz@OMr??p!kQFIO=7l@4z70yq3$3F&bh!bFnr8Y9!v$CIi8UlzsbT=VGtKt`6|6gh|+s?UH%GGDdW3{?^ zeaLx&CQdBE+!7jZ~l1A8kmQ5xYrAN)s|C4Scz$##69(lW?O(OL=`@U`&` zq$ks?^&WAaIwh`-PjOsB9>ra9_NIOzYvSDsc3IE*Ru*Cj!+o3J-@FDC(2wa6koSLz zDgakiO-w;Er32(pv3Xv;t0OT;(d41xivXJYhRaoI>I)%BF5c*@mX;dvz_Hz04opKk zkz<|DkyLsxJx_<^h8|ZYUKo11@gL+&|>U>KivP^-U~axtf2#3Y2uvoSl&WuRq!BN4W2hI zqs1tJwROyfPiVWgK&vW$qBqcP){#@n*1hzvGUq%Y+fL?LM}KWv&H9&^0c`ypHN!bhn*qUQx`ociCo-SXi9cT z@3@HNb&1(zSId~V8)OTt0XGtoO6y`vu0%0pt+w_J?ZMgz8Sg%)I-dki@vYhyP z{#Gu{l1TmH?1#Ptso-}pS8~d&2_JgQRlufsE_$x#HZeyFXK>jbiB}KW9IX=)z$HlS zRx!bLJEw0!4`g1>d7L9|f!A?W$d%wfi86oa=Y_6nlw8$1M9AZ6D~bMA(jn(!v8C`5 zzX)lfZ_ta%c@>5$4dTCXbA((~0HR2$aEwh+T1?YAQ`1Ia~9u^Xf~Jj0`?S#)2tkdF|0 z=G0Rey-ws>auhv->}7u|?XS>83={UiTL)>Vkg~DZ=;J8uYH!WJTjJ@+C&;%cR7Xbt zUHB`f*f_$2xdWwxH-mo&E+O4lPd{9Ir|6`XRJ72n7Jr(%fW`Q`qV}c3K)l>dZHT31 z;+#{Q0<93I#2nLWU{`c zome*19%de^g#`1RGagK2+}XRl9)D#^nB#z?VJBRrLA+}MU4|OX{7N69F5$iCf5CwK zSh2LZLER;e4vvQBSq-^}ZGj#P0b7gZ<6Zc{(ma{b${H{qr#{q)&`fb7cS3%g@08Aq ze#bU^Fj_14lCO$#+OUubH+}s=7ehPb6{;zxx=3a*RmVRbT~2m)gz|jZBpySrBI~bM zg4=PJ73W$>y&`6b51m#?HC7m!@>$ZvczQPblFFicdsz2Nu4my|$lyyc7n*NWx86q$ zBgS~0Ug4}8^B90||Ksqzem^SWx z#7}B6J*D7quz|crPKG_30M`pr+>5;j0u_0%I2(Lj5f8aPLzN41GQSvE?xIOISth}i z|8Mp^=KwqncGB)qpXt$(CusGO!IRilWjLvWcVMY_MvdVyXEB%vSrYx}KOt?X9Hf!X z(w~`F(Zb*%VT#mS(jarb8-aZe$;+t7MC|mbXV` zV%2$>EJIVS3i(xRBh+1?^JaH=6I!eEg0t*o?X>SOniCyE78Urg=kh3M1IHwZZz>GH z_d{CUM*))MBg-zZ`Ztju>mTR`P59v)I=8 z*nXG09d#}@t8k)xN4u$Rltyct<@G)do9t@k?Tacxs@=C$T&E2+ zf7knIkHtc*TK;*sGx!1aQc+Y-pA~J1xA3<0uH#ROC$ug`EI3TJrBdXd@;7Xj^cE|| zdSViuLTm)_T0rVSy!G+iXsHdJ>5CU@@~u?CwHDhM{|+ptBbh^Td9|H3P-?D4E2Bi2 zuuvltYO%fC<8X|aSK&1EhsT;Y1V`PwnO*1~zVX~eXEl)y9>y1equ`9I82-I}Y!>kW ztBStLY383vmQ@(Jo^mM|DLI7t_8kd3#bR!tKi9GiDPO;uv+vq{)&e@}07wZ!}cy(hoGh6shO zixoj@B`pq+7s09bf9ef!sB}s%qu$S}5p(ggB&P&K- zzJu{tWzEIKZ;SsCS1FzKkfpZ1Q>zRnF`X!fdd+%MjF4i4P3kb>Z^(>&BvFA@FvG!^ z@kYy>zs0xS5^K8c5I7pVr&RNwk~*rBU^=my(o$$Gw%~;Tsrl^B=neiHn7q5AR8g;M z%c)lEa<)2o)%}A#5p0XTk;BYIp%q1u)=u`mXm{&8_>^2xAwt`w)*^*`-oIO1QPka> zTlhiy2%BA-#btu2oq=ZOHcDS{tF~SKY@Ua?(NUpY<^^_0rGMRJ)$)*d49N*aAGF!j z4yG=(-V66M+;wG;{6Vg#mkZSi4dCx{!-J==hk?psQu&waJhcEiD}H*fpiNv||DR@q z(>+w5q3?p+cPp7DOr(XxThKsKrQl`o7rc`;%KM+wO`dk8k$aUIu_+b=CLF&@>qK2y z9kn`gYC(UZKD4QhXO_XI{pV;$`~er4`x7aO>hBv!R3Z15vWbr14(S1hwZ=w-J{xPAP}y++8$dLUI)>V*7M4-Y6m^2)uwLi0#Qx&pu(?R@;4AgA zgmR~Xaq1sjC2A)!%(a;)!a8sdl|p&1Wtl!o^Lbp4lRnyg+2) zBeYr<(S;O6jl&Pp^=O5xK<|$}j-DqoIh>izG+|cY^Y9-9N2IMvdEJUk1x<*vai6Re zk2i!OuAceSMaOh@*d^D)(d>PNqDH)JbNFgoSt z#C2G2;wE27Eh9I^qCr2{2b&hfl6JnqN_ANR7|M(y@8#KC^^s&HLcgbVPlzTn$S=Xu zYL-?l?w zYTDynm)Lyzqqbe2Y($Ey#a>!Gq!5hcM+D0NAG#9l?0_fYK>Hyu^ zJr@gOuDItq*D(9&2}ClTMV%MRmg}CEnpchf09L|#X(2VyNDYNTOrVtoi@2ib`Ud^9 z{5G`B7|kyeEk3Lt@3NC#<@Pm_o?ag9GVt?ld=`F|ZaKHO7acijpIaiM6%w z;(TZ{3BuezOg3SapyOx;NOIMZLK!6>mONk3414YZgo2H=XTXj1^q4D-=dNP~Z{eBr zU)4^J%FEV{$>Y^S+B0oqNDsZ?Xl=Nj7IqYLWKv*G<^(gr-kkalzjGPZ2Hw{h9V)B~ zbkt^Rm$k)?Eb_RcjYJ04<()@A6Vae6)rMZfRKo5#+hRZD?)pf*9QKNNNmZv7vGv%k z)Mj@EGr8;~q@nAvf4*1|wX3GTz1q{FxNchql37A+Y?1}ytbl;kK{mUxZLj&dL91D# zczkgapt(+A)6gRc&oRHXzOX0eu{tVLHe`WLidT+#EaRTR?iMF1CDLwRP|H@MiH6`8 zVjK1joI;^B{G7x{@ ze2A1HBOR^OuH3fZDx-#$0VgJZ%hmEo@ssT`@+?4LyQFH`1RdzRU~;dfl43sB$IvP6 z!S27PXV5Y>0`hL!X+=sCv%UG5>jk+>70Dvd(ao(c1b<*-g~ilqfJ-~kas|8q=cwA% z*tDQmG?)*}Hu^K9%uERV2z4sySyW0ji@uo7tRC`;Uqxk$F{DYtf2ye~5> z2kxvQu{u_$+;vqVFH&#p8>yMpy!_GV3&N|X_~+mdLG?O?Ja*Q zcw($57DK!I)r3x5DSAEIj2`T{=niAzkT3SNc^RvBNK?GYzGuo*30MD9W-G_F1em!> zQuWXYEu8p*-z|8;`@u}_d4~f(YaJ`jP-|(ejPXU|iXzRHC1*nsNH@pd;svH3T}%y- z1Msvs#{QffOwH!L$yLD(v5{E_`!!Xm`phZtgL&e<06MZ|+()358O2hwA2_Pom-{2+ zb_uPOcUp<}38$PNjbNy0(OL}+{WLo8N5myc zRo<@eRC;(zOGDKz_!>$sXp*^AX&gM3a8-=WsV>lZjC=#OZ2#5^Wxt%L#VNtKRBgHM z7kKW?$7?IWfRlVlrU3)??vA2q_)uF#5FV^proC0?mWi&ylSoD3sBeBjCH0*Es8`5v zvL{vD`vY#*-iqJ(OBGi*FU6PQn?^lVv!vnruR1hW!LI!a^F>Ly;_g0wsJ9uW(o#=o z;;k)|%HJoiRvt@p19S5V$j-`kcv5(&JT$JW+g(|(P5lduUX}!OyoApb-V;YbDG&x7 z0_pBb)HFDQ8V*^h>6QG6 zoAGwk|LL%?6OWc^xJ&de8%@6>!h83Hl@lP$<44J`1cxYe6PH z<#gKai{1PWv>bTL`=-p5YRfyb-wWkjc4i&^$cHjE%qwWd5ZJG5Xdc$Oi3GaKnjx*$ z`iSH8HQFBSk_b2UB9F(zt>}KH0{xzT0Q2GkRZfdj52_9FUO{5(aO+4chCATv7fdUk zq(;FkLlyIKN%)#cuK9(tydC52Q+{W%mg4+J)+II+rT11}gi4#G)URfgi3|H|x4h@G z|DhM)EzlKgMa-!#HE-zWgx~PDI0tr9o9IZ~L9D>ak`xh+bp%h)Kb;QjG#8iOA)sn2 zHD7R`*2eh1S?OP<4(#OiV4vnKz%GNI)H3=f80`7A(i%@IPlrl!;$5(o>JDO}_Qrn8 zA-VU)OZ^df)ZWOE4Rfp-*Ok8L^oX%!6SgIIC{?0PVMpZm=*3_Wwg`S(Ye>U`mV}wG zP&e4J0=LyN>V9<*{8Nl{e_W2^aQHi zPHV(c+K2Z5*YO^42=NJ<0Z6!6m<&3xgnL|}lj=_$wt6*8j-z8Go9zXp`ST7t{}pNJ zs3AO3pxx2cH~%O%5vz?)q{0=-{u*xu6ZCn~ANEavCvxb$iM?44a`uLJcBm_*F?0oN zr+iC#f?4bjZ7<0bq84_aN+W&XC3sD(qau_d{jpq5zNeivlGVFrqtF<|&^l<%pwr0j z45O}4sq|~Ozf6Of?3MX`$#ir@V+tm7)xmj~PTlLya6ejAACI9XV`Z^b_&0mGQUj=o zK}Nr;O-tYei`Z374RtbS$Vjnfeif#|7qw?Dv<>`sR3= z^Kx19%)xXfQ&DVL))Heatl=$1#u5FQ%2X;}4QT{c@^7Tu!HMoUmF84>=x$PZUuBYg z>alvNSpj!9=&)^+AcF?aLe~m!kR|YbdRJ)x$(*gEHS#>ALITFH)KYsL(1^NfYwA3W zMVYedldp*_rR3lx+X46)9f$Wpt^Og9?C}*miOWZ-Ax^N6KtOHor+PE}xOzufC3dm? zp*EE!NHZX{AR=&t{{ma=X^KUytG^1>4Hc>PjK4HYHPPOVyj+Q|Vr?kxR5?xby!I?i z^SuGtae|8T;{LZ zAf&%>M6Qp#MoTcm`N|jak3k`&PPiKAuCR*3xNM9HeY2k@mLZ>+qfBiooIfe*`fR-{ zBxv1GH_%V1u!;@glYKb=<3W~#^a1=>g>P+~0}9%{B`LrJ>S26RC-!5woW zHG%rzY+*je%2td+@*wx6h4EHwriANTRBMPfDP@>{8CRDa>iLxoQ|gHwxOOlHQ3$Hq z(y7wqnY@~?V;Ke3GJDxM;1iqU&H**>Pph)<83}F0DoPchk-FbVHSo|;W3D#KSn1ow zT!c;jLQgaIH8!e}r_vSXJ~Pc-1)OFn_O}d`d9oS?2}lgOdc95TLagELtTro_Kr0;fu)0m(gm(7+EaX| z{cHSg+btdzyAi9gw-&FzT0u-O&N+-wo#AAvE74g?YNT&f_9zvM|IE!AreD?ziHtxU zWWMqSvfd)pOf^e?f_-ux#O8tSjLE22s_P`y)KjU_kHjSRoWz5Pv3MR#)p?Q6Uj-3u3l4sy#sU=c|=>5WdEdRdlKCxV1fIyd#Lvf|7#Gjw4p6z{p?O$8g|G3jyQ(> z3s%ruA!Ym)wSaCUJ(Y(AU*j3>>dY~Eu6r$;9C{k+R8*( z<-Eiqa2oEH8XJp3<%^F7Y7}0V@<4CuA$5khLH|Lo27R$)VGtxlpU}r+H;JF#CqzZ^ zK7L&gamH26F#@!pWAVSSi6ATb2Fyf-FN>@&UHlcMK8{m4h>P0Dm?X*W1*54au1^Vf z9Hcl;NQ9?{3~D6!ow5>pqlPNaq?=-2DOz^;iq(xlF}}YxSRJVR0x1?@;*g>aaO%@7 zRL8XB4Y7&#vg9VXT}>2|3(8q@r2=?gYhh%W@6~r&1^iWTeeNBp$Nw{bUUW$V?yWI`6DVtd#SX2F%i{lJFGS7+Y z*mP*HC0zaKr(k2uD9RDn-ES9*e7B?e%RQ`fw9}!f<`E;IIIXCTkqQaYqtz z8QYA;Qt^;M@rwlTyVf6k8ox68I=5b!D4S|yh14>|V(4~W<$NlQ780VHYl^l<9I9P6 zUx|Coedh6;XYy#VSp6Egf~z2Qb*0<9#bN8x*MT+V*VkEpvxHqYbKPO=i`9ux)MPZ< zS}Q)JT{7+k7J>dut~@!sclN8oLF#?|3^6w^pVSGzb2FSKAEpYh8(2+(rruKk=Gz(( z#bgfA344!qMDiVxe8W{IqfR&*U{?F#(rL&%`;H1Naz^Emxx5Gt4|byAyXoIb`_9@;0@w3}S6coe)O28$+M zALMgGl+VFeG3oYs#8}r!>L92JiO=1@QG5ig(#29kEXoy6?`JQtvEUea5~NBl{hQKJ z9pczxt7;9Q1CWFGA5>NPD_X=BvfJt3JQ1G8^bI;de}LWgc8-Dg1uue!xw_D|@Sf^7 z$l^S~Pj;c8JF%1cmEA7iSI6m#u%XZe-Uzag{=)x-4Ux&zIolNc2qg<`#74n#`B$*E zNIG8EX(J+>DR~Q>os=$mW21%mpD$Uh32%9`k>Rn=oUK5T_b!%<9kA~YHqL&oc2?6u z4?+n>lai4|m5Qqt)81rzO)k}z#NX!bx?1DU7C&}59P@++>KOH|o@@m5B(s_Litdd6 zDHq4KE-X}68qM|oz9D%w|9Iqsc0l{EDp&CeJN;$UmO=`=#ZA^sIN#bU#uu+DPAvIi zekt*m)X;Y6w5h3!;HIn&GR3&0^|s||>Do}peEBXbk^q@msZxJPUc>N#@ORxpUV|+m z`iSM!`FtlV$}wK3Oy$zk=ru4I`~yVFTa_XDbiG@sf6*X5O84ngq*de*tfzXTLLz@d zJi?s~wug<-8~S1;O~u9N!edyztG2ws_)E`K|JCD+S=dPXcbFCVOJj^rX#VRB!qpE(IwYBXF}sFF64v-r@J6r$I|RK-EGpwl z_GbT9+lu)2bX)f`rc@=bJ0;GKC1HMYEHe@eB>FJJ8CS)&_z&1mYYy2QtFhDAG~&Cz zd891emB#R!m>3R0i}^;e?;{+_JC_(%z4 zVAj0!{G|8~+Eux?*i<+tVp0vsA_ll9Eg4!S;RILgrr!sD5Vc*HjBCC1my%z)t~SM1 zN|RSVpgmgE$Ufg_tG-9|Okn`oHP_6Q{NHo8z){>h=D+)ex z1^i*qV!2!Yk>JJ3;a|lgp+cj!&EqzdyV;y*LQEHyI^i$Wn&<1?JV1sDj?rd{m?&sN%C*< zR-G`;%7;TMO_Q!jyv3G~L&^7K3Er8KslColNLxtR5A(MUuEA+}G;uest^Y+}D4baT z4L4=6T0i4Q!Z786UV#y;1}pn9-zL28OWM`rqEQHAl0PtdA~_DErHBRacig^xEJXJ206be>s=W3 zK`BzFXvfsfp|@r);iS!q>HKtjV zS)8Ef6kRH+9iL}^gvL3KIPN-s;@#O-AkjZC_ci)(buDgh#43CsmMx%id!-n9whMz9 z;+L|s^9iLZlEkeb0{O#X3~rUTjxtqrW1XRG>LA_AbCaD!?Wxo#@c?)LJWL$8&fH;D zq82-cb>^q!TT|xP1nYar2#68k*{-v{*^p})moCtN&WMgK@9Fte~g;Mog==i8s zw6UnLZ8Tbbs4NZ1-{Eq8qBw|e@ ze)rE7o;d2+Kti(A+F9CC-HI!7yyYcM{adZ6bq%Cz$#yFjsWyijo!`uQMp&>9c?^3K z7)5@fn)rKwZo~oj^Nj!#oZje}pc|C}pHzrepw)u>$W?k9bDs1~>#v6#7ws!8P;hLl z(>oy{ttx!ty(N~=7od6emE)GxjPL4AhQ8g)+61YE>C_iy4wFs_jFx27F=m?A;O8V> zn`p)wb+`x|EgbLMhh5c{NbTagnD?En+4H1_ILzcR9pQKOB$KSXRZlCD_DTz?o0RHG zcdfEG+%9=9@_U4-5*8R|d{@^Ki^2|&)xZZWyX+70Z=NIXfFkI`Y?@aIa{aKVAio>y zyL1B53bISa5S{5RbY-AZ!(I3JXzNt}H|Z(&BJf&@JNzLN* zc^yD1~|kj9~N*(V-xx!i@{Q&J^LQc+K0M-xF;rXOd`xU%yh42)A8Q0Pjx^nqrEU@>NP`W z%=54vMsbHBF{uxw(WgBZJlomBm0m-iX@>V6I?rj*+Xz!joi~mvP35Z;&G z0X8`I;w?cIv5cI~E~+%X(jK~frF>7gwQb>rU>dx0U(`KnKlKHCdUuqYigx&R-7KBY z8sQBWhk{hLBQp%x5*xXrp`kv4ZYgSL^S~=E-a1$ui?^qEG(2wX5`gXSXXQ2_7RYflNsEg@*ckwF4Q>y~dhopSc6ELy42_w$SA&{U+95KL8e$DdKZg2C2V?0U8o>_$aGBj+>d4k;jp`;xt} z5h}PV5X)@p%y>XKU8`}>QphPsZ}?#wWE*@ z`9M(u9egE9it`YWU|&X+Fa_{QlgzwgSywgI#yo_C*1PPrjPdCENy=n>M5wFxcnBDY8Mgt?q zc!KohUBN${0b)O&hJ3ZhVyCHez_4qX$8;~|bKp8vBQ4QP}{2C7PxZRswGBm=><3#U8zh6BFXW!eT(|W$r8=m7Q zx`r#ZxTIh?tqDIs>H(Xf{miQH$-7>9nUI7g#tp$W>IgU!U)DB5szN1^n6ODKfmzJS zMb~9VxcBpu$j<7vocUxY zIodac@&&uWyzfdUFDJR`;qTNzWvALFj3=D$h z>nP`UthFRlPe4bbCNT#;5bqDP$CJPx=taQVud0rsudsVsZq0*|-R79$-o;BRR7M&R zuRug@j?fG2kj|*PmC?vju8QOaJ;_D5PPL0m0^Q}d`fe~weP$eWUX=P{qm(=G{oF#R zx3q*ci_a<_K?dZVXHca2%;{z=Vs*SMTSm?EzH-e>@F5Gp?BK2Jp|)PcuS65`fja?= zDcQ$9RIis*ShY~7E4R{K=s_^ms3@OczADS*@4^qIviLP7S+)6gN5KCM7n9w2^DbuAt@#DegyLsrrGKti%Z> zhm-$tEwJl!j@X9!je4zp8-JOS6@_q$_idR(mon|_s_2NtL0{)1PypTruhFgX&0HtsZu~lAbHP=~kCnK3 zNv~tyNwFGJh^8;GOTKI&2Nns8ETPmMq)nQdu?(hLDS!5&K&f}1oucHZ90 znS>-zy&N?QHU>Ww{D-vXwreZZYTiTYVpRdv@R_a^GEUW^n(@7n>W(?;1|@>1qu0=q zsdeT&BL<&jZ5kY^^#lx@dRC#L$RUy*ye0zMrmW$M4})4c>C_rxYM{08M49i)k4I%e zYz0jyIyQvZUyvft$8@ZlGB$H*upU#JDJ$Kk=Sym6lzLj6V@|U(q>osw-deq#JZKaI zu8@#f?Tc2HxekflioANF1})%J7&PcCM1IG<@*{+XppN}-b$}X%u8$}ktRzb4Ok%8c zFx8)k2`yk}l0;DwdmbNU&fum6wqrT+!r(Nly9oV&#A#ciZ_A|?YMM3q7>6! zU4~Vrx-q4|lfVJyIdg%C@Ye-n*=b+^IZZ8ve> zQ`=El{!VQ3M~Ux{L$*oeufZRX>>qBo=l`Z$2Y!4xRvBHKyF)z=9uU*Sf2p>}bk!#e zlRQK#Uk|OiR94!jJqh}QLyQ~RS$jX{bgl+Dg&Ia)Bg5GF)Lb}2{HEtS3h`3Zb1U)kyg`QJW$^!UYxshBU)5uJ1AV3X78+5vl#5f_$^-pZAoXjevjyIS z*s6>}(q-NDHlZ$VcRmO2VUnMO6p?RYx!8wFrtPDYtPCM;QiqxIRKT;6$x(RYS8cc> zS8f!%fKNgOQQ>%5+;6i|PO!kX2R!B5m*4Ihdg07qxPz zl-?9hC_G$ex`2Aiw56XhYv2c~Wt_v&SjS9YZp4o}A3Jm7Dq1e%+qJ<+Q|EK+Gu4-j zglxUe>_;TvpY5<=b)2J}w=2%#_Qa0WZyIUFEzM$nGTPdzim8F|%m~jEH_h!{a?z4% zZV0_G{W5T6l&hTh-<2VdGD+So@@JglWPm>}Jac zvOcvxm`0?4u`pFrRo$z14!tnla-E{_`n0Hi&eE|t^m1Z2F1p$g_pxsXD@=CWRTk^A zvNAYH?35X_#dAaR*9Pumhj<5jvQpr>R@D^4hFa(1&QY%G_L+95AhmQxn0D^>|6(3Y9|3jKjvfeX@I zt&pn{JQQrIOo8386m4&r*787Ul&zuku0WvodhUWCuqRd{mKmch;9(BN~ilD}BDsj{T#ab{}n9=HQegWkA9Y|y2|03^{W z+fxHizyZ0D9@1*?3Gz+(wQ@qcugP&_!boJk_MbjX z|3}|x>^Fw}-{hWXa~;W@;tY^|h#FKS&Mo@vR>F+3IG1p%wAtc+M4GD?_*LwzKa}pE z|G`bV+ZXTbNxfH6bVd6~oWOQD+etLn1rLX0x-RY>poRNC`imtDOe8nBOzC>C2BwmC zuvyS9RETyHDD|XLGl1&F`fRcVxImlq4E7Y;0AGO2#*c`7xa;tJ)!KX*S}O14=jfBj zyKt*WDUV&91$xzDL}ki8!X`ce0pFeO?FN$Dbr{alh{v@9ABx{}fZ{q=AEOCWy%w85>iw*K(^|NqlbdRW21I<6nN^= zT>3IK+c<&kU@UYG=On2zBqc_fKJ|uW6;X=lP!JKI)zi*oK4bZR`U|+v&BnjTn_>2- zsTtG&_6P9;31l8cXIJ<})?IlOxi8BwXSId%awhsGF@b)_3?=QvOJ{RpzWXHI+1yr? zQ}QIZSZgVb&5nbf&=Xv_#sA1@_&~-+gsH4<)kli6)!OQKx-HR`?v_72a5zw;UJpcx zck+K(^_s-RviMSdlQqaBK>E0aDWKXQqkJCqIyAP{CmRwu%xP#6eeNoO?U*qBfs1jK zt+)v!aeu3|wck;h=3rcp`%{#xcWrAM$@je(YX7K$2RvVHVgH{*QRf|4VJdt0R z_l23yPIG_2$AN4tRi0c_HpIvo<|`vYSffACeq&Tm(B0Y}3muYQz#+&)^#Fl6!nE=| z@%?lzX=|pp#Yug8mk1PkEGMx-rZJMsMg{Cz}s*<_f{WSGP`)BttrC3jtJ zCI_6Eg_H3%K3=~d?JPK=e-8{qxAQym;)xc_NBUx9CQQpBsGC^snp7ymJq;~RR%-dM z+);Anf>!D{^_aFX|95;IYV`qn9W@rqpeIuPgl7dFae&I}5&SVC#_eUh&^0|t?nP#D zans`2g{{cj#3~%Hi|NKvP*0GHqt*P>_>_>jTjp8Er`vQk;qea`#t{XENH8`@F)4O|Ym z(iiw#x=HuQbo3+sgZM{Y$}MGvB#Vjf_!+)1?*JHwBhjrKTDV1cq21Dc0%Awy;7|*5 zwvL}pw1rlnv1EC73^fW9=j9XTbu#aQ&d?;`q+oEn(!yb-ju?WW`svu&(}m}NF9`=Xg8_~RhFpbsYcF{ z{`0bOl6$aopM1nQ&RCDSvR&${f9em5n-y(g=%O zCA-pH<<9KLMDS$QdH$}vH?;!sG>?nwNN&M8JAOFJ<1#4`Ey!-p%8_MV>G&lynP^Vk zq*h`lnNG}ly|Q^-8!FA$T1goGh|DF%X`Q4+`gtS{T^m&)u*rGW_1W*zMB^{?5=Aj@ zWv6ixoGfoz6@vQnSwsUQsWO< zHO+3G)FdqF0Jq+ppv}Vu+gGDsydkg$qM+Ag0=3WBpm)%Zc%z8w8LqD7Zxr@%j<9`}9{I<6&n9%1JGynXvDQ=10;h1`*>wsFghDurLTXn0P{dcjh*iz(Cusxz@) z?4sN**emtdHYyiv3RMC=d9ZsZ6Cic@7TbYb$}iII87;WJ=w4`ZpeNacsAk%%TV@|e z3-2d*l2SdW1X+-Q3pZ~$+EI7NMZT5Dc;tb2O{wX}g>-aAj1e)<^%imE?sru5hEdrt zh0Jt*GVg1LyqnFIYB&IqCS!J2J?(7NdfO^sep&7P=9s?pv+H$WuCvZ!QrqrphE;&S zi96|q$x9M1#%f%SzXeoZQj}r-4+ZA3c4U2eH=YEtLdVQ=dFza$Rw`4%!+2(b4fH8( zq;Hw^OE2$A6>q{B>9Z~B6n7M zshNDTwZaJZ!t$fIsX1-b(jeivciBX)wNy>Jr~m8PN{V2LRF-kG-h`K6i$DoE!1AWV zH;UhlToSj*2i5IRTw)$`K-doKFb|+aA(^ibD5D&gpKudp*nh^QP;1=x`BKzHxRkuj z*rwiJ7Uzt$zto-*U-4etI=z;Vi#-bj3;*OCfi`%H!rQ=G%mNC}FA`^>J>VHCl3q@J zZLcgmf)^2uSc_Q-QWD*>7vO`KSo(yp&}ybvrhLSAvbwDY=*XTYCjgT2JMFaf$*jqz zXbr_Gj=8=-scy=2XL3Oqz8<_VCk?AYogwz8mk>Zgj|(V!_^I9<4p`ibeu%pwt>#}E zXM|2Z0&VKPC#Uk@ww$_DNJAv8K;NrBN0+%0{CC9qF|{)5$vg7rbAL-6q-F~3`iT5+ zuhILN|CujiXOZIpEun0}G_%W~M*M@q!v%GUahii4jy3bx@H!B5Zw0^TNH*Nqvjb@o>Hr?u3JSYUaO2s^L^gv_S zXH1l8Xhk5;T|qo1RRPq6eO6iOkbogEAZ-IOSIR_qo1-<@a;ln#{f~Hzo+oN1j!W!e zVCGRPiGGjorFq{1W&w3v*rE3_ZEC;=7+S#L_*fj0*ID!H--tP$Z|o9i3yj)eB^@wW zJJO}-5%hAzu8ol^knhqGqfTSPkXu3-VkI`-`G;?-mSaqYx_FkehZP4GEU+7bK0>eT zzAs&Z$D$`iIj)&}9-kiD%LW6g=1kuLW0%%TUudP9-vB}O9lBR|ZZy$Skve)+_n!C? z@$-=FZkPC`%z62XS;qQLnXKpNwbkdwdCg1wra8Kaw3_ViILxu0scdtlq6tz<#0_#6 znc;rus)TOhK611|+Nby&j=p@3Y$|8CGgu|Ax>OJN2o`eH)#v&)JccgIw#KW-DZU8e z3<$cc&)El_??2`D#uxElong_6_X{4N(&^*G7je1&Re@a#skearr5EufuB6O@d2D%o zq?$xAY>3Q3Q{1rrLUFkIlCP0I@K(H!Qp(7%dLiq|P2ec1A~S`p;cH+lGdOG#xH~!Q z+sQG+a(NJZ(fLY#s;3Gol_Kqd@R3_7Y*co+a$*rgL1;j=`l*h$9+^+5@fFnMTl!eE zhkvWrua^>PyL!`?$@Ok7bp%w1J;zA2q_$P5rBwyDp>+L=*ga#2V}LeE{m-~4Owt=D znDZ#v7ClXlD!eMRCp$UPpm=GIl%#L)?bWWUrKLK2snn|AukfKCa%Fj&Lh|GMXyFZz zNN-{`(QM#!QtWg>nD+pRV#}%F*3056p=j_KSHvF7?+f2e=mKZE^W|0r4}1-g3Ecef z6k8>4FLX3Cho3351rxRMVAu8zoxpx(`YR8EfTIHCGr#eQa&^$Bzu>b)jlfP~znJFC zJ?(htgIR++0es~O^gn;3v`1ZL9@HiwOPStG3H4BLfgV9F#x4We&}q z31ky05;+8JMc?qtdF}D`RvC4SXN=WS`jmJTYlGyw(*p5wAG27QrPVQY?xV99%@z_| zbI30-UhjQ>G}aY z8Z?g`@5zxjYBSK=*4E;bPzlpA$e2;!y(loANK?%d7A|h#?P#}=^@pLRUu+^9ECzSVG1!OzdQL0OLrFwjqyf>0vL`g#0q+BBpWsOCW zkVag?0@0m`-GU$ahDLp(-%>O$JKHkPgb_UGPP<)>2uBasPOK5%Tl|pFS&E{bxO2(- zNP8t5uN1plKIrI*?xNP$(uy4}mwL zy zW9kIu6^V`(BViK{2~EzLG({Z-We{b?M3^*ey#gHNOVtwzQs_rIXEILbc9UW4?|LF0AST`U^R+KNz@Dr;wrR?<`by)|8EE{`=$ zgw+1yiro20igNF8QIx+|gv@U2%QUUPL2f-D7fbbjzwpxU`t;$879eVEU5J{B;r zt^1%Q0b)Q2tyO*|%z7L1E;bzcQ5efq0W^WO$~K@V5^D{~yN8t4sQke3z)hN>mM+}V zW=psHCpbbbN^3zbCWp$0@b>Ir#R<4Co25+p1TKkg&}n%Yh(%rzM=6Jaq9w^hIZ|#& zI;A0MGEQ2tR$1~9$b2v0k8`KIOZlhX5qvB6zO;DgBK+0pFQU+&z}i#>o@!s}IE_Rg z|Hvoc2qWM0xjXS5xgo#AJiIz~b%|A9|8BPWRfu0xzNkS`54K3oNPa|~3vNwr%cO)Z zyLV$A&{gOPj0RoN-nLgIbN%0iqw-zfM82)`m22<1i58o$wUvbl)*O9`V}agXT7=Da z)zEUSxyVJ`r9-q0#>sHXkEd~?v{ey`UZ*et!4t7~nf>e2vZxl~D6p#O-=B`$H% zTzRy!0op9sSYecsk+(hWbBRjOGN!k$J<^CS8S_BDu5Hlw7?|45>jjKCM#2Fdj<*j- ztKsbxj;zQ>EAe&)u_MFqGQdyKg#6;Em^k0@#u%vH_V&;^3z67WXr(;Gnj8$*s(W3^ zNwYd}%l|RBe|ehhR-0<+RyXyT9Htav^_0QlaQ&Ga9{HF4$x%QxLE5;+Gd1YT_!f2} zbJ}?ozlra5U6ZFP`|T-84|TrRrY|y1+vWj>m4(C`^W~e)`?)`y+cJDP<%~+;w(ude zi5?tlFOFds()EzW@Or95;%BHTQymyd-(v}Kd(Q=`i@b=ei$&@?)Np(&I{=LVCGy_< zDsr6XFLj#O)}3XVTE)09h0|NgZQut9NVzaD^X;KK+=<%123ugILhuo1*__SdYE9Rw zYs0k_To!3F26|frTB`HWB%&x_;`fOPLPrWFKDaLvCbrD^Q#gtp$=so2!Y70pXbO%| zg%04}CMHS4)S7aH)vVCNBk~%i!j^$K+qK*+8M4WE{)UFItjbwUb2_mXnUl# zqQ9tpwH4?Cy`~ZJH3lw*4ai?uU(oM<&YS)}g~LKyeSr>on&2!miX4TVb6$xUggWsI zb%nf{_&ck-b1cr8gyukh=%u{C_oDkGq*{fuyJxtce3-9x3PByG*{Xjy+_-hHy^HJ zyp!ut(YnvPMm1-C;2JuUY)uUW{rXQ`#>jp%`;fb7*qXrJ*}yb$Oh9nMaaZej5* zOKp$E`POk|QOI#${_OZ52J{}L4Eks5{olM%S~qy5{=_H&jMId35OxmVilzX=*AlEd zw2ptOEy5SW(bh$BJK0|eQ*2UV^kaW_XN;JKY>jPT4aE_3xSEbe>56{PG1%Ip{KX_C z{Xy+uM^!YF4|~Q{DC=o!j4><2MV8yV<659?Q}@Qr01br7*bC+%HJeDLZjn*w_uxo# z6|zZht&eA-rPq43@b3l3yy38oak34#Pap?gO}b;Rl<-|GN4AFt8|#Sw@`v(WK#LpL z*8!jTsWBhi{&ls!oaH?w{Y8#STF-8ks}U8+chX%dgFKFZ@hoJ$$WURtlob1eo1d5L zUdwd^Ti^qLMmw;ev)o*4%AHZG8V~Rp&@qSKm~3sbHjwM7EHadMHYq%r*E>s>^HQx; zB?ny%5-<$_d*mUJN5#iy()Fo7q*N>jsOv90n>`ol(rh($ItgL7sH$>Zv4yQ4NFgQz zGu|z{eq1%aRZfoEM%w6)7~EBZ2HjdnkH*qYByWt*{$aDhGnQaE3j zLF9wz=*R_lGPaS=6~B--+!wJtSs`D*7lLbmWqzP_B`eD;DLt`2kxSqkJqsuwrjZg# zP~XTo)Izb1u~gU9R#wv>phg1*^Md$k)J|fT5oxYcUg8VzrC8Ot6vx)Mi`gOTid9NT z$(x{%g?6c)nn)8zD`~hi3tJ!e!yOjA0LjMV4m=lz%n*XVFjYAf0^`}zV)qoIxJ8@bf%$8>|+1_ZP?WQkX z%r*z>JJt(ZW=Mk=AJojqSnnj^ko$bqWlD_QWH( zZscn5G8SR4QzDTf$z>qh7*8P#!M}yOqX(t#U?-nr8_HJ;*zjejfyY2OpqH>37^-$D z@!3yd7cm_Emwb;8ENHHuQ+i@8aKybM0Bj`aS<6Fxupf~DQ)lvt8^m?I6nYDtl7AK$b&ju8#i@^0X+WoJ{hR4It zoDGHLPzSCc&=}oN0O1qx*Z6qhkY*^K1e=@iXB6b1!-&<`W&9HUml^{tFxJvP$f{Tq zYA5+GeTV#iF3V{tMU?yjw5j(ImY#b$ljIVC9Q3ZvW6hmYVF}$z45u2%iuz4%iOeLA zxeRg|V6ZI0Zjl4X4vwZmSgWo*{qhz_?X>k$HDfxyRte8 zLyusGeJ^r;YWMN)WMkJp$53)GxT#!5^YDjU5B-U>6HK-<%tYk2H;@yJoRfOU!>re# zX2DkREvQ~(F37A5rw&Vk*;}th+6yxCdJ9whb-1I}KAwgK3LoA7kOWp1xMF*N@9QU? z9JMs);*AziqqDkBolL%W4@_8!PR=v&LF8J>#`Gk9?CtoD_Un3|&~LL3 z*%bV=20k0Z*tO&x<}_I(4f3v%e+qHRQNEpch$|<4*Si} z1li(G#mm%wp}V18>2<=UNC%J|awoZfzCew$3)pb#8a5PnWu(9*q|SLy%eibb(C)ZX zJuCLHr5kSF3Z;{?gWL-$!mDvV@Sh||DzVpuLvk9p-Ny#I>zC1ic`4%Kn9BHMl%!v= zPuZH7!nDG>3v?cm`#sN83&mDiYtz(I(P-oh)*XE%_Q43Yk>5c-bwY@`l}xCG+*a+YW@>)|8})FVC^O%vs6ylsqB;|+N#5G-IW98}El*fG5Pc zr82^3HK^X!IUmYzRA_uQU_aIsi`4qcI%T9ZH&B^aZEsa@L#QK ze-`FMAC37ZG{3lB@pw$f{>1Y^bM_A1TmNO1P)jPqEy6rv)L8Sm_$u{*O=E7kC~5%J zGQ*3rSZ#H_ifD(GGX9X3DsM)&`}zw6IXY$q`jd%dDQP3Nln5=(7gl@Qdq1Ql$%k{k z1(JPgYGd*Zaz}M*QIJGx+UdeDf?-y$5Of#6i+({q;T@?={4ii{=BfLXI^vq}y?74Z z0pu1KZ3i|I$6Z~~Iz%$I#@vgRVWU7MpvZ`E)(y5W!icl^u+o}Hqf25B(38+xDZs1+ z)0@`DG<_f-V(vE<8zrfHa6bDg#Tz?;ZE1#HUq-dM=4^e~ikpBq8=?2rnu8PSN4cD~ z-dlrM?(YbQNc%wl{9V!FqL*ARa2s7H9F}#pCwEqxp_|foIGNhcX8^C!d&nMFB2XQ# zhqoltklyG_^f}y(B|IZCddKECXs8tyPRU9OeYAzc7- zwC`rGP)2YO@I2qM*A7gU3&j@jP_WI6KumCto8yi|*W%^f_lhotK8kOI`_gY4Zheye zBnyDc`yt;?=>eCwf>vpEsyKM|B5{LbsmlD+_=@26 zx;MP1azu+{GK?teH2Vv9Hwm#Qy4NEt@VdR_d2r1M{h1dCMQ)N57^% z#GiTp)Xk*8MC42cyc{hdWiHbi4-*EQY@}gRkR!nnSVerO-VfXAI_s#A zFGsil17wLdjmpAGW(qLiNGTa)1U${}rt_gSfL_%mFaj$`XeTWPr|v$$;XqL5wApZ7 zVye1E0H#gJPQ8mSG^U`Fu#mo6T#CgIJC(>l1^PO1M(*nl;QsiVN+$XfT4L1BzeL2D zMViiL3(jmGnQMEWXA*4Odig9KE{#%JQ-t?h-T-1ZITN~pEJE6%Rq>AE0=t85>wGF7 zBO{UHvgjIZROQ4ZBD5x$<#{c{>Ssl}a9HcfCFc)RKVoH37ugL}yd&`I%Kx}6#74)h z_^~*9 zaJP4~6es_X3*n~a)@tp2GsHDw=TalUUV2VeXXlrwdhWZ01I0@j7xD7mOgIgh;Q9x9 zi?3I{z$V?mm;?APgQb$LWB67jH)=3iyyB5dF-F0ebi9g zX?NHQT9k=G#8Jjfnw+<=nr|Rk%IK2zakj{os9KN z(GJL7mQl3m79eN;O+M{iw0MH~5*iiTFz#LfEX_@CmoVPfTg)W?6~{{Voc{)5)sq2Q zqI{L?`8-ITOHTq{Ttm13U+k`g4*X%(?Ct%ZJzXiO zeM6@rWn!`nx4I;Mid@0EmcN2CvmkDY^fvk~=)N~r!m>9IZuei_RwdpLu-Y45gdoTi z=(zI&n9EfZyPKWa9bo20Gs)r!Ft_aP>kjx4!LZ)u6J!23q4tbIn`YR#-M zXbLqyL5UyZ>V~}GZ}{41|3dpfH~KmL);*WXTd^K>P(1>qv?;%w)8QH*E+H3D59Bd{ zNNp{Z!mG-5Ew%6|SJEQ+Q-Eahuk=tq8t|eIgm&K3?l@N=1*3hm4!#danEXZ>Oiy%O z&~7KyLgmmkPbA|AzU5y+H-YUWs0?0NMa1;W#9pYm_)@78r^=Ml3m=G%(tDtbxFYlj z>CBraKWDRaCaUvi6~lcE8WcV|_XPA7JE+f< z$f$Xc=7${{B*T}Lao#wepJ~4#_i>hu>#b&FUs2LP6XCS=zr3mX#-b(SX1!c?BzruR zq=Y5yEUFm%;%UJ>kcYVaj#}C%{+x0^Zlwm@jiB|B`RGwNS~|qt0lm68z|*tSIa+(A z5BDc<$>l!EspuHun~_Z>k-F9w2c~h|DAzbY*YPI4h&w}kOxTUwL~F4nkwZFwt9TX{ zJx-jO7+L&6+$;B|hGY3s29%61$46wx5|Iha$^^8hnige4YpVybvN8Wd>(Y1fdJ*~A zVg4)5o?sr4!4xZVZ7t{wex&<`TuE8)Y)mZjZRB9l6c(t5-IPCBKMX^{3~QUev&R$s z%RH6%$MT=<4&E6kFr@0cz)msU@X$j6O$ep?cttaT7)e3aN^QK?>z*7eQp+XYEi%l@ z72e@X0?#QNxX zR8W>fN8EE2*||pWb8p}k;@^%aYYg99C|3S($3lCQi_jIaL*N5(FL9GK%w0b5Kk1xs z5fXDhQ@!9X#u+A!#6oX5Q<+E9*7D;gcvh-@bu8OoI^^ZxBkEP*Jyl*kAv~l?3#+9t z`UId(FY)wNPl5UV=Rg_1V*KlPqSiD|kx%6Q+5@GI)L9-&pN4)|4?Iyh(?b7)Sagrj zOYC5OY^XV{pJ5D8q{vZujKDK>gyVF@t=m*!ihu9PMTL2*xRX>XfCgzO`Y)8>Fp zVrj38?qQ$d-SxH=Vv%LVQd(*O_hcIOZ~S+1H4&gNsh6)i9?x~fpScZfm-bU0 z$R43(s4MfybBL@7%z;a!F7OLEuk=WC8Ptbd4Y+a}t;%9wwS#?`Hq*Lm>~=JdMSMqn zVRCb8KUYz!s(zFgf(+_zJuk0H%zZ*5!?96zL79;ARr^mJqhMrr@*PnMjd!H3bW@RR zfA(BppjOE^=?&BD`~&nOx!!}8pGlQVY%NtV_DFvrChT)JQEEDK_;1KAuC2V3kCBh( zq(sdGyxE3uK$v1br!5I?wJLHaxXy8H@CodEx+v-%S&Sv(8$(Vjpz z@&(Fh0|1wQmiuqJ7jLDMHylE)YFgeD_T4Ysx5&I`wTOI^ljVySQqZNru z$*Jayi+QPZ)Q`wN`Iq@Rc+Sh20c?i~|0EX#PIIq-y(?5u+BPDme;`r&t$Yo3vg*r2 zwOwL0;hy|KZ%FQp>(icM74S&yuq*%zS!_(6Ov8KV2U*HOcW?SKj! z?|H@L$hEYt;EZxuYs1y_CSaSjtH25sPq$&;(N&b2LVww(WI6_WpA?4hQDkH3rnFIe z&7D9@cM%q+JEV&^0&h>K3|Ol7^$Yov^jLX)!Bp%q9HKTRc1ql8ui@&F17Q~3pRiLQ zHkN9otS~Zlh&!e&F=k^=z?Aix;LvvIC7hW!v7%+5Bz}rIqvh(yHJ9_1@Wt-|6aEx! z2sXpkQ`#femDkCc{K15p0ZaJi9ul`p-{J2o9TyttpS|t*C>V1ekt}_(RSW*19g*wW zcL0*fQU1O*+&4?f1DU!*xuc{_{1EiK;CEd1Ezw@_c_2l(8%aZ-6i#rRg6>HqUj>g1 z|2uk%zYIuTeYBU9o5)W|iAko@B0fqF<2>j}5~Z4ow3(y#5t>UK>>brbW>b@Pd`1tI zbC>c1BXf1m$+ucIK&o8sgt!Y{!+vL5csf-aS79rdv+TAqvENKp@=pGYgkG8d6kI3j zLf^f=GpcY)vHfIkTZ}g!?cgepp28ryG*=SaNG6!Qt?zm*d4c?=bEU8a^d8HSo5)6# z3sBiByQ@0N`o{P&>`7`*Xe@LJ3&(QNwQN66vNE!0ZLp0@fVoaBskXfqU>}twUI6yl zU*0R|O>~_+O?l~ft*n&Wu!q=3tU~VgWP5P6Q>b?E1JlCOj^)w6#JbXT@-4X!ubCAS z@aC_R=8H@9W&G13BeV@rmRcwm;U0J=v|=0`pAC0Io{-&XhWO1k@ibOafv>BgGm1Sx zSC{uIjbtBQjjs((Ubb=z>|fP0!7o;M?uhGr992+CwDJgEZ_Z5#A6YQ_mof!wzS>kji!#Q8hQ3fff z40=dtZL+_+i8upk;(jQl_^yes$S2N^Vr#yRHb+_Ib~sHpDW^%>Tn}Kk^E1?yxa7QG zKZ-MOIp;EbCfNdTg-yBwn+wRU`--X(8qtQng12Nwvz5U&LwS9SeIPZFtj<16?4S73 zoEqv7YAVf?v&8xNIa;dr!~eH8PHP2v%qNVg<{2@hf5n@S?a(0#tmT0D#W=9lyyd?t zRnpH1v%v&#jKj}1@;ns2Vs>ZMoW9ab$f8JHZ;H;YYi|o#XL%<`~79ESf6mF?Yv^B;uD<|E*uBgEIg-aWilYGAGr#-^9z}bP=jn%;#F!zW&tHdg^*e+Dp zrzt7YC8bEZjXvZ4Bsyr-K~83ewjB_L-_axBRpb+?9CRG6q2|kn^__9+1h9kV8mhDT z6uF{R$*hFcMjjxSr9`26-gs%Ko3J}Q?-CaY7jeL_L3&a7c$nxC^UOBbSn4Hw09{45 zU}nXi;3=UxIUB1=7NR4amx<1Wg90|O1hz+525dn6_*Q&pbQD^cwb)&bc!c+H-G}#c ztGQ)J9_cV2hT2=>^6dIBxCh%RF(G-5dc`VXZt*2U3kkd8W+&5M$)T7HSzN-8oN{-; zMq~fOWV#X?!-j+})KT)Tybu^TuShSnr8z}`qTF!w9Ewwy@#}eq`L$X1=_IBf!wS{4 z2(D|EKX4ZDz#b?zs}Vk3NxcS+K8(J7pBt@1A? zGtdrDwG!=JQT&4F(`rA(i%n$b5dTVJ^sibKe7E*i?q?tBe#Dhm3P2j-DZ^9wY#;D# z)YLspJ?WjoFT=4f-t zqu8MQ|DiKsHQ}V=7#ao8NhQ4IWpt|_U1mTllevZrk^sd=~Y5=f}gdqp&P+mVY9DwAThAW z*Nv|wzXndXm*Sy3IPQSGBj{Mw6THzq}2R zw#aC`rP5sPjpsR+#atk}c?U^rmmc%q=C&hMuBz)#o^8z6q`1V+#2L_dF0jw@I*`Ay(%2<(1J;FkO1MiJ*rAc}nvo85=;&SFdh5E@h^d#MiagxhC-4bt-8Elqk1)WZi%pADlDpUztE49X( zWn35LNt)%ycgg)#6h|u`<3_&h)^Ynw(vhtzx;+`SHP`A16RR} z?@#`{Q{qzbMRXj|&TSH-eEGnd;f2`8khjpDFhd@OT6&LpF?bVF7onW9(9I6k>!Ui58DM(cEc85d zytrX;TF|y?R`G9rLomha9;{LHJoL9xGgK=$1h5U};T!R>WK~B5yf_NMKQl&RzofFB z(#b25+ju517uoA_w7Qpm>$ss`R8OeW{d}-J~2z!Sy&IIC7C0Y_g%%J96KPDYQ!~_YN6fZema^uu##W- z0x2GusZNyd8KpzBf{JAo&j~%$<3eRZv(Q4UIvNBv5fe}p7qg0Ik&z#)5hRQX#V?8$ z>qkQW1r_`l`O@EB42k3UY5ae>uJ?d+=5J~g)i1fF=Qp|{xl!Ul;kUQ0O4?oaq1rlh za@+=K0MrG!O!W1_g`d$qxF}!DwoB2*AoU#ITWhOCDt{UkfVWfuTx+QFTY+Vk~Y!gf9lI(`o2rTDDbk<+0+_E9&?IQ=dCtOQkHn{*6X--_eNJPioyc)}xDSv89b`)Ax~mpwVZbrEPz4=Pt+T$sN)N{9uk*jC54~rpx5RI9 z9(y1BhbzR?8X3W4*F8HS)0B zP`;gdEc=+a9v(@)!C?9qGn=SM-60~##>fWjEiB?E@Wo5p1sXcOaFTMw_+e&)99miZ zH*jVJvDkIRaeFlY;SJ&K9Np=kJdcl=#QH1&<*|A#Fg`<^uMf-%{YD z%Aymo-EpC~_}qbZ5rR^05Vyh2rL%d=N;R5k%N5f|N2N0VE1#c32^G}d>KwBdXh#)T zd-X>A4&{S7f@cMXaM6D&V~Ua}UgRtAOI@HviM=Sl1}CxFE8ZcSu^Y}N31yJ-Tt>j= zNYFlO<;~9OC+VYtY9F*!Mm=q!=qZ@)7~nwQuIa3JL}ol;OffUZQ!{yX(lmxnex2Az zxXgF*wzF-Q{w%eDH=)i_9d1`#f-f%qGE@bf7C(qu4G+erQBw&o<4Ww}>CRqHnwD6H zs0)_{&beYa6>jKQuO5o%YR_c4;7xH1e5ag27lEwxH?5NO+thXy1kS}nJI5xMjR6j1q_0j&yTiJI~ zo~mUT@XA+;s9)nY8hhmz>P)b0uk9Sfg(+YBAH{A?m((8m?(CuDaY=!Yl%{*N-ttfF zjnrLx!GV@6U6YNZ4$}viUm)!~6B!Ln;qU9iwK7>Z)F|T+v5WX_?~J_wRB0}=t%C%g zj5;*U-}uVz-^zOzYO2rBjt2WEmi((s|AaHSd*LLaEiw!E zt();@;Y@a~7-N6PmX@9IN2#62fuzl756vRSO2@6bAy4Qw>eI)lF#Dgf#<&GeDUkw& zbmT;>C2}=y3O|!uRL~Ax?Y{@T67B9kMcgRo3RAinL3u2-+1=mRLYF3=%Qx9F>{8qj z(Om70p74hm%cQ-+WNiyJi+ljLbxon$C8R14G0D|bzK9f{{h`OyVRVb+jINwelPrmY z=_4^6x}l+RWxc6Xp16We)mF2knRCi!kV&d7$CEeVQT7<73As$aM>W8ETaoBhe4Aqy zbOU|q*e^6v3~wX(81z4CGQN{8OEd-Br<~mObW41Da9N_}*%7+W943-NL(!Rdb9|1j zOK;ecMjPoo-7G6hX@uQWXBzu4u&b02@`g(3-IPbU&jH^foXSQs$}N-s(i_Ns7;du! z@VsJjTteAEZE*qg)q7Cc0jDHH5dXxKwl<<+iKmLnAku`C_wzsj-L!T467%`2-ry(c|570cOyxnK;{%^XC1 zmVHKRzAGU9t9dr0e_WKWNcz5bHC8cLzqkoA*BV`Xo{^Xza3;TiZ=Nk+rQ+W6`Je$Y zP-NA3{uU|a4+ZndBtb;Fk`)qEXM?a~MXU{upT@yd{319h80Ge{>;mmf{O- z`cUUMtgRWTRf`U4T{ScBh+_tH)*4B_!d6=ki4FEn`s(;)m<=>f`%y`HX|gh9NoTO{ zz;m>loQ~C1P6Mtmt-X?ZY0JgEJf`mo+~dFLkBimhZ!xZz$U|D(g2p!jgw zXiyMFLu!h4hpH5tCsavTsqAxPr_TU)d5(hB{)Lmt2}(hrD_f-Rh95u?AC@-6QpV=v*vLP4HRhEAMV`xILe^qRoYU+|~THc{R}a8U}r!LmC%$(lb|y z#!7h>Wai7crSnBXznf!aFDk6R!cA3I?&u}4vHr6`0ci-C<{fe&$-uLz>flyc3lK}Y zYPZy|xFzB~xMO-}ok6JCLVrPR=z{E6&py@PM8%8sNY!EX?NF_`mUIFo&*&AopDN z;T$I&BF>_5^z877W%iW9$Y-|FL=AKk-;JDvP0^|d9kpRTU^ULPwENg>Sb~4RgMGK{ z?*VD4xjvJ+j6wSD!u3L5`6IHa#AWR`c@=%6?*OjMZ`c%NnV9DOv^-kdjolWTbHh{) zn1^DOZQkLi&CxPfTGq{V#6H9|!0`YL_x_LuQww~%wRuF6o?@QIbumMILhdd4sNbZ- z;+xW5CeC<>*H-ehQ=(7(q}@{L!UX}Jb~H8?9#0iWWi>lW%gy9*-nX#byUdp@&KG}Y z#%Rm<-`Hn$nzWf=^ummGmJ~ z(dOH{1nx~jReomnd~Zj7c36A)AlRR^_Fjg67+1O5WCP=%_clBXbg>r3%;I@t3!moy ztnA>{IJdZlor$Xu<{{x*Sk`ce5U9A&UNPYfj1V7WqlM-H;YF&FA#|5mCV z*+%HaZ-o}~Vb~$EM_@ZNTe{$wD=K(*bO6_v+b&ntO8XY_j2~D3QLl5o)O}iG@i^5D z|CyJI_g@hQ-z)f`B)NLQEi~ZUp@xW>5zWRDmGweb1au0Sf;`7&Qkx3O*lST!s5|+8 zn;5wrA7owzE%j687w7++yt@+FB)W{&*1k?hK-0Iq(474lx*)Ad9%9xcJ||r-NMbuv z+p+5Gm8>*Ji~QPJH$9(k1RMOG+%ay4J{oI)@bNpOT=)Bkk=h}DHSMmEqVYbnmNjJxtd$WAhohj>7U*Jog2aWcgE-99k^{; zx_b#)MW0DNqi{U}S(3jR>>~feHXFB*?a)wj5qSfpH44cgTdT3iNuNh3<2XS~fjc6T zi8*k)NZG!KE1?Y$S#kxSZS?~=pFT`X(9Om&5ux#(ZFK9SMI8qLJ(fWG~3Rt_|0#}PNo zGli-&8>yrf0v=F9vuxlIlWd&^zp;|ONN)tTsdMzE=x6K|wU*dTbfH3&tli>K{ZaO4 zc(y%FM=Vy`OhwS?$q3AKKgRx1U=x^)% z0(Dbc=^`Of8%#ZlDtd4BlDR?WMtASRtfZ%DWSDgEUyHU-h0>#Dcb#yu#Fo@ zbmU(^y~r=rAaaZP)3$s?yx!7kYdF(;1u7y7xQD*gok}sflQ^K3th(OVS#NgVBN5JG4Jm zLkZ-UO?WPE5KwD<=!tac=S$Zf z$9br=|9?gekgH2F7MPReW6CyuB-tIzxLOMskwoEIHEX<8U`fHqkh`!kRgQh^t&y-J zcc52;m*PJxyr@l4X~<9fi_ZpqjcmXl`4yZMybI6ul5!+A*Q{A&Ge7B3+ANTCe~hn( z-bu;4CbgBKKqCGlxq|`ieW%UdEVQvWrFb(o%{>GM3~0bz@hE-eAxjov7l0|_4!Dn0 zrC89sEigyL(s4cDNl*zi9NEZ^rgu@t#q+WRHi>2AN1Tn=N}eJ5$ejF9=wX~PQ2m>v z6SJ`;&{EkKz_sRJ&M!;x)-fYeYOlyb3u%QmLc1sd2Z8+5c9(p^bic=-5TT^0P0&4PBX}-W+kMFY&S#^$qMPDA zf{A`@V~Gar?J>oG)R5vZJlCjaOs(W69z!oM%Ug5&0H&dMeMQuiShh^rs0?nB;xhMJ zLA(v~mj39?!JG5nwHR%K@kN~(%niPEHNz%H{UkZ)t}sO|ty(f6u9A8wSC#m3|3}eT zMMsgfYdC~pA>LNi<1!SyI_cY?4$)r2 zICcU&Uq)--o2`_Ej%4kmYIyEI$LWcQ?WhsCB=!S#icwf(u&gNqBhNT;2eB2d43+k+ z;&*r{ZA`$SCn?+XOUA8GMT?|O+3^^!{&1B}(=|JXYWcvI?y`bI&}SLltX z74Tl-e@Yo6Un`YkB&^8^;+L34RCo7UcqdZReNP!8?xngWkN0%f&g)^?D!l^Ww(iu1 z@iSC`FmWGU&3g#*AXkaZq(U~!KgL@>=p_y@eyUBN0eQ+TxHF{=(m3ge^(wUA5#)M~Gz*mzWS$8ozUh#DPx zT)HNh>Qz%1Vk$Ze zyFheA(~%a~J)VIjUBE``mv4Z z7h)rQCJ|@nApNLa^kM##`UaYBtjWjnh9Qq|7nTlX0PAF)nkb$(zb16W?&MU_Agi=m zLms77l84&rxR)sT#BpXKGk_SHTqF5~bQLR)zhv$v2NT)2Pvj5RnVf-o4K-GS^2&ss zGWm%m5)GYNHj7!P+JV%kjMQ99kuA5MEAWrz8v=?Fg4U%|hz5coJr?Q*Cxi}b-9zUJ ziNezhx}XEaWNZsvlIcT*C}3AXP;eHgk6UjYwl$UYC$t zDWR2A^T?0P`;VtmXmW-60PUWR{LN%^M?3-A z#biJ%-&Aj7Tr<+G21Z+BoIc3E37_t4q@-z;%p|EC;GW**%H+H$O-L%yj5)Ka0GHSl z>>B76RUvPZ0kSs!nAuJKi0dKT;||47$8&5Ap~>i1?7aJe@JqYl{AK$Z-E2{b%nF54%RZCqu+(=qoZ_il%B%e><;{evo?@0Qf~gE-c}0bZgK= zJ*a!MTw{%y7@Pr@w4d=^EdIn*L29f`Rl|&^uu z@K^2y;Fg+Y__X%kh2|RVq@=1%lt}!Sa#T42X7Me7g%vaZ)q}FB!u%IcCL z{F!f{5bc;5!pGuyMG9d`kAjtCHD(aJMOMpfw{@KV(SLCAV})1w2|ST03aX300F$fK-EDDy5fD zuZxGozUr3fx!4S@EY_QxNG35C*gu|tYXbZQpH3|U7VA&AhiQtm2wu>uhfYGX(DukU zvK+IWdcglH^pRHK_vv2Lb-Wa7(kvFw_QnJJ8As9$)+Fof1w>>22oxQ5QSs5ZX)1&l1cv;p(&qZ0!bl|^; zW{P{pV+-&WTP5U7xNV|7O)Wss`MM`j5J8e?c@L-`E1^ z4)AL)A@=1bL0R^%ct8JX#6is>5c&|+45`fCqJ^dPrEXjWvqh+a@!Q%Qs+Kp!Iu3k} zPISX^D)5V>Buq=BN|l@|{Lt&Enr?D!ArJAMQ*E!D=lIWZ59t!WL_Wo3<5P&SScTB+ z{DB3N^JW)xD7>oA&vWHvB~%w&_5_D#W&5T7#&^UkMQ2OD6KbS`OQN=pSrLGvg6L;*H}a!Q&UodHTvkqqqB;Ou zXfL^+xI$Tn9+h+D{#Yj=I-chq#CP+hEjlgL(7tPFMx<2>bou7!N3EHKYYRK&H3ua2 zDWENOj4Qyh96O0F^fb>cTGu9rT3OAFzw&G5@58-%19fb$4)!Z|u=ba{z&l61DyAtD zod~c1tpG&48_Y|04850~NXTptW=Hl9#zzf=z_}8Q#4<_@6_E5e=v2;BXpC@PuE2Yh zEr>&2f_KKp^5dxnXgz!be4K~@EwCrVZLzO^i*LR7HPA)z$(sO;BuRf_nO0Xhni>iE zaUW44ceEU#r>Y}}XEsk}3}?@sqRdp5Y3lsK|HquJcmDt0~IC`R|Vq$t)0=iLdCGD4Z zZHF{lKC0B`s{1|%!_^>QKX%Xog-Tz+e+hPx1b1)!ieA$FOm40AM&7t5^M@49F>Wo z9)-%l-%?Mh=|~tmjmj{48^iPupdTH94T(%$PKaAHJIL}C55|E>SiYR8A2-uYP*MnO zh+l!VCyF!e*_G^RBA+Q@hmoEDAiz6LC6pllmTvP6{Dn?lF(j|!oK{-e?rx6_hbBuO zb4z7J7-$GF#|AHIluEH30D)l%_0f}(_>NlOiA}u0UDum{KPi{DJ#;}Dp4ZqK2(>IW z)jgA0M6M;9Rzx^dV7F{2Eyx*b4|8QYZo9n5 zF=91&ojSsPchQ@sUcV60e?+V~uQEGwz)UTDZjp10DksWK^EFY+Vo-cA+omY z0=sv~{hh0j`(FAlXIRbejTRN*0$d?imJO{91DLs-jXOqN{ z>;W$@%#kMVk#;f3M7;ome~p<3`SrB;NLO!pWsD2-$tq|q>G$+EPY?D=VxOed*c_^x zGZM-nhKtYK2%g2K!KcW^&H*@>mgj^~)v&sxoBrc@!v0i8TSVxg_8X*S>nW*5XVvca z$X63&DFX2K-n%pvuub*wWNR+QBXdPrs*Xq})PR^(TCe{zMxYyIOgm z&ypsBr!|JT$p-GvO1yMa2q&k}C(v8?KWtB?viT9TM1j36G&S$82IsBGW0$R0!uiIo zO8UCE*|4k~(>93?d?U6R?@koawaHs_UqH9clK06HF@qdNEdvP_r>9T$d##MIPpuou zw4$^9@))f$9E}d;I^^6Hn+aZ9NU5s1;G~=){}>mFq+=cRkwM@=bnf#0gc=}efIgZ_ zpsBpVe&@5yL-F!d9h>_=cbXohS~^*4(o5g%iA5QmdbjAPD!@zjLguq><=2Z^cJ z|M>NKTXmXpQTrveG#-a?!1Jb9{+9e}B$?PFaWGpkc}o(-Qpx3$DY!0i9Pe0K2fg<$ zxk0TX$fekVL)4Y%b#OvfaSK=l*NOe4vmzvwRTikVpkYK3I(%_k{g`HoF<^7sRU2wB z>LvUSeHX`E3B>HEzn%M+rU%DMUHCIfOKZIG+h}QC)>A+t^e|l+=a}Z6Dj-eyo9)Mr zkOwGl1M>q@tY%hKb%znA-$O940UTd?XIyublE(OJ0%AZ1Vm#T1+wb_GOcr;C=33+N z8FAa3vHmCVUmWWpo7}^{1Iky18Wd9zYHi)c-=PCT4nQzSB_fd7(kf^eUe&!EJ0dnT zSDVH8Sb3PUcgA)13Zw(*s36*K=qaC})#9sy1Z@pMB2Qu$p~*QWI@u|LtbT^F(%S-T z4`*k#PS~xNGgfjN!vC>f^Su(idJFX~I0dfL2BGWA7Nvc436XW|@x)zOj60;X0K}+X zk?G_sz+|hMHl6#-!_EZxv2fEnSNet6bIZy(aTq~xr&TK z@7OA$X>tXl-M(|rhOCkjP4_b+^x{x{9D`&--w+>S0u~i95d7Of^seY)nzFSkxTjp?W5*`wY88|sux*53dSR*yy_j;c| zMQEhshO;|CBOl>gF5oC5Uf94+NhHuw&LucU){X2+cEDzUv??FIhNS6wuM;fO>HxYoy*IcnbOA zOGDbImJ+W03;uMf_Dv9}>u5;$EcSs;$_{u4=k&d$N|L2BD7({rAG_mb$@RcbQG@QO ze-Ax2*XcC?*J9uDG13XKxUvnHNqQ@9fZgwJy_DW0v2U#Odzj zPkA#6_J_a#yMnSy|1Q`V9AKX-o>Ml#Gu)H$RmyYsH`gGkKTPIE0HeYeM}&KkUzB>$ zi4aH+ll8FD_*t?ii82QO?Lj1up_hHf`KIpiZgW*zcVzSi=XH*VFNxL=4nUH#sxUw* zDUXzn5qpV}LK;<<$;P~R5*m+B!RH08rTqs;e7ZDMnk$LUitc_3q5$o^4K)N<*&^r! zg#Zk+)?l*P(73C8F}Lfdv9?4kR@JdZn8}?5UV#;8R!&DSOCILjL2|f;_eSgl$SX*t zg<&9(@~@UFUeaI5r=eJ?1HBsf0(X)hsJYBqK+b1%Mrv!^wti~G4FOnDf9Jwv)7%fJ z$%L~`XB{xrj4u0F>deo#zlH_rYE0{Zrj*zI13T_kd?&Ul@ziyc+{FU?zzt-O zK1wUHqRm}6cxq8DGTgJ0&8O-mLY_#dhWNL7#*1?2lIkKG|uQvlgn zTmUvLC6G8_s357mp*Yc@y!QShxwWHGHRTs@Q59D^2j4iB`jU-?#yxFE-bbrbZVzzF zo~67M8by`YrWxh5L7=z!TSoEXN)O*xVv$f@&c!3M~V?ZDEmn$%f=d@8UA=v9|DW2v)8ITxE;+-rV9l@<)E}}w+l=kx{=}T2%PTe2(eabHdD6kf zpMXQCK=wFuiP~6oaAzszxdo;!4H6^GIia)G+`RjR%?dNDCxwp+pU4?zU*$Bv-TI?f zgeA$~e)0ra9c!C?nkpimLyhnv@`FCc;>@O@clk;v!+My{ha$8$1+DT|7sPB>xxQ+_ z*Y$JPbN;#VmB2l&g49(N!Av}dI|?=BXf#}5jUq7fSfsx*7NaYOczmxn0k4AFsLJ$3 zvKyBH8rmJS2^!eF3zM{IdMmE3(=?v0>b^1}tDJKq+z|Onj$SwlcpeHV7u^hN#5QE2 za+ipWn@>c#f?Qi7fnG_3Qw8h<;%DSgycM?A_lK^ErZ|&@ z&2Uc@*4F#r*lT!*>?mH=_k%lJin-tP2&eTlZ7;V>x+6!~4ZHy~MXVe|Vx~ZK;40)@ z46r_Fudk2BOXpDpsY~8N!m%r8f?dao0NrXeDdIZ;>wF)v1FuKG@X*{Cz#P7sc~pHU z-wQq!Mxj-?1oDBqE>#lT6(`xQ^5tY(wjvLb;P~1?aekTmt#6rqp;pe!Fx!J|VA;?h zxpG_*(iX8Ol^h+RMlN)mRzFy27Gea!WT~3ov~YJ}=Ox#)l~NyNaRE}`(w^mG1-+?X z@gA;*(9@U)D5Dd+57bZS_?)Vs=~O(flvWLzAU9Of71A|DN^+GX=d3IOXS;_{8$h;; zB(Ff5rJj01`dfLU){vV7@M+M3Nm# zev+OmQ=_*CVfyfBJM_*MfH8HV*b#3lSI?&4dg&8#OSnpU`8YrM3QxdEXM(;|797v$ z4|G40@VsP7<4({_EDuP@jdj?<3$+le4G-NBhEpHJF1|InkkQ|&3C-1O%4I!J@&wOs zc6icpPY_?u93($8Hct^XF!5pHchB6UX{jGlMwwZ8`@!CQSHXaSeC?<8#GHtKBRJGX z4TihJqg*<-LHb6tifQ8AXrIQt^gl&RC=3bZ>Rz`H4*inzl$P3Jv!2#~3MgY8Iam|U zqu*2d1yjj1Ixi_LsXJ3HWl>5;x?_?*xdgs|97TG;M#E&XsXd_CR$HE_?a=FKPxOW6 z2;mzs2L2m63H41l=-mS^Q1*Z+0%{Z>d${Uw4l&(1mHg%MK~u0HZVsIpHr=*3!-R$g z&l%sflH50SBR||AjbU;Ha-6-iv0b?4;K1-)U zfAVJJjWkm7u7dx=8`p&*s3Y0{e3KTlC&;;ED*Kh}j@9x!PIMEG*z=zI*nQF3WO}raF+dfk{MjgmLSkRvhY0kg0av{&TC-p(We#+%+Hsi3cBTGVONmlXhc+|>hlxv6qf|g<^I+4 zjXnBcU^t(o4YCI2wS&4NYZH<%4L?YfarB@~tRpww{vA9u>&a_`O`sQ>F3%_JpySe+ zY{#}_TaYsFRtx0~ z){yL{jEnj{x_RPHwlR38|BpF_j%VsI-{Vq2qVqSD%&ua_Grc``Jvh=aGuysKPSDn8 zR8yO1fB3jy`Ox21n^5C5g{!;fackVG*9i?At>e$b_sArCBe?aSmzI(q@*?_+F2P=b z3IPj!8F^D~B<@!Q`$c*pS&v`i%T{*66>u882}gUpAW^;t9fWPQ`O><(^Oa2Z`c-q( zD89IIp4vx#B+p4q=!bPk-&K%Z@Hoby2MhuK1N|5)lTJ(m)7JAM=`7}*4MTr zsuG`uPJqT^)%_cy69XCiNjX)i=eUDc&#H+%AbVlk{O`fE{5YGJR5H0r;{3!%o(6I~ z=ll41F^7DwcoE+U|IBR7Sab_Io!*p4um+$;%w&%H{vw*gS3uJ8mcI>O!Wg3O(Vm7n zTYE#(3o94)vXFvJc~!JG2{+=O>#ux|#ktCNzCI3PB?4=6+Z&5Q<@0u_VWIVTgL5PJ zn_69D5&e?z3p;ZvB5U01LFVgUz=oZIbwY-MH^p$Uv!V1S!Azxtyq^@vI%GD;&*iF9 z#Lehe!~@OsTxU*UTbv42Tk{B8xoP4W`J3@kdg!PRsp=ik#(T7hN;mly7m2Kny@<_% zYDCA-V_2B|F0O+rkPCA(W)m%l_ml|GCbamHb_m@n@WI6iZLoWI7X8DMgkqf%74VS5^Zf#ApN6B0b}M< zwVKjTq8T%>T;eQhZK9kQ;@cUk0UheM7Nxe6dilesMDYQ?q-6y2 z5OtLu#fnHnDu!O=>VZ8br{eSN70`q5K6Ji)wZoLcrF>>DH( z>JfUpdfZ=5E9n+=w{jE(4GF+VzAC+xU&90O-NZv=Z_W}PSGyYhj0QZI%VFI~j*axZ zME_-uF;%7K5~`K3W&)1l0<&A*mQZ=^GRR!i)X#)^gnsFp^hxGMttiBX2I>n!r}9Rs z&#lM6EdNx0A+-YU(3Zw!i?jC1KjZ^iaeV`tZZQhB@~)Pmy~z3ouL6|(fxwUo6W@>> z_%ZY`Q=Y}8X-o`T4O_yn#6Ro|^0oc3bF&e!HfR;C2cg<{qnPs$9B?A*ZFjQ%hF4N) z1hjCFy%s;uel_lloFlGwbkrT|5`vh0P;pA?KXSrG;uu(6$<2!~^pCeHF!X z(4a9E^7xbugh6`sId3C9cwP}N2O7@&HW#ALuyA(ja;H`H*!%wH3EFTNd$)bm6KR+lK8Q0Q8HCcn17E%w^~*4H%phBxH?5#38WNE|30XCzQHaHne&T7&-|_BpF6 zM+-0Azl8tfc62@Tg|Uzxl(H}RuIGE|oK)1aC{;@7s7yd#BfxJWX;=@(sJM~PdUQG- zrku)1aks=e=B6gR4_|?vA_rv;p$E{1{HttZk)JAMb!7{geo`a$U(Zl@6B8gClRJ=( z@cOs|cvoyq`fWHpZZNh6VuS<;xXhiX(tJTDkWM%8eZE4hMev$@3G}4yOJ3<3Gz+fe z2HVPDcd`?(?45#NaD8n{d^P2@nbpen=ALUOn2BT?tvtC8yJ2QddP>F$Tf zpQuJ)iveo|WhzI#fZjS;u7_|Hj@SM2FV{-ppzj1a#XUryEsua(@^9oU_iF!p{s^8P zoCA-GIN|L^jssKe^Ff=kUup<4MxV0gl9cvJEdlqHXY2Q+iS8t+g+rn-qR_XH_!-qo zDvxf5PJ?z^GFjT(&m6xbl*n)a?BBIX4Fwf zi<}wp)1~o*pRGhv^peCTiLz%z^3Y^c>MUP_uS%ETOOO}6jmC0i$qn{GX?NUa_a$FR zWCNTNc#g!Co+vn>wD_B9FZ_qyt2I*GfZ5hXVWe2@uDU4D+J%yp`Q}oFY?rD6|IHG! zjnY4TIo1z2(+#ww*M`H+f8o~93nT&ZNQRul@%l&glgJ63`1CRjrH>g`$SIO@8S7n) z-t|}3;_;8Ra>mg>U9p{}*~0w~sOXG%;xcm{+XRRV=a+siJ61{c_L9ToaBMP|O~rtD z!36hvv=THva6rghp`qW&EHX>%Ks>@u$!mg(g428~)GjOK|2YrHF6%8d5Z`Br1_m}; z4~?$o27Qfj%&H|R6F%y##1Yv+D^;!}%qCpmj=H}@ zPiOCvgM+g4mwQF#ZJ`vF?I7&$;7#EEco?Z@FH%u$A@H5s#p~i&twMZBdmXX~HWb~P zP}a7~J%ewrPSWlMfwzvI2CeXIg3e)&q>^eg=mmXLnMZ!1rl=B$lcUOf!wb;?kxR+( zL`(k?Bywd}K0hu4rR`3sf80f^7`+ZK0V+i{Bc2(v_%rdD#$LUHw;eJEdW=%&ZMYs@ z8LvX1;wES@|3OU^%PXf9BUnS3h%|=M(Ep+N;@G&p?(q=HtHwk@%4@YcLR*mcHvbkn zbJ<|whS4;XCf_j)iP7;AOY&LdLuY$mCAkJv+kZxW>K3xw zVHDniQeCawKfTw8)1u|Cs6+#EYis^CF_>BFen50Uzrk(EMsz8z3)O+y9cQQiB6H;$ zxqv!gues#7GSJpL=b3Q=D+_X3@j2}xs>r>iKJKw_A%2U8sm%(ay=E>$lgUqXJ3Jr% zE8d`HkXLNr1nxZsYI?VF`WbEIO&LX6I>_hmcGpLb^M}=H&=2FibynVEEY14~Qad^R zvsxMXSX`8=Dtun5jC?{L6U*^f>MA*f=|z9TnnDpsnNov;*~nM?uzMYu0|&5!j?R%M z+`UCnDU17J8Y=aW1NgtR8mzst-v>`5r8s=r|b@+{PIl$9fk7xTC ztSNYZ@qugcH-*RKbn1w!jyv9+gjT~`WjAW)0#WvV6gYdgw1fL3J(PL{@2d^u5l}5c z$$1C(;qTGjF$btq{@vQY%n0zk+8Db~oXZVEZ;18Hj1|-Lnp$Nk5^9g;+h2<-pm=nh z;(+!`7p2?rANAJCO>~X9R_aL(BDUgfz|W{R`od*+A$%Yy$u_xkL=UNa?rdn5@E)Fq zR#6Tuyo-lxGyLUHubk;p(U7YJCmN06eyXgqYDxK@V5jV1_|~!`b8Aoy|;rum`FCG>T6g1O4N0& zyU-gQp?=bu$u;@;@m$~s(iq#yLueI{RIaNnfkxR#a4xQl_CR#Bbucq-x0r;j_Lhc9 z)9)S6;(t&($W3H_yyk);$L`$S?k#XXv>~;U8V%P#(;eyBRx!rv5L!ZSqzbt1_$7NC zJcf7|kHC$v?f3|MH}pNOQdCin8rw}OZNBDvl81vQ;7nww%L_;1*RX?pF>eRXA=Cs0 z+jxH~Zi(E~RShdAwfFkn_0T4AacvP=BsI;LoxaYft{%;uUuj9? zK4Qc30O!ChaVI_--hd5um6gs$U&!7oH{^Rc{z$3Xtu%Mo5+OvofM2I2c36my%eTW~ zEA1IFW7RTZv*xu%>YqZD3yMNEqPL@aV24)L>WcnaQp`@!$yg>fkqF2)_1S6`hpMHu zi4tX$Gd>13vDMk?z>zADHN@Ahf#_AMiuMYt5Im1{6N2Ol`ja?Z$WcBkmn<~2Hm{ER z6TXMJkbBInktg_(h=Z)AY|)dfC-hT~mo4(lOdgkf4jaETg6zYzQg0e2wL7Pqx>xzW zjFXRw4^bcFlqZl3IU793HV|>zB&lcI5eQ?avNwqV)KL164kmnlFMoF`O-nzW4d@LX{tstLAK}4RGTre}VA9;iga>SAA znBHtE{XM!9zR+pYe+YvKmI?&(WXpd``D)!*L%CkYA0}TCCn!dzRK; zT9M7s-QfcKCAE`?q84HXbs@U4`XAI%qM_paNwCX`w(5}y493nxJsJITI&;~fbD`-{ zS*s_Qb-UoX(l-2}ZMka%*@JnF)!w$P=OIHqd}pb*;xL9RFE#CU&#i*ayyrN59ahuJpEXZ z942#+eYPIK`A`LGb$(IkGu8!~4Fj<@Ihwo*UnZYZELtUYn_E!_Xp(lgSSx!ZaM$z! z3@c6=9o3uUw5?XYxe)lV{N}mvx}nvfOPI|QN$coNY7{wvdd_69y|sa%+)xYg>av@G z7Q)|TLwgUp4qKIeyJR2)XUUn!;>c^)=|91 zXl-742c=JxlQ=|gpr&Hy=}nZKQhjCdr$(ajm-#6yme>kdQD*`*T<4Sst~>hO{hr(A zXz899|HBpw=g^yxR+?;{4aEYlI*zuAk&)rVVr7;dtsN3RNpZkbbWZx>yQzLu7KzDn z8{@6Z&z5xPkkZ?mRNlL{};wz}0gb3!;!`&r3C<^HnL2fEcSG);i zC$w!|W-{1}~RLe`~DAbgs>^J-b?uH8ny`av*7bzUvaNk=8gIkaW z=nr*?MjMOmqtut0%l8mo&fV5-aW$pyW+&r@=_0E#BbesCaPcixRw`@smGaPD)JG|W zSeyIV%jOh{LzD<$aNlj(#3QS&Nbli$W*_}9a4PwfX5k-#MUHgpwmbsgC6qCr8tVaT zb&jL>RcVT#a_ zyg`>{SY~MAX1Xl!0z1jqxGk}sXEiz$IK@h5`_uAd2_C@AAtM0M=qPg*OL0$jeFxd0 z>-hX&3NaF{p>|O|2Dj>^&HLt24##(h@&1>$|+%l{jL1YdrXQD2dHJld$<#Q zP4;1ZOuE}gRm56=_h&zJy%fv82=?cf`T7J`=>JGvz%7+cwt1R?sdY7Li+i0k2(WyM zm@3R=M+Gp2dt%>iy)*i`o9mHUeZEytl=?BGCz?O6!pTd1`+@tC%7lcoA$(%a= z9qODIAGHeY3C!1n$ytFSwLISlJwx-JBqyw`fTmhI3x5~v;QA`Zx$W>l?(N9FT+`C zsp927ke`9~tRq)3t{&R+|fbMU9GvCONSG!N!LdH>G+>HnHR|5DxW+Mxg^Eqd|gXEW#%3P!- zQ)`)P>^Aa0_7_OY4r10(q&_mA${Sv0pR`+>Nq0;hoHz}+&9zC`=BTA7NpFyn(sX4! zIf4qO))IyKM`4+=A3Wy=M}8s0=!^Px6<@VRJ0dIwx#u#D1TD&42F%y*Va>^jpbOU4 z^(&?annaz#eg)>k50+5AaCx#cfG@7ykc7zAK^K1<>k#Oldq!+5ELQhe+bu;en-+A( z5<_gJdqYONR!#4vUI1>40lMKhD|SXZQnjKkz|nM1a(?sH9}?Cs(>if6S+teR8`DD>tty_AX+7+*;{f;GmF7b z6-7AUuZ3++-=vcTSMq^=!1F&A@Tij3BvyqsM%@w*D$n^x+I*-9F$)vL2^z@7Lbddx zrA@3GzJSV5Td03D!{0z&FKzS-7$zb5VPI8kksVJoBAn_-EmJ;>;*qRvsl!elC3c}( z@IF*Ys1GD#t$>TD2Dy%&PlB$mP{!VT`C)0NmTbK-euD)5OgSw0IHRO~U%O&PXS73C zEG3ER63Ybl2}meY9r!GNS^psiuOg)-X9+%{Dfhx)BfB7jr}H zX^9>{H6hj_jcAP9A$8AP0ok10Q8~9#*va@#(WJkwa*~U7_r)8EAGG<3s2#~kmv@m5 z@i1WHv|F46SZCU5bsX9!=c}!@ud_Bvd#|(HBtSVIC(n~B8;#6edNCcGkyh%qGx+~+ znp$HD`cnIBR#YBETlyJAg)#vb`7X92pf7!fXF_50{VXcS)y9XG07vHf{MyzfJP&MR zc48cTgY+oF)jgSCksAoJtT$DXEzL|P2I13*#bHCFaN`RWqGhBzeV2}Bz9dW|`a9#% zd&CFOabxAb9eb4thHktPmPy^TAo+zjg`UDp+4?1EhnVE}2KcYP6q|-h%}O0`uNTfb z{f^?`jU-CMtWI1&Y}-g}>Cz;Pz7$a5%<;Zeurs5*BcKj4Snk?uyf zv5x?a>2}Z=S8efcelvk%!(6w$*-$x@6jr--;K}58%2el>%`D!G&g&EU%w&?sxy#ri z@+i|;9L>z20^$&DhgO7H)Y;%f(hk0%r=&qf3w19(0vn6CT-TW4gg>hSS((h09%);Q zEn<_XSmh7=jQodc#TN+UBJ+R)alaW4en!*r%Q2_C1LcQV3c3q9Q92Csc@aLS+KjGt zfvktb;3JVF_Z4h`_h0{FkPDklCCA-QoSRqzZ$K>fEHylZWeVm>6ToM+gucL7 zk>o4%o4q#rFZ7tcLzh=!HBma8bJ|hL@e@1;SZ$vKYe%Gs_Dw>=?2f=@`yU$3{`TBr z|AtVx0q7Ftn1~r}JTd^ESl;cJD>kD;p01t>>Uxn;cWZUbHHPq0Q zpZZ1dm^e3BJ?FGGAvDIy^TJw9b3L1s+{JU*AJ4m>WV4-BNxL1YRL~+HFgnb`W@&Y+ z(!m04Vrn^hgX@Isj=V)Cuz6%dVjq2y%tl5NvBdw-SJDlrD5Hxq0+_op6)LVV5)-`Z z`-IN6=b{W2U=PzP`Eyutcbah0{L4%zwpl;L|M1-fewxYt-dLtoJa7vb)ml=n#3r7K z)M~b)N6WVCwT1gixWOC0(a!WldPZLMdTX|PNmZk`)!XeS6y>|WrXU-jF&k!71h;@Yb zk>6aMg*B_*2b@~C6!PzIjm}O5l+FQcE8(Z!AGlziYF!OXM5X(p6^PC{Cg_eNd_C2V z69TRHmBcdsoH!zSK)@yELIL@4dX^ezb+=T@9cpj2wzrZ#QRnfodZDofX=|pd3*-Ld zdO_P!uW~wLHyG#CQ^H(%fL`8OnhIr64&Sg9lduV{iOP3nwY1SJG6?pIr<&&)@r0a# zKf%9vDtV?*X`mtUHMqmQ%JEQ~DS4bFKz=foKR`~RzEO{a;-M+(IQ+h}5AU3NmmEsB z)AoSBOAyCM9n=RI^W5FgA%GXwxJ*xY4zVA4x^fO0n_H30^4#$hfsDsgy-RwUF;0o4 z>ry+(l5$HO;#>Izm63Y5`w-Qff74+}AJ~uCcaeU`M8_6&s+g$_H7Dy0u!BlPb&qQW zTEJhWizl9CJ0iijQI2;=3D8Jr0&JnbN!k^Q6;V0Z6tuf5(_RrwlPkcFsJ-k-d5#jF zdqLW-wKXmWn&>y=TzV@@d5TE4XFs`4DbLT#jTfqhc(acy0AaGKFX?xF6??VI_x_k;*Vd*G7R1D6|u=u0H+zfSq^T4YCP z9c(68)H)o?`GyegLf;Sa3dXqqkYnvv#Tx8stb`Utq$74dUHz`U48q!WEe-xhSg%ge zVhcLue>STXZZEuG)nEO0A*q(v<{QtzysV)L%WJWQ>I3zE;QKh1?_#ykD{-W`8kpT< z^0KTK)^^aOD4usD|6Bflx=$_+mABsL>+$f=Nx&xV0-bae^MAFOSdL>Lxd*N#xY4HW zJs>&sXA$ZAKZ?#Wu!>_1!#GKZ=jiIJoRi=#E$;4Kthf{}F2yY*M2_xRo3)b!D-K0l zTnhz?Q@luVckbL@{Yy#Mnfbo=eVzrmcUKl?LV&|8UCzh^4wkBqfk9|$lo$h5Ro#bwciH{~u+k?rA@yhOgL?*F2VHmO@EHHKl z+UvuiFZUYa*H5B)fZ0?M*%QdrZt@_x&2dC4Zxos>)VFFk>7CM0o(fxn*VITxNBQiU zd~o{Ut#;3%BF za5kG9P~wvk1tlGOf_U0(u>yod4EGV-13c^Fi!+j^fS-(LFPBhDeN=Qt!BVV|JR^88 zz^J&hwpuE?f5IuVhd$9f;CtYQ@;ZIF^s~NH?||;*e&l)DW zDb&+*%!K$YayK-^Zf}XGmEN@A10q=aqE2gZI2^x5>EP~4x=T+%+o&CEg=np)-5P0i zE2>v`*%FFM6>V|7$-aeVa;NYUt~>Gj&`o=>nxQR09rybBU9G)FC=vN;=mBKa)mT(~ z<7<*SQr#+Sa^GY#*q7`;R%DcgIj+&f%*bnlFh}No(KqSkQG)$~`3UbojiSy{W5{3F z0(T{RIF+c=#yNeEvMHRdmJ&8oHI;LL{xDu@1c$HEAS1B~oi%AmJRiq?Nl8GvX1MZ6 zFoL{11<9?cpQ!4d@}9Xs;%9raNy_m9Qw|JZ3;5aK0Q;2V_@9tlobh~1-;w^A+3k7Z zZ6TBhmvq?iA#4MF7q`vZ!9%;&PCJB-8o!}#Rag`NWg&(keN{*B75Iya^7#rO~ zt!CXZC#7|YKC}k;^UMM(Q5~Siq83EDc^g`?sr3-nkZ<`Ez5=nyvzIem&zy2fXYiPR z=1E}Jdvd)_{t@>*|EIFuxtA=Vb%96Jw#rGfp*fNspVr3piyRkPud#3>V$y$#^a1^u z(>95!fRAyz18eE!_ByTtpykhWyl1v1v-W!_bEM{KRb>slXHL`m!-fW9o>K>y)6u;g z{qW6~=x(tdmWy`-SIVWdS;SyhJz_j@(G{vw-=Fzr{8r z!oGgtW=uTt9i=kQbE|R7l67eic8#6oZNdCQL4Z8EXfN;q36I~S*U`vOBf2zIUfv$w z;OiX94Adgah5ySPg1rs*ky42Yk(1&8<%?}SGacIwv)>5bYxxz(GdP`ec2HUMxx}+88Y?8d{hWQ;+!pYe41m?@-$FF#j2m zTq*(we~!%}uao;7Lmf)m5vja9ODGX{Hga5O?L5RxcPHoutcPakA+<7^ztu7FjF})= zT%>HI?aGZXB75L#>?gEwMh%p`;Eg%@L&S`ErPU(#A)Ti;?U>^%k%PZdnu!Cb_v|aC zPefYM4KZHoD(~Sae{aVC8jE-&!d5|8=os$*!`T5*(*5>T#CGz%f3ol`@`!ODhJHWb z@Em7)#7}npo_Y*@9qWQ`oXZ1whMC~4;`xrg$tIC1KiPZP^Mc!yZh0HSq3Um|9N5WZ z57oxa5E$Ds%e}B53#Zk=k>jL+IWdthYtfG?SK)l{-o8gN?DcF zAJJC-C9~L5#$(YPmL9|uteJXRX_3>KiX|JkKiO6#^$|M4@p?6dK$(C>*gozklakw> z5?sg0Ianp825>S>xmv)*a9|hRoF3CT zPacy$q2$d#cXu))&x9%Rui;P0N5$V$zS`4PT@kt5P2nEIQaK?|8;k;1Nd>Is&+!i8 z8v5IRMg9)si50M7bdbJL%ZDd|c>qqX+8y3A-~2tv)Qa`PXoSmJw< z6Se;&cg}wwj;Qkj1Hdz;G}D0o;Bk0%$a$!hb6fe-7@}7T2Zf4(JFc9(S(uzumu}?x z5^G1lU8Afs)-97WZ&*i+S!54kt#haLU-F@dTi(jda>l1^v3GS0!JCj>$%SMWd_ewW zcSm|9*qKz?G1zqko${?qcvIF>%}6b>#`Z1igVZ%8FF9TOQGBW_3^RI1)u(sRKcG49 z2Cc1jPn;o)^`Fa6a@TN`o?kz3J+KWmI^#U&c`L)pSjPS4>E-Pb{u0bki47&QrHNS}aZ zT#Po|ybeD|cJm%g*VZD+KWUqZ2ka95%5j*S7^sxs%}#$*=V_@`*0UKCp}|CzMo|iJ9_$N_FW^2M(^$2PG7i3?Ec@B{h-}-jAib zdy!kXH1ZSu5;abj$V-%=N^7jIbYI>?E_Kfc&mipBJA4{Zkx%0Wr*x$g>6U0#HjU3^ zhIndwi*ak%4y;8YKB2#XGnc55w>0Fm4NW?bCgoKM_r(WEQ|%R`KY|CO>L^wCnLop= z@q|3Hsn^U%{usGYTkD93ugyKe4Cyzuj$oyE#r?t6N>jK{Zm4xuBVu!HBXZ^Ra*xZF zLus}|;W=JEX<*DD?+k8{7CS=J3D;Nw{44-Cs>Ll@+4w8QZK&^J&B-24}looEt z4FNZ8C*zhbxlA>SypNc+*UJw}Zuv~AiO(f>kzwX9@^_SM`%gMW-H zZxh*z(s4!1tfS13PB}=4O`hiJ<4%*y=l3MWOQVIFVI1CDzMU>`Uvu@gPp1~H{0opA zfgJUlxshNNd79hFK%q04?&=O}XdMg}x54Q_DG=MJ8>EHG0AnXCrEfL~bH7m9 zcm~UAzv?x$YP5#VyT;sPbnaYc3P3CFrF<&#HGCHANAsc`c|)BoU3WokW(la}+GHCj zK8?#1*CXcISaF+NQNM09G)qY(@EggM(n>k|l9kA0d<<2__D=X6+T@nZ6?P5*_~!f# zL}*X&>^I(ND-ql0W^_@(_hxJBfi(&3%WBf+zzGlFGr3EA5r245Fp?l16A#<&A+z%` ziZAaG z`YymJYoSB$V{FoFMrHjru?Q@~2celvT{lM7V7D^ks0C~?(}Fq89|eVAJ<|n*+%h*6 zOyUn@%ue6VzQ~A2x35*fk#a3#w0>G&YmAAytt9Se)Ua#qN+DV70e#dRoBJM1S4qt) z-9=x?TS_I={4L|EB^Sbdt|Rss@`*f%y1=fAJQN=Y`ymgPYU4!%ePJ3B*B5k@Wc?5L zR^O?u)^4H1cYD)qjJ8G>_zRwETcbOzv*K$hY})||qmJHLUaC}7TckuC6Cz!dhsHdO zkh(^m1&@R2Y%HI^PC>TuZuBH}Ef^=agRkU^t^`EMX&Eu#RQYGLWAcc5QuoMS@e^|& z^kZ5EhbG4_2Iv8wy_*C z%9ikw$ZzhED1+bEzJ%@$u)uU}hu%(ZtaZ^=ONIItv=KUQXi5odc)<*7uJO_O+3HMJ z<3sFs>=eWzTLxBhebB9FDO-cuN1tK8fH|NaF+(`0kFxey7xgBE?+P$$RAIxy{lrw) zpQPK-m#$AOl_m%YidSz7s~hF?oG?TLi&ZdH)rnW`%>)^FC+DgY)EoLElX4xv19W?0 zAt&*NxavS>%1W8~7JY%f+ww+fXp3GpA8AEGM!1u1sOef`xdQr`+@@dQ&8ZsbhTvnm zQZJb4NTQp`H>V%*!St5tgFqzxk!Oj^ZOnwM*{o=1!BKro;faC@$_HUoUX`53iD%@a zU_Cb85oHpQYwsd+)>Fq*kqLRjo>!qk&ef64uz28=v?a$Knj^jC*YLFWoHyNzl9q^_ zbe`QWyi!(4FA$X`L(G;J2fL)TrAR z5u>>ASY5RBdqB5v#HF;Rnuj}xQ&d3zg%8C$kyn{J%zBh*na}KS#Ss^X4z{CsThIjM zh%uBwoq{F_NAc<0TDEP(AGaG{L$Yb=g&-4J81%2& zA4d7R{KHCD_&YLR-PJb0M*agT>MG~~>w?)w*boXU`}1F=HBuHuo|B2vBz=Ka&-~3i z7S*FQqPq$k6(+K2Oc(9|zm9`^FaA0|f&ZcfQJeF+e&6b4)i-vauFnSc3%>x-ES_^8 zncu`&ebFRN#uH#>}7$T!s5 z*fPL$MV2xHrgUT3EVt=C8+Mc#O4wzOct5xmHmoi65}wNqWFOVV_8u%Jrh}zy3%&_I zh)(ua^N>r=7N0M5fLEjhWu*38d#~SNmoPc5l3a7@x>%pO5r0$fV#Et|QBQi1gj@B^ zt%0#-Hgabl1+749Hb}Q7+BzCgJES?%JJj(Tp`VbxmwqsQi8PW=!Yatov`i_V_Cs#2 zn-vbbc7Tb@AUB87)I;NAiRF$Li1a&1yNtd?N299#pY_>%X-z8ZP*}|Tsjx?MpjK$j z*Kt@^+iNh=GU1YztZ|ydTnFCz1Nj3`%WbRh2OKQEfjRO^DOp&rjM3YghoOPCqm$IC zW^FT5jx+y&CU&}9@se}Id_>p_+AFTQ5?4WZDJ_$lqFhiPCJ*tQWMhJvRG1%aY|G)U zQ+FM$m@8DLrR!Z+LifoB+J^{osVuT=4p*Jb0LSU8OuzKu>Cf@WUavRP-$0uU zm)dqiCvtSYmgC`+r17APYv-ygD$e%K?g;ls+1DLtO5BSSzz#z2_p>z#cN1?r???l+ zG^@z^PrI$%H7+Og!S@QUbNae$R3U}4#h9Pmapd0AauG99BXYyo0dMLSVzvFv4+7tC zogN&X$XIk&^DncU*&JPa|1@723yc^m-Cc%vc-|{R=o;JvTX_(J}o?3 z2oYEF?}8V~X}MD*MxeA>k~4d*>#Ou*?Df>wwi&B#u~>FH|L-aPg%jw1!09xg=7;L* zMX)vE0336#qgseZ)a4Gl=#`VSD(VWH4k^0SrU7J4K&S=%d<;!M4V(m-r1 z_E9=AA+{e|n)#bs$nPefFH$TfssSnOZ}iWFzhzd z_3RZT&}8?N_$_S$m?Y#OE=^T(aJVKMDHCXlovjx)JyzwIk%3*IHna=f?`9y&p#v+X z7>FS8u#6C{0k>lw&5{p=e|B%Rbu>F@K64&=aZfR`(^jTzPc0j~M~?uNh*O9q6i?ex zbM#Yioc&N}F>{J5Vm_#(+>c1tkLmj)r`iYEfxo9Vu$Q?jOci?f7C7O2)w0*KK zrfU_GY@MZaemFl6rbPDT4pD*G*DB+jP1eBH;zy~rJVRUjG?e3rpr2%)RW0B}R|Rb~ z^h;%256EA!M(7N^&Q#?!56@nKv$O%yBJHH{#!%!Ta%YW?tPU-bWVw!3C-N!SONmH# z5D{@L*<8rf4r^Q02?nd*W7-nMm|UODoYi1(KPoNVl>z*ffQPUPr2VYY5QP&8QC`FF-US!A7A3eqRj>uZIkNUzC zG8Fj}I0z`BnNmeRqz^@N^CMa)aGc!_T;ZEAOFSxWHjY3N7AkYZE$nzi#T@S4n=vLM z1VY|79*>VkzYdR6CzET*HujCAi`?cci#Y1K(3%@cwh7LX-bnY+$^C?VP3+*u(XVug^(JoP!T-wn9qNzGa0h^2$!3sg4Kgqln*WfQp&fOIc3!Q8+_xvF>r z*LdelC3e3UH@ zoaxz~Vgbopn?FMI6ragi!eHwc<4w#w^NMi~cGt!llXRlM8SSX)1^2DV;j$KB1HHMhY+qu?CChM@5byUE*lP5`==RP-q5IH*^Nt#N}V6I?g`4~QI z>&`u8_fQ($+b)aUHB%m^^wF}FY-tKrEdD$*7@4%bG9}RD>S(a5w!@4!Q=^YiZ?P)E zaLowy(e$9D`pkc?2pmc~*{jLYY|bpOva-6fy;V-teCCyz%_!>Fjl~N7!9_FVgKk zj17l<%`(PTI0wBlwx`6nXE+bxy{Y=*Z2xojzeIn}OHVCtk@t5`$oq|t^{nE11*?YE z*;~nZ_(E4ak>cIO+hD$qd>F=L^!5Hrccc|4dUym)pcemp<^Z)quFMT*LE2IL3HcNs zM|^gyV%zcAe7Ter(hu@8wm*rHJ^8`tTyU#(ax=qih`^F0+FY4=_0h*|b=0RtSs&!Ll!H7%NQ7SFy(-{xIBp?q^pk92mGCkyEg?h8TH z^_(7nzUM87C^?sEW37uy)-n7_K(ZAuBfJt*5a8=XxME|7P++`?7Ui0fn$vDMQ$V}&XkQ;Ws_?<9R7ou=j0mNUGtq4Wa_i&Y@W2oDG@$mQ))%f zAv{S*hx3)Owwdv#!X6M4ejn}_UIIDtAmR^D)UI%iq~7utr97;xt&Y@FZ;DefZ)g|n zYqd8_VSVr?TW@#_UR1`BTLM?}6O(Jm4KY7JQXboJ`VL)>`J@$@i_9vBp4-ZpEtHHL z3RNavN2cL^p}p!4^(R|{WuSG|HnKokXHJQxL_eo>2mM%Fe5_6gw^}(8cn~4#KYf=u zB-|!aQ?@(nxPJ(_0{gXbO1W|i==OM7;u-agToO408*4XYD*WD;rtl`D1GiioGhZseK+O?74ds~^%TMHn$}{5)YBJu=XV6QzfiX~j zuB}Hu(@pB`yhveY~m7MDY_^6t65}rHy$X( zNdl$+;+W@5gVag1kA3WZ3APb?kx{X|W)d1!N%Aw-$v)Ix^=d+OQGov{f2kg@m$&m% zxZC_{Z&O$oR)igWUamGMt$v4WDf5^Vw5fmP+zRU`t5ENzv60}s;>-&d$d{}IW`Cx% zht2pG&!@W3EXcB#A=>%+tMz1?Yli@piLR~M)5rz1pJ~Drr_%5V?$%fl*bfr1WOu+1YdztLGno2A@ zCA1-L1nPuW%GK3!&hylTMJEDxjT34^RI%xyx=KDyxDq)-Ze@MMwBRUv8ANaF=ve75 z$&6$l)0e4DL<~8_^#oZGUTF?3$w+dQ)=q0()Ft`Hl}hYa&kvsZ%n;@@JCKX;Gx!|z z9rxK;SDtNWURgu{8_Gz4cH@JB2L_ID4b4!X~HJnS~1baolSO)RDg zKh3fKmSc%-}_7==!PoifA z2T)(~BYH7))B@IbQ9fERS5%&c-@E??NlbsZSluG&*c10G`d6}_BgKs}4TuDiAlDQc zNMFbagbTd%d9(w{8@dehE3-Xuh!(H@ykdxWCm{~(ahGBLAnmSWQZMs7O8PZ4u1INm zKk^cIM~!sPVhHe;USw`D^FrSdZHNRg)zg&!Sszunq)=7H3U8bTjT=!AZ5dfkRmStf zzCiiNxA;8lj(vTkOQ>6TBfgE0$ZO;!)Jl0xEk}ICb#Q~ED!cXFax*E5IKo!pYilxO zjAce#bhS0tSzQ{B8ctP|8=*#0uC>lQKzw3qa(9DQ)GFHgNS(aD0!zaQniI|sT_dxZ zGom1z4G%-_pKbb-$oR-E@i5v^onn?^d!+ZNN8w@RqMQ!6ROGq-Oaf!3=Ux`J2yNK%u4{NZ`U7YJ z?vu~3uH+x=7HTE^gZ2>3oGW3im{{U{~ZPhutD226?BFRhw zn`sf8WvcK#+xSQo`%cWB`$K9;rWr956fPfxHFu>jPt*$jAp4d5n=em);QBJ(s0tu~ zdLm{OxGn7ebOmaH^jcU5Zi_lKj*gSkG$@KTofTOtwylznJT~L#a&VR!F*}$|kaeH{ zwiWYS+d*q!ZZPuQ}Ft2PiE zDf9^ansWlKiJpj7#lr3-QjaCxlw`*b-fJ0kJ=fuN^`0~Woi3HxkKt6a2U1qO2s|vu z2&>c~LT5L(s2Q;$^-m&m1zYZNU@D0lY1TOSA}l(m6E-xN>#In7Gxu$%7(IKG;wOk(t zGZ8s@3pfiK2XD!5LiHk<(pT4V<}=eaGMtQ}Y)*T+A2_8RGHw|QK)JLBgd7;6OozAe zV)6*_A+?dcN3E6+*$eZ*;xMQ^4sWC+a&qK0dVvLmGK2>Ym8*?c$e$iQhqyG)6rf>Z zE%7huUUm&IgsIBa$WNjEpnh|`k$w`+U{9GU>?O4GpRJVFgGP~2CbTR=^7Bcl#H zzUZ~l+N?reqX;s_U($6_>}QOQ{uo^bGMHU}mcPjVXsvvess7|3I8-W!3@59jg4LRR z>S^yeh7Z8b((@O5gZB-At?g~?@yPZ3nQ~|OA8Eg`%oPZaB!;`zMLrT`xWVXj`9=K3 zo&hi5L#>UOYn0ZG>Sfhu_yb}#?qO5NkyJx&7q~A?Dg4cv3pj5+FW4#}E@(V8gX_W= z&RBh=76p^R8uBx2Yu-WglM9NK^P_7f@}G3pz7LKQanofBE-J4Ky#{)qeF zHEpQ2g!`Bg&e$h>!fUS_3Lbk7@nyn4h$P%*VqMTR(!`aDv0xsDnrk3jB<=bp!4sOmx+ww1^zZP>O)%9dT|EK}xQpr$OUGP4NX z*G905Vynv}+$)U0j=}R-jnEFlIs0d2Sz$17h@S|QqDK8HX z%mQM9SH+YksY_kwv2_INyM~NGvwXvIi^!7No$!Oak&6cf>*1S;i#C(l&wtM^3O$is z%L^jijm1W{;4Jlb`M-qchb#yL#>+QRdv}c477Gz2g{CR@Yz{m-a)Nq> zdifuv+Ug5&5^BCIw-x4mOP-?rjM7ansm0_SIz#TEu^M{Oc?NqXI<~=3q%XXw_0{qn zg&2ulbpPyXZ!3n9)7OZR_5|)Y|EsyxY;U&K(zR`xk-86V)P^IE;$;Tnjqv%7gV}Y3 zquNK*S}Mg;2Zi@8AYTB?!x$s?THqDY7l2&Q?+9>Icy|+9}Yh<1? zH=(>k!6V`!qLF>JvyUS#ah`v_uwD8p)ABv) zYSQU zEkjwUy^x!by@~at!T0s__B7E-T1~8s;8oF!aj=o~NZTq_Gdr54aW5Ck77AJ6RsM0S z%4%KV($GY0fwrBA;eEVQX`t8Bo>3U-Aa+SM_y+b3w+yU6E!gLwc4Vym5m}zHxir;C zc_)p)7G+K)s}SdtMPfHf*i}MZ#!1pVzKl1A57_^RbVLrjY?NUuaz9SaO8pQ2HIgQj zR(@6EjgiDSW*YcWn_xCJAJ`5NwaLcL28v6Z0j5$8#uh&_dp7Cx^~7r8mm|>7sTs>!O)BW09Yma%yc^i&{6@`QO{ggowJzPfZ>`x`K zgI}e~;RX^WR9(s7iE6r-0%hiB{uMP0wF381ONf!+XSsuV+=%G3Ikg}!+SS-qP`&VM zpaSyooGiwf&D1~bE2T=dtFBO_w0t_{ymCdPL#O1W@OC88vzHyu7RxB%>B8>yfnNd}N1YC|-@e!smEKFx5QwJ!P2Hp0}Pa^7VYw zepR!Ag;W)j)~CajD7W+h@dLi49Lww%>h1m#ddobZJEJZ1PHZSyQAjf?Xh~>d5RbYU z-91aV#{68bJzbRQWc{mhX27g$-Z5hefVqQMR4i<#rI`sEL`^sSdeM56HvFK5}QoGx(6TOzLBFRj+CPYEFF{^k^52Hu_ofRdlSCff^%y zL|m|71O1z_#Q4ixmt9j6lu6_evcN@y4`@cck)6gp=Q;#-lkrp&*ic^!mr0+^l}2Cs ztu0~64vEMbi64o43g;-t5k0$3xR*37?`>Wv-FW#k>QblH)rV+T^AGj zy6<4qyl(!6yB;Ti`?;UMT;^b2Bd|GMGsmHpV{@h@*@SRVimf4gjvR4*aGkqIR!5Peop=w^&0l@CtO=WJ^Yuv0orjbLoBXs z)GMmBkZbLpJDA+YKA7le^pftmqvAsWrQ%VJ?ITL(Pu061ZqGce8MPa%;rG)ATr)rg zP#@>X7WRYWVxooIM*A%8%sVV!a5W=7M-pK(a=tmre;RLWV8NPFx~~LvTT8Mk8|Tz! zMiV^|3?;4;37)&<%VjKKe#*%AzC~^k8#n}xqHSh2Q=`^buZ$P4<@KF{4}btA(4M=+$V@+;0_HYs6aS z1hWu1WL-vq&;n8Y5`ach=u3ez)sCo+ z5>*d#A5u4&!SG-Et+Wt6NBI+OP#(BCYxlB6Vh+0i|5q#mACd8{A##tMbk z%oDyc-j2P;w2-#J--G1}`V?*{bQZ2D+FazqOpJA|B-W7_Rm;~XuVSQLS~J!|QOsIC zg?Y}l;;L}7Kq-18+Z$-!8N5l>0ySwnJ_S5;Ph`6zI(-qi!?fo5^BCU;{Xb0fLQfgg zyIjQH$n6yr@Jz|3>@BwnHbL9Q%#<;SgR^F1gK!IVJEtb?remmI$b9;%QXAV&cCrug z7l&<7I_`*+C|j=8epwc!L}-(m5Y>Z0d5hx*VH|QGsmcb=D=(ALJpERNRNmm{Wt7Y~ z3Qs6Lw2$m>4$^0bb)}}VCl`ezthDHbBChDX7A?3IrSOJyfd0k3Fvv^Ih}p^v)s0BL zwEO`_jt<`emtRT_z9xII2iPv2h8e%5?*&!8ANl_BA>ojEN@2>jE%ldr-2FRN7>-Sg zMPNkgk zi`60e4ce{PXuQs9bzucH-`J;hOa3g64BtbH(7tema$D*KJ1-rFadImv5B=8u&NcQ9 z<||P#D23Qul3*j)g}~Cb$4>_wq0&vjFWrB7ll)88IJOq)o2{0CHv4D zoom5UrX2T;p*)j3iJai6%g?c2mG3AC^!ND=;+;S0EWpNtQG7nrjTq+ik!9S|rSY~^ z?s{Mkx!xvHhTtR1iMy0s{EIM1sv!+S%-x~#)vyIC1fJx2oE49KSXHIJ*za)n z8M(L#FzSu8Q7fyDK%Kj=X;+J@@v4Lux@v+XZIYR6gneKAPAshSz<*CJ&BXBz)Y(1F zv+P5+>|C0+#l4(#lVl*pF^E0}C{KOQMfVU#uKjvaE3u^1Bk(Jn2H&}E*n`wRuAf&v zCf}2N#qG9RuAi8b%wu=G#0;ToXoxaR@5EL{zTk4q37SW3_S_uN*-V}zKa@KdBcd)V zOHVHhMvHEu!#MI8Vp;ZOv^_2eQs-Jb$)%hy<7}bmS#&E>~$Td zh!L(=Qm=@K%pI@Hnc^<>xlx~5$Nq>q4duD7pfvcIE(x9rTcI1}0VC1}M1UVA_tO#) z8$W}a!wmQC@BrpF#H=VEVA%)E&ulNxT)rb>vwz@g5O;~@j##)>9}1>PekIM*_7UZ5wN1wQSm-XuDQdYkWo_-kva6S`c1yA58Ka%t z#dx6I7i(&z(RmdH?})Wv1HN1A!FKllr40}6k(RkSrj5$%i(O}WBA)WN)b{iM+DR_( z%`Ht6-9lREW4shTEM!aF^lUX#g6J-RmTCmS)Kd_*DE6cB!k1w`k86nb){A33^|+_p zO_af#ps?x+|6AD1ENh|}CH&E#!qCZ~tobZ6&1?e?nuGNmvZB07Z{!o;Mg99UMpFD* zY#eAsl$ZAlbA<^JTu+AYsKto&6H9br+JchOcl28KLx%J0rTWpm*mA@W`YQLD^ScMi zqtwUf>vl{XZa)uq$P=*Y=$&?kJ}qj*4d-k9dbmmQ2G(JupN#D4E==8e0x#$09xq>uIlxcVL+e>m%|a2y+_ z#z#iUUz8R`J@vG6F+Re5jT^vsVLS89J%4zcnY*oDEHQW-BGUtY0^daL$HtKg+C5KV zlek=F7c-1Yq3(pX_`V}*Yi_))avj;qSavG6nS03XL%i01*;xScxiX9FtFiJSlwmRu zAL^QN2yenPr)o!*Az%CsxUa-v;-%o0N5oAkH5aijSD^i2X(o@R!5|_4=6h{?e|ivG z48&2-$j{Uc_gmM0)KkY|{TIzk{w+L+bPPMKO4cKIxnNzvsgC3;I1prMqI2@=zHEb+|$}+^=C`+ zRd_GmGQD`lBwIaxJx4}7$h~{QRx(gdTE%tbCX?6bF#U?}82npFk8F{@vqr;OSR;9a zd|LAq5(ST?kp&rrIG@C}01Nq)42SnBnCI#5x$UoS*)?3NTCk^}Kx>T*jHj8({4eZA zu#KL-c zS~h&DE`rq|i}HH4)gIwbN#D5<_ljuGUdO7(?cx0NC-ZB;m}p5zMkkqKIKjHFU824G z5H^pw=y7;^kSB=JppU&3lgd+BHg}qDBlRC*jC=wMgvzGnYAyb4o+k#mi>2TM8ODOQ zOD+QH~vcg>iUwD3?YHAmJp7SMsn*Nu-X&c=TQ0vSV`e~&ZvJifk+EJB+ov>^{ zcVnJ4s1Wh1m~Y6sbBmA=J6Tn}h$pn3D2ZMf-I8Z%i_9OaUl1F5I3gV&3aBgB`2+Ee zc#67OUjjDtt~vvCYodk!e;0-FRgdL2dSAV}*3m2oX2Nu}yY>$CRy!b1x(26FOT#y_ zy2kfG=W?d;C|Xo-RbOT?(KO;e;*IS!MR{s+IPs7t_*3eC%5aoliiMS=CrY(Idr=Ml zs_RNb-)-zMFj(66LcT5>hV|8f%4^5m@CD3ZlR=vOgXD6Oa)F+x?-jp9W`riP{k)63 zv)MTGvNX7NXmT*vRh+2H9OL?U@A3{V$t(VMsPiHjin$1^blc+*;ineoKK(_JUQbgzH08d^Zrih#9wuq!WBn|C2 zgi(&(Fb=)Q&KSM5-;@+A3kdQdU2zms5E)NhGr?CzOH5mHK8E>mmAP z^ew1S7^Ch)dqAhQ$#`$J(N`E9t%`W_{BJM@?ci4{V__5DpYeZlEPsTb$lvr(9)UQ` z-}jUys_`{I18{;Rzy_M|4)J=(Jxl>{nEIX_$KMA8`qM9flk_(FEUl*Q)Bi^E*7nAU zw59N@{vXwVo9+;A8m9o8zL6dfXGJm zK!hWc5P7XQwVkf!Nb>~|OQxc`CQ}FG3v=j9@<*&XF$+8;2>G)tt?Xy|^b)>z^zZa3 z+ZON;`9Qw1$JwGttF#s25=geR2>%+4Qp=E&<`p}OjrhOgoAF1$7EWbDfkAXR=6%{q z^@`YrTqe40Z>8zxT)hi);OYjZxx?=utp zA^Y}7z9R>J7)XS@)UIkkB(*g16nC2|jgolCe#T5ecg4-*ia^;&nz%r{EZIYDvn4DM zS#5vk{wYFZ)ioSH?>wa?xjqqFsYHLVY>fP~tOrX8my>VPE;{UP2EI}pwHf@vR-E70 zc`~(Z1g9-#S!8(J4CaWm#6>H=`YX^H)+1DmTgYs44MsHGYY9VO8Q7utH~*x7M4}xM z_9M129CV)wtr0`=Td6rdL2+p97I-P~-hgf@$(`RhQM^RxXOV!hM)S zbZK@8c?eW>cG3=6<*ifZ!~!GQ-Ru{QD`@HbTW;vQ6W%3UvVt9C9DssyidLwzOI!<{^40An@K9ViK zB{J19lC8#Wz&@)_U;!*|uttg)(EfsRn11}+|EE;a`Se3Po<5szr(OyiQO3yS-EDD) zRFf=2WC|~-*u(>@(}~u$ljuSfqX9*y*LO_X!BZ~R^kwUJOiA7dMmixF??XV++OoJkaT z?g`lGTFVV)Dn!mAcED$Ku>OBac~dltTS4T2lk^qGXwex?b6<5&kEx{(vnoX6%r1o$ z3lG3q1yPj$9ILl6p27jh_7c?@^Q}=fVY6cd>PjxA`;$R>INHdK2z*e#Xt$Jk=q*g- zRzh#r->^OWX#PDAQ3iM%-`_jk+krTdI}pcmXKFLU=W;8Gjf6A)D3vai2SvyQzKN`y z(%=0t{C5Du1}R4ncZCxR0$!;*xnk-XQ1~_THyX+b}~Pb0qG~AhIB^mOZGuGjp6Ql z&Nz2xq7Uj$dr^kF67$C4Ld3uBc-V2<)f~*D;^->uBu`nk1HYC1h5HV%>?PKZ*uNc6 zRV&Ss63>{Je+WPm3 z{eRl;Hqnu6f||CL=M=vT~3T# zYLUjuEyMNWn-DvtA266(Nm_&rcCU2ppw!$w#BgUSto#s&`7P+&$D)>4~ObhHyGd2zqmO`v`YWu$G<^ zTtc>!(!xpF8TcH|*3ap8)w6;d?NVz0kD{}1Zz6l!FcfR4rj3kSCT($dcP;Mj?ywYh zE%ipmJ!wmEch_an#ogt%z%K6eJKrC$T-T<_%sKD-Jol~M)fP*O0c9niDS>O+5;2J% znX}K?jzk=D@H13Rc9L!4x~I^5y_-2yd!^+_jP?Ne2^AwLc@y+(rAQhFHe&a^9r@SZ z?ZB%1g?xhnY%&^)7ZFaPADC7~yPJ`nnZC3Ib;;$NcCwgkN)5vwpoIVcx>r8!$oEI+ z&-ACrB49rrx-3pgjXy_NbSgcK>qYsn>hvuSNcghrla1sElHCPpqRjybQ27PD`i>sFC%+mzX8++dzA6o>omJo7_rZ)tbWB zk~akMpw95L?E2y?sV@KCdM=j5Ux2-ZEignu)xV^Td@n9jJ0T?KAWx%w(kd8bh)viz zdIrG*|7Rz=k2p?dN%870ZKmyqG1q#CRZyGhn|x2fo43GKMs6!SMvmy5In-;5Yk(x$ zzs1y6Rtkz-Md>KU37TY4Cmf`)9$!+PgtrR_pz}$_cxo>DP@Ar#Qgx(@+9>``SaSq? zpAf-5B>J7WJy2e5K+f@&lABOPl-qWQs)U@yh7!B52h;#+H+k1y*SA>ylX`;wP;u;h z+8g}?*G>!SefTQkEa8B*$Zf;3$;N@Z^m@88a9veM>=1vJWuG|%FNim2Avb$9-)U1BlHzg^o$oo|R>_t?UbAVsMB0QCS3!Ri_7QCM{yB2Jyrp zfB+Vy6+#!ZrA7tUT6u)=D^MOE$jl=?%3ny`J>S>>l}{9<-x5m|OW#9w^@dc|xFg@s z4TEQ@`_Lg+Be{(I6pLnzxO^@fBV2>)5S6isS{5{0`I_Gy`;ZV(0A_k*NQT0Tg3elg;m z1Bh3SeWhy);qGk-1En|gWom}Xd2uvNY-3IaCwYrDwECeWtV?>fQAS9W#>fw`=DvPd ztk9b5h|QA|m9gd^)J0Y&_ILvEyQyt#dHJIh?)+Q6p*58<)oOswv64p9D=Bx}->?)Z z&G{bNi;S>GPz&Wf#9hx9v~*l9UB#X2y``1N8L;+aAl%iL-|BCa!?PYFU3*Uq^zh0A zZYaB&7zkYk=@*xL3ku-B#8u>Iq7+<-T8o!oKF6IyJr#-w9jA~4wzPX3@4{1=r*c>9 zbV40&wK~k5hc%UpquxTIRL#icd0-V^B@hWZ*| z^NG%;g^%@I3k@_~Nyn+PVgqA|`>Fmu*pYp%CIoAW4$iWdQsT&SkgD#LcIs7=zT$^gS+H z+Dz<%NO&;680=Y3yI|dG{3!d!N=m)1HR5V0zh%fCt3@iI6<@K+bhMgb{zu|^rZSf- zSouIZ1&5I-CY;rnF>>2!9$L&U5zUb4OfK>d`iPnu_#5262T;zY9MhA`h#AXH(LAwCU{ST?d2T~l^O{r zr~&s%>6LzhX%6mMSLsu6&($C9TlSMeNqPjeO8p-&*ha6rsNB-$IsO$>jp<@j<#OCt zka$>$oG^C8gmEK+8Ny)6rnhrc;41oS<5SUG2d{H@4|<@!1$sj*l`CPtm15$v_pZ8) zTBU!sPP%uggY`JPt#6RUyY~pQ%^IW=xalQpEV7I47c65io=srF@}R6?za@E{uBcIB zRkWwRO#4M-`SZnk&i>jSqIbE!_;S((?|i9+qZb;b{iNdDJ^Z^%EU=&&V`Z)C5*qG+QY*>^^3L~Yf+~ORTZ0ahfKl2l? z9(_D=4pJTZF3gjbL6J^}R#B?V3>L>*oF~>@%KFU?^DG8jvPIMwJStZ~OH*OoqU;NS z&v+bF$#$6xx<|t0h??|yX|$^wd=ROME+FINzx)YA_n5nYH?&XH)S-B>a8P*ZY)mf( zznJbsNg{=z6Uy1nQB~nY;ypgWcZE8KKev|wIUs~s5S1x)!wcnVa%q1RNpg&ZoYszL zH0_)?gG<4t67S^4;t8Q&%oksKeIn!5OB=~d3N!^;XZ}n6r0k(4%n)L+)hqX)wil*_ zdcjT9N!cB&>ZwS*L5kL{CRYnvknseih5Vz?3Di3JUuHAhfUf0n(gVmh=n||V|0ZJ` zimLTvlHwom%e86PZF;skUHs=yk%WIc+z*QSjgjD&^+O&vgN_jfmMsb;eE=mRWFULLOU$7I%(&8Pe za9xR^oMdmUBwY%dqJ)zv_}<_g@rTrE{gz;LY(aka&}XuPR;b(DqwzCA7w8IJHGb+3 zw7X<@enM~pG0~c64yRu+1@1oPzu?<2GL%QHq(vj$R}p(Dufh}Tn(Gp4#t&6$m|e6H z?kz@y*2lfn^#dT-{S23OV0johg@_kMkcS*7xj-o^9YfkFW3aE(J%1H^DWwx@BN{}T zj!o3poYh=y@;p*U8mSH7>u95ubajw7Rj8qSBFe`2e1E}Z`2OMusJD19Y9f6&7t7v5tNJ&BIpqvy8rug;i@(XdmYOJMa2z`s*p44bf9g#kSTR)yvtF4oDjNKx zwpIFCb&bdT!`w+s^KjE#fp@g`*B3C2(&IKP&jB9hjkSUeX=qb+u)KRLJ|DS7-VXFd zzGZBL?xAa;ZpJWju={VNQ`i8it9;9~ok+n-Q;>GXWw>j`pO0HWuS7a(p8^Qo&qx<* zBh%G}Xl+`QpZTA2!{xu=2rNeH>-!g&pK2kmq?Oo{oJB$*-X0%i?`&PygMm~_G{e-d zx};?&&FNAZ8>NxNb7YotA5sR}o{ZqOKDhE%=_wl>d zVi^OI?pyvw>I7y2@6Zj}&PU2qNmX6Vd&yPVh9e}mHl9hxJ+GH1h+WxN&Kj;SOdH@a zgRl$f<*cg=45QX?Y8+EjX~p+16NTyWYq68oR4&Rxx#|2;?<6opn=3_YBfPzoIDV(Q z3b#BWgXZ8#(F2fZq7<3|b;H(VCD;b?@qC2fR=RoHSOMamJ!JI8y5Lb}6nVrkjGy6~ z9heVt$&#k&ccpDP_dJo*M!c%~QD${KE3U3yLL41k9T=K}SX+3V?-uenb0rtWZCkrD zZjX42Z!YD=ypRSc^9sYQM&#E*m$eI?P}o|zg%{9cu^4m)?4m-8l|*YFFGbHHh) zmh>03&v6!P48J1>Ii9ny2p4a|3;qCK;>L2}+~Vx?EBkiN!(l^E1F->1=+4@m|TXj6e>Ald~L6wHi=) zISk&mY_d~=8|%7lC+^j*%R8VRT0^xP7vrfxJR&v&4pUQXglF2i-C29#^V!e+AE2wY zQ?eVOHqtSjruqZ(VtFM-c-PCGpwS^2nYVceq zjuP_YmWHO18>uX71#lhz4h~mlp$pRw`w-{~ugkK%l57cQg_gEb?hcfPZ%RkPs9|2XeM`)DmqI&Mp`MuSP?>R@NOSEMaih3pwuk7A;>qIUZbJ}GV?aT41M zdCK?lOTsaDf&IVLZt|qJ(B;KPE4@{x9o){eEWC1dX(ba%0gbj&&~+>a8|1o@py%9H z`Yzw1ypy})>jV`%t4j!9%cdeNb86<;(0$VAfQa=eyNOv#Mxoc(VMIM4-`xmXC>Pl7 zLEG}mazj*B+7F}HR-qEsRg$FXm^YB5^?|1<5mFoHe2_^j61qU6%=X-Q$u6DCk5RIy z!v#UOKhdmE*W&S7WOuA9mM8U+W;^bvd5RqujH&VfII^Ivxj>j0QTUdZ8%i33px_Wp|^W6)$|rn6EyK?4wnotB~ud95S7UT$lXY@>-B7 z*cQbjcI0i?Eb_m&J^`Azh73$t2Tl&3(wU;-(G8t9qW_~m`Pb_k*`L^M z|3kJudCYe;>%80=|7*tV~-U(t=?p^K%xfr6f zt$~>shyKEM+CRyq=!MwcoO#4WXT1MqMj^H=A>gcxY4AXwWa0XgoU8)e5_6yDFEk&z z&e6N@N$@%H1-wdLg=j<@^Ighjs;mt_!;}`>7BxXPydU{;jj?0mb+fB0 zj{9hC7V1fZffw$EZy?5(bI3W=WaLqNhtNT|r8p|Ml=!WfL5fb|Yvte4TM)|&!t%eu zBMS}$Rcb}tO?W6b9M9D!C=cOXYF7g#m%93<*IwET(!CkfePl?X z9W(K&%mpcVO_{7NSZZbhpDT`r#}S-S3c9eooRyCc6ql)2=#n6R)>MbF3}KIc)t&|t ztd$)<$==Zeg=yqLY#Y*yypMh(r?IcF%drls33N)WfHmQNA-Q@8-z#p{4^yc^8*9nZ z5#o1sIQGz)X3f*1!mnDUJbq0HWMKksFAuc?TZ@Sa5mY489j!-HLVHuEqPzP(V9(JG z=zYSEw_NoDPhoJ(2eSCTFjXKUKgqk5pGZUKZUj$ULf4gDANcJHf{spC>46%MI*Jq5 zUQ-)Le(`Y5zYrpr-kLg!E#}fW8$C`OTk=9yZ?lh@7Mx6V$|)7Bp2x+Z1?!^**}D17 z=qqTET!=@(N!nEC5HX$l8)O7OQ)S@Y{sUBVVij@GN>V@Lo6H5$VrIIL8;LM~sDNK4 zyw}=cm8F6DQ|~zYyS&K=c-pBW5(Xf5bVK_X_b6}@^e` z6>4iWqz34C(2yV;HMOd8MI2IMgjV86sUNgOZtJMvE%H9owgR$gCEY7U6aVH|wn_LY z`aCrQ&tU#XtS8ztnmdK733=$@dJmz0ZqT`i5U@`48eyn<10j83(a4mCa5r zFz42`^C@H+7H@3J*FrbMhvG**k!=WU;G4*U>_aM3fwG$9+Axo68aY~epuF>Sj$-vN z?5)OGe*}~DhkR}SSjVfx8|(q8H`l`-6NrWP#U+Njh<+IA-A23)ge}hi?94o@0Xm&} z3biJad=1Tp#&xZ!atYlFzmK|{-HMuk9R>OKsouB5d-_Cl2>pwwEVtAaD$n`navk9% zn(C>_Uco$=z5F;MHTXODL4Ox=gg)jG+FYe16PftR^AviEr_cwqI~HS(=jO@L(FgUj z=3MKmamu=Dm4R;&bMb-rCUIfRQfQI7m|No?V&-X#H_a@s{L;EgyOlK{zx5}Z=PX9U zsY*f#z1XNCr)z&}e9mz(K^Sc1SxbY8(#fc2-HWsn)sX45o3_!DaU{}6I7&3k9R+E= z7COQG6Js(_?&jDzYzL)E^Z8Xd{S!`Gb<8J7j$!;-0gkno(9{?hJaSVwx5 zyCwaL*yQQLrot29wo5kS(d-^lL@$A4dIolm^P`9}0vM+DrX|7eU>$4Dq=44q1*|Ua zaRZsBZsOK(mpdtucRxZNAcLqrkxMYI#5nM7WxN} zcjB}zdVlZ+O;)~1hgV`$Du*LGvL|M;T3uWB?-owj z!byl)N39Dq7bl1hNy+`l?S~Zde^jA06=V@ud5fH5ju0;+S@9|QH1(t=p(}*-@hy-k z+%TvLoCJN~2>&nqh%gg=PbA?@pn=kA-wI~6y9+agTExC4R_f8_GK1B6f{j^Yq6IZN zJvRAb@;}K-9qq8!WN+@G9@1VIMcP#Jjeon@L91y?)b2?u(zeRg)3uD3{u*KN*^8j{ zl!$rUy_kyBHENmrE2IL>;T+#Lql}TQO%6S>dIQ#EeLxf6M7O6i>0=;6km=RWv zVjfn0fVbpCss?x1;q@I^n~(oYxPsA&Y$Y50ED|I=;;b9G$DF8a(vO+{00vxra~Qpc zK24uZO$hn= z%iYL%R1`e}WYuobzm55pE!aVsV$`yR)Ac9>^gIvKBeCnu(!|wlEpidvlg9D(+$L?7 zVOc}sziIKtH0r9}Px}H0(^rfLvtD*dMb$gyUWSf2259xQA7(T4gdLHpl`KzM@#ED* z&8hZQE9(E~FZt10oODNO8$yD&Kp$$hw!{0e{BC>}T-{r!PLNOQeRK~q)tyAWqE0Xr zHPsd*hN0A&7R*kf1XI`Z%rltoPkE_&N?hQ)T1k9}=w6=)-n8Cl-U?`^Kzht_&knXH zI*g5C48Y=_tM#SgXuEqPgMcJrec5F!ROYNbAw0+~pl-UWvvt9Ly^>!jM(MQr4Uo`g z>YQsWpA|pP4ZC+R(}6D=AyW0~a%vz1}wXky&s8L z;&Ck3?~K^abyv3vlf4c6oxGc{V;I=$&=9l2e?@YrwV40h8reJHjdMFOT!~f-v~h4W zdMx^^1<}BoP0*?6IG6WNLLni`Id2OePhYCuAb^Wv%7u^OC;ve z-SQ54m-`~%99zAZihONb3UCJGX3r)@;3YhayCQWuu?LIE!=y*{ie{SvE5D(_00!W8 zD4_o~uVe3BPs08XB>ghjyRC=T`wu`PnGw_?tOR)&OLmnK3Z!mWYY#AB$uC@WnWs`y zc^;Y!ZpsZ;3=3q7M-vWXTQCpc!psfM$nO!eoK6Nt!K2JD`iU8n?+@-`MzKviTe0WZ zB??6*z|~-$HnBCnmA2Qe@VtwFdo~;R4kqyxxD&KS&IHe!Ad&%J)SFx7j8|s0f@8sw z{4jN|=3$$9hO#zhu4e|@4eddkqMqkXGxY8SJV_QSX?Ed?&EBwt7J z5wR7Tz^zD6&UVYQeC?psE8h82;9cUsxykq*|5soUFE)#f6MFw(nc#DMfL2Cp44Q@$ z@KorW7?lMl9MHx}L$H3BosI`|!4#&8V+kO3bs}n_eTV}f&3l}g4Lzl{BSq3Gxv^fT z{b$tCEr-*Fsa@69qSh2HMPAU)A&{6}A zK$P)ZnP?=McFUpN=Wc0B)wY0V($sN9$mG|_tGGJwelCjNn`ws!aLtJSq?Oc&C9Cyy z@Q(ByW#(x!4OM?^wJ&%c+F(Hi14E~TEm}FXlU1sqVZJArR8X8>o;ZazAaA3c$pZXZ ziMCi8{?U0CWS8pU+wntGPBw~6L%t}fs;XQAd4us<(W?7p4%%BWf3Wu%A2p6{L8fEh zkZ{TiWm0WW;K0PAplHcK`)sqc9>K2WbiicTV2M&E>#cbh(CoW2@nj)LsjI-c+KOE& zGP(d#ek0LMcy!dIygK~m?8;bW>@0pBJSR3|WeA(QGv8PJ$^m|zwNP6nSGIUyRVXJP z2ac4R)-dz8dfIwreCIQHQoAiz<_ow~X(l&ACh$DEqPvB=4Co%8A%-vuC@j1#aMlt0 z7X44{t#7AB@ZsoP>^RetIl+28rJ3pMYj<~FKjJ=CA7qtk(Ev&V5_<3DL+T7+zV=Hx zqUusd12=NOwp0T)9XN|eO3gU173KxUmfL>h=-1^tB+t~K(b^0zn-2D}q zxJty_nLBfb$epp7)Dmg{xrGX&(um6$TZz&BrO@Y1xrH9v>l;-mP0?JY*nVnoOM%8krU1P<_t|YW*ASbJ;5HK_i|rrkoFo| z!psK7_j5`0lIByLK*MXBJ=q#%6=}!w#}}kqz5*h@gKHL>gYRK_BsKDQ04aI^`GTwZP8|MHL4HeW**|_@fO4@Wgbc)#LZ9JP~&mZ6M77RFN_ALTg9xW^hUF!GH!lw{P$QuZCH8(_XZuCm?^x4WQ>=R&`js*6Sg~(~V7$pe^rHPf~ zilwt579U5gW!+3wvOTkjzK1;niS@y3TJnb^#%)U!Ja1*rH&(qXb&=OfH8>Y{p8ufP zwU#*(v}0iR<8zP+ll2b9v7lvrH2M6SAuX2`C-76q7@B4eqOY-4)KOO>sxd~9r$CRu z&#ZUbKu_iW(^ng$>$wP*E42XW*y>76d8IZG8{u4SKNDCdhhiE7Gg&D<81I#K7^RIC z!O@m1m$M#PX~cK%_WsU%W*I;%d*FHOi6CwPHgIXO8dEDl;fj1y!(yOivEY^_wAN;6 z1yUuWg4)D)Ub!s4(LS3cjNxhrtAzf5mHS?cxCB@oc87_%F@v%9TXZ}mnxw3oyCIx z%V*GNp;$rT-}o4Oyn8ZHhYOs$>KDfrlGWc~{FwYFo&u_|~v zIfrfI8HbPXM0wT-l6KFi%m?LiTAfvWGJ7~PxCm%>V6-nN$7(NxRZ4;4)dm|K%su)5 zKrN^M(rdT)d#eY?5z<*-mNrBithj|4!k1Frq)f?9UKVHl|8tm6j7cTBIdhe}%pUtA zV|Y$ysk^+k%q;9W9LtrWFwk|f6J5x%@bWkzzJ@t8c;1{5>{swd!3)_Xh{{dpzc2QfVI2GIo*ZcZT5uao0(J!eLOHm)IfXULy8{~7Ex{(dh8|%>7-MzTSSp+cQ|?muXRujof~}W3 zs4e8C=636Cuz}hq7;k}2FL%tTVMFL&P|1Yb)DUDyxDDL|&tO*53iFIPR2 zDCz^NQfpXe(j3pdoGVZ`*IS;aL>TS4*-|5I8ub;~1~}$FqMbwtzX)21mTwMrj2rBz z;B1P`m%P#q|J8Vczn)P7he?{O;2cU^!nf(?HJ{SlSZ)*r_UW~)?&cY7w6Re+qkRk} zTIDnmq&<&A60wgSi_`+U;IZ^2vO86zA63uFFEZa?d0G{`2gR>wBZte?06%aHm|HcH zzA0mcfxx?UTwl$tH1ajKkgAmByTD_z-f%^Lp819P0ZqXlATit{0KkQFV>rm%zkjUooZ4#g>{!W8*hUZfhUJToKAwsM&13O<03^EC~Y zjL1Cf&E=;`L$ng|dF{C#;ao|zr0)A$5WUGga!>S=FIp~AUI?z-ic&xM5FeFZLi)Vo zf>x}Y0%zKtLUX05!phs}-Rx}-&R*~oC$43`us7V{&|&0(@1!4(8=L)E+{rnWL1{G@ z2h%93D)t9~#vNnRS4A6ts6(~KhSSWoMi?`!ZB`qkue4DqW&20JuYAXU@VmH%T!r9T z>o3^~jtTzbzhP@YuP7n(2ryo)wvIO@lJe$8u z%?K!R8RQ-Goez3xxDV71bhRs!1*I3@uVW6ADBYT5nE_NQqMqANm4X+ND`>#oM$dRQ zd%DvtlEafq5*D)%5Yh)!*pUoVACuQ4&(us~o-s@Y85-YkS1Uho32|p_DMF|6E_Ocl zf|{22nEn$`Q~FuC>U^_@byupy%~k+mn3Vx5vw1R__!(W#oWch9TMB2maCN4dV> zfSykkd~e(U|5IU8aISR@pR6ob-cselFR2rq1BFWlFmBULO?ygQnQX8oHR9y{IS4*99N~u5Pw~?Q@MmgWY zvc*`r2RTe`B0eMk1Qf%@a3gJ8ZYReOZaN$nx4^Yh>H|DB4XyWP3&4c0XRx8Ep@Sus zt5x*LYX4xJU=6vH)z7kV{W&G?bXv9&E&3J7{L^TM6xll<0=!fi%%|C>E7N_QmG+=x z|A+cmC4pzh#HIt{{&BVo3*H7v^%5ImZ`dsNLy1?*YLd_l_>PbG)`JboOL7f?+m~mK z!EX|k!5wWZeNsDU_A;}r#|0M(()7Rc=jD$nc)otg`s0O*H(uOOrttWN&Kt&P@2m`K z7ykn^t>WY`V~O%wzHinA}N@`9}+Yp$Si0OG1}GKA{QQMTy4l12OI$ z_5zqP)J)7|+bK7F%hD=I9x#&|qIc2$(N5CK-1FJG;B$t-zW1@K7hV>6T`VYG;5FCG$;}W^xd=SLs#{gXUebH+qMEHAQ_E>DwJ_x{z~01UU%+nRjffhg z$*q8WF@$#~ydM7U9RQeUyMZMIM_sH=AEC#3z9;r1Z!x>+nuOPVgZ#%mufnawJw&;r zLo7;ncXy%xat;B6$vJs#=q=go!u z+3GL+bt%gk3GPY1?45{VN-r)|$&=gnROO)lV=zu4M_M27%*k@ zaoSHw-mq=QW_=1`bZa3cec&=3Ddi9ESTg;TU2p{41*a7cSG1pPr zAI!1wT>~w-BGn+{gjt?N_FeLFmstGfR zyO!$~c4XYfJK*`w_n@cp*d3WvH*uUYC+9jal16HMEiw9$a9O>;Nx-Y*R~YNQRo52- zdVc?zzkx#nH+$I&HLzC5YHh@!ote$_J>n|el*aH6^jvq9>@r#vX}|U+^vj%OoC+PX z772T-ipHM_V@y^qlhaE2Gxn0S)O08pkw4AXN{!f-@~pJ7RCTN-{oYkobE~;RPi?!_ zJW!I0aP$Q{&rrrpSw`DHRWb(v5=BdWVSYg+hc@vdza{5Kyv)3#Jj8eRa;7dY zuxyH3sJU!(<(< zCw0(|#YX9~g=&yWRiNsF&qyb7kXPjLKtMNwE3G!>)cmcX`hZFBKpPBSr()=4_zTp7 z_C^NqpZ#6IR;+DQufRonFZ2+!AN-{)u^Dj>AFTD%A$_+#)R6U-cuS@MTbgQ4_hTB< zJh_IMsE^RY4O-ow)wrinCvCnwS-Qxt(Mst3q{BiKgy_2TQXD6WcztpSwhsKF zW3ln>d(^DRZ8>8dU9o#;`S|}Szl~U9nmNLJrSveoreZF^4{H_V3)&g|q%~1b)-#Pl z&@ZZKWC&x#1hHj8Qz9DlqzADg)tDYl+@Wd^%iwr?vtt<~pv$QDfUEtJt`25nlr=1P zLwm(<3qI9s6k~370B$Y27HsMoGdoC8NsI01Y^!ckHpwE_2;3}`g+Osbp_iPZ~a z1J~V8@&+~#`NO*qtD0>{pGCKP7^J}~=3L@>o6VG4YA54}@z&SgUr~-{n)_NR&D^;# z4et2+jZcPMM?v@VoOawqt?KeiU6TG$Cg{JlG<$c2g}2Z=^TyqgBx!F;HH5d z*;~u}DcaPT`oB3T@I2=$S1i_r`T?JTwxU(Y)o|UIW%7ANSHNjcwP_tW7k1Y%*WWHH z5HIoJB2F$OGKhW5es#LB!J46d2>!NCDzTy07UJ6nPVQ;)3@yTFF0aji}1vI2`a>;m~?38ejm7I@f${!U>>2A!l^sJzG4*2u%q|=@@i7AyL zDzb@6#gvLB{)%0}7*G>-m3vcMIl4Z{D7~c3&O2rksk+k2tfO=@hPq~;hcXW(Y;$ao zR;qs~Yxs8RH@!eF9X%y}EDDpILHF_#x(RDWOl2Or=dc^F)9%LfaAmbX`5J5efxYdr z5>Vf2t+Ad+J;+ab-3Q$ViLRdBo_2DQ(M4~>0n357K>XsZDlgDujlaz6$_QE1J4!KX zQ?-T99lw&i4CadWppi%~I||wD-{B%;PL72whQa`=F`jpbNl_j(k?h4^Uef_Os8ql% zQf~4B9b~$(BRmUjljvr2IuxlkRdyweGi57Lc&7ZaMi5{FK(|AtlZ9A3K9TG0=u1@x zq+2ZTN1Pb9l`oR2a}%|)z%Er!J7J6h@9=@vO2FpHSE?zgLU%k$b|UTY+uStvU1C<^ zq~r?~qbdzgJeC|t{zJj_?PBe?&felQROtj5dTp`OUMzN_vBGErtne-?4D^!P`l}O7 zzDHX9Gn0PFBm{L+ggQ!}?{U8bQ7um~b4G&IZ;gHC<``1ag07C2BC;TYL@Q zNc+W~klx5^s88$`_Xf6PqC2UbCoVZQDb;%!kY|qu(&g)NkvLF!r#y2mf_@TDxTm1G z_cemC4r(O>m9PoKRk)%-aU1B$)Ht#-oraAe-^88K7igL`v^0Rtqy34FG0(#KGYK!SwJ}ywZEM zb#M)^=9Ub?`9JeFT4{i=+EV^Q-7m~>bo6>%jeRBax;Tc%E#r@<@xDu9n08s5r<9aE zp*Mxy*6%B@Zy3D66P#Z7tZ=e;U97?V4#XH=RqndM_oy*8=;^r(6a3fn1lbuFNsBG|=la@9NQF5_!zA23d`4bbVqrfxTQC zu!ZiR-3f0+=~kiux1jP{;h9`9=n zZ`5W=Q>YnO6X9Rm3G@;DFFDB5-qXwdiJg+T4JskO14Oo_!GDbo@?XX&Gu7L~m~4FW zcCi9#1!A!}l6#Ic2d9*))EqD~N??=Nb<8IzN^Zq1(}o&#q#a$h zTIRF)d${792)vk>Ks99dM_t1dcXOy;Tx)2lMg}Ka+l+motHEJ$r|iYKY3cy$kiH@? zUYU_~642?tm;wixH}zKJ38WV_Txy_yktk6)rB4*jP@}L){6~d1b|BY`L&kURn3kiA)kW!w=~OO+azY1X#oA!D zj{P6ypf6$;b&M_xy8F$jI@p4!*~nh3Hf0i@i3GYPZj-)g<+TkO$opbDln(qlt)29V zs}0<&iabCqUea0rM|&$Bjcb?t3UvJMNxCvpbqcgN$cQpZ7@a~>LXQ>JxNdw`!u)Qk zr@G5=jakT>(p#(xpaS@W<&pi=?SYN|3as*q*h6pz@A`($Bml z@+)Job#?V(IR!LT(lD3Oom>w-=c~AeG(g*9!>BWGCYaXl28Ot~ft%WJXp^sb&R1JrRnB8;|Kr4z8J5=JFK7DPUB)Q z$!v-&K>E2O=+pRCb`eYEmvcq7GJv97ChM%8ASG!1!H%u5d#Jk_yNNl#7JI6}FS8Eneeilv zIwY%%MCyk6S?O&x@Xi67_dZgVRX2DcI$JEGMcQIji(3HvW4mJZuLG1HY8zRPze4}w zAbA{i4489IQda}D4VyU~`r`cT0&R08@y)dxjb- z_Z7J+4Z=_5mX^E6?}a+ZbNTJaK=4~=41F|?XtS|yi9z>H$my;{bjPodS5O_l#7>~< zpp2`TZz^h2j&lF`?*vX}bd`Ky&pr(+E0>qX=G^r@%v>#ebj@=O75*~%0oI8i!m=|; zlWOLz2j}S{{#5lIJUi|K;nAOJN3;I~sq;I)QdfhqLzj^WaWkl=Oa=GHgk#uD4ApOg zL`iS_JN1c}V;r*nwa)3Opqq1Dnw$Puh7yWYo4(HLhNfqHBmaN48%dl7eBF=lq}{3EV=-dO&c{RtGy>F!f>GI4}TB#x~8sYRKI z?(b|xx)wY>AtdHtlYl?2HkLz7BW!AoV0R;e_@YKBpV3j?-Yd@7{`OXugxHN#bEn(> z(Uu6M@+MVN-bZ^RwI(~G9qb#jUrUX(!&;g)j-2UR4c$`wR34QcSAxHsei;ri=jfkY zvF&gECtllKlZBubN%IqjDTl3X!2_!cj2G%!eU4QlBoc;mGIj_1?jBG3)=7aZjzkOB zZz$GZjeA^WMr?Z8%$!2Y8>@l}gko0o&PUNa*5F`gu~A!S&wzH}U1+37C&;5=D_M?ZdP}-V#5+zicnX?ZQ}jmwG&J75_#Ykio?66c+=I z$2)1BxDs%GiUkB7k+4s>pa3@#)EODYEt7UiE7aY3uJzIwAqu`Iu9WTzEeoRJ5w(KW z7QoU9lU_Sa+5?*G<1o2IId!sDRmyYK6)O1O*)#DxG6VR-w&3f%Q^8*L5unOGv@pD* zd?xyYx1VI^$FV1vY0zzYJS-6QMv#&YlY;!NN*9h=-Uc`@Hq zI;Lg>p1KzBky3l=9Q6dy+1}#4T#?Wu*J5dkBykOL9Te~mU?cH~@N{W}+Q)#I1W#pl zki9!G7p*074lh#IkidK&i>e>j2rIhYz}`J8gCz`?lc1+(bzE9LAS?t z%iV%b#4BKf@K2i0Dps=sc6$&VOAf$KQ2oSGu|*j;`~v-ftyAX&&jq`nqo8Q-e&R3} z<^75+v;To%^Ws~xsJU&!0;_-lfVGhuaUTAyIXxy8P zse@30c!stkH!(Bl9okdrq}th!gi4rCTvz1Jx%rNT_*Lgv>4RZf&y~@x09-1N3rwi} zv%{oBXh0y^)s^@R-G!#*4JCh5`D6iPF?FcRNDZteQcrej`=Lwmj{%S2oZc>fO6VlA z)3zligY_paWaB{he+N++u8DJ*YZhhD;}Ps`+d*JX6G+(vDakY_9KqkOCMmPTi9CvCW1U$|b@<#?e%p>oC&$KRBN z{10kK^&p9$y`V=vtzFTZ@d?-w_IzS<;st@y|G-)7da46I%+jE7R8T6x$EAmXT4*nH^s-oKFE>(*%(IK%oh5t;@=<-U@x}P5rf^G)L00eFT7YRf zK^bUZ$`P=aI4b>0@M2x@rrJ?8!h9AO2*@_au!CTKJVR)wZs$7jnNpZnQa1`c(1^5t z$ZXQ>-T^%1=czG(6|)@dTL*(ZagOm!Pt(9O+^m}OIw3b+1GA1yw3@dk{5A7mkODnz z)V3N}74_$aVU89W<+eiqp&mdZfN}64)dH{pgNQxv5%oXUaI{bC-k8(Me(^Aq;{HUB zWUC}qOS;CCOnm713(Jjj(LEqLTHP^Fn~E%j)+mwMX{CyJ(XxdGXfeSyRyATX-5mGi zE#?OEO{B-NBwP4hKn8ddd7YktUBP}bn-CGOr$(y9(tzc^#M455;kRfLj*Bi0^7eLZ zNLwhSJEjUP@nEcl+y^N=12|t$=PvGyG1Q1Ok6DAwLDoa%48Krc#N1%lxSP@wMv!b4I`kZ8FQca2}IRn!il zRnof2UCHI7F4Y0;_#}CV`b0@BU&%2WKR~soN7BuxpUE$it5?`p<&P?jlXg_zT6vqa zSbQNr)4u>~PZ;zIoIU=JqO**SB5SuW1Pc=Bq@}9MPDyuy4Gx1dxDW0&*x(-Aoe)B# zt=v1o-EDwDJ{$&jcX#KW`;WC)iwND-=e+OU&$B}d7-{-X<(#$3q=RkLpGqU=Dg3Z2 zB0S@F!& zT}(3BQFITy4~KELlQ%@pQwho$^P4IwuiY6WrN_!*GO=X5rv+6BUF0bXXO05d7xW8t zmH9}VF(_tz(qyr3ZnkH$TBY#MP_rUQAmVjngJIIZFQnO;boT^fZwcFT&s}Ry|&IfxP1c zh#aY7Jm$(!cM)XnXt}XC%Pedjm5$hFOhhYb!_6=HRlFs~S{3YumRk=Sm8=iOXrmBxz3;RK z=<)FV_B>_`$q+liB&u}IcB&iPseh(R!p@S7rvMc0i#jnixHe4F&>FS8@`pOzV(kIa zc(b_~(Q8^$z#QUn=(zf(^0|L`W04cV`-BQ9?Voc#lj&4t{hFzpjMmr8)IG&YY0zON zSCi&TzbQwUVfb9ZO*&mjBpAW@9>h!UBXEpZhbKb3P}A%b?>1ymPHG_EdD*ks(}R7> zmg6?CmzXDPn0@6_xN^vH`Y#6H@!UIlX6_d<5$t8-xWVjh&=~qe`%*8%KND%R5+vgO z24=8znCXa<=!4aEY$2QA>vIFtN_R(PsdkxfP2s*zTpA;Cef`xSKNBAN%mLO@b1m$D z{sRpO!K?}qN>4X2a{|0!&|-JjPznTU0tu#}uF|vo`}`{z-ADL~aYMNF+#EX5_nBJ_ zt%$F==IDP!Q}U7AP=DZ9D0}ry>VMEwcMdkI&P)Bo-pWy9p*d7L2|uYi7LJW7kSZfLJP51VzXwOs|K*IO;SbF>65E!o$E6=DRc3K^2&leIT?HxRepb zJAIEn%+9h)8{e$42JC&apScuYy1zz>&8_zB^szMSEr8#FEXsLetlS1>H;r&?<^eTJ z`08q<9t(w)zx2W|T}j85LuT=7Giu5!$?@2w?9Rwhp%IwL3&~F0gSR75Y*bdj(<$^r zxT9S6^4TZ(`gp6PbRsW!Kt3CIso1$6o%5mj_XJm`)E8eK+fJ$h?l>;xs>!>QTGRrj z1JjhO3F)T46ZP4$vi0Nt|v8<|M5YI~VVh7;s?O z<%3~we7XzqW~_~<@&IFlURAAZJM8(METTz#kx+8rSmc~CP+h6rB|Apy;uuzd?m>I$ z1yl|d&tK!KN;G_4Uxaz&QA|TtBpxB1fDLRWKrbPyv0p%WJRNKR04Cu&u^qinxgQLo z4$~(o3j@Q&t&y+T*-)&jHv(I%$*T!raXl%LT@ z+Z^lIVcbLRe|R$F2SfTa?BP6J))v`HUPaqzBd|J3@!}&Sk6Z~7C7Ukktz_`ELp^fB zk>s#Mx5ihIgufg6D+_wdmDvaZCk$o4V(K!qmd;~#vI$Ik|3=?FRHRFKN8s(ro#<8k zoxT*AqzF2Z!GbVZ8d)Y4RBZj2a?|t}MZH@zUcSHdy|6Z?ePpCImEQsZ9Gp9s`azgX z9Qckb4G)!LL`1usu}6*3eyFqNbysVKG3pdLA*okZNo^)54Az2gVqusC7@t#$s7#jz zlek;#pzN*a1aiJIRQWq`1^Eu{hX>=C^ceCw(HeP*^pr(N{hLF4qod$m;xnRGatkd% z@2`1W{nBGR8-+1Rh56>jH$%2I>v>jlE04GM$J$poE3U`J!G565-YBut^B>tDXSY0` zF9;JMd0>w`T>UD%Ht$=(Xf1+~wkpfX_}m*XIrxI@$UuXY-Nh_VZv=D5Ajg%SnED>h zDe6)rJ~8Q)J5Swdv{oK^M`9l07Jo!56j@2thy2f&3;eqKDRos(DbS>#x5HMb3vgk6ImoEjI?SveHxAbe6U2C8}o z>Y45m{6Lqu=#=9vJl%cJ3zztVn2BGM-tg@f?oi^TZqoUHth5T}qGh~AXgKpn%2Maa z3c*=1GsBtWNUV+Hi5#c!R7>$RB&&ZflIXOJUs7+qFE)@&iq8upa%%bMPCI_>qp)qpwOs;nUWy)m@ zn03u2)-S1U(4(ZOGmYBX1#?Y)dVViZoi0p&@VGsrl(pcV?*@09ZAP2W&+`v@oScPk z5spM&7PuDJFHa(!*jv<5>UY~`0Q$DK0U*)!;zVV5@}Ge-k?~1S=f@^A6*QJ;^rE zDa=J?5VhV{pNk_4GWWraWF3EmwM89)<@gY46gUhXQ(j0-AA|3WR1)@41F~a@YtkOQ zuHFdt5egd5J$LzedI-!)IqhFT%nYi*ch09SPcTkOTRzPbOpNyycm4&FvH8q#z(W#Y zBmS{ET_*7=#&Yo>G{ClGM}Q|(6(v{iYV^g*>nUPpq@ZuEKa`S#Z;V?>j0y$u>SQ|4 zWAT9=+K$jgX{qV5MAa$mckPc8<4R^Z!yaX}Py%+*x>>dKXmoM3X@2o&!|3*C3^|V5 z&1NB(wOs3D#N`L_s>{WV$I>8UV>H?R$(-Q&z)gJy^gtCAqi}-uj~anYg^u$aS&x&6 zBA1F43VF%;{5#in=Q5AMVM!TT2VVb8zQcj4#)!EtHcwn|N zUl?7LsQx{H)2GNM#gnin)K7StvCGUy5f9?&37HS)g#px5{1j5uEE-*Jdm#_sqm5^t zK?=ItJg3)GjjU1GHC*$gxoAsak#IwKAq^$FXhrxOu2kv7l#U4gN$QEP{^_3|~uYhKR#ok-uZS#lO*m!8G)^zyG1)9!-Q$sTQX)t|LjXgzS2`fgaks% zj91?2@h}~~l)o=+_U2^e6O|%u<&yXoHo5iKqIij+6I9{<*S zWWMGnNzaYL@?!0ZTvdChBIdow`OtVFy5tBQU>NTj%8$R{StW(9!4Hft6-?(5^=!B! zF^HzobJPdpkW||l#aXhol!cH)J7o?cyCTRjEh1kF{t0uL&xFLtQq2#0`TOOK=sA1? zJvcd=?~-&?>YdOVY*b>A$zne^D>kJ)k*9pnxx&?(eT^&ud+8K*14c0af^WGK<=(D( z@p~arT!MSL29aXP&D{TlWV(fa6^2r z>G>g62JQt4kV`aPEUMgA?@K2f&I09O^QJkooauzD(l+T6_40gFI-)b$KHZ@$1#^Q{ z^tR+F*u(fn#H*+AaiJ7vH|d#iOmCu1GKO1uNnzv!(jn4d*&BXYXf){I{b2sBMAgF3 zt$7CD=vXSvQpQV7tqhpgCZk`Ym6!hk=Fsi633_F%snN}RXf&hJs2G^F7A)S}rDogz zzu!J@ChEV3Mk-GH0lOA|DP7P;C(q+%Cp-?^#<#kUQoqr!wF~lJN-s1Qo)B*{?fjR0 zOT-<*6Jch~FJ(0B%6A2IlE)BjxwqVi2#G8SJl400C(S5m!Ft#M^lq#g*O=(350ZY!3Qonlq6@<<@$TRy`HY`{j-}=)Wz1W~ z>j+G+AzvWjHjaEBI-7MwULENemgJ#&BiIQ!twMT*98_juu|k?wR-Y#Q?&&U1#63yP zs9dmyIt}~N?;x%1ywS)QVTP?6+C^==J{F!a?kax=TsfUEnf;d9KUEMjB4gdV@l~uB zx{b$)WyKq%>S}R%U%9EfBDGCkX&hAsTZ}Yb8z^DYvl7L#e~|m=UGqu_mxZd>bq%$q zXJ<1<*>92CYB?T*mbax=jJt%eNZYzFHeoV#n7)#-CS@?La6#W{d9`>#^de^p?87~v zGfatp!siS7-Elx=2eKU8?FGGM;~NVOr5B{1XfR>mv2*MMz7>8aF@L#3vBVN&Dsz__ zMyA2U?_dN&ii1bOC4&)uQd<-~`G5FeCXxM(`{nVvymo3P%0B(h?-0ZU&rJ-$|nuz$$3Ab zW3_(PU(p6xXR~$331?fli=D%dO1cILsk^N-^P~9+_QhV3F`kZ|pGrkYe%P6ls`+$1 z{&!bHG#*JLJn-CpUGF2#cXiR@)I~_ctbfE$QhMAT;fm{3BrdBg*$sZ@FUcSBK(eIw z8eWW;LsccRsmaSPz}fj%a29;T9od2K7aqmC(&^}C`K=VIRbjLJjeWI=OlK&x5N#@T z!#2h0HmV7{}!33pAjzyE9mFs!qRbLy%k5a z_JSNA_aG%HbrXIW`wj^*OZh%wTi7aBk~^yJU|WBNcw9|@TL*YckfK?=r8MasU?P9> zWpRdd5MFqq_}856Yy)YkRrNi20c$uIiLC+#S(B;D-p&{djT>KGN%(r?5;>jiNnh39 zM#tLSsOrJj&L->xt_8P(E#WMwx1d<`g-}L05W0(w#fpTT#3{jzWuS#~YV&o4>xsX6 z+l8-6gRREa9Q2Z`20GC{=|1d4bvi#wS}A23Kh;(02YHA#%6Oz43{Htu&_62&$#&cs zW-jrzR4a6Y+|^j2&Ym~R?4y-4*G11n%Ow2rj38yAzgs5KLQA4e%>?3%uOk-`4Bq~2b#h@DZgYs1{5xS~K$*9mn8%%+ve!2FOL(Y&3VT{Eu=-{OajTe#DO{o7HN@7`ZO?6^Z9x zMV>p`8~-y+`}l8RqgnRYYekWyIdAMl@ot}Fs?gBO-sgv`b(J*hAeH{{jQkAt*&uE%` z6Wpg8VsY#{b`Cff?k|{hh)IXG(%$-hqqTl6@JUXI{99sjpoY_fo}miRG5Wgb9Q}Rv zFQc(_27eh?g7<jistl1qsS?#lH4%MCJ}ZM{V8b~S)VxReg*rF zGgOzJW0V0Cs1oQQ<$sZ;;s9;GUP)^zVfs702eOl5lhRezerHvb)~kOBP6G8TbbE41 z)F?g$K9$CB|GEBP?)b_YJD?fwIB@}fM*c-L0fsme^zfD89K>nj4}6DuGcrAtWfs&{ zs4;vm@@dWsb&Rq>GKthA*;`Lqr?nMDyr@s{9WjpCd0I@k2;_xs$4+nuxyt4gbB{G6 zXP8k_c;;w>&GU|ur)8Z@E(#|%HJEZ_X)Z#ymhOqA5}%n9@<6nwy(zy>{$69dP1-qL zn@aN3pk{gZN~IxPd{jCYSI$!=!@$SNMWtt17vR1nP02S?_2Ww4Xh?6$&cyeVGWo!p z#SDg1wu<0B{)cA-w3ngQJ!64U!pgRDp_@WCo=AP!n;3@ju~sIbZ?M`JKaC=4TcLD5 zl0VJbADx!pKJO}WOHJWRVUxiMpfP)WhuJSgTTm$Z8~qk6@z!+5=(~+!&{`Vy_vK!v zOiPi0j{{sD^A1G8HuNjIneMI6NB;%)#KGD)WgdP3+Xr?B4SY4e5dTJ$2LWugSO@Pa z|1xiC-KF|wOXzc(l#l1Tt!sG$?c&a5#5AIXYcF7lSg?j&#fkEd$Y|v)G>O;HZMma4 zQT)!5ti-I~Vp6n}f9W~?jFh!#3>U-h0Eu8H6%Q`qGpQ=(R67}-3u?l&i2-@R1MJ@V zJj;NsnmowVZ=-&MlgxT}Q_oejLofr{d}k@=w0n9tcn6`q*?~HMC7tp{wS!^JkC86( zzrh*xQLTT0h+a-VBEb@Yqfn$h<$(9w+4wfBc9^uIWupFa#<2I9D5mVg{5Vjl^lUG+9lfU}NsxYkZbBbRjlo+=A*zVuAJW?xTWPW@XV(?Fw(R--l^fb*?X)MyPh7&Zgo<&CbuQ_`75Kgy1@3^t3WYs7~|oRQl0*DU?kUseoU;v&k$FMWaLHA z5~@eGx#z-EOQ-bq*|qhvk(8`5<}RhU`-Ee5f{KwRwFDQkr=6XeRPM~m-Kd~6=2K#i|9AW&S9E4o9v-saE zLmz?$*+O(d5a#|spWuHHzau*oR~{d&ZV%3%k^j@Gp8qA!CZ8kD@S$J>Wwg>oyss@Z z+ETQmu2kNW87UXpByET^W}pwXpU@ zZ)iP&KFn(Q{`_OJXC>w=@$>DqHhgRM0=b;LmfZ;r-NiU}>J#5tW@8HDLx{T64!lj~ zI;4XqDx41#b5EG;DVC4pr8BuzBoA4v+>_4wT9&pss{K)oprjZLc=T)=d-MXRjK^$aIo`T-5c_7i=>! zQ0p8X=#B)BK}YqGu#aj_q*G_;G{b}@kOOLad$)N_U8fXKa>*e8r*v=>(x{yAeZ0rW z@7ZUCtMHV0k(!Jj&pa8N1}8ml%_I6WL$`<8ntoE>Ym^7opy%r{yaDzG)4&&Sk6BCX zrE1Y9xGw%rzBu@KQJl??3PP{z0zske&*1(VMZK5`9_L~>*zod@b- z!#D%Es@(N{!S`mTNcPX7pj9c&C0V&g)nEt_H^2kWOR8(st{-cEo z93lvPgghnCHn;=ky|y`9(7)UhJm(-G+KT&3jB#!PnUF9xjPv{d^rukg000rZtMuAg z2;6e+CsnGkzn!leg1HkT56Ci{6K*yd`&s{PX}tAOTB3XMXW6l8KN}bwKtw66-oPu$ zE%o0#uB2Uj7G9Qg(7Vyvp5b6KGE1zAj>;?#7E#~fGvp%i2RKgmB!zG)-<|ptY=t<% zP1GSi$A6S+%pZ{#G4&}j`6)Ak33?k6m(eN8&BP%RsdPwKROn4up$U*jlp}W&Kgb>Q zRN)q0$=yV;WjAm_ha9vCIS1))l6xDBagnLVhwKU5f5b2IPoux4@sslZv)(18tPt{! zn+NHNfqW1`TH0434MnrRs%fq(;h=j6c_3i|9!EVyYsS_lOY2SLtyF2fUSNv%?}Uzg zJFrdJu67BGLhgXh(j~1W>*edq7qqjp7wX01YU4!^osIME;#~MBcNiQ4yF#a(S?(p| zf5CsucJx>xWZ+}~R9>E7{^#P!>(Tr0`(CG?k^Ynba+0KB;^K|C!&TNkV;CYKtX#-f4HGBciEHQR>LCL^~o=YnQb{ub$d{PJuK;bmmyL3SoAAqD1QQG4ebxD~9{gSiC)2PQQl5ay zx#8xL%7;AFzzIi9W~uMCSj->d7DU2y6wMP8=$HIBwHLh}wzY-_pA*LsGu($I@S-My z977V8FGap1cXhXZlCGvN)+@8uv}bBK{dFY9@R<9-o4_j#dZk0tmR9ucrr5*<&KW5d z$7wNHZ|Q=TPx^~(sP+yB#ADn6lfva$O?qv8qy79{YtrJ=-d;!yHIY!LnN)R9j3}zx z%2_g5>T50a)Rv$FTL;Pqy(6FQfzCn22hORh^x^W@a9#17)=dAMNDU{+Gn7YOEoq#0 zGICYCy!@&+6!DW!@ZGqSJU0A^$Pgb(9t6t{_=G& zA9;Il>+N9~MX4@)k%+Bc!tQw!pr5P&$PQPgJFB(rqnu9e&Fjt-rn_72q+U6H$;;G` zGHP~=(Zd?VU&q@nA3lFH;~?VYPHYoUQol{lT{1eRCRR;Ni~mThla`nPZ6!>C{jKHT z8uhQVpZUg~*UrLBM)M_ahz2gqAEGXa10vf>j12i@SuW{uL8f04?AVB$l3dWgF{PrA z<*%EXs^*1aWX>^!oWr-%+hM2GZd!S-2^c`)dxRM1{Aw&dSB^-vLc`>PbJq$7^rl26 zB;FTCdN9*K9PxpD!CnV9snRUwSmY^0{TWPAt2%}dkHi;QPk0)qi59_qS#^m9a>IG` z@LOu8_#d%PQF3PD4XMW7R$6Le1Vgp4!47yoxgc4UJ3YrB*U&XVbNmKXkZwp`RF@BRi9qF0Vk36Z$=y>+DTq^D`J!iQn zP&u6z6%MC!~gFlOWYcegO%u-{A{(UyR*<#tBsOzyCI=I z)9Rj`=x=W!Mt~VbxR@ys3i1zf&Gl@v@IGh_|9?YqU#%fDSRGLe{-`pSo*L2dyJQiy zpg09PB8H?t5+(zb2|;I@*R4If3N%!yWsoiC_+3BI>LEGOr)tg zT)ac{H}*<4h%wGtT|o@i*WPI!ml3T^7K1#O5|k|{L6#yK6ljm{X7A{%q4`F^{mpc) zujdN%G5_-R)GtV_Kpd8;-4BN%&*`EdN4bE1B6mdyd?b1t|IL*F`sOaw(zq+7+87$q zkf^RDf?Vzk{}YU1CMWG98z+y$>cjk7L9(6qmh^O45pS~7F?TzU_A$ScvKWfz*uoinScgPfSTM1p53b)=XT{w+LNuB9XfKOtZEtz=Wi zvv@S!gKJB#Q5@D3{V$kxylkBV`(${_L8}2-`~d&m&&*e?0Dya#Wk-~WW-}uel85J7 z{~8WXc1^_pLY&f2YuB>o1W=n9!>Cx4qgEF@PSnEBDKvK4ooue89wx`=*F4*p(o%12 z4Z8+;rXLC}5at;twHL%y&t{`7zB;yNWQylB84R3}muCHzdn~ai8)OwZzR@EdO*y;7@~DTO_;l{lk+ks ziky(Y&3#LMh|Cs>00wbJ9!KJpJgpf~I#S-q@xD@8EuTd;HU=v$us(B;+!lA`rJC_c zMe$&^61?}zNh;Rh$EZquEP!1@$cqY$kmrT++Y+W&4 zn+MH)W*>8r(GP2e|5X2V1(h*yrh3#ml$XSp*57D+=!MZx1(3tEorbiQrZ@hs3FuP?0ku86leIJ+2*uNSQ z+0I;WXJ`+kLEh$allcFk8`RlLm*~84$m*|5ge~ElLSg7lnxwdm82!C8+`0#M6B{i~ zX9GipooYIA0Zf+v5q?ky@$Tj%wTJpiJ@0&xQ^d2(o05zzOaRTm@7xQYPTl--RvS>hf3Gz+2zgi<(R9Bkk)wOsE zb)A?7(@zWO_Sk4@5K%@&Z49!V?!a8h5xs$(U=Me^LsyU$Jx}Qk-0JXov<83Wsy^(LKyE@PHo<4e+Iim-u;? zm+j^o2$VIYE$vW-@-uJ}HgbpRgl}y9~6i@7o z|5w`0l%~UKU2mo%R;({o(lX=};!-FhQc~<>%rzYW@Iqc)>YDiiPRuG8w{0eGr`Fa?)0xC-{2;jn^`72I9Slq~ z@9OQP>-rY$U%Z4mM{n!S$1t)JQ#F-LsX#qo?{H3e^xRppS88irH5X_jtXtMPt$Mhm zbXC6!cZvV;+cbz(^>$`Pl1_9rqmf0Cs!T_!x73ToqyvP87xZ*T#;QA{`n2qK!-UA> z)DEf7Sw8h-%3&-O-|3x*6(?7bpWXNI9@H=zmmd5pFysiAmU=&!9+TOi50s@0YL4sh{C;v&t+J`OJHoJHV;V5)VS)X4Z@PSom0 zlgtsqUL_#UfbFWghN0EhZ1W%ITF{dIpIkZI82u#QgG8~2-qE;gsqitE9#?$A(w4^+|MQ|ZD7%v!~00uFWu|Bem+(Ap_ipcNeS#Uk+Fn9$rxqI9T z@Ea4RzPWI86WPjKr*2Jb52r%AwIn>G6qWa=wlPL8AzfApQ+5$+gp0CM}`FxY#;#nj*;m`f2Rw5(OtR;1DzvmnAqVu@`{WOb< zq2;7kkScUZx~U&EyPJ!&O#PI3Q17f{D(m&7hGaCCHmeTAeSo3wFL^-(`*zKtbRtL{BzO&$%%HnSqD^tG=jwx?Th6;Q^kEcd&Rs6 zIq<*K$I26FFgXD7<7Yd!8~gO{a+-O;a?m3(tB4ywB@c^#K-UrxY@4uCIv_h@>(F(P z<&4cGgE!z2+yHzCl?CU)2C|9IW_!V}y^*Od!OaFJ=RQGS=iWmz-E-zo_8?t|ZH(2% zuJgyhbwWyfOU2{y%YR{aBG1U@a5I<@p{1>Ig@gvk5twm{@%Qv=23RmB6bwYQr4z9=WiU1GxmdR8pG&tx|2-@>0k3@gFz>^%~=C_SYc`ZRVwxa?oX z9h1sh_pB0VjMhN?6Hf@q(jH_=);8BO@^Dt|NPp~Dfp|EbtiXNZ;<!Z}pTN33Yzw>@zgL64v3vERW=f-k5k!1WcA8SmvC)$K`&5Y`!r0?2(xsusG z`gdLjqgme8=xwHhKhxKo{pDYfas|Wu8dny+_WGICjSS;=dz@&gYg8W4!H#o#l2g-< zIR8ca^E5FWS&=hw{$g6?Y~OIEZ^|2gePtGMnrIoiid`rE3$2CS(<;;>{ke7;?1GHF zJMjH-M_PlfpuPA7;yb+oj6kY`Bj`!xq5e+XF11i=Nfkku9?e!Q8iI3sIkZ9CNv;cb z(FX-LQRh9?@taZ}nS&Nc_JA8j;=mQA8*?whI!_>}ctw1;9tR3q{tKD(!;FEAcwBIIf>Q&UfDT8lDE< z689L>{a$@6)zwRyE3DtKjv$e$gPy|sxvDGMgxl(1@~+n0+(wloQnfrjFmEaIBQb>> zNTrbfQH_{i-d~81Mb#$y12r?ePd}<}qTiw~_|f=0U%v00H<#IoY|ov^PZxUd2J# z#KrK|)kkUs4&zVw6?j{1Q>1}H$)|E>%5T-Jd=U#b?&Ri6L46rLmMzVEggw4D+9b1O zG{^qtd5>0~FX2A`#X_MH4%~7G+Li{^Y8WIz)%u za`b+-2Gd_GmHUg25&DCciS055fUsi@K8!m@?xK!+!`}AEA!D6-l&(g81({$R>xaE? z2fLi3@k&@>FVIe!Pt508HI$&5A-h1mWDjYB)1Wqep6lgXsgy9csftn?x(1dm>y%l{ z{ah|;_OmwPEkHl&jxfO0+}RTShnnv`pcYh@%a@J2=3%q5hQhR3BbU5u zv`p(iGal6AlDPY{o7>LX0k09(%Mk(UF}q2gtIy%@=!GD~sWcJi-Hp}MRs`#Z*J>Y? z9lEN(5k$e}9SmPpb&&CCw9j3%dt0LX%)x>L^|eauYA95%plCC)g*naXM zXDlc}JfqjCJylG7VEl-7i7rr=?%tLU9t}lF2P8+@5 zO(2VJAl{YPMoRQc$cP<_Cvg|pS;``^8TPr6cw6}yp!t2*ZK?3K#q zwifDVzn9BsE8!fYnl?}b3&*SXJngYU#A{)!bR=_%+(fUfj{yGz9(u8sV7=33K>{R~ z|C3DhrLg-JZzgr(k&$c+GkP%>xWm4ku=g~G>lGSp+%xC#LqRIJ4ccvnfIK=G%z~zf zu0+AvXOTkmDDjc`#(EL?Ahwc#R+Dfhx1`2`bsiDg#CK_x6&LO0ns6xd4fuS?au=;+ z@*_#of*O|9NUy0q#y=7+(3f^_2Kf@7NAT%?ODWnwxi>m5G%j3%sRMirrcYBV@w*{8 z{Gc(5EJ~h4*Dt%tKPeR}57$ts{<4Vzhb}|E25-8)#I>bF@(lSBb^!z<)^1{#j26jr zMqe9GqQ&x?sD&)j9O7Q7HjoEMbF|mWBJ4E%9~~ijf(!UykeQP1N8HV56fdeCMLLL= zJs5LTS`6lJf3YRm?Y;}#0wP&1%kNjmTK)9Sp(MFu0-Ka7{ME2K9J@a<*`Q1ASg zQ@&w`xQ<+R^*_5ozF(;?my@=Jx`}tRZOi>noi4DP^iJK`xe9F>8^hZish!l&ShR zr({l!6y~nU3xJy|&G*VVFYs`e{+qIbDo3T0L#;b@a{fmtUjCsMWCr`I`$v1rMGi-f zP@?z5?8o$L^eE{Ho(mUU98g+WBaEG~x80rMYXx?O;^lqv9s`wTQ$^U`^d`Iw-3Esj zEBXpvQQWE?kd7b?l&wkuvZ0srd}R%KIoKGipRgLM5V=5JpO@_X5qUYcrK2fP%M1CW zu@8{3niKYq%fP*0dAbOs=QM!s`3DAREX1$VS@89W!R-Gl@tnlTUy~j6SNz)aO1S*Ga1$Hbej61-` z$QiS&)y1M$U0*raKC^;c8HZLx&yW|vc7QOikW{8HlOwlMVGlr;5tlw(onZv*&E!OS zHTRf!;;-j#Lr!2FbguU|ZZBH_OHI*zhrnoVF?UqHiQwR{c8$C1fgX>N;A-a4Su zR<3^2=%IymMmkHB1k3S4I7)`YF7hAh8}=g*4iA*Cig#t7Qrt?ge)8*tk76k?#;5{k zH9+hhUQI5PdI`y{wMsnJ7n>|>>RawDP}?B`VjGmwg; zMqMZ0F$qOGU>k}4SPN<&Jkd;KZh_6xO0AFD%zhYcXAd_{>5P$JJ+p2{*O_G?c_Ue# zXihY$V)H<2v9|ZRGa7pctwk@%=_vdPvqDpS2V@33ij0(Y2@_b0?E%u@-MJ&zg+%EI z0LK)fPUv=MDP0ddahzjUvM05rc1=5~mB>3_UkR9IU2SS^8EQL<&nd^*(0kb%-Zf5% z6TktgH+_K(vSWbG`ML7!Z@#j=p=`m_lBvt+@hOqiF?57E$?Bk0Qbq3&`m47w%w4Q= zK5)g+U%AV^-=K*D@zwNJ6}~1lpmM-`dT!(jm_@}1eLW~YBym2qEa9NL2Ym;dLj29{ zWn+k{48v9>x^P~uPNcTp$pLe=#4Rv0b0faa-5>8ro|F8Z6LbMDk@KDyBzIN+RC>jG zBRc|J!=-VSYD69m-`5Aoe)$Z1&a~Ic=5?_{!Gn@6jNo&!T9e;AHMB9>YnXR@iTlIt z#d+FAsSsomWWyUlD{eDc2plHQvNLcWvW+N+pG3=Gg|I;|!#bTfi%iA#@k>K%aUO5s zyy}XRr>Qf@f6!judZ0gnGDmSdxeeJ-n`!np=ExaxCFm6hFms?i>=iC~eVESQj>IKg z^VZIl$re;o`hR4o=Y?_>;NMC`@Cru&^{MUv`Q^)DxID7)D=E1(SY*8Oiy`)g|Saf7zBCB#&^vaeotY zJ;RX};D78uP>8z3u3#2=RIeD?i-qC;&rSR>d6T}DJDk?Za_mTU4s(~N#SWdDXw-!> zs$apyYGbJeYzx$buRz#V)mP}(SG>w^W42k*C2xO(cUOWF|Nkiqq|Msr+$&nI`HVbQ zyTu=sT;W&RMy0xzMLwoKff>vI|8s5vc9fE-@7}`UJ@`|HhVA9&Vw=!xZ%Qx~i$VHl z?cjQFUBE1+nQuSU0gZ8W$=J%M%cd6`03ANgz(C|bv=e;qyRZQMkz5);U}ya^oJy3* zUzPV(v!loCzUTqRTxMy)tBiKwrkF0e2$7jiSLQtQVaU8~2>*1EI|d0C>)DOm4sMD6 z9J9z*H07M5qdrEv$*+U6uoQ_bC&ly;*V6Lih}Vr&v=q8^F%cEweo|AQcw( zLS9FCQ?S<|m)KJf@MHSzgh!r#;q$tK6X)L0-;;JRPB2u* z?G)>WUOqa=PJ{Q#)_P9%QKYpiKD?c-Lm#2;bFwcNa&;ChE$@9uo31!w8~qXAK(&%L zqZ_Ce;5oJexk;_08b*riHRUGCC&&w!qV6(EYlhc>l*j+)yfSAU;5eR_ zG%|1%PuA90FRa&~9b1MT?`jXekjo8QcWNn-R&pI_7Jf~sD5Qhp@TMj+Y4FpfD~J0> zaXT29na#Wij;j(dL_lwW4+vd!tn`Z;ZVf zb~1YC8A;B0dmPWw1>%V3NvIT=OWnyCC|xneL~ca&y!vvN=xF;8jWo)iDWY> z!VDxnP+#cX%yc0(u}DTxzYU3?7txQNm%*({ZF!WjKpv;6hJen--vQWhrovzoUWxt0 z^w)NnC5%VbL(770zdYk#%@8|B%E~R1co`FKlc$kGXe00LxFXOwKLT4yVfaumk{L&> zrT4I3TxWwcu^KrF-3*I8KOIzLuM$;0EjzkwtgAj4104k2;8}H(C)-&?*~aLelcm~f zqqX|dQI89E6)(v2MG6PL5}UIp@(MIeR1in9%jj;ot@x$6C#4fG!&W)u)Cx#n#Aku~ z=m}wxd#JN1kw~7TSIPa&nwqZ6Fuv-4YP>#BY)sVl9fcjPBB?i1oy-%TBc-k^z$ecS zaL^a!Hc+crgwB?x^6z<3-fmRZ75SGjK`SRD;Yva?*J#%vxK?iC9Vzc2_5qWqzpMfV z@XFX(WHI?oZm{Hxcr{QPPG6SbBO*_-yeYd zc9WTNp69-=>$b*dz0E6OPVJ{Rwo+hzGw41EjgyPmn(PgC1@;eQd?X^?7POKM=3(3cx59Ch4r+59OSJZT`^sOuny`Il|Nrlz~o8`2fM{XJ)? zUG`g0T2qYuNT&%>ZWBRsN}>shTt4O?{ARLY$G&Z3+)7_jk{KI09?41RiCx4;@b{Kn zMBP%3D;}n-w!jYV`@jvYvk|8iHz}*M|Adq&|6=?Ro)b>f7e^jiF~+uVfAf}7+boQ@E$zmRxaYFWwwnq~3wg;5&VQ`GW=0A-JQvnNQ+wym-QR@GsrUF>hG_e~afP zF9UzWS$8_S1-~J^hy3c%Fe{U!zEPv~IPDPTv6K zIRw-W)JH0~R>Ia{J+U_bF@Lj3XbDo9u}15oe=mfiL1TI(w&;YvoSCoxPwpP+AMU@b zOL(Z2fgOXV#=7(-ra!0!aL|eV&naL{@m1Jo=<)8rO`z)|A-|<(z{y;D$l`ux9F1t! zzrr<%Hl`t;>DpuzwTj*c%36I37la2JBMZ|b1^RG(m3B+YHLl1P{l7qG@eOe-UqQNV zO5w%kaO+di+ek(AW_Yl*D0QTBhrb)!#Pi7go^IlO>S+xeU^OU7wPw8Z;^Ylf1rUYL zh1`vbsbP9E6%rQ9S>kzNB=WB?Oui4PR`sO8+BpT6D2-3*8v3dvYrEy<@Fw-r-UNfQ z3Hl+WQYd>Ip(~_31wwsXCzPH>qH03&csawwUCb|_68w7(fr&~aYZh9OM$&4s6`5Mz7M|ny z@8oeJ23@Fk=a%Snp%gA=#1-w2q!ML?fl3xJnES={4o@Z~py_A=w>@G1H8OQS z+RpdDKM=!+bM$BTTv;?bTXn77unB%nKWviPvp5Vg7aK`^xfFG-cE{SK%V-7sga0cP z&rSuWQs2{u@l^K=v5hrb93YR7{>cAJ=@ba#Mfe8?9?Au!i4wW>kdLv4nX#TKj7|?? z7-!hcc+YvB@qZ;Yi%Wsr?1NFx=tb)Hq#XHE-c?c19u)?{q+U1DrZ9%g1iP5|uHV^< z?3m;)pg;J{x32hylveo3z@Mqduu8N5P6`Gkp-r4?kc(8CEJyBmte@_Wu;G5zt)k?@ zebR|S2&_}4=sQ(g@UwBw{{&1(tw6S8KEQeSNp@`dEAMY?wRFO3%2%bnnuDy&LVsw% z?;sydppJn>FqP2Hb)G2ZiDtjEvvM~uD+z<2PBqVI%cbEr@xw?Fxs@tREUBgGE3~PR zmR4tBq*4X0{eFY2mO=cv{50e>J}V&_U58do{fDSaRR`nHC-fK^rWI4FCKM=Br`8{d{#s=rrm z&C1iG|Pvx0`|~++|{tn1bs#8mOuaHy&!KX1Z}n zFJU=gKlm@Xj9JU}Ac=?I#S6T#7Tt(uHD-GuLLuz*bn1^%$Sr7b1##8Gd zp9;|r1v@%V%eC|#fe5#RdqMaE#qt`vFy2k}CCk$b;e1@nE=hNx#t@g-(ezkHIeRr% zzN>RcA&hu0bl*jm`K_>?rt~>_L2jy!tez7TeNx z&p%hY>>s6MiRr1S`~tG4(L~_c@p^x~qNlxDHFV5#Q>@|Gg`Xuy5E;A(aPmCYNW3ln zQqVyDtlxL5+8}5*%+t0+&2SfRBLs$dmfX$X9;_r&uwnX?{P7wlMq`Efd$2wDz^qHe z#`wD0kmT9qdVZi7EleY?26Ks7)X}Ab?4$g}on!GdnCQ(}%Ho%D54ft5&3q@4o{6<# zLxxEmXAKs1H5cgB7?Ov|TlW=N+{e=9((Td-ojG}rV z7o=)*9-71L!_TJPie0qy2=PzOfzn>ci<{yshRk$F)P=U^#0PG&(qhpq{%78P;;dwM z35maH8*M#MU2Eak?@2VO4 zhx<3MI&Ka<4qIpI#8})(X=zH5zrJ{;WF~iV`An48YN3PhbYTlo&Zw&O@En1C|1oTq zt-SOY5?ntjiC{ufM|D#G)xHHnpm#>&@L}9uYC2h0eGB>um{pTX zapdS9U2E~<$gUJXOcSoU7P~jQX5s`m8mI$Wg_=txaUi7$9<(%Co`5uUal9v!`x(V} zsw?A-W#}rn>+4BYhrDDA(pUZ?t4gzIikSeJA%p18dP{edJ4(mdSSln}rJ}G71uyxV zTxnX@e;AcP8KI7af`|SD=@z%dF+V`^-Qp{yj@GA8yNFACW#%pZLycqp#Mf(0_#;6t zeh=%ryp>dt*t+1=vMpRCt!XGhjZ!W(+HM6q21~t1r4lznFB+ z7SZ<-&7G+B+3g^+T~C9>Z`_-g1;Z9T|PBKT0?&%Iy>H@2bLk` zUr2+X2sa1cux~j@fqYk??3ezA-i_P*TZ6Wyn*r#gyj)bbFy5LQndeHzOz0n*gZwFp zLQC|6X!G%*f54{vzYCJYok~ZgL)K2`h|mHgLF%lRrH_h>q}kL7EQy#ee#6gV5;Y^x zMcT=BRE(^9@-SB=M+Y;vU|8vG>h-df>@`Ahcpityja}UcPHQfPh|@&0{UfqVh{j50 z&$hP57v|T@Y$Im|%F*3Z24b}Xy9rebqvu=>qaNFbjF!f-Go0P|3PIGxB`ixmlG;rl z>>mcX{46a>v#qh-Gtzstz4s`w9lgd4ha1A*jUdU&ca5={T{r}8T359;-s{R9v!thm z-Wp8~)FU#8?penuJBLa(t`E@}U!1gtn73?3@*w=WJXOG{^s;I8p~Qp~k?cbDSK83O z0>8G~o6c^xN_ahVw*EbNDL)+V1ow~wyd>hYAZ<*?PHT_r52=aFRJADaVAKhRyWf}tuw&S~qZJ;lErl?SR)Wi8(+*P!J{<3+s?b2ew;n%Bzt?Cy!-7!m^BGsOWabY#~=HPtK5|g;?c-@tMD&S20n@+gmHPx82rW<5JQI zd6+}XF0XDDd!)LRHm-@z+ln5j!|%^;YVTrOWL6_(HY?mNld{mb~TY;>|<`qw?luVZkLNmWt;>4ST zH)M=`Ken7G$=@Mks4!KJc^-Gpwq3RpAB2uNQ*tIW%*L`a+zCvS&+YKjJ>y;AJTe!b z=^(L=fv0?Y-e2-NxwmUoaC1y=`4{*O`AK(hM@p5aPm{36DlOH1DmQJ0))~4KVqj8b zKBpxe4!p+4W2p&qQudN_@Gsn1{Ef>4&U>bK|8!E2!_A~#+*S2dV4^-7nvz_B?Mm0=&w8A)iz2e-g~R zo!2_5f0*^HW^$H(U0*|;#Wzv!m5@1i=LPi;!M<3&lGF|P2Au9F{}60G$l%8*TjaImAR5|3@sI2nmR03~i~K8lnEaVC zhUkC~!hNAZSTQssudjP1(G$+^0i*?c;I4hRC~I%Tjm~Ls7q%q$Ebm`w5B#lp1GA+! zj4R4Q?VG+&zbS_xA@*|KbH{Z#fypP^lXZnWqqIT5`@jS%nWzIoz+?9WZu%?Y?;yos z^TLwO<4JEE7P+1HA6?n~5jvM!DczMB!g1ZJrAz&cM_Nb!``qbv+%}W{rk01)w{~J* z`CXt)FkgD4|6#b37jf}=19`ZfuJ%N?(G94_r5a$T=G`c;LwDWMoJ+7N=;ETy;@U|r z$~}&4&19$7OxN?`ytBQ28G=&`1-5}ZX$$4W)@60Lz{rDOO8>lh5Kd&KS#86kq)W<5 z%?EQDFCbO1LLnFFZ~Gk8QwYY5#@mN#FYL~|zG?>d zUf3pu@R0>4v)35g)MnOH?UBSu-%9_$zVIa&NThNDdKyg2?8iqkIZRGqRnjNCgl(5{ z8vDu}3)aLwXv^fU`cVHj*8)c;vZgXjq~x~T7a@)d>T}IWS}nbiWk?V7ZWgTW7o7^1 zg(QLH=C5VL(5XBL?MW3!X)2v;0OmM++G?dc)?IugO(oC3Idx5Fq?#hx)RV?b!-;+^ zI4vDS>S9Kj%ldX}5!`WfGftVc?tZLo>y<=N*s;-2kk>e&;huYKXKpu>~J;CHD8dO|n@x1&25K;L7_(I}JYo$Q`x z3^#`viSie1w{|tDt2|q(31`?V^ugh>MRf|J!jr5w;n!q_B&KFd4t;j=6r-&+kz$-( zL;LfqAhp$%d?z;pih<|Qz`}u-_$a0ib&Y6FwWj{m$6Iy6xp3=HU0)9-f)3<=N@ug3 z79)Q#GW8Nh4{fBB=PAoJXHI)pr*-f;JVVo7c@EHn>D9~@B20H-UV=%?|J>~yJ)}8$ zK&@@e*80PHZ*}E5I1LUm+t>+d>%AZ7n%)QO5cnjS3T$L2Vx4ONk(<8?t>NB|y(DPY z5w)E@T>N0%Qp)r9u}$bV?i={Uz8-X9ue#4-r(9=3yHE=)K}9oBQZaBTW*oVZ98aip zeSBc>HuqDIU~U1p3PMki)qJx0)JV1h;z%2nBq~Av66}~Qf$ppN^gFzmE0DSn7u4zY za)MV|ZG@~T)`f_qlaYmn4{dMs!f;19dNR>D5KDliO^H6_SpGU4Ol(4QM@r{!#RVo{ z_o00Qr;v_h)xa*KqbzF& zOZsYaDP)X~(8p=hk&<9Z{82pLy_@i1W7yeP4L)7nq`kJ6!&(Ta-AQ}E zowz$(d!&!hR2m=rOX2v(@(k-2J+9y!B#lJNK7UK{Jl2Nj?_bIkr%@xWWY55J?zw-A zL_=QlKy{z=!q-|86jClJbPG;BpZ``^P7dTge$rSNJ{53jTqV z2x>xm{|ot7qKPe^s0F8ju+Qz*Ah$2uaU5@g{>SXWHxg~oF62gYn|0ONW(~4-S?7$( z)?b!8?j7xn%$R{?3j`Dat39E$;6; zM;*dDF}>)vv^_1ua}!icyUb1i8SW_dCjEnzSy!MF{R6c1XF8&T9kqVO6tllt8XAw+ zxu)W0@dosI`YQ7`LD02{wfYn5gSjP~R_F~sGt;dzN({LWj3m;CbS5X|4*15T($~c; z;^lli*ao|UPtm{Wit(@Hb3R0>%{vW^Z8mn8dx7T?eCqX8>*-}--mj(zI!$=cx;)%Pcbk6uQc&E#*(-S)M=|0vcIOwC2jetn1wHm+;F7Wq!6s zTYBC#rBMB$&(q=iH|cTG@=S)E=v9X8U^f22R9mP3ks zK-wstHV44D{XJ`^dQYk$HPZf27;Pg=@ZDEF0~WMoLaY~8dM-ua%V*0E5rl#F1x@v7wrrl(rek9>{dEL4TqhZP1Hj$M%`^)GEV6`jqk=T zX!(myXbhkCH?6mN=|Uw8Nf6RsasB1F=4UOaSB)GFPts0XSIjs5Y1+2skCa))pYl4{ zE}fNXhHe?Pt%+KDt7qi1I?BonA9g;L{^N^lb_?jk^v3FKF-p54&G9z_PG%x#NVjJX zvo*L0{CdaNs26ernO=IFTuN>e7B3i+w@tn4?>8^rG}Y0@e5?f)?IR&M`~mtLIgix` z99IhE$(6<=XmV{D$Whl4rHO2^q~o3K3i%G56aQ{mY9N4(Etn+ZQh&XpdLPY%j1kOj z;51&3K8Q~ustbscB1=6*r%p3yKLRd@so2$XzmH-i_cC`IxNu z=jzYZ=j1UufvHS>f~^aleRz^^}tR` zo%{`LSmrTTCQ>GJ3n@f8+MfBl5-Tx*SO{{KoS z!Jn31$$R06uM(9-tz~vI7$luGqps0k!Dl>``4cRM2FN0$o9j2&ei+0~Buja!vlEfQ z)B@-SSVp%(#`!Mi#fdWKE;UoTfK*C53VoF6#60x`Rf+mY-6X$5ztcQ+D`ZSf!B#Ox z>3wLHG!H$A~p;vj6_(G6M zeR6tfj&e%T+GM#Sd4uW>K7mXiu!rs8>@H$CB2hc9HKzMJZb=cigH5Jh5(DTZbPZ{4 z@+IOCBwqcGQo#$lJ+ly>4RS$mM|E{IbYjaedv#LN!nGo}u?XgY252>nj%JG5Ub$@i z!FA9Kc^{Xh<%uM>TdIkE^exruss9sCbJv9uToOK&c$M5&s!~8wgWZ?hAIL#$f6phr zwO^A7c}HY;IN#qjJi%%TTBX(WmUq{MK8}s_R?vW)4c|3s*1g;Sd|F>iiH{$}`O&)8 zpZXJVo>@k#FD9EkrBvcB$~ivD&6UeJBZMigU(wIfHRP z1y0Q&lF{~4>Kr(&{#Poai+Sa#fc+b!Sl)vy+*qn2v^=+<$`O~q4yByc%s8WtGG3Y= z1#dwE&Cts5_mR8WIijKPTKlRDK!$^%)NMRhJ86DU8t7GF_HShI>Um|568LmDTS$i8 z5)U;L?+B-urNYt59mp!RAd5zq?D7PyzBEbwrm4~-b}7A1@#u`2Ck}TkL*G$bu}0WM zBpR=WUn-b@W*}KaMShd|0X3xMvEQiuC67x7r9&E}_b$^7*U1I=`sg;!J7ASu8hcC> zBf{hb$98R`e9C`K^e8i(C6u6?ADDvH#|8g+wS1rfbnvy6|Bxpb`Py>ncXf!IN=*V+ zsc9|`#gXf%Biw0xqPz^|9V$o%N}WjfMeUF?8E>8PletD+C>RP^ZQD$D_>htBYDuiX zOR%U1ctZGLVn5X>=M41(90$cb)jcIa4`Mh@a8u=w`m3Sb zk`xxYX;%cBv|Vnb)OQ`1xPn2_HL(f&xw#o02`P+|SC(G6JS;_oNURyLHd-6`u4b&h z8k~gPt??vkuYhk!c&k6v<^(nsVA9v%Q85tOt*M5lZ-*W6e0i&Hjr2@;F4b3t>RsT> zVs!RwWD5QQe+p)yJFI|Q9C94DE)|J##92sxtZS6h2N;%_?f&N3QN@>SBbl%MW}paH*HsUmvy|33-r&}v(~txamC0g0j7V)L$n7!jE3XvS@` z{o}yk-RhZqPp@dLGjirp=d^B-f#EDr4&0|&fz`xJ z_%2%Hj>bPRqK9MuXX{z^5}s;4vRZ3%u_>S|Q{5JW-m^Qo(J6G`v348gWbP_8tSV-n z`VUT|yi?voPWpGWlqUdBf4A8)Y(9OTjbUbxUaU5;8cEk?$)%-I!AG)z3?eGz-$m+> zXYs9&wwGo>TCeui7((o1=202!4)0cI6K>+&&#nkg)Fv7qgZ=qCQcu`T`$RON>rqkQ zqV15qK6aC??bewc>;aZy-$Iw{82YTOcD4s33jZ31mXs96I}h+XfCp4|QIKVMOLD^L z%r|C9(h>2Glq?~|9Hl#?hVo(VG*+V6Uqm@aCxyUcjS=DP`U2@c^|kt3`wsK=dw4ti zM*mVzSdFX=_&9WP@@TpRq-&l>&oXIrzl0xjBO+JsV(u|YD=&=k+6a74lGA_QvE8xA zFXjIUJ(#N(UWCv5!i1&7pn{R&S-coo8QzXMYE8A-`Z;(5lT#j)=>giL z{sX(YH{~u$Vq}Sl5gFu1a70`R>2K|{=iy1=-GNNkkn0C(TD+=A$+`qBECS4^mUB&33%rs<%wzVKxPY!(MO9k!v z)bLB_lgPAEttFr)=waK84OCX~on;Bm>!g_c_Ta`wYD(5Fj~E#$*LvAX^S8&sJd*3^_gim?Pmnc#AbCtd}h#|1MoFk;o-V z%|SH%6P-X-1XJA0Q?{#j0-KyW)C!Pd`BRIAY0}NhsyUkEPs7*2Tf2mnbQaLNVBe@V zT~=5x{*g*D=YYp2+G?RMjYE-xu<3O)93Sqg^}xRJU+}}wHgd3Flazt>g+Z%K>BzbOHUzd|@}Sx2OobJ2Zv-mi5*-#OGRrH;~HWcZuHG4LwHf zs}6uOwxb3DJuFkT4_cCeg5GpL`kzn<-g50!>gj%|7yEy1Ns0is1@ zQ|C%-QSMy$?#X~tk+DXaH8E@}?BH+8oXdTum55XeKSheW@{q^qb$3VDaIeHoiKz>| zQpsclQXEw#NvjXP!9&g^yqCO4oV9NUy`71+Q^mFtkK;3xikw6IthPj#f{SEh2aYsA zq8#s2I)WD1S7^oPCa+Ofan8~=$v3Y0Ob}EDgG1Z(ByFC)Dx45*qSZ71FvfBSaS?rk zwsWth`!84zMmxHr|6)-t8efon!OIPearEo8P60+!H;fV2=e>~b$SsNOO(0W_d;(MxI zNUtmzKB`q#KS${BMs-@=S|eC+&{;)8+E_vJV^y=UcXk?2V&*_v zY>>D|-X%4pec*#oggCXomv$+~Q~ya0zKyd%^hF7QT1LZSIP= z+gzdSz%t!#AcDz62(%G#;RX;ad}xQ_Lee2{53S6`npUi_+3cqObQieo$$L> zp=K(VwV-=EyA}*$GT7ek=~!ceM2Mxg?c0QUAcL4eJVby}-v8Q{;>sY-ho+~Nj{i%y zCl^x(BsYT7uJ6L{>UFM)YhiMSZ7xqb`=nF(ivI%Ti2auuSGO!Kp zt+(J8K(p9|U@?^q-N7HAtkRNCly=FB#AyAM^pAK+tZdvjjzFL0T>cR>DlV1>8JpB( z{9dk4cn%GolU+T?zd=Je)*qvFmnz6k>8bi%o~|cFDe=E@nyZMIhm&B2`;NOn$>9WL z06!b)?*AMApLCD78gOWXwMkfY^@G;H5zsm+e@NA&Mft-ZCsD+TQ)LO0eyT4va`ivW z6ce{1VhLr2)*-XE>j>^3M^JNYb?H_qN3dpEU2Qh>C=C>9`$prHsdAvEZ7emwRR)cL z%!u)PQ*4!l8oK$9K2EP_WSYN020%46X2t)IUbc+jc%+I*X}UB`HUk@6`>+Lg_be)< zc3`}#Jl8UlTXza_A7!M`>sUu9P?)cHt)~IT|hv zlZpi^!j_y5%!5;<%lM0=ol2(Ez>!V$;71#zq z0UW%8mcbqc76e>b8A_CjcpJhN!v*&ib`<-8&1Y{hLsXk~*4zLm*qU+Mr|M52r&i&% zb3y-fyM{Km&xjueV&HdJomM%qPQB}wU3=>&O* z@e|UA{-+nglYevs&{g_Hi_*q&7iC%5V=o~NkghFlt&TMg3juAF5(q$& z0QVf9W~)p5aQ0CC6SDHwDLi;<)Ax|vJs;-RO*OdBuOse%t05r@Z@^FA3`zhnE$zU!@RGrv0@qAT?4l2 zooRK_r+D|KyUGcXV9}+b>xFv?E3Uj<7$~Z@s+7ODTwF$y2k>j9x;f>!?b3Ge4wAT+ zKz1Aj&A|kl!~S&Kp;$VNu;t$&20*_5FloUPWh< zsf^d%+5NXWmcB{+PNj!5>1_UKeXrU|8b!o2C!7`Ga&UQSV`V_W?|eOd2fX9;(Eie1 zX$SagdU1ZI-UC{ByM!x;yGKfz?RBr!1pd>aw;3}kjY_*rJJaTPaWD-S*fVg4;D|VC zEf|XbsVmNb3Xtx=_wW1sWa*NA6it9Fj3-igu7o<4+nHBWeV!l7v0_=yo*WcnrQwO$ zDb2K!#!=|Utr@NqzGpPE0^#%0YBf3Q9WE-LtBo zgzzPBln=`j<1-vD)%)5PZR7IkTvM?EPEc{s+;#zN;V7dWl8P(S`IykGPzBM(N6B;L zrrQ2R47Zva=}ILXkZLdK2jN}mWvHCaDA%Y6+9>#Us1Y(>XvPi4Qv8ju*4`UT4So?| z(I3<(?>FWNBg4r{PzUP6m%4@BB$h-Q*@hDLxEFgBMyGSL3AN z+CU-3UtB%o`cseu7qL6MLs~}%%+?0Y@+358Kr+Qty_NfS_J*1u4Mf%iHE2}`2n{rb zT!>U+hm&se2rGlJ(p824trUDo=g=%LSNtT60I`HyS>vq4wMNDzeb*E)2kl~^!T+es zsd!2%Unun>x9At`X?T(rQftWl=(5^vX)Bo|&r(#z0gXyi$Q|OKoVtuo_?+kQisEN} zIfXc?a`&BEAl0XWZ8(k)RhDOBmQY%`6!;;JRhk0||B6o`mrEu;IkZ`-M0G*(#O=s; zJK|XH+_`A${5FAOd?kmUX@JAN9OfqM>O&>N|1va4-em4G`?|~OulQu}}xgFWxUc%qpeSz+3f0a2%Ao!Po zV=}ZRa4ZLeXvlduE!V^|L7ljV&H&v_tE>D=A2+@!i;!K)p5Uwe|AZd=uUakbve?jB z+ee8e`6Dm{txUy<4t$EIhh$f8xYz5Wjg3jgq#t}GtUx`7d)?cTVjTmdi$pUTXr;-q zbWL>!pH61Wi3F5TqZ!G?nKJxxW+i!DKMWg1qavpn*?l|Q-k7Z%U<=K{}=)?PAdb=N1zp)5&p(ZMLgzgts4Iux!w4Xhk0@}uYQp_D!rCA`_(|K zINrIK69ONV=Ba-MV?Yq^iS7q?m2}}5eTJj`jfhgAd+0OBo$TRHLI(P)#wUZ;d?#tH zE0g>zf5x500evgJLT_Ok$kvK$=l?***l%b{xE8)a;t2n4JcMNgJ}}eSHTg97 znI-Jd!k6|gQ4O&RNRoY(`>E@?Lv{~T7tia$bTXEP&a<2JyYd&-W)>ioJm0jLT9&tb zh?5S{7||C_M0?L`mg$T9n<%_yW*!jh$kA( z`zuh7wBA}Q=&AG#%z?e@C)nwH6U5}5GMbjCh%V9&Q3!EJYsfyPwrj_j6!NeZy3 zM1Qp=3E$cF)=Bjx7A-|7L#WZ}Y55=eULamR49-K})f6oNs@j_<-9TJmXn{(c56;E% z>@{TQ+{8NY^-U4{;GFtn+7^=aj?U*_d{nSX5<%PW zND-KcztG)zMDh`0tUik$NyO>bPdJ-gmRzP@RLdfN%X_ug z`Iz9gm4xBucPc?m#k+8u&9c_+P`YtZy^)v^_xFOk;Hb7tT1$U1pUYdAzb%jPgfa?j z4#ItiL$#4?ZC5MV4!VmjQgG+#my;%WQX$2xv^&e5p4`s7=h}gzMgh8jXaYB5n`~#% z7Unb=b`SN7zOBr4{n#|PJtIH{r-FMKx0=z9dF@8V#Q!gRjplcafkQSOQ4O6z@-LWyo z9yuF-DgdLZ%ZWGl)qsB15poC`oKmDtFIlhEWg$!`neHZJ?A zv)D3^@O#;RwbGdvKvV0Cw$CmXp0i32N39O#1R>LTn|P$8v0nGxCulZ+p=8fKF5GDvE@44XU@U+bogf1*BnIxClhDT%9?J;9!lv&=%AcX z!}2n9QvO>)ko%K+qB`pBsXcKR-1tv~=bhcqWH;T_7O53*Lryw|o}%(I=)>x-UxmJfpW1ynUmrlUa4)9Y5Lrl!?GW*mYJ;72 zWPr`gqMUhnEZQT`5l-$0N)x5+NG~{5{7$zshWSr}rBZEY+p=q+siOf%&tm1h{8C~$ zdKrD@-x>$_LHxw{Sibs-EahyVs+3_qFiPXil2P;?oHv~TqeGdF2E>rOH_{HN4(LOS zCVfo0=Q8^Nw1Pd&=j1T*F&GAxyVrw7sX_27Gh9CqiH>yEUq`Nm%c{*IHLPRWVdINd zUu$HRGZ7quU^wv&Z{hxpZb8Nqckx7eGF!w>VF!DYyyvOjFrn02*j*5d9gOy?z4A{( zd-oi^7Ia9pmuluVGv4dligouRiU~%0maq~NWb@qnzyb0h@d$Q2x+B|@%La>-A)o|> zk=N;EuwOF5RhBMoVN`4KaHNA&BpeG=7iTDf`bq>AVx0lKXoQ^)cRT-sbl7Tv3xOnY zqT7C1m`H;I5a1<2U-UKr3?L>z>kZ;7TkUqkW z?;_z}ak#CE(n0zN0z^FcNCfEzY+Kh`x;Xnk+IO?feS zMagyShq;FsGlm`xo9_X9XBiu4EJdsT=@(r!={8gux;^L(>FI~?X~-t7WnNofdq-Wz z^s;LSh4@Z9fh0#u?Q_jY|0;jhLdIaKvt zYp&2!bg3@$4y90RhxT)Q#xmIi&wMxmzJ*_=7O*YcE66;it9ydb#26`6Q>KT9TCkVE)j<}T zP?KG|;8y%2(UrZ#_Mu{#(u|08N3Vl0Xh@WDjYFQ;Q>ke220osdp@wow(ED<>lc(Wb z{1AwMDb9B8|NS3DXBi*G^|oOk!6TbwWoCAKXEzB1cXx;4F2##eAm|_01mam4pEI%> zL5f3hC`F4FcS><6Rwz&k?|DD*g&&aJWzU@Fx$o;@r#TyY8gQ-16Z8ZMg+$u{>?^{g z)5rsG2mV1VuWkXC;7NMesA&C8Jj#5`{8n|M{!soxNqk2!DDD~(HTYDLY?zd$4eo?vz+mf7muBlJkLV<5k=e9}GIz8fvcY?d=E_Se9EB7^D2zl7e7 z9$*>lI;EL4^*HOW(aG?borE6tn*sn0!6fjr9tAKXC_5cM!l2!zrlBdP^}BiwkxfiM z8vDg}W-W6Ia#n2{YC#^PV_C9t zklK$7351YvLI{jg2Wb&~0vIDdvUWkY(kda|{fi${T3Bh;Oy?G(sTFYNvx`X+pR1hW zt1#zC5Aj)pj8Zj@?&8lATP&euVv3eyMUKNq3S0o0l;J?c%u11M{pIJsBcno zk(uC7a0~4xk1~t3eL}1>L6|7FP#TEsrPk^x_XW4VP$l|S{x`7>+7h3O9s^&@X<;|0 zZ8ZtS65Jp+IHOB$8xR(|;_Q6<)1cdZm0Z=@?9eEn*k48$2T+!+Ior6q`c+ z0+X7*K+4DSq*n4gt-aRLO0;67B*=X!z`yZd9NR%NtF5`!92Z$)o!4)HwJ2h})vnWv z^ildUGB?~UQn#pmIHhDqu_$L+7tF5(J>mI#5&DWJFx}V=zL&l%>L?OK>Y%rXR?J*c zpmsQa%lehrWMkw!kfYrVISB_o-Z>B-29uu{y(i`~ec$^Nhv_NSZR-cfs~;5EXI%^D z7nPDZyoNnsd$37#c~T|cQCskF5<&i(E#VKz_K3Y;0KU+1fltftC$_hz^Mh<8brG{v z0VJrCrS{fEwGz2j818HfDFF@&#EyYkv8%!j=QZa}&sDBA(}x-F>&7Kfl(#4Qm2@LS z+*))D=ppY_8^F9)Ypr&8u^EJ!#)pyBR!*d2QA4?mvS`^Lw2yFBz?p(TRQ_=5b)*DG9uA;Y*8iiB!96i~#AlMMvcJ4?{=_Gm9J&%6He&jm)+Q6;BpPm@r&v$aW zrI)eI-BsnZKpkfvd^qzS8f}KCa{?xTOnNY|tW!-Q2OF+nu8;CiFi(5$*qoQAY$9UHbzS;AuAJUP%!a<@I)vud zR}4zp3iqV5=@;ZFPi=NR8{q!-7UN&2!^B(qrF{xkiCkPz6@Bj~w3(qqdKJ2h&VpRW zUYtp%Gfv9IZe}-nmQ(9t%C9*O$!gk){6hW>I1yYU6~!J6jZ|Lf2A>?VmE9kzqxJ{S zT{om7!Bj9FJX4C)df`J>1uao+D6ax7m7AcNGAfj-HI~=#OO@pkQgE(tHqk`gRIt-M znC?Q(XY7!jSCx8&KjxdkomK~MN52-X3a-kRwD*P4{8S}{SF!cv60)e=@z{xS75{(W zd%2MJMh<{Vp)poBqtG^iBB{&vRG72KclHQwEXb4L=Et<_w~Kle_mf+O?U6FUS#mFY zDBQQKlq$M5!PlmlS`&IcHj0V@`)l$fd4$@=f648aUl;DszPGLtt@U|k7jV(~$9icT zkI3PE0M=EOW0CkQs;v0kQ})YJs^#v0UAfVw@sz+;0+_r zxEo9huhFZ4$?hrW(zj9j`C4*3bzbE9!ZdYsb7m4W!1iryjj*W&) z^6pSq{gzJT&agwggl{f0#>@Ls`MW_}#cb8wsR6`2k6X(Q#9LsW?RAnigk}_INJ}sr zY|h_rkIwxjUxx(9D|w1~4$RQMnuB3`u%Kvv7zIPa&8({KI!ai)ALK!OZ5YgF)#KaY zV;w6T&ODEMkbN0!cnns4lOLe{)O`I~K|f`yaU4toBk}FREW7|4M+_pWByMsKCLBqP z_&!1<$ewF&p4QidKU)2r6_LpWBe9okXZ8#-oer^gv~j8lM(5oPb`PF(G<84DFo*^A zirNsnweFj`K$NJ?em67F(~N4!j!3z~%|_nAM)*pqEp*CuWFGrwcs*Q=lt^;2uwDs< zt_x$aIUx=8)AxwQp8MX)+)N*QJF89e4Xa+K+Bml_zpVTC+S^nsw7D%VQIL9oU6!mm z)uTlZ%!`C-O^{AgwS?NrFSthRa8z-NQ9}H@gEmS9ZZU6Ca*zErfLWA$WVPHMfuX zjk&-r^60tWF@F-n=uMoB>*4;F?#NsStWf_Gakq9T zm|+esY%TC^O$!(XFLs_(!8wJkfJuy{H6{M9|$*uE{)qbi;sd$ypjZqzK$ViPAKwedv|ABUmF? zAeAU9l}?3TNc@dwPmqONwAYt3kuA@4_Fn~zu}HRAKbu39PDXEIy3A|4z$*9+L#aQ6 zwAfenw`h0l5>|;R_S|N75^cO+J#kJXuVd1-ggllf2_l|j$qB(EVTP0-f7KAZqFlrH z1_qIC(G6$OKgpx5XO4Byi2gKm1-7eu%42m?dn)zQzi6wlo^(yf%4zTEoxGTO%T@I) z_V|2FIocOV{UxQcr%_7ZWN(s+Uch&(8wbXM<3g)&1Jf_pHJ>V}`V+G%-y=9*zZG1? zf1w5T4$0IhRp4Kwu6qw3Qmpf7C$a|^PUSCJ*sc6bw-4AaIL z)*3TCyd=C;Z4@~biPFfD_oc%@d~sUIT}EJ^dfITEptaS<4ooigwJ#$w6DZXU@1L$A zfkrVklQtpeNR8N<)Lc3iTr743f9aP?YHtXa)?EK-!`u!2q64M#OCES;lGUNjv^qHo z8Q^Lp4dvg0Mqx;quzm{9FPdVhksU=UOvrZ#Hz|r<|Dd>k(eRRCCHv(;Fl%;FX{SHa zE11RBgYXNxg-vpXghoP~umPr-s~b6J8lI|5qc3`wcsdh1=*{?z%v`sQL=)|Ww^+QB z;Ro6O;$y%Dbr@ewI;e%vip&c7K4eqA1**{*;Kpk;*_^4pHEI>@v)V@n7snU>ZMF}0 z3jd*X%Iyjc%P)hUjA{lGo^M5IgY~Lf4RI24NwE<8+0;cT4!R110r_7k4$_=uc#Jiz<73-OoqaeNRl zi>OLze0}r=eywmIU5#qyiRB#JUg$76i~J)cSist>Zvii)tgJsEKl*b^;b(i7SCQka{b=oY3py6Ja+BE(wL=0 zf8rByNI#&RRs77FI1``84kV`2yU8T-vu70iq?Gq{_g+u#n^K#to$^O=Yiwg&Oz2P1 z1W7_uVU+$z9;8+=>S#U97jTC2R{tk_+4>H>AdkR*1DbUb41jKeDduqWf0UEB5kj4J z5<4qL_z!`lp&kT>H1yZh*70xoX`(3GNrhZT6tb7R^Vz#3#a_V@(3<}G>N1*4EUa>n z{J>0Lwjphlp@GLRB{SRXhM!d~h*{7A+5wuBn|pV&YvCy{$Wxw~M-C*H=MRuw&eyJL zQYHLHFjfDkd=FMbNBcnikolK&QxLTrtr~e+t)GX{--TLaw@NsU^@+Jf&~$h50MdkS zfyGHT{U-}nS?|Gd*hScATrn<$oWjAV2>1nz0Pnz5iw$2EC#^XKyr@XdL$+ZzSdl3Y z1rc}U^>zX4EFNb-0M_>8w7?FCe; zo_Q0ts=MgjAO$SqiG%dFjr7~ZmsAvV1yrIQxw{ZolbTgsiFcwa;akNYt^WZAKC6E< zMESeWQSC=i0gUxu7fEfCX6YXdo0W$x6qG`63g}g%r7hz)Ww(}v%5FPLl_yB&EoJcJ}k0W>80^Gs( zq&qw9evEu5Zwn=99@u|rOQpb#+*S7~=O1{hL#!H;f5}90tw&}&vG2%NJRs3^c=K_UgK|S?LuC9ILv=u;va~$HAkpw>^}VkvLW-Q+&ZCtMh9?3SSqy^JpQj5 zIGA?Nc9oE02wE34p!m*K$1Maa4E_>^NyYko1rJQ6z2m_Tm2AhMps63 zXm#1?`JH*;9m>_wZfZm17jm)wP2Q$o0vq(b*lqZ^E+txUHN9)_qfCG*UI~SU$b6&< zdC)&KRE}GKX7Sy@K_x5HD=$%Dm=atf<2T>Xju=$}|;NbP?}kD={Uy|}#4GG&FonsF4~oc_^< z>Uly#I*&R4SR6uw^j||$og#CdJ&6yZ-&6BlDTyCkHQ+Pf-|}&FySj^h&e+^jy@NO% z@8E#`F5->0$3_JX%ZJ4{P@-HGXJ|W>PwG`L&uD8&ii-Djc7d=n8--GW(4bJ%$75y^&^6qhYdE@`@|F^o+@pV)RI>^(6>t?UP__*Hg)9f2+ z7|cHp^4h%Be2@rfuR#5Zr64fKoAV=njx2*Du@i}EkQrHzT0@Ru_uz||QNn$hLRK1K zWjG|_#3o#;B7s}VBo|h3pqD5vD*YB%kB%k;CbZ1V{8I+r-VZ*FX+YpWVe|8|bz_=9$g{ z3^@@mHe0+d)SqFX74)N4TM$X%vre$Tvu$KFU^PGdv5~KeRjUGuSopCu|w9SANd; z=rve9Dquf`<}zQ{bqTdvjFYop5_w8Uh66f?9aE3oTiV71*1bGu_5?bDp>Q4th+Q>K49B{-xHf4pURJM=c``# zZxRsJIbvheKt3rd2}&1YjW9>4!mJ|Nscxh>@M0?S2DZJvP(Ei4Gne@4yd2kqt5%R1 z?95e_+XUxwO%t9cx#_MjkA@Lhd@Ze$BRa`l<*jkg-W&n`@mjYmY^tYmq^fK*#*|4qA6DyK&Ol+E+m;5qOSrD?a@;KCR%I90NF9;*mOgK;Q|i+PoaubJYYH|p z&zEKM`}`7mo-OC}5PR4mp(%154#_T~^)Tbfx@wx)jvkv+SshB8&BjTODhgIwJ~g(0k>YhTL!1S@(suI zK)U`FzZ4S9ZD<43XUt7{?k}PX^NLj9x+yi2>e~0qirfZCb~oai+0)&{R8?d-T_N{p z*W%#&f;4a*_qtna%e6Fjwu0$y*r%8WE|OjGv!S;NMom&r=!L;Ah{az<8U>GnQ$3JuG6`LTy;ZIU*YU^Y!_s|Vfy&}BwLIC3C{twx zR#EEj{1e;k??VniwnN9Ng%8JjR5-`Ka*S7oBp##AQq5t@)lxnZC*b$gYJOUUvEpS% zR7g%(h~IZpF=K>=q`LaEeG-{Yc7&Yn&fr4+DlmvIi}%-8`KOT%qpD;4vd0Pssr|L$ zXCgc8E?Ydz`!|Y6s|Gr1>CcH)M0x!%ywA^|XBI}g)|0E5bT*1086tR9u7r=%ZiK1} z(MCsNpxw)FLOX&%xq@>T?0c+`a}pBxEce|+fC=;>S0>#b`Xq60OEcif_5M@bjQQ&A zP&|X_wzRLl4ZY&HWY%*&aU3ysiI-N)k@BhL_SV`tS5sn(l1$(6l!-iKW^+d)wb|XC zcEwGCBan0QUB~-ScVnN^;aZ^I4QO^ot9UI>5fnv59jMJEPU8 z>dYJWR_i9-i5L$);0@e{u@0M5kiOzmpmJi2^Oo~I{;{A9_86%^RkrOfzmSLzoXs1G zT>#yM&tzEnS8l-J{?Aww+KYU0?hAE^-_CbQ=po&3b;Kqm40QbJ?h9%n_uNN=W!+Y= zBA$pe49pE};;-WMl!EB}_P<@fD39=)IkSX{NIGodZ$l@q`%|cetl=BIKVpr9 zn=YG?9z7q)k8H$x(Fn`{^dc?`8R#qGM-W8~rK3Qqk}2OKKS7S-Bm4)xH^10D1kc3& zGu-?RI8D7NrTg1KhVTG^3Z{!BY*UO5q)Kz}PoZY~24Rr&&HdPRo`1L&J%+ zNUB_}DvCFD)N{T@P9m%<6fTT!S+K~y86BrI4eml8NxhY=#3wm{IZC}XHseFZLs~lV zr*_x)6YmGxqW$u#V;XuZHWv9y%tZPZK2~V=wybAG9D2~dw`dUF1GcQ%D)Z!grGXNV z9MS;)*}OPMUFUlDgh*2+pB`1Rme|IkCD7O4UMO$DqREM1e_oIbf)xdVibDq7?!Y7? z9Z5+Pg{jIJ8RdouHPuwlKL4=bJ0ecy{ccSx*o8C&E`J%cy8_JyPWbhLl}C4~r`@_5 zCsok4!@f!koEmm#vV_^LL(EstX6{;X6W=56s`Z0?6MR3EcCEBNrdXV-ofZccww34E z@uvATiHdRlqmqY)=GA#v?Ki5vn|Ij?ZhkjpYpxZ?jBY^~&3!dEKSJ5v8c=^%dz zh2{4A6YyEsO1?se5eGoi;3w9hmkNcBf52*?y!Oo9P|1xxO)SK2(nIj8d8@^@%$b}M zN*cZ^aW>dUj~2=n45Mj%U)dk2s?sj}68aK8Ti@U^g%XAk#iGNtl6e+m6R?T+mZ zRUNsb%!}!6%269>67p$?8BeyZ@ z;j+{Q^pV@)ec~49c(7vmCGnVOC;g2cLm$(I`=dXN{w9q<$FnYXd?8J57Ax?5$eu!a zFp*uF|F1MK;dx>AxZnMp&>dN0V}LUd?ac{xz`8JB1Lx=%&Xq8>;Fk8(9m?5YY*q@? zfyOW~-CQA$i@Rfdk>1(of=TF1wzju&NO8+HqkUz!FCtedRwKpy~ zp(yE-&~|B|^IMWgv;G|5BUZ34nWcprB3Ee{T~?IAYzY+=z0L5*jZye^^B@FU6 zq;pv>x6|YF{^glM|KUNY0hExv42ND%&>8JV8um>3nn(6LU?Gj1c}er+#KH;r8=#?S zkDJ#{n@x<7GH(8ByenkZy+-=W%k}->l6)4#h9}TV$d2@De;6Ohv_(!*ID6672hXGtvTryygV~$B+xs$~b7myo!(%GH zbWWEZ@ey!Bb{Uy)uW$kymj{NjspqZ}#4gVXmWR*ei{MS`U)bAPCauJ6_~1Zi>L2W1 z$babzxk>Xu6ZM_y(?oDnZ4RkE*Jz1!*$U%`w-*Wg|K160DjK&c73OB7!uJn(PAE7JejUup>Sale))2RxAG zrRWRvwc)?bxNt(aPGqHJk`AU6Y06Fa&i5|2ccqUIpZGEUy0%e)#{NdaE!W`S2mY%2 zAeI)xJC=ov`1VFsu*K}aL^0j*{_?4$j#2}q8~9WC;>cUEPv{2w$eH2I#=-DoYYR_? ze!~8z)(kH)YpD6wOTAvMT=kjAuWKeu0COO#u)wMUJ=&L?;SZ!Xcz3IddEH3Vrzzb*dF&rNJ|T)oWal!m?zh1P_TP*nR#U49;Sai# zTEKZnrZ5aFG!|&D^cB```emy}QTfOUrCy||Wtxj&m+&%Q5%#2>B}FQGg^lD$&Ic(a z*T{MJf}kn(%xHsOK?YH)$iWp3$rvvv$2~UB!b<9#r-1E}u#P&z zz`w(P&|d7iDF+CO97wH$NsEA|GdtHtv-{`*JcB(!FC~_<$H*=8OGwPKD4pp^w03krG_i&=0yVcsqyp-JRPqb zOap1!CeV&=Ub$=47Lc(pL~cTtj_Hs;KH)K)HdOcQcN@U> z&+yhxNlu-Z@`3A>9Px3?Z2AwfDt5>$1mzN*8u`XQh)o@2Pq9bGf1uCMpP6aI9#Zny z=u`46agr^~(NzB=)E4JCJW9K~WuBfiMm*pqv4e>ud@o&J$zH^d{kNW0e^lF1B!UO1O&E4g6$O1TJzOmqo|0i+#Gc4vljYy}he`p%2?}wKBiR zep-71S%M8>hw=q^jod*sqyR^zeUbYFz10`(`-j_yK%zj50_Uj0uB_ZH765^Q*oW}S2$BVys<})1gGtBdUPwiHA zf*<6*m1Oz|){Q9#=`qi+4FB`|)3($65j4hK-Vwz6kaMW<=n->j@%~85@VugF5lJJA zDDaOy%j##<2RUG~nU-7K*`#8&TwSjTI|Xk*BkOl3h3qZ!lUW~hfK#!I;_A@DP&abV zN;lRSoy_f!Te4igBW8o)`ZZ~hm1dqXVMHmi02twkVUX}^f zBB10h>eoPj`3CWo-9?S$BV^6sNqU3F!Ah(OjU}~&-5H%J7C$FC+#3QFD|IIRlA93C zsrUY9@(XSlQ}m-6lV8DzQ+-SpTY+s{uo8A}Z!3sh-@u(`8$D0rfe-v=PPZ=TZNguT z%Y42{yV|SeP1QP}+Q2yLXJfW@RNpS%4Lwn=fMnZ4r6V5AJfVBJ<|nL|1pHxEFGy!~ zDO0V^N>{l3I!R5UYp`x_nUrq6VmU(WgXcuKYE6y3C5nB^no!flkNvQ7I; zt%aMJ;Q&~l!*G^i`~rH?5;Mn>LFRkvc~Th;(z8%xWble`Jh%gHn3|Zc;6yyhp*hyu zRtHlH%j46)KcRLiE8pd#R5d#aT$i^5lC=}SCV7M%Y9_8i`Nwc*sa(Pu_)vTy+n<5u z7$y(@!3ogva9dhI|LkDsSwyMh5c>z)K>1_&KBkCx%w>CPLdWNX;1OY>(h3x+$>Ech zNB`Xjnz8GS5r?v>8vEqhT5~-${F8MoAzy9=Cb~Z4EVqwEW_urUz3oEbG_<<>R6Py4 zI1{8_lpukC!)i3008FXW^CA9Fxs@4(JEq&vGygd*GiRXkbu zAHq)vwwK=dGo--@^+MfvLTf4ZM-L*4LmkL;w~533AY_y6pdY*X2R;zB@x^#sDg^d` zZ@M3JfuuXQN0E1d#`2FV!t|Ozd+{DJhn!-|q*XCRjy2BW=e;XDkC#s84nmWk!(SBv znelopfMJ>O_3$;?4!6MntR05w#hsAvyhgd9J`Q##E(MO@Be*f{Hgt@4FH#mb)fH7I zQ+vpoYAtsbRzLU)?a%oM%@>=C2dN1;tAhvCGIDqA2B;4Pfz5(XZwab^Wb=*j*+{Y0 zL#KC<`I}`^{@;uJFiFv>DrfUA+e@Qb2uopJAvgFAq!_94dgHng&7GIt$K%I2oXyc;De!&x3%^P{|_dzcQHfUgW2_D z2WJ^(spe7y@tM?C7r`ukn8M<1bE1v!r6daK!YfF{8mA{_V$vSSLd}U)3*buyv zP%7lCi^FH-T%+4~+i{O^VO-)!1k;51=OL_`QG9a zcLl+w)=laq{{il5s5wN3Tt{UbAk;BxeXtMdCU+HBSFy4xkOo+DvH8HU3*U`Bwf{*@ zB0u9Cz7) z_wMBi%eGdZDnCkFK}1K)7Un3cmnMpY-oe6P55}vVGk0tEh1LGpm;*|Jni*^a9x8qH zGs5Kj33vk~L-|Ybsfz&($|!e1mT+G?3o|UQq;wro7D!n}w%!0TxW?;0E3&>pz2+{- z|I589v5_=QPNkYS)~@_QAN9=iB+~!GA+MBr=_a9rkK}$S+k#oAs2xgmT&v;yYE;H|sNq zml_L_9LKCiCQSLMx8$l;g>VZisQhTI&`I~7*cA7;!iz?hMkuS{E~yj#3*=I)&S;_t zT2pbN+CtBv2Rbe|45SL37Cof!u6#z{Bafuh>4mN{beI_iX8~iqWx{>s9eRH~Rk&^} z3%>%Ftp(%^yqoO|G9+|NyG1NPlLQ;S9qpIjh*HqG{5Z;TGxpzg2iyqe!$j*+wx^ze z3chZ{GH5RS)Ln@M2sgHz>I`0nQS<;l? zl^|x-HZ!y|`Dfh?ZM@5cQn?{0HLE!4<~+~c=rqC;FxQrt3P0f6M*!u4bBiNq=PRfnDjva*@HSZT0*50Wc80hs}d?)aufj;7IHO z?(`?Ps=1`RuEJrtrjiEcf;-?hBMl6L_DMT2XGJaPb6#0UQ5dJnu)8rp=p3I@uukEX zE#P;(Q+R__ix821cpc^emLnfO9GD{8%g1={c|ZF!wh!~2 zH`dqJdpmg#e^aTX_Jh=_MfxXwy#7CZUgogCd;YN6M$OT)%(3QGV;xVz_V*JNGk%39 z;fzRHB#*ty)$*X8cjO4V0*7)reVmJ%o@xhNRet& z*inzxM~h>`ErG7o6Uv5<5i_MZ@p($i{F9*%`Mu)O@u8fbT?${pCEjuDKKXYElZPoU zzzJiBy3$y0HDzXz&4c~0LAKsmr?q$16$7Up7nUirR*5cHi0;;ezz|R@r{HtwS4cf7 z%ubc7lTq*#+HUQ)Mk;62{<^0AA#4*HC@YPCPFqxXb@)DbXtdUoxX+%moRZulwOh() z`k~L|!K5Okn`F4YEBK}ncEMK0e}aC%9p(V-O6llL0KLpJ#&*1l8z%U~0pUzDMJa$J zLz^^Qru_`$0p#nmr18>CWd)s?yBs`at9y>Q|79zA?$C#9`>;}eB0o!M0)AFk!B$cG zgze~f=NNTsFw@^FZ>Z8uehZx(or%5Zt6aC*K>y&Mn{=8=;@Tob%ywT5t}i{`x0`#a z+pYI{591}s4!lWPPyR+#LK}%2gR?{{GzYRO2J6p2SuizWDaA-9i4glTRG+Qk`;zcV zJ{24ymy1j`PD0ZzqyGrv%%f^sm_w?hC&(^wQsy~TOl%aJY<>yc(PE%$bC*<8X)WCW zV)kfAt{I3<73yI}=o!#R*VWblZ^qi8>8hvynDB(RL2g+)@tysf+hFdn9Nmn5P7hD~ z4I1;7ICHpN>~dlX%4{IKKdCL1+sH)g zt;!|cF~_Ut!7%sV)WGtK;ZrmP`pILGE-AIF-;BKQu;R7FT|r`TmB?Ahp_9ND?HuHU z4AzGky^Ig}^Q0|mC&eY;l8iRZ-jd%MEf=cI-wM6ws~2n|8iR*egSacA$KPK*WF}ZY zX-V*Y*OhJo=M_2BUiu`tR61d8)lK7qc|kvKu7K0C1=?xgF%Ihf@FwGYJYv1lhk0zt zSG;w24BRm4%N0SAenZQ%vW!X4dU}jLCk%{vEj0iOlmz2F1bid8xW9|DN^?ES7S#G-yST z^qqiI$1CveNz7v!(XNORxn_ZI)uMt3O~iRtb18VSyVTu`)R-#VU2UfHm!6?j0bY;+ zPRZ}IXl-(wZjaJ^#z{RGMZ+iWi)ciis*qYY`DViZ@ZFx~98ItBj`xfatHQZRZ~Rt) z-`^cir^^tTWK-%sv(H_s6bQ>S4}6M1T^(4Aek4vsE3ciSX1I3vGxXs~4W%~xhCK)S zN`f}q)=w;;4;t8jSJB@?ZCeY99VTS#cLK8qAZIgIc zptKk8RT@FH@NQxbGUdEgxwno={6>5=IS*Y;4}g@#N}i|SlDXXa!Se_AnQ5AGxY{qN zfASS%Q(ec$i`%3aemM5dJrPepsv^J8`{UpY45mnKaI(7%a)7#Vy4npTrX}ZtOE)mk@%wC39KUSd!EySyi)3ppYAqinbx@Zm9Y8(9rp|!Pj$Vld`}jYY-K;&vNoG+EoUCIpbl#67 zdg{k3rlMi_Fy6`YgJ(=3Lldqx(pRE7{UcS88_f+SYJ0EvZu0fWmt=-jAu`3f9c~Eo z+js5p_{!+)b1?MJkw}l_1wcpXlDc*Iaci(X1Q3Z(a(IEy@Ok$SC`6Z8kPr9b;I!3$mFv z(AD8j9fm35kvN7U?bTBL~~}1xk=c#51^qP|H1_9#Vbe+wMc_Haboqe-X9V zTXaWCCvTE9hy~(#d4P~xg$JL(?lB)-^&w>!?uLzxa$RYO z^4QT+?xekho$uA*eR_GKp&(;T(Q&Y$+EMEOC#B~hkMgED#hfpt8f&PYYzCz#Rl;i) z?3Q<^eegu}rusaXO&wypvV)h_Vr2Fl?AbJ6`X~de51=7AOzzE3p=MDivy0x2?KNt8 zY6kPofYw6Q#l-b#Sj<})Ci7dD5Mw?n21(6#nR@sO$oVU^j|Y>%GpsM} zL`60e=Gg92S==7>nSMr_qwSG~n{Ln#Z3LMDmyxmJ{6PPN|B0gd)Rmvzs<5j@IHMq**9J!=b@>fDY-#XrXm24CvKh&c8Sx~Y9Ka6%4B z3Gkc8nRnD&8e?Y0bxhh1GahAVgKI{2YeG~ z%Byy#RRXPDN5l6l3~tG^*uKccKskHo{K?up`2AF*ZVuG7hFLSsAN2o02anInH2yTY zxT_N_vD3tA&lyjqzq;o)W(e0YWjSOm^-mE~>Nw-Eg}9xc=BQcNr|eNCo!NpEx!PkL z*bI6OF_Vtx?t1z0r&I@@mBZ>VyQVY+GqcZ1D*2Hbjw{Zs>>cKB;RmE6tqT1}8ze^U!-}Zov6;Cg zj=gxUvM9JlnPrtVds8t5a|q7hX1sV3KUEf?1fo}n{JkDz@DTNX+7~<1>mtU(-<$^*}c_88iQcQ z*elPHc@sG z5A<5!R__x3IPWQLFV+)#>ORlgtvBX8{i5-m)d_7SBhq7V)oK+fF<(bo7AMd@h#~wc zHC5dgI+(Xf?w0)~N1^(%eciuv<-EVsiubbjo4bOifb2kCWnOt=iFtGu!Q;m(lp!j} z2C(FR0AU?7UNECQQ`sN!+xUd+*2oF1x031^!F{DhuxotpIf>rkt>b+r;!IU~F|scy z01e{3mDxx-aT)GV)-$h@eht=E-y11PRmWKSO|%r9&>tRcFmXi21x>5D8XY5_VKBh``e6|0}VU&ZwP z2F7e;9)O=|N;z*fqW?xz7ieLck~kaAF*9f&VP<}hrGUPmB+zvwpiF>*v#y9Z+2W1ri5<${RJba zvD`#@8Pm$sikQw6;6>zVNN;G##nCN2F`kj+6#5f=TDM1@SRWN%je1k6LY$)d$&-*- z{yNaXCg5*~?Z}`cS4a(gu4#49i+%8=HTC8^JXfTe73s)vBhMflhJ<<1!eky)t@f z53svbG}j;b9^P6eKs!@edanP4dO8?^B#|jhZC4=pI5AFcrjy2upsISXd7-cB9l}Nb z>4@T5fmg~gkn4USzD8=1x5+eWup9xewHVhV{B)im=Rx*GJ-o3ul}indr-rb7VE5v> z)|$zIy(*l$oGd11z;047d6n!n=fkNT8h&rpfGO$z*7}Tj%4m3=UaLfQ!&!HP|uEKUyl4E#(D22=6NXNS<~L zR2m}#0V1ae-{2(vnescYD_sp%SORpTK4h89ao@!$r84p{xC*J`D$T!wuH+{XC|v_N z#tfl{!nPYqbfA{0qpbvJZ7hOYq!ZX6e!TzRf>BDmFfl43oD3ig!vVGh`IeGkZoVBG zU@pVYX?9Wu0_DS0Eo`^vD;<~J2Z1fOR`rH7Nq#k>oL6RZ`c51D`UacX(%~NyNgJ9Qb{ z)c=Y|VYl8f5*7J@2@o=}klMnIW`1DyCCB(ys#DcRpa4z@e+F-b4*0RaY&q7f2VIAw zmEQ|{XBnEPlqI%sr#%D83+#$#m^Il*%ZGFTe;ntCU)bCOGZ`}EJmWv@@4t+(P@$vX@#{v0_RhaAtOVO(SO zuA1oTWp9n%lyc?9kl6K|@sB(Lx)>hjeV}%_lhl*+{>0~MZKFg_&tDDZgF*Q3LasJc zT}NIIqR2~@r$EvRmw~+&7a149DFLz-bxeH&vn%E7K|Gr9kPXnuOh4)_w7$Kilf7%% zI+dc}@A{1CwrcoZWOICF+#~nYGeIGwIzI~I@Y$ZXC_KrQfGbifu^q??c#YdeF2CDV zDb$4&;A!iki`awgP~`$OhFN2D;l6pBo6}*EYCHM6dnLK8au2*9J4#XYRJ|errysCu zyp7pUpA4;VG!TBIw?mt3n_#ImFlU+G-RcbAzZ2SPRRxPo8a!6}Tdj>+wl&fSsdjz@ zw)@iT|3}eTus4ylVYn11E%i1s?nztRo#Knr;_kM%J1p+?M#e3Zw7A3KuFK-??zXVN z;@|mx0ar;f=gj*)&wVp_kGuhB7FC^zu(x2L_#^z)g8fia+-5KD?@Y9#{&c3G6REZe z5kFYU#5Q6lsJ6^Jq7>Jg#^uXo8}c{68okElN^bfe>Z^PT883E_yI~cuiD+4@2A~)o z1et&)QouNDm|_p@r!oV(kKynTcvocO+-vxtg|nB{Mlwm%S6;qRu+P2iM9-@h!6K8;#_%vr=$GYnCe_Y{UF~YOa2yK z)K(){q<3Y6oHBAP<&xgr+N<3LE#L>5RS>ct$L=8`P?T?CB?d96L8xL#S61q^%{j_> zBi%9p4P%^n0_%n2)KhSy%H?WubzL#sF{}|9LCmskkYo7aNQCsv`yu>^d{o({tu-qJ z2K%G<$;LkXIP;R4MD2&RF*NO%*OPXMw02*92S*zdG?FQA+%!(oub4_?Kkg&A-T7>4{5UUlzOYBX_mghSZ?%Fuj3uEim(fmEVk1w7re5U z%%v9BgEVW?js&x0&|+31UZ?Ow2yj6)~4ITSAY$ujl3ebD)_JO4{HcW zP2$Q~Kp#6L4FwG^KCg%VkaRI$>Af}&G^uQYc3;}Ylh{hcLh9hd9eHFgI1O#U_~0Du zY1{x>0SwSZI7KwZm*&?7)RajG#`eRjfZKB#c~PHilr(wm9&kN(cjn-y?c?a@bPQVo z%n%S)7w!*ND))by^Fb;`J3|Bl{6A_vV$*}w6`NmYel=s)l%`v^adzc1HQ^#-yr6Y8wf$F;>DNjQMrm8WG zxXKVBMk zsx1748W6P^+#S~^d=j=pt!&lub6uIPvcwMHN4E3_0bpA)*MM87U=~^@tqKvX z)!lqme!uozMF5wvwULf*rvJuUdjm{EWSo}65Md>-@}TM3hg+PwF?A*P$aT`?=WBze z)j%brUjqz|6=riKivJPcDY`9u(wT0xQFG&)Wj#ovoBFU^Bf;ov}zo9k$m_Q~vCTpd+aJ@=Y}!wD+z8 zKJH*~v!1IJ@e^~FMvc*wz(0Yd>dj!upaTh#PpM_ZF4{@wk!b~+q(#(y`Vrg1UyIpI zwUrSX$Ir>1wNYxLK;vMVRbJl}Tw`^>+5FP|l(g>uj2f~+Pno}3# z;_Rx}%lI4kCfi-#Lg#J1v^v?yS3BV!NegGF8Ln#VM8?BKgA7+3{gkLr)TEEm?I0U* zh^$S`pymUEM~E3sS5A(MDu?#TPq8|iv-C+JEO=i&WH|!wl|OZxd`FtBvwB(i|JP@F(IlPF*(*lG_WK4u@3_G;Vp%i0=G1^B-GUUFUQ zwAR?R(Yj|0OMc0>=ikdRhA6v@2iPO|nSYp8A20-KYrh)<<=aLBMpm|b&mQDe%)K}HKdEKi*IoL$}0)imb2sP zD>IC;l9RvTCFDOHK6RtdF#M`b*=#$eRQvz0EmS&KQ)?YM7|6Bn)AEGLo_~{SDY4ol zXd^y|*ox`oUOZ86>=UKU(m3T@>3@|C{Pny+@sofZ!-9Kj>111dhOtOrV}+}W)Y&?fPiqCV3<2i@he)h;!1@?ZdcnRC{C+bDQcV3w*S`wqzmLN`Fi|5z|m9 zowLNapii*P6ob-rq?M4LH&XlRnIcZjM|2ZzhP04_*%#%dwyOTwE3X4P22GA|MRKnl z)%Eq-X*kDOG1)4aE)J77W4`Qqp8JB+T4v}VuX|T-l)#gNs8O`bm6$S>G~BXlEV&D+ zLDi-ob1Cd;;xPIW|Bl9?&7gQV%H zlf98@YpbjDB%z6Jm%9dXj0N-&>La_2_PSQNRw=QSbCt8RUCOAg%`e7elowaNaWN*pE++i&hp#&T+}P( zt55CE=v`cj>o7Yjb$V(~7n4>hEgNEXtX zGMom>B>zP!uTNLL`T9a#)Qxa+6!i;E!v07oLDfj=LsS5K_%QL4I9XWePeG$RdoX?P7c*J(xfSJ zWvi+uR~Kuh&0v(**vdWo%}yHdZ)TT676Qt0>g=kQs$44LOBgRZ1{;`f|qd`r|N z{-$7dIT!8(3|!rTy>z>AG*CV`*X*oMwPsj3#1c${A84^gm?3Hd&2rW*Z9pJG%`gX> zceGq#VP3SajnNNy+@=9hQH$a-`j61a&+M;anNGa?%NKb{8qmGA$ z;G*_ayK8&~^V9`-6&&}Vao8~C9Ob2cf_Y^V9CX6j8`KC_X?6$mi(AUw&VClCXPS9V zW2*X4=JcL2kAx#U(uB;!W7vOe{lr*!t@xjD+<2L{Nz99TU~5i{0h22o^e$gfEH{G9 zD6=$yMEme3jm<{9ubk1%x`XyGUIY`Fw#a2_BzF;PNV_qK97>}JBS5B+GSiDfAy=?v z@s6T~`Hl0O{8h*Y+J&W{#smZIuaEssxjshf74&rcJ^l-Qh}ei-a6X1`GhH3<H(k5HS@h07BWL#xCS$qiWWE@*bZs^j4oyn(SUzq z2-`2^8@Gg2xn}Oox!tiWYCbd(Fsy2TzSc>ykN1$$2kc~b1yX_m+0>@%x5ZfFxKde( z!jlNXSyQNFdm^6#REkdp(ZT`GH7!%GqeRdUQ+>Aa%Hp6NZbVvV^uNt2u zOs!%#K$iA3`0n{MTi~LRDxdMTl@^i|F&C!rn!Y>eesz(NDL{m;CS6Ho0M+FZR0kgo^4UL#d)OIt1BEk-{0I4l)NXCHwFKOPSBOk83jI9x;fX9Yr zPe9vJO^LnsK~ySL7fd#jin;@TQeg&F=?O?W)e^ z#0!vOc|c8}PZ9qKRq(onVRGG4Pw@Bj5K`B7fnUlrHC#3`yD_q%gkohkw3PiuEkf(197>sp6Dc3uSBTf-Oz@=fvft}?tHET52L#P^Xe6*Ec6?5iJIla=+jgaYOU)D*M|7Tm3E~hY2-4p0sD7q z$CP%=6L-lJ#n#5Yvf!Mf4bIYA;Si;P9m9NgH;yL%1O2Y%=zY91?jf5KyQO@7pxi>6 zh*Z+IX%iS7pHIy}_EHC_Q^+ZNG#cwHN4ExVCRbg1xdGT+I-U5$jCPlFe@z*g7L|6> zot>JLdKFrT55{Tyh-(Mi5b6WSarsnbkY@kJaP&v#IO2EWQ%*&>r&-f#6!;LzD>8Kg z+%#Nx4K|0lNpxqs(Y@)q_Epd)&sFU;bd>j+{ss8vRYJ;4m+X^^F!dYTzKkltDO?KhVG2 zR&0GRQibDUu~FXM#`bZg;e3tHV9!%c=$}kvai6uuYGh594RzPsR<~TAvF?t2+wu{5 zqPSCDA_b+f=YG8DTq%w>K#W61su^G zY(JJ@RI(b#N$gddYpeB&fGjCV@5yHHi{uRC2e#EYnux?QXo^0;R%Et^qsiTjrPNY3 zlje!RY${nJdZ~Sxd=)#Lw}uZ$QRU(Gg&n{xEj(rqC6|!S%GfM4t6+KhuY;WqVtotL8Sqery{%|BDkoQ2-Y+Z~+#z^7IG9TF( zX-;+}USczeHrx_!8omdZhb5)0N@#}^8fy%fNmvONdqydgQo~O1hn?proXX{zxF!hg z)MwHa{I0w{;zy~^_APLpD<=g`Y3nMTmYPQ8$|QcODNh5)8fjG4*X`EWNrecVGKM%nWUe~ zy@i4{L);vppIC{Q2e=0R636XVpqW%O6Hbj#*XonCe!iK2y?KWi3g5vKJ(s=FTCrXM zFxx`b1^*g-gICnU)c*3LggjqP-pKsoyhQb~F;34k1?z#4tu_OFuNpZ_Ooh1G5~|IY zhT3}I^>JHaq?~E&Mjs_MT-jf~1)nIahTg#M6M42ob(>OOyeV%ox6?DxXnHT6!IkE& zu>FB~3W3kzr>SD7Qrro06}pXDN4b=a!7EyGYvt;Bs}5UbS2ZlIq`cL(E1G)Isv01b zV^)Tx;;->m&gJq=eJS{bnZbB#C_cyD7%t&I3S4!(mR}T8#QN&X>!h`i3!jelC&xge z6JMzqdfL&*=!!2Fy!vD9w!U7j>V-v&EC3V5vREEq&&QKXBE}=6E&{J~woudZ$Zhq( z!9;Ulpo>8o_0`QnVRjtayh}IW6$R`6tnS&eZHv2|MuvfYrW$evUP#Yn%39 zb9J8TFdHhMdxIUN%4JVh_sXmB-$0Y(5z)NxBC-VgMqk6iunX7}TakQT-JlIaZE%c# zAL_CDl~Kfc`x|mLv;v+%uA)Nh4dN};fLlqybSYY*Yl8&TTGzkSo0KW82yB$St3z;Z zEvO9G{I~UAx`1`_)JFG$3HkLvY+?s1%6g-;lx}NZ)jMX;+^4iKcdBQ!*YIpj_h9-g z`7Jb-4;6ejq5^NVJ7Tv`~B>!;9DU!|fZ101!hjTDehI^nzGY$LSrz7o1f;0@F0YV`w6oU8PGXfQX1J&Ad# z@5B@7Hjxc&QO7bZDM7hP6LeJIjJeem%p;bl@8|oAw~XFd|4Oa27g!d5Hc*b3N{q6m zDL(>$UL$J2&#{o$Nz^1C6|l-_>A3nr1BrTlKvD0|PBl@RY929O!y`ct*e^6u^OTVI zR@3x7;3PSr9PsZFuBxT={z8^>m+?iPt)vT$3q^k!?W%9OL4>LYqtF#X8Kt*6z?x?* z(A#S7^aRbP)CQaQLeStlr)KNt45ylsT-(te{$krg{>r{DBxU)<=Xes?83oQ~;tVwx z{XkG*tpLL!%NrnX+YuD!+OemTU13MDHjbsnJ^iNbEpmYxvwR!5(Dj?y}k;p9yI48bnL^MrUiW)j;UY zOdwb>6TQQSi(cefd{f?OUm>hX{k{C1a(36}l#?l^%uhiB%qLr9H%2Q$b>Pu-32q;L z*nUX=e~Vx;aSLvWtwY>+8+w+!h-%Kz_`lSR=$ph?-$*@!XOylb7D^S=9K9WZ$tA^j zs+G_KdF-ucAHxsV+Ny)#aQVE|DKL;ciZ&*rxhJ$8yaPngtMSS5mZHC{xcpe&6}!@w zLDYu{y`6DQkC3h#LwF$}+w+@rN=k8<(g$=qUC6$GGpG>#hMozepr56Qf#=#^#t$n? z>jb&9Ifb{do$_F*T>(psfO+JuBQK94ZC@XU64 z^226`Bj~l{Pd~-=H_9A~-&f}jZU$r^{1A7(f zKPFp=rge-JKg*Mq8cF+C&O!)%uhb?tLViiSayIsR5@y8r7bImw;YE2A5?nSP*#WW_ zV-*u*p9Z200UKeVZ$CVW=v5f4+W8u><$y24lD&YcRV13eeR=67V+{)YkYdadni4+< zdgDz;#$gS}yY_$4%*4~uHvBuZKdzB9lGo)8kx@zGh}ZN3dMGoD{)2hJt#IvfcjFVZ z>B?BBA>h-_BF0c|tS(d1Ww5_NUje}sQAY>9nqQJ$$n&+%T*y7i^#o(+SNIdDkrAeC z$LGU1F%phu7IXK+QRXFMZtgx~Zon!;@C1C7GCOgevl-Dx@sMgLpS+(<{ zr7?y1`g)~Me=K#&{}I-YdMIYAcRh$y&N)*ax9ol5w8HMVLVQB5dZ&3ide`G^m=1Jr zWu07FJ1f^WKN;;nGUU3o9X{Zk1HA%o8hZjS603S^>oif49Yo3rW7v)KLm2p!$O$IM zG*~;ae5_GHd%A+FFSm>QMw#?TUoU$?Tp9J5*i*hQ-G)|&z2xi2nH~t_+^)ssE4j8o z{$=Vsy^Xq@j!FBGx<&bT`E4N?ZV=c?cxM0)P~Zm(&(;b~OR9Jfn%g)aVo@}rVY z7f=LX!`fa@tz0g4oK8sdl%f89V26;2glL`_mR(JKt&i}1G`kxm;Ucy#SDRQ&tJFuN zxoMaC1!@JhCB#9;Jss&83Kal*C!v#n5j0v^3@k-U0kzS{!i-9JpR8s6l?g6qM($i~ zi24XF56iX#*nBpHiRP;TdtUkMp;$Kb4eHF^pxyXMawnB3ueYL%JF?TtS8LIk?kC)R z*=yW3qRncd`POycd+ojksDNHU=`RcsF92rje{nL=T>Tl?r}y%-(#q)d!NlpBwcod) zV745qVu17x>`vTgb^|%nsi7|Hm2Vf~PufhR1Ew*|wO}5^U{puETEc)Zb?HsLl(8I; zJ0>X9%6-9pp}f$2ZyA3j9oNMLDmLNBBlDxpJW5&_(wujhksuLv9CFmZm>8@MC z12qxwp`At)=&%AFh8nJg@wEXRXS!=PC*!S@s`_9w3^4uXd;2SWY)R@JwYvHh?g<^v z`YUNg?p%I(-k%Z0{8@Q|?Jk+j$lM&)FWm0_<(g#P32h6mLx&QHgoxuv8?>RiK2T17 zqaHEWYe~>w>J6l&?>V^R!4m5DAeR9f%stkexcY%4v)}S0<+e0K{9+B3E8`8g&8|L< zIJu{HFlEr9vw>}CtSWCrzT3_agKPmUkN-pY6Ko-2M-6el=e@ZSa3D+NcOs@|-8Cwi zNfwLLO+<77F3Un>YcW~%%d7ahMq*$f;DM_Fj^71l84L8r)*-7u8cl8|k3v28rT*v2 zBzdEJE%_#(N@Q4Ka9yYX|Hg`RC88|n;QmrGwQ*oG)B^j19HMv8ZfP`EnyE-Hw>>6& zxfa$O)gc7$4|s+dVzF7tyqqi~_sadq&q0Gqm?GKjViR>6Xk1Y05ABLPRJk6=&>6X` zPUsEd#|3Lx&$Kv@=WOO1NAgT5ZB6h%bPkTr=gyG4&+K?ot`b=v;a`|7hmT_Z;p0!Nf=&_?fT9L2MftC2Rq zIO`gjNO4r)+5s!sux@VZl(c>phi<` z@Pqg(R7N`COX+v`gOaseIh+ejTY7Pg;w#|M_)4gvcM>+sR?okI$dsEIi@_EtF7z|- zS8}59dS#5SmKN#ltcH{yTBdr^qsDzmw7{oy1^<_*g)P7+z_L9DkK`&+@7M*dajsG> z)SZ%gN{h^Wo$Tk&F^8}#;v_N?eq~gPEw-1!_fc+$#ZGW7xYxXrH=TMTc#}!Ino<>K zuytA`-BeEN0g%#5Gi^cMDhAZ%jttE_WE!wk7NFd#^YsLfLTuuxA~#paCHJK*jyL*u zYlm4B7;EKP@4(y?@KBk`u6x|ybZyr$ZV;MG-vczrHu^H7lA;@fv>W0?eWI*KDp{Mv zprf6?B^ zD+4@C9<8DE(ke}Spgo{To&q+nTd+OU5IiGM0$#`Wa(aF>Y>aP@it4YRKh-UT9(6b9 z>96Kj0z=hQ9Aj+6SE3v_hvukt+9bMl}*yn8EQP$6S?g2u*vd3?UYKwhjA9_Nq+-|ZpOP>&5+L(WSCX0SdgIj zWMO7hkPEU>kN;C1lyH*6BIMn5LieO7F+Nw47Rjp$ zG|xw|4-yN_XC`3dlJ-MP-V(Mw;LHz8`33qX2VKQC74K zJ0QQW=H_tEsF&_VuDvUIB5k}Uk)t~F2S0f2xDcGZc<}9F_)DLU`=CG;OzapON1I_i_ zdJ^aZzNOBRVZqwqudN$cVYLlnV1KY*yPUlROQ+5`-z37(@oJPYTxd*<+z~a?8K~b*kAtG#u;!Hd#N7W`TD>)#?|FD6U;x z+gem~AqWgNz!c7@{f$_wr|=mtKI(wJbF$Q5J!X#M4}$x5rkX960@MSiG1)p`L>L?( zgZP95otL6DJljVe_qJu)0iV%ztg@qw;6Up_mGs7edDa=M74-#k()-y}%u9MWr*p^n zkT*VQBGOu|hgjI(*erSr(UcCO3gZ8Qc?^>05ZR8p!UD^%GL7TGLDuhj%ivDy6ZltJ z8i&1r*2s?(Gl+YId%QdO@=9BB3i$@9MtnhXnOdGD_7{na>P6%5;Yu9U7glnnN{{3m zvti(XPlYdn3lxRX~49+yAoGuvTPgcOkpj%WMvJu%4Y|cT) z$=(?&4Lt&cnHI|rA#cU@o@aTOUaUxQ3*k#pCx0_~9W@THt;-sv)Z2lzflK0C&=M-( zt};>VUcj2DMzIDmRCvdOy0Pe9uE7PoL+%P&h-Y3S$@z#>i zpTUoy&D+eXr4Ej-l6YU9A63iw75fiPf-94MGs~IpNF?7Lm?bi}QOq5xs;h#l6Vt&h zx>DJI>jc*UnM3b(^su?{#!?6SKZz#+r+YGfJG--IHz2!qR(H!Cl-}T$G@U4>zR~rl zXNl|79jc~|1WooN*VL4SZo@55X53rUO@AdA&7W5vI#@6)$)MXprD`P@w(d#xjU`oP`&;?5Io|h`v(x4~eFF0h;E;cUQCgm5r!u~U60~SRa)k$~aDu}0uZFKzv6j~{} z)YV2nA7YLO)(b8*pN8HA9r8xyp#OpX)VgPdS+hfNMX^{#K<=OJcp{~%vbcL$IjD}Y zH~5eBTv=kUR(G|Z@z5aTp88u)KdFKC3(RoV7}MoRU~4#+YDX>ufBQMM4q#6mr6G43 zaQdxq-*DBZYj93>yZ!~7P^T4Mdk#`!1=2dcigI7~EAR4qWB-cn@h{9%EYdq&ZL58= z9)y}${{^FqgQ31uLk0r&`4C&1*^GT*+j3K}3LqEwn5s)}rlJdO@p(v|{sg?Uth555 z6`{WX|LwDN$DYp&!Y12NfnDP(cEwRfP7ojI)s=BtTVt_499b*x^OmIY;iiznyk^%i zEYpjbN|Xl80he+N9^{wQJoF7w0IPB*kk{zsh|2YWq;3=90Pz0qa&||yQ5D!R)Z^HU z$Y{B&bDr~U(qCj5Djcf^PtRGHT$fxZWX7dp6ARN43EOHaj7)IsG*=ou-yQ)+NM z-E&iCqIFn`jfc2<^_&{a{ zxX;ZZGSRB$WTh3nIWW(R3KZi>*ce`;;^2dVMs$^Tsb@=wk5vF0qf zk+Ib37l8yQjD9WFuA+$6M8dmlVhFSDXTY+gDz7Wey`PEbu&I$6(`0lXMQJ2IVMmi zedFb~;#au6ZJAm*IUJs*KTi6FwS^@36+2&P4yYkpOyAgU6cWVI`{+Vfw%%I$DCm* zCl^o$&@KE+45h9m-z_{!pVTaR9rVJ+lC!8({vU8c)B@j%F=cxgW7I=n z=H3)=-L~KdC@)dLPsv*$BBo!UPcSD~pdSEjEjRf`&fbKxNC|AB;UdOiQ>3|4O@6%k zOKvOw^skaV5 zUT`NNMhmx9Nxo^sITztyeUzTetu)%m^V|i-BQSd->6!F4SfESixNTc}i}fn_TKuKs zG3yvDq<>s1?f99X%izeE_S<-9Vgk~jLXg1wW z>4nO4NHMS@d)1`6Q$I_ z+C67}aunH1K!p!lntBWvK`%MlVKwwW$o-!Cil6DHAGRi~do%?HQ`?ON2`Q?eU zmu#2R=(IByNwrRm3w;xROG^u_miwgkqw7*wVk9`r_8O6(J^5Jtt~COw!L6X}tR3Pb@gOst zQN9)~d+Pyf;ZN_$YOf_P2+kMw|IE1%6|v^%6=qy_z-OpoM4hL}Q;k zPOhytpwg6RZ+ZF)-3Q-@wx{5@~^+^t(ARR1EUj2uK&bF1Qcx=PAXqz zhMy$Pz{ffx5Co6an$UK|rS72-WRzN$9!6P44O=JpllV8@23Z6hp;{yj%B5@pJ0#9C ze*{K{eNmtB;~7JqNcDBimk*+?_}1bjUf1tq6NrE`p7{xVF#FQSSBx<}c-up*HA@zf zSHP9@pV}qZtMJbHo{`EHhyg6S>C`v!CpHoP9dDA5iCXwZ{0g_83(%9@Gr5escSw(< z$Hy%F;RYWD=3wP5v#Z-pXBg6Uc2Zq;6uh^oQ|& zPj|q|Y>e~)8|&SGIobtStm8vQacWUm@%z<>*JOlV7hf$dF1W9#+5qPbW3y!;{Q$S5 zqIVX(kG-yJAZ9Qd_1^M%@(ey*>}5G@@8)$i0^&bP_r$*R5??Jn$lhb-;4MjC9W%x|U^0$s1-R7)!niJT$)0*x3wo$r8Kl?kzGa}T zm>YvC2=L;o5Je!}aegM|ZxX@a$wLUz!7yE+U$7AqBTN~-E zbAaAKd8WCMr$vv%ZcCOe+&Ua`SWk>< zp!u+ySdE9-V@l1(?anku0}LaIY!Sd5{S1qyc4Ihmh+f4!7S4m2LL~6@++;^k3&EUr zq_9S8r4G$mWXv(2=y9fH#`+s8<@Ei&W5OY^i85ZSB%#DEW*+()rkO_cWwDtF+||~@ zA}v>>)*20_CE`hk~B9$`tkSvOj=>~i4^_TzeYAsluY|dtV(6W8SN)+>(NCI}0%PJc9kNk`0D&&_2HZt9 z^1=AldCABNb{zK|+|GQ|6rvir2r0n3QzE*AI7<21>0AZSgDvDJTZU9!?BN};+I;4c&!f51lp+VH7>QLV>m;aLh7@UC2GY0GzP@~vdWt|K5*LnnVttikh zScP=3%iaw2JbW&4oWBEl*VosV@2rTQB{owh0MYlaL^)}!ut@qW57LA3G|*aTPh|6Z z{B5xAv0M16fQZo}J_WE(HenrOHshBuz-&;;m1)YJ;4W}u7?CW6pJ1wBB;pe{gSPGk zxxN(zcq0$2!&YpG`_8p$H6d4iqfHmqNj`DBDg>$<1$s59@p8?!wM42fLYt>_S1jp- zh8gFak$Iz#&dL(4x00yELjw6880uS){mhYp1)x!k2ltv2WslGRcX=a}WKX2= z0JzI)defQbDZ5?a?j0cUqHs;pEO#A1a)==YU=sj~Rwi`r2g3!c7xyb3UG#ZP#nsQP z>#M?7-9niBXGB%xHoC=rlvoGff~N$36iq8ST9mow>*}K5l=HfB8K$ zEObO)WZYJ}>wV<{GwiusDxHPDW&v}XzYE7X z#%O}kT>B307&WyM5*`+gMe8H14|=@gx^S7M`0|XM>Pnnrj?pLaxzs??#eHNW!L;KB zm`pwcME;MI1vXQ=*(~ZMlgCw{C$MX2mtMp7EN4BSA-+_P!dEaqk_uAvh>}ih6Ryd} zA~d;|5T=x{s6d{M7F8^M0H{taLyf@yXF5`k;8B`-=)6fcU~6c(MvQU5Fp2K-!%Vl_ zUEhYCV`;9g`*3Q#R9k9J>Za7W@%zQMCGWt`=mHw7py1L!w+61|NpO`iZ;wo=AHU^H(IZg8xb5Fl;Mo1m5ddOjG-ObdR%xzl+z2cFejpU-GVoCsWm^{>)&=eHZsN?L+Ee zwp`lCR1Mu`zYnjXPh!dB(ik6{6qStaCp!AJ5++~Tio(9wCn!NGl5!9~uvtte>N`$Q zmuU`d=;(_^DA~a&R=74ZINds<^#X*xp1_OyDA3Pe*(?LP9R(pcWV0fQ+7?f+Dq2wJ z13Voe==?mba3!%vW|iuEE9H*AKT}hl0DXtgiCvLnF?s%~p5Y2GzhGfjKG%zxX1-GI z$xYS6HanO$q$f`EUKCTo{OCX95cLU94%WxZU{3=p$s~M^dlYv{QknK^;!V~sK{ zP+!r_%)jW4J$Ek6rPUDkg2pbMT058@hu}#zqG} z;FWRQs!zNmCkLCy*RnDC)4~U~TPt2rZ=DqYLp+wBhb_T6QNPH;6|qD4p^+1;Rc2N9n4<2XZK-64vUa({wc*Af31B+Z&W4x& zH>)>=fj#C3@~yr?uf#o3?;2Z~L&k33bgH-2TrW*e2CT6vw4K=EeWVQ*+N&qDW_&|+ zI#fXXMdZj7DwCV7Vlo>~1fSa$tiF#;Xq_{~zFL}MI^}S^uafIh)dBWbYrd`qWuz3Yu9v^5vNBeA!S7UBV_WRq%?I>;c!*IJbpHpNJD@{& zOQk#Lq>M5eQv*F;b=W}kC}h6L0*6f=@CxsxL7#zs=Y7J~w>Q*kG0*vi)?nU&nTfNg z=X7^7ioQj?u-4j=?a$Ok+ICM}d6TCbRE#=M9sfbMMjOGGkSq8o*z#1>vJ{+dU<{E4 zyPO5dS$7$iS}Lz1v(Fe#-r`X0v#loUHnYujT#4X-fGg#9rq@U zQ@8+k(aivbEsf1qXJ`sr5<3e0p$<>%0UyGTmue>WW(I(~Q6{!WEoJ;o{-c-H_EOQ* zb?Fkn44YW@~CzJ}Wz8#v~51PXR6vnf++G>@oB<^fog?{*Ak4wonRO{bgrzb5}k5H{rh0 zrSP404m0gX`C6_H`Y7Ko@LA;YBPf+`C*`wVez6g)F93Y523i;#5}Gt9RyoK z5xGh&XKUrm1kUD>dRLM}I4cIfWgDguTqh_ocn;XFOIX{9Cu~jnFiOaMwW9?|`W3Ad zzFqFgx6o^gBl12NPd!7pS86RG+4ak)51k=ynbQN&EUj%dflyT4h&4*c#D{|ur7u>M zDWhzK4hsf;gnCZY`X5DS8D2HghG8faTB!F}&WR_dg4@F4?kw)^?(R^urQRNiXJTz} zcXwMH7FgWf7q@S|AN+(1NSc{>=Xvfs?e}z!@&s zLeAo&luE>Er7WbE^l^r+D9@!6^`#@^QKp3Qkee7g#V-X{+FGca(Ro}8aeMAFEv0SJV162G432~Q-GO*Z<-1b{JAk~9L?)hB9oMf&t{wlCpX~8}~z$t8Uq zbH7FVm+1i6`~!qkq|kMZe~n&=Iwx0%zV7_jv4wme!7sTLdi^V_8j@ zEVBuRl_ER@A0{nR%3`<0(7;Wqn4FB^+&&@{{iRGp)qsV;;KLqLbSIDN=X(G%R&kyx%Q*ZIz#VXow_yCdgZXL&O}H zsSYQn6H%U%;0JvWvzu*^!=Rx#!l);8Qfm9E;t#dA{s7uV{u$`!{7DV8w^4qQi83xU zr|LSBTyf+zX{zrC-8O3vI*;v{G0}{dZ?j~IHj##HMyC(G$;mt`3u2U$3wIq z_X^JA8d{sw_1=7#aEbC* z7vyJDCC6F0v-dPPis#8cMUm~Q%w$8D>w0mjiFcIo9D87EMy7}xrRA`@Ci9!9(Ih36 zGJZjV#)-m5T8^~8;H>yp=5KtKuY0(|)fC$rUR($vq5Fh>h^| z${6e_8fPZsYlu4VMx~|uJW>J2Jtd*5$%zkTt76ai*~$VbsD2M_#fO6p6bKB!2FQ8t zCd76y0c(v0m32Zls!8T2YBl`ZG-Vc&L2<3Sm*2viLJ!FX&PWc&9f?qi_|C?Czc;(F z5d&U3`vX+{Aa`eTl$qc~emv+V3esur6@4`rM|_};n-A~`u`BJ&P9#h>j?p@AAr zh6U2_Tj+W?ft?{gL|8oA=pc3pI=Yw1)}ICvT}8b^gT*h-~Apa>TcGuT|(uZ@;prOeaH2OlCQb;x4LYa?+P#pQHgrPAq{ zrL~s4iQh8@=Zscf`c5eqxRGF)zNS=;>Nl?}=?^=iX?Zu1Zc6!>S{_tAWDX(5g4X6K zaq7Kd^Vb3>nAFH=`L^UuJcsIJkxvP}y^@pq|tm-)%I&e`+_Bi~1NXnYk8-kd`IV zu}l2ZIk%J(-qF`jiWD?|3;!Z{xj9eUEu1mBnKk7b;!7?q&_&-A43Y2isi3X=9=od~ zV`)@X`_GK0bZht8C@bNOGe^EhCWu+`ZhU}rQCNvS)k%? z@Sm~4p6-5HDe12-oJPL+N-LYFe%Rk~6S4-{+}|I2EVlq12uwHhpJA`GQsfb$9v{sd zqh3J9UthKYe$vqw3|B8j?Kb~aCn&Yex~k^h7eA~7iS;NZQeBaL?lfjCal$AgcOmCM z0{nC;MnJ<-@RCAZ$HttN${&j5v7A?>>UdKsEVm?80rh8|$0G6CzJ|zd!~~bHHdr5b zcLtv7xNBId+(sJa2&ZUXR6ii)`Av?f+`ptkXi`3e9OmkIN_eKntb;z!V*wh?^?Y$< zqC4=X#AW*~beHR{A-LvBz}PCB&F_hi00cISnJV3rK2t-q7M|Ly6a zZ|~@7kN)GCSN132azBJj{-Kx@+grV2pQ7z?m*spYPQ9fry2iO8@D6ra%y3sgKN{zy zYM?k-RqJDXV?+E9G?Q=?eVSR;Jctf)H8Xw0SUg^@K!z||z!c;eRi$7#yczw|oP(L9 z18Y#wiB2Ye6alIu-f|@o>}L#@O8{20lm+fSdbIkl0~5QsKM1Xm6Y_Y_N-Pd}9CM}T zuESbwP4h0bXfP_NhS7rDtM)eCbbp!Bud->P3cjJgghg^&9>Z2Tx(b^)KWvH_WNq@M zwgGF%-4XtFnT}u_gZ_z9&;k|Z_E?m(-&4&vl52AMr33W~M7+v_9qpv!c4#?4chLN&w4!0p`@N$Q{&pjn|_1IuvWMPKh6Pm1eqYP*oxWVo6+_2f{Q&gy2%3P<_kY31t1ruFgNXqTQ3}!3i z!Y0svGJ^;=d5aj~%SP0gm8g#Y#IDf--i?}|zBWr+)lANEYb)ihYG_P3uuyuX)izK) zTBG2k?2(D_aD|o@i%;!8ZD!yZHrtJ2Ep)7)HTfckPAI3YJSFPOJwmtId_W>y5_v};B_Y#Lm0Jw-cuifL=DE#_S%)v8ta!BZXH zeTOcovFNfV(Q^mc>S=`ii*CU;$+wjb{?cZFyh(yng52I}7yhs`L~W&((i4qM>Lr-8 zc?t$YpV!pTYSSI%czWX&%9mO-!k*2 z;S-5oC8w*uLyS?-#ZY^IyUh?^-EZ z>j<5VZ;XEWJJ{fSBp=eE%*I-6>k8z(+y>XoDB}zy(_Yoz_+mkbd74XezfgjR4Xl#A zd|CaC_BC%8bRM>)Ti}DqKDjO9HadD~?IDTruY#WDYmw0~^$GGf-&0xzViU|d5 zc}RuIV!{)XlD6vCOtQySi&LxG~`jN4SdkLsAY1eyQzX0#x9-GbR+30Gzgugzh$3K=n zoB3LCZ7gW4pXFDgZQxDgXz2Q#0CY3m*tmQq!}ZnRqLSLBdEk?Y;WJvMZiL>ZsseE>6vAD~dpW$K91Ye=+6n`%;n~RXj zLME9Z%|>fbTM3-3rdP6Fn`?}9<|%W&(o}10bd=_6t@V{$RnSBaz#VT{Fij}yOtSMz z9C&JoR>`7}qI6?d!4Y$uQ3X0gqKyIi6Kg&b;cdcO?V$5)gKwNRAESagV)7Be5Lw^i#U9+rl%e-j@jP_b*b(j!WGRDym8Md$;8Ac2uZquPe499!6Nl(y5 zIViEf8^-|pO+s_;MP-bBRqLnyX<+a)yGQP%BuGodb9r{83i^((9GFe5!B)GHl)GG_ zgF^%EPr0wv(EObEh7zhajNdIjmRi^a=WmMDQ;c=SWbh1H_K@6B*cWFvM@O(+UK%_q zlos|mE#yksfi4~L-RqDZ<{`V4ERpckTMfU4;+_}o##**GCc{a#CVCP5anTjVh7qL8 zqFnARTq^yDJ;H<&7wHmo6->w8<2LoR`j|`Bs_9#_8o^z{GNo7i6*Ru|@szHfUulEX zxAIfrlpA56QFj9kvG*}w6%s5}MxX~tp1LOW6XvL$^>A~Pxk(xro2-oGzJPLiPcXhf!46+x(^I_L6}MFp$j?tnh@jX?WjdCH~I8>1+qH}T8d8hlFU z>aRpK;k-7IT$FGfnE=1Q?PXD&9q1?@0gyE(6i1JvKX4;31}51fpphiODS#!Qf_*lq zZtQU)q9wbqa_DJnK;$HKk^C+gqWE$fg8vHk7sy;1WI>0!9p-f7gIp|g4?jG7kKR&$ z=Qtv5l$v|@CLHh%r2b>mSjLu2)}xE?G4=)a`R)j0S!iGPIijg+wK!IYmd}F{$~N#{ zUL#{U_^KZ%=ut4;_S5tjx81nZ!FLG=Mi1EM2r;5TJ4bWbkmAXm%uuQjN8w#ts3(ba zdV3RIv>Gxzc8$&$C35D<6Q#-AkGwpy? z$q(hq1p7JLD7KjOX^~uKxtRVbRqnAxux6MOt4rT zB3p8ZKG;}hPBu%zeg7=@G&@jx68`f>CN8DgCcqov%v7lTpI3L~&+`;lZS3PA&J#L_GV_UHU%mLIVR#7LyhQ#&Qk)_(> z2$n1>(c|@jZ0RJBFkbZIyIn1$ZSo4i9^G0g&xNYZq!gtss)UV-MZm=z$<~wah1n zAIe54Qq46e{Rhl&oYrrG@o-mm$5R<*u_E-PzEyftAuxU6Aa+4 zyYp>5mrsX|`IjJ2;5JV~Hz#y0y9w{SXw>U0-y*RTjVILfdZ~d4J-o}a%M!J*1{$HJ zYqOPHl;;-F4-mwTxQ`~q$r=HUCWkG*f%Vq|CUYy5*Jg!z*!lRGbP zUFj=Vv*Jvhx!`@6(1h_Mgm~wZ$6W2nDN-(|igF-|I^|6cOd%(;2-XxbkxID|w2`?F zGxtiBZN^pyuTLZboxAGOol zDdBH&F|iaF=>C$nU|5;h*$M(6UfT&C~lU706<8nLsjJe@BqXaTT!k=vK%* z*}%USE2&@b^gsX`8uLt@q^tue>U`-*-c;KUr_h}lermYi!V#_WZ&v0mh3rWD&l?4YH~7{3JWF*joMiI(p6WQFJ{ zuxqu7`w_nn9E3Myd!@zNY-zi46ebUw;(I)$so%CH0UMr(Um-$Z^W_A-m7q1hHWZYO zxTaN*PI+wNPN(FaNUX;vVd2Qvyu;aLsBZRJbPMlbwj@k-BiJhOiq&7ctoBgD?E>WI zybb;*&q6``LZPQt0_`e4f>Vjva9X)1oaIC9on5D#?Yx7SPOcwVS@w<5)%02=1I0mo z{Uh}*aW#v^f1$h5ZnLfyLvRHp^@dU-lt*vS#beJYYtT=`bKgR;672iTGbV78@f2`_ ztVbPnUYpj$9>nDuq z+C%-crr{K9Jdu7tAo!+WxE!YY8OWYyMa9`qO4l*{dJYt&dD?WnU;ckW&7QV zXdN$tKjUUdQ*)!mMcOB2p{E{k1{=Z84OZehqhHAX$U5{sFTo7Qn@el$-?4do(2ctS z`bMdZE5f~6xE9)gor`}#pRfYHC;a{L{;repwPTkdBfuQk2=9+q!>eEw<>qQ9tsi&@ z+xIQGIm&3`I&4&u(3#tep9BKFM!Cx|&GQVIpB96bl-30;d%9LEuU8CaBq?>(PQC?l zJ#C)WPwJ*D!k0J(a&F?X>yT}Lln~Py%cj@jZQ^#sG$yXo>!F3XGI~I(7PnHhibAbo z=rih4eUsugS{cuhc(azUg1baBaVGfj&VU z^)@Ca&{asc_OIR!RM*-;^H`)1lK0-XCNPfbNfTvb(Bnd`uRL}}cntEb4|q|ph*Em_^1eYXMQ#HCt1O9n>z0;WG|o}iGi3qk|FoR_E{e1 z{%s6VLbX-azeFctFFu-F%6_Na)KcOwogK#!yUMn9EVnceY?@VlkUkeUtM#gAxb4zt|);F z>$!Q)s#_owlqkAsra522zGMRrg}!i(LM)-F{4%~W@eZFttn&V%h9hN3i@ELi=sAEg z@E)ipx|Ezi^|4=)8h|=lWvL?aoNr_8)L&{xV}E#7^Ix6u)LvY}m&W&k^Xk^@%LmS-Ii#BLz+J%A zmw!kHjcZytu-=$$-qu`jsu7{95&{J1LCAn@>H)?ItGbzDgd2=8NRNUo%c**dwZrm@ zBjkAMb@T;rCbLR@^C%U?%+D&6Eafqh_s+7C<pPrI;f2tJlrMdFv!JL4SJYml2SF zV-tS@Ur%H~7u6s>htKlVBvS(410RrP@=szpY$?akH>jmd9^6?E!+-e4qnn5y;um}n zIn#5EJWrjVwvZ$6iS8fxH3S;{*B92*_cIW_UdXg{hJ-VmqkL-4(h#l#qHBve3`U@lU*N++>m&OWY-FALr~ zKXha0UUULQ;K?yro{e}B^b{}khS2w^7F0YblH({F7b8A(UIOt7Wo`)c5+Y#Ny)q;b z#HnRviilBBxd#fF8&U)56IM@{v3%_EZE>^IFr( zxC$}On0CHKuA=Cw@!g#15ktXzwMe$fJ){9H|Y~j~wPHVHfQSv1GdkiNEinFR^#wY7hxi|$8wLnMs96F3WNv9JV z;kPsmo(xp7M(h*jv)cpa#lKW;@m-|u&J^{cI#wyJUs4z8i8iRBN4C3<5DYfP-!*D4 zc9O|Sc+XaYrfP|K1mC=#M40;)>{?pk-;Bzk91We zPdcYW49IB$xv?c-PvbwyKtI@8LR#laO!hQV185YvJ*KTQZb@yVA#(-qNF1R%QH$|w zj#;p0H=nOy%_J&Gt<2o$rP05g#r)R@g!_g~q&HDGfR<)(Qh6*b0J~9}`w;2FnMmw+^KJBFFa*nI$OPgA90ZccwhYjZyOfPy)vDc6cu?6{USMc&gf~$(B zGjx3Y30Kfr&@eTN?FW_RnOYIA3l*i>g#$#<&5YcLAZ&rLq7N;)7UyF&5dAAXA z^k}udW^nn++OTDwznlxGY2-%Xh&m;wx>8ae&Y7B}edDJXs`Z!UHH!*g7i60!tVV@4 zd~)C^@ps+;{jJbVe^^-48V2XNuQ3P`lbdAqKv822xG!x3;Ei@0Tx#q><2vG}*~OsnQus+WhZ^=@R1g{L9^|BUu1P)6x$E#P0- zu1Skme1S=!Qv6*intC7{QX4=z=Q2$&Q^8BvqHBiz2V(7S^T&Yk+_kt{axL%-ACY5z@mxue#K+(lkyJ-bd=KWv`%)9}^O^s-N5wz$tRng>9f8b57PvUE1myB- zz)ejm)lun<^+Yd3$3?Be4w6&YF3=AD1ya=iaNlw@&e$#+wi{e@;O}Lf#9q=oGZ{_? zPr=i353Dk|g+zpzAkm=I3!nR7d2!Vp zczooo$aLWovKg|~MuOkLDtxo3WcUS$^OTV1kU5^!upPFEYVW)X%_yVzIMzUSId zQTOCN0a?0N_@%jw#?T-!6YNsAgH}eKnQYays^Fi=p>(=5lYEX;S5^l%^D)vmVU*kk zI;B*4D*c3=&d$~hu?SfQ=F6M>g3)(mV0nP?xzeZv#T%}P%!#5Dx{$t1A}o>2+yyyb)QKnF8i-K4wC z31F%5$=pRZXK&Eeyw8&kC3R(8Nm8QA_1L)tZHUaG8{lPdlPyl&aaAMBV%@L>%x9{W z=c3n{P?L-hcY@RMDg6z)S8lB@^4*BrsvvSN`KWAH8b-&EJy1A3@D5-macLeGI$FM{ zRRjlez7kPrr4T3xwpCMCo9DEI;v=zRj!D>S`#9`x+h8m7zdfirMw~D8n$~# z1lljq54(^2M$c0Jpl$Hwq>DQ3I88@WNoo>$SDZp+dvm;-nQe(T66R4ciL<>$E=lfc zA3~JZ3{NsX$l9e2qh_I{Ju=w^&g~ZQ)wls#2uuo&BEy7#=qxfjw+o?QDR4DB&BnwL z%w=+j+Cb{aZN|%s9xe)Pjt(QsL;hJIn@J9Jeh}w{-?lZh-40ryDfb24qJI~!NO4Lx zO@zkw_PB{HU^g+j?(%F&DwEv6c4n_5S77r9C!^SjObKcmdKu3kk5g_^aGg`C35XRe zI#YmYCv8D&ci~+0Rr+_jf%4cG$cWx-8$gdipW2V2VK5z69rV`?`Iyny9F#o|%#r_Ar-3Nr z8hVp$jUQpoctgE+utVr5w2fRRuwOl|K9<`DHT*5+Co!1fwk5ovdw5^6Ewgo7ebhh) zU@P&xQjXI=ClHUR_Na`0fH!&9mDjN-Z_y5KHv7dNPLHJif`;zBuI6}oydN=?{KH#` z-H8vU$1;X`lus4rC?&L2>L9VI_EOe}60lYMlR2E=_m(2(CfxTH+*ZYu-LK}L=G9~>Vum#czB>+}~N%%dUMxQf{FoeD(!P1khihMpQrrz};`$+i(leXYC8CKofKl|FiW!EUXW6bHVt1#_ocb=F+IDM1IWOz-g>T-g4=skPLj_Zz0zl0DphFIzjIm&taw0ljYKC zCg`EXfT1v@K$t#UZ|*; zb40>4yt$(*vnDW1jn@zA|A;d|Mc6Pd((YQhF$xQq+7YxpGhE2D;XWyN3O zL;1HF=Bdv+l>l`cQn<=HdOFv_Oh;AEO7sX`j^0bOq8@txWa|;D*wysEaAg_iEr*|{ zPSRf;1Jn9Zi|7u}sHL%S_-$w=Y(PwRPb0gsvFvNIZ|qQ#C%Xq1WZ{?1HZu6$b6xir<;-mkNMZ~qd>GY)SV*qcQr#8_y#m3 zus{QT44O|}B$wiMS%qf&mz@2j>SlR)CfEp{L7sXvyhi+YBvSe%`h`^IIU&t?&y(yQ zg|tj-jc!A#Q2VIUOjULcZ6~M7x!{ZTLk`i-ss-W=aTB70P;Df5EKLFz{FM7IZV&Pt zb^{#d3*{yV=jveBsD4ys?wE>zS|GtZZ~VVgkZ-M(U%7XJp6U#Ix_VPs1Bp1gZ8bh0 z-9cAiC($XmMIXTi376n)X)e+`;6i>Q2hfV-AFvxf7BUn!F=f~+c#0iJx6J$HIPQFb zb_l-ZXNt}AHehB>2=t-8Q(sy+<{fv4^|#(xy;|1HuK}*bEfD(1C*g`(9|`1y&}3j@ z!~!DR^#Kf32I-w-TxP*DuwEaa;#Pa3BDyiq9L<9}-gV+fw2!*PH56Uqt`1kq4Y`Rh zwc8guOBU<6anb0hO@*|7x0yJ0Cxt`Sz%Aw~ z(~%v(JJcG|BYlEZTCX2)%ZGe-?28@K^?o8xbQAv3zN+C?f$KeWfVs;!y>q;6nNtZL z6K#C0V!x$3j`{2?JK`F{)L;b7ZoDyO80F0akZ?GtV6D~9jD$Xg&PE&SroP!^R08zK ze2L!ky@CF(ICP?mU^V)j|Dfx0{&_gbtbs1&w^8q1#nh`*D_5N4$5-Ijgz}y&G6qdS zX5co+Pk4*$!Cq&?#@A)@na|8+mhi^1t*IGIN2WkePL(#_D*-dX1cA(gmp%e}-Fu`ds;FD6|nL;SJD$-wwGii=mmIb<5%oi6Jw znUIvUFXT3QB@m9U%ecv0NJoS-Z1@-P#CsFP92?-2MF>q)%A~RUn*I z96&ScXz5^<+0@*u54Vn6q&p#qNwt-lV7LD}7z|1VR>wDst)U*$>$rOB8k_>2Fq->1 zOU)gEl%3r{+UH*FOhgB9-Idcql5j1vspk}TAbn%-IQl^Sz!CzD>$!X;#iH zSGGTs%;2{2Lwz>_p~!l0(7ItN;JA6m?C;v;9}4%pSJVdjH85D%p-q+#Yb~rH=0M{* z?6N*o^NbhrP%W3c15X4TkwG@2YPbbD3g)&y*oP~AVK9;$@d>hM@u1zI`Kk$d;ttnA zbToRI8!KJscY(v2rhhRi7ap9<=&z#ST?ztoX+^j z7E}{v19OO;%I{SYA_wyk+7YpbtEPTV>Eqe$SQljCE)lD+jq+e2PWziX9ADnw${Y?8 zs*Vu1Oww@`iHAOCj8M;Q)clSHbM9*N7!G>ZpiOYOt&rR0=u+LW- z`w8t?cgd%8JQK>CWovsMkfC$|-6)vvUPhcGuS1&dGNwFzg7{HZ2T5r{5PSTs&hvlp$8(<}srC1~qqa`4_u{zWO!tPFwtcd&l4aI7u4+|63 z1=@T)O6JWsV3v}maZ$s>Z@$%WlD!6Ak-S8Pqr=GrvK{%l_!Zl6uDb6&D6R2o1h}Pj z0jL7kO{u?hRCpT%)*pXaW28LtuS zWpF+>@cS;Z1w%a$8jxX*oHuxD|6(lNqUq|M^ry-*F+#&M3AzbxYXsdDufS%b`=MX6Ki!axV1Ic3vYuuZHznypz=ajpF5zus4ukWqP-QkcTzUgf`>wKE(bMQv+d?Xpzo9iz z`xJb$7D28`8OX!IsB6S*@)o&;N+G_GgD8$lBqrK6xD-z`_P|4;^~k40j^{RIL9|dk z_AsG)MAsjIWV!@1ky%3RC0kQpux@xSXda}qzDtMTjavOcm#j6u+hT9wku;cy$HtK5 za6s-PzqmGIA^1vi2>F>hM{S_Lvz^!vOefkyk7s6hAF*X%I<+Z1BRI=l=$f?TLj2xf zZ+T4cEF|2OGZZ67ic)?nDGH`X>pEH!J%{~_^&p*Wt0U9#TI8DO=-5}mMR=4vJbyot z=USKDNc|+$)XSLXj7CN?vzyh{j3BdPcHt4wHopWdL!6?Q5nT+;Q;f#?i;&6DHK85^3#!h(5wCotpVGo=geGVn^|Nv*Uv#d z&^@q6{YT!eIx=g!!eu3XzPp5NDm6u#7=`hNeOvM3q|3I%8RBeDt@Un92!|Y+^$Gjv zvEJ4RJ=LdRH=Gqc)r#pEilJ3ECsLEV*CDgYOMRgm!)e%ls+7APdym{0^b`GDhqxB5 z({W3)s5OUxbMHVNTkUgQBWfguoqY9%F zEd!g?Nn9tXoamK4yVm&skXCE8j1C117_1F8--@-|@0B**6LeXsHJiYqR5xlt%rMvQ z@DWlE$lCj@w9~>IJLC)6?lOJkOvwfBNA?Q&{498bH_o*PWe^R+*=5AcNEJ@*=Wx%h z2=l%26mpWCke2`4#NsCcm&#fN? zS=!<#pEU!e(W}Ak_6ov_;3gu^{%v_DEQ~v+Yyj8Qbb#s?nQM*v0v3ZGjQx7b`{bj(6*)ldFBC{!gHEg;*3_{PPe*||z_v`9puT|_`%JyM8Ea&K8=#jl zl$isqwByN79yfK`-b?(~R~lX5e2m%STSzwPx}%vZ34M;%K*vTI+I?-VTA(&IYN~^k zX>wc;dXoL^<2wiPxJ77Z_YwOu#|7>lNDl56Qo;Pl=IEk?2?IcWD#r>59%xAc+LQgrS9-6yi~ep2J)AZ ziH0e;sJGTWwKv@p>kye0@h?V@;dDNi8Dk)Ku?j@X{7k7FNQYU%IV<8s)b;@V)A<;g zjish`h^^-@CajEg_%eiFaWCzCoJDF3-X|0CDY;UiVm!_9?63A0qsyo3wK_6gNwHg=)A#uEcHqfZ3@AFi(wUwI&Z`;}j zqNL_rb+tZs7v8oumQM5QxTpM!l)m^HUuE){`wwbt!Y7!{IGz}i^g){oP;H00TQ6?- z)pt@jn2}c}YdOz4J=w3N0G=MYG`B09nAB$Okb__s;63r(UL$^r)ziFG7&M>ius35i zmh-^TxHxx??UhRj_T{T#zj%Yc3=?}-j7nBHE2W^m&YC-{MZ{FGY(zSmtZY&y!*6>R z_+B=Lr-aLdKm(>5RsowyogzEqx#SwsZLf~q39BU1vS8ZvB=CoJT&f{I6vr#^!h7zU zkRX57c1nNhF;cE#DHG+s=39^t;&cVX8%0V7?SAGd@`4TSwxyP8CCMql<`g#-4AC~q zyj)6NXFk`DS*6I^o)w5YKhxP3o~?q4Pi^iFBBdz%vfO>QLkXg&HU=AwP zSgxK1b4K*@-FQc7o?>WbRA35!m2~kFSD$Gph3g(14c68EByz z$&Z#7`-Twxk+!*em<*;BW@k6Co0Q}7Y&Azs(U<58Aa!S^`Z2PGng)qh542>%ucKyV zD~^5V&4HF7XHv1G>fWTp4v9^3$|JYP#-7=b&yj?cj!nTUV$nJG#Tq#2Zi{SWt}~0N zK4ITV?v14KCJUWoOCsGp_w55oH24Xwon_?%%IKUST5EZpRoN77R?MZm2l#23J zgEsnEYmLfQtm!tpSRe9hYW>uWA@kJz;9GQ>aL;+rQ9^E}-bOCSZy`g%WnNLD`Kd}> zu}VO8)%?GCJ$Ixp+T*uBKq3)V+TdA=w2rwSQd^#4o6E=My`=Y|wfu+aUvv%ABkhi9 zEN#WBFkR()#13pAR+oI39~FDT(ZfGX>t}A!H>0;~JAz%&(MXZH+4UNp_(zaeA~WTq z6pzi9Z$vNg2j#h72Y8F`2V?Z^NH)w`o5(!1*`M zNa&r4v4{-pb#NBWtyo0%vONR`>4?~e%0%zW16s+lwxA^hX9l4-}~$7+efUHa=__d=u~PoJ+(F4zXn;M0&ybCKAj`>_9AJ|n4!T(f9(!OCLm zF0B2lsO;JXYkwf!v6il%TnlxQSSq`Z@E$AUKwTwVVcsfqlJf`kjB-j{?G>mrc2L|3 z{3QGt+mlCOh3?JLH25~%kTUhz^a1gh6{@{8&WP~}fL(&Y{txQI*uE~rm+5#)P4>;! zIuqZOJoAt}45i%bm)N!c;=9E@imK-B1C7ik_6(&wx8$jEk$OhCfmv9m08S6XivsgY zZ1>E8>q!K5-L)TcVnZkRaT)!xY}@?=4BsxNxcC^LW@Kx?*?Y6cfU7X?to8DJR^SB z(xu~p&cMxQ!Q?@EZEtX$EuJkANGD3OXN5$VF7D?h$tLVztT%p@;saCgHl8v$XYrPLc6 z*R;i1+}+(4cXxOF&iA)JxM-S8&UxSGxo^BS9gq#VsdJfGSX-Rk(^+5Mo<3Oost<^) zFZ9zo@zVi=K9j2l`zlqGOa3|1JY|S9THKEXy>}vikOT1}QbVJgA?fq=aBGZoA94;U zb-ZgJRmEu|*TGa2sv^o95fZ%XGm7b6p3TB?t@ zjYEF%z~QV`Om%t%z09RZmDrD;ux6e~)!$YWWJuU$gfbEeeA9QDiTCP~2L_9;PEv zhx^Ed`xoHfq0wZ#t5r_%%qV;nen?t^l(ba|^ZI+M#bAE9ukVXQNyo+g3NDn-d@fH_ zwg znfBsJx#+&c5pPnCQ%jWoLcjB?V2{4H{YXqVWE3_Y45I47(@ITc0DVX6CiJ2UM30Mb zF<4*USv8u>mYZl3=+P8mUQ#P#RfW&YA#RZSI2Z0tNr;XKkDW-?%uN;j3XQ(RvtnU4 zOgx~BHIAvDtzA(i@G!HMktzFKzx6N1Wwj2xOTL2U0$$J5KJkl%qRKRh#!nGNn0RoS z$bcOC`OF(34E@FQA?&WYLE6?l?G^N=Ct%^O$!J2hH>W%0BFejF0uS{PJB_WNy||BS z#C-re=+#^ycRy>LwiUT&-sjgamwX*!29P)S7s4g@iqg{i*xlYew)5V)XjL!}{X(|J zM#fer%Q%zM`)S97ruZJcr#v3sc_#@ixt4Sl>L{MawV=G9KH54sSF45TLL+Am81CzW z4R)-TY6}CEHbzh#X0DbS=*8qg@>{tisN)(S)^IJw&ju~;W^}UDAfgt!R-YWZ0lOGH zkQ=}c8=epc5DJge9y_MKTWQ%s{I+!fP%Ui)O@rv!L zKMT2vRMm##E9B?8FV@PLyReRHB={?RFy^E$JJ5g}T&T5I*9nK!C(3-4GVIukc)QXK zMjx8$HNk0LjCtBs2TT;Mmh=(H&W`E~@PO>73$STY+?-?9a9+{#^lCOQ(t#fYd5JN^ zC2|`-6t+awm`e5=28;E@+9*%>`#B%^eCWZMjXZL_C$HgmZ5T*_G~LDYN4g8WfGEuH z)J5zUz^wh+8~ls!Fim)HrbXiFL^VwbdSll~2c!mIs@52JjK=^8EF`{=2Z^4`rUh!? z1fHg?RQCA>Xw&7c{6u-b@?6}YZG+8@j*cDDKXPNbN$CtVD%e5jf~TVu#ROuPQP1_o zwH$gy&NC_IVf_``)Kx-wLDlv)wG;S2RVj^e|Ec-nDw>GQQF?1F-E)GH{+k=Y?NbYE zy}cChY47B0x~gqj5Fv8#cK(jS!T1sWHguTSqsSgt8~lPV%dnUZ(1)48cJsw+D%!5p z45nqUmr%|VrL_%BVB_$!;kAT$Y&>QeRf)m=40CfJSxHdtLaOr}@nf-S&VK`~^&lVA zs)f?U@KBW6F6+Ctf+DmEatA63wk2lJHT5t2VyYZCYNM%^Fi+e&yDhiIc7_(oALd)O zz9Y?AOYb1ASt~OJYX?(RkFvpl~duZfKHKX6Dx6rd3oxV74isv(3 zH2*kEm2}sKqZ5}uvDI<1*kQYtUN1nCKCi0NAW7(AtY_;x*BFgqr!2H6DdHf^j8~LT z5F@A-`reW~W9-<^m_yPtM9dwjgb|ClaB5A{jdwd}!|)NM}zv28or3hExbS3%PnZ%tHg`>T-{*9^^{#oYe-5Le^UQi205k zCYsx=#0ce}R8Q;`wu9S9UUqp7`o$xWhZBOwAagWl8AjGzTG|7$PT1#zu%yqf5yZ~8- z^>giyZ^bua&R|864d8-Hu!kvg2u4dGF5#~vj-KMr5Mr<`fp&h3L6mm35^OJTTciv* zgMTjDne#%`;Cf;bF^+mBJ)nxXy2ack%Hf&z9^N;Fsxo`U>f(~bIAesF!FESTd!Yct6Oob3(%4+(pSXmszw4*vmm*kmPZRnlM;V+@>VHdlYv=1*&esn&k-O-v_ zCby<<1#*GB8bwK-1@*n*%wS}U+MY=r7sX^4tq8ot7IOswo!IC_c9?BzfVD@u_Qotl2dlloG^x8f znsLY-{e|fl>h-va$^(8YIbEvbI_NU=3v4vI!^k6E()n62D_J@LlGGN)Q*Mzo*cZ$7 z%&H%3t49z+#Hyie`VlkI7#KDXiO&toj)}dxxV#X^iX>;iw(d=0gC0j9+%)|kIiG8a zUFC-pOKrOCY&Nu6Ya{qNY=2tRhQi67TgoQu#WsL{$-O0tDCOvp%n?K3ICrbi_L!yi z&FoKohdjeQFO+N1Y{|HA;WVW1PS+|znqOShE@`zq!`6gK*K4T3tn21ozLS!xbrnV| z9vf(^J;gQbh`b7qlI^8N=o?53tkP=(k$Qo25mpnWu~Lrikk9_F^9qq7;N&yk>7aA* z1%DD}gAMYv^e()vV~~;w8f7()n}j^nlNOKiH%z-mCMfyYqvES5PxU_$EWBlnjwnoY z4Gs$)$1{*NNa4)l5zSmPV`k{j@R8t#K2?p5Ur&4`CAqod65T$>;~aypB*rQ`kyq3k zy|a$8n4^<1##lYqr zY~}AuHPuz}BEd%|!>!TeGB5M+(EY@%>K1t&-a+r7m2^Kem+O6@t*HP@RAlO7>=|tZ znMa2^OXAQ3kI%*~;^o0%X!9_#?m~|oO2v0iz&Ekf809^nF5!1NU(eX&Grj#Ixu z4=$8pMlnsGAu&h|)xP_0;t{s}@X~7^G4^rn@(f9%=834(ipZ8D6ySX6T||`4qO$zK zq3pQa6~aCWq1FnwF_(N;tIsXgUaCLo47$2}5S}t0S-7VH_fgD(X`KD|BeON$AM}+6 z^PkyLMjc0ltCAG%bb&~($JY$4j}Oy&Am!j(c7t?Ro$0#dFJ-J(_B=1Mx1a0E|xD!~Y^a`xId?(nGJFUFXy-WdRfF7oYUQaC7DE6xBOfZ7# zgk=eFo&`X+M!L%Y+A5<1?>wS{wjCOnjzdajBj+gp1S#B?N|cn3QG5Jvh$qYY%4G$X zCZw;vU-Sa?jIswghnLT39(9)aS6f?R0lwNwmV&M!$X~uF@I=a_8EK2z1c2-~T%_a~3It%|oI=b*!&=4-&kK z@)yV@%oY-EsPK7U3piHdLv+8)!-9v140Pw-B=&RPq1PmwXTy+wU?WvhNtXW>8~8^n zg@n)25p@Hkgw_l#5$h|@jFDn{qAa(W=>?m@Ke!geYi2!jjh_d7%Sqa2Yf7l8VmFek zkG^%1PpM24lNdG6;ls0~?i2-@P<7~{Zkp?k|HrHXN7zR0Cho1=j549bU(`iUn5P=G zjBd+EFTtre>RMrfX~dL9yJ6*1=JVB&7OrmeJ?auwK1e&o$g|oCain=sy8zqYw-J)u zAwLraWD34AN_BO%Rvq#_EulD0s-{g*PQ(Q$LRpvfFQKJ-9 zE?-)b=Ec0l3tUs|*O&j}$iffOMPYldIx(9HIVRh8BE8jiq0dHHTOCW#{@6R{5&SL4 zQnQ=4y=ky$)3KmG z!op9`d$Kyr;vS&m%OoVe2P+c?CyWjHvBF?2`0csDb|DM7d%5k9gnq*MAg4&>wb$sJ zm_;dR!D=z{kh#vH$UY)WjY2&+0(PDm2ja9#WE^NB+qkMsysHP80I8HOvt|mCvd2#u z#Sv4Bf~2f<#uD+TK1oTC=lSkpf3S8!9bstkeajCKEs0Cmcp;$g$>@rIHDNAMNwFHD zsW4==z35jW2H}DO@wK3D<{;^ka!8AThM7b9QMs>PpiR!>Ly+9C!cp)`Y#Cy#b3s*{ zDG%VIq@w0={;a-N3rbaD8el_wjbj#pA+RxYjNCzv15+6{9hFceAp%dN$J57{f4QCZ znjBgtg($rV6KJ>rM3Sa!;d{u|Kkz)&$u{ZN{UCc*y3BFeX_wtY+q-lsiO2)344F zXxVA3l5%{s{iDA@T&zA@dhQsNaRgc5m;ik^9khPd5i4ImslKw-XPZVpD=RXXf?EK z{Anm{RiXUqp*^e47JQ2;0!olGp#71Tw!tUSS@{Rj)_FK*xp%P9L)+-zq%M?a2)pE@ zz*z5fDLF7%hFeOk902SC=Pl+$LON%o6(*MbqyN-O=sSa_pt-ZQ`cyBWQLg^0ZvA0v))vY$fyl*Dg+O@U#liI^oLMm%~k>c?pu8~xE`FL<9-qbOR>&P}l&oDUI*7j077SQonrX!UP z;ytstQ?c!k&-e@`A>kj-Wst+}=H}xFwafoE-`4p{tpjw8G$zU~%p1l;D|Q9CVx#sV zKajs(FJG|GsuxxW`YK3%#z20%uCzz|uqZ*@! zsXDQ-Y+?2qvCzG~Z1cptgx=+n%WSfr4aT|-JHt##Vx76lFz*(14NAKZtwQt&{->(J zneApD?azRT&kopD=-F&V=cJ6KN%lC~51+){W4w4L&cO}>)!4u3e9)VPb`n=dX`cP> z;9=vAJ{hYVOqQz&@{67xU)gGok&Vk7>U}58>RLGXf8ID-yCrcpd;!!=> zs3EO4^US)XOUkG;H_*)(rZv}i@uPBF?<|$mQppO~{6G)qW!FM!D0U;VC*K^-y=y|h zX%TLpdnUV@dCxTscGcd>Q(T+#vC!V!URJvK&3{Ae4rk$s1xi6v&6l58@SSg?7ARGm z3vJh33SEU94-#GDq+5{99fL_^0M>7xGJhOz4Jxc2eF~%Ibb4l&ppyz5eC;fa)pS6n2VT?|A-NCV3I!mrt`kqO8;B=X!G$rHrrL7 zdO}=|8)KC>cy*0l-dq^n%xeT^&~KPjXIb}Sy1*z)ozPBNZZ%e^q&xt#$oE-2=*8f! zZ9BP>v$Hda-P|m96R`pkiA(kJjviVE7 zpPmXZ9Z|9@onVvKfx~i^>thb>=mA`0CA>J2gOj*O9Kqff-hv#?ZL_2${+^Aep=U;) zt#%VzFRq;RG3KT3AJ;SaBoXp5NO^iLI0M~JTiL6*9c4_DvI^71Nz+?E_hKsfQk6JW zQ70IdbwS;4EemayXY#XM)5ta0NpMfl0|SWhFwOIo3d4>wJDC}XMDB@sA}msxYnX4Q zx!GtZErlfFO2o+67fRX8uF)0z$MppC9C<_;CfDFQNG+u;2x zsHo_XhxU~grDIu*9=?khL-oiOQ9AU}ZKgn;kAxDwg} z*an?K&ewnIx6J}LW&b9>L|&nQx*U8b{Sr%&`@m1Mi0fbfT-Q2z1rp7Nq_4qCQQM?9 z;x_p=_RF=&^#W^140Ybb4uF>2La8vGjNC#`z}EIyyee6oJ{ll%WqvlysrR5;P*Y+1 zXbim-NQ^?9vDaL_Um^5N>mB`#o8nGko+rqje6ZF1o2?M^F5Hi`h)YqrsqxZ#*eAG2 zb%zPRrnaT&tzEA(@2I!+>q*%YY z8TvPkuzdQFKrdH28_g6452(Y;RC)|En(=Z?*9^&d}{3A!inQ7VHL-xq8qsu@z?E>dC!eCX{jV zXw%Y}@-OkQax-F%YXZL|IL+BU{`ddq!Fqk;Sm>*@Q*R&Y8R{9EDc%dFNkinja(&l2 zWNN8YY7<(U^f4dUV%$K2Wotm5XMyE|q`fxzwL*xMl|M1Bq&y58K%Jn2>@IE(*V=7) z?DRbl!wg{dGuz=Sf19JZ3s_y~f*mYJq}@zEr_>iuX(Q=1)G}rp&rM%X>{#O`> z{Q+lPouGZ?{c zx&9GtUZKAY-b5Dd%tKZPr}n*&ncxG#bukcjHsVPG&h!BJfj-#YO|2 zxlel0rqDo(@&TlzzmbIKHTAzO-nyxuFlvOVY5T2fp+Ah8$&-Pp!Fgy@E)H231@b%JY2gxa8{Ya9bh&719#evjPljhSm(2a+ZbUYw0^l-H)loK>jQ7_h>1Zs* z4-vNE0rz*~_V2>SS%aHrEF1C$D1d$jyP-!Cz{hm@K`jQlS0P*Bfm?L%$5)r_(_PrW~lu_4CY? z>*L2V531qdRnB<46(sOK(>fV(kUg1cPB!1DmsClgOAcqoa)4Mv&!f*$b=}2SDAEg! zhrE!H&}I^VL|jVk5dQ_&F&(!0wv?V`y7lo!YV?3WJ?zIapKy$-9Eb>fB3>#ZHCp*4 z0dYcVlYuKKv_j0?q-)=T4F9!Dr4-<^dh) zc}TxfT+#nZk>pSIKAZ`S&UvK1*Ebl)td2-$>9#|L`<0Exm&iKi1g&#iL+Xg@?fgdK zJieL!K-sTX6v{%^ zTclo>#>0-{4lPrho7RZ@5Eo6<26w4eRkz@>XyNbRun&%Nv;fN}4FI zHD1e)gRbCusYZx_z9z&*?gRDNGp;o5#$|_^twtg8u^~t8FXUko63T8~3mA)xA z#B-$+YAiBa|DvR3Ukbnv7W~%pao?4~`axkJpT}49hEN~%929l6Rx*^$kUn2QA;f)- zjYx#GBhSq1pi{;m{cqoP?Y)64X%c(}sW@*rH}_jmv`TQ-vE3|f4J2k}j!=A7_x$tL z1Zk>K3~s4Pz~0as{&n;PKr0HDeWC`%krsvt|@2|wjrh-Qk{>CUjoyE2Vn9)-9JcaA<@K2ZiD-%I#zfMJ?0g)$J#Q-Tfr@Fcf3#{)p^jO zH!)N$SW{cAs{x#1z*6dRq5nWXwY!wAS5dxeU-bW^XlP?QFV&Hg)Q%WnJJ9(!0^Si7 z__m4^^9m`ZO^VsB{gWP)J6n(PrsVCx=a|#Z1!P>xDvCP*VGn2!9#`4^?|v>G{cVI%bbHI*C{ zY%a-oF)$4CLb0;D53py-E%w_zC$)tn@}Tbko6=a7VRkAkz!FEmzkF(w&V4QU-B#6t{uY}#z%9( zn#c@?jUOnLQ5rBciP`j0>JoTDu0ofHJ4-jjp9G`qFSW*y)NN)j4I4}#uIiv8(T*?9 zSC?!`TlA{@FExXC1AnK@QXA0Uva8RuY*rv^(!IFWzVO)0*wNY#p5>d-I5XezkSXE* zAk~yJrFwWKO4E(BRFP8lnw`xL#+}H&Elf{QDq1OevRKhpg;^Vc$rl6vED!n;;@`S1 zBk$3j^6;#SLY&&p%+c@Vlu_E+L@A0qO;TBvec%4y7e{`2AM;<`d%1QBG{R_+On&x4 zBLQro4|0bU*&3#Lv3;(>F&H-l_Ax(zIJlGPs@aVlS^{wgo(q%Ee&7SMP7j2hhtiac zyhc{#oTXe<`VrodIYoxiqd_-fG6g&&(^C8-6_YglogbKMyAlF^k&B?pS>ZB0STRb4V2VCGWTu}SyXeL%`4u<+--7^?>4gf~BN( zavNoWc2}ATZ@xW>v=S;xcNYEUJAE0Y>TF~^^L>Z)QQK!j=m4=48zeY-HT+i&(Ua(K@2SWs&M)bk^hVw`NMjTu*WwLf&vZJvLORR4 zKvz5;Kk6$2^Q()sG5&qA-|>H$tyyzv!J~5>A&+2>ySh{~{a>NOvehapM1v{#5o8h3 ziE(qi>2SBsZO3QB%;{gQHppr(4lNwNB$w@w_FelG8_X%T$d1wEL_RF;V)z+(5MPa7 zubxI@00#*v2}-25o8r}D^mCB&l1$g7Td~8~Hd1AMpf*)bkowEpq3I<-znDEBR71TP z{H9mcbK{5m59f@;`@zJ`LAjNA!Z^ZYf=g5-v3#&f_D%mf+|JKa^E9tfo_1W*nzCk4i^p|FY0W$qg2HBsIDd}q@$|nf)-hNh;|1-quVMrX$NFVWXi3z zZ^7kiUH)Hq3aF%)woS%WR}QEqenW@hO_>u^ahgjwBO#>I{k*-AWl}bidrTbv&vzGi8bOn9s+cuo6K(|z0cM>C@w{N7@N=lXo53h3KR7v5Hv-Q5Li(=W*XW&pflBEg((Y;Xtq<$kt#lq5*zesUu0U zR(kpJW6l`z3H~grgBD`~D>brrZWZ3fbk6QY?ox|FB58H?rZchVW;9^yHSY{shtcR_ zc%thG)*k*A&9#_#38aAwa&PT{H5^>_)8(&9!=gNCt za^Xx4R}b>5?vN|kOnM2sfU8B^lP*e$ixg@uagpiHq`J$3YoyQB1l^>HW4aMU@OS-EPE2XD((~4UKu-$ttKfmBKBRb$|!7vTu>j4$_mOk7$f%-!8R&QsRqa(%*P1$N4J%-wPof0C3! z*JGx`TndT|7b?YVnjAACaW&3G*F%zj}I{ndq!KB3>R~`RU z^?T}b*Gv2b)rqum=h#EoEc!7WASZb?xp&en+)3_>l0SwM6VmeWI3|Rt3g=wGEnz}<|GCSascb(Y8<@6nZiLaKfP23sx5vFnC z?!?{Dsy%^;J&mhDY~pTk=S$w>S!6~q6HaSU+zT9ZP%1C2jgL2<<#*1fENA|v z{0ewE?uR>xvAZSrAqrY2DG7S+SIT#?nqwh6KviUPszF*w-shhZsA^vnIH&a0+Zidb z(?KGUk6r-FK{>pDt_#kk$Mi4m?=apME+V;lG$ z#h)y^KRD3rt4_5YQx}#@N%Mgv)OD?`<~A>@^R4!w5Hf>W3@MX?xl8U7%sbB)_Z!Wl zy;V<0MRUt4wb7MnGK?-W2@Q_P>;O!=l$SqFHlHNn>tkc*MQx0 zvjcHAV-ybi