From d4ed11e35fd96624482e6eef5657b5a45795d6c6 Mon Sep 17 00:00:00 2001 From: Alex Liberzon Date: Wed, 6 Mar 2024 22:57:59 +0200 Subject: [PATCH] updated Path --- openptv_python/calibration.py | 18 +- openptv_python/parameters.py | 39 +- openptv_python/sortgrid.py | 3 +- openptv_python/tracking_frame_buf.py | 6 +- openptv_python/tracking_run.py | 9 +- tests/gen_track_data.py | 11 +- tests/test_burgers.py | 21 +- tests/test_cal_ori_par.py | 5 +- tests/test_calibration_binding.py | 12 +- tests/test_calibration_notebook.ipynb | 202 +++++++-- tests/test_calibration_optimization.py | 11 +- tests/test_calibration_optimize copy.ipynb | 389 ------------------ tests/test_calibration_optimize.ipynb | 43 +- tests/test_corresp.py | 45 +- tests/test_epipolar.py | 12 +- tests/test_get_mmlut.py | 10 +- tests/test_init_mmlut.py | 13 +- tests/test_merging_yaml.py | 12 +- tests/test_multimedia_n_lay.py | 10 +- tests/test_orientation.py | 38 +- tests/test_parameters_bindings.py | 20 +- tests/test_reading_yaml_parameters.py | 7 +- tests/test_sortgrid.py | 12 +- tests/test_tracking.py | 4 +- tests/test_tracking_run.py | 42 +- tests/test_trafo.py | 7 +- tests/test_trafo_mockup.py | 4 +- tests/test_two_camera_matching.py | 9 +- .../parameters/merged_parameters.yaml | 131 +----- 29 files changed, 367 insertions(+), 778 deletions(-) delete mode 100644 tests/test_calibration_optimize copy.ipynb diff --git a/openptv_python/calibration.py b/openptv_python/calibration.py index c9cea46..9ca18de 100644 --- a/openptv_python/calibration.py +++ b/openptv_python/calibration.py @@ -1,7 +1,7 @@ """Calibration data structures and functions.""" import copy -import pathlib +from pathlib import Path from typing import Optional import numpy as np @@ -127,7 +127,7 @@ def __init__(self, @classmethod - def from_file(cls, ori_file: str, add_file: str | None): + def from_file(cls, ori_file: Path, add_file: Path | None): """ Read exterior and interior orientation, and if available, parameters for distortion corrections. @@ -141,7 +141,7 @@ def from_file(cls, ori_file: str, add_file: str | None): ------- - ext_par, int_par, glass, addp: Calibration object parts without multimedia lookup table. """ - if not pathlib.Path(ori_file).exists(): + if not ori_file.exists(): raise IOError(f"File {ori_file} does not exist") ret = cls() @@ -166,6 +166,8 @@ def from_file(cls, ori_file: str, add_file: str | None): # this is anyhow default # self.mmlut.data = None # no multimedia data yet + ret.added_par = np.array([0,0,0,0,0,1,0], dtype=np.float64) + # Additional parameters if add_file is not None: with open(add_file, "r", encoding="utf-8") as fp: @@ -179,10 +181,6 @@ def from_file(cls, ori_file: str, add_file: str | None): else: # print("no addpar fallback used") # Waits for proper logging. print("No addpar file found. Using default values for radial distortion") - # ret.added_par.k1 = ret.added_par.k2 = ret.added_par.k3 \ - # = ret.added_par.p1 = ret.added_par.p2 = ret.added_par.she = 0.0 - # ret.added_par.scx = 1.0 - ret.added_par = np.array([0,0,0,0,0,1,0], dtype=np.float64) return ret # print(f"Calibration data read from files {ori_file} and {add_file}") @@ -395,7 +393,7 @@ def write_ori( ext_par: np.recarray, int_par: np.recarray, glass: np.ndarray, - added_par: np.recarray, + added_par: np.ndarray, filename: str, add_file: Optional[str], ) -> bool: @@ -424,7 +422,7 @@ def write_ori( return success -def read_ori(ori_file: str, add_file: str) -> Calibration: +def read_ori(ori_file: Path, add_file: Path) -> Calibration: """ Read exterior and interior orientation, and if available, parameters for distortion corrections. @@ -495,7 +493,7 @@ def compare_addpar(a1, a2): return np.array_equal(a1, a2) -def read_calibration(ori_file: str, addpar_file: str) -> Calibration: +def read_calibration(ori_file: Path, addpar_file: Path | None) -> Calibration: """Read the orientation file including the added parameters.""" return Calibration().from_file(ori_file, addpar_file) diff --git a/openptv_python/parameters.py b/openptv_python/parameters.py index eefeec1..9929c8c 100644 --- a/openptv_python/parameters.py +++ b/openptv_python/parameters.py @@ -1,5 +1,4 @@ """Parameters for OpenPTV-Python.""" -import os from dataclasses import asdict, dataclass, field from pathlib import Path from typing import List, Tuple @@ -146,9 +145,9 @@ def get_last(self): return self.last @classmethod - def from_file(cls, filename: str, num_cams: int): + def from_file(cls, filename: Path, num_cams: int): """Read sequence parameters from file.""" - if not Path(filename).exists(): + if not filename.exists(): raise IOError("File {filename} does not exist.") ret = cls() @@ -162,7 +161,7 @@ def from_file(cls, filename: str, num_cams: int): return ret -def read_sequence_par(filename: str, num_cams: int = TR_MAX_CAMS) -> SequencePar: +def read_sequence_par(filename: Path, num_cams: int = TR_MAX_CAMS) -> SequencePar: """Read sequence parameters from file and return SequencePar object.""" return SequencePar().from_file(filename, num_cams) @@ -213,7 +212,7 @@ class TrackPar(Parameters): # } @classmethod - def from_file(cls, filename: str): + def from_file(cls, filename: Path): """Read tracking parameters from file and return TrackPar object. Note that the structure has 13 attributes, from which we read only 9 @@ -306,7 +305,7 @@ def get_dny(self): return self.dny -def read_track_par(filename: str) -> TrackPar: +def read_track_par(filename: Path) -> TrackPar: """Read tracking parameters from file and return TrackPar object.""" return TrackPar().from_file(filename) @@ -377,7 +376,7 @@ def set_corrmin(self, corrmin: float): self.corrmin = corrmin @classmethod - def from_file(cls, filename: str): + def from_file(cls, filename: Path): """Read volume parameters from file. Args: @@ -401,7 +400,7 @@ def from_file(cls, filename: str): return cls(x_lay, z_min_lay, z_max_lay, cn, cnx, cny, csumg, eps0, corrmin) -def read_volume_par(filename: str) -> VolumePar: +def read_volume_par(filename: Path) -> VolumePar: """Read volume parameters from file and returns volume_par object. Args: @@ -497,10 +496,10 @@ def get_tiff_flag(self): return self.tiff_flag @classmethod - def from_file(cls, filename: str): + def from_file(cls, filename: Path): """Read control parameters from file and return ControlPar object.""" ret = cls() - if not os.path.isfile(filename): + if not filename.exists(): raise FileNotFoundError(f"Could not open file {filename}") with open(filename, "r", encoding="utf-8") as par_file: @@ -546,7 +545,7 @@ def to_dict(cls, data): return control_par_dict -def read_control_par(filename: str) -> ControlPar: +def read_control_par(filename: Path) -> ControlPar: """Read control parameters from file and return ControlPar object.""" return ControlPar().from_file(filename) @@ -608,7 +607,7 @@ class TargetPar(Parameters): # } @classmethod - def from_file(cls, filename: str): + def from_file(cls, filename: Path): """Read target parameters from file and returns target_par object. Reads target recognition parameters from a legacy detect_plate.par file, @@ -673,7 +672,7 @@ def get_min_sum_grey(self): """Return the sum grey bounds.""" return self.sumg_min -def read_target_par(filename: str) -> TargetPar: +def read_target_par(filename: Path) -> TargetPar: """Read target parameters from file and returns target_par object.""" tpar = TargetPar() return tpar.from_file(filename) @@ -712,7 +711,7 @@ class OrientPar(Parameters): interfflag: int = 0 @classmethod - def from_file(cls, filename: str): + def from_file(cls, filename: Path): """Read orientation parameters from file and returns orient_par object.""" ret = cls() try: @@ -777,7 +776,7 @@ def from_file(cls, file_path: str, num_cams: int): return cls(fixp_name, img_name, img_ori0, tiff_flag, pair_flag, chfield) -def read_cal_ori_parameters(file_path: str, num_cams: int) -> CalibrationPar: +def read_cal_ori_parameters(file_path: Path, num_cams: int) -> CalibrationPar: """Read from cal_ori.par file.""" with open(file_path, 'r', encoding="utf-8") as file: fixp_name = file.readline().strip() @@ -799,7 +798,7 @@ class MultiPlanesPar(Parameters): filename: list = field(default_factory=list) @classmethod - def from_file(cls, file_path: str): + def from_file(cls, file_path: Path): """Read from multiplanes.par file.""" with open(file_path, 'r', encoding="utf-8") as file: num_planes = int(file.readline().strip()) @@ -814,14 +813,14 @@ class ExaminePar(Parameters): combine_flag: bool = False @classmethod - def from_file(cls, file_path: str): + def from_file(cls, file_path: Path): """Read from examine.par file.""" with open(file_path, 'r', encoding="utf-8") as file: examine_flag = bool(int(file.readline().strip())) combine_flag = bool(int(file.readline().strip())) return cls(examine_flag, combine_flag) -def read_examine_par(file_path: str) -> ExaminePar: +def read_examine_par(file_path: Path) -> ExaminePar: """Read from examine.par file.""" with open(file_path, 'r', encoding="utf-8") as file: examine_flag = bool(int(file.readline().strip())) @@ -835,14 +834,14 @@ class PftVersionPar(Parameters): existing_target_flag: bool = False @classmethod - def from_file(cls, file_path: str): + def from_file(cls, file_path: Path): """Read from pft_version.par file.""" with open(file_path, 'r', encoding="utf-8") as file: pft_version = bool(int(file.readline().strip())) return cls(pft_version) @classmethod - def write(cls, file_path: str): + def write(cls, file_path: Path): """Write to pft_version.par file.""" with open(file_path, 'w', encoding="utf-8") as file: file.write(f"{cls.existing_target_flag}\n") diff --git a/openptv_python/sortgrid.py b/openptv_python/sortgrid.py index a5d9fe1..7d123e7 100644 --- a/openptv_python/sortgrid.py +++ b/openptv_python/sortgrid.py @@ -1,3 +1,4 @@ +from pathlib import Path from typing import List import numpy as np @@ -119,7 +120,7 @@ def read_sortgrid_par(filename) -> int: return eps -def read_calblock(filename: str) -> np.recarray: #List[Coord3d]: +def read_calblock(filename: Path) -> np.recarray: #List[Coord3d]: """ Read the calibration block file into the structure of 3D positions and pointers. diff --git a/openptv_python/tracking_frame_buf.py b/openptv_python/tracking_frame_buf.py index 4e1688b..a872239 100644 --- a/openptv_python/tracking_frame_buf.py +++ b/openptv_python/tracking_frame_buf.py @@ -1,6 +1,7 @@ """Tracking frame buffer.""" from collections import deque from dataclasses import dataclass, field +from pathlib import Path from typing import Deque, List, Tuple import numpy as np @@ -172,10 +173,11 @@ def read_targets(file_base: str, frame_num: int) -> List[Target]: if frame_num > 0: # filename = f"{file_base}{frame_num:04d}_targets" - filename = file_base % frame_num + '_targets' + fname = file_base % frame_num + '_targets' else: - filename = f"{file_base}_targets" + fname = f"{file_base}_targets" + filename = Path(fname) print(f" filename: {filename}") try: diff --git a/openptv_python/tracking_run.py b/openptv_python/tracking_run.py index 43f8c1b..66a8f16 100644 --- a/openptv_python/tracking_run.py +++ b/openptv_python/tracking_run.py @@ -1,6 +1,7 @@ """Tracking run module.""" import math from dataclasses import dataclass +from pathlib import Path from typing import List from openptv_python.calibration import Calibration @@ -97,10 +98,10 @@ def __init__( def tr_new( - seq_par_fname: str, - tpar_fname: str, - vpar_fname: str, - cpar_fname: str, + seq_par_fname: Path, + tpar_fname: Path, + vpar_fname: Path, + cpar_fname: Path, buf_len: int, max_targets: int, corres_file_base: str, diff --git a/tests/gen_track_data.py b/tests/gen_track_data.py index b7b2bb3..5095951 100644 --- a/tests/gen_track_data.py +++ b/tests/gen_track_data.py @@ -4,6 +4,7 @@ testing. It starts from (0,0,0) and moves in a straight line on the x axis, at a slow velocity. """ +from pathlib import Path from typing import List import numpy as np @@ -21,7 +22,7 @@ part_traject[:, 0] = np.r_[:num_frames] * velocity # Find targets on each camera. -cpar = ControlPar(num_cams=3).from_file("testing_fodder/track/parameters/control_newpart.par") +cpar = ControlPar(num_cams=3).from_file(Path("tests/testing_fodder/track/parameters/control_newpart.par")) targs: List[List[List[float]]] = [ [[0.0, 0.0] for _ in range(num_frames)] for _ in range(num_cams) @@ -29,8 +30,8 @@ for cam in range(num_cams): cal = Calibration().from_file( - f"testing_fodder/cal/sym_cam{cam+1}.tif.ori", - "testing_fodder/cal/cam1.tif.addpar", + Path(f"tests/testing_fodder/cal/sym_cam{cam+1}.tif.ori"), + Path("tests/testing_fodder/cal/cam1.tif.addpar"), ) # check this out for frame in range(num_frames): @@ -41,7 +42,7 @@ for frame in range(num_frames): # write 3D positions: with open( - f"testing_fodder/track/res_orig/particles.{frame+1}", "w", encoding="utf-8" + f"tests/testing_fodder/track/res_orig/particles.{frame+1}", "w", encoding="utf-8" ) as outfile: # Note correspondence to the single target in each frame. outfile.writelines( @@ -63,7 +64,7 @@ # write associated targets from all cameras: for cam in range(num_cams): with open( - f"testing_fodder/track/newpart/cam{cam+1}.{frame+1:04d}_targets", + f"tests/testing_fodder/track/newpart/cam{cam+1}.{frame+1:04d}_targets", "w", encoding="utf-8", ) as outfile: diff --git a/tests/test_burgers.py b/tests/test_burgers.py index e5a1e0e..d6d71bc 100644 --- a/tests/test_burgers.py +++ b/tests/test_burgers.py @@ -58,7 +58,7 @@ def read_all_calibration(num_cams: int = 4) -> list[Calibration]: for cam in range(num_cams): ori_name = ori_tmpl % (cam + 1) added_name = added_tmpl % (cam + 1) - calib.append(read_calibration(ori_name, added_name)) + calib.append(read_calibration( Path(ori_name), Path(added_name) )) return calib @@ -71,6 +71,7 @@ def test_burgers(self): current_directory = Path.cwd() print(f"working from {current_directory}") directory = Path("tests/testing_fodder/burgers") + parameters_path = (directory / "parameters").resolve(strict=True) os.chdir(directory) @@ -86,7 +87,7 @@ def test_burgers(self): copy_directory("res_orig/", "res/") copy_directory("img_orig/", "img/") - cpar = read_control_par("parameters/ptv.par") + cpar = read_control_par(parameters_path / "ptv.par") self.assertIsNotNone(cpar) calib = read_all_calibration(cpar.num_cams) @@ -95,10 +96,10 @@ def test_burgers(self): print("Test Burgers vortex case") run = tr_new( - "parameters/sequence.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/ptv.par", + parameters_path / "sequence.par", + parameters_path / "track.par", + parameters_path / "criteria.par", + parameters_path / "ptv.par", 4, 20000, "res/rt_is", @@ -124,10 +125,10 @@ def test_burgers(self): run.nlinks, 17, f"Was expecting nlinks == 17 but found {run.nlinks}") run = tr_new( - "parameters/sequence.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/ptv.par", + parameters_path / "sequence.par", + parameters_path / "track.par", + parameters_path / "criteria.par", + parameters_path / "ptv.par", 4, 20000, "res/rt_is", diff --git a/tests/test_cal_ori_par.py b/tests/test_cal_ori_par.py index ddc67a8..4a85126 100644 --- a/tests/test_cal_ori_par.py +++ b/tests/test_cal_ori_par.py @@ -1,4 +1,5 @@ import unittest +from pathlib import Path from openptv_python.parameters import read_cal_ori_parameters @@ -7,7 +8,7 @@ class TestCalibrationParameters(unittest.TestCase): """Tests for the read_cal_ori_parameters function.""" def setUp(self): - self.temp_file = 'tests/testing_fodder/parameters/cal_ori.par' + self.temp_file = Path('tests/testing_fodder/parameters/cal_ori.par') # def tearDown(self): @@ -36,7 +37,7 @@ def test_read_parameters(self): def test_read_parameters_nonexistent_file(self): """Test that the function raises FileNotFoundError when the file does not exist.""" with self.assertRaises(FileNotFoundError): - read_cal_ori_parameters("nonexistent_file.par", 4) + read_cal_ori_parameters(Path("nonexistent_file.par"), 4) # def test_read_parameters_invalid_file(self): # with open(self.temp_file, 'w') as invalid_file: diff --git a/tests/test_calibration_binding.py b/tests/test_calibration_binding.py index 12b5647..7f936b2 100644 --- a/tests/test_calibration_binding.py +++ b/tests/test_calibration_binding.py @@ -3,6 +3,7 @@ import os import shutil import unittest +from pathlib import Path import numpy as np @@ -22,9 +23,10 @@ class TestCalibration(unittest.TestCase): """Test the Calibration class.""" def setUp(self): - self.input_ori_file_name = "tests/testing_folder/calibration/cam1.tif.ori" - self.input_add_file_name = "tests/testing_folder/calibration/cam2.tif.addpar" - self.output_directory = "tests/testing_folder/calibration/testing_output/" + filepath = Path("tests") / "testing_folder" / "calibration" + self.input_ori_file_name = filepath / "cam1.tif.ori" + self.input_add_file_name = filepath / "cam2.tif.addpar" + self.output_directory = filepath / "testing_output" # create a temporary output directory (will be deleted by the end of test) if not os.path.exists(self.output_directory): @@ -85,8 +87,8 @@ def test_full_instantiate(self): def test_calibration_instantiation(self): """Filling a calibration object by reading ori files.""" - output_ori_file_name = self.output_directory + "output_ori" - output_add_file_name = self.output_directory + "output_add" + output_ori_file_name = self.output_directory / "output_ori" + output_add_file_name = self.output_directory / "output_add" # Using a round-trip test. cal = read_calibration(self.input_ori_file_name, self.input_add_file_name) diff --git a/tests/test_calibration_notebook.ipynb b/tests/test_calibration_notebook.ipynb index 13a2bce..7623ace 100644 --- a/tests/test_calibration_notebook.ipynb +++ b/tests/test_calibration_notebook.ipynb @@ -15,24 +15,40 @@ " external_calibration,\n", " full_calibration\n", ")\n", - "from openptv_python.parameters import ControlPar, OrientPar, read_control_par\n", + "from openptv_python.parameters import ControlPar, OrientPar, read_control_par, read_target_par\n", "from openptv_python.tracking_frame_buf import Target\n", "from openptv_python.trafo import arr_metric_to_pixel\n", "from openptv_python.imgcoord import img_coord\n", "from openptv_python.trafo import pixel_to_metric\n", "from openptv_python.tracking_frame_buf import Target\n", "\n", - "from pathlib import Path\n", + "from pathlib import Path\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ "\n", "import matplotlib.pyplot as plt\n", - "%matplotlib notebook\n", + "%matplotlib widget\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ "\n", "from skimage.io import imread\n" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -45,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -58,6 +74,7 @@ ], "source": [ "control_file_name = par_dir / \"ptv.par\"\n", + "target_parameters_file_name = par_dir / \"targ_rec.par\"\n", "# self.control = ControlPar(4)\n", "control = read_control_par(control_file_name)\n", "print(control)\n" @@ -65,9 +82,22 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'pathlib' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[6], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m orient_par_file_name \u001b[38;5;241m=\u001b[39m par_dir \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124morient.par\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2\u001b[0m orient_par \u001b[38;5;241m=\u001b[39m OrientPar()\u001b[38;5;241m.\u001b[39mfrom_file(orient_par_file_name)\n\u001b[0;32m----> 4\u001b[0m cal \u001b[38;5;241m=\u001b[39m \u001b[43mCalibration\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_file\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43mcal_dir\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcam1.tif.ori\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mcal_dir\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcam1.tif.addpar\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m orig_cal \u001b[38;5;241m=\u001b[39m Calibration()\u001b[38;5;241m.\u001b[39mfrom_file(\n\u001b[1;32m 9\u001b[0m cal_dir \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcam1.tif.ori\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 10\u001b[0m cal_dir \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcam1.tif.addpar\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 11\u001b[0m )\n", + "File \u001b[0;32m~/Documents/repos/openptvpy/openptv-python/openptv_python/calibration.py:144\u001b[0m, in \u001b[0;36mCalibration.from_file\u001b[0;34m(cls, ori_file, add_file)\u001b[0m\n\u001b[1;32m 129\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfrom_file\u001b[39m(\u001b[38;5;28mcls\u001b[39m, ori_file: Path, add_file: Path \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 131\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 132\u001b[0m \u001b[38;5;124;03m Read exterior and interior orientation, and if available, parameters for distortion corrections.\u001b[39;00m\n\u001b[1;32m 133\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;124;03m - ext_par, int_par, glass, addp: Calibration object parts without multimedia lookup table.\u001b[39;00m\n\u001b[1;32m 143\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 144\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[43mpathlib\u001b[49m\u001b[38;5;241m.\u001b[39mPath(ori_file)\u001b[38;5;241m.\u001b[39mexists():\n\u001b[1;32m 145\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mIOError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFile \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mori_file\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m does not exist\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 147\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m()\n", + "\u001b[0;31mNameError\u001b[0m: name 'pathlib' is not defined" + ] + } + ], "source": [ "orient_par_file_name = par_dir / \"orient.par\"\n", "orient_par = OrientPar().from_file(orient_par_file_name)\n", @@ -84,40 +114,100 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [ { - "ename": "AttributeError", - "evalue": "module 'matplotlib.cbook' has no attribute '_Stack'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m im \u001b[38;5;241m=\u001b[39m imread(cal_dir \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcam1.tif\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimshow\u001b[49m\u001b[43m(\u001b[49m\u001b[43mim\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcmap\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mgray\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/pyplot.py:3358\u001b[0m, in \u001b[0;36mimshow\u001b[0;34m(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, interpolation_stage, filternorm, filterrad, resample, url, data, **kwargs)\u001b[0m\n\u001b[1;32m 3337\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[38;5;241m.\u001b[39mimshow)\n\u001b[1;32m 3338\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mimshow\u001b[39m(\n\u001b[1;32m 3339\u001b[0m X: ArrayLike \u001b[38;5;241m|\u001b[39m PIL\u001b[38;5;241m.\u001b[39mImage\u001b[38;5;241m.\u001b[39mImage,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3356\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3357\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m AxesImage:\n\u001b[0;32m-> 3358\u001b[0m __ret \u001b[38;5;241m=\u001b[39m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mimshow(\n\u001b[1;32m 3359\u001b[0m X,\n\u001b[1;32m 3360\u001b[0m cmap\u001b[38;5;241m=\u001b[39mcmap,\n\u001b[1;32m 3361\u001b[0m norm\u001b[38;5;241m=\u001b[39mnorm,\n\u001b[1;32m 3362\u001b[0m aspect\u001b[38;5;241m=\u001b[39maspect,\n\u001b[1;32m 3363\u001b[0m interpolation\u001b[38;5;241m=\u001b[39minterpolation,\n\u001b[1;32m 3364\u001b[0m alpha\u001b[38;5;241m=\u001b[39malpha,\n\u001b[1;32m 3365\u001b[0m vmin\u001b[38;5;241m=\u001b[39mvmin,\n\u001b[1;32m 3366\u001b[0m vmax\u001b[38;5;241m=\u001b[39mvmax,\n\u001b[1;32m 3367\u001b[0m origin\u001b[38;5;241m=\u001b[39morigin,\n\u001b[1;32m 3368\u001b[0m extent\u001b[38;5;241m=\u001b[39mextent,\n\u001b[1;32m 3369\u001b[0m interpolation_stage\u001b[38;5;241m=\u001b[39minterpolation_stage,\n\u001b[1;32m 3370\u001b[0m filternorm\u001b[38;5;241m=\u001b[39mfilternorm,\n\u001b[1;32m 3371\u001b[0m filterrad\u001b[38;5;241m=\u001b[39mfilterrad,\n\u001b[1;32m 3372\u001b[0m resample\u001b[38;5;241m=\u001b[39mresample,\n\u001b[1;32m 3373\u001b[0m url\u001b[38;5;241m=\u001b[39murl,\n\u001b[1;32m 3374\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m({\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata\u001b[39m\u001b[38;5;124m\"\u001b[39m: data} \u001b[38;5;28;01mif\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m {}),\n\u001b[1;32m 3375\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3376\u001b[0m )\n\u001b[1;32m 3377\u001b[0m sci(__ret)\n\u001b[1;32m 3378\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m __ret\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/pyplot.py:2540\u001b[0m, in \u001b[0;36mgca\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2538\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Figure\u001b[38;5;241m.\u001b[39mgca)\n\u001b[1;32m 2539\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgca\u001b[39m() \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Axes:\n\u001b[0;32m-> 2540\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgcf\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mgca()\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/pyplot.py:1000\u001b[0m, in \u001b[0;36mgcf\u001b[0;34m()\u001b[0m\n\u001b[1;32m 998\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m manager\u001b[38;5;241m.\u001b[39mcanvas\u001b[38;5;241m.\u001b[39mfigure\n\u001b[1;32m 999\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1000\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfigure\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/pyplot.py:934\u001b[0m, in \u001b[0;36mfigure\u001b[0;34m(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)\u001b[0m\n\u001b[1;32m 924\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(allnums) \u001b[38;5;241m==\u001b[39m max_open_warning \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m 925\u001b[0m _api\u001b[38;5;241m.\u001b[39mwarn_external(\n\u001b[1;32m 926\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMore than \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmax_open_warning\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m figures have been opened. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 927\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFigures created through the pyplot interface \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 931\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConsider using `matplotlib.pyplot.close()`.\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 932\u001b[0m \u001b[38;5;167;01mRuntimeWarning\u001b[39;00m)\n\u001b[0;32m--> 934\u001b[0m manager \u001b[38;5;241m=\u001b[39m \u001b[43mnew_figure_manager\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 935\u001b[0m \u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfigsize\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfigsize\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdpi\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdpi\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 936\u001b[0m \u001b[43m \u001b[49m\u001b[43mfacecolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfacecolor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43medgecolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43medgecolor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mframeon\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mframeon\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 937\u001b[0m \u001b[43m \u001b[49m\u001b[43mFigureClass\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mFigureClass\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 938\u001b[0m fig \u001b[38;5;241m=\u001b[39m manager\u001b[38;5;241m.\u001b[39mcanvas\u001b[38;5;241m.\u001b[39mfigure\n\u001b[1;32m 939\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fig_label:\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/pyplot.py:465\u001b[0m, in \u001b[0;36mnew_figure_manager\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 463\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Create a new figure manager instance.\"\"\"\u001b[39;00m\n\u001b[1;32m 464\u001b[0m _warn_if_gui_out_of_main_thread()\n\u001b[0;32m--> 465\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_get_backend_mod\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnew_figure_manager\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backend_bases.py:3411\u001b[0m, in \u001b[0;36m_Backend.new_figure_manager\u001b[0;34m(cls, num, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3409\u001b[0m fig_cls \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFigureClass\u001b[39m\u001b[38;5;124m'\u001b[39m, Figure)\n\u001b[1;32m 3410\u001b[0m fig \u001b[38;5;241m=\u001b[39m fig_cls(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m-> 3411\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnew_figure_manager_given_figure\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfig\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backend_bases.py:3416\u001b[0m, in \u001b[0;36m_Backend.new_figure_manager_given_figure\u001b[0;34m(cls, num, figure)\u001b[0m\n\u001b[1;32m 3413\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 3414\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnew_figure_manager_given_figure\u001b[39m(\u001b[38;5;28mcls\u001b[39m, num, figure):\n\u001b[1;32m 3415\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Create a new figure manager instance for the given figure.\"\"\"\u001b[39;00m\n\u001b[0;32m-> 3416\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFigureCanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnew_manager\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfigure\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backend_bases.py:1785\u001b[0m, in \u001b[0;36mFigureCanvasBase.new_manager\u001b[0;34m(cls, figure, num)\u001b[0m\n\u001b[1;32m 1774\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 1775\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnew_manager\u001b[39m(\u001b[38;5;28mcls\u001b[39m, figure, num):\n\u001b[1;32m 1776\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1777\u001b[0m \u001b[38;5;124;03m Create a new figure manager for *figure*, using this canvas class.\u001b[39;00m\n\u001b[1;32m 1778\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1783\u001b[0m \u001b[38;5;124;03m ``FigureManager.create_with_canvas``.\u001b[39;00m\n\u001b[1;32m 1784\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1785\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmanager_class\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_with_canvas\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfigure\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backends/backend_nbagg.py:74\u001b[0m, in \u001b[0;36mFigureManagerNbAgg.create_with_canvas\u001b[0;34m(cls, canvas_class, figure, num)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate_with_canvas\u001b[39m(\u001b[38;5;28mcls\u001b[39m, canvas_class, figure, num):\n\u001b[1;32m 73\u001b[0m canvas \u001b[38;5;241m=\u001b[39m canvas_class(figure)\n\u001b[0;32m---> 74\u001b[0m manager \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcanvas\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 75\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_interactive():\n\u001b[1;32m 76\u001b[0m manager\u001b[38;5;241m.\u001b[39mshow()\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backends/backend_nbagg.py:69\u001b[0m, in \u001b[0;36mFigureManagerNbAgg.__init__\u001b[0;34m(self, canvas, num)\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, canvas, num):\n\u001b[1;32m 68\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_shown \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m---> 69\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcanvas\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backends/backend_webagg_core.py:432\u001b[0m, in \u001b[0;36mFigureManagerWebAgg.__init__\u001b[0;34m(self, canvas, num)\u001b[0m\n\u001b[1;32m 430\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, canvas, num):\n\u001b[1;32m 431\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mweb_sockets \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m()\n\u001b[0;32m--> 432\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcanvas\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backend_bases.py:2664\u001b[0m, in \u001b[0;36mFigureManagerBase.__init__\u001b[0;34m(self, canvas, num)\u001b[0m\n\u001b[1;32m 2659\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolmanager \u001b[38;5;241m=\u001b[39m (ToolManager(canvas\u001b[38;5;241m.\u001b[39mfigure)\n\u001b[1;32m 2660\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mpl\u001b[38;5;241m.\u001b[39mrcParams[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtoolbar\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtoolmanager\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 2661\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 2662\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (mpl\u001b[38;5;241m.\u001b[39mrcParams[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtoolbar\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtoolbar2\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2663\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_toolbar2_class):\n\u001b[0;32m-> 2664\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolbar \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_toolbar2_class\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2665\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m (mpl\u001b[38;5;241m.\u001b[39mrcParams[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtoolbar\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtoolmanager\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2666\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_toolmanager_toolbar_class):\n\u001b[1;32m 2667\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolbar \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_toolmanager_toolbar_class(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolmanager)\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backends/backend_webagg_core.py:392\u001b[0m, in \u001b[0;36mNavigationToolbar2WebAgg.__init__\u001b[0;34m(self, canvas)\u001b[0m\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, canvas):\n\u001b[1;32m 391\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmessage \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m--> 392\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcanvas\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/backend_bases.py:2859\u001b[0m, in \u001b[0;36mNavigationToolbar2.__init__\u001b[0;34m(self, canvas)\u001b[0m\n\u001b[1;32m 2857\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcanvas \u001b[38;5;241m=\u001b[39m canvas\n\u001b[1;32m 2858\u001b[0m canvas\u001b[38;5;241m.\u001b[39mtoolbar \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\n\u001b[0;32m-> 2859\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_nav_stack \u001b[38;5;241m=\u001b[39m \u001b[43mcbook\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_Stack\u001b[49m()\n\u001b[1;32m 2860\u001b[0m \u001b[38;5;66;03m# This cursor will be set after the initial draw.\u001b[39;00m\n\u001b[1;32m 2861\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_last_cursor \u001b[38;5;241m=\u001b[39m tools\u001b[38;5;241m.\u001b[39mCursors\u001b[38;5;241m.\u001b[39mPOINTER\n", - "File \u001b[0;32m~/mambaforge/envs/openptvpy/lib/python3.10/site-packages/matplotlib/_api/__init__.py:217\u001b[0m, in \u001b[0;36mcaching_module_getattr..__getattr__\u001b[0;34m(name)\u001b[0m\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01min\u001b[39;00m props:\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m props[name]\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__get__\u001b[39m(instance)\n\u001b[0;32m--> 217\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\n\u001b[1;32m 218\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodule \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__module__\u001b[39m\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m has no attribute \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mAttributeError\u001b[0m: module 'matplotlib.cbook' has no attribute '_Stack'" - ] + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a18022c2ac0d4bd99134d3feec220189", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9aahs2Xke/NY8nqoz3XNvX3WrJSstxUFKoshCRHZiBckyIcIYhyhgJyZggoIcJR3JmCj6IxnTwoLYApsIFIxlYoRMCCY2JEHyj8gxgth0bGLLiaxYY3ff4Yw1z1Xfj/M96z71nnetvatOnTv0WQ8cTtWuvde01/Cs533XWpnFYrGQiIiIiIiIiIiIa4Pso05ARERERERERETEw0UkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wyRAEZEREREREREXDNEAhgRERERERERcc0QCWBERERERERExDVDJIAREREREREREdcMkQBGRERERERERFwzRAIYEREREREREXHNEAlgRERERERERMQ1QySAERERERERERHXDJEARkRERERERERcM0QCGBERERERERFxzRAJYERERERERETENUMkgBERERERERER1wzXngD+u3/37+T1r3+9lMtledvb3ib/43/8j0edpIiIiIiIiIiIK8W1JoC/+Zu/Kc8//7x87GMfkz/6oz+Sv/W3/pb83b/7d+U73/nOo05aRERERERERMSVIbNYLBaPOhGPCu94xzvkb/yNvyGf+cxn3LXv/d7vlR/90R+VT37yk48wZRERERERERERV4f8o07Ao8J4PJYXX3xR/vW//tdL19/73vfKV77yFfOZ0Wgko9HIfZ/P53JyciJ7e3uSyWSuNL0RERERERERm8FisZBOpyO3b9+WbPZ6GkOvLQE8OjqS2WwmN2/eXLp+8+ZNuXv3rvnMJz/5SfnEJz7xMJIXERERERERccX47ne/K08//fSjTsYjwbUlgIBW7haLhVfN++hHPyof/vCH3fdWqyWvfe1r5S1veYvkcjn3nJ5NZDIZWSwWMp/PL5XWdWcpiH9TKmU2mzXzksvlZDabXUgn7oW3wXw+T50X3Osru/l8LrPZTGazmYtD53M6nbr0Aez5kMlkJJfLSbFYlOl0KtPpdCk+lJ/OD8LB92w2K6VSSQqFgmQyGclms0tpQZ5ns5nLVyaTMcssn89LPp+XyWQi2WxW8vm8u3c+n0ulUpHBYCDT6VSKxaLM53MZjUYu/1xm8/ncLD++5ivfbDYr4/FYZrOZ5HI5yefzks1mpVgsuj/Elc/npVAoLMXH5TObzVxY8/lcptOpS28+n5disSiVSkXG47GMx2OZTqcym82W3ik+430gLCv9XL74nqYN4l34wjw4OJCbN2/KN7/5TRkOhzKfz8XypNFp1+kSudj/6Pt0Grie8G9cx/H+cb+VBpRZNpt196L98jvB+x8Oh0v3Pq6Kia9vCb1Tbr9p+2i8w1wuJ9ls1vUZofcVAtfvddIVyt91RT6fd+3CwnQ6la9//euytbX1EFP1eOHaEsD9/X3J5XIX1L779+9fUAWBUqkkpVLpwvV8Pu86AoAbIhowE5BVoMNFeFbnoslKJpMxr20yHYx8Pm/eu1gsXBpQDkyCrPQtFgvJ5XLBssvlcm7g4sEL4aKT1iTQKqNsNuviQ/oRniYdHAbndTabufqAwRiDKe6dz+dLAyqer1arMhwOl8qxVqs58rdYLGQwGIiIuP9MJniwR75BzFA2CJdJp29ygPTjPeDZfD4vpVJJyuWylEqlJZKF9jEajWQ+n0smk3FED8/m83mZz+dSKBRkOp26uGezmfT7fRERRyzZ5UJPsPCeOAwNzhvKJA24Lujrs9lMJpOJKx+QXianIMxW+WqSBnBcuVxuqf5zvhFHPp93BHuxWFyoTxy+nhigrjD5q9Vqzs0F7wlp4HTo9nqVWGWyKCLm++Wyx2cOl/O2Sh/NfRf3N9Z9HF/aPOk6kzY9od8Z65Bd7mM3IWpcJVB3Q7+LrD8evhrweE7jHgKKxaK87W1vky996UtL17/0pS/JO9/5zpXDSzPDXBf6ea3caMWFwQME/5amA+cBBZ0kx8Xh6vD1vdw5WmHwcwiLVYokWIqbBRAVBuKfTCbBd4WwdaeCuEH8QEahYDEBwmeodqzCTKdTF8bOzo7UajWZz+cyGAxksVjIZDJZUifxGWSLBzIuPy5fJso+ID1MuED++DsGgWKxKPl8XsrlsiMNKBMdTyaTuTA54rrDZBCDDtcda6BNeudc7y6L+Xwu7XZbvvWtbzmixOWV1K54MOV0g3ChrXF8eA5AHPq/r0z0ZAdpYAIkIjIcDt0EhtNVKBSkXC4vTRgeFnxtX/cv+jeGLm+tjKfpY1DnuWys9mWF41Pi06p61vVQPL5ndB8ZUkoZvvZjTWIinixcWwVQROTDH/6w/ON//I/l+77v++Rv/s2/KZ/97GflO9/5jvyzf/bPVg5rlYatkUa+X4VY+kxXInKBBPrMU/o6FAkf0UwDPUBaM1KrLEL5tMwkrJRY8bA6A3DeQiZzXPOZFxDudDpdItAgCzqt+M5kabFYSLvddkQtl8vJeDyWyWTifudyZFOdL3+IkxVChMWze10mvveMsi8UCkuKVrlcdumFebZQKMhisVgiwngeZQjiA7USZBj543eDPFoKhK4/rP6tUmd1uFxOuVxOCoWCM4WPx+MlpZLToU3Quk7hXbCKZxEbrtucF4sgYjLAEym+h0kM13Umf4VCYSk+3Id6reN8VNDvG22JrQt8DfdoC0aaPrtarZqmXv0u0iDJkqPzZz2/LkJtIWTC5v7gcds8JJrA18O1JoD/8B/+Qzk+Ppaf+7mfkzt37sib3/xm+S//5b/Is88++6iTdmn4zNEiy8RPEx1N/pLMhEnh6fs0fP51ofQjLCY0PvjMFDrNnB7rvwUQEx5EmPhx/LinWCyKyAOimM/npVqtSi6Xk16v5/IEQlGpVETkgUmVB2DkQRMpXW5Iz3g8duZoJq8WKYH/oW/iMZ/Pl/wC5/P5kvkT6QI51fnS5Q6SBJMx0sfqA8JCGYzH4wuTADxjlUOaOuoDyF8+n5dKpSL1et2poO1226WF48f97JspsmxaZ9LFedW+jvhdk3e+DoD4aKLCBBbx4B2yaa9cLkuhUHCKM0zcID9anX1URJDj9fUXuv2zyXZVwtbr9bxm3nWJRy6Xk1KpJPP53E3gktKhCS2Q1GcCaVRqfb9vIqWJ9FUiKZ6HlY5XE641ARQR+eAHPygf/OAHH2ka0po5NXSF587BisPyf9Ng3zAecFi94TBYkfGZYEPx+WbPXCacT56BWsQRSBrgdZn7OvYQuJw00eN7WD0BicFAi8UPrMIx0dOKHZeFZZqBkgNCVqlUpFQqLRGvyWSyRAR9yqnVmYJAoPzhC4e8DwYDqVQqcnBw4Ezgk8nE+faFMJ+f+0ZOJhNXnwqFwhKJ1CY7pFHXbYvc43va96zbQS6Xk0qlItvb21KpVKRcLjvzvF44BFM4CB6UXCYgrOiCSDERtvKo1VptcueyBJiowcUA9ZXNwOwaMJlMXD3h+sTlCN9LvB8LqyqvaREygVoExme5sJQjH5HgPkfHESJkIZKUyWRkd3dXZrOZHB4eLk3wdN50eGmVQ/3efO9D13dL8UM94t82TbpCap6vHK2+Nwmr9vevRlx7AvgoYPnsWJ2HzyTqe4avW6aRtGkKmTestPvCxwBodZY6nZaJxpc/DFQYSJNmfknmjnUW51jp5nBZxbFMmVgpPJvNpNfrSa1Wk729Pel0OtLr9ZbIAEhEJpOR8Xi8VD4h4grizmXAea5Wq9Lv95eUByarOr+sGIGIgMSA0EwmE7eaGmUAImGpV/jMqylhBp7Pz/0bcU2bPjUx4jrKpFyXiZUvC6hbeKZQKEilUnEkajqdSq/XWyKteI7TCd8xThPILUytIrJEqHSatS+kiLgw2YWACaR222BzLg/yCBNEjlVcfkcgkKgb/H5RJhpawbxK06GvjwuRHv1sqN9Ja52wwg7134eHh67+hsK2Jvsh8D2+SZ0VRhIxuuw7TOqvk8p/U3jczNiPApEAXgGSVAYMmjAHWtCNPS10x6DVM4sw6MGYf7cWTfigB3c24/EArYmvj0yFOgo9E9fKkEZSWNZzvmd8s3/tR4eBVJttQO54EJ5MJo4UipyXEb5z3kAaEa+lcOF5JnIgA0xCoMpxPpmw68EefyBrvPId5Bbx9Ho9RwxAWkH0mOzBdMp5yeVyUi6XL2yxAsKj/bBY/WISlBY+9Ub/1et1t/JZRKTb7Uq73ZZer7cUJ5N/fOff2RQM9ZR9HpFX9uGzFo0wocO7RvkjzbxFEj8D302dVtQBlAHXRw1WiUBetSrOeNwGXF+bFwmrT0wEkyboaUgaxgN+Riu9vme1UJCENCScxwmfgq7HkVXHqMcBUQGMBPBK4KtY8/ncOfOXSqXEmaTPf21V6E5Zz/yteNPAdx8GeJ9ZWH/XpI//+4A88GIANrcyGdUE1ArLQholgAdzlAcPoPo5DPR8LwaVXq+3VKbZbNb5/oWAPOotc5AOKHNcLtPp1NVD3iYH6WSVSxNZmK2x5yEIAPIG4jafn5t02YwEs3SlUpFer+f2+wN54fcEAopyRH6YiDLJWof8cVkjHHyH/2Umk3F7FKK8xuOxDAaDC+QPeZzNZm6CxySWB3ZerKO3jdHvQ+TBhDFp4OJ6x1tUYeEKL7JhAghFGXGAXMAHUEO3K8tF5HFEWquItkrwtSQVS8elw9P36HCtfjMUvk6nZcVZh/D4SCBvl2VNoJmUPi6EL+IiIgF8iBiPx6nMv4Cvwaad9XHj1eQvdG8aaP87rTqys7kOlwcazo++R8cXIo56ZSOeYTOhb9VupVJZMuEhTVY6LOhy5vxosyX+a/Mc3w+zIPvtsaKjwWXD/1Em7J/GKhs2ZrYAksUkO5PJSKlUckoY/PPm87lbtQy1z2dWRzjlcvnCghCtIi0Wi6X3ysoIBh32TV1H+bNM0lAgkT/eCkVEpN/vS6/Xk3a7vaTeiCzXPZBaXcacJ66TVv3kusT+lviN91UESRd5UMeQdpA/EXEbO+swWHHGb2jH2PQb+0/qiYpWKDdt7rXe0zpIq5ZZVglt2k8Dfj5EBq17knz1rHRYcSDdm3ofbIXwKYW+9CKN3L+mJdMRm0ckgA8J6GixEjOkSDEwwLGvEHcW3LgQLsiOz9/KIpahBqwVNY5Pf4fKie++8PWsMdQpo/NaV92BCoJVrZpAa/LHSCKC2qyuO2cuNyyIYPOeZaLn1bdMwlhJYoA0sQqI8NhUznnQRNVHsHlhAFbAIh9bW1tuMAAJsCY4qCeFQsFt9owwkA4oYr4tSvCdzc5II5vlktwvfNCDGpO+ra0tR+iGw6Gcnp5Kv9+X0WjkrTcw7Vl1yzI343+oT2CCyKovq7ocJggyFD+s6uX0MIGEsqMnE3gW13giksatZBPw9T9p+1EgralUxK+qpSUslquIDtv3XCiutGTYIpVJcWnouHSf7mtvOq/c5/pM75EEPnxEAviQALPaeDyWYrF44cQJH7RDuBWuyIPZqTUbu8xsnM13OiytAviwaofFCpDIxZM3NHhmznFBQeJVkEwW8B/EQxNDX7p9nZVWAvV1TQKtjl0rq/xOOe1Il/Ub0seklE3mvkGFO3NWAPE7tqsQeWDmx/6G+/v70uv13JYnDJg3S6WSyz9Mv5pQ+AY7DSYq7EdovRdf3dRhI8xSqeRM3MViUWq1mgyHQ2m323J2dia9Xi94xBTnG9Bly9DvLS1REHmw36RPXcpkMjIajVwZ64mXXr3M8aLvYfcBnmxoYuszW4YsD2mhFSyeDCB9m0bIZJt0jw7HF7bPmsN9lY5jk3m16iL3f1zuTPR9ooCF0NgQEgEs03jEZhEJ4EMEBmWoJesqWiGw/5BFBPE/TSfim92t0pnjee0Xx34ulolYp99SEK206sGGByXd2fjIgs4zmyU5fTCzcXiWDxW+M9lhcofnef883AvTHbYb4XqjlTG9OTLitwiZ771yHpkw4Og3hLtYLKTf7y8dR4ZFGkwe8dtisXArenEdYcPXD3mwFCW8Y643etPtpAHCV28RFzZ4LpfLzkxdKpWk2+1Kv9+XVqvl3gPu5/wmxR2Cz1SYBiEzINJpET2kCaZ4rjtIk25LPFHSkxh+Nyg/mJovSwKt9h5SxdOCXSuscCyC5lP2QkoafucyZeUX4Hpi3RtKn48ohdJnmaFF7JXTWo1f1aycJHZoQqnLxyKIEZdDJIAPEayeiFx+FZLV2JMaZIgEasLnS5+liFnxWgqhpfJZeQABghmLO3rrGU0arM7D6oD0DJfj16pYKN9pVAH4U7HPFoejiSqTSAx4vndiTSawnYrIsnkwTb1jgsrHvFUqlSU/P/ZXxL18njHi4r0H9ZF2IBNII6uUeqFHJpOR4XDoiEihUJBqtSrtdtvFqU2hafKN94JzjtkfrtvtSqfTcUelsVqpJwDW4JvWXGipatZ9vvB8v/kmWGmURm5XvIrYNyjj3lqtJk8//bTcuXNHWq1WYltaB6sSEB9Ygfb9njYcoFqtymKxWFoEBfjSrBU2vq4tAxo+ksoqom+SsY66tqmyZ3A+01jHIi6PSAAfIvi8z3VmL/ycbzYUukckeaWe7nj4mm6gHIfVYfkGXJ/ZA+EgLPhhMVnidPkURFZo9Cw6jTlF53uVgcs3g8ezyAuXke6M+TOOVNPlycQQeeOFLviszZAhcyGgyR9OKsHiCBAvbIY8HA7damBrIIXvHzakhj8ZmxlFzle5aqLLvqzsY4jFCPl8XnZ2dtyehj6i76uLPCHiSUcmc+6LiZXK2C+RB1NAK4E8yKZt53yvXiDE8ayDELmz4hF5MGFiRY/VcR9Rwf+trS3Z3d2V+/fvX2gDjxPm83QncCRBTx6t/s9XL0Nl4lMlRS6SJKtuWu3dSouVNquPvsr3yH1/GvKXpi+LCCMSwEeAdckff/aFkUT+dMedhizqe3xmA00GQ52gj4jxgIRVmGzSRgeHzziNgaEJomWWZVUJ/3mA85UF54M7SG0e4cGaN67mvAG83UpaM8t8Pr+gdLF5uFAoLJ0NzOFx2qES8rsG8YMZDwQO9zUajaUtZnirGFb2mOjOZjO3pQ0rn0w2mfjpNPF7QLqxfczZ2Zk0m03nY+uDLkdNavAZaZpOp9Lv92U4HLqtbUD2isWiU6f1O2FSvgoBBHxqVJI66IvLImkhcJlos65GKLxut7vkE6rJzmVMwptAWpXJR7QYvB2SiCyZvpPAZegjWL5+OykPVl9t9eN8PRQG7kuraq+CdeuCJsRp0qZXrV9XRAL4BCKpgic1PPad8t1/mZmUr2GxwqGVKUuJYOdu/Ofj1BaLhdcBnNU/PM8Kj55p8mkbHJ/OV9JsXZNAVgSYCPIGy9pcg86JN/bVJnDkkX/ThBimLSaRekAAYeOOE+VULBad4odFHDDlYkEHn1bC/nsgUsgHTs2A4scr1fUiH59/LPIK5ZC3sjk7O7ugkCURFq1yIZ94X71eTwaDwZJ5m5+BKgrii/Afh4FFuzVY4E2/LXUPWMccd3p6Kt1u1xEhIEmJfZiEcF0To2X2rtVqslgspNVqrZyHpLxbpmGLxFmWlZCy5yNLod99qptOj1VGV/FurfxZ1jFLcIhqYSSATwzSVlbLBGyZIfl+jsOngoUamjVA+MLQ5lxN/njgYtWJw+C8gERocqQHYp0e/R1psBQ9C5ZyqM0/PMCCECI/IEWsFun0WH5TiBd+eVCmZrOZ843LZDJuqxUuE5GLZ+ZyfjgukD+4LeAINCyCQL61QskqGN43b2atTflcBkxArXfF7xbkGGUKJdLajy4EVhR578rxeCzdbndp2yY+7gzvnAkjk3Sttj5shMqATeki6f0k02KxWDjV1EpTSAW01LBHjTREUec1LXiiaLVXNr/7TPUi6Uh6Uh9uheF7hu/VY46VznUJvmVa98GXfx8JjgQwEsAnDr6Zn68RanOiSHg7FeuzHhT4JAsRv2+Sz+RmqVm+uHQe9DMYZK1BxSJxTKAymYzbpw3mPFaEdFi+DtpS0Di+JHM3wkb58LYbULss5aparYrIuT8cCGWtVnPXNKnV5cn5YWJWLpfdVkV8dBsT3dlsJoVCwfkZcnqx7QuXKU6xYFVT+ykyEbTqh56g8P6DbIbWJnguN/yGxSNYSQoih+c6nc4S+WNFWZM/fpf8ntm0HKoPaWDVZWvw1+HygjPf5CjNoLyuWgbAnQBEXf8Wes7qI66aHK5CWEB4096fFJYP1oSLf+P/qyJJNQzdn+b5dclWkil8lbqgietV7MLxpCESwCcEPGj4ZHv81wODJjN8BqgFfV2bNjks3zP6eR5k9fU05iodF+cTJCPtIMcqJJNS3UHgNz5hgWERPcRlqXoID/fzdSaZ3Mmh7HmDZyijx8fHLv8Is9frufxZEwNNslhhhcqFUx9groU/4fb2thSLRRkOh25LGGwhAjKNRSsi/g22LcKnFWCrjC2/HW2uwvOsvuZyOalWq1IqldzCIixgmc1m0ul0XJkizVCWUfZ6NTLi4GPdkuoI3r9PGWR1Vv9mkT+kj9skv2NLBbfaKdc/Kz7UA0uVTovFYuEW0aSFr6/R1zatGoKsZjIZp7AnYd149eRLpwP3+NrHVcFnyn2U8PUNq7x/30TpuiISwIeEy5iCLKldw3L2BdChaXOcD6FZlUUGtZnSCk9keVD23cNh8eCetPGuJlR6oGI/OZEHpBHQ5AjhaJO1Tq9Ogzb56vLwqUG+QU4TdR6oR6PREmnIZDJLgyzUQ5hldeenCSaODMvn89JsNqXZbEqn03Hn3WJLCyxgwYklSDviQF3DZAP34l1ioQZUS5/p13eNywJlJCIX9qWDX2ej0ZDt7W2nWnL+QXR5qyGoiax8WvUWz+C/pTyCJIaUQa3S+iYKvrLRirePpPnqojUJY4LJadPKrPV+fATRWsmfltAk1Y11SGlSfHoCdRUITaJ1GV81+dNm3ScFOKqQd0xIAib21x2RAD4krGv64WdF/CQwTYPVA3/IPGgpfFpRwHW+39cpI90YbCwiqcNEmnnQCXXyUBl5axHdGVhEOZPJuIGaryM8AINiqOPQvnG431JP8J1JIPviaSLMZ0kD+sg/PVjwKl3tNpDJZBzhw6pWkQd76bXbbXfqxdbWlsvXfD6X4XDotnPRR4WBNCN/vG8el22IRKQZzPU9mnTDTxKrmPm+fr8vg8HAqTxM/HAPkx+dVhA/q25a6hnXfx2+ZfL2tXHtSmCpd/r3UJlpYsrmeg5X1yuLlPjaswVMJHiClcYS4IM1KcX3VYnTYrFwdeNhKW5JFpSHkQ5rLOAJ1uOKSqUiBwcHcv/+fel2uw/1vT3piATwIWITDSmNesfAgM2HuOtZPq5bYekBEc/xQObrbNk3jwc7rQTyQObLqx5otclX55nNY757QL60yqHv02Wi49FAnNo8yaZqDksPgFpJxG9MoFeBpfxgs2MM9hxXNpuVfr/vrs/nc+cTiH38kEZ9TJhl0sJAD5KIvOjtaTgNIeh3xa4OutyRxslk4ohgJnO+iKTT6Ugms7y4A3WBJxFQC3jiBPVSp0VPInwTLH7XKDOfH5WekOgJEpeB1V4Rn0X+NIHjOqH3keT0c5g+VTBpwub73ZosrfI80nAZBU3n6Srhi+NRmyt5QvU4EiqkaTAYyJ07d8wJcghPksp5VYgE8AmBrxNgQmHBmhH7OkT9m36GtzXxpU8/z/dicOVORQ+uvrziN00ctarFn/GMDh9psdQLmA01VumMrQF6sXhwjJu1QCGkyoo8OIUBSqEvPksF9Cm9iA/+bdVq1S18QFwwg/LqZSYOvP0Jb/DMvpP8mdPKq6I5T0lKOZtkYebmd4w2MZ1OZTweO98/Lksm/Vp51QBZZQLOxAh1TT/LbZO3XuK4dL3XpmALIdXPQhKR4rhWVd98k6s0YVmLQUJtlMNcJU++7zq9Ot5HTXrQLq/qrOMksGL9OAOTsYjVEQngEwAf+bCIQppZsSYMFjT547iskwp8pNJS9di0EPJd1HlihUrfD1LA+YPvIJvZrAEmNJDoPFr50+GEyoV9T0AkWC2CHxu2YBkMBu40DpAajpvfA8IDsQJx0arRYrFYUu5EREqlktRqNZcXXtWI/f/a7bZMp1O3+hfxax83XrXMxAeKUsjkl8bFgYkrq3c+PzuollA+UZeQr+Fw6Hwgd3d3ZTAYODVBK34aPuKkfeiQ/mKx6Oo9m+91vn1lgvdp1SsonNYkIQlIJyvN+j1YkwudVmsykkbJSwrL13etQgh94DTqOFG3HwURwp6bj5qIPqnwTaYjHiASwCvAZTojC6uqTtbAqgcqq9MN3Y/PljqmO3mtgGllTvvJaTLJ91mmGCY8Op0WWeXwQuD0aLKJ3znuNNDqDqeBHZaxWKHZbMrx8bHUajW3Vcl8/uC4KiiBnGeoXlpNAtHTKxlBFLHatVQqSaVSWSKKuB8bQIN8wlSpna15yxSQLY4LJmAmyWkmNPybb/Kizznm+0Bkc7mcVCoVuXnzprz88stLq32hIoqItFqtC6ebaMWP02SZVfVZ39rvDyTf2kian0MerXprEStWbjVCqpxuu3zyDv/u6zv0ZJHDDbUTn/Lmy2uaMKz06TxasPoREVmqx774rhLXkfxtgrhxGJY7xpOibl41IgHcMDBYWERpVaQhLUkza1+Hj2d99+hr8BljJUIvWNDhhszWuC+TebBIgpUkTZh4MIF6qMmelX5WzXR6rMFbm/OsvIQ6ZTZr6o7HCgMqQ7FYlOl0KkdHR25rEqhUfBwelwmfGAISo98DVrmOx+OlgZ1P8GC1j82pvIIXceF9IX7swac7V01S8b5QZyzyx2nXJJxPB+Ewfe9fm2jL5bIcHBzI29/+dul0OnLv3r0L5mcmhZoAcrya+KUhXeynyGGgzmMhjVZ4rfAtN4LFYuFIOJefpcJZJBrxoFytySCHayFJ8ePfrfe9CslLe5++ppW+pIk63BoiHh42odpxXeYFWGnG1OuESAA3DJ9Ktg4s/zafGiByUW3yDQC+zp2hBwyY0UTEnQ7BhMKXBm54HKc1+9cEKeTXodUGgM1tvnz5FFIrvVZaQWBC50nydeud8WplxM1bouTzeXfcGkyXg8FAGo2GTCYTGQwGbmEGtmXhMmPyCQKE62yCZB+9brcr5XLZkT+Qx0Kh4IjxeDx2dQv75sHUzKZdy3yoP7MaLGJvEwLofRtDZcttEAR6NpvJK6+8Iv/xP/7HCz6hqHuY1Fjb0/jIn86jz5yo04o84P2gTWHBivZJBOGzNiPXadCfff+RJp9PahI58hEuX/+i+yGtJIeUPou8rgor/z7F0YcQmY549LBIXho3o+uKSAAfM/hmKFALeGCy7mECxh27z4SD73qWjzDwLPuq+fyDfPnBMzx4avMYBmxeVCDyYO9A7nhZDWI1zEc8rEHJus7pSzMAchycXp1/nSY+XQPP416oTiCIWLVaq9Ukm826I9mm06ns7u7KbDaTYrEoi8VC2u221Ot1mc1mcnh4uJQGzhvC5fhQloPBwK0Exfmm1Wp1yYcPZcikiZU9zrOVf7xD/I64Q7DMOLr8Ya4ul8vulA/tz6cVXZBdnmz4yB+nn9+bL5+cPs4HTx54mxg+jk77S3Jatd+oRpJVgOF7PkTE0pCmJMuCT1214gr9tkoaV0Go/Ycm0I8DIXwcfd9WeSehvgDtRES8Y2Fal6nH4V09akQCeEVYV2oODSI+vwWrImszq3WfRfp8v+s0hpQ0HT++60GLiQk6LRwzB+LDpxBwmKweIY98j05bSDnV1xA/fLV0+YFsWIqqVVb8LO7Hvnvw7UMeQA6g5tVqNalUKi49MFHm83kZjUbOtFutVqVarbozgJF2bOmB0zy4DNlXjY90g8mXXRlARvL5vDtzGO+IVTMA7xYqD5PMVTpeXY8QBtch5AXnF2PvP9QHTTJZTdPKM6dPk7/QoOpLn6X6iTw4Eg/vkgknb07tWzjDkzsm3mkmLUyCkSY9IfERG25rSYN6GjOr1baSzLY6jfrZTZA/K/2WNcVKzyp5uwpskvxZrhq++h0C+svQHqpp6pTVj4TuD6UvbgQdCeCVwWeeXFeC9s10dKevyUmadKXplNISxEzm3G9tNBq5QQ7X2cSqwb53IH58L5v+MHjhv94iRfvyWR0PdzT6s1aJkAc+Qo/Tk3bGyXkZj8cuj+zjxqR4sVhIrVZz5QlyNxwO3QpSrMiFcgTFC0R6sVhIpVKRSqUip6enppkV5sfxeOz8AVutlhQKBacCisgSSUQ5gbSz8sd55c2SsfLYR4qsOuEDiDJWL2OhCspxMBi48iwWixdIFE88tLrtaw+6Xum0gOzyvYiPiSb3A+xyoBVy3q4GJN3XDi3yx/XaMnsiHdoE7CM3Vlg+YpZWhbQmjxaRs/JtET9fu74MQoQ46ZpOR9o0pXX/2QRWKSNehW5tr+UD1/fLYhXiZokeaYjjdUEkgFcEq5JetvKnMTGJXOxkdKVPoxL4wtbh6dmxL6164IfKpgdAS+HQA4P2B0vTkDWZQDg+ksFEUj/vI9FMcvVvuhyQB+QbnSqXYzZ7viEzlD6ogiADuG8ymbgtYzKZc3PxYDBweZxOp9JqtZbSxCZzVsmYKLXb7aXzgBeL8xMSWEHjPcp0vvmoNED7tlnP6bLW5c3qIkzVKINyuexOL9EbT+Mzm7KRX10/Q+q3Vp0RDsel6yUryRw358lHnJiw6WuWiq9JFU88NBGxJpBWWPzO0ih6vjxY13W+fX2Xjzz5iOImB3hNGtbpy9O6CWgk+X0+bL82vKvHbe+9NCpsJH3LiATwCYDuOJIkft8Me1Xyp59PAuIdDodLCpkG8gPlCIOwHlChgogs+yMyWeIOmdUZrWxYaqlWXNjcqDtdHtB9flO+/LJiyXlhk/doNJJCoXBhTz2YW0UebAEDszEroLiXFbqtrS2nHCJsJnCssCIdrB7P53Npt9tSqVTc4hCYrrUyxaqt3jRaq10oLwvaZ9QCp28wGMh0OpVisejUUKymZYUC4bFJlYk4vyufes/vThM//ftVDMqcF04XEyhWwjid/Bn3+0gg7klKi9W3+FS4kPIVGpStydMmYE2aQ2mxCDGr3mlwGQtQEqzyXieMNM9dNfFjH+80sCY+GptSg19tiATwMQcPtj7oWTrPqpkkJZlmrPAspJ1ls1nWCh+f9ca27AfH5jVNHnQemQxZm+Vq30WoSIiDlTcRWSJTeqGA1flbSqueebJpj+MSEUdkNBAHiEuxWJRKpeLyPJlM5OjoyB33B6KF49xQfsViUQaDwdKAz2QN6WHzznQ6dYoaE1T2ReRtYThMpEOTppD6p69pAsdEC3kfjUZulfN4PHZ1TtdNpJmVZB9Z0nXW5/ekiaAOx8pXiOSmJRU80bH8JEPp0Goe9y+htHNaN2XNCPVHVlo0+bXM6g8LemKXVP5XmT6fipuGyOOZdUhjWiS9H/59Vd+8tOm+yvw9qYgE8AoQquy+1aq+MHwdrzYHcQPGZ8SV1KB8DWPdWZOlAHBe9EDLRM6a/THB0BsQa8VssVgsESwA/llaSUQYvC0Lq4Xo4PVCBj1wJ/mrcZxQ/pAmpJVXhDI55TihxpXLZTk6OnJqIMy/k8lEyuWyu47j3UREyuWyNJtNETknSqPRaOldcX3h8sJihHq9bpoBmTDreukz77IzuS7PJJ8n7bMnIs4vkkk61EqRi8dFaV9GPVHykdVNKFL8TBIBtmARC4sEWoqznrAw2U/CppSfUFxJk0++j/sJ/W74vnWVnzTP+ibD3E70pJDvv0pSsspkf11oEi6yep1Gfxja4SLiahAJ4BXgMpXYmtVaA6XunPSsXq9SXaezuYxkbhEFNt0BGFQ4vSBmWrkDwWBFSZc1CBX7FOoBXqdH5Jx8QX3jMtfbzQCcBkvR0gob3gmbX3k7A5hg+brIMlEqlUqSzWaXTvaAUzbi4NWvID2NRkOGw6EUCgUplUoiIkthQDFDWplw8wbSIK2sGHF+WVXDf77Peg55xDU272swKUaZMGnWmyiz2Zf3PLTepxWnrjM+9elhw9eOkyZ6mniy6qeJIa774r4MqdJYJSyfOTmJVG7K/GcRbFbzLUUwNMHeJEJ1cpPqLYPbNPrbVdQ+4FGsyI2KYCSADw1JJhbco8mepYzocCySBcLBpClEgFYFb9eioUkRp0UDZ6PqLUSstCEP1m9JKqlWSLnTwnUQMZQ7SIP1zpKuaZN1NptdUv/Y7MoqpibriH88HrvTQjhvmDmD+DGRLhQK7kzhfr/vzKNstkVYi8XiwtmjSCsIF/wRK5WKZLNZ2drakmq1KicnJxeexUAAEsXEzQLqO68wZMXXMlPO53MpFAqSyWQuqFMgxcgzyla/J2tikKSc8W/8zKMcUNJaFDTWIUZpnlmV6F3GjJdE8Kx+T6u9vklyKF2Wm0DSM5uEJQZYlgitcq86ebFUPiDtBEkLGL5wQpYUjudRTsBeTYgEcAPwVdpQZfYpEWkrNhOaUOfH57uuilDHirNVO51O4hYrgC9vlrlTZDVHbQ5XK4gW9KxVq0owM6LTtNKkiYll2mOfRD61A4QJKqP1nvSAgk2aRURGo9FSfpkwwRQMctjtdl1esEAil8u5/f44X/AxRPxI82g0ksVi4fwM4YfYaDSk1+s5ooU/bCuTBEvNRVmBCGI1r1YZ+Sxd/W5Z+eNruVxuqezStLW07fFxxjqDpc6TJstW/7AKYUrzzCrps9Q5X/i+SfPjBMtXNA2Jt8zP/FuIRFtx+cgfP2fFZbnJ+N6RlX7+rCeWvvQwQhM47Yp0XREJ4AYAJQKfGbph6MZkDfxJFRuNWDvdiyw7hyMsX4dwGdUCREM70nO4GDB4BsozQfbj8REp/MaKo2Wu8pUTyoCVPF2+XC4gMpZ5zDInc1kDyBuOURNZNnVrksl1YDKZLL0zLtvFYuH27MN3EL/RaCS1Wk2m06kMBgNXXtgPL5fLSb/fd9ehJlqrnbnseDX2fH6++AP7DPZ6PbcvIe5FHvWedWn82th0z+8Li0+w+TXSBx8/Llu8L97eBe8IxFibPDeBR6VI+Aa3y8CavAFaKbNIWOh5K55VkUTo0sT9KKHVMIt0+Sw/acYGwNe/szqvn+VNyUPKn7ao6Dph9eG+9Gqyzv0298Not3qs43wxfOWGsRN983VGJIAbgtX5c8MGtClMD/YavllcaLNnfS9gkb9QI2LixmGBeGCVaZK5J6mj9xEFJgSsVPE9TBxYIQLR0bNJy7zMhANmQ54R8/M6vz6zUaFQWFroAcCUizyxQoWJhCZBTM5AhpioIj7eSLpYLMpoNHKbSMNEDBLE+SiVSjKZTC4scoGCCLWNyw5ECvsTgnThGb2tjy5rfOZ3DlcAbeZGWVWrVdna2pLT01MXJ29BI/JgpS/HgRNSeMKCd8fvLI0i4cMmyJ81uOs+JIkgJOEyxMgyOeo+xFrkZrWRTZiDNwVf+abxY/OVvS8cnvij7Hi7qsuSdxFZehfcJzIs1Y6JF5uL9e9ob+Vy2U3A2Fd4lf7eGm/gj10sFqVUKsl8fr7afzgcun4qZK4PCS7oK3Fa0HVHJIBXDKvx605Bd6aM0KCEQX2xWFzwgUI8IBQYoBEmlCd898XtMxksFoslU5oPVqNM6jxxL1Qfn6qgB0EmW9PpdMm8q9MCMuhTg/R1Jj+sWlrvB+nW++LxvnSZzPmJKTDFIg50uppsYsba6/WWTJ+8YIT9BdH5gyDBtAuzL5/Swu8K+QGBswZ0dMhcb0A6tc+k9ax+dwyQb8TNK7ORduz3x6ehiDxYCax9DdMMTGnVqJApbpXnNXykx5pA+p7T7XgTREq3X6s+MAm0/HxXnaimxSpuNCFCZ/mmsdVBxK4fq5I1TULYgsN11prwM/C7RW6Q7lKptLRobDweu8kahxOavFsEC2NKvV6XZrMplUpFBoOBnJ2due2itFUh7ftH2mu1mjQaDWk2m44AdrtdOT09lU6nc8EqE4J+7/l8XqrVqtTrdXPLreuGSAAfIkKkR+SiuS8JFpFk5YrJh4/McNq0Wmalb1X4OhnEibisAUXkAREB9HcLyJ+vvEPKrFZoNQnWs0/9vnAvCAt37lDTMpmM63wWi8WSORik0fJvYz9FEXHHn4k8OHINYfDsvVwuu/3/kFc2r2DxCy96seoC8gWlkRfN4Dc2/XJ62b+PN0/WZA1lAmUE5cMLZzDooM5ms1mnQGiyx0q1HjhDqpSljq+Lyyp0SYRAXw+l2febpQRZz6XZ7zCNOXzdckVdw3tHHeA+zjfJSEPeQULy+bxbnIV6xWq871lW6xEXEzScWd1sNl0fMBwOZTAYuJX5rFKHykmrc5pANRoNyWaz0m63pdVqSSaTWZq0J02IECY+89GLe3t70mw2pV6vy3g8lkKh4Iha0vv3TZyz2ayUy2VpNBpy69YtaTQabn/Pu3fvytnZ2YX9WNOA6wzI8dbWViSAEgngQ0Uasw0GbiYF1j080LIixR2GpYYAlzF5aaLqMyXo+y21TQ+y3HnozpPVMzzLpAf5B0Fhk4Y16HN5sS8eysxHyK28s6qq/f1Y5eNBmldo6z0OrbSzuQhmF6zI5XtxaoeOB8rDYDBYUgOtRTwIk83p/Fsmk3ELStCRsn+dVv3YpM3E0wd+L1gwg2PfcB1/IH9areF3g/gshWyVdoC8pDERrookYgegXqU1uelwLqti+sgJyoUnBTDJb2IPQZCySqXi4hiNRu7cce5jkkyzGkwQoG5Vq1UROT8X++zsTEajkdlGNTH09be5XE7q9brs7+87AoXw79y5I6enpzIajZZIbVqgfWxtbcmNGzfkxo0bjgCenp5KPp+Xw8ND9z44/SIX64RVF0Eub9y4ITdv3lxS6ERE+v2+25jdKoc0ah0UukajITs7O26Vf7fbdUdcJo1PvrID+cM+qtEEHAnglcDn9wFwBfX5h1SrVen1el4ThGX2tRoGk0N+VsMyJen8hFQRSzHSHWXoOVaItEqEsCyiok2+mLWzfxwrjExAGJj1YxbOM3lLWdCKqTZJIB36GDfkAxs28/vnxSC6XnDHjDzoNIAgTiaTpf0AMfiIiNTrdRkMBo40gbxBmcCCDs4zD648wGYyGUdEuRz4Wc6TNqkxodcEX5OVyWTizFispE6n06U9DS21TJu9rM9JZDBE6JJcGqy2p9sCiDXqMOqJ3qQZ91WrVWm322YefWmAmb5cLruJynA4dBuCc364bfmg+4JisSj1el3q9bojad1uV46Pj6Xf73sno2kAd4B6vS67u7tSq9Ukmz0/K/vs7Ew6nY6ru2nJNxP5TCYj5XJZtra2ZHt7Ww4ODmRra0symYzcu3fPTcbRl2iLRdI7QPiNRkMODg7kqaeekkajIblcTlqtlozHY+l2u26iqJ8NTVL43W5tbcn+/r7cuHHDmYHRF/X7fRkOh+bkBfXXGmcA+P3VajXZ3t6W3d1dKZVK7vhFmGgnk0mi6GDVfyyaK5fLUiqVpFqtOotIo9GQra0tOTs785axlWYNkEzek/U6IxLAhwA9OOgNjTV4YLXMtSG1DfdjoA7NltKauFihssidNn/qNOp4rGPaRMT5j6Bj1qQD4bCvH4cNwoXf2+32kkkUHRXKyfKdSatW6PwxYWRfPWvwB6HCoMhlLCLmSSYWKed8w8yJtNdqNZdnngRUq1XpdrvuPpBAlDVv58LArJldCpAmEFqtFHJa+bomszqPmKmj/i8WC+fL2ul0TLLlU8qBpAFaE08GTyTYt1LfoxFqt1YclUpFarWa83Hs9XqO3HL+sLWPjitkNkSZNhoN2d7edouDzs7O5OTkZMk0iEG41WqZabXCB/m7ceOGbG9vS6PRkHw+L2dnZxcWCeh3lUZNBfnb29uTW7duSbPZdCvQMenRLgBJxAx+Znfu3JFs9nxfy5s3b8qNGzdkd3fXLUaYTqfOx40nh0nQpl8QTPifgeBMJhOpVCpO7UL6fWVtAe0G7bRer7vvi8XC7RKA9iNib26vVXM9sUfdwIlEKONCoeD8GpmU6jis92GJDby4jCd+SfC9G4SFughf4+uOSACvADxAhRobgwcQdGbaZKxNDQxWTLRvFZvzrGcsWGYOX0edpC4yNCnCZz4Vw2d+ZQKI/FhEEgP2t771rVR70UUk48aNG/LUU08tXeM6rhfG6L0NtdJrvWMMHBjYET7IC5zMMYMPqXubAps1sak2CEe/3/f6hqUZXHAPzJpbW1uyt7cn1WpVZrOZHB8fu+P+MHgBPCnj8KzBG+Ss2WzK7u6u7O7uSrlcdiq09lUdjUamEuUDzHY3b96Up556Sur1ussDJhiYXFnlkqQKwjes2WzKjRs3ZH9/X+r1uoic743Z7/el1Wq5SRDCZOuBRUrG47EjRFBGm82m7O/vS7PZdBOy7e1tpz4Nh8Pg5JbTjHcAAggSWKlUlggfFjZhIqYnuAgnSWHk/9lsVur1ugvLmlSuCl3PUR97vZ6cnZ1Jt9td6pMtX8yQeRtbWHU6HanVatLtdp16eXJy4lVIQ+C6hX4FK4zj2CBy+TXnjwCf/OQn5e1vf7tsbW3JwcGB/OiP/qh87WtfW7pnsVjIxz/+cbl9+7ZUKhV517veJV/96leX7hmNRvKhD31I9vf3pVaryY/8yI/ISy+9tHJ6WE3CdxFZmi3qezS4omK2wt99CgWb0hCPJW/zQLvOQImGi3BDnQnSuQoxFBHXCaOzYl88Tf64Y0Unp/eei9gcQOqgKGpFVuTBAhnUQZFlEz777bGC6XNJAPHLZM59gOBjBKWHiUvSe08aPH2DOExrjUZD9vf3lxSiRqPh0sdh+NqG9TtOVoHZ8caNG3JwcCC3bt1yahrUT92mra09rO8gA/v7+7K/vy+7u7uyvb0tzWbTkRuQDyDkwqLLCL5hMP9ubW05hQhp1xM0Lt80yGQe+IDC/AszYalUWjr3md0oOF6tpMJ8zH0ib0GChQ0g/8iLr7xDZcQ7ACwWiyUz/2g0kuFw6PXl5risiQbnezQaSa/Xk26368gUyJnPNJsGsCbgbzweS7/fl3a7LUdHR26RBlbih8qd84j0s/KHdB8eHsrp6akcHh66/PAWT75+wwf0X/1+XzqdjnOhuM54IhXAL3/5y/LTP/3T8va3v12m06l87GMfk/e+973yZ3/2Z85J/FOf+pT84i/+onzuc5+TN77xjfLzP//z8kM/9EPyta99Tba2tkRE5Pnnn5ff+Z3fkS984Quyt7cnH/nIR+R973ufvPjii2v7BzD54zNU0zwTAjoODJw+MxrfD1jmUr4vrZkYn7nzSnrGSp8vTuQJZlw+xovvQRnohQWsPEX/js0CA4A1u+d3gfLX5F+bbbUPFe5jszIvgoJzvMiDk17QxpIGNdTBVRQQ9p2sVCpOOSuVSm4TbE4n+yXqeK2yBLGEWR7ECcfrzedzZyIUWSbXloUhKS8gTKVSSSqViiNMIDo4ucUK32deZ/WeCRgmZWzSvAzYfIeyBlFAW9f1SVsrfGSNfd/gygB/U+y32W63pd/vX9iBQCuugM89YTweS6/XcwoXyFSr1ZLBYOAWUa1TNvP5+VGNnU7HkW/0ja1Wy5Eoa1cIC5iAsQ/qbDaTXq8np6enbkXweDyWs7Mz5+cZWnhovQ8ey3DPcDiU09NT6fV6ks1mZTKZOB9P3q/UMlMz+beA8CPO8UQSwP/23/7b0vdf+7Vfk4ODA3nxxRflb//tvy2LxUI+/elPy8c+9jH5sR/7MRER+fVf/3W5efOmfP7zn5cPfOAD0mq15Fd/9VflP/yH/yDvec97RETkN37jN+SZZ56R3/3d35Uf/uEfTp0eqGNaBdzUMnMeIDkuHjDxO8vaaUwVq3TQ6CyTCGtI2UkbJ6sElumBO3i+x1rhFnF14HfASqC1Ubkmjxa47mAiAHUEdVjX8SRfr1WUGiY/rELW63VpNBrOVIfj8TqdzhLxyWQyS0Q5jemOTcBYoDGfzx1RA/RAmRbIRyaTcQQH6pbvnSQRTH4Oi0lAYjARgErrc3/h/iSUH15JPBqNHPGDmwBOz2FrAOchDaDEtdtttxo3n89Lu92Wu3fvytHRkTtVx1Kcdf+qzZ+ZTMapcycnJ64Pg6/y8fGxU7iSFt9Y8UL9g6o1Ho/l6OhIRMQpdfD9TRIE9GdMPOCXevfuXen1elIoFGQymTgzPFZJ87NWP+xz2wAZRDioF6w86uf05A7fQ3UK42S0Fj2hBFADzsq7u7siIvLNb35T7t69K+9973vdPaVSSX7wB39QvvKVr8gHPvABefHFF2UymSzdc/v2bXnzm98sX/nKV1YigBZ85k/uWEOO7CFTQ9rGpa+lIYGaUFrPYeCwiF4S+dPh8RFvGtpviMPWs3FOq89cHnE5WEodEwE2+zJpR73WTtxWBw0SBcWKO+o0dQv3WXUyCZr8QeWAogKTI/IC8qJJVMj1gX8bj8dSKpXM3/H/Mmo2wmCFEqt/+/2+M4EOBoML6bQc7n0mN4R3dnbmCGw2m5Ver+d8GH3vzuoHLYBkdrtdNzHo9/uyWCycf5h1TGSSIiTyoA8COZvP5843stfrSavVWjrv2lcuVlwwIddqNZnNZtLtdiWTyUiv1xORB6oaTLT6pBprEsX1TatqmJSMRqMlZROLKDR5tfp7fLYIF84Eh1rMeyTqFev8nC8ODaSRff2sZ7QSa8Eigahv7Ld8nfHEE8DFYiEf/vCH5Qd+4AfkzW9+s4icbxopInLz5s2le2/evCnf/va33T3FYlF2dnYu3IPnNbDnFKB9CKzOzDdY8X08a0kLPQMKIeSTlNQgNXwddmjQs8AzVx+YULCyx/40HB+bcyL52yxCAxGgSaEeEPizNZByvcJKWGvQ1XVNv+91yJ+OH2HAxw2khidwMBWyWpHWDAxgcB4OhzIcDl1cs9lMOp3O0obXPoSUT03Qstms68PgX9VqtZZM7KsARGEwGEihUJDT09OlxQHdbtct3vGZHvU1a5Cfz+cyGAzk9PTUKX9YzYnV0jCh6n4hCVAPYe7F+xyPx84/L81G0D5A1RJ5sJ0RT3xDG03rupzJZKTZbMp0OpVOp+PCZ7KDuqTB4VuT/rQqOsrd+s3X96YdE0TCm/0ntWc9rvhIoDY9X1c88QTwn//zfy7/+3//b/n93//9C7/5BqgQQvd88pOflE984hNrp9VHnkJx+hoOz6iSyBc3CEvF0Z2MT0W01B5+JqQu+ggrOlsGD6YYNFgZwe8+k1ic2V0ttLuDyPI+iHhX3PkmKTFsMsaqUb3tRhrXgnUGaN/ECz5hw+FQ2u22FItFN2ifnZ1Jq9Va2vwaCKkqnA+RBz5J/X5fTk5O3MA9nU7l9PRU2u32EglOo6zrtjafn28TdHp66tQ4dob3bf2jEeobsI/dYrGQdru9ZLrXvltpweWIrW+wKbjeK1ETKN3XhkyCTGa63e7SXpi6H0JYvjLxEVxsV4Oyt/LqswDxPSLi1EMdhy9+C9a4kTQ2phk7kixMVnwWgQy1+VA6rd8sdwbfIQvXDU80AfzQhz4kv/3bvy2/93u/J08//bS7fuvWLRE5V/l464r79+87VfDWrVsyHo/l9PR0SQW8f/++vPOd7zTj++hHPyof/vCH3fd2uy3PPPOMee+qAxFXfG0Gsu7zIYlwJZG9NKQwSQH0NVrfDDrJJ0yvomNfLX0N5NTy04m4PPQqbCYOWoGFeZRJvF4RymQSAzv860KLD5ImRqvmBWHrcIbDofR6PUdK4UfV6XTcprchn6qkwQzqELYjOTs7c8QTZk+f35k18fORTDjog6TBF0yfQ5uEUNmD6OkJAuJJC46D88MLbbS53Sr7tCRQTySTyJT2hU7bz/Bkl9Pm87/0IbRYZBUrkoZV/7m9hep3SARISy712BdSXLFxv88sb6XftwjtOuOJJICLxUI+9KEPyW/91m/Jf//v/11e//rXL/3++te/Xm7duiVf+tKX5K1vfauInM/yvvzlL8sv/MIviIjI2972NikUCvKlL31J3v/+94uIyJ07d+RP//RP5VOf+pQZL1bRaaTdziB0T4j0JcGamQJpOqc0szbfzCqNQ/+qv3HnzkekaaKBz1YeL9MRRtgAocO7wya2TMIBTUSg2PhUAj7vdzQauY7dmrzoyc06bUaTP58aAb8tEXHKEMy2MP/60mbBmnBhJSg2D2dTst7IOxR+KE4ocfrUlnUQIoFsDk9SbNPEofOkLQZcpywVLa2PISOpXHhiY/0Wej7NQp5QmnWcq6wGt8Jape3wO7HGqyQRIGnSlmTJYsA1Q/sIJ1miELaeiF5XPJEE8Kd/+qfl85//vPzn//yfZWtry/nsNZtNqVQqkslk5Pnnn5cXXnhBnnvuOXnuuefkhRdekGq1Kj/+4z/u7v2pn/op+chHPiJ7e3uyu7srP/MzPyNvectb3KrghwVdcS2VIzR4Igzch1WYOnx932UagO5s0yCtiQ55wBYYlkIBPxGrA8SgGrFZWAqLdlrX/kgiy8QR7wy/5/N5edOb3iS7u7vyR3/0R0v7laVR+dIMYL6FV3pQsMgV6lKn07lw0L1+xkpv2vquV3/qer1K+w/Fo03qaU1rafKAMDalrvjSo9+jRYpCk+LLYFXVb93w13luXRII+OqQntzo+zUymQenKlnxXBaLxcJNwELjmHX9MnX81YgnkgB+5jOfERGRd73rXUvXf+3Xfk3+yT/5JyIi8rM/+7MyGAzkgx/8oJyenso73vEO+eIXv+j2ABQR+aVf+iXJ5/Py/ve/XwaDgbz73e+Wz33uc5feQ84aDEIddGiW5DPRhsK2tuDgdF3GxHxZhAZK/KZPPPD5V+F33hcuSRmMWB+acFtkD79Z30EE+fd8Pi+np6dy79496XQ6jghtovO2fEvTKHNWHVvHjOW7xxePJlH8fVNtclPkT08qmSQ8jEHWt4hIm/n4nW+iP7CIZcicG4I1UboMWPFcR/ncVH+Zz+el0WhIq9W6oJBvCqFxVKvCWlwBIhkUySziKLk22u22NJtNedvb3hYkjWmVr1CFXKdj9Q02acPy3Qdz3lX4UUD90/tnhWZ5bP7ho7r+z//5PysfHRRh4+DgQA4ODkRkeaPuXC635K/HW0/gu8gDEoNndd0J7fO1KjjOtKoFx8n3rpIOi1RZar6OL23YqyDU34RI6OMAkLZVF41gqx5sCYOwRJYXxGw6rb6JUNpnretpkETy1iGBaRFSYLXrTgibrn8hgqfTMpvN5Gtf+5q0Wi1pNBobS8OThOgo9RCwipqRxuxl3WepBL7GkLbBWfcl+U6s0uGE7sUWICCDlrlOmx4RJhYSPG4D25MOLIRAuWNxjqW6akUkZK73LXBY5f1B/fENTEmmU+ueVdV6TrdPZde/pc3jqvN0n4+Wz3rwuGEdXcIiE1Cqr2rV56qrbwG9OMUXZkhd9z33MOAzCyMdScdy6nayqTRZinoondcdkQA+AoQGAEstCA00vuubblw+pNncNy1A3hDOfD53u/wDOl8gFjz4r7rqMCIZKOdyuSwisrR1CA9UrGrBURvEUftP8b1YBLIK9HtPIj3rKm0WSUzr4qF9lFCGlzG5rvKMBk+eQoP4owQr+asAJ2E8CW2fXShEwmTOIoHWamWfWXpT0ONKSF0PjWGhNrbquGUp7vr3x61+P054In0AnwSk9TtZxccv6Vl+/ipNO+x3h01NAa3yrDpLtVZ+asWIwR0HZvnxHOCrA94FiD+be/Gu4IPKGyhvb2+7bVSwsa6unyBzvjqSZkBbhewhzb4wQm0opBb6wkT5rOOWkETWfGQv9D0Ublp3FMuMfVk/q1wuJ3t7ezIYDOTs7Mz83UfyHndVR9dv7ieTFq/4SF3aayFY9XkdlyErLOs+y70iNMnx/abDsdwu1pk8XRdEBfAKYJE/nyqnK/+6pM1qTFcJzKxA2CyHe99iFB2OiLjtL7hzxLNsRsR//OmjsmJDvzpggQbUvVBnDUUvm81KtVqVv//3/7684x3vkGw2u3RgPOpPyD8r7TZLWtlKe79+NqSO6fvTgp8LmcfWrb++9K8DHjB1WKH8b0ptWSwW0ul0zNMsRFbb6P1Rbgfli9tH7pK2iNlkXpIIfpp7V3nXvglTJpORYrF4YdJuKfehMdRS6VdV/68jogJ4hUhL6tJW0tAs6GFBr6wDyfOZI0JKqLW6UiuA/Bv8zxAfTL0gGyifJ8EE9KQBZBsEBteKxaJbwAH1D38giqPRSH7zN39TBoPB0ikGSWpfyIyVtNoxZKL1maJ9CClaPhOUbqtaTfGpaFafkfR9U7AGUY4zBCuN62I+n7u9Fy+Dcrks9XpdTk9PH0mfkGZ18GX28bssfPUw6f51f/fBt2MDt0/0JSwGpFULowLoRySAV4SrqHCPg6QNNaZQKLhd/xeLhVPw0Ej1wAzFSK8gxn28Ykx3hrox86bCmDlCdcLGxHHGt1ng/TH5w0pgAMQPZBxqHx8Thme5DugZPHf0ui5Yv6X1d7LqF6dllTCSfrPUMcukZtXVVb9fJdKa81Z97mEAZP9RpYXjTkv01t3CZV34yF8al4J1y1U/x37k+I33EfSNC6EwtYpt4VGqw48LIgHcEKwKZ82ok2YtIdWQl9ZzeA+D8HAHhjTqndjxuyaBlpkbJI6f4bj0ogLEi/NYQfgALodH3fG/GoGV1SLizpNFmfNKbf4P8qcXCumOV5/uEOro0/iQWr5USSbXVQaDJPVBh83XHwWZW3XCyO0Iz4fCvmqss8WKyPmikOPj441OltlXL5QmX73zEbzQqmDAeo+h+rYKYfOpv2nKzhrbQhOctEBZ+Z5Pa1lLU4+vKyIB3BBCjU1/Ds2aLRKJ+y0zxlWqgVbHCyUIyg+v7gw5MaMh63zztiKaKPKzbFJmEow4oeI87k7gTypQroVCwW3zoLd94ZW8WJBjDXTWAHPZ94a41iULFiyz7TrP4/Mm2uk64XAb8YUp4lcw1x3EredC5nQfLvM+N2X61S4tfC0teHK6aryWuwynJ42SnPa3de7z3bsu6VrnJKdI9FZHJIAbQojYpe0IrYEmZErSz68Ln3kiSYnBoM/fMcCnmX1qvw6RB9I/h2GRCN7Xi82JEVeD2Wzm3gurG+z3x5s8+1b54jmRy5O+0EC6qS0xLDNSGvVPX1+H/CURs1Bc/D9E/tKEuS7WVW6uGmlW2Kb1LdVIMqnqupCmLODmkkZkWIcE6WPbrgLFYtH1CxY2OXEDot9fMiIB3ADg82SZaIGkDjit2rDJztMiVj4Tmu9Z63fehV+bgXXnp03ZeE6TPNyPsHlmD1LC8T7qQebVCLwPdORwA8A+f2gHIIsiyxMDmIst+AYA3zZCSYROb6+xKlZVPixXjMvUwVA4FhGwiKqvzT1KH9lQvHhXq5ARn5VCI2kSEDLJaujyS1Lm+Jre0QCfff2+r81silzzJP4qSWCI3OXzeSmVSjIYDDZKAn1k3HftOiISwCvAuuYS/fmqOuuk1Zf8X1/XhAyzU94Lzucjk0b50eSRgXLIZrNLC0GgRLFZODbwzaNUKkmv13MDRT6fl2q1KuVy2RHATqfj3ANAEjHwXca3D/ekJXNpCGLSIB+Cbps+5X8dcD3n8FGGln/eKua+x3FyBPLXaDSk1+vJZDJZqhOhSan+zhPLtBOGVaAnrhZBt95LaHIfmvT7CMwm3uN8Pvdut7NJhMjlfL7e3pgWQsRcf45Wo0gAN4LpdCr5fH4tfxPdma9i7rGgO0qrkvu2bAmFaamDuVxOdnZ2ZDabuQ1bWcVLWqXpU02sfdKgNFkmLpQ7h5Nk9opYDRj0eOEN7/VXLBZlPB7LcDhcOonFR/7SmHxWUWW4jvncEJLCWnVATbo/pED4SIPvXm2efBxJ3Lpg14But3uh/0rqn3QfWi6X5bWvfa202225d+/epQZ6y2RrqXT4jf+HgPcdcpcJXX/Y798SAFY124buB0FMS9StMc430eEJlfX7dUYkgBvGuo3TZxJYFdzAklS+VdOlfbiwKpTNfb54uMFCvfOdz6md1nlrEZjY2eTFW8FMp9Mr8SeJELfi2+pIJ5OJnJ2dyWg0SrWiN+37seqUNWjqVZRJplCNy5pr0/hnJYVh3avJ3+MOTdpWaYeLxSK4YjwNac9kMlKpVOSNb3yjHB8fy/HxsdsaahOwTO2IV7ui+GCleRXf7qu2CFntu1AoyGKxuKDU6fdjjT/WPZZ7kEZIKeVFOVzXfC4jSdeuKyIB3DDSdva+BR+rzCJXwTor1qzv3LmNRiNnqllVzeEOU+RBo2Qzrk6H9v9DZwuFUjtLxxne5jCfz12587seDAbuXODhcLjUoafdKkOHqa+tWnd5gsDXNNKYTZN8ctOEtQk8boo23rMmO6ua6ZMIQxKs99ztduV//s//KcPh8ILJHLAU2KTwk+pLo9GQUqkkx8fHF/qzJPju2QT5Z5ecJJ9upEXnWy/O05OqbPb8jGuUuS/t2vqEMFgNDfm/J03m0ixc5HivOyIB3DCSyAcTPB5ceGa57mDik+n5v05rUsdoET9+nk19qzYokDYcL8a+fDofulwwAOHECaSFTwuJDXyz0L6WGBB4yxf+njQpCCnUrBKs2nFbA1TaQfgy6vFVmOa4zPH5cYH1Hi7jo7kJsgOV6ujo6IKriEbSu9IkKOn+fr+/pGDy86vUq00QYw4LxCwt9Hudz+dukiciS2SNn4Hvb8itKS3SPrdq2NqH/bojEsANwhpsLCVBq3yh2d8qnYbve4iMJs26NKzBFWGFVBYmdWyyZbOJtcCEyxR5gh9aSDG96m0Nrhs0+cBn9n3l2f26REVPWNL4f13md9yjfVeTJkZAaOJ2WVeEx4nsaazbLzF0G09CGlOh7m/SKr98jesCvqepRzgS0Ye09cHnxpPkYuMzuw+Hw5VdIvSkSwsAesxgMcCagIfyvcpkTcebpjzZh53zFY8MjQRw47Aqb1IHBxXMwiqdhm/Q9M3GQgQU19I6n+vfrAFU+4/pPFsmQQ5Tz4QtAouOKKp/VwNWoorF4oXffeRPmwytRUV4/mH7vHFdsRYghZDUhkJt+yoRMq+n8ZMKhbcOfIP8uu3UR8rSmGytZzfZXySRzsu6qCD9+r2t4u9mpTGkNLKZlp/n9qoJoS8eC5b6nvRsGh93jEssOsSx4QEiAdwgksy+1j1sBtW47Oo1kfAmsiHFkp3tsdEvmwH0/bqDs65rszfnUd/nc/gGiWTSZ/khRWweTP6w+heEiVUzy6kcpqjBYHBBYQk596f1wQo9v6oP36ZMQ5sgfptY0BRykvfFkYYkXtZXLy1QfywVysJlyF1axdAXpu+6z4UG4YcmCr4+PG091cTOl0bfghu2vJTLZRERmUwmMhqNXPghH0If9EKObPZ8NwGehK3iW27V4Ww26/qqUqkk2Wx2Ke3XHZEAXhHSzj7hX7EKuMPWq+58Kl9S+nydHDtR80wKRCyUTyZp7BTNQNoRl5bptZ8fzxT5sHC9soy3K4m4PJj85XI5KZVKwQHZUqHZFOXzE0pTL9P8pu95XP19fEqodU9SOEn3hQjbplTXy/ir+YD2nFbZT0P6V/EvC1lItAuAL94kApxmsqAn1pp0cZq0y0YIerLGfS22eioUClIul6XZbIqISKvVksVicYFIWWXlmzzgvRaLRSkWi1Kr1aRWq8lwOJSTkxMZDocXFPm05mvsHFEul6VUKkmxWJRyuSz1el1OT0/l7t27G9t78ElGHCU3CKvxa8J3mYEoaYaG8LX51mrgvnTrTgSfsdpWxxHyj+FOSM9idZnohQM86+cwrJmy7mCwPc3jOug/ycBMmt+DtRAo1BasgVUv8rgu785aFWn9boEJny+cyxCxJGLKbZXN+9bvoTh8wHPT6TQ1+Vu13vgsGHoyA7Wb7/GREStMS6lahYRaJAgEio9iFDlvj71ez1wMqGGVP/r3Uqkk1WpVarWaVKtVaTQaUqvVZDAYuP0akZaQCsiTHLbiIPzt7W25deuWNJtNWSwWcv/+fel0Om7hCofl6xt0PnK5nJTLZdnZ2ZH9/X3Z2tqSQqEghUJBptOpI5jXHZEAbhAhk+ploYlbWmLpM9n6OjDd4ViDDKclNNPU130dHjrWQqGwZA6wVE6+rskgfo9+HpuHNv2ORiN35JtP8fC9h5BJjVWUJFPeoyKJWLiwiml2XVN2CGl9wLSVIOkZEXvy6ANPCK1wV/Hr1GRBx7NYLKRQKJiLxlYB0ow+Q+TBe51Op0uTUT7XWltvrHDZUgHSAXIG8yNbL9L4BOrfisWiVKtV91epVKRarcp8fr4d07e//e2lTbVXRalUkmazKQcHB3Lr1i3Z3d2VnZ0dmU6n8ud//udecol8Y2cH5BEA+YMVYW9vT/7yX/7L8qY3vUk6nY68/PLLF1xErImkLjNuk7lczrmc1Go1uXXrlty6dUsmk4n0ej0pFApB69V1QiSAG4KuTKsuvbegG1YI3CAs85tujEyooPDpeH2dhzZ14HuSw7HPRAJTAwgdLxTAQgNt1pjP50v3wlSBjaDjCq/NA4oDm2YsgmcpP6sSID3ZsbAuqdLtITSxsq5XKhWZTqep2neIHIuEF4CtAl+6tZ/lOmbBtPGvSoyTVoZiIAd5gtsH6l0aZciKDwQEZkFYDKDy9Xo9098Z8XAaNblhV5lyuSzValWazaYUi0WnzJ2dnclgMFhaNZsGyF8+n5dKpSI7Ozty+/ZtuXXrltRqNSmXy3Lv3j25e/eulEol105XVZehzm1tbcnt27flne98p7zhDW+QyWQiL7/8snzrW98SkfO6a616DpnCgVKpJLVaTfb29uRNb3qT/LW/9tek1WrJbDaTk5MTqdVqMh6Pl9yjcrmc8zXGOGe1I7xbpK/T6cju7q4Ui0WZTCYymUw26qLwJCMSwA3A6nhW9S9IUyHRqHwDGMvxvvTpmXmI5GmzBTpOQKuFbAayZm+6w2bfPZHzMsPMkX349Iw8RPCsRSURmwEINg/CIXUnjQkK4LptIUlJTKM0Wkq39WyozmYyGRkMBqGsBNNkpdEys65iBveRIChQgLWR97pgsyNUYfiE4eSNUDyhRSW5XE4KhYJTtjAJHI/H0uv1zPJfhfxBHdre3pZGoyHNZtMpZ/1+3ynbmsToPtdSudFHgqDt7u7KwcGBNBoNGY/HcufOHVc2UNFD0Go4+7Y1m015+umn5U1vepMjQOPxWO7fv+/eSWhxhray4B2i3lQqFdne3pannnpKXve618nx8bEcHh5KrVaTUqnkiK6u52nM9ZnM+eki9Xpdtre3JZPJSLValVKp5P54Us/vUOcDe79qEQTvAqQyn89Lq9Va2qz6uiMSwCtCUsPWzt96INXfmfj5TL/r+k75lEbExbNxTfJ8g4+PiKHxQsHDvWxKRIOGmUfnmX1PuKNDx5XGaT5iNeAoPk3+LOjyDynSfM3CZUz5Se0hZFIOtTFWPdZpb6xeQOFCfUfYSeFyGWuSgIETRAGLqMbjsfT7fTfRWhcgOPV6Xer1ulQqFcnn8zKfz+XevXtydna2RKB0/5ak/MH8CIJWrVZFRKTT6cjx8bGISCoFjYkC+y/n83mpVquys7MjN2/elL29PSkWi3J2dibHx8cyGAwcSWDFicMFNKFCmd+4cUP29/dle3tb9vf3pV6vu8nT6elp0Lqj2w//jveK8i8WizIajWR7e1va7faS6VWnL6ktMYkCCc9kMnLnzh3Z3d11apqIOIKWtN+qrx6jTOfzuZycnDi3km63e6F+6i1c+OAAkQdbN7FPMsoPCizUwOFwGAkgIRLARwA9IOoGbznUhuDzmVolHRZRw38MIJYCZ6mIPPPU5mUr7dxp+VRMnlXywAmTLzqJuPr36gBlh8mfVhFQF0P+Zjxx8JlbQ9ATAqTBp+SljYMnWKjzmGDM5/OlgWkV0yOnW+S8jpZKJSkUCu4/zIP9fj+ozAM+lR8EZHt7W2q1miwWC6lWq079wGRrnUkS2nU+n5etrS05ODiQ3d1dKRQKUqvVpFgsyng8luFwKIPBYMn8yPUhRAQzmYwUi0Wp1+uyv78vt27dku3tbZnP53J2dibZbFaGw6GMx+MLZEdDK9R4tyBQzWbTqXR7e3uys7PjiGC73Xbp99UfSx2E+RTK1u7urnsXo9HI+eqVSiV3tjaXhU8pZxJUKpUcAQQ5Pjo6kqOjI0fw00yc9JiD+NFnQ1FstVry8ssvy8nJidy7d09ardZSHFol1+WkrUl4L9PpVLrdrnzjG9+Qw8NDmc1mcnp6Kt1uV4bD4ZJJF++s1+stLTrz+b2iHrKwMBwOpd1uOxP/ZSaXrxbE0fIKkdTJWp0if17FVyrNvb70oIFaJjjdMfFqYGuGDBKg08UkEEoHD0YiD3w88BkNXDuyc/hQppJ8TiIuB55VW2Zf9sexBjGQwlVJh1YSQUBAzETO6wD8hSxViImdz8zM9RVbR8B5HxMNDExpTpnR5BP5B7mBebNSqUihUJDxeCzdbleOjo6k1+tdyDuXga8MMVDWajW5ceOG3Lp1y6lphUJBvv71r7s8rLr1FOLO5/NSr9edaXN3d1fK5bLs7u5Kp9Nx5kG8C+7LLJOpL45SqSSNRkN2d3flta99rYzHY8nlctLv9+X09FQ6nY5ZFpaZMxQH9obDs9gqpFwuy3g8Dpa3zhP6q8lk4pQmLNaoVCquzLHtSaFQcP1nWhcgWE5Go5HzQcXihna7Ld1ud+lIOi4PX9lz3DD9whfy7OxMDg8PZTqdyiuvvCInJyfy8ssvLxFkhA2k6Yen06n0+305OTkREZFarSbz+VxarZacnJy4CQQwn8+l1+uZkxfLejaZTGQwGLgjAfE+2+22a8PRTzwSwI0gjQ+UBg8Mvt/SXl8FVlqtgRHfMeiy4qd9ifQMD7NHPMt+Tgh3PB67PaBwjcmgJpTT6dQtFEH65vP5BcVvNpst+SlGbA75fP6CAzXXAagrvDUFHOuHw2Gi87VPTeOFDPl8Xra3t6VcLrt6gQ2mz87OLhx7hbSl9cdj9Qbm08Xi/HxZy30h1Fa12wbUra2tLblx44bbVgO+c8fHx9Lv950fHfKcpA5x+SFuEM2nn35a3vjGN0q73Zbj42PZ3t52KmNogYAGK1v432w2ZWtryxEaxM0+WAjfercWuWLrAQb2RqMh8/lcjo6OnNrPbdyygFjvXLvQ8IRmMBg4Eg5lkSc1aYA+bDQaSafTkWq1Ku12W4rFogyHQ7e1yXg8XlKmtDuFLjvcA3+2yWQinU5H7t+/79RF+C9CvYSZU09EtFmcJ9iZTEbq9brcvn1bXnnlFWm323L37l0REUe67927J0dHR26FMdKIdg9SGooX5dTr9dxYgC1gTk5OpNPpOLWd2xuXkx6vLIvRcDiU09NTmU6nUiwW3Xtepd6/2hEJ4IbgmylqXz8mOCBWITPSOqRPx5V0rzbbIR/wp/P5ffmUSsuHhe/B4FksFiWbzS4pN5jlDofDJbMuFB+etaEjgVrI8aXJe0R6gFSAODAwKPPWFFDQRET6/b60Wi3pdDqmQpdGHQK5bDQacuPGDanX6061LhaLzvzFqze1mTbJ5w+kCb5h1WpVCoWCTCYTN6iORiMZjUZrmU/RDrDAYW9vTxqNhoiIUyWOj4+XXBuSSI2VHzZjY1HAcDh08ZZKJRmNRql88hhQnrApM8zWeKfYey7k92WVC9Kgn4PqDDLQ7/cvmAd13vVnXz4mk4n0+32n0omc19NOp+P80FaxKHCcrG5B+ctms9Lr9eT09FTOzs6W6qnVX+l3wmRrNBpJJpORs7Mzeemll6RSqchgMHDEUxMoK62aBIqcv59utyvf/e53XV1HXkBioTBqcmpt2GyZyLlNogzG47GMRiOnHOvVv/yc9d3yOUY/xYq99rONFqNIADcKrYyw+qV/xz0im1X8fHFZYVumWiajPPPi8NOkl7eEsGZ/+MyEQi/owD2LxcIpfRwWZriz2cyZgqMP4NVgsViYA6/IA3IG8gT1DMc6tdttmc/nS2YrrTZzWPrafD5fMm9ub2/L9vb2ElEaDodSrVadwqLraJrBiZ3rt7a2pNFoONMRBigQqzRmYE4D1Go8D5UUpkioo6i/7CeZFrPZzG3SjXY1Go3coozJZLK26QtEDO+i1+tJt9t1bXWxWDjTYxJJ1X5vyC+ujUYj6fV60ul05OTkRL7+9a/LZDKRu3fvOpXUIq1pVEAQjtPTU1f+OJ5wMBjI3bt3HUFD36dVWO7TrL4Q6hP6/m63KyLiymwwGLh34SsrXl2rJzSYIHPfhwUmo9FoaULNlhcrrayCishSurBlSr/fdwuVptOpI2fsNmS5VmgVHNes99Fut93pQqFVxPo60uAb71jt06Q1IhLAjYCJFM+s+Dvfi+sh37Uk8gfzGmbJaX1IrP863Ewms9QIkVZL8fPN6rW5BWRPO+ujM4HaBzWJn9F5SFJCYuPePKzJAAMmwkqlIo1GQyqVytL50Z1OZ2mvR1870O+W6xwTJ5gdQWxAnth8FlIhQioVmxlB2iqVytJAus7+fdxOQTjq9fqSsgLndIscpQGvdMR2KRjUT09Ppd1ur30EFgjHYDCQTqfj/Kuw8IDNjyDITGSZDFgWB+QbR4Hht+9+97vORHt6eup8way+AeGE+ggolwDMme12WzqdjlOgrP7Hp5bqOoV6P5vNpNvtSiaTceHqba1QTjo8q+xB7vE3Go1cn61Xw+rJeqjeW/mD9QfKL4djlU0SrEkY8gECq/sZnV5N8NEOQ31+yIfzuiMSwA3DUjCsiraKyYLBHQUIoM/R2hcv+7fgPmtrF5hjtYlCL9AIlQPPQBnovKDuaeWOn/eVT5KDdmzgm0USsYYZFe8SJn6Y80GmcC/XUT1oQ2nS4WN7CnYJgEnPt4WK9d0aYFhBGY/HMplM3DYbfFShpXakAQa6brcr7XbbbacC/7bj42NnUmX3EBDHNHEi/MPDQ7cZcblcFhGRe/fuLZEn3+TN16ZwHYoNSCx8Q6FwabMbEGqPmhyPRiM5PT11iz/YbAslUr9DH/HXwPsbDAZyeHjotjbBO7fMhKE+3IoLahnMzLi2zqSBwc8zEWR/Pt+zSAPnJel96/EAYVhIM+YxceQxBQRWp8Uax7iv0OVh5YvHuuj7t4xIADeIVclfqPFZ4AbDplSLTCaZQjRp5Nm4b2bKDWnVjsxSMWC+08qADpvJIXfynCZG0gAQcTnwYM3lD9PTeDx2Z27ij81GrAL6TMG6rmPCweoDkwIoRJqchdwV+F5MguBM3+/3XV0DGeEjvNYZSBBWp9NxC0xALI+OjpYWsVxmoMJ+bcVi0Smxs9lsaRPckPqU5BsIYgOyycec8QIHn0lQg/tBbGMDRRSTB5SJRSy5fnBcfB+75OAaEzT0Q6uezsFx8XNsFvX5KzK58VlxdH9nAb9bpl6rzK2xwPeueXGH3uQ/BE0aOc+6frHFJxSWdU33Gdrcq/3DgThGnCMSwA0hSXXQ11dZYYZ74ZDuiyekAOqGyE7m7EMHM4M2K6DR4ruVdqtjgGrDYB8qVuqQjqQwdacIhTJpX7CIy0FPFrgTxYSk1+tJuVx2GwHz6kdfh2sNoNZ7ZAKVyZz7HcLpvdVqefeGC6nh/BvvewY/N/hXYRUkTGKrTt4AmGhPT0+daRx+klihCOXPUs2TBl+kaTgcyvHxsZRKJZc3rcwlmUqT8oH3gfaXpI76rvOgzSoQ6hD3eRapTAOUG8oD1geQYU0Y17UgWGRLEz4osvpEE36/ad16AJSVVfcvCz1WrZI2K/86XVxnLHWQ4SujkGlef47E7wEiAXyIYPInEj4txFpJi9V3Pt8X/py2A4PZDooK4ubBUZt7NaHDoGsN5JwmzOS5Q+EZsEUUQUR1B4GZNRNGqxwirh4gf7yCD4MrCBpWKWrTY9o6ulicrxo8OzuTxWLhVia2Wi2n4vBG1fp5K83WwIQ4xuOxVCoVNwlCvpD+dfyfMMESEbdSE0opr3y0BkSR9L6AaKtsfuTrjNCWSUkkN00Z+NLMbZrjgaoIXHaw1u/Y1y+GVLK0fUlSWhEO3olvkmN9tsDl5kujVX80gQvFw755VrhpiFoal4lQ+CE/zKQyskzK1ufrikgAN4ykVVciDxqHVbm1yRVYLBZLnfk6ZCc0c9IdCVQODFoWQQP0nlz4bzU2LF5haV530ryyENd1o2cyivRhr0CogRFXA6u+8b5bi8VCSqWS87Niv7CQ3yjCtjpmTEIQTq/Xk1wu58yOrK6sclavZQpG+KwS+UhZWnCZsd+irx0yLBNtmjRo/zALD2sQDJn7Naw+MUl18qlL/H2xWLjFDLgGP1W86zTk0MoPrvH9XLeSVO5Q3CFri363bLnRWIU4cRwhhN6LzyfPCl+/4+ir93AQCeAGoJU9vmbB53NjhWl918QpBJ8JFZ0TEz+QLxFZGvigPjJ8JuZQmnV8SAv78ID8sVOz1SksFgspFApOffI5EEdsHtp0yD5VWGTAZwfDNJuWlPsGcgDbU+gBlBeZrAOLpG0SehBMIsM+rPpMkoqXZgBfFdZE9jLtMaQkIuw0Jj7LqoKTZLhO6zrou87QxI/TnUQWQ+m2CGTo3fjKCmW0ipIM65C+HorLUu986dUTlFXUycsiWokiAdwYVvHXSHouDfm7bLggXuzPpUkaP2PNbq20JZnfQD59B4lDTdTEj9PKhENELvhFYqYfCeDmoRUzBsi4nlSk2TMvCRgEQ2Hp7SpCsAZgvbWLNgOGVP00YPeFpHB8i7KuApY5z2c6XDf8dcstqV/VBGqVeGBV4YVoofB1HGkIG7YtgvtD0rOhtFpxaNIZmris8w7SLHoKkbs0CBHMtNCigQ8+C8N1RSSAG0JSw07qyEIK2ioNNzRT1iSPza3sA+gjfQjf5z+lzb+WSshmXk6XiCz5+/G5wKwQ8lFvfDwX5wUkM87wNgsuaz0AARiE0oaT5j4OO2QiXgda9fOl87LkzxenD4/CBOYzF6+6IMF6xiJOac3YgCao7CbC8ayaTisdoXCQlzRkQm+5s6l65JuAp30uLVb1seP645s4aFekkOl3UyZhJuKRBD5AJIAbhGUKTro3dG0dtS8pXE3YLFOrfjaNIskmD4sUWs/q+KAgcSfCap8+kg6kkAeDdQariHSwFDHrd1+93QSZetgdd2gSViqVXnWHyl9WzQk9w+r+ZfG4t3Gu66xaJxFHa9Kt24x+NuT397AQUt80cWdXH/49iQgmqZBJ9QpWJD22XGdEArgBWAsaADaphjot7hiYSK7i66E7F0uZ43tFHjSctIpZ2nvQ2DT55AUeVpza/IxnsHgEM+p8Pn+BuFom7IjNwjI7Wb/5ngVWIYFpZuxJ5DMtVkmXz2x42XBfrdjE3qEiydaWENKqP5blwvLXs+q0ZflgrEL+ktLG8T5M+HzLAZ+okGbVsL43SVFMA+yJ2Wq1LvihX2dEArgBaKLDDRm7yvu2K9Fg8scKnY7PesZnitXXmPBp8ufrhELKIt+r/b986cxkMkuKAPyvQA6xtQyke1xjM6/PoTnpaKCI9ZGmXNMOSKGB0Bps04QfGpjTxh8Kh6/pA+tDWJf8Pg7qzqNCSM1f1YyXzWadYpt0XnE2m5VqtereLzZCBpJ8BdchFr5nrMm7rj+r+ommXUUeet6agK8yIbLCBKwFIdaK4VWAMedxV44fNp740vjkJz8pmUxGnn/+eXdtsVjIxz/+cbl9+7ZUKhV517veJV/96leXnhuNRvKhD31I9vf3pVaryY/8yI/ISy+9tFYaQFJ0JQXJwQHtIrZJNGkwY9LD/m3857tukTt9v/aZ85E3K0wr3BCsvIIcIx3syMymXRFZKmcQRO1rZO2VGHG14M5/EypcCGnJJaeJ//sGKmtCY02EViUeOl2rgI8lWxfoN6rVqtsI+XEG93UW1lX5sa9oCKgDvAE++pgQwUlrQUlCGiK5ah3USCo7X9lzv8vvaG9vT5599lkpFAqpwk+CJn2+tFj1xFdnBoOB298z4gGeaAL4h3/4h/LZz35W/upf/atL1z/1qU/JL/7iL8qv/MqvyB/+4R/KrVu35Id+6IfcmY8iIs8//7z81m/9lnzhC1+Q3//935dutyvve9/71vLnwTmn1izGR5QsYsbwzeqSCKQOk5XEUHxWmphw+joc3FMoFKRcLjuyy3GEFEuddnxHmXI5sGqpTcXaPMCO1xGbAxMoixxppSKtKsAEzToJY1MDrA9Jg+oqpl4A7ULHY+Ujm81KvV53p0RsElBSdnZ2pFKpvGpUEN2vhbBYnG8enkQAUO9w7N94PJZ+v780LoT60XVhtZO07hSbRFLdABGG7yvO5obYwX3xZerZqs9aPoWM+Xx+LVX0JDyxPUG325Wf+ImfkH//7/+97OzsuOuLxUI+/elPy8c+9jH5sR/7MXnzm98sv/7rvy79fl8+//nPi4hIq9WSX/3VX5V/+2//rbznPe+Rt771rfIbv/Eb8id/8ifyu7/7uyunBbNErQJasBQ0XLfC9d2TpMRZah1MB0hnyPcPymWpVPLur6ZnhAiXy8JXHgjTUiDz+fyFgROwOklLEXi1DHKPC1Ylcqs+b6nImsRfdp+/dQieHuxDzvh8n8iDo+vSIJPJSKlUkmKxmOr+VTGfz+X09FT6/f6lttnYNLR6kzYO1I1VJnnoJ3z+x3wf/2mXkpAJ/7ITlSRhwMI6ZCntfT41FnVoNpvJ6emp3LlzZ2k7rk3WlXXKM0kZvMrJ5JOEJ3aU/Omf/mn5e3/v78l73vOepevf/OY35e7du/Le977XXSuVSvKDP/iD8pWvfEVERF588UWZTCZL99y+fVve/OY3u3ssjEYjabfbS38iskRgWDkDLCLG1zWsBhdS+SzzrY4PnRbCtY5v4/iteDltlmmLnXV1Onh2BmUERFGHn8/nl4gd/njFJXfmeqsIkM/YyDeHpLK0lL91we4THGaS71ba9+2bSKV53iKCm8BsNpOzszPp9XqXDsungKRRwEJYlTimIXRpFsj5whZZr675JsjW79q1YZV6khR2KB2rkj9dfpq86X479JsvPxYWi/O9FIfDoel7nTa/fG8SViHI2jKUJk/XCU/kIpAvfOEL8r/+1/+SP/zDP7zw2927d0VE5ObNm0vXb968Kd/+9rfdPcVicUk5xD143sInP/lJ+cQnPnHhOqRlXwPQvlFJDsj6ef7P91mDkb6Pf2MfO74GsPmU47f2R0O+OD6EC98ZbcJj1RFEjcPm37Vcr8vM2mIC8SKciM3CV3+tjttSytKSJ58fVNKikXXMtDptSereVboVbGo7mU1us2L1CZsC2ulVq/UhcmX1Y9Z9oWs+JCmNqyBNGW2qHFeZ7DGSlFHckxRWmmtsfWKBw4KvXF5N2zetiyeOAH73u9+Vf/kv/6V88YtfDPrLhAYkH5Lu+ehHPyof/vCH3fd2uy3PPPNM4l5geuBYtYFZHZhvBpUUFi+u0PeARAEoD5il9CBglXFSevg+kESs7mW1T8ely88itnFGd7XgcvctlOBBzyJLmhiGBuC0WIeUhciclZ9NDuZXiU1MfkKqySpxpnneGpwvQ7TXeT8WOVlFZVolLdaEW19PCjNpcsX3YUJsjU9WOYfKPs245Zvk8cQ8zSKUNPcAEA18vzE4b0kLgq4DnjgC+OKLL8r9+/flbW97m7s2m83k937v9+RXfuVX5Gtf+5qInKt8Tz31lLvn/v37ThW8deuWjMdjOT09XVIB79+/L+985zu9ccMnTsMaFFfpOHydYNqw+NQMX7i8ZD9EHNkUwGod7uN40iibVj44HIss6J3z+Tryq+NgNeFxH6SfVITqt48Q6nss9cX3jPUeN2161WGnvccirleZtjTYlAK0ro+gj9CkVflW6fPShLHq7+v02Vae0+Z3lfflI6R83ZqkZLNZKRaLMh6PU5tBN1GHfYTM8iW0yiFEArX1i8cn/LcEA52uOE48gT6A7373u+VP/uRP5I//+I/d3/d93/fJT/zET8gf//Efy/d8z/fIrVu35Etf+pJ7Zjwey5e//GVH7t72trdJoVBYuufOnTvyp3/6p0EC6INVUdOqYfqepA4qTTg+fw69SIXDw2f44ME/z2pMvsEfDdPyieR4kAbt1M8+f3pxh099RBozmUyc0T0iJBEf/Y7xP4lw6d+TFmCsAivspHt95mLgcRpQknzCrOu+Z63n04Zlhcd9g+4jfNYN33NJz6RBKD+++5KuWeC+b5U86f7Nl2/+zH0uFmeE3g/7TudyOanX61KtVpcW87H/oL5uLfrDdZEHAoSe+Pu2R0t6N/p33cdc1g/5uuCJUwC3trbkzW9+89K1Wq0me3t77vrzzz8vL7zwgjz33HPy3HPPyQsvvCDValV+/Md/XEREms2m/NRP/ZR85CMfkb29Pdnd3ZWf+Zmfkbe85S0XFpWkgV6taM02LOgZo49oWQMNX/M5UvsGy6QBDCZZhlY+mKxxA9X+GFop0TM2qJc6jQiLOx2ddyacevYbfQCvDj7TrojfZy80K7e++8JK27aSYKkCPnXvUSt7QBpVxGozDH2PDsP6nIRVVVBLPU0Kd1VY6U9rcl23HABLiUI/tcqpS5wGfm9pzKNMNq2ytkig7kOT6kjoPXLcIsnmVqtP4UkBiwwcv/WZ0xaKK44RTyABTIOf/dmflcFgIB/84Afl9PRU3vGOd8gXv/hF2dracvf80i/9kuTzeXn/+98vg8FA3v3ud8vnPve5tVUkTXp8SOpQMpnM0gpdK8ykxsz3JM2SfWlNOi6HZ+3ccfhm7vozZoeZzLk5eDweLy2i8Sl+3LHp2R/Sgo2k4wxws0hbnpnM+QbdetWu7szT1sWk3/Q9PiJpmaB9cYTuS4N1SCO7MYTuYfjaqW8ATOvzFSK/obwl9YFJBD4NwfHdl9S3WhPkNHU6zX1Wftb1pUsDywTN10PQfaxFTH0mYyscy03HIttW+0wqIx+Ztp7lckWesNDQqsMRIplFLIm10W63pdlsyg/8wA8EzwMGkjp2kM/pdLpEdHzEKmRq0OmwZmu+39N0UCBf2J4l7XPYjgK78oP8tVotU2Xk9EExxHe94TTIHzZw/b//9//Gnd83hN3dXdnf3xcRWzFjYFPwbrfr7kN9rlQqMhgM3ACRNABY/rX6nkcBHwFZZ+GEJn5bW1synU5lMBikTo8uLy4z3a74fiDJf9kadEPXNo11lLjLwEcy+PdQvpN+D+EyxJEn5fo5a3Kt66xlTgWStuwJqdM6/VYfb2GVtGBMwqEMGAd86ZpMJvLVr35VWq2WNBqNYDperXhVKoCPAqt2fLgfvhOFQkEKhYLM53MZDodLK5vShp2kFmqSFpLwGdzI2OTLPoW4zv8tLBYLR/5w32QyWTIdg8ghblb8WEEEqYAJGeRvOp1GeX/DWEU9nk6nS+QP/7Exst5mKClefd+jNskmmcbwPWmBgM/UqDePtgbBJFXKRz6SlDv9PS3xfpTvYxWsuu2Mj4D4lNQks6Mv/KTnfJMu3RYsYmQRJ993TKzxPPrSVfZr1HWPF+fxiVkIN2StCaUd10D68vm8FItFKRaLksvlpNfrubGF01Mul6Mw8P8jEsANwdeQLbOONmfy8Wnw81hFmE2jkFj3aD8n3bn4Bjr8rjd+Flnej48bPm9DgG1lmBRY5gSkhX0MNSFg8jeZTJwaGReEPBz4zDqW6UZENnIcU1qygTa1bpzWxMf3O7fd0GCZZgDlExU00phWVyHIofA0+eE2aimIq5JAre6GFMp1N4xedyKo+0YfMDFiM6rVFnzlE1JsOQ4R2//N2kdVZLm+pjHlgpyVSiUpl8uSz+dlPB7LYDCQ8XjswvaNZaEyQjssFotSrValUqmIyHlfMJlMpNvtXiBqqyCbPV/pjKMUcYyoyPlkShPMyWQSBYL/H5EAbgBsjsRgo2f3lvoGcCeR5CPDYfvUvTSqH4gTEywdBz8bMinoNFvpgC8GFECQNqgd3KEx4cPsTqeFO1sof2jYxWLRVKwiNgetQPgUCb73YQP10qdIpx0gk6AnbJc1V4ZMh0mDJA/mIsub06d9D7pdp1Ea1zVxhvo+qy6touD53rlvwsxhJ02edX64zHEvn1rE91mE0KceIj04mhPq1mw2k+FwKCKy1O+lyacGxq9yuSzb29uytbUluVxOOp2Om1RPp1MvCQyFi/67XC7L1taWCx8uDu12W4bDoTnpscYeFgG43Gu1mjSbTUcu5/O5lEolKRQKbnxAOXK5XndEArgBgHBAAdAIdY6omCA0q2yAaYUdImG+2RqTwFX9T9AhhJbz684diuBkMlk6QgjpwD28xYsOj33I0EGJiDMxxAZ+NUgid5cle5sy72rlfRX/PIBVpzT+tmkG21VX7K+DTCYjBwcHMp1O5fDw0F2r1WoymUxM81exWHR+U1i8k+ZdrDLRClkprDA2NXFgUlcoFCSbzbo+h7ecCilbevKJe/Ec/F5BwqCegZxpgrdK3kCg9vf3ZWdnR8rlspydncnh4aF0Op2lRYP6dKU08XD4t27dkoODA8nlcnJ0dCQiIoeHhxfMwKFwWbGEhavRaMjBwYHcuHFDms2mjMdjOTo6cn6uuv1Y7clqM7lcTiqVijQaDdne3pZSqSSz2Uw6nY57J7wYzVJOrzMiAdwA+OxaC9oMwI2HfS1WUSR8aiJ/93Wulnl03Y6YB8fQrBmdIK824/2puGx0+nyNFeofVMX5fO78QKLEv3n46gHe11V1quuQwjTvfxN1JCldPlPcOkTQp1rpM5MXi4W0Wq2l+7LZrDQaDZnP53J8fOzaYaVScY7y8J8ajUZOXUoi+MViUba2tqTb7V7wXfSBw9jb25PpdOrOQIaKpn3POB8haNKPPgVmwlqt5lSh0Wgk/X7f9SPsd22llRVlXNcEpF6vSyaTkU6nI2dnZ9Jut2U0GrkJqg4/NDFhZW5nZ0eeeeYZecMb3iDNZlNeeukl+frXvy4vv/yyU7h8AgTHxSoeyrtarcre3p48/fTT8trXvlZe//rXS6lUksPDQ8lkMiudIc35gTqH8tnZ2ZFmsyn1el1ms5mMx2M5OTmRQqEg4/HYa0lC2bOSinoPkler1aRery8pfqPRSAqFguRyuSU3kHVU61crIgHcAHTF9HXqFmnja6EByUeyNJhghgZs3qBT+2zpvFl+KqE08HP6HlyDEqE7Rq1CctzaeRgrkDlfMBdHBXCzsOqFzzy5iY7VMpGtE+6qTv+hMLj+6zrJ52DjGR0GkGai5ytbDU4Xt/1+v38hfgy2POHCfyzc4Q3gOS1QuTDRgvN+sViUZrMpk8lkZd+qbDbrJoFQoWq1mmSzWRkOh9Lv92U4HCb2qygfa0EDCGW5XHYr2Wu1msxmM2m32/Lyyy9Lv99f2iqELRH8Pq2+t1gsSqPRkFu3bskb3/hGuXHjhnQ6HWm323L37l357ne/KycnJ0v9YdoyymQyLt3PPPOMvP71r5c3vOENUiwWpVQqSa/Xk06n48g6RAS2xoAUssWE8wHz6Y0bN+T27dvyzDPPyFNPPeUmA9/5znecTyD6Wss/ksuMx6p8Pi+FQkGq1arUajWpVCqSz+ddHSqXy1KtVpcWh+GdMVHV8SEukECQeFiAcGoX38fln6RiXhdEArgB6EqqP1u/WaQobYX0xYNwrVkmfkeHYBGu0IDOnSPCSXLM1mcLZzIZRzj1+cnoVEJ+OxrafAMCyA7ZEZuBT5HSdWETcaT1PdNKuq6PlkP8ZeGrh5wmny8Xtx1Wayzl3BeOTgsPvHCAFxFnyh2Pxy58kDSOBy4YSD+voGflDD5c1WrVmdh6vZ5Mp1N55ZVXUq28t6wCvV5PCoWCbG1tyd7enjSbTSkUCtLv9+X4+FiOjo6W/ISTJgKscmUyD0y+29vb8vTTT8vrXvc6KRQKkslk5P79+zIej+XevXtu71CEweXLcWszaD6fl3q9Lvv7+3L79m25ffu2tNttabfbks1ml8pJ+0AjHN/4gf6sVqvJwcGB3Lp1SwqFgvy///f/ZGdnR27cuCGvvPKKnJ6euvLX5cN9vshFH2v2z9vd3XV+dL1eT7773e/KYDC44IPH5m8f8Qb4nvn8wY4P3W5XZrOZW3Gcz+cdCYdFjcNi6xGnZzqdynA4lG6364ggLEDwX7TepcgDonmdEUtgAxiNRs73w+rU8T1JmbNg+aX4OsIQ8eN79Izal66kdPp+10oJPrOTtB4wfAoTd1Yi4jpq3j4AnaWv7COuDjwApCEtoXBCSFs3fc7vSeq6JoiW+ZEHbZHlhU1IE8etfc+wVQWIGT8bas9aueDfodjBgZ9XcMIECfNgkjkV8Wm1slwuy40bN+TmzZuys7Mjk8lEDg8P5ezsTI6OjqTX63nDDpEDJjjb29sujnK5LP1+XyqVisxmMzk6OnJ5sMpIlzeXTblcllKpJAcHB868iV0HEDbMtEwyOB8wN+r+CqQb6haIzP7+vlvocPfuXTk8PFza+5LLARNX7T4BFRZqFvKRz+flda97ncxmM7eilif+XEZ6Iqwn8SgvmIERRyaTkdFoJKenp3J6eurMv+i/uZxRJ1GeGmyOHQ6HUigUpFQquUV7XC5aPdTk2JpsYjEMJirYTg0+5tY+gBgvIiIB3Bh8K8gs9cpyBrYGNB/50/dr849+ziKOodl0WgKlB0mfP6DI8mxrNBpdWPWlfWGY0OE39vnTHQOfX8zlErF5hMo1RMzWVQnRYbPbgt7aZRWVD20SCgSIAhQE9oGz0uxTWfg3Nj3l83nZ2tqSer0uxWJRhsOhtNttpwwhDA7PKgPdrkH8arWa7O7uugUCuVxOJpOJlEolmc/n0ul0VvLh4jjgN9dsNuXmzZty8+ZNZ2orFAoyHA6XfNys8Fg10/1koVCQZrMpBwcHcnBwIK973eukUqnIaDSSZrMp3W5XOp2O297JgjXhRHmVy2Wp1+vymte8Rl7zmtdIrVaT/f19OT09ld3dXSmXyxd8BTkepJfJFMeH94v+Cv568/lcWq2WWSf1u9b5AvmDNYPTVq/XpdlsOtUP72E0Gi31/0wK+WhPrrtsQUGfim1ZYH7HXnoM+Fpz+hEWlxPKaDweS7fblbOzMxE57/97vZ6cnZ25LWBYrUeaufw5jZwH+BJms1kXfr/fl8FgIJ1OR0ajkav73O6ji9A5IgHcELTZQP+J2KtvQwMm7gn91/f7wtezv1BnmgZokDzrQ8fAPkRMONGYMetDx8qdqZUOn88f7kGc8P+LxG/zYB8mAOWv37elBKxD/jh8qBOoA8PhcGlrinWAwb/RaEiz2XQrBrvdrrRaLRkMBkvKkzaFadKnlUCku1qtyvb2tuzv7zsCWC6X5fDw0PmfhfzDrMkawi+VSrK9vS23b9+W/f19tw3G2dmZzGazpXxwWEllLnJ+okuj0ZDd3V25ceOG7O3tSa1Wk2Kx6MI8OjoKLoLTPmjcr4HUFwoFt4fbzs6OVKtVt4iiUqk49VTHgT6EiRmTTL6Wz+ddOd28eVO+9a1vSa/XW9qUPtQvIu0cp4gs7T8q8mBy2+/35ezszJlQ2e+Nw0MZQQVk8ocVrf1+XzqdjiPD8/lc7t+/LycnJ87XU4sOyI9v8QljOBzK8fGx1Go1dwjBcDiUV155Rdrt9hIZ0/Ho/l9PIBaLhSOAuVxORqOR5HI5GY/HbnEJ6gjKiMND+fB3XGMii3RPJhPJ5/NuhwkogBh/OOw4TkQCuBHoSq997qyKpgmSLzzrGR+pw7M6vJDKqAextAQQ4fG2CtaZi1qVxIosnkVy+Wi/Mp754Tnu2NFxWKa/VfISEYZVN9iHCPuTYfCDr49lGvSZVjWJ4oUBMFFhwD05OXErR1k9EEk+eB4mPZiM9vb25KmnnnIDYLvdlmKxKMfHx85XySoL7cPKaDQaTkHb29uTnZ0defrpp90q22Kx6Ihfr9cziZk2tWmg/sP8u7u769QghFWr1eT09HRJTa9UKubea7rvwApOhL29vS2NRkNms9nS5vXIf6i98bnfWp1Cv8G+jIVCQe7du7fk2wsCxQoflw9bADQxGQ6HMhgM3OKAwWAgL730krRaLUceOK3aysCLIJiQz2YzGQwG0mq15OTkxG2fcnx8LN/85jel1Wpd2IhYlzOX3WKxcKZevJ9utysnJyduO5bhcCh3796Vb33rW3JycuLcCbhtsXLG8ej/UOOOjo5kMplIoVBw5tnj42OnvqI82MfUMl3rPKGM4GsK0s0+4Na2NatYGZBnbPqMdG1i0/lXOyIB3BB0hxRSTPRMHkhr8vVd547Fp/7p59kEgJmY5Rtkzbxhds1ms87BPEReEQ6UGzYLQzniuNjky47E/BzP4Jk8RB+PqwXefbValWazKc1mU0REBoOBnJ2dObOjpXjw59BiHZhOb9y4ITs7O1Kv15ecx0XEDd5aHfCB3QnG47HUajWncm1vb8toNHILHaAgWH5ESRON8XgsuVxOGo2G7O3tuW0w6vW6Uy87nY70+303wFr7lenPrBpBJcIijWw2K7VazZVrtVpdMk+iDWIwRpthcsj3sYM+nPThz8X9BciRJjUoa8t3DveAhGBHgOFw6OLlstftG9D7j4JMgGBju5dWqyWvvPKKlMtleemll+TP/uzP5Bvf+IYzpVp+hPjOizY04Z1MJnJ6eurydXR05MyR9+/fX9oGRpMzLnfOC+LE4pderyevvPKKjMdjZx4/Oztz5JVP0UA5cZ9vjStcf3u9nsxmM7eQAuoZlE3LHxZlbanj+v1ms9klEgkfPVYWteUA91qCBvKpFT1fHYnwIxLADYAbsyZ+PuLm+02rIPp/aGDw3ee7xmn3NXLfM/gNCzJ4IPEBg66VNw6XwwR8/obIF89OfemO2AwwQJXLZWk2m3Lr1i1pNBqSzWad7xzvCcfvDsSCzf6WAgCFrl6vuxWPW1tbbmAfjUbOf0hPHDidiF+TTxCXer0ujUZD6vW6M0NmMhk5Ozu7QC64TrF5yqprw+HQnUQA/z/4u2WzWalWq85hHWUAlYsVLl2v9cDHigziy2az0mw25ZVXXlnaRgVmVB64NbisQMgGg4H0+33p9/uSz+dlNBo5Ey3et1afWOnjd6wVKSho7XZbGo2GtFotyeVycv/+fUfQ8I7TqEI6X1DHjo6OpFAoyOnpqSwWC7l//77cu3fPmSEt8sFhc5+M/GHiC/I6Ho/dhBgbQcPPkwkxEz0dD+oOTzqGw6GcnJxIt9t1pJPPTw+ZM60xgSddeF5vheMjfr56o8m/Bk/wRWRpYo80aeuPTivD5/Yxn88dudTpYEIaTcDniARwA0Cltfx0+LNPzRO5uP9diDjq7z7/lTRx8gxXNxqdfp0/3oAUHb2PeIH8oZPENe5YMVPUu/TrMJns8uzZ8tGJ2Ay4vLPZrCM22DqiXq87Uthut6Xf7zvzF57nDp7rOxM1ji+bfXCKQKPRcJsW9/t9KZfLzpTJagLHwWTSAvzzsJoSpimYtFGnrf3PdLn4wO2KzV7j8dgRGybHnHf+73sfGPAmk4lTmg4PD6XVajkfQ+1LpRUirbqjDWGD5nv37kkmk3G+XKPRSA4PD+X4+HgpfN6+Q5MMTjffI3JOcI6OjiSXy8lgMJBCoSBnZ2dy7949abfbrpw0iQ9NWIfDoUszlDn4n6H8QXrSkAH2YWTTIp6Hrx/UaXzWK7B58ozV2gxdNiIPTouChYWPZuP0sQihyxrXrTJjNVMTMIDTzZMTtrZwPUaY8GPk9ukzz/r6ev6syzGkTPrGD185XEdEArgBWFJ1SI1jcMOyoElcaNbuu1eTRet+Kw3Wd9/szpc3NELMMnWHxGXApmg9Q+T7mPSFBsmIqwHUs2q16tQzKE/YGPf4+HhJ7cNgYc3KOVwNXmWJ+7G1CR/6rsF1H3EgjVg1CN9VDKggaFgFrE2Dqw4aIH3z+dz5/sFfDIszoOSwAsUWhVCbhK9Wp9OR09NTVxbwQTs+PnZO9mgruryhSDFR1+lvtVrO9wwkvNfrOfOmRWJDYGKOOKD03b9/XxaLhTM/8j50ScqTVf5QnXDkGJMR/OdJrFaLEQ7+WwsRWHXCilbcp33kfH1vUp4QXrFYXKpXPLmxlGGeuFm+rFbacD9f5/TyPXpygXBRNs1mU/r9vvPXZfcNhjUu+NIa6u8tEYbfn/X/OiMSwA0AjSPUWaNi+hqdNSvnMKxndYeUhtThPl8YltLHjUg3RD6vF2SMn0MnofdkQlqZ5GnCx2nT8XNe8dnqvCOuDiB82NsLRAILNpIGbHxm1UTfgzoBtWYwGEi323XEgFVnrWaBgPKRg6wcwAEeKyxR3+BfBeUJ94dUB04v4oYfIRZh5PN5OTs7k16vJ/fv33f753E7YbKs2wfCZZcN+BDO53O3X95gMHB/Wt3SCxz0Zu0Aq4AgOP1+f4ks8hYb2sSnSQKTTe27NZ/PnW8hFCO8W60U+fpRDatvsfYrxG96Eq9N2hqWFcKyAoWg3y3SHbpfm9x1GiwxgtUwfa/Ok06H1aYsszB+4/czn8+XTkHBbzy514qwDttSNrUKqO/V+eUyCOX/OiISwA3AMq0wULH1rEzfE1IRGZYaEepIQmqCpcpogoh7df6QXphneEDXgBLhI5YoAzRcbsRwQMczGPTZuV036ji72zyYaIs8GPRBsEqlkjvCa7FIPpfU6si5fkB1AjmDabndbrt4ELc+6onTizC1uQ0E8O7duzIajaRcLst8fr5/2/HxsRtsGaFBQ/szzmbnJ2Z897vfdQsFEEav13PHX2mCh7Ll/1YaQJygBHI+MciyXy3Il56oAZqAczyYxKG9wxeTEZp4Jg2+ULW0qqSJgwVNNq2wLWLh6/80QfVZPnRek9Kpw+Tzb9OACWNosqvTjM9JhMciWzp+hIfvmmjyZ64z+h4m3Uljma9Pt0z3uu5YeeYx5rojEsANgMmRbhQYUPL5vNsaAggNkJYCiGeYBGHGg87ekup9yiT/5zBWzTfHa8nsvA0ASBvnI9QYLUWH8w1g8I0OvlcHrldQ5Y6Pj2U2m7kNiEejkdy/f1+63e7SHlyhMH0DLE6zyOVyUq/XnboFEsi+eYCPVFrqDBS0+fx8s2T2D2NHfK7jSdADGvzoBoPB0l52+ihES7HRp9toRQuETivl7G+lzYSaRCAMnW6UFYfP6deO9rpsmHDyO+F4rIUhnA82K+t+Re9Np/sQPG9tTcV553iYFFrpRB50mnTadZ4scPmkgbb0WOoXQyteSaTUF45F2HVd0RPDUHgaVrp02WmlkK/rdPhIuBVGHCMiAdwIeEatZ8HZbNYdE+RT5bLZrDuFgCV0DgfP4DeQIT6OKmmgte7RBMt6zhcOh8edMM++5vO5jMfjC+d58qCExsoDBA802tePZ/ysVjAhjY37asAqLzZ3hXM6iA2fcrHKXlx6YgIF8OTkRNrttlMURMStvOR3rZUbn7LIgM8Wq32aRPF1bWpLGvRR/0Ue+KwifG4/XJetCY41oLHvnf7Nlxe0LX6PmizoMHEvK3TwnWTTrh5gLZKjyYtFXCzC7lOnfCqSVR5M7NhUyGnjcK3+MqRW8W+6/miCr0lKUn+lJy46Tfp5XTf05ME3KfKlkRU7i2xbeeV7rHHGV/6huhgCp0+nzfocTcCRAG4EqEyauImcV+JyuWw+x2QOp1jw8v40igOHpePlOHxx63jSxOl7VscHkso+WBwHh4HOBoOLyMWOBX5UFgFEOFEBvDpwxw/ilMlknMkXqpC1hYTu/H0DLNoCwmAVjhUtVv98HTkGBMvczOnTK0yt8KzByLrPUvI0tOqNzz6Hfgu6/elBnQdqLnNOo/U8t50QAdL/+f3gu8jFTX5LpZKIiNuehqHVSZGLC8kYPjKi02T1jZoYc7+lVUtOTxrwgqW0yltacB/KvrOhemYpu6uSKyDtMzp8vVKYwXUvqR2mTV+o/49jwwNEArghWJ2q9V3Ev4rJNyDyM9xRhXximGRpogWgY+WNlJPyockiqyLWLHSxeOC4DMKAPc8QJzoLkArtS4VBHIqnziMTA05XxOaBdwgTpqVi+IiRHpAtRUDXf5+K6COQWu0RuejQb7k5JA0266oFmpyA4EItRVpZnfPlS0+c8C7wu1W2nHbuC/Q9/N3Xdqy+g9Oiw7LaJBam+ABTs047l4FFXiyFVD/PCyc0+RaRYD0LwSo35J/fEd/jq7cA97X8jC/fVhp9ZaJJsk+dS0p36H0kvR8r39hGCtsZrSqCIIyrIN6vVkQCuCH4lLY0WCwWF5xlEaYVD54RsTe5XeV5LdMnPYfPocbJs9Rut3uhYwV50x0bK32649T+jTzA6878Mu8iwg89u2YSw6Y1LnteIKQHG4Shv/NiDU1aRJYHal1/9aTAqgurkLnQpEgjrdlZ32+RNj2g+0yguh8IkTirrXO+kgg1f/eRotB1KLqWcsfg7Xes/HKerfusCWCIxLEZWZv400wk9bvxWTDSpsdKfxJh9L1b/OYjdDrOUB3ENZ/K7QszLTKZjGxtbS3tE+h7p77ySEP8okDwAJEAbgAWGbHgW5TBz/nIiyY/vnut7777ke5QnL5G51MouNODUsQdC5MBfMZKUpAFlBObUvRM0SKkPLBHArhZaPVHz/pDvlH83aeAcLjrIEQ8LAIXSkeaMKyByVJoACYUvL2MLx6LlFjESZMWhqWko93hWD0evJmQFgqFpWPY2E/XZyLnNAFWPn2LCDgOKz++cGAZgNuAZfLnsrLC1ybtVeLnsPGZ+yRf2VjloMkk6gMWQvGEOg0J15+t+o4TaHwHAeA5WIqsrXl84aclW5hMHh0dXSD2SW3UcvtJijeOD+eIBHBD8DUuXONOwFKpQhVS73XG4VnhW0qeNvEmxcm/YdPdNCQR+ePzTbkz1NtRiDxw6Ocw2dTr2zU+qn0PF3rAs8ADmKW8hSZKWn3Bfda9lpph3WeZ/LSqmHbgSKOQWc/oMmNSpH3drDLG/2KxKPP5gwUrSI825wHax43fGR8RZ6XVit+n9ljE10eQdXgATnXhM3OZGFrhcThcX9KQOG01CfmmAdaqYYaP3KVVnDWZ5HLABuVJCiw/k0aRw7uzTN06/8ViUba2tqTVai2p9Lof1opyEhnjeNKeEKLznNanMSp/y4gEcIMIVVQ9MFoNw3qWiZuPNOqVeAxLOfTFZQ1m1kBpDb564IHSAZMPN2z285vP50sqYSaTcatKtVO87ty1QshlGX1ArhaWwsK/8QDkU6l8Sk2SCmgpeaH7rO1KuL4kmb10mL7Pun1qosODHJMm/qxVGEa/379AjFlZ12nytVNsy2TlhdtgGpKtFUt9r5UXraJiRTnCQTli0VeS/xiTYl8ZaNJo3euLA2GUSiUzLp+anYQ097DFpN/vJ96PZ9ICk3SRZdceS+mez+emD6evnoRIIJfbqiq8D75zxX0TvHWtDa8mRAJ4hUirsCVd1+TPRxRDv6dpZL6ZWrFYNO/Xsy49qI5GI7cCmO8REXcdqiAWFWAFaD6fd87guIY9vbTamTQrjrg8dAec1j8KsAa7dcxtIfNdmhWEmpT4VEOOV9/ne4bLxDfB4kFRh5eklECpse7zXdeDoDUIW8qPL59WnpI+p7nX+g3HwVnh+crMN9jz7yhHXZeS8ovzhRnrWh903Lp+8z1pJjv6GZ1GHxm37uX/AIiitf9jktJokbdQ+1gHbN73mYN1mtMqs69mRAK4AYTImc80a8nmuMY+P/juM3XqTsL334I1YGqCFfIx0p0X0ogtbXgvKn0Prk+nU7cjPs/e0PHzObBsVtZp43KwFMGIzSONWYaR1kzjC4//h+LU5NCKN21aQoql1R40YeT4rUUalqLN1622iMFLl6+OM9QGcL1QKLitp3x5SUIawuhTjEPxcJ/I10LfV5l067h9ipHOw6rw+TwuFg92QFilfiddWwWWIm6B+93LxKUVQn3dupfT4Eu/yHLZhSxXbDm77ogE8CHBMt/6pPPF4sHWLFY4gFb9NBH1dYbWYdzwb7HSJJK8wtFSaHSD5HAtfyg2d/PRXrzflU4TwtHm70j+NgsQ9FVInCY3TPyvCklKY+jaKmH7ntcDvbVQwDdopyFQaQZ8y5eSw+BrTP5WNY+tQj5894XIn/U59F2TBm3KtMhikknYp0pZ1333hibOSeA+XodlLWjR7z5JVV63n/Spavw7wrdU7zR9dVLaGUkqo08Zv+6IBHADCKlzPkKmZyMweeoTApjYWeTPR/r0vUnp910HWbRW3oosNyzsbwYfIz58HfeD8EHN0z4bOg6Yg/lIJyaGAJcZnKYjNg/LXObraPk6SLwGvzdrMLEGjycNvoUdujx8aqVWHa379CISHwnU4fHK+3K5LMPh0Cn1Isun9CSF+7DhM/9qM2DI9JzGlWEVU3iIzGhssgxDC1kuE5/P/JzWrGtZpLht8wrkpDTodKRVfjWiOPAAkQBuGNxRYtWeb/YBwoN7ccA6Vlj5KrVeTMKfLWWOAUKFe3lmHGpEoYZnNah+v7/kSM4mKd5AWMevB0WdfoTHpit0ICDFVplHXB4hIhZyacD/NJvBrhN36BmRRzfb9xE6wCoPH/mzfrPus0yJadRKn2uFL3z+HFIZ05gt1yVCIfO2j7j4wkDf41swlPSsRVKS6l0aNX0dlTWktqZV1axxJKSuWtdFHrwLvSG4rvu+dKUhmT6EyjeOD+eIBHBD0D49bJ7UcjmuMebzufOF07/7ZlaW2mfdx//Zp47TZv3nfGnzLzdYa3Y4HA5dI+dFJCBrTBCgQPAJALh3Pp9LsVhc6jTwDB9kz2m8jK9ZRBghpSPkQuC7HwjVp1AYFnymuTRmoJDyaA1sIeRyuaX99KDy8ypSDTYbpyF8m4Cl6qZZUKPDsEzevriYKG5aSbSIWaiugaDU63UZjUYyGAyWfuPnrEUGGpuacFg+tGlh1Xf0mXqjbf2cFY41doXaj25HmKAXCgXJZrNOadbbf20ScQxIRiSAG4CvgeCwdEsV0b4dWDChTZkcHq5ZvnhW47GUQstXzhp8tRnap8TpNCwW59u/jEYjFw4GP+QPnSiUSKRJ5xfP4hqnHcTQ58MU8fBgmXR49aZl0vWFYV33qSvWAO0La1Uzn9UO0kIrntpUG0Imk1kyxW4SSRMjJmWlUkkKhcLS9ixJ0GrVo5yI6fphfWfMZjPp9XpBVUuHL3I5JWmT6p8vXF6UBCK2Spp992KynrQwRJugh8PhldWLVSdoEZEAbgRMXnwLM3CPNjlYZM9S9xCu5fvH0E7BOn0cpsjFxSd64AvFpQd2/PH2DbrzZNMvtn2xyB+Hh44Qih+A/dT4OWvT7IjLg+uGr1xB/i34SKDPxLPOwGpNwlYNx1IP05imfL/ple1JAyb8Z69igEzbHubzudvCKUmJxP0MTQL1b6ssggCSlDwNS4lKyr9Wxljx44mnla5NYZPkiMcOvSk4K3vWZGrT4PC10LEpWJNBX3mmqQ/XAZEAbgA4igjw+eiBvFmzMF/HZg1I/FlXZJhYsZlyPp+XQqGwlJ7QoMiDVC6XcybjkMmAie18/mCzUDyH/zCBgbghfG361aopFhBoE5NFHiy1MmIzABHXs3oRe788wGdKtcxw8Ift9/veus4Dlw9YkBQiXCEygXrPx7Y9rAHjsttt+Aa9VRZGwXqxKhnxLRSxXDXWwarvwDdxFQn76vkI31VAL7DRZvR1iDLArjMamFCvQsZw36qm2zTuF2mxTr0MqbjXGZEAbgDwb8CAUyqV3HeeiYCMTadTN7u2Gjdm3ai0odWTVuNlMsZkKaSMgZjyQdwisrRgxAdN1nCkE+eZ/f5EHvhH5fN5Uz2F+Zdn30woeTWkVjejD+DVYNPEWtcpvLOkRVBpOm6fEhkKj8MFgbSIqwVLfXxUWKfuhxYOrBKmT/3bxKIPRoi8+d5TmsnDw3h3Vt4v6+8nYk++QvlJeqc+1d5Cks/oquWqSXEoPitOtpRhF4m4M8RFRAK4AUDJElkmTJp08WxMmz0tkmX5FvqInK7wkP1BmEIdCje2UqnkHIWhbEKdsWZQeh8/Pi9Tm2tRNlD9kE6knfeK08oS8oa8JG0dEFXAzcMy3Wmy7eu0tdpnkSv2UwJ0+7kKWIQgtFDD9/zj6nfEbVf7h1mLMtbFqqtV08Iy7aW9H98twnjV70qT51C+fURW3xNSsdbNT5rJPT5jUo+xBe2d26mVTqsMQlYBkYv+6riP78dna9Kv67x+H1fVnzxJiARwA9Ara0XsRsUnY+h7mdjBDMYrzrTvH9+rP4OIaZNLaNaLxofD2CuVyhIBtHz9OF8iD4gwSB5UPuukAYTNaQX5Y8VPL5bJZDJL6qKvY+dwIjYL3aGmUVyZGGr/LEZISfMpOJskXlbYSdATsseJCHK/oU2y+B2wJl4cDp73PbsOfKTGV4ah95GWyKTFpiaRoQV0aa6H7rHqqr7HWlzH8L07X/71pN+XJljGrDToe/mdJym0+j589pFL/WzEA0QCuAEUCgXnZ8fwDSS6krPChk6Yfd4sR2aLEOIPDcFHSvXMyXJ8LhQKF57nTWN1nPDrYxKJ8CC/w+SLe2Ee5jwhHovgcvpAHHmjWpEHG+xGE/DVIslEY5HEy8TFYYpcXKW+KvRAwtd1HCFzoy/sxwWhwd1atcvPoe3pwTWNCVMjVI6+wdoXTlokTUx8ZFbH55t4WEjry70q2QvVQeTD95vOhw5Xl5NFWLU/bpo8WeQwDXS79r1HX9jWu4zkz0YkgBuAVsosJYDlckB3KlxBQYKSOib+DliyvP6vyR+uQcWziBdILg8M+F4oFGSxOF8Fin3PQNSYyPKCDjYDW/nTZczlgnv04htNaCOuBpbpUCtEGj4FwqcCWff6kFZ1S0s2HiefvsvCR9RDi7ssNSVpEE26L0TYVyXZOo2+uJKIaVI++Voobb76op/T6pXuSxm6bfnSnSZvnEb0m+zr7VPPrDKx2toq7803udcrlfl4Ui4DJuRWelmg4MmjXlwVx4lIADcCbuQ+UqbvB7gxgRQxrEquZ3U6XK3QsVSu7+WB1vI3tNJtzSQBLCIBweQ/9n9E42TizHnlPGpyzf5iXE5665uIzcJS4qzffff5SMEqZr1NKEMWfGl4nMy5IuF3YP0WmkCyL1cI2mSv2+IqfZ8PSfdrxTLUB/nC1H3puubkENI8p+O1lGgfuG/na3AVQnihSRhcc/S71xNr1BGEn2YboySgb0ffj/EOi7asE0L4P/LnUyQRPsQFPMdHkIYU0+uGSAA3CD1T0x1UktKARiHywB+HyZtvZsmf0bj4ukX29DX2T/TNrhhWBwyFDx0IE4JiseieQeODnyOu6XRphc8CdxhMnpNm7BHrI436wCReXw+ZkKy6eRlzflJ81udHjbTqjo80pFHGRGRpQgZYFonQxDFtuaXxE/U9Y7kRpCFLvn4sqW+ziG5a6Hu1WV2HaW2thOvWZ61sMVnD5vtpxhzLL1s/l8/npVKpSKVSkcViIe12e2nx3Srkm69hPCiVSlIulyWfz0uv15Ner7fUn7PLUUhR5s8glbVaTer1unMxGg6H0u12pdPpLO1Re93xxC6VfPnll+Uf/aN/JHt7e1KtVuWv//W/Li+++KL7fbFYyMc//nG5ffu2VCoVede73iVf/epXl8IYjUbyoQ99SPb396VWq8mP/MiPyEsvvbRWetAhW4sbAGsWo1U7PZObTCZLe5FpHzyW0fV17iSsZ3wdO/+xgmct2tDp4ePfcARcPp+XUql0YdUvyoBnonrbGlb7uGzwG9ITWjEWcXWwJiehe/mZ0G9Jg7OO30pPKL4nEb68+e5NQtKgqq9Z7ywpHdwPcV8Sgn5mHSSpRL58aITK0WeJAHQ/y/0xQxPjNIsyoHLB/5z3U/WZr5l0WsfBwQWoXC5LpVKRnZ0defrpp+W5556TZ599VnZ2dhyh0nlKC4wFzWZT9vf3pdlsymtf+1p56qmnpNFouF0ouPyQB99YqsukWq1Ks9mUW7duyetf/3p53eteJ7dv35bd3V2pVCpr16lXI55IBfD09FS+//u/X/7O3/k78l//63+Vg4MD+Yu/+AvZ3t5293zqU5+SX/zFX5TPfe5z8sY3vlF+/ud/Xn7oh35Ivva1r8nW1paIiDz//PPyO7/zO/KFL3xB9vb25CMf+Yi8733vkxdffDFReWJosgViIrLsZGuZxEIdiLXhMRMv3KNJWNIgyrNxKxz+8/meYIbIeWQyh1M+RB7473G5YAWvXhmNRRxcPrq8mBxqs5eeIUdsBiFioN+J9Yye8OhwQmqLNjf6THm+QeEqFgRZJklOi8jqe+dpX72HQVqTFK40Cljo96QVwzr8tOoy773KJEH3GdazeIZNhNx3WeZtpC1pCxE9aQYpwcI43j5F51m3H1/4UM9qtZpUq1WpVquyWCzk6OhITk9PL+yjaVlqrHAzmYyUSiXZ3t6Wvb09OTg4kNu3b0uz2ZROpyMiIv1+f2mv2DR1A/GhLOr1urzmNa+Rg4MDmUwmsr297fIwn8+l1+u58Hkc0j6ADOSxWCxKo9GQnZ0duXHjhuzt7bl9d9nl6NUwIdwEnkgC+Au/8AvyzDPPyK/92q+5a6973evc58ViIZ/+9KflYx/7mPzYj/2YiIj8+q//uty8eVM+//nPywc+8AFptVryq7/6q/If/sN/kPe85z0iIvIbv/Eb8swzz8jv/u7vyg//8A+nTk9I6dMzGFazMJvSCz7wv1QqLYXFlRdq2Hw+l3K5fEHZ0zNz3bHy7IoHUK2mLRYLGY1Gslgs3ExTb8/Cne50OnWkbjgcOhUQZI19SKyFBEycddoYbEpmpCHAEeshjUqiB+PQPRZ598EyDSelC75OUDw2RQS5nWLQxOklrGYzSUzjxK+vpSFflsmWP+v3kNakaZlBdVy+9xvKky4HPGdtGWW1+TRpTgLUMqhn6HcGg4EMBoMLiyN0P+UD+s9CoSDlctnVC+xW0O/3pdfrLW1Srq0hOk59HwjUwcGB3LhxQ27fvi1bW1syGAzkL/7iL2Q2m0m73XY7LfCiOV8ZcXssFAqyt7cnzz33nLz+9a+XW7duSaVSkbOzM+l0OnLnzh3p9/tLLkp4VpeRbq8o83q9Ljdv3pS/9Jf+kms3ePcofy2Y6P7cqvNoi7VaTRqNhmxtbUmlUpHZbCb1et2Nv1hcEkWCJ5QA/vZv/7b88A//sPyDf/AP5Mtf/rK85jWvkQ9+8IPyT//pPxURkW9+85ty9+5dee973+ueKZVK8oM/+IPyla98RT7wgQ/Iiy++KJPJZOme27dvy5vf/Gb5yle+YhLA0Wjk/CxERNrttogskzsLlhKCiihy8dQBbpCsholc3NoF9/lMvLqB6EbEHQ8aKBoGZnrj8dh9rtVqznePgc6AZ+bYjoWvsVpklROuowOwiLXVEaCj0zP7iM1B1+OQYpHUFuAHJJK86fK67xIuFMCm1ECt/FWrVSmVSjIYDBLvx/fLIqR66utp7gnB6pf43Ws1ax1fv8Vi4UgLkzIA79LqFzhtVr3Uk+hyuSyNRkMajYZ7d/P5XA4PD+X+/fsyHA6dKwsTeM6bFQcI1NbWluzs7Eij0ZB6vS6ZTEYGg4EcHR25hRS8hZVOo2XZ4LTv7e3Js88+K9/zPd8jzz77rJRKJTk5OZHhcCjHx8cyGo0c+fPF41PRs9msVKtVuXHjhty8eVOazabzA9zb25N6vS4nJydLJFnvxBCyGrHfHxTMQqEg4/F4afxi1c9SdrXVQb9/1FG0fy5fWKbiySBPKAH8xje+IZ/5zGfkwx/+sPybf/Nv5A/+4A/kX/yLfyGlUkl+8id/Uu7evSsiIjdv3lx67ubNm/Ltb39bRETu3r0rxWJRdnZ2LtyD5zU++clPyic+8YkL16Ga6c5Hd4xcSUOzG+07ojtqLWOzemgRRG4kWqHRv/E9IKDFYvGCKYcbGhoplEn+ns1ml47h4bKxBgqQSJ1+PehwRzEajdz5xyB/lo9LxOZgkT/dGYv4iWDa2XcS0Un7/FVhsTh3jseAq03AFvGz6nKISFuTNus+/I7/iEe3vTR58qUBfR3MkCLnqv9oNFpa/W+p+z7wYA8CBXIGC8R8PpfT01MZDocyHo9NQmCBSQLUuXq9Ljdu3JDXvOY1sru7K9lsVnq9nozHY2m3206FTLuamskTTKivec1r5KmnnpL9/X0Zj8dy//59yWQyzrw5Go0ubMNjTY65f81ms1Iul2V7e1sODg6k0WhIrVaT/f19yeVyzocO/TXyEFLnuIy4znA/Px6P5e7duzIej5eIOcJjixFP4LncIASwCR2EHgID7tWrjS2i5pvgoGzH47E7fWo+n8tkMnH1KI3F4brgiSSA8/lcvu/7vk9eeOEFERF561vfKl/96lflM5/5jPzkT/6ku88yISS99NA9H/3oR+XDH/6w+95ut+WZZ565YLoVkSVfOCZUSD8qOBoPDwpMFrlhIgyeUVmqHzdCNDJ02jpcbf7l53O5nJv9YXaOAYB99TDL5K0DeCDQvjMYlPTm2bzqC+nnDon3roKp2Soz34krEZtDGrXb9xze2aokfVV1yVKKVkVSnKxc+dLAYYk8aHu8vRGb0xAu7tXx6e+6H2ATJyZDOJ/belZDqylcDlChoHKVSiUZjUZuhSX7b6Ulf5xXmE8PDg7kNa95jZTLZTk5OZFcLiff+MY35N69e25CuUrdQdnAR+zg4EDe8IY3yM2bN2U2m8nh4aG02205PT11RCENSWfLDBY4wET77LPPyrPPPivj8VhqtZpMp1M5OjpyCmOo3ugyQn1BHIVCQUqlklQqFalWq1Kv15fIDRNY30Rbq2UiDwjUcDiUTCbjyGS/35fj42OnqLFKx+FwmWiA7PX7fTk9PZX79+87X3EsEGQyrYlfqB1iLBqNRtLr9aTT6Ti1cn9/300c2AczKoBPKAF86qmn5K/8lb+ydO17v/d75T/9p/8kIiK3bt0SkXOV76mnnnL33L9/36mCt27dkvF4LKenp0sq4P379+Wd73ynGW+pVHKzXgabaoHFYuE6XVTsUqkks9lMxuOxTCYTR5Z4ZZWegSF8TQR9xI+JHeJicsYkUJujmXxpxZKJqiZcAJ8GgpmjLicMItxxQjkUebAIhBU+bR5n/xPLvMHO1hFXD37nfI1/4+vaLJUmbJHzleWX2YtslUUZ7FaBCUWI0Fh1jSdA+A4VCoM5ygKDrqWq6nisuNCXgJxVKhUpl8uSy+WcabDb7S61G0uxTSqPSqUijUbDrbKs1+vS6/Xk5OTEkWGR876gUChcIPkWoea+oFwuy+7urhwcHMhTTz0lzWZTGo2GFItF6Xa70m63XTnpeoXvunw4Tkxqm82miIjzDRuPx9JoNNwqUT1p1bCIOEzA5XJZarWabG1tyfb2tkwmEzk5OblAcvCc1VYswsnE9+7du/L000/Lzs6OzOdzOTk5kU6n49TRtH6LWumcTCbS7Xal2+3KYrGQZrMp+Xxeut2ua39c5hpaweQ0gABisoC09vt9OTk5kcPDQ+l0OqafKMrNMi9j0gOABJ6enkoul5O7d+/K4eGhU3lD7lrXDU8kAfz+7/9++drXvrZ07c///M/l2WefFRFxzqtf+tKX5K1vfauIiIzHY/nyl78sv/ALvyAiIm9729ukUCjIl770JXn/+98vIiJ37tyRP/3TP5VPfepTK6XH8lfR10FKJpOJcxbnWQ4vrNAmAJ/Cx6RTk0buINk8NR6Pl5zjYe6w/Dg06bMat1Y3OT4AgxwGHzRkqIm6LDkedKx4BmlGeD4TW2zgDx8+QqHrMzYgXiVckXNfQZAoPYmxBrq06h+30Xw+77Ywgq/rYDBwqo0VD+ePXRw4XBC+er0uW1tbUi6X3WRsMpnI2dmZGyBDZm8fWYO6tbW1JQcHB7K/v+/823q9nhSLRbl79650u90l3zArPN3WkZdSqeTUMyxAqFar0u/3JZvNSrvdlnw+v+QnbZUNE2PuK9jE2Wg0nKkT/WalUnHvxedCgjh9ZYhyKpVKMp1OZTAYyM7OjpTLZfdO0BdrkykTTB0+u75A0QIJHAwGSxPX0Pv0EVnu+9AOIGB0Oh351re+5fz/uK9NA6Rb5HycPDs7k29961uyvb0tmUxGarWa3Lt3T87OzqTf7y8tqAoReoTNmE6n0uv15Pj4WI6OjiSTyUi325XDw0M5OjpaCp/L2DI9a2WUVyYPh0M5PT2VQqEgvV5Pzs7OnDqN/idaiZ5QAviv/tW/kne+853ywgsvyPvf/375gz/4A/nsZz8rn/3sZ0XkvAI8//zz8sILL8hzzz0nzz33nLzwwgtSrVblx3/8x0VEpNlsyk/91E/JRz7yEdnb25Pd3V35mZ/5GXnLW97iVgWvAq6cXCnR0WpFD/+5YwiRIZ4l+q7zf8xGET86e56FjkYj57heq9WWBletNlr/9WcoC8gHN0i97Qt3ltzYuVHrbRnYpI1BhskpD2iX3bE+wg+fAoX/Finn70wQROwVhBYwceE9z3iR0qomHdRJVhgrlYrU63Wp1WpSLpdlsVg40yAWq/h8qXxAna7VanLjxg05ODiQZrPpFh/0+33J5/OOZCblw1JVUe61Wk0ODg7k4ODA+Tgj3VBPB4NBsKwtIr9YLNziid3dXXn66aflmWeecas4x+OxvPLKK+7daKU2iYyg7ymXy25rE+4/oQxxXrUPnSYN/G61YoiyyufzMh6P3QI/9NUI27IwhN55Npt1JvFeryeDwUA6nY60Wi3pdrvmBswWmJQhTfP5+c4KZ2dnUi6X5fj4WEREDg8P5Zvf/Ka88sor7t1ak3UGW4q4bKbTqXQ6HXnllVekUChIv9+XSqUid+7ckTt37kin03F58LkjhPKHSc7Z2Zl885vfdJtLn52dSavVcq49PKnLZDLmymDEyc9kMhnp9/syGo3k7OxMstnsko8qix6RAD6hBPDtb3+7/NZv/ZZ89KMflZ/7uZ+T17/+9fLpT39afuInfsLd87M/+7MyGAzkgx/8oJyenso73vEO+eIXv+j2ABQR+aVf+iXJ5/Py/ve/XwaDgbz73e+Wz33ucyvtASjyQL1jJY3NwrxCFcSMV0Cy87RW99gUxZ81AcS9/B0DHA+SIg+2l0FaGDpcJqsiF/fiQ77R6A8ODiSfz0u73V4aaJgA+kyF+EPnyx06K4AYJDGTQ6eD/PFxdBFXC66vcGfg46PG47E7G9rqcPUqdwuo1/Cv2traWmo/7XZber2eiCw7jLPKhPbFaeB6m81m3Qayu7u70mg0pFwuO1WQ85E0yCE8zh+bN2/evCn7+/uuTUBhhP+Zrvscpo984jMWIWxvb0u5XHaLEDqdjhwdHcnJyYlbJaoJDiNJaSwWi87kPJvNpFgsSrlcXjIX+xafaPMk92vaJaXX6zkTdqfTcSRN+xlqaGKIsLHVCMyBvV5P2u223L17V05OTmQymUihUHDvwRemJsnoB2EOv3Pnjqun3W5Xvv3tb8u9e/dkMBhcUEJ9cYhcXLE6mUyk1Wq593ByciInJyfyne98R46OjpYWOnA8FpBPxIu8QJEWEel0Ok7lPTs7c4srkiYQPiDPo9HIrSYuFApu8Y3eRikUDpNYTg9cj/C89hmNvn8P8EQSQBGR973vffK+973P+3smk5GPf/zj8vGPf9x7T7lcll/+5V+WX/7lX75UWrRixlgsFo5k8ayuXC6735kU6jBAiDgOy6yh1Tp8RkcAdQHhwXkYphBuUKzI6Pi0yZjNONiA87vf/a689NJLksvlLuyrhTxDIdAEEL9bR9Ppjs1Sl3AtKoBXB13/+PSA7e1tqVQqjjT1+32nfmh1axVTfSaTcdtT7O3tydbWlvMnqtVqcv/+fbctk1U/NAnkuDGY1ut12d/fdyZI+OxiYAdRW6Vucf2GeXlra0tqtZrbowynF+C0HJ7kWCQBwKCtrQtY6bq9vS3NZlNarZaMx2MZDocXyiSt+oo2O5lMZDwey2AwkG63KyIirVZraQucJPVJA/3idDp1ROPevXtSrVadT9rx8bEjIOzHGPKZ4zJC/wEy+fLLLy/tPffyyy/L3bt33VFh1iTVVy7IA8ybTHDh7/bNb35T7t275447S6pDqJ9639TZbCbdbtct7Nna2nJ5Qtz8Lrm+M9BnW3mETyreKxb9sXmZw8fz/A70rhhWX439BHO5nCOW+h3q8cwaYzlufb+lVIba1HXDE0sAHzdoBc8C+z+hsmMzUsx4eR8+rtBaldPKH8AmWDaVFIvFJVMwO8/CH1D7VnA8euDUhE1EZH9/380YG42Ga4Cj0Ujy+bzbjR0dAognwgax5I6dO1hNAn1+HLojiLg6oA7VajXZ2dmR3d1daTabUigUZDgcOv8wEBBeAAIVD4O6D/P5XIrFotRqNdnb25ObN2/K1taWUyrK5bJT6ETEVCh8kwakHz5uiGN7e1tKpZJMJhOZTqdu7zIQNJ+PVUgdZLLCajeIMtoX+ghW37l9WooaEzk20bVaLel0OtLv95esDdaJFBZ4sAQZg28VFCgoizBxrqOwgOz0ej05PDx0inKlUpF79+7JvXv3pNVqORLC5Y3nuew1IcB1bPXy8ssvy3g8lq2tLRmNRnJ6eiqnp6cyGAxcv7JqPpAH7Pk3HA7l5ZdfltFo5DaBBqELuVHwd0s5B1GGagyl3SKVFvESWV5lq8sI92HlLL5bZArhaXM8wtVjFvfrKCsfUQuZ3Ln98JgasRoiAdwAMPvFqjuR8KyRlTk0DMyuM5mMC0cvpODnRZYVLzY1adIGhQEdG5/JK/KgMeIzd6IMa9GGyPnAUK/XJZfLLe3EDt8MmHJA+JBumB9g5uBy4bQw4ePtdZBH9pXRZRWxOVjEGhOMarUqu7u7zvyI7UHa7bZ0Oh0pl8tLfmF6Jh+alSOOQqHgFgLAYR+q+dHR0ZIqzcBgYYUPMyZII58SUCgUllbQ67ZttXFrYEd6QPQGg4E74zufzzsCBRKIsH2kNRQvfJ9OT08deW21WnJycrJkfuS0JZFv/J9Op85hH4sRisWiU+ewQpdJoK88LGKSyWRkPB5Lq9WSxWLhfCPb7bacnZ05Py70K1Z4obLRZTQej93ElLcJ8aVbQxManhiAlEFp02pemjDx3dovEPU1ScHltpCk+HLZaUEgFAfSZKWfVWqe6OM3Lm+u7yw0WKZ3/u4jkKHyZgJ8nREJ4AYAHzsMRknqE/vNMflj0scEDeCZGlYTz+dzZ35j/xuRB7MyzJIQJwigZapBmiD7AxgcWb1AOkREqtXqEhnFII2Bg2ez6Ah4ixwM8kyMuVMF+eMBiVVJ7lgwSKQ1L0akg69ew1m/Wq261ZRQtdEu4BvIqhM7Y2MD75BPGlRyJmS86auITQZA8nCeqciD+gMVgokAzJy5XM45lK+zrZA2f0GxuX///tLk7P79+9Ltdp0SGvKZZHBe0RbhwD+fz92k7/T0VO7du+dMh3qwTGsSm81mbguW4XDofNFwhBpMzD61SKcd0HlAOrHwA+9DTwxRxquY80CeoIai/0UfY9Vx7UfKadb3s8+eVmytibVP3Qp9136unE5N2jRJte4NQYepzcnW5AR1ntOgFwcx2WNBQ1uzQqQV+8JynbbyxH7G/HscHyIB3AhwPBpvm5IWTNAwQAKaoHFjhuQNIoUGwGSKyRp3YpxGvoYGhU4S5I5VRQzUGKzb7bbcunXLrWLEQAYlEHkaDocXHNwxQwYp1aYdTfzYhM0dsO5osW1ExMMBk3TM6kGuoELx4MkzdnT67KJgQavBiI+3ePAN4CB5VofPKsRwOJROpyONRsMRv16vJ0dHR25BUxKx4UkaK6YgMmdnZ+7oK9Tbo6MjR3o4f2nKHXGxQod2CXM1q468sl6HkwSUE+JCmfC2TEll4gNbIzAx0ISSwwL0dd8ekzoNuq4xSUqj7FoEiifglqk3ifhZQF8dekfWeKOJ4LrQIoAvLfo+6z+3YV9+rGd0/47+w6fWWt+tNhUJYCSAGwFMU5Yjagg8o2JSxtctUjmfn/tEoVLDhw+DCs5X5E4V/+GPpwdjNpvyYJLJZJxTPzo3kD+syrt//77bXwmDOW/MiZ3qMQgBIJrIH6ufPCtHh8EDcBpzRMTmEKrTGLQHg4FUKhW3yrTb7bpD5HkXfp7IoK6HzgOGGgyTMjZjn0wmcnh46LZogWmQ64nPj0rk4iAJ82Mmk3HxWHkIwTcYQWnCiQr9fn9JjYKyto7SiHig0OE/rnO5cL7XAfuN8dm8IcKRlB/rGb2FTIhEct30+QeG4tJhWGnzhaWVLl3XeEzgZ61xwrqG/jSNb2XSe9Vq4Tqw4tATHesdsftH2vptkXIfuUuTzlXivi6IBHADwNE8lv8fzzjZPMx+evjPplEoJvP5XCqVyoWNmkVkyV+J97DCb/p+DEDsOyVy8XB7NDgQOpjvkEcM2PCP6vV6zndR5NwnEoP2bDaTUqnk9vXSO8kjDJAIkF4ohGjgTARZOeLO1Tfbjrg8fB0nE4+zszNnSq1Wq9JqtdwO/JqEQPFlU1Ao7vl87hYITCYTabfbslgs5OjoSE5PTx2hCqkBSaoDb7B7cnLitslg9SyNaVbEXoSAAbzb7Tp1i/cwSyqHpPhEHihbPrPXZRUhAP0AT9quCqG2HFLrdF9rqXgifrUsyTxrqdr6XiYxun/yKdLaFy80qeD0a6IZMo/7iJovH1b8SdesNIWgFb7QfewbaU2a9NimTfaRCJ4jEsANACt5ReRCAxS5uJqXoYkg7tckjFU6KGZs5sWRT/P53GuKxkkEfOoIpxXX0aCwYz7vjr9YLNweWtjmBaa46XS6RN7gWF0oFGR3d1darZaILK/SZAWBOzRWcXjVtHYa5muM6OD7cIByHgwGcnZ25uoN/PNarZbbKJgVAN8AxGDfTkxesFKUN1HGVkNJDvzafMXfQWb0tkWhDWhDCo5vsEcafeGuCx2fr/6nNSX6ygkLwdB/rOpqkc1m3UTQUspWgaWWoR/hPlTErhNJ/mwIM5Q2Jo9MNnhyGlKh0yimWh3XypiPIK5SnqE8WuFrZTNExH0Tcx/hS0swsVE7Jn8M/V4ibEQCuAHwwgtfQ8J1bZZlPz9cA9GD4sZ+fAB3wvP53Dm6Q7Hj5xB2JnN+GgHi5etMJAeDgXznO9+R4XAozz77rPPxExG3rQS23phOp+7UBGyxwHlDerBQBXuHab8QKBdYUMDOvZoAauLHnX7E1cLqULFvGLsTgFDxBsoicuHdhaAnCYiLfUfZl8tnDvKl3yJ1vHJd+/ytq4TogVDn3ZfmVVTsNO4n8DWG6Ta0aEATE/6Oe6yFVhYh4mfy+bxsb29Lp9NxZu8kFS9E4iyFV5M/X7j8DP/OfUkSedD36f/Y+1GffiPiJ9yrIEnFxG++hRQ6nLR9qK7TaZ9jK5UOKwSLJPZ6PUe0gTSkPo4TDxAJ4AbA26PoAZJng6ziWcA9UBRB8FidswYhJqDa/45noD55H0QN6cPeT4vFuYnt5s2bkslk3A76IssnmORyOdna2nLkD6uAx+OxbG9vS61Wc8oQDojn/GJAhOlKEz7fSi9u/Lh+laao6wzUQZA7vcUCFgXwCQ3cDtKQM8A3a0cd0KrTqu9d38vPp9l8WcRvHvSpHdocyL+nNQf64LMuWOFZ8Vimz5BiZq2y1+XFRAjWCtSbdrvt3Dusd5dW0UrzfZ3BPkmN8t2v3xdPgNkHTpNP6+zhtFjF7y90bxIxTPucpbInhWcR1DQkkfuYtPmM5G8ZkQBuAJhZ+8y5aaBnnTyDREeiw2V/Hz57GL/rmTMTPVyzZv61Ws052u/v78t8PnfqXiaTcasY4RfVbrdlOp1KvV6XRqMhnU7HnXhQr9dlPp/LYDCQarW6RIAxAMBkBdWICSE6Ti4TnqWnnalHXA56QRJ39HgfoVW8oXABnzLHYAXBmmitMwng+61n9aDuQ5KSl0al88XLpkhtPk8bHtoxf+f/HFeSv+Qq0BMGfSKJz9yM76FwNZLqAE/I00C7yej35yOn/M715tU6DBBEPWHisFiRTvO+fYR8VVjvgkmaJXgkxavN6lZ9s5RpkYs+rWnge9dxzIgEcCPADA7QHQTMJXwfV2g2w2I7Fd4/jZVAPIv9skajkVSrVdna2nL3ahOI3h6Dw2KAjJVKJXnDG97gTMvsf5XNZpe2k8ApEIVCwRFIkLZ6vS6j0ciR00ajceHsYV4sgsbNJj2eOevy5QGR87CqOSMiGagzTNr5t3VhDdYWwbMGCWuQ34QCHMrPZV0NtJ9rkkUgTbqS7sPvIPB6Nba+/yoGxrRhhgiEJsG4ZhEQS0nSSpPvN44P4MnmKqogn7XLhIffCW//I7Lc1nC/nnAx+P1dJanZFKnEGMMTxtCEA1ukZbNZ05TuA/uEiqyvCL+aEQngBqDJGYM7K/i4Wb+Px2O3mTPvu2d1DNlsdmmzWKgiUAt1R6VVP4RlmUzQIEulkmQyGXfkUDabXdromk1A8Dk8PDx0hLBarbrNoGG229nZkXK57Bz4OV/ccbMCqFUmjVUUg4jLgf0vNznQWEQP71Grc0kEYRNgcsRI4wOYNmzU/7RhaAVcm5Et07SeCMI9BH64qxCaVRHyv1vlGQarvHwt6Rnf96S6hJON+JjBJCSZpfU1Pt1IxO6Xk5R1nxqcpEhb48GqKnUSYJ3SvrpJvp38vIhIpVJxJ/Ok7X+S7oljRSSAGwFmJ5ht8AwP14rFovvNUv9KpZIjfloFg7LGfoDFYtHt94ej47SPoO5oWBnzzfrh64X/OI8TDQ+/4VzXXC4n3W5X6vW6I4g4ZJ07N5DEra0t6ff7brNm3kbC6pD1QKlVDI3LKjQRNpgsXJb8hZy0te8YnxeskWQ2EhE3aDCBCqXDWhjB332+SKHBxCIFaQYfyzcqTdiawOI/3DZWIZ5JqmNaVTINfG4rfP1hme3QB/vO2E2DkG8nfufv+nNSWCGypsNMIoZcVy5D/izz9tbWlnQ6nSW1D5uIpwlPRNwenL7N3n3xcxgicXzQiARwAwBZ0iYD9gkE+ePf2BzMCiJMvDCxgjwygSwUClKr1dwgwce7aZVBRC74BurOVg/sIJxYNYgBWJ/sADWQj3XjhSK8hUwmk3HKIPYOtAZCKJGcHj0A+AYxa5VZxOWxKUVA5PL+SKuoPmib1iBuhbOqP1PotzSO/ZaCbRHZVWG1jXWIjKUuaQITMrFZfU3SAM7PWSpl2ucvizRb9YTeEfpshJFmYYMPSUpiCD7yt8k27QsT2zbpurdKH7BYnJ8Ko+tEmvh9IkHEOSIB3AA0wePGjk6AlUGcmsHPonKDdMFMCuUMsyc+kQMmX94QmhsJrludKpO+wWCwdBC9Pje4UCi4o6oQDpPOcrnsSCHUST4TlvMwnU7l7Oxs6egry3StO17LLOdTXlZxlo5IB5gPk0xhmyz3+Tx8QkgapHkebXFdpcdC2lWdFsn0+aldBVZRRELkwRfGumpL6Lk0YfrUxFWxzmSFJ+WWYh4yfa7zzi3S7YsjTRms24atOr+J/S5RJmxVWxdR/VtGJIAbAEgYf4eJcjqduv35AG2qFXkwe4ZZFUe9cWPmTVgRjrWCkX0DtdKIa6yydbtd5xeERRpYzDGfn5/1iXN8+XSQUqkki8ViydF5NBpJNpuVarW6RGpBAnd2duTw8NCdsoD0QnFE2jX5E1lW99iX0jfYxsa+WYDos7IMpPE90tDk46r8kELIZrOyu7sr8/lcTk5ONmZivOyAp79bq1tDSqE2aftIRRo/LB9W8Ym0TJJplcEkM2cakyCbxn0AaeMVuUlEPvTbOueRr0L+LPKuJ/tpn9MIhbNqu1ynLVjj2rrgPPDnh+VO8DgjEsANAOSFKxkUL6vjsfxa+Lu1LxQraVZHxmQQRI9XQGUyGbdNDKcJpAr+FSB+o9HIkVecCII4crmclMtlaTabksmcLxS5c+eO9Pt9Fx82i8ZfsViUwWAgmUzGKYO8uk2roNbCFc4frx62ENW/zQLbDZXL5SW12DLRrQsd1sMggfP5+Wki+PywkZZgWObvJP9A/Zwmg2w9WFX9ZPcWa0KQBEuh498Qh64T2uxshamtBRb55GMpcS3JJWAVhJ7b1MQ0iXD7iF5S/FbZpmmHnGfUq0dNsri+6HoVXYUiAdwI2IwL8HfedsHqtLkz1fsJIhyYYlm5w/J4dOTcoYKA6g4zk8nIeDx2RA6+hFiUAZI5Go2cElcsFuX27duOsIEo4lSRWq0muVxO/vzP/1wWi/MFH5lMRk5OTmQ0Gkm/33cbTOdyObcdTGgLDCbFbAIHKUTnjfTosozYLEajkZyenroV6Hoj4HUVJEsBtO4TWd4vbd33nMlk3Ap3AOr3w8ZlB6BVB1dNIovFolQqFZnPz89Z1mUfUg6ZNK367tmcF6pDacmLRfD057RIu9p3VfBkV+RqVq/rMWhdaKKUpMhbv61zFKdvMmQthkrrYsFpjLiISAA3AFaseBCbTqfS6XSk2+1KqVSSRqPhtkXho8/Yr4/Jn8iDwQ8EcDqdOiKpTcG8yASrijFggvBB9cNz+XxeqtWqLBbnW7VkMhm3srhUKjnVEOoPm4+5I280GlKr1WQ4HDp1D3kdj8fSaDRkd3dXCoWCnJycSKPRkFar5WbimJFZnQw3dgw6rBpaiA1+szg+Ppbj4+OVfMYeRxSLRXnd6173yCcKvOI/DVYd8NKEl+Zd+szMrM6vU5Zp8p40IdCTB999GjyBTEMSQwt10kIvLroq9YnHDShwvjL0lZ91PVRG67Yly9fVKhd9je+13gvGtfl8vuS3HnERkQBuAEyEUDmh0mEPqcVi4RQzOLf3+32p1+tOMfMtHMF/EEWEge/WFjDcSWrFBM7J+B3kq1AouDOFF4uFVCqVpTwhntFo5Egefs9ms24z6q2tLTk5OXGkEYtaoOSNx2NpNpty//79pXNikRc9e4RiyXlLUo5ig78aPMnk73FBLpeTZrMpt2/flm984xvOBB3Cpk1pGByxHYduc6xYJZGVVf0I0yq4vvBCxGWVdr+ui4F+F5a507L0oCw3qfjpPMzn8yV3JB9C5P2q+k4mbFy39HURP0n2kcFQnAgv4iIiAdwgmLiBVGEfPeuoNjRemDk1AWQTMEymbCJGWNqUillfr9eT09NTmc1m0mg0pNFouC1lptOpW9wBVRFpLRaLbgUyCBvSDJOr3vYmm81KqVSSw8NDOTw8dOSPF6IUi0WZzWbS7/elXC5LpVJZ2pSWTdd6dscmdN2YN62ORLz64TMVhhSnpHDSXAe2trbkDW94gxweHqYigOsgafALbaprERffYhTtq5sGae5fVW3W5Z00MUxLdJL6FiuNSWSPx4lQGi1/SN+97HIUwlUQPF0vQmUWUvvwbIjYaeJr+YmzTyvXWw4jigSRAG4EUK5EHswGQdS2t7edggUiCP+5YrFoHvfG5s1MJrN0j8iDFbDaTIzOBLP74XAoo9FIJpOJO9uXKz7uQwOBAojfEUan05FcLudW9mKFsh4k5vO5nJ2dSafTkWq1Kjs7O25l73g8dg231+vJ/v6+NJtNOT4+XtqnDSTPN8vXHQtIqV5IE5WqCB98KkmS4sSDcJJpLDS4zGYz6XQ68vLLL196m5sQ0kyKkkybeiC2BufLkrkQUfMN9j6yl4YobRqa7KUx96ZN4yqE1bKKMNHUz8NMuoobQtrfffemua4XVCbdb/X5FinU6mIkgJEAbgQgT9phFkcJgVQxYSuVShcWQmi/NoQDFc3azBnPMQmaTqfOvxAmWN42hQkg+w+yyoiOAXsEYhUy0g5SizRMJhOZTCaSz+elXq9LvV4XkfPBjo+Qy+fzcuvWLdnf33eDIMghkM/nE3d8Z19ATYQRb0REWqQhMb4BxlISk9BqteRP/uRPlrYKeRyU7FXScBW+bD5VjH+37rfuWdfEGwLn11dOSWZMgNOXJp1pFFEfYeTxB2nz+XcmhX9Vk+x11Fnr+aQFK0kK5HVCJIAbgDaHQvVaLBbuKCue0YAIsd8g++LhGit+esaDhRm6EbI5FyqjiLjNmVltQzpxf6FQWCJr7PuHhSEgs9gWZj4/3yew1WpJv9+XYrEojUZD6vW6i282m8loNJJisej2XBsOhzKdTqVer0uv11vynYQJGotNfLAGC6QptMI44nqD6zU7yacZ2NY1FWtY57s+avKXxhmf/fdWHUAtfz2furrKApN1VNh1sK7/mQVfHpPSvG6e9CTZ1z/61LQkc/o60ESNd7LA7zpOi1TrdpO2zjzq9vY4IBLADQC+fkzomGQBVmXmMPgaK3OZTMY5bON4tWazubSScDwey9nZmfT7fclms46AVavVJTI5mUyWFEsobTBH6w2WC4WCWyWMuHAcXCaTcaog1MNqterUv7OzM/dcoVCQXq/nSCvyUq1WneIIszLKM2lvMnRKFkmM8n5ECJj08HnVaeFzT8BvT3LdS1Kt2HTmI8Gh8tHXQ4qV9UxIodxEuV9WFfK5CaT130uTrlWJC7+zpHiwRdJwOLxQlzddrzX5w7GnsGJBpWQiyETW57/qa4N6scmT3E43hUgANwCoeiyPa1VQZLlisvmS/1CpWYEDYTo6OpJutyvVatUtokBYg8FADg8PpdPpiIjI/v6+3Lp1a2nzZzQqNvPCtxCKIsBKAJ7HopHBYCDdbldyuZxUKhUplUpSLBalXq9Lv993YWOPMRDGyWQig8FAxuOxFAoFOTg4kOl0KpVKxZmB9R6HvnNcueyRTj4/OPoARiSBT3wQSe9w7/OpSiJ/V7UicVXTccj5Pg3Sti3tf5a02EETS4tMFYtFd/Z4CGnzmJbwaSKU1hSLU50mk8nSXqZWHcKEHoRHl48vzXrxhf59FTMzrD28O4MOJwSrPJPqFfu/I+9M7kL+oVbdt8oW4yuLDdEEHAngRuDzPQChszpBrVzxzEbP2BaL8730MCsD0UHFxzYOCHs6nUq3273QGWQyGRmNRpLJZNyCFBxTx3HChxANhld4gSQiPb1eTyqVitRqNWk2m66j29racmZibHmD7XAKhYI0m01nDj48PJRWq+X2IRyPx45YIry0gw6bkiMifGD122eKCylZPoUqDa7C128T5JLTZZGPJBO5j2ikISBplUC9UbNvEPfFlWbQ9/XnSWpYmnrEv+uxwiI0SWQzk1k+BIDzx2NNKN0MLBzUaeCw09YxpH2V53h/RvxfZSENrnM+MYbxWHZVG34/aYgEcANgcxITKasxijxY7DEej6XVarkzcuv1+hIR1MvXS6WSbG1tSaVSWfLHEzk/p7XRaEipVJLpdCq1Ws2t/EV4IHAwA4PMsdI4nU6l1+tJq9WSbPb8nNRarebuL5VKLj3w40PjqtVqznyws7Pj4q5UKpLJnK+IHo1G0ul0pFaryXQ6le3tbdnZ2ZGTk5MLB4djEQvPnjV058aLYSIifEhj2tq0iWgTpI8nY6Hf+XsSNBHR10L3r3vPKuqLtY2HT+WyvvsUN/yWJgyrjPgzXGJ0v8NHbOo9Ti2Vz9rlAPHrRX9QzWC9wT3sX5rWlxL3WYvveAEfxiX+01hVLc1mz7cQwzgxmUxkOBx6V1OHwmPiiLLBYQeVSkWy2axMJhPp9XorH3/4akQkgBsAZjmWkzDMmnqBx3g8ltFo5EyptVrtwj0gaCA0lUpFdnd3XWUuFAruXlR8zN6YIDIpbTQaTjEEaV0sFs4hXuR8lt3tdiWfz8vW1paIPDBPYDVwpVKR2WzmSFulUpHpdCq5XE6efvppdwrKYrFw5wbDT/HmzZvO12Qymcju7q7cuXPHmR3QycB8wrK9iN0x4/7pdLpEjCMiHgdcRvVLWnygLQxJqlgSKUgiV2nC8IWXhhxoa0loYYqVBk32QgQffY0Oy0cyLLceXE9jMvWprCA4PjeCkAmYxQIOdxN9IMa1YrEo1WrVmbOHw6EMBgOXdh+YtFrAJB8nRZVKJen3+3J6eirdbleGw6H53n11RxP1QqEg9XpddnZ2pNlsSqFQkOFwKEdHR0sr8K8rIgHcEEBAuLPiBgmzLRZzgIBtb2+7BibygEyyOXYymUixWJTt7W1pNpuO3PH9mEXxucP8hzTxIgttcuBwcL4v4sEsE88irvF4LLPZTMrlshwdHclisXArjjHbKpfL0u125ezsTIrFottGZjQaSavVcuFz2c1mM+efWCwWl/YR1PD5GEVEWFhnYFzFjOVz2Ee71koPt0tui74tjixYpmyfuhUiYXoia6lvadKDsKxnrLRoc+Wqi3LSmOh9sNTCpPt96bSURlbreMKqwcoepycpzSLiNvDPZM7dfLDBv88akrY+YzwAQdva2pLZbCZHR0dycnLixrKQeslh6XqPXSNu3rwpTz31lDQaDRkMBvLKK6/I3bt35fT01Lk++co6lPZKpSI7Ozty+/ZtOTg4kGKxKN1uV7LZ7JVtwP4kIRLADQCEBZ8hPYucN7BOp+MWOpycnMjp6amIiDN//n/tvXuQZVd1Hv7d7r7vvn37NT09PTPSDIoUuSRZRnIQIv4BwUagshApUpaxKEXEhMjBYFSIGChCgCobjFIlUxVMIIlsFAOW/wEqKVKKpQrIUBIGCQmQkGUwI42kmenu6e77fnbf8/uj69u9zup9zr0905Km566vqqu7z2O/zjl7f/tba689OjqK5eVlnD59Gvv370exWASwaWKtVCpOcSsWi25Vr1x1zHy0Pwg/GponaErlil1ex7KSlNKUTNl/fX09FLOQihzTpK9euVx2waKZJ5XFdruNbDaLQqGAIAhQqVSwvr6O2dlZLC0thQJd07RA00k6nXbm5rjOWToNWxgYw25AKza+gdNH1rR6xeNUyqN82eT18h0exITnGxAHNXXHmZRlHeUx/T9xJkqnLns/Jc53TxSiyJqcKGty7ks7zgQp+x7Zzpw4M5g/sGlhYV/sc22hb3a9XvfmJ4k0F+LNzMxgenoaiUQCa2trKJfLqNVq6Ha7kSTQp3zqcqRSKRQKBczPz+Pw4cOYm5tDEAQ4fvw4jh07hsXFRbTbbbc7lH6GeoySbcm+fWpqCocOHcKhQ4cwOTmJjY0N5PN5t4CQwon2BY9TX6Vb0szMDGZnZ52b1cTEBDqdDpaWlrbVedhgBHAXwKDOGxsbTlYmYep2u/jRj36Ew4cPY2xsDGtra046z2azmJ2ddatlgc0touQK3Xw+737Th0EGhAbCq5BlJ8XOjKtvl5eXncl1amoK6XR6m2rATmV8fDzUCUsfE2DLjM0PjTNOLi5pNptuBkazbLFYRCKRQLlcRiKRwMTEBCYnJxEEm/skl0ol56BLXxYqg4wN6DMFy1k3zSh6Jm0wEPI78Q302veIv6P8e+X/UeY3uUDLVx593SDETaex00ULuuz9EOWHF6X0+QhdlHkzqqza304SLU0G4kynccSYZkiGxpJbZLIfijPDRxEpRjLI5/OYmJhwobuq1SrK5TKq1ap3tS3jprLcvjbnO5zNZrFv3z4cPnwYhw8fRjabxenTp3H8+HEcP34c1Wp1m2+1j9T7wAnLzMwMLrjgAlx66aWYm5tDr9dDsVh05SyVSs71yKemRplqufXoxMQE9u3bh9nZWUxMTDhfyZWVFayurjp/vahJQVQdaALmD6NK8H8TCYwA7goYv4gEkCSGSlgmk8FPf/pT/Mqv/IojeIlEAuPj40in00in05ibm3PpcaCRcfzS6bQjQ9JvRZuMtCmIhK7VarkZYS6XQ6fTcSqfHNRIMEn6ZEfb6/VQqVQwPj7uSKrcSg6A60RZR8YX7Ha7KJVKqNfryOfzALaIMzuBxcXFUKcrVzezbLKO/NGmlZGREXPwNQwM/c1oZ32gf1Bf39+EJCecIMapcWcCH3HciZ9e3MISiSh/PumSIklLPxOdj9Dpb5r9K/PodDrO9WQQk21cGai20UcskUig0WhgZWUFzWYT7XZ722QyivzpdKnO7du3D3Nzc9i3bx/y+TwqlQpOnDiBF154ASsrK9vCEXHSDmx/dnQ1YrsUCgUsLCzgoosuwpEjRzA+Po5SqeTcbHq9XohAyXeC/WpcHWhCPXLkCI4cOYLZ2Vl0u12Mjo46My3NwLoeUZAElP2/tHIlk0mUy2U35ul2kIJHPwWY5aHiSvV10Pf9fIcRwF3C6Ogo6vW6m2l0Oh00m03U63VMTU3hhRdewNraGi688EIXioVOtdL0QDDAMj+S0dFRtNttt6iCkERI+/5J4qY7a3ZqVMwkyeI9DPXCToRqH026o6OjKJfL6HQ6yGQyCILAzVwBIJfLOVLcbDadOZt+jRMTE07lm5iYcPGn9ODr8//gcflbElkSSYPBhyiVyme6ldcDcO4XJCCasEThbH3V4tL1YVDSolVO/bfvf+bLPoRqF2P09TMvDjL4kkRxkUAul8Po6GiIoO00iLdEIpFwge4ZNzWTyaBarSKVSmF1dRXlcjmkoElTsQ+6D2baR48excGDBzE+Po5qter6OobS2kl/xck5zacLCwu49NJL8YpXvAKjo6NYXV1Fu93G0tISVldXnfuMTmOQ9slmszhw4AAuuOAC1z7c8UkutvNZXHzjGhD2KyUpq1arTnXl4kT+z7Rkur73VJNojmH1eh2VSsVZp06fPo3FxcUXdR/uvQIjgLsAvujVahVTU1OO1DFESiqVwsUXX4xcLufkZwDbghzLFbDcV1cujtAdDz8idjpc4cRFGVIBTKfTyGQybjUXY/QxP925MRxMq9VypuuRkRHMzs46n49MJoONjQ1UKhW0220X1oY+kfyQK5UKUqkUstks1tbWMDU1hUKh4OL+5XI5TE5OIplMegch1lESPp8/j2wjm90Z+iHKJyzqf6lIJRIJN4AMOnDHmTklIY0zaUUNqvo6YOv7YZ/D75Ikzed/5jN/6/+lgkOCNj4+7iZ81WrV7fQThShTrjQVk4BMT0+7/cNHR0ddX7S8vBwiN/2IsLaMMKzWgQMHcOTIEVxwwQXO33h+fh5PPfUUAKBWq7lJO/tjKnRaQZPPlQv3JIFiwPxSqYTTp0+jVCq58vtIWpQfoiSvMzMzmJmZwdraGp577jnMzMwgn8+7UGB8Tnqs0RP+KMhdoigYVCqVEGnTBFb21T6VkWNOu912sQe5SLDX62FxcdGZlmU7SEsP048i5FxwWalUkMvl0Gg00Ov18Mwzz+D48eOoVCqRdR4WGAHcBfAD484bnKHwd7fbxeTkZMi0Kl9kSXp8fn28hyuF+THrj4AzKhnImffm83kXeJnKo+zItYo4OjqKyclJlz+VzVQqhUaj4T76VqvlfGa63a4jj+yYqZYsLS2h1+thYWHBrRAmkaQJQMez0m1DRPmCsOwWBNowCOKUHJ+iR/8hquBx1w4C6QjPxVJSQYtSTnivXJwiv1tOpLjgq1gsYmJiwu2iUa1WUalUvMqQLFs/cx6V+9nZWczOzmJychK9Xg8rKytYXFzEysqKm5AS/czS8nwmk8H09DQOHz6MI0eOYN++fRgbG8Py8rJrK64S9bWXbBvfcx4dHXUm1AsuuAAHDx5ENptFu91GOp3G4uIilpeXXT/V6/WcGTru3ZHxVem/zfitTGd8fNwtDKFySlU5DnwHqJzR965SqeDHP/4xfvzjH+Oqq65yvnosj35H5Xgj201OetiXN5tNlMtlnD59GqlUCpVKxZFXtk1Uu8e108bGBlqtFsrlMlZXV9Hr9XD69Gmsr6/jxIkTjuBHLWKRJNP37Hu9nksfgNsmdXFxEbVazVYBwwjgroAvIpU9YEumTqfTbuYkQ6nomS6wpQDSh47Xs7PjRytNT1oRZCdD4sXOTM4GfWRT+lqwrHKnhNnZWVcOEtmxsTE3819aWsLU1JTzLySplIFQ+WH3ej1MTEy4cjCcgF4JzLqyvWTH5HMElkRxEN8gg0G+U3qQpFmTEy++k3oVb9x7FjcIcoUlzZtBELjFAZxkxZnPfPXgRJH9hVzBWSgU0Gq1cOrUKZw8eRKnT59Gs9mMNNPFgX3b5OQkDh48iLm5OczMzAAAxsfHnesHCc9OzbQkT8ViEfv37w8pgKOjoyiVSm7rS+nMP4gPmq5DoVDA+Pg48vm8mxyXy2WMjY2FXHGkz3McGCxf9n+ciGcyGUe8aTWR7eN7trpP5G+aTknG9u3bh0suuQQTExOo1WpOuYwzk/vIuZxIt1otrKys4NixY055bbVaePbZZx3Bl65GOi19XKPb7bqoGNzGlKStWq26tpLihM4jKn0+r3q97nzQgyAIrcIedhgB3AVIBQ4Ix9LiBy3VLb2KF8C2TkATQz375P16UYQ0EfCHcY9yuZxLg2XSfnQyfSAcGV7Xr9PpIJ/PO5+TAwcOuA6u0Wg4Hx3mTUJ68uRJZ96hQzf3OKbCyPw6nU7IwVyW0UcCWeez8Q0yDAc0+ZPgYF0sFt0OBdxisV6vhyZwQHRctSifPzrw79u3D/v27XNq++nTp7G8vIzl5WXUarVIEhiFjY0Np3TkcjlMT09jbm4OBw4cwOTkpFup3+tt7h9Of1xJPOLUP9aTk7+ZmRnMzc3h4MGDmJiYcNetrKygUqmgVqtt27rS5zeplcFEIuFCUnEF7fj4uIuswK0ipTXFh7g+QObJPoYWFAY65oIBTb7iwD5LhsdaWlpykwmaf8vlsrOcULHVZe6noFUqFTz//PNuK859+/ah0WjghRdewNLSkrPQSNGAiKqLbM9Wq4Xnn38ejUbDhfjqdDpYW1tzE3dafmS79nNT4HVy29JKpeJIm1ysMWjb+75jjiFSzJBWsmGHEcBdAMkfZ4q6M2NAZZ6P82uTvnMcdOgrp/30mD5n25ytBsFmKIP19XVUKhWsrKwgmUziwIEDbmcPYLvpV5o5aIpi3hsbG05K50rmarWKTCbjwrpw1Rh9INlBV6tVlEol98G1Wi0sLy8jk8mEwiCw3r4tk6IIKs+zPgbDoODCo5WVldD3xEUNDFA7NTXllI9KpYLl5WWsrq4C2FJQ4gZq33m5gnNhYcHt0EN3CE6MdkI8aBoE4Hx95+bmcPjwYRw4cAD5fN6RvbW1NSwuLqJerzvyIb+fKBLIPmh0dNT57tLEzNBRzWbThVXh1pQ0NUeZG3Vb6X5MKmnsW6jQ0iQ/CIGVYL9JfzYG2K/Vajh58qTbnzxKaYp65iQxQRCgXq/jxIkTGBkZQa1WAwCcPHkSp06dwsrKijPhRk3E494pKnQnTpxw8VgZNF8GapbEO6pdourRbDaxsrLidqxiGvTdk+qcLLP235Z1kukDcCqdnAxwLPLdF1d2/U5F+R4aNmEEcJegffZIvmq1GlKpFGZnZ53fXdQHQX8QEi5GdGdMPe6wIZfHS+LJDpymgXq9jkajgXK5HCJbvmDR/Njr9TpyuZxT8uiDsbGxgVKp5Gb+XOVMUxUXdtCJl50fCS1Nw1wlXK/X3cfKhSYMnSNN1HLgIMn0DbpG/gw7hQ7GLFWpZDKJ6elpHDhwwJk2AThzFVe2cxAcRE2QBDOdTqNYLGJqaspt70izLX2hGCx90I3r5fdBBZDEjISJ50ic6JIiSQIRZY7UyindO7rdLjqdTmjyyHt0vyfb3Pd/r7e5EK5arTq1iRYEWhGq1WooAD/LFueTpvNqNBpYXV3Fs88+60yctVoNL7zwAkqlkjdOn24PlldbgsrlMprNppvIc/sxEk5udRZFSqLUOikCdDodVCoVdDod169vbGy4d1Mqf4MQH02e+Dy5JZskbT6fxTgfVR9Yd/bvsu6S0PsIcj/I56EnHmYd2sSeJIDr6+v4xCc+ga985Ss4deoUDhw4gHe+8534j//xP4bIwyc/+Un8t//237C2toZrrrkGf/Znf4bLLrvMpdNut/HBD34Qf/VXf4Vms4lf//Vfx+c//3kcOnRoR+XxmXK568fq6qpbkcUYefrD4MydHwHT6Ha77odkiLty6BW8mnySvAGbAaczmUxoBsd7aC6iqUL6HnEJvfQ/zGaz7trTp08DgAvpwoFAps+6j4yMoFqtIpfLAdh0yGXaNFE0Go2QuZdqoOyEfSTQ9xwMhjhw8KcPnHyPEomEm2wxRiW/Ry6mkNsi9lMVfBM+Bh9mSCcu2GBAdDmhkT5oUaDPHBdX8T76JZNINptNRw7ol6bz0mWWkK4jrVYLq6urmJycdH6HVJ9KpRIajUbIjOdLM4qYUWXiFpInTpxwhHhpaQnPPfec82/TZvJ+bcX8qDxxNwvpN02SRvOhTo/vjJ6Iy3bi5JVEkgSc4V/k7hZxfVccOZTRGrSC5lvgo/Oh+VsreTwnCZp8T6Le+UHVNW0li7tvp4qdVgT1Md9kZ1ixJwngZz7zGXzhC1/APffcg8suuwyPPPII/s2/+TcoFot4//vfDwC48847cdddd+FLX/oSLrnkEvzRH/0R3vjGN+Lpp592ZtDbb78d//t//2/ce++9mJmZwR133IEbbrgBjz766I6ihEtfPIIdnl5qz45DfmyNRsP5QdC3RS74qNfrqNfrbucQ3UlLYsffDPw5MTHhlDmZriwfO3OqjRwAueCDv4vFIgqFgjNftFot5HI5NJtNVwaSXA6OicTmzh80QzNUBH1HZBgBElcdC1B+sOx0OauWz0BeYzBEwaeGSGULCO99DYTNkgCcSXIQvyQN7QrSbred+wZJlFT2o1QtnSYnf8xTrs7nxI4x9OTuDRzcB/Gblf0H9/LmRJCTtdOnT7vVuZKgRZFAWX7Zbuvr6yiXyzh58iQajYYLaF8ul11/JSfHkqSwbbWVQD4vTjp7vZ4zQbLvlKZnlkeTFv23Bi0n3AZzZGQEpVIptABhJ+pcVB4sq8Qgipk0s+v7tJtRP5Uyyi0n6vp+9/OcLkdUmlETlzhzsGGPEsCHH34Yb33rW/Gbv/mbAIAjR47gr/7qr/DII48A2HwJPvvZz+KjH/0o3va2twEA7rnnHuzfvx9f/epXcdttt6FcLuPuu+/GX/7lX+I3fuM3AABf/vKXcfjwYTzwwAN405veNHB56EsiHZg3NjZcoE6uwJW+bvLeUqmEU6dOIQgCTE9PY2Zmxu0Qwo6u0WhgY2MDk5OTLg+ZnySg3GInmUxifHzc7dzBcsnZIT8wxgrs9XpuW7ter+fiPzUaDUcU+ZFx9RzJqQTLzNVcwKZfEgcFDiA67IU2ubBs9ImUi2kAbDO/mSnYcCaQA4h0paCbAwOYy+C0gyoIUYNXp9MJBdUluekX2iQKVNuAsLpFf8ZEIuH825aWltzOQHICO0idSLiazaYziZMEMl+qZySkceRPtpO8hnksLy+jVCq5YzKWoVTaqHxFWQW0z7PMo9VqhfZEl0TfB16ryRzrQfBcvV53q36Z/k6ebRwJilIQJSHWCqksb7/8fAq279iZlj8uP3k+CoP4B/ra2oSCPUoAf+3Xfg1f+MIX8A//8A+45JJL8KMf/Qjf/e538dnPfhYAcOzYMZw6dQrXXXeduyedTuN1r3sdHnroIdx222149NFH0e12Q9csLCzg8ssvx0MPPbQjAshOSb7AVODS6bTbzo3gzJAdlpyBs0OjSYf+czT90qSjpXNJBpPJpFuRx1hTkjDKj4kqB7eFo0qYTqdDs/e1tbVQSJpMJoNCoYDFxUXncwhskdt2u+1MQfRZXF9fx8rKituonJ2jDiIqV0mzzDwmF9SwneXMXiuxBoOGbzCSqjzNdPQJ4043vV7Pme6kz1lcPr786CLCb0PGs6tWq1hdXXVmQ5YpyqxJpZ3lJHq9HhqNhlPPaB7mlpAMERKnzPlUUlkHBunl1mCy/aSqH6VGScKn+yb+1rEK5XlfuaVipImRTyWT6mpUTMRByIdWL/XzlpENotLXaUUpjVHETkJbnvT7I/3r9DX6OeuyajU86tq44z6SfqbWG+2T6svfJwzYKuA9SgA/9KEPoVwu49JLL3Xq0B//8R/jd37ndwAAp06dAgDs378/dN/+/fvx7LPPumtSqRSmpqa2XcP7NeiATDCSuH7BSUJk8GTtL8IPlMFI2Zlxq51ms+l89/bv3+82yaavHa+naUTu68s8tRmaJiVdBhJSGfdM+iu2Wi1MT08jCLbilK2vr2N6ehrpdBr1et3VEdgigVNTUy5OVyKRQLVaxcrKitspgGVKp9Nudsx06C8j25cfuHb4ls9kEKXBYNCQg79clSi/MWCLWEnfLT2Yxfml8v9ms+lWxnN1Pf3z6vW6U8/6qUX8FriISioe7Xbb7dbAupCcydAgZwLWnd+tNJUDYRVtp+ZAnYc0UUZdy7wHMX32S6ff9ex3pCVHlkGmS+uMLw35t0/F6/du7URB9JE/HzRRiiNlstxSYOB98jr525fOIP/3s+74iGDU8+31et7nN2zYky3w13/91/jyl7+Mr371q7jsssvw+OOP4/bbb8fCwgJuvfVWd53PL6HfDCPumk9/+tP45Cc/ue24fPlpxkwkEi4UAlf/yusk+eIeheyYpQ8f1bNCoeDMn/zoaK7VH4ZWG+VvvaJKDjJUEgA4UyxX9vFjp2knnU47sy8d4WlOkr59cvUxVybT35FloC8O1UaaqWWcQlkn1nlkZDPwNRWVIAhC9zAgbb8ZvI7LGDXz1kTUp6qS6A66ctPw0qNfH8CJR61WQxAEbrESsPW+Suf4OCIjFRU52MvVm5VKxX2L/G6Yj4Z+R6lG0mQsQfMm30X9zQ0aLkXWRYP9SdSCAF9fpPONWiFM7ITM+b7dF2NCKK0PcWXwqXv9FCsijvwBg4W70c/Al4dUyKJUSH08SoGU/uiynJognikGWQyly+tTQPu9c8OCPUkA/8N/+A/48Ic/jLe//e0AgCuuuALPPvssPv3pT+PWW2/F/Pw8ALgVwsTS0pJTBefn552ZR6qAS0tLeM1rXuPN9yMf+Qg+8IEPuP8rlQoOHz4MYEv1o18PALfnrh4Q5CBCtWtsbMz5EeoVYoSecVFZYzq+GRl3MZAfLK+TfotUIyUJ5W+Sq0ql4spN0zF9HaVCwsUc9CEkIaQpjX6Asr5yX9UoaV5uwUUzsFQqpYozOjqKgwcPujRl+0nILfZkPoTsvPSAT3M0TeNs9yeffNL5RBnOXcQNwFJ5izKf6bR8aWt/K3kdFzHIa+Tg6fv2fWUnwfOd52QKCIcPiarHTqHNkb4BWhO/qPO8xldfibhzg5yXkKRc3h+Vpj4X1VdFkU+ZTtREMy49iTgTPe+RW2tGpecjlnH5aktS1L3yufcjszzug257H6HVpFoSV/4tF3YOIgYNA/YkAWToEgkOwgBw9OhRzM/P4/7778crX/lKAJud5IMPPojPfOYzAICrr74ayWQS999/P2666SYAmwE6n3jiCdx5553efLkwQ0P6oUlyR3OL3IuRHTw7S+nPBsDtOkDH8EQi4UxQ/PBIGPm/7myo2lEh85kheB39AzlQ6KjpY2NjLpgo/YZITmu1misHQ2OQ0FLxq9VqLs1UKuWCoUrn8/X1dXcPSZzev1IOjvx4GbaBK5bZrr4PWxJU+fEzDcDfEcpjegU1nzGVWHnOcO5CDg5Rzx7YUvP7mZ60PxXR7z2QfYE+rr/pKCLRL/1+JsM4YiDPxw2W0p0ECKs0vraJU3H6KVb9ICfAOyGBQLyJUpd5UHLu6z986Q9CQjW0CVPf4yu3hO/cIMROEywfmPcg748mo9rS4ruG5/uB70O/Mgwr9iQBfMtb3oI//uM/xgUXXIDLLrsMjz32GO666y787u/+LoDNB3377bfjU5/6FC6++GJcfPHF+NSnPoVcLoebb74ZAFAsFvGud70Ld9xxB2ZmZjA9PY0PfvCDuOKKK9yq4EHBWH0AnBM3ALcdkCRgVNk4c5T+eoTcP1h2iCRprVbLrfIleSNJSyQSLnp7Npt1OwDojyaVSjkzhtyzc2NjA5lMxp3nHr0MWioHxEqlgna77dRD+sWMjIw4MxZN4ADc6kCpeHDBCVVGDiQkX9KJnG1GYs10JCEmaA7WAxHfD96nTSCEJta+a9h+QNiHzAjguQ3pPxqlRPQjTj70U0O0c30cSelH+AZVMOJUFZmutB7o8z5I8qDJAb+VOJIXhyhCrfPQf0v4Bn2tuvWDJLT8PQih8B2Pq0tcWmcCqaJyogyE/TJ5TluGCOlKw+v1+xcFn8oZd32/dzQun6i8445Z/7yFPUkA/8t/+S/42Mc+hve85z1YWlrCwsICbrvtNvyn//Sf3DV/+Id/iGazife85z0uEPTf/M3fhLZC+9M//VOMjY3hpptucoGgv/SlL+0oBiDBjoGkRx4jAZSKEZW0kZERjI+PIwgCrK2t4R//8R8xNjaGK664wq0ezmQyoQUR9Xp9WxT/ZrOJdrsdMuMywCf96aQCKc1APJZIJEI7jdARnSEqmCewGQKmUCggmUyiWq26jkZuRcUA0DQnVyoV5+TOeGdUGemoTgJJEqlnhPzNtpQBeeM6e9/sWnaMurPXkB2kNGXJtpTP2nDuQitW8jixG6pBPyITN8AOgp0OnP1IU78ySOKszXv6PmkOlvX3xfDs56Om/9bpAVvfcJSqK++VYa5k+aIUNE60qQjrNunnkxbXrlGK59kqoUB0f9Svb4x79weZMPkUPJ22PiYnIDtR+Hxp6bLpv61/3kIiMDp8xqhUKigWi/gf/+N/uLArXOQAAPl83i3wGBnZjNDPsA/1et35wBUKBWQyGTzxxBM4fvw46vU6rrvuOhw8eNCZlCUBTCS2Fi5Q8VtaWkKj0UA+n3fBlkdGRlysPm2ipJ8e02NHxzAwVBVJ2kqlklu9u7Gx4baYWlpaQjqdxmWXXeZUQF6fz+dDq5Gr1Sqee+45LC4uOnMyZ6VsMxkvUYahYecgF8dIMzmDxrKDliQyarDjriRMk+0gFUjZaUhVkHnKxQG89h//8R/dyk7DuYVUKoVXvOIVALbICMFvjX9ryMFqtxA1+Eed1/50WonzDeCDkst+9YojWPr/KHMmJ1065ErcQgHfc/Kl7fM/k8flNy79LPsRRpaNLio+FU27n0gFTLoHvZTDrVYXtXlcE62o9o9TqfVz6Uf44srp+7YGba+o90P/L9+L9fV1PPLIIyiXy278HjbsSQXwXAQJGYMuSxOklOK54nVlZcXFz1pfX8f8/Dympqbw3HPPYW5uDhMTE+56+sdxgKJKRmJI1TGbzWJ8fBwTExPodrsolUo4ffo0NjY23EIXmqsZw0vGCZSEqd1uO9JXq9VcaAru5iHNxNI0wrRp1gU2fTa5LzID3+ZyORe6guDgKxegyM5BK25cZMK2TyaT2xaD6FmlBBezaHOfb8WYPKcVCJaN+Rn2FvotYtAKtA++wXRQxCkSg5pLiSgzsY+8atLlI5OEro9PQfWVw6faJRKJbQuvdD5xpsoocq4JoPz2dRqyfr7FdtIi4FOneJ3eVz3quUe9V/r5RNVNtokPmmwNQoh86cl2lwH448rl+/9MJh2+9zAqrUHSPxNVfdhgBHAXIMlJvV5HMpn07hFJosZZsCYUr3jFK7B//34kk0lnqiaZ5Ach02bHxm2GuCI3l8s5hbFer2N0dNTlSz8+xg5kiBp2PuzwuDK30Wig0Wg4c3C320U+n8fs7KxTAwE48zOJpdz7kgthCoWCU824cIPkloRR70nJttPmOUnyqFrS5B0V0FWmp7f5Yn7ScZnnJLnTZj0+g0Qi2qfMcG5iEELnu0eqKIOkrc1cUekPMsgCYZ8030ApCY4eYEdGRpxyLvsRWbcoYqePRxGAfuZdraz78iEpY5njyKg+3o+Ea/9eDfmdS1Msj8l0ZTidKALk8z/W5da7kESpcj4i5Ps76rqdKGz9yNNuqOE6DZ/voe9veSxOoTTEwwjgLqDT6aDT6WB5eRm/+MUvcNFFF2F2djZESlZWVtDpdDAzM4NCoeC2V1tfX8fs7KzrlKempkKkUHbKJD7tdttdTzWQOxXwgyIRrNVqWFlZQb1edyFYer0eJicnkc/n3SyPO43QVM1AzVQIucglkUg4lY9pNZtNAFthUeiPSOJHpW10dBT5fN5tEk9yS2IsFUj6+GnIjctJuMbGxtwuKVyU4vPr0X+TfLINCJ96ITt4SSLlfey8ztZ3x/DigRMf+T4DYV/Yfug36GlyEbf6NkrBG0RVYn3k9zIyMuJUKalOyW+Nfr7MX6trmkj4zIZx7SHJp099ksei1PZ+xMdn7u0XksV3/yC7QejySeVQn+8HGbpLE0NJoPv1NXFE0IeottQKpISc+EapcHH5DKrSSUTFvozLyzfB0mnLCf5u+FeeLzACuAvgQot0Oo3p6Wm3eEM6HFNRKxaLGBsbw+TkpNsBhH5y2kwBINTZyMUe9PWTBIqdCGeT+XwemUwGtVrNkTT61HEDcfoGyuOnTp1Cs9l0u3JQVSPRzGazzreR5ZDbPvHabreLVqvlVhlzsJIhbLiTBxU0YCsmIWfDkgz7Ble5FR8Joh5YfDNNeV53sD5TjxxgWRd2OrzXFMBzGyMjm6GR+D2RPEWZ34Box3itnMlBXJrZ4gZZnU8/lZCTSu0OwXO8j6p/KpVCKpVy8Ui5523cCnk5gZI+b/I7lJDlDYLAG1id53zKqISPTEUtphlEhZXfrkxHE3Dfc/NBuwn4yImcMParr+9+X3qaGOm04t6ZqImsvqefKh01KRnU1BultvrSiptwDIqochn524IRwF0Aw7ZMTk5iZmZmm0mV+/myUwbCs2SSCt+sluRC7uEJILRggzNKqmoE9wSW6pskq5JsMlAz9/BNJpNusQoDN4+Pj+PIkSPOz5EhXRgfkfH+gK2BRK9Apmo5OTmJZDKJUqnklMRGoxHan1R2TJKgSTMXV+ZJc7KGj/zxOfC8HFh9HSLJpTwujwG2t+RewMjICCYnJwFs7fTBH+3H2W/wiSJCvFeTQo2dHmf5ZYimqPedPwxFRReQZDLpgq7LMkpS4/uf6cr6aOVwELWHEz3tgtHv22E/J8mvbyDXhJu/5YSNZdbKnm+1rCbycsKgiRQxiCKor2G/o9tBk01dvqj/fWX31U/mI9ViuvP4tjz05RtF7vTfg35bvjRYTl/7RqVnZuB4GAHcBdD8yL+BsDmFfnt6JkZ/OXbQsiOlcsaZOvfQbbfbmJ6eDvnx8CWXsQPZkYyPj7sFFxw4qMgBcDty1Go1LC0tOQWPpE+uwpVBj9lZVatVF+6FKgMHEKoP3EqOC1Dk4o1CoYB8Pu/agp06SSGJGbBlfmYbEuwQpO+Rnu1rZcXnL0jlg3Xl/zLEhITs1KQpzjqdcxtUseViKN/gGfUc45RCeU0/ghd3jbYE6Px9++Pye5HfKrD5XaTTaWQyGdefyAVQkvwy/SgyK8snv0Gfz55eXKHVSmmW1otEdJl4j1TzBiUC/MalghnlexhF3nxmxn7vRxT5900c4qwVcXnJ8un7+ymkUeXiREFGn5DWKSB+wVQcuetH/AZRybUYEEV8B0lv2GEEcBfAxRRA2LygOyp23CRgpVIJ7XYbhUIBk5OTjkSsr69jbW0NzWbTxdqjOpdIJNwKXKbJzlwSM0me2FmTzNBsyt/0+eO2VMlk0i0iIZnkzJv7lxaLRXQ6HbeIhNdx8UcqlXK7f9AkdPr0abfqlySMvoayk+ZHLgNkS5OV7tzkYNlvJijVEXmO9/o6Xl4rnw+3oNODGstnOHeRSCScb2sQBKHQQWfiA+gjBb6BRyr+ce+qvFarQjLsUJy5FIBTcbhAiyTQ59tF0shjMq6mbwCV34tPzaLCp787lovfkU5fK4xaldSLtHyIIiFRpEWek1s7sk/TCtgg8F3Lvm0QgqJVuzgi41Nk+f+gqrZsE1py4lTZKDNq3DuzEwwy+fKps/3S2Ym/5jDACOAuQn9c7XbbmWoLhQLS6TTy+bxT+7h4RK58lR0gO71MJuP8BcfGxjAxMREK3aKJkJyJMx0Zo0+SO5aFqhyw5agsFzWMjY1h3759SCQSWFlZcb5U4+PjzkTNTpSm40Qi4a6pVCpuNXEmk3HnMpkMSqXSNp+ZbDa7rSNiBxpnBpBqghykZNty4OcAxPbWPoi+58q05I4okrT63gPDuQW+p1w9T39V7Qs3iNKnr4979nxv+w1CcnCl+wbf1Z0ozPJ9JsHje6t9ZUl2pPJNy4RW/liOuJiJvEYSAj14yzYe1DGfxLefWifz0GXS6envm23DfOTqfq20xUGXMa7ccSRQphWVp2w7PRGNK6fPOiJ3tpL3RrV3lMo7KPqRU4LvpSbFOzH/DjrJGxYYAdwFSLIlzYFU30ZHRx1RYodCPxj6zzENdvRcZMFzExMTyGQySCaTzgeP5lt2xJlMZlu5OICMjIy42H61Ws3lI5UQ6ZeTzWadGZhlbjabGB8fd9vL0UeEPlWJRMJ1nGwLkiUGquagEwQBstksCoWCy4NKp4x/yPaTKg1/6wFbQp6XJinp6ychOyEqGDJdX6cqB7g4Xx3DuQOp+NG1YGJiAu12G6urq9uIoMQg5ry4awcdeEgUqFQCCE2EJLGT6cr/9ffBd5/fPb8vWVb+5jcqfZNlffT37avzICtyfeqMzkt+7yybNG/HwWe21ef0MRmiK6oO2vcxCv0U2p2QEe2PyT45Kl1gsJXCPmIbdU8c2TpbU+sgk2a+G75+30eQzfzbH0YAdwFy5swXlD5wNCfIoM0bGxsol8uOUHGBCGfivd7mgg4GXuZPJpMJ+cQBm3J9pVJxRI7qnfR9IyFttVpuNw/O8MfGxpDNZpFOp90K40ajAQAu7h8ViKWlJYyNjWF6ehq1Wg2lUgn1eh2zs7MhZUPOmlm+SqWCsbExjI+PY3Jy0u1X3Gw2nTM+V2eyg+cWeK1WK6TKSYVTqnya9HEmD2yZ/fRxCU32ZF4aetDlc7XZ5bkPrm6nAp7JZJDP5912hXISA8RPLjQGVX/7qYXan0+q/Mw7yvQaFY5If59yG0V+W0xfqy2+wZf11eZv3Q5RrhL9FCWp3vP6nX5jmuDEmQs5oZZmcQ3dpv2ed9wEIa4e8v2IUzJ9+euIBL76RJmN49Q4fWxQ5a4ffGXxtZsO8C+Fl0FVVeufwzACuAtoNpsIgiC0jy6w1Zlytk1za7vdRrVadbti8FqqeVTbqLCR+PnMKez0ZUBnadJhWRgUmiYgDnraL4ikq1KpANhUSaiK9Ho9LC8vO3JXKpWwsbHhTMrMRxLZjY0NtxtJoVAI+SqS/FH9AzYH5263GwpBA4S3a2O9ga3Og8SXSp88zuv0rh9sd5ke21mbT+QxmR/R6XRcx2WzznMXHDTkAoh2u42JiQlks9nQyto4kucjgVEDpO8cz0cNnlLxkm4YfL/5nu10QNP+Ydr8KVUwlpHfsvw2ZNnjiKEuJ/uoqO9Equ/yGk385Hep21kTCR+R0sRVqp8aMn1fOBYJaW2Q92syq8viy6uf6XaQY3H36+d2poSu32QmDlFEVPe/caZvTV7jXBJkXgYjgLuCcrmMer3ufPNkbD2aVqUSyD14af6l4ifNMpp49Ho9tFotR4zYwTA/6bNGAkT1AIAjnfV63aUv02IZuGIwmUw6ZZEDwPr6OhqNhiNxpVIJuVzOxTgEtmbpsoNJJBJupTDLEgQBcrmcM/uyrFQkZfwxDs4MGcN8gPBenVK94DlCkzrtexTn1Oyb9cvV1zIOoZG/cxuNRgPf+c53AGytXCW54vsfR1A04lQvfWwn0BMOmZYsW5SZr1/ZZfq+CU9U2TVhJHbjvY8jEslkEv/kn/yTEDmV35su16BEypd3XJtKBdFH+LV5vJ8JVZNVnXecYqnhq7eP8A5S56jrdH7ymkGgn5nsW+P8uqPK5VtIFAXz/9sOI4C7hF6v55RA32xXhlThwCO3hWMMP5KmINj0VaJqJgmLdFAG4MK7kBwxX6bLvH0mIbmAYXR01Jme+XHpD2t9fR3NZtORPgaCpuOw7FAYIJrtwliCrAPL12g0XNno9ygJ88jICAqFgjMnsy4cuOS2e/yRx6SZNs6cK/dcBsIrD9mu2jQn1Zh+TvGGlx9UpA17C9y5hIgj1lHfobQKsJ/2fas7Ie1xhFCWQRM5bcmIUjQHzV+W3UcCfflrsn82qmIckfRNXHT9B0nbV66dEmNT/8IwArgLKBaLznTkmxWSnDWbTWfWpGrU7XYRBIEjTzSH0jybzWYd6ZBO2ySICPOcKQAASPxJREFUDBXT6/VQLpcBwCmRwFaQZ+6/Sz+7bDaLXC7nFo4wb8bmkiqeVBxJuOTuHtxfmMSU5V1fX3fHR0dHnYmcgahbrRYqlUoopplcbMEy0ReR8QSjoP22dOfgc3zXzyoK2vdKKkU+M4rBYHjxMch3LK/Ri7l0PyHP+whSP18z3ypVeV0/ghelwPZTJ+NWCfvu8RHWfirfThCV1qDmYp9vX1zbRpWhnwI77DACuAtgXL5sNuuIF182qkqdTgfVatX56lFx40rXbDYbMveS+CUSmwsp6LAtTQWNRgPNZhPpdBrtdhsrKytu+zW5XZtU+WiyJfmUca9oAmOsP7kCUfrTJBIJpzZyizmGd5GR+pmPDHTNumSzWZc+t6fiLgWsX6fTceSQcQpZjl6v58ouF9D4OtmoWab0NZI+k74ZtVR1dQBppgFsBeM2GAwvDyRZ0gM+J6dxfQIX1DEYv0Yc2YpbJMMyyd+yvPr6OJKmz/l85+JIWBR2QtB8bRl1704nxr7nE+VzG0f4fTBXnS0YAdwFcMcLEhHfh8n9OEmeEokExsfHkc1mt+3oEQSBW6m6traGarWKXC7ntnXjtmfMkwFfGWuvVqshmUxiZmYGU1NTzoxJQkjVjos3mBdj99VqNdcRUsVjkOgg2NyCSu8VzJW63H+UBI0mYCqBa2trblu60dFR1Ot1JJNJR4CpLpII0nzdarVCWxPJkDUkf0C8KYKEz7dKTkN28nKW7QuQKsmfXARkMBheXEStYo27JoqkcYKcy+XchJghg+Q9O/EjiyMavv5H++VFmW5pHYlbqMTwXoOWfacKmXaN8aXnK9egaQ/azlpZjGrzQfwdhw1GAHcJNJ1SGZKrUoFNH5apqSm3p680sUr/MYJKYL1eR6lUcvHx8vm8M2NKvxjur5vJZJzJtNVqYXl5GUEQYGJiAlNTU04ZlCuOucKWjvBBsLkyksocV/pyMQZnxXJ7OZK5RqOBXC7n1D25irfVaoWCz7LNqIpyAQrbhookITtBtg/bWq78BcKLO+gT6Oto5WpQvcuCXhEs/Td9M1/t1GwwGHYXWjnT37QPcYqP/I5pFeFkk/uSR6XvszT4FLuovPv54PUzb/dbwSutJayrzCvOXKzJkk9J7QffsxmEZPYjllHo136aRFtfbQRwV8DQKhsbG444jY+Pu5Wv7KhImMbHx53CJc2wwFY8Oapu9J+j2ZjX6pWv4+PjSKfTzreQKiGwtRBEm55lYFmGaSmVSs4ELHcEIdGTCiBjCTKOILC5wpehXUjs5L7FmhjLGTfD3zSbzZCSSFOynunxA9ZO3z5/HdnpaZMLzdP064vyvdFb+8k8ff6ABoPhxYfsB32kJm5LM/0tNxqNkKVhp3nuVF2KMv9qU7C+Po7QcjKt+0VfuJRBTbbyHh9xOlv/OroAsY+Ne2b9TOPyf32NJL7WVxsB3BWsrKwA2FTkGo2GU7pI+LRiRbLEl1zO0Kj6VatVt8dwIpFALpdz5kUZ748YGxtzpI5+g/yQGEdQOytT9eJHt76+HopPKFWxTCaDTqeDU6dOoV6vIwg2VzFzn1Fgy3TN9Ll3sQyuSuWPJuV8Po9MJoNms+nM11Q6e70eqtWqa0/tEAyEQ7JEhVKQnaJcESzbXG8LR/A6Dgiyw5cdEcvhizVoMBh2H9JyEke8BjVR8n9pCYhbuLCTxV9xSuBOTJP9CI4vHdn36mvOlLj5TK46LWl6jzJzyzKyn9bjUlQ9fZDn5Lhg8MMI4C6gWq2i19vcuWJ8fByZTMb5tOkPr9VqYXV11Zl0qZ6RWGxsbKBWq6FWqyGbzWLfvn1uBa8MEyMJJdVHHSy6VCqh2WxienoaExMT7h6WicofQ7g0Gg23Ywd98eS1tVoN1WoVGxsbSKVSTvGUShz/liFhZDoyhApXLnOrt1KpBAAoFApoNBpYWVnBysqKM8Vovz9gazsv2Q7ab4bX0yytSaL0AZJp81r+9imN/E0fT1keg8Hw4qIfaYoiAFq10+ZkYLuPns902s+M26+cvvuZn3Rt8ZHVKFIqFTpfwG9dP1/+USRSK5O+CbN0mfFB38NxjeMExQyZxk7NwXIs1HnuVKU9n2Gj1S6AZG9xcdFtdcYFIVTB5AeUSqWc2VjPoqT5lvdw03ogHN3eF4+O/itcvEHSR1My8+BOIzRp1mo1lMtlZ3rlog2iXC67GHx65bBWNlm2ZDK5TWEj5Cb3q6urrg5ceEJTsExfL95g/eNmhLKzoqlXDgranOzzsZGElfewjtJEzmdmMBheWmg1XkdMkJD9cZTfmDa/avOsvF7n7SMYmphFHZP9kR43NFmMIjWDLPqIIkeDmoR1Wj5C7TNda0hXJo59vP9MF974FgfKCb5vId+wwgjgLoCrcxk6hYGPR0dH0Ww23cvG2HsTExPOPzCZTIYCLrfbbWe+5crcsbExzMzMIJFIhGaE9McgoeFOHYwHOD4+HlqoIYlUu93G2toaWq0W0uk0giBw4Q8YXoYr4LgSmX6BOpae9KmQpEyubiaxY/npe8f68qNlvpKA6tW70uTM375ZOsvDPNvttlNbpaMx02T6UtH0dbqMlyjvNeXPYHj5oNW6fgskpKIkz5OQyG9/J6Qoygyr4w9KX7o4nzb+7SOivvIMWtaocg5CZgeB7z4Zm1a7P8kJtrQknQmiTPO+fn/YYaPWLmBkZHNv3UOHDmF9fd3tlzszM+P82gBgamoK4+Pjof1wtVmWih8AFy6lWq2iXC6jWCw6OV/GvpMfk/RtAzY/gE6n49S1RCIRCqwslToep4LIsC21Wi3kI8cyUA3kD3c26XQ6LtRNLpcLxTrUJlr+lquSuW8xQ8tIsH6sv4Sv45KktNPphEIj+BREeR87JT4nmnilv0pUGQwGw+4jiuT41Cap8MURRK269SM9UeZQH8mT9/jMpb6/AWzzSZa/ByWBUdf4yGXUff3S0unovwlOmgm5wjpO3dup6bcfpBXHSKARwF0FgyDTP44hBarVKhKJzbh/DDYsOycSLy7+kLuKcJVto9Fwq6QYXJkfB1U07i08MzODXq+HRqOB06dPI5VKYWpqCsCWn1wymcT09LT7wOmzJ7eBW1paCi3A8C2g0GAa3GWEJFUuQuFiDC6YkLMykjP6gwDhLeukv47udFgX3xZ2BFddRzko85gMdcPOSyuf7Ezkymbte2IwGHYXcX5qPO9D3Hcp79Wm4yg/vyj/vSjSKcvvK+Ogx/r1L3E+esSgAZzj0E9t1G3KPlWaZvsRvN0ifxRNaA2yfnoTRgB3AXIf3263i0wmgyAIUKlUUCqVXJy9UqmEycnJbR/GxsaGI2ulUikUL290dBRTU1MYHR1FoVBAOp1GpVLB9PS0IzHtdtuFZaEvWq/XQzKZdLtwSNJCFY7XcZu6breLZrOJUqmE5eXlkPlahoSRO5josC69Xs+tXgYQUvwAOMVRlokdIlU9H6mT8fokaZSdNQkzZ896Rs7ySLImn4MknMyTbSp3YiGkgzUVQfMDNBhePEjFSv4PRC/m0NdLM69GP8KhSZXOL4qU+spypvARUJ+5ul/ZzkZd8+2a5CunPK9jusoxQZdjN4ifz7xN6KgYwwojgLuAdrvtQq2QBHBF7fr6OjKZDBKJhCNacjUv/eLW1tZQLpddmBS+oO12G8vLyygWi6hUKlhYWEA+nwewtbp2dHTUKYKScHFRBsmLDG9A0kN/u3q9jmazicXFRayurjrVT3aYJHxy8YPuYFj+drvt4viRXCWTyZC/HM3MiUTCHaO5mvlw/15prvWt8JJ+kEB49Zg2bzBPX/mZnlYngyDYFmxatq38MQJoMLz4iPJVk+4ZUbv2+I75vm9C9ycScYTSl4/sr6QVJc5EPMhxntPET1pP9CI4H2Rf6VMxOebEwVcX3WcDfqI3iC+jPq+jQ+iy6Dr7tvMcRhgB3AXIGHX8+LgrBv3kaJ6tVqsulApfQIZ9AeBMtfTF4wfLD67b7brVrFwhy8UbXN1LXzxgKxaS3NaIi0JY3maziWq1ipWVFZw+fdrlKYkfCWQQBKHAztIcq2fX0rFXdkIy7mAikUAmk3GhaHRnTsWRZZWkjWUkUZWryDR8nY80xxPSJCw7Um3u8XXcRvwMhhcPUSpXP/jMsr60fZPKQaBJh1bm4oidJIH9TNj9zkVdK0WFqLLq+sblE2UGH7RMgzyzKCVVKsAyHUbK4B71mvz72tYUQCOAuwKp6PHlJMnhgo90Oo1cLudW2MpFGNVq1ZmRGTZGmmlHRkbc/QznsrGx4YhkoVAI7Zqxvr7uPghpcuDHT+LFD4QLV1ZXV2P9QlgWKnma9BFBELh9j+VKO5IrdnpyNa+8lmnSRK1NxdIUDGw3IegOlvmQyAJbxFjOxJmvXGgjyaduE18Yh90w8RgMhmj0U4d8YT5kXyGD6Uepdj6VT6cl05STW02mZHQBn0KlF6Tp+6PIqO4HZbl95s9BiGWUquq7tl9aUcfjyPhO8pTpyJ2vpFVGB5OWY4mFgjECuCtgzD35PwkcffcY9oUvYyaTQbVaRalUcrt1pFIpNBoN10mNjo4im82GtkVjAGnmwW3jSGiYhzym/eS46ISrfJ9//nmUSqXIVcTStMsfSf4kAdQzWhIoKnMMSyODLtMELLeLY2w9vT1bvxVjeoGNJH+S4MlOWauAUeZcH9mVBJWLa/qZRwwGw5khjuxE+btJoiQnofq8vDdKbdRuIrIvY78atTuJDuElLQx6oZyvvr7j+nyUiwrzkHWMU+J2ovDpCbq+T9eTx2QZGIkizooTV1bu3SzzkGOftmQZNmEEcBdQLpdRrVZD5In7146PjyObzTrVjtuc8TqStUwmg4mJCZcmiRoVt3Q6HZqxjIyMoFAohGaeQRC4WEuJRML592li1Gw28cILL6Db7WJlZQXNZtN9dFItlB82ffe0Csj/NSniffQB5DEdL092qGNjY8hkMmg0Gs4XUJJIma5vhhrlTCzzpNmXeUr/EO3PJzstkteomSjvvfTSS/HCCy/gxIkT218Ug8FwVogz4UWZUDUpkQRtEDUriijJiXqU75kMmC/zl/2hJGg+i0JUuWSdfWD+ck94X9QDScb04rp+8Jnjffdxci/jK3LMkZaWM4XM00fwpAWKRNPCwBgB3BXUarVQKBPudUtVjz52QRAgk8kgk8kA2AzUTN89xtHTs1ipwJEQMR6dfIH1wgb9AXMJfrfbxeLiIk6cOOHi/cmOUJqNSZBoxpYqnewspPO0zpudJP0guV+xJGKsHwB3XRBsbszuI3txHQ0DcsvzUsGU98v0tE+j7hxkB6UHBa58HhkZcUG8DQbD7kO7d8jvVPth6+v5f9QEchAySCuLXGjC43EmRbrcsJ/hIgRpWfEREh8pZHqDQC6MizIjy98cgzgB913fr51020tyyb5W7q0uCbIOwQP4xySZvlZmfXWV5NsW6m3BCOAugDt8cEEGEF4mX6/XUa/X3XE5c5Tbp/G37KDkRyQ/Si4G8c2etKpGE3WlUsHS0hJWV1fRarVCxEuCH5kkf8xLmlK19K8VOiBsevV1kuxsZB3ZPul02plUaPLW9xJy5uozj+hOlOd0eBnfc2DZdQgYWb9EYnNnk1qthkqlsq1NDQbD2cGn+BOSKJGk+e6JSitOFdP3sC+Qi/8kmZHXkujICTGAEAmMC0niUwfjCK6GJFr9IPsyaR2RbaIRp8hKMicn4JpAD7oil1Ya2WdHke44V4GdtMn5DiOAu4BUKuVW1pKMSVLGBRn8CGQnoWejsuPhi6pNDTLUi36J5QcRBJt7A1cqFayurmJlZQX1et07y5IfPaGVP2BL0WP6chcSmYYkiDR5yLLKBR7yvN6JRO5zrKGJG6+R27ppyFXE2llYdvh69qr/l2Wg6gtsbeVnMBheOpyNOS/KjBnnX8e+zxdmxkeKeC8tNew3ZJisKLWP9dPlGdR87Vsg5yNzMjLDICZmmZ7u33mMv7V7jiTo0h9bj0EyHU1Qge3bgnI8iQPvt+07jQDuCrjrh4xfJ19aOXMJgmDbR+YzKUpTKhddSFOw9DuheZex9xgmpt1uY3V1FcvLy24vX+YXZw5gHWi61QsptOLHe+U5XwcqoU2qchs4uUhFzqDlLFqae2SdmC/bmn9LkibrIttbtoncBk4rDVrd5PUjIyPOz8ZgMOwudmK2i+rjmI6c2J2pWTDKzMjvX042ZTQCWQ5ga2ckWo/i8htU+RukrD6Fz6fERa1eJvQ52T8OUh7ZLtpqoy07cl94HU1CpiGJdVTZbLGeEcBdAUO3BEHgyBiw9dFHyc1RHQiv5wvf6XRiOyeubFpbW8PExATS6TTq9TpKpRKazaYLDcO0fbK+NGnytwyXwPr4zA8ydIqsqzanyjzp8yGVTpp6OROVbSnrGteO2lws9+6V8Kmnklzzf14rybEkwPJaSfINBsPLB6kqafj6XR9BkySpH/HS/bPMV1t3fP/LMCYaUWnFHYuqa9w5XS7+rc3a8pzuW6P8GOPqJK+Rx/spsz4RwpenVFfPhkSfjzACuAuoVqtot9shWdtnUiW0WqU/ZhIYucpW36/T6na7Lp4gABdrkKSGM6KoMgHbw5/4/Px85RjUNBE3Y5YqIMvKUDY+Hxmfz59MR3be/Jt1k2lJs4t06qaJQBNkSfRlWtaZGAznDnwEI6of1dtZ+q7Rf0flI/s0uUhOl4X3yklyVL/sI0eDlk9CT8T1Md9YFEeY9Pjlm/xK1U4fl+lo4qfJsr5HTrzZvr72o6WMP/I+s9QYAdwVUMIn5IsrOxn+TVNnIpFwiyvkhyZ9QqTPiIbMo91uY2Njwy1A4AsuSZVvRgVs74gkUdL3SaVPdhCDEKCombeus1wRrMuqTefSrB61UITmcLl6WbapJoGyDXSesm1l+sBW+AHrWAyGFwdxfnL6un7HdJ8t1SxtPtTmXX0/r5HnoxbYyfvoC83JphwnfBYKn5/coJNP33U+NU/nO4iK6FMpAWzz75OIMi37SKfsq6VPoW8CzvtlTFlfXtZPGwHcFdBEK19a+YJKNQvYin/ExQe6s/G9mP1Mya1Wy4UgkR+FVMN8vhmS0MmZ105mSLpTkkRXlzPqb5kn//c5B0syxmvX19fdwhFe7yu7TI8+gay37tij2lrmK00jDMgtA8EaDIbdgZxs7mTgjvNf833zPN6vP+bxKHNknFmWeekFdVFl08e1ZSbqnihVTZaxn9/jIG09qNmX5WDesp11faL8CnmNXBioFVJJFrVbEvt8rToOK4wA7gJodtXqFH/rjkau7o2CvF8qXfq4VvmkCVOmI/PX//tmWT74ZmXyo2PHJMljHOnz/WZacjYsVTmmqxeNSOdlX7vKe+UM0ufjI8vvMxsz7qE0EUtThJmDDYbdx6Dqn0a/RQxygiknoAC29TsaXEDiI38yfZZf3yv3Rdd+2FGIU7J8vs5Rlh+5kFCOJ9r0GlUe3/Ngf6oXQuq8ZbkHUTQ1WY0if7qechGhXHUdlc+wwQjgLqDRaPR1IJYvu+/F813L4/Jepk34lDpN5KS6p8mM/LB8eWv1MIrgys7AR0Slf2RUvfU57moiZXySPoaL6XQ63s5amqn1s5EKnzZNyN0+WA+pPvIagr6aOzGFGwyGcxOSCMm+gf2Kj8zFqVUEJ4sysoHe9kz283Gk0zeJl3nrSa2un3b/0eQ1jvz5XId0eaXCGdcmvuNyLNJl0df1E1HYT8sFkNIf0Cw1RgB3BY1Gw5EVQhNASVIkeYrzb5Oky0fCNLnydUpaMVxfX4901pW/db6+D1Ufj5qN6XuiFEqptkkVUO7SUa/XHQmUu25oJVL7Lso8JLTSJ0NCJJPJ2A5TmqozmcxAJhWDwbBzSGsDIUlZP1NllAqn0+fElX2A7gPZXw2i0sl+iOnJvlev+mXMVSB+wckgapm8h32q3LGJ5ZELKOIIF6/R4xX7Z9ZTL8iIs/rIdHz/yzR8okW/dpBtIPv5M1WSz0ecc63wt3/7t3jLW96ChYUFJBIJfOMb3widD4IAn/jEJ7CwsIBsNovXv/71ePLJJ0PXtNttvO9978Ps7Czy+TxuvPFGPP/886Fr1tbWcMstt6BYLKJYLOKWW25BqVQ6ozJLU6yeYWjzrPQf44stf5gef0ephexU5CxMbvzt+zj4W4ZK6fV6zoyqO0epvDEPblmXTCZdzEH+zR9eo/fWleWPq8/Y2BhSqRRyuRzGx8eRz+fdjiatVivk7yfTk3kwHbkKTJqSZX5AWEn1+aYQVB6pPrLdTPkzGF46+NxCZF8T9W1HDfzaVYdgnydj+vE4+xi5lZvuY6TyR/9g9kXc+zyTycQGJfaR10EnmsyH/XTUYg3Z3/nSln20hm43Ob7JY77xLCpNuQmBtB5JgukjmRLsm7VIoa0+w4xzjgDW63VceeWV+NznPuc9f+edd+Kuu+7C5z73OfzgBz/A/Pw83vjGN6Jarbprbr/9dnz961/Hvffei+9+97uo1Wq44YYbQpLvzTffjMcffxz33Xcf7rvvPjz++OO45ZZbzqrsuoPw/c8XXhIrfb3+2wepUnGGp/3o2CFJIhcEQSjYcqfTcUSGplXtB6LTkaqcTFv/aAIpCao8JzvPZDKJdDqNTCbj9g7u9Xqo1+uoVqtoNBqhuIa+j5lpjo+Pu3x9+/xKQs4OJ51Ou/0wNWHXK6rl/s2Ma2idi8Hw4kESO36DeoIZd48+JsmFz50mznWFE990Ou36DR1pgMeBrYml9PWT/aRvizJ9Lcui/RR9ipic8OvxQfZlUeRM1pXQ10uRw7egMQqyvOyvZbmZlq67JrCD5KUFlUHvGwaccybg66+/Htdff733XBAE+OxnP4uPfvSjeNvb3gYAuOeee7B//3589atfxW233YZyuYy7774bf/mXf4nf+I3fAAB8+ctfxuHDh/HAAw/gTW96E5566incd999+N73vodrrrkGAPDf//t/x7XXXounn34a//Sf/tMdlZkfvCZgQPSCBELPUPTfVL6YNjsKKefLj0X6sEhlkOfk1m1MQ5o+dDn5YXImq83S8lpJrnwqpm9WyHpKokZy2e120Wq10Gg0XEBrEi2dLztWOTjQ3B211ZBUPWU7sRzMS66k5qxdPnOqqTIguMFg2F3ovlESK58fXpRZM2rlrYYkhb6+XeYDhBfUsb+IIkXaX07ub6tdebSJW+YTNdmUfRzv77dILU5Rk+ZweYx9rvZTJ3zl1GZon3gBbC2w0WOYVn596qXcMcRXDiOBmzjnCGAcjh07hlOnTuG6665zx9LpNF73utfhoYcewm233YZHH30U3W43dM3CwgIuv/xyPPTQQ3jTm96Ehx9+GMVi0ZE/AHj1q1+NYrGIhx56KJIA0vRHMOae/Ah8ClCcb5ivM2I6vlmP3H+SHYwkWHLxhfRpk50QOxxJImVZZTl8nZOMtydnu1QjKd1r8hfVKfMDlySu1+uh2WyiVCqhVqs5EqxDueg0ZB24Olubb+LAuvAZSFVPmlBk28iFIxsbGzhw4AAmJydDnRH/1oRTdkjy2UrCKfOUpm/ZHhJxSoYsQ6/Xw6lTp2zvYsOegfyO+X33Ix/6/jiSovsnH+khfG4jelIp+y2fSZp9iPTV04RPkz/dB0lEKZ0SMhiyz9IkSajs3+T4xp+JiQkkk0nU63W0Wq3QeCP7aqbB83KyTZ9ulkO3k1Rr+T/7To5hcsyTxJL1YbvyPsbXHXbsKQJ46tQpAMD+/ftDx/fv349nn33WXZNKpTA1NbXtGt5/6tQpzM3NbUt/bm7OXePDpz/9aXzyk5/cdlz7fZB4yXP9/BXkCytXlcoPUZIOQqp9zJfEQX5wsiNj2dLp9Lby8YOX/8sQNNqfUToAdzqd0L1BEDgy6PPD0TNe/t1oNNDtdtFsNp2/n75Xf+iy04jrBH3mBUnOOGOWbSjz4j2sG01AkgROTk6Ggo/SVDwyMhJauJLL5ZBKpVyHxE6UZuVUKuXURjm4BEHgzPXsyLiPKH0kdQesyTM7z1KpZATQsCcRtaDDpyb5+gVN/OR3IfsUmY4E+wVOyvQ1MnKBzpOWFb2nrc8XW4L9EgBv+CvZJ9KthX1DvV7fJi7IMvjGKEnIJPEDgEwmg8nJSWSzWYyMjDgSR6uVTzmVfSvziiKx0v1GE29tafERWO3KJIkg/TaHHXuyBXaisEVd47u+Xzof+chH8IEPfMD9X6lUcPjwYaRSqdDqLqlGAX71xffySeWKRESv2JV+dBzUpSmE55g+yyFneiQY2nzR6/W2+fcxXRJJpi+JIj/sVCoVOi9VLq1OMg92YiR6OpCynPlpoirrJDtb2ZFJE8LIyAharZZrT19Z5XE+K0mcUqkUstksOp2O8xnM5XLIZrOOyNVqNXQ6HXcf9/nUJFDmr9+DVCqFfD7vnpXs1Ej+NjY2kM1mkcvlkEwm0ev1XIc/OjqKZrOJZrO5zfzD5+xTqw2GcxlRplQf2IfJCauG7B/4jXKhl57MSjIxOjqKQqHgvjP5fXFCxXQlYZHWDklsSEiky4mss1YuNeFhW8g6jo6OIp1OI5vNotvtYmxsDO12e9ukW/pT+9pbEjGJZDKJTqezjeRK4sU6SqVUPxPpo8g+1Nfmvr8lEdSKoCaIPjI57NhTBHB+fh7ApoJ34MABd3xpacmpgvPz8+h0OlhbWwupgEtLS3jNa17jrllcXNyW/vLy8jZ1UYLOvhqFQsGFDAH85FJ2JLITALZvXN1sNp3/mt67UH5IQNgfRF5LyOuYHp2VCSnZS2IofdzkZuWsK0kcsOUjGNWJ6DYgQSKZYTw/SXrlfTJdPYskqfV1FLLd2BFJxUySIJpb5Syd5eHgMDY2hnQ6jUKh4NqceZOcSZMHiRbvlQMBAKea0reQSKfT22bkVCjpCymfJdPMZDJuQsCVf1zoI00q8h6DYS9AmiHjiJ+Ez0zKtHheusroazQh4zfDSZbsg2Rfwx/pgxxVBt4r1T9NuNgvSeLjI4p6N6T19XV0Oh20223XzxJ6dymfaVm6pUiMjIyg3W6jVCo5YimtG7J+2k1JWiPi3FWizOA+6Gfoaz+dTpQ1bpiwpwjg0aNHMT8/j/vvvx+vfOUrAWwOoA8++CA+85nPAACuvvpqJJNJ3H///bjpppsAACdPnsQTTzyBO++8EwBw7bXXolwu4/vf/z5e9apXAQD+7u/+DuVy2ZHEnYBKjUSv13M+EdlsNqT4SV8TIKwwsdPQ28tJ8OWmYqbVQvnBsVwkSVLlkqqXXIHGjoKEhbNGWXaWgx2OVAglYZP747LzIqHUap/0N+Fx3cmy7FKB1CSXfjeS7JCUyeDSTFPOQjVRpmrnC0vA7d9I1llvEjk+S2l6J3FlO8r3giF05HOR7cdnPjo6inw+767jym2thI6MjDiiqv2O2D6FQmGbCVgqqz61ned874Svg5UkWyoKPv+kfpD3y5m+Vt2j7mP5fHWLIsNabfEpC3ow0Wn58j3bAYj9he+ZDIqXchCMy6tf2amEA4Pv4erbpcNXJqk4yYVf0ryq0el00Gq1Qv5x7NckAfTtUOSrK5U0qbbJSbcsr2+LTf1Osa/hZFHWR/YDErKd9Lel0ev13P7zdPGJIos6bdn/RGHQZywh++VB0rVA0OcgAazVavj5z3/u/j927Bgef/xxTE9P44ILLsDtt9+OT33qU7j44otx8cUX41Of+hRyuRxuvvlmAECxWMS73vUu3HHHHZiZmcH09DQ++MEP4oorrnCrgn/pl34Jb37zm/Hud78bX/ziFwEA/+7f/TvccMMNO14BDGCbegMg9EHQdKjBD0H69wHh1be8DggPKtJ3T5MG5q/9wOTgI82T/Ni5uMN3jtK8JHe6XCQh2udOdoRysGR6PkKpFT4d/4ltRAInfQN9Jlbdkco0SEZHRkYcmeeAo0PcRKm7VIajCDvbVhIexk2U6gHrSaJJZVSGviGRl+EXms0mgiBw/jgkdZOTky7O2OjoKNrtNkZHR5HNZgFsfi+Li4totVqO6NLvkIq3VCip3nKS0mq1MD4+jvHxcfR6PZw+fRqdTgfZbBblchlBEGB+fh75fB7A5ve9uLiIZrOJ6elpzM3NuTbQJh2fmardbmN1ddU9O5rbC4UCJicnQ++dHGgajQZWVlZQrVYRBIEz38t85QSBCjffH77//JHPkT6ryWRy2/dOMl6pVLCxseH8Pn1EVpdbTxAl6HvaaDRQr9fd+0ICIhdE+QZTmZ88NsjA67t30AHbRyh0elFkcFC1WuYxCEH2KVW+PGU6nKDzfZG+0VHQSptMVz5vTo74TDW5i6uDLDMjE/j6a5mfnszFpa2vkaqlJnlxEyqZpibpOyV/cryJIu1nk/75jHOOAD7yyCP4F//iX7j/6XN366234ktf+hL+8A//EM1mE+95z3uwtraGa665Bn/zN3/jlA4A+NM//VOMjY3hpptuQrPZxK//+q/jS1/6UoggfeUrX8Ef/MEfuNXCN954Y2TswUGgX6ogCEKBkfU5qoNaIfLFZuLHJD8cdgwyZh2w9XGSINB0INNkB6ahOyE5kEgzqe4s+FsuSNCDiVTIWAZJGPVALE0e7Fg5cEulTs6qpb+gHFhJ5GRAV+nnSLUW2CREcnGM7IjHxsbcM6MyKIm1VGF7vR5qtRqazaYzzbZaLfR6PXQ6HeRyOezbtw/pdBq9Xg+lUgmrq6uOyI2MjODAgQNIJpNuUlStVp3PJ8kG21gummH5+FxSqRTm5uaQzWaxsrKCdDqNQ4cOIZlM4uc//zlKpVKIeI+OjmJychK5XM6R0kKhgMOHD4cUxXK5jMXFRUxNTWFubg7dbhepVAq1Wg1TU1PIZrNYX1/H0aNHMTk5iV6vh9XVVfR6PVSrVczMzODgwYOOcPrMX9KMxf+np6fdc+R3JL8z3iPNYHKnFkl25W4vJIUsA4m2LIt0J+A3ywmK/Ob0doEkyNJPVn5zPuLHfOU3J789qlUyTW2J0HnIY/I38/OpqFFkUZaxn5I7iNIYpUgNavLVSpgkIIOoo5oU6TLp+6mAafMi+4KdEg2dvo/87TQd2UdEpeNrt7j8op7ToOXUY8PZEjL5PRp2hkSwkzfLEEKlUkGxWMRtt92GVCrlBktJavhb+oRIRUeuFpX7RPIj4TlfwFNpMtZ+KrpD1mFUpIlVkih+/CSjHAR5nRwQpRpIwtZutzE+Pu7yy2azyGQy28zDVJJ6vR6y2SxSqRQqlQrW19cxMzPjPmgqK/l83qUhzb+ybNp0Kdtf+/HxPAe81dVVLC4uYt++fVhYWAiZziVpbDabIfVIEmwOxHy+zz//PJaWlpBIJLCwsIByuYyTJ0+iXC7jwgsvxGWXXYZcLof19XU888wzITK2vr6Oq666CgsLCzh58iQeeeQRPPfcc+6dSKfTTrVcX19Hs9l0ShAVv7GxMczNzWFubg4XXXQRisUiarUaxsbGMDU1hW63i4ceegiPPfaYC29EZenIkSM4fPgwWq0WlpaW0G63MTMzgwsvvBAzMzMYGRlBo9FAtVpFNptFPp/H+vq6U/dSqRSazSZGRkYwOzvrFLFGo4HFxUVHisbHxx0Jk/5LWlHhCkP5DgPh0EdyYOl2u+5dJukul8tYXV1FvV53kxUSeS66yWQyockGlU5tPtameZ8KItUnPSnR5nj94zOZ8W95PEp10tdH3a+JnA9R5LHffVFp9VPidLo7JVM7JUtRJEtPuvU10nqh/ef0M5SQ9dmpC4RGnFrqUwV1HfT5OOVup+V6qcF2HfR96Xa7ePTRR1EulzExMfESlPDcwzmnAO5F0FTGQUEuiCA54cBFMqGVNrkggudqtZobmDOZjNsSTUr6Mr1er+eCJ09MTDh1iR+EXP0rCZ1Mkx9us9nE6OhoKFSJvk+aP06cOIH19XXs378f6XQaKysrWF1dxaFDh3DRRRc5wsT7O50Ojh8/jlarhYMHD2JqagpPPfUUVlZW8OpXvxqFQgFBEGB5eRnAZixH1kfO0kmGNDlmm6yvr2NlZQWzs7PbfCBlJ9FqtbCysoJsNotisRjaYYV+LrJTkwolCV8ulwsR7OnpabcKN5VKYW1tDd1uF8ViEa94xSswPT2NTCaD9fV1XHLJJZibm8Ozzz6LZ555Bul0Gvv378f+/fvR6/Wwb98+52hNM+309DTS6TSOHTuGlZUVJJNJjI+PY3JyEoVCATMzM9i/fz8KhYKL11UsFl3bLC8v48SJE06ZlGS20WigVqshk8lgfHwcwOaE59lnn0Wv18Ps7Kxb/Syfxfz8PNbW1vDUU0/h8ssvRzqdDi14yuVyWFhYcJMUaapju8r0+J5LXysek+8B/+ffvtXzmUwG2WwWGxsbTjnkxEnu5MLycHIlVzvKb4T5aQVbTt6060IcMRhEpSJkffW7rNPwkT+dp1axfPftllYQlZ62cPhI9UsJWU7fs5HPwBfqJYro+eoj++mdkEIfaeZ3HHVdv3SiiOO5jp2+L3upbi8WjADuAn7pl34J2Ww2NHva2NhAtVrF5OSkc9iXqgIQduKWfndU0v7+7/8ex48fR6fTwf79+3HVVVchl8uFVt/K1Zy93qZjbrlcxszMDHK5XGglsdxsXJsvga0OjaqSNH/KwU+ujuXgWa/XsbGxgXw+j2aziWPHjuHkyZM4evQoLrvsspCKRrJLcjMxMeGUp2q1iqNHjyKbzWJ0dBQHDx5Er9dDLpdzyotUB1lG1lOrGt1uF5VKBYVCYdsqX9YH2FzIMzEx4YivfE6+TlmSjiAIUCgUQopit9t1exmTTKTTaTfT5HMkWZmYmEAul0OxWMShQ4ecSpdOp3HgwAG85jWvwdraGqrVqlNNmXY2m8Xx48eRz+cxPz+Pubk55HI5p5rSTCXDBcltAAk+y2QyiVarhVKphHw+j1QqhYmJCdTrddRqNTzzzDNoNps4ePCgU/ZohqE6WqvV3EREPjMSdknk+f5KE27cAMaQFlGDliaKxMjI5gId6ZsrB3bu5CLJI5+vNJFL0hVVBvmesG18xEDXUbaTz60kKh+dp+86n5oVNQj6yJ+0YEjsxEQ76PkzJX1xecSZU6OenfzONeSkqR92Qux03X3te7bKoQ8+lVC/I3LSFYeod2u3FMYo7EQt3q0JzV6GEcBdwK/8yq84lUTOCFdWVjAxMeGUOyAc/0+qSJI4AkCpVMLJkydx0UUX4fTp0zh48CB++Zd/OWQK1SSE93Mgy2QyziypFRU56+cxGRBUq2na9AzArUBNp9Mu5M76+jrGx8eRTqexsLCAyclJpzzKkCXJZHLblmqHDx8GAGcyTiQSocUz7ETZVvQ11MoKB11ec+TIEXc/f0vlVA4MKysr2NjYwOHDh90CEXkd20eTZkkopCrEHyqwk5OT296fRCLhVurlcjnXLmwrtuXc3JwjLwwDQ0Xx4osvRjKZdCvOqVgyxiLbR75/UuHlSmKpRst7CoUCpqenXeDoSqWCqampbYubSOhf+9rXOncB3Sn72k+2E1csaoLG3z6iyDzkO6AHbrZpOp12q7el2wCfo3SnkM9fv/+8j2XzvU/yGg09APGZDjpADmJKjWqLKFUrDlGk40zJWhxRPRMfOt47SJ3kOyfv088wLk1fe2jTte8arW5q9dWnxvry06TyTEmh/h590O11pngxyJ+u905NwcMMI4C7gKmpKbfKkavDMpkMZmZmAGyFJ5EzSmD76lkOgOysZ2Zm0G63cckll+CVr3ylM+Pp1b4E06VPIK+lSkZ0Oh1H3FguqVJEDWBaMZREjIoMHe5TqRSmp6ddnuwMmb78X6oLkrBqaHOhPC7LyN9aBeIAL+uolRlu4SYJhUxbqov8La+TddRKFE3JumxU5NbX152pXL4L0gRNUsjnRiI9MTHhVc1kaB1ga29QAM5cTJ885tfrbYUY4rvWbDaxb98+TE5Oht5x/e7xdz6fD6XHc/KH51kmWQaZrk5bto08rt8JnQ59/RgqqF6vu/eQz5Dqou/blM9bPkc9CRuUVOkyRikmcf8T8p3aCbGT1/q+K+bpS/PFGlwHLbtPTYq719fWum6aBO5UJfKRjn7tNKiv4G4RPo2478fXNvqauHQHJXxnowxGvcNG/vrDCOAuQIaPkIGi5Yo8qb4BW7NcTfp4XaFQwD//5//crbKcn58P+eLpdOVHwAUpPt++Wq3mfN24ewWwfTapiY8us/Yr5HVytSXLJO+RKqOshzRVR83EtQrHPKM6j7gZoE8tHBkZcT5iekcRraLIumlIVZBIJMIx/3gdFS+u3tXvgjS1S7WMO3+QOEv1S0bDJ5mTplrmIQm3JOS6naTJdnx8PLRFnqyDfJdIpDT58z0PPgOtgGjVisf4W7ZX1GpH2WYk0HzOvV7PhdnxQU9E+N7JhVuy3DJf1st3POqYNmvLPGWaOyWa+p31nYsySUvob+xszG39CNYg6UaRuEH+lmWKKsNOCI9PJY67vl/b+frjQa7bCeLInT7vO6ev8d2r74+q924ogz7FNJEI+2fudp57HUYAdwFyQPVJ6fIDpc+VNF9KyV8O/HNzc9i3b19ogNaDDdUhIGyqlYSKaScSW/vLTk1NbYs/qEmbHpDjlDuCgzkJgCa5suOQefk6Y1+nyrow5IgkFT4y6OvgdHmCYMv3jf/LrZ2Ytu9+/Qx5vSRh8rgknJKgyTAizEf+LdVF/a4wLRJsHRGfnSCfh1yp7iNHWk2q1WoupItsC5ZfEkBt3uJvrZRJlVMiSi1kWXS6GjJN+VumwbbIZDKh/ZRJtllHTdh13fR75yM5vvrob1h/G753Wl4vf+t20/n3I1q+usn75XeqMQhJi5qc6WNnarLrVz9f28ky6HdLP0fZBlHljTIFR5kmeT4KvvdXn5OWjjNF1GQg6tq4CY2vLX2E+8VQ5fRmArJfMsTDCOAuQRMA+Tc7A3YkWuGQx/UgJ9OWHQI7E+7YQcgXX8bwk/Hr9u3bt0021woQCQF/s7wsq/zIJah06Y5JEilNqkjAADiztMxPtzNNeZJ8+fLzddy+crDMfB4yf32vJE2ahMl7ZLgcuRLUV6+xsbHQatqodvURCJleEGyZU6XKSvVPkg2WS4fUYVv0epuxESUx5OIQqfoyXb0Ah2RWXqOJjyb7ctGNJDqy3j7CKJ+jfKf1M9TvA98jSWBJnqPeeV1P1pWLt2Qbs7xR5MH3/HY6SPa7vh85kkReHvf9rf8fhLAx/X4k9Ez9tXxkI6rMPjVvEHI8KNnW5+RzPlt/tKgxwJfXbmOQNup375ner9GvHXfy/exWmfYyjADuAqQZCtgiXvS1KxaL7gPVqyb5NxBeMUjw45FKGuHbXYSQBEQSJB+pksqTJiYsl57hSVKrr+FHKEmvJCQsh7xPE0sOnlJVlVveyXbTpIzpSFVKtiUhBz85cyQhZZoyfI4uv14xKttRDziSmOlnyt9RpEGSSLkbhVap5KpwTYw0WRobG3OKMONSckX1yMjmSvBareZWYNNcrAcbaQqmmibNpPI5yzLItvGRWvm85D2+a/U9+lvS5JTpkNjqe/U7QpLLb0WWQb77PjMU82e6PmXINxj1Gzij7ok6pxE1sPveHd+5QQdanwLoe55nS5IGqY8v/yglMAr63Y/DIIrfINiJ0riT83GImoz2u57Qz1NPvs6kTfrdEyec9CvvMMII4C5AzyY5uHMVqez89eCvSQOA0HmtLMr/l5eX8Ytf/AJXXHGFc27nBx8Em6FkdMgYrTxI85ckLlEqkywL6+P7kKiksCxyEQzvI6nhQgY9SOqOSxMrnTfbUqo0JAHSjM3y6xWeLCMD/wZBECJEMk9JGORAzfvprwlsdkCaqMkyy7z1e0BSJk3KGxsbLg9fOpJQauIj3zf6AObzebTbbbcoQrcXyV86nUYulwv51uj2YNn1tlq8jiZo+U75SIuPLMYpZHICpt8JDdZtbGwstPOHVER9KrCskzTbamUyimwMooREDVaDqhWyL+J9WoXpRxI1+TsbBWiQ8u+mchVHAn1liqubJE/9iO/ZktedwNdeUW14tm0bRZL6EWgAkeRPn3ux0C8PUwCNAO4a5ADIF4tx93yqgjQf+nz7gPBOH8CWyY7I5/M4evRoiGzI9OX/uqwAXCw4IBx6BUAoH9nxaROYTLtSqSCRSCCbzYZCvsg6yI+OpEi3TxR8ZdKQqiUJlCyrXITS6XTctmpMkyqPDOqtlU79rH0qCdMLgiCUPoAQCdIDtVYKZbn4TOlfmU6nI0mTbh9J1EhkqKYyfIy8R24xSPInJwlMUw4wJKoss1xMI/OXPnOy3nrRjB50eS+AbdcCcDvryPb0XcdzIyMjoQDl8l0hJNHzgeZj3dZnSpy0airL60urnzksDv3Ikq/e8nkMQnr6fdu7QS7PBnHKoCZPUequ/j+qTfqd73edT03UZmDfsSgSOEjbR53X4w2v1c970L6d5X6pSDRgCiBgBHBXoAdhaRKL+jikekBocxkH0V6vF9qZggMhQ60wLWl+29jYcOY7qT5pJYDl1Z2EJpu8nqRJq3AbGxt47rnnMD09HdoRI66deEwSSx6Lm7n6OhpZH5kXt/IiIaV6xsHfF55HqqmyPNJ8q0mwLItsH1kn2YHrsmtlVCqnmhxyg/dcLufS0/lo9UK+a8yL/qDlctn5YJIEsb0YnzAIAjQaDUcEZf2lKi3NmfQt1G3l+5vp6MHNN9GQ77g8Jn0dAUQqjQTfb74HjIVI8q/D0sh3ghiEvEQpJFFKHNthkLQHJRU+RClaMl/f5DVOCdPoN8juNvk7U0Kz03R91omzSV+C3660Eg2qOkaR0ri89HW+ya485yN5ZwM5Fr7UJHDYYQRwF6DJkO5AgfAgqf3hpGlJEkg5qEmfOjmwS8jBYHR0FMVi0UvsCL0riUxPEg+pGEnTrqxzo9HA+vo6Jicntyk8Oritbh9dH5ZRl10PPFFmHXkd25DPheZdXuubrcr6ybykmqvJn/b10oSLxEqGRtFmRN4nibdsS14zMzMTIg8kb6wLlT2dj/whuZmYmMDhw4cRBIHbepDPTPpbMi+SS9kOst1kfTTR0//L5yDLrydJ2kWCyqK+R5q42Q4yL9+EQfo0cqIkVURJCH2TDj3w+/yefP2BPKffJ9+2Yr57fOd9iMo/CnFl1v3ZoArgIOXdjYG/n6rZrwxR8Klx2p2GiCIxOzEdS1eeqHYZtL3iJoO+d5rXyb/1exs1+dYTs6g8fEq3rlNU2c4U7Nfl9zzsMAK4C/DN7uU5aTqTRE525nqAkgODJBj6PPPVZaCKA2wP4yLLoAd4TUo1eZFmPkkOAWBubi7kU8U6RnXKuuwEyyZnp7J+WpkEthaN+EzqkpzRL5MEhx2sJC+6fFr5k+2sB2RffYIgcHs6a59O3e4yDXkN6+MjB+zQuJhBtpdsFz5LThBIenK5HCYnJ90OGfK+breLTCbjYl3ymO+d1OXSxFXWQxMf3eby/WE6UhmLGjh13sxf/q/z4XPRhIzlZnvq+JC+fAc97jvHfLULgO/aQYncID6Fg6ouvjz7EcGoOuy2ghQHHQJJl2GQ/KP6FEKSrJ0QWdnH6fQHTUde61P0JHRfo2NPygmtVqF9xE+e44RRTsJ47kywm+QP2P5cdjv9vQgjgGcBfhyVSiV0XBIfIEzANFmTqgqP9fO1Yt5SqYgjoTJvXi8/ckL7jkgFRpIyeR3VPZqkS6VSaLBnOX0kx2fylnXQ6oGsuyYHMi9eIwkhO6Ug2FLM9K4jMl9NUHyqi8xbEzutgpF4MbQKB3j97CVxk/Xyzar5w3pRvZPlo4Il/TGlr1uz2USz2cTIyGYQb8bGazQa7vpms4lkMol2u43x8XHnjuB711gWWS9J+mS9os7L+rN++n/fM2BQZ7ajbDN5v/xf+oTKvONUU/nd6jLoZ6Pz1OdlvbX64bvWl5+GTlu2iS6LLz/+1gQ9jpAMSoB3Qo7OhhhqIsRvfrfMiz4XFx07VPdjhI8I6/R0Wjo9eSyuLHHljYLPr1AfjwInunHYCfF+MeFr42GDEcCzwMrKCgDgVa961ctcEoPBYDAYDDtFtVpFsVh8uYvxssAI4FmAe90eP358aF+gSqWCw4cP47nnnsPExMTLXZyXHMNef8DaYNjrD1gbANYGe63+QRCgWq1iYWHh5S7KywYjgGcBSuLFYnFPvPAvJiYmJoa6DYa9/oC1wbDXH7A2AKwN9lL9h1W4IV6cvWMMBoPBYDAYDOcsjAAaDAaDwWAwDBmMAJ4F0uk0Pv7xj7vQJ8OIYW+DYa8/YG0w7PUHrA0Aa4Nhr/9eRCIY5jXQBoPBYDAYDEMIUwANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAM8Cn//853H06FFkMhlcffXV+M53vvNyF+ms8elPfxr/7J/9MxQKBczNzeFf/st/iaeffjp0zTvf+c7QfseJRAKvfvWrQ9e02228733vw+zsLPL5PG688UY8//zzL2VVzhif+MQnttVvfn7enQ+CAJ/4xCewsLCAbDaL17/+9XjyySdDaezl+gPAkSNHtrVBIpHA7//+7wM4/96Bv/3bv8Vb3vIWLCwsIJFI4Bvf+Ebo/G4987W1Ndxyyy0oFosoFou45ZZbUCqVXuTaDYa4Nuh2u/jQhz6EK664Avl8HgsLC/jX//pf48SJE6E0Xv/61297L97+9reHrjlX26DfO7Bb7/y5Wn+gfxv4+oREIoH//J//s7tmL78DwwYjgGeIv/7rv8btt9+Oj370o3jsscfw//1//x+uv/56HD9+/OUu2lnhwQcfxO///u/je9/7Hu6//36sr6/juuuuQ71eD1335je/GSdPnnQ//+f//J/Q+dtvvx1f//rXce+99+K73/0uarUabrjhhh1tSv5y4rLLLgvV7yc/+Yk7d+edd+Kuu+7C5z73OfzgBz/A/Pw83vjGN6Jarbpr9nr9f/CDH4Tqf//99wMAfuu3fstdcz69A/V6HVdeeSU+97nPec/v1jO/+eab8fjjj+O+++7Dfffdh8cffxy33HLLi16/QRDXBo1GAz/84Q/xsY99DD/84Q/xta99Df/wD/+AG2+8cdu17373u0PvxRe/+MXQ+XO1Dfq9A8DuvPPnav2B/m0g637y5En8+Z//ORKJBP7Vv/pXoev26jswdAgMZ4RXvepVwe/93u+Fjl166aXBhz/84ZepRC8OlpaWAgDBgw8+6I7deuutwVvf+tbIe0qlUpBMJoN7773XHXvhhReCkZGR4L777nsxi7sr+PjHPx5ceeWV3nO9Xi+Yn58P/uRP/sQda7VaQbFYDL7whS8EQbD36+/D+9///uCiiy4Ker1eEATn9zsAIPj617/u/t+tZ/7Tn/40ABB873vfc9c8/PDDAYDg7//+71/kWu0Mug18+P73vx8ACJ599ll37HWve13w/ve/P/KevdIGvvrvxju/V+ofBIO9A29961uDN7zhDaFj58s7MAwwBfAM0Ol08Oijj+K6664LHb/uuuvw0EMPvUylenFQLpcBANPT06Hj3/72tzE3N4dLLrkE7373u7G0tOTOPfroo+h2u6H2WVhYwOWXX75n2udnP/sZFhYWcPToUbz97W/HL37xCwDAsWPHcOrUqVDd0uk0Xve617m6nQ/1l+h0Ovjyl7+M3/3d30UikXDHz/d3gNitZ/7www+jWCzimmuucde8+tWvRrFY3HNtAmz2DYlEApOTk6HjX/nKVzA7O4vLLrsMH/zgB0Mq6V5vg7N95/d6/SUWFxfxzW9+E+9617u2nTuf34HzCWMvdwH2Ik6fPo2NjQ3s378/dHz//v04derUy1Sq3UcQBPjABz6AX/u1X8Pll1/ujl9//fX4rd/6LVx44YU4duwYPvaxj+ENb3gDHn30UaTTaZw6dQqpVApTU1Oh9PZK+1xzzTX4n//zf+KSSy7B4uIi/uiP/givec1r8OSTT7ry+579s88+CwB7vv4a3/jGN1AqlfDOd77THTvf3wGJ3Xrmp06dwtzc3Lb05+bm9lybtFotfPjDH8bNN9+MiYkJd/wd73gHjh49ivn5eTzxxBP4yEc+gh/96EfOhWAvt8FuvPN7uf4a99xzDwqFAt72treFjp/P78D5BiOAZwGphgCbhEkf28t473vfix//+Mf47ne/Gzr+27/92+7vyy+/HL/6q7+KCy+8EN/85je3dQYSe6V9rr/+evf3FVdcgWuvvRYXXXQR7rnnHuf0fSbPfq/UX+Puu+/G9ddfj4WFBXfsfH8HfNiNZ+67fq+1Sbfbxdvf/nb0ej18/vOfD51797vf7f6+/PLLcfHFF+NXf/VX8cMf/hBXXXUVgL3bBrv1zu/V+mv8+Z//Od7xjncgk8mEjp/P78D5BjMBnwFmZ2cxOjq6bbaytLS0TSXYq3jf+96H//W//he+9a1v4dChQ7HXHjhwABdeeCF+9rOfAQDm5+fR6XSwtrYWum6vtk8+n8cVV1yBn/3sZ241cNyzP5/q/+yzz+KBBx7Av/23/zb2uvP5HditZz4/P4/FxcVt6S8vL++ZNul2u7jppptw7Ngx3H///SH1z4errroKyWQy9F7s9TYgzuSdP1/q/53vfAdPP/10334BOL/fgb0OI4BngFQqhauvvtpJ2sT999+P17zmNS9TqXYHQRDgve99L772ta/h//2//4ejR4/2vWdlZQXPPfccDhw4AAC4+uqrkUwmQ+1z8uRJPPHEE3uyfdrtNp566ikcOHDAmTZk3TqdDh588EFXt/Op/n/xF3+Bubk5/OZv/mbsdefzO7Bbz/zaa69FuVzG97//fXfN3/3d36FcLu+JNiH5+9nPfoYHHngAMzMzfe958skn0e123Xux19tA4kze+fOl/nfffTeuvvpqXHnllX2vPZ/fgT2Pl2PlyfmAe++9N0gmk8Hdd98d/PSnPw1uv/32IJ/PB88888zLXbSzwr//9/8+KBaLwbe//e3g5MmT7qfRaARBEATVajW44447goceeig4duxY8K1vfSu49tprg4MHDwaVSsWl83u/93vBoUOHggceeCD44Q9/GLzhDW8IrrzyymB9ff3lqtrAuOOOO4Jvf/vbwS9+8Yvge9/7XnDDDTcEhULBPds/+ZM/CYrFYvC1r30t+MlPfhL8zu/8TnDgwIHzpv7ExsZGcMEFFwQf+tCHQsfPx3egWq0Gjz32WPDYY48FAIK77roreOyxx9wK19165m9+85uDX/7lXw4efvjh4OGHHw6uuOKK4IYbbnjJ6+tDXBt0u93gxhtvDA4dOhQ8/vjjob6h3W4HQRAEP//5z4NPfvKTwQ9+8IPg2LFjwTe/+c3g0ksvDV75ylfuiTaIq/9uvvPnav2DoP93EARBUC6Xg1wuF/zX//pft92/19+BYYMRwLPAn/3ZnwUXXnhhkEqlgquuuioUKmWvAoD35y/+4i+CIAiCRqMRXHfddcG+ffuCZDIZXHDBBcGtt94aHD9+PJROs9kM3vve9wbT09NBNpsNbrjhhm3XnKv47d/+7eDAgQNBMpkMFhYWgre97W3Bk08+6c73er3g4x//eDA/Px+k0+ngta99bfCTn/wklMZerj/xf//v/w0ABE8//XTo+Pn4DnzrW9/yvve33nprEAS798xXVlaCd7zjHUGhUAgKhULwjne8I1hbW3uJahmPuDY4duxYZN/wrW99KwiCIDh+/Hjw2te+Npieng5SqVRw0UUXBX/wB38QrKyshPI5V9sgrv67+c6fq/UPgv7fQRAEwRe/+MUgm80GpVJp2/17/R0YNiSCIAheVInRYDAYDAaDwXBOwXwADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYMRgANBoPBYDAYhgxGAA0Gg8FgMBiGDEYADQaDwWAwGIYM/z8gzx8l5Z/cgwAAAABJRU5ErkJggg==", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ + "img = imread(cal_dir / \"cam1.tif\")\n", + "img = img[:,:,0].squeeze()\n", + "plt.imshow(img, cmap='gray')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# detect dots\n", + "from openptv_python.segmentation import target_recognition\n", + "tpar = read_target_par(target_parameters_file_name)\n", + "tpar.gvthresh[0] = 130\n", + "cal_images=[img]\n", "\n", - "im = imread(cal_dir / \"cam1.tif\")\n", - "plt.imshow(im, cmap='gray')" + "detections = []\n", + "for img in cal_images:\n", + " target_array = target_recognition(img, tpar, 0, control)\n", + " target_array.sort(key=lambda t: t.y)\n", + " detections.append(target_array)\n", + " \n", + "x = [[_.x for _ in cam] for cam in detections]\n", + "y = [[_.y for _ in cam] for cam in detections]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1791252e769b487fa4b0a2222aeb1a70", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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r/Rd02638f73vx87duxAoVDAtddei2eeeeb5LMqW8alPfWpD+ebm5sx5z/PwqU99CvPz88jlcnjd616HAwcO+NLYzuUHgHPOOWdDHcRiMfzxH/8xgDPvG/inf/onvOUtb8H8/DxisRi++93v+s6P6p0vLy/juuuuw8TEBCYmJnDddddhZWXlFJcuGsLqoNvt4iMf+QguvvhiFAoFzM/P41/8i3+B5557zpfG6173ug3fxTve8Q7fNadrHQz7Bkb1zZ+u5QeG14GtT4jFYviP//E/mmu28zcwbnAEcIv4+7//e9x44434+Mc/jrvvvhu/8Ru/gauvvhqHDh16obN2Urj11lvxx3/8x/jpT3+Km2++Gb1eD1dddRXq9brvuje/+c04fPiw+fmHf/gH3/kbb7wR3/nOd/Ctb30LP/nJT1Cr1XDNNddsalPyFxIXXnihr3z33XefOff5z38eX/jCF/ClL30Jv/jFLzA3N4c3vvGNqFar5prtXv5f/OIXvvLffPPNAIDf/d3fNdecSd9AvV7HJZdcgi996UvW86N65+985ztxzz334KabbsJNN92Ee+65B9ddd90pL18UhNVBo9HAXXfdhU984hO466678O1vfxuPPPIIrr322g3Xvuc97/F9F1/5yld850/XOhj2DQCj+eZP1/IDw+tAlv3w4cP467/+a8RiMfzzf/7Pfddt129g7OA5bAmveMUrvD/6oz/yHXvxi1/sffSjH32BcnRqsLCw4AHwbr31VnPs+uuv99761rcG3rOysuKlUinvW9/6ljn27LPPevF43LvppptOZXZHgk9+8pPeJZdcYj03GAy8ubk57y/+4i/MsVar5U1MTHhf/vKXPc/b/uW34QMf+IB33nnneYPBwPO8M/sbAOB95zvfMf+P6p0/8MADHgDvpz/9qbnm9ttv9wB4Dz300Cku1eag68CGn//85x4A76mnnjLHXvva13of+MAHAu/ZLnVgK/8ovvntUn7Pi/YNvPWtb/Ve//rX+46dKd/AOMApgFtAp9PBnXfeiauuusp3/KqrrsJtt932AuXq1GB1dRUAMD097Tv+ox/9CLOzs7jgggvwnve8BwsLC+bcnXfeiW6366uf+fl5XHTRRdumfh599FHMz89j//79eMc73oEnnngCAHDw4EEcOXLEV7ZMJoPXvva1pmxnQvklOp0OvvGNb+AP//APEYvFzPEz/RsgRvXOb7/9dkxMTOCKK64w17zyla/ExMTEtqsTYK1viMVimJyc9B3/u7/7O+zYsQMXXnghPvzhD/tU0u1eByf7zW/38kscPXoU3/ve9/Dud797w7kz+Rs4k5B8oTOwHXH8+HH0+33s2rXLd3zXrl04cuTIC5Sr0cPzPHzwgx/Eq1/9alx00UXm+NVXX43f/d3fxb59+3Dw4EF84hOfwOtf/3rceeedyGQyOHLkCNLpNKampnzpbZf6ueKKK/Df//t/xwUXXICjR4/iz/7sz/CqV70KBw4cMPm3vfunnnoKALZ9+TW++93vYmVlBX/wB39gjp3p34DEqN75kSNHMDs7uyH92dnZbVcnrVYLH/3oR/HOd74T5XLZHH/Xu96F/fv3Y25uDvfffz8+9rGP4d577zUuBNu5DkbxzW/n8mt8/etfR6lUwtve9jbf8TP5GzjT4AjgSUCqIcAaYdLHtjPe97734Ze//CV+8pOf+I7/3u/9nvn7oosuwq/92q9h3759+N73vrehM5DYLvVz9dVXm78vvvhiXHnllTjvvPPw9a9/3Th9b+Xdb5fya3z1q1/F1Vdfjfn5eXPsTP8GbBjFO7ddv93qpNvt4h3veAcGgwH+6q/+ynfuPe95j/n7oosuwvnnn49f+7Vfw1133YXLLrsMwPatg1F989u1/Bp//dd/jXe9613IZrO+42fyN3CmwZmAt4AdO3YgkUhsmK0sLCxsUAm2K97//vfjf/7P/4kf/vCH2LNnT+i1u3fvxr59+/Doo48CAObm5tDpdLC8vOy7brvWT6FQwMUXX4xHH33UrAYOe/dnUvmfeuop3HLLLfhX/+pfhV53Jn8Do3rnc3NzOHr06Ib0jx07tm3qpNvt4u1vfzsOHjyIm2++2af+2XDZZZchlUr5vovtXgfEVr75M6X8P/7xj/Hwww8P7ReAM/sb2O5wBHALSKfTuPzyy42kTdx888141ate9QLlajTwPA/ve9/78O1vfxv/+I//iP379w+9Z3FxEU8//TR2794NALj88suRSqV89XP48GHcf//927J+2u02HnzwQezevduYNmTZOp0Obr31VlO2M6n8f/M3f4PZ2Vn89m//duh1Z/I3MKp3fuWVV2J1dRU///nPzTU/+9nPsLq6ui3qhOTv0UcfxS233IKZmZmh9xw4cADdbtd8F9u9DiS28s2fKeX/6le/issvvxyXXHLJ0GvP5G9g2+OFWHlyJuBb3/qWl0qlvK9+9aveAw884N14441eoVDwnnzyyRc6ayeFf/Nv/o03MTHh/ehHP/IOHz5sfhqNhud5nletVr0PfehD3m233eYdPHjQ++EPf+hdeeWV3llnneVVKhWTzh/90R95e/bs8W655Rbvrrvu8l7/+td7l1xyidfr9V6ookXGhz70Ie9HP/qR98QTT3g//elPvWuuucYrlUrm3f7FX/yFNzEx4X3729/27rvvPu/3f//3vd27d58x5Sf6/b539tlnex/5yEd8x8/Eb6BarXp33323d/fdd3sAvC984Qve3XffbVa4juqdv/nNb/Ze+tKXerfffrt3++23exdffLF3zTXXPO/ltSGsDrrdrnfttdd6e/bs8e655x5f39Butz3P87zHHnvM+/SnP+394he/8A4ePOh973vf81784hd7l1566baog7Dyj/KbP13L73nD24Hned7q6qqXz+e9//Jf/suG+7f7NzBucATwJPCf//N/9vbt2+el02nvsssu84VK2a4AYP35m7/5G8/zPK/RaHhXXXWVt3PnTi+VSnlnn322d/3113uHDh3ypdNsNr33ve993vT0tJfL5bxrrrlmwzWnK37v937P2717t5dKpbz5+XnvbW97m3fgwAFzfjAYeJ/85Ce9ubk5L5PJeK95zWu8++67z5fGdi4/8f3vf98D4D388MO+42fiN/DDH/7Q+t1ff/31nueN7p0vLi5673rXu7xSqeSVSiXvXe96l7e8vPw8lTIcYXVw8ODBwL7hhz/8oed5nnfo0CHvNa95jTc9Pe2l02nvvPPO8/7kT/7EW1xc9D3ndK2DsPKP8ps/XcvvecPbged53le+8hUvl8t5KysrG+7f7t/AuCHmeZ53SiVGBwcHBwcHBweH0wrOB9DBwcHBwcHBYczgCKCDg4ODg4ODw5jBEUAHBwcHBwcHhzGDI4AODg4ODg4ODmMGRwAdHBwcHBwcHMYMjgA6ODg4ODg4OIwZHAF0cHBwcHBwcBgzOALo4ODg4ODg4DBmcATQwcHBwcHBwWHM4Aigg4ODg4ODg8OYwRFABwcHBwcHB4cxgyOADg4ODg4ODg5jBkcAHRwcHBwcHBzGDI4AOjg4ODg4ODiMGRwBdHBwcHBwcHAYMzgC6ODg4ODg4OAwZnAE0MHBwcHBwcFhzOAIoIODg4ODg4PDmMERQAcHBwcHBweHMYMjgA4ODg4ODg4OYwZHAB0cHBwcHBwcxgyOADo4ODg4ODg4jBkcAXRwcHBwcHBwGDM4Aujg4ODg4ODgMGZwBNDBwcHBwcHBYczgCKCDg4ODg4ODw5jBEUAHBwcHBwcHhzGDI4AODg4ODg4ODmMGRwAdHBwcHBwcHMYMjgA6ODg4ODg4OIwZHAF0cHBwcHBwcBgzOALo4ODg4ODg4DBmcATQwcHBwcHBwWHM4Aigg4ODg4ODg8OYwRFABwcHBwcHB4cxgyOADg4ODg4ODg5jBkcAHRwcHBwcHBzGDI4AOjg4ODg4ODiMGRwBdHBwcHBwcHAYMzgC6ODg4ODg4OAwZnAE0MHBwcHBwcFhzOAIoIODg4ODg4PDmMERQAcHBwcHBweHMYMjgA4ODg4ODg4OYwZHAB0cHBwcHBwcxgyOADo4ODg4ODg4jBkcAXRwcHBwcHBwGDM4Aujg4ODg4ODgMGZwBNDBwcHBwcHBYczgCKCDg4ODg4ODw5jBEUAHBwcHBwcHhzGDI4AODg4ODg4ODmMGRwAdHBwcHBwcHMYMjgA6ODg4ODg4OIwZHAF0cHBwcHBwcBgzOALo4ODg4ODg4DBmcATQwcHBwcHBwWHM4Aigg4ODg4ODg8OYwRFABwcHBwcHB4cxgyOADg4ODg4ODg5jBkcAHRwcHBwcHBzGDI4AOjg4ODg4ODiMGRwBdHBwcHBwcHAYMzgC6ODg4ODg4OAwZnAE0MHBwcHBwcFhzOAIoIODg4ODg4PDmMERQAcHBwcHBweHMYMjgA4ODg4ODg4OYwZHAB0cHBwcHBwcxgyOADo4ODg4ODg4jBkcAXRwcHBwcHBwGDM4Aujg4ODg4ODgMGZwBNDBwcHBwcHBYczgCKCDg4ODg4ODw5jBEUAHBwcHBwcHhzGDI4AODg4ODg4ODmOG/x+DUMHDg3jdSgAAAABJRU5ErkJggg==", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "plt.imshow(img, cmap='gray')\n", + "plt.scatter(x,y)\n", + "plt.show()" ] }, { @@ -261,7 +351,16 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sol.x=array([ 1.88429794e-03, -2.64096734e-06, 7.86931927e-10, -4.99466854e-04,\n", + " -9.47266082e-04, 8.91507002e-01, 1.34638641e-04])\n" + ] + } + ], "source": [ "x0 = np.array(cal.added_par.tolist())\n", "\n", @@ -275,7 +374,19 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0. 0. 0. 0. 0. 1. 0.]\n", + "[ 1.88429794e-03 -2.64096734e-06 7.86931927e-10 -4.99466854e-04\n", + " -9.47266082e-04 8.91507002e-01 1.34638641e-04]\n", + "[ 1.88429794e-03 -2.64096734e-06 7.86931927e-10 -4.99466854e-04\n", + " -9.47266082e-04 8.91507002e-01 1.34638641e-04]\n" + ] + } + ], "source": [ "# print(sol.x)\n", "print(cal.added_par)\n", @@ -289,7 +400,20 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-69.23929405 -28.80270812 44.35239053]\n", + "[ 0.27807446 -0.77988742 0.35998933]\n", + "[-4.e-04 -2.e-04 9.e+01]\n", + "[-0.00049947 -0.00094727]\n", + "[ 1.88429794e-03 -2.64096734e-06 7.86931927e-10 -4.99466854e-04\n", + " -9.47266082e-04 8.91507002e-01 1.34638641e-04]\n" + ] + } + ], "source": [ "print(cal.get_pos())\n", "print(cal.get_angles())\n", @@ -315,9 +439,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.12.2" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/tests/test_calibration_optimization.py b/tests/test_calibration_optimization.py index dcfb7b8..b3a9a7e 100644 --- a/tests/test_calibration_optimization.py +++ b/tests/test_calibration_optimization.py @@ -3,6 +3,7 @@ # %% import copy +from pathlib import Path import numpy as np import scipy.optimize as opt @@ -21,7 +22,7 @@ def print_cal(cal: Calibration): print(cal.get_primary_point()) print(cal.added_par) -control_file_name = "tests/testing_folder/corresp/control.par" +control_file_name = Path("tests/testing_folder/corresp/control.par") # self.control = ControlPar(4) control = read_control_par(control_file_name) @@ -29,12 +30,12 @@ def print_cal(cal: Calibration): # orient_par = OrientPar().from_file(orient_par_file_name) cal = Calibration().from_file( - "tests/testing_folder/calibration/cam1.tif.ori", - "tests/testing_folder/calibration/cam1.tif.addpar", + Path("tests/testing_folder/calibration/cam1.tif.ori"), + Path("tests/testing_folder/calibration/cam1.tif.addpar"), ) orig_cal = Calibration().from_file( - "tests/testing_folder/calibration/cam1.tif.ori", - "tests/testing_folder/calibration/cam1.tif.addpar", + Path("tests/testing_folder/calibration/cam1.tif.ori"), + Path("tests/testing_folder/calibration/cam1.tif.addpar"), ) diff --git a/tests/test_calibration_optimize copy.ipynb b/tests/test_calibration_optimize copy.ipynb deleted file mode 100644 index d43ecaf..0000000 --- a/tests/test_calibration_optimize copy.ipynb +++ /dev/null @@ -1,389 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# test calibration using scipy.optimize" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import scipy.optimize as opt\n", - "\n", - "from openptv_python.calibration import Calibration\n", - "from openptv_python.imgcoord import image_coordinates\n", - "from openptv_python.orientation import (\n", - " external_calibration,\n", - " full_calibration\n", - ")\n", - "from openptv_python.parameters import ControlPar, OrientPar, read_control_par\n", - "from openptv_python.tracking_frame_buf import Target\n", - "from openptv_python.trafo import arr_metric_to_pixel\n", - "from openptv_python.imgcoord import img_coord\n", - "from openptv_python.trafo import pixel_to_metric\n", - "from openptv_python.tracking_frame_buf import Target\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "ename": "FileNotFoundError", - "evalue": "Could not open file /home/user/Downloads/For_Alex_test_34/parameters/control.par", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[3], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m control_file_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/user/Downloads/For_Alex_test_34/parameters/control.par\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# self.control = ControlPar(4)\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m control \u001b[38;5;241m=\u001b[39m \u001b[43mread_control_par\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcontrol_file_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 5\u001b[0m orient_par_file_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/user/Downloads/For_Alex_test_34/parameters/orient.par\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 6\u001b[0m orient_par \u001b[38;5;241m=\u001b[39m OrientPar()\u001b[38;5;241m.\u001b[39mfrom_file(orient_par_file_name)\n", - "File \u001b[0;32m~/Documents/repos/openptvpy/openptv-python/openptv_python/parameters.py:551\u001b[0m, in \u001b[0;36mread_control_par\u001b[0;34m(filename)\u001b[0m\n\u001b[1;32m 549\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mread_control_par\u001b[39m(filename: \u001b[38;5;28mstr\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ControlPar:\n\u001b[1;32m 550\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Read control parameters from file and return ControlPar object.\"\"\"\u001b[39;00m\n\u001b[0;32m--> 551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mControlPar\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_file\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilename\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/Documents/repos/openptvpy/openptv-python/openptv_python/parameters.py:504\u001b[0m, in \u001b[0;36mControlPar.from_file\u001b[0;34m(cls, filename)\u001b[0m\n\u001b[1;32m 502\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m()\n\u001b[1;32m 503\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39misfile(filename):\n\u001b[0;32m--> 504\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCould not open file \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfilename\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 506\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(filename, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m, encoding\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mutf-8\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m par_file:\n\u001b[1;32m 507\u001b[0m ret\u001b[38;5;241m.\u001b[39mnum_cams \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(par_file\u001b[38;5;241m.\u001b[39mreadline()\u001b[38;5;241m.\u001b[39mstrip())\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: Could not open file /home/user/Downloads/For_Alex_test_34/parameters/control.par" - ] - } - ], - "source": [ - "\n", - "control_file_name = \"/home/user/Downloads/For_Alex_test_34/parameters/ptv.par\"\n", - "# self.control = ControlPar(4)\n", - "control = read_control_par(control_file_name)\n", - "\n", - "orient_par_file_name = \"/home/user/Downloads/For_Alex_test_34/parameters/orient.par\"\n", - "orient_par = OrientPar().from_file(orient_par_file_name)\n", - "\n", - "cal = Calibration().from_file(\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.ori\",\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.addpar\",\n", - ")\n", - "orig_cal = Calibration().from_file(\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.ori\",\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.addpar\",\n", - ")\n", - "\n", - "\n", - "# def test_external_calibration(self):\n", - "\"\"\"External calibration using clicked points.\"\"\"\n", - "ref_pts = np.array(\n", - " [\n", - " [-40.0, -25.0, 8.0],\n", - " [40.0, -15.0, 0.0],\n", - " [40.0, 15.0, 0.0],\n", - " [40.0, 0.0, 8.0],\n", - " ]\n", - ")\n", - "\n", - "# Fake the image points by back-projection\n", - "targets = arr_metric_to_pixel(\n", - " image_coordinates(ref_pts, cal, control.mm),\n", - " control,\n", - ")\n", - "\n", - "# Jigg the fake detections to give raw_orient some challenge.\n", - "targets[:, 1] -= 0.1\n", - "\n", - "external_calibration(cal, ref_pts, targets, control)\n", - "\n", - "np.testing.assert_array_almost_equal(\n", - " cal.get_angles(), orig_cal.get_angles(), decimal=3\n", - ")\n", - "np.testing.assert_array_almost_equal(\n", - " cal.get_pos(), orig_cal.get_pos(), decimal=3\n", - ")\n", - "\n", - "\n", - "_, _, _ = full_calibration(\n", - " cal,\n", - " ref_pts,\n", - " targets,\n", - " control,\n", - " orient_par\n", - " )\n", - "\n", - "np.testing.assert_array_almost_equal(\n", - " cal.get_angles(), orig_cal.get_angles(), decimal=3\n", - ")\n", - "np.testing.assert_array_almost_equal(\n", - " cal.get_pos(), orig_cal.get_pos(), decimal=3\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "control_file_name = \"/home/user/Downloads/For_Alex_test_34/parameters/control.par\"\n", - "control = read_control_par(control_file_name)\n", - "\n", - "orient_par_file_name = \"/home/user/Downloads/For_Alex_test_34/parameters/orient.par\"\n", - "orient_par = OrientPar().from_file(orient_par_file_name)\n", - "\n", - "cal = Calibration().from_file(\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.ori\",\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.addpar\",\n", - ")\n", - "orig_cal = Calibration().from_file(\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.ori\",\n", - " \"/home/user/Downloads/For_Alex_test_34/cal/cam1.tif.addpar\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ref_pts = np.array(\n", - " [\n", - " [-40.0, -25.0, 8.0],\n", - " [40.0, -15.0, 0.0],\n", - " [40.0, 15.0, 0.0],\n", - " [40.0, 0.0, 8.0],\n", - " ]\n", - ")\n", - "\n", - "# Fake the image points by back-projection\n", - "targets = arr_metric_to_pixel(\n", - " image_coordinates(ref_pts, cal, control.mm),\n", - " control,\n", - ")\n", - "\n", - "cal.set_pos(np.array([0, 0, 100]))\n", - "cal.set_angles(np.array([0, 0, 0]))\n", - "\n", - "# Jigg the fake detections to give raw_orient some challenge.\n", - "targets[:, 1] -= 0.1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "targs = [Target() for _ in targets]\n", - "\n", - "for ptx, pt in enumerate(targets):\n", - " targs[ptx].x = pt[0]\n", - " targs[ptx].y = pt[1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# def residual(calibration_array, ref_pts, targs, control, cc):\n", - "# # print(calibration_array)\n", - "# # print(ref_pts)\n", - "# # print(targs)\n", - "# # print(control)\n", - "# # print(calibration_array)\n", - " \n", - "# c = Calibration()\n", - "# c.set_pos(calibration_array[:3])\n", - "# c.set_angles(calibration_array[3:])\n", - "# c.int_par.cc = cc\n", - "# c.update_rotation_matrix()\n", - " \n", - " \n", - "# # print(f\"{c.get_pos()=}\")\n", - " \n", - "# residual = 0\n", - "# for i in range(len(targs)):\n", - "# xc, yc = pixel_to_metric(targs[i].x, targs[i].y, control)\n", - "# # print(f\"{xc=}, {yc=} mm\")\n", - " \n", - "# xp, yp = img_coord(ref_pts[i], c, control.mm)\n", - "# # print(f\"{xp=}, {yp=} mm\")\n", - "# residual += ((xc - xp)**2 + (yc - yp)**2)\n", - " \n", - "# # print(f\"{residual=}\")\n", - " \n", - "# return residual" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# x0 = np.hstack([cal.get_pos(), cal.get_angles()])\n", - "# cc = orig_cal.int_par.cc\n", - "\n", - "# sol = opt.minimize(residual, x0, args=(ref_pts, targs, control, cc), method='Nelder-Mead', tol=1e-6)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# print( residual(np.hstack([orig_cal.get_pos(), orig_cal.get_angles()]), ref_pts, targs, control, orig_cal.int_par.cc))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import copy\n", - "def added_par_residual(added_par_array, ref_pts, targs, control, cal):\n", - " # print(calibration_array)\n", - " # print(ref_pts)\n", - " # print(targs)\n", - " # print(control)\n", - " # print(calibration_array)\n", - " c = copy.deepcopy(cal)\n", - " c.added_par = added_par_array\n", - " \n", - " # print(f\"{c.get_pos()=}\")\n", - " \n", - " residual = 0\n", - " for i in range(len(targs)):\n", - " xc, yc = pixel_to_metric(targs[i].x, targs[i].y, control)\n", - " # print(f\"{xc=}, {yc=} mm\")\n", - " \n", - " xp, yp = img_coord(ref_pts[i], c, control.mm)\n", - " # print(f\"{xp=}, {yp=} mm\")\n", - " residual += ((xc - xp)**2 + (yc - yp)**2)\n", - " \n", - " # print(f\"{residual=}\")\n", - " \n", - " return residual" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sol.x=array([-2.22546580e-03, 1.70567795e-06, -3.75579841e-10, -1.43985798e-03,\n", - " -1.07047604e-03, 1.07511509e+00, 8.82840749e-04])\n" - ] - } - ], - "source": [ - "x0 = np.array(cal.added_par.tolist())\n", - "\n", - "sol = opt.minimize(added_par_residual, x0, args=(ref_pts, targs, control, cal), method='Nelder-Mead', tol=1e-6)\n", - "print(f\"{sol.x=}\")\n", - "# print(sol.x - np.hstack([orig_cal.get_pos(), orig_cal.get_angles()]))\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", - " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n", - "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", - " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Coefficients (beta): [ 4.35354651e-23 -9.58410085e-24 2.44311581e-23 -3.81844354e-22\n", - " -2.05550842e-21 5.01212242e-23 -9.91129061e-24 2.22178845e-25\n", - " 1.12830459e-28 -3.41946585e-12 -8.56806960e-12 6.42172735e-19\n", - " 7.35687222e-14 -4.19029078e-15 -8.62741036e-14 4.64343698e-17] \n", - " Residuals: [] \n", - " singular_values: None \n", - " rank: 7 \n", - " \n", - "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", - " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n" - ] - } - ], - "source": [ - "# print(sol.x)\n", - "print(cal.added_par)\n", - "cal.set_added_par(sol.x)\n", - "print(cal.added_par)\n", - "full_calibration(cal, ref_pts, targets, control, orient_par)\n", - "print(cal.added_par)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[17.52102953 16.18864526 99.01488232]\n", - "[-0.14194853 0.14975585 -0.0373757 ]\n", - "[ -2.42252617 3.22403363 100.00053252]\n", - "[-0.00143986 -0.00107048]\n", - "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", - " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n" - ] - } - ], - "source": [ - "print(cal.get_pos())\n", - "print(cal.get_angles())\n", - "print(cal.get_primary_point())\n", - "print(cal.get_decentering())\n", - "print(cal.added_par)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "openptvpy", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/test_calibration_optimize.ipynb b/tests/test_calibration_optimize.ipynb index cced8de..326a327 100644 --- a/tests/test_calibration_optimize.ipynb +++ b/tests/test_calibration_optimize.ipynb @@ -36,27 +36,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Coefficients (beta): [ 1.80534911e-04 -6.77499328e-05 -6.52416361e-04 -1.77426081e-05\n", - " -1.31470856e-07 4.02517087e-06]\n", - "Residuals: []\n", - "rank: 6\n", - "singular_values: None\n", - "Coefficients (beta): [-4.25882590e-07 4.80825222e-07 6.29760235e-07 -6.93208604e-10\n", - " -1.31524482e-09 1.38712355e-10 6.37062243e-09 -1.99771542e-09\n", - " 1.87539971e-08 1.20982734e-23 3.48242641e-21 9.95530889e-19\n", - " -3.20792894e-24 -9.94728623e-25 1.26333821e-25 2.14317243e-25] \n", - " Residuals: [] \n", - " singular_values: None \n", - " rank: 16 \n", - " \n" - ] - } - ], + "outputs": [], "source": [ "\n", "control_file_name = \"testing_folder/corresp/control.par\"\n", @@ -305,34 +285,19 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ + "[0. 0. 0. 0. 0. 1. 0.]\n", "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n", "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n" ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Coefficients (beta): [ 4.35354651e-23 -9.58410085e-24 2.44311581e-23 -3.81844354e-22\n", - " -2.05550842e-21 5.01212242e-23 -9.91129061e-24 2.22178845e-25\n", - " 1.12830459e-28 -3.41946585e-12 -8.56806960e-12 6.42172735e-19\n", - " 7.35687222e-14 -4.19029078e-15 -8.62741036e-14 4.64343698e-17] \n", - " Residuals: [] \n", - " singular_values: None \n", - " rank: 7 \n", - " \n", - "[-2.22546580e-03 1.70567795e-06 -3.75579841e-10 -1.43985798e-03\n", - " -1.07047604e-03 1.07511509e+00 8.82840749e-04]\n" - ] } ], "source": [ @@ -387,7 +352,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/tests/test_corresp.py b/tests/test_corresp.py index 5aa7c0d..f6aa475 100644 --- a/tests/test_corresp.py +++ b/tests/test_corresp.py @@ -1,5 +1,6 @@ """Unit tests for the correspondence code.""" import unittest +from pathlib import Path import numpy as np @@ -33,12 +34,12 @@ def read_all_calibration(num_cams: int = 4) -> list[Calibration]: """Read all calibration files.""" ori_tmpl = "tests/testing_fodder/cal/sym_cam%d.tif.ori" - added_name = "tests/testing_fodder/cal/cam1.tif.addpar" + added_name = Path("tests/testing_fodder/cal/cam1.tif.addpar") calib = [] for cam in range(num_cams): - ori_name = ori_tmpl % (cam + 1) + ori_name = Path(ori_tmpl % (cam + 1)) calib.append(read_calibration(ori_name, added_name)) return calib @@ -163,16 +164,16 @@ def test_valid_file(self): expected.mm.n3 = 1.33 expected.mm.d = [5.0] - result = read_control_par("tests/testing_folder/corresp/valid.par") + result = read_control_par(Path("tests/testing_folder/corresp/valid.par")) self.assertEqual(result, expected) def test_instantiate(self): """Creating a MatchedCoords object.""" cal = Calibration().from_file( - "tests/testing_folder/calibration/cam1.tif.ori", - "tests/testing_folder/calibration/cam2.tif.addpar", + Path("tests/testing_folder/calibration/cam1.tif.ori"), + Path("tests/testing_folder/calibration/cam2.tif.addpar"), ) - cpar = read_control_par("tests/testing_folder/corresp/control.par") + cpar = read_control_par(Path("tests/testing_folder/corresp/control.par")) targs = read_targets("tests/testing_folder/frame/cam1.%04d", 333) # mc = MatchedCoords(targs, cpar, cal) @@ -189,8 +190,8 @@ def test_instantiate(self): def test_full_corresp(self): """Full scene correspondences.""" - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) # Cameras are at so high angles that opposing cameras don't see each other # in the normal air-glass-water setting. @@ -220,9 +221,9 @@ def test_full_corresp(self): def test_single_cam_corresp(self): """Single camera correspondence.""" - cpar = read_control_par("tests/testing_folder/single_cam/parameters/ptv.par") + cpar = read_control_par(Path("tests/testing_folder/single_cam/parameters/ptv.par")) vpar = read_volume_par( - "tests/testing_folder/single_cam/parameters/criteria.par" + Path("tests/testing_folder/single_cam/parameters/criteria.par") ) # Cameras are at so high angles that opposing cameras don't see each @@ -235,8 +236,8 @@ def test_single_cam_corresp(self): img_pts = [] cal = Calibration().from_file( - "tests/testing_folder/single_cam/calibration/cam_1.tif.ori", - "tests/testing_folder/single_cam/calibration/cam_1.tif.addpar", + Path("tests/testing_folder/single_cam/calibration/cam_1.tif.ori"), + Path("tests/testing_folder/single_cam/calibration/cam_1.tif.addpar"), ) cals.append(cal) @@ -281,8 +282,8 @@ def test_two_camera_matching(self): two cameras to get 16 pairs. """ - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) cpar.num_cams = 2 cpar.mm.n2[0] = 1.0001 @@ -341,8 +342,8 @@ def test_two_camera_matching(self): def test_correspondences(self): """Test correspondences function.""" - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) # Cameras are at so high angles that opposing cameras don't see each other # in the normal air-glass-water setting. @@ -361,8 +362,8 @@ def test_correspondences(self): def test_pairwise_matching(self): """Test pairwise matching function.""" cand = 0 - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) # /* Cameras are at so high angles that opposing cameras don't see each other # in the normal air-glass-water setting. */ @@ -410,8 +411,8 @@ def test_pairwise_matching(self): def test_three_camera_matching(self): """Test three camera matching function.""" - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) cpar.mm.n2[0] = 1.0001 cpar.mm.n3 = 1.0001 @@ -446,8 +447,8 @@ def test_three_camera_matching(self): def test_four_camera_matching(self): """Test four camera matching function.""" - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) cpar.mm.n2[0] = 1.0001 cpar.mm.n3 = 1.0001 diff --git a/tests/test_epipolar.py b/tests/test_epipolar.py index a626432..36ca66c 100644 --- a/tests/test_epipolar.py +++ b/tests/test_epipolar.py @@ -10,6 +10,7 @@ import unittest from math import isclose +from pathlib import Path import numpy as np @@ -43,13 +44,14 @@ class TestEpipolarCurve(unittest.TestCase): def test_two_cameras(self): """Test the epipolar curve code for two cameras.""" cam_num = 1 - ori_tmpl = f"tests/testing_folder/calibration/sym_cam{cam_num}.tif.ori" - add_file = "tests/testing_folder/calibration/cam1.tif.addpar" + filepath = Path("tests") / "testing_folder" / "calibration" + ori_tmpl = filepath / f"sym_cam{cam_num}.tif.ori" + add_file = filepath / "cam1.tif.addpar" orig_cal = Calibration().from_file(ori_tmpl, add_file) cam_num = 3 - ori_tmpl = f"tests/testing_folder/calibration/sym_cam{cam_num}.tif.ori" + ori_tmpl = filepath / f"sym_cam{cam_num}.tif.ori" proj_cal = Calibration().from_file(ori_tmpl, add_file) # reorient cams: @@ -57,10 +59,10 @@ def test_two_cameras(self): proj_cal.set_angles(np.r_[0.0, 3 * np.pi / 4.0, 0.0]) cpar = ControlPar(4) - cpar = read_control_par("tests/testing_folder/corresp/control.par") + cpar = read_control_par(Path("tests/testing_folder/corresp/control.par")) sens_size = cpar.get_image_size() - vpar = read_volume_par("tests/testing_folder/corresp/criteria.par") + vpar = read_volume_par(Path("tests/testing_folder/corresp/criteria.par")) vpar.set_z_min_lay([-10, -10]) vpar.set_z_max_lay([10, 10]) diff --git a/tests/test_get_mmlut.py b/tests/test_get_mmlut.py index 296068a..97a9656 100644 --- a/tests/test_get_mmlut.py +++ b/tests/test_get_mmlut.py @@ -1,4 +1,5 @@ import unittest +from pathlib import Path import numpy as np @@ -11,10 +12,11 @@ class TestGetMmfMmLUT(unittest.TestCase): def setUp(self): - self.ori_file = "tests/testing_fodder/cal/cam2.tif.ori" - self.add_file = "tests/testing_fodder/cal/cam2.tif.addpar" - self.vol_file = "tests/testing_fodder/parameters/criteria.par" - self.ptv_file = "tests/testing_fodder/parameters/ptv.par" + filepath = Path("tests") / "testing_fodder" + self.ori_file = filepath / "cal"/ "cam2.tif.ori" + self.add_file = filepath / "cal/cam2.tif.addpar" + self.vol_file = filepath / "parameters/criteria.par" + self.ptv_file = filepath / "parameters/ptv.par" self.cal = read_calibration(self.ori_file, self.add_file) self.vpar = read_volume_par(self.vol_file) self.cpar = read_control_par(self.ptv_file) diff --git a/tests/test_init_mmlut.py b/tests/test_init_mmlut.py index 0d46794..f7a7f6b 100644 --- a/tests/test_init_mmlut.py +++ b/tests/test_init_mmlut.py @@ -3,17 +3,18 @@ import numpy as np -from openptv_python.calibration import mm_lut, read_calibration +from openptv_python.calibration import mmlut_dtype, read_calibration from openptv_python.multimed import init_mmlut from openptv_python.parameters import read_control_par, read_volume_par class TestInitMmLut(unittest.TestCase): def test_init_mmLUT(self): - ori_file = "tests/testing_fodder/cal/cam2.tif.ori" - add_file = "tests/testing_fodder/cal/cam2.tif.addpar" - vol_file = "tests/testing_fodder/parameters/criteria.par" - filename = "tests/testing_fodder/parameters/ptv.par" + filepath = Path("tests") / "testing_fodder" + ori_file = filepath/"cal"/"cam2.tif.ori" + add_file = filepath/"cal"/"cam2.tif.addpar" + vol_file = filepath / "parameters" / "criteria.par" + filename = filepath / "parameters" / "ptv.par" self.assertTrue(Path(ori_file).exists, f"File {ori_file} does not exist") self.assertTrue(Path(add_file).exists, f"File {add_file} does not exist") @@ -34,7 +35,7 @@ def test_init_mmLUT(self): 130, 177, 2), - dtype = mm_lut.dtype) + dtype = mmlut_dtype) correct_mmlut = correct_mmlut.view(np.recarray) # run init_mmLUT for one camera only diff --git a/tests/test_merging_yaml.py b/tests/test_merging_yaml.py index f6bb04a..db522de 100644 --- a/tests/test_merging_yaml.py +++ b/tests/test_merging_yaml.py @@ -1,6 +1,4 @@ -# %% -import glob -import os +import pathlib from dataclasses import asdict import yaml @@ -31,13 +29,13 @@ # print(par_dict) # Define the directory containing the .par files -directory_path = 'tests/testing_fodder/parameters' +directory_path = pathlib.Path('tests/testing_fodder/parameters') output_yaml_file = 'tests/testing_fodder/parameters/merged_parameters.yaml' # Initialize an empty dictionary to store the merged data merged_data = {} -ptv_par = glob.glob(os.path.join(directory_path, 'ptv.par'))[0] +ptv_par = directory_path / 'ptv.par' par_class = par_dict['ptv'] par_content = par_class().from_file(ptv_par) num_cams = par_content.num_cams @@ -45,13 +43,13 @@ # Find all .par files in the specified directory -par_files = glob.glob(os.path.join(directory_path, '*.par')) +par_files = directory_path.glob('*.par') # print(par_files) # Iterate through each .par file for file_path in par_files: # Extract the title from the file name (assuming the file name is something like "title.par") - title = os.path.splitext(os.path.basename(file_path))[0] + title = file_path.name # print(title) # Read the content of the .par file and convert it to a dictionary diff --git a/tests/test_multimedia_n_lay.py b/tests/test_multimedia_n_lay.py index 0eefc59..a4f14e4 100644 --- a/tests/test_multimedia_n_lay.py +++ b/tests/test_multimedia_n_lay.py @@ -1,4 +1,5 @@ import unittest +from pathlib import Path import numpy as np @@ -9,16 +10,17 @@ class TestMultimedRnlay(unittest.TestCase): def setUp(self): - ori_file = "tests/testing_fodder/cal/cam1.tif.ori" - add_file = "tests/testing_fodder/cal/cam1.tif.addpar" + filepath = Path("tests") / "testing_fodder" + ori_file = filepath / "cal" / "cam1.tif.ori" + add_file = filepath / "cal" / "cam1.tif.addpar" self.cal = read_calibration(ori_file, add_file) self.assertIsNotNone(self.cal, "ORI or ADDPAR file reading failed") - vol_file = "tests/testing_fodder/parameters/criteria.par" + vol_file = filepath / "parameters" / "criteria.par" self.vpar = read_volume_par(vol_file) self.assertIsNotNone(self.vpar, "volume parameter file reading failed") - filename = "tests/testing_fodder/parameters/ptv.par" + filename = filepath / "parameters" / "ptv.par" self.cpar = read_control_par(filename) self.assertIsNotNone(self.cpar, "control parameter file reading failed") diff --git a/tests/test_orientation.py b/tests/test_orientation.py index 951f2ab..38eea94 100644 --- a/tests/test_orientation.py +++ b/tests/test_orientation.py @@ -1,4 +1,5 @@ import unittest +from pathlib import Path import numpy as np @@ -23,11 +24,12 @@ class Test_Orientation(unittest.TestCase): def setUp(self): """Set up the test.""" - self.input_ori_file_name = "tests/testing_folder/calibration/cam1.tif.ori" - self.input_add_file_name = "tests/testing_folder/calibration/cam2.tif.addpar" - self.control_file_name = "tests/testing_folder/control_parameters/control.par" - self.volume_file_name = "tests/testing_folder/corresp/criteria.par" - self.orient_par_file_name = "tests/testing_folder/corresp/orient.par" + filepath = Path("tests") / "testing_folder" + self.input_ori_file_name = filepath / "calibration/cam1.tif.ori" + self.input_add_file_name = filepath / "calibration/cam2.tif.addpar" + self.control_file_name = filepath / "control_parameters/control.par" + self.volume_file_name = filepath / "corresp/criteria.par" + self.orient_par_file_name = filepath / "corresp/orient.par" self.control = ControlPar(4).from_file(self.control_file_name) self.calibration = Calibration().from_file(self.input_ori_file_name, self.input_add_file_name) @@ -114,7 +116,7 @@ def test_point_positions(self): num_cams = 4 ori_tmpl = "tests/testing_folder/calibration/sym_cam{cam_num}.tif.ori" - add_file = "tests/testing_folder/calibration/cam1.tif.addpar" + add_file = Path("tests/testing_folder/calibration/cam1.tif.addpar") calibs = [] targs_plain = [] targs_jigged = [] @@ -123,7 +125,7 @@ def test_point_positions(self): # read calibration for each camera from files for cam in range(num_cams): - ori_name = ori_tmpl.format(cam_num=cam + 1) + ori_name = Path(ori_tmpl.format(cam_num=cam + 1)) new_cal = Calibration().from_file(ori_file=ori_name, add_file=add_file) calibs.append(new_cal) @@ -169,15 +171,15 @@ def test_single_camera_point_positions(self): """Point positions for a single camera case.""" num_cams = 1 # prepare MultimediaParams - cpar_file = "tests/testing_folder/single_cam/parameters/ptv.par" - vpar_file = "tests/testing_folder/single_cam/parameters/criteria.par" + cpar_file = Path("tests/testing_folder/single_cam/parameters/ptv.par") + vpar_file = Path("tests/testing_folder/single_cam/parameters/criteria.par") cpar = ControlPar(num_cams).from_file(cpar_file) # mm_params = cpar.get_multimedia_params() vpar = VolumePar().from_file(vpar_file) - ori_name = "tests/testing_folder/single_cam/calibration/cam_1.tif.ori" - add_name = "tests/testing_folder/single_cam/calibration/cam_1.tif.addpar" + ori_name = Path("tests/testing_folder/single_cam/calibration/cam_1.tif.ori") + add_name = Path("tests/testing_folder/single_cam/calibration/cam_1.tif.addpar") calibs = [] # read calibration for each camera from files @@ -237,13 +239,13 @@ def test_dumbbell(self): num_cams = 4 ori_tmpl = "tests/testing_folder/dumbbell/cam{cam_num}.tif.ori" - add_file = "tests/testing_folder/calibration/cam1.tif.addpar" + add_file = Path("tests/testing_folder/calibration/cam1.tif.addpar") calibs = [] targs_plain = [] # read calibration for each camera from files for cam in range(num_cams): - ori_name = ori_tmpl.format(cam_num=cam + 1) + ori_name = Path(ori_tmpl.format(cam_num=cam + 1)) new_cal = Calibration().from_file(ori_file=ori_name, add_file=add_file) calibs.append(new_cal) @@ -277,7 +279,7 @@ class TestGradientDescent(unittest.TestCase): # Based on the C tests in liboptv/tests/check_orientation.c def setUp(self): - control_file_name = "tests/testing_folder/corresp/control.par" + control_file_name = Path("tests/testing_folder/corresp/control.par") # self.control = ControlPar(4) self.control = read_control_par(control_file_name) @@ -285,12 +287,12 @@ def setUp(self): self.orient_par = OrientPar().from_file(self.orient_par_file_name) self.cal = Calibration().from_file( - "tests/testing_folder/calibration/cam1.tif.ori", - "tests/testing_folder/calibration/cam1.tif.addpar", + Path("tests/testing_folder/calibration/cam1.tif.ori"), + Path("tests/testing_folder/calibration/cam1.tif.addpar"), ) self.orig_cal = Calibration().from_file( - "tests/testing_folder/calibration/cam1.tif.ori", - "tests/testing_folder/calibration/cam1.tif.addpar", + Path("tests/testing_folder/calibration/cam1.tif.ori"), + Path("tests/testing_folder/calibration/cam1.tif.addpar"), ) diff --git a/tests/test_parameters_bindings.py b/tests/test_parameters_bindings.py index 5087e22..6d3dc25 100644 --- a/tests/test_parameters_bindings.py +++ b/tests/test_parameters_bindings.py @@ -1,6 +1,7 @@ import os import shutil import unittest +from pathlib import Path import numpy @@ -22,7 +23,6 @@ class Test_SequenceParams(unittest.TestCase): def test_read_sequence_par(self): """Test read_sequence_par function.""" - """Create a test SequencePar object and write it to a temporary file.""" # Create the SequencePar object expected_sp = SequencePar( img_base_name=["img/cam1.", "img/cam2."], @@ -30,7 +30,7 @@ def test_read_sequence_par(self): last=10004, ) # Write it to a temporary file - filename = "tests/testing_folder/sequence_parameters/test_sequence_par.txt" + filename = Path("tests/testing_folder/sequence_parameters/test_sequence_par.txt") with open(filename, "w", encoding="utf-8") as f: f.write("img/cam1.\nimg/cam2.\n10000\n10004\n") # Return the filename and the SequencePar object @@ -118,7 +118,7 @@ class Test_TrackingParams(unittest.TestCase): """ def setUp(self): - self.input_tracking_par_file_name = ( + self.input_tracking_par_file_name = Path( "tests/testing_folder/tracking_parameters/track.par" ) @@ -138,8 +138,6 @@ def setUp(self): dvzmax=8.8, ) - # Testing getters according to the values passed in setUp - def test_TrackingParams_getters(self): """Test getters.""" self.assertTrue(self.track_obj1.dacc == 1.1) @@ -199,7 +197,7 @@ class Test_SequenceParamsC(unittest.TestCase): """Test SequenceParams class.""" def setUp(self): - self.input_sequence_par_file_name = ( + self.input_sequence_par_file_name = Path( "tests/testing_folder/sequence_parameters/sequence.par" ) @@ -265,10 +263,10 @@ class Test_VolumeParams(unittest.TestCase): def setUp(self): """Set up for testing VolumePar class.""" - self.input_volume_par_file_name = ( + self.input_volume_par_file_name = Path( "tests/testing_folder/volume_parameters/volume.par" ) - self.temp_output_directory = ( + self.temp_output_directory = Path( "tests/testing_folder/volume_parameters/testing_output" ) @@ -380,10 +378,10 @@ def tearDown(self): class Test_ControlPar(unittest.TestCase): def setUp(self): - self.input_control_par_file_name = ( + self.input_control_par_file_name = Path( "tests/testing_folder/control_parameters/control.par" ) - self.temp_output_directory = ( + self.temp_output_directory = Path( "tests/testing_folder/control_parameters/testing_output" ) @@ -441,7 +439,7 @@ def tearDown(self): class TestTargetPar(unittest.TestCase): def test_read(self): """Test reading of TargetPar class.""" - inp_filename = "tests/testing_folder/target_parameters/targ_rec.par" + inp_filename = Path("tests/testing_folder/target_parameters/targ_rec.par") tp = read_target_par(inp_filename) if tp is None: print(inp_filename) diff --git a/tests/test_reading_yaml_parameters.py b/tests/test_reading_yaml_parameters.py index bb71d1e..d302160 100644 --- a/tests/test_reading_yaml_parameters.py +++ b/tests/test_reading_yaml_parameters.py @@ -1,5 +1,6 @@ """Test the reading of the parameters from a yaml file.""" from dataclasses import asdict +from pathlib import Path from typing import Dict import yaml @@ -17,13 +18,13 @@ ) -def read_parameters_from_yaml(file_path): +def read_parameters_from_yaml(file_path: Path): """Read the parameters from a yaml file and returns a dictionary with the parameters.""" with open(file_path, 'r', encoding='utf-8') as file: params = yaml.safe_load(file) return params -def write_parameters_to_yaml(file_path, params: Dict): +def write_parameters_to_yaml(file_path: Path, params: Dict): """Write the parameters to a yaml file.""" with open(file_path, 'w', encoding='utf-8') as file: yaml.dump(params, file, default_flow_style=False) @@ -45,7 +46,7 @@ def write_parameters_to_yaml(file_path, params: Dict): # par_dict -parameters = read_parameters_from_yaml('tests/testing_fodder/parameters/merged_parameters.yaml') +parameters = read_parameters_from_yaml(Path('tests/testing_fodder/parameters/merged_parameters.yaml')) for key in parameters: par_class = par_dict[key] diff --git a/tests/test_sortgrid.py b/tests/test_sortgrid.py index 7348bc8..ad279e5 100644 --- a/tests/test_sortgrid.py +++ b/tests/test_sortgrid.py @@ -56,7 +56,8 @@ def test_sortgrid(self): """Test sorting the grid points according to the image coordinates.""" nfix, eps, correct_eps = 5, 25, 25 - eps = read_sortgrid_par("tests/testing_fodder/parameters/sortgrid.par") + test_path = Path("tests") / "testing_fodder" + eps = read_sortgrid_par(test_path / "parameters" / "sortgrid.par") self.assertEqual(eps, correct_eps) file_base = "tests/testing_fodder/sample_%04d" @@ -65,12 +66,13 @@ def test_sortgrid(self): targets = read_targets(file_base, frame_num) self.assertEqual(len(targets), 2) - ori_file = "tests/testing_fodder/cal/cam1.tif.ori" - add_file = "tests/testing_fodder/cal/cam1.tif.addpar" + + ori_file = test_path / "cal"/ "cam1.tif.ori" + add_file = test_path / "cal" / "cam1.tif.addpar" cal = read_calibration(ori_file, add_file) - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - cal_points = read_calblock("tests/testing_fodder/cal/calblock.txt") + cpar = read_control_par(test_path / "parameters/ptv.par") + cal_points = read_calblock(test_path / "cal/calblock.txt") self.assertEqual(nfix, 5) diff --git a/tests/test_tracking.py b/tests/test_tracking.py index e4ff273..3795fed 100644 --- a/tests/test_tracking.py +++ b/tests/test_tracking.py @@ -65,7 +65,7 @@ def read_all_calibration(num_cams: int = 4) -> list[Calibration]: for cam in range(num_cams): ori_name = ori_tmpl % (cam + 1) added_name = added_tmpl % (cam + 1) - calib.append(read_calibration(ori_name, added_name)) + calib.append(read_calibration(Path(ori_name), Path(added_name))) return calib @@ -348,7 +348,7 @@ def test_copy_foundpix_array(self): class TestSearchQuader(unittest.TestCase): def setUp(self): - self.cpar = ControlPar().from_file("tests/testing_fodder/track/parameters/ptv.par") + self.cpar = ControlPar().from_file(Path("tests/testing_fodder/track/parameters/ptv.par")) self.cpar.mm.n2[0] = 1.0 self.cpar.mm.n3 = 1.0 diff --git a/tests/test_tracking_run.py b/tests/test_tracking_run.py index 6b09b1a..5350a08 100644 --- a/tests/test_tracking_run.py +++ b/tests/test_tracking_run.py @@ -75,7 +75,7 @@ def read_all_calibration(num_cams: int = 4) -> list[Calibration]: for cam in range(num_cams): ori_name = ori_tmpl % (cam + 1) added_name = added_tmpl % (cam + 1) - calib.append(read_calibration(ori_name, added_name)) + calib.append(read_calibration(Path(ori_name), Path(added_name))) return calib @@ -108,15 +108,15 @@ def test_trackcorr_no_add(self): print("----------------------------") print("Test tracking multiple files 2 cameras, 1 particle") - cpar = read_control_par("parameters/ptv.par") + cpar = read_control_par(Path("parameters/ptv.par")) calib = read_all_calibration(cpar.num_cams) run = tr_new( - "parameters/sequence.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/ptv.par", + Path("parameters/sequence.par"), + Path("parameters/track.par"), + Path("parameters/criteria.par"), + Path("parameters/ptv.par"), 4, 20000, "res/rt_is", @@ -177,16 +177,16 @@ def test_trackcorr_add(self): print("----------------------------") print("Test tracking multiple files 2 cameras, 1 particle") - cpar = read_control_par("parameters/ptv.par") + cpar = read_control_par(Path("parameters/ptv.par")) calib = read_all_calibration(cpar.num_cams) # calib.append(Calibration()) run = tr_new( - "parameters/sequence.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/ptv.par", + Path("parameters/sequence.par"), + Path("parameters/track.par"), + Path("parameters/criteria.par"), + Path("parameters/ptv.par"), 4, 20000, "res/rt_is", @@ -253,16 +253,16 @@ def test_trackback(self): print("----------------------------") print("Test tracking multiple files 2 cameras, 1 particle") - cpar = read_control_par("parameters/ptv.par") + cpar = read_control_par(Path("parameters/ptv.par")) calib = read_all_calibration(cpar.num_cams) # calib.append(Calibration()) run = tr_new( - "parameters/sequence.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/ptv.par", + Path("parameters/sequence.par"), + Path("parameters/track.par"), + Path("parameters/criteria.par"), + Path("parameters/ptv.par"), 4, 20000, "res/rt_is", @@ -333,7 +333,7 @@ def test_new_particle(self): calib: List[Calibration] = [] for cam in range(3): ori_name = ori_tmpl % (cam + 1) - cal = Calibration().from_file(ori_name, added_name) + cal = Calibration().from_file(Path(ori_name), Path(added_name)) calib.append(cal) os.chdir("track/") @@ -343,10 +343,10 @@ def test_new_particle(self): copy_directory("img_orig/", "img/") run = tr_new( - "parameters/sequence_newpart.par", - "parameters/track.par", - "parameters/criteria.par", - "parameters/control_newpart.par", + Path("parameters/sequence_newpart.par"), + Path("parameters/track.par"), + Path("parameters/criteria.par"), + Path("parameters/control_newpart.par"), 4, MAX_TARGETS, "res/particles", diff --git a/tests/test_trafo.py b/tests/test_trafo.py index 27284fa..d1e16e8 100644 --- a/tests/test_trafo.py +++ b/tests/test_trafo.py @@ -1,4 +1,5 @@ import unittest +from pathlib import Path import numpy as np @@ -236,13 +237,13 @@ class Test_transforms(unittest.TestCase): def setUp(self): """Set up the test fixtures.""" - self.input_control_par_file_name = ( + self.input_control_par_file_name = Path( "tests/testing_folder/control_parameters/control.par" ) self.control = ControlPar().from_file(self.input_control_par_file_name) - self.input_ori_file_name = "tests/testing_folder/calibration/cam1.tif.ori" - self.input_add_file_name = "tests/testing_folder/calibration/cam2.tif.addpar" + self.input_ori_file_name = Path("tests/testing_folder/calibration/cam1.tif.ori") + self.input_add_file_name = Path("tests/testing_folder/calibration/cam2.tif.addpar") # self.calibration = Calibration() self.calibration = read_calibration( diff --git a/tests/test_trafo_mockup.py b/tests/test_trafo_mockup.py index 3e0d0e4..f5f4eb0 100644 --- a/tests/test_trafo_mockup.py +++ b/tests/test_trafo_mockup.py @@ -1,5 +1,5 @@ - import unittest +from pathlib import Path import numpy as np @@ -51,7 +51,7 @@ def test_distortion(self): def test_pixel_to_metric_and_back(self): """Test the pixel_to_metric and metric_to_pixel functions.""" - cpar = ControlPar().from_file("tests/testing_folder/control_parameters/control.par") + cpar = ControlPar().from_file(Path("tests/testing_folder/control_parameters/control.par")) x, y = metric_to_pixel(1, 1, cpar) x, y = pixel_to_metric(x, y, cpar) diff --git a/tests/test_two_camera_matching.py b/tests/test_two_camera_matching.py index 540e790..48dfb50 100644 --- a/tests/test_two_camera_matching.py +++ b/tests/test_two_camera_matching.py @@ -1,5 +1,6 @@ """Unit tests for the correspondence code.""" import unittest +from pathlib import Path import numpy as np @@ -25,12 +26,12 @@ def read_all_calibration(num_cams: int = 4) -> list[Calibration]: """Read all calibration files.""" ori_tmpl = "tests/testing_fodder/cal/sym_cam%d.tif.ori" - added_name = "tests/testing_fodder/cal/cam1.tif.addpar" + added_name = Path("tests/testing_fodder/cal/cam1.tif.addpar") calib = [] for cam in range(num_cams): - ori_name = ori_tmpl % (cam + 1) + ori_name = Path(ori_tmpl % (cam + 1)) calib.append(read_calibration(ori_name, added_name)) # print(calib) @@ -132,8 +133,8 @@ def test_two_camera_matching(self): two cameras to get 16 pairs. """ - cpar = read_control_par("tests/testing_fodder/parameters/ptv.par") - vpar = read_volume_par("tests/testing_fodder/parameters/criteria.par") + cpar = read_control_par(Path("tests/testing_fodder/parameters/ptv.par")) + vpar = read_volume_par(Path("tests/testing_fodder/parameters/criteria.par")) # Cameras are at so high angles that opposing cameras don't see each other # in the normal air-glass-water setting. diff --git a/tests/testing_fodder/parameters/merged_parameters.yaml b/tests/testing_fodder/parameters/merged_parameters.yaml index 162d841..0967ef4 100644 --- a/tests/testing_fodder/parameters/merged_parameters.yaml +++ b/tests/testing_fodder/parameters/merged_parameters.yaml @@ -1,130 +1 @@ -cal_ori: - chfield: 0 - fixp_name: cal/calblock_20.txt - img_name: - - cal/cam1.tif - - cal/cam2.tif - - cal/cam3.tif - - cal/cam4.tif - img_ori0: - - cal/cam1.tif.ori - - cal/cam2.tif.ori - - cal/cam3.tif.ori - - cal/cam4.tif.ori - pair_flag: 0 - tiff_flag: 1 -criteria: - cn: 0.01 - cnx: 0.3 - cny: 0.3 - corrmin: 33.0 - csumg: 0.01 - eps0: 1.0 - x_lay: - - -250.0 - - 250.0 - z_max_lay: - - 100.0 - - 100.0 - z_min_lay: - - -100.0 - - -100.0 -detect_plate: - cr_sz: 4 - discont: 50 - gvthresh: - - 20 - - 20 - - 20 - - 20 - nnmax: 1000 - nnmin: 10 - nxmax: 30 - nxmin: 5 - nymax: 30 - nymin: 5 - sumg_min: 500 -multi_planes: - filename: - - img/calib_a_cam - - img/calib_b_cam - - img/calib_c_cam - num_planes: 3 -orient: - ccflag: 0 - interfflag: 0 - k1flag: 0 - k2flag: 0 - k3flag: 0 - p1flag: 0 - p2flag: 0 - scxflag: 0 - sheflag: 0 - useflag: 0 - xhflag: 0 - yhflag: 0 -ptv: - all_cam_flag: 0 - cal_img_base_name: - - cal/cam1.tif - - cal/cam2.tif - - cal/cam3.tif - - cal/cam4.tif - chfield: 0 - hp_flag: 1 - img_base_name: - - dumbbell/cam1_Scene77_4085 - - dumbbell/cam2_Scene77_4085 - - dumbbell/cam3_Scene77_4085 - - dumbbell/cam4_Scene77_4085 - imx: 1280 - imy: 1024 - mm: - d: - - 5.0 - n1: 1.0 - n2: - - 1.49 - n3: 1.33 - nlay: 1 - num_cams: 4 - pix_x: 0.017 - pix_y: 0.017 - tiff_flag: 1 -sequence: - first: 497 - img_base_name: - - dumbbell/cam1_Scene77_%03d - - dumbbell/cam2_Scene77_%03d - - dumbbell/cam3_Scene77_%03d - - dumbbell/cam4_Scene77_%03d - last: 597 -targ_rec: - cr_sz: 2 - discont: 500 - gvthresh: - - 5 - - 5 - - 5 - - 5 - nnmax: 500 - nnmin: 30 - nxmax: 100 - nxmin: 5 - nymax: 100 - nymin: 5 - sumg_min: 200 -track: - add: 1 - dacc: 0.4 - dangle: 120.0 - dn: 0.0 - dnx: 0.0 - dny: 0.0 - dsumg: 0.0 - dvxmax: 2.0 - dvxmin: -2.0 - dvymax: 2.0 - dvymin: -2.0 - dvzmax: 2.0 - dvzmin: -2.0 +{}