From 8ca9daf8c7b87bdcfa31f65c9cb148d0f28ac0f0 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 12:04:17 +0100 Subject: [PATCH 001/248] Test the setup initially and failing the test --- solutions/matrix_2x2_inversion.py | 40 ++++++++++++++++++++ solutions/tests/test_matrix_2x2_inversion.py | 25 ++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 solutions/matrix_2x2_inversion.py create mode 100644 solutions/tests/test_matrix_2x2_inversion.py diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py new file mode 100644 index 000000000..2a56209a0 --- /dev/null +++ b/solutions/matrix_2x2_inversion.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +A module for calculating the inverse of a matrix that has two rows +and two columns. + +Module contents: + - matrix_2x2_inversion: returns the inverse of a 2x2 matrix. + +Created on 2024-12-26 +Author: Awaab98 +""" + +def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: + """ + Calculates the inverse of a 2x2 matrix. + + Parameters: + matrix: list, a list of lists representing a 2x2 matrix in which + every element is either int of float. + + Returns: + list: a list of lists representing the inverse of the input matrix. + + Raises: + AssertionError: if the input matrix is not a 2x2 matrix. + ValueError: if the determinant of input matrix is zero. + TypeError: if the input matrix is not a list of lists. + TypeError: if one of the elements of the input matrix is not int or float. + + Examples: + >>> matrix_2x2_inversion([[1, 2], [3, 4]]) + [[-2.0, 1.0], [1.5, -0.5]] + >>> matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]) + [[-2.0, 1.0], [1.5, -0.5]] + >>> matrix_2x2_inversion([[1, 2.0], [3, 4]]) + [[-2.0, 1.0], [1.5, -0.5]] + """ + return matrix diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py new file mode 100644 index 000000000..f798db790 --- /dev/null +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for testing the matrix_2x2_inversion function. + +Test categories: + - Standard test cases: + - Edge test cases: + - Defensive tests: + + +Created on 2024-12-26 +Author: Awaab98 +""" + +import unittest +from solutions.matrix_2x2_inversion import matrix_2x2_inversion + + +class TestMatrix2x2Inversion(unittest.TestCase): + """ Tests suite for the matrix_2x2_inversion function. """ + + def test_matrix_with_integer_elements(self): + """ It should return the inverse of the input matrix. """ + self.assertEqual(matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) From e3646c318d6bf001619bbdf2f1733c27a71cc963 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 13:24:53 +0100 Subject: [PATCH 002/248] Passing the first test --- solutions/__init__.py | 0 solutions/matrix_2x2_inversion.py | 24 +++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 solutions/__init__.py diff --git a/solutions/__init__.py b/solutions/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py index 2a56209a0..19378b635 100644 --- a/solutions/matrix_2x2_inversion.py +++ b/solutions/matrix_2x2_inversion.py @@ -24,10 +24,11 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: list: a list of lists representing the inverse of the input matrix. Raises: - AssertionError: if the input matrix is not a 2x2 matrix. - ValueError: if the determinant of input matrix is zero. TypeError: if the input matrix is not a list of lists. TypeError: if one of the elements of the input matrix is not int or float. + AssertionError: if the input matrix is not a 2x2 matrix. + ValueError: if the determinant of input matrix is zero. + Examples: >>> matrix_2x2_inversion([[1, 2], [3, 4]]) @@ -37,4 +38,21 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: >>> matrix_2x2_inversion([[1, 2.0], [3, 4]]) [[-2.0, 1.0], [1.5, -0.5]] """ - return matrix + + + + + # Calculate the determinant + determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] + + # If determinant is 0, the matrix is not invertible + if determinant == 0: + raise ValueError("Matrix is not invertible because determinant is zero.") + + # Calculate the inverse using the 2x2 matrix formula + inverse = [ + [matrix[1][1] / determinant, -matrix[0][1] / determinant], + [-matrix[1][0] / determinant, matrix[0][0] / determinant] + ] + + return inverse From eadc04947f31857691ae472c32874f89d0b961d7 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 14:23:09 +0100 Subject: [PATCH 003/248] Writing all the standard tests and passing them --- solutions/tests/test_matrix_2x2_inversion.py | 27 ++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py index f798db790..709ad66c4 100644 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -19,7 +19,30 @@ class TestMatrix2x2Inversion(unittest.TestCase): """ Tests suite for the matrix_2x2_inversion function. """ - + # Standard test cases def test_matrix_with_integer_elements(self): - """ It should return the inverse of the input matrix. """ + """ It should return the inverse of the input matrix, handling integers. """ self.assertEqual(matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) + + def test_matrix_with_float_elements(self): + """ It should return the inverse of the input matrix, handling floats. """ + self.assertEqual(matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]]) + + def test_matrix_with_mixed_elements(self): + """ It should return the inverse of the input matrix, handling mixed-types elements. """ + self.assertEqual(matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) + + def test_matrix_with_negative_elements(self): + """ It should return the inverse of the input matrix, handling negative elements. """ + self.assertEqual(matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]]) + + def test_identity_matrix(self): + """ It should return the identity matrix. """ + self.assertEqual(matrix_2x2_inversion([[1, 0], [0, 1]]), [[1, 0], [0, 1]]) + + def test_symmetric_matrix(self): + """ It should return the inverse. """ + self.assertEqual(matrix_2x2_inversion([[2, 1], [1, 2]]), [[0.6666666666666666, -0.3333333333333333], + [-0.3333333333333333, 0.6666666666666666]]) + + From 726f493dd0fabd8e1c2eb76e1f2798d53d043f39 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 14:39:48 +0100 Subject: [PATCH 004/248] Writing all the edge cases tests and passing them --- solutions/tests/test_matrix_2x2_inversion.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py index 709ad66c4..88d5478a6 100644 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -19,6 +19,8 @@ class TestMatrix2x2Inversion(unittest.TestCase): """ Tests suite for the matrix_2x2_inversion function. """ + + # Standard test cases def test_matrix_with_integer_elements(self): """ It should return the inverse of the input matrix, handling integers. """ @@ -44,5 +46,15 @@ def test_symmetric_matrix(self): """ It should return the inverse. """ self.assertEqual(matrix_2x2_inversion([[2, 1], [1, 2]]), [[0.6666666666666666, -0.3333333333333333], [-0.3333333333333333, 0.6666666666666666]]) - + + # Edge test cases + def test_matrix_with_zero_determinant(self): + """ It should raise a ValueError because the determinant is zero. """ + with self.assertRaises(ValueError): + matrix_2x2_inversion([[1, 1], [2, 2]]) + + def test_matrix_with_zero_elements(self): + """ It should raise a ValueError because the determinant is zero. """ + with self.assertRaises(ValueError): + matrix_2x2_inversion([[0, 0], [0, 0]]) From 81ef16227bfe2024e17f61fbf96e51e98af79a06 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 16:32:02 +0100 Subject: [PATCH 005/248] Writing the assertions to validate the input --- solutions/matrix_2x2_inversion.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py index 19378b635..c709ab3e0 100644 --- a/solutions/matrix_2x2_inversion.py +++ b/solutions/matrix_2x2_inversion.py @@ -15,6 +15,10 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: """ Calculates the inverse of a 2x2 matrix. + + The function calculates the inverse of a 2x2 matrix. The input matrix + must be an invertible 2x2 matrix (i.e., the determinant is not zero). + Parameters: matrix: list, a list of lists representing a 2x2 matrix in which @@ -38,21 +42,31 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: >>> matrix_2x2_inversion([[1, 2.0], [3, 4]]) [[-2.0, 1.0], [1.5, -0.5]] """ - - - - + + # Check if the input matrix is a list of lists + if not isinstance(matrix, list) or not all(isinstance(row, list) for row in matrix): + raise TypeError("Input matrix must be a list of lists.") + + # Check if the elements of the input matrix are either int or float + if not all(isinstance(element, (int, float)) for row in matrix for element in row): + raise TypeError("Elements of input matrix must be either int or float.") + + # Check if the input matrix is a 2x2 matrix + if len(matrix) != 2 or not all(len(row) == 2 for row in matrix): + raise AssertionError("Input matrix must be a 2x2 matrix.") + + # Calculate the determinant determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] - + # If determinant is 0, the matrix is not invertible if determinant == 0: raise ValueError("Matrix is not invertible because determinant is zero.") - + # Calculate the inverse using the 2x2 matrix formula inverse = [ [matrix[1][1] / determinant, -matrix[0][1] / determinant], [-matrix[1][0] / determinant, matrix[0][0] / determinant] ] - + return inverse From e6b0a586f21fb4767f937b210cdfdd2ed1db7bd9 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 16:33:25 +0100 Subject: [PATCH 006/248] Writing the defensive test cases --- solutions/tests/test_matrix_2x2_inversion.py | 51 ++++++++++++++------ 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py index 88d5478a6..aca1c8392 100644 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -4,9 +4,9 @@ A module for testing the matrix_2x2_inversion function. Test categories: - - Standard test cases: - - Edge test cases: - - Defensive tests: + - Standard test cases: test the function with typical inputs. + - Edge test cases: test the function with extreme inputs. + - Defensive tests: test the function with invalid inputs. Created on 2024-12-26 @@ -19,42 +19,65 @@ class TestMatrix2x2Inversion(unittest.TestCase): """ Tests suite for the matrix_2x2_inversion function. """ - - + # Standard test cases def test_matrix_with_integer_elements(self): """ It should return the inverse of the input matrix, handling integers. """ self.assertEqual(matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) - + def test_matrix_with_float_elements(self): """ It should return the inverse of the input matrix, handling floats. """ self.assertEqual(matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]]) - + def test_matrix_with_mixed_elements(self): """ It should return the inverse of the input matrix, handling mixed-types elements. """ self.assertEqual(matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) - + def test_matrix_with_negative_elements(self): """ It should return the inverse of the input matrix, handling negative elements. """ self.assertEqual(matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]]) - + def test_identity_matrix(self): """ It should return the identity matrix. """ self.assertEqual(matrix_2x2_inversion([[1, 0], [0, 1]]), [[1, 0], [0, 1]]) - + def test_symmetric_matrix(self): """ It should return the inverse. """ - self.assertEqual(matrix_2x2_inversion([[2, 1], [1, 2]]), [[0.6666666666666666, -0.3333333333333333], - [-0.3333333333333333, 0.6666666666666666]]) + self.assertEqual( + matrix_2x2_inversion([[2, 1], [1, 2]]), + [[0.6666666666666666, -0.3333333333333333], + [-0.3333333333333333, 0.6666666666666666]] + ) # Edge test cases def test_matrix_with_zero_determinant(self): """ It should raise a ValueError because the determinant is zero. """ with self.assertRaises(ValueError): matrix_2x2_inversion([[1, 1], [2, 2]]) - + def test_matrix_with_zero_elements(self): """ It should raise a ValueError because the determinant is zero. """ with self.assertRaises(ValueError): matrix_2x2_inversion([[0, 0], [0, 0]]) - + + + # Defensive test cases + def test_non_list_input(self): + """ It should raise a TypeError because the input is not a list of lists. """ + with self.assertRaises(TypeError): + matrix_2x2_inversion("1, 2, 3, 4") + + def test_non_numeric_elements(self): + """ It should raise a TypeError because the input matrix contains non-numeric elements. """ + with self.assertRaises(TypeError): + matrix_2x2_inversion([[1, 2], [3, "4"]]) + + def test_non_2x2_matrix(self): + """ It should raise an AssertionError because the input matrix is not a 2x2 matrix. """ + with self.assertRaises(AssertionError): + matrix_2x2_inversion([[1, 2, 3], [4, 5, 6]]) + + def test_zero_determinant_matrix(self): + """ It should raise a ValueError because the determinant is zero. """ + with self.assertRaises(ValueError): + matrix_2x2_inversion([[1, 1], [2, 2]]) From 3fa9c6206d4d8d55e0da88e5a4f0e1f84012da7e Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Thu, 26 Dec 2024 16:54:26 +0100 Subject: [PATCH 007/248] Fixing the linting error related to the line length --- collaboration/guide/0_repository_setup.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/guide/0_repository_setup.md b/collaboration/guide/0_repository_setup.md index 4044fe979..3614733fa 100644 --- a/collaboration/guide/0_repository_setup.md +++ b/collaboration/guide/0_repository_setup.md @@ -14,7 +14,8 @@ repository and configure it for collaboration: - Change your [repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github) - Add or remove topics from your repository - - Update your main README with your group name and an initial overview of your project. (You can change this as much as you want.) + - Update your main README with your group name and an initial + overview of your project. (You can change this as much as you want.) - Under settings in your repository select: - _Issues_ - _Discussions_ From 97667dc255cb281818a0570205404d49912cb335 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 26 Dec 2024 17:47:12 +0100 Subject: [PATCH 008/248] Created calculate_average function and tests for it. --- solutions/calculate_average.py | 37 +++++++++++++++++++++++ solutions/tests/test_calculate_average.py | 32 ++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 solutions/calculate_average.py create mode 100644 solutions/tests/test_calculate_average.py diff --git a/solutions/calculate_average.py b/solutions/calculate_average.py new file mode 100644 index 000000000..8d2fea8b8 --- /dev/null +++ b/solutions/calculate_average.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for calculating the average of two numbers. + +Module contents: + - calculate_average: calculates the average of two numbers. + +Created on 26.12.2024 +@author: Yevheniia Rudenko +""" + +def calculate_average(num1: float, num2: float) -> float: + """Calculate the average of two numbers. + + Parameters: + num1: float, the first number + num2: float, the second number + + Returns -> float: the average of num1 and num2 + + Raises: + AssertionError: if any argument is not a number + + >>> calculate_average(4, 6) + 5.0 + + >>> calculate_average(10, 20) + 15.0 + + >>> calculate_average(-3, 3) + 0.0 + """ + assert isinstance(num1, (int, float)), "num1 must be a number" + assert isinstance(num2, (int, float)), "num2 must be a number" + + return (num1 + num2) / 2 diff --git a/solutions/tests/test_calculate_average.py b/solutions/tests/test_calculate_average.py new file mode 100644 index 000000000..3ab96c8ac --- /dev/null +++ b/solutions/tests/test_calculate_average.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Tests for calculate_average function. + +Created on 26.12.2024 +Author: Yevheniia Rudenko +""" +import unittest + +from ..calculate_average import calculate_average + + +class TestCalculateAverage(unittest.TestCase): + """Test the calculate_average function.""" + + def test_positive_numbers(self): + """It should return the correct average for positive numbers""" + self.assertEqual(calculate_average(4, 6), 5.0) + + def test_negative_numbers(self): + """It should return the correct average for negative numbers""" + self.assertEqual(calculate_average(-3, -5), -4.0) + + def test_positive_and_negative_numbers(self): + """It should return the correct average for both positive and negative numbers""" + self.assertEqual(calculate_average(-3, 3), 0.0) + + def test_not_numbers(self): + """It should raise AssertionError for not num input""" + with self.assertRaises(AssertionError): + calculate_average("a", 3) From e02bbffc028a78fd30c11e04055fbc2f0b045d18 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 26 Dec 2024 18:07:33 +0100 Subject: [PATCH 009/248] Created calculate_average function and tests --- solutions/calculate_average.py | 1 + solutions/tests/test_calculate_average.py | 1 + 2 files changed, 2 insertions(+) diff --git a/solutions/calculate_average.py b/solutions/calculate_average.py index 8d2fea8b8..8a236bb28 100644 --- a/solutions/calculate_average.py +++ b/solutions/calculate_average.py @@ -31,6 +31,7 @@ def calculate_average(num1: float, num2: float) -> float: >>> calculate_average(-3, 3) 0.0 """ + assert isinstance(num1, (int, float)), "num1 must be a number" assert isinstance(num2, (int, float)), "num2 must be a number" diff --git a/solutions/tests/test_calculate_average.py b/solutions/tests/test_calculate_average.py index 3ab96c8ac..f02c551cc 100644 --- a/solutions/tests/test_calculate_average.py +++ b/solutions/tests/test_calculate_average.py @@ -5,6 +5,7 @@ Created on 26.12.2024 Author: Yevheniia Rudenko + """ import unittest From a2a59d5b1d3cd3547dd45a6b9f3472bb408bd443 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 26 Dec 2024 18:47:26 +0100 Subject: [PATCH 010/248] =?UTF-8?q?=D0=A1reated=20calculate=20percentage?= =?UTF-8?q?=20function=20and=20tests=20for=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- solutions/calculate_percentage.py | 38 ++++++++++++++++++++ solutions/tests/test_calculate_percentage.py | 33 +++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 solutions/calculate_percentage.py create mode 100644 solutions/tests/test_calculate_percentage.py diff --git a/solutions/calculate_percentage.py b/solutions/calculate_percentage.py new file mode 100644 index 000000000..c6b7fd5a3 --- /dev/null +++ b/solutions/calculate_percentage.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for calculating the percentage of one number relative to another. + +Module contents: + - calculate_percentage: calculates what percentage the first number is of the second. + +Created on 26.12.2024 +@author: Yevheniia Rudenko +""" + +def calculate_percentage(part: float, whole: float) -> float: + """Calculate what percentage the first number is of the second. + + Parameters: + part: float, the numerator value + whole: float, the denominator value + + Returns -> float: the percentage of `part` in `whole` + + Raises: + AssertionError: if any argument is not a number + ZeroDivisionError: if `whole` is zero + + >>> calculate_percentage(50, 200) + 25.0 + >>> calculate_percentage(5, 20) + 25.0 + >>> calculate_percentage(0, 100) + 0.0 + """ + assert isinstance(part, (int, float)), "part must be a number" + assert isinstance(whole, (int, float)), "whole must be a number" + if whole == 0: + raise ZeroDivisionError("whole must not be zero") + + return (part / whole) * 100 diff --git a/solutions/tests/test_calculate_percentage.py b/solutions/tests/test_calculate_percentage.py new file mode 100644 index 000000000..80b2482e2 --- /dev/null +++ b/solutions/tests/test_calculate_percentage.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Tests for calculate percentage function + +Created on 26.12.2024 +@author: Yevheniia Rudenko +""" +import unittest + +from ..calculate_percentage import calculate_percentage + + +class TestCalculatePercentage(unittest.TestCase): + """Test the calculate_percentage function.""" + + def test_positive_numbers(self): + """It should return percentage for positive numbers""" + self.assertEqual(calculate_percentage(50, 200), 25.0) + + def test_zero_part(self): + """It should return 0% when the first number is zero""" + self.assertEqual(calculate_percentage(0, 100), 0.0) + + def test_whole_zero(self): + """It should raise ZeroDivisionError if the second number is zero""" + with self.assertRaises(ZeroDivisionError): + calculate_percentage(50, 0) + + def test_not_numbers(self): + """It should raise AssertionError for non-numeric input""" + with self.assertRaises(AssertionError): + calculate_percentage("50", 100) From 71cf1ae67749f72276147248148b5e891c81d33c Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Fri, 27 Dec 2024 00:08:30 +0100 Subject: [PATCH 011/248] Changing ci-checks file to discover unittests --- .github/workflows/ci-checks.yml | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index d56775453..1d3dc09d4 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -4,19 +4,19 @@ on: [push, pull_request, workflow_dispatch] jobs: ls_linting: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ls-lint/action@v2.2.3 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ls-lint/action@v2.2.3 md_formatting: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: nosborn/github-action-markdown-cli@v3.3.0 - with: - files: . - config_file: .markdownlint.yml + - uses: actions/checkout@v4 + - uses: nosborn/github-action-markdown-cli@v3.3.0 + with: + files: . + config_file: .markdownlint.yml py_formatting: runs-on: ubuntu-latest @@ -55,9 +55,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: python version - run: python --version + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" # Specify the Python version (e.g., '3.10'). + - name: Install Dependencies + run: pip install -r requirements.txt # Install any required dependencies (if applicable). shell: bash - - name: Python - Run Tests - run: python -m unittest + - name: Run Tests + run: python -m unittest discover -s tests -p "test_*.py" # Adjust the directory and pattern if necessary. shell: bash From d7222679bd12dd9c453cc48daef448b1aa8e71aa Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Fri, 27 Dec 2024 00:30:19 +0100 Subject: [PATCH 012/248] Undo: hanging ci-checks file to discover unittests --- .github/workflows/ci-checks.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 1d3dc09d4..bb7045ae6 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -55,13 +55,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" # Specify the Python version (e.g., '3.10'). - - name: Install Dependencies - run: pip install -r requirements.txt # Install any required dependencies (if applicable). + - name: python version + run: python --version shell: bash - - name: Run Tests - run: python -m unittest discover -s tests -p "test_*.py" # Adjust the directory and pattern if necessary. + - name: Python - Run Tests + run: python -m unittest shell: bash From 2a050d81c81ecb0c42dfe6a5efb997cc2c2730f8 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Fri, 27 Dec 2024 10:05:13 +0100 Subject: [PATCH 013/248] Reformatting the funtion and the test to conform with ruff linting --- solutions/matrix_2x2_inversion.py | 16 +++--- solutions/tests/test_matrix_2x2_inversion.py | 59 +++++++++++--------- 2 files changed, 42 insertions(+), 33 deletions(-) diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py index c709ab3e0..bb5106c4b 100644 --- a/solutions/matrix_2x2_inversion.py +++ b/solutions/matrix_2x2_inversion.py @@ -12,28 +12,29 @@ Author: Awaab98 """ + def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: """ Calculates the inverse of a 2x2 matrix. - + The function calculates the inverse of a 2x2 matrix. The input matrix - must be an invertible 2x2 matrix (i.e., the determinant is not zero). - + must be an invertible 2x2 matrix (i.e., the determinant is not zero). + Parameters: - matrix: list, a list of lists representing a 2x2 matrix in which + matrix: list, a list of lists representing a 2x2 matrix in which every element is either int of float. Returns: list: a list of lists representing the inverse of the input matrix. - + Raises: TypeError: if the input matrix is not a list of lists. TypeError: if one of the elements of the input matrix is not int or float. AssertionError: if the input matrix is not a 2x2 matrix. ValueError: if the determinant of input matrix is zero. - + Examples: >>> matrix_2x2_inversion([[1, 2], [3, 4]]) [[-2.0, 1.0], [1.5, -0.5]] @@ -55,7 +56,6 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: if len(matrix) != 2 or not all(len(row) == 2 for row in matrix): raise AssertionError("Input matrix must be a 2x2 matrix.") - # Calculate the determinant determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] @@ -66,7 +66,7 @@ def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: # Calculate the inverse using the 2x2 matrix formula inverse = [ [matrix[1][1] / determinant, -matrix[0][1] / determinant], - [-matrix[1][0] / determinant, matrix[0][0] / determinant] + [-matrix[1][0] / determinant, matrix[0][0] / determinant], ] return inverse diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py index aca1c8392..11eea094a 100644 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -4,80 +4,89 @@ A module for testing the matrix_2x2_inversion function. Test categories: - - Standard test cases: test the function with typical inputs. + - Standard test cases: test the function with typical inputs. - Edge test cases: test the function with extreme inputs. - Defensive tests: test the function with invalid inputs. - + Created on 2024-12-26 Author: Awaab98 """ import unittest -from solutions.matrix_2x2_inversion import matrix_2x2_inversion +from ..matrix_2x2_inversion import matrix_2x2_inversion class TestMatrix2x2Inversion(unittest.TestCase): - """ Tests suite for the matrix_2x2_inversion function. """ + """Tests suite for the matrix_2x2_inversion function.""" # Standard test cases def test_matrix_with_integer_elements(self): - """ It should return the inverse of the input matrix, handling integers. """ - self.assertEqual(matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) + """It should return the inverse of the input matrix, handling integers.""" + self.assertEqual( + matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] + ) def test_matrix_with_float_elements(self): - """ It should return the inverse of the input matrix, handling floats. """ - self.assertEqual(matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]]) + """It should return the inverse of the input matrix, handling floats.""" + self.assertEqual( + matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]] + ) def test_matrix_with_mixed_elements(self): - """ It should return the inverse of the input matrix, handling mixed-types elements. """ - self.assertEqual(matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]]) + """It should return the inverse of the input matrix, handling mixed-types elements.""" + self.assertEqual( + matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] + ) def test_matrix_with_negative_elements(self): - """ It should return the inverse of the input matrix, handling negative elements. """ - self.assertEqual(matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]]) + """It should return the inverse of the input matrix, handling negative elements.""" + self.assertEqual( + matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]] + ) def test_identity_matrix(self): - """ It should return the identity matrix. """ + """It should return the identity matrix.""" self.assertEqual(matrix_2x2_inversion([[1, 0], [0, 1]]), [[1, 0], [0, 1]]) def test_symmetric_matrix(self): - """ It should return the inverse. """ + """It should return the inverse.""" self.assertEqual( - matrix_2x2_inversion([[2, 1], [1, 2]]), - [[0.6666666666666666, -0.3333333333333333], - [-0.3333333333333333, 0.6666666666666666]] - ) + matrix_2x2_inversion([[2, 1], [1, 2]]), + [ + [0.6666666666666666, -0.3333333333333333], + [-0.3333333333333333, 0.6666666666666666], + ], + ) # Edge test cases def test_matrix_with_zero_determinant(self): - """ It should raise a ValueError because the determinant is zero. """ + """It should raise a ValueError because the determinant is zero.""" with self.assertRaises(ValueError): matrix_2x2_inversion([[1, 1], [2, 2]]) def test_matrix_with_zero_elements(self): - """ It should raise a ValueError because the determinant is zero. """ + """It should raise a ValueError because the determinant is zero.""" with self.assertRaises(ValueError): matrix_2x2_inversion([[0, 0], [0, 0]]) - # Defensive test cases def test_non_list_input(self): - """ It should raise a TypeError because the input is not a list of lists. """ + """It should raise a TypeError because the input is not a list of lists.""" with self.assertRaises(TypeError): matrix_2x2_inversion("1, 2, 3, 4") def test_non_numeric_elements(self): - """ It should raise a TypeError because the input matrix contains non-numeric elements. """ + """It should raise a TypeError because the input matrix contains non-numeric elements.""" with self.assertRaises(TypeError): matrix_2x2_inversion([[1, 2], [3, "4"]]) def test_non_2x2_matrix(self): - """ It should raise an AssertionError because the input matrix is not a 2x2 matrix. """ + """It should raise an AssertionError because the input matrix is not a 2x2 matrix.""" with self.assertRaises(AssertionError): matrix_2x2_inversion([[1, 2, 3], [4, 5, 6]]) def test_zero_determinant_matrix(self): - """ It should raise a ValueError because the determinant is zero. """ + """It should raise a ValueError because the determinant is zero.""" with self.assertRaises(ValueError): matrix_2x2_inversion([[1, 1], [2, 2]]) From e86d2f4d294bfb577294c573c08a43fdefc713d4 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Fri, 27 Dec 2024 18:12:57 +0100 Subject: [PATCH 014/248] Update solutions/calculate_percentage.py Co-authored-by: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> --- solutions/calculate_percentage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/calculate_percentage.py b/solutions/calculate_percentage.py index c6b7fd5a3..034683401 100644 --- a/solutions/calculate_percentage.py +++ b/solutions/calculate_percentage.py @@ -11,7 +11,7 @@ """ def calculate_percentage(part: float, whole: float) -> float: - """Calculate what percentage the first number is of the second. + """Calculate what percentage the first number is of the second. This function calculates the percentage by dividing part by whole and then multiplying by 100. Parameters: part: float, the numerator value From 9b48996a61adc8838fb9a274d9488bab1ef3ac1b Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Fri, 27 Dec 2024 18:13:23 +0100 Subject: [PATCH 015/248] Update solutions/calculate_percentage.py Co-authored-by: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> --- solutions/calculate_percentage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/calculate_percentage.py b/solutions/calculate_percentage.py index 034683401..acff5208d 100644 --- a/solutions/calculate_percentage.py +++ b/solutions/calculate_percentage.py @@ -10,7 +10,7 @@ @author: Yevheniia Rudenko """ -def calculate_percentage(part: float, whole: float) -> float: +def calculate_percentage(numerator: float, denominator: float) -> float: """Calculate what percentage the first number is of the second. This function calculates the percentage by dividing part by whole and then multiplying by 100. Parameters: From 7d460e19aab2417c7a19ef92a81f8cf91f5204b7 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Fri, 27 Dec 2024 19:51:46 +0100 Subject: [PATCH 016/248] Initial suggestions for Group Norms --- collaboration/README.md | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/collaboration/README.md b/collaboration/README.md index 20889b951..a5e25bb5f 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -2,4 +2,55 @@ +## Group Norms Summary + +The group values open communication, mutual respect, and collaboration through +clear updates, constructive feedback, and trust. Meetings are punctual, inclusive, +and focused on progress, while conflicts are resolved respectfully. Flexibility +and support ensure individual growth and team success. + +--- + + +## Group Norms + +1. **Open Communication** + Share ideas freely, listen actively, and use platforms like Slack and GitHub + for updates and collaboration. + +2. **Respect for Time** + Adhere to meeting schedules, start and end meetings punctually, and communicate + any delays or absences in advance. + +3. **Constructive Feedback** + Give specific, respectful, and actionable feedback to help team members grow + and improve. + +4. **Asynchronous Work** + Update task progress regularly and respect individual schedules while ensuring + timely completion of tasks. + +5. **Team Support** + Assist members facing challenges by sharing resources, guidance, and technical + expertise. + +6. **Conflict Resolution** + Address disagreements calmly, focusing on ideas rather than individuals, and + use votes or polls to resolve prolonged debates. + +7. **Trust and Transparency** + Build trust through consistent communication, meet deadlines, and handle damaged + trust openly and maturely. + +8. **Inclusivity and Respect** + Value diverse perspectives and ensure everyone has a chance to participate without + fear of exclusion or disrespect. + +9. **Documentation and Clarity** + Maintain clear and updated documentation for tasks, code, and decisions to support + collaborative work. + +10. **Focus on Growth** + Share learning opportunities, celebrate wins, and embrace challenges as opportunities + to improve collectively. From edef7ebdcba3241279e104bacbd22e498b8e8460 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Fri, 27 Dec 2024 21:27:41 +0100 Subject: [PATCH 017/248] updates to norms --- .github/PULL_REQUEST_TEMPLATE.md | 4 +-- collaboration/README.md | 51 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 330a04cbc..7d9ab3bef 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,9 +12,9 @@ about: A template PR for code review with a checklist -## Behavior +# Behavior -### Files +## Files - [ ] The file name describes the function's behavior - [ ] There is a module docstring in the function file diff --git a/collaboration/README.md b/collaboration/README.md index 20889b951..a5e25bb5f 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -2,4 +2,55 @@ +## Group Norms Summary + +The group values open communication, mutual respect, and collaboration through +clear updates, constructive feedback, and trust. Meetings are punctual, inclusive, +and focused on progress, while conflicts are resolved respectfully. Flexibility +and support ensure individual growth and team success. + +--- + + +## Group Norms + +1. **Open Communication** + Share ideas freely, listen actively, and use platforms like Slack and GitHub + for updates and collaboration. + +2. **Respect for Time** + Adhere to meeting schedules, start and end meetings punctually, and communicate + any delays or absences in advance. + +3. **Constructive Feedback** + Give specific, respectful, and actionable feedback to help team members grow + and improve. + +4. **Asynchronous Work** + Update task progress regularly and respect individual schedules while ensuring + timely completion of tasks. + +5. **Team Support** + Assist members facing challenges by sharing resources, guidance, and technical + expertise. + +6. **Conflict Resolution** + Address disagreements calmly, focusing on ideas rather than individuals, and + use votes or polls to resolve prolonged debates. + +7. **Trust and Transparency** + Build trust through consistent communication, meet deadlines, and handle damaged + trust openly and maturely. + +8. **Inclusivity and Respect** + Value diverse perspectives and ensure everyone has a chance to participate without + fear of exclusion or disrespect. + +9. **Documentation and Clarity** + Maintain clear and updated documentation for tasks, code, and decisions to support + collaborative work. + +10. **Focus on Growth** + Share learning opportunities, celebrate wins, and embrace challenges as opportunities + to improve collectively. From eeb3feae80f2929bbdc79498c1bbc5817dc54660 Mon Sep 17 00:00:00 2001 From: Lukmon Olamilekan ALAO <96598710+Allukmon@users.noreply.github.com> Date: Sat, 28 Dec 2024 01:43:53 +0100 Subject: [PATCH 018/248] Update solutions --- solutions/find_maximum_value.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 solutions/find_maximum_value.py diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py new file mode 100644 index 000000000..993775b0e --- /dev/null +++ b/solutions/find_maximum_value.py @@ -0,0 +1,5 @@ +""" +created 2024-12-28 + +@author: Lukmon Alao +""" \ No newline at end of file From 34a8627a93d5b26789150f2c87713ee5a9673f38 Mon Sep 17 00:00:00 2001 From: Lukmon Olamilekan ALAO <96598710+Allukmon@users.noreply.github.com> Date: Sat, 28 Dec 2024 01:45:28 +0100 Subject: [PATCH 019/248] Update solutions --- solutions/find_minimum_value.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 solutions/find_minimum_value.py diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py new file mode 100644 index 000000000..993775b0e --- /dev/null +++ b/solutions/find_minimum_value.py @@ -0,0 +1,5 @@ +""" +created 2024-12-28 + +@author: Lukmon Alao +""" \ No newline at end of file From 40d5a8beedd2058db250e05a57337682ecda4d44 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Sat, 28 Dec 2024 12:26:11 +0100 Subject: [PATCH 020/248] Added add.py function and test_add.py --- solutions/add.py | 3 +++ solutions/tests/test_add.py | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 solutions/add.py create mode 100644 solutions/tests/test_add.py diff --git a/solutions/add.py b/solutions/add.py new file mode 100644 index 000000000..ae8bb3949 --- /dev/null +++ b/solutions/add.py @@ -0,0 +1,3 @@ +def add (a, b): + """ return the summation of two numbers """ + return (a+b) \ No newline at end of file diff --git a/solutions/tests/test_add.py b/solutions/tests/test_add.py new file mode 100644 index 000000000..46e24b20b --- /dev/null +++ b/solutions/tests/test_add.py @@ -0,0 +1,8 @@ +from add import add + +def test_add.py: + assert add(5,3) == 8 + assert add (-1, 1) == 0 + assert add (6, -5) == 1 + +print ("All add tests passed!") \ No newline at end of file From 732b3f1600063a1769965b6fdd68d4db4fae2ad9 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 15:14:55 +0100 Subject: [PATCH 021/248] Check the py_tests ci-checks --- solutions/binary_search.py | 42 +++++++++++++++++++++++++++ solutions/tests/test_binary_search.py | 0 2 files changed, 42 insertions(+) create mode 100644 solutions/binary_search.py create mode 100644 solutions/tests/test_binary_search.py diff --git a/solutions/binary_search.py b/solutions/binary_search.py new file mode 100644 index 000000000..85484fae1 --- /dev/null +++ b/solutions/binary_search.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" + A module for a function that performs binary search on a sorted list. + +Module contents: + - binary_search: Performs binary search on a sorted list + +Created on 2024-12-27 +Author: Awaab98""" + +from typing import List, Union + +def binary_search(list_to_be_searched: List[Union[int, float, str]], target_element: Union[int, float, str]) -> int: + """Performs binary search on a sorted list. + + Parameters: + list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. + target_element: int, float, str: The element to be searched for in the list. + + Returns: + int: The index of the target element in the list if it is found, -1 otherwise. + + Raises: + TypeError: If the first argument is not a list. + TypeError: If the list is not a list of integers, floats or strings. + ValueError: If the list is empty. + ValueError: If the list is not sorted. + + Examples: + >>> binary_search([1, 2, 3, 4, 5], 3) + 2 + >>> binary_search([1, 2, 3, 4, 5], 6) + -1 + >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') + -1 + """ + diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py new file mode 100644 index 000000000..e69de29bb From 5f541eecd5083da5c19c682a01da6263b78ee2f6 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 15:21:54 +0100 Subject: [PATCH 022/248] Check the py_tests ci-checks --- solutions/__init__.py | 0 solutions/matrix_2x2_inversion.py | 72 --------------- solutions/tests/test_matrix_2x2_inversion.py | 92 -------------------- 3 files changed, 164 deletions(-) delete mode 100644 solutions/__init__.py delete mode 100644 solutions/matrix_2x2_inversion.py delete mode 100644 solutions/tests/test_matrix_2x2_inversion.py diff --git a/solutions/__init__.py b/solutions/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py deleted file mode 100644 index bb5106c4b..000000000 --- a/solutions/matrix_2x2_inversion.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -A module for calculating the inverse of a matrix that has two rows -and two columns. - -Module contents: - - matrix_2x2_inversion: returns the inverse of a 2x2 matrix. - -Created on 2024-12-26 -Author: Awaab98 -""" - - -def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: - """ - Calculates the inverse of a 2x2 matrix. - - The function calculates the inverse of a 2x2 matrix. The input matrix - must be an invertible 2x2 matrix (i.e., the determinant is not zero). - - - Parameters: - matrix: list, a list of lists representing a 2x2 matrix in which - every element is either int of float. - - Returns: - list: a list of lists representing the inverse of the input matrix. - - Raises: - TypeError: if the input matrix is not a list of lists. - TypeError: if one of the elements of the input matrix is not int or float. - AssertionError: if the input matrix is not a 2x2 matrix. - ValueError: if the determinant of input matrix is zero. - - - Examples: - >>> matrix_2x2_inversion([[1, 2], [3, 4]]) - [[-2.0, 1.0], [1.5, -0.5]] - >>> matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]) - [[-2.0, 1.0], [1.5, -0.5]] - >>> matrix_2x2_inversion([[1, 2.0], [3, 4]]) - [[-2.0, 1.0], [1.5, -0.5]] - """ - - # Check if the input matrix is a list of lists - if not isinstance(matrix, list) or not all(isinstance(row, list) for row in matrix): - raise TypeError("Input matrix must be a list of lists.") - - # Check if the elements of the input matrix are either int or float - if not all(isinstance(element, (int, float)) for row in matrix for element in row): - raise TypeError("Elements of input matrix must be either int or float.") - - # Check if the input matrix is a 2x2 matrix - if len(matrix) != 2 or not all(len(row) == 2 for row in matrix): - raise AssertionError("Input matrix must be a 2x2 matrix.") - - # Calculate the determinant - determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] - - # If determinant is 0, the matrix is not invertible - if determinant == 0: - raise ValueError("Matrix is not invertible because determinant is zero.") - - # Calculate the inverse using the 2x2 matrix formula - inverse = [ - [matrix[1][1] / determinant, -matrix[0][1] / determinant], - [-matrix[1][0] / determinant, matrix[0][0] / determinant], - ] - - return inverse diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py deleted file mode 100644 index 11eea094a..000000000 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for testing the matrix_2x2_inversion function. - -Test categories: - - Standard test cases: test the function with typical inputs. - - Edge test cases: test the function with extreme inputs. - - Defensive tests: test the function with invalid inputs. - - -Created on 2024-12-26 -Author: Awaab98 -""" - -import unittest -from ..matrix_2x2_inversion import matrix_2x2_inversion - - -class TestMatrix2x2Inversion(unittest.TestCase): - """Tests suite for the matrix_2x2_inversion function.""" - - # Standard test cases - def test_matrix_with_integer_elements(self): - """It should return the inverse of the input matrix, handling integers.""" - self.assertEqual( - matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] - ) - - def test_matrix_with_float_elements(self): - """It should return the inverse of the input matrix, handling floats.""" - self.assertEqual( - matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]] - ) - - def test_matrix_with_mixed_elements(self): - """It should return the inverse of the input matrix, handling mixed-types elements.""" - self.assertEqual( - matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] - ) - - def test_matrix_with_negative_elements(self): - """It should return the inverse of the input matrix, handling negative elements.""" - self.assertEqual( - matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]] - ) - - def test_identity_matrix(self): - """It should return the identity matrix.""" - self.assertEqual(matrix_2x2_inversion([[1, 0], [0, 1]]), [[1, 0], [0, 1]]) - - def test_symmetric_matrix(self): - """It should return the inverse.""" - self.assertEqual( - matrix_2x2_inversion([[2, 1], [1, 2]]), - [ - [0.6666666666666666, -0.3333333333333333], - [-0.3333333333333333, 0.6666666666666666], - ], - ) - - # Edge test cases - def test_matrix_with_zero_determinant(self): - """It should raise a ValueError because the determinant is zero.""" - with self.assertRaises(ValueError): - matrix_2x2_inversion([[1, 1], [2, 2]]) - - def test_matrix_with_zero_elements(self): - """It should raise a ValueError because the determinant is zero.""" - with self.assertRaises(ValueError): - matrix_2x2_inversion([[0, 0], [0, 0]]) - - # Defensive test cases - def test_non_list_input(self): - """It should raise a TypeError because the input is not a list of lists.""" - with self.assertRaises(TypeError): - matrix_2x2_inversion("1, 2, 3, 4") - - def test_non_numeric_elements(self): - """It should raise a TypeError because the input matrix contains non-numeric elements.""" - with self.assertRaises(TypeError): - matrix_2x2_inversion([[1, 2], [3, "4"]]) - - def test_non_2x2_matrix(self): - """It should raise an AssertionError because the input matrix is not a 2x2 matrix.""" - with self.assertRaises(AssertionError): - matrix_2x2_inversion([[1, 2, 3], [4, 5, 6]]) - - def test_zero_determinant_matrix(self): - """It should raise a ValueError because the determinant is zero.""" - with self.assertRaises(ValueError): - matrix_2x2_inversion([[1, 1], [2, 2]]) From c68b474f9a2609f5372e735f86955bfa67be72f1 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 15:25:21 +0100 Subject: [PATCH 023/248] Check the py_tests ci-checks --- solutions/matrix_2x2_inversion.py | 72 +++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 solutions/matrix_2x2_inversion.py diff --git a/solutions/matrix_2x2_inversion.py b/solutions/matrix_2x2_inversion.py new file mode 100644 index 000000000..bb5106c4b --- /dev/null +++ b/solutions/matrix_2x2_inversion.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +A module for calculating the inverse of a matrix that has two rows +and two columns. + +Module contents: + - matrix_2x2_inversion: returns the inverse of a 2x2 matrix. + +Created on 2024-12-26 +Author: Awaab98 +""" + + +def matrix_2x2_inversion(matrix: list[list[float]]) -> list[list[float]]: + """ + Calculates the inverse of a 2x2 matrix. + + The function calculates the inverse of a 2x2 matrix. The input matrix + must be an invertible 2x2 matrix (i.e., the determinant is not zero). + + + Parameters: + matrix: list, a list of lists representing a 2x2 matrix in which + every element is either int of float. + + Returns: + list: a list of lists representing the inverse of the input matrix. + + Raises: + TypeError: if the input matrix is not a list of lists. + TypeError: if one of the elements of the input matrix is not int or float. + AssertionError: if the input matrix is not a 2x2 matrix. + ValueError: if the determinant of input matrix is zero. + + + Examples: + >>> matrix_2x2_inversion([[1, 2], [3, 4]]) + [[-2.0, 1.0], [1.5, -0.5]] + >>> matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]) + [[-2.0, 1.0], [1.5, -0.5]] + >>> matrix_2x2_inversion([[1, 2.0], [3, 4]]) + [[-2.0, 1.0], [1.5, -0.5]] + """ + + # Check if the input matrix is a list of lists + if not isinstance(matrix, list) or not all(isinstance(row, list) for row in matrix): + raise TypeError("Input matrix must be a list of lists.") + + # Check if the elements of the input matrix are either int or float + if not all(isinstance(element, (int, float)) for row in matrix for element in row): + raise TypeError("Elements of input matrix must be either int or float.") + + # Check if the input matrix is a 2x2 matrix + if len(matrix) != 2 or not all(len(row) == 2 for row in matrix): + raise AssertionError("Input matrix must be a 2x2 matrix.") + + # Calculate the determinant + determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] + + # If determinant is 0, the matrix is not invertible + if determinant == 0: + raise ValueError("Matrix is not invertible because determinant is zero.") + + # Calculate the inverse using the 2x2 matrix formula + inverse = [ + [matrix[1][1] / determinant, -matrix[0][1] / determinant], + [-matrix[1][0] / determinant, matrix[0][0] / determinant], + ] + + return inverse From ab52a7417d21f34eb10bbc42f7ad05bd3bf70989 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 15:38:32 +0100 Subject: [PATCH 024/248] Check the py_tests ci-checks --- solutions/tests/test_matrix_2x2_inversion.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 solutions/tests/test_matrix_2x2_inversion.py diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py new file mode 100644 index 000000000..60643aa09 --- /dev/null +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for testing the matrix_2x2_inversion function. + +Test categories: + - Standard test cases: test the function with typical inputs. + - Edge test cases: test the function with extreme inputs. + - Defensive tests: test the function with invalid inputs. + + +Created on 2024-12-26 +Author: Awaab98 +""" From 8f403cf7bd265e2ff910a1e62a2599702973cccc Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:00:55 +0100 Subject: [PATCH 025/248] Check the py_tests ci-checks --- .github/workflows/ci-checks.yml | 13 +++- solutions/tests/test_matrix_2x2_inversion.py | 78 ++++++++++++++++++++ 2 files changed, 87 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index c31aee9da..260d88549 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -55,11 +55,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - + - name: python version run: python --version shell: bash - + + # Add PYTHONPATH to environment + - name: Set PYTHONPATH + run: echo "PYTHONPATH=$PYTHONPATH:$GITHUB_WORKSPACE" >> $GITHUB_ENV + shell: bash + - name: Check for test files id: check_tests run: | @@ -69,8 +74,8 @@ jobs: echo "has_tests=false" >> $GITHUB_OUTPUT fi shell: bash - + - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest + run: python -m unittest discover -s solutions/tests -p "test_*.py" shell: bash diff --git a/solutions/tests/test_matrix_2x2_inversion.py b/solutions/tests/test_matrix_2x2_inversion.py index 60643aa09..295596404 100644 --- a/solutions/tests/test_matrix_2x2_inversion.py +++ b/solutions/tests/test_matrix_2x2_inversion.py @@ -12,3 +12,81 @@ Created on 2024-12-26 Author: Awaab98 """ + +import unittest +from solutions.matrix_2x2_inversion import matrix_2x2_inversion + + +class TestMatrix2x2Inversion(unittest.TestCase): + """Tests suite for the matrix_2x2_inversion function.""" + + # Standard test cases + def test_matrix_with_integer_elements(self): + """It should return the inverse of the input matrix, handling integers.""" + self.assertEqual( + matrix_2x2_inversion([[1, 2], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] + ) + + def test_matrix_with_float_elements(self): + """It should return the inverse of the input matrix, handling floats.""" + self.assertEqual( + matrix_2x2_inversion([[1.0, 2.0], [3.0, 4.0]]), [[-2.0, 1.0], [1.5, -0.5]] + ) + + def test_matrix_with_mixed_elements(self): + """It should return the inverse of the input matrix, handling mixed-types elements.""" + self.assertEqual( + matrix_2x2_inversion([[1, 2.0], [3, 4]]), [[-2.0, 1.0], [1.5, -0.5]] + ) + + def test_matrix_with_negative_elements(self): + """It should return the inverse of the input matrix, handling negative elements.""" + self.assertEqual( + matrix_2x2_inversion([[-1, -2], [-3, -4]]), [[2.0, -1.0], [-1.5, 0.5]] + ) + + def test_identity_matrix(self): + """It should return the identity matrix.""" + self.assertEqual(matrix_2x2_inversion([[1, 0], [0, 1]]), [[1, 0], [0, 1]]) + + def test_symmetric_matrix(self): + """It should return the inverse.""" + self.assertEqual( + matrix_2x2_inversion([[2, 1], [1, 2]]), + [ + [0.6666666666666666, -0.3333333333333333], + [-0.3333333333333333, 0.6666666666666666], + ], + ) + + # Edge test cases + def test_matrix_with_zero_determinant(self): + """It should raise a ValueError because the determinant is zero.""" + with self.assertRaises(ValueError): + matrix_2x2_inversion([[1, 1], [2, 2]]) + + def test_matrix_with_zero_elements(self): + """It should raise a ValueError because the determinant is zero.""" + with self.assertRaises(ValueError): + matrix_2x2_inversion([[0, 0], [0, 0]]) + + # Defensive test cases + def test_non_list_input(self): + """It should raise a TypeError because the input is not a list of lists.""" + with self.assertRaises(TypeError): + matrix_2x2_inversion("1, 2, 3, 4") + + def test_non_numeric_elements(self): + """It should raise a TypeError because the input matrix contains non-numeric elements.""" + with self.assertRaises(TypeError): + matrix_2x2_inversion([[1, 2], [3, "4"]]) + + def test_non_2x2_matrix(self): + """It should raise an AssertionError because the input matrix is not a 2x2 matrix.""" + with self.assertRaises(AssertionError): + matrix_2x2_inversion([[1, 2, 3], [4, 5, 6]]) + + def test_zero_determinant_matrix(self): + """It should raise a ValueError because the determinant is zero.""" + with self.assertRaises(ValueError): + matrix_2x2_inversion([[1, 1], [2, 2]]) From 31c677943acf087dead888cb9f4fbe9a1dd857d8 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:12:25 +0100 Subject: [PATCH 026/248] Check the py_tests ci-checks --- .github/workflows/ci-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 260d88549..ff26ee94e 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -77,5 +77,5 @@ jobs: - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest discover -s solutions/tests -p "test_*.py" + run: python -m unittest shell: bash From d7fa011f8b022dfa9dfc5d970ac30fef249bc958 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:14:15 +0100 Subject: [PATCH 027/248] Check the py_tests ci-checks --- .github/workflows/ci-checks.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index ff26ee94e..99ca1bfc6 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -60,11 +60,6 @@ jobs: run: python --version shell: bash - # Add PYTHONPATH to environment - - name: Set PYTHONPATH - run: echo "PYTHONPATH=$PYTHONPATH:$GITHUB_WORKSPACE" >> $GITHUB_ENV - shell: bash - - name: Check for test files id: check_tests run: | @@ -77,5 +72,5 @@ jobs: - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest + run: python -m unittest discover -s solutions/tests -p "test_*.py" shell: bash From b36b6093cd3d7dee04bf5e20d4ad94a630568f17 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:35:05 +0100 Subject: [PATCH 028/248] Check the py_tests ci-checks --- .github/workflows/ci-checks.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 99ca1bfc6..fc7380f9f 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -55,22 +55,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: python version run: python --version shell: bash - - - name: Check for test files - id: check_tests - run: | - if find . -type f -name "test_*.py" | grep -q .; then - echo "has_tests=true" >> $GITHUB_OUTPUT - else - echo "has_tests=false" >> $GITHUB_OUTPUT - fi - shell: bash - - name: Python - Run Tests - if: steps.check_tests.outputs.has_tests == 'true' run: python -m unittest discover -s solutions/tests -p "test_*.py" shell: bash From a439326112d43bfa46a345ce7ac2d5a35ca6725b Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:43:45 +0100 Subject: [PATCH 029/248] Check the py_tests ci-checks --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- .github/workflows/ci-checks.yml | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 7d9ab3bef..330a04cbc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,9 +12,9 @@ about: A template PR for code review with a checklist -# Behavior +## Behavior -## Files +### Files - [ ] The file name describes the function's behavior - [ ] There is a module docstring in the function file diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index fc7380f9f..99ca1bfc6 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -55,9 +55,22 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: python version run: python --version shell: bash + + - name: Check for test files + id: check_tests + run: | + if find . -type f -name "test_*.py" | grep -q .; then + echo "has_tests=true" >> $GITHUB_OUTPUT + else + echo "has_tests=false" >> $GITHUB_OUTPUT + fi + shell: bash + - name: Python - Run Tests + if: steps.check_tests.outputs.has_tests == 'true' run: python -m unittest discover -s solutions/tests -p "test_*.py" shell: bash From 05c6caf9116d7612e3b8fe26f8dd534c8229a252 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 16:47:36 +0100 Subject: [PATCH 030/248] Check the py_tests ci-checks --- collaboration/guide/0_repository_setup.md | 1 - 1 file changed, 1 deletion(-) diff --git a/collaboration/guide/0_repository_setup.md b/collaboration/guide/0_repository_setup.md index ede657d1a..aae9cb76e 100644 --- a/collaboration/guide/0_repository_setup.md +++ b/collaboration/guide/0_repository_setup.md @@ -14,7 +14,6 @@ it for collaboration: - Change your [repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github) - Add or remove topics from your repository - - Update your main README with your group name and an initial overview of your project. (You can change this as much as you want.) - Under settings in your repository select: From 9817d0c88dfe85746e69db452e0a8a5e99f6a4f3 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 17:07:24 +0100 Subject: [PATCH 031/248] Returning to the updated version of the ci-checks.yml file --- .github/workflows/ci-checks.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 99ca1bfc6..48c2bad88 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -4,19 +4,19 @@ on: [push, pull_request, workflow_dispatch] jobs: ls_linting: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ls-lint/action@v2.2.3 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ls-lint/action@v2.2.3 md_formatting: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: nosborn/github-action-markdown-cli@v3.3.0 - with: - files: . - config_file: .markdownlint.yml + - uses: actions/checkout@v4 + - uses: nosborn/github-action-markdown-cli@v3.3.0 + with: + files: . + config_file: .markdownlint.yml py_formatting: runs-on: ubuntu-latest @@ -55,11 +55,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - + - name: python version run: python --version shell: bash - + - name: Check for test files id: check_tests run: | @@ -69,8 +69,8 @@ jobs: echo "has_tests=false" >> $GITHUB_OUTPUT fi shell: bash - + - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest discover -s solutions/tests -p "test_*.py" + run: python -m unittest shell: bash From 61cd62b0781de9b995d2ed00c9ae61aac4c66371 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 17:49:11 +0100 Subject: [PATCH 032/248] Finishing with the development of function and tests --- .github/workflows/ci-checks.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 48c2bad88..c22b5d2ba 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -4,19 +4,19 @@ on: [push, pull_request, workflow_dispatch] jobs: ls_linting: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ls-lint/action@v2.2.3 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ls-lint/action@v2.2.3 md_formatting: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: nosborn/github-action-markdown-cli@v3.3.0 - with: - files: . - config_file: .markdownlint.yml + - uses: actions/checkout@v4 + - uses: nosborn/github-action-markdown-cli@v3.3.0 + with: + files: . + config_file: .markdownlint.yml py_formatting: runs-on: ubuntu-latest @@ -55,11 +55,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - + - name: python version run: python --version shell: bash - + - name: Check for test files id: check_tests run: | @@ -69,8 +69,8 @@ jobs: echo "has_tests=false" >> $GITHUB_OUTPUT fi shell: bash - + - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest + run: python -m unittest discover -s tests -p "test_*.py" shell: bash From 5b2a45b6d1ca37575dc1a65bddfd2560069b577d Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 17:52:12 +0100 Subject: [PATCH 033/248] Finished with the development of function and tests --- .github/workflows/ci-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index c22b5d2ba..99ca1bfc6 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -72,5 +72,5 @@ jobs: - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest discover -s tests -p "test_*.py" + run: python -m unittest discover -s solutions/tests -p "test_*.py" shell: bash From 968b37cc5086887a3f6e42d3828dd8c2b73b44c1 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Sat, 28 Dec 2024 19:03:24 +0100 Subject: [PATCH 034/248] Added add.py function and test_add.py --- solutions/add.py | 41 +++++++++++++++++++++++++++--- solutions/tests/test_add.py | 50 ++++++++++++++++++++++++++++++++----- 2 files changed, 82 insertions(+), 9 deletions(-) diff --git a/solutions/add.py b/solutions/add.py index ae8bb3949..f3b815134 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -1,3 +1,38 @@ -def add (a, b): - """ return the summation of two numbers """ - return (a+b) \ No newline at end of file +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for adding two numbers. + +Module contents: + -add: adds two numbers and returns the result. + +Created on 28.12.2024 +@author : Ridwan Ayinde + +""" + + + + +def add (a:float, b:float) -> float: + """ Add two numbers. + + Parameters: + a:float, the first number + b:float, the second number + + Returns -> float: the sum of a and b + + Raises: + AssertionError: if any argument is not a number + + >>> add(4, 6) + 10.0 + >>> add(0, 0) + 0.0 + + """ + # Validate inputs + assert isinstance (a, (int, float)), "a must be a number" + assert isinstance (b, (int, float)), "b must be a number" + return float(a+b) \ No newline at end of file diff --git a/solutions/tests/test_add.py b/solutions/tests/test_add.py index 46e24b20b..8431a3fde 100644 --- a/solutions/tests/test_add.py +++ b/solutions/tests/test_add.py @@ -1,8 +1,46 @@ -from add import add +#! usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +Test for addition of two numbers + +Created on 28.12.2024 +@author : Ridwan Ayinde + + +""" + + + +import unittest +from solutions.add import add #Import the function to test + +class TestAddFunction(unittest.TestCase): + + def test_add_positive_numbers(self): + """Test adding two positive numbers """ + self.assertEqual(add(4,6), 10) + + def test_add_negative_numbers (self): + """Test add two negative numbers""" + self.assertEqual(add(-4,-5),-9) + + def test_add_mixed_sign_numbers(self): + """Test adding a positive and a negative number """ + self.assertEqual (add(4,-5),-1) + + def test_add_zero (self): + """Test adding zero to a number""" + self.assertEqual(add(4,0), 4) + + def test_non_numbers(self): + """it should raise an AssertionError for non numbers input""" + with self.assertRaises(AssertionError): + add("a",5) # Invalid input: string instead of a number + + +if __name__ == "__main__": + unittest.main() + -def test_add.py: - assert add(5,3) == 8 - assert add (-1, 1) == 0 - assert add (6, -5) == 1 -print ("All add tests passed!") \ No newline at end of file From 6ede11d308840b84c17959bea49d6f95495bb46a Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 19:13:18 +0100 Subject: [PATCH 035/248] Checking the recent ci-check/py_tests by Evan --- .github/workflows/ci-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 9916c2f56..22b2c5c09 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -76,5 +76,5 @@ jobs: - name: Python - Run Tests if: steps.check_tests.outputs.has_tests == 'true' - run: python -m unittest discover -s solutions/tests -p "test_*.py" + run: python -m unittest shell: bash From c1c502b9d6f0169a8d1da7f95cd930970aeda55a Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sat, 28 Dec 2024 20:02:18 +0100 Subject: [PATCH 036/248] Incorporating the changes suggested by Abdul --- collaboration/README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/collaboration/README.md b/collaboration/README.md index a5e25bb5f..744ab4e80 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -15,17 +15,23 @@ and support ensure individual growth and team success. ## Group Norms -1. **Open Communication** - Share ideas freely, listen actively, and use platforms like Slack and GitHub +1. **Open Communication** + - Share ideas freely, listen actively, and use platforms like Slack and GitHub for updates and collaboration. + - Channels: Use Slack for updates and general communication, and GitHub for technical + discussions. Zoom or other tools may be used for synchronous discussions. + - Response Time: Respond to messages within + one working day on weekdays to ensure timely progress. 2. **Respect for Time** Adhere to meeting schedules, start and end meetings punctually, and communicate any delays or absences in advance. 3. **Constructive Feedback** - Give specific, respectful, and actionable feedback to help team members grow + - Give specific, respectful, and actionable feedback to help team members grow and improve. + - Use a feedback framework like "What went well, What can improve, and How to + improve" for clarity and effectiveness. 4. **Asynchronous Work** Update task progress regularly and respect individual schedules while ensuring @@ -36,8 +42,9 @@ and support ensure individual growth and team success. expertise. 6. **Conflict Resolution** - Address disagreements calmly, focusing on ideas rather than individuals, and + - Address disagreements calmly, focusing on ideas rather than individuals, and use votes or polls to resolve prolonged debates. + - Resolve disagreements by focusing on ideas rather than individuals. 7. **Trust and Transparency** Build trust through consistent communication, meet deadlines, and handle damaged @@ -48,8 +55,9 @@ and support ensure individual growth and team success. fear of exclusion or disrespect. 9. **Documentation and Clarity** - Maintain clear and updated documentation for tasks, code, and decisions to support + - Maintain clear and updated documentation for tasks, code, and decisions to support collaborative work. + - Use templates for consistent documentation across the team. 10. **Focus on Growth** Share learning opportunities, celebrate wins, and embrace challenges as opportunities From 0ab03cc913d70cb9dc6406aa95acd48a99c620c2 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 29 Dec 2024 11:46:26 +0100 Subject: [PATCH 037/248] added_solution --- solutions/find_minimum_value.py | 28 ++++++++++- solutions/tests/test_find_minimum_value.py | 55 ++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 solutions/tests/test_find_minimum_value.py diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index 993775b0e..ce71fccce 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -2,4 +2,30 @@ created 2024-12-28 @author: Lukmon Alao -""" \ No newline at end of file +""" + +def find_minimum_value(values: list): + """Returns the lowest value from a list of numbers input + + takes a list of numbers and return a single number which is the lowest value from the list. + + Parameters: + values: list, the input values to process + + Returns -> number: the lowest value from the list of numbers. + + Raises: + AssertionError: if input is not a list and numerical + + Examples: + >>> find_minimum_value([1, 2, 3, 4]) + 1 + >>> find_minimum_value([2.24, 4, 5.23, 1]) + 1 + >>> find_minimum_value([1.2, 3.4, 2.7, 0.5]) + 0.5 + """ + assert isinstance(values, list) #verifies that 'values' is a list + ordered_list_of_values = sorted(values) #returns the list in ascending order + min = ordered_list_of_values[0] #gives the minimum value from the ordered list + return min diff --git a/solutions/tests/test_find_minimum_value.py b/solutions/tests/test_find_minimum_value.py new file mode 100644 index 000000000..5a6de358d --- /dev/null +++ b/solutions/tests/test_find_minimum_value.py @@ -0,0 +1,55 @@ +""" +created on 2024-12-28 + +@author: Lukmon Alao +""" + +import unittest + +from ..find_minimum_value import find_minimum_value + +class TestFindMinimumValue(unittest.TestCase): + """Test the find_minimum_value from a list""" + + + def test_first_four_integers(self): + """It gives 1 when [1, 2, 3, 4] is pass to the function""" + actual = find_minimum_value([1, 2, 3, 4]) #call function with test argument + expected = 1 # hand-write the expected return value + self.assertEqual(actual, expected) + + def test_float_only(self): + """It should return the smallest float value""" + self.assertEqual(find_minimum_value([1.2, 3.4, 2.7, 0.5]), 0.5) + + def test_list_of_float_and_int(self): + """It returns the smallest value in list""" + self.assertEqual(find_minimum_value([2.24, 4, 5.23, 1]), 1) + + def test_negative_values(self): + """It should return the negative number with the highest value""" + self.assertEqual(find_minimum_value([-1, -2, -3, -4]), -4) + + def test_list_with_negative_and_positive_int_values(self): + """It should return the smallest value from the list""" + self.assertEqual(find_minimum_value([-1, 15, -9, 6]), -9) + + def test_list_with_negative_and_positive_float_values(self): + """It should return the smallest value from the list""" + self.assertEqual(find_minimum_value([-0.35, 0.1, 2.4, -4.234]), -4.234) + + def test_list_with_both_negative_and_positive_values_of_int_and_float(self): + """It should return the smallest value from the list""" + self.assertEqual(find_minimum_value([-1.2, 3, 3.78, -5]), -5) + + + # Defensive tests + def test_none_input(self): + """It should raise Assertion error for none input""" + with self.assertRaises(AssertionError): + find_minimum_value(None) + + def test_input_value_is_not_list(self): + """It should raise an assertion error if the input value is a string""" + with self.assertRaises(AssertionError): + find_minimum_value('1') From 441faf0be7e09dd34551196ffbc2b166b3e69e2a Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 29 Dec 2024 12:25:13 +0100 Subject: [PATCH 038/248] Update ruff configuration and resolve issue with Markdown file --- collaboration/guide/0_repository_setup.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/guide/0_repository_setup.md b/collaboration/guide/0_repository_setup.md index 1e5e1aca7..7190aeac0 100644 --- a/collaboration/guide/0_repository_setup.md +++ b/collaboration/guide/0_repository_setup.md @@ -14,7 +14,8 @@ repository and configure it for collaboration: - Change your [repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github) - Add or remove topics from your repository - - Update your main README with your group name and an initial overview of your project. (You can change this as much as you want.) + - Update your main README with your group name and an initial overview +of your project. (You can change this as much as you want.) - Under settings in your repository select: - _Issues_ - _Projects_ From 6b9d3cd4e6f76f1534833fcb03602ec1310efbb0 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 29 Dec 2024 16:32:22 +0100 Subject: [PATCH 039/248] okay --- .vscode/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } From ee38aa714deca97e397584066fa33b2397fe8a00 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 29 Dec 2024 16:36:34 +0100 Subject: [PATCH 040/248] deleted find_maximum_value solution --- ET6-foundations-group-12 | 1 + solutions/find_maximum_value.py | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) create mode 160000 ET6-foundations-group-12 delete mode 100644 solutions/find_maximum_value.py diff --git a/ET6-foundations-group-12 b/ET6-foundations-group-12 new file mode 160000 index 000000000..eeb3feae8 --- /dev/null +++ b/ET6-foundations-group-12 @@ -0,0 +1 @@ +Subproject commit eeb3feae80f2929bbdc79498c1bbc5817dc54660 diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py deleted file mode 100644 index 993775b0e..000000000 --- a/solutions/find_maximum_value.py +++ /dev/null @@ -1,5 +0,0 @@ -""" -created 2024-12-28 - -@author: Lukmon Alao -""" \ No newline at end of file From 5d3962776be51ba48f08fa06f4417aebabaa16f1 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 29 Dec 2024 16:56:06 +0100 Subject: [PATCH 041/248] ruff format update --- .vscode/settings.json | 4 ++-- solutions/calculate_average.py | 15 ++++++++------- solutions/tests/test_calculate_average.py | 1 + 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/calculate_average.py b/solutions/calculate_average.py index 8a236bb28..47723dcd2 100644 --- a/solutions/calculate_average.py +++ b/solutions/calculate_average.py @@ -10,29 +10,30 @@ @author: Yevheniia Rudenko """ + def calculate_average(num1: float, num2: float) -> float: """Calculate the average of two numbers. - + Parameters: num1: float, the first number num2: float, the second number - + Returns -> float: the average of num1 and num2 Raises: AssertionError: if any argument is not a number - + >>> calculate_average(4, 6) 5.0 - + >>> calculate_average(10, 20) 15.0 - + >>> calculate_average(-3, 3) 0.0 """ - + assert isinstance(num1, (int, float)), "num1 must be a number" assert isinstance(num2, (int, float)), "num2 must be a number" - + return (num1 + num2) / 2 diff --git a/solutions/tests/test_calculate_average.py b/solutions/tests/test_calculate_average.py index f02c551cc..e5c571337 100644 --- a/solutions/tests/test_calculate_average.py +++ b/solutions/tests/test_calculate_average.py @@ -7,6 +7,7 @@ Author: Yevheniia Rudenko """ + import unittest from ..calculate_average import calculate_average From 770ef0c988fdb9025cf7bc6fca41fccbc18e42ca Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 29 Dec 2024 17:17:34 +0100 Subject: [PATCH 042/248] ruff format update --- solutions/calculate_percentage.py | 9 +++++---- solutions/tests/test_calculate_percentage.py | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/solutions/calculate_percentage.py b/solutions/calculate_percentage.py index acff5208d..6f345cdbe 100644 --- a/solutions/calculate_percentage.py +++ b/solutions/calculate_percentage.py @@ -10,19 +10,20 @@ @author: Yevheniia Rudenko """ + def calculate_percentage(numerator: float, denominator: float) -> float: """Calculate what percentage the first number is of the second. This function calculates the percentage by dividing part by whole and then multiplying by 100. - + Parameters: part: float, the numerator value whole: float, the denominator value - + Returns -> float: the percentage of `part` in `whole` Raises: AssertionError: if any argument is not a number ZeroDivisionError: if `whole` is zero - + >>> calculate_percentage(50, 200) 25.0 >>> calculate_percentage(5, 20) @@ -34,5 +35,5 @@ def calculate_percentage(numerator: float, denominator: float) -> float: assert isinstance(whole, (int, float)), "whole must be a number" if whole == 0: raise ZeroDivisionError("whole must not be zero") - + return (part / whole) * 100 diff --git a/solutions/tests/test_calculate_percentage.py b/solutions/tests/test_calculate_percentage.py index 80b2482e2..8a7fad01b 100644 --- a/solutions/tests/test_calculate_percentage.py +++ b/solutions/tests/test_calculate_percentage.py @@ -6,6 +6,7 @@ Created on 26.12.2024 @author: Yevheniia Rudenko """ + import unittest from ..calculate_percentage import calculate_percentage From a8adce70055983ae813bb91ab4ceab40956bc21f Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 29 Dec 2024 17:27:59 +0100 Subject: [PATCH 043/248] Resoled an issue with a naming of functions --- solutions/calculate_percentage.py | 20 ++++++++++---------- solutions/tests/test_calculate_percentage.py | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/solutions/calculate_percentage.py b/solutions/calculate_percentage.py index 6f345cdbe..dd1c96b9f 100644 --- a/solutions/calculate_percentage.py +++ b/solutions/calculate_percentage.py @@ -12,17 +12,17 @@ def calculate_percentage(numerator: float, denominator: float) -> float: - """Calculate what percentage the first number is of the second. This function calculates the percentage by dividing part by whole and then multiplying by 100. + """This function calculates the percentage by dividing numerator by denominator and then multiplying by 100. Parameters: - part: float, the numerator value - whole: float, the denominator value + numerator: float, the numerator value + denominator: float, the denominator value - Returns -> float: the percentage of `part` in `whole` + Returns -> float: the percentage of `numerator` in `denominator` Raises: AssertionError: if any argument is not a number - ZeroDivisionError: if `whole` is zero + ZeroDivisionError: if `denominator` is zero >>> calculate_percentage(50, 200) 25.0 @@ -31,9 +31,9 @@ def calculate_percentage(numerator: float, denominator: float) -> float: >>> calculate_percentage(0, 100) 0.0 """ - assert isinstance(part, (int, float)), "part must be a number" - assert isinstance(whole, (int, float)), "whole must be a number" - if whole == 0: - raise ZeroDivisionError("whole must not be zero") + assert isinstance(numerator, (int, float)), "numerator must be a number" + assert isinstance(denominator, (int, float)), "denominator must be a number" + if denominator == 0: + raise ZeroDivisionError("denominator must not be zero") - return (part / whole) * 100 + return (numerator / denominator) * 100 diff --git a/solutions/tests/test_calculate_percentage.py b/solutions/tests/test_calculate_percentage.py index 8a7fad01b..f27656329 100644 --- a/solutions/tests/test_calculate_percentage.py +++ b/solutions/tests/test_calculate_percentage.py @@ -19,11 +19,11 @@ def test_positive_numbers(self): """It should return percentage for positive numbers""" self.assertEqual(calculate_percentage(50, 200), 25.0) - def test_zero_part(self): + def test_zero_numerator(self): """It should return 0% when the first number is zero""" self.assertEqual(calculate_percentage(0, 100), 0.0) - def test_whole_zero(self): + def test_denominator_zero(self): """It should raise ZeroDivisionError if the second number is zero""" with self.assertRaises(ZeroDivisionError): calculate_percentage(50, 0) From 8552f3a3fe7bbf26bb7aab72e03a2301cdd42e83 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 29 Dec 2024 17:46:34 +0100 Subject: [PATCH 044/248] downgrade to the initial VS Code settings --- .vscode/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 252022b48..bbda5188d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": "explicit", - "source.organizeImports.ruff": "explicit" + "source.fixAll.ruff": true, + "source.organizeImports.ruff": true } } } From 25e719b21ce6b3ff5746365a4beb46c3aab8a23d Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 29 Dec 2024 20:06:11 +0100 Subject: [PATCH 045/248] Writing the initial documentation --- solutions/binary_search.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index 85484fae1..5a04abe13 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -4,7 +4,7 @@ A module for a function that performs binary search on a sorted list. Module contents: - - binary_search: Performs binary search on a sorted list + - binary_search: Performs binary search on a sorted list. Created on 2024-12-27 Author: Awaab98""" @@ -24,8 +24,9 @@ def binary_search(list_to_be_searched: List[Union[int, float, str]], target_elem Raises: TypeError: If the first argument is not a list. TypeError: If the list is not a list of integers, floats or strings. + TypeError: If the second argument is not an integer, float or string. ValueError: If the list is empty. - ValueError: If the list is not sorted. + AssertionError: If the list is not sorted in ascending order. Examples: >>> binary_search([1, 2, 3, 4, 5], 3) @@ -40,3 +41,4 @@ def binary_search(list_to_be_searched: List[Union[int, float, str]], target_elem -1 """ + From 90bdd1e4bbc6436b28c3fa82d112ed6600ec45d3 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 29 Dec 2024 21:08:08 +0100 Subject: [PATCH 046/248] Created the absolute_value.py and test_absolute_value.py files --- solutions/absolute_value.py | 0 solutions/tests/test_absolute_value.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 solutions/absolute_value.py create mode 100644 solutions/tests/test_absolute_value.py diff --git a/solutions/absolute_value.py b/solutions/absolute_value.py new file mode 100644 index 000000000..e69de29bb diff --git a/solutions/tests/test_absolute_value.py b/solutions/tests/test_absolute_value.py new file mode 100644 index 000000000..e69de29bb From 96a4e11daa36cdb25e97a9fc04dfc5e2d9d080bd Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 29 Dec 2024 21:23:50 +0100 Subject: [PATCH 047/248] Added Docstring and assertion --- solutions/absolute_value.py | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/solutions/absolute_value.py b/solutions/absolute_value.py index e69de29bb..c1a12e214 100644 --- a/solutions/absolute_value.py +++ b/solutions/absolute_value.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for computing absolute value of a given number. + +Module contents: + - absolute_value: Computes the absolute value of a given number. + +Created on 12-27-2024 +@author: Abdul Qader Dost +""" + + +def absolute_value(number: float) -> float: + """The absolute_value function computes the absolute value of a given number. + The absolute value of a number is its distance from zero, regardless of its sign. + For example, the absolute value of both -5 and 5 is 5. This function works for + both integer and floating numbers. + + Parameters: + number: int, float, A number whose absolute value is to be computed. + + Returns -> float, Returns the absolute value of the input number. + + Raises: + TypeError: If the input is not a number (int or float). + + >>> absolute_value(0) + 0 + + >>> absolute_value(10) + 10 + + >>> absolute_value(-10) + 10 + """ + # the number should be an integer or float + if not isinstance(number, (int, float)): + raise TypeError("The input must be an int or float") + + # Return the absolute value + pass From 256b7db3f4f8e3b6d8557455dfb152ef09b4aad2 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 29 Dec 2024 21:44:41 +0100 Subject: [PATCH 048/248] Added some Standard unittests --- .vscode/settings.json | 4 ++-- solutions/absolute_value.py | 2 +- solutions/tests/test_absolute_value.py | 33 ++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/absolute_value.py b/solutions/absolute_value.py index c1a12e214..a243c1dd6 100644 --- a/solutions/absolute_value.py +++ b/solutions/absolute_value.py @@ -39,4 +39,4 @@ def absolute_value(number: float) -> float: raise TypeError("The input must be an int or float") # Return the absolute value - pass + return number if number >= 0 else -number diff --git a/solutions/tests/test_absolute_value.py b/solutions/tests/test_absolute_value.py index e69de29bb..8f4759c18 100644 --- a/solutions/tests/test_absolute_value.py +++ b/solutions/tests/test_absolute_value.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on XX XX XX + +@author: Evan Cole +""" + +import unittest + +from ..absolute_value import absolute_value + + +class TestAbsoluteValue(unittest.TestCase): + """Test the absolute_value function""" + + def test_0(self): + """It should return 0 when the input is 0""" + actual = absolute_value(0) + expected = 0 + self.assertEqual(actual, expected) + + def test_1(self): + """It should return 10 when the input is 10""" + actual = absolute_value(10) + expected = 10 + self.assertEqual(actual, expected) + + def test_2(self): + """It should return 10 when the input is -10""" + actual = absolute_value(-10) + expected = 10 + self.assertEqual(actual, expected) From e163224244d8477d47528aa4f3aa72e0a334bbf8 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 29 Dec 2024 21:52:02 +0100 Subject: [PATCH 049/248] Added a defensive test case (input as hello) --- solutions/tests/test_absolute_value.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/solutions/tests/test_absolute_value.py b/solutions/tests/test_absolute_value.py index 8f4759c18..3540478fc 100644 --- a/solutions/tests/test_absolute_value.py +++ b/solutions/tests/test_absolute_value.py @@ -14,20 +14,25 @@ class TestAbsoluteValue(unittest.TestCase): """Test the absolute_value function""" - def test_0(self): + def test_absolute_value_of_zero(self): """It should return 0 when the input is 0""" actual = absolute_value(0) expected = 0 self.assertEqual(actual, expected) - def test_1(self): - """It should return 10 when the input is 10""" + def test_absolute_value_of_positive_number(self): + """It should return the positive value of a number""" actual = absolute_value(10) expected = 10 self.assertEqual(actual, expected) - def test_2(self): - """It should return 10 when the input is -10""" + def test_absolute_value_of_negative_number(self): + """It should return the positive value of a negative number""" actual = absolute_value(-10) expected = 10 self.assertEqual(actual, expected) + + def test_type_error_for_non_number_input(self): + """It should raise a TypeError for non-number input""" + with self.assertRaises(TypeError): + absolute_value("hello") From 9dcff6cbddb238454768ad4ada5fa0fb2d3c5766 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 29 Dec 2024 22:06:19 +0100 Subject: [PATCH 050/248] Added Some Edge Cases --- solutions/absolute_value.py | 1 + solutions/tests/test_absolute_value.py | 37 ++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/solutions/absolute_value.py b/solutions/absolute_value.py index a243c1dd6..abe9ab4ea 100644 --- a/solutions/absolute_value.py +++ b/solutions/absolute_value.py @@ -7,6 +7,7 @@ - absolute_value: Computes the absolute value of a given number. Created on 12-27-2024 + @author: Abdul Qader Dost """ diff --git a/solutions/tests/test_absolute_value.py b/solutions/tests/test_absolute_value.py index 3540478fc..77039b113 100644 --- a/solutions/tests/test_absolute_value.py +++ b/solutions/tests/test_absolute_value.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -Created on XX XX XX +Created on 12.29.2024 -@author: Evan Cole +@author: Abdul Qader Dost """ import unittest @@ -32,7 +32,40 @@ def test_absolute_value_of_negative_number(self): expected = 10 self.assertEqual(actual, expected) + def test_absolute_value_of_float(self): + """It should return the absolute value of a float""" + actual = absolute_value(-3.14) + expected = 3.14 + self.assertEqual(actual, expected) + + def test_absolute_value_of_large_number(self): + """It should handle large numbers correctly""" + actual = absolute_value(1000000) + expected = 1000000 + self.assertEqual(actual, expected) + + def test_absolute_value_of_small_number(self): + """It should handle small numbers correctly""" + actual = absolute_value(0.000001) + expected = 0.000001 + self.assertEqual(actual, expected) + def test_type_error_for_non_number_input(self): """It should raise a TypeError for non-number input""" with self.assertRaises(TypeError): absolute_value("hello") + + def test_type_error_for_string_input(self): + """It should raise a TypeError for string input""" + with self.assertRaises(TypeError): + absolute_value("42") + + def test_type_error_for_list_input(self): + """It should raise a TypeError for list input""" + with self.assertRaises(TypeError): + absolute_value([1, 2, 3]) + + def test_type_error_for_dict_input(self): + """It should raise a TypeError for dict input""" + with self.assertRaises(TypeError): + absolute_value({"a": 1}) From 78bee4d59d863b8c111076b7456278ef5b0616d3 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 30 Dec 2024 07:29:24 +0100 Subject: [PATCH 051/248] resolve-assertion-for-values-is-int-or-float --- solutions/find_minimum_value.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index ce71fccce..a348a55b4 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -4,19 +4,20 @@ @author: Lukmon Alao """ + def find_minimum_value(values: list): """Returns the lowest value from a list of numbers input - + takes a list of numbers and return a single number which is the lowest value from the list. - + Parameters: values: list, the input values to process - + Returns -> number: the lowest value from the list of numbers. - + Raises: - AssertionError: if input is not a list and numerical - + AssertionError: if input is not a list and non-numeric data + Examples: >>> find_minimum_value([1, 2, 3, 4]) 1 @@ -25,7 +26,11 @@ def find_minimum_value(values: list): >>> find_minimum_value([1.2, 3.4, 2.7, 0.5]) 0.5 """ - assert isinstance(values, list) #verifies that 'values' is a list - ordered_list_of_values = sorted(values) #returns the list in ascending order - min = ordered_list_of_values[0] #gives the minimum value from the ordered list + + assert isinstance(values, list) # verifies that 'values' is a list + assert all( + isinstance(item, (int, float)) for item in values + ) # "values must be an int or a float" + ordered_list_of_values = sorted(values) # returns the list in ascending order + min = ordered_list_of_values[0] # gives the minimum value from the ordered list return min From d0a0c3089666b6d8e88951dce11f4a15fbed41e9 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 14:37:32 +0100 Subject: [PATCH 052/248] Writting and running the first test --- solutions/tests/test_binary_search.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py index e69de29bb..fe24131a1 100644 --- a/solutions/tests/test_binary_search.py +++ b/solutions/tests/test_binary_search.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A test module for the binary_search function in solutions/binary_search.py + +Test categories: + - Standard test cases: Test cases that test the function with standard input. + - Edge test cases: Test cases that test the function with edge cases. + - Defensive test cases: Test cases that test the function with invalid input. + +Created on 2024-12-27 +Author: Awaab98""" + +import unittest +from solutions.binary_search import binary_search + +class TestBinarySearch(unittest.TestCase): + """A class for testing the binary_search function.""" + + # Standard test cases + def test_find_middle_element_in_standard_list(self): + """It should return the index of the middle element in a standard list.""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 3), 2) From 3e8a84635471adeb716c5ec981be4e383cf0742b Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 14:47:58 +0100 Subject: [PATCH 053/248] Writting the assertions to validate the input --- solutions/binary_search.py | 100 +++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 32 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index 5a04abe13..d62b62681 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ - A module for a function that performs binary search on a sorted list. +A module for a function that performs binary search on a sorted list. Module contents: - binary_search: Performs binary search on a sorted list. @@ -11,34 +11,70 @@ from typing import List, Union -def binary_search(list_to_be_searched: List[Union[int, float, str]], target_element: Union[int, float, str]) -> int: - """Performs binary search on a sorted list. - - Parameters: - list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. - target_element: int, float, str: The element to be searched for in the list. - - Returns: - int: The index of the target element in the list if it is found, -1 otherwise. - - Raises: - TypeError: If the first argument is not a list. - TypeError: If the list is not a list of integers, floats or strings. - TypeError: If the second argument is not an integer, float or string. - ValueError: If the list is empty. - AssertionError: If the list is not sorted in ascending order. - - Examples: - >>> binary_search([1, 2, 3, 4, 5], 3) - 2 - >>> binary_search([1, 2, 3, 4, 5], 6) - -1 - >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') - -1 - """ - - + +def binary_search( + list_to_be_searched: List[Union[int, float, str]], + target_element: Union[int, float, str] +) -> int: + """Performs binary search on a sorted list to find the index of a target element + using recursion. + if there are multiple occurrences of the target element in the list, the function + returns the index of the first occurrence. + + Parameters: + list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. + target_element: int, float, str: The element to be searched for in the list. + + Returns: + int: The index of the target element in the list if it is found. + + Raises: + TypeError: If the first argument is not a list. + TypeError: If the list is not a list of integers, floats or strings. + TypeError: If the elements of the list are not of the same type. + TypeError: If the second argument is not of the same type as the elements of the list. + ValueError: If the list is empty. + ValueError: If the target element is not found in the list. + AssertionError: If the list is not sorted in ascending order. + + Examples: + >>> binary_search([1, 2, 3, 4, 5], 3) + 2 + >>> binary_search([1, 2, 3, 4, 5], 6) + -1 + >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') + -1 + """ + + # Make sure the first argument is a list + if not isinstance(list_to_be_searched, list): + raise TypeError("The first argument must be a list.") + + # Make sure the list is not empty + if len(list_to_be_searched) == 0: + raise ValueError("The list must not be empty.") + + # Ensure that all elements of the list are of the same type + if not all(isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched): + raise TypeError("All elements in the list must be of the same type.") + + # Ensure that the elements of the list belong to one of the following types: int, float, str + if type(list_to_be_searched[0]) not in [int, float, str]: + raise TypeError("The list must contain elements of type int, float or str.") + + # Ensure that the second argument is of the same type as the elements of the list + if not isinstance(target_element, type(list_to_be_searched[0])): + raise TypeError( + "The second argument must be of the same type as the elements of the list." + ) + + # Ensure that the list is sorted in ascending order + assert list_to_be_searched == sorted( + list_to_be_searched + ), "The list must be sorted in ascending order." + + return 9 From e4adc326405977f672f32a5545479a506e36b86f Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 14:49:20 +0100 Subject: [PATCH 054/248] Writting the recursion logic --- solutions/binary_search.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index d62b62681..624830ae7 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -77,4 +77,20 @@ def binary_search( list_to_be_searched ), "The list must be sorted in ascending order." - return 9 + # Internal function logic: Recursively perform binary search + def search_recursively(low_index: int, high_index: int) -> int: + if low_index > high_index: # Base case: target not found + raise ValueError(f"Target {target_element} not found in the list.") + + middle_index = (low_index + high_index) // 2 # Calculate the middle index + + # Check the middle element + if list_to_be_searched[middle_index] == target_element: + return middle_index + elif list_to_be_searched[middle_index] < target_element: # Search in the right half + return search_recursively(middle_index + 1, high_index) + else: # Search in the left half + return search_recursively(low_index, middle_index - 1) + + # Start the recursive search + return search_recursively(0, len(list_to_be_searched) - 1) From 145b734af06345f871c70bba1316ae2751bcb5d7 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 14:55:16 +0100 Subject: [PATCH 055/248] Writting all of the standard test cases --- solutions/tests/test_binary_search.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py index fe24131a1..741bc6c20 100644 --- a/solutions/tests/test_binary_search.py +++ b/solutions/tests/test_binary_search.py @@ -18,6 +18,22 @@ class TestBinarySearch(unittest.TestCase): """A class for testing the binary_search function.""" # Standard test cases - def test_find_middle_element_in_standard_list(self): - """It should return the index of the middle element in a standard list.""" + def test_find_middle_element(self): + """It should return the index of the middle element.""" self.assertEqual(binary_search([1, 2, 3, 4, 5], 3), 2) + + def test_find_last_element(self): + """It should return the index of the last element.""" + self.assertEqual(binary_search([10, 20, 30, 40, 50], 50), 4) + + def test_find_first_element(self): + """It should return the index of the first element.""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) + + def test_find_float(self): + """It should return the index of the float element.""" + self.assertEqual(binary_search([0.1, 0.2, 0.3, 0.4, 0.5], 0.4), 3) + + def test_find_string(self): + """It should return the index of the string element.""" + self.assertEqual(binary_search(["apple", "banana", "cherry"], "banana"), 1) From 10ebdc24842778a3224f9c54e00a8f2218a5027d Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 14:59:03 +0100 Subject: [PATCH 056/248] Writting all of the edge test cases --- solutions/tests/test_binary_search.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py index 741bc6c20..55108c07d 100644 --- a/solutions/tests/test_binary_search.py +++ b/solutions/tests/test_binary_search.py @@ -37,3 +37,16 @@ def test_find_float(self): def test_find_string(self): """It should return the index of the string element.""" self.assertEqual(binary_search(["apple", "banana", "cherry"], "banana"), 1) + + # Edge test cases + def test_single_element_list(self): + """Test finding the element in a single-element list.""" + self.assertEqual(binary_search([42], 42), 0) + + def test_smallest_element_in_list(self): + """Test finding the smallest element in the list.""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) + + def test_largest_element_in_list(self): + """Test finding the largest element in the list.""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) From fcb91a032452aa18aa27173c6ad4d81e12a3bbbc Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 15:22:29 +0100 Subject: [PATCH 057/248] Writting all of the defensive tests --- solutions/tests/test_binary_search.py | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py index 55108c07d..7ec512d21 100644 --- a/solutions/tests/test_binary_search.py +++ b/solutions/tests/test_binary_search.py @@ -38,6 +38,15 @@ def test_find_string(self): """It should return the index of the string element.""" self.assertEqual(binary_search(["apple", "banana", "cherry"], "banana"), 1) + def test_multiple_occurrences(self): + """It should return the index of the first occurrence of the target element.""" + self.assertEqual(binary_search([1, 2, 3, 3, 4, 5], 3), 2) + + def test_target_not_in_list(self): + """It should raise a ValueError if the target element is not in the list.""" + with self.assertRaises(ValueError): + binary_search([1, 2, 3, 4, 5], 6) + # Edge test cases def test_single_element_list(self): """Test finding the element in a single-element list.""" @@ -50,3 +59,33 @@ def test_smallest_element_in_list(self): def test_largest_element_in_list(self): """Test finding the largest element in the list.""" self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) + + # Defensive test cases + def test_non_list_first_argument(self): + """It should raise a TypeError if the first argument is not a list.""" + with self.assertRaises(TypeError): + binary_search(1, 1) + def test_empty_list(self): + """It should raise a ValueError if the list is empty.""" + with self.assertRaises(ValueError): + binary_search([], 1) + + def test_mixed_types_in_list(self): + """It should raise a TypeError if the elements of the list are not of the same type.""" + with self.assertRaises(TypeError): + binary_search([1, "two", 3.0], 1) + + def test_elements_not_int_float_str(self): + """It should raise a TypeError if the elements of the list are not int, float, or str.""" + with self.assertRaises(TypeError): + binary_search([True, True, False, False, True], False) + + def test_unsorted_list(self): + """It should raise an AssertionError if the list is not sorted in ascending order.""" + with self.assertRaises(AssertionError): + binary_search([3, 1, 2], 1) + + def test_target_type_mismatch(self): + """It should raise a TypeError if the second argument is not of the same type as the elements of the list.""" + with self.assertRaises(TypeError): + binary_search([1, 2, 3], "three") From 372f44e096e7889006381f6e1f26593a04faf0c4 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 30 Dec 2024 15:26:05 +0100 Subject: [PATCH 058/248] test whether the implementation passes the CI checks --- .vscode/settings.json | 4 ++-- solutions/binary_search.py | 16 ++++++++++------ solutions/tests/test_binary_search.py | 20 +++++++++++--------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/binary_search.py b/solutions/binary_search.py index 624830ae7..dcebf78bf 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -14,7 +14,7 @@ def binary_search( list_to_be_searched: List[Union[int, float, str]], - target_element: Union[int, float, str] + target_element: Union[int, float, str], ) -> int: """Performs binary search on a sorted list to find the index of a target element using recursion. @@ -49,7 +49,7 @@ def binary_search( >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') -1 """ - + # Make sure the first argument is a list if not isinstance(list_to_be_searched, list): raise TypeError("The first argument must be a list.") @@ -59,7 +59,9 @@ def binary_search( raise ValueError("The list must not be empty.") # Ensure that all elements of the list are of the same type - if not all(isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched): + if not all( + isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched + ): raise TypeError("All elements in the list must be of the same type.") # Ensure that the elements of the list belong to one of the following types: int, float, str @@ -76,18 +78,20 @@ def binary_search( assert list_to_be_searched == sorted( list_to_be_searched ), "The list must be sorted in ascending order." - + # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: if low_index > high_index: # Base case: target not found raise ValueError(f"Target {target_element} not found in the list.") - + middle_index = (low_index + high_index) // 2 # Calculate the middle index # Check the middle element if list_to_be_searched[middle_index] == target_element: return middle_index - elif list_to_be_searched[middle_index] < target_element: # Search in the right half + elif ( + list_to_be_searched[middle_index] < target_element + ): # Search in the right half return search_recursively(middle_index + 1, high_index) else: # Search in the left half return search_recursively(low_index, middle_index - 1) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py index 7ec512d21..47eca5c94 100644 --- a/solutions/tests/test_binary_search.py +++ b/solutions/tests/test_binary_search.py @@ -7,21 +7,22 @@ - Standard test cases: Test cases that test the function with standard input. - Edge test cases: Test cases that test the function with edge cases. - Defensive test cases: Test cases that test the function with invalid input. - + Created on 2024-12-27 Author: Awaab98""" import unittest from solutions.binary_search import binary_search + class TestBinarySearch(unittest.TestCase): """A class for testing the binary_search function.""" - + # Standard test cases def test_find_middle_element(self): """It should return the index of the middle element.""" self.assertEqual(binary_search([1, 2, 3, 4, 5], 3), 2) - + def test_find_last_element(self): """It should return the index of the last element.""" self.assertEqual(binary_search([10, 20, 30, 40, 50], 50), 4) @@ -37,16 +38,16 @@ def test_find_float(self): def test_find_string(self): """It should return the index of the string element.""" self.assertEqual(binary_search(["apple", "banana", "cherry"], "banana"), 1) - + def test_multiple_occurrences(self): """It should return the index of the first occurrence of the target element.""" self.assertEqual(binary_search([1, 2, 3, 3, 4, 5], 3), 2) - + def test_target_not_in_list(self): """It should raise a ValueError if the target element is not in the list.""" with self.assertRaises(ValueError): binary_search([1, 2, 3, 4, 5], 6) - + # Edge test cases def test_single_element_list(self): """Test finding the element in a single-element list.""" @@ -59,22 +60,23 @@ def test_smallest_element_in_list(self): def test_largest_element_in_list(self): """Test finding the largest element in the list.""" self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) - + # Defensive test cases def test_non_list_first_argument(self): """It should raise a TypeError if the first argument is not a list.""" with self.assertRaises(TypeError): binary_search(1, 1) + def test_empty_list(self): """It should raise a ValueError if the list is empty.""" with self.assertRaises(ValueError): binary_search([], 1) - + def test_mixed_types_in_list(self): """It should raise a TypeError if the elements of the list are not of the same type.""" with self.assertRaises(TypeError): binary_search([1, "two", 3.0], 1) - + def test_elements_not_int_float_str(self): """It should raise a TypeError if the elements of the list are not int, float, or str.""" with self.assertRaises(TypeError): From 91c438aee93cd353f44e4b3622f42eca78eb6152 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Mon, 30 Dec 2024 21:33:34 +0100 Subject: [PATCH 059/248] Added a To-Do List for the Calculator Project --- notes/README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/notes/README.md b/notes/README.md index 17e0f0ded..7eec01ac6 100644 --- a/notes/README.md +++ b/notes/README.md @@ -1 +1,52 @@ # Notes + +## Calculator Project To-Do List + +### Step 1: Repository Setup + +- [ ] Clone the repository to your local machine. +- [ ] Open the repository in VS Code. +- [ ] Create a personal branch in the repository named after your assigned challenge. +- [ ] Create an issue for the assigned functions in the repository to track +progress and discussions. + +### Step 2: Function Implementation + +- [ ] Choose two functions from the available list. +- [ ] Create a file named `your_function.py` inside the `solutions` folder in the +repository. +- [ ] Document the selected functions in the repository’s documentation file. +- [ ] Implement the logic for your assigned functions in the calculator. + +### Step 3: Writing Docstrings + +- [ ] Write detailed docstrings for each function. +- [ ] Include a brief description, parameters, and return type in the docstring +for each function. + +### Step 4: Writing Unit Tests + +- [ ] Create a separate file for unit tests inside the `tests` folder, +named `test_your_function.py`. +- [ ] Write unit tests for each of your implemented functions. +- [ ] Ensure the unit tests cover a variety of cases, including edge cases. + +### Step 5: Committing Changes + +- [ ] Stage your changes in Git. +- [ ] Write a clear and descriptive commit message for your changes. +- [ ] Push your changes to your personal branch on GitHub. +- [ ] Create a pull request for it to be merged into the main branch. +- [ ] Write `closes #issue_number` (to link your pull request to the issue you +created for this function). + +### Step 6: Collaboration + +- [ ] Review the pull requests of other team members. +- [ ] Test the functionality of other implemented functions as part of the +review process. +- [ ] Provide constructive feedback and resolve any conflicts in the code. + +### Step 7: Finalizing + +- [ ] Merge your reviewed function branch into the main branch once approved. From 37d401c63bc37ab1edc0c30fe6796f1c14578623 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Mon, 30 Dec 2024 21:58:42 +0100 Subject: [PATCH 060/248] Updated Step 2.md --- notes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/README.md b/notes/README.md index 7eec01ac6..d21087cc9 100644 --- a/notes/README.md +++ b/notes/README.md @@ -15,7 +15,7 @@ progress and discussions. - [ ] Choose two functions from the available list. - [ ] Create a file named `your_function.py` inside the `solutions` folder in the repository. -- [ ] Document the selected functions in the repository’s documentation file. +- [ ] Document the selected functions in the your_function.py file. - [ ] Implement the logic for your assigned functions in the calculator. ### Step 3: Writing Docstrings From d4f726a24a6038bc4911d09991ddc4a6d6138313 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Tue, 31 Dec 2024 11:04:32 +0100 Subject: [PATCH 061/248] Added subtract.py function and test__subtract.py function --- solutions/subtract.py | 38 ++++++++++++++++++++++++++++++++ solutions/tests/test_subtract.py | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 solutions/subtract.py create mode 100644 solutions/tests/test_subtract.py diff --git a/solutions/subtract.py b/solutions/subtract.py new file mode 100644 index 000000000..aa36feca3 --- /dev/null +++ b/solutions/subtract.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python 3 +# -*- coding: utf-8 -*- + +""" +A module for subtracting two numbers. + +Module contents: + subtract: subtract one number from another and returns the result. + +Created on 31.12.2024 +@author : Ridwan Ayinde + +""" + +def subtract (a: float, b: float) -> float: + """ + Subtract one number from the other. + + Parameters: + a:float, the first number + b:float, the second number + + Returns -> float : the subtraction of b from a + + Raises: + AssertionError: if any argument is not a number + + >>> subtract (10, 5) + 5.0 + >>> subtract (-5, 5) + -10.0 + + """ + + # Validate inputs + assert isinstance (a, (int, float)), "a must be a number" + assert isinstance (b, (int, float)), " b must be a number" + return float (a-b) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py new file mode 100644 index 000000000..2104a5068 --- /dev/null +++ b/solutions/tests/test_subtract.py @@ -0,0 +1,38 @@ +#! usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Test for subtraction of one number from the other. + +Created on 31.12.2024 + +@author: + + +""" + +import unittest +from solutions.subtract import subtract + +class TestSubtractFunction(unittest.TestCase): + + def test_subtract_positive_numbers(self): + """Test subtracting two positive numbers """ + self.assertEqual(subtract(7,4), 3) + + def test_subtract_negative_numbers(self): + """Test subtract two negative numbers""" + self.assertEqual (subtract(-5, -5), 0) + + def test_subtract_mixed_sign_numbers(self): + """This test should subtract the negative second + number from the first number""" + self.assertEqual (subtract(7, -5), 12) + + def test_not_numbers(self): + """This should raise an AssertionError for not numbers input""" + self.assertEqual (subtract(-5, -5), 0) + + +if __name__ == "__main__": + unittest.main() From 6db4edc644ac50c03c85e1b41c0b9e0447ba5f3c Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Tue, 31 Dec 2024 14:16:15 +0100 Subject: [PATCH 062/248] Add add function implementation and itest cases --- solutions/add.py | 20 +++++++++---------- solutions/tests/test_add.py | 39 +++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/solutions/add.py b/solutions/add.py index f3b815134..43ed35973 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -12,27 +12,25 @@ """ +def add(a: float, b: float) -> float: + """Add two numbers. - -def add (a:float, b:float) -> float: - """ Add two numbers. - Parameters: a:float, the first number b:float, the second number - + Returns -> float: the sum of a and b - + Raises: AssertionError: if any argument is not a number - + >>> add(4, 6) 10.0 >>> add(0, 0) 0.0 - + """ # Validate inputs - assert isinstance (a, (int, float)), "a must be a number" - assert isinstance (b, (int, float)), "b must be a number" - return float(a+b) \ No newline at end of file + assert isinstance(a, (int, float)), "a must be a number" + assert isinstance(b, (int, float)), "b must be a number" + return float(a + b) diff --git a/solutions/tests/test_add.py b/solutions/tests/test_add.py index 8431a3fde..ca76fba5a 100644 --- a/solutions/tests/test_add.py +++ b/solutions/tests/test_add.py @@ -11,36 +11,33 @@ """ - import unittest -from solutions.add import add #Import the function to test +from solutions.add import add # Import the function to test + class TestAddFunction(unittest.TestCase): - + def test_add_positive_numbers(self): - """Test adding two positive numbers """ - self.assertEqual(add(4,6), 10) - - def test_add_negative_numbers (self): + """Test adding two positive numbers""" + self.assertEqual(add(4, 6), 10) + + def test_add_negative_numbers(self): """Test add two negative numbers""" - self.assertEqual(add(-4,-5),-9) - + self.assertEqual(add(-4, -5), -9) + def test_add_mixed_sign_numbers(self): - """Test adding a positive and a negative number """ - self.assertEqual (add(4,-5),-1) - - def test_add_zero (self): + """Test adding a positive and a negative number""" + self.assertEqual(add(4, -5), -1) + + def test_add_zero(self): """Test adding zero to a number""" - self.assertEqual(add(4,0), 4) - + self.assertEqual(add(4, 0), 4) + def test_non_numbers(self): """it should raise an AssertionError for non numbers input""" with self.assertRaises(AssertionError): - add("a",5) # Invalid input: string instead of a number - - + add("a", 5) # Invalid input: string instead of a number + + if __name__ == "__main__": unittest.main() - - - From 4257a7e7d0539699243203c7f7dbe1afd01e45c6 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Tue, 31 Dec 2024 15:32:36 +0100 Subject: [PATCH 063/248] Fix code formatting --- solutions/subtract.py | 39 ++++++++++++++++++++++++++++++++ solutions/tests/test_subtract.py | 39 ++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 solutions/subtract.py create mode 100644 solutions/tests/test_subtract.py diff --git a/solutions/subtract.py b/solutions/subtract.py new file mode 100644 index 000000000..a27fca9ac --- /dev/null +++ b/solutions/subtract.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python 3 +# -*- coding: utf-8 -*- + +""" +A module for subtracting two numbers. + +Module contents: + subtract: subtract one number from another and returns the result. + +Created on 31.12.2024 +@author : Ridwan Ayinde + +""" + + +def subtract(a: float, b: float) -> float: + """ + Subtract one number from the other. + + Parameters: + a:float, the first number + b:float, the second number + + Returns -> float : the subtraction of b from a + + Raises: + AssertionError: if any argument is not a number + + >>> subtract (10, 5) + 5.0 + >>> subtract (-5, 5) + -10.0 + + """ + + # Validate inputs + assert isinstance(a, (int, float)), "a must be a number" + assert isinstance(b, (int, float)), " b must be a number" + return float(a - b) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py new file mode 100644 index 000000000..abb0beffd --- /dev/null +++ b/solutions/tests/test_subtract.py @@ -0,0 +1,39 @@ +#! usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Test for subtraction of one number from the other. + +Created on 31.12.2024 + +@author: + + +""" + +import unittest +from solutions.subtract import subtract + + +class TestSubtractFunction(unittest.TestCase): + + def test_subtract_positive_numbers(self): + """Test subtracting two positive numbers""" + self.assertEqual(subtract(7, 4), 3) + + def test_subtract_negative_numbers(self): + """Test subtract two negative numbers""" + self.assertEqual(subtract(-5, -5), 0) + + def test_subtract_mixed_sign_numbers(self): + """This test should subtract the negative second + number from the first number""" + self.assertEqual(subtract(7, -5), 12) + + def test_not_numbers(self): + """This should raise an AssertionError for not numbers input""" + self.assertEqual(subtract(-5, -5), 0) + + +if __name__ == "__main__": + unittest.main() From 42b6dee48866bdaa4c1d72000ff4beb4a5ca69d5 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 31 Dec 2024 21:06:26 +0100 Subject: [PATCH 064/248] revert to the original json settings --- .vscode/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 252022b48..bbda5188d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": "explicit", - "source.organizeImports.ruff": "explicit" + "source.fixAll.ruff": true, + "source.organizeImports.ruff": true } } } From c5e0c84e82e77e96041681def566be8d04b0d57c Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 31 Dec 2024 23:06:35 +0100 Subject: [PATCH 065/248] Initial suggestions --- collaboration/learning_goals.md | 45 +++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 11c583d2b..d3c7fdee9 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -1,5 +1,46 @@ # Learning Goals -## Collective +## Collective Goals -## Individual +1. **Effective Collaboration**: Develop skills in working as a team to contribute +to a shared codebase, fostering clear communication and conflict resolution. +2. **Version Control Mastery**: Learn to use Git effectively for version control, +including branching strategies, managing commit histories, and resolving merge conflicts. +3. **Code Review Practices**: Enhance the ability to perform thorough and constructive +code reviews, focusing on code quality, functionality, and documentation. +4. **Project Management with GitHub**: Gain experience with GitHub's project management +tools, such as: + - Creating and managing issues. + - Using project boards to track progress. + - Assigning tasks and setting priorities. +5. **Continuous Integration**: Understand and integrate CI/CD pipelines into the +development process to ensure code reliability and quality. + +## Individual Goals + +### Awaab Hussein + +1. **Git Basics and Advanced Usage**: + - Learn how to use Git via the terminal for local development. + - Understand how to clone remote branches and keep local branches up-to-date. + - Gain confidence in committing changes and managing commit histories. + - Master the process of pushing code to remote branches and managing pull requests. +2. **GitHub Navigation and Management**: + - Become proficient in navigating GitHub, including: + - Managing project boards. + - Understanding and addressing issues. + - Tracking and updating progress on tasks. +3. **Collaboration and Communication**: + - Improve skills in collaborating effectively with team members. + - Engage in productive discussions during pull requests, including: + - Reviewing and providing constructive feedback on others' code. + - Addressing feedback on your own code. +4. **Code Review Skills**: + - Learn to initiate and conduct thorough code reviews. + - Develop an eye for identifying issues in code and documentation. + - Practice discussing and resolving code-related challenges with peers. + +--- + +*Each team member is encouraged to add their individual goals below to document +their learning objectives for this project.* From b8570c8ad4e8ee8f51ff6c02f7772cf87e3de098 Mon Sep 17 00:00:00 2001 From: Ayomide Ayodele Date: Wed, 1 Jan 2025 00:43:18 +0100 Subject: [PATCH 066/248] Add square root function and its test cases --- solutions/square_root.py | 16 +++++++++++++++ solutions/tests/test_square_root.py | 30 +++++++++++++++++++++++++++++ square_root.py | 16 +++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 solutions/square_root.py create mode 100644 solutions/tests/test_square_root.py create mode 100644 square_root.py diff --git a/solutions/square_root.py b/solutions/square_root.py new file mode 100644 index 000000000..9d319d710 --- /dev/null +++ b/solutions/square_root.py @@ -0,0 +1,16 @@ +def square_root(num): + """ + Calculate the square root of a number. + + Parameters: + number (float): The number to find the square root of. Must be non-negative. + + Returns: + float: The square root of the input number. + + Raises: + ValueError: If the input number is negative. + """ + if num < 0: + raise ValueError("Cannot calculate the square root of a negative number.") + return num ** 0.5 diff --git a/solutions/tests/test_square_root.py b/solutions/tests/test_square_root.py new file mode 100644 index 000000000..7b8a6d308 --- /dev/null +++ b/solutions/tests/test_square_root.py @@ -0,0 +1,30 @@ +# The test case for the square root function of the Calculator +import unittest +from solutions.square_root import square_root + +class TestSquareRootFunction(unittest.TestCase): + """ + Unit tests for the `square_root` function. + + Methods: + - test_square_root: Tests the square root of positive numbers, zero, and raises errors for negative numbers. + """ + def test_square_root(self): + """ + Test cases for the square root function. + + Verifies the function correctly calculates the square root of: + - Positive numbers + - Zero + + Ensures the function raises a ValueError for negative numbers. + """ + self.assertEqual(square_root(4), 2) + self.assertEqual(square_root(0), 0) + self.assertAlmostEqual(square_root(2.25), 1.5) + + with self.assertRaises(ValueError): + square_root(-4) + +if __name__ == "__main__": + unittest.main(argv=['first-arg-is-ignored'], exit=False) diff --git a/square_root.py b/square_root.py new file mode 100644 index 000000000..9d319d710 --- /dev/null +++ b/square_root.py @@ -0,0 +1,16 @@ +def square_root(num): + """ + Calculate the square root of a number. + + Parameters: + number (float): The number to find the square root of. Must be non-negative. + + Returns: + float: The square root of the input number. + + Raises: + ValueError: If the input number is negative. + """ + if num < 0: + raise ValueError("Cannot calculate the square root of a negative number.") + return num ** 0.5 From 36c39ce9542bd62aa412760168cf752619fa2fce Mon Sep 17 00:00:00 2001 From: Ayomide Ayodele Date: Wed, 1 Jan 2025 01:33:57 +0100 Subject: [PATCH 067/248] Reformat files and fix Ruff issues --- square_root.py | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 square_root.py diff --git a/square_root.py b/square_root.py deleted file mode 100644 index 9d319d710..000000000 --- a/square_root.py +++ /dev/null @@ -1,16 +0,0 @@ -def square_root(num): - """ - Calculate the square root of a number. - - Parameters: - number (float): The number to find the square root of. Must be non-negative. - - Returns: - float: The square root of the input number. - - Raises: - ValueError: If the input number is negative. - """ - if num < 0: - raise ValueError("Cannot calculate the square root of a negative number.") - return num ** 0.5 From 261d828f3502c58c0c12d07f5ccbf25605ad904d Mon Sep 17 00:00:00 2001 From: Ayomide Ayodele Date: Wed, 1 Jan 2025 01:38:22 +0100 Subject: [PATCH 068/248] Reformat files and fix ruff issues --- solutions/square_root.py | 2 +- solutions/tests/test_square_root.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/solutions/square_root.py b/solutions/square_root.py index 9d319d710..c922163bb 100644 --- a/solutions/square_root.py +++ b/solutions/square_root.py @@ -13,4 +13,4 @@ def square_root(num): """ if num < 0: raise ValueError("Cannot calculate the square root of a negative number.") - return num ** 0.5 + return num**0.5 diff --git a/solutions/tests/test_square_root.py b/solutions/tests/test_square_root.py index 7b8a6d308..17029bd8a 100644 --- a/solutions/tests/test_square_root.py +++ b/solutions/tests/test_square_root.py @@ -2,6 +2,7 @@ import unittest from solutions.square_root import square_root + class TestSquareRootFunction(unittest.TestCase): """ Unit tests for the `square_root` function. @@ -9,6 +10,7 @@ class TestSquareRootFunction(unittest.TestCase): Methods: - test_square_root: Tests the square root of positive numbers, zero, and raises errors for negative numbers. """ + def test_square_root(self): """ Test cases for the square root function. @@ -26,5 +28,6 @@ def test_square_root(self): with self.assertRaises(ValueError): square_root(-4) + if __name__ == "__main__": - unittest.main(argv=['first-arg-is-ignored'], exit=False) + unittest.main(argv=["first-arg-is-ignored"], exit=False) From 767c2114d8b6237e35136edf27ff05b367ba91c8 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Wed, 1 Jan 2025 09:24:16 +0100 Subject: [PATCH 069/248] save --- .trunk/.gitignore | 9 +++++++++ .trunk/configs/.isort.cfg | 2 ++ .trunk/configs/.yamllint.yaml | 7 +++++++ .trunk/configs/ruff.toml | 5 +++++ .trunk/configs/svgo.config.js | 14 +++++++++++++ .trunk/trunk.yaml | 38 +++++++++++++++++++++++++++++++++++ .vscode/settings.json | 4 ++-- ET6-foundations-group-12 | 1 + 8 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 .trunk/.gitignore create mode 100644 .trunk/configs/.isort.cfg create mode 100644 .trunk/configs/.yamllint.yaml create mode 100644 .trunk/configs/ruff.toml create mode 100644 .trunk/configs/svgo.config.js create mode 100644 .trunk/trunk.yaml create mode 160000 ET6-foundations-group-12 diff --git a/.trunk/.gitignore b/.trunk/.gitignore new file mode 100644 index 000000000..15966d087 --- /dev/null +++ b/.trunk/.gitignore @@ -0,0 +1,9 @@ +*out +*logs +*actions +*notifications +*tools +plugins +user_trunk.yaml +user.yaml +tmp diff --git a/.trunk/configs/.isort.cfg b/.trunk/configs/.isort.cfg new file mode 100644 index 000000000..b9fb3f3e8 --- /dev/null +++ b/.trunk/configs/.isort.cfg @@ -0,0 +1,2 @@ +[settings] +profile=black diff --git a/.trunk/configs/.yamllint.yaml b/.trunk/configs/.yamllint.yaml new file mode 100644 index 000000000..184e251f8 --- /dev/null +++ b/.trunk/configs/.yamllint.yaml @@ -0,0 +1,7 @@ +rules: + quoted-strings: + required: only-when-needed + extra-allowed: ["{|}"] + key-duplicates: {} + octal-values: + forbid-implicit-octal: true diff --git a/.trunk/configs/ruff.toml b/.trunk/configs/ruff.toml new file mode 100644 index 000000000..f5a235cf9 --- /dev/null +++ b/.trunk/configs/ruff.toml @@ -0,0 +1,5 @@ +# Generic, formatter-friendly config. +select = ["B", "D3", "E", "F"] + +# Never enforce `E501` (line length violations). This should be handled by formatters. +ignore = ["E501"] diff --git a/.trunk/configs/svgo.config.js b/.trunk/configs/svgo.config.js new file mode 100644 index 000000000..b257d1349 --- /dev/null +++ b/.trunk/configs/svgo.config.js @@ -0,0 +1,14 @@ +module.exports = { + plugins: [ + { + name: "preset-default", + params: { + overrides: { + removeViewBox: false, // https://github.com/svg/svgo/issues/1128 + sortAttrs: true, + removeOffCanvasPaths: true, + }, + }, + }, + ], +}; diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml new file mode 100644 index 000000000..cdf93dd97 --- /dev/null +++ b/.trunk/trunk.yaml @@ -0,0 +1,38 @@ +# This file controls the behavior of Trunk: https://docs.trunk.io/cli +# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml +version: 0.1 +cli: + version: 1.22.8 +# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins) +plugins: + sources: + - id: trunk + ref: v1.6.6 + uri: https://github.com/trunk-io/plugins +# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes) +runtimes: + enabled: + - node@18.20.5 + - python@3.10.8 +# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration) +lint: + enabled: + - actionlint@1.7.5 + - bandit@1.8.0 + - black@24.10.0 + - checkov@3.2.345 + - git-diff-check + - isort@5.13.2 + - markdownlint@0.43.0 + - prettier@3.4.2 + - ruff@0.8.4 + - svgo@3.3.2 + - trufflehog@3.88.0 + - yamllint@1.35.1 +actions: + disabled: + - trunk-announce + - trunk-check-pre-push + - trunk-fmt-pre-commit + enabled: + - trunk-upgrade-available diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/ET6-foundations-group-12 b/ET6-foundations-group-12 new file mode 160000 index 000000000..eeb3feae8 --- /dev/null +++ b/ET6-foundations-group-12 @@ -0,0 +1 @@ +Subproject commit eeb3feae80f2929bbdc79498c1bbc5817dc54660 From eb6486761916c0feff61c0aa77002052f5dc37e2 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 11:14:32 +0100 Subject: [PATCH 070/248] Addressed reviewed comments --- solutions/add.py | 22 +++++++++------ solutions/tests/test_add.py | 56 +++++++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/solutions/add.py b/solutions/add.py index 43ed35973..d387846c2 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -3,23 +3,23 @@ """ A module for adding two numbers. -Module contents: +Module contents: -add: adds two numbers and returns the result. - + Created on 28.12.2024 @author : Ridwan Ayinde """ -def add(a: float, b: float) -> float: +def add(num1: float, num2: float) -> float: """Add two numbers. Parameters: - a:float, the first number - b:float, the second number + num1:float, the first number + num2:float, the second number - Returns -> float: the sum of a and b + Returns -> float: the sum of num1 and num2 Raises: AssertionError: if any argument is not a number @@ -28,9 +28,13 @@ def add(a: float, b: float) -> float: 10.0 >>> add(0, 0) 0.0 + >>> add(7, -3) + 4.0 + >>> add(-5, -3) + -8.0 """ # Validate inputs - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), "b must be a number" - return float(a + b) + assert isinstance(num1, (int, float)), "num1 must be a number" + assert isinstance(num2, (int, float)), "num2 must be a number" + return float(num1 + num2) diff --git a/solutions/tests/test_add.py b/solutions/tests/test_add.py index ca76fba5a..009e9c49f 100644 --- a/solutions/tests/test_add.py +++ b/solutions/tests/test_add.py @@ -1,7 +1,7 @@ -#! usr/bin/python3 +#!/usr/bin/python3 # -*- coding: utf-8 -*- -""" +""" Test for addition of two numbers Created on 28.12.2024 @@ -10,12 +10,16 @@ """ - import unittest from solutions.add import add # Import the function to test class TestAddFunction(unittest.TestCase): + """ + TestAddFunction test two numbers + on different cases with the add function + and returns the result. + """ def test_add_positive_numbers(self): """Test adding two positive numbers""" @@ -38,6 +42,52 @@ def test_non_numbers(self): with self.assertRaises(AssertionError): add("a", 5) # Invalid input: string instead of a number + def test_for_large_values(self): + """Test adding large values""" + self.assertAlmostEqual(add(1e10, 2e10), 3e10, places=1) + + def test_for_small_values(self): + """Test adding very small numbers""" + self.assertAlmostEqual(add(1e-10, 2e-10), 3e-10, places=10) + + def test_precision_handling(self): + """Test addition with floating point precision""" + self.assertAlmostEqual( + add(0.1, 0.2), 0.3, places=7, msg="precision error in add function" + ) + + def test_integer_overflow(self): + """Test large integers. Failed to handle large + integers correctly""" + result = add(2**100, 2**100) + self.assertEqual(result, 2**101) + + def test_string_inputs(self): + """Test for strings instead of numbers""" + with self.assertRaises(AssertionError): + add("3", "5") + + def test_none_inputs(self): + """Test for none input with number""" + with self.assertRaises(AssertionError): + add(None, 5) + + def test_non_numeric_iterables(self): + """Test adding a list with a number""" + with self.assertRaises(AssertionError): + add([1, 2, 3], 5) + + def test_boolean_inputs(self): + """Test adding booleans""" + self.assertEqual(add(True, False), 1.0) + self.assertEqual(add(True, True), 2.0) + self.assertEqual(add(False, True), 1.0) + self.assertEqual(add(False, False), 0.0) + + def test_boolean_inputs_with_numbers(self): + """Test adding boolean input with numbers""" + self.assertEqual(add(True, 5), 6.0) + if __name__ == "__main__": unittest.main() From 6dde8f8a038fba3a6deec0aa58ef97488375a308 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 12:08:05 +0100 Subject: [PATCH 071/248] Remove subtract.py from add-function branch --- solutions/subtract.py | 39 -------------------------------- solutions/tests/test_subtract.py | 39 -------------------------------- 2 files changed, 78 deletions(-) delete mode 100644 solutions/subtract.py delete mode 100644 solutions/tests/test_subtract.py diff --git a/solutions/subtract.py b/solutions/subtract.py deleted file mode 100644 index a27fca9ac..000000000 --- a/solutions/subtract.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python 3 -# -*- coding: utf-8 -*- - -""" -A module for subtracting two numbers. - -Module contents: - subtract: subtract one number from another and returns the result. - -Created on 31.12.2024 -@author : Ridwan Ayinde - -""" - - -def subtract(a: float, b: float) -> float: - """ - Subtract one number from the other. - - Parameters: - a:float, the first number - b:float, the second number - - Returns -> float : the subtraction of b from a - - Raises: - AssertionError: if any argument is not a number - - >>> subtract (10, 5) - 5.0 - >>> subtract (-5, 5) - -10.0 - - """ - - # Validate inputs - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), " b must be a number" - return float(a - b) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py deleted file mode 100644 index abb0beffd..000000000 --- a/solutions/tests/test_subtract.py +++ /dev/null @@ -1,39 +0,0 @@ -#! usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Test for subtraction of one number from the other. - -Created on 31.12.2024 - -@author: - - -""" - -import unittest -from solutions.subtract import subtract - - -class TestSubtractFunction(unittest.TestCase): - - def test_subtract_positive_numbers(self): - """Test subtracting two positive numbers""" - self.assertEqual(subtract(7, 4), 3) - - def test_subtract_negative_numbers(self): - """Test subtract two negative numbers""" - self.assertEqual(subtract(-5, -5), 0) - - def test_subtract_mixed_sign_numbers(self): - """This test should subtract the negative second - number from the first number""" - self.assertEqual(subtract(7, -5), 12) - - def test_not_numbers(self): - """This should raise an AssertionError for not numbers input""" - self.assertEqual(subtract(-5, -5), 0) - - -if __name__ == "__main__": - unittest.main() From 6613c93d4084207d832870a99e9ff39f76bb7a10 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 12:31:16 +0100 Subject: [PATCH 072/248] Add subtract.py and test_subtract.py to subtract-function branch --- solutions/subtract.py | 25 +++++++++++++------------ solutions/tests/test_subtract.py | 5 +++++ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/solutions/subtract.py b/solutions/subtract.py index aa36feca3..2a8fc9929 100644 --- a/solutions/subtract.py +++ b/solutions/subtract.py @@ -1,7 +1,7 @@ #!/usr/bin/env python 3 # -*- coding: utf-8 -*- -""" +""" A module for subtracting two numbers. Module contents: @@ -12,27 +12,28 @@ """ -def subtract (a: float, b: float) -> float: - """ + +def subtract(a: float, b: float) -> float: + """ Subtract one number from the other. - + Parameters: a:float, the first number b:float, the second number - + Returns -> float : the subtraction of b from a - + Raises: AssertionError: if any argument is not a number - + >>> subtract (10, 5) 5.0 >>> subtract (-5, 5) -10.0 - + """ - + # Validate inputs - assert isinstance (a, (int, float)), "a must be a number" - assert isinstance (b, (int, float)), " b must be a number" - return float (a-b) + assert isinstance(a, (int, float)), "a must be a number" + assert isinstance(b, (int, float)), " b must be a number" + return float(a - b) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py index 2104a5068..489698d7f 100644 --- a/solutions/tests/test_subtract.py +++ b/solutions/tests/test_subtract.py @@ -16,6 +16,11 @@ class TestSubtractFunction(unittest.TestCase): + """ The TestsubtractFunction shows different + functions for different test cases and confirms + the result + """ + def test_subtract_positive_numbers(self): """Test subtracting two positive numbers """ self.assertEqual(subtract(7,4), 3) From 487ded9acef8cd1f186a59e2c75bd90ffa47eb9f Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 12:38:53 +0100 Subject: [PATCH 073/248] Remove add.py and related tests from subtract-function branch --- solutions/add.py | 38 ------------------------------ solutions/tests/test_add.py | 46 ------------------------------------- 2 files changed, 84 deletions(-) delete mode 100644 solutions/add.py delete mode 100644 solutions/tests/test_add.py diff --git a/solutions/add.py b/solutions/add.py deleted file mode 100644 index f3b815134..000000000 --- a/solutions/add.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for adding two numbers. - -Module contents: - -add: adds two numbers and returns the result. - -Created on 28.12.2024 -@author : Ridwan Ayinde - -""" - - - - -def add (a:float, b:float) -> float: - """ Add two numbers. - - Parameters: - a:float, the first number - b:float, the second number - - Returns -> float: the sum of a and b - - Raises: - AssertionError: if any argument is not a number - - >>> add(4, 6) - 10.0 - >>> add(0, 0) - 0.0 - - """ - # Validate inputs - assert isinstance (a, (int, float)), "a must be a number" - assert isinstance (b, (int, float)), "b must be a number" - return float(a+b) \ No newline at end of file diff --git a/solutions/tests/test_add.py b/solutions/tests/test_add.py deleted file mode 100644 index 8431a3fde..000000000 --- a/solutions/tests/test_add.py +++ /dev/null @@ -1,46 +0,0 @@ -#! usr/bin/python3 -# -*- coding: utf-8 -*- - -""" -Test for addition of two numbers - -Created on 28.12.2024 -@author : Ridwan Ayinde - - -""" - - - -import unittest -from solutions.add import add #Import the function to test - -class TestAddFunction(unittest.TestCase): - - def test_add_positive_numbers(self): - """Test adding two positive numbers """ - self.assertEqual(add(4,6), 10) - - def test_add_negative_numbers (self): - """Test add two negative numbers""" - self.assertEqual(add(-4,-5),-9) - - def test_add_mixed_sign_numbers(self): - """Test adding a positive and a negative number """ - self.assertEqual (add(4,-5),-1) - - def test_add_zero (self): - """Test adding zero to a number""" - self.assertEqual(add(4,0), 4) - - def test_non_numbers(self): - """it should raise an AssertionError for non numbers input""" - with self.assertRaises(AssertionError): - add("a",5) # Invalid input: string instead of a number - - -if __name__ == "__main__": - unittest.main() - - - From 4ffdd481a0f279baaf74c70a028db7f71c7e8b16 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Wed, 1 Jan 2025 13:22:58 +0100 Subject: [PATCH 074/248] added_new_files --- solutions/find_maximum_value.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 solutions/find_maximum_value.py diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py new file mode 100644 index 000000000..e69de29bb From ecd43abf29ee4220494ba0479fc2b4e34ddbefd2 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Wed, 1 Jan 2025 13:23:47 +0100 Subject: [PATCH 075/248] added_new_test_files --- solutions/tests/test/Test_find_maximum_value.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 solutions/tests/test/Test_find_maximum_value.py diff --git a/solutions/tests/test/Test_find_maximum_value.py b/solutions/tests/test/Test_find_maximum_value.py new file mode 100644 index 000000000..e69de29bb From a5ddb98b61a1173ed52c713200fa9d52552741c0 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Wed, 1 Jan 2025 13:28:06 +0100 Subject: [PATCH 076/248] changed_max_to_highest --- solutions/find_maximum_value.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index e69de29bb..726680e7c 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Created on 2024-12-27 + +Author: Lukmon Alao +""" + + +def find_maximum_value(values: list): + """Returns the highest value from a list of numbers input + + takes a list of numbers and return a single number which is the highest value from the list. + + Parameters: + values: list, the input values to process + + Returns -> number: the highest value from the list of numbers. + + Raises: + AssertionError: if input is not a list and numerical + + Examples: + >>> find_maximum_value([1, 2, 3, 4]) + 4 + >>> find_maximum_value([2.24, 4, 5.23, 1]) + 5.23 + >>> find_maximum_value([1.2, 3.4, 2.7, 0.5]) + 3.4 + """ + # values = [input(print('enter a list of number to be processed'))] + + assert isinstance(values, list) + ordered_list_of_values = sorted(values) + highest = ordered_list_of_values[-1] + return highest From de44e7e69bf12e90d59b81f93aca58e0bec843c3 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Wed, 1 Jan 2025 13:31:49 +0100 Subject: [PATCH 077/248] added_test_maximum_value --- .../tests/test/test_find_maximum_value.py | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 solutions/tests/test/test_find_maximum_value.py diff --git a/solutions/tests/test/test_find_maximum_value.py b/solutions/tests/test/test_find_maximum_value.py new file mode 100644 index 000000000..80a0ecb63 --- /dev/null +++ b/solutions/tests/test/test_find_maximum_value.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +created on 2024-12-28 + +@author: Lukmon Alao +""" + +import unittest + +from ..find_maximum_value import find_maximum_value + + +class TestFindMaximumValue(unittest.TestCase): + """Test the find_maximum_value from a list""" + + def test_first_four_integers(self): + """It gives 4 when [1, 2, 3, 4] is pass to the function""" + actual = find_maximum_value([1, 2, 3, 4]) # call function with test argument + expected = 4 # hand-write the expected return value + self.assertEqual(actual, expected) + + def test_float_only(self): + """It should return the highest float value""" + self.assertEqual(find_maximum_value([1.2, 3.4, 2.7, 0.5]), 3.4) + + def test_list_of_float_and_int(self): + """It returns the highest value in list""" + self.assertEqual(find_maximum_value([2.24, 4, 5.23, 1]), 5.23) + + def test_negative_values(self): + """It should return the negative number with the lowest value""" + self.assertEqual(find_maximum_value([-1, -2, -3, -4]), -1) + + def test_list_with_negative_and_positive_int_values(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-1, 15, -9, 6]), 15) + + def test_list_with_negative_and_positive_float_values(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-0.35, 0.1, 2.4, -4.234]), 2.4) + + def test_list_with_both_negative_and_positive_values_of_int_and_float(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-1.2, 3, 3.78, -5]), 3.78) + + # Defensive tests + def test_none_input(self): + """It should raise Assertion error for none input""" + with self.assertRaises(AssertionError): + find_maximum_value(None) + + def test_input_value_is_not_list(self): + """It should raise an assertion error if the input value is a string""" + with self.assertRaises(AssertionError): + find_maximum_value("1") From a2ff48bf08118da3ec2ff2f66e285743dc3cc44b Mon Sep 17 00:00:00 2001 From: Lukmon Olamilekan ALAO Date: Wed, 1 Jan 2025 13:50:28 +0100 Subject: [PATCH 078/248] Delete solutions/tests/test/Test_find_maximum_value.py the file is just an empty duplicate of the test file --- solutions/tests/test/Test_find_maximum_value.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 solutions/tests/test/Test_find_maximum_value.py diff --git a/solutions/tests/test/Test_find_maximum_value.py b/solutions/tests/test/Test_find_maximum_value.py deleted file mode 100644 index e69de29bb..000000000 From d40926082ef24597d17572446a3e91e1f8046b09 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 17:37:47 +0100 Subject: [PATCH 079/248] Implementing subtract function review --- solutions/subtract.py | 16 ++++++++++------ solutions/tests/test_subtract.py | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/solutions/subtract.py b/solutions/subtract.py index 2a8fc9929..f82a7a4c4 100644 --- a/solutions/subtract.py +++ b/solutions/subtract.py @@ -13,13 +13,13 @@ """ -def subtract(a: float, b: float) -> float: +def subtract(num1: float, num2: float) -> float: """ Subtract one number from the other. Parameters: - a:float, the first number - b:float, the second number + num1:float, the first number + num2:float, the second number Returns -> float : the subtraction of b from a @@ -30,10 +30,14 @@ def subtract(a: float, b: float) -> float: 5.0 >>> subtract (-5, 5) -10.0 + >>> subtract (-5, -2) + -3.0 + >>> subtract (-2, -2) + 0.0 """ # Validate inputs - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), " b must be a number" - return float(a - b) + assert isinstance(num1, (int, float)), "a must be a number" + assert isinstance(num2, (int, float)), " b must be a number" + return float(num1 - num2) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py index 489698d7f..1ab18baca 100644 --- a/solutions/tests/test_subtract.py +++ b/solutions/tests/test_subtract.py @@ -38,6 +38,27 @@ def test_not_numbers(self): """This should raise an AssertionError for not numbers input""" self.assertEqual (subtract(-5, -5), 0) + def test_for_small_values(self): + """Test subtracting big number from small number""" + self.assertEqual(subtract(2, 9), -7) + + def test_precision_handling(self): + """Test subtraction with floating point precision""" + self.assertAlmostEqual( + subtract(0.3, 0.2), 0.1, places=7, msg="precision error in add function" + ) + + def test_for_very_small_values(self): + """Test subtracting very small numbers""" + self.assertAlmostEqual(subtract(4e-10, 2e-10), 2e-10, places =10) + + def test_integer_overflow(self): + """Test large integers to simulate overflow scenarios in fixed systems""" + large_number1 = 10**100 + large_number2 = 10**100 - 1 + result = subtract (large_number1, large_number2) + self.assertEqual(result, 1) + if __name__ == "__main__": unittest.main() From 12d5c43ea1452366b39505bb9254891ea56c028a Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Wed, 1 Jan 2025 17:59:26 +0100 Subject: [PATCH 080/248] Implemented subtract function review --- solutions/tests/test_subtract.py | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/solutions/tests/test_subtract.py b/solutions/tests/test_subtract.py index 1ab18baca..896194cd0 100644 --- a/solutions/tests/test_subtract.py +++ b/solutions/tests/test_subtract.py @@ -1,12 +1,12 @@ #! usr/bin/env python3 # -*- coding: utf-8 -*- -""" +""" Test for subtraction of one number from the other. Created on 31.12.2024 -@author: +@author: """ @@ -14,51 +14,51 @@ import unittest from solutions.subtract import subtract + class TestSubtractFunction(unittest.TestCase): - - """ The TestsubtractFunction shows different + """The TestsubtractFunction shows different functions for different test cases and confirms the result """ - + def test_subtract_positive_numbers(self): - """Test subtracting two positive numbers """ - self.assertEqual(subtract(7,4), 3) - + """Test subtracting two positive numbers""" + self.assertEqual(subtract(7, 4), 3) + def test_subtract_negative_numbers(self): """Test subtract two negative numbers""" - self.assertEqual (subtract(-5, -5), 0) - + self.assertEqual(subtract(-5, -5), 0) + def test_subtract_mixed_sign_numbers(self): - """This test should subtract the negative second + """This test should subtract the negative second number from the first number""" - self.assertEqual (subtract(7, -5), 12) + self.assertEqual(subtract(7, -5), 12) def test_not_numbers(self): """This should raise an AssertionError for not numbers input""" - self.assertEqual (subtract(-5, -5), 0) - + self.assertEqual(subtract(-5, -5), 0) + def test_for_small_values(self): """Test subtracting big number from small number""" self.assertEqual(subtract(2, 9), -7) - + def test_precision_handling(self): """Test subtraction with floating point precision""" self.assertAlmostEqual( subtract(0.3, 0.2), 0.1, places=7, msg="precision error in add function" ) - + def test_for_very_small_values(self): """Test subtracting very small numbers""" - self.assertAlmostEqual(subtract(4e-10, 2e-10), 2e-10, places =10) - + self.assertAlmostEqual(subtract(4e-10, 2e-10), 2e-10, places=10) + def test_integer_overflow(self): """Test large integers to simulate overflow scenarios in fixed systems""" large_number1 = 10**100 large_number2 = 10**100 - 1 - result = subtract (large_number1, large_number2) + result = subtract(large_number1, large_number2) self.assertEqual(result, 1) - - + + if __name__ == "__main__": unittest.main() From e47d5cf03976c50df9607f09f535dc4bff70ed0a Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 2 Jan 2025 14:37:07 +0100 Subject: [PATCH 081/248] Added documentation and unittest for negate functino --- solutions/negate.py | 37 ++++++++++++++++++++++++ solutions/tests/test_negate.py | 51 ++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 solutions/negate.py create mode 100644 solutions/tests/test_negate.py diff --git a/solutions/negate.py b/solutions/negate.py new file mode 100644 index 000000000..c46cc36a5 --- /dev/null +++ b/solutions/negate.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for negating numbers + +Module contents: + - negate: generates the negative of the function. + +Created on 02.01.2025 +@author: Abdul Qader Dost +""" + +def negate(number: float) -> float: + """ Returns the negation of the input. + + Parameters: + number (float): The number to negate + + Returns -> (float): The negation of the input number. + + Raises: + AssertionError: if the argument is not an integer or float. + + >>> negate(2) + -2 + + >>> negate(-2) + 2 + + >>> negate(10) + -10 + """ + if not isinstance(number, (int,float)): + raise TypeError("Input must be a number") + return -number + + \ No newline at end of file diff --git a/solutions/tests/test_negate.py b/solutions/tests/test_negate.py new file mode 100644 index 000000000..b35cc1a2e --- /dev/null +++ b/solutions/tests/test_negate.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on 02.01.2025 + +@author: Abdul Qader Dost +""" + +import unittest + + +from ..negate import negate + +class TestNegate(unittest.TestCase): + """Tests for testing our Negate function""" + + def test_negate_positive_number(self): + """It should negate positive numbers correctly""" + actual = negate(2) + expected = -2 + self.assertEqual(actual, expected) + + def test_negate_negative_number(self): + """It should negate negative numbers correctly""" + actual = negate(-2) + expected = 2 + self.assertEqual(actual, expected) + + def test_negate_zero(self): + """It should handle zero correctly""" + actual = negate(0) + expected = 0 + self.assertEqual(actual, expected) + + def test_non_numeric_input(self): + """It should raise a TypeError for non-numeric inputs""" + with self.assertRaises(TypeError): + negate("hello") + + + def test_overflow(self): + """It should handle overflow correctly""" + actual = negate(1e308) # Maximum float value + expected = -1e308 + self.assertEqual(actual, expected) + + def test_underflow(self): + """It should handle underflow correctly""" + actual = negate(-1e-323) # Minimum subnormal positive float value + expected = 1e-323 + self.assertEqual(actual, expected) From 6c92f29967e886992d760482b570f2e77c5350cd Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 2 Jan 2025 14:53:01 +0100 Subject: [PATCH 082/248] Upadated the files for linting rules --- solutions/negate.py | 2 -- solutions/tests/test_negate.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/solutions/negate.py b/solutions/negate.py index c46cc36a5..9fd34d224 100644 --- a/solutions/negate.py +++ b/solutions/negate.py @@ -33,5 +33,3 @@ def negate(number: float) -> float: if not isinstance(number, (int,float)): raise TypeError("Input must be a number") return -number - - \ No newline at end of file diff --git a/solutions/tests/test_negate.py b/solutions/tests/test_negate.py index b35cc1a2e..bb9c03fe2 100644 --- a/solutions/tests/test_negate.py +++ b/solutions/tests/test_negate.py @@ -19,13 +19,11 @@ def test_negate_positive_number(self): actual = negate(2) expected = -2 self.assertEqual(actual, expected) - def test_negate_negative_number(self): """It should negate negative numbers correctly""" actual = negate(-2) expected = 2 self.assertEqual(actual, expected) - def test_negate_zero(self): """It should handle zero correctly""" actual = negate(0) From 8f08189318b402946f333dc9d8c026fbf972f521 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 2 Jan 2025 19:52:02 +0100 Subject: [PATCH 083/248] Made some adjustments for CI checks --- solutions/negate.py | 5 +++-- solutions/tests/test_negate.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/solutions/negate.py b/solutions/negate.py index 9fd34d224..08ef1e22e 100644 --- a/solutions/negate.py +++ b/solutions/negate.py @@ -19,7 +19,8 @@ def negate(number: float) -> float: Returns -> (float): The negation of the input number. Raises: - AssertionError: if the argument is not an integer or float. + AssertionError: if the argument is not an integer + or float. >>> negate(2) -2 @@ -30,6 +31,6 @@ def negate(number: float) -> float: >>> negate(10) -10 """ - if not isinstance(number, (int,float)): + if not isinstance(number, (int, float)): raise TypeError("Input must be a number") return -number diff --git a/solutions/tests/test_negate.py b/solutions/tests/test_negate.py index bb9c03fe2..1c560362d 100644 --- a/solutions/tests/test_negate.py +++ b/solutions/tests/test_negate.py @@ -38,12 +38,12 @@ def test_non_numeric_input(self): def test_overflow(self): """It should handle overflow correctly""" - actual = negate(1e308) # Maximum float value + actual = negate(1e308) expected = -1e308 self.assertEqual(actual, expected) def test_underflow(self): """It should handle underflow correctly""" - actual = negate(-1e-323) # Minimum subnormal positive float value + actual = negate(-1e-323) expected = 1e-323 self.assertEqual(actual, expected) From bcad34fbe8a9a95ef32eeae250d9c43c341d0f71 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 2 Jan 2025 19:55:48 +0100 Subject: [PATCH 084/248] Made some more adjustments for CI check --- solutions/negate.py | 31 +++++++++++++++---------------- solutions/tests/test_negate.py | 26 +++++++++++++------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/solutions/negate.py b/solutions/negate.py index 08ef1e22e..af7be997c 100644 --- a/solutions/negate.py +++ b/solutions/negate.py @@ -1,35 +1,34 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -A module for negating numbers +A module for negating numbers. Module contents: - - negate: generates the negative of the function. + - negate: generates the negative of the input number. Created on 02.01.2025 @author: Abdul Qader Dost """ def negate(number: float) -> float: - """ Returns the negation of the input. + """Returns the negation of the input number. Parameters: - number (float): The number to negate + number (float): The number to negate. - Returns -> (float): The negation of the input number. + Returns: + float: The negation of the input number. Raises: - AssertionError: if the argument is not an integer - or float. - - >>> negate(2) - -2 - - >>> negate(-2) - 2 - - >>> negate(10) - -10 + TypeError: If the argument is not an integer or float. + + Examples: + >>> negate(2) + -2 + >>> negate(-2) + 2 + >>> negate(10) + -10 """ if not isinstance(number, (int, float)): raise TypeError("Input must be a number") diff --git a/solutions/tests/test_negate.py b/solutions/tests/test_negate.py index 1c560362d..14148e35b 100644 --- a/solutions/tests/test_negate.py +++ b/solutions/tests/test_negate.py @@ -7,43 +7,43 @@ """ import unittest - - from ..negate import negate + class TestNegate(unittest.TestCase): - """Tests for testing our Negate function""" + """Tests for the negate function.""" def test_negate_positive_number(self): - """It should negate positive numbers correctly""" + """It should negate positive numbers correctly.""" actual = negate(2) expected = -2 self.assertEqual(actual, expected) + def test_negate_negative_number(self): - """It should negate negative numbers correctly""" + """It should negate negative numbers correctly.""" actual = negate(-2) expected = 2 self.assertEqual(actual, expected) + def test_negate_zero(self): - """It should handle zero correctly""" + """It should handle zero correctly.""" actual = negate(0) expected = 0 self.assertEqual(actual, expected) def test_non_numeric_input(self): - """It should raise a TypeError for non-numeric inputs""" + """It should raise a TypeError for non-numeric inputs.""" with self.assertRaises(TypeError): negate("hello") - def test_overflow(self): - """It should handle overflow correctly""" - actual = negate(1e308) + """It should handle overflow correctly.""" + actual = negate(1e308) # Maximum float value expected = -1e308 self.assertEqual(actual, expected) def test_underflow(self): - """It should handle underflow correctly""" - actual = negate(-1e-323) + """It should handle underflow correctly.""" + actual = negate(-1e-323) # Minimum subnormal positive float value expected = 1e-323 - self.assertEqual(actual, expected) + self.assertEqual(actual, expected) \ No newline at end of file From 7b7d462234d384add01377470e50193ed1acd094 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 2 Jan 2025 21:17:09 +0100 Subject: [PATCH 085/248] Additional unit tests --- solutions/tests/test_calculate_percentage.py | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/solutions/tests/test_calculate_percentage.py b/solutions/tests/test_calculate_percentage.py index f27656329..0cd91de74 100644 --- a/solutions/tests/test_calculate_percentage.py +++ b/solutions/tests/test_calculate_percentage.py @@ -32,3 +32,31 @@ def test_not_numbers(self): """It should raise AssertionError for non-numeric input""" with self.assertRaises(AssertionError): calculate_percentage("50", 100) + + def test_100_percent(self): + """It should return 100% when numerator equals denominator""" + self.assertEqual(calculate_percentage(100, 100), 100.0) + + def test_negative_numerator(self): + """It should calculate correctly for negative numerator""" + self.assertEqual(calculate_percentage(-50, 200), -25.0) + + def test_negative_denominator(self): + """It should calculate correctly for negative denominator""" + self.assertEqual(calculate_percentage(50, -200), -25.0) + + def test_percentage_greater_than_100(self): + """It should calculate correctly for percentage greater than 100""" + self.assertEqual(calculate_percentage(300, 200), 150.0) + + def test_small_values(self): + """It should handle very small values correctly""" + self.assertAlmostEqual(calculate_percentage(0.0005, 0.002), 25.0, places=5) + + def test_large_values(self): + """It should handle very large values correctly""" + self.assertEqual(calculate_percentage(1_000_000, 10_000_000), 10.0) + + def test_precision_handling(self): + """It should maintain precision for floating-point calculations""" + self.assertAlmostEqual(calculate_percentage(1, 3), 33.3333, places=4) From aabc4ca6df248ff765a48d74a700b84fcb710095 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 2 Jan 2025 22:17:49 +0100 Subject: [PATCH 086/248] Added Individual goals for YR and some collective goals --- collaboration/learning_goals.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index d3c7fdee9..72aae5080 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -15,6 +15,12 @@ tools, such as: - Assigning tasks and setting priorities. 5. **Continuous Integration**: Understand and integrate CI/CD pipelines into the development process to ensure code reliability and quality. +6. **Promoting Growth and Learning**: Foster an environment that supports continuous + learning by encouraging team members to enhance both technical and soft + skills through hands-on experience and feedback. +7. **Constructive Feedback Environment**: Create a space where feedback is + regularly shared, focusing on constructive input that helps team members + improve their work and grow professionally. ## Individual Goals @@ -40,6 +46,31 @@ development process to ensure code reliability and quality. - Develop an eye for identifying issues in code and documentation. - Practice discussing and resolving code-related challenges with peers. +### Yevheniia Rudenko + +1. **Mastering Git and GitHub**: + - Learn to use Git effectively for version control, + including branching, merging, and conflict resolution. + - Get comfortable with GitHub’s tools for managing + issues, tracking progress with project boards, and collaborating on code. + +2. **Effective Collaboration and Communication**: + - Develop strong teamwork skills by contributing to a shared codebase, + ensuring clear communication, and collaborating on changes and task delegation. + +3. **Code Quality and Review**: + - Improve the ability to review code for functionality, quality, + and documentation, while providing constructive feedback to peers. + +4. **Project Management and CI/CD**: + - Gain experience using GitHub for project management, including task + distribution and progress tracking, while learning about CI/CD + processes to maintain code reliability. + +5. **Continuous Learning and Feedback**: + - Foster a culture of continuous learning and improvement, encouraging + the team to grow both technically and professionally through feedback and collaboration. + --- *Each team member is encouraged to add their individual goals below to document From a0facd32d5637d540f2e49d062b37be2ce7ca744 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 2 Jan 2025 23:15:55 +0100 Subject: [PATCH 087/248] Updated Schedule Info + personal availability --- collaboration/communication.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index 484652e0f..e75ab9dfe 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -13,17 +13,20 @@ ______________________________________________________________________ ## Communication Schedule -| Day | How | The topic of discussion | | --- | :-: | ----------------------- | -| | | | +| Day | How | The topic of discussion | +| ----------- | --------- | ------------------------------ | +| 23.12.24 | Kick-off | Introduction and project overview | +| 30.12.2024 | Weekly update | Progress review and task allocation | +| 06.01.2025 | Deadline Check | Retrospective and deadline review | ## Communication Channels -how often will we get in touch on each channel, and what we will discuss there: +How often will we get in touch on each channel, and what we will discuss there: -- **Issues**: -- **Pull Requests**: -- **Slack/Discord**: -- **Video Calls**: +- **Issues**: Asynchronous, to discuss and track tasks. +- **Pull Requests**: Asynchronous, to review and merge code changes. +- **Slack/WhatsApp**: Asynchronous, for general communication and updates. +- **Video Calls**: Weekly on Mondays, with additional one-on-one calls as needed. ______________________________________________________________________ @@ -31,13 +34,13 @@ ______________________________________________________________________ ### Availability for calling/messaging -| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | | ------- | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: | -| _name_ | | | | | | | | +| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | +| ------------------ | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | +| Yevheniia Rudenko | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 19:00-21:00 | 19:00-21:00 | ### How many hours everyone has per day -- name: _5h_; +- Yevheniia Rudenko: ~5h; - name: _6h_; - name: _5h_; - name: _4h_; From db079bfc52326cd56b5c9029c52099283fcf8d62 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 11:42:56 +0100 Subject: [PATCH 088/248] Created factorial.py andtest_factorial files --- solutions/factorial.py | 0 solutions/tests/test_factorial.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 solutions/factorial.py create mode 100644 solutions/tests/test_factorial.py diff --git a/solutions/factorial.py b/solutions/factorial.py new file mode 100644 index 000000000..e69de29bb diff --git a/solutions/tests/test_factorial.py b/solutions/tests/test_factorial.py new file mode 100644 index 000000000..e69de29bb From e4ccc40899571dfc4fe56a7271f2b5349a71ac3b Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 11:55:32 +0100 Subject: [PATCH 089/248] Added module dostring for factorial.py file --- solutions/factorial.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/solutions/factorial.py b/solutions/factorial.py index e69de29bb..6b9e54b8c 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for calculating the factorial of a number. + +Module contents: + - factorial: Calculate the factorial of a number. + +Created on 01-03-2024 + +@author: Abdul Qader Dost +""" From 16a27268dcf91f2ba1d2397f8c657f48242a5c7c Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 12:11:52 +0100 Subject: [PATCH 090/248] Added docstring for the factorial function --- solutions/factorial.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/solutions/factorial.py b/solutions/factorial.py index 6b9e54b8c..3930703fa 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -10,3 +10,32 @@ @author: Abdul Qader Dost """ + + +def factorial(number: int) -> int: + """The factorial function computes the factorial of a given non-negative integer. + The factorial of a number (n!) is the result of multiplying all whole numbers + from 1 up to number. For example, the factorial of 5 is 5 * 4 * 3 * 2 * 1 = 120. + + Parameters: + number: int, A non-negative integer whose factorial is to be computed. + + Returns -> int, Returns the factorial of the input number. + + Raises: + ValueError: If the input is a negative integer. + TypeError: If the input is not an integer. + + + >>> factorial(1) + 1 + + >>> factorial(2) + 2 + + >>> factorial(3) + 6 + + >>> factorial(4) + 24 + """ From 61a179bcd53696a86aff75e08e1b1d00dfcc099e Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 12:13:11 +0100 Subject: [PATCH 091/248] Added assertions for non integer and negative integer inputs --- solutions/factorial.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solutions/factorial.py b/solutions/factorial.py index 3930703fa..3f8a5a94b 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -39,3 +39,9 @@ def factorial(number: int) -> int: >>> factorial(4) 24 """ + # the number should be an integer + if not isinstance(number, int): + raise TypeError("The input must be an int or float") + + if number < 0: + raise ValueError("The input must be a non-negative integer.") From cfa56de35ad7da745a7ae0e6bf2ed372f79b83ce Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 12:50:52 +0100 Subject: [PATCH 092/248] Added bases cases --- solutions/factorial.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/solutions/factorial.py b/solutions/factorial.py index 3f8a5a94b..d83a520ac 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -45,3 +45,15 @@ def factorial(number: int) -> int: if number < 0: raise ValueError("The input must be a non-negative integer.") + + # Base Case 1 + if number == 0: + return 1 + + # Base Case 2 + + if number == 1: + return 1 + + else: + pass From ae56dec109ed8c9a8c028f18e98b93ccd332335e Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 14:49:51 +0100 Subject: [PATCH 093/248] Added some basic unittests --- solutions/tests/test_factorial.py | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/solutions/tests/test_factorial.py b/solutions/tests/test_factorial.py index e69de29bb..2bb739f6a 100644 --- a/solutions/tests/test_factorial.py +++ b/solutions/tests/test_factorial.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on 01-03-2024 + +@author: Abdul Qader Dost +""" + +import unittest + +from ..factorial import factorial + + +class TestFactorial(unittest.TestCase): + """Test the absolute_value function""" + + def test_factorial_of_zero(self): + """It should return 1 for the special case of zero, where 0! = 1.""" + actual = factorial(0) + expected = 1 + self.assertEqual(actual, expected) + + def test_factorial_of_one(self): + """It should return 1 when the input is 1, as 1! equals 1.""" + actual = factorial(1) + expected = 1 + self.assertEqual(actual, expected) + + def test_factorial_of_two(self): + """It should return 1 when the input is 2, as 2! equals 2.""" + actual = factorial(2) + expected = 2 + self.assertEqual(actual, expected) + + def test_factorial_of_three(self): + """It should return 1 when the input is 3, as 3! equals 6.""" + actual = factorial(3) + expected = 6 + self.assertEqual(actual, expected) + + def test_factorial_of_four(self): + """It should return 1 when the input is 4, as 4! equals 24.""" + actual = factorial(4) + expected = 24 + self.assertEqual(actual, expected) From baacdb6a33981e2aedba5d1413be87a48d5d1e97 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 14:56:22 +0100 Subject: [PATCH 094/248] Added recursive call to compute factorial --- solutions/factorial.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/solutions/factorial.py b/solutions/factorial.py index d83a520ac..bc85b39e6 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -47,13 +47,8 @@ def factorial(number: int) -> int: raise ValueError("The input must be a non-negative integer.") # Base Case 1 - if number == 0: - return 1 - - # Base Case 2 - - if number == 1: + if number == 0 or number == 1: return 1 else: - pass + return number * factorial(number - 1) From 452e1c5afc731c454e295e18cb45bd1163b82e95 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 14:57:37 +0100 Subject: [PATCH 095/248] Remove the second base case. As it was unnecessary --- solutions/factorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/factorial.py b/solutions/factorial.py index bc85b39e6..094182c99 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -47,7 +47,7 @@ def factorial(number: int) -> int: raise ValueError("The input must be a non-negative integer.") # Base Case 1 - if number == 0 or number == 1: + if number == 0: return 1 else: From 85b294cee800c4e070a34f5319a6288608e05f5f Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 14:59:56 +0100 Subject: [PATCH 096/248] Removed the else statement to comply with pylint. --- solutions/factorial.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/solutions/factorial.py b/solutions/factorial.py index 094182c99..02b9f0763 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -50,5 +50,4 @@ def factorial(number: int) -> int: if number == 0: return 1 - else: - return number * factorial(number - 1) + return number * factorial(number - 1) From 637180284de2d9fb7f3118272dc2483f5f29e983 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 15:01:57 +0100 Subject: [PATCH 097/248] Changed the line length of function docstring description. --- solutions/factorial.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/solutions/factorial.py b/solutions/factorial.py index 02b9f0763..dd277731a 100644 --- a/solutions/factorial.py +++ b/solutions/factorial.py @@ -13,9 +13,10 @@ def factorial(number: int) -> int: - """The factorial function computes the factorial of a given non-negative integer. - The factorial of a number (n!) is the result of multiplying all whole numbers - from 1 up to number. For example, the factorial of 5 is 5 * 4 * 3 * 2 * 1 = 120. + """The factorial function computes the factorial of a given + non-negative integer. The factorial of a number (n!) is the + result of multiplying all whole numbers from 1 up to number. + For example, the factorial of 5 is 5 * 4 * 3 * 2 * 1 = 120. Parameters: number: int, A non-negative integer whose factorial is to be computed. From 29929e91898f466825e3924ed5db54132d019f60 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 15:16:08 +0100 Subject: [PATCH 098/248] Added some edge cases --- solutions/tests/test_factorial.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/solutions/tests/test_factorial.py b/solutions/tests/test_factorial.py index 2bb739f6a..115fe3f47 100644 --- a/solutions/tests/test_factorial.py +++ b/solutions/tests/test_factorial.py @@ -43,3 +43,21 @@ def test_factorial_of_four(self): actual = factorial(4) expected = 24 self.assertEqual(actual, expected) + + def test_factorial_of_negative_number(self): + """It should raise a ValueError when the input is a + negative number.""" + with self.assertRaises(ValueError): + factorial(-1) + + def test_factorial_float_input(self): + """It should raise a TypeError when the input is not an integer.""" + with self.assertRaises(TypeError): + factorial(3.5) + + def test_factorial_of_large_number(self): + """It should return the correct factorial for large numbers, + e.g., 10! = 3,628,800.""" + actual = factorial(10) + expected = 3628800 + self.assertEqual(actual, expected) From 55581a456ce2f8fb6ba43e2e27103a1a3f0a3aaa Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Fri, 3 Jan 2025 15:44:27 +0100 Subject: [PATCH 099/248] changes after code review --- solutions/calculate_average.py | 43 +++++++++++++---------- solutions/tests/test_calculate_average.py | 19 ++++++---- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/solutions/calculate_average.py b/solutions/calculate_average.py index 47723dcd2..844215cd8 100644 --- a/solutions/calculate_average.py +++ b/solutions/calculate_average.py @@ -11,29 +11,34 @@ """ -def calculate_average(num1: float, num2: float) -> float: +def calculate_average(the_first_number: float, the_second_number: float) -> float: """Calculate the average of two numbers. Parameters: - num1: float, the first number - num2: float, the second number + the_first_number: float, the first number + the_second_number: float, the second number - Returns -> float: the average of num1 and num2 + Returns: + float: the average of the two numbers Raises: - AssertionError: if any argument is not a number - - >>> calculate_average(4, 6) - 5.0 - - >>> calculate_average(10, 20) - 15.0 - - >>> calculate_average(-3, 3) - 0.0 + TypeError: if any argument is not a number + + Examples: + >>> calculate_average(4, 6) + 5.0 + >>> calculate_average(10, 20) + 15.0 + >>> calculate_average(-3, 3) + 0.0 """ - - assert isinstance(num1, (int, float)), "num1 must be a number" - assert isinstance(num2, (int, float)), "num2 must be a number" - - return (num1 + num2) / 2 + if not isinstance(the_first_number, (int, float)): + raise TypeError( + f"the_first_number must be a number, got {type(the_first_number).__name__}" + ) + if not isinstance(the_second_number, (int, float)): + raise TypeError( + f"the_second_number must be a number, got {type(the_second_number).__name__}" + ) + + return (the_first_number + the_second_number) / 2 diff --git a/solutions/tests/test_calculate_average.py b/solutions/tests/test_calculate_average.py index e5c571337..626624cfa 100644 --- a/solutions/tests/test_calculate_average.py +++ b/solutions/tests/test_calculate_average.py @@ -3,9 +3,14 @@ """ Tests for calculate_average function. +This module includes tests for the following cases: + - Positive numbers + - Negative numbers + - Mixed positive and negative numbers + - Invalid (non-numeric) inputs + Created on 26.12.2024 Author: Yevheniia Rudenko - """ import unittest @@ -17,18 +22,20 @@ class TestCalculateAverage(unittest.TestCase): """Test the calculate_average function.""" def test_positive_numbers(self): - """It should return the correct average for positive numbers""" + """It should return the correct average for positive numbers.""" self.assertEqual(calculate_average(4, 6), 5.0) def test_negative_numbers(self): - """It should return the correct average for negative numbers""" + """It should return the correct average for negative numbers.""" self.assertEqual(calculate_average(-3, -5), -4.0) def test_positive_and_negative_numbers(self): - """It should return the correct average for both positive and negative numbers""" + """It should return the correct average for both positive and negative numbers.""" self.assertEqual(calculate_average(-3, 3), 0.0) def test_not_numbers(self): - """It should raise AssertionError for not num input""" - with self.assertRaises(AssertionError): + """It should raise TypeError for non-numeric input.""" + with self.assertRaises(TypeError): calculate_average("a", 3) + with self.assertRaises(TypeError): + calculate_average(3, None) From 9977fa384322b585cca2a148588a523245ce8237 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Fri, 3 Jan 2025 16:30:40 +0100 Subject: [PATCH 100/248] Initial changes to the constrains.md file --- collaboration/constraints.md | 40 +++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 24079505c..751e48ad8 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -2,7 +2,9 @@ # Constraints -Some boundaries around our project. +This document outlines the key boundaries and constraints for our project. +These guidelines will help ensure alignment and smooth collaboration throughout +the project. ## External @@ -14,6 +16,14 @@ Some boundaries around our project. - power or connectivity - ... --> +These constraints are beyond our team's control and have +been imposed by external factors: + +- **Official Deadline:** The project must be completed by **10.01.2025**. +- **Tools and Platforms:** We will use **GitHub** for version +control and **Python** for development. +- **Code Review Requirements:** Each pull request must be reviewed +by at least one other team member before merging. ## Internal: Involuntary @@ -22,6 +32,14 @@ Some boundaries around our project. - each of your individual skill levels - amount of time available to work on the project --> +These constraints come from within our team and are beyond our control: + +- **Time Zone Differences:** Team members are in different time zones, +requiring asynchronous work and collaboration. +- **Varied Availability:** Each team member has different primary +responsibilities, which may limit available time for the project. +- **Varying Skill Levels:** Team members have different levels of experience +with **Python** and **GitHub**, which may affect task completion speed and code quality. ## Internal: Voluntary @@ -32,3 +50,23 @@ Some boundaries around our project. - the number of hours you want to spend working - only using the colors black and white --> + +These constraints are decisions made by the team to help scope and guide the project: + +- **Submission Requirements:** All personal branches with functions must be +added to the project by **06.01.2025** (internal deadline), +with corresponding pull requests for each team member. +- **Task Division:** Team members will work on separate branches to minimize +merge conflicts and maintain clear ownership of tasks. +- **Review Process:** Each pull request must include at least one review. +- **Communication Channels:** We will use **Slack/WhatsApp** for general communication +and **GitHub** for technical discussions. **Zoom** may be used for synchronous +meetings if necessary. +- **Learning Goals:** Each team member will contribute tasks that align with +their personal learning objectives for the project. + +--- + +This document serves as a framework to ensure all team members understand +the constraints and expectations for the project. All changes and feedback will +be reviewed before merging into the main branch. From fe0c1d73f33223c1b72e941b945ae5f36ce975f7 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 18:25:03 +0100 Subject: [PATCH 101/248] Added some Defensive cases tests --- solutions/tests/test_factorial.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/solutions/tests/test_factorial.py b/solutions/tests/test_factorial.py index 115fe3f47..9622a18d7 100644 --- a/solutions/tests/test_factorial.py +++ b/solutions/tests/test_factorial.py @@ -58,6 +58,16 @@ def test_factorial_float_input(self): def test_factorial_of_large_number(self): """It should return the correct factorial for large numbers, e.g., 10! = 3,628,800.""" - actual = factorial(10) - expected = 3628800 + actual = factorial(40) + expected = 815915283247897734345611269596115894272000000000 self.assertEqual(actual, expected) + + def test_factorial_of_string(self): + """It should raise a TypeError when the input is a string.""" + with self.assertRaises(TypeError): + factorial("string") + + def test_factorial_of_negative_non_integer(self): + """It should raise a TypeError for a negative non-integer.""" + with self.assertRaises(TypeError): + factorial(-3.5) From 44ce3e9fadfa3481d746d941fab6e8bdfdcadb9b Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Fri, 3 Jan 2025 18:44:40 +0100 Subject: [PATCH 102/248] Changed the indentation and added a line at the end of both files. --- .vscode/settings.json | 4 ++-- solutions/negate.py | 27 ++++++++++++++------------- solutions/tests/test_negate.py | 3 ++- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/negate.py b/solutions/negate.py index af7be997c..b68aeca7a 100644 --- a/solutions/negate.py +++ b/solutions/negate.py @@ -10,26 +10,27 @@ @author: Abdul Qader Dost """ + def negate(number: float) -> float: """Returns the negation of the input number. - Parameters: - number (float): The number to negate. + Parameters: number (float): The number to negate. - Returns: - float: The negation of the input number. + Returns: float: The negation of the input number. Raises: - TypeError: If the argument is not an integer or float. - - Examples: - >>> negate(2) - -2 - >>> negate(-2) - 2 - >>> negate(10) - -10 + TypeError: If the argument is not an integer or float. + + >>> negate(2) + -2 + + >>> negate(-2) + 2 + + >>> negate(10) + -10 """ + if not isinstance(number, (int, float)): raise TypeError("Input must be a number") return -number diff --git a/solutions/tests/test_negate.py b/solutions/tests/test_negate.py index 14148e35b..c5a075f47 100644 --- a/solutions/tests/test_negate.py +++ b/solutions/tests/test_negate.py @@ -7,6 +7,7 @@ """ import unittest + from ..negate import negate @@ -46,4 +47,4 @@ def test_underflow(self): """It should handle underflow correctly.""" actual = negate(-1e-323) # Minimum subnormal positive float value expected = 1e-323 - self.assertEqual(actual, expected) \ No newline at end of file + self.assertEqual(actual, expected) From 2a3a06711ab99cf2ddb83da9d80296fcb948bb23 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 17:27:39 +0100 Subject: [PATCH 103/248] Added my schedule and availability --- collaboration/communication.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/collaboration/communication.md b/collaboration/communication.md index e75ab9dfe..f5db81b5e 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -37,10 +37,12 @@ ______________________________________________________________________ | Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | | ------------------ | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | | Yevheniia Rudenko | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 19:00-21:00 | 19:00-21:00 | +| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 14:00-20:00 | 14:00-20:00 | ### How many hours everyone has per day - Yevheniia Rudenko: ~5h; +- Abdul Qader Dost: ~4; - name: _6h_; - name: _5h_; - name: _4h_; From 7770b91b8c7c512e19ba8a44e14ec055471a3f05 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 19:56:14 +0100 Subject: [PATCH 104/248] Added my learning goals. --- .vscode/settings.json | 4 ++-- collaboration/learning_goals.md | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 72aae5080..56dd27743 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -71,6 +71,46 @@ development process to ensure code reliability and quality. - Foster a culture of continuous learning and improvement, encouraging the team to grow both technically and professionally through feedback and collaboration. +### Abdul Qader Dost + +## 1. Learn Git and GitHub + +- Master the fundamentals of version control using Git. +- Become proficient in using GitHub for collaboration, including creating +branches, committing changes, and merging pull requests. +- Understand the use of GitHub issues, pull requests, and project boards for +project tracking. + +## 2. Collaboration and Communication + +- Improve communication skills for effective teamwork in a collaborative +coding environment. +- Learn how to share progress, ask for help, and provide feedback to +team members. +- Foster a collaborative environment through regular check-ins and discussions +on Slack or GitHub discussions. + +## 3. Code Review + +- Understand best practices for conducting code reviews. +- Learn how to give constructive feedback on code while focusing on improving +the quality and maintainability of the project. +- Get comfortable reviewing others’ code and making suggestions for improvement. + +## 4. Project Management with GitHub + +- Use GitHub tools for project management, such as project boards, issues, and milestones. +- Track progress, manage tasks, and prioritize work within the GitHub repository. +- Learn how to break down large tasks into smaller, manageable parts and ensure +deadlines are met. + +## 5. Learning Recursion Algorithms + +- Understand the concept of recursion and how it applies to problem-solving. +- Implement common recursive algorithms and troubleshoot recursive logic. +- Apply recursion to real-world problems and optimize recursive solutions +where necessary. + --- *Each team member is encouraged to add their individual goals below to document From d5d5f1dd80c8c323537a6a1e9436dd6966dcfae3 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 19:58:13 +0100 Subject: [PATCH 105/248] Changed the headers size --- collaboration/learning_goals.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 56dd27743..9f9b66d7e 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -73,7 +73,7 @@ development process to ensure code reliability and quality. ### Abdul Qader Dost -## 1. Learn Git and GitHub +#### 1. Learn Git and GitHub - Master the fundamentals of version control using Git. - Become proficient in using GitHub for collaboration, including creating @@ -81,7 +81,7 @@ branches, committing changes, and merging pull requests. - Understand the use of GitHub issues, pull requests, and project boards for project tracking. -## 2. Collaboration and Communication +#### 2. Collaboration and Communication - Improve communication skills for effective teamwork in a collaborative coding environment. @@ -90,21 +90,21 @@ team members. - Foster a collaborative environment through regular check-ins and discussions on Slack or GitHub discussions. -## 3. Code Review +#### 3. Code Review - Understand best practices for conducting code reviews. - Learn how to give constructive feedback on code while focusing on improving the quality and maintainability of the project. - Get comfortable reviewing others’ code and making suggestions for improvement. -## 4. Project Management with GitHub +#### 4. Project Management with GitHub - Use GitHub tools for project management, such as project boards, issues, and milestones. - Track progress, manage tasks, and prioritize work within the GitHub repository. - Learn how to break down large tasks into smaller, manageable parts and ensure deadlines are met. -## 5. Learning Recursion Algorithms +#### 5. Learning Recursion Algorithms - Understand the concept of recursion and how it applies to problem-solving. - Implement common recursive algorithms and troubleshoot recursive logic. From 6a15b431b1f3d30f8e8229b137cadcc7ee600b9d Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 20:21:31 +0100 Subject: [PATCH 106/248] Initial suggestions for README file inside solutions folder. --- solutions/README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/solutions/README.md b/solutions/README.md index 9852346d2..f19779596 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -1 +1,60 @@ # Solutions + +## Simple Basic Calculator + +This is a simple calculator application written in Python. It includes +basic arithmetic operations, statistical calculations, and a few advanced +mathematical functions. + +### Features + +The calculator supports the following functionalities: + +- **Addition** (`add`): Adds two numbers. +- **Subtraction** (`subtract`): Subtracts the second number from the first. +- **Calculate Average** (`calculate_average`): Calculates the average of a +list of numbers. +- **Calculate Percentage** (`calculate_percentage`): Calculates the percentage +of a number. +- **Factorial** (`factorial`): Computes the factorial of a number. +- **Absolute Value** (`absolute_value`): Returns the absolute value of a number. +- **Find Max** (`find_max`): Finds the maximum value in a list of numbers. +- **Find Min** (`find_min`): Finds the minimum value in a list of numbers. +- **Inverse of a 2x2 Matrix** (`inverse_2x2_matrix`): Calculates the inverse +of a 2x2 matrix. +- **Binary Search (Recursive)** (`binary_search_recursive`): Performs a +binary search on a sorted list of numbers. + +### Contributors + +- **Add**: Ridwan Ayinde +- **Subtract**: Ridwan Ayinde +- **Calculate Average**: Yevheniia Rudenko +- **Calculate Percentage**: Yevheniia Rudenko +- **Factorial**: Abdul Qader Dost +- **Absolute Value**: Abdul Qader Dost +- **Find Max**: Lukmon (NGN) +- **Find Min**: Lukmon (NGN) +- **Inverse of a 2x2 Matrix**: Awaab +- **Binary Search Algorithm (Recursive)**: Awaab + +### How to Use + +1. Clone the repository: + + ```bash + git clone https://github.com/yourusername/calculator.git + +2. Navigate to the project directory: + + ```bash + cd ET6-foundations-group-12 + ``` + +### Requirements + +- Python 3.7 or higher + +### License + +This project is licensed under the MIT License. See the LICENSE file for more details. From e0f8d3373e790b9a81cfc45b2bb668c35268ef58 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 23:54:33 +0100 Subject: [PATCH 107/248] correct the repository link --- .vscode/settings.json | 4 ++-- solutions/README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/README.md b/solutions/README.md index f19779596..0b4ca4504 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -43,7 +43,7 @@ binary search on a sorted list of numbers. 1. Clone the repository: ```bash - git clone https://github.com/yourusername/calculator.git + git clone https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git 2. Navigate to the project directory: From b3d0833d8456dd5398d8363ca584fd77751e9d92 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 4 Jan 2025 23:59:18 +0100 Subject: [PATCH 108/248] Changed the format of repository url to comply CI checks --- solutions/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solutions/README.md b/solutions/README.md index 0b4ca4504..22e68b4a5 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -43,7 +43,8 @@ binary search on a sorted list of numbers. 1. Clone the repository: ```bash - git clone https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git + git clone [ET6-foundations-group-12 repository] + (https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git) 2. Navigate to the project directory: From 45b3952e0586b4a871293a937f60408015b97dff Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sun, 5 Jan 2025 11:38:48 +0100 Subject: [PATCH 109/248] Revert "Changed the format of repository url to comply CI checks" This reverts commit b3d0833d8456dd5398d8363ca584fd77751e9d92. --- solutions/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/solutions/README.md b/solutions/README.md index 22e68b4a5..0b4ca4504 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -43,8 +43,7 @@ binary search on a sorted list of numbers. 1. Clone the repository: ```bash - git clone [ET6-foundations-group-12 repository] - (https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git) + git clone https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git 2. Navigate to the project directory: From 7e531b56bf83db0f993fc78abe60662995315904 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 5 Jan 2025 12:57:20 +0100 Subject: [PATCH 110/248] Peers info update + fix CI check issue --- solutions/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/solutions/README.md b/solutions/README.md index 0b4ca4504..55b61af51 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -24,6 +24,9 @@ of a number. of a 2x2 matrix. - **Binary Search (Recursive)** (`binary_search_recursive`): Performs a binary search on a sorted list of numbers. +- **Square** (`square_function`): Calculates the square of a number. +- **Square root** (`square_root_function`): Calculates the square root of a number. +- **Multiply** (`multiply-function`): Multiplies two numbers and returns the result. ### Contributors @@ -37,6 +40,9 @@ binary search on a sorted list of numbers. - **Find Min**: Lukmon (NGN) - **Inverse of a 2x2 Matrix**: Awaab - **Binary Search Algorithm (Recursive)**: Awaab +- **Square**: Ayodele Ayomide +- **Square root**: Ayodele Ayomide +- **Multiply**: Olubusayo Solola ### How to Use @@ -44,6 +50,7 @@ binary search on a sorted list of numbers. ```bash git clone https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12.git + ``` 2. Navigate to the project directory: From f19220cee908c10f796c40b63d38391225b3cc2e Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Sun, 5 Jan 2025 13:29:47 +0100 Subject: [PATCH 111/248] Changes based on Abdul suggestion --- collaboration/constraints.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 751e48ad8..f4b30b658 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -58,7 +58,8 @@ added to the project by **06.01.2025** (internal deadline), with corresponding pull requests for each team member. - **Task Division:** Team members will work on separate branches to minimize merge conflicts and maintain clear ownership of tasks. -- **Review Process:** Each pull request must include at least one review. +- **Review Process:** Each pull request must be thoroughly reviewed by at +least one other team member to ensure code quality and prevent errors. - **Communication Channels:** We will use **Slack/WhatsApp** for general communication and **GitHub** for technical discussions. **Zoom** may be used for synchronous meetings if necessary. From a834add0e80176b7cfa0956f5fe2287a8463f0e0 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 16:52:15 +0100 Subject: [PATCH 112/248] worked_on_formatting --- solutions/tests/test/test_find_maximum_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/tests/test/test_find_maximum_value.py b/solutions/tests/test/test_find_maximum_value.py index 80a0ecb63..28f7f9ba8 100644 --- a/solutions/tests/test/test_find_maximum_value.py +++ b/solutions/tests/test/test_find_maximum_value.py @@ -8,7 +8,7 @@ import unittest -from ..find_maximum_value import find_maximum_value +from ..find_maximum_value import find_maximum_value # type: ignore class TestFindMaximumValue(unittest.TestCase): From 10832922b5b879b370747eddc33877d9299d387f Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 16:58:25 +0100 Subject: [PATCH 113/248] updating the main branch --- .vscode/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } From 9016dcea1f78adbb05adf3dbfab07901b80ebc46 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:18:41 +0100 Subject: [PATCH 114/248] Adding a brief summary --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e69de29bb..338ba42f1 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,7 @@ +# MIT Emergent Talent Foundation Track Assignment - Group 12 + +Welcome to the repository for **Group 12**'s assignment as part of the MIT Foundation +Track. This repository represents our collaborative effort to explore, learn, and +apply essential skills in software development through the implementation of a +**calculator project**. Each member of the team is contributing unique functionalities +to the calculator, reviewing each other’s code, and refining the project as a group. From ad68a293c35adbfb81b2a448e93dad08c674fee6 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:27:59 +0100 Subject: [PATCH 115/248] Adding an overview --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 338ba42f1..ef653cebc 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,10 @@ Track. This repository represents our collaborative effort to explore, learn, an apply essential skills in software development through the implementation of a **calculator project**. Each member of the team is contributing unique functionalities to the calculator, reviewing each other’s code, and refining the project as a group. + +## Project Overview + +This repository serves as the final deliverable for the Foundation Track, showcasing +our teamwork and dedication to mastering foundational concepts in software development. +Our primary objective is to collaboratively design and develop a calculator, with +every team member contributing to its various functionalities. From a43e56a9ad5e5d894cdc3055e01060c0a62472f0 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:31:19 +0100 Subject: [PATCH 116/248] Adding a set of objectives --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index ef653cebc..8ee6b3a9b 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,14 @@ This repository serves as the final deliverable for the Foundation Track, showca our teamwork and dedication to mastering foundational concepts in software development. Our primary objective is to collaboratively design and develop a calculator, with every team member contributing to its various functionalities. + +As a team of **10 emerging talents**, we are working together to: + +- Implement different features of the **calculator project**, including basic arithmetic, +advanced functions, and more. +- Collaborate on code reviews to ensure high quality and maintainability. +- Utilize **Git** for version control and collaboration. +- Navigate and manage projects effectively on **GitHub** using issues, pull requests, +and project boards. +- Adhere to **test-driven development (TDD)** cycles to ensure robust and reliable +code. From 4b1271d014c493ae450930ddb64141308b112fd0 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:33:23 +0100 Subject: [PATCH 117/248] Adding a set of tools --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 8ee6b3a9b..270fad244 100644 --- a/README.md +++ b/README.md @@ -23,3 +23,10 @@ advanced functions, and more. and project boards. - Adhere to **test-driven development (TDD)** cycles to ensure robust and reliable code. + +## Tools and Technologies + +- **Programming Language**: Python +- **Version Control**: Git, integrated with GitHub +- **Editor**: Visual Studio Code (VS Code) with extensions to enhance productivity +- **Collaboration**: GitHub issues, pull requests, and project boards From f8c18800859844bf627c930e532a3d6e43620877 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:37:01 +0100 Subject: [PATCH 118/248] Adding details about the group --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 270fad244..da0a43bbe 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,18 @@ code. - **Version Control**: Git, integrated with GitHub - **Editor**: Visual Studio Code (VS Code) with extensions to enhance productivity - **Collaboration**: GitHub issues, pull requests, and project boards + +## About Group 12 + +We are a motivated and enthusiastic group of learners, collaborating as contributors +to this shared repository. This assignment is more than an assessment requirement +for us—it is an opportunity to build skills, share knowledge, and grow together as +a team. Through the development of this calculator project, we aim to foster a culture +of learning and innovation, focusing on: + +- **Teamwork**: Working together to design, implement, and refine the calculator’s +features. +- **Communication**: Ensuring clear and constructive collaboration during reviews +and discussions. +- **Continuous Learning**: Building technical and soft skills through hands-on experience +and feedback. From 34599bf30ec8264f148c64316bfde1675d33d5ae Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 17:38:36 +0100 Subject: [PATCH 119/248] enabled-ruff-to-fromat --- solutions/find_maximum_value.py | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index 726680e7c..db051ff7d 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -31,6 +31,7 @@ def find_maximum_value(values: list): """ # values = [input(print('enter a list of number to be processed'))] + # trunk-ignore(bandit/B101) assert isinstance(values, list) ordered_list_of_values = sorted(values) highest = ordered_list_of_values[-1] From dd344bf739067f4ad6d2f289e12d91d419e686cc Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:39:58 +0100 Subject: [PATCH 120/248] Adding a structure to the project --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index da0a43bbe..0a46c5f6c 100644 --- a/README.md +++ b/README.md @@ -45,3 +45,15 @@ features. and discussions. - **Continuous Learning**: Building technical and soft skills through hands-on experience and feedback. + +## Project Structure + +The calculator project is structured to ensure modularity and ease of collaboration. +Key elements include: + +- **Feature Modules**: Each team member is responsible for implementing specific +features, such as addition, subtraction, or other advanced scientific functions. +- **Testing**: A dedicated test suite ensures all functionalities work as intended, +following TDD principles. +- **Documentation**: Comprehensive documentation accompanies the code to ensure +clarity and usability. From ef7445f4e2cd1e5152263ae14c6a151237e9645e Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 17:41:35 +0100 Subject: [PATCH 121/248] formatters --- .trunk/.gitignore | 9 +++++++++ .trunk/configs/.isort.cfg | 2 ++ .trunk/configs/ruff.toml | 5 +++++ .trunk/trunk.yaml | 23 +++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 .trunk/.gitignore create mode 100644 .trunk/configs/.isort.cfg create mode 100644 .trunk/configs/ruff.toml create mode 100644 .trunk/trunk.yaml diff --git a/.trunk/.gitignore b/.trunk/.gitignore new file mode 100644 index 000000000..15966d087 --- /dev/null +++ b/.trunk/.gitignore @@ -0,0 +1,9 @@ +*out +*logs +*actions +*notifications +*tools +plugins +user_trunk.yaml +user.yaml +tmp diff --git a/.trunk/configs/.isort.cfg b/.trunk/configs/.isort.cfg new file mode 100644 index 000000000..b9fb3f3e8 --- /dev/null +++ b/.trunk/configs/.isort.cfg @@ -0,0 +1,2 @@ +[settings] +profile=black diff --git a/.trunk/configs/ruff.toml b/.trunk/configs/ruff.toml new file mode 100644 index 000000000..f5a235cf9 --- /dev/null +++ b/.trunk/configs/ruff.toml @@ -0,0 +1,5 @@ +# Generic, formatter-friendly config. +select = ["B", "D3", "E", "F"] + +# Never enforce `E501` (line length violations). This should be handled by formatters. +ignore = ["E501"] diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml new file mode 100644 index 000000000..4af399ebd --- /dev/null +++ b/.trunk/trunk.yaml @@ -0,0 +1,23 @@ +# This file controls the behavior of Trunk: https://docs.trunk.io/cli +# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml +version: 0.1 +cli: + version: 1.22.8 +plugins: + sources: + - id: trunk + ref: v1.6.6 + uri: https://github.com/trunk-io/plugins +actions: + disabled: + - trunk-announce + - trunk-check-pre-push + - trunk-fmt-pre-commit + enabled: + - trunk-upgrade-available +lint: + enabled: + - ruff@0.8.5 + - isort@5.13.2 + - bandit@1.8.0 + - ruff@0.8.5 From 5de1505ad9b52ebdafc38add93a1def6bf350201 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 17:41:35 +0100 Subject: [PATCH 122/248] Adding a footer --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0a46c5f6c..766e3726e 100644 --- a/README.md +++ b/README.md @@ -57,3 +57,10 @@ features, such as addition, subtraction, or other advanced scientific functions. following TDD principles. - **Documentation**: Comprehensive documentation accompanies the code to ensure clarity and usability. + +--- + +We invite you to explore this repository and witness our journey of growth, teamwork, +and learning through the development of this calculator project. + +Thank you for visiting our repository! From 8e2d2b1d251980819c67302c058ed740c8d2d08e Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 17:48:07 +0100 Subject: [PATCH 123/248] applied-formatters --- solutions/find_minimum_value.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index a348a55b4..71943f8f5 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -27,10 +27,12 @@ def find_minimum_value(values: list): 0.5 """ + # trunk-ignore(bandit/B101) assert isinstance(values, list) # verifies that 'values' is a list + # trunk-ignore(bandit/B101) assert all( isinstance(item, (int, float)) for item in values ) # "values must be an int or a float" ordered_list_of_values = sorted(values) # returns the list in ascending order - min = ordered_list_of_values[0] # gives the minimum value from the ordered list - return min + lowest = ordered_list_of_values[0] # gives the minimum value from the ordered list + return lowest From af942279e9b231d38ed0b7d231b4641ad776ecea Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 17:48:39 +0100 Subject: [PATCH 124/248] applied-formatters --- solutions/tests/test_find_minimum_value.py | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/solutions/tests/test_find_minimum_value.py b/solutions/tests/test_find_minimum_value.py index 5a6de358d..414982c19 100644 --- a/solutions/tests/test_find_minimum_value.py +++ b/solutions/tests/test_find_minimum_value.py @@ -1,6 +1,6 @@ """ created on 2024-12-28 - + @author: Lukmon Alao """ @@ -8,48 +8,47 @@ from ..find_minimum_value import find_minimum_value + class TestFindMinimumValue(unittest.TestCase): """Test the find_minimum_value from a list""" - - + def test_first_four_integers(self): """It gives 1 when [1, 2, 3, 4] is pass to the function""" - actual = find_minimum_value([1, 2, 3, 4]) #call function with test argument - expected = 1 # hand-write the expected return value + actual = find_minimum_value([1, 2, 3, 4]) # call function with test argument + expected = 1 # hand-write the expected return value self.assertEqual(actual, expected) - + def test_float_only(self): """It should return the smallest float value""" self.assertEqual(find_minimum_value([1.2, 3.4, 2.7, 0.5]), 0.5) - + def test_list_of_float_and_int(self): """It returns the smallest value in list""" self.assertEqual(find_minimum_value([2.24, 4, 5.23, 1]), 1) - + def test_negative_values(self): """It should return the negative number with the highest value""" self.assertEqual(find_minimum_value([-1, -2, -3, -4]), -4) - + def test_list_with_negative_and_positive_int_values(self): """It should return the smallest value from the list""" self.assertEqual(find_minimum_value([-1, 15, -9, 6]), -9) - + def test_list_with_negative_and_positive_float_values(self): """It should return the smallest value from the list""" self.assertEqual(find_minimum_value([-0.35, 0.1, 2.4, -4.234]), -4.234) - + def test_list_with_both_negative_and_positive_values_of_int_and_float(self): """It should return the smallest value from the list""" self.assertEqual(find_minimum_value([-1.2, 3, 3.78, -5]), -5) - - + # Defensive tests def test_none_input(self): """It should raise Assertion error for none input""" with self.assertRaises(AssertionError): find_minimum_value(None) - + def test_input_value_is_not_list(self): """It should raise an assertion error if the input value is a string""" with self.assertRaises(AssertionError): - find_minimum_value('1') + find_minimum_value("1") From ffa3050d9a1585ca52b4de4db82e10e1fc444818 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 19:34:45 +0100 Subject: [PATCH 125/248] Changes suggested by Awaab98 --- collaboration/constraints.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index f4b30b658..56a4487b2 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -24,6 +24,8 @@ been imposed by external factors: control and **Python** for development. - **Code Review Requirements:** Each pull request must be reviewed by at least one other team member before merging. +- **Accessibility and Connectivity:** Team members must ensure they have reliable +internet access to collaborate effectively. ## Internal: Involuntary @@ -40,6 +42,9 @@ requiring asynchronous work and collaboration. responsibilities, which may limit available time for the project. - **Varying Skill Levels:** Team members have different levels of experience with **Python** and **GitHub**, which may affect task completion speed and code quality. +- **Learning Curves:** As this project is part of a learning track, team members +are still in the process of mastering some of the technologies and practices, which +may affect productivity. ## Internal: Voluntary @@ -65,6 +70,8 @@ and **GitHub** for technical discussions. **Zoom** may be used for synchronous meetings if necessary. - **Learning Goals:** Each team member will contribute tasks that align with their personal learning objectives for the project. +- **Coding Standards:** We will follow a common coding style guide to ensure consistency +throughout the project. All code must adhere to **PEP8** standards and be well-documented. --- From ddb15fd4f48b133e41b8d8f4c2078a9b21885083 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 20:45:04 +0100 Subject: [PATCH 126/248] Availability of Awaab98 --- collaboration/communication.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index f5db81b5e..1c61cd1fa 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -34,16 +34,17 @@ ______________________________________________________________________ ### Availability for calling/messaging -| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | -| ------------------ | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | -------------- | -| Yevheniia Rudenko | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 14:00-20:00 | 19:00-21:00 | 19:00-21:00 | -| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 14:00-20:00 | 14:00-20:00 | +|Day|Monday|Tuesday| Wednesday|Thursday| Friday| Saturday| Sunday| +|-|-|-|-|-|-|-|-| +|Yevheniia Rudenko|14:00-20:00|14:00-20:00|14:00-20:00| 14:00-20:00|14:00-20:00|19:00-21:00|19:00-21:00| +| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 14:00-20:00|14:00-20:00| +|Awaab Hussein|17:00-21:00|17:00-21:00| 17:00-21:00| 17:00-21:00|17:00-21:00|14:00-20:00|14:00-20:00| ### How many hours everyone has per day - Yevheniia Rudenko: ~5h; - Abdul Qader Dost: ~4; -- name: _6h_; +- Awaab Hussein: ~3h; - name: _5h_; - name: _4h_; - name: _3h_; From 26f1a4cdc7dc2a68d09e4e6b99a7ed298cc08bdc Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 20:45:56 +0100 Subject: [PATCH 127/248] Fixing the MD line length in the table --- collaboration/communication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index 1c61cd1fa..a24677ef5 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -37,7 +37,7 @@ ______________________________________________________________________ |Day|Monday|Tuesday| Wednesday|Thursday| Friday| Saturday| Sunday| |-|-|-|-|-|-|-|-| |Yevheniia Rudenko|14:00-20:00|14:00-20:00|14:00-20:00| 14:00-20:00|14:00-20:00|19:00-21:00|19:00-21:00| -| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 14:00-20:00|14:00-20:00| +| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 |17:00-21:00|14:00-20:00|14:00-20:00| |Awaab Hussein|17:00-21:00|17:00-21:00| 17:00-21:00| 17:00-21:00|17:00-21:00|14:00-20:00|14:00-20:00| ### How many hours everyone has per day From b6d19e71405389f00234375fdf872c1872d2324a Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Sun, 5 Jan 2025 20:49:46 +0100 Subject: [PATCH 128/248] Changes by Awaab98 --- collaboration/communication.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index a24677ef5..090e226f2 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -34,11 +34,11 @@ ______________________________________________________________________ ### Availability for calling/messaging -|Day|Monday|Tuesday| Wednesday|Thursday| Friday| Saturday| Sunday| +|Day|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday| |-|-|-|-|-|-|-|-| |Yevheniia Rudenko|14:00-20:00|14:00-20:00|14:00-20:00| 14:00-20:00|14:00-20:00|19:00-21:00|19:00-21:00| -| Abdul Qader Dost | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 | 17:00-21:00 |17:00-21:00|14:00-20:00|14:00-20:00| -|Awaab Hussein|17:00-21:00|17:00-21:00| 17:00-21:00| 17:00-21:00|17:00-21:00|14:00-20:00|14:00-20:00| +|Abdul Qader Dost|17:00-21:00| 17:00-21:00|17:00-21:00| 17:00-21:00 |17:00-21:00|14:00-20:00|14:00-20:00| +|Awaab Hussein|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| ### How many hours everyone has per day From afd2884f729f10499ec4e3060441e80d4e1d1028 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 21:30:25 +0100 Subject: [PATCH 129/248] removed trunk file --- .trunk/.gitignore | 9 --------- .trunk/configs/.isort.cfg | 2 -- .trunk/configs/.yamllint.yaml | 7 ------- .trunk/configs/ruff.toml | 5 ----- .trunk/configs/svgo.config.js | 14 ------------- .trunk/trunk.yaml | 38 ----------------------------------- 6 files changed, 75 deletions(-) delete mode 100644 .trunk/.gitignore delete mode 100644 .trunk/configs/.isort.cfg delete mode 100644 .trunk/configs/.yamllint.yaml delete mode 100644 .trunk/configs/ruff.toml delete mode 100644 .trunk/configs/svgo.config.js delete mode 100644 .trunk/trunk.yaml diff --git a/.trunk/.gitignore b/.trunk/.gitignore deleted file mode 100644 index 15966d087..000000000 --- a/.trunk/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*out -*logs -*actions -*notifications -*tools -plugins -user_trunk.yaml -user.yaml -tmp diff --git a/.trunk/configs/.isort.cfg b/.trunk/configs/.isort.cfg deleted file mode 100644 index b9fb3f3e8..000000000 --- a/.trunk/configs/.isort.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[settings] -profile=black diff --git a/.trunk/configs/.yamllint.yaml b/.trunk/configs/.yamllint.yaml deleted file mode 100644 index 184e251f8..000000000 --- a/.trunk/configs/.yamllint.yaml +++ /dev/null @@ -1,7 +0,0 @@ -rules: - quoted-strings: - required: only-when-needed - extra-allowed: ["{|}"] - key-duplicates: {} - octal-values: - forbid-implicit-octal: true diff --git a/.trunk/configs/ruff.toml b/.trunk/configs/ruff.toml deleted file mode 100644 index f5a235cf9..000000000 --- a/.trunk/configs/ruff.toml +++ /dev/null @@ -1,5 +0,0 @@ -# Generic, formatter-friendly config. -select = ["B", "D3", "E", "F"] - -# Never enforce `E501` (line length violations). This should be handled by formatters. -ignore = ["E501"] diff --git a/.trunk/configs/svgo.config.js b/.trunk/configs/svgo.config.js deleted file mode 100644 index b257d1349..000000000 --- a/.trunk/configs/svgo.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - plugins: [ - { - name: "preset-default", - params: { - overrides: { - removeViewBox: false, // https://github.com/svg/svgo/issues/1128 - sortAttrs: true, - removeOffCanvasPaths: true, - }, - }, - }, - ], -}; diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml deleted file mode 100644 index cdf93dd97..000000000 --- a/.trunk/trunk.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# This file controls the behavior of Trunk: https://docs.trunk.io/cli -# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml -version: 0.1 -cli: - version: 1.22.8 -# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins) -plugins: - sources: - - id: trunk - ref: v1.6.6 - uri: https://github.com/trunk-io/plugins -# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes) -runtimes: - enabled: - - node@18.20.5 - - python@3.10.8 -# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration) -lint: - enabled: - - actionlint@1.7.5 - - bandit@1.8.0 - - black@24.10.0 - - checkov@3.2.345 - - git-diff-check - - isort@5.13.2 - - markdownlint@0.43.0 - - prettier@3.4.2 - - ruff@0.8.4 - - svgo@3.3.2 - - trufflehog@3.88.0 - - yamllint@1.35.1 -actions: - disabled: - - trunk-announce - - trunk-check-pre-push - - trunk-fmt-pre-commit - enabled: - - trunk-upgrade-available From 5959d84b23ab9e64b754e7385b73024a59024229 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 21:38:11 +0100 Subject: [PATCH 130/248] removed trunk file --- .trunk/.gitignore | 9 --------- .trunk/configs/.isort.cfg | 2 -- .trunk/configs/ruff.toml | 5 ----- .trunk/trunk.yaml | 23 ----------------------- 4 files changed, 39 deletions(-) delete mode 100644 .trunk/.gitignore delete mode 100644 .trunk/configs/.isort.cfg delete mode 100644 .trunk/configs/ruff.toml delete mode 100644 .trunk/trunk.yaml diff --git a/.trunk/.gitignore b/.trunk/.gitignore deleted file mode 100644 index 15966d087..000000000 --- a/.trunk/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*out -*logs -*actions -*notifications -*tools -plugins -user_trunk.yaml -user.yaml -tmp diff --git a/.trunk/configs/.isort.cfg b/.trunk/configs/.isort.cfg deleted file mode 100644 index b9fb3f3e8..000000000 --- a/.trunk/configs/.isort.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[settings] -profile=black diff --git a/.trunk/configs/ruff.toml b/.trunk/configs/ruff.toml deleted file mode 100644 index f5a235cf9..000000000 --- a/.trunk/configs/ruff.toml +++ /dev/null @@ -1,5 +0,0 @@ -# Generic, formatter-friendly config. -select = ["B", "D3", "E", "F"] - -# Never enforce `E501` (line length violations). This should be handled by formatters. -ignore = ["E501"] diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml deleted file mode 100644 index 4af399ebd..000000000 --- a/.trunk/trunk.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# This file controls the behavior of Trunk: https://docs.trunk.io/cli -# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml -version: 0.1 -cli: - version: 1.22.8 -plugins: - sources: - - id: trunk - ref: v1.6.6 - uri: https://github.com/trunk-io/plugins -actions: - disabled: - - trunk-announce - - trunk-check-pre-push - - trunk-fmt-pre-commit - enabled: - - trunk-upgrade-available -lint: - enabled: - - ruff@0.8.5 - - isort@5.13.2 - - bandit@1.8.0 - - ruff@0.8.5 From f2fe2ddb3fb1b504257fd5ee91cd8e87fb73af93 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 22:01:16 +0100 Subject: [PATCH 131/248] added-Lukmom-availability --- collaboration/communication.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index 090e226f2..216512f4f 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -39,13 +39,14 @@ ______________________________________________________________________ |Yevheniia Rudenko|14:00-20:00|14:00-20:00|14:00-20:00| 14:00-20:00|14:00-20:00|19:00-21:00|19:00-21:00| |Abdul Qader Dost|17:00-21:00| 17:00-21:00|17:00-21:00| 17:00-21:00 |17:00-21:00|14:00-20:00|14:00-20:00| |Awaab Hussein|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| +|Lukmon Alao|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| ### How many hours everyone has per day - Yevheniia Rudenko: ~5h; - Abdul Qader Dost: ~4; - Awaab Hussein: ~3h; -- name: _5h_; +- Lukmon Alao: _3h_; - name: _4h_; - name: _3h_; From 9c69ff71eec4776c546591260da329d6ae1ab670 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sun, 5 Jan 2025 22:20:13 +0100 Subject: [PATCH 132/248] formating --- solutions/find_minimum_value.py | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index 71943f8f5..d6b82db85 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -29,6 +29,7 @@ def find_minimum_value(values: list): # trunk-ignore(bandit/B101) assert isinstance(values, list) # verifies that 'values' is a list + # trunk-ignore(bandit/B101) assert all( isinstance(item, (int, float)) for item in values From acfed12935fa120a4c21fee1dc4b9c5cd06096bf Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Sun, 5 Jan 2025 22:53:54 +0100 Subject: [PATCH 133/248] Implemented the comments on add funtion --- solutions/add.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/solutions/add.py b/solutions/add.py index d387846c2..73ff510c6 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -13,16 +13,16 @@ def add(num1: float, num2: float) -> float: - """Add two numbers. + """Add two numbers and returns their sum. Parameters: - num1:float, the first number - num2:float, the second number + num1:(int, float), the first number to be added + num2:(int, float), the second number to be added Returns -> float: the sum of num1 and num2 Raises: - AssertionError: if any argument is not a number + AssertionError: if num1 or num2 is not an integer or float >>> add(4, 6) 10.0 @@ -35,6 +35,6 @@ def add(num1: float, num2: float) -> float: """ # Validate inputs - assert isinstance(num1, (int, float)), "num1 must be a number" - assert isinstance(num2, (int, float)), "num2 must be a number" + assert isinstance(num1, (int, float)), "num1 must be a int or float" + assert isinstance(num2, (int, float)), "num2 must be a int or float" return float(num1 + num2) From 5f7834542f775b297803ccba37b68d219aaedbad Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Mon, 6 Jan 2025 00:18:49 +0100 Subject: [PATCH 134/248] Completed merge from remote add-function --- solutions/add.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/solutions/add.py b/solutions/add.py index 73ff510c6..b54d05567 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -3,9 +3,11 @@ """ A module for adding two numbers. +Module contents: Module contents: -add: adds two numbers and returns the result. + Created on 28.12.2024 @author : Ridwan Ayinde @@ -33,6 +35,11 @@ def add(num1: float, num2: float) -> float: >>> add(-5, -3) -8.0 + >>> add(7, -3) + 4.0 + >>> add(-5, -3) + -8.0 + """ # Validate inputs assert isinstance(num1, (int, float)), "num1 must be a int or float" From 9fd064fc9184dfba82a0e106ae96750d9626d7a9 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Mon, 6 Jan 2025 00:44:07 +0100 Subject: [PATCH 135/248] Implemented reviewed comment --- solutions/add.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/solutions/add.py b/solutions/add.py index 1080e70e4..8e150f8d3 100644 --- a/solutions/add.py +++ b/solutions/add.py @@ -4,8 +4,6 @@ A module for adding two numbers. -Module contents: -Module contents: Module contents: -add: adds two numbers and returns the result. From 7980ef845b3824a0611488784ad54f8eca51117d Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Mon, 6 Jan 2025 01:29:12 +0100 Subject: [PATCH 136/248] Updated communication.md --- collaboration/communication.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index 216512f4f..f8bd7d94a 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -40,6 +40,7 @@ ______________________________________________________________________ |Abdul Qader Dost|17:00-21:00| 17:00-21:00|17:00-21:00| 17:00-21:00 |17:00-21:00|14:00-20:00|14:00-20:00| |Awaab Hussein|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| |Lukmon Alao|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| +|Ridwan Ayinde|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|13:00-16:00|13:00-16:00| ### How many hours everyone has per day @@ -47,7 +48,7 @@ ______________________________________________________________________ - Abdul Qader Dost: ~4; - Awaab Hussein: ~3h; - Lukmon Alao: _3h_; -- name: _4h_; +- Ridwan Ayinde: _3h_; - name: _3h_; ## Asking for Help From 8d3888391c39625e06f9d3c653968defe6fbecad Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Mon, 6 Jan 2025 06:08:22 +0100 Subject: [PATCH 137/248] Implement multiply function and add unit tests --- .vscode/settings.json | 4 ++-- solutions/multiply.py | 31 +++++++++++++++++++++++++++ solutions/tests/test_multiply.py | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 solutions/multiply.py create mode 100644 solutions/tests/test_multiply.py diff --git a/.vscode/settings.json b/.vscode/settings.json index bbda5188d..252022b48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -119,8 +119,8 @@ "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll.ruff": true, - "source.organizeImports.ruff": true + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" } } } diff --git a/solutions/multiply.py b/solutions/multiply.py new file mode 100644 index 000000000..bd0469fdb --- /dev/null +++ b/solutions/multiply.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python 3 +# -*- coding: utf-8 -*- + +""" +A module for multiplication of two numbers. + +Module contents: + multiply: multiply two numbers and returns the result. + +Created on 31.12.2024 +@author : Simi-Solola + +""" + + +def multiply(a: float, b: float) -> float: + """ + Multiplies two numbers and returns the result. + + Parameters: + a (float): The first number. + b (float): The second number. + + Returns: + float: The result of multiplying `a` and `b`. + """ + # Defensive assertion + assert isinstance(a, (int, float)), "a must be a number" + assert isinstance(b, (int, float)), "b must be a number" + + return a * b diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py new file mode 100644 index 000000000..063268228 --- /dev/null +++ b/solutions/tests/test_multiply.py @@ -0,0 +1,36 @@ +#! usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Test for multiplication of two numbers + +Created on 06.01.2025 + +@author:Simi-Solola + + +""" + +import unittest +from solutions.multiply import multiply + + +class TestMultiply(unittest.TestCase): + """ + Test case for the multiply function. + """ + + def test_multiply_positive_numbers(self): + """Test multiplying two positive numbers.""" + result = multiply(2, 3) + self.assertEqual(result, 6) + + def test_multiply_negative_number(self): + """Test multiplying a positive and a negative number.""" + result = multiply(2, -3) + self.assertEqual(result, -6) + + def test_multiply_non_numeric_input(self): + """Test that non-numeric inputs raise an assertion error.""" + with self.assertRaises(AssertionError): + multiply(2, "a") From 5c07a9c1930656563c9361f304289e170472b209 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Mon, 6 Jan 2025 07:00:50 +0100 Subject: [PATCH 138/248] added documentaton and unittest for divide function --- solutions/divide.py | 47 ++++++++++++++++++++ solutions/tests/test_divide.py | 79 ++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 solutions/divide.py create mode 100644 solutions/tests/test_divide.py diff --git a/solutions/divide.py b/solutions/divide.py new file mode 100644 index 000000000..1b2a20ef2 --- /dev/null +++ b/solutions/divide.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for generating quotient of two numbers (inputs) "a" and "b" + +Module contents: + - Division: finds the quotient of two numbers; both integers and floats. + +Created on 05.01.2025 +@author: Zephaniah Okoye +""" + +def divide(a: float, b: float) -> float: + """Divides one number by another and returns the result. + + Parameters: + a (float): the numerator + b (float): the denominator + + Returns -> (float): the result of the division + + Raises: + ZeroDivisionError: if the denominator is zero + TypeError: if either argument is not a number + + Examples: + >>> divide(10, 2) + 5.0 + >>> divide(9, 3) + 3.0 + >>> divide(7, 0) + Traceback (most recent call last): + ... + ZeroDivisionError: Cannot divide by zero + """ + + if not isinstance(a, (int, float)): + raise TypeError("Both arguments must be numbers") + + if b == 0: + raise ZeroDivisionError("Cannot divide by zero") + + return a / b + +if __name__ == "__main__": + import doctest + doctest.testmod() \ No newline at end of file diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py new file mode 100644 index 000000000..2b57ef74b --- /dev/null +++ b/solutions/tests/test_divide.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on 05.01.2025 + +@author: Zephaniah Okoye +""" + +import unittest + +# --- imports & test class before documenting and testing --- + +# from ..mystery_0 import mystery_0 + +# class TestMystery0(unittest.TestCase): + +# --- imports & test class after documenting and testing --- + +from ..divide import divide + +class TestDivide(unittest.TestCase): + """ Test for testing our divide function""" + + def test_divide_integers(self): + """It should produce the accurate results of a division operation for two integer inputs""" + + actual = divide(10, 2) # Calling function with test arguments + expected = 5.0 # Expected result + self.assertEqual(actual, expected) + + actual = divide(9, 3) # Calling function with test arguments + expected = 3.0 # Expected result + self.assertEqual(actual, expected) + + actual = divide(0, 1) # Calling function with test arguments + expected = 0.0 # Expected result + self.assertEqual(actual, expected) + + def test_divide_floats(self): + """It should produce the accurate results of a division operation for two float inputs""" + + actual = divide(10.5, 2.5) # Calling function with test arguments + expected = 4.2 # Expected result + self.assertAlmostEqual(actual, expected) + + actual = divide(-7.0, 2.0) # Calling function with test arguments + expected = -3.5 # Expected result + self.assertAlmostEqual(actual, expected) + + def test_divide_zero(self): + """It should show a ZeroDivisionError whenever the denominator input is zero""" + + with self.assertRaises(ZeroDivisionError) as context: + divide(7, 0) # Calling function with test arguments + expected = "Cannot divide by zero" # Expected result + self.assertTrue(expected in str(context.exception)) + + def test_divide_type_error(self): + """It should show a TypeError when either argument is not a number""" + + with self.assertRaises(TypeError) as context: + divide("10", 2) # Calling function with test arguments + expected = "Both arguments must be numbers" # Expected result + self.assertTrue(expected in str(context.exception)) + + with self.assertRaises(TypeError) as context: + divide(10, "2") # Calling function with test arguments + expected = "unsupported operand type(s) for /: 'int' and 'str'" # Updated expected result + self.assertTrue(expected in str(context.exception)) + + with self.assertRaises(TypeError) as context: + divide("10", "2") # Calling function with test arguments + expected = "Both arguments must be numbers" # Expected result + self.assertTrue(expected in str(context.exception)) + + + +if __name__ == "__main__": + unittest.main() From b388a5b0b18ea570519a4e77d88acee8bf106907 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Mon, 6 Jan 2025 08:57:02 +0100 Subject: [PATCH 139/248] All tests passed successfully --- solutions/tests/test_divide.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 2b57ef74b..201d91ebb 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -74,6 +74,6 @@ def test_divide_type_error(self): self.assertTrue(expected in str(context.exception)) - +#Additional test method if __name__ == "__main__": unittest.main() From 2de721b26c45c88c601c02cf1c50972e460555e2 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Mon, 6 Jan 2025 09:58:16 +0100 Subject: [PATCH 140/248] Fixed remaining formatting issues with ruff --- solutions/tests/test_divide.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 201d91ebb..382e8c67d 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -74,6 +74,6 @@ def test_divide_type_error(self): self.assertTrue(expected in str(context.exception)) -#Additional test method +#Additional test method ___ if __name__ == "__main__": unittest.main() From c72e9e58072be7a4426416e26fa1399542638d09 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Mon, 6 Jan 2025 11:02:17 +0100 Subject: [PATCH 141/248] Ran and passed all tests for divide function --- solutions/divide.py | 6 +-- solutions/tests/test_divide.py | 74 ++++++++++++++++------------------ 2 files changed, 36 insertions(+), 44 deletions(-) diff --git a/solutions/divide.py b/solutions/divide.py index 1b2a20ef2..c2de28faf 100644 --- a/solutions/divide.py +++ b/solutions/divide.py @@ -40,8 +40,4 @@ def divide(a: float, b: float) -> float: if b == 0: raise ZeroDivisionError("Cannot divide by zero") - return a / b - -if __name__ == "__main__": - import doctest - doctest.testmod() \ No newline at end of file + return a / b \ No newline at end of file diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 382e8c67d..3ac8cb879 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -7,16 +7,13 @@ """ import unittest +import sys +import os -# --- imports & test class before documenting and testing --- +# Add the parent directory of 'solutions' to the system path +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) -# from ..mystery_0 import mystery_0 - -# class TestMystery0(unittest.TestCase): - -# --- imports & test class after documenting and testing --- - -from ..divide import divide +from solutions.divide import divide class TestDivide(unittest.TestCase): """ Test for testing our divide function""" @@ -24,56 +21,55 @@ class TestDivide(unittest.TestCase): def test_divide_integers(self): """It should produce the accurate results of a division operation for two integer inputs""" - actual = divide(10, 2) # Calling function with test arguments - expected = 5.0 # Expected result + actual = divide(10, 2) # Calling function with test arguments + expected = 5.0 # Expected result self.assertEqual(actual, expected) - actual = divide(9, 3) # Calling function with test arguments - expected = 3.0 # Expected result + actual = divide(9, 3) # Calling function with test arguments + expected = 3.0 # Expected result self.assertEqual(actual, expected) - actual = divide(0, 1) # Calling function with test arguments - expected = 0.0 # Expected result + actual = divide(0, 1) # Calling function with test arguments + expected = 0.0 # Expected result self.assertEqual(actual, expected) def test_divide_floats(self): """It should produce the accurate results of a division operation for two float inputs""" - actual = divide(10.5, 2.5) # Calling function with test arguments - expected = 4.2 # Expected result + actual = divide(10.5, 2.5) # Calling function with test arguments + expected = 4.2 # Expected result self.assertAlmostEqual(actual, expected) - actual = divide(-7.0, 2.0) # Calling function with test arguments - expected = -3.5 # Expected result + actual = divide(-7.0, 2.0) # Calling function with test arguments + expected = -3.5 # Expected result self.assertAlmostEqual(actual, expected) def test_divide_zero(self): """It should show a ZeroDivisionError whenever the denominator input is zero""" with self.assertRaises(ZeroDivisionError) as context: - divide(7, 0) # Calling function with test arguments - expected = "Cannot divide by zero" # Expected result + divide(7, 0) # Calling function with test arguments + expected = "Cannot divide by zero" # Expected result self.assertTrue(expected in str(context.exception)) def test_divide_type_error(self): - """It should show a TypeError when either argument is not a number""" - - with self.assertRaises(TypeError) as context: - divide("10", 2) # Calling function with test arguments - expected = "Both arguments must be numbers" # Expected result - self.assertTrue(expected in str(context.exception)) - - with self.assertRaises(TypeError) as context: - divide(10, "2") # Calling function with test arguments - expected = "unsupported operand type(s) for /: 'int' and 'str'" # Updated expected result - self.assertTrue(expected in str(context.exception)) - - with self.assertRaises(TypeError) as context: - divide("10", "2") # Calling function with test arguments - expected = "Both arguments must be numbers" # Expected result - self.assertTrue(expected in str(context.exception)) - - -#Additional test method ___ + """It should show a TypeError when either argument is not a number""" + + with self.assertRaises(TypeError) as context: + divide("10", 2) # Calling function with test arguments + expected = "Both arguments must be numbers" # Expected result + self.assertTrue(expected in str(context.exception)) + + with self.assertRaises(TypeError) as context: + divide(10, "2") # Calling function with test arguments + expected = "unsupported operand type(s) for /: 'int' and 'str'" # Updated expected result + self.assertTrue(expected in str(context.exception)) + + with self.assertRaises(TypeError) as context: + divide("10", "2") # Calling function with test arguments + expected = "Both arguments must be numbers" # Expected result + self.assertTrue(expected in str(context.exception)) + +# Additional test method if __name__ == "__main__": unittest.main() From 2e0a568ce9c7270e52d8edf33536a1d9b7ed0901 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Mon, 6 Jan 2025 11:30:30 +0100 Subject: [PATCH 142/248] Reformatted test_divide.py using ruff --- solutions/divide.py | 3 ++- solutions/tests/test_divide.py | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/solutions/divide.py b/solutions/divide.py index c2de28faf..5fbe8d50d 100644 --- a/solutions/divide.py +++ b/solutions/divide.py @@ -10,6 +10,7 @@ @author: Zephaniah Okoye """ + def divide(a: float, b: float) -> float: """Divides one number by another and returns the result. @@ -40,4 +41,4 @@ def divide(a: float, b: float) -> float: if b == 0: raise ZeroDivisionError("Cannot divide by zero") - return a / b \ No newline at end of file + return a / b diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 3ac8cb879..da29d2da2 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -11,42 +11,43 @@ import os # Add the parent directory of 'solutions' to the system path -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))) from solutions.divide import divide + class TestDivide(unittest.TestCase): - """ Test for testing our divide function""" - + """Test for testing our divide function""" + def test_divide_integers(self): """It should produce the accurate results of a division operation for two integer inputs""" - + actual = divide(10, 2) # Calling function with test arguments expected = 5.0 # Expected result self.assertEqual(actual, expected) - + actual = divide(9, 3) # Calling function with test arguments expected = 3.0 # Expected result self.assertEqual(actual, expected) - + actual = divide(0, 1) # Calling function with test arguments expected = 0.0 # Expected result self.assertEqual(actual, expected) def test_divide_floats(self): """It should produce the accurate results of a division operation for two float inputs""" - + actual = divide(10.5, 2.5) # Calling function with test arguments expected = 4.2 # Expected result self.assertAlmostEqual(actual, expected) - + actual = divide(-7.0, 2.0) # Calling function with test arguments expected = -3.5 # Expected result self.assertAlmostEqual(actual, expected) def test_divide_zero(self): """It should show a ZeroDivisionError whenever the denominator input is zero""" - + with self.assertRaises(ZeroDivisionError) as context: divide(7, 0) # Calling function with test arguments expected = "Cannot divide by zero" # Expected result @@ -54,22 +55,23 @@ def test_divide_zero(self): def test_divide_type_error(self): """It should show a TypeError when either argument is not a number""" - + with self.assertRaises(TypeError) as context: divide("10", 2) # Calling function with test arguments expected = "Both arguments must be numbers" # Expected result self.assertTrue(expected in str(context.exception)) - + with self.assertRaises(TypeError) as context: divide(10, "2") # Calling function with test arguments expected = "unsupported operand type(s) for /: 'int' and 'str'" # Updated expected result self.assertTrue(expected in str(context.exception)) - + with self.assertRaises(TypeError) as context: divide("10", "2") # Calling function with test arguments expected = "Both arguments must be numbers" # Expected result self.assertTrue(expected in str(context.exception)) + # Additional test method if __name__ == "__main__": unittest.main() From 2376fc001388d3ae9ebfc7cf12ad06ac8dc237bb Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Mon, 6 Jan 2025 14:17:02 +0100 Subject: [PATCH 143/248] Implement multiply function and add unit tests --- solutions/multiply.py | 2 +- solutions/tests/test_multiply.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/multiply.py b/solutions/multiply.py index bd0469fdb..a3e295a81 100644 --- a/solutions/multiply.py +++ b/solutions/multiply.py @@ -7,7 +7,7 @@ Module contents: multiply: multiply two numbers and returns the result. -Created on 31.12.2024 +Created on 06.01.2025 @author : Simi-Solola """ diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py index 063268228..1e8bc1866 100644 --- a/solutions/tests/test_multiply.py +++ b/solutions/tests/test_multiply.py @@ -4,7 +4,7 @@ """ Test for multiplication of two numbers -Created on 06.01.2025 +Created on 06.1.2025 @author:Simi-Solola @@ -12,6 +12,7 @@ """ import unittest + from solutions.multiply import multiply From 246635161e10c86a7cabe95d3442791d2bd1aa2a Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 14:27:55 +0100 Subject: [PATCH 144/248] updated-module-string --- solutions/find_minimum_value.py | 8 ++++++-- solutions/tests/test_find_minimum_value.py | 12 ++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index d6b82db85..00586ccf3 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -1,7 +1,11 @@ """ -created 2024-12-28 +A module for calculating the minimum value from a list of values. -@author: Lukmon Alao +Module contents: + - find_minimum_value: returns the inverse of a 2x2 matrix. + +Created on 2024-12-28 +Author: Lukmon Alao """ diff --git a/solutions/tests/test_find_minimum_value.py b/solutions/tests/test_find_minimum_value.py index 414982c19..37d592081 100644 --- a/solutions/tests/test_find_minimum_value.py +++ b/solutions/tests/test_find_minimum_value.py @@ -1,7 +1,14 @@ """ -created on 2024-12-28 +A module for testing the find_minimum_value function. -@author: Lukmon Alao +Test categories: + - Standard test cases: test the function with typical inputs. + - Edge test cases: test the function with extreme inputs. + - Defensive tests: test the function with invalid inputs. + + +Created on 2024-12-28 +Author: Lukmon Alao """ import unittest @@ -12,6 +19,7 @@ class TestFindMinimumValue(unittest.TestCase): """Test the find_minimum_value from a list""" + # standard and edge test def test_first_four_integers(self): """It gives 1 when [1, 2, 3, 4] is pass to the function""" actual = find_minimum_value([1, 2, 3, 4]) # call function with test argument From 97bae41769e5223af715c14953e08ffe41cb804e Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 14:59:16 +0100 Subject: [PATCH 145/248] formatted-solution- --- solutions/find_maximum_value.py | 9 +++++++-- solutions/tests/test/test_find_maximum_value.py | 14 +++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index db051ff7d..50fd95221 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -2,8 +2,12 @@ # -*- coding: utf-8 -*- """ -Created on 2024-12-27 +A module for calculating the highest value from a list. +Module contents: + - find_maximum_value: returns the highest value from a list + +Created on 2024-12-26 Author: Lukmon Alao """ @@ -29,10 +33,11 @@ def find_maximum_value(values: list): >>> find_maximum_value([1.2, 3.4, 2.7, 0.5]) 3.4 """ - # values = [input(print('enter a list of number to be processed'))] # trunk-ignore(bandit/B101) assert isinstance(values, list) + # trunk-ignore(bandit/B101) + assert all(isinstance(values, (int | float))) ordered_list_of_values = sorted(values) highest = ordered_list_of_values[-1] return highest diff --git a/solutions/tests/test/test_find_maximum_value.py b/solutions/tests/test/test_find_maximum_value.py index 28f7f9ba8..3f5298b42 100644 --- a/solutions/tests/test/test_find_maximum_value.py +++ b/solutions/tests/test/test_find_maximum_value.py @@ -1,19 +1,27 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -created on 2024-12-28 +A module for testing the find_maximum_value function. -@author: Lukmon Alao +Test categories: + - Standard test cases: test the function with typical inputs. + - Edge test cases: test the function with extreme inputs. + - Defensive tests: test the function with invalid inputs. + + +Created on 2024-12-28 +Author: Lukmon Alao """ import unittest -from ..find_maximum_value import find_maximum_value # type: ignore +from solutions.find_maximum_value import find_maximum_value class TestFindMaximumValue(unittest.TestCase): """Test the find_maximum_value from a list""" + # standard and edge test def test_first_four_integers(self): """It gives 4 when [1, 2, 3, 4] is pass to the function""" actual = find_maximum_value([1, 2, 3, 4]) # call function with test argument From 30cb737b168b05b37e1f80914d0a583fa8df4185 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:11:19 +0100 Subject: [PATCH 146/248] updated-formating --- solutions/find_minimum_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index 00586ccf3..c67b06915 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -2,7 +2,7 @@ A module for calculating the minimum value from a list of values. Module contents: - - find_minimum_value: returns the inverse of a 2x2 matrix. + - find_minimum_value: returns the lowest value in a list Created on 2024-12-28 Author: Lukmon Alao From e1a6fc78aa156e8b17ae07e354821aa5cb7b5e9c Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:30:36 +0100 Subject: [PATCH 147/248] formatting-update --- solutions/find_minimum_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index c67b06915..2ad0f1eb4 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -20,7 +20,7 @@ def find_minimum_value(values: list): Returns -> number: the lowest value from the list of numbers. Raises: - AssertionError: if input is not a list and non-numeric data + AssertionError: if input is not a list and non-numeric input data Examples: >>> find_minimum_value([1, 2, 3, 4]) From 77bd72ac5f1de17732b01dd4b26bae93180b7ecf Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:33:30 +0100 Subject: [PATCH 148/248] formatting-update --- solutions/find_maximum_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index 50fd95221..8c99ffd87 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -23,7 +23,7 @@ def find_maximum_value(values: list): Returns -> number: the highest value from the list of numbers. Raises: - AssertionError: if input is not a list and numerical + AssertionError: if input is not a list or a non-numerical data Examples: >>> find_maximum_value([1, 2, 3, 4]) From ebaf166a315377578ed084b995629b2e28481442 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:41:19 +0100 Subject: [PATCH 149/248] directory update --- ET6-foundations-group-12 | 1 - 1 file changed, 1 deletion(-) delete mode 160000 ET6-foundations-group-12 diff --git a/ET6-foundations-group-12 b/ET6-foundations-group-12 deleted file mode 160000 index eeb3feae8..000000000 --- a/ET6-foundations-group-12 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit eeb3feae80f2929bbdc79498c1bbc5817dc54660 From ca31088d1b4ef3effae3d389b2ac51daf05d3cb7 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:43:42 +0100 Subject: [PATCH 150/248] update-format --- solutions/find_minimum_value.py | 2 +- solutions/tests/test_find_minimum_value.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/find_minimum_value.py b/solutions/find_minimum_value.py index 2ad0f1eb4..455791581 100644 --- a/solutions/find_minimum_value.py +++ b/solutions/find_minimum_value.py @@ -5,7 +5,7 @@ - find_minimum_value: returns the lowest value in a list Created on 2024-12-28 -Author: Lukmon Alao +Author: Lukmon Olamilekan Alao """ diff --git a/solutions/tests/test_find_minimum_value.py b/solutions/tests/test_find_minimum_value.py index 37d592081..fbaf5ed95 100644 --- a/solutions/tests/test_find_minimum_value.py +++ b/solutions/tests/test_find_minimum_value.py @@ -8,7 +8,7 @@ Created on 2024-12-28 -Author: Lukmon Alao +Author: Lukmon Olamilekan Alao """ import unittest From 1f1cdfe69baa1d70618286df3238aca5c13c63fe Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 15:49:03 +0100 Subject: [PATCH 151/248] formatting-update --- solutions/find_maximum_value.py | 2 +- solutions/tests/test_find_maximum_value.py | 64 ++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 solutions/tests/test_find_maximum_value.py diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index 8c99ffd87..065235fab 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -8,7 +8,7 @@ - find_maximum_value: returns the highest value from a list Created on 2024-12-26 -Author: Lukmon Alao +Author: Lukmon Olamilekan Alao """ diff --git a/solutions/tests/test_find_maximum_value.py b/solutions/tests/test_find_maximum_value.py new file mode 100644 index 000000000..9fa8b0d48 --- /dev/null +++ b/solutions/tests/test_find_maximum_value.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for testing the find_maximum_value function. + +Test categories: + - Standard test cases: test the function with typical inputs. + - Edge test cases: test the function with extreme inputs. + - Defensive tests: test the function with invalid inputs. + + +Created on 2024-12-28 +Author: Lukmon Alao +""" + +import unittest + +from ..find_maximum_value import find_maximum_value + + +class TestFindMaximumValue(unittest.TestCase): + """Test the find_maximum_value from a list""" + + # standard and edge test + def test_first_four_integers(self): + """It gives 4 when [1, 2, 3, 4] is pass to the function""" + actual = find_maximum_value([1, 2, 3, 4]) # call function with test argument + expected = 4 # hand-write the expected return value + self.assertEqual(actual, expected) + + def test_float_only(self): + """It should return the highest float value""" + self.assertEqual(find_maximum_value([1.2, 3.4, 2.7, 0.5]), 3.4) + + def test_list_of_float_and_int(self): + """It returns the highest value in list""" + self.assertEqual(find_maximum_value([2.24, 4, 5.23, 1]), 5.23) + + def test_negative_values(self): + """It should return the negative number with the lowest value""" + self.assertEqual(find_maximum_value([-1, -2, -3, -4]), -1) + + def test_list_with_negative_and_positive_int_values(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-1, 15, -9, 6]), 15) + + def test_list_with_negative_and_positive_float_values(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-0.35, 0.1, 2.4, -4.234]), 2.4) + + def test_list_with_both_negative_and_positive_values_of_int_and_float(self): + """It should return the highest value from the list""" + self.assertEqual(find_maximum_value([-1.2, 3, 3.78, -5]), 3.78) + + # Defensive tests + def test_none_input(self): + """It should raise Assertion error for none input""" + with self.assertRaises(AssertionError): + find_maximum_value(None) + + def test_input_value_is_not_list(self): + """It should raise an assertion error if the input value is a string""" + with self.assertRaises(AssertionError): + find_maximum_value("1") From 1202b788818db2a824b799a556ecef170ea0a72c Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 16:02:55 +0100 Subject: [PATCH 152/248] format-changes --- solutions/find_maximum_value.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index 065235fab..9874421b4 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -37,7 +37,9 @@ def find_maximum_value(values: list): # trunk-ignore(bandit/B101) assert isinstance(values, list) # trunk-ignore(bandit/B101) - assert all(isinstance(values, (int | float))) + assert all( + isinstance(item, (int, float)) for item in values + ) # "values must be an int or a float" ordered_list_of_values = sorted(values) highest = ordered_list_of_values[-1] return highest From 14d60b6c09243dd4ae59a8646a66333378afa480 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Mon, 6 Jan 2025 16:03:16 +0100 Subject: [PATCH 153/248] format changes --- .vscode/settings.json | 5 +- ET6-foundations-group-12 | 1 - .../tests/test/test_find_maximum_value.py | 64 ------------------- 3 files changed, 4 insertions(+), 66 deletions(-) delete mode 160000 ET6-foundations-group-12 delete mode 100644 solutions/tests/test/test_find_maximum_value.py diff --git a/.vscode/settings.json b/.vscode/settings.json index 252022b48..b7f95b960 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -122,5 +122,8 @@ "source.fixAll.ruff": "explicit", "source.organizeImports.ruff": "explicit" } - } + }, + "cSpell.words": [ + "Olamilekan" + ] } diff --git a/ET6-foundations-group-12 b/ET6-foundations-group-12 deleted file mode 160000 index eeb3feae8..000000000 --- a/ET6-foundations-group-12 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit eeb3feae80f2929bbdc79498c1bbc5817dc54660 diff --git a/solutions/tests/test/test_find_maximum_value.py b/solutions/tests/test/test_find_maximum_value.py deleted file mode 100644 index 3f5298b42..000000000 --- a/solutions/tests/test/test_find_maximum_value.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for testing the find_maximum_value function. - -Test categories: - - Standard test cases: test the function with typical inputs. - - Edge test cases: test the function with extreme inputs. - - Defensive tests: test the function with invalid inputs. - - -Created on 2024-12-28 -Author: Lukmon Alao -""" - -import unittest - -from solutions.find_maximum_value import find_maximum_value - - -class TestFindMaximumValue(unittest.TestCase): - """Test the find_maximum_value from a list""" - - # standard and edge test - def test_first_four_integers(self): - """It gives 4 when [1, 2, 3, 4] is pass to the function""" - actual = find_maximum_value([1, 2, 3, 4]) # call function with test argument - expected = 4 # hand-write the expected return value - self.assertEqual(actual, expected) - - def test_float_only(self): - """It should return the highest float value""" - self.assertEqual(find_maximum_value([1.2, 3.4, 2.7, 0.5]), 3.4) - - def test_list_of_float_and_int(self): - """It returns the highest value in list""" - self.assertEqual(find_maximum_value([2.24, 4, 5.23, 1]), 5.23) - - def test_negative_values(self): - """It should return the negative number with the lowest value""" - self.assertEqual(find_maximum_value([-1, -2, -3, -4]), -1) - - def test_list_with_negative_and_positive_int_values(self): - """It should return the highest value from the list""" - self.assertEqual(find_maximum_value([-1, 15, -9, 6]), 15) - - def test_list_with_negative_and_positive_float_values(self): - """It should return the highest value from the list""" - self.assertEqual(find_maximum_value([-0.35, 0.1, 2.4, -4.234]), 2.4) - - def test_list_with_both_negative_and_positive_values_of_int_and_float(self): - """It should return the highest value from the list""" - self.assertEqual(find_maximum_value([-1.2, 3, 3.78, -5]), 3.78) - - # Defensive tests - def test_none_input(self): - """It should raise Assertion error for none input""" - with self.assertRaises(AssertionError): - find_maximum_value(None) - - def test_input_value_is_not_list(self): - """It should raise an assertion error if the input value is a string""" - with self.assertRaises(AssertionError): - find_maximum_value("1") From 09906af607ba8d53241d97f563778cc4135d7ee0 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 6 Jan 2025 17:06:02 +0100 Subject: [PATCH 154/248] Adding Lukmon learning goals --- collaboration/learning_goals.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 9f9b66d7e..2acaea879 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -111,6 +111,28 @@ deadlines are met. - Apply recursion to real-world problems and optimize recursive solutions where necessary. +### Lukmon ALAO + +1. **Effective Collaboration**: + - I develop my collaboration skills as a programmer in a team project. + - I will improve my communication and skills and learn the dynamics of working + - in a multi-cultural environment. + +2. **version control and mastering**: + - learn the use git and git command for version mastering and merge conflict resolution. + - This skill is pivotal for hassle free collaboration. + +3. **Code review practices**: + - To imbibe the best practice for code writing and review code written by others. + - by adopting the review religiously as outlined in the template. + +4. **mastering Github**: + - familiarize with github interface. + - Gain an understanding of how to use it for effective collaboration. + +*Each team member is encouraged to add their individual goals below to document +their learning objectives for this project.* + --- *Each team member is encouraged to add their individual goals below to document From 7150a5a2e562875a92dbd06375c509464c26596b Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 6 Jan 2025 17:44:14 +0100 Subject: [PATCH 155/248] Adjusting the third line to reflect the full name of the program --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 766e3726e..2ea107180 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # MIT Emergent Talent Foundation Track Assignment - Group 12 -Welcome to the repository for **Group 12**'s assignment as part of the MIT Foundation +Welcome to the repository for **Group 12**'s assignment as part of the MIT Emerging +Talent Foundation Track. This repository represents our collaborative effort to explore, learn, and apply essential skills in software development through the implementation of a **calculator project**. Each member of the team is contributing unique functionalities From fcd778ea6306ae69a1b2f778d24ab924abcb06a2 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 6 Jan 2025 18:16:37 +0100 Subject: [PATCH 156/248] Reconfiguring ls-lint yml file to ignore asset hidden folder --- .ls-lint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ls-lint.yml b/.ls-lint.yml index 11468c980..f1b67a8ab 100644 --- a/.ls-lint.yml +++ b/.ls-lint.yml @@ -15,3 +15,4 @@ ignore: - __pycache__ - .ls-lint.yml - .markdownlint.yml + - .assets From 370213ed28194fef035104583642fb6577090530 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 6 Jan 2025 18:18:10 +0100 Subject: [PATCH 157/248] Adding the logo photo as an asset --- .assets/logo.png | Bin 0 -> 1145570 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .assets/logo.png diff --git a/.assets/logo.png b/.assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f78fe6aaaf35f551ee8c560a5fa370f34e47a1 GIT binary patch literal 1145570 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�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

(d?sAYe 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

M=7=Q#= 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

vml>>zMG3{X> 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

i#9g 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ǐ=}E|M`37( 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�RgQG0`n@C{q8s`gb7>eq0(Dh1dtLvjhoj4$f2+} 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 z zgre5~V;Kwtf0)oPM%6zz6?13xk{p2HOwT>rl1I)C*rwfi*z74BE{$d;LaM!y!U(O~ zr(5wf}C`_9m zES={6;E!y-HZRafU8dH&!in8ekUeIIx<(sYQRNfg%=sf;Ux3*C+@_Bl%aks}s)y77 zQ=&zr4fn9o%uGn-s(9z$qzm`Sg;?Ub0S-p+ufMJt5nH2lROq~{?{9hk>-ei0WM2dM zdtJGEUD^Be4~Ql=j~T-cx>kYyIU-%mQr&NPii_!QWL={@p0=#AdeHTwzPRs>D z56Aa>!;=L|A$wQUgynp`Q*f3iMEncJG3Y;LXRtQ9aZMgK&|RI-qBY;fLO8;?`j>U7SmB&lB?-UQZ=^;UyX zuh1E2a_cxl)Q|y}sLj2kVVoh%9JVSsc{GL^1R@G~B-6*m%SjT=;n$_!6?x4wSY4BX z{2L#zPXG7|zVC9+k)MX^S{dl z1U_U_-ymHeO&IHVMjvWLpSz1X8#V>`C~m5xj))`~U>WESrs+3T$Z`CmFLiAQ&@Z^# z=Dw>n&|2VctN&D0_XqN}9rXF8!FbGguGeU(*QhzO)r!++SA_7U=EL{{oR5Ix`g2s` z__d^VRwGNB@5Ps-xg81MoA517E1o^`MNRhWTV{KjoY9 zAh*s?7S3|PjxQjgpzN0`a?oS6p$hN`b*ubZDoT=>0g82Iw=@>|WJuOMuIh?nHcp76 zpNhghn)VU3n2FUsmio7>20BD3)&PN5F7vAxhl5k;atk_XWr(8=R<49BeUYz?@$i%Y2DZl?|05jH#JE()k^Wv&re zAfe(*Bln7{Y!xywL5T(M(BMSf^uM-@f5gN4XeB0e=}s^XUD`18fplr!3f!ReYoi^V z)!-QL&we*qm?NtkXJySGe@1pDXXU#%`)YdQ*V3iwIX|jo&sjn_DoF|_uJxHR$0=9; zJqjM{s~@cMlz41r(_vJ8e|_6^a23ePK2TJE%l7l{DomI_qye)N_S4}t(f_#s+5XdW5kh~ieA5Ks{vx1K>s>{HDxrOBIS4SoX?nhi zR)M~>0gGiJ#}y48FgtW$!h4CJyTdI(F9fFBp<8Q=D$!I*)P6{i({_&%^CisYC#iB1Q zRSH`J_vTgI5bU7D#DyX%vT14(pz7#Gv)9s#IsL_k+Cw4?j3Nw_aDJ9{^-gP~vrN5q zyKUsa&LE2ViQd1%g!i+CB{`Spor8zr;GYahlP=$zr<|gxf~9zmqk)FmDsOlnvj4li ztBRXi=mVPD){kxilADtEz&GmrptHN9vialWW!JCAr$>nsBK-{YFD3dgO*`Lm!8a6~ z8XRBs)9P0-_ins?@E9r}?Wr4o(Z?V?jothUOd?pcd@U}f8X|sMJ98oH3dR~n4XFX6 zeg^d>C;s`GT*;;RivU3wFH%CHh&XO?;=Jdc?DyA{Vxyxt*-Nes5gN4PW|s9OP*YYm zT=yMP5pRpsZJqPD9l1kcu9F;6lP{`iOsLZ1_f8PAl0rE7@d+M=Xp69l?M(n#Zk(aU zL|mz9l{n;Quleoa@kgE@QY$T)u6F#!PT~5X}oTI#Bs5=-h9}+HL1rIF=PUH z?dX~%f9}{Q@i;q?;vg{(4pNHX@n26g+cm9&sjz*&@D{oq!E1h9>g zPK9!FQsPQni>GtQBi|)p>_Eks*xEA5H~eMuMr1_)uLVGo z^alBgJdmXEf`FNjA_S-`Y~**bJ%~;j5+mhj4Db-RNeslUQes0j4#}R&T!S@$za%hh z0=I}q#fsotTpBifow&htD>`8unFx89I3+}y3!o*3i%&H5lBQ{7VOIVkl?ZtCYJ0h{8y9m zNWEDF`~6&J+oAZyzCFPfFB&umz^h;p|Bz-GbG2Uh48Di~h%_oQNA3L={qhO%|DC-= z_XO-0%=Ajo2FzYQFjNjJquC*P0q1ca4It_s|7x0eEOsj|#b1!Hz2Q~@UNEGWKtmvb zkr4)BPY6UGruMlh*>=eCot2~nKuwhSyvFCgeKP)sdab4##5cGoEhte*mMgrckJGQhL6ERu-+*2CLD5sZ(&qhil(?OB`s9DuH_EPN*B~hjdwX0FKxIJV=qkax>cG41+WN*} z!&ZEyGBi)Xt(7=9tTg;>qD6~c72f>8CN|Yd1IoK&i%8B?binhO*B>3~87U&tiHscX z(u+&ML1fYV%nE`GI~j94M8f_Mj!&R%4OA(oZxa*~(11-}Q2j6JRmKAIZL13=ciSf4 zak2a%;-c;Lk?y2So@pPKYb9K01}}U?UFaA&In8R=x83sYk$bdCvG6Ut+B%$2oS2eS z1t`bBfBj+$Y3ReF>Y9cUETGF;UT$xz>WO5m9S)mrr1L7i^#7R$`FQpIQD5|uSw8=% zU>?I)gT#wSCIJC_FO;K7Q?}Cn;isbLVP}Qhb6SsD{i*T)S@VJR!Mructmos>T{?hz zBv^Vz@up?L)uLg2+yus8jRAdP*I!?kDIP19kFAY`RO zA_D$C&=epOob zdZi6F^P%BMOaK07&5adD(7}Ydni}E4D*cV{Z%fZU=!&hFeKCdkPZ6^Iyk<)TKiDy; zNf4Y)31U)EoIuhKqZ=gplq`Obg0E54+AtJYzWD?Vt-97tx zl4<{`wWcVZvut~g{wMxd2C?{xLX237nXWQG7Fsg9CJ&8o&6?Nh9?Hal5Km+%y7^Yl zWEIU@L3vd-rVSgeHpRHNM*Itu9V%P|S^d2gvnB-9cfMj=siU~TJPe~X zWYz7*Rhm6 zX<0~0Do+tLVdH)5#0{c;e+Oc%qqWqjB|Wb8pC5hxEjFJFW4)bUaCJ1CZwl;-i(Kb; zx?RBNzV~>^GM|K9T)Ot${kP=4vwdl~S2@mVFzl&uAL~#P4O#TI7*3KA^`=_tdORpJ z=X&wK8ESXBZCrKgUj6j|nSD@PJ~ym-&wH@U%dw}93C~k0nU$D7q%QgVW%c;C7(Z!Y zHplxUOyCV8p+KmeD(I*JZ4q6N!WqZ;&DfL18+m1wAF?^T2QduAWPo*m%LNAceK>J3HQkd5P{Og zy@7E;RCEE=LS7!%T4(F=f_Znfc@_0blu)xO`CQSq>0m|{+D?UuAKnCeGHy0=1L+Ch ziO#*(#Qxv z4dg8g&!S8O9(@{R?_v*f=;cM?;K`?hSGstJ&iA{`^uqaWB9gcl7g=`9`|9KuKU2y2 z7beJ>f*p!9cO=b2kWtf?Zg^!BG&rsWTh>YYr37niMnGKm?m18DUezcXVru?Z# z7h_feg;!f*N)64bfv?5{@=kM+-9}3`b#=3xN0{;=rWiN*&bgGp2JY%2ByWO$`>~I^ z<=M7t2uj*y)9@xF3q9DjZ@SNgO(82* zJi~Yb53W){w8>dmv2aPe={Qg!XCyn17`<@>5hmt^=>5@o+x-*gyFj2&JFt_;%siHs zw>heIzQY7&pAAoE1+~bAID~y;nO7k_VM@?NXOOLffL4nXu6H%RFQuSRTx@8H!GF`r zi#x~cUGO_P6Qt6AjlL$9lVTpTXXK^A=e5U2RvWNXY*$4~X4-8Yv?^5O!VOTiG1K;I zN)GX|P}G+7k~gt(G?BK|c9in=jx{zl(l*gE*4EKlYizNycz-<|`k_C%o8R$n`n)kQ zpZB^TB(7qBG5OaWrwq7xPkIY zWQ z$!FpXpBwOq8C(ZGpc5(lG<+E=?f_`B)bp%ZJ;N47aSlHH{O-Q~`A|G(?N@*zx6bRJ zS6$I-GX4xDWq*$vx)AB9qzyVs4V&oL*kWkKy%5mo%5i^HuEYHP6{tq-9i4tV4qh+v zEcBep8$*o|z6)40Z(VOT?zCKVraU@6YMb>gtM9s2S9mPwq*_JnxkJNASU!I zn%lDJb?LF=^})hk?Oq6}a^09;4dC?YXjnTE3Hh=;KDazQ^_g0H$>U)75(T?(@p<$1 ztxs^f%jL^EC-0sP-^+D#Gf~%>)SOH6T4`3XLP$_XmbYTgj954OQM5>B~Xo;7g1 zajK#F#@N}`V!t(hKD)18YqC@R*?(pr)kxU-=T&=J8sU9kvxs_e1Xa0J+_h>ja$4Tr z#C$;OwO3&h{j|j(xs^2N)w|DGfgJkqpear|@}Ej%dOPEe#%AJWZK1*r*q%cOmi?FA z7-m?$-m!Oc8DRp;!pjmCr}ydSo1j14Q%f`Xs~E}4h-V|WBeqbL-CM4VYt!5roNNg#B1q=wdlM8eVPzVn6 zc&F%bk_!vqT6lu_3iry;P#iLNsbgLD|h@XiRqUDo`aUGl@J~Y{CRJFDj|iSPKu%) zQ$a27{2%W8n+D8Gz}+L^`^Q{oA4pI=l+BQNg-&9@ad{sp~^g|C~@uWSfP&=g5r*Juu_NQvrLstV0U)PyC)A*rN zW5dsOmYZe}_}8BKG|>BDUXagL;33-nIY?VZxI>Za0w!y#kIKis$UIwQdsgAJt3?ox zl^EI4K`+C(_;h`@Yi=(IbRf2k{2xtM8PrzStxs^bLUDH~?yd!jTPaR)clY8B#VPK^ z-QC^Yp}4!-%{$-RnP*Ni`IVd`Ywx|*BZ@jke;Mc01-iWRgmmtKreM>GpXY}D!w!o- z*!6VY(F&f9U)-!vyTmdeqZQt}<$=Y`$+v?M?K|@33%%`k-`$wksk|fu0dTZPGa5jk zeGgW10YT5EQDrJ4Sx%U%fKLCL_&BkT?) z{FeNeN(^9?2f<6kh(GnlAR`ljz|_521qV^%uMkJBakM!ic@q}q zWsn=2PC-E(Ry-`~01<;jol9{gUCnQRgmWy5N0~o}a8wQPwJa7r3XL*b5)K!gEK5-@ zOJB$&RESh66$xgx8-~Ni4e|e$KG|0=s5R#*ne?SRN}3 zncXj#FQJB_d0!8VCo?qO`rlFcRw|ayNEkRZTE`mB!5T|uuSITdX5LyNREcVqFa}w6 zSp4k})Q6D3oO6FAZY2T@%%F$poGA<(cKC=tBV;rh+>6C-7Dl`o;WFRt|I#>6DUEa$ zO;v@ddhz#D2a~~3hP}f5GSDQ0B$nw5^1eQr{G4{ChYsL$Sk~S(Y_?qOTgp&H(aXpU zPmMUv$61y0^T{Qq6^_prVOy{v)F1V)-2SUOwf8H7H`n-tl)6)YWT@Ig7F5Wrk(3b| zhn{AJgO&W5pb!~p;TeWTqT?HiLXQ#kG)}eAH>6CQFi{eT-$T<-WPk!rP_N|g&}r3g z{270`vMFbZ;pK7a#BDv|Vq6hsCI9t0bs16lm-2n1_>J?e;On$G%SI$Oj6kM{jESPL zYE7W%w;Z$rKp7z{C6bidLn)pGDJ;2hZC3Kv&*Ca=fnZy^ox}Af4+YNy5oxbJPX8NNubj8` z@p)e9l+}EY9S#qg-Lyyn%WszsMi8^U&}*{i9UjHyF7MnN5AJ@)GE&<&lAAp#GGpIS zQR`P$lds{W7qJfgZAq?@@H4Eq`-=8G4?|+x-hYZ)#LSRf_ zp~4l3!%vDMOi93}N_6=5RwXT(zJgtewf%c&gA@QyPcaF?(`CNHNx`7A=!iohw`Lbu zb7yyURvr9?0AOC4dPqx_DLCT)Zq0HKwBU(IQ&TI`RwKETDd;nBk&?DC%XMbwn`ww$ zMMDR99$>elW>y&4W(mBvo0f966DA8yDC8sEOiNVH_GqN$l&zsrrMwZJ#-Gb92H(^o z)3Sx%-UU7Xp@!J<*!$>ux?&-)k|^acCMe;i*A>V$4$-?lP9zd%B4wY^U&CkqY( zuY6DdAxyXlFkr+;5Z}x^#`VGlO~TN#cyJw~Ryg_$R_<4Eshl132Nd08l`ATd@NNhM zhbk$xJ7KzVkO3B^Fu+M+f0HH4xrG7^F631}lg*oThHMSf=6bz z#6wf$X48k8F@^Ve#oonqz6f2(CH6hkwCR_j#l3gM4!4m;#|4L<&g8`;-QlEZMU@e< zQpWlR9qsJ-MImyb;6+*eB%}9!8~#RS>O$_DGr~mY5RnbLDHwod#sJlE`&ux31HKGo z;hjl_AzX!_-bX{~&E$%v+IMekZONdZX2&4pMqL+)L$Q&0(e{wo{-)qRx--?avTe4i zU*q_5@rOYmn;z&etc5(i9HP=+)bdSs#725Ry-%%+qjjVC6Celr@K2$rkZhaMA-j%^ z;Lj(Ur1)*>kMrpyCJM2uAI3lu+JIcFN(s;whhrqeB!=&bLgd$bGZ zkIcQMF1m&<&TdGw$;QBNwfR^u2>5bIJPu@AHwm~jAqIO!4P+M9%jNi7F(^aL(y!Tol%irumyR^TAlJyJ`Ai%BD?<2cK#~PMFC|cEMC>21xu-DoP#_|9O5ZgK$J;6zO1I{ummu?f6|9h#FCGl`u0pQnjPl;q78V0teRQ zxV{{Sr37&*TJsc4VgpvlWT`G}2n%Le8LpuzgZG_A(CcOCGTAGBL7a@(mRtO>!K zR|bV-hQKCu7nWDqbMe=~60N|Z68ODz`onhk!=m&+!j?mBrd)U%AHS{4dE5QH*=pC) z+pvDhZFl!wZAPuk^791nTOe6e|0wsp;TH+i{YY9M-Z+EF0p;(5A% zQ}aXp?$zl!|9jms`drh|X|aTyFPV6`{`4S2#&@Isap}A<`pkW&FOy5*)ct0$-8SR> z^33sN)BN42KWOrM9f79nO`2NyCZp|}kNwF*W#jv$!K%V!{m0|l{2L^N_D5{4H2pzTyu53lPKr{(v839CC3m@u;0543P!^~{V5WtTPEY{8W$^u@Y!>C3; z3T7A=)+s1^r#BaJY0sN{y8!#^^!HL*d2YAmd&@>1Wn(c`$ApafY`C8f5|F{WPq z*ua)-8KD>;l(l>KOa0GHOf3B|6v){_Z^K)K%%KdZg(LnnGbG{cfmEmkMKHhP#AxH} zS{VF66C(M$!UoDDEVL=Hn4+>MMc;a9!nSWyq`pTI^KknUH#>tl-R+D^tbSwoXQFu@ zo78{+Ge7r~d>35=%6NS%;etASdc$yOnI{PLbC?1jmTv9PdTLtlT&FVkB0kJwM7A;PcFD-gs0NBpnRG5a{6Ib z%a+qc&-U<@8az3^!SxFx_8t62hl2TTjti)RaQYW`!wk&HQZ3l2x3tmjh3QCA;==v^ z_|1Zdn1EqX?KmK-Z}8Xm#qDynj~{?;YV1r43>L69MWqh9bZde-+@t`K$Ybx|?10Bm zzE?J=ESHcpfo*zKE&5F_Q%oz_fbvg29kHzRpjP#MZ5J@N!2~zUw zpOD{|Y&KDQv$`)2m|rQ8e34gCd+x=m&iIx*a2npBw1R*625)Emd{F`uAKf%#x)zA_ zPadlF_?8^tIEnqEHoL_(y9WX;r$BCILj0E?{wDl$UsR$cm%`myC=TnglF5M@<>-&7)aj z=gGv3$`N;0&J&=m{_&0MSAr}RaOm`8+Z{UtqILR;vCjAFJY#D-siw)HP-@^dIn+RP zdqmd!N?gv|d_g73z48mgk1MBz7WZJesON`cBtAN1KDt@gIa4d!p|$Ch<~(%xw}XRD zA)$+apeJH}t^4kOufeHgox8#fbm1AF``H6oZ-2_xQE`$7CVuW=p)sV!K00xnPkdUj zn1Vl|IVz@^Q|ISDI1pk24*PG#?u7PG=RS5zWwH_g9tVhrWMJ>8eV7#Ju>-lL^9 zDUcsik{|yr58gSwP9g{=wY>i3uNXM7zaUP&c3bmYBzb>G59#bDF4K8Yhsy3!yntGV z^aCFu6~KQ4rFVD!l5|NWKO3SNh%=BKf*&dm9cQTL&Ou9#4DU`5$t-2z5o`ah89<^@ z`N}2$RDgwg-XE9oMm#q__OtIJWxqqP0gqTsCb|C^2s`vrjkt;OEzfn}hTo2xCNxw@ zkp+P@Gu?c&(Djg zY=@}#(!?ka&OYqr#BwKX>yo|RXjk!=263X|33+f~2-IF}aWU$=!L!?{{ON{bBa@%D3*N<>iFNU$ zVqr0MMf&DQa*-%gC{QVf$)!f%;#kwO;izduuZnXX=g`vmp{Qdh=# zWzgaSMh0csoL##IJR7Ox0p*YWFVV*JLlMUFl}26?95WeoKm@BUnCcopX~<6^Qc6EB^LWj(TDqwed*_im4h9vZu=-+!CUhRM-BPlk4cz@03iEI#gN40HlzEZ z{67}}O)-&%z@vmq3*l*`y8q69u~BJb`O{thblj@--TI=5%Nq+w80-MD3ZzpC&kKyp zYmfdSQa`?FdWfM1l^h*2Y`jqN<EcH?b*3={cDg1cx;Jjaq4y&T+O`-iza zyzHcxT`Ae<#M${R!SCwtSaxQ@dcw=+xlL`7IK5JAND2{OR@CIril44y17Xie}7V$r%2Of zi3cg<_VAHn1*PU2P?t6J;zs(80QoI0Vk{8y{66tt|qvm5k1eP(vz-uZ*~lAK73%nN|P- za0qfE1O5`dV#E1iIs=Rv-Bbmvw5&ydTRfQ|1dlq3I*RVxt1En$MB5tzd`FVkk+3-d zBAGBl9QYR~6OHsXHro3Od?nP(yx~eQ09Ox zUSu-t&K_yt92!LEwb)g$)Kq0S#ov(WXfnKX@lP{KWMN0$;yQ3T`1^U+dE#mcWmPV& zy-9*gb8mxCKnEN9+)uXNc@@3f7HMyOEGvb2ca1hWWVE++xI+t+x9GgV`ha410t+MAm+DOIZ+bi?P-BN5W5u}FNJt_9uKte zu>MFJ#NCF<=kU#?ZyFus`&-j9e2o?@OhV{D-N^&EDOUvFXNNq^4=WW=!|7ihrf=CJ z((7kpq=F;2Eei*wtdbGPoS>hR5<`_<9Hoz&+njpU;Z7^kUvqhN{WlDZUkm|afL(NA zmu#7TkP<1%Wj2t)^-l@Jd~sQI{uB=dP=H7tag2mO8a_c|ruzne0ucg+7{hHPdsyO4bQTxSTXWjCe z&4v<$j7Esr_mPqIa*|G?CI@y6X3tZ!zTpG!76jUYUZAZWukI74pSln*;oBPXVi3JGRk8GO*Dv((~Mw%ICAlNH8pg=J5drqbh%3bIDJ)0?}7&%nKmtDAK(uABN^Ce#lI4!7n_=& zO>XR(Ofg#tysSeiGm{7)k2L84`MR0#=dr}du!Qg6>>sAq)jff!02UX+$PC>i`N$)b z`MFQ}oqRh5JUsjiSuqjd!<>XFq5oHLi8OnaAXPsZ7yt{9gwJDp{=kM77FP^~BY_8? zfZ}sNjHe30Ne%f~oJ`7zrwtQx5OuQPtL^hNH7xcHRH`oa8IBb!6p4tGEGEXM{y;Z9 zuQn#q1#DtsKLz-%0C1H7B$##4MHPepC2n&YQ+&q_QjyqJ&AVLrc{}}hYNqYO&ghHD z$%K)N{cAX?Yd3hOMl4L@XI&XkGm^}2v9l_-@ZQS22D>U*@!^{XWkvxBY;yjwU1BI~ z%-j?S&KD%2BLQ#cD#e`+`EWYJQ*Q5(J6D51J6>8SKmh?xl#?)7aPEjTOPTEJ;$6fGg zcT#-sRXI|O6&SjdB<)s0-3NQcSZAkTGEx~+Kr*Kj*dYKhR$Fn%p)lO6fObi^q!=Ic zyln8Fm~1-w7^F+)z&6CFmy;d`0wXpwvcWt5tCHR zP60?9EU6-ykVP}43a|Mju`Kzm8w_DQ)dW1=uUIU)_#8a+;J~PA zR!QY}`tosgPD~5a7|tF%2_S+Y%d{nBp{t*M(TD@SSyKy-cX)*-c1pji8a`Y^l= zBD5L_9&fJVKyCQkbuYT~-HHoqMXtZf9m$FamN_b5d`A*|l{3_LWU*ollxwcynPvT3 zjYP}vwb+=Zn-k6W0;YoD{k^c&U{ZE!78XpgPWDT=#?&jbiuBlII!lylOLW`uvNhF;!1$q23I_Oz2AfK4 zp?rPG*XkPO`WDgJ3enaM&cBg@{xYy~BZdeI--WON zLzO3gVC}{Ma9u@%G`4>&G*}lAZT@ z)0BW23(6kh!Q@F}5Mu*mzp^RF=~1ote+dKM;N+$vxA?~s5#>w-jEe1@H4fR=YO#; zWbc~Azy2x8A{YuNuFcRW!mvWB20JQ1^b2MFVn?zUCGyPntQ*JKSd=4flVNrK#GnIZ zi9N6)(YO&+w^>R{oHlfe7A7VA?!^A=$_>PUz-70xBTT{>2MMlExN_ z*dslO@Oq2XGAUnufZvE6X>7Ve>=isK5fSELKxW(a5+eJ-&o~18Pf$%il5yv!y}U3H zu(5~xL-I&!E64)_l|;QF(TJ)0s6*keNS>+to-uMk!azQV8~Piw{HMs-z^!^xH*4=vDaNYM@>b%&!T-b7fTEVgI3oyM6SsfjpN$GB{RGHg_ zUebI5QUfI+-a~^y5+9)eoJcV$crgfrqa)qOff|y*HS@5y@`DiAlahy*_1peOVb+a- zp9(iTz(?oXWO6!k7bc0a zh_Y64&MQBK9;b`7|vA0l<5ffk34E6*T<*G?PuH*5{^kYqb8i`1vsIw(oi@|4-!Z zA17(+-!{5+wmEs2$guaIJT+l6_*hh3us0w0zT1EDvFpvE0YV`Opr?iWTi>_`JbGq5 zM#lNarp$+&U~1UK7Gz@Y5RBUQ&0B*T>tn6BaPPIW9~-6?NE@6&Wl_AwT_FHMk^SiG z9Ibbn0Z!k9obQ`C->192Y;=8@5azSY&S04nA#M@l^rvJC{KXmbi?cC@)9jLJ&KL67 z5`?530%I#Y@Oj9Mkl77czYQU?JvrySbZQEjYex>%l5b${*u3p%dh?&)QZRno7?^nw zT|TM)3=?1>5O>Z6MPf0~bk(ZM()OS}yw5|MhG&$9uZoX1mu5o8IiH(vQzpOuJIx6%A4zS`@TxK_)tf+PdXe=+FLtZq#z zKC)rv5Xc1^@zMbr;TT&$$qc`BP$__UME8{(dSj!#~Ag!{RPZK-a+1}MGRk56C&diWs_vn{_wk7Tm>cdCl0&84g zg)zXt1{qskj*IRWrh)ZTBE1|g%`;N`@eQV{-f`<8L(&7%fxV&?;(f^nIB1-Jgk9X) zxJxgp^rDDi0(p>-ZoOVlr~dMag|btO{eA)%0Vce(^0ovfE=v1t)5{9|Fjy_%quMe6 z5crA3U4>#$(bC5Dzd6jht@c;%*KQ}76h1-BdUdZlgaz|z89?I^1jgR#7cD>=6E#7W<_LXqcsV(a0487+JPtL@jI2OYfHL8HQjD zUYcYyme}LcU=R!bts7HJLe;2KOpj+lxc@cCrXL(!eclrjkTr~HtPZg`FVt!sZXh~U z*geKSAm!0ct_ol2BZ%Js7sa6*>SCQ||vh`;plvH53wnixa5 znm{r!3Vh5DVVx1h&F*4J$U)AhQ-Yug2f}-@(!>8rCba&OiS^&cUot{hqN9*@7l%)d zCCeXa>Vsk=T}j5I?(2hNVIf% zMhn=&Vi@@PxRcj>{+oZ2hLq}SWW-JHKv?xOP$^y=qI{Zz)odw#jz^mR6$Tf@ z@RMo6CWLPH(3eak@c@rg{nBJd)oDX~Ah^8iN*d?9dby=+;rs-fkzF=}{*FtW*{Ivd zoJ4m!Mk#y^OIvCrNICs-EuWu@#~)J%GEk5w7K$_#lF~5;GkO({fo2)@+imc_rt@Kf zMhdEgEy#YywK#4Y=^<1~mTZb(Pu5YD@b759!pRjB<#tzyx~^mS7NR|JN)-rYz^0Fa z7>8{3%2e{lQLxOz#j*}1T+qV3!)8sYbi%{=hp7qdRFqK?Uy~wpOTS8+TYck=h&vJ+ zr+CUY47m0RH?i0Kv0ZC|=mHKQDbBL=teiOIU0m{Zaakl!nO%RC!fRz@chNCBgaK>* z7M)@e-ql;{K-`mwu4%ro*z^}DZ2T~o8qjvo=zf;Q4>k+VE}zf2w+Q30Nv1+>oPYDn zaqD4EEK1lB>*QVFO|?efqaM%@g`FJeOy;@KQBQl-LuN9KZ&&Q};W|PdlS9;)B*u5NVjT0pp%6v!OP#femL=Bl3=5!;8q4 zKL(fg0Gd03kQ)}qVt^bivs^ z4aJ3{#9N|CqZoDRgPc9XxIxOm*CcNxE)VRpiOxu8#9!$)_4R3_`@#}$;ggh&6Y)#lVa0JbMqnp!mwM8Z{-I@ z;|pxBbJgKz#@VKmZ*ogk+kZy$D}<3yX-BLNr-Chsx|7GmFHys{1Zi2$_fB^@c$Rxe zMuB0Xo&ko7YdaV}xs+dPi%6{%0(_X<3NLJ=R@r1;y0zclgO0MsMjzeeuS^xjmu|E@ zj#Pg$Gs@DS9-N4B!!XkYWPI+KfqnW5>8<>R>tHf~+s3^&V-jqak zQdxFXT^>JKlU0|+Fw){{b%R%3g+XLR%MU%RvPz=7N`gElNkWoMKNuN~rNA^99l^F)Kw`A~~17S|Bc?Ne!S*D0Wz9byy&0uEE^&d4;SVj}gPi={wrQw2z_tRbiy4ata^JmJz$ojB{ksTqb=Wc90Md~osTkgwjoT<1qXkjLRW zIO*r5d~@jb_@3fU;WIJ+oo5*AkaSd{6Yg(Odv^yO*OI8KAbj)7gae+-pDwWc>NHJn z^-?$;xu0zr zcCC{C*`_RTFNj?yla5V+Q2L9Oz}T((YVY4pKf87!G$qaM>Y4YWwb+iy=P(I%EzNy@ z@aQ*4kinn~NT|$@5oQS;)*Lh<3ZF?Xxy~yVA+CxMO!@tJObXG^B=X-uP%SGt&vM?Q z`}Eo=O(AJ`F=Q3{^ccFqj}@FG&ZP1PSU!$}2p{lR;u( zL)c@Bz=|?-cBC%+!Z7aJVQ_1C7oRkd+3_#+d7No%qvNrX_>1p(1hOrmx9ijJ16TUT zZad=Ud8fRE9R>TbJ}R#Kve3E*3h%a zcq@xv8~ZDa+LOZFQ|gHbqZ&U2itZLr-_K5mDcv>brXV=bR%Lhh=T`zLa@%x-(QPwp z`_IMX{M=T4+)c>;oBrmB(&K^yBjYRr=_hl$$w9CuBoCRM383hsrIhA{ zxP4SBG!U)S?Dp0(UFbX~TUU;+-u9ew_*%M|Dvie#m27A$zVG+2!Xkd#bh8K!=v*vw zYjEkWt-s*cdYKq?Tx??>ON-!af1e9h$L4J3_dSbn{QgnCol#VZJ;~&0JrSvXOf96& zVlrLl4{cb3=Qw*ZJBMYlj3jYgmwyQVn>45!b(jG8 z_laMZ65oW^m*16?aL8^szepD1Az0yl;XY;~c`1G-rNM?KP6wVnYdUdG!XO&Ka z%``NCSi|Dapdf-WQ0a%mj)%|jo!$NSVR56^#)gz;V``I)-2Sp*?Mubvksw#&!7I7D z(XCKX>l3(H%jn&uZgQ)ax&e0igxfjkd1nA^l^VM7E*=W$>f2!f?1z$B!yP|)Mq0OHs|UI`J}AvD zA=m@qy1LBGwkX)0AXqc~#s*1u?EhX+0N#fDpt3HviE*ciSq~ITo_?0B1macQSPnYP zNN03FIVm*GJqxHR_-Qzxu+}2Jd7EI+OVA(8Q&PxtT&Qte2s8f-13d*KpyMi91GEsB z5-Q~uhV34+vUdxqV47_P$4UlA@VYY?=AI`R`4=`*7a7Knb|Nc93Z^~{BnNps@j|{0 z&+XXCP8uSofp#5qk)^PUANss5n#?NLJ>OxUhkD#BfJ;M)9?Lz$y8C9DeNx(1_Ru3^Ef&Jc0eqM2Hf1EzedIidZrsB z{1C>bn*wyw%IhfkcTd1i**dXMm>TCd}@9q~fKf$e2dDUBws-bC1Gj;9-r+YS} z>A8U>2+ZnY>~`UrThM6OwPhupmlXaTA%(|6JD!{#1}KBTCz=Bwn!>M9ux}7;cs%mc z0bLJuKBeqrV)DT^)5z}$kO>8bm<2n^k~oz#_?0wi*$k4nMRZx&6~f>L;yju!-@XjX zrdG(Lki}%AU~=%1vT_-#CQ-5QDI^LAaJeq*_F&^veR(;#EmWsl=+y2w?+@o-QY-h# z@wh{*r`IdfxiWYItDYcqGwNRxdFXY$E&AyrzIQy29jm`L>?a;9w%-# zB=X?v{KuNm#ItqzT>(xwxgWv=)LnJ<%~8wwh)uB1h%RC1CiZIGSX6hJ$m6 zbJ)4Qx#&|_`L?lsuN#=zdZx49Na$4W>ax)?JMHmuAEiZD-l$c%-Ztaa{B-+N+nLGZ zvzy!t+xc?cwMcySaooO6+&NqKmS~)I&|a16bUxZY?>k=nXeqzvh^xj_px&8Z=`O8t z<6m~%oIlbjnf&oZe?ZSmCQAf;{6`=egU+trOS;|};=dN`zPrh%aStW_7m4XpY-mSa z%r9Q^VIR4TURge~AH`g6pF6fYw~#xZDqqHZ*ImyobKPwp1?#!DmR(={(Mam#TGbIU^(f{OVC(-!Mm97*bn{OxxY->C>iW~TLp%ih z@a_8%dUtD&Lwq>9#zvHAcNW5FeM-c<`B`4?51spk^ca4<(r?mLgD$p0-Ou}HJ|e>Y3jJJlm{*EJ5r z8%w`8mVS*O$dP8davxqg-VIaPHQt$X?r#b9uUlEGEAbM;!gy2PJ(0P&E0DUH3`oTO zPy|@(5_yh~A&l?1-HoNknhp$Z1Sc8Wd2@XQ_>4|N#c|E2#z7fpMoLaX@5x2=oXhOUbfP`~>6|zB#M|Lt$YpjJ& zqhU8xP;~yx!yP!r%qHi%m+@K28Y@Mp8*wNb@azwEV*;v%u+uZcRnDyCu4W62E$zv$ zo3mN3Cc%u+dy>fLvE7tc-Vnm_*ztEU@(|2*-5bv|x-PlCKRa?Alug7mu3l&SmlGvw z=_ByLD2>3QcRVRYr>i~r4>cA_BQ+&DslPQi1j-G*Y3`ZnNJN)tlcy&AVV3?Zq=}JL z`rBy#@14rcZEX>bZdQEj{ZlTgda_qr$8GI6N0x2c-ClH2$5QoS*MvmY`Rj=~amVd^ zhkD23W#Xie*UnZEJ&I4w{uZ?*ig(-j%OvNUo&Je}-s$6Z>3RsNx7%ZD49dslaEuTE zx7TAWxnu{o%WK-Fq7KN(_>f8V53l#@uu`rGo%U(3yRSEiX$P7%T#YWeE%V+5Z|8ej z>&fS9?KA6(Gkk8frd!YLIrxxCT3=VK^WKu+ZCv$Rjce9f!8vzh17h(X)79B7FpTh6&!2PUlH>_M` zj))(d!}xx;#B&onZNsK9=FO>f@zyVNc=ojpR4(Gl)c&0e0FT8f%aTH=Hd_ zIJ7QO%ipLRv!IFW4C?PlFD_CU+CMv1F1t-ywV4t)5OgIMwtn3qqz(u;dwa9?_AYn5 z*f>0D-k5i;ue}*LTTQOe=COZ&{jKNwc3+gINBn$s64UYQ)C14~o|)M_NEUxTi|R7feem`vz6>&^c|F+tit3-dvEBI^ zy_LAvrk;GGt4I5zEx6GL+4KnSezo++1(?mMRZkSu>G0-VwlbvC{=3$M+;RQuN{d{6 z;TPSsM#F}V5Uozeld&uJcCOD(Iw>FE(ACQW1mQ?weDbM*t2=qv$42V={wk0QO4_kWGK}5BF%sCe;W;zriKx!#){w7`q>hh18^a?H z12b*=jLvM~gy#;gR2mti^*$2t*4`$kE3)!*P@#ldeUeOc0!#>xfxD7B0Ne?Eh8)E;g5OE3*Z70wr^&xZ4C!SktiKTx9CIWPiqOF!$1*oalxB!Hp_tTtji~uR~gy~ z-Lx|>pfc`EU85mM(KBsr<&SL}i~ZJf-TO)W7T>3>)uV=nAC74kQ`Y;6u=7hI4Ni*N zHnvUiHl1SCYbIK}c^BGvdb(&t;)s_;-=;@>6yH!w{8*<&Nx%%=f)X@#A9iarLRFAN zRqa3Tn;Mlu`O)HXJia1>+p&>0?85^ush6N#9v%%Z;>6j5~73DE#n;tsa+_H2^{OZ)n&9p6F>Eph)WPq* zpH@2_lEy^T?6$YGXE|7@EoA>TP>gSFs<}G3-s1i4a?l@LA+z3|d~vVS%H>vWd-xpN zJkL&Wg&Oi=ZNm4hb$;JpX1&uAYbsC1Z%Zqi3(&wvviQaDpufbrBy`yw4Oz_6j}+r( z`{2fl8DRzIf>b1V;!6;J`up8n5d!Knt=SW|0BYqP+B|>FSE*TM<}gfI%+DCcMNyp| zSHbHx^()V14Z4_4kCS5H#pA`6`>4b7PX1vJ{6Wgk4s7Z&n(dAbJ{6(7xt-oz_&ghI z9(Z!Kb)MBnSsqln746n@4YXYzA1)?+ZoiVBNE=1A?Z|juShcrhjPSD5n9>^Ui`d*| z)R@q%!3e5%gGO*1Mp&3hEGwV~n`u5VX!W|8B3nQ4UL?xhs-2jXf+Fkj)7>gp58F}t zo@IBp+HJ_a-@a0>GcasD^##*jFYkMm;t4{tS!6z|J3egxDt zUD_J@75p@l(iV0;7IqzEb;4NR^TTk;qX_b%2#Sa~x@iI2nU=Z)UQ&ti0SeaYFow3g zkF+2aNAQVIcaXx2J7o#ZU;jyUJVQ;ous$K@uBjV2b3pFLO)K{aW4bf(!gXrVo~6R- z!w*$}=3-aylU-Rtagm;#^-432HUFC;GOD?CJ=+;DpaM zcl@(u&)5nwj(P5w(`^=+7WtZ>ZI{!oyZwW}07B{wwdq|5f%yX>RbI4kmI&N`zLCD@ z{=`!BuqUrf`HW%EZ&XhFWi|OvK}5=wmq1uyR`SiJ65yTUuGSnW+UXB_r4e>^05tY zQhkn+$xNY7JH`a6FlE`kCI%s6xK?LNN0h>UJ~;29|zO%!de1 zkdba?dZr$Ms#9eq38g{Iff3+iX?|$^Hfs;>H8JTDY$$laX7`)bF6@>XzN-pSn`*fd ztxO%hu$248xu!Vir!BU|3WTgRX<-AJV_M}M)uhY#;EX6+y-FmZ>Wy{D8RxoBnpLM< zeIuK7V{X~m4rfPk=s&x@MN@sD>dapE%UBBL5JINJj z>XJ&Qq+_V3|4Fxu#iugCDG8sOOgc=SoLG5txWcBV_GzuZy{uTd5K4I)?|6cJ`0{G8 zsfTjrd%pFa91Oh`Rf)>*{@gVakj3<|f1?)C@#E!9{iKtx>1Z`z6@_r+echE0)wlB` zq_@@g_2-3xP`mH$q2!>?+v!qe7NOAH(~)DyAEr0AtC8u^#b_P#r@iNKJuNMTbqgWK z(w$Q=2s`H?hh8H{6lQ|A#KuwT-3NixbyMB0|M+nsvx;VKYoIkS6>u^Paj~Ewp!ori4sJ#CjII?Qzk&A0U|P{ zSy%gh)zAg5TP5-58xgJ^fB0G^8#e@<-}bNeWkO=Ip05Y9|bSQQ|a;$D>f zWYFvX(GlL@mH1G?AvLuruCXqz)fm=d^T}Pnuf;y%({o|@t(+Dves_F_Ilc3Z$#v3r zet8P+Q19EtOEENu& z(l`c7nnLHM94dvIuVv0@V!&9I$15=!kPSK@S%n_*f%mU$>R#j*CfW*b-K)X(%0SS= z>{T}?=SqC2D81NVMsnU=x-j~&qMEddVCdP_Om6iz%JfWsd1W|>^Hnk8U`wv?{W~1D zaKu3umg^R9unq$bQWvRvKM(}j)u!LGX5A8TqdU9k?K@eElF-V_sy->#YD1BXF2i)` ze7cH zP+VQNJcBzSBmn}!-Ccr1aCdiif;)pnaDux8cXxMpcL?t8Fn7MX^;dPx+dNF2J?pI1 z-FtNeCK9lC+ww|;B=ppd(DU;aYKj=W%bw11`{ z)zzX}OHfm>Ge=Ap4}zFheGaJvC-p&@f1P11`G&Kt8hN)lsS<5C_`Bzl`*d@m}l%+9i^1RN*;Z4Y( z=2Lybk)#S#H#Bo?FMgj)ruye^#@#pI$1|8{4(^2<7Q6>~D@B7k*9VihzS_C@D0ck< zqRAzn9cZJHhRKE-O=*(QrKNZOnV1ab*!ibVKKf2g4p|-_3SIN8cfw}|gb`z245EQg zVV2wiPSPN3P7j$wfa2CnCn!359L@ywdu0goqBQF|xt6^$16R===Z~f_iwoK@pAe8i zHgrX%Y?;dp!;hv2bGyHq(CgKyst@MiL#Jg4IyRRrdXjk!aO`vJ%&XLrv2wpd9FQ&7 zd7y2e3W)ejlW}{QnV#XU&Ekd3<%w;cbvU`G?H+`NZVwN47Y_%1j=Op}s&1u?n_fkU z!)y9DQ$3Pz9xp#mog6Jt#%oV2X8S_lX!*OF~!{>(Y9r(4v_wf=R>UALn5HU+%_O3ZL z{FZKBHB#GOtydZh&L7?;%X>D?-nLr!1^qhi2e&Z&p1yBP83^z{9q&u{zrOS?RZQr= zY`w&j;grAn96nW*ly$6I^3HkTBMEsAgh0Evbbbx5GrdzHOFZ0Gd-ewH(gyl@^~9`> zHGBBRR*=AE<00bx6B!w}^y05L&{f8X7|91-S~Y68*FNPp@p}~7? z=H3;a9*_lSipIWx;m&-=i0v`^O0%3BqIu&0(tQrv(mBQqzvc1gu4$fM#;3ToZfHpk zu=EWGKeZ7e78IYJn0OBl?aqz_7M5J^)SoLB%87V3d=8*Jx!=p---(Xp=k<&+x`xun zmC%Nx4KK5Pd?p2-(|8t#w&a!_1{{#)r&gC_%R{H}6*^ppihL$#GX`kKxqQV@yK7TO zH$SOf@wZeiEi!LeS5uOTGRd z>9b?rzjWL^IXQ~t36eMbZKl?2P$Bn7LQ~@tzQ(99Z$!}D;cN5pb#}=NI=1y@=H`@3 z#tCNTpYZ?X26PJ*oYu<0M)shgb4tbjSdzjwkL;OcUioxvu&=MB)R|t-ws9{9Nv>OW zUAQbGa8IeN$-Hj&b|AgY{0+3-KM78gExgQcyu2uU1srcNVFBIy)Q#639LU9*zr1Fb zBL+aH*FOXY2z`rPJyre>CtVL38qW1UOvM2nzCLy#H-sfUBEM-9J64Y9{eqQ|WEuD0Qd{NJe8c#2hRha06Ed#@`yxevYE zLo=P(sqEI&SbT#5lD;m5)wwvHy*IACv1`N07)Z!-P1|$Mx^lvLGlyajCS3@PP?Q=| z^lPMIdbMhL6%63`dBdOdYSrsUQv9bMGB=|8uQ0&3i!hsgh0W3D==x1qX8_D>*gIJh zB!KhlYei6NC7XYY(oV=}ZC|>O%(9h?w$%o$<;Vmw6*D&p<0QCB%%TLr~JeGL@z zuFMM!Q=GNToDI$mk@SnK^)4fs`075Nsk$t`wcT`caV>3N?_U{qQ|3w2bG|V#Ezr=qhDrzJpcR(cXXQNx$X5L= zeEc_RtyEt~+JUEA3kyVl*!zuo-D~*n9ednfS-~OnS#@Sh7V(U=hI?sgKdL${C5Ju@ zsKpPbTm?u66bBSoZx^R5rcl;r$2eHNFBTIM9Kpx=PMiBXZTm(!`ei8oQW6D0tUD`o z(ewNecnc}(+>7-eo#=40oH*uyfy}FbJ9CLWP$vCBn~+aH=Lh1wLgn$o(j+GpxWO+l zfWl8*TwqlxnXwSfLNyYfm48xzWo5=)MWL(nx6^LXhutP{SJ+ulBGRw`GZqrF5RtYw z-ru(HsheyL-^dF>@PaD@KK#>s2NG~&QMK%>IR`(`CGa!g7^A{|5p&&%pfzH4wSHl> zUSq9FZC!-6B71hhF-vr_K6WcI?5sR&i*el%r=&Gd)!>#x*W@%=fl=xfy$9}@C;!3Z z5JVlBNw%^Oa~fvcZVw~Q_M)gN7*~b72z?$^{T~z?Q8~!s^pZ4GCK5SO%tQg=k2q4_ zM2aM-f6nO=+q{=F;<)OioO4Po;gO3U{lRLkNAfoxJO#WaN=i$|no)9?QK;|aeYkL1 zs*`>CWqg-t-1SnmyAf5f#8GiM5I@~!!|S~ex!mSpR3n_A=k97yC&zut1a;>)XXvQcv+bncFLUoOz-ew*zJ2Hg>@1F)T! zHM|qIryVZ4le;z&<+_4i|L&fF%|~=3z#bjcIgwwBsr%Y70zlxPwnW^FqB+dYe1=z( z^sT(EEMBJrT`Yru`bd&R%4QyNFJkO2q!A+!@d$kSPGDpYv8c~)DLM_?1xqyTFNJSv z+IiXw4sbw^3dd^qvlno1>@jgs0}c-$^6+E^fF9AZH~+!8t+@lv_m_VtPd)X4+A9e^>|*%irm{m z@$%s>F_09Leun^L?R5f`xcvJ%H)#%4*NMU~xQ4}Vm#7IM&{?T&aS%8VlR>^t#NJ~X zV9*ZHZyokp4@`@Np0)`_2+>y{2PZMr07jS$Tt0t`UjTe8U)@6i0elEI_t3PQa{x^9 z5_>ekN#VcV_Uz9D2t8&lU=gb;!&1q052-4ukiP?Rn^y9YfzC0EZ(zO?nllVjrsD^X z-22j_7mFEXcDBkREy+1uom-e(x8Fg2Awhl&$_>b$VZA!t8jlQ|d!M4PK+T4rwO1V> zVAGOYhB*yc^@~hnBjc-soIc(gQVto6gIP#*r(szdG7>w6(U$RVq+XJwqF)mdjhV~B zgpIOnx>0Pam-wv#pBv3kOTqXF#i;-gm&l-&So$=fb(2}GNLZu#rAjdnDS9^*c;{!& zFE_3bl&TDT&6vm9EOQc?Yl$4vge9Xglc=2zS5Ou^1%=cJt85M z%SB;d3&XySg1}X10AQkpYJvv`lxQbK8v>g?8(rFnR-%Z$qNvU)C59uv{zRDI*ZXMk z8KJR|GRy{j*zNo6v@h0(+P(IW&1m}Tfw^lLu?ljgaTRwc_eG+U#O&Zp{&VTSJV{Bxc|s z<>7~Ufc~iel=ibpx`*!P0(vpcqy>87fISd`Sbvt}q9-IB#xw=)X&K~!4$SFVku)Ww z>Wop%bzu>6YV}fLa{0I{-e0(PDX9C!O6@(qZFu=P&mUF_J}uOuBng;UBX}Geo&iaj zA+z@uuRpz+h)32dvUdT8JJ?!OE3!}k*5#50#ead%-KDt3q?(tq2R8j*2VV9v+nf?tIeT{zTPdmclFE@f0zEte$k)eHoVppp%98!cVy7 zox+yjd4t{~rcEO&rcK%D^nv7Denb>6O~qj%R6!1lt&fJARxh1et)J$3O7CFgeX;(w z1}p1{(Nqw}Yn;q3*wt~_)pDJ(HxRIMv81HJjmZU`Aqabasc8Q(rCUE^&{a6mf{`)2 zE?AMp-9^>KfN-({lkNYB`jx~JAF-sW)8A++oS2=zGv?%2^2%utqf=$`*x#Rk=ba28 zD~S60H(IJTWz|Lf37oJn(`Z;|u^ocmUM2snNc&zg<s!c&qR ztfez(`ED||ln;+XB_^GCIJ9J3hS4JTdbp6!ljM9NC+BxMMVMg4GWTEe`-U9fjfew1 zwr2OSMg9%{*_OANb@a^pw~Kpz{EqdyrA63En~~Zrz!1_tM~S_8ksTosWyk;B>A7fz zmr3`f==>_XL?cSK#qVa1!36GL{nh!NNZ0G4@_Z<^WFlk3W6HnAz|&jtwMN?8;IAhG z^A)7-$CY5Sw_-k#E(C&t2$aH4!X$gcV+tGDc@$0ysM;74AzPkRcMz8A^!&i^6pU$<5D z`3dU+leO-;yWzP901Dr_Hi_RU!|(%!XoXt>Nxr$h2wV>$h-Ao}sz8U5O=eMTl$^3P zVd0#RG*p~Bvd|0~Zh;MIct*6p#aulgYP>9l&^iK7&lw%9rf^`Y{qr?J=YMxYvHSOg zeD%K9?JNq{L;|C1*`+g#N;ithlp`KLnIltFWp=Yjt8UCdR}>IWyJt#E zJ!H(Jic#y!H!>!$FeZQ#Ip?{I2kKnmRR8rc^M76d62e3Nih#FTDlxV%6&b(P$Hj~H zNI1g2)Qu=Lb6_;f-7V|68Nzn5$c(YzkFoG-Hve^_OkRQM>Fy*cS@5??dIkD>JC*=N zes+Wp@-H3F>_o4~39w0~tC)ZnfVR&7#SIR9Ee?Y!PM43u7>CRpeC?L$>CDljU45I4 zFI!CrtTmK11%B)V89n~al8BPp^j2RCMp_n)~ zoFD=r`wS&*V1x;Dq&EZ8-RjFZoKQS%yX`gDi8DA@FgjS2Tbh+CI;z(>sn=Dv2f^_I z#}bu(xLvD@eXEN!i}OP(v+C7FCEt$?c5SH0RpY-lQNg{FWYK@2cGr*N#Y_V1ONnuQ z2nOt&rzC#XkR}Njq@z>l9)qU@m}FFARo~3s?|-xEDd|T5fIr4TwTg(v5T`bRL1HG> z!H^%Hva{7JE$P(j=J>1+m#HlYleL$VR#d;ezrNmu_Y`{ZDU!;ELC#Q~$R6TmSIoUC zBE_gnmWp?-#<#`}YagUt?4fJb(7MWLmed;4n7dF#CosbnokIhJ=6cn+t~p2pgh^HD zteL_-`paagQ(U23r!+Oa=alNFlvAOd6W*8TV+xS7fD@Ke?o7I@e(mzv}5_5TcXcBDI~L42wgTMxJd zF*Ob_@7HgBKA-kHgR<(t^NhJcZH9fN<4Hn{l8}FFZAd(X2lUvm9$C(YO+nOR2_<&6 z0BbPTR)dB9P|aU4*n&T|IHK%{t(!;C7zr-9%+x(r;gz5GtRSIx2L|xK(Y0olv&U@{ z2?E$r#COV)*YYVkWrQ=uW`5b`ZW%vv`PlN*we$%=-#y5%@hG?D7niQfOa`)-C%gN7 z+DkXLG5c3iARbjg`C7cK{H@FFBU)0~URcgEuVVMfP)y{G&<6@Y0+m#84Af}}!>#mp z4SKI2kT$=zN{9sxxbjB=? zTQ7uWo0jFV3D6pFR9PRl=C6Mw^X|Z(Y1!-Hw-J1#0&PB2l~F0!3VM4jbYK9`MP9r> zXX_JJItZYiQ$RzAm$zALx#s35Kr#Cg*&yTM3Se~VIMt0f){kF&%iE3-IHci8WHR8u zMU%eW1V6<~KcketW#c~$INm~@L4Y(wRBz;7m^b(=K>HpJ25gbyKGO~mG zx8HwFz%TG5btqy(w)nGPk!82(dawO*?@)4Vey`jSaw^|i1wH_NHuY%590ibIsR*QtAG(6)MjujA?* z0B#MD0Y~5sIzAI9$wts-55!IVqs6_9FYVQKgZ9Q^qa%ttRH3Z|QfKu%P?!Tkm$iRE zBt_p^dNmQx57l-CRA$&`^k&(rikAwznlO$YBbOYq~4xH03hk)^22N(Z9|63KBt{Sbj$eIQA*MI_33x<#i#;a?L`ffRCWpeR@Mc zF%^JTHuv$*2;dT(#?ufhlEz;`^uGXfM4-!7|FxUx5mmf8p|&ca_WLJyfZ=nOp5+G% zVJdGUUT0x^`u=Xt*rYI>E_a4gL#E^4KCLC>+T!$@;`j!HUp4jdHTmf+esJ!uNStuM zi5wY^PV<8fZ*VFvZGAYF!$Yb4@&=!Z)0&=gAo33GM4%<6Q5-MRbi|jveiWB{gyv{6 zpQNV4I+yC;7^dv~&_!}&Dv8md_wfa)kzu>`yR&?ycI>~3(YBR?a&epAn5O8Y(XQT; z0n~5^@Dr26Y_%VXKHj>2ICaM3xXS%AJen`^CoPj{KL!E~S2 zVZl)Tz*+1?x3d4C&CCB*u-5fqEob9p%-g@qUH|Q$2xJW2s6r5e>e_M0^oj%c6_6Od z;af$5_QX0KJsU;*8}A(!UMWQlJpeE+V2fyC`r9|%d3Ca=2Lwh8-HD`x#jTV<>Jl@3 z=ZgbrdfJQBzU67YQw9j0K_y*Jx~hq5s)>5+iO4B39%B@(XQcY>Sg8D$&0&TC;5)u8 zyRHoI7&GI|5*Wy4=%XI{hq@Bh`m+;s}I3dkeoE-G-MZRN>*sRYUP8C8zbhj^}&)<8QGvSz(Hx0%|OuRo$ntU)6n?8fBSNwI)(j zXh6$?4<7+=vdn67pRm-nvUk4LUg$pXr;Rt^wb6U`jlX2w36KRG-(I2;pD=XWogR+n z$o4P*KBR-KSUQCaJvMhhb@^GyAqv*Z_Z1UH#6fpI73Jyv4(P<_Jf2AMJ%oKkB@djZr4&zcb!hU0iA7Jfmsw63--Jd?Ep@S3UcGMPqoH#zXU}vsZ+E zgMQLgVRN(naC^fASNbk!>aB+xsGth|JQk7NB|*zz__49qzu|^!8O9u1FahSmR#Y29 zTmX2?l-NHLWV&Dj@!vbL% zTM4E83|e-)-bOFu>5AAFM96@2$I4cQ=EF}nz$x(2fd}w33Zd*;fG`8h|7erH$EO8r z+Z)3&iH%MuD!v!Xz%ZOH|M_L{4K>97ivJ`6*fdhOtXKFg^5moP=h{&Fhf_+46Qw>E z5f}G@Fb8IlUN8b>=hrwleC5}_=|@=%Xu$HnJ1FvxA%buKE~DmWM$KdS6-xzge*UCt zZ$AwFal$a6MH1ap2GSD-mFR@z$oVDeRDw9U$iJ?f(Q=f-wD4x>rVg>D4ylF?SOIl+ zeL9+Z5-auwvfi%Aw>#m-B_ryvT=dTl;D`=bUnmcNBYYy^J35U76l6v8nFGu@+-zyk z&DX?;(0w5O8G>gFh{O!hL&cd8&#rByw7gS3$v}$qKnlG;iob@JpQ3gc@r>Yt`o7RR zC&#~y?xv6KD&9gEfl|BOQk#EJ*dOfJeg+jozWjw-Ss8KjQ*5}#e#A6T(e9JHrzT1a zmvr~4{n?2I;DY3L47se$b>aCHMstVp9^Y%rv!MYeqkG+PDfxwgzpdacq>I^ew1Wyq ziD_8}QCv{kh1HRuZ5}f~?eX*}KwarUQ`=X5bt+wjM#hGEDB<#Y_rzxsxUjeCEdbkC zebVcP#@V`HCDLL+Gko!GPo+ZeJ=M7AO5*GKmaQ|2#k0zHZSa?#5c0D#tSk+!g>NSU z^5QQHhHNkvLf_(gOXV3ENxJ~z0ATZVPB4*u^cLce1~^_*K&CJ{TLi$KQx1NF<b zuPy$=5e|M>0E%Uqh?fqHg{pC(BQ?woAtDg>mgK|4*9V)vYo2;y_k}17Gn!Qdg8_?= zM^???mx|sM2M?ef4dXPW8*B<)#R!+?f}Y5_^cMUCV>oV@NBCgz!7uu)HVc07X7~dGBcFStaglGF(2V=nC z13yf1vU&W2lB|k`hbY1itl(^fHdvq%`Q6#Kuv^ng6*_!4hHVk}4#>BslEP=o(k54T$urCl2B4*!-* z-K#s(f9%Sb`{&mMdgy=wDj}$}zx=OBD;ur_DWU)8EVkC!Ab2C%2y4g9kh77F@%vtj zZeTNblz6eA2Mw5b`7V-2S|;k{wO7Kf9WP#{TB48M4ub*yoY4i5eN}+%#6P4Y1Na_p zfh<))s9XrIwLA}DP}KYQ&CxW zcY?*4b}E5Q>(q0*%=f?19!iOi*K5-P@Cb{w;Ce`L=5*0aVY2FE6r1O8*Tiehxs=<8 zig-hVp`q&JK$<&q+O6Ujg$)5RI^K7}m0c^ufp(=i1gF!`|FC5VUnx4gji|8BE;T1|qaOHXX!d#F5l%QJ_d{ zKuvW0#BfTly{uO2qB=FL1TQ1;f&L3fNw~mJit2o2VVnMxK$+LViq}Gm&R>kz-;B;b zFR(*dy;7S*lMK5w=5k*8VMFHec()ZD5=5!%Wo z?-FrM;l1z_m_8ol!9+u1P|*P(e0p$^sV{IKbdT(|Y(p`%7Z1IUhm=t3ZM_*O5~wON z=2RKY4#U;r$V;9J-P!gmJ;ERRW5FR-L7Oy8`=dItq8R4@e-S#t+4{ojFc_Cm&_~3T zBwWP3-!c*VXRRMX8mgY4tMu(pH`npYDy6VJw&49M+6B=W@WKLYj%5Ta@WROkyls4E zb_Yf$_Uyrrk8S>r{sS`Cd+wmRzFZh>-dy!xps$PMT9t@>V=Q9}G#l8WS3>(9|2n(K zF>NCeIS0OE?gxyMEL%J*_QI3BR{ys5cNjcaQH5N|wqGe%z7VRaNNkavRnm1_*z;2nUzlpTGwyq7PXu&S+9#!y zno0r}i!ba2F)1^WJ21gxN6k@PuaBLgv5!DjGU`BWq#5}r<+1reI5ti`K!#Gm9a zx&n#cl@b$-kiQ(CV_C*FmX#ee)} zy$)OHjk*X6aDmR(S-mIbJt+}^GgwX{IG2OXA0`rEV z#eJ)*r+px*g3lL40o2UF?4eWir1iH6(+MKVTj`>hq@U-XH7%%kOxU>xUP_zfS_N<2 z0ZD65sl|}z$tVDT+QPVSRlOpz&rh&9wE}A*-K%A&7GZgo@Wd(=>Z&kMqjLDXz7}%r zy~R5|K{B0z@UgCbIrzzTn6k3~{pU_Y4`XINJk@m-s|?z?iMS&wT69gg{5k#wyiQ^= zOPWQtN*X*L=nKIC1jNCx9)ocEK^~7+)3F2l=g=FK)s_rH&^l%bTa3koOYX|sBKRjFK6sjNoIPY+U;u?5{&`B8EZBCEfy^b z$*0R~D|r^>G84M{R@Z6y_+~DEIYa-Let0@8vNfcSNfYDn_Jv3V6FdY0$b@ki;jyy% zvOoZoWjj3y5#FdEdOX_t$z=bkL@E^ej47>dcP~kcd~5XLa0j%ez7au}3^pSY5B*Hp z5e@MMlzlCW1ZrIbe@NlIm5vIzxxJ&JN=n5Z9Yf!W5qZp2^wZZ2kb1-taWW<0$cZLY z8x3VJ8Hlejq2sw!Ywi6ktjsUi)WobJ9BFgmI(lEt;SLBr5k&$`n){x-xf0w6QP~Bn zDbh!oTd&q%_1SPL^fq%-!jvZZEOCtIMkasA$^X!|IMtU}!;-)T4x*NhqtG9L0b7>= zTWF#P7}7@w^jM*0)g(l}`%#0`!-M*&)w-qoRCP{0)Q*H03_DFaIZish&I+=M39K6$ z(3vsZDy6PuPVnRo36E38gK@`)q*inH@JB_x2Gz?EVJ z16U-^I%23)-_#6$B#J9Lq<Nc-0L__pBz`)tpWw>{=FEt=}!0X4NYZ~;&SQNq6$t&po)QUyX3%=KGJ!oaxb)>RO}Ci z(C8rz3@;_mHUbl$0xB1>esgQQ>||#Y|MgA7P9~sBpVHX-B0>#Ap5) zz|Xe`E#gLohuXj9l1D1kV>G2_?DGEoQtl~Pg8y>(PdPlg3m~QkokKVKh@LA2d&AUc zH1-dGY%XTxP7u}eR^gjwvtR;pLZRr&Yy=ME9q{mVQsh(;FJUNsJkIs|n1qPf&wspc zM+Q=EgHa;89XLSu#R)SX8;4NmL@_o_eRmMpj{;yv&dpcfq_tO}XlV+kpfwAH|A56- z5)-GIiKT+>3Zu%*h9WcAR~JqyW^_1kyNlgSt0DW|A&qXM&3JU3BlAS-d4K&jvnvSf z=J0}m2D3a3`~P+OKB1{?<uz>;N5dVbTz4G^l8-xQC71$bY{j=r-SaF}woBh)7C@hsGtvaJgPP60%3uo?a zTqo3)2c&PwurV!NC*`cQwAHbUS-A{u8nf=)#j~O=m2kOE2t3gEaj_M7 zu@zCs@B9r?0T`CP{SDnb+JH*-!PdgccEV17nZ;C7*2KeXZbV~#yOHO78NyyJ22DT$ zK%H}(8v`t4y(Fa!TyIA^t#3=9pqg|eKyjj{WPfw^`l7f`^YwG9ADwUmVhQig#Q;2T zYISb$6O~uGb?OtR+b>7&5jgLW4~QeG;cArQq2DTVy1I3g4Y%kA;o$JX1|`U-F%ll{ z)Ona;v&u{=k&NZ3?@r|Z9N9mV=oI2KykoK_*4GnlZABv$I+{@*Hc1%nLE6O%zJe2h zzXkOGj_wv)Nmr|q1qVX5gueiz#y9AMiyUtBXo$ORSyH>^?KD(TN=G=YACcAnRFqVQ?plbAZ;G8X^grVK>!c3>&HCV| zp{i4sp5d=HnS=%z-wa4CizlLboWY9T@k?>b|<-NWbVvs^uH}WJ%QFptDqcSxYNz7>qr>Fg3D5 z(vO|I8)5eD(uFkREXV{_c&>xyzxiMIE>81X;2@2IoX73quYMVUc;BtDW3m+T$hZ#@ zS2h6gWDwGgAs;{P09v0@_xBTAjjtT_-{@_*K;TkI>pxZm?=&%hQ~01Yz=PS6pC}x* zc#lKl`?p=&?|3rGl87gbK`RwX{$pvV^m4b;P* z1j<4d>?aZIzyi)Ncdr64vy^V}(Gb#?FaDjeZTX?anUVH?ePjSCE0NPWtdFz0n6rp* zXVJk;nV<8t*#PzHZk^`Nc6~{QNPv}#{l_uXdAH|ab=x33Ep>geHPO(aS82L83vZ)g zcev(zv;ByVNyO)W^^h#RRx#f`iI;JV&gAlALFZ>zIq(bR2P}|xw7=yAWC-&56WIdX zPG_s_Us~pESKEyrmmje$d|wY|E5xH9wl_N!;_~VAsjNj+EiLul(pv5fSr#aNTX-$5 za(jQrk`~CLCw*NrIbvVPNIp~X8v;3I)J=NMi@@wal?TSIF+En7dx*^!;O5UgH(+A$ zW<&rM{0bzMLpGcMeGLc;Mff7CxGf%Ads@6A$N+*vK93R`4s`yqLvv(D1RP%-oB*i# zrafsDFx3>b?tT2-1bZ#Qe!Y5&n#O*OybLdY!~-{{8|WmUe#;`E1V&JCzT_AtOtraJ+BA4#ZXB zsBow-SXgQ-Z?p3Cp1~}W6QoY@Q)G9rv|67eeFI6>>Vs~AWLwv%hcKO%yqb*LRIBut zn}ye#m6of-IE_OIHodP0Jr&GtQ)BO?Cd>lnRccmQQWeoTqgPI2lZ zEtUbrcJVj(SJ%9#zUfnnIumS~_{*2>@UKRkNd~>pmQZL;5Dhpt18;l=v9>Hje!4?0 z5Z}ta0EAjkhzFpDiC;i+u|G3b;V+h)V2@Cau zT;nOfnn7WOsJ=sBkm~)?GD=1_gUO`8Tg%#)OSX~s#URzw+IKwJ7P;-_e_jCe+?v#D zqx6+DXJ@9zH@~CT*I7iwgNexR;a|tSyuzPuxbgU+rZNf5`5%6J+EDE-Q(iTFd~D;_ zQqk@vM@w9Nx1vZD$HX`r1?1ymvA96hh@jo~m$FPSvA?(wfefzDsWfW z-0~ZR2JiK9Q`f$7S(C5M-`-;1+lu8t1cLd`hxVMQD%z+oPR=Um+l zil^{W;Zfj(_EK2?LTTnkwasng+J=9%^IE3+>jhpdiedK|daS$M(R!Qb^4S<0w2+>y z@wwk8JbKqNAfQ#6AZsF3T0AOvYn*K$y23(g`%PiexT~;PL3aktE(iT(H4SHJ9nR<5 z6Zec8?cRs|V`09D3Yje~J{y;9`1kg@H?KKGVFi9SyHwLkPWpMoVF}oYf8M`)f3}Oi ziG!PwBK33=R>8Q@Sj17N_9OunF_Uf|CjhX1!L*GlLfh8*>AqA94B|I}Wm;s5Sk@gN zcbnk79f8Ol!J!I1T7?S}qO0LUlr~$|d^=1P0RV{33G#J7odGgN|tUQYLY zC5W&=hMLjR*Sck1#($I_CvyV=T7oLh(Ar^wz*#gx3;ONNS1-G}779$OZO+wDqf#u@ zJ-rT#_t4c6YQp%N@$|lb#>4&h4Idu2;okBLsn9d2v9(z10$Il6v%P!S>^m0=`NPOm zJ{q4R)eWnewE{Wkivst0xP zf+l6uxfww+Py$kMv-wu<6%(=s2=R^LPVV6}>-28%ms7diLc^_b9PF_j>|^W`WVlAmbWE!mSo=QxHV(^m)}SNr`;{*4dTNbV zS7SEI_;`?hRn?*cz8f649Tt45+KtWpka?2mTWfGP1san0nM*_%6Tw6O#Z&R?c0oc+ z+duL0SNep$?^m*vUb_!XyYSwVB5Qa?4L^KN087gfMU*^lTir{po-vrq73MJo=}fHfhF$dB+rNj<&um=i zAkIWD8*sOBtz6HKY_+fXs2^W^C!R#n9X+Do4X54r`;$nH>}2xZHg-+vknjKv)8z*h z0z1gtkUGN>1xxI*XX^D5jfih8u@j7dIg`ze4n2?9U>Vd-D!A>xK1zOmxJ-hjsYLS> zgG)S%eLS;c9HV^{qjNO9A@8;WQQi9Cc(Q}iCcDOy3@v2AY|EM8z>k~Z7>?qIO@@JM z(J|jvG!2eD{9A&7=M&5BXh%GjNTI2NaB3fEY5@TNN9@~x$JdbeNF>~t{-sewl!J&k zQoWQ|RZZ)fDVUMS29Ma6woEW+fGiOK_NYRq<0~_~A9X+`8QUT)9c)Z)=O3;O{EXD6D1rI+Irqniae7De1aDrg96U zYGH0E%Cn8jX%$nZ_rnIrr$zpPkpVjdz&QW~oC3E^8GzdjSfMMZkHsfck&CfoQ8mQG z>89fuq!Mbx;v2}x742DQs417E@a%rc6Z22FXdd{;n7Lg0kGB%jW8z1YyTi-M8M?u3 zd1j^iYn(5>*PUI;e2Z28`WOJ**`_ymuLP#Ad^%Zgvb-M`^LF=tHaTaNq{AT8^}gtA z7DePD5U9QEt@=V0dHU6}^?v6!k^k35iwc=pua>5a@ng4N z)$oTr*JhkG)mSh-yIrQ7tJ|+O+V7W_A!3~IdTv9x35loiFU?L{gYoTT4GtOYp0B;P zB?A@u0?Y2-A;~IjZ7mB9>#gQjxl9G}sjQyUaUE}`=S04DeVP3V54kPgqj5B$QX7N$ z^7bk7dMvK2-ovKK6LB{gXAc<}Sv0Y~`T3cF#=BAWA+sad#Ehl!nLTc~OwlBsL}usm z>(a;ZnonQHw6@tTkp0G$U()i%uM=R$3{c=Qv#Czdk}iM_LmulXr=NWzUlL29tWcXr z{OgN@Z@Uhg)8Y4q%G;#Oc;*j-Yff_E3s`SMH!NRTTc%4?_3nf*HDv>BV@BYyouh}EBx(sAwEn! zPE2DWIAcB*xPWTS_aJBH;YW`#r!*tf0NM;@7O%0@pYO0hEuxV7XgB$_9k3jW6g%n$Lo5Uf<^j^GIMcds zh(?GO;{N?|bgK;)(ay~(t7b`P;x6pvVtR^THWYTM2UIsrlVMRUV#2CM`!vn|md(U) zPI>UE;vw@pHZ?)aJHvQCO%MZ$dJU=uwaV$$1bo&YSm<__;Jwz}O{?Ie5902$M^X+$ zKl7Sm4yY@UaeELU4e)S`m90v;3Lko~MY~(XB@&fQ>H0a!&aIahDc5H~aMBRYr9Jhf zPw?bgBW_y97+TNvS{4;KHkkzTgTBhn5l>2AkEpOps}RjhFoy-cQga>t>#2^y91-B7 zB=RoZ4f=O#g6aRV-=;Dw@C+Oi9iOG(9SkA4!ZLIi*_U!N88zYy4u*U@7#<9-*j18n zwE99|P4^S+hif;hnJe7RJdAQGaYdLYVc*E<2g-$nAIyUCTc@R#KGWI-8c68IAj{E@ zEH1`B#D~>}8m)O0@-~Zh`O0#H7L;?XN^o(PJgUX+sMLKaq;y5>nQ~o_2g%^$u=uP~ z!K5@pWj3-q{_))}Rjp?UrF&JH57o&t8>1eK=B*!CI%gr`{aHxR{3P}&j)>JR^D`kb zg*Dv^Rppij+2Rtpo0Z6>bTFH30X;w%g%iBq5^x`S?MdJWRBU$JlGO~jHk4DX4N^x#Ko?1a)q z{IF%RxQ1`3rhbHHTtl8>kCHghvFENC}C;exognMbUJN35B5patvC>V;ML zA{v)&B;AjlAK6VtxM!M_FE_nazdSe_PX?R<95-$MFlAs%ZX#~M30P)yeBmdENe_|4 zJMGfJpL3+ld29CHbx+js^+u-O9^w;!DRyMWK) zSrXd;uNpOhTvzz3&l#nGbTk$+A*w9= zB_wp&oNVo!bmb{&nqy;y&_`Tsp*n~v-9LxiVM&*EEq0pHbY-{UTj{;VZAo;Y;k_WY z{Oo(*eyei#%4|2$Z`GD+e!9+Xv7fKC!Zo&3<@z>mhw5f$fTjnjSnqH+RcPBFTJ7*W z&mgLI(5kU|9nK5emrs7UO)4+%f69O16W8B7)vMA!gLA;7B2v)sH>lW*1{W4a zAJjhdrtN&tcEk87OT$22NKb2BTKs-tZcZbPV@@^D*-pjGNKLeIHlhhv=1vicA-DD@d+Xb)%gk% z!_h9brC|*LTp+^<$KF+*{_;9INWicYh_hrGt|)wva`4;ZQiZT&@Z=u}j zJlGoWnA;@=O35QE7Go@iA3yT!1cCEX;LQTmzv8+Xq5pJT{)Z7%V2h}r(~ba4!r7Ma z{AbHmM7+QU3~jij4g{s2vuIHxE;_X-h_Q;YQhqM`eE-zc0}H)DlFk4|`n1G7VoL^S z4s4$wubQq5P~ks0z_m4ofq_mDXn?JEm$dVHThOr}5&<|s1!)eR48WBa=UY=@*N(;u z2)z@H@tuSblpuK*x_>-)>$W2bLXqncvJad(PkYp0oDeYdr{yDRJ7Zk~~!gcjGNJzdA>^ z1>2%GxnbsLO|49KIu(&`+R*#Cro|DDK7DV&0NY!Rij&UGdc4k%Bl`!PuLz$fht#`cJ7A04vWeDSH zUSehV6;NQ)Wn@;aA+<;qz0RlJ%Es_Om~>S8ynF!t-WcnS^>2!PcY%<=f1A00%5dt( z*#9O*K_CWzl}(hbr6!B5D~qiy?UABzJDb?(P-5b7U;)bDuhc50$T!X%R=#=ovqtNs=BH z2a*dXIv25AFL@raRNxp>J)aQK%!uJ!T-h(DB&v_HC_jyP_5N6^A(*<}PR5!P-dKtk;4r`ln zYNq4c_y&aq0HU@1fpfi;u<2qVMgH|mLh64Cdtif#o1{*8KET5R@|Xpo!1o)g><*?O z5so}rMCWP5fpQqr775l3igg8is1P;=u`J0zg<3S`oT$X7A!%>3VgEd{9)!i+Fl$QT zlqk4sA+}_PDkrpYCuNN=9_}e3qJwx;niBDz#p2yF6>WVHFgz`S1eWH1jZI_8xwX^y zY{GSHL8B)p2UPKrxj`;c%ps+sA4+_UVVR=gSw!5FmkeaE0ri{>H*6I8Nqye05fmmU z|Er+$Ib7LiQ1|z(@Nrju&VxMO<=FXY)iu5Hr+)bxuX5pmplikb%m%Y7ZpVxfv>}LP za9%&6u-y)PjQ#aGwnWwqV1K+&WJ3&mAE&7?MQ+r;VRGhj0>+-uE`awf$e@0fqd+oX ze`${xn7RI(B?)p1)aw$Nb^9p981PzyC<;fgHih)@f)MHn!e9W$dODlSD;|z(BVtyE zP5umLaHnB-JYfKU?{XyJ40p1`_lf|yFXfM2*$SSNKQ_}h&6Tgku2h%3mGJ6?GZ@u< z@oG%Y+z>(E>oI_pmVCJ1Ca`$?gsbK#A{cJt&Y_im;gof4mGo>6$k8=EKyQ!(VCfXR zWl!3l;G0oOOcL~L@-3*7H)mY$VF!52}uX{1CZ=)PU1BAjA(VB3;4LC6#+c=8BanNj2a080>9{&YZgH@FPSg8S^{RafK zeyg{8Tpx44ESa@$t|Pf)B5AI(Z?o<_s5|_`m>I`JEmnOb+YA07HllMJ7ta=(Vn~ zp>Ob}sO4;!)+pH9M6EqFYZCzxgk&1zJ!8>9`8KQnzSi_v?E7pw8T|a@aR6p_I{jcL zEhpdwXu-p()w{dgj$_*YDS$ykIdve&fqrl%A~sB63F|XN*h3rTSQO>hgxT1c%T=Uh zp0oI7)b>c13JWYeq!>QX4h^0GsQ4jZlL>AhL+v)g>`Uw4|5o{f<_8#Coo^unn(t0K zj!$LYCiF(U5op0MwiB8~zK1qR_yxQf0vVSH2R>#nNnQmy1$YIHj32XTlEip+FGFHL z&=>N2Vm^zon5Ip@Y7=B|z`1o7MeO)wBuq z`htD#A9>CK8G(IPk37Ep*MB|&#;)8sJQ@mn?<4;S@cg&gd9Za!lwq&a?KGM~;93#5 zEc6+x)Y(&AB}hdW*_3zR?NHQRI7+T$2c^}xH-$eyTiRW%MZrJ z4*$+H^YSq5^f2=l7(3iZweUYF#HKvk%ewR%chHG>pyzQ0UBy|!=NF#HTD9PZ*I)8J z!{+6$3DQV1L870(J^29TVr=v*NNAa$hc2<+P4XWf#Foi1;uicHCjuL%kXQr4+56~3 z*lD1%Y%yEb0RT|^AaemeaeyKo!R7M;5r049r4`JxY-}a!aNkoH0ZTYjR|!^cimYvP zg|>c)uK*(rd_G~AJjy`%%VCOtqgH2oHO(H5uCUH1pgt zH*Q9zA@QQ{?lkk*GIL%O@^d4~V{5!ydyLD^IFI(2+g3R@v5|dr3|>j>U0MiBtlv=z zqNVEFJ@>t(*$}$nZ0}<)ISI$BiHFjkG*6}TrJy_anM`%6{v6WV$A`w-<*ntqsURb$ph%P*qR9vM8ML2B z$>UN+`34*}_EY0l)+=68qU} z_$HvBY()>rNet}Usj0wk`OrR{l*bHqj|BTh4GQ2^=dQkfS$%EE=rZ3AOm-0wcgK$d zLMTNus?~XiCmSn$W3Z1~S-ZQfvE_6*r@^yBU6H>hkSuCsc>MM# zH@9i`xJxYcyZwA?{JKlrWo$1{VW`nRgX=-%rBBn+WEye8)Euc64;188uRJ-xH6S|P zK~-m-z&J*lnIN=!w|KBvc=f?wr*$S8_w+~??$ZJ(q%(Mxr^2I!Uxsca9frpuQl2dX zb3jIqTLKss|8oR@0U$u=VZn#O~UUbnW+ouXEgU{eX>&n8y+p?QZ2 ztCit$5V$!(CLN@JI$#UXm#jFu)_^i0f~3B4Pv)%$yln_RI|h8NJp);vDE~;{?lVGp zjzj@Kfjt`#_lZp6hSb9N2&H_5Gf?yWW*5&>AUSgCQ_SJ#L@nZ10Orlb!`*XIzyho{ zvyRGHC=mFiJosm8$6#2qLi>=fh56{z0a)&4ep3!SSdj+WC92# zokw0*yahyrtf6=rC$S}w>%Xlwj%C^6EKTDhC32YGe(l}azHW3sftsF4RTTH$Kp?oG z2_;!^S@4o&I?oCjhAvL)drdIpw6?LTWqa8?y{flW{qwuN%vx{zGBXYx$Fyw-5ho&_mvD??O*;Oun<^-$z_vR}+5SY|qY4PhQ>po;ZC2LptTa z*i3hQgHMkBTEu+fSS{Ei_dbh!G`NHJz_ueEko{JhI3asQIz*>it9_fy`pUcbryaw>6Eu;27?>L-gx z|M|v=@~k0eyN#BZbQ?RxqVn0Lm>FjN4@o+-60Fp}GnGdle_qJR4Wb0NS4gm~5~9nx zq&vGuym-fzI^QiSVllBlyUN(|H5*qH=;A9|3c{DzNFEE4f{(K1L+hBuB@Ck!>tz9iH9&}hh6#ULK zqjQWH-fgbNz>FB9PC3e#aEN&jfr^QEvL+xiR*Pl6Dz*TyE^-N@PH$QwJ%PRu1TEg~ ziTV!jf8Z4cst%#tf17;QnWS{-L1)QC$2Q{a#1l4(N=0y9g!JPi!KQ2I51iOK_2@IP-IkI*jT5CU? z-dE4$CBqQwM%jeVsHgm*v1;drM!tG2Fxw?9`^UBF{-AhAN8ld zTfNff9v!_l`~PJJ@qKy6twr`aN9ixO^~>!4qWiD!<>#!CV<2O|HBtkLvGbb$pg%}{ z?zMrJ2z1(ci}V^XPfun?=ieCLYAWEpY!#*`;6&7Rz#U*l1@Sj>%M<|Q0BWckGB{up zWv?Uhw-7X-hD#5Pco#PM74h|&2F>gP;bZqT(iP{xK;;!QaSqZ6U@YMk)9X!WpT`<);nKJdBG8*KBh7ii`UafGRyJW!quR1y_?+G|Z*Ye~p{=5Lnh`ml0=Y zK}jR}1pc?&Tbq8SH9e-?vTWD&v)0PsW09mac`TsYiD1AF0>{K6QEij;1pBJg0LMT- z5>P8cQY%AY3s-B7x{7Lbp}N*2vDBh3zwCvL28WA)Sjs=5Hkech7VBxy7aXE1yF^j( zjwBP8FjTSfz*Uxid-Ae+T2LIjVX}VVpK{rl^x3uPfodiWqebP7y9^ye9f%!JDvIDY zkly^W`m~=LIM192fA5?e4bRWLIx$S}qQlx35~=M9{~eX#*D_Pa$c>W2B#V zrzAAh6B@uJ4&eaca&Rvly$_x4d#K`(HWigUXLNVl{7zRZtp^9azLO_1;k9T`W=M}L z$z}1ARg5KOGdnAzVEwkBxB8RL#IKpE^s7vn3lyM!tpVdrMNg?*$3;Il5MW}MqK_=c z@oN!G{1_fO4l&OCy;HEfZa$TrmCUnJL{jjBB(Iz#+Z-Q^f;uwrGk7hqB+ky>X`gsE zSHB1IioFf|BT}lMrHyZ#`K4j{YxT4&J3&gNFFxswp4>9m!_(qNAPv;b{_ppD z0zjV$-Ot+q*X;GJy*>Ylbm{Z65-4i3z?cBYfg(lvkG&aSeLK*{Y_^c+{rA?-s{b2>ekk`V%z8yg2#M*G?pWFe!4w}nY?Fz~rPjk-w2bb!i0U>oWN%qzK!SHCKhm-7XHZBbGawPhfP8oFW`a^R!e zhJczYw+hoFwbu{}io`6=!A2P&ray%{FNxa_L&Kwanm>EAT`1O}#nqvOgLX&6I55AV zn_^-2@S+=9icZRsMI~N3vrM*js<7;~xXO>d8epe~2q{M?s)n*g)N~3kJgtqebCpoq zkw6ASYPo)|=G+C%bf!Lc_2g9NRiAI4Z-#7kg+y!)jctaUo)4XFh7ee0pW10!>M5xD znPeE`q+_S05+>)8rsvm9d{ME?{N7yiKydQMCcblQqgO?Wb6tI47DwC~d{S-Nd9G8>pAZ}TJBP__7OM*v-Z0jyN<7*22T%Pr zk@1xCoLTWNjmn$5_w3*E`OR^A1cbe8ye|IVk*iPuTA7f|YdEiMe?N9R$1OO)Z$I^9 z;A*SGV3DzQy7#cu`8it->9CwZjJO4DL70p{W?-SA?e)4J zebsah#rqNx@pQ6J3EcsWAa-z3fsKV}2bi?H_4kvn?!f|rcF<@@Pyl~Qc!EhWRaX6h z!kQCWCM((+x{erWz1WpC`N*rfK`4E_m}DBLmAG6|hZ>FnC1r^sknmX9`G%(SJ*vJ> zvXzXK&YdQlPqkEql#RXuc~sE}lcp24%v9VRT348%DJ5ffzkn}R{Smq0R_gY>{i8sa z>|tnpDYFfxeiP&7oO^Gr-Mha@@$Qs+P=AZpw%wH{VDjY#X~vxtNUgm^q_eCH9yDKt?AjxR019Q>M!1Mrus7K|@Z=r{U z49||pO|GDWa`GE8T}@I=T?|7*0(I@&1vTbe3UiAAAZcU}@&XMkVm~$kpqv&(iR1Lb z5|G?)4GS_>TG#^LOB<6>^56gy5_>n2**oT)JJi|c1n$;o{yV;3n^Sqbk^}-FGATe? zxd{jl0Bo=$*al4R{yLF5Vj*8n8m0_Bh8b9+LSWMq7Th63e1O^sg204lwiLj7*|6wZ zSgGl$3}vSTWzVhEKuXcTrMbYF*fvu7St8>j2?ZESEUm4KD!nAWSRAn}%(RjV>CHbD z@5u<|xN+ha{`-jm+)z{dc8#iR^i_BM1Axy(wYS8G(`zfv;j4aU?W4FtLi?-0DfGmQIfFl- zW4lB#MOCe2zc10vu29d)qB1Dn|6-Dz5D<2ptRr~bQH1eVj0o1^l!PJpRf67t2Z@uTdg(OvHGW(Y1QhM9TRcR4ttLBL2H;Ow_~n` zw)!2`mJXt5zU;g~9WB?T%l6JuOUuuZ-iw*GhL)OzrJ9|kiA@_7AQ!l00a!QwJ0XJx z;!BJQ)u4c)nT4na;2j14VfF1jWd}k7cE~1F5L9Prg*GZP?DVv314UWI^4~S2HDT|# z%=9qHA!71m6vNWvl7Kw8tQlAZ0)Leo4g|2Y4~-cu3?wEp5K1Fj)J(QYB@8zf1a7c- z2TkgcLqh?8#ix=q>;^oPD1T%cqgzI}I7W6>*}u4%L@1)CFwVkc?!uEaLvx6Wz*tSU zSVO1SRQFihj?w9k!TAp66=NKm203J&UiK>l7e_Dc02=zb$YX?hIkl9{%-Sc4A5asU zqL`3?4+G8&RQ!GgUS-YK0-RAK#8b%; z%^xB7yStoZ7^BLfcc&?S_`EFqN{7ME6-%+K9htI-!smN^iO;w`3R|%mn{)xZ%xlKv(8{<5Q`;LcK zQ;MK5(_}qlbD#mM>|9%X2p0dVa8I~#X;>Mty176Efc)M>9w{!={hOz~kM&F9W$~{~ z6eErRE4Q+@tN1-(KTnz9da+ZhBp-V3`bEgNxWwo~b8y9Uq7YV#LTi^3g~vmuv_Cu= zvWHwHgBuwOYhgQ3P{7B+8WW9VUnrJc9+jvR0`^ruy@;TAzsjMirAQNIo8St)wHY-oJ6|Zh;_qub;znJ1ticLJMqJa)(@id<5NnBt?*7z zVVE&eDC1Bs2)vzkz~U8CP08N*C=Uy2-Kr05G~5>I(s|hyj;O8KbCnqTLG=ri zhz!~S0EUnD(a)a{8?qI8|i7p*y%b-&K5{%aU*$oW%tV1k@?Z6k^az~1=!dTyNp+N#u zn@ah-*j*RDObC!JArK}|llKFO&I*AbC-#xdW|Hf?FO5%;sCynn-G2m~XD59oy$`85 zeeel4kaVAvAO~JBtlzWlU)ZK5OeaSIKKj;L)P*2>RprF}_~9B3Oqcib1x*Bbhzb$K zxsR>U#ENbwm&WE#S3$iS5BBEM^%)t4O!3`>M4lVlfy+I;v&w&MbNc(82gU9~LczWO z=%vQpXRHfmlB~eG`G6S!RM6PF$8MdUx^vD7tv*P0|C?+Jzwh%=DvF_6D1(%4=J_(4 zTZ+@j<)_sZ^#g}v2_|g>aOh(G;fx5(0Dwlto)r)m6Jf)H02CQDRB=$}vZv&*W9mOl zGF7i{mJLw;lx#6j_4)kq`^$kMhzm$9ZWmkID!QnFTP2%$|DpN3X5*tk7zF*;Rqz@T zi&MV$4Yv>9supo_CYE_#-frS6yCn_8b0HIt6-~&lrT%}95Dkyou%a8_YEK?Ju%s?F znn^oas|u97fo)CS2<((T0?+OSM81x4Hf?qMFbf76p8dokcN`3+9R*#K&7A=?ffY@q)X4c%YmrUhZ(dh`HziavMe0pfA zCa*d7FXle@z`Re(bA-!s0V{G8G2t~Uj|LTVP(c3H*4Q!J{XM)!?Gm3XLK_zISAe8D zxg3#fGY!Opn45o+Oc#G^hcJ`{n4AtCJD7c7Jn!k4wEZYv*jBNw|6*M=S@UJSmVr$J zAIJO8?ZzFedu!lVau(Vkl1s%*Z&eHNlsM&#TUk|N7wk;T$?~xK2~%;Gjwod5Suc$D zaOfXN_!QLAw{og}YS2hzhjQ>{$)djWvG{Y8lFf39c50ll=zQhY+|ElMzL+T+FWB6q z@BG1;eLuXtba+vsxDOu1%_`svDMo_HexMgJk5sl8r0_CNLfXZ^7h?YX5sPW@jfQ)+ z&IhbSDhy}>2Vo15j3=}e3aok5+)K_6(7a(5sb0AM&kH#pLi9YG_9A4gF5i5$+kDm6 zd{sF1msxhB$1bT|t??K+wOT&T74r{=1X)<}WJrJfU2{)0Sf-UZ zMqh2-v)Ea_^TM&5U_ru+kVCM^%EDtFN>oBui3a7a9svWxIIRZVr4m)@;-r*7P@e2d z;W0LV7))H|fU3p=4*=+Q3xkDc`!a4f6vaId2)wUY#Q@~73?w4CL@>7OS66roUf5;T zLC#1M9{Q*=^bk+v;gX?7rDS}Kv{-Y_DYmIaHbj@0ki1gzN~Z}fXtObiK1NwXIeVS+ ze>3_snin?L{vmsfC@s!#-@uc~nTkuLi*_%EJvQ5$r}xhO`BPlzG&?U*DpK0Xz$QpjVqLHV3p^cwBvpNyb!w8%f*zmQD*k<| z`T)-)5(C@Ba%_`Mzd@f^!QmW3OfwA(zpQ7YA12SLyS?|0;EYwYxMr14{$YjTbP2zg5 z9b7^1KwO^$iT;uBJ9qE3y$k3Y&xNvrJdyW1FR2}zfZz`iSfIZK^3@Pwp&trRSuL%S zL*_j-5sJy?mFx#etStEzH+&g`x}%VAmcKlOYfsSIsIH* zerwQBqFBhl#EA0#=kIGrX}y5t5Hj8y5t|PX_#1!jzkvsWyh)gl1WxO%0|#Fem^N6# z4ls^JRsQ*e*oaW#LIQuxzU539V$jY_Xv}g}=RE!x__)xh7>59sU`-StuE@YF7V4yA z=y{kF9&1dZmD~6q6qer|&bwh+>g#npo^6)*mr@3$#)8AUilttQ!=)vmkWhr~AB67X zc3k5;_1Ldx=zDi`+~)HZ%~#1+`^W9z0Ir;3LPg_z)V9yAJ%!HSQ}TgK)w&opjxm$W z@ikLXHH%}~wkKQ!K@bYM(WkW|75(5&7o-A*{uFh;kPGq|*k?Uiqgs)Eb#mHGEf!kO;rP4ZUFlnpJ=EuN>UaB4&>)RX*UZ?bgYo&j%+=HN$6n7Ck=t80Q~Mo@(O;3} zPgLA%MY$SQswD=Z%1=rnl$dX&%`o4B2*@b_q>b{-Onw3R#S~IQtm{;w8MU`193uw= zqZMijrf3<((`9TyPngV%8CPxi?Q}>_n#jC3c;uU6#;jI3@2<*sqqYW0JZ_j)f`Q?X zwExb_vNXyoeHl}$AINEzqoe<8$42D~S5)&#Ni*OP+Wu2xiM3*2Mo3h69<6j-a#)7i z)TH88?7HOg?Mh4TaqTc?r|&1+2+nv|x|P?-@6PhfjdE>1nl(PDH9i=g4HzCiZyr9r zb}zpCkQx0FWSxjDN{I&6(ycGg5gmVBrM0r<%>?x@qBUWTR)Qttv1RGNS#jdz{=g`@ ztTy{Optzu+989mSH=>Quz zlFLn{$Nou%{0g0kJw+vRvqKp?vFOL{1oCs)PD_g1$4)7gqSlclD8!$p8-c|xf$>4D{oE*0^-EX0fX|FkAM+I-|Lskird?9vPKSKt8BY}b zw+NP~h5jw=^X#i4 zo0d)Q-+p@N*7;+t?jl@#IGcQQN7NZgtacBtZke0NE|zjS`@X9Z62LvM^Dpvod-%FN zv=YJtho~>jm;Z4Cc&!De&oSb8BP!$vLEdFduVU5*9T%23uc1{w~D_+VI4lPR_W zJ`R=z)(&6T6|uN0f{QBxbt&XT6%b=iK5MFmJuV7B zA_jqr9R#7?r`_FB`+}pLOMqw1GF)Mo9W)U1x=%Hz9hfWRW_2*|YaD7|v{OjbwQFwv zFF#Mq#dh4AmHqcl&x(`X?20$hZvsM+kSK;$V3RI1!9b85$$weUbK2lwzQ4l8i>`gm z&uZR#<;{IxGa7A61tVYmyTsvnQcoBip)2t!ZS5B$ax}a=U`w zI!nTPo~)QQRT(^I$;JZL=ZNbK}5+{}pdwD3$V=`>BL zj5TSkoDxRDk}tDtnx|RSr|Vq=wMYzkgDy~HdC*HNPt zaSqh|^C72S0y2$k+x*hFUr?uCNr&%nz1`y9ZUnAMuT>(~x=ML-WxAQisj;envQL<9!0WYMbcW@!s3J5=S+zBLN5S<4jTWU zODm~c9&cRpWE(W_u+}D^H0^*EWKR)vLT^z>lQjp`T3TzLb?aXuuYc^Cy6vC;!;L-* zeiWlfgR;!SRo2s0R*E&~G)W;c2w#N~>#K>VGp7sz22N;b2t!igKz0tsq0fa$=TDZo zC5iLPFzG8^;ze9oA79=yTMogt z1UkvFdQniRfhK_L=|Rfi9+J^XaC~VJRBwr8XU+L}e~$Xw^C`Hup4=7KeOOpQr>9@A z4tIUK1NY4*1Q3aO)@HG(@m6t{-wdeqSWcljrIDG5-OR;xo6&P}+g+B)WPbO^rsms? zC#Am8c=7rEp(AZvVKf6Y1+sBy&M06kq%NIQ2woDGR;v~w#su2Yh^l7{Gv5?01?dF7 zVP#{KDOaye5-nlna5~Rc7u{(DoJYDN)%Uy}e&8^LPJfNa{Ef^!ORSUftDnBx(fQka zN!+ftZf{HcP7C{0yM-HrFw`?|SXDw*H( z+$W#;xaOt5Wyn8vs?zA*{(|-HrR~$oRjG`u#3VS0m-a3d{&6rEERtG&pIGzQ9=O|A z0h-^v6!|^)cH{$9Vfz7^xVY>mQwiiMAKy?Nxe_^qE?X;;w}(*U{;sYtw!*JIX{G}C zfCpHoe7{ue{P=JdITLy7`LNpDv%lK&SY({xr#YL7gu&Ez!YtbOl%#z;EuWi{&(=+1 z=TP3w!`mxEWlTlj5MTd;sh5(JLS94*Z{wl^AV8-{QfLN8DXTjPrExo-A#yYQqZmvT zO0}aKM{y%kMubJMa0hZr_LEXK%BWGG$;APw#Q}-KAr{#)8~|R!Hl8KD;k-IyZxHiS1;-c|uxk)$6`+Dd7Wb8B zZs@Gux@~ZlW)S_|4L$tRn;`378tUg8xNtZ%tkyKYt>D;JH>b*{nM!9TGG;;fK!+b& zlTxIF$L^z3c8*w+GJKml+ad<7gr^PA(X0n*%Eshkvx)K22t#!EF;k#EeK_A(-W_9{ z2$tk2e}yjOsFQ@?lM_`sOilSWf=xjYf0Q!hp?GSRrl8%KRgZLdGW9+ktCl&#FVvz!fjhZ>iCv&KA+$D-$8Y&=R(02$FIK11slGnb{8A2Z*zv*fw$+y z1;I#EM@6@IyCshk8GGF(GAvaC5CE$~FTyo)pY6}51l{g8x~>RXX(hvse`DwK$9Fzx z%2erPzg0L0@VTH$pF}H{77?ps^A3sOJRnW59bPO18KwltFHhE1jk`Qt-8%NzR|SOG zSifC{LV=#8>3kyUgoamrhn*Y_lp%n;1pr`W53qG>b+vvu-Cub846fM`(!Sd1Uh)2Y z_(+83xZUA=^|w6qE%EbiIGE`|#P@N7Yt~X3yCR+Lg~5L()PF+EXdPg&GH$9VY_HLX z%Rn@Qf;kfs@*iGVMk9u1d9(4Ne+Jf(IJYc_f;AOvsg4l0wATK zDTZWF5_U&%-GbBq`~kl7pgXuU?xe6- z%;Tw@Lv4!)U~~j3r7-Q1O>2(bs$q4crra+b{o^j5ggFP_fJ*3v^XgiTKteV`o@U+XAD5KAwhq|ZIql<^)t(!sL24x586Pd*1kbY};KeJW4a{(klN8H4 zhjU{hcM*QOsIrg3DVNB}s?8x`)YQmveo>^umMe6E zuwm1Nf(U}H&}F114T=FC88#%B*a`{zt@za~AKOB&m%bw>Jc~|l5BPZ<9TI8HtQPOqB5LO_z&Gn;QzP)7{0U-|L{4~a$7h# z{z8aW`Yk*t!z4mr4m5!xmCA783wkzcljqYSS7~9eYr>|`6k{FwZ@*qo-*;tZCiH5s zceEA-$|=pK%oNaUeB8IZ{XTt|o%(Cf_QXZ-I`bL~TO`~Q;bvs+^Vz*pTNu#o-mNlE}Tv-8PudCk2CS{MzeO|RpJH%Q5Sm{gRO zYEfOx%ihk*U&(8*W>&CcOyR*9%SOT?|%G~G3@42 z%1~EK*guK`$ksvV`#oZmi5Wpr^3iZEvANjZo4JV52!7%{N$4yCqX(P zlK9yZTw~LGdWZNl;U!cQ*~BrL5>3B!X0eX*GI`T4M&k?r&ApEKo+d)xHxy{v|2;R) zi%IQiUhYY0*-mlIONre+oX#7%=t;TgDIw|!ArjpG6!_OU@SzMbVCXz1)DY)jD&0U{ zBa`O8(S9aT(T5!q7hD4NjYtK^p@M)Q7Pjfg+EjMz>{}Wxf=8SP7j-dzLnFoTrV2^* zT-^Lze2X}A`tljCXy4iirU)6}-n65`npAiWH>>^rWLYEj{(UgVbt0EzIyQTg=fZPslU>! zW^(o0%|;JBSLiCWaCmhvP&XEc_pAIxFzbWU1xOY8{ z{LzAjQp&d#at+wqK!Tgg+w(mcJGlD1FU8_X?hv+nAR7V}bdfk`f&7eU-_X)t|I$(! zW#d58UzI*Plq_Nx=_V!}mIzr=1}@xdOsNrC7$heeYZipGlO(x+gXNw^=>Ji3;pFc} z#N&F=(v0HNd0(d9TM4|u!j9Dr<6Z=f^0V?U!lA)KPTX2QJN7LVOnKV;HU4;T7(8ea?%Aw*6D)1)|0DPqc`7YXa zzXbLuTg*ASlzUV$|HuNdrFu+hDJH(sEop)?DLp|geU~{e2@c|ytW#`R*Qe5MuSJ7! zUKwV|hX_pMkrPMWhF$o&9mL-LU(O$usAP5rAD0Kn15^+uN^Ac%p2c23fpkzeGQdD= z=4S_TkPtw=>}xXK&?u68_Ia)RwjrFV`RUXnl9Nk3tC-;&bO`e!>iB&{GMGPGgdrU8 z^3P3?I>&B!z%J(3tWv_WX{F2`l+UGEw32)1#FQvV>>FSyT@Y!ZCa=-RF~msI#!*ut z($m4y(jYUki=nrV`_DG|zd{UE;V;c*9vUZkS=F7*IbhHoo}bdTS@>u}A7~o<)}auV zi^_%udw>SXADJ$PWnn{bhli>nurWX+6yu~caS!%9IjWBBQR?l| zqSh57_bHP2FZ&<5KR5Bv4>xo_)_YuRopIj^{qjlrCM2F?Es^+>FOk@p)D{XEU(k<_M2+0&Lr^FGB;`TS3{{8_cz^)ds)T3@4ayC^oU?t2@S9-XvvK!7t6Q+sLdicP z*;h}j|9Cd;%IGS0qy7!?=?{Mma3X#oAl!yR`B?({d=P=QAcF>r{8vt>tGJ3n*zmOC z(L)Z){HJ&=VMm|=C0XjgD5SU9A%2-Gu_kdwy4LOBOf^f6ZJ&eP%N*xX<)nN6{nK2Q z3n>0xj|i89m4(mF$YmWGn(_lJ9F!cnOb|5cv;#`k383h>fdnS7%?!*Sq5&Ow2S zC+Iz$F>?K8EODAN$*WUCRJ)3*{Rgg^y_@lFJ|it4UAKw7uZp{hUZj;F_+Wn~P-hu$)CBZf?O-VF zsA@g3Y5hacx|N#;`^m>JyCAW+-Z$LG)ZYic^$$W_1!4k8H~p;Uh(NPXI02Nnc_p<~ zJGm_d_K&a{Q`3f?3Bb>Yl*zCSPyt{MM|cD_amc?%(QK)J zD6D;-fp{Lkf`w_8j0YdB>hw#cEQ*+s7H$~vp#nDI-dw|UGp{U!U=%6iXV3fG-7`;L z+sSm|=hIGtW8d4~Tr$w@M_-}m^@ru!u8;^Re^2*^m+knEUJ|QkVu6<5>)ESVR;YP- zD;AjhD;po8zx9;Cn}qkb>&cex1_O~L4ksJGuIVQ>0JsC%Bgg7>>vo2zKD6t14c~UH zvOATbq0^8$E$yCNgnQNYjYeGOPt;okQa`KE@;hOSk{s70ri7=+SwU|c+@cFQP3)2;hV&nrT+#$6@m#4=r|=q2!-;SZ%^7r7ywhE-Inu2Gj@Q?Y36 zm$Wl^>M{1c8JGUrub{u*L3v#Re(Fx960)l5*3PavHu7E@aZz_07&xv}jHfah%u%&^ z_?q_`c{WY84sv!Mhhe9THtxt`G~%OCx6$h0z$E}uAqPGGG#nNf7^)6`acgQ3T+)3v z3U;xOpPlH68ss4;b!7X`aSLzx5s_5})HHH3K(fdJ6bpxk+NlzDX$#D*{HS5XTKjMMcqXf8qp zA)_4p;ArtMoyY^Zv8O^xbX7Q^(%xj$^C@@oBy8%%bD$Upkv88&Z3<$662OQo|tlkW+`|fG?tXU`=RD`A6 zjn>1mXzJuZa$~bRPMO;ROibW&)k# zfg4~g<2<$beU@?&|5XK4s?24pE|z*$dJ#yP3&CoG^G%Um2L)C-WrVxxC?|FJ+%hDO z)ASV&Nqa}{-skxO>D8#3)Tgflw2}8oqbmz*;-oaUU;CEmIaN&HKCMZ| zhItpXH9wR}2?tmxAp2kYHN*n7V&Y2cHQWox7H#0@73C8LzcKLo=n4(y(;ltzhS12V zF6+ukh8=(hENHkbr*mDfa_%r^Mx86zbxBI5)?XQZX-#~$V@#~C3(_Ptv~37ULX-?2 z#E}ZN91Wm>5tf2Ed^b}Kh(@mxPcojH`(b**-FTm?8{VQTrQ8^k+4wcHc`Bpji?&OR z@#(L=p&COb&VCxsex~mRbnJoD4xf@M9TFCwY9^mKRfmGILP{hSe?W9_G6WC;e(>45)V=G9G?wKw(D<(EUzW{XF(H?s z_~bBiwi63z-Q+Qna2nU(5{zXP@>)Mfu!Y%1pWatSNn!uW?qdJ|9wbC8+6dhkrQ)yw z&jKC!*tl$CGNxSzG~RhU+AUS&Yf3q02yX}xc_y^wRLVshpYj@bOK@6TT{8xKJBlzY zwEJ}4$|&>*cwe4N4E*Qv#uB*I^t{EQANcNjapm}Y{dS|w0O&(jR9>y`9Wvr(5T};Y$|a{dD&WW4h?qk~ztny`R~uuNOIy z$r@lnaNRnI`$u_jNiq_>Qvef@=*q*U-eBJ?%-YR^{;#XevjAxU2h=ddV6=P z{u?b{(DUZ(hXh<=E2;IzzX4@qviG-2IL})9z2>|1468(YqkzLw96Dh=@8eKQUoDo; zgLEk}mb~7!&Xeew+PDQB$CCEk(4;eJ54tclR#R*@Xh;CN9eqM^YU;^~4v-r{U_ z^a&SP11@ooZb^!L0~9%b=*{`3bgJ-i8Dmbc2VD@4cq3g6hk2O?3zR;QWsK4AjJd}O zkN$IZMK^>0OnVV;NWVa+X*XH5_k17!)N6z_rBo1lq$lUWVZ*$=S--TVKaAX@E#JR+|G0hU zlyos7JbXzFvq2mzOIirXVHGlDWr$bdU`XaS%&Neuex!_7t(wHPah1%0Y^v9(Ww~9- z^tPEEePxU;-es9SE;L7-u|=IJ#4zCHX!X+4ncQw%@;&4Hx60RPi7T*K?Fyy9O9)8AiTzQ>#>wimZ=!|jzN_J}q0C=nP-kpxDYdPfVq zvbSG&Z|`?gUuYv=I7Ix6XWtAa6FlWyIk4c1X>V0TWI$|Ahy7qC+UN9`u<4m4!2RBX z!sR?NskH14I+9W4-dOtpGs_i0P|w`(f8lr$6!XM&=T&IuWXF_g_BQNa4(ihAkcnx= zY4AgjBslw^3ga=CNW9#v5O%`nhuJ=MR9jqj8m?#Ccfqfde4XLnXws#1N9H3>mDRVG zXe_1nHqj3OlE^@pKX1R99C=pS@y_kt&+TdAS`oTEYCb;=RGppFs5LL*r*X{Lds+Ee zYQIJ)9-Er+t>cr@Muf&6qEj+hh;(t1e?%X~p#49Zt|}6N0o7n4S;@i(2DLv0?~;$0pJ@Q1qU`)GDC1am0X zFC2@mM)=1Bwme57RZuOFSB%L{bs%;B<2)2&xn9-=r_X+U)agZKhVU&UPA~k`FMqlH zrsnzZKrju8)$)$>00J~_GqgoW3hgb-{6Ka~j{urRs~o+d>`)QX$oTJ~;n43>1Kb5P zocT0K^+?n|zoth)6|jW)H0&Kzq5^49v;Q`WCY5VXLVT3nq~)-JUr4>k0<%Npfp;csW*Fl9Bl zY2l`6HEIw;%0j*%OTK12UiZXhzEAg)lYa5@!;>9ML(Ql0j+$xCnrZf$Kbjc0*Anqt z`v<+m_W)dzD8 zCK^E-)r3d2T*BVh7ZBp9I!qn+>;UK8Emq#wgFLUUDgw@h!P)??<8>7p{KcApP4z~4 z)dpGhS_9A9F9g;#BvvTud%ac{s$QdicO!qU9NL$HFcq8eO4a*lw_1*aP!*Cm8+q*} zq{u)U?v1r}M-y91c93?KtIz5Czne_U#d2lIIQNe@(DL+T#n22MyOr0^`&Ctvcm~t1-%Js zb<4dOt0(Gu%j{gTKS)CZ?(0a_oPRAww+n1;bhP|+|u8n10<11C5a&?UQ4@v?uc}n=dYyKq7DjgA- zC@*fQiwQs16fzwayoNmN%dd{-d-zytOEM4k#!YEY*D1oQP1<3^w&mp<>|CGFT;K@eaE4_IvV=Xp3BDe6VL6bW2c!UZodV6F-qx@kmId)+`%;n89^F zmhD?X4$EFy)nZ^mXa`)bXW+lGKDmR~^~dnpUbZv2Y9+?nQSFk$G&iAHtb{ z1@dB)=oW-B7F?bm?O92k+5)cZpnQ)jHeIArU&w^RYap9Qt`L`Jczea~JBV$BXRw_1 zgegs1X6?R>84pz%chv^dQN&Db*JAsVr^pM;vWDL>1u2A^s7E{b8Je1DU(54T7A7Nt zCk}P(XtXcG%Uz32U8@s3wN8a1@0h1OVw_A7=9-ZR-vn%rEE6}@l`n0JJb#;lMPJ(u zzf*+lFrN*jW=qRw6+Rh9Vd`~Yq*L|b2PUaQQTs(DRI|kpJ5dr5jZg)}uJvI`$X|@4 zgpWtf8**}b%})KxE#4n&ArM}ic&-Oc*jC-**@GiKEDA4MG-$jF4!kW2xtkFJxb*>D z;GW!qCz68Y5Szq|q{f}0+FBkKqem&_V*Aet6RS5+z#mq$&mJklEbB#_mL)n}R^2`y zfi7v~SOen)>PcAO&sEuL9Jbu16k*QTnYdaR~=5wA-%R=$4- z2{B3KZLSq^#Pc{{z8f>_W^{|vu1Qd7$k1*MQ@P8wypxj8Vj4R+|1qoBaLkc#j55g& z0BO&5%>|dd&ceT}UF=IhJKw-##jin{)v3A*BXp~i%zQoNydzAfTk)iaIGH;KFc7~A zJqyeAy~9oHy$x)$O>DCbT#NOO=8CO8VHX*V?;YZsyXD96R`C5PAm-OkxQd1pm;9e;sJKT+#1Wq z5-vV5q|e7rk*64Mvb{3F-}=@8hX-vV8+FH(%IK9Ae2pM-JJ zlRlYPw+lsmmMq|5SdA!0LmMh9*Q>EzAH-ueAgR86`0W&}WB1#CVS96+tHL*1PP5Xh z{^o^>!;ou$2bL|egR?4GRU9IsnqySukIgP%&$VFoXxN0VM5=wY01LfB1g+z5=%|L5 zBu&T&@0BihddC+XF5vh5{}|(NBIvYH(Xbr^v3<@xWG3eGEO;9`&LyE)MQ^MpU4Hm^ zD$ISh@w}FeewhAT^|TYbB6nI^SytKBk$txEyi1y~1`FUmkjzD+by+ zA5&<0IOE8yKn_z2T8OHkl=v3-^mSMSE=COh2=-U_r`Et+{oG&JI7}rFi{+mkWL{$6 zBcgvan=Q7_#4$Gq=@Y4qjvcQ##g&dAun#F9?UsVT0a2Oy^L-~j za;+8b;di{_J6xyUde2O_MvlIJIMwww=gF!)j@(e9{gIAJNShl7Pi|M?t+J*7+ z=*Kc|Zle+czzi5zN%M=&8i>wfJXdsiKI8znAA~`$XZ!V}A!Rh5PU%9z96w;;5tk>j zE=1&ojh0=Hep%41UPz@g<(Z+rFpG2{e6Gm*y)ja=Hc{t9Q07gy;Q79rK6bsiCdFU9 z>#9$E!LRMpt5u2d+~M3_O?t9&Echq{f{3C`A4mr)gqZcq`!3dJI`naDY}7Oa-Fc}d z(PJ+o=&*BY-SC;n%J;H&A!P>u7%6L2Axvb7Kr$T zDSVzM2WQ1%Yv3Jj4)#$W8C|rh_w%c#BFe76_btO$!uT&RYv4B10{6i&l;}prW38s0 zE|if2d7g&2LFqdSBFJ{%{agSFhguJ(n|sl&m|QsO4aZE1(+E7}iJi}TGb*HOnpHH- zaKcHaU@ZX=Ky7@gobOvKHAACgWBS+;@7MF$Fl8W))A2GQwX(fsXCM~m;Sg^L5<$Jp zyJSXe&G~`b{GQYNj?)~C`vjiIdENQB;$VjXjZ5IR|4!7MU`F<*va^nOIe)f6yfS*L zPc8EXEayCep!X944DdVZX_iWa8g7YrE5S3vii2$H}X9A>}9h%>i=I0U<=+D zT>lvj&K@O$1@e$-S-M{lpt4lI`9W0R4twJGMt@;@WJmqOM_&KQ_AkeOPJ)76wy?b? zR=hCzw!!{wLvGB!Q80XAI)Z0LPS`~K$6eXViS`{^?TP7Rc=}n&q>*=b$rDlKJ=xky zrMvUyKkJVDd9T6pmHyI={?gZE!)uhvAL#$t6;+PGLrRM$OTJ~iCT+;mdl2TkK_GYu z=zFJXX^jQ4Ajy>F7m1J|)XwRJ9J0^-m^RQ~@b#L!Vg!gBAuGM_{VodcYZZr4k7?2p zm~)+f42}Q%$yU<0a3i$>Q%wWcI~IVtl~P#)w3&^EEOK zgTh-{1=As}QMZnaN>&yPJr6!a1t#*{9*1ohrT#fSh>vUxGWsnp@F~-IJZ+skTd(qZ z2!`0YdDS?N&X#9>X@8l8{AAc-cj(v&`gfc0bM*e)YkTXE<*mhgzj9Ucy=^x?)3xni zZ(%8Dt=Z!t@$%wnwO~O%v+@1kUG@Um2eL=V9i+Nl4fu7nbS%?-vH1a*ApL@LdNllo zh+3Dqan8dAc8utpg!sJEGuLyoB9^S}d4FvM z4{hXmX=@EbMKWt@>(cTH{oBu1C(F!y*Rd6zFYjIdDiMr~N??b+y_ynS64$PMH37r) zF22B5DkQw!>K&i7%+13U0PD?;+xO=Yi*_094(D^rawL|MjhVvhpo_WbU7D3u^h>_m z+57fYO_Il7+r{IK6Ch>B?YA1a%S1g;=hjKf8PVx&x{ZeGrpg*fZQ;pbtp0G%GI75% zF*R2HZWjw$>!KRf3l)Y;j7my*tq0<69w$!vIJ0Vyc}DqjIePV;Z+mvKI#syas|lyk zo#Fdv;a>Ub5SjN*hdYt$sN(Pfi#Lxg`tp_bSTGBw@T2P6{o#scL%wh$-}!MAUF}B9 zVkfSC+h@j`Vc%Q6FX0xVdL%q0;RHG($WS}M32d(szR<|{P;jL0&5^!>-+p}*C=;i( zLmcy__8#WmeSR~}yf{2tQ&@WDvVY-8Vlp&t@Cw@ahvRXI2cetVj@OcA@O@iH>5T^q zIf1YH`r*%%Rp$lVcQDx`AU_TS3HVNab5&A;s+k1l3_7CX02#NIK`0SkDV$-b{MW2J z1kx#jK{-$9uG1T8bCeqzLTyrAn)YlRbZ!mHm4&5Dk29a-xp#< z`IHdw7}1#YaCPbg%O0DrW^g{5vxp~jV5>Yks4p{2@0Xg;8~iTMP(3e=nP=%wDQ!nF z2^$7kHRCCg_Y}%Q17DEn5O#K`7gef}hP{61v3C2|{?K{|sSRFa5Fwu;e4Zj)*|HXo z^W#~E-^}{Ze!zX3vU){-@|YS~y?88EIrVIi?b0qv{1j^OmSX%CWGi&WHZ4jdd}8sP zCLq1r=qGEJ??*RjT7RhAkU}E=?FHi`sFgIPb7mJ{%S;YhkRM{v@MCJw970#w*SjCE zXws+^vl%V3u2H7?s0yzcCUzI6c6qL`(rvNQ=fWU6kcto0s~1=g_zSiT^&vtl5|^zC z_$N*z?E%$mG*KJfTCHIVt-PmPU%{jya+hC)$V??WXwcsMPha};eHtAvE1C5>F+J@HR%#zPSP>IR4BrJc`V8kdd!skYKa;82fG#iqVo>~1NRY8E_X?HPl) z?X#W-%#W9pABRCLAiozd$&r>ly~RXEuh-|)P!^3-3-X4_zeX`{Tzaj}O4lQUP7W(uJsb zYW!+eBsaVdfoAM%Xzf5tlbqR%?WXL+c5CPOQexOmGcNyT37oPL) zUupZ_c})^(LVThbf;D)*&!|3mB5grLJn+&Ffb`eh%&3Vt5VJR!qZTau6shU&l-q+-(XtJVL@`q0OM9(E(mT8r;D}4B)rtB+h>g_t?p6`gj z7HXF>%mfpRZ7x)ycIK=#hU+BjGaL1P&IH7xAoD&@$ZxOTmadpR0!YT`ff&kHV#q;# zXVh$-3Su4*ghm>CF3*%E=$nPVjzpIvpA2P#JL-}qupGP;WHk3y*oPk9qoYQ~Hl>`$ zmkGl6l~uREh$n!>AruV?*32a;o~e=*#pfi5px%vxW|IZso0CP>;7Kl{lKJm$+#}_txyu9e@ z;dq0~?0$nwseY2(9Mb7WU#lNhZoiJsPkERW#xyU)Hq z&*$Q?kO_O=Z*BB8v_24#30hg%wA;6C%dS85;-SBJopz-xv<0C%sF58YlkNXoaoiz2 z>=T^);8Pp2P(Aw4dpSV{s`m!Rj;Gc)JS4)K&A!2?hX(&UNRh2rv2y)c*IMwmG&npr zC1IA+)UGzOhV2DC_aT0itW2G@NEw!1jgeLqH-Q{wR5?Tzf;eQ^I22jV4+++!wDWvg z1)ZI!v4+8u3>15bST`f(a?$+iX->i(-Iuq{nJWyS`otlc3S~vTe6rSovSwUW?@t1aGQEbDa0K$3@G?aQk?> zJeh6yED8;eDkb{VqqI^}p#d`rT}Vost+ovFb;7t)u!1c{m`6a?h92A_}<@_p7 zK|dQx_%$nN=Q|@s79xd5-bXHYrReV1-AG@z$4?y}|6t%H{SY5!&6(iJ86TX+-9D0w zv|>Q)E)5;yq8_WK9C)DaJ{?a=wFt6H!Rc5IZ--zwrG1$HpHym5W?3$%A#B-%=q18? zt+LkC$93=Q*Uq`q!KK4Tvlb+(mGhp_f3oXmfAMXGsx+N?m0YRGUw{4UaKm_ifC7B4 zIK-ik#n_c^xgG}@?KEb0W4!m;O>N(6ESrjc5)V5RDo8R!(zY(-X5q6aGdg+2-jeOUJeooP% z-XV|57QoBkhDU8C5Os1mqW&#X`8LOEDyu34D9jGfP`SGXbCQP=7KWu-09=!>*2&D) z$=vp?1CQ+lxetX=^^-|%>}t32-){9pZ;{DC0l1x#ifs}~Z4wcibP8=!QO=(v`9JQa zA6+ZfHOaZ3mG3MG)HSJTtd)|#i)na~TuXJxD;>L<4&nq)(xK}8A?ge#Y!1b52|Vh| zqA8(i#F11%g#RWRjZ42RPKjPQ)IB6|GRk(hKMaq2@r<*lO_B z^p!f2S#ejBifW!ZKSMUnk=cGbKM)QNE}{Z4VIC=QGt|%>1+nkl_!P_pBzb&b2O8Bh zxeL01swOUTW7Fq<1?EI2pbzp9lE=v>-}yc|!62@n`rp%_ip-$h+e;&&>p;(g^Wa}- zeCYV=KAer-lnMb(nc`dT-aC+t7IxZ7*c#8Tf216;Y^;4}^~gekZ13g9qW<1uA61Ol z9{yG3Pek%K3_+iOyCACo6G+1Z_=+H53<0b!?6g7zaqn>3>5e8DNPJWsg4=@)8ZxiXU;#DXFZYzv;E5Tms4vYvHS+hn zdLt~U%``E<3XBL6;0Y9|c>wBScUWl*P}7iX>>Naq<2rG+F} z=JZx&-m;zQ{Mpq?;?QP*WNwdi?f}R7X4Gkip>CIs7y^hJO`GxeCXpax`t3^5rB{nP~@@_&@!k%YsV>UN|0l*W$n zEsTE{7{LJK*?@0wW8i5`r}-FHZt*6f&uiUdYOtZVu~Q##W$(X@a5s!3D4x`|Ih7B? zH!zl|)y2pO4l^y!F!c@yEH6X|k8+I6#Rt`*v(=$@PegxOnRLEh6Tcabx)Eak?O|=& z7qt0=SF2V@s^?bk_O$;uUQ>2Kk52oB3()eZ_j@M_g@2f}C>W>Rl4IL{WYQz1VuNOa3K!B+3a?N6!u77vH5m$#00 zYCYT7j81XuM!=M0t2M1aX_0^e&6D;IKBFYVfQfR|HO-(ULnNmxV*4y?ZDr_UL~T|& zeE2T{F+o&CGY)1l$tE(zdiG&n-`R5N#EaYH^V{@VYjhfObSm3cs$TK0m$Y|R9I0uT zQ#0C3>8hjJ>__javJ-;NjC|n1^Tm3USX2&WJ zEc-j0kM#CLupGHRPp*U8Dnc+HGN=3FgiY{y`1fiO7C7fn;;1nCU5f%Ao$3+?BOO;N->HOUs+o zh1$(wR7nPL0L1cN5=Tyz4*RTX8ak&19UoBm@7n202B}h3AJ#AutOI67+E+wba@hRs zfP*c6+^u4{tGIo)6IqHALW*Y{Xj7P&rvUpQ3$+6Xlq|@FQ$uX)qnE5ns>i7@hxng) zQjf|T*mQrIf*OCXe-W?^fw63aVVMnU9ZXK#@7X-1AG(wNLpvCsc$l1Y3^Dah5c_uD zkl@OpcGWuyp(T9a1WED{|Fd@&p=ewt6#bC$M6cciwR6Mntp4;af*?Ex+Tgual-c)g zR8~YB=%^o>1aBm0P`>}LVTwN3!984`pNO@_3Eb>^mSSL8a`i1b_uZ}d!V+!=0@kk$ z&_!_m(ne>|YfB`2k4S=Ch-Emf6v7*{5D0A0GFT_zagBaWA-8^4z0$4ODUgxj@NIHO z26QYG>n4b8{MNydF)tjFWW&+IF+@Jp!uKIPj|_c%x_L)YJAJx)kT;J)COZK=T7_%U ziD^Y@DrmT0}}*o*UIMN zISo`c39|f7I}I3Am>nFA4J)!D_BW*^D`pv;Ni;ngMSz@W2tw`xOzv_Ta9DAelA9xI zG!&7|G~^|plU;eqi@C|~)J+DKVG#khh>9x+9VKk;Rkp#^m55#yLVfzk{I0zc*Hk3a z1fe4P-8OTc1j{(a!R96_>q+jJ2lAu8QFTX>I^E(w2h>S@ZN-c@ybfmDXM3R!{iMN= z4V)rSEC2*q#SUc*oBdYzSyU$*L{)m>12N0}_{GLu(qZG}HmS)>pw)AnNyHxqwdP|- z=sofV102c008<=rz#9s0`%P@>?(8=$c*(5*D_j*(muvMx*b*D$ey$+?d057uZ`-YX z*FG*W+_Rf4;Q3|nOeT22b>=Ocei{E0izh6%XKL`u$oH3uT7-UAMsS z|7DsFq)Y>$06S~3%@<)_jpDqo!tqd#hyW6Ej|{x;3e1+EFDLMexS3eWwhV@4Apr(P zBvJ-81iPE#gHm6}WOrcY)bB@aVUI?|Gtf`vCr4>KY%oMLUQAImw=cTwb736N)C+Gv zXz%q2^^#Ze7a@aS08Sd$UMA0;LHE@O>zW7ZVT19H2xEC7YQhZg4Kdc!Na)*N3@9kT z>gkOT@D&uPl+l795h)Js6WenXfsmGU_)IH!D3jDcj!3zx+DD zA41sLm%^97+R6kmwLaW_j%^&A0Kh_KU_EQ2FBGh?CtzLQOC8t7Cl|%A14ZJ$j-1nM z6H8y_2S8E39jQm#*#jIL^q2a}+ZgzcokJ4z7<54OZu@sL^^0#5G;G2D}qiGkREJrzhZeIMJWbaQds?=k)FQ z06~Na-L77+ZT;U>?hE87OGERG@W1%-!^-nl>G4I>%WtAhS0OUeOTv%Ny{G`aqwn1% zDc)Teb+CBO#~3TKuY!X78vV<>Rg=rzaC+ z?M}R4o$G|>HVG!a;h%hA54CX0XTm2kim*lC;k=IJi?@5cmj~gL&UF#5#^6Wm7#W-3 zQwuyBmN;^#@8zY?J>Wk8KwHW;!HJS|H!Av;Mlp1T9JGeq-{z3@s@nf*($|qQnWwHy zP4x#?nVwdRgkFulSe?F9wWRDDzg~c#UX-9-xw?L-o}*s*J!f9+$smhWT1$@mNz24C z|GFcO)5OB}jE)lb=aT#4(w4!>qd9{GK@XLiBZ;V!8*3@W(r;<%%%u`>WNLwH!Zo)= zCdTu^2!PBodK=Uh7z<$4{e70BbkB+kE$S_wC7dVH+a(h4i9HxIFdyEy_!j~Ce5fQ> z&U9gdqe8_IyG1YohjyM3YvE=Rp+uf!tnZF=9WQ2-<=4a5qw9g&VM&9}OzTN0#>AY7 z_?(#-b$>*(rL!0Z)DpJn7((af#aH-0dkgt>#0))l^FGq39ezkby_$`fU054&vJ`&=fHv ze+6Af7F|aLRYx{;g(lXfDkcwY6i=6gC;(8R0o1dSdH=s@xtY^5 znsyC0y~GjueTmTbh|s4M(t~exuYujE2|Q;Z68acYNVsAsp_m(7#1in)^SHPiTs@Pzl(Ze;_@&=E@V&k;U$Fzj0c(@gAy@u4Gvg3M!+@zBpG7uV?|4B zQx2QGyV}l-Mfc3Yql7}wej{F4=?j~cL|NMh1I@v4>B&iH0YrF!f{9-=Rdg;N%ei+my6A*zy12hW0Cl;u&tyv@eM{zHDy z2lK!W1pzoln*gAr1b;3@Urr&^=2>xd*VcTPi@BhK0B8CJJ+{m_NEvQJxXgrR4f7~? z59R@+UnYH$p&lXS2I(=lmkk(Vf@kx* zZ9;H*@_`2wjUYSSoO|ir$P>n}hiJ`sXnc#Pe9lQpt4m4L^75s|bNT_HA@FBX@MXfk zK2}C*{RbrD%Pc?PtFlQY4j>aUdjhZ|S;D6MkWTui`O%7fwwCMpv*pb6hS_U>S~O`5 z`%!jL0wOYisXA*CVqnhhlv5d|{?0p^2DE6<@4t9;uwCQQ!*KE^>dw_uP7RAL{|1{w zl0A^lh8)+67+(E(RFedHmY!5TQdO7L(CXlyRz$LhzNWm{S8ULw`(Q4!hgI6k{BvJ_bht^Q>Fhb%d@=mn2CcSd zuG#tB-$^;&lMx!IE$gS}(tV=Jgr6-s4NtPeN{JCXnJjC1v9d>)63j(Ue4JrQAA#Iax~a=j@`g+AMF zZe68rvtgW(;RU33U`B-+$Z>MNdpMopF!J6Dvp$yjY!y50Pv*T`T8D&yyY7S`(W0RD zvyWF`*UN@A+a|Z1d->rGloy}on9hF_8*>Yc1~%NCOac``0?)?=3lV337CnzEUEDgK z=eO@HMqP~;;J$}SX%iKB{e==KT^db6&;h$h^RyzzYgGKv zj~=3f8DSFL!zI5#7S^c#*Nwa%fFp}AGKJuG7ZSv;9!yU!g`G$dQTiu8BVAcZQ=a(1n#e&OYU=2$KmErP)gNI7Sew$qzt{?$J_ z5lEj+heU(TN}!U1k^FHYvstU_Fo=aK^$($o1mD%#rQ54DmohKH;N=uiYRJxC2AAp%Z*W#8XA`w zI`B`LG6~*amI+PM-MqRWmydGeQqjP7fB&w#SgScn)=cwS{{YH=i`e;EF}`dOCAV5gNWn)<)2U1$!37cD5vs0jJA&o z(c|*;OV&F?*?|8<2t>NdE4(~q(Sj&g-m@4%h4i4D_cpBqg_yA+`@JE$pzWL45aw6Y zE&sJH_qi^<`i|MW_ua_we$a-sxPK&tL4q|US#%6KT)eOdsy-k4(R8Bg!nZm#F`ZBQ z)g>pq`i`ng^rSqV9|~Ei3IZpE$CUULU>N=LL`1 zcALoti@5`-tB3*>yCp|3S^vhZei61-10E5Fw6wzJumk4}6 zkv#a-8gr`>8c+wr$ohU61>ATkUsnEkS9fgrGwl6e3-CQ5gGmmzGnwT~7L`m9i9`{d zL>dNSndaM}UIo*{!sSK}5giU2Iavm}SX2qjm~IxJ7@Fs0n%Ey|!v_+~ezh1>)1RTO zpfj67f?VN6+Af@e2(34LSg2=OLLI=1J*wQun^!6I- zvna675doewgj_+5jXr9zr$J#f(e$^{P&GkOHA7RiQc^oX?G!TCy?TAqX zJXT!m(R4V$e;T0Y9uZXKhpFnKbwJ}j(3D>@5PK(od;Clynr+}!ZR^!sQKc$Hn-0b6 zzfIi#OKGdAuxgD%(%+G{n~(7lI@lGC$OmV%(-z+w3u`(w%Bo-TOP55$?vfH~nI-;$ z+z(z@AlvSmoJ=}9o$^3^9V|7AKKQ;3siUs^WSqC@*4<>$nUBgp?m~UxCc_zuuXY97 zHjK+FaRdQaaO^T4ouK6#pt6eGuyH~POyY}p&G{9BBGvAC={$+(nh8pqw5(cIj$2!e z*1g9B1J1o+H{yasBQrnuxb_ER!+*s^H&?=&Ns9(Vm;f+c2<&WA5w`{RtZ-x*PB;ePA_@|lpn$0M#X+5 zTG8KwWpuL6p`@{;=jOhFcgAzyw0x(^x~fp!EgJpP8g0n_qr~b3}!K??|j{zt}Q%AU)8bOEb4UI5g+$^-PP_iSg*|?=V<4W`^Cf1;B0rc z-ah^NK3I4Y>-BT&>yGOKp73(p^YqT06uUZ&@%U4Orm7oDLQlxM&}@UF=qkgex{3i~cR4)k^W$XtDM0zH^6-Ljln8_sdK zgUJ99ufw-WSwbK$#n+HV(EGA2Uu#`(4ZAnVT%?veYm6PXX0A}@Smmd4K-w)`27U?) zy!i96mMm*9v5B;WadFiWzBOzDZj@yorr3_Oe6&ocxDidFOwkl2V>cz`a$NF{5os>t zyyU5al{9#{D=;p^B{zg49{wRGl#PHKE39#;BS+thLG;2#Z*VH5#CgeBuI4ls6G=@1VsrPu zs~0XMQ#)fvP`!8-o>g)hd_q^=p;|zf3dh~I*CAkhPtKpW({(X4vmu#^WFB7}A(h0H zT=Vr*#@2x5wAbKpdTrJ zF0YgAO4rkO7)zX&$r6{$xr;CR-X7jnEIR8yTI#27ficvYZPai-Mg_xY_;8;+s}=_+ zOh8$MQA%*K-XU{q_Y*ZB zeFsz4#-ugRT0HL>$Uqo0s)LE!h=|vSn9xAY*b(2>VH*JUx1yZ*DmU0KP4lNnfx?=@ zh~T?gb&8)Pzuy-{B+gCL6hlHvM4$r^jPODOrUHx}sZ_jn0@|Lk)aDrccG5BT;0B!F zn<$@FP++d(BybHBiU}@f9)-fTVZySFhBfIOM{au;$Q;1M-B;8`%5ZU{D;zXsHj3hl zYfBY;Z4;au5p{dLrC#HUcQzVCd1 zyos-_e;^bk(B+8R1$5c(4X!wBec6Jv)S~hKSy!!@YHc79KX3+nexTv~jU^K6Xp^53e&QGf1-B;qlgY%$iz`!JWQOJtlGABn z!vz!=O__=1{my6ZUHpr6lF)@NFK0QSOVIi+Bu_&Cw_;SgqrmArWd+Sfu_Db8NcHn7l&}}2sxpTt4eZsz@+rI7Np%>T0xnA8MTZ5*A z+g8S>O~W^6?v|%Y`+FUW!@7~~d%VqM1d}$KMAnMep7K%I&J>P^=k9zS^zt$mSm4)< z4e$#K9`bE%GH5y08UCFZ0pjhveA#VXBwfDm^&{(;)OqQh;7WC^1T%pfg$hS)AlkZx zjTMj1`s4Qii=hRu0L1A~#ZgVydo^Iy?u#Iv0%~Z#7@47uI^8-&g=u)?a^nds4HsmP59w zX-HqMzc{$y8yA3kxOccbkFpsJbFbn#vH!MoBfk>yGlK=x;B%MTzl!$AbIN+TfZt)5 z4L1IGF-{y|qj!jn*-fg@m0ga;CFuL2c|EOmH}lO^O~qBUDo^VNUsk$yMO`a)bs=^< z+;=-RYddm&U1%U5^WpadgW3d(CIlH9tW$h#WQJt5`566d4EOLN`F>(Cp7fYEpZ(p&TffORDkkBn>nFVMbW8){>C5S`4C0} z)r!vdUIiOlWyawWPQb7p$n_h$ri;@lhR(4X$*~y8G@rmUp3b!V`xRsYP9&c!oW#nL z8u)J3^Ew>(RLbVa5cVz**3ye_mB_|4o7AwF)UlY9p^#@uq*kk7wM;3QfJ9ll#hCSn zvG&golyA}IZWoL$9U6UKQit9erV-BgFi8T-z~nTbY)7wZj>T4xYoAfrjxwJ~9z2%|G?xc59|)JJ#TVC5 z1IJM9=vo=Atr&Fu=RT(JSnGH^IVVj~)KUde zFHIFM^cio7Yq7pQvA`x0u4_apPyuR+2Ur;{(Q;(xkbdj^tNyF1#_Lz@S7JI)B&oHy zAammP(YRyUzvty&QHjOS(!?Lqzu^nM{q9zqMNs_gsd(g?US&6yUw!R?%TC$jL^g(s zY$55JU6$!btZkT4#-cQxSSSzWTiTG59vt4>_P3!T9m$3ZqR$+mlMST{#fcm2CySQj zn@|w$Pj&rJ2bS#tL!3*#u#4mxNyHj`ul=P``pdZ1XgfU*(sp7J>PXnT%+28A&NbJ0S2hkb+1Ri++zyTZ!VEo4k&-^scs{>CvLtg$b z`S^-b{Dp@2-1KIV)bQw3?C`3-mt@kWUHDU}V@c}P(sn0%tWz10zX0GSr}aSM!BYHT zLg|N+BGV_SegXtmO9@ts8>@-0thQF+Q19@*EbaS-%uwMuR4Qu}!xz)oznkn7pq?R- z=a78q%$H5ie})J^gC+8yK>TGg@nv$_R!rK_mtwQVJ?zFl2+X800qGnBS!afB5T2_}Ic5d#sZ^1d7>AG&i-F0T}X-yz;^S$T{A%2Wd+CnD<5v{lLw6we)>^8CV zlzK4V&HS$BVOOg>oM?rD>N@YKN9#X58Qod}Kd0`Wo-%-Z>#{pcddD5EU}pwW%~MZg zdGsL*^48nvcsJZ>Yt8}bXJKdx51w03O>{@fDh^WUM@|!Sg*dxHLG4Vg?|fl7hf`zFaFjfOc&lu@U})@ zY~j(J*^tjG&W|?)DFf8#wm%S|Isni>Q4#=1K-;C)V@2-Ue(H;o;f9UR+RU1|&&|qy z>|k^P4tD(cy0_P2u$%zy#=HJf3&*`EE_lP>BA}fO{XtT27}dLG9sGnFf|tsey(D~a zN7&9&>a@u;?=DPsLp{GETc*}lUCoses#eo${X|&eK~&~sICz)T|X~Q4Y^p4u27G!5gL~t(g*-3Z~c(>L|Fw8-HVVlw4(T( zuuXiiie_RV2xb4I{zT{0PXIxF$?QnTq;#H+vt;{go#gWO`S4l#_`>OUnynchiJ><+ z08nw#YTRJ}sP7d)M_Bd{^I}4>|8w*q<=o3w2LtEQweJ zSt9{GR9`I&p}I<2W2D{W$PB($ri@i1;!9Hq{G-(hjIL7 zi%2iE0g&2(sC0;Y5*(!tRG3RwV8bMATfE)K5QpVKN{EFnu&-6^@U!RU$LE{#oQLH> z;v^DJBbT!;FG&F(>=8(Ikcs)oa^IQ#G4TwF89K-GKdA(zW{o6!_9g3{_X(X~_^gpP zo4Cjpc$?63&q+)#nicRE0dR&nIe9erk?=j_ZHS0=pL=3Me`N;MIf~&Q45$j9nS|ev zNG$hVGqz8!L%LjX1C6D>?G|C9$uNoE$zDk65F&pdkl}9>bJoad=RkfXw^d_+Jzna8 z7Tq!@m_sEXc_>?`sQbsB5x2u9qUFpG{2|S=%|hN^BKBFpv|$miatW_i0jpLqs~0|- zgSh<}twR|u9|)O_KPrhg1k+F**YF#JY(kL3>-u?&zlYm>Em_3goJmn{PiRsxT;t5g zg|RR7YZ_Nx%VDuyz~do;USA;TEa3MdSat;OKE;e(qW@e#vQ(yDq8FI-K0!>7EhZt%6uK4%#MyFZkN% z-h3?je8QnnLoE&eHGuqK@=U=( z(HzhcI%Y%!dRh;vAxv{Wet6G};W8ojLr(T>m`=+`61_IeoR>yL9}9BB^8CDneD+}g zN~Q-angRX2^I0bF{SsBAD{ayfc!vj;qU9{P^DbvB-ZpDr4Bz8!UEgo~Gg&r+27P6f zprENlAZy`zP%vEpkQsInhGdKMKbp=txX%B1`}c`$J53s=vD&CXV|*Ihw%Hhslg3Wt zG`4Nqwr!s0e19{~%xlifnfw3U_wHVMEi1GnAiPDh$A{b`@114Dzvw?%z3W)EYdH3a zuMhyR!T?~w(6E7MV4uJbE5}g4C#)k!Rzb0Xv3L$s`S`l@u1Ny*d9bQ&mse03jO~Vp z?Swhl9JH_9-KX2zw_vbiYnYqnaONfUAZqx8{qu>O`a#ABver7q)2F!f9=Jnpgz=F* z2Bd@t16^l4=paBJ4~e5I8JH6Pd;<;lWG_P{-SgKgS6s!10l%}eq(WM*dtf>T9f zF&FJ8#4o2zF)m^Fu2J}!gC+}31otGGq}kqq_==OaR$DJ?+wdEEPkK?;-$=#3piv&q zmV6sZ(DM%Pxkh{&UNnxE`Jdvknc;=~8G zUsjZU`aT~((n~A)WfuyN>2@J#nfCA2e-TO+4@yoTqYSDATuk^Qcwiyj=8=f3fv3~w zw#jZwVDIDmwjiWDdPjHuFae&HE?=_&VZBKubymRp$kKQ7`AE*}^|tYG72LGyc{vev znp`?66XE2DX1%HUboyxK%GCVfWw`sW)cTEz+_Ya{EZidj_nMP&Z`u`1+sP{c#%uz+ zowC}gownpL*cd-~JIMACOuNE}vtAV#E6entP1h*tz7>nOFX zB>vu9?681@E$rePAJhP0NFu?3f=JK&KuFQDY+Y>14$L)2ybyAqcxzy;fR?kMpZ)X& z;YtjNT^FUwP@9#yp3=2@37UlNXluUDY{Bdpuc5FCAQ2qW1$rT@+ns4MLO<9{^v?nR zD^LQ#zu@%Q-_T6}NHrq%$iM5_5$(&42ssctUZJ70N_ON`PDaC8lcyw&Gd(7aPK^-T zT7-2zM(bpV(s!|1e_tc$P$THF(U`nSA3voQEwwhBsVAIS1cLN<;3!iHF5Vb>?G{q) zmLv9$X2iU{AYEf3ZF3@ReY~Ign4VqioW6LBzIayIs9v2meLky4khy3aHh%Pba?_PQ zP;8Gask}c@>KOKIheQpMIk>-lH2vzqYz>lryeoI@k(3LG2Q)P&dC{2EE^ept`1PIkllUGfFsO#CWCVg*Mws? zRbK|^-V_FgJPnN3QT737;a-T<{?(kSy|RSH$ltq20TOj$>^%1PrqG~kTqqw6*&c)F zD=NS~=Rr^L9jpe@erv~}Y<;z*BjUox> zqFMu&am33k^5u5cLNm%rGr>+f!A2(o%U^~AM2ukGh*(7lvUS`Mpb3et0;-AJ@8C;L zGjcJRZ!+L-kOO9izIrB@qSM5hr(&35K2b0Q^2bjbFJ|Cgd_BMmm$#dq9|eiv$1F*( zAWk-Q7_|(#uny$7x>)uX*uanU_ISdLVcE((#mYU_$vp&gUg+4gt*o@8q_mx^EC_p` z37kb^^Bih3wT0_D* z3^0C;vi?IPo{lyXqN@6!sMbpj>f|=**dva;c&_JKDr1pT^M3?*6bl3~UTF z@n1jtAz>1B3~0pAyFtqLD2$FD2zuE2z@I-cVc{{UHOU2kLUCvMiMGwl^)K`H_6jes zat=wYkH)E<$E%UvHmIDfgxv)>3VAte!bw$#aXq+`ez9?%vGbgzQPh2*yo2a?zYIK@ z=Y!*lr$h}5TA}ELnqRG5Z$F0TokC+4{inLZgSt3M)p;5|ZwzZVTWyY{hpKMU>FBC; zH*y#NC{GSVCf}dR8soHjN<3C@-p@vhI z)k(udGb|8tNkqQOfa10nn1zw;Y%sNU_q)Fn9P3heVC}S6rICoOwVi zS00m|wra=KxM}U-t~B!*1=#w&DpZw|}!2NSAB& z-WK|ZS96KoYBb$K_=iyJHc4OH@$aX(C-GNFbl@`6ITtbq9oiR=-MpykI!VJS@@`pU0D#rQSbAOFfNmFHztHTN?u%h6diXI z4VWN?3US;;hC~vzFVNzGSS5JmO3ZL9|C#8Y#ninfvjVwCRjL{)XSbnFt=SW&p44pb zIX6YSAf}}k8EC&dV5$!NF+Ul2BQ_Go{(9-7Jop|IJ)8vi9O~FEt~XV@RAvO-X5D4Eyj#Do!|24~{0 zDJ@`3;V9k7;;Lf_+NM%E68f}FiP}b(j5A@a@;-abmi^AQ{^Zku2JUBg<0-AOQQclG z@1c?FIRQy&zb$THX(#65zjufN zIIuMl-i`6mj3H*vJaVrXbsq}#uoSI(rHH>y!9!mtg=x+WSZ~$)FE{HKQdP?%qw~S2 z%v>BTd?}+s1*4s*#7F+u$6?pQ(TB76Q+|ra?bx?g(VNSNy>CeSUZXf(qx-LnnC+qa zo-y8wUVE({R2*<Jz_|j~ENXSEWW| ze7;W1=o@JYqN*;bU*jusN1nJ%)``$_2<$weu~QK+gK*D$kp{Q1vI?bcMdTh!6Y;UV z1itweuEdGIFAq+>of zqBYVB)-WgD8h^QT@!UfOCE8DZRkX?c`eLfA$|{c>dGx-Q4D;!at?gEK@r{!Yk3>+t*IB$IdtUV_!&L zl3q{>a=#WbZaGi=gbEDXmXz2Ym)OR>CPP8q#TO+~WF=u)C5owvpR_R(&fvcMq5O*& z-2)>*>B}t%<;OsAOBZcn{E5;Lk^4p>a7lK(3A$xX3jux@0DxELgZxz= z;P}x=m^T@@Y&Swe5sX31L=qs&Uu%fob~Twz39S-*MCLL znj;=WjB(eJIV_<6b-;7ps*ixMs}bV>tYrdR^V}n|+#`vfSHULXS3DB#s|+oCdD`B} z>vSg-1}zm(R52b&pwe?Xq1LGeFSZA`;ETM_Byn+Ei6Gn%4zwV)n$*9o76zShqC6hc z3$6a9el~(2kG~0qK3ic0e-|6Bh#$tggH%c8rslC09FfCgw>Qdmvr!!mD~PlKr7{KgKTFd8tV#bf##S-Lb{XRSH}$2(-c@${EJf6{S{yAy%BZBS_ zaa4I>`GP!YTeEM3y7B}1uTk?vE>i%nl0rtw=as)~Euv0XfU6{dFsdog1iz&R)pbNR z4-p$f@D~uq0L)SLEdgLiDU>S=q{PY^TS@(&?-wLhJ+gm1_|K^H4+jhn`&2JCn2P0? zL(C{-iYI(QC-fqZIFw#87?7Os;i%{^r^i(bu95{~rhc4UdRi5t&W(|jW$}57+1^#H zN%oIz*QEXm-Gd9~6v9cVvv$+m{<}*TK{2G^C)rt+-C+$-3yH>pActjy?FuWS%Q`y( zvRg7Zhzux8{at>eMlYq2rKgj5vC?<2Q+}|jspBTAwqRi&XE<=c3NW2!x+=tZY+v-KGB_p2%W+K;oa3 zh<$7kD>du8k>pb+GSFe+BWUqG%ZctwSb~N@9PcC3pkJY)sTzq1^@Lf%B?rwNvCIv* z%ssLEJ(<)kk<=}r%zdElPfzxqRi&Niph0WLtBnI0fz;S1cY}f2{FKG8IP#xVt%nYt z__wdB)Q{z|B>BgVApp!A+-p68P3H7oHedd)i2Cx(2oA+R-aHh7_d~ecGrz>? zaBG?35Lo75o~L5gktWPKCd?`+xfq5(Pc|$?HXN3H!2zMdm z^I(kSXVn{4`}-hGj7H8B$Ta|fZQu4LX`Km70o(d7kHzxZ<${L^l!r_-7f>`0pA_%J zwa;+#QcjzSzgmk?2_Af*eE92dhP_*yJP`jMxRHh_Y$INsl&0%N0VM2RiAeWy$%9T< zWsIiI{$j=kXF3hXTpWluN9lA@O#f>wh5LJc6!GkUWF02<3Pv2eSpFRbbnE!hWmw%8 zl2?CBT0IU1Owf*hqw<@W!{A-29sL6B~&1sD?&lg zzst6xA$!#U94{{-5%pW*&K6-p0x*`_~D9PTLngtJwo+p|bKP2dVRzo|`$SHs$^|E`z3SF;o7y9upJySE%9^Bu@ zM~w7lsriD1IXwpAyTk)JK*JW`2&) zi|<2GI*rCP@BjAp1O0xdAodFh`l=4?d_N;WN* zaGA?{A(&EsighI&bzRD!xrV(PM^S0daLG-gUajCU0`-M^<$dzuBmuU2lgm zw!<*@TllycQmY}h>+;vT0Iu6HrUR+bSnMQ&`r00=vQN?K63Q!LiK|eFD?gG}C6bpU z5|{cD#-bC8$KsR@hUnc6q{@5~A%<{EcfRv4g25G5yzz=pWZ^87quCB^kYv@2K+QR@ngckWt2pPC+WSTN|hB zLt9x7?dEhuy-Uo{NV}D1EMH4qsRevq& z36wW_4hW;#gL9>W!yM<_=`EWin=2(BRkH4b?**N7elKuv+HVpX?PUl;1CUvaC?9$+ zVb%*r`@QMQ$*||?s2AO2ok(%o?i#;nr$W?9CT41UAH94MoZs9^6JHVU|4IzqFuniq zJ5LJr=jAq%FMQ8!{HdX<3cpv~;Q5L}L!KitX9w5*=J4(N8r>*sZ@ z(u~`P*43$C;D9!`_?+)l=CK0jyas!G-99Bal|eBmTd(6Z`p5iTonye%+fS(Wc&PR+ z{SW>06!nZjJgdncUu!wo-Gi_>2X2XD9+mG7d^)mzD5_mLOo_wGgdbnoOIDM3ag@kDf#` z@x}hTC--OS;SelKY&4*YD)=l5;|PvGxa9->1hggd2k3+u_05U`% zMr}d$0ojNDdzt*!bk})L4h4)dibDaA3ZUwB(q17j@gnZeb}9qNPkA!IxH5qn0y+SV z^(eGVcLp_yCeZo``tLnR@UEEyF^#JS@#UHy~(mYC9j2T z5MoSnI+)288NB9uhiiSuB@6lOnMM!x<);igYrh=A@$X+HsodthB zjpJ&a7p$57auAJsS)<~J7Dg^Oo5(x9034&uKMN-cg@XtrA+Mf2>|)^|1WZZA3>?!! za#e1C_7Pn5NTx5Bb-pR2q6+5~6U2%QWnglN8r04~3Dbjz&mf~%wyxl2b-LlDTJAEp zfOcwlDWFn@%)_1lcG%?UYx=rz_}BqHt zSw3^Qk@~v(n%ddUQVLe{zLnV4$qt7TJVf;#JNC_9di+uWwvqKsoZV*_+}@8~O#b$+ zYw6qGckLO*p$>0Pl5x70h+jt={`3`8^&^-s_+Wcu#r$zvHJ!y(!>1V@3mC0*)AVU4 zwFE)I=nsJIW`*iPNB}IqW0^i~a$#$@e;_Vw!gs!zz!3>> zkm6jfUn+naya zcDfd{k}K@+11uwYNO5$mvV>%~om7pT6#d}PjFIuN8}%{bpF6KVZ=C$aE>b& zKeJFjPxc*8fwk;sJPdCj1jph_wn@siVEl2*MPdgsk^rZWxP6Rhf&K=Udg z>`lYzJ8sRFN$_ifkwETssL$rKXVdcWp{-Hm=Ukp`oAzfwA8{W1rn|fQLvQbo81!^` z5;6Jn+N_oHH{+tmp&ufrMfo<*Aa-)v08Anyj6GY1jEj4CMxbKgul~+qbDF*4Kn{>{ zm0`dH&%2CsU~;J-uiZj%A0a+c?}W8rYWaX~N-{FRUkt|xg!9q<#DB}ty{kRY08egW z`ptxl?F@|V{22dZst@QpILT|Q?<971D99zIXg%jL!)!hHGA#&7DFC0^NqY>%ogk`3 z5xpj#Dc|)M79?R#mTy@VNk+kT*eQpGI~AXQ$PMLX6@OOX=q;@2%|4KJhGOND;7ldw zP9pbcWcATESfFi7k%Vukw5dxj?Lkizaf*^26t@eX=RVj+Kd`L8H8u&BkR_f8IP zo9;U~nF2^q%}iVFQzY`ba2($<6U$9a3x0Bq#MW^Jun$VKjEO$*X;zaK2nJ2?BINtd z|HpGL75P#Z`a&B?6#mg^xOd1}BSUsWWM>l9*tQ@s9jVgr%+UG^_q_wsA*eBEy9?<& z3-KL6Ub~TL-eqY&rTw*)oV!a&`TSk@roF4r%l{f3dPf5Bde`UL=qX65^J&;Ge>i7v z5F~|;aHB8sV~P63fslr2F)P!M2n)IBS}ui>h6x>;hG?RfqW`6dQfxLQ zY~9qaPx$e~A0f~_G`O|52Lxh8g&#mPz48kdY3dc9vLGgttbqS>8m-?(smD=R$tTbkGF+9{uiwPr`(fCzmzmHchl~@tG4^KS;xN7tKJaU_)Gd+c!ngLg zYb42T!oYw6ZoLz|tD ztd0PWfxl!58A19HmE4Vj0?L>?Qbs%uKMSR?u88D!C_bL7xJ-(P^!R%3^Tk%*=lh># zdTKHXPDTpx(S;Roq^Ozq5adW9L_vtML6x&XjVix~FhwnF#7F@hRX*R<-)n>awbcp| z*f)Q<-)}!fRTnjqD{Of3BR+M(48_yyUy`qVkY{BOk@NZyEHdg3n1gS0V>ZbbM1|$QB?mc6L$i3p-1Pe(8Dy@JpsOrtLRUX}w7*5b^z@OR79cK?0qIL% zPyoMeFhVg_(Nb-M-k=V)u=}EWt1?67+(2EfWIxV$BiHzJkc2Pz4I6f2cPpT!Nae)c z;K5W30L1a(!8QHCb+widct`3Qw@Pj22~f4I?=RTWHhNQ>hFLsD0=hqQFMST##=;E= zm%aV1vxVI`!*fmbHuhHlM!(ZnG{@NqV`{aQ5oRew2rKt3I>j?Q61=qNy6l9b^b21C$O z**z=-`x%VEBp{dItDu}kF%lC@7afSEPomV%pzs}lS!M8h3(<}pVwXeO0gj4O zWbV4e(L!8d zhhv7OjnH-T^PFaDH49U=&;Hwy(P&tu%|K^OhBh?G>+O@(=%AifbS2ybI91)~T{`DT zsAI#^yM3R7J4L~|E~VSrFi#K2{YO}*K*!rIB-+bhdZE!r}h=3U?O;k(I&!E@VXqPS22ZnjFY&XlYjSj|jX)l7Nb z{GVk`A=u0aX!$BEo@r{)URb89w30(_JI7=@gVP8K1>>k3R+eeR)mr+K;$7;?Kd>VA zuMBvt(ulY(Q@gMBw`fJc<&ktGHK}9#FXLGjiIg*ekF>j)`B2m#V1lur1LgKqbpV5}~bL zH!9HG(UD3WU-no;a^?9imlfhbgL_TVJ*-oeD- z9-hNZIIl-U(=)P1^Q}AI{|NTDg=r4%S%Wf=|8B19-$bF8kWC9?3;;~XdqC0e1LJGt z89u&}HWFM~Eoqr#ET#SLBi3!+gsRUat(Mr*_2`M71bKodNl0U_Ed^N)O7DAxPq56d zxS5V*@s7g+1rr6$#YGfp1S(&ZsMghh+TiF{a zjM)T}^q=p3U4FvsSC84GTP6f&wqkuLGitjK-rrw-?LVw&SBA_94i%_W(@IphI<#gA>2Ly{N zLXS(Ld<&lnPWWAfi{P#jp2A$^M2bKSW;TQ*KJwz zbvYZx#n?*HD}FwlUfPFbjLWsl_Fs*sAAudO=r3gaXN%VXfN%k%Zh$l>k6Is#!7G^+ z6^y8z+Pt*}qYL|^Lh8JBCRq)Z1`{KX2c56|J-F%N$rp?|S31oPhv5mxqq(PQS6Z6| zu5B_$KKQGz6^~oe*`thWm1XwLny~p`Mn6CuHCgLJ*Hl2;kVD(>(W`o0GORaB{9^sN zJH5{*toRV7Yn^LloeL{Cy6!&wT3&nSeF5$?ra|4OdUhvbJr+put?zv+wee*D@J=6u zp@4OAejU(K6FJ*1FvPq`(deDW0!bTwa7RWBxbDcCK10rflsYe=FpzQxtP4W$c8Wmd zepZ3P7_<*Va*G;!kf(c;ds-5*sP`R#^F5~V-CBc42WE7>(|ZLfp@j^gVHeQ;zL_OFn5RZKOc56G;`oT*GMKIX;rd9I`nC!|G_bX_EQOr z3R29@wd^P`IWySvmLE%?YIde-$;N~xfCJ!xJH7U8Z*<;4=!xq9hpNI1K#8oMT5@~u zqZy)hHoI0L7E|C+B=g-DtX}bOPDFKAsJdTbh`6pCr&ZOGEo*RZBYJk{a`cW`ej=(3 zt3U8mmoKXi+Bgw;dxCTNm4*KPJ1h#r)DO3f8rVH$9$b)9gT8~+cW!^qL#@R3v$>ik zt(qpKiGRh6hu4pXm!&~Z;TM4MawHIRz<73#+3(FPp4RDJTvQ}dtr3js8(dj>CeFz~ zwXdL2rp0cEuU;C4TwDXb{4m6)`WwNvI2>eSAlwiOL#8yjjQ1T+fzZb2GPHW6~CV&JB>B3%8evthGLKcT@UT7h#sEbbV-ZZ$!c!6*PJ zvG2+eDfya@dvG!Nrj_~JPK?t7~p3kFL7B$>~V3cc}P~3w1$2Bo^wrh?I?PvQwR-y^bZ*GKbLW~qR z%I|RBVFEFFnEp*N{X4X7NvFg%>2dUT&>4p@4?>7S_*D*lgy>g+!&>Xd-i{H4bL4&@ zgWyjrvV{iUMG=f)yCuq*0pHWz1ws|39?A)3-yBNl|0;f3C4dh zNjm&(M~gbkF0ZwdHY!jw)QS$RcH=3!^XHe~XDXo)(RS=mWg>B%@fa=@pQ0B`;PFz+|8uyT+D;pAW; zg4rfn^PAO**U2}}Q_s+}m&!Uc)JDD5^26=` zHjdjMvHjv*m$b4J5MBklkw2`H9G91XZNS}ujH=%Gs?4&HBWeRIV?S~5OOm~H>%4n+ zb}|cYV-n2Xn>e2v!>?MTePnQ(cWpK=8rMBHT#xmR9X*0q=S_}E6Xh2fY%0IhwzrHC zVfk%4o|YDH_v({w!GaL#{(^9UWJ$M0^GGXBINakMJd1tYb7p1-z2=3J`0^yZGtO7X z#^--JfG3oGwJGh8Z3Ne(3XpSG$pT!VzHSje9CHHAh)1v@)`GyM=M}oJEvOR-$!}O* z7#ibSAtUe=#0rV)9*^A#6$junq^|PPm5%gEOur}nWZpt2Wt^`qQ!M-Cz;T-X^Mn5K zgfP9c?IaIn4He~#5yXbE<_$;u8e8R_L;RkY>zrT3#Xq-6IB|YzpUc^U3pyvHq}Yh= zGa2muG7!;^d=1~h5_iaA5|a4uLt6Ds zOf`#=Q6V0ecDO6DyHR<+(Rm&-r?a1@$lc9a{Feu^osyfajs~N1R!W zG${fw5m+R=bDAXMuRILiR!I6Q0{X^}rM}h8=q%R=XoSDdLa|mfDk_yT)#2cdkq=OL*J>VkKFP73EdBF)_~-8gi9Rgi+7oJn*u** zUh16k9s6f2j+O+Kr&V}-l3?%jRBT(+^rZS|+WnSSTx6oy>g>Tkgl|BCApF-YB_x9p1<|+g6`>6^Hw-<@y7R*C>it`iw z*XtTGq2t)jJ0j50b90nJ^J%j8pb#dG-&34^7w7^8DiVfz9T}$O7a2xA20AnjdVum{ zpo*JR3D40#E2eu~S5p=t@Sy(vV)0NgYt7j2Ayx!5He+mk5+)MfBO)uZaM5sq$Y;eE z!2#vSkT4yHIzo(Bl8)$_JvUXj(h4RG?S0Gj!zuk`YT;wdsUw|m6Sdn(6abUEz~lL$ z04{(&rATj(c?t&Xu80@-3qlrhfSK8t7$vVc%xHf~0C&E7nxa4yRD0xGo7rvv^OcCK zB2l~&L&S??+{@IUjC@%|@jBSxb~+|K#%IZS?|mTea)De+!`B+N%Wd=|nz{U2L*2vb zOhhQYE`N%bL1l|) zVkjdhHsC0ytg4H%q{+VHVSGOOg7;BNPQp#iOF>OWO-l)15x)5HU*+XLyOd+Fg?Tx= zdj%9^PjCyEQWlnxu#u5)u`-jhS}cg(XvyjxfN5STTV(;K}=N9`gP6y{PAG3vT>tr-sjYHFtb(Qt1jOEW&z*7YEnGSzgDK7ONMY^}ZwQ zSnGJHv&S`O0zO^R_#%LP|WuP+h0LIj5Hg+E_ z+s*++825HS@*6lFW{ZUcnyAXKwq5~i;WN@D*8U~dcY8!yUWun~gRp%49NM|LQ*jZ{ z#^kW04cPt*X@T7{dEeQ$rpR)N$jy(yVGOUqG(s}4yb3DXfFobkte%WqMF9;D>;Bg? zf*I46y0D}fsIz^AS;&K(idMuq7VFzE{fl$l&lbt9_%D|10PK{XYB-8B-~p|o@huNz zCKawX9G*=tJUdMvzC*3z5Lx(=gl3aZ#k2xcWiWZUS;&5$ynU_k5WTcAUbH~=#W-F?GpipA9L-|+W4o;F$lCF_G! zRXqz$tF?;3q)P0IkimOL_=`UD`!w85?>!~@0^FKj#ILG>*KW;839B`UMS~xUe<{hz zUEtIYpUg9Ndr>DUjh*vGQRMT8U78|o?a6g65wGnt;rjyb$sQM*C%0UE*E!u5Ti2Jj zJk0`6*Q3ly9~<>A?7G+1cU;^e7T=kdzG->e+I6ol1+-W9KdvNoMXUI`kjKTa+`LPN z4h_+87y)dS8WXJLIdl%A2j*W<$8dg7ov~t)CR(gl= z4!Uc{`2~L8HHk0Js37NmJD|0lEhHO?*-T5SqY`bAVO)(bS*cVdSKKH0iIe%0`B_85 zQ&+`@9+mgS$@CQr3rZmb!+s4A1}UVx+#`I@-Ky7zGbwfwKB^)HHWCK&L=2`$ z|LyGl-tV96W|iu^`M-T~FofiBBTHcv5_gKEuj8Hdp$JkyL&)iA*bk8G;a#ye;r(p) zFS6jnz`#|z!i*g``}^bUPsC$t5zE-@0Ka6|r{O^R8vRLkw6B~(6bDtF+fy?pRJgZf z$`(J=ihro(3sgvFmyNmCFqyTngI9LmWSX4>F=?&n!-mJ^+~qAfdAQQD(F(u>-N?+s zEPFodtB?$Pbw;3QqV0pDM>wG(?QX%*i>;XxBOUuL{V904a<5r&baFu`;}CqJ34VNM zw0iet`?$~q>*aUWd@yELlE2(9vVhx#7oo(QoQgoO6w%q46k{q#wa87!5lv~IN#rmY z%f&Kk#WJ`QGE(vXsUX+>A+Y%42a}}$Gn|Nj)YYXGf4!ib!G&$s?}MwIG0&+kgSPNz z*Q)!5%jhL_8quC;I!J^gcM3Hi=*OHojGDy+OLt%Ud3+r=or{o$S6Y%&bb05JV>>7Nzs@w9?yb_4j?+bNW!w^11SEduDbpOJ7!D-(RK}JV_ z4O`UOeMF}eo{rc*p0H<&wPQ=PXG^qY5dP@r@x1CDn;}32_1nVRR^`V@TET6!_s2r& zIQiTexas(4u$=Z|{%w6#Zd0W`Lwn)nm&s_!%*!R-0?BYWUy5ogONpzS`#s*ZomFm! z7thNm|MZ)psWgS!4i%b1%D0nU z=FT_wlJfeZ_ST}3#(I?8l zox619*h|#^62yU?zN6iekbTX<$Gy6xpXw&`sj5TgSz3lBm}uiEOP#= zqE|kt$b!Q@U+1SxX=9sFrB0};oub{s>C%ng?D2X)AA{eYMIXkiMpMj4)yUNErtI#T z`0Y`Z_l~)q@LwJAzq;0+25tpC+m;0a)WBlW${HQ?Q+waRBUb6DNmApejU7`%NApst z7n(^P1>FKj!F6vZQ`F(eoP=Qm9&+&+FXAS${!XFGvUF`@UH@ZQRYw2PchVVF|6cxf zesz4&noF5BrW##94T_ySFAP-V6PU$AH>4Oj$b^Y-BT|ZEKQ0`w*Eb zWiSp0X#LMb9hzZE>#fcDr~fYK$%?U(9y>o>ug)BAj_-1HV6T33d@3PoYXber&AHt`2tcMLz6Sy?D1-`?lKL=w>hBdh^5e#`Y3e z09Jz=8>MXRB7z8($+*TRj^Z+>8{Nd#mx!)kO|R?aa;?(EdWnP8xUVX#_q3OXT5954 zJfLrH;0~rd2e!VhY-uj+SN5-GhouW)=(uY+7c$)GV;-K~ZSi13&zf(1vTGD}vhvMG zUg#Sg<%O~7`#~7|l~{t0aFCZ!f{!@#8^H}JN;6uBH9S>eJ7w=i>^5t}u6bWAkHIog z+<6rAxLn)zgD#Ae`OJ+-fAa0#Dw2OzwvJ~11j_Q4a%YJ`YqbzV1>a%K{UQf`(D%h4xy}G6MGR6^0;(*02>9GQ|K-HZ8X`l}OHjH0x|zasSqfC{&U4;| zpze93-eN9Gl`@3GKa8iaA6|4LI(XYdJ}zZBUC2z;-*1pBesS%c5gx3Nhc!b7vPb}M zKMRY0q7!{H7Sp4Lt)%c6U|a9u`i?lrE?vQ-^IbCmeuWW`F7D^rnL*D6|y}`p4q^0q;RepL)sd}C^n0*BH{xPC{VET1p&HlZd z28X_?E%@%o--~vByu`rjAE33BsefT@%<371_ zOn~@j0}-ast4P8tFkV75-);CNJz>u3?hZ0J;r?ODC3joyJEIwC{Fk1p->;AL3Oxn) z4BE(@qB%hl)4pca2?G*-&9PbBQd)U>n3p!+ybT?0-JFQfONr5`xz6J`FOf<& znfSmiPsiv~Jh)+_hRf2QsOFUDu72aY7sFgw{LMPCCzngGQ;pPP zk7-AQ+IKppS(y*aNgTc^DSw((-2x?+T;ekb^Qn)K58~~0eX>PO!c@Y1uq(+P|b4%P5G!87+wQQYn>M>=zd0 z|2ixj&bI@U)}^(0XYjmu%SotUv%_}9G^`3>hs4oULGyqD%OP;w+o0nbk@wE-l$BmA zcDoD5`T_->un%Qr0Zb(Z-~JPE;uR9XLh2U04M-Lbfa$snkST=%WHbtTZ ze8ZKd9`cQ}r4X#MOS7C=Mr2!ZO6gYdHp(+~`rifwTuPZs)(EZrfvx>e8AL}fPH6Er zlvo3;)B|DUj*GI*4aNI6@#BXinoV4-uJmJ5^87M{V7lJU^urtPDxH!c5A1RF(Mh%A zEvzHU!9Q+P)Q&-4$kiAGWoNNuapS_VXQyKh9Ldhjan2mc_5_7{);W9DndT-`4^4-f z^2h50ESE^soW7PP!Y+}jkE2~)>KP;bZTsrwokWfF}U&?lf@^ckr@TTvT@mgnUEi@ z{+K!&pxghEE+!lmx8we)oY}V==3K>HCv?mcwND@A2*sw5E=sN_Y$Gsvdt|ew)V|t& z?j@bvRkps$-;GkSYG`=iGv5SuNolVugdL-n-GP= zMMxfD@N1gO|3wmf7+^uG;0(g#OyG)0f%zAiBRK`TSF`M%YsGx`hp^Z^PB%^fHT^FKB@(-7iNTHSc zN`mV$j;D@M7mjfoq}`zi5?EeEkG_wpAq4DDU_R{HOR4e5#h#>l|8sD3fPu@ zS(6FSO|8H>UWRMI2x#yl48UTWn__)L`?7;!@weBG2yQR!Z}%{hZVV~S5;_5xySq8l zyd6tW~z zBV;E7i{piee2BW|e(}`XUXRM`lb@%58=-7i64DyZU*};%Od(yYA(V$<^oL+=dXd$I1AZKm8r(^h*mkHNUt& zyJUKVWS)s<-l;z2qjr5Y&nE5HZW^t=_`b5v>d|KOH|Y;SvSc zby_K6ZF0u_VxQh@48OT&6mp2%@BpcTxl{lxH4y%`;~?8j!v}YM0Ls^*Esd%nT=-xy zd@ySW4ZtLy8t|CiUAKmIXQ%y-gZBu&r6`Lbvb=CKv@!TQOi?Dg%NCQqV4OCfhp4hV ztl{m3w{~jxyfkvKIrJiquyif4!1{MA^@PZh*$a&m@6A&W)99akir17?HLo9!(Yjpr z0@$8~Gt~7v%Nw#MSOX7!3R_x@yi5|KKvW?Jeq(0ln_AiQpEm$COJ)$+AEB?Qs_iYO z$o-3^>1T#9jC;NkPyo}^BS#KA^d;Yb^D>TSXM60iL#~iRJw^Z*o2>_?N)on868XD% zSP5rW7NPAZMuRoH!K@s=WwI91bQqTTH%zWUM1#$+v3A%oE(ro>iT#OpBm=R(x%ofi z^O;e4D5LJ93*R<@4%aUnWZ_c4Bh6Y+(zz}Vz(F(sixDOsK(prQn`zcI#<^*bTJwi- zVPDc11?x`)4J1<@+DJ1Y^nan`yTQ&9QLZX#ZAHZ4qk0i+nT9u%S zjI)cJ2EIw6Y7(1#NUHge>cXmdnx9@PjEe)FGs=w1)nERFw&(11OyRdLu^e_Wt1wZn z7^1CZJk#cUVWNWwhAU|M(BAd|y#h$(xBbrh1D|h{pot|eYes>DfbHcjywA!5s~m7p zY-tVp(iDW_`cmWcae;qfkYQj&6z2eMn9-&$<{;9Y+e?H*6?d?c5r|AOi^NV2%c#u} zEd7{G_M4riQ7zNgfRrbT7~vBH5o*~{>dVV>>K5f|*h{=v%h1qvl~X$mKl4tucOR2V zW&-sI2+JtIMzlr>=l1O;b~Hywf$O5O2XFyCFhQcil@3l&iRB~_wanj`q)P{hqoM1O z!M)}b`Vq#xieW3e1Qzb|GzZy{1}XYxu>*SnI{Oh{dv+eFiFvv!5Dq*E=ZVdsY>4e! z0w5hZ36TY^jfwjpBT{d!kpI;WJpae~e_#M_h!hM^8sa3#BPFTj(Pr`Umsv;SM;}&( zk>qcU=DxZfZPm>kjW8w#pb7oQz*R!?>b%}TbpS*c?13GTkaWLiZ) z93>Ock`V_omBcedA}fUUwO;g1Pz;2YR{$#r^r=CB;0s6G%Uj z!9A|6jrEn=wS5z$`~O;iQkOe-DFtv9rVudojLG*FZC`-{shSGnBu`q0fWo$9~dNe0NYpxe=?I zPp?13!0-|w?RV*Wj>FH8bjEP-x8!P#`^i}knkRs#-MKPhE({SE()OyipG%_Dx$7)P zMPE!0rg3dJ_?iSf!{9^L7oyIiS|$`tZ)*_v0N-kdPTj@e-yJ*ZL4))`Alr+dP8UDn zXFKzNTLI4#iEug?wwq%{e=>wjn6UyN6(UyPd0A67fWeDAC`roMK! zG(OWZCUAtjwEswDLHmt@#@dUz|&JVYpwa|lsqRhdChgL%^ z#4{KzRbQ_@!yX^Skz`$eRJun+cLnp{J=xWLJ^%*G?KafsIFc$9A<*ARH4?#N0R{R1%5II+|WO< zmyO?Up{PqfysZ81tE;$L-LqERGp%iA%gXgn;ne;OtwE`rf=0)oFg~qoIr#!?DV*h& z!{$3dAX#ATK!FhY`hW38! z-sxP(2pmB>`E>|hZpGGW_5Q|{j%sE8#!~)%N=K`?TE9MjkA%hFA=@#_KeS5Owa5k6 zD_;JNy{bifs6%~_`ZS1gpx`Tn4dWCc{vxIhia{NR)ra(=6!m(jOWX5ty`CW1RVxJ3 z(mqi$0SVmFiLi%orjossDhDDHcSagODbvfoeYaWX82_u4 z#c!Ck{HJ`=(tjd-TB!fEinmdJWcJ4;Uu@g0G)NWw5h~nThPf>Qm~i){QM7RKSi)-F zZ4fs1hTe6;-cLFX_EZ9%{e#IaW3QlQVpy3Ml0`y%(k$yz6TmzDr7NR5IFML!fXtpr0 z`Yn-%7H!)B+QA||&a^d`i1q_4j)6(VRPYk`B-r8TNRP|Z#-(VRkILdKeZS@tPR^sK>pO% z*87K>LSzbrlR>wyUBjCLV#Dalb6UXdjMy}~C_0LSGi96r9K}^`gAlJS-jdL>KIMtnWF&TGyO4hmI zx;TC5=`HC|NgI>Ipj{2`_DR_OJHSJheB_N%Dn&BO{B^I&y4gOnoUGA+e^ewTPA$n$ zLvjk4H&7v!E@W#PQ@~l|d8g*jofA2`NcFhL9lFsx^yg2t7drXZJ901d+&`Q55FU{2 zc?F0C5V>;_xjSn|hl2d=4l5THeJwp3D*5t{Ch&;iT=$KZT;|+%uy`h>UF^>;5)~QAhl>Z5f=F-Ir%nwnXeUBJK-hrXhgS5UF@hJ zwW3sP+SM)%yIB24em^gnrE{TOTt(MT{NijvVIP8JANINvBS*2?B{$RGJA3pP>FG;K z4&s^6b(Cv++}Wd6{5m5}HK{9-Fs|)$_tvpz(AprIenAy}^BiZT6%43$m~PVD`^LpH zA>oJ0_CFWm22RThHo-Ocn^+BNk2jn;k9k&`@2)e9(3H?T8>P#dDfy#Y> zzZYUv#|{R*We;K&2%9SKn_leVTfSvXVIFwM_yqCDL5#Zosm0A*N-m~Mp?#Bp*~mZL zYyR(Txz&f8OfAhL6nQAp(}Nnf9{5w|!D58EQio@^iimoXZkf#UZjsDE#Fv$mC@|@n z*VIvtfFtFxwVbdWGx_b2y*RFvv5Jl+&+dVpIQgbc1zH9g0w&UbpR_|uzzsWd4Hry5 zIXrSu0+C_CRmfubSp5PRPa>NqNZKA?Td5BpDM*ZxI8(#WaI?Kig6;R;M`BTBfqL8OE+ zs7*h@Y^fwN-RRh9>JdB3~%dgRlft5eU(?GmFJ|L`+OTM*;pNUHC}Z|MZXijbEXM=Cl>uq zE}TOvRyg;8dSK8Zg*LVsN5NT;ParjmwZIaYN$;aQ0by8jcZsFz5D7nXE`E`9WO-)y z&o2P|I7e)FywYWY!H3V)2CClm4Tox0-R<;tm(r!-j$A9{tyqe)#HLllD zMza`4^La2xHjbA$hcX)Uc8(%u#)WA`WZkSzC=n;THE9CRbf!0BS^jsWauEDuh!h*86rxJT z24h14F9b$pBY{oumI4aQxSVT=ct4`R$4ht9ueJ4IB46Z*G+Ic%Afrvw^nJMGB=jYkYYLZ% zI1vU&uu=G~q%bxe8QdjN&deMgXrZlx72<9T_k@J~iOjOM%kT>Fm!^0BXI~A2m%H`C zBvKy+N|C&*!2kHJ;C7GZcIW1B6Ni76rD&w!sto3RB+kwu$p=h0EZ>1a^ma)L~u+9oHPgswg3|#{v6#!WeaRp!w?Dfk`KGe&Ri~7<_T0% z{dbVC-S+vP*LA+vUp39uCUyT7Tu(YSA&-r&Cx&jIe2N3b z10n8=d-E(MvR;W1S4~y&G(1G~exdAdBi04=avv(NZ2S^6>N-7g1pXUA#T_Xa*^PV3 z4{1Jop`3&^`}rFA{&@N{-9bI0fSc|qO<)&L%AHqzj&1?x*@>GNwNgL>hmq7>yA*nF zFS$-lqY3eOi+?-hc)YOtM9K-4oG{BCBVX`p>%hdpg8&&`U5xTKqr%|{0q!A4I^;iZ z3PhcrL5>~V?^oe0Le%t<*FCP1G6=%eED{}}!p|#_IXsH5AHElzD4wnm>iH1r-4p2D z5iH+w)R8mQwYT+|)h;>LE?L+1*&ot_{^}#-yx!CSs~o>Ob&gk(WS=7Ti*bPv%~c-I zr9v&b+AAXx^!%mS4zPzn#;MnUR&p=RE=YWUMO zrX5w3%Y0!eF4wAC=iFEnU3|I&Dx@?AmyvCcME|`8HF|>C$#;kHy8XXjbJQo_HTQge z=gE6J#cw=CF+f0u-33gARYyE!v81Nqv{^hcfUocnX{|SLwO|z`kx$x3g7TnLfbNVA zep8T7N$felpd=59A7w{^{hIma6)LlQj7P+bw#|ro9*dl)8cuz9;aIP1IOlvY0D4ep zim9YYC8voZGF-;H)LRu)3U~Pj8J^r!AJ%%IONz2pRmFg7$Rn2W%e%Qxs~u;fq(H0P zRAbm85?GEAXo1(I#42t({S-R}-PShL>SusoEGdY3Ujlvt53jER-7zwiYdHIL!XXS#HJcv}o}z9a!L zIl;l18hgkDS65snH@211IP^-s0LdkMy|Y}PiyxPD@;(3PEUIw>oh*VJi!YVc@Tz#D z1PJlKr*ee^yBFiY;Y>)Cpn(anP4CBCs828QGYmgSt-8Y?LzGLviI>%xh7kb=9J?A5 zyNVhmG3;H=T@tH`E;?H=%H#j0uh>(J_hKsG; zO=bZ9#4riDt(}w~5r1onxD5z(3{6@NWz_c9K4mr$R@87L8fDjz<>jw^&kvyqI$xBJ zv`UI>HiJJ3tWM5n-gD51(2IpJebq^S$CcJMdQKqxm<_y#e1yGhf}We|0y@8)0vl=U zoc6TC7($(70{NPLhPyiZYD}l2!-*!ITEF11_tL_bO3En(B_t) zuHYt6i$v)g(Pa075UmTA09|RhC0nLYiFUd)=>r4S^aqAn!EBkSR@2g8S` zQ!l5(6IKnvLkWt^w{NBd6Eu--7`az-Aq%fDyjj}2(0)>HnzPeol%o#nB!M9vy&JeYMX zX1b51_O25T_yo4Ful2BxsbpFDM7+y}>aL9Js&p;IXlhjCT8`u+OEHlpsgc}`@z5o++4Bdh7j}!s5Brakgps?0v-3hdOZf6z*>#bF1T&K#x)<3b1=!r} zj4c<{ET=Ur*IS2*e3Cvv%un9?7sC6!-{|?@O0?ffpbzZ=&?fMA-2}Ej?K)-;<*QG@ z#2q5(uh{)3UNEMzn(rp~fDtp$7~C`*)&AeDA}A(PC{zp!sAqo>!61`Ab1~tZxyd&M zJ$is*s03wIRksBNre&p{m_r-Y5|@Y7Z|gMMyI933WktI*!iEri0ja=#EE6|kaqmnH z(rx(~*Rtl3B;!4~n%{SubSBwbKHk@qMGqRAjA-@hQF_dY2xy#EZ(mX=S~Lalrv^0n zIYXW4hd>h=_%_TV^>}-ec=IZn^Tc)6h$yZWU3T1@6u@O0PEJvUgu05FMrT=BXn9AO zibqzGe^%jp(l024hKFE|fm+;`o$7 zyz1y{YtUVpiTvyzYZBAwk1(PRZp3NPM+!Ymz%olT-^8;P#DupH?$w>(+*Cyj&`8d; zs}1MEjyN?%+jNxk3JO1cM%V-}qPnf?T^SH4kcbvmlQ!AEAafYe7--?QdduG~`2B80 zEo!pqcba^MED2*?mX9>N6(_FSFlcb|wLkE;KYW(I2x1VSj-dN7m3{bc&4`pLF`~5S z*ZHr?UqxX>V9yd-J}k-T)Zx^d&UFuKh7>F|gASL6mr*a1L7r$!xv=#0&V%OsgYlCZ z_R|`UQx~?SRn5Qcg^y<~+vHmP7n*o&diqyo75fSHD?SSx|1_E&SB~*tDzzyd=gEOY zh>-rYcSGG-dB>i?+Ur_%yqHOfF3lYSLlWnVtD`eqDJNVm`M2S?K3iI@W6m$!4C1u% zi#G8FPW7D-1z;-1Yp>|q&o0i#T`~GVfM{hz2|Ao>Or{I8?tK8YkqeNMWeD=+$@ ze}QUB9Y6RDswR`>mWVe6fDAK)%_gL&;wqu*)#)k7znA=An_V9pIItaBcq#?5K4u$$|YCo$1wd-9mxYH{9{+1Hbtz6PDOBW`*UxZ{X=J!*q#3L^5T5i zLY(rigIwJ~(R=;lt3Pgx0zW8%rCuLwcC-KO#?R-p#aQNrxK~iJQqadsI?(?1`~CPz zWN6$FqKx)II8QTCocVJBp3HUw7bpuU=Oc|cP8^|ha)cW-j!eaW9A)o685cXA_M`Iy z>kdvtHiCQ}m)?63JH>)tA2V?oC-S5{uUCJj94O}sqS{1H1cscBJq#*SZiL)+9c-NX zU-XJ$w%sj^lo^-Xoqm^#*GT3y3r#NX`m)qDM&$18?)nMl&qsRAbh089lnQyYs*>oY zlBk9fb%Pn$l^IFl4D6eX!nC6Duva`MT$P4GvCDkSw zmJ%K)pG&?hWt3M5r``;ag*#k?0eS#TAK;xBux;kMA(<*Q;Hd#QwY@1WfJOg})F>~Sj#~=g_KzNGO@k=4u#{Z8gB*tc*QvhPKcNx2>gq4^v z032kPazCQMvXP1mu*eW?3d>B3`f~|>Uy1^?YIJ8>dEUWUz`0-ICXWC> z)a+Q)df|<| zRh>K*Sx@I>nP32y=OMMQbN;s%*qp$WcZ2`>R?Aa>0pYo^_MLflh$GEFK6coARH3_6 zTboN@k`Lgc>(Dr$mjG;GqYWs zhxz9#*~PowVCO5pdR4gP?n@|b9bLzLoeBGATk>Cp?swf9IVVl1!4z8M3n8ZjWmlkHw`otyw*3beQ~T34<1Pm{jtCzb$StiuicAED$dSrFI)cQeEtbqeB-X!=YtHIqZ| z=dU3%(GfRhHS{O_5Cw4Bpo= zrd-SfOb?l8AYKtv-58V4F1|p!nHvFTgY5S0%V`l+>yX@pdR=_PHg$=gVt6|~FXN}$ zl&t+!2|q)L+-e%pQWVc&2BDvF6Yh^Y_^t$UO5P(h!h2Y`^`@MF8Fifj!nBr*cT%F! zCrceyM*?`q(XH84>Cp3SaRKIeBjuYRq$^Ft=J35dULQWeN~=aPVa2#ydbGR6k&N+n zk40xA$Q~wQjY+3DT$(Q`TlUX<^_C`5e;&)mcW(X9*3xoDl+xi;LqKRHJY0}z=qe@v z#P?fy`X(ud{h1S#6=AX69rqp6Bb?u=x!FHS+PZ<{xq2 z40nPk;?Xm5<^0%^1Q|1TljA&;8T?BMjc{X)yB-i*Ls`dZ;eUj;CCB8&N>57H>EQJ9 z&`;6Q_lZz1@I=WfRADn2S24ewB+nFcr043^h&CI$`qM)C{>`Ph(7pbpzq=JbzWTb_ zTf^inT6mn#YLMDJgc4V3fzySCtdAe59sR=66NC>&)NHm|)J zOZCUdQk5SIbgC6Q!)a=dGq#d?ALaAqDwL?S2H;Z}5*24*Z}cp^jWuT^C01AbpU)Q_ z!<|AA4di9@-3ATbRK|L9oNvTp zn*hI#4t(h5(;twgfSR@QW@mM|ZOGOtr1*1Z`>WU)f{^goKV0x6N-a5Ylr;E#cOCMJ z78q-Fb6@|ugIRgEe?>g+e)9OmzQxO3X53d0c)j%8ajGP7&b6=2MK0*{QuleWoIjgQ z^HEOU5HWaH1i(zu!a&bP8DTK>Og`4pgvaQlhhnIBRp+HytJn|+8Qv~!3k%y{7B(Ur zJi~*@0@Ajyd>pZWh@I>IuLZb>D)yb-0EI?7kWFb3?GhMm;~86qcW>XYO%)4vvpj<^ zV7gBv;xT3v6X(T|5CT(-pOyTNbnNI`XGS}Izy?h)tso;th$^x^u~j?T_&?d)GC!y4 zaVZHCYY88O>*od_)vItF5VLY7pc zp%POa#grN*GZGDSnS_A5R5Cj8BHppPry;5hFxabzwN}BkDTN^{GUhdh;UFM2CW3&f zr~od-z5I5i@*N4ldW*0W6YWn|x!YG0S(Y#+t6ga7@m+XPo-05d>O zu!9rt{Y_##cHqCkom^Zu<*SbRqClhKoOY?U-t8WD?hMolz8X&(Og3$oW3_u9X8tDD z#s-!q-k(jpc8zm3&efCa3yJO3)II?g@7Z4T!X$A%hjANhtSf3Wmj`uzAvK1VB^^F0 zYsu|=qYqj&9|2h~hIVy^T4Sau9MCmv5?!%b9O6YDeRqSgI3~O_)6vwr!%->O7l=n4 zdCUQW8WQNy6L=%}=HA04w3Sh%swwmFQ?==$Wn7ligiX|ZzD6S;blN$IxA>25&w}nQ zW_~zT(+2h0Kzd~Imfk1ePE`kf&e+y&G<4reVw|L00(~BY#>r>TaLgwYG!XOQ!QSgk zxGpS;NZ#1IBg>e>W-N_|bZ^X`xn3Dfv9BDT=cEf?j}H3AD+0Sd7BnEkwn135>EvH7fA?RfNa-2HosH7ip6F0T#yu)Mtc_nu^E zQK5&*BTlf)7k^qo-&%nUP_>LCibz`exO#Jhfh3I8r~EEe5&SA*esQllV*3+d@{l^7 zp>K4^wthMh;Nh;?;eo%3E`8H=D$G@#_1dLJL}gkg_vKbHWly)FJ|4 zcm!Zn1r~TrjRtkS4+^h;ehwC-ifEIbk+uFSWy&p~^MM$0pWeHc+j;PVKs{)t-6qm> zzb}+KEr4Y>JN7}L%r|sNC5Clv0>G=Gg9eXf;m}iZ*(-$tzaMa|C2BT<(JcdmzKqwy z^5p7A&!uA=!Ra2id}qU6$+!;0jEiMCCo1o59z9PTyEmkMHVebwI;!3Sl@$A8Q+V79wRdE!V;%M>uu;aGfnwdc)2x>irmw42}x#rsW z%8y={7p69Sm^YVY25M#d&$*6QLVSxCV;^supZ?yQJ=UN7<+=H7v*Kp6@;2#ZZVGhe zT--+wLdE!|&;@I7dm*cL&adMX5aITW7sc9#bW;j8se})oHZHE-?EtDMs{l^LaN+!3 zu@_R{b5EBT2SnakVgj0H!=aH=t^Y2-X-Y!mUcC%;+B^qL)3~{J|Lkx-Y>$ zSA?~}56MO#fiam?>?}$T`NXl&&jd*p9R`GFM}11ud->i`BH+Baq2qGJ#~M)+EdFcC z+Ak|dXE)4|A8nMwgc)bzaks{i;h!j-6A2lIvK@3{D3_?stbnD3=w4(>S+v@5s6jJj z*q`Y4>gf z>>*9+kb~=c6;^*AE%v8I=co6Uw2k@d*I)bTKv(a1=ZUM*%ho@?Xp;Sl{Lal${JKy0 z>vIu6h#990_P3dcr~QbRz34|UF__cSnn}MqmP7ldI}8h6=VA!>7PWr0?)Er;{?60S zLq=SRJ#Q6Tf#SP7n)**_yd>(EdU++B{bW;vm4uUiIUlP1a99>kVd-a$par=<|5Q^1 zs%jo}wN^=4S-&i@%qpaPk&y)wxlaHDPW%2U60S;_5jg*)H(HfP&&~IzTNE?@NV=br z*d}U;hOOfKE=JRBJ}e{zRhV9}}yLGed^FERO+)5H@dV!@jJi z=r*lxI4AzA0M>Mk<`{*bp&N$B01uN3pI}((oG<&}o+x^^MnQ4r4}WKi*UfqgBg6Sd zq(~z&w+f&a{@8de=J+7-Cs>_oS&X@U8PK@`0pc>Wj(gQE=D(d@e(#5DE`ym}Y`G1J zA##Xa|4}&R(|hwmHiH=e&TO+)aIYK#0BdaEg2_B z!@bC_@+Os%ZRG9T?+%kAUb$`Jzs@AD4vsr>lYe_(Pf7sCWb_&u3P(v9vH6OIX%)KJ2p4dW&sGMpbv-r&GsrETF25toDFjQ51f z$|7-aL-e&&E98j(cA0FfTrfWGvWY%^G$IGLu#jbaCKwWm)SIFAPV?YTKEZGl2awz0jMH98##K>(a z+iwm0k0@lGpjaHcHu^HdaYS$OgD@lsV@5*GVADfp`M{IzEIi`9dQrs*s7*1xVQ$~T z)gBz3e#U8_8IQ!j7>~b(kGq5&?1|_>k+_lMDkA1fxkE$^k*w`{qXn=IIV5OAB%rap zlW8gBpFt>r1eQKtgiNv+4vWH{?o|oo^3k+!2rICaBT);>*xURkDcI*c;|$CZ=Y~W{wuoq=#i%qr%u3zj8mOquic*5Og>MTJe}#7geg?O&{P*tg$H#z?rN7_AQz z(}zUd(|+hE%&oxK^N^ihpua+4o`_Jv*K_ zcOK3#VRZPJ%&RTv30%`tp+@k6PWM7;X@|^cryyq-;-ytjTNqs~z@;kIVF&>**W)jU zWH}C@Vy2?6kr=7kqEF{BN2NuoGYwIrilaQ`D0*~f?g-4v2c9Oas2(r&@q{Mc5uT7^ z&rM;2pn2*AHS}$)D)sokwfah(j=O`0gbT>|{a)qN*-LG|K&ak4G7<@_mFEqTZnzLP z46zLL4Uycmfeh7+$Y`HY{nj_TK(sIl@hMo;>+UIXSYA&|60#@^vX-|+%wXMm_W-S{ zk<=v`6748=v%;LEzd|2-$f&2~VdT2>l-<>Ph!R6}L*g6|mX$)usKh;SsRxm;M5Ilh z5~7h##_oKqURt@Qoo`LE_yuf^SZjhCp?%Xu7x0#0;tW@Kkcf3Lh{&$*!Qg9S`+`{b zOLUN!?sfQ(Isa#V5ZQnqHSR}T$3O2F7qBrsVShuwWYE;AkrHVPp4OzB10LXc6zw`l zP$5E-Nf|~XW+-r@v}C0 zq9-Ura>Nl&&9oEKb;Sr*Zs8Uu*T73Hjw(GA$7pMgG@={EKuslvtuHy%xi=xEA++XQNf5e&Wq+Y1;zB9Ry;LT&8crC(dEk@ukMp*F! zL#-@htsmI3)Ovefvtg)Y(Zut{03hsD7S#3iCo@$5A|MYk0$~?~#h(`4oc7#QZP$-& zYkUTPZ)mQ9NLQ(X%0xOWb0>W5 zdA(Y>vR+Ob ziwzWZd7U-I5Al3${{m~kzGQK-Qa^j9vN*-qmtMmskncuOKK+zZ#qsuZYyA6()lt>; zt{H_B&N03C$fpgW2Z*nRM2Xkzp418A@0}J!lAWzrC`jpu!~kBqQaAMyxCMNeS=or= z-U$BTh8It-g?apV0d{Xl=@j2ztpweM+)T{38DVy(Mmdh;}!Sa-Oi%9?WgVn zSQoMZY}x!aMZF>U6okYb^&9VQ2)lWZVf-18%j58^8w9AoWg0KPQYH9}2N7 zHBS+Cyj7n$alP)qSXVGD{AmE~RI>-|MLT3IxrDT@CyJ`A=YgxG6L->wAbXRAzJ&!Q zCrz5r)fvDSlIc>C@x)bYr-LJ;=+}_*JV+FId{_QBN7j*mN_xPEg?gg>D{yDjXmB#O zQzWw~x>wXxXwuSd&H1^S>utEFvl`iypOoAZ7Wm6(%AehRt`hEM?g&GC#z%@SZXJ$I zBBk1GNy3wfRvPODZ6*4_aDuCA#Xy;8iNmH`uy~;m!^?g_$*$dWI|$v$*X4HuIU1xN zab0j>@C0%+B1GXGV!?M$2haUEG!-iTU=8;IMxLQ~?Bj8?>(9k4^bx)#FeevzNEnz1 zHb_6z*JhGtW8^2uDo}aGMCiK(I+(N@{$o8!DJhYKBtBS}3_Jy|r*+&`1`RLrml&_4 z2A3qb{m#F$5PRG8pI9gCySS74{!`#ml8n`aZZKgqD)TQE}1j)=TaN5 zp&3b|;BY4=u|aACYs`S9%#%aWs}{DPm7q5EHw_saUM^7Pw>TQxO`dFS3*<~UkRBAj zrP-^hbj_6=#VN437;(zJb;(;?6~U2lV5fcGCmbAvvr!xV8ryJCx4q$FMrPdiU%TMZ zcHLoo{Lh0{*IFboZ-ktSt~{sS9ES(QtOO6Nt<^x7>uX8jdvnBhb4CJD6u`$1bgn>n zuONW%7xH0lo}#l-L{uRCY0Y5&#WZtr$^GK@UPlbtsA_S0hlL`o@?6=kFAO7YmqGwt zS`fM|9bYzH*4bbU#)%&`SwJ_fv|y4A%`CFl5M(4GP1@a38}NHe83c zxZ7|x+%{Z>yE|hr+!^j}h4$_Dm%Pcz)1>JiZPK2e=iGDerNnAA_P?O?0G4L$vEJ4r zI;y9SVmMlmnX`_Wf0@OASbI>zm19#m^z#SC&hiub8w8~3#t*eD*AhS^qA2s4<1tfn z+H+iMSzMSJ)GS)?T9~fEjEwVz@b@2)&q~a~O^8`vNm5H|^_8XnvaOucs&eqKu9r#h5asvj~E0=7Z{~3FbTCo;#ieloc_Cg5c7d4gN#!G~7%$ zd8Q5${B&;yxtqH=T6;M#6M@68u7?_Fpw8w=lwI-9iEj6K?JjoyDRw^b(|{8yS!^&9 z)hTy0$cL)%KgU7^tBI+_R*}kXqK16BuB=7g*bHA15O*V0rF*kEr zFTVW8vSY}SF;xheJSmGhix(X?vxHhQaX~DRRv%W$hBfsc3)v@%42nr|=nBtHH=Mpd zM>&LDkkU)ib!*~UpkY?I57(L~~i zsP_aL*qTaFvh*?Os=OL)6Zw9A36|28MUJ^8l}b&8n(cM;I>o-FV~;%mz~Jy%)4_hq z&T(W(g4YMWg!*q7k+A0StNgi{nNj088~{iDsxkL;KM^*WM-GFvxrp|38PGzYE%EGJ zMB1-y@78TC_C43ThO>f_#luRQV*z)%>1oCvS)MsqzsCu}KbgGz$oYXhdKg#Q zDm0(JM}2<%$Dt&nY$H_8MNNmTQlHuSFLs&p#ZQkxF?_zUVo}0YvF^@aMACp{PX&*K z_AHxK2g@Yg=L&k`IsB{Lobk7spLqluux&X*_sEgUa%UayyPx;p8Ejs80kTE?j`f48k>7tc773q;_%D z@h)z3cM+i>80bCl9$DE2-Gn2T@PV&LsU@VUJKzrnxQHHz&?Jir6uBHmlYVUuFA8?2 z;QQyN<)S)@x@L@JE_T#j=4?6&Kc2?8w^c7cPWiIt&PA)0iA|_7M60W*p(TCh98Vql zw6DvvdcJ41!($Y5tRi_cn&Se&4fxgCg+~2?2^y%UT6z-9*v&9w4J)!9HLDs?!T1+% ziccdg=s-;^0HJD#rhZ{r^?C|TobT-o{=}Xu(F*jYGcR_ww=Bb{X4pri`Gl^1*4*wd z-BZg~#9i9&&yzMXo3wZj?z(nG728$Ls5~*nb6Z>dj*OA#kA+fGX(UMx?C;s~=Z);L z`MQ3?eq*kNEL!iRi4yL~@*`}Ua7gyysmyW#N@Nfk*Ay5Q72 zVC#>+olwNS??QV7q}Z88IIzXQQaev~Nzn~Ma=sC}Vezkqyl>!6fm2+B_u-3l$JwweujH-O=>ic3q@KnL}aj6!;D4DNnUUL$GA!lakM* z(?S@35vG_-J}ji-8W9Z9fH2!ova*{gi6NC1rFVhr2h8LS$>%iIlgDtsp$PYdD8Ia@ z1C0vD_igPs{jh)nE(3EO``ES#c}Shk<&{7Qf}+a|)$k=4A3>;c6{C3iKKdqaz~^Ga zmj%a~H5!ER6CrCexADZ+l>aH@zhz!buLIKP<%eURTFGMovShA#5uz_Qmqaui-iY#M zeNUAfQq9>!Q?Diak$(2X{*CN6h4FV!t%|2=NYA?e0!I82qFwB2u)?1a1yZ#5V8!(WzJ_E6eo#~BtP*Rj5T~pXrx4-2gYAV$OT=O>tDp(r$;NK4j02}VO9l_r zpD-{7RD(~7WkL@DzERl}G!W3(jR`m<7^2Aqr1x1-$y!ligP+icy6&TOgd+yhbyU*jjKzpt4eRGt`awgjoBiZ+Wcg{cok&} z{>da+AA4(yJnd?G+xsZ5nOrSZ(zq6VODvSvJ284oZ2z%}=1uXZUbQ3?3A3ov#HKEQ z*4F(b1f!o*G2;vjKYRR?OGQH7!)8jw@*-14ft_R$r%|gFiVI4$)deKD0r`P{lV>8B z3O?UJv$nTZyP7scI2Gnv#*Dz1eOMb7Z!yVrg#_d=(i#w&im!z31;fQ z^fc_eu{DzlMlC2Pa1Ji#qnh7k8yTH0Z3NDyeCnuXsf9+^UOc-?VHisB$SJpK+k`L$MAF8l5{WGMF8m%o-GjnW)oNa5GT_Kx{^X8z$(Opn{ zw~QfE*TJEb_H$WNVdZ`GyPIk;q<(0Pgp__-M)p{Vx@(5k5+-XU$oWn~B{S)w6eKBA z`Q#7Rr}tE-f0(}tb9JQkMqL$uTx?zL-21vSY`yZ0j4D%Sb-4CN$O%|oOdg{O+%c*c zDjpY?AtKM#NJw&ww-D35kIV%3j)2Jl_+bW=w!#HlhUmfbDFlb--OGYEs6Jq(6`)7? z%>`J$BIwJ#>oSP3AIMPiEeN-6=a&Gj7Flhlp(2C zs(uNLvQx?$L*EUI_9C$cfD;ZQJ<``hVP2zVGy!EbsYv;!`Q_XI-&*@w*AK5HV0;v9 z`anG&R5lUNDR@-g(r*sIZ@;>(ARiIlvb-r`Nm0k4Mkm7YrWo*~AbX_3d;KjYBY9hx zOO%+)OyC{ux7pSv^VztalNeelhJNcnxdCp>{2}X?-B>Ql00nT&7>ZW)b4rSk1WJ74 z`M`a!&j2=i9P8{N`j#7oxqI1o$A^9tmSY%ycM`u<8NWr3y+A1S?ddK7_6IDfN~wtt z*dK_fXQj6#Ztvj4m#pZ1SW*K_yWcTren~crrI6(J!5+So&`I6m?t%66N7_}by%|xF zo*IF__d-D@Bnd+%G+_oW)@Wa4rceFj$4sYC%uu#mfqJ}EqjT1Y)%M~lsSSJ0! zP;K#BFHhGOM%k+VH(ABSlGt!caU6e`&U^Q}V5pi>Th0IG93(|XBXt3fll!H*V*p7ukl z^45aU`)f86b-6;{X3-sG!QD=wnd@#rtDuV!Co6k;Mxw$9IFF*!2m%TCnytXCP(Z<= z3DdB~Fj+}WNtT&rQP)-!{KT)ALBsTJz?EuFupU}~&X~kV!7t3cNp3%Ce95tTb?UD- zEY`rkx37sK{rMR$H>Xh#jPYtzWdv$@^4mPXhYf6(24%48GaLzBu21%#Uk{V-Cb z@d1^ETX>Yh${`zE0X4REB3&rw;G%z{XpDlJnx6Q177h&BHdIgZ{3~7R*J)(NH__XE z-9G4P=RB9Ne|yXnO#md#5O!9AfW@YcnMcUXIkKYy3>yW%KL8ppA5+1oS@jB70DTsv z)Z_zd^#cGico;SaJV)W%1L+!kJrBWcx*pxk{JfQU6sqTmap#HA^lGbzx9f@!;;GU4 z@cNbVRzTjjr9c#D=`5hn=WxA~W4;sWpl1N1W@#YYuBTn2fn;TYWG|eoU*<9Dg~+F4 z$Ww)c!6J$HqdLq%N1sv-Q7}(FHcvh=*YO`Io9lUwOwm6hXmKGbCdGv9iy!Vg&P}gY zU9Q#~T=RYFF!Qie&M=T4H1lyXf1^+0{~h}m6FwM^3tdx8%gZjF|5b0-W0=j??mASg zrk79IH(ZQ|>iH`La_Nz9CNAmIuO?-JR9tl@XKt;zc_A!KO;wjtI3q`hlFHxc zHJ_WDk%e((iF~~3eM(=J!A>|W;sK;ERv7tH{X#=M%6T92bDZKfmstESa3rjbK3O0P?$ZzU=2=!Dponq4WsZkU%!>V!5$$P3ME8 zRx#=ZhJ?V+mG{g90ekeofCONTQRU|AkqpyjH9y#T(e@Rm0!7c=KXsfhKd2~ER7%LJ z>At{F&(^RptS+lSStPgq@H(}R2G6s;B9KTdpePv$JpcsfG$jRgpuJbuZQ1F0ay|%l zgGoVGg#5xO5exJ%8|?&apWek3;>8)GwOhfzR7bym zZY_ZuS&6nYesi-Hny5|A%C)*s?Rkp% zo+DK$cd20Uamv`FOuF&_l~5eBAsU#fIFk>&LM7Z~80b8RJ>J9r){{Zf>UW&~`Fun` zz%sAI9pbCk!8b1dS-pD;>7f!?SLE#gyQlBzOuO_zs6!l@@Efx<7?X9khy!K}ZdDB# z01%7h%&N;pbs;9i{vGVXL8Q?ia(pOuQ!r?Pb6klp#nI`5bHwBKqz6x9&!n=~uNeoz zbZA1o2e1|gc!ZZF487s+5z7Mep1*A!z9)5lT^9M-==|*8IQ7`zUF#nu?SHdk><$$H zatLf?yU?7tr`E#J#E?$zz|T3NCe#hT5zo}Q;N$@TKXnfz`J9jw=yO)Vb}SeH&xl!R zgrZf_2=e8?;UBsboZ+EoBOQz-9EQZQrn#2#w-5%^v_u8B2Kwr zGtCeyJpkiM+#k*ra|K(~KKuSvcCObb!fxPU3H*D<$XnXSJ!tI%-fHPfmiJO>pt)Dq`TNS4R<~dD;wm++dv{xl8swEOv;ge8^Lz1 z@gbA~*cx)MXE8|$a)0>IYW2ICMsw)oOkS0Zx@DxO4CN$ly{}1A+!j!Lf$Ef1R@q9} z@R}pW5dFo+QX(ei()9c&`Qwa_a!qA(Z*gi3FSlxA&71wzv9L zZw-$zXy5R9nDOv1J@5maPygiL9Z|^xjguiEAbV+TcjA zefX1I2v;`{`l&sX)t`tWgz?9FyJ8cTxwK6{olcQNc``5&Ru07P^;8lb-HBf}`QM~s zu06yFVQh+^A7TTE$H-MofQNR~<9P9G6$h}Qn}v;I15D)(QNR|)(5%aFySCs*EkPs7 z=_TShP|n{ES4bNmZRl~8M64P4u?3El2Qe{X0tZbd0H9|=x<*HaTI3CWLT5#Z!eb}r z8%%*tQ=LB~9%m?+s+>L5!3hMx=lZb0ho4dn`bvHY08U6gz&E)9`K)cv+?s zGIwvFDLKrYIh9mhXxKs!0SN6lRPrvW7yEP+?K!%;Ldrvh{r6KCf9N@5HzE}QClgp0 z$mDK)|C4+XNYZ^^egB&I{#x2~u|r>@IyY)~?LK!B?IpG8k3-^LU?4}JXCg!7T}o1g z=9!zVl+ecj1QxSotTU5A6Gd;m6dkrow}n%wz#KWJWmAfJ*0&F86qSbxx{pR*U&pI2 z@$!7&dZ9lyn*A*!G5bS~sm@PPf)5V083y^=Ge5ovaXMs1>vH{@=4_O7QHc@17Vzr% zDOHAy20E=4K{+4BOH!%>wCLJ03=)Sbf0GJsDt$W-IBEER^i?c3KVtlj!B%q&$o4~# z9cX~h?T(ctz*+NwKV*g)h*7Jg2L2A)YhQo_X+|;2pc2h~DegJ?$jg_tA=bM7zFL1;XCM!E z`T5eGWs3*vt~Tr5ki)b9SZXv|mzK9&AiyNJpO};HLo^v1Sv)l;2#eUw98F9dm!9u!wp2>_HXOBT)iai0UvAuD zS-iWYiFXfy=v_3%SYA}`Sd%@gBd>#wS~ ze*_XXvm`x~o;DSHU7AE&3OMDl5!rET#mih9ekN9&U@1TFMa~kdSRyw8T3xbvx$tn| zSHlG!9r44_y*I14mL<3fA-KWnPltgi-`pDhD#U>FE7MDxH!A; zLh4_#wm)ZiuZW$r_N=!N{b@iKyUQI5DDK&|dN3Vns`N$;TH0RY6R}rWF%cAIJ%z!< zp8##8-qcV`L3S+e&EN+q+O|TL^?b|m6^C^qC3LHlTAnh6j$dyaoD}EQ%=XvJ&ZlLA zN5mVu7@#6$aRCD!)u*JYbZ7u2B{44#lhH1|WRX981!!l{o@jj>zz5QzGO5HtEDOnZ_e7#BsN*%ph&tEmRH;-Lh zl`~X2Ug@>Wn;&hX?CSN)j(yln3}|w}!+8tXtjd&t~SE4XpMZ zGJiJt$w7BU@ppjlv?_kKw4Bd)zuO%FdIQ>~fC64T1^PSTDkZ|7G!-Q@j^QN^IHe9? z?IntoWm1a862x7DtgOc}Ife2&EvMNcpKdg)t!1)tCIeLyT=Jzl0@67+AnfJ!9~zrZ zQFmh)7agh)ncrzblcxP8Mf=O}4AyNxa$F;-Zzi@nl7!wA3`kzmmwth?j8^!4ukrgH z>DWZR>QX{{WPWg6y>{M_^BKzzf#y;%kx0AMh0c!Xu0uL~#}0;~72rrwd(2-z&Yte~ z@@e~8%Y6)ghN?p`{)o=!h);k$|H@CtO9a}2;$U#I=59Sn`WpBZHD@{i^o%nEMMCdM zT=ne>?|41PTWgrC3=L-bo6^DDDBSs7;0e2Teo$+yrqyv=@8=j^ok;A+<$_AE}6OE7hW5}O7aW{kBhaEp66UTwEeC%`>iyB6;=AbZ>XKMrnx6?vjeej|F{CC9!J z>8;PPS{0%iIK#+S<)RvG+f@vEm}O#R2JU)cZa@nCPa|KdvWEu6S=X}m9e9x!+;->q z`|91XfT>FprC9nVbL6SE{JnM8Iis6pd>kiTqU>3`+{Rx{5A*seQ3I{Y4IME#9fqwC zI*1(ikNOc3pvV{BxN>W6`eSBBsb)Z)PhEy~;in|4sVKZj+$c@gk*}^Jq_rboFO*Qv z>~4vU+7cL4ZvFk)pANu^DS92)?jLbWA20YT8Eo5kW_Q(!Pz z=qWyvm9~J{`36{fY6&tHwX|w8@;;isIW8}Fk9ZU9rSYZd*W$a#Tt0WleMggHI>Ji zGBi-JjhbUl1vyVGJ5L?q?AGJZgi2N;-=NcDNzsp3#oG+@w&@-l?KQcmxvrOP3S?{W z`iC~%r^Cm7e?LC?E`TUZTpt;THhyEdaMgH*=X5cZacefyOIiEA#frKk{nH%8$E{;= z87v{(-a~kV*W#+>@u-$*b9=NN<#TXlPpVj_Wu&=Uvwa6~c)X1Q>sG|YMh9)tuLZNAPzYw66xS{{h)uC|djcEimlYii$jO(I{}EP8_1j@Yo4<8R3Gyu}}TwI*c&; z_J45NcW3-t6#Se*_BU<&=7k=jRQY%--qC+d=KJ-=<%`W=4C~)-QA5&E*s~NH72Lgs zM}5XeeMBBT;1cbU;T;UXaTa$Q+T2ac*A}T;sWl{CHDq-xGiu` z0QO+e4aEZ9n*uFY@(x9yP9{pAbJGSm<;e*Ht)Z8i$N|6rra(F16tC|K6T$)D^Pf=C z`k&UJx$Y4PR$V}6`i-u~VpR1#E)-)qh-|O#ZHj;BKN*rQ&RQ_R(C6|?P%|~mczeKv z6M#`j;cF8Tp^r#A^DiziQj_O1nQN`>^FGBq#eU*#@=SMLEAjF0%~k1Gy5p}B;a4`V z8Z7MWhriSsHPy+9Pr%|Ow*!}_L~U}$zVOCjV?J>qi@UK7nz|yr)uI+X#m}kpFz}s8^8t!-pB(J zJyd*Kww_2A!Ya7O)87fHahNa~d7w%FHg*r@bo%(XHwU^U0LpfN2TTC6jDAarDxx(S z4L?^RmL|O9)#N4$2>&+rAvI0x~h1zE0T6jJk9|BA4O34TwHLV$$@<)X4bD; zY?Zl6%{h~IGFU^qakRNFnM4ZzeUUu{pFLiSXOLO)Wqocy5H0J)9fsJgR{p_n|La_9 zv&8?(w8=5pAtOhLZTAWKQP2x$z;UI}M}0Au5)bRR!^r^-NIR{^8U1j&{W0ZAmfum( ze1k;R<65ogzwF=Xb6a)`M;0qv77u3idlwx1{x26#xA19@8)s*{mdb}&pH>7$E{|UH ztPIF^xYH~jh~5)yU+*BSkWbuCI!nl7nx4E5&bDf!ag_Cjh!lmxWY*W)uJ&)+;p<+ z{mc~V(LEBS)vQ#{-TCN?${OA_3QrsR!8PywiK5N}aDXm6sKO36ShlSuz~zcyVfso+ zcQ(w>kkZ-RaCGh9EU1#z*gyH@E&oY(RG_BnMQqtNy*|h5ns@FNb?2S9L)Ajm^0R|+ z6$y+!Z@ssv=jW|hcCyKhd^23{IPR0D6?Jvl@hc*!KhnEvAC+4R@Ib|Hd@LJn#;Y|TVm4oD{b#s<skkR z4=d6}wMgfY{x>Ks_kqY8%@KG?4?{`=P8cA-%|fD+8w&_$D>Vlv5rI4D)mh^kA7UFH z>VKeXJ@#QtS@7O1I-DOz!Yp6hsru|rfKc1wV##{$5`oSU`i(83b5#GF(*`SS5ddorl70Rjef~PrAQadD zSS3d0;?#}@=JvZcb3<8WdJv=N4yL8-xW5SVp-7QPeo;MpU9<3oiUKulGX=S~RnKDC zqKXFd1~nGZs~+cg_4#zD!?iIt3X%Yxmq`rclpKqn&y6#TCsxy|tBs~+(^~9}wo{t+ z1K6%46YD!TN-I&o(D^)5R9~iir2lQ9&QG&oUW75hRuk))yK%8$27*T!n)+B+(m}>? zw}^+tMfvL$uTqhxF)lgc=B~xs_1ztoBfeuPcl%@ZD9XziTSlqGd4raVdN-{@>)Ezh zRI5d3O57!V_S0ijCb+#BWxxiYK|Y?#A0m2YZRi0mfUbOB>_hdM-gKaO^Z1FoeOT%C zQK|9mSk3-yGa9LgzsXp_o4@P=-NIa>!d!E_yu`_r(K=Z7ispmqE|&SBtN8q{oX`jV zEFld*l4H|0q9y=}(5lU0q2;>Hmz*Buk%oAwNGU7;u~1~pSdSP?%*F&ZJ;}dwVieD0}18WBMj5~J~m7Y;J{S5&8hf(iIER<+^_gEvIo~yly3pJbf zOb6iu5m1zhBi>{!_8JOrgya^C&$Q)ub-#vb zgTs`Ge%mA-52ji(1*(LecmB~IoW-|tm#o4Vzo#vN`;Vl}n-!x~VGiQHVWPD_WeAi_ zQf^4+=FIOX_UvzLB3WF(j`3k{RoX{+MQ^SE*hAd5vXeq+)@f|Debe9 z*6y4&cl7ewv%}S(C#y0_k=;B(;-v_q#2?l7=OpXm=+?Rwm0Sa}nFo6*$Hxf@c%+-; z<30y%9meha`1feU7S*uq2+;8+)mkCyYK{hUq9#^Q)-HfLEdxkJ?Fb@i4Zl}C+QD$jo3u21b6uUZe+yD17c;G8` zTw%QBpB}5JDRHu>9#UhTO<#EM!&2!(E&)f-!CS0ZO)NMX?+upGl0r*sfQJ|J);aBF z>A|4%=b_nI&5BA^qK?oG1m|&oDX76Hf5l5^bA`*)6G`QNP`LYzmu2Y-&t1RkP|xpv zV<_A4y@0c{>HwiQz4)cp-#T{Y$_m1!dVZ%bvTHG0e;2u|8+0)YKL&UFN)u^Jd-E&U z&75S~6XXW?ivsU2?giQ(bV0DiqMHB&^DGP@gZ|_4c>b#oL}$gD1?c@+ z2B;|{ms^oDYUsZPP$I7kWv$`>O?<#68nCu0jti(%N2yjv9Ra6c$|2+fK0s%Z+*Kkn zSn+1C0uih46`l)ESw7|PL@524?h~QziOSsViIB%Ld%#H018KnH@}HAgbGE=$3A5ag z5l?O90oZbf$bUmT66bzD5}c)mZ6tSrG&n<|h*TotBL$-lMrPc%>}|&uW(rn5e0!-@ zx?edkc2pQl}{5w5p#JRDt_OW$HTDpDEiC;UcXz4j%pxpD->U~xqq z0|<@f*}?_un8)|#z?LLC={=S%7L^*|FI6KasTAh%S@(Jd!^>cY($4;G z$Ku?r|JXyE+j92)`U1oW$<&@GiOXaxWBCzG4RkX6u!&|DMMEMhr|u+9DbN;MTvz z4#?S<8QVo@&tOj^E&LboP#}jGXno@@84C&di%9TU)OK`4`>)pi6iq9A{wwQq-HYL0 z4@hsoX;evc1zCv-R^Jd+Qj8_MvQ(nE9SV6V=o}AWrW(o3)vH>&gj6BWZs}y4LVmy6 z!OH7>qH0R~PWC$C-y4jV>rL9zrS)yKpHH`g-A5@`cEAH~qbY7JxW2Vvn%6kZG1zs# z{5D2LRuqBb1Rk$K(}u3W*`tOz=97ql50Xg4J_U|{%NdcgCPu&( zPoEz>H^HBp3wC~zHBrZU&MjvUJ)m;}l{sSE12c&t!YZ#5y^of0KCc2c%$-kfaS}iI znvI&YTcN9GyRuE`ZvUYt>*3AdZCHhT7r(Wc+#<53TsfonojqEB^GGv_tlm%Dt;mlv zXE&lfE_>mptds3Ts9J$h_i8@8Cszz((9-+k{+T^j{X(`;s6jLg>NI9f`r zzQOc6K=X?UA&l~Di%*G7C*LKJxqR2-?OMI!Tb3HW_VnqOLDZW0*5c9Gv5;B(dTa{{ zB6%UVJJ&@!LU~;%o2;>Yik5jR#q*;39}Y+*LM9bGkjqzqJz3;+rpRmYwKJ_@IfVy2~Lb^laU<`I+^5SABo z-$)7TU=r{WwO7Bn?KjIgh_arg{1Zx{5k{d=c@rPjtk|=>x$dyU^|YxSVz z6;!}A=1mBLPrvJ?P3oW3F=`*%@wvo`(Be1!S#H8*&cYSWLggO96>m3fjMl9_2Dh)$ zUgdPA)asi6WnFE+YLin*Bb|tS+h{V+s@2QtnO-TJj74UdCy|;s1}LC4q^t> zpm4j#quN1yz?ZNyJpj0|_98lLbW zA?9)q%77fM3DEJ^*tg3b z=z!sYCjGA!;X_t0tn*?h-jA3bbUf5M z-gBQs(=v=KwDI%8s}9;C-wj28GFDvA{A+O#D)&;?p&*YUsn`Nyc9&hccefwCStx*y zWqE2(w~(Tjd{`GIub+{9JRvv+0S(9xROsLvM><;@()X-zYW?4?(F9RH&A3;zn|CEm zCsDmb((^Bc=BvZ>oTm>P{c=vTeUC5i?ck0=*3)Sp#-8Iu&R64V zAC6CJ;^Ki#Fio_W&;;3{_f{Lw#vXbPd3&(k0JBo1f2B%f*QsnLT<>1Te=|zeocL}ZtSb27^D)As7{P*bw;7q3j{3L4t{d^EAbRD|482Z6+Vmq`Na)9LpDk#9}BMT%qu z&dtDG_)pOQvUiB7F5ueT?hwmI?gEli4HP4by<_`)@*ZoLA8Vd?FdD(ZOUO%rc%5h) z#D=#>-RS|Ys${N%+F=2Alx;Ww3#LVWy)zJIaN0Lil2_iPF8FrMMedGYE7|3hMg z{X3DI;Ksfu3>=sKYOZ0LFY`t1*#bMo@sp@_@~CzS)QRH}aXTGfM*fu{jHUSLnU}%} z=8(hN8Wn67dxkD`crm|Mht{hXDL8zjG45ctE$G?|`VSA)84Cc`!A7*F9=_G1F`x4u z@ty~%PuPBkH@TkKZS~D~Y2>ht;&PLv?FPHOL(!(n3llkrzkZh9oml&YJt@4O28u36u&W#vqR=z zrhyubnMHYMv28O+-NXA|fib^=Vtz?0|LRtDPAF>B)BN}=t0p_QC@!{H93(HGDO^9v zGAb~mn5JrwO!9E|x~xT*RyHu3X_plMi9Wz(j%h=AX}%Ex6ZH`?Y-EA!W9OIjEXOgQ_M$iN$Qd}sD#n|WrnZN!qb-yEslRj{#Gmj{{CY>{?#zmglNt z#NV@6MZ}|^wiG9S%hnU$Nf#%Ds*KTz2_<@ZW1jqd0RZgIc~dmc(m*m+NhUwT$AO67 zCGY+_+l_|v@C0Njt-^W6NDVb8j3=qu`5Nwm_;^VJifnNn1bLQZ1Zb`w6WB8T$YoTs zHOgqle9`>KqR&34=Nels!5vhq8TbAU(E@f+TB*&y~nh3?YdFtDE1x&e^ySG2u%6&BZV&_vLyakrA1(x1hHYX%+ zCukeKpZ@q>YllSJFruWwLYuOt1W(ak;#RG1NN#zY)=_=!cxmv{%Hy}yDPDS`;~WU` z>+OTm`33KbEI)_4L)Vew?5Qk&spH4*OGu8pJN9jBthGCMFXBcytIcZZCf0P-<6rwx zk>6stpLW5H!6=-IBOh%&yIuKjd(36~6~*tFKiTE^Hx-5Ar8!p>Pj65t!_-Dvl`8x= zIpGlwlkEmN=hjYwABfnFRf%jC#kt(z4J^CZFb@sL}E7tV#ixV-3JqPDunc;7c`~chl1{T<_J5{0lr)LD?z|X?Lz5x(s*-! zRhSBxxW%NshlFz=86`)MoW}ItiT}N@%KA;~;o0K`CFC(g3_z6t(`6UF_B)`-flNT@ z5g4$imSSqBHMwh_D$}BjUrrfe6u0AMH9tU58m#64()~WGXcJct0ezP;)Ft zCk;f0#63(h+;RIWW37#Wa>h`D+`56Il|6d@^do$oTKWEW?|jo#V72upcK=L#dYE44 zGa1w}`S6o*Ak9A`D^gyfV12jR$B7F9P+H2s3>IUP*nVp1u`(X< zlH=qF_o909t>jAg{pjERON^M24WhyUhT&MqVC3s~GUKt>N=x>`Pwa;nV1Nk;mWOS4 zCiNaamlmRdOI<)B!OiPf27B_x(F^(#%LnQ$y3c6nF^ov6p`UsY$qJVcTd1g-J9Ww2 z{v-;GL7zCVlw9_saKBv)t5(f^ADRCmWOZ>Psy(YGDa_yC-r0;3>K6bH`}{D42E3t* zJ_5=*GOMpubo#hwh7FqfgfF5Nhc9Ba^@=bzh8$$xOhppg$HZX>BQ_Gt-6`}xvo7xS zi&2H%jj0gaD97OpMqG|`(%d7Z0IG}2{9{HwplCEM1ax>XcX5IR^bV_@-fQ~bcF+Qn zcgR^cfK+u)g2;PYmz$^f%kPeU^Dfpex}x`su40&SJfrkL-uOr?6}Eh)hCnRttWcc zva>~MZFz#WDOcP@I%qbxLhW_zYVO#{1i2d(wpcX!5nHRrR2SiS6k$|=!T4i?FZ`sx z^-GoSrXokB)$86$EGS+hZ7H4`<|f$5LN;&|$horVo$5JbkoB-8#euD(^UZVZ4CR=n z+evaBB)=tM%~^p`e`O4@n4Ub2)b;$zV4QVvS!Sa;GTQY|;I=p!!|E@3u~xu8h^YDP zZFB;eWGk6KnCdv4*vrqmy(rRKi$(*GPgLAKknsU__tmPsj~!VcIi!}po0Q@gsSv1? z>t^6kZEY9FO8+(uOWyfM*BBF&X5!#U`9Y%iH(ao*FQan{%Fi?Bmcpz&=Gz|O97@#W zo{v0I-G(gKh-xV%*Jnf#C3=O?XHPdTKg_^yIWZ_>hA>?C)K41?)O=1qyj%KEBE{DYSPow(Pk%%KmC`$2{b+`*(C3acEr_?s(Bo2CW0=FH%;I-y$XM!LDuMb`CYk%*lLW*^AP72K$mx?fpB zNm;l65Z=!Z=>P#wa-p?hg$3#WUmzunG^_j%?OcI)E4}b}Me~{=0m~)PSIDAMIGhm- z<8-G2h%wbNuH4K6!>CHHNgxPFG{LJSrgaG>XN|VldMzv} zfs*W7uSWzvztbeLV43Anvj32=ke21dC%$gt(cN`;yZ;@9-bYa!xC`lZO|^7q_3J2e zPfjWmu^Yx(&6ikob*1?94>2okX!uxh4#@8efR6l;Q4GK2tx@kI7zkf!d1eXq8hs9+ zu6YrQ#^2QpliYIn?j--@1$p(!i;@?g3x6D3yrlm;a&^c(D^R+ir)@uPuqaUP@nY3O zfFAqR4Uz;XIkwPR9xrLlY})guP%dGwpz(3Ml}4yGH37@XFkf>vSjLTK8(kgCOJ zJc?s{@vqD6#zcHHd(sG#0t+bJAKMb(&>Lqa9_gH}9n5<#iS8sLgNtpd$8wT5d=m6d z6iRt%*0y=J5nzz@+i~vZW8t-*6=FlorfTfVk7d|wF7GZMaUE^A7XbaA+|tn!Lr+ykh~ANoM@7xw-L zltx1q@Sh~{zrhCrB?pT;otf%>W^ryznUiK}P@s_YomC8kj)`SsqZLds z)qa8G9C3gfc37rLyaF~(Ffoz;@Rzr{#zdiz`>G*N|DtLNY0s2z>7l9V!*BFlBXS-f zab?GH>K8dby(hHVc5T~rN{(x%%a})>GqU9I+;=-pmw z5jGGl2OEX26koQf9zatUIx??)xiGL902m%JXP*ccNxK*BEj)2Q0~R-s*VaR#XiF&R zczRn^heVy@Epp4e4l0ZOWAyNkmWCZ7;N}tX;-&APkpH02V@&CU+CR{en7HW2U^hmQ`BRH)bDE?qE(dbDK^l# zg?#>6fEc7fr03AI^|>dGXiWlAaQBITv%Jz)ZN0rBohioARxNjhUfiSs?-bHhhbVz1}Dj8bS2B>@(1aB??Z)(2lp-0UWknlDm{Q_s^W z3np%Px}Ge_>g2MXNhL~GD#Yt8wuE(-R8_5d zRiblMkWIXJf{iLlh)QoyJo~~PD+eLut`=6pDqK@3U zTcVm$6n3O6VDFKm^!DQh7KYNb^VC6OdRSDdU{$K1MWIj;ukGl&(lHg$_~eh7=^ryQ zKaRayNKO2u`UhQME`JU!7?2!oSW0tj`t$l-zGqUu?`!oxs}+(M8aVsri-Y5HmZKcfD<*^GLoVLi4w8t%H`0&5$Mmt`%i!3;t~s-9o$&LK{q@44SLw+Ur-fRjlcb8qdY*$tZLL{J=0{0a-)M}dfBJ#J zjCea`g(91Q1>z05=pN~9?iixM7$S>4{+bOm7c*)TRp>`aLJ_QLwU`6U_qE4lwD7L1 zYLcA2@qc+z2+<$*v@t9JCZzXf7LtVZlSnozJ7K2p2`>w)R%ru4FHe7i?rb`R!Bz1W z|3}kR2SxS1-@9}-(gKo7w;-^D2!cp=OLuoHA%Y++-60?#UD7Ef-5t{1&F=4hely>h zGw;mqUpqVZKJOFfoM+cne*s+)P6zECP&%B2CGb7_Q~1Ud#o2Wm6KdB{SE<@=qaQCLq(`Ir zcWx9I{a2;B)QlNewErMT;xDD+P2{=~-iK|)66io*B?Wyo*&O74*~sptjfX2SW-52h zz~~rOz(VIu)ALZ&*nH`&*AW?+#HF;4m#s{gnL+%{_*`hB_?6u_LEVN~pF81z(!VWB%!$eScvG|%&GRwLh6ndHAB-y1h|Z!G+L})iIda;5xRil{G>{EC%&WZv2=Uebh~Ak*63_~48j@<888l9867aj zApZ*}--{Pqw<`IJahSDCma&1qAff~6;qHOLajz&2-Pr?YeiMa+GxcsV*C z5lxO7IED$F*4=EpA%++aa1)~jeqXmBasru=zg$vw^{PnGY7eqYP~=V6H!1rl$-};QYN>(;)g2yD)dZr_b3VK>IY(Cgnb_==l!jVy zOKa(w`1`*#$<1}YpHm}gZ zT{Y&Qpf1l8Yu_SM0pQp)uiayEUWTENPuB1JX>p0Y2fUE!k4|jjP?-RCq*3S(rnbNYqX~lSbS7~jY`g=o zZjs;yAi(C=dTg-zm0=;3T7sTibUHJwSMflaS4EJE&7W1sq|WBCiQHkiN7#tv?ff zck0Fal9laOEBvI;rU9k zE6x;gb#G0eFQNJLT&+QgD;>Iq*>x@AwmPQQ)o3#lKGz$Rnl|nq2O%CV z0@#qiP5%rK1+Ag)eItmkoz_c%#;P|8vEm(@mX~-kuD~U_M|2cAU`%e0m!m^>xdQZ> zj7AiTtw|Ya=in36IBG1lxy;>@u^e%HSW&CIC17cd?snkZpymMk#?9+~&eL0Y!&>L1 zyHM4Kiv7W|{lTTBM4kE6AS-Fh`}>i<5uk%krtp@5cdx-x zaAawcA82sWH~E))42#yWDA^2zv|J@KM+C68RKz&F=I#?QYk|J?2LqHn&?K-_jX zlRDVZQ|QtE(Yz^d|0D80F2L&Mm-a1RZ9db#b$h$O5xbl`SS~q6ShY#KB6nu&xH*()w&v zeEmb%PgloJQv*zQ0-mvNlNqU#W`LW<)t;jQ0(Rg|P*u`#6k4doE>C8Vb0U0vmh?na zM1k87>jvhSe`*~uhbf?ai*IW53wch1pD@Mx|*3vCk(VBDs z*^{)Q?-vgJ2C+x3L>-+Y0VdeC~yokfFkg{ z@ErRfnUofnyCs+Z>;nIU+uX0aHYrZ7`fZC2QFxTw zY%#Fuo89I z`j_+4 zUquYB2#hg3fIJd2_b$678Gj683>@5vKDsVoXd|bc6|X)dptbl=9+Pr zVE6Xfe+AJF-b$=LL|ZF-U_ibKS;mptrVRU?651Tgu#*-x`s4FRF4|}zYPU+ZGr&Fi z!X*o}@p>qZ22}6vFfUc`7y^|D^`8Oz7dDN z<}{rBHvR7_hE$7#>dNRnt;Kw;4OTYNmSoT`RPnb9)ptzDb6Bk%O*RZW01UK_Ux6C~ zqbUZxY8Y-fjm3E$iQi^-=KwUIk84NMz(k{N>mw!*u>_@tdq+L2;(+1=K+wb7uBF+}f415kYF2hU$a?aZ z^Msw}k^Y%ynNH4;px{Vk!h=JY{iPKz`RT&9 zFXeIQ?fLkyliQ7m17kh9cD|42#)Ow(k1!rxY%uh>r8ItW1T7=3`@5Ew^_z|A$)U*0 zIJCs-rQR42<+ zmo0;ye8xKY9I@6Iahf6({BKSA?QY~8@_kW6w~G0AoHJ4Vt1~?d5SVG-Z=?8R(=2d= zM##&vd0edi^h+`sCX5erQ4?GI+e_QtUKn|6&y`nC_I@#@j96j@GjBgs_rPa#vLK*0 z+FO@QVCmCPg#gj?KE}S=?Un8Z!$NUE-=(so>{V|5ef7WliGTMSYG@miC}-AU>(Fm)O;h zsGSR(;`d|+9Pr`Kc|iJ9Dc2zy9CHU&h!p6oflyTEK5zcI&>S~WlNGVMC-VAEP4d`K z8Y$Qop`;m?U8ZXHm~jX%!g+$e;zRa*Quy%Pbr?j}_jvG>IBK7}bgo)goi5wR{bZXMAYbwKOf8Dd$Ai^KA0U-Z#4*h%q?k^^AAmE`ePJd6Zv_l>? z4|cAr1)@HaI!HxMVSH$quUETq^qm%mhCj4Co5{tz04Cjmsdn*V_*G*jwEy)RG49g*Hk(+-DNJSmczQUZ;`;}`1Mufi7$L_c!lzdhkpeBCHg?_++sLOSl-Sk?R+(>H?X z#wp&TYT~*kd3Lj!>HIC1raqF+;WP>m+!XE{8`{pQRcr3Ug&j%u}hNMLR@R>M$1PfiLwy4M}Gt#{tmYH^w z(K!mhZie>Z{?^svGlHbcj{Th5ocATld*d4@`)3K=ZLi6*7Mb3UW{%h`Z)6rjO8&i{ z&Q$7crnD7F-8fRb{K;8!bbUO>NKry6z7yfo-J^7f3Qfm6A@05T+VzpxBsnfe&FIz$ z0(etN21qLfNL!KswH@C&6=_VG%Ws>aZ+-0tG-%dIAN!eFJF&lTji$FWNl>>~33?4| z-U)YIU^j7b9^e^HQ2#D?(NfIVR>s^`Lf=+`c9|KE!X21)naA8{bCZ{}mY1}fQTX_+ z@Q@!56DuT#ZqXVpf3#>R z)|A!FXDaE&+;@(j;Q?Z)rxU5CWyry*aTnBo54=QT7wZ5laYHRXFctN8sR@qi?ktz$ z@4?%!C>=t~lsdyhae^6ne}AA0``q68D6AGCD!s0G z>TYN^v+xJRPSS7M6!wcpvAqUUBg^PcuF%^o)vlrG`)(?XM|qmgXSkAy5ncCM!(er$qJA$_ilwYkg8i;{ zwQOXyjB~E+6=-UV11PFotfBzw&^M>xZd96IHqCk+&vFcKVTu3cM_@pi+2XUf=b7w? ztOUvb3=f5l9%%tF6n%(=`|qc6@?EA zGhTvSrrbxSK*;MzeCKD+**^%Yr??cq-coixhj5lnY$E@_E>TcsI{L?a^zVfoL3_pP z03+w6l|0OdNHnLVgzKZXIGxrBK?hmyBAF4s{MQ18R z#hjZU-;A<)VFRo<#)`r-PVFnlN^o#l95*5G35o9$97VcA+vbtY1K0?@NHrYV)(yFA zuZzo0%;myBbRbF6Nh>vt`^C3~ROt2Z&8WpH;|$O{aXkYE#{#WVAT8Fx@Wc!D5Biw# zkF_a_gvO|(oHlChJws#qM#hIanke^QFAFbaoFPy{#A&aR!W|-u3!WT$Dr>s#pSSk> zy;CylAwTh|;P<5&+5M;dEg16q=AhbcxdoHYB)8*TP@fd_TUlRJu#GrA02xD%T^$Qq z2qXYv>uujJ)-lqAchpvGeyQJVN_uP(^jgFX-hD%JcGDDZ>jPrrq%L&T_N=@lN?+xf zz6OzzMx0*}9yWTG)|9ce9GDMrm7Z~xA{&emWKJe!Ous|(mSLF&$I)}2p!@J%Sq)~O z<8w*-M)xz)brbWRCu}MW6x_kbdmV{7K2-EX?+2%f>-en0lpD#C)O@_G&#r>AXWV@c zbRo<9Qgl%r1sfsMmv%F67p{aj$gN(qm1WbH&&JN!hEu73j(QcZsdz?c-*eBF)py0% zcU8c0TK&(9o7hiE&qGxSgi8dSxFSK;G+CAaNhZ&;OhFo98S2;XU;z_P<6nD{J;j4j zGGomMkfcFj5}{m`QG`AP1UXP0$*7GvsKOpihn|OVTN3Jlx5>3?^ATe#eO+Gj0)msX zt)OvJ+wog_O`m;QjD5Nlgxypt`}YjX(naqzIX1s-!+D~oAxpRtv>qg$#+E?O-!4Is z0Hs-#rrCHSe4u!*?|C5*s5+6aO0)p+QvcwmZ+2hYznlDGSyqNp`rz`8>NHqUq-!|M z>4%Ywwg53kPXK>U;=+c!y~>ZKVxmSr?fug*0ND^9z#ZoX$i4mwdK;jx)d9+34?atb zKsC~C`#2;JB4JMg@HWvt&esEqWRUyzC5V?auxn=KersWLIkfsOEmP^e@jg#$)F*uq z!=JVZi_n2m46RZOvr{q%F!i)ZL;*$t4@MaJ1)c1J1dD})_CVetS7WHaR>nJr&UHUL z0=5$;3qx0Mz3Shk!f#7|s6C_wn}ZS!Mn|mrrQZMwcw1bh>+C;Y>Z+=J_b9e9!F}PN zYj3T4g!L91KQUKcSUcXO5~VW)75z6ho=XBAiITFEyGmC8XI|q|FV90n-i=G12ie<` zt)9cJ7ZD43B&{)2HSLThP$6@p<8$e|vTjtFzSpHAWE%SYMxMf+Pd_rQlB;6{5PId7 zT6Ipl zD)0OL{B6QYXJyWMy}HD@^oM(X#3?s(T}tmCYW<(D*MDAK|G~}(Ka=F#tHSZ{lL(;B zrxT~6ok!va^{LlLPeKhqR3f6L@;B^|;$XGX(#{=Wj}H7i_%BtssMSCOW>i7%^F;uK ze^?tx$?xvCys-h|2}FOG;~Yfd9cnCh(rgCm^><@z1|#hJ@yqtM*72m~{`AvFTwRQ- zBr6Q0Q^^f=Y9}AtSUycRWBZCc3lDH1U1bc2yrEy~sMD~SU4%?uP95 zMGS9P8YY7x9~c2P&;(2vtX_ueIpsb3^%4S-W_k_j_Apy+Kez1`wC#SQe=%S!y~3lo z=gk1eOd#u{K7MYtQq1AE@f=q~=9#3D2(03f*0ZYn^hsn3Vi%x~Z@Zu| zTJg^-7!~mlbmZV=68InlQ~ebE8P-AE2n#v>&7stVOhaX;jtH|M}npNOTyxpy!AWx(9KN_jTCUTVwE|h?=A9jv@p3wi4;;;DG4Z zPGfmF7!^3~$hO7ZrGfy$7H-%C+Q|E0$Cg22)r*710QtV11<7qxsBXxUzWy{OOZE+D zZkjXv<|$aoBVWk2`CmL^H#e6-VUhEa-@m!>MgE%Lw4yIL3#4yzZ=p&M_Y`C>x^CUbLq6r=``&uLe@~0D+zJl?dA=) z^^%JWTrDg?eRIc_v{0)_&-w6&)rpZ6tZo0GddOr9mIor?g@iUho_^okh`73`o`uKO zY#WZ0Jm|2U)O6Mv&1xkY-5HCs%=iE4Mj6f7>s#0@nxo*9f^>}Y&kxvj`bB=f1)}p# z@t0t5Gq4!o&2;ul=v=M3xwSN5JDAL@BK0iW>&vPtr1cHJ225A{r~3XsJZyS?JR1c2 znpKd+tbFRpZuXa(*b+Tt)d+h=t14- z1KCNu7kS9@>j65hzw+%qJlTJRJbTyXCf$2mkthjhj7B=_S{K?9lU1$lJRp$9?J=u=DT)Y~316@p@%;H(hFbTRTIJh5kfBd-sA)!IjnN9wD!{6JS zw!b+3VOM78DWEBq*KbI}Ck$zMJlT_S@R(fAfnv~sa?oKMA$yhJ=k6?q=> z=YD)2{<-@z#ivW@xyu7OC9_V}bLyLWT>AlBd!5DC@5^lm%B|nG&t}jKXmIS2atxR& zo-yI7=SA*!T~LAuc746BLpN?+38(!FP-~IWY7osX`A;O8H$Gv_jLo;GOqo4iTc`Z=9IC^s3EufbC?{09%**q;6Ot zhG!6|61?&XzhTB)WSs(z#%xcEA}uQ_yMOhL(t@6yUbKwUuIsB_Z4ZZTyrz9Ds?9WM z!@hj<8k6klL_Uf-IDQU)+lTwP@A9q^JWyp%Tk^eDRQwIuexKxA4Uaw{vdC&g#BQvH z=i7=@F}bf}G2$a7l>j2htJrY5O>qm%YC)1Vkq>C_6Ld*lLbszX{I8PKU^7;uJG)?C zQPY`ED^sca_qdaTn}Cu6$bb407W#!sW?(>d+M-@i>{~I+PjQnAf#LnQa@clL=EL^> zDScp6NabEASTDd=2qLyDA>-E$mJ!NXWjwN%%)b%Gyu2kWKN!_3_gKWX|LdgClEu-I z1ueil<4lx(u3RK8RJ?L~C%AtuSaKos6H~DCoGtNlx;luriG!xSaK+c-%o$Gk3ub3R zKcm!3z%xi`zWBvT0hWS6lO(oo#b||7d5nwV82_1I%8nV)nlX``C8domW%LM8e9Kwy zZ%MZP&&CW*;-W^Et~V1{qcpx{UaRs2(TQ_M^@^~(*@Pd@6EMp202jxJlm7<8hhciyG@AaTG7M~Gzo918_Smka3KYD?hMpX zkv)slS2|i>3M_8{-dra!`;y0zv?{q;kb-Vo2_C{6h#6YP7iv?bXpa{%FKz&1h;i7? zM6+|h7|>1$pmYwX$&=R_%Xi+O6@bqyn(?I|z>UmJ9xF;7``87=oR*L{mymFQbx1jp zN_0rMVUHyQ)`HY>e2Sm=6xN7qrHACzu55CNo2Ln7kYCh%fIj5uoV=>49ohW&Y}JIl z^5VXUJnnhwEu@Zu_#kfMbl-uxbjUWGFLh+`4l#$zoA%J z$F*`ox|^ay+?J7J!k4l0B-?f_u?*v@BmDi*fia0TV8Uz+C_iWw zmwRC<55zac_g=9nbJ%DH*_ilKl*r(+JrjKOeL)#b-Kedy%}-@GqE_1c=k(H)&2d*q z?@#my)e>yg>#d@rb#`z&t()iZhFIBUNLj`gzmd34$7fyc$&Ck`t}_NBM!sL8I3Bg? zwj5gH8h(kqfVuhw*}l|-$n-dDSSO^vu-{jL^D zBy7BBJx@sK#SB6{gZ##n^v0C5(-y{*Bo4h2)J_lAj~BQTUg^mXf?KoQYrBGUqQj$h zN0)asVvb%NT?3bhXNT>!`+V02k19JtcL9~{`KzwaZ+!7T(R&83cRLebkA@;O5ZGQ9#0|i7swb_#f7}x5J*7J)aX@@Ri4*<-9xc^H++9s2_(g0v0(ilnG z55gi+K`&AS?xMJT#tkYZh)cRmUxhy;^Owq{nLMoIbvbHo3w5W9m`LLZ~tcQ)5SiQ++S$O<%6UM-7Zg(tEg zqlt=UTi@WsiuY_?i%@yUE+BJ7uC+SnJu0^Z@yEFWCXuq2B4xs)0J&VuD@Kt|;qqQn z1c__m;x9}hs|vpQoMcDST0T5XQZI2l@~LUkTDORB1NE?o4v9b{fYAj7cuNk%cCZxz z$Z~gMF-K22FR5ONv@zQ}XLRRkdKOZCq&S_T)a~7Y#BKcZXKbqo$6w`|FEnGnL(dNV zZ;BF=o~V8zQxzjqb=Vt)gN+>g61de7$mm%EVjlA}5HGP2V0(v?0Te=%-^ct$$c9=d zy=GpP`O>Q2x>L%JK5HFiH$|#$1IEiUHVuh&SWUH4LNLS_NBOP)+r<5ZWl#xryR-+% z;dC(!PKs;j)Mruq5@J2(1_1Q{{V}a~aFhhPKzrHDV>RU)6whKihHqpKn0b_no? z+_;YwIJD7RST3pcIx-@Q53I!Nr230kUWJ7x~ zCipUsq!79*kW9lXkxW|&Hwdte^-T4_eMq zu?|i<6EYf02+i<%?I*XC-XM*!?*?-0+U}58Y zFP2Ys;d+|#{a84_hXXiqaA7NkUGcm=+Uo4pIPfzCUQ@Z38$R{96cWaG~Oj`cqYQ$7s0@<|+N_TiCUCTSJM(|$)Pn6lJjI}=;lDMoD zx~k%{7;|sk6$!{e&Y{WK1$MmynFF&-3&Ji^9XEO!OwEKiz(()$zd%26O}S<5pBV6W zGCyBLm!Ls>M!tUfH-aDr=tLulGmwU0v6;{u7YtRGxO!D4*=R{3VcT&VHOW}L>xyLBbr}uEPc#;7Sc}I+qp<2 zRfQRokQyOg;b=;2 zEOX7IwmtvX6aQn(Al%o%+dyZ}YREpk4q+Hs5p}xTJ&4aT-N^#p;kVO zt~gO(U_LR_A%xHa2WHw!_^3!#A6DlQ>)QBS?X|XTDo>!c8d@_YRWGQ-!5Q+AE1hf``8zv^UAYR31lf3`(bup!#PYuxV| z=JyoC`!rW^L5rBMLa>*8MTl9J70C=C+N=H(m=xB+`y)XC3rLa4N1pHJ`ztgVMES{f zq?QRy88ZvCL(Wofp^DtO^tw)I6oW^Hv zZCIP#^75RkY`ibc>+pcs4|-4k-;1aQ>GlfgKqBoAz*wxQ}YDW z$L8?=V*;@P82D@@sl;-}HLqZNk zZYhGSVS`Eb5=7`P2{~fm*S#rz*Ry|dx;5xV!~QJ8-IG1R<<_#}*Ll0#f8APJmNug6 z^+~XLRlkzl!cMd0UXgx40w`c+a_ods1Xg4%l!5iX9u@{;P0B>GOSTnM&U%1A^nRqD z4`b6Uof&~?%}4A9tPK0PfBVtXQ}TdI~DkVaACoYr3uLxFU~HXa=y(WFCeQ_(^38=(@+RZOL!)b*&}~wXg_olHYx%G% zd9Ui|yvNz~k6K&0<}r0>s|F7SHS3bVtw&tKX?iZ-ekil0FLu3h7$tMAwhB%c;6}K)_*_v{4u{pmuz!p}NS(@31&(9FpX|x?7)zD`xY3$JP6o)N`E?tpHZlhPh*Swir zL4m1WdDS01#7hQ=e*j zd#Ny`hMnEX{^(sw2}ga-x$at)TJtg}`Yp_t*eME3DBW6KHm#V6DUky$AFf2d z@$dNP&hrNlbT>a|v8jn&8he{`YW#Gw=`?a+6t^;!t~%-e?E0iDt5Y>cMNtmHKnwqZ zL6C-6&(`caej=e!K{bE)lKOa0(bZj2{C3!;m_Sq_YomLx_;ZxJ8W!9J3m`uL4z(zj zO0R9gu1hOEWCd(LecTXLl8&HRA$0?c(Q^I~0vMGuS8fyaT)3%FCsrwCg)a~Zjkz4m zsbb`*0wz18V{lu7n99&=dU864ak2(hZXgI!_JF>lIhm_#Gi!OgWXxh2j4DBBz*SP7 zExgjV)Zgtcc%keb64)2E85_$LxcTX43RiNMCt8enCtN30oin-170HDH<$b8~@JPaQ z4`++PEHiW3>IqR-QnIu(D#huL!hIRFv)oeNVjCQ%$ja){kcC6_rpfgW2wKf%Xt~?r zidE1QoK(qc2mcWM{y%cO;=3-W6$(c4DY~%If7hvtBj)d-??^pNS5Ct|3Q^gK#D?WF zG&)65+Az1ccBi3~hrYK6jZSWW`6i|bcAGP@nnRF6JD2lnDTm##f_***NkOscqguUu zve9}A)azqeVO3aAO-NOCt8>mT=kQ<7DIlWWhw})07;puhVZacGftX?omPo;f{iB7h z^0a^vd!CH0l8X$;8%^gS1A|7hU{m5W4g5Nb0i3sT1KgZX2$o~u(n6Fng%^oGoqSI! z+JhyOIZpcemJ=i!gsfA{`2t?K3SPO9UMASyCfKOCle@SUV0?UE>?KKj0!eW|Gp3`% zoPmK)E*ZpUE&0oSmLnw*WdB^D`Cs-zuf!nYrvYTh0nNZyxP^XI+I~-y{*VF%Aost#QeTDxsc>&O|v$s zLR42jpe5(gYbC<;a3a5qv~P|rx^ht0RbH<;C{1T6N#8-i!I=*T++fyJG4%l9Z0cYl zEh%YWVn`Eapx05pvpGe!HAQAFL}Jb#c+efVA8C?kHkAwzS+VM9_Q`w>mh|!0dDk7m zGo5HISk_<6HdMA%jpuxBdx1@b6-g<)Wbtv2aAc5Jrc}vwCTqyRH>>X2?|R{4zVgJ< zz9p^Z%w{IZmOXUM9;#u_UU{*D=BxK$bxeEs^f#URw)yGf^|iGWLhr=P@ppm%<c!vQ$;o7foUFea>HT*^h?QXWrbc{z6oDlFCv^7cy7<`IFvPcY+*n!y7V+a1B zLVVNEqxW65`~$edDnYekFI1Yhy{sb_jEeTY!QHY$;WET{+LK(r%LQ~cY>gj1?RG{r zI564INQa$?JII{+fxy!;5jl9q_*%9m?eo?P?D>n3&mIJ{75($w|#7!XN%_74cMZuC z93bbTfp!J%XD|uDV-ziWBZ>9gia9(D6YF4AilCOj>z9Nn`IyvZ!|SETDYoVA87xba z+#M`UnZ5hegS*r{pA@PQb1xLyH!jp|=2B>qykF%&8oFG^3>`O^&j-Z?n!0QGQzs~@ zFAZxf@7ZKM+t0an%srOXx{v_^i}w}OFPPbU|7zBZ)C)r6|M@zG?6eClKn*L51N;6h zfh$4+9}r+EdkC>uai?RE2dx?5G+Knd`2-AONnZq;UVfnKrA8^2Pi(- z`2~srn_zG>P%=IhdZ59A9GKJfJ587c&GI!G!2IDe1T?w%wIF%hNO>c?0Y?-7IluEq z%CFvj91Ypnfj;grNZ?O?q2-{+zyKoXjX!PLeY#`?xDjN?fc~MA!rsC>t)Yr=rBXPjj09hFCPh?p4pcVX3oV)*^^A?OH)^$TYRkzV`n7ZT zdayM(1kgt>4Is!phP?p3{d!V4eDae9xjeMr9=KXlbr#}=TL)e>#ihFj4GTAyl->Ey z_F~t5SdPLlA(6@;6(9dd`^+RLGa#?kB%>R&e-q6C?cWek`E(PX(7nqQnZe6k&mJj4 z(%6-PaI9clg+Ys&bj9j{wCaIEO6=ih0+h{Fk#nC)TFK1rac*EMzF|We^gLg!+hNy! zqsz(Z18du6qu^@mod?kvwWgjoZ-jF3K$(#$T_6P9E75@lg8=)pu#)vZ0neY}i@Z7l z5D6JoLif+_KPYJ=GYwk2L;ZNZ`BT(8=Z5S( zqS82lj%!y)enj@8ASmF!@Is_gu(CqBQ5cO`mNrLfkcWyyRSxF zUZbDoMyHgWUu?j|$ay`}NN|wyWPXq5>08Cq0{|f%J)h`cxBbw8PE&sBz4QkCP0T0Y zb;ohG@#_eztsvSiP(5gBvetkCxZUEvK6K&t{|Ih`eD03G0IUQzTHk(?D~)*A3_^$)!KCq!1Lu+nH#*~kp95nM z>VJ}2zj;WqrYa>O77rN_dZp7(rR2!A?-$$|$${egkCeI)2|!{|M)HaqbL?u_jmGXN zuE;`6p(ZO7DbNBLX6(AQqLn}K)KiWEB};qzRt<9xi=M_U;^HTL+eYQry#&sH2U2ou zl%&uge-q<#_7}JJuwo2ut1oEi=;)pDA{e{}IsVz%3g1Z@Zi1`@OsPp!I|rd|%A60UMxwzVkxRVju89Y5}ZBRL*HC|t;p>Gfz1 z6B|%Zu+ntUA$`7uhh^2=HEcUMj+!nzn&Pk*+9ZqYClSWJNBlAODE?9g?v$dd36$uv zWW5V%f(=VGXJY|z-;ANrOUe1y9uc7sItVIoV(!Ri1kvkQJ3v4=fm{0}-GHM~C_6y1 zDrV$$;wOm^ntU#b0@xw+xdIkWNpku?MOoQ>It3|0_7!k$Ek_9ahMypJOI(ayuNs=K z=gvhaR!?X>y4rZZ9QfdMjxWR(oQ+w8NMJy%ijxvR0&+LJ=;ofnu!w`bjkoc^>0#vA z)=z`X{I^})4S|(s6oUgp=QiTySvPx!+rMhk>NWZ8IntYd*sTXlv z<8GdLC5;r_o`ZSR_oik?pPwXubvHy8%}xEqIe*-%zfDgJ%ltI^+j@jM;~$i<2LR2i=%b@ z)^p}97n=6{!5b9dUr)kBoKv|RM#9TMO^F^qEE?*Z)WI)6h2wlA>hlBRqHPWW2E+1#T37PFu_KbJ! z>O(U>gy8}{Y5Gca+I%1){tQn1D09{pOzv1d*!>=&8!)em&tm3Ih6Id%TJYi#h*$VV zp!(yV|3vj zuVE5nEkkYaq{I2ICUNY!WDH}8q@mw{^PFB_oYe4pB~X2E*wbNK`W;`h3Vmj*)>iIM zoqA4m5gLFmh~@YT|Nc_u=YsU66b)D2%g^8n3Ns|EIbjYn6g1!aibqR6v)8D&hJiV6 zVs(%??}w8lYf!7;r>;(8NRUp1q)+gb?rwTbLj-fZ*Vu-apiA7ZiQ(sVn1MACDxbnw zgZ%kd>2=MZE4`eoV_90qY_~1qXOF?V*!Edui~5r1MTzLhfZst(6XF@qKAdZW*dU9I zk_XA{hosx|tIoRlN86g;vlgz7g3b=3rdM3X!Pd~B@Y5tCbg$nhpbCUj`bz*_GfetT z1|o<-0!jl=e~2t2q^m_bMF!StF72;}w1Gg14oV1;sl@mr{(6)~yB13L?P?wD9iZH{ z(v9^u00Tf7kn|fn#R5H_R+7mcxq)v<2p-1GsMpBqWZ6-fkce%V8&3l46AH#A%%Svr zjVH(Zlzi-`mbyd=PtF{MGTi%)pU#V%)#nK&l@<8`aj5Z(R#nSEb*hY7OLW$KgYjKU zS_0+3(6=@7P;6dF^h!EmRRY?Vm6|{qK=%=cl=<^1afr8br=L4uv_6{Pd%=VhkfUcD z`vO$^{U{M$j#AXKNvl_{J1kCZ?%jv$3C5rS=89rlipz;0@R22COoh4t0e6G`LGIHs z3Qc@2o>i`K#Ur6WuBk(;Qxj~C774?M(cS9CBS5VJ}H`re9|`_p}x zES!yvcS_?dF4QE80-pEQ$f2xZ@^s(G>?oNbF|Oa(4EE*G-=M_uBF!OWz5)jp14Iyk2t|C* zRu%^I95 za#lNJ=C_69?756x;}{_hnvb$^fR3z+K2%LaFrh>@z7L*5#R+X@o%pk3ac!-> z2#`F9RF@}&W9*?+ehH4XB6#F?Q^TbrLwN;+*NVB>3#ly*&v?|VgMyQWtnv1ht!tmF zMMaY!Y8FBamTxM-KG>w-0X;=S8 z(^W=A*+$!U=xzk0r9q?xq>&V)LAtv;BxXQLS`Y z&#d_|^FGgTvoAb2&q{FTho1N#xS?=V0dvhX%z5UeND{N#+InXOxKP&V3 zsHbtQw~^olYAEX~8g5vdS(9yyDy*cutuxS}{ygpP?toLvih$cIaQy7(-7@*Ig@1(9 z;ht-dFsFfEUWid#8EH|;qwag!?T6=vrPGZ@Wghj$Ty@KB^>bYfOM`VY?~tp+zr(Co zdXprkf3*%Au5OuJ&wGnFJ-8mz*1-Qs)wZp<**$xM^U{6vrROMT`9$p;g%rWRWiSfL z-lLjdQyv9yQE3unS)O3aAD7vLSn)K%>6@tPF1#{{qSW z=h4-U5U5rCu+(n*RSZb>8IH?Yn?w8~A3ZnN>37NCXbddf92U+);@*JI+&!&qUqK~~ zj;Ge6YY70?o&0-D4WwJe;PQ}qwvAgm^`_9i$60(5*&P;v#s1=e1jAy*lt0l~f0S59 znMihtu`d-Tt`zU?^8zf^%W*LMI->>zVi*sbp#N#5&?kipXbLK63)+YPUwq*3VGS1$ z)DkWSHw}c360vr3co8C7lMy%IJe>&{a8=L}9PRlfs2a0VQhOtsXS@4@?jJrDw{1`VwNd+>8B^nNw^3fj&3 zONG60hF=45-+q1!xSKg&uB08UOtKnK`Np}&Y2;byscz!7(3e`$EX&!98k-+wef4aH zilanW-=I72~bWoY=V*@_!zv#@p&dl8*l^b)WzQ=r(xU}Rn zQHPL^+g(C3OvD@S60Ctu;c6@(1|`s!Ev1G6IKq;|Bc8M>;7w*K7$@y67zHhp633h` zHNS2#u)kLqul)KeH*hNQq+%O16@R|PA}qm4j8JOXQG}=G25!%w!7jV@FT3V1LmNO~ zey-v*=V0kdPTm>m#YKjF+#cn8Fafx6Fj)c19&Ib8>AYSoy1K-d9LeZAXpu>a!tY#I zYRKfby47`Oo_H-y`ACe|f6FzFGPd0$G2C`3&?|;Ss(!2E-lS2%GLgd3ZR&`}hR3@c!QpiE?+I_O4EPxTvrAy~|&@bEg5YS*@WkKlm?sqG&Q%Wa_p*d?HJleH?j{rN4&x?%GK73L^4`5dlpzCnFo-xaPQbsWJLk#%9NRGBnb>vC9Qpe3U&s7R zu82)t7x{Wxw*L4{6Y{l(B?Qq4l(7LJ@dIwbjs$j+GhRqANQW+T^YIhVHtCcNl;mIC z_!=Gz`~Kzr7t!wVBCH*tBOPTxy|kr~UF%nmPLXPVm3J)ot5(&@P%J43(eL>0k_}9_ zPi-gBw-knTBaxvfk7k1@xqupEG<%re7Dl(*Q_{Zkz4+Xc*~9e<4NCH;b<@AshKB_7 z%re-gM6bkuIM8<2Q1o`9qQ;Vb@Qr#+rZh4fecv+o@F3izJ;sF|;gf2~^ipcOmF-fDb^B3qaS@ zn0db91w{jHKlU`c$Roiv=>Y|dO%^dEz(m!t?g9*gIIstR=|<@66KIhYz*L3QW=9IZ zjAfVA{f2q&CO<``Hf{=J$xLyca;9&JN_8v5uIEKykH3}uqZ@`P#nPrm>>3csiiQU3 zk~DrtC(*aW)}Ktfy?%T`O_(mu;V^A575#Teuez$j$>6G^MCT_c_Vh&owy(4X5B^A! zo2sZzrDw9^09unbT6CNpS7NI%g=WnHLi~;S0mD7-v^)g0hnBPiPA1F*T>hlD))aaf z2pm2XksTL@pFE6lKyRmMyMl^;)0P5{4gYzcT(?xpvM7;VC%-!6a6aO+KSI6BYG_GK zW{E2L$kC5KsdeaBx)&fP?8Iz9Fkp&P^ii%{m!f~~DPgR>5N~PnW*fUp+`ijj`<+%isQ!U?A5qY*eS&z?VhUO^o zbQ^1=q9LI>6J5WOe{{3FfkuM7WoPGa zT5RNa0GNMpm_4$cmE}ErLE)1avp^mEu<{Nj&h)(T(2M%|hk*AF?d$OP(`{`qsbeIC-%Kj^F>kYGPU+E`~0 zHWdS{G-beGQ=oItQW*_8AlF7BXgrP&vT?*thF0-!}_6UvZ=hTIl2@h)4l zaxb50LPg;>tq#et#@CW)R{v!meQ_?a@C@H0Urjb>0MWHl(hI&lYb{D%zVu z>2?^wT0Y-_e`RUJg!J_HH9e^w6F*1d_k___cBzo~2a-eN@6 zIpd3}`2YQP=fhJgvJgfX+E9xp2kV0T^)d|{GX!6jvym|dm4(5;}BEQ#>Abtpz zE#(bR0Qn_mFOPx(E$#l7;clgRJoiislz8$UhKTcjKVQ5O<^UFvz4 zkoSro)BMRy3kHEbf0Yydxxh^NT>?ip6GumWt;O`}nanQ6if2j`D(q(ge$Zs(aQOpm zJqdTt67+G40WcL+ki0~0p|t{D0@=qabrGlB0Bjcjl8ta)dAh9KK?ls>Nf<}a7~Q;D zI(^l73+cS%>1+yjHk9Z079tlp%wz_NDT|D->BT!+_26(fDy5CDFm&Y!kZ(Yc zUfr{0MYCuM%)lX15A?f~*q#e0d&-~Qrqc31@_7OS>@jb0=N4D+18=7@xo-?JW3_~I z*xO`3_sT?5=Y-y3h>H`EKn_We{DskXcH%a6qKtIjYtj_qAxhgHG;*=m56k$^M>~_{ zXdW5JuO$|@9fs~jj2z5YoV*(rI+|vrn`flao?4FRE-dudY<Dhqg)R5 zY;_HTpa8Hn2!WCS0pFYU9?xm<0r-s7jWa$GB!mOV03VGa2}hJ&1X!`SpA^u<0#7di zR?(7|hsnc2)JDE98(hnZix~Zcd!ZQr;{=V?B3J9Le+)PY2hp) zgv^v9flYXz-#bC|&`}m{QSEQFw)2be2j5Se_39jSF5<>f8-qZXB=XV9pIC%#Fx)9t zWd3#lcJ=gj=5fp8^*09OumqPBgdNl9xAQv#*oMo3PK&GmT*r}BwD(u8dG(gti~jDc z4|or7BT^-TBQ_IW#=5haj|Ye%q&Bdmj(jkgH5m77w^~y<=w4%Jv9i?)ml<4yc7+?fy3)_zIF0s&Oc~ZxNa!txSL=A%87Tt$=ESQRB7 zeM;Pmm1>4$eR_b<^;)a8)(8;md_5b>xuyB`c2km`NkIlzJ_;}|oD5_3_%+auBQM0u z_&eltR^$nojQSPhw05+|&$Xw1EZ~VEMv%EY+n>px(G$j=7PpA*yr-S$jiO?NPGff-Vq)v2jVzZ?p58n%l5Lv8i+-QUrP>5?H2I9 z25)&I5%NnrT{D-DX!s~QP?~nYlL%xI@#lf?9=NDGc@0uIEZabGv{snhfLhtfS2ymP z&bTQyG6d#{#1TTXKA=NK3Yg$&Kq9T8iH~ygJAm?g{11>eq&5*sHiRr>mH+ikycptI z3{ap3CXi2UQ55dqp- zVsqvgLLQkKg4OrLFcKu|-TLAolW6zvi=A&opW!=(AFNG4Xm1;X(AhQup|x$IwH;3m z`B;afHp{~ChCajZrTsR&c(Fq%~jN$r6iESZwDLV_B{0%;}4#Ygt-;xb@DS`Y~C`-z_l=PlZc zD3Mrn0osuN!b#sww|b7@Wp|4Vd^;=zmYQ{vYfr*!Y6}Au6z-vO!R)%HO9-;$fz|@5 z7Pth)Z+NbBE&^=t>GzUyfZPKJF!1WHz^CQn~~ z`#@9nQp`}VvbEIS$6yTI$ygDzxk`p*?kf(QnOY*RsEz~+bbk_P&miT(M;k*NhR(nA zVnPD+cua5cd3P@=SQHQvrSdt5x41y(PlU1+=JR{#q1unqa&~Rw*Exx#Rt)xC`1$>` zNSH6RV!V6)D+?s1B;&0op!+wE##z1hvn;|E&9DBNkfrIi$3eQU|GU3J;=8};sJJ{} z1I4v)2BfyU&>x=_YlxHV34utg^i9qf!YalW)|YDY=!^FjkhU-eFR#QX-3_CRPO-4H zk(ySdy>^_QrL=qBuad9kRJ(B2lAg@aFeuDn3dJ*Ink9C$qvsC=FY5B>$gE+&NP6LE zQ&S`4jlh_v8U}S2J`LJ2xLvRzg)Sqpe@lDUMtmQ1X~EC{Z3Dm+^&3L9n|NbH=kW>_ zaG!y)v=i4b64_ItHGuXzsAQt~W>E$4zPf5EP&0QYTtD7oB-BWcVi6G>aZSu(gswNS zQLqPj8$9|r!i5Io;Ra^yr)O=aXWIbNGO#C5etgsaG-bSF9BrqAiG-<)uaN>4333_@ zUnXB!)=i&S>J}{8AT)N0l*v8)*t3c$@=5fx1YTa z`z(sMm@UCtU&zEJ!=5o&Dy&jun-V0zm`KZS{q~w#GBnYK!+x~n{TP`~9bUz;>D?ch z$4`H;B)S%KrrWT6zk>c#jKFiww8e>^9>=s}J9xFK9mP&LVHioO0b;v^E>9x$3+Vxc z=9L`34pZe9OedxQ5zIk=DDG2N->V;DuO~;^8~;r?dHvl~usWUbawfADHnB4`a@sTm zk#^+i^mk&YelhL+@PD(>AvdHS11&Qh^(*~*E*=dlJ$0?H@z%%!Bjw2&k^S$4I0I%Y z@pb>jRPql=(e_5f-~ngXWA#v9U{?7S8wkILMTo$N&*ct**Iiq2(#y|)2i=xmUU$RW(@s;-H#6d>z^raC zH%x#8MHO4t`M%`l$)Hdw8#;UWNqpn4Q*!j*56DLap%db7Z=T)?K1H6GH01XeHj^q5 z9u*nC$)i8O|1Tm^D^~^<^cpNaY3m=dJSq$R;1{fE*-d>e9A~JpilDT=;Vd}*$lSy_ z()XU;l(~K)-*+tko6{mj%-_5mfke<}qu_WP(uP4Ra@4ph5t;6kY% z6~J7e#9RQ@R0mDjD+8m5$(092FeE6|1PRzX6M#b6T+_JBpIDeCvpYK4Ha8nE&!+Zx zNYCBsOI6(I8Q%SiB&uS}1z@2gSY*OsZmIC#<#C_oM_muv%vR@Mw3^YF&$3h@3G&wj z8c(;D&^inP9QltO?FnkSF9^&htrQuqM^EdF31e>Y?zFgffqLn^)$Mj_OR80$+ zPTUDXEzdw{!jq7H$@_OKiWVzCKC>Zz0P(%NZylg{NxWM<<`X;SMTg`C9O-kDU=&Q~ zESQxYFfN;LG~9i;uc0vB*u!zrC}2?sPgvuZudghBMLuW9>ptCc%bet9i)}D-2JO{k zZp4jR=iN**#N2NX#2f%gAimzp+i(a>d{lA9GZH6bqt#a@kuKXmsYz^i!-!%`Iy`hl z4a1H{x}iUb<7#^XQ6rj-c&LV7h%Wh2ZtU@dYYHvdr5{hG1dA^`1jY%fR+gpXv^;qc z<~@;D23T;5!zfHapY=FX49icFk{Hg|e|70Fcqx9C*7PRR3m7hF(Yy+d&}@j&j&#fo zy*3MY6tYpnQWIL}533s`FgT$o4Wd>3MpcS&-yr8&5*)m1O^l9nnU3vqGrYB!G0-qG z*fgU|Yioh`GP^S;Bxt2u=1HT{jH0hP1f}$m#|NQ+3NVJO;+bB4CV`ZT0r7^9xf1Xg zEZA@1-K4J7FOW99p=Z4!GCTKw%RGbb;te6U5~u(q8z~{Q1PBoEyKXMthv%iXen184 zA6oMV4*YSYlnjW}-8y-*%tFWgitFcXcVZZ2TGqd43$Z^fuGTAq$X+3W6U%{o0!Og9= zq<|&lRP7$*)4#aC1YU|5$L-5=0IUFi*2|2A4^e>R#-E%9O|Y=HNv5_d6ccUrJ{Ygw z{umw+qNw9P&f>>YDP|{Zd}#=SOa^e-#|iRrMrQq>GU6BhY3?rF-8EZDPi&G&$~S)n zog+p9K>e2?kWd_CJIbPge)|XQz6=Y{K=)0=0J z4UXkXIS1hw{7u>BWPCtE%SMYVz(9ssBFZ1~!wn*W@U#IGE$&BoNo)`1hCA03E`j{3 zEZcFa_;G4$92#ax`9pMk5z{0IXekzuh>(H+ZlETJT*8Cf@%R3;ds!=4WdoaSqQqFd z%0+hLLlrV(z|CH8^|7#&AcE|-QTLQ5p}>-N&lr%s(9WMns4VdsH55sb1+ac!nz)vW3QLBfcYP1PX*8bk=mSWU39lKbhD`@B`NtN|&RXPbJ(a_;n>5d77 z%cBfVZBN+wQucO+V`q+|M#@MhI6sxL%(~Qz2{$bhv#_1X-%w)WzCQLfRE_4d`(%6){Gi* z?2tWDYpnQn=+_#Fd85`?ijW$5IX0P4%*MRD@B&BOUv{`|J-MK`ZOjhN&j{ku#Oxrdd+hw5Kb5*H9tzly;{ktx|u4>iq7Zi}OKSw^G8w8d7C)gIc{-lqf zRe(G_2TbjLGXM#}v}{P5#ok2S#5wLy-$d~MD2yk&lQ3I?5J-nw;_Pk^X7@r?5Bg$# zSm1ww?BRADfB>k=eGW3-`&1l2+cBchojnp@1JjT{1A%3rLZMX~5?J!@;a%#@FLp$+ z`#js+rFdTq@tCZM4B1J-hZZvJCPq4m3~DYjrck#;Y2Q8iCgs~ZAy6s_C0~S4F~(t@ zC&ptZhRcQR2yRvfjb5&k4P=RlBJM1zvP3i*16;1om#V&<*x9aVwz~QZg=DPq!flX2 zu1sGSzz21(j1Pn>_z?l@WX@%}bN_-nW~@7B}coL=Ur zUgd22jWPRG5lyxW&wWl#B4)2Ne@8fg$JYkhW1RZXOD`c%yc8QMSv4VFOIcNtMr5vB zv1~Unz-=>6T~`!VMdSNOIWRJpm*(=zpX`4oH7zJD5_-6yxCpRQpG||04Xge_;(iXm zKEtOC)eYGyX~+Zd-eWz_yqCB{!@-y3pMMEG^mm*_tX-V8;-*+3G3|braQ~=P+ziTk@E6XosI_c5umu}hD31cqX{Hf0lWt~&1c~fs)Jsub$kJaw!s0Ft(0Oi z%DB%oq;K=o#O=}(VssH0;!Mht$O?3f5yFI@{Hk3GbGag3Vr{A$J8Bp&f5<+Go}war z9!K3zfzAqD;%t^+GZ=y{v!8}gQNggV8INKA3FcMpB)&FoL!V=wY)8l>k> zf+x(`yvOb+KA=DQGwunSxSlJa^x|F4+RkjmP=4;=bPjY0ABiEjT}M5RGoz9DRhv7WmVNCSLzcARH|Yy` ze=Loo<)PQOkQ?LBW2aMr3knhi@`7s^m-M58sI?~)X?9=S_^6}5*=xXiGYG6QseSiS zDEOIHV4^x&hHil8nGuTaporh#Tl?l0t)LtW#;!O&m!%d7xP|hrO)EOZtz~#jUG%vB z+b+7z*KL=K7@NrO<%)R=p(CF3Z4?!cMfN8<$|bu9_(q=9clVr+YMW6-2KI} z6y&zWEZ1~BB9S&o#eUUAyOXqWIQE4)@T1P@mUZpHMY?mX(2|oiLkpt)Mb9VMnBeZq z;O@y_rp;g`8Q)H_bH+A4C>8EVLina_z_-Z$)0i3--BzSBbdF%m2Jfa)>N2DCY!G^m zWqOYB#&?}b&_hpbHM47=dVUXfI!6jPE-+&24;dxS;$Vi)-$j@MhmiNg}$zcUu=X30yswyArtqV$4GzhZgbsX z@;f66tUrS<>OyyXp*vj!&hP3x7Ev6g*)P39(42b^8JdY^@_G~eNl?L0j8%WWCy<1h~S7y=ZK7bXJ$o`?yBOwhAK|DRVf&q_F(_2ZD#XkoN|#pu!DxZ4%;APBwW}}2nla2> z10*?+(kGDWDI}Y!!C4^&7b(sy88bQ-@h2mq-g;(q5AC&5cG`Hg6E#F$$ZXFCrOYSK z<$+!@M6OGFbiRI;ga%^q=MNjaN%5-IpzfCYUyTQ3N9i@b=yeZJB%nMFErb#|ya-~e zm+j=i#4Av6G;#h{b%4zAk8WL!`i54@&@vSD%?Wgm%&MSm2|;g(?g~l@R*z}bAI3Dal;V?rN;5ywsWRTUWZWUkBPxK= z@egS1Kz>x3%D2~7I)YSXTyrbj4l7ap+R%%Elz&7_kwQsJspWh5s#n&Vo&DIWn|?eR zolCqEn|x*ic)SwClS~DlA~*mBl&7@=C_i?nn3l4Jw!yE`L5*aqKkt}XZLHa`cu7(9 z+_RNs)x#Z`ixYA5Kpq0rtpDy)8sD4_mWbS_Z3xiwODq;u*AHhk)(K~oGLB=#gah}= zI$GK9G_`Vm5QuQ->HJ{k7|_yznXrH_Gt6?|f3pq*lg6+qf96!yA&W%cd_PC@S#U##;W2uB^<4f=pC5`}863EyvNCf?kl-0tgpORO= zT}}D~(jBCUUo<4S~7{__xW!I!-sg|DE?FiM7)$FGZ2stgaD1_?D9!<4N{vmR|VWiak`YzBNsBRCdY> zCYa63JxPV*g6YcdNlb{wUCct^Z`<(dyMsf|k*^dFQv#XtjccxKq%9Vq(Tm^jWciaR z`E(RM`0_4dkvzKmwM=Wp32;Tq7keY;V;OS{E;~SCs+%oh@()4KP}Mg3B>G;ZJUn4* zC)6W97j=3K{`}P+a}{k~A8>y97)@bI00Cn0#wqA`TL|Cy7Dx#HPPWVHXzRv4Bo4ji zkv8}|s?$-E{00fZ(ZxlF0s8(bE)8vh`qVoTibUF+`G7CO5r8@!Mp-@b~WJm1wnH~x= zwEokv7$F3pHEuc~08sEDZBV9(VOIc;^8d8}s`daWOacHFHQraehKr+tzh~AxH5vdG z%uQU{emh_5cS!4ZNHiZdC*u3DTNB6vOAB;aN`hXQZu2|GrDqcMD`LC;1+#JN=rH)Z z0I8f%HyTW-7k&vomZ5KQ3cU6&4t83DEYBQl7L0{g9@qDTxiT{^9>?@XsMEtBFg>Nr z=K#(|dk7~fxHApO4wUzL09&#}#Q2Cq5Cwq4^#~Sf<6Qk}H?4=GTu4CIeQtAWNgxvj zFer{&ilFpApo|+Vnp@IogwNfE+y7OiTJa0v@F+y*SV{V<3%%_dJhQTnC0321{+{(m z8px)igiCRoRu_!0HbXFgNfixk8@8hHU)>aysi)l%hwxu~yjCE>_9{a>+1h}vv;4ji zadief6L{XK*B&LUeP?s4Z1 z8;~;wVxB>0TCTXdA8!pl0L6B+b#r7+cSDK}gE2*kVOzfE=Dw4xgqr*9+R?MTGUnd~ zV}G7zGu+XJ!PsonJCL3%BpzKi+5k&laHWQhQ398_Ko`v`K@pwe9zAxZ20sqkP{Aaa zL2+!p@vd@1b5@0fJ}b@?mX&ZA|1X*J@Nl=g!~fjQTzpRFndyqoR*9h zz%*?;Wn06F1Rr2p2-&@ozyVJ2R*ifwROBySqYr%CZ%b=>Te6%y_QC|~yXrL=_tr2; zDlyNyRq}OtB2~hPo0qZ8Gg~h6J=_6Nf=++sL!UvEDKWQc|4&ebt398Oubuv4o?%(Lfj^x!Sz{QNg#mY|rwZ47=qd-{B2_Y}?RgZn~l0 z;KsRBK0Q`GY`n6UeL_brqS&K?RY@{9`$IGE!P=ca$=U0p!VJQTMi$}OW>^VbD z4|vaz{ZLl;>Q^y&Tz!i1VHxo)mM{H%MF3NfD@i_O;`Q!ZfZG)(f*S_^`ss}7Piwr} z!`GeW6Xv(u@pQXi%}(Q-2@DYiOReCIUrY)p*o3qta&OR0`WHj(xA|V2qYS4o2EVVg zb&Rns4sqewm{+>R(?VKDkGkp?06*DB?2*g|N7j7Xsi)2|iETL;)ZQrehW#lDEJS*g#M<#wo~!kORj? zuUdQ$+yKA}*y%DgCenbk0g_`U+7QWOxC=)<9RQO-loeEQad?;p-%02Iuv)|m2Ux4t zR+i>gminhn{6zRklBxtV$08TU0$rIAp_Wi=7846gOm04kh!`5+N=O&_{dxZg#+nt{ z*~BL!O{8Y?Pa!1do3nmplg)qq=ORp+Pfs*CIa)IiWgfU(nT3eny*a3e&duXmgH3CJ z|FvW%-vj0MlM;s&?OMy7;$I^B3$-&fE@f|(Apamnc&Eru0JeCE-l-ifFBgU#IamP^ zX+Om2>$VC2)wHjiBpgv;*STBe;T(Wc-1nayI>6{fVnn9|XQ0(ke!m(}Afm1BQ(3Wg z8gjP)&#Y=vBq!`$Eie=orWr)Sw+?2pXy6iAiAcuo%A|VHABT&anlA7B1T{uA)i7k5 z#VRh9L~9FfBc)A35CGJj8?`<sfo z-?IwXmDN;6vNT#vm!mnJwdxrBWn`$}R~KhcNu*`zQ%xLF&>o~3Yeb*|xyw&Q18pWB zpOeD&LuBg~2lsn>U~mK}ZD2NxAg7yf34(MP%Qt?D$82cv4!{-~2&jMtdyW zlkxe&eBO^IlEyO;eQ7LK#nooMkDIG5!yn$_L$s zP*|but49HmO;o6A%q8;Q8H38=mV?mO+ zHag*R#ZL#PkuRxz%e76ZA;o06^8Ce2kdmLfAChp2sN2(MZbfD^e_lambb4CTDGDq< z`o4+rVCZinp{pa+RZz!ft9W4_0&ux8-Nxole7CBnf@*s;vfLT_Xd(1fhxA*1f5II{ zWT2Sd%xDZb6!ZxAZs_~-ofnDN-m8TFOe#5Acla3KT#EO&oe?>tlsD1Q9mH6H&N(0U zj4P+-CqT!n)U-zkQLd%>Gx1@8_~p(gein>*3$Q4YZ@X{RQA%AM4qD_<7Pc>`)cuhNl>yY$A3&-Yf2Mj{jC>Ay^R_=`=+ zbw*=G)YKah4-jCPo7TmViH^6E6c+54jl})gwgmi&B^6L%LP1y>kXvNrwjPr=sJ5&K zO^<^^d`9SK>*dB>)`CsK=?E)fHVZmzb_EZZ6wZ}}fdtd9AMQ$+a!_M!D-(4a6ZI`P zE0C_PDnZKEtSYckU3pq<&WwThr&L>L-At;j{W3GpnhA9R+_wHB#ef6|GK78yV+OF- zetn`#@HccV=Vfv^&k=kUuvmMZbYlE*=ivJ0)!)|ZsdQ-OkE@P8J+6#=m8aOv4=#Hgss0U)$95b5f99)_gCb`ko>spV57IJDyw6!}>wTi3N$pD# zxjAAqJUq|=xagdw@kxH z-CD<)9hOofnmV7}$EkYCBJo*$^=dl47Dh2|YdK|1cTKnuGRPsdvi~P-ejmwEg(UgW zk)E};zy|Nv9YPs6WdxmsZ4wqG<~O2gz!UC1{yaZ#(gu9*z>n{AoLH{!NqF0qS|i!Q zBG^OnQy6@_bo^YWoRt-`xs4T~H^)1FZ_NbxuYJP{L8JeNB4uq$@Qnf$_~h4S+E6BF zSd%g${b}i0Aa!0Jw~5*nZM5jzM)MW!8FYJ$?3vKCN*h`JEa~sLuaarN{w?qOfwn7izugu_Afl6%FU&<&}G zF>{HYCvS##ts{7(udgi@okVg5!TZ2$LvmN?u)T5tGOrjqEn*U=zNon_Fc-Ze>rPDk z7L}jvJG0wwxwAg?%uP2l##*%0huC<_QRZN~+)s8Bie8pT+w?B*l)VOFC36Y?zK2{^ ziKbI|-1^r4lt%kO98>?uK0wvo(ao@;_C!cJp*9z6P3saF&3Vb!*s~QvNd&SOkq@#k zTh@81)hge%KnwdHk{C>+_{w?o>F6GVHwin70yTQfthjuUDf@mbKs-XJqU^Shnc2l{#IW>A+Bl+(%#x49PX)XWJZ)ZS zy9&VA56&)&9d&xjZU<6v2mpQX;tYOC@R-}qZ_BOsG6D5|yZW!=zJqixTR@uUa*9mL zdmLi2_8N3eDPa_0N-pGy;2xBZ^S74gPw=$TH+p6F)}^c0<{uH}pp5g6Q@$Cb?e^u| zDV5&M%f4IDZV;zbw}fM0I(h=!BzT6?r|mc53k`5UT!juyfQ}lYB-uY{fI6hr0w=G@ zAs_x~q31iqU=sU?RW?BPGYqX<3LjRRRD%wn0ti{eT64oOJ}z)l+It8l2>eF`#W$d@ z-hc~rK3v}o8%jQwL>zuu+fLu@dw;qe(t=$FVW5vpBiJVSzDIRoEd!rPqC9zD*qkI3 zSj{HMAP6vSTJ*wR-~tUPjz-FVnVCNjCy8VaQ~1`+-L$Zik&YvqzDIDlJA+`abYZV7 z>-(}OQTNcA{jV7WEBd{0=1sHciGd%y_Wbe0vff0gYUH2${ia{W-cig+hwL?2gJ9N4SySle-3N zdN`ujwNc&r|JW(=!S6%p1npeaQtDEdj0g@xcu%906QY< z&V=e6qEnto@kxNXxvaap9omYAe6l!~tzyq8`YZ|LU-s7xRb?iILyR3|*(kbu>6$qrgPoRiV2}V5}%Wk(F z+a0>W-CnRBs7H2YH5RHojj#E6w@OmPvQpV35Y*^fY-U~X8TSn9w^>vv@%eipZqkyp2DjT+; z!WF~*nbGyt?04|{6m+pMpBc1eqk}R7THf+kuBJw(pK3Nv%959ji9PmmXP2S!PWsQr zzHL1_>As|^=!y$+w)}&w$NBqTn3g3dlK=$uL%A3jW4fJ(JeteJ6c<>Ko?0SY8;~V` zaJeFztls0V9k+Lw!?uOU2`mpggE=84abp>^ey2?EZ9CPWfYjQn8T*yL0sE+*S+or1KkPSKu;r>(h1V9^(sWZInvSuT=}K{x&R=5yNBB89#mm;Dc1 zPGYsz6E`Q`#(`E>Tdje&Pn9<<#^=j3N^lQvcu_tfP(X_dd^>W~{aXcT2lz2U1)gU4 zrtcYcXpvw?UP=;KHJ2AZK!T<+1OGi-Y6)@PT+`VCwcSUkJ-9FhNdAC9Ndetik){jm z;U@z~_MWnyhl#9*$$L!`&5H`F*rkzoSosaUOm*(Oh7?Jn&xTTDcs6ehEwW6DtILc<5|FJo6>*tcqiHRWP{ZEk(UN)+R z0cK+dit2M;j6buDO-$rqjpy2QP$OmI-?{+`N!pA`!4HTqAR(JI_QNx#-sFNU;k`ao zm*%U!C4V$*6bdwYz5qe2Qh779U9sz>#U2~tuM=51_`rWQd7!E$@_ie)+mc%G3(<-U zyt((#K(dX_Ow`EAnCBL*f3+y6IhcsC`(+vncpIk$+&calReZHwXy|7zE;9d_dVc=C zHm&v^_fvw|sCl_Df^sNnG$O%!xWss*5&iJwq-#&SS8O(B z!ntPZgl^A!3@0K3N8WedLUhP14o)!Ond1CLnxC2}C4M0-ZVuLlpMEz+TQfyfJ4HoX z6jrqqUk|0cyk7|zJswem02d+QJt%W2H@a4HHt0tcpTw&u4R<_SmY$%R0f~3g6&Yy& zEtbE@ugGForhZYyFPV7aNrti}%>-rsOE>%O9kEv4g5QXoUosgRC^s}DeEgIA@nvLd_^`Ah^5XO@v>`XIz&O_m=s#Mvaqzk~kj_^>P07!+W4u zb({*`?boDqkwTWHw^EDQVo2_8tKwb~FBG$Syic&b#_Hjr6{(0ts7KFSC?i7=PteU2 zlRt;zhPiQzN8eO&+`;n_;(X{^X<_&EhU3@S$&iYEm5|rb`sS4q-%QQ#r!tuScM7WnAVpYltga*9-YW30sVk^#j(rtvpwa>gun6C;$zk98Y*4}5p?Vau zKQ*k|X2o25I_bqdq~Vju-1EdWu<$p%^=bQx^n2=9*%+7tH>+XPj% zbtq`BdgfloS(L33GSqIMZ_58wP~Fx8)TQpx ze5ZS7I%uM0e?XQtsAhMFZ>TIY^`dOzJ@ljmx`wff9CU2DQH5@uOA2&7F#s@5R8h-& z9uY`60IPw=e*hBZJF*}^|FbOCw~J7RmBHzjRL<-JGK^9H_CnIbMEj!ezMh3_@ZPhc zn14h-s6Fia+Sb>dzRdl;!3)dnyUL4z*`&Z(;-~cAp-~=M!4te&-K)nEL2^2am&LOo zED*r)y{Wt7+~(|0C*W)=iHMz<@tbuQS+cUj?dp+NZ5fU(PWI5Kc_`X@Ngo$-iIspn zQE2H4OX+uA)iIIliese2zmoOF`*HLrIsl4FURSi|Xh0|=vm6PQfk#rt8Xp0X6&J+#3BAYiHsr3z9Vh)rTkjU6LblEtLh(CS7YWSI*kWEfGhESLt#TS!| zmMyP8OzT%d!Ri{Rimx!WVBF`6wRJ-yS5cn0O>?Ew4&s0_OB4UXTI$ZJa0V(4lG%^v zM@YinKRtU{U+WFiD=ek{k=7`Lr4QN^W>9F*8*NJ`0XM2XNzsu--{hAT$%;i(Ca9_* zwQ&DloI|RK)`?^ItF%UcSD%~J<0IsTM%n@d0XadQ7}oC)aUp^0_CFO3;v$`j=oflF z?$TG50?$UYFUB_l92_W1jX|}pr1eDh9Ex1X{$LO2?KA*+c^blf3WX4RK0TjQyLuI$ z-uG8=dzRVlaD5d+jbuSQG5R|ewMBQA&@%bw)<9hLmdnDhga;zK~3z$i}7ub;Z*>+4DLC5Z-E>|Hz#b)oT6;^lj8q zMXXGjP0?qNs51|pGg-H;GtEb`=AMU}=Qx0;*>6DX4d!KS8qy^T1Xj7QlR%Lz>oY>O zjO-79QoX&c#{L=qf5uQ<;9q0Wzk2K)XadHlm(?rp%bg9daYWMC%=n=Er1APnNfEB6 z*p6w}XRJ5(MzL?@t&K9VidvP%3q8#C7~ifZbm7hk2|_eU2<-c_Hq{H_Je0_!N71jE z=TYz{I7j1%*9jb+EB1YP*<(W@jjMU|;>jb!gwr6EYt*28SZIzN^!=EjDXL|qHk9*$h zUS=nX=?Mj#(wbn)L%kY`pX=RT^#~x#WS~hh?#)-;k#V>?N#gFCpcho&Qkn=H4$u_a zxhgLVEWeAxh~$|1kuD@uRL|LRo`~an{`WAPt@k$b7NudvhClti)iA)1BefamesFQd zN-$_$B15R0l%f{D1faxeStyQiTQHCUq(1>ME&yDp-dRZtpOH(0;ig7W=7ioyEOQdi zHvJQZh{JCQm(Tm*6F-SzIZ_$`Md19%7!r7zjjENjbbpUp#`6uOc)EDHgI1&XQ@F8~ z&qddR@mWSGS4J9XOfd!Drvkm&;K)3)Sfhb3q9T=C?;iIJlCV04{f)nW|6WipHcSfh z&?wXXhMqxAyCl}%ZY96!kW5Pu=WTK!Lwt#83K777B=%R3;+qeEX#xnI6({o26qSU# z(fV2^2F$uhUU+*uy!PB~i*)?5w1V{@pon|Vek!Xkkk}1orGqG~u(K3<;gqu{R(>oo zC9|MJ0{-^7GF0M3Y<--0pf|N9I}w@8?K%F#tQQ%IHeH33AWt6`iaO}8=+!Im-+tsk z0m30Nl2K5o$qh<_aaNP>N?D&oA+z|8gtx)&NDM->Oh?iR!k_ZlY5KSbVSPCYjB(fP~${?!KOHkx(sw;R3gOLnKAVaSb=#I5%gX)M>V=CxM@Vo z=obuCU|S=**BV!`Dv65Id@8a|7a*@}0!B|{nkfu5W(4;!jE+yg9SOfFldTrq?eO?{ z{<<21rYOHhK>M*^rBTaPFPvDuuc~dGVLQz>PluD9+9x%EIII z+3c})`SMHMRlnKpkY#b~m@;)TqF6O&{P8Ct_YXw>hLV$pk_mAa)sDXq?ZF|%@Fc}R zlyVfJnCDx2uB&;zkbq*R0C7(W@|lYwY7ocBAS*VP{J6II#m35xYOq`!rTiwQk|XQtBNLJ%Ba$OClHTog*O&>jnC6zKaD3cL53|ul zZ0ras7clNm%{#I#J#r|VT+}utvwtQ(@j2YJrT^&pu`(n=cqTC#TD@}aP2%<%-4{hr zy3IZ>&tzAqiG5i5Dqr%~ndJ4K%RE|TDwDeT`kYsn;wumH#=uu~p-D0sgKTDc}^`d`p5M%s@=5vo`R{@)mW7!{q&TNH!vTL{8bKUb#~4_*k3`j*3G%|=`ulW<-t?ulRz9$A))`Zk(dX z%qLGxO8|}cKaZWmv(Ool5e{lAtnOR=9^HO3{)jDm1wTt1F#Ikbmg9*w>EEUF`)v4{ z#O)>=F=5mC4Q?tW6VZ@}&bxsJ4zYN6zBmr}^fb_7d&v#=VMyG3kj7^;(tA8QU?4gG z5P@EBNu39R$*?e5VW@|new=ffIdT$Ib0@I3G3L0ah))i$>|}9m^8YtTGZ2D%T1sLQ zi&5K;O7jc$Pe}Vsnp6%?_FFsqEhky$TubVtbmPvW7mlAMtKQFjQ%tBmLj0}g(_0xo zUs%^r#g|>|XBJN|0$YUxclQ>tQVkZ3Z5|Jm7p`+gEty7BJ#^W{Kh@P%yd8ONp<+qY zzUi9{`?=HJ^?d?$>`O8~HJign$m66)&;T>^ZCF*cRN@o5qfUS2ac|BU zi^s!1@7ep>9{1e>a>8N7_j$Oy2h9&ALvo{7t*iCfw)F7xp>DkW;Z{uriK&!w{j5sU zQ1P0%W|ces*E@WN+kA(sc%&0ag_N#bfGA?m_ybUrq-2A!seXPIxT6JsJOG&um zJd9&MjAK18V|sFgp+f%!-%5zkd3f|KUflP1@iP)f^{o>32@a3{cy#_L`#beVAC&mN z0kR+u2QhM@q&+?!Gj`VZ!6}p~V^L=N6Td9K&oEI+MOV^TsRBGxvB?Kx<9EMC>_#6r z9DvJTmLb!*Ij94}SNYa2oDHH!M^v}1Ti`Tm0jKaK8P#X#cJ=UxyaF>y7!8*iLZy^0 zI}YIi8>Xq{xa9$A9e1#0b66JzVBD|;JMWj+A4_FVevTRIFwQ(Z349=(Zt2mGd-jr0Q44u z(R**QEl3~mMoNI@iesnbJICZ&&!IHN&%8Wrp}Y|IYr=0r;W;`$usIk6_cAF66`PYZ zxuA#hKwvGzUY5fbe?amB48{PYMMJ+ceNrbOU#)t$rQ4}PNW}4D%hpDxCt@{MVY(zK zlqxAlOt)>#uoXliPlzRX6fJW>*bcyhx1#&&r}(C23oPpTu-JIvHTC}3(sMN}493zhTrL7`$#5F( z52$3n5TiLaWXq|ZNj>v3TDmiOx@B>tcz)!O0Vz>^n39Y4{DZUbxRKjBVhc)26N-h2 zo6ljw>HR}!{p;^`yRJEb-Wj+t{uYuv=PL3Esi2TiUXbB3hN5z(IPy6e--d0-OyWJn zS5)F1zvr|L_os%!WA2!yt{5%-#pmv18DXi2Fx@ZsT4HxxInVE?=owO)I>ijJS{R3~J}*=b-Bil$ z$G2jj1{$B+Nj=B3jmA`fDf-6fn`1raN<$!kL?juRt4|picPm*bifb) zNrVJhn3_IUtOeZG7BU83V3Um|1gd%PC+G0hIvA+jmDW_JvYp5%K4RX{hmH3luWp5W zy_A}*-c$h6N)h!45QA_=hnI48R5J0jKK*UnE1{k;67#!)p3jAB=K6L1x|y*KN0C?$ z^tAMag|9iWt-HF9w2+WEib`BWH8|wvI6_NHT%ID@aoX)ts4DdT>bGqb7M8Gt3VxL;w&abs#c%t4cydsTkLjBwEI{Rl<-je=~#$mV~^zOh2BX+53fM ztCn~1=Ue!$ON*@Ap!$U-UY$xFv^q}}GUwhhUnuKSOc@ryoTtV;5x~AKt-eQZr+y3N zwEZ$B`z3xv^c02S*iDE*6R%E>AC%i=hOSG$^F|uKwhM1#nVB#OnO2@H6#G;NZ$Gs+ zgNpn-1#dTnyYwP=A94B>{j4==R(c-DV=3ERer_P*`raJh;5%FZ;&{ z08DrpgOTtf{;h23Y2J}LwG`sURsyo^Ujaxp%}cBV48G8Z3EwzyWlB>hMxa@T>k4`} z|EnAv5=t*0lg@`JpqP@McqP;t(~CL1=|e5q3+)#sCVB7moWz8%xk%u&W%w3OVi3&l zNV3)<;rAAIg5(=N-gf%j=8xT|-d)kTPIGyeexy29C#2TErOIJE&IqH2$`~60IcL75EGipQpUz&GLJTX~ zL(~uWuN^UI5DBFA?mj)oO_Y$4W0-zJi(i8K_ zUDd(K`dFaMLL$B(3^Jsk13QJBMybPQeO4HSC<^55!VORDGNabePC zeAjhhdgo2S%3a3H>ZzhZ&=39Abg|3-a`lArD&zC|hd>{;33ufCaA=|lFZt>PJjUid zzRgNmKS7^CrUnF}#)yFXl1(8(UL6SjSAEkf0bDlI_EIB*Pv!c>PafX9No#sVtfh%~D7jQ=?5O8P>TAOl^9jDY2NOws+ zbm?k*ENCora6D47rXRpV)HmpM91yzqsgZ_hV8$6&Mg-me0}RVcIP5(P=YHSc8})1) zw)s3}7)uWmCcbtX<>nJ(*h?J8rTVos zu2ASGGUbAUZ-v1sEBV^k$$iq&X}0=ZPJKq#p8Lx?@_SwWv$8ZTeRE%1H(wVx%za%5 zz#wTE2UNv1Y(m%_5ny`@y^jKR8=7=L&`37gPe zYkM091k?POLKT88AxZrA4`VQ1rR?E3T=9n3w~hXpXAV)1Y?zxF2@&d*2fH7CralA3 zP1M5%Ayph|#HP?P;B}I=_Td{;UPAf!$@`4f5E|DtmLhN52A@07LX;?(gES6svY@C$ z0RCcBB}RT=WRQrlldPHF$`%c&FKsYQ4r$I42L(iFOBLt^5YTxMB2Z}pP;VJ(y0|c;>W_$l|0QGsR8g^NfFFa`mpk54zCyp-G8iN>DQ zEh}`WRr;TFgds|F)fnCeQ?XNJ%Pg$bd3*DxGtHR^Q_}ad~)nD{gD}xzs(R{zL z_~?Ro^Rf8M;21fMC%kixe12KFF`!0_p7utvl8EJjI#TPPW!t;b8Lf1PZZWa*@}_!Pw!xgafJ+g11ut?Rbt}sSdmO zG=>SY=mvN^<`44zRhUaLHH&uVnZM(n#o`~7rLYUrZ2W+=;1@HG_*G%MLiZIZ3>^8# z?*~T$AX1`-#sk*F#Q)^XBMJun$NP%(>}=doBt>h?6$-xQj=Q0MSN~&FIg1;S7nRi; zq~gXZx+26y?Ur{Mk-#>R+&twqX=ul+~1nT;q z+_&%NmS+Z*S3g&`?qvS1S9$uA>59=kIT4clqOE$aEA+IvPvUQ)*W6ZnUvmBIP;|GZ zXdlS#xM74{(dg}ItK=&)m&2Xc#o$1>r-1?wph6(divZ>2fwm;RfSx^pyra*>S{kH4 zfdogIo8zu@=3zDIIWv_aa9DJ>$&1X$)5x6cY#=Hn7G>eYn9%2aIFgbG;`C8e9 z{Tp6A+OOuW@EW2Kt>^Fy{%Yp`P0WWm0AM%RcQ?_S{!Z7AVhzE1ET4kB!`G%_dP1c| z<=NuUyxwlXK*Th)b$HUSgfD5J!T;phh@;xxLbt`33jEy=v$<*Yirfyre`yR>_o134 zcy$DZlVe_(F52K1KtzCUX#M@nkeK7{b5#}>UM@$HJUy)!*|9zRF5wLFQl$m8X+{9T z0sk~gO`37&w8 z0Xg54EYS>aL4Qy$&+4j30&b=d&V|dpcKI6|`B5#=+ z8I{0Q|Gf9OD9K>dWB*24&bGg_%bj$k$H-kQo^9pN^B2;9mwr6*lL#Z{2F3o~gS>i!l>c?~=pVN3%& z|2A?e@#ygv_iJGD&>b(9?pc=+4IgYSmk9nk)jq)Sq+OC9y^S6{zFdl!l8 z=}DS#gU!v=;i1WSI+3o&lNy2Sj%DwcjS=72j+)KQz^lo{ZjsG9@#Xm&FU^CkX9%Lb zrxEP7M9IEeq~Uce$I?Fby@9t4^!I)Hpo8|rT84d38LOemr&n)ng zHv1FBoE15%eqZR z{@H$77ykD`tE>!@tbA|`Qs{wc{p;!c>*J50c*a7tZ4xg{H!2v@7SG%g;~3H~$&Ho& z&dd5Lld?irMRapxyKp0raC12b(Y zI_5-`dL{JQi2uJRY{y=Tu2$pMR zqVs?pta-il!oyF1g->~c0Iw1xALj!Z7st#N!z>9Nu>n?Vei7=Cd)kq^&0+X9tY@FE znV^cYEWO?@@jMxUx~Yv7{Kn{8i?Dzieej26 zWT_ne|8i`-6;xm)AewijZ$aSFJXhUJw0dmHpHTh883{z*%;WkI!RGF29;vDGmkUpf zP?|k-He4q}0FNFo1YLKE<`9AY+19Ui>kmWfFUJ@c(~J18raO-d~#2}W21){(i2ABW{?5Tk_6Nm#y&NUDMp-hAfVx#J*Pzb}ZK*a>MAu4oa{MD)qx(^i8)3+i`x^2#lBDk&Z2Po90YoO25V@ANr*K^fyN3`&3Ovg7SDZ zO_Ei$tl=%ybH-P56%P1VqHvH?$DMCLxx{WV&&Gf(?{35fOT+=QA1(3Rv9@{nX;^Wv zKYP5SLq+!9HuggI?Iwr7Mi4ptarHj|S4qczfZZ)%*NOON9S3QHkA>5%*_^xw@z055 z45bFy`D{EKd>>axD5-Us zW&!ACMY0;tU~yc0$hI2N;(wiX(lM#J86#@WvXtJ?cpnO~$OOaQ0HwM_^L;Ztn81(n zra}8t5nA}b3iMzIYbHH5-@-dj-YUj_fGOFp3XzuGgj4G*to zzKsVJz-x*t?*b91pMjyV+JzGFwcXp>?N5ci2%WQ3Qs@&H=+vGovEW zWN(L{-d+$$nzjq!7EYVq5@#iEIRZS8TI@k-mH2J|n7dPcC#7h^<4y)RWwG^!( zgv*e!HHgj^ z+7?3Fv>klumr9m5Mip0<<+0#1;zuPOP3trp&T-z)RgIJ(F=hVAeN)F)V$9q=>OXw7 z*bo7R`9A#P0*wZ_BC8NMEE(0_O_cDaLjyI;?;D8^;f+{yL z9(~YZ4V?lj&~hB@w3Ohqr0%qku~Ev`V_@#mHh!y-?rt)23pu){=y%AlEfl14=fG;@ zF__aqw-;6!BP~+VpeJW0$0w8*L?%G=)=bD3k{Ox*yz(RXciPC<)O^YVL&3Eep#Wig z`;s8mS1a)~E_<8sCwY;dfs%oH+2L*XD!K} zb)J|G>s7su!Tz(t94u^yvf^q&?fMk)PZJyJb90hoo9ZIHdQ8jGOn1BEq8I3%m?o5 z^6lQMR(+I162r3}o=xYXym0(@+c=vm4>LUKfv@jmB7z48tI&WXi4Jy3(CtGdAP=J1 zh2E6C0gJDN9m4%&LU+UpiNG*ixCURs^><=me*BF9u*Hsu2@8Tqd}?6=ZQ;K^s#G$o z(R>YPNz&#a;Eq9DF*tWz-B9%j!hSUMeH|$0SUx6r9WA?XQn^SQvLr1WaO*ie7TKJcv;gY5mDGx4E@G+x{nPaG^(O0@r*`}uv$vx$9UW4^Pk z`Me_|vSuu5DV5OAIIBaLYqn@6@_Dj811V#exyC1o^q%Ab! z0bf4A3r{P$;4w$KX0)6Hq5OI%X*GtvRH`~(12%_ z@m0Jo1&^NWVWkoi!a9e!*|ai`%jD1)2+T@->KI!|c|Iq7H%{W?AH){HgNWe&hP>6- zpPn=GOE6zii0HPB=uSuPUWo|scIkea>2AY2?L_l1E__%c+fo72c9SXhu?XMf(m|xXE$G_j35K#Tf z?L%9S*jB*VO;5&YpuGm{!Wa|>0xpuuSR{@0hyA9OiUSp?ySX54JG+)uPqRH^5?8b@ zPnH+;dpIi{UnBk{cPK~D&x=rl!0H!%O8!nCRdnB^FtFk;B4PpymhqU`KRvU*v+9~2 zq@n>}((w;L1ytx>1PU}%NMb>GZm+-8Og?8rt{aaoKiztfL@rhIN?^%7G4+m|r5t#` zlb0yv+|=?wDDq@m3x_7o8c-Dg2+M6?9uXq^M$B-On0PxPWnChr3FI+10V)%KSQWP| zRO&`eMSc}2S}+h={-&4r=vDp5@;8hQ8BUwMNgyCSB)x|+l|soEI+}ilyZO&elo7uJ zfML6z05DHxb<9S9l@d{0(R6<+L^yZD_n+Fa^~QVtcEiHJo;1In`PYEDv-O=LM24Rb z2Gy2PBgYhY5{z?)u~d)tSwO=o!AzAwjbRg2t)Ay`n&Y_{mZr3ZQp+jrf@0k{<=to(ku`Lz zms>b)g>Sx3K^!W##Z>7!CQQzI-H0e29N~v8pdc-!<$2`lQTFp9W6)L({hs;y{@wNc zsM`aJ>%%*@hy1=aH7XiV7Bu(A%fqk1{~=%S%r$F$)V!lH++($oqj~&cDZ5B5&t{p- zOiU#vU)~4r`S`yugD>>iZH%k&#qC%0T^0$B?PaR%-#y;xyH}UV9)1gH!yf$7-FO;h zZTv$T07CJ};NviqODP_(G!3zuO`=vdt!hKhYD*aPaP$Y=Z|d#@n9P9z4GJlqeh)hyb9LG7<ZWCI z@OGV@4IN;Jh!{)2PhtEW8EZ&P(Za@Wr6Bzm^^*eYj)uffHIu}o7a4=T;>y_z*9v%l zcg_qVt!*i^4Rjd;StLrjoWv(A(lPwNvw_acE)9V_h$c?neFzIubwq&1B1-PIjl;{U zyX2Ak0V9wH^|M<4e*3J%!q-!*{hFcaQdW6oX1}-beU7gG(#lv?)-C$ZOxd~j)%+L9 z|4})%QvrTljm2J1#F`$+JauM+Hr~K(G~_`*4&D1(y_7Og;ZwHGbe2Xm>P3u2;Gx|liU9RqA#Igy( zW8TSS+2u5^?hvk*xi0bSOH@{G#x(~B%*&V*F@N(x>}D(cg5W_(VjuPv_}AwPXfWQx z%Q-**DZ+zMr0TNC&88VXli=z!*96o}ijQ(h+arH=gXcvB97ZI0SdfCIOZkBi{ z6z8SI+=>(NQ!18RR+T4*nrG|w5Io#%_!GmP_6mm-KvNB14H1@Xp=AS5>Q!2PQ+-z$ zQARjRB*{r8$<9Q{{tntATqZ=x{vcJ-$3`Qy$xFX7b)vm<_YUoa@E3;7wk?qqN5*Ew zJHe{K3+=s!att5SyL=OKuz)WhX(P^J+sQ7-&O!M)CBc726d0Ha7x}DY1KghJln9Ad zOkT(E&5i`Bq<{3J0dMXOqXUZqdi1xwL(bR9Ul9KUa507zzmp9szqjC%)8rH2aStmi z7LgfS*BYBJ9^+q`-8X}r_J!%gNj}Ha^mR7(R-?&QgH!)9nys&@(-B#5V(CF^+z5g4 zSdZ*1hf%}ertP4L1Eher#J5+cU^T0kK;gBAh85#YhDQgLI~W5~X#r<#3ES2Oq8EdZ zhcjZGz{EMpLqt!Zd&VQ`IW*Egy4Oi>iR z+#v(#4O4nE$C~y&8WWP>$-lB*K9ohD&wD=??EU&axBK~$Uyv@LI0T)2T3RALT8(=) zg7!!{uCai*oohc-S_z_Me&?mMt}NhMmh2&_y}pTic5HFDr)ZXGQ|r2WAmP_baiAdh z;Zj5v6Q?&=2|yzm%gN&x702{{c_I_pC3Fx9>@>qw{bMK>AJ*Tx&FSccnT8>)ZnjNi zg|}B#MOcUIfwI0gUJ_N+riA|bNAEuX(1zmk0$>^PtnYSk{Cz6_A$Y@?<(*c?&r3T1 zk#OlAq5@XPWQ<5A}SPwfq)jnqs`! z)*|zP7ME8o1}2@eNYVNaJfe@(`bhjuNWcmJ&Qdf{W&^1|n~jNB!ved#?TEnRRDi{Q zK>ZuZfOVZGcf-wYRMT06+ciL)`&*O6q21LD>z}C_LTr!%DvU%lmF$(H1IhGosT0;q z1uon+ykxJ1CjCMs!^wI6YO~b*Gw&GH0N20r%9vk}ng(Gl=WsXpA-cCAz;&vX`V-e% z1K#~izVpmJ%Mus=#J27c(H@JOKw8>r6VW&)+9iSbe$})DPf=?P^9>h`7_Y%tuR$E& z0W9Bvu0IbKR4?OV_bjX^=@3{N86=771&$w7Ji|ZQlrnu|sknN7w5r6m?&Et;Fg#}{ zoywH7QVoTEY^-#jBe=l|S#A&bxq5n}X9}$g2f-z_A1W{ZOKCM#^2Ph~!^i6Xr z^zt^_u=(#<52vuJuh-)>^T7^h$;BVNshjv+wH!+C+w05q?T;k6O%I|kmJbsgJ>oap z2kRJ1RJkqf_8XBORg~@*+0RN%>U+M-nD@C%l{P_DH_jmrOylGjgPujT4kSj{zc21^3cl3MA-zqovbpF&AQ zBS#fH*Nb~3j-wo~U$w4=U;5AMi~aZV$enBRuABqLws)FC_HJ-=-V1(au>>zxzb;n$ zS-@>+z}5N9yU4ZIt3MCA>QT2W`b6_YrK`letGa~XfD4EX)vT2m3_)Hz53y;`6OO_q zBl(*4Bx5(OF8Fx_c~Z8xwVo)-%1}byBZ;Dz@Q$U3tG+qlNdXIcVJS3Q}SHn{D1WWrg0Pa@8sQ~Ltzj*K$>h{tv6AixRxYVZz zAp^AMkE95IydkG31{xPakTY^625#g4f=&NwRd=P9gpL$V126bfC@=8HbL~&|T~n<4 zTij{tXsY&r)&5KSL94KAr2%w(SSdpO$D;((XwPst2Od4H6arTkB|Vzi7zeVRydm`-$xxTMhOYVAuhe#e%+ z`w0_z(Y1aHGt7mx^t7M)ZWa(;E{)~k3fY@1&N;AOop6Qpd6+x}_ zs)Yv(W(~wSM5BEn34JD>#A0@Dj>`H0{Q__<-f<5;lbZX-)QN}bF-om5lFOiw!2|ZF2Wb(tDNbE*?%HS#~vtn8}1+hS2my_0;G@d zFhKIU=V66s^=UGp!$$7;3YMe)u6>omIwpoxCrBk^D2_b#a;&aj(mESd3rZ?m{Zq2$ zWIHw6JE{1f3Yc#p_HTT6k^eVt&BTh+gvaPEd~sd>pUAIIR1pBC6)@+6y4HhzKG$3| zDqeUbpZ)xLfotB0zB(-Lj-uU<3<3zSP-HS~%lG#4Y;%v~Mds4{3WQoqLS1-MyLo;# zvn*RChmUFKE}{4inJK*>)gOJPQ^d_V4PoF~kmuDdXB`|TGT#s5ck5R_B*jNG@BMvP z*L3;I%dGLgy5Wt+WXCT4uZy1OjgaqDMtharC{y-T=bi>O59C=?^K0u>e7OKvSQB?~ zNyBLg91I`;Ehq4Pt7oIJCunt3vU^Utea_-r$;g%}PhAiC(q?2=57NWertM1~{Kj>v z)h`$jGp1FCeg}cQMoq5{g-#E|4Jxq>V+Uve-(&#MhB&5Y&Aa?7v3D9O2)*{CfE_{} zTdfH;2#9-hN4m~ZmJyO2o zh%hD#+nU^s4GIANXLDCiw?E)T`JKjyNCL~dIOh#wxYZ69l~*H)>c~g686&lLTV^K# zP5qv4C`~1^?#|tOo?QB^XiR$LeJ1&lp-`ADfXiEsMp2ki3tZWq{T$CuE{-ujT2*G6 zK0`nE2xS3iK8ZG3PvjUs#BY~7H7%V@zxui2Ew^U}egtY)o0v}e?pkyJ=mF3hw6z=Q z7CTVq!8wO=po4`<65G(wdMbeh6wdUVR-3Gp!G2u8@WhVcK!3lF{@yB%*gqF;rs%m& zdp=F;*cNmMD_450X~3TpWO(Z`wrommV)6F0W_Pc2qIvFnwuJn%iNLg~z_cvKv;oKR z8)`EZ%qBjxW-cocgU2MRrMD|fT#sAtQs*T2JwnF1!hqgOo2lu`tCEj$7ZM`h&Ym{9 ztwq+H{Mw#&hA5`kAlJ9Qr+ik$g;v^&JG}2AinWI*bSa%auju#e*sNdE@r}jK`#CpS z>03|ae@sp+H}-3_+U_fF_P2cRt7z~L?2>yYa$_GjS+n`cprNYJ$KK@$=jo4$<$geX z!jrAvenx0?Y=Wk^e6$H6frtd7kCgK7gnvnUN9okomNgUXdbyg<4qxDJSy;oc_avD= zdtbR}GT+`~28AAbqrN+!thPaP2mfXP(%3K>J%X5uFgd@2xB(y^1|Ngq_Qw(e%U@z6!)isfDBqv=V4aF%TGmI8iRW-`cE~ti5*i zDstdLcp?!I3%SwJa7UqJUC z;cE3v01!{YF*@u{BGcSDCp_MJOE55s=8`K<40{1^2PUn2i+p|QQR{dRySS|yFsxsa z!o1}2(Re<9;p{&v)|^|yg8(h-HmJh{ZpmrX>V^$*zy zqz45ErXqy#D$Z5`l!Ic%LFA<$v8L!ms~9%youOPIlr}atk&KB8Z_ADywcG^=ureZ0 zCbXg)tB?4N)`V7Ayp%p|lym0d52d>hX3`kJ_s%I82Paj$2iX`<g5bzs=eW4KUd@Hf6KGc^V8;Z?gI@y{Pd&0%s!(n+V~PbR z${;F?p5!c^8S;>rL7e?h7fs}wjsu(J3mrxUZXG%hkE-J;l-q{A<#@i;SC#hs3Bf+> z-;eBnmmSyRJ+f!IG74U_q;7jm(C_a%nc&)Jm^dMhJhmW|DN7>KyklPOp7b`r%wYdx zT2Y9=f^+RO4&Qvb%I}gxd+V(xZmilPS)U`>RtrQwOe$*SfwngNHmh2(#XY%3Wb#Ut zC6Ug*r>iMP(@pX--w%h3T)Hv|hz~B|-)O?q(Dio6ww4Dbp#d<61# zo?_rvNN5fa_jLILS8@cB0mG{Sag{w^&*4;}+%0Jw)HAB6BqVQaBRk7U@em35(~AvvaRpC_IfU}EulJcF5!%v^tiKan_2bulVeJtksG-s? z^Br-P(1wUGFEhUQzU#A`T+OwY?vUVt+|WyyTt|3VM-G zisPx_%#3-L(a-BYmsLFXaapRdy@d8?Q?GXU)N*)b&w4iX5-pVlNH<=3{pgbq4;hMgBC# zg;!8^7Z1~dfVIj4Hg$1-cC1*hK%&b}3t5ag2;&-6`>d^%sL+Yq|i zAiEN`rGZ?eCj3i{|CgFf7?=4kHZL<^rl{r@dI)RSJa192$`R=)q>jqV^4 zCa$v5jeF!x2HCa}jzoJ;ssM^r+($Ec`lMb20MLNuQNSH#`kGDIT~p=h`#BzSt5$YY z)G$r=kvSC+NG+j_8YVt0nL5FoKrICP22P_i%hi$agm0(RdTkHR;K|bfbLup48zgTS z{G^=^rxM{xL!=M+Fp<;?;=&{!VdUr8{183czRFVxWWdVz;CroG@W-11f_MGqN;~-P z=x7yx2V-m}w|sZ*{%m&<-}R~q06iX4qg|ZI+>yr8miA6qGa0O`{rUX@sm`&o8}G#1-8W+^_`7C79{id)3fdm@WrFcD z4a}oI2^mD{gWJ+0%bLjlD1-9D2=4C=l0A-MA)XzGcW-9!SmlHW)oLLK?;9g8NjT_>Qf<5jb^I2nY4x}|Rx?OnPT zsMd@5x(&nUe(}_sxPO!I@yop~Y=b?3z#VcRVzlR=d*$86F%_Vf{q~Z5r>SOqU#_D5 z*8S{T)*0r<%4oCUP{Ay#x5grH_dfplF@D;@_{$kB|3Hj{#Da+J)xjT=YP5mxxcsiG zDq8#TjteE>5e_`U>eN*27E@=I5~rgHqITheh_u^E-9H}K0q_GN*aRt#bR5}W^%aAR zqKtv0lu5k_6x6QrJ$#|XUHrwoc?ThgPO&4e&&vyfN8 zNW?a72e!2Eh2r9SCIc|k5^ydxdU~h=zW)8L44VCWdjn?;<=;yZn)R-+NzT5J{NwDr zZBGQ(&q`%U%-)ExNzxhDN!B8xalzo{117f_)wJ2g%npi;ON*^b%V+bNjzP$Ag4ZJ7 zS*hXbLxaY3#HnOuMXCe?m zNxkLj7!zYeLD7SW*n6}+bACW)q&D~y`fT$ug1Xsa@^V{pQqj}Vcv^9T(bLuHHTU$L zVsg@CbLsw1`l5S@;bOMqQ)A0fVvekIg)fD~c^Ry=BtYA9U5?34Likh1wO6(l_1miF z+6ELMT`K$ME&28O{-!8wt@mPD4YdXJ4kr3@)d?y0^~VlRe>N@l9p%*^f?QW2t*yv) zE;l=724Gr4vwQ>dgp}gK8u_tTLDqx0(;XEs5`fZ}DsaZ(Ag=Y-mDCaEkj?3g%}K;y z!=tgW34>E|t&W9bIu!3v4FM2*o~o9>*$+UV!$km66InS*bc|JNI>sqfro9{;K zNiC2us(!7Pq7lXWZ}kJmpdt=7yvB}}!N zmLQrHYCzIJ&)d~T#?RUItEo#Rj1Y0ytoH&zGR;>94m4JtXrW)G29Z66q7(lKzT>_5 zogRSa=i{G)$e;1oQ#wJ7eR`oc98YUw*p^EV>8` z_>doaQ5@G|)t&2MRmfn7qa^bMp+&=T3ymYZ-Ugq4$Pf8D6ovA#%rT`Gll|LGHQ$?Q zFQ|Q{)6u=pWdc20o#F2;VfGTU0PqNTZ1dhk} zSChju$$r7Dr0DrZcWumwa$+xS5m75fDjtkQ<<4@-PYVbo`D(M%F8|q9zBAwWdnPfv zM!ew6{rr~alT_yITa~#6O%nKC|fSVfef?u}zElou? zqng)}lz^a&7;~vE=y)OSbg_FW+GnOxOcY08z7m$d@M=Kmrhwb867}_a9gntKLHS&e zDNw6ru4k@COj;~7xbSAzG{&R0S1`ziN`>bSr}7M2`MZ#O*@DtG4bEyt8yZa_T>?uI zf<65o$}_4pBS>e;eS(S8?2>8e^b2Gb(TGG?7GceGztyV<(Rh+wzJ$$tZ`@XuLA&;X zmh8G-PCldBol)~IZ?ZGt%xByRsMoY;RJUlrhyFoUqmn#Fs)>D)QGFqdA#!(*Ozs0r z?kH;ZSSYM@4`U1G$*dA~A7U$KC{{|xR*L)AtGJpe#8#_Cn+=H?Uz^Pb*NWI_ct7I; zCG!Xa4!RleKLw(*2dk?G>x~D?wZ~XLKqK+Wv%kW>RuegaP(+?Z{jZW#7kVZNcrKFMWlJ4%57>$5*DBa!N-Q7rsAl+Tt zyZ?vxoO`yNec3*2Pu}NV9L~AGc*&W|RE7Geyu+%|JXb%%yIrZ(xO2>$^}%UB){!rC zBkvM-QHX7rkCX{A2ct9Gi9eAuG&d=H^!wdM9_SI!0kdA=XF@qa22+J!!|5~}WLG$m zY6zhe;pgXV6);Kll{5$K0izrMW6cf0x2U~}U!?Pe+8RY@0%5uqmn+gV6Q5{UN&j9q z4DH*vtkh%wY$%OsD2;A3{O=X@PJQv{BqXI{>!2ezg8PKRAxLRW43jK9Ci;h|U2Mg>m1}TW(qC7o#_Rmig zwujA+1C5a|n|Zg#4=E`=E=DtjF4uhNHoBWjfd|*BKeMu|zkMe?m{Y~f%Cy#kw{dfL zJ=%DR`EHFvEaGXX?m_OX?bU7$hZ@aW9^BAg=I5pP8a4zbBri$zsBX7X)IOaGDcIb_ zw;P_+Nl0xJ;4kH+Z)FuKW%72H_w@92_4KuMRTZ_hF@_bpCyKSTOXkUbdP-e+?U0oC z!49)*y$2C(*tzv$A3=o_?07Z1j2P&qg@3VuIa8#p&Zb1V!buN7z|`H3>4n$)m_*&n z&O&8}qLQb3^`!=L?<-B!^hT;a8R+=d7FOC=N!wKZU|vlmwGN4CSdeY(Wzg9%uGpI1 zlw@B+`YdORw@R;Vk*IWQ(R#5 zZ{Vo$tE{n4WZrT}c&-l`4AdRheZKU;v0z&UFwYG#%xFQ9kp_MIyvPD+cJ@UNPtZc5 zZ3USwm`Gp9CFL_3(pC4DND&soQ8gf+Fk8791w4=NAj)>Lu(F<`AL2Jo?XW~`phLG> z0mlZH_|Q!7y#?R1l>ot$U?$x-)mk$q8a%}kFG9`nfE#Zbd9{Co7gBorbDgkuSfGk^Fa$UV;NVedHebdGhm z<~i#UwwG}Je=fkQ(Nxv_)Hh$(r`bG%yKm#ezs}_q6XC!o8e6CguMX~{FEcT5kg)ds zy%;~g<;gIQkRBs0G5gpyx&G%y3h=M$7w9{{bIJd1H4{cgjnB`Cf6l|wiF!6ajUnMkiv#QfLeyp&&z7@wzQH~Rdtd=;#8(k zN%aC{brLm<$Ot3l*aL(0-??XU8g6uD3dZ2t$lq5i;{V>`0fvE2Ts%x6aX4rK*o0``~u@i~q zFQ=xB+^zthwuu|}G$st78!;H@7KxmJMfeW$pdO@`JZ}KD5ErPR7Al=?)6BWdR{uK_ zMmi;|N(s?Pdai3VY$`NtqW5S*@`!1zM;0M{?Lq~*53t%H5r4ai9oZv4Es*MQyEon}^(R4_sE6^@8{t!i}qi&x08AaA>=U^A@ z*^IOzx(s3h!ek#VvTsiJ*C0?Ba zYyZmF%la9=`~}Byd1Ra-b>tbX$bVX8PX@?9>m4`jtniL^3Z<1E_mbE{1<>)I)hL0>b=3BAv*10}tmM zWU-sf0z^e;kdYkw@;mR0Nbm14d{$U{HJ|#~@ZaUs_9!w3zykXMBE%v{Kq0XR8oUaH z$ct$0{%8Uwv-i<|C)|$BwH0|jU!?3_qi1W+uhF{3Cn2=VuX#}qA*eV%m0gaF|7i?` zCP~4o2M_TC?1;?H=C?O!(-{yf+Ow9e>d#ge)f>UI+j2%>@pD271Yb|i{8$HTw+;-D z08+MHp8pgj5?R!2puRRhy^4hc?uuO1Q@jnca62-t88X=e&3HIyi zj>TteF+KU-<++6JX~n7fkL(;*loT&nXbPLV;+yqq(D9q@wW!$K@z|^J>C*b?(fqB5 zhpnpzu!=U)!xBIhoJ=B)jFxZq&_@5<-2ZtMv0y-LqxA&=0}<}C7u|)T2_zp;8Vv}i zLFoZI)hPA*g6v*go3I4Ar#seCG*F2Fe9-70djcW*g3S82lo~pAdlB0?sQXiAD$}R%IJ5)AACTW6Pc;=50LUxnN!j9MlYvY7`L2*E4GlK=~U1O562;_Cq- zdK13>9g<0FA$dc6tIsg_LSiK2e>tVIB5PHnaH4aJ#F`PMG!hFq(OY`MmPDly=*GykO0F>KO(zwM zfiE#d8#KK+qBSw1wH}v$1lS;5AB)$TxK;KM_%H{GeH1E23;! zI&WD!Qo2kL7WvA)$aPjf-n?Y%R~6#jG_k86c_@;wERyhp1;D5$UbCa#u;~@H?C+xm zG~um(B9;9J!h8suXvNa0&t#jUc>WgFr5)C#no)<&iuYR9i3#Ax-3YIpFeB3kLvndK zRpZ)J?O%xIhuMqcvUo!~YnFeByDrUDFS#|&U)J@8q#XwTJ`7E$7n8ruD;dNwZExdE zCN-~U@Q6FkV`Vd0m6P;WqI{My@*zW8d53ix8}w;+09kqZOX4mE+9x=ec~3wfcw0VW z(}s>84|Dw+qLcj(@s}n}pqARuSQs2TM1-E5^W^|qlW1#p1MeZ?swJiS2uTlkgRwf`SSyYe5W;^ zfJHE52?S2odpUOl`hn`O^ee7fTNXzDh&VPugclEZkrx~17i`x%bidvP|A&VqSrs{~ zcXuT32x-TI5aC&zP^+z$3*1V0gAa z6qMFg`{$-d>)$$_E;GW~N8+?MrZLV5vaZuVzb0}&Mty#D^?vHvov)Y~VWvs2>oZBw z|Cw=mwCr?rIS7B>x#o2I*RDx;#rrv^Vx76^n*(Iq`|qF)W;LH{4GfD0M!u`+_j(rV zPthw5p8`71iXU6^{*~R8R;^fXEG(V6x!@v){rfAHahuh!;5VyLcjtT>M)ZEMaiL1U zVBNE}{z$}VxhiBp7u}_EOaVe`wv5c=geluQY9bo>H}Ec< z`pYpP>fa+vv50CF5@8+&Rsseqo}CXcuD&NUhV~T;mamSp^gOuR{%M%+W!zk~m6&;O zM>-HKY*<%*TEMLnSdBO+3Mxu9>MO6|On&$%>yysQHiMLASw?PBMs5~{?lFrMwg!#o zFt*0vb>sBarZ!e;AU>LlV;X!-L>f^#~geANs&C=6;# zDWgw)XO#AEj_+dn5p`#BcA?YQX#+a4HyCE#Y;ULw5EHn>hLujUzG1&;0wOA^DV3>_ z>s=o7bKjR+&piyzN!ssT7AA;ZH7VQMUv2A8CC?)W(hmCjslHl=dptow-RD>!XcGWV ztRvd@fk*-zOV{6#fnQW``4T*Xx(+XQ+%s}mzitTJrY0LF#^2(gevrE}l@q=)-{kz= zSvc8|iwXi#*8_GMO+4+0!61KR*gnQzIjmO>Il@Jz~O%tpXG08C@>}Q78YjfrL$+!%X}ox>1@tF<*(lS5I366 zrojuku{}{v?&0qKw^laMS6pHsfI}<}X4n9fCz2!&djJ6M5UlxJBYF=L{wsY@0k+I4 zVW2_+ROvpL+koatZwRUH=ItkDX$NFW<3i0kT?A|Y{6TAXfyJ=Pt7n8K6T2S38L=do*92Qi6Vv<=kC?c@sye_568+F0~7X5 zT$p?2mVjnR7oE5(#O0T%- zXCC>({B;D0RRM3B6299tA>Q>$>WYp0InK}D0O2485LrUjhcDg60l5M0kT5AQN7|j% znebB=F+l(OaECX0nts{?5NUr^jfeg=r|o2bL%0$?7YD=YTNPJfrq&n?1Q`3}>-S4`ZLc#^9>NHK zqsyZK5_r=D%zw|`1O9{x_$(`TRd(3xeJ3{rFCI0V^4hE(E!HpjdX_XEYH82KjfMs# zC9Ouv@)4MokA1aNh$#OW{$39^m5fOF7j`-&feJQ(UQ+CQV)~<%`S!n)S#mG+=SZ7q z!a4<_59#c7&A`8)6sSi1i!;nTt0IJ1=UTHqP(It=93A^D$QvCvs=1*t5_SXPMHG&i|GAuyP=&Ya_XA^q1u_F8M*4>{~iHpTY^`mRe6f_m@KV ztCUyK;A}D-S3C$9Z-Mdy!^0SpQ)o=1Z`j9vmXH1@9g8Ygh%DA7)%lID@`hWa-Tx96 zrN;q(Y*0KBSVYttV4?|6Kl~fFdz#!lydun8u=A)|ofa?@6bjy6-rV#R<>=0&z;Q+} z5#v7AIKRl-ea78Z-co6mV(Kf)&UtF9G1`JiP~)Uv%}Sgj18fhn6!jG1V(@d!X`QAj zCa=S?;GiN?(7hs@X4v-2)bl6coC5AUIlTP=C_i}8`V|!a;v%1;u37=H=NG@z9xK8>(ULB^M zx^9t?=B`Ed1Ajx4w`BGGA^a)faQ+G$9aO=}Y6 z@|XIKerCL>E`epz@Z<&^?YZ;sjoaT5W}OoSH~kd)Ce@(Tg26+jy~YyI4^AL3K!aDG zOmaE`x1MQAMrN8m4z3+cDe!rhHc$aPa=AhvA_IwU-^#t)Wg23o^R{1+_I(V=R{B}E zl_cYt|3QBQxk_Y+dHOc-7t*Ml9<82YNJ-?~K%Va{r=KLFu-FBv9+m{BDBieI^d0fs zM~0Wb83BQt-&#^G+TYx$70vDv@VhU;=?}rh@>=8B{Hr}VM^m^C+NWFo?ZIR4&_(;% zMVli2VG5^y^y(8Kc+Bz??L|Yvs4Tu%OlF>r`ACiOS@O=T<7G_ewo`JwlhDVX+b{bI zR6XOCoA7#nfQN`c4?aJEDb+S2H?;)#o!360yg?W{u0EVRDn1Po!Ie`Nkk6^d!hdiI zqYVxn5t;o|ac`^UXsgWU3i-1Y;wRR0a1hi~B*haadn#NuGIn+Nv6C?#6# z@r#~Ufscp?Mu5LYf7rcPwUl^P#YYp9*uv0@xmYvH_uf{_t=sr(^#lSuaR~C$*i?ti z-de-Utz%Z~_qFZm9hSvC5$oW;e3n2zihuKHWte@N*6%W)VeW5xK*g_@tpNB zN7pv-+LV8+X7^X6bi%`Go_r7hd#(aC3~eR)w=# zr8W)lJyuyC(`B!`%bIQN=;cFBvgI0wrfnB~HIjD1kbQ?W3hlW|&AD4Kdef}Lu#U|D z50xmq$*nJ)j7%8{`~JB0PN*qn$amzg(7vPQUwm~8la9bC;8)8$dK!>odTb|b7CNe15a z*;jI3P9NK!uDv+m%U>!i_Z%e3*odlHzcn9mbpzeNG!AfaG8(60qWOk}7$B|O3m=0n zal_Km!uqhW+x{X9YvUEoN$TDVc{lC~w;9fhKa*3hDG_qmR{|z*(bMu<9_y?V7p>cwk1b^azD)MP2b98Y*cYFQNlb(i z`q<7niSOYpSAV$L*K;F4X&jw0#-+GVXW-NBVT`}_80g)s6z>v>Z2jVZitq6t`VMOz zVj+UjVFi1af>o)_gs$#sEBN#ngf1{@fA{A{vTaQG5mUKvJAg!z_RJ| z=f14?9Yq=H)==Jxhkt`XoyUsb9R$8FzqX&>U2j*O1rRVd#;zN~508mjmcW{9L+ey= zXvD|Zo2kc6kHa^E2ENdgao`2!c^TDf=#7H`pu73*e*!kTpUR%#N;sny1Wqp+H=FPs z&ntF>qzUi(6@}=33UT~uE}Lu%+0$Ft(Vy9MwF(Dis|L;Gupz<5sh$8jrjL zWjY#O%-x56gw&kCado(#%5v}o5ugae{1fv~S10wQN9u)dj_;y2tvT02Gfz|~x^gds zLEueO2m&xX**MyR+sL}*F?!W%>ZQ~a@Lk*et~S1yd|-p^x|D)bt>8_>ro3cTs;dF- zA=W%umubsdRpht5zeZ)YwqW-UlB)8`JX`;fR^Q5lRNe(H1D6=!BGl12tpRe}@SE@u z1U7$t4peDh<0u4e|8P+Ht9DIxoi>e)y(ukEL zQnpXT6wa4gZyU^#Q$pd7AmXy}+ zX}JePkIM!F0M!~dG9a~U9s@V=HV!8POuR*V6O8v|AG_Cu_)Z%Zq2R+Ds5&D?VQnVlL_`E*`s()i29yxnINFmVLU!q0T^dB&hpW;Ta(l64>Fs%+CX* zV;kGM4|J2}0nnaNHaJan;Q%amtZ5JR|J0~y`RGq+wgst}KUh4HvvFgBiSHwv8E~(G&=OaVI0VPxBNEEk zDTIYN*O<33(GcO`Aj}l^{4vjoL%ySX0^170|7t0n3(vcO3!j~rh8{77tk>rKnbwS$ zr8CcJ^XJzEr~uF&37VA#bp1W00e5ItgQowYzMvu;Ij@21Vu0exaZmQeVe3B{UI4x^ zY2RNn@k-hJEi+TCfDp_KnT7ow?Pnoc2EI;PCzaRueBO}}gQ9=XR0H?=<~up3*OvIf z>wyWP$YiL-6$40Q2SV1?jo>)9@D>GtHK;(WvIhLKFgV8cz}!7sEU;di z&7eC8CNuhx9>0?iB^2>RMkq{JXneElTGa0@Vtjs3?0MDeg#TW6?Dy}C(0;Gg*Qp-h z<^J)3!+-sVvbQ|}ULZjf)hZ{r33kyOAdCcFLwT=6%=^q5qEs6guI;B!;up+gP-WH` zjNnlOPHj~@7w}$xy;=Ba!R~O2v2jXr+PpYa`j~t~c&w=NB4Yfe@eLq zHiS&>UuaHx0RI5+mtmdaQzzJ~ioWT4&vof61ame(H}gkVH!x9m5aSua z{%ci!v|VhUY8vC!z~Fw=KJnl%T*CZbRg+*@Gk`bj6L4(;#KU5Iq$y3TYmLE`kc+kk z?s-5eDtfS;G3pA@MVqOoCU*5lI~3)%l@t4hB9?xUiXBGu&)*!Tr?>!lFj8Nqcilcq zZ$s;Vtb7y;fxNuBj3jX>C(Pdk8^k50N@xt;>JXW3q^!OeLOHbxcm5#KcAV2s;47F| z2bvwRR2Uqc98?R z_YNj`#%KA)yO9l+`HycWP}`KZugfPZn|g|idWxHRvb!jR`vXBD4#X#Ly;G=Bh68(bs`qDR=emT~8HNkmN?s>V1A<~is{PID;oxab-bbmsAtw&?q ziNQQvP+^@U2w+0`h)5SWIf^p%KEiK~{PUjUxzav-z@%- zpC?n`+b-0p&;JZupFv?Y>$qB3UD>G)p7d|6^$(wcE_lFtll(yu378+$BYb{iaW5EX z0YG#CD%)qTa+96UDc~OL>a;hkDq*z==`RAgt~?wLfpPQ;Fy#vnF!|a?4sMwcR%Rc; z`47X&Qz$brYbIwOhx8qzo(Ba4G$SX)arNTxzhhv!Lvev>_%GSO7Nmjttz%B~L$^fX z_}ai;5mtJ}TVnj$u#mt2?QN>8C1xaG!-VY~C*?JEtW$WRlUvBw*Ru3<``~bKBO{E` zj{y@9Ue|m4drFXI-}o}U-hPS12!(x$>sC zt6|X(Qn=NSlLa#YThX~5**j8X)AWDQT}Xc~WLNf3-r=k#g}H{N1&weRmFba#=CutcZ-+mFPtH)0(r8c)y<#2M7a)_v)5F`2#0o0aWxUgX^UHtpU zzE0>*h7-tuqH`)GQ^q!8CPGnoZhG>5jQ-Sx1Y9L}$_)K+&1+&E8TR?aco$M3fv6yV zm2P;G9y~l%lRVX2ZJfk^S$mfZ`)knp=5TI{r!QN`5M=!qCTzP0V_g*1-`kBJ1C#OO zq%r9V`e0#nH(Mq+Yz!xCKjMp}&W-)iObpJ0nBWJ^VNNi|k| z|J3Kk)Mr;yR$-uF{(2fF=An-;-(9F`1`fnZBov2JJwIT)7S1@nN z8@8sNuO8(~9j(+d!+JZ5UM1fDuEX(t<_e=CFM(p9riSrTkyXg11VhE`&3le{6h0-> zR7NiOI1E+%31WHP-dIevAE8GGy7Ic86xfnTuWclQ^E4p|skDNf6O zo38r3+79H=4ux@;r)x5NDPYUv2ckWxYl+JpV~6FJ_TpIbk|pAbA*_YNTMZ**(wk>8 z`6n%nm?Pgi3&|(zquHU=g z>8cWaFC&AXg2u_btV3_|U)-?__YE)UD9+3p*OX#P zsGqmvjAU7`qA!(0uP{_?=nhGJN2n8EZiz)E(LX`ij>s_1|BP>O|IXYmgxC<-5UkCJ zNE;21Cui`((F#Oilj~A_ipD;khnqP>tScfKPmjY(mz2-qYHN#ZeND*DYApA>*a7MG zr={+Fg$GdJe$f3wT+Quq0&90#J`^0x?ID-D{^iAXO^?FT56z{KLdffm0Dx|HDhXVT z#R0%bPV|t+Q!7K!?Xbd~*oq_5b~e*iBZNl85zR6a1YsZt_B?1raDn0J!8qQNw>7li z-wqJ&+eP}50T^9>F0+t<9eiw8cMtpVAu zK$+&CGx`-zMGlGwL@3|A3CDkq$G;B5xJiHOu}M?7D!4tH+fROndRR(Z+Flk(-Gka! zuMXeffA|K*%6(h29sOV^C8#55I}=b5CTW0)QY0DtR_S^F+WWDcLJ6`j`0uj&cGK!k z@Xh`i&+{Vjvo}=D=DzIJg3^Ki;v!8jMmXue?DNOR=1~|P$ZArrvZ+WVa-{?KUZ-2Y z)|P^drcdk(K0YPprvpa~L}kLQN}YEqboo~eDPNcL-$M^XAEk)i!`|(<6YV>4aVwiz zU=>#BS<%(GGckH9`YpqpkXM!>jz1J;AsJF6iBK4Z^e+@4IdrH>ZuE)1%F)JZq9ux%QJ__Y=HU9vE{)lyZ{DLDd7RnpAFS<|=ur|up zl4juC*524waCL&*!|ZZnwee9kBF-KhqTk%05XH-fcJdUw=nGqpGQ3_$4C1()34dPs z%$y3-wojn=n?Sms@Fa;Wf(C5iD;cS|X&bvN#}kC0vhq9qBvE$z(PI|>&anA~61Jzy zhd*a#^6b0JY}qG^rYwD(@~6fG{PNZOokQ6{!>g<#W1Q`+2SG%Np&wPhp#m^H+jm)? zX|O3#;L#QOVT>k`ZpuC9FbQflMGiLH%ZFa3xbQwAh4FA&jPBnAU$p(P?}^~9h2fn7 zmHN~0&o=#7WbeAuh_sKs`zv=naQ72FllWNeD|4fH|vsv zGT}PY!Vu@k5Yxs$?+2cb702dNr~9w>&jy=EB<YY*`+?)4ouebiUuMWuI@_wEE`0!pwbL(P7>)|d3q^)((riXBV1+bBU06u<- ziwcxRVtj#$_51-c$8#MwXB{_H3{)uQK~%?ODmhpF*&upi>4i< z)*Q|Al^@KC8Wlm*iVC-o6mUWDiO`k|(w8?(4JAQky3^aNMr1mFD!CZ)tM$r1Xk3cG zj^{J3+TZY3M_<>rAH?sRc%^TZ??2h5|GK0DCV_{&SL13?zw-=B=9p6T!o&>drNw6s6wrQ@tanR2a4Lwa*t|b}K~;ZO1;e$~~};a)tlU zzWXhT=wll739D)P31Ra`cE?-sW>sw3(7>23E^d@lqToAp@yD;bVa5-+Bs@GBQMq2! zKO*r3*JCr;zMi>XRW8=DXhfh#~17ooIwrE0i?DDtc^`? zR)>0TYc3p0nlwDBS4^u{U^*SyMW7{^8^|9d77K=C52Z+7r6gbJ5EtSBq2P3(d=6h} z`={x^k|3@*WYfYsnnDj6N%vv{J&T0B%B@PHli~@ErR=oQM;&XV)G|btd5qd=bK;Ry zaUH8DN^@tdV#QOD>ZW(*?&I)aM+VVq^qx(4S^-9QR8AL^cc18yiMJTx4uV;6{O5E@+E+>nAAKgNM?i^9jd*7I(769|a!4keM+S;OPF7 zeK5qnO7z>@lKQ0{8>9WLm|{SLCbe;r0B;vP)RzI*s3SpNC|Js;*|4S zoB0e&m7rAMpk$BufsOcOw?3P8hnIP(OgZHK`wm~g6e6ajksu3!5xjG90hemUWJS&S z*E>ISz}8WS@6(2cXGCUP6HMMpb%F@C>pFV&Rl2euvi@7?uZjR;Xz`IJ!-3oA`tI}d zpz-(qOBf(7qI9qO>^zvXe!xfpf&LF~iy zAlWTh>v30GPvA2^R=HT!MZJN7-~b9F0?B-ZRNq2RU{-aCZ0a&4NJ7|mGc6HVlgYl0 zg>Z{u7R-%I4dv?~BPDV33 z@3+jHot{o|XFJ*Tj{j<@%)e&)+lzZj`1D@wu3;h;tVWjJrPL~bHALndLgekd7bZA!I9cq$_ntpTUNJp_^GZgu6qd4s8vuFQq$4AeV6_x;7qs`6IVbyo-Z zg_ee>BeN%c)Arv@IYzPkLcOF!Mq!Z%Hjn|dx<$0w9waud=xmrQr)Qy5Ja=A)OKwM< zu@BcfKsqKbfCl(cA0@7%Lyaj8P2sFFEa0f)hP%3=c|V#`Kc8R8B%_m*QY}DJ>SyKn z7%$?8NfoV)eVRZfG4>;OPh6?4Z&3DwXMzml>zv zERzDN>HbA)Ef(dv*J#?#kvAzj8_JLn7#y*2#uA4f1ve2hxL6u@nY`ejHpH+I5fZJyhTe|AE8$oZo@XW)FQA; z`g-Pzl_Z3exVn^B?){&I(a%X7i8p(DJV_M|O3|sK#=vyEM_;LTsZASxjnL=ir-R;# zOm2@e1D~tihl_d6`gc|jFV6VX zu)xwT`Z5s!Gljpx0xx2Oafx_!;(fK&mU)0w-pNy8xWe6IV zC!*=f(npt?HGEH$n-)8svLHfLgVT+cEw$sKAOX(X$qe8)<`CPtAR!_0L^Iw*Kz;ofj=rDJqQRj&yPZCg$ zF}_7oyO^44rE5-23mr=YtrBD{O9W!8hg6$*R)U*R;=&g^{2n31yEh09&%&^y(J#RV z2XItikTbOBH0Vr*%$J*A6#*p3Z#tKpv7saJbVk?W^I{ZCm8cf+En)%(xc}8fN9p>kOZ(AdUARhlj}lI#l`uKq-lj^v zevW?Cu;d&L3~9AF$mwXLu8Ohct<0Y+83HQ-MhYd?(28_ z&capeBQMvO7whib)uThR|C{?eo_y4^inx+VO}wu4Q(>RS<*6Y`fB&t^r8Y`mE@1$6 zaR>1NVw<5;Y?@zNpzr^@R`Kh0KDiEzs+##1$0rqi)yQBoaBKA$Ad%i5O`S^O%V4q* zP+oSdZhcych^Lgj?qbrPjU`k~Bu*rp)WY2*-*q4-8WPwo)D-30o_cCW& zX$CO&BS_izc=aZe%z-~oeN(M>R`~)8~}gv8lOn#y@Wc!q6>RLa3J`7Vi#SQAzE>Oz z1*o_O8Ss$617HwLGviJ{KEHr9;0a(FKN$!2_7<-k<*U1uP^K{WD*dXa=5FQe>G~L; zjD4Iybee%DGZ{Sf6j+Q=zlP^Gxd7?;b>6l}3E9=VKbMlegau$+F8GdGUqNoG$mE$d zTt+sdh5=@ZP2WL^-}tBqaBp-`%;7eWfxo@KFG+A%P~gG0$o_6Y_}Jozb-5+lGl`bT z=>OWx&Bg1eDKuRldmF}sjh}K4lvKPqm_C4i?JJI6GnhRl^n_CXfM5W@kGsLMwZ0w6 zu(>`lg^ZBBEaRjT#bTUzTC+rL25qvMphH{7;o>7RYi&;5vAe$>zS zZ$3YF-cR|kyg6X0 z9UIPqKdkC z3A_E+LE2GW|4%8)r@Wcxf|Cx?e#5*$wa7321%rked~ZYJfbOyP37QR=MYY8EQJrzQ zc_E}`Iiv(TFd2-w{=7aN^5gpBpG3n2Nq6Z11ptiB(S5ECu@8Wtk}2%wQ$O z5Ajg#1P<51*i z@+y%=s)gARTl8$SvvN+_J0{61eaR~q_@14gB3r<3#CT)S6Z}Tu=nk~0XAKd1Kxtr3 zZeT%WWCh0xH=OrnEylHjde^FAz0A5}De0-I%=Ov&9bnmiKOcD;Sa2O!FsF)Tn4MCv zq-nvShMtVrQMp8JJ5Tx|V)DRzTVwaDagY8ttJHErbV zizq2F&oMSa`ZF~pO4F_K)2eckN3Dom&CNq;Q9J8Py5K*)Hmsi2A6w_*D1L|-RDn0& z$$@EPZ1T7Slqf{X1iZH?CX||#pRLy+f+bY8I3tsD%d?w{Ed3iS-6NrA=VV@x7l}@= zAah{oR6o$2MlcDc%Tc06VTr;15&RA3`?vb-Yj<>8T>CHJ%BZX}xYp>m+EO#BQZsn$ zioIhAj#uIth-{MR!Et}DC)n?cZ-Q!0Gs=B0{{<*7N~Y)e+znYfCE<>uv>m+fAj#ljSt^+1N@bg zu7GhrAfoj$Oano6IuwlQ=bm)385iAI7@=^EEGJmA<8&ocr)Pwk9L(ZSHN$U#F&$?x zow;w=!^_s6`+B4_&!Rhgcm)NzDJco%0_zN3T6VG0Jg^!es%vMc_V+0J-kVy-bxTE6 zcPF3jEyv=9j_-vb#!G!M?gB54tN)e$_K$~WSCr@VwynzuOAu%_JTL`FpTTI5I;bAN zVuQw)!mgbJSz}+H8r;Pd^gYUqGA-ZMogme{GKJ)Zx9q+#qq@kSf%(~R_eUh`L6A3kl$K=pV`;n%pUw;^N<`es0;X=WI#m&k2 z<5gT={YFZJ5|O#Z1N+*@cB1E_H!pXn9&@k(z}4d}fl>DuHE2_mr{|Kd3Dv0{1mOBeB-ku!7+vx{t+99nu?$|m%yVgM(s8V znh@3_Z{kW$;t<>k6jbdU)(!}kQ-Uz;J;VpVF)sV#0=#Lj24wP~5TDVfv&KrYa-S9Z#9E+pguoe7b;pA>3wd$3=cL2gnM@NwT797}(~B$kI$ zSRmv1Fuef=DQ$$7V#s2ac0`z^XFMhNQUtQ;xf3}*wXT^qz3jU2H=_b=K0luKJ(xO< zpEvJO9if`L%}cZZ6-_h!XBP?O`2fNOYsC}E4TGR&)t{c)MV}T;IW{bLFy8F!W zb?(gy%pB^VDV++DYI3&(>*Mns@(aF(0EfmcAvcg}8<6{lhABE+0)%!W_ZlpD+&*>k zwX25dakB8{`|<2KtE^u&%d)NZQ=a+=ec6t@#(=OE;j5u`{Xn5>r2Juw`=0Ph64X`` zw5#-3C$^_iR9c~+F3g|Yx3Z(wGE!rlr#c{+a^#>_+UZ`Y|5qo;IP<6sZ?F8sq(FpA zHP{{eKB4>6$T7l`0+3Uq0=m1;3|{7?0^$3%0t3ovWHyRNm$yv`FSYSHC)r0ie(Xn))L@ew3EP9Sy7@~ptmKFy}85@=zJ=m}=K%=7wk@q5L^nsmtQs3?F z-OW5`;K!?T!gnIM(-gAx4nxzFmy4<4O!+$-lZxU`t;v?(WmyflF@;^+gk^aPIa95{ zIlqn4*VX3V)WL}lr5nK%!H@u|2Le(6{0~frL)8O1pa<{~aND4LT-;Ko=F!7w(Zen= zObTxozBl*znlyx+Q-8LQ4PEaQVTdF~&ckLFEG?)>NQpe&UKft^6yx3!=AL^YiB_Uo zenSgJ3hcrDtu&1HL;SBvu7hxwtwp^!!I!!C%bt-3uouA3UQ7lkAlfivH<;>SVkaXc zIyI8qnWhdzded}ExP5g*3vYWnp%?wHo^c9wz$V!mj)&U63H1W<2EYIk}DLHe+$*;3g1N8B}@sz*pwqenkp279|$8y2ye9BymyTIOAz+C=WZbX2}81 z=Y0;kH zrLF#M#}D?=mFLkd3`LeI5^9pORto8>c$BxFIeNhs6s3X${KAR(mCRbR>7>fUMDe5} z;csY>p1qMc^@2$3aa^x(H?!j}b{k}1*Tpt>`*jM0^I2iffY-$7BjzbT3`(cM9gQ>{ zjquiR^#T8*>8iro>bBqsPH`wsf#SuBOR*L$UL1!;Cd{CU{K7RkAwHOJbS6eK{- zLGpyFCqAHn*#AH$qng+eabZBFq!32O*f;sbqj4?x*j{e8$dV2pyja@a6jC+refm3o}IMm^|;24e>;wR%n5{w^9LOB+g?^(g-#|&;RYj8Z=buQ6{anQB35mx) zoPO#_>_U=y>DCdt4e#iUwuc%heU0M(uLTIOIGT%UFd*8MOULy2-n1W-z0a?ID}`D3 z=?zjq(|HR!MZJ8~S`pvW-}h4m$Rt^6Q7*{v=3w|pWn)Y}tummBC*ledK4%>#f#<&o z`RIguOdNJba~6O;8dBPpO7t-|8z%%j&8g9Cs-p>c9-^)ti>*SBk5~E&Pgg{5Yo4se z%5p_;Vnlr^4~DUbr9*xTF~P`<_8+aN5Y3zLQi?+JbZk}9RV>im_d}P`k>8-CVb2`c zem3Qg`{gl_=0M-+R@tCM2>Hw8T+W34mu2jT`OA4hkd~_WTzv3cyoJL6Mzi??zq!{6 zMgu=?mxI>?ubXOU_I~`r_*|0kOc*2Yz$(hf1_QLy8#>3Dl`V9^KwnyY1j2G9e<`Zawv=FBOMD~~ zT1E9{kWWa%?@)WB>YYw$eUC;!oeGfx3gS@=O=^+K#&%2*7jjGPpT7Ni3G4c?aelFWZjZbac81u1ri6ZLZkB%0O*Dqe3lU}2f;8~;dQao4=2$e5%_6Un- zzukco!aH3mHeEWkmLvKcet2&&+{2#m@6%^E55?dyr0^0!vKCIVmMzfw#sg+6qZu0& zS`bIL==OH8|EoSGU|}N~VzUabRK;YMhlLwCrnk=`Xt(8XxjOLxv>X34WD@3M9^_+= z^hAty%YjQ7OGp`yNAVMn;^Qy{a*9YXwNN%+o0hdx=E+2@sGR7o5{CUSR_pNyG>z?J z`VT~Vw|}!j*n9%5PRdiA!u^t6qIE`Qfx^9rGW6Ntpz&yGCqro_+zT(73M$v1jF09^ zyfUfk8eWE_Y3-*7DeQqc&5+_;KoOAz-}SY~%{EaowOtx+6Y1|q)Tx!sS-t489%a4~ zmz4L3G%P{#9*kA+dK{t~hF-m3%ZS78X zIU}!K_W+1VRKA=Hgl9Q-nXHZX#byr%0I%ED-o`zLoZ!oy-NUv#9g$n+PO4;cCe zu5eHWweTVWaAK@-HE%T_OP{!A^#GXPL|8{tsrWr-F*mPONthcTm@7KOurD9r`?Hth zoZ~>g&rf_Ayv%65%qWL{4@#!8T5I1HRFET~>BWl0H&Dg*E<%TH2Z6qrh&elpy>E+o zy(a&IJge`{Tl$VQ!uv4UX@u6gP@hgdhO&5jJNwuy^rEKEQ_tkNjI&cS$>l78P6+X;wszw|*;^e|0$Wxi$MOEZ9v-e(J{~cWu4V5({Dx;7L`dHD z+P9XLhak!P5yl>y4?2TFs$V=>lH78F+;Z}6wdHO$x+1XglJO2?U~PoRKqnU1aLC~dJG*{0DNf!=i#6avx*%9n zVD(Uq+M0G@{Wf!C=Z8x}ZtP8Fd>#xrNA8^>h9pHmST`y?xoq{;^TLJB#Pkm<{PXVV z>0G@So%|7r_#`y%&%ir2NIaqVAVLxOm*0{S+jik}GQespBJS=lVx_T|^C6t;q0-XF zFqR!6Tx`=|9W!z1AVYULZpNR<1iiqk!oAOQ`p${|nTRM5tjQUu*cCgp6|O~y z$_x+%f0tjBhiee1r-@&U-V+7i6SYo&JTc(v<@*>E2yS}|yduwM{j|#bT5x58Q_YF$ zC#HNP3pVj)65;p}M+H~qo@(9yeu_C~gNx&G5Qb=L1Sbk1b*xYQ%t^o1L=62Ccq{rIZoW|nObmW(Elx~+{%CEH`FlSQyB%@pVA8~} z)A_G)qn1XaK9dBh5r778rj-n)m3(ed+V%m~M;OFWdk~GVNm$2{?KRf*d3?@oA?4^@ zvZ|;h+kf+qgQf5ft{L}Beg4FE{}%n$a4 z-7x8CYBf7|CH{38QUbJp3VvZ{6ZNwZ@8Z=t6>am48CdsY&$n+e9v~fs` zD&YPj-#2Wm5G|rQjc&RMdE?6>lht`vzy6!RMYaG(ajL^ZU5x*rFa?rE97A&8iUX?o z*A6voOH~z4k;bQ*)j3onk#)MS$BND^hjKF6BK<3wUwWHxXZcc1!t0g@+xaeU=QgTkO7DGe)6&sS({A=oq|d4EaQeV+f%UUr8)v@) zK;oXbZ$AX#Qc9rV(B7kN&p*vD+@-oYy4oA;o|;>m7o6GIcGmFURlmZKuW?350Dkis^K5?=o&QxrSJ~Vh)yg{t}Q66{aw%d`=uGk zdfa^j5hDQoYyiWHrR;J$yo`eF9`nI>@YU*Fze_!AW;+zXsNu-zvZTLvOF2S@QdXh; zdZ-;4zE4MKhAkFE3Q!^_rFo`tKDhqVcHArp=ztS4St4w38I>3bkXBhE?iRC#3gIVR zr$T_3o#0>st?B^KYPSAF|GmAnr@{Z*CdSyk4CTe#2ZH*gAT8@(h_Ry%`%>=3r@w8G z*oeZz~44q{R zqVGifzcuIHO+*pnl;4T9^9$W?&kQZKmOETyxnuuu7o`${x&CKs(OOnsPwDfp@h*Xq+HboHT0i|Jhq|te(2C;Ewh0wjh&X%)s})i)2m+0sUF=g_-r%K~>+BIe-!!KXc4dzWBZ$D4jk}6Oc9`c_+{@ zB{rT;x~_D0cYbyA%JeZ0DOf|A!{ApuOignn+hn%rGURHEp|@M3`@fK3N1m z7MAKYUpyC$>dj@YHb3O-9iWx2TIRyHrpr+mOlhAlR6Bc;oa}oVoV}++VNDebe z;qayR6`>|0MXEgsR~>&yOM6`@NJFXIvlDnHTyMxb2bQ|g9zOq!PHq0I48V6@D3f0( zt<@7fQ}l*Yb_`p6C;QEnyMYdZAM(rXP8MINQ~b4_7vx@sc^oZ1vX1j7Z7L{>v_Q|d z2s7cNICPn&yQpZLG5!+z(R-I=kI6%g1C{!efT9?}oz6ETB{XgiYM|x)h88ynG=LPtna=gEb)H zZYHAk3`bpapq*>)n(SK^NO1LeCfllsl+q$HB}>55nTLJR0m;V%StLa9ATVCuPc+!i zr1e3k_DwVxz7rI<@_gyB>Q5#-}ZYC1Q z5Nj`6Yr~4%26OzpbL3H$vESUfl@&Q)Hk0?ZMQ^)j-=~vkFS887(V~S}A?Xmk;!PLKQFw-8X__b2|VNRiq@TePiaDC*)ia&5qS_+pyBj~BSYy$Tx2ZcSgmy$am#q&De86*ri=yZ~*^m+D7kMuNxQ|9S*&87f@i+hyz^s9a{P|2$$|l!z!#niyjCj|cmu22q z=Q-D_lPEHfiVb5g9`;M4Q&|&P&;C{Y;&%6AZ=Fhxy}Q)XF@}-72h;MY3fk&PMBM@* z)Xos;5x|$g3Q)XFSQCb~dMcVWKNTb%wOImwb)XCyoGn5<#NrTu4)l;$lo*5}r8{W@ zgLN9GtBDb&85Jbuhh>l2_gXXJ@XxZ|s(Pf6s|glqYd28dd_g703Q55XO~FJxx@$gF{^$yQq@dxcG%bP_NMD_~XULg$wh zTO{H2>G|A%BjA6JUJi}>u!aCxK;+7SqD{a@!q2oA7BMCTI3#z^$BnhaGi#m0ed9B; zNyhfaj;1{|oN-|+xKYaCx5rHzyGc3hXSwgX$8`V_fbk3&5C@qBxV}d7l+w~CmDlrXQJ5?MNr4YgnH(QE5FtGmtNG<9-`(}coxC`J`=X{7 zC?Fnv6gn**eL~xNi*MS4DK6_PA=|hU_ia?rI9Ee9B!pc5U#C)Mr|K`8vd>lOx#B?P*lggH!_Kr(3IQS?h38S5|AIUzRIhRy)fU!Bq{udwB83RjY+Axs0~nrTN5+Jw05~BT4*ccbyMsAFbI(xkGD((Q_iu}#?d@$>i?&N({id5ldOdcI<$D)cv)FAJ z41GVH%4g1hO@#EReZ2P2w?B0+-ZA4yvgWcmI$_PN<)ZBJhWms?sh&-2q3xNxw`!}b z+<)rvkl((XLaW8M<|e;fuK>lnE(M_@P?>QBycX(KAx@}rhI%9JREzV?9XxKOJ{KA_ zrVb-MX$^h7lF8%Yzl>lL;LfkS11kR36tP)6+3O|Oav#JghaiJHgeQrL-jiMV^Urb8 ze9HE4u%N~f^J^cn1gg1uu)&IRUK7+)>gnQDZ{@e%%E{X;a|mkNJ8My$SR)S5tR%0U1bBC2b=*xb5 z$paePdl`UQ4Q=c^yht{R<7H#nyyp*D4RwqlyaHTr#}B__!B{0@2=+x=$gmy%r2FPM z(uuhP%R2{i{Pa#NisXB!wmunxfv#V*%kcFZIHRk{=r| zI@NsZo|S6{vPN*mpY{V61+lxcRoJ=6vkNJNPEI4RfUfvzO&JgQ%@SVg}gn7P80=9=0l%b9L=q+izi+%B@_zAaT{gMMM$ezS6#jAKxx?#NgoR$!$R zt6^yeiF&~TwYFx(*e#KqgINGZxC3 zuj0Ik0=kT`6Bl$#0z%ySNedaXH9WcI&I&p*S*2l{tPFU)u3tW2(VAxE9xxRVNGr*N zOYi}NJC@yhDcmTM!>DJ-2ck6Mq5sBJxm*L$(rG?g+PPU)RE#f9F=cUU9&&3go|S?K z;Zs)T6OUOTxJY6jlW3oZ(l=NQdmP;oDs%mGgw~F&{XA)NqN3ZpBK7^e zBDXGhI}qqlVKM!a;M_d2^)s-ZT~J{8w}sfy_kd`pE_6~7(3>j~fMi}4RXr(2L-I|D zr$*T2o0yO&2VUF#-lOy(z6Px_OHF$t4RUy-ZSLUy3%|D}`3lT}WBwGLN+il#@dQHz z?5_W=t*_iidq8#1`fA%o%J2Cte*Q!l>C$KGqF@tHUV;`it{R7PD7?I6lPU&90q9W_ORlQj(3p z0MBvy-vz;u3Xi7u=P)s#gOU?R-LK=DiP**I(+d?l8cVoq#>n~Yx1Zhuy`Dn-LUEp~ zy78g%@i^Ta1K3kP&91sN`@Yl0vxG7gid~0N+6TCb9ZEDZkbsa5relfdoUy2Jj8uwv za9e~G3PTyx$4~Y5JdJ0Frn^`Ti$T?Pv~qKlFtdcYQ`l;fL7x0p;5JgUGf>FaG!SnyP53tqq??M*OjU^!g3DXh4TFaO(r6aeceXy&b`9Aw5H0V zfs-4mm9LF^cjm%>+iGs+i23w&YYr|0vBd6ZXJP+6&!OYrfsR8A{Sx>L#6WB+8tAZP zd|h#a3Y=d$_eS>XCQ{n#c-QO%)0S~iSnFSETy1t!--;2wlpnzwD4k)gRMWQ*vZ=#tkCs}o-Y3oRRnH6`qNg147af`qySrRLEfHgHiwG%e2=#3zb zgA6OMe-V#UwQOrOwcyFjyD#bBj~^!Je~5==;nO)>BcagurT^?HpsPN?UvU3b3Fea; zEs&K0HKOD7T6Yb)s%kW4T~IWyjKqFJjVeb2IVpa5B=q=)Diz` zy7>FYZkP-+eyN~$!C+z_04GuJ$MpHfBQg9ynm!Cb$Amx`{tTA`Q>4H) zULFCp(yK*avxl(q*@TGxXGqFP1dc~_loRb`()J%*_isP{2=Ntvko)orZz_;Uq)8AC z#Z?}!aNEz3wx44hmEZ_>NcuuB$KQ`fEXRpc-!Dsr2r!5Lh|brRSs1w-zQlRH*tuTf zcv{gG_pj*LoiMpR|2S>bK9g>6wS-|I>WxvhCLhrDZTtvRQiTuEoQE^^p_F(+uirkvvTT3 zl3YT+AqjEszWmG$`j|K`DECesFM-v)L*BZ9M2KM&ouFS_hI^a~3D_rTV;odAQS{>H zHu9CvdK5W6ZzkH(E5&Sf8VBj^y9n=xy>aaV32g!CbYw~kHe>5EYsPM3i^bp`Mc){S zyho7mg^08pC|4{dbQC{(if+F_#I*-`QJ!4?6NRpH3ooR3<$HTR9k%;|*uJ~>_(|Zt zKk=47F;-kBtI)_rjer_vEPw$iZUx>mAY^ne@MhQyzIBTRG8|fDRi+8S<8DhRWTA$-E zruR%7s;dEwTHf5O{Rl^lL@g04DVcqa1zA=QDyPSTFGpS@a+ML9v((OD|! zB-MCc_|3vIvQoo6s^CqtrNS$8*jXCNo3!lJNYd5*4>uN0waf38M^=^u15YTrbB0!m zO!z+S?y-A#U^>@!GWsYzT}zF1eu^e2oS@ySa>K@PiP z83!~q`5aN$Pjvyp^9S!&ZOacki}sc<-I6+giA$i58=3*rt=ftlL`rY6uvVmv-A)7& zCb#Bnyiy6$Bb{%kgQ{dzSqFd7i@z0de6QIOYFJC${s`QjAkNp{8LzE|>NKNPyAxZS zJSEkh!4@bXFettF*eJk*sn1pR{C-tY9-?rj@kvZnE#Z?GjG#$fkf*2$H8GOPfZf}( z@qA*ZC61+$R;#M-?=JRQn$Oi=*Q-KV^jKj+r$l0%W2xU{^6(XpftKWK&ni@-VkESp zr_9oqm_a|11lwZ}5Y-+hD0>m(d@@JPVH%t09FyrROmjlS54F%<92p6 zOS%5qL%63$4=E_+=_yx$GRcX7?`Jq+MTJRjk~WCqhPcW})#3h}TI=GFcy8t41|@Gw z!aJdp(}eTGB>Cw9)*WV3bL=g9UMp(Rsa2?dv(H6n3?J1oE7ia+V#^_noW}6Wuzl?S zRt{nF4VDNI!}7=HdN@@+^GG_%!6mv!GTFnE#b*T?u(j4PgK4`GB$&VfmA!1e(7Tn|>{{ECu7CJ;I!=e|HzzAk|w=_u;+{NC{IuYS^Q znAfOk6sc-t-D#<$vlmM!Apu-SPUx{U42lN76E*!dn&qiGN&{RENP&sno*&i%YnE8W{9g-D5Ju)%J@s?zax_D*eD;Tk81Uz&n|Xzn z`eeS<=Weca6`yVJ6^?B9P6Fd)$yOubx#nfy&8glv2+n7QNVc*a^=fFGDk&ik) zA^eu{OG2t2&mwr3q0zA{c3GRDadGe5>fONx%`ln~u&lzd>tDEFv^LzCIMUC*k=522=)^{8soi`^@!HOpSJ94*w({GR+s32y?0Vc|Oi3PDzVZ zQ$7tqj}oDqNoJNV{HXHSy&uJSe=Vf;3uw~|Y4-|i%c!Yxy;8EXWT|76dlUXeNaAyS z+(hL!A-+EJ^z|Smqb!pHCU__Sf)GO&>Q0DeC$qMc#;q;)YY?x?XkDYR(=8!atXM5RDJXtN*nT^C3(BNR zA6x1%{Vefzr5SIdC*3QeKIG-$cnFFdx(AoF6Ldf*n_ z+d8W^(MeZe%?2~lckL6+w+p9h@QX_Z3Pe%VEfs20|2XS-W9>Uvep9v{Ej@?-mLbHP z==6mj1ZaavC+Sk#N6?yXHv!ZR)@KkJaoULsqykn+pS8*7b=#Efwv}BC!vc zqAj>8hl+DBzKbN;@2EmsE? z3Znk7rD@fNrPQaPG|SP_RlVHu#z0OnD9m#x%P3M@*%q68$kYVc4ioqIC7+cwmi#k- z0MoAE_(=4#&HRRaq#JH!Y()|(jpkWjY`2lG z;Zi0%4Q?XUD;9PGCIfz)f-fd^|INb^qaq6cpaJ}=3C2j0ntMf*sp_Dsm(I5A;ysUs9#K%0MUUEx#3lgISF z>Ny#RWiJK=as#A+C{D=;5Eo1Tj{p!4C^p{ziy)ZKRDwH3*P^_L)a6u=^6JhPDbI8P zSyK{ZZ_G%V$}Jb4bA9RL>2(n-{0pPk@erAdCe-fJg97XDJd& z^j6T;xJsw1E7}|K!H!@-0vd$n&0qPoI_PC#XPE?ZHtH5FG~5QpuK*W(-GaP<2(3{I z^Z9I=f4>oA6j-r-!RHw%W#+Fsh2p~Sg;E3)QJSFV9~W2hUt)-sa5ySRQ)ARd7!@$* z{}9Jf-e#YeYD*)@tOO$B(@=}+U;#{a!UL^_Bf~zc z#7$QW`x<=##n2ONVy~J|t~v-;Q`m==`15_j)QP!p(-OJj5$xhJo)I6+6L-cHY|9zV z#oU|i&ib%B1Nt?efNwq!%){yCe;&;zl(+MUZc|h@0%C`5KGQ=Kho++YZhrGap7X+_ zFJOwNP|HP3Hz6GU=Cz^=Xud>+Xa;#ej!#8 z+Ui@a*K1Knyk{mszZ`bW9{@WfRA^rwQU z9tEu)#qM;3apg4E;LKU@3$Y3}+-LgyrUQi=J*N;(-tX{kEfOuvD={MgA+1x2Hv)%_ zn6R@9<9S|;MSJv7WTobEkt$K>&cOV%kEQ(3mNA%^F)#0y*Xud>5$a9vf)!Fed{za)C(OXj}2LO?CZ zGZI-Ywk8OZA|#=0_m?5Db00b7JCq~erpo=>{TOH-A4Ry<$J_;fR##xZ)j?J*{eEK6 z@T4>KxivX-@V*}PBPDxQ^sV08T}n!n2>)V45)g1~2tW#^o^-L`EE76zBrBY$OI?4h zbjI8lac8G__QU}^rw4U#a{@7oH6Lu5~8*8og zW`zSW0nwNL!cN8@sf1@*AAfy#tHP@@qtoSTa`sHG3ihe_-I(XnWIp z$}8s44po~grV?Iz%-$NoIAIy9@BH%jgIK;xx?|djCsY{sMWz&HyH?kFYriy9_?jc# zPO9eG^JsI6O<<{VgGb0ovZ7?Uvp~n<=C39*xpfoX_ctAjVK9}qI=8F16E&pwpJV}yeSJMdu>?5 zLuF(AoLA%yR$I88EhU_pIB}ufWq2Cu5smw3n9;%ib)VoZX8a)SF5Q5wnv20``MmlU zkF30n>diim&qwX7e?`82g-Ll$?I~)U@iVY9T`R@o>m!^n8M_LDzSDiHixXNJFqTWV z?`21dV^Q6dCK_{>`;A1*fKmJ_l|R#)QEYNRs^3qI6v^0jOWf`Ed+MgX%RA0K-F7--CYuS$b4eax`l|E8m9BCfJ>4cuIB^T7U=QMv0~G)B47k3V4; zEWF5oj%Ool3&lI6kJ5;5gT=uj$Y}onvk~iui%G;c&$>zokb|M?Igcr-&ey5|T13eN zL1|9j=1YCw(SSTTaxOZ>q8zx(quK^c%odR|YFSKqdhJ@UAoI!N3|5Q@!2M&IrdymVl?>8N1I1+x;cQkTM5&ebpipAT(Hjq= zWI=9=3yNVnb&SUEZagEpA3sS=sQCK)NDBGY9S}vr__c<>K)PG*K)aCuPE@6f*GC&? znJbY5kP8hHoOD-Ly;N~|+GUq}gLK3oD7-l7eBQ|DHqPTLX|DEvb@Qt~%Tb+GP@QCb zIHp-Sd%H|t(YoU3QcdiWi|PUg{6z^4xOwT;Ahi3tdtW#9T-RTar`hQJZ*|(sh zxqj^3t?X#PheLDGV+jDjR_`u=`Qwn7xU`32=gg&_-swU8i_xIeh8fcCPMM=-+R|K= z-xyiqFg|Yw5rJGg!_w9_sXShDSZU4=y&Z9Un*D34VP}?rcywk^7p~C+M;unoLN$fv zj)ihoR7L{)e!tNCNQDAn6NQI5Kd3uimix`M`&Wa97#z;JItnB|R>d@Stmv+Xq{Lsm zu-;J}1QIo9hr?yGv%ayo75GirH0gy8$cmmZUU=^{%N3wB^lJy z_OXjwxHgR(5dw0!QG){yUMp7jsSO+pziJ8j=^q$U?c*t(-*%uh6G)BLeT)Tl{F8VB z@kKk4PW#_R3WK~YorddX^t!@Wo${M^=+Rf5>o z9Z9<7C+WuF-a;k38X2hPUlzC0p~eZk$lS{V=g+N5#jaI*#`>|801`0o{_(fSS^yp| zIxyt1F0nJ#?uH(_Rp;jdMl}^De=#G3STDpJK$CC8;560Cn`W46FV>>Y1s{1_ zvjPH==VQ*5F+T1nK(`ko(^VfuFLXWvj0aHLLaH5u_Y8K3()JRLF$N8eng8`YoU<(p z-isUBh4J$RMr}6d<|dKgApmwiIuO-Ca>)Yk2so~@B#A6}(gb~pUPC|G%tK>3xu;=h zz@xAe%6fr>pFaN!Ighs<`03?ELl_^yq|sG0lXS$gA9X@XVpO&B?*|FA_I#Js-(!Z$ zFI)0Q95;X4mTz`L!k8;e8t}Z39Kv9HE#GFX|E&eS zGdUY<$d5zekO7mLdge%Z6tg{i$g6znemuoFYR2YsJuW($*O`0qFWYQA{9UFolFEWN z)2^pkk2l*)sBtvNyqc`OvYXPxrs1YnY*VlPc6JR3&|SP`(Z%ND^;Oq{Ih$`4x+!MP z@KY8$KDHEXREHGDkVV|_{yw(*r>{Z2lunhBxK6-!`x>p)3qNL@$+3-zQ<^M}oOn%? z@hG8XQW3cpb?8v+Zz&Y%&qjB_qCML`sMIR@M|>8@=RK}J9~rB9@EGC4;=zgpuJw*~ z7P;*M5`y&^}MMa?Ws$yjX zfJq6JUNj3jx4rfnfN+LkPg+TwPC4BSp2W{b{8|6t<$1v^56MUdiBlp0xCWSr;&H4w zOw4p5n(^sB{A_%e=QP!BW1psFO8R?t3XMeZt{NU8!P8ZYe zA^e8~XT1D%;qAajsvc-Jpz<~p^*c?ZXQt&Vm7jUc+_@Le!Ar6?IGY=a26=l8DKBV0 zFpZD^5hlSnWtm5Qdro zVvc0`Mt^n83Vlb(1s0zV^4nf77UndxZij<<*^JFTW@r$dC8*qbi2%q1O3OP@Nsv& zth=yrzCdFPgC}OdhdAJ#a*4s-V&1% zj}d~!U9~5Lw+q1b^0Aif>q|5QK+ms)|7phIvV29L*_A;yQ!}13TwWd zJo?g?O$WAbpTZ$?-~tuSB_kvyaZda!WF;$cVRkFf(C2kWyflT2r8Kdh4Yw; z-;O`jT}Q#LmeMcgp?h$_ari3c&gnY$vFao!!%Q%e)uo!CaS20&BAC*hLis04jPZqc z@<~*yL5wKlk2je`Lfp2S!#pDo2PsqqCE%2TMysMW1=41GF8_L^@`dd0e~aC=gjSHk z9>4no)Zej35h48R$}}W6#Q~#!<%;r#pSud+1UAu9QZPhE{I~I~6*ggaeip49lPLO# zo8*I#B4h6&0pHGOn-DHv(|}tI4)>%Z@1kS=S?|72X94F7AiWebd6!+|N8;%Q2*kxG zW%x1uAv%TG# zr3k8}s<#kxUokjtTA6nft~_$5Ne2e3TirudiEQgr>p&!D15V1@JZ~N!hMN}-?<~p| zL~TdhBYDsCNwiGFckaUBaV+N*M1V4 z`GEAuJ>~d#e+7uobVo`jh&?YzCJs_59gYD;ry~-p#ZV+e65u$mj}pLXw&D=h0p#d< zomQ{qo<#I7sQ+GO|1pwG!zsZv1A>rakREVycSV1sJc-A`;UmV}ul_ww=X;#X=><0& zXBSnWL0&k$jd!$ajv)+RagwhvJWk&kOw4u+dp8eg+rm`j+r=^aamY`@qacxBnw5@^ zB5~xJJzWtCBohDG5UTdnY@jrt@3I&^LJt+uCdsZ%ohD#mlw|M4bJcv}L$Jni_kmd& zvT5tHeb?`?yC5FE>-8?>ok^ZH(~5DCkUa`2=@@MD0fEs;Ah9AZDJfCw9e>)_hFg=d zK^FaT*yO`*{1bTV>2{8zCRz635jl%+Z_yB@1fMKhCJeRNqPD>lSaK4TSPVWape)0} zZ|NBqi76coooejY!*b5#rN%53-%#-~-_F%i**UDNj5m}O_^X*iLsCNAcx!EKY&7RI zTXpnqz0Ln!UV4@P-fdTphYhxL%|%51PJGSAk$fjD_fL;LzvMH^Y`jM4yCMTag9{~{ zk-p+Z#Thp}+oSrKnX^A-Ycu0j|K-<)-Y8P>@=@8S`es`_mo{Fgm~JJGU>VlUzHumd ztSNI`O`vq-PdgGpRPOXEjxqEwZpMUpt3{OitJ?xJsSGTm+FNpEn? zmd&@7y|#>wi6P_^@3R}G8{NeL()(`B;fjRGPJCB%ERKSW;L$o&gBq)7nUo+kB$#^jd%n^hrg!y{6nyX&jB`-?wOP%} zfD~>#$_|O#q;b|EUeyvn_o~!$~1VUcaL0QlVQYjTsR}afoOiKL4 zqwz(UUneY z;Zw!1RBHa#@a8}62LqzN<#bYC!E9TnzGtX@J@D!*%i-NXEVgVaJZqi%1)m{4z7l&d z*L^A5eHqGr4HX@Rg08!z{>1gpnntqq6X`{BREC%f*3J8xyw~N=wA!!dzFs3gzcBvO^xopQhla**Gm-%OjIdQKark7g1iq|IMv06_u} z0Dz3d&IIlY>dptB&U}kS?Fc^*sKj7cUK*4StUJ2NeqJOiI&t~#jiy3uP~Kzvy6%uj z&pxuOAUx0h+c@6@51VULV74l!`m2!Q73;4DJhLF4)r03e$P?_l5#W^i;b|q*XG6W? zHSpm$zq4TNK_YSKyF;SS=Q+JsyXMH2S_ZP&!ZV0c9u=>QvU1>y5#rxjD<(LBhAg_j zyC2q)v!zC@Ib3YkZV?D!VNaPq9^ncTHOz{UYLnDGF$_TMwB5Z~`NmxU9k2;_X6Ap= za7fmN@)cH2HcCR2jK^X*N6hRZt?Gh@S3X~A!JB{3@e3Xbz?d`<6gSSvMJBx)i2tA+ zf?i2k&LESn7w>HjI-6s^>wGvqdUIR*e{?|2oNn#N=lbuQHUA!tFSF(@bA4eHOtEx09ml9fE@{fI{c3^ zT5QFXEdYgOFcdzifx!*O&mKiiQ+@1Os=pRF+eJ)AvfjRxYaRH41U&zvd4Fq&2*AtO z-FgWEz2#QsNO$Rv5vWinPXvDR%K3 zxJD`ge|JdpX|>5nJ7qUVr%5yIvYyC}e*ac!;)Tbc!O_!QqH8IXsPrNGENWb zS0$`)8Js!+T!$v7B8Zi0*@W`7J#)(LN@g>y4qnzK>>RN$^UqATY0b6NH|{`kZvIEp zRR*>Bea#1VcPPc(-L<&&hg*xg7I%l@ZpFR0Q`}vOySqCShvd!w!#lH+$>iqKGs)e1 z&)KuP-@No?yqT?C55uF$x7_Nz@Xu{!+V3KJG}+WeLq<$&Id3~&u^i$fT z_D~u2FJ8I3&^`33Kh&D63~UM;jHXb`GbWh0462n*81d7m(V|qGO=S7`Lpeu<;Uy5m z-z65dKa;?vneK&6QOoD+D}*|x@fWiTnv6%vqzy`gpa4wNU&2(C$&{7J#x#9T)T;KK z#qS?a=oGf4uCMX~Hr%BVsmo^+u~Yf8M6@HM1OA4!Fcz+y`Dko4b5=oz(xJkj`ympV zA!Jq0+>|##(A)0+YXMe1Ci(;42*U7*HhV(VZ!7`wql2-5XxQwFh@IjmKC*>am@n1y zWeI2C091e*eg;jLgX8gJcd*DISvZ+GJDA^Jm$?>~h>seh5|RKBm>}+J=2ex? zt@q1Ncg^b{8YRR-^9-quM6DEVf^rvHl?p?N1w0qh&m^*8P{bR!WNe0iet?1!Acyc| zQOUFOfI!-d;hN{`T4<8XNkhB^L!Q|$tZLo>RKak$t%Ko!`PANkwLrV3y8w$`Kz&Bjt(j!_vHs~hol_~N;EO1VQ6nNAQ@F|I2j9O;2f zWEAA2F>%2%eln))z=wSMAyBSR(DpL+xmqr%v9rZ@a}d9z@#hF>XMtM>{dk>>=;$;bZ6<*|iKO5Dx{6!NfcUh4%iao%gK$ z@Wk*_I_2HC;#lZwFSr4f^IAE2|H$a*SaucCJ{O0V*|B4RG>JH8d?8IDX3mIcMI9~5 zZ6d7lgF(1%ya|zsB`@fwp0T0}q@a}^%TwOk273eZYcEZrFsZ9Vmk!5G)0aiNyd;Qv z{T^}+lvtfUIEDtwq?#sMoUtdH`@hCSCW|&%OuttZZT?5ew~!YK zo{d-TVSwoc$Xx~%E^eWTS(75M>Mj1FbGSI7$MSE9JdO9CoOc=Uby&5$eRFscpb!B9 zpaJ)ur(t2X6cSgwP7V}#s{S6y+k?``=(Ak*8s-7&TNK&pC7DLFb&dMH2r4dnL- zleP=a|CsdN6MUGRl(X8SL3|~i+lET!_$TPeUPhdOUL4*5)oVtM2tug{*C0N5Zuz3y zrYPTPw(*z0-<88W4PYK^JW{Kok}E^R&Qz2PPns!sEE9iawq%W4qr2;_BfokySsJAz zS^1|Q%Th=D-HL~U46YRVzX~Ywn*vLyz~-zl0Khm8g;Zm8-}zz035-J2zPxVz?g4dQ zuE7NG!5FnUjBq6b(|J(OkbnZ`fDRncutU|zCreJkc@P1>j%&z6$--#?$PAJr-H2HL zJ9FTef{3Pqh?sEIwkKGx9_d400v-<^xwQVEyqLSgUp~);mRua)c;TP@FfH!V9>C}Gsznd7GXjj`2JWlHqPvh9Dshg8OK2HJN?jQX_hVlL`yU}ba zWc)XaQ#pB88(vo1-L;~i=RwQ7yqB|c6d6CK=l&xWGQ9NWu@aXdtgznzIU3v*xE2z} znvH>*M29$q4LglwHUZzB7B2!FSh#$)kXc`j+Kb~80GTOVirHczS26`fPQ^|)G}be`NWdg=UOZi3fJ&DM{LflqQ#1Pj6hc7iw(%^@8& z69*MsJ`n@0gk*!w|2Eglb>8<1Qzx{m^c#&whA-bdKEJ>36qx4u`5ldxU-x|ME|b-K z1HY_IZeNKKe$tFR+j%L^-$MTzOE~`p1LD+eycqjN)w9v+0h;^67MHjB2i!;#y~R9b ztq{#3kBL_tp`Z>a^4|LPe}D-9P!}LRI##qR5UOi%pxZsD3mVi78qA;=Br145r7%Nb z9it@Vn@=}7I(MK;a6X36*rcK=u{rT`Ue=a%;nhXV*5E;0a06aJr}rl<3sag#o@iR# z66`9@I(!D5XxvUO>{X@lOuUq71C8c}BR*ze*wrVc_FuWdzQIpiu<$O3&nrcQ0C-+hg6>UukR|LrxhrLr zi%lqhLs$a)IqHZWUJtCD>eo-U+->%@6LeP2-JD8T%rZv@U;;Z12uNsDPJ_~OKN499 z8RqrIbH`A4pBR4JKR2+vspZ|Iqd&&_KTi4+6yxl$LG>PG20PcU`h0a573R}M-`Xa{ z*>xZ}{Yk*-WI`*m7nR1T8q`O){_rQU=#8d5q^2E%bb$T; z?Ao}pwddcoZ6TRGb0fo5>8K3NEgNV+(R3$dKmmFUyu^4mwI3`IT36UuF~# z1>qz@FuBnIaW1HGx&%pbo?^{D+YmZh+Ju>@*3Ykx;j@Kajsi)IxATQa^Aca#hmvF^ zoEXafLlz7TMW-p;Ju*_9!T)3=UxVTdYM?o|QUlLIRoDPr9AxZ3HbO7?6_^bW-=1t= zBtJ7>y{}XG9QvP!+CdKn09kqA0v1?0T>Rfo#pq!YTprv{qH;VR4FPdNHRylw(Be}e z5q}|cf`FBw{bjy30y*y1W%-qQs_{@t&vUx@?qL|#XU|K?7nl8mo`PiPNgQRx3JHe= z2F|VbLvhotFx&1!y?8ZTjNk6pf9GzdnA`<0Fag7^Gi8tQ|9ccN5-I>|y?8}E&(AEu z6G~XpAcyXM_fyaNwLi4d8(czkO=#)nq_Jhb8q=nZzVe`w4xXj=y zdA!F3{3pH?RPHoXZpa(lhed*?<;g5V!_K-IGx;y4(XljaOKCkz|NUwBW23A%+5EV+ znKMcD$bkOP;=j1=URC>H7BCT6^V?BSU&WOt@617PcG=T2|1=pc?0j8%(o1w!&Eh}m z3A*tK?F%yOiAbeGg}MHHPRnSum24eBp(x2?HB!$<_eAtTIRyP~DhbHbqaRPDgbWRa zd78_>1@(%lrG6&UeNh4;j?*D3-aSf%QjO09P`J~T5yzT?cjM-}C51QdD=T|RQ7Yz7 zOl;ll{zkVXFwxqm%(}dFW*LPp#_IY3_Ac6*T@9^;47Fu~A|3n`JYo#>{2cBE*`4C7 zQ?Y4(W0Ub{hEi$hw2Di$NK!GilT!X;z&eZ$gZm$kma0%l;k14lVxq zGNO_0j=rT4G#9|LA`D3A0Ra5q6$#M}#+4z8NDbHv8rUh9Fcr+vt6qu|nG{SUAd{Lb_pAjc~{m36FipvL@uQ5_Nki2s_RP&!^w z!RVj9q5Jist}20hzB+X<`UCv86Zf$5@78c%)o^p*@U z^gOYXJ+7er!4B7tpsI$=cVAEBrQ8E8Ds#Kxd|4lbl*F2pH6Xk(udvjVw1`}&C$Z3! z94Hte(^ns`1JcZCK4T4r+?X!&&r;A6=CEv9!c)xT*T6KT6>pA6AhpAXah6qgKQT-dd>#DYV)9*mBFLUco@skc(78(do`E06C@jImK zoSHC&`a6k45qX7v#2J1=dq#zW`+q$13oI&(VT~1=LxgW+r$2};ok=g9r3*m;{5~7B zAo}8G%g$*(2&w|qAra1+y6BF9mQuUVp#c zN}+{$^w(VfsBnLVwnumx>jk5O^@?IJDAP&1dFp%RDuDIZZ>He-4)SipdhDU zd+FWzmNquzbh)PvgM~3&%)750yPAYxrg|777|y>`Y~N}@09mM37--JHR1@mtKkK+NVVu z42CpGQ?2+ils1;fD*?Pi6{yu*>Ts@>U_((V36k`Tb8 zheL(#ftsP9w&RDIpfVn~ob6LNvSV{mfKP7zli=ehQRYrT$_@N&S@`#L7({oZ|A7Rl zyw-n01z>WUdbq6ovGYAYA*vhWO^K{OWI(l$QR5YGmE+gy z@wl^e-Cw;O<_b+tXS4YhQMG&}&Iv$zWMYX3?2~}-^oN&1U>ym@n*CPl%fyo#23rvA zPCyTKe!pz`eK^~3zp40f%=gL9Z5bculY!~YJ32%)2ZS>|%Gh2wG`ZABS(H!I6CZLW zSc3nQ^I|&MHW7gs1!N;U5kq+LV}COcj6VpI?ONt}L$PoUCc6rbS(kB%Z*Y8?VDeTb z+^fjbfc%W@PF%hh$pRFyVnxJxIReMz+JE~!LgMg+M=b9HN-g9=CBeWlP(#p42Voc# zBT6xYnokzuYSZN|S(FFtYEIgRTtOFa7PPOr?pLn%Tza&2=K6Yabg>PwaP{(K(jb?P zNfOQWp<36eYp_S-kkI*Bn;xGf-y6O)+rP9e9Uf<5QCyMv7rU*lrkPvn8@x5Y{BhJz z_bX*reY3Spsm;Ffye)Pfi>!H(?dTA7bbQP2I@|o+R;%^!zlECv zSO1M{L@#*lw5ik**_#|-w%`;yCkquxRaFIDc^hdb15;&(FXmd`tu5@WEtECA zrKQ!JoFJ=`s!o45B)!~onVI-#nZAnBAqo)MMkV;jhuiUf%7j9khRawJ6M& z7%xw8W~8AgX{h5g-G-Kg4!A%7y0__P!~n%%mK3M^An{A}xRfj!445S6#=+g46z4{> zU4i7N(In|&s-%0axk3~iskVj)S7WQ-KpZwyWz2AzaZiR>tmGsY_5C8}J*s;M_Nnf1 zq-o^$oTYv*Z8w3on!IVW{Kpq^0xxg-rpNpuAr zIx388s6XEB3W3nb0@GNA-B_mX@}Ky-lHt3OV=$2%bV3zO`APy{At__0F5#^$?;bFl zUGvUuZlIv=(6EOD&`;@SXU^qhZm}i)F_}%|cM+h+Q4}g z#tP5MWLr^HtjSj#BLIigfHKCawLJu8Q*BRi%}%duhwh|( z8ZFzOf6aOk>J^e!^DJ1}>&>(^-xLf{V02^;3td9)cHa?3=?GJBzmp&VV<~S44`P!s z@=x2lQG*~^!EYcj?qX&8epOHeNHD;I2!`>XYs7F0QroI5fAx`x8P|0I;Qi zq4{kr9mk)DVsI6d^n!=>ocosSf4a8))km(^W7I_VX_OBe!1QQXV*ZCVO6=I&iRY(?%DlK?>y4#0!O^JCaLvFq`F-$`YWpnlC6Op!Xx=4&qR|>`dfn( zPhN(xSi)l|+*Yh$ouwxB_rGD~&v{EPHlpsq-Tk)l1tUFBM8HFN22QC2Qo`BAzsUP} z4KWq%4`F3L>&!=jUf?GQ*Td7_kt=@TR)&y#JWN+;_CNzTKwPLG4;o-uDTMW2afKf> znz42@QW{<)nW~8&6$quLBi65~nNUoNEVq00i(nn!GQQuDhY_qVYsan3wwWP-CTc5xsw*>bv8{*}45Spop#GiNq1wip247=}t zEd^8@l6?m%W2098so)YnrmM|PG(CT}{E0cE8KT}#PqU>^;uw8!Vr#N`51|qw4l|MDHVYTAvsxP1s9Jl= zuV&9V>!dP-(bTWHl$^GyI-O$OHL*J>)RA)}q+^aM-(bX|98f>QjlhM|z=qR2!%e`n z&K3m28YtPAsr{@fBkyjeu59Vvk(OQ*@>9NMJ9|Dzjbk&s;&0dRa+Y6j8?q4Np!JVnK%2Oi?s-yQJKmXEl!SE(PEKIb%*==ZF#x2ci0BYW@6`HYYW zoCGYMkNmVlvxSFx?xxv1cb6k}Y-HCUuBl11g|aq-I?>Sw_{xWH_LtxI+xs@1PwwPP z?%M`t+z1b=uh{ZKR}GT@O}t84W5l>d(ogw?xf{Mn6#!Lys7(Dw1$UI{ukXJTxibzf z-QB(>)=U?ivTAtrMXmf7{#(f8gNltErnjgP3q=S65D}E`&|9EBUOcX6x?ef;va^)p zbkG&8{Wevba?gYp%ve&V$55q(Qt>BPFsICbuA*gBuL`a@EDAlmqEcraX1YJ^#G7jI z*2Mm6LG$|Wt4=iFuYSNUC`!O6rS0NOE2K(~$*qZ-xy=x*HC_HxWOW{sj8^0|mfk z)Td-r2BsqHMwuh7xeFRWlv zUldApD~Vb&k@jo*JyZ^N)g!fh#O)?==9K9Tf&;{&S;WQQ13A}$D(7|a$nK6nb(xWa zWSl-sb|+E9(C^H_n_{#-LktG{MsA#(pzWCRViGu!7`v*PLT*(p8J$|$K-_<{(D9eO1B86OHcmUHHx;4B!Ve|@%a>h!^bDFS^OGYQ*onq@Z z414Y;!lJ3z(!a6llKTfU?FTc0dREz3dWsk|)4x_(yBc&~b`xI1yl-J-w!Ez$#nHR+ z26Pxq?6gY3C2G$OJ@3gJhs)~+xk9j9S-M+DdPXojO`=5ag8OCwKs5$3R%m_fAx;5* z3|NDBPP_jQZE;{eg`a`FUjeZzpq0;ZpgM32sgKX}Oq~gZ zth|}`H{{5tt}|=R!13oVMV^)cjO&;hz?wD44nJs&c9H0+?%T`S6;;N@#i=;2yGv_Umvo0rMB#CKZjIi zh)~MQ^U@@ z>Sl>@c5QQ=!#Y$ew}ePfuCoKn;oXlrf{=e)Obvz(W9LVa)byV>U;#g%iIxP8<`+jh zbForP@(nhpS7doGbsFXvHsz@#_4iPPRPsK{R(U0K#^{j!!yTGW4L`qd*2{<4naHD$ zC4O->!;a>J>&mup^3d_`*CM;GlZr90PVvxmLK?c&aLA^6t6LH98TYM}fTq8=;+iYQ?*NFDD1v zS>b6th%89>dkm4@$Q%S ze3+XXre`q;?-QE$FKi!`Fu*n9YY$Xl<}_=hyKvNanHG04yt}E3XSe1|;pR z!3bQy&FJ;=+RusCqvY}5+GepmyV`C^+?k#dDyUf@>Vbn|W&c8wz``)0@_`{u4T;jL zgtoLQwo|n)=VW=0U)#PE2n5W)pn>|ev)|d_|AuWOq5~J8kH+Qq#^jmYk<*!rk%IEl zFWXh%tBBoo7~SOXYcI!D(Wc(FGjb6?u_51Nk zQjeb2-Jqg#e<$AqP;$tVKj6AuUht-Zwi)1j14^#Eh9hpfe!l5P@9m&JkQLSoO z^gaI-Ff8gZDi8fxihAwO9G*K`8jqXGj58>$oK)RBD6`>Ou~{6}%V>~HF{D)2l0#N_ z!A8(N*}02u>r@kMQ5vnqjGk!QkQA+zqh!E~K#_hyFNe6AGN;;195#EK+E-Rr&$rn` z+K!C&k~O1=x{Zu$H)C9_*T0@j6<{>i^0zsi{CnK}>Ruz*Zn|^%-7SDnoyEGCNt2K< zF9M62DwMl8B{V64T@9I546f8@XF;j+rwUNGySR$#BHA)e?f9o$2<6XaT}gALAmp65 z;x6kOaBx@(^fF%8F?h$!IdrwEPdX;KoRKe%wrM&$q$U{_;V;;Px?!DCqZvnL{Y$dw zDkgfxYu}-OWrwcBKnXQIf+G~)G*@?DNg=(dyZ$P&>tZA$AELWNK2h(wP~Cd7%18c! z^XvXaf`*3jB+G^n#+L%4n8@(tks81No`aJ?tJYxV0}#v(TpAnyX>OP3Wd`VIZqX0o zgHic;+){`I?sDdGcS{b3JR2_9=KWqG|Hlj10v~Rt3wb*0fQmX0Bh} zP%Sm9S7^ne-Ylh2bX~U4oW_u)a2Sj3B{B$KgI!W7wF)40rrWM%uQg+nCd}hTwuBlQ zq3Y-qfVXF$tlTo&d!cFX!SBQ~5UB^=V+p>O3%+!EaFQA}+yTERhm3dx{+?;*iq&V@ zpD<0o6k~Aq_lHh~d>1GUBsK7P)AD4Nh*0#1Cw{KmF1zt4x$-E566Jg64Ae1)t11ng zVns{cszSTQpkk%UDlK5`#Xjqh2>kxl)EbJZuN1*VIZTkW_cxSY*}bV1am>4>`#G9o z;3=d{{Yy;7;+XnC@fcSBAD&`cTe)Pa;&PsY3@j6=D^=%EsQgG{Y(j|YYM2nf`izJk zLx(V&Y`Lszv8)<=o*Z&s9`w-E>%F$YPc#_XJliS6WzpQw)uEBxp}<D0s3zfYCou9ic=L$m;hd>hr5qmEoP3uoiA<3{!v4tX|{@uK~ zH?oP$&j^`%1paL_(5@uFFS(~cxP0*|Wg-Z;vKoH#9)8=VeD-g=IG@a9&@`g-eB&nx3tb5XHfnq{Ixn5{QzUC3{kOUZ{lcTK!al_Ddk*r$VaHYSkli_k)W;it#wUq?$ z09dPw3_g8rV~51u-;p0S;w=<0-CZ>?ePZyX(CZ(zS|zmSUBk>Zl+t&ev0z=J9$a~$ zC&4g2Ccpfq!9k!oDvgKiL}M2k7Qz`V7q)7JmSuI2!2GE&R+;fH#ag5MkzE5vdcNsC zwJ)j&2Em_h)Q_vK@@0eKsqV0w&bE~f$He0gY2znI{|%zj%f(Usfz#_EIPOO~?qQ+2 zb5Xd;Rw${B|H8(aDUiqE)n@B{CjWyNDaHlr9K#UKCENmHB>is0NO+-*^fx#KPUo4I z3(tFZjBT_q7k<^TM<+1z+@`J8}BJ`T0!@c0S%DD2|g9`YUEQ?@tL|;7I||J~PSjfXPZ|Eb`;t z;x4~6>?M0j@!_A>4-ebtBt5e{2D5Ff=ULN4>loJS9>dVzSyDKRvC@PDJ{kA@*23y3*^9@JJ_ z0?8S?QV9RU1y8_D`09>!W8Zy28&!dAyr(GH^HreL(U0-JP%%$NNyi^L(?T3Ue91K; z@~;=&8=GB){zNU@`qqD&tmm?AEFzMF>|lyoQw)u%bsK15==4?V;#P-k?G8ls_0 z{6g+7cQ<~2py_N{yzAk+5I+-~|x6Bq`yB-CzuJw7n`F$`g2nR>; ztDU~vU2c%aRn6N+Sz${eC4+dffDUz5N-rI`6m?2y@R(vB!3?6apej^!y0P~0q5$fq z%Ds5GwR~hjkKD59a;PmBMF@as-0GNoSY9^a<E7VcW7K8P4^i=(%>fTz$ zg(w>sjGnf&3(w-CiSP^&kiv8UC2#;yXn*$ayr(>lS?( z&{jv-erYZB`j);7z^50u80917Uqs+OQ(T<|!Lx%nfF}I%z^K&f-j9iOBRr<{=+sM^ z3Ur;4adf#r1cg-l)b=Z6`%?8qgF-7eTyDHWzFtPnKPeS@*=I{?$~rXd%_iUV%L_UN zSH8CcFdzab@#MyyjfEp_Zh~`th1eXLVTW*}lTu5-p`_$Rtd*n@3dQ=gbjwi}8tHb{q!+0F1^~0r|4b+>RHc0XQp(Lj z^W&N&wPYSt+c=4Yo6E}_C1T&-I>A8-+pPGVz5PSPxMDRWE8jUc0o#QzK35Q&zH+wk)Al z(3RuCDYvBjTSaZFRmj4G#r$Sjz??#;%vzHW%R6E6N91`9VZ|>#Qd?w7ADQhRs#t-D z7|H~AMkNhq(TuwN(h>y7< znE8ang!@-Aa#-Y0+sd8YHzb{#c+LTmShd77R}FsRlpxM6c=-GfVCIDjqPEUSGn-Os zV8>BDt#{tt+fbvt@5>BMK6f*8z{w#iGRQT`g}i=~ZEKD5^~!!eBz(D}f0!d4Pp_0W ztf9>z?awh7@GqC{R_J9CM}p(GWt~e3X||*!T^*I=?H`ua4b`axEb)vkp{u?_!c7h^ zO-W5$6A4WTOnQ&oJejhL%yBLRq-@b=vy~SP6BZ$^$e4LlDw2ALsva6t@gG0EPZH z376eOoAQaQPfdZP6WEfBVacZ*KhlSaGSh%UqAJQCVz|A?=1-#yn#+)U&QiQvESu?K z8R~(-TS>xQNom~?6{my+%64Fb6Z}!K3T4C^i~`L>Qfo#Opa3%v z=tW-;SP3`m6@CBom?*L$``DWd+^_?81(uYi08#+7DUc{1I7%8A##Y}G;2V_NdMVfY zbqWxMMu+b80A|3C(1&b%fYIUNR|1=tKVQ=g-&}V|foEdi{hQ7ZIKK1gyV(7;jWKN5 z@!D$KSmR}~rT*_}-pOpoA9=O+-|RA9*B(x_-(xWf<`i{cO?k(%zi>80TAHP!m_MXtsTn(!M3e!EzwyG(OLJB zhT$A{HY6p%=)_BNzKv>rHENm2L^{dSiB&Q!Qp1c=Geb@pe~zC`#PwEtWFRXHR^1_q zk|1@OcJ$3wb}F~^6LMfLMw9;xA4-fUrpCjQ%LSQTCf4?koL) zkI7whAJYi4*rz>}&(y6L)a@A5-rHYYujB8#N%`Iwov*yk7Q-9k?C>|fv%1%ZNfUWf zO%#}?lo7^3|CGpNI@8zx81di(-9e0kNI$pV(;EeL#Ibd~t<3qvv-UiVj=#lWY`Zx> z$KiYt`dYK*ZZ?!N5`HBLpYtl%GLN~ji{LAF%nY&HM3P;J`X)I+BUv-dk+sDzm7P=o9jXv^Fg-T(fhNY*}J z7$2-q3#yPZVNNGlq-Q+0n-F4ZVLN}BIMS@$67b#W?kn;@%V~GH*%v|(YxkK9$EXth zx85!CM5y&N_lNeAvJ&mVEaEtBHX{)W73C0jaJI~7DGtgnv$hm{llc~H0+z};HWrRx z>Et?vf15*sn4P-$-6kwIdv!aFe}3H2WrJrQ@g;*DH`W$Kc=3M0vg5fDn_Uvi<1ptm z5hW?oxt*FTd+R34Z`o)ytuEvM!uj}vlFK36%;{-M1h{6 z>}``#TW+Q-v*7-@{@*Tn{&4ta!S1IU-w^App7HVjvAE*DP9Ygr@Dbj%Th>lLm+tap z8bVm&xXlBdOoWREhBfiUq6?Hi!gu~S+5Qn!w}Vk|+(bvX6oc^(%Kv%l18jfu>10!l zyoR?zh}(-btDQ9Jp=CA2-Wc^i_b)y{4kmSSd=?apE1H+mko&%}WqmtI?%2;fbWH+8 zWr_RMlCvu{H@Yh4?~YRDYge4#>6lA@!)Qe|Q!!hG1(X+%Xhqh)mA;?#gYi+e9V4H? zEdi}{C{Fi2&rhiS$0)Ny8)Ws9V(mqLng-iD2ixC&6G0M<^c2VedJea=UxEQ3V2ArD zT{mqd#eVOfBrR=xCcR2ra*}BYA50)(ms}?R^iu~$ry3PX%d6T&U_P(tK(+?mUSPofCI2#FOc^ zoIRw!4M=GN#FSp#`Cs0Q#}5##EeMZwW80trD%@-OMInWUTIE{^;x@H#0ibRv@%?

=KX2r^t2%NDOAoR09oRXjjW3iSST-In_4NIB4fH7Au8;1U<$lIEzWWu!lKp_1#< z;b~L4H*RrAw?AB(d1!0i7G_leaR!ds{Y`z?I75uDhcM(Ha}WIYD+946wf?`~s3{zD z5-d^bcq3<@aZ!aQNuF&Tu5q$Ob#8vKy}v`eu}1vK&oMT@lfVxgm(KC4InL7VSTl$c*arDuqjNnX+anx=^YQjf)_$PPgkKf?=YsB_#P}yl{ z@k>Z&?vt4!+0g@Q(L#j@ipxG}hWvjiWabD2lbB)Ui2B3tcDn(@bXR57?>KH=I;?TLe3)%GAt^gYItKm zYC<&MAvVu9$0^a8vx4)sa zb{QGFlOsNcfaLstEMvdt!z>R>`C*^Ae~7~AM#ga(7p08VN2N%4AvXjDGX?_U3X+j> zk>B(_3DLz->1WR=PzWC#_FU80(W2;*@Ikar#l<;IwHTQ zQf7S0rp&S$CD-GWckhLSSme_j-mzd3!Lch?k3 zJhY7fT1mcZP@mu*yCznY5@p#k0Uc#;=&uUe8yw!-4~pu**JDX?V=UNPq_R0Os6cl3 z(4%)3qpps1g3PhITND=Ncvxnv`*LTbGESF#&4NZ3O_h zfgZcZJ>RSK`uZ;_{pgTi9px`-N7~VU#kfcFe?JMZ%^nh|hY_EhHkb&O% zLys?4;4P|tcj!?j{d$MFSqBL>+H4N6NMK2Dhag#})Y9tAl%GR^>Lt ziqrWdoEgKe?YvByBa=MG1Suzzf27T;OWZD}9EwfeC0y;OY{gw60{cEmvGmDVx z^qr|k?dwj>u6oZmzdeu2N0F6>=MQOH?Fj`E&d{*G+%CiunZul=bFqJMS&|El6E&F| z7~}OVG`PQz2Kuk`re>z`Pr{hflK=1>pE0yK2~T>0c&`|pgH3_D@?LuO&MdO6X;Up% zaT_kCwVex5yN}DvngCd!#RZH71ZDy3FdKWI%R62G7{~u25t5>>^X=sId4Ns)4&hq? zzykS(5i7S37mO!_oPKt82Z|9Q`+-(lAeK~h`hw@S2zdei+Xrsfc1BZ|xp6uH0YHMd zRBpbH!F+C;ZEl-9Bnxu$=?Z70M~AmgdDNrK49$Xl7G(pB1|T8?`4a==k`W1jFiTzF zyf`f*XFKWEZ1E}cl55(jk7H^<$AyKo5}1Vz3>}z<1*GVvNohD3>OoL1uGw57lMy|@ zKEv@cCeLZIp$r6mXYL1p=fpyqGI~`t+#l~J(k4kKR6kKi0+|iA7iQn0zlCpw+mOIrtr|-p{j1$DxY3c)h>L?mjxV(%ZUfoxKhBU3-R3 zy|dR0-0=K=@W_-WRd8+Nb$}POs+l@h; zj)$*wkq#2OnW(B{^YC=DGnEq}s-}e1flHwPV|iJf{>o63KW$Dn5>>rX=A!>m3)kzp z8E5;0%vD7kuum0YtOjnQ7FocQMzO@)3w3*A@p)^M=A=!EB`be#&y3PF?vrdo zQqfYDsUZ<Jry@+gi_SEj2#BMiA@joo45^KodoB ztK21F%O|=y44WC|nJ(G0y;Y@sr~K|59QRWL1`wY}ngxJSd1#y9Ks>ssh@)GR2K&$j zWjKNG^a{wffbLK*Wj`2}uikf$0L31J6zt=7v>lF?#m}H%#)wcF3~?(I%|rmITEG1{ z#5lzeRrLI4-ak-_`Po1Ad9*S#+^~%WF#5dpAvOcmN(Aii*@z2N~mPUFse?C;q4XfS`~D|4DHpu7*MO4I`|E z%q~`&rKWQD_xaD}Yt%~uH+$Kp>UaWf2b1(g?1c(`h>do9yy}nosBcY_IOTG(<#UNU zqI}O_>tBlxF|c0f1|xE#U%x~ww6$A;o>QLmJ?Jr!Tf6*gNh(Uc2^K)c=K(MfUzT4m zia}FhN00D5>;4ZZ`)85aV^pE1Uv#!9Vy=NX@Mq{WOT(mV`%o~N)DB+f6WrNTz~QG2 z%2k`mvau8$LM>&5#B3Xa#HMfUIt7U_+dcoZefYir>`mt7zN&3bu(Jz0#sm|*we<}F%n71{G-SwZzrn$*O3>XZ~{y{Nd%Dszq)*v`=5g!>__ z*tUw|=IVy>%I3z>_KwPij_RiB*;yTJ9erEYYEA*hhcxFdEL;$t*CA)nm%j|yjnP9F zY78S8BTSldii-_u)t%o;%j(X~jaO08(32|{=G1H;J#Id2f%cleRu z$LmVsZ96;Na@WTreIY4Eg0E^hiK;0>4VJ2t)@JIgMG*t8h+Gr*&Xs5lkjze)&(Q9~ zY5k0g7`;&oAV)}Vng!@p27WwxnvfOkkvyAWP`jig)n_eFF{ z?kIHr7t{2XpquzYxQjQovSeqJoVYl3I@aLELCnnHN$VM5!4n{~$0ay~@!lLap)AxJ z)~Ii-9ETwN$&tr){m)BIMduQ>&os;v=y1H`+S0GF(cgpm1*QY+wGH_d^cO)l&d)nM zVJvUZea$5!>8cf1a~So2atLB23Xu=IY0i6;bQ}4KvNlnC39((WTKB|Eu?TRExw!7(0jQ*YxNlZIJJHFzp_>+M{Xfo)nU zv#xGxU!^0$WRTI!uNX!hdr*35SkT_e3ZB54dirw8^@V%-zXnT0I|OLbz;&43SRw$d zry%v?Rg4pc9RnDH6iC#aA-fH2?**&36#-XMv_L#8Lt}@UZ%2|}M-q%sGR*o|pMA=V zg^d*s9(-W0jGj^OZV17Bt>Q!cfXVAf2Iy8}yIo_t-Sz2JiLW>CLJnjJS|CWdL+B87 zvEXeea_opzPGObA3VTSf7C1E`(-=-vF7o&5T3`RT3%vRZt5Twg+hgK7?lHGPd8 zVp#YJxP|JunfelQ%;HfIz_Nk>GcJD^{4h))!>l>2E@v{ct~|U0^Ky2mU#s3rAMxTU zPn)Ie{B%u89%+$pciO*I!M#ucO@b>0uoW7|R zssyq}1Hj3kRSs?ufoTvme+aB4=02KautebUJ)$uZq79S;E4lojR4%Uk@_xdm$pM>f zUFp^M>*Fpin5(QUec#t{uow8Dh_KTPVDh)~dr~ucnmO&zk9#oRM{5toJML;QB!~UA z6O@)NNhwZXJZWY87Q+K)e)xNh>|+3>4_JUj)UNA|XWapXNPw9=e};(9Oe{PVg!}tR z^_|i%b7Ei9gI@n%3s4lxAP>)u7L%m@u3l?BE#j`9)I$XARtAfiu#ZVAY0)sh0FX-Haw*aM zP!aqJljnTk_X`OS9+1-FGX+VTEvfxkVJ=|EG#(q$+Y%-rbll&O|M%EwdlbMuSE_cht|@*iZ}$wi*xs2?$Do-qqxFMhqfaDX3_!EZ#HhETn$ zqzi?RL-*T<4%`}{RFCb4;F0#FY|*+O`HMx`_za;4ZfL0)Y+F%2lB?%_0cTxE3mfiU zUW+pto}@-X|sZFK`vhAMiu z1s&81_pnb*siR}?q06zE#|8hA^I z-{EK1k}!1`&uh8Qt9vY{d(JQ1|NRTq*=1vKJYzjSazl4p4fka^@%f?mJO*kie%i)3 z18to8Sjo-5;Yz%hWEn@os2WGhGBB}?*4`W(uh~bg;A_Lrx~(VGRY9B?{>H~Ss!7n7 zCR1mwYS$J+CDN{zU{H3zOLDVK_3n@x9~n*mP)S<`4N5E$29Ap{@@tCjEoO>ye6TB(h$#xVD@|MSJk;zmvU zg7&^W77(~z#v?%(!f|$aQ$l2%f0x_xLN?T1OS<9_-b@C*qy<{LUM`?CtNN!2rNIX& zL+~Puu&K3CdR?3L=H4G}$QqS!{52@u{CEEf=!dB}6!ur;D?1t*p>hgQ7Ao!E!xHF5 zeqTl-v`W~itMh0hHEP4l1RF5-v5sYG3DU}Xyl0sj0s2A!B8pjz-l5T}I$6KU46G8$ zL2KzNUDd33QZ4CNhJul0=z_|pGbM-Ka_D9m<+hyb`6KIOxM>Pnh4*3@@tl~~bjBqr z#Wb>cce@f=%#6jzalmL~73qFooN^gf?)J7DSOFcDFJ+*`8 z?*-i;q@fPn(H1oI=QmGfs*J8^oX*TIo=UQp4*yQcl9mk^D9{>{1v^maTSG};d)~cL za<-=9uO;zxaLo4vA&$4ib9a3HSWDyU!4HL}!+TE$H0TTR;0JkxkG6;%ZLnso&|aM? z8?BbVxgZr;6d;=h8~FT2vh5gP%szg{wvLCPy={d zFp$U%$Vmp~Af2rci5ZN(TyMj*mxR&>{BIYwoz;up29B;B57$1>+q|BUW5Ln$uL-Lj zS?eBDE&F&KPk5{DQFE7lor+f^LVF#8I9%BT?Ne8o(`cE3guFS)t*lXctWo@|5gmfb zte?wCz-kUkgx#Xp_KA5+4cJqa@KUS=mqIAO_IRI@22M_raURAoJp$72#ry=&g*vHT z{<9zT;haXujcFt2uf4d%Ex`|zSsxSy1>~Roh#*f`*Zma#))=7_3$Ge3*=Fe_{4_2J zSfih%cpv{#B}vB2M6i=^C^8LO(|BdW*Wm6n!Uku^{T#r-+9PcgmfebEXGS2-^VYCs2JlW2}y1R+@Z=D!8ImZC#qLX%yz_RI%$fvUvE1W zU%@{Y$}glHJpXc*$c zl-Y4KV#M(UM1DtT6_4z@nhsvKRx*A%TjZIs6kD-1?flbhH%-J^`)-$fg6P^sQT?`MJ;~2$CKQ={uyew~l1kK7B=Hb^@s$;eqRdV0N>%$&wa_?kl7t<jM6cc#_N70X~Mj5C_H{yH;@?W~>utd?hpnN+Flyw|z)B zM?3_5L@!;Nj_As+%_{*$1h`!m69{vYV(T zNTK)fTvRM}$~?jNbX?+P;@+~f`xo8uL56fb^DmO=k?Q7@cRJD^wH1M8M}~BIbCQLh zQL}Z*E--4mD?Qu&QiQ^PnYU0TpAUkC`|_sA;pY;acA!QekW(}Iz0my!#W2y$Fwtt9i^cC4yh)cX9-R#yLR>LBbo1&ZOQh3Bza{dqEMZY@t9 zEzjl!w?3QdGn-Ot+sX?ohkp(Z$L>w{JRY};4|iIa%w_tYmB0Ko;)5+Tn$5Sf#nI4k zMH^oxv4mP^8vj!}mb8gtO)n_=$*rCctH{poTjGDn56GIlit=qTxzW>g_R&zl}a_PUmh39BDjIGds%uOQcOtBg?ox-c!N;m4W|aqn?B2a+xs=Hw*Vno zyHDUIMqAk$M=@p;#(;Jr67m$YaPu$Ur~_HRqQA%)Ae+~)md}SwZ!L%c0k2P)H@989 zg8H>a5FuDN$XPxFbcwd{s6gWLaS+xJ>}Uaiy+18_x7zW`b+WLU7Mq^sZ?7I&+q|9xkhgb-PiI9Xyad_0M)jaj zf6v5w!}lQf07Z^u3b6uCg8W$=9rQwWgnVO)M)Z)Jcrz2~^dtI@WJQ)#KW=8l`~hy< zA`8m-bSp8B&Wr}W%^b7GP?t;R{Y$m}?$klJY0>4k^?pMy?8C&)YPv^Zhz_8A1UACC zm%1$|eV|c!VCp|#M96l$`SRervU%uEcHlw2>+Vl+^!#)6>6^zm-D&Z3tAeF>^>pix zT$dBU?LHg6Nyk_9t!MqeE}DPcWS0D7mR>_g-9=8@sU6y>ZQ7uqIOo%=z4c#?+N}3o zW!Lx@qH3th!2dfw-S~|S0J0!562!fs@QpMGrunAwjb0MZ1?Z+YSDr-(BU<~Qdd9m% zjo+4#xqTFyoH%AnY?tl8&>krjUJN_6{_f57uHVSkAJ7LCS|u58#rf{^V>!tC$_D zVwvBlBW;Q}J0Ti$*MVLc9LivvcU>kUn!WV&NS=FVfEm&W4qXuH)F87f??M5BU5!6b z;9XB4)*yY?66=eD+k|-hyV0CR+UZ3pe;}Ij#KZj>fkD=bh?x%;{s%l@MFa%CY)V~r z|44s&4+N$!Dkrk#)d(oO9tCAp(X9D+1f^T6|FJ`G%ZzZ?DrVdxnSZ=U*?1cM$G=Io z;q7Gg65nSph15c>)AcqwdjD&8RmpD6+i$lSPH#A8U73G|#%;-(lsh&lSCoU=v`IbY z3o%{ET=FLko%D(h@8j!(WVzL_l$I(ICzcb3Q^%?^yGnR;mj+c-)%iRR(H@f4J3`bQ#a8=3^Ji3us5*c>kuhk&I;;b8B+(YI1cj>XB6F z>d)I_b1ydXE;hC-c=Xy-+uByz+Lzk8b2oQne96#jH>m33p3F8^$PWEc)&9@Nx-QX@ z)kON1D>fs^P*^%X{`V6DJPmG%;!seg5m(j+ZBQpAzNPF?`t0QaS0}MC(3c<^Lyry^ z$AsHW$~NyQR~ERHBrF;;Sh3Axs;8xl5FY{6i&-=9O?7JtJ)L?`$UO3@27(YSswNH01qL|==Ix5pHS=I7* zP3TbsqII~)tm)6&qoFfNor<=+x}`slz1f(G{`}nhocI|CB_{z%5E$rqm|_A*^^bG^}TL?St~KJ*L$!{ZXK(%;{3fj8TGEBe6k!B6JE*!^f4U_0l^6O^j^Vnb_xHt z2b#umYO|*(kVeWYclx{rQ_5(lV^Ck-?N{37(pYWQRFs!3#Z*9vn%4lp3d2Tky#wHZ z=mCE~KI!&87yuNJ`WPtK;n5EQ`_zHIFv>VP>LGmi3?d3qi#WLQdtPYVeXgYv#<*AW>|fUzo?hlJfF$Y$>HUuy^nK+{Y6}BF*0j8GW&fuz3*zGxBa%) zhoEvRj7vKxk_)<}>0+2{p&9St=CA!hwuCr#nfKhCeX$8+a|zC-npVvBO?C1~b+Soy zdw%zH%Suy8-h9ya>|hJ_)Y~_*S2fI0Hdrg|X#MTt;JTgu<35geDK74PY+QP5oK9?Y z9jSpSe{=ECQbxhRuOi=YCNPgSRMWDaFg3NSw!p=+=VqF$S%@qByk^GElW~|iVV^`L zG0-4B+qAfd5gFYBorX6o2Y*~XTCRlIqCUYzhe!~PCjVEXTOslNv(q*?b3Od0DUji` zc$r8L28(6>9-_~1gY2*cH*F^ek;@q9$yLC;UeCa>t z8$N#hx$2#<`Git(r>1!0ZFrIze87fKEhoB282s$|NqW+T zk&(!tFoFdFgBZ;y(aN018Xr3=)9jeypE^u_2hr@PF{PJ;N91C}3%-XvCpQ6R)8|86 z#nRBer!`bumZYjGv6%O)Qa%;Y{$dMN4(rv!X5cYN`H)*CQo0yg0x7(>uj0-ZgB@J|B(c?WBcUYcH;x2L-mxya;Rn^Mhh(d1+upb7PGW>qs59G^ z0N$S>=D;#V`T$VVdI;VC8`$c3#mKE`w+-PDjdDdAY5Qcr<%?<@u zZ*-8L*f@I0IynxqZ%~7j1rr7xU0Y5|+^_Z-W2GSlDzo3NC;zFATt9A|-LtB7N@;Hm z#I7-;W>Cc{#|w#qc464E76}B6usB7;GwD%<4Wtte zI(*_(zU4#Yn>mr@zt3)+g=}TWx{oIR2qGeuAr-5*|1w zPl7;M4eE`_ksNe%zok)LEAf`2&g0d>1<{{`+qm#D(54`qJuKLEWucmL!S1=WenBVQ zy?4r^7k2?KPnNz$%U#dW0~nm-R(?{Sg2SbQ1`2zzMK9S|osdrig6~NseB<)EkY>RC z^bo-qOSXl#cf&UXvp2M34qXkZ6p7{UoE< z%Rv0Q8Lu-ZzVi1ZPbR8Cwcyr^9@0yu)?I6gJ1>SC&z(EByC+w33s)mIZ!^zg2T6sk ze)7J8xx{2q3PE`Fa(N}&LVH$Nn2W2a!Z$g471yc(gtGkVrTHy82WDGqC>R}ojA|?& zl-t>s|BFC&1E9i-O$*K3i%o6+^hi!J-v7(AJ<%=ymr-t`7d7_Jy*LV1!}*=j^qA^T zYaH}=C2F}yaTFLP+Jfz_+$XonsMz^GPLd>36N5Ucbp%`Bx?;C14l+ymA!1c$M1np( zHh;#MpOQT0KLckY!`uoe6Yci?ob8~ONG>VUUoi4AzhS}(hrl~Lz`lFO{I`En=Qtx!df#1B?sUSq}oydfP8C2nrII&bRhK;Wwup`2@_X`sLb>wL zuH;AVrOnEdpzx#WdUi*Exq1qr)7cm6P!UaA=mDOLo_qpNVq=l?vNaZO+D*p%D{6G- zb@h*)R+oDdWL@&T?2crZwLDJf8k39a>uz?&m7;=gje>$v*Ztewv|wlJw@1UG(%GMz z=u<>ubQ5_q8ylf=Dg76Dm{_q7A!^{~^HB!nON6g4pv??p+INEs89Hu! z@eo~w6COfF7L+nxFuF!9%1ZT_iGk*0(2(pz0gaPYq^Oe}w+xEA&|fI+GfH)?j)WrS zol7YJ?J&ANGu|^M95CC71!&WIlQ0U=F(|c0Eas}+(Cx0!C4Zcb3^&|j@inY9#(79oxEyIxy5uFdi0Jtop$yY!6hhO{N(3VC@*g+k{Yqq5T@Q5YW3tU$+`ODRa&#ob zW=PTc8M1Em$VF~nBY>i<3M)Q33^nlqU28s0d}|ZqAIs=B=X4KG{_zF`%9-zVoycM; zQ8LhizW0gbDbw$zqY7O2f?q2MGC8ADeMAjTDe_n>wLvlfGJwO!b9W$g2|m+! zo^ymiqs!WNrD4dnwYD=Tq#4xzlpCJ=1GE?VC?$-vb%+88EDD~qzgr0Okk9=Nleg@j zzYGV{do>;t^g;ndxBmh8U-Yts;LI zSV4U=TE&WR-$@0QKsO;$L*(2D6DIHz+{bCrvc3fJLP5Wl_vVTcnd#aB2rQa%a^TAf z(98K)i>shxFE4He9Bv|(eXw(qlRfty$`lMs1mF!5G&SjeeYJdN`X1dz#_{9B03jM^ zi7jh6b!Ri~hMel<-OtzX2rzW)kIfA21uY(6fwT=@IN&QA72N~1!ISNZ?Md?6lTIvi za)JX(-fE#6XKw!J%c&Y?68-&yVOc#>1r^h(UofSu)y=Kv z&FAFCy|5>kJyHPR0MCaSh#&>?dAVv2I%R% zAf{G(H=mVkH%9&5RgL*+89(&8n(-!zWPD5-3CKZubVl0p=oac^bj!bkI6oftKt(}R z0Cf6U&(WcM0{`8O7RA2Jqt}Lp54BC4`rzCPAY}1r8cvw+v-e%b#W_F7R6X^$(7d=) zx1q8xNy{;TC!Sh&V2hlcYyu6g;lo))ugrugX7WC(o1s$4dI>|;)GVgre zJ~$c=pXFvbL$>bZy{ml{b36IkO;Qy#O;x!dXaHDb<**s@uUK)YpCb%Xjr?=q4|ua4 z(QR85vU*TT5YWeRVO|W5U}Tp24^?o<3r_m=|0f&2W8-=CXgwO%Nv`~ z6k80Jh>VR!OpnUTPeUO)HYRCyNNv$KCOh$4-04%ISGr6mIy@U3Wngj`ULhqynY0R{ zYQOjabd1hNA}3Yx5wdD6&0==dmkW>;A+5V=6OnzSYJ`D>GdAm+VT#Gfp-}vBV2gb{ zS+LM!h2&|gDa59CS8p{`(QiH-4ZVKrd!7>5$yqNrUoTK>MFE6zaXds|BOxUrTdHh7 zYtf#^93I=G)^KO!62PfL!ZlIP-%cPYPQO=!X)dl)P7m+MwmivqT0j(M{Cy{U@pD%) z4y!aC11+8H6$Q@>Is=W39+H}eQ#J16C)MLNHL@q&*f2PcvbrFe8t_Fz*!a#f6iho| zwS_-GsecVp77S8&^y7I9Qn)~r)RAd|@2&G78oG_NOyg1UwB7PCofp6Y8hvZ!2_gg>&O+C0hG_pP2c& zRlS@TK#q=6nFhqu+^V^b#a(}fz1kANifm7#<$FqWX@?hipquwAn3&j>IlZl(bgj8@ z&OKQB0Ssd|D^#tQLT{RXCpLySeN8RyVIMA_`3WSn012qPP>z8D;?#ICN_BBXf8ktv zZ+TAi$w}C2hw@IDLoan|m)5p{ekf*76mdCTl3C`XFd)nh z`!iafrAbJ?-R=yWrNvvm@gG9er+j7)dLr~-J>D&Hz8jLu$)GSV3go@JkXW+U^1nRd zQHyE??u~q8EHYw|)8XqvoHFC0N5sh7EHV;G$|XaG(FyPw)E1VCQ@BlGuH)(;qiVsG z8_*Iz=27$5*RybH)_(~s6};mv7aCnU>nUb!53COaErZr>VLY4@%Ef)cfz(O2ih;sD zlu6bT^;o(T*@JZ~ItI^EzBQHf_JS6k9+sZddtdbpjmG;@e%!r+n+m_nPl;JjZzaj_ zxl@TGBCqu@=D>dfRLXQ`;HE7d{ldWqzKy(?2}Zs`4g>sycaGolg-;#^t2gmG0tf@% zrhc;jp`hTy4AgI-@xvEhdW0y%v%$N!v_mdmF27^5*@<*QH`MUJ%t^CE4IFeT@6GG8 zuKDjI^Zhi~-0pnh@$`_gZ#i()7YMWLMm~0EfFN1+wEjZ0fIiO$-Nv;?T>g&&UAvLe^(hj{G{dC{D6-P!>cOlCHL|hTXjsQe)K-=+ zAMWng4;?ZuTWVamYqIVA_Y&(h;^?$83S1fpip-3!y+d9fi3H>Fq2`Jy zuB=pWy7{=LdIu_WtPprL@d=Z2rBh?>YTgFIL09da%1S6!sUebO%<3xNmFd4ejT~T1 zJi~fe;RC?5aIdSs54bG1o0-*)ssNR^ZaLWOV9FBxa3i@xk!B?}pNt&mP>|w_5Cu#& zt!R{Uc5g?Vv3_{nO}G;j_us94!h0c|EQQydiR*6;f{(6V!{rjVuhRX(%8_9MncL~( z(<`|M)*zw~Q^z)>yE3|Ix@owxe*Red2_8oVU8vof;T~cJ7*HAaDySTCN_m6?m zw#y`LN)d6)p-!td-B_w8_TAUfB#jsv;hF+g$?b64gHOo*1X~|<1O;) z7su*4(SKIe$5!PIj+JLtl}$Vgp7R}N`YM_`it9TneTitofj5nn1xU9LL1VwWP5p<_gQ(oz~W86~px7H%X)4Ujq5opnv# z>dE05v>c@Xprc9tFG5Gf^Myx-OYas+wpvo@eSiG>@GVDTqJ?w`f-U|1IWYK1>4?{m zoq?oznhEQYZ~Yx1Q32NDHqry!gWyND`cc<$Zi&f^eocjM743Nv$(xm|R&#jGwy60t z1rlc@0pVerl+(7#1Y9=o82B`2;qP*;A7LGG2aeNk;7J{F$(H;_ulNN#w2gI3SKp2A zx_D)Mc!@bl#01+H9vW5^s<55?mCOGuG`q!Gn~CTz`YYfZY!_%J+}c0M(K&n~$MJ97i_tlCO1R|9O2k)ktSC7&tQ-*U>t$y(>=I3YTkUvKlqjrQByo-A~Y2=w3dkLs`Ty~wl)DG+6HEzVOBI0 zk)tExcqXa+1E8&Md6%!`%CBOQj3xzzX%YQIG1Byn&F)`|csJ#KWzu_L)Pm`^+z91s zLt;~y@!IK$h=}nS08#uIWp8;i0)ED9-1L5(F}YY-+2}2Eai=+|w%;migI0#pouwfm z$gKRqa?#R-lC)|mv?@?KsS`i7jT<6LI)3;>5W+NPzVY?%rGCCjb^@j_{P6gGssb9y z_?cNgJS+7;1ccK*M|noXKjZ!7>c{W?=V}J&@w|J-QZD+p&P4a#(?sWRYMk*&dt^2{lz`Fpw*gHo+n2%@;7T|aF z@i@3W9Xno0U48L*_orjIOZjgP#EI4kLN|+~SbXRIbH@M6uif2=dnMIONY=`=x$cd; zNJB&IhKBm#&LUqlqrodxZgqKQt83sy9kHH05AJQo!qM4ED+9?wMjG8AF`HI; zGD7RE0yj^%K;r;l3TMp?p<=EV?Srm}QBr0dpUU^)H_=q@%AT#8$V$##lw8aqe@>BC zn}o-C)G;k4dZQYOfR3*RFZgwvH4$$<=r4Cf_p2zc%Q8Dd+^1*{F031bpevZEC#27Z z~scs0Z3dJVrh;~5%ok3{uQ{bV@!W5!u#Up^rc zA4+=gvm;KlvcO_#Y(>?rOvnEf7nfW#h;N>#8nQ?9qL3JR9wB)50TKK%|nuF{kvOHU6S+c7c!>c@d;MEVZE{!Oy| z)-%5G_|A3i+jH^9q(#hlp6-`vguqfL!O;+D1q4+LdbZ8X?0F-{0J58FzMP2wM>$=y z*V_*h_qkM~h#oOtNC8z7w?KH4P>Ipom-Mmpc%#-Z@&^{*wS|Yl<@=F)n~~xrTC(8W zX6op0Mrn#mZ;oL2V0M@i`CeET=#W+&#+hC9-8*^OEiCoHQNK^0jF_y~z|S3=i*^C* zMq_a9a$y}HFIbJyH#p!D$qp+Pmi+$r2xLKE%m-#`d z@ja30Ii5NAWBD!@%^+}&8BvYPG4-oe4=@HBH14t_`4e70(_Swd9d`doGE-DccAA&q zvWGFq9QkSKRR7dJ@q2`yd_%DApejEZDNK`$NUzKCDQYqG0aCEJrl(f;so0X_^DPd~ z@+g%p5w(hLf+!_hjrED65mdt4t`(YvtaS+Y!2GM>{NDhp4~@;}?!0%N^G!PM%YAKR zJLL8;YVQ_hY!rqt2<+98KOk4XqQC+nFc=5TdO%)VIU0^}U?vP;ENm;LBQ)|m`(WralHE7!r2D2fk6Zk2-kD$$V#p=wigd4I@>{5vxgmFG;| zYDf9FiA##Hg%7asj;IRll7gXzo^`0ba1<;+2D~KU{BrlG3lvlM%f`5Db)C z1a1E)Ue!9^NKqkr>TfNUK)GB>XdKXv0Ib+(dj74puh20t_*9JRfnTIPJTfLqB-~1u z=%hp&phCcWTEKitRm+Ut!$sb~Re5Sz2IRb9UIW+?W{qEYbVY|5LJ-czC3DD0yz@OT zJtgP-@uN?1%`8Eqos&${vwvR3q4qu-OqtS%pvIXdYQJM}4TUnDz z23S(!n>FGPApAm&3{x4%rNggkHE8K!dX(rh(p|#0Ib$(w-Jl5KhXoqvWCui!g@N~Q zv^K5;Me{#@WHNr(EYfe_2f10^|H*lc?`j+Hbq((;occ-xw4c8NC@`IPfu;1hCbZd{ z)2Rm+U(AF14^uE-64rg0Di6j2(<(qF7hvb~PkPJ-_PsNpPK%&wL z&QBh%A@`pbY@TT20w&Q?c2`jqYdefBr51+Drnn0e$hI{%wgL2&ZK~?7MWyEi20Ls& zg;gf^gWJd3sw~l7V)yTbCLL^swPdl2v*^WK8d#C4*ng7E;HpHh>jz{ z=zl*tr~Ii31L=bRYX7DI#&4dU42I?m>#R8A05lg}(uqR|cPkrs-Tu|IZ8hG@pp z`Q-Ww4Ajy=0kjvV(Go^o%3jaQ{as4PWJaA>wf;nx`gh))f-Ree?}UGe!d(vg@*y6e zdg*UzV7~6&!dFkj^EmKPj#^Vnj1j4zS|o);Cy6waZ*}9Lz@hofeb(k6q>&YgM&($x zpgK8rxsjWk)cyJqH*t6%Iw%O349yEn!=(MSlZ zWjp&49r!lD+8<{8VXKD{4*E%qJG+baPfH+hoPdC_f6^9to;uDxfDy?f3{dWR1$ zARRRm6t<=P4V%iBTJhR@WS0;r=dl}Nd687*Ls8X@$B<-Ph!TC%O0VJ)!xc#ZGbH52 z0KI96ik@-d(0!*l-dApo3_~X=8%3bZQ4r&`4yQJq^K=U(8WCRx1;|<%qM`$}cbEp> zI|A}|$a#r+_{f)99cuV`GO#PCCB}ava}y%~fuZAaBMm89cmb`3o^Pe2Pa*{uxCf$- zLc`u)5MhCW8|lgu<(M}L0-RBx7hvys&)t&lwf!K|Avu@flKA&)TVV12oE+Nnzcq1Z z6%mmKuetKgIA)N&@#|z?{9^b^K*z-MQf*yDwQ!l@q;konY(o05cspf$)s(avQAd00SJrx@Ox;y%3Bfw0#p8-|IDy$7qhWFbu2rnsW>hxJFVu@ z(Mb4ripQNfVL23~!=b7flO^+$10_FDAYysI@zd2-QA%(^0@iFAz4c!lK`Pl`2__UT zjCX1=5=b_D+0)MTDpjF!1j=lX%fg1h344)26g0psLtv=;>KTXW*G21H zBeGzxjzN@^Z4xk4le5gnk7h%2Mg$ZC`a^B<@QGq1FX5+*(#XiV<8t+= zezUPn)yxq#g#du~+XXD3D^jBQr)=AkK01Rs6d%$4EljIr*`Bp!1O?&cFspi5`Em0Y zWf*MW&@pH3%6|w0*Gg*G;(HKvR&^#-{-cZWn_6kNkoE%k0T^1FEbW8~32he(y^?-- z!F)*Eez@>>=UM0(UB7weOBf*ZdhGn7d?EsNlzZPw=rlZ9Af0VjGY1DFHa6td)jqAWm&&vqFsJas(m}^a=j4NQ4ggS0 zq$u^tiE&iGwu~MF|5uSoqZu<63X=HnzwiA?gOX*tSh|eGAz|Es1(u|I${aqZx-C%e zFMl!h$}iM>E7$=v-_)sN7+NXkf5FiANIMh7vOKU_kMyty^&@+~kv)Ux^AOvj#>Z>|j zzC4(Do{#_YW2(3@X1#p-d3Pa@v+Vn+;o*DC#@ulidC9{YW!K?uOtnyP3n*pg)m`(< z?OT`8#%b!`=c4%l>mn`H?PPV~^UYK2%q|?XR=970V(Qko8k5&d#ZSpXcp4(;Kw|HY zll}gT@lcIaG^T1i&A^rX&fyx=)mXxNaMJopOict}PIwC#{)7Q!pv9_4Bu~T`Ea3Fi z=cW9IloWX>E9jS0k9~P3W{i4Nf-@E>t0-9cjRJWsR0Km*nnQp?rs!)J>UJt00&33}is4#}a9^a;oX%w{ZNN7**^zQOUiBGTvB&3!!XGXO5@ai`oMz>kjCVEXZW_=D4&%S zhFfbAN}KF{_+ILCvCmjsNM8eENJFFvR12mvd;5-5Yl^Shd)VU_aL{IChj*Z%^2Y>G zQ%dBYHXm-LaiPh)^9&WMWE$CkPhr(jL)HGhDbDn7@k0hg{ny=Btcx!a0CC_dV0>;L z;?FkQjrO?(L8u|#_q6Y?icUgoB2xkVlbaZ})PRyEffYWFsX=!e%G4nodl^;!bqZU3u`zs;!CZG@JF`r(kL;sh%_o~v*18E zwkZWRLi{GE%Y3P|UunZbS&(@Tak^Kx<6~QFj!|QyfQo^Ck0NJA>fE4dx~a;Jc41OP zQbNJLepY-qlMVn}odG{Z7A@;!9V`P?tuLTf*ta|HzITezRvy<^XXV@nk*f+l{y>_1 zfie$+VafYurTCCxH&NhWh4ekD4Z)=p(|LP~M1@tl0nt1?2(b@HzrdcbKvkX^-RUgq zmwAaZ0sRR8lU{{p=-+uK zkmLA37Yk;~e5FH~K1xNMi-y`69Jj_p>U*v7{qL$GT8cho(d9!QAE6&bH3>fB@>lOB zTtAO^VOmt8a&3W|p^o0JsX`Mbx4MwFnmfpRKO?HXiMv?ppF*6B%QHO@0!B?CcAd5|jzR||wA~=pDxlJ-Puljx<##>%ScXry0mF=x z4>fxQ`=ph8Fe*vSjkS0cx+U!oKMEr4pGmAqa-vI62Kx1b}bJjUa znJ&RPH@a{-pKIn4ET z-!$h{Ams6(c8Af?5LO{pP7+%j3+(J?V|kEe{!q8f*8Dg`;FO~2MXjMI6RM!jL08_+ zTG~EV6Lu%2f?sJHs_~PtnjoWwAfp5t#_=@`2>yatj=v6(`*4)C@E42t#WC2H(R?mP z--8imfsP}*9{wn3#gM2oheUo4ea3UvB~Tpi3#!|Q*$OP-kGYQFifM$&7=kii981cdwolAGDqcn z0Q%mDem|&J?xxC}O|!VXI>f&u)0{67cC>8lF1L+#dB#6v59N3UzIc*r?+CUoxqC&P z(5v6OGWYv4_xnfSn-mvpVE-3qIy&}?;A1AA$>|6kT`a_Z>8A#QmnVQKMEjWa%-IHKRIFzp9| zc{o%J2!?5UJ5+}68>(bZunO%r^{*`>5hK~ z36GNNChnmzy&-jzzpI_%uSV)6&`{PtxLN6W`*(W1Ep?+dp&kaEINV_s9p3L#n zf^kJ&HcgAJssME*5tw-SS894m~N9G8VX$+;D=gY5?! zYZ5z$4>q>Mwau7!I!NJFUE>* z#Ljy1P?4vAznQuN&`twCdoo#ovPu0e?63O#oHnt#y|+?mo!l?037JJYc4`zi9aw{S zVYXO02Ha7b4-!MPV|>mov?4g+^b`d*#BMtIrNvbz-BLMz`}=n=gs=RN0)K)!F^=ZqXTJpRRx@Mbbsw06ppYKn-D;!4vn zcLql>%0{Ts4hCHcl|m@XW=CzbmrrNcyb|e~B-NG-%XBOf9^O+66wMlX8EKalkgGa+ z;cN{*Ik>(>`wpBbACZ3e{Z42AvzGpuC29jz!6>p|Jsg6}_nEg(Oq1WkN?H68G`KFYlQcmlpifkC#+>}Y+>d?t1Xm=O8^ z$Y+Sun#irMFLqkYfFv-5A8|cfTpw}C0^UKwLM?$Y_wP zd|x(zUc1FX)0?G^l7+6&Xk*S)Z9lG%kb=z{bKTX8yz;|E0@u?XcYyWhJ@B?IO)uc> zF06@g4ww8?v=5+|C4aCEmDA;BE31#Lund`>dmXEIwHbZW(uectF)1!}DK350jX&0n zx6Ux~&`<_{uYC=!GR5eOtPAO)`}nLTec*5*(EkcrN`^(lsHU z?=bz9Pzx1ypmzZEGao{!G2)p6BZ;J(7^93FnzxFz3A29@`)+o?jFG09e;XC}g~5jp z(ASmG#oC|6+kJH*=?(myhPL~7oD4tm-RvTf`j8E~*^*#6plS5JpXxA7qM9Yz7`Qw& zx_yA@4VUu=_4)`E8u+9_%slI}AwK~;?5%Awc~%z$TL(wvBlcQM7&hlToumDZP<{rDeEUm4V9 z!v*``UaYtmcXuzvi@Q6;-Dx4v7k77;;$B>Wd+}1-y|@=hZoYfx&YVB_lbK|abM`sA zd)EBi^L09+V@<80EzjCTSZ>QJ@@C{^e|d|h=i&D`05a>l?IQwwWP7@au5VoSV{)K+ z@KR?p9~9|#05C06=z_@=o`4)!mT1^2TE870xh^s;ji<5SOpDx@d$E~DwLe;G?nb+X z1*vw&LYk6?AzAGcI=m`_#X#R>3!R znfds7f?aU$TRRrHoK!OWIW?5fWJ)frNrOS4DmIL3L7fnN0+AaON|si#OV=k<)qSOV zus#R>!u{{Hl6VwF=!m&xPiVj$@k|WW7eIjnLj-K$fZ1g;xq>(EiSWAIUsH7A5%r2J z1nxhJ-{;Y3mAog8j`@j~R;6AvmB!>5jp>hMBb=2UOQ*#mUof&{ZBykvl6@F*@%!ML z_heudW0&J-*J*|~AJ&%otvLz+f*mEvPdYq=pnFCb>audyXznjpKF0;1{UJezlhP_H zs;ol1gM=f1*)RHjHdX&@f_>;5*1(S!eH~5pl@8Kr2n;6jjqMzQwR9o$aX*xHE1UeH zKjdpp(XgbP1i(f^RLTgAC-HwDHB|kBm%p$1P`)hmnRPl~{ON(q5!}8Cam}O!tTCRx ze9gB{n7nvg`)ZmqBYNcBL4D}^1n>C^+#-H;{|r9ND|p}x6p-wTQqmnV|MVH}Nj6mq z(fO?nkYZR!9OtucRz_mhF_ixDly9Cw?gM=jB$w=-VfA{0$>F#PSpZBz*hJjax3T#1_u@iW?uFo$k#Y>^1&R%TbQenq zeX0bs0#e=hJ9-;GEkfsmled>)+9@C$FRSLHB+^;Q>3s zL|I<9Q97ww_nKdP?~dR|*(Y-*^!Ri+T&qmyGi~Ve(EQNlbq#H{ilYt{ z3m+=rc8>7@WCUIYB$L z#--xs$BRPzy@KlK-1@J*jyy(B5j7j%{9mW9LM6AH_U8rkzYCOWn~&O_!c+<`%uM%m zw4dLngVym{AUCU0>P!8(KrVTro}W#csX>{t;X(56Kf_C&p%eBJv)ux2 zmO_-aLP3;P!N}Z?e|OLN4EWkylB^a!JjTm%Fd=LQ1SY+J@n&9>FB9QFmQaY621E;2 z9hrLd7I)$nEfDgb`PR(ML{mjpV`Zg#@%w0zBveyh13HA1nmtW^wAAigzg7v17X=LO zTb3K&91ITU-9N3v9X`9cM%?)n#LJYWu>Ov~e8urA7&sD_a_b>F@+;sE{<#0@nQ^&Z z5C1CxzE@eIo}vZ*`^sNwY0il4pEyCnUZHc++hKE7*trq`ttC5fx@=6#<)M@W<~aWP zD)74a2@4_Q7^Wz31R10Fp_t%Eq-r^7>|J=^6GH`}V*$RCaB|Db_a}-Ug>+zx)f^ON zS90pUUP+g|{Pws&OS3i4Q98h5qxG1mZQwiT;|{cf$Tb%DCvOde0yq=E=RdA2aQ`mH z0nA@{B)Osst_X(2h+eb^vtM4yMIknDJx#H%<@iAh@GtDb7@sIJMEe2AOGiFvDZNy zAZGuN2(kV%db$o909qz<>*{Xxf2<*@!s~SFzkWG-B*uEfEY55%1+-I(yr!5aQ0(D9 zrZwTxV``%j*c29GX{Ux$8l;9yv#BWue^WU*c$-)mWP6Dcf=z&zN~V{n$Y)xO`0olh zFDT9cH3H5%fcI=Rqd;v%QbTCsC=0&{tJ07}tyV#Bj7MkUYaE|hUIFXOxQ6vng=f>f zf7ZxUYBFEGgt%f#f#WQ3RSpXBs_w(`=N3H`FP(VbW%e^AYLD$}QL`YB^eR~1 z+OcaTsZ$+k4d-Pow{M#L+J7sDZ227dEIaC@iQd z@A__&oJngM!emxC5|**jUPIu7f*Sl*D6dvuU2?Y0;l;Ln5npfN5(Y1`Z>MHD$vs^J zrI0vh1&RJ%=Dv1+*(G8Y=J(4b|4dDtog7JTPxp<~03!mrz?{vOO_?kZqobLsS;^rb z$cj82-G7A%Qe2^$SK+#XHF6g%ci+mYHSKjHj?3CqUpF0mG7+ze%;PffTxP_Xb=?WS6#B52c-8hHN zBbPhEYVR1(FwbM)lHHQZfx@E-2Gn(%il-VnVfCqpd<4kz5aTUNm(!HOq^7~OhWQ3| z#DH9UeHa&(2ed-e{ep^MhXKZMj78t?!*Rh;5K8wX>Y#ccy)rQIbt<2{Gv3GVMwWr_ zu(U{#eg&c?Pc?&s<@n<&*fiZCiq*Qr|J!>+JPa$Fg%7taIOb9~z>rObtc@P}G|>$!2dW5^g>*IX zx3FSO!zZ$`vH3f@1}fn5qx_ck6~5^!eh{)hV9f0(P5mco&SRF80p8F*hDqULIU08? zf7AM7#DUp{o|}vFKpFoXk_KmOk*TqAgtrCO{eS~10z*XxgPmRm?BX?#Q-bDUL3E>J zT$aDj$<%F()0s3LxW_T+3)FIXP5lkl;!PqxxUj>)0}b!fq1vgB?Dq#N)+oDIe zzrvOWLa&L`4-!VH+yZ-C8amK?Z~+94+()rnSk{CvmNhvs198Fvz4`a((GzM+;QNk& zA4x7;A^w3EDzIx6y@OY%5dX2|)Ziq2khx2Z{;v=kJzV^(AVqP{Gv&dwuR{GL77zHJ z$$xsj0|R}XWVbi(?mEw5giK^m5WX1l`+USsE+jkoyG}AdYW2$SWq1a{2uRr}Fnvb) z_D~;i*ms&IiLo!XeBN#DZ9PkMCARSHpuut2Qu^ay2X#I#5jddcLsM_xc(=i4_EN z!=7D^P(dfmT!4`4U*%9ARTqGIZ+y}hevv1Lv($tLK&`dTTM&fqW+SFz__33@v& zJmtrv$a#ihrNTK=QUO?M;>n2u0)c^&Jn3=L%~M5j=%0b`+#$*Ciag;&(cst%iMY1B z*aiwS2T@WB$@k8Zk*z%mO%$L0yrVvPDES*W_mF3|MtFChp`H;mDa@Dj5GhiWone?= zo=jhDO@gdw*eE7XJH0@3aD3D3{k#%BP%{s!J31A^Y=QbQ>N)*vx$ta;7e@voRz|}K zMiG|LE=RfA`$_6JujN=D*idjb5?B=A`m@S!thG^=zQlrFmFllEu}<1kik0ffY6w#w z;Q)Nvq@-0!q($SB{hM2`ml?h-+FqL!u=4`0mEjV?zn&Q7t)C9Juwj)*GOwvRyM2S3)Kb(Atr2yZCJ(grXb{6~Pz+8ocy= z>iGqlA-EDnkYL=0m~5}1M*|e5KUlZj{rV~0BesHv37#HVFZ9~-Sn3T_ejMx5$%s|b zrP+Qq06;J~Qd~KTUXwsxv2vNiko`~kVwad#WFU3y<>SRxX}2)hRRRDs<8gruR!r)S z>r#Dl_G?)*mIfvLf1x=`VcS*^l4=kF;0`cQc>B2id~$vL5`ELc6I81@U&P@wPY`+~ znF}|2EA8m2K=VkI4fPB}OEg`q#(x0&1F{x9hQ?+#PNMD5%t?Vu?^W0_ReZqj5Z2GV z+b*-$yr(alyYgB)>_<7NjOtUoh^>EX+B9HMi*Zm=?)ANqyQ~k+>`>l}<_=0ez(_UB zOfMPR=`j_0scD-xn~8EwfBdK5m&`b4xRQG0MCl6tX*)c^GpK|v zO@hxJ8;6%%{0Rfz8F-(X8;i?pS*CLsr8H@6a8j|t2MkFui&}I5@$xk*Xw+Sg2&|zw%rG??1wy#f(5Msy4TXJs zD6|h9m2+p8E{e%ry2Z_3Zd7FDX8LuG0_lwl_&e5iF?JSCpo9c!-4>&6mn43IO#RAR z`MqI4@zNxWzdt zY5S=GKm&+D#MG%+?Yh=k95tCRq6F;v^zrwLkLhyCUAFFjri7J~a;GUJ-q#wW97+g; z3{qN3gy=z18&H+dDku$r+LaJ4$6mCE`I(!Hc9%mDuZYBPIBS%_Yiq;oY7hY}fUs&UNMVri#2GkA<XNI3l*gDmmj4 zKgYwLq%>FC(%m7KO;~j#j({Hbpd&WDD zzJ(SYK9*7hvm7;F1b;P?9c{`0Z$O|`o-6KpM8l@l5ID*2ajtu1q0FuSgc*3eK&+LB=<1$R898q6siIwk{mJUpFH^GT0Ds(B~T?5;%z8{Cy|! ziIsrN-e=%o`fUiS3l5=XOXaJ#+F#Z#E3*|9KO4@&1Cxr3wi44-LcE*d+A*TGaNFna z?vPm)&{ZdNY^%p#URJUX4FF$KOIHKMrmLj)^S>j#*Jw>wNjhBA_B&0+yp0sdOdX#g z3urG{Q5~EvxOSKg-*EpTW{Nh$EFh?hXn@(^3*5krjOUjNCZWyXNrEBBk>q6#^s66a z(qe5O*z%&eerA{EkE9;{Nh&kG+(^ie6uDv@|i-2yn|rlpxOQMn0pQh&|qlE~-3t&|5t zZ)NMrFjfA;D&^e%zHiW=?ly|r{bd#7EfGBYzA$e6>?Y{(`B{FHs(P2qCYH|~Q!CN} z_1aj1h88;|Es8}!K1Qo?Sd8tD06>5mG)lLCPoq~cYHPvK>BZU~H&jhsMKdb*a=o(gMv@LPCR%idM z$v&>4aIL3uMIv>qr#f@e|Gms7w7$-3xW(l(+d@FJ#O&#qDx7vY(5WfR1PNISX7!p@ ze^ayK&wN5#5ALb#>0h5Szp!IFb86K$n&`@A0S!0?tvdXJRbl!TLm z7prH8t5hut!7@gpbB0$WQ~N!lwb-JME3PXwa&Tx%%#Z=S8%*f)3XuMR^vCm{xeK1- z3m8f8v8%_le)Q}fR4mc9e0JAmE-ktW#st*IK`(a)pwXRHlgG|Ov5O9KS)4yuP6+f;y^ilju|q(EXZdX=zL3L86$cH+ zsA7!F!G<|V+uFA$)pmovwPzRD-t2lOpZAsgLgUg05~vIs=&S20a83R9A2L)Xg6te_ zXJ&juLa?Nhlgq-=!Tz1Q0bqibq>*#$16Il_XPmr zE+iNUqezS}wR&LlPq8H6v##~DYMttyuA4pmln_=$Pe_bg!!Sl(KlK!q?Zr|o@ifJ7 z^isIjC<;hA`pHt?tyZ-nfKmGv0gM2TjEWH2TYy{LEi3q0Qlmd!YhV|r|6w|D*Xq4k zvPfE;+Lv_OhN+Hqr68p|x@Lpn%iqe#Y^T=_gEw*usj~cb$&ZKh+5Xl@G1R+B(IomB zvv-5PVJc@KKQw&i&+%;9B?s91`ep=dYnrotKf#?PTy}4lr~nuC->H+;tc^y|YAZF{ zQ6q!Am*!d&kAP5o$?q3bT;OZAZHSufU4g=-Xx8TK=-sawEu&u5Dj(GBo?_%}$iaQ# zFL_-gcxW2{4!y*t=|6{wvr$3mKwJ9&4M$rPo2R9+5P~t0VI2nh!Yhw{A${R2pPpSN z2cHSgr}3e|5UU4J|(j(>FX#Y|AV=3jC6e@w*6K*aO%i+d39tZUy6T z)D21HFo>y@5*s3afEz9dYzj!zf|~^%|FUd$=)}TAkOh5$s6fW=+4>q=QO3GZWLo?64k3|C$s!)k%Nh*^|}bF|mrNVi^s9SNL+Z<6S?z+(~)z!nA*?ph`t z4dGoz+0D3r-S)a6TKgnpGwvT-x+tWwp(d7)6#@Buy*W-8T@#Kpi>19tndBOiG1PRf zRm;Fgt<+UKzvaYjK7H`7$|bh|MPca2!f&NmFOW5ujAtPImk^}(FDRG|>Zf~V$3=)77%lKG8|qe3gO|C_hn$QBJ+59;nqoREesv~ob;^&? zI*%W_E|PdoB5NANBos+g5@Qsn!TXFm{~6bWe&-pIC)+DwyVf9dNzEdwJ^B#6kXZRs zY@#5@WJe_ROE5Nn@OxojJ{Cm4^OELhGbTS!FyMi`)LC$(6@j-6jrWmsXP{moxHqG# zPNbJM&nSB+qm&tao?q6!Gt|q(rJOnxjul8qtB`=e+a<0%{(dr#>Fjzqb%$pDZ zu=ST|Ysd3Xo^O7zavZe#vY=o#3D$SMRj4e|8b`S>OVj&tBuM-zj^+{D7Mj7Qm(jYI zZR9vzy93~OK)Hbbx}fP*n{I$zC8d3xp>EM-%HgujXh!KQpO_|hLa8eC$=;qtUSU+A5CQ?ASl?3n_td$C^sAWan@bjM zVN4@+Y2c$mSwMAgGu<<9)59lv0zIr6zM~_|LUaunY++T(WyJFe|2{X-WLQtplio1> zBd;Q~1!9V~5T_6LCIVb|-YgEJe0d#qY%dOZBkv+GkU<`@f-sK?=tZwJjj%1PO4R34 z=)fnOn3^2+nA}jld~xS5De39s_0&56%X%yP$mysTwW?FB`typR5|R3qisx-7f(ii$ z&=4fX(O$H`;cr{=33A&XyLwPFmh zcv$_4VS7gm(Y^uV?LK(mA1mKCf>S6fpl;HHIRcsuFn8lhSk4|DJghZGOo1emt|2p1t5ScH2S70PY|gGQv$LKcnzz_TkS@tvfWc0ru4-e65~j%_Zk)lk`lE;cM?Aex(eHU zn*7*#V1nWLt`hNkL-cdc@T;k;#>{y#k)g#n`kGDH`Fv>W8d4udFAGL3O_~z&;G(N8 zrk=xy!`<$2Aw_8-@cJMll{YWm2}f^55wP6)oKC3wGmmEBsP&~cQ_;umXz zNoop-T} zWIe~~8|!GNWZTPm?gfIdIIM{`#^zg*h>!C2Z$tOY|9yEZ&|HHIR6h&!{Nk{CoLohi zXXq=HD6~TzlS1Ae1*9SoKcYO9bT@g-60%iiW*9onHwj1it6G|ZK}}~LJrx$<7g`Fv z4tv*w4lW#WJ?M8Jz z-_tVbNFrHdVPZ1e+nW5%JK5VN*WEtU-J8Jkfu{5J2=lRCA^+$)o+#?9U z_CDl0&>;Bh%_sN8B>7RfE!_V9YXQWgp{Rr2u|DTqf&W@=R;eO#iG2U%Zuv{8<6sVd z?}9I!EyQ?u<3jL5P}KwPpa~s)_37G@JVJYYUbwZAk(}O7Po#bJDou@p=RWi!r{=ah zP)}@=e&IJAh{c_al;v(0<55%AYAL%H%l`TBc#_~e1wG&FzDH@=6v}-adFd8>$73dn z)8-!h*AXV`dKjtOlJWBvq|t|OA%Lm26sWPUu&01^TtJ=E6-KRjKqe0!cxn18LC{l7 zaN>DRqTJC;{7N55b1<(6beiX=Z8CQ&Ubr{U!_4$7&wth?*m~r7R@i8!D|kt~G0aFL z20w+qR_oaunQ0gs{t$W;og-2s`ueK>YmJr1)LGGAfB5`!oS=G2^DK!XDlU-* z=I7wlBr+RhIuKKoe3cfiza^c!NrGQM0oXf{FBnnM7ZHhg+pYARdRG+|@3lr82+>QG z+!*~<8NQL<&!RY%NS~I3IXf8!*<2<1>LWQs*O5p>8ud_ZI`e^Ne zUoL~WE)9>bk$#GEv|+cuHZ=5dTL1e-sn`B$ss_e?-#v{rg^1yU2)BjJj*7y2V*(e! zyPb`V*xSwZw%ST7H;EciWQ$8M{{9>686w4LEOy~blGn<6=XV55Ipx!PsmDm?wl=}) zRdBbVE}nCwiN}qp0c4OH0J2*md%9bw4+zjj zy^VvBu8W2rE;XV=U{I7rTAsV_&1VA(Xes8<7jbVhok!pWNw1o+RG+&X2m2lw-7YLp z9yy@`+a_>0z*J{X^Sh(m(UVRu7axZ^=CHz!_lrXJ14-V*2rl8po3lAP8n0b>&@?zu z3g9~fyw)Ru(BE*@k=>Np)g$4y`7QX%N|wqS9khgy+3MK~s;c!(jNHvCeUfE3X{coz zQRiS-cGusp(r^(5d8>-OFx!LQxSZaUy=lujaZ?C?!{T4pkUD~!Z5K;TZMEZwb!f{b zcJPJ^Wt-QFvqE($&9q=uWJICa;Y0As(Ht;*j{dDsme>0wut+q8VQDB7@LuOgalkA@ zy<;ZPp=G$|NeOuJ$>OKAoo1@>nATSySiMd>RnCae{$e<%-&)o2RYmz=_17v&tv9we zzu5Z5le*d7;P=`D_A@_^nzJMJgX*VBf+%a9uTBkrk9+_i5AbsrkzMsggX%}y zTa=MIch?;A1!yB!>Nl}E-&2|SubE&x;A+XW+PGYE*BO#sn1Hb>=KRPdFB9mm$@6CC#D<}d$kAWqS)1)zs zX2(ucW+6X;mtl>HQ~GjX@Ix+*h$_|CIM2@>>vos);rZuZ<;P8QVEM;xy=oJO3WyGT zXV`hp$alm!zPXkBl@rgHvnaRz!$!_rh)E_m=<7Bx@*)90f$*sVTRt#>`s--%*HKzf zyzFyAiL^H)u!%@M#hV!|>pdLmD*`afi2sxCD{e+^o?JAiqFnH+Q<7ES#A`b7T28~u zXh+-5#@f}db19Coe}l_L0Js^poJ!c;RP*kW@$6G`r-;7Jvs_J}Q>D`S1+oA6GT>5w z=BNjL_W*|y11GkPNiL~xiJbz2VhF}A)Ct(y|Dn{GT)S+#HMCmien*H2$zr;)4h_S^ zARz_}?Hc6MqmFn{!(fLW_*G*+C>QVYEAvbzB@=#KLhONFx5%4KfA#U)nRNZpcjNQ= z?=AKIMUm`bv~KHru(vNvYKsi~`3KcQfDz;A!5jeQ%(rID`HJ(kxsFQ)iX%n}qKp|c zW1Ft0?e!(bL)%N}!@%~AByrGnfYRExIi$G9hR<`KDBfWZa)M#vGZud#_347hWX2)_ zMLWe0asx8T{qIduL*iJ2=k5eWGvUNkm&FTQ5K2=!x1e>dqCK&dq0fR0|B` zyI>CCLxNw}oSq!LiCzc(J5-c-E+^~(>M2IQRAvUP>1h#RTut{Sr^M=*TxvtoKf3>z zI9d9$Ri5v{$Y*w7L930ev`lNbL+d-oZb0T*Oy*ixtFz2ZZ%E#nf&`R&Z|_CZv?9*+ zm!)kGV1%y#jCL^bEa^knOEy0g3lbSc5nkFW0iY`|95p*0oVLe-4w^h5= zuG*9`AI{D>^SFZQ%mKD7;^DKbI#pMymKC;X%0*WR>d}}rW^ff?CY`P#j47|x+|t#V zH*`GxZv!Ue0ZmW|y>2-*4#f3c?NhZM5Vb;RU=W|gq0Z1YvCZZh)85GhPi3^^xbROO zG9N^<)Ju~iE`4r6H0X3tawV7J2X?9D*TU@KvzwP(37ktarc*em&x^4O)f3gqNt-DA zJ9+TV9YTjxT;e2wn-qjn|EnGti4!@bMv@#C6~Y1{F<(7+J=~pY6=zhQ3}5-|{WX{2 zyUWxE5}v&l18W^Z9SV5R=T6;JU7OVV%(OScCG)Yj932Fx8^A?mM6_tZanWE`qw|ll zxwCooPmk4Ypo^Y90gkzzI_7&+M2WY%zhmHU4zd)PkDMoq=&Sd|7e+80Z4Qg{XfQFX zqt|K5N`l}T7-~#7o%kXhMIE}Z&n5TsQNkc@YFF^UpLJ6*yQK&JZx>)Q=#z@fK}GJC z^&IAZrw%Y=Z?O|>_p>CCE+|&A&IP=A|Y}_`@5?>!OrX zZ!HhjiAlti=)DfM>1RQ*?&!LiVTa1@#UZJyW*Fg{+nj5ne+3#i?n#fYZ5ip&50{tn61bZ(Krw*UMQcKEC^1%~yK zSSXc{jNe(y6jgbtzk0?9QKJF6wf&YBbeNcb^riZ^cai{ z2!ey6N#6m>x}N2F?zXxf^=iXrIZExFq2HYOtq!HL-?*Eg!VcU1*_Zyiul2L>TP5Q4 zJMf~GZ-J3Z3k7ypduwM`kA~YA}q# zT*gDGbff7FsL7u+ecnagn9Gbj$94jhc%`xBKXQh5=D zQC^}t*Y@irl+BpuR~{_Wcgx@`%a?)`e$YHnysxLA2m5y?zT*lK;yRQvv@FAV<;-S9 z?I$HH|A|IF0q;k`TzNvoaf0ILFAl2Cr@65)y^(PZ^S8p&OGGC6U&gRm1EeCshqx(F zqr>0O$gPzXgfG{NmhPv{bK^B(EECa|m3-Rn-*H}3($@hrBZ;a=77J; zFI7sx*S&@=?Z*`k3kNKFWfP5N4syY@WL^3teY%eArjh~GHr9nD!REt)eeaz_8BCs$ z#r-=R-JEs_sqlIvRC?cFTvF zZS;eU;Vo`0<6Yj$hT9Foby*&oOrXqNS9jc+`1A(l?^?e}xljuPcP|8+WBk+Y(YyY~ zZ!cSD?N=U)z2T8RypohceH)a4$uJBE$P%mKje4f&>ws9UWKxhL^BgYbCRDtrj#rWn3# zu4w)k$KNZGhew-)kOMpZ{fqp_a8>GfnrxQyB#}>gxzAx)>tSi@p*7zTyA#Wp9orPF zoW{&rJ_IX%yPp3SJvGskx^CG>mx5ok7fv@>l2Jj#Hs_vBf0J?ipEAv3K|$SwQ3d;d zfO$BaZ3$G?V0?ImnI2Zcl{Ovr<~wS-a{jt<_74M1f5Qk8w+C;AnGd4oL;s7sGp93XsQI9eHu4wE`i6^M0B~q^wxxWD8_{PSL$x{LkKD zmCpjH?eZUo{oD^i!xFRmiR4)7m+0WEE&s&T{Jdm#}ag0tnE&3 z2S1e#y%bqremx#4i>E2*bMM`QVBik}fcXiXIUaT3&W&qtw|NdSS$x0TD%#a$#)_Tj zx6}F+<*9z0fFzEJ6cj-`wI? zlE!I6Itm(cJ&rf&6JMj9vBuoYZztr+66Mhhy#s35^&*Kc7P#jsb@B}A zzI-JzLo*Vi?0UZs3AyZpnO5$h@!^}-Vxw=$$4`NU_u z;4f%vvICzKGG{}nnPNQJ?jsa|)C!GR9Y-8wzY-x+7jnOQe5CPv_jfAbr$sp=N_Ko> z`?$W&P~rLEzn51{@}R!}*Xk6pivj`E2i|B1&>^Pq0PPL z!q?nE#cQ4p*qZ?W`Yx3;JhIRZJU3|JPEl`7@owmPyFkFMy0mw$6hxi;-vM(z9FUv5 zLxXySc^J^)Y!^wkNiIBhZvO`p055u)0boNPKYdvF?*0W}znAUlF0@0_Xm6?|50Is} zLcWkfuGpt+iBAPWq&!{PZo%Mk$6D1EQ zcSHY-oiplWmfyLl`xuZK%tJzQ7PlKf`?QHlvmtxD$5Kl33^c9_nI0qZFobO5s$E6W z2MpneTcT1n>d)vi8sE{Hx~sxj{&@2GTg*`3nUOi;bob2}<$2oV$v5!&@=_*vHs)(E zK5@&S-6eTp<_T4E%0CX_@A9_t|Tdg z2Bzko4<*%NKTD{~Xhnarvtq%6Vr}ICCSy&#&WcX4jt2d-BqFMk80^{V@;`7`mhhLEV1Bqd{Tv>d!QQJh46VX>Y~-)(t>fG|?(4SmYiw_= z{W+~6F)0~p*k60kGBz#?UY@3TFMB+0;)vpVZZx+X&s6)~HlOd$`nFo?p?@+C>+4qQ z*0Vb$#JIVznxub6okS^C`>$FewrQ!5)GX}5P*0Dy-=AXWzk#@nt=0ZL+r1=rwp<<@ zlpDz;brf(C9AQJU&NUKqaWvg^9%>>jf>5^d=J8=KJJEPLKaE6Ic4~SRl?6)K!xxyx@yR70c>lFiU@}cj%^n+_-n}? zY@nz+-7mf!1VU>bMu(t~!rLyiJFnW37aWWF35b>$(oDh5RYN5KuC^=JqmbY!OfUi* zwP**A0VeXRcd_vkc2>`8eHujLSyDsurv4ImO@N~|F)Ao`hV|^xurK)BA236|%XnPZ z8N-Jve{@qoeYX;J7WW>{c$b#sB&LPEass)w<`fQ4uT0YsAw3Xg2#jy+Rg0qNUZDx} z$(>!mhz%52K1sM1MS#cU%05H1qYTe-TB-6Cus7~ zz0mNIU2f;=(9$8)Oe;h>cf|BoXqw}m$zh#ip*T%|-pU{V4C)NI5%dTC2eOcLFJ#R4 zn=K{d{`C+^PE^Zb5I#Y>qTc7q<>$+z@7%vGCWO4j{&%F9z#w}sZS7Q&?t=m=ek>wi zikt{)`lzDTO!AL{lFWQ+gZ%5J?vLC(iUPHa`d#DcrpfmJCFUNbv?{r02r<~EYR0=0 z+e(=7`MJ8P2C0QfQymAb24d~6@Y=`|T=QSp9+HLq%G{r3PNgaFx$;^eu9H7;h(Do} z>pe|QqeiWJwW8v+qVDM?QitM+FIy@+=QLS?iof69p9P_VK?s}R3W{qI31Yqmv%8m_ zU3_szRjMublZ*ltxtM-2mpmRR(U2OSM{EtaidPw2>h_OLIk`H@{?ByppCauOpUQyv+{6|=l<*Z&~Axxu@NMHTg7 zbh_k*%BFf9(SK;TcJW_EMMAKGQCrNFYW+(W3@{;sxVHvP}#zgcrW6_>z3GiR%Bs{KV!`p&R=yQFA zd8e)a+$t@~OkA8{e~<#$)lFbk%y~iW`&&NsEH=hEE*$z)VJGG?(ht6} zO6XV9m+ZxPGc51RRIm~adlDYzF&^^LOUtNE|L=2Yv9^RNhUM&#YFQvuH~*Py+5;12 zpNr&Wf>O!FQsfGDy5%uP-V-dc)<%Nc z?t?}A9%>gZz0dWHnj3rnrc6ZF5_tFgT{5a|8?{~{CoR?5)a{XFWM3i;^9Vz19`7n=C_23r^%f~Zi)ywkaUO$-3?9 z9hKbNYNKrP;pU&(!Dj-k2vRtTc&D}d5gbY>Z2$9XHlfDC4=N=SRMU6B26oWFa#DXz zI#pi>WHDQiugNLQ&LFu4XT5oHX36cAZyny`V@SMK>1QTww~&1RA^LArVOKT~+={Rb z0AZvqAq+(dgX{|LiEPXCd|X$(-&Va#f-u*ANjU#pDZeZEx4<| z%23`$n6L}?n6TRqNV&m?pWK-uYCj46M!q^el?_y}w(fxP*I-{1FfJhV@sI;s{ACj5 z|Hintul*Y|doTtXd>L&+rMNJsg1)`VN%KUxSmjCS zV7(d+>?BCtkCFnu+vZMcoQrJ7%zd?o{*B|dStHW^8_TkVZ_>)x>Ex@;j0ltk(#Bwa zO8-*=y*i{i9@*Mmu%Iu9NS|(pg6Heu(P!oeP0?Y0%@pzR>8$r`S-YIsyPQqegl~#~ zLiYWe+j;QFnA0@*LapER6{!x4$KG zD0=rZ`ExbX@1NRdhNpfgD|hV)&%$O4tS#4VO#c#?MkqNwImbQR(&4t*X5AmhON177 z+7Z+$k`XF)hGt0saMY{#Cx{Rw84><*yg`~m$7}p-6FV^=)t1vcdQJm?J&^$){HZRq za&a8sFS0>llqu(#MD__V?FK5BRN|$&7rad9{K;xRxY|NaA*qw~beB!k_q-eUcAPmZ z@{avmgkbM?qk=+bE&yP#Z5pO_0@$Nag68d--mc#6_43z>_tP8D44YzxFqj{G(n7@( z6u7t8-czHOpCUHGO5=q?C;zA2UCsiS3UO|BC3Qk zTrtxnWuPReBsaNhx>aZV$UUTa7>O=quf`KGJdDwODPEEw7N(%JXjcSpbEd+h4=7Y5 z45{bA_;&C9;0BH4#br~TQ_@F|D z`%leyRIoGNSuWm%ZZm-M*v-@0l!+lBmdb-t{OVZYvShDEHQWUC8#W#v$z}=kNqej-%VL-&MCo^^UpN>Lfu;zC zV;ouM(I@E@4Y=LM(QqqwBg3LA=vUio-kYjMGl}Z7vgsuKR5$W713)Ojo|=TJwSBN(hL+l2ld&4_>vk4e81oNsKUbpJY6ki298OoU|UKZ;Cj;DYHx; zqJ8h@5wks~YP{PLz%=U>Z#jB;mYp>0R@6k6CXiE?$6MN=D-(x*|2Z95vlO>C+uGu} zj~qbXNh@TL?p4w*#5*c=P)fJerf0z@?JkR&hZpv(RMo5?*tdUr#sT)>00pL}BUn`7 zv4CAWlH%*lCyTOhvkKfJTLyyO*VnZ#s(D=jCyz0bW{{mVGl`(SE~X#4^v1=wM-UXi zR-@narti!R1rL%>0+Pf68pgllKgau5qU2F9Ph3067k9mjzjPN94T4DKqhxlFOBv+x zRBP+hn%JLqYO9!3wKC`!rPS5V%nI0^8q!@4YpbDcvcp}bgJe9e6yEg{psGR=amZn@ zR;`ax)j{A^DkgZZdiMO1Z?QJqmmrSGEUbTs{HxQ*g;N2T*5o{`K6DFd9- zw|pDG{NFb&G08iMMy_?h*Ckc?EBCjZ>PCJt%j(wfw7+pIYeWXEf>kwwOW=QM$Xkn|=5H&O9@} zk2|y9&VA06V~J7#Bo|HyOWl*Rcvs7N%E zMT_L=3yiAurX2u($x|ZCQ|tQOms<+l z^m-WtOV0}d!y6SueCo;l?Ou-%ii_gmL+7Mk%YHX`PnC39PS7Ohut0e>D{Z1|J0f>>D&rRJSwU`0>=K4@OE>#TFN$YMv-k2kxCGZP-*Jo@{tR4 zSAZS|c4zt1UJb350(?Uu{|En-NxWnbdNbgjGOq z9-Oj55!4L#J%gf<1HTi!b$q^E$oXs9Z(G0B_GRY|`R$H)$Ly@H?zyH{yWq+5C?bGz zqfqaNJZF2qZa`B@swqT4ZCV6R)H}RBGA=kjnO#Ou)|Qs+o8`9|J@OG$uLiNmcpWuk zSStebzXF`&x+dMVmctpTp?s{Lsl)8Kj7eQ0o&_#LK$s^Xfjv5p)%8d#G>gp6xj9*_ zN-N^C2(KTrcvl>Dc;CYNo!iI*EUySIexZ>^Weeg6`=rtbWPsIJLDPf=_}7uVv=C%Z{# z0GMRzOpVwowxEXnEB86LcO|?{t2{ty=7Y`PH`!r~2|iL+h;GYcgWB?EBC)5yiQnpN zA?ENp8vhJ=rvY)&Bx*XRPa})IRFW`_Tr1@#5-e!CAZjXYbE9k)8+Bhl_3P1)((fTd zldro8t7-SEv-6~Wuna8%1c11^x`DFmXZJVZW>Y@NB>qm ztnWW*Pf{swL7s)~km}~LR9lZd1Q%85x zfSu@wh#fTL;hdaAULFd2+w&S{p}EC7pO?`ej)?&?EyrE0_Y}mrpjziwYw5wMJD!aN zHn5w|-AMIwNlX6lvZ>I^z;_hGUcNy0v3W6J0rc<4yovGp@G?qm&%;h{uPbHs^+rZ* z-{`5>CUBNd0sh805_;wn8y0khuUlw%yvw( z1gpl5e{cfZS*Jw5_M<+?Z@cxwL96-8O+rzcXT}&>5wv4N8N^rPq|wEUejTuA;b2!c zP)nNYuD+X_W39($wV#*2PJd;g6_cgTsd^r40SzD2vclgl{CyN1UurxCb6j}6{v`M4 z8S7aFA*r$mzurg`g3V35UQI|ve(XGnzU%Acz#78=`o3nneTAy>BO8anE5!c4`ECP6 zsceiO2;`K9MX^xHxMaSxaRFr18g66wCkClDYhdtKz=bkZe=`^itU(dV0&>Z^OGK2C z#x}a;ouZn?Vxdscbyfe4ff!P9#0X?C0FbUhJdTIIGtKarL$2ppE1zkq{Rym|AEb3o z;~^?Hj_Or(V0d6G_yvPKbPaseQ2gVY^g&2$4>H4RPWD6oM#_7GbvfJ^T}Q)?>1zd4 zU%_QI4B$oDt6beGKR3fEhl#B;+N|lemL_cXsrW}s3*?LQ2Z0dagOzz2Rqt`jLx6?p zJIw=xSzQjQ4(#C{s|bFDM_Qm1nps&{>>?rhG{g>UNFQAk-+RGR4{!iM>1pSmOmW+# z3H8AG8_r_W>d+A=8wC9bC?Q2e3iBWYl+{;*?SYps(geE0#&*_g$Cq&Dz4833`#b~y zVaY^XGF|VMOkpy7;TE1pfY8jXchOdd_+U-#Ra?LNi(VqO2gv}+NeYUiM2x6k0*>|8hP=Z$yneZ@+kN;&j(S}$e2zB_ zU7#KG+O@Y_uT4m2?2A&jacvs_-=nj9Q` zQ&BJc)9t5$+NY~cOtr>!J#xIk3LnHOLN>gyZx%bY{A?_b2AYpLXw?;n83ZPB_qZC- z*x1qu#nndoc7G~KVS8~4Tb4_1iTrm2r_w3BMOwmNPj$9UJEPgXc1$-C^cT)Loqo*N zldNqlL#`LT>v-1hC%n{@0=shqzS+we&cF4ktf;nRU&heW38Q#+uL}Hwn-jadA}!<34fSA}9QLGc-ZT0yuQk+fG67?mg>LbAaEFpevRLfZxS7_%$>H(P40Vh&cy)Cm<@Wfxv#No z454g3B#-)r?d>qZKBNg$`S05=PBMXP{z6NMe=i*N0ww4AzQrRPBvNGY1=@SwVwIAtfV2&RP*p{b*p? z!}XDhmzi0A#_d)ElJf<+Ida{ye)1Npkr;wX$QtM1Emw-Mhoy@sw_z@XTMI?=5>P z5&IM*27wNC?^ShA6&d>!IXS)hf4y5alcq-5m?qww{6Dw+b`Nxj ziWN*FKO%+-d|m^kn9)%cW8r=JOsof9qMQJe0{a|&k}yFLy0u$)_D{5%I$`?o0K(xH zD+n4j$*y+&xkq?-Jh9}Wt&j|@vE(Ws>jngvp+~)c1a?bVRFiiPr7l0~H^3nlKs|zx z01fSyqnrpUA7etUx9`_tSlK}AFGMRAANcr5DUg{vY4`q?!&+rO^ge zzZNo>yxWNNT7Csh4vQAqC9xQuGYG+yGTWaSR8|{SR)>Bx`{pKXVo<@tD;7j$vn{2D zvl$HZx$T5^p$wf5Og4mIY}d3x1C{)^=&&8&e}l>5m+yr*Sk@H-qoNq>A~-tFK2lfN zmjgfgpG@KQK_{63OJX*{<$c73H}z0Ju90P`eK{^MBH#fT;bB@3MX-J)FUlPJH;pOX zapcm_cfCRXvj(dx9y^nb5L)&Z+t@4Q@LW##Z%A%`Aw8i;@F9Oc33~kE#9_3e3ip^* zn%n4qyE$YiNMv3Z{z`{F#H``5mAG66LP;7RdP)QSylKbwXY<7yX^zb92_-C=~)|<`Hfm<`BAJ2tQLFO1= zAr;=O!}bnBYYpKd-Rg~1D(P6H?S0Hlzh$u?JBFHdzlrOs+B=G|z3g}6g4P6Om3Y;~ zTD5z?fjkek5tEAnN!8Fi5)mU2I#B?M_bfP*wY9#t{c>RD!rt1)fvIqp98D&8t-~WO zC;@9)IE-uH>c|_4C8q+w&!@bmi>WMtW)F!{P*eN!rMnIOESG_}lYe$2x_b2|vTMH=gTrk7Wo1olS&!4ZCE(aM^vMnKN{-xqT)F*t*Ep%Ad;s}` zLsj;BmyH0kX5Ig6p)Vp^20W@Jy&LCUzI}eRNIjCN>FNF2-g|Rzc4JzfK_Qs=c+G3_ zHm2n&z{@ZbUhVN)5fPUai@s#r`rRZtkiY9imqX+;&__^H72}l!L2UxoV=3NiTM{46f{pg zeu@TNy60sz1iY+?TQ8+HZW;J^4E^QHNVv1k5;Zmx8fy(u$l^c#BFeGRgaPFS?rKPS zDTD&LUKX68l!J&+7q`)CL2WmvfCGdb#{SwVX+(64!(XW4rDE2}6tHjazki~~X3(0- zG0)>d1m|8IYrl+RE4(QjXtuuC@3Z+{AF9Fy0J1@?=EJ~!s5%tBnmGAd+G*&TY>(y%0MjWp2tnb>aIwUS|7sLcZWOJe z^}EARO}wii9OTwMP3-jy?Gwu0Q}*%eujS%jIVrTA|FV}s7Vi+-IiDvoP-J~EXi72`V<&Ht!{k$Y7-oy^&P%E3d)D;_I zkVQP;EI*Q2_ioPfe$Ioe{`j=!%TsgpmDN{C)2}mE%kw37j>9>E&jvc6R=2aN7JJpY zfY|SFE zKDrBq@dM?(?zf&PfOpGQ<~Qn3>feMt&Q{YE6MsHR=xH&b4O?5lC6ED^&XDb0E;+)N zx#cw_Jjd5Ne@_e_*c1gSpHXat0C!+h#RB%bxKiCohaBfy3 zH|*3~$ocN@hyje71xX^9p%e1=1(m!+PI17LGF6|As?C39us285tF<#Kb{thc+YDzl z_lfxyFOC5VLts-!AcReHfZ^P%FHCDE3hKu>#qXfr z35aQL`z&l|11{Ut<;Q#^TNO2ZdAnWv_Z&(a#xd>VNbHx+=zz7b9;a6Xn4qA9?fz7N zo2CyCOH10LvnYNHj;e&E=}J#^>14ZmR#*~OymVm>C?d1<_C$qnA`v;+Fki>N{VqyQ zC`ulNz6D+Jb??`Ja%;g^9G&SLt*Mn8J9f*e&7?!Q_sPmXYm?79=~GG`y?YV;ioy_d+n6f6Mjdz`y`9@}u=9Ujpm47Bv)gHEK0XwWCxG{W>2Bl#Hbe2A&B8r_q8&(n zClZyQgwzeL_s*jUx$q@?Uf40?2OJvj6x1_XNH#j6b2<*!2qO&+R%+~KX6FfULpF2t zuPL=JCS}dNk|s|*3(FV`ssX!inenp+d>ST;a{jJdS9?yY%;Mzro|dK;{k12qpb~_; zd(VRhuW_&$0<=`neS1&ujOE+>zi;+rGi}7mx+KcFx$(M&Xu5{O_00*Ub`&sEzprYT zZ*@tAgLCc{AaD7$x8#Q7_cQ~kdU6CO|dxjz$gl6*QCs}4_3ZX?k*@+V#~ zg@K7FCZSQr*QOqG{vo8H>b^KBjCyzzk|;~Q0yC2R17q3zL@><3Tw?A};t~&Pk7m0+ zfTGVOvn+hHbJ|h41UTaA$6>#w>h-~MM<^K|8OWez{8`oJZLpuS#~rRBhked&dM=?H zzUFkG;h!c(ijMNStiA5nbcHS*ovVvI{A$G5w9%MM`19JOZJCFHZq3F^8~{z*UNE}2qRAI`Ctppr z-S^mx*>rZ6Iyn=a(VYtVp>mYsf3$yN@jfcfUFi!-sKn5)OBy6qG3b@DMWl$8c>*pj zU=EnHy;7aU^jw|ne3SEr=N}IGzDvcWO*HzAG@?SIVnk`+DnVXpG$(*ETF*pS?2C~{ z-1c1?-#R%DjBn`s_h2${O&pk+(13-69{2q@o0nx>a^rQM?(LDO-2Y}YS^bHi$%1Eb z`IFRFO^V9BHgd;9;eV~qi^udT!cVJ>2PXXY|F{qe{mvI}rV0bEe%-M5KCY2W1-=~P zY>2h(chToewQ=Xe0BWGt@@FIKH9nrbidbELleIhjoAQly5qp8_ouN!Vhs?m-_Unay z)7~B*$H8|T`B;0q0;FJAMvgaFeM~GwbZ9t@(hpkUEWCWi`Y&L}mTCw6N)3p!GN_}( zniW>#<1_leT|S8cmz4FOjRlCK$V=z%hI|1-b&8EO1-zVk2wFi>b?Tg%9HsHhP$FB= zmenPvR1-F)=rA7fKoIHPc!y34zy5vo91s4tA$cu3fP9-Q@DL9yNhwmYHbvtv4;{I;`p0P6$Oc}ZzARhGqyJm7`T-GZ zHr%x_HhY!MhUfsL^4Y!`<@rfpSg6v~OSuvE;J+D7=`NB$?+8D^l+L=R?-<=-id}WO z{PkMR`}xslstKO}+XI=;2igEDT1RS=+kvlxLgP3T^M!H<^4EV?KRdw#UgcE%3>-r+ z{-(NY?j|%FtnJJNH~QMk@!Hq@+JE29B-#wJL(j&yT7`(eSOYv<2qe((Bq7dx2xwp7 zP{k(yiA`~IpVxshgZNh}EQNOuDny!Ue z;ORz(<3C*WlO4r;bT%+smEv*gKW-}??)v-e=w)@-4?)k-l?YiR6NhUrBhI7-JvSjD zwW5u)vW+vIo>1YYaNcz?cYkXuG%+Pedlfy(j$Nl*6H{I>;zLTfpZs>fTqoh0VSZg} zFonZ!({h&HB|5Ys7Gb-b0?wuKx;|EwpnxK-99TZ&LCX@gMk2R@={=#hg<*{Qz~%Kv zNLv23s%Fy1D-YqRVNI!DEB+O5rujhGRW5$wGw+D3M$cS6O>fIExW@hY>;n<#>oG69d|%qU8KPUB z$+cs@_x?F6>01_g`Rq9$^po8A;@;bx;PV>#Dai`r1%xmrHn1i+&gxtfUD`1JIcMIp zWZl#8&+X*n$=PtZj38?$S;m&i&85Q4CDY6$)7$1~@_V{uo6z@lr}wLe94;|!(l@61 z7w_dxN2D|MNW8iaicD*gnZgP>9hi7>dARYZ-kZOqLIz0cOLkITFQWs=1x;E0JaK&F zq-%I@utKdxO?Y`Jq7}78B7@mIV}rLz`!i+yN!CSPt6Y@UY!W|5 zV7%{HvQnB0P5Ejdw0rtzz30P)x83aRZW>ygyQ+9oz|Aj=F%9BB42>13ai_(X(#XZr zp}_zOPv@hSN~E*dX_w4C`oYOo9pNPDe}e6}uJGal0uF4IIDeSr;the!R) zV!=}ejO`A3b5*X}O@0uLt+mxW4=i2NIJ9Cme66KBq-#xe>| zzJ3Cbw3?E;jGDHdmb;$RR{GsT-bdP3r{hz0YJ=G~O5bGfek!|hD(hE`KW_x3Bgptn zvG`SrHujK>DuXV=nl{~rUKe`80~l>eWp>xdSV_+{NY6LP{^|16G#+D}Z9T?0mchoN zI)gX%xU_mGt^PhD!Ofam+zJyUro1T`t)isg`rxt=_$I)33;y1=2vzv!#l{r=yO0_p>t_!`vR*+NY-KXaA?` z`k0z2f`tI}*-M`#MFNVIkKJ4Kt?pu~f#8y-fsPe|&MAMBmTMng$$@KJcy9%>2WK0I zUYRC{W-FXkK|3f;vlChPLe3yZnE3@#@xh>wGH!dH!tS!N@RJLGtmf?)W)wgWmAID| z@Y((!7gkZ1Ab?&M1U*a#7`?QK?U|+16T&AA?G1#SqqY0N_ca!}6kaAuVj{BTZJgMj z9<^m|j;v0x#hE@jE!sO(y96;j2G5@8U#) zPf2m~R5>VHW%i9qeB|FhEjx2*ofGgVdS8C8aT9Xai>i*62mpN1)V@2)DPK&oHqk?J zc-x{!>W9jGS?%!1lOxUVWoZ=AR?n@5GcOCPqY+kWwW6q5O$7C`GfmPLqE+n=TQ(p&3q^q*qQ zE$NEEAW;lvXaE!aTFf+JuMoq?_oFb_Q|hm+RF5d8Mb|7(NOGGpm#R zn+Bc`NDlf(37fNm-(VAl3*R%4Rm4rlaA$PK!R{lK;iYe~OwaUYCSgKCEs|TRUR>%r zS<1HxUG7nK*)tuUuuvb~6QO7KC=3 zTHr96e;}+t!S@l{T8azzkvpOHtP!qm;JVb%nwim(d!|o97Dj75S`4M$g5arnp6`wtJuuf20IEs2h=z4z@fp8XH}Tisj%q|p z>+~nIb2a*%R%fP|H0H1%~u2cjP=@AKI^ohsnlVgi< zPmy%=?fj)=V&dc#*VLSC0oiQGfurWkpzi|Bp6iO#P`~_w9GNdU;F0JNB4vZ17X-_m z`J<8OLBGT*X+;rZY&k@;ci5L;rA#A}taXFD#cY&SF9n&d3 zI-w9X-V6i8)`kcH@7%$?&i=0YchT&V#Pm>w+2yR7t^zkAP&>@VYJe>K(8E@ZEJuWoogS^dWq zYd?9g;IF>u`aN)^@7Z0mFuyI(Z_>l{4gx57DS4z# z(u*sVwAl)GR3S)pQ}Zo^!wpiFAa$u@Hv?Qu2{DD=QR*?ZT~N$VFd*yfLEdU_=v|~K zq$}aIOF9VBtSMgI^dT=@UM7|lDhQ&;9*!zH*-quey@SY8Gs>0~)x3M9`bHW|Hz3yMxmGO#w3tIEPwFM6MDS zuY&1(-Gko4!K~|0*D(xPJo4CaF)V!-&f-liss5wO5U#Con}Jv{340EXVHy z71-C~ubI@jt`mkx}LDN%?o}trsk+2gg~+N3-^LkyT=jS?t9P-06*>bLSfhy%F+&Jf8cIi%q|^|wpr!JX~(?~ss{DL&59?h9Gs;KLBviaag*<>&*P(;%C z1_FtlUoxr3a^}fmm~65_z8sc}Oo)KimX$KU{!U`XFD%P1LlV>#IkgM;s%SQgaTBda zcdaA!j;WzDyf?7z*k)hcEQrqmC8dyb@gFZ%wVN^@C>vDaiMimAJZ@+R>0kE-E`KY_ zq9E(AMw!G(5Bpg>uIpiuamhkduoyamT(8Ga&OL=Qv;Yi@_cTRNIUKABEL1qnhh!_M zCREiFb9oI^^^gxEe{tb*sz0gY$yFmuEbzbB?mq>=Vo`CBVP!7jq%Z~N>|dc>Ctyh3IsZ!Q!OXak65m(QQ4lg-IV`KBi&1FEbFdovlo@1I3Ze@6 zCNYgWY1P4{vVZ(R(%kx7PXMZ(ZfDkn{0p*-q)ZLt`4{Kfd4$swEr@^_#DX~kV{!ol z@1Jd(Zj9QT7hKSFj6iK&^sDDP>4nc0s+JP0aayj<)3T{3KWIPl?+0qca8=3k05|B` zgUB`TEDh;h$AiE}wAL30FTePvs;s1yy74kag}Sx=Rq$;pR8sS5}TGFPftD5 zXAu}igDLSP(>(5ly9D8|T(tS9D7T8B1ad{4UUHuU>E4G<$WsE6$COyGC~4qt=s=cr z_#8|vNXJl35#Qm%!j?4P=$E( zn{&E8Z%d=$F`k7le|I=L&PMP12_)&{=BgVtyVzx`=+necq{tkMmbmRTjy1oocCGcc z`XiN=b;i`vR9<3af)7N&kPgwZ3_7Npp*&jGEg}x!(Jz<|;D)C(_qn198OpC&C;%TB z&T#9Ee`z9eTKZ1W)eN3Ut*;fBZh5vHUbd`DBy;jV{Sz~sFe~C&Yd&{Xo{)N0N58Tx z>Ub{rciE@?g}5SJNAw88$0cRN*pS`lZ7I}Znh*XXO+)jj(g88ubjJD^UO);S zPm=i1;gnR+`vw9ao7F)8Z0eGJq*T^Pr_1dJ_)%cR2pCWBYmNzOjxDp~z4ky^dQdpb zmk*e5eu$DT#b$Xlu=Fw4mRv<1c;MAxFD+jwO7Bc3x1u@#0sHg{_ z8SO0Ig#5Av&$qXSO2@>W{UbS3eBRhRZ=M94j0|T@CGn1xr=`f~!nQqclp@$r zd+;G)hC!Ggj&m*#4rii--n}nEoOakBCVvmc@D9L`*pTEnACjax^h!bP>P8hJd_J!% zG{xynrq{#9B2$cwFIU{Dye3RxNnt=>qy&IY+j^Q{uU&WjBWCQ^}TIC0W1w;J>=M?d5H54HUKxm<`z^= zMbI(hC0&gFAI{Fq)yV3G3*2j}sBU>T_NF|gBuqq$yhy~@(6G#6S5CgX*(FJisZcQt z`WNT!<6guZS%&DzU0hfJJb8K96b<8OMyFCOZrZ^?W-{ezGejl~)pU9l>46#uM!aM! zAtPVKke%2S5)7qNfW`>a-N>F~*|Or)So+Z+U~6uHcQ3wQdLaZ;RE|Tqm3C$#TLIj6 zEX`z6CeDPIxEmRn$mEU@q}W1RZ}SKG$iUuN=YNtyndN=b#(lRd4wQrLZ7-2FKO`Qk zzl?I`UPqDun$ygKtw$SpGH?2q1IF<;{_ub$2uSKxFt=pz2`fGK^_PZ;40};Qw89GQoF7iJCgP8=z#sk zOI*SJ4aT4?QUoV9_hc?(D+e2=Jo~Wa?91wyuRDX{J5I9@^Z}yEOSs7ATSvJTqwX@2 z@xy#}+P*{xtk6Z!xjIzv^kxag8Oe}=|3meLm+WBN-pj_RgfpRTk8-W4g9{N`(0hKS z_heN(ACFiCK?%bo{Y%SS&dOX@OVY?l&CpKDORLA<`(ycIPrYL_%b%59Oxh@ojyXs9 z9m4)l1VS3SzR=gYP~AQ`q#Yj-n7;4- zGnIANk!3@M0lJhFEbnOkYDz)`VH_}oDApcyGbGAVU#X~jYtc-yt`4#e4YI;UBD+dHfBR$d zUVS)VI`-eQCZ2uo@#EqC@QTd6BbnfP zW>5TetpmjdznCgH33~)lUn30WZk=4py5@VP_Tr5g*y;aQI~R&Rlk3QU-WXF<6y7%s z>$feZJ`f-dSbTc;dXMq6ErtoC>{*X+GC-$65E-hGjt9EUNGM?VXa}PDMw+^MEqYji zQSu@qr9U|Uf(G%4+t-C}@;XS(1PB4Od3yOTi@2ijk^c+9~y4P1mXpx~t0I`jZ>`vo&3g z_0>AVWEe*?944}KlIe30W{Z$!J4TK2%G&5#{-6^WD~Hqn5e}B-mEW)BbkNYV<2|ai zV&p9<73wi9u+{u>L5~2a**SVv&8a<6Km#wa2?z{i+>DxrvrGzN8z>}J9*z|A4NsmHecM%+K86G1^-#sXQwu0n$_I@dwmhqjYr+r6JaK8J; z=BA5iG~{Y)hiHJk`QhO!&U3rV(Iiq3l$tPn%CHL_hq2EOg-dC+{~nZFU$nTiB8LRp zN7okx9FSpE=Ni%629a;c8dxXtLOgQnjP3Us+x(ddcqRWmlq|T-V2Lk>kS`~|x%qj` zNWSZi#q|(vb@7G&jh=syHzbhct1ZgSwd}R$T8J&_%rNUXWLS1wiQ7Z7Fzuf=GDp455HUcd$E#mp(`cNV*jXYa~BC^lT0!Ft>^w{)6A$7%9>k z{<4JgPf#K*CnAn^&aWkYkt>}&Fx~n z=>Cb|$(e8N9(C?nEaS>WhWyW8UvfB9mGt}ZDa|-Oz-KjNf963d-kV7(;-B8-MuhA4 zLL!N4eb4<3(={dBa(#xX?9)&m7qgeN)}a+QO+tM&$mlR>Rk6$GIeYE7hjCH_ZU6B;RLHiUcbXuf4i(BEHqDeC%z@0~@gw1kRY20;J za%NiiHYxlWih2QOx)!eC!KI9X_c>uohzw|$!g-e%$9<<~(V5vDDxLV;04cg$LSJ@Z zU-?~Ax4@|^hEL|#CP#Fr=#KHtuQID06`n0MP666Y*{WSiaXO3I9ygj0YO_VcV1XSl*N0A8ilxz#vt~A1{k5%F*}C`>gRlw=X^Fx$dLDbABMmXGBDKW=J>_YPDWPW!cWCQR>#-S zQ$|tci+kV~O>;NJK*&?DlrRV|_tjQcFbPyJa4Kd|{57TF;-+=AS-vQx?%LGMudJT; zjmfZ*ZE9Ah&!D!(D5YIksN5u9x+}P_P{jU^WmZv>lg|u)DH%1F>F~{)B91Oi#Ly#1&Fre0cXPt-06DPGtU!g zs7qmQC#JRF+y4Dc&G=<2N4xKNs`A9jaxD6H>y(h;%RKLcFh%k=NpDVwKi6BTwBiOj z#a(zQT+%IpUSJs8$O0*f5SlY32$}xFAX23nANOFo9NGfn=!UJ{-O=c?=G<2s=A7O- zJATM+Uf#WLAE9$?0>z6&zA_|4%G3AY~g1O0v44H_@ zG!4*<{{Z&J6y2oa%5gOa%QvctyVqwq!GttwPCpWJVe1J{%4_WM!(0~KggVE3&4X%B zeQDc(0VaUm&=ugbhYfX7067p642|a{GaBZP5Uecm03S#?c#d&oN^#jLWC~urxSE91 z!+7lLJwZz_1@~URKKQdI0GsW{9+Ub8=eFtnCd=81fWp@%w>s2i14dRD5G5^K*_grm z7&>5Jo}hAlFdroPXGo~$-1eDl>OXhU#@@?WugB|mh#{#6OQ%VW*g0;1r0!d1%?DKA zKQ)0{2m$L~UeT!W&8H`beq$3~qcNS92`z+5mwa zEh1Sc4_(&R}Ahn0q!nEnnL zFat;*EAZii+A-~*4MvfYj~b6{N)#7LTLK2^-ePorP?tF|S9}p_JC`#!`Dk*s5RGSp z!^BRjv%WdMwmrYPt+NhKD~`7_vUi_$Ju-`}i*NM0gY>EjB~DHQb_Fh79-Q0hFE36m zzCxV(GVU07-WRH3#~L+cU*;-hM2dCd8PhB|pR$xhsWj1<(%RB!&IA5*)om#qyOG|^8pFsm#FTF9%E=i@ zK&6VDA`555nXK=j1&@>6|H-NWlN?+8Ge@$WQdm#|rbZGKvIcJGr~>M){3nZCOB_D# z?8$rL@1h^b_3~WYKkn>XEZ40wK45V5-G!^e+z{y={AHgiF*T9vXi9V0*}Lolp^`is z@-G_RemI)v+%NN*Q$6^MI9Or^P?iYCBKAQWBTXg_N=bPzWg&oS+TYZ-51E87Rhh*f zc7OJOsxcN%I%Ras{hOc`ziCq*aLh&$9S;UM^o>R};)NySAsuX_bkESR#2my%r`*cn z6;>*I_@jw;Niu~#d*+nk5-&~cS zcN1>9>g(A+4`V*Y^@n>c4%OHcG<|U8Nl8Zzc`*^m!KmVuDOly!VaG=W#l#$92qk3^ zj3Ozj6>#OfXqkSWk)x~lKk|^OL9w{C6XWxcvaIA_=_uYs;g^TAz6a>aREi>(1XM15 zSdK*U4$y0Od5F7Q2yOeXUiO1`RjK9CH1z2herADg50Z9Cf|(muzidNQG)NoA?ofT ze8)y3##c1s)I{SgC4WT{p)8-y`ko|N%ShL(Eg2m>bTUU;gxu(UI_y#6@FZ6X>etRB zvBz+$Tjte6n-4`W-ud7|K`;dxP_PJAxJ3nOk%M(UPQ88j`7s^uWVjd(Qba(hmO+|S z?45Vr&EUIPm)1CE&H$H)*&b3G~%WtMF> zaIZ4t+u$dq6n;x4z&EhrvtqC1W36srVH(Rd)!}bra#nFX&+|Q5H8@#aJ}oe?w{dh* zEGes9E@hunMCQpZTdrjaZJ(rZ99QQ#urnk-epeiS=mNXNoJAF$}*!sYv(B{rQ9HtL4%D`uSI7_g>rF z8=sqycrp{#B|*Ot9mwQr2$(E(yz%oAow*tLu{|GSid_POc{)9udih=z7UW@J2LFL_ zP1idNNZiDMe)5K8$0eeODhf}s;6z5dSztL@TAk_nQD@)lc)yO$LFfUpU+BS~>iA)) zI-DnoLO>C4zVx$Rx0j=^f2?>@V+$-If(RUsf2k>F)m?d~fCn%-A+g9CI8zbz;DoB5 z3%4%=eZ6}Z5R~aU01W1v0^i2J_2C5K0~`#7Xy9<5XyVJ~u$n&~6gUkqaEs}_K>-ae z3O}0bW`)@|xN1aAH}We^at!ES*`fQC2wF2ugd_3m1>V&o!I4}*&k^*-6!b>qMV2*d z!?_|Hq`k#byr)_OL=3Yj3>4Zy`v9u&keudPJ{ZizWZH;7*wg>C(intjPT)-TWV0RZ zv1@o~=NwgQmnQ7^(^lIPjbF*yj;o7~bQGvj0ZOF4y6#*p(Q#Iaz0j{_32_>bdY4yO z9d5k$!k9O(IJ}u45+todaPh+OR)khWunirN^N@nA1S%&5opYVK&17fZ-bgUrxPo+n ziB9`kK75=lGjS|^5c$cmY`^K>WBgFVN8_If%qE3NK9rh%pK3)}X9`mYrx@HOPp;W> zkiYM08!>Q(zLg5>`#80UkktT zBA{D0AVq=cYmrvhCE)nZX66k^?W)Rjdpi1K&n~+f5bE-vyq({heDRv^`s8>=Vl61| z4ZS8-fSo5HV=YrGl`JPsqkz9PRq`lJY&(?bO9OL(NUt+}I)-F9)nWTZ9%sx%v=d(ZemHyj`}l3mw9gU8F?!CpG$?RWW}yjXYJf zPifpPqDpj<@0KR52i4!Nh-ZTP2haFN{6vC*oEER#?$^Q#KGHB~E0izJlnXWhj8R+O z73$-u@0AaIR5v+jAq3pL(>o|%-pnCEE)bXnj#^Ja;&TeLW|f4U z`iG;VzcR7Soi#oqg@NG7c{D%vf}gyioJTnxl1_j2vZ4?D>co_wAD#mrZrfBUY^+%b zCyt3GcHI_(gI+Eoi`J4}lx@51cdKm=vEQ7;)_p>^MP*6Ek_0cUEmQgFpfbk?a)$YK$Fk%0($s9Q&v5*l(qIlx>_F#2`0F9ralx=`=cVFr&{8 zsLjctFSkR-MbSKeMnt)rbA0#FBtnz$apWrCkQos9VTxitF|-F)UF)YENY@7U(y88t z2QPvQFs5I=nBt_@5S_*<*!k%JIqZ*VtNA<)SI2 zUhofWS17xoK9*17`=J8}w=*n``tU2JV+S zAC`RYTfd$<*{#pnu0Z0TZO(DJOzhs@EIf0fVhE%xX&d>obzQxESk$p(bw+1KZ#>8f zc!R(o8=$)in1XV6x^ukGuYL!?0-|EU6p5H(n~;GinFyFMbzNz40Y1y*UuCFyl+IBA ztt3y~>#Pim!BdMt2SUJKG3b2`wGVO;6P8WTJ*B-oaP~=lgn(riEow8`Md!O*$|gV* zQtFUJ*_GZj3=o$5%hJmA!#^pH41kuyqRC``&Y!{douS&p-eRy|DB`R(#WET%Q{$u_ ziCFv%gTOY(&|ReJ7{9_I3C18;_Ngq@&N?B^BC~Rll{I3Q9R86AFdKaXa{-rEZ**uL z^{aGcgOx6a)@<>!btxTbkfCRx^r5$IK9KdVlhVR_C_R`&^&MZt&NAn;Nb5cRQvkoB zyOD+PH;zKBY*mKaikAJGjP9|Hvdo(rXDzRFCm*+>levJqsopXtXA45@O73?SwqY>= zQOa;KM8cp11(--uJ$STdfxN#W8}WXfdW zA@j}3sx%HeP5R!lB0{5}2{8f8YyTJ;7LCDRIo1G%ID}8Y>O+sn1Baa50kmW9>I3l) zxEH+EyPQXEZlCFvvO;wIpn?b(Rp?^dt<*UgY2(FBHBxqkEy8;~^Cwao55E>UPoLxH z9eU7s(ESU@*yNX`5F5_#&VgAoMip3(EDFH%_zh?Lwe!MTVcgiMqJEQ2n~z%=*37+O zj7LD=D4Xa@WRdF>s)DzZhEa(_;69m&Z;2^Gf)1v93vqd znvmmjMGD|@3ht>vfGH;vi-Y2>^;Ix8NYe0D`{s+kPc9u!R6Kxsis^_-{0H(2i&xR? zV7mvd64oMmsTroi^$-enNDem?+U8Y92!>VGdzGf>|h6@)# z>eWtwoC%d%2%|{RBv|wT{6+*69#bZH5=G{KBu%3ugh6(ETkWVyve!EyXnQkRzGFSty6R>(MEydm4-QC@#xVsm3 zcPmibp}0eFfAjr#$FWPTLo0v}j zMQOmKyp=)2J4@1biYaF;hqrW-y%dAwF^RLZUf-1?3pARel*C^;Jg;C;uVTWvm@Z8( z`>YsMv0hNsL`&ebVDq#ZOCc(e(5Gr_ea9+PSB~uZAqb8TLOAMvCjIrWw3=pA!**PO zd}5i@-UsegL^*zqeRC}$k2MT0E?dE>>r?)>&Rg5v`d%Djb@))#;NrbG^Dh4V1((C= zE63Ct7bMW7<+)ASn^^6XyLvb1q^0M3J;#|CouOflgOCs{Y8vulg7GR2?#x7ls0Gl% z@yMuQ!r{ZK!t-u_$%9x~Gt?+f-cH8EVZAyYTwKo2&o)!Mw z4g=b5S{QA-eSEbS!9HA_jj)iN02y{N4qiLo5X6T9aFzGsmkfHmj{WF1dsj;Rfc)`@ z59+0~V;-vzhL;z2%@kLy!A(6G+V`~Ji0{;8s^z53K#HVeI@Kz;QJU^H5$rxBz2WIb zcizIt^O~;S6j0t8o;$wItHx z0aX2B7ISjaY+c#;p3!ox&qt4}H9McbjlC~d$fSdR=Sl6qif7Dm7>r7A)%>%pp;poR zQPr6(FEGkTdXO4d{8O$dRW>qGJFy@P2IRC?6N7+CR@u!hMn@nJg^?yZU`nuXyc%UzAGyDYj7L%E^izds3W zWbByS&(AuyY8W#*X!FTrIWof6;V7IQ|1Q$O$vhABO^zK zw`F}zN-||RE!Y(-|C*Iq*)H(I-b&%m`DQR-ml8f;N3y+IQ1%(Ikclb0yD{FygT-ds zVm!qxTuqNm*Du}i4(tK<)ruoKiD;B+TAGSHL`<0nosNQ>GU5Fg%TJexeseIdCOg&R z94tABD+m*SDqeUn0ZP^a`$Pvm@92QGks4X89}9maV7J!ox7MLvi;|*+s)}vs!dE zCFn>w_=dgDBbLJ>=d_j5QI9D&G*t-mQsm+-{sqJSCJ*1e-zFERgd{@2gSklON4@{? zov|zslO?qukLsn$s@y~l)9{cZNVG&fv1!O z2n{%n7Yu(3+UO$5gGk45&+FMh`Hmto!#L^#7r5yVJKg0X#qCJv(U{Bc8)1Ao@?9ID zK@Z7E8!qgNJWU*>?AfH3U5=Qfv3M9A_yCb@#03z_$)D=d&WiGmiaoAV)zUBShvKUH z;%fSkYD8jdQ0`ylLSw6tZeB59kZYkbP(B7c{KJ6WLCa_-?6)hK>*B0YJTZ2Bx^OXi z+5mb@|44Qj4AOY|bnK_-G@dKf{=tg)2#$b(&wd=Ouh*v^kNa1w^D!+EBRNJNt9S;* z`uoOmF#I~b@$g6V0-^&Zv`K{v+Rf2S@;Hr+dsDVB-~29an`?72UUM?mb9heAc<_LF zFG~Y}IaPIEz2cwq!c+T!cQ&KmT0-qP?M%yyDG(W5t^1&7*qoxt(@8&Zaa+Mxx+|Qr zzxr?T&e9`6SjmEgJ#8L&yy^r=7hUiRXMza~u$>NpB>{o&uU;{qrM2?1RJ=jz?B+ec z`Yxrk_UwrV@bpw=->95+)@tHfH!?1pYjw6YxXCOf+HA-)|JG?Qe0ZAbvGDakPehA> zlN=-;%By7(LeYAKt%VZ9A(xl^mkORXCeTWWN#YQI16{-Q8ZXjAcvGFv(>K~WDy_`S z9=?FR!pvOvM_1JC@>!t3=CV5ds|@12$-Y}_xf!6w4Uu0 zJR+-02>=2!0w6hWqyO`zh(GBO?Bly)dU`$nR=eNUjq{!0I?UA-iT~v(>`av9Wy7zl z7Qt;LzrUhvmmizck2lEx|LxR=pyLhAd)^5+Cxw|l6TG$zd;nfYApJFL=OQ$@qO)i_ zSzzp-E%d5l(Mzy?Iaaf3C3KIh{d|T4yuWu|K9xfFORZWbetj|Q4Ppdw|7#}lSPR07 z|70g)kiL86=qiZ=`&kAd6CA=xgNBLn4E2{;iBR`SE{0GxV$?ZE&~MfWHL}rRd`H=sWFuF_fiI8eFVta*ZcSi zv`%K=Ybbw-8qcl{h1TGZkHr~R6Ai)0aj|B-(>6U_(Y=am%2{Q}z_0{2lj0(j!4pK&7v6 zG)Yop9qyY3!OrQv$4s5MGg1r^h#vy1XVTNdmfqlIJyG?K^@{RMHO6xF2XvR#vo0rPAQ9=83@9I=i`@C zLJ~qvnDqhtu_4A?^q&SFn|imx%#B1i9L!yaG>J)BUBJ*fD;!CioE3ql1UW|sDo=RV zR@A3}P7p$r&VzNrkhH*uU$yoSZ)&<5tHIrLf3I%3tlD}${w;G@yWZ*J_U9PtCvo&q zT}NNIGPB0QPEN(y!`)lA+43{E+uJVAlH>9M@~psT1LrQ;-t!>;{mG;L(DHfJ^@Q=^ z{;#o#oqOM`U5ZU#@_rYAexEN8JjBO5IQz?$%TJ-IxFd!}e|obh8Y4&y^9!BIj|}PC z(?Z8%5hTZ>O07LKyjqxCtdSjxPP^mOq}3>6}qt+Z@1k+T6=y9TPhetFM1d{ZiFB7a^@6%T1~JlRv3qT zvq@Q4HdkJ#9BL{^u1|jSmP@9}u?^$|HC&&lC(>t7DyB!8_SF4)d%JIr%UE6fx-3v_ zrKh*n)LmocvvGD8<0N30^CFHI4T}2O1PQau^OCOfL!f5|TgEC|koxOr94R_2Yy((o zAW7={VLzYiKS}`|PUov=>7NyyEDjSj(BGD(ZaU4|73IcozR6qba1={VUwwu)l~Ch$sK=_owI~VanjWo7)jlEhCTt0itu^&8mcdqqf}i*vm2bD;NCLf6&)+`J@Nw z57up%0(RVJNC2v#P(t$>g~h>KOctEDVp=pV&k%5}PlR>^4}+|}6A4unh)FRa6j|Z$ zEHD)Kss8DZmFGDGS?w_ea*P9Vy`oZTK`qge$?=rQ;iSev2xFV4^wrhzNnZLm{FgID z!~7R|N69GdNQ%^g-s0N~-!0MKw^(_(@t`ZQXO}CN;pr^W=5)jaF-5Bm#J zTigUTFqqIxUq z(lOx?_`!drd~mlpNZ4gv`vU9XPo=QrrJ;t)R?A@MZ@VqtIDtq}`-KvjfkHTT|7_H&wa?80@{*G1$>!NAn8l)o}@U2c%sm_ zWHc5WU4ozaj~p&}9uMYW7s^2gxMLoSGXav5XX;5GjLTP)OTO=Ee4@W{$(N_U$!3jk ze@Ucf`o{gGxb<0OCWhx_syN;V8HzY)m`T{RV-EDab$vJIdn4HiYATG!dCvsld-vtG zV~`-{N$7Bi5|rF@A9Ne};ojcz)#Gu}VYA)l!~2#R5|z}nOn73_0QBAr zyQ4V_SPYGW|0&chMnQB?cXq~*K=Y&zz*lb$`6(VYY7hYQ#2JdrU+04b*L7wBRkZX% zVt#zt7pcMz6Z%j^BO&2QpHwKC6_T=)imI%~?Q{&iP8Mju-Vvmmn(uw%)tSwtyszg& zb8n)Y68Tba8Rd=;xww-GF8=%D_8ZA&6*R4=5KnVDm^t+2bO`Qfz&2^o1`GTli0sNO zTKG3+eBm_zeX>!J{;TctRa4q5sN#*aZ-tb_gS+1W{jxLME&G#@8T<@BgfjwawtoA) z15@p^#k8DEKTQL(qGxynfnjmz-dvDOx^VFxfVh9Hi~{i>g5L7+)>yZIHKSXIKr3Fu0OPsNgu6nFCPc zuOCdt07JWUabs^$}o$N8?DXt&iZB>9i77wWd2XT87s)BTmKf4qjSUS z>e_O7bhgUU;iL6qqIu{%iB1FJH%BH~w38@^rGtI9OoIy0;Li_d~mV z+kopfp|y}NZ8s`gvHb@TV~m@qB4uQf zBT6&M#pz#@P8`sy1-)klzPW#(0FNaQok;o#Ezc1COfbDp0rf*uBB37CkZ50SoFTnJ zA$G7Lb}Z%6=)Wi@gkzP9>=7rQ*|gLAsKD__UA3nxzF_USu#|qoMg?wZKtOAvx>Jmj z2V?oGsp5*hoOfvFsQe9@@AY31IzW}3QrytDBA($eH1|*y#T!? zDlgy|x@zHx+s0xJx?nIvAhFINxvcg;{b@sqGL!s$GuoKVG z7$NdcNct&~I>R2>7KxJ0PjeRunXY4uyeTEw(gP?lt}Uug@}&X=DkO`es1;NrF%`St zh7`Ka;^jOC3pVV&p0jE`{Nx}y@_2?;VVTYq@rxc88k|FuLK4IH6h9IS0x2L4n zm-n-w&sUucF_^saXDl68sxXvlHS7<^(C^@ z^qW{Qn&Oi&cO1nJ%5b4wCbUst5Pi<@It$CO>g$)it1!=_U{^yy2SdSsFM$3(*}=W^ ztFasPkr4Ys@y;8FF_(ag_B1|E1zzX6Mc;Grcw~FxAnnwwnI@^D*a4dd2w)H54fr(& z9s1zaoi#I9WQCR7;$E`i?g)|e<*>}i5pUUWW*>pagc!4Chj$nExAs=g>0X72-rIG{ z#6eTfjC$Qng-v`ZE_j@3SgxoU93Svw1eONf0Qx#y=yg;-ptM^?NEp7XuY7(ROAkDo zqP6}8R=uInNEeq=)|nFbjAm%4)L2-JY5gj@-aj z4!+98Z31%pyDNXf66h-^nmrOHpANINO(wmNP(70N3eujj`YohPyx!H9x>y-5GeLv; zT=0Gv!T|x0!_2$v&&L#dAb;KTkR@Ra|!Ap`dA*^S+nyjTG; z)c84_+&NV%o3e)F1sp7PEE7%~4b3QqW^d6<2}Wjs5AXd$7&!U|j&ssj%SV+-Y@r|e*)SY|T0kbgxZ0zn>8WI^|G>tpO49T$mr_25H_3-PPrh?jyj57o)8F5&A5Jny; zgg+7lMNBYS0wfhyaCCHXd|<;b^)Fw()Z9$bkVLI zlfOKM1wLEwGK{-6bc*J#R7l&X7JnrWKUeiIi>?2pwty1)r)-Uc-W@m!Qrr4wy!EiX z*0Sx@ZKhgTHTF_nJNC|ER;%Vq}?su8?4KR?&;;f!IupjMxwh1O+T}m zaW(mX)lbmj54d#eL-k{dD`M%B8q_YSv^x940e`dN>gS`38Y~M2xhVsnr`&T=n^f$$ z@{%uqj=9QUGXrNokKM-aIu=Sc2nOV;4O(C*K`55VzhdzkC6HE)zHOi+GS`Hp5O!tkb(uimr!RV8e|Apf(A$mP3**#Kj#`?-;L?ZL|)vvLC z^s&XMacgqno(XGHJJHiep?^x;ffIKK>GqqR4u(&0D*UM;6Qt?~hN&NT+oMD$aVVLK zeM3p>$iNzaj?^rmfF4)|{ECPsAj>DC1h1XX@{SlNESh;t2iT5N1+g~Xl6fED?|u`k z&sd(#R4_B2n;}=l=W~z;Re~M2UbfUP1ebAL4@LWXxA1Yd{t|nOKWBQ|3L{ZrkL+PU z@rmHTJz*yEb+U($eJ2lBg8RES%J4;Hw2zI|A)uCHF!oGEmZT)+9Fce{%#jGek#wjv z)_@Nm$aybAbhn>i$z_3IqM{YDf^0}-Vz$NI)L=pA)hJL+5phw6oC>j}@a zps~Zf)=a>!oX-qW8pGZbH&%%Vb%%U;$kF-oOX4yA-=o3|y8)a4>rJ85S5*Y0A| z&SzY^94=4WhvtD(RU7xibCn*C<7p^P6#0DX_;rJ>Pr?Qj}ACJNJ@8H96w9=+@7x_78{QGn2uy`@RDYMWWU891Dy z{t~bAwlgy%`QVZG!Z+)Xqu(Qx)++f+FWf#0_TxNnj_ZgLh6nxcD*>-BrOB4pPgVtG zq@N?h`^>Yds`3Wx1+4VHB6swpZyFTe23g*Nsd$Fn?4&PiBEYVro@hwv;;47f$kpFa zs!^a$5DCDg5rn4^1kqDa>5#KEy`A3_p6>#3Q=2CEfI34V)am27BUET1<3ksw{1lw? zq_!%VyvP=#iH;p#hA7Nb8%gXP$N!u!X#a5uz5Zmiy}yMiXj8!c4O+TRRzPl$#^TA@ ziGCwdx}|8gs@z$IRcRnbX&;;8XXA<^FJX1VX;p)jqrsj3bMAT$%&B$W`bEj>MG1tK zk*|!At&NYIhK_@nl9O0l&!C7)^#;`YgvtjF4m{$tU_}X?KvZmzrBC&MIXoO%)%!B zS%QO$*M|XYkpPwTeV^@SKYU=p?;AS%J|{K4=eM`0`j!L_w_JQ2^7?IERHXMj<)eTXu1iyyzk@fCRw&3@H@JS=Le>)6q(#n{e>;S7I06zPF3C z5G-+cGJ^*2ARSYxpDLO~zDoqOZ)7d>7M@^G?Bzi|8UScf&@zGCqt4Kpv&1UTA+BQr zV_A^>2X-OIhly4%Z436OLV~ziAXImrpjsN$E$OPZY-Mg*1_DfMIY~s~e17&wW|%nW(sLdcS(o1>(VDiKJqGP?m|KSGwyjdcTg%R(1tV zk#S}T)8qcOee~H0+&6|`(IDtOPr+~0 zn9G=zh@B86-C2*YNssVugmJNJ#bYg!UKM8^2U97D)M$jC1Q)XxlCZDD6L`#H0qDp+ zv6h1hmW32LbNx9#Q`1m9ck%5n-PBJ{CF$s-x%!YlJQuWnj#_!^QV^0!dy`4)eG}}< z`jc43c5{rI`_o&I(NbT`@r?q%;cr=hHjfA%c036-Sphi!$jcwgDob0-d*cKw#(&ck zpm}@Tn#Wa(u=Qae(k2wF|9WCex_?0b8l$pISSiBakHUc3(T?PGC%XF7V$|~_x;kfp*}z)R(3;87 z&@cXmdDRDNS0FN=8zo2%9JMVc-s_kf>Hm8h1d|1#qPn;ddw}M1W+5sgg}q}V!iD-& z%CL)j&|&LyL?Q^^#(&56Wx7ZjHVtAA-r`5xuVA;}CtZH)ZTQre_Ji~rWoiRY)GwWA z4jFZi5MH3;u4Gsie#nYmDV4P*IQ`)Ma&%UDJhK9KM1;*FS5RCtr6W3w7{fHZR4W{r#twL;V!mfn58t16)<#wsUGE08O5t$WxJv)H{F}D1` zRb>&su55;hslacwV2RGP9G82a*}Lwtwa*bjJ_i0EUp!#3pqJsp#n*_mkSN!X*y@^d z>-(djoT>#o9S*)IJVp{a0)nE9$jK)KO$=##T&zsYotAPMiz}Vss}A3wk2IGDoB3YS zzz3#Scal9aL%{S?CI5CbU#Ldt@`#MR%5T3)_ppVa>?C>^H20w4$1O>O(#F3(!2OLp!;b8YSUV`t4|V#QORFERmSi!w z;oE;9`ouuXr(0p5Ie?6YVoxj>DlR$rS!O06Jpo+KavTY2`F@zc^l9U98ub!g#9eoSeXI!R~#)Z{`0f*?|NIAC|#7HfdY^s`p^0 zz~Qmcqq1V3d->oC1~3x#?uQItJv?_PfQ@`UEWQ^NB=p(-<6|GtS83GR`x^HGp6H@# ze81{}25>wYIN{@KEramEAt=e`C6k^4;)gCD4qO@#stITn(WpwphAH|Ic&Zs#)VnZd z5kah(hW{4#_`AfpFY|t#cg&aEytYTZwj*|~g6n2I193e=MvCJtE8}wn2PAwR?a|jB zcXf4uAdo5q#UeoKr{A=|b~#dS4{^4QimP0VU^t((R5>%c?0jEBNsMp#rI6NGaJU7Q#yFfWl@GwBXsB$6KRHqC$%@j{Q=UgFzPZ8y9f3bn$Xt z_0i<03i|d2N_x*5Yuw^1{$#p~-r!KH;8sTFCSm(KwN1RTx(PWUut-lnJ#J)1fruay z+^rr<3P2`Eic-!(gf#j)pVUIJy!X5Nkxa*#^nQDzqj}L+yKZ|5eTP0)!=cjEAX?i( z#M}Op_~NnyfACZsjrhZx3W(z-yX zSz(6=VPlS%)qFYauRr{bracZf+17O#yV@eXymbDa#~IoA^>@F)zg(2A6IObpZXV`7 z$_x*i4c4l`S0?R-n0q4pOpV6AsiW5|i;PO~0))l~WP~w)nZf(}r&0GdFhm^P)&3j4 zH;z6ViaWa@T|2eg!rkWbho}T%gIi-kFo1_Yrn-8KUEM_z*P$C16Qt1L^$a)B3^asu zfVH4FfglOLhmiOF#Os}(#YX4Bxf2bF+_J>`!2e$<(qZm*-_D8La(%jlvJRFYa`l?C_?xJm;HK z+H*)ONy(41i=^*dY^3@XEUWO7Jr6Z=4Js=;&1?A%VT3c#uV~ur(84q40XuPOwiS%W za{A*UkX%s4^ejTM;^rECs`Mg1L}dz@_fYld0&O2+iQ}AdDTK@{F4&w8%Oz*p9KQDZ z;8qvPg0WS&657&F2NW-mImpk*4xr(R=6!2rpOkoz8U&k%t zaOX%q8@@_UzB*P0JfW(fhUGXb{e7^&{NHbjdH=Dk zYT)rSNw~Tx`nz~aKA8GbCy7`>F|Y?qp+6tfVngN^ev)-A3W!ytgsxj{6%I?KM(M`p z{#Wv`o%?Fn6U+ZV;o(ADEI^VQK#gcGB3$$}q~b6MSqU5Wek9cJ@@Qb&K%gy95@^to}fIw+6IOeqeu{+hrftZ)aB6+yT_hE zJ~oKaIVe8j_vwrK&<}$Ly`OU`i5vN23@O*urs5$(>Kcj$pRJC*l%Id8IQe?mEXDe{ z698~FL!{^o(xE8AYLk=&)wb@JewI9(oTM%-)q*W!wKndhs?QrT?(dpxa+jKYG|bkP zm)pzhY@Cv8WUSUo?xD4Ek99u2b&ds#Il#S>MM)yZdyRYbdK<7R9>_q56^*jF%8H3e zGRH++3A0)jAx-Qlcdo+={k?&1{?2cc*`e9&%wcm@v9+wwu%g;j++-YwHG3a8$*MuQ4vjVSrt}NLoH83LH!iHKmkQ5*B0Ygka1f)1+3zM@W&DepvUH& zD8k%d4LC_`8G5GnG!;;>DL58CiawLS$YmYmZMYjj&cGyCa43HLrQN1i1L6lzA^rJz zII1A20pLaU8(GxQr#XSB9iiA`{Tho@jfOePm2|ak5xv!3$-~z~EJC~~F=}@nkUNqX zA7sKP+#VZ5a5O+Zr#JdfCf1ja<({P(VZc{BfBjE}mu20-y5UaokkngOUFy$Yr1K#( z1z-3ko^9dp{v<_&bbH4Ey4Or0;`c7~2-&;0 z>5 zp_g*iL2qp97|uZcyWo%8@edJ2E^N3$;)%z;kUqT~A{D>v9{> zA}pec*-!jh?__T$>>D{!P!YspaO|zYPD0*p<@SP0{wJ$IegKVmGpxRL7?rVb!$abi zhr>7cO!Ui<*l$t2CC0&_Av1Ll-x-2q@yRgq!fWxaXmX8^-r+f4c?_@IMhSb!&vS_H zva<4M6hoGce|2P3-HgUdPvNlEE8$U-$fQzD(p8?6pR0pWO=WpAYik9r@)uziVtWQS zBzD8kK|)4KMn=lWN!Z26S4z~v*UQA#4O|{_Y8tL)<;8`A)*VZ4YrgbAvawt8p)0P2 z^`H4yhMKXeibi$%O2T$6Q>L2pG_|b-Ep2YC>azWj{b2>!Dtkr_G3fzG3eg4%ibVV| zy8WmOYdcrY_pb7tpptg%I~SjYsoeQSZ_SNojqhuzE{uAMP1a?0tLj_z<#jGHN^_y6 zYr`Hoxq`V5vP-*Zv_uryM6~(P^uFM!DTFb5C(e(_@bP2@?YEQu>gl!athqW5*R_M1 zgQ;xf%=VM7F7x2)@aDWK7||N?8=mJbB3sN#5B3wy@nt)?a7x2(px(Qd@H+XZ6-$!l zdy8k|fbB5w-n8~gSl;Or%n&);$HFs(uW(y|;J*z7@hB<<$^^2X~hiaPJXR zLfs$VeK6I*U+D(oYt0$uoA*C!HkD&TWC+kHrlXO^3>)_{$D@6L>;ml|sKcv^Bk0og zk8Ay%5MUQ<(s|j_H5h>xK83d(kP_YnR|_5T7WGo@-^E-h2%c1RrwAoq{x)ysYDaBl z6I_pY#J7iu}9&989+3Q0k#J2DeF9nPHA+*9ntHsHGHNy6E*oP#PfCHf@ zIy7F6Bvd!4o8O_K(WqKtVPc|g;rP8sRbrM9zTg|ZU)Rvp_kjCg1s}yizWhW|HG0&_ zTUeE0egtBDAjLOTvq!XgD}VN4-qQ6%x#P~V_MX7SD<+hm`i3OQBN9~a@>0+7(tr(q zu6=(dh90V%3_;}jE9>{Izz=CIcS>lGO~CN*+gO zVE(NHSe*4Xnu`&9mXt)5E;jgMPLA&!9Ud_j-4AET9C3|D4U0K8gyx=Rj~{`D64j?E)Y(+!xtfXYla_)}2fC5hD^Ukzc85Yum*fKo0A_a3T5;fRA&CZB;~??u zb9>vnp&hfJ@U{hrF9d=@<&4&8>@Vyj?+b4$2^DoKOHFr3WO^0VmyLP821Q~wgj=Sx zIviu#*=_tgpUOw@@%jZqc@>;r{IK69g-Ho}?}N4d-D!7O>co>pHpR?+?8s%%pJu-{vf(-d zdEN@S!Xy#|``h<@L{*B_3@7k@0`6-@reyrDPgt`%(w^bbI8{Z^Ru;mZmcMY$cn7W$ z2c&r4HzBiY+Z%G(9rz6QXjgqAw*|!QbEvuGc8E*uleR(wu0HCv#|lTs3PJa~acgmt zjzmI2TSeL$l|EmX#wEOBwSW z?`0jUsjdxio)1QUH(U(d7V}`$3MEtxz*D#EBSb=-C=wmSllQP^=H1hyARqj-T&dho z29f#EUG#(|*GPpjd|IDU-$&wHEkVR=>8i7I*b7D(YJWtNhte1w-r7 zqWt`d;`)N-@}~BpL1m*$@=^Py z<^c3$f@Y-ntJ@03GXmSd!Dir_wg=cJv+O`@r7Ci!^;EbtypKNGxT;{l)s7 zy6Gu1xun(u8GuhD=$5JA%~bZGEB~u0z0YWHY;L+@tQx^q*-P~sIz&hi1}Iqte7^wk zq6S0y!E)%#^2W^*7mIJy5SeH*gq`d6g--X!fI#s&>^ zB)99FfDfOJ?>uoxUX#Q8rn}wN8v>PIbu_ZfeddwarIqlR~omFNN>|vSQq*TYu#0|4h=jC00 z;&PPC3T}>xj^|GY3yb;Uq0SBDelx}0KZQLQL~M7H4M&$f?4@5F}?D$m}5`^g7XE0QmJx zS(QU*yB&J^h)(Yt%$`mwM{WvtJ%$0%!1d*?8+NqPgyL}X@cR3tpZ7#ngboO^1A>Sb z?RU21gKe-E>G%YYhjSzuzDrvM7s%54#F2)EVB~*lTz1Nve9DV;>%!&CZs{JUKcN>q z%!LGtIe;*gXEcu#ogOe2A%-8(7dk4BoM}MEq;Wg@?|cb1FTudw4iD~>H%s3UrL4h&o@G=3>a2Sg21+L=%WMO4 zBrjp(w-qU>-`k7Unpd|^i~U5@$`Aa%Cd*{D%n=f@Q8Dpgp`LSeFabqrLCU;7BYt&^ z&_w!9J*~2H67`CY=Vo@7)Br5SnZ)ex+PWk?qw_6&njgVl>w++?AD@JiBm&REAV=bU z*OU58x^MwJlEEk@7k*0GBT?fBa&b3oztH!Md-_NHy%Y6N#so8?>(L-@(c{XG!ky8% zYeXlW{!#6RV2@W?ad9pxT>1v~bbPUPw^^1Xb@j%kg@v#Pa9K`hddwF%C`L_e?o4YQ z#A2fP!=2y1EboJ)IgP?927RIrgd-=zLuzEx&FeH+Kr)4*bOpBEd0#b|!LQleK3QOW zhe{&NNF*xXNxb8W6c%DBQJ93N=T5PZi(oT0Il%h4R$=2bvDO}?wTif=$%h2g3}rVL z#5Vtx(-Qw-CY4!T)z;Oxsj9vipQKc*x@UsmY!R_Kk7pyDoFk(~qi9T2!IwZGLngB; z^;f-~D~DdnaNI+I-odd(QQbOO^{|WpF}j(;Nus=|gRtd^~N|*r^6rm8FmT z!uwhqj!RBe#@aFsoy99D@!jX~P^Jok?uwcaim-j^ZLL4V02h(j7GDB5y^ZwM>F)Mjvq2;d!g@$N)v2IrLR#{5Qmex-?# z1SVJ*fh06{aIwn7TOru8;P5^!wQK2CN)?e{b`T8&LaJ;Nl)j2oenyeJigsFf5Uf5KT*^U0wB7Mf>#zJRdQFc) zrY{Bt6A6urh5d_0uLrxGCA)k=5HxKrrS1!6ZTqS2;w`~Lh3QnT3bRGD(~J+wpmN8H z381wJhb()nnk|4%=mF%fftr2?Ccn|DA%bOe^fMsrV>9Kdn<=1GW?tTAR!C*)QZe~X z)&k}GIS6PXNd1F1_BdFYBI%o-k@1&HA% zX(q-bIc$(GKplvR5CG8!&Xy7pl7N$HNHh;GD(hV~hH7G^e}AJG$hVzKhdxgA#PnI{ z33j@U2)_9-ob5$_(9g#5_G1Kzudn;h=VdJ>?;M$i(3!bc%tQ#NvtFdHiod^&8^!;@ zD`KZt?-Q#m2xJ#B$7hoq7c0k?#Qr2HCQ%$929gF-ddh|Im6dU@p+nc%L@8PDSYRu+ z4Hwp#8Br^DL#!UTkOBWuBoLi~ND1n+{JqTbyxjb)?DDJx`+dkpJ8MP{8qox{w?od7ETp ziblhu#Pmhr=X(->#oToIp((%m$1Tzv4eilMvL)b}+FWZsUfpIicO$c>&oU5Fvu)1Kb`HHa&1F zaiaIxGusG9W7v84px19``*RAn*#8EOvA;l~M z^=0IW^qNxNtUig}8b=32EQmvw!b=tTe72;C+uv9bu|Gp~AVzE;?TaQ7k0Tk7B|@zu z6<v}K1UnlmD!eQ41_nw;V)5k%io9AWw`MqjitcPmT8t7~Us0>3@E*BN4oU~LtQ_2yw!c054+|6{ z`N(!P&_7QKy6f@Nw2T!(Lutz53BpuH_nR99H9ANtA^pJ$VP=y*;8M)=ZF zbl@~fC=&#eGw8<|_Wlzk^#@IH@E~Z}HNp*F`YH7i3X~bPx{TG?xvZ^Rm!ojVYAc-x$8+^uW;OuUytgfo8 zj`NuzhJ?N-48bBz*)rTeR4U&<@yGyz`fCb)!f$F*sy}<$Kk0+4RLoMeIKF#4FN!Gf zB0+XjZjYflADm=R2J-o4eU;Hy`HV1rqG=t4Gv#xA{PYplb>nY&!}sEwv3ynz57)@4 z2?zEdYNRo5cwn9Qx;%_%4Vi=QvsPl!p7?bNoTnIp>xCERewlJS$m{y^oQs4Z=8(4~ zcz?vzJfr3K;f_Cd`YHENn-5(C?rHC%qxLS!MJD&$QghL?dA|7CNrUS=2p|*v7DZvy z7Qy2&fp@0W~D99_9ZZMc9DA^>cs13awi{C;c$XbBD0Z8mHN!xi@%{tm3oSD zyxq0!>z#prE@->-{c3p&^ePVs-i3{@X;?lc@Vzd-(?stG{`J~T*Ig5I@-uxw{O`j! zHb8pC59R+{06}4xURWRn+8%g(hz4bs&zqIJTwx@@{>{yUI?9Cx{21d!c`qH{X9^{+ z{J0_GOEXT5{0(hn5sG(C)#SDeE*XQQDZdW=iMQzV2Ad-G6spj zeewNz^3zbCcI>cvO%$_9!JJKR5%$aAvSV;5(~||DLc5Uun-Dy})|UN}W(sHoXzg5; zo#`W{Ey5gMs(_BWEd=xIiox4aXYD+Hyu?A2?--K>d%NmAY~!(v(@#~OPPM}x zy~C~y!?q1!FBNe=6mh{my10vVOtog-O|hOv#1Eck2j!;wa~4Fr5V`nbm@tUk`F{rG zv1!B-@TiT%#*Y&$O^X8X69&Tn%zkQ`w}+(a2PDZ9zrm*}_3zKarTj>i#HLadj!SGn zLlDqR4_>6qcM*x!4WBJBT(Dp{#vszdkE@W2@U{Y-Pq-!Jbv0fm#IHgAkVO#$b>SXu z5+1FCpNK$j7w1d^)2I{KvJ3OF5ACD}p7{x!IntGpznvVo!F?uMy%8=tbjEVV;B=8~ zKaHbCCYF+*RIFPOD+&syC8LOxR4`E%LuNA-Aa4%{w52GlyjEyCLZgDNj;B1SU`Vlh zJwcU#d9l;ugYkJFhw_1M>keLDB44tJd#M@GO7NS05&n_u2Koa6x}` zy^wqI>1p|Jf4 z$dD4UX{bGtp!F6Z;hs~1$F2)sh?wlq;aE{4*nC3K-BjJT6S2c$9hKbMQKknPJwk)6 z6*&ShfyomN~7%477wwQu7VwTmr5rMRNKmtD;jt$u+ z{}acgS6B=`2}uC9~FcS{4c zX@Y3tVC8a<0_A4yY$rTiY9w(bcEU^&11BB&LRiRS)6gWWndPR zjEeG*8q0`G#ZY+HC*d0Y4AdX*RP5Q0JHp#OP&}ue8ugqYwXc#qttkGLq;i7CO$wpD zmZ$6IvT*GD8euF=y(T86MX-_~%@U<@*+or0xLa^{_aMRD-QC^Y-GaNjyA#}96D*Jr z+#v*aXLjD*{kFF1Oz~r8imIn-`kvdT`*fxzn#M2WmER6|>izwVcG3+i@ALGlx<#FV zP8W^8M;5Uy1MTy;`-^oKZY+?|LNmuCr@Kx(lcD_k(Q+|M(b;v zkzj@uhgiwjM`6QFOaRpEv$fdfTa|_zkjx1R6di>Nn`s@nnNN#rij%u2KUSV0Qp%XE z=;+}xK?|8Qd7MGScU+q35TW5n=7obNdQ(P9|5#5*rX-y5egN6P7XJaT35(UrdKE5f zRg^Rt3M^~au{+csN{!t$5;!$kB<(2)Z>nK2rT$1*oH45y)=u?k9iZ3nPR~7O>YoqV+#i z-eA94tWZpzuso8m7M<=DTw>*49uydl_B1E@Itl)T9q0*tIV6}^VeHmkA1CdY z*`AWEr5$4o-;*2;Fzt#UB{!9}T1fuHCpRHsqoWFIRi21ZQ6_m>4UfXCHyRCDDs6|a z%4bD|E~uuMr1q_J*n}=53=ajjX0I%x#M>ZzQ0uUhn zN^p97I^+!tOw!$^{m6~Zt?87C9%CT78m@=HOwGr5$|W{OX* zjWWTEvqDDyM~!nE{^Q5m_4TP_QNRA%BL8?13QL#Y)nH{Ks#vFzFAb|=VlaZ9=O&BE zMIg(z_n*s#XID{krN4=UJxDkZ3cMxsU;dDD7YGBb{QVcfKcF_j@1`Z&6W#EX&^KLr zD|H)S7G5LF^RT@x!N@$`qM8K#T^8gmiD{8d!gS*`RG&jIxf|B{Y~%N{`n#au`1Z-& z1s?zWaR%SGpfC=xE;?hNTBd)#dh*S_Beq) z`b@HPPqNy|PvXZ4>xTx@kBf31dv_Ln;~?EF zpq5hB2A1(8{%l2uBqk2737+0GoHj2Lo$KFigi67L8=XM?nm~*|EKI=d%S03pUW4D5 zHW_m7O>+BBBIFhilCR+AKKkKVZvZQNSGsaZoH;@TiDfDh$qj(fae>H;0Mx}qybOvn z(en%O6u}GPr{$|Wwd9Nq%zP}rUjM>=*=GG+--tdtdt^=fX{-g>iU+B!y%>usJv6d; zq0He29U=2ixkS!1@o&)N@p|08=Dg2Knh|vc(M{S?K?7KU9xRRp*~QXk>g*0AER^)3 z1rcAU(j4j24cNz1nAr|AKq1dzFq@t12=J~N$^fmLDx&wwr z)01H`d+fJ$biJITsIL0=w_oRV;2mT$!cICLBe~tgjPCMB*5%lruk=2NT|fZ>kZlk< zs=BUp>^KDx)-=bg^$pLneYJzXGo6?i*ENjR4Aq5nj5``?T&f#gx;k9CdR)5ry!G1y z{rep)3LSk^KXztfQ;r$@3s)NT2}Wk%;}yiDV-`jCx{8^^vRPP0LJ$}CN|_PZ6LrkI zA3s^up)N9+nybCH1a>aKdCMX5woi>(p5ew<>cKt& zY5ZZN)1V0Og`p}86n&Yn+l2A~JiQmO3|!*BRql~Oqdg~+zTJ=t`~szcpdaO3gb^OM zuJ8uZ{-yYk0Kl(+ezzXzDKr545kf@s6~y=-FZnd6&|8V&^s;+x4qTZIJ@y2b)qj)( z+kONKT%mCaL?<1$@sSOUY?mYQkfRErkq+k zhd9G>8`o5UvpqKjgIw&%16f z^*h)>bAh(0e$8Hbma6gp+uTImX=aS z9l!U|41X(YeV=Po5?rAdSQ+Q<%nb};-rw*$`ic@i|Anoo(K2M*lyOy?|7%g>6jAlu znVhMPs%tDf*w~*Ek4{6Oo*nJsl^#!AVz zgTZ*f6W&m}@D#XwfvG5nfuCgai|~JSuso0D~y}>CS;oNE%mNA;(2qm@dwF ztU8zcsG^w3w{b|`13W&rV)OTpptsqQqD8*3a81#hMD;hyd*^UDFn(=b_Siq{W?kt!rxk1bJh+#T(NRUQp6-G zcT-Lzz}8ac3aRfk@F?J&UKCWebQ4IPZjVBvvjfS~1-p%b7-?`L6Q~hNL=E_Ru%!h>lmjZYfVl>wRkuD_!mIwR7y5bWAXeIO_0e(zSIx49RL;(=W-Sqlp z7gEtxw6e>@(7=U;oC=@xhY9(K16Cnv+ECK4tIBme9VB(W9Q+~X2nYNwLqJ4f^b|Qc zGgd?b&UvvUf3@mSgbBizcy)!6J_lKWf#f?$?H?H#s##g)O7jUIXUvi?x#_X1)IABv zFaw$8s$}MA3w?s|6e-to6?Y$GORdcIo{shoS6Of`?YlqnZQ^V3%-}#tt*z00e&)?j zUteBNwZa6AlL++FpC0QTB3 zJYvE!>k?0cwLEqR4a=)f1C>j{usi%I^x(zpOQNJlzqQZ{^R6 zKcw??M=BU{sC09uN|$jn=bdeJ2fyuCRB6ATsubhq+tHxgVUB|UGue3Kn| z>ox_B`e}|9p*7Aafn8-TlN>O4MRia6&JoXC7#gk;`E;LB2ymEDC+X0~93Tfn$eCMN z^je>0R|q~nPXArpACA_|NM&g!F*Ohy8T31<{`wm>L(Gf~M*K5KK;?5!d9|~zr?T}{ z6YjU=9%wNdmBt)1Wzgsk%OA6lJ-{+ zRrN=Neo%_>o@L0$bUk>sG*mIuuZ`rv3YBag<#q=Cf$At4`6hwRd6P#ES_lnMDbuYX zXXarUrXX%KL0JbPB2v{FXc_p$ZcrKxd9@2k+B(YmKTd6HxW?{cB?3wG?aAdFWb7D) zth_~kYbVS!F{%wRUZr4SFrBEvhMvk=ZP@q>H1$aD)u!O`h(Xb z+_uMP_t<3hP8E5g&o@{Vo}d#sDF$v9cJZ+PCL*qh9*Zgc6E>w`YO z;3v2yMk-z)60Lt696VH2Zi4(FE;d6SJz1gH43XNg%x%Wy{Zr~%2OA8&KF?}xW#y%@4pP4CV1J|tQw86B zIlb>cS0^1rG+akW2!!4gMEhq~%--B%Z-<=QgVa47txU^_%D4|9{@$<76&M~;*{3OD z?lf=c+}Sc|{V1rEj0-^WL(v4POKi@$PF2;oUL6#!FD!Gx_Z;TDJ**vn5f*qEzbN5Y z?+CiNu#Yl+KW{u!ng?-CoqQCeiZEMQ>U{(ZFnVjB&RSz&`AU_aBVqbtW; z6@_N_jFEJ-uR86cL4cnkD>ZdO7f7Kti= z2H#A~mTw5Blvtp7TwCM?n z3)hssnb2?Fxjz=a_AxTTukbG#*T)LAB5xbdILTAkvpJCK<;Tx|N?o3&x_mGO?+U2^ z-JP{jnX9UrJHG#n^!;9Us?P{6LL4n_ruw`Uy_E$$y|wHzR%I)DTRa4EgC8P{fmO>x zdz1LST@FPdmy>yz2v#J+W5dT!V~T7pE`DD5h1ljM<9K~|CMG2)Oy!06jwTW(c&Y>h zVp5W_GIZ=*T5<^)?4Qyd`V_`yw5qUkuzpGTW-xIHr<7Zy98#o6TGG|(b(vfTdwTZY z-2Q43>fB43=WM#1snexP$!Pw&n$E+FP(nqX4qZ-^l)Q(b2FZ{XpPFhm*5XQ(D51Bp z#RF>Z;3dqH?^r(aTse4{pC+sY`{BtTCOi1nJ7CwR1WsMzx(9!4bpGILo>}Z2@HjoZOr^ufFv)KmHxog^lYEiRS8U{qqlqpB&XnjkOa-v7CRQD zIvIwxT0#Pfvql1fgq@QJm ze}RrZk?{Zrc9omKjo*e#s^>MivF-GKwd9n4gFF_gOQ zs-LR)0p$xcz??xnWB~8tfD3OBc&K{;rnN0$tHqA%zirX6p5c7QQ6HnmvPIC>97@-9 zIpg&aOOm{M7I<#Rtk3hTS*aUespBw3F6On?476JeuvjeO#z!L@T9|(w011IF6`(+? z*`T_$ra-R@T%dAu5Dj=ZW_VmXe0Bc?cgyL2_RsKn;-mD<+Cs{ZQynjP3PHgXrix9> zFRm7? z(cf}|zZCiBBL(2PRNz^eek$j1yo8+Am)!Hh=#Lkf8&&}iXxi8++48fnSkNPpQYqC_ zOF7b#zfqOPCrv4c$)zTLBIl#TXI2uA1!v09#4<{&T13lWvU}vDJgrzxXKnuuT*>0( zjxNAM_CSU8@q*qW_TBq^g_+iC#qT})z!CC231X=L7zheEsdG1OwhxZB2L-}jnF1bc zBdx+eyOUndz0R8mb@3%|c=Z$|vC&K8VxlP^YqLY>WrxytRSywl_yvtJ=ZYWRdd}iX z!t%dSjjG(4bR9bDKg5}-pCOHaq_w0;*+I7XV{@ExU1X`mwB5mfBgvM#|vqHDVGKK z%Zc6zVNJR6ltm`!nCPRuMOiR-S1Unanro6FVP)G|Blc?3h{I`od7+^3f_eQ6>_?4G zqJ;--Pm7lb0oiEKD4#Ye_1-MXxXJrNl}qQezIDF`o)k>~MRaAet;sV6wprpR)AuI8iB zm8boO=fg~CB%idzZgz(ppZJxVEm^90fJ{$XlEKD?o(r}OPKE8WUVK=@Cl1%oLb`c# zEtc>^^bVMqO*<;T0KhG_7PphdKj=PpC1~sZrIiu%_T$Z(kJvNrXNDzHWz450N-|R* zBt1Df$0I%;gOPS;ESrag-_U4r_46?+lHC`sEC;8lb-pT>YVzP}`d}NQj|G8AnQ+hY zMLvNQz6~=%BRgUTj(e6b_a1*PV_TD> z6{BYt4+2V^X_?3cMj?cW`7fq;v5=L21M?1o^t30G9xHfh`rKZ0`-wm zzu?&jjN16P^q8e?v2lKR6F<2{jmt}n1s6e56?dV6tpMsw=s%(T z6$2cNfE+bH!G0G7qXUiO-Zs?Et#x3>9mMN3O0ZKI5s9V_GZoMKvRM#^M!9xGsjF=IEb%&JCiUp0B`%Fa7C_ z*e?zJN`K$TR?PtK!oR(K*Ry&j?Q*MM4riL=mb2V5j_Y%k>tB+XCNOy;M`_*%91cm! z%!*{&=gZfef1f=Tyz6U#S@!K(0TXTFF7Jn6Hs!;N&ZkL2|5k{b_wJiO-weX9am#aADYtl$7WamhP$3`UuBJTe)-)JC+brdc&)PQ5K-N4`yZ zp;l3s3)|nTp2#Yw%i{xoB>Vr!_H0NFY)JO?5d^z(JqO_48dO~^&HYg3YkSSp)Svkl zRCC0N@j33w2kJ8mBQ!H=tSoA@G9nob%pMFxS9x()`U0M+kAoky6bZIvJVJwsbeq-J z_ZrmB{o@~udDNY-X_t4&lm2Y#@4Is!t8*o^v{6Ob8`rJZ#L9|i`CKg=L){z;-5ggK z$naj5us3H2_tX7f{&Zgs1h4^(uOl?xkxA!!g?{4tG*a%WM0`ILCexGAP0rA&KcuzM z*(@a_AcO?c!YSW6HlJn_`}o&CIinR{dcg7biW};WY;Iy)T(DKsV*Nvid>Ii8Ou6`w zu?}u?M`!1S<`jz0C7Mt~O?A5Ge#GDWA1#22vy)ZuE$ZXUHVo;&oZz+JjC5YSw)b!2 z)y-VNC79ZE=((ML=x4lU0!S~mqt*+Z& zsy1$D9^RN9k0^iVNJ}n_BAf)!HlL{P&fOPgQ5x+T4ZdV{IWgUB*yQx7?Z5Pm-1;Ki z`KH{~JHG9YwCpQ3dD5xDVdb zxEuoLRNw=a4a;nU~vie)lpOE2zwYpEIa)v=+oh@Gy!Fy{0ftYKO{Le zGc-TS{;XK(qW4>oTt}6vqpS}Ut7wJnd=s60W8spT`jUbEx*GV1C^ZZ6lyp}-91-&m z=lu19N~W3}e>qzL7Ho|Kvn;qsxmqySya9dmF;=*24g$H}TswfJ5xuXk}<+^Ph-(ts^&j;5Rp4T`Sjr9j_ep%}W-zu!`&DH1g zB6r}E);&N05E(Fqh}0Dnmf$GNlwzt$SzJSly2DRz;C^G@In(|1uQb^?_6?t3 z^IQ4j*L&7a+%3q6L9;AS=&VrPc5rJm-GvQ^84Up z&5ke<$!I_Rn~*@H@R4!c;P&NkKk0_KfJW?Fxbeu~qcC|S$jHT+JMGbbsLbx@<-G1u zhz{a&O&&@uO?d5aadj<|-jO}z2igoUB+Pl`bA&eg7)-X~j3W@4C-3u?eEArB5)9Xn z+l|)OT}$)S`TBnj9gg>1>j98DB+&Q%82lRw07-K#MXiIZMmPY}d+`C#N7l345b(z1 zsTPKV3J5)3_PU|lLC7&DF3qsdyzy*CrvLNKi0h=sy-er6oX_^ABj$uARV?rquw>~% z%oCEU1*K~TYN_1#+AV&;f9|yC-k;e(Xg>$riUE^boj&9pPmoICcpAUsdw=Ej=RoET zv2m^HWyp-2zL^0u;4pGpZ7E@<)O+bre*ZaxN|tLS8#l`!!MfpK2W@$JlJ7u8n_)Qx zvb~}wvs{T;u6HRt$UX5uui_xj?HN}x_dDvjwbm#t&i<>_sB7FuwWRx0y^x9OD@_nd z^M>%vwzKBT0So|Be+H-V;Zwnv-Snr3al0t1U6>Wq00MT(`*>RFwso8BFr%1vg!XDf z*Fb9OQ5#}WT;dL$U63c7nC|F}Nfk%JFhBpnOYz~lJrk`cGw55PzZVoH5y-ol#cP4Z zTSe%y`~`1kkKk?mmxKt6;g9dc`HXdHtPQC_J#wI+s6b=?j~$B1(~MkW9SQrp={n94 zZW#NP^o`0=5B!|@!)qhD-Trk3U+3_fePP1J4?|CDI(M@OE}^jgbyDs{LV;g|duM2O zkO1B*2iME;!NY3Wx^>cJ_Bj;5hHz)ZJ!Jhpc#LQc2m?M3QX>8>ot@O6K*`(`oUCXp z4z_LpNUp$=phwV+mBz(f=mw7&zgl!2Ak3p`2Y<=s}biOf>2E#1yfp7?Q9Rk@HF@{&HAvt?4_oT^Pb;t!CG>QiV|iANx<; zN7uI%-t()M0h#Xa={FOy&k5=|E6Npy!UZ1ZoX2anNB2v2mr5y@`D5F>*xrvC@uyI4 z%hO}My_$nX%2?DA?w{14eJaR?>7qMn#*Yy&5hZ=3VU;ozD<8a1CZgQ(`SBYIjKsls z4-+E83P?blZsVfdlNWznLII?($dWym)5jlzl%_(kSID0)J`_Ks6ie~Gl1WpgmPu^A z6e$p>%|vUlm5L1dNGbgLj6K`m`r)VChX!0+Ai)FZML|_1 z!YUA>xRBm{9;(sZuY#OVj_guK2XAZ`*mCe|H_}l^_!JchAGVhR5isF^uuqSDPLJZ- z5s6++4t*T*b!_-3LPb8Hi=Jg;FN2w!s0#$1;r`Jis;&5HeLcbx$@7zsxN1=J>cnn1 zqkYWYzNND$5#+}8yl=UY&|UwmkPkh6VAlH7A_V{u`4(zkh|`(ib0C?y&nF?mkpb+O z(PFKx&p`ulL##2;XU)8X ziky_n@u3Y`MUAzMx9@+<8~fiklrW3Kb&&G)?~g_K3q2oPSsy1AboX37b?+9?b|4c4 zybned247#!GM~<_-h-t%vD!cPG?Du<6PKty#Y?ose^pm+aRXl+FzU+pH4MI`$a8-0TmWu8M$q*M0 zIk3%$57SU=mfohrMXr@dE31?GW8|=19@JBLasE4X_V&jA_z0!#Pn2H$=q1WJ%ka^~)UXg%R*qp_jvOBu`tv84+h0qLo_%-(T+G_1%N-Qm zVia{j;LIXal#A7!>mMH|9;k14frH!O{s>)@U^_5q0cvOawFrGQn6;}YfBI5zM-_aI z)W#0e>^y5(J_jpdvb~8zC0Tz&2Y}!pKdgq$ySgJLgC;>LK(P2O`}_aJhxKCJ<%HhZwpRMym^*g;%38wK##d<<@G+R==?x zFEx@pO{|CUr=AUh<;mrHtggP+kb8d}`M30zs+@|*QhpGaQTXVXxu5uxy{3g9gV9(Yh^}ldz$NvpW_)pPtiNEa6I_0?33sQHx&N=jHeh|SoQ z6=4UQ9?BSUKR^Gch;^%oRVX_PVh{4mmbUa7<{5Bl#g zz7TtO#F?&xDtuk?Sa1cCwX*))>nZi|7x;Nk7uF_)zHh0nmel9Bs4wHFGu!G<=&+yfcx)J?=k|^^5i@wm--(sv%-q#K?X~atzT!OX?5MT9 zMlskd0@o{|XJPGeK*sdOAofasX7D%23UQY6^tb_{HEfrSP z0i&D8Y2Mh=dHIl82BD$Uz=s+_2%RT{J?uE6ST!)3$ePo~$WUXd zi-0+y6yLGG2A>$RLfF-t?O?@h_Shdj#$ElBE}Tf6zOf!SU8Z^a7xgU(``5F&d}Fn# z{W7(Qdj>wLHwJr!*EUJd!Qc*y-YB}0u_?aT2oYfo?4C%ALfP2B@8e4;ph_q|nA5`T zl^DjiIOck5*+8d=E-Ft%!dk;&^T*I_t zdlWIhN18;+k0b0Qa8YPBkvJJoI@z@~>9-~QdLZ=Gwa9GCSNXb**Ok7ddMq26Md^DC z7mXRyMz(>efvR7hVp_2S7Lsy*I?A~wpEpK6KSkgIB#M+cl+pbwuoH?Lg60 zq{8`RIqXcl`*0Huj<-Q(!-8|f41Ds}MW9W@j;{Jj8=mS>9v_(u0f3=h#ZEQ8nI*@^ zQU3g%WbbLNcp3^r7#WZjAqUewy6TgK9-%QJt+Yw=UIo!Eg+shaF0@|OK@V2HNo&EH zaoy4(cqbqMBUuhfRYe@T9G#k6A_;B!y72vYOwwXfGNcp~;le1iA&1PNPT?_@jO?fJ z4SKTvaCe&tJ6|U^z!&BCJIW8nf|eEjl$G8+A$_S+M(cK3j&JODoDQ*MO62iN2riLS z0bZXM51>N8e+gy}RDLgKu{73Z>+Al~Fyw8jG&52J_wustK}w#m($eA;7$cJDbOM4_z6>K*ANX)wp*qNo z5KuznJb~S$>ZBDkXZia({d6Y5S-GJ5X)e<-E(;{a!djK$;Sif6J5w@VXX7fTm!FDX zWxCtOl%JXK#U*;xp^uz?F+J6Ej=rY$RHyF@&7N=D&+C^yp;rI>#-6Z%_U3&&lQ+v( z>zEi#^aTbAxm|YqOMM*neV*@StwYWU3B1SC6GRStnC`)sol`i;HK;JlS z5Z3AFR91 zbl_Gz$Ojoj`TwvP0T_CvcX&yH0ix>3l^4?)otLZ9sV7fK6(N0IA=1H8`LAi(PTGrZV#L|NJ`-FGN5nRc2;tC@d*J23xUkkP|H z@q0hHYdrl84Oh2PVBuso+~I*}=7v82%zc3K|5)03kQxdp@~Wm_Gju}b9942q7<%D= z!_|w=%yjQfoblSajhdN#c{GmXRGR1OVwr@6-1_bQyXsH}dXf{|>(} z_8JmmzGM%^0Yc!YZlQ*T1+Lo=sdg%v?Y#@H3pPglYUwO-axlj%BSKJyjbdtyfa1v5 zP_fU|C1!Fep9Li(p767{;;dpT2D0ncR!rYr`X81O+mPx~FW7UNThyW#`|NAH%9W;O@aBd_ZU_ZWiY-EEW5Ykefd`ooAxgQp0RPFR>hF8j z59$CW>M%S~YVuMItax@Iu`G1kG3mURzYdTLj0nmbcSzx<5{<`rn0zGXd^p^$oECf0 z-a<#N&4&QfG+$&$Vp$2M%wG+xg%g{DYC`Cn#U|ood8sT$!xb1Hw;Gf2m zc8e+BT2#kRvangx+3nS?Yf?&ntm1jWhZCp%fKT};rg5M`%x+MGUNbJuFpc4+=R?E6 z6iM{(|LO(9H#V0?b;{Gq{JfBc`si|Su@I1EnC%(V6;IkaRV|8jb_vZRVn5=x9 zb|{}zej;fVHWeNOkjz|zRR=U_BHY@$<1XW}*0bapYqEFtI0QM`${YIHH_j=#i)(dg00@=w*lOwsr3_&@IT@^E#SQ5S(tQ$!;?t zA;q0mZ#h=CilFBdmY8Q^GI@#_BQh-@UpwZ|2wtDm>9P8~PJ8gy;h3LL>-{~aA~>ky zBIh`L{5D7S;faR}qJe_^APBhn1wvm`qtKFyRbPPjL*po&$^TK=;l0 z;j=!@x}Uxy6jFdSs3TM|a{#P-%l6BHJl$^n!RkKm1}=GLLS$eq_GL}pZ(aT+GxL#^ zflyC}udO_wxxc)(p~u;9b=^=lp}PgVBPUilHZ^4wi!(hoR+WQ|fCdKu2ss21G-Re0 z;~3mCP{3rk^XYCSDakA86)Rj4#7>bTWKg-E<^Prka#frwr|Ta-e+FnIssBI~*UoDF z^8J(w7n0vZfQN?McL*v;96uVC1MJXLRTi9i>r*xp1fP8L9C%Ml z8$~+fpF?LETr|e@M{8zbDx+pr&kG~d&6M;?^JzutH2WlK?ZQv#0b`6jtaML&6<59S zdkDTY@`ihh8DhND$=&GR4n?`)4w}IryWz|29lB{~;*HI_LEWuV16BRwh^5t+p}r8Y zwQA(7ajLL(L0Jp0K=Zf0CiN@wvtdLVg@PLkc^yD&OI5)x$*M7Yb2Q&A4vaMBa%$#b>vJhnT1rlhsOI+8Sbj;mHJ$H?Ih!%HW zC;?OGXYRoB258ve8C)d-Ioh$}zCzCfcZL;FH+?f%ME_M93Ck2;KC7@s@rHgrhlbXl zl>7?RGFQmeyJRdg7Y25o1Olc~*s5f)ujMLWx040b)bRA!j)s^E0WVL?0~R}D>;jGa zsj&(FfZU^O)WI9#ZUy%Pu48=Dnyt1rMxzIn0XRV{{7RDc+z#%2MsA|Q>)$x{OgHsd zlK#Gs4&Lpx+QGds#)NTM*OwG$5V7DYF-JExZ##nL@n*EXzSzJzfrqvI-_3@Sef==n z4rnFM`P_enT&tKo;QB?#xk|c2gzSPk>xKfu8x>9?4N22E>*j=Z#W2+^IMq&x2T$}I z+!VHB2vI0lvarQw^99x~>2{IvGY4fRF^kL?0baHND{z2WhB&S2MWZzjPn%IS7IbC3 zzO3?cpmp$6nH-bQ+BYt|qp5fg%ljH$@V@i3&6?DSITQy$M!tg|4SD?6$QQP>&zmBk z5RX9AuYILWYPN ztQ;e?Ol(ezw9!J6qd9n@FAxzH+Lb(oJ&xl3!r zgNn*ZqJliyPINRfn97Rl_B$_wpDLElg)blD zeY4sWeQ2kY#7r3Todxr~3-X<_>z5GRAk`nCA7tYFt@}~WdHAY)QTXYjMAUBnt_t*J z<`qL2BKimx)gP>sb$N~J&vU)Ii7P20X(!9a z{=!f-0s!~?3j}IvGph7#CcFADj3z}YJl`<~menb8`@bIe#^zJ!dO9yz*f4}yx;^>{ zg3L!-M9_ncXwh$Ar#V zO%mv~@OjF0OKKgzZ>tjrl(5z>3X6s??x|2w{5znBmeIK5L!rIc*48e1Ofi`6RAH)7zfzt zhv=S(H1I8BZx;x6k|qE9l_wz!0t>v}LpMn-WbTu+wIyY{{ND=JI6c^dbAO9-e~v67 z8Dkd-PLK_Q3=9$WEH8Pzz$`28D1FZq>$959jicU4LH!MaWzM9^5qpNnZ?mb);}%_T z_jb4{0OO@>N}{2*!}8rdi?{Cv3NQh@HRmk82Gt9!>uNqp%HA{5PrUp=#^f8#FJ_`< zINkT1N5UiJrmOl*Uu>;bd>>$gats!@n2S)f#iFp8)Y#Y=O(f*j%ftL^^{q{EzrWbs`l2;sJIfI&WN&FP%SEcGQ2Vui&Q`uJzh?g3HqQ68YT1c9%m-t% zaU+#4euztVI5Yti-(PKQ_NICZL%T9#1Et>Pct0nE=OxLAB;2upp9H?1P!C7)u5;ee zn0e+CU&tr7VtQ_!mK$bOw;f};TDjgXGOwKoo$E< z>wo~&CGp3LDggL>?S~OVGZ|v3w~pFbK*Hy9BN7xFo4~7~V}!|&7sLKk7CWu_AQ8`p zkNqfB=TN`B`>(>kBSP5;Irk6G_ipMbaBULrU7)(&1J9d-!dGS@UA@72g`w~^@K{T) z2PCL4$U6n4`$Q=2PV!grbl#2Xf9a9^$|LX^X{8UoQOw|D{KAsph0&FfI)FD@b?zW6 zrp&mYWMTz;vWTF7XfKi&*b5N+geUaA5Y9gKL?H4Z6fh6BxbV7>SJrU|TTcpnYAGhk zjp9NwXZ~!Umxey*pWtIA0)HMGDB3IJS^AZ*|>po>&T5_v!NKmZ^{lNcFKjPPLl zrW37f=|W*EN`4EgN+LS+ytB--^{qM;?pz9cG(Vb-0w3lHoa+vXKb9?lP0bI(vmeV&-RM0 zo!{{cmkh3-xbi|Eb%hMo>sify3sL+8Ahn=TE_q7s65lQz-5ETEQ z5&Xzf3*{FP)7+`}^iAcL!f@BKK##SF4Tg0c^>*8TTK1X^Sk)!t3ZD?Cdypu>Iob)ad}Jy>xV#+3;NiK?N-y z;w1|gr49F?o^EYf_rBBmw$PBC?U+`@5<#bC<-M*No|tP*B!PQDb;1^io~|s5?}K(n z9Cu22My>jHRyzr}Y*)Sb0!})?0dHW|SjGjE@O3bXU0W{YEF}eqad} z0J=0?CRzKH?a~nbhkn6F9}1PELBW;Bp@XnK0!#bBXYU|v0Qd$G3r54h#4d_BM|sMV zuRPeoT61wJg8x25l>o})vP0PvHD+*76Z4DbOkct`Y|3xgyHob4Vn)%sk{7~TO2EGMj$lRs49UK^+F^~NM82$Y@I4_`f0OHS4EqmE%&vV?@7fUv5nKbRQF~!{|C}|jx{0{>7nhmw~f;J za@E;COw@bTsDIJgQEr;x8fXRiy+eFRQ|9#erRq|fhsdUS$1<$u)e@aS7XS{2MA zY~!H{UO*Q9P!$YKikNzI358pA_9v!N=*loE5t&cyR53(!3cFE+(Z={&FjwGPWYgGqbLnS18DSs<86dV*l!$AE|Fe7C z*66s3nYUL3v9lRcqZp$6*7L|G-rvNH)duqzsr-E%Q^1gb6F52!(HK%W@Cax6lZlOb z9&>dz;@44?AGp*rRgO8qfG0x!04;|BLh-yRyAovRUI6;vBVS(^JRtl%!I|;mX~@RBYC+W)5lbWMi892K*EG? zr0Q0tvC8)YcMuo>f37A)n1|Q{hXf+e7YfFrT)1?9b74aU$f{|H)<(Lo;PkNx$5AO$ zC^@R>5U^now?%nX$`x|SSd`;=-}y)XfY}w|P<1%UU^XZhRy1^hpaTfSw4s!t81Ysb zv{^S2_^#H#-(!hv^DG<7Y_0*>f#$6{Gxqe8g-RRk`Q47>?miIa^Ary?)G^kXEi4Tt zhUdk>-Jf^kyq0m#cURWHPUxhbc1Txu?3X;2w`c4h@3(5kZ1D0j@jvLC5am+B*l*dj zg5om>v-S!>>c3O6UEink9=-g+tSEe(a>gV;%o9%8ZP~`WYEx+osg!kdg76u z9y(WAW--uRl<&jLXe2vU&OV*`tVkS%7Q7c0@>&G6f9yyE6XoJX(M%LiBTStLzJeor zIv<7o2q6Tv9G6VYIf0NEf5_g-0wdV$kbLir#wMqP_s8{c)K>#k&F|!Y)or;|S|zw> z7ZYqL(q;;ce{y%;S3God@@si{*Z=7;8$Z%?4A$@bTVd^>$Q(vR$R#B{UM>2aRZdQ< zJgt-(4303A)TaF-QzDFPS}=AwW(i?Bd4TnCYCUHvsd(@dX>kHI{$UgO-2-b?SGwZgxsCh&UW*we+pY|edj6PA9fShVuTAJY2UvMPuQm!5?L_RKNBSc5pg z(TfbnRyBums;hZoo*1ch66JKNKLx%G2yi<>vEIKEjB7+8`)Qr64&B#Vcdaazw8tzE zT#WuZ5IdJ$xWTFxgwiW{>0#Lqke$eZ9G~?4hvpy$el$UVFw_D42RX38_oKC`$dcm4}#=3aM(DCuhp)TfF9;&)em&pn!`jje$c>MrGSg1g%(~C~0 zn+U0>xV@zXh!sck$WIlFw~xaImuNXQeF@xX6zmoAFdYY(UJ4Yi^)-DI(X>F2BRG;j zENqcQK4bzdk6ZqDtd$9mGXdM&wt3~YX`C_p5U^-{S4w;R(w`=ExBSOqAkL42gZ%y% zO;;5ZSJy4i;O+#M57*!poZuRQJHg%Eo#5{7?oN=wJ-8DjxCD2-^FQ3GuBkawHE(zhJU6n{4Tm*qnfnR4p=`=n!d7zJNkV-z1F=i z(L&*UapwR(xvf2@5EyWUW!usCt%h~CM?2ia4esoNin>8XRl$;8(393b5B$z}0rDE_ zgjQF&buWVn2;j&@%pBs+HiCf9`Qe|)w?7+sGNTcLhoL`ijzVzIMAM~d|M`Bk->Pk`F426!NaaFs&TDJgTILRDzJC!~ z(7v?#5xCriW@-@UhVs0s>%?!q%?%jBK%oQ#njfyaDZ2SZx}O>S(aw9?x_hdWCW%TH zr`&6d*k}4q9jyENlBE=Du8=N>=cL5F&2$Z7Cl%hX6l|!JddE7f2dXEbSwqA2*8&BA zwhs>W)VbI*MNBY_R^DYxds9W18pb4rR>^6bPFKt4CkAJ{K%6*8w#Y%PSh{x9tP2S5 zl&`^%V4D=qH{VsWTYEP)5Tl8&N%;g;eGo=F{SzUk?nkkQQsI8an~zzut}MK8zW=NnVmHaxrFJOo zXYIOiyiC!qWbt-RI2WcW%5~=B+e-hl`+eKFc<$O{JePxZ;Z0Kh@+ZXGIjC-Wmn;+O zrZvJ~czfL8m9AP>S{`Z@vh@K5Cy5+Php=!-$3RcXr>382UQI7&T{&t~J7!xk1`B*k zUNihT9TUm<4H1hFk@$n-r!1WERN+y(sFz)O?k74^iSa|1-uFcf4JNeu##I!)a~%-^ zFjV75g7T3FPFLs zQzqD7K4rpvqCuNfI?1!v=2&kwb2Hki-s@TY>`Duf_}#l_E!`K_=A`k}v${|H4eA*h z@|_sh=v9AAE2+5oW#lvtMerptk8?#zR4OnBi!<8}3IN`4k@SD~_1`+$pEMzX2UJeX z0oI16!>f?Zo9@iVU!*;4xfonO-tTd60UlsMW74;lw}wqkFT0vSMmdevx-yYVjm9=c zMkfgcW5)m@RLD4@Wvtq`?z$kzT3A#{J|udUX0NGIB1$VmK5FRNdfOMbZ#GZ-N1$~3 z7;!Fqy~e3jx*5^4eA9DieHkrC2DzlzAd$w#gA1#|)PRWhSOJ5>N8v_ve$Y1m>a$my z)7@R}`0V2T$?1*D9bcyQSJm9~R4SA?ad^uR5CceJ>_HOTLKKL=?%!M5!&34e&$^l{1TC}n<^ z`<}s3gECGR*ceriO;MhY!0vD$I&UeNFSb}Hc> zd}h_ZC80adrSat{a6@rT3Nu&{&Jo~_=zU$W;MB%^Y5|J|L-{BVjA~dY3sD?S7Q#$C z=&6)7vkE&N*+F}DQ zUa}*Lg2@_ViAZA!_I$C$1hIj@ztK~x9ZgzSaAc*UI-~coKPaeBLW0gI<8B>Y;V2(f zVT9-S8T$FTCv~uPsEfME_q*uk42w#oCg8^v!gX2%_Z_5S})3WAd6!ut>wZ$jWst-5Y&zEavT2OgTMMMYFHf(4+A1)g`d>T2HYV~+PC>J!cJfc@zlpniI4QKi=+A7zFDDCFp+!7M zYZwT&s6pJ=dchyFxxh9JXgxpAm2#=(O2z*h_N6#U`#C5p|4b)g`_Ug2QybU$prkkv z0gG(R4D*(=tG@+aWN5Hb6TgBzU==Gy;G@UPMJMFW*XWv-T9~2t>xL127CK``DZ#oYreWx?hgw5Y)4*PUQz3cv~ zo4)JdBJwtdJJ)X7ijlnShFf^^+VYMOYRl@jQ@HEkn18S%sTiE#pq!SE z@}yNr$NNMRIvN=l!iB!7^E^@vl$DotrzRyrzs9dl=D$-IBejGHmF zxTLMmrYp6X^@$C4N+)F&u-1s1dgUyYET1{j^>vdHmY|{D;H6 zeW0W+dlrdX)RbKd|9=RLI%nXET?a9=vUxN@K;$gMhSH3-9D9Wv-U1np3x+m+b*FhP zN1gxiJ^}uIz`Iv(hFe(842u>ORM3BGDLp7sB<{sCXCaDs$)A6vq#@q%_nbk)S zWQwCNg~1KOhDP-BULO@_-`>X-@}!o&Ioe%&JIj;Zr>9OUz8BM)4rOP%%5lJdDy!2< z-{2ov;GyksS6r)R?Zentu4P76N|MVtI7``|)P4F`-Xy_A;XFe?_JLw?7SO3au_4B=>o#5}qMQf9?J zsd-JjlJ>U+PI*y#U35m?jNo@wGJ001CnQSWCrlybe2oOoS0j1r%VyzVpAJ>V z?D?nH2=g-U*p%JADAE`PI8LMELq8+yog3*}nd_(jeydG+lF%C+`_dm_cDvl<(B?-Z z@ak9Y$~Uwr*IX?bTYXQWA48}Y42sQfIdVjCU;|4U06?wKHY7lU3ga0>Yeq~i{>Cl& zb)+;FT11_fCMIxkwu_Q5`K;-JS`+R`xK13^|GKaP?@BzTRPg9KlnHI`QBM5WbXT!D^4_uQnZJ2^r7|m$v$xOv|q>%+*=}bvYMnGoF-rDDf1`; z?~5kkMN?6vw=vLuzt@B#v{HJ!%r?*%9^z>pTAu&0J=UW!LW$_7lv{nbg3}ryC(s;( z`P_#Qceo$^NTOXHzBE>VS};=z;FYvXdU~k>kep;C$jt^U<_lVi`zw@_lTJhk{(4Cf z&*1Tn4h_+ns1e(AWnz8N3GV6CHQU6rT911E1+Y4S&G+(`M@3np7+=Ec007M^?%e;! z-py9@x#wo%4eZU*mL?o+O!e#3DE#!>>%Ft^+x-(++S6wGzO(7t9&!wezP*@!-NP@f zUH4yvu65%N`YqErR(U#iLOfZ%_ASqwnPKf**xtTo+xu>t30^xdV;izx^r8zO-AL}$ zQL3zT6YO*r8Hn@3AzbCIrA)*XEMI4)k&3aFww$GvvBYq4W%W|zhZg|Q81ftw!f9xDrm=uX_w_|sY&Kd2Qw9UV_N$(=N zlx{?4{!M&xjk%D|YH;#ee$Hs(`F%uSlhst~-3R{r8~szNn_^sqk~vJ^*%mgiAqad1 zzH!iLLlTCs>Q1AwY5OSTAVKm#(s-aW7Ova^N2|D3fKwW?Z&uF7PzhwBBBf?T)hq~^PNI0RTBP^u#JY|V2b%_{nIVZYCkiL=+TkkHV{)9+$ z=%FhzDyWgjk@^8=NcePON(MK!8gj2ois~n|w4qY)L~%pENeHQ`ZJ)r51~IT_>K=R!_M zzd0;E?7yOc`2KGpbU2tq(eW^pR6EiThlQh=Ly2g-B4ZjyBr&5+`MGmDMFB3AS3TN? z7rWt5t^9|Fi06VV$DUwMN1D?))ukcz;pLWsGKMi)YZ-$nl+G@y*LR(rrTxC8MJi_& zuVOsGF2cKfbiuheQWBAj<^S|b05GtmAoRfmJX+eGJ>P4#_)}q*6d2D}JZ4LasZ;&O zNSxFUK1ttaI!kLj$-P*B%O<<0*YdXSpn#d&!vEgFpth)(x#K znlE12#?YJ8X$_=I$Y1$eiwgc|zI=x4@0{w41a*-7ZPMoGX zlvMfar%~0}L~Z}bu{3Ial=ndHw;AkFkH^+EjfXO^73TyB$O1Wl30;U$l|YSoCU5PO z&Z2IbOnm7Vbw=2(hFnsGwj`bz^i#6UF^P5|~EVJM1tlsaP5`V~;8S=OU^)rXj zxMp7U_8Tt=5ypUU7RB00o8uvtrjM`igfgBUI|4QMfmwO zPG;Kj>B{)UMDPG#910b=U~)Vi9)`&*uNtRV%>YdrjEQ^G_y>ix zUY#}3T=V&N&hs=b;#5xJID1|Kofiq0f6K}(haoLn*NmUV)AS?gdp;RBNhyEH)U}pK7pFu5|1Ob9%p*^;&(aT86(nW7l9W8n%in<@FL)#M->2J!l>Q+lJ6Eh2Z}|1 zZQO1%qSKw9D(6>ad7#@P0R|-$-t;nvWzS;^;84!_{>}1iwlTfPlr22USSguaDcK@c z)yzLVQAIp5(ld4}j~MTm5*FAd!VZf@lL+w4ukTlOEZCgI+`M8cj=ZPP#LreVn@$?G zq0=DEst{Pmee>lx4F9|os+iV^pG(Dx21LuL5NMP-*UBIIZjA~kWBSx5JC&#U)bc-` z+gG4(qLRG*G}7C**N-7O9*Vv#)a&3ntB1GkTM`ZNW$fqPv)wv?zJT?%LXMw)=Z->Vk@wpf(9HmIr_?O@+oI`z-}ml%JBR#!{(De)at$%shwz z`OEI@%kFy>Y+!B#d~oB?GR|>_=eZ3y}im%~q(eAun<;726vYjNcVI=e`ndqYfEEJ}Qbukud&S2Q0cR$hPN$ z6#!7`gZ?0hwk}R0`!D?F7#cRBfaRsfHqYNpG(^}jy+3b1tobYDJ+!FtDa@D~`^7a+? zvHYN;@NNIs{c}E7ptcRf{2vu7QU{E9*BNb#g1P zfz@;@set)*635CQ&W!SjJ&Yt?WVS*=(`aS+PbxKe(ZWUnJ&hdW>M^BC7FMo3d~4Zx z9i${8m1OFE1TGE{d0IJwckmPRq%aN_zb4snT`}y0Q6Y-|TfO@r5{e-AsE}2gHaV^4 z#lF*}4p`j(6nfN)jPPmG&+iS7$Uy63y@N5$rABwA!RS3&=|KL?!fgV+iST1?_0~>m z{ufD3-lRe2PDZl2!i)6iQIPkvP!2@izs!UNBv#U4o0FE)GqFAi$F%X;6> z|0t;|=(Oh>{l1MXskyUPu+-aJ6Pj7;?r1T;S>VemohCZV?)BTO#zh`KRESY4W~aPW zMFIk(u>gQj8FmfORSDR@1=j?~z@kw;a8fh+1EfuM*RrY2$7lHfY} zb$J!mf|_yN)*{jNlYgM`^z!{rjm-i6eJ#nWYJB--=$+XYC7bN@%d*v*JCEU9!|e== zkE*{YuE9FTm7OkXdX7cf|99W#YCgMH%d^j3KFUcDnTqNq- zTEM;jEz7uif+L!KOEb^jhDp(4N_qJ-)U#m+@fD!XVlu`oVJb{kNOh2ji;_|mH+E&S z@FkY58X>BpxJe!4^3At2s5@P&$m~$!`&aJtY-xIW)qb+e2C;UhE(-}Yhn3j6k^2ns zyv9!1Oh|n%W^6E57m-N$rp2YI_M?u`ZDCJzk?)(I3i9FK3-99h-iz)I1KKGu9(X|G(##CqpDI6*hmdbZAbm!%w_C6lE1e=UIY zu#NC%$ml#7V>~egEXf_Ng_>SnFh>>@j~+4`SBdS|C5hN2jSv`@WU4G`eGTp4NH?k> z%X<$ZAC$v6phS9zjJ=GFxs7zEPd&kwdcd0R-cx1a`y(}WiRs)8>!{y1<@0X9Zt8tf zV(|NCuaJgY1^;t6_hzW#?@+YoP_&b$-)wqE`T9rs23BPTR>lT)hkBV~AElwrrGdW9 zkqy0^x8KyjJpV+6d;6NZ@r<4r`(~vYYx^?269%euYucWJ6w1FUeM!l7)id4v@lBBBV0#3e<@q6Ls|9BF2j5FK)<;J-B>R;)bw;@ z_1SR=M82-wWm{9lXo$VkHDvFCVEiYn~OClhO!sHzm4i6ji31Wd{d zR8%_1lgX)+UH;bX>w?l(8A|>EDfh=%n=FCG0dJ4AIM2B0BlDlL(-=$8nvk;Qeth0O z#<&+gs^m7=T}zJ0ieiyuTv!%*@q0yR6>7vr4$L)q7aK^}S}@G1k5q5xvqEsjfNW?RY^ZqTQN-$VdEp6*1G0^H zJ>E?h6l`?SrX!l#$5a(yzqA^_1wQMOgznP7dD&-S8~q`+d_y@MzW_mdAp8*AL;m&p zqp0^O{$W(qVe{hA2J7~i>g62I=2tG+=5w~^x^wEkX`N-^i`T)Cd+(5c)cs2TLddQ$ z59c75No$l|o{MmIg0{zn*JUZwtt8j29Mr1@>sNsFAYdHPV-_{|EcW(IzDsk2S7!>c ze(v<3Ugc_%mrN8#a-zRv=86Eth&?!2I{cCMfq z(M(GFW?*O~tDGvsH|EmF_(EHSZ-Sar4B5L`4WROiOQ1%VNeuqZ_;q&BO*RD{fNu2y zN%c-N8@p=S%p4(b`Ve*AkhnbM_>y(C?)Ku@>MgbSZ8mfL;du5ot39?n%@K4qU5>{6 z!=W*m(c|>H8MjGC=-5V|4YFj<+IcHEm8-_~bp4aP*5h+)nlSI}Aug@(3IFo1op4m5 zX**rl@{1(j?u+wBhuQJv&P@Z}yMMK*?&h5DC9SR!3NLG6d^$Q_t(?=V0;Ze8$2V}l z_`ME4F{e|gmPtzD_d~nvyc=SC8{`E-42OPDWvIpz4ank!WN8L^ecK?n)^i2E!2oPp z7ymt^0l(Y<&3&K-mJhJ^s@x^H8@I8{2&ETO?(tCwb)& ziN_I%_R}wMe(&lZl`MjJBOLc<@ac5-y1J~hryq9@wDKhaDm3nAPnjPL9u!I+b=@B! z-^WyXSf?LOX0x%+76_+RiRN8m9N>^IK++uCamZ&NX)Z+t4n>(+p3-CMEQSNYhYLi& zAvKS@?(r8p9m7VD3@{uZRRtoA8U}xEVtZ=>z}OrcO7EK6?-4#s9%nz!Sp>&Ai?kzqZ5l|sfU^$RhFqEYND_U(zeg?c4d!>bYpsJk-$Y2!tzkRsg>=30OP|%y33de z@fkVx37f^Vr)rMXLXM6`4!%eZzDkbO&UwC0?A5iR)yg8i#sR+X9?L9e@BXrY0|)pD z>*@-t0U4m8m8C9|rP@knj7!09O~IXxRkw_{xsS40GZAui;SzPAOpH6Gh>}I zzk3$?e$CLlc1k#Osyh@%clZ8$wj|xLKz&~e+D;G-(H26eXQtKGFl1)LxYsW(A{*^l z;xchg%JW5jUWNh$SVmjt*E|21n{e#g+20fSnRpSu(N15&VE3Y>l&`2YZv zy)Ta=YREZgAk_=w#P=|olhH@$C4h5e;-rV2VUvoUq+5WzVX!HLWk2Ud>K#AP5 z6w+7~USkcFjEzUCDyXIQnCYtV4R24Gw!BEGiY4k2EpZ_bGQFl<#bc^LwEH7=@~}%;!=bwB`kSi%Qb!D$;6ett|o9f5{bZH6qq! zN;>P@zOFhq@HI7L(-xk+E&Fdv2k5%b)+!U>YBh`uYw(qaC|q|omM|#wmM7UUIsbeG zVWTo(E0gOTj4cBG%eFzGjR66g2qN)wPzy-Pf!sZ+%nT8xCYM3j0Q6&3pe_I|I3i7o zf*%GTtkb|qpP<0rAVc$sEkZ%sXb1ZT8$yHHv>K>L;Y3l(8 zD8*s;69L~<7vplCz5Sk!5(Yl3V8O7!vsb%pmN}#X`ZRnX;Hy$w%ci4ZAIX@=o>(N- zT>BlI1R_T&i|9Z0@E}Pmk0?Eo@F>YFo<^Oph^z2Z;4@8WaHcD8&huMiQ<#@={X?&I zN3S(>{Mg7+G~R=m>_f}cgRkNuq3!WCNjO`7$0$Iyyby(fB{))+Y)>OkzV<9aT3U3h zSl{t`vwUG5lWG@>~+l)f9A+O`lj8L=#;0)^N(NZRBTRk8hO@DB?J zKrrB2)R?@DJy0+j>$XhU>F2qtR612KU&lFIe>&tp#`{9~xkZJgMMbdDf4D?(sRRve z64;vF&a>Y4pB)ue9@^Bw=wzJuuuwaCQhd(Q=x4qNSrg9ZP2II+{C3Ypw+^gv>A|Cv zKjndd(RX)`jBuJbJF1Tr#y2p=X^-#}dDKR;=LOK~nEo)CAgzOq4BmfV&1469{5Vz{ zg#4-z>Jg2%f*NeDIPAqT{>7_D_-eqeJI8O>S!>!IWi24du+no^Nj$!QxSr)IfU$z*I>*d;!xU=~hy zWI~_AWZupIpfrYwsy75DpUphBTX@=EWWE#$^ZgeNs|qloEr%$TK?ji^3Avn3kj35Q zK6VIKRnT!TTZe{&%3(KWlGo z?{)3x^~@#3Dub=>O&twp&c1&PZ3j9#hg(olp<`O!6kL5{P^&Vngdl^Yt26Cgt;b2v zVYng+j8SE(BtV+mu^UwOhp8k z@bBDupU4@s#?ZJd{>mmMbJ34``RaNKP$rQjg9|J~Ft_n4gndSe$XS=DE-|11XsX7a zh&EzS$o3)oLKps=4khokt3@sv?(8YmpJwN=O}RQERCfM4EA}TF2%Vw)kJIvQy@jrY2>}4Hz41f97aO73 zb?j=$$xPOz{P*so0TkIs)7X_jAr(?xWWS{c3~E;Sk0e!}MjFU7ZRK5G1a5XvXybD) zO{=Y})s}I#8(qPEd%x-xGA2|_~&60#UL0VKaIK=KUSft&F#?UdXdj$vcgH?@5BJ9le#yL1D#ej`Hn@@*Puy zZ(kV_-unIV!)&2LeWybEe9UUI2Wo9+uHIf7`kW=E{(}wcnSAgav#*EnP&3$>4H$35 zyc327PSIE|b6Qd=zQhK6vg4=TI^#Nx;i@|YafW=kgALq6V7~tB0@P!^x<=~+h z31E~FM2P|yRoJ}h%W>hOMU)@$VUZprKmR)qnCU?_-#on$2kJ>gR_>oPAH4X49$GH0 zTL0ZQoL@q%e$bGud)4PmZALYBU08o~=XqkDY;tZ@m5kbdr!g2E+@M2f*WdI1#eQVQ zb>(#Iv20KME(?1EYX2_Ut}fZBF4mKw)RRr*!X4frtn}RaeM35CX}buPt^p{*+g53B zS4HEF305%Pk!K3Z6;*A5ZlTb)&m(76Qdb9Y1i-O^(--#XPp(nE#?WwUNG~eC1%8+l z1F8V@tLd2`J-_^ds__1)eQzsY--dtIypd~k|BJ8GzXSN0H|#caKZos{WjB_bUf<1) zoTy)IpVPUT>%C8d?x&E=>~e*j9r`BkZr0!rrnNcz{kFO!e4`HPw7ARsSEJQ#%I@!* zZ{4|2Cd;+9zIPWC_!%1y9E4T6a zDs(y-A8&mh*9vZN4$C}1Q^@FbeSVG6`%`t8`a6pu(fr$2g#;WGsxcfzPB0)sO_v@> zs4rfquboR?C#$?vW|?`*W{L#{;Ls#)T!71X(6$ihah!&57zoHW$3#U5dUwR^TMKlo z=qQM&JSyZ=P-$(T*3wFm~uxo`Hm8 zD}FQ#2(OK3fN_8~=QsBJ@?Lv*LU;ARf1uvt&yT}W$2#hT!DP3eS=F2J8S8VI{ z)w=SN_e%TK+_{FW1vl0o2abQ5RU(I3hPbwd)%Bt)U?Q1?S?D{WC#YjIlaNln?aMTL-6W!x92f@l#s%N~ZXxUka_ zOnG&LZX@Gv{GlIR?#@{Eii^IBpPVbgAEqX^tp#-*F1N-yxwHH`q7YAIc^-^-UX1V_ zjPO2;$}ollIPSWzQ=02eDSNDudX`8yU$=g=3d8dY(X4A2Rd-vAcyW&M@)Vt|f2$=0 z3?^bnyn*2?P<$&%J;pgRDAjiJ;6M8t$-lvBlTjB`T?u8g*dDW*Bt&Ur{reo3PbgyC zs7YcHM2{9ruhBUJXLmcTArKx<@C!%Vn)-+cD+dD7+LHhZH(LPFadUBEELZb$;}|S5%^6%B_&{1u_azO5X?!5eu%0uZ+FM+_{+mrSy!4k( zGVpC^aqH#H^8SMS-^jue*hdNV9fHzRt}dG-g;Oic2?#lEQER6&!##VwvC4@6Qn|Nz z*B0!fyo)=3S;i;f{U3ID(_09+!%(+_Vc{-%-DO*EvyTM8>pYO(@hV&fZ&)bqU-$xH z;k=aRf$80hTkqkI2w*z`MF00Y7mFZ``~*eB2oWHn#2QD3jbS1{F$v`3kW(GOiVLPo zO3hxr;ePj5vomqhakKVeF=-BnbT3s!5MfspvF4B!BIY~!htV~>OI5I&%pLBiSn-q zcCJX;hYOg{n~eG+4+eJew=3ZgdTjS|t@HiYF&t~@w|^an@XOIJwL#^O#pf_O#QHV+ zLeI6%F89Eqa)4C;0E;}(+P2;nzQ6O&a$^K| zQb~2W;!m3%ejA%Z3=k=ezQ1jseITOL!?OK`_NzT3JKYd>usg{9Xu56lH9#6FkAJ$LK)=)R68tLi^r4E0SeI&4u)}|E4tNTc_O0rQF)fuEKL@`pOHTcS|cjfU=z;qfitq~H~2Av zWKDfd8%w{T9pmt+-#@Bs2Y(QSlK=X{W)tYwDvI9I?tlHK+n#yjORsnNFI%aHNfKu> zI|EMV)4#FI$UA5LOV7)Ps9hZodKw1VD!O!<|o%()EUG zPLptE+WdD)92$<`x%5CS&JRv};E0MVxY`KLYH#)lqW`O`R#ICkqqD*q+IPH-F8^s_ z7oR|65~A|qh;j)7)C+=5W9OpD4uhS2V|)9UAA6!Oh6yWn+^l|h6w0RO6~Gz4|IzD+ zgFTP_Xn^e2O(#Eo2nmF2)x}yh2QF^~4iLq91)@oXE8le#z;?(O7C1|bLeK&JTSx(i z$B*K)e?K;GKJ10F%;zo$e);?CP=K+O-URL6`Bec!0RPts(cHeNp)#;YhoXK76@WPk z3j}}+fo-fn%+Z!)Ql>JK&QdoB8(o>G8U3sX$>8U&eHYXlDNW|fEBpP$&g!Fo<+-M3 zAKrEXR$-!TEzEvF?a)*LuUH~&LCqYy)Mkd$^_$AR9|bo}W=u5pf8v#R{dm`fJvGas z&I>a^E40u7-iTo1z=^952MOS@jzR<80q6ER&TS)xmjp~VA$&Jep#FCeIcz&lx*len zya{ao4D1iJ+Or9P)eN7ZV_gVVD~Rc#UgD) zr1Z~Au8{v+3oO*i^O#VW5pQA;r3Tp&lqqnSIe4#2iXZhs$~)(Cwi7EWeH{ zKg&<2b4*JqcAuHjQ9rlLPb-z>Uty zc@Vo`8F^y>Sbvp5_gSNo)<86-!6rA7UA8JSqmpa?{EY2&WIrX*QjOF@N6X7XF@gut zo1%t7>rYpyO+oG3(So>(eQTU^!FFt+W}XJ#jk)(;mVBtLVLSgfkC$&S|ASs9+d* z0V9g~9E?Tcpv14=uHV%9F>IOUsW43}b|bNh_b;1IO-xf5feQb^uE~-_anA?}hOg3# zY)~c9z|+dAu!LyQC~pCSx^#8`gO}yb#FoLM-^#P0iwl0^D${_l_CMiRUVB}4zniPE zhXb^`$+e~V7U%cLf5@fw2JF7;6C7>b8$GU$F9#BOMEW^Amk0fETl7{r1o))EBi9&7 z_@gqq#cdcnL|kLxFBFk6NEjHJY|q1M!@|rN9p@#(TqH54rCc@EmgkT~g7a&0TXPU> zEN^Tq3z+KGbjQ?GRhHeWPvV!K5mz5?e&aCbuz)&0w$Hk9(~ht-Jt?ok9{>c11hYK}{~hE-2sx*fuzD zjDZHy6FIpVBZ_~-M2RlV=uW`*J7O`24x_U%zgNF1Q!Pvky z1$ay>BMYSKmTv%vMEupP_$%G8XXyAk>ogXDbd}K9zU!KqG#@E6_PYu#X|S7oTRw5F zd$E=xfUTdOt)J(=NuK|3Oc5llgIFWUqfy>N&?KsYd`)(K^479QMWR#|hSq*g&OTv% zWgT%Skn*!kJvw39TwIN=Y9i3^($p|>uDy4tyK|`fZKjtY@r#@BT2^E5PAi%*XL90S zHu5|^p7}SHw$ROU#Lkbz-aElYU);W>ILOeOCQpHl&a8SGp2fz$-7jZkS@0*VfZ%sf z{XdZ};SNh&9_v=K6%t_@Si88qt?~K$7z*-6aGHqG6R}_uwwYl~7u_1x=k3P5JavZi z&*)H}^OfQsghhok0}0bE#6OYWFyI&l2<=I;5T1kTYpU5^R4|xiuRm!3;8N)?BuGw1A*E&vE0ji|J@@7?Ht{|iRTrLcOEwL^*n$g4=-za| z1Us#aI8BcDY>YS|{o@^Yw^XwF5YR)48NS=UVq^FQ0+;K~)xWvexC8+u*j`eWj{ilm zr<;Fd+H8Jqu|aLMp-yjm%xDYfDA}!mSZHg8k-`SlummmmAOisjuK0)QYtq7pRc%zZ znP3ZHs1)+z=Ti$_RA^(v$C7Ui^dP!ra!<|yjIcGqI5QokV7FZo@9yfC?n(Fnk={D% z&E9>W-woK=2oDgtbFzDAMfc)=_Q{!0zVChf^6~Sd0{-nr{#7Yv(0g$Z9#!-q3+lY} zc`H}4lPAW>oN)gDW&AE9*_z|Et~Jq~6U%-f$!;mJPVLEn9=YRNKd%neS{_N0?1Z1p zAOp%l#m@$@==9)4ho3ZPeE%D(`-_b)&J|p4g1K*q%_o70YZ;Hk(el@*sF+h!JD09b zI$0x{rP~t*z%m)a(r4h2{|5&UN{E)wm4n#L;-hh~((*ZL9zBNsdGj#Ml&@ZccZf+E z{$VU zgLid&Kzq3vT;XqR&rxkzr3ch^T1oo59)@-Pc5M;N(mp`@o&Kxym*cFep4Df;4KVuH z0n9-ow3EdrpTPdf!U{aoCNIhYd@*2eJ1!sfgqyY^% zX7$YfVNp6qNvb*o-#SKf^6}8B%%_)Fk8>!FDWxOvJobC{&|F{rg6IH)AoPX;2spP! z?0#GT+lZ(W6>DGI=WM=fcthk5HT;sM)Mx)@Cni2xQ6ej8$KM1XKM3Hv_z2MP>ILkt zqQ_TTJ1|OY9i_e;Y$3>Jen~1t^8-+DS*1Oo!pzTTAgXM?fDt(_-p++LeQIkf0XgAa z39^|y)&v1Ln_TK*1EP=XWul&4w-4{+`l{i$M$&Ufq7R#@+t*+B#EU0S$TyteU7ElV zsA)gI!;r&gibIh=qX`+vM23{|atr>`(KC%?jGw`N!pVrQ{z<_I14BT@LdFAC(Jqb~ z2XpP0)-0B&C_N{E>B{zhG+lFW+<&zFZfrKTZ8m0OG&UQv4VtF0(Ku;rt8p6JXl&ay z_wDb!c{6uDv-vNxf1Ew{-gD1^$qa~1#Es=hGJc2e{lzm(BB*9btZXNkCG_SoU7vsm z!Pn!C*@Y~n)Ec(tGoH^DJ|=lxY`j?5y*8_8?$l4uFAJG?5ONiKL~gbXA@Z8iWj*ZJmZq%5CF z8Ge(nz_vmeLe$j+LjrAc=(9vT`PcPgCb2J5qnIY$ca#ha<2~i z!XPmfflx1iRp=(CBt3#Zq{ACeCnY7{ju>TN>0~j2=W@gLZ_elhbM4S{{V>-kYqU)$ z+ryWD7AAvg&+n0s-ocfcEI!G1!fs1O|7U5s|G=oNd*Sn<{P!yKbT zscwGtO+bExl6LCKCa!4=K@k@Kzp}1$f%9Q0-h{r(uB(D(^6OyIAz+uldkAE}|nXxQOmV=oqB8@eU{3j?5E2b*dG2 z@Q>Y;w3D)OC=joR?6H12L|GdsFf(TOMlL!&=?Kq-S+qU86*yneYrOSs?5Apet2ngZ z9#_uPg#Xyjc7tnzHTcF|J+v2{7!UpEpSmhf{3_}>30KMUg|`LLcEhVW_54W1&?gDb zNNAtBCCmA(q0ucipN4`FIyi!OL4qkf z*m4Ml*q>mO9K!0kmD;(Lwxz+g;fdOhyYGIRJwMY#KXA>7zbitqWfUOMKmhpg+$JzCTf)7$x7wba!3)vo zf0RdYoOA0uSYGY1UJItS`H|Pe{TU^I+NN1f3uM;@rD~aoJ6IF{F_)0gVhl>^Mq3(& zo)XF;!{e1fHU+6- zcqc(3PeXBEwxm$x%-&9rttt$cn;OlJi~bcg%;?QGHlo$n-|{IP*}=er+oNW*_>@m7 zv#0fEmbHcRJ3D@Qs}Hseocr%Lw{x|=FB+{+(nn5gg%s98*EWg6{-G2jOj%OVQXiH_ zQ2KrK4Eo`yXWsYw#2-PAZ#U?wyXkcr-Z>)@|Njql;lGV9sJKhPmw5uI1Op8JehHC7@wu2&oIfimyR%XGVQ zf2c370#7w0)yr~+8<0#!I{Tn*gYb^w{EYtqE_CN$abU9uw%W+F?N@A(-L2xYu=&Jb z(~cFe`7V6*DxEfza;vj`@qWz!0NkJhA|i-mPC(GUnz}-Ck$|p2$yPx>j7|P)QVupS z3;F;Bg@F)u{51;XhYXD(l*bXBQISuL6IAdovivcj=m&eg`FHn)_p$SQ8;9bA;!I8@ z;nd|0;X-q94c*$#tiU*_9P`wU8jb`Vg7qzLM7amO_?&wWD|B?dp%C0FKLY?@`Spzz zYR7ND${Q)m0M%m*c^9Hpyhs1@b<&q17d$Ny>Gn{h(8+@9lZp3Ym~|QoHMe9B0PN5J zFa$#FjzQ!_h?;|0MNy>}G-4Jtf*eec-#x^7Wq`J$HKj5u!bH>=gbkCuY8xDLs*40P zC~mN-X$OOz`a<&xDCmD+=#d8fh61C@gVcNrvO;F3V{HlLF~ zM(^Z8HtA|#7(!pCjP{XoM}hgs2gl!t;csCf_^*+~eB+4k9}s420-1six^vefLZiaO zw6XEeQkCya7wUk>n07F*kAf0q4LtE#10#lWsIZ>GQpRKlLe9t1nUuaKbNLvYgH2!| z1F}Z}BP4(a#0R+yl==zPHAJ{-ExNvZVMinuK-ndh<50Od5ZZ!s7xAlW(<38MMbQdV zji671kRer0-qa*s>OJ){bpj{5*-jh(3EI+xWZ#ydNPcT9r1pjBZ%B=s-X1W4MLtA0 z;KqpT#D{EQnVD^cgY89*ZG}Pf(4g;7d~e>O<(p$rUowM~Y>G83cKLR$CRBYy==_x` zTy#}PVC;>TISNI^eNZg6FYoHcAA+Ufnp2b)-_v$@R}HsyaA&K$Cue(sa?wMoV$s7o z=TZAZ?3Za|Ir3XGr`Gcwk(JpsHx_zEgb1iS@;ot&0z6D<7^nh>SJRE?M)R<9xYXC| zHLHiGw~q(j=TEzwQi`cBKHj1ZUht%FK;1c*7dmKd6$vgRx;>K6JK1#)l0nm{XH*d< zn9t#bk{+>;P_2bEkHiVAgK|tJ8MQ_c!re@ujH>n(?J+$Y^BvC+GM5QFZp^_~hRBXS zr|33j+Fi5fViT-=vqkI^aI2Nc&gv7nq1vHn-$T%NLeN@k_-ykAR%fR?N35ybno@-p zB?#@K&YdDp?V=9tXe3%RLXYgI@A&5jpP4=oj8n^YHaDvsMpBk|1rqJ6!jWfq-&KGB`l5 zL>(6p3;HcRJ(Ev^gL6mb-BRwfyWQ3IU2+BwUI>rXL%HLpY47wIiG!eCx~Sgl2>%L9qqg*GA9U2dh`Ct4Y)21kcu0a^tuOK7?Ke&UcUid?A zN*DqJaX7PT%so1pT#Kvwin0SOo{r|__L@2$7yVwraa1BA!i_Q~uX0i|00B7OD6wBu zoone{Yc8#Mt6ctr8l_-t>*QU)!cwXDPZ_VT;3}_{0@#$I4NTIPqGFmZi5ks-21EwI zRN`qhtZN$CrjAXm%qBmzquXf)*W(@R{NSE`R{9!-6r#PirSM!mfHoTmGA9lvzLPmV zZ(SL#`KBG6M`4IA!=Pj%+}>=z0GHVik^yb3%0b(gM@i#bJLRRBn+QIgBrh2w}{H?d$D_8;guR@)3N=a%dHE{ zu97)wlBHqM7(t02!ex()tzZe4dvlXhSE?=T4>+9xTnrdMMP5i{L}A2ITGux_2|?L8%JN3OjpM5ZRUrX;tBDFCwsuZGEN z5a>4fv~J&(^G|eD25dg(-|5SN{SIZX<(p$qlSUmfRQK}TV+huq@ITId2YOP zN06Xbu;-Hq8vYZ%^=W=idMmW!`F;B0&c%!(To*EcoecwZhMKW>B3d)yn>Xlmy%|v2 z>u(+!SQNt^B3j?MO8>8@cF!NnCnp-)b}JI#hD=4LjLQg9!0((Fm!;Dd5 zm&LA9o3BvOKBlvQ%Iuqzo@meNd&BgRCU0xALHAan;n0xg#*H$?tI*ta!^({DU)Cz_gJ;WP_3E8@;^!wOM)_1{6RBEmjJ&wjfNS zgZ$(sXL>-uBoz-ze4fQr?b{&w{YKj&pW8Xa3W#PRZtd-&V!flu?We+9^!@mmRxC(azI3(f*I|ub8e<vpBV^ z@bPjxl^p48tUe9imnr}4k7c2zLo%D*Hgjo;(``Fcbksl+oEE1e{6U@mIgO7Cc@Cg; zq9y1WdCE>yP>(Ap4~Y1YljZ-xTPdPrK$~+H)iwvuLrJvy{mAnBb0*QA6=<_~;?egt z=_b<_Vgjz>au5l|3AsD)`S~zqZFWal|eq=4+59(*c8y7E^2T%Yv#fLQ1 zG^@(dy7~PTF>|rsHl_j0#=Y_%J{<>d34lJIP=Uyx`!H`IAXr@-f@c~LQ_o0s#+WgM zyCq9i+$1d>lTP>^KY4F7FrAso5PFS9~MM{&*mFz6m{UJpiJso ztTcN>tGB0~Ijyg-o3)2DAzx}$xLBvQt4niTf%|jbqe1J`4a_+qkZM)=!C)&b*#8G; z6EXMzG3nrI)B#7JRi=6MlE)u0A0g>)jD|lrp$|QZo@L>7U!06{r^Isj$PGbm2)ADt zoY>Gt)gN|CDFFW1D$&@gY-nJzag(Y)!rY=38)pRa*3Avvp#G^699^$utUO@46IYyP z!>=%5V9_8&28pFalbYqgp4fDII>Cv_pwCT7)UOME`W73$TSX~~L5BCCSjKr&_bXcx zjn|^1VDs|T9nx7ajhQhYI}DIx-V}Jo0!niOpRFoznLW5qRk^AEsSG>y4P$?0HhqN+ zIA|EscfxXX7+8A-e%irr&qq({uSk&l*Jht}y-B96AvwL7YZPav65T3=P=r!j;@ln*%zunFHCTLXCT3+JcC^o{E7@&Avy^ z-AB*cKF`zHlcuAE&ofRKGREe&?}jf^gf98NOZ!}45xD56{X=CBsJQqKQP`jhI5>2n z68rrMMUCy6Y9#q;v4!sl%uW;hYSzTfTLZgF!F1@JCtob_yCC^&=?U2Z&#A)`ueA4U zDMFW<<7~LUyq`98R8op%7CUK8*wOeAl>=YDLL>rNEr5df;!rvVCOAVsv{ms+$Xu?J4x_;!EFDC5NOw zKD2(pMyKiHb#VP)1dY2MHyMo?c~_e+(z0BCQ;7~8tiwZ(U!*?|Qb0*~lOH-!YSta+ zL=pbPPt)}^G*i9}85PHV&qfSkqI@BzKF@dDou> z(D?^9)=s+f3iwAV?CvDM1WAE7{8g%7Ry$Wu-YaV<>zcY4nQBKOn5QMmD>v1OV;lQ8=cqTP_Dc3MVq}-00?T%SqWFv(35Rd%&_nq^B%uzk}Kc|ZgjczL==VvN^)~?Ou)g`UD*~tCG5#lzXzZ?QT z76a8XI?)cSC}H%@6A|&g^gJF>1)d`KevB(}^f-_0pw6&{JcGL8PFPzGe8Rh8jsczKcPS2&)7e zgK}~QwMxk@U$n0ay!#`FG|SQ*`!y2A>ST{~ z8E=>qJhbH6QOHxf{pKhqY%#+YtFn*FIduC~P>{v2&wb&Pgx?Q>@~;E4P2y1S8 z9SO}9YHa>(0`ZfvWK>54fiI5R4bScP!qm>mlzA1ljFFY`Q~6V1;cs~Yg^=6`c3Y9< zVaei4RU07u>Z_YC_2$Q_~$Vv+l_!>XrBc5H#+pEH6i@dBMRkHEW-`e$0nwK!KTAd1>5YE zjGY}G_%%)ZkuMI zNU_6)$!Xjiwphdnd)GglF7T;%pFLgAY$<`?_9Ri$6>J-SYoC{tE-&fSmA5-CY`4U; zo`~wrH@Qf^oHs;12(>sqT(o3?9bDVa{Q)FiDJg_RY^Yh)3pS1+MU+}>D0`7)YLkNh z*8*S$p7xP5Q7oePgg_g{iMyl7Z!!Nds@)22eE7}Rwz7Wd$TcY#b>|c)LEZ(_0h5o7 zM2T?i>yuZ<@y{{>YA*5?0o>vclXqH4S*Y`Dyv&hEx&40X$?#7!Y`uFVV6eK@@Ik62 z)MEk^>Bilz_4(G+X$tsb!;7fT0Jv8)IQzWU{IT?`y-)O|8AXi-EYY2P_kh)_Br5c- z0sxN-;Osl;KyX|4PWB6z7aKTB@cr%k2?+2(*Ybx#t$R{A1wGZ1zF{-mbfRGkqSlL5Oyj)P31-qT-a_5HZMp(W6qzB@P)uL4lCUO5JOH3v`ma``Q|0e})|IdG%LFJX=s;1n z8X#PHEtK1QS2A!D_SLg;?^Emjx76)&`{AS8M{JvI?4t;Cf->`?v{Y#jBwm1RS_2+3 z4Cds9ubqX|ORfL?PY}?ujta~IfV?IKkWm(!txGSeoiAcoEZ9oFr=z_U8ntJ4%L<>y zgp}hVxqV3SO)o4BH?IiBE=LG}0SYik7^L7G(28J=hPvS(>=EnBW-vWXt`IV7<0n~P z4(%(O@+Ya}cZiGP3XLDAL$|M`It+FKSOo!R8SBy&c97joq_s9~T$QVou`VQ<7iFat zX$}ly`T7u4+KEAHJfPSXo#lzl^@e77EPOiqg756wPQr|t{z`6rEPOj_Ir8Ya_rB-J zmt2S(g&lN=Z;ED{BFsC6OJW;?&=3r-pC5=iD;5mF$kd_>2u5xrr`fT^!W(tPypwQU zBYlg$gD2|RkQ|*f!|sW@{7<48-?|HMt&fb5%ge!D(!pbrqPmJa#*!x0Wz6=7b2+g%tz4*1 z@Rd}27jZr2JDh50>h53cu)Mv~JDtNCyUV-m?n&w1Ud)vraVB~Dglu7rX;YoRJ&W_x zoWrdofww7zb5ff0umH`C)6up16CNn4zD{NZmMXJ$op*f7cATiR)`HTVGHnQq6NfvN zOOC_*D=rEG1yNu9zWG)?@`nN!A2!d3Gj#E{FcJ)rJda}lKiznEU0)C0uCk#}ZZd#9 z+*Ye8q<7Ly^nSM6&I&DxWc91}jW5}cHuKQd=l1vr^pVl;P37*q3#Z2=Yimd5e)EQQ zEh65oYkxKlSdPSG21B3g5XGluechTmaj|o{;f}+_=UYL3nfPY#07mQwg2Nt|^5C@H zf5~JQk0wgJt!H-^AfRMr^>AGWokMJAg&bP-;lAhj@7kTy!a|$g#{GlEo`T-^{VV_e zuNS<&FJmoWDI-Owm|b>xq>QwP?2C-^lz4bPIcF*~-+)I_T=FJ#Ky(EC!R&df%K!gp zpwBV>B1M%tuly-xLgQcgH3^*vKDTcK$WBDkRO0ahq&SC>J%Uw;#T2Z_|14$J#TQ8{f8I5?XPntg+ueB-K9^826^ zdG^bL1H$_TlwT3?39&z|Ka`bvR=&ufR=PtagKUYyLbBctSK${Ip<#S7Savb|-0(<^ zK^d{>0U7HZs#~$Gfk$UDxJ9=(Wu+#=5Ux_n(-7HWju9GUK4f-6G$h4F)2F)1+}neO z`>fkpb-DejcoZwOiek0O;+aY-E@lXIJh(x@LyE#vxNT1=+Y&g_Dfh`!7i`w~YR3=+ z!eT=iD$<5p(_`su(1WnX>k4&`2hiX+Gjs?iu*sO|BhPV{XnV{sew&b1D#MdCIGaVs zo#nP1j%M!E{91n6ltA#69B0$QkBY#AxTDe0aWz{d+3!d+Z)$+A{^Xeg>TW$S2rLg|f8=L-nM*c9; zL1cjD*d&ZzSR`QvKG7*Pu*_8PFp_uRwe_4MM;j~PT-DXI~p#NfQx#khfe~t8f z4qPIc-X>j6Y4^w&g_C+kEj^?ik8a>+vtSj~$(o@=;W1hUTYKOO5}gR+4Hh}G%h}sw zktFwYFYhfr>IuKRurSPIBh%iK(>{o>KOF_6O1`P!`Jr2#KRS9&ytEg;&-{G#PJ4Cj zo`tA%iymIq1TYRiV(cz;cDVpYOL!+wt6t}@FY@Y%&;+?Co1@ScdE|xcQd9_?VKEpB;))Xl+Y zaT~Lm0iBA}h=!RdRyf9Be?{}08Jk57T#Bej4moJu{;57gp3`CQwhGw)@Co|ccIxI- zsKh7SP*k3rm(kvr$h>DHs{h`|ybuNR!SWJw$75%zJqRu~WqRc&d^6|xVU75sBz?A% zx~NL<{uxV+%mjFb*t5H0+Eu6ewEMq!*KNy2y^p(|2?PsqWl$hfaJ|Yg7sQ5Z%}iPH z!s+<(4s`b|^TSkKLd*tW1hY+WKJjmxW0OBr?OR&!4+F2zKo_m`5==G1FL6!Y3Z1w2 zrFNo!PM*6np{wa-*9%tKUaCel?Pazyy*)8{z6b!xPcp;5Cou$WQKqIs^_}bjsw8Js zk=J|}0j^Et(EJzZt|9QvJ%I*&Vh6thAh!!}2;VRzGg8PMs1;V8d-4r0s>*%;w)@zb zzs(P{jNjd*9}`+?cGk4`m^b{)UwLykKeJOh7j>sjPG;n+plzFM_SGZOcN1V&!7>p6O0t3*ZJWM=bMHdW zyNsb@w%DBq-@qn-p9#PS^Q;Z+SM^}0{BaU})fZdigGTIP{7FS9KKaDazZy-eG$wWK zeoND|h@&8OG2;Bd4`hYGB>*FK06x$Id|am-gls|FzXll+Iwptc@AR^K#l(e^7?)<; z!OVjyd%l}}?Un8yH z-4L?%X-y~HvsQttL4&JZQLtT67*Y)eAKTS9+SR_=HF$YO&E8bIT2d|MV@;S(6F@SK zm4s38H|Nz`^i}MHR7%BcCi9UdB=5t~cJ{6x>zbkXp}kW71i?i3Lin6|5?25xK#=y9 zng(qI91aHqVxsB@8ac4);*lEgk#okskI-;R(edn}la7^tL#k9Isa!>~^xwR-N^=99 zoo4X~j#b)h@d}G^6{ApXt&gOeX6CdbdDwQq$1zwTt=M>ig2F%_2(U?!A+L5WGj#zq zxtnOvl{ulq^ttj{De-vJvy{!HQX`B}&UV4~)}im^G-*|>)OZ4q8!TxIZ=KTvkZP|F zd-8^VQ-i26=q}7;R{NFL?<_LxMoY9?hT9|Myhp7UlBcWOX5h3YU$ms|s>1O-_`NQ_ zN`Pk$w+^b!*{}wT29!IZnwv3so_HOvS$cMhhOYi54U(xCmL?stODMni{pK2r1k z8}5ecH!mb$9%&pjcoW>i&feGVEF6ZYkMT{bhAUTgPNKzOTw_;*INc=Yh+sT(`jhZ+{R<&`N zqh@+<;`Om!e0&6&j~ci{MMWlKHT>ErtPF%F)TWsb1%Waf@MV%c6-ANrqYf2{nPqTj zXBLs@YuM1uhp8JBOV=cD!*Aoe=C`WkAfxeal-&W812v})la7g#pBU+>G*}I>%WQWGbW`wPBFAj7ZCb z1Nmvi7RHQnM0|_NTTPW9ms_8JhX^{BU>eBh#lqu0G}H@qKAbHluhbdQ5BW6EADrb) zJMdVn*p<6;YhKtx2HoS?6~~J&muYLAqjpY%p^+RQN;L#$Feb=k7M*p-RU06OS-Q$~ zH%K8N+wKWn<}f{$jV{`nuv_{2r_8r%?hF=q`0e>1=ysQG3H$GTt$`e8a`|>3KB9OT z^$&44d!WonSmZc%-Z}aGlwXl{XB%TIh)D`0T}eKqByw zFqc65W3)h(tqVzm?(Z^crMT#9dJ3ZLyoMfnH-ma!5qV@;@@4XHj);7vc=~MSX@olN z9ux|H{vPJ&>IkZet2h%z1oUD}%tVLh)xS)7A`F#h42&N$lD(eON^ zXtKxLGsoSsMjNt68#70_vqz_mhxiPc>I|6p444+~w8}oEEA2QG9kJewD_2?tch^bm z=`y72F=QE$z=wqXN$?>3{RB0!Gp(;8Tbz}sEX zt@lpgsrePc0Ivq8cV%W0WoGvND>a1oolD;#FQlwXw{%jEJc6%0g5RZ*&ZUy}HKO)i+m99VcNG&3%Xy!) z&suIW8I0N3o}O#&g(LNSGUGq@s4?`wjKO{#gZ*|Ln8P|`_m-5Xy2lLXCx{XhPg;}{ zT6$>8s8#Zd2#XD2OD>R}0JDBhZ+KpBFjx6TJJJF#IgHJ{&wHltts@Ek8X&2Fm_X#9 z&F?A4f|}Zbyni6xKqNaOSe_f4S{t16U22dT=;B=N;vDI!UF^X53|&qMKmTdngW7ZV zsHA2CbI`bJ%@aqoJ&XO$a<>m|{jQTx^tiF5-waiP5zS>1Iy2G4#l9pC%N~{*BT))b zF%MSvqrW^sygGB@Yc8kT1{V$9!hyk$QFn*@`{hqx!L(CdpM1b@rW>BaNu4&GZ}|@3 zokk_Y`+j9{!t^5Y>5ryDBJ$(XN6q-q_`NZIxvrFPMdE^0c7y4hV?7bo_9F8BIB7@w z95&Sm?hh3EVE@E>1Wb;(M4j`{cli)!`qp9V*!0;O_yB}9tk<=x3Eb7yhn&ASix*lG z0s6woLhx^nBq&XD*zPC5dL7&QODB_Wy7*9ZkF8`0r&I<81uOv&1jPv24jF0A{f36M zxVgtyti5&;iCjb^uf_18&c=aZF@Kbe=p-;$n6679lb?gZV()+{&b?K|M{eQ_t zN*7O0S&Abt@j!vqa9@@skJHO-5)>x$D|02?x}i0Px{+R;b;qKxMywfduHX2|%tKFx zd!uT4qd0oU3*vaEods>aV7fI03M|Tz9#W#ZC4{u(zu?L|eE)>r(0|Lr(cu&(+NRoG zsMog9$2^66PpJJiCwF#p819N;DBB zMGh9GH7tc%F$Ed#IHHRd1{V2=_8{*L-OZ$u# znL)O)jp9E6y?78XTbNRQBCqw9M_?|s%Q8X;n#Xt^pa7SNcPkLNa4v-~$fS#;w$&8k>*iZlDKMvXM&<7d0OyEUCQdNU zf$uKn*)J;7$=w?Wn->h16Gub`LZL95MH_z@?uK(Ko0y=xd|Nl&GA{8QZ!c)>Zb2yP-hsBj;KGtQsBd#yI`)|FxL8+lk<9W8sJTkD&tbCVp*I$qAZf0 z;L0j^WbfY7%skj^zw-BEBk~VO{YHKYaYC9)9%)!8Lw&n@j^lmv2)(yV_H0x4bg6O8 z)8}k9fJ%b`3m7iNUhK)V{k^#olGR>;(-4y&GtnC@O30s{eZ= zar@1-!m`2YVsJWZY#rIUIBDEP;g zsBTO7 zi}F8+CRbl9C8BFJXI1ew62T5@L_iI0Q*7Iq6qiD}r`m2TR%C2D)9p;fj7T|1E{r{8 zo}544N2+{ZW7dl`Ym%2(-WEKL=jMr}m!Bs;Ad>9;cRG;CHCN}=1OWWSB}pf5W955%BqC5m4B_1jHI^(bqF}*{fO$l}M*mZ5JSzSDqpWGa10c16o0h8AEt_%yXTFX)j)q`*!CUN~pp5 zM3JJ_%p2=%&VzZ&B(X0S&b}x>&Ut?HbBrL-_wR0}UQIvWoNNdae92LXnEPQ*5d3MK zUaH(gfUf-bc3`tFPw`#0v5efiKe{;mJM&j32X`ljpjF@TeF53?@5h9^ybz;Ad!3E> z`;myW;#QVsX-dbmL_Km!yuLW3HchcqD7A>#jG-tugd^7U7JJ9ffBsHC{y7&#RD5a^ zCcPB_R{KSIvR*E&ZoRHZij0kay!1l2F80usFFa78B-i+xdLL%h6z^9yOV3nXdyq5NH3!Z2$l z^ADT*P%Sx1tUB|w4t63;Y+s7^bsW$IkO3GDUp>mhOu`2Vr4WL#82GjlpHBN&m9~sI z_11^&R@A58f0&NP^;~2Bkfyu2RzBFz7#`=(OozdN{f~%_H)N03WsP%X56@?h&t;C! zdFh)ycFa1vPiDHnKs4AzrCAl&s6$x_UUkayktsH~zJ*OLw*edAT9pjbI($?foie z!q-l&`@?F5%4~(sYA#vo*S)8agR`5PR3ll=0Bx5KPZo~v#prdoG!(ZXv++pfb{P|2 z7o%%5GV>uG7Ry(JPE`(lekO42R*Z>jQXaitqCwFF!#n4j>alZCypF1 z*C#s9{&Ryv=?n+;6oF)e$m_<%8_t#t#3w#(LUB!P<-fvD zPh0YLE4s&4B+K7^cPVZ<<4#(?3(1$n|C*IdhwoYvwU$zb(uVN<(WTDV-H1q~59(^v zvlr?b z6)+%XO8hNcZ@pDM8o|fP_`~V*61>CSiawKjy@v1N*7}m}!{QP<~;XePNqY##ny%r3MIMD}UqbruZ1(fNToRWFciCi+zf%3B zHW%(3pTGYGp33CCP%a@>(4zp?IYdT?fznkDzQ6>gNg6PqUm;%%IVq6Y{rt@s%LENr zy9_dFc8hYbdYg;tKd*r0dQ{&~0wj9zLszMmNEe3veYq~R*?o(e&b3^cRh#?>ASR+z^8T1l5w=sxaub*k2(+qPs+&L8P2Sc`bI$+gRVsVu z@aNT_@meF~RjOs%y6jZ8Y+JVM*m+rzaTDUo1>|tg;HCb~Vjg{Gj>H2h;IGGoVT(v1 z19-@KJfWd1p&^3H@o9l)`oiu@-$D=5|7!s@7KZ*Uly*3BXE@Y*FQv59{kf#j&%81wJQB ziLhXwEIKC?UkvATfQ3Q*@2JV@0Jkx6VLXeXP<(s}cUIn{aOFMB>23;c(qFw+CfGS> z8l(c@5Tm*t&8w|nA3i-A6VW7ZXstc}670b9HCO4v=N={F239G;VD`D*E?=C1rsfN6 z>=$t?UP7ePgc5oQ@7328?)=TdWuC$BTS_K@sfYuABi)_XWKzm5wFe7S zvfI-_lZ&N#SSMUOW=A)0R-?hqi}%t@I-^}u42<<0K3S*Y%c(?Ch&t|GRH_>rQVEC3?wZwLF=P+cD(+(TUqN!C+YSBJEP>bc|W^hTYcmqJvyQCF3ASLJ{KyF?j z0p#pjh(E`nbU~sg%jB_U3(=(GLb6%&7Jp2AGAi&_NC5$m0-GyPr?@^JQl&s&FRJFQFp#OEqSYmF(Zwtr~_02Zx-UNYFK^Eu&pRPd@sio{`+FL$!>P4lXTcsi6E<@B)2fEMVi7y- z#?Mz#XrO0N1Cu8h$6-d{Iv4&{5q;eoauM<5%iMtuJb=2km1~-;2Ish`!3SS}ctzw~ zaWPhNn)<5|KCE@V4s6D&zt-~mGZ~~nYsa*9?@orp{T&H)>n~&q{->`%$_$K9F??4t zl5C@Y9QZGhuT_Naz9q0pBX$(6hX72U@<0Z1~Q;ilaiLiRapv*0m z6+BVOvr;bbz-+&yz4e|~aUD4wPelVes8Ab?M@PoyoHg<{>mOhCI3I)rNeU#}h1|Mj z!P0Nsx^--Mb?kfjZ+qqLdYQgH;9zC5YRbRZis5zlQQq8|?P&ZpwJrVOnL1v_IaNn} zrIqetoqHvpdu--^ZP55?-?;5sbghA_gX_*L>Bg<(O)b5n1Z&+X%R{Wl;rk4Dl%3CnQ69&*o@Th(zdKups5g0djZUyUP<5u&a5 zROYe%Pvdin7^(a)?F`xXqrVGQ#7Bz4Gk;o}bbiz@y{BuPab_0953#0*n~ z)9zuq&DB4Q8X;NK-}`V!_!MxoBZ@NV1hUvvV?#*1?18r?Cj=5Il6HsqJgAkqxn0EG zv^{+idb$X7M5%oeMSh=j>PJsv{H2R_GBfDmMVJ5euRzqAm|2N*=)QJI9@gnUJkd`E zqGP920vx@L`5M1>FJ>99z3ysbxBBwD9R(ceqNF4srKqF9!25;2<$z3hp{q^IL??Ga zo#9#VR<4)YJI1eO+na2(=rD>t(b^#C_qi*yh(004IECvNh5$x)iIZS?`v0;*nmabBNGdc<-zWM}jz0kbc zofUM?4{iM(nkqU>M=cokoF0dp)}gW~;IM5PE+4>Gy}FoFg|;c6a4+!ZTvzN|k|(nX zCvl{WYEYHYe+sM|xp7>3H`~en75@!sO)AF)N_Li<_oD_DQCVSdYO1UtcEV5>)YKF! z;j#$RB+%6dUDJCOdl6dUYha%jmO)KP_oLiT?F&jQeC)Kk*ME>^vtwE22Wi*>`8Vhp zAgT?;X$dl5v3-7{kio@f1Oju9u;>?7^RDu82behoHsgp>~%kVifCFXStJ?^4|{6QO$Xr2y~QrEMLBu zdH99@QVc_o^NR*=EnLP*NmxT66~5p^g#W_k?zk@bIeJ|-&f>O`W_K?15*iOcNK)Fm zqpfeg%T>8u`2uU4UF}lAtcPAWePiGMLZ6u@uHf_lmEc+0x5EO_;lp=K8lp9k?oppj zj<$Qk_tVE_y4IVy3dkLq(I}dePv%9Z;Kq~iYx75Ap^c699g)*!bYIp9yp2Ck{tMtk zrmYEY50nQ;4*SOF0_rf=MXAk- z@r*}F(Xp)NR!u~Oy2Y?n1hMg+z9p#3laL&QQG$7$gt+HVnCtR%?D90?0()I`Q+R;< z1yaU)5fcaU9m5Ge`s7cI?B^2UhplSEg=$CD`l8#s=-LD?qukmG|3lSV2es9H(ZVOV z6)V=_?heHrUfhZoEm{i2-4dY13lw)L6sNem6)o;k+%32#H^1+@|J<2%a*~;3CU*9I zp0(HBOQ2)m=p1_vQLJ6xD<9u?=p3KP`8$_2K2L$@JyX}A)|jKvnET6v;MTw-7LXSa zTxw(rj(RG#+IygT1^eq$Jzhk*^XBeyyc1hBbJr(T{l7t$;d^QD)KSS=)p{{ z7dHQupPg{R(}A1w$F&#qH|O3B*QSZ_$eAe`S)TVB0OEkC_L>hIm@8aGA>qOd27QQE zx}v5LXnK3FoUu6Spu9k3We(Q$D%0s|5dN61lmfAiptgoSqhv`lij5tgOzD$MV{B>B zzyA2M;JZhCPS{)muPEQLv<&$trPniUS~1_1KGFu$Ai6y&iDHsN1Z#UeFQz^d=;wWp zadPMV7pS%b&-V%t^0maX4Tysu2vNs8iR{(gvqU6 zLzNjs>-tENzUn4OvbOfdesVt(fJbNnPYMff1kf=UhU=uvkMJ03=)qGhg&^!0ib^L5{?__n8 zB5J-H#|>;l-U&2zEYIDx5wqGP6A~;wFh+4k(G&N9q{%WzBHdU}mp1O#jgPMA5v89Z7o$t8H|ydl4y2ORJNATzGv3*OrCNwY zl-!L|koCwdyuONfP2O1{1AZYfXp>-0k!kYuZ+gg9%=vQsG07`!~U{`Zr|WrEI(=^ zKWfU%w|KSUXdDEXqhB#c)&CFJy7A*X?BjcX4>B!JztNoveLJeUN;2Oso!EEa+AHsx z&@ms^G5nM9@qE}Br2n_MRhbX-7dc!nbVs+H<;n7vc0X`z5N~eRlhWWowkBCWWU= zoF(?WY7Z?l9pm+D8*2~_kDTSt7?1iNA@Aa+&>$c(N(3ufP{EOejRcVJMSj8_K zgo38e-93WyqurYCvWc-`o14w~1Yh&y*Y}{PH!tFjE(^$#cW`E7tQY%m^8efK6SQcU*Wl<&&K}ap1f+Bx})W;dT=z&v1_wLy!`jbQHrhNES8)Ivy z%~mIu9~j*}FH~TWivNGT?6i1|@xcSmv0(z!WXPB&XJ2C9eu@o2?v_Wks)&^`tb!Gd zG>ff6RmyCB=~dB!rVv!c0NufoIikjqIogNH4SItLvDp%GQYPwa_QBkFIZSY|V?l%fC<{(27Y zwThi}lL7zhNJp?Qc)*p7DNOJVzK#Uk)A5)mj|cQfiK8Ld;`;>PjvwIvCJiql%mZ@) zM8Zed6o~#CH960O+F7oVceOejWHfO#Nb}Nnfo2?g$1e6$6+EUG@p8fq)gap zjs^(yCFh55`6FDsK9*>Qdo%nICXM3LKe&Riw>SoBpZfnw_8(QjP1y@F%JDDc*!Hm> ziG05h$@f(H{y6%HA_(Q9+-FoKPW06+NH@%Nr?(W7D5ky6xN zw7^<0PMr{@#S%hfWi6$(all$n&CwXBZ7G5A2pa2T%acnk%264FjeN}+`TByL=%rWK zVVrWcvQzjjomWiX{!jTm2B+Z-v2DK9NgfTk&2vG>r9eQ+1CCROi-aJtF(gRy z_i1kU0myXSlr7btaSTCsZCkT=L&C9lbi;xs^VqCWrr3WKSF-n8Dc3pY%s#N4nT~Wc zCM|U(Y!i=Wf&d(sFRz3TyEnXd~20dMg3zn6R*^nW_KI z-*oq&%e-Vi2)H}47=sK<8n>sr4Kk{Y^`W0XcrxCMJ`^cX({9WLGF z?au%c?_%ueSFS=VcW8GH{RWPg;ZQA6)Ft>9kme^Y`6jUV_SLMo z4xE3QOmG^54=_WEp!{TgEqLj7ywz3yBdc`&bZqi@sqmAHTY@W*6A(!;6e*)*>H7HT zYfen{^yF=N6gca9Skokw3GH8ZH+dQgV(KZg=#o4$vp8tT{}zsi$cvbWUY@*daQNQs zMVG2hN(tuzX5D~pD$Vj3-ojNM2&nG+i^E|7h?;#Ls9Dl?U(1~rY_Iu!mQ5^p?!9n! zP_{Ou{q(Vo8+oG+_Ajr}&(8fOoKkPaK(Fh@XNezgrk)E$BMevXTeuOOEQNOd?~;xF zk_~w+0-~+%pK4w5&!&)G zhg#6g7$%po)kgEZ%3^r4#6h3=tA+`2#xTI{o$JMTMdT96hAV?f22|~C+yu1uu)n5u z-r7d&ffOPd20l7okVO-Hi7yb`!*G8m)K@v=zp8(oT3`E@aZZfA>{gGIvSLX1{h6qd zJ-lq%wRX{^UD~@<=}s?wQ!VmL_s6A2{&P9qzysZ`kiz8^YOQlr;X3g!cM1zvG8=bt z39TvDycy@bDd)Rul0*OKYXdCL)F_X2(obF7y5_7?rmS-&ta_%bsNzu5{M$C!({D(W zTAiD+2)-xya8&JYFwS2)`;3X{8-IRv|GLWDU8aDPePP3`WpnFwgHORq7Usc0=D}X( z>4E3H6_o?&dD=CJ$`Bufa1CVc^I(o2)i$ybK zL3=Ki$=^H-^!#la-4Gt502WOGvP4-L?m0GdR^{h*{)dy#gH7zj3kwld+}p3XtnR$| zpIS@g*rl1J;cx%kG}OZc>tPK^!JfMK6&FnC`n-?&HNPuu{}y8F^Zu?vY?tVp+yA>< z`}`6)F#iSnuV(syo?7f1^*HR^OIMY5|FQR{p|W73+gs;LM}-E@&G3Funv}}?{?1L? zPf~?ly7ZS)Fo80Q-4-}gMXLIP*S6rp-@m#O8qa^@keQ{h-@?bh*5@Gv=TKNp2Oe+= zdIjhpXqSd#nX2a^uLt!&3Z5Ev3(KbUey6Td&F2nXpe!`+RS%S8vosK<^YmPN_vCx~ z;Cm~D;Q>@2rRCTo-F7_;gw*7i$DYFn?)SUM)}K@-I=c_oU^%8eId|1L3kNxNMnVRc zzZ;<3Z3Fx41B20vgHcQ2qdwsysNo~N=q)w4EplNPI=@7w3|cq)w6to!G%Ya+YERz2`Bh=?W|fh<(Y(z8$eO@ML#3H;a>t z7kW*u7zq)H%j>hA^OG|$ngw)8nGA9-rh}}hc`G3?^N>AoR*Z{F{bD$=e^yoEyqZ&7 zG$ojI8ut9KZRsidor#?;A9GZ${k;qO$yy%?#h;{~#4$yYxyR zhKNee*jFB48U7dAk8yq6Cn<3~DsDlkc6(7}XMCXspWh;P{xI<1F_KGljemFN%xRXJ z8fP$7Y8kM4YaDsewe8cMykGeE4|-L34{LJ68)t{69l2llLxm&BEsS%W=R_Vsi})3Y z-%zStS1R#d!kJM+$O(OHqeld<6CH3dSV>!uJZp$!J_SLLy1zKyW~_X?I>=Q8q+dbJ z2mlu)7Dv=D9SAG~6$oIL1p(l-XHP6(Q2+-ONC16r>@4}UQsv;OKbx5x{5fAoN3CRd zx5wszsackc4aBHeWt~aPp~{x_HN;*~t0tSR(RkQRZ@+ofxAD`D8Uu|ngBGb>TnR(! zz%u{+s}3>n^2&X5=O6HS4aSAvL#eHZ#K?3{UWK;D~!;Pr;L;I#^P6I$QI zaf}qsaV}nFF1B$OHDjl_^HWgbb_>bG)oG{Q%FBdTcFL%?y7`CA(pMx#*^<)7Yw0dtY=DhHsnB1F-|dOy1B;#R3_w%0Pj3m_}n| z{SNN$P$S{O4RGhb`%sB|xXCqD*Py3m=bmH5*5&($2Ze`kjKeK97U-hh7L?tT^0nZE zM>$Y+kVKQYmsi)(SkDM)N<-HN7jeP82l*ks4|==XBi|jBJ&V*5^EuYIxR>&E?aF5B z-xKbB{$P)(ZkkeBu}C{*4Xto=O*5EgOb%?By6iChvrS!N{_HWZyuj$NzGEWxpZSy1 z-tl_d)6M>w-%CrI*%Ryul=HN*fH(}g;6j*3@FvJ(;tBlw`9I8HY=}?}e0?DZ5a=e~ z$>3RhqlN{!Glla4gn)xo;QF%Wc{6NA>^Jn8#tt60k|}XO|p>QLWlqb(!pr%*ehj5#C-03FVgJHjofukkv3!3&$T;vR=ZN? zl|Ho!PrRy!PRV5{+7*6anN8E)RUDfjTLoHE^DG<2(yr9h-CdiOV8CM07l)1(z>ti_ zul^G8GJ5F%B18ge;X;V%q-CNkK!uI#k#iNoZ`ow7vY{2>uvi0b>RhoqX>wRD|MgKX z9~%=;=tQmtqm>}L)P26ZWJ~_fU_y~Zu`9@8;Rmu+99OJ_B>!VSLoz@X;5N~%!=F7d z<{4mDx_j_1xPW@?X0mv7#tNxGLi6+Z-UoXQIVPQnF(D$h$mPw8PISo`7&JVSD(egU z_Uue6z@o&M9`Zav?1V~A1TfH0#p;l-?MxIl$7CJ z$ixUALq;uhX)9^^oC_gS5Jt-*RC41^3l-?VyRhj#CkEj&h2fW!fmmL02?Z7v7lLna zW>>=SCwC_Oo}{xY*PRclQ-#uqWGcH&^*%*&V~ip@^p3cxA5qk?iRHiys@0VFfKL$5 zp*QdBNwh~?ld8v5KIpMlzR%P<94p1$(Qi=Zc>VV7<#*VG;s>hFhr;vom!YvmxsBnl z%DI=^zqjzuAopM(0}=<1<7_20e#PBzY<@N=L*cxTO@j&y-E9Lc;51kjlOWLkS+jnj zqTp2$f!XJUu1TloDw1t(^6yerGjNCg`@WI~=E}4E<#x?_l&(3GyX2Jlu4n;uvd_oA zm{enb)2T9d)V=rcZmr;=~&JS?G_y_@JG@m(ZzZsbW|Uo_HP?cssEYtZ;89ED#Y>o1yO&GgH7B}_kQUCW0$}+VSBG2 zcQ1#7Q0U77_&&(u@}Vc&VPd`G*5uFfov?%E-fzkgBYz(7sp_|?AaVE@-*)m^J*j`4 z*{A*X$q!Ijhl>lU&EX)};Z$#;Rm*;n4+7=>_n1VvxqAqh=MW=|cuWw;*)`7zZKOUM zNDsNdHJprh0Am_O&?`fe8h1HdRXJY!ytsX|LEc3~pQnhcvY7 zFx1vX&v_H8p2c6n_4TiXj($=u%Vwkx(hLQ3k!yilbBTcX7iJXcb_{6@5e?;7;|%is zm-v@HEa@mf%TB8y1mcH3EW`Cj26>UDwNA6R!EQlM&k&?vZd)ZOhfY}v2b|PMlE91E9B^y_Rb}ZI6@jSt&|2D#zzSK;W<#Qchf4Y{7mV;kz zPRUW92VNJvS~olK@#wsP$`AgiiS66Y4lfeLQ*WSNTMKfmxLQ=&uley$ad40-`mdzl z`GH-k14eH1P_GT)&n$olsC|y$kfNI?Pu!nl#gaCzE-h^PCm3i9Y%utSu;Y$_Q9o$0%UOWnW(s-h7bL95^V15V)|FaQU!u%*Ym5+Wf%LJlISlBiV+m_f% z^{)V*)WCl)ysQLwS3UMhokuU2y3zpBy^?R3OaSSB+;%Gn6^zZ&FODZP&;~v~C0$sy3b1oteOa3&8yXW{pSCttZk|;hHp&6EMge}g z(4C;oQskdH=<@Mr+rNNId5=BFM!)3Q=o7Zt2d)5LBcI!UWiwA4UD*xK0spSnBA5Fl zQqaARy2#2N0*0WPw4+krICAmcP<>*`dFukV?!7X{{3LTS$r9Zi81SWZIy?(PVnR|1zAW|hY)CuF9U#72UD9CECs%RKoWJq&}v#XTQ zK=$E#y>UqCpy_PvZ#%eLw=$p8;c&VnHs9$@+U@SmT#cBnLdnorCDD|<^H|?tcjz#| zGaoxOA8T7l`4JH}0&k)#*mFN-!+ETBfn!IG{ax+b^R{&G!B|i}=lO2z&+Y7=uO$+; zUwU8nJ?p$yuq%ohKika7-pWShgZSHPG~>o!DsCXH!yPvfQ6rk)m$b-TX(u~(L_!J` z1yNBZ)5#%6=u;|#d{ZCR{ng|CE0ZiuKKXGOD)MbEU13YiXTZD6C*9AfC_NW*xfFHi z2>Cti%(4|5X%80610e>Oc#tp`aruj^{_TkPPi z0#&+`_`8+IegVUG0Ui~nLq3D~hp}=qr;5cZv8PV{9u+TSTBtAUW@(Q{f#bJKK{CJi zGUIoBeu>B^J9RKLndOkmXc2uSMwMxDYVMIhMuFHQWu3oSr}tPvswd9qe2@@69NhjZ zg&mX>b-lf>i}GSSK>$|5EXiTseRmE0|CSsroWQ?ApnCwI+ExLa`Miu<2}=5<>F)4s z!<@3%hsGPRvY{2T9yi#GXwYNhh1{X7I>wOVXE+wz6v=?~nDb+f zzM853K)wv}(X+`U;@~00hafxfYVrP1wc<2X0lcjjl~_udoKyLDR|>vH)jwX!Mj9Bruc1MNT)Z=kwxZo9*(meJ zKsAPRlN>8uQ45H#qgG9}rohBARjVzuOGoPxRDN-oe^7PnV{TTRZB}Apq+4~Omt&NW zBT6F@Sap4k&S)n|V3KTO3J^cVi_G?N$MdDUP=8Q zZ>nvElAha`ipJOR<+}T6{=0}=HTdt!>2l0qnX} z>^jI}S0_uWsBwU+=D#EP+qsqycK(OdVr;In;Wi#4AJ6}MY~l{C)2{DJ&QjM>29MQq z8})9mzvY~S)QXW!-|b_p4-)@lB(_PyuYbLO}MV(lIHl04uOBY~j>G?$5a zUW)4Ft7gazT{_l^XNs@jG6g3%tk3yLgm*dr4S@cwKH@DJ5;m(v5SA@ zP9X0IV@>n)(9civX-4N%Q@u$_aOHN#};!mwkN@Ve2fmPlqzRNDObHkviK+^4-4xkGqW-^zcqs9)WrKUtl*bxRuZzw2mhWRREqBgriCWrgf!E)ATB=js zjX~oXYm{w;VhRF$1Zj-Wsw*d18SK(_)#$%|wa4e}k@p3?7D!MbV{#=S1GA1+=-VYF z+m)2_>ptRqW0l*=iwt!%vijYgYb@GR6*25^###w0?78+W-<65mcA31c-wTDvUICTT5-dut=Yn=bU~$0fz#RS*aj}6R8FwVDAhWcqJX0Y2IN0Xa74gF^S!D zsJkNgh@(KMC|sNpIAHJ+(Dkt3U%|~OX1;7E;#$4e-?7V#%cil;F5wSUgA?vTw-8yf z_zsg+sW=`b29xd^NPysn6J52-#%#h)zuDnM$MkmePaW)#WZ!=(G5$_DZG?S16ZC?R zgVhRa&kyaQoRUJ!q6kRQi%HS9@i2GrFt^vTwALE9cq+U2rhD6idw#v3rk;a*ZY0mj zsaXO}Llq1pbzKe%T1eqJfrnO0sgi$MpE2imHF>ze2|*8u*X6l3vL+8WN~h+JL|41kHvgy(4(DQV%CG$y z52RKC4nqq=ix6tlo{Bk?_yzL>WN|6$t#$Uls4txu2x0^~AW9a_gamj1R!Dg&Z^LHI zt0J~w)R{%78DOoa^T&I*HE3h*&etQ4xH;=wXGg41*hWdo^~*(*8LOFBaheOr zWB*a*;z~%8(}f;b&D_LkD8zkNjE(&-E@qzct-Y|oa)34IG;pf8XH5OwlVU|G;Qss= zS8b$x>_MO*<4}wL+0BbZ0VrvaQI4%s!@oTU2cDW@*GT|fd2!CCySHK`XM+>2({Y3M z61u#^Q^lgibjQXbia3&td5^1z%}Sr~_`OaJv=Q(j#RS^<;LwArE#Q|R~jDK#`GuaYr=XvTbB%Uw7n|@HWYv|EC7a$F>$Rk zaDIaYSU%8H$Nf^6lzdws7nVgY^W-ulg7o(G6xm6xSes;;NMwhjlA#={7OdAu`x`XG zn5W!H6RVw5iM~N*bfI9Qct{9zuUr&4}ANnV{{Mk9m`xkb$E-fSdm4^gnWOq(qCCo!Buu&4#EhhOQ{G zeiyjKTNPGIjIhVA#gR>6<@H9zv7jyO0tKmLJ?`UQQphG->Fh4fw&3!)l(=o>kpNDt z?4TmWk!vL*r%Tl~c_R&izF7QJ6ag{APSubkP$6|Bu2Ui(1z(YIk4p-#m8qL{xXSdoLpOzXzcDq@Zz5 zqN+at*VrIP5MbqOPPK(}H;bBk`ITJ?^<_}s9dsVCw`o=#5EDHt`6jPi5_@CypQkD{ zCSx}(U>w-;bn>r^?=MExjjeLX@vcda>k3|`F>%cx^;muIQNtd3WTqMSig0&icnU}A zrvLj5sTrb(v+md2*(jJ|hv)ZFN}o37^^3pW-Y zPaWnk+Y+==ug|>n%P&}Me~Hs<5`VXFd9XEZg{`h=ml-?$jw-Vf>>>KRm_ri@wemlT zJ+&8p_eO+|KvbMWL;wx7d%VwT5@XiOr*(Vi{hifaQ_yMWA3QFs>vvB1`a|_YhGrt{ zbT*0%SrNj_9OIa(pyx}ZxOlm=(dDBonmar|5aLN@^K!A_g=$fNlSg-U?|ZqvdUFW= zf1<*m2pW}6AXg9`RWbC&7zX7w0eo;QuqIb{(TETv#)WYW@PdjB7@{`__e;`S-Pt1=lqM?o^(E%G2$^0_N zVch6XZ3GACt;%XMs(har>fKn?Ie)S4rmLWu=I4znu_Rr)F{+2s6dSPi;816WDGwVOgZ!FA!lUN}$SY{pQ~BwRF}?=2s5n zdzP8Pp$1mBFC*gNd=vTOs4T+$*pV2Jdk6cE)F{@5@ zXwwNwZEy?!edJu2BG&Tiq}QkcO1;XcdHpt*ybLyB)Q7G5hxG2q{6mFki*Asga-g44 zke?Ca%DwLox`=#%yyUJjOLcHa)iHcKf$xMIAkg1_e;=}wtT3$V&p1fRV7I5hepT3E z2f~2pL_ZXhTq(clMokX(?HLJ(0)WoEW`M?~`&ZiaR{M^uTB9hlX?9}O_%QcaIoEjd zMzcUwCy|a>)G+rzp#cda0;Hq^q@;!Wq`%6srI{2h&=F0edjO`bvW`HT*;-MnOcXnf- zI05VXOTIV554EJWBQSsOr7ABy$p!5jh=FHyMRo4zE#G467hgtiY~pkq!lHbd8Lgy` zbPkFZ33#a*M3WWYj8f>rh#Bvr>&6sfgqzi{MRpUjZu{!7mz-z^S$7sU>#5UVsXLCQ zz`dS=WC>`4OiLIbdH|OdZX$Ry3xaOl>90|M4=NDbO1EzLC+mw14r23QrZ-RKc>iR& zhBxjh$+zO^QM6rSAMtyzs5MsIgEI3I*rRCo;CZ~jKQop?kSbP?D&0YxPsiI)^I%bT zLmM(#Q+hB}I`m_Baw>A;$HnBP>w9FxVw~!W_`Br*5AT)yfq!z;2lq$ledv1(`e2!w z(s+B_oyT7%5lN=Zn*d1qJ-it}lwOXumP@P*;>l=bJ_D8)kVH&%4La}$EBM`0 z;!r&>9d(jHHh zra=y=6Vsc5O~`5Ub+|q;6CaAAHZwWrt`cXV@v{hT=*NqbsT4~`TOKZ+l1ESpigf?G zG~B-Xmyb^_Y>pOaUWktkhrL3t=uap&3%w}1 zX1%i@y?Epgs5@#Bn9^M(yiD#Xc7(*6!~(eY6#r`uvU(!`nm`JlKpylt*9UL7p+pGB{SBigX$}ZRJ^T#UncADSGj=RbYEppX&=#6>NM@U};R{+)`GL(?FuBwE6k*IkF zGD)a3zgkqingv&~l2_CPSJ=zX6W)4bWT}0G=m_K|1ofKTD79@rg~qNAe1;3#2@}jz za3oWh6Xr^=Ncn4Fs!3iwCtmd?ZnVa}c7J}&yE%+Hb)k@luEB{xxRFgO2w1>*|E2p* zrTY%2`*v3w>@gI=(G8D46KE)JH)PeqTwKi>V?_pb5ilZ-OcC#P0978`s67Yr!5_y2K zKj9?X)lYZc&6YG5o5r*XRp|IQNyXUJ_&9NHHmj)6-!47_Kg-ldyw`$Kf=VZ#9tp%Ow%qdOSI z%|+G?XrXITQYoborMuS2HoIjEUpvma0!28*N@&aLVy!4gL(@`>9ymJLnZog^EFui2!7F z9c=BrF)0rvfc&wVnJUo9@7unK8>fB zvr3^IY#Q&}9n6#>hMpT-kUhz$XP~RhMaz1^|K{kNg7S`xZk83>Z$12h_b7l7ilN0c?!E*kAp3i&ivd(UC5EE;o(%pcTnqVG0Shp}(Hb~hM9kDVehb*a zT|Y|4gjLdiJXRXwqo|Du<0uHaQbMvKcsh#+^q%E4a?UNG4?}L{^0zOLd0Vm}s@r1A zs>*E>+yPQ)G#aRh$3}qwTGeXrQ?$qCqlH}~M2fz?pfSwyLdHMLnv>^dViw!|HV=je z(dTh8yE1k&&|$dU;%0RtqX09Qp!YD$?=rRE@+?q1*?~P8!X}y2?oHmB`JWm#w=ZP@ zcFMu*oKFV3ZO-oj;U+qO=Vx3Z?7HUbnYJy8t{74orKDb%v3gx8A17NzK8IYvXgt~3 z*p0QVH}T$jaWcHF>3P`e1rNQxD?<=Ak#HFIgwqwL*G{HGZLXDN6rW>?pBss(F>$3i zfvGt$z}OQ>hRE9%l+o=v*a(;q9wR}LKoG;h!<+VN6QqcjPzy6xS0_q_weYtzw1BOi zfi1BM1AJFx>6h=#z+x)^IicQpQvQioWk9NcVPM(I&P&S#_-G+lj05ZNqZk((eIGCV z00jIr5Oq(C_AuCQi%1@7D60xRjQKOVgj+Aj9 zN%`Al^`(cflnu4>K(#XGRia%oDU?ZWNYjpSzuF}nsbfVI3AQycovaY1@viwc}Qbw#d9Rp6|)VgVn}Vr(G^J)fH2#qK0`BUZ>H>_8?FNb6CG zu{#>E1fgLp+PV`GUmv>H(Xa>v=0H#^x%ZA5Qr|&fse(J6oCMA9k@-no6wu9-TG&0w zCMSZKSCR_qBnCkYkhO4f7`T8ixs*+Ln*avsqu@MyhEH!X$-;l${t&g~u{^}f@CzxT zDlS?o!EhMptd%VmU0~WzqqTN?jUs?Ma4NTyauZj}!ACgx-8~uw_%y-z10fwEqbUbn z&;i4+ZI9eSnC)c4SVS?rhfF6-xt9l#FhvH-Mrx8tT1T53b_a4UEj5*8I78SbLi5Hd z6}pcBB4P*wh{m$jDeAZ{GtmLn33HA9*TYV_q)nJ&`XPr+>l|WR{4vR~N}spBtOCpP zKjmT5>B~F!hI4MWsjun}wGT%}nvXHzPg(1f4bN`N(5HtHooM3n=%YE2hZduy5w$G3 z+$_?Zh>Kt}!<}EKtY~=*2wEIJEAmGgX|^doegB#mcEVhmqhJw8#~#u0^#5xCT6w4k z2SoIchA`yyku7WxCY#m(`+BlMyj8FV_Wfco^k#2SW1JGh|C@k1OhGhG z(vKIUq+o*e86?0Q?RkL%2)U(N#YmEWteN_$%ecIP1mQpeNb$d}^Pwz(7ez@LzJKEg zb-4=Yo_)=PhNy!3t!NFck_z04j2h!4Xnmi=OGc2QWsWnVZWSYr(R^IU6>b_7#uo7I zwpng zW+nv@{sOoTvFWN1>pimblMwumo-#=gYr!JJ@1=P-O4VQn)&faO6(@<=nz4^fDRkOwk~+Y?=AI582%rIMWkN5Pj1Gs5b|aUj zw`YjCPfKCjNoR41MeFKIU{Q;Qpt#dbwC(*>LHFGejhfY-%@pe$)lW!fVQHzQBsRep z*%or{MRG}-gx0P1Z!|!EY4b#UJd9P)nHxGa3)uRb8&`Y+FS2q7*@ zI&04dHh5n>TxW=fH9`uk_(p4^RNkn(THh~w>u?ol&G($1{)hXl5@A}qqw2oNJ@FOh z`|cjm;#Q^Z-}UYk{+IFbliCbjs8;g_3X-7nlO9 z8MIoh(j+cke3_A4MacEP0MMoIkntag%B|@s83)qWEIHc!M=D?u8NZ9k5BS*-`q3La zG>0Cn24{in^IYIb3H`!=P;JctM8!!+B~c4-`W3a=#w)n% zOfF3yH)Ii-o8z(Q{2c8TnwT^n(l008MqP{Z5C5Yj1nD?4>|(z#N*k3%giK{IynD4c z?-l%moVEjnj8$%VtvYw~r~7~M>($yld`d?Dy;(^rAvFAm3YduKN2o7}|2Yw1VwDx& zjSCcbKoRyGYL|3-P))amD!g9DoMvEr@Orgi$_br|kelnZXy7qq#7J^=_=uVpV{H7P z*$hS6i^e7gTjs~MG%?UlZkThLSnE!X4HJMkwL2-M6saE#180KY8N8dt-J++MgTJPDTo$Hxj)@V7wex0xuSk}Y!BJ0) zoMJn4{BU#mmuZeaQ#SSDDGXW7b5%z~x%@J}-4TV|70r zOEnZ}X&sAkBT=8QY5rCbpEScTy2QFIFn}uEXx@X#E^Gnq;uz!}yYxj`AIlto~&&!l`5$Hx1B6dSZ=N}%?03AH1O&83C@HwUN4_% zP#5Amt%}awZlo3usxpSW+y5DHR{%K*%BtGBSfK?PEvX;N4?sS5*g%(+Pbk5sH6#yX zpzy&{ndGD-sIu>>%L&AjB>Qq9_1#{c;0GH|UJJ|TvpfAJW8JB@`K0=28w^_2_z;=c z16uztn*mg5+g&v{(kHoAKifrI<6>TYAfOr2unhhBCY6q`NM@Wjl|-24Tu4dQRv}xP zWNP%NKEb7dr)2YKG+IInxsVu$cx1maVR(weh7jFyZwuo;rMf`FHjL>3M3n#&jR9bg z2D(Z1eG~;3{iV^3zX!jO7-b!D3;BYaZfjJeuTWJn#8$fcr^%Y=A?@4uB@rDJ*o)|J z7YaM|7oh;}Zs@k_3->+;yuTwpmOd~MwXh-I6WZ=>3(OP$Oy?s2k zaq9TrXQ>ruiIr!G*~TeZ#<7Dtk(M?xjkS3Y;jTP+8g}H1t?mKC!-0p((dc9YQnspb z2eaI&fG_z+BbI-6I|TPrJ@!-T%ST(IRa@Crm!nk$_fyI=ISsNAHH%9#M70&C_`EKs zeE~KNTA{urfY+Ve?^0YK-XVWznDcBhEVTGqGSs?NS2s6t+sZAHa$wFId)IqJeq{vZ z&2E4najqHT&~#KCPF`v1$1UFAT*YpPYTg1mZzS0T@f6RC=0CZ2U3_Xgy~0T2m*KNg zyp#Nrv$;{n#S)qXKy3)1@gg(ExFp4`#e|WHO`rVJC0Y1ABd%VgT*)!1C>XjbMe*`~ zXgbTNDBq`#-@9~&G}0}ggp}0MB`uv2(j^VTE}(R`ba!`y0#YJKr-Y<*_wKX5=bZmJ z^WuJY@18UFbk3%)6SHGslZ%_LztV-i=P94t(t+5c{s-K8Ry5R z(NDRWv&0S2f5-quly%wXac){UsZaiwM@lzEmI&H^9iZ9y?@E%i$S6yL_&)*>Ng3W~ zp~1Mwt4=T!GvT$(xQ^Xm01c=CG3M}o_B(l5269$H15&|%JkWp?upqjRz`Cj)Fd3aE z8y`r`OM0b1{3&TevJM>Yx?Cza|NVW2lE>Eqb^3i;zU^MkkLw(WJYN7LIb<1mi2!s; za{r0#`!j_K^1)}4JP<$Pt$FO}>^))yJH4A{VucnIg0vNx#B4X1>%nr4yil(f?KflJ1r0lrI_jq>4`~kYCF-5vj2PX|FElHKjF!ky3Z#r&85b z#WE_cQNJXyNK{A)y~ei-20RVJJt?5Ox4a#SQ3b3Y(s7}%o_XN_8hG?+SnHXC!}a-s zA6J7^2k4m%P~n;sQTtZ;NT6(zi!Vb;jz4*_VvKKethIdXBvHrt*#Vy{YsRD=yHi5N zkV6HT(=1&aRqv$5;~f3j?dPYv^aq8g*xXkl@PLThqyOle=2u6Re%1yTqaSC-R8nfW z^k~-f+%0;^HfJP`MyzQD%2`%Nx&_#7=CbswB+>X$CgCE?Yx9QJMnu9gz&gXn zcl3Ibc8IR@us5>-;Wc`eNjcH0J`Z=Cx=X^^eZ|@>nOXL3wFr-Oj7<>Jn{MG zD-p>BJf$#KxcVmoh!j1`O)VGxi>RO@jH-L$(AS%;&CC@^^ZQ$#hLj7pI5zNgCPe-P z#y0#YrFs&4sf!A*qfwwIpvPMoeIcQORTTp?gM}fQieKJZN*I|9%#rR=v@eEAr>3e_ zTG{BhQwVT}Eu6_oD90W8?KFX*~tFuh*-?~kSp9q5DPw9(^11c`Ip!8XFnkTejd>r<4kxOC! z!Z*+#Y#aRxX89NQ(#x3SWl9)&dnO8;r<4k}2WjPMj^?ldTcKc8%q?ZhMybQr7mTqD zB}=1Z>N=dV)g|MabB@|VhRIhS-X=``peCQw+-;IVhC*vizz=)j?+&}4j-qEp0K}M z%c&hVH)>2*6RehsUoHQ+sxuz-RrY3Skj^tok~}e>SnA5$eOtz9cI|jZa>`nG$wkh` ze&OtruunVWx)l9L9e;ryzm=MxHIty#2x+~u=AX)b-I_1lHs@`ON&MaI3Z0mtlGvCE zm^Ac_E4Pp`6V$8D;7W+)V0j{z>V(m8vtw_Ob?Bp^77qU;nV+;O79D7Cl6DIFv?i}XB9*lS?D*4)bJ69=lk zn`+4;(N!AkO`J@|!g^-x9MkoQ(#>z?>o_kU$pQ8k1v1YGtiT$C%NQ4X<)7Ci%T{c| zo(@Q_{LmJz(QM!pvsXMfaUFpX=R2)3NFUMoUaeXQg8hoiEa#H`cwoSrx!!>Fa*X*` zJ(h^q%T;EpB{YKrLcWzxB}RP}+&`P#?7Vm`Qw?wg_jtuE$Y7t3(i%~ebs^udl)oju z;yKg)Wv@{uHDCLhjh)3wGSV1|CTah!rP*(n+C=;P0VW|3p*eh-#>4m|Wq~<3GO&lN zE(w4)2E?loHc3cEqh0CDEFOSC-zZ719kjBbT$bY}0(h0JXnhD}QFIdCk9%ePO4MpA zt;B4m&Zh<1?EaA_S_|NWY(Y#u_kaQYv^M3^rJf-F1JH#}=oP~# zyV|Mo+zq!FjReJ<0cd{?u-^7x2a0hLSc=``ew4h8ua@NgF1w}*zDfJ*HgzHE_;hNw zag$o(9KW;LeD)Nob{Z{gacvdv)dM%D0ReU|t8h_iLNb99y1qcE%djdT^uwMndXL?( zp1X1Ir%gh#zq27l6c2&KI%wwSO2pg?{af?)-7kV)u|_Q^{G%zniv5kgTZ1(DdE_b4 zRqj>E456xrWF9 zzG-@qaa2Oya9Iw347E>&onqi^9SP+qV8tHXq@QeuGF%tV_qO23@AqoTW+&%>cbd|P zF81*{&M`aLiY9YMA;iz7=P=fIF?%smv|-GPgmH%Fj?fT2cQ|2jiqYsjla#BKZtVA; zshNu(pQ*gJNZq3>_LDDV@(iDa)lYDNR+7 z_7vVZSIBD|Tn{k!4lcM$V`~oW(&aP4o?)6+fy{^Ivq9elilgLPFenF7Nnm##^pLO0 z*rM~3VZc%J)(qDNYFISor}!k-jvVpK4-&eI@7nQ^#R|XZB6Pj(ZDMEti%udIf2&9K zFdMA#l|5J!amC$hz7*H+tE!^4jJk>?W-d{_z@xOgYf-HM$_|*{)71h+hai|KeQOUj zgB@pG`8>}1!yAjb)aJ6N6~-3I8PISuaHfY#@;1@b2sz;9PJza;HJoXTiJ8H|PbesP z|5@WF=@#{2Y(-%P4mM__u=TN^VWp0FnazB8^b3Q6r?<>e&YNAUnR-qOjD5tw3GZvT zq#cg31^k;It0$)gfXL1g41JBxode|z0Q>CttGHQ+z$O;5Q6oj3ggHtZfQ{VV$iR_lGC=Zy$ex!@i~U9u?=3*(r%96j*;M3LrR1kl`nUg>W7y0&KlhrJLGHm%65pdKLvw-l-fN z%MaDOu@JVP#QlmM{6nI*XQ=d`rux`Jueq~wNjwGk^H0si(x9m6HipAP2(yXYRnC0oO2=@FQ4g25@m7<`BT3aO|;Ei3A{PPN8)IXeHU_6ba zPWzn{QeVPD2DE`JUxGrc5bM}zkWK8C=x?EV4CCBI?Py=kabuJBRr>nJnWz7K-6_D; z)(p*e4eMd=N74oBAE?^D?pS1e!Hqusoc5mN7yzV$!NEw7>w`R@l|CvZ>gVWvwLUC8 zVV6KT1bdm&Iq&Yue;}48vHNaFNeQe0-!u$vw+zPLlhfv~+<8QdEJCye0cE7TAaeo8@HOTltx}76 z;t^96iYf09=PxhH8BvtEjSp)c0}`ou@c7Gq;~!3-_>LR$H^In)$LEDSLW)c*nDF-L z*B}n|!(+N*!`ttry?2E+(5v&4iQe-t74_%vecQDlLzUdMo-uXYzaIF5$Vvyf1%g)P zla**qMY$<`h5O|we326{dIhGx?j6Jimaq@KaZ9Zc47-?Wkfguxx^79eO&XNpyxw{+ zpgxIrYZIgnwc!L5fpz@ctv7wkFM!a4@ZWDNUI#Nsn1R*4Lgr-$MKt|l)qi6xp_{h= zx`4SCT`l^$0d!?8qL*Bw=Y1nEc3(*4-RJkWUYcQy-jp;yvQ;01B&+I3G)@-2Om5{k zdK@{ss=XFw%M*j$99|weU#kiFvw8b@way$nd#M+F7x{Ded~JWBdAh!GQRL5NhOL`w zUXr{8vpp>?_2&Jz(u3>$j=$}QNV53n+z!pDhfQUfKP%+5KN78rYl0NXfP*5sDcvqi zKm{~1?+Jn>e5flH#+T>L3JjU(i@*s%wR;xNJt&re0v0Rk1T|!xiSE-APCEmy?Jxql zc?$*ch*KilH1g{tH+0#%-Zdaa!7|Ao%Jc3BrCM5p?r)WE;_ufiK)?$Wx4cUvNml7Y zBp|8v0`;kf%B@YAsybESDpL4CDCPA!tSgs&H3HxSgddRnSsB)?sxFX-2J0*lwWU4Z z^HXIpe;v=foVpMnZ>Xo#wT@I3R$a--(c|}A+I|e#d~5c*4cD>DQOVe?AenD(3eX&? z30)c~w) zpu655GoZ(#?H!RJd*e=bPyw}r_itGMcI!UTmw-77eq!L>Ig||zP$XIlc!&+I*7*p5;03;dQ9 z{q(~QlwK1v#SAERdkWjrMyI2H50${QeF!>SD?JEpN3;nPG_lA5d5nE#l>iW%=V>nc zoE#;7Tc#4d_&xIa_7A1@%Dm?P&L}%kwq|V( z)i{Cw?v1utHkO*%W)`(K;`eHoO$VSaXqfd-5(wqGK#OmT6SZ}pzbpV;t7F49Zuj&Z z^pIWnr<+Zsv+B#nP0Hh~Dz7D4*n4B3&%W=6!wmMyMT8Ag?hr5P*sDDwX#=S2jSzt| zoIuM@l9P%vnRxvPxOI>wWrKSj93#fn^8naQpU(wn6K-+4g+*R0g*+@ZKi-bsiVBm$ z@9Ca)kLKK=GeE#3XVh!*Rz-^u1Njpcd!-g3v04$q5s@S>>5<(b2J7#(M3GIe203_0 zl(h)eXNTehqmTc_r5FQ%=EV3q+>#NcG@jksiNG( ze`u}Fzkx#)ew;F|ttaz7GavL88%sptnPvNZL2p6mGl&8WIHf=!z?P4QrD{^3&0NtD z3&zSg$xlCCowDs~?Q7~Aq^`NA=N?kr6)vx##}Ta?!DMJBet5IGcNG>39f0SzebG~p zi_%8<0f*#`NZO(RRY04=o8QcnhE8cJt@tyz>vP`y?nn$&k#ha_6_T()sS{Z!a;{08 zsl*95)!{A)x~piLB0%Q>n zcU|OXl#Kl`zb9DGW$&D_)4`L5kXC&C0M?*Q=IC)=DKuaclfO5m6PK|TMv zeHWtVVIo`H{b|WzzUIj;=J8~k{MD~xczoF2nP{kZY7dDG_Ayi`)}=;0C32b-A$GGm z(|==y2Cz-OCf(wC~w>ag0HCZEzc z0Y?%l`gZ#Gco6g0jr00Fk|;S5MrmJ`?a>|mSTgvgRAEbkMX}@->xcTV{yxKpAQoFY z$eY{zI6Ahc@XfK0$a&L7NU|Rc80wx@a`oz(u4|Is%@|9H?C~2Tok`^%a(2YK`H%t0 z#hoa>Pi{Zr=%laXP=SW0JZ|&wr?q52Q8C!Gwa2>o^XN}0%vrlaidU} zLooL5#?b(^%T{)zGBo!Y7novv`2sfr-&}?qF6I+`5t!C9SnLwSMk`Y}G})mE_{2DY z+!eaJUnyV8(ga+o^}(M)1ux%piK0SYDQ>+dqwj4VvvIgsq<;Q+Hy3{9UW?eDZEil8 zukCevq9O!I`oZVNe{;09&#U9kW%#=}e|>xJUl-Pj2DE>VsF0NoP_xsMt`$|gEVuA* zSFS@w8)HDN6QL%Q;=hh6LjbAvx)cJ6$9aJ7(;Fjbc6D#go=elUkfA@3;qwsD>?fqD z#=`w}>9f8kw}1)h@1Ih8@`_JdfCXceytqwLtS);Zo~yg)ZX_h<{i#Svm5u(5&XMp# zoE|W0_?AUgUWdsFQHBY$f?XWZbjhn7fMj^u_M#RsVnJr|1$NN+s6`9SanzUjB5dF| z9EeG@gFP&{=%B$WWaFneqh+NlI8lroqoMxnKU(Qa2kdk}w}A@-C3(i+7{Rw=!n#U= z_>*0oL{raqb$ui|FrElji?D>%4v^r(&nMJ7xYg82;&x||FTO#Kis`y8$y};y_jVTq zO;VpDa^f~DhwfvSdbS)*SaVYjyF*i&&<1RiY~o2&pjrc<-zBg>)cm_{RRVlGo;1*X za8Y9aIj6Nu7)(2GxCo`R=#KqUxdTazeYY|2d8^IapB~A@FVZ#pvpACw+fM%F>VTyo zs$*qAU5hf+6$N@hYy>jV>vpL4B|=#r_b|=`SdB{B(qgBhn+NlAxGPB=yLhPk{Ua#% zT{4cISV4&q629u)CIzyL{<;~Ndl&jMTO6p@LDO5p-qKiIo@KVO0_OX9H0N;dw}9+n zx2A$wc6DpJR~zS>S=tOtisg`!Snpf_paSmk`zAt~hZF$3^(J|lp3vRghmGduW=Rvo z^ufGo=k<@J*)fM3y4%F%6(bd}mNLQbU55MhJ>TdXCOl-q_b7)6FjM@&2NBlct#+Z= znmgfA<9K~l zf(ht(c6K++mVi=i2a>9&Q2{P+UrHZ!6mU`ogcGPJ%>i#kEoNP_*r$L9)E6R8{1QGS zTxA7}H%hxCj?}G_>%4GrN0!j>jI-470pWM{EWn~9%i!84htG`jp|GgeuNysO>WT*t znM8muN9DIorjR@!etTYe>eVY(lz(PhT5hXIn)+jpIuq`@$l%$jIyF-p4MFAx_`%^? zLCvx(keBQF4g@(wr0T<*^^s$q0AoB9+J2bIvdv3}5Wc?Z6K}hRJRY9Z*R$;ZUa;g7 z=P2l|1H%{}F{LwhA(P?#emY5o9m_UU$aslipMcmB$u-XK5_!HIScFRdS1pAA@rt9z zZ1_paAS@lATukY}r2rGc4M6x9&ko9{IY45CP757=A@Bx{DIYOdBRS-BWKHl znjU}J$Mb13_+>xNU%I7znzOxS6M=DOCx`Dfjb8zXI;Ph7nVh-Xe7wS%k}feU)zu-> zBs3eKk6POiY+^Hj3Eo19)n|`+VXWrJG6gBX_q2A%`D{R4--E02u^S+_Nlt!b=~HC)QR4=XdAYA?%scdtw^u6}*XmVL+*;Q7k~EvxzG z?zD}VGP;iWbB=)?G11gnDt0Ut=E67m`kAfqr4aXn_b)#x1)3NWS?$K^>ff_wCx;kD zKOOtPdu(&181Yb*JUa}oyhU5oj&@0k9oiR3W_>ehWIifDj=_*+R&s9=(kV5bG;b*G zSNzuB!d&DCm z=XG{lRE~za_(a=uCT%*lzNR@H9~$9ZNJRs6pSWQl#mxW`biP<_v~x#M2tLCE!{(y| z#<4kTEycdVAsuQ&F`f%!pC>q{amca=TMPV1%MlOaIiO=}i$6oTHrxALWM;DUlEW+I ze1#P3QoLZsf@N#XkS!LxbB{8iZYK`boC}{q#71UwxY}p9wY@MZLxpKC`^q3=;Zr=c z+C7sNrS+-n;^0pzn-fU`gF+f!D+@CC=ju5tF4S1e>y6Qn+i@nTXAomjeeXLiONp`c zwT>|tnkxf&d({x(AZ&(sk zr9X&2K#E_3o&w@Yj;NB&GPPqCC4x}3&8=Yd@Vaw;9-7(YZ3ZEtL8pPW^(b|&Mrj6S zl7byj>+Sm#m3cii6F>L}VwYcNxspok{`xZ!CXbJ8yTR@@?0~6&z_w#(5?267&(8bO zsr|;j*(A1tOxt&%yw(BN^SUXvMJO6IJ6q5sNo8$^*DGNU7S;E7|FXAdtn}b=e>vdZ ztF~plQuQBQ*=#Fw-L#D@FxeWM>6s0ZaT$J_IuLQ3*KO&2vhtTe>@1V+@tO`lFn{Ft zflv{z#J3E>5ro~FL8de#$%Ux7>dsf7|X^jPvMy#t4f_u^k>$hYn%mDi%I@cDYy98 zwa?S_U8rP2f;i0Srvu&1(ojH4J4vV%)74dfCAl(`eM>Qj;1)0iFehzq&g4hA6`!_3Yz3G4%Vtc1nvdtO;& zU-_ne&kspBU6W(Vt%~~8kbexf^)PF*V_jG}aJKVo5qR_FpGmjWavw72EnsvlK&FYp z-;_`!;#R6p2HU@AFCWc#iB^c3%x1?{;2X(NYyOF}WO^791-+1yis8v4LXXE){0)qP z*-*8>92WG|K>SX;Xc6%Wxfr=#p0>E*dOfup_6aO`Zrqw{Bs)C^Abx$ zCXGdI=2pniud`ax(uerVr1{%F)`@$Z7tfiEU0L{jzpzo)pgC{HK#K94zX1B`b~4C& z#A6gEJCc$7b4Odt=Uooc+tIrm>>xd+^LLTmvs%4sL{pso=sKv*SCMho>X`>C2`pigy0i3GY>&s0#+t}*1t z`dhcmvn7b%cKPHS&^s?oQ5PNRRA`mcBPx-A?pS<;&bCm}ShO&cnRf!4*2aY8!-!B6 z+q&#PlSrMgqz(Nv-Eif{j_ix>@nV+{aG#yiyhEW3lfT|8aO2&TgF~rV+X5}EU`nX5 zz_<`G06`gWe}rWqpx1x;yCd8WXuF~PPfy1pYa&W8i0zN=GL^zN|GM=XtjAuYZaKd_ z>GqZmBQ%5&(nG*XiUdW3#D=iROuJ*9?wuqPEt zIn=~Mx=*#VpuVPlIG%lr_Bi+N@FRgg<#aUgx~t>q9}WaJwb13h*7AkH30;Xt1uS6U zi*%IFl~`P`_RoCIN(WY<=B7}~d_^(hNJ|i|sQ+2MuE`G@5@rg?367n=hlpMifE`sw z14t$ve=NrBgT?^#&+gYc;Anr;#V)0R$KPPs%5+KZYcz@7T3D$`xg}I*sHcbi@3)48 zo4KMD(`+|i+U=*0ql_$0p>KutSWGICs)dyQ)G6L9lK4k%i#jch>;7dd^zB0SmT>Ul zIH3p0u(`^d&_6E2u(touy$~-4&M_t~svqKbuBhR9O!TgDu(v%U2NIv22-aAjug){t zc<@^FI0?>eE+morEYM-~Pz#kNl!EBVcx%Wn9u@M>A?^=V7s>x$$=hdPk6z>;)sda%X-tY2JWeZ5&!oecOG zO=p%wA^G)5B{6Y*jRVj!ODyhTR_R(%qEi{=WdC|uN{~=OKxBiPVudvPqz?poThSUj zG4D1sp)5{KkqHH%Gr39c*R3ep_F1J-;=>-UvF@IATK#+Vi!)iHiV#tQ3rpX=*HK(3 z4xry|!y0Zk1uL7jC+fi+lZk#%J#$kCL?Z+gtFg=6vHa4S?F9ximumv*Fc|V{B+Z@cRP-OJ>0}pX{XPo|t^ZYh$cexz zbkBcf#^>l;jzDK~xZGgNCZ5bQHHMGkeZ5R5zy%;~6#VozhW)v{b40XDLSzh^BwUOH zE6g(Aoa;Ewl6!UGyWH~PYfHv|1eOSB32t95(p7bTtnGdZ-bQ@i`~uwCU;_;l^oRSV zq-#2i8ZNK3CT6T94EZ|VUscA_0Xt zY5t7Xa|FNh^@9qI>8rZ8I!4N0K2+8%413$&(UU?jVL=PMp}T<+Q|h059&76XJlV^U zqTH^)99$q8ISjrt+%R}^PY7kQ7NB1ONr524Km$#7xXlj=Q$%1YB-CSmx{PN_?TnLh@Qbt_7W7$T&Bb<5J>j%@?bDehI8^uOGz z3^D&UM*lXj2I9B6?0z@B~x#0oXlD5tu1Ay=lv6c?H)wzE4 zq1`H6A(WY2*f^;b>2$bfNblQ3ju0V))5U{;X&p{TAUy|=yz)k*mdrXWLYS6lhzX*c zvWeZ?q+D7iQ1;Iw(mtih_{C`?A={{@OgNEHSGsADI& z3zDTQP}(qYSG4RCyhgwU^o@%xE+dC=2n^wi@qDfg#fpBdB~LWUPU2SOQSsyWIihKV zJmP&l``qL3Zo^Fd6sgbR%e{pV9GFE`8j3ys7&<0P{Nd5`a%G736UJq>H4%^JtaZ}K zsxMXC`+9vY+Bk2o&uLr>`6)BuA}K()%1>?v7^5K85bFnWw#iI5`qc1YG-fXAco&w?)@WF5CpmWHGeMN`}S$0uy++a6Lr~dn)@cungDeh zy=R_t#%XTHI3w}K%D}Kc@>^VLuU44XdJLW#gfKRws0YIAo|fpA^{*ci!rc;6pRg%um-G{ z2%Vbn!MbRD-+_V`z$ome9`n~)#VIqg(%vi{w1g|jclyhyK##q5N&%Dub^K-^hNGEY zoc!&8%Qe(Oc$nmQZ5I)AV{>l=oe+CNggoH(srDFN4~D%>gZe(z{seHhh!~ARPJ>Mr z8;#CIT=8=8(BWqte{y`FJ3Jh9_qb_Nl?0ye7`F%t;2eIs*shPyU@df}p#HEI8!Hiw#F1LSCQR z0(KQ#4sTumrdl2d_Hh&olLOoFXgaI?@YCry&UJ~q)TqxC`&E;VjnzdtLyu`gbXhlHaokGzz)KEf7F zc0uCzb(oVj&XI9N##o}ZyRcf=?#h>oZ?2gAb*`w(y*HdJhD;WEZg!@|3L>{z(lG@; z4aBNvB&IVYO<#Z&2s5y(^_e}Q(hb-@kbTDmG_l{#@P~i>qQxv}X1(0yJXY->c_*6l zd70Yi_|Mbz?XG7_{ddPNsmKv<87NKh8J6?(_~2eP6iE6*u6sfis4oCv+?sm8YJqSC z@y!~Ot2wA_1%so$`5q6A5pn$?x_l`7%@evBIC*^i(|qcj1x!9#Kh~xeE`bKf_R^85hFeE$c1L4hNfR~^hy+rO>_RKTK;OLY%0+);C4`WT}^fED)&PuN#7_YS;WGM z>cv-9d7DVNMwajG#K&Mt_ms$XRfRPNi=N%&=Qm|*S3A81_L(J(BEN}ICThrh@|0&z zS8n&tk!QOa=3^^1a302J@Ht)yx$=WyGVJnZ^ZCdN8HxvTO_k3ikSC}CaN2-v&aWY8 zihOkv8Ozha@qIJgfa=Em{;^P=CB=2K}^ge&fCN2mZd^xhv~0Jr01j zi7Mq6q`<^W#yTdrN0gYll?DK?RYkBRBgU?;{I z>dff36rVN8zv;b zPpYfpGu>#bFmUPhw3@3DDW<)NZS}hU9;jgld$0FW(sSv}& zaC*54lMz{v*Q+oq;hjnYgsbY`Hhbw&cnG}_GO@jc0JIKJObn!WV6z4)n!8>+x3-U6 z9ZWfF-CoUAcQHwuKfg~8)nPiR%?o@NRyE1Tn!oa<-YQu3wPvJRvT}*y;519Y9p5)) z7Kf13yVMluFpF=iac60jtCD89$~*HdGKao35sd|^oP#xXAe{AHSelKH1w`MKGZ} zy;{fDDpdV)R`5?=d3|ai?8|S3J-hyI!#u(-Vdh5zGj&x`T8eukM(Mn;*St#i)?aIf z8_-AG6dTc%8pDPg!iGO$s35H&46wo@v%#01HYFn3DfkV2*7p;5ht`I>M+9`sf%knH z&f5rnpV*MQd_^GBsgGTBhSq_;qIL7VaaXwu0Y9DyaK1pR!9IDX&?Qdf3vmPjrFvuKS!)*_A5xNUCnj+ zuLZj7=JaQ_9wQFN=%|+=;|`q!{wMv@FDGPEhD)|U)WoCgZx>>SV`Lc~T2+MQJ|=kH z6~vHFm^k{}=N0ek8coOi=oFF=@u>P?SY5DtK$I4l5dMU)`2d8IlY9VxkiiRp&-8t} z_hwSb4i8zB`36Pk7oNj`krTNBV*EPZ}OlAx#==pw#k62u7~TTuPl-ba>W%lz8lwIk&L-GG}C%WAgmj zGmsf344MYOlwcBISQa6yhhDb=YZTbAeP&q%ip6Cb0~FUbQn}FA-$)T+jPWNbYC-9N zVY5sj*$kvzya19xlrjVR5Og4osEPDj6GRIoK3u|XlT?IzlHj+xA{gsWb7QFiTQVW? za&^asT}m}Xe>?xl5LuOfj8u>qM+y|5fnL z5$n1>{X;PSGPl?5A>>t{ahs2Kk5@ymHbb%RfUh9$;P+q2oj9YlCbuF>G!dRd69Mks zD}rdb3+dqz>>_Fco8Z8A2`a2yryU2!YrcedVf7ka`EU9~LH!?{poHJ~>2-*=SGR+ZPO$WQdO(bQkR^X{@TWA^ z{O!g=?hq42=-_u=Gn+bb!h>U6@6Ywfqy<;DFkg6X14p36do}R(cDnW#m;U{IlZXld z?NeJjKk@fEa}v?OO_j=WWe!(BL<$pNmC&cBgs0J`mjB%`x!urm|2w@C+8Lu>D^cD1 zai=lPCNBHK*7m`IoMDUh*b6lA;J_#}O#Kj_SR1Kh(EY(Lx}JH6^eY^~%~@AsvOEbe zeLiVBeoUDxQ)8ev+(MyDl<)$>vJcGzIr*>r`=Axc>7pP*VR+rm7rF*rQ}+pkF0ak;U-|yLpO9G@ z>5mvbFe|Bm9u`if+#X(kJ(-$b>RlT#>wb9hho7393k6);=OTvrCG{*=`})Z8__E8S zIcsJLW(}LDekBbljOsbuHWT`N(+A+fG_@}y&fb`2XXtDY*~aNK9O&%`x;$U)@?A)3 zW~$*XIB^3G5LWdC_&PCi0+yQN!sQ>jWCf(SvKfhfr7(=WtBOIl@~*e-HL9=udG8m| zDQ#6xFBn2E@(iL;vCSqQ*=LW@fEM1x`U4&Dy+FO9!-fKH2#a|9iJn)!RS1WUhZ+K3 zM&@brN<9qMrb$mv;*{vO)ufK(fN3DxZX0k)78JqV_$~*v{dZfsY2;KEA!CJ%Vm%Ir zSD-1@t08$vyyagT(hI&QpaC0`{wtY27QhEkibMFY8HD%I4qxMdeo^pqvPd$ZC@up3 zRC}H;{Er3DAoVPZJg-PRui*1$hy1F<`k+3A0y}0ymIAorMPyTvc2SY_8TEk;6%e70 z7r`8K2X9&_OPz~pyNrAd$`P0Z_?{Ez5h`xJrw2itx0Ot9_Mz&Bo0Pz7N^OkQk5i_p zrQKZW&?va?KH&{}l>S2oKmRm4C^ z$S`p{Im$L_BGV68pkmj-*^NZ|PS^^Nx8?^-+Gy~pG1O+fwmcg5ABUTFHFC}@(6*iB z*^SkBmy8>{@%>ToWo+(b3A#74c=AR%d%UOQzGO(!q}TWS@@|mxdT-0~qi%8XX6n|$ z?-j6fi89kL)cYjCRc~_s&+2)T=X{Cx`JjNIT66F*Sappk4c%?ux7a@4YlGT0UpEpf)n(&dcX{Fu}^;6p(ngDClsC7DDv&Ep#{G(FM-E!J7 z9Nu4Ri7kZIt zrkimuw)o~8Q;p60^^|Lz#=4b(SJO<+G(*;#X_UUEDD#Duoy}Zvu}1=~W4J2=g@!d_ zeK+>Prg+r2xoY4O)Re3(lu;BP2!Kg6UK4O~&-;@OOO6*e86@V&dG_;XKGogxu;|^? zP3TcXXhmK1i=LzY2c^!422epDeY;{bC2KZTZ2Vx~MHR+YzmMe0^G<>qscWu?94w$f z84Xe^0@w!)Y4bcGd>H`rg6dwxEo7$sh980bFps$k75;m2@fqO<0)_(jWp9Of81_)A z$#o9oX3^hsV|k*#&rXn>8>VwupZ%9mkM2zKnW#L;I;~^jACt~ch1y*~XWF^0?G(1! zUN2AHrx?cHBtcfs%}mF2=JG-f>)o;jcr+`r=~LB-3LCe(SnPkjVREsl_kot%n|<{( z2r7K5uQA+8eQTQ1S4iwL^9mKf2#-g+2K6buq6Y+kMEi|s-kU@aQ*+Y>)f@aJ9s#HH zjC(5J5>tu=xC^*8m%BDci+<`alN7^8lhG2yWd|D2qZlx+b0rkPs!~c0@$o$)|bFIicev7 z=b?XJJt=ZqCZhvvPgegXo)_B0{&v^$%z8&N10Zlg01h<&C~QI5R!)}Tgzg29#SB_c z;h|rNSU~h0(%oL7+Y;O(gZz}XU$*I&gFU2 zAM(kzEshm39m+1-jcZh7OQy2fF81=1&gkRu(_XDqpZ{E+z8E~Tpa&@M(F$e1v6E?H z7e`A6=6H;6Hha669@s-y{(P)$zB}&k)Wbho)U17(|0TQG(VLu>l2_$P?DH z!1E3TEW$&&!2H<1FrIS=4wNSv*Nqa*T3+gFkeTy(e;V~qpId^`e=!#*1c zSYWLZXp$f2?HJmU%$WP0W@orVdZ&-79%=|y5@D#gGlA|~{Zu*rk3<;Z_sD!%<6GA- za9OhdgxmHs`^*#*xaDND0bV0l7pzT@`hoJ`uqPZ&+{cehwRGveq<1SHpJ{!Ne)0NJ z3zNJ0UDEbxgU*osR{|kxAxD~(u5IKDIx^nY1=(k^iH1R4S+!N9)I-W||1yV;Xsuc$ zeCkl-(__`I+NlvZ^I9l+P!V_-johV<5(ihNoXlN_)kVMMW*-!Qh1q(|aAxG-zJO)o zZ{F)X&f!9Wz54e=?UvaXAn!2yk{RE+-i#t^!dRE^QznI{2%m^F$1}aUQ?lo`sfTRG z*`U+muUNwr&S2t-XT`#peVC~{t)Fvs-pVsRu9>03vM^v?^yfs*h9IG8K&d%CXbgD9 zIXL{>$vk?hULMRNZ%fJ4beRAkKYnSfEj;aQJe0ejE{5}!Zw*N6V)z)IrMGPbiWhyS z22ceJd(pE4iJ^>kbY_I@owl#8CC%{w+J_SwxH>lQ`-B`&`u9pHKuLOMx|<&uaYUX6 zVrl4#B&L6#(sESE#mo+Sp*3rW=5FQ*+Nxn1RDeuowrS(dJ*IfT=Nw+;u)k@@UCY;B zV0cjTkyj!pfF%N5EUZ@UQY`Y785mRFbDcN9L z3YMNf7JpC=2q-BQ_c{BKWLb_lWa{N~@fggBz`|nDlzwmgdHPZ$0IKBTW_SnZ^Iyi-T z_m!`Ie`?8rP_Q}`lWNbHnOWoT*hfhf&Pdz;@6trQB4*Tkr#MkIKk|Zi z8gJ12*r%nc>!`R5TJ3KlZh99QANqfoIxQ|qC{+)EUyWd<=;*_cy>6-AXmsS#D zMm9DI7&~L-+Uz#q$gN11I(?6+ywbi@y?rdS^!&q@G?TYO;c>`FgHwlqBl{hm+VPpd=9_OoKG&#iYBXatmLd$7 zj%f*hLwOi-Z1NQ#Ds%$ibn!SxzOWQL1_ zGbt&3iJ=8XJ~x6PY~YaYyb>X-v2m~sujJad**3y2AxvTHAMyyjLKntUI~P9^C~R!7 zcZE+yv5&P?V9RO`&P))WOVFlW_{bRkozu%`?Yi_BudBr2=rmq2;5#OXa0N%I{U1$N z6%<#~Z4d755F|hd?rwuafZ*=#?gS@ju;9TRLh#`3!QI{6-I+UI)%~mb<-E+)be-9~ zd+jA+MXG&&kFc+No9&nlSq;1NX^mM_gHXFXGJFk7jsN4G6)%3GtwA0UnJ^M9l|@|a z)PWq8LG=)asG$=>bFiOnR_s2*$-lW5odn zbXS=X)TSBq=xNel!CWqcAc)luhY;*bD%&ayQXtvCIDr5}O+|7r#_n?nRs<%{hKj+deowR)Ndmh;iXa@#K@I9O?^?w6l%huQdP!xH0HVRXudcapis8QjTUMPW=FegO;@e%+g$PZxB{krT=>O$ z6Nme%;72Aymfw_%plZ}RSn1)r;B?<5*j5jnX7BxCI3JHHz9zfr<1xrKKfe2FzI|6R z^&82uEs5)Fv|l=2-bOB)wZkIOYw4+qCBxw491!T?VOeEjNKfZbL52fzvL_C-j{l9@ zTBE_eel+x?I31X0T*?+sk|v_t*|Tc$PCuUJlRK~{*K8gvXOeDy5{p%!VgD#kl=?|i z=C;-294Qn=1jcA_sy&AetCgYzv4~efEj;rqg%Z8CMV5}4`#_-c<=xIz*OhgcR|(!c2*HQb=-KYj`r^4CyaeEV}VTj!A|N(;kNZ z9*!4{P1G(U#w0@5f~y$p^YZlutB#f`D+eF$1) zq~YWz_9doDzW5I~K4Q^IdZbVa0~aaCUcaO>$3WsB)|!1Ft61*+yy0%Y@~DCpnZ4A z$1VNoI+EOkA~Vsi3kSh0$=ZLbh5Y&oho|WXx)05dC;T0Ch-y5--In;3=W5Y|4SIia z=*u{H56bMokofYOp#v2A&>FHq6)_;AIv77h;gg`8Ju>Qv0i8NZ!!atem5o`%pWB^VXjDA2*(BYx-SSO7j=V4U6s0z3I+9X8-m@ z?MR&pUrk{Qw?GAC;3qOg57-ai3`)cRgBpIYuycW*?@v3=i|3&BxIf!ZREpLcbwNz< zBvM(@rZ{u=qp_^o5Hk$L-IW^51>;~EJ;Y{x2IffET9?@}X^6;Ng+^prU*s>*q%008 z{qG?SJhjh8V9w8=s*nu*(ILj&gJhA2-?2fkB4S9J=K+Hk#w+e*>j7Dd$kR-1b%lTo zkNCg1!e59^syAEd9Ls~Gb1(`&vV~;j$Sd>Pi_KzYC&SBr_u?jL?x}r9`lu49x#uTB zTAYinin#?|&AYbb0IJCXe*qx>V|F0h|tX3p5prj`Bg`!co#f zU^d`a3fl*Xx3mH@YOAyY=gly3s~6)UVnocXfJ5-dmiOA3m{T_@J`BJd;@&qg4EzO@ zYULo6C&>mzR|jhejyg{Z@^5M*14f}ljv65KnrHBM=__PpPh~cZu|PY+Y{91#mMBfP zuWFC&QTl6dTlt4~k_lT`2`Q#sZ|L-?$+yy9*@G~U=;jFOE)i&;ipZ(Uo<#t&^gUb; zL*yIifb%wctS<)Kvo+F7ZIB=XJorKTu1Wr!B@T90;HGTtRgpT^8ff-yD8 zGWCZn?vHJ_C~m*!ySt~T2Rc|Tt8C2#Rr(Q+;hR;JA2_ejME@i?G$DY-z`_*q{mZ$5 z55MWF4beg=j(P+U1)1H?WTLrq4A3JZaU=xOZ!NgFd@qnH67Qj(y8aU=Er`Sfok`s# z(8sh;kZiHXtJr;uH`7SA^gb2VoN=Hw{^ay9HI8sMl@eC65b*A_@t&rRBdaD!oMO<+ zevDZ_tbAtBSaH^kGfHmVw7~DT`ln49S>aD?j`^nYSFu7Py)|ep7|cU-sqc%&{f>p` zTfr%+rb%^be4oCir52BUC>{SY_16XY*V5B0Dk%rTEXJVZyuGexNKcR#V~FI=L1#xL z9`DkT6ww-kxyGP&GO|Kw!UdjlIo>+mfq&cV?CR!C{YHnM&))S{7iG3^l?V(NX3fZf zn>2G?`o~drtc~9M42EF~(6?O_cs4^#yYt(*Q@xlZ`^4H)_Li?wHL|}gkiPQNfBUz0 z!2&11ZxS?KnG#0j*l9n}Xe}wlwSoG`Z}47bo(v5T8HINhym(M;vm<_>skeV^B0@Q+ z(rf)T^1QI21%4(WnRi6cYBcR_AthP3psx1bacEj^d8){A?5MR|*!qs3(B^YkU@EQH z0bVZ|0KIO1S5ydio=aot6nYq2%ISE!x_%(=f4`cJi2`jjyWDiw3&c6B`+R#)zR3z_ zdLVD~yIEt>91^1iX4~kww&z?Ku-&1X-~l)o!8mQ5QtVXv*`m*#f(Re9oEbynU{On8Cp48Z$M=@FRb*f!`YlZP-nf7dz z;z*0d!AF0#Eq$X-Wwu)W*-7|hsAqOwor<3u)lnb3Jd<3tmJYgp9c{ZP`B*}8(@8i1 zHYwjMvw1&~-L>Na>tY-v;XKv-avcqBJD4WB)oNUn+t0}S^t$bvz0$>W@(Fk}_wxeP z$U(@5cNbVdU$v+2R3~t#i8rVnX+S>tyI|8RNybEiz$$%~WC;CFZrmUE(h!L5;^1vh z)&nji`aF4R^~ zbr+Cw4)WRcmVwZcGL46CMH6OIr`on` zc%#t9&E?)m(uK4nNsCL+c!0(UCn4KHD4ot{V{k$J&u6d(lt>Dc66z)UwKvfdq%evB z)Lx)D__$m(hRlZ$l?vnr@m^OstxuHcct!XHvl3g5!MDBW&9juo*k){9CHPpFlTppy zp{s3TP9Yi*yXo}!`$rbchT}f3@fySIw5K(k5adkkl`4iaK5e;Iojm}CIBJQ z>1dViCPyuP8c8{`wuIdNRPdD*=P9de?$1lYm-lh=VhpTEKg^OO`2+>AY^4Rz>0Uh5V#~RR1XciQvH*9=KnTX zlSR&$(`47*2g#!Xkyu+DH+g~=$A#oRPqy$mm4cqRdjD% z`j{!?vb{tO8-D@wqKK#^#n!4d{+EFeov&U7J{_8FMM=+(I^1zSFa-i}UNtOLJQoZt%ft-GMA0PGjL)AeGjNC+NJXlVShl$5Tr|2gJ75 zG(JT{S}wPY>#)^jCvQYpbF?DCnPIMt9<6aTP;Ikei+%NVryCB^bqvBW*UY-_es`pT zB)C#~l|H8Ele6<`kdfR1prScGLfZ9n7YOXQ5q%|!|)bkW6PnQCLUt2s@-AwH@k;l3@D>XE&_UaZd$Bfll zX={H43#_d@dbe*s%Sm%pd{}DpP`g=93QIOUA0u~m6kX1O)8^S%_0JY><^JwrO20Q= zm?^D#O{OsFrzF>|{ZH@$Kl6UK)3lL^1Al?`)FK;3jo_;5m+|4dBJYtXmlMbvU_bg? z1;&95Oxja(S(9l<%h8O+al=@>u9Zc+WVio<`{j4;NC<1A#7}#I{U(X#B224nlChf~ zE<*Ww7@&c%3Fn)?ayWy|*G?2i-2NJov=elBEt1{}#+`}Ry6{dxR2{4o* zjX9Pm0g(`{30&a|jC~$(D1=Gf+@AK0<}_Ctzfe{&N+Yx-l@#9FtYv#@V^1bXZ?7?;l5P zrJaKQQYP_)yyH|MrGB!G6~WZlsvZsti=jmAcJhFc9V_Z#T$b5+ayBz# zd8UE?rij^JV?X-Ie~D!5p_DOdGLajs1r<3vIfv!@mL_jQpU8 zP8?nC0L^h)yoBNd%R78vts`)P{BmHvaxwcUoz}7N2fNN!qKa|SiU}h7Q4&=VIhK4& zou%e}@6xa~PA0D2ToHT63lMIshcwk0A^y1y@@%sO;tld_rYu^g!slPP1PZf1j<4sq zq6qAo+)u(LHcn3*Y#gjsTW_=?%@dF-rhg24Su8TLAt@32R~qkP)3-_=S)DM#ge7P9 zvM!9(uZx)VvX!o|g~{ISWb$dIv@n%cJ5;v8dB3T7VFDZt*Q>>-5pXgejWja{{XN|h zF0|o8W2}Cqc?uRZL?$~&#Z0wfkN@o}_Dk`d?(3F=VKoCbhGfkp3q_bD<&_dIKE*hy zWws5hll*LP7+rOGqf%-p*=p)>< zem{D)aGO!vR9Hb#hNU=3;Lj)kQSTH>g7vcsU74B$LyB{j+(BEj$56*z6b6XzKlLv(XKPmNP!!o zrEa|XIKSyt9GaLsF;W}hw`2YHe_VhxN&1f7z?LXnb#8BHg*B}bhjMXUxm*cV)%?;L znReJwY{iZyPD4E#F@2i&43WIQ`7-+2`DN~e$AT$e)`N$V`)B^hSkOVxEFntkJ%aK>?;`rUvoF=m|v-p-m^fEa|Y8pzU41 zW7S&Q0WeAi6pu+)h4161%E&R0;*7yx0ibXKE;Lh-DH6z=b6)Jf2b1oFT`e0Itxcsk3S zmVfXGG*t4n`R&v+dSv_B9t_z-60{5(Y`b51Qkd7(ZF1;x2{yN$EEz@KkN~LmUy4lI z(@v8pbVoWN77YaQ2K6) zE*lvaESWXyrWuU;xR(%y5h*vtaT!z}BZ0DrJU$FWp+GGz=u)XU?ChF0|90U!za0f> zgsx8PrJ%Nhpn)dsMK0NKUb-@3b1yIX3@t5okJsz((w#X%mW{z6{4s{q z-6VRKc4XN!RK!4by0yq@dGk+mmL2bZ>PtJ?>njRA`QB#D+y|HHef!9;pr%`Mxr)K_ z>K`CT=6Aa}m3bsrC|LXBB7t>PCH+7fDp#tFK6~MJ>7UYHwXQosaTtEz++OnLW>U$P zs~PSKPuh7l(zLmYR+TgYmnG8DeY0C-bZqg}f*Uwq6RdG87B&Jf(IjgS8yxxtnhWY7 zfC*?|v_!k`H9yiFB_rdzaL&X90<_WFvHns)p*IzmH-D%W;ERQa$OmBV#JJo6jKg>)LqPOXg|#U;H_UQxM%26Ew5V& z0ZklXq4`>@xM%m_E8Ik8pF0Lg1l@!3rnePo0u*q$sMmHNd$ToAuf(Oeu_FR zWQ`s?ueUd7seTP1nshtKWlctZzQ=2(O)yOye1e6{<6mXle-opYBqpDMe19+k9-TLz zDBTd76q0scadZOPkR9Sf%)gF9IrUHvif{n|NpqIDWWQnVh5AeCdZdS3fx#@r!IL1w zXAwv~ftEY@y8P)q;{XI%nVYwk8wK**Ovvvf^dF`S5n-@kV zES`Vtok-^a6vPM|ljpMi$yYjWl6NFzUEdMePO>M%rH5qZ`^f;Tfg)O^B8t5XMKyDg z&)DyCF1j^al~>!DS6lWLjUsnO1S`Xo`8KoBL`f<#CbBE1p@^3#=~Z3c>+xV^j8u#D zoSZ8wQHQtF(|_L0Os+G!7KM)oyB_jIAfnHLhSsZQbqea=Rw)&OFn?oZb!CL;es=m? zB^aL;)QOC@aTgbqNkl>LKFo&>tT@=YixW8nlz(0lfNR~bdZRn^nBmRwlfQkr)Y zW`h>LM@*FQLl4$JO6SR`^8u7NNob#SLNuW{8Mg<^qJz&rZT8J{w3;nsQ*7+!+8QBj z!rRHA9cj?}aiXJQfXDs{i$AaH@#<0)OXk~i&qK)s&VP?-ss{>w&!l~tIewnUHynn3 z_oP9pIXOYRZ~bYG3R!RO8LlAzfTQCgk_G0C7N6RV_w}967&(HK0k4PM1QY0xU|_zje{XoB4pb1P zV*#-YlHP9d`$Y)us7pdV=%17Kvr~|cp6~0W<%YlW`3y#&oEvTWZm0XC#V;x76(UJ#!QJ}bc1fK!j0E6Wg5iqaC)|xKv85QE7W}{nc zeDPp;(b2L0Q%8v*FR6?$8Tp5_=+)qFGCdeCi6k*0ojT8z%KZTh-E?C9WxqxT!L^P% z#Nqnt()6sASV6x<{5YvuW~ebV(XoGLT328^Tvo{VaW9!!Gib7UO_t+wIXjBTBA> zf~)1vzE4AGmE4opk}I*d!O0K%iYKL3DQv2-B%aBPV9{oTS<4FDX$o-eB`Y1 z1bO`Hk*46DJKcLu_j;*nE6D8s@wl0?Mf)G4a*ZB;%FG}$vxt4|zwu`8t8aq9`6hoVE_1}HohliR|T0PLX zKTKQEeY>|-;PgJ1Lj}I)2!HSLXSg68l;EVe=+E%J<)De~^T~-L(d<%Qt)@WGx|aBY z_>uu*lmL-2mQZUKA`Vj+AO>1myZ!$`@m3q)34wr_uJ1?Qxqg=z-dExIyqJUev0r#( zhO^sUyh55bg`*4>z#j^87%>vup1emD9{IeS8-g^gcUw^&_lfxX&$uM@Ns87;Li9;~ z-n*C2b45c|L;WaZK^`Hiq5c%IQq)h2@lM0cGe1Wy#oz7XQaO4jH*ei-|z zz8k9{4h1xHDgwX(Dl_m8RihAHy(mTvjYQtC*;gDB{Ba8-c~xphi#Im3yNV-NU%<0d zL|ORQ@q3@X>8J6-by$Pt)^ff6BI4U@nQdV^c}moT@Q84x z#vpvF-VT0mWtkC0a>iG2SO60P2@3dEQ`AO1O8BD~RWuB3c)i}$kr6+#kLprg?!Dq) zFXSx`W(eZ-coEIbxAN5OVshBpzuC_W~{wfAGX zy|LwQp-`NQbt~jhsQ8<3sx4ZtnXLd*w#=CC#^Ns+zFnj0H*^$8T@$s}H$S|ak&YGJ zy0^{oD3;*tK9uWmaLMH)md;z#W1NCtk7kTe1H>h^u>_-!ql_k?CA3T*Nr*ax?g)Se$G8G<&b0EmUburtT+;yVF!p3ogM{VXPb zLt9pegSTmtUeqsLNc=^s-uRys4%?z~9X6F-|^0g-xhHqQGx^k}4($cD?1BwKW3mWnabc~%&_d2-(Kl<}4 z#$x2~%duJAO)RjSgoGg8UZ|;=+JB6iy8~Gzk9Mza(9iiEdo2z9oF5BdNFGiN8h4_4 z$rV|$wDOqhkt^UE`ul2iCCu@^R46MI5zNwh#}=W?a|_x-cODc1xg{hbS@7*j%#1s=s zp}*8<&2G%s7#(AOnsL})z`GpKhE)RO=W}-sCRY7V?%x_Ji{~4pV`3CR!p?tIx#XBH z?;%2)6ifj5%Isq&v>D(*?zOtSiSlxCl2P(ii*gUwn%4man%F+0nK`4*?b}^>)J8S} zGzGS`*QL{0e!Y$`CP3T==LH6!MdF$u1vS#J7>B>XVHL)4Inw?EI3%L$h3{1)Vhf|c z`;CUqJdvDd69ZCaL#Vn%C@@ij?I|!XU*3dY4O1r;_AXAZJw2ZJm-$yH(sf8WA74ol z%PpZHb6uUT7bGa9qHRq&iDY{9dKo>J?Oo3)UjNqKlfcH)=bw?d@o*yK_bhNQZAOwO zwJYzodf)}bKwn91N*IXB?^Wk}mT+6z;wROAP(9#@PrzVdfJi<|8S5=d0{mkfJ|M>8 z&|J!WIr3HJN-cTopvWAptlTq|*pZ2CU8@l69dv&zh}M_foStK0%`Cs5_p4F>q#j_= z_T1{6?r1Y-s9pvtSIVN*B)|ECkxC!yJ$Io=4o8#jFrcbMzgyH3{L&zvUr7+W^;PPn~i=ZnT(1_Um&+ zI2LNu<}CTO+%+lR&~I#Z;M%JzF7aVoixE3c8VS{I8+IZvs5vR{Sh}V!wa?_^tL;wU z*WmDK0gRU2X_dbK#bN+CRP{^6&d=6Of)7yx-RhDBAN8aI*ZiT#LsOw537CbtLa`R$ z18jaS{WFR8f+gVCBE*j{?bZ?mgk5^3)>h(_Ik=j;3d@S3p(#|LlCUD#p#8#-FmL*e z6aqQL2+=W>_EFU>(Ntl2g!Hob#l~}gkH2{lMPEfreD5|&c>4~HG^D`q&G$dO>tAsV zA2E0VA<|tcQbWlQ1!_(v33qY8?EVJrz8#70vR>v~{h{39;xYnL)j@8cLJH%t&cP7r3wlcM79Oi)b_ zGJf^b{>6?+^qOkNw&4U`r$UW-umEqepy}!2MoDdVQ(yw-b8;Lrc(-<#%b(eSTQw@A zH%nkJ-v2tC5g62<)cBE|XcL$Wthy=5Qx4bta6uNGvW(4>(R9Dl6N=c`-X_$fH9`ZU z!%RV>;je@ZmK!g1cAp@4t_&QTze8+thH2<5`30BRmKnYad(`5QhDBI%wzkL!w`Jjw z?H_{ITU9?;MH(Q85YDktSop{Ltq29~-AnJ<`%m&d!`_-Q&5J6n=ddKh5VH&=o5*Ml z`r(E=2&pRmQ2sd_1)%8{bloa`<_-|I^i=iK6!+YG{0u^bQ(&Hnq|AlZ8tz#FwQ7u# zjO-+j%*`cQRKC9V+$oUX&mDjWj*5p5_mFj()0Hc8Tk$xng5f>PQ3*hrmdeYqr=Z#S z=?{pH%Q^zYBsvdg{+2T>_V#00o99@_*#b8O6pf*RBgRL!oag8>~q&QUf@1o)1QFNv{G(@AB4!GV~VXoB9TlSZ+i30 z)7sLK3oO>03oR4E2(5J$Xu-KLd;#j*p9J1IF4svfYF$U`)To&BnRawL9uI8=A3sEd zwT%0|&1L8|mK(NLR=TV?T7 zmK<5Sqt6!%-+`MtR@axSNLBJ2Uia%q&ChW;!jO9!!axU~^X&S)FH{I?@C9?0S8it z#7q1dko#fh8yBx@zpaTUJ8&EdMuQd+gW1{cAEnf3xSdX3Y3eQvH=qdyKL$`l{DLj) zH+x1W;?_o$*!~D@#s=iTVw1|$f5bwFx9ge>0suF`T z=oFX(R^*x0`|ic}nII1XuB5hoP) zm5jc~R)gbP+SurAxLd5(xHq3-o>}z}wy}6Y*`(Lu1#5ZLEM(o3Ym0G)Yc+%aAkH5Y zrq!H&5uEN3tnRdqyJfR6C!R0gA+;D~K&*>fWLRS>0ETxW)_CEA2oA)j_;1*lBMq^rc2U*{q8*?dRoRvGK#6+K;7r6OW1r z{ZM4vC(5c}wf3!;w}tb0PlRe$%M0Eyj=gAhJwR>ylpGmgEm!KM)3_PCDQ0f-Iq|Ty z6_=LQm6l$a%VEv|Zw)w2lB0$3r|Wv!t(D^L-B`gV8H7w{R+G{*28NyH(1zjHe#i&s zv^S#1o-EJ%InKQt%n7-ltS-Bsdy|-A*UpZPj;>Znv8AVN_l+uyqPv=edn_6|nf%D= z!yFiGFmo<*ZclghU|||cFhw{YUl%A94+owKPgy5RZ8^KY}|q!)q`z2AwGU%b3l zU>JDsE@@_ab%0$4Y9`_;4V%`BZl5`gKaJUJhuTfUmo*u%AoA74TjqSTHZlSb0FmgT zUPvfe^GQ}a5#V(`#3O;q(>mQvyO2INN8bKo?ZW!QxaK`OBV)b-{hJ?pt?IDqvHJb~ zGu=hU8x1ELfXU=UuE^fRJ{=T%wR*;h!@ zoW=1LM5KzZXsgRxVg8;}+?+_V|J6Z@waEG7kAIV=VaI7`a~xFbrBKqgT~j*tj-?Ha zkL49}_uM)4bGFv5L^^B#hM2`$M8WuUnxWCqZS+i1`OPjs3`1)OY#z<|>y6|KB zhxE$Ot^*EYpzFzB%qm)WmSHdG`5zxah zfM~9BS4P`m$22CU9NlR?kz_gBh2sBgA1Q(Zhg22dk`&)Nb3w)tC`lIOtQSqY`74bjS6$>+KtE3q_HdR9-w#tRbTfK&K+zCkBW@I%@s6X~| zZvt}vg2)2%K_d+RY~|je2kya4wVXVOJDrLezB%P)nQdm7A2^BP5Z3;A<(7l6-_-e@ z|9lXlTL36GWSAl59HX}?Fj>?~^>0%W<)Gx#n9uN+5uXrDhC00de$GCHg3Bhvzv#Ia zypNCG{-`*MX-j&j$7b*}lkc0~<`wL;ZAiy#dsY-hdSyoJJ-uD3l`^jc2h0Ub58-;8 zoA^FQkKq+baSshKlK)GDZTN8gwu1(Ys&FXZ;!KzVz%Q0Qx_V_7_a5Zd+*O)CZhw){ z#1h<(g2Sr}A#THez7qj5fuH06BV$Nd^>z?%nEm=QXOVn&1^d+(4~HVOy0-6ww;jE; z;p*o_$$VdmG~kCCT%J_3vMxJV8B;#Mg5e!c@~GFLi$F@?AvI5SKZaOy6U-B`u4ja5 zEyftM+oGI+*RN53rL^{N6WhgpkQj1_zyfT&aRW|-h=Yr1T^UfDV)KaCZv|zUI4Q0@ zzAe&uh-YtyhcWAiMdKu?`~sDCsDgLX2H%VH8OyP5h|OPVkV-^p>~^ojW&L)_KVh`L z9d(S5lD>UEx`;K%Tx(Dst6X3ub{myqY8RDroMa{D9OXyjC^tvo6pT|Pf4yvv^ZC}w zFHm)Nzt-aYW@7jd<7P)8JQ;ADadGk|qaQUZ7{#AW_Q;3>sSDVrg|eX#%$Znz9*sSS z^}D-^Wa;!bUfHPj-Kbm&3b7@f*^*n46PMihR8;`&Hh36|9 zZIhq&ax(>_>pH;sk#fdGY|S%>CF&C7@cC3&R#$oEGVo*i_)Wa1G=%G0Y-t>g%1-3@ zg?GzQaV;+RnJy(rI%KTbK7UD!Y;d&pdEbiI1S0rjq9(pvhQtpKQls2S`h>i$If{R$>xGcK` z7H8cNfnB=`kSW}zCm>=MSQZe~W-aqJLVP*CiPa7T#sq*FBx+1Rgxsk;1X_d zl=xDPeAL#KT4H{2paQ}4LsJaDLR9RG#io2M>wy*_%IvK+{j#0+p4}J!f{wn0!RZU9 zLE#LVwx&#XQ%UWI;o-`?!ph`)SGnjaX?YC#uTZfI!w#ITEAnj(0iOV%b=w*;rvNDM ztRT@pBX;6|lAUR4%RksaH%>SzhM9OR@;79-H>3M!NFPiM4OBA~RUc$~g=^%2xqv{O ze1>0LszZVsIZe>=%9kL$H}Mmu5}5yS0l*kaU^d1y5vUWG@cTCkbDwK4wFIDa&%-6$ z*@>$81bbvCEUGOm8YuxX0e+t56pH8PBsdoCl9a;H*g*Y!pEY4<@B3HIT0{F++EW;c z5uvMF7*_(2DKROPz?L&!m_QwOT3kduMm=HEt-z4s;@Rjromi=|1 zFIT#v0sz#mO1J9awObcW^Z3#~qt$*VWm#F(z3|q!N>wjxfXv}16|jqfR^Rm$ZL#@? zXLhs8j*H^KU3M&qU%T|Uo__liTymxQV3o2=mz^y73PS=yx+QbKe#}FMkY{m0XBh|| z=P{;*5#SERnrMw zHG_|1zc(MLjV5gCtX2k`R@%t37CqtSzH9OzbQ;K{Wn zJG+vE2jfhj&HimXuwG-JF|B`&ySbB#bLVNmW24Q3BMaV-Zpy%J>@98@rQYOE93oIM zp*IGIa6X@B9A zzdRmcq1kTFrAbrBLk`rR$DJI#8?tDk=CI2rvY6teD;PJ;d0#p(Tsv&@J$r6G;bG1e z^0~jLIzxLZvBJYjE>vJ}RHN&$agPz*uw!ksi5`QOp83JF($VacPqn^8dh)V+BVONq zgl?WFJ$0_BfKp~Tf3!b)T&#dTw*L3q%9xyHjTvs#Lk`IKj}Wi;kXtTtR~8fy+XS2y z*ccF2l#D9;MxkF6^+L(?>Ao*p6!k3+4c&6fpzBEtK$=7caXK509faqaV+eLf;zEj~WUDQE;#mSx4>%UsoSX%t15!i3 zVrnH+F_k%SCi;?|vV4HczD@%j%b#<-z>I&ylfN68#qDP`fN^+#YNycNj3lke`2|D#6edL ze|z{2Y$f;+v0#?N^i{8m0>Bh(ihOa6Zlj8=CaB+hkq=iOZeObPU#?Q66yaqe6i^xf z$3uA#@+lJtx8Tq{HrRNX>OVh86{yPW^ggrGe6ZZe3^1Bgb-2(=Zd0fz=YoJ_C7{P$ zTgM9l=T{r>Shknrg9y0BabnCtw`z;iDlLXz3L*z(s#PBOv+&oZ{xl*TN9D2|E8wMr z1^w>+-eaw0YQvR7crvDFyCl{R1hMGM$;VS-WQSbjw3`D2fXO!(1*OryV|H2Kz4eK4 zQa>RKHIFjL<;<@7w)(BbiQ%_tL4lErGr7PH1CgW-}@TZu>qY z(bCA_3?4;0RVny&j5AeMgc>J`P7fdg&-p@AR=2fr=vrLvr!Fw5h3sV?!aMl`p=`B2 zV9Gg4`{weHl5|a%N-#bTN&9SgpUeflD*!;GM0rWTQ`;Q3wYZYN1XbET=GS_}Vq!Q| z&Q<)VhNrXxgBF*ap8Au6N&^9(yW>5afdDV7UL4U4`K-U)HdYvL77MfEwszjt=EKJ= z^X9eWi?_oF7g-k_Zd4vSDg$!|o}F8N=LOWzB!Gy+l17aQ9ZtWip#td|2~f%*>EWSX zqZiIGRFf$j1@wFDjjeIu+ptV94#7mPt5z>uP-~c5W^Ou;k}I?o9*w~l5k{yFhNpkR-2TrRke-m z33O${LRG(mSJWY!wW)FQT8(%)!3lSmQwHty0EkFH=YuWX?yBs#8KiUq%ctQn|MHhH za(u+qj&``Pq<|i6&$(EJ=KKI)!UUqV2J;)O?Qq2*!gTgiSV7}FhsMzG`gc>?a3Foo z2vPkSeDv-81F2_6Fq@)ymOZUQdD*qyES}YL0j>&}Mi-_#C3eC}%9j?MF;%nYd=52qDvzbJW|6U=(0y|*6yGJUP z0h}&Dj$bVt0Dv+Xqq_(rm%~gq`IpuJ{dR^5{;>$s#F-3+#cCH9r4DntJTUm&-``WK ze7W3#X`j;KhyTZI3{&cbPuFc5Z3RUv(`Q0BpYw0t(Kkt@cvI~c5*|QM2S5QvYRlGm z%r2qz#THZbB+k1OV*35LX$Yg!WA7Xvir>Te4ItM-Y&YA2oJ|qIIda7Z8dj$m^I5PF z^e9cg3Ek=Oot4iDHqG2%5x>7P&=m!kH01RDtsmF&J$$*Sy7SOKZ}D!a-EotC$lKBM z6u#OoZzd_8&}#M_i%ngB-K@Qc&1rK!@_k4iC)E1T>bOy(eReXp%1_#AO$dm22nkFPT))x@^n9j|D(*Z;J@S2+u`WXB6+g90YeS6FtM$|~He z1e*_fcuHaen!yDN22YP!nvUzdK4llOj8j?iw|AbNYfWBfw^J7^S%Tyjq+6pq*V`DRXL+Hk*aacbUgH05(V#@!a#@xMVx%xmU;f$JSZE$LQO87=y?I?oYtf^> za~VgPl@pL9Q0!!rot|}E?R8+Zv{peADB0z97T6wT;#pYRi|`E4Wgp`z)L)kzH=n8S zFJ`qFtzSFF`ME;U{!k#f94+6rw)f-^(0v~+dle^sHP}oAS70!%wLrGW9Rt*EeQ;hx zlI?YW*ADT9yW0!O;CUA4czW*(ixH4t24Dl{b6sS$gg6S*vE~)ZJQdP(cy4YmgnwYT zeMaC{f$?k2@meZEKJkV^V?fk^3MAYIL%{@l0e})kQS2@+^RT<%WM|N9XPAIp2rc%T zl}JM@xkwNU(8BX7Y>b0A`6hFVQ#JSoYC{0D0=vGE8)s>#72qM5i@iYJH;XV#QF04M zLzAQFuXYVz2Qg%y@&cp*r{m+gd>gohqRnrd!GQ2v;$a_U_Qk(&iCd<%6F$=$F$Bn-+24QWnc3M_`{FaRd+xo? z75Bwq(?u&{+`<3eXS8cJ{fyo^p#J)?)8Z>R|!a`C80a)bA31iJcn1g=9EMlPJbFBX@vi^RTf7 zD{cj{sNh+_G?cHVtyW6(lGjNXx?3g7V? zX+@+^`Mek2vu?4Utw}{@_X6#}WugNYnIX-!5iY(KY#0eA#|C|M6%Zgff~WKh&@fFu zpI#5l%MLVAi++oQd8fS|jQkUGoEUD6=6wc23RSpCCbeH_nYtV^k8;#lt~TU^`szI` z+AL~7)vQnrJwS9)-#;VAB(Q3(9$wgv+d^zt^KOF>;P!3S?6D`lguSLY>kiN=IkIpy ze9ZXPCCl6r`royvjOH8EXhLKiD20MoY?1A^GF#Q%X#3L98O`0#^UKF=FI zN0Q18;Wm_}D*mAe3?Rw)+)c>1if1l6AC%t!{6L1`3+S)e;paWY;83k_8&Y(f!{vUM z`(tbeMu3%*>vg@{m%W8g-P}r8DJf1-vu8xw$0T7V`DAQ7!X%zXgMieS%QT}BdB;%r zJbIhjtzOQ3cOK|3$b2@el&=!2T+o}YMGCr$0i-9!qyyDB#ZdH&Hi3XCll6xGaeA;N(fM z8M>kCa>6OcM{&29MLiiBLhD}wN%se*)a<`-g_#mgb_bc5B7*cc%9QK&Y+}uu)K2kl zeo_3)?ECpzr{%f(oci_kjp1RNTVC5`SUF#(pvQIa1a{Z;#$FE9-R}N@i=}|T>l;^t zD0hQ{4!7Omn1z>@&)r<;Y=jnkpVP+#EDB|Ms?c3w2V+@szZnK(@JTuQP<51KCaE>(+!i9~hkZ5LWaJ-QvXSs}`JNBw%B8V z+4Mfm6j!<5V*EY)N4Zb^w6S;}Zx)$mO02?W9ccC_(S}#cgcK>kw3$m508yK~pBZR! zfUT+RE+*j(r}uWy?-Z(YtCCyTpOSZxvEaX(VQc>^pqTkxht&*OK4UO3?o{OE`P>CI znGc#hcXoGNQaSuwHh&KoQTZG_EBy~PXM5aqo=+7|blv~Gbm+Xj*)yW*@;U!i89S3& z)&B5D&@G`QZF2Pn(z!g85{t|a0jq%e=PgYRwqF=6R>@01 z6J#B^qhyM%azO_EZB>KF+v}&LOk;N*s}f`y$L;;kIUaB0_Ha=p-ipVlDhoDt#zg<8 z5GE2*;^traCinLv#bYg|Fj7MaBrXpVe3Oc)kfF7k`nW6>p6RwJl~q#I|8CD;44h&8 zFKZi~pX1q?i7f6jdFxHJr4x%IDS9rHGD&@Olh8`d7`R3P($vR1*Ej!`+1Gy7b-<2l zB*e}vn#;GU84CQ@G(v_0vqe9a~9=4 z0*jj_g&FJ%vX`;grN)rN@hh-{HrGW30h1K~N$Pw6M23i~`rpr`BOno#4w#gy@zSR! zpfeSt{J?Nc-%N4kH+z##IAa_y`h;BuHG!eoj+k^sX~!Hf|L(5%L5!Hw#^LY;0{5%T zayA(I2?A_CfcR)L7>5PGMidr&fI30F+8fqNwhP52Q}!``z>Jzpo7qY03m}<*#Zu*ufw1^caF;g9$4k$ zrv1$57kPSIz$+_17Gb_xEa`FkR`E(&^^MGVA|yc76h^reCX1_z{(MfSh7X`Z0Nv&B z-8D=%_kxzAn>QDau0PI^4iP9xkOUNc+aAJfa6rilRRDxxQ0^3e8yfPmm?8|n>KH;q z;U4kmk0X!ADktV!TvKIeJ2Ee<@d=4{C>S0z{W_0=2L=$bAU)x8rb70ZF%)8Wc;+V&2xKj37?U}plw=kGPo}=0ReuVfQ?E? zvS6r3Jm^8`hnY_N$Nt0v%j~DNa62=tbOiNV4r~C+7PlGpM>?iay34ory7L?xS#C+ z#6KVdKoX!47kXR%!5-B})MNaYoYwdc)m0Lr7;M+B=fg}z;l+?|_wN4?!8V0uaMN>} z@0#oP&YIgfVGiNz!6AI zFIOT3@auG?ugUjKglREAz=?ge-qZOPBmeV04`eI~(fidFS|i^zinMBD@2_;_8Kk*QUW(59ricnG2^0pZEcr(SWsPr5gdIq_sod$DJJ{juRkCq{xZQbXg8ktz_?6@ zca`BYD$4VvdMjVX4_L6aH6;-#g;-iE<@bVWn`Rx>#HPIqlP-cT{#cbs=ykg$yu;7H zwb1X9(6=Cf1;|EfNu8s}bpL5HI})V!bAISmiu1qgYohk|dYXA=#HM-|HqbP{LHYde zX@k}hi{fRYJ1}vHA4YW|D`ttn$1tY5z1N||kuUE>1B2rIrX9kye>>Hs9iA+V7+Ot9 zsHW)Vi3eH>hV*c6dCwFQ@9a(s&4+x#w`V(|B>s6@Y!U2;fvzrYvpyCumPKB2MsfA9M(WPTX6~8W0f$`FVlxP+B?}mj;9d+~ z_N9N<=A^O2@3ixwS=Tea?5(t6IxTV~Vhhcf=&NuY|D?xa0#as4DeGE7o|kDkv41&+ z|BTi7m&^sDD!g0=TqdXCh&+Cg=s-Twe@TRCYD0IxQI5Xm14pCp3G2#RKCkw|LlI%G zAjndny=B01p{SqS{RgjqIog^EV{_=wxd3q?H;=*C$M#4Wk%kL_2-Yepdb4ll@NHNj znuQp9e0Hx#5xjzr&Ump*S(X}l?hOJ{>7jh3Tq9SSEti|9oCp5qh~S1!Y=mfW9jTl+ z7tT=-T+u^7&0r`l=njR+5*|}56ftfif&v?V(eCcUC+au|0rfg+AbuDY^^?g=YjMYT zskP2mnc8o|uCr*uIVLm1&ry3-%eVJ@@V>^VG-;cWeP?K5^X#n8a|=6 zeC(_G8G``4EpR3$O2NlPT&yM5-LK7Td|_q|+3lMx3!=iFn-2@c0yq91J5dG1q5_T& zJ07>9w-2y&V)eIEmTOCQXP37eOPb_5xha6UF;>sPn1@tbf%7?T98D{(|jwVqf37LK)QFY~9o`d@36JD9z0QzSHNLIZrt$U_M zp!FBEMK1bvD@@p)_dnrsM&*Pp*Q(VLlo;AJ%d|6k5?se+@d|&};}sy7pq&|MoPeiX zXT&DCuDhOsaG-E^i5xD`L*!{2`PAQi^N~6>=lSJG&B*`dTFas1_MB^?^JY>a&VI4k zW@Mhx$nSnt%h2m|XuxA4?dPIh)r^dglv6iDrHfpK&vavekF~Nedu|pPw<4wv-#_is z4n`ox?Em9s?2l$$5-J|kW zt*mCqm$~~j8#*N`?Iz0r{61a6M(dN-8)&Yj*&XqN3MiqjdO0$Va;F^!76<0a2=NLY za^$)p{l&pWv@Tv+)NCgP+0+I)lU+Y69C#kLZC~X4HVCSI^*JB$o4jjNe5^(Xs$}&* z#mDq#s@jf9gf90XZD2{*W!ZznCEvy!!q>)SLnpovb6x1AFxS28;%%My?2E1z8^u&(=9f$!*s@hwIFM?T>}x+GHm6|A=F1Hl7qY?Tj6 zjm>E74$3j06>+bvEn}i#20N`&GFtoAr`i5yzst;Bd>ih2^&tM=kp4Rr&37t@uaFV; zU*C0MgNRP`S1BY2rQ2Ks0?WPSr7bX!hH*t9__;ln`^BDJj1XUg9-n|daeE8;VYT(# zD_$w?Qwq)+Y=$^TxS}1AcW3)qaFnimsCIoR1KrGA+@88sP)8o&G^*$zhClzID@$F$ z%Vd!%qsxnv&QO+tT(@cu05l833=ekeo=@AK-C%7iiJo?tzU)`B;CWK{x$F9NB5U44 zH#v_g_ZCAD?FbLjqcgm^BF~t1Pt*yt6-{ z<*+*I^hgGzFR?ye-8QJ_%)0!KqGk_W=l~^rNrZWs)=cm>_w#JVyJDXfmVY7uLLR*qY z(J5GK`Y^FkgO%ZtXC|oiv-s9_c!BTVB>J^u(Tv#sZ^H1R6z^JcpZ(Yuvge*5lnXhP zNb8>hM@`rQ{l3IP$D97|vNr!5hXsD=7BtH+mQ9U3Idr|CmTZY%Q!6pdFdv^*`*wdi z4Do5w#(AIwKVkl{LqgcG?>_kdUI45663GP<_uN{1=x=ecg6sjj=ik_!tG98xPul7+ zo+QZ%3>q%|dj;?^&lUSQrj7D^%a$2gb!^!!nx{f-{(-E`gZPFpSCC(6+dpxS)!^*V z!hfNK;}6Iu4RRF;lH>h_yMG?t5)l8a3kCaU&%aYBv`GoJ`}8p!9)m{2Z_})Ef$Q9_ zUm)(&*sFO+=+BpFZ+r~?#rh#OyEk&nu*>C-8HwqPYxfaLwfenXRpgY^o7W>URjg6f zW`??Se&xC?UuokeDT$qsL|>8ttjdpHvBzfyfo9TrxOZ%IUvBT;la zlHVdtnM*%Ny-rpeHcxU!E!2PiI{BO2&Nd!Ti}pkrnD^HVNi;ZkkE|Jj->$P^qVdj( z06)3N>wc%B6and&X%H^S4N|D4(p<#yhLf|#=~+=VBwW2JSA%qL2T3(OR=uc{MMEpO zj8#tkcL|fGCc%hG67i5MdSPM6^fx#snZV{6F=cHUrs1vBZD%=`X2N$t!}@P{jADL3 zQEs6poMP=EItZDU5j*hLOpcOp zx*+M7ZWP6j!!rH+9ud6kbNSV%`@fwdSGu87>sU{r+vh{PN#eh`$(Ha|;quCFaBh#_ zo)XI_X%l8~;ck+K(S_VbU)GEkoogRATd2+?kVQQ(UbZ(LEPtWZL?fcur}okSy2M4B zYCjozop2OA$KU!N`VYZHq7`AaqGJhHEnvBVH63n|gd(lfEWYJ73L zdo<@pq$0-xpKDUk#{(geq9G<7&(G(-X;$(vb^j$e4nT}oLkFZPK@E%Wwrbb{&)x$M zXBe8_t2>rKg)nU5_eE`5Mt(-G>f_~hewb=Vc2)@~86`NB4RdMikd|FwB)2?VP$^}CVEYOiCUzj<%a{Ub&h*W}Q@aDshU)T9hpga67aN_UeonLUXnJJ4gZPoqA zJA6Q;f6GcDmQWxD106h%2I?dHhNL5f#_urR-(D<{^Kz^$5v7rG^Ry)MSmaI6on;^x z(oWcIx3~$VhHg#P80e-*_m<30!3)T0OP5ZmSkKnie8cJ_`Xk8jDYS63CJh&1M*YB# zhbz|vp?)+s6fsmcmc%6D1N*lc2JtKzWivdaz^gs2UX(OX+`3$q2}lgi`p^)@2ei+y z4f~DKy-0DgeGSa-Ea(@Q_Q;a;3nFdaLk?n*L1|yN5AmyGGRKu- z3)0QZoo6m_xghtsaL;L9EwJ)n)$`&8or|I~!-AkMyv7>FHq&C^wm+4Bx^253xM5c4Qa-Q}QL$4(Hf zwdQ;`G|14^`?fN8toR)nYpI)*RA%-}{$2x2A%D3BV#8+<=~lRDN{WFR2671gyzj8 zc_k`u4Ag~G`M!`$wl+n*q-t0z0c~#k)fvOp#QuJtfOkZsVZL#aHA$g>R78ZKsfk8_ zQ_ivMf)!ZLPhjUR+f5e!vLW=upYkza>9PqTR`1}rI!w8(N?)ixz*MIib&~X6uy9iL zbxkgV)@E{&0|G?P7$!0dvIKjZi*MP+=Ces_rofX~voa13zO&X1j5V}sXS|LRp(^#a zNbsTq1c#A~XUV3PdzkUwFeDYyN+4E7vLrcqMc4ix`L*UcA;_gi#?vNv+`oQaL1U*^ zk{sbvzKAiNWUK%2qx%v>&3Q%v2%|&posQ_*QLPdDJvWYip^$=j}YdN>VMsgQ*3{ z%AcaG=oMk`NVxW#9}x{FTKda`&@sM3Qp$wXys{hF zlyqUP#r7Rk&R}%c**G-Ntw})s`(I95jH)?->Pi<9`1p<##MhC3t=IjpScN{L0=L2D zu2R-MIC8CIeRf2F#jh*AI<)fX+QGEDcli-p84DF@&WsxU$JY zrJD^6ppK)Hwm=AwVvPo>q#)*e=+@re9~IEcOL?rVW4=-K&-q*2auy�=^Tfas@st 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 i4o&@bDqYWUc!KU0iBSIJO#=XYl%A_SD}8Db_m4 literal 0 HcmV?d00001 From f72859dc1f1658c559d4ca9b4fce021e03483400 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Mon, 6 Jan 2025 18:20:41 +0100 Subject: [PATCH 158/248] Placing the logo on the top --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2ea107180..e6d26fe4b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # MIT Emergent Talent Foundation Track Assignment - Group 12 +![logo](.assets/logo.png) + Welcome to the repository for **Group 12**'s assignment as part of the MIT Emerging Talent Foundation Track. This repository represents our collaborative effort to explore, learn, and From 150ec805f9aa7ca53558b2487fa7db3d48563aa2 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Mon, 6 Jan 2025 19:39:19 +0100 Subject: [PATCH 159/248] Implement modulus function and its unit tests --- solutions/modulus.py | 38 +++++++++++++++++++++++ solutions/tests/test_modulus.py | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 solutions/modulus.py create mode 100644 solutions/tests/test_modulus.py diff --git a/solutions/modulus.py b/solutions/modulus.py new file mode 100644 index 000000000..98f9b693b --- /dev/null +++ b/solutions/modulus.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python 3 +# -*- coding: utf-8 -*- + +""" +A module for modulus of two numbers. + +Module contents: + modulus: divide two numbers and returns the reminder. + +Created on 06.01.2025 +@author : Simi-Solola + +""" + + +def modulus(a: float, b: float) -> float: + """ + Calculates the remainder when one number is divided by another. + + Parameters: + a (float): The numerator. + b (float): The denominator (non-zero). + + Returns: + float: The remainder of a divided by b. + + Raises: + ValueError: If the denominator is zero. + """ + if b == 0: + raise ValueError("The denominator (b) cannot be zero.") + + remainder = a % b + # Adjust the result to match the dividend's sign + if (a < 0 and remainder > 0) or (a > 0 and remainder < 0): + remainder -= b + + return remainder diff --git a/solutions/tests/test_modulus.py b/solutions/tests/test_modulus.py new file mode 100644 index 000000000..7e2eb9ec8 --- /dev/null +++ b/solutions/tests/test_modulus.py @@ -0,0 +1,53 @@ +#! usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Test for modulus of two numbers + +Created on 06.01.2025 + +@author:Simi-Solola + + +""" + +import unittest +from solutions.modulus import modulus + + +class TestModulus(unittest.TestCase): + """ + Unit tests for the modulus function. + """ + + def test_positive_numbers(self): + """Test modulus with positive numbers.""" + self.assertEqual(modulus(10, 3), 1) + self.assertEqual(modulus(25, 4), 1) + self.assertEqual(modulus(100, 7), 2) + + def test_negative_numbers(self): + """Test modulus with negative numbers.""" + self.assertEqual(modulus(-10, 3), -1) + self.assertEqual(modulus(-10, -3), -1) + self.assertEqual(modulus(10, -3), 1) + + def test_zero_numerator(self): + """Test modulus when the numerator is zero.""" + self.assertEqual(modulus(0, 5), 0) + + def test_zero_denominator(self): + """Test modulus when the denominator is zero.""" + with self.assertRaises(ValueError): + modulus(10, 0) + + def test_float_inputs(self): + """Test modulus with floating-point numbers.""" + self.assertAlmostEqual(modulus(10.5, 3), 1.5) + self.assertAlmostEqual(modulus(-10.5, 3), -1.5) + self.assertAlmostEqual(modulus(-10.5, -3), -1.5) + self.assertAlmostEqual(modulus(10.5, -3), 1.5) + + +if __name__ == "__main__": + unittest.main() From 770c4fe7e28e22ce8f6bde98cee01767fe69cf41 Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Tue, 7 Jan 2025 02:39:30 +0100 Subject: [PATCH 160/248] Update communication.md I added information on my availability for calling/messaging and the average number of hours I have per day --- collaboration/communication.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/collaboration/communication.md b/collaboration/communication.md index f8bd7d94a..f804f801b 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -41,6 +41,7 @@ ______________________________________________________________________ |Awaab Hussein|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| |Lukmon Alao|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| |Ridwan Ayinde|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|13:00-16:00|13:00-16:00| +|Zephaniah Okoye|19:00-23:00|19:00-23:00|19:00-23:00|19:00-23:00|19:00-23:00|12:00-17:00|14:00-19:00| ### How many hours everyone has per day @@ -49,6 +50,7 @@ ______________________________________________________________________ - Awaab Hussein: ~3h; - Lukmon Alao: _3h_; - Ridwan Ayinde: _3h_; +- Zephaniah Okoye: ~4h; - name: _3h_; ## Asking for Help From a280a0a498e2c8a3c9365f4cdb80b0d790dc7a3f Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Tue, 7 Jan 2025 07:17:45 +0100 Subject: [PATCH 161/248] Added retrospective --- collaboration/retrospective.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 74e18813b..de4155fee 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -21,3 +21,21 @@ ______________________________________________________________________ ### Did you need to add things that weren't in your strategy? ### Or remove extra steps? + +______________________________________________________________________ + +# Retrospective - Olubusayo Solola + +Below are things I will stop doing moving forward + +- Waste time instead of asking for help. +- Overlooking the importance of consistent communication with teammates. + +Below are things I will start/continue doing moving forward + +- Breaking tasks into smaller steps. +- Be available to help +- Proactively communicating progress with teammates +- Being more flexible and open to suggestions or changes proposed by the team. + +A lot didn't go as planned 😏 but what I learnt is teamwork always wins From 937b91e3c911ae0da33f562d2adbdfe0d734ac01 Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:19:09 +0100 Subject: [PATCH 162/248] Update learning_goals.md --- collaboration/learning_goals.md | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 2acaea879..8bd3c9eec 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -133,6 +133,40 @@ where necessary. *Each team member is encouraged to add their individual goals below to document their learning objectives for this project.* +### Zephaniah Okoye + +1. **Advanced Git and GitHub Mastery**: + - Gain a deeper understanding of advanced Git features, such as interactive rebase, cherry-picking, and stashing. + - Master the use of GitHub Actions for automating workflows and continuous integration. + +2. **Proficiency in CI/CD Pipelines**: + - Learn to set up and configure CI/CD pipelines using tools like GitHub Actions, Jenkins, or CircleCI. + - Ensure automated testing, code quality checks, and deployment processes are integrated into the development workflow. + +3. **Enhanced Code Review Practices**: + - Develop a keen eye for identifying code smells and potential refactoring opportunities. + - Practice providing detailed, constructive feedback on pull requests to improve code quality and team collaboration. + +4. **Advanced Project Management with GitHub**: + - Utilize GitHub project boards to manage complex project workflows and track progress efficiently. + - Implement issue templates and workflows to streamline task creation and tracking. + +5. **Deep Dive into Documentation**: + - Write comprehensive and user-friendly documentation for codebases, APIs, and workflows. + - Learn to use tools like Sphinx or MkDocs to generate professional-quality project documentation. + +6. **Mentoring and Leadership**: + - Take on mentoring roles within the team to support junior developers and foster a collaborative learning environment. + - Develop leadership skills by leading project initiatives and facilitating team discussions. + +7. **Continuous Learning and Innovation**: + - Stay up-to-date with the latest development tools, frameworks, and best practices. + - Encourage a culture of innovation by experimenting with new technologies and sharing insights with the team. + +8. **Soft Skills Development**: + - Improve communication and presentation skills to effectively convey ideas and technical concepts. + - Enhance conflict resolution skills to address and resolve team challenges constructively. + --- *Each team member is encouraged to add their individual goals below to document From 174c2d815bf5de23db312650ba95f852488f2b19 Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:25:13 +0100 Subject: [PATCH 163/248] Update learning_goals.md I have added my learning goals in this collaboration file --- collaboration/learning_goals.md | 48 ++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 8bd3c9eec..e5f0513bf 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -136,36 +136,52 @@ their learning objectives for this project.* ### Zephaniah Okoye 1. **Advanced Git and GitHub Mastery**: - - Gain a deeper understanding of advanced Git features, such as interactive rebase, cherry-picking, and stashing. - - Master the use of GitHub Actions for automating workflows and continuous integration. + - Gain a deeper understanding of advanced Git features, + such as interactive rebase, cherry-picking, and stashing. + - Master the use of GitHub Actions for + automating workflows and continuous integration. 2. **Proficiency in CI/CD Pipelines**: - - Learn to set up and configure CI/CD pipelines using tools like GitHub Actions, Jenkins, or CircleCI. - - Ensure automated testing, code quality checks, and deployment processes are integrated into the development workflow. + - Learn to set up and configure CI/CD pipelines + using tools like GitHub Actions, Jenkins, or CircleCI. + - Ensure automated testing, code quality checks, and + deployment processes are integrated into the development workflow. 3. **Enhanced Code Review Practices**: - - Develop a keen eye for identifying code smells and potential refactoring opportunities. - - Practice providing detailed, constructive feedback on pull requests to improve code quality and team collaboration. + - Develop a keen eye for identifying code + smells and potential refactoring opportunities. + - Practice providing detailed, constructive feedback on + pull requests to improve code quality and team collaboration. 4. **Advanced Project Management with GitHub**: - - Utilize GitHub project boards to manage complex project workflows and track progress efficiently. - - Implement issue templates and workflows to streamline task creation and tracking. + - Utilize GitHub project boards to manage + complex project workflows and track progress efficiently. + - Implement issue templates and + workflows to streamline task creation and tracking. 5. **Deep Dive into Documentation**: - - Write comprehensive and user-friendly documentation for codebases, APIs, and workflows. - - Learn to use tools like Sphinx or MkDocs to generate professional-quality project documentation. + - Write comprehensive and user-friendly + documentation for codebases, APIs, and workflows. + - Learn to use tools like Sphinx or MkDocs to + generate professional-quality project documentation. 6. **Mentoring and Leadership**: - - Take on mentoring roles within the team to support junior developers and foster a collaborative learning environment. - - Develop leadership skills by leading project initiatives and facilitating team discussions. + - Take on mentoring roles within the team to support + junior developers and foster a collaborative learning environment. + - Develop leadership skills by leading + project initiatives and facilitating team discussions. 7. **Continuous Learning and Innovation**: - - Stay up-to-date with the latest development tools, frameworks, and best practices. - - Encourage a culture of innovation by experimenting with new technologies and sharing insights with the team. + - Stay up-to-date with the latest development + tools, frameworks, and best practices. + - Encourage a culture of innovation by experimenting + with new technologies and sharing insights with the team. 8. **Soft Skills Development**: - - Improve communication and presentation skills to effectively convey ideas and technical concepts. - - Enhance conflict resolution skills to address and resolve team challenges constructively. + - Improve communication and presentation skills + to effectively convey ideas and technical concepts. + - Enhance conflict resolution skills to + address and resolve team challenges constructively. --- From dd52447fd7e6f85c09e79e706d96e4b2b700e8a2 Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:43:50 +0100 Subject: [PATCH 164/248] Update README.md --- solutions/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solutions/README.md b/solutions/README.md index 55b61af51..96c1b8ba4 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -43,6 +43,8 @@ binary search on a sorted list of numbers. - **Square**: Ayodele Ayomide - **Square root**: Ayodele Ayomide - **Multiply**: Olubusayo Solola +- **Divide**: Zephaniah Okoye +- **Exponentiation**: Zephaniah Okoye ### How to Use From 6cf887dbf583c1680f3a67e0077171b03ef752d6 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Tue, 7 Jan 2025 09:52:37 +0100 Subject: [PATCH 165/248] YR added personal info to the file --- collaboration/retrospective.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index de4155fee..8dc51d7f3 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -39,3 +39,27 @@ Below are things I will start/continue doing moving forward - Being more flexible and open to suggestions or changes proposed by the team. A lot didn't go as planned 😏 but what I learnt is teamwork always wins + +______________________________________________________________________ + +# Retrospective - Yevheniia Rudenko + +Below are things I will stop doing moving forward: + +- Working without a clear schedule and relying on daily availability instead of +following a structured plan. + +Below are things I will start/continue doing moving forward: + +- Following a more precise schedule to maintain better structure in my work. +- Ensuring clear and proactive communication with the team when I encounter +challenges or misunderstandings. +- Continuing to meet milestones and internal deadlines while +collaborating effectively with the team. + +Reflection: +Having a structure, even a relative one, proved to be very important for our +team. Milestones kept us on track, and we successfully achieved them together. +Teamwork can be incredibly productive and educational, especially when you can +rely on your teammates for help. Effective communication is the key to success. +______________________________________________________________________ From 2f4fb4cefe0fba5429f8323bed5a280dc415a90f Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Tue, 7 Jan 2025 10:28:29 +0100 Subject: [PATCH 166/248] Updated the styling to match the same format --- collaboration/communication.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index f804f801b..467f6dfff 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -45,12 +45,12 @@ ______________________________________________________________________ ### How many hours everyone has per day -- Yevheniia Rudenko: ~5h; -- Abdul Qader Dost: ~4; -- Awaab Hussein: ~3h; +- Yevheniia Rudenko: _~5h_; +- Abdul Qader Dost: _~4_; +- Awaab Hussein: _~3h_; - Lukmon Alao: _3h_; - Ridwan Ayinde: _3h_; -- Zephaniah Okoye: ~4h; +- Zephaniah Okoye: _~4h_; - name: _3h_; ## Asking for Help From baf6b4369c547fb9fe618143cfa45c90237cfa5c Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Tue, 7 Jan 2025 10:54:46 +0100 Subject: [PATCH 167/248] Updated list of functions based on the Slack update --- solutions/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solutions/README.md b/solutions/README.md index 96c1b8ba4..1ee93219f 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -27,6 +27,11 @@ binary search on a sorted list of numbers. - **Square** (`square_function`): Calculates the square of a number. - **Square root** (`square_root_function`): Calculates the square root of a number. - **Multiply** (`multiply-function`): Multiplies two numbers and returns the result. +- **Modulus**(`modulus`): Calculates the remainder of dividing two numbers. +- **Divide**(`divide`): Divides the first number by +the second and handles division by zero. +- **Exponentiation**(`exponentiation`): A more general exponentiation function +to raise any number to any power. ### Contributors From 473da34aefd7859ec3c16b5caec1431ee6f4eb47 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Tue, 7 Jan 2025 10:55:34 +0100 Subject: [PATCH 168/248] Added info about Contributors based on Slack update --- solutions/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/README.md b/solutions/README.md index 1ee93219f..e103df748 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -48,6 +48,7 @@ to raise any number to any power. - **Square**: Ayodele Ayomide - **Square root**: Ayodele Ayomide - **Multiply**: Olubusayo Solola +- **Modulus**: Olubusayo Solola - **Divide**: Zephaniah Okoye - **Exponentiation**: Zephaniah Okoye From 4cd9a773f30706d5cb0dad1f62ee66cc6901471d Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:22:16 +0100 Subject: [PATCH 169/248] Delete solutions/modulus.py --- solutions/modulus.py | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 solutions/modulus.py diff --git a/solutions/modulus.py b/solutions/modulus.py deleted file mode 100644 index 98f9b693b..000000000 --- a/solutions/modulus.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python 3 -# -*- coding: utf-8 -*- - -""" -A module for modulus of two numbers. - -Module contents: - modulus: divide two numbers and returns the reminder. - -Created on 06.01.2025 -@author : Simi-Solola - -""" - - -def modulus(a: float, b: float) -> float: - """ - Calculates the remainder when one number is divided by another. - - Parameters: - a (float): The numerator. - b (float): The denominator (non-zero). - - Returns: - float: The remainder of a divided by b. - - Raises: - ValueError: If the denominator is zero. - """ - if b == 0: - raise ValueError("The denominator (b) cannot be zero.") - - remainder = a % b - # Adjust the result to match the dividend's sign - if (a < 0 and remainder > 0) or (a > 0 and remainder < 0): - remainder -= b - - return remainder From 2575ad9f999954491b84d3e78845b0cc42195b18 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:23:19 +0100 Subject: [PATCH 170/248] Delete solutions/multiply.py Apologies!, I added all my files by mistake to this branch --- solutions/multiply.py | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 solutions/multiply.py diff --git a/solutions/multiply.py b/solutions/multiply.py deleted file mode 100644 index a3e295a81..000000000 --- a/solutions/multiply.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python 3 -# -*- coding: utf-8 -*- - -""" -A module for multiplication of two numbers. - -Module contents: - multiply: multiply two numbers and returns the result. - -Created on 06.01.2025 -@author : Simi-Solola - -""" - - -def multiply(a: float, b: float) -> float: - """ - Multiplies two numbers and returns the result. - - Parameters: - a (float): The first number. - b (float): The second number. - - Returns: - float: The result of multiplying `a` and `b`. - """ - # Defensive assertion - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), "b must be a number" - - return a * b From 156521afc439ac2938818549c1002a7c28988cde Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:24:23 +0100 Subject: [PATCH 171/248] Delete solutions/tests/test_modulus.py Apologies! I added my solutions to this branch by mistake --- solutions/tests/test_modulus.py | 53 --------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 solutions/tests/test_modulus.py diff --git a/solutions/tests/test_modulus.py b/solutions/tests/test_modulus.py deleted file mode 100644 index 7e2eb9ec8..000000000 --- a/solutions/tests/test_modulus.py +++ /dev/null @@ -1,53 +0,0 @@ -#! usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Test for modulus of two numbers - -Created on 06.01.2025 - -@author:Simi-Solola - - -""" - -import unittest -from solutions.modulus import modulus - - -class TestModulus(unittest.TestCase): - """ - Unit tests for the modulus function. - """ - - def test_positive_numbers(self): - """Test modulus with positive numbers.""" - self.assertEqual(modulus(10, 3), 1) - self.assertEqual(modulus(25, 4), 1) - self.assertEqual(modulus(100, 7), 2) - - def test_negative_numbers(self): - """Test modulus with negative numbers.""" - self.assertEqual(modulus(-10, 3), -1) - self.assertEqual(modulus(-10, -3), -1) - self.assertEqual(modulus(10, -3), 1) - - def test_zero_numerator(self): - """Test modulus when the numerator is zero.""" - self.assertEqual(modulus(0, 5), 0) - - def test_zero_denominator(self): - """Test modulus when the denominator is zero.""" - with self.assertRaises(ValueError): - modulus(10, 0) - - def test_float_inputs(self): - """Test modulus with floating-point numbers.""" - self.assertAlmostEqual(modulus(10.5, 3), 1.5) - self.assertAlmostEqual(modulus(-10.5, 3), -1.5) - self.assertAlmostEqual(modulus(-10.5, -3), -1.5) - self.assertAlmostEqual(modulus(10.5, -3), 1.5) - - -if __name__ == "__main__": - unittest.main() From 2d1dfe969320a81b6af5e6a629bba293bbecd2a5 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:24:59 +0100 Subject: [PATCH 172/248] Delete solutions/tests/test_multiply.py Apologies! I added my solutions to this branch by mistake --- solutions/tests/test_multiply.py | 37 -------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 solutions/tests/test_multiply.py diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py deleted file mode 100644 index 1e8bc1866..000000000 --- a/solutions/tests/test_multiply.py +++ /dev/null @@ -1,37 +0,0 @@ -#! usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Test for multiplication of two numbers - -Created on 06.1.2025 - -@author:Simi-Solola - - -""" - -import unittest - -from solutions.multiply import multiply - - -class TestMultiply(unittest.TestCase): - """ - Test case for the multiply function. - """ - - def test_multiply_positive_numbers(self): - """Test multiplying two positive numbers.""" - result = multiply(2, 3) - self.assertEqual(result, 6) - - def test_multiply_negative_number(self): - """Test multiplying a positive and a negative number.""" - result = multiply(2, -3) - self.assertEqual(result, -6) - - def test_multiply_non_numeric_input(self): - """Test that non-numeric inputs raise an assertion error.""" - with self.assertRaises(AssertionError): - multiply(2, "a") From bd1a8381ef201854387e7372536d2d5b91934f03 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:37:00 +0100 Subject: [PATCH 173/248] Delete solutions/multiply.py Apologies! I added this to this branch by mistake --- solutions/multiply.py | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 solutions/multiply.py diff --git a/solutions/multiply.py b/solutions/multiply.py deleted file mode 100644 index a3e295a81..000000000 --- a/solutions/multiply.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python 3 -# -*- coding: utf-8 -*- - -""" -A module for multiplication of two numbers. - -Module contents: - multiply: multiply two numbers and returns the result. - -Created on 06.01.2025 -@author : Simi-Solola - -""" - - -def multiply(a: float, b: float) -> float: - """ - Multiplies two numbers and returns the result. - - Parameters: - a (float): The first number. - b (float): The second number. - - Returns: - float: The result of multiplying `a` and `b`. - """ - # Defensive assertion - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), "b must be a number" - - return a * b From 4d7d9fb7c37d48af4e84580806f1c91bf4e66880 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:37:54 +0100 Subject: [PATCH 174/248] Delete solutions/tests/test_multiply.py Apologies! I added this to this branch by mistake --- solutions/tests/test_multiply.py | 37 -------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 solutions/tests/test_multiply.py diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py deleted file mode 100644 index 1e8bc1866..000000000 --- a/solutions/tests/test_multiply.py +++ /dev/null @@ -1,37 +0,0 @@ -#! usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Test for multiplication of two numbers - -Created on 06.1.2025 - -@author:Simi-Solola - - -""" - -import unittest - -from solutions.multiply import multiply - - -class TestMultiply(unittest.TestCase): - """ - Test case for the multiply function. - """ - - def test_multiply_positive_numbers(self): - """Test multiplying two positive numbers.""" - result = multiply(2, 3) - self.assertEqual(result, 6) - - def test_multiply_negative_number(self): - """Test multiplying a positive and a negative number.""" - result = multiply(2, -3) - self.assertEqual(result, -6) - - def test_multiply_non_numeric_input(self): - """Test that non-numeric inputs raise an assertion error.""" - with self.assertRaises(AssertionError): - multiply(2, "a") From 1ef44f7c2767bdac73662dfe0c67318e321b79c3 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 22:40:15 +0100 Subject: [PATCH 175/248] What to stop doing --- collaboration/retrospective.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 8dc51d7f3..0f2e850e5 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -63,3 +63,13 @@ team. Milestones kept us on track, and we successfully achieved them together. Teamwork can be incredibly productive and educational, especially when you can rely on your teammates for help. Effective communication is the key to success. ______________________________________________________________________ + +# Retrospective - Awaab Hussein + +## What I will Stop Doing + +Honestly, there’s nothing that I feel I need to stop doing. I’ve been intentional +about my approach to this project, and it’s been going great. For example, my +structured Git workflow, regular communication with the team, and consistent contributions +to reviews have all been effective. I’ve also learned the importance of balancing +quality and efficiency, and these efforts are paying off. From e790b5c5bfe7f75448d478240d8269ac73db61f3 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 22:43:02 +0100 Subject: [PATCH 176/248] What to continue doing --- collaboration/retrospective.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 0f2e850e5..5a522a041 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -73,3 +73,14 @@ about my approach to this project, and it’s been going great. For example, my structured Git workflow, regular communication with the team, and consistent contributions to reviews have all been effective. I’ve also learned the importance of balancing quality and efficiency, and these efforts are paying off. + +## What I will continue doing + +- **Collaborative Reviews:** I’ve been actively reviewing my teammates’ work and +offering constructive feedback, and I will continue doing this because it improves +the overall quality of our code. +- **Clear Git Workflow:** I’ve been following a structured Git workflow by creating +branches, committing regularly, and writing detailed pull requests. I will stick +to this because it’s been very effective. +- **Team Support:** I’ve been fostering open discussions and supporting my teammates, +and I will keep doing this because it helps us work better as a team. From f79941aba89ab6555da981559d14fba7e14cc97a Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 22:46:44 +0100 Subject: [PATCH 177/248] What to start doing --- collaboration/retrospective.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 5a522a041..455bbe8b2 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -84,3 +84,10 @@ branches, committing regularly, and writing detailed pull requests. I will stick to this because it’s been very effective. - **Team Support:** I’ve been fostering open discussions and supporting my teammates, and I will keep doing this because it helps us work better as a team. + +## What I will start Doing + +- **Regular Check-ins:** I plan in future projects to suggest having more frequent +check-ins with the team to stay aligned and track our progress more effectively. +- **Automated Testing:** I want to start incorporating more automated testing into +my workflow to catch potential errors early and ensure our code is reliable. From c6591c147f2169ca2c604711b8f5f9ae72a9d8eb Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 22:50:58 +0100 Subject: [PATCH 178/248] lessons learned --- collaboration/retrospective.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 455bbe8b2..b3d6ce560 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -91,3 +91,13 @@ and I will keep doing this because it helps us work better as a team. check-ins with the team to stay aligned and track our progress more effectively. - **Automated Testing:** I want to start incorporating more automated testing into my workflow to catch potential errors early and ensure our code is reliable. + +## The lessons that I have learned + +- **Importance of Communication:** I’ve learned how crucial it is to communicate +effectively with my team. Misunderstandings can lead to delays, so I now focus on +being clear and concise. +- **Value of Feedback:** I’ve realized how valuable it is to receive and give constructive +feedback during code reviews. It’s helped me grow and write better code. +- **Patience with Learning:** I’ve also learned that it’s okay to take time to fully +understand new tools or techniques instead of rushing through them. From 19a5177a7300055c206ebf9c4fc12534509f4641 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 22:57:31 +0100 Subject: [PATCH 179/248] parts that didnt workout --- collaboration/retrospective.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index b3d6ce560..82407fd23 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -100,4 +100,18 @@ being clear and concise. - **Value of Feedback:** I’ve realized how valuable it is to receive and give constructive feedback during code reviews. It’s helped me grow and write better code. - **Patience with Learning:** I’ve also learned that it’s okay to take time to fully -understand new tools or techniques instead of rushing through them. +understand new tools or techniques instead of rushing through them. + +## The parts of my plan that went as expected + +I found that my structured Git workflow and clear communication for pull requests +worked as I had planned. These practices helped me stay organized and complete tasks +efficiently. + +## The parts of my plan that did not work out + +There wasn’t anything that didn’t work out in the overall sense. The general track +of the project went exactly the way I planned it. Although the process involved +trying things out, and some of these didn’t work, that was all part of the learning +experience. Each trial added to my understanding and contributed to the success of +the project. From d08d50ba618e2722e9d23fe7fa6d25cc95878204 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 23:00:52 +0100 Subject: [PATCH 180/248] Finishing the retrospective --- collaboration/retrospective.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 82407fd23..fcba3cb54 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -115,3 +115,8 @@ of the project went exactly the way I planned it. Although the process involved trying things out, and some of these didn’t work, that was all part of the learning experience. Each trial added to my understanding and contributed to the success of the project. + +## Things that I added that weren't in my initial strategy + +I had to include more detailed documentation for my work after realizing it +might not be clear enough for my teammates during reviews. From b33c9628afd95f626ab1b4b6f1b7c2b9f8e16325 Mon Sep 17 00:00:00 2001 From: Awaab98 Date: Tue, 7 Jan 2025 23:02:58 +0100 Subject: [PATCH 181/248] Final editing --- collaboration/retrospective.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index fcba3cb54..4d0732f5c 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -66,7 +66,7 @@ ______________________________________________________________________ # Retrospective - Awaab Hussein -## What I will Stop Doing +## What I will stop doing Honestly, there’s nothing that I feel I need to stop doing. I’ve been intentional about my approach to this project, and it’s been going great. For example, my @@ -85,7 +85,7 @@ to this because it’s been very effective. - **Team Support:** I’ve been fostering open discussions and supporting my teammates, and I will keep doing this because it helps us work better as a team. -## What I will start Doing +## What I will start doing - **Regular Check-ins:** I plan in future projects to suggest having more frequent check-ins with the team to stay aligned and track our progress more effectively. From b9fde086bd77fdc91b261d2e6bbe953f44c38f9b Mon Sep 17 00:00:00 2001 From: zeozeph Date: Wed, 8 Jan 2025 07:21:32 +0100 Subject: [PATCH 182/248] improved version of the divide function work --- solutions/tests/test_divide.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index da29d2da2..2ebf95dc5 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -7,13 +7,8 @@ """ import unittest -import sys -import os -# Add the parent directory of 'solutions' to the system path -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))) - -from solutions.divide import divide +from ..divide import divide class TestDivide(unittest.TestCase): @@ -72,6 +67,3 @@ def test_divide_type_error(self): self.assertTrue(expected in str(context.exception)) -# Additional test method -if __name__ == "__main__": - unittest.main() From 23070fb6bb2550bf692aa35e6e867108417ef39c Mon Sep 17 00:00:00 2001 From: zeozeph Date: Wed, 8 Jan 2025 07:28:41 +0100 Subject: [PATCH 183/248] enhanced divide, reformatted with ruff --- solutions/tests/test_divide.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 2ebf95dc5..4d813520d 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -65,5 +65,3 @@ def test_divide_type_error(self): divide("10", "2") # Calling function with test arguments expected = "Both arguments must be numbers" # Expected result self.assertTrue(expected in str(context.exception)) - - From 492a5356755241ffecdce91f55a58f7996dbf5b9 Mon Sep 17 00:00:00 2001 From: Ayomide Ayodele Date: Wed, 8 Jan 2025 07:40:48 +0100 Subject: [PATCH 184/248] Made changes to the square_root and test_square_root files. --- solutions/square_root.py | 28 ++++++++++++++++++---- solutions/tests/test_square_root.py | 36 ++++++++++++++++++----------- 2 files changed, 47 insertions(+), 17 deletions(-) diff --git a/solutions/square_root.py b/solutions/square_root.py index c922163bb..3adcef120 100644 --- a/solutions/square_root.py +++ b/solutions/square_root.py @@ -1,16 +1,36 @@ -def square_root(num): +def square_root(num: int | float) -> int | float: """ Calculate the square root of a number. Parameters: - number (float): The number to find the square root of. Must be non-negative. + num (int | float): The number to find the square root of. Must be non-negative. Returns: - float: The square root of the input number. + int | float: The square root of the input number. Returns an int if the result is a whole number, otherwise a float. Raises: ValueError: If the input number is negative. + + Examples: + >>> square_root(4) + 2 + >>> square_root(0) + 0 + >>> square_root(2.25) + 1.5 + >>> square_root(10) + 3.1622776601683795 + >>> square_root(-4) # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ValueError: Cannot calculate the square root of a negative number. """ if num < 0: raise ValueError("Cannot calculate the square root of a negative number.") - return num**0.5 + + result = num ** 0.5 + return int(result) if result.is_integer() else result + + +if __name__ == "__main__": + import doctest + doctest.testmod() diff --git a/solutions/tests/test_square_root.py b/solutions/tests/test_square_root.py index 17029bd8a..5013775ac 100644 --- a/solutions/tests/test_square_root.py +++ b/solutions/tests/test_square_root.py @@ -1,33 +1,43 @@ -# The test case for the square root function of the Calculator import unittest from solutions.square_root import square_root - + class TestSquareRootFunction(unittest.TestCase): """ - Unit tests for the `square_root` function. - + Unit tests for the square_root function. Methods: - test_square_root: Tests the square root of positive numbers, zero, and raises errors for negative numbers. """ - def test_square_root(self): + def test_square_root_of_positive_number(self): """ - Test cases for the square root function. - - Verifies the function correctly calculates the square root of: - - Positive numbers - - Zero - - Ensures the function raises a ValueError for negative numbers. + Test square root of a positive number. + Verifies that the square root of a positive number is calculated correctly. """ self.assertEqual(square_root(4), 2) + + def test_square_root_of_zero(self): + """ + Test square root of zero. + Verifies that the square root of zero is 0. + """ self.assertEqual(square_root(0), 0) + + def test_square_root_of_decimal(self): + """ + Test square root of a decimal number. + Verifies that the square root of a decimal number is calculated correctly. + """ self.assertAlmostEqual(square_root(2.25), 1.5) + def test_square_root_of_negative_number(self): + """ + Test square root of a negative number (should raise ValueError). + Verifies that the function raises a ValueError for negative numbers. + """ with self.assertRaises(ValueError): square_root(-4) if __name__ == "__main__": - unittest.main(argv=["first-arg-is-ignored"], exit=False) + unittest.main(argv=['first-arg-is-ignored'], exit=False) From 59993a3017e25f94db42b8a23390bdefa0d8c85b Mon Sep 17 00:00:00 2001 From: Ayomide Ayodele Date: Wed, 8 Jan 2025 07:54:49 +0100 Subject: [PATCH 185/248] Code reformatted to pass CI Checks. --- solutions/square_root.py | 3 ++- solutions/tests/test_square_root.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/solutions/square_root.py b/solutions/square_root.py index 3adcef120..2b7f47dba 100644 --- a/solutions/square_root.py +++ b/solutions/square_root.py @@ -27,10 +27,11 @@ def square_root(num: int | float) -> int | float: if num < 0: raise ValueError("Cannot calculate the square root of a negative number.") - result = num ** 0.5 + result = num**0.5 return int(result) if result.is_integer() else result if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/solutions/tests/test_square_root.py b/solutions/tests/test_square_root.py index 5013775ac..4a46feca5 100644 --- a/solutions/tests/test_square_root.py +++ b/solutions/tests/test_square_root.py @@ -1,6 +1,6 @@ import unittest from solutions.square_root import square_root - + class TestSquareRootFunction(unittest.TestCase): """ @@ -40,4 +40,4 @@ def test_square_root_of_negative_number(self): if __name__ == "__main__": - unittest.main(argv=['first-arg-is-ignored'], exit=False) + unittest.main(argv=["first-arg-is-ignored"], exit=False) From f27d43fb6958e8db0ff73a35b9c662584698c8ee Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Wed, 8 Jan 2025 08:03:36 +0100 Subject: [PATCH 186/248] Update retrospective.md I have made some contributions to the retrospective.md file. It was a succinct overview of my personal experience during this project. Additionally, I observed that I can not edit this file directly. Consequently, I have created a branch for this commit and will start a pull request. I humbly appeal that my commit be promptly reviewed and added to the main branch. --- collaboration/retrospective.md | 66 ++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 4d0732f5c..01f06a512 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -120,3 +120,69 @@ the project. I had to include more detailed documentation for my work after realizing it might not be clear enough for my teammates during reviews. + +______________________________________________________________________ + +# Retrospective - Zephaniah Okoye + +## What I will stop doing + +- **Delaying Communication**: Avoid waiting too + long before seeking help or clarifying doubts. +- **Ignoring Time Management**: Stop neglecting the + importance of a structured schedule. +- **Working in Isolation**: Avoid working on tasks + without collaborating with teammates. + +## What I will continue doing + +- **Collaborative Efforts**: Maintain active + participation in team discussions and code reviews. +- **Structured Workflow**: Continue following a clear + Git workflow and maintaining organized commit histories. +- **Proactive Communication**: Keep communicating progress + and challenges regularly with the team. + +## What I will start doing + +- **Regular Check-Ins**: Implement more frequent check-ins with + the team to ensure alignment and track progress. +- **Automated Testing**: Incorporate more automated testing + into the development workflow to enhance code reliability. +- **Detailed Documentation**: Start adding more comprehensive + documentation to ensure clarity for teammates during reviews. + +## What went well + +- **Team Collaboration**: The team worked together effectively, + leading to timely completion of tasks and high-quality output. +- **Code Reviews**: Constructive feedback during code + reviews significantly improved the code quality. +- **Communication**: Regular and clear communication helped in + resolving issues quickly and maintaining progress. +- **Seeking Help**: My ability to ask for help from teammates both + privately and on the Slack general communication platform was a lifesaver. + +## What could have been improved + +- **Time Management**: More structured scheduling could have + helped in meeting deadlines more efficiently. +- **Early Testing**: Integrating automated testing earlier in + the development process could have caught potential issues sooner. +- **Documentation**: More detailed documentation from the beginning + would have provided better clarity for team members. + +## Lessons Learned + +- **Importance of Teamwork**: Collaboration and clear + communication are key to project success. +- **Effective Feedback**: Constructive feedback during code + reviews helps improve code quality and personal growth. +- **Time Management**: A well-structured schedule enhances + productivity and ensures timely completion of tasks. +- **Continuous Learning**: It's crucial to stay updated with + new tools and techniques and to be patient with the learning process. + + + + From 42a53d14553ed1d91aff7a2ab06cd235dcbc8991 Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Wed, 8 Jan 2025 08:11:46 +0100 Subject: [PATCH 187/248] Update retrospective.md --- collaboration/retrospective.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 01f06a512..b37eadc12 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -125,7 +125,7 @@ ______________________________________________________________________ # Retrospective - Zephaniah Okoye -## What I will stop doing +## What I will refrain from doing - **Delaying Communication**: Avoid waiting too long before seeking help or clarifying doubts. @@ -134,7 +134,7 @@ ______________________________________________________________________ - **Working in Isolation**: Avoid working on tasks without collaborating with teammates. -## What I will continue doing +## What I will keep doing - **Collaborative Efforts**: Maintain active participation in team discussions and code reviews. @@ -143,7 +143,7 @@ ______________________________________________________________________ - **Proactive Communication**: Keep communicating progress and challenges regularly with the team. -## What I will start doing +## What I will commence doing - **Regular Check-Ins**: Implement more frequent check-ins with the team to ensure alignment and track progress. @@ -182,7 +182,3 @@ ______________________________________________________________________ productivity and ensures timely completion of tasks. - **Continuous Learning**: It's crucial to stay updated with new tools and techniques and to be patient with the learning process. - - - - From 19edc858f6f31567cd1d8f9c45372aa728f9e72c Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Wed, 8 Jan 2025 08:14:31 +0100 Subject: [PATCH 188/248] Update retrospective.md --- collaboration/retrospective.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index b37eadc12..204102458 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -172,7 +172,7 @@ ______________________________________________________________________ - **Documentation**: More detailed documentation from the beginning would have provided better clarity for team members. -## Lessons Learned +## Lessons gleaned from my experience - **Importance of Teamwork**: Collaboration and clear communication are key to project success. From 446ce4ae7ef057b0eb8fb77e7b28c8e05989d566 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Wed, 8 Jan 2025 16:59:03 +0100 Subject: [PATCH 189/248] Update retrospective file with structured format and instructions --- collaboration/retrospective.md | 47 +++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 204102458..f1b850b4d 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -1,28 +1,44 @@ +# Retrospective -# Retrospective +This document represents the retrospective for our Team Project, created by +Group 12. Below, you will find individual retrospectives +from each team member, reflecting on their experiences, +lessons learned, and areas for improvement. -## Stop Doing +The structure and plan for this retrospective were initially proposed to us as +a guide to help each participant conduct their own reflection. While this +structure is not mandatory, it was created to assist in organizing thoughts in +a consistent and professional manner. You can review the suggested structure +below, which we followed to provide clarity and coherence in our reflections. -## Continue Doing +--- -## Start Doing +## Retrospective Structure -## Lessons Learned +### Key Reflection Topics -______________________________________________________________________ +- Stop Doing +- Continue Doing +- Start Doing +- Lessons Learned -## Strategy vs. Board +### Strategy vs. Board - Key Questions for Reflection -### What parts of your plan went as expected? +- What parts of your plan went as expected? +- What parts of your plan did not work out? +- Did you need to add things that weren't in your strategy? +- Or remove extra steps? -### What parts of your plan did not work out? +By following this structured approach, we aimed to capture valuable insights +from each participant while maintaining a professional and organized +presentation of our reflections. This document not only serves as a +summary of our achievements and challenges but also as a foundation +for improving our workflows and collaboration in future projects. -### Did you need to add things that weren't in your strategy? +--- -### Or remove extra steps? - -______________________________________________________________________ +# Individual Retrospectives # Retrospective - Olubusayo Solola @@ -40,8 +56,6 @@ Below are things I will start/continue doing moving forward A lot didn't go as planned 😏 but what I learnt is teamwork always wins -______________________________________________________________________ - # Retrospective - Yevheniia Rudenko Below are things I will stop doing moving forward: @@ -62,7 +76,6 @@ Having a structure, even a relative one, proved to be very important for our team. Milestones kept us on track, and we successfully achieved them together. Teamwork can be incredibly productive and educational, especially when you can rely on your teammates for help. Effective communication is the key to success. -______________________________________________________________________ # Retrospective - Awaab Hussein @@ -121,8 +134,6 @@ the project. I had to include more detailed documentation for my work after realizing it might not be clear enough for my teammates during reviews. -______________________________________________________________________ - # Retrospective - Zephaniah Okoye ## What I will refrain from doing From 8d5682203fa7731317266ea09820d6f1732171b9 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Wed, 8 Jan 2025 21:59:36 +0100 Subject: [PATCH 190/248] Added info about new deadline --- collaboration/constraints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 56a4487b2..90bd0df66 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -19,7 +19,7 @@ the project. These constraints are beyond our team's control and have been imposed by external factors: -- **Official Deadline:** The project must be completed by **10.01.2025**. +- **Official Deadline:** The project must be completed by **10.01.2025** (extended until 12.01.2025). - **Tools and Platforms:** We will use **GitHub** for version control and **Python** for development. - **Code Review Requirements:** Each pull request must be reviewed From 3037e2685b5d6c3edb20e11ff6deaeb6ed90627e Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Wed, 8 Jan 2025 22:07:27 +0100 Subject: [PATCH 191/248] fixed CI check error --- collaboration/constraints.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 90bd0df66..3178d32b9 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -19,7 +19,8 @@ the project. These constraints are beyond our team's control and have been imposed by external factors: -- **Official Deadline:** The project must be completed by **10.01.2025** (extended until 12.01.2025). +- **Official Deadline:** The project must be completed by **10.01.2025** +(extended until 12.01.2025). - **Tools and Platforms:** We will use **GitHub** for version control and **Python** for development. - **Code Review Requirements:** Each pull request must be reviewed From d2cb32dbbfe983474be3f1668cc774e4405a93f8 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Thu, 9 Jan 2025 07:45:20 +0100 Subject: [PATCH 192/248] Addressed code review comments: error message when denominator is zero --- solutions/modulus.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index 98f9b693b..440952491 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -28,7 +28,9 @@ def modulus(a: float, b: float) -> float: ValueError: If the denominator is zero. """ if b == 0: - raise ValueError("The denominator (b) cannot be zero.") + raise ValueError( + "The numerator and denominator can be any real numbers except the denominator cannot be zero." + ) remainder = a % b # Adjust the result to match the dividend's sign From cfcd59647a4cb953da3f5e199bf77621ca5aadf7 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Thu, 9 Jan 2025 07:51:57 +0100 Subject: [PATCH 193/248] Addressed code review comments: error message when denominator is zero --- solutions/modulus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index 440952491..1633e300e 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -29,7 +29,7 @@ def modulus(a: float, b: float) -> float: """ if b == 0: raise ValueError( - "The numerator and denominator can be any real numbers except the denominator cannot be zero." + "The numerator and denominator can be any real numbers except the denominator can't be zero." ) remainder = a % b From 4e6a868e0aa92815f6b0012cdfdb45dd67300600 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Thu, 9 Jan 2025 08:03:29 +0100 Subject: [PATCH 194/248] corrected line 1 --- solutions/modulus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index 1633e300e..e558d2c3e 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python 3 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ From df25df02cc17bab06c814c0a2f960ec07b3f5740 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Thu, 9 Jan 2025 08:20:30 +0100 Subject: [PATCH 195/248] enhanced test --- solutions/tests/test_modulus.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/solutions/tests/test_modulus.py b/solutions/tests/test_modulus.py index 7e2eb9ec8..ce0212e0a 100644 --- a/solutions/tests/test_modulus.py +++ b/solutions/tests/test_modulus.py @@ -1,4 +1,4 @@ -#! usr/bin/env python3 +#!usr/bin/env python3 # -*- coding: utf-8 -*- """ @@ -12,6 +12,7 @@ """ import unittest + from solutions.modulus import modulus @@ -49,5 +50,23 @@ def test_float_inputs(self): self.assertAlmostEqual(modulus(10.5, -3), 1.5) +def test_large_and_small_numbers(self): + """Test modulus with very large and very small numbers.""" + self.assertEqual(modulus(1e18, 3), 1) + self.assertAlmostEqual(modulus(1, 1e-10), 0) + + +def test_defensive_inputs(self): + """Test modulus with invalid or unusual inputs.""" + with self.assertRaises(TypeError): + modulus("10", 3) # When Numerator is a string + with self.assertRaises(TypeError): + modulus(10, "3") # When Denominator is a string + with self.assertRaises(TypeError): + modulus(None, 3) # When Numerator is None + with self.assertRaises(TypeError): + modulus(10, None) # When Denominator is None + + if __name__ == "__main__": unittest.main() From fcf419bff96432b90172f2ae660ddccf5f2a50eb Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:59:08 +0100 Subject: [PATCH 196/248] Started adding my Retrospective --- collaboration/retrospective.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index f1b850b4d..21ab5af13 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -193,3 +193,6 @@ might not be clear enough for my teammates during reviews. productivity and ensures timely completion of tasks. - **Continuous Learning**: It's crucial to stay updated with new tools and techniques and to be patient with the learning process. + +# Retrospective - Abdul Qader Dost + From cc5cfcc4be34025089be4c1db065564ea113c5ee Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:01:01 +0100 Subject: [PATCH 197/248] Added Things I'll Stop Doing Moving Forward --- collaboration/retrospective.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 21ab5af13..9d26f41e3 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -196,3 +196,9 @@ might not be clear enough for my teammates during reviews. # Retrospective - Abdul Qader Dost +## Things I'll Stop Doing Moving Forward + +- **Procrastination**: I'll stop putting off tasks that I can tackle right away. +- **Underestimating Deadlines**: I'll stop assuming I have more time than I +actually do to complete tasks. + From 3ec8a45bc38d7c48aa4fb6f6c3861a38e752ee51 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:01:44 +0100 Subject: [PATCH 198/248] Added Things I'll Start/Continue Doing Moving Forward --- collaboration/retrospective.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 9d26f41e3..e28f886b0 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -202,3 +202,26 @@ might not be clear enough for my teammates during reviews. - **Underestimating Deadlines**: I'll stop assuming I have more time than I actually do to complete tasks. +## Things I'll Start/Continue Doing Moving Forward + +- **Proactive Communication**: I'll keep the team updated on my progress and +reach out for help whenever I'm stuck. +- **Action Over Stress**: Instead of stressing out or overthinking a task, I'll +focus on taking small actions to move forward. +- **Collaborative Reviews**: I'll continue giving helpful feedback to my teammates +and asking for feedback on my work to improve quality. +- **Structured Workflow**: I'll stick to a clear Git workflow with regular commits +and detailed pull requests to keep things organized. +- **Team Support**: I'll stay available to help my teammates and offer support +when needed. +- **Time Blocking**: I'll try to plan my work better by allocating dedicated time +for focused tasks. +- **Prioritizing Tasks**: I'll focus on the most urgent and impactful tasks first +to make sure I'm working on the right things. +- **Building Soft Skills**: I'll keep working on improving skills like negotiation, +adaptability, and conflict resolution to help the team function better. +- **Post-Task Reflection**: After each task, I'll take a moment to reflect on what +went well and what could be improved. +- **Knowledge Sharing**: I'll share insights and helpful techniques I pick up with +my team to help everyone grow together. + From 514cb55346a039408871d01c5cbad38b654f00ef Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:03:06 +0100 Subject: [PATCH 199/248] Added my reflectiono --- collaboration/retrospective.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index e28f886b0..0120b81a0 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -225,3 +225,10 @@ went well and what could be improved. - **Knowledge Sharing**: I'll share insights and helpful techniques I pick up with my team to help everyone grow together. +## Reflection + +Having a structure and clear communication is really important. It helps me stay +on track and be more productive. Working with the team is not only productive, +but also really educational - we learn a lot from each other. The key takeaway? +Teamwork and effective communication really make a difference in achieving success. + From 3d64552567edfa578ba5ca30237b3bb08886371c Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost <67550027+abeddost@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:07:18 +0100 Subject: [PATCH 200/248] Reformatted the file. --- collaboration/retrospective.md | 1 + 1 file changed, 1 insertion(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 0120b81a0..05ba27c00 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -232,3 +232,4 @@ on track and be more productive. Working with the team is not only productive, but also really educational - we learn a lot from each other. The key takeaway? Teamwork and effective communication really make a difference in achieving success. + From a38882d1a06942856f09d7a6df17e96958301959 Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 9 Jan 2025 15:28:57 +0100 Subject: [PATCH 201/248] fixed CI checks issue --- collaboration/retrospective.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 05ba27c00..7f0c58a6d 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -231,5 +231,3 @@ Having a structure and clear communication is really important. It helps me stay on track and be more productive. Working with the team is not only productive, but also really educational - we learn a lot from each other. The key takeaway? Teamwork and effective communication really make a difference in achieving success. - - From e084a184b87f333395c40ead50748df45590796d Mon Sep 17 00:00:00 2001 From: Yevheniia Rudenko Date: Thu, 9 Jan 2025 15:36:12 +0100 Subject: [PATCH 202/248] Fixed ruff format ci check issue --- collaboration/retrospective.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 7f0c58a6d..94ddfaddd 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -231,3 +231,5 @@ Having a structure and clear communication is really important. It helps me stay on track and be more productive. Working with the team is not only productive, but also really educational - we learn a lot from each other. The key takeaway? Teamwork and effective communication really make a difference in achieving success. + +--- From a4e53c8c88b8d2ac4cdb34ca1e15ca831a0ae8bc Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 9 Jan 2025 16:51:35 +0100 Subject: [PATCH 203/248] Ran Ruff format to fix CI checks. --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index dcebf78bf..6726cb35d 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From e2f441df4d0ff561dade7addf919404ee2ee149d Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 9 Jan 2025 16:53:58 +0100 Subject: [PATCH 204/248] Revert "Ran Ruff format to fix CI checks." This reverts commit a4e53c8c88b8d2ac4cdb34ca1e15ca831a0ae8bc. --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index 6726cb35d..dcebf78bf 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted(list_to_be_searched), ( - "The list must be sorted in ascending order." - ) + assert list_to_be_searched == sorted( + list_to_be_searched + ), "The list must be sorted in ascending order." # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From f825b89bdbde7938c45728b61b594f9891994f4b Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 9 Jan 2025 16:58:05 +0100 Subject: [PATCH 205/248] Reapply "Ran Ruff format to fix CI checks." This reverts commit e2f441df4d0ff561dade7addf919404ee2ee149d. --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index dcebf78bf..6726cb35d 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From 8624c376095889f59d80c603cac0782c64b11b48 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 9 Jan 2025 17:25:59 +0100 Subject: [PATCH 206/248] Changed the error message of the Assesrtion --- solutions/absolute_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/absolute_value.py b/solutions/absolute_value.py index abe9ab4ea..c1de4d0a5 100644 --- a/solutions/absolute_value.py +++ b/solutions/absolute_value.py @@ -37,7 +37,7 @@ def absolute_value(number: float) -> float: """ # the number should be an integer or float if not isinstance(number, (int, float)): - raise TypeError("The input must be an int or float") + raise TypeError(f"The input: {number} must be an int or float") # Return the absolute value return number if number >= 0 else -number From fcb0b4ceee79115a8fe2884bf17676861591fe53 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Thu, 9 Jan 2025 17:27:47 +0100 Subject: [PATCH 207/248] Reformatted for CI checks --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index dcebf78bf..6726cb35d 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From f058532aa090d443e7d943310442f1919c7e3749 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Thu, 9 Jan 2025 22:09:02 +0100 Subject: [PATCH 208/248] Update restrospective --- collaboration/retrospective.md | 83 ++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index f1b850b4d..6352eafe2 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -193,3 +193,86 @@ might not be clear enough for my teammates during reviews. productivity and ensures timely completion of tasks. - **Continuous Learning**: It's crucial to stay updated with new tools and techniques and to be patient with the learning process. + +# Retrospective - Ridwan Ayinde + +## Stop doing + +-Since I am new to github, and I followed all the instructions given to us, +I do not feel there is anything for me to stop doing. +I ensured I communicated with my team on problems I encounter, +and they are always responsive. + +## Continue doing + +- **Effective Communication:** I have been communicating with my team +effectively. Anything, I do not understand, I ask questions directly +on the group. + +- **Mid-Sprint Check-Ins:** I learnt a lot from the meetings on mondays where +we discuss progress and blockers. Like Insights tab on github, I did not notice +this tab until during the meeting. + +- **Thorough Testing:** I did thorough testing of code before I deploy +on github. + +- **Open Communication:** I enjoyed how open our communication is +on how to solve our problems on github. + +- **Naming Convention:** I noticed how my reviewer improved my naming. +convention for clarity. Therefore, I will put more attention to how I will +name my variables for better understanding. + +- **Control Version:** I will continue to make use of git and github, +because this effectively track changes. + +- **Performance Optimization:** I like the way we have checklist to mark + during the review stage. This is to ensure the person writing the code has + done all necessary things to ensure the task is 100% complete. + +## Start doing + +- **Automated Testing:** I want to start implementing automated + testing to reduce manual effort such as the way we did unit test + on the functions before deployment of our calculator project. + +- **Project Mangement Tools:** I believe it is better to use project +management tools like github to manage our project. This ensure better +tracking making everyone work on their own time within a given deadline. + +- **Post-Deployment Report** I will like to try out writing out post-deployment +reports to analyze feature such as a new function or a new update to evaluate +what went wrong, the challenges during the software development stage. + +## Lessons Learned + +- **Quality Over Speed:** In my team, we focused on choosing a simpler code +for our project so that we could have more time understanding the code, git, +vs code and github platform. +- **Effective Communication:** Effective communication is key within our team. +We communicated both on github, slack and the docs sent to us. We had less +misunderstandings amongst ourselves as we are all focused on getting the work +done. +- **Adaptability:** I have learnt to be adaptable as this crucial. This is first +time I will be working with people I have not met before and our project was a success. +Being flexible with our timeline helps the team succeed. + +- **Documentation Matters:** It helps provide clear explanation of how things work, +which makes it easier for onboarding and troubleshooting. + +## The part of my plan that went as expected + +I relied on studying what we were taught in class and collaborating +with the group members. And this went well, as they did wonders in helping me +understand the group project. + +## My Plan that did not work out + +I underestimated the time required for debugging especially when I want +to push my code to github and it is requesting me to merge. I actually expected +to just push my code after changing and the unexpected keep resisting me. + +## Things that I included that weren't in my initial strategy + +I had to my add some things in my code during the review that were not part of +my initial strategy. Like the edge cases in my add-function. From bcfb34bd4bd1246e2b84fe2d550c886f606ae554 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Fri, 10 Jan 2025 03:30:45 +0100 Subject: [PATCH 209/248] added-Lukmon-retrospection --- collaboration/retrospective.md | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/collaboration/retrospective.md b/collaboration/retrospective.md index 865f28a0b..53f1ede0b 100644 --- a/collaboration/retrospective.md +++ b/collaboration/retrospective.md @@ -314,3 +314,48 @@ Having a structure and clear communication is really important. It helps me stay on track and be more productive. Working with the team is not only productive, but also really educational - we learn a lot from each other. The key takeaway? Teamwork and effective communication really make a difference in achieving success. + +# Retrospective - Lukmon Olamilekan Alao + +## stop doing + +I will stop doing the following: + +- spending a long hour on finding solutions to technical problem I encountered +- acknowledge my beginner level and ask for help when I face challenges + +## Things I will continuing doing + +- dedicating extra time to catch-up with the group activities +- solving simple problem and increasing the difficulty as I progress +- using the git commands I have learnt so it become second nature +- being a good team player +- using the code review template for all the code I write + +## Things I will start doing + +I will start doing the following: + +- time blocking for programming practice +- adopting best code writing practice +- documenting the codes I write +- communicating my growth and the new skill I learnt on my social media +- volunteering to teach the skills I have learnt already + +### part of my plan that went well + +- ensured i complete my tasks against all odds +- learn as much as possible from my teammates +- have better understanding of how to use github and git + +### plans that did not work out + +- to help my teammates a lot +- to be present in all of the workshop and team meetings +- to submit all my assignment before the deadline day + +### Things I included that were not in my plan + +- using extra hour for self study +- watching lot of youtube videos on git and git command +- later using AI to learn the git commands effectively From 247d5315ec94cc9d91d99ef053ce45817fcbb36a Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Fri, 10 Jan 2025 19:19:28 +0100 Subject: [PATCH 210/248] Updated Constraints by Ridwan --- collaboration/constraints.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 3178d32b9..dfa7ecafb 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -21,6 +21,11 @@ been imposed by external factors: - **Official Deadline:** The project must be completed by **10.01.2025** (extended until 12.01.2025). +- **Number of Unit test:** We were not under any compulsion to have +a specific number of unit tests, however we were advised to test our +functions in different ways in order to make it robust, reliable, and +behaves correctly under any conditions such as edge cases that ensures +our software under unusual but valid inputs still works. - **Tools and Platforms:** We will use **GitHub** for version control and **Python** for development. - **Code Review Requirements:** Each pull request must be reviewed From 1ac882f10735ca052e27c2f620e65340118eef32 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Fri, 10 Jan 2025 23:42:53 +0100 Subject: [PATCH 211/248] Making corrections --- solutions/modulus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index e558d2c3e..eedf4f682 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -29,7 +29,7 @@ def modulus(a: float, b: float) -> float: """ if b == 0: raise ValueError( - "The numerator and denominator can be any real numbers except the denominator can't be zero." + "The numerator and denominator can be any real number except the denominator can't be 0" ) remainder = a % b From 160697a6bde5f115edaea4cd9003ef8c2b09669b Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 00:53:19 +0100 Subject: [PATCH 212/248] correct agan --- solutions/modulus.py | 2 +- solutions/tests/test_modulus.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index eedf4f682..da25e56da 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -29,7 +29,7 @@ def modulus(a: float, b: float) -> float: """ if b == 0: raise ValueError( - "The numerator and denominator can be any real number except the denominator can't be 0" + "The numerator and denominator can be any real number except the denominator can't be 0." ) remainder = a % b diff --git a/solutions/tests/test_modulus.py b/solutions/tests/test_modulus.py index ce0212e0a..0160aff15 100644 --- a/solutions/tests/test_modulus.py +++ b/solutions/tests/test_modulus.py @@ -1,4 +1,4 @@ -#!usr/bin/env python3 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ From 402fabfd6071b3f3a0f52b2be6c6ac9254fb236e Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 01:21:15 +0100 Subject: [PATCH 213/248] Update learning_goals.md --- collaboration/learning_goals.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index e5f0513bf..a3e32342f 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -130,9 +130,6 @@ where necessary. - familiarize with github interface. - Gain an understanding of how to use it for effective collaboration. -*Each team member is encouraged to add their individual goals below to document -their learning objectives for this project.* - ### Zephaniah Okoye 1. **Advanced Git and GitHub Mastery**: @@ -183,6 +180,28 @@ their learning objectives for this project.* - Enhance conflict resolution skills to address and resolve team challenges constructively. +### Olubusayo Solola + +#### 1. Team Collaboration + - Work better with others by joining team projects. + - Get better at communication and learn how to work well with people from different backgrounds. + +#### 2. Learning Git and Version Control + - Practice using Git commands for managing versions and fixing merge conflicts. + - Make teamwork easier by keeping everything organized with Git. + +#### 3. Improving Code Reviews + - Learn how to write cleaner code that others can understand easily. + - Get better at reviewing other people's code and giving helpful feedback. + +#### 4. Getting Comfortable with GitHub + - Explore GitHub and learn how to use its features. + - Use GitHub to collaborate with others, track issues, and manage projects. + +#### 5. Debugging and Problem Solving + - Learn how to debug code more effectively and predict where things might go wrong. + - Get better at solving problems by figuring out what’s causing issues in the code. + --- *Each team member is encouraged to add their individual goals below to document From 208e43ba20bd09e039d37dca53defedf686ac4b6 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 01:32:37 +0100 Subject: [PATCH 214/248] Update learning_goals.md --- collaboration/learning_goals.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index a3e32342f..b7465cd7e 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -183,22 +183,27 @@ where necessary. ### Olubusayo Solola #### 1. Team Collaboration + - Work better with others by joining team projects. - Get better at communication and learn how to work well with people from different backgrounds. #### 2. Learning Git and Version Control + - Practice using Git commands for managing versions and fixing merge conflicts. - Make teamwork easier by keeping everything organized with Git. #### 3. Improving Code Reviews + - Learn how to write cleaner code that others can understand easily. - Get better at reviewing other people's code and giving helpful feedback. #### 4. Getting Comfortable with GitHub + - Explore GitHub and learn how to use its features. - Use GitHub to collaborate with others, track issues, and manage projects. #### 5. Debugging and Problem Solving + - Learn how to debug code more effectively and predict where things might go wrong. - Get better at solving problems by figuring out what’s causing issues in the code. From b9a58bc42dc5b876676af630d41a75b1e473d26f Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 01:39:41 +0100 Subject: [PATCH 215/248] Update learning_goals.md --- collaboration/learning_goals.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index b7465cd7e..eae8223b3 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -184,28 +184,28 @@ where necessary. #### 1. Team Collaboration - - Work better with others by joining team projects. - - Get better at communication and learn how to work well with people from different backgrounds. +- Work better with others by joining team projects. +- Get better at communication and learn how to work well with people from different backgrounds. #### 2. Learning Git and Version Control - - Practice using Git commands for managing versions and fixing merge conflicts. - - Make teamwork easier by keeping everything organized with Git. +- Practice using Git commands for managing versions and fixing merge conflicts. +- Make teamwork easier by keeping everything organized with Git. #### 3. Improving Code Reviews - - Learn how to write cleaner code that others can understand easily. - - Get better at reviewing other people's code and giving helpful feedback. +- Learn how to write cleaner code that others can understand easily. +- Get better at reviewing other people's code and giving helpful feedback. #### 4. Getting Comfortable with GitHub - - Explore GitHub and learn how to use its features. - - Use GitHub to collaborate with others, track issues, and manage projects. +- Explore GitHub and learn how to use its features. +- Use GitHub to collaborate with others, track issues, and manage projects. #### 5. Debugging and Problem Solving - - Learn how to debug code more effectively and predict where things might go wrong. - - Get better at solving problems by figuring out what’s causing issues in the code. +- Learn how to debug code more effectively and predict where things might go wrong. +- Get better at solving problems by figuring out what’s causing issues in the code. --- From c53de854d316dbffb10a9f957ecaeeb60dc9d02a Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 01:47:20 +0100 Subject: [PATCH 216/248] Update learning_goals.md --- collaboration/learning_goals.md | 41 ++++++++++++++------------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index eae8223b3..e4a9fd3b5 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -182,30 +182,23 @@ where necessary. ### Olubusayo Solola -#### 1. Team Collaboration - -- Work better with others by joining team projects. -- Get better at communication and learn how to work well with people from different backgrounds. - -#### 2. Learning Git and Version Control - -- Practice using Git commands for managing versions and fixing merge conflicts. -- Make teamwork easier by keeping everything organized with Git. - -#### 3. Improving Code Reviews - -- Learn how to write cleaner code that others can understand easily. -- Get better at reviewing other people's code and giving helpful feedback. - -#### 4. Getting Comfortable with GitHub - -- Explore GitHub and learn how to use its features. -- Use GitHub to collaborate with others, track issues, and manage projects. - -#### 5. Debugging and Problem Solving - -- Learn how to debug code more effectively and predict where things might go wrong. -- Get better at solving problems by figuring out what’s causing issues in the code. +1. **Team Collaboration** + - Work better with others by joining team projects. + - Get better at communication. + +2. **Learning Git and Version Control** + - Practice using Git commands for managing versions, + and fixing merge conflicts. + - Make teamwork easier by keeping everything organized with Git. + +3. **Improving Code Reviews** + - Learn how to write cleaner code that others can understand easily. + - Get better at reviewing other people's code and giving helpful feedback. + +4. **Getting Comfortable with GitHub** + - Explore GitHub and learn how to use its features. + - Use GitHub to collaborate with others, + track issues, and manage projects. --- From 48155376381a06f813b3dec52d899a111265a85d Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 02:27:42 +0100 Subject: [PATCH 217/248] ruff fixed --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index dcebf78bf..6726cb35d 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From 51d7bee002ff63dc1d154f3930e89d104af03f42 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 02:30:42 +0100 Subject: [PATCH 218/248] Update learning_goals.md --- collaboration/learning_goals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index e4a9fd3b5..5584a9b51 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -184,7 +184,7 @@ where necessary. 1. **Team Collaboration** - Work better with others by joining team projects. - - Get better at communication. + - Get better at communication with teammates. 2. **Learning Git and Version Control** - Practice using Git commands for managing versions, From 523c4c77dbbe585d3d121ce0daf5ad3a161f7b94 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 02:32:22 +0100 Subject: [PATCH 219/248] Delete solutions/binary_search.py --- solutions/binary_search.py | 100 ------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 solutions/binary_search.py diff --git a/solutions/binary_search.py b/solutions/binary_search.py deleted file mode 100644 index 6726cb35d..000000000 --- a/solutions/binary_search.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for a function that performs binary search on a sorted list. - -Module contents: - - binary_search: Performs binary search on a sorted list. - -Created on 2024-12-27 -Author: Awaab98""" - -from typing import List, Union - - -def binary_search( - list_to_be_searched: List[Union[int, float, str]], - target_element: Union[int, float, str], -) -> int: - """Performs binary search on a sorted list to find the index of a target element - using recursion. - if there are multiple occurrences of the target element in the list, the function - returns the index of the first occurrence. - - Parameters: - list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. - target_element: int, float, str: The element to be searched for in the list. - - Returns: - int: The index of the target element in the list if it is found. - - Raises: - TypeError: If the first argument is not a list. - TypeError: If the list is not a list of integers, floats or strings. - TypeError: If the elements of the list are not of the same type. - TypeError: If the second argument is not of the same type as the elements of the list. - ValueError: If the list is empty. - ValueError: If the target element is not found in the list. - AssertionError: If the list is not sorted in ascending order. - - Examples: - >>> binary_search([1, 2, 3, 4, 5], 3) - 2 - >>> binary_search([1, 2, 3, 4, 5], 6) - -1 - >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') - -1 - """ - - # Make sure the first argument is a list - if not isinstance(list_to_be_searched, list): - raise TypeError("The first argument must be a list.") - - # Make sure the list is not empty - if len(list_to_be_searched) == 0: - raise ValueError("The list must not be empty.") - - # Ensure that all elements of the list are of the same type - if not all( - isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched - ): - raise TypeError("All elements in the list must be of the same type.") - - # Ensure that the elements of the list belong to one of the following types: int, float, str - if type(list_to_be_searched[0]) not in [int, float, str]: - raise TypeError("The list must contain elements of type int, float or str.") - - # Ensure that the second argument is of the same type as the elements of the list - if not isinstance(target_element, type(list_to_be_searched[0])): - raise TypeError( - "The second argument must be of the same type as the elements of the list." - ) - - # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted(list_to_be_searched), ( - "The list must be sorted in ascending order." - ) - - # Internal function logic: Recursively perform binary search - def search_recursively(low_index: int, high_index: int) -> int: - if low_index > high_index: # Base case: target not found - raise ValueError(f"Target {target_element} not found in the list.") - - middle_index = (low_index + high_index) // 2 # Calculate the middle index - - # Check the middle element - if list_to_be_searched[middle_index] == target_element: - return middle_index - elif ( - list_to_be_searched[middle_index] < target_element - ): # Search in the right half - return search_recursively(middle_index + 1, high_index) - else: # Search in the left half - return search_recursively(low_index, middle_index - 1) - - # Start the recursive search - return search_recursively(0, len(list_to_be_searched) - 1) From aeb180359c2ffdb2cebbbb5747d811b051e209fb Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 02:45:14 +0100 Subject: [PATCH 220/248] minor changes done --- solutions/modulus.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index da25e56da..75fd3c2d2 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -4,12 +4,11 @@ """ A module for modulus of two numbers. -Module contents: - modulus: divide two numbers and returns the reminder. +This module contains a function that calculates the remainder when +one number is divided by another. Created on 06.01.2025 @author : Simi-Solola - """ @@ -18,21 +17,28 @@ def modulus(a: float, b: float) -> float: Calculates the remainder when one number is divided by another. Parameters: - a (float): The numerator. - b (float): The denominator (non-zero). + a (float): The numerator (the number to be divided). + b (float): The denominator (the number to divide by, must be non-zero). Returns: - float: The remainder of a divided by b. + float: The remainder when 'a' is divided by 'b'. Raises: - ValueError: If the denominator is zero. + ValueError: If the denominator 'b' is zero. + TypeError: If 'a' or 'b' is not a float or int. + + Assumptions: + - Both 'a' and 'b' are numeric values (either integers or floats). + - If 'a' or 'b' is not a number, a TypeError will be raised. """ + if not isinstance(a, (int, float)) or not isinstance(b, (int, float)): + raise TypeError("Both numerator and denominator must be numbers.") + if b == 0: - raise ValueError( - "The numerator and denominator can be any real number except the denominator can't be 0." - ) + raise ValueError("Denominator cannot be zero.") remainder = a % b + # Adjust the result to match the dividend's sign if (a < 0 and remainder > 0) or (a > 0 and remainder < 0): remainder -= b From b4e48c02239a6e7fbfc0862d67a287976cfe85e3 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 02:50:44 +0100 Subject: [PATCH 221/248] ruff issue resolved --- solutions/tests/test_modulus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/tests/test_modulus.py b/solutions/tests/test_modulus.py index 0160aff15..260a8773d 100644 --- a/solutions/tests/test_modulus.py +++ b/solutions/tests/test_modulus.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- """ -Test for modulus of two numbers +Test for modulus of 2 numbers Created on 06.01.2025 From b8c516683b1d354d2c268891d9e5bad845f5d6cb Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 02:53:01 +0100 Subject: [PATCH 222/248] ruff issue solved --- solutions/binary_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/binary_search.py b/solutions/binary_search.py index dcebf78bf..6726cb35d 100644 --- a/solutions/binary_search.py +++ b/solutions/binary_search.py @@ -75,9 +75,9 @@ def binary_search( ) # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) # Internal function logic: Recursively perform binary search def search_recursively(low_index: int, high_index: int) -> int: From 217d50d14a1a72b61b41a8c40eed89351fbcb8f1 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 03:21:57 +0100 Subject: [PATCH 223/248] Update communication.md --- collaboration/communication.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collaboration/communication.md b/collaboration/communication.md index 467f6dfff..fe222bdef 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -42,6 +42,7 @@ ______________________________________________________________________ |Lukmon Alao|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00|21:00-00:00| |Ridwan Ayinde|21:00-00:00|21:00-00:00| 21:00-00:00|21:00-00:00|21:00-00:00|13:00-16:00|13:00-16:00| |Zephaniah Okoye|19:00-23:00|19:00-23:00|19:00-23:00|19:00-23:00|19:00-23:00|12:00-17:00|14:00-19:00| +|Olubusayo Solola|20:00-00:00|21:00-00:00| 20:00-00:00|21:00-00:00|20:00-00:00|13:00-16:00|12:00-16:00| ### How many hours everyone has per day @@ -51,7 +52,7 @@ ______________________________________________________________________ - Lukmon Alao: _3h_; - Ridwan Ayinde: _3h_; - Zephaniah Okoye: _~4h_; -- name: _3h_; +- Olubusayo Solola: _2h_; ## Asking for Help From f575a129e9b2c2265248d691504a0dbd7efe6fe6 Mon Sep 17 00:00:00 2001 From: Ridwan Ayinde Date: Sat, 11 Jan 2025 11:43:15 +0100 Subject: [PATCH 224/248] Update learning_goals by Ridwan --- collaboration/learning_goals.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 5584a9b51..e54b5a337 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -200,6 +200,29 @@ where necessary. - Use GitHub to collaborate with others, track issues, and manage projects. +### Ridwan Ayinde + +1. **Improve Github Proficiency**: + - Gain confidence in collaborating with others on GitHub. + - Learn how to efficiently create and manage repository. + - Understand how to create branches, commits, pull requests + and its uses. + +2. **Master VS Code for Deployment**: + - Learn to use integrated Git features in VS code for + better control version. + - Practiced writing code, debugging, and running scripts on + VS code. + +3. **Problem Solving Skill**: + - Learn to ask meaningful questions anytime I am stuck. + - Applied problem solving strategy to complete assigned task. + +4. **Understand Asynchronous Collaboration**: + - Participate in project by contributing to repository meant for my + group. + - Understand the ability to work with my team asynchronously. + --- *Each team member is encouraged to add their individual goals below to document From 418afbb26ac132205a5b5ec71e838246d03e391a Mon Sep 17 00:00:00 2001 From: zeozeph Date: Sat, 11 Jan 2025 12:35:12 +0100 Subject: [PATCH 225/248] Pulled exponentiation.py and test_exponentiation.py from exponentiation_function branch --- solutions/exponentiation.py | 46 ++++++++++++++++++ solutions/tests/test_exponentiation.py | 66 ++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 solutions/exponentiation.py create mode 100644 solutions/tests/test_exponentiation.py diff --git a/solutions/exponentiation.py b/solutions/exponentiation.py new file mode 100644 index 000000000..81c45cb4b --- /dev/null +++ b/solutions/exponentiation.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for generating exponentiation of two numbers (inputs) "base" and "exponent" + +Module contents: + - Exponentiation: finds the exponentiation value of two numbers. + +Created on 05.01.2025 +@author: Zephaniah Okoye +""" + + +def exponentiation(base: float, exponent: int) -> float: + """ + Compute the exponentiation of a base raised to a given exponent. + + The function calculates base^exponent, which is the base multiplied + by itself exponent times. For example, 2^3 is 2 * 2 * 2 = 8. + + Parameters: + base (float): The base number to be raised. + exponent (int): The exponent to which the base is raised. + + Returns: + float: The result of the base raised to the given exponent. + + Raises: + TypeError: If the base is not a float or the exponent is not an int. + + Examples: + >>> exponentiation(2, 3) + 8.0 + >>> exponentiation(5, 0) + 1.0 + >>> exponentiation(1.5, 2) + 2.25 + >>> exponentiation(2, -2) + 0.25 + """ + if not isinstance(base, (float, int)): + raise TypeError(f"Invalid base: {base}. The base must be a float or int") + if not isinstance(exponent, int): + raise TypeError(f"Invalid exponent: {exponent}. The exponent must be an int") + + return float(base**exponent) diff --git a/solutions/tests/test_exponentiation.py b/solutions/tests/test_exponentiation.py new file mode 100644 index 000000000..0d08ddd03 --- /dev/null +++ b/solutions/tests/test_exponentiation.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on 05.01.2025 + +@author: Zephaniah Okoye +""" + +import unittest +from ..exponentiation import exponentiation + + +class TestExponentiation(unittest.TestCase): + """Test the exponentiation function""" + + def test_exponentiation_positive_exponent(self): + """It should return the correct result for a positive exponent""" + actual = exponentiation(2, 3) + expected = 8.0 + self.assertEqual(actual, expected) + + def test_exponentiation_zero_exponent(self): + """It should return 1.0 when the exponent is 0""" + actual = exponentiation(5, 0) + expected = 1.0 + self.assertEqual(actual, expected) + + def test_exponentiation_negative_exponent(self): + """It should return the correct result for a negative exponent""" + actual = exponentiation(2, -2) + expected = 0.25 + self.assertEqual(actual, expected) + + def test_exponentiation_float_base(self): + """It should return the correct result for a float base""" + actual = exponentiation(1.5, 2) + expected = 2.25 + self.assertEqual(actual, expected) + + def test_type_error_for_invalid_base(self): + """It should raise a TypeError for an invalid base""" + with self.assertRaises(TypeError): + exponentiation("2", 3) + + def test_type_error_for_invalid_exponent(self): + """It should raise a TypeError for an invalid exponent""" + with self.assertRaises(TypeError): + exponentiation(2, "3") + + def test_exponentiation_large_exponent(self): + """It should handle large exponents correctly""" + actual = exponentiation(2, 1000) + expected = 2**1000 + self.assertEqual(actual, expected) + + def test_exponentiation_zero_base_positive_exponent(self): + """It should return 0.0 when the base is 0 and exponent is positive""" + actual = exponentiation(0, 3) + expected = 0.0 + self.assertEqual(actual, expected) + + def test_exponentiation_zero_base_zero_exponent(self): + """It should return 1.0 when both base and exponent are 0""" + actual = exponentiation(0, 0) + expected = 1.0 + self.assertEqual(actual, expected) From 5145b176d9fe5cb9f8ad1198901c6e309e718780 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sat, 11 Jan 2025 14:41:35 +0100 Subject: [PATCH 226/248] made-review-correction --- solutions/find_maximum_value.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/solutions/find_maximum_value.py b/solutions/find_maximum_value.py index 9874421b4..6a7583213 100644 --- a/solutions/find_maximum_value.py +++ b/solutions/find_maximum_value.py @@ -23,7 +23,7 @@ def find_maximum_value(values: list): Returns -> number: the highest value from the list of numbers. Raises: - AssertionError: if input is not a list or a non-numerical data + TypeError: if input is not a list or a non-numerical data Examples: >>> find_maximum_value([1, 2, 3, 4]) @@ -34,9 +34,7 @@ def find_maximum_value(values: list): 3.4 """ - # trunk-ignore(bandit/B101) assert isinstance(values, list) - # trunk-ignore(bandit/B101) assert all( isinstance(item, (int, float)) for item in values ) # "values must be an int or a float" From ad9518ea6caebbce17a3a2a5d0e7e9407213e7b2 Mon Sep 17 00:00:00 2001 From: allukmon1 Date: Sat, 11 Jan 2025 14:46:49 +0100 Subject: [PATCH 227/248] removed C-spell --- .vscode/settings.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b7f95b960..4555e1491 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -123,7 +123,4 @@ "source.organizeImports.ruff": "explicit" } }, - "cSpell.words": [ - "Olamilekan" - ] } From dc097accca3777fb5d64e93a2dd0db8a515481a0 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 16:42:04 +0100 Subject: [PATCH 228/248] Update modulus.py --- solutions/modulus.py | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/solutions/modulus.py b/solutions/modulus.py index 75fd3c2d2..45190e26d 100644 --- a/solutions/modulus.py +++ b/solutions/modulus.py @@ -1,17 +1,3 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -A module for modulus of two numbers. - -This module contains a function that calculates the remainder when -one number is divided by another. - -Created on 06.01.2025 -@author : Simi-Solola -""" - - def modulus(a: float, b: float) -> float: """ Calculates the remainder when one number is divided by another. @@ -27,9 +13,25 @@ def modulus(a: float, b: float) -> float: ValueError: If the denominator 'b' is zero. TypeError: If 'a' or 'b' is not a float or int. - Assumptions: - - Both 'a' and 'b' are numeric values (either integers or floats). - - If 'a' or 'b' is not a number, a TypeError will be raised. + Examples: + >>> modulus(10, 3) + 1 + >>> modulus(-10, 3) + -1 + >>> modulus(10, -3) + 1 + >>> modulus(-10, -3) + -1 + >>> modulus(10.5, 3) + 1.5 + >>> modulus(0, 3) + 0.0 + >>> modulus(10, 0) # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ValueError: Denominator cannot be zero. + >>> modulus("10", 3) # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + TypeError: Both numerator and denominator must be numbers. """ if not isinstance(a, (int, float)) or not isinstance(b, (int, float)): raise TypeError("Both numerator and denominator must be numbers.") From 51ac2e55cc0d44762106bd5eb3bc0182b3fef60e Mon Sep 17 00:00:00 2001 From: Zephaniah Okoye <58182095+zeozeph@users.noreply.github.com> Date: Sat, 11 Jan 2025 17:00:00 +0100 Subject: [PATCH 229/248] Update constraints.md --- collaboration/constraints.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/collaboration/constraints.md b/collaboration/constraints.md index dfa7ecafb..c35b688b2 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -51,6 +51,12 @@ with **Python** and **GitHub**, which may affect task completion speed and code - **Learning Curves:** As this project is part of a learning track, team members are still in the process of mastering some of the technologies and practices, which may affect productivity. +- **Health and Well-being:** Team members' health and well-being take priority, + and any health-related issues may impact project timelines. +- **Unforeseen Circumstances:** Unexpected events like personal + emergencies may affect team members' availability. +- **Work-Life Balance:** Team members must balance project work + with other personal and professional commitments. ## Internal: Voluntary @@ -78,6 +84,14 @@ meetings if necessary. their personal learning objectives for the project. - **Coding Standards:** We will follow a common coding style guide to ensure consistency throughout the project. All code must adhere to **PEP8** standards and be well-documented. +- **Meeting Cadence:** Regular team meetings will be held once + a week to ensure alignment and progress tracking. +- **Documentation Standards:** All code and project documentation must be + maintained in a consistent and organized manner. +- **Code Quality Metrics:** The team will adhere to code quality metrics such as + maintaining a certain percentage of test coverage and ensuring minimal code duplication. +- **Knowledge Sharing:** Team members will share their learnings + and insights through regular knowledge-sharing sessions. --- From 8debc2b3404c40c3159688fdc04eec57a2324223 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 17:02:45 +0100 Subject: [PATCH 230/248] Update multiply.py --- solutions/multiply.py | 44 ++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/solutions/multiply.py b/solutions/multiply.py index a3e295a81..dc923bc37 100644 --- a/solutions/multiply.py +++ b/solutions/multiply.py @@ -1,31 +1,49 @@ -#!/usr/bin/env python 3 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ A module for multiplication of two numbers. Module contents: - multiply: multiply two numbers and returns the result. - + multiply: Multiplies two numbers (int or float) and returns the result. + Created on 06.01.2025 @author : Simi-Solola - """ - def multiply(a: float, b: float) -> float: """ - Multiplies two numbers and returns the result. + Multiplies two numbers (int or float) and returns the result. Parameters: - a (float): The first number. - b (float): The second number. + a (int or float): The first number. + b (int or float): The second number. Returns: - float: The result of multiplying `a` and `b`. + int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, + otherwise returns a `float`. + + Raises: + AssertionError: If `a` or `b` is not an int or float. + + Examples: + >>> multiply(3, 4) + 12 + >>> multiply(2.5, 4) + 10.0 + >>> multiply(-2, 3.5) + -7.0 + >>> multiply(0, 5) + 0 """ - # Defensive assertion - assert isinstance(a, (int, float)), "a must be a number" - assert isinstance(b, (int, float)), "b must be a number" + # Defensive assertions to ensure valid input types + assert isinstance(a, (int, float)), "a must be an int or float" + assert isinstance(b, (int, float)), "b must be an int or float" + + result = a * b + # Return an int if both inputs are integers, else return a float + return int(result) if isinstance(a, int) and isinstance(b, int) else float(result) - return a * b +if __name__ == "__main__": + import doctest + doctest.testmod() From 298981cb1a87d2f09d2a9a905254d1b9eef95be7 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 11 Jan 2025 18:11:28 +0100 Subject: [PATCH 231/248] Readded the binary_search file to resolve merging conflict --- solutions/binary_search.py | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 solutions/binary_search.py diff --git a/solutions/binary_search.py b/solutions/binary_search.py new file mode 100644 index 000000000..6726cb35d --- /dev/null +++ b/solutions/binary_search.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for a function that performs binary search on a sorted list. + +Module contents: + - binary_search: Performs binary search on a sorted list. + +Created on 2024-12-27 +Author: Awaab98""" + +from typing import List, Union + + +def binary_search( + list_to_be_searched: List[Union[int, float, str]], + target_element: Union[int, float, str], +) -> int: + """Performs binary search on a sorted list to find the index of a target element + using recursion. + if there are multiple occurrences of the target element in the list, the function + returns the index of the first occurrence. + + Parameters: + list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. + target_element: int, float, str: The element to be searched for in the list. + + Returns: + int: The index of the target element in the list if it is found. + + Raises: + TypeError: If the first argument is not a list. + TypeError: If the list is not a list of integers, floats or strings. + TypeError: If the elements of the list are not of the same type. + TypeError: If the second argument is not of the same type as the elements of the list. + ValueError: If the list is empty. + ValueError: If the target element is not found in the list. + AssertionError: If the list is not sorted in ascending order. + + Examples: + >>> binary_search([1, 2, 3, 4, 5], 3) + 2 + >>> binary_search([1, 2, 3, 4, 5], 6) + -1 + >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') + 2 + >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') + -1 + """ + + # Make sure the first argument is a list + if not isinstance(list_to_be_searched, list): + raise TypeError("The first argument must be a list.") + + # Make sure the list is not empty + if len(list_to_be_searched) == 0: + raise ValueError("The list must not be empty.") + + # Ensure that all elements of the list are of the same type + if not all( + isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched + ): + raise TypeError("All elements in the list must be of the same type.") + + # Ensure that the elements of the list belong to one of the following types: int, float, str + if type(list_to_be_searched[0]) not in [int, float, str]: + raise TypeError("The list must contain elements of type int, float or str.") + + # Ensure that the second argument is of the same type as the elements of the list + if not isinstance(target_element, type(list_to_be_searched[0])): + raise TypeError( + "The second argument must be of the same type as the elements of the list." + ) + + # Ensure that the list is sorted in ascending order + assert list_to_be_searched == sorted(list_to_be_searched), ( + "The list must be sorted in ascending order." + ) + + # Internal function logic: Recursively perform binary search + def search_recursively(low_index: int, high_index: int) -> int: + if low_index > high_index: # Base case: target not found + raise ValueError(f"Target {target_element} not found in the list.") + + middle_index = (low_index + high_index) // 2 # Calculate the middle index + + # Check the middle element + if list_to_be_searched[middle_index] == target_element: + return middle_index + elif ( + list_to_be_searched[middle_index] < target_element + ): # Search in the right half + return search_recursively(middle_index + 1, high_index) + else: # Search in the left half + return search_recursively(low_index, middle_index - 1) + + # Start the recursive search + return search_recursively(0, len(list_to_be_searched) - 1) From 32284f3accbd840a2fe31541b48dda1fb05f3bc6 Mon Sep 17 00:00:00 2001 From: Abdul Qader Dost Date: Sat, 11 Jan 2025 20:34:01 +0100 Subject: [PATCH 232/248] Ruff fix --- solutions/multiply.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/solutions/multiply.py b/solutions/multiply.py index dc923bc37..367956646 100644 --- a/solutions/multiply.py +++ b/solutions/multiply.py @@ -6,11 +6,12 @@ Module contents: multiply: Multiplies two numbers (int or float) and returns the result. - + Created on 06.01.2025 @author : Simi-Solola """ + def multiply(a: float, b: float) -> float: """ Multiplies two numbers (int or float) and returns the result. @@ -20,7 +21,7 @@ def multiply(a: float, b: float) -> float: b (int or float): The second number. Returns: - int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, + int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, otherwise returns a `float`. Raises: @@ -44,6 +45,8 @@ def multiply(a: float, b: float) -> float: # Return an int if both inputs are integers, else return a float return int(result) if isinstance(a, int) and isinstance(b, int) else float(result) + if __name__ == "__main__": import doctest + doctest.testmod() From 19400ff78e07bed6b5ae0342677a9f6a0656445c Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sat, 11 Jan 2025 21:12:05 +0100 Subject: [PATCH 233/248] updated work --- solutions/multiply.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/solutions/multiply.py b/solutions/multiply.py index dc923bc37..367956646 100644 --- a/solutions/multiply.py +++ b/solutions/multiply.py @@ -6,11 +6,12 @@ Module contents: multiply: Multiplies two numbers (int or float) and returns the result. - + Created on 06.01.2025 @author : Simi-Solola """ + def multiply(a: float, b: float) -> float: """ Multiplies two numbers (int or float) and returns the result. @@ -20,7 +21,7 @@ def multiply(a: float, b: float) -> float: b (int or float): The second number. Returns: - int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, + int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, otherwise returns a `float`. Raises: @@ -44,6 +45,8 @@ def multiply(a: float, b: float) -> float: # Return an int if both inputs are integers, else return a float return int(result) if isinstance(a, int) and isinstance(b, int) else float(result) + if __name__ == "__main__": import doctest + doctest.testmod() From 8458db4a45355a79fefcd80535536d13d768ee55 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:35:16 +0100 Subject: [PATCH 234/248] Update README.md --- solutions/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/README.md b/solutions/README.md index e103df748..9e5264f9a 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -72,4 +72,4 @@ to raise any number to any power. ### License -This project is licensed under the MIT License. See the LICENSE file for more details. +This project is licensed under the MIT License. See the [LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) file for more details. From 4a3de1205828153eee6ad1c1c4c575c6eb0e0d9f Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:39:58 +0100 Subject: [PATCH 235/248] Update README.md --- solutions/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/solutions/README.md b/solutions/README.md index 9e5264f9a..67c8a063c 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -72,4 +72,6 @@ to raise any number to any power. ### License -This project is licensed under the MIT License. See the [LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) file for more details. +This project is licensed under the MIT License. See the +[LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) +file for more details. From 3c4ae067512edbd19a6a6302e95b70d66486d37e Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:46:15 +0100 Subject: [PATCH 236/248] Update README.md --- solutions/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/README.md b/solutions/README.md index 67c8a063c..bfe4a2fea 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -72,6 +72,6 @@ to raise any number to any power. ### License -This project is licensed under the MIT License. See the -[LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) +This project is licensed under the MIT License. See the +[LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) file for more details. From af44931e3b47f64b389fd68c0cc5878b943c5b51 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:58:24 +0100 Subject: [PATCH 237/248] Update README.md --- solutions/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/README.md b/solutions/README.md index bfe4a2fea..7eeed768f 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -72,6 +72,6 @@ to raise any number to any power. ### License -This project is licensed under the MIT License. See the -[LICENSE](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE) -file for more details. +See the [LICENSE][license-link] file for more details. + +[license-link]: https://github.com/MIT-Emerging-Talent/ET6-foundations-group-12/pull/LICENSE From 4e7a892e18d46bb5e8d3c5353d587a40d8577f69 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:02:17 +0100 Subject: [PATCH 238/248] Update README.md --- solutions/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/README.md b/solutions/README.md index 7eeed768f..8d7eb33c8 100644 --- a/solutions/README.md +++ b/solutions/README.md @@ -1,4 +1,4 @@ -# Solutions +# Python Calculator Application Documentation ## Simple Basic Calculator From 1d08ed36cc930bc8759de9c52dc3cfd4642ee8d8 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Sun, 12 Jan 2025 06:01:57 +0100 Subject: [PATCH 239/248] Review recommendations added --- solutions/tests/test_divide.py | 73 ++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py index 4d813520d..5f7349c22 100644 --- a/solutions/tests/test_divide.py +++ b/solutions/tests/test_divide.py @@ -7,6 +7,7 @@ """ import unittest +import math from ..divide import divide @@ -16,52 +17,56 @@ class TestDivide(unittest.TestCase): def test_divide_integers(self): """It should produce the accurate results of a division operation for two integer inputs""" - - actual = divide(10, 2) # Calling function with test arguments - expected = 5.0 # Expected result - self.assertEqual(actual, expected) - - actual = divide(9, 3) # Calling function with test arguments - expected = 3.0 # Expected result - self.assertEqual(actual, expected) - - actual = divide(0, 1) # Calling function with test arguments - expected = 0.0 # Expected result - self.assertEqual(actual, expected) + self.assertEqual(divide(10, 2), 5.0) + self.assertEqual(divide(9, 3), 3.0) + self.assertEqual(divide(0, 1), 0.0) def test_divide_floats(self): """It should produce the accurate results of a division operation for two float inputs""" - - actual = divide(10.5, 2.5) # Calling function with test arguments - expected = 4.2 # Expected result - self.assertAlmostEqual(actual, expected) - - actual = divide(-7.0, 2.0) # Calling function with test arguments - expected = -3.5 # Expected result - self.assertAlmostEqual(actual, expected) + self.assertAlmostEqual(divide(10.5, 2.5), 4.2) + self.assertAlmostEqual(divide(-7.0, 2.0), -3.5) def test_divide_zero(self): """It should show a ZeroDivisionError whenever the denominator input is zero""" - with self.assertRaises(ZeroDivisionError) as context: - divide(7, 0) # Calling function with test arguments - expected = "Cannot divide by zero" # Expected result - self.assertTrue(expected in str(context.exception)) + divide(7, 0) + self.assertTrue("Cannot divide by zero" in str(context.exception)) def test_divide_type_error(self): """It should show a TypeError when either argument is not a number""" - with self.assertRaises(TypeError) as context: - divide("10", 2) # Calling function with test arguments - expected = "Both arguments must be numbers" # Expected result - self.assertTrue(expected in str(context.exception)) + divide("10", 2) + self.assertTrue("Both arguments must be numbers" in str(context.exception)) with self.assertRaises(TypeError) as context: - divide(10, "2") # Calling function with test arguments - expected = "unsupported operand type(s) for /: 'int' and 'str'" # Updated expected result - self.assertTrue(expected in str(context.exception)) + divide(10, "2") + self.assertTrue( + "unsupported operand type(s) for /: 'int' and 'str'" + in str(context.exception) + ) with self.assertRaises(TypeError) as context: - divide("10", "2") # Calling function with test arguments - expected = "Both arguments must be numbers" # Expected result - self.assertTrue(expected in str(context.exception)) + divide("10", "2") + self.assertTrue("Both arguments must be numbers" in str(context.exception)) + + def test_divide_large_number(self): + """It should correctly handle very large numbers""" + self.assertAlmostEqual(divide(1e308, 1e308), 1.0) + + def test_divide_small_number(self): + """It should correctly handle very small numbers""" + self.assertAlmostEqual(divide(1e-308, 1e-308), 1.0) + + def test_divide_negative_numbers(self): + """It should correctly handle negative numbers""" + self.assertAlmostEqual(divide(-10, -2), 5.0) + self.assertAlmostEqual(divide(-10, 2), -5.0) + self.assertAlmostEqual(divide(10, -2), -5.0) + + def test_divide_infinity(self): + """It should correctly handle division with infinity""" + self.assertEqual(divide(float("inf"), 1), float("inf")) + + def test_divide_nan(self): + """It should correctly handle division with NaN values""" + self.assertTrue(math.isnan(divide(float("nan"), 1))) From 9364583bab341fc3bfcc29f6312532ae04a6e993 Mon Sep 17 00:00:00 2001 From: zeozeph Date: Sun, 12 Jan 2025 06:07:03 +0100 Subject: [PATCH 240/248] Removed the conflicting files causing some ci checks failure --- solutions/binary_search.py | 100 -------------------------- solutions/tests/test_binary_search.py | 93 ------------------------ 2 files changed, 193 deletions(-) delete mode 100644 solutions/binary_search.py delete mode 100644 solutions/tests/test_binary_search.py diff --git a/solutions/binary_search.py b/solutions/binary_search.py deleted file mode 100644 index dcebf78bf..000000000 --- a/solutions/binary_search.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for a function that performs binary search on a sorted list. - -Module contents: - - binary_search: Performs binary search on a sorted list. - -Created on 2024-12-27 -Author: Awaab98""" - -from typing import List, Union - - -def binary_search( - list_to_be_searched: List[Union[int, float, str]], - target_element: Union[int, float, str], -) -> int: - """Performs binary search on a sorted list to find the index of a target element - using recursion. - if there are multiple occurrences of the target element in the list, the function - returns the index of the first occurrence. - - Parameters: - list_to_be_searched: int, float, str: A sorted list in ascending order to be searched. - target_element: int, float, str: The element to be searched for in the list. - - Returns: - int: The index of the target element in the list if it is found. - - Raises: - TypeError: If the first argument is not a list. - TypeError: If the list is not a list of integers, floats or strings. - TypeError: If the elements of the list are not of the same type. - TypeError: If the second argument is not of the same type as the elements of the list. - ValueError: If the list is empty. - ValueError: If the target element is not found in the list. - AssertionError: If the list is not sorted in ascending order. - - Examples: - >>> binary_search([1, 2, 3, 4, 5], 3) - 2 - >>> binary_search([1, 2, 3, 4, 5], 6) - -1 - >>> binary_search([1.0, 2.0, 3.0, 4.0, 5.0], 3.0) - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'c') - 2 - >>> binary_search(['a', 'b', 'c', 'd', 'e'], 'f') - -1 - """ - - # Make sure the first argument is a list - if not isinstance(list_to_be_searched, list): - raise TypeError("The first argument must be a list.") - - # Make sure the list is not empty - if len(list_to_be_searched) == 0: - raise ValueError("The list must not be empty.") - - # Ensure that all elements of the list are of the same type - if not all( - isinstance(x, type(list_to_be_searched[0])) for x in list_to_be_searched - ): - raise TypeError("All elements in the list must be of the same type.") - - # Ensure that the elements of the list belong to one of the following types: int, float, str - if type(list_to_be_searched[0]) not in [int, float, str]: - raise TypeError("The list must contain elements of type int, float or str.") - - # Ensure that the second argument is of the same type as the elements of the list - if not isinstance(target_element, type(list_to_be_searched[0])): - raise TypeError( - "The second argument must be of the same type as the elements of the list." - ) - - # Ensure that the list is sorted in ascending order - assert list_to_be_searched == sorted( - list_to_be_searched - ), "The list must be sorted in ascending order." - - # Internal function logic: Recursively perform binary search - def search_recursively(low_index: int, high_index: int) -> int: - if low_index > high_index: # Base case: target not found - raise ValueError(f"Target {target_element} not found in the list.") - - middle_index = (low_index + high_index) // 2 # Calculate the middle index - - # Check the middle element - if list_to_be_searched[middle_index] == target_element: - return middle_index - elif ( - list_to_be_searched[middle_index] < target_element - ): # Search in the right half - return search_recursively(middle_index + 1, high_index) - else: # Search in the left half - return search_recursively(low_index, middle_index - 1) - - # Start the recursive search - return search_recursively(0, len(list_to_be_searched) - 1) diff --git a/solutions/tests/test_binary_search.py b/solutions/tests/test_binary_search.py deleted file mode 100644 index 47eca5c94..000000000 --- a/solutions/tests/test_binary_search.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A test module for the binary_search function in solutions/binary_search.py - -Test categories: - - Standard test cases: Test cases that test the function with standard input. - - Edge test cases: Test cases that test the function with edge cases. - - Defensive test cases: Test cases that test the function with invalid input. - -Created on 2024-12-27 -Author: Awaab98""" - -import unittest -from solutions.binary_search import binary_search - - -class TestBinarySearch(unittest.TestCase): - """A class for testing the binary_search function.""" - - # Standard test cases - def test_find_middle_element(self): - """It should return the index of the middle element.""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 3), 2) - - def test_find_last_element(self): - """It should return the index of the last element.""" - self.assertEqual(binary_search([10, 20, 30, 40, 50], 50), 4) - - def test_find_first_element(self): - """It should return the index of the first element.""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) - - def test_find_float(self): - """It should return the index of the float element.""" - self.assertEqual(binary_search([0.1, 0.2, 0.3, 0.4, 0.5], 0.4), 3) - - def test_find_string(self): - """It should return the index of the string element.""" - self.assertEqual(binary_search(["apple", "banana", "cherry"], "banana"), 1) - - def test_multiple_occurrences(self): - """It should return the index of the first occurrence of the target element.""" - self.assertEqual(binary_search([1, 2, 3, 3, 4, 5], 3), 2) - - def test_target_not_in_list(self): - """It should raise a ValueError if the target element is not in the list.""" - with self.assertRaises(ValueError): - binary_search([1, 2, 3, 4, 5], 6) - - # Edge test cases - def test_single_element_list(self): - """Test finding the element in a single-element list.""" - self.assertEqual(binary_search([42], 42), 0) - - def test_smallest_element_in_list(self): - """Test finding the smallest element in the list.""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) - - def test_largest_element_in_list(self): - """Test finding the largest element in the list.""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) - - # Defensive test cases - def test_non_list_first_argument(self): - """It should raise a TypeError if the first argument is not a list.""" - with self.assertRaises(TypeError): - binary_search(1, 1) - - def test_empty_list(self): - """It should raise a ValueError if the list is empty.""" - with self.assertRaises(ValueError): - binary_search([], 1) - - def test_mixed_types_in_list(self): - """It should raise a TypeError if the elements of the list are not of the same type.""" - with self.assertRaises(TypeError): - binary_search([1, "two", 3.0], 1) - - def test_elements_not_int_float_str(self): - """It should raise a TypeError if the elements of the list are not int, float, or str.""" - with self.assertRaises(TypeError): - binary_search([True, True, False, False, True], False) - - def test_unsorted_list(self): - """It should raise an AssertionError if the list is not sorted in ascending order.""" - with self.assertRaises(AssertionError): - binary_search([3, 1, 2], 1) - - def test_target_type_mismatch(self): - """It should raise a TypeError if the second argument is not of the same type as the elements of the list.""" - with self.assertRaises(TypeError): - binary_search([1, 2, 3], "three") From ff5a58b53a54d01fd216ca7e55a5c236abff2194 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sun, 12 Jan 2025 19:16:39 +0100 Subject: [PATCH 241/248] Added test file --- solutions/tests/test_multiply.py | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 solutions/tests/test_multiply.py diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py new file mode 100644 index 000000000..367956646 --- /dev/null +++ b/solutions/tests/test_multiply.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +A module for multiplication of two numbers. + +Module contents: + multiply: Multiplies two numbers (int or float) and returns the result. + +Created on 06.01.2025 +@author : Simi-Solola +""" + + +def multiply(a: float, b: float) -> float: + """ + Multiplies two numbers (int or float) and returns the result. + + Parameters: + a (int or float): The first number. + b (int or float): The second number. + + Returns: + int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, + otherwise returns a `float`. + + Raises: + AssertionError: If `a` or `b` is not an int or float. + + Examples: + >>> multiply(3, 4) + 12 + >>> multiply(2.5, 4) + 10.0 + >>> multiply(-2, 3.5) + -7.0 + >>> multiply(0, 5) + 0 + """ + # Defensive assertions to ensure valid input types + assert isinstance(a, (int, float)), "a must be an int or float" + assert isinstance(b, (int, float)), "b must be an int or float" + + result = a * b + # Return an int if both inputs are integers, else return a float + return int(result) if isinstance(a, int) and isinstance(b, int) else float(result) + + +if __name__ == "__main__": + import doctest + + doctest.testmod() From 02df647c582927fe06c2d22debe0ee84ed874af2 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sun, 12 Jan 2025 19:19:48 +0100 Subject: [PATCH 242/248] Delete solutions/divide.py --- solutions/divide.py | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 solutions/divide.py diff --git a/solutions/divide.py b/solutions/divide.py deleted file mode 100644 index 5fbe8d50d..000000000 --- a/solutions/divide.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -A module for generating quotient of two numbers (inputs) "a" and "b" - -Module contents: - - Division: finds the quotient of two numbers; both integers and floats. - -Created on 05.01.2025 -@author: Zephaniah Okoye -""" - - -def divide(a: float, b: float) -> float: - """Divides one number by another and returns the result. - - Parameters: - a (float): the numerator - b (float): the denominator - - Returns -> (float): the result of the division - - Raises: - ZeroDivisionError: if the denominator is zero - TypeError: if either argument is not a number - - Examples: - >>> divide(10, 2) - 5.0 - >>> divide(9, 3) - 3.0 - >>> divide(7, 0) - Traceback (most recent call last): - ... - ZeroDivisionError: Cannot divide by zero - """ - - if not isinstance(a, (int, float)): - raise TypeError("Both arguments must be numbers") - - if b == 0: - raise ZeroDivisionError("Cannot divide by zero") - - return a / b From 2180cbec439154c17881a692b476a75da6309b46 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sun, 12 Jan 2025 19:20:14 +0100 Subject: [PATCH 243/248] Delete solutions/tests/test_divide.py --- solutions/tests/test_divide.py | 72 ---------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 solutions/tests/test_divide.py diff --git a/solutions/tests/test_divide.py b/solutions/tests/test_divide.py deleted file mode 100644 index 5f7349c22..000000000 --- a/solutions/tests/test_divide.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on 05.01.2025 - -@author: Zephaniah Okoye -""" - -import unittest -import math - -from ..divide import divide - - -class TestDivide(unittest.TestCase): - """Test for testing our divide function""" - - def test_divide_integers(self): - """It should produce the accurate results of a division operation for two integer inputs""" - self.assertEqual(divide(10, 2), 5.0) - self.assertEqual(divide(9, 3), 3.0) - self.assertEqual(divide(0, 1), 0.0) - - def test_divide_floats(self): - """It should produce the accurate results of a division operation for two float inputs""" - self.assertAlmostEqual(divide(10.5, 2.5), 4.2) - self.assertAlmostEqual(divide(-7.0, 2.0), -3.5) - - def test_divide_zero(self): - """It should show a ZeroDivisionError whenever the denominator input is zero""" - with self.assertRaises(ZeroDivisionError) as context: - divide(7, 0) - self.assertTrue("Cannot divide by zero" in str(context.exception)) - - def test_divide_type_error(self): - """It should show a TypeError when either argument is not a number""" - with self.assertRaises(TypeError) as context: - divide("10", 2) - self.assertTrue("Both arguments must be numbers" in str(context.exception)) - - with self.assertRaises(TypeError) as context: - divide(10, "2") - self.assertTrue( - "unsupported operand type(s) for /: 'int' and 'str'" - in str(context.exception) - ) - - with self.assertRaises(TypeError) as context: - divide("10", "2") - self.assertTrue("Both arguments must be numbers" in str(context.exception)) - - def test_divide_large_number(self): - """It should correctly handle very large numbers""" - self.assertAlmostEqual(divide(1e308, 1e308), 1.0) - - def test_divide_small_number(self): - """It should correctly handle very small numbers""" - self.assertAlmostEqual(divide(1e-308, 1e-308), 1.0) - - def test_divide_negative_numbers(self): - """It should correctly handle negative numbers""" - self.assertAlmostEqual(divide(-10, -2), 5.0) - self.assertAlmostEqual(divide(-10, 2), -5.0) - self.assertAlmostEqual(divide(10, -2), -5.0) - - def test_divide_infinity(self): - """It should correctly handle division with infinity""" - self.assertEqual(divide(float("inf"), 1), float("inf")) - - def test_divide_nan(self): - """It should correctly handle division with NaN values""" - self.assertTrue(math.isnan(divide(float("nan"), 1))) From a806403d3c6c97243bc8b895d5888291bb001fd0 Mon Sep 17 00:00:00 2001 From: Olubusayo Solola <55365994+Simi-Solola@users.noreply.github.com> Date: Sun, 12 Jan 2025 19:43:24 +0100 Subject: [PATCH 244/248] Update test_multiply.py --- solutions/tests/test_multiply.py | 67 +++++++++----------------------- 1 file changed, 18 insertions(+), 49 deletions(-) diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py index 367956646..5d8d39b36 100644 --- a/solutions/tests/test_multiply.py +++ b/solutions/tests/test_multiply.py @@ -1,52 +1,21 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- +import unittest +from solutions.multiply import multiply -""" -A module for multiplication of two numbers. - -Module contents: - multiply: Multiplies two numbers (int or float) and returns the result. - -Created on 06.01.2025 -@author : Simi-Solola -""" - - -def multiply(a: float, b: float) -> float: +class TestMultiply(unittest.TestCase): """ - Multiplies two numbers (int or float) and returns the result. - - Parameters: - a (int or float): The first number. - b (int or float): The second number. - - Returns: - int or float: The result of multiplying `a` and `b`. Returns an `int` if both inputs are integers, - otherwise returns a `float`. - - Raises: - AssertionError: If `a` or `b` is not an int or float. - - Examples: - >>> multiply(3, 4) - 12 - >>> multiply(2.5, 4) - 10.0 - >>> multiply(-2, 3.5) - -7.0 - >>> multiply(0, 5) - 0 + Test case for the multiply function. """ - # Defensive assertions to ensure valid input types - assert isinstance(a, (int, float)), "a must be an int or float" - assert isinstance(b, (int, float)), "b must be an int or float" - - result = a * b - # Return an int if both inputs are integers, else return a float - return int(result) if isinstance(a, int) and isinstance(b, int) else float(result) - - -if __name__ == "__main__": - import doctest - - doctest.testmod() + def test_multiply_positive_numbers(self): + """Test multiplying two positive numbers.""" + result = multiply(2, 3) + self.assertEqual(result, 6) + + def test_multiply_negative_number(self): + """Test multiplying a positive and a negative number.""" + result = multiply(2, -3) + self.assertEqual(result, -6) + + def test_multiply_non_numeric_input(self): + """Test that non-numeric inputs raise an assertion error.""" + with self.assertRaises(AssertionError): + multiply(2, "a") From 90f62a41a45ded9c8d80cb588787cdce53f43840 Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sun, 12 Jan 2025 19:56:15 +0100 Subject: [PATCH 245/248] added correct test file --- solutions/tests/test_multiply.py | 41 +++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py index 5d8d39b36..451497d86 100644 --- a/solutions/tests/test_multiply.py +++ b/solutions/tests/test_multiply.py @@ -1,21 +1,50 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Test for multiplying of 2 numbers + +Created on 06.01.2025 + +@author:Simi-Solola + + +""" + import unittest + from solutions.multiply import multiply + class TestMultiply(unittest.TestCase): """ Test case for the multiply function. + Tests include: + - Positive numbers + - Negative numbers + - Error case for non-numeric input """ + def test_multiply_positive_numbers(self): """Test multiplying two positive numbers.""" result = multiply(2, 3) - self.assertEqual(result, 6) - + self.assertEqual(result, 6.0) + def test_multiply_negative_number(self): - """Test multiplying a positive and a negative number.""" - result = multiply(2, -3) - self.assertEqual(result, -6) - + """Test multiplying a positive number by a negative number.""" + result = multiply(-2, 3) + self.assertEqual(result, -6.0) + def test_multiply_non_numeric_input(self): """Test that non-numeric inputs raise an assertion error.""" with self.assertRaises(AssertionError): multiply(2, "a") + + def test_multiply_float_input(self): + """Test multiplying two floating-point numbers.""" + result = multiply(2.5, 4.0) + self.assertEqual(result, 10.0) + + +if __name__ == "__main__": + unittest.main() From 7bcd757165880d1fe9ef5fb4a3c00be44409af0b Mon Sep 17 00:00:00 2001 From: Simisola Solola Date: Sun, 12 Jan 2025 20:37:53 +0100 Subject: [PATCH 246/248] added more unit tests --- solutions/tests/test_multiply.py | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/solutions/tests/test_multiply.py b/solutions/tests/test_multiply.py index 451497d86..baba31ebd 100644 --- a/solutions/tests/test_multiply.py +++ b/solutions/tests/test_multiply.py @@ -6,13 +6,11 @@ Created on 06.01.2025 -@author:Simi-Solola - - +@author: Simi-Solola """ import unittest - +import math from solutions.multiply import multiply @@ -23,6 +21,7 @@ class TestMultiply(unittest.TestCase): - Positive numbers - Negative numbers - Error case for non-numeric input + - Boundary cases like large numbers, small numbers, infinity, and NaN """ def test_multiply_positive_numbers(self): @@ -45,6 +44,30 @@ def test_multiply_float_input(self): result = multiply(2.5, 4.0) self.assertEqual(result, 10.0) + def test_multiply_large_numbers(self): + """Test multiplying very large numbers.""" + result = multiply(1e100, 1e100) + self.assertEqual(result, 1e200) + + def test_multiply_small_numbers(self): + """Test multiplying very small numbers.""" + result = multiply(1e-100, 1e-100) + self.assertEqual(result, 1e-200) + + def test_multiply_infinity(self): + """Test multiplying by infinity.""" + result = multiply(1, math.inf) + self.assertEqual(result, math.inf) + result = multiply(-1, math.inf) + self.assertEqual(result, -math.inf) + + def test_multiply_nan(self): + """Test multiplying by NaN.""" + result = multiply(math.nan, 5) + self.assertTrue(math.isnan(result)) + result = multiply(5, math.nan) + self.assertTrue(math.isnan(result)) + if __name__ == "__main__": unittest.main() From cf0796245e286377cc103c8082f49ac7f67c592d Mon Sep 17 00:00:00 2001 From: Deborah Oyibo <74741531+Oghenekevwe123@users.noreply.github.com> Date: Sun, 12 Jan 2025 19:56:42 +0000 Subject: [PATCH 247/248] mode_of_numbers.py --- solutions/mode_of_numbers.py | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 solutions/mode_of_numbers.py diff --git a/solutions/mode_of_numbers.py b/solutions/mode_of_numbers.py new file mode 100644 index 000000000..817dd08ff --- /dev/null +++ b/solutions/mode_of_numbers.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +A module for generating the Mode numbers + +Module contents: + - mode_of numbers: finds the mode(s) of a list of numbers. + +Created on 12/01/2025 +@author: Deborah Oyibo +""" +from collections import Counter + +def mode_of_numbers(numbers: list[int]) -> list[int]: + """Returns the mode(s) of a list of numbers. + + The mode is the number that appears most frequently in the list. + If there are multiple modes, all of them are returned in a list. + If there is no mode (i.e., all elements appear once), an empty list is returned. + + Parameters: + numbers: A list of integers or floats. + + Returns: + A list of integers (or floats) representing the mode(s) of the input list. + + Raises: + AssertionError: If the input is not a list or if the list contains non-numeric values. + + >>> mode_of_numbers([1, 2, 2, 3, 4]) + [2] + + >>> mode_of_numbers([1, 2, 2, 3, 3, 4]) + [2, 3] + + >>> mode_of_numbers([1, 2, 3, 4]) + [] + + >>> mode_of_numbers([]) + [] + + >>> mode_of_numbers([5, 5, 5, 5]) + [5] + """ + + # Check if the input is a list + assert isinstance(numbers, list), "Input must be a list." + + # Check if all elements in the list are numbers (integers or floats) + assert all(isinstance(num, (int, float)) for num in numbers), "All elements in the list must be numbers." + + # Handle the case for an empty list + if not numbers: + return [] + + # Count the frequency of each element using Counter + count = Counter(numbers) + + # Get the highest frequency + max_frequency = max(count.values()) + + # Find all numbers that have the highest frequency + modes = [num for num, freq in count.items() if freq == max_frequency] + + return modes \ No newline at end of file From 0a0fc8229f9c69aeac8d78f94ad5a5f8c2c9fb11 Mon Sep 17 00:00:00 2001 From: Deborah Oyibo <74741531+Oghenekevwe123@users.noreply.github.com> Date: Sun, 12 Jan 2025 20:00:43 +0000 Subject: [PATCH 248/248] Add test_mode_of_numbers.py --- solutions/tests/test_mode_of_numbers.py | 88 +++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 solutions/tests/test_mode_of_numbers.py diff --git a/solutions/tests/test_mode_of_numbers.py b/solutions/tests/test_mode_of_numbers.py new file mode 100644 index 000000000..20557e732 --- /dev/null +++ b/solutions/tests/test_mode_of_numbers.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on 12/01/2025 + +@author: Deborah Oyibo +""" + +# test_Mode_of_numbers.py +import unittest + +from solutions.mode_of_numbers import mode_of_numbers # Corrected import + +class TestModeOfNumbers(unittest.TestCase): + """Test the mode_of_numbers function""" + + def test_Mode_0(self): + """It should return an empty list for an empty input""" + actual = mode_of_numbers([]) + expected = [] + self.assertEqual(actual, expected) + + def test_Mode_1(self): + """It should return [2] for a list where 2 appears most frequently""" + actual = mode_of_numbers([1, 2, 2, 3, 4]) + expected = [2] + self.assertEqual(actual, expected) + + def test_Mode_2(self): + """It should return [2, 3] for a list with two modes""" + actual = mode_of_numbers([1, 2, 2, 3, 3, 4]) + expected = [2, 3] + self.assertEqual(actual, expected) + + def test_Mode_3(self): + """It should return an empty list for a list with no repeating numbers""" + actual = mode_of_numbers([1, 2, 3, 4]) + expected = [] + self.assertEqual(actual, expected) + + def test_Mode_4(self): + """It should return [5] for a list where 5 appears most frequently""" + actual = mode_of_numbers([5, 5, 5, 5]) + expected = [5] + self.assertEqual(actual, expected) + + def test_Mode_5(self): + """It should return [1] for a list where 1 appears the most times""" + actual = mode_of_numbers([1] * 1000 + [2] * 500) + expected = [1] + self.assertEqual(actual, expected) + + def test_Mode_6(self): + """It should return [-2] for a list with negative numbers""" + actual = mode_of_numbers([-1, -2, -2, -3]) + expected = [-2] + self.assertEqual(actual, expected) + + def test_Mode_7(self): + """It should return an empty list for a list where no number repeats equally""" + actual = mode_of_numbers([1, 2, 1, 2]) + expected = [] + self.assertEqual(actual, expected) + + def test_Mode_8(self): + """It should return an empty list for a list where all numbers appear only once""" + actual = mode_of_numbers([1, 2, 3, 4, 5, 6]) + expected = [] + self.assertEqual(actual, expected) + + def test_Mode_9(self): + """It should return [5, 10] for a list with two modes""" + actual = mode_of_numbers([5, 5, 10, 10, 15]) + expected = [5, 10] + self.assertEqual(actual, expected) + + def test_Mode_invalid_input(self): + """It should raise an assertion error for invalid input (non-list)""" + with self.assertRaises(AssertionError): + mode_of_numbers("not a list") + + def test_Mode_non_numeric_input(self): + """It should raise an assertion error if the list contains non-numeric values""" + with self.assertRaises(AssertionError): + mode_of_numbers([1, 2, "a"]) + +if __name__ == '__main__': + unittest.main()

jF%`D5q{ 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