From 75cecc04f6f9696f15f05a24aeca3aae3f12fdfe Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:01:57 +0200 Subject: [PATCH 01/13] Project import. (#1) * First commit (project import). * Added GitHub workflows. --- .coveragerc | 3 + .github/workflows/codecov.yml | 34 ++++ .github/workflows/mkdocs.yml | 32 ++++ .gitignore | 7 + LICENSE | 287 ++++++++++++++++++++++++++++++ README.md | 51 +++++- docs/guide.md | 151 ++++++++++++++++ media/logo.png | Bin 0 -> 78892 bytes pyproject.toml | 40 +++++ requirements.txt | Bin 0 -> 1358 bytes src/efsa_tools/__init__.py | 10 ++ src/efsa_tools/_utils/__init__.py | 1 + src/efsa_tools/_utils/_checks.py | 44 +++++ src/efsa_tools/dataframe_utils.py | 161 +++++++++++++++++ src/efsa_tools/scd.py | 152 ++++++++++++++++ tests/test__checks.py | 41 +++++ tests/test_dataframe_utils.py | 106 +++++++++++ tests/test_scd.py | 161 +++++++++++++++++ 18 files changed, 1279 insertions(+), 2 deletions(-) create mode 100644 .coveragerc create mode 100644 .github/workflows/codecov.yml create mode 100644 .github/workflows/mkdocs.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 docs/guide.md create mode 100644 media/logo.png create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100644 src/efsa_tools/__init__.py create mode 100644 src/efsa_tools/_utils/__init__.py create mode 100644 src/efsa_tools/_utils/_checks.py create mode 100644 src/efsa_tools/dataframe_utils.py create mode 100644 src/efsa_tools/scd.py create mode 100644 tests/test__checks.py create mode 100644 tests/test_dataframe_utils.py create mode 100644 tests/test_scd.py diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..a7cba45 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,3 @@ +[run] +omit = + tests/* diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 0000000..38963da --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,34 @@ +name: Run tests and upload coverage report to Codecov + +on: + push: + branches: [dev, main] + +jobs: + coverage: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install Python dependencies + run: | + pip install -r requirements.txt + pip install codecov + + - name: Run tests with coverage + run: | + coverage run -m pytest + coverage xml + + - name: Upload score to Codecov + uses: codecov/codecov-action@v4 + with: + files: coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml new file mode 100644 index 0000000..1e52b9f --- /dev/null +++ b/.github/workflows/mkdocs.yml @@ -0,0 +1,32 @@ +name: Build and deploy mkdocs site to GitHub Pages + +on: + push: + branches: [main] + +jobs: + mkdocs: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install docs dependencies + run: | + pip install mkdocs + + - name: Build mkdocs site + run: mkdocs build + + - name: Deploy site to gh-pages branch + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./site diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31910b2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.idea/ +*.egg-info/ +.env +__pycache__/ +.coverage +dist/ +coverage.xml diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c29ce2f --- /dev/null +++ b/LICENSE @@ -0,0 +1,287 @@ + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/README.md b/README.md index a9dba23..c456433 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,49 @@ -# efsa_tools -EFSA ensemble of data collections tools. +# efsa_tools + +[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable) [![codecov](https://codecov.io/gh/openefsa/efsa_tools/branch/main/graph/badge.svg?token=0YQIJKISMA)](https://codecov.io/gh/openefsa/efsa_tools) + +## Overview + +The **efsa_tools** package brings together all the functions developed for +EFSA's ad hoc data collections, providing tools for dataset operations as well +as utilities designed to preserve data history. + +The package is intended for researchers, analysts, and practitioners who +require convenient programmatic access to data collection utilities. + +## Installation + +### From PyPi + +``` +pip install efsa_tools +``` + +### Development version + +To install the latest development version: + +``` +pip install git+https://github.com/openefsa/efsa_tools.git +``` + +## Usage + +Once installed, load the package as usual: + +```python +from efsa_tools import * +``` + +Basic usage examples and full documentation are available in the package +[guide](docs/guide.md). + +## Authors and maintainers + +- **Lorenzo Copelli** (author, [ORCID](https://orcid.org/0009-0002-4305-065X)). +- **Luca Belmonte** (author, maintainer, [ORCID](https://orcid.org/0000-0002-7977-9170)). + +## Links + +- **Homepage**: [GitHub](https://github.com/openefsa/efsa_tools). +- **Bug Tracker**: [Issues on GitHub](https://github.com/openefsa/efsa_tools/issues). diff --git a/docs/guide.md b/docs/guide.md new file mode 100644 index 0000000..df1382b --- /dev/null +++ b/docs/guide.md @@ -0,0 +1,151 @@ +# Introduction to efsa_tools + +## Overview + +The **efsa_tools** package brings together all the functions developed for +EFSA's ad hoc data collections, providing tools for dataset operations as well +as utilities designed to preserve data history. + +The package is intended for researchers, analysts, and practitioners who +require convenient programmatic access to data collection utilities. + +## Installation + +### From PyPi + +``` +pip install efsa_tools +``` + +### Development version + +To install the latest development version: + +``` +pip install git+https://github.com/openefsa/efsa_tools.git +``` + +## Basic usage + +The main purpose of *efsa_tools* is to provide tools for managing datasets and +tracking data history within the context of data collections. + +Below are examples demonstrating how to use the functions in this package. +First, load the *efsa_tools* package: + +```python +from efsa_tools import * +``` + +To explore the arguments and usage of a specific function, you can run: + +```python +help(function_name) +``` + +This will show the full documentation for the function, including its +arguments, return values, and usage examples. + +For example, if you are working with the `SCD2()` function, you can check its +documentation with: + +```python +help(SCD2) +``` + +## Dropping empty rows and columns from a data frame + +If a data frame contain empty rows or columns, you can remove them using the +`drop_empty()` function, as follows: + +```python +iris_dropped = drop_empty(iris) + +print(iris_dropped.head()) +``` + +## Enriching a data frame with an EFSA's catalogue + +The `enrich()` function enables the augmentation of a data frame using +information stored in an EFSA's catalogue. It requires specifying the column +used to join the two datasets, as well as the name of the column that will +contain the enriched information (namely, the 'NAME' field of EFSA's +catalogues). + +```python +enriched_data_frame = enrich( + dataframe=dataframe_, + catalogue=CV_MTX_, + join_by="CODE", + enriched_column_name="enrichedColumn" +) + +print(enriched_data_frame.head()) +``` + +## Removing replicated columns from a data frame + +The `remove_replicated_columns()` function merges all the replicated columns in +a data frame into a single column whose name includes the "_deduplicated" +suffix. After the merge, the original replicated columns are removed from the +data frame. + +In the following example, we present a data frame containing the columns +*region_1*, *region_2*, ..., *region_n* with *n* > 100. Using the +`remove_replicated_columns()` function, these columns can be efficiently +consolidated into a single *region_deduplicated* column, assuming that for each +row only one of the *n* columns contains a meaningful (non-NA) value. + +```python +iris["Species_1"] = iris["Species"] +iris["Species_2"] = iris["Species"] +iris.drop(columns=["Species"], inplace=True) + +iris_deduplicated = remove_replicated_columns( + dataframe=iris, + prefix="Species_" +) + +print(iris_deduplicated.head()) +``` + +## Implementing a "Simple" Slowly Changing Dimension Type 2 (SSCD2) + +The `SSCD2()` function makes it possible to preserve data history when new data +becomes available by implementing a simplified version of Slowly Changing +Dimension Type 2. It marks all records in the current data frame as inactive +and appends the new data, flagging each newly added record as active. + +Unlike the `SCD2()` function, `SSCD2()` does not check which records have +actually changed. Instead, it marks all existing records as inactive and treats +all incoming records as new, setting the previous ones to inactive status even +if they are still included in the updated dataset. + +An example of how to use the function is provided below: + +```python +sscd2_dataframe = SSCD2(new_data=new_dataframe, current_data=old_dataframe) + +print(sscd2_dataframe.head())) +``` + +## Implementing a Slowly Changing Dimension Type 2 (SCD2) + +The `SCD2()` function makes it possible to preserve data history when new data +becomes available by implementing a Slowly Changing Dimension Type 2. It +compares the current records with the new ones, marking as inactive any +existing records that no longer appear in the updated dataset. Then, it flags +as active any new records that are not present among the currently active data. + +Unlike the `SSCD2()` function, `SCD2()` checks which records have actually +changed. It marks as inactive any existing records that no longer appear in the +updated dataset, and flags as active any new records that are not present among +the currently active data. + +An example of how to use the function is provided below: + +```python +scd2_dataframe = SCD2(new_data=new_dataframe, current_data=old_ataframe) + +print(scd2_dataframe.head()) +``` diff --git a/media/logo.png b/media/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e82fde90d5a09edaa1cfde5b103baf13bf94e129 GIT binary patch literal 78892 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", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "efsa_tools" +version = "1.0.0" +description = "EFSA ensemble of data collections tools" +readme = "README.md" +authors = [ + { name = "Lorenzo Copelli" }, + { name = "Luca Belmonte" } +] +maintainers = [ + { name = "Luca Belmonte", email = "luca.belmonte@efsa.europa.eu" } +] +license = "EUPL-1.2" +license-files = ["LICENSE"] +requires-python = ">=3.11" +dependencies = [ + "numpy>=2.0", + "pandas>=2.2" +] + +[project.optional-dependencies] +dev = [ + "coverage>=7.6", + "pytest>=8.0", +] + +[project.urls] +"Homepage" = "https://github.com/openefsa/efsa_tools" +"Repository" = "https://github.com/openefsa/efsa_tools" +"Bug Tracker" = "https://github.com/openefsa/efsa_tools/issues" + +[tool.setuptools] +package-dir = {"" = "src"} + +[tool.setuptools.packages.find] +where = ["src"] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b0e2081605efe9076dcdf1514f0115ce44766db GIT binary patch literal 1358 zcmZvc?^5DG5X9%RRre@Z2GGL~zQetN6#@bhA{W9T_weekXLgg^pR$6L-JYKAp3Q!K zEbVMNt8HaZ{1tXOHnGOucssCG zQ}^3hR6R@V52@;neIZN73UT)j;+I#Kw&A}J-$4|KNg7u$RCtie8U>kU>I&!HX*Y5w z?M1)Z&^s$D`t=5`3f{(jZyX`N(jUpZy5G`KxBS+;pWJ^a$WH%{7ITN6cYf79G$~U# z`jh(wZw(zf^eC_3*Nlca?cutT;|^q2dk;ccg#yi@wY{fx0W|@uNgb(^g5Vm^E4sFH z%W3Ldgt`MNTKWY;oR6`x!e_YXJ2$o^x6Bi{$Yn!^L*HNNN<;KGqP9Yi>ELHHE}J{rd~PKIGajUlPT#S zchCN&lr$wh!p}$NMyo&35xRpfxQ3JdH)evenD>&pnm4g34fzetE#FPWOdf4P?%CgX zU*Fd@Rch|)H}lgUcgPusxlia?ct!)qiA>)6-o@ywcPX#9FEn>~3S}L)QRE-recWgI eR-${Hdfi$}R>> from efsa_tools import * + + >>> iris.iloc[0] = np.nan + >>> iris = drop_empty(dataframe=iris) + + >>> iris["Species"] = np.nan + >>> iris = drop_empty(dataframe=iris) + """ + + _checks._require_type(value=dataframe, expected_type=pd.DataFrame) + + dataframe = dataframe[dataframe.isna().sum(axis=1) != dataframe.shape[1]] + dataframe = dataframe.loc[:, ~dataframe.isna().all()] + + dataframe = dataframe.convert_dtypes() + dataframe = dataframe.astype(str) + + return dataframe + + +def remove_replicated_columns(dataframe, prefix): + """Drop and merge replicated columns from the specified data frame. + + This function drops and merges all the replicated columns from the + specified data frame. All the occurrences of "NA", "N/a", and empty strings + (case-insensitive) inside the provided data frame are replaced with NAs of + type character. Then, all and only the columns starting with the specified + prefix are selected and united into a single column with name ending per + "_deduplicated". All empty entries in the new deduplicated column are + replaced with NAs. Finally, the new column is bound with the other columns + of the initial dataframe. + + Args: + dataframe (pandas.DataFrame): The data frame from which to drop the + replicated columns. + prefix (str): The prefix with which the name of the replicated columns + starts. + + Returns: + (pandas.DataFrame): The specified data frame with an additional + deduplicated column and all the types transformed to string. + + Examples: + >>> from efsa_tools import * + + >>> iris["Species_1"] = iris["Species"] + >>> iris["Species_2"] = iris["Species"] + >>> iris.drop("Species", axis=1, inplace=True) + + >>> deduplicated_dataframe_ = remove_replicated_columns( + ... dataframe=iris, + ... prefix="Species_" + ... ) + """ + + _checks._require_type(value=dataframe, expected_type=pd.DataFrame) + _checks._require_type(value=prefix, expected_type=str) + + columns_ = [column_ for column_ in dataframe.columns + if column_.startswith(prefix)] + + dataframe[columns_] = dataframe[columns_].astype(str) + + dataframe[columns_] = dataframe[columns_].replace( + r"(?i)^\s*(n/a|na)?\s*$", np.nan, regex=True) + + deduplicated_column_name = f"{prefix}_deduplicated" + + dataframe[deduplicated_column_name] = dataframe[columns_].apply( + lambda row_: ''.join(row_.dropna()), axis=1) + + dataframe[deduplicated_column_name] = ( + dataframe[deduplicated_column_name].replace('', np.nan)) + + deduplicated_column = dataframe.pop(deduplicated_column_name) + dataframe.insert(0, deduplicated_column_name, deduplicated_column) + + dataframe = dataframe.drop(columns=columns_) + + dataframe = dataframe.convert_dtypes() + dataframe = dataframe.astype(str) + + return dataframe + + +def enrich(dataframe, catalogue, join_by, enriched_column_name): + """Enrich a data frame with an EFSA catalogue. + + This function takes a data frame and joins it with an EFSA catalog. The + EFSA catalog must be itself a data frame. + + Args: + dataframe (pandas.DataFrame): The data frame to be enriched. + catalogue (pandas.DataFrame): The data frame that contains the EFSA + catalogue to be used for the enrichment. It must contain at least + two columns, namely: NAME and CODE. + join_by (str): The variable to be used as the join key. + enriched_column_name (str): The name of the column added to the + original data. + + Returns: + pandas.DataFrame: The specified data frame enriched with the catalogue + data. + + Examples: + >>> from efsa_tools import * + + >>> # Assuming that 'dataframe' and 'catalogue' are already set up as + >>> # Pandas DataFrames. + >>> enriched_data = enrich( + ... dataframe=dataframe, + ... catalogue=catalogue, + ... join_by="CODE", + ... enriched_column_name="enrichedColumn" + ... ) + """ + + _checks._require_type(value=dataframe, expected_type=pd.DataFrame) + _checks._require_type(value=catalogue, expected_type=pd.DataFrame) + _checks._must_include(dataframe=catalogue, names=["NAME", "CODE"]) + _checks._require_type(value=join_by, expected_type=str) + _checks._require_type(value=enriched_column_name, expected_type=str) + + catalogue = catalogue[["NAME", "CODE"]].copy() + catalogue[join_by] = catalogue["CODE"] + + enriched_ = dataframe.merge(catalogue, how="left", on=join_by) + enriched_ = enriched_.rename(columns={"NAME": enriched_column_name}) + + columns_order_ = ( + [enriched_column_name] + + [column_ for column_ in dataframe.columns] + ) + enriched_ = enriched_[columns_order_] + + return enriched_ diff --git a/src/efsa_tools/scd.py b/src/efsa_tools/scd.py new file mode 100644 index 0000000..c11a6e8 --- /dev/null +++ b/src/efsa_tools/scd.py @@ -0,0 +1,152 @@ +import pandas as pd +import datetime + +from efsa_tools._utils import _checks + + +def _activate(dataframe): + """Activate the records of the specified data frame. + + This helper function is used in the context of a Slowly Changing Dimension + (SCD) to mark new records of a data frame as active with a start date. + + Args: + dataframe (pandas.DataFrame): The data frame to activate. + + Returns: + pandas.DataFrame: The specified data frame with ACTIVE set to True, + START_DATE set to current time, and END_DATE set to NaT. + """ + + _checks._require_type(value=dataframe, expected_type=pd.DataFrame) + + activated_dataframe_ = dataframe.assign( + IS_ACTIVE=True, + START_DATE=datetime.datetime.now(), + END_DATE=pd.NaT) + + return activated_dataframe_ + + +def _deactivate(dataframe): + """Deactivate the records of the specified data frame. + + This helper function is used in the context of a Slowly Changing Dimension + (SCD) to mark active records of a data frame as not active with an end + date. + + Args: + dataframe (pandas.DataFrame): The data frame to deactivate. + + Returns: + pandas.DataFrame: The specified data frame with IS_ACTIVE set to False + and END_DATE set to current time. + """ + + _checks._require_type(value=dataframe, expected_type=pd.DataFrame) + + deactivated_dataframe_ = dataframe.assign( + IS_ACTIVE=False, + END_DATE=datetime.datetime.now()) + + return deactivated_dataframe_ + + +def sscd2(new_data, current_data): + """Implement a "Simple" Slowly Changing Dimension Type 2. + + This function implements a Simplified version of Slowly Changing Dimension + Type 2 to merge new and current data while maintaining historical records. + The function deactivates all the old records and activates new ones, + ensuring a history-preserving update strategy. The difference between a + standard SCD2 is that this simplified version applies no checks on the + data, deactivating all the old records and activating the new ones, even if + some of the old records are still active. + + Args: + new_data (pandas.DataFrame): The data frame containing new records. + current_data (pandas.DataFrame): The data frame containing existing + records. + + Returns: + pandas.DataFrame: A combined data frame with all old data marked as not + active and new data marked as active. + + Examples: + >>> from efsa_tools import * + + >>> merged_data = sscd2(new_data=new_dataset, current_data=old_dataset) + """ + + _checks._require_type(value=new_data, expected_type=pd.DataFrame) + _checks._require_type(value=current_data, expected_type=pd.DataFrame) + + merged_data_ = pd.concat([ + _deactivate(dataframe=current_data), + _activate(dataframe=new_data) + ], ignore_index=True) + + return merged_data_ + + +def scd2(new_data, current_data, key=None): + """Implement a Slowly Changing Dimension Type 2. + + This function implements a Slowly Changing Dimension Type 2 to merge new + and current data while maintaining historical records. The function + deactivates all the old records and activates new ones, ensuring a + history-preserving update strategy. Only the changing records are marked as + not active and replaced by new active ones. + + Args: + new_data (pandas.DataFrame): The data frame containing new records. + current_data (pandas.DataFrame): The data frame containing existing + records. + key (list, optional): The columns to be used as key. Defaults to None. + + Returns: + pandas.DataFrame: A combined data frame with old data marked as not + active and new data marked as active. + + Examples: + >>> from efsa_tools import * + + >>> merged_data = scd2(new_data=new_dataset, current_data=old_dataset) + """ + + _checks._require_type(value=new_data, expected_type=pd.DataFrame) + _checks._require_type(value=current_data, expected_type=pd.DataFrame) + if key is not None: + _checks._require_type(value=key, expected_type=list) + + if key is None: + key = list(new_data.columns) + + current_inactive_data_ = current_data[current_data["IS_ACTIVE"] == False] + current_active_data_ = current_data[current_data["IS_ACTIVE"] == True] + + still_active_data_ = ( + current_active_data_.drop_duplicates() + .merge(new_data.drop_duplicates(), on=key, how="inner") + ) + + newly_active_data_ = new_data.merge( + current_active_data_[key], on=key, how="left", indicator=True) + newly_active_data_ = newly_active_data_[ + newly_active_data_["_merge"] == "left_only"].drop(columns="_merge") + newly_active_data_ = _activate(newly_active_data_) + + deactivated_data_ = current_active_data_.merge( + new_data[key], on=key, how="left", indicator=True) + deactivated_data_ = deactivated_data_[ + deactivated_data_["_merge"] == "left_only"].drop(columns="_merge") + deactivated_data_ = _deactivate(deactivated_data_) + + merged_data_ = pd.concat([ + still_active_data_, + newly_active_data_, + deactivated_data_, + current_inactive_data_ + ], ignore_index=True) + + return merged_data_ diff --git a/tests/test__checks.py b/tests/test__checks.py new file mode 100644 index 0000000..0ec5ab1 --- /dev/null +++ b/tests/test__checks.py @@ -0,0 +1,41 @@ +import unittest +import pandas as pd + +from efsa_tools._utils._checks import _require_type, _must_include + + +class TestChecks(unittest.TestCase): + + ################### + # _require_type() # + ################### + + def test__require_type_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, _require_type, value=123, + expected_type=str) + + def test__require_type_output(self): + """Test the behaviour for valid data.""" + self.assertIsNone(_require_type(value=123, expected_type=int)) + + ################### + # _must_include() # + ################### + + def test__must_include_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, _must_include, dataframe=123, names=[]) + self.assertRaises(TypeError, _must_include, dataframe=pd.DataFrame(), + names=123) + + def test__must_include_output(self): + """Test the behaviour for valid data.""" + self.assertIsNone(_must_include( + dataframe=pd.DataFrame({'a': [1], 'b': [2]}), + names=['a'])) + + def test__must_include_wrong(self): + """Test the behaviour for valid data.""" + self.assertRaises(ValueError, _must_include, + dataframe=pd.DataFrame({'a': [1], 'b': [2]}), names=['c']) diff --git a/tests/test_dataframe_utils.py b/tests/test_dataframe_utils.py new file mode 100644 index 0000000..7c1bae4 --- /dev/null +++ b/tests/test_dataframe_utils.py @@ -0,0 +1,106 @@ +import unittest +import pandas as pd +import numpy as np +from pandas.testing import assert_frame_equal + +from efsa_tools.dataframe_utils import (drop_empty, remove_replicated_columns, + enrich) + + +class TestDataframeUtils(unittest.TestCase): + + ################ + # drop_empty() # + ################ + + def test_drop_empty_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, drop_empty, dataframe=123) + + def test_drop_empty_output(self): + """Test the behaviour for valid data.""" + dataframe_ = pd.DataFrame({ + 'a': [1, 2, np.nan], + 'b': [3, 4, np.nan], + 'c': [np.nan, np.nan, np.nan] + }) + expected_result_ = pd.DataFrame({ + 'a': ['1', '2'], + 'b': ['3', '4'] + }) + result_ = drop_empty(dataframe=dataframe_) + self.assertIsInstance(result_, pd.DataFrame) + assert_frame_equal(result_, expected_result_) + + ############################### + # remove_replicated_columns() # + ############################### + + def test_remove_replicated_columns_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, remove_replicated_columns, dataframe=123, + prefix="") + self.assertRaises(TypeError, remove_replicated_columns, + dataframe=pd.DataFrame(), prefix=123) + + def test_remove_replicated_columns_output(self): + """Test the behaviour for valid data.""" + dataframe_ = pd.DataFrame({ + "prefix_1": [1, "NA", np.nan], + "prefix_2": [np.nan, 2, "N/a"], + "prefix_3": ['', np.nan, 3], + "another_col": [np.nan, np.nan, 3] + }) + expected_result_ = pd.DataFrame({ + "prefix_deduplicated": ['1', '2', '3'], + "another_col": [np.nan, np.nan, '3'] + }) + result_ = remove_replicated_columns( + dataframe=dataframe_, + prefix="prefix" + ) + self.assertIsInstance(result_, pd.DataFrame) + assert_frame_equal(result_, expected_result_) + + ############ + # enrich() # + ############ + + def test_enrich_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, enrich, dataframe=123, + catalogue=pd.DataFrame(), join_by="", + enriched_column_name="") + self.assertRaises(TypeError, enrich, dataframe=pd.DataFrame(), + catalogue=123, join_by="", enriched_column_name="") + self.assertRaises(ValueError, enrich, dataframe=pd.DataFrame(), + catalogue=pd.DataFrame(), join_by="", + enriched_column_name="") + self.assertRaises(TypeError, enrich, dataframe=pd.DataFrame(), + catalogue=pd.DataFrame({"NAME": [1], "CODE": [2]}), + join_by=123, enriched_column_name="") + self.assertRaises(TypeError, enrich, dataframe=pd.DataFrame(), + catalogue=pd.DataFrame({"NAME": [1], "CODE": [2]}), + join_by="", enriched_column_name=123) + + def test_enrich_output(self): + """Test the behaviour for valid data.""" + dataframe_ = pd.DataFrame({ + "CODE": [1, 2, 3] + }) + catalogue_ = pd.DataFrame({ + "CODE": [1, 2, 3], + "NAME": ['a', 'b', 'c'] + }) + expected_result_ = pd.DataFrame({ + "enriched_column": ['a', 'b', 'c'], + "CODE": [1, 2, 3] + }) + result_ = enrich( + dataframe=dataframe_, + catalogue=catalogue_, + join_by="CODE", + enriched_column_name="enriched_column" + ) + self.assertIsInstance(result_, pd.DataFrame) + assert_frame_equal(result_, expected_result_) diff --git a/tests/test_scd.py b/tests/test_scd.py new file mode 100644 index 0000000..611bd5e --- /dev/null +++ b/tests/test_scd.py @@ -0,0 +1,161 @@ +import unittest +import pandas as pd + +from efsa_tools.scd import _activate, _deactivate, sscd2, scd2 + + +class TestSCD2(unittest.TestCase): + + ############### + # _activate() # + ############### + + def test__activate_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, _activate, dataframe=123) + + def test__activate_output_1(self): + """Test the behaviour for valid data.""" + dataframe_ = pd.DataFrame({'a': [1]}) + self.assertIsInstance(_activate(dataframe=dataframe_), pd.DataFrame) + + def test__activate_output_2(self): + """Test the presence of the START_DATE column.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + self.assertTrue("START_DATE" in dataframe_.columns) + self.assertTrue(all(dataframe_["START_DATE"].notnull())) + + def test__activate_output_3(self): + """Test the presence of the END_DATE column.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + self.assertTrue("END_DATE" in dataframe_.columns) + self.assertTrue(all(dataframe_["END_DATE"].isnull())) + + def test__activate_output_4(self): + """Test the presence of the IS_ACTIVE column.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + self.assertTrue("IS_ACTIVE" in dataframe_.columns) + self.assertTrue(all(dataframe_["IS_ACTIVE"])) + + ################# + # _deactivate() # + ################# + + def test__deactivate_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, _deactivate, dataframe=123) + + def test__deactivate_output_1(self): + """Test the behaviour for valid data.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + self.assertIsInstance(_deactivate(dataframe=dataframe_), pd.DataFrame) + + def test__deactivate_output_2(self): + """Test the presence of the END_DATE column.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + dataframe_ = _deactivate(dataframe=dataframe_) + self.assertTrue("END_DATE" in dataframe_.columns) + self.assertTrue(all(dataframe_["END_DATE"].notnull())) + + def test__deactivate_output_3(self): + """Test the presence of the IS_ACTIVE column.""" + dataframe_ = pd.DataFrame({'a': [1]}) + dataframe_ = _activate(dataframe=dataframe_) + dataframe_ = _deactivate(dataframe=dataframe_) + self.assertTrue("IS_ACTIVE" in dataframe_.columns) + self.assertTrue(not all(dataframe_["IS_ACTIVE"])) + + ############ + # _sscd2() # + ############ + + def test_sscd2_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, sscd2, new_data=123, + current_data=pd.DataFrame()) + self.assertRaises(TypeError, sscd2, new_data=pd.DataFrame(), + current_data=123) + + def test_sscd2_output(self): + """The function must output as expected.""" + current_data_ = pd.DataFrame({ + "id": [1, 2, 3], + "colA": ["a1", "a2", "a3"], + "colB": ["b1", "b2", "b3"], + "colC": ["c1", "c2", "c3"] + }) + current_data_ = _activate(dataframe=current_data_) + + new_data_ = pd.DataFrame({ + "id": [1, 2, 3], + "colA": ["a1", "a2", "a4"], + "colB": ["b1", "b2", "b4"], + "colC": ["c1", "c20", "c4"] + }) + + merged_data_ = sscd2(new_data=new_data_, current_data=current_data_) + + expected_result_ = pd.DataFrame({ + "id": [1, 2, 3, 1, 2, 3], + "colA": ["a1", "a2", "a3", "a1", "a2", "a4"], + "colB": ["b1", "b2", "b3", "b1", "b2", "b4"], + "colC": ["c1", "c2", "c3", "c1", "c20", "c4"], + "IS_ACTIVE": [False, False, False, True, True, True] + }).sort_values("id") + + merged_data_ = merged_data_.drop( + columns=merged_data_.filter( + regex="DATE$").columns).sort_values("id") + + self.assertTrue(merged_data_.equals(expected_result_)) + + ########### + # _scd2() # + ########### + + def test_scd2_invalid(self): + """Test the behaviour for invalid data.""" + self.assertRaises(TypeError, scd2, new_data=123, + current_data=pd.DataFrame()) + self.assertRaises(TypeError, scd2, new_data=pd.DataFrame(), + current_data=123) + self.assertRaises(TypeError, scd2, new_data=pd.DataFrame(), + current_data=pd.DataFrame(), key=123) + + def test_scd2_output(self): + """The function must output as expected.""" + current_data_ = pd.DataFrame({ + "id": [1, 2, 3], + "colA": ["a1", "a2", "a3"], + "colB": ["b1", "b2", "b3"], + "colC": ["c1", "c2", "c3"] + }) + current_data_ = _activate(dataframe=current_data_) + + new_data_ = pd.DataFrame({ + "id": [1, 2, 3], + "colA": ["a1", "a2", "a4"], + "colB": ["b1", "b2", "b4"], + "colC": ["c1", "c20", "c4"] + }) + + merged_data_ = scd2(new_data=new_data_, current_data=current_data_) + + expected_result_ = pd.DataFrame({ + "id": [1, 2, 3, 2, 3], + "colA": ["a1", "a2", "a4", "a2", "a3"], + "colB": ["b1", "b2", "b4", "b2", "b3"], + "colC": ["c1", "c20", "c4", "c2", "c3"], + "IS_ACTIVE": [True, True, True, False, False] + }).sort_values("id") + + merged_data_ = merged_data_.drop( + columns=merged_data_.filter( + regex="DATE$").columns).sort_values("id") + + self.assertTrue(merged_data_.equals(expected_result_)) From 37744464ce48c4b93b3fa1fa4f219568e800a9ee Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:06:35 +0200 Subject: [PATCH 02/13] Fixed codecov.yml. (#2) --- .github/workflows/codecov.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 38963da..5e7cecb 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -21,6 +21,7 @@ jobs: run: | pip install -r requirements.txt pip install codecov + pip install -e . - name: Run tests with coverage run: | From 2c1c63b30b1c1f4fab849560ca571e20356c247a Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:23:54 +0200 Subject: [PATCH 03/13] Fixed mkdocs configuration and action. (#4) --- .github/workflows/mkdocs.yml | 4 ++++ mkdocs.yml | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 mkdocs.yml diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 1e52b9f..3d47365 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -22,6 +22,10 @@ jobs: run: | pip install mkdocs + - name: Generate index.md from README.md + run: | + cp README.md docs/index.md + - name: Build mkdocs site run: mkdocs build diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..3d50c7f --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,9 @@ +site_name: efsa_tools +site_description: EFSA ensemble of data collections tools +site_url: https://openefsa.github.io/efsa_tools +repo_url: https://github.com/openefsa/efsa_tools +docs_dir: docs +site_dir: site + +theme: + name: material From 0054782102d72f6792f9eff4ce987e547d49516b Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:30:41 +0200 Subject: [PATCH 04/13] Fixed mkdocs theme. (#6) --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 3d50c7f..e8fa938 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,4 +6,4 @@ docs_dir: docs site_dir: site theme: - name: material + name: mkdocs From 3a8f1646a7ef40958e5860dcad560cbbd6442b40 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:54:42 +0200 Subject: [PATCH 05/13] Fixed mkdocs configuration. (#8) --- .github/workflows/mkdocs.yml | 2 ++ mkdocs.yml | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 3d47365..2b7e89c 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -25,6 +25,8 @@ jobs: - name: Generate index.md from README.md run: | cp README.md docs/index.md + mkdir docs/media + cp media/logo.png docs/media/logo.png - name: Build mkdocs site run: mkdocs build diff --git a/mkdocs.yml b/mkdocs.yml index e8fa938..f3efe57 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -7,3 +7,7 @@ site_dir: site theme: name: mkdocs + +nav: + Home: 'index.md' + 'Get started': 'guide.md' From 0c5d2b9eeb8db50b4e0a236536d8878008e68ac5 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 17:58:49 +0200 Subject: [PATCH 06/13] Minor fixes. (#10) --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index f3efe57..20cb5a8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,5 +9,5 @@ theme: name: mkdocs nav: - Home: 'index.md' - 'Get started': 'guide.md' + - Home: 'index.md' + - 'Get started': 'guide.md' From 8ccdd08d4de67bb7f9a0558f107e084dba4d2c65 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 7 Apr 2026 18:14:02 +0200 Subject: [PATCH 07/13] Fixed links in mkdocs. (#12) --- .github/workflows/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 2b7e89c..b40ad50 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -25,6 +25,7 @@ jobs: - name: Generate index.md from README.md run: | cp README.md docs/index.md + sed -i 's|docs/guide.md|guide/|g' docs/index.md mkdir docs/media cp media/logo.png docs/media/logo.png From 30d468c2321d719d1448b0029c3a13ef8fbbea63 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 14 Apr 2026 15:22:26 +0200 Subject: [PATCH 08/13] Minor fixes. (#14) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c456433..95daf50 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# efsa_tools +# efsa_tools [![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable) [![codecov](https://codecov.io/gh/openefsa/efsa_tools/branch/main/graph/badge.svg?token=0YQIJKISMA)](https://codecov.io/gh/openefsa/efsa_tools) From bef07a41a92045a5508f5075066943cc57f8f8e4 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Tue, 14 Apr 2026 16:48:31 +0200 Subject: [PATCH 09/13] Minor fixes. (#16) --- .github/workflows/mkdocs.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index b40ad50..fac16a9 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -26,8 +26,6 @@ jobs: run: | cp README.md docs/index.md sed -i 's|docs/guide.md|guide/|g' docs/index.md - mkdir docs/media - cp media/logo.png docs/media/logo.png - name: Build mkdocs site run: mkdocs build From 3afd9aedd486dcde1104441964bac22c4b71ef1d Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Wed, 15 Apr 2026 09:58:17 +0200 Subject: [PATCH 10/13] Fixed pyproject.toml. (#18) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4dcba3d..d40afbd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dev = [ ] [project.urls] -"Homepage" = "https://github.com/openefsa/efsa_tools" +"Homepage" = "https://openefsa.github.io/efsa_tools/" "Repository" = "https://github.com/openefsa/efsa_tools" "Bug Tracker" = "https://github.com/openefsa/efsa_tools/issues" From e48bfc3fbb9476a70d7b451b02c36b88043b22a4 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli Date: Wed, 15 Apr 2026 16:12:56 +0200 Subject: [PATCH 11/13] Minor fixes. (#20) --- .github/workflows/mkdocs.yml | 1 - README.md | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index fac16a9..3d47365 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -25,7 +25,6 @@ jobs: - name: Generate index.md from README.md run: | cp README.md docs/index.md - sed -i 's|docs/guide.md|guide/|g' docs/index.md - name: Build mkdocs site run: mkdocs build diff --git a/README.md b/README.md index 95daf50..cbe96f3 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ from efsa_tools import * ``` Basic usage examples and full documentation are available in the package -[guide](docs/guide.md). +[guide](https://openefsa.github.io/efsa_tools/guide/). ## Authors and maintainers @@ -45,5 +45,5 @@ Basic usage examples and full documentation are available in the package ## Links -- **Homepage**: [GitHub](https://github.com/openefsa/efsa_tools). -- **Bug Tracker**: [Issues on GitHub](https://github.com/openefsa/efsa_tools/issues). +- **Source code**: [GitHub - openefsa/efsa_tools](https://github.com/openefsa/efsa_tools). +- **Bug tracker**: [Issues on GitHub](https://github.com/openefsa/efsa_tools/issues). From 820e7a82fa34e3fca2a81354972e22b54da92606 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli <238189283+lorenzocopelliEFSA@users.noreply.github.com> Date: Tue, 21 Apr 2026 16:11:24 +0200 Subject: [PATCH 12/13] Added eppoPynder and pystiller as dependencies. (#22) --- README.md | 14 ++++++++++++++ docs/guide.md | 14 ++++++++++++++ pyproject.toml | 4 +++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cbe96f3..edcd62e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,20 @@ as utilities designed to preserve data history. The package is intended for researchers, analysts, and practitioners who require convenient programmatic access to data collection utilities. +During installation, the following packages developed by EFSA are also +installed: +- **eppoPynder** - [Website](https://openefsa.github.io/eppoPynder/) | [PyPI](https://pypi.org/project/eppoPynder/). +- **pystiller** - [Website](https://openefsa.github.io/pystiller/) | [PyPI](https://pypi.org/project/pystiller/). + +These packages are not required to use **efsa_tools**, but are included for +convenience and can be imported and used directly in the code if needed: + +```python +import eppoPynder +# and/or +import pystiller +``` + ## Installation ### From PyPi diff --git a/docs/guide.md b/docs/guide.md index df1382b..3b88103 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -9,6 +9,20 @@ as utilities designed to preserve data history. The package is intended for researchers, analysts, and practitioners who require convenient programmatic access to data collection utilities. +During installation, the following packages developed by EFSA are also +installed: +- **eppoPynder** - [Website](https://openefsa.github.io/eppoPynder/) | [PyPI](https://pypi.org/project/eppoPynder/). +- **pystiller** - [Website](https://openefsa.github.io/pystiller/) | [PyPI](https://pypi.org/project/pystiller/). + +These packages are not required to use **efsa_tools**, but are included for +convenience and can be imported and used directly in the code if needed: + +```python +import eppoPynder +# and/or +import pystiller +``` + ## Installation ### From PyPi diff --git a/pyproject.toml b/pyproject.toml index d40afbd..c68ad68 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,9 @@ license-files = ["LICENSE"] requires-python = ">=3.11" dependencies = [ "numpy>=2.0", - "pandas>=2.2" + "pandas>=2.2", + "eppoPynder>=2.0.0", + "pystiller>=1.0.0" ] [project.optional-dependencies] From 21ef8b0df11829bb39c9b3667ffb7f8817675065 Mon Sep 17 00:00:00 2001 From: Lorenzo Copelli <238189283+lorenzocopelliEFSA@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:51:34 +0200 Subject: [PATCH 13/13] Minor fixes. (#24) --- README.md | 12 ++++++------ docs/guide.md | 16 ++++++++-------- media/logo.png | Bin 78892 -> 78936 bytes pyproject.toml | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index edcd62e..62b949c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# efsa_tools +# efsa-tools [![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable) [![codecov](https://codecov.io/gh/openefsa/efsa_tools/branch/main/graph/badge.svg?token=0YQIJKISMA)](https://codecov.io/gh/openefsa/efsa_tools) ## Overview -The **efsa_tools** package brings together all the functions developed for +The **efsa-tools** package brings together all the functions developed for EFSA's ad hoc data collections, providing tools for dataset operations as well as utilities designed to preserve data history. @@ -16,21 +16,21 @@ installed: - **eppoPynder** - [Website](https://openefsa.github.io/eppoPynder/) | [PyPI](https://pypi.org/project/eppoPynder/). - **pystiller** - [Website](https://openefsa.github.io/pystiller/) | [PyPI](https://pypi.org/project/pystiller/). -These packages are not required to use **efsa_tools**, but are included for +These packages are not required to use **efsa-tools**, but are included for convenience and can be imported and used directly in the code if needed: ```python -import eppoPynder +import eppopynder # and/or import pystiller ``` ## Installation -### From PyPi +### From PyPI ``` -pip install efsa_tools +pip install efsa-tools ``` ### Development version diff --git a/docs/guide.md b/docs/guide.md index 3b88103..f4b4855 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -1,8 +1,8 @@ -# Introduction to efsa_tools +# Introduction to efsa-tools ## Overview -The **efsa_tools** package brings together all the functions developed for +The **efsa-tools** package brings together all the functions developed for EFSA's ad hoc data collections, providing tools for dataset operations as well as utilities designed to preserve data history. @@ -14,21 +14,21 @@ installed: - **eppoPynder** - [Website](https://openefsa.github.io/eppoPynder/) | [PyPI](https://pypi.org/project/eppoPynder/). - **pystiller** - [Website](https://openefsa.github.io/pystiller/) | [PyPI](https://pypi.org/project/pystiller/). -These packages are not required to use **efsa_tools**, but are included for +These packages are not required to use **efsa-tools**, but are included for convenience and can be imported and used directly in the code if needed: ```python -import eppoPynder +import eppopynder # and/or import pystiller ``` ## Installation -### From PyPi +### From PyPI ``` -pip install efsa_tools +pip install efsa-tools ``` ### Development version @@ -41,11 +41,11 @@ pip install git+https://github.com/openefsa/efsa_tools.git ## Basic usage -The main purpose of *efsa_tools* is to provide tools for managing datasets and +The main purpose of *efsa-tools* is to provide tools for managing datasets and tracking data history within the context of data collections. Below are examples demonstrating how to use the functions in this package. -First, load the *efsa_tools* package: +First, load the *efsa-tools* package: ```python from efsa_tools import * diff --git a/media/logo.png b/media/logo.png index e82fde90d5a09edaa1cfde5b103baf13bf94e129..76d207a53644a91a7021f7ff6bfd2e9b5373d4ae 100644 GIT binary patch literal 78936 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 literal 78892 zcmbTdWk8f$)HXb*h@gTfpmZqG-Hn8FcS}omH%d!Or*wx114E30g0#fYA(BH%3^CMu z59m4PdA|4k^C9XzbML+OwXU`H+G|&YvZB;|EFvrr2y|aYT0#{Bx{3NbdgnIqP4VEJ zcHloW7gZ@Sw8?J90N}$d%NGhSK%m;#yJyDez-J0mX;lRf$on}66!;bdLIPg}u7N;q ztRT?(D-ei36$E-(WgQ>$reG%ui8&(L4)9+<`AK zTxAp_G1hN9c|i53T%KqOXapo9@j~5mYID}ZQ*YIHXP5l>iyJdOYI)rCOkOPAKGhTU zCSB2s&+HPXIjs_kWV8~v?T6oSTg@=?bd;J(xeJn(iUJTQRaErPm!hHythsmSK_E)tOcWKT=QqSb4)sK zB2#amI04l6`VSRUc?m*A02?TdBu3w3sF&Ts2PnHzD}C>uMuCUaM6_$vYUC>2WNLsm z4**xBvhKM_uMzyOaDiZ;4QVtGn&e+A0L=d>9mpA3Vuo3wj!AEVb%hO0QW>xcs<^61 zt}5NXSOUYT02=|KP#U00sa=)2Q^F~JtrkUYcnN1D-E|3yygRgiA>5(85t$2E<}bql zM}RUEu$z(Lvh%5bUQk5>3IV1Ev<4XdrzJorASd^VCqNEXDbXL`abviW0BL~X0G$DS z0E1o2eV`0@h9m%q5*;Lghlc(KPwpMs2mh1~`U5BM0E?C?@;?y7B2iqUfZm7%Y{PjwVm^TIMZ0w2*5x|2FW4X*5aEzj8%Isp+V&;CLvkVgO?Ra1=b0TtH7it~?4J zN>9;0Y*XYWJiG?+(g> zzy|;y`d`KXi=$n81quQM%Buk8Q4szueT4w9sdP0;=2FbHOq8`jC@}yW3V^%7f8YQD zuQUmCy+ccdB|V5@4=_PEssWS%fd)|AUAfAYj(Pu;19ZP@Qbebu0H9YU0T=?f`zsf) zr3wgTK)@4F3WKh6yu$NOX>K0E{vsCHfTv3ThO;l;~Gfql_pj9TfPBRTxzn)h^0TsPcay zQ)r-uivLxf3g7|Nqfz*;+r5HpeFYii)D#6*rn$1m9l9&Xe~9}7SyCS09M$sxy8g6! zr5|MoDl7sC4k{e|fs8U83MF7gl(J%2xA1TQwE?`5e`Q>i4#A5=bpSxlKY#(2|2B`p z`VbFY3bar`07OA*3Je?tq9{+eavqc%AR++%jMDob2mttNIR(}L zYj5$wuOOfd{fDzFLyG|;48R#GwgkliBMe}xE4{A>yK)PlGynl*5CDSC6$F%#MWu0p z_?ME-*fCF-hwfKVvz&|SI9mF{AZ*Tv&{fIf%|5OGx%FvWjST(f{O z+~2Bzj{~hr{3%VJC64M3e-Ky!+0d1a*8)*K4H)sSzz1sZhw5~vKd(r;(j@8jwT=|{ zZ|Lz&=?lpo{HX$fRu#M^qd-r-P*$1x{N_(R6xn|mK;?>7kJP(~)MUUzS8W2`s!B(8 z4J^EL^ln+fgmha73feGDNdjfjL+_iIC;@;j|Hyuz4#!o;tbcJWK%QD$nYu63@d^2` z3azast!+GvBw>=oLKLX=BIy|$*B0>$QOYEAaRN8&rE)(Cy)5xGYqIa^DP2WlxaCAr zm00H&u*=^VF|QRRAKwHr`8#FLFw3k?mq|Lq)R%Y7*I&t{ag(!*awsT9hYp-sz61to zkO_TLuys!W9a@MwY-0d+_tYBkv&~n0R|54inBMD+wQK-k*e)gh$s2B=W}AjK#LI}Y zN4_DCR6&7e0jB4xQK7E$WkUC!yh!3^Gp7bTQeOYkF{W)-{|&dRCF>Kw&&@Oa$un(V zxIqMps7fl-c16Q!3-Sy-s)YBaCHYrs*{{mHp(li9rAOv|?DSd01m3F{6_Azcq9lR3#Dr9BOxs@nBa{~O^pHmjK2GzI@D2zFTGTr7 zGPS4fJw)aAsdD46+i?^94|MzA`ZvrG4&QePoaoOcn2y6#Y8nAP1T1SUNIf>-h~j{pSx@kSC7l%#;wgxqG1n^eX%d=Nu&N4?gV zY@UD?cER)p*hh6QUAh4Ebo7jZkT)#E!S$&H(3Z_RsOU7zUQ{q@#5`+zFp#i|`7G~& zT;(}msDsarFBr=ul#mkyiW_^8RI$?)%^Amqe-kS_Y{kELVcL+rIs@${2&BB8En=>a z1VoJo4y5*r

RYZ1z`xN9}l5XUhUgVA6h0C3r(w|BQt~Yvl>bZGMyOOsi3r^mUV{ zWMYJrj&fMAxi+tFg5CgV;_`MDmB5KyIv8ZB*7k204ww10OK|`_(vJ|`$M=)?bTEih zt#6{4rrkkFo@_6J( zpK>Ek8LjtqIUgeD7w5`IjFT)v)!!42R#4@vN50fh`Ke+x7w%m5vex__X$~fb> zt5MqFZlg%&MZ7JS+v5_u&!uB8!eWjDMmbG1!1EP91R!H32`i1k>G8zM3Kxy*SW+4q zYbpx6pWoYB3VL<2!}wCm57APHd<@pfYONgm%I4UjrdkOm`*D-ZL)CxYVHm_!cbjWO zHJ>d~_R$yoQD;h+N&e{KRoT(~ozo}5nuz6; z-CB?gD|j4}>RM7LrnFT$I?}Jh*1EI87S#rB7M(K4y)kX;=XeoUr8|?i7yP1=PO>ZF z?dVa>RqF!nrp`=BgF&5G0!>Tmz3ga-4XAX| zMWCn~fjt_*S096Wf0ia&sL{#5?jIfJ*1Y&)f;(a^=MdT;1W`5;2J4M8iZEw{@KhSS zIYCYr6T3QkBHPS_d2L}BKiDbzDKxkxu&-hqE%V zPar2{uvN9vO<+}F%f@vJ>%1RXW))T95q8lv&Ny5f!|qNYEp6u)f~*VEdM;0rIkw2N z!NCGso8A~m@DP0CB%1)VE}n-DQ$Gy#DkH;7i1isQ4e)htA`@AbpRn^S9QiOP(k3so zJ@d&o#yiv*0WV%HHJ!;+o<<}wnR{<3`^^Lle%DTJ+Z+A()+gFMI>T+pVb$t%m*4%F zG%bc6z1vQD2>&mcnOYB!?dnsD{+rs z0aNup-;1Eyb=sA!l2!;3uP%;**g-~htzZTAV!wqXYe4si>2sWSW*bpZ1ELZ96O(T8 z_=~+0ep2gFv#{W|HSkxh!h55(_t6zFfk<;SiRk8%gR$Q~b?b~cv4gDgJX3n3O=!_F z{aw4L?W{Q@5%RpF=LVEHi?0GXY@D>@os_Yh)Ik>4|4^OQHd*8~%=2?m5NbJJK;2*54qTq1r9Bodh?fwFU%)yuw|Q(BEyOw zD>_+hwD8yV|4XOGQLaSL8knSDjLIf@5FAMctF(!Du*FpfHbJv$6?;~ zEMhw@udh3(o9@yfK_58{J^e24x1F>uGb`1~QBb}frlG}K)^j7)`C}&_infD5oz-j% zP>l_$fEvdR1nSGVd{pm3Ib(DWQj{2fC~Z&hn2$d)%S@dw^6?jUjyOg4I(bRobW2Rr z@7$v|ARsGq?fpat#6t$koI1_+!NyR6>bV>C$_B!88M!>yj_LQ%&3LzQ8)~PeU!|BW z{rH*f7Q=8Q)bI&x5O0DC*?yA6?_gh^8MDUBIWekMv3jTpw+zb{dAoNZ$M5DJM#?Ogk3{(j;u+ih!RqaU&lup1 z1*W@=6b_Nnqj%q5ut`nzAmV9Oi7r4tv-T=*{Y-SAngg4f3Qo|z6-RXuk+trzpyY?= z79Q}oDHVp9#6LV7=JRJNR64EFJFV!AcHn|gW8@+1Q9SG8CCOi&uSeQTp7t2WtW|3r zuJ=&WEV~{*H$)VL(_`H}2y(%2?a<-2<5Ml(v8B_Bo%d9>+wT7nYiL+9s9z^nglE|Q zdTV=4n60(YUOfl0`QvR$UnK(^W~4t<9<{2uevx7+f#_erX-IV(5;%IlZO<@XJzp~9vb965emcV~RPTo^@I<~T z=HiCmVcMih*NY&gJg6{O?(u*__Nc$mJXc;6!MnBK6B@V1dNCZk@))G!jGukRwo$XR zQM0+$D7h~y&?mb&p_C`7gf}u9j@0WHlzNr)3|2hbQ2i1%yAf*=r-mzp&J}FhY?wl5aK|F|ljjf&r z2`$EIcfNyZo)vb*5ne#A-K=?0Y08M`6OMx|#L%}cBSxZ8k$H%zSlBLMQWjs4l755K zd~1sacHJ)Kat3kPGGVWL_v*T|PsD1-g^A6 zCoPk;@cHqyg*yS#aA9zC*8QTsy5orssQoIW-mZ6Ddt zy#BED@!>{#-4c#GGnL^4hg@@>;K}i$`{Kw=uI8kqg{aeg)%P3~)w3;fJTULc53i=` z5Aor|4o{3U`s@?@J-6r#np~|1j%fRdhdu1)E6W-31#*`4SjKGxUs+}rc>*YZ2|$D5 z#2#*t^^JJA6N%`r-(^6$_VR@l`3ewQPa!@dI;&|fI?hkl$@=7)RyQ1DYaOO!H;tJ} z;P0m0GdYT7Rv!~)eDyU>oWj_nIcr8reMCf87OF^%`jsE`SYs+ox+EsCRk0X?<-lXn zA5Fh}!jzInUN8)0?d)eUWYn8z?!ULUbT85}g80WW({i`*{@A9>$etF8a!PLp2Dqr5 zv)f`=GTVhWxqwNFWvdi8%jfk}gB$#vrr${>SqC`4DL|n|$f)vZr|^lc3Om`j!@d5Z z@TzQwGvEBVg$m5eDlMGR9`bJ)S>^Pd2gNBQab83OB(*wkkOxVpZkob!zf8P0g>^__ z2?GH>?$rZXKGwPoTnwiAm!9WnFoEcRpS$GKQOjg*?22lf|MA9m=I}3mox(Du&TkPB z8ewJ;&N}1T&BotU3{>nll`C^LdsC(}bZL$~knheXlg+yV@IQoTbkd}g9eo|p*^d!8 z_?a!%0j>sWhuC1tPZ}2oyc<~<(W(}Cf{6I_*(~Jg^K)C9q=jiCorRHpOY-b7JLd0X zLt53s#>a>Gl!=B@T3x&fUwGM|-#q+LZU#PajD9KJsVIn?meYHm$aTINpv^=%>+zvh z3Ej^)v4Nyiv2?X!=BG?eo9NkPi%Vu_>@+z-@A-j%p@?dJP+<4(EvToAjl8B~dd2V= zr60Uq5ls#LTCZu2)ANIMlnipIY;ojbA@x~*<>qKH0kKizTCqw)s&a0Eaj&#T0;5|)t({sDkPn^ZE-ReWeJ=IZ#`(;``XvfNgg1)X?_%`a zpFebAK$>{-1$ILgTk^eEj%DlLWqDn4KVY>wDwWL=*?G2z*Y&UWRJc$Wg-N|@y|ryP z8UG-s^ZZN33N@+s=2Dv0ickK06`4nstn)10Zi~k1?SeTDDBHY%ncDcPww}F3uwd&q zl3^`-FOI6}p;qxuEpf={%*tEHgF4v5VZT-I>k+lO$pwn-m!0g0wFp~a>YY)*K)^*k zdT42Wd{B!ogzOrBCpi!m7WEwO&bvqZdQ?F2bf07@r4ze>@RYlZ@o7b&+ZHDHypG;m zJ=vIX8@s+}z>SQkC)x%q#gNCqY*rm0%9ANC^~*M*8+<; zWZ(Iz9>26)uPEWj|D;uyr+woH$Y5W01nJ0}5E)Ec+sf#K@#URp%wnEu6O6m{m^^&I z10?n~#L<2m%87)k3Mv8Z!pX~SonX5FJ+ei-Fu!lvGe>dGGnzB45BtZlI?X zIcr;ho_f|qwPZ6_?uNya3=emlNzQc_Rz)_lKjv9`!g=`I%_@TB1GyCEsy(9MM^cwT z4BL4JesSJKQ&6Cc(WGjT&Bdwh`FK>XTW*u;MJ`jRQGSBD4r{{iK^=u5RspiF3gdCR z=XyHXGz;WPezm(c1laEypA*}jAKfT%njTJEL-B8m+p7# z9$nUJ$2*+8esd8o-$~cG`1S1elMc6nVRh*Egxck-K?riYN>1$;TkMJ2&a(ghWEj^v zc-^P@?sH%An`nvt&a6rze5o{1Rz+2nhwCkb;^{_{)sgLJX~l4e{7uu&>}s8XxR30< zn3wwImfjkPgzT=k3KY6o9q!^_o9~!C#!6?)$8s*w80~R9Z=51`fmjG^Ud(m<_C&U( z?IYE8*fQjCXWbr9(nkRcOjl#ScjQz;o`DmMqpM%G%idKYy2S`4c`2{<%jmw;=yXK=tj0H_XyKLX7y+h4O0k;>v z?FaWzx1iQx6f8ON_(&!UiIQ7});pF!=XNRP^-fn4f? zTL45az{6f?bbKlNWyWAdwFARYw1`nD&AfK*uBdHH2aCrOpJ?x!-TPbC>~;(Zat&Y3 zr?n~giq1v9AFsBI(H?I74X&iVPm_vd*~P6D>k{X(2;oNvUzsXBo}8_*`wV^7oAg5& zG_nUvLo~ zrsOfya($<7I_I++Nq|KoRJS6SKe_)FFF{|CsETYwelgDbsDLBCLW-lu+jV4eIIgSk zkwM7RNJ8~0QJv|YRW{%auqZA_z)TrKGD*gS&FD|6hZq=}krMLk)L#&y*!QQr(5Qqd zm$78eE&cuKy%H9GJc}JXCjOb(2U^5i{CC`};+$sb_UfGWGn=as_J)6X@7d?hK#AyD zY7*3C>&?fnO9z&s``4d*A0LXj(du2H%;GM;E&JPOPWywrk2H`&ze8FwICtG|ed%*% z(bTHA%qN5?G_b8=DW9^9enIiz<9WizfwM0iH5$TDp#>K1X)ZHg%AgiT^8bmV=raS| ziziQo>W1Ak8zdQ!kRnJ z@@*g@kIrNy{x(g!HyysDk!*RU;5-<|u|Pf;Z*MyNnoS0MlI(w4RHmwybp4|3-tD^y z1%N)YZbSY;`|(-GUg{w~*;DTv1B`SAU<2V7$ztM#P4o$-h<|rYw6tLodIyjV=Q7nA zMa?;djd2s-eG4;hE5V+&$c(#l-J8!gag!znTj+IrQzf4QfS$}HukNj7%N@d3c}TUg zVaLTDN?UZX+g$5=CEOzu!H)(T%%2}@xB{!eK=$CdOJN`B5~^YLo9g3W)_0X>35|~} zg{BOtpkEAn_sVcP>9GIx%ku~xN!NW_)11Eg0|M4p$07t{4I9(rPmC_y>}-->`gNLi znMJOJ^4WKQ=f~eSKGLCbAXYWYvB%zkq;KzxpOetxahNpbDuV6&Iy+i5mu%4uV5Yjf`z%enl+zg4@xXUGifDh=zfIJd^2 z3^~>_6fiq($cTBi@{!VC6l%K&QwNUP?d{)tkLJ#kCdpa_mcq zVT;9cm$6XOnF@nw4Sq{SwRYRn3D3~&vt?PtakL-7?}ORXhyH|mPcK&MzhQ+A=o1t+ z2^-XHuD!Qa^J?4e*b!`73#Q^Q)h90@AF5U|BZiy@Kn*J$wA^~EW!~LY!~iyn8Vf^# zIje;IScx#}V&AE&3=wA9!PJ7Tfso`W=2P$4CgiT+V$Qk|CpgS0a`B&e1fJu00=AI9 z^K@ypwZ?eW;LCov^;dpGHDRT2)IO=GaJb4~^uz7vdT$i;TsMt=3n z&`;~E?q&ZK<)7lx{|g(~@d8+%9nScGz*v8@V!dCznNv7^y1Dt9)x64ZqOeN|Mhw}4 zwi*^CA+qTE2(u5juz{K35VC16B-#(X_2cJiK70cpxdcX8lqV#RhaDC+oxn)>i+}fN z*`wB>?>1Y~eC3Wsk|5!S>>XgJozprAvEd3Q!AC!|IzU6Uj|#%jU8M!al{K2SrX&M? z=y!+X!%Ik${;asy$c4V!{gn+P@O#YC?lpu(%SCCH#p5ye63VU#f0Jis!z?_5GU2j*O$3G_PG6;+5p8SLCM)Ek=`a_V?3XtVEj18y^DsO+X+i1w=IQU7q2)#^{ z!+4(sS4dm6_HWv?2|BY?8hZcr>)gu24sgEkD+ zUVCzCCPp{lUexVZ6ZruP%=P_pB|?ZD5SK1@cE4Hgy~4guJHLBy`tUE zqgnZ!D}z74*#<>4>DsMyFpbqGJ|m+m9OYd?_2j~nj4%AQ*%!w@V@ehb3UkPH@fRH` zk0#FnqvfNhQ7-$l%I{&T_iW&Onw?fyf4mMj0}+T?odSQJQ2hCRJTJCNr@(-w*q-Yn zPYev6XtQyj<%nL!NU&PZOHoNyNGU1gCZxc1=J!^B|1&9;o#^@6^H?aG5-|BBg)DuN zP|p_OEFE7nsFTV=rg702Adx%C-9ki{HH1&P$F#C_i)bQBJ}GB7ob5Pn)RtZnnA)2c z3pY(16OXh7>KqBNX$cS)TR_`@^*!N_MPGg!PbH`)5)Ml-3%Bzsbo|?ge}CAIEu-p~ zkSPW7>uY4RHQW8&nsOCckg06bhb|9GPm7QXm|!4Zt)m*5*CDcqWC zX{7t6ZKS|lX5`47_|jr88(sXP4vojXlQ0(EDnT1pngikS>{6eLRmQEz5#k)_uLYG- zmTOg)Iz?K|bEnFWnq^d&(t~c{l;){)fX^=uP2BFupM#G*GJVuJKE5NLTE3fcu)1Nf z4&eB@RZ|*YD=&1suIjg$<{d5Jg}pFuG**$x$g;?(@bCDdub8ZLWHbV-Kc9`a`OfZ_ z<9oYZ+D2oTcqmHK+Kv%-S*$(6$;rn!l=P@~1pEiuv@YGw2qUxUwQR6*vUh!~bvCt8 zhy>R&n0y?L_n7$*#?3sYm8TzX4?7!>x!i8gH1=C8Tf-UOe8RIaIMzQ39BSBxQ#{G|#@^YT7W zPgi>~oG68rk8Bcu<1XZuE1&kocG)}>STQ0%+}iKl)jgkuczL&RK|01!BUQ8|X>9jm zHLYX0w4$AT?8O7fn>X&2e9C!WvQ5kI@)wy`W~%}Sc^V&c{HjOiY?KED;5 z2f!xsL4*dzCvcOxfcHDU;Qls_T60U}!SDrr)0@sim78dF*@F5doh$5V;%Qi+Kz`Z> zL>eq9;NOa!lR@qX^qW|9Le}3o;7y&tV1IPl?_I^FM2w?B-?bUni<{895VbB0oXpVm zjzX*l5h90O>JYA`RiST&lQGhdoj~6 zzBP3hs9N*1!PJi|wo<#xuKi}W?HM(?OOpQT?H@*r^kXK?9dK_J@DYc zznrqPIPwUo$&!}6mTEATYS7K<-!9{5bCK2bY`K-xi|B<3)FCn!Csit+AP&F2P7wB1 zvBjxtv066fI<&Cvml=QSf3d5k2n@_cnaP9@r_Pdqyf^Haf?*$@?IO`Z}@1#c$z;7}L~e+l=Iv(Te&-w5ZeP&>K@7Si;Q z8}9yyJjJACoX!JbV8LD34<;OvW0cpWq~PlmHWVilo9QS+qwnOkDcMld<~Bl!ZxLIg zCiCL)paaZfjxlEatRL>Y82J<{v=7;t@kr#8n@x^^-f85own5%4U@Jn{?b`*N(9v6< z8>04dyF*+GerG$V?=*QrFW_g}1ru`t{7^lQ%m9kY?57!AC4&a7A|D>J9RISX9_3`l_+TyWN>Q>eSp zdoI1bpu#@=%;r;FgvGZ={vEgFfwgNRC++#>kCNCfCjLw5b`fhqHtDW@M1GGDii%yS z7l;M}NRvC~Lc>4OcNoiS35 zM;rV;ADZ2jri)Vm z_qbS$B=FlslJ*RkrR}?-woWcv{HirmP7*9K_6?pQ&)ftMZ^|?78HuoF2MC}xm5iFq zecH1e+OIR1&|Cg~?6+8ZOt3fhsJlKnYc?Cs85NUn(GM&C;4GZ}9T7@73)w3G4pw=I zU4(mSkRlhtke}enS^mcsX;Z!{bbj{2j*9tv1|#4au{IkCqc*3oDj|(Z3~nu(oj9h8 zfXC0_ruW4mTbppd%~V75$)`x9-87=-LI)XJS!mf(rA@_}Mg`0m63I%phHb)Z5Q$sV z)`WHPlRMSj_u!@s-mbf61bn2X@6-}d>wb6WJ_qWrme>m%Bc;_6E=jon`ch zT_9D)8~T{Wgmf}!KFq8bPB&QguJ6U&pEqTb321w*JkDgJ>Qt5Sm<$MSuCU>J$ZP+) z2Ga7e9c;XF|K*ym$w><%zPdw(XOi<)FPvD3cd< ztO+nl1CC6yE%uO%xLJ}8arG)#Z!ryL7nxKFBvj9`9TU8AvKKA4h*_(E2=`a5tq=)5 z%5+5S#lfOt$_v5L0!qoR_e=Hd*3)K)1%O3n8=Dr0r#m!xU@dMWJ~fO(r;jp=t6ayj z-&)fr;DdWMSc#db-(evhm%ugwRKjf`zw`+xzv^P1-D^OqmCW^Jnn&9=6JKj@;07 z!=x4JqmwtNrDex-nFLK=FS{A{<;2!FiiFtd4fR3ghA9kv>vfkhmkH*hM#-C|1a7f9 zqpLg&T|}ByLV3e|ar7={^iJsNX(C0DXDUgnIOP;*)y;MOmyF_IhW>r)7j9DR!Xo)? z^7RKRH1r-^{JD)E%g;A+aO=ml_i#l)5E`<2o8ZUld# z_UfPm3-SQzUFcHH-f2qbRvU0jsx<<*7XqAnl$In^t(d|99ziNpz~vucl$xShj*{;|DYtH&Ih6{g8)C*FHl!c zfFCj7P$&pggzs>NJF9Q^w zXJcGxBK_MD>sH6!srX)W80Rm{GKbH_Z9z_MM<=7h!bPSut=2o(w0Qm-mU9g0?^rV~ z!3nZ=D|J}~EKVgQ zpD8VqHTWjE%_o=ygRbRq-S|>-`*s&>R-kCby_zUPkl(W}|7MpTCb%+83F&%VprpDp zZCw8M|ZOG{z-$?nzZ)2;l@?d6Y{7G)5; z7d#b6jZBB3ye7r|l5SPMEIE!c1A3PJr3}>765yU+qqM|c47%IFTRnjzob}iFQqfGp zZU}U>U%LqG(1Y~`W2@;JfSIytr;;juwWyV4>)l}A<<%*3lX|Qx39Jv5J}7Go`3Y|c zah51dBS&Z0ss^$HeJ`YYgtxaZav`Te-lo-3#0~e$$|}?>S^7u#dZX0!;O}A97U-f^ zB96ru93>VnYSO0#y`4-`8n)bRUeN;fCmBb7`cQ$E(e26w(4 zzJ8gG8=te8wppz*>gon?o>-TbWN7WR@|Hoqx48@0aE3D%&4ae`7rfQe&$!+-6gD?o z{h0gydOJQJ{{=XTogpnj`rjF&Q zSmn77Pa2C z7rjDeA?SP54IkiCvMg16IK;;fkRChcur)r{VK@*J8NY%J^=~Uu7+@@C7HodIUj*pz zSsgR%X{5BOM1l;v411b9W8Gbf=Vupj4Le)oj|Sb>92Zk>hlyj>8WdL#9*kXV2VAzE zLUXXccwEdEU$*WCC=~-9YdAZcuj9t7ku2af1ngJ^dScz~AbLVHUUhzRsy;xve@l4T zLJx35IR=8qugBhz04{tBKM)f$f;| z#ErmxPmSE&8`wEGmK}M`YPHSkCe7+~&ABu1vBU81-NwfX!Mg+8le@Kq@aAG?&l?(2 ziH?cs*+2llZRhh!^ZxWVZO$8v4VtIqq_40M?T37FF@lo$7U=YE`J)HNgK_F68@lql z#u00gQCO~vNl9glg9)=17C%4|^|5@uzS1~Cb9t>{t!fRaU*V3mx|KaWJqf+bs)~v+ z&Mq!VIXTtA!8h>n@w=Cu&vPcctMB+gpLnkZ?0dJa@9d0!{u~$@8oK1(48Ws`?aD_X zjE!Y@7}2u2lU@Ose1I&+caf5how4N(ni!U7g;!UwF0@b%M{pD=g;R@p>*=~j*umPA z;g&FO1GIvX?{jh}@5*i7@FWL1KYnwpxPkx~7{iy(G( z_PMrMSLY`Eo`Hd}3Y|KZaa{5<2N@{q=MAv^kDREmbYD(wEj(c zJgm}+3VD~+0S$BW!jE-zfXP_GI(853iUe}!TKf|Kw^CPC%}Ypli2mk9)2u!4Yd6=T zQ(0M=IA@UoD;TBqgLDw=z_>E;#>TVX4)wR>Ul0HkAd-p ztx+_6|J`lGuTE^CUHudyy+s#;l98}4u(2`g-Cy7685n$gg2G2u*{D?o2_wqd+r{o< zWB07?e_Lu}F-)s0i)0jDLiOR==n{LO=clTOGapvv(RcvS`o0wqIkV)+7^d0YJkvap1;TD+>-0TEyO|ZO@2>Xbsl|{Jh=e| z4a1l$)BPY$+z4rf%BS9IyB2m6D={Z!zRwe7($dn(N=t|KmU}gHbWRSPm%2sVak;p- ztQI??*Vot6T_x~WbX}*p3i*#JOoT_Tbc-rs_S>=SclK##gI)q%po7Mbe|Nre%ICGV z$Bc3z#QJfR3W$ywFQ%mQTfWhGgAPjzH{SlKN0WY8MTNS!_#2D#5tzE8SeKVX z)5fOU&}$jr&BH?pd4c7^g#7GA4S|>Q^mc!?(CJpvk*Xxn zlAd0Mq3^CFswIBxeHTW^eyHlKw_S9mP76A4k^_|J?j5mz>0Ls-jf+sUSJJ*b>2=?l z+8L`HSATu6slU8x{`)P6j_OI|+RvdE=gtaI4coh4588TrdtpC*{^LPmbZ<68U*7x4);P!( zB|GV+)NRC%MJBc=+QjYxz$jTh+fDTJ^a(I)h3>$FIo)5rBSi{qI@(m@=3}j3trmQh zNq56k!2GX1{;L1#RdLWP?(NkZ7sKi8b`l~EjO4QTkNM1uOI;}zNbOuVK6L4Q+W-7o zetQt^y54@5W%TT1KMD9@FW+s|d-iasRIT`v)ksk)qf>T{>5u_W3Vf=UA*p}C_sYR= z@uy)YSXfv~`zOFSWD3dpP%}ESFy5i$X0s{`-fpQ?Wk?~QV;D*J=ui;2gpF2OIGZn( zV-MSCeuP7qFxMYi4<= zk^u05RL&i32Iy+8BMLlLuU|_GxNrW5e=3EC9cD_zFB~A@ z6Y~zPJ}oor`mLtQP@}5HnFi=xm_@}7@=$~EqE#M+3w{-XC`lmh^RH&QsH>?Z4lknI zIK{|c$H2gVP3PBH%!ZuXv>T%nHYx-Xs1O_OjNt^p_~GGLA!4YIljSj2YTldNZ4WO0 z@ZrTY*kQagnivLy;qNQODzUt*J^dLj>}b%G%=lePCjJfJl($$nG1r#IAqNvKerypX z%e^T!Cwt5E%*=|DE*}cO*sC@+HY0agS{@{ZP&*qGr|?!k&jZpGQO2*%5&Mq36-cD_ ztWy`MF2uET^AN1~DqFy#s;sPx(`JmZ^>E5&s>Q1gkTMuic;40d>2gA5)>ks9sSJ^~bRuipaJ;i#q1UpEsEF8swQ%7z&@tMxH-hJ(^SbV8c?r zcs8(`dzK4^=cZlQpaKOQ)uEnY3#}ZN{rK ze0-W23FP|7$JJQwzrMtct!n$Ey;{vU{BGTLcNveh9+f!sp&q&8~&;VL5|8j9_o2MmAq zh;>-HkWa%{rCxER9+>{Yov#)hIBo9pTxZSL~wH6&3-nP?{4$|#ynV#$LrSrfk#&K}*w(ARycC*hHJevbeA<&MUTp5~}E7m&y7?)9>mUYwoqx^F)5_VED*Bw{cb);_NXEJTk~ zSRcClc?{7+`yKXzxtJ9zI8~mciegUqN5o)tR1}|9IZV6G;ywYhKJOU4V3w7QO(N$n z-<=pn_3GZjFzH(_s3ae}#e3U9QsvL})~L-Y{@E`<28O#VZO6afQqyDge*Ce4&~A2T zS{clV&6kS(wGJzbWyUf;IOp(7VCS+Mb@MrlbK1fISs~PX+3zD%xr)a{qkv(d`P?C6eRdK2gIsnpXqg6ji(zfXAV1?!#?m#3t?VlSgi8LA@=e$e|lj+}Shx*dEVW$ntI3b%KVEZ=oO$G8)YkMai>i6;#@G$QH)#ntkWCic86tY>*M(8oP3o zUAec5##{Hpb-~K|`hw3@=#ymk2n4fNKd6@0cHmaBCHq_UAu;k5421JfGYpI2=7@(W!hkV)6cY@N_6&jJTH@R%U&;RBs4c=0zW(HJ~_-qeMSGxJToqU?c5K zA})=RJHZl>6u%xMqp8a-h)mpmgErk@cRCdALKo8Wnv;r)3m+XF9YtOYxk!vC1%+3$ z(ax(U0lYuLHo!C5%~UsS$hat(G$b+Zy^w#<%n_b^*DqKP>6tC1sYw7tx`*8H?vbLCf8SEpcLklVwc-t9aNcd0F) z?)^PeWoujUJ)$?<1x)icHdfE^r`e@YhZLg_WsA!XEVWRgsMSJ+)5SoF=fn^n$~&b> z^tV0DO3`%dYshJ<$D;iM12CG13ht; z_~H2_=JF(i+t;!2k>5>W3EpgMvfyL1%@_*o?9HHYmWo0p<`h#POw%$lX1;gfH~i^E z2F!6xaaT&6V6fBvih}Rqq@`o?tXhD|D;+a4vsXvkv!2UIS~bqgvIRv&vU4U+76N0o zDg2Lu?qBYeXEY-J4_j{)Rb}_R4Wo#pbW2HtbW4M@bcu*aDj+GHN|%6igLH|2NFz#v zl$3OI+H_z|?9erbPz=1>Vz3#QosmP76N2@QwO7QUBC zil7}8be;TzkIa!vMiqKLM@HzAWyCaML(@~2co(NvF&6Z^1rMpW!ynwfT8j0z5NyB= z{dtf;qmYY6+pk^%b%PNHWunE$>p^5|GVjZsgR$poN}e+^@4L+P2tH9FqH&?Qd&LS-0P%K0w2u3bmIUKJgKnxhLHH-{#tAGa)1V zySh7aXf0LtlJxe)#f6aT7RBk=+4j2Y;QB$~$B%7I-e={WN4BI9asjPFI1{i_8y$10 zua@TQ7WeZE_wO99NYcI#&Eg8yVi#~a!g$p>WWlFb@5J(NZ?C|nDskBzQ8*Eg6|%SN zVs0v*)*t#>$X{sGq}6V=62tc3*4vzjR_%CNwCFA*nwJN|SA0+Gb}HqCEjbBz@$1rL ztv=(sG~n1IjB8cvB?L}b%fX=n^vKANAet~>!bJ)d;PSmV~`@O+Q$xcpnJEy46${U2FmN(NLIF?&a@Dyqf3*M{D$ua$yu2$^S zq_V!~s1i3!+0xB;*Ko?tpOeP$tsbLaF!9|Fxv$u`Ropj+vlXYRH>c08lwV>?Dbsd1 z@fVMo-{aI8$KmPuEab3wi;WmlXzQ}NVOKONHPxel9npl&N^g{M{?H%JYVpR}QdRKa`c>bVgAJ zcP`a!&jl~LcbV}dDKmb2T7!Lc9CZ~E78a&hl2E08)9uWN^YWl-O31s2#PE3%Hmga; zPh*FLwK3IW|BAUkpV`8p_J6nFQ=Ph?GjDSb%V_VB=xz=Qqo8MMf7y28yF|PpF^gLB zxIWlQTms&{7+SF9GuG?#N0B|oQogu=_0da`bA#Uei9y|Kltj+w8F5vL(i$bBh|(3# z*%b2lxwrGsB+iT>Hi@|F($$$alh4I38z+~#Rr$=MLm45e#7}p!`|xr1Jz~29+QUg6 zGN$@GeC(bf@98PhpZ0+6iSXPkrYKh z9ULB}d(w6i*>|!_=CFmmuv5h0wXY}-9n!OFHJs*DsX`0jin1uGM2l$yW8n%!7i{XMEg}|jgKkI#0YeEazfqx=JT@S z>THtT;G22yfZC={n^PecaLIOpP_h!r3CN4<)h1L9|F z8Sa0{;^N|zl|-^7x^lMCD6cN&Y!_nX?nBQnR>d0*YFyz%`2niKMZUkPxF1b4ZOF0t>_@^8 z?UY-O^EO;W$nV}YuAE@Z^Hwdsn=w6YU_JQ-9dIRWwawJ+1al_y^71^UfU64+5}z~G zyBvmD3o&i`AEy2`!z(xOc}9=lJYDB#%#-~6^YHreS3uEs?%at{h|}#`EKvJvvVPil zY`yFls6J)Vx;>l7k-iNzENJ(@)dk>`@D229BtQUlXLOBC^s}BG1^2*St;5o74#P&$ zM0TGgi2~`Y?~U$z<&Mj$=bLkv?8Iz(Tr4~&NGgeG#}Z|(^I!cbj}H^lJuX56+Sf6c zUNm6Ncvnae!bVBrfA#B2xQN}WR}UQ>E6w5yA0PcS8J^szO(Xd8FTnm|)7@`Z_G|PQ zq<7LScs-3bcZU=eaOpK~;eE?3DB9VNylFAoqAHO&5Denn0uUI7r}1GeTv%AQkr5E6 z@pP?Z{Hv$nzQ;vw<72=lcGO#)WwTbD3zHmJ*e9z-boh~3(MTMIl#wUS6rIM08xvjK z-O0MIau8+aZ!ejmpNr-`o1qWSOD9$B7@n=Bk|~0gW&+|y&)SztlP6ohb%Uu((>a9E z|68NuTvM`M4#kd25gwGD&~}sNlfC7^xw%Z-xhGlbG=hR8o`)OF&*A)-Hv6Hd7iq`- zGt7K`v{;2xzq@T$y;x!wjEAMEEgTJZEl~8%*cx0g9u~iq%aJlRz84c4%Ve%_s7(+d z6xAOZLz})`_iO?-X~fh64QlF|`S0C6Leq<7Po$|nM+niaZ2bGal!rupy_1CGN}_XK zI}<1L6A`QRa$)J~>)S7N+zF5lt>6eTCN0!vWqb1Z)|(^OH^J#5uC$z-cACFl3r$my zbB^!MT^_M}IZeO2l%fvQz;%ckBWX??+w?O`O;3;5*x0Bo(^R_!OlX_rpWot|B*)vKYpt6t0H1~7xmPJaI1Q#2t+k?iA z9uYWXq@}(4{29@sEUNT#b939g#GE}J=y^6eMbQ68YKDfj^%`12P%20K49nD+?az-L zrW@V0{)P2xN5{nYg@s`tcpmIGDJ!eB+}txDd9$M9!B@K_sTSgM;WsdHXciT7TPT`N z1rDtUTe)D(y88N5j;-PVPC&ZcY}Jc%D|9<#PpiP@xUWHXaMeq6fKE(|5=V3giHBEy zY!<2^JQ><#RB1Yu&@(JNrM1WYXg^~g(_-(OwD?V)5@MhrU=4et zd9ejl2oRRc9J3AGg-KF>{cW>pI|=QuZETvm{YE|Q{GTXJ&R_`ist<*Q7S?m!W<2x^ z4CulfpDqSb3Q{LOTpv(;qh`WM6$H#>%9aHj^3S(ko%8i-J7+DQ5-Vog{WSXpuTvzAy{TrMc&@t zj(%~G7b$dg!dv$yOem_;sfi2Qdnm95CoD=RN@)btEDb%qV=>D`cPfvsRQfg>zH&3( z_pq>0m_GzxFC2FlpH;d0Gh&R-ffqaSw0LPEuGn*4dn$|1!WGG5uns=SgRJ6WjBm&7oaGKna%Se{DnC4( z0W&Oc-@SA*4ZxN&QF0LSx8Uy-Z;;PY{{Yx$p^3B8VP$PChHX()Og4zgil?GdSe34S z=3bih7n3W8Rr=!W?3;Ocd8Y9mLB^NLx!IdT(o~Y(-mMSU<^S7h;nUXaht_?*`Yaz= z|2PRdtPU|aIXNkZH>WMJaBy_Ye)Zhls2nh94bdH&H!Jd=I4x1=j(%KwQ* zO;1k;2zRFZQKyX4Q094vU_}3jVXRZa1vl4I)6Y-P7X4-4>8)=`;)NE`_^AC zy#_i=(9->)Bp1KR=fWc{A)({kBVCor;?2?iiA5jtbqn%Kk7M(1@e<3JPGLtd1tTLP zBmhUG6clL*XCce(%<)QbiHW8I8Dhsh-_CosOG$A32L|quX3PF+8<}?r{y9t?^1wox zBax1mm-n7bm@z4EyNJ9!MFx$#zkbs^!1iYVttB#TttFLuiaxf`qU|JVvw_+pDR8dZR_w0Gyr&aN&r3hZEu(8)>$0+EuvC19{30j38tF|uhdU%beM zvkL{AAfb>NpCwNdJ)ZTjf;@{0Cs9O(iRF4zm>{^?8Xg^066Z!ohA}CEt356=Oc$uk z>oBdE(s=qboK8OS`}R@zWWqa?U!pPZI;ps&7)@8^>GA_+r6de8#${lH20v!!^Yybl8E!MqCpdx}L( z{iJ|9QOQQi1c&<%D6p5hqUp-@ONUjnL2%z0l&4mVQLXhVqVlZ%O~({otkE{|-9hve z)x>U7i&-0t^QvT7hPAP6ec7_mMRy$w1w?BNPtn`^J12{di2V_7EUiLE9<F=J-Q%Z{x*Txdb88jS9gC1qpl~qM)}}vBIW%qU z4rCM^B4@bRLU#Av5idgVLl;C_Kt3Q zONMFI)h#~Mez>Bu&`qe{3^6H|%e;8O_^a$Wr+&6u#+6jG38`GUn`a}Qu*P*4%SUBV zR1!UKqte`OQJpd33iQ~#>z5tK4J)^ z-CA;>421z8?Ogn#DjcMDa&*5wJqri(VUXv~f#Y$M>qnspzABzShwtRl9&t0Vk~=hk z%Z)A%B`I3rw|vRIbj|i&v;y8OSPW$XGoIU(k2H6FS1UJ5%%-QO*E+4@LvIu>i(1ZP zZfmKtbfUpKqI^Sh^9{}6FY$P#czaqRu}nut#|oECeL^B4#hBU?J3E)0>UM#mc$R|u zA*Z~+PLOj(>wq1jg$Z3Xn|5zsX+-0DG{VlfUX%Nzx4ZgBOwNMXav3ns9Nx*$BAfyb z50AyBb~_6TGaast(7;vbKef)f&h zg>eNhtbVmj zN+{tBm{{Y-Nn9*OPl#)5XQUrJdNhrycI)O1EG(>$dIvAJENltyeA2xagK5mP716Z+ zB&f_-feDv9E|UW@awYh|-~+AByY<{AiCZ3j;ap@7hK(IQVnX=*k`4|PzuyEO)kk8M zUUvT(xl%@S3hq1Hxy9-gEdjEQe6XT_EUc~D#-6`nR}5DXU2+P}8tt-BA>?K^B4u1K zS7MAs7+{D$28p4S&AP8cayg!j#uUPq&7Q%Y^M@U3Z6`Bm!L3IIbPQkq$v+Xjh9$!Z zpdD&dh*El#mTOHc?aq%^nA!_bIGj<&D=|Qqk+sSBdOu{YX&C!enPAos2KwSBiRs~7 zmHU%_Yv7f3XAjPakAyEp%w(JWSic)zh!YjAwv3DfiX9LXKefsn%l-~Q@Z>PFx*xB#=`ST~c_(c|1)ZUoE z@hG)Es3Cq!3i%;z=EB;!TX99ufx$HjzcjSv3?36-!4rM?V-tO;tB6C99&y0n6~bOq zNkKaEYNCdFEX>q+6Lm{?q%F>#AVuo&qGHio_=rz{?YR$bJ>~I z@$A9$EnIQSwT>xNPk=wLp%sW7IJ9$-7D~PK+5fNBEjP=q7V2B#8pN+{Zpu13@@}|z z8i=oQaB_B@9;|1LTFKflwcL0q?zmVQC1P9=ql|ZSf|_Lfy~C}E8w>f{9H-*sv&L?1 zTiY$Y133(h^D)6o!U%C+0f_>UfYV_CAc>5MZSGF0BM=i~bp96Dy5Pxpcq0d=H{ioq z_o@s70)HjV7HacYKgkR~sSH3-v!@6~RF+JiQ_JbT1Ym6}EG!7`R={=|El-n0Ki_I# ze0S>}FUT}8EQ?JUHLT_vw2&t(Fqc&3>$B@i;RjhEUWWMUqSO`yhf9kT@VBH}lc~-R zy-UoR@xkIxcM82JSE4~s_u|Y;Tq?e4gdQcm@W1_+nWoI1;UoHZXMNK}1gH#Z`NIdin+PPMwaT3A%nyc8wD5xS8MHr?Gbk)P&! zZ(GhoSV&kHF!Ok-GmV3canWw&A9VQ@Dwpb4VE~QGu30{Cbi1yRq>?oaj4@;8p^CY9gW{z5AMMJv7PsXV1dy_f zk7t7LiQRKj?NbLP8jLkeZD>a>6x3WE*plZbSC*} zKiT}x4a9stv&$ohlW*(7_uZvVZXqGk#JOl=QV^)J>g&lNw~}bqHxl@YnYoL@e?8=0}zarbO$XAs?zwqJ#j0OEa2 z{EO$d$6ih7=$c%lgkKJI?!9~;BLid!QTzOV7Mi=+XTdeLMSgaMpPn@Yff}v6qt#pV z-H7W0JOTvgz?aUhCR%v==y~n#dX2tfen=4kOFR~AP>EKE^h`d^?Fd)$@qvk~;`gz! zbRM3UG*NSJM*J^2QQ?Gwa)c1JS0{(;g+v#Alo2|4;UiiPF1m_K{%xHS z73N;NLp}}0*oE)D$e?Etiw&Eft8}KnX^V-D_Ekw0Forx;j7(1EWpCizo1apaK5cOy zM!P=fw$Dy3zpi`nPC@pYqmzXlqAnj8L%|5S^{BT)K26P8QjG@pZO@;SpJyJTR8nUj zKPq4*n6LcrkUrtU@(=uDsrPLXsY-JkCu?}M4Wdf(uj^#IiQ#zEOgWq#+Ia2t2_FAV zwX>bfJ1M55kdjzV74Y6#ow?Dr7 z_GYQEn!5CEmn0fazwcx{ReeXqbt~?-qI0Xeh|ivY zYz{%JyhjR#zRJdWE}*9uBf>=u-6JXduij^7N|;NV@+5cAuleZQq>DzAlapiAHV*q# zK)~~^hUTg7h#7;<(ltzeAs}3OQ_Z?tzFK2Eb{$p|Vf+7xzfW+w{nd~Yn_B!GEU%kr zhUeu^)SEZ>1Oyg$7FtP3NpUG{qf=7CpqN|FH9gxOK1D-K`?^RGF2|Hio6E?~e`v-R zWXvTbga!@n38^yekGQzO6@utOIJjr58s9DWt=!z)TCTpr5he6)a{ENZ8vjmJ{hGQY z-)Ti^5A--Ud!^eOKA8g>ZfUVS9FFPb;9cUVPJiGo^S`@e!T%?i^%0_wd-xC;n?mR< z>?;ky;H70{n~Be|pDp&Ef1SVxj~_Zmvs6^nrF}wucIQ3_W82%A8omUsB4d01{?Uia zU1c40_4Xp9p0M!n?GhRAd9$*z&~W;KgKX{!lk8CW-q5qUB3#*)`SVFu9yZUnRD{iA}%dF9kb5`S_b_!;Igj zb|m%pC4owcMAyU)?IwJ=$j3Hq#{(r!cnV1o>8|!-x?gJ?AX7`c=$XGeCXuP8=Kz5 z;pQ!)p{pEPgBJUsc6S#$fqMJu*T*_eyk%EY3k!=D8xO2jG~yzPSc-fnezUl7`D=0R z9c?Ukl2(G>vr$H463hfyd3jVs=MQe>KD_c2r9y0*uSc^Fg(!$GMiO9k1O*X-z{=`s zv|0ZMgiI>j_g-}US@c&@ORrj*@qZD+BF%&G+F6~|M4~@9D2NO4@=GO}gX>y+ePs~Y zjZ>D@k_7$@(L-XAxd8}}@4HfB1l~eb5iO@dhgO@ObX_gl+?@0u=!#jl6{7}L9kUQ( z@bU96l$13|bCCv&t+z8}dimiUDeAC zxAh!Vy^kY*EO&9v;HCQBj%FXi}1sLyL=95f2_A<3JJI)FfVO@Cp4JBOyjsK>_N+hYz{K zM_MtR^%{n5JuD8xrZ>^wnJkcv1>?Bx=qed%EI0E1_*7tJpsYW*G?f#gMfm)e`5&5^ zs8DgJ+UDm!tXS+@m|KAb5pzr3;CMRX&6yaKPFgBkF02>v^bgA-E|?~k_p(Y$BU~2K z&k*1WfJ}5|=2eafVW|m(O1GNi)8;~lR|AGu->ud!@16Xdo8v6}XQ-PS$o)(O6&FHc z#UOfMF|>a08zX5scxrp=;VwH8yq(h0JHC=gpx0$D^*RgBj8Bt=x6@h}nG;4LfBY(i zb;n&pzffK&hSv6%4sPg;)_0N2D;uvNArZ2ByhIb*tqveqG3m$tWEmD%sL^0sD$qj; z=B*?RQsmP2JyFsiDJ3Ng(5NFILYz}uEA*)!A#^}q4unVaH=p2NH#awX_MbQ0W$_>$ zeHD=;!4!{8WirV%LBvwOhTn!I%VAn!YtDFioKEnvObAc$ZCwVmPNcU8FO`>9%ih__ zi%%E{(NV=S)pnM{>?QZinFzyF5kiIRiAOnGHz8i@3G>U{73A9^nXYYKY&h81EhZI4 z5a;+}2pbdReRUljl<;=Hg#}}`uZCP$$W{6g;G$JjFSt#*Qgi|;Z(Xo&qnF82M-xa@ z`RUou@$17E=1^>MzmPwZDh+QTkeMuZhiWd)zs$~!>vsr!+e=$3tDCJ{<4xWoFwY{} zt<6VHiKLn)bgvj}d*|g1qbEk&sxd6I0)(%LD<8#V>GJHLnu_E<;~=STXh4*V$2OL` z0ZMt~si;KhUx`ZRcSWgPZ<5;#g#U5e6~(EUy3;U2<;btpakKq|{P&AteG$kh)-S?x zyr}n4^^OwFnsnb0%Fq&uL<-$J0kz1GZs!Ji(FXm6N=l`f@4j6Y=kI+ z`d+lo&(l=J&n|g^Dh)m_Pcj<^3adxNT~g8z_d8bf_)?D_Cw|yAy2I9Ek zNoGXjMWgLV<@%nK)#2E%XOdw`fZ3C{vb*NUaQyAENA%;91UCKro4!aXDJk~9yYTi8 z4ni-zfWM4a+uU{87{8IMe6BT-(1U$`My+qzPsrVT*VxFdElTYhDc-(ER3~y`4}2T3P4437nCH$IcKI)cy_||Gc^azd2^7TiL zafMgH*SH8RE0><7yoeUFGCcQg8?&jeJS@gJ0g4_M6A@d_TVqnQRKDZ(J#)PpQCTOV zcS}MeV`EFeCj6%KJ50Gq%b}rZKYkn@`6SBzdmiWX@umpe*J9a6=-?W=NH z(D+Q-o`uhZzysAEi9a#+7u}`I(2%=S{F2Ywp^4kNDsN`2)`#osV7@w8NwM%)j z_@38_e$*@O>`@~zzD%Po6X3@3Kc`^NnALb|6TgT+?0`5P5l7fUHG(4x8wDYAJ+KI> zOEt5~AD;Nr;ThapD6uWc%(kT$(ysuC&}`pEbU8i)1fZ{Ckj4s>g(o4^9?gl;-g54yIyA~dGkEQ$9eHe_z4 zZM@Ng=CV5~KyG(dNvB-Gke(QGyIqYkY6rThqrvdQg&iSWj29phdBkn7aAC8)sC@Esac5WXSM??C?c1VBI@$6uhW8ZL zY48g0`R7~h=4>8bxQn#lIZVaEn-y{80F0rSjsMPw3oW%TC^{NX3cr0%)PREo23$m% zZxA4Y(G9%R<_z6Nt0@na9SzUESPWI$h#Xx?#KQXS(g|8){RoSFpIPdsid^_RM=($c z#os#TX82!=3U`~^F1Gy-LuDKlNN+0)-RCaR!zt*A(ye^HFOb8dqo>F0ArPlp@K9A1 zTPV`M-2{(8ivm^8`i4-N4j+@jSx22WbxB9Zm!5T9-R7ER)&g%;FQ|+WMIt# zIdgXA*GrJKu_^t~R?3WrT`2N0Sov4zR}oB&q=EwGMazKpwPwUdePh@tQ^6Jo!;!t1x0s=mj>B#)nLLV6qAWrDOcqCdYa zMck;|Tu8b{oSLUMJ5c4>VoF29l(em^SYfefQ~H_YvXKxW-p$QTznUza%0jo1xBqxz z?ET(v7zRS%7k5{QkNhGzJ+SaeDx)Ib>FRI+L%7^PSC^!U${oPEjEav8H_1dUcZ`|X zbaDEUmF!_L8{drk#TLke>r>~rY%*G`L$84zG`21aK*AyvJT_?n=JU=PNL*#g5zZw% zSsFbnoI%&lM-mGUkzu-wsP|xVhF80#80-Wo&Rn(2VVgbl{j>c zkDGz|@vC8@f;sDPw%T$%!evE87R>#-5n8gOXf|8Z#;92~q6)k)`e zw}X!i;95kZHRZ)0+-up5S0(>-5=ax>kWqDnz`_?*;lPal|wq&pnIvUdZFLybbyhgm5mJ`DR|D_yJr_Lf0KQa z)r_s&;|VK#M@(*l@imSy$^W74k`FjRf>q08>KqJMSP%rw(hy`B97sq=5D<8&1c|Ft zYk&#+fp@=oR1y)Fq)wjW%VeM4_CB8R+_Y$%e{Zd-ZEntRXG(L}CJ!>fMEa!y_JqNvBCma7S z={$(Kh`|Ivdct0e!e44CE4AWe@?gHBCBy5t`MP8*5t_7zMI=JqWYSU;Mp43W-Z{Bh zJHz7BuMNR!z&MaYlaaU>TXpK{@4t-%;#C;c>8gWMpooBjU+aBV%^Z63?MqiP;|tRX^&(~?zog`! z6d+E7h!{-_@_mDY+06Al^e>*q6o~DhM;MXbhWVR^aFIcwg%kKleW`-TNRWu&P|8P| zA9*4|dV9Q~66geB1eID+!;IVZd$Kzu6fu3F`V}T9LqkI{Wiz03f@Ry>EQN)GLr01g z=JOMVl#QzN2PY?4^|J-a6x;K|tSu~eIHZ)xom}v4MVIsFyf10x6~Vv@-6<3^C8_#q zFZ3=Uff(t%Og>1W#U&*-kPuDBTgw2DyFx%`lb9@QJk@eNvE%s=l!AUGUM8#AMt9SA z=9t3cpk?>*O&3sOzi+zuFS`%o!~F}0-SGJH4I{%Ma`<)=n&I56g#S>9-?4G>WK98S zmbys4*Iz>Chj-C#b(mS59d1G~BXrJ*&&Y@b(f|+=v_HN5J_n%o(plJz|E$q5ULQF5 zJ5k$ZLx|07*@$V4J_d2Thf)e}H3LQc_KjM#Kx@RHU>AB2=npv!4R^ED6-KH*^ZY*U zuBPZskH;Vrv%el4qY0soEdnjmr@H3Wg8h9CuPtJBEqEEwt3X8z7_=ZfILRJd5gm9m z^w;$;j3CSY{^h?wo|vLDS`EqVx6}a1LQnUG6h>gojU}D)23nvrDH&Pw_wPtIeczht zv;qx{jKqen8{Q zCx1E(-cu}ZgDkjW_Tu@rD1PYo^@Hr18rP2zYQ;95UkxFm_Wea=s3Ae#d*1PK;X6+S ze@hqSO^IBW1iug|C_zqc2Pc|ce>N>@=W(mVB9}n4Lq!^|dPM^Il8gg*@}CzRnzn<<4SX0QfH4~E7TY-ZPx z#TQYExX=LEc0y{0qJV@{pqlPCuuQ<9)t8vA&fM!}E0}kpA}}LH)p+5+q|YJ3P$a`{ zP>TyXZ7#otg91od1Izw1wh$Z&SxHuR1tp7{k1qf^bL*eiiabN}(e2l{0sv&EnEwG+ zG-H`DWwC}5G`3g72-Fo35fO_Y;j`F=K8V?~-apa&84So|nA_N$%~BmncU1Vyh$snq z6(+LN1ED6QFFJBjAw~x>1n|0oVf5fuUwa|8)oFns;|~2>BErI8ozYKR4%O*zOlgID zUNjSa@*k&?Zd8`d8GH~)@+>(_hStK?_BN9BOg+(q2XH-m4&)&~ehalFD;6_F?YuD{ zp`l>ogAbYUM5Sz)I;B3s|8wBMEh>strGMwEAx@RPSSiYnrQPp;UN^(f`avXmTpR*K z1t~;J4*p*jAUJq%bTklzC3^~{?n9DZ&80sDnA~*4r_tuY;@8#}BN=3P>>6x6*^P}9|AC@& zU2KTeKt~Xz!ZG6^(`F@d5~kGD(gK4Ah8F11`?rr;SDjkmDYuWHdPR!;G@=)Ghr$f1 z{m+>hc1yi>@Lz$x;bQg-)5H#4>%SX(pr2#uL$9?+|KrzkJ9u(~Zq4^XW%|-ZNWj8zpk!Ovb?cxHTXu&u z7b4K*B@X(sWS*u}*%%!Q%c`elJIwzO6D8UUVI}sUG|Y(Wy2p5247&k59A1@ypeyKg zvht}>FPqu;5s!((rW7o#%DsFoQrzNJ_ zL=}aKjEoF}GLQz72H?p@e#eYwLQiD+g82Tm`Xv+v%O$B*}LAa-{mr-kr>06Tc$zyn^zyh{TfMqoZ0 z7xWU)`k|-gKmwE_@zK8{AB!yPfi2eW$e6=Li`S76DO|1lT8KS>A&Y7?pg0go07g(kX0S}ZiuKc&j4Z>CRVR#M zdfBH)ImUOsTinl4%JYLC&7uHEwrUog^VWr3ZokRM>3t^4;$bLj&cdp;VDD!AOKU$W zZqu=1!yisN9CaWopd=~2RFy5#O9*)BLJYA-^7N1Y+Xx4UjnMAc5Ka@TNDx6~v*&rf z+liPJ1@ogjmI)8*wybyc=^l2M*^4l_Or*cIg0l~PhUSM4^@hU4LjlYRY`R8%3dLvD zaK-p}TwQ0;&gvl!l3}v4%b3LA*xZw$IgYH@&5`e3dD9R)D zHalImTC(|RAF2&9y>4>f3-qWSIimY<>8@^kdpvqz&@$-ks8r(O40V_s}DVlo8>d^ zdw-1~La(5zs)`nh?+>cL?(XIy#eyGoW&I$C&e`)qjKzGO%+7(b82(NLGCa9>_th z>0ClQCZyvQTpGS5wg{5VNp;+G3>$@w?Zx&qb4zvFbW}7{QY>p#ERMQP=pCdz&6b>a|elSf3M)t#k;r7j=LyxcE z5)&vbH;g^>-)=g?hOKn;vEG3~koXq3@qqB4f*Wy>!Y~52K-60QeCU~@fxYRg#zsTV z+qZ8clrpd*A!=~A%|!4up&g=6oW9Zyv zdo}|6T)fN(Unn|2@sL)t2cJ~mDHDGzOgD87xy$XhIN#hGi24%K5C`~a4TmiQEBPgj zj>sHjpBd>jTtx(FqtQT%1zYzgu&z>FO#kM$BO}@?2Oi9X80Bo3$;twZda(>DOa5%q zS-3FophskL-dj|ZEu~ z$<|i}KFWV+sP?a)=AbW$56@oqV5yj4Pv-?E-desd_&ed6kYM80Gqp?cXwj2n2FfX{(J8V%!v1HGM7Qy^=C*XXKZW?`Mo&# z*Z&$!oHDB@C=Qwh+?hm=?|ifu z1wF&m->Fph{@bfG#XQ}TEcj7prb+DicC>7}SI{A!hw3kN%fETMFKtoCcEj2Aa$7sb zG{&??nC@5UkF>$f>iOM7E9?6-Psp@ z%E`cPuF6sFkmM>ZKP@+snwC#%n6U-r7bZqP<+QP}S=ro7kCUo&jV<2I6vRb?Re{TI zLYzHaFZV7Cqadn!P@-8;L`&fKvVitU*#}In|0)T6lQPlowQ|>GNU^n^tWrl%h3>fR zcCX%zm^I&<_opKU&=M_^{kK0oe6-{-9b~7r==$4lKLRB1rK$?dwwFruti)tW+F^Tf z;|+8qI2=4Qtsn9w(f?cZBtxF~%$!zC2{Ncmp0Zwi9@_cUc5{)vy~-Myc3yn-ggm46 z&A#e|cO>4}dLWJ?&Z{yKJMZbxQ%9FU{PxcqdTs8Snwrx-b}V%LIj^#}3S?AJ&DcI@ zejb08?z`sv00xMdf2CdP6EyiX$`|K#nliMDIfKZ)NH9Li#6W%#t0peROo)HrJ@Cx= z9tAu|CN@v|9)ha88J`Oc!gNt&)u?Wuv0uRD6FCVCUOEvp*RFmDwK?>Np6Z3(my6OEEekt(NbPXNfiV~9tvU4>vIw8G zk)rKVy3lwFKH*lG;6p~+RO$g!$m2EGWIyEvi4{r;2*$PXg)19$@bMJ0+t9VEHGE|q zoyTh#F)@E=f%w8Q^uG`HA_MW^fcDfoE@p$vOC2sZ_kRRLZOvjoJhS10_Lrr+f-sGw z#H1U9V%~=5m;Ts_^au$yQ-V55>`-sIdM_f8xnP(~5O0|`zK+4FH?_1i2PfBb^(L~D ze*Nh6NCr&^8M~H#<4!F6Ej9gI_%juzsBn`YNK1*?JflwC=ylWYmR*<(Q=TXG`MY8# z4cbeQhw6W^z(ZVd0fCy@i+)YT5i>|Ny(D~nyN7tS+|7sQ?|^FaMhxMKvs3tgW&m#6 zcuLVV<%i=a$j`5$bZt!GVh785H`P13l(Ut)zFh2ry9~}po>&f@zy&lRME7-RAnRod z87h@HLVW&syyfA*FJ@%FIMmvQP>Pt@N9dRyVaCTu(_e?@(EN^hlUchc(|L&yWS;I* zA19<9>gvee@(r%Y zqwB^WXn-RQm)pSvF_ajwxB&Ad}Skb_!FxQV##4>K#$M7}fXYPu*@l zy-h&V`|#z8)6n|ilcNmhptH{d^_*L4TfF;qV)XR5F-R{I2yWjsxqBC_LlXZ578PIO zU-yr7R@-OU24Qyu^d_HbcAtyCdcbY8T|BA7Fq(7qMnZ!3em^^_b=lrtt7k$CiTzLY z$GymO+^RLo_UAaQjaQZ-3Vhyoi)25q#COXHl(bC#;i&expXprknx)He(cx)civb$C zrZn2U7v%Y@N@C|bvw8Hff3FkBfiL}Say4!7it9b zF%yp?K3NKTBjZu|WXC_AP2pmYG4~XiJGuAcW7r<(f5XxvQCm+tVrWUivgcpxclT9j z=`5H}8{UKuSq4V&;|xau-}yV!uqg?W+LK4nvgg{1u9<$r% z25ve(I3JzqVdijpwo?z@c0;jIP0@(!j(uvcs92q@V?AUIYXkSZBcgii0O*h?}PCj z4{H(%rs$t&@-Z^mEVP643kqTO^ol|;^yI@sQmlEg%9a-7^fBbb{FEsh0z@S`?F;G^ zPjn1aF%6^cL`{WF*|cwdF{w~6!k1Qfk1rj95?}XXt?6lr#wd2{=n4|t>A+t_E=G`# zxCjwHG@#-`&D+tH<}KVPiK*s6f~EYvP|y~i5;|u0qG`O)Nt^nJF=lt@cvMqT$eNj| zBbutxZdbW95M9PC9kO9|gL%g5Xs&Pc&iPL2=Iew&+{dD_8eO{+g{+PQp)!_MQRKoI zpVomQF767!#OCkcq-T7q2Ocb(oT&4l%LP5AOA*NqkmfGFKYi?d=stl>w1Hi5HG%DO zl=8qa8^%^1d3%fbO47V~{urL+r8HcES;o?iFS33ix|5#gNSqyj+kz!=_3$8#vSIo7 z@`@3$?Ub>#_=%`GI_aF8I=NyVYZej0*h<@y1N1m7J2A(G84$ic6tlkUPvbs!d+Mjr z(Lp=%%WWXAsO~{oJvIymQ=OGQxTmBux*E1;Oj(1LnZf6c?{A3 zT>M-n;^Lu^5i>V) z)^UQIGKsb@bHj7-)Ybc1_1IsLjeSnE8(3Ohbac#N9u+){)*aS4uK?y8qU9F@p_48) z*b+_O4h<>-a+&W1++sl#F=LOU&y}BlJ$imcICFvCYFrG_A2(4|p#L0+J?i}RJ%12W zcCs1}Or?ugBEt}#@pkYy%h#*um5&^2Q8D`&l(;Y z;-Q48teUK)Is*<^W2BXp6`E*;USXtFVOSF~3M`GMo7{g=Se^wp`Jzd9HU=ink@7-y z0wM@;2liJFCiClefpF0tSCr^PNA!|uKHP*o+xVbl z>I6PrlngCI=#q)EKm9+ZzB``k_x(SWiZU{iQBpS9n<$~|#36g{y(y!Ty%Mr1a&U;O zY(ntz$>%Q;nzOLu>d_J$qcWs^}s>g!1f_P%Fu80=;ea77sx*R)YK|z~|_Kde2Y3`^R>IIHG_2DIS*Nr_y>Iy8_1!H>VGnTpsC=E^v=Y2E5 znK0jZX)sTsVc+RY!Eiv+>>Kfq!zsd~U$qme=~1cuETrgv?|)mkP6ckF+Kw6t1;Nw?`GLxb&=z!=d36y22J&X~LjT*Cq;|RCY z4r7$cC73&X|2rcRs=iFZEbrYHRuWQ8F;|zw?FX=YAK~8Wifhf0D=sR!K63kgmelG( zl7aC`Lv{~0DVku#cD9+)5Sb%!*DuJiP%X97v~UwXoftp0XTyYL z%$YCXl(V<#jDijeVeL)B(IY4AjIy#g_$7Jy(2o{d?TJ~?Z@;A-YE#samm#L0>m4vB z%RYwrPW+goP;B=T&v9M?gc3n3qa~)E4epAHU5RfpyZo{q(>kc@GkeObu!)t*{_m~6 z-@c@*c6Xag^lCbtS!D-1F@|)9XS*p}Lopu00UwN;?-~->%dLICr;lu&j9x9#cD$T7 zyJRyCVeeI@Z((jM%94$|Nk-dI+VQ8^N6&PqN2Bt zY31^yz^R2>D|BLz^bU!PT3Wawt=p0MCQD~w*|R!GM%toNEa&{5`*!G-q%kuo@cWCp z=89?Bvyo%A&*Fwp6ha{%wh$Ep0hhJi>RrT{%Du(RkFyKqo%x1MPe^|LE=rj>%P1mT*C0UpBS@ZKdON%+sT-hD?T5}8`$Dk+~O zrASKz@^BM<-sd4Zze~-BBs>S0JJ}f|Rww)pvGPjzZ%zIKWhHw6dH5CysDPT@9%_H#dG% zxU!$=y0@D+{jsXCORaq7sC+5+PzI5xYZHKC3jV-MCi)25UBPBlQ<^KCn}_I6z?aUK zoq!0zDT|2^w}b0cB(waf$7@22P;n&_DO^-YOiJdYjef6bLn9_O+5NQuEP{4^j|b;2 zQHi*9Kf&_78W*$)J(8(ylU0k>eHshV*QO70qqT<`vzSgj0$Q611WM8GEnWr>_FSfU z6I;7$Er>0CDdHXpcB`z&(aNqxR!yUS!<5>B5myVO82c->-fhq;`AD!8lnRXskl-1u zPE-L~7W=XibWOSz38A}}!P1Eql3>CmxsYRZYVs}{B_4A{sqd9QlY&i{Hf9@(W8#UH zyFSWF`nj>ii=@f5b$E&Hj}JvQ+qnVJr4-e9@Bj<8z_cHw&9}Mun$P+uQ~}U*b1QzA z=Ohz5dkIf^Fg6$Wu7#4YSR#LR+=2Ay@z)(38j1IQSsO(Buo@S#i<4q>D7ih_>-`DN z*?}-bSxd_*vm@`zm$%~;uIDfd-uMIymdM`~#T1eY9O-|6 zzB6NBsf$!i>zdwB);%1`};|z?PAS%WCW<_uLVcQ(MzX4 zWej?aLP4t(a8lr+$F%tZq_^Ut%cTOt4}Q2?C(a>g+zT)L_oFFz%5j3q@yN}JNlMK) zkUL^5kB}X4;F10bI6*JL$YEk@=@m5FK?8}buJ-DIC@-$Udd<+t=nXi@LkGDCIAXA`tgykH{TcQW6si`B~Vw|g41 zZNnpbO}r~NvwLjI7wAC%VCu=LJ=D_Gg>Iy@l~5u{_S{h?rgkl#sr>j+UkQGEUIOHE z(8foW>@^tVFNhr)-*rd(e=*}}U0dVu^z;O>3EbeAI4cGNm+aZnU;O*km^WELPYJ{- zU76P32oC&$G*S|Q*jX8U1QMc;hcQ`F7u}|P$sVUa^`kDVpVouQBN#OUJhJW(d)zSH!*pW#^qA|@I zj#sISKiyVx%3B{nu9H+{AF}+Zk0%s3Opw%pK{4!k^)AwrFIVvnh40j zJ4!uz#Kg+_9ldEh-kv5WJo)n{Z9I~bkFOC>d~ym3F1p8Fs<$Kb?CfG^?uP_DC9{c< zoWBnh7unuEH444_<6hJ5DL*FH%FnDL*{gI>?LW9q4lhH_?IfZ-WDc$%eLSE90SSj+ z7}}+RiG}6dhqSbMJ1j{?5&+I)kB*LVaFpYsGvoqVt>zB5`V?_|=fCdJq%TyyaCm2Q zTLDpaF{O!F9~Sga9$C7~F_#Z{68P`;j_FrEuguB{RAB~2zVGyBr$1@VQzvbHIyo3V zz|F@erK1C&=I-lWU*ESlO2ov(pPn)SiVgPiPEJuREz)OSeS4iNXZ&?D zi8?htApt6zO)uTfuaZ4aao)3UPrJ0xb^Y5MbN);zp(qFbh{yeQvAsOt=lYmAI<=^X zB&Ew#KrT8a=A0e)dDVwI!@h^h0{gNux&-rQ#Xokx#;zFDBT2ca%Gy?IftZtrvy6$e z;_b9@11fIUsl&T_Zg8vIkB~`6)<==EDBF}IfHVw_REA;--_f(C#ztrkeEjf1Pp7`W zK^*L_iJ|NBAWumK`N5k*Mlvv|l`F3j{^*}@7eMaIloy)){yF*eOFiQ$-@Yjby=(co zRV)w6M8C_7aOlC285lvG$@eTvi98GpfPVe}90Z^x5x05E(W{{hX$~X`yPakA)E+Zc zl6!K#yeg804P4YZ;qnuN|2{{1T~t!E+WxPFgw$+y8%X<=Lv;`c-?lj}txz2$CD_z` zO}r#Gkw}ms#co<`b*U!q?(RAQOn2FDnT-eXeWX9wY+sD)tLv^(%}UE_KDg`$EEpBDuo~g zkOfLK3)c7eIv&pbYn%k&*^tV(JYEqqGc%*Ei~h7E1iO2AqKfh*m>0FI;VJ^v2QC<( z9YX|yXzv%cI~=qLjc?d{cwK?LSlOt;eH5d&5@qT)>bkjr2$?K7Ni8QlclUi_GWl~Z zR)x(zv&t0mE0I9sV;Pcx!z}XWUDeEDQIPL+m9X?U|GABvDpi;pK(}}Xb91)5ql5GY zpp-M1_;sZt?kOS~;)|2EDcBr?`ApYyOpER9M7vsy9gwB*IBQoT82$dVQHCSms~-b=%08!|H^8GSUi9wDwT21(*@ObPfkI~ zY_+x1!U=(p&z7RTaf1#_-&BX>v@H~($Z1+Fhurj*ZdK&rKmA3J#z;mjMh63XZk>^q zc%b6PcqTzIgV8mp_x|gww+UZqMng(|;ay=E&KFF1Es{}*^@dQ_-La}z5xEO*Ps&=z zwS8P+@na*D%1YJn)h&uphpk^q_%}tGVXDdWVN6U+6F4F5@4%>HfgHvlacGkRB@j3{ zFQiyZV*b=heycG}x$7}_$IBz#zFpCKbsX8uUz}Pl4Sl9eWp$k&3inN;NHes5%A~Dx z1S!(cq~RP1Tv5@~0J2pb?Y%PAdQm(S#o@fSrVk3YZ)11@nOs44&xH_$a| z_5w4_eSa=yVR5lM=dKT#W}pz5YfoFIp7FpBUFE&<#quG6&7+x(WOnS_+=bc2)?rfn zkdOvxdS3Tw$d~?H|58l2Q88|NV%3_m$GoDf7itbLP#GW`$=)aKa2McB@cV)V1t9U} zU|2BcK#qYWKmlOC^{a>digI}_w6;N2T{acZ$UQHyAas6gVZ}q3&q>=QARb>Ymn3~( zS-_f`KqB(vc_w*POnky*PnVSI0sGT!-4Uvp#$?g8J{R48m!YrUyvgTL2~%aDQPu%= zy0$X0iwg_W#X~wEoLovh_mW-J-U|~C@4k-5m#ik)wW2U+I#3V^8~)6?KcRDk!-B#KKr=Wc7d@8r>jvkW&w2-bgP^vx!|<^4Zgpnm1x9JksQnfU9TTr$6N~&3839 zrUD^5sWUnQ*K6r7~JgRK`IO1&upkp^~)+T9}*D z5CvWrEpfjYD!k-3T+Q}4OjvL!ng;uNio?~wt|N4kf`1UR7(FSbyoA^|PcO$5B+hE0 z!1O@mCK_6?NZ%~@N|;nRl~Lqyx$pwD<@3%cq`Ajt!lXnW58Mu0GAiIp_3=rwop4Im zM|;KNTf&2`Gmhk!mFksMh5WU?zvHe^6cnYrCXM+4OnUUD%<0DSgF2CQt+$Y!^Q@G{ zSvbAK6gFVV`>?4^CGDKZ?wF(B2o?fCcl`=*jnu&!*sCT5z7<4$Ssn`Bj2VxmGqCp4 z_Oy7~X`jwf7e{Y+b&F=#P_K>VKQn%jf+^~W0EMv#SfmVDYgV?VayJZ-=p9piEypYL z4eW`*ABx|p@^2L&tZfCECEgA21qlEk^BtWmSetQq$di2XU-2sWn36>K+)g-TT5m)f5gh zA~^4M zVl)wc!89R$jPm}sZG$jtpRd0|iuU&M>ZMtXP-}CW%`qKxtX9>XyVGPENmlvqgZbr7 z5Qd+;xX7Lodr0V9O{VK{^|3BDU}Z*`FH`?33FdR;$Z^ses!3e6UgXY<#eM&Ep=I#o zOpV9qkXh4v&rHcvWrA~9KX1%9w3fI)wM6iA2?`Ij(y&~@@YAn85A(v~z2y7n&VPW4 z!*S{x7NkY;aookGT{mq?r!V9T?h{-Qdb`?#e5evO`V0yIfze2OC5Ctt>eMrQ+L5w| zGBusGe_KfjU{OVpp<3Cz4)1{0$FxMCa*Tqf?up_668d8>;;V37YbDxKQVj+-G{52LQBmzg|#S*hh;`OBBkAi4RV2I{U?PB+RA>qJgQ z0qQ*Ty{trzR!dtQuNVUKE_Vsk<%JL&Z`~_$6?I#t*tNZ>hdy8vQE(LRKbeg_`Z!>0 zhG|*!xWr|75U#3HiHX@y$re~8DaK4IE;%$jo{ zgP)u0`SAnuxm+stABbN(Vhdfhxgo&Mz^uQvuVl8+Hrq29v#DA*Y8SxVSyJHoh%-9| z-5RV55hL#J-N`7ijsIqUfA%w==-H@Nkix^H6kt!zxKy}&Y)K7MBr%+WKxWIAW2 zkO?+mquSMd+}_n?3WYIaP#wSmgdQVMq^+0h~9N3Dimr!qnk za=n~SddL~$f%PY!avgL;l1S1};rES?ckJzzPCr3L>I9a5m>GMVf4;k)a%!lCeHPD$ z6ivQ6q4oXl3+A=MpXC6q{>=jiX)I0)Zyf#Rb<7Rafbkj$eAeZ+B$B9+kc9mxFur^S zI*op>Wx3*hg53EGB!m9o!QCzZEJ&q^7pwP@!J%bjWCWA0bw0>dp3N<%`I@)NlRk6g zr1r8YTy0IYkTMuYc&&OjiEhl}q2NANM&;gr*h4^Euk)`(`89;EOXux{=2f<`6RXpq}<$UppC)Bq6B2ZI`n1-qX*O% z`QVo9o`*rbDmOcYMK+r6Kq5k3ZC!!LShq}DK9nN3Sx<`Y9!Y64%!6YQobaiZFdATG zbZ$cS{{WA|zE@z*^&sLaiwEvy8T89pz@Vb(wY=d8|+`3LrAa(hC zl8Y~83EFveLtlY_Sqy8dMP8@7Ts_+ItBONoaSjgKiyTP6@r0u`#Q? zc(@9m<2)vN0@5Z3cy6mzyKWmT43N}u7A3LYNOgiAd#zbBApJn$5^GB`IdE>d1O=sm^fMjg zm>`MvgTJpnDP7%FNr?TyP+!ELwmG+Yn?;L9OH)F>nnd;zjRaq$B?hjPT@c#Z@^#;u z?7&fi>dK%27j`@!1I^;mC}0+b5U!xcp|t4-ZG^{K?L~UOOwQkv6trEIHUTnyYeLF? zsJ;YYgT%eQTZY7(?!^C~1a3T~V;@XMJoI5+LLpHx{9TvdV}fZxj(7A?MMY77cE&yp z&5ixSV_5QQ?2A{(D&P6_ih9S5($DX&XUpEXzA$>}5igi0rc74%x9mx1O3Q+?5L|!mEXc$N)u%j=#ib|^`t_}-yp2JJ}S$fCOMH62$@gSN8 zP_-^~p4`oB(}Vq8GM_CxiR%dg+~hKZVYGn^JW!!bFhVT&_LBlKs%EZx(8gGoNH8Zw z0|QzgO1;ejBIhiQV(==^@!Up?jE>5yYsX7tcIl2y;#63!9HbugXz1 zbJXT@M}>^QVf7lRJo_|(wZc4eb&*q}`NGkWvx-iMjCDGAwhHfKQF^6>Ql;Q|D;(^K z=KX0s8#l~;o%y2q6OZw4B5AOWdCi%!5AdD;LZD!uKbGSjg7#;U?*j{|l)}*hO(z%I z>*z4~%@QK#TE`D{i1cHT?hlcVqt_o~80xInt2~?a>AQMsqwEl&Zowcn6f|ktfG(bK z)?7#bU~DgpB(r-vTNp9h@#b!V%9sBN!e-GvQgm05RQqge~A6+`z>CjgR|RQ&r~w+l27>y^PJ2*!A{u`y0%akj4m$C4qTwQ-JUH#FDP15P{Q@V`9 zYoc=6%zAiX$m>+{p1)6CjHm5+dRl3%%i?dh5zHX;|!+v{xRA=wZ)sy<kk0pa1o;FSW1KEAhpmFxu)zZa$jv2GYyJlT0@+DD`d~ z=MyHp&Z34re{akApXNBq|DE}Hb>K9tbvOID@nC=$X+h~qTN9<}fxL@DuStd|ci{5ecen>Ex8OAm;wE4*N zHq=@EZy+lDK{6a44)u-h-+TediXbLp!$2U={#|R3=?6>>b}1;J;M0@%)CVr3I+I6~ ze(O+w`gR;As1)I-&m1?dkNRr#l6v{qj3weK>*9=7{K1sdo0NMKG(-O$m_tlr8}E(# z&n!OtH~|KXs!LsvVX=?~oUU=@`v8%g+FIyCTA??eIsew+ZuX=UZg%!9`$Zo5S~T&P zMY%1=f4}Qcqil18hI#YdUXl=7LRd#?8rwU+_3$pKJ+yAohIwBpyv}#Ep!Nvhp9o&T zToqnBZY=CI`jtst2Kiqwx5e_0h~gEGZ%+R~^F5Q3T`;8)y3-dr)A57EbG2tDw$Cj; z8w_na!Df=aXs{5?boRrKf=#U~l){5f+FctQ$4&m{=8KNRR1Ta1(?&*hEfUQNjJZV8 z_i3?u-iY&Ly?xAV)JHLxHOP3n7in_RHrZc*8Vny`7Rw<0uaIdY91td)N7MT{ zcsL^La~Gccl(BD$*Z+EV>AR(3rxh=KVyDV56_V|esti5$>w#3|SmHEBh6{6K7q(jh zTFshkpEcJ?{Ae-y-lFooLE=ZN*<*d$PaG7gid^Ou zd5!C_Mcu+S#;gXlsf^D^ZUn!pc4-UXwuZ4&X2N2Xk4)?1MKEFFPtIAb^=ODhQG|>q z{n_omYzxVOPFDcsdt9ouDjJh4{eFDSaomC2h9f<4U`Vb*KyLw!{n?R+ua& zx|$RJMV=I#KL_>1jm2M1D-cL{L#bH;T{#j-qMjpBmZ=U_6y9a_FO!Pzm0CM;T!Nm4 z=(}-8TMr5@4Wo5ew4wV&~nnT)ql;DkB1mMes#7Q*bd3Q{*}|(gMw#023i`;n$ zcWa8>9BQK%)^Dl&r7?MBloq#h3y1UZz=P_|&oq_v#ryZRB!sC`-gD6XMF7-}{9AsD zI$WLM4dUg0%G2DGJQOajg11pLXCL* zeJ$UUFLYI2EzwlTBEn*e{ii)LyJvNR=jG5Fi>*j`rIVp9O@RRswtvAe7obmI>12c> zSvosLI!iErHBVr5VL{))f#@alt}!d_&v@gK0MBn-v1XS@=FZ6YI-~ZMXSDu3c5H?b zRP=@lL`=ruQ-bPYZ&`V4H#^if@Jmp^5ts4gL^oltNE%WF1N;0|CP)@!mlg;%*N8t; z-P2cS*atI0fI(zc^CXO!JDZxClt_G`Eo*7X0!>%HuL`tqPuH*Kya+U6oD_soPwLi}M`O0`uwpf)fhOtXB)`6AD=ctC znk^tECV}B01NyCORYs23ZiaCW{G#+3TmP)TF%~~u}10mtzlp3KM!#uxrEEO8c0BC)6Cfxg3t>*YmR^5WL23TRc zrEXitL?cqTJti+k9Xk5y>Q#Q1S!|8w-MHQK=4{ZeqObd2Aik&&-M_tct;4_W_XJ0{ zXrE1MVy0Y!J9seyvNmDv2!L7G9lE^ipX_ zc|IQF$$ELsB_-H@k}1uamRde#?xZjPda;Y1vyOCTM;Z*S))e0i`5EMnw|ZPeMeh#$ z`n#+V+te2hFWeD1GRkHe-RGjQfMOR?Jk}t>?O_BU_uu#S_TWd0%{^=l#e^*@}ye_-hewJvd`TU<{mGUZ_es3TD=JI z_WBeZnbGtZ`LAmD{(A9O{7k;7klb)*25J$$y8+{Sfts14rw=UnvX$_I8~I!7Sl8t# zEYauU{mvd89CJ-9@8}`g#mH=T1>Ki@o@)37o18un^I(&^TW9Un66H&rA+x{GBYuJ2 zO5n5I)H!O!q)b`?Gb>)i#iQRqO<$o$q@`E|Z4@?*?*Hmjf}AQK=hiuQUqWOzPZH3} zdE#$h8wzMtUYKm^JxwhC&VWE*Wy?3reVMX*X7>X@<#JiUAG@UO^|(!3Az|^U`X+Pd z&>wd8aq1-{7!VI=YHwGD6qjJ(>q|En*FQ0CDHtH)oCTDkAj3Z)U~#J$vNmg8BJ(+k=n(x!KP-mGRp4TM&#i~qBl~x!beecAH%E6GC9&b!-PJeS+2@|!-PqLov&p~Tj_7qlB8fu6n#ga2bMg?S zd2=*=dlJ&}m>)qaRseUA{5!gy13vz#6%e=q?tAO&#%};6O+^1PJ zleyDh8%(MW-ew7S&!owm{6LGR%x)TBDQuNLwlF@LqNG5S-N|fawc&MOlbbX4j_q~w zy+i%J@HF)H1^OH^yzsn4hqNW$F{Mc<`JVoql#ALIYglTN^RR)iaLj;<(-2BGyDN&5 z*1P&4=N}i~-bAPFWX2a4NjBB&|8f@zKF=S$PEN;KcDQuER>HflCC)?^5}$vODsh{l zr&LNH6%-to9-&RLL*dPxvq8XN69e)GKvFWZoC+72sRu}J$^?xGP%#IkeqhFp(Xi@q z{&nNhCZ@xAkJCmbK%?5jU6o8WkvdgWn8AXL*7@;5;i=vW7se{0?IzKooY8#~8SIn( zRSD0Mkkf27spJ>$(M<1?xuZMunbWhV_P-=DOfaU}9`#aVy^F82G#&fUZ)fT$jPQ*t ztd_sACPX~8x2@phw3EVk+loWZ(@v;P>@+p{bn{}{v*Iy!mcMmC0QSk-=w4}B-rEth zfC^{CGq|1p6!=`rh!J@piG!E?&Na)?z7t9#W|Crf3cV9o1wT7se>))++|3*-t)zO? zoMb`^LUy$>uT7iOTNTT+kX3dTLO8f`fmn11>%vBpNE_n-U-br!#|4SdTE7X ziC0*aHqm)`n;W0==JE~H@%P>FwG>$H7;-`eX`vAS^Wy&$xs<6++9?1^nFq9rNP$~I z;TraqpVd~#VE`TJ^82>nha+V{o4QFX?_;wqQ>(YCJ}_1G#y2ICdj1r+T`02tsboJw zTb~&df>jpEEK}J|HEWRdveYk>qH%2|`z6&+N}Y$#aPirBzu55r~nax5dJUmbEL1rMRcfJY;5nXcAMsusmC$ zoPM$-%9p#o*|hse@TBt-6Db;FvjhS)llAK-rKoTRP$gzuPJq-l(l$#dQwlyVD#Vn4-#((Q|eNp*7a`NDw zVPa&u=R5vM^106h$lM=IlwlUY4M@CW84daLU8oI@Ej z&th0{%YF$yo%$Kzb4R|x?FJ6BLlaxMr>r1ZYUh>t!qc>;3bBN#R;s>uEZT`Sp)Pr-osqma!$d6hh8=oDsV|$Zq8EeC`-|o48^ynr z_l*(V!5SFT7)rL;c-Hc>jx2aUKG|Q7V7_u+kwl#Z{ClL-2aS zwrWP65P(h99)i#$J8eZIg3mGZl`#{~2IQDXf5jH{aGKX!JI;uxiC$G;mWZ79_~tB( zuo>0Ysym;!W; z_*EnI`NVgwTww@obQa_+bV^rC)D1g2@_;Va6>8zcCpZaX#xu^@JUTH=EBuHEYCEm# zU&d6K+q4RWekX2e1N=b7EXVYv$StITZ|T#P#e|K01kYMww42Oybf1mNK%#|HR~gXX zUL7+8#RieTxTe4-x!;uXbuGnPtIfiElUTfcU`Q1>@T^`fpBlR#N2w`pt$Ux=q^vDX z?hr4_KMvr!o(hWC2B04omd|*wJtTQKxym3WMvdsmwI#F3Xq~X$2l8Qjmv82RtzDs& zYBze(IxSKsjsn{g3zv%&+d{Un%v6?gQiG!57o7x?{B(DdPO_-dgP||f9aHX(!bCh? zpMxtFFSIzD`=$8L>xFn9Npok!H%ikROX~dDh3jzyy=k-d6Z>|tHK#*;N8@6}y@RA( zBg2Zp^Ow_51%KfP%w`0y zd6(3%jS_$>1qi&Zu}{5{!jbt~vhZ!k0;cj0AA!KYBVTV)7y*+WCRdy09KbNczDx_8 z_#m{nR2-)^fpg|}V5sW?Lq9MO2bl74iHWo@1BVe81OS8u^RJ=bJznmt3+OvW_cALi ze9ogB_2zWn&h7#A;jXQ2UG-91Mljv{caOPU>|7~b4UtCeZCupT&X18d4F`T*b6dYd z9k0`}k|31HmdGwU#A*=j0cz>D%YT}hb>QAWiYz%|D(NrAW%nUWF?4iXl{pqzSwAPsJCsLc!Zy`?<_ z;sUdHzGIeXnZHT{pln00roO%&y8k_+qisOpb@EA!qXF~jFVD9v0Mj{&hGn7xSA;whUe&GdrcL$sX?Grcna>jD_qmdcd!9pSD}8AaEB)P`|RlEjGG~> zgPFLMM}cJWdGlfN*8L=u3EXqL81QSVjITz#9-Cw}1$VQX_{PzcjnUtGEFce8+dnW% z;E~SKbhqV0j}b1h>?d*2x3ULhfN%~{IOr9FfFq=SIu>7AHQQO$_Jlvza^pW5=1!4vnj_XFiVuxNWb6sDp zq|%35T`f2G5z`JDZX4geC3Z2e0KduBl%|A7b!xX`s6k>gu^$+m1gt8&2aK*ZgOAMz zDviZ?53)1H8D;QX`%9G71`_Yk`R^n{2`AzqdO32m70gLocpWXnI z$8M!~h)YC74oH@@dT+tn?s9Ja!I-IIkDEH=sM z8gy=!pmVdqT$A$`DYB=FiKrSGdE5@>px~%NvB+zUe&z z3#Fi!xo65QE8maEl2VJJ2;(oiLcKcWuS1gldUUCrv5T5tq{y|4HwnmSww=ZMB%9@s*EqggLjsPEdW?oIQ#rrn`0Hqlz#f57DLsn?d1XX3~z_BvMm78t%3rQWluUMaRH!QBvtjG_R5AtpO!O^vsL_D3*G7LM3ia6?5jIaJ%+a=Py!OO={I03}EGEU+x*g<_A1Lm?Iqk zgEtKFwd}DL4PN2)YM$XP%qcit@7zty1iko1z{go2VKBA37CbLY`8-4)n500b3WEM(>(?npES2DJ z=r~oyk9MG>Ca+5jIb(W7pK2|(01K#(gt*Nnsrt9g@XSh7h_}_S>%9BsJ;%$~Dv0#V z%m64hK+*xXYG3rMn!`(toOTOzuv8jEX60vlr-i%858g$)R?j;sJXecWS09)w@F?EB zZ+M=EXWWez@9cS=TSnxK6T_VRd@hD}OlrnLV=F4SU4Jj%2$kxMCYQeN^M)#!?-mYT z@8j67bMo)=a<)V_6OZ3UkK;MmSHC^(_HYT=ho-X+lq6vWtWs$vZQKmlB9>;F|DZxQqG{Br99p@q}cs}bQZq+l}W?E;6EIg*pvarcwC7k7^4 zJ&$j-S`-%mr}THtsaI~z$#X5Xn3tKjink*KvIT~oGJ%9GQN;aSTpW49Fe~H;fP6=` zByx+%5b?N$EZ5LC9fW;<_aN%AyOPR+Pv3+JuKWw14<<3En9$1asCn;8eg zGY&-JC+{0yG~DEkciwc7#X{b!(hsA^em$7I-)ghz?V&we!I3mNrxGcSN0MnZVt!{a zSFR;TKCH2*r_LO}M*gleNc0)Hm|4ieNKwKskUYJ5;{KA@lLkxq_U+qeKS@Y1GXfCu>sRlfjkatV&PwbeJhOuooo&q)%WTaoxKYn#xF4r6A>Zv4#HFiO2st zJk?KFuPBJrOovBo8qMX z`WE{rd4i+)i)&|jcUVh)Q_a>|o^!h~lChseCAVJeO*uUtc@`-lA#wh3U_g$W)G=rE z<}%}>$w8f~Aohl7&cCYXEs$6}A((s6v z9(mmuth|dr48zDc5Ni+sp(#d1D_DhI!W@yv5Gf5CjO}u2P+WZ1=I4jRl@3-xFkVoh z5%-Z2ozBYc`nc;5X9DB>{(aqU_E3SnTH$f%@spLFxu$P{9sBJ42TSd@7xQ)}(81@e=Y~_l?SFp$Vj`T7$uX-9tWcV$O!0u;hZuEFoU8)6g0Z^`y|+_HT)BgU zDU3!NsCJfPYY}IU8{C1HUGKE85cxN)c$_9BU#?d{eUQ=(Y>i?iJCM8QRDYe{RxWkG zAw?P2Vk^UYxFG<)?*`TS97*V)l$kk^*QAnM_PfWc)HW^%r$dtP}aY z?>%I`%dCth_!ey(I~t>Wh3e+k`tj}%Cn>*DX>6lBI{SSM4+tn1bYHD|rzD65Q>y8Gv>NEk^+ zc4Z&UkGp$q_42&>@)aw4z`_{5pqA^nGXQw@cG<>uUdc0BOHS1)%+A+Ri*o&gzmqC# zNd`6)&d?@dQ^ke|1emt74k(huRYvgpYwqt<;K?zB#PF7OF%z+08Qq^=S3ut8rC#AK zer@4|^UE5a9o3^8&!QZJ%U-?uvzz_0g_GpP*z!YMF#=t&j9>~+J=TuX;{hy%?ci2e zWLV>?5p=<+nOg*p+I1#1~6~Qe$RB;^caVhIU_xD$O+- zMU`&S6YP$!q*Zq^EA+a5+gN<-pOS2GCy_7BwU$4Ue`C<>^67!XxjuX4Knb?>dM}2q z6sv4K-UAN)97PL1QuWsI!T=`GRK ztLmtB?59V2b2uIGj)lYR9sHB+2sLfr0p<%;15pNaG6W6#-@e^f2SE0M(#2KljQW!2 zED3XUCOjt1E{RGHf!80 z8mv5lynsAr)`M$bA^O-%t`|nm7X(qZf8o68~r%N;n#g$dRe#7XJDC0 z332JXa^;592a#KEZ$(62zoL;(Ay-r}`z&N6^BW^eQ7Or79G3d4)*N)_&e0HO6-6p2 zUWu7|*dL{NWQb)R=gk#OYd5M~^t|xXQ9x%eH#J3XTbiQCg31`@u__6x|5eCnPc ztT*7XH>p#g&s&j-jc?=PP5SV8K&EOai1jko+knUEKXp&599zEL+n?V(Rm6IF`?l=c z`y3r&o|bR>9xiNLth#Ux#xLK)=nKHX+egEfFdbo^ERzmXBKnNbhqojKHhvo3E8-bZ zt6EWdM{7i`Bf=$1pZ&fJ@9`Yng>!uE1rcnDRE0Eo)7-B{<5R2n9t!9iil9E%<=p1H z#(7nCup2>k%qTba>WZE=O{~MGHTS;nL@tfjZSDj+OPB%+~1uCP{HE;WD+B_8QrbVkGHUw zo8Lv~*iuDG#cupi-m@q;Pwav;pqH2VUCGROlk?rywbTU+*&z3&WQ1~BtMb^MIZ?Su}Z z;D*-R+h9bXkRtjyA!+q1<+#WCM>Y)#YfB3|Q!bhQvb%c>X>#pmnjBFG+Jkd0a_{h? znZ8*n_RPo>61sBS;QyFD5vxY$S4Z!le$o0jt%Bpc&r7Am`4Vvs1X`wVQJyHIH1-lX zuk=k7gn?e89KB(Bm8ee}5)UaS<=g3OpCfhWTp!<4b?LsHvmZrFFWj+O{;G_=ipg2- z%e;gWVr*){*1(@aG2O3+TDHdMaa~t+G&D56V}0(u9x4UZWSrbWUpS;wRp4ek@pC%= zP{`cUKBsKH;~nj^L;M=AdTeqaw_x@;xw}6&Wqo;-RYNV26p2jnaL?XG+AmTPWxO`| zS&64>O_3pZtQ6atcSR1%P1{_f3a5^f;SN?Ly}LhcZI=1vGAk^kh1Cd)^2#=64n220 zH{T5T3I{I-NqR=T-;m+|_smWB1rE4*R7o>){MR0vwo;xErozW~P=G6#zy}1CPwjoK zH~YLB~AhX=FDx-I1t@u|nf4d5%2OB(3a`l<8vsZ!RP z^j=a9Be~0KE{-Fdb~O@-Re7b7?2F!$oV_vg#P?elU(spea75E5fBAn*y>(cW+xtCi zpokI*(g=t&2nY-vf^>I>)Br zEI8t?pa1V!=W=mS%&(^_ad4{6(pbqxjaNHR=~vrJ#z|U!*r58+{qfg)ciL=z^}@wb zgFR)PgWa3qQ;v~808+MX6(u$E7Rk5vv6eLDvub5c-WzHAW?iJG#n z`h$=1TgHlQMGe7sRw{2w6o-Nr1(WYAHX;Vj#RbJCqjbAZdIn|98RGGsrKN=5d042M zIig>nfTJ`evs_VCG;JkLF=Z$+oqfQSq>BZ?c( zV43{JbgvQ>Zcd!^&xwB=+Bg1vOKkV@PFCL+gm+17F%Nm*3)Phm%fDhUXkG3laCSl` zXI}NfTq9m8*44d54;4wpXNa29M7s|An=Qx99bJe--CGDluK%WiWWl#3*^HZ6{W*3r=yuzA0h`a)xjRn@83VJ zF3+9nW^C-Ab;IDavOvpzVef?QdRC3GFWuACj=ANFUgj};TgYF@$3 z_gJJlB|K6oVFw4gkTV?(8-lmNkwL*agOb{YTR&k3tSm?=2XH=_aZ)TRL#q3WkLVY$ z7*K~;;75g8tHSMvwc)c9(CkK~qC}9Usp&vduw+XlZtZ_GN!xT{=LOg9g>qHTxRV3v z&cJ4B+%@JvguM0dq4fh@!F0;UZkssvX$EgX(9R~vJ~I>bh(JK%;{w2U6rYTW!HWy<&2AF}=MWhCMd?XP5dW+_RI}g@+YgvfmYerx!8x^NdX}d+` zDAfsHHBS1Is=gOxT!>^ANsq88X@~>6P);1$)`RN@(s{=qo&sOS?81c$7d+R&$*spj zr*iKQ0uixF>9L*beCjTfw*LH;Dv6wO^a8>FBG_IXUW<0Ji)A7V9unhPV%CRKhVYXP z@%7^UIjBf97?n%Lg}FwnW@gW)^ePvU36n4#ByMb1sI&hsVMPKxAyrbc(0#l)k{8J= zehFr!I^*S*c$;G-#DQ~~X>U0^kJ8bnLV%p6prEj3x>~mh#k(oJ8b*S@hsk|GoYj8l zb#Q0Plut)A-y^37Kf4!V{lQ7ljBI2L|6X#sSg8?79`kGX?26(Oc|MW^h;^J@N=n7o z{`G9BY7#=jGRvXpTfB@So%H==ZqDKeuR*YX!HuFUI;#ymVcTnGIC&yj zQezL)4?|(D!nXeRv1ajfzV64XWS4;Y{#L{bR3X`APt2#DEV3C?JlTvD)T&L2lf_yu z5K>1yy!KyOEE*_a#txS{-S7Y`C;1X7pafXlaHKamISEd5H&`kg+(cSgQz-N^0>PxH zeum9C4L+;>fU3|cqT37J%^F|&+d6b&CO&nkWsgm$Rn(P#T;%!uYtm%n;6t#%3JvUl z(C8*g{Pil&QRg{>Rvr#V(UBx^MH}3KcwfiBU6mLh-q9-Ap*MvxHC@@~DD9_dXL}^q zPC{DFbBwxiU=MJ9(x!wkt`QRDDxkPY zW**{Gu^9DUZ2MHH&mRsH% zu>48wC&0enxrzn?OyZd;y40HBWqpY_{9Vz!VavjhlZt_fL>VC+xeV7;ALU9sEuL0+2+WQ2MDinuX zBbgyyLK4mr2}$^Gmj8QuM+M9jem0+Z=WrwYVve@iWbr}EZQ#-i=_q5xT_KZsk^lw> zw=z`2Y?5KEDi@;XwADv38*Zo+y9#7r*I_4KmHE^B=*!UxOzBg9a%lDj4PKmO^! zK%HC2y(bYD;A0=w7&)k@qE#4sd49aO=lK!gfFr5;6zC1s7=!~RE(Zx~_qfNkA$)6m ztIZt$apN#3k4k^fK*yxv#cPF9C8El35yG+AifVQ%@m_wbLPgCKvWC9IwpGQ)VFILh zFzxJP#pF(l1I=uG9O!3yJ6dOuYx2)%Y}d;EYX@%*!?l}+z28NS{z#LH^I1dF0=?2} z;M7V8f~6Dnmzv2nFq>tu>-n>v1m@48P#=8CKrdho?9pgmGPkHG)&rOdf&UE2{=DI7R`VNMg zBaE_9UuoBi-Ydmfs9M)OkO5oOpsb^h4%T6nqQz(O61-Z+#XbJUf%*Ml@pFi+KdD#tJtbE|7r(Xoo<`bFWzfC~oNOUj)gS}p) z_ghm1I}k5LA zu-Q>dB(giU>PkxWtxI+6juP?xKoWzO3<_=)<0OFjNB&zH?qAg(qXnrImh`cUbNtz+ zqLa)vP2G&R_vkb%6<7JJ1` za{d(F%sb9B{!86l0;EkoY24jOdTS_-Svyn?{1?e3B#``x3Tejm!tIg9U*yS8kj%Zky#{V0n!wf?DRLi)1fmW< zf$iq{?k)ou#v?Z-nEYCqYyr~R)7v`$%xs6&pK?fM(g3?qF#HDfICCrw1#bLw0xwCQ z6WYzq)O+sX4~^7zWCWRCY5(w#4>+OCGS#@S13jCNs!8nmR*3rKj!ST9LGXC%*-h6; z9cXSungBz|6M*b!{F`m+rsp)wBQsPCti6>Z`arcc0q0?A8i`imdoDC?F9(F6SL9le_#{DXirZ*-$l3XeJS~93^0HLn297vnVRzSfJX1@n*x+VxL&<-lD!4g z9e_m3#f1={mH|)aqEoQ|w)htmxY7N@_j{zWBNG!7%dh=w06t#j;QD)HUYv-!66m%$ z>5q?ZzkSR1(?Dg4yD5yu2|61drsS8m#iU0(vZiO}@1<$VYD$ynOgOwoWdvqCfmody z?~uzMnIgC(3wb3Ok%sUz(29yE!HYj6=@d!$Da?17tE}y}l#*c|U{d4|+S%kmiJh^r zCCAHVgY&ii4U$hHnR|Z7#H<>pJ*RkS_YG7g-&c}sfTk6|R+17D{s7?5(%E^xER&H8 zj{g7y?2s9wV-W^y(zN*eb!=VcoUeF!waXfm<1&i1R+46nuuWfA()<%Wr%c*KNiDsN z>UvAYEs^>*=}diyfj|Mo!1*uwn3O=C<9owv8#D?`p+gr-t$3vr9IgD2Gx6b1qE^Ed zCCtA?&FJe2q&!mb)cIAiGd?qEEV8|z4;0TA3?H#Fw-T!(^Akxh18W>?Wu{;H~coGGL zh5ADrvHh!H2g;mt)xVGJD2934_ceX$>QVBjN$G>kcDd%5>OMK2(Af2f?@)-hQY49i z&KB2lxY>vp+~^}yfP&2~T`<9IuKm{GwOgbr<@dfuVYAw}0Wek>KUk17ZLA6^7xia2 z=92;VSNuMc*^sHdCK)D)k%K`4#iz1*mGK~FpyNAGNWqz56RLzdy$JdDn+yL)LwW;; z?KMhtKECOlfXG$hs41_2fVaDVF@F}eY?O|U4mD9I$~vKI6)llHP~MP3D=Qvn0rn2$ zj2JAqe?aPHxIIw|D+Xc-%mo9ep0!)*pa-P2Vi~`Hfv7-E!K4Qp{D|)^MKkHc-az~f zK(dB1aNJLFiXq}|a#w6$1hRsD<@9zd;-pH7dL2;IiLEtka6KZm%LAbU zzXz#xdyIOL)`h``>gOW}J)|Nnl;MNeP;$$Y3fU17vCTuedttqiaq!F=ok z_D_IbMhtiAt|8c_bK za1pc7X-i~4n>e#+b|rmqd(yzcX%YRWQ81=?cheO8Xi*@m)6A`#VL}f6Hz*QBJ~X=` znG@pHT-ekAxCU@r_t8|^B&VQQg7eP4g~8%frRyb|Au3_FeH=1s7&aeB)gqV?dvpTM1Ho3@z$hT`&ArL$xk>^p(o3C%G<7a8KeU&NT>yI%n}zJ;ocw&&%?lioehy--)WA2DNQ z7J=cg1JH(W(r@1hk%V}kn_9qFVWZrOO1W>*p>#HD$WSASygx|hZF&*&A1*u}{XB#CZSRe*X9CfOwC3^F4BU|ct#2kx$OQ989gZ39v_)Ns9 zX?#lZM}xK+MJlbt`IoZyGNNcNGv%UwEHV}h{8D9zejW{loLRLyij@(X>xE(a}|gBx*MmKm&evPu{zd;4Q{fR*4K*n$7^TB9O54k$!Dbtmu~x}Wrwnphb|*e` zGYv`qcLEnec7enWm+;zK^R+gvjgkP{cmV%Kp0M+1Y64H)8xh{5ZQtdb0;yw9p+fH@ z<0lCs*lH?k3=oj;1{+x(x>o7~w+N-_0>TIC03YF!GwF@d<(V&pZ-Nd5ZnfD!>(WRj z3?EW!8?H9ZWp<;~$z|j|@AX|%K6-PVW^@sKCn~fAez#P7H(!7sUc#d&WRWjwJ7^0s zz}x5Xm4hov>Nbit0(e^4;x>vDq>t{3v5@B0cWH2fI=t3?m#AY3d|8gV z6|$r%{Q8fRRpe;7wQ9)oQjdLs|K-hcOojkl^`nMjTuLN!UPpx`^K$MBgInH ziTf3!v>oPl*q>RKM)pOfTU?Wlpj-`xkf1DpB=5hENl;;-aSmn->FP09ZxSGbO9@db zx9-jXPNQyVi`>spFb{HcbnK)fW+BzoWdCj)MQc*3)5R%BukMB4nettggSWKp>cA>_f#r5{MNfJDhG$I^Tt=_XJSU&6#jNgfdMPw|$g`W2?xZs#&~kR$lo^Sx z6%Kw>k{-pjckTCwGEhnRD`xe1O@sP*BN?ry-Eb$@t{W$XGpw8%d9R?sp)kFnkwmJd z9xuMD;Ns#hHi5d6(_(NCtJw{YOdPH{Sd9g-D7u6)x;1$A^Wq-(E}%M~+!1)`E*N?U8bmV#&CmTMYoaGN5(@Rr+6{m8t?PCI% z2Tnu(&M_Wf8 zhKjdKvyjYSzs!7?ZBQE z?YSaxS5#pAMR5)1z0C$OT)>M+%A+L4)HR%WT$>P5TaYvNh8D|v<0r*5e@|sE zQ}20_I<3(&H^;S0+>3cK#dBtPX2Il@)8RIL1q-D;!P)qwZI3%k=qzSBnlcJq=ZTi4 zE1&$wNjCnLIYq}}pS5C-*un(2G}ia?eeKRCwK z$N=}QwrxpnrR+fz@^eR-L~6U7W%7S`=g8XK+k()*NL*!#Lb2@Let#vn2!|S%J~V)RV~aS z2&%0{UzW9%uTnV}O}<)i);Y&e2-a|Eqc^K}b#0{m8fB3PoGCyp%W^*_Bm`|5E6ox! zj^d1%n`>$Cs8C-N;(bu63wJ%)N`NynoG+R~iZ^iY2ZD?O_TG_3@HD0T#Psy0w}jsw zs5QU+mg85UN9*o@$}I0?vL9vs@c+{8IoU10 z*T@IzcM2qsF9Tn^GV}i1hN0wgU$=7aC-l z#*Wi|8L^^%)A_$L)S-@!Ux8!s{PB6Ab1w*MOU^Z+#j??~SlOiqx0TsS9=_3zZL|71 zUe)<4I(^f0${Uo8zjYzrf{`&tOok0^&E-5zMQ!?hfCq$05o(i1LFh&)k|DJl6g?t# z_jd1b2HLlBN;l^8a8|oGlPv%iZAASuR*GM_v^Nr6ZS83pzJ&pF z1#}@AxxGNxhcmH?TpGg;_taE@AcZ;=`CGSNW+3e zTxe|WXK8Jnmd1G)Nh~emhsSA0awcoLN0uOwfE@l8=&%C$lR~#Hq5XBK9e&4kx#3T5 zH;OM&7pJR!N#_c(QLb8W5fKq1&6`#Op|N3hTyn6DTtbI@S1qK-<9Uf3sQejIF>blB zPH=d!RG|cORSuH&IIYQqydRaVE?q673Q0CK{RbhDMfT z_0C7h;XG`s=kF~(z~ot=-yFNv7&T4|u9&+dB& zK6_8kF+ef-*dD8@Rg?STCvgc$`({v9dulQA_acs?n>^VYQcc9KrtrrP@>&m!pWId{ ze3pZu60EUv>-zyawQQ6Y_CGNvoe_m_>zW3sg7SNQ1|K_l+cc4gS8_!Aj$PI$;#pqE zIUjh&gg4K4-Sy1uxNvxhP@*Y86GJ`O+vc>K{pg!d`4LRf6yQ(F%I85AJxQ2HRn=l6(`9jR-Oi@<4pWRBg%qk=sDF?v;BNg_xXDj6L|AtgdCmBm;zZswcY&!`G9{I z)>=?zJtMT;x9|UIojfF}GXz-~bgKXY#;64nTD=(^RtD~M1|S=Bv6OJUdIbhS1=2fq z3-6Vy7M)?3Zs3)f;m z%TKd;I1Wq-Ju9Mxrz+)1A985+KeC*Bkl&j$yvY2`%P=TVP`aj8cS?YUu_)2Ic&-!8 zFvU!eSN{ZehjPAc6eIo&^^>)bVl8a%53cCT;tqTuarnmX9i>MV>+ADgK`~BJ)hZ(0 zXOA_5BU{A?o(zcI4>XyWbFsBmsD{>QmA4R6TCEIKpK@zviKGZre^Q=VS=>8Ma?|C4 zaC5f+IoZyZ7Kv7^8#U5I1-8yA6cnpm_UkY#5Mh@r1lSL_#pB2ZPQuPEA(z4KP`~Yu zQDi1^pWrypDQEcm4qrNPR|Wr~ZO#-S78Mw1)98`R9ntdH_zB)i*xhX`PGZk`5{uZ& zR8^5WKMG?z^G=Zf6hzs>?`a+4z;YTmTnDwf6l6KRRBOGZ*(pRFdY6&L8PV+RRieN1 zuoJjjNQYCHczf#+2YD~NW%1Z{cxeM_DTf$%$LoGmXKIX{Uzv1uf2g z+WQmkw6k{c2UMTqV^5aBgKkXfi24wM{Mom13ny-Hjy6suAw@RGO^xPG#wfE4RtCQA zfS6-qNu5SNb%Qzvmhh;=1d7wxzu=RggLSiEx$BCU2RyOP-g=(BF#}8j0hk<4DXbUC zBPyv1mZYf8J=h?JyQZ&_B_v^B&Kd`|zq$yWsVx`?M0_B-%x&b!(i>R=wBYn9;bz4~ zKE3$$&L5#~a6v7%j2sZHo9RbA!+Kizcg}t%=T}ck&b-tifIg9#egb#38 z1TzM3RsosRfOnD-al7&r2M#Dx^a$M-A#0 zud|Qw>FEQ~@Y!{&{WUgG-YS^GMUplhZiHqrS%Zrz+}}k%%I}#;qiZW4jsRmH`?(P> zqw8oZN36-N&$Y(KdcZMy)kaLMiK<{$Yj7Ix(%-BYrq(wxne{b2@q>BKE8+zY_%#N_0{piOB_P1Dlx_B1MBXa_B)Q|{(Y zqcwA@b)y{i02x;N~Ol zyN(pQTH3fFHPHzvj;m0$sWlx>~P&JJb3e06yIMO8Y%^Tl}zMD zyB2kYc+A}HDgZr)ECkZ?+kRYnpcb!uCY=Q0jHh;V4Y&@+Ey>)}vzsnQAUvf1;{qH_ zQ5BLKD}Aj^Y0}2^onqzWDHNM7u(_4Tb2Pe7Y`kMKMxVU04MueR=>S!%{HY6$T?qjA zBAUI0pw!jb5+O(}tynqB=bxEv>{aA`{4FOczn_PqqE?iOWs`ltjcP za_25e3(|L$(nM7gVF$4xQ%RZ4x&n_aTsVkjw5QKhpWId*d8o3Aj@mQ*=r(eF#8pYA z+~sg}QSej$RCQkxUX54jIGB#Ha zRji!z_(UvOtS7Ux3IM6IfLUgNI^@ASX7UWSlcKZl#2Vx(gvwuUF+XW|Ef<#?MYKWW zHikrQ=sf}ZJ_2?0a(Fjk?2*UxbQvw6jVvM{XvCBrSgLWLOrqC^W+(ZIfL#LM0*#VU zE7f};`h zRnRV@;xMCZ0AHs!b-FMf<0h<#C94 zYwru1TXNFxn59N*-^+=ZnAWBTjgH$bYv!<73TPu9yKRlXGGtK&rxv$^*DQqBw3<>! z_GmX0^Zv6G$u7?ghNxW|FDxoMEDW=0M)1`2dA(1D*j>wO^t0cIe|W36G7;@oKR%{J zi}LH$IQ9ZFZABlPAN^k_gf!m+j=*gu%e{QNNZ>4( zq>(a9Wf=HCDJP;`p7)59ZW=<5egBoVCF~QDe-qyMg1rGheT7MYzbo(sL4q^ zAz=1Dt8u_E zy^QG~BPk%Et17BqOvj2ps0GoS`tgrdbgb~>bTFI&`rx%i!OYBkyLEL9tnb^@7>N4! z2P0)0kF%NXnAkn0>*jp+>{&&1bxA@lP>BaiujS7F*hB= zL0*+EjmmZZBKQcBFBN|)S@z{73DhO)c}Wn7Hv7G9lEbrGBS?8n)lB>vZW#!Q1uv&- zz@ZQsGPgTcsXV-RT+Pbd$MQI9LD$H~C8We}PMI%nI~2^$ful*yUK_c!jg5XOOhX`5 z#Kx|k!YW*XhA~8Kzs7wW$5WWdDLN$O69PqksGi;Kf-fqx+)CZNz1i-jnSE{gGrVYi z0QyG=au(;5WJ6;k1!q$)?$qenBG8>IJBm(tybW7SxK-bG{x(4vj6Mr`3}c!$|z5733bNbESmK!sX50qvP+z% zyV+8ZvvNPSrvS+Vc`_lLLi+ZhQmVMnekFQ92 zaYLP)B7HQ!4VZuRt70J3%wEYKxC>~z8cQ-0=T+J7|80+uzxXwV$c(yMAIGHlo8Yp<*+MQ18xKs0aBFpZ(3A-{YD^{9Y zFs8QPk)!wVi+7%E=1cV9(t>{dS4%iNS9uq#=k@gU8I8X60B#|?bH3`lt*7ynwkv&p zC_)t9^(eAz%_@wM5| zO#Ew1(7OWWJBS5L;#${8Sj33w+je^G&JuZAe2hEq}ltxr>A9Pdy{teC-v{i1RIe3 zQ;(!yTQxuvqTb0!tt1lM5YX)UiFDQ0k1)K<~)Lk;y~M$$AKPJ@~m z&B#@qoc(_h#>+1a7mK`KJe!oMfXfR5FAP9Z-)6~|{wM)}!7Et1eT!s?jdHwHU}O!+ z{ECz-7CWSjRaM^%{~l9hS$p%y1C{PWqkY)SE3pL{?^au$-_ts0!y@2D+z-SEY>vP_ z2=&VXb+Q|vkZ=dI>E-v__0VoyxX|z4$mVnS*W&Tu=t!$YAk$aG*x8MVGJ+tYz1zFV zP=BVQjD#rIfKtIuZ+AsmbgmcN5mgZJ4WuF7mta3)R9>J&=EAk3Ga|f12~r!C`?Pe@N^i0_WQ@TWHu z<9_~V;G+x{KxDF$ODML?``y2+Y|}a8_op4~|4elMXj*wnvacR(PyUWO4f%;?xJdNqr2Lj7uc-ngt1rn+Dus<6sYYexfaun@{X6jO%BG#G?#WC;F1W9$0 z$bFNI&VJd8V+UO4dgEj=zvpxS;1{^HGtTi@KAWtenytgEj`peE>8Cakb$YBcDljOe zsxy5jpkKDpKW8;A^&NZSquBk3DOP{qCr@rwVnnvy9`L^%vhH6fN>u*-hzL{hF!%C^ zx|8Ox08yqSX*j(P%W? zZBFHU^;tMz#f&(11k|rNb_yaO5)>b#v^lgbe$j#JQhmk^TeIUGJoy^K+%J`RGSsG>7$YF>I=;oCfy# zZ{_W?sF&po8WJxJ7&8BE(~mwX8&xE|LFsykOa7X1Sr$^|Xar}z3k_2{YiKeHeUzM zr#Eh_Vv3F`J2e8IAOQgZW+eW-$JqC~?_>eXCsrbsP2rM>?Pe3=NtY*n|Ant5@2jaX zOm1a#s0Cdb|G+y|gfA?bs*b5}epY)ObgPAc`35iRYCK|$*gaZwD+)hUegE-Zz_?Un zSjpEk+%G44k`lLu_3j{Gn9QoFda0#)*shg?dB=+V@jRLmBVx~%5wAdzGR5M|@eFR^ zb-G47=cRP+Dk2+Y1%oXBG&iTNu5RI|k}sD%8PJsy6zBmVjykzF4*PSZQsOLIybcvz z7K?)225Py#ar~Ed6IYS$Yf!nCyb)j6f%_Y*gwa2mYdd?4w~Mj%XL~*3%L77=Zsv2r zEHJ|96R>mzo1wBFJo4&$XuArTPm{JEgyY|$y9KkR3B6lWL0qgOT3I_d?=m<8H9R_Y zo3x;8s182gDOLyy0f%n78ve)z#u?=^a;hK}nD!T_70Q7!@8Ks9#n=mL-Mbm4xjjFj zlqCWZCd-<82_iP~r2@_*ghd5s@&H8oAM$p(_`Lrgd~F|qKuLxJnl9mGUTeuN1bs37 z9MuOpK<1u+5COqfxs!zz}tD&vs z_1;Cl8RXan!7knT+WI=;yB{#l1{5_ApgJ|%Tm^c!wro2!Ss4$)YfY0el~KCWA8F+8 zsDnj`FKmiF*}93VN?u-wl2jGB7Yc}PrO#Wk1=~+0+#)KiGnpMEyyOpHRxN#06MO?_EN=GLo(DV(ZQ z`qsd_(_|x9`p@`;Vlf$Y&~e z^x`i3!1#>;w+fIS#epS6)6%M7zv4#LO-fzr6WlH06EuDW3R*x*U)b~PTPUZq7-qR(7~+y3U)JV^ZiZZy({*1>IoKDcS8O0jCO2ZAT{B*t|OmLrgyOH z_gnjmmu|HubNNm+}EmJ4Gyi6Ql<{BC_ClLKn^c-Ydy4SE?3g6or zBgtg(!O8~9&49=-bu+j{AM?75y+jc{QWf5dfGZK7@4unxzN?-*T6en1aJbGz*w-QC^0Ql6srrUI z3<48C)y8j7HTth~<71R7^4j4;f5M7uT{3UIdGA&)Y{q2s&3y<$ISnxt_^bE60QT&c zHkX7Lq0)BUQw1!;+74%lDB7c~{r#;+TrK#dGu68&$j#v3^k7>gg>amKIjv(aI{s1! zU2eVdp-|rmca`=DIIYD5@z6T=n>TM5<<`}ya5!x@oPH0fzOWaHwD|PT6rneI^E9A| z=SQcQ9qd3x>!uj&i29k&qiD6uwT!d>7dLVCK11~}h8BF`;#VSk;?$!l+N$j}f46hB z9kP{)Z13SarsRU2?+z>KSS zO-=(inK(N~No3X2=K?~?{QP{`^P;xrE>ntdLNDQG1Q=8R8bjdXQcsW!&^Y zeSza{Mge}iwO(> z_%*GJ!5(zyy%)R z?lB{vU{Q4cXqe>W=iT0ECwci+@nIMCu)VvfPgjA;Lm_2W#J%w z;Ufx2aPX7I>P}feQYC_&lpD*3a9XHN?p7yulv~ItI6hl%qiYrIrqxD zG4BdCI+L!Fibpq|-h59M{?A)IaN&+?t*71o@aoYYf$6qOvw~C1T25CN@{2;3>X%Pf ztEZhG-MlgcA0|N8!HD2P^IP4ay^P-#9)OX3b#+xHRs??E^_g+?@7axlaWlHIs_5>* z6jE&TwXfT2V8-&pM8nH*iXwe-X)H&oWXFsdeSyGD6Bu|+t3HdT`0OPVVDyy5)ANMH z)`V|jZZX~r7x?mzuT7JD$cnM zDIOdgXl(KKK+C~cj^N>^uFnOgL$lEg%5g6fI6D3|U0V~M7d!lfy$VW}&&e{`0I%)_ zwyO7_M|kTd=hKG$G)-GPSs!IvdYGv zb%b5Hsx9KmSl!?(JvnKcRO4;B5y_B;-czom&$}-`?$r)oWmiB?m6b|oYm(brb>C|dbjwqDhvosk4w^xVb(L<+e*8*t{!lkvV z>S&)=hohU8`-{?TH$psbiWM};TYb%ZwXgmR%=<3dY71zUCi?z?Pwi(O*V9f_yLoYh zFy6j7dB!A3SN9<|S#Jg5qxCIY{c3`7qIlTp7P0b5HI>07zpD1HAhdTw8Xz7jC@C53 z*C-Hsd`6B4p?kOhpSNyl9$(gZ)$a1ta#uL!?)jOJ(|4HJMsU96e){z}m)Aw&2u_9- z{kpxw(o0PF(?so*9u)v{&uF(^wC)L?Hb{R#AK11dwX%+IJ(lJ!_amnrJ*iu>3_kI0}rr`Dir;+wy^>!#aUBsDNS-7r#BVmJ;$7QVX)5Qgg^2#Kt zoQbITsuGb4^SN3=_?<51S6ljK`i%&hTpy)VfmE^67ia&=8Y3nMU+sgON-0!Nc){1o zYHcA1eMqFrvib%d5n<`%ByXpp8}n%Pif*NW}(*@i}Ld5%>^OnMN$inyFgFw>}lb!L+2)xM|5>H3JVtw%!yU&#mztf_Q@ z?_S%Fajt6{oNN`0wF^TEs!W~73aeLsQ3)(e-{&z<5cYDVzdl^d_F7sWiI8Hat;ws4 z#4Hw#$1F~lF+NtCERGsMK%?YPFO<`!;^utJl^fmiSSs5#JQ{Yq-2(jgX2zC(zxT)E z`{y-ffY%hO70zc|Grj{{IvaMRQh3SWtS?_K1MjZHv^1j;egzif$VO|B-gf4DUW2hz zyz8O(rM6AX#o9XCmIUt$M56CObpJ|n#LKEB9>I{_dT77+?AaiKqISjCyDo0*P)Px$ z+96?0jh8weDe4R3Snb|^dFmZOvDNiu)`i+*x@@TG&1)>i=X7}(gf_X{#=Y^^3$FfX z52dOl0aZ|Z0-si&Q9}vf6AM6qC2%ZVJv~_G(hs@ZC=k?FZXQy2nW5k$TAqsU>lpAR zALb_)$fNXg7NEKw4i>uT5SO zZo}~`P_cSD6UOJjO$Nr#-NVDfNVae1mtD)wz&GXQYtod~@UVP-y>a=X<{HN*g}N^< z7!h&Vw-<*}fJAE~cPdVG*Bt*)E1nWbjo;#nPYZ7&e1sH#Zp{9P_Ve}54MrIe176Hj?uyo*2mJ6%%&zO;dNQz;W{lm2;^7iSD< zo!QdeFY9KcxDX8doI0I0B`;Uo4ApD=&ug&l5e&UWorn1kKjo+?w?WU)ElVnm!UM@) z7;4p!RVY}|DIR(rZ>KwArkugAp%}uDff4f+U*kgvB(wl7wBT!P%>WcA8M7N z5-#>JrJd(e>&h#QC9rOyXG=_msUj=u=>DJ8w*B(}&YF!UtFmmAeIB_lkQ26fY6x=} zj2YCV2o2_!SgC|?sTY9FO8V?sFA!9gU)aK_K3=^P_26LV|E4KXYHhZWXt}y?LnRp3 z9?q6KYjwHGNV{(BU@q;!Rd-%E(PSqg?H=Roc`jZ&QI?VuDV~`qp2YODv6?{RBp`F- zVm3hQ;7I-Uty=^bvJzq%vqQE-g9^`kq0hSyk5UrWI|(e$IR!@2_aj8I*AAgrGV_pfQd(0 zZ~6s2vUvzXT#9Ibh`PEuLaXql;d?!-3ZSKD>FQcRw>UTz(z(rhxO}-gnI7Ndnv6-G ztk*Exv!=sDb&49exlYK+?&Hl;6&Znty{?sX4con2Yr1`o0sM7mapn0cuI#kW%>S7dII^MlKf^atZ;fpO=p+^o>WO@h-NmroD&U@f2hRt+>%M>W@x` zE!+2Vn^HPWYf7Q%b$=Uv)Set2UpB>BUb+~U*ghQHAokRM#qa!0aMyb(t^VrBE*=_ zAX=taIi~n-Yo6rzWyhaj_iw=j4CH|GHVQ*aJ&DDa=W_D3Ve zX|TrYa(1u|5=g~`Z=rTm7VmDr*j4>jM@G;GV#I*e%9aLyz$ve#p0oYx$kIy>yp{Yp zXFDTj$HGV34{yT7xa}*tf?{8Z%VsKL5~s$=bzfOdZtfV~hIPe>YKOVjAn(lB%m6FK zH~(K<*8&e^y2fWFN>f|fq;0#P)^4V7Y#B!g!=W`(X{afNvC>RO#BoiCMAz-M8kNh? z<~r7;WlZE&h{6ydm*G^H$faB+w>Z!H4QDUEbNuG#_nYr~pXd3%|L1w1_j$i>zW2*% zr4>2W!MmHE_l#7SNuyxr<*XL?G#=k+x65}pqWCE|1>S^pEGWnj9>3MRTlI+vHKIT` z)>Ab6Dt`TnmAiy^t;h8IC{AVX=)WbEqnr@kNUx-PwUWAPQi^oAuLg29W2o@xR><2c z@XFSkt@fy;$~D>9G5I|^SQ96y7O~$wgZ;!#7L7N<{&vQ&T!Y)p)CY%yI;lTj!H;#c zY)iLla@7^sX>zU9;eRcA^iB1$h?X8=Din*b;{sG-4$QNz<1O{#BUS4icido|nx19q zHTYLNEi1FAcOygG)S89(lS4+h&kR4i<*T3bZl;KW5nI2rN@5}bRkOEH{!v@+tA6}QiFJlV26%SYMIsJON_sMv&RT6z4 z&+smAay!Ktb^NZ^)~g3ws{QHZ4@#i86DZ0M)qx=t>saoxTs<3o3t~gc4oXQt~P7tLW&Km zXV(0lbrrYXlMu)s)1?;{`BC?yhdg(SG9$8(e_?2a=I zaCaQ#$7$VJdLp6oID2NynP*6jvE<#UHS3CX7fe=zwm6yPUTTpLTu5|*tz zfJ&AKDDN0{0r|YTkYk1=Q!gGwiP?dHfv{%`++BYRTWzLfWoZ``6+wJF`pV&*_IvOFJu zVWrdV!^U4u)G{@i6;~soApo z?Yx{S=62Mv?=3AZcI#^9ibT%446gjsBZs1i!KW?d z`wn{)2axBcx{Tvo-3QOiL{QWsD6ija9phHP0~}Ty4hQa*YZZ$-J9(6Q9|~9XLpgKR z;_VyV#6wRLvzRQ`o}@$R4l}Q~x3?WT6&Tn#QQ#ghy?>xOGtT}e(s|#^);Tq{< z(ef2O>~<55pWCn~YDk(Za8O9kbAF+65L=ZgkaTRQO3&nXIUX{PVL)wNUWymQ|2oUcx&9o3uGC`I+z*x@o+G&Q1&b( znF?-h=bo5sGmD%YTv9nY@a(dI3m08yn0=Hdxn?hvRNcd;TjK~;=4z;FY^%~4pJ>dP z>^I|#TwvYty1)#BynJSAb}-=cpn=zCU;7+ESA{R$9BE&bZnNIu{)?KIV_v+CF?EdD ze%kKo6p2_vyI~QGD7`MD*!LDw-nCAWHS2~~gn|T0J)2gwwCVh>nr&?(5THOLPbG-}YwYe-gdk(AE_{lu5?RLy@5bdAed$_v_l1 zaDyY*Pb=i(_>Rfuqe-;bjP3!SV4I*h_X?L!qH6=|hH5qnm-k+?&*Qjwu-e+0)AA-z zQHLwV>`X0xc|F|_c{v;+Od6Vn?Nyk-4{RNF*>ow_6(lD@$~QQxzq*soYs_xDGQ2)mB#5#-IP z5Vt%s7~wO{ z-7yo&rRZllJ+xR&$;)!OMWym+`Gbm@TUs>-J$9b?@Z*THMW%2~{M@kf1J942mwZC? z77r%bNO76HmW7Q!N5{bd<}f$vqf3Dhd?sp%ind{{MXqG+a(dAVT2UwM{tKF*xoUu^ zp5x8Er3{x3GF;f1(S5B}Z1#yX+x2%@sVQ{#WEr(A_c_+?#L1KTC#I)sx>r1jxSdD2T=Ar$o?rs&@^B?*D{DNs=>T%m z9Rdz2b49vpDh`L2r(CYxWD`cjk^Nz|fpQ%+ggJk{Ar_MgBvW}Ae5Wmyw-N}US65kY zCSo%aPW2Z#6nE;$IGG^@5>C;YKva`Q7Ew^j6or1FbO4T`$qWY>8${&R;4r5VpeVyB z!bxPC1|o8pNCE+2BW6lrILtRR{XY$nVMTiOfumqC`^X|R#!cV?4GtTIC8LkC& zfB-xJBG^eQa}Zgug+tuSDb3@=%PVO7FGQhxSJ^rfk!Qk{5Kcrhh|rdjLa!=wL1ZJ8iu6$EYN-VgY=a2G4j}?Z7l0viGGLg<{K+qE zLJ?}zN-6XPfqW1;D62#489C7a4nm42(h zA6K>^5HW;+n*dVTH;?vP$#F*$aKM1u#RR+bJHHVT6l4ux=61", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "efsa_tools" +name = "efsa-tools" version = "1.0.0" description = "EFSA ensemble of data collections tools" readme = "README.md"