From 084eb48779f2a03ab038882e52d52c5150191a2f Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 30 Oct 2024 22:10:43 -0500 Subject: [PATCH 01/54] Doxygne->breathe->Sphinx for MLL docs --- .gitmodules | 3 + CGNS | 1 + CGNS-ReST-site/build.sh | 5 + CGNS-ReST-site/conf.py | 220 +++-- .../source/standard/MLL/CGNS_MLL.rst | 101 +- .../standard/MLL/CGNS_MLL_auxiliary.rst | 21 - .../source/standard/MLL/CGNS_MLL_bc.rst | 21 - .../standard/MLL/CGNS_MLL_connectivity.rst | 21 - .../standard/MLL/CGNS_MLL_descriptor.rst | 20 - .../source/standard/MLL/CGNS_MLL_equation.rst | 20 - .../source/standard/MLL/CGNS_MLL_error.rst | 20 - .../source/standard/MLL/CGNS_MLL_families.rst | 19 - .../source/standard/MLL/CGNS_MLL_fileops.rst | 23 - .../source/standard/MLL/CGNS_MLL_general.rst | 255 ----- .../source/standard/MLL/CGNS_MLL_grid.rst | 19 - .../source/standard/MLL/CGNS_MLL_links.rst | 20 - .../source/standard/MLL/CGNS_MLL_location.rst | 23 - .../standard/MLL/CGNS_MLL_navigating.rst | 23 - .../source/standard/MLL/CGNS_MLL_physical.rst | 20 - .../source/standard/MLL/CGNS_MLL_solution.rst | 19 - .../standard/MLL/CGNS_MLL_structural.rst | 20 - .../source/standard/MLL/CGNS_MLL_timedep.rst | 20 - .../source/standard/MLL/CGNS_PMLL_example.rst | 365 ------- .../source/standard/MLL/CGNS_PMLL_general.rst | 42 - .../source/standard/MLL/CGNS_PMLL_library.rst | 19 - .../standard/MLL/midlevel/auxiliary.html | 459 --------- .../source/standard/MLL/midlevel/bc.html | 647 ------------ .../standard/MLL/midlevel/connectivity.html | 698 ------------- .../standard/MLL/midlevel/descriptor.html | 156 --- .../standard/MLL/midlevel/equation.html | 389 -------- .../source/standard/MLL/midlevel/error.html | 69 -- .../standard/MLL/midlevel/families.html | 546 ----------- .../source/standard/MLL/midlevel/fileops.html | 535 ---------- .../source/standard/MLL/midlevel/grid.html | 917 ------------------ .../source/standard/MLL/midlevel/links.html | 112 --- .../standard/MLL/midlevel/location.html | 223 ----- .../standard/MLL/midlevel/navigating.html | 358 ------- .../standard/MLL/midlevel/pcgns_library.html | 785 --------------- .../standard/MLL/midlevel/physical.html | 626 ------------ .../standard/MLL/midlevel/solution.html | 785 --------------- .../standard/MLL/midlevel/structural.html | 335 ------- .../source/standard/MLL/midlevel/timedep.html | 437 --------- 42 files changed, 186 insertions(+), 9231 deletions(-) create mode 100644 .gitmodules create mode 160000 CGNS delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_auxiliary.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_bc.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_connectivity.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_descriptor.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_equation.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_error.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_families.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_fileops.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_general.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_grid.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_links.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_location.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_navigating.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_physical.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_solution.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_structural.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_MLL_timedep.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_example.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_general.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_library.rst delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/auxiliary.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/bc.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/connectivity.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/descriptor.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/equation.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/error.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/families.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/fileops.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/grid.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/links.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/location.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/navigating.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/pcgns_library.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/physical.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/solution.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/structural.html delete mode 100644 CGNS-ReST-site/source/standard/MLL/midlevel/timedep.html diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..e1b2f1b1 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "CGNS"] + path = CGNS + url = https://github.com/CGNS/CGNS.git diff --git a/CGNS b/CGNS new file mode 160000 index 00000000..0360632a --- /dev/null +++ b/CGNS @@ -0,0 +1 @@ +Subproject commit 0360632a9cc6642e909c33c96291d3c1cc9a7dda diff --git a/CGNS-ReST-site/build.sh b/CGNS-ReST-site/build.sh index 4a2c5ab4..f5ceb6d1 100644 --- a/CGNS-ReST-site/build.sh +++ b/CGNS-ReST-site/build.sh @@ -9,6 +9,11 @@ # this is doc generation for a UNIX host # generation is made in a separate directory, change its path here: +CURRENT_DIR=$PWD +cd .. +git submodule update --remote --merge +cd $CURRENT_DIR + export build_dir=./docs/_build/html cp -r ./images ${build_dir}/ diff --git a/CGNS-ReST-site/conf.py b/CGNS-ReST-site/conf.py index f324c158..0c7be02d 100644 --- a/CGNS-ReST-site/conf.py +++ b/CGNS-ReST-site/conf.py @@ -1,17 +1,55 @@ -# CGNS Documentation files -# See LICENSING/COPYRIGHT at root dir of this documentation sources +# Configuration file for the Sphinx documentation builder. # -# --- Project information ----------------------------------------------------- +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) +from sphinx.builders.html import StandaloneHTMLBuilder +import subprocess, os, sys +sys.path.insert(0, os.path.abspath('.')) + +# Doxygen +subprocess.call('doxygen Doxyfile', shell=True) + +# -- Project information ----------------------------------------------------- +# +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + project = 'CGNS' -copyright = '1991-2020, CGNS Steering Commmittee' -author = 'CGNS Steering Committee' -version = '4.0' # The short X.Y version -release = '4.0.0' # The full version, including alpha/beta/rc tags +# copyright is overridden by '_static/css/copyright.css' +# see https://github.com/readthedocs/sphinx_rtd_theme/issues/828 +copyright = "" +#author = 'CGNS' -# --- General configuration --------------------------------------------------- +# -- General configuration --------------------------------------------------- +# +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration +# +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.intersphinx', + 'sphinx.ext.autosectionlabel', 'sphinx.ext.todo', - 'sphinx.ext.extlinks', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + 'sphinx_sitemap', + 'sphinx.ext.inheritance_diagram', + 'sphinxfortran.fortran_domain', + 'sphinxfortran.fortran_autodoc', + 'breathe' ] # Prefix to add to ticket numbers to get the full URL to JIRA # see use in the News page @@ -21,90 +59,94 @@ suppress_warnings = [ 'image.not_readable' ] -# --- sphinx code generation params +# Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -source_suffix = '.rst' -master_doc = 'index' -language = None -exclude_patterns = ['build'] -pygments_style = 'sphinx' - -# adding Lexer -from sphinx.highlighting import lexers -import sys -sys.path.append('.') -from sidslexer import SidsLexer - -lexers["sids"] = SidsLexer() - -import guzzle_sphinx_theme - -html_theme_path = guzzle_sphinx_theme.html_theme_path() -html_theme = 'guzzle_sphinx_theme' - -# Register the theme as an extension to generate a sitemap.xml -# CGNS is based on the guzzle theme -extensions.append("guzzle_sphinx_theme") -extensions.append('sphinx.ext.mathjax') -extensions.append('sphinxfortran.fortran_domain') -#extensions.append('breathe') - -# --- Options for HTML output -html_favicon = 'CGNS_empty.ico' -html_use_index = True -html_title = 'CGNS Official Web Site' -html_static_path = ['_static'] -html_sidebars={ - '**':['searchbox.html','localtoc.html'], -} -html_theme_options = { - 'touch_icon': 'CGNS_empty.svg', - 'project_nav_name': 'CGNS doc test', -} + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +highlight_language = 'c' + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output html_css_files = [ - 'css/filemap.css', - 'css/math_override.css', - 'css/midlevel.css' + 'css/custom.css', ] -## -- Breathe configuration --- -# -#import subprocess -#import os -#import shutil -# -## clone src with doxygen -#if os.path.exists("_breathe/CGNS"): -# shutil.rmtree(os.path.join("_breathe","CGNS")) -# -#git_proc = subprocess.Popen(["git", "clone", "-b", "doxygen", "https://github.com/CGNS/CGNS.git", "_breathe/CGNS"]) -#git_proc.communicate() -# -## Generate doxygen config file -#with open("_breathe/Doxyfile.in", "r") as f: -# doxy_conf = f.read() -#doxy_conf = doxy_conf.replace("@CMAKE_CURRENT_SOURCE_DIR@", "./_breathe/CGNS") -#doxy_conf = doxy_conf.replace("@CMAKE_CURRENT_BINARY_DIR@", "./_breathe") -#with open("Doxyfile", "w") as f: -# f.write(doxy_conf) -# -## Run doxygen -#run_doxygen =subprocess.Popen(["doxygen", "Doxyfile"]) -#run_doxygen.communicate() +#html_theme = 'alabaster' +html_static_path = ['_static'] + +##html_permalinks_icon = '#' +#html_theme = 'sphinxawesome_theme' + +#MSB import guzzle_sphinx_theme +#MSBhtml_theme_path = guzzle_sphinx_theme.html_theme_path() +#MSBhtml_theme = 'guzzle_sphinx_theme' + +html_theme = 'conestack' # -#breathe_projects = { -# "CGNSMLLDoxygenBreathe": "_breathe/docs_mll/xml/" -# } -#breathe_default_project = "CGNSMLLDoxygenBreathe" -#breathe_domain_by_extension = { "h" : "c" , "c" : "c"} +html_theme_options = { + 'cs_color': '#260078', + 'cs_bg_color': 'var(--bs-indigo)', + 'logo_url': '_static/CGNS_empty.svg', + 'logo_title': ' ', + 'logo_width': '78px', + 'logo_height': '66px' +} + +#html_theme_options = { +# 'cs_color': '#F0F8FF', +# 'cs_bg_color': '#F0F8FF' +# 'logo_url': '_static/your_logo.svg', +# 'logo_title': 'CGNS/MLL - An API for C and Fortran applications', +# 'logo_width': '40px', +# 'logo_height': '40px' +#} + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. # -## Clean up -#for dirpath, dirnames, filenames in os.walk(os.path.join("_breathe","CGNS")): -# for dname in dirnames: -# os.chmod(os.path.join(dirpath, dname), 0o775) -# for fname in filenames: -# os.chmod(os.path.join(dirpath, fname), 0o775) -#shutil.rmtree(os.path.join("_breathe","CGNS")) -## -# --- last line +#html_theme = 'sphinx_rtd_theme' +#html_theme_options = { +# 'canonical_url': '', +# 'analytics_id': '', +# 'display_version': True, +# 'prev_next_buttons_location': 'bottom', +# 'style_external_links': False, +# 'logo_only': False, + # Toc options +# 'collapse_navigation': True, +# 'sticky_navigation': True, +# 'navigation_depth': 4, +# 'includehidden': True, +# 'titles_only': False +#} +# html_logo = '' +# github_url = '' +# html_baseurl = 'https://docs.example.org/doc' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + +# These paths are either relative to html_static_path +# or fully qualified paths (eg. https://...) +html_css_files = [ + "css/copyright.css", +] +fortran_src = ["../src/c.F90"] +fortran_subsection_type = "title" +# -- Breathe configuration ------------------------------------------------- + +breathe_projects = { + "CGNS Sphinx Doxygen Breathe": "./xml" +} +#breathe_implementation_filename_extensions = ['.c'] +breathe_domain_by_extension = {"h" : "c"} +breathe_default_project = "CGNS Sphinx Doxygen Breathe" +breathe_default_members = ('members', 'undoc-members') + diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL.rst index e6fabced..d5e76112 100644 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL.rst +++ b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL.rst @@ -1,55 +1,46 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - -.. _StandardMLL: - -.. index:: - single: standard; API; CGNS/MLL; - -.. _MLLIntroduction: - -CGNS/MLL - An API for C and Fortran applications -================================================ - -The **Mid-Level Library** (aka MLL) is an example implementation of the -:term:`CGNS/HDF5` file mapping providing both a C and a Fortran API. - - - -.. toctree:: - :maxdepth: 2 - - CGNS_MLL_general - CGNS_MLL_fileops - CGNS_MLL_navigating - CGNS_MLL_error - CGNS_MLL_structural - CGNS_MLL_descriptor - CGNS_MLL_physical - CGNS_MLL_location - CGNS_MLL_auxiliary - CGNS_MLL_grid - CGNS_MLL_solution - CGNS_MLL_connectivity - CGNS_MLL_bc - CGNS_MLL_equation - CGNS_MLL_families - CGNS_MLL_timedep - CGNS_MLL_links - - - -CGNS/PMLL - A Parallel I/O API -============================== - -The **Parallel Mid-level Library** (aka PMLL) is an extension of `CGNS/MLL` C and Fortran API to enable parallel aware file mapping. - -.. toctree:: - :maxdepth: 2 - - CGNS_PMLL_general - CGNS_PMLL_library - CGNS_PMLL_example - - -.. last line +.. CGNS Documentation files + See LICENSING/COPYRIGHT at root dir of this documentation sources + +.. _StandardMLL: + +.. index:: + single: standard; API; CGNS/MLL; + +.. _MLLIntroduction: + +CGNS/MLL - An API for C and Fortran applications +================================================ + +The **Mid-Level Library** (aka MLL) is an example implementation of the +:term:`CGNS/HDF5` file mapping providing both a C and a Fortran API. + +********************** +Mid-Level Library +********************** + +This document outlines a CGNS library designed to ease implementation of CGNS by +providing developers with a collection of handy I/O functions. Since knowledge of +the database manager and file structure is not required to use this library, it +greatly facilitates the task of interfacing with CGNS. + +The CGNS **Mid-Level Library** (aka MLL) is based on the TODO:ADDLINK (SIDS File Mapping Manual). +It allows reading and writing all of the information described in that manual +including grid coordinates, block interfaces, flow solutions, and boundary conditions. +Use of the mid-level library functions insures efficient communication between the +user application and the internal representation of the CGNS data. + +It is assumed that the reader is familiar with the information in the TODO:ADDLINK (CGNS Standard Interface Data Structures (SIDS)), as well as the TODO:ADDLINK (SIDS File Mapping Manual). The reader is also strongly encouraged to read the TODO:ADDLINK (User's Guide to CGNS), +which contains coding examples using the Mid-Level Library to write and read simple files containing CGNS databases. + +.. _MLLIntroduction: + +.. toctree:: + api/general_remarks + api/c_api + api/f_api + +.. toctree:: + api/c_parallel_api + + +.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_auxiliary.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_auxiliary.rst deleted file mode 100644 index 4a96189d..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_auxiliary.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLAuxiliaryData: - -Auxiliary Data --------------- - -.. raw:: html - :file: midlevel/auxiliary.html - - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_bc.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_bc.rst deleted file mode 100644 index c1f199c0..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_bc.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLBoundaryConditions: - -Boundary Conditions -------------------- - -.. raw:: html - :file: midlevel/bc.html - - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_connectivity.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_connectivity.rst deleted file mode 100644 index bf54f836..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_connectivity.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLGridConnectivity: - -Grid Connectivity ------------------ - -.. raw:: html - :file: midlevel/connectivity.html - - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_descriptor.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_descriptor.rst deleted file mode 100644 index 1635fa1e..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_descriptor.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLDescriptors: - -Descriptors ------------ - -.. raw:: html - :file: midlevel/descriptor.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_equation.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_equation.rst deleted file mode 100644 index b5b3c38d..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_equation.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLEquation: - -Equation Specification ----------------------- - -.. raw:: html - :file: midlevel/equation.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_error.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_error.rst deleted file mode 100644 index e15932a0..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_error.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLErrors: - -Error Handling --------------- - -.. raw:: html - :file: midlevel/error.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_families.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_families.rst deleted file mode 100644 index 30ca2352..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_families.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLFamilies: - -Families --------- - -.. raw:: html - :file: midlevel/families.html - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_fileops.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_fileops.rst deleted file mode 100644 index 74600838..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_fileops.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLFileOperations: - -File Operations ---------------- - -These functions usually are found in the preamble or the epilog of your -application code using the :term:`CGNS/MLL`. - -.. raw:: html - :file: midlevel/fileops.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_general.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_general.rst deleted file mode 100644 index ef431b1e..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_general.rst +++ /dev/null @@ -1,255 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLGeneral: - -General Remarks ---------------- - -The CGNS Mid-Level Library may be downloaded from the `CGNS site `_. - -Organization of the MLL documentation -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The sections that follow describe the Mid-Level Library functions in detail. -The first three sections cover some basic file operations (i.e., opening and closing a CGNS file, and some configuration options), accessing a specific node in a CGNS database, and error handling. -The remaining sections describe the functions used to read, write, and modify nodes and data in a CGNS database. These sections basically follow the organization used in the "Detailed CGNS Node Descriptions" section of the SIDS File Mapping manual. - -At the start of each sub-section is a Node line, listing the the applicable CGNS node label, with links to that node's description in the :ref:`SIDS` and :ref:`SIDS File Mapping ` manuals. - -Syntax -^^^^^^ - -Next is a table illustrating the syntax for the Mid-Level Library functions. -The C functions are shown in the top half of the table, followed by the corresponding Fortran routines in the bottom half of the table. -Fortran subroutines identified in green indicates APIs which do not have explicit interfaces. -Input variables are shown in an :in:`upright blue` font, and output variables are shown in a :out:`slanted red` font. -For each function, the right-hand column lists the modes (read, write, and/or modify) applicable to that function. - -The input and output variables are then listed and defined. - -Language -^^^^^^^^ - -The CGNS Mid-Level Library is written in C, but each function has a Fortran counterpart. -All function names start with ``"cg_"``. -The Fortran functions have the same name as their C counterpart with the addition of the suffix ``"_f"``. - -Character Strings -^^^^^^^^^^^^^^^^^ -All data structure names and labels in CGNS are limited to 32 characters. -When reading a file, it is advised to pre-allocate the character string variables to 32 characters in Fortran, and 33 in C (to include the string terminator). -Other character strings, such as the CGNS file name or descriptor text, are unlimited in length. -The space for unlimited length character strings will be created by the Mid-Level Library; it is then the responsibility of the application to release this space by a call to :c:func:`cg_free`. - -Error Status -^^^^^^^^^^^^ -All C functions return an integer value representing the error status. -All Fortran functions have an additional parameter, :code:`ier`, which contains the value of the error status. -An error status different from zero implies that an error occurred. The error message can be printed using the error handling functions of the CGNS library. -The error codes are coded in the C and Fortran include files *cgnslib.h* and *cgnslib_f.h*. - - -Typedefs -^^^^^^^^ - -Several types of variables are defined using typedefs in the *cgnslib.h* file. -These are intended to facilitate the implementation of CGNS in C. -These variable types are defined as an enumeration of key words admissible for any variable of these types. -The file *cgnslib.h* must be included in any C application programs which use these data types. - -.. warning:: - - The :code:`cgsize_t` typedef will be either a 32-bit or 64-bit integer depending on how the library was built. - Many of the C functions in the MLL use :code:`cgsize_t` instead of :code:`int` in the arguments to cope with 32/64-bit support. - These functions include any that may exceed the 2Gb limit of an int, e.g. zone dimensions, element data, boundary conditions, and connectivity. - The :code:`cglong_t` typedef is always a 64-bit integer. - -The list of enumerated values (key words) for each of these variable types (typedefs) are: - -.. list-table:: - :widths: 20 80 - - * - ZoneType_t - - ZoneTypeNull, ZoneTypeUserDefined, Structured, Unstructured - * - ElementType_t - - ElementTypeNull, ElementTypeUserDefined, NODE, BAR_2, BAR_3, TRI_3, TRI_6, QUAD_4, QUAD_8, QUAD_9, TETRA_4, TETRA_10, PYRA_5, PYRA_14, PENTA_6, PENTA_15, PENTA_18, HEXA_8, HEXA_20, HEXA_27, MIXED, PYRA_13, NGON_n, NFACE_n, BAR_4, TRI_9, TRI_10, QUAD_12, QUAD_16, TETRA_16, TETRA_20, PYRA_21, PYRA_29, PYRA_30, PENTA_24, PENTA_38, PENTA_40, HEXA_32, HEXA_56, HEXA_64, BAR_5, TRI_12, TRI_15, QUAD_P4_16, QUAD_25, TETRA_22, TETRA_34, TETRA_35, PYRA_P4_29, PYRA_50, PYRA_55, PENTA_33, PENTA_66, PENTA_75, HEXA_44, HEXA_98, HEXA_125 - * - DataType_t - - DataTypeNull, DataTypeUserDefined, Integer, RealSingle, RealDouble, Character, LongInteger - * - DataClass_t - - DataClassNull, DataClassUserDefined, Dimensional, NormalizedByDimensional, NormalizedByUnknownDimensional, NondimensionalParameter, DimensionlessConstant - * - MassUnits_t - - MassUnitsNull, MassUnitsNullUserDefined, Kilogram, Gram, Slug, PoundMass - * - LengthUnits_t - - LengthUnitsNull, LengthUnitsUserDefined, Meter, Centimeter, Millimeter, Foot, Inch - * - TimeUnits_t - - TimeUnitsNull, TimeUnitsUserDefined, Second - * - TemperatureUnits_t - - TemperatureUnitsNull, TemperatureUnitsUserDefined, Kelvin, Celsius, Rankine, Fahrenheit - * - AngleUnits_t - - AngleUnitsNull, AngleUnitsUserDefined, Degree, Radian - * - ElectricCurrentUnits_t - - ElectricCurrentUnitsNull, ElectricCurrentUnitsUserDefined, Ampere, Abampere, Statampere, Edison, auCurrent - * - SubstanceAmountUnits_t - - SubstanceAmountUnitsNull, SubstanceAmountUnitsUserDefined, Mole, Entities, StandardCubicFoot, StandardCubicMeter - * - LuminousIntensityUnits_t - - LuminousIntensityUnitsNull, LuminousIntensityUnitsUserDefined, Candela, Candle, Carcel, Hefner, Violle - * - GoverningEquationsType_t - - GoverningEquationsTypeNull, GoverningEquationsTypeUserDefined, FullPotential, Euler, NSLaminar, NSTurbulent, NSLaminarIncompressible, NSTurbulentIncompressible - * - ModelType_t - - ModelTypeNull, ModelTypeUserDefined, Ideal, VanderWaals, Constant, PowerLaw, SutherlandLaw, ConstantPrandtl, EddyViscosity, ReynoldsStress, ReynoldsStressAlgebraic, Algebraic_BaldwinLomax, Algebraic_CebeciSmith, HalfEquation_JohnsonKing, OneEquation_BaldwinBarth, OneEquation_SpalartAllmaras, TwoEquation_JonesLaunder, TwoEquation_MenterSST, TwoEquation_Wilcox, CaloricallyPerfect, ThermallyPerfect, ConstantDensity, RedlichKwong, Frozen, ThermalEquilib, ThermalNonequilib, ChemicalEquilibCurveFit, ChemicalEquilibMinimization, ChemicalNonequilib, EMElectricField, EMMagneticField, EMConductivity, Voltage, Interpolated, Equilibrium_LinRessler, Chemistry_LinRessler - * - GridLocation_t - - GridLocationNull, GridLocationUserDefined, Vertex, CellCenter, FaceCenter, IFaceCenter, JFaceCenter, KFaceCenter, EdgeCenter - * - GridConnectivityType_t - - GridConnectivityTypeNull, GridConnectivityTypeUserDefined, Overset, Abutting, Abutting1to1 - * - PointSetType_t - - PointSetTypeNull, PointSetTypeUserDefined, PointList, PointRange, PointListDonor, PointRangeDonor, ElementList, ElementRange, CellListDonor - * - BCType_t - - BCTypeNull, BCTypeUserDefined, BCAxisymmetricWedge, BCDegenerateLine, BCExtrapolate, BCDegeneratePoint, BCDirichlet, BCFarfield, BCNeumann, BCGeneral, BCInflow, BCOutflow, BCInflowSubsonic, BCOutflowSubsonic, BCInflowSupersonic, BCOutflowSupersonic, BCSymmetryPlane, BCTunnelInflow, BCSymmetryPolar, BCTunnelOutflow, BCWallViscous, BCWall, BCWallViscousHeatFlux, BCWallInviscid, BCWallViscousIsothermal, FamilySpecified - * - BCDataType_t - - BCDataTypeNull, BCDataTypeUserDefined, Dirichlet, Neumann - * - RigidGridMotionType_t - - RigidGridMotionTypeNull, RigidGridMotionTypeUserDefined, ConstantRate, VariableRate - * - ArbitraryGridMotionType_t - - ArbitraryGridMotionTypeNull, ArbitraryGridMotionTypeUserDefined, NonDeformingGrid, DeformingGrid - * - SimulationType_t - - SimulationTypeNull, SimulationTypeUserDefined, TimeAccurate, NonTimeAccurate - * - WallFunctionType_t - - WallFunctionTypeNull, WallFunctionTypeUserDefined, Generic - * - AreaType_t - - AreaTypeNull, AreaTypeUserDefined, BleedArea, CaptureArea - * - AverageInterfaceType_t - - AverageInterfaceTypeNull, AverageInterfaceTypeUserDefined, AverageAll, AverageCircumferential, AverageRadial, AverageI, AverageJ, AverageK - -.. note:: - The first two enumerated values in these lists, xxxNull and xxxUserDefined, are only available in the C interface, and are provided in the advent that your C compiler does strict type checking. - In Fortran, these values are replaced by the numerically equivalent :code:`CG_Null` and :code:`CG_UserDefined`. - These values are also defined in the C interface, thus either form may be used. - The function prototypes for the MLL use :code:`CG_Null` and :code:`CG_UserDefined`, rather than the more specific values. - - - -Character Name of Typedefs -^^^^^^^^^^^^^^^^^^^^^^^^^^ -The CGNS library defines character arrays which map the typedefs above to character strings. -These are global arrays dimensioned to the size of each list of typedefs. -To retrieve a character string representation of a typedef, use the typedef value as an index to the appropriate character array. -For example, to retrieve the string ``"Meter"`` for the ``LengthUnits_t Meter`` typedef, use ``LengthUnitsName[Meter]``. -Functions are available to retrieve these names without the need for direct global data access. -These functions also do bounds checking on the input, and if out of range, will return the string ``""``. -An additional benefit is that these will work from within a Windows DLL, and are thus the **recommended access technique**. -The routines have the same name as the global data arrays, but with a ``"cg_"`` prepended. -For the example above, use ``"cg_LengthUnitsName(Meter)"``. - - - .. table:: - - +--------------------------------------------------------------------------------------------------------------------------------+ - | Typedef Name Access Functions | - +================================================================================================================================+ - | | - | :out:`const char *name` = ``cg_MassUnitsName`` (:in:`MassUnits_t type`); | - | | - | :out:`const char *name` = ``cg_LengthUnitsName`` (:in:`LengthUnits_t type`); | - | | - | :out:`const char *name` = ``cg_TimeUnitsName`` (:in:`TimeUnits_t type`); | - | | - | :out:`const char *name` = ``cg_TemperatureUnitsName`` (:in:`TemperatureUnits_t type`); | - | | - | :out:`const char *name` = ``cg_ElectricCurrentUnitsName`` (:in:`ElectricCurrentUnits_t type`); | - | | - | :out:`const char *name` = ``cg_SubstanceAmountUnitsName`` (:in:`SubstanceAmountUnits_t type`); | - | | - | :out:`const char *name` = ``cg_LuminousIntensityUnitsName`` (:in:`LuminousIntensityUnits_t type`); | - | | - | :out:`const char *name` = ``cg_DataClassName`` (:in:`DataClass_t type`); | - | | - | :out:`const char *name` = ``cg_GridLocationName`` (:in:`GridLocation_t type`); | - | | - | :out:`const char *name` = ``cg_BCDataTypeName`` (:in:`BCDataType_t type`); | - | | - | :out:`const char *name` = ``cg_GridConnectivityTypeName`` (:in:`GridConnectivityType_t type`); | - | | - | :out:`const char *name` = ``cg_PointSetTypeName`` (:in:`PointSetType_t type`); | - | | - | :out:`const char *name` = ``cg_GoverningEquationsTypeName`` (:in:`GoverningEquationsType_t type`); | - | | - | :out:`const char *name` = ``cg_ModelTypeName`` (:in:`ModelType_t type`); | - | | - | :out:`const char *name` = ``cg_BCTypeName`` (:in:`BCType_t type`); | - | | - | :out:`const char *name` = ``cg_DataTypeName`` (:in:`DataType_t type`); | - | | - | :out:`const char *name` = ``cg_ElementTypeName`` (:in:`ElementType_t type`); | - | | - | :out:`const char *name` = ``cg_ZoneTypeName`` (:in:`ZoneType_t type`); | - | | - | :out:`const char *name` = ``cg_RigidGridMotionTypeName`` (:in:`RigidGridMotionType_t type`); | - | | - | :out:`const char *name` = ``cg_ArbitraryGridMotionTypeName`` (:in:`ArbitraryGridMotionType_t type`); | - | | - | :out:`const char *name` = ``cg_SimulationTypeName`` (:in:`SimulationType_t type`); | - | | - | :out:`const char *name` = ``cg_WallFunctionTypeName`` (:in:`WallFunctionType_t type`); | - | | - | :out:`const char *name` = ``cg_AreaTypeName`` (:in:`AreaType_t type`); | - | | - | :out:`const char *name` = ``cg_AverageInterfaceTypeName`` (:in:`AverageInterfaceType_t type`); | - | | - +--------------------------------------------------------------------------------------------------------------------------------+ - - -64-bit Portability and Issues -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -It is recommended to use :code:`cgsize_t` data type with MLL API as it will work in both 32 and 64-bit compilation modes. - -CGNS and Fortran -^^^^^^^^^^^^^^^^ -Starting with CGNS-3.3.0, a new CGNS module was added to the library. -Fortran programs can use the new module by adding :code:`USE CGNS`. -The use of include *'cgnslib_f.h'* is **deprecated** as of CGNS-3.3.0. - - .. table:: - :widths: 110 15 - - +--------------------------------------------------------------------------------------------------------------------------------+-------+ - | Fortran Helper functions | Modes | - +================================================================================================================================+=======+ - | **FUNCTION** ``cg_get_type`` (:in:`buf`) | | - | | | - | Returns the data type of *buf*, where *buf* is a scalar. This is a useful function for automatically | | - | passing the correct data type of a buffer. | | - | | | - | For example: | | - | | | - | CALL ``cg_coord_read_f`` (cg, base, zone, coordname, **cg_get_type(data(1))**, rmin, DataSize, data, ier) | | - | | | - +--------------------------------------------------------------------------------------------------------------------------------+-------+ - -Fortran APIs which can accept a null character or an empty string are encouraged to pass :code:`C_NULL_CHAR` as opposed to :code:`"\0"` or ``""``. - -The Fortran APIs have the following specifications (recommended for portability): - -- Fortran arguments should be declared as the default :code:`INTEGER` if the corresponding argument in the C API is declared as an :code:`int`. -- Fortran arguments should be declared as :code:`INTEGER(cgsize_t)` if the corresponding argument in the C API is declared as :code:`cgsize_t`. -- Fortran arguments should be declared as type :code:`INTEGER(cgenum_t)` if the corresponding argument in the C API is declared as enumerated values (:code:`enums` ). - -An integer parameter, :code:`CG_BUILD_64BIT`, can be used to tell the size of :code:`cgsize_t`, which will be set to 1 in 64-bit mode and 0 otherwise. -You may use this parameter to check at run time if the CGNS library has been compiled in 64-bit mode or not, as in: - -.. code-block:: - - if (CG_BUILD_64BIT .ne. 0) then - print *,'will not work in 64-bit mode' - stop - endif - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_grid.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_grid.rst deleted file mode 100644 index 1a063b2f..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_grid.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLGridSpecification: - -Grid Specification ------------------- - -.. raw:: html - :file: midlevel/grid.html - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_links.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_links.rst deleted file mode 100644 index 7f6d9c20..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_links.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLLinks: - -Links ------ - -.. raw:: html - :file: midlevel/links.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_location.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_location.rst deleted file mode 100644 index 7d347e80..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_location.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLLocationAndPosition: - -Location and Position ---------------------- - -These functions usually are found the the preamble or the epilog of your -application code using the :term:`CGNS/MLL`. - -.. raw:: html - :file: midlevel/location.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_navigating.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_navigating.rst deleted file mode 100644 index 45108946..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_navigating.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - -.. role:: implicit - - - -.. _MLLNavigating: - -Navigating a CGNS File ----------------------- - -.. raw:: html - :file: midlevel/navigating.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_physical.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_physical.rst deleted file mode 100644 index 9e76e55d..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_physical.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLPhysicalData: - -Physical Data -------------- - -.. raw:: html - :file: midlevel/physical.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_solution.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_solution.rst deleted file mode 100644 index 8693613c..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_solution.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLSolutionData: - -Solution Data -------------- - -.. raw:: html - :file: midlevel/connectivity.html - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_structural.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_structural.rst deleted file mode 100644 index 16bc4968..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_structural.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLStructuralNodes: - -Structural Nodes ----------------- - -.. raw:: html - :file: midlevel/structural.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_timedep.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_timedep.rst deleted file mode 100644 index 4507b6eb..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_MLL_timedep.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _MLLTimeDependentData: - -Time Dependent Data -------------------- - -.. raw:: html - :file: midlevel/timedep.html - - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_example.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_example.rst deleted file mode 100644 index b4c0d914..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_example.rst +++ /dev/null @@ -1,365 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _PMLLexample: - -CGNS/PMLL examples ------------------- - -The following examples create a 4x4x4 cube of hexahedral elements -using parallel data output. A cell-centered solution field and a -data array under a user-defined node are also created. Each process -writes a subset of the total data based on it's rank and the number -of processes. - - - - - -Fortran Example -^^^^^^^^^^^^^^^ - - -.. code-block:: fortran - - program fexample - - #ifdef WINNT - include 'cgnswin_f.h' - #endif - include 'cgnslib_f.h' - include 'mpif.h' - - integer nperside, totnodes, totelems - parameter (nperside = 5) - parameter (totnodes=nperside*nperside*nperside) - parameter (totelems=(nperside-1)*(nperside-1)*(nperside-1)) - - integer commsize, commrank, ierr - integer i, j, k, n, nn, ne - integer F, B, Z, E, S, Fs, Cx, Cy, Cz, A - integer nnodes, nelems - integer sizes(3), start, end - real*4 fx(totnodes), fy(totnodes), fz(totnodes), fd(totelems) - integer ie(8*totelems) - - !---- initialize MPI - call MPI_INIT(ierr) - call MPI_COMM_SIZE(MPI_COMM_WORLD, commsize, ierr) - call MPI_COMM_RANK(MPI_COMM_WORLD, commrank, ierr) - - !---- open file and create base and zone - sizes(1) = totnodes - sizes(2) = totelems - sizes(3) = 0 - - !---- default is MPI_COMM_WORLD, but can set another - ! communicator with this - ! call cgp_mpi_comm_f(MPI_COMM_WORLD,ierr) - - call cgp_open_f('fexample.cgns', CG_MODE_WRITE, F, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cg_base_write_f(F, 'Base', 3, 3, B, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cg_zone_write_f(F, B, 'Zone', sizes, Unstructured, Z, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- print info - if (commrank .eq. 0) then - print *, 'writing',totnodes,' coordinates and', totelems, - & ' hex elements to fexample.cgns' - endif - - !---- create data nodes for coordinates - call cgp_coord_write_f(F, B, Z, RealSingle, 'CoordinateX', - & Cx, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_coord_write_f(F, B, Z, RealSingle, 'CoordinateY', - & Cy, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_coord_write_f(F, B, Z, RealSingle, 'CoordinateZ', - & Cz, ierr) - - !---- number of nodes and range this process will write - nnodes = (totnodes + commsize - 1) / commsize - start = nnodes * commrank + 1 - end = nnodes * (commrank + 1) - if (end .gt. totnodes) end = totnodes - - !---- create the coordinate data for this process - nn = 1 - n = 1 - do k=1,nperside - do j=1,nperside - do i=1,nperside - if (n .ge. start .and. n .le. end) then - fx(nn) = i - fy(nn) = j - fz(nn) = k - nn = nn + 1 - endif - n = n + 1 - enddo - enddo - enddo - - !---- write the coordinate data in parallel - call cgp_coord_write_data_f(F, B, Z, Cx, start, end, fx, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_coord_write_data_f(F, B, Z, Cy, start, end, fy, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_coord_write_data_f(F, B, Z, Cz, start, end, fz, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- create data node for elements - call cgp_section_write_f(F, B, Z, 'Hex', HEXA_8, 1, totelems, - & 0, E, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- number of elements and range this process will write - nelems = (totelems + commsize - 1) / commsize - start = nelems * commrank + 1 - end = nelems * (commrank + 1) - if (end .gt. totelems) end = totelems - - !---- create the hex element data for this process - nn = 0 - n = 1 - do k=1,nperside-1 - do j=1,nperside-1 - do i=1,nperside-1 - if (n .ge. start .and. n .le. end) then - ne = i + nperside*((j-1)+nperside*(k-1)) - ie(nn+1) = ne - ie(nn+2) = ne + 1 - ie(nn+3) = ne + 1 + nperside - ie(nn+4) = ne + nperside - ne = ne + nperside*nperside - ie(nn+5) = ne - ie(nn+6) = ne + 1 - ie(nn+7) = ne + 1 + nperside - ie(nn+8) = ne + nperside - nn = nn + 8 - endif - n = n + 1 - enddo - enddo - enddo - - !---- write the element connectivity in parallel - call cgp_elements_write_data_f(F, B, Z, E, start, end, ie, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- create a centered solution - call cg_sol_write_f(F, B, Z, 'Solution', CellCenter, S, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_field_write_f(F, B, Z, S, RealSingle, 'CellIndex', - & Fs, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- create the field data for this process - nn = 1 - do n=1, totelems - if (n .ge. start .and. n .le. end) then - fd(nn) = n - nn = nn + 1 - endif - enddo - - !---- write the solution field data in parallel - call cgp_field_write_data_f(F, B, Z, S, Fs, start, end, fd, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- create user data under the zone and duplicate solution data - call cg_goto_f(F, B, ierr, 'Zone_t', 1, 'end') - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cg_user_data_write_f('User Data', ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cg_gorel_f(F, ierr, 'User Data', 0, 'end') - if (ierr .ne. CG_OK) call cgp_error_exit_f - call cgp_array_write_f('CellIndex', RealSingle, 1, totelems, - & A, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- write the array data in parallel - call cgp_array_write_data_f(A, start, end, fd, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - - !---- close the file and terminate MPI - call cgp_close_f(F, ierr) - if (ierr .ne. CG_OK) call cgp_error_exit_f - call MPI_FINALIZE(ierr) - end - - - -C example -^^^^^^^^^ - -.. code-block:: C - - #include ; - #include ; - - #include "pcgnslib.h" - #include "mpi.h" - - #define NODES_PER_SIDE 5 - - int main(int argc, char *argv[]) - { - int comm_size, comm_rank; - int tot_nnodes, tot_nelems, nnodes, nelems; - int F, B, Z, E, S, Fs, A, Cx, Cy, Cz; - int i, j, k, n, nn, ne; - float *x, *y, *z, *d; - cgsize_t sizes[3], *e, start, end, ncells; - static char *outfile = "cexample.cgns"; - - /* initialize MPI */ - MPI_Init(&argc,&argv); - MPI_Comm_size(MPI_COMM_WORLD, &comm_size); - MPI_Comm_rank(MPI_COMM_WORLD, &comm_rank); - - /* total number of nodes and hex elements */ - tot_nnodes = NODES_PER_SIDE * NODES_PER_SIDE * NODES_PER_SIDE; - tot_nelems = (NODES_PER_SIDE-1) * (NODES_PER_SIDE-1) * (NODES_PER_SIDE-1); - - /* open the file and create base and zone */ - sizes[0] = tot_nnodes; - sizes[1] = tot_nelems; - sizes[2] = 0; - - /* the default here is to use MPI_COMM_WORLD, - but this allows assigning of another communicator - cgp_mpi_comm(MPI_COMM_WORLD); */ - - if (cgp_open(outfile, CG_MODE_WRITE, &F) || - cg_base_write(F, "Base", 3, 3, &B) || - cg_zone_write(F, B, "Zone", sizes, Unstructured, &Z)) - cgp_error_exit(); - - /* print info */ - if (comm_rank == 0) { - printf("writing %d coordinates and %d hex elements to %s\n", - tot_nnodes, tot_nelems, outfile); - } - - /* create data nodes for coordinates */ - if (cgp_coord_write(F, B, Z, RealSingle, "CoordinateX", &Cx) || - cgp_coord_write(F, B, Z, RealSingle, "CoordinateY", &Cy) || - cgp_coord_write(F, B, Z, RealSingle, "CoordinateZ", &Cz)) - cgp_error_exit(); - - /* number of nodes and range this process will write */ - nnodes = (tot_nnodes + comm_size - 1) / comm_size; - start = nnodes * comm_rank + 1; - end = nnodes * (comm_rank + 1); - if (end > tot_nnodes) end = tot_nnodes; - - /* create the coordinate data for this process */ - x = (float *)malloc(nnodes * sizeof(float)); - y = (float *)malloc(nnodes * sizeof(float)); - z = (float *)malloc(nnodes * sizeof(float)); - nn = 0; - for (n = 1, k = 0; k < NODES_PER_SIDE; k++) { - for (j = 0; j < NODES_PER_SIDE; j++) { - for (i = 0; i < NODES_PER_SIDE; i++, n++) { - if (n >= start && n <= end) { - x[nn] = (float)i; - y[nn] = (float)j; - z[nn] = (float)k; - nn++; - } - } - } - } - - /* write the coordinate data in parallel */ - if (cgp_coord_write_data(F, B, Z, Cx, &start, &end, x) || - cgp_coord_write_data(F, B, Z, Cy, &start, &end, y) || - cgp_coord_write_data(F, B, Z, Cz, &start, &end, z)) - cgp_error_exit(); - - /* create data node for elements */ - if (cgp_section_write(F, B, Z, "Hex", HEXA_8, 1, tot_nelems, 0, &E)) - cgp_error_exit(); - - /* number of elements and range this process will write */ - nelems = (tot_nelems + comm_size - 1) / comm_size; - start = nelems * comm_rank + 1; - end = nelems * (comm_rank + 1); - if (end > tot_nelems) end = tot_nelems; - - /* create the hex element data for this process */ - e = (cgsize_t *)malloc(8 * nelems * sizeof(cgsize_t)); - nn = 0; - for (n = 1, k = 1; k < NODES_PER_SIDE; k++) { - for (j = 1; j < NODES_PER_SIDE; j++) { - for (i = 1; i < NODES_PER_SIDE; i++, n++) { - if (n >= start && n <= end) { - ne = i + NODES_PER_SIDE*((j-1)+NODES_PER_SIDE*(k-1)); - e[nn++] = ne; - e[nn++] = ne + 1; - e[nn++] = ne + 1 + NODES_PER_SIDE; - e[nn++] = ne + NODES_PER_SIDE; - ne += NODES_PER_SIDE * NODES_PER_SIDE; - e[nn++] = ne; - e[nn++] = ne + 1; - e[nn++] = ne + 1 + NODES_PER_SIDE; - e[nn++] = ne + NODES_PER_SIDE; - } - } - } - } - - /* write the element connectivity in parallel */ - if (cgp_elements_write_data(F, B, Z, E, start, end, e)) - cgp_error_exit(); - - /* create a centered solution */ - if (cg_sol_write(F, B, Z, "Solution", CellCenter, &S) || - cgp_field_write(F, B, Z, S, RealSingle, "CellIndex", &Fs)) - cgp_error_exit(); - - /* create the field data for this process */ - d = (float *)malloc(nelems * sizeof(float)); - nn = 0; - for (n = 1; n <= tot_nelems; n++) { - if (n >= start && n <= end) { - d[nn] = (float)n; - nn++; - } - } - - /* write the solution field data in parallel */ - if (cgp_field_write_data(F, B, Z, S, Fs, &start, &end, d)) - cgp_error_exit(); - - /* create user data under the zone and duplicate solution data */ - ncells = tot_nelems; - if (cg_goto(F, B, "Zone_t", 1, NULL) || - cg_user_data_write("User Data") || - cg_gorel(F, "User Data", 0, NULL) || - cgp_array_write("CellIndex", RealSingle, 1, &ncells, &A)) - cgp_error_exit(); - - /* write the array data in parallel */ - if (cgp_array_write_data(A, &start, &end, d)) - cgp_error_exit(); - - /* close the file and terminate MPI */ - cgp_close(F); - MPI_Finalize(); - return 0; - } - - -.. last_line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_general.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_general.rst deleted file mode 100644 index dcacacce..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_general.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _PMLLGeneral: - -General Remarks ---------------- - -The Parallel CGNS mid-level library, or PMLL, is built on top of the collective -I/O support in HDF5 using MPI-IO. PMLL provides specialized routines -to open and close a file for parallel I/O and read and write grid -coordinates, element data, solution data, and general arrays in a -collective fashion. The PMLL functions -are prefixed with *cgp_*, and documented in :ref:`The CGNS/PMLL Software Library `. - -All additional accesses to the data use the standard serial Mid-Level Library (MLL) -functions. A typical use of the PMLL routines in a parallel I/O program -would be: - -.. parsed-literal:: - - cgp_open --- open file for parallel I/O - cg_base_write --- create base and zone using MLL - cg_zone_write - cgp_coord_write --- create coordinate dataset for parallel I/O - cgp_coord_write_data --- write the coordinates collectively - cgp_close --- close the file - -An example Fortran and C program are given in :ref:`Example Program `. - -A detailed discussion on the implementation may be found in the PDF paper -**An Efficient and Flexible Parallel I/O implementation for the CFD General -Notation System** by Horne, Bensen, and Hauser. - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_library.rst b/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_library.rst deleted file mode 100644 index 81b126f5..00000000 --- a/CGNS-ReST-site/source/standard/MLL/CGNS_PMLL_library.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. CGNS Documentation files - See LICENSING/COPYRIGHT at root dir of this documentation sources - - -.. role:: in -.. role:: out -.. role:: sig-name(code) - :language: c - - -.. _PMLLdocumentation: - -CGNS/PMLL documentation ------------------------ - -.. raw:: html - :file: midlevel/pcgns_library.html - -.. last line diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/auxiliary.html b/CGNS-ReST-site/source/standard/MLL/midlevel/auxiliary.html deleted file mode 100644 index 2ac36c1b..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/auxiliary.html +++ /dev/null @@ -1,459 +0,0 @@ - - - - - - CGNS Mid-Level Library - Auxiliary Data - - -

Auxiliary Data

- -
    -
  • Reference State -
      -
    • cg_state_write - Create ReferenceState_t node -
    • cg_state_size - Get length of reference state description string. -
    • cg_state_read - Read text description of reference state. -
    -
  • Gravity -
      -
    • cg_gravity_write - Create Gravity_t node -
    • cg_gravity_read - Read Gravity_t node -
    -
  • Convergence History -
      -
    • cg_convergence_write - Create ConvergenceHistory_t node -
    • cg_convergence_read - Read ConvergenceHistory_t node -
    -
  • Integral Data -
      -
    • cg_integral_write - Create IntegralData_t node -
    • cg_nintegrals - Get number of IntegralData_t nodes -
    • cg_integral_read - Get name of an IntegralData_t node -
    -
  • User-Defined Data -
      -
    • cg_user_data_write - Create UserDefinedData_t node -
    • cg_nuser_data - Get number of UserDefinedData_t nodes -
    • cg_user_data_read - Get name of an UserDefinedData_t node -
    -
  • Freeing Memory -
      -
    • cg_free - Release library-allocated memory -
    -
- - -

Reference State

- -Node: ReferenceState_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_state_write(char *StateDescription); - - - w m -
- ier = cg_state_read(char **StateDescription); - - r - m -
- call cg_state_write_f(StateDescription, ier) - - - w m -
- call cg_state_size_f(Size, ier) - - r - m -
- call cg_state_read_f(StateDescription, ier) - - r - m -
- -
-Input/Output - -

- -
    - StateDescription   - Text description of reference state. -
- Size - Number of characters in the StateDescription string - (Fortran interface only) - integer. -
- ier - Error status. -
- -

-The function cg_state_write creates the -ReferenceState_t node and must be called even if -StateDescription is undefined (i.e., a blank string). -The descriptors, data arrays, data class, and dimensional units -characterizing the ReferenceState_t data structure may be added -to this data structure after its creation. - -

-The function cg_state_read reads the StateDescription -of the local ReferenceState_t node. -If StateDescription is undefined in the CGNS database, this -function returns a null string. -If StateDescription exists, the library will allocate the space -to store the description string, and return the description string to -the application. -It is the responsibility of the application to free this space when it -is no longer needed by a call to -cg_free(StateDescription). - - -

Gravity

- -Node: Gravity_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_gravity_write(int fn, int B, float *GravityVector); - - - w m -
- ier = cg_gravity_read(int fn, int B, float *GravityVector); - - r - m -
- call cg_gravity_write_f(fn, B, GravityVector, ier) - - - w m
-
- call cg_gravity_read_f(fn, B, GravityVector, ier) - - r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- GravityVector - Components of the gravity vector. - The number of components must equal PhysicalDimension. - (In Fortran, this is an array of Real*4 values.) -
- ier - Error status. -
- - -

Convergence History

- -Node: ConvergenceHistory_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_convergence_write(int niterations,
-       char *NormDefinitions);
-
- - w m -
- ier = cg_convergence_read(int *niterations,
-       char **NormDefinitions);
-
- r - m -
- call cg_convergence_write_f(niterations, NormDefinitions, ier) - - - w m
-
- call cg_convergence_read_f(niterations, NormDefinitions, ier) - - r - m -
- -
-Input/Output - - -

- -
    - niterations   - Number of iterations for which convergence information is recorded. -
- NormDefinitions - Description of the convergence information recorded in the data arrays. -
- ier - Error status. -
- -

-The function cg_convergence_write creates a -ConvergenceHistory_t node. -It must be the first one called when recording convergence history data. -The NormDefinitions may be left undefined (i.e., a blank string). -After creation of this node, the descriptors, data arrays, data class, -and dimensional units characterizing the ConvergenceHistory_t -data structure may be added. - -

-The function cg_convergence_read reads a -ConvergenceHistory_t node. -If NormDefinitions is not defined in the CGNS database, this -function returns a null string. -If NormDefinitions exists, the library will allocate the space -to store the description string, and return the description string to -the application. -It is the responsibility of the application to free this space when it -is no longer needed by a call to -cg_free(NormDefinitions). - - -

Integral Data

- -Node: IntegralData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_integral_write(char *Name); - - - w m -
- ier = cg_nintegrals(int *nintegrals); - - r - m -
- ier = cg_integral_read(int Index, char *Name); - - r - m -
- call cg_integral_write_f(Name, ier) - - - w m -
- call cg_nintegrals_f(nintegrals, ier) - - r - m -
- call cg_integral_read_f(Index, Name, ier) - - r - m -
- -
-Input/Output - - -

- -
    - Name   - Name of the IntegralData_t data structure. -
- nintegrals - Number of IntegralData_t nodes under current node. -
- Index - Integral data index number, where 1 ≤ Indexnintegrals. -
- ier - Error status. -
- - -

User-Defined Data

- -Node: UserDefinedData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_user_data_write(char *Name); - - - w m -
- ier = cg_nuser_data(int *nuserdata); - - r - m -
- ier = cg_user_data_read(int Index, char *Name); - - r - m -
- call cg_user_data_write_f(Name, ier) - - - w m -
- call cg_nuser_data_f(nuserdata, ier) - - r - m -
- call cg_user_data_read_f(Index, Name, ier) - - r - m -
- -
-Input/Output - - -

- -
    - nuserdata   - Number of UserDefinedData_t nodes under current node. -
- Name - Name of the UserDefinedData_t node. -
- Index - User-defined data index number, where 1 ≤ Indexnuserdata. -
- ier - Error status. -
- -

-After accessing a particular UserDefinedData_t node using -cg_goto, the -Point Set functions may be used to -read or write point set information for the node. -The function cg_gridlocation_write -may also be used to specify the location of the data with respect to the -grid (e.g., Vertex or FaceCenter). - -

-Multiple levels of UserDefinedData_t nodes may be written and -retrieved by positioning via cg_goto. -E.g., -

-   ier = cg_goto(fn, B, "Zone_t", Z, "UserDefinedData_t", ud1, 
-                 "UserDefinedData_t", ud2, "UserDefinedData_t", ud3, "end");
-
- - - -

Freeing Memory

- -
- --- - -
Functions - Modes -
- ier = cg_free(void *data); - - r w m -
- -
-Input/Output - - -

- -
    - data   - Data allocated by the Mid-Level Library. -
- ier - Error status. -
- -

-This function does not affect the structure of a CGNS file; it is -provided as a convenience to free memory allocated by the Mid-Level -Library. -This isn't necessary in Fortran, and thus an equivalent Fortran function -is not provided. - -

-The functions that are used to allocate memory for return values are -cg_descriptor_read, -cg_convergence_read, -cg_geo_read, -cg_link_read, -and cg_state_read. -Each of these may allocate space to contain the data returned -to the application. -It is the responsibility of the application to free this data when it is -no longer needed. -Calling cg_free is identical to calling the standard C function -free, however it is probably safer in that the memory is -freed in the same module in which it is created, particularly when the -Mid-Level Library is a shared library or DLL. -The routine checks for NULL data and will return CG_ERROR in -this case, otherwise it returns CG_OK. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/bc.html b/CGNS-ReST-site/source/standard/MLL/midlevel/bc.html deleted file mode 100644 index 4cd6725b..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/bc.html +++ /dev/null @@ -1,647 +0,0 @@ - - - - - CGNS Mid-Level Library - Boundary Conditions - - -

Boundary Conditions

- -
    -
  • Boundary Condition Type and Location -
      -
    • cg_boco_write - Write boundary condition type and data -
    • cg_boco_normal_write - Write boundary condition normals -
    • cg_nbocos - Get number of boundary condition in zone -
    • cg_boco_info - Get boundary condition info -
    • cg_boco_read - Read boundary condition data and normals -
    • cg_boco_gridlocation_write - Write boundary condition location -
    • cg_boco_gridlocation_read - Read boundary condition location -
    -
  • Boundary Condition Datasets -
      -
    • cg_dataset_write - Write boundary condition dataset info -
    • cg_dataset_read - Read boundary condition dataset info -
    • cg_bcdataset_write - Write family boundary condition dataset info -
    • cg_bcdataset_info - Get number of family boundary condition datasets -
    • cg_bcdataset_read - Read family boundary condition dataset info -
    -
  • Boundary Condition Data -
      -
    • cg_bcdata_write - Write boundary condition data -
    -
  • Special Boundary Condition Properties -
      -
    • cg_bc_wallfunction_write - Write wall function data -
    • cg_bc_area_write - Write area-related data -
    • cg_bc_wallfunction_read - Read wall function data -
    • cg_bc_area_read - Read area-related data -
    -
- - -

Boundary Condition Type and Location

- -Node: BC_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_boco_write(int fn, int B, int Z, char *boconame,
-       BCType_t bocotype, PointSetType_t ptset_type, cgsize_t npnts,
-       cgsize_t *pnts, int *BC);
-
- - w m -
- ier = cg_boco_normal_write(int fn, int B, int Z, int BC,
-       int *NormalIndex, int NormalListFlag,
-       DataType_t NormalDataType, void *NormalList);
-
- - w m -
- ier = cg_boco_gridlocation_write(int fn, int B, int Z, int BC, GridLocation_t location); - - - w m -
- ier = cg_nbocos(int fn, int B, int Z, int *nbocos); - - r - m -
- ier = cg_boco_info(int fn, int B, int Z, int BC, char *boconame,
-       BCType_t *bocotype, PointSetType_t *ptset_type, cgsize_t *npnts,
-       int *NormalIndex, cgsize_t *NormalListSize,
-       DataType_t *NormalDataType, int *ndataset);
-
- r - m -
- ier = cg_boco_read(int fn, int B, int Z, int BC, cgsize_t *pnts,
-       void *NormalList);
-
- r - m -
- ier = cg_boco_gridlocation_read(int fn, int B, int Z, int BC, GridLocation_t *location); - - r - m -
- call cg_boco_write_f(fn, B, Z, boconame, bocotype, ptset_type,
-      npnts, pnts, BC, ier)
-
- - w m -
- call cg_boco_normal_write_f(fn, B, Z, BC, NormalIndex,
-      NormalListFlag, NormalDataType, NormalList, ier)
-
- - w m -
- call cg_boco_gridlocation_write_f(fn, B, Z, BC, location, ier) - - - w m -
- call cg_nbocos_f(fn, B, Z, nbocos, ier) - - r - m -
- call cg_boco_info_f(fn, B, Z, BC, boconame, bocotype, ptset_type,
-      npnts, NormalIndex, NormalListSize, NormalDataType, ndataset,
-      ier)
-
- r - m -
- call cg_boco_read_f(fn, B, Z, BC, pnts, NormalList, ier) - - r - m -
- call cg_boco_gridlocation_read_f(fn, B, Z, BC, location, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- BC - Boundary condition index number, where - 1 ≤ BCnbocos. -
- nbocos - Number of boundary conditions in zone Z. -
- boconame - Name of the boundary condition. -
- bocotype - Type of boundary condition defined. - See the eligible types for BCType_t in the - Typedefs section. - Note that if bocotype is FamilySpecified - the boundary condition type is being specified for the family - to which the boundary belongs. - The boundary condition type for the family may be read and written - using cg_fambc_read and - cg_fambc_write. -
- ptset_type - The extent of the boundary condition may be defined using a range - of points or elements using PointRange, or using a - discrete list of all points or elements at which the boundary - condition is applied using PointList. - When the boundary condition is to be applied anywhere other than points, - then GridLocation_t under the BC_t node must - be used to indicate this. - The value of GridLocation_t may be read or written by - cg_boco_gridlocation_read and cg_boco_gridlocation_write. - As in previous versions of the library, this may also be done by - first using cg_goto - to access the BC_t node, then using - cg_gridlocation_read - or cg_gridlocation_write. -
- npnts - Number of points or elements defining the boundary - condition region. - For a ptset_type of PointRange, - npnts is always two. - For a ptset_type of PointList, - npnts is the number of points or elements in the list. -
- pnts - Array of point or element indices defining the boundary condition region. - There should be npnts values, each of dimension - IndexDimension - (i.e., 1 for unstructured grids, and 2 or 3 for structured grids - with 2-D or 3-D elements, respectively). -
- NormalIndex - Index vector indicating the computational coordinate direction - of the boundary condition patch normal. -
- NormalListFlag - Flag indicating if the normals are defined in NormalList - and are to be written out; 1 if they are defined, 0 if they're not. -
- NormalListSize - If the normals are defined in NormalList, - NormalListSize is the number of points - in the patch times phys_dim, the number of coordinates - required to define a vector in the field. - If the normals are not defined in NormalList, - NormalListSize is 0. -
- NormalDataType - Data type used in the definition of the normals. - Admissible data types for the normals are RealSingle and - RealDouble. -
- NormalList - List of vectors normal to the boundary condition patch pointing - into the interior of the zone. -
- ndataset - Number of boundary condition datasets for the current boundary - condition. -
- location - Grid location used in the definition of the point set. - The currently admissible locations are Vertex (the default - if not given), and CellCenter. Interpretation of - CellCenter, and additional allowable values of grid location - depends on the base cell dimension. For CellDim=1, - CellCenter refers to line elements. For CellDim=2, - CellCenter refers to area elements, and the additional - value EdgeCenter is allowed. For CellDim=3, - CellCenter refers to volume elements, and in addition to - EdgeCenter, the values of FaceCenter, - IFaceCenter, JFaceCenter, and KFaceCenter - may be used. -
- ier - Error status. -
- -
-Notes: (see CPEX 0031) -
    -
  • The use of ElementList and ElementRange for - ptset_type is deprecated and should not be used - in new code for writing boundary conditions. These are still currently - accepted, but will be internally replaced with the appropriate values - of PointList/PointRange and GridLocation_t, - based on the base cell dimension. -
  • Code which reads older CGNS files, should handle ElementList - and ElementRange, however, since many older files contain - these specifications for ptset_type. -
- - -

Boundary Condition Datasets

- -Node: BCDataSet_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_dataset_write(int fn, int B, int Z, int BC,
-       char *DatasetName, BCType_t BCType, int *Dset);
-
- - w m -
- ier = cg_dataset_read(int fn, int B, int Z, int BC, int Dset,
-       char *DatasetName, BCType_t *BCType, int *DirichletFlag,
-       int *NeumannFlag);
-
- r - m -
- call cg_dataset_write_f(fn, B, Z, BC, DatasetName, BCType, Dset,
-      ier)
-
- - w m -
- call cg_dataset_read_f(fn, B, Z, BC, Dset, DatasetName, BCType,
-      DirichletFlag, NeumannFlag, ier)
-
- r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- BC - Boundary condition index number, where - 1 ≤ BCnbocos. -
- Dset - Dataset index number, where - 1 ≤ Dsetndataset. -
- DatasetName - Name of dataset. -
- BCType - Simple boundary condition type for the dataset. - The supported types are listed in the table of - Simple Boundary - Condition Types in the SIDS manual, but note that - FamilySpecified does not apply here. -
- DirichletFlag - Flag indicating if the dataset contains Dirichlet data. -
- NeumannFlag - Flag indicating if the dataset contains Neumann data. -
- ier - Error status. -
- -

-The above functions are applicable to BCDataSet_t nodes -that are children of BC_t nodes. - -

-For BCDataSet_t nodes that are children of a BC_t node, -after accessing a particular BCDataSet_t node using -cg_goto, the -Point Set functions may be used to -read or write the locations at which the boundary conditions are to be -applied. -This is only applicable when the boundary conditions are to be applied -at locations different from those used with -cg_boco_write to define the boundary -condition region (e.g., when the region is being defined by -specification of vertices, but the boundary conditions are to be applied -at face centers). - -

-When writing point set data to a BCDataSet_t node, in addition -to the specification of the indices using cg_ptset_write, the -function cg_gridlocation_write -must also be used to specify the location of the data with respect to -the grid (e.g., Vertex or FaceCenter). - - -

- --- - - -
Functions - Modes -
- ier = cg_bcdataset_write(char *DatasetName, BCType_t BCType,
-       BCDataType_t BCDataType);
-
- - w m -
- ier = cg_bcdataset_info(int *ndataset); - - r - m -
- ier = cg_bcdataset_read(int Dset, char *DatasetName, BCType_t *BCType,
-       int *DirichletFlag, int *NeumannFlag);
-
- r - m -
- call cg_bcdataset_write_f(DatasetName, BCType, BCDataType, ier) - - - w m -
- call cg_bcdataset_info_f(ndataset, ier) - - r - m -
- call cg_bcdataset_read_f(Dset, DatasetName, BCType, DirichletFlag,
-      NeumannFlag, ier)
-
- r - m -
- -
-Input/Output - - -

- -
    - Dset   - Dataset index number, where - 1 ≤ Dsetndataset. -
- DatasetName - Name of dataset. -
- BCType - Simple boundary condition type for the dataset. - The supported types are listed in the table of - Simple Boundary - Condition Types in the SIDS manual, but note that - FamilySpecified does not apply here. -
- BCDataType - Type of boundary condition in the dataset (i.e., for a - BCData_t child node). - Admissible types are Dirichlet and Neumann. -
- ndataset - Number of BCDataSet nodes under the current - FamilyBC_t node. -
- DirichletFlag - Flag indicating if the dataset contains Dirichlet data. -
- NeumannFlag - Flag indicating if the dataset contains Neumann data. -
- ier - Error status. -
- -

-The above functions are applicable to BCDataSet_t nodes -that are used to define boundary conditions for a CFD family, and thus -are children of a FamilyBC_t node. -The FamilyBC_t node must first be accessed using -cg_goto. - -

-The first time cg_bcdataset_write is called with a particular -DatasetName, BCType, and BCDataType, a new -BCDataSet_t node is created, with a child BCData_t node. -Subsequent calls with the same DatasetName and BCType -may be made to add additional BCData_t nodes, of type -BCDataType, to the existing BCDataSet_t node. - - -

Boundary Condition Data

- -Node: BCData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_bcdata_write(int fn, int B, int Z, int BC, int Dset,
-       BCDataType_t BCDataType);
-
- - w m -
- call cg_bcdata_write_f(fn, B, Z, BC, Dset, BCDataType, ier) - - - w m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- BC - Boundary condition index number, where - 1 ≤ BCnbocos. -
- Dset - Dataset index number, where - 1 ≤ Dsetndataset. -
- BCDataType - Type of boundary condition in the dataset. - Admissible boundary condition types are Dirichlet and - Neumann. -
- ier - Error status. -
- -

-To write the boundary condition data itself, after creating the -BCData_t node using the function cg_bcdata_write, use -cg_goto to access the node, -then cg_array_write to -write the data. -Note that when using cg_goto to access a BCData_t -node, the node index should be specified as either Dirichlet or -Neumann, depending on the type of boundary condition. -See the description of cg_goto -for details. - - -

Special Boundary Condition Properties

- -Node: BCProperty_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_bc_wallfunction_write(int fn, int B, int Z, int BC,
-       WallFunctionType_t WallFunctionType);
-
- - w m -
- ier = cg_bc_area_write(int fn, int B, int Z, int BC,
-       AreaType_t AreaType, float SurfaceArea, char *RegionName);
-
- - w m -
- ier = cg_bc_wallfunction_read(int fn, int B, int Z, int BC,
-       WallFunctionType_t *WallFunctionType);
-
- r - m -
- ier = cg_bc_area_read(int fn, int B, int Z, int BC,
-       AreaType_t *AreaType, float *SurfaceArea, char *RegionName);
-
- r - m -
- call cg_bc_wallfunction_write_f(fn, B, Z, BC, WallFunctionType, ier) - - - w m -
- call cg_bc_area_write_f(fn, B, Z, BC, AreaType, SurfaceArea,
-      RegionName, ier)
-
- - w m -
- call cg_bc_wallfunction_read_f(fn, B, Z, BC, WallFunctionType, ier) - - r - m -
- call cg_bc_area_read_f(fn, B, Z, BC, AreaType, SurfaceArea,
-      RegionName, ier)
-
- r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where - 1 ≤ Bnbases. -
- Z - Zone index number, where - 1 ≤ Znzones. -
- BC - Boundary condition index number, where - 1 ≤ BCnbocos. -
- WallFunctionType - The wall function type. - Valid types are CG_Null, CG_UserDefined, and - Generic. -
- AreaType - The type of area. - Valid types are CG_Null, CG_UserDefined, - BleedArea, and CaptureArea. -
- SurfaceArea - The size of the area. (In Fortran, this is a Real*4 value.) -
- RegionName - The name of the region, 32 characters max. -
- ier - Error status. -
- -

-The "write" functions will create the BCProperty_t -node if it doesn't already exist, then add the appropriate boundary -condition property. -Multiple boundary condition properties may be recorded under the same -BCProperty_t node. - -

-The "read" functions will return with ier = 2 = -CG_NODE_NOT_FOUND if the requested boundary condition property, -or the BCProperty_t node itself, doesn't exist. - -

- - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/connectivity.html b/CGNS-ReST-site/source/standard/MLL/midlevel/connectivity.html deleted file mode 100644 index cd99aa15..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/connectivity.html +++ /dev/null @@ -1,698 +0,0 @@ - - - - - - CGNS Mid-Level Library - Grid Connectivity - - -

Grid Connectivity

- -
    -
  • One-to-One Connectivity -
      -
    • cg_n1to1_global - Get total number of 1-to-1 interfaces in a database -
    • cg_1to1_read_global - Read data for all 1-to-1 interfaces in a database -
    • cg_1to1_write - Write 1-to-1 connectivity data for a zone -
    • cg_n1to1 - Get number of 1-to-1 interfaces in a zone -
    • cg_1to1_read - Read 1-to-1 connectivity data for a zone -
    -
  • Generalized Connectivity -
      -
    • cg_conn_write - Write generalized connectivity data -
    • cg_conn_write_short - Write generalized connectivity data without donor information -
    • cg_nconns - Get number of generalized connectivity interfaces in a zone -
    • cg_conn_info - Get info about a generalized connectivity interface -
    • cg_conn_read - Read generalized connectivity data -
    -
  • Special Grid Connectivity Properties -
      -
    • cg_conn_periodic_write - Write data for periodic interface -
    • cg_conn_average_write - Write data for averaging interface -
    • cg_conn_periodic_read - Read data for periodic interface -
    • cg_conn_average_read - Read data for averaging interface -
    -
  • Overset Holes -
      -
    • cg_hole_write - Write overset hole data -
    • cg_nholes - Get number of overset holes in a zone -
    • cg_hole_info - Get info about an overset hole -
    • cg_hole_read - Read overset hole data -
    -
- - -

1-to-1 Connectivity

- -Node: GridConnectivity1to1_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_n1to1_global(int fn, int B, int *n1to1_global); - - r - m -
- ier = cg_1to1_read_global(int fn, int B, char **connectname,
-       char **zonename, char **donorname, cgsize_t **range,
-       cgsize_t **donor_range, int **transform);
-
- r - m -
- call cg_n1to1_global_f(fn, B, n1to1_global, ier) - - r - m -
- call cg_1to1_read_global_f(fn, B, connectname, zonename,
-      donorname, range, donor_range, transform, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- n1to1_global - Total number of one-to-one interfaces in base B, - stored under GridConnectivity1to1_t nodes. - (I.e., this does not include one-to-one interfaces that may be - stored under GridConnectivity_t nodes, used for - generalized zone interfaces.) - Note that the function cg_n1to1 (described below) may - be used to get the number of one-to-one interfaces in a specific - zone. -
- connectname - Name of the interface. -
- zonename - Name of the first zone, for all one-to-one interfaces in base - B. -
- donorname - Name of the second zone, for all one-to-one interfaces in base - B. -
- range - Range of points for the first zone, for all one-to-one interfaces - in base B. -
- donor_range - Range of points for the current zone, for all one-to-one interfaces - in base B. -
- transform - Short hand notation for the - transformation matrix - defining the relative orientation of the two zones. - This transformation is given for all one-to-one interfaces in - base B. -
- ier - Error status. -
- -

-The above functions may be used to get information about all the -one-to-one zone interfaces in a CGNS database. - -

- --- - - -
Functions - Modes -
- ier = cg_1to1_write(int fn, int B, int Z, char *connectname,
-       char *donorname, cgsize_t *range, cgsize_t *donor_range,
-       int *transform, int *I);
-
- - w m -
- ier = cg_n1to1(int fn, int B, int Z, int *n1to1); - - r - m -
- ier = cg_1to1_read(int fn, int B, int Z, int I, char *connectname,
-       char *donorname, cgsize_t *range, cgsize_t *donor_range,
-       int *transform);
-
- r - m -
- call cg_1to1_write_f(fn, B, Z, connectname, donorname, range,
-      donor_range, transform, I, ier)
-
- - w m -
- call cg_n1to1_f(fn, B, Z, n1to1, ier) - - r - m -
- call cg_1to1_read_f(fn, B, Z, I, connectname, donorname, range,
-      donor_range, transform, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- I - Interface index number, where - 1 ≤ In1to1. -
- n1to1 - Number of one-to-one interfaces in zone Z, stored under - GridConnectivity1to1_t nodes. - (I.e., this does not include one-to-one interfaces that may be - stored under GridConnectivity_t nodes, used for - generalized zone interfaces.) -
- connectname - Name of the interface. -
- donorname - Name of the zone interfacing with the current zone. -
- range - Range of points for the current zone. -
- donor_range - Range of points for the donor zone. -
- transform - Short hand notation for the - transformation matrix - defining the relative orientation of the two zones. -
- ier - Error status. -
- -

-The above functions are used to read and write one-to-one connectivity -data for a specific zone. - - -

Generalized Connectivity

- -Node: GridConnectivity_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_conn_write(int fn, int B, int Z, char *connectname,
-       GridLocation_t location, GridConnectivityType_t connect_type,
-       PointSetType_t ptset_type, cgsize_t npnts, cgsize_t *pnts,
-       char *donorname, ZoneType_t donor_zonetype,
-       PointSetType_t donor_ptset_type, DataType_t donor_datatype,
-       cgsize_t ndata_donor, cgsize_t *donor_data, int *I);
-
- - w m -
- ier = cg_conn_write_short(int fn, int B, int Z, char *connectname,
-       GridLocation_t location, GridConnectivityType_t connect_type,
-       PointSetType_t ptset_type, cgsize_t npnts, cgsize_t *pnts, char *donorname,
-       int *I);
-
- - w m -
- ier = cg_nconns(int fn, int B, int Z, int *nconns); - - r - m -
- ier = cg_conn_info(int fn, int B, int Z, int I, char *connectname,
-       GridLocation_t *location, GridConnectivityType_t *connect_type,
-       PointSetType_t *ptset_type, cgsize_t *npnts, char *donorname,
-       ZoneType_t *donor_zonetype, PointSetType_t *donor_ptset_type,
-       DataType_t *donor_datatype, cgsize_t *ndata_donor);
-
- r - m -
- ier = cg_conn_read(int fn, int B, int Z, int I, cgsize_t *pnts,
-       DataType_t donor_datatype, cgsize_t *donor_data);
-
- r - m -
- ier = cg_conn_read_short(int fn, int B, int Z, int I, cgsize_t *pnts); - - r - m -
- call cg_conn_write_f(fn, B, Z, connectname, location, connect_type,
-      ptset_type, npnts, pnts, donorname, donor_zonetype,
-      donor_ptset_type, donor_datatype, ndata_donor, donor_data,
-      I, ier)
-
- - w m -
- call cg_conn_write_short_f(fn, B, Z, connectname, location, connect_type,
-      ptset_type, npnts, pnts, donorname, I, ier)
-
- - w m -
- call cg_nconns_f(fn, B, Z, nconns, ier) - - r - m -
- call cg_conn_info_f(fn, B, Z, I, connectname, location,
-      connect_type, ptset_type, npnts, donorname, donor_zonetype,
-      donor_ptset_type, donor_datatype, ndata_donor, ier)
-
- r - m -
- call cg_conn_read_f(fn, B, Z, I, pnts, donor_datatype, donor_data, ier) - - r - m -
- call cg_conn_read_short_f(fn, B, Z, I, pnts, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- I - Interface index number, where - 1 ≤ Inconns. -
- nconns - Number of interfaces for zone Z. -
- connectname - Name of the interface. -
- location - Grid location used in the definition of the point set. - The currently admissible locations are Vertex and - CellCenter. -
- connect_type - Type of interface being defined. - The admissible types are Overset, Abutting, - and Abutting1to1. -
- ptset_type - Type of point set defining the interface in the current zone; - either PointRange or PointList. -
- donor_ptset_type - Type of point set defining the interface in the donor zone; - either PointListDonor or CellListDonor. -
- npnts - Number of points defining the interface in the current zone. - For a ptset_type of PointRange, npnts - is always two. - For a ptset_type of PointList, npnts is - the number of points in the PointList. -
- ndata_donor - Number of points or cells in the current zone. - These are paired with points, cells, or fractions thereof in the - donor zone. -
- donorname - Name of the zone interfacing with the current zone. -
- donor_datatype - Data type in which the donor points are stored in the file. - As of Version 3.0, this value is ignored when writing, and on - reading it will return either Integer or LongInteger - depending on whether the file was written using 32 or 64-bit. - The donor_datatype argument was left in these functions - only for backward compatibility. The donor data is always read - as cgsize_t. -
- pnts - Array of points defining the interface in the current zone. -
- donor_data - Array of donor points or cells corresponding to - ndata_donor. - Note that it is possible that the same donor point or cell may - be used multiple times. -
- donor_zonetype - Type of the donor zone. - The admissible types are Structured and Unstructured. -
- ier - Error status. -
- -

-Note that the interpolation factors stored -in the InterpolantsDonor data array are accessed using the -cg_goto and -cg_array_xxx -functions. - - -

Special Grid Connectivity Properties

- -Node: GridConnectivityProperty_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_conn_periodic_write(int fn, int B, int Z, int I,
-       float *RotationCenter, float *RotationAngle, float *Translation);
-
- - w m -
- ier = cg_conn_average_write(int fn, int B, int Z, int I,
-       AverageInterfaceType_t AverageInterfaceType);
-
- - w m -
- ier = cg_1to1_periodic_write(int fn, int B, int Z, int I,
-       float *RotationCenter, float *RotationAngle, float *Translation);
-
- - w m -
- ier = cg_1to1_average_write(int fn, int B, int Z, int I,
-       AverageInterfaceType_t AverageInterfaceType);
-
- - w m -
- ier = cg_conn_periodic_read(int fn, int B, int Z, int I,
-       float *RotationCenter, float *RotationAngle, float *Translation);
-
- r - m -
- ier = cg_conn_average_read(int fn, int B, int Z, int I,
-       AverageInterfaceType_t *AverageInterfaceType);
-
- r - m -
- ier = cg_1to1_periodic_read(int fn, int B, int Z, int I,
-       float *RotationCenter, float *RotationAngle, float *Translation);
-
- r - m -
- ier = cg_1to1_average_read(int fn, int B, int Z, int I,
-       AverageInterfaceType_t *AverageInterfaceType);
-
- r - m -
- call cg_conn_periodic_write_f(fn, B, Z, I, RotationCenter,
-      RotationAngle, Translation, ier)
-
- - w m -
- call cg_conn_average_write_f(fn, B, Z, I, AverageInterfaceType, ier) - - - w m -
- call cg_1to1_periodic_write_f(fn, B, Z, I, RotationCenter,
-      RotationAngle, Translation, ier)
-
- - w m -
- call cg_1to1_average_write_f(fn, B, Z, I, AverageInterfaceType, ier) - - - w m -
- call cg_conn_periodic_read_f(fn, B, Z, I, RotationCenter,
-      RotationAngle, Translation, ier)
-
- r - m -
- call cg_conn_average_read_f(fn, B, Z, I, AverageInterfaceType, ier) - - r - m -
- call cg_1to1_periodic_read_f(fn, B, Z, I, RotationCenter,
-      RotationAngle, Translation, ier)
-
- r - m -
- call cg_1to1_average_read_f(fn, B, Z, I, AverageInterfaceType, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where - 1 ≤ Bnbases. -
- Z - Zone index number, where - 1 ≤ Znzones. -
- I - Grid connectivity index number, where - 1 ≤ Inconns for the "cg_conn" - functions, and 1 ≤ In1to1 for the - "cg_1to1" functions. -
- RotationCenter - An array of size phys_dim defining - the coordinates of the origin for defining the rotation angle - between the periodic interfaces. - (phys_dim is the number of coordinates required to - define a vector in the field.) - (In Fortran, this is an array of Real*4 values.) -
- RotationAngle - An array of size phys_dim defining - the rotation angle from the current interface to the connecting - interface. - If rotating about more than one axis, the rotation is performed - first about the x-axis, then the y-axis, then the z-axis. - (In Fortran, this is an array of Real*4 values.) -
- Translation - An array of size phys_dim defining - the translation from the current interface to the connecting - interface. - (In Fortran, this is an array of Real*4 values.) -
- AverageInterfaceType - The type of averaging to be done. - Valid types are CG_Null, CG_UserDefined, - AverageAll, AverageCircumferential, - AverageRadial, AverageI, AverageJ, and - AverageK. -
- ier - Error status. -
- -

-These functions may be used to store special grid connectivity properties. -The "cg_conn" functions apply to generalized grid -connectivity nodes (i.e., GridConnectivity_t), and the -"cg_1to1" functions apply to 1-to-1 grid connectivity nodes -(i.e., GridConnectivity1to1_t). - -

-The "write" functions will create the -GridConnectivityProperty_t node if it doesn't already exist, -then add the appropriate connectivity property. -Multiple grid connectivity properties may be recorded under the same -GridConnectivityProperty_t node. - -

-The "read" functions will return with ier = 2 = -CG_NODE_NOT_FOUND if the requested connectivity property, or the -GridConnectivityProperty_t node itself, doesn't exist. - - -

Overset Holes

- -Node: OversetHoles_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_hole_write(int fn, int B, int Z, char *holename,
-       GridLocation_t location, PointSetType_t ptset_type, int nptsets,
-       cgsize_t npnts, cgsize_t *pnts, int *I);
-
- - w m -
- ier = cg_nholes(int fn, int B, int Z, int *nholes); - - r - m -
- ier = cg_hole_info(int fn, int B, int Z, int I, char *holename,
-       GridLocation_t *location, PointSetType_t *ptset_type, int *nptsets,
-       cgsize_t *npnts);
-
- r - m -
- ier = cg_hole_read(int fn, int B, int Z, int I, cgsize_t *pnts); - - r - m -
- call cg_hole_write_f(fn, B, Z, holename, location, ptset_type,
-      nptsets, npnts, pnts, I, ier)
-
- - w m -
- call cg_nholes_f(fn, B, Z, nholes, ier) - - r - m -
- call cg_hole_info_f(fn, B, Z, I, holename, location, ptset_type,
-      nptsets, npnts, ier)
-
- r - m -
- call cg_hole_read_f(fn, B, Z, I, pnts, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- I - Overset hole index number, where - 1 ≤ Inholes. -
- nholes - Number of overset holes in zone Z. -
- holename - Name of the overset hole. -
- location - Grid location used in the definition of the point set. - The currently admissible locations are Vertex and - CellCenter. -
- ptset_type - The extent of the overset hole may be defined using a range of - points or cells, or using a discrete list of all points or cells - in the overset hole. - If a range of points or cells is used, ptset_type is set - to PointRange. - When a discrete list of points or cells is used, - ptset_type equals PointList. -
- nptsets - Number of point sets used to define the hole. - If ptset_type is PointRange, several point sets - may be used. - If ptset_type is PointList, only one point set - is allowed. -
- npnts - Number of points (or cells) in the point set. - For a ptset_type of PointRange, npnts - is always two. - For a ptset_type of PointList, npnts is - the number of points or cells in the PointList. -
- pnts - Array of points or cells in the point set. -
- ier - Error status. -
- -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/descriptor.html b/CGNS-ReST-site/source/standard/MLL/midlevel/descriptor.html deleted file mode 100644 index 82df4bd8..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/descriptor.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - CGNS Mid-Level Library - Descriptors - - -

Descriptors

- -
    -
  • Descriptive Text -
      -
    • cg_descriptor_write - Write descriptive text -
    • cg_ndescriptors - Get number of descriptors in file -
    • cg_descriptor_size - Get size of descriptor data -
    • cg_descriptor_read - Read descriptive text -
    -
  • Ordinal Value -
      -
    • cg_ordinal_write - Write ordinal value -
    • cg_ordinal_read - Read ordinal value -
    -
- - -

Descriptive Text

- -Node: Descriptor_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_descriptor_write(char *name, char *text); - - - w m -
- ier = cg_ndescriptors(int *ndescriptors); - - r - m -
- ier = cg_descriptor_read(int D, char *name, char **text); - - r - m -
- call cg_descriptor_write_f(name, text, ier) - - - w m -
- call cg_ndescriptors_f(ndescriptors, ier) - - r - m -
- call cg_descriptor_size_f(D, size, ier) - - r - m -
- call cg_descriptor_read_f(D, name, text, ier) - - r - m -
- -
-Input/Output - -

- -
    - ndescriptors   - Number of Descriptor_t nodes under the current node. -
- D - Descriptor index number, where 1 ≤ Dndescriptors. -
- name - Name of the Descriptor_t node. -
- text - Description held in the Descriptor_t node. -
- size - Size of the descriptor data (Fortran interface only) - integer. -
- ier - Error status. -
- -

-Note that with cg_descriptor_read the memory for the descriptor -character string, text, will be allocated by the Mid-Level -Library. -The application code is responsible for releasing this memory when it is -no longer needed by calling -cg_free(text). - - -

Ordinal Value

- -Node: Ordinal_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_ordinal_write(int Ordinal); - - - w m -
- ier = cg_ordinal_read(int *Ordinal); - - r - m -
- call cg_ordinal_write_f(Ordinal, ier) - - - w m -
- call cg_ordinal_read_f(Ordinal, ier) - - r - m -
- -
-Input/Output - -

- -
    - Ordinal   - Any integer value. -
- ier - Error status. -
- -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/equation.html b/CGNS-ReST-site/source/standard/MLL/midlevel/equation.html deleted file mode 100644 index 8b65cdf0..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/equation.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - CGNS Mid-Level Library - Equation Specification - - -

Equation Specification

- -
    -
  • Flow Equation Set -
      -
    • cg_equationset_write - Write dimensionality of flow equations -
    • cg_equationset_read - Read flow equation set info -
    • cg_equationset_chemistry_read - Read chemistry equation set info -
    • cg_equationset_elecmagn_read - Read electromagnetic equation set info -
    -
  • Governing Equations -
      -
    • cg_governing_write - Write type of governing equation -
    • cg_governing_read - Read type of governing equation -
    • cg_diffusion_write - Write flags for diffusion terms -
    • cg_diffusion_read - Read flags for diffusion terms -
    -
  • Auxiliary Models -
      -
    • cg_model_write - Write auxiliary model types -
    • cg_model_read - Read auxiliary model types -
    -
- - -

Flow Equation Set

- -Node: FlowEquationSet_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_equationset_write(int EquationDimension); - - - w m -
- ier = cg_equationset_read(int *EquationDimension,
-       int *GoverningEquationsFlag, int *GasModelFlag,
-       int *ViscosityModelFlag, int *ThermalConductModelFlag,
-       int *TurbulenceClosureFlag, int *TurbulenceModelFlag);
-
- r - m -
- ier = cg_equationset_chemistry_read(int *ThermalRelaxationFlag,
-       int *ChemicalKineticsFlag);
-
- r - m -
- ier = cg_equationset_elecmagn_read(int *ElecFldModelFlag,
-       int *MagnFldModelFlag, int *ConductivityModelFlag);
-
- r - m -
- call cg_equationset_write_f(EquationDimension, ier) - - - w m -
- call cg_equationset_read_f(EquationDimension,
-      GoverningEquationsFlag, GasModelFlag, ViscosityModelFlag,
-      ThermalConductModelFlag, TurbulenceClosureFlag,
-      TurbulenceModelFlag, ier)
-
- r - m -
- call cg_equationset_chemistry_read_f(ThermalRelaxationFlag,
-      ChemicalKineticsFlag, ier)
-
- r - m -
- call cg_equationset_elecmagn_read_f(ElecFldModelFlag,
-      MagnFldModelFlag, ConductivityModelFlag, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - EquationDimension   - Dimensionality of the governing equations; it is the number of - spatial variables describing the flow. -
- GoverningEquationsFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of the governing equations; - 0 if it doesn't, 1 if it does. -
- GasModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a gas model; - 0 if it doesn't, 1 if it does. -
- ViscosityModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a viscosity model; - 0 if it doesn't, 1 if it does. -
- ThermalConductModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a thermal conductivity model; - 0 if it doesn't, 1 if it does. -
- TurbulenceClosureFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of the turbulence closure; - 0 if it doesn't, 1 if it does. -
- TurbulenceModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a turbulence model; - 0 if it doesn't, 1 if it does. -
- ThermalRelaxationFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a thermal relaxation model; - 0 if it doesn't, 1 if it does. -
- ChemicalKineticsFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a chemical kinetics model; - 0 if it doesn't, 1 if it does. -
- ElecFldModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of an electric field model for - electromagnetic flows;; - 0 if it doesn't, 1 if it does. -
- MagnFldModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a magnetic field model for - electromagnetic flows;; - 0 if it doesn't, 1 if it does. -
- ConductivityModelFlag - Flag indicating whether or not this FlowEquationSet_t - node includes the definition of a conductivity model for - electromagnetic flows; - 0 if it doesn't, 1 if it does. -
- ier - Error status. -
- - -

Governing Equations

- -Node: GoverningEquations_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_governing_write(GoverningEquationsType_t Equationstype); - - - w m -
- ier = cg_governing_read(GoverningEquationsType_t *EquationsType); - - r - m -
- ier = cg_diffusion_write(int *diffusion_model); - - - w m -
- ier = cg_diffusion_read(int *diffusion_model); - - r - m -
- call cg_governing_write_f(EquationsType, ier) - - - w m -
- call cg_governing_read_f(EquationsType, ier) - - r - m -
- call cg_diffusion_write_f(diffusion_model, ier) - - - w m -
- call cg_diffusion_read_f(diffusion_model, ier) - - r - m -
- -
-Input/Output - -

- -
    - EquationsType   - Type of governing equations. - The admissible types are CG_Null, CG_UserDefined, - FullPotential, Euler, NSLaminar, - NSTurbulent, NSLaminarIncompressible, and - NSTurbulentIncompressible. -
- diffusion_model - Flags defining which diffusion terms are included in the governing - equations. - This is only applicable to the Navier-Stokes equations with - structured grids. - See the discussion - in the SIDS manual for details. -
- ier - Error status. -
- - -

Auxiliary Models

- - - -
Nodes: - GasModel_t - (SIDS, - File Mapping) -
ViscosityModel_t - (SIDS, - File Mapping) -
ThermalConductivityModel_t - (SIDS, - File Mapping) -
TurbulenceClosure_t - (SIDS, - File Mapping) -
TurbulenceModel_t - (SIDS, - File Mapping) -
ThermalRelaxationModel_t - (SIDS, - File Mapping) -
ChemicalKineticsModel_t - (SIDS, - File Mapping) -
EMElectricFieldModel_t - (SIDS, - File Mapping) -
EMMagneticFieldModel_t - (SIDS, - File Mapping) -
EMConductivityModel_t - (SIDS, - File Mapping) -
- -
- --- - - -
Functions - Modes -
- ier = cg_model_write(char *ModelLabel, ModelType_t ModelType); - - - w m -
- ier = cg_model_read(char *ModelLabel, ModelType_t *ModelType); - - r - m -
- call cg_model_write_f(ModelLabel, ModelType, ier) - - - w m -
- call cg_model_read_f(ModelLabel, ModelType, ier) - - r - m -
- -
-Input/Output - -

- -
    - ModelLabel   - The CGNS label for the model being defined. - The models supported by CGNS are: -
    -
  • GasModel_t -
  • ViscosityModel_t -
  • ThermalConductivityModel_t -
  • TurbulenceClosure_t -
  • TurbulenceModel_t -
  • ThermalRelaxationModel_t -
  • ChemicalKineticsModel_t -
  • EMElectricFieldModel_t -
  • EMMagneticFieldModel_t -
  • EMConductivityModel_t -
-
  -
- ModelType - One of the model types (listed below) allowed for the - ModelLabel selected. -
- ier - Error status. -
- -

-The types allowed for the various models are: - -

- -
    - GasModel_t   - CG_Null, CG_UserDefined, Ideal, VanderWaals, CaloricallyPerfect, - ThermallyPerfect, ConstantDensity, RedlichKwong -
- ViscosityModel_t - CG_Null, CG_UserDefined, Constant, PowerLaw, SutherlandLaw -
- ThermalConductivityModel_t - CG_Null, CG_UserDefined, PowerLaw, SutherlandLaw, ConstantPrandtl -
- TurbulenceModel_t - CG_Null, CG_UserDefined, Algebraic_BaldwinLomax, - Algebraic_CebeciSmith, HalfEquation_JohnsonKing, - OneEquation_BaldwinBarth, OneEquation_SpalartAllmaras, - TwoEquation_JonesLaunder, TwoEquation_MenterSST, - TwoEquation_Wilcox -
- TurbulenceClosure_t - CG_Null, CG_UserDefined, EddyViscosity, ReynoldsStress, - ReynoldsStressAlgebraic -
- ThermalRelaxationModel_t - CG_Null, CG_UserDefined, Frozen, ThermalEquilib, - ThermalNonequilib -
- ChemicalKineticsModel_t - CG_Null, CG_UserDefined, Frozen, - ChemicalEquilibCurveFit, ChemicalEquilibMinimization, - ChemicalNonequilib -
- EMElectricFieldModel_t - CG_Null, CG_UserDefined, Constant, Frozen, Interpolated, - Voltage -
- EMMagneticFieldModel_t - CG_Null, CG_UserDefined, Constant, Frozen, Interpolated -
- EMConductivityModel_t - CG_Null, CG_UserDefined, Constant, Frozen, Equilibrium_LinRessler, - Chemistry_LinRessler -
- -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/error.html b/CGNS-ReST-site/source/standard/MLL/midlevel/error.html deleted file mode 100644 index 45adef17..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/error.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - CGNS Mid-Level Library - Error Handling - - -

Error Handling

- -
- --- - - -
Functions - Modes -
- error_message = const char *cg_get_error(); - - r w m -
- void cg_error_exit(); - - r w m -
- void cg_error_print(); - - r w m -
- call cg_get_error_f(error_message) - - r w m -
- call cg_error_exit_f() - - r w m -
- call cg_error_print_f() - - r w m -
- -

-If an error occurs during the execution of a CGNS library function, -signified by a non-zero value of the error status variable -ier, an error message may be retrieved using the function -cg_get_error. -The function cg_error_exit may then be used to print the -error message and stop the execution of the program. -Alternatively, cg_error_print may be used to print the -error message and continue execution of the program. - -

-In C, you may define a function to be called automatically in the case -of a warning or error using the -cg_configure routine. -The function is of the form void err_func(int is_error, char -*errmsg), and will be called whenever an error or warning occurs. -The first argument, is_error, will be 0 for warning messages, -1 for error messages, and −1 if the program is going to terminate -(i.e., a call to cg_error_exit). -The second argument is the error or warning message. - -

- - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/families.html b/CGNS-ReST-site/source/standard/MLL/midlevel/families.html deleted file mode 100644 index 767ebab7..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/families.html +++ /dev/null @@ -1,546 +0,0 @@ - - - - - CGNS Mid-Level Library - Families - - - -

Families

- -
    -
  • Family Definition -
      -
    • cg_family_write - Create a Family_t node (CGNSBase_t level) -
    • cg_nfamilies - Get number of families (CGNSBase_t level) -
    • cg_family_read - Read family info (CGNSBase_t level) -
    • cg_family_name_write - Write multiple family names under Family_t (CGNSBase_t level) -
    • cg_nfamily_names - Get number of family names under Family_t (CGNSBase_t level) -
    • cg_family_name_read - Read multiple family names under Family_t (CGNSBase_t level) -
    -
  • Family Hierarchy Tree -
      -
    • cg_node_family_write - Create a Family_t node (Family_t level) -
    • cg_node_nfamilies - Get number of families (Family_t level) -
    • cg_node_family_read - Read family info (Family_t level) -
    • cg_node_family_name_write - Write multiple family names under Family_t (Family_t level) -
    • cg_node_nfamily_names - Get number of family names under Family_t (Family_t level) -
    • cg_node_family_name_read - Read multiple family names under Family_t (Family_t level) -
    -
  • Geometry Reference -
      -
    • cg_geo_write - Create a GeometryReference_t node -
    • cg_geo_read - Read geometry reference info -
    • cg_part_write - Write geometry entity name -
    • cg_part_read - Get geometry entity name -
    -
  • Family Boundary Condition -
      -
    • cg_fambc_write - Write boundary condition type for a family -
    • cg_fambc_read - Read boundary condition type for a family -
    -
  • Family Name -
      -
    • cg_famname_write - Write family name -
    • cg_famname_read - Read family name -
    • cg_multifam_write - Write multiple family names -
    • cg_nmultifam - Get number of family names -
    • cg_multifam_read - Read multiple family names -
    -
- - -

Family Definition

- -Node: Family_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_family_write(int fn, int B, char *FamilyName, int *Fam); - - - w m -
- ier = cg_nfamilies(int fn, int B, int *nfamilies); - - r - m -
- ier = cg_family_read(int fn, int B, int Fam, char *FamilyName,
-       int *nFamBC, int *nGeo);
-
- r - m -
- ier = cg_family_name_write(int fn, int B, int Fam, char *NodeName,
-       char *FamilyName);
-
- - w m -
- ier = cg_nfamily_names(int fn, int B, int Fam, int *nNames); - - r - m -
- ier = cg_family_name_read(int fn, int B, int Fam, int N,
-       char *NodeName, char *FamilyName);
-
- r - m -
- call cg_family_write_f(fn, B, FamilyName, Fam, ier) - - - w m -
- call cg_nfamilies_f(fn, B, nfamilies, ier) - - r - m -
- call cg_family_read_f(fn, B, Fam, FamilyName, nFamBC, nGeo, ier) - - r - m -
- call cg_family_name_write_f(fn, B, Fam, NodeName, FamilyName, ier) - - - w m -
- call cg_nfamily_names_f(fn, B, Fam, nNames, ier) - - r - m -
- call cg_family_name_read_f(fn, B, Fam, N, NodeName, FamilyName, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- nfamilies - Number of families in base B. -
- Fam - Family index number, where - 1 ≤ Famnfamilies. -
- FamilyName - Name of the family. -
- NodeName - Name of the FamilyName_t node. FamilyParent is used to refer - to the parent family of the Family_t node. -
- nFamBC - Number of boundary conditions for this family. - This should be either 0 or 1. -
- nGeo - Number of geometry references for this family. -
- nNames - Number of FamilyName_t nodes for this family. -
- N - Family name index number, where - 1 ≤ NnNames. -
- ier - Error status. -
- - - -

Family Hierarchy Tree Definition

- -Node: Family_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_node_family_write(char *FamilyName, int *Fam); - - - w m -
- ier = cg_node_nfamilies(int *nfamilies); - - r - m -
- ier = cg_node_family_read(int Fam, char *FamilyName,
-       int *nFamBC, int *nGeo);
-
- r - m -
- ier = cg_node_family_name_write(int Fam, char *NodeName,
-       char *FamilyName);
-
- - w m -
- ier = cg_node_nfamily_names(int Fam, int *nNames); - - r - m -
- ier = cg_node_family_name_read(int Fam, int N,
-       char *NodeName, char *FamilyName);
-
- r - m -
- call cg_node_family_write_f(FamilyName, Fam, ier) - - - w m -
- call cg_node_nfamilies_f(nfamilies, ier) - - r - m -
- call cg_node_family_read_f(Fam, FamilyName, nFamBC, nGeo, ier) - - r - m -
- call cg_node_family_name_write_f(Fam, NodeName, FamilyName, ier) - - - w m -
- call cg_node_nfamily_names_f(Fam, nNames, ier) - - r - m -
- call cg_node_family_name_read_f(Fam, N, NodeName, FamilyName, ier) - - r - m -
- -
-Input/Output - -

- -
- nfamilies - Number of families in current node (CGNSBase_t or Family_t). -
- Fam - Family index number, where - 1 ≤ Famnfamilies. -
- FamilyName - Name of the family. -
- NodeName - Name of the FamilyName_t node. FamilyParent is used to refer - to the parent family of the Family_t node. -
- nFamBC - Number of boundary conditions for this family. - This should be either 0 or 1. -
- nGeo - Number of geometry references for this family. -
- nNames - Number of FamilyName_t nodes for this family. -
- N - Family name index number, where - 1 ≤ NnNames. -
- ier - Error status. -
- -

-Note that a current node with CGNSBase_t or FamilyName_t type has to be set with a -cg_goto function -or equivalent prior any of these function calls. - - -

Geometry Reference

- -Node: GeometryReference_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_geo_write(int fn, int B, int Fam, char *GeoName,
-       char *FileName, char *CADSystem, int *G);
-
- - w m -
- ier = cg_geo_read(int fn, int B, int Fam, int G, char *GeoName,
-       char **FileName, char *CADSystem, int *nparts);
-
- r - m -
- ier = cg_part_write(int fn, int B, int Fam, int G, char *PartName,
-       int *P);
-
- - w m -
- ier = cg_part_read(int fn, int B, int Fam, int G, int P,
-       char *PartName);
-
- r - m -
- call cg_geo_write_f(fn, B, Fam, GeoName, FileName, CADSystem, G,
-      ier)
-
- - w m -
- call cg_geo_read_f(fn, B, Fam, G, GeoName, FileName, CADSystem,
-      nparts, ier)
-
- r - m -
- call cg_part_write_f(fn, B, Fam, G, PartName, P, ier) - - - w m -
- call cg_part_read_f(fn, B, Fam, G, P, PartName, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Fam - Family index number, where 1 ≤ Famnfamilies. -
- G - Geometry reference index number, where - 1 ≤ GnGeo. -
- P - Geometry entity index number, where - 1 ≤ Pnparts. -
- GeoName - Name of GeometryReference_t node. -
- FileName - Name of geometry file. -
- CADSystem - Geometry format. -
- nparts - Number of geometry entities. -
- PartName - Name of a geometry entity in the file FileName. -
- ier - Error status. -
- -

-Note that with cg_geo_read the memory for the filename -character string, FileName, will be allocated by the Mid-Level -Library. -The application code is responsible for releasing this memory -when it is no longer needed by calling -cg_free(FileName). - - -

Family Boundary Condition

- -Node: FamilyBC_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_fambc_write(int fn, int B, int Fam, char *FamBCName,
-       BCType_t BCType, int *BC);
-
- - w m -
- ier = cg_fambc_read(int fn, int B, int Fam, int BC,
-       char *FamBCName, BCType_t *BCType);
-
- r - m -
- call cg_fambc_write_f(fn, B, Fam, FamBCName, BCType, BC, ier) - - - w m -
- call cg_fambc_read_f(fn, B, Fam, BC, FamBCName, BCType, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Fam - Family index number, where 1 ≤ Famnfamilies. -
- BC - Family boundary condition index number. - This must be equal to 1. -
- FamBCName - Name of the FamilyBC_t node. -
- BCType - Boundary condition type for the family. - See the eligible types for BCType_t in the - Typedefs section. -
- ier - Error status. -
- - -

Family Name

- -Node: FamilyName_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_famname_write(char *FamilyName); - - - w m -
- ier = cg_famname_read(char *FamilyName); - - r - m -
- ier = cg_multifam_write(char *NodeName, char *FamilyName); - - - w m -
- ier = cg_nmultifam(int *nNames); - - r - m -
- ier = cg_multifam_read(int N, char *NodeName, char *FamilyName); - - r - m -
- call cg_famname_write_f(FamilyName, ier) - - - w m -
- call cg_famname_read_f(FamilyName, ier) - - r - m -
- call cg_multifam_write_f(NodeName, FamilyName, ier) - - - w m -
- call cg_nmultifam_f(nNames, ier) - - r - m -
- call cg_multifam_read_f(N, NodeName, FamilyName, ier) - - r - m -
- -
-Input/Output - -

- -
    - NodeName   - Node name. -
- FamilyName - Family name. -
- nNames - Number of additional family names. -
- N - Family name index number, where - 1 ≤ NnNames. -
- ier - Error status. -
- -

-Note that the family name written cg_famname_write is stored in -a FamilyName_t node named FamilyName as in previous -versions. The additional family names written with cg_multifam_write -are stored in AdditionalFamilyName_t nodes. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/fileops.html b/CGNS-ReST-site/source/standard/MLL/midlevel/fileops.html deleted file mode 100644 index 9b00aa71..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/fileops.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - CGNS Mid-Level Library - Opening and Closing a CGNS File - - -

File Operations

- -
    -
  • Opening and Closing a CGNS File -
      -
    • cg_open - Open a CGNS file -
    • cg_version - Get CGNS file version -
    • cg_precision - Get CGNS file precision -
    • cg_close - Close a CGNS file -
    • cg_is_cgns - Check for a valid CGNS file -
    • cg_save_as - Save the open CGNS file -
    • cg_set_file_type - Set default file type -
    • cg_get_file_type - Get file type for open CGNS file -
    -
  • Configuring CGNS Internals -
      -
    • cg_configure - Configure CGNS internals -
    • cg_error_handler - Set CGNS error handler -
    • cg_set_compress - Set CGNS compression mode -
    • cg_get_compress - Get CGNS compression mode -
    • cg_set_path - Set the CGNS link search path -
    • cg_add_path - Add to the CGNS link search path -
    -
  • Interfacing with CGIO -
      -
    • cg_get_cgio - get the CGIO index number -
    • cg_root_id - get the root node ID -
    -
- - -

Opening and Closing a CGNS File

- - --- - - -
Functions - Modes -
- ier = cg_open(char *filename, int mode, int *fn); - - r w m -
- ier = cg_version(int fn, float *version); - - r w m -
- ier = cg_precision(int fn, int *precision); - - r w m -
- ier = cg_close(int fn); - - r w m -
- ier = cg_is_cgns(const char *filename, int *file_type); - - r w m -
- ier = cg_save_as(int fn, const char *filename, int file_type, int follow_links); - - r w m -
- ier = cg_set_file_type(int file_type); - - r w m -
- ier = cg_get_file_type(int fn, int *file_type); - - r w m -
- call cg_open_f(filename, mode, fn, ier) - - r w m -
- call cg_version_f(fn, version, ier) - - r w m -
- call cg_precision_f(fn, precision, ier) - - r w m -
- call cg_close_f(fn, ier) - - r w m -
- call cg_is_cgns_f(filename, file_type, ier) - - r w m -
- call cg_save_as_f(fn, filename, file_type, follow_links, ier); - - r w m -
- call cg_set_file_type_f(file_type, ier); - - r w m -
- call cg_get_file_type_f(fn, file_type, ier); - - r w m -
- -
-Input/Output - -

- -
    - filename   - Name of the CGNS file, including path name if necessary. - There is no limit on the length of this character variable. -
- mode - Mode used for opening the file. - The modes currently supported are CG_MODE_READ, - CG_MODE_WRITE, and CG_MODE_MODIFY. -
- fn - CGNS file index number. -
- version - CGNS version number. -
- precision - Precision used to write the CGNS file. The return value will be - one of 32 (32-bit), 64 (64-bit), or 0 if not known. -
- file_type - Type of CGNS file. This will typically be either CG_FILE_ADF - or CG_FILE_HDF5 depending on the underlying file format. - However, note that when built in 32-bit, there is also an option - to create a Version 2.5 CGNS file by setting the file type to - CG_FILE_ADF2. -
- follow_links - This flag determines whether links are left intact when saving - a CGNS file. If non-zero, then the links will be removed and the - data associated with the linked files copied to the new file. -
- ier - Error status. -
- -

-The function cg_open must always be the first one called. -It opens a CGNS file for reading and/or writing and returns an index -number fn. -The index number serves to identify the CGNS file in subsequent -function calls. -Several CGNS files can be opened simultaneously. -The current limit on the number of files opened at once depends on the -platform. -On an SGI workstation, this limit is set at 100 (parameter -FOPEN_MAX in stdio.h). - -

-The file can be opened in one of the following modes: - -

- -
    - CG_MODE_READ   - Read only mode. -
- CG_MODE_WRITE - Write only mode. -
- CG_MODE_MODIFY - Reading and/or writing is allowed. -
- -

-When the file is opened, if no CGNSLibraryVersion_t node is -found, a default value of 1.05 is assumed for the CGNS version number. -Note that this corresponds to an old version of the CGNS standard, that -doesn't include many data structures supported by the current standard. - -

-The function cg_close must always be the last one called. -It closes the CGNS file designated by the index number fn and frees -the memory where the CGNS data was kept. -When a file is opened for writing, cg_close writes all the CGNS -data in memory onto disk prior to closing the file. -Consequently, if is omitted, the CGNS file is not written properly. - -

-In order to reduce memory usage and improve execution speed, -large arrays such as grid coordinates or flow solutions are not actually -stored in memory. -Instead, only basic information about the node is kept, -while reads and writes of the data is directly to and from the -application's memory. An attempt is also made to do the same with -unstructured mesh element data. - -

-When a CGNS file is newly created using CG_MODE_WRITE, the default -type of database manager used is determined at compile time. If the CGNS -library was built with HDF5 version 1.8 or later support, the file type -will be CG_FILE_HDF5, otherwise CG_FILE_ADF is used. -This may be changed either by setting an environment variable, -CGNS_FILETYPE, to one of adf, hdf5, or -adf2, or by calling the routine cg_set_file_type -prior to the cg_open call. Calling cg_set_file_type -with the argument CG_FILE_NONE will reset the library to -use the default file type. Note: If the environment variable -CGNS_FILETYPE is set, it takes precedence. - -

-For existing files, the function cg_is_cgns may be used to -determine if a file is a CGNS file or not, and the type of file -(CG_FILE_ADF or CG_FILE_HDF5). If the file is a CGNS file, -cg_is_cgns returns CG_OK, otherwise CG_ERROR -is returned and file_type is set to CG_FILE_NONE. - -

-The CGNS file identified by fn may be saved to a different filename -and type using cg_save_as. In order to save as an HDF5 file, -the library must have been built with HDF5 support. ADF support is always -built. The -function cg_set_file_type sets the default file type for -newly created CGNS files. The function -cg_get_file_type returns the file type for the CGNS file -identified by fn. If the CGNS library is built as 32-bit, -the additional file type, CG_FILE_ADF2, is available. -This allows creation of a 2.5 compatible CGNS file. - - -

Configuring CGNS Internals

- - --- - - -
Functions - Modes -
- ier = cg_configure(int option, void *value); - - r w m -
- ier = cg_error_handler(void (*)(int, char *)); - - r w m -
- ier = cg_set_compress(int compress); - - r w m -
- ier = cg_get_compress(int *compress); - - r w m -
- ier = cg_set_path(const char *path); - - r w m -
- ier = cg_add_path(const char *path); - - r w m -
- call cg_configure_f(option, value, ier); - - r w m -
- call cg_exit_on_errors_f(flag) - - r w m -
- call cg_set_compress_f(compress, ier) - - r w m -
- call cg_get_compress_f(compress, ier) - - r w m -
- call cg_set_path_f(path, ier) - - r w m -
- call cg_add_path_f(path, ier) - - r w m -
- -
-Input/Output - -

- -
    - option   - The option to configure, currently one of - CG_CONFIG_ERROR, CG_CONFIG_COMPRESS, - CG_CONFIG_SET_PATH, CG_CONFIG_ADD_PATH, - CG_CONFIG_FILE_TYPE, CG_CONFIG_RIND_INDEX, - CG_CONFIG_HDF5_DISKLESS, - CG_CONFIG_HDF5_DISKLESS_INCR, - CG_CONFIG_HDF5_DISKLESS_WRITE, - CG_CONFIG_HDF5_COMPRESS, or CG_CONFIG_HDF5_MPI_COMM as - defined in cgnslib.h. -
- value - The value to set, type cast as void *. In Fortran the type is TYPE(C_PTR). -
- compress - CGNS compress (rewrite) setting. -
- path - Pathname to search for linked to files when opening a - file with external links. -
- flag - Fortran flag to set automatic exit in the case of error. -
- ier - Error status. -
- -

-The function cg_configure allows particular CGNS library internal -options to be configured. -The currently supported options and expected values are: - -

- -
    - CG_CONFIG_ERROR   - This allows an error call-back function to be defined by the - user. - The value should be a pointer to a function to receive the error. - The function is defined as void err_callback(int is_error, - char *errmsg), and will be called for errors and warnings. - The first argument, is_error, will be 0 for warning - messages, 1 for error messages, and −1 if the program is - going to terminate (i.e., a call to cg_error_exit()). - The second argument is the error or warning message. - If this is defined, warning and error messages will go to the - function rather than the terminal. - A value of NULL will remove the call-back - function. -
  -
- CG_CONFIG_COMPRESS - This is the rewrite-upon-close setting. - Note: Prior versions of the library would automatically rewrite - the CGNS file when it was closed after being opened in modify mode - if there was unused space. This is no longer done due to possible - conflicts when using parallel I/O. The previous behavior may be - recovered by setting value to a positive integer. In this - case, the file will be rewritten if the number of node deletions or - modifications are equal to or exceed this number. Setting - value to a negative number will force the rewrite - when the file is closed. The default value is 0 (no rewrite). -
  -
- CG_CONFIG_SET_PATH - Sets the search path for locating linked-to files. - The argument value should be a character string - containing one or more directories, formatted the same as for the - PATH environment variable. - This will replace any current settings. - Setting value to NULL will remove all paths. In Fortran, - the path must terminate with a NULL character, CHAR(0) or C_NULL_CHAR. -
  -
- CG_CONFIG_ADD_PATH - Adds a directory, or list of directories, to the linked-to file - search path. - This is the same as CG_CONFIG_SET_PATH, but adds to the - path instead of replacing it. In Fortran, - the path must terminate with a NULL character, CHAR(0) or C_NULL_CHAR. -
  -
- CG_CONFIG_FILE_TYPE - Sets the default file type for newly created CGNS files. - The argument, value should be set to one of - CG_FILE_NONE, CG_FILE_ADF, CG_FILE_HDF5, - or CG_FILE_ADF2. See the discussion above for - cg_set_file_type. -
  -
- CG_CONFIG_RIND_INDEX - This option affects index bounds on structured arrays with rind planes. - The SIDS specifies that - core array locations begin at index 1. Lower rind planes, if present, - would have an index less than 1 (see - structured grid indexing - conventions). Versions of - the Mid-Level Library < 3.4 did not produce this behavior. Index 1 - always represented the start of an array: in an array with no rind - planes, the core location would have index 1; in an array with 1 rind - plane, the core location would have index 2. In version 3.4 of the - Mid-Level Library, the API's behavior was fixed to match that - specified in the SIDS: core array locations always begin at index 1. - This option allows for configuring the library to pre-3.4 indexing - behavior (set value to CG_CONFIG_RIND_ZERO) or the new default - behavior (set value to CG_CONFIG_RIND_CORE). Note that using - CG_CONFIG_RIND_ZERO is considered obsolete, but is provided for - backward compatibility. Most users should not select this option and use - the default. Values used for this option do not need to be explicitly - cast as void*. This option does not change the cgns file - in any way; it only modifies the API to the library. -
  -
- CG_CONFIG_HDF5_COMPRESS - Sets the compression level for data written from HDF5. The default is - no compression. Setting value to -1 will use the default - compression level of 6. The acceptable values are 0 to 9, corresponding - to gzip compression levels. This option currently does nothing as compression is not yet implemented. -
  -
- CG_CONFIG_HDF5_MPI_COMM - Sets the MPI communicator for parallel I/O. The default is - MPI_COMM_WORLD. The new communicator is given by - typecasting it to a void *. This is generally used - internally - see cgp_mpi_comm - instead. -
  -
- CG_CONFIG_HDF5_DISKLESS - Performs I/O directly to memory and can be used to create temporary CGNS files that never exist on permanent storage. - The memory is written to disk depending on the state of CG_CONFIG_HDF5_DISKLESS_WRITE. CGNS will use the - core file driver in HDF5 via H5Pset_fapl_core, and the parameters associated with - CG_CONFIG_HDF5_DISKLESS are associated with that API. When value is 1, any previously defined driver mode is ignored. - Setting value to 0 disables the diskless mode, enabling the previous mode. This configuration is - not a valid option when accessing the memory by more than one process. -
  -
- CG_CONFIG_HDF5_DISKLESS_INCR - Value specifies the increment by which allocated memory is to be increased each time more memory is required, in bytes. - The default is 10MiB. Ideally, value should be set large enough to minimize repeated increases. The type of value is size_t in C and C_SIZE_T in Fortran. Due to a bug with gfortran, it is advisable to use C_LOC or C_FUNLOC in-line of the call instead of using a variable. -
  -
- CG_CONFIG_HDF5_DISKLESS_WRITE - Value indicates whether to write (value=1) the memory contents to disk when the file is closed. Otherwise, value=0 does not persist the memory to disk. -
- -

-The routines cg_error_handler, cg_set_compress, -cg_set_path, cg_add_path, and cg_set_file_type -are convenience functions built on top of cg_configure. - -

-There is no Fortran counterpart for function -cg_error_handler. The Fortran function cg_exit_on_error_f -routine can be used in place of cg_error_handler. If flag -is non-zero, then when an error is encountered, the library will print -the error message and exit with a code of 1. Setting flag to -zero (the default) prevents this, and the error is returned to the user -code. - -

-Note: The HDF5 implementation does not support search paths -for linked files. The links need to be either absolute or relative -pathnames. As a result, it is recommended that the search path -options not be used as they may be removed in future versions. - - -

Interfacing with CGIO

- - --- - - -
Functions - Modes -
- ier = cg_get_cgio(int fn, int *cgio_num); - - r w m -
- ier = cg_root_id(int fn, double *rootid); - - r w m -
- call cg_get_cgio_f(fn, cgio_num, ier) - - r w m -
- call cg_root_id_f(fn, rootid, ier) - - r w m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- cgio_num - CGIO identifier for the CGNS file. -
- rootid - Root node identifier for the CGNS file. -
- ier - Error status. -
- -

-These allow for the use of the low-level -CGIO functions in conjunction with the Mid Level Library. -The function cg_get_cgio returns the CGIO database identifier -for the specified CGNS file, which is used in the CGIO routines. -The root node identifier for the CGNS file -is returned by cg_root_id. - -

- - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/grid.html b/CGNS-ReST-site/source/standard/MLL/midlevel/grid.html deleted file mode 100644 index 5204d69c..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/grid.html +++ /dev/null @@ -1,917 +0,0 @@ - - - - - - CGNS Mid-Level Library - Grid Specification - - -

Grid Specification

- -
    -
  • Zone Grid Coordinates -
      -
    • cg_grid_write - Create a GridCoordinates_t node -
    • cg_ngrids - Get number of GridCoordinates_t nodes -
    • cg_grid_read - Get name of a GridCoordinates_t node -
    • cg_grid_bounding_box_read - Get bounding box associated to a GridCoordinates_t node -
    • cg_grid_bounding_box_write - Write bounding box associated to a GridCoordinates_t node -
    • cg_coord_write - Write grid coordinates -
    • cg_coord_partial_write - Write subset of grid coordinates -
    • cg_coord_general_write - Write shaped array to a subset of grid coordinates -
    • cg_ncoords - Get number of coordinate arrays -
    • cg_coord_info - Get info about a coordinate array -
    • cg_coord_read - Read grid coordinates -
    • cg_coord_general_read - Read subset of grid coordinates to a shaped array -
    -
  • Element Connectivity -
      -
    • cg_section_write - Write fixed size element data -
    • cg_poly_section_write - Write element data -
    • cg_section_general_write - Write section data without element data -
    • cg_section_initialize - Initialize element data for not fixed size elements -
    • cg_section_partial_write - Write subset of element data -
    • cg_elements_partial_write - Write element data for a fixed size element section -
    • cg_poly_elements_partial_write - Write element data for an element section -
    • cg_elements_general_write - Write element data for a fixed size element section -
    • cg_poly_elements_general_write - Write element data for an element section -
    • cg_parent_data_write - Write parent info for an element section -
    • cg_parent_data_partial_write - Write subset of parent info for an element section -
    • cg_nsections - Get number of element sections -
    • cg_section_read - Get info for an element section -
    • cg_ElementDataSize - Get size of element connectivity data array -
    • cg_ElementPartialSize - Get size of element connectivity data array for partial read -
    • cg_elements_read - Read fixed size element data -
    • cg_elements_partial_read - Read subset of fixed size element data -
    • cg_elements_general_read - Read subset of fixed size element data to a typed array -
    • cg_poly_elements_read - Read element data -
    • cg_poly_elements_partial_read - Read subset of element data -
    • cg_poly_elements_general_read - Read subset of element data to typed arrays -
    • cg_parent_elements_general_read - Read parent info for an element section -
    • cg_parent_elements_position_general_read - Read parent position info for an element section -
    • cg_npe - Get number of nodes for an element type -
    -
  • Axisymmetry -
      -
    • cg_axisym_write - Create axisymmetry data -
    • cg_axisym_read - Read axisymmetry data -
    -
  • Rotating Coordinates -
      -
    • cg_rotating_write - Create rotating coordinates data -
    • cg_rotating_read - Read rotating coordinates data -
    -
- - -

Zone Grid Coordinates

- -Node: GridCoordinates_t - (SIDS, - File Mapping) - -

-GridCoordinates_t nodes are used to describe grids associated -with a particular zone. -The original grid must be described by a GridCoordinates_t node -named GridCoordinates. -Additional GridCoordinates_t nodes may be used, with user-defined -names, to store grids at multiple time steps or iterations. -In addition to the discussion of the GridCoordinates_t node -in the SIDS and -File Mapping manuals, -see the discussion of the -ZoneIterativeData_t -and ArbitraryGridMotion_t -nodes in the SIDS manual. - -

- --- - - -
Functions - Modes -
- ier = cg_grid_write(int fn, int B, int Z, char *GridCoordName,
-       int *G);
-
- - w m -
- ier = cg_ngrids(int fn, int B, int Z, int *ngrids); - - - w m -
- ier = cg_grid_read(int fn, int B, int Z, int G,
-       char *GridCoordName);
-
- r - m -
- ier = cg_grid_bounding_box_write(int fn, int B, int Z, int G,
-       DataType_t datatype, void *bbox_array);
-
- - w m -
- ier = cg_grid_bounding_box_write(int fn, int B, int Z, int G,
-       DataType_t datatype, void *bbox_array);
-
- r - m -
- call cg_grid_write_f(fn, B, Z, GridCoordName, G, ier) - - - w m -
- call cg_ngrids_f(fn, B, Z, ngrids, ier) - - - w m -
- call cg_grid_read_f(fn, B, Z, G, GridCoordName, ier) - - r - m -
- call cg_grid_bounding_box_write_f(fn, B, Z, G, datatype, bbox_array, ier)
-
- - w m -
- call cg_grid_bounding_box_read_f(fn, B, Z, G, datatype, bbox_array, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- G - Grid index number, where - 1 ≤ Gngrids. -
- ngrids - Number of GridCoordinates_t nodes for zone Z. -
- GridCoordinateName - Name of the GridCoordinates_t node. - Note that the name "GridCoordinates" is reserved for the - original grid and must be the first GridCoordinates_t - node to be defined. -
- datatype - Data type of the bounding box array written to the file or read. - Admissible data types for a coordinate bounding box are RealSingle - and RealDouble. -
- bbox_array - Data Array with bounding box values. -
- ier - Error status. -
- -

-The above functions are applicable to any GridCoordinates_t node.
-When reading a bounding box, if the information is missing from the file, the bbox_array will remain untouched, and a warning is emitted.
-The CGNS MLL relies on the user to compute the bounding box and ensure that the bounding box being stored is coherent with the coordinates under GridCoordinates_t node. - - - -

- --- - - -
Functions - Modes -
- ier = cg_coord_write(int fn, int B, int Z, DataType_t datatype,
-       char *coordname, void *coord_array, int *C);
-
- - w m -
- ier = cg_coord_partial_write(int fn, int B, int Z,
-       DataType_t datatype, char *coordname, cgsize_t *range_min,
-       cgsize_t *range_max, void *coord_array, int *C);
-
- - w m -
- ier = cg_coord_general_write(int fn, int B, int Z, char *coordname,
-       DataType_t datatype, cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *coord_array, int *C);
-
- - w m -
- ier = cg_ncoords(int fn, int B, int Z, int *ncoords); - - r - m -
- ier = cg_coord_info(int fn, int B, int Z, int C,
-       DataType_t *datatype, char *coordname);
-
- r - m -
- ier = cg_coord_read(int fn, int B, int Z, char *coordname,
-       DataType_t mem_datatype, cgsize_t *range_min, cgsize_t *range_max,
-       void *coord_array);
-
- r - m -
- ier = cg_coord_general_read(int fn, int B, int Z, char *coordname,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max, void *coord_array);
-
- r - m -
- call cg_coord_write_f(fn, B, Z, datatype, coordname, coord_array,
-      C, ier)
-
- - w m -
- call cg_coord_partial_write_f(fn, B, Z, datatype, coordname,
-      range_min, range_max, coord_array, C, ier)
-
- - w m -
- call cg_coord_general_write_f(fn, B, Z, coordname, datatype,
-      range_min, range_max, mem_datatype, mem_rank, mem_dimensions,
-      mem_range_min, mem_range_max, coord_array, C, ier);
-
- - w m -
- call cg_ncoords_f(fn, B, Z, ncoords, ier) - - r - m -
- call cg_coord_info_f(fn, B, Z, C, datatype, coordname, ier) - - r - m -
- call cg_coord_read_f(fn, B, Z, coordname, mem_datatype,
-      range_min, range_max, coord_array, ier)
-
- r - m -
- call cg_coord_general_read_f(fn, B, Z, coordname,
-      range_min, range_max, mem_datatype, mem_rank, mem_dimensions,
-      mem_range_min, mem_range_max, coord_array, ier);
-
- r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- C - Coordinate array index number, where - 1 ≤ Cncoords. -
- ncoords - Number of coordinate arrays for zone Z. -
- datatype - Data type of the coordinate array written to the file. - Admissible data types for a coordinate array are RealSingle - and RealDouble. -
- coordname - Name of the coordinate array. - It is strongly advised to use the - SIDS nomenclature - conventions when naming the coordinate arrays to insure file - compatibility. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - Data type of an array in memory. - Admissible data types for a coordinate array are RealSingle - and RealDouble.. -
- mem_rank - Number of dimensions of array in memory. -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- coord_array - Array of coordinate values. -
- ier - Error status. -
- -

-The above functions are applicable only to the -GridCoordinates_t node named GridCoordinates, used -for the original grid in a zone. -Coordinates for additional GridCoordinates_t nodes in a zone -must be read and written using the -cg_array_xxx functions. - -

-When writing, the function cg_coord_write will -automatically write the full range of coordinates (i.e., the entire -coord_array). -The functions cg_coord_partial_write and cg_coord_general_write may be used to write -only a subset of coord_array. -When using the partial write, any existing data as defined by -range_min and range_max will be overwritten by the new -values. -All other values will not be affected. - -

-The function cg_coord_read returns the coordinate array -coord_array, for the range prescribed by range_min and -range_max. -The array is returned to the application in the data type requested in -mem_datatype. -This data type does not need to be the same as the one in which the -coordinates are stored in the file. -A coordinate array stored as double precision in the CGNS file can be -returned to the application as single precision, or vice versa. -The functions cg_coord_general_read and cg_coord_general_write -allow for type conversion when both reading from and writing to the file. - -

-In Fortran, when using cg_coord_read_f to read 2D or 3D -coordinates, the extent of each dimension of coord_array must -be consistent with the requested range. -When reading a 1D solution, the declared size can be larger than the -requested range. -For example, for a 2D zone with 100 × 50 vertices, if -range_min and range_max are set to (11,11) and (20,20) -to read a subset of the coordinates, then coord_array must be -dimensioned (10,10). -If coord_array is declared larger (e.g., (100,50)) the -indices for the returned coordinates will be wrong. -These restrictions can be avoided by using cg_coord_general_read_f instead. - -

-When using cg_coord_general_write and -cg_coord_general_read, the lower core vertices in the file -have index 1 for defining range_min and range_max; whereas -for the array in memory, defined by mem_rank and -mem_dimensions, the lower array vertices in memory have -index 1 for defining mem_range_min and mem_range_max. -The actual lower and upper bounds of the array in memory can be anything. -For example, to fully read a two-dimensional 6 × 6 coordinate array with 1 -rind plane on each side in the file to an 8 × 8 array in memory -(mem_rank = 2 and mem_dimensions = (8,8)), set -range_min and range_max to (0,0) and (7,7), and set -mem_range_min and mem_range_max to (1,1) and (8,8). - - -

Element Connectivity

- -Node: Elements_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_section_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, cgsize_t start,
-       cgsize_t end, int nbndry, cgsize_t *Elements, int *S);
-
- - w m -
- ier = cg_poly_section_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, cgsize_t start,
-       cgsize_t end, int nbndry, cgsize_t *Elements, cgsize_t *ConnectOffset,
-       int *S);
-
- - w m -
- ier = cg_section_general_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, DataType_t ElementDataType,
-       cgsize_t start, cgsize_t end, cgsize_t ElementDataSize, int nbndry,
-       int *S);
-
- - w m -
- ier = cg_section_initialize(int fn, int B, int Z, int S); - - - w m -
- ier = cg_section_partial_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, cgsize_t start,
-       cgsize_t end, int nbndry, int *S);
-
- - w m -
- ier = cg_elements_partial_write(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements);
-
- - w m -
- ier = cg_poly_elements_partial_write(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements,
-       cgsize_t *ConnectOffset);
-
- - w m -
- ier = cg_elements_general_write(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t mem_datatype,
-       void *Elements);
-
- - w m -
- ier = cg_poly_elements_general_write(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t mem_datatype,
-       void *Elements, void *ConnectOffset);
-
- - w m -
- ier = cg_parent_data_write(int fn, int B, int Z, int S,
-       cgsize_t *ParentData);
-
- - w m -
- ier = cg_parent_data_partial_write(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *ParentData);
-
- - w m -
- ier = cg_nsections(int fn, int B, int Z, int *nsections); - - r - m -
- ier = cg_section_read(int fn, int B, int Z, int S,
-       char *ElementSectionName, ElementType_t *type, cgsize_t *start,
-       cgsize_t *end, int *nbndry, int *parent_flag);
-
- r - m -
- ier = cg_ElementDataSize(int fn, int B, int Z, int S,
-       cgsize_t *ElementDataSize);
-
- r - m -
- ier = cg_ElementPartialSize(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *ElementDataSize);
-
- r - m -
- ier = cg_elements_read(int fn, int B, int Z, int S, cgsize_t *Elements,
-       cgsize_t *ParentData);
-
- r - m -
- ier = cg_elements_partial_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements, cgsize_t *ParentData);
-
- r - m -
- ier = cg_elements_general_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t mem_datatype, void *Elements);
-
- r - m -
- ier = cg_poly_elements_read(int fn, int B, int Z, int S, cgsize_t *Elements,
-       cgsize_t *ConnectOffset, cgsize_t *ParentData);
-
- r - m -
- ier = cg_poly_elements_partial_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements,
-       cgsize_t *ConnectOffset, cgsize_t *ParentData);
-
- r - m -
- ier = cg_poly_elements_general_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t *mem_datatype,
-       void *Elements, void *ConnectOffset);
-
- r - m -
- ier = cg_parent_elements_general_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t *mem_datatype,
-       void *ParentElement);
-
- r - m -
- ier = cg_parent_elements_position_general_read(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, DataType_t *mem_datatype,
-       void *ParentFace);
-
- r - m -
- ier = cg_npe(ElementType_t type, int *npe); - - r w m -
- call cg_section_write_f(fn, B, Z, ElementSectionName, type,
-      start, end, nbndry, Elements, S, ier)

-
- - w m -
- call cg_poly_section_write_f(fn, B, Z, ElementSectionName, type,
-      start, end, nbndry, Elements, ConnectOffset, S, ier)

-
- - w m -
- call cg_section_general_write_f(fn, B, Z, ElementSectionName, type,
-      ElementDataType, start, end, ElementDataSize, nbndry, S, ier)

-
- - w m -
- call cg_section_initialize_f(fn, B, Z, S)
-
- - w m -
- call cg_section_partial_write_f(fn, B, Z, ElementSectionName, type,
-      start, end, nbndry, S, ier)

-
- - w m -
- call cg_elements_partial_write_f(fn, B, Z, S, start,
-      end, Elements, ier)

-
- - w m -
- call cg_poly_elements_partial_write_f(fn, B, Z, S, start,
-      end, Elements, ConnectOffset, ier)

-
- - w m -
- call cg_elements_general_write_f(fn, B, Z, S, start,
-      end, mem_datatype, Elements, ier)

-
- - w m -
- call cg_poly_elements_general_write_f(fn, B, Z, S, start,
-      end, mem_datatype, Elements, ConnectOffset, ier)

-
- - w m -
- call cg_parent_data_write_f(fn, B, Z, S, ParentData, ier)
-
- - w m -
- call cg_parent_data_partial_write_f(fn, B, Z, S, start,
-      end, ParentData, ier)

-
- - w m -
- call cg_nsections_f(fn, B, Z, nsections, ier)
-
- r - m -
- call cg_section_read_f(fn, B, Z, S, ElementSectionName, type,
-      start, end, nbndry, parent_flag, ier)

-
- r - m -
- call cg_ElementDataSize_f(fn, B, Z, S, ElementDataSize, ier)
-
- r - m -
- call cg_ElementPartialSize_f(fn, B, Z, S, start, end, ElementDataSize, ier)
-
- r - m -
- call cg_elements_read_f(fn, B, Z, S, Elements, ParentData, ier)
-
- r - m -
- call cg_elements_partial_read_f(fn, B, Z, S, start, end, Elements,
-      ParentData, ier)

-
- r - m -
- call cg_poly_elements_read_f(fn, B, Z, S, Elements, ConnectOffset,
-      ParentData, ier)

-
- r - m -
- call cg_poly_elements_partial_read_f(fn, B, Z, S, start, end, Elements,
-      ConnectOffset, ParentData, ier)

-
- r - m -
-call cg_elements_general_read_f(fn, B, Z, S, start, end,
-      mem_datatype, Elements, ier)

-
- r - m -
-call cg_poly_elements_general_read_f(fn, B, Z, S, start, end,
-      mem_datatype, Elements, ConnectOffset, ier)

-
- r - m -
-call cg_parent_elements_general_read_f(fn, B, Z, S, start, end,
-      mem_datatype, ParentElement, ier)

-
- r - m -
-call cg_parent_elements_position_general_read_f(fn, B, Z, S, start, end,
-      mem_datatype, ParentFace, ier)

-
- r - m -
- call cg_npe_f(type, npe, ier) - - r w m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- ElementSectionName - Name of the Elements_t node. -
- type - Type of element. - See the eligible types for ElementType_t in the - Typedefs section. -
- start - Index of first element in the section. -
- end - Index of last element in the section. -
- nbndry - Index of last boundary element in the section. - Set to zero if the elements are unsorted. -
- nsections - Number of element sections. -
- S - Element section index, where - 1 ≤ Snsections. -
- parent_flag - Flag indicating if the parent data are defined. - If the parent data exist, parent_flag is set to 1; - otherwise it is set to 0. -
- ElementDataType - Data type of an array. Admissible data types are Integer and LongInteger. -
- ElementDataSize - Number of element connectivity data values. -
- Elements - Element connectivity data. The element connectivity order is given in - Element Numbering Conventions. -
- ConnectOffset - Element connectivity offset data. This is required for NGON_n, NFACE_n and MIXED according to - Elements_t Structure Definition. -
- ParentData - For boundary or interface elements, this array contains - information on the cell(s) and cell face(s) sharing the element. - If you do not need to read the ParentData when reading - the ElementData, you may set the value to NULL. -
- ParentElement - For boundary or interface elements, this array contains - information on the cell(s) sharing the element. -
- ParentFace - For boundary or interface elements, this array contains - information on the cell face(s) sharing the element. -
- mem_datatype - Data type of an array in memory. Admissible data types are Integer and LongInteger. -
- npe - Number of nodes for an element of type type. -
- ier - Error status. -
- -

-It is important to note that each element under a given Zone_t - including -all cells, faces, edges, boundary elements, etc. - must have a unique element index -number. The numbering should be consecutive (i.e., no gaps). -This global numbering system insures that each and every element -within a zone is uniquely identified by its number. - -

-If the specified Elements_t node doesn't yet exist, it may be -created using either cg_section_write or -cg_section_partial_write. -MIXED, NGON_n, and NFACE_n element sets - may be created using cg_poly_section_write or cg_poly_section_partial_write. -The function cg_section_write writes the full range as -indicated by start and end and supplied by the element -connectivity array Elements. -The cg_section_partial_write function will create the element section -data for the range start to end with the element data -initialized to 0. cg_poly_section_write and cg_poly_section_partial_write - have a comparable behavior for MIXED, NGON_n, and NFACE_n. -To add elements to the section, use cg_elements_partial_write -or cg_poly_elements_partial_write -and parent data (it it exists) using cg_parent_data_partial_write. -These functions will replace the data for the range -as indicated by start and end with the new values. -In most cases, the data is not duplicated in the mid-level library and -written directly from the user data to disk.The exception to this is in the case -of MIXED, NGON_n, and NFACE_n element sets. Even if -the size of the element connectivity array can be known through ConnectOffset, the MLL -will keep a copy of the data in memory for the partial writes. - -

-The functions cg_elements_read and cg_poly_elements_read returns all of the element -connectivity and parent data. -Specified subsets of the element connectivity and parent data may be -read using cg_elements_partial_read or cg_poly_elements_partial_read (MIXED, NGON_n, NFACE_n). - -

-Note : cg_elements_read, cg_elements_partial_read, cg_section_write and cg_element_partial_write functions only work with fixed size elements. - - -

Axisymmetry

- -Node: Axisymmetry_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_axisym_write(int fn, int B, float *ReferencePoint,
-       float *AxisVector);
-
- - w m -
- ier = cg_axisym_read(int fn, int B, float *ReferencePoint,
-       float *AxisVector);
-
- r - m -
- call cg_axisym_write_f(fn, B, ReferencePoint, AxisVector, ier) - - - w m -
- call cg_axisym_read_f(fn, B, ReferencePoint, AxisVector, ier) - - r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- ReferencePoint - Origin used for defining the axis of rotation. - (In Fortran, this is an array of Real*4 values.) -
- AxisVector - Direction cosines of the axis of rotation, through the reference - point. - (In Fortran, this is an array of Real*4 values.) -
- ier - Error status. -
- -

-This node can only be used for a bi-dimensional model, i.e., -PhysicalDimension must equal two. - - -

Rotating Coordinates

- -Node: RotatingCoordinates_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_rotating_write(float *RotationRateVector,
-       float *RotationCenter);
-
- - w m -
- ier = cg_rotating_read(float *RotationRateVector,
-       float *RotationCenter);
-
- r - m -
- call cg_rotating_write_f(RotationRateVector, RotationCenter, ier) - - - w m -
- call cg_rotating_read_f(RotationRateVector, RotationCenter, ier) - - r - m -
- -
-Input/Output - - -

- -
    - RotationRateVector   - Components of the angular velocity of the grid about the center - of rotation. - (In Fortran, this is an array of Real*4 values.) -
- RotationCenter - Coordinates of the center of rotation. - (In Fortran, this is an array of Real*4 values.) -
- ier - Error status. -
- -

- - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/links.html b/CGNS-ReST-site/source/standard/MLL/midlevel/links.html deleted file mode 100644 index 00051477..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/links.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - CGNS Mid-Level Library - Links - - -

Links

- -
    -
  • cg_link_write - Create a link at the current location -
  • cg_is_link - Test if a node is a link -
  • cg_link_read - Get path information for a link at the current location -
- - --- - - -
Functions - Modes -
- ier = cg_link_write(char *nodename, char *filename,
-       char *name_in_file);
-
- - w m -
- ier = cg_is_link(int *path_length); - - r - m -
- ier = cg_link_read(char **filename, char **link_path); - - r - m -
- call cg_link_write_f(nodename, filename, name_in_file, ier) - - - w m -
- call cg_is_link_f(path_length, ier) - - r - m -
- call cg_link_read_f(filename, link_path, ier) - - r - m -
- -
-Input/Output - -

- -
    - nodename   - Name of the link node to create, e.g., GridCoordinates. -
- filename - Name of the linked file, or empty string if the link is within the - same file. -
- name_in_file - Path name of the node which the link points to. - This can be a simple or a compound name, e.g., - Base/Zone 1/GridCoordinates. -
- path_length - Length of the path name of the linked node. - The value 0 is returned if the node is not a link. -
- link_path - Path name of the node which the link points to. -
- ier - Error status. -
- -

-Use cg_goto(_f) to -position to a location in the file prior to calling these routines. - -

-When using cg_link_write, the node being linked to does not have -to exist when the link is created. -However, when the link is used, an error will occur if the linked-to -node does not exist. - -

-Only nodes that support child nodes will support links. - -

-It is assumed that the CGNS version for the file containing the link, -as determined by the -CGNSLibraryVersion_t node, -is also applicable to filename, the file containing the linked -node. - -

-Memory is allocated by the library for the return values of the C -function cg_link_read. -This memory should be freed by the user when no longer needed by calling -cg_free(filename) and -cg_free(link_path). - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/location.html b/CGNS-ReST-site/source/standard/MLL/midlevel/location.html deleted file mode 100644 index 592c965e..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/location.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - CGNS Mid-Level Library - Location and Position - - -

Location and Position

- -
    -
  • Grid Location -
      -
    • cg_gridlocation_write - Write grid location -
    • cg_gridlocation_read - Read grid location -
    -
  • Point Sets -
      -
    • cg_ptset_write - Write point set data -
    • cg_ptset_info - Get point set information -
    • cg_ptset_read - Read point set data -
    -
  • Rind Layers -
      -
    • cg_rind_write - Write number of rind layers -
    • cg_rind_read - Read number of rind layers -
    -
- - -

Grid Location

- -Node: GridLocation_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_gridlocation_write(GridLocation_t GridLocation); - - - w m -
- ier = cg_gridlocation_read(GridLocation_t *GridLocation); - - r - m -
- call cg_gridlocation_write_f(GridLocation, ier) - - - w m -
- call cg_gridlocation_read_f(GridLocation, ier) - - r - m -
- -
-Input/Output - -

- -
    - GridLocation   - Location in the grid. - The admissible locations are CG_Null, CG_UserDefined, - Vertex, CellCenter, FaceCenter, - IFaceCenter, JFaceCenter, KFaceCenter, - and EdgeCenter. -
- ier - Error status. -
- - -

Point Sets

- -Node: IndexArray_t, IndexRange_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_ptset_write(PointSetType_t ptset_type, cgsize_t npnts,
-       cgsize_t *pnts);
-
- - w m -
- ier = cg_ptset_info(PointSetType_t *ptset_type, cgsize_t *npnts); - - r - m -
- ier = cg_ptset_read(cgsize_t *pnts); - - r - m -
- call cg_ptset_write_f(ptset_type, npnts, pnts, ier) - - - w m -
- call cg_ptset_info_f(ptset_type, npnts, ier) - - r - m -
- call cg_ptset_read_f(pnts, ier) - - r - m -
- -
-Input/Output - -

- -
    - ptset_type   - The point set type; either PointRange for a range of - points or cells, or PointList for a list of discrete - points or cells. -
- npnts - The number of points or cells in the point set. - For a point set type of PointRange, npnts is - always two. - For a point set type of PointList, npnts is - the number of points or cells in the list. -
- pnts - The array of point or cell indices defining the point set. - There should be npnts values, each of dimension - IndexDimension - (i.e., 1 for unstructured grids, and 2 or 3 for structured grids - with 2-D or 3-D elements, respectively). -
- ier - Error status. -
- -

-These functions may be used to write and read point set data (i.e., an -IndexArray_t node named PointList, or an -IndexRange_t node named PointRange). -They are only applicable at nodes that are descendents of a -Zone_t node. - - -

Rind Layers

- -Node: Rind_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_rind_write(int *RindData); - - - w m -
- ier = cg_rind_read(int *RindData); - - r - m -
- call cg_rind_write_f(RindData, ier) - - - w m -
- call cg_rind_read_f(RindData, ier) - - r - m -
- -
-Input/Output - -

- -
    - RindData   - Number of rind layers for each computational direction - (structured grid) or number of rind points or elements - (unstructured grid). For structured grids, the low/high sides have unit stride in the array (e.g., [NRindLowI, NRindHighI, NRindLowJ, NRindHighJ, NRindLowK, NRindHighK]). -
- ier - Error status. -
- -

-When writing rind data for elements, -cg_section_write must be -called first, followed by -cg_goto to access the -Elements_t node, -and then cg_rind_write. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/navigating.html b/CGNS-ReST-site/source/standard/MLL/midlevel/navigating.html deleted file mode 100644 index 8aec0049..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/navigating.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - CGNS Mid-Level Library - Navigating a CGNS File - - -

Navigating a CGNS File

- -
    -
  • Accessing a Node -
      -
    • cg_goto - Access a node via label/name, index pairs -
    • cg_gorel - Access a node via relative path -
    • cg_gopath - Access a node via pathname -
    • cg_golist - Access a node via arrays of labels and indices -
    • cg_where - Get path to current node -
    -
  • Deleting a Node -
      -
    • cg_delete_node - Delete a node -
    -
- - -

Accessing a Node

- -
- --- - - -
Functions - Modes -
- ier = cg_goto(int fn, int B, ..., "end"); - - r w m -
- ier = cg_gorel(int fn, ..., "end"); - - r w m -
- ier = cg_gopath(int fn, const char *path); - - r w m -
- ier = cg_golist(int fn, int B, int depth, char **label, int *index); - - r w m -
- ier = cg_where(int *fn, int *B, int *depth, char **label, int *index); - - r w m -
- call cg_goto_f(fn, B, ier, ..., 'end') - - r w m -
- call cg_gorel_f(fn, ier, ..., 'end') - - r w m -
- call cg_gopath_f(fn, path, ier) - - r w m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -

-
- B - Base index number, where 1 ≤ Bnbases. -

-
- ... - Variable argument list used to specify the path to a node. - It is composed of an unlimited list of pair-arguments identifying - each node in the path. - Nodes may be identified by their label or name. - Thus, a pair-argument may be of the form -
-   "CGNS_NodeLabel", NodeIndex
-
- where CGNS_NodeLabel is the node label and - NodeIndex is the node index, or -
-   "CGNS_NodeName", 0
-
- where CGNS_NodeName is the node name. - The 0 in the second form is required, to indicate that a node - name is being specified rather than a node label. - In addition, a pair-argument may be specified as -
-   "..", 0
-
- indicating the parent of the current node. - The different pair-argument forms may be intermixed in the same - function call. -

- There is one exception to this rule. - When accessing a BCData_t node, the index must be set to - either Dirichlet or Neumann since only these - two types are allowed. - (Note that Dirichlet and Neumann are defined in - the include files cgnslib.h and cgnslib_f.h). - Since "Dirichlet" and "Neuman" are also the - names for these nodes, you may also use the "Dirichlet", 0 - or "Neuman", 0 to access the node. - See the example below. -

-

- end - The character string "end" (or 'end' for the Fortran - function) must be the last argument. - It is used to indicate the end of the argument list. - You may also use the empty string, "" ('' for - Fortran), or the NULL string in C, to terminate the - list. -

-
- path - The pathname for the node to go to. - If a position has been already set, this may be a relative - path, otherwise it is an absolute path name, starting with - "/Basename", where Basename is the base under - which you wish to move. -

-
- depth - Depth of the path list. - The maximum depth is defined in cgnslib.h by - CG_MAX_GOTO_DEPTH, and is currently equal to 20. -

-
- label - Array of node labels for the path. - This argument may be passed as NULL to - cg_where(), otherwise it must be dimensioned by the - calling program. - The maximum size required is label[MAX_GO_TO_DEPTH][33]. - You may call cg_where() with both label and - index set to NULL in order to get the current - depth, then dimension to that value. -

-
- index - Array of node indices for the path. - This argument may be passed as NULL to - cg_where(), otherwise it must be dimensioned by the - calling program. - The maximum size required is index[MAX_GO_TO_DEPTH]. - You may call cg_where() with both label and - index set to NULL in order to get the current - depth, then dimension to that value. -

-
- ier - Error status. - The possible values, with the corresponding C names (or Fortran - parameters) defined in cgnslib.h (or cgnslib_f.h) - are listed below.

- - - - - - - - - - - - - - - -
   Value  Name/Parameter -
0CG_OK
1CG_ERROR
2CG_NODE_NOT_FOUND
3CG_INCORRECT_PATH

- For non-zero values, an error message may be printed using - cg_error_print(). -
- -

-This function allows access to any parent-type nodes in a CGNS file. -A parent-type node is one that can have children. -Nodes that cannot have children, like Descriptor_t, are -not supported by this function. - -

-To illustrate the use of the above routines, assume you have a file with -CGNS index number filenum, a base node named Base -with index number basenum, 2 zones (named Zone1 -and Zone2, with indices 1 and 2), and user-defined data -(User, index 1) below each zone. -To move to the user-defined data node under zone 1, you may use any of -the following: -

-   cg_goto(filenum, basenum, "Zone_t", 1, "UserDefinedData_t", 1, NULL);
-   cg_goto(filenum, basenum "Zone1", 0, "UserDefinedData_t", 1, NULL);
-   cg_goto(filenum, basenum, "Zone_t", 1, "User", 0, NULL);
-   cg_goto(filenum, basenum, "Zone1", 0, "User", 0, NULL);
-   cg_gopath(filenum, "/Base/Zone1/User");
-
-Now, to change to the user-defined data node under zone 2, you may use -the full path specification as above, or else a relative path, using one -of the following: -
-   cg_gorel(filenum, "..", 0, "..", 0, "Zone_t", 2, "UserDefinedData_t", 1, NULL);
-   cg_gorel(filenum, "..", 0, "..", 0, "Zone2", 0, "UserDefinedData_t", 1, NULL);
-   cg_gorel(filenum, "..", 0, "..", 0, "Zone_t", 2, "User", 0, NULL);
-   cg_gorel(filenum, "..", 0, "..", 0, "Zone2", 0, "User", 0, NULL);
-   cg_gopath(filenum, "../../Zone2/User");
-
- -

-Shown below are some additional examples of various uses of these -routines, in both C and Fortran, where fn, B, -Z, etc., are index numbers. -

-   ier = cg_goto(fn, B, "Zone_t", Z, "FlowSolution_t", F, "..", 0, "MySolution", 0, "end");
-
-   ier = cg_gorel(fn, "..", 0, "FlowSolution_t", F, NULL);
-
-   ier = cg_gopath(fn, "/MyBase/MyZone/MySolution");
-
-   ier = cg_gopath(fn, "../../MyZoneBC");
-
-   call cg_goto_f(fn, B, ier, 'Zone_t', Z, 'GasModel_t', 1, 'DataArray_t', A, 'end')
-
-   call cg_goto_f(fn, B, ier, 'Zone_t', Z, 'ZoneBC_t', 1, 'BC_t', BC, 'BCDataSet_t', S,
-                  'BCData_t', Dirichlet, 'end')
-
-   call cg_gorel_f(fn, ier, '..', 0, 'Neumann', 0, '')
-
-   call cg_gopath_f(fn, '../../MyZoneBC', ier)
-
- - -

Deleting a Node

- -
- --- - - -
Functions - Modes -
- ier = cg_delete_node(char *NodeName); - - - - m -
- call cg_delete_node_f(NodeName, ier) - - - - m -
- -
-Input/Output - -

- -
    - NodeName   - Name of the child to be deleted. -
- ier - Error status. -
- -

-The function cg_delete_node is used is conjunction with -cg_goto. -Once positioned at a parent node with cg_goto, a child of -this node can be deleted with cg_delete_node. -This function requires a single argument, NodeName, which is -the name of the child to be deleted. - -

-Since the highest level that can be pointed to with cg_goto is -a base node for a CGNS database -(CGNSBase_t), the -highest-level nodes that can be deleted are the children of a -CGNSBase_t node. -In other words, nodes located directly under the ADF (or HDF) root node -(CGNSBase_t and -CGNSLibraryVersion_t) -can not be deleted with cg_delete. - -

-A few other nodes are not allowed to be deleted from the database -because these are required nodes as defined by the SIDS, and deleting -them would make the file non-CGNS compliant. -These are: -

- -

-When a child node is deleted, both the database and the file on disk are -updated to remove the node. -One must be careful not to delete a node from within a loop of that node -type. -For example, if the number of zones below a CGNSBase_t node is -nzones, a zone should never be deleted from within a zone loop! -By deleting a zone, the total number of zones (nzones) changes, -as well as the zone indexing. -Suppose for example that nzones is 5, and that the third zone -is deleted. -After calling cg_delete_node, nzones is changed to 4, -and the zones originally indexed 4 and 5 are now indexed 3 and 4. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/pcgns_library.html b/CGNS-ReST-site/source/standard/MLL/midlevel/pcgns_library.html deleted file mode 100644 index 94910b0c..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/pcgns_library.html +++ /dev/null @@ -1,785 +0,0 @@ - - - - - Parallel CGNS User's Guide - Routines - - -

Parallel CGNS Routines

- -
    -
  • Miscellaneous Routines -
      -
    • cgp_mpi_comm - Set the MPI communicator -
    • cgp_mpi_info - Set the MPI info object -
    • cgp_pio_mode - Set the parallel IO mode -
    • BINDING DEPRECATED, Deprecated since CGNS-3.3.0 cgp_queue_set - Enable/Disable queued output -
    • BINDING DEPRECATED, Deprecated since CGNS-3.3.0 cgp_queue_flush - Flush the output queue -
    • cgp_error_exit - Exit with error message -
    -
  • File Operations -
      -
    • cgp_open - Open a file for parallel IO -
    • cgp_close - Close a file -
    -
  • Grid Coordinate Data -
      -
    • cgp_coord_write - Create a coordinate data node -
    • cgp_coord_write_data - Write coordinate data in parallel -
    • cgp_coord_general_write_data - Write shaped array to a subset of grid coordinates in parallel -
    • cgp_coord_read_data - Read coordinate data in parallel -
    • cgp_coord_general_read_data - Read subset of grid coordinates to a shaped array in parallel -
    -
  • Element Connectivity Data -
      -
    • cgp_section_write - Create a section data node -
    • cgp_poly_section_write - Create a section data node -
    • cgp_elements_write_data - Write element data in parallel -
    • cgp_poly_elements_write_data - Write element data in parallel -
    • cgp_elements_read_data - Read element data in parallel -
    -
  • Solution Data -
      -
    • cgp_field_write - Create a solution field data node -
    • cgp_field_write_data - Write field data in parallel -
    • cgp_field_general_write_data - Write shaped array to a subset of flow solution field in parallel -
    • cgp_field_read_data - Read field data in parallel -
    • cgp_field_general_read_data - Read subset of flow solution field to a shaped array in parallel -
    -
  • Array Data -
      -
    • cgp_array_write - Create an array data node -
    • cgp_array_write_data - Write array data in parallel -
    • cgp_array_general_write_data - Write shaped array to a subset of data array in parallel -
    • cgp_array_read_data - Read array data in parallel -
    • cgp_array_general_read_data - Read subset of data array to a shaped array in parallel -
    -
- - -

Miscellaneous Routines

- - --- - - - -
Functions - Modes -
- ier = cgp_mpi_comm(int mpicomm); - - r w m
- ier = cgp_mpi_info(MPI_Info info); - - r w m -
- ier = cgp_pio_mode(PIOmode_t mode); - - r w m -
- BINDING DEPRECATED, Deprecated since CGNS-3.3.0 ier = cgp_queue_set(int use_queue); - - - w m -
- BINDING DEPRECATED, Deprecated since CGNS-3.3.0 ier = cgp_queue_flush(); - - - w m -
- void cgp_error_exit(); - - r w m -
- call cgp_mpi_comm_f(mpicomm, ier) - - r w m -
- call cgp_mpi_info_f(info, ier) - - r w m -
- call cgp_pio_mode_f(mode, ier) - - r w m -
- BINDING DEPRECATED, Deprecated since CGNS-3.3.0 call cgp_queue_set_f(use_queue, ier) - - - w m -
- BINDING DEPRECATED, Deprecated since CGNS-3.3.0 call cgp_queue_flush_f(ier) - - - w m -
- call cgp_error_exit_f() - - r w m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - mpicomm   - The MPI communicator to be used by the CGNS library. -
    - mode   - Parallel input/output mode. -
- use_queue - enable or disables queued output. -
- ier - Error status. -
- -

-The routine cgp_mpi_comm sets the MPI communicator for parallel -operations by the CGNS library. The default value is MPI_COMM_WORLD. - -

-The routine cgp_mpi_info passes the MPI info object for parallel -operations to the CGNS library. Notes for Fortran: the data type for info -is an INTEGER. - -

-The routine cgp_pio_mode sets the mode for parallel -data reads and writes. The default value is CGP_COLLECTIVE, -which allows any number of processes to access the data. When set -to CGP_COLLECTIVE, all processes must access the data. - -

-If cgp_queue_set is called with a non-zero argument, then -output data will not be written to the file, but rather stored in -a queue. The queued data will then be written out when -cgp_queue_flush is called. - -

-Note: The data array to -be written is NOT duplicated in the queue. Rather a pointer to -the data is stored. Thus, the data must be persistent within -the user's program until cgp_queue_flush is called. - -

-The routine cgp_error_exit is similar to -cg_error_exit in that -the process will exit with an error message. However, it will also -print the process rank, and call MPI_Abort with an exit code of 1. - - -

File Operations

- - --- - - -
Functions - Modes -
- ier = cgp_open(char *filename, int mode, int *fn); - - r w m -
- ier = cgp_close(int fn); - - r w m -
- call cgp_open_f(filename, mode, fn, ier) - - r w m -
- call cgp_close_f(fn, ier) - - r w m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - filename   - Name of the CGNS file, including path name if necessary. - There is no limit on the length of this character variable. -
- mode - Mode used for opening the file. - The modes currently supported are CG_MODE_READ, - CG_MODE_WRITE, and CG_MODE_MODIFY. -
- fn - CGNS file index number. -
- ier - Error status. -
- -

-The routines cgp_open and cgp_close are similar -to cg_open -and cg_close, -and call those routines. The differences are that cgp_open -explicitly sets an internal CGNS flag to indicate parallel access. - - -

Grid Coordinate Data

- - --- - - -
Functions - Modes -
- ier = cgp_coord_write(int fn, int B, int Z, DataType_t datatype,
-       char *coordname, int *C);
-
- - w m -
- ier = cgp_coord_write_data(int fn, int B, int Z, int C,
-       cgsize_t *range_min, cgsize_t *range_max, void *coord_array);
-
- - w m -
- ier = cgp_coord_general_write_data(int fn, int B, int Z, int C,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *coord_array);
-
- ier = cgp_coord_read_data(int fn, int B, int Z, int C,
-       cgsize_t *range_min, cgsize_t *range_max, void *coord_array);
-
- ier = cgp_coord_general_read_data(int fn, int B, int Z, int C,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *coord_array);
-
- r - m -
- call cgp_coord_write_f(fn, B, Z, datatype, coordname, C, ier) - - - w m -
- call cgp_coord_write_data_f(fn, B, Z, C, range_min, range_max, coord_array, ier) - - - w m -
- call cgp_coord_read_data_f(fn, B, Z, C, range_min, range_max, coord_array, ier) - - r - m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- C - Coordinate array index number, where - 1 ≤ Cncoords. -
- datatype - Data type of the coordinate array written to the file. - Admissible data types for a coordinate array are RealSingle - and RealDouble. -
- coordname - Name of the coordinate array. - It is strongly advised to use the - SIDS nomenclature - conventions when naming the coordinate arrays to insure file - compatibility. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - Data type of an array in memory. - Admissible data types for a coordinate array are RealSingle - and RealDouble.. -
- mem_rank - Number of dimensions of array in memory. -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- coord_array - Array of coordinate values for the range prescribed. -
- ier - Error status. -
- -

-The above functions are used to read and write grid coordinate data -by multiple processes in a parallel fashion. To write the data in -parallel, first call cgp_coord_write to create an empty -data node. This call is identical to -cg_coord_write -with coord_array set to NULL (no data written). The -actual data is then written to the node in parallel using either -cgp_coord_write_data or cgp_coord_general_write_data -where range_min and range_max specify the subset of -coordinate data to be written by a given process. -The routines cgp_coord_read_data and -cgp_coord_general_read_data perform -the same function for reading the coordinate data in parallel. - -

-Note: The routines cgp_coord_general_write_data and -cgp_coord_general_read_data perform data conversions if -datatype is different from mem_datatype. For other routines, -it is the responsibility of the application to ensure that the data type for the -coordinate data matches that as defined in the file; no conversions are done. - - -

Element Connectivity Data

- - --- - - -
Functions - Modes -
- ier = cgp_section_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, cgsize_t start,
-       cgsize_t end, int nbndry, int *S);
-
- - w m -
- ier = cgp_poly_section_write(int fn, int B, int Z,
-       char *ElementSectionName, ElementType_t type, cgsize_t start,
-       cgsize_t end, cgsize_t MaxOffset, int nbndry, int *S);
-
- - w m -
- ier = cgp_elements_write_data(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements);
-
- - w m -
- ier = cgp_poly_elements_write_data(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements, cgsize_t *Offsets);
-
- - w m -
- ier = cgp_elements_read_data(int fn, int B, int Z, int S,
-       cgsize_t start, cgsize_t end, cgsize_t *Elements);
-
- r - m -
- call cgp_section_write_f(fn, B, Z, ElementSectionName, type,
-      start, end, nbndry, S, ier)
-
- - w m -
- call cgp_elements_write_data_f(fn, B, Z, S, start,
-      end, Elements, ier)
-
- - w m -
- call cgp_elements_read_data_f(fn, B, Z, S, start,
-      end, Elements, ier)
-
- r - m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- ElementSectionName - Name of the Elements_t node. -
- type - Type of element. - See the eligible types for ElementType_t in the - Typedefs section. -
- start - Index of first element in the section. -
- end - Index of last element in the section. -
- nbndry - Index of last boundary element in the section. - Set to zero if the elements are unsorted. -
- S - Element section index, where - 1 ≤ Snsections. -
- Elements - Element connectivity data. -
- Offsets - Element connectivity offsets data. -
- MaxOffset - Maximum data size that should be reserved for Element connectivity data. -
- ier - Error status. -
- -

-Note: These routines only work for constant sized elements, since -it is not possible to compute file offsets for variable sized elements -without knowledge of the entire element connectivity data. - -

-The above functions are used to read and write element connectivity data -by multiple processes in a parallel fashion. To write the element data in -parallel, first call cgp_section_write to create an empty -data node. This call is identical to -cg_section_write -with Elements set to NULL (no data written). The -actual element data is then written to the node in parallel using -cgp_element_write_data where start and -end specify the range of the elements to be written -by a given process. The routine cgp_element_read_data performs -the same function for reading the solution data in parallel. - -

-Note: It is the responsibility of the application to ensure -that cgsize_t in the application is the same size as that -defined in the file; no conversions are done. - - -

Solution Data

- - --- - - -
Functions - Modes -
- ier = cgp_field_write(int fn, int B, int Z, int S,
-       DataType_t datatype, char *fieldname, int *F);
-
- - w m -
- ier = cgp_field_write_data(int fn, int B, int Z, int S, int F,
-       cgsize_t *range_min, cgsize_t *range_max, void *solution_array);
-
- - w m -
- ier = cgp_field_general_write_data(int fn, int B, int Z, int S, int F,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *solution_array);
-
- ier = cgp_field_read_data(int fn, int B, int Z, int S, int F,
-       cgsize_t *range_min, cgsize_t *range_max, void *solution_array);
-
- r - m -
- ier = cgp_field_general_read_data(int fn, int B, int Z, int S, int F,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *solution_array);
-
- call cgp_field_write_f(fn, B, Z, S, datatype, fieldname, F, ier) - - - w m -
- call cgp_field_write_data_f(fn, B, Z, S, F,
-       range_min, range_max, solution_array, ier)
-
- - w m -
- call cgp_field_read_data_f(fn, B, Z, S, F,
-       range_min, range_max, solution_array, ier)
-
- r - m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- S - Flow solution index number, where - 1 ≤ Snsols. -
- F - Solution array index number, where - 1 ≤ Fnfields. -
- datatype - Data type of the solution array written to the file. - Admissible data types for a solution array are Integer, - LongInteger, RealSingle, and RealDouble. -
- fieldname - Name of the solution array. - It is strongly advised to use the - SIDS nomenclature - conventions when naming the solution arrays to insure file - compatibility. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - Data type of an array in memory. - Admissible data types for a solution array are Integer, - LongInteger, RealSingle, and RealDouble. -
- mem_rank - Number of dimensions of array in memory. -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- solution_array - Array of solution values for the range prescribed. -
- ier - Error status. -
- -

-The above functions are used to read and write solution arrays -by multiple processes in a parallel fashion. To write the data in -parallel, first call cgp_field_write to create an empty -data node. This call is identical to -cg_field_write -with solution_array set to NULL (no data written). The -actual data is then written to the node in parallel using either -cgp_field_write_data or cgp_field_general_write_data -where range_min and range_max specify the subset of -the solution data to be written by a given process. -The routines cgp_field_read_data and -cgp_field_general_read_data perform -the same function for reading the solution data in parallel. - -

-Note: The routines cgp_field_general_write_data and -cgp_field_general_read_data perform data conversions if -datatype is different from mem_datatype. For other routines, -it is the responsibility of the application to ensure that the data type for the -solution data matches that as defined in the file; no conversions are done. - - -

Array Data

- - --- - - -
Functions - Modes -
- ier = cgp_array_write(char *arrayname, DataType_t datatype,
-       int rank, cgsize_t *dimensions, int *A);
-
- - w m -
- ier = cgp_array_write_data(int A, cgsize_t *range_min, cgsize_t *range_max, void *data); - - - w m -
- ier = cgp_array_general_write_data(int A,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *data);
-
- ier = cgp_array_read_data(int A, cgsize_t *range_min, cgsize_t *range_max, void *data); - - r - m -
- ier = cgp_array_general_read_data(int A,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *data);
-
- call cgp_array_write_f(arrayname, datatype, rank, dimensions, A, ier) - - - w m -
- call cgp_array_write_data_f(A, range_min, range_max, data, ier) - - - w m -
- call cgp_array_read_data_f(A, range_min, range_max, data, ier) - - r - m -
- -
-Input/Output -
(Note that for Fortran calls, all integer arguments are integer*4 in 32-bit mode and integer*8 in 64-bit mode. See -64-bit Fortran Portability and Issues.) - -

- -
    - A   - Data array index, where 1 ≤ Anarrays. -
- arrayname - Name of the DataArray_t node. -
- datatype - Type of data held in the DataArray_t node. - The admissible types are Integer, LongInteger, - RealSingle, RealDouble, and Character. -
- rank - Number of dimensions of array in file. -
- dimensions - Dimensions of array in file. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - The type of data held in memory. - The admissible types are Integer, LongInteger, - RealSingle, RealDouble, and Character. -
- mem_rank - Number of dimensions of array in memory. -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- data - The data array. -
- ier - Error status. -
- -

-The above functions are used to read and write data arrays -by multiple processes in a parallel fashion. To write the data in -parallel, first call -cg_goto -to set the position for the DataArray_t node, then call -cgp_array_write to create an empty -data node. This call is similar to -cg_array_write -with Data set to NULL (no data written). This -function will return the array index, A, which is used to -write the actual data to the node in parallel using either -cgp_array_write_data or cgp_array_general_write_data -where range_min and range_max specify the subset of -the array data to be written by a given process. -The routines cgp_array_read_data and -cgp_array_general_read_data perform -the same function for reading the array data in parallel. - -

-Note: The routines cgp_array_general_write_data and -cgp_array_general_read_data perform data conversions if -datatype is different from mem_datatype. For other routines, -it is the responsibility of the application to ensure -that the data type for the array data matches that as -defined in the file; no conversions are done. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/physical.html b/CGNS-ReST-site/source/standard/MLL/midlevel/physical.html deleted file mode 100644 index d9260188..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/physical.html +++ /dev/null @@ -1,626 +0,0 @@ - - - - - - CGNS Mid-Level Library - Physical Data - - -

Physical Data

- -
    -
  • Data Arrays -
      -
    • cg_array_write - Write data array -
    • cg_array_general_write - Write shaped array to a subset of data array -
    • cg_narrays - Get number of data arrays under current node -
    • cg_array_info - Get data array info -
    • cg_array_read - Read data array -
    • cg_array_read_as - Read data array as a certain type -
    • cg_array_general_read - Read subset of data array to a shaped array -
    -
  • Data Class -
      -
    • cg_dataclass_write - Write data class -
    • cg_dataclass_read - Read data class -
    -
  • Data Conversion Factors -
      -
    • cg_conversion_write - Write conversion factors -
    • cg_conversion_info - Get conversion factors data type -
    • cg_conversion_read - Read conversion factors -
    -
  • Dimensional Units -
      -
    • cg_units_write - Write first five dimensional units -
    • cg_unitsfull_write - Write all eight dimensional units -
    • cg_nunits - Get number of dimensional units -
    • cg_units_read - Read first five dimensional units -
    • cg_unitsfull_read - Read all eight dimensional units -
    -
  • Dimensional Exponents -
      -
    • cg_exponents_write - Write first five dimensional exponents -
    • cg_expfull_write - Write all eight dimensional exponents -
    • cg_nexponents - Get number of dimensional exponents -
    • cg_exponents_info - Get exponent data type -
    • cg_exponents_read - Read first five dimensional exponents -
    • cg_expfull_read - Read all eight dimensional exponents -
    -
- - -

Data Arrays

- -Node: DataArray_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_array_write(char *arrayname, DataType_t datatype,
-       int rank, cgsize_t *dimensions, void *data);
-
- - w m -
- ier = cg_array_general_write(char *arrayname,
-       DataType_t datatype, int rank, cgsize_t *dimensions,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *data);
-
- - w m -
- ier = cg_narrays(int *narrays); - - r - m -
- ier = cg_array_info(int A, char *arrayname, DataType_t *datatype,
-       int *rank, cgsize_t *dimensions);
-
- r - m -
- ier = cg_array_read(int A, void *data); - - r - m -
- ier = cg_array_read_as(int A, DataType_t datatype, void *data); - - r - m -
- ier = cg_array_general_read(int A,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *data);
-
- r - m -
- call cg_array_write_f(arrayname, datatype, rank,
-      dimensions, data, ier)
-
- - w m -
- call cg_array_general_write_f(arrayname, datatype, rank, dimensions
-      range_min, range_max, mem_datatype, mem_rank, mem_dimensions,
-      mem_range_min, mem_range_max, data, ier);
-
- - w m -
- call cg_narrays_f(narrays, ier) - - r - m -
- call cg_array_info_f(A, arrayname, datatype, rank,
-      dimensions, ier)
-
- r - m -
- call cg_array_read_f(A, data, ier) - - r - m -
- call cg_array_read_as_f(A, datatype, data, ier) - - r - m -
- call cg_array_general_read_f(A, range_min, range_max, mem_datatype,
-      mem_rank, mem_dimensions, mem_range_min, mem_range_max,
-      data, ier);
-
- r - m -
- -
-Input/Output - -

- -
    - narrays   - Number of DataArray_t nodes under the current node. -
- A - Data array index, where 1 ≤ Anarrays. -
- arrayname - Name of the DataArray_t node. -
- datatype - Type of data held in the DataArray_t node. - The admissible types are Integer, LongInteger, - RealSingle, RealDouble, and Character. -
- rank - Number of dimensions of array in file (max 12). See -Node Management Routines in CGIO User's Guide. -
- dimensions - Dimensions of array in file. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - The type of data held in memory. - The admissible types are Integer, LongInteger, - RealSingle, RealDouble, and Character. -
- mem_rank - Number of dimensions of array in memory (max 12). -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- data - The data array in memory. -
- ier - Error status. -
- -

-The function cg_array_general_write may be used to write -from a subset of the array in memory to a subset of the array in the file. -When using the partial write, any existing data from range_min -to range_max will be overwritten by the new values. -All other values will not be affected. - -

-The functions cg_array_general_read and cg_array_general_write -allow for type conversion when both reading from and writing to the file. - -

-When using cg_array_general_write and -cg_array_general_read, the lower core elements in the file -have index 1 for defining range_min and range_max; whereas -for the array in memory, defined by mem_rank and -mem_dimensions, the lower array elements in memory have -index 1 for defining mem_range_min and mem_range_max. -The actual lower and upper bounds of the array in memory can be anything. -For example, to fully read a two-dimensional 6 × 6 data array with 1 -rind plane on each side in the file to an 8 × 8 array in memory -(mem_rank = 2 and mem_dimensions = (8,8)), set -range_min and range_max to (0,0) and (7,7), and set -mem_range_min and mem_range_max to (1,1) and (8,8). - - -

Data Class

- -Node: DataClass_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_dataclass_write(DataClass_t dataclass); - - - w m -
- ier = cg_dataclass_read(DataClass_t *dataclass); - - r - m -
- call cg_dataclass_write_f(dataclass, ier) - - - w m -
- call cg_dataclass_read_f(dataclass, ier) - - r - m -
- -
-Input/Output - - -

- -
    - dataclass   - Data class for the nodes at this level. - See below for the data classes currently supported in CGNS. -
- ier - Error status. -
- -

-The data classes currently supported in CGNS are: -

- -
    - Dimensional   - Regular dimensional data. -
- NormalizedByDimensional - Nondimensional data that is normalized by dimensional reference - quantities. -
- NormalizedByUnknownDimensional - All fields and reference data are nondimensional. -
- NondimensionalParameter - Nondimensional parameters such as Mach number and lift coefficient. -
- DimensionlessConstant - Constant such as π. -
-
-These classes are declared within typedef DataClass_t in -cgnslib.h, and as parameters in cgnslib_f.h. - - -

Data Conversion Factors

- -Node: DataConversion_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_conversion_write(DataType_t DataType,
-       void *ConversionFactors);
-
- - w m -
- ier = cg_conversion_info(DataType_t *DataType); - - r - m -
- ier = cg_conversion_read(void *ConversionFactors); - - r - m -
- call cg_conversion_write_f(DataType, ConversionFactors, ier) - - - w m -
- call cg_conversion_info_f(DataType, ier) - - r - m -
- call cg_conversion_read_f(ConversionFactors, ier) - - r - m -
- -
-Input/Output - - -

- -
    - DataType   - Data type in which the conversion factors are recorded. - Admissible data types for conversion factors are RealSingle - and RealDouble. -
- ConversionFactors - Two-element array containing the scaling and offset factors. -
- ier - Error status. -
- -

-The DataConversion_t data structure contains factors to convert -the nondimensional data to "raw" dimensional data. -The scaling and offset factors are contained in the two-element array -ConversionFactors. -In pseudo-Fortran, the conversion process is as follows: - -

-   ConversionScale  = ConversionFactors(1)
-   ConversionOffset = ConversionFactors(2)
-   Data(raw) = Data(nondimensional)*ConversionScale + ConversionOffset
-
- - -

Dimensional Units

- -Nodes: DimensionalUnits_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_units_write(MassUnits_t mass, LengthUnits_t length,
-       TimeUnits_t time, TemperatureUnits_t temperature,
-       AngleUnits_t angle);
-
- - w m -
- ier = cg_unitsfull_write(MassUnits_t mass, LengthUnits_t length,
-       TimeUnits_t time, TemperatureUnits_t temperature,
-       AngleUnits_t angle, ElectricCurrentUnits_t current,
-       SubstanceAmountUnits_t amount,
-       LuminousIntensityUnits_t intensity);
-
- - w m -
- ier = cg_nunits(int *nunits); - - r - m -
- ier = cg_units_read(MassUnits_t *mass, LengthUnits_t *length,
-       TimeUnits_t *time, TemperatureUnits_t *temperature,
-       AngleUnits_t *angle);
-
- r - m -
- ier = cg_unitsfull_read(MassUnits_t *mass, LengthUnits_t *length,
-       TimeUnits_t *time, TemperatureUnits_t *temperature,
-       AngleUnits_t *angle, ElectricCurrentUnits_t *current,
-       SubstanceAmountUnits_t *amount,
-       LuminousIntensityUnits_t *intensity);
-
- r - m -
- call cg_units_write_f(mass, length, time, temperature, angle, ier) - - - w m -
- call cg_unitsfull_write_f(mass, length, time, temperature, angle,
-      current, amount, intensity, ier)
-
- - w m -
- call cg_nunits_f(nunits, ier) - - r - m -
- call cg_units_read_f(mass, length, time, temperature, angle, ier) - - r - m -
- call cg_unitsfull_read_f(mass, length, time, temperature, angle,
-      current, amount, intensity, ier)
-
- r - m -
- -
-Input/Output - - -

- -
    - mass   - Mass units. - Admissible values are CG_Null, CG_UserDefined, - Kilogram, Gram, Slug, and - PoundMass. -
- length - Length units. - Admissible values are CG_Null, CG_UserDefined, - Meter, Centimeter, Millimeter, - Foot, and Inch. -
- time - Time units. - Admissible values are CG_Null, CG_UserDefined, and - Second. -
- temperature - Temperature units. - Admissible values are CG_Null, CG_UserDefined, - Kelvin, Celsius, Rankine, and - Fahrenheit. -
- angle - Angle units. - Admissible values are CG_Null, CG_UserDefined, - Degree, and Radian. -
- current - Electric current units. - Admissible values are CG_Null, CG_UserDefined, - Ampere, Abampere, Statampere, - Edison, and auCurrent. -
- amount - Substance amount units. - Admissible values are CG_Null, CG_UserDefined, - Mole, Entities, StandardCubicFoot, and - StandardCubicMeter. -
- intensity - Luminous intensity units. - Admissible values are CG_Null, CG_UserDefined, - Candela, Candle, Carcel, - Hefner, and Violle. -
- nunits - Number of units used in the file (i.e., either 5 or 8). -
- ier - Error status. -
- -

-The supported units are declared within typedefs in cgnslib.h -and as parameters in cgnslib_f.h. - -

-When reading units data, either cg_units_read or -cg_unitsfull_read may be used, regardless of the number of -units used in the file. -If cg_unitsfull_read is used, but only five units are used -in the file, the returned values of current, amount, -and intensity will be CG_Null. - - -

Dimensional Exponents

- -Node: DimensionalExponents_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_exponents_write(DataType_t DataType, void *exponents); - - - w m -
- ier = cg_expfull_write(DataType_t DataType, void *exponents); - - - w m -
- ier = cg_nexponents(int *nexponents); - - r - m -
- ier = cg_exponents_info(DataType_t *DataType); - - r - m -
- ier = cg_exponents_read(void *exponents); - - r - m -
- ier = cg_expfull_read(void *exponents); - - r - m -
- call cg_exponents_write_f(DataType, exponents, ier) - - - w m -
- call cg_expfull_write_f(DataType, exponents, ier) - - - w m -
- call cg_nexponents_f(nexponents, ier) - - r - m -
- call cg_exponents_info_f(DataType, ier) - - r - m -
- call cg_exponents_read_f(exponents, ier) - - r - m -
- call cg_expfull_read_f(exponents, ier) - - r - m -
- -
-Input/Output - - -

- -
    - DataType   - Data type in which the exponents are recorded. - Admissible data types for the exponents are RealSingle - and RealDouble. -
- exponents - Exponents for the dimensional units for mass, length, time, - temperature, angle, electric current, substance amount, and - luminous intensity, in that order. -
- nexponents - Number of exponents used in the file (i.e., either 5 or 8). -
- ier - Error status. -
- -

-When reading exponent data, either cg_exponents_read or -cg_expfull_read may be used, regardless of the number of -exponents used in the file. -If cg_exponents_read is used, but all eight exponents are used -in the file, only the first five exponents are returned. -If cg_expfull_read is used, but only five exponents are used -in the file, the returned values of the exponents for electric current, -substance amount, and luminous intensity will be zero. - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/solution.html b/CGNS-ReST-site/source/standard/MLL/midlevel/solution.html deleted file mode 100644 index 2c1d63e2..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/solution.html +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - CGNS Mid-Level Library - Solution Data - - -

Solution Data

- -
    -
  • Flow Solution -
      -
    • cg_sol_write - Create and/or write to a FlowSolution_t node -
    • cg_nsols - Get number of FlowSolution_t nodes -
    • cg_sol_info - Get info about a FlowSolution_t node -
    • cg_sol_ptset_write - Create a point set FlowSolution_t node -
    • cg_sol_ptset_info - Get info about a point set FlowSolution_t node -
    • cg_sol_ptset_read - Read a point set FlowSolution_t node -
    • cg_sol_size - Get the dimensions of a FlowSolution_t node -
    -
  • Flow Solution Data -
      -
    • cg_field_write - Write flow solution -
    • cg_field_partial_write - Write subset of flow solution -
    • cg_field_general_write - Write shaped array to a subset of flow solution -
    • cg_nfields - Get number of flow solution arrays -
    • cg_field_info - Get info about a flow solution array -
    • cg_field_read - Read flow solution -
    • cg_field_general_read - Read subset of flow solution to a shaped array -
    -
  • Discrete Data -
      -
    • cg_discrete_write - Create a DiscreteData_t node -
    • cg_ndiscrete - Get number of DiscreteData_t nodes -
    • cg_discrete_read - Get name of a DiscreteData_t node -
    • cg_discrete_ptset_write - Create a point set DiscreteData_t node -
    • cg_discrete_ptset_info - Get info about a point set DiscreteData_t node -
    • cg_discrete_ptset_read - Read a point set DiscreteData_t node -
    • cg_discrete_size - Get the dimensions of a DiscreteData_t node -
    -
  • Zone Subregions -
      -
    • cg_nsubregs - Get number of ZoneSubRegion_t nodes -
    • cg_subreg_info - Get info about a ZoneSubRegion_t node -
    • cg_subreg_ptset_read - Read point set data for a ZoneSubRegion_t node -
    • cg_subreg_bcname_read - Read the BC_t node name for a ZoneSubRegion_t node -
    • cg_subreg_gcname_read - Read the GridConnectivity_t node name for a ZoneSubRegion_t node -
    • cg_subreg_ptset_write - Create a point set ZoneSubRegion_t node -
    • cg_subreg_bcname_write - Create a ZoneSubRegion_t node that references a BC_t node -
    • cg_subreg_gcname_write - Create a ZoneSubRegion_t node that references a GridConnectivity_t node -
    -
- - -

Flow Solution

- -Node: FlowSolution_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_sol_write(int fn, int B, int Z, char *solname,
-       GridLocation_t location, int *S);
-
- - w m -
- ier = cg_nsols(int fn, int B, int Z, int *nsols); - - r - m -
- ier = cg_sol_info(int fn, int B, int Z, int S, char *solname,
-       GridLocation_t *location);
-
- r - m -
- ier = cg_sol_ptset_write(int fn, int B, int Z, const char *solname,
-       GridLocation_t location, PointSetType_t ptset_type,
-       cgsize_t npnts, const cgsize_t *pnts, int *S);
-
- - w m -
- ier = cg_sol_ptset_info(int fn, int B, int Z, int S,
-       PointSetType_t *ptset_type, cgsize_t *npnts);
-
- r - m -
- ier = cg_sol_ptset_read(int fn, int B, int Z, int S, cgsize_t *pnts); - - r - m -
- ier = cg_sol_size(int fn, int B, int Z, int S, int *data_dim,
-       cgsize_t *dim_vals);
-
- r - m -
- call cg_sol_write_f(fn, B, Z, solname, location, S, ier) - - - w m -
- call cg_nsols_f(fn, B, Z, nsols, ier) - - r - m -
- call cg_sol_info_f(fn, B, Z, S, solname, location, ier) - - r - m -
- call cg_sol_ptset_write_f(fn, B, Z, solname, location, ptset_type,
-       npnts, pnts, S, ier);
-
- - w m -
- call cg_sol_ptset_info_f(fn, B, Z, S, ptset_type, npnts, ier); - - r - m -
- call cg_sol_ptset_read_f(fn, B, Z, S, pnts, ier); - - r - m -
- call cg_sol_size_f(fn, B, Z, S, data_dim, dim_vals, ier); - - r - m -
- -
-Input/Output - - -

- - - -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- S - Flow solution index number, where - 1 ≤ Snsols. -
- nsols - Number of flow solutions for zone Z. -
- solname - Name of the flow solution. -
- location - Grid location where the solution is recorded. - The current admissible locations are Vertex, - CellCenter, IFaceCenter, JFaceCenter, - and KFaceCenter. -
- ptset_type - Type of point set defining the interface in the current solution; - either PointRange or PointList. -
- npnts - Number of points defining the interface in the current solution. - For a ptset_type of PointRange, npnts - is always two. - For a ptset_type of PointList, npnts is - the number of points in the PointList. -
- pnts - Array of points defining the interface in the current solution. -
- data_dim - Number of dimensions defining the solution data. If a - point set has been defined, this will be 1, otherwise - this will be the current zone index dimension.
- dim_vals - The array of data_dim dimensions for the solution data.
- ier - Error status. -
- -

-The above functions are used to create, and get information about, -FlowSolution_t nodes. - -

-Solution data may be specified over the entire zone, as in previous -versions of the library, using cg_sol_write or over -a patch region of the zone using cg_sol_ptset_write. -The two are mutually exclusive. In the first case, the size of -the solution data is determined by the size of the zone, the -grid location, and rind data (if any) as in previous versions. -In the second case the solution data size is entirely determined -by the PointList/PointRange patch. In order to determine which of -the two forms in which the solution data was written, use -cg_sol_ptset_info. If the solution is over the entire -zone, ptset_type will be returned as CG_Null -and npnts as 0. Otherwise, ptset_type will -be either PointList or PointRange, and the -number of points will be returned in npnts. - -

-To assist in determining the size of the solution data, -the function cg_sol_size has been added. For a solution -defined over the full zone, data_dim returns the index -dimension for the zone, and dim_vals specifies the -dimensions of the data, corrected for the grid location type -and rind data. If a point set patch has been specified, -data_dim will be 1 and dim_vals will contain -the total size of the patch. - -

-Acceptable values of GridLocation_t are Vertex -and CellCenter. If the base cell dimension is 2 or -greater (surface or volume), then EdgeCenter is -also allowed. For 3 dimensional bases, FaceCenter, and -for structured zones, IFaceCenter, JFaceCenter -and KFaceCenter, are also acceptable. - - -

Flow Solution Data

- - --- - - -
Functions - Modes -
- ier = cg_field_write(int fn, int B, int Z, int S,
-       DataType_t datatype, char *fieldname, void *solution_array,
-       int *F);
-
- - w m -
- ier = cg_field_partial_write(int fn, int B, int Z, int S,
-       DataType_t datatype, char *fieldname, cgsize_t *range_min,
-       cgsize_t *range_max, void *solution_array, int *F);
-
- - w m -
- ier = cg_field_general_write(int fn, int B, int Z, int S, char *fieldname,
-       DataType_t datatype, cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *solution_array, int *F);
-
- - w m -
- ier = cg_nfields(int fn, int B, int Z, int S, int *nfields); - - r - m -
- ier = cg_field_info(int fn, int B, int Z, int S, int F,
-       DataType_t *datatype, char *fieldname);
-
- r - m -
- ier = cg_field_read(int fn, int B, int Z, int S, char *fieldname,
-       DataType_t mem_datatype, cgsize_t *range_min, cgsize_t *range_max,
-       void *solution_array);
-
- r - m -
- ier = cg_field_general_read(int fn, int B, int Z, int S, char *fieldname,
-       cgsize_t *range_min, cgsize_t *range_max,
-       DataType_t mem_datatype, int mem_rank, cgsize_t *mem_dimensions,
-       cgsize_t *mem_range_min, cgsize_t *mem_range_max,
-       void *solution_array);
-
- r - m -
- call cg_field_write_f(fn, B, Z, S, datatype, fieldname,
-      solution_array, F, ier)
-
- - w m -
- call cg_field_partial_write_f(fn, B, Z, S, datatype, fieldname,
-      range_min, range_max, solution_array, F, ier)
-
- - w m -
- call cg_field_general_write_f(fn, B, Z, S, fieldname, datatype,
-      range_min, range_max, mem_datatype, mem_rank, mem_dimensions,
-      mem_range_min, mem_range_max, solution_array, F, ier);
-
- - w m -
- call cg_nfields_f(fn, B, Z, S, nfields, ier) - - r - m -
- call cg_field_info_f(fn, B, Z, S, F, datatype, fieldname, ier) - - r - m -
- call cg_field_read_f(fn, B, Z, S, fieldname, mem_datatype, range_min,
-      range_max, solution_array, ier)
-
- r - m -
- call cg_field_general_read_f(fn, B, Z, S, fieldname,
-      range_min, range_max, mem_datatype, mem_rank, mem_dimensions,
-      mem_range_min, mem_range_max, solution_array, ier);
-
- r - m -
- -
-Input/Output - - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- S - Flow solution index number, where - 1 ≤ Snsols. -
- F - Solution array index number, where - 1 ≤ Fnfields. -
- nfields - Number of data arrays in flow solution S. -
- datatype - Data type of the solution array written to the file. - Admissible data types for a solution array are Integer, - LongInteger, RealSingle, and RealDouble. -
- fieldname - Name of the solution array. - It is strongly advised to use the - SIDS nomenclature - conventions when naming the solution arrays to insure file - compatibility. -
- range_min - Lower range index in file (eg., imin, jmin, kmin). -
- range_max - Upper range index in file (eg., imax, jmax, kmax). -
- mem_datatype - Data type of an array in memory. - Admissible data types for a solution array are Integer, - LongInteger, RealSingle, and RealDouble. -
- mem_rank - Number of dimensions of array in memory. -
- mem_dimensions - Dimensions of array in memory. -
- mem_range_min - Lower range index in memory (eg., imin, jmin, kmin). -
- mem_range_max - Upper range index in memory (eg., imax, jmax, kmax). -
- solution_array - Array of solution values. -
- ier - Error status. -
- -

-The above functions are used to read and write solution arrays stored -below a FlowSolution_t node. - -

-When writing, the function cg_field_write will -automatically write the full range of the solution (i.e., the entire -solution_array). -The functions cg_field_partial_write and cg_field_general_write may be used to write -only a subset of solution_array. -When using the partial write, any existing data from range_min -to range_max will be overwritten by the new values. -All other values will not be affected. - -

-The function cg_field_read returns the solution array -fieldname, for the range prescribed by range_min and -range_max. -The array is returned to the application in the data type requested in -mem_datatype. -This data type does not need to be the same as the one in which the data is -stored in the file. -A solution array stored as double precision in the CGNS file can be -returned to the application as single precision, or vice versa. -The functions cg_field_general_read and cg_field_general_write -allow for type conversion when both reading from and writing to the file. - -

-In Fortran, when using cg_field_read_f to read a 2D or 3D -solution, the extent of each dimension of solution_array must -be consistent with the requested range. -When reading a 1D solution, the declared size can be larger than the -requested range. -For example, for a 2D zone with 100 × 50 vertices, if -range_min and range_max are set to (11,11) and (20,20) -to read a subset of the solution, then solution_array must be -dimensioned (10,10). -If solution_array is declared larger (e.g., (100,50)) the -indices for the returned array values will be wrong. -These restrictions can be avoided by using cg_field_general_read_f instead. - -

-When using cg_field_general_write and -cg_field_general_read, the lower core locations in the file -have index 1 for defining range_min and range_max; whereas -for the array in memory, defined by mem_rank and -mem_dimensions, the lower array locations in memory have -index 1 for defining mem_range_min and mem_range_max. -The actual lower and upper bounds of the array in memory can be anything. -For example, to fully read a two-dimensional 6 × 6 solution array with 1 -rind plane on each side in the file to an 8 × 8 array in memory -(mem_rank = 2 and mem_dimensions = (8,8)), set -range_min and range_max to (0,0) and (7,7), and set -mem_range_min and mem_range_max to (1,1) and (8,8). - - -

Discrete Data

- -Node: DiscreteData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_discrete_write(int fn, int B, int Z, char *DiscreteName,
-       int *D);
-
- - w m -
- ier = cg_ndiscrete(int fn, int B, int Z, int *ndiscrete); - - r - m -
- ier = cg_discrete_read(int fn, int B, int Z, int D,
-       char *DiscreteName);
-
- r - m -
- ier = cg_discrete_ptset_write(int fn, int B, int Z, const char *DiscreteName,
-       GridLocation_t location, PointSetType_t ptset_type,
-       cgsize_t npnts, const cgsize_t *pnts, int *D);
-
- - w m -
- ier = cg_discrete_ptset_info(int fn, int B, int Z, int D,
-       PointSetType_t *ptset_type, cgsize_t *npnts);
-
- r - m -
- ier = cg_discrete_ptset_read(int fn, int B, int Z, int D, cgsize_t *pnts); - - r - m -
- ier = cg_discrete_size(int fn, int B, int Z, int D, int *data_dim,
-       cgsize_t *dim_vals);
-
- r - m -
- call cg_discrete_write_f(fn, B, Z, DiscreteName, D, ier) - - - w m -
- call cg_ndiscrete_f(fn, B, Z, ndiscrete, ier) - - r - m -
- call cg_discrete_read_f(fn, B, Z, D, DiscreteName, ier) - - r - m -
- call cg_discrete_ptset_write_f(fn, B, Z, DiscreteName, location, ptset_type,
-       npnts, pnts, D, ier);
-
- - w m -
- call cg_discrete_ptset_info_f(fn, B, Z, D, ptset_type, npnts, ier); - - r - m -
- call cg_discrete_ptset_read_f(fn, B, Z, D, pnts, ier); - - r - m -
- call cg_discrete_size_f(fn, B, Z, D, data_dim, dim_vals, ier); - - r - m -
- -
-Input/Output - - -

- - - -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- D - Discrete data index number, where - 1 ≤ Dndiscrete. -
- ndiscrete - Number of DiscreteData_t data structures under zone Z. -
- DiscreteName - Name of DiscreteData_t data structure. -
- location - Grid location where the discrete data is recorded. - The current admissible locations are Vertex, - CellCenter, IFaceCenter, JFaceCenter, - and KFaceCenter. -
- ptset_type - Type of point set defining the interface for the discrete data; - either PointRange or PointList. -
- npnts - Number of points defining the interface for the discrete data. - For a ptset_type of PointRange, npnts - is always two. - For a ptset_type of PointList, npnts is - the number of points in the list. -
- pnts - Array of points defining the interface for the discrete data. -
- data_dim - Number of dimensions defining the discrete data. If a - point set has been defined, this will be 1, otherwise - this will be the current zone index dimension.
- dim_vals - The array of data_dim dimensions for the discrete data.
- ier - Error status. -
- -

-DiscreteData_t nodes are intended for the storage of fields -of data not usually identified as part of the flow solution, such as -fluxes or equation residuals. - -

-The description for these functions is similar to the -FlowSolution_t node as described above. -To read and write the discrete data, use -cg_goto to access the -DiscreteData_t node, then -cg_array_read and -cg_array_write. -The dimensions provided to the array-write family of functions must match the dimensions specified by the Zone_t and DiscreteData_t nodes. Use cg_gridlocation_write and -cg_rind_write under the DiscreteData_t node, as required. - - -

Zone Subregions

- -Node: ZoneSubRegion_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_nsubregs(int fn, int B, int Z, int *nsubregs); - - r - m -
- ier = cg_subreg_info(int fn, int B, int Z, int S, char *regname,
-       int *dimension, GridLocation_t *location,
-       PointSetType_t *ptset_type, cgsize_t *npnts,
-       int *bcname_len, int *gcname_len);
-
- r - m -
- ier = cg_subreg_ptset_read(int fn, int B, int Z, int S, cgsize_t *pnts); - - r - m -
- ier = cg_subreg_bcname_read(int fn, int B, int Z, int S, char *bcname); - - r - m -
- ier = cg_subreg_gcname_read(int fn, int B, int Z, int S, char *gcname); - - r - m -
- ier = cg_subreg_ptset_write(int fn, int B, int Z, const char *regname,
-       int dimension, GridLocation_t location,
-       PointSetType_t ptset_type, cgsize_t npnts,
-       const cgsize_t *pnts, int *S);
-
- - w m -
- ier = cg_subreg_bcname_write(int fn, int B, int Z, const char *regname,
-       int dimension, const char *bcname, int *S);
-
- - w m -
- ier = cg_subreg_gcname_write(int fn, int B, int Z, const char *regname,
-       int dimension, const char *gcname, int *S);
-
- - w m -
- call cg_nsubregs_f(fn, B, Z, nsubregs, ier) - - r - m -
- call cg_subreg_info_f(fn, B, Z, S, regname, dimension, location,
-       ptset_type, npnts, bcname_len, gcname_len, ier)
-
- r - m -
- call cg_subreg_ptset_read_f(fn, B, Z, S, pnts, ier) - - r - m -
- call cg_subreg_bcname_read_f(fn, B, Z, S, bcname, ier) - - r - m -
- call cg_subreg_gcname_read_f(fn, B, Z, S, gcname, ier) - - r - m -
- call cg_subreg_ptset_write_f(fn, B, Z, regname, dimension, location,
-       ptset_type, npnts, pnts, S, ier)
-
- - w m -
- call cg_subreg_bcname_write_f(fn, B, Z, regname, dimension, bcname, S, ier) - - - w m -
- call cg_subreg_gcname_write_f(fn, B, Z, regname, dimension, gcname, S, ier) - - - w m -
- -
-Input/Output - - -

- - - - - - - -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- S - ZoneSubRegion index number, where 1 ≤ Snsubregs. -
- nsubregs - Number of ZoneSubRegion_t nodes under Zone Z. -
- regname - Name of the ZoneSubRegion_t node,
- dimension - Dimensionality of the subregion, 1 for lines, 2 for faces, - 3 for volumes,
- location - Grid location used in the definition of the point set. - The currently admissible locations are Vertex and - CellCenter. -
- ptset_type - Type of point set defining the interface for the subregion data; - either PointRange or PointList. -
- npnts - Number of points defining the interface for the subregion data. - For a ptset_type of PointRange, npnts - is always two. - For a ptset_type of PointList, npnts is - the number of points in the PointList. -
- pnts - Array of points defining the interface for the subregion data. -
- bcname - The name of a BC_t node which defines the subregion.
- gcname - The name of a GridConnectivity_t or - GridConnectivity1to1_t node which defines the subregion.
- bcname_len - String length of bcname.
- gcname_len - String length of gcname.
- ier - Error status. -
- -

-These functions allow for the specification of Zone subregions. The -subregion may be specified as either the name of an existing -BC_t node (cg_subreg_bcname_write), an -existing GridConnectivity_t or GridConnectivity1to1_t -node (cg_subreg_gcname_write), or as a PointSet/PointRange -(cg_subreg_ptset_write). These specifications are mutually -exclusive. To determine the type of the subregion, use -cg_subreg_info. If the subregion is a point set, -then ptset_type will indicate the point set type (either -PointList or PointRange) and npts will be -set to the number of points to define the region. Otherwise, -ptset_type will be set to CG_Null and -npnts will be 0. In this case, one of bcname_len -or gcname_len will be non-zero, indicating whether the -ZoneSubRegion references a BC_t node -(bcname_len non-zero) or -GridConnectivity_t node (gcname_len non-zero). - -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/structural.html b/CGNS-ReST-site/source/standard/MLL/midlevel/structural.html deleted file mode 100644 index a215becb..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/structural.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - CGNS Mid-Level Library - Structural Nodes - - - -

Structural Nodes

- -
    -
  • CGNS Base Information -
      -
    • cg_base_write - Create and/or write to a CGNS base node -
    • cg_nbases - Get number of CGNS base nodes in file -
    • cg_base_read - Read CGNS base information -
    • cg_cell_dim - Get the cell dimension for the CGNS base -
    -
  • Zone Information -
      -
    • cg_zone_write - Create and/or write to a zone node -
    • cg_nzones - Get number of zones in base -
    • cg_zone_read - Read zone information -
    • cg_zone_type - Get type of zone (structured or unstructured) -
    • cg_index_dim - Get the index dimension for the CGNS zone -
    -
  • Simulation Type -
      -
    • cg_simulation_type_write - Write simulation type -
    • cg_simulation_type_read - Read simulation type -
    -
- - -

CGNS Base Information

- -Node: CGNSBase_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_base_write(int fn, char *basename, int cell_dim,
-       int phys_dim, int *B);
-
- - w m -
- ier = cg_nbases(int fn, int *nbases); - - r - m -
- ier = cg_base_read(int fn, int B, char *basename, int *cell_dim,
-       int *phys_dim);
-
- r - m -
- ier = cg_cell_dim(int fn, int B, int *cell_dim); - - r - m -
- call cg_base_write_f(fn, basename, cell_dim, phys_dim, B, ier) - - - w m -
- call cg_nbases_f(fn, nbases, ier) - - r - m -
- call cg_base_read_f(fn, B, basename, cell_dim, phys_dim, ier) - - r - m -
- call cg_cell_dim_f(fn, B, cell_dim, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- nbases - Number of bases present in the CGNS file fn. -
- basename - Name of the base. -
- cell_dim - Dimension of the cells; 3 for volume cells, 2 for surface cells - and 1 for line cells. -
- phys_dim - Number of coordinates required to define a vector in the field. -
- ier - Error status. -
- - -

Zone Information

- -Node: Zone_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_zone_write(int fn, int B, char *zonename, cgsize_t *size,
-       ZoneType_t zonetype, int *Z);
-
- - w m -
- ier = cg_nzones(int fn, int B, int *nzones); - - r - m -
- ier = cg_zone_read(int fn, int B, int Z, char *zonename,
-       cgsize_t *size);
-
- r - m -
- ier = cg_zone_type(int fn, int B, int Z, ZoneType_t *zonetype); - - r - m -
- ier = cg_index_dim(int fn, int B, int Z, int *index_dim); - - r - m -
- call cg_zone_write_f(fn, B, zonename, size, zonetype, Z, ier) - - - w m -
- call cg_nzones_f(fn, B, nzones, ier) - - r - m -
- call cg_zone_read_f(fn, B, Z, zonename, size, ier) - - r - m -
- call cg_zone_type_f(fn, B, Z, zonetype, ier) - - r - m -
- call cg_index_dim_f(fn, B, Z, index_dim, ier) - - r - m -
- -
-Input/Output - -

- - -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- nzones - Number of zones present in base B. -
- zonename - Name of the zone. -
- size - Number of vertices, cells, and boundary vertices in each - (index)-dimension. For structured grids, the dimensions have unit stride in the array (e.g., [NVertexI, NVertexJ, NVertexK, NCellI, NCellJ, NCellK, NBoundVertexI, NBoundVertexJ, NBoundVertexK]). -

- Note that for unstructured grids, the number of cells is the - number of highest order elements. - Thus, in three dimensions it's the number of 3-D cells, and in - two dimensions it's the number of 2-D cells. -

- Also for unstructured grids, if the nodes are sorted between - internal nodes and boundary nodes, the optional parameter - NBoundVertex must be set equal to the number of boundary - nodes. - By default, NBoundVertex equals zero, meaning that the - nodes are unsorted. -

- Note that a non-zero value for NBoundVertex only applies - to unstructured grids. - For structured grids, the NBoundVertex parameter always - equals 0 in all directions.

- - - - - - - - - - - -
Mesh Type  Size -
3D structuredNVertexI, NVertexJ, NVertexK
- NCellI, NCellJ, NCellK
- NBoundVertexI = 0, NBoundVertexJ = 0, NBoundVertexK = 0 -
2D structuredNVertexI, NVertexJ
- NCellI, NCellJ
- NBoundVertexI = 0, NBoundVertexJ = 0 -
3D unstructuredNVertex, NCell3D, NBoundVertex -
2D unstructuredNVertex, NCell2D, NBoundVertex -

-

- zonetype - Type of the zone. - The admissible types are Structured and Unstructured. -
- index_dim - Index dimension for the zone. For Structured zones, this will - be the base cell dimension and for Unstructured zones it will - be 1
- ier - Error status. -
- -

-Note: When a CGNS file is opened via the cg_open() MLL function, the zones are sorted -alphanumerically by name (the creation order is ignored/discarded). This mechanism is -provided to enable ordinal zone indexing. Therefore, if ordinal zone indexing is desired, -it is considered good standard -practice to always choose zone names to -be alphabetically increasing. For example, Zone0001, Zone0002, etc. is appropriate for up to -9999 zones. -

-(Important: Because the cgnsview tool uses the low-level cgio API, it does not sort the zones -by name and zone order presented may not match that of the MLL API. Generally, cgnsview -presents the zones in creation order for both ADF and HDF5 formats. One exception is CGNS files -that are either created or opened using the HDF5 v1.6 library (or older) will always be presented -alphabetically (creation order tracking was added to HDF5 in v1.8).) - - - -

Simulation Type

- -Node: SimulationType_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_simulation_type_write(int fn, int B,
-       SimulationType_t SimulationType);
-
- - w m -
- ier = cg_simulation_type_read(int fn, int B,
-       SimulationType_t SimulationType);
-
- r - m -
- call cg_simulation_type_write_f(fn, B, SimulationType, ier) - - - w m -
- call cg_simulation_type_read_f(fn, B, SimulationType, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- SimulationType - Type of simulation. - Valid types are CG_Null, CG_UserDefined, - TimeAccurate, and NonTimeAccurate. -
- ier - Error status. -
- -

- - - diff --git a/CGNS-ReST-site/source/standard/MLL/midlevel/timedep.html b/CGNS-ReST-site/source/standard/MLL/midlevel/timedep.html deleted file mode 100644 index 5e34b009..00000000 --- a/CGNS-ReST-site/source/standard/MLL/midlevel/timedep.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - CGNS Mid-Level Library - Time-Dependent Data - - -

Time-Dependent Data

- -
    -
  • Base Iterative Data -
      -
    • cg_biter_write - Create BaseIterativeData_t node -
    • cg_biter_read - Read BaseIterativeData_t node -
    -
  • Zone Iterative Data -
      -
    • cg_ziter_write - Create ZoneIterativeData_t node -
    • cg_ziter_read - Read ZoneIterativeData_t node -
    -
  • Rigid Grid Motion -
      -
    • cg_rigid_motion_write - Create RigidGridMotion_t node -
    • cg_n_rigid_motions - Get number of RigidGridMotion_t nodes -
    • cg_rigid_motion_read - Read RigidGridMotion_t node -
    -
  • Arbitrary Grid Motion -
      -
    • cg_arbitrary_motion_write - Create ArbitraryGridMotion_t node -
    • cg_n_arbitrary_motions - Get number of ArbitraryGridMotion_t nodes -
    • cg_arbitrary_motion_read - Read ArbitraryGridMotion_t node -
    -
  • Zone Grid Connectivity -
      -
    • cg_nzconns - Get number of ZoneGridConnectivity_t nodes -
    • cg_zconn_read - Read ZoneGridConnectivity_t node -
    • cg_zconn_write - Create ZoneGridConnectivity_t node -
    • cg_zconn_set - Set the current ZoneGridConnectivity_t node -
    • cg_zconn_get - Get the current ZoneGridConnectivity_t node -
    -
- - -

Base Iterative Data

- -Node: BaseIterativeData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_biter_write(int fn, int B, char *BaseIterName,
-       int Nsteps);
-
- - w m -
- ier = cg_biter_read(int fn, int B, char *BaseIterName,
-       int *Nsteps);
-
- r - m -
- call cg_biter_write_f(fn, B, BaseIterName, Nsteps, ier) - - - w m -
- call cg_biter_read_f(fn, B, BaseIterName, Nsteps, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- BaseIterName - Name of the BaseIterativeData_t node. -
- Nsteps - Number of time steps or iterations. -
- ier - Error status. -
- - -

Zone Iterative Data

- -Node: ZoneIterativeData_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_ziter_write(int fn, int B, int Z, char *ZoneIterName); - - - w m -
- ier = cg_ziter_read(int fn, int B, int Z, char *ZoneIterName); - - r - m -
- call cg_ziter_write_f(fn, B, Z, ZoneIterName, ier) - - - w m -
- call cg_ziter_read_f(fn, B, Z, ZoneIterName, ier) - - r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- ZoneIterName - Name of the ZoneIterativeData_t node. -
- ier - Error status. -
- - -

Rigid Grid Motion

- -Node: RigidGridMotion_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_rigid_motion_write(int fn, int B, int Z,
-       char *RigidGridMotionName,
-       RigidGridMotionType_t RigidGridMotionType, int *R);
-
- - w m -
- ier = cg_n_rigid_motions(int fn, int B, int Z,
-       int *n_rigid_motions);
-
- r - m -
- ier = cg_rigid_motion_read(int fn, int B, int Z, int R,
-       char *RigidGridMotionName,
-       RigidGridMotionType_t RigidGridMotionType);
-
- r - m -
- call cg_rigid_motion_write_f(fn, B, Z, RigidGridMotionName,
-      RigidGridMotionType, R, ier)
-
- - w m -
- call cg_n_rigid_motions_f(fn, B, Z, n_rigid_motions, ier) - - r - m -
- call cg_rigid_motion_read_f(fn, B, Z, R, RigidGridMotionName,
-      RigidGridMotionType, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- RigidGridMotionName - Name of the RigidGridMotion_t node. -
- RigidGridMotionType - Type of rigid grid motion. - The admissible types are CG_Null, CG_UserDefined, - ConstantRate, and VariableRate. -
- n_rigid_motions - Number of RigidGridMotion_t nodes under zone Z. -
- R - Rigid rotation index number, where 1 ≤ Rn_rigid_motions. -
- ier - Error status. -
- - -

Arbitrary Grid Motion

- -Node: ArbitraryGridMotion_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_arbitrary_motion_write(int fn, int B, int Z,
-       char *ArbitraryGridMotionName,
-       ArbitraryGridMotionType_t ArbitraryGridMotionType, int *A);
-
- - w m -
- ier = cg_n_arbitrary_motions(int fn, int B, int Z,
-       int *n_arbitrary_motions);
-
- r - m -
- ier = cg_arbitrary_motion_read(int fn, int B, int Z, int A,
-       char *ArbitraryGridMotionName,
-       ArbitraryGridMotionType_t ArbitraryGridMotionType);
-
- r - m -
- call cg_arbitrary_motion_write_f(fn, B, Z,
-      ArbitraryGridMotionName, ArbitraryGridMotionType, A, ier)
-
- - w m -
- call cg_n_arbitrary_motions_f(fn, B, Z, n_arbitrary_motions, ier) - - r - m -
- call cg_arbitrary_motion_read_f(fn, B, Z, A,
-      ArbitraryGridMotionName, ArbitraryGridMotionType, ier)
-
- r - m -
- -
-Input/Output - -

- -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- ArbitraryGridMotionName - Name of the ArbitraryGridMotion_t node. -
- ArbitraryGridMotionType - Type of arbitrary grid motion. - The admissible types are CG_Null, CG_UserDefined, - NonDeformingGrid, and DeformingGrid. -
- n_arbitrary_motions - Number of ArbitraryGridMotion_t nodes under zone Z. -
- A - Arbitrary grid motion index number, where 1 ≤ An_arbitrary_motions. -
- ier - Error status. -
- - -

Zone Grid Connectivity

- -Node: ZoneGridConnectivity_t - (SIDS, - File Mapping) - -

- --- - - -
Functions - Modes -
- ier = cg_nzconns(int fn, int B, int Z, int *nzconns); - - r - m -
- ier = cg_zconn_read(int fn, int B, int Z, int ZC, char *zcname); - - r - m -
- ier = cg_zconn_write(int fn, int B, int Z, const char *zcname, int *ZC); - - - w m -
- ier = cg_zconn_set(int fn, int B, int Z, int ZC); - - r w m -
- ier = cg_zconn_get(int fn, int B, int Z, int *ZC); - - r w m -
- call cg_nzconns_f(fn, B, Z, nzconns, ier) - - r - m -
- call cg_zconn_read_f(fn, B, Z, ZC, zcname, ier) - - r - m -
- call cg_zconn_write_f(fn, B, Z, zcname, ZC, ier) - - - w m -
- call cg_zconn_set_f(fn, B, Z, ZC, ier) - - r w m -
- call cg_zconn_get_f(fn, B, Z, ZC, ier) - - r w m -
- -
-Input/Output - -

- - -
    - fn   - CGNS file index number. -
- B - Base index number, where 1 ≤ Bnbases. -
- Z - Zone index number, where 1 ≤ Znzones. -
- ZC - Zone grid connectivity index number, where 1 ≤ ZCnzconns. -
- nzconns - Number of ZoneGridConnectivity_t nodes under Zone Z. -
- zcname - Name of the ZoneGridConnectivity_t node,
- ier - Error status. -
- -

-This allows for the specification of multiple ZoneGridConnectivity_t -nodes. If these functions are not used, or cg_zconn_write -is called once with a zcname of ZoneGridConnectivity, -then there will be no differences from previous versions of the -CGNS library. However, with multiple ZoneGridConnectivity_t -nodes, there is an implicit current ZoneGridConnectivity_t -node on which subsequent grid connectivity functions will operate, -i.e. cg_conn_read/write or cg_1to1_read/write. - -

-The functions cg_zconn_read and cg_zconn_write -will implicitly set the current ZoneGridConnectivity_t -node, while cg_zconn_set explicitly sets it. The functions -cg_nzconns and cg_zconn_get do not change it. - -

-The time-dependent changes to the connectivities may then be recorded -in the ZoneInterativeData_t node as an array of -ZoneGridConnectivityPointers. - -

- - - From 7fd6fcbc3345ca20818b12d44d286c7068ffda8d Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 30 Oct 2024 22:15:43 -0500 Subject: [PATCH 02/54] Doxygen config file --- CGNS-ReST-site/Doxyfile | 2595 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 2595 insertions(+) create mode 100644 CGNS-ReST-site/Doxyfile diff --git a/CGNS-ReST-site/Doxyfile b/CGNS-ReST-site/Doxyfile new file mode 100644 index 00000000..760f3b68 --- /dev/null +++ b/CGNS-ReST-site/Doxyfile @@ -0,0 +1,2595 @@ +# Doxyfile 1.8.14 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "CGNS" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + + + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = YES + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = F90=FortranFree + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = ../CGNS/src ../CGNS/src/doxygen_pages + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +#FILE_PATTERNS = *.h *.c *.F90 +FILE_PATTERNS = cgnslib.c cgns_error.c cgnslib.h pcgnslib.c *.dox + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = ../CGNS/src/cgio_ftoc.c ../CGNS/src/cg_ftoc.c ../CGNS/src/adf ../CGNS/src/adfh ../CGNS/src/tools ../CGNS/src/cgnstools ../CGNS/src/src/examples + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = ../CGNS/src/*tests ../CGNS/src/Test* + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see https://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via Javascript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have Javascript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: https://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://doc.qt.io/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# https://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/ + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /

fU zg>k{suTvkgwQ$iRa@cc-4Qmmtj3nFjJaL=Rk?WvsJyD>ITUjFWcFj_y5~O21Y@PV= zXS>-y#@Oo=6UoD|slKlv2PYYXz=1dTHe6$Zw(;&5y@L>qj2=gUmkJV3e5ykUTzck# z{Bllx<0116uX5%uAc!Td&9y2gqY7xg!j7FaA$6%}w2AjMiCC0Ab3Sls*S2|)ZS3^1_I>5~?d~gAEKjpWJi0W1GmRoDOgEMjIyD zntu6}(Xm#z?~IffUJsn7a2%5QlUVk+;n4z%Og8OsoapYHZhn^Km7Ue~u52D8K~W@H z#soYNO0l~(YIN+l;5ysO$bBJUW@MXw)H*=3nA6yjx{b6?B4cfBR^Gfnl`A(Q}#P)Ar+eFdckoc|0vG^=~afXaP{H^ zPJX}JSt;jkSzz{hftnK$#VV+4*72BCw?nNk4)AOO{(Ck{?}=satrDgQk&9OEjBsYE zYox_SD(6Qx!i!{~CK()UBSj^d-EPR?Cc-i;1mCV!F_XCjj=eqv8VbHS930$xoMiY` z6DoPO`riYt4^$g&=$#Cz3f1`5>5t($Lnkrs|ML4wX9~2_`>$JQ?O8cX%*6tRkx9+& zSK)o-6z5k>n>)KPLG(b-!(oRM#dl+G!rLjN4DZ@_`CU+v;Rty8T0KFjKtQ1SDY4xR z*@9ur)N_==Wc+NEdSL%dX* z%3_Yn*73?*9`qG5_dhi{hVm& zKKj=c|HI4E_BhkASe$x^>BF^5+p&gsM$3A!0uht*>*o6D0~nO8AU|H~n8<+q*~hCg ztzSZmqJG4cGpx)N9J#?47-ULioZ{rFOZoz<$nnc6NGF< zW}9ohbqwy-!_5T+eT_jrTR@Z^0YZUZ?^nDWy+NX-@0Ldg75DZYe&m0#L}1>JDv@;F zyOOvB)G@wzC%i5b+_F5=RN|6T)giW=-t6U zW+-%id*x<@*dF*~^>9K;^U<}!`l*G7?CB_5vr0`s^UuhUR z&8#4Hwm`g&c#6GR`9-~nnB?Q)?XENrDCAJ>t^kDChTr-b^n$FF6AbB)tm27gtRxEk zmJykS5QPH-xDDU)`Qr^4Yt{#XD|$#pcBC(1iU1~?jUItBu?1C9B}lGrJ7?C z{NSK~e=&O_snVlGNLqU4sCsR+OEEzX5cB9WB|%CWkS7u3RoODsyvtfUFmMCDu{k7NUFIln>j%E-pgG*G}O1hkX3Wd{0Ht45$Xp2=`) zP;XGn&F3qCS*;O!^B=?T6uJiio+rOZ54l|-21~w$DLQIMZwa56s2AB^2e&X z@G{)OYzvy!L-9WN^>sHJm0Ck>$f%C$AunPuOk|UBzY!XE<4YWvnXhL|1KdEOtU08aN(^^D=3Zj z(R^&Pvwt#2H;pPIDo9t9mw6jeo}b=om{@>=h6KnAw4wWSEO-vuj&tk<1jyf(Zwr{7 z^T|vpTN_k;>c9jTe5suLqMdgzC(Ki$-wkzeyWbQAF|`!jLMlNVW+EE977rG++m!h! zk6|<%(--K-Q={&GgF8vgLsAZoCrM;uuwy&SA<7uiSHlmI7@|%e`ivTAwdtBM{&nvc z_@n&C0Zrh?&;BC8lp^6C$tH)1Y-aPa#DsJiq7*n` zZlvoxOJOdg>*+DL3%PC_xcSydds)Fuk7}fS{94AN%6|N35ir2GF#tyR1B(8MRDqxu zPa{Z1Pa`Mbtu7p9C)dTw6rBB%#QF%_eDraR{$q&gz{@5%Y=)nZchx}Fp{7CW`|K18 zj9-D)3lBqr@qCdI%i5w47I}ejV+qrJkb{D=Rok0k?2gW_<)K_8>KEton$t0`3lWFlhAHJxvLS z*@3pqnQIg&C@y#IE=vU5qWe1yl9E4x|Ctx2E7{440=}_OJ35hvD5>OkPzXY0LUdZC z1*z>o5}lo_GIJx_J0)v7Xp#bYlPFSXKF)m{?RYD6iIu|xtC;WTB!>fQ4gO8!$4bn3 z0=m&1l(_`d@wtX#$h9B=T!JQHy67sg$)zJsgVdcn z?67e$d+-W)9@x|eJB`qYBT46uT9?wV1+xPsyh3r`SFwW$)(T&P*9u3dcXF%Gl>Dl( zU7h2u7lN|4sdsuW^B;7m4bdG(6UTilH0nxb7dXM5B$U!=ELZ(x5&(8k5<>OwdKDh1Zg?lD)y1 zc%|MI0U0_Ej9#ONAb7e#YFQKqCZ*T_;{s2KxvqU4<}M|-fN%jo*dD69g5?NqWH67h z0VU4sQi8|~^~p}@A8tX$-oWkTANb|9Co(4#5Crky5$ep5aTpBGJio^E+QPwLJw3Gg zZX>?w9C7@DR4NVdh06Ud=vMue)|Q4aWrAL4m`rWXtrRBO8~le9J=eTK5kz|qc9oK$ zjXJ+pJON@qn9lqy1tn;5MfiAOSk`o$)hV$PahDBk~4&f`DcnfzuP;gC|@@ z)9RZ0f))_@8$VPJ$}rAWGph&M)*1EX0LAtu|3#O*ik~0TCQ#7##u!?U2-O(fJ{BP$ z2W@`}EZx1$O`{5WvK!$uY@)Y;pP~Mn1VO>5844D9##7rAiX1s#_=P|4!ZC7xEF2Af zle;NeBFsFpWFpDK$_6U;t{|#AMe~C;hk(~8svb=ou#=j@=r8BI7n{k8|6K7Bb(@y5 zTIsx3NjW+2i^yAl_aKBa>qYLc0drgHQG_tdb@9mkq}@c0iVd>JW(_1R-%z;SIL$GP zh*=z3DY?joTbOH`{6r;~|Fvb}vCPd-gWBK6M8iR+nBK`yYN2u`Qm<+OcbL+5Y+uq2 zE2oC6I%X9AlyR@5-c9zTa^(a6P}+p!r;ZF^WBHocwGo|=0mqD#umIC;LS9T4Du=Rf zSzu**#%jb@!J=eW>(P&;m_~|LJ{1ua^ zww;uaSX><01^8tkwOVj~Su+@*Y@&h_b~8CJAi~`6kb@fhH_AH7{(wA&UCF-4l{o}X2jerO?6`PX<4FbTYcwj zizmu>INMn*C8&!?pOTrn^N=#)^$YX0KiM{rGl?lRN^RX<)Suowm{Cf}8CY0?c0xg0n ze$sTBi#FYzN!&J;q;-cEQ1wpY?IQn}>Nl!Ug4VQu-xK)J!tfw2Q12UGC5(~QC1+q~ zUJ)VWbNGkx`z3UO;kXFx5Ei{B1h^A)GV)0_zSA_^c{*{gb+er>)HaU?)wc^Wj(PxJ z{k8sRhpbZ6&Lw%GHWR$N@$nhWkGAmnM1Tg-lAFMKw3i@v#P3ZvB;4~B*H0xqxpOVzc?&t!0aXMH1O$U(_7@Z6q+z3dvHJvLnib3+xw-Gw58DyV__ja?r}mCX|d z>hSLEaONCmXluOXu&eB8KS--BNQR~8q4Z6H#NlZ&!DzVWycgv+I%X+q5PfxBR2ERb3-AUbq|@;6-E z)0>xGqbKsS>mNJ?i`~|e>JlG(i>!?B4NL5>^<3BW!uPhib5y3XR`~Ix&ek$)KQXv> zpu{S3U%zx;H!CQts*RbN3e27lhS@S%3>HHEx|{!SnEh8n>*T;kb#M}niE zLL1@5M}|N{xSgCV^R)MMYNQ-;MIv(bd2eoNTpM!SDJLPVK!I?k3G|L)J?Gh5S!$j% zU?FWx1i3JBK^^nHo(ZfIVq$Kbyl{&(4N^nZ8v(3pGCNRv*IQhKYu0i zmisNs?j#Rw>Y_@UC4?ndL9xyr&o`zk5p4g~T2hFFdTEy&!FX&H_Ub(m4sLVBPHR`*$AiDS z)GpwXRhg^k+_V_?;| zNIeqd?)ST6T-cUuf)#EUW6XC>i-VQ6TqNxxb8ODpBmW+RbY>lg;oz2iF)I*$;?yW=~rMge`ivTqx z@3x5ZP*>2rB=lR1_X-`8p~;I%+|5_g_%d1TX$h_TqOq!4hA`Tq7_3+IZCY=p34E-KVVv|kC3u&{5blS?mr>&JoVwz z(0ckvZ`R;?ubHJC<{OgHoQZE`KDeo{@o z0Mt!3BQH-RqS=mqS7w(ef|PIUG6Wi@9r9N2(33;J+8xfZ!7Tyc89}{?+3>EB5w8!L ziyg}2(6M}z`6|y~vOaspOXGISqTdDbF`**PScmQ3>v_0kq1VRXHPEDC#R(f=eu(;e z=({gCRjJVv1Mjjf?v{XA7DAS$wkItIdU^gw1n5oJ-n9(f{tdCz*&kpLiQjwsZ#l7$Qj;w897MQ{{v>hhJK=9XPU5v2)7RjYMxc zUEl>J@LW-SmoaFq%-Q@)A1x4mvE8y=B;g#!S;qO|E2Wwov)tQQ$2uV4T_IEac-a@E zzEN@4nAYI-hIR~b!@Ig2+CR)SHBUPUc?3<~anA5*+DqS;fa*KME8}%bAyhA?$Wsl| zo9-ff2@iDR==KHdk;YQQI8+=gvDI3M5L@z=zj2??cnYNo4hj^zS_>#P!`l^&Y(_s- zke=&|Lve#djh(^ef9Q+q_w+yU-qdZ6gd@o!KTi%tuz~0GbI>H{>3bO1g%~2|jE+E8 zyb*5k*tMZPd9mZlf&5*~E~I@pC9GWc=^W4JA)hkIImR)F(hX1jaXP5?ZXHoVgDC}d#iZfu(eH;;C-~sF+V$qfI ztf>#`6RC%@_2|pavJpqA_S_kX*g?@8``I|-rFQi`R|Al>a{-u-5^?~unvqtxqOy;5 z*{zPVbF!Ii!m@o3sbU4xF6us8Odlh659I&AK1L_8WYsKpQQu_ z-FbQ-5`!9a;fAz~hUZ=THhLuP_MJd%nfCLD>P!;-A;A13&KxBWu;D#i=aKpd# z-P{v*=>#(k!}h#rU94fiwy7bYYKN)nryliKc*7L6yl>rP(|Hq!&i-j$J7TZ1uAx&K z;(_17)#d6{)47H4%zgFiKM2M^<6uIm6y-O3$n6Mvt1zv)bKy<=hFk7s3|yJ;#E zVdvu+5M(}qs2Sn*Cc(vkD^XFOglV}Prr&rrC2V6+=p~$3GKhnjp`=n&426tWo*Hl> z`$PF5Rc?sWTt`&q4uj%3tEv<@q>tyNo%60wL+Dvj+ZXin$s+NwpO*=Vmqg%(!3jq} z;=;9eqA}R}7Fj}q&c(N=TM>Ow^6AT~rs*nq*tov6_AjKBQXQdXmR8*0>&JPA7S|bU zawTXGu;Dy!;(HU0vxbKHzc&k(BVxWi3eabUYH?G&Bi7GWTp90n1_rm=dLjoj$FIoT zL}$~{ldTy>z;YnIwh*^ZXn$kbjGtN)B4iNiU-|6Y_(RcR5S;M4gzC>=wDc!>AZQ6P z{7u`m5av=52!b4nIk}<%HK0+oP2x(r6Jopux$A*ZXOWbmC%Pk_RWyD2Zr{9p?~7w5 z#!#{N7R@$!iPyFwk(LHDZ}$a^>mLx(5WjL!Jg>T(2=;bIy;_{V!F~%G zy7=7XIxV!=uHk>|e@M>h&a>N6xBhJR)GUUMKKoMz>)fGfRX-$Ju#e=V?0q#)JwbxJ zL_&>($hsx5s!XQLM5z3|ka`T0C!pZXsUl!oe}0O03lBj?Va9}+{NIylaLF^2N|?tq zo1?j?>%RC49;D1)b&6QM2VDHeduxi8yH&7;nC)=l=KW}v1F@Y1KUN(t1G)8yB{8#? z9Cq{?vcXhc_y@#b)6;C-1dut?c%Vu9XK=kOI`3Q0(;*) z+G#d!U|M!#axzh@d)-nGivtBajgC2G$#} zX*TF1s&B-b2*Bb9A!ZHJJ98(KY0YU3Ch#aqqIgC2>}3gIeQp$$8H1PnOY1keLY={)Z9UlMQ`7-A?}?BD})%g z=48R{wq&Z>*;Q{^=A$LZbeFL-CXU(Bjd6WDI2+|0I|>kY!YTZ5)k16Hfs<83kaT}m zcqLRv8O}diWRs{C1in7>x#|z+A2n>^2a0B&?abM9?~hj_JXY`}SBpHfYMN6b=vHj^9X$@K^^U)uS4DgJH<=bOFaOti&AnU8 zU@o|O#S&|?9Ne4qyH>IpH~7e}3HbH@Os;K9HQ&1%vPqDHj?cX`Vlm5JeT?xad#CuS zuSqc8ih6Nm{NUmJCykAYzZ5rbt1jR-EbvuNQMU=rxC6SUB!iDLx_Ru(2}_C7Y_v$rzwfMg*7%yimZe2 zpp~%w51pvXDTWOiPGZE_Do6AH-;=FtMLtwZ#mpk9;?_qY@HYd-*-s_)7&#d5FXVII zHcd~lU;*XF^)Io~FAPzPzT&zMq9blo1Ae5Bm?;^-!3Zh4Sc(c8XegeUcgIbR8H| zCNT-Zp8(%rxuunA?JXq@OLVW2OPx0UWXSPfs%XvQ?u^k_3-VZAs&Ve5l-7#gX3(JFzcOf3mg)v6kwiWn5k~58>my}944MjD9W)Et02xZq?iE&| zDDpvkwJSF|p<;bb(XZBw+Cg1EK?j@IjN+xZjOcaa2aAlI!I?6nh!s8-xpHsh3!l8P zClSgri%_1vx*J8v!cp?%+QG~>LT#Ja6w1Z8l+SpSADU9i@f5q4JUkdtV&VF;d&esZ z`r1jeW`J?|s}Fsd;F+JDLc_P8qrWpl^U%i}j3I<-$|Fi{2+2r=`5~5U1V&{;AvvMt z4NI77>%MlxN01FQ#7%!zXC#gA~zIoP#&w^OEJZ zF*ozu*q0*0_Wbx~FM5yS4Rf#lr}f`i>kOhfbqbk6c=w{cBF?Oi9q!sN7hM>cP&PeL}RiK%T3seMZRNBm7IvSljuU?aYEjS$w~cQ8=ePAo*aG( ztqJ`(7CW;csWG=z4507aG6j|61N6gwZxr#!q`&HLP!z#Z^7v3R?WX-|&TNrE;ij9; zD&Fvd{0v8!joqn00|=gbP9I&nPc!(hL`+z3O;eJNt2Fd^Ghzk8w|j1 z+2qhb70g_2i&u4Q6)~Fw#Ok!oYv0zZeL4)`a~PF3?szd~G$vTwf$^iCHTbYAa#EM! zf#f&poVH9q?FA)FVKpWZ!uwM!qa+3GkE!CF5GQ;$YHiT;Ml{tm8o*6Zsxi{ygzwGP-UIdq8kIj0FqCq98t2GXP4ZrI36RfXNTb-bH-p~SAP^aKOq6B-cg<5 z%~V^H?^NTSZ3m=FDfD4_~8{aRfw1;u;ZU5;n8xG=_ASqY8iJ^Tu0>)zj4huq}G?@3-2lD?QD zw`fG2`bl30c)mlC-mue#(5MR?_5$em5iu8 z6&zb(PXZf_D6Gsj$gDWzUurv$Ol#y>n4B|d{&?C1E--BeY1esgS?m8y7kpQG?}Rj$2SDKfC@e$med}eq^$({#>H1hfx;~X^I<_3Z~@d z*`8!;$wFfUFX}LV$cVg$mabWRuogdcUQ<_F#WZZE;G<0VmcfS5rqI zo5YJbJo$2FT9zTfO|>s(FrMzeOx)M;cwz<2%krS7PB;(n)^a-J)0` zZ4hcdq^XY2=m`;Sk12_X-URCO3YOsdOr5oAa=l%C*N>KB*wOOwb8YXU$Fy|C50o|Z zpk0Ovx3!s_8!O}bcnphrY_@YI?g=lyQ}$IoSNW;LWU(HfrUYk%xcWEWIuKXudFO&r zTYlCIOl{oyN@JStVrv~XtRv$^V~>S;VhozoE_z4#2vNQ#FX}BvzVOoRyM$j^4++La zP-7_+hp5DCblNY9lNDo?a6c8-5JvY*2UZR@FD_~CZkEww#JUNGy1ptPcParKaSu7XWRkwhZ zak~Nn>v%D;M-lMA29fvG@k(ktJmm~L$kcG4YQ9gNZiG40lZy$mL@R1*eA<3<83LBP2fi@ZY#;Y z(k)h_w6vM5y-3CDVRLp|qdR7@ekuCkLCDMx8-B@G%-HhdKA>@yi74>=?vh=O750b@ zM}l1b4Xp@2V%Ge?uxNR9DKY?-YzJ<_x$->v?`Mf!liNB2a&=*(B~#-XEn z>oxHkA^fx+CAT1I5OYZ`uW#rN;(`;s*7Voq+YXfDoeq$);WZ2L7r|kB;G)3@fPPr> z^bF6J0@Da19@p7AnUljPlbqd!B z#@~J1t?t@aT$TN|U%cKI=+kYtTHP|T;g`&65NJFPGxN=2%BSV$y-XWDBNa;^jwYL|nQZ5NtXrFH!h6;H-CChYm zt?G7{N_l?$fFbN$_@G=U7>uw93>2CKz%v2kyH`B~^s-6-X@KZ|r_+}Q;CR^PK= z5V+$@K!S0B5c-ItS__PC>sB#n^Nck&0GLQ1Ycxb<9lu`GowR_7(!5gMui;HBwg-`@>cPzV%f;YzDFPRX|L*1y5J#&+V z+3N@?aOFpv!jd^~)tJ2wUk~DR4g3cz>vE<5b6xtQ1p_?x+{%7e>JRk7Oix62o6R73 zCa49#+RuSRqI7Tu2C;N96X-8zJD;CB8bV^R5*jXBwZ9s|2{=I#1*|}02{Y{UpfUo; z&WsmW0hteKU&o%t_daa>0Rb0aHLt6w%|jtmYz&77@_ z92kGv{=bEZqC9^p;S0AM_QEr_b|72Yq1u_6J$k{eJkSD3nD0UhAbeIyyz zT~(XqExu1KO&bfxTkA`DdYgX>iZ}p%-oP43p9Y{HpJdQ}Uzps&z}gQ)#pN(BM4-<- z=c<7gPhYE00A^5hKsi9nk5U*V7d#fk9Iyz&3m6reLfrwaeNQ0(u>pAcJqs~H3ga2R z*Id3MHG#YR75e~r`$Deq?TQ9G`|?Bk!Sy2Ue5AAjNWZ*3M;3f7zp$KNMjk*kzp%Ei zzcg#Xz(12n0n5JGSzoUoNF!H7Z#ggOfGb~y?yvCxK(=rCY|l!-*EU(`htNJGpwJop zGbarc^g|ZJ3l|_L0Lb8+o|Ktv9a`&vfx=KcRQz1@=-02rKkcOC$#}swXN-p1#;Pfx zY+ymTKNwa$T+$ws61zcsz`0D>LW#R~RlhjDF45U(3rV9|!#RZVCk@=DyfMX~%HgfX zKMjfcX)R4wU%Gw0^e_WK*+6RhlTcAhhJlQmbzqZ#zQL}*sFx8!47NlQsaz*STBDFF ziCyC|aoj8-QP@?8>{!z@eMfz3KjkK|!5K_p&7!h4x$-HlL~tOjwq;e#ei#kx(lTS! zCU9?uqm32Y^xgl*oZ981jY$08qIgUBky1;2o_h~!0fwZhoylk^OvyiMv;yx&=YIsM zc{`t(JeikLe&jtJoX1MF7^e>LD*Fc*@DpN)vXHUQh?}|VYCWeslg7w%bfsLUy`4W} zE&R?EP@9Qfq1YM@1`!N$eIaO;xJr!&&4^FCSqQ=utHw;IRsD=mVU;&QN-OaP?vXvQ{Bq5P*HUaeI70ue z{B$47Ihu`dMDsNjn=C~oIiedo?|~TZuCxCt##G3BiiPQVqvnHb6Jk!|XZ6H_byk!g zvR*Rtr$Z+cU`{pOkV?TiR(ip72Ci?`W0*-TEKNj93s zK&#&AcPRfXM~5oS-BNtTM(Ebk2KMnmgDojXS_J0UDSj{A{6`uoai73+N(DF|QD*gN&;wwe52Fvd%r7gzf zPrCP7oR;dTGDibNT54mk$%uDdQ-5uML8c>$; z*79Vw0)D6EP6Yq^e^Aolp<6QT!4#ruV zcj`|+uG+jPmKBQYNk0y$mC3CdR3O%rdVWufC=?zFr{)vVV&bv=T_R0pVRBk`P;_mm zAZ~!cqy%Ajm@+qUnwa}+zye!$&)W|R%=`t`4G>_q^krPR*q@%3#zF3FlkB=haM-=r zxG1?Q`|ZNJwrS`t}B$WbH? z$p`g);p9*xf@^+Wl7nHMmB9r=7T$Mp;n^j1+LDkq&E4S&3w{k0AsBF6!XlYu^rP z`9_&U#}Qc65CS#!(C~)i6U5oU`=qeg&`;|L_|bSTaFfWBy`7jzoFKb%TONNdErzH& zk49&+;y*X6FUBNV{fi-%(2BM-N*B9kN%k?*Y-K}t-mFkG^VJzperFx**)(N1Y*0v0 z8adSeWb4T46Bs@U@6+I8x)5J4wQn>~F%^q5o>Zq&q8)j`^CwF*4AQT=%D`y3EFv5w zO6i)c_(QeN#U_d*OL>xOeXs7MtpWGDSd7pXGtcL~HK#jq zss(0C>)o=z13|;$2Wp1pdoQsN@Wd=k2Q%%OnTo=MYR3=S{kNx@w>U#dE2-IXGP3Su zh6EAtt0Xpe$~9)vv36JcqzZF-jz=AfZe;!yq&(oCNG&c98=lO~t@bGxJH36fhuaRZ zy-{JGj*7{1Rcd+%6_k)9$oLl}%BsRI*=&<}-PpqfGRp7Mc8&5rMuyP4@ik*1k(IE5 z9O5!zhb*($dFDvjiLYagC>x)_z%x6j7Me>JUu9P~WBI455t8>?r7fidfzdOGnWR~* z3{JWxllFS|RxxD*5y@o2zF_d8#^dSpR8Dj;_flwx!I+f6l_0UG9Z{y2CL@cCj6WoV z{5_AD0h!WgU<3<%g)*_uJ8zL8M%vTYb{|_@A&x~La-QV0Rb#j>yki>Wi!iALXS2@aE z`=1!xC;W{9i`eM!-rDVq{iK8{4SiL50%)XY7lD#D6?xH#w;AQbKDEkwW#QpPCi>@F z3Fys5N#4A{_F9<&f~~=V#f_-P@W_JYVm;R-?riZfESsBdg`WYX@I0NJvfOZx*YHya z*)U&}svXr+U;mxJ_kqv@LmSvGHXKmAtrtUmH=q*(HK-z`ADbUOX8iXZeA&fr;yFvh z-wUDpl4;$2=NKkhxuv*PWgDZHmd5o0tB0xa0m4)a!*-ySj}X>Am=rX-%ZcwoA;Frw z8-KMxo~Qs}It#EQRgfayBqk9Nk@IO-QXs}D2E-il`3=M@V}Pl={tS{3&sJ8_&)kEa zvoaK=V68qk1Bw?>T1xpO{1&bRA4TFC~igM&;@ zEJ#rc@E0z6RtyJzH)n5;969j3_#Ar<7lMf6nwLFS;3PLG#r)h9q;Mprx=s`gYvbS3 z05lQW@0@mEgx{4#bsg=7ZiIL$oQZ^cp~K$6&^~8v^IUsGsl3nD5H8&3BLBRIov*Kh z3XrbrUrZL#1b|7fAvF0Th6z%*X33}^4hA%w)9&|fNEO_YqeL}7)n`#Gq-LbQn6>&) z1g|;2u+W2Y?z(_^ytBIDx;#Y23+rykQg2a`!`Y<=8(Ssku=X;d-mrAJdmK<6X+()B zOJk&bxP{xPm{gX^@S{aOa){H#Fe?crW*#*j=7+HhC3-UM#U!!MQGIbVI%fU4t)%%S zDy_pWjJYMnbc16M1s6zvHeoKst|?i4=vu_b{O;OL2XFGKoX8ZH8Mo1*&>qTH2AJyd z;`src&NC&Hc1Ia-7(T(S8S|Rp(2$La#c4Khj-*OdL46joy;`E%K8+^Y*`J=H`2Z9^ zlJY=6%@`t(KPL9@ffp$`ZswUz6~mgPW!jhAj>Uy<(X@O|pIHg6*z zj7;n=Ro?sE-9HJF-UjzxH9w4ynwI3^xV57DMwDQ7fao{JI+Ue0;6C&*xoX~SVnUJR zw_P|gI9ci6SC@G#hW9FOwsl!6s*tP?x}rpY_RXriZf(FfSD7BQc;P#%%Ah59OXTel zlqSopP6*&bcPC zz@yTp(x&%2_O*jNnk~*9phoxpuW1t8mrOb>W`fd&%67`-?{old>7>)2hP7>HFiL|! zC=`!DoBQ{JH_SxPE@D$GgfhzEb??#}7#gVH>E@%?5K1j(XL?&DO+083@iEh%z-XkE zb(N8r;R7ue?IK~is-eya!ANQ-VehVc>2Fs6HKavT_yp;N7@=(PWV0V|3%5_KS($PJ zqTx`ckga*!BELK-8;ZHLfwHmwyo?Z5r>>X!p8LU-+SaKr1x@)!=ooI%(gFotqzq$> z-#m|+|Cn%6K%0~j&)_TH5Jy7?kjgz3$^7W1XFM&~ek7vl%ZcxYq_wr6E2v@X2t9Zp zY3Hj_nAdy7(DgFNd~?}Ge)Qiw>Ke(ExQ!OSBVNlD`M)=XtjH@=?<&e`%W03<2RUXO?M+ixo^r^?Ou2BM`vwffEzT~Tpnx(~kcoL0oyAqfg zWJwGmn>x8D5-439my@S@-9^^(yG)>>N(W}}immj9u@42&jy+iIh2@qPt9! z&Y{1t9(@xWU_H4P-7EoOphym7kqP(&QSOv1q_0pl7e6TodRqi=X5UZubdn*tnz8ch#TmpF<0rZ*Fjjj5$0U*W=!dLH8+I;7;lR(x^2n%t<#D2*{-FUe5gWz05A14Nt#%Ebgk~QpFn=&?+ z1VKpZMg0XX_BY7~q$f4HkeGx0`3V2e^LCRoQl@udQEjbJ$A&JAu_TP;AKUbSP_%Rx z0FFAsxw`w3bS`M;WK~k<`ty-+ux-~wJn|3x1?l4Y@K3+kTP(?zN%~K)i>uR))>4A!^%+I-~CsWc&NA8E}t%Jm^E1U?_4*H9B=a~?Z zD7C8+pc8=c^;_-XBU0e$neTzd?+CHP?Fpz%e_)-|$q_nWJRlG3?-v|Oi zn53rBZs-%0Ej1f4|7UsjFj`}lg`kSARzoT2Jp{mK0x;BqyJTYJV_wpWZTli$AYUJM z2WvF-#O+TjBx4}Qq;hT&JInIB7q%@CM4r=Ts9m6X0IKz+nZgNcMj21=Is8o>R*%9DDDfka2xZqDpzNcj&UuH-WP! z-hc}kq)szNn{F|+s_o>GUcG=4(9}w;4#VIQX?Kq2F--mZ0ivp74FwQdPPlY>533%< zMWGme1?3&8%}g|U&e)p7%AW#1*n8kl<0tE_5+_M5rEyG^%s8ZHKUT4ovZ^6^Tx00{ z6qfU_Gn9RQ%#hU|z|$Br=Uwej|3;0TW+6;9n~dF#!!?2A`$sV^=&`=R?=2e_goBed-LrEp@6@a)D*2O*vR z;OKC>x^_icE^jWX-e!6Bt132GY##j4O%z<}0Ot+c+%&^xyL23+GV0xMJmn?T8!$?W z#j%}`Ex?$Rzqoo*WHo&+iQ*t1J=t!t&a2QcBMTJv*i(8+OvJL}W7h@KCgGzcllPY% z7>4TJWG>d01^*rpPipFOFiCeEZ;hEvqILw5gpu9P0f-rIS~xkPt`Q5c&qi`^FD|a@ zc}>1+4x|$C?1&tB@eA;X;>wFHDfDt@tUqCq>AcOPB~^kiKe7x1SkmGo*Mo0{mHo-6 zt5<{+Qni5C?F(t7KGJ2--bG9ubQgz73+TD{QQ2zZ>VwpX|pJ zp(!_zKLbc>1fG}IapPv9d^b_$zsY{S#VMkmSXGQS&~(VvDWCb%rKEF z>oZtGJ%l~(h%7-XT#~sZCdWgz`**%93I`>1>?hsfo+vr70(z=hNw&CRCX#@1+{k)5 z4S%}kUPF_x^Ge?(GaVEY;StLufH`5$1lwOC7-LW{zxE}8{KT6$&&Ik+-8_s{TfUrY z@<{T&n10X=mXf%JLPIX%E?XyoIR?D1I0W{jhD>B=M?5v6+-4N)@GK|B#jnbi=m-NL zlNhSjS>VV-xg-%;JtYg;Ekzm&ZZB{eTahI5tDGDW65&YW7Yz(+xW-U4WIYb7z3Lvi zAEw`DOW~#UZQFmO$IF*5>@&JyQvtw~5z*=PC+ZvxqC(KjDQU!V3enD}uj8AjzDc@6 zs9DQVwaMb|DmWf&2;mraD$9j8gtU>=D_9(kKK@0|TD&1!Tcd5I!HV3rm-M76XB4{) zuIKwhn-+~!4V5_B^oP$_$~JDH>bC6<&2Zf$FXT#&5RCpqhtiA6x^nU9rcw@$%Eh?w zzUPW);g(~a$!xoJvTV<==j5nnYkZL;1heG{;`v>jDS{+%=dhx>aOQd|K6F^44==bv z{mMhalBB{BGABkj4!r8%e1T&GG|=k&f@Y@gW=to_#`uUsZcRlugbVF=i z10L0+vFm>)-Gn-W_5FmvPE^sm7%VM*IEnLtjiN&2OZO*Z@VHU|a6hRo z1f0I|0!~JD<@#5s6V0aL(B3*v4=~Pf;I2A{Jm7KIVHo?#)9If(exW~(on}^HaScK(CB;W6Iz;M!oC%rs<BMlTn#kHo3>IQ*G9Po-T|+KnarS01Z(AArMus0J4w<{w6=7ZwRP@$m;9*+ z&mY)+!ICTun96 z|KdSUAWemq{5}*P?uuA!8KIBC1z)T%C*=}69Dl?vyZ^>E6In`o(WP?c0yC5?j6=+5 z$Hu9;MCr-Z15vc_9{&BJHp53o3JJ59z1>9EyG}h-*ne>NaTn5GE{fA4$`HCF3UB_| zqR%Vr?;JrE1W+g10|&EMAzED29JF`6-X4tO^WAIoFfeJ$Cf>W(_$TZi_v0?%RQWx4%H5}xf* zSIQ94h}_;A>WZnw70xuM5Ib3D*A&EaIFo=#u*l7-?>s= zIo4xSuEJ!qsm-l&gBPS5R8dS;|nf#FGOA`>UZ^*jPRnkz0ku76`Ynaf~i_{QSjx_yIU6@k3i*eNe8%Mpl zS@Zl7+VQatOOEHgmg6t}g^mjdt|bMJdcyQLv)f&xk6EWTa+Wj8#9LZ>yW)aF`WUJo zcN;lp(N5ou4TOI5D&%zw3y?D6G>t4RI5{)9pbiQv|E0P%(wf|FhW#iASZ7YAWccBb zMR{Q=?0s;U5!pLd{Y=zI+eyhsFzz{gXwHu7Oj;gnDVr^~;vMvsM?=oxSPvd61-d=a z$5I3M@CCp23fNpYZg5AS)#_q-8t!O@s#eO2@y`8RG7P1bApS0YxNlsXU}$!@Erf0a zU-*SWU0Gn>Ua^8Q&k;1~6yiuVkv7kU8E3@sDP*5}+@o95;}?jPpykTqK^SpUR|8dz zf45q9XmEhUyoNsC=UejO=_q8C8S1`{c%L~f0IVJsSsmI$R9JJZV15Cg9K_hKN${51 z5TW~Mg0B7+DUnUz0;1((=%*OT-Y-nOYxgtmVAQ~is(QVpRgsLEmY-z%P=cC?Zqp=# zL{9A1BSlAREY<%VUw~EB=Js}Bck@AEuS=NwWYm70ce;(|b~-K2e-5I1(s49!FRB%o z>ZWFKi6vYp216eHWWiYfq7q5jfs9KBYnUc}=Ghb3|FtA0#dKL|l z-=+-+ENME_IE-gtz|kp(`KeATe^&`mOG;jZp+)aEu?dCB<;?dZ z|85tf@{~mNV#FA0n@qPR{{lAIJmPZYni-E`2^(SG=sGTVQaZkQsG5J~2yQm61+~pt z{wWMpnhjNrjwbU;l>*tCixiOs;Yy(SyfNoo9M{>IrxLWU@)1BRavsX@9Z!t$PB zYx|4{^HU{PgFLW^(zV3J2JuoeqbYe6kMGEpDhMnFUptf1XFHrP5p`?NBnf5xYHm-s zxF24`q7{gF9TF|C4VP!h_RiNm(vrra`Y??WRim^<%?mirR zdHC*Bw>SloS7NJzPaf73Xcz)a!Hu4p zT=FlV(*B>GUG%X}+%+2Iunzr)iopY3hX>)Fhgi{lecnIp9dIA#&}q=>(?vJt{lZF? zn(`j*XwZ?Q+5^c>jD7yN))f~vr(C>Z>J}|Gc^_xH(wgN5M^`<}H9LRGS+vGi%kq#S zOdBtRz;2Sr`aXNX6RGb=L-ld+rn%)raxZBV-zqVSl>xY%S^mk51?uv=Yy-!fO2O_n zx^s3Waf}XF>^`1a3ZfQ012&1f9~ozzW*V;>W!+o+)e7gjJ@?&LjYxlGpm2r4L#$Mq{({|*Rh(b?grbE_El#k+96~N-yd>Kq zqF)FCyaj)HJ+M`Dlo8kj+5ldNlg4e6Os?PJdg9 zMr9ryX$=3M0KII|w`7kD4^AjQB2vsVO#mi~G>x~qH9eguszg}fNblwJtyO{5g;emo z?k@=9Q%3UN>M-8L3Bffh1S9gUqvV-o~P!joG9BRsUgh# z)g4fC!utB9Y3JMFK2+UY21)fTjzHmwD2WQxYyDS^nE5J$FL9l#&kZ3sC7%;G0`@!) zA$(tkL*;GLGxDulLZlU^Jy$izO375(N;`0i*Nf-+U0yp z%AUUBZ)R0D@sV{K2>mH{o-$g>TDIk8_w#@lB1c~h*mGCX;}Nd5jbTZf8g)M!>#| z91v8tJL}sJ^;0Xv{*?Mmp=74sRIk(xRN}L!X`H>=S;5*4Xu zY$@Sr6|C=0$&44|}UlVOZ_8YuCHN@Iv8(f}FBopMJ@o2jaE%Y>SCJtV7vu zKTpUYrPTfm1#u=>_0=kPI zBkwy`4tOx>EQTT=Bz(M57b8L-EVB^~I39 zzwS`1&_d1_Ei73n`_%)AS&osi@QZ-SLm0bF7m5sKbv1zpJ^W!m&asw%4ns`g&uBue zG*XGO2t)lyg^_nu(TxWq_ytfOdc{}F{BxYzr%zBwjkWHW(Lp+VlCOh6mAwpQiG>;C zOLdt!+7zJv$5?#xOK!_rtOC>*nskTkq6yQNTp^S^cxj{jBloujFm z`u6WTTSP>`bY%oGHg6nsTt$Ix%LwB#Vc^kqBGSie?UG*NF{lTMrS%oM9z)UfrNjV! zpCDJowfNk40BSXiJ*D;yQ6s}o`HKG8l{~8wsiZgo0dCO42 z3x9 znh;y{!b=kS^IlXa{dI@@Xa^fkC%F%=v!7C1UedefYLastGck;qhrUH_Xp-aDkuO3KjIJu->*=|x1*A{z=OqI2k z&{~iig?{ng3oMMpt5mg)_R8T;VUh%jp?z`zREatNt{4e&0?Y#F(|-%;2uW!wz018a z%nWyOyScV3Q5CC6MFkWWV98PCV@ZqNF#ha?UIF_3%<0|;m;~8QgoA^ zKL4}CDT*Q7bWgPN)+|O6ba@vvrC8@5F_~1)A#GSVU+A5P9Ab6EQQA}_F#FS~zO_R0 zekvlO&l`N;c)9l_c*vjg6Wk8(k?jbj4}vyGGMGta3C^}#6c8HWo_Y&i^s~V=2?Jey zcSUR5beQ6h4NN$SnMIJdv&H_%Hcxr+^26xJIZLIvK1tH-rcEE(o>K$ZGpNty5F-li zOPlsXUpM)g)d&n1wU11OSB%u52P0RQz?rJJ)HX2(kycUxK~WY#8qZN{DIh($Pj;0r9wMmf6fs*nuCl-iDjA}U2}mIJiH(8e zsiyqWjRV_02`-^CBzwqI4;$(8p?7yW8!aB#RC(1xk!CuL6ul$(uarZ=s<#RG;1wt1 zH}Nvi$YhgSbF{=Z^c261hS~}{0|Wm2q>(MFhg0b;J1!sq3;6Zla*$tL>!T$m5K;XU zb_Z8RT8cIZNViWUz{Pj9-9?fhT&I=0ecq$e7=Q50KU9mf%)CIifdJREOiF3-y?_sb(tm!LQGfVF~s-M2ww3y zFyXO*JEE46#X&Yof4k#Mm-Bk(9G8THa@Tu4Lbv)|7RrMvt!h$>^6vs;e^F-a!B;&x zE`Etp#9Gd0^c0!yfb(SQ2;q@SCJ9IAlAKJ53sqV`q*i>uALk^)3}Xrv0V;6m%y;%y z1YV`Dx}joOSA~*bcI=9ZJ{(C(9r_Py>)uL=J}S?UnZ=iG7zRhMVZ99EQ!JFPY(r2& z7xEE)O-kjSyumj4=#z63sS~txrcj-!+MLhm9;s;dq5{aG;MV$!St_eB7V~aRPic+> zf|XSnwTF=KmVIwXhfQ_kB-5+oY8LF{>J?#4W83)L;G4qqA)N2Xx$YH09-Z1}xD0BIFM>S@3ZxvxM7UElw|YkyXrc-fDdNbCrwlK1C0U`}@B#Dd^

6A4@1=XDdvdir%3u4Tc7qZ)CV%E%caM3-t zV-P%vUZp7%$aTUqFAgFI7zU(N=hwc}lZxuwsVh9eiP<_@ypv+Xl~=gmH|*yJZ(h z)$V{Nc}q$q|M*e15#tC>wftd%KWenMqUr+C^9^Qyk?};kVfdPx<7+`%-0maC)j-d^ z)LDj49oKzo?SfPU)+OkftzDp*nfZbAIVQ{zmv~~aj_G|zRX;upph5j8%EOn>U+&Uw z+~n$48+T0DC@^d7N+oa2qT_gLB51yi38LKSfZ?ixJ3Zn5J!XF2t)H#B(RM-@j$pvx zPY0~WvQ~geh;S=N!m#o2!zNVQnMQ+-jxH>1Q_DQ^);5e=&dA^(V@kaMCDt?^ zh*ijlkg_F#gZ2Rhe$ajLrUx?F1PdWSqm*9Lpvpp{##ffay*YQu=Pu*yi!|P^*|h|6 z!6$Q5*Yt)4M6^ss+LgP_dDuvP(Lh*|RM@-OkCFZx7})@G$>bp_Gihm_wYXAP9gjgC zuUPrTL(}iICg-TFLzhIt=Daf6Q|!i%*qUV@vG3()w$cJ7LnCzb*qsa*V>P{h)$QW_**KzlY7lH>DIVet9T?dc%Q z$MUgS{HrWG-zre;+VlFC48-&EqcH{Dq#rT!cuX}7o`OYjp>+d%q9-fHBG}ty{$p{V zF===%;NxoI`n~jJ6tpyY$ZN6Ot9rI@THf3`HoF%0)VRKfm^K_jDlG$0#zPIS#Ki8u zt!`sG`Sx_3KRQ?*gG^Q8vrtL;yDvmt$VO+ZBnWIPPip{RLxd|gJC|4Sz zqxTA1Ak*-*Amt=LZ!McAhO0b=(3RMf-qVmJfz1ly99_YsAG0Nm0OV-f1?e6Sy?(_)#p}_oI)4gx=_a2FcemQqOdjV_|}Z zR&GZAEgv|-)aJ$7dZVUf>3hjzrF|OaPU2LdG+%bR9)Vrij)rx!>Z~ACi<72<;3nUF z8oey=iBFVlYFh!^sRUv5T6nf!nmq#Nx*SG?0#A{Rq6aJZg`73y^zJ~{!*w;JhW>zO zv_VLz@zG6Rd&<$!v9Jx-@-7}H!GEHn4!3_wgvn|_T%bEI%ST_Gv#Bb8rkaV6Kgu}5 zd02_8zFWU6$}2+mlTZeaIA=lOz3Mk#gfOp3$}10IYBm43JMm*z>u*oCx_c=dqIGkM z_s{D@aCnG`ur!NA4zkLRe3n@NV-qe0I0XZFwGR!2B|T0pE+bMlzE>vHnJ!)~Q1Vz$Y&7HuKMed~b= zS*w(5P7|Ne1(%U!ze5RZI)YqLsc_Xo3vmO24}?;1c@H)%QbrOm*w_HWF&@G%ZCt?B z%76r6;M>$w)Hs45E9q|P0>3p#Q+)K7^xar{D{Y3kz@WQ4j%Z+8 zFoxXcil0*9__VNqj~Ha2Q^)H-4kEnQ8#e3@VQ zX3SHG>Zq1Oe;(-7sHn-cy5z+^>6zS5BRN+N`BT3i=u_J&3Oo1g^~FCKM=jALr&q%MV8UFGh|J|)TCpK2Cb@SF~T0PGvejK5omB=8dn6% zV3@|rCXN(+t0J`lJ_OD46Q$@;31*ZsN*vXEmCQm5+39Pz6J8O3Uq{D^7)B!4KUA{K zU!n4aX$n$Pj3Cx}K1#tjs9v!*fs3)EZWm2^204e<0J#4wM~j+l6FZfgR=R$NMWGEkYtQo@tigfc39 z!aj>Vm@Y;lfG})iZ!VQiKz!|pZ-aS`^(h3$(0d04$()~^^du~H=yA2_9OKnD8J87s z&e9y7M&OO0S#W)+h+#5YBSVFP|CIAQ2Y|O)V6{~!R;w$T9=iTmA>q62IeOhXxi!wM zjS^n#xF`c2!gh!lNl=^idv(yLmAWlq>b%@S6wR0ex6mw;Qa3`0&!BGT7&i8 zt@wq$>wJos?5rO`c5XtO^oQX6y!mtuLoT(B)ErfHjNuFSCns5^?pqvx6 zW~5aSUVqVu6}?5)E<(5m=okWphR5P|e1z;!;SCCcwlTLK!jo~MBRz!r)B*^WDG*{^|V!R>apl|5wLN$y_MNI*dk+QUJ07e4yXXEXLT zs}kM38|`F)a9|tOlUQ~D+1g@WvZp8Ad*&=G3c5$dwi2ujDl!Q6^>uU};ralf>2L`V z#S}_{MHy0kvGvNn;&=+a0WQ8&BEA3?K4SvDB?WUmr=F%owZ(w0rBy{Jg33@#Y9u}r z2D2=lE-jue2Hv|{NP{4i8J2X1WP}?W$^rnt08U>N!GLhtc^P7$f}#Ys^umtMo-heSIgN|E~hD8pv?;p!mo(7p{BP+)M+^x zAcaLQFOF|dE|83z#t>GM8C6O-73x*Lu)VW1>NwSFQ?ESrm0zf4j??0GiY(C;A}M0j z14~y@<4da7;Q1QxRQKfQZBN#h>v?e3z@_O=S0~%*CZC2)Rim)iKl=J9*QDy1z&q*V z!e?epEZ8%EGn1&TXrrSn4=Ir{11K!l0$@oesC)e;BnXUi3=vRTR`7s@^k=wR15D}u z_c*}BM56Ez5*&c4A|MG8j0|)TB&O>Bf`Q=R!88PA#{&Q~MWvzbcxe5FmI&}2jQD{5 zQbbT8C-p!G8$2Kv4A&1q06>-ON};Bqo2nx34#s*et&hN>L88fF>lqNv0zjC+#&elN5MvqfV`jxe za5}VTdk)+1DYQ5yibfA>SJHsN0;|y_enXS#xoo%EeK6_ev8&rHlm*b?a_v7q7pW=o z!@%FiRf1OtO|nK?__iN+6NTZ1D>r zHeE6lK#;I@!JsFQVWfC*dXNA^Oa)kV*ADFv-T#@+Uco(MvvBp@B0(E#7|%Th21QJb z^~-};Q840rdw?d{?+`z)D%30Z;n~W&OPhJx2I5{vMzfbG6Ld_oNeDdroX4>*W&dMe zY%%oIZtLP6&y(9l0RoK{QS(G90&rQ{Yj*5#I(@W5c*Wk|hU_UM56jtt;-h*Yj$r>r z)A2VDR{L+B@&)n2+Q&h4Zqvd|U_9%(@Fio~Rfk#3H8P^cYt=e|q}k%1gWTTS^!#3A zOzF@EqLLrHU#|j{d9f6W-j% zA=lg2S2uze{l0){h^?e8!7PDdz0$MTAE_6maU#15UeVl|#bV$HzJi)EJCPWhKiS33 zezn$!MR8&#BHwWL)p&Sez189emmK?ji60J~p~lQngpuOhot=1BjgF_-+_LM1^V`-c z9*(HfAw%$qm~exRyVLSw9O5h|nR~>u0+iyWYgoYilT$J5I>fA6|2MQgwk0zxfYVyTA%2cItl(zLHSF z4|dUCcT=JsW5<}=ystS6Ti2LSoR{!r$nw-4RwrwA-X@szBQ?i{LnV@pOE-Bx-%H{8 ztr_EVn7kGu_F|N4k^oi zTADG`>oFGNANow-{QfL!>!G1@zcr&JYVUK>%%@H+j49Su<~%0) zryMu$Z!7%+44lMsr8a z0OdA&F2qWXfzH%ZIX2b$5v4>Bb>|z(6yEe_qB;^f0A83m%Q+2GUyAJ+#J3uGW z-51$TC!;hZ;#kXwJdYtjl6YY7-%qR}_abt~W8SGBH@hy|)-P&@Ds=PCl^+{j7q$S=pjV z7U1g(Y?AP-Mb@fB%(oG`UBi`zcQxYg@l#&ph37?(@!P!A=~ECMARhSzWb zoZMnTur)s&%Yp$wf-jhZvT5cps+ydsOwCK8-Ezk4<7q z@HXnuo9haf6lJrq{n3ihJ%}iE3qwwAT@Y<1Q>xjTpDcVYZ(4pJF>i5INX)KBr*+Ws zwG8kFYbixCeC2?@40Olaq-qOOduVaO?lMJ2e^`dg^;b8`i%G`9h8263bOz!$V6AJ> z47-eRc(5t%t>wDDq1muK)A47^>8g;-2$LuN{#`Pep7db2l0tBAM!UOmU8Qk<0r!{p0H_bTp<=Q-Xq; z#u;@Gn-&1)irxWYufC2#i+hLKh$`=m6sSc?OD2Ru;?QwtU9zY{WC28H&%OZ!Dd~4G z@d>4g&ykJh>IA1!LuHn=V?z?KOc&Xx3g}6%vE|4kw}S-GkOpEhnSXC=7p4^LOSy-r zl-|mrzbSNeuGHB?eWL%qkvzT|gl`K)Y=H3!K8teBPe}MX;$l+)=)VqclX4umIXIF5 zE@wGB6eLYOr;X=ITcAbCY|_3q_V(iqqj)vdg0a3ct9>N99Qr2Xwxpn&odk1E1tIZOevoqEE$)+~hALxHD3TfM zUlL3!bHOJ@BZdSl;mr|f1N@>o3;FwZE}1~sPiWE8y;d)?!~tKgSI$OT`3^d#*wK}o zV<`0;N<^r7liQo~J6$=amxU&r>?vlw)P^ulAKsOKEdw*?!8n>M=I7_{RtAs$ZR5`gA89gQ`e zZqa_<$OanWo@hT%i|XskuWdgROvV5_x^8$8$}*X-f#TUWGd2C5m?K}x>i2Qz^OY{B#ZGZaUtx6uf*?!s%|TH zc`=Li@64}y^d?JvWjJK!3Ha{j5qoqD#(^R=Fq@)njYK`QJ7X^OE-69hR{ z`I<=N{2bsOSCiysOmMH)H1$C0~g***NMIHWKo57RoMml%I9GqXn+ zC6SapasfRV^8pZCg~U!z5b0gQQ;B87=m5samJNy_UzB;(&uD_1o;?emIa3IZ%eyTa&Z_s?|&0c_2o+LYa;uB>F9vjc|_V#K9Pxi^SoU?mXyCImrH$&xk# z1c%`7U4ks)snsPfCJ6(On}}FzOv(G%(NEa&yjf7SA&w@}c)=tDK!Gzu)PiW!?5r&U za1v$KXzO9;hII@Lxi(^&(=8zO!Dx20gh!n|3)331zGz(mTJum4kpaPk*%|hsR~vDq zV@0so8hG9Ka%l5)8_ZCg!!#6f{==it1tZg1Nf4MRTy1#@A>XerCwcYBtPz-L1xyi0 zF+||ZDZF@BSMJVU=uxHu&8^aBHYFT$p-yvpoo$eSELr;yzeR_Hi2-Gv*zq4S2+fxn z9Ds&a%G(M+%9O_d8mlbBAW5)lhdteQ1y5qVG^?5zHsEp$A@rppZ;lYC(fBfcmF#`8 zWQrdnDL)~Ti!a^@HHcRS3mMQ$Bf5Ud1vubMK9ObB<>-@aOV$uvL*J{Oj#sn{1{6%$ z#+`OL0#c<7Jg%UkSIixq8WEy!Q-&=T!jix;f-+F(9jMTeLN=roh*eu<*`~QS7kHFX z*LO6jxQ85u`RHh}H*Mw5o%j;h<<-6N6bbV=-V8QKaurxyrR&HMAI`=ox=ZR z0X&AWuq0ohAa_`xr-j)vrZ|7xR9Q_G`-90_!H0o_q5n*Yn9;WdVCP`YszK)4iregT z;_@`p(cyaB$Q9EPuG>dmV>*cUxYu&Ky3Hs|Oth`rwr$(CZQHhO+qUhu zZQHhOyYF}I==_6|tn68(CY7pW*ILh(m!LE+@&J~O)7&~g_Ig(OhMBMC0LeKk-lzP;M^xxl!sY6 zf7R}*feG$T0QGqpKhKjgfsrtH#hq33#TY&k14v{$=BW_bm&ZV)vcUxyDv|kGWQ^}h zY7Pl0Gvv6Xb^(hNMo)8s(+WY2vrT4a6e5eKcvr2bR}gY>ONJw$7ROD*vSRM;^M6nz zlW=zT#ViR=pjHsAA?TL@f};5%)lihmfa+Uo_$UDMTiTM+iMyK!kqCtzzV;;uibNgJAKQkl?`6NIulP%!d!$;U4 z{glQ&%vcXl;JS?f6+;9YRwj(dPnu3jK<7wBZdMd2HeU-aKIjtH3QEvv98YzufSAma zRWA;BITV&OkF22w7)0Q0xb*)qU8uCaj*qFGKv>f(K>Xs)C%%Uz;6Z)x^gJ3{np^1 z7=4%r#RwEzB5jLQn~f#QVCaul4>VZFYK@a<^aUE1oC5IH50J;k?})y7*73!N|1+Re z$RIc$BqR!(YiV}rutg%@fX;-J@?`fATbWE0U5+rWD@*}wCiIAo{?`kJ;Mshy7uNBg zOBE@Qg@ILM(p-!_>^q@SSDx+0%ke?x812+1>@n!{+E4rx=>!V%+u-RB0tI3tzn`MU zeo}qR3zycG;F>XIyA$@}!uHEE6rK}~_hi4ZSaPYi?5 zThc3xcZ{(teu|{7qanFMX80x-eu zax6P6e8aGsvgEc_93ZvR1ah)kjRX5jHujn~|2)1Rt_=Wq*+!^CLmaq40Cg|Te++kM zZ6gQt5G_G;${8SrSS|{eklH%f^T;Qyg}9njvk_(tK3%y8@_jx-_yy4l=^;lUD1@KM zh|S_v{jZGc;$Ox;${NI8&)k6Qu-P^@N_%sVm^>z zbq0S*0-sT-Lm0GP6pC1Cl0>a7j!0fJ{5B);jvXC0Z=$C_g9NO`WJK@HQ0)8TLZL(7 zCli>He_hxs5J`x}nIKjPY^P9FkijqsK@%C>fCvB-4FPZfnFWdlk%{A6Qrl@>c|dcg z3t>gC?Ohm(%*=;{nW4!y^y@S(wz3HVgoS%+kVFQ`ev=XEq(SGYrS>|8m5aUo=hh(J z2*XSHgF-0el&ekn<9`@k9A3j1=8_pq3!Dt%ZJKhGN{gY*uAy~Zf0hW+5Oxhl0Z_B& zd7*GDki?h-tQ`!HIfBzoG1iBsrq`*L1Aqj{8OK=hJq5&DN&1En(I(+AEugr>X6Fc> z6)hjV`J)OE=&_^~%Oie|4n0)l=ZkqKsu|gHj({(~o!oYGOwWL4*aa$n+zJKd>`)5H zqK6*CEC?B&37Gce$Uc|joHGG>k$mgVgcz_ozrh$Z*>wY6v7I>eNj5GYl}Rv=d=U7{ zBa!dgXF7S;T7bOB1Tx><*BOWeRNwt9s`x}HCCnxVuCf>)g|VM?zPuBkD5_-M*Re1z zQ9hv-u^aWNi4oR=QVv$v^TWR=t+wDGbP!%uw_6|XI*tEA#NLJHuT&oCQqawdELfQiWj0Mp&%7JC7OY?Fss#G5>; zf#3B=sF$9?mr~?v%n2aj>eK+?8~{o&vsJSpCrrlY^FyLb06FD;&NG{OQb#CQ7&ek2 zGz%XIa5#%+YUSf$r9d2o$xqKE){!`n6F34pz>tErDISJH z@U+b>1xSZ?78-^D&)IP{rjx-4!6>fKpFf%Y`*0B3QsZ_TYt|>y-Z~E06~e`GA{7N2 zZ$}L`Ah(gUq#RkF2j_d$lm_(j>gQ)q^}=3C*a{q)I?h?hq68uz809JPuGuoYhtsCn z9T_UjUe-5UcD-fK9-Wd@jUjFfylJHW$`3B8lk&U{69u)732R=trq!@q=*VOTP&6aT zsX#W_cD-*WG!tW#W3hn)9pwc4%*cW6uOFXcvIPLEbGueXU|X0H zS|Jtej4ww339DsVLc~}m^#YS*Z7^vGg4b;JN;!%`i+^eH8vkLSte9C~q(jgYrpkoM z*@T70(+|)X-$$wrWt;FtbdB?Wkx+Kj^_B+%t)Un^PRJEg%>Xt$)H+0&Fz)x`ib3#vY`iQWaEOsZ7#G$o4OUiz+xVlNFf| zuK$wEX)O4YQTaU7F2zFwXznQk%h<#u215k;-<`u*2In`pOL5V57>^$u@!fK|GR?wf53+r`HU*oIpGs1hLX}1^}NEjH~&H z%z!V^B(nrYq=3*dKE*F7LthUC$Sw$JaS+acVQ>!J((#xr#K_|yHygD`Xg|aSF(aSw zSx|fkvrWBPv=9UoWQ?bTJD7Q%j2(d3t1&}Kb}iYSVd4ho-8PV7&qMZ;&RQk5uEDI5So=1;Aw8{m9*d_z+-AJOqztVc{)!3!4rn$I#7$4` zjr2&d!;K*b3eEPZhB_UQz8r|jZv^-xG3x)WAXxwfXu`rO-j62irzrgh{L;@+8VaWvf zz=q-tZUOI6-lg8Ig?f2j`NV5J^|R-No}^JNn}CI!-W?k@O&YYT9>1qG|L<~BFQ30B zdj9X{BYXXgwWsQf^qZady&i49&xap-{h#-x>b~FVzW15FkFCE~_P_VOzk|CneLR2u zpP|2Z`M(qXznSOBZqKK_@4f$O+uwWJlK)@6KmW$s>r8gvSABh%I{en_+~31YHvjhl zeEr|P{@?S{-QM@l+}-cTLHOR!qZn4Nps?pftc%&r)m`hIp6ny63vKYnL;9Yc=ibay z%xitg0e{cluJ4-!J;d$8R})+eP@D-`C~a)ZYlY|K~&c-_yO_ zhu_D+*xujc)7ReL)Z^`$`qGd*|KI&U_t)*hw;~yBt}}?on$O>@`(3&J$3yrH`qSK< zKil13CA-Jl)ZOl1`_HSY?BkgG-Io3+=*JUm*vk-o-?%sozt2Y~M;qJc^=7KigFC-3 zIl`a&-)sEd&q=kld|9>oUk}V_Tm9~)XWlV$Jkv5b`jwH*L-Mz_O~ZfXp52abatYk> z#bW+?eX=0);$}X&CGl2Fcw2AURQWjq4Bq0Cqqm#=W=|~L;{D)~<~MlOC@<*w@TB-X z)gK;@81^P?02%p{_IpC?{mQEkXvY1?)nSs@U`3yAAPi+k()p{UPnGRAu0kPxQw!pZc91TREE``!L@*Hqxt|S(i<&{?^rXSmOD>XxO^U zGW*E=Nm(TER%9!oRqKpb{EewUQn@lqN{?1yOFlYYx}tC|p?~A56B;XFMn1vX83)$$ zBv<#)#PkBQ}bO728dC*Fg7q`&B4DDN35k-ao=%HSCfcB$E`a+8+h!!cn| z#A@#h4FT5_JE?+^A~X33Lp+luCx~bJ4>Io4z*#dIOksL4-bs{u++>vVSPmfj3)7vX zIg7aT%%qK78Y_=HrgMUfb`Rm0#I{&nBi1XaoYP!KTeXiBu_|mEGPNvLVb_-^Vgl|l0D)d+a^azxJ zPzJ@}0oX9z@oz+EG-{O%C^|;@8PMdU{636l6!{}WKqdfux+&mT2Zb1dVFZJmzs)?S z!#8yhnu|s-uob`q1D0OLyPyR({1)624lDmSatyitjpkFLJ<)6q`s1cv<+qal{#nA@ zI`QmoObdY?o&KFt+m3PeL-N#V-E!JLxI9D@5q+oppB>=p=$uNFUH@V{!dK zA&~TUp*i)Vb3EC)q@I`avh@}?-4(Ke_Dmi@@ujZd(Oh5`BrcgC;qf0tR`Rv2fCP=z z@xmtN(bF8X&qNt$q}zq)JWUW*X^2+PH4vV?=h~#pNc%{*dx4*HE$GA=O=l2GYaR;l z4b4HdbitTVwuQ-Bvwoa(B6%q47~)W|kwkz+0oeyj)`8GlltFTwMm+P2qMU8I9e(L% z$i+P1DK`LOqK*Ti0la431%I3D&tXPC7@CLSac$C;b}iF;InK9nGGj6%5Ea)E@S}FU zmdPS+#lSTrW=dX9W(%K5Ut8S09UwJFl5~qe20QgSBxlpW^fxkO#Iui+UP8b5`%^51 z{oDRW!UqQ}*V%|iiozaNGweK3rZa~Cl6*_4O* zTT?hw;OPvih@%)&VHn*ru|;+-x1(rLx0Pqq;TnM&A~2)T-nCQ`irS(WdYG!bWt&nk z7C=J0MStCrMGQdW749sD$DcN2)KjB^7qeWf{>Tpl&4UC<` z>hWw1-_ln0hPE=59_$xG@!m{Kd|SnhAPJR>1 zQaw|Wz2R1l0{7dEV%O?aVX`oOdht5=fjgc<%sxZF)!v#}wkK08Kc!WAAHcsU{gBNb z3le&a@tsmm{PA+dE^lJa4JF|_1yD0X$b{eE>~y0km1A@x2$B@h_A3}z?KEv?B*)KI zK9x>bVLtifHd9BU_6dH^Hr;1CT++_Nv?Jglcs(Ab&)1Qm1;SrEKfA*GcDx?NeY7Rb_zW3!1Kttr^p692zMpYFi!! z-%0&<{SZ38fb(ml{i%}Yad`pDL?tc2bao0Ayaqq{?(Y%5%(Z2?c2f@?PZ1$MJ zafWs7emUP%A9=~R;zsnzYM~eO{v(NhK$U5~g=-drXdcn@jr6vU2ed5$?_S z%*lZ-K5^0mYydLRmji<=8kcb)LDO7y4C5eNgPJ-&K{J~BmqEPep=`BlM3@0(b!uD` zuYok~GoN8o%j(-nw~)8!HdzIDSqDnc)WK8Jb;Nj5!=rPMtpf(^s{9VK^*&QuN9qu< zcs_7`FBpy^VS2u&?Y^ai@u%Z)N)r)<*C2MPc?QJ`=|ePAxOnB#VDDX@4X&*!Rz`l+ z2@dGO#3||mY9KQcRPWguj1$0k#eH|vMh!X`IO+1Vl%Z=YF-1y6YM4==OJyKOiMs$1 zCZ5K|?H@b&7@*a*4-D9s^0QZW?_ZjamS)6R@^yWV>sp$Y*QMtzkNn@S22Lby${h?C zWRK{ckKghCLSQZb%jk8RI@lX?2V;9JN|0BB7Mis&{MdE(=dX)Md2cdyT_{H1;CK!i zg*sdxHZ+_7%QkTgOEFIwH5Y>Cu-;6$F>~SYvztW;FK7FWK1@`u>*7b^J#pYOx7u|- zRb9Hb&WMv&uc!*4Q8bZkm{Ep^{tmbyV!2A8!!ZxljS@$ID`Fi%rSVde zd)7Kd^Mm!dKqP#LX2#CML_dr_kCye=c$tfFhs$#OlZQ&0G!*?xWN{z9HA8MYg6~;X z+Z@;VcC<02+hrfCL#;Q`7NrUO6oI9?#p@nqa0{l_3Tjj4_P7)Z4Ay!Cq0?qPwWG6H zkt?M*gKC9R92?k2>Kx$n0+dF$93Gk*;L6(w1vqz+c`(Q-kgX7csQme2mRH`BSKh3B zND)qLg^j0eQ%ejEzphmx_2J%Cp6qg2=eH_#M2?*>cwGiCuTI#qTEPK7O@Q?<^au@~ z*)F%o=pNJ?SI-(cDGcQ7HhDdu&p zap9;fk46c!5?oQBkh~7<7+2bJlii^4o54H`nUSrRaU{!>*y|Afy z$=0xJt8d}2dFq`sjwLkNvMHY<80fgLnII2qmFO2zAAaY5JrJS?+Ok6z4_TZ%>h= z5VZrE-kzkKSt@;AGiSyn9U1DL3ozqPisYVlOK^?20T2e>zzZcJLZ4r#7x?{`41^r0 zpY%Oc5LxMzX8NHE$$h&4*9<4VQ*YwG$yj<1Pyw97jO+V8AOBsqIfvZwRY*Ti9bbQ@_nEJTKD7k&Ka~hr1@6gx}|(r#B~z1c3EL{LOvzJT(j`P(VnX5JaJEm0gWfQTIaAZ=FT5_`$#J*7~| zp`S4xdkvV*aCbRa>`u_VY(~ld=K;^@`nwWaye6-~tA9`!UEz2msu*>Qdt;dJ0-q9KR~E@$I; zv2_U!mS)3ucfEzZ#paXNb=emtlG{KkNCvyxP}Bn9nEW<+x#M9Q!E4G)>;)qY&(4Xm zg76LY0&{n#zz@vJ-`seX9)tPhDkEK`{2bK(9u;0*$SaF7iOao51C4S7%?ZX^njoX;k`h}`ao-tN1m(b^eY1M^AF}CZ%AfGd@^$3+;ZqmhJ`^c7mu*An-rHav`F4d!$VWD7eoB|wxj8msUZLPuDVuI~i@UK7 z&ptT73rgcMUUC|_z%5pCAr(Uh_K|_?{hPMKld&;3Bo0=|yRQeoMU}DO(Vg)acseV4 zX!tpnxrsMSo65aU07^BaQ+K5DN(8?I`d#k4N2u0DGU;pR=Q$QmDwN|{>~F2i4u~jP zo}QLv7JdWNlL~hNnV6a(IcdbA*e98fNz?myHr@jJY1pcu<7C{)`CGMlL?x{q%tUg zM{R)2NVb7BM7&pjxbbvWQ(B0)C9G8@=<7bAh{MDHKpdi|m}L9W?h-MDBU+(LkJPv@ z9_$eBBwYfM-)F1H*^E!r55u3V$3*{$w4{ygr3lI*5VcW2c?N*TKs=;~fg{GfA$wyI zhIlW2ld(2@1|?nk=m=Lf#{*4sdMD9LU@-u|*;zK|PE4&8vi0@2U!e=BcBT%6fuIXe zqy%Z9qT)G7#S5CbR@t|;3vrxAwpz-^mmglk1X zUgE+evVcxtVnbK5gz?Y0UMc$Gfp9`HLWl?!AmCJqAN#TZz>Lpr$WU;6;6@&O}*28`)Bt2>C60;lEvI+WbYW8Bm zf@OWd=~|JbpTg;MTafg5+C4lAU0v0bihW_#`DedOX~+OHEd|v8sD@)G{J| zPgR(_>eDsHLq*e@Zj}x6F(0OY=fxZUDPX>jAJ(3{IY5R!Ou$Dnpn^PDg5KxPGbG>9 z*|)&+9!yjY-GVxffH+bPuDL~)K37Qj?Pi;Rz{pfRTfkYNBuBx-Z;v(Ht$f<0vAQ?+ z8)Y0I%-gH=fBjkRy$Y93?vM}W@Ou~SEkN3s0qUZh_(GpuguJ9yXaW(@lqbNFIc$MX zipyJuAY_rqJ%}QoK_uT$KpAx6_V@~YOc3|PV`-RuQHvx#TvIjjHKA{sp` z<62&Z$>Ntm8F%>S^xwqwoLuiKGH!1SVyOmSk)JU1qeSrSPqak*q>Uzv{nHVQw>m3DE zw$O{-ye2f`$-ZJX*;_97Gcuyk2r*t(SBYPdwaJuzD*A8P7RO=$pv^r8Th6JF<3q9R za&ge~;o)gP1W#);)^(SSjq@xhLM5t2R+uT{Qn{6b5trpo0%7ZDkV(o+1Dx`}+E*=8 zLm&yO!yM%pxXiYoH`HPcS_x?}VE`2ZpMf>VtXUZAV0NCcwoj4%7eRGUp6xVq&TF!Z zK0LP{H9e|Dg%5<%P&S)7vbDANd@=I^*8A7(#lqFt%sh>)cEmq{5!L-=YW+>4m>;*m z3%+I?33xjoxfA?#Q`v=H^nn==R$n5@Gy#$gc|8d9)-n(QHa#?4o19wr7|rcT&84$n zR9wD};(9pV)nQsD4YJE{#?&&TT}Vo9?~>YNX`Dh-i&DkY%C`UjqKyM1PU<3H?`yDhCHRC!iEyO&OvgQY zxVOA#)KU2U&&&KJlG2vfxdM!&?KB}7r+0Oi8P^^9j+Wb#hdDX;-%YQ8klFH+N{^Z= z_W9|`z~#&+V!_HbR!gMqDZ>D~eK1XUIJQyKGZbP8bc+Jue#1BzNbTg`F$B^l)mYH| z)^t1-yyJjaP=e^XeMZEb&%Tlu-ZXxKXW;HLb+BcuISE%h2@Yli-@BIs`7|w@jqAE6 zx1NO0DfdVDtX2BKS*!z zVBzLiwnw0Ph#hE>&21|VpJ%9Bcu8egwkafGt=TkMe&>yOq6NYcM)aTpWF~G1)Zm34 zzm=J!%U<?idH<@%xINNlzp(w^zcsBc zyEOmZ+VEovY|X86ypgTM%k%4JuCg;EH#g$@?r)5!}>X_o8o0<|K{W4JyOA35mFD5>gKs{jKkE?Gf57V3j-(iN`^u~ zXPy{PE76}pA&i^Q9pWW5N5tmP$FF>w@?J~ZC$GnAE39##ww@EkE=FLJ0P%BL-l_TS zJ=BFDL~MO!Q_veIOTZkdG5I&=g4+Lwb96->TQ2CwG2d3Q3OWFr!apED2-KNcS1+7i z(?;uzI*5)hSfxcl*l)RM_2}bdz$DN6eZIv3JTnmS) zx-#=!Fx`P~9=(QRRn^g=WnT;sA7!;gdz_o4-C_``hIq!^?3xle!po)%odRYeXoWDS zz==sx5=_OE8Mw`QfgY!De70oXYbufmh1e*JlPS9q$i;Vq3a@|CD5alz@+l~5P1+g z1RP9$dWc9reInemf|ob&vo#*@WIdQmHn}alU0zDy#6=&pOrhGko_4FsVGJf7!hFB- zp$&jff!>i#!DJH{XKyM~yqn_I;A=KXQJzql0B{JEEGU9m6t$WtQ2QEds;X+(#dS1WDfeKN@U*005LC+ zQWye=$EYA5Qlo(!EHdCwg!||MGJ2*NJJ(F{sJW48))a^hh}jVm)0g;4Ic$c^m3%rA z?Dvw`VN%1poRIa}G+YevAdyCxzW~E3Xo5y!s2`A~2`!{$ra;k3Zj1pMEBbCOy=GsHPc6`uMl2_(I&3KFym zU^o}0BasNXDzTcQ9hv|stp86XPuVDvsOeIQaA^g~jj!)kGR~sOJ;+Z{n2U7`DtQFd zCl(c%u*E<#8m~}Gc{wSph_q@MZZ67kxV3c~p``W_KX9|frBJYiboLv=bV6b?@H|DM z5=ikyWK)6S^(f*!T>oC9G1X`do}dl4TiZi zzc+TlRyD0W1PsVE!sUY%o$X8h#(yX)8Z@2dn#*b|Y=unqLt3M0Oi-rCw5fg1*;=OA zWL(ycI~Oo!2l-8AkGfd|^Fa0&tcVrx2G6Z_f|FfR4+Jfi1~jpof|ymZ#4n*f0Ol%= z0chG!Fa7(b!#N?N(ssQgw{qDyOs1)Y&_qP->=n$i{Su*?sfv~o46B3;nFmlH0Y(H0 zcQ`4KW}HUg9rmR`zz5envua7C2F#W;Kfx^;b@^1#!A*J8XI6ys#9y4gRR|rC-y%6p zqe#m5gOFymT$1WJN^YF%4I=bL(ScANy;eLvicp;gYs9>0j#k+1;!$O&L>M6T)S>|3 zVux)mkXfhhD=cRP8JT!~B_@ZKv;)&GG#>U~Dga+l7c**Urpb z+RgHNE)f<%W{3tjA2q3&r{(iUzXxrpm?ipIY=st9uB3Zeud#v$vM7dBuqxge+~h-> zotYaT5=@TtRaa22(771patRVYmA*spT*blGemhe4RYY`Qmatl&Jo9fdx;73WZ9o~> z7pRP~)d`j@2B%TirWC6)ojWR@D3=(>@W_Z=O)->YulAaI+VH!e%d)?XeB>`&iIp57 z3@HVkb@C(#UFu3dO&pzMX7|pMhXu>t4)9K$5XwSvf~YQ!?D!Lbv5)K)Ih#ca*`|s6 z|56+OW$BABJI%9_z2oxdsIsFMuGX;Uwis8tE?(%SdfrAnKjFa*}REL$oM*a!y#{-ffY+odLe%;4SGYI|EXt4fk znp2B+KKOS7p-3cOxb@$FuI08_&~uGY62~wH%(88}gD(6qz%6QRqW%_{o0J24&@Va@ zr)77buSHEDClMkyXztKTF1JX$1FE_BNyL~=QQRr3srLXa&5N9YYVeyc&6p8b`a~RY zv3(p?{(m%_CXz}0OA2em^oygU5%+#(L505VexA)27$}iyUNp_!NasTEq zySJXy(s!}&2e<#x$N!fmcTOE|b(?q1e_{{!z<#(EbrNQE8SZ59oePG3Jhe}o@rae1|MH>+z6U+gsO z%?JH#Zsrts-G<>3*dy@I+W#=QAFJ8haSfDGT62zT=0k~7m!3IZhB4P1!Qie`?#W|6 zejmRdfRv3F4;OY@l*lZA(HEnm7Y}np);JL_+; zgv~F=!3qQrS_eW->2V9^-~89IKqm1}#d=3{?M0=MhUN_`@&gM(&M!Yy+d97AIL9MS*P6KFH07cTmW zKSOuk_ELWhxHo5h>Bmh43B|8<^2|OD7PJHh_dw#*5|mvHFWL&{F>*#ba@l9)qY)!Fc|AUnyMp{i@DqWas3X@)k_ccIul^jSpG z`^1HQUB#5rhLp@lj|PQ^Hw7(mV_RKp^TbFO8Ov}a}wulxkx z$YYG?S?b3+Xv?gzB41*QV8xR8rzUZM!8vpM4^k7*cxuF4X$mnyD}h0*GiNnVpgEcO zQ>PLxL5_iF8ik)mJTRr?3?QUao`fa8lJ|81$f8wrC&gn+_#F)QlmVO+#|2?+ZVuH@ zoU$E9D}fj6Xw1N;Jc^AzjWOJ>Fej6ciAa+K3UnG9sSDjhbTZ6U2Anb+PUpX@98Nh@ zZR)Zxh0qh|(bJ@WOa%_c?|bKng^+h+MMPCT`a5)A7PiHALVOkyLDf!3LScvWzh=5> z$eL95l2k^^BFW_fSH&L$gFF?{`*~ctXTrmOgWg+dH;~z(1)9Fhs?j-`4_J)OtQ>1`&37_s=iJO~h z3!b%jrJ#zcpn}O*)$oKMl#9iDSUlc^mLXHKob#XQe{p7rOi4|z>5=e$ZV=|`GR913 zVY>@y4|O`%i^})c`M{kd7v(|s9vKJVPq-(z$8rRA*yFN+ZHoC=0bd*!+^ACkF=s%} zC4o7ON4?6c>mKNL_Ivho_WEFP~t#j1I($S5EV)u!6(Flb=2PcR>;NwUk&`)*R7-+2WxXDMB-m|d_+^EsLHdv#uo4Q-HP{*j+Dkb?g(D)l zLdH{vpJu(aG!nx+_>dvRbcIelH0(9nX)0C^VCZ_@zxy8h8SgoD0Ltio zX$EMAl9ynUDCo?`#3lJD9%>F&dBTuwn!8|C;DzO>W7(0FuH(zT4E>EG56(I>kDGZLEf_*!w(EpBPuytv1p_qlo^@3Y&-yL}t=O zIaE71cn)*zTd4JsZ&n4}LXQXr?iHK*#SAuW5=>z8;uC$S&I`W)8w6p>!tyb9wdO`; z?X!yWpbFS*SZOCpH)nAPeNb>^6$l>#6lOGz%hBEM7`{Rl)-BTxCWDK1fhv=Kc1ozP z8?{{8wq8tv2p<2nr16`Xc>BXJR_^XG`twsTF>+9Cgqu`$Xd}Jxh!Tvh0N`vV3MJ!R zT$ax=Rax7s=%xBtN>r4?CAgs!rck1wIUGxdc@mZj14pZt6KK&}ph4>#jkKD;tL?0s zom#xn7D@;%upL^gZ%SPZ8j_~BRvEY^V^v(Z2pvL!SWqNtZosbE6-7@cXD&W11k6t` zEbS>CRe%FwfDh}acVugNafEtM`=ZH6{Fh|xG6xSRY zGwZ?R03}(vy-#z29xozS4_C(GtBEw@tHS_8d89 z3CJ!UdGVj-0#kdsR*o)TMHGSr;cGTaoCQ6S4Q}!yJt4IA3JdNlt5rDcvL7B zPz7SKUvLSSCYg&4i1iW=(+_g_w=4-F9hw?;5{kMi1!j2h&(;Mpu*oB+c2r=GypdxCrXfpPta_u&K9nUW~XY7ykbqp zWy7AC%bo5XNou&6CU6N;v(?`@V?&G zSHoB8%^s^+lVVi?qY;O~IWMp4r{VePf7#I=+Uk!*GRCH@KhbE|1D@+y5-xTnF53W+ zMEhK7=Q(4Q9xdJ%KOQ1NC9S>G3gY-XH#UOh=LdSgPZ!oFYt)#`IQWc=rO?V458LFX z6gPxjw{D?K#3kO+`-x&(Iazn}=d(oiZ#QG5G7gW`_>bCVPEpoj~ zT0X+wv@*yb&>1uPIPm(;X;Lw8-O_OFOc=J01A?ic^5CowRu^aRSz;^)HyaTl^T-aV z!{Q3bivH=AnHItn5>i?=aJby(YvT%?c&;-nWWiBULpxyP$Jtp+(NNtVCg9EnEED<% z?F`Wp%(oON^08JS@_eNZ7+^*zDkq=@!wp#*K@e_Sq1s3#AzD8SR>-;O_DUMUw(Lma zJ7kMf8Ma3~0RslY-n$nY%KZj7Gs4h2D`+DI!XO3$*mKe`DHZNh5z!$nVBq~mKGI2# zP7Q(j{px|;K?qljO;H&L8YvsF7L~JHb<`|W-77~E#L6ufgw-$#C&od%V>u05h@oLX zBQhg#ILLuE%Sk%-lf(zqaS*qFCN}Qh0|pU1g&%oSR6kSwS;AQ>JP-i{^>Lh--h%l+ zqFptp$!Qs*QX!`@AO(92Yhbkp8QxG^P>x;!bqGZXS#AI_(08j> zuw4y)=1RidFACA6?)(QS6vVN}**b2-)xt{mlqTlqQl18eL}P`j!O#R%A9bFtb28~S zL|eFO*2hTiifSPcM+;`R+Reb^Q%}1oW!qxH5k8`ZB}S*vGp%nWmBvo6tRrYG)tik- zXyE|Ilm#l4tm))zfg|&V?ldN}%BB68FEM=&RhmO0s{&u-S#+u9Tf-}ZDM!apWKBbvEtb2P6Ot9!P58!J0o0+0_9?BJf;nu? ztg7)8)FAztcC9B?julG@o}GxBV1dQdEO7IlHc=#>!MkO(tYd-!*c&^;?I{R?NxGVW zu*C$1`N05YXeAOK2$`2##K$8AogiqKl-ay3k0&gcXM|!q4as<+_iV~Y<5+LQ4D}Tw zk6wH6tNVDd{_rTTDh1KT0;Rn) zjs!NC8h4&!PRjIv@`IeI9(a=-ZQyvZ$oeYngg@|9YZ&BkA@fnK7imn0T!i8=))(Q)m9c@G;)48c(o=Gz9PDIz1KJ;y#{Ztky;h}FRy@J^El<6*L#TwZ)_Q&}Sr ziPz(Y+(J2g-G5wuQ5$?TS{}AJri5hJqaFgr0dG@hJ)~k1Ns&yU**VN;rACiMnQ$%T zpZ|Zvox`#yOq8s*ZQHhO8)w_LZQHhO+qP}nw)(%58_`eD(;C*GVr8w&FO$PuRHCHH zvCy95Ea_APQ|3`^TbncI=fQ_~k?k|V9paj>oKLJ(^x{xA%eR3RDYshaS!_pGOI!*J zQdXa8&49iNBEa=If)`;TS`+?*SLs))Dz74q3O9=HR}w%P$z2KyG5^b5KJ5@kvHOKZK|?qXBCHuF6V?-* zH?Hpk2$Ctr4W(m*`9o}hm_;bZV*#q521!Iy7oR6Px(c-9O{%0LS4s8~g*(Wq#7XaO zO-xvaVC)cbk4dF>c-1N7N?ema zsFt2Q-hZw74ZKb1+!SufBV4H%xvj&|>L%~zVqYhW|8I-dd@!4gtK$}lUl-FZJ9+?b z?0&wFgU|g!bI-Bvd7EYQwN&S#l-Bcf7;osAAga%5_PuA70rlY&RI2{*{~I`iy< z2>+b7>74@ai*u;&dwt}-E}C&KcLU>>R6s8DFL9A-rXq}~Z)Mz7Y(v8&on@Ta1bqjZQWN)ij&cmCOU@S^uT`fwT@!Sm>qUQ7K)p6_p8W;$rZXIetgB*QDQ~6+ zXxfzq?g=IM11MN+a?~BPfH$z-JBZ*~?mg*v_(ZtJua$V>~(h6Ow3{G_#L{9iW`he zYXWH4RIL~nXp7mj4DFb+^?V_-KhPr6ui1))7Kvb1D#Z;l5c9qX8|kGq)Do!RqhzGi zIUt~_va8S%0HC$X0vF-BfG%P}JsdW?3W@#A0Dz^mc^Mnar=F<#e)696C zSL4?-XaIM9C>Izqd0mT-4Dm1DCk2hV|RyuB$|*eRwqopSmN+1$QiYYc7u9a~jo#kNz$ z>N1m_!Ha(DiA<~f7|)J$@I)xC)9|Mb4TsAqGFOQaTy;V;gXa)~28KEi5`u9C0L@Oh z_c4Lk0MRoir}(%(J%=^>2rMFg_h*k+n9;ZG(6CDHJy~A zxKKo2hU#vd(Eg$FNyyCi&C~0%tvifS-SS*zaBWaY z5s!(DAAxi!sxIwN17kG~3It6pe>}Qa8~lrYe{d!+$dByQndBTIu*S5S!8f>ko+xpy z5%XA5)m@%SVABJ!Iu{Jx4z8s34~hjFs4_xl1&hGAkpD3k>yh)9bpZNsWCj&2{R;sH z&!HYFsuLs?nCo=B{H$0gE>OW@7>|n=v2rDc%0s?hi7QFwh06xJ z&gh7U$DEXuhkYuMj;;2wyuv>VPv*Ls-v_7;TE!W?D1@hdA1iNwq{NQdQ&);!Q&l>2 zR2Lg-0p~;J4Yz|yHS@H0_5eH3S#y8oHPe=|=i`zMYOHO7sXQ>0({ zd1V~Rg@~uTKysRAR}d&+Rze4*=||-P4v$4FpZAZ!?0GJzFAo-Cz!1eSwAP+9NlFZr zu9OaSEqmNk2&+teG{8Mwf;M3kWQ8Vz!m(LVh|iK}n6yY~{LY`-Fs2o4JQ~ra?TL)+&FZR9_XV!}es#nS)o6|Ra-mU>WE@VLMT%}FIZ?I+n)%o8jPLP>VEc#eM9{hs} z`+04TyxWj1x5f9zjY5~#g1R^?j*pDquGVc%PQMX~+xfCy93hup)Aewv3PnDtrbC); zakcycly!f>M z;#LTPpSjH$@6a=$6l_$h7oYR)(sQa={L~)T@h2T-mo%!@+MAY=>km~t^?yg-4yC`u z*;Eq0caBi&CvbqO01Y(h&}S=M6TL{7sw7)hD$SHm@RH zPZ>vN6oH>LK+h-6TX2Ua;0BH02R;xV;|o%Pe~E zhQC^&>bda0?IO)qzwKRaMM?}h)If>0e3_wVMq~Tbe3j$~Fn+$S4zim5sFyswbPK&N zJ4;$-2-_>)eOw?reOMq~2`YO9?iVe;B=AFH#?Sj(c(sQwko|70Xa$VQz=K1AFO<%X z`JT+CBtWDg@WM7%2(Uu}8<-|yZ9oTg@y7Ys-zB1DrZqyF#P!s|BC24o^J;;DSPd;9 z_CX3XF{*=_jc~`+yR`&}qwRa|2VY}9lnb$a;=K$PTkYI?R zcF4_TV&I=|Cg(YLCv7UxVy0wkC*=S3)8p&3$ATdSc1N4V{wuHFyDLJhuj;ocwA-+; zvK91^+<7UFxPzoZm|M{wMxd$jj?%J{nJJOe7<9HVb<8Sg)78Q%{w%r7{K?0b_3H0a zLsJo0F}%ozq)czicSrr8UD5B4E|$#G%t0SbwbVvsdLW9AlBzG?6d6SjJ4{ts6R8sP z&`fUknEtN}9gd6dc(0HvAyb^<=6oh?1*u+GpBa3f<-G6zQ4ZL@ecyh+^nNed?R-7H zfAnPk;Qu$FBIkgrC_obc0HxsnfKcJ=Z2JER71KSC+1M)y47+t*C9AY8#jBj1;)~gd z;+dEpJYi!;Uu>-nWBUE0Olh2<#H0R<`}SOnFd#DFlJ@$5^k&j*gcF%N!62%V3UI3& z0XqoX;L?K)knVjXqf5V)y3)*{Ve;ozS6l-PS7u&q?)rKxgcF?GKlP9JWRnH$U#bgVJ?f`4{AI zJD^|i%+or#QEYb8$iC3ccbpJs-1LFKp)htKKW_$ozlBq^8?QTlh<66*2JPTp-;302 zHq$)ypPr!~NQ3V)Q*5@_h8~S^2Dkjd_qx3gjWc0?9|ds+fBYDsTYSzVD{I|sR_?Gv z-kAGqJ6z5yr-UCxrsPA{K~FN5n=@y6^@=X~;L{p`DsW(w<9?rF_@0 zUW2dol-01z1;_(SOb*37HB1(eeWY2LS|+U~50e8O4K4|)8CD(Z$f;jyFk;8QE;USh zf&4MUL~HQBi+Z|eVOL<{-}u!}V?>Rm9tyc_F1Wl6wz%8!ONP3Bs#VoClp+&3_s{n^ zS8HD;V7A1~D3=!nzYD^hXk8e$Qf-r;srNDO@pnTugG}gp7|>JRh6&Tv7~3r#YoiQo zrC-DeF26d?b|sx*@GRx?8{e%E+Y9SRzBz?PmXKv81s*^896bDNc1NTK1NOh(FKF&L zn0YX9aCcC1d#rXw)@tr*(R_5F>}g*IQvLAo<3Cvr;J!u$@|V1a5hC9Q#9jU{_eCK9 zGa0DsM9)lC(lp-1kN4{C_77BkB4k%!Zh%72MqP#nI?!$-Y=`j6dHZTr)k+mW%^=T$%t8I&K6TXeUNpAe`NX^<#gy97ooi{m)6i0f3F~S!|}r z!foyk8A0tjoEY5r`EjuC2T{Xd{*OP@;86sOrgm5qi3|bsoZXVIwzXA!(v}Ga6!V~L zHRCn}(t=Ft2FW_zP{ERKD4@AN1WNOkzeQ!^4fDoOIC!i32Zi}3a<3?m zcyp16jJc>ru*G^FZ*hLdgXD2+{vc#Bxf4&)@1)UL6=ud{v{_9|lvATH3A`2?4kD|@ z#$Fm|OrZ1@rll>MTtpMuTGNr7Z3qcOwuF?UB7_-J$hRXq^r`#8945t^JbVZKOhWWk z;fSBw#7*IpSQw?4_;mAOR!pLU7@6?T$Z~r!#!8xOI0+lk)$~)|rRD7Vls)-&bXd>p zEDWEgff+()q=*flaWF|}Ow}-yVPl$;2-8C0O`(58e>h1-txS$&wCu@Iu$bK{!cy`F z;R+l=m>Nl`SB;IWG+#`O$*D0Xg~r3sq}W1iytHQ&#tV*w2$TJ7HS0DJE8> z^P-v13)$vrA#@!oG+09!wY7A`hICuGQ74T#9kbS>H;!YQO4c-%1|i`H3sUuvj~g=h zTL~*ro9ZkXL=)b>QZrf~+=o&8Zudn6csI}+q)~ynwVcej$D!Sh>e8?Ms{A!puBuQp znu$Ji%??vZCstSBGRN+GI|+V|)jRY$?vl3lnQI%4s(O4Y8G6n$0!=IIHa26-Y2LS1 z6=iLTeAEdBzK~uJ?^ALf0o2GD^5`s z0rIs?ys}7&12U<#x-r3VZJV*p87qU79Qi)rlVK*GFmBlCc382 zGO3i733(xn(*q1l#U?w51SSbfglG0x`r5c*vN>oNYZ4LEV&M=&6~si3Oh8_b6!EHf z9#+RS-np{-KeW+sqf<`=oarL*$Da~m|J_kwNISLH4WytEArj8g6wQ554y8c@i5-!`UtFN7KwrS0(e>xl3NcQ7sEb$DJeG(75Bm(MZOQ z&!x}r*SBzV&;#>TdLbxdW0{GY#%ooyVp{41q6XDeBCJVJbpRv4^=*pC7hr75#?_8a zqZr7n8I&tD44_ZiHJXW5+I1T~L3Dn=)6(WOn}CEP)bL3&k`0Tb|Bgl$^|pm{@J=zD zdW|in1!C}&vs{kj`(~GPo?pg#-CWo!cbs}H@mpEg=TZ6M-m5*&!&HW2k*S?7Tor$9a;$zJV)0*8(wE+*8M@fhh4&G%x=pUy!Fnhz|zkxRvT{U)fC;8&l zps6oopqT8WlsDzhT)kAM@a;ixiMbaYsi?W99-Cnf@u!Uwa71j&e#X<_&t=%mdbo+7*iaO~ zpG_49b>uZ_gK8#I0-|x~@XPJYGeXM-TZKSsquEwlAEiAbN*S#QrVNmo`1m4;zgnLw2HX$&kAQ$uxE#Opx&!Q0YboSKFZk!v(cq;9Gk=!hUzxse z=@Rf0t1(4LX+ZI%9^g%_qrm`y?-msH{`&mPd~dtyqfDAE_a+d^;?i($n{kzWVvIz0=;F8^o9TamR|X@ zHm?b{F*Aa;Dz;i!@V{R61QnAH0Ldo(hS>{?okntaIRd)-p-!HNI{4nYSk^5BHC79@Am*50w z!%a>EG-8b-T>zDxE|KydKrZVsAp(4L7VxnwpTj^Ps`bTU(@yM5G35749x%SC5XVdl z;e1i?SD3I0%8>I-P&ClPujx4HCSU0`pf$s`POBEUwq57BtaU;F%<;i7VvYx#d>hW6 z6KiYd=6N~d&on5hM~c0-5JON#*I`_>i)o^5tk{GvIyqd7I|QDyuSinLic@ADzADOfU~$N;$} zZYrVx_m!EO&Pe7>a{y>CU?S0M9{|uLXGfZHUWJ}$jNQYShdYHt z>^q!n(OH@@GOW*J4sWMPopR={&E=aSSSCmlg_r)o*<=d|FXhRbE1FMVFP2p8@u)u<#hy$Iot&sOJ#E*T<(4Yd%$aC2 zw>p)mIqEWe6r}046}JKZHe3=$gIjAvoxI#GVP?V0STeyin&P;NO5R*$rLlk8Ygr3s z*eq=G68M6iG?%xuy0QJW3CGlIIjuolleKz*{FTVLd{8j)AWOy8AN$k)&lMX z`Pc9Tb#%mEtc#Htd<2Vt2ZYb{SCZ6ME(YP6+ESB;-s5z}cDWjTjQJ-KT@gNTLHD}| z$Z4X-MKXvmq-Q`n@QQOBDgQgS#@B2mLpwA%|Em+zgMklb)l4yK=I^00J>T zXV&b4fQ->S4vN}h!`WiInX{l}o5m}F%^vzEs37dr7oF9ZUonA}p}vBQS`R6~@syAj zRuF~Xycq1-8hzOJ^bq;uQV^2(;x{C54)@ySJr+1he9XTvYCJuRO)5PJ8haPL4)^+8 zdrT_fA6+1VN_eJkLS0vcVTv7rWEOTysZ`StMqvbrn#d}R1*LG|h2v>poT!Uxj!2{i z`H>8caEPZyolHFOC*isLCiCz=${mTr+KB(iKQM7A^Jxg41s+xIh1Hy&UoxXJiW2iF z`Cz3JkT8=`MRohfonopyX9dK9{bx-9f=`TG2`XlaBG9W)gXtkSF9QiLzY+b-?~Zv? z^1#*{%k|6sd=LmO#IGx^y+f$K%LAv_mWkg`ULe4Arm@O55^gpcX{4z{rld%6X$=IS zRlphID2Xim$>;7WIT-_< zxz6;O7`G=mw!f-W@$$ppvk)?T=n6J_ikT~!vO)V+a@bMXIgugScIHCjg)u`Ai##zB zCs^0-)PkcgYFi8Fw&qgSWts|1XJ)?7Q1cZi8xV@T-=+l>hN=$?P!4#oLy&_uWT@brb3m$y~*3KjUg{cdFbIPxzpP5%JWsl)^A?5aYkX?^=Xdr!@G{ z4$Lv#h3WxdQ?Q+5#T7xtR2!JJ0BV40^qTtqN}qY7C9ER9+1fr(PI3nProPB_PaX_XC>9 zObC;^PnyfS2N+f-XYoj~EM!zTqYm?iuKW-wUxi6Rwo#L0mMc+cE<*1Af7%fE!5kA)qqj2JG&aclNh9rYEb%Yw03fjSgczH1g( zDXTo#GVTo^fUk#q&}R(gz;q!DGq&BrhlPXy-;!I#B2KL%MIcadl?6e-jn2g8>TRi% zgrqG&FF;8-n>8Np^>rQ14wtJ*Bnrl_1D>xgUS;gMbLeIC;Q@8mDktm&o#ZTz`fnAa zz-yQ11cEJb$HI_ejv4^-x9tX-FO{@oY;4C(91AQ7xB`36O3YEF?A z)&LOEH4*Q@-Vq3?o!dR68#}k9)6%hB-?y7FwiKC8A1>sb`XD2lLjXYw5?c13>&hx$ z*Ca>voh~q6fW9u%W7tP5-SXz6)>55>6H?!Jue1gK-O+HwnDU5toZ5``0VavSiYh5z z)!iO1-xq#Num+uf|4De|9&~n*yZ;FKFe<1t;tIVHDIo~mUOeEgq46M$+@5#BPIc|Z zuUId&I=F5;e{pRty1iGumVZ83{CQu@J!bwF1y*Y3lyIuIF~5XiRPI9a+;F_lu`?&C zW$uIdNM;V@-`AuG?HJ@mbKugFKt~%n!dKzt^YLF4G-puk+SJ(vJznb4x1jBEc(e)l z0Q&Mfsa@V{JtjLrdp;I%wgPJ3Gu)y(<#F0z6+}SnUVyU@Ez+h;O#{DL(=_BFC-;NR zoci(WQzN6T9Td#o7lw@<5thX$M>Wz9>MT0?E%qc}QXXLQH0o&my2aY&df|L?sOIe` zEP~H*sn9sJGGNN^8JII!)*83|H8t@}Y*Vt!H;Z|crR8;`s4MK~5et#>5nE84?=#t; z^S5;9NKyA&s_H<=IOF3}QzNyz9u!lv{!yi%`lgOjcy?bh%6?7`3%b_k*|AeOA?5fK z*YH)er%+^S|ZUd`BS7@h=O6AR5*~{90-v(mBG0A zc>n5Pbc^vo0TBjtUM%5;Nd*z1@Evh%?3l9WsL3iV3K(Mtn?zeCRrq-5 zTZoLb1kCq44+*ymc}(CBa?V9RkeVO2yT-FgQO1Pb5uwa)RS|lfl=XUjoA=1)$b~CG zm5*~=*1Pg?Bm-nZ@rpLBcy&0GdtfNEWH6O&6v;uDN5UJyZ2nv0_j|rn>Heu>hByy| zLSqHCR#okTTgaxd*uw(MND#;)QJjuufc28T-|=(i4k_O@V|PZ-*s0-zb)Z z0gAbgP${+O66c7)m~1f2X0tJzFQ7O(4@0yIyTg_!s!j*&f^o@-O!LqAu<{$uHQ_%V zeS0eCj>0y@>JQYEBKOaWdTD^d!;Q96C#&g#!=FrO8`o`KDn z;wnWGN9z+}md}{)R~Dc)##1_mI-nT?ivn^a%@8Js!1XQ=K+P@6jgg?EfLZ$nXO zVu2wI^uzZPDbt0P`!OYhT?@4eCCc4|(BvZp+Q#?jgq)J(qg2F&T?8*|LUq#api1+JY<D@S(cxsJ_s#_#2!J~#6nbpSqja{0{X0^dRGabkZ1SR%8kUD=|6unqm`$w`}x_K zWykZDKu^=*{I}~O)EaPA>jXZnYLNRqvd!56meZfn*wi|!<#V^VIJ#oClh|i)F&T52 zeq5W+<<`Ck9Za_n2vNTu$sSoMMFA9;;p9y80jSUx(u5>;VO|u6|9iSv|4cq9sa&z;y? z?%DwUW@5cqnM8AvTKMB1OQLIJ{w?pv@kEilW0t)qED0&E*JFnaU*3UgqbDV1zLWg% zGW)xiz$;;|8)LpLV6SyXW@*bg7JzM4WbMKDUYs$2b0%=LoV>z7gU37+5TlqVP!;eu zCc>Jd1W3nCk)szGAjuBUIPWb>xp=N}!&Fr{_mWY08Hv`bSPIj&yqF^XMr3(YS7o`H zA*kirzl_NH0aQ6I(C?lvzzDrSv~_ZDhp7;Us3-8|y%HOEogSRxs(dyFRoeZ`uv%mLEl|HONaxbbvWsu1)3LoXhjFqY}en!#53gpViIx zpxs&e$MZ= z=lIv&B$^${%pVEJdk zymw?8@;)2T%1(ZXAFr82-88js{UWgGxVg7kP-4D)-W?9Sk0<_J*rgohbqCF|usIwZ zeji5KNu2JM>}IQCwLl2N)bN3;)D2uZ4sKVNnbUwN?a!c=(RXT&hNTCrEFu~5!?ZL9 zi(MC>-KsJy;a<~q_Mx_t)PX%XvL0>2ChMqS?lA1Ar8!u@jBw;RnY zB&?H48x9zhMM4XxHgl3V%f5?lY_M{g+mbDiLyD9s-SmFvNiGo~ z`TZ52Et&{VrNXw@kKOR){S-sC;(H%G!6)&ZP;l0MW6aS4ckcLI8uiBdMK}b8?rIGX zl2?p9im0M5*{fN|>D@t^y2FG2pF)+JZ|{A(O~eHk7>^19?PbqHliHeQmt3 ze?NDIK>t-#O(E-pX%(!%q(8^eEn-SGFBjA8$s1yudc_51U6o<#aY_0@;v zdekQlsAy;edf4x%S_3{yxHy=aDG{5?Mq=+SL^oiiN9ul&D8n5q`*GiZFt_S(Q$bg(qw#Y1mE!U?yumW(?NOH^Q zs0dlMPlkXMheEFT0}HZXo202jh$awlX_KV_UH${7$Ab_zdWgJ2Y>#n+K0?XKE^gH2 z5l{3KV3ghU%GSpFY<&b~0h@RjyQ3uTE*93RMLj%fe^Fj2^x2M(@GKIk$>JX! z+H*7QMNaf&d_M?12MsnZIw>4zHgL__)TJD)8Vp{A!Mh9ykswjHQ$T)fW(;@n1#0DB zW~Rp$x|XyIjxhAGr#B#7_p0s#n$|$-cgbE<^(Dj*+zTCD9x32=0k{B6SO2#1OBGDa zI(Ws>Q(~4x0@>d3JWWRxCo5tL`_Po*Mn&CMe0WT!teC0wDL!n`_Nc|?mgYE`w!Ci5 zN;WYwZ4&7^JSbWtUT^nonHc*NK5c@)jw`!Jxt`4c(V|@1!GJe@9r`dH2|6mGh8qsz z6r4M}FD=itFCEt~jpQjPxKGw6-jiQ)M`<_MI-DzurK=LxUHL7<`E41&rKpGd!s*Zk z6oV^Z;=($gUUJKq(h3mAf;C=HtBvqpMkPS1!u#Jhs5x2yw!XJk|2RDc76 z5Eicv#$Dm=k6bJ6-2~bC@Vbtrw}W&%bU-JI1z267w}#>4c8zl{45NX08+e(U0L zK$lnP>MqsX?348QPsVmSwv-Fl>aRJx+&OEXFc-VBLuoIREbVMRJCV%%F~=6)BUT>> z;^;NX<83itp%n(fMw80vF*5~AcTpQ5@@fOuJ%;mK`eI}y8Xq7ZeRM|lG4{ITJx?^l z{%*}9ZpcdEV@{5#5#|(XZl>}>Fm96A_y~Wah4>MFLd=}dwpFR_ ziTcB8J~QG1O`#m16)!OZX*G?LPfMBqb|) zbm5o%udmmHl;?Yn_Ue4$=n)b^?N+SzX)0|DbmRX@?I4MTLBL8eb|V>yHftmHMY)KQ z`Ui`nDE%{Ks$fDY3hO+@a`dS}Kms?c*iedi0u55hc(-$$&JsI{<59Me1JqweZ+Gmr zeb}wx?{Yz;jb31^Rnps`WDecauUQ#5#S9vw2aIz-knL0Bvms{C4oST7{Qd$R;=KXl zw=28FU-{mCK`*&3F>JU7*t(L15~-({%jpmbE?v4dy>^_dL8lxQTqc0Lc>(kg&ax!9 zr`ahV@^kI-rF~@xIg1u!97U3|7^FJP8%q@yY|)`LnIOZg!FrB-GBH_l`zugsy1BQ; z+?vZc6ew`|W04VQV4qY4r!3WZ?GA9Whf18Rswe!zl389?&2_46s#D@DjOa`w>5{_CX_^_d1Qb7F#TU86d~A(?1ZV%Uk=2cZSuKw90wq(H7jfv2PWM`Id5x5)k1Kf;D2(G|DXhh--aVZn01F7J|xt$tfX|4waIZ{$|TiIrI z8ta!kT%vx&`5$}RYoAB{1KIPa(a`bE{{|(#1%{N2qvV8;aiDK8h;8JCmWcX|;wg&mgr+wSF8m?!WxN=7$*MO!0-qWWBS`F-cvi2uI$5qQ8D=CG?%=* zvuL-BTC90alEVA5Vvs{0;8-clEiTX{2pH9UFzHqdSX&NOCMKx+PpcB1glBH@G~z!& zKJcLnl6Nch#I<_jGr8iYlNsBnky>CcCq+pB_b(PtSMQcdCHa+jVw)-tDTvL}X1ng{ z{CzO!y5xStb4$1NK3s=z8LBksU!8f^s_vQ}q#3f(O(oK)Q*-5J_49*!4~KuDCAMpM zT&2F$q*FZ^5>&l#=zxmko2`lTfjWRdR$jF0hFNk&-dc*3e2T74?;Fj^nMLOfcopYy z@Gc1i{&`;WcsD#HujK^zCl%{+KT7rf0}5MY9bjQxN_R~+X_R4%SnQ^af-a)y@LF`l zu9=*dt73Wv`o6ItXo!i8#k`E{N>3qTAp`5bB#dAg@b;pPW-&j^Z$yH2kYY(%K^*yp z$1+ZWHUxNQkfT(qw_aY)f&u@XGI5i@7XzBm6^=Hk8#h96&yCu=5&y-_eEU`~g51)e ztKJOrFtoqSm6Ssco1u%dSkIM0ah3xvcmayFOHchpx26={uBl7MT63*n`>f!R3~S~||I4v}wQELcjpiheTy5M)ABS*!3kK=;HYmz6J} z-~CSM+U+SfSrAq8_1%KKQqy4HNNRF2{_Kv?nzeO);2OY0G}61dQMuJP>pbhi(7 zYw9|iwzjILeouVdlz+?3Sh2!g-IhI70scZ}p6l{(8Le0Y>E5UsI#AOcVsrvEIy}4o zo1g)pBYqT`RCJnp)W%lvM;j5fY%mNl1~et<@E!#vUUAE?L9G6m+LcXz)Zd;<0BDItUw z&TRd16%(?~W%XsY*ZY;(c*TU)jIYojWc`(WKf7es8+oB4f|O)uePC}C~nk^ z5tR2lfS$?Fr?SXSpAYp@0NsYH91>8Yc_EoB1KN^FAOj^&899b)(@C>!DrYD^SU0cL zcK5NW&DY{xTB}Z%uTJhN%U!>Yq3h*(Wo^&5r(4uD#~wFzQGe zN6xi=V7}h4zFFTNjp?Xx0j4Rvj#<=d1qoNe2&H`c;>-2U?`Mr3vtollO9^e`8CP~d z=+`n~W-pGSfaViNy?y`M13WqUwb>h=v$tb{dG)=UxxGP{XbgBm1P(tI6UJ3(52yndbV zn_>X{`E~eCO}B@?_c5Z1P7dp}_t(&SiZ{93!p%N(MF6m439@0Yl7tT^K%osY**b= zuCJMJP=(Lbhk3evSufb&!Yn`RXDF`GJo0i)0!Tb)bFpAZstEr@xXwYG6^%n5OXCpd z4rk+0--Prr>4~KFeFn3cZ#ukq^MQQq@rEC^#Y_>!kQCu1Pr4Zil^eE!ve7(+qmz^^argoor>xNFA!bgSOGmf_#C*0od$M|!?O);~qkZIDY zPcZPWWU~~%#%50J9MdJel)l`XK_-@|)C-$`eOJ~*-z&jQ4y?0U`~^V5aHdHM|3Q~g zn_Qh=dVrOtmpL$^0f2<@)po6l7XD^iFQGq<3HnF~ZU+1(c>fXnRropIMEuly8VGQ8 zlw)G4UuY=HKh39zg2Q$$EG!~vn@$T5vw#nPD)lJx5TxI* z_zi-kW`c4zr0M5?KPLjE1ytY@a<+BKbGY8ibKLMUHR^d}+OOUD3VLMv7{0y4?GNy$ zNL}w&oeTPastSOgZ9M3fK1>;jM2jM?NHipvCFh+o zM&bnxEVp|cpW2GWG!*{egWKAgurZ7v?CQaj;mIz{8^Poy4`8I1(qz8O2*jYgl#taE zfT11iTZ3{JBn;TfxX}~`OmQkZ2tKZl2r+;hI~wU{Yr;!81_A(z_Q+>hj}?QKi2@gP zYeqs|E7!Q2HWKgdU?9cln-2AocQ`+(^*yc3NGIXZrkWDbUh7{BryRWK7Agf}7+pt^Tkht=g*7~;MQJRTbOY*qJaot~=B%b7>V|Ya3{$f85F6u2%VovWir9OY> z!Vrgrxm-pij}}m|dhWjutSqd8g_bj5`C5RbLh+t&pzD>&l$?qir{(AONZ$T)awNWG zPg@rruKSKnB^}IeB|LE(j=SXPHxJ|Ug8HNZo<}QM*W0b$25N4bfMlh@K-YU`YJ{95 zQ%JaEbVM9Ny;@#@R!D`q95D|5)0PPAU(04Ns{wqsHx^^o?j4< zfO5AcPpLp;rB79LDa_@p-Yf1rapzrmmrykcr1`#HQIkZr@O)7@fpBcc645=-d(Q*& zawOkwiZw+o;I))ka#S!nFm~=B3q&F(irE3`y^u}$4_G553zH6`toj6nR+(_p7{}!g z#KI~m+%cw6dZGSXc}FKwlW!P~_7B>Ckac=`F>HA9J{RNhh}?3yb}JxCi~z<+CBu1f zX&u*7OzF<}jq@ zws&oDw;fX=S44KfcczwP&-a{)VXV3-;`}dAz7LY=23+ZSw6lELiMuA8sbX#?^9V;w zNvt>{x~(Qw({P3m4=e_2bLG`r&JM{LKo&tpeiW+eJbJ%(?I+&`Mauz;APZ;9f~ap< zyG!ZIr;2OMjz=wWYgKLA>^2qG4_}wn$#?|+OuE5a0=ewcnJl|pS8_HrXfEkf+O2&k zF5d*A+jg_^$7++mLr{L5G^>SwBjv~n!1ZahDFuQV`+y3=|FCvW!I?zw){ir>?POxxwrx)M#c&&95KYIRljMOXFSyPv&&tFC6rD19Cqix$o+k}KJioP^Y| z{wIUhvA2C)uGFv~`~yX*{qiFP>z8F3!ZXjk_ni@4uh0Hiu2$ID!SE{s3%1ovYfioT z>VlJm=oWD2c{sImtT}wg<7+i`LfNp58pV-bv4`Z{K%{!;{%DcG=O?WYjc39 zg9332-kC!2p7AhaqTMQtVHpZpoeqt8-e8fvsbE8Qde*jSa+)c*M9GFz`Q~32Eb?j# zqP_3xH+;u@LOomdSg6q|IT?YTTtxrr8{OtT)riE?j#OA6$i!D9M8R0H^_f-(H)Cz$ z3oG??W5xxxOaAgg($82n(v3&})&{`92T%S2KLhnygT0_7Rbsy7DL|}0q)kKUt3djJ z*Fr^f&Jc-eGytsV@{ERSBY@>PPkRxVgGP;F6fyb>IsAuwZiil8B6r7ToRA-q#3aF68%Ht$Z`*6?)@Nt<*iz<`J??Oi4+)z?O8bNp*hdAVj zEl1jdxwq~7GYWs>UrVs|SJ0G88MNg|g+%xOK0m=d^&w8?z6%XhnLEjq*V#j0J9N{j z@Ne;HexVUi5nfv@Dv@hythWS5kqiMqUfqpit;M!15$&m}*;!Cm$XoZ8uoko$e=W6@ofZTy;qRr2&Xx(<1)H(3sOyqBUGYGFMof~Bfe zA9&mnJ|ph}mQlP!h^^I7^?Q!wjvkjNjC(fC^qljzs{TZKuOr#|T`3&V*Qv{- zy21@$w;{0+o1tNhwfHQYv~y2PQm#AWYWx&X9zoQjF^GcHYPMpYb9Dkq|N z#H^xl>5I~5k#tzWXno(OIYmiIh&FR zHcjvohGW{PD-5ar03I^>ouYxx^a0?+a-*6D(MSNJ#MM&ckYBX;LB!Dcdsod2fkmfd71I=60*m{JN`0KfQ79b|2Sl$8lUC<5i(}`{l58 ztG*yc6k@fkLq`aFNAQ*~$H||8<*O#-6d4;tiJu>%sC_zfV2(J=tm1XK7gPPN!l+>K z_%nxZZF;2P7YFU=>6dc*3E{NK>m`sQ)XTvbyTX|G-`tu|910#rQMqDkz2_h6RLt#s zJSPRfTG|3xM+)lWIn?Q6+d>C^3+ZgSdof>oF0;v1k0RSc?c9|UH?A0-=$8Ikc6Kc~ z#Ju=>+~8eDOWTfwt!hrT5%a8=Fr^vO#WD>Y0ypc%T1AViMlK7doL~prkOQ9_VYYS1 zY^f&j*yOj=s%X3Fh1q*tf-aIOS!mC9Yetq%UXO0j<(wVKDq4WUshqId_;xvbiw0|ikOiw| zY2ZA)SZ&82bS!v^#MV}F&mz_e0bI=EhmATKAEa@V0-ti-gPHaM#R!fp3Jo`=2Ae^_ z&FYxV_sCZwyH)PHnC3OFVg6|jx2t0!mztffi!FlL+Wd4v&k^%ZJ$jB_P>+X98M?Of zc-?*@+rTFlSU&{%T+Zqk=Rh@yPbV*&@&S*`npYQm>L%CNr8+t{rRZvKdXB1)hzp_b zV0eU};Zi_g#ckN;*}9P@p{ATwo=e5UC-cFzt}1(K_}uF#;Y9qBlMo(AW78sj^#n_$ z4vBViX(m`P5c`6Q-%>~rWr*+jdR%<7dZL)zPns~fJ$117(V(&ga{buR9Q<(|Icpeq ztf*`^(wL$%>o!wra+%C2MFXcvA~B#K3k18#!CkIeIAYw0`5z8Y9eNGE%#Rr|IxtL7 zDZM~Vm&BE=I@s&{H*Jd+(b_E2Y+X(zm94kt6u zJ;2bQlUh)HSU|ssECBs2%P7tA3iKaNp==P&3mB~Et_nk-X6=wE){Hn4Shk!eV8ijd zpVLW>uB20$$9qf-!&fgA*1aA;=}KZWiO}*xmf!5$PerL#YG{cL1dvxd%cQ}5 z;o_x}Q7Izr1}qkBE3v*Iu?C!+6dq@Y6|LkpD>~%eR+(-uP&nyAqc(F7qKN`nR^f=soQE#}ISeI7}4H@@7od~+xoyxKPD2zMcX zxRHa+gUqq#OP~!(g6QT{Mg+s?*>bmBB*E$zP~ffcrH_BBQ*_pkYW@6PKHzS)U!82O zE?;YHkZq?mr|~l8>uCsmI$CRYTxUj7HM8CDjxDpjPLuStJ_4@G zrS~VFlP6o(IIUCJ?8OIN+ZZt4S=zoejWt^Sp%wPqMq3}Tz&t;@VG4}d8daj(mAmgL zkG>}(d<785x2(DSXK7H{JyCx+9XgCmS=0n(22PE1`|?8Yxf^}(PUso#+WZ%2D7Wm8 zXe3(Bk5@i#ngl#9zPb&^+h0z2*I{7wIbOMUouCc3dH|$8#vTO0`CY{?r@U@gFS~%h zC-9e;XYm}Xssw?nT3p-i*Q3x)Sxl`<+N1>R@xgCR|V?8E}@&g9{uT_ z0u0vQZPE))jDEaSc{;JOzK^4AMmcy?Cxn);J=d^&3w4)Hzs{&tR7vh_^Kq2I<4AKXm!P3>3u)rZx5Z81PUqH+@H^`|M4Em9 zIvJe|bA2(Wnn1e*V=i$bQH$5tIjkTxN0>fLucLteA<>31?ic5>fb1L~!!#f2K>kkA zBL|8<-EQk;h+fbKFcbCmVr5Y*VZF@lYWGyE>5{a_MdsFn{$=bUtyt#h*)aa;MbSQT zHEu~B3_yKckbAr|>Y+cmFmSdTG`d}X8g>P(D4je_A9!jj4V<-bgX-Xo#Y9E$8^1V) z^4PXu*`CyGGA{;{noi(5P6-`k^sYqF}j-Um=`HxR-WBYE48L1 zcQQQ6uKAi*gYAHKa^iKTtvRp9z$q-fk?)JbQdG0*12hu})uPaBZ8R%iB7?x50QIVzWP@8ACIk93hpnz)H>!p|5iCo? zXAI4-rc$k)Rnz7jfSf`dWe!KLD-~MGOCOC*@6q=Q&Go^R0nC>_DR>0Q7?Of)IIrgd z3b>7Ls-++c6xCvyR3BVm)^oH~8sgI1MV?=;bl|*WdB|KZSBHY8CqUlYh7^T1L{v5w zK!6Suv6qyKa??@Wh%@77l8)(#lH@2tx(EnFs;K_oT%6%}m4hgcKIHAMYD z6HH<4SYQ@@pKawhrn-AebR?5QN^PiNg9q+FVO*b7L2OiY9JWd$nmS;|uYw+fn3EJB zT|f1++Vq0u)DbR8D|F+x==_A`(q$@5za>H4IVG+7Fw8V~@sSNPpg!!hN$vUc#2=~_ zWw%+ygZ_o4q$qF(2a0#V+QAp9OFI%6=!w3a1Z!Ffa&y*CP<{LRIGZ!}=yF+JA<`|L zLPRl&Es}!bIQAFmK{1ivUu+7-v_&-ub`#}kLp8-NPGHvY>Xw$iEN}o-JpLF0V4Pei zoVW*7FQiJBDUu7GJzt?ROet~-ASV)tsxt~ZG9iiqZxBnPfkyr_Dxh@FXicInN2w4~ z{rMTc7aP})_o}<=`pz8dj$Y*W_gFDUsqpjfeB|6QXkzJi{sPAUN!5}cArdXOpNJWl z7=(wZIf7+4h{i-RF6A`s12g~Bzo>A1!3<_2O(0(OTxLu^9kC3gm56#VhpBQ3H+u^q zI0-&Mai6PNp@!j&M&*Eb7z$wsu!OIYFRB&{FFiok^~sPagm=IngDT=;{+G`AR)u*4 zmoM81BnB!mLd6kIx;Z6HY~subn3c zb~z=%>ofX{h?*&ilQ{ldelg9`IRCquHj5pI*^#U)_06R3ch}{lmPM1ataC8$+4$MNB8v zF~b`GOJJQ7#o3)v@e2=6kdU1}YB zrNL9C_~3GmygYLb%SkO|1^KMe972A_dn9VdqwvW!UoyNgvYe}ABIIl*`ZdktJlsr! zC6haJ#;GQ~iCwzFP=&=m3PaD9S}fw#QihoQgLw?9zO6)Kg!CAK8s|_&6;2w}0LF8D zyQTNyC^VnZfNb-SVg@{U;#crLFuPAGbL|$UGlVgalPAv(H$1^=AbCEBXn#`+LEL{u z-Wd>8*PayIx_!c*2Z9u)iU1%F3V%1pfir65CNwvJF{{o6z0l%rS%IeG7W_=`K`-$@ zT*z-@?n`-Yy;8E196R2wi?!(zjwAwx{-r+(w&es3faGf5gDTDQu2dtS)QJrpI5#(b z;E#A@?;EnFq5Q3el4P1f5tr383X6>;P>Qc?P=!qOy{O8m{v97!69<#pWYRTeU@!UZfXs3Ffc z^p&ErLMm7&1}>3q(mIV+A7^1?5DDlol@@`SRn47D6oc=Ije$ zy`&B{bLklr`KtDV?WE`o7mAteJfx^n97FxiBF-SU@@-Mn`0G?EK!774Y!Zy-sgr6v zq+lO$A%)fVnFm}|uo}M5bx<$by)&!#k?z-*G=$J*(rJ9584DWMD2!90kGC$lW_{pj zJB62vG-WGzEK!bCgQwx@bJox`>mI#M5o;zb&iVs$E)mET=*P3f8@bo?H@*YwH2hqw zZ6j9svyxESS`bMyN_c?++qkx2rwr(h?e2Z3-jOz{w!*HyV~=~FlcV+|59}&J&84&> zQ;>yz;Alm>;5q1s$+J3!B6CG-sn}Pp>QdL<`ceEyv#&5Uf&)aT?Kxu4A6NTY2qJDm zE|?eEcoaDDwa?)fn=~+qlXc~NATz_PcD!YL{fFW&UZT=m@bab=MZ9%xX)m;5h`|NV z9FD;5xC2Z~tT`pJ>&(^IN@4N4I!;k2?(-ru8Eg86n~P$iZ4NdWIhKHvl;2z>*7eY> z2!p=`_@0tdEAXx&I{og}g;DaTPse{|pcrIR;yiey5smJS8t>G?sU*y_lS$B@SPrp# zb19ma#k9+wlwCb@&{~smizO8Bq$I4VGO6T93a>C3FhVNNfLDD`Yl6T!Ul8Y&KdR@Q z-%3^hhQ?lUOsH)0RQ5+ER~71U#5HF~+CE0;MuGE;|2T_~wL<3xl!ec8;WFsMdrhr( zIcfG}bp_z0jYpp`tCcMR)d$T?70!H)r2H1Eh!}GH{ip?5Zt6D(gZ=86Ilinv$mBwP zT?)?-95%2@Q<}SgfufCzv8+fk$*juQ{9JV3fyDZ{?8g%+9JSFIb;rMIvA$XBF}c@J zwtfvNUHYPW-Z<{O=Jx3ieSVY}D>hztDi6hKHE8o4-O?TAIGIGOegVi|3e4D_$$b9w zk+jYlIh~flf;!Ds{RBvs{R&`@fJTkY^pjzO7adECdlFy>o}yL1%LhONEwCp)BpUp| zag$Z3`hs8gi;5Sg?@E=zbi%oislwOEbU+bdXp|DBq=!BGC}ge6ez+<_sAlZ_tR}d~ zf6?Me_fC~%pr)Bm>T*JNx5^q@u%~?K{voLQ@ zmLIBNcNjY&k2qdB^<_N`S=Uo4mKMKbuT?0)9;b%%CT*Fm

kg>93h-Yh)9x)!CVEm-qGp*z6}VqhE? zx%X>j!FSrTTz)aHZsjqrlK-0;hg0gT#UyDnQTL-#2#_l8P6_$CEM`sf993($t>IND z^}i#{>L5&VdIrkDyhRZ%XXa1+rn;k2>ghcBD|+G!gEHUz@~QXA?bAjckIe@Tnh<3+ z(N~FM-8tOc$lXvSEe>XKBdNn6Yuu~0+s&tEmb6f<_dO!!eU>A;=h)h@vaCluN(8v= z_{7i<{4cQM=h<^s%VYm~-?zyqy)B}|`PoVEB4V)vsmJLuL*xfdZE$HF*S z1fpi672;=!;8!RG2#T?f8#)BR^FPe-SIdRXGe*4PNrT`1a`}LUU*Qr~ zA(2jxqF7FaF(M2-Plr=N`kl@ouW^c;^LIjG$YYULQl6UfZ*Bkn?rHRgsj`o-{n3@3 zpc#}Q2rJDL$B4G4e%2y+=OuI#MPg2mkAftFh;8`T8NPcUGx^PfynDcZ zU;)}C&=^lT*gQZu>dPe-BuY_;3;u+4m`Q#V2D*Ph&Cr(7n>E98e`c3gc9@ycW>tFd z47E-rKwZUlSf^AfSSC7cU86!=_DU4kq)~Rj6u02`TXe%e$MVlk z-aUde;L?Sso6_6Q`{~-xZFc*H+v3@DmatZpL_M`Cfu)D6{de2u6AxUN+Qb}+GZw8l z`yN}wC9mh@(yeNxc?^G#ZT9cS1>iBt#xF;~C+$tRPyX%n?#D8*_|(`L07rT1;zc8w z%Ac+BHei@b<0a^>07~}p_D4Mui`SL68f^5Hby0j;{8E{fLFrq=2iaMo0c__3G2iph<(T^*iBiCn5Cn^!5#-^Y^=w`Dl7O8d|z# zrn8L7CZ2|ZFpE*R5dvcvuat;vVw|Mocf-|S^xk%t!^ACMrz0tE`RdyM*?Ssf^r&Xx zD^xkK+)}g^_1CJjFiHynE8T*f_D-nilOme7_qmY#H0a57f3xo_0^e+hKDXlyX!mhO z*T(=UeF;HIQgI)?!v5jq;LmH}Ux5VoE&QIPt=-hjOUI}Y?9CP-=XUng?f%*;!tsp7 z6w3G4Hdc%m-o<55g$++-`*%@G3+dab>kYR?=_`U03p3m*^1i!D_g~qJ*-uES zHQkP%U5={Px!^6mExnXS-RQi$79AU{j-$4v=+8GU%gw&_WnCw6hq!m1@T2n0r3jAI z;C{0P*-mpJ?}!=26<st`B!>|kfMLeSbZR$1w;3!MRRWRT<#soSN%um*ra(;QIq9> zta(-rI3GEV%iAO*;^~0)C6YINL;u;o!)1$&e;_{<;!RjHC#~*>{B@9r^fm)WZ)vuL z@+pr!$DG%l{T3IM?XxUOzp;P$!F8M)bIQ(?JNsi{LW_n zoXF0m8DMAgw|HJ2mqm9Quh`kj} z7LS^IttPD|wsH2beVKj~4^0iBjXxZ29@ZR=uRpB6HtRQ2UdWtlEa&E7X0({DUo40& z5an#Ut6x@%YJOTuti^1x3gopL9UnY?y;VP2SlDJf_Fq;v&a%tdY0cHGaC>(HZDlMF zu`R+N;-7{t#je3mnkT2C`9_b{xG67_BMjcdI&@tp9|zU4c~76Q^S>r){8Mbb7jD>L z79{K)X)Y|-WKFZX6Ew?zZ6erSq}L9-Wr#P3I!EEryufJLh}Myy3B*}-dk)p zFtrxyeMNQOD`y_F!GSz0nQLVWHcHiYELY~SmaO{gVO~1=V-T?!b#EHytr%tFRZJI4 zGYc=eOZEq~?4Sr0oCFz6qu!XYtuvbjDj zT=PnMmkfC0X#(PpiHP_2+zBj%bx3rGI6 zT`0Cx{i_(kRKnRNvvzqA`H`30(aAk-eDbHy5-v0tyeAoxY^?8$e9?i|>5 zC78fNWvm#lrc!@qViO}D>@V(kN%G!VGxsp&CTp&d^j`~nTSS4DWQ;)!!?OP$*5qE z)5YcKc(;EzJRY5#PRuB55Yz?X33G>fNIoW;@ZUmG*H2IByQD+%aoMEwpNwaBAstxf z2EV->kp!BR*RijJIv}cb5evUU->}XNfBXL*7XR~{!t2ogrAWv2TMQ6o>J-6WJCi9fGH>~Wi)N=aQd$~2mT*&7-nK;YZ zf1!K(n>zXo3&y@;{r_C-VQimF)qh;9?mtQWHCXD9xb}r707B-&$Ze?O`=S&ayWn*q*X=mX~?__52FL1$$ z!QI~c|ADbh-AxiG0IF_h@Ij)Fs9S@*^XU3BtzQ&gxvte)Karxl(|Dfen99ihLqb z2@T3!P1}4~e!J}Uet*cNWSve#4?qo?DW%MCW+2(A0TYeu2eWoAO_hM1ctk0b0 z=il{m?N<5&Ok|XwnwTBF(>2YWdwoBlk(qXVbiwh^h>4fJpHLoZ6>f&}VxYZwDJ_VJ zn|J+lZVWy9RfBFTpW-OKjoHJ$xc_{Hzj<4!aiR_Svs(*%9Uy=A@9HLg_J)3SwyJi8 zvVN~w5_B|uH;)NiUr4--yuEc6gv}vGyoJ3Pf$M;&5|73R2{|0~IS2`TPiO03TRcC? zKOo2<@IXUAAP@XtUch0(t^p?sN?U{;-&wsE6%w(D{>}>e2!qr~GSz~B?U#`%Gcp1J z4Pp;4_-chB4%Ea|LuOv2lYUnk`T+~Yn4?Y5$TVb3LisQGw!J4CbWMafC69ZLWUi8zoFFVb%EFS7Cq9HTQlBZ%zK->hyr~j2f`?Tky zP8ia&drFoJI=i(euBwg-|?~r>l|A+(w{rrJ| ze)i2NvBcoMRu-`=GiWU8aa`9kXy-E_$JjM{V~wra$-3Xzl(*5Mx6LfOw|D&Z&pVWq z)cYYv`UeyZl-LvB&c^PZaGIcgwzL>pu{2rg5TOkaE4 zdIpN%zB&jZe-pY1V2Z#A!mR%~1NjIfh7p+|`Vtm8mL+@K z0>QK2TrAd?w1+rnL-U^Z9s=|EGUUHIVq>iBp?4T0KnB4(OdOT$xPNA+xUY@do94sj}euDpQ}J-R59(#OjgnUg+llY z3CCSS*(%RV|7OJ!z_)}{1O_2ggIMYHF%T?CEShUio>>qm>cvro8zdq#5V*&;j{nVo z>5(i%c$Sp1FYv=Q3|m_3Y|80G>DY?^PJdL4<&dM~AsiD0 zRn_y~PH{mV-0}AdGg-o=zYEq$I{1=HH_bru@+H{pZ`h-=&U#NloVAK|0Rr+vb4^Qa z0Y#XXx!h|U$m!u=0(7?X*{s)>G+2+5!U{9yaA>qA)8`Lr8v&%+^MPG!V#Cur>c}2|YE2s!H_@{`ws6ON z%d_z{E)+O@7bDguqF91YrnzLxx^$a_A)9;fp7GRUVs{P}EbKgsNa;{%qw9(2*r4yr z2Ei~A_)e&F*N1g{-Zmd`vC^A2CL>6>Qa+<^efAI)Zt%9NruouOQpv35e?GW%t5}lN zvxXHfK`p-0p@b|dR5Er^S4;sUZbO=i_Dm76(gf-nHGv7Q8wrw@IIx=8@BZ;rnFWX znN9OARRGHgY$2L@dlqvH%*L!1>3E_Vy2NyelLhMf z+**MB+~w~>8@k)vl?X9bJ96)abtk=d{;!Wakr=3r9{NQLf8kG$MI~yidzH6ifhERj zAx!C9=%xgrJ$(wy(jO7%Mgbxq~bobW@U3b<39^7nSj0=-e^*TgO<*+7_@_@?U(J$BAKw0Qd-Hx zs{RTEvV5KgSUn)EZq?+5AfTs_XqL2q3jfZ$Bp9QLxaLnt>9mR)gy zQQ>Uot5jZi&Q=ZU)W3H4+}vud+5CHvv2&Hv#P+-`%UT7clUG|9uNRO~M;|(CE?9oD z8d*j=F5%hyhGzCyTi?bW68T{T!u~vm%BvP)k;x}gFPo=dmjb4bI7hzmp7D?81i|7( zQ6CI>B!ln!-SM5NKGtm}&oeW+Z9o53_leoDsRWUz^8LP7sTpGoZI?Co-1j~`^F7+0 z@7QsYt(Fyx`&4s$_X<1uYDc(z=K#t(99(5TNX3vLB-btIju8K0|3eYdpOmBXg*iJx zLhL50e7UcwOWV9!VD%m0^}R8kN$~u_?79BSC&hPC-i#4E+Og=jd>&?i`mPb!EVXj( zTVzN^6&0rIP*I67WSw4|LT&?~LQg?|Vx*FU!Mb))P1Tpl&MD1T$#&!q_WmpsvQrqN zY&?ycA#1IrJ+MJTe6EnjN3PxK;o_x2E3_lF1YNCIQ%`qI&lD;JWr?O}`ODJDd#yUP zoL?ou5J*9Vl=AvEp;lyqki6pm&s{f=pLkCvgs}V~-;oge2md*S`HkRjR5N)sG8yxd|u<(I=!{J z75BVhe)f$NE4nnXT{v2yNo0E>5`7z9q7BH60i;6UJ_pv80{i=R!l7`y%Vp3Np*=j! z!|4psZn7CHQ{#QTezqEal#=dGu7eLxPR=9iej>+s?%0y7i_%d`uzbbFdoFxJ)6ML-J3x7?Fb_+o8l$No1mDysfhM}-RzZg zdgV3y7z!l+D%)p?I@`3r&(@=k-pTJg-J3c2l%Zptxe=8nTpHr%qX84d=j7cL+7Tud z=FSP9z$RIKj`~2pnrsIt9_Dlsw~z`CLBt?q@;(F`X<}j>$bcs!`S#XE&MXl;)xSWA zV@&zL^&gYzrC=rMY(og1!e=4!9g}YCQfaz9#ja06Bj&zffB+0OKzyB39ohez{u9L1 zc7O`>t#Wn8a@a`{jvne}uw%HK|Ino$td@jn#CRE%4ws^Hf9LV_w!Y@!P2>I0f32%ATf|J+BJ3^JA5B;7UjYU6>#%5#jEWttrdk@Iy^CE z108edHWN7x8&xv2+26{E7Gc8o zC|Clcs5mmsU)#KV@5tr+woJ(DQDUvlkp!V3+Ir3z@;44#ip>{aS65E{vN{~yf|qVb z`&T8hmtD;qhChoKVM!`ms6X_1lXbQBlH}$8Ti>FTzvN4c76|RZBx;($>yH_~Ks~3S z?<3v52ffMXwM@CHM)V5AZYhCW2{~L};V#6MJOJ~PWB5_@#2MLtB0oqb4~y>Ao25=V zMUtS9V<5`-hKo6?MW3)ccMD*sqOG<#aogt@zn)x2+0w*_nXCStzw76&4!T=}hB2|X zqH|ToR@5+F#ZYFR+uP&PF%Al7H*Tnm9TXWpFMN}vHW^zl>&<8^acdu;EquO#H2wXv zvWi7woTI&ovPQ_8B)k1ene>o_q_(06UY{{MzhfH*lku$JVUL_lq9wFB*89euGwS{9 z_T+inXGqh33)Vk28kOmBsvU1;_h0iMmTZ$hZ7}(-%xZvtE$l(YR?ryLX_{6=83ml= zGZs%)8qtI7J}LY^8yv4j^3r8;!toYl1H_?YN!rn|9hy$zh7XG_UlN2m<_93g1ZlN9q;r$m`rIG;Lx23 z&GwntkCNU$-0wg1p?w7$E#nhYanpN#mfBu3cRfc{DV0);+*(Wyqz=_KFm)L z(wPY7+{S^!lmeszS2kHO*j4iZ52w4=4nbO*7@YBM<1on#+IOkUj7-P{Gx$uOmJmJuHW-Fb} z=6pj{UX+J%U{u~TPK5{BnN-!1@p0C1MdqK2lRjIkit#;kt?7Az$r$0R7rPe_nDhz0 zRN@>;7eO-M!HoC-4zIsI11-|Yl~!@(acTUnpjGL1wo@3mz)Bq9$1pYrE2OG4f2NHqkwZr)fEmBqsfH8&ybE8L)X(2rSgYXggQ7ERkJ@=YR+p*j$YTl zgF55foGfS_e@aph{(e>wC3unM}6~?wVrd`*QtBWF7p!$Ax-KZ8?IG_Vb#6*D8ka=Xk~Bk3R(b0p zMyhH<9a325xgq1rht8+t_0o$KG%lxfsX6mEHxFafowyL1elAN|H%>pWIWd2i3XFwYrw_d|BOI3*Xg=S4nuwC#|I_R^Xzr z!76%Tuhh!jWu3u=8f5Z4ic|u7k=sR0UrQLzF(Ll0+VGi^lsoF<5NBd<;RgTx8UwPE z1QJdU-;2CR|JnoDQD^bgzm(N6C zcG?aSj!J%!5cy;iZ5CNQ%$ z09JZcWq@pjkkMEgo610-f(z`Oq!+eEE2i0#<$GIRF}+6v>7|!Fk!Ar~rrPjy3Ebc$ zW^ho|yIzpa{6@w>m)J?^E`_eRW#S%3{xMTeQNp>k2u;%>&;{S^cgQ7Z6Lr((KNK;$ zSoL-LHuxl<65cBs7M@YXbHl==y3*o5;0N2@Qtbry)lsdYmLB1cyf3{oXxD9gNm41l z1KEdK$IC^BWr~&v!9iNA5?)~HFwVtiIkPvS^(HMMvMKal`2)jmUD#ZA)zPIXwmKvd zqimIX@h8arfjY=OW*V&2=w};PXz2yp&hkHpyw}FqyGQM<^u|-&{p)4nH2Ih5HyCk) zEOte%%0TUlu|Lc~V!QP@?|p{xe%W}Y)cxhSBv-r1ov2J5a#DP?-ywr|a zuelt7D~-pVep)upB}$xV|J5+Zyl^WROh3-L|4Wv*^@T-wQYZQB-#52e~L%eRIfHTP2MbT|^rjC3g! zo%g2{H+YgX53X{&a`JhkGTTAOQ+Avh_B{|lJumnR|CYqhw#HhoH1lM~KQvT*tzj24 zS9K6&Qq{SB{+4aQu!ffh&_QHo_< z&p7{5YhP@00}0*#>QC+(Q%l@9o zMv>gZ4m3Jn?itNOe*7bkmag*4^&B;Ol@{KvNC9+WLTj63il2}lO2@>KZzb&YDo$+R z`}I^uKXI1rZa?StX!4~aGf}kS$W-hXT4=S_KKA%f$#{S#nHght63CtjS|I!2xX2_G z!+?v-lBvdhl_vP=IYz@lITt%*B%AHj+RJHeEo#GyS=v5`1Tp452;s!XgOnAQedUHf z{kT9rfKpYqgk`A@%1@s7YFmB&IYc~jD*Opgof$f6>>o723KN_jXDdCfl7sNT2BDt?0*3>K+M0JnHVvR z3GEhcp3gEd4nDgfFd8v2d=gxTD!wK9?UTUcwuo@4R(v?R%Bw>yZO;#%pXQZR4}qNm z;}Ow?sud*W}!&DaWCPs3c$*SRS|8zqRI2;vV1>)mQV(fNs{6h$|9C#cw8kcnmoAw zR%}m(-GLfh-gqa?d;Re6jLbbAET{F|t>m^P)|OR2u>TuZui~Cxvkf*U+REQJ+xNub zz4~1(THld-a3Sr$3y9pdXj5|kbgLQjt^7h0eIlekpFlL4l}G63dDi1VuC%p^k#tuj zIQjD+gZbd^(m9j@lr0E~dpuRwEjPe56&;G1m=qb| z>+tb(<@~wa(Ww5EmV&>@t}1kaUg^UOvJ#U7V!-7|x^(m4Zk+Uy#r8)zAXl;gxzNUm#)ou3-dEuDaFqP8uR3vd{IFCr%k`#R zK8DARd51GQP5a2Q!IdRnQnII&nCH5<;(OkP{j$E2?}lPA`GQ5fhi>0bAJ>LJJ{OzDTyGN`tp^8~vKqTd!8X&Q zPE#~xko2c=8%z!)-Dv2px!+f?qt$8kcoJtN4VWmO#4d^j%p%f;13`*)DX=UlA|Xx% zmLZHI_*cUBOM(^2sZdSUvG5vMXc@C$kFC6&R;%~vx6LsbDfF_?6KAtDE(wFp@7P6_ zA+v4F`JLmkJUe~>6WV@ioc%vLUDdhy`(5hDgy5#)SZ2dZ|DUcev!5>txj>F2}uXG@5=a8 z6W+&@L^yxp@<7Hk5GHmqP8BhnkqX%zWp^f^ZCTSeenXI|)eJ>IF-71SdQ_129c-|6 zO#a1mL_v>E z@CS?UsWTS8W8+LMdqw~)g(=d34QKR@Hn`!w*doG2?N~GofQ8~?!?dv3Y2k;8+PI@S z?gyLp0(d&kPndr)nDaAYBQNk=T$~R8g%x*I8xx1rv`Dbh57B%2{@N# zHrHor%&sNCjD)0=GSbh}ZIY3A=D2~3mGQsbDYK7r`H517i%V)Vg;OSF4ns6$|x3Un+a+1hWD>LHYI&+>HYuvjMg!`SrBqudQqH3@4~mQmD> zsV&*GlHGG^nUQV?p(?Eg`{OIErZ!pLSt8vAKIM$yN4~WKa#K8(=pGX4Q43FZFa!43@`&-w=clUa%oKM}GMz%R_-GGBEMebVSvJ!7BToQ=!-3 z(p1=Fx|M&+hLw>$A~G>X=ye|+tm;12Sfen0eEfPzU9Yj!T&I1{0;1S>Z~F>#KJi<> z?n|%gzE{4~K36u|k5@}4pJ~26={%2tO=nh&tYBK*c^ZyQ5?J+wjRAwUMks@(ll=2d<8w@n-%G>;n*L{v*%Y5y{o`)}GY3F61&C~g zV)P|%Lh0opEO}DT05bUdwYM~F4-<8bF2}9=wFtD0-md$|o2|Ajhjk0O@w65WkH)u0 zkTsWM_TJ}|v>9FJm(;4d&r2IvHXd~x#2B+4`@!?5pc70V>2>s*OMp&?)s(8Q#^m}II#G>e22 zA4GrM3y(d)Y*AD!0t=PoF)v7ANK7D5nGbVD$4Y2-mi_!k2sk(S-nE!=N@es5N+I#o>F#ro~OAnOvZ)N23dcc-j2#x;zk{B!rB+7 zO4?DZ()*htOq!Hcm>btF=cD~iLJckI3W*b_hqe0xrOMIN>y6WaA;O2u??H(_LmpNqPt4J(qRT6c zo(u?33FZweMr4O4#(Y@5F>dAU9%<1BPhd~LLk?edm3tn1EpxN%w`r{^NDHsi(^S2>LQ%96+~}~h7QUO{2w8OHZC+<7}^C^4Y(xJ!@`V?~dAMdjHTi*n}I-4v5iP4}tX@e2Jg7amlWz z8<-7ezK!_>%fdPJ68o*L9SUXS0^{K|fjNf>A@Qu8!#PX?6Vtak6EEpd&4U-Thoz>e zur$Ekck$+sl;jNx34I-g1u?MU(o{Z`Je9B^o zy=1Y;ngfCM8x?JAI?3gMB16A4Vp2?xpQ$tig?tB=JfysWp3QcagMNi!N7mqVe%1p*`APTHFf4>czXJV8nq%%i0N1gAY=IJ{+My8M zAyCKVMzgr@Twejdn^>4H@dcc7$epdmuGXD@!j0GUp6jcovB^kY^IL>~|5R$+pD>~F7qCf++(oJpJ z@(^W0(h?FECPXXUt@ekd&g;OJAnvlhd0l?cn_pxF5J@~pWNx5;av9Tc4j4Gg`oOYD zOUQ&9BizTYPqumeKuB(YNm@^D;$i)KzD)ndgnqUuTB_P$HkVhs=%+fa9semR+@em4Him(3 zr|}#OgKISB3s|Ax6k%njIrdrrp+LpcA03BM6%#2lK7{Mia1O`oKVYtaFrzvoM+@rY zUdFk}*jaGivvK=lqRKahZG%2ea65EyzospstQDFVSi;-Mm!-9Q%x;VKCG9|D!{Es+ ze_|R!H)5OFc2H&Lo4|3sOxvEq_46*zoEvFL7^xuphb0fb>SYWHmQ6O~LzW>l5{+Xg z-3sl{vkkVr0fCfAV$d8d>Ad~V+7jx_+9VIZX)nTx)^y-c5fv%E)kV zluJ-!apTg5{=VTUY;o7ao{mtk(TKbP#wYybX^BK_ybkb^WV1ON2zLg?R_HIzhHY@zRj?YVvu?$R~{O0 zG7=k04=TXEd2SPn&SgkE(!SqiZZ<^|+0U}_7yCaIP=lxugAjBU5+>d&99-n^~Wxv$8>uW=g75OBd&N*5WEo~Ai z(aXLsTyjjd}KZf=~!L^X=^-YeDlK}g*0#O8$|_!fM_+EE;mTDar;U>&v@MAu5z24(d> z4NxT=Oi(5t^K$-*EX4_>PcitOR8Q@(M*qnRe$r#g!Zx{5^Q`OmQPFTtO(EeL_!d zi0-Zs-o6#~4bFD+UC@u@@E{bt7A9(VmzgUIh!?-)>$Mrmkxl)h3tR970-wiA{1Dex zVux<)v9{b(o40m4`c1+oei7Pm@aDrg%f|53yeQo+IgT-(zQJxy;qDQZete*qS2vr6 zIRX}_%rvsUSooN^Mnb{7kO4dMagS@~S86qGM%U|c;Zj!Tkb5BuppMUgWw+(3*&@#* zu~UxqGclLw^$NPVzBz`p<1riU+of#3w)cA#{Tk)p@R6Ffe&m2z5T5Xbje&5SGw8OO;sJr z2VtEKRGmK=482c`{{EUQ_f(Qt!J-EQM^3{bG9JEh$Q0zUH;~%iXxhR_41Y7x+)yxV z#>frce+bp|{&8ZL$v&FleR<<8Wtp(h?HEI7cGIRWxjw!jfUkm{82Snrmc+VpnpEINLZ z%2oe`V|ik0t^iImm!#Ljmeh-6J>NN~#n?e{(oW6-(C!~QwDB}6eIYJL$W56Cg$d}< z&_WQQLYTbZL~$arG`AjwS@>e8F$Lkhf{?eCJ`6fxC=?(#Gnx*Dq7y_hrm_{o7zm?N zB%v!+&r-R#ic97DS(+Tuc<*G-Y6;ru*)vCaVNyx((lS-@=O+Hxd| z{~8@cBTJKxrrrQNxh1F3bvEYTge_%Q7wAh$Xw*Gm?_yBJFGo(J0W| zv)dZ>eZcPvpv*xBWVo8Q++a$<->Ze0{=^s0q?}vxZN9)=cOxC`lFp#sZOGN%zv?Rf32-%WV$J>!Na8a^cAYh#4umE8JG z38Wz;{ae{w)RyS&)kFq5hQ$zOk{HdZucGp=Cq|}Qd znk|F#S5^<0%fyM-2h6EY{&zWppq?NVp;De;=nyIKvpU5Xgi*t(Q=-g8YYll;HeYWw zzxprFY43wSa`ol>6dw_Pw>Az4V8=4|o-V?k%pQB)9^E&(T{rZedUKBl*;uGm({(0r zb}U5RtKifQJabz;6d^-Fs>zJnOE-VpZmB==#*v!RAV4tt_sx!uc^R?2mu;H%#K%2H zO$trW{Yl>}368}7h#Sd$eYwC0O)io?uehk+|CG_1lB36LiJWmnp9b%EgjSY&SQsk| zBil+hw}K|*w#`S<4B8DU*`~Tly0q2g-vf~b1O#!2)X#u=N(M~!Eyg7VPCQ5S)&0QI zc_GAIFXa&pG;`;z}f_LWBowd+OxQ`s9Se$vigUL zNPnA7?I|^+gDxZpH};^ECzSRqlCTZ+k>LbZ9g?vys}DPlDnhhr3!q_;#A(rmX!&bX zk&XQIm5;;#gQ7Se98so6r*+4LKs0_o*t*8$Kj*@(z#7+t4qmO!n8i~43u5|GD-O<1?*33whY_1>m&Zy^-e+OrQ0V@@srTC%iSoET3r--Qpl&b@3q}i z*b}di`J<@s_RTExsO6cdgXkdo?41ll+&af%g_SI3MCI~n01|0wVIv$Qok7#P0yr9s z?x}j39$`-Lh4^8q9-dE<_g&hd=jKiIEu=)!H{^OMl+`-hg&%=T`7~&>EoLLR!Bhi~ z4QJ>9+L(oofLB_ou|_|pH&WFY8AXYlAR4Gel|3w*bQVpPO;2cn& zywf*S9B=XhYARg9cdXGPH2SEKM9S9wGbku_GB}z03=XUh-@dGY>r{Dh34SO$jZCqk zY0Pfkc^kys`%d1tF&G?vF0H1I(@Q|ZOT8Mj3YWLGFdXKx9S1h^uE^pDt5@nilWI&j zu9^g&n$dfCpy+&x=HCkg8f`RNgW+mz-ksH3tM?5$%&NaTuJfCMpdU7zLD8G~c}Ehc zzoPEEM4($V<`LL7&&u&9C(e~%ap8iC14dotGk%-6{B5d2d73i#Av;b*0Vp33bB=&< zzOGZ(#lz3vO;EoR9@?jh=pN|3<^g*-LVlVu*H8(0EhZLR<&P|ko41igB9m7}|A2YV z<1hKW-A}@C>i?F{SVE&Q%{bDG=kgb7Vi^}`AJr;3QkQYr(SdCaoSwEH3(f4oEG7tI_q1BR6o@?Cl&wzC4TX$L0+A$)R7W ziEUAgL)TexTe)|xA*gZGe_HhVz^uwlU=5L2fafhKM*7O-lhOxHcV$zUFU-6F1Zl7d zAUhIW-*NgE%nj%5ThM1^?naZ&OhSMZ5~Dw=gqt&~y^4#^NSL}u0W1)g-G%r6?8Om+ zYhY-B8-HnZenHVw_MB3RyZ76={Eox%X({ZrYD_c@$u9m;RhQ}hoLP2^b+?6{{r1lH zfl*!KQM(rDFssxgDhhF;kXy3m6m+UUVXO|xO6aF@s7)RN60_N&@!eq;fWfPWR+Ri* zZ6DYJbnLYCGCo=kX9iU?ZV^puaX+DD%3Y^(z}C@i=DFtsXr5lvGPYBiz0%_KJfv?l zZ4Wwx-k1tuu3@GlGovan8!J58=th#0za!ycr&;NJ`lY`~mXWn^6{%+Vvyxj-fJb~^ z4B|N}yf0jCG`FnynkIzcCMZPiCY7Rm6i2;%x!v9Q0YLLx@BNW`y5hekrk{`Vd3+Ss z>D9O!{rdQ6+h^B7`0LWHUKJ4TV4?nCPSbvcI5Pg1Vt57O^0-Eg0`Uf@p8`{Tg=Wo! zW^{NwNSA1aj8im{N{A-}cyfQ%rIz??=%b(@`5SOtpxj~+dT{C0HLN4bkgCV!c&(zxm}k8Yv1B54Dt^X5;Vy&+J;_kL>M(XQK3u&xHxQVnuqR&v22oA#?0&S9MhM+AL_AjNc-tji)_TY672w=yV@s2~ zn#2Ni19#CYISJPB21t-jp0`<&J(VeSFDV2)-L=A8H(c5wT_-Qt3u$=ubo*i)3Q=H( zI|B&S!;v*7s{R-aF47%l_zUd%H~dyvO%tgkH(>0UX#EIJ6JtkslIuh^%8OmP{Hj!= zX)B08p`M@?JATJ5DXXiof^c;ahGH}Tq~Z96-owkE>3kP@u}V9h5=lRjTpzg=QPUT# zrp_?9MNGa3ucK+M_{tnIj+5S_-c<=gsbuxiK0XRZb7ui-2)iTx@*Gy7d> z{viK_+?I`v)9=u+Q^zwvU9^!Pg2=9ZvsKkE)b&zxV&f=y_%n5`Wo^%eyHUm8+G|KLtU-_Fp+Ae z$jH!$Z^15-hEUC$FN2`jp?(F-1dq6WF(8JtuHVcO9la2E6x3q+H)o!1Q7Vb130>ph zU3%b8HL9eG!unmek7aTK$fOUPK~HXbGV=akW%wi4CIWI28p|Y{Q24+|6Is3+Lz3hr zhlni`mw0Isxkt*R@8ZUB_XkmOt?fR!#5M^($1PrTP)4Bsslt@gnt=^8-|aCb$C$~I zRr*$}9po!Yk4Mmtm37pH($#+-*ENCfi*DAPCaxM&U{D&7R>F`q?Tv8H%6?!~n2}6$ zha-^b<_wyaVw`!H)!ypOS^|%CGhh!#`@WD4isu_)J!x(TwN0O|FH-T)W5)m>3nGIa zya!p*`*e_!v5Mk3$>`O`Vg_r>AxnS0Y-PSB0%?V6j139FldEU(b=0p6G~&rx2Qr*2 zpRyW{ehmG1v&Qg6h%M{=l?VQ%8+K1kytFY*u|jF~oWh@dW9+|r=Z&@9D>h~<$kxHi zvjNY-YDo@Z-(0IyDVm#s_UL=OL3!`p@AXEqu_o*2=EG{S2C|)^EiZ&d@>737Bf2#+ zBhrg}^`U`}T^ac1(15DK|AME+tcmnZBoZd-(-JaX-;e~7S581cvI-@6cp$1KDbGvF zyOGQ8n0n27z-jO`1Xka*@EhWPA-?W3eDL1yU_X|1+pJX+V14!2ZNrAs+urF|lB*6q z?@P<|K$#(HQ1fnI+Mjdlk3FrpVP@s1^sh^Ue zvLKhO+^~E<&T;-YSh$_I5DKr}o@aXEP<`KNeE%4?ZiV?B|oVojRb>;%LuPDJp`ME=4qel!Q?Pc4mDA4X?H6asaQ+Zt{&66z(^f+{6oBAkq;U zs7$U{qL_hR9Aus>6KLT9SL(12q+Sj77nsHcME&}=I$mZJ7#P@m`^RXQ1C9u@4G$w+ zc$0D?6I^uGoOSU;(=5@eVlmewllm#*l|x z&!wxZn+?${$M#7zyKYx5R9>;X!zW1%XUHmpo?YgF&T|*UWGQc8Q zDsiKhj+h&n(JgFYgT#^0bNUINd_|Ls`>KG{=U3~jrFq4AjhM3~*|?20EF3n@Fx>66 zz+FNi1f<}6{e&9ZaZ;3n&1cF3DYl^&mMjd2YP>mQMw5X;uL?B_OXL{5sF+@!O|DHt zvc$s%vEhlWmWozIR3-&wbJ54WD~ul5BDQ?WeP zcDf_;nZd>Y@x0ojKxV&9DtIs0M^%MeZ1amQEER3oWUBKt=BhSSvPzcYB!1=dGyEF^ zjcKJQ+BkG1S8dUHxet{aYR{<3GuWTuHmFr6V;uN3T z-pVT#hG@-x3>-wF$AixzP=A$f)ndG6S3|X!;;Kd9(a@^(`YIOu7Id{2 zH1rvE7fas7bqeL?VIwRAY6a*KJP>q9n*xR3*ZwM{UWkwXUOezKSvh!&%mSp&=})^2 zh2Pz^6qe-Z%h(wq_@OJ7_V* z#5=K%m@Oz_gJImMUfu=E+P2N~fiHVwe^=Uo?>73lsRaiIaKe<)YB=J_e6VaJ(LRLq z>mX{A2Y7%1^9WLdGZnKhGq={dXI%$4*6c&(x&xvoyjoBY|QvM4*J_1g6TrAiy< zXE>aX2-NQJp{TqwVCXQ|E9~^_3y|T%5hd*}=kA)3eQDwtKzQh%&QjCu()y z)$VtBm}K92ya${q(d#zd;@hb%X|U7s7^r?%7pRPvHk1GQknO&FoU|T+f)r z*XeYPWdGX$Bl|^5 z?mP7KvxxA$UzRPPn2mjTv*QoX*q76{HE5B8RTHz!3U4}@LnO5~4Ie-7e@Z!vs5qEy zZQ~l;-Q5}sG_H-iYjAgh1b4RpAvnQFXe_}&&k?LS&NRVEduDPsyNSXM zy*h(_)^x@`@f)StbWou-eXeF(YGAG0I}jUH9VHmKZs02ndy;S-RGpm{e(L+h#@q7O zApXx0rG)1_Ow06hL&j2zJG8%)x7#MWr#PSh4J5wtbIOF+>T(Mf%a=6m#pWXp%>IMqL>53Ga3FP6zBBkw&!o~!7jM8geSp?03Xd!0l+ zXmG-N$5|DfOGu=Z5%tBXa625i@8LoE*q(EyPj z`4Tnm4(_(l0*0tDTw0yWFh6a&Boak-o(f492OW$tP?F$$UA}tr#JQ7j)hvrPUfmy$ zZKYad5zA-llK!D-Mzv3usFgk-a+Pw#;qI43QeqIE1bac_Z;&L8mf&b3qZdm9uUJPiirF2T>;x2R@gZC#o^;jpw`D zB2FoA8~O^PfNxgujoiQKE*Hg*WiCdm5dt_`^D2tmLP-U?qM04M%rw|dQJHEjzY-PR zBGz{Ms9F@xhyhloNV7<(5;V>H(mP)RE=&)8#nL4)d+OnL0?f*m?@|V$gDj zx9b4(t~i0|cxT4xN`{`B{FXn~BwCnFX}Dtct4M9M>Z$tWhLkqL&vm#h!Hv2g!={mA zvX#UD&6>|Z+~y@)XFp?`!`VU$I6FleCOr0T;F~WnSYMrCL&yPyn*RmjE|Pvz0$QsIjKErTdvJ4iE$4 zxQ2{$nRVLmFZW1b2C8^0_UvWuYOV9U+7qxe>C4yjw*2f>vK!rFX_9x zK`}wg-_WAr3A@vm_S3MJ9gZ8WYKW^x{-M06M5+Nd_zG)kByDROVd>zb;PCkr-4~s&{dAqeJDVasolVsa zGy$!YRL1ivGn;NE9i8f)e7mQgING9*fIIt=&!g`kWM@!M_qKJbX&U3S^3Y~ox12Oej{uS22R@>Cnf|cJdgDWI#C~Z@6)Ij zWevRHprifr(DS| z8QPnQJ}Qo|MP{w-C3;~JIqcLei|p7ZhWl|f(7|-Y4s4?YG!#k~mUJjf!aK%%iRXHd zEO*R`M_p2qrssWe`CiQ_0TlaDKTOPFY3%%~u-~8$BigAVI$?U=%WfQ$C&eunBdOQ= z>L#5b3E~VZT)>of@bu3N$eijMC4=HvZHJpe(oBE%^oA~&cYrYKLWEsC09VzuDW;tR{QOi*S(UrTn#^fJ+PBQEni!QATvM1CZNSz>J}$q!^K<7=JPRis=u1nfU{ z#4gB#eNPSoX>zDF;T(gJX!keKsiNklrM7zgNF~{(!=-Y*TNBxOtV?JB4g3j0NXcor zL7CxSEhSLe%=)(7NB>H4zj?X=(Yc3<;Aw~(8|3nlHAOW$q?fvtkK^m)wQL4Utzdk5 z6!(g`@UimEZJXh-l)PtjdVNo}vLUvq7Meqajc%`$j#sk5iKT-&q@7I6SjWmm@=OG)xo1l_rMB|DBb7u>)43~Qfkf`;U9^4-y?b+55U zQjUsL35Ed-^+=C;v5%F|I7GfJmDM%(_Y&v+a(l)svr~!aBifjqGNZ8JM*qdrl5)m9 zvhs2N@nc>q^RIsz;pWLgl{XH93~o257}7+zf6YdUY~$0zaPgL)xf7r(-$`?nlO3VY zdt}>HfmM&h=A#Nwet;MC9VuBb&3WQE#fv+Yu1!_DKt?5p{s1>rVlzb*U}x z59`wV+S)`v-y2+7^Nx9+HGYYUU3Z&{Cn=KYvE$6+d_y!r=ub%IOwo1sj2-sc5AHamUnmE`HwjwEaM~E>6snK0+~kKwZ|c7v;WozRGwP z`0k2)Pl?j!&O3B`;gM}e&{R-J={!c=nK#tOg=qC7MXr_mRhM0`KQ0Sp6$7zySAg*d zBaE}I3Cj>n}XW%Av`15V1|>gd2!hYkyYhV`^ztY39CpGl?G zo+xX`ZqQ>c4n(8t`(KREN1@kw5i-}V*hk5UW?Kzcp8T^(9cM@9i8C8)#9)CDW83Z^ z?1J@WLxOoMCsh0wc8GuOiiOtFHXfk9Y@bDn?Hfc8FPO#3U^!8^JJNMx|H$QnYGlGQ zVtPNzqWNby^CqOX9cSjnig^Vxl_bj6GTNV!k6si5gw$MNEDE`%|~iqEVcsS?vk|QY&KEa@)6lAj9b{H{f2+`!U_>9Jk0D}jtG&^Y(dAM zCM(DCJDIH}OtEIx?5W0VZh6pabS_HLD2tnvYM7&@?6)rwS*Cu#0>+jkC1Ex`S@CMbN{W))R(UTQz(r4z8X&_qrpq|rs|(bzy*0)(Q4GTE z$Y?iPTsfy}vRyT4;uq9*r7yW#t<-0f?iZ{)T_ZNcb2idjjAl7oSv*;84)_-Uw$pcc zq+ySC&M6`Rgan`cw4qhKXwDtwoek2zq5~gS15T7R1$h9Q-dAZYt^tK9JWZ_A@uGE( zMG{yvdP=1~tkaat^oaK5xmRv~PF;$o?hHtK#BJ#fu*>e*I*LC20`8)i8yn~)nY~3V zX#Kj}ywv!iw-%+KpQmYnT#7I7rMJqfLipj5e6T6U-~}Zl>0oC-3Ri$hXesy&#X>yW zHc{Cxm!kDE?~uMcT`*1aH`1}N1#=k>bzN3<`|2zQYi`mJ2zkaQ#53%gNmkQ4l7WK+ z2I--p$6vO62Ehid0kbIJH=u`MR7N8gmr_fu$z)-Q`7EW_ruxC%2n8L=rk;$MW@fRU zfoIaQK$AR1IOlt?cVvZJW?T~M-6u?I8dTVLYz?}QjC_``SPYxwcLIJ|*p!am81}QP zcOc3my|hM7iHNx3&sBvy2J*fntl!Bn2<_*pYgef|sd5e0Vb78*K83HR_>#rDyh8PV zXyBu%?`5sJsC3rN`h}6idW*$cXWuxXhqO|c?umW`80VhM-kQ=U ze`0eXEivIt7q@1z%$HK4`LrA}9*>v0;ppG4sG4Ei49f62r5OFzjasK!8OfeX;cKga zSo{TxKq?E}Xm~e+H3CNER|dUQf!PZgFH3_5U$&R!p=wY}bNv0WJ)weB7nOWuL0xrl zk~qZ5VF$&Eq>0e?)rz4!VOr<%;gWy0GRHyNKvHM!yl}A_LnQR-UUN;MLiDB@qQf2lf%Z1ZJ~f3ZgiXpYehtUBK6*U z3^cV&1a|d5wST$<8}cyFd@Z#_yS}|645X>ljWA`3)wN;YCL#QYJ=FmBAkW&zVp6TS%;RuNDrS;|RpEh%m%NaWu7m z_SSp9^nQP^9D?ak?&1}|C=8GSdW1Y%1B{n+(yjM18ZK1xT#*lqjF(z z!CkVpl@J+jTpd_AI!gI6PXBkALR15;w3&W-)Jlp{A?%qHptfWRzEtjHR2AOfJ7a({ zA5q__m$x1>+zoXuY54|Tf+LK~`WAJJZ?KHkAq+h`6lqZtL{n2F9_fZiKbeBu|2!J? z#}i))d4NJWgvCj;=l((Fjy4YZVBCjFERr74OqJ1!G$)q;uvw6Y{UF0nW<1)9NMe(F znZ_bT39H70+$TbvU<(JC)WFIF$j9Vpai=Xg74m}W>a@d-5@d79M{xQVqX z9P&0qB}6jh?%osg9`ik>Inf^?eWF4}X2xv#_wvRHZAvj}%(8azHA#mkO(;!NP)jHe zbeegBnUeWd*+oS&>zQSb!GNVj@i=LL$(g}f(wXjv^oVEfu0neBVnkttJM#mREB$Y+ zG^Kj^vriq#&k_%zS9rw6#6ra8#6HB2#8T`I?6kT*+G17aV)dpR=robnzxRO53dhB<~ys&s+TJ7 zRJKNBdaQ~{Gp%EHD41Bwg@<&8ELa&?ebry{SaZ(+L;!3-Gsh_#TKlev=hWEfK|(cL zHN5e+<4lIshEj$shDzW{a29xa`EVs>rSQA(_acX<>8S~iPa8DBz$e@%JlrtcWNK9E zaq4p*iKwJ6uWuN%Y!7-chm4>YltBG&yXYE1!N1+E2uS~ABm~m`Q6&D4cQkOdE^|_| zPlh;F3!5?#l*$bL?X@!$7cOf!6nn45oWzS-s*mN)t*a7(RnnVEMaCP76pB~U7kfDY zV3Z{tT6Q=K@jciS4Di6VLY$tVFJ{kilAq}#nEGsvW89DBLGm|uxD$$hdr={pLM=tC zwF4UGECv|{>q|uE-d2gqg&9dC+lT60QUmKmRizA`qjFyj`njNw7WgPtd)J*+7QW(L zCcbOSG1z#a=Dl&TtnGk{o{tLDm=($fXOzpmK(WFAiY=z(ds6kFx7!!OAmWf;-+b$R z&t@$FKFK1|@|cQlumySQFB5HyE!0AyZpUU5K%0(O*PsCoOot(R9#m@BH5Lqus3nZE zF3tI+70H(STw$~Spo=RQV5+C$^2Ts$la=Xr&FK9mpnrhU9nt+;YYm4D<#ke4?MYi= z3N`RnGVz(t6ZoK}af@~(oOgP`6%1Z8GOEur?7I|i1!e)}*q&nr?- z81DHM?KupQ?uvj8hFNk&Q36AKcSZ6JhO>1=vjszzz9N!_VRv6qb;HoZ(@Ml_H&2}N z00H~g9zVtH+p>Pc-T5CQseXC|dmI^hoWAw=d%H2(&jX4xOHHAgC=zt-Em)POr1NOU zrlkx_jQmXg@9Dm$ADvd};vzC0uYERA^L<&?++wojbs1TwT*D04HP(OO@6pY5P>^J2 zv87f+_0s&mqH3pZ!vfdMe_^innzK{&zu?koS`GQ?=Th_^fT}MoQ!UGv4uymMgF3vO zQ*dZex20p-wr$(CZQD*xtP|U|lM~yvZQD-gzg^vRtGfEJdq3}oS#wv-+G~!nzA>?0 ze30@pJipV!&K@h6pRJp6gH=>(d!3P!B79KPVRo^sPJ7Kw$dW13;v#=WKTz9zOZMvY z8u9qU^sW3XGM;Bo@O==B6PrHW--XFXic*GWsYblv=BaQYG*SqG5JK#UsV(S1P#>x1N^^G z*8l(~8pd(}|LxKGe}KBScQCc1bvCqfrdL$~1pwS9_0jpi7hv%Jw1EG~-u^$zfcURI z{18NDn#uqGM0x-Kc>aGVL;klf%D-))6|%Q6p>;Pk`cHLqruHuXyS^b`NDmd!W{0IM zubam!m(s?BYZo-36uEXuqsGwia6llCK>$QeAfN_%A_EZ+5eGpXggHk9#CXF;w*?}m zvH+m{;XLB#pcoD+EKvs>6%eO~T;&%xWQ3iMotN*MkD(1$`>o;%xoobF@~Y0iaXmA{ z!ALQ`?Cc?myMkUvAkq#E)gQr9PA8wDR26rUb$|b&!KkB9Kuzya`)}ujKPF(9@+E!3 z!lM`z=EBwSi*aWrP?muYDoilfGlB1t3Sl$JiAo&fyL!i{+t1D3sRrthj=ix061jZB z;G0cmF9u~z`x7hA-6il-1Ux#%=3T&HAc5E=eDy#zAN^0Kj>;pG9&L`}TCLkKBe4f| z*$1rjjoY#iKO~zoxeN!#<&yQi&JJH>y+)r?#%43U%MkIAjtK1X>HLDni6*VrGNZvI z5eFkI**iZGfWG2hLt2>s)B{4I!wbx)P9{wxQXN@OG9@*p&>CA}l&PKykcg)?i z&f6lRor1TYyj(1!eW(i)^*-Y3K0SJTgTJhm*0sTgi<>=l1NB*4L&BD*@ZZq*K?ENP zZR)oH6QC}GLpq~=$NuaZvhDa=IN?9{dcrlKl6N`iMK(*KDOfirSe?P&h&PahgI63# z%UHGe>00z-lC1@oS_BZeOdfIor`v+-7M!?3_6N_-Kf8Q)8C`Vt?JYs^}29?D(m@7R0N+j+LOw)#z1w%S{4jkW<&T0Qo> zo}asS?6EhT-5;-&Bkp*yc>dq7?+5PqxvrfT<{w?OMp4@vKXd*nL=h_#rNXZX;0U_~ zCJY&qXq8hrhjH0sbncPlthBtu%$35;E2#%FQxo*38mr}Htwk&fYIrcNHDy)pRGY=t zE!VtWYA+RSSal!k-78Da7yNm4yLo+2!l8Qnm!YA1#A0mQ9Oor-#-m#k>YE?8>!mqs zb&d;-GrT{gwAw$P`_NJ*8`AYx+HozdLHX z@hg*u>7j#?y|=~V1LGU5=T&Tbysr=PT))p)_0b$(eZQ|-`tGloN&aW~hR1Hwms*{t z-E(j}U12=WdwBWFt)FEXAvhX?TtFKG3;={z^tbdf2Jxe&gwMZOgyAQ9aWv#2 zghNo0*QG94i+PLNTsnl`IpvWmi?hBQmDYIIUztLQ(#p~(T9;p8MzmClt^0mYuq&@& zA5tjY9!eGJ<#>y`$`xU$6he&M=MNufEIt``+qW)J9RSyFLh*hvdb>N2V&#E67=SAF;?e8n zc3W0@Aui|B4}BSx0s!uG!F@dT>ayp1)=;Y7@fNY)ys@`pPm4#LxTQE8!Oz11<{wK3l*%=i7}|Oy{~1V*cOD{ zVsab6Rlj3XlC8A1vgpBuV~VNM_j!E>`>eLVjSboUux853`^F0JarG5OS^i!+uqs%T z&R6I>NNT!EziZwcf?5R9*)0{(cCCAtM5+?oRSCqjK$eFo!j9o`)o3T9VTHu1JG|7nrU7mHKK_m#gwE{AqO>b zb3==_R212FiY{nv= z8LFSkGLjswwQX#xz6}Wa8oyi#>3NL~;{~=aZfM!f#JsyP8SY68nX$P*@Mprlc(Vc@ zA*R7$0)kx=Jv05GTsq^xNA0Ha525EA47+vsfZ=18k#E3{=~PJW32p~QFSGBh2mH8* zS^mmv2B9d$!@ZT<+Wr=|ru1aKCDVQQW)C|vJ}2RU^MB~(O0VfV__7BO$68l|=prSr z>h)2Q!6TBA5|D%wWg0>&Ccuy#6Ui%S1uRPmNI;L2P>SjYFH8WvAO&Dkm0CrTfEDu@ zMjJW_Z?#lRnwbp2{M)ul6cw2Q)T*QtBSA=zIk1XEIn;ol{s&QA&uvmFdul3r7`IQV&tCXRiJWeOV|7H4`3B{g`5mqi8C_iGXB`*{ zk}L7?$1b@NL9>Xm!9P*X*9eZGl(f0)0~=99;w&?i`URN!5US#6I8BxW14j{@fT997 zQZ6D(hvZ7#BPNL9Tm|umMBSBtW(JO_l&nDGkb`LQFn+j6MsRxa^I2 zu0u4SSE6Z{Rs>o&AanrHFnT%N3LVOP15tDTm?RltGOuE6-m}{i{YX1sHn)5d4lkEF z69oOofsokK%v4oq9NyP2a`Nu)@7$;i`Yde^KgI;v_FtI)`}>EyCaF}^lPx(Z(Cq{e z4mJ4{Nk(Mdguv=sa7r0uADRFFD55|-+%Z~lkTB&fUOX|kj(0g#+ zB|+con?n%>7%sEvt5YI^WtG!n{IU7$ZE-)ar6DPR1gWMnh6;-dRWYigm33aSDqjS% zf<9mX0Xw{)g6I{?+R+)H{1Gt2`3e7Kt@{KvH@|jUjG5j>`txX)F#@e(>Wtslj`^bh zoL**EX+J*#WGN&{{l!8{K;I(>ngmR=1N}^_dNJoiDrVm?NtVj;Ga0(-D45 zwtVhtTD&P%_Fp`Iy}0O$)uFk-#93l=%1NB`S@Ud+9r4Ee*+T<|>hh~$S9??@{LMxH zmAI!zE|puTl>o`Z?hwh9Xjmf^Ngt4t*XNtg7czWy$4_6_4d=%#S4~#N=?DF#VvxC? zQl;LS(8~aO#{hfg{tn5Vy%q+x?aP!xq_Ud>n169&0rSe&=DcNY#P8)~#&!`~ zzF}6}LibAOnDVGoBb+F&lx|@;#E3&fe4{J@84lynfPUNvh=3w70VP0;N+QPQ^QwDK zl5X=_os5jdH#d(BpZSO8cifm#?yX7K1Gc)iFniIm#XxX5|KPkTBQcxs8UK)(t!(MS z%$e)~_jDhj0e~naCq)LyQF66V@C=Cp^ml>{XdFmGVmfmRhtOYuJaZ=r;d!CkwD?wa z?jF&KN!)sKqLBU_uf>M2S7I3?x=X@hzXHSlFkn#wD6F(vJr|K2K)8vWpb)yF7BW#B zb}?Z@FlMsTdmsqHc&cz2aEej!WiP3QcMMc@5`S%uz3PU=>9D1;SZtf=IR%_qsGRzZ z3cdn*CH(xxnavYFEqQtRdbhDdHvCs@(08U`Oaah5&Nu?5M!Ew@zp#4MEUI1rXMs%& z1ymq!d6LMmoqU?_OcnQFk~}C6KVCyIdFg`cjxtTaK)(K9xdwr*ex8u+io-Z9;fhs{<|q8 zR__ws(pMNLVU52!|2R)AZC4UjJQ`eMhyU<7aF{=VggCI4bz zXI{%9Pb7mS$JCEOjDo~q934djVu}XYFQLv$Q*awe7s?+VJq=I{9Al~%SGF==$oM}(Tptc%d06Zoa$t(WroE$N`_AK zQ-ELSg*W%klBua(Sk^$Elm>ld4}u|`b77+oO(}yt86s>707>SUK*a5HAN61spnx);My&x!#VP<_mUXB0$zJruE*Ru*7=pqsYj| zt88sN=%?bVema5ie?j!;hVS}*mr=JmQ@NWewX=p@DacXgXJ3`aeV62|>}#ce^o;WW zFv-_p(oGB|O22cp2eFYFcYI(IgDy)Lkr2QNz#w_I(RmlZe#n;r<`AP*!+vJhj=7hV zX?5fxCQ5{KW-{~{gjAJmFbe7W4Y))S^bw53Rtw6;5_;DN2zHEiRkyk*qR*BqW!2~Y z4CTkOVOkshI+*gWFz?yAy&+{;>sDSJpsdx#=fKXge79>3dPhK7)0S>Dcxsb0>-;OX1 z4J`9b8Khm_{;7Nl&N-94$DIGVAgGoA;5J0?(IrwPx1H)AF`I}zpMtGz>*yFJIjzJL zKIa%wdeab=S*o~q3!b#y?Q}r(G#G)usN6JQi)=oV(RNz68*pcQk#PR6N&5n(q&jU0^99nH>FWiu_4$1hyHZ_I8EhP{KRDs4x)$`_m@vE28VVvLuY1 z>tWq6w{Ch>wZfk-YMd#ywZ&uhi1M9%Q`V{WbxG?Q$2IA<%zOWr|L^(F0zdgqx5I4b zU+IHpAVao;FheBS{ea6>Okz8GCW)>|lilcCLgUV8#tC(!d5vw3SE9z_o1w(M0c?b6 zic|x9l6?|g!0A=+ux%%%gvT^lYc&WeHt}F!4Cg=L&<57Pnxs_exO=yvon|6D14-ndIG zv97*@&NYTCQWl?4d+=WI_wlQQN-6+rD8B`0q%#Ye0E9aqi5Y9n`szIw{!T^$+}G^8 zG7v;?5oy`xxjHnEPsC14Q;W+8loJ(5ixnq}%r^j}6ih(XMLXbWnqN9*56CrA7^A)i zGLy6fH9W4hz5Fb=?3~8EOMfj&s>k9ro4xG6PDZ&-edK00cb~1V+ih8i^D~s~l+ks0 z#dgJ|$E|ZP<=Y0j0G!I2&nNN-rYRszAV)xlBESqr{$n;5s1G$#T^9|@o99K4Hbqw{ zHv=-xCnHB^vgK3D*Hz`1O)1#WCh7u!>V{g=v~7TzUhLc#sG|-5vXDmz)dmaJQ3En8 z9)|>xJfjT$J{ewTE*OyWe=3Z~A3B?Wqw_;n@Fi!i{ z8NB~D2W90VIQGnn%1=oA(rS~Z%S|oAc-%SOz5MBB08aPnOn>X=`iJMO+3PU2DWF77 z4INK$rc!zdyOmK}Jep}kXld%jiP$e6-XB%j7@yzcJ;%C(=KC}mp7P|OEXVujes!T| z^PeQ|ZO$(&fJ33do5VMc&A-)RsWgS$6+WO{n)r()v#>vm#k-=IRm4q3^C6X)FTNP{O*rb(&a$_mNSs0P+I-TKb4j5G zVJan6{EGzO_9QG794tQVJu2k3D2S~IK@e~hFwd|#W$+8^aEB_PJ1$hl$>`#3H=)d2 z^TeYE^}(YK+(&@w0!wJ}%?^dH%gY!0oi>54I&Qa-$&iU0#1`>qnl+lt#+J>WWk;#u zn4NFut?>L6K$H_ee-4-n<`5m>0=i+`eWrh!7Heh>kQ7N?s|Yr;D=H>^l6116Y@>=s z!e=x@X{Nez0H08xykH_ky@dL8QYoK$O!mmtT%U7uCGWC9dYiJPwcKbQrS0Ore?DHN zy#^-O^(jsZzTdOYG4u3J#ZwvD0U6LvfTI5b992pzhVwEH5oVcK%*pm5A_L4H8bE;t zDw%Bo*E0e#DOiWc!h4#A&GZCy3zN@&EZ&`8A*ar5ou8TyU7c^8=Pr#ba#QB#E)+&L z?|nK=KKoRMT2`5gu%aN%xdfk*8Ie~-$mQ8hsOTe)p5;AQN!8RmT58d9AL9DhUPyXr zC3B)T)pXZXOl(MW>gt8K$rfo@zZhkT#s9M$WSi2;9DcS9Y_DdwXshbO^~qhnp_nzc zvGKINu-4LMxG@5p^yad#o}?Rep_EMkd0R=(id6c8oT>t5Jp*LCXk(7p5>NRB$F3}$ zHEUtEsWObMJdi;KwC+9_Q$pa*k#H%JK93}(h-pXB$;O)@V>v1=V+cloxd-e5c^kqf zW&izoJ9Y8nb34NB7GtT@bKte}bD?`Kea^gD>O#|HKe#4%9;=_jbyIMZWX+m-JZI{N z5sAFI`LtLbELeyXi6In%mp=*}kv^d4D2RhGngSqSgoA!Ub7v1;eOOb1dd^*48@Zvq zv)i6qd35}*W_G=>G_B^^n%#UdP=rMn9iH({^fjSobfG!Iir0HZOiDtfpHB-2QLfa8 z$f5!3j0kbMKvE-N5+mbJg#0Zd_{j{V26vg65ODS9bETxKwN6w@6!EmJ9r1a35{O(x zP#!Eb<-(q!Om7es+mu{y07CspvGu8whBmJg>Qj1v5LVp|^r>%?;1P$MZY`Z2kOM|b z@^^>pcgVozpkg)u#YG8u6KR5x@7C>mdwwKJn0S&o#za&ATc}%r7y>+6OKz=g)Qh&z zPi)j?t^Y(E%Dfle-XOx`)>QW?Q}dt+@faB2nb9@)l*?K81pG2UJM%1J{Y&DF?&MFL zij_J}2XW_ z!(c~ymbQgN0p8Q{a&c8u?QE5H+iIIuz8>%LCKrSS{d{O`y6>3pTsKN7+*o)nC1htk zmxlUm_u(HUu@9t~RSl-~)Nqt#^megu#S{s{K@RZ@aq_voTl>y-HPzi6Ew8C*^-~+y zCF+jWnNyW^jV|29K=CEeM?0?xdGoWE$HiL5Z33G)TUgfj3S%EaOp4+$p}2>PIHh(C z_9=B8&F>|2@|k}* zN5$#NC2}TTX{B~14pKm8ZYUA!WnejFw3v*WU_JuC>EMDXIdMQZGVR6$69QIHmwwpx z^-Q8jYOR=t;6^n@P}F#DOb`V_IA;f_d9O~vF>2m1WbYz;X1EU}Uqd*l2#)c1_Fouhf zVD5Se)`7jDuSB?c9MG$6mDnq1cs3qyeJhuvky`ve&-Q~1S>FU}I-d~qncU_@Y_Fn$ z(uaUMD+4A;=6uXL0L!@RJ1hwriw?OJ&CW0s5@JM{4EIc!MyMBVwgiu%CuHWmtm5>M zXr@`{D=x~~N?y}+$@LpAibgjqluB|vUFR{#t<4pvi$RNVl&_RoEXAEVxD;Y*_G7&c zyDrFOXgeI2w%p+hLha3PGuBvM?$$#U--L5K?5p2H-fivAtIMmf6Ia7;?AwJ6}7<1_$02L)o z@PwN3&a|?o`=LSv190u38OO`d-@b)p4&do~wMICI$;*ip!TXiwE!pw_lyzAfs&CtY}?bl;y zSM2FcQD3d_SPY}icJ2r*2cOAoJD8z1<`6eZ<0%RwLj6$ZJSwwLU6SsAKTUv#)RhWJ zrG^=ol&LgJi?Rb&3GaceU;XWXH?B53ee$!HCsn!wbQbJUC2b@$9uD07gigRz4E0l4i#;?PNzAKG3x*A7f zepH12f#PkGMT8y}WOvB_Bn?^7#Mr7u(Y8V8tsYCt{?X>m`M$HiR0}oM_7c-#k}Cl$ zWdB5>sd7L$uM22dSM9G>(nQ1% zNSvcmO}>-{>uo?*NVsnU;%2?&)A~-mM=7UxBhGkM|$n{rb+uLt|bg;ul z_KQo0lp&&IXLJnylJ8OKm^EyouFi9{0_82{E4EW@apHHfZ~h)#(~i<=Z0lbxyn91a zDUl91?%KM51mwzF<3kJU#D2#CWL;1is~N%x zeMtlbs~5V9IJ8xA3_0NomEmyKJa>+MX)=9(7T!NugIjEx!Ug>|ww@ZH?vu=_Xam2f zRKBvdduDhn1{*g0^!iPXiqcdKQ;U=5R-gq#ycSYaB5L_%+ zXzj4a^#9WB=xK=M|>wV zq$gRi6aMv>VOLl;q>Uu`Fs_3o76p3J(9DcF%!8nL(8E4*Ne$(|RXA3^aUwHaw>zlB zB_I!dY)SS(;H=+5AqK08vP_DUGufnf6b93dGm-U!+K>t*>=U{eq!Kw8%*^&$a<0#q z!oZAnO&_791<3VU4%Ut9a^=BWzxAW|&b#~LGc2|p3!JC%@J!v}HGVA0PS*{+I*QLe zVY~&#&;K*i{-4)!%vp=^!#?N%HfTQJa68^GR-#TXdBYfO`|ozMzC?mnk+{^GD4ND@ zNMi2o!W3ARjR}-GeMmE}J*2rxf@wWb6w)?F3QGdojf9^vxE_U6S&e4$CT{|!A&L_x zE2I5@ouq{sAA5Phsq!fW{u%%0y|)|lT46`~I68yRcycl#>riP$r_n9(J?0(%iTkOx z63r=pHPPSidCmMrH}-XT)h*#iB@GtI&VB3JP`HuekOCeCaw;hVhiei3~U_fMV| zU);nY{b>|~a@dst(mx`bxuT>1LIUZAVX!FxIRuk*ZE!V>aKVK%8gApxt@wlxBbZ+0 zCPDBiiam=v@ccaTq}a=~nM+?BQ-rE{fz{WgKKRm1UY1u|^^L*UXJ0vLGua$&)vRqE zLo#(CLq9b>>yx&%S8_%h^t3q)6n62SA0zjAmA zJJp4LWZ1A4{|G|=umwe8T3Jt4rx=M`{29VrZo-`EGjklDjIm5Y_118_IMxA&1pVXw zkw&0)WcCbnZcL;>EX)1D%i0V!2!4ZwkIilIf%GK)RNI8TH9m#KY=)&SAb76g&+{~@ z3-3zByH*b{IQ@?qoo>;D)~_ZB_LV_s0Q^|2w~QzRq!6c+@+2V!i!R#Apw$*$EKxW7 zag0eqpN{OUL*d=X!dP4V7?LkCIw_hc|ov@r_>ChSJDjMMhXd4Yd35D9wAckx1 zX*O|AXb5$&laP0fG{a68t+$slTB`gHIG1G%V{znM(e<>3Swc%52xEhcnok}`9)K)S zwsb(;Q9>{=dmt0<2d1>$c&MjPy;9)2EyoqMrGC%VrS zkCZ5jc;o^&z#T3$kgwGT%cjryLaz~d*T+!9L#}Ev2wP9HaqN5K`*%x^!og=bw!2*B zZ}@lmLYNM}&1}ik#>h_M5f)}ecQ=FoLsjZdLI}Ck`xXZGXjIz}t32=b@lNiW@=Q1J zxmOD8A$W8akLTfrgmge2M5f_a``pLiA%-@EoZu$bmoxWlCsI8oE9;tU8c5#iQF!0r zCtvh5sp3>)@QWREQTll9@OYm(7GArQ062n|^VR4};*ZdW+abYhU9w=i~F zEGCo0zbR2sc)pM8e@=M&%O0@P;M=P;UF(}|NJ4bLmAD1HVGQzuuiAi5AB?U%X9Gbi zgEZ-~1e>tMqlubM91h06d85#t^8$uH8j5CIfoqD7ZhE-fDP#?O--$d|6$~fd`cHFM zgn6H7;eK*8eUz6(uaw>XfZF7fm5Zqjdq?!s=jDBEbH! z^H$WT>uVFWX<0APx|C(iwP#&t7TGPX7l-BR=9pMrkxlwBOnKo8*}%Ogjz==KGB9ajip$ggqbIGa$Nmm zUwi@IVK8p@vbcqHCWkImgKaf5-l}7dAp)At?fDK_7S^!a3QJ4VfQ}}ATsi5Vw=+Qm zN16>jf|GT#Xlv;eh{J4s{G;JWFzX7Al^E>s;a94&JU82{Y2R6mhsAb2tvTD)C(Or_ z_jD=$@$cUs9xK|%5wZE%l%dZZr>q6$Qg^TZ0>c#_X0R=WgNBO|1*E&Y$KsBE@p~6` zSJH*}Sc1?;x!<1UUOKixfoih4t-C3d(C9LIAdTctV5iwox+FUo}tmJ<&%w(E~H zT9VTgFeb^=N)#judige_`=s(N9#WE_Bg(O1F54hEV_Yc}fdosO zv@r-7GQ~Cy9s6$-cPwN`6WtOnZ4>c$tNCrx4>Jy&mPt?hPn5Val~k1uuf+H6_W`!2 z%W>70;xgTk%hkjty~JO=fFUK_=DN#5T&SF3n)5)9ft|@8Hh%7pq0{arvAHOI+R$Go znFMB5>^3p5@ZJPn=sHj<#Kg;WSlt52yWom6Of_h#R*@3R&-32H(soQ{iqdZT#$@}n z&L58IcGKf5%KgU>altaj`RSn0ns-<3ud)x?ps+wK^Q}(HwUW-&L`a|eJ3tr#U$~6 z=ohL(JTnh%MVw0Zwpt%6B#9}w+jJ@M(2oD=?Lj3~yI`vytoVC>JPqf=Kk54o3`nE7 zaQa&HE&Hwbvv?@qB_T$gsNd=0`ri^|aHnzxK! zg@`IH>?BZo&BtLM(Ht8%G26G`tZv?d{fdV*7i<>8RkHN_BQyFudxzzt}Fg&b*7u}z72Ujl8xz(keTUb42Ev? z!I`_^>wnjM!ACGKS zZl#A_bnH=W>61AOQCF@x-@%;f;lg9zC-&x@gljj-K=Ljq6M2&2&@!sE9Z=Xe_&rMHYwqj`d6&nq|2!Z5C_$Hnk)s+-mcJ z(jaSwg$d=0KJ2tg`pU)w#~9nH?hu74o@*^%xm`KZwqInXt7+KGA35|Tr8D+<6KCbn zFGMm^4C>aaI{#Yi9eeC|p#HqZ_XQ(Bvo3_3YjN!#7`p_&L)fb2eqEESBtKNj&zCIA zYro8io*RY23pgXZ1e?MK;)QF zzSx`TVHob)Dmf%&53E&)&0`$BwVqqx?B-4#n%kp3BsSr)9I@v5pC^gVyW&-fumFFR zrd6Y3#5|<5`lKnQz5+Y55QkF0E(XxT^hw$5h({pJVs2$-9dQXNEI!4fJSP%KGc0Ei zOgJUjrc?t242x7dO{P}m28t@pSnP7~lg~@;>veB49saWkd+W^UOI@LtEW0xHdAwM5 z|LK>rYQHAxk@MKJ#aOSGy`QDd7`Lwc_`hLz3c#CSW7C&v?PcL_4h;%L=l z26E~Efe9!k%_VT1c+4U7zKHcfWSjNjFJ zp@bq&2k%>4AJFB^XKgEB^g7F(Mc+#&!%khb#iA*OEu+g>x=m&B_TLYYYYU5A$N9qY zE3t|%Q)#OCBXN$PLTUD3-3UZ94&=d~2HFjCc8inIDFjYHvdPQY(gIdT9G2!-ga_}@ zHRuGTwyke>7icfqJk9$t<9G6ln`}m7rxj*3yBFnp_NuP07v*Q3>bg@lbk0kvkHWp$ zIVACX!FSJTS4K|x0qshYRUwymcg%Sqf%Om%Li>~FtsHF8Ml>*gT#2ey4R{W*ea2`v^OPn1^ggvI8_yngnJFdzz1Fss^5kYT&@2 zU~<;ai6qPqP(iO@xYA1v)I$a=tgxjVORyd>V9ARtn$Tioh?w$QXOo$@q-3df-Aq;m zNx$o=wmKXv7RDuN_oY4f!pxL>SnKbsn~PL7S}jaf?6%r63Fbz2Ueog@UA1dxenAmx2`qSnFzoP_Vl6Cor;AZnEa4p`+`+mW{E*7;q5>ZAxCgbbwC5`pve+YiOk`9 zjI(g}Sg(oS^(O*Z5_CXL(yt-HdWP9#(PIB)cba!eUaEPq+A84adY z{^aLT^%OWKmu7=8J?x1RlgneZSxoImMjnTuZL#=0&mJ#DQBmXPa#`FyrUPG;K<9*^ ztE$lI{quNj(#FbEXAcvCR%hSgaO{`;0F%j8W4Bm`VGBc=+=I$vr!)aH6x(j?Avun_ z8Vt>cVhlqYgm@f2GIKSeIG#U;5iI%Mh|Sx!ALtD+STu|67-SS*wi}@C7zj3rOb4@h zZao>Q_SQ>Cr^9pl*z$O#auC~#vtXxEB$lv`+If9D$z7W9e>+NDVF{C|FIB;d{p8 zdpr%!-`;K)j$Z*A;_>ur`sI?;tzH6{Nl{)Scn!tDGM=QNDdd4(F&G0_v1*C9c^hS{ zTxWT`tFAm=>{Pbn`+7LE=mDQsbikrzdOww4ZC|zX@qRp>Z!~)E=rKIV+L9M<3q&Od z1eOt0vQBUrm9xqjGqcVpmJL#^=FL_WeaBpm*Ungz9xTB9o#xWe@u`v!E+7IYq8B?h zlJiDY+9FzO+oCdge;60C@lEahq&zY#F8oYjT#~+@Xp#UXrAMTWsBgtF19ecPD@A}h zHj>h(3*GgiQ>x=I44q@|5*6?IJEG@0pbuY;z3pK@JhfRDZ^qN8_~kSp_Ec#eO(Voks3y-h# zC=;X=zZG{MFpU$xO@5*;Rx-nI4L97>!h8*o_a!$_Brr~D$siHy#m_*? z1vrskFzTGJ-rNSMrY08DLV7@R$DC4l{+1A1A$SHTF0XD$YiSf`yGvqRPXMJNO(Ghv zuF~$B`YKS%)j#LV9qK1I3_d$ne~WXKM240RC;Qt!q*l3>x)mpK zV>7t()apzFX%}M@hS>xFuubtyNU`K-486)xMD?e4gJ8SDh;mSkEHv>e(PgNM#sy$q zWu=X=<+O{=Hk{c{kU2j6ZwqICJkP~k4|v+?9V$sv{?B4*vsWex)DA`+BL2NKrVDo~eD;`wP}!-LI~j__RY;vK;m%ey#nlxRfhs zxsra?c`rjR`Lut6xnG^*% zkXDQ&kHzN}z2Oi|r;Ki8IbadAZ`HPA8P;uTEnPlhC4{W zm+q?F-0x&O-ZWOhNw34iGnDnXS)5KLNnx)>GA{!J-_yQdt{6o=H&^`-D-V(Cio+vU zrQ2z9{bYT-{kVK=EISbNhKrpStJ}uVqRS(3uTjJIthj7pV+Sw*UZusCs9D$ z#uB$SN1K}ev^hO5dPR0hrv=VDdy%jNNS-sZbO@e^lg}r+H-sHYBd&wFKJLUk6=^FG zCxK}yW|+O$-t-7;Afk(}*;3=ASo`jjXP^rn3Mx-Sfikh;e8Xnt~QaNVd;FRA8q$#1TDCg->w+w(f5&&sFvC zW*rjCyp45p{i&zWvQ|N7$b9Nt&e5aZw8Tj4rA2fU3;k;k*1nu~^#eHoKV|61W;Sez zTGxy@ywSLZYM^X)#}eCOj7ss>OAMpyJLk zK_bMMF<30n@sORQErS{|T?_1tj<@t>U%DDAv-P+vZ{I#Q4C)$*YjWLE9#P-noT%Ot zC$9SGzRP-aJ3Dopkme!g6@ta0o&gRKn2@wDBCXBcABt|^+RMJ7;}O!&bX2x0y%u=r zC&2fGyGI;vc3p=!OWqfEsBux2N>4Ip)3kLsln6QZJ*M&y1^C$eZN!-YIFgiTX|g+GwvJ9$WuvPrKYt%d z{0q>44tFHuG;=L6Jz*5wF2DImAQzA5%MO zEuFy(Klsy5Q)SOTTM}ILp9o+5%G~IuvdptLN3~rK_6t8-ZJzT* zQ;Uc{_W(+qRvREC{m3SrGyVH1HfCm)jrCJSHWtQ>46oV>y$zO}dZ!@r@+2UbEUA*B zJoz5^*&82cT; zz0=E0zqgxd8Q5P#raDkq1H37V1o%z(Yf1$A zbpId0cPf7kUIA%rMc5+z%B;|zDrNoxQS04%hD}xeKzv$0YrPG!J8MV?M1>L@CefE; z_i*#+B1qc1Tlv)VAwGl1uC=NmzxKyd@!HRXQSvpO^s@W3H9EFYq4cATLdUpv9vV}2Ol46n^g5CFFL+qpojP=6yXP%#qk-_R$BfF; zw){lBwI{Ei2p2aAX|%Hi9>+1gwB}!zKv#-oGi=R3}|%vf#p3d-z_vGdxyp(ilR zwffnE%HZyQzUiXh(EFE(ZpXV}#QT^RZ`7LEjQhgMo>Az_-6lS@8=ZtjT^MTrARt@CQh6TZFC8A!j8bYRQ6ud`(n>V8BLBy!Nu~ay%5zx?* z4cxy98-Xz8F_3Ys!o`&apfnva=)DqWN(Sv=av|xgdF;urbsbrPB$Gk9Rf$d<_Ik1o z&25%5)%MB=-ESsWeuK2P5u%Z2JUjm_yTZDXTXm6#g>vzJs1>|Jl}Ed4O``Np<%G`gxsRSGRxS2yr?^U4O6(+tc!aKO<6TH?I<~DZBqZN1`+XW)hqtZMO2M+F zFHtO4f5IVnNL-pPZD2dvUFQp?&FHIId1J*J`RT*o(pueKezC{Y?x!=ZESKhAZ7kV2 zJc`u?@;Rw$8gvpD#AZ8VUXA#9a?h3ij|7W_RHlXb72!`VN|h zEocPXmm~f?d_KLtGcn%(j-u9B{kyM}rL?4fWhXD^kzQQ)+SksTRbP4DFEH30_V4EO zmYr$aJbH&jY`$fnfiOK~=H071=?d@iofaOa6=7I%Xs(!C7Wdc684JdJc7=iH4Z!EW z70?G2fX}`xeo=3m8nN~LHq#$gt+zb?X3OjVGy`qn zXD7Qm$ct!q%-*n!L z2~AGlYWnT6J}-1s-yiA;&*LdA`e(lKr|W{OMhX8*>`RPSAe;7ux9%>T(!JW?cHT(S zu^M)HS?iQ&bA`!c$@<~tG5I`Rj=pFA;iLL0x8=VE{(rjAY-Qd2$A>C71bDJ0NstS9 z2rV2FB!LiR=!I4idN4r~)Hx1H97Q}XWULfq4!%O0ZD?n06O>&-Q%PIdS=Y8!@5{=% z<~oXW#pQDK?ECAy=0aJ21o{gMrn`A&m+Mr}SX)Mey2|Wx3qDKg7;iaf?Dx#HYvHb7$n`|N&wKA8&|<2^BVJeATLP0Fcz}ckH1Xm<~9d@ z@J7Nv1$fNE4~+_d(Y~yph0io*>>|wML^dhlvr5PRcyrSH*`O8FVi4rh1Z#zfFqRkO zL>osM6B$uM+we~22%E%Tiv7CJ3Z_$j1R~nSRV`+!vAtn@~k&v`>*bC~F4O zXcmT-u#4F)TUOo$VKLFP zrxMt6;Q09jO)@mAUSD?9jDPnzix0NUOXidFa2YeZ^MtR;CiOG;XZ5c8Vgpwb|f@%INwF$oCq5aORyjY=C~m_3zYGQ4cC!-tJX)1m2R z6%e|sQg+9)aRf^r?I}a23R8-aL_6Mp*d`43zLu+RyZ%ZPZHj`kB@%e!9NT}t%*MF^ zm@fAfJ6P)`7^}nqwc-W`;H}-+v;c8!3ep@|CoEsji zPhpOIaXk`w^C|2%`V98rZ0U{Hg?P%7cD}X?%r{-rm`5X!6OLrYDB@0?t6C`MPkI_t z-=RjV{&yHZR}$HrivLGi%V%E5-V)o$SN~Qk+YQ#f=*vFtz2DfY(n}?I3+JbQJ2+jq z@6lOfBblKe$eddtJp9dj#(gaSqDYrQT#83JaLAok?ERAA zK$k{*i~8GILCB#P7J?e2>j2-Nw^KZ#BNjT%FhH(XlnV&EezoPFsCR;|;$NyaX(;{a0c;eG0h)VoA(D20@!= zZBJk4hMbJ$ebz;%#digr!H<5;&PKa;Ipl7N$91@lzfF6!5I?Q}mXmj1#Bsd`dCUv@fjT*7z7(|7q8 z6i0tGY;$Veo;##7B9miM9McTa>|~4{-3uXL;6)oUWU<_(YkR1@P5b@swb%XFZKols z+v#hU-0W*7Z0YR!Mg=X5npJhPYFHd0&(4;=*`v>-O6r(fbL`dH+xl8J&SrJyc_qkb4R=C(9RH%pws zsBO?IVcjYk>!!|tq2i9dLbcJ^HW{$(7mCaPf8o1ceK$z-wRI%eMR@~GyM+xNyR2sf%RE?-s$nh zB?WK0Nectk1Fop2;q&`n4+dY@*CI}8(|>cUtBl$8Tsi4w|36dly;1K%UIjhDnjvo= zIVjTW1nMpP@MjG@i|tNc4Is9i)a48EgxFR5PkYC+QZD#q`VIs3Yn;SaD22zIhyRt? zn=bt88TL*8`=|0A^c~_$`f3NQL&tsvsq;IqNv4K~lt8;ZgGxdk65-#Rc$%X&;m%wa zbSz2vp0SnWyzQY9?ltt?N@BN)>QG}o9M_M7@M6fgJ_nTxQ&_(EyF>OvaQ_U6FeD~H z9kB?GtZRg&ah?Z~4MLibV#vBZ!lx3Orr@m*@huTYgk^eSZkX33+(jb}u|H2qdM}~g z$p7R^V9J!5W6-ZH<1pQhZYZe_2OENu`&`v|bLter!Z3{Y%{J&k#(&#+5irQOCcO!w zScNtyZbm(blp$>-jbSxsW=Y|lnYJ^7bJsq-2N;_1e+MyNzPxAM_F%`+V|@Mfe47d6DBICr`x)poaE2w#o(eX}I}rB3b3Dd4 z_m>Z>bBn<_)Cc^RA>z3tZAYl3esErgOF)bm<=rR~DyOJwQcAS@~G zhdS=&0O9E{o7lLhn1St){)xDXhO=BVJ7hnk^RNAkpmGF&B|3ysiU@b)orf|T0MFI` zbO+y%WOvBz?0=B`Qu+b?x%&bw44)_2CZ!m(TOf2pUXw7htZA82u&Q9kVSHh&W9hTz zu{)HZEK5D5JLR4srxBcjnNpkTuW?=NuEnkuw^7rcZ~OBS+`HMg{3EO6szh@ULcGSP zHJgfk?0tOm2>EVqPHx`XywJJqN#|+vXqLX8b-j7gH};*TEqjsO#A4bzc8htskzysA zo7hE4%W5mPX>GYz#-G&3FFbjk^I$R>H@!XGcyDi<#%nFN3Xglqy`7eu#LMy-WS*v&Gc6OtKcsGQ{T)d zXZ{p^8b6!A)=$t^_Y?l4Kb61q&&yXYC?{wss4mn8$})NkRfdj(zIa`6ud&zISKOaC zUano`bE;=FG;}@H^==0RLt}F9@@KjC+@M@9m#Q0sqRMg2<-!VO zMbm{FQGT?_k<-JJ!<@s#L)L$Ss(ZQ%HK(3a6H9AL<@0drFKCE>TmjcSLI$D+_Bt+y z;%cRh)W&L)e~S8Gf8mMqWcpygKgbxEJlI@lNdj{UGSnr@FUkcdOdGev_ZvGJXVT!$ zwMOz!J6x;@P#z>1NB&5O7Ed{W@66&Hr-xak-z+kBr#wHp1es=ee)PaY`_&neB>COd znSG+=G4?z!Sz`7<2JjdVQyvQfLP{flmu69Z zYO+y9FIrw6+?;ISoyWwA10VG6=pN(s=NmY;bp5?J*O7mbGv0E1DC3c{^UoCj>ASZ- z2+PmEb|+~VTe$Ewd7b@m?^Vd#SYu}9I`_egpA{n}RMGpuiU?aef0$c%T!sm~j|KWC zHk|&bVyi#4m^Sw5tPOI0GxdjCw1q!=a!4kUff_7B9C>^N%?MO?8m_A{c${Hw0)%#m zvS6qri6x^OCS#3eG0;S~n=c7COP20@_?_Uy4J2zJ66Ft1iohoz8?_)3QLZFtC5h@W z6%v`Qg!&?ELoN7)WEJ3(l|h_WvbBNBT2dcD`f`$A3IDm2E5Mkb3Bx(EFo4|}aEm*kcxg_1)u01S-3>^3GaY%T7X{o z3H=GfN22KkcoSAmp&v26AkOzVA9=Ne2?qG~gh~eJrE#x-FPRMA;i%4kH-p!H(ssZ( zdGcsUW=`B2f_Y@o0cpFEXvxV8z}ypx^Pa@V^v8F{%8!h!O319r(5*_?Bm9wv1x&7s zCYMEaNTgc^u)Q+7B#e(p8{%on{0k_LSf07pMR-|KOXI#Qxn}b+S)$w+r*hdUYOB>U z^xoE{vI_LVUYdpJhBU#Zrlww+b?Jh=Fc+rgy*2YwQoS{cQ`OH*KfQWdnsxr|J=;8n zi!;vVvG!QZ-bHGt*Tt!*UYaYK9cH&R7aoqWyZL;qTK)wvm!=Z*+{jJAZM4eg-zE7* zILioy&w&Std~fK~sAKnjQPp^Iw>WvF5~8uNB8WX}6h4afBm2E%R5?dc>!Bd%VU!=C z5a>#EZi1-AKRpxPGjc{c%VHfx5PN586^uj9W&XqT;na0S|AoQ*9|SG^b(S=r0|0zg^7;Iq*LmIi zyV!cO@cF!c9v(l}kImk5d3&GD{NF?TZwvU}$7lRMC;UG*`f&8|`Y`^V)%|Z9`oA6> z?cVqM_=EBIJZ}^9{!Cwocm7-*pSOR4`@gcihkCzx{NIDY;r%|h_I7`5JAS`L(Bb_) z4iC~l%j5O<24dkoi2a@c;GJ)Oj@}=717q(u&S#s`^LHKr_~VHE9pc@8KAimC-VVMH z*7~>keL45{h7K0&^=9Y%YxBNd9-qkP@@Iz7)92{)d2;CS;q!m}-l+W^qc7Oy^?N#a zwtxS<{o#q;|M&0${nHa83?GKy^J8S`{epUX5*$9huJ5@R`(Y23-}mP$dg$c-=#0M4 zC$8LR^yeP_=knb?kJsN4f7@@a{^!=bBV2f>1Mfu}|6o>p&OcU= zw}Y(;pSREFF{vJFbZIPq=kq=NAB5!Leq*ZN!*9UlCcod~!|L_^!SR*5CTnWOEW!OQ zkH^P_^XqhD>HXw(Y6`u3O5fjYF1~RWd-*u#(|MqKEdBe2j;rPac;;#;oj#xM)97{N z;8p)t-<||?&%TL%VW9XdUXW<0_ki~9E1CaiXWh@^?&i*qqwnvIzsu8T7US^TtuBW; z82S(k94j0n>}>i5DEodfRv6;l)i=wvQI7Fp=o9Aat<;ctrv1@3%TeheuU&?l2TY&4 zAx=@>pziEZwmSMOH%sa_->}a*Df_h+*$UsQBhT&IP_8R%`;#Z1s$b57BlVQ>+id(x#`LbZPjb5b{W8)GHa^uT z&SpZc_|*Hdw2nQ@TmJgF749|$cG|MzgYE#3oMqa7R(Z8{OiESE@YKz7&nYed7PJjqAOtnQ!*z*6b;7SOA5K; zyzMUC_P?A6@Uk7l0}J7^H1l=yHDQR!Z`J2ui}!9fBgDOB!PJ0ZHy=G@3jh7JH>K9Hqgk#k9 z$0;h7)PbUd?`^VIe^R9(B!%RSD#i|9;H7(@4uq%jp`BAg!65w*@Qe0#$Q1fh7eIey z6})|c?1U?@+gRFLcOy+)9Z2F2r~MqHv4<<-SilV_QtdI{s0qPP)3B-&G6@=ZMCkM_ zz~z7lSe@bu+#V}z+d*cIeBA0mr3r8ye;eGf;eH>oR)j%@hse>jQcJ9u4P@_#M>W_+ z5XP8D+t54qO6maFut?TcL7=~zvJ^e{Z%j@1x8(2FXtGl@IhWK%qCq3@aI!IQ_cM++ zNIL2_SKB^T`lKVKPmbVB2SwXI?tC;EHCnNt?VyC_A6@Nt5E_*QG7xlI(=v(ZRy&th zeH&MH`WnEULuU85CXl%jgkwLFqcx*znSo)pD52QT*V_cBKVp>l1a0Fpl$_Gbi-|29 zTrhU49*oA7(0&a^ z?A*GclkbD+T?69S@;__r6VEML*L=f_Vt35!;n<52Bh^QOLAcnMG7yV7TUrujEQUF; zVQ%abM6Jl02B~owm%c=F2P1Im*mIrzLj4cM#d}-aFZ*I+RyqcpdCn3KAx45oKJ5^r zO{|LxesGU;f!#VVOXY;Ai5YcH_y+bee2yN4SsFmEz)^_((5w*BTpeH0C zv%hxB_;$lOq;qUokG`kWkrY-wut4Y~MAOg(g4Z0tKmo9hKtQ3v$mj%6A_ zcm$o&fS8M@Zvz?cj;tbyt!@TK;D=Cl6oAjZt6}5o2m^N8ZwRdjB837dNwSF0!Bdhw zz;g-73E@vc)C1y{fDP~+O(f7Z;ku{>M0P+|1L&O@H9fv;gO+Scz(QkgQbOl(61_3a z8Uf%@$h3ey@Dp>Qy~HYk3TJAA9}Wfc{sBny7zykw)c@pXF7Kqhr{MfL8+~ zYI?G!7e#FGCDaYq8B0?6(#3$Y_e3ZJQ=oUjoN>QKUZtD$0nlKP3AC`B3~mqvn^Szh z<9Kchj5wCy&SxStqvlMDQD}Gvd59e-T8}@o7*gdYkybd}SP!2~rMNDmpn+g-#UnEa z)U;v_niNv7(>OV)AE1x{>K*YcxA9%$2zKazBDoCZfl@XlVM&0{5k%&L*c2xr_BbW% zAUBU_(Ru(-WD3-<6yvzpr1tKbB=&FdI^r^^{)M?t?cTuwJpmR7+Jw@h(~;ZaMbb5t zXi!OvXTWZXk(T;e1d+yfWbhA?niq}jjFhHGMgWxerjK#a_(2zWbu+o;phrh~G^uG2 z0`s1M**{QrLajSGk+YS8dK<}mqDHn%>IL&W<>RrzFXT=73hKmjMO4^R!<>JMCj{hs zQnM_H!-}ak@?0>{0kM+H;6w1qrb#6EISQ*MB*7t#6!{Q3ls7PC&!VxQ!^sp-1oNz>$Zw}dIK_zqsa~y`*#XLS>d7PYp z$Gt(pJ}g~|82pZ~8$_>gpDbh1f&f-Tgl^_QIhPBFcO#2#yPy`9jpjTb(jbF*O4<-W zOwEFTz=5lw?b0Mj$kYOGqEgc}8;367v}p-vI{}fnF=hvyAVuH3CP7I*s=R>Ah~k9r z1G|yEp5Hd|>3{!s$clBv$$PCVK*>D}0`2nF1kIjp4STDpxQ^!jt{&R=#`xo3f2Qm4 zJVgDMv5Q#kX`Z0MnAyfLz@of#Ej5_V$MucJW@2(q4nDe03f&gzK!w-wZ`9s0-n|HaNF#`77XLGh(*rF*Mr)m{4sxwru#xqn8#UJaZ zEePruRrBUlq%!ix&_;XHdpp}YUB)eUbK?ZS2@c|UViC0Yuf}`K4%8St3y)Jh7Z&4K zl$Gb&8JcWLX{aFzf`&QC$ZY9^>naLVlH1Rl@!@=Md ztXQzili+|pbe%low5kh<@pZx+FFGo-HDxKlv^kUfc`ep&mh*Qu} z+TPcBuw+iaFtVrAsbyyC_N&jLN((=R z!l)CaW=^4Q9GjbADUa3BL6DOGm(fTf!+)YHAH~+!=WB<;##LG=+m0b_=@s`z75MTu)p|B1as-oOXb34`ow}Gy+M06G+JkhNY&I8r->iN7C!* zJe=_!hAyYKC3ojtr%*}?mImZRrQTYkqQ{`ZYV&?ZCc!n)tPx%}6<4D&7Ey2*1!WG2 zhyc(L-~;4TCVfLDc`NVR}e&Om8b@?J#E`)gRQClF^??n=T!*xXw-z>bvI z0M2C5m!pu|9HWJVK>9~4{d%&-92b-Ty`$_Gc?cbVuu^Y?c~G~3&J$`a{0fW+VIm=m2*t8@N$s4mf}%C8$%0=+71o}B zLXJWLh;v(JG%y{Uq_$*U$fXHisVpQ9H`3AXUxW7zXSU8pbf3$-C% zyU!0-4wsmL#bzuA_cTgDo!=0k6K)|Kf6kcDAf+>(^#IIqv9Gl%EFiZVAXkc?Tm_CVgHMMj05#~^=+S0NrZj0?1Jn~u(vcgnf&1l?M@{bd58pr%tJI2l(`2Khl+^F_#JaTwy@P+=^z zIX~N}AE&SW!r2|;g!@w6jH_>&*JoNe0~kJZ=hiuVidp;nE_o|l-o*Yjx92xZ`t3uc@x8DKui8EBq{(V9Eb3EZ2mr8Wl@vElI|s6H zz22#B)5W*LGoQIRv^=4GR94WY@v`WI9V+ZZg90U}L5QElZ!1}Fcl$6nE*>VHwmBpJ zZC(MB#=g43xJn9n?lj-(AVs0K<7)zKKefOkUYzDsf7N`k(>;tf_4Eb3U=c+G_yZ{y zrdgIJplr!K?iNHYavK?C3F(wE7DP{eIW_1SG$eB6%5xU}o}Ilj%UNq))F}*?G(~#@ zEyz8eE0ZJ~A{BhQc;HQ>pw->v;}7%ED7WBMB_~)fRDRhh_wBP%$)I;8gQCnrNs$GB zof*N&IfAb6bF|44j0R{*i$ms`h}h)`g)d;hK_@EhRtoKx$>g$yVSE+hAXWw%LXRc+>z91?bu%OQ=@l(8ZCaET_ab)Ww9IOz+~!6| z=b=dm+t{oIo;%h$tBIM1(jh3eMSzr4I^0Vv6xHNy>`uyAn;U9At{^p(jwzLU-H_u6 zL`Jd04G|Qp_#NJ@B}K2DGGG9+izB-em5I?J7>170Ldfn~Hy6;^HY z2_uWZ8W=+#6>$mJyhv(28-pi`m1pTmCb+xw_P+Y6)@k$XV??p#L0-MB`=UT9zfCS7+Nt@V} zaOz(|pa8CBC`zAFTWcEs{>`drAAIkI254|iLn}=3O&JUc6E!GTPMSC-EgBr(+fc;} zJbo%+)a{@buo`9>BNiLlP5zn&FaRUYOQTG*9~1WL@S6;<#7R6i^^A}1-1 zwJg?#U?`>~b{ZblWaEw}Ww;hOWWJcgC|#uV_18+^oQw^C&GUPsDBokOo73v6DH@i= zCdz6b9bta!d z)9IklHf-~Rp>YOFN3HGhIjWEX%4T0n8u662nf1R*FLq&JvjxY(gwQyZ@+VRqa5o+@ zP=CYl)J^0u12>_B>p?sT?c2`p`R%Fb$Z`)6nYizaNuM0z^nxj3iEdp>=k9MtkAA1j z<`es&*uAPPihsLS7D$qH1>6S}zl|hz6Tg+pSA1U*@NIcM`*(7l8vo8{OzgoOGt$O- z-($`v=+ucE2MXXx$;A~A>X)vA`1PG!zui@DoGTcL@2SUrW|a^f9`p>3j0XRVMPV4P zePTLGfyFL3iOUF06`+5RU2F_RF~S20APN{oSfx`8Z2Q`>v~(<752-ds>*B%ym&jq( z6qHb4qvvBn{lPcA3_Rq-rv)sCpcWBDlW0NSaDG}WF8Yb{G*Y3cx5OB-Zr5O-zws4^v2G=Cmf%+t8!{A>}J}n#s!HEgr!JJ4QDk zQxN9v-l!b8DX4>MHjKHBmyvU5xj+)7%IlDJJFK?BUC&sVQ*Yi(lT8vQ8V})x2?H`Q zLv+?WS3xqID}VszL2Z_uqFcFxT0;Q?x=L9yOP)zdSmev{DiKtWRN_FF zbJ+Wg;0y*0VLY#W`BA)5C+mwWz!03h^la4v>yb&aH%Xwt&gshNpc)C3eW4w-rxYd{ zA$(V2UNF-dK-s5IBaQkOrl_JTBLvYjANH{~9!k5ccVzzA zzvy{pf~bUsOx{p=*g*Z*2$s=kpxQUf?jlT1jFJS)YmTKFN}vX;$b>M33`mFQWEtE& z1!yhRXF)DCO8i^{v(-MXoRo_K+YpnmOZL{aGfR+NFI!O5K_$$oF_*#*ar(iOxq@J_ zU`r(qvvLH7=-l#2{m2o{ki3lFi)T$=FT`njE!g6--eD z4n_)ex5BS!VV+5UbJ_v%(zoeRdLnYfX&wN9>|SL{$u#9`(8+K*xaxt8$=MENz&t;a zg2x!yBQ(tPi|-O>#@^*8T2{G02kw%dt1>`^!aOyQ2Kkkk6rv@RpQIjEpr;n%M;c$jwMI?4p-FV;;fus*hcaoSF>v%n5&eR8Ah zUdnX3x!;WC7~XyEVRK~tc`Td*^EvB!l*o@yYp82LZs0)J# zO1BdQwNbsbDrmRBa|K?_nPb!|b&G7vuoI`C<`8cPqgEF=s~v5%ojHOo&CSn!QJKh0 z?u&+~P^7Nn1kMxR1@5}%F=PURCcsZn%{5l?T{7D*1U{Z>zgr`x@fdLPiZ$Skf&@(*9zXXlCsq9m zVILJJJ9HP@G#d)*H8pul#IRCR&Z!|UXs_cl30lEpW66ikSJ6B>mHzIa0$2W!w3Xgd z0a~>MXo6O1<`fNbSo10n8(udDl;zYIm{eM-!{|A_TpZt07IJ$Qf!->gLZma*MIELx zz6hZSEEoUbtmIxmQ*U#2-u{r;lVd_;&BF*iiPIcF%~G5Jzvm;CzSLyGNTH_RWWZeA z-%C63R>jIt`q5}6whR|vh+Tkb+Ew)#4Q@WiGLH?vetVZW3KZjCRE(>5yE=$r&5i^9my$H!b`^e)l97EqCZ^ z5kA(~rCgPGs1WDLjk~6uy0ULGr6MCYAV~=Z>;33^meZ3&4v`v4CeR^55Y(;&Pm}_i z+;RZ*GUY4$t!-9nj57Kl#^=k5S7+<^R8K>hJBHK7?ji#YeH%@PyIK^!I8HzSG2dj< zbO)P5D0G&H>aqFcAqDkQjy|##pe;NnKc7e184TUB_-<#{rjLG@p`VE#sNIHcWQ=i1 z&}5my*PrLf?RAlOKNk?pkO|On8l(}I+SBfdZLw9`l37ZW5SJ$M+*!2w0=c_a8P&-W zjz%H_VP3&AnYXrtPrYhD@m_cXx@WRoi#0PBLlTN#XIwW>i9;z){z60k-q}=c4tZM; zEG=mpWJ1`lq(n<4dW`Cm>aoD^ZTk=jgjDJ{5m-U%h$2W9L&3TMb{0p438MDv6Fuzr zC*}XGR7ksJOWTxr`n*1tZ-=_SSKNvD= zPtI1;9%RJ$r^HmwscV+@fRMi>7)H>M9DWirZ)Hf-QW~KF z9$~PGj>Is4GrFq{<0z#p~ z-DuSX_)QZaLYuqlAY?mAPo&JIrSdE>51riI^OEI3AG0Ty{_IggQ<9QZFe{T&)I}HO zdgMwqz<^^9Cc#W>OFJE=sAPlHCnFV1JOt%eR;bnK6lCDiE;vJ?<4UHPZQV~RDCtZW zOwz6+Nv;FGL6W4~K+#N-X~1+oSPP}!TvvtLrLMd68sQYzH}q!uK%i3K)nsThsad>R zOHqScN2*hnltohKioS>tx|lUe!kzXNa0BX8#UXK2@fuh~v`-gkLQ0%Ht>Jy(>vc{` zw*;{tmo0KOFn8mZft))Ih|{Qx370RAnVAV>LC-*^+IbYB;V+Xs^invheTjqOD9vHR z(%_Tg0eq>@l3@(UBquhvcz|ZhQ?axvAMP(I9=dsyU z%%nsrWOQ~CntWV=laV;zZ0vp~+p#|0$Kt;Z6*eEK(7$`K}#af88F?vbdrJy-$Xo1eiuwhECzEID% zAvbk8t`@qomkd|O{fA&)2&Wj6~QXD_aKYzu5MX8A-6Oz}HNG+?7HGd(`I#!N0# zcKS$^uZi={UvU?osg!-4??ny6{cbE|Vnr z7+e~k9)5QoZqn+e_JX10UAC7XC8|YX(4LZw>Jo}Vi$;bLMHlU9WNvTKr?inOy(mr< z?>9w?X<1buD@9xC5o5+CcNS-Aax)mS7{#~55rHXx#3*C7R{biSg>a1%YLcBwmfY6? zbR{)i`WwOO!0VN~(ie>ZyE-)F+BX{1-+Q;Ynk3KNwgrqCt+wWH4dR}5b;IM}t_ivZ zAj|1G@lEf_FD&*^$_r4v`ws9{BTeqj%YksV1Ll}*|~gYz6d)tj9yb?(CS5g z%W*tibCSONV{{0IiB}6E)SKu+Wf|2%qa~?&U>YV-*`Kc3USuXcJd&9vi{^!g+nbIR z#tm+0wq*5)^zaC*So>!c0yJ#SRFyt75tyh)^0}kQpa`c_yp%%tQ!kn#0uN7(@FElc zC7V*G?6RyEsE{ezvp&9nW0Xvnr`HA3eHrdVD1SLacEK`b*j^1 z2l$(voKPVhVqj2=lpIP@7?Fzy>*geH<=1o0C$WrvBp@`xteNtONi{_!2;$Lz5{qaZ zeU8|@Kdy)tfwg=&wdhX{H2j_VImxuss~235#;D>DsVZEfG%>NHJPZ4HJ5}hnf)(Vu ze)MMhE4Z#=w9$GPKVv$IE-UBVWS(ubyuy~*U4|?|-R_pahN`(c!K{-*2pZVI(BxMN zPz271HvLa`Y0nx@F%@`lUnI<~G}lz*K{K74_eI+?b4{)tKu#J+Mum)#MtX=d1dA*k z+`+p_GIcAwZNl`90r%^xI?zksB$hQaDS^~!>=HA~9JMLsRvB=yI)zFlWjpm$bU)Pt z8|5Lb@^A7n(0FX6Vr(H9HNi1ai9#!{aP?* zY8kGkjQS(PfYbyo@K zr!~PSPRJ>~>nvkt0+a_F(=l6|s#_&8_=dMR5mBloGZ$6iM=7U`OHfU;E5A3%$dU(} zI^{F!hv2;gT7oL3fDXOqiP}O1C_PNRnQ8cd@P4H+2Z(py4mc z{bk914~B?uveaAX(XH8Z5c~Y%u>V{k+?2>KSB0-*BG8Z4*YI3BOm(l#>#;sff#-F~*=6<5c89fyIu_u(?18QhOG5smBafQK!I`8Wv0c z#?Rd_AAK>bkQteXYc8y=c>~h@AYN*zF~~;^`xjvADGJEYF;A2IRHT#Y?Bi!j;Zdul z^>C*{dn26o`QcNVEVc(&h_b@~=2^b3*ot9ZZK^_+s;-JC11CW0pn{e=rWWAzI)70s zWbT$cjn?9#;tV%S#EzbBqdl^<%PyY=RV~#@M}DPZk~(?hHqR*Dq(mw|9rL*SSv2^x z?tGrfeQVYD#2mLk1;7peXdU(3cD~bOA-N5AHoT;ztVts%xdPEdfTDs5x_rjtE&AKi zRAQ(FH{&aM#I)|k7}`NfsGS81?Wn<0ABv>0vP{=Nc z;p#4^5=Z|ed@I+d< z)ZA&^xIS5UfwiFexCXc@AWGm4`i(=AJT&*8j~eXV#qExwar6SLn*c1 zw6`jFMH`%>ah{1yoPEyd(sbns)XwPjhDthil*_%iq*;MKACW$o+4pc zvt+pOWq9WDkA= zSGnM`LgAG|F%}O3{m^Yil)qg$XeMiOvdS233nC2gJ)K9HgSnttr6lWtwn&ra<`$-4 zZ!BgJotFDYP+`%$EIZ1gRlOFjCHu9!LJ<%Jlj^2fAw7Ys+a+19X>(A45^!po`~{UZ zVH-2GN_fTQ{|d}S{dRe{4j-#LVRur1VoA*f@fp;b?QwRwIQj&jS)fPp(DP}Too-;$ z?w*n+U{V5g#C*F~zKOvOGZt3AU-@xiGvbkw27GS7nX()Xw+S_80cNFCY-t#3xfg^Q zMHaN@46k3w8`jF}*g%{?zqdwflb3G?V!}N?s!dCqo-YRxG02z3BWrpxgFpWRS5Lo>F6P#5 zk-#135%sN$bR96*ZjpM7&M!o^ttppRHKz4@@`f0-_qaAJfltpjqUF;k!sn4~`&a{~ zX8f93lrrn<__f3}VAPgE9M8)qZ*>P(!R^Ky zuH!>%9C@tT;Zr93`LPt*aS&bqJ%rYfyvq zkzqN7-)ab)8o$K5iLA_e9}G|T$8$g~F8LWeja7jB+_Rajx+go=KM`6a6^iSg!#p1j ziXS+DCu1qy&m`Ap0)#@Zn%Deaq7nwsd)Zpp%dE9b=V-6Gj2$~}rQ?(DyUwHF2e+Ne36t<=j7 zh&O=r=xG!81wIuM<+vM0V(j52(F*tS1vX;{gSUmo zoQ)K-n$Hij&>1V}b+7a%o$?K-?TUNtx&a}=?9~7nZQ;Di74MFGOPJnqa&F(CD63|1MgAq8kMSGk={TS>ISV^ z6sT(!>hb{&7AweJbciT_g@u5EQel=$GptWJ5V=}H&x=*Jn#XX|1S1Z$CQiF?)Njcq z-eqXqcWNgsTlEW@rl5%&p-PV8XHsO4WF)(=G0L4nY99|>G`H4_=oIChDQj(51Qd=Y zQKx8pr9|+P`Bk#fJN+8k|KL}?jBP8dv7C8cB4dv zFAG=YOYpjECLh(_b0^#N-#nMySeN7S$kJ^~9@C;-yI7qOdlaozh1$5JQFvX5g zk|uqK!9W74JA>rj<%qTS!xEXvQ435wDtu)X|ByEoB=wX7ZqsuMyj0(2CKyhwUMgwm z2V*_9=vTLjfXk~31|l#pFw{gHxkt!s^7j@RUCg3_7h)e3;}X~@M82A-;~SmZT+?XH z3wLSvV@&%+U)6D`GruYwnQ%KdmH74{IhxiNkz#2+4f@W5WX>PE#fy&lN~@-Wv3bbM zG*6-h0}`n!gn_k8MlIJpcgUwb0&AB6gzB3{rV#ZTiDGV5lw6f%GaahbylO7TPB^pg zG@NBuM3m#t+xN+#HI#lYPifAEyF*M3^k-r>RgVsAU5^{Hce_~^6{uR4%>z2s%~s&E zZq7X?yS&p+>s1;1iJ@OPx~QrT;1PIy^7=@}(tMHHktx^pzp=@scAQk#gH3<#78N?< zy8WWpj=%f$R6oKz@kTh+(;GE{SgwZpN?3+uvC0aN|aJ zsFO4m;<^q6PZM%dwe{pQsIsDjaRaV1aR?~poY^a7y>VqxdQJU1Q{bNsnQ8siYg>Rl z(NchKx`gUedxm&4B~qLUc5j5ZDZHmONqL}aGIIv|H4W(@%#t@j3wNB>8{isCCh>wZ ztF8&P@a;wSfuc`9W=%~z{eG?H-z6HgA_pzvNbfut($#DA)qZeJqU-%e5$+4>l$>pK z3=_R7hPVpdD6{HtGgMp3@Xt?YnIg%p?MK~KXFxHGr_k}qj`)MhW>oP7IzkG+KdHol0W(K zmqk%6*r>`B>o$1T&Vk~Y&VffCIi3%xDjTzAqV^0u2B#QWS@T!#ykfKRKR_*RlZNSR8TKnS4`aR)jMg3i1N6Jn z{IXlo0Y`uMD{yahR{S`bu6%ZZzH(LlVtevkg2p%g7|Y1g$ha`^D@eRRg=Y z5)4&h5FMDdC&L>*4>z*hP9B`-*IU{||BJw4DjGE#atR+qP}n=-9T| zv2EK<$F^;wW8;tQ`wJv7Os`}<`)Nib81n8?{QWf!6uxdYntXDJ* zMJ1b~)$LHuLb!uV(((Qs`Ak3R%B;w>kOwW_Tyl|5`O7`ms@v1>A}v$_sD9X#wenp5 z5>ld=+PUw=DYO@m=F~&)LXjg2v}KYfsvzEE^KAQp-e^BwK z6Rc1(m}=5eny1?4qUCPe$X18N+3`q^jUg$}$*$p=$#;Fm2{#?ZNaL+Uy)M2#qI412 z`O++KT$|rWuvCLS0N09WB;lEw3$USH!OWA`P(QueaIqzbsae4o0mT0}bc)cX33Vy)B*6+Nx^@I1 z!EYV$zJ6>&f!Me zah{ZGbe&&T2ZPcFA{d27SwVs#SAMocgkR1vKic0IK4k+rEeqk6M=%;Wre}>7E&(BL zlG8o_!7Mu>6&JM63-3l*3M5N=31{w9)Q%QYDyA^w)`C3TtiIbS;)Q=11999jS0x)? znLliO`FcO7&Gdb|8J3|EQO~2DngV>>?CV!zS`WYTw8%fGZ!5N18pqW6th*33gjj(f z5C4@)LXw84U2ehs5$rZTP;~8rOY`8v6WmN-cIfJErG!AcO!!K++*c{wg=G|c3p6Pr9-kK>SWgLlVi#JN%op>XIK}O?Zy7a?~ zHKmHG)oNm1*XzA56oIeC8Kt*@I|rlH&?i^71DR6)to+!yx*DOrb7dWZ&l)b!hHleI z4<0Z0>Na#RcZQd%n*5cQoTf528y?PuSE$|l2(+Z{a6O%W$>X;#Z%zc98CoTeaQik- zsgRh5ILX5U=vbgUR9c+Mq7EcV8?;Okr&;MZP#+~Q4e5TeCt4!sjL=UI3nDeh3xZ1| zOFHWmwX9z=wlo7pW6@N-#(O1~DalLifbEfy`!^JXJJ>4k4YeT5ktkYDuo6~Ad(k7a zd*^9cHj_I$l;cqaPLJoOo?f<*iY0CTsY(MlwQTd<@J7gI^2QrNIH7lf}IN# zgth%&dEO>c+;8rHd3r4m*90c4U!HEah&GtnRoCM}7O0Xu99Np5{^N*GgPbd%%7QoS z1j!~a6$7I*VCm?NJv0zxY3(Fs@{h^0DSDdLS~IV=6W-IxQ#TSJI^uY+5?-fV{f~$D z+D-MRp4?2RV_G=JVMW!7T5%~t$Wtc<-KPs?=vY;*PSnDeuDq7@B41q;-Omqw%m59T ze==2txu;P(Y^u3bMR<-QR+2or1%^?B%fA-S=rd&@p_dH1MaXW4*?+{Z$%$@bX^U*h{*xJw+ z$2XQP(=Z(0L<^`S(wz^PjuJ=#uo=5Bvj*CnPghA)?w zZ$%kUFlZnkp#P6g)@U!dlgI)At^N6L#wT4|%>EOf9PWm4R}oub)NyUy=JDa#I;$$? z$q9)sNwP~^t0E#c@&^Jo?hB^{2L6YE#7GQ6+(t+re##jhKE~+TX^G^a1pI3#Mo0n^ z0?$!}HFB4;9P;p(r|jyIobjc5=e_Iu{$u~LqxI^yYMFe_rwSxlFz2oWVX=PiUXYz$ zqZcL75_EIM>Qi?q!89SS&Yw{0>s`Zu-Ovh!8vpYz2R_fuB_b#vQg&;-RKd zM&m5`d%uscg>SNoorqOP+lSM3-xwTncpL%Q8!QCaU_Kd6;63d=6AzBYiTv-jR75N- z!tdYd+{aH?*-5@4V^#009-K36X5U#;XE-wS6`DJOjdZ7)Ve^s}V#m ziY;n)VdG$){bP>kMMF^_qfnzze>yVV?Suay{w?mBt*eYkbDxFz-2xz%i9v9P(G&g- ze-2jKcf*CUj#-V9txh{6)lqVzLkw2H;-vs`xhB1A%7!m$b$)N}bL`rf=~k3Qq>_t!nJ~sDeI9O}nR^T`^hLdH7?RtO8beMZY zbLC}nxj1XL)^^r@qW`j(TJ7h1CPvn9d9?O~S9|eRyQ)Xgm^rHO_VHwHw)u8xn>5~i zK4v3qmoe(eaRlGsakB5Yc;js~d0YR7!RuqXHTLW0IR4l7N|V{1+Md^wv>hLXV}f@G zP0#N{2(=ndi^rh2YN9y)$1sZLD?cxCA_(-lSs->sSRlxcqz_@0^dcuMsW0i7c$lX2 zV`UsJ$yAiWc%u+f1jPu&{FV%wak_s|tx~DJQdh`@Z zom>C65$g{UZ!&0oUaI9v6$Hx%s$~*s)B;TX$5$U1Y=KF4KT&Yr)wR^y!Eo4K1*9nK z6yMeu0}kk7?mfW>BkHFX z0}}gw^DgMTKRG*TCI$=Q$*UdqE6Zk=+Ch zdm2&Qz{845OQ(-|=hqx&4XyJVylU@Y{N{tH1(w&+*UdEVF}Jl3H4lx)A1{t2*tx;C zh9STC@ELaTc&sZ<5>)aS2E9zk{DJj4;60tYw>b#BXe-vP`3gC%p4s6sQ}>il!$(pW z^UptMKDSd=s~_U}F`CrtD3x$I;p9(Sqe1&nPE0{HB0~J84(IVC0&B@J1_{;ZCF+*h z-_@~Euj5DXu{!r+E8TG_N|)K#T>9W4uq4(P_`Q8dzE(KiMuo3G*{~E9{on+9I(nF( zt-k?|Y)XIGhW>ckL^qUsk~MH_C<8+!~*xP-+MGeX=Zb4!%UhgM)BT47uYaM3$Le4 zH6g7~%s~zR_fJ!_R1C>0@gh3?#UWj^s_R1KVz1%uZ%s;pLF5M6tMgrwPnX}-Sg0Wf z`!a$(^6A)IhUy>=_Bq53r*PM&uwc>0&Rd6@%&ZNI*w*G61+(WQh9Mya6UFy=Vn zzoraPWuRlFKU$uYsJ|r*vL=%<6V9Q;%GWw#l2{s@_=LnDZ4U5q8tS!zt;S7Sgj`in zr^Gh?iUn0rS~Y0|^%JTBy)VQKEi~zsauHL_$#8T=b|~Li{%NSN$ePaq@n^G8zye_^ zdJ66jSHJ{QPS|%7rM>y9`qR*iPL*=T<8}G*475+re0|}1v15KCD)q-8qsBtG8wPxMcto{)whhALDDE1^)@QD`jFk(B5pQHwo)o9-Y6j zTKQw#rs|{;4>zvPVGNSh1fwMFvrMJzz+2_z?+04XAtJ%R;3dn;CL`atFXx@G>K8Hq zUMIgtXcYXimPhNk=%>sm+tX#P%+(75zq;hGx=-6>8e#{(G_Eq~hV$bR0$|bs9*5BL z3)j*{pXebayAI@Dipe9Lk_woN3w0b-J0;M7l?){yb00ik3q)Fvl31!5njl&ly($f8 zO@+!(hL8>O7E2o~k7U18Oo^Wb!;JOVD2kR^3wl@Dk&8IQ-v-{;x)^m*Sm&3x&aVur zI_Tenkz&3X>A05d!|l0s#9U}3w9$t(DXM5hyMIGJK-y6tXohy5)OWca$9|Qt&Zg{F z#9Nq(t$qZKFzo2wK2{dxuD={R2g&1VIhu{a3B>hyemgf6o9_%SdE4*w2(JUao%n9k z+rK)kI^V|qEoE@N+bCW?gZ34zX#WPp6|Z(Tba8H;y&u9z@N)b)OO3IXBkkT$km?P; zMrLsgI6Mkt%a1R|VcLNZNC2s4%LJ*Uo9I^}4h$>za@rzwQ3i##j^p87o?U4T1% z<1qj!ZX9s2nYu#Nir9zYXx0~E;fUA5*@4fTtrGYGgKyWSH?ZooX;GD_GJvr6`tFASjdp4PO$523U}KJaZtwut1rr zI$T*Bw7Tj}Dm&l}8VIc212T}>s%)HIfx(@cz+Xw=I|0~7duQ|Yb;6bPe!Zqi{VGSq zBBI0l3Fn);=qu?-llN=p)~ae_8IFU4^$|gzFMPYzX!a&lV6(~XBu{;IgG2b!_bT?t z>Yej(?FWY_V4FUdw1OUYtc6XHwzX7QXwG)Wl7I9-B|hmqR^p<4D%hG}d-mX=nN4l| zQKz>xJRSCIE0|Km+ogcUBf>_Q=y79|_*6KkiI!*p%*FTRUGp^_Hp_Q2NAjHOV}hqH zFZU3H@m$`|B2cMXYgh2Tm&Lc2HGONJ_`*RK9pm<5MmbEy!x_}OpgEs%?s1jis=)8< z_F9Axv7!Haa(QQ0zjd1Dv|oQ_4q-Q|yB(ZJ#;E{2Nr&u?pMREw9EY}vu>B8kj+SJJ zF!ySi-RH+-nOgRTtV3>=qu*SycYg|f1R5k!^brSC zq;!0-4$-MT70Q0)36h8gaMXLG5SS5J>{Y}-r6er-toYA#Id?1a(!y{#9Mup7@Pxk0 zq)#UjU8iVzCGA+p>Csa@K%g;zxC3*vFt_A7QCakd@)m|kfrv7bPL%H;K@37zffTO- zH1bz6x|+Mv8$aTDiz2O*+_f8Yn?3KLtH?L*;7p3c8EzAt{rjdGGDYjQ?<@{6S#>HL z?)J6zrrpcQ(&fJ0`Gr17!2;7jNtzy-9O`vw;zkff>Oq*mL?VEM$Y$sW7H)=7!COBx zja1ZUY38-O^U_)8FcbFohVSoFh8_f4FG+o5w!J|4L@g|6@l8&Dm6m+NacVV*At<1P zscOknVtH#}FsC9`(gen$-}3tLK*Fz1kgk2dtCI2Bz^rGL3S#a~mhWw?c;L2JZ6{8d zTIKPE`={p40J=Y$Nux(1Pl%lAug*tOHsy_H*qZx-Z`V0LmMJ9_!Aub>Vo(~CSW)-W zNVJXt7)FWYX(TbBI*ydYQ*Tcd)t#eZp&WLY?z1lEX74Q@YlsqhbB790EDOjY^Fc|K z5v7fQXedsA3$XYWRla+yX!OWR`Fv2hsS8l5N4ocZ0`O#mAqcS>R;FuciVIfmgm4Ev zCt9H3>2OG3PWgsunG~wSoVt*gBQ_QDlAMRb{SX?#O#4&4Zf9F63~tVsjq`1K!D?-< z5a%juT^$#@xwpy5O1N&fL-LHT?`_jn44ms{GykB@vS8l*IPQ-vnjeNyxgy$Fs+y^i zi~(&eS=DOmct(Z|Bp%v87cb%vh|Z0WXvTk@li2|h9tO661zu<@seZDrg@hFX+`v_w z+f?K%6-`3Jkvk>2E|D5E3B(4}4Q>%?kg^c%0xV2f@eBq!y6C|Dm%jYgcbmCu7PHyfRL9(C#0 zML=B7s>1?;GfUF62eajhL*nfbW_`LpQcyH55#gXDp+kY!+Qoauy@G>1J=i;QDzAxAPnHiy*`C= z-?7lAq}R@PCh^D!_u<~MI)3=ZZ5zWj*rg)q$1>)CEN6aiWD&FOpoc3=BdK`Co{oV* zUpnPaj2Gb!WZRgpfWPaPFJ%xH>|%=_?Ubygh^nYF6RrwBx_4E53J|fN0A;>aU2mZ1 z$v*BUh%Lkd)JJx5GgR#_uKSMPJmbEu-p`%e&$yJO(xdJ89=EJGR0FskVS+xF3i6g4 zv7_Hb^1{L)1koqR7TKgI6S4H4#rsN&aXIXboBXLgqQQ!R!-WcGM@kTymY=K0hK_pK!?LRT~@hrh~eg~gE~es)}}uUquz(_@k$ z&$}#FPo!J!o}FIX{e0jTCxfa@%&32lmy}8{67xWGh?<1jD47!UiBUNkl&)fExe0HbH&ekJNs(g0vsj*i+)A0r2ENrmw z5R%w)`xT^CJ;CZPz~;P~W(qhj*XnK?Ck`j_wa5s zcapA+p{IWWWlLQm8O^xi@O3mMYw1D?P%7t^KPT5OG{#-MrV0Bpe-=EY(oijVo0sP; zK+zA#rxt(v;cz1RCaUit8ml|II*u3Spt98e2%gIvRvxR z`(}EL4G}rE)xmB>gKWeSfK9SMhAdJB;viKBOik6pz|yH3}=%a}neArNfBo0BPflQ7esKK!!0) z(4emufI9v&Rqg_XA`<7!J`Etx>;9ptfcOv!;%$)w><)V^aAs_e&}$0?zRG(le4Vl1 z*CjdpaV65>NOY6D1*1U=B!*NCVNX}ElHDnBZxUesePFl@GVQ*P#(qj@tD=!ZPqR5` zZ-n0KcX?%&&gTmJja7{{le*NuKM(jO`s$}P`HQ`qxsNc^&_pE-!#E@(fP8O-j+@1? zHC6>lculPb0h(A&Qn(DR1wrA}@X>bBI)cB- zb-^0NtX9ClDdGe{DU+A?zPmI190y;~yP}Ze@^~7`)`>A{u2*IK?|ZZ9ae8&-=~Rj5 zt)B=~-1U6%&qc^o@X|;E)FnzWsGxmE;`X7`Kyac)uA~lQumPc3RSp+uBpYhw0zLPy zl-vLf>dt&=HWW-4Hm>$~%lmrh%fABwEvQ@D$Y-F6H>zVZR!OQ3rN?Lxfm^_+f?k1) zo6LlV4akr*s`7-A(h6K=q;>>W2GZ1#zuKsC+WS6oD3ANfVLmvYpj%YCb=^hzYUx$&cSmgSxF&31R9iPkV?I*&?_6bLeD3DXylO97UJld+3bSX6 zJg?qsNAq4EujBv$&&x>wih#r|j)gFbNr@;mA2Sc>XQ1%OAzlA^c4omwE^2SdMh|$|>Rv!Tm2wM-**;AB1Ip;E2OEH@kZ{v9FfA;?V1Lg(5j=@U_+IJnI=X0u{;IKYC zVQU#zd_pL!H_C$)ttg$HL4oHQnZGqu3 z0Tar>mnsrcny&C6;-C2ia} zcK>QiPH~xPhO^K)0OxN3#3x>IRhGp0J`xue&`x0_1K~!HP@iMTh%>P{F6T7qYLj6xp;+N56czz^jh-m z?9P_>y69mAoB`9i_Bqm+tkebJL@K99kzMiWT)1c$LjeIcP&c9zj*c_P-)?i#S5{gD zJsVG%ZQYl0H7D&_c6uAo)qI|jXMi4f=Mh>-(M8u=L=^pChOvf6Dc=#h=yyZrV7htfENM1S}q4Z(R%OvVbc~F$a!0+Au+X^_Uu?I_! zfPFHcFh}jP-t}XB&M7(E<)^3~J5Ld9Vycx@xY}Brzmksbq8_33U62;Wr$829w~CJM zuj^0ly<`vHZDXKst*}x=)h9^uutGaq7g6-a*0Su0HoHmm$G&s2X|Zh|25|X2pm<1L z0-ycE9|%%EbeC;@K!7)G}Ks#zayHQDHeu`51UskbOxZ6%ju*5iDFoJusnvN4^li2oC@?Mvvtv`vgl8Am{T z^h-u!A5LYE>#s{0d`itIaN2vqTC=VA{RWIX8akxFaTUtiTF zs~6rWGivJHKdjVj`I4w*9zi;HSzW>Fg4QqZ)GtAWPxKSG0ragE#iCm75sbuu-3Bb8Q2IS_S%sFdG)A@l6NMrSk28rS*)0GCAa0Vp%F|)H5Mt<3 z-_PStXG2pjlgkt!x)S%phXXGojkl9XD37t)jaW}a8no?$V2$@cG&zH!>gzA&0dIgU zF73N&y+x-{CN&JnLUJQKrY^19Phbcl)S61**8`5M6+N|ZZSfqr@61k{R zDJ=!KyUD=ejAJoZJhoL-g2wYhYquO!4;;CP2bNlS>;n@#SgVqz{AA<5K9S^?l6LA8 zfO*vqrMMoy&)^DEj_Qt+T%x6$%PJ9;tP_5v4NhvmwWRA>)n1j}bD3_o6xX20nycm3 z=WN&3i%$vD*WQV{b8Bd?Q0vhjw%s=kra93r*Bb_GG0sg`Fs~pOYZlWWC?kaCBDPs6|bU0!Fa913V&eE>%7O#c<1yJu!`QO!GrhRZ@VUhBWsyII6+l zO7Rx7?S7q=y5kHWYhj2Ek}8hfNN3VCQXsb;Nt&zA!F9AIqh?P)?-B}NBRj$Gc3>YP z_v-+?=SX-fl;w|d9{N5>C}!=IR3SPpfpZy-h~t%Pf$oF`OQgnF+8%CsWQHL|1cL#g zEzs)(HR_RNI=R;bnGBojVqIo&52amio!#7fPL}))3hO(U^=ci=`g9=`X=cb;F0PTB zL^QKgs=U^L_)1$<)=Y!zpO%Bstc0jFwD|%|Hwk8&UMkDZKUco5XYPIIRZ#11Lduu!h8*0?zb*s7(v+%^>%zY`D>(lAdUOyO4ypUU9!K6k^ zK_M?SFz`8(CTUf&_e9{j3$Wy3@0vb&xURU=Z*`AImE;em>G!qmVIz9CtKuWTCxGBt zn;NWQszpH;LGb&;9A}`+`eiQUx$=vvsis+A=S+uA0h)@gh8NH3;K2hCXYJ!eKUuD= z%?2cUVcG<2ez^x3eNxnM2Y^iLy8lZMXaaG-t$LXc5q|L6r z=Elmu6FA`l6(0Z##d}bIgwohTLd8xZ1&*h*hlsomB@8l5AZWuK3@*4-rOdMQEcozm zD5k5f_!0=C?>gsd=XD1Lh- zjmIVaJ0P)@fs>8PBBdiL3$F|~ni$52W?k4-8_t;{a~>kpmpx$|;uf0UJpsJ!(`l?b z(%1E)twVH46DTv~XpC#>0zZ9c5HS>fRcP9h(# zsn{@z@Q;$5XaR879FI|WRx&TqKYd^kc%Lt>PwDAwD){eHj)-RC!)RfJTUWDA5a3Ds zLh+7IBG0#`w~jZu__#|9t9CM5I$67({Hy)*^`B|CF?;~RD0mp>?AQIa<`;- z^4Bbh%Y0v#(fdAq960_6t{BIODv2UjE4;sH8N)I%s&V%N*02w{snoQUqF3Sge5dK{ z&D>t)GZ%mZ^+?q@ra?PqveQw~)Ufk{|Q+KyybE^31-6mjnul98+A5wX*o z+d0G_;tKpTnoazKHn*Xd+9}x9EC=mRo_pM9Cl8*zzlY-p{&2v1x{b5cF5DC)VQjTr z*lA(-^pmF8W4-miv~JtoSK+Z3j2;iejBr2+lSI4nMYEB&`zx3vX}e}j#v02dXcdXe zKZ{~&Zbl{)-mgxAXWE!Rt1(A43cAABY9^R8QA8oH^QN%IqhCn+{)RNBk}j>%NZ%1k z!!p5e=Hz5^9krLdGT>*gDmzj;uO_$>_?iyzVc9JBYMsGi^BGCcK;arMscAR6B!AR> z+yOiT^wsDNh3m_{J~o|aw_5RUt1CW9zcUzdNH=pkwgyAh9C5>?q$S(X<*LY#aI|<2 z>x>eMM9-f}xM`t*8bCW#haXnSGo|FbR%0&wBx;q*uvcNreZ1W^7<7oH3&}tg%#JD; z{_=nbJ$e(SjqA^07?#3s6p&hptrbd90gDKxn#90m0%sGBF}K23)gcCzGHJSvxOb9} z!3<;imsteCXDSWM?;{8cDNqvpYs~xi&N)G-Q4&yhb{<3^$Khph(|Oer@q>^FRGZ4= z{qvWz+jKy-CV0STbB#Gw{^jxzaAFa!mFso2ZSDg!=H5FB0;@|JBulJBAv{kEP?QB- z`h%0ho8O}?@hQuWJ!d5Z3u+6F#Qf0}K88p40oPoDUN%K^fR{lp|xH8FkhYiU%pjy%)t3Bt+-CLCdlkDuLb?1>DZ0MNHU=t#+8Gn-%X@mCUqh7#wJSDqomW7EN0?sM3{ zk0$R#JWDc-@6nOH`%~~RJU5b9Jbp{K(wP1?k{TU&&;}nFHUKLan&X=L;bEYow1a=E zT#2s|fB!__xBho1GG{JZxkPU*1MSHP3Ego-aYt|k(6#VyslVeGr0ZxzSHHUG2#YDz z2KsPae{jVdMIn(iJWz3Y{pa?GWxW>|GMN)h@^;4wwLQqB~8C5TW zP=dgjq8+I~M3ZDt62CiGh+P9K?VN^^p-k<~mo9}s`5mI%rxb~u#txiu(!2Qug*LC` z=iM1zxZRT@En-p25PlHpRBu%mdpc&B~~8kai$PD9PbWsc7(J*z{J*I&sSr%Dac3HgdL&xS5EUb0*+I{r^_qG?FLAJ zhUq0>$&a56UFajMa#fq?^M#2(U0E=3QNHT0`5qN7YBU8Gx2Lq3oDTG#ThSa4J|6b7 zYz6kXy}`I|xti?3?DR_Bx95RFlrsAcJ~&s|k6kE)&{2sQjTMHh0xK9DGIuJhDaUY$ zC}#v3EEnqxvuv7lbRO1>SK;}uk;HR$erS=Gbbq6oO-ZN@x#QQN){TKc$!uov1oJSg zXM@mbHSngK_FxOQIE_#X_`-11pRP5V>L7lxZl{rb*5J6%(S7eWw+~uE|5R0v!wrVe zoxl`%ExhF`Uc2rIyN@jEeUc(z; zRwTn-?s+Kh(DU($IJBx%ZJpb*65nv@uutqzvQEPfb@NE9XwG7M?`J)5oWFq3PuA(p zSu&w^pH&1sUsEtUy(`R)ZJ|45I%m&UAl0@~{Vg~?X-XivynJnN46?-&CB(C=Z>zQd{^lV555(NDEYa|jZY z?iQL>cT@y0JqM%D00jjcQ#rKJT5PAGF|Kg-_+nt$0)C%SwqbRf9SBTJ_2`%inB}t} zC4*zc@TB=rlX#gIb58aF0fa0LXQ1`_g8Aq0tmII8v7hqoRYe81joaQ5d`pag8qK-( zfLH8Lk68Mh<2_xP4d_=Sp(}=e@E2f>y0kkODA@SlRr^E9IEnuR54numj5Gv z%sXbA+<=d7!pCxiXb#h5*Br;v6 zW5zCp2Rf>-w3kf%p_GVYLUXGB&}`d|tFHZ44qFXDXVrKtS~E+}BloAkeqdZ#ztv}} zEbV)8uCmq%t7_-m-^~V5+_DK)y_9@k`t8mHocT}o?kJpzqt*zli9GCrae+{x90E?~ zlmYtc{K~vjv0>9kr?7;F%~Mb78S_nUy>Qi0Wv$w zw86lI5fqDjd7`Gh#dYsdCTab>(z>>-A_8R5dg@djvnST-047fe6S5_NH%C6e zl-A09--q&owJ!RMjiblHLL>JQpoM;V01XM(2Ay^Hq157V-?5&VQ?oqpx!vO5zD+Hu z36I(Wkqp>B!=l8BC2s_}-}>staL%yT6+FR8f4eR^17>w+OIm!g78s99r@l_2&d%;} zPMtgf13r+-EK|$a?CN-z+MCxKt-^%9CX7Tw!qYAV9jUP&hnRR3{L

Cp`k=t|uP= z<)-$_#ugu!gpTw*&^euB1GPb3On;A!LQCd;Uxv9}wZUGRMZm^l!GxsEvI zsl;KgaJ@?Ohu2k>APBWbEN+2Os23;w&uDGC!{c0qAG6sj#YWpPb>Zmwt#A6h$z8O|6BLoYL=$8AaK z-!cB^m2fsp_mGNEQyLRy83sxmjlyk<{(9+w^RmaKGoqdWRSP*4ST!W1XmEMuPKsQK zq%1L9fv^x2;OjDskg!cMt+ZI1RGO$ORiiOWMb^GgIe)JCSnT{Cmj5(Qn?KPPc*%3D z;8@mDX!Y#AKdK6Brx-s<$O1-v-fzEcG$lHB=7vT@5Xyn=f=tZaXmnMEynhns3oyC{ z#ZHo?5U~}&gD2)bTDidXV4R19xVW@HAVBehHV%Y6q6>)dzOtH%v_eyQ<0~q?^1QKK z%G_@S+)QOOKtfW`%-YHndT|*8Ydzs>Qc1Xs43bh#;&8?))`)5qQKBn{e>FSJY-qkmzM6KmURHn&gUm)l3VwWkrE$N@Z@+j77ZOP zOsk8_B`-8~v0|i(1d*3|9@TJvD7h>$HyKXn-HUuK9E;HuS)n|$p;?+em6pl*^vq89 zd?^4b|B+cKEY`GkoO3Y=-jg?Cer~vU#uGI)JjkJT8iPk@*p6w(%l^b}52%4`jN|_` z0a-3;_!?=UgEtj>0J;8Rrw_0I{zzbz#TgTfDwkI>2@+qgVwO3DRedPrtLPj@gA=p|`qf>`K{Qw~Hd6eRwirZY#Sxv;41 zPKV(rCL+W8-kQwmHd65D;i;FwVK#0Mh#20K3bDnS=_KE#15)D3q2xDe9uBms_^iH| zyx>zA)QqSqN9r!scP?{+X8aAOBjZVSKV8a>Vq%knQFizOUhb0sv6K`ASv+Q!x2b;D z#b2`|QPh9YYqfZd)~n^{Dz$|RLMpZGGCB8-eS%6ADsh-?!Lvl5jvao@WuZ3sGm_YE z>LWXkxfu;AhNO$Y7=d{nI5qzG+MO+3LkX3?FC`SOTMc)G8Lb*eb@$UrtXua|whV=t zhh;(8y*BUnSNIslWib%iKkazE(Kw47B%2^o%8`m&hwZ=aCK&)2y!)8r$B1`j2a zxLW=U62V*ef9AKHcR`UEPhapDOOgTiovN;tY7f`HG#IY)_@&7WW zX?ynz9T=F-azXBP5wtvZGk@i8oE;Xtzh6${a2=+ke0tHpd%vghJ^B!o<7n~Ntu&r% zc|P*{+-#M0o-D=ar>f6?DjK@m329Q6Js~(lFr4vz)RQS7_-)}()6vw@RrnfOnP{9y zHOKV~A@q0}S-OkvC>=fZGa}&c(e^4JYuLB}v6P_xf$TOK3r%;Hg`u1abW3LfYR0A` z?j&KFK6jAk1O00a4tt@@=g-gFB#|fNy37|EN$2x33SBtr_HKW^JzQ@!`VpkR9zP}h z*3TD{A{0`IU(WnV7B69!)n{a$P^uWA*(h45{q{3=J6b(yPQ0}Y6F0}BrRP^GCQ?cO zO~4>=W-9B3uCPnE*tA1q{`4>!Zv<(h zPE&^b<;+yVfFa_*he4&0%{X|PwNqNO-EUmmvBwa$1ZU6RmSASLCdrb!RqoqtSoHST zILgm+v!>k4LJ^zsVdrl7@>Ft-cM@Blwgh*5q0I4lgoxKpkavEw{ifhov$1(OPX=hs zY1oF$TfCD4*^JwSzXh7gj@zs~+8rgGuDgIAVs2`@@Xvi$5F!?mEU~JSit%b?#2}za z#KkNR5ljX}5*Ua)C8|BWOst}X3ptY&+}N_98k(~s%9;nA4vfvESKeG4#?|eR8q@Df zrc9NJ%B82e*{nQ3hwE-FJ&rq2<89&XJdIs%r@Kz`gowdx%@kmD{VSEe;oQ#gvWwij z(`2{oTy}T@f1X5>VL0_@l3XW`=nuXwi4`%50)x3*A(o)=;BEwZQvgX3qKTb4W-Y!1 z4Pa6V(py^mH@c(-;A+X9c|%p;Kl(U(=;L)Q>Tty0O5ghjN*;i@dS-5{$^j&8GF8z#GvLBN&z>rje*$aZPA~J^w6BMfpaMI}29V-z3v8+y9RgXH z&X7BoVB>RMlsmWA^0|pYVq+t*zfkrmVnng#VBLC{8UwAYlwf}Z@coT=L;}+yqIHtZ zwOb(*psN(EuY;phL_^VVNHl<`xY}n&mE8t61m#2!Nnvra1hyq!&yWbt}#l zXIiEsi#bA@;=XWGZ@d|5?2^%;D1#%8gQ`B+J+r?lVdaSGX!(oKVu1)!ILaH$n9?C8 zg87^f{C2!*qX8`yN4Zo^ZQ5fmagXY__=J9%RZ7^SkvPE&+5NB?O(9N;HzL+9%g&HtQ$R56 z-(@ybr|!~>6RF>*lX|?|eD@+JU`Dg)Bdf5OzLn!C^At^tHLVEvde*)G*nawPH4R<= z8^V?2!L`&=NQ121pahnjFda}pq(o8#5XZ6N7jJ}0;cj7{l3?`1KPwwYA~7>UWTZm2 zJxOdy2oX~jKX4vqr;E~sL>zus|@o3&Y=vwqpxM$1-Fob{!FdxazQIN_QyJb^xw z$oKn>b6!hgP>2&DOM5>xV#c-=DD9xsLeG(`XY>-;L8Al+sB6hWl^E@@6)I&>2L3!yqcK#m#l$FQvjmf{nG8bE3y>qtH9a^rn z6_g$6%+RruB#-tZo)daZ9ruPQEFgO~&&o@zm!Natlk0=w;!CovHXLH_YtzOp@6YM= zwT;)Wkrm~fS%Q$}SkG5slb#LGNcwq8s@gbRk$A}j}4t_*STFPl=Iy@839 zh3UDiZKaoAcMZArtEoD7=M&PDz zNIrP;ir`P`OPakq*UMhc4WrWa``dk|Zy65HId=M6DqpB9f!+(Lrv^n#QH|`%;Tk`C z5+`LPWIA~=IYTd=QpI!FrPP&P`pj%UpgSnO}r<6Iv-wkD9PeIqY*axY!mf42|b|L^54dkuZweSs1K z`1GrM^mY4k{qO<3mx_Mc?=cr14_uLWfagjI4IdodZ;B_MYG3A+BD>O)QO$sZt-|+a z+uL&Gv;sEp2~f$Sa$A&iXodJ&ewZljhK!7o=@Is%hJu*sfn9qc;K|Y>_W~4Nz63;* zIURDe+u#mi>cx0T(#8- z?9HJdScFMe-jDG9u%lc?PB2&AJg?!m4U1lym1_!nw{n7x^%5y zVRi5pTvFh7VQ*Ox=ySu?LLUr%!hE7K_{sqvQaC2M}}>czOVvX-YZ>C za{C;}h{XA_TqcoM)7Pl8*-|K42YY$+EKxpvs9uelQJ*en^Kp8wrU?oS9?VKdOpUrW z#5szPz{mOR&#g$#(y_-wF_GZLoJc8su))letr7=>t{xf_cFd)bE_4PF#P0<7Jw1*L z6wWj-t-Hf(z6)orvQ0z=0QkArvMn47f=Cl%rS&v$Pd<)4v{@8cct|M%29`J(=r%|6eq?iqzX-)<7n zIF8=?H@~3FPn1hn z1JVHP6q)J*ZKvBjKhA=@xBc@*0295}LZCKv+iHX!3OOSdL%77omvZ?@irZbozNnrEXQv_!<27%lX0p-#P#gfclMhr?<#5!Aw2+suTqcGw#MrAQUL?tB$W{TwBXwf0O zdfEfjq$cx#63^W3%2o9 zruUKRX$jdWdUqSf?CAts_R9RanT+N>XJfpoA1D8@`SpCVNUuu|g+@+EVE zQ|WQJ1~dz8?rST%H^tI=5t}aoMPqsbYWNs;U>w_(!!GG6o(US^7RgLS&YhvbPmhf! z*&na28yl`@_=qB}!bf}rszMpvWHgt-AEu4vMCSeC%YV2`OP-lR_&v(cav60(E6@A) zr|8@4`L^le1rwT_zRl&wd1FKBxPBni1D?;tN;F`>Y|rPCtVR+4Q}tVwS0JbQmA~zN zozksV|8BwXpKKd;c}4S#Xls?pec9^qbt>f|L5{xn;PJB>H?NiaVz;OGKcmoMY1NY8 zO%@yiJXMn{*nu>R7LEy$NQg50N-GIHl&Asf6b~hiA|4+yUIsD`|5uA`cz1mZlwCqY zQA^25$0m;t*wU)zCXRH~`)chx0QjQjQcZ6Z8W;?=yJdHd>r7C|OGcf#%Jgd+K3nSa z_TF6RBy{$AY}bd&Z#L@jwYcsesr4Scz4I+^YgzDZ^cI;1IA$;0Qh34k9AdEnl z)5P-SM@@;!c$1mJEvVAXY^}C^r3$pjl_tN*ThfI`v?vWGf5kiH1=eyN-Xl+0DOva3 z*Bsu4cikE}n_o;?)vENRLl3*o{rmSZZXP<)a}uy7ZJPg!YegS!Np^fmF} zQw}RYodR-MK&FO+<3YhPA{{A4G&l-T((7ga@}`KStEECPBJw1ugzzy|Ky(%>AU5kc zqJ6#!i2~YRba{sH(ljw)LzoucHiLzq!#w;q_rh)cHVgy{l8dj+Px$U!lMDbJwI{4) zMhYfIIYP#n@jNm^m~#U(zr9NYqc=ZTf|Z~;4c``n@Hak5KpN}wI%GU)Bgru2EolJe zeAf0w@QJkblYwuXsZfwe&nb-ASs_q{mt~abjmGqCgz43=oe?uI|>Gy)o& zLOcdw-EtB7>hj>I(|EITBgz;jp4sAI^SZogAMYnoTv|Utq!)N91>LQ-SB(U_y;YWr zstCMxCDK==ZAfMfb16@$%)RY7Uq0iMr;u8Hm*qyfZ)4@*IEU}p+pU9eD!NQ~-Gl9=@ESON8ds>d20o@z4Km^TYi0(taa3Y{t}SeV%Ny zSewfN)H}D|r_iGo&B(DPXg9|erYG`iPnmLzNSRugmwNd(M;CVM6X*9Q&E&k!`Z1Yr zbhK1gN*WrZ)1(}BlZU14G8&$0EJ$@aQSf%zUln*m-$fASm(?`_q;&AuyIon9m5#6dp zc45QDP=p+6lZ8E9#u_eK2Ks|6of-#QMrkTfhh{^HD%n4vx^$@P?^Ki%e@o)-etX?6 zEu#Grw7_pY4|)`NxZLONLOgpSM&z>Ra@oK5dF;aZ^G0q9ur+3^0&JIA&pM~D4*Q{| z90)AXguVaOp`jkY^fV>kqmEjBU9^79V_Q7PJfGf5gxyNM@!BX&{kG~@E!F_)8pH2E z-n#kno8);4Wi|fZzVsc}*?sY_t&mK`?XA2*@?z{piNMb>ST-qcJ_=*=foVev zkR;GK1BmV%6BK;@0CP|}5a?WiZ&ZF-{uy8(hW$fRJcfsl>v?eKn^hbIEZQ3r@NQ#` z3x?Z)l4w>SBYOcbALVc2^>#1M+_oVR(=%8Pr@a^VJBc?`@OydOh>!;(H4@mh2j?2UEsV+BFahqBGe#UKali&5b#>sf=HiO(r;kX*x1vpz{ zckrRt^L_u%YK|t)0i_@48*MzmpdB@$uN6QBM2D1sh6_Yf^Hg&JIKNxnvDJBhPwERJ zwCqt1ZP|X`b{@wSN6+Q6e;D=2pw+H1LS5bB8`;)LlM6+~2;hc0POJE~ej65arf_n~)6 ze~O^KBN?INMw_NM{k$D#Qq^LtE>##4L%2fC!{gm7@Py1NaMrm}Z_Vz*p{bzfeg7#;;F;G|eM@T_ zo;{8#=ie64vyFF~GER>UE~!~sOxkEMZ*c`(3?E-!JQ=;gZu1$b^;mC5+$2o!2aAZ0 zTdpPe9(B7W@(buO7xlPX$$%jr$B@sUd%jC(S*=!btGUpuB+oCIhWU@8Us}3u<+==VrvN;jYL*AO)rxQFv-u9n6Iox_-9a@~n{qjY4ew=Chr?4U^ zdaFARZ}eV7{Bjv6Be$aX16Qf8D<6GRRGmaJR^KHpnA|^L;Vb z4cg+a;?V{fp>orn8u+)eB*Y-GB?^p5=?`}Cn6C!5RsJl5839v<-BtziX%)agvJQ={ zw&)?m&Ib&P77IGZKMSE*1U5*nMcj)OBWxrNVKwAtN#gCBwzNX@);&Il8X5DhK%1>S zUf$#S0&C3X1v&CT_I0}q00&Ft0ZgmQPr1+d3IBZqN~D!32G6fDt6MUFKds#B>&UQ| zxXPd(H$KY}-;l}l0EdJie|7_SQ74aoar#m|qaK)-0J3);tp~taiQ*lX31Fx6I4j=p=-PKQL6!d}rV5-5g``?LL>|p9%Iy>38(^-h1?5U7<$%)_jOg(XcgPZQ_iQ z`UN`Sih>>cp|#z%g}2=Mwg~2ubk)qxj9aF>IuKfB8ZFx2rWK9bdfO(vdJP-FO|Z?l z7t2q@&sNE0$@*gCSnW}BPBq))+mzNx@*}-$o$TcqvQx#=_M`goES*5B2CKAB-PcW9 z))K#oh2&?v&a(bS%H>QhVi##m%Z==&)x{oZKNcUq(Byg6!-{C!jP?wp{oN57ua)d7 zeC}np4qk3jFZUPBTb5h2TfJ`n_uPl;F~-yAsr8H353BFXZ@ptKC-D=y>2HSFgwtv2 z$;z3{j8^{J!7jfepR`wLzO>zVel|bNpTIA#2mBd7Ej zbZvV-vzo?kC(qNbnf{q>u3fD&swXrwbX}FTR(lBpC3LT}C%Si?Kpjt)itB|r6YDe! z9W-aoiAglhpgWcMqJ$()+u+K}JF3L8n5BW0(_=|A?G^ zkxzhNo5;n!U)WJNk_LXRRT{rqVPZ^xvmnUXvxbVaxk~XprstY{Yv}brpW3={D0Y-qB@|h9nv5fY-U^62L=f+?e@YnlF z$OS9Xy8grx6B3*_q#qibl%X3|`{(C(TPSa_Y1*)-je9myBKji`6K?p zOMK{?*h81M26ixOUzLLT)iIjUYsebvpQO8(qo+um_N5#5cHQ5YVml5uIW`tJ{A}|8 zs&&qLm8^dlJ(d0669lN3k&wrh(F{R#rr#EVuW&Z*` zTI$DsBwFb^uO|Kwq%9=^8WWsJxd4n38dIDh4+7Y(0yo(a#2ABMO4^dh9+5FcZpnxx zF(wnw0=>`@*Cw#~OTNZ~kNX_K`{QE^I%-S)$fd@MmkWqK0Hlm{AIUzzTN218(H@yO zhJFdL#q%cx9RYYC>hs3(fc)`8&wpd{2*V+|O?U;A*8=p!Pw0&wJR(gm!XLME4E{>- zhH-k}eGjN2NHV~)B~>y&D@}L?c+X(?3`cePmkC<`j@^Re;LW2Up*@0Y2;vb&1ElSa zq9G$U0CP<&%6}9a^GoPWm>nZul8{}JpwZyF7wzi1IY2k|lm!bj}oHwm`c!PUp5!)X>Od>b|N>VHNC#IX4N>4XuYs zO-VU7Y1ajNW-3n8d2SG*r+#jbqOV<;e0%*cH);RbesKJUZ*QH-VeRplx{AFoMH0Q!ExHr+K@ED%EVqxPHbh6##wa~QC(@Q^-vCvK{&*z2W#x`= zP~hH=B=YXv%pZZ7&G^CV#VKfu{DJ@f2(!5})>K+q005bPk0$^mfSHS@r?rWmlfAix zt-GGHxrvPlt&M?`vxy`9e|hy^b570%&K5@WrgpZ@PV{#6CbqOr2DVQB8_WNTmHvga zLUz{1v~DJb|LI2OW@q|;3^QXlC;KwlIv4BBlaZB?md1LU&6$xFo6Uc1oPMSC*6r5M ztyGS8v20f6bxHY|=a7t^3=9P3sdjtyNDc+0PEQTkj7 z1sxIfb2Q|)@%}de0s|dFSvMo#9bfHbcI6xV8z^fEf*2dvi+}*3+|T=gpQp)Es|>T9 z3mFhF;N*Mp&lh+)LfaoDFXk-2tu=nxZ~ksbLuBEKjDW@7_Pw27mOsDHB+ORui+7?GXWt2=V2Q{QQ^vb$-z-&>6qPzYf30LT~WK;b(izCu}n}ziobu z0vtcXmiKkK!> z&N{|2K)u)3*+0X{9Uo?SzgmyMu@J{YJM%}o+8ND$9lsBdz4{{aPP+^XtE=o_P%=}# z(4?Mb+h3K^!_crp_`ra0PkFQIdVcUr2v|Upy9j5#=psl#jA$4T{aA0kL%)w%sadu# zFS1Y14&roWpdb`T5cOx6(ilE)FYvIkuW>T6Ffg#ZZ{XQ(L12*efq`Ix1oiq3!gqCl z7!`dou}FUYz)itU$rm2KK06>K#uP@o_DKV@0@L~uD*nuVe0-Gte5@fDB1qiii^~Mq zHQA^C$o2^mI2`#v6}h!PI>=Z&2b`)$Ig|1*Y%q{8NHN4RC^Don+%i})JTbg795JYx zkAp<#mD=$Kn@j+L^+6p-Y{Ux&`~>s|*i#uC`5}t=`ue{0e$V)Z`U?4a`=;~x@adKY zAt4(1I`!NhW6z~quWs$oCeylO*Q;^mGJ32STgUSW0|%;QkY(As!><1^G@_MxS(Qn} zE?-q+av+48R{k8KrFHPz9@cZ*vUc%OSAcs#pE$kq^3|<_#MkrcpTC!LyYwzlHh=x(K8f1k_ck(?`e$&Ns`q(=YYQ!8M130C<9w zftCS;foFk3dD(qGr*NIHfF!aRBn||FsYZ0L$!9Gc4cH2;lSWvcgO6^X3L>~tm?oYf29Sb8bX%t1Nd$?oanl5gX_(xE0({Rp92;uw{IjT z+m{bwXswDxQ=dAfdpL?>40iQytO+cms5rn!uV>d^(NHZgI(KNE?JhjlrA~C*02V7( znudhorU`}voD*e`h6V?({x(FyB7#OvJan|$D^uN*hA?fAR!_HJE{C({Ff^jc(jB_Y zU{cvxf--s%MeE%(#gG)(vl=r)ht`c!2%86wh*MI&9>;eu34ma9y^6rn%Lr-Pxqq>tt!??__1wZM`nzjQh$Oe;G+13K(=5 zcN0cp6@e21}pcT~9OtUA!kLpn#e8!+cFM%7_BXJT9zPMz&FdBRTu- zNc&lNH|_-6z3`-it7dB~^j{E;%&=^Qe*%3_NDJ;u<<)nqtryF;hd1xcOMA3!2qi@i z-~~^zE2&x@A~#SZHA*E6n%0L54!u$)TAVsHCX;66VKk&tcfuz>W!$RyS2l++l~#co zCMicJn~Cxvea$>C7vlyW#EolvF4mz|yO1t-|b(#l15@xii`)CW;@ zW2p>gIy$|mzub{Ic<3+n-gyA6uqJ1?Sx1;0mkfh_#DPq|Fu-S^lL?>$VIJ>RSG3md zI$k`Vyq!S!SMe%)C{fbtAfoULt5~Xtu|}l^KfZMx;L{T6Z-&M$Z244}GP6H0D-SU-*5q|PpN>^#v8}HSzkLcas z$oqhwtdK+6%FD6yeLgc$+idU_y3d!Vv2F?xjq<&>wd>W4%eUDCdNpjo27KxTpVNHy z)Lh%!FPpJ?;Gj?t)h?}1}%pwZGfkXVAwkRvVr zH2WUQ_JZZFjU4{u$MM=+eipC$g1T^q{KE95-wTEq@jdm9J+7V&;Ov+pFcmq^^f49y zk$TO#oGPj<1}Cbkd;lM%%R^XzAlvpMRQigr%%Lx(rr(*wSacZ6+mVHE`BJUW+E&k@6LL+j{g9W3@#9>+^9U z&MxX=A-H1S%BZ1;SPztUB(TH~=!mtD(7AQoxXuEp_4SKwu^?s{i2?aAS@)ka*HIma zX_s1FBx(3>UO>ZIcK%l!*r12JSnd7VPS_~)7Wts1INP~Dwv$ja1Vi_Z_{dQz&x)PZ zi)(6|Ss`NiY0&@zt=&tfAGkuiNCzB{cUTlo!D?TJt2rF3(u)jHf|m@dRtDJFu+9g2 zS6r}Ie_tXrw~JdCY#qsw)9xE2_8d9Q{7JsROyVEh%fIf#DhkxwAxf$k)w?=2IJm+F zW4UNS=`?g36w!DtjhEi)7jBm~B@C@Kl7gjLuF;pOqQ;KfUf@p;Ve?D5}U+O{JP z8gCU_!{jRP99JzGgb3ZKWnoM1{%}*5Qb6bbS@;u7S+YUo7SqDO|ZDuF|AyyW8pe${FSm~CwWb&j+iS$vg9<$$&-sdo1M zF5zzUeRCnBqriNCHMLezU4>>;l!UG&7A_s;{M+ z(EMsfYlN2?xqiyBlqC_6w#xhu%;=LpzHSHJ$jlsPxIsf8cH96p1ZI!Her{D0Z84B1BGT&+;ym zrbodD{>aruOC4H#>lo!@OS!@D1YGK&3>ri$a26MYv?il}^MU%C3ZejvVYlh4w*9fU zpwJ5F$-uQbU+jNwyt*1;jZTlSg?7b&OtrjPD@@ zu^cMCo%>;I2IP2EzhkdQjVMG-T*0t9FlrR_0`Z_?f%G;h&mUBE=o;?GYzRU2)H+aV zYmL`cxwQ9%OjlMy&Jc{6%)(u1U_rNcMdbQv*tlFwHhiOMPx0%enY*+(bkU7PJ^fx{ z`-n&iP%O!{AO_r@VK_rqWWkrTwp!7Hu)V4}|mjPsS;UT>fG|8$P;@W{-jC z#MaC3KHOTic9CoqDlKS}xffVM#Y*x60rFoWV@$K3?#D;tDpF zhZ$s%_rz(|lbs}paI&ln?x0Q_A(od^9QDM}*@@?^quaD<#_&o15}0#%pYcZGp;Qir z?aV>8Ayy=uSP@+2p<#=P2GrRRLn{&cQchi)3G z{?n7^yp84$0_vLe_s7ZT8C=rVT9~c95%c{BnWdFAep=T^cXYdunc0K{Qu$PMES`%t z8kI=_b-AVMb>W2~+{wU!)I?w=$O6gw$r=YP<8~E4B=8xwuyTt(!qJGS|pfQ)wHxVc5TXo_cvyFsUjg zoYDBS_nq9?WMcFk2Em=QyWi`Bq2%q9zHalx5q%dK=PQewqF7;xq!s1DsR)Jk>R3ZR zU_?I|oE|HNYK$y|9>l`pKZ*T=Q!#^6AxHw*Ar?v=eA*?#{=MVTJ@?ugN9+d-(70qmg*>Rm4g6$(F?%e+p5ppKGpfVU%ygjjZ*CQbU247HQlMEeb#z&Z!SoRaZ z77bg8UO=)F-h=dr(zaP3)~9B1)+S&Y=q)3XqZX0S&vZzP#$@?2-vI=cp_7k5gY{C+ zTjC<|=2e=$b;p#9K!*(smi%myqGg+p^*1qWnf-~@Ly59B78O6D-=4Es3NcE`I&bob zoh$FV1PTQLxN9L7d`SkRf8iwCJaGx5voERA`0h?HBIV#vjz0XEwO@lVZEy(}G3f6l z38)?LhEYR^w=R&s{`nJTfzC=jd-$=n?x=cwOWd~m;&HhWOyBOhJJA&fMfE* z$uhqSs7Qn*U;B!>|5bu)G6#KXoVyWgkD2_H+c$1|ytDf!5$~8E?B;Q8{$_Y5tt>ek zaKj$3*VCZJ&h3>OeVY2Xs$t)JU8WA6m@O;J>?qbgO#jZDpXY1(edQ70rR_5G(~Up>PkM>(W5D{yaGaKHYxl!qJ#B^7R4F|V z6ApFSa5oIa*5=D;M)>PS$wR|n_jR#Q4yJ8u<~FxbGoZ=BUvLQlnj9(4R`RV7E?CSG zJNtzrMoO6~<-ENJWu``FxMX1BG{3Vj3-Ju71=u;70P`E@N+UVp8`Q4M5b-$0v@%`< z8lEfg9fgDIU<)dci?iEQwVSKh_FD*%X?MU~YCv{XqfsF@A@($~u>4sS`C_+Ar6tJju*7cB_jsF4Cek>Use z9B`>W0Ff1YoJBbc7|~?*eFBO7jcMdLoQl0jKC?@!sl@cEwhy8Lcd0 zEMlhQbj^KC6X1(;be`QHHVy3-xVTiESd`ORX8n9&6v;MARXW*ZaAPlxtUqEc?a$4v zJE*b{-|nlw6usxoEc96MD16Fxf1VeB^{r~zKcG%**#dfzXD4!{ylRwN&iBXJgoXAj zW@5)a7DF!T@n6zBcdo+a*0nAO6%JxYW(;Y3EDL;-0w$(Ji@lj>0Ym&H;ZR~wX+kh; z`^IL0t6EMXy^(NQyNmsHy{nOn|-yAXb z(-L(*Z_@zWreN6sU{H70M`~OrD~m(+llIy+gp%X+xgveTB!t6-1dW%~;<^}vd_gQi z2nm?*n*O4PA#-;ko=Oh&9I%6gssn^5o{pZ8eQ*gR$=j8)EXCpIo9+~bsfMkp)>Et6 zqzNVV$gFJFZ-*N})}&?N^4+o`9 zq!0s$U^dpy>^vBrQ~zUyWPH?CM=)?9Jx=b|!&GtP9g}WdQT+Ym(d7^WOs#x#ckpD%2MGM4r3E>stu23Aw-k^1=P zai_!m)^E#X(!DJ(hK#o+w#pM4xV0Kl8JC_SPQfrR9%-dB0Ny~7-nmGn5y*I9BXNQhFSme5wp>JuWv&-Mnt#u^kBd| zm3+`jJUrt8*+_gX;?g25pxr8m1k#~fMkt&~x6wthDGf|lokuYBw1$6vUE+A#g=BRX z@}i!*xP2`sh&jqeuy`B5+=L4t6+%1SB~ypsvqG|62O%}@GFhq2(^vT8CrNAxGm>tt zOM*hr5g4cezafV{JRL-a)4(<4oLM)6VPnwy5xe%m5%0?wsolM$a!q z4ucGVTfORbuE`H{xS$TK6nck7y+v*mr9a5uK zVD?s7Sl&Z1)q)Q1-==NG8%F1{ckYC*@OCEC?WPYaRZ|Ag7`^#RG>=o)YEL5|$`qvF z&%e}XtE2>ca6TBwn6*0cQfdRQr{H!qV3g`glVl5yAJF-yhxIllq*rbFE=cBhiAd)! z&hi!nbO(}7FR`ET-QIh0D$g$RXKrG9TrM6w>=zmNRU+Rax5TIe)l(FN*#l)0)X-n_ z0s&k^-no-lz4P1d-nSC03pJ0@jtaG{Hfu$%#?iD|Z@CANS%^y27x$mzF9JK)6)5$; zDO+R>y7vL#pl8uQKn~-Pt0gFS%qS^5s~G3y8zESsqt^j61(-P8Y<}k`6+xefCLOu7 z1gRnJbi{PKrPeOm%dLY*4H}O-wQ=maS?%1}Bq>ET4!O$OhGxvbHjSgLCR%u+*0yoi zoihOk(O%Ll#s&Rr%-nHO#Ugb1wC{6ktjv%_Z7l&>0!%*!_^dN7paUd^oBC7;g+4ZN1oGc*7FQ(Dx**cnp;zV6nM9pxT<0J)XH9lmudDj0E0C*up**of zDMWQMA2Iv34_niW#^!qg-GqqU447@%Rmi>r)f!1RUJX*+U*kD7BFwyCT54pYJ?7Q{ zbJm;6A>34tgus5dHPrGR^%S2PiXDsZ-HJUnW#=D{tm?jc6@V5ae3uG}iF$Bn44cbT zFSPf^F@pjWmHn&E4CAnO^^1?|UH3|#k1FRT_s73=N_h&mDW2Z}ZiNARxK8kLo^aoC zIR6Clc9VexF^JO6eh`TKS1>SaBv4op$^ev`o_oge=!*d*O4AcO}yeAqCc^koP63 zxuJj6^f8Q+1j2ZW<<~BVH}3q@RbhPfQ8#biS$h#LEeM&b^GB_xH!nR-Qerkc&04=a zG)vsV?MD)+C$Prj(*dlekIZgSL5 zExMn5xxdZ%3TUS-)oM;(WP465d^G&fPT1`*(`)F?_$xIoJwV2KRbchh*{!s9`?~%S zrRMTqw0YpV-ZIYr?bn=~Y__c>F)+dX2m`^Z%h+7$@Qz)7EfakUuO;rxW==`82vu6g z&e|tD8ccopf5*AYGKGRW(iwq)dzbq9khb`we>U$;q(wF%MKp6o4vPgmwf=q-rOQ;W zgtnzKUX@=VkMCUFVBPY`5 zRWE54ZhEdybnUoAdi;FCC@wym+^oUocEujxBZyABrN>P?tSL$?Cz1mORJtRDH2~It zG{lXK#nPjL44F1peHS0jhHcikN3MH%VZD94TYV0P8gdKfYzd`TOaWzTlz>IS)`uL` z6yeE6$LC~KysgSUI(5Zwh4oG2-LNw|9{XRuErp!M+4o6K!@r!uVayEZrR98o9?R0E@S9Yk|i!mop z1v5!dx{7u`o2?gA%ZLqlr8RcTu8!rsy^-t~ef91DBeW|7MAo@S_qJmxNkxh9n-|H6 zY9_Z(Plq|q;uCUx7|o7)Ho4mJK~3WueVJ?0yPPsff+FVqkvlL?5wT5`Og7IL*jTi= z!vlIa|6r75ubC@w*#^+B>eeB&8|6VWj2Gw{zOY>s6is*^&~A|>16>;bgxvJGzoyt3 zjaA+C12Zm1$Yp@;V=@30z+cyktba*YOxIMJD=*${25Hxm8X~ygrQ2-9Z1Ka>b#cA- zwY|bbJJlw7-bxa8WXilT9MeN%(}gU9O_S%+74zC%;<`>fSG8f!n(EaX2ATfev;x|o z6hW9J5=dtiYesCSl3HQlz~LDO3&mS9o(uF8u7b8!(70$ZHxn#92OwK&0g%#0^dBAS z;0MD?p=WMlYBqw)NF7PtqtF(@;K+3qFTrX1?QDvSK0=c5lugz0P&2K)*mqyww_Rj3Ov|5yzjGRhd83^AO$4p|JD*b7ck zk(+s8pTut$k2-7{Vt;@>k3#c-)Roa(R9iz#tRRJ^y$60F>WC#FRb@~Dr=H}DCuS%d z2fXR%4=9I;Tp_OD24Pm}0j%m;@CBJ8D-3uC9|AP&W@|Db|80ezfuyQ3iC}#V;u{m? z;>&)GRn80ezEOZaOd+B(c@w4GymC+}X)c$pP5`Cl-*L73<32q3$9?Fp_@9FzVIXx? zfowLXulU$t^Ai0ELNA@!i+RC5CHB{2i|>wJDjH&KRJO~d?9v3mMwq|khAOg|=S`dp zUL{QhwK7DQaR!6MC>amk3)kxsTEFlZ8wGRu}c|hkYLsyantC`WR-~MwaYIMSToq~VOguN*DvR z1(I{raO&{`vx~9ycubOdKtsmLd9XhD3f=Q*e9z1U9W^|WnTD{I{z1*lPX>04jbZ{Q zE=tsim(r1_rB!h76CIPxX%TuD^fYE5b39 zl|zBQLP$EQf3taT5n&`icmxu_OwZ4ZRun+grHZi1=b?YMM?0#Hixs9N`mw^(0ZOxf zM{&5RNx6UJMs(kFHSRCE(Wx+BpnrU8A`uA)no*J%GvSzQxh$FYRq&j}?~dJqXOg|5 z?emJ75j`Fb+lh<6GLoF8%bR{AuBgzyo%Z@72)hP*b@P9{%J8{8E@l~RI%Ui$_L>|N zBZDgLtQ(}dqxn6A{GCvHzs@ymlqWwhP?v$L1l3QH(jt39yN@)~Ji#PI8RMveu*!Tfy_3K;%qV`45hsvHviWS)@@# zIGK-xhQ2+GM44*wdHC2qdHm;y#405S5g=OtViP3)a( zwa31a3-B;X46-P9;Mw7B2+?dvp z5}#TU<~8{$XZ&-oh@{*8%Lb*Khu{bUmnRr`Y0Zq#J`eB|1hvJ$46P}XHXcP$1eU%4 z`Dm>xd_u%Wj})?u<$1SJ9}45f+a%~$UAtBZW?GX)5fhsV!f%p4ntMkNa~EflvJuRk zBkd#E>^i)1ds%(K0g53#YA=!5>b&8Ep#bB)ejEm!^8auI;zaaqY^a$c_Nd zr`Rz{G|~B)4Ib}(_LoLIxv?B1*~vY7^-sWim|1wUj_Ai1 zHI^>dB?O}??kR>nOIt34ylM%4w0G;P2Sb*A_)Fw!K(goBYDsB;jmE1XaHpBlW(v_( zO1Cb!OcE+SL|%Cp?I*mz6ug-@?<1;^+xRUl6JM23zAbZ3T(RCTlDknwuVvDCxu3x7 zqvPSI8TFDOx-fB}?rJvhxgb4<(>e9_wi$jl-0-=A;d>@&xN)X{(;MUn;0f}X-tn06 zo204fKuxg6i~WT8!5HQ-DSP6Pgv3FxUWO5XQW_+YQwww^!u+90;mrhk=9jJH&Ry=> zr5_Wj`iq#IkXzncu9RHzce45s)b0KNVL923ASxhLizFu6Swgb|Au0=LjYDON^zm+D zBXyr>9=O%Wm{5Bq^g{QDPvl;ZzlR11OF7d8TH$AZpn~~>hcp(wu97xjGoyfrF-_o! zdyt$w!4r$ybG^AbX=|gr9noiE7qpHujGwONK?;fU>fc~it(s?E-H_;qzgYi$1jHE; zM+(g@hm?~8_cb%{pmFb25^g$zR@8j@+F9I!N{MQLnrnQ|s5oBa)iKRCxGxs+k^hJ% zN~jf@wl~Q!t^H!0H@AD(Pvc21%VG|qt1GlBj;6?jVr>a#cs9JJvHhcxzfnY4$&}nr=t%v@SR**j~NgN=)EoLsW3@%$BAzJyF_OHhP1 zY|uX{{TePG%7`Q+Hi{1?sG z#}_GVHYpnXBmJT2@YR;H+U0;LAqlp>S>n6?HT&xkZ**ClyGWI@OV4OWd-w7q0y{Nu zE^6F{d~KaKzrS;4ct?Yy&B9Tp5^b_icwDdglHKjjeuUax)+P-*$ zChGn_a!RSiIi^eKD z5u2^;HnS0mL^NHkF-bT@f{Q=~lYxrmX!}?-KwFG*!99xXyID)T7X{ktg6<6wjZh77 z{358J?W41@Nf}{vK#`+vX6xn`_w>Y)zkjViDO==Z#MvSN)}ma=#%)Sp8NhP=%8QS0 zp1B@*OcQ+}506-QPVAfM_6_s(m`C*%U=b1R%+2OWPR30BVRRjU<8>FORu~hnb^<+` z^l9)W>=o5tI08(z;m35x@vRwLhURcvYWFUG2lt+ex-?1?4mG07w+d53D6h|v@&O-CM}SsO+8vzi9EAlm*_3g&kqR4rD>N z6R$rgeVDM-G*rmu@=d_CC05zz93UQ_li}S1C}`>^upWsbXkKv$3aKtfC6SIlFHRw_ zAeuZNa$<%#73)FYPoc#hRKn0x-80y`qT(!D=Psm^@z@_9Dj(9_t^CeT}UdP z#jZdudlLE(63X8OZy?}6%21u4{@O=~how9lOAb|-&;*1@M@pwsA4g#sW!8<2aXvFX z@5dHUV_)Ul-wR2f+Ss!*MYrzdzCHRX%u1MZGgjPU;g%6NI=~&^Xx9ql?#wJik?7`s zvK}mFl`t_yMrUI!3OX^Wsqg53TEQa(s&+PkwYm!!@!X6Ly~#~-%BYWMB4chO(m>xU zp4nohj%htKDwK%t@DjpW@sFBbsQa4r31Zks0PiN)ms&NobFr%)?Wq%X;)x^Rv8w*r zKOBF(K{UOkK3;UpS9Yo#H8*7^0H&THR^UCs?mc|P_z3;L9`2K^Bf{jK1qH*h1Rni^ z46{I%Nr<2G6WXk4tLaL^vdxv(BiGl&l0YV5C)5OK{)zd(^saYEnjoVge0SvoIS?ZQ zk?3Qg%eB4c5qhlSstV)_{NH^D0ayYwFGoYt*vYtoG6Zlm5b*n>~cX?(00DJ2B-!j z2LdBMN+RBiG{^89vP#dxs?Jth@#N0@9&Z;FlMxEr~pK$;TexS6;w*IEpxQD>_QKhqo%|L4~>My(y)C~rC z7pRj5$qqRPH8;_H@)yzMf(Rk*V2rHI2%dke4r7Rs=avgV=gV+%bG{fI;{wDoQg5U{m_+%)_rT;ulWY#d%F2 zgWhcy)b8j**aNsUIa|~+E1#rAWxglVaGfmepbw^LrI(>2t(x72XjbBts2^l+ zJhsw63A7U(w57g6_5r&<>Xs{*KH#RdeS>h5iXQmFJ$rL6^I~u3S?vZNuC1mKH)Y%E zlsJ1$A#$Vb+|y&nFC~lgI9wW)Q`SeCSMT;U#T0oQu3YQuC0sKKbL(7IOVRI%Nt16k zQLg>=8+_K47Q4Y{9nn_i91UvU7S8E-LW1RB3$0d9@`5w{M76?%PAEFX1)Y3`AC&9!3Uhlx5~jvFc)b^h?Y3<%_az$aVF6(a8KLa>aJ*>7wDo z3G;<%v~0?LJu)`bDf)xQd!{V+Z1qa?1MG^p_voYZ%cwX#zx>{FZ>&)L%2BVEb1At_ z^QTJa1G}wPu}Pchme_2`1vc?Cg=sbW232bza+R7w=&LiR+~!4FGeD*=n=Mn<_#4Lf zq+fyq1+|5fPDc_jvz&|P?BI^)=X*RvXp==_$ju}!VVV_8X7jFN&s^hdI;EJa*?A;q zfPhT-AZ$Wb9Zwwkrz* z&^nCHS(a0uoN3vGm(}m(6i}xs5(R8V zzeOjiSlW!#NPmTs*@u)is_SKBmiqAaZTz3{2Ywl9`jouf8MpKZ=c6BjE0k9lP_rnR zcuHy?OQ!Y^ZR#M=Cs#%CjH${AK@>qRr*g5jSBcb-ABzvv&6)eGA(yz3*Jn!7G{O;-UK15Xr-pV-Y(7ps~DA~L1WChZW<)+7Zz=cCGNqnWUN5;*F zu%RzAh~YvGb*izQ-)?6CSrt4x@ly9A$EcsbP4s+99{$skf4Qjepb*SQXNBLFYpMM) z-ia4hUEZ@!zvb#{#B`hhfR*@WF3YLp5WE;`8&ki6DiWs(gXYxMIzmaL;rdz5>o+4r zJQi;l5du;OZ62FIrEOs0Xi$lNdog<5T6Gl=s8z!kz@`;DT5v3iWHVEd%~|2Lt)MJw zku(DI*2RJvCWn{p8L179%eOo6LOy~b$5v0*DHsYZE1T{aVHAD^efyMkiQ8mxd$B;~ zaH+QjXDjtXhgBts)>Xg7segfG2gyw!6&V&T076SF>Dxe-OK>9D z-AJPtbxMb!&{fGet42>3)J};na~+wc>0YswtpXm6;ec@3UHvjb1*QwWCU|q zV0SSjRuEj`gJ{1s>vI=YEK5y#0Q0xl1{NHM4J^5`LAY~58Z-GV>FQ&z7d@H?$CQuD z#Fl8+ww3cV1xseUx$bX?X^{mMIc2s`0y=PLSy4PXytVY(ic=ldL}X{nOltpuvcD6xwX^%2aU zM+7|ftyCZGt)Mj0USWCb%5T^m>8Ck+mP|UbKe2_b2H-{1Y0M|Chx?r$AH|0qODk{h zW;OaBEBl};a}_f~a#4i3B$)p1DQ5=-j(?N3*iiAYSc|7qG2LLe19bAJzRZmUu#qDH z#FD2w=d^^Z%NsFCVSCizTlIGku)>S}yYuS$;9{A+!+h`$U!ntfrN21a7l85ZvlxR< z--$=ypYQJ%5Ie68_x(ebdqKnaY~U~qw9s?xxsakEG)KMZ&>RY3Y91!xw&J0zTg!#; zM!@^^rDVqpixvHN4W=y02G(C~Sks)uGGrw8eNZ^M_zND z9;#imX!$L^x8>7zb`c?4wd~(M`-H^a?cKQUPPp^DSN*=cxOrPS_uJhDM~;`Q@<)En zxZ=kPNvH1(vMY_yYuV=_sie`VNvl|JPy0UCfQU*0lK zJU3gKo`Cr^7bfvYVJ_kveSrlH5!O>vZ6t(0Cv%K?QpbaRq)N2+-52*sUh|6oMwGG8~CB7yKhKZ9g1 z<*04R(-UaIb-3itej@}yl&z=JCxYH9I%a^hk^UaEL;TS5fxe7w?TDMp_=v^B@4U5J znBQfU?D;^{o~V}!N|+#HMU}OcM3(4(GR$fG8&A?wTpW#?EsWcWrpMX`%>|#ainPP8 zk5W)8vJBLG_kokLS6Vw@?7oCPIJiCvKkh2G)C6Bzr&6}(KM{Jq;tzX| zNIGnPSLyZQaAx zYj9Uq8#JG=Mf92bWU6U$%OHODRl%SQW#t6(pz^**UN(f&nQHVMuGGQH}{GmX2l zMyX9cAqWZSka6cQMv9O}`zmc97W0emi!wzumKPp7?-f>1vzPg56NZ$3H3+a@B;f3)e$0 zCeFIrtjQtM~k54=ze< zhm7s134gp6Ks)la;z31^{kJ7>w?f8mNUvB@EQ>IJFi$29>n_O{12b+hBtm*duReWP z&0&Gg%-_hf(R@p9^Qg%Ic=E7J1H zv&XiXZTqvjrMvd*xReh9=(n@s_GW|H1UE@u6L#K`h|#-f==%6XrvK{FJ16NAVPhyj zKs>aZ-QKBf@xA+mDK3R>aS-%v#A47#+hDdn`EZsKTP@o@mda2k{xxl9C#&Z)%KFkXB|JkkfQ0SB(_k#**m zLZ9$>S1!P=+_d(R>I*8v$vCXWJ<7My~iM*m*j>RmP4yRMniN9et7U*VM_ z>yYG{Hd!~Q3VMny8SLs0y9{z;+BnX>VWX-~n`c+7ndK<=9f)dt%}Uw2g{Oy8>CZv4 zh)HnFQq?=$n*UT~Hr30b;pLaz=<)Vl+zpRfXYhKS#@4>W3pdH%a&|Al?TA|*p50C^ zI-79rv{vT#3`+HyC`V7}2;q-hK*wpyG|&)ZxO(VxfoZ!l{SC5*gGS+i{YNvwPSsB1 zTaC>#)$9=yZr&A=I%|=#4@Ph^^^}pGg@ZXkFI_X4!B8PjEzwvE>Bs&xO^}>E59$69 z8rDjuj};~Re8{iq9(vPNomrxI97g)UiMvTR6^g3nT*WR_+sG`wtFPbD%>kOFAMm65 z)A`WT^u%4}(Mh-RML;Plll^(APT6YR5W6g60a2-`+X<6pK{vVZuJP-wqTB8K`gg1) zTBO<6-&;Z6m*PVGW>(53y^3g&Ckz0|=PMFsm0*kKuUA3=q(cze8enR17$J@Z>735M z?3`=^iKooZn=RZK8-IPyFBxrQo%`n)5+6Ih;8@$~g;tgG!Zko?FC5TT4IpGWlatj7 zNg93-0VL7(`Y@W2hv5#>^tfErY^2J0oROBiQ>a}b-VXn)UMwdu?0h9&k(f$W_F;Y3 z$JTUs3>6Y=9`NRBfc-G*r+w%+j~=lLYIT20bZn3?iQE^{ymm2}D|lNR;;}NfF_abK zCzzq9B>M12d1^AZA-PPe|Cy|q?N)W6I&b*y-8*Shu2j9*PcfveHMGN}+9hd4*3YTbj1L&GYZ)1)378-;Tq zDjM1Va@eG=zkXJZLQ$etG{-D^{xcg4gP<*ztp(?O{J!$L4Gcb2M>?n;r{mrbOlLK# zL;-3_z^@)jDI_Id7A4m?3#DQl?iPlR$V1a9;LkD$>z>b;GHW+%=PthRC3Hbc`FfeA z^sx1fHE<=!4BqIC;cc#s;4J%;A-$9~``PWK?EBubmPctlH0KwdlM@jt(+_AV?$i-i zAU2m5ATKev4R6S8k4A>^p`l=sU~Mdl!n6d;uIN0(55NoKgKJ~GI@DN+l1qI)y9vw9 zn+xp?X+q>8(3>1F1St!3K&x>!6o4++Qy#Nkcl)GVF2y%xvAOq3?2F@;=HCHLib2+N5_(+EnU2@q4o^^@**= z#AS3bZ5hwcW;_a9)#-kxq`Olh-C}r`BKo$&cGBxzs`{TIwk9UrkPkeRIA~Uc>K#2Y zCviD~IY$h6jfEsk4W4osq;#u+e67HJzYU+29&POp@-6^gN=#V9qU*gptk&e%E# zumy;j+vp_BhheFh9fxrl!w~Nsjudt9nyFg~e75G&b^35D_5Fe6o-hw@E43E?m_M7C$He1cA6}7t!}i?$=$-36LtD-M?q>T>9BjUI*w$dG|6{IEvKaafHWH`sM2pDJ zGgvk%aX$%X@sa636Obs<6(<%RD<#eM{E1~xlO%GD2L4_KVx=<7ND!k)Q#z5DhbO+9 zY?Bok7h<$AHnzv|+AbbMQ+k5!HZd(yYzk_)h2j746jkNG%*%7EMnZo+_;Uo2y!dyx zpe98NPH5D(twNk!JYW=|{l{8EiD$HYz*sUpVl>Y4dLKxY=f9tax;?&hy~@*UaU>pE zaHh*f7;Air@(sWWJA6W|>8KLl2~b~ScM7KG{cXQZa!-?A2VoiD2+LxCTWe%oSIn;niB>5U)e0Ip@v9OQ zc-|AEkF~?;rHB(O=R&s?tYO20|4}@9L@k@czvT$u7+rDT$96-2c1(oinnS9dl+|GU zAqx?>XuyF>){J&*2)2Kz|F+Nby;_*-HN|waJli$1INJ?dIJ<-unH)^SQv_$-JTLs; z#I+mbnM9b|cdJ_eFYl~eKd+_FL}TaDcb1I6vj94_YaqyHkVtgqE7X8O){JyXi-r|F z!n2TuD7+VaJqkkHv_VRyVVrRi&(I9zJ%xl@foGd$_#>ETJ(wDJkWw4*VbJ)7@4 z?SGU1nxKT|ME?cQeZ6GMf>X!UTgRO&O0Xb6swb-)+|5vqMF3eNEK9<8+W$H*5b+bSe95D+1A!yt|W9Q^4P>|r)SFko(+av_O{zj$g z=PMl3r}qbm#zSp3tLXR(L z)ZpDcZcxF5V6&b65EoHPsI8!bc~hdyj+Ts3V(A~^$H!pieYG!~`)M?La?b*JC>dkJ z01fsZiF#%4px$@=j~%^%_N2q{2iyDhv94o+xxF4%zPmm5jwl% z7%L1j{C=b2wQgxM+_gCir{a~#3AXj{x*PG(}8w?KJR47w1d~xBx3#bi!SAl zto1C0xx7WXqIC)OKL4aP$-Vl~h|aDu*5ev~m*jC?5~!c?r4D$O1UK)H&oY-&Dk}*H zp@sF6p6jB>Q*fjVVG5*bq0%njWMTTI-$O;n1Y4CcuBYiMbi{Z@u+sGtyAr->zzuQB z>x`f|TRq|1_aA5v!B}ee3B&Y;N>+MvD?b^ZTKA6I60wFo6t{MB3^wP!Y%wGE?h-79|Kli13{6PqUrD}?B z!g$n4#q2J1kFOy77^-dr=lq7AYe9<57@^1vH9OUt=l}G>5DevFoHj%;yASxSQ@Tso z8UN!5|C_hB;ppRwGD9?#jcxP^HoH%}dcnRhlxFMZy!8G`;@dW|Yse(+|B`YNzR&5D z>6zv1foB}_PA1r8Ta3yO-fc}(J0=+eQ~#Np4(mAuze9T%{gmCw(jbn2xx#c~qW{VKt7Rx-Xk(}|?j86JABiIkEr~P*o&r<@ zRKs4iw9&DVwDDelSr1;XbM$aYy zS@ZDpi1k2!@Y{FZw?6P5xa;o={mTf55(vtVG6*pU-)9>z584Z94#5dA3egJjgCvKn zLoh^~K-wVQB=iz`&ifax5xoxN$oIhTV2Z?p1d3EeLP{b{@+R4vlu6_&lPS9?;uZG{ zhl!d&LZCx5MXpWsB}gYxE2JmGC-NIDlsiZjN)45Vaz=5haHtfeq*YX%e_hfo@DUl6 zAeAB&JxQtxs0ykItO~xOTREmeU$Lv~Tk3K(DQQ_@iD|iE z>1i2iNosjwscPA?^jR`fN?S}@R#ReIs$29U`IQHk9``RUDK2-GB}bGC+{M-f|Gal0 zd0u+KI}G=->74q4`&|4S{d{hoKmTu9V2WVOAa;OOn3({Ek%rL*a8O%JQp`Ta53>mq z8j~6m8xVjnI{Fp>008hmzXcEk00rO$0QpZ<4Ddfk`(N9DCIG+yfdA!+1V*_b0TdB^ z34wV91wxSqa00Xgh=BZJh(h;%lEgv`8HAwBBxDC*x_-=Z4)C#k&z@F_gqNC+Cg!I% z`uYi4U$0=={6?&8g_n$dqzl-4*=nf$ij4680 z{q^Kf<-B9^Tb(PlzjL9o?#JRJOQztbCXc+;C9bfXqs6T`W3ep!>~wK6EMC!0^CvLm zHaNGY_9@LXOy{{G$y9wqr=Aym_a56<=3t_#Ae*J6B?0Lj#S1EQ2xg=U&`|adT;Q6N4Jmu$5I~3U#J6W9=_T2>o(3EG z@5nv?U}hv<0t&6L9!VC4%_wq6jt7z?NrZ{AI7y5P(1BB zfcC~h9-M12a@M8bze1iIJc|nq4u_*+Ocs*Vg(SV#Qh4uk5kFoxOg;?09~e`_0E{8U z5XLNo7*o_jj3Lbt#vBM4Q{;qXr~5;e=j!sT;3nUVs4GGzBnflA`Pi; z)yDA}q?x!#LuPgliZ<707=0fj_;8LvU)v`nO&LRUR2~wfZyx>1cn|-`ed2WPK<7MW zDJ$P6?DU?J)K#8R?`#Uf2%Iy-XYK(u-2qqRDS9$nhH%(%!?{2wjX)eWRETg#U~m=QvY;zEu(;1Z7@1A%jGf5^6h#aaf{FfXEq2oBx;QHu%qH3P=?Iz%3L2!2ka@%}vt9(8kjE|1#Z7?Ojw=Kmh;` zNquyNdpvzmL_hiUR(726FF2DXax!G#gd~KRNQ60%Ak-nkb&NPbk6}QD9U}fSh$sjO zg52nch;ui2Fa(iU^z%ZZssOse{KC-}EjLp@$+I_}72agX&b+&`_apE+zS7T1uiUa+ zFMfGmdD8_dA-5e_2vVE@|Ll?SGgqK7$P_#y(cti(>BOd^?qYTD!e8$sB>Mk&c)br$ zA3OZy9dX+-rHLI5OA<_&aj*)R0+r)DOyM%2i-9J9DRYEP6O_gr>PTM!5M!B;l^nVk3ED1_`Xn4LF|EBaP$k|8=;AZycSLV&)!2h;Dr zkiKU#HT(8g?XjbO<;Ig#JkEMKpX@TbXIj3|h3x(?djC9sjBO) zURL6OH&D5W`HZ=~eu%F@U!g0BRUE@3;t+P&bOH2I3h+LTOt{wMq-K$B&-8}5;h-`+ zP~Px1!rvp_*ah|!oW**QyyF9B3uEJJ7YJ^c1AC0Hr&G&e}RyWq>*m8VNt_PY5n&xtR zFRyvc?K!u8qK9_Pbeq(+{ucNv$rr{b$`spoU?m)Kb`4lEXw|ZKN@O~R>^aBdyUVS=lI^fZ+YpzKSU+%wy}5L z7Jr55`yQz}OfQ=?^|wFEvdsP4%Hy`XV7YH%MylPM?Z~^}YTGU8a@Xj&xld|UwRe54 zmdW#SKA!Et$FJ=De{RzCegE7WkDt$uZ@<)QwYz=?VBvYXGkBiYkK%hB-*Y}fa5`dp zz={JU0a)C~Es5@u~;eY61nqAe3}h~1M}S#nMlu|FcY0=?8N;bw@S zHpFiUMTl}p4zWmFanz_+Xt0P8{Y?vt=jv`a!%}InkA5@?YX^scBHbQ;WgAb?C3MOJ ziLJgq#@?YwdY7t2>XxlFYUD3jO9ha)4vP5t?pimQDevMX1HY`amHcp$58os^zqKm< z3K_2l|1sY4>5^}~H-IMfCTC0Dh1PlB;qvo|65V47lXFI+zC@v6a&zMDJ{AH^EKhX7 z@IRt;k5WHu0RQMoj#ng(*Kf8gt;)R~O0J>g*~?67y;_HSLi1awS(BGW@Oc!KB)`>F zbFRwm5=|uV_pV;y?%(lu%xYidaEbbY?wSwL50&*;_W-ZH=3VPw>0X)VJsnMz=sA!# z!$TMAE!~6j7@O-~dNM7XNk8Q3K$`@Fg9+Kzu3erQw~e?yddpkkzj<4O$I3iNy2#vU zS9A9_lD?N$A+s3WSdnPY zsQhUKALFWR5tl&LwsW&4={2jXqT)U$L2TyTJe*!xJMtH<@`GC4)ky^czo-MAc*mB* z2HKrFE2~C$QR0x?$to>2FORn!a!V>exdiG4Zc+UaO~f6Hu}QtU48eb!PrSo zS?%;vvoeR;?_*2WoN>NO(%g>_KyK{!BvnvMk5$y6ZB)I`C4td9&--Y~-y8l*Q0ND6gp-_1=+7Vu@VcsuPOI*-BNG+aA!Ri?7U5 ziQdn+f8=}%{s+b-89rcl4Xj5HkC_Kh3Zh-Kf~z|Mro;cc1;FZi(SUWeKX7+4nxb!K zj7nC{{rY0tE^kCZB)mn0vSEOHnSMH=Y@G?NZPdf?I0uR$~t-3VH4 zYYN&3PnS-Lf4%WHmP*36=Tm>ynTK{5nL@+nGy#V06MFN~9{$FfnH1xYM8KAbOyht= z&$fA3;}AUl3fJm>gm?E)@4a6k@`}>UO!}C+Jnp@CpF8?Io`b0|`-a4cmqo%=KU2N| zUH3u$B9)e$6qwWLv|$xkRD~092lW~Bn?HvNfYxtzf8f7+_c)Y>3-S4s&C>g)O8!Fo z>vE6?T88$0t&;hrI9rmfb-yvljwLr!Hrw{qBiiP7zvI{`ni0D7aL1=$wpi2ddygA8 z9JtClNYaCSOb~s%R4XC{oCI#NyGUc29}OopjH29|qD5qiCOI2m)54iSm0f$xqHpH*+oJQJ5r|Fn z%*F@Hg(pcxpU#9EyG-EK$a9jkL78)wDnR~FM&wwl4QG~T85TXEHm4(qEOQ+gRScnfg>(8AjM zTdZHlEoCzd_`?{Vl9Vnn9>>ds?&d@;>`VdoRSdw*IWdpZ+U^Xh-D?x5Y!Au(f|XgJ zGMW;nOcL2IUq<1bAC9@K52h#=s*k&(k1N{2{QcOZ?}UJH1M)($F-00rY=Ve$a&qEy z76)fOo&~K!mHrJUCM8WyU}_~!LE$+5JL{0V1{=>gRYDSe%}BtjtD9XZccf6!VG;0n zD-hY#9L=9xbW;mjfCG6o*Sr+w37%f-`F^Ty-(~*;RIs+^@9nL(wu?MPZGT+4(&P1& z8GeSN^|&7vJJ9y+KyMJ=?Ed2kk#6G-WMC2jyb<`FLDJdW z@|*AX%z!`t<2LqWDLXgpwFGxf(w=&&`rpUZk^cPc5g5yIPSwqya-s3>3on-nZ1EC1 zPL|JFj(x88Dd0(0?BvNK>dRzedWy3$TF-~$-NKHgs{tE(nS+niTL$kWFtWpTh-2uK z*^v~PqPWCh7z!1nOd$ulBsk}Ss5ly1WjQbupMDX}VbzAlIXNL-Zdp<)FT`LvF#KkK z1{ewh^HLm<1s}6(1RcNn6ZJ_&@5@@~9=}ZTxkPP}R?3~W$qDKS?}@Zk7-Eke=kUrv z*UYOoI&3$*gHf+$p0v)ASiY{$E zWjf)UHwV>0D_=G()!O{olA|Wr4Z7gaQ?olvS@Cy@40&~~RP?+~j@KLGWm1~&2T?Bm ze4dQbW9mf#E}aj*G14&3%L!6K?S%ZBHQ;5?6|97c2F=A(fNKF;scA9+To8FmdnHO^ zK1xSY!(=WDC{n^?O!_Pshq8^3GBbq%3D#n@ia9_AlHId=?#qkqC70aB0~YodmYlk3 z{u&;UGl1Au%Jg%nN8|-yy&$fT4h|!sTTB(7qe1<~#GW{M=MNsQq329(%S^|G;K>s6 z3)kG$CMv(lqONu>JMQs7_&s7}ZDu=0BZHVIz!=A{Zlzf*DRZ2NJa8u%)|7XED{CZl10ve&6i;*JNoH)ry!QJvu0g26 z;$XxSbkf>L@}$~?$!s~?BM-piT>#ZGper2(#{}oRDi|=@A->w{Mkf_cwAZr?vmaFq z>9OG4>kiiz$8)LT3&#F&R)$lOWI!sRG~}C024ZZ`d<`h&U^#W>IP6Ac@McLVF(y(Y z@zRr|1;jN|QmGW@9-7)mDCFTQG;!o8bcHg6&zU`OGGvZvn z{O{x|Ew`Xsug4a};MyzapM@-YpDXz$c-+m$4$Tgzmj+<@aKRs^fkxO9gCCH63!>FI z%V5O$?BodIe8_tXxk5yeYT#hjjQ&Fo02(K#c_w%(JoA9eGIN8OP@Hnkz=1u&C7IIl z4bcCd?}wA5Wy(^N=}5RrJi(wB^8t;EbbS5^xCN>UVi&Lv7btK*FuFy%nfJqXqMF(q z_Zy`P!grn~A2)fmzAwq@xw;*ngeT$Zez$V8q=6?-Z`mEbc6pfz-4 z%_b}Q=!MsgGR%IAx-JI+w2veNKp1j>$X|KWavwoXeyNeelO%FAPK833RFya)lQor*>V7I zUH#8a77lf>IRoJ|==@+>s2-7Bt zuZ6RKr-bdVLbSq#V`0AICkd`*#TA(QR>X{*-w;$TaOb-a=t-7p`5^t2uQdWN5lX4Z z*6}&3yKX^lT&*@z2Fus%ezizgyI$WP;C_CGNAec8^?dBKS4(x`zNowp=$%QWJpY^+ zFOu=ydkJ~Vd>#UvEVieG;bGeS`fDWq3JBusfPY>hKo#ig0d-HWXE<`}6-7>09?-6h z71;QIaVK-EJL;(YY3f8#gj76^*j@I6TH%0fOMz{97~Iekv?VF_tknKcQwb$ zlOY_WB}f3;8Uy4ai5eB%`YVJ}s@HS4`#r;nmiL_ybta`k^l;|@4;FC`P>Sfu@h4UW zAaOIsKPchO^oTTYdvQ>0BR2qA>z^9!tPQ*<(>yvLT6w52Uj(^+GeGlfwY&@-^Vs}5 zzwhF6zEe+Sd;Elc`W2z=64UV7Yn|>jxDwsEpKi_3`*@s}S1I3cE*fvIZR^(l8yudm*Bvzy)dsl>nKb^#h6v&a|JC&TY3P76WG5DE6-NC48Lz|U{DQTzaq)^Lli zyp(DcB>oVwD4s)P;)bc7dx)&GFy|axHgGFzKx1k!!-dOKtsJmP1TJvvKvwxTLt^sW z4Jxf?aZWMqeQ_}wi=M~#xnO9zC-3gZS#BSX$qNp1$xCYiioj6fxQ0CTdQ+Usitew} ztNiSLHpCu-+5SDM=vsuQGN%3PivkVHu{|^@!e};b-+UR^VOYj> zPcC>=%@Ol&lC($o^k^#MGnTp!46gkb0_!@9z2WZuvtfmp7$dOH_xqagM{Evr{F%~# zP>r3}F-eZZWVACODQ~7Y3s9j6SM8_rb#a%JY{T zgP%4(JuQ$m^6<2cwT)3?l5)`{d6by4LS!-ez$DS6A6`JlOBDw9-#kqY4t|q{Z=!4?8V*Cs@9xAYRn#Cbhq<0nh!yZ9EXUdYn%l?Db_U{# zz3do%@@#vn${oC{a9#H$+U~BY(&RTR%&{qPC)m|;>i7G7T=i+}`$MXDSJdghkLA1ZiuuV= zBixZ3m0?pW`X`0iHCprMMVEE3ZLj)v3gKJ1g(@2)W!Uu6l(MlE7nBV7r3ZL)ENaiy zA&IE3w#3#DbcX<0T5_+Y#cC?0CDwj1Zhh+nS-Q6lw{0BBA#kFkB{A)yB?4an&q(1a zN^~yp>jH;O+?HIk87EIj;aoJwpBX{QtbyP*6CUm=&=5M^SpmDyqeD5GILbk_ z1j_J7e}ei2bOMg9?tU$`ZoTF79mdO#;A(%5^MT-(G)8Tepg+GqLy9N;epWs8_dg?h z-#^MHD?2*Ajsu;SkJW>SQ{apKitw<1+MM}5pFxikvxGn4&;CwNWRv!gR7cz|udh8% z$JfYbaFktqUuBQR;e)}(d1bnDZ?y%lb2H4jW4&Eaqq$!$;rZ^viMN;M$bu7wJ&6h! z?=Kv1kyKh>9U^m7!UH&k2E^Ix2$6^NAjaJNiP^a-_8OCvE(c^MDuqd1;0m7!CeCHM zoxs6HrJO~o`q&P5Bv1nX)y6&&cyg%Q`!0eD0AJ| za0tAO&%#{4Q>OOQ+A3|WcRTny9cE9XrNnnslk7TpD@(v<&|W$hxlOvB-giw~;S}oO z{pSDlfblLK1I5Yur;=H^VQ`qn9L7Umq4$s5lVh;g_Dzn%q8*2D+%=s5*$?TSVhyUh zSQe2tOzno)=gS-jPFS%ONUwgD<(&7FR&{ap-{#HR?AzM}+vGo#K2XJ`viJ&2sAqg# zxAFqgDCFZA`^ITzMwtXz6|+qNizUjUn&GOfX@#8stvH{B;uF1~Xzpsd-fb=!WQswJ&hC~M&rFoUSwB38YDuL@1As!Fif7NE4$HOS~(OR9Z z{wMdzor;zqWn)?Dq;Kz8JA9Tq_3eb$U#j>c#d-n#(?TvJtrIt9P2RG7!=QQJ25OOc z_~Mx(YcMOZSiqFUilji~DS8~uyvYO*P8+~th?1OWHVxLn3c(aN6a+oUeQO*8Y4L~~7H~qT7z@YEY!wjqxZQ$$w<@mJ%Ox7Xlf)P~QE`!C z>*!t5WOh&tD1eFpA}884;%R`RgoEmos%{mo*V2+|CQJ+G?(vSEOm6-9Ke{{n%jCEI zTxs)BNow`#XU#&TqtdAhphc7H3pr;7zoc=NO}yKFUlokk^`KyL>p`yAE>w&~^FANQ z7e;WFxPtw_=TUC#U$*K?>ST(AAFc@|OFsyB@MKes{Ji*ibsBnwzUM=c=}Uie<=X|n z)@SQ^hvAPlo!I6;(eFY59XX;l*CdB;qKJHBCiZ4@nuus5OCW}n4>CP6pO`~A8BK* z_`#$5L^$JmyC#v&9K^~}W>L(3Xx`1`GY!XFJMNOk&M1l5NHC6jPs)``W*k(bp4*I-&(JLkAf+OnI? zhEPeo!Kyn4LVZ!$<%zhuN)lIM16IsMs^$(7X!(6xv;Qe)9KPeC!!S5~n~QyaHWcz8 zN&VJ&Jft0F71ETh_)o|4+VDt3#1uD9pjjMA0I>}ZVHpAAt&3cP!<>`q6^*F;x27zB zbbXkbezI&K%|AnaBjm8Z`$(yAJI9D!wvvx<^C9;#j5&2Wjb%RI0TgpOr#Wdrz~Sy2 z<%InYQukBaLLr+sp>61zlQ^4dM!&@gXC!jp@bVPEuT{S17Y0ow9FH z%;pZ}lnP4T>?r_kNhjxBq%QM94MgIl+ zQh%&=lAOl;Q{g=O!urwEwYvR0Izt^d+gH(HW+OZ27#!Bqd-%>@K-(4IKNjc@rUZP% zX^KcyNk%NxM1vuvkpcyGwQeheHI>_ak3PzTu>vcb1h+r}&n^yzm+dSv-AFyI4?!hQ zHOVLnp)9B9hfNcrid74o(*)alMHVeFK2Z$j1^A@9d0j4alravFW^oLAZh@lW66&1n zRxTN&mOMt^T?^gLh$p?B*iac790@w2du6{1iO*qL^gbyNsAiFjU4&bA(U@3%8LM4pQu%EQhzETc?KUIadHQl&Whx zvGS=y*WngmE1`h>@&(fP=-kIDp8ev<+7g!5R+Q6EX9}G#$F6Cv)k& ze}xwNPU8VH56bxZ;mhjF-lw?a-~8%VK&dna8-9VMhiw?BNwS~=+)e)9e&8CijZ%N2^b`1J>Mq)vTD6ag^3ZerdK}KGguTKC@n~!P|tMc zKR%}eP*oXBAhm`2J4Xh4gIYu}a{?NbXM&r~AiBaLZ8mzfIC`*U3df;ZI!n%3RKT3w zkX~v=?|Ox$ZZJXY7S9zZk*D}_=MNMcYQ1D0e}x=~`v+cU59O&2B|r7u73l5qMfVSU z%8w~k_9k|1dFt?Yqf%@zrGG7S=bP7mlj7>HKEv)Abb0e%$0eO7ISl|O@dFwQjD`G^dO zjQlbx_!N{-%5G?k=9xn1__3_!^L{+Sp-q!@n(|3<-pm+_w$SV76l|5N~fR5UAaJ|);Mi>AC* z)!5BZoLuXWcn#>qjM2advWNS{#93ef&LV$!T%DWP7vAahR8F15{PtF`U>rl(p2OK} ztZTraN*X+XDv5LQ%c{U9aaOGu1n12;{>`SFQiR|3{K4&2&-ch~;h4wzS5^`~6g8|A;Z^F$(4pY*sBzuig}U3}InuiGsSo<~ElfB!z` zZZjGVga}kTP6FGdyK#YdgjwH4e3BgLk+p9ss&Z01^#dn|u+vd6#fparZ8gUq8_bLJ zTCDizlbvR0A)a@Z6e>lMN{vDj$fMjGjd>G04|(zt_xC;DN{g*xIy8nC2v|e| zRY2ft656o7l)dF=kK5dMeL48OgI@H6sZM82WsU=HM==j`8$deh~Ky!&77lNv9!R(Z7RxX`|gxth?-qYA`jDLIU z9rj-uv(%RBu$k>&b~<0}{7yGjTpveVH)s}*`LaCxosLV!#6Dw|^X5$V;AgnO73U-u zS#X_aBRM^5sAYqxy$p4qBWdYJDXJL9&V*cTEK*Y92UF(B~+Wuz2Ragj?omn_aCY!2sB!UH8X!AoI*R`bVhDw*Z@_B}@ z`rYuNU)vc=zTM6%WE8B{JXL|UQA8|F3zV!{tTw4rjO-CpQgA1S%($v3!kIM8nK@;v z6GU>(II$q37$OR?%0NB$b|+0#rnSi_61+$RCL`q`go(DqKzrj};&eFcRLH*GhJP~$ ziN2a}Q~_{~EEJnJea(CUZ|5GaqW#4TlU07P{O+;(+b<8041{qW2{~!=pg*$)bC4+# zTQBJIUaQeL0yY1@@EY<$mEp8&T8|>D zQgRXbNC<4b@>VLAvu2aRd}3GRB;z9rq}q<9il^}kCcQ`e^R`Um6(ptO8y1aR<-^R& zO;kyUSXQ(8NQB67!@XST+3SIw?`gWYPjSUqEqx$n7lmiqbFQt&t@+cpJTC`n8Vls} zF^{}a9pZ0-jzQ$bl zFY)3Ce59jXCv{HU&@zys%8Rrq$=Tf{W%=9?iRgji@2&|U?1P)3ZoFpSzSyoIeG z3I&wEDrfPL%7fW)Y$j#TwJ(<`Nu;NKpP0i4gzndjRT9r^3If$##lD|LENtBkW;)ke ztqY6u)z~2v8>|Pw{do>IdK^AOaiv>)lLS^D_anDT?|T{-X(E=*lUM`)a|w%9-epF2 zQG1EbP5x{TdVka10SQ3~Gf4eP*t|s1t@&n$+)Q-AgDUHCvLr28tZQiNHm2z_h>d@_ zlw!`gIACQ)pUbLLs&qiIB(6;Vx8;3VotTrz`?Jy}ui zMRD$C(kMc<=A4Z`3yrX>u!!=%-vWvrz`tGw7pzq)NP%mr9XOt4GcG(&?CQ389qus} zX?L?YPSY<_AeD!!ZU`iJx9RAYAWetZ0x$Y1WvX-tS;vqrKZ0G(&D3Yo zfA5rAo`Ze;fA?E|parbg=6DZgM%xcEek7>SQ`y_|ElfdZ`w_!skz|XEFs(pQTUCc*_hRBV$|W^!xnc-&=V+I z8!yc-wQ1D0EV^@8I&bgSMw=eK{?Gj@9hPtFXDq8|+Mq!pzLRNFcn+OYkl^TOk|f2C zXxzxeGXjlcIun$jLMi=RYA@@`(xe0t;->xY=i!sQN$3xE3LRzwwGk%hb?Joaz%ra! z@!9opQbl596G$}xb4qbU>}@54U(OP>dv=-Rn?ucPr;hay0goh4mB^(GXV8o_ zttqNplwHkXQTOG|v)?jWX3~`95nLlM%+c$!B4ot%k+3&v*@4%e+hF^-ui9tX#K3?? z9{bC&Tx#XC+^`&zg5d4-ygkO<0iRdp{J}y%G1}NWK$QJFs0_|Dh9XD(p-c=8=eCp_ ztOix|Vuy2T*^(^^=!@Z1p`?+7Ty7%RmLvW#eF;p_v0RT8jMA?z@PYA48|_4&9}C+6)qwk?a>`cq=M z@AgV}>}(wy`ihA42~2pVm@DwCqPK;25Rh=f-a5SVa8c|S2uiSX0(r9qi2Af-)_FZiJwFT~$0%x<8zHKw&w1mIg9@#n#cphJE##2VDfxKRIjS&V_ zIH-UASv}#+?7&fkXl1Sr^c8XyHjY@>i34JxDHHwZ{6|D%@ZuoW=|k1pA){oVBQ1sc zJnQ%J5lBf@Y}sw7t!2K+w094tn#yX1oJF)Wc7lPf-;^0+v`!+CX!CxP(l@)ALdg?f zqsb-wv42J03KKuKvhljBa5YoL?GKB8({IKu0%EJXJ$}#;tduX`1yx1$*^UdDEE#M) zw-x|o@qG7tV6APgzupO^L>1p?dvQ;OnGvvSqfTpQZ$qJbhbsAMY815AXt4RqYgp`F z3w_+xgdF<|n$GJ^4d9joq(!=Pq+r8&)qP_IJUEq$Q9w*#JXr1`8PcQ-l+e{_=s4vQ zFWGK&UJ^5041+4{l7BD`k%f}DbN|fr>pGkR+;U^eUDz>{Ys^v_l+y) zG=LoUgFSb%2}!d_zCGiL#yP71;|gA^Ya@zn(ok~ZbR-KY_f{(59+p^2bjeFfa(SrS zV2<>`!IR5!@B!6=RFqt>t#og7N~|1jk{rQ;2T;^)ZxR(iR+yXO#+0LSX)F#Kf|ra8 zg4|OXYY-J&6sg8BDAfzDjk0ps{19i7qf+Xznpu9z=e?etIwG?0J$o} zed(U!dt|6Oo^3qv&bSd9kvx=Ig>vDl(qxYCn<0ocw+qE~v=6g$v{nJlAnUZFAf_!O z*)4vc6P{UihJ^jQBUu{>Olejvefs7%qL>++xaek@nFV6Yp4c{}ryi$=8I z*?=PB)!myMSOfL9`b;Zf;o3=0bPhCs!l03dWLpO+o3JukF!-Xme4-jkdVuAOlm6#M z?wt{&HktPC=Aok}PlAp?W=qJWbM5hJ+Do+%Qrp_>Fr?vdszqu(I>=AM-iN>b$eSL- zArIHNpj)tC_!cjimkG!=yThVglbqHu_M0gaxDkS#g|(x+b4imH34EjKJ!EhVaLV-Q z2IZwEO`W|lP({2{cKDHD?xSmBb*wJXmST=oQY?txKZ92fFdd0yPKRRufL5n^YUoy^xftYTiY zJ3X9$l2WYJuHL4dx@}TbM&@G2?jzjKFr^<;-CmqQ$#*>rk1iVttYs2lVfM@GSznyV zyk#8)r23YN0kZhuuzb$iRLs6kV-d`Ccze^}4$h-*WCz0AUh+w@s!t_Zi>mPVV~){h zc_XZZie9@=Y1mQZN{IpMVXkUU>+qMTfM_12Hrov5S;X%EgOXm1XXUb$%+#zO0)B0P z{!%P@%?T03SPQ8>X#M&%)D+(=CHjl7&$=2Nvn@o-6nzZK~njp zD8k1tA>ehupg?d~OP;B6m0t@$HS$dX2Myg8|D8TwLVRdd0c75&x>0{E`pki60?GTM zslPc8Joj(kz0({jSRE;-kq8#uD=&6E- z2-Ahqrw$i>WP-?_w7u;4iUxCMpk4Mo>V^WO3h-jQ!4U+{O9P(RO}r^BP;gr#Vc^V@P{Z%LD)V zNyDbED2*(7qSRQ7N zg(pv#SQh!8BC)fDdT6w{F!a2$3|6vpJx~XbjJLUy6yy3we~;ft_!~-D1QcXQv5ymW zR>=Z86$Ds8i8*4(rRXHwA$2gL6_~1wvP8b45(j-*73LiNM9=0K&w&A}kMHSZl^V}T zJeI3QuTQ}=kE-uK?b=tjwP(G5XbLNk+n&s63q>KmQJIfD=ZyhAu_9p5D0Qd6lex`^H%6BBxJT%$bM1in|pm# z4`LTZU^_C9N5@@>V!l7@Y{@5RrCy)hN?cL^Qf9>p9 zmgD?dt>A#A(g4S0{V8^X&?yBU`=b@jt#FLpurV;#NHHR~B;_PzI5tof#Uh(TWh=8d z1%6{~qJ6*e7xb-NnTR{Q?X*wbmSN*?lr<`+;6OKfX9Y!=%qlY1*nqj@6RNxeYiWfb z&4~~Z-h-ika=%HR>5Z-kJ-2a4ehVvu-(cC{{+W54PLG$E)oEkgghTEUqxEX|p_y62 z0sxoa;nPjz7%pFKLMDV}sSb<9n4`T`re?cCJ_!IT#YPCy6Bb+lf6tF(a z@u3vg@gCZysjf_K%I{Cq(WWr2rQ$5%RCl&F+naTgbJ>ZkrCsEkk4z-)8Y-aNVwzEh z$^3%xr+`rd$-9&kWj~y@X%N428TrIa;9!C1DyQ=+Yo6z08_}(pMgmLcJkqPs%yCkD z33@l7*JRZ!hs>CmbC8yvqU-Y`oL%*t6>Wg!Yi7i&xjaq43utXwV)0PpaH-p`qF2Ds+H@;kCSr#eRib!s6%OUtWwt2ZpW^^}N%!%sh03|( z>XrCUc)X?@M?B72=e66Q#(5b4pWR{yi6~mH6R``tsVM#LXCWcLn>XGxk=ePIdmq>R zTv9_QP9LGX@!l~*m}WZ8ZI&bA1AnEG5QJs=Lqv6%2}LWJ+ z0K^WnjjpVF^P{?p9_K@y0+;gJ%E9rJYXT+rE|1uFzAh1v`G|b>!^1qQ)iKLB2SaYB z_J?t6-1(JOPSUG3s7@Bx>fC$t*g-l3zUI@GeGio$oLg;UuGMhnO@!>m_fywtq*@u` zo`#OHPZ+OhiM)x_b_Nn?M23<~N-Sm_s5yDzwcd#TTC?9O*Zntw-(wwZJ$9ph-F)M2 z>m<0S^e<%jtp=vQ|9NZ!o!Y*|R=|2!QUajX#@MZf!X)f4IO!xR&TQPPV&Z$9WZS&S zp6hxgkt@bEP|LpV9zEnfZIDPyZ1jWi6Y$0v3+jZzDo;N7xnH5>nzZ;I)FjN(2ox`v z*iCRC4K>zp8tNDPZ}m=FtndUl_wiTTQ_zgOKZ0QJ^ScGyRf)9YFFltE6=L;j6^VM9 zF7n+;W_MzhXTpPa!9!!CC{?1pGtyn#zeH~y5cLcgM~1e z+{eSMkI22uzuYRw<=!lWYK%PA;_%dZTssZ;Qs%rYyuc~M;l3>ljXUkrQ2*K*y%PfW zFhdYvs^(P_(YF?-q@aeFPL?Gn78*HNwjT$aLLId;XR6ZL2}Bha(KVK-kD8B6uoFOy z>!LQUYl1P-ACaXJtpTMl*_xW|git0K<7lbBhfb@Wj=CvY%?ST&-k;t3Ab%-Iz82O{ zxQYx_G9Sb$1wBG7yGYPn9_JG|MMLUeGB=36gCD2sbf~-V<{FNd87lQEP)?g43ruwq z+I<4vuM64uE*bV`tX7-w-1G^5R=vD+#g-T1@x^(Sw)W%4KF-VJdT;U70I|p8Ac)OQ zvYZWZVS*M`C@}PZq{%^WeCU-dXHB+l>a?!ksj>UMxvwm>l1<;%5b$oN(42?ZRF;bEu24j8Uy9Q zqkC12Sr_+qPHNn047;4wq>~oFy+7l@J)Vq@ry9#O<;xiU%-S!kl~1X~=jRyJ47<5Q ze+-MsQ_3xnR;p&})xPl7>s zdSgSUkQ>On1EajE^u?`X)I9JDw--X2_R|Hx#>*womnzd)$}`k2^3=|UJpUE5C;(^O z&$%^eb!V>!-d@~>#YAUeIn`SQ!__qts-IJzc^pC3$4kp3e$uAu@;*Hi zan<`sZ42I&Rd9esOo7D$!Y@hw?Fdf2Q15iirANIaRC2ZM3(%~4(s__={Nb1XcMiWP zTp>fUwmn>XA!_)Nu&3U5>OhZU+vWP!D6JUgxkISF_oGhE=9-t^=Kk_Nzt_&4ROj-q z_K!PEwOnOsP$5me`5)M`_UAn%Gy19G{6);K-;;0A$fal&l;Gvc@0ROSH}=fLuQ;3h zOc}mY-ExtcBI)_$ePa$U&FLR&k0UFO(C_c*AG7Bd_H8}zwRKC~G5_w_ZhYx^x&FJF zPYLrn>)J!rH}vC-*pL)HJ+T;5Mtehxag53xC2LP-O$~mEJ@e`}{Y1xFAK=c}ku~*t zj~6ed;tw(su=stpHRT){$%G0RLVctWk~2BtSNjFYOY2VyG?{Ppz2ZZAjS(MT)kEUg zUIH{djTCUv1PJz45*BwjbtGsmGL{+3hB=&6PlZUtBh%kK@ikri8wj3t$)gcJ_|DkyG2h zpualpd@N~B`}bi9?omUoBj#z@9`}(-4B1@=6yhb)x)=?`#M))%l1*IMV@C{QXH(truQ|C1oP<@N49-Ca=A2a6$RVNdF_63%R z#V>aHzHzNureYD;H2WF@lTLq)o=Doa!Mni{-ZEd;<}T#K2K8ya{;TVf9s>}Y@-$%_ zmBGTRbMt$9=G|ZoWbvWS%G=^y$I`BAC{Fp%T?doJg_B$Q4?bjfIxzgy-xny^gQ40# zDO{q0z+@;JN()Kh19Q(!$s%Z%P#Clj$Q6hwtk#AnI9ENT)d_%PxL4$zE18zh zegDum?%%k!tebpLRo1+I^Kuel>&iAjLDouYw=sl?qYXNp7GLc6(X2NPrsYrcETay= zeqg;v;g&k86npL6*d%0A)!M2^hDLaEq^ugtnKLkDH~4akPoUN)(0&fyiQVi9Pz%T+ z52q?br}v6%B~TIK)71^WDQ&C#A%b6zgkBzHQA&uyk!8)OU5Ta<5crK(3=N?N*MqdQKDXDCWJvT(Mn>f^$Vqtw*FlL8f#uB!S?EZ8fw=r~CgY{O|rS!0U#uP^1x7{w^ zUJiqd7PCvM^Z|Cy!vUmc-#%1$*y`OQuQw;myJwm@YO_`1wR?s^ECwxp)O{h1I14}Q znmRfI(Yydn|ICZX|91+cotj(|#7580Gp~=zO9}N~^ycjoSCT`3hhoV&hZS2BsSooR z?et{EYh%#KRbciuiUAqdg6nyxjmjxJ6Gsr(MNDVx31FGTvS1N05ANCi`%f}iZW{k> zUw#axV) z7UFfVCW#9zm#W6SN9QsrX0L)z9mgKXpAaSUg%No<+4G=@)Y7ol;CjEz7>_ziR~{-i zkec3>FcGT`B2F~276%UZOOW6@*ExZSFVE~R+CKi_n@~5S5nJ#-9E?#>N2I+_<@cHC zRp{Y;p6)D@qs3=x_*w~56RGX=pR19Q{)}LVy$qn|C%X`M)AzimOIUQJm3vG*O3>wV ze&*o|z}8kX{7)9I-o zZrQ-46Oh$58NZyp^T=&@M);l-s5%7E>4YG)MQp`d0TR}}AG1iWQ#NF&ah#YT$|dpO zT&o+^6v2jyf61T@w#4cBxGn9FJ3D=ts@LNFvo?SUgzs~wQp~s;QzkY|r_``UzFtGA*AF z8_=Z$Mw{p6+Uu<1geLVNE39v8!ud8CW>(TVfvszWS`wTR8H@Ng!Agw*>%<8jQt zPsWFV3opdq^Er*M_!)Nfd%$rY5>|bo^mIxWAdo8k(hXz5_$yIXsWncM3?1u4ZFm<< zV`34B&}d%=9q*qJ8fSYy z6#ENj@oi`WZ>|3A<{;@Z`q^emZ;jtCmy6#%W$)kZJ)U)MsR7-0V;RksCxum@?uZ9M zPZ{#fcSMX`|fMt)9h zYnb=zmIBeUwxQ#L7VF~{-#1W|9ZfHP+51hM-JwV0^Pj`(W?+v&Wcsp|Uq^l}N@E!5 z>q`SJh)UdxldPtx$afkNUz*at%X)J4)>w;V>j6(~F^cAjK1gQV@tJ4v)dr1=kD5D8>lI9@)&>=QFq0LhMKaMV^9NlLVEPxi;F3#ofd z4U>}7aj6fE*s1}``O^9G?b653x!s93HJ#`b2QT5TnTrUflV+RC4Xq}^{=WIS#azj4 zd0qFrc#l}81z$l?|9Vd*VDFmydryn+?41C;z(o`t=I=u{clBD}&xW^=Ki5V!*)~pf z-W)Tl3doiE6uF@i+mgOS$$!GeXm7t`8m(;ggG=p(VS2>(M)w!Nyx6c7=0-!1&vYyfy*jR`a`ebrvLEz&1{l&TU7#)x_Sf~t~9b2i**m5jLKLNw|Z(0@r{ zDgQ^untFa)FJXa371;RFQU|pilYAR-BaE2c7YFs(+EU?-sH{zE2Uu7}03~Kd!A$*# zRUd)>TvlpIjkazS15qcqdp%pFv)vT!U&tbfnTq@g=$51UZqDIIey~u2O)Nb}CKWK; zQf*on583l^XHK6iD3jb1`CB(rmAL=FN~0!y(t?p)`>-1MFc%|#Ary%UeP>-ar|z{g zomgh5Yd!IB_A83o17zRuict^1pe`Aa}2Nsf zKR>hmA?>e5x|MHE^0WRX%>Cjof*e%f!$<+sTrrZ|?h)w;u-HJiew!$Rm@B-gWR$ulb;kdiRN6-7&;2+AIX;JL zSVCDsgmtmf zAp7k8k>@d$-E9r(3Z~bChlc>SbnvKHhVRCIRTmgYkA)wF5pgM=H)Pox;Garv50!?i zHomnU-dj!OhRHM>=EWj`mWHRrJyIy07L?+Sutj$KoD@c`fm-W+J02FP>M%2PmtRqF zEAv#WyXuKG?sSY!e|7E-Ds*1RI6udE5tw%R`~ul#1|+R7v0q!*tDCSE-}_%g8T+d; zAqCvWElt-OEe7mki}t0k0 z^!SQ$&8{m$o?|Va3GNCs_P;^=>7}^JVk;oF!d+c}pbJ`0hxDh1&FgZNgAzS{aXW!8 zg0a43M&i(!$zU(G>D)V*`V+U5M({-RjyH*2&A9zGXNLnY#XvqE)sB4OyQk^blfC61 zqDGJP;(&xvycwKHb(&>w_vX?d__f+$3tq7aOKaJA8O)h)EORpn#uuYFD6hmiKu?Gi z>YRJF_5N~eT7vRc%yhWA`+;L9GQNgx9`s>!a;S*=$3^{n2!urRCU|t9d9eiZM@SQRe^OuHR;S#veu3B|Hl`qf6ZO;$jnUS0Z3{IT zwKWQ87>G=niziw5bN1@P{P)k6vYV1;y`u|c+Jbxx^NAHTt=5IX#mAV(cFZQKEnk}p zgEKVU_4Qh#*>Wq}RsSqo(li+T81cO%CC#0MHlw(l`^pR;H;l`~I)bEh%iU%s_8<1`+k9oQ ze_^k#>9upI19uG3^91@dX2^iej%H;g>PnnJm65zMby+vo@O8m#n#) zCGmprFh^X${sf;scy78Gq@5=w8TlI@6ZAq~dmVW&dDG7~gLDo~e1<%=j;dBvzjZR2 z-zT|_sL&P#dMRa5DT;KteUS?oPg~0!P1q$`_Lk^oECjc4Mqd{UuhuO=|CJ6=v_q!8=KMDN^q?VgMZrbu7#fsnSUI7R z4^2TfHc^Ka*hq}=p=B^SbhIc$&=E80{npo=Tq|ynrt#SH)(QN z<4<}QsGbnKRteBwuJiB`$a!?VJ^dEkL9)C(({^&4`})ZP)BL zPAMZ}?s?ohG_kxYb;i2Ik12Vm#h+As6`_yiSN8=F3l|PlEHp_{3yeXPMs%z|{z%fj z?M*_vG#8@AEVY-r;jVnU&RBfe{vpTUB5K{?=71LSRd(=Tn4FSVTss(i?ksvB7B55d zCGaCA>h2z7{CKGo5H!<4FY%%@#k>~~_dO)F7th4*(L zExqYhwlBY{x}i(8NKp>SN**N5^C6C$`{Et@XZTJKjb z(dq`-Mykw!-&uRnuQ8zWu9$D_<4=Cb>#3t{a)O?0*-)GNP%>scfmB*FY8^r}XC2%Z z{F;$=m70vutcM?XgeJ|V%?{9ON%(@T0sRd^rMP?p0b(19t!}S+rq~RLH3QDdQ~BU) zCRu{obvKVMcr&w-9fRxyS6|Yc%ifa9DYg*abtOF7F-5-69znJd$5H*#6gKPB{(ucw z*RSHKMA&yQeMbHv+gJb-?hQ51K!gp)_a)3JFQz|aAB#EK^cgMvEU@yR5twhG%0FaJ zO}LUCCb0`wC>07=wx={QX1}~|6l> z;hI9~g|-zVk^M8x>7??-en$;ufk&Y{k-P7gsK#b?TuxH6d8>I-kIwIp0ulB(oi^>Q zNryv&*RQjVr$WjJ_ zWzEUpla4synM`7hj9Rm?gva7Fk&reqvqWHxd~;*Q?;&{QPR;k1`jY~wJQ>@d&Fg%Z zYrf;jzO2Lj_zn`Ru)=!v6&hCrjWFD(dDL}O2AU%(m{cLN&bw6VlISY?N|{BL1*1ob z$ElJ}QyXWWyTmfxCYAX*{5rl0zB)9w9Jfs>HL70^R!!LM^Q)r-Sgi&-IuBcoP93zH)mPtoubV}NVLZDXDDSmF&1ynS+^%)k6-+yZ@g;Q z8i%)dG~b-8o!ZLcODvw?N}6YAiR4=dAGw&8o3NX}A4R)cyQe?kIDS4fps7bs{SWa! z_%IiE9{7k6_Sj7&vj6C);4$&3I}Fk6%vz*%YUqq{>yg%KW#E$K8zsY(HMJT3O4})S zE>Pj8$V*$4#5_Si!Mx$TiNC48+51F%&`4yNl$rDtZ=pCfbB5=3=HX9Q+_yC?drf(_%jd^oIgJp40(pc(~uA(qy9sIDG*tRi#(jbymyDMf@mq?CWWhDT9 z!=Nd^m2nl5bN0E7Vb65)#qSWR8n)*d)azo7gd?$U(HdXU(^2%L+t5H{&wc#o=9V)xm{qx)EtjBmr8p2nyL_A#0O)#=Yl|!}hSJS&)T3aqKKwAu> z4pW=88QXTfBg=}k3aFIE5W`ABX?gJ0RYfU9LFs#W!i&v8cl}Txv}D#2m1-74A&TnJ z-_iULOZXwW2gHQX=x+^_!S4hqd3%Q?kDCoApbC;_(m*2V6OTD3ECp;XaDXuh!N6dq zsDHMsm$FcKjxdNDW1bP8<>rTZvVz4flj@w+u_3+Jr;}+mNLn@k~IO%~N zlrpV5EEfZ6&Bi?XBRZ)P_^N(A;W3_Y4$ML1#<(gw7`{Q^WuiRXw}5ab{I^^Fp8n;R zK;LdGp3(E|WK16?ob6)3_AcTl(e+1Y(+fDEa%}A`Qtk-XyDSq3Enr`bSI)^3W`YXd z=z{cL-EY}MmXfHw8QEF{PNQ^E@M6%GZ(ZKg7vV*~v*|Cn&;QEdG8fyy1}-REB-N^l$>-_EICJckaa!6G zEv^41)Y-!_ym(W1@h0{)kM=bunfjb^WBC(C24^Q`M;bDV3rqq{5>4Pnl;cUCD28Vz zF1@>@9w*Y-#m>?fs_i2IAYms&N7`Ei47nr>=E|KnxU}JCk(2Ka%>rB-)^&c{;+9FM zHB}+Av~<5ZO7`sXSJmYcuxTXMH*nKb)iYEGtNx_mc9n|EahS$QVa!1RL!#NhG}2~n>y|Ir|DDr%-hQk1gBJ`;{__7m zr`5&X;{WHgUi#T&;Eg$LdgK*XFbR z$lhNrd!EJB{~20WF?IIQ24YMTdvwfhs%d2

UAci+-N`^M8J1)y?ho1U-P7{$01f z?RW1UzTd3wN6g<_92ac+JiTufe7pd@b|eBGQVjfW&jVi03y>KYdT>5p9lrK313<%$ z4$nLN+Yt-|yf0&Q0nG1b*Z%x%Z&&>x1)q!EyIcPGy`XtmfdAY2_STnO+t>TB2EhMw zZ?Wt2K|fdF z`RfMIbr zSdIKMiG+UzT?Yny!1(r9p8R~D6QJFPhuLnU?*o|E=!{5UaPJ*l z<1(-#0Of3^L?lc{Z1ehX_ip&Pd>VUvJ{~{6W8ETcdIFza`Z`CBKQ8IHt3M#8uI4is z3i#iwpBEqA9G>d7$)LA;O$qm467mJY3lX2gb^PxYK3_ac-Y&K-dp{hz9$UXoUNLQe zr2hWbljZ&Gu2>Q5$W$96omdtb;$70WiRX;S_O^rc3tSyW$H3t0D{E|bs$Dx*mQS=> zdIERyopqk$y`SSBtR{Om>z)GL+=I{&n)3(B*xFQYKS!*NRS4XDTkmJP*Ljcd9 zy{&JGakV2=oJ8*2u4S^^>AhlMuH9=7H7vYhpVC%(lR+3B@6zjSw}jt8OFJQ(=n5Dk z-0kq7e;pRsu!Ot>q+V~wEzf`DrrCU(F1q*Y@ycSa9c6rz-+o0En7$1~gnPKH+(Pge z+|ZjGd07=u^Y7tqI3Me9eIf#OKR9piy!W*aEUZ9?9**=Y7W@ku7F1!xosmwda2d;e zTq+z2g8~f}z|eMG2H$De<*FgDj9A@^fmOg3q5BF)+g;xx9^>$Rts%W`Xcwns_`O*l zix53TXup?-fE@8{jL!%xz-VUxPZ#LoCGZk%Vfhn{!(0x+{^xrln!`>+@W{{yBj)7} z#4;MkqJn3PI%hNE`EQgj;Uc#*$fr|&hFLsv)`J0$X%T5AC|SmI*n9BXP(_t4WL+dg zOdc=@17ansho3gQjPzP-isX0p10Q~q5qdxkr{{DpBm0D(penKVMzJY$;HGC3u`%=7 z3^hFlDDmA~3Quz&Ga~Y%t%3gQp~EwMVK~LcfQE3z$P2B2os+*h2BWTl$n%nzci3bP z-o5&GWMzI|msK?~sw@VfpAKh(b3H$Z?B6>epV5&E=eg5E^*=Vpl`xGvVwZnD)$mX* z)fn95BH@r>e%0E^lb5I?8WzL}nQEK$he9~Sg!Q9X{1o^!JQCw^tmq?sO>x@UnX5i@my#hRm%Y^@Xg^D` zYn0i`R^)HfAqnq04c#c1DFAhRx-!L4(9T>FJKfzX;Bc5`7C(m-gEjV1x|5sWdtUQ; zzBw1q?$|~oMf0CDH0ZyuhaulftycD2iz@UVHTl@5_tD|`oca9#dEn|k{p85$sIXhaJBi4e7BPiLpb>7Waw!Pr#h}f7;r_|Vsn6lF zCZOYH>u{EMWU<}sQ<2&bDUXXjm{r`$HPp(4%_G}(Zxkqh<9p*f(3fNNUdPet`RK8+rg!VjgbqE0sLR`WpAWXDTs|ZE_ z^PjE)fM&5|OwN8GrXVT~Ml1jc=95?w4hjoAkeHVYChG&3_<0DQ+7aLP?H$P+lf!tU zNu`3q(Olv9;WuiBDk~kYo`*{m1~&kIztSKa-JFL3Gy} znfI4F72G&y{Ghmj!6mZSz50X~9l1sk-R3QWT?VSUZ13p4I#oe2H1;5Um%9JAzur>Y zmI))cFzEzghb$;hmAdM)5+hp)2#Sn9B4(}9_{98!QgR+WX`UuVjvU(<##0r6zgzs& zV&x;?5eM@}kP&PsH*b<&wU)z?;&Mh-MUhQ)O)f{zP^8MrR*zDVdQg!C3Eg*2Zw8b3 zYQ_^%P=>enC_PXSJ||po8HuzN;9Hu1!NV`2*l5Rmox)6$G=OC!i}L1nxHc9EzY3 zTOP7Y3@o)nY;DmgtrjbpNCZ>%5x&jI0|j=U%kZt}D;N_##9)vI1#>2WhV?#`UY^Gm zhmO48$Xc7zT1lFVc2cRlQybLGtiiwcpMHMaGv>=Dzu5`7Fl|A@*IF5}-cS0_hJH*c zSO{-!w6x5ewpBKyP)ONSmhT`_-+^%}CRs7Rm}}LZz)}Ray?yW2ac32WqG^Is7nM;hd%wjNzm7w&2So5eke! z3*OGKG3rHZBKMB@0QAM>5%>fiQt~?;7TAv)GBPO1-tAL-KbH6SXbM@+;^j(|+k}N^ zp^QFiL0={dNPV#mS`@(_I1`s1LtUYeL+U{ZO0B_Al{UK&I?(NbBBOAD;_y(cu0K^$ z8QY55+Q;h^wN$*Lo7u?K=CIqF8ATxOeM1Ec$RThQSaZok{iG7N?Sq~aaaKN{f<31p z>AaH55o~s-+1l$=5lu3u;@C2&3Iyvaa|L(0M6A|8AYf^x+)7FLS5NE;$*?VvbaKvWFeDQM!64bl;bhGPuYR_IsQ}!C4tCD) zWPSQ>4BN7VFnL2;V84~-!sp9vd0i=kIj8==PVL*WbuFVx=Y>T92`f^!|7K0=MO8?X zP{8j)*~FY9F@E=xQNi>XoI%^R`iF$A92&|{5@PAJ3=d(_b5<$7W4&vIP~u|Q%ltFe&6 zdsf_>A;trgv;%xEOfSP`jYtPMfN#m z5IJ{5BI8z%%)epvV>&YvaMooLD~@xq4+p|&UAa#%Z#`JOc*3S`#s{1h@TI~n7f94U zVsjL4izZit`O^>r0= zPlo>)e(L9exAb{06cuk9zQ~_1)Dd7)%^G8 z#YYl!db0c&o00`*1tHf8s9 zLBzv^G~60_V&c(C^vuuP;^AVxH=Vp1nh0>qL8%fL2n|+j(w(Dl%9`HSoNBQv} zhZa*@W`fyDkMxnojtd^3kQ$*es-WmrbmTWf9P>Qg7%d*Gk581T_WloX=ddISj6l)0 z@!Ga++qP}HU)#2A+qP}nw(U2)nyUGN*=3zdQmN#gbIHjJ!G9W?;F1x*^%>p*-`6GlaKrJRhJTMH3C_|SA4IN3aGlFw46hJ-@Y|Wb#)i5kNxF_L}m7AwItJvqFf%e z5&2|zw`&`$DkFn^+$>JU8Yd33=n4fE`cDXr|7kaBZc|&-NB&Nn!R~v_}xtcb>zw-{7{2&0yA}u z*a1?16qPNL7`^DmtCkXYLJf`m5l=c^|L&b*E0Lj zJ~L3deW1=0cz5T1nWTN_v&7nczm2T<kNjd`s1boEauQzOJW{bnmoS3dQ$RTTsZx*c zzKzd0#h(85l^8hq|QtlU_T{YSGq?6 zT*3-eBrfn$U0y+KU%6xWeI{_BN|d8eER-4MNBX}eErS$bUD*cT z;}HOLV?URODEg52)=Pb;Qc1v;?PF&nQdLt$%E_3InhpR^>xF9u^h{3-?No$}f;$BR z>hjJci=^{Hryiam&oYCI_NL<_d6ydW{tIoT``d0^xiyanY_@3^DQnsV5M1z0`N$EQ zVkc2WRPXUS6uoK_y1R{f$2_Rz)=>v$t6~f*j*sLA%L-BGNR6~z$xYCQrhj%sR_B1F ziYZY$9Zqv=9Sd$MuEa#-&bSiKj;JMUwdfnC(g3l}Q{ z93^1c$0?$R4kOhF)2M*JO9YR*u%BetukqOCG}TilP|^^IC1P!jLSn8ZHtzjZh$2|_ zp2z}0Kxk-{Kc0C5?GRB-DjzjYIz0N3|0Q=b;w?6Dv?307Ye?yauwF;fVk;5q6m1W% zdQ9WKp7Y#u*k`b@(c=4u^N=&Sn!|kClXvS4;`sFk_ok7dbO@h*PZ-x#I(3gbP@r2A zEVzhg3dQkWsj%=5wQvOYwU|DGhiJe2n90G2H~!l&h;1$80qqN6D{N0jG%8a8)?YY} z|GQ-L*XHrTWkUyit0~IIAPoS*D#A%#eYHO)Ctd%rh!E(4n8|}eC*5c?v-uYVvRGs^ zfALmM_K;3>le2T$pQ86%+`6NBg}u|~o$~`L`aA5JplKK1TZvFaoX*=#<}ELm3=yBv z4_7ImkHNM`325J_D%C)8PZzB5*oL8Wz;&LUl7w(6=GPMs;NE4qo{`hr!TW=3$4XN! zO`s`TOy5=^t!N(AF)hh(>~K3C)X|YhNXkI`;cygT5CHn^57P}n3H->1PA3w;m}bSp zvZ7bh;vuE>WGo-@2LR<0f5PPP_^dFF9F$3pdwMI;+9=2-sQ}UxLnxN;_c4)%o@x(8 z+y`)sU0l$(tGN{>h2wz5Tmx)%CePl2CBfJDy0f1~hoPs@y-O#eIj-ci^*L zcZ3z76jE*eP(12gyFk5;8WBvX#m^vLM-pRGIjYQVM7~8=5HO(Xr_Vl zL2LbA5BwETcUjsqefFfZ1zD8JJm)^k1#JT3K^jX46Kp!phC_#7q=kJ2Y>w*?u{0zF z_M$0gMLpdzfvYh97@}y6Qxu{Gjw8c%TIr>Fc7hhgeswAIegUDjPKQ8S;qgd1cg8U; z%s)W8FRqz8zdH-zso;-rd8K$$g4 zbK-C;etZr=UwEo{jS~a`F3@7~)JYirNi>M~OE~EHf(hn*^HgpC%K?Ke_vvmm>$y4_ zrFa+dDlvio{hwt0hzRI|6v-b!S`ggVV}4m?cmLnm8NG=5v1HiU9lFSap(?lab$PFz zf9_rld}&Jf7ac-mFe}U8R%6C)o7o?b8pw3m2rYS36p{?_{_>h@45fsz7iF4naNE#> zdn3_-y38^XL2D$Wm12`BP>M?)C}Q$~=6o#RC1FOoR*1igTW$ez46jm|w?jH;=Fbu8 zCI(c~-*~GYi!=@tH~SQTWXUl4NBMA$m7n}E+^-e^d{}vkcdmE^U6Psraw-}a)TD*X z?9l4P;(6qVwlD#zSim2l$=P~wZI$hp_I_Hj8!`5rb=dj)c#ta%NLa+wP#pK`_p0t& zP06Nja+TjZsCp!cZa85N+saV=R}fx(p$Pjlw^$qjBlG>=Qprh%t)(ewgxGmTo5b2* zr#5WkXUT0`#$8L+H}1-kYZ@E_va}&YQu21Ocn6hOub*^U#B4Ss;a(waijJHGvs$FD zy|!@MG{5GTXIr@%l+X*#dIlQ2v-p5>2X2Dx<><`s)@E53=x-MQ=}g9yHUT<-6zLp5 zs-FH7g}$U6dNMm@&FmeqEk&q*-yb0DM5PJmjMWgXZ*8?XH~tF`ZA#BtLjUln!r>zA zBs6U!rmW)!|H^wQGaw+G4}cb#%^F4mBLO~S8<*)^C`ZW&9hA#3 z(k#q^$`@Q%8YGg8A%X5DnqK}~4gA5l)Q%opp&Zl4~LHm{kUhZcOxm1H#5mM;t8u4%K_}dyg$%ZiH}E=k&0S!WRazdQKHC5j`#I= z%PEs0xRhD%($!kC>_nbENwPI`NLVm8+!lY+*D_sL&lEhFnCSD~=alU%nd5j2?PCqW z0Vip}p@<08VG#{X1Lq1x8dmBB@`rqb6&X-|{s5KQ@~G4=8%-lkX}AFzu;Nft@AMhclfr^<3brc ze|1W7OO7Y}MO?^CB`0`@l^j_g*5*~>ag@H?x;}GCHQnWxJEGr&c3oTMQA8#F_+db3 zX31n5OERyUf~}5(<0|2AQPRL#35uEYj-zrA7j&!-Plx`)yrbjDb5Bq@nzkWbqk1i) zXp@hR=!@eK0yqqDWG?$#UZZHb2Rmu$UP&vc9N0s2wXzr-)kQ zh4_Q}xK1gAnM%_m;qL2bBMFFu_ENcJ%}z>b?PPk?b+|e22z*ElhPww&CBr162WM(C z4h%08O$`;yLHwB?ExL#4bbPVZqH zVs?Jg$ZE7vZaK_G1=Ebl(%}VeG6durK(6UOCCRCLf~3!<^Csi>xh#1$LS(y;lolz| zQLZpo{5h0=#Y_E{@Z@TqA)!9E!LzOZ?gNJGt#xM-b=#`um zKXyw}Y~QG1MIcz611khQWxR7|Hv*tuRzU5c^YXFI`6m?zYIUQX)UDL9f>0yTXYn|y+aN-qJsy@~vvx|1983IIf4M_= zKcbMnnmU*fvD|osr+qPsaL_*1e#!qIGv;GD0TZnZCu!Du5%J_0l-da=`sBDHq=9Z* zA4k2oAB=n|c;x%j1>g2XUv~SSu3=7PL~i=<3J`igxSHnsFS%MSvPsg#Lna{dCQ7YS z5?i3!u00GSITff0`7-*sT7|hMw&V z9&49IMOI^p3R{b}=k8$K{0)7=MSVpKvOS1z9AJlMty~T}Dh`a80Yw2!meVE1GGru| z&+)nf3Y%zO9w;G_`=lDdO8i*D&-8)`)9{IZliec8t;Q5C=?u7({X zs_&;nXqb6!H_u3@t90)}E!CNuEjpXcQcx}}ie)CJrtz&U&3$#w-M2-cIoT@#t=Sv! zTFX3o*V!aqB*00%saj4_$WVn(lHuaxi*U8x z1ht3?F{13Do1{^97w(6~#Y#RhQN6fIbEf3YIg25F1)FM0kS4f#!HN+s61;kw*&W5V zUI)QJh4G0>&=-c%b-X}4hst4r(=j!;dEN|%dR_=cG>&UJwtK04G0Hf7)qwg{@nKtB zo=xmzs(Y42)W(F~ z%<8d0xrE={>IUgarlA6EJg&1oDch}z2w5l_zba+9-{HZx>Mnh5MmxcUF zQ+!~Nrk&#DBRW?=QOXpi3@V_HSx;4P2{&|7GwDA5WYq%pnn{L<=J80uT%99sTmM&k1}y4gfqk2^q)slQ2Lun z^4%sU0m8>7cMfs!SJ_3@x9-V!_0Q7sIYhD4dj4CJ?@ zlRF@8SoUGRx5qVg;)-_#mycB)$)HePEG+qUDXOnXT^l!6u%}NJEPCwCdiFwf@eGlt zJw4PHI+UFFwwa11hEIBDW79gaNkY*TT+j)%7;K7M?XW&Ew-_K#7-!5Kd_V-VJb`X z5=TdIKYqkch`Mr+kfav|>UeI`p9#~m2VXsSoez_G3@FP94G&cqags7#QAe9(#;qZw z^>G09pzz_T&pV8ax9Fx=ZPGM^DxI8kJ%z=ElbrlZ0dS0RH^H@V=q8% zrNm`9byL9$;uliz?glZq_AUAnjmDQggHrt_&PtNy+>$jVYk*hPl0z}eTkb0v1GC68 zDjP%CKU0V*ozZ*fgW*VBpse;v0@68`1R7#Cy&xw-)gWmR#+=rTBU z-B14OY&WH(vq(mn5l9Ck0DK8Ibgy#gp6qWzSAphMRq;G_>8A#ZEEqyGes*QZ+gCnk zMvzN((XUJ*fX@*6Exn>vQXH>HB~`%_A`1d8FI^B7oXL11(H#rnK=oCsGL|nC{HZSa zlfHzUFQJ&_5il7vw}GwhV0$UG8$$93QPiMZOU-zKasF~L*Q`v+9Q8~*) zw7#*VGzOJN-kTMe>t=r6M%RnC!j}q5(Zan0kuvhPi%9BUaena!TjNR!T zG>JjExzzcL>>cPCxq0@2m4*soOg&P8MtvhwbZ)H1Qa^hI|5eo2R?I&w$yeBNygP32I_cpY`YfT(b31F%Zp*^<&BP zXt(aeTLR?jfom!L+2xk$~dnsG+^q z7R~0laoz8~ZPX{nM~-E@WS{8H=_D$p_1j`g9Cj%_E#ZOkxQ?VdL zMc+DdeR{9?Vag1!EmIhnqP_;K`eBiOob zn3oUb_OHRO^M%4!?t0Q|L_gvC5?jHh zAg5Y{h7HR;oc0?ZiCIt;_i4nMg_IJ$3rRsZ94pB%7ibowqvZ#zJN|5Eo^V|(>M}30 zGF3qJ&|)nhF0=;^Rjje@+7mq4YDA!X)aEh>KN@s+K>^?|sqQPQiWd}WF>I9C#tvV< zj&(!P&I6V1Jo*S-5TobciaHG{avD%Jrqko+2t z3fy;xt>Hh$wD#pfc9#-lqE7Gk`YEFrGF`O(ZZ=@4TqNm>)Cv$h##2^(E~zWJoh>>T z4WXBmQTcar+0~x2$IUd=^R+e0o%bJ`vz-@GaDFbs<+K7zWFwoRqJPi1%T9dZ4swBl zG&1?Aysd3mbNez{qO&iQQtp@v%}{+vE!JNd#kHfGU$a?AnVu_mKGN3J9zUnJ&9UC=K=43P}U4?n{8{`DolXFCx z`Sr~hf4IS%N z@WdwHbc`wyFY+pu_zkr#MN8S??V=#s)-^G4F)--Wph#Re(IU?653u8lyU{a*N`zyG z-5o_&jq;Nhr!#;&dkqsc410Ed72oz^ul7!@`nK~-t$G|ih16No`z7j?>w89`kaA^>ZzS&qJ>_`KnkQSLvaxYw_xqkn|Pu#H6 zp18zp&v0N`mDWmOv@a`MPbuhf`|$rl`+DzfPuh{AH&!FJ8LpEgazJHt+bF?|wk+cl zBs&eyPMS&boXZ{=Y`WQ`iW7=n(=Fi|^&44aDYXX)mgA$8e>fL*W(DuVtKZ&I!`NSv zFttW*gtZJF3oN?+lW44Du(BVFqBB)-#&$peRVCkKG)nt3v{4#; zQ{vTzrW;b9EYh|8)V3x)(gfD5Z>B9EG8g>>Omb=0khUX!)}w{@3jdBRBcwQNwj419 z{u$7ZCOM-gWx>0r)+0+co7FBWur(z5*s)gBa1KUmM2}cvua(1j&s-|BK!!Q+;xG+? zTcTaMbia={HOwS^_K<8Q`kU%c$>5LD5DqSt2X2*JkN{u=_w>gP56hdJ_rv6F@Q7E3 z@T^UTxbHoB6Ama5x=OwC?z|6JxMJh9PQX?lEMdNUEq1340n==_EoU4vHJYqziEi;? zhu5}2#KSVa04=c?wc7W!4%yh0wCUE>&YD)$Uv^Zw9pO@Z6IvIxXJN74$w;dd3nSV9 zf>x_T!9YDkp{klsu7mzU$F3;dZQ=? z;|cOODMb?$Gv*qNqO`p`*Ypv4ed00NNBbBwR}0}h)RU24#z&}xVFKZA}Jp?@3j+28h_QL(B8e%UG|tr%e>u(Y!E^ha9C@S9w8$8~D0;8bB{-LHX~qGY8) z{nUkmiUN=zx|TJ7x0tI&wRwAKM)G3<7M6!k`-$u7DL#$8pr_WyPdYOiMx(EI$U7aw zK=8XR!FD7Xn~%LNaj}nb2Uj%4F4DJ}16dGeb}4mKKrST%>#o64p|QYeJAkx0?gOJc zy#XPdgM|$fihTjL1}tAlBJL{LD*_yv_kUqu%j;2fyjOT$2cZgKm5vvU8Zh(v*V?)x zF)GcFT{VJT zD){l1l-`!@QFU|@_TA4glIzJ30pfaQjo%7Y==X)pTRl>SV$0uWCcfX#s3Zr$@6SX= zUz1$aVm1m@s1E|&uF8H|Ue>OX6op5PwZtnpM;QrPs2(MI%iUu?m@zhavG_s=`+?uz zJaN(l>=G~ZrB~=@H`7r#3!Xr{+?pbkywH`1ZCxmiavP;mYmaVNO>tx|2;SDMh7a61vb&8ZS2@z6PdlF=EZkTgF&O-i7htmH-t`kx* zU8#7$?OxU#VKrU*C_Zbvi7(7agMB}O^XGy2Gy=JJOI38v*Ghi04v;IB#m zF@SE(J`2wKzLdA=)!rl4!xS}mhX(E*pVZG*FCAcd)X~0%532@wm;+XcyIyuUk^Q5a zFMK@AIZ6kOQ1IVGHrv%(G(xh2;5dIh zoPc$XY&UIkMV>LcjMiFAgSVcIOjvR|gv47SCb!>-g0=au+nj}vZ)!kUmbe;klL1RI zuRpJ+KJRp{KPeU8XfzXZ>z8k{Z?|n2M`%RRb-Fff+9EW)Gv_Jj@AI$9RQis!B!C>o zaBO0x0FE}TV{Y5naBB~-M+;eitiBsqDuQ+3Y!o{tyFZOsh3`hXUxblvKc--f&g*F~ z;GcSyf_)kbDNaprK;H2`269PO0RHu5ZI52gO_q+lbi6&!9M2&g&s5JJI;Wj3I&O7g zlLT|IbjSWqjGUCiqvG9IH$12rx2{+cFU{ukWQzLEzn-ggob*O#@yo>vyDDCzELRjc zQ_^p5{)>lo6tKm!!=j3ap_*OQln69V+^vi~u7;m?I?gMBUC0YQyyzo+JWZyyV<1ca z1LYsJkZW2F>}k#oXNoAIS-MpQeaU|f2AG!vZbj}L!BHqK`1l8*{2G}cE>=Eh$xN{%o+IVyV99tsXBl|(1I z5pq2mUpSR|N>UVl5+zQmNPna|8q!V&Yp5DGP6IPb?age!T` z8jmSm*og9X=EXE#%Cunl>0S13u6x?wkkT^ZH0OQNjKYWK3o|k*D*K&UYbOGn= z^`HKbz_+yuaSk$}*hM>KO|9Fy{Vd$dseME;+4sUG3DVJgdh73~RnATr{=47gL2Z`| zJts#6wbEF?wqE+0hNhrkCH}Vnp5cL+BJmPRZR%!ksWLk>T!Rd`S&`wVLhr(SwKQ+M zvRP@aOIE;$59+cvI-X{jAJP7@zGx-4Jr{=l4gVh*cy_>uu4M7E(cGDJ1?<<_$ACl5 zvX)S{7W&2sWY@f=B&}oa=eUciwJnpu=UPhwL>pJ(`a@2Jxaw4;zw~6Soj?1NpaHwx z^b`Nhw0d2;<1vN9MJ_ZM5|de|M)(F=%qdWp3#FfISNbxof^LU%_9~!lEf{J>NOj@% z&ac!tsoQz6$G0k!^&;#HK9|y(qKp5-X;Xl>kf_$YFVZx`wK*>RXR+qG!-jb#ZV}6-vf4z4__H5L;3E7%DX)~6yUzhcp-Ka^QOvVuw z|1E`LzmQr}U;aAc{_6wXxkiIR^oPyr&S&B4N$8;ni+0Abq9<ZY zOjYRQi_z4i#;It_O3|a5G40V8M>El_H^ugXVgsI|Y`Z)YQZqolcUBJykK`!Mej=UyF0*;z}%`w?%bIN z4Srn|3p)wfOo zH7`dYb?=1Faq-kYWsxo=O(gItPhOqfdDUfs21+?@OMe>WGsyW(o1?IgX~*;saMmy_ zcYI3SxZqXt2px(I1_e2hb#>$1W=x8Mo}Y4JA^`F{qo&sM&SaiIT|$vt~>t$A!R zMv`4ZJdg5Ntw-B|v+gPz-W%h9|FoG=*Fj%y3J&e-7z{bP50CP6#$ylM+Mdg$sw(3W zz4J${%*TptOtjIry4j{>r-8&7EzxlEgL$k3RB8@g5GhMbJU|UPebB!RTZ=SW zO06*>$)QWvEuwI_Mml98CHf483*j}VEkJiLnJBJ-ob!+)jXh`)%eByDt`N*)_S$gt zME;gEn)TgYuB9-|$9%7lceS3kmgpUS*VOeJUgE5%&<@v}+~!&S%UhyK?CF1H?5{GC zZ~8$e`>CmXYK?r7o4Vp$(-`#{Zj5~}WfZW`$2T-(93hKe5yi!HyDL}&Ew*=S(pMyN zvrH7Y?KMgHf+D*cp?mhTNB&b)^ibHL$nPdx12zily@?qEyQ^f=T54&=h>h& zZk1QjaE6tvOE@0K%%58)aNDMcbeU1pCiz5z+iT|bJ=&cV?lm2+fav_J5yFuTlWXr6 z@ktF%XV}u|ZNc0z>22A6(OlS_qkny9(mLf$Bd_hvcl?+3E~A}sn`owU_&VG8!nPEq zr%~}F1pOq~UYqb8ogLTO+dD(iTA%gNKatYA4`v1Z9D-HlD4tH$^8KwsOY{Ixd3{^! zVrNe_+IS$@eQ=Jr*~)Ru>9SDD%|bU$kbt(MbQgQO$Tz7tNlU} zL<=@m4c2|&ic`)>^M9p(?0*FIq8}^*_gCF z5({vbuD5WH%J}&* z>4s|9vg?tpIKl{3T0r{csox|BY&WTL#O09f1b0gVcC%`>9nvzz3hf~rWON)6-(Ij+ z1YO`q5mrc;bbRMbaHV~+mEV%BT|ELN2t&PM80ZTP67AAfnnijb^Ch1b9&IWM_YtC4 zKRo!Tz1GS5@jyL~(Du2>9;{~Tn!8UM^Dv}cTcBJjLQayBT7 zlH>&S+y^C8-yq$g*Br?+zH-qlu9@LkP#|B|HrT+0d4l z=d=DQFVHKvyVzyfzNPA10iZzV6Q{O_<25p(a-3e#45aKuN}h%7_7FqJ@kLa4E(=80 zs(NT&e^|Uc^fwe5ZIjmoS04MEx!I*&YWPw9z{7wJGZP#b7@7TYc(CE%9mP-%Zb1i~ zC8Rj&a5yISBGh5X<-|Yb0<9+SB+t8@n^XdvSiE5{TXM97Sb4g0u@Z3b9#DGy*9u!EIhIP%yd7 z6(bbY73Gg-o}vv@(5{+81E}pSS^F%s7$Ld2set-zHCvIwkVL2IVAFgIyzy`u=#^6i z`8hQAVULj+9WGOcT8>m7pCo5P5&?Y7$U)iL6TDNoGHvP&%_=^c4SEHsK1)+A z=5v^Co@~cHr1a^KHt}E>tNU`(yx&1E-?Arp<8fLA4>cV zWf?+nZ8aJA9ByCM%i+UEGCJR{LhxVm_T&EUAK?Ge%DcSuSeeQI0A)e{e_Gke$@IUp z@=&+C7qZ9)pYHPZU%YdUgz@ZjX*fY~K}KRBc0>q3LG~lWK?-~zFknM=5n*9rd0~D) zh56r+QzscPM8OEOlR~@-KbnHP!XahH)kHzU%&mKcCn=H>-|p=FD7@~X*t5zrw;a#2 zPmV_pRDRGO1XdsdV6Z4$kMELIU6LTpd}e2T=YN3A!FTpMkTcz@QIwSHysn2V_PW5Q ziFW2`j*~x-Y-hEG6rp!aZkvaa4wGjKZSq#PZs9%@_ z9|U!5Gi~noPjKL6ahkqcKO z9P|`^AmH8qke)Fiv$b!wrBps5et_sAk)FR8NUg29U8h#8BzVD_C1pb&0k63Re}d%Q z;1orpE-E-7xTbw#y_TtFdG<)Wf^ z1-c5@<})jJ6n6F@H&#|&Og1lVE;mnFU{%B~;j4FZy-%+)&Gfi7yZbp)hpqn;v#ER(mnm61q~L_iIf7`mYfXOp7eaWTJ9`pklU^B!QTe90$YZ|Wpr9& z85E1cX8G7)SY3|BVe=Unl310?5xmi8{^*I;YT;@29-S%8b$@B!_RRVB2%WIi#MX5? z{2i+6@s8qn*@R{H;WeLYoBn(q;Nf_yx*$Fl67q`0eagj;a^L2A;e1ASWw*6YG-f6lWc!}rchU9)$KZ@u5eYg1+lEV?p z6IL8J5y1RPc0qcFC^v3)+lkkk!$j)89kQ9B!Hr zYF+GxK$uX6_yCjI8CREVnHHT2!PlgqXtwr}CncE%=ki;;pk`nQDBR`#N2cKfOxMxx(T(^Aojx%@3%-WyWsb9?7XV=ErOmPP*6XX>D_t3 z57cNqxZY^ryMwj`@(_yH8;v7z2U_oShs!`PLU@lQgw_$2>H>*|(ZzwY>sSOdp*+%+ z!skfFEn4lM5&XS7Ax?=Ze&5;3R-0)!5`0_9tEZmAYHeNo8HUeX)rzbnjMuHOIP$f& zierU#hj2WOFMs9|=M0a&ct`6rn^nadbjNIvZm_i5stb4(Chb7)Q0LGr_wjJDnAe`H z2_CwLm+b(O+sI7s!kcmaRO&uQ8`#({6imRTX8Gd8sCC%+-c!yJ@741XELQSf!pV9Y z(|iv9A7-!XbRNqO#hc#;#0?ZN!unp22Ui`S+g?`%pq2e;t|A{t3&~qqB{Z|)G$pat zHS<5rz#|;pRjOi)nzl~nc-|&C6%?GW0&!b>>qs^|t47Jc9tZXls#@+G z@itw96dIGAsNkK+ppu9O+aA8AvQW?SMH)&KVl%j0=0^*o=Vz=7>^CO_-?g3Y^xKno zy^0{aUZK0=cuO0}vVzz?N@x(!4nq*I_#|tD)hBnHyn7G#w=hNbS~1Ituckg^WGz2I zd?oV_`c>q?uElXM9|&OhDP;IaLQ;vF ziD?PP6p)u7F5zg4Om_)zwC6IWSlR`MV^R;}_6g$H^7X_DvU%?b`NY_@sOVBfZVD{` z&DB->Fa5_2M}ghoUv&XPrl6NU7HL{c3Bfv083=i4@}y;E;xi9Q{Dx z_lAiyJ5X$4)|dKPY_|8f@SWf}lE!lVTuOwu646~`u(uYHv0Lf>$6k2xhxHN#z?)GS z-FFqfin+!d6c}seRH@adYn>DRZ#8*zXYe1|fck)6FuY&0pE^EoCg1@-++@*s_QMk1 z(0u8>#yjQie4NQCKS_TnN>98w|2>Z={Vjj2{;^x2x%KtTvQ@Pm*uA&gRWn_ndGq|I zg&huT^Xp3WU>g%a9WUJuPXZ%`AL}X>nV^L%zCZaY;kBSB@uFxJo}f<10$jJYins2| zq@7EZo4_!POj0B?3ENjz`B91#EXR0Lrt~jm6mCZnuLi$qaFgSVQ&^*cQWjO|`X`6+ zZj`DhB4M7QC`{4&u0OoyyA@j;U`){@)nh8qLi%Nxsy)rwRvj*f;@85fpAH{>1(ebr zCnLKxfR&M;^so?l9Xwwbp+KY?V0#p8vJ+T`MN4pm%xDI2? zMS2?cTVBDxpb3NF zADt!cN$Ew(`-nwaExB(d=*ZaOqpdt^Qda;UeWUv!qSIi%KBdjO4IOJ9C#5RL~d zjWVT?63^Tq%tg9DlG1)vqsNLyQs+Q=ZuYoi*6F)yD<4A#=;Azntox!A_+G| zSu`!o#io~0?~D%3;zi=J!8$GEr@+DhV6<;tj26e`WVWx(%HAMAmXsgX|OE@U8*0o-9YU4arg zd`f!XZ&*Sy*0t}CYNLFmJfrZ|ReWk}dx8ZB2Y!kXVXk#Ps0@+Qc|V!e}@eYh?v+{e!$*#$CWf-DQV8?&d z;BQ$EJ3(J;rQ(M~c5Q}T|4IW7cDf(@dG}icjPNA-KJ7{grEBefMb*9D1wHb54pk`+CoJHqc5F6L-7%1<$J1Tat!zrXS_<^UJ zYX>|IXC~2$2b)KjaOI+9nwsaQgX#>nOrLUFH}>P2Cgo-hgc7YFXqNPb^CP(D4c(pRH_I*goAg}TZc%!! zZL)1~OyI#ZXI|-;PD_RshI@y&L@+gsfaExvcYuYKGcNkV*)w(gcm}&@g*MN87yzC; zIXh>?ZDXeLl_cis@Vw;`2aMMvR?>p{H5}&8KnX@ag7F~9VMVe1d|7)(y+_aylmd(c zCBgM4;()*k1~;OQu-U&JpB&1Ma4vMY(uT}wPfD6M98Z6Noj3MGmm?TQuQ{Z0qX%t- zf43!$SW!lh^lHhW1yx0lR3A9u{;>f?l&O-u^G}Qbo~(a2bO@vdJpr{;SfCJ(fu^*R zDQFj5{9DtH`ib%kysS2bmWT zRAC8lqVl>)ZKgTm9fFj9Ih~^pLE}7um9wF${t65W%y`!@qBp^Owl(M_6;9OG@y$9d z>IFME0iBKSXsKd^R`X}z0!L{>8_6A3dpYp(AnEcn_%3@dvTc1Y>ePC% zK9mDb@U`EVke$_#>EiIbW%#V(b{~JR{bRnI%b(6oPo|Q`cgZBP<1=dCWU;04sC%09(->^Upv+|H5IM zHjc>9iQ9sssL^)hEKYKym?s!!Qjdd!C8xSRc?4g_)kLvL+WC_!Ye3dF$MP{9zUe|W zkue}J%N&d0GD|dR`_Fiq3a|HTDnbRGVz>9pNY0W1k~*{Vbn3eCb6M8YRd}~Mmit8^ zBkrqonCc%Vo=NL9*505!DH`oV1Z8IeLtmZunl*#NoH$@yn{`VIKtM@Cr#NGFQZ#OVx65~wRP8+GQBSX!_07;a-+Ml8O` zMaVt_v@~5f*qi1?q$wi2S_(WsnL0EbSPO5)O*+Uh zK$tX=y379hxkJ=+%TLCg)f?bBau{c0SXhF!Z3suv@&!O;19z|u1RH0dkOSIBcvJlW zE>J!m+Au10Zq3fqiJ{5HMCZAD#;Xh(VZ-yi@yBcReqxx$*|`lV{{DEiEGr=U5mcK? z0#~9X@%|c|SuHk8p2d@gi_UdF^Y>qc(++yV1ABPGoYRX{2Y3d;nlqW%2{?qr5;4}r zvFqmrGdX0MGuUch`RsTceb5vk5Ds4T6#}O$2<(wMF#Ec~<{i z7ZTOvI$!6#n}D|dW!v5EJ=wo7KoZ~`0f4PY_c}`W4**X~fEe!j7@Fz3amnl@Z|>gb1um3jZ=W!0 zX#X)c4`TWhun?=8o;XPt5;9}mM6E_H93sLtwGwWqgbfD=UMMebM@F&VjG&~^kxxe8 zk`QkHB*TD5g=`&xZxUB2jW^Nw2L8p?rQ8Z``8xX3Ps$t0H$NiX8t8VwiiG)Zl2wES zP*Et7b;gz$-wi;%cnUvw$(0)ZMY{d;X}a>0Pk#5UV5y11=Nh;btxNeAkNyY#Il1uB#ns{rZ&re)-M!_UYTnsVH_=!-CuUtt^?lzH$64WcLtV+R{HiK5FIM@%g>_ z*AAQU(1_7vN*8*ovCR|O2I$`c-PIjX;04uMkUQyHq|zd}2zJgQ$r6xz!I7^->RTiy z>4EC~83nqiSiFmfqiVQZJu4UGY}JBBAJqVDxV8UuojTn17NyE&IocMcsebifmvHd20b zP?^xBuebWnle12oJEZLT^qJI%{O(!TjxXE-UDHR7Q9bgd6omsK|;%er_B!yB&p+rPkO#B5sYZP{( z*yIs2KxPtg%kL#r^dx4q`>#^npqflZRQVoJ?Rbd}Rv=|W2j3VpDggAt!7QH!wS6i4 z-+lhOosUdgsJyRSd@4MD<^HDw4=-N4dy8)0Q`g%>bpO@bM>YT%}3r*l&`rws;39e7xenIXU=xz zt-a4|AF5m#3ZG$m4S1x>2OgOKFHhF+GH}Qo!yy;iFMyNdPBLy>g_DsRF2)UW+%J*~ zxDodY-vq|GOCvpzUFLRt1APhyQeLwGRkGes?KJmIW$l#-^$&e|`}%tub^DYrl%HX= zyy0U?w$R*Hw*CodiSqOq^NZZ1*;pp1CW^BxfE4Lek=9{#twm@KvwH5l_M5{#BA(Zo0N6Jfaf?zT=!~YQ)DTu>1IRx9c&I90Ql^l8^h{9k59df3)Khs?QC77v zUSs{XFj`L5dYdWGUOl6ZRgYPNX2x$5*i;s+mOCzfsn$}IXfv7~U~|M)tqE)PN7ceg z6_zQ&HT0A2O73E;(W=(gS0b|40J4`xMv_np(#sK%Ju_hc_=FU6b;g4j8d8`Trn73< zfyo&th7M4$QewFj??8lkJalp z4VhG>{M?-jY`^FHok}YRWj3`^`R_OU)~V}G>vt9^E29 z9?95DWRx_@wm5zgnX|Bw0H6v8Lf2v);(RbpDUOP{$}4q4Zdj5^v!NEpyZ!s~NfS4@ z7q8Gw`*rTmXHz=x(n?lo{nlvJI4N_w0JPbr`jec@pQN!(wnsbg-&F=ZcJUxu+i*`4 zZv{p)S#TSIZH&RqBdE7v{c+32f6l7wnM_}{Ppwoz!PQ@&_5 zskGB0?L=~q#wW8Fl{W(t&cO&L0^vjvxy2knPK|I+UVJZ>a3Z>a4!(Z*`$H<>%s@B` z5H6Jwjwd1B!rVK1p{-_1Ts!12h|DC@7#%2cqK=?`gI*Q68|i4lTJ{KaLc4Y=kLd+( z=6Yz+(IGUMJN9d>Fw*<+?$+TrMx!3z0(#s=QqUi3>7dCIaXd+lC~nElAh&D)9i9gJ zcsr8W!W@kbI5fogW7Uz^OK1m=?2^ND!dIk?CLUIHooyq^IT~EKc=3^2?pm<;FO6Ih zHPM$ZC}%;3pI7>RMRTcsgS(Kd3O(wGw`#x@ASTtFjQJ~?pI67cC;`8&a z82C2w;$`J|<>Z)#9o-*z>Wy06z7r?@q5RN#nb)tG7gq7m5@iRYwMf#*Bz4wMb_1>L zZuE}XttM^SFa^n;!K&_XpA_^GA-< z=3UtQ#ZlrXQ%EQ?qNkaMh_yD0d5DsLZAqf6ht_65Yr!;?lb~)PGoOiwJ3|l0j)YXz zOO&a4i4q)5)aK4WuCm~Sb`NMF&BbYN^opr|MLO+!Kx$z;rz}E6)nr6ykp)8ui&DX19lMQ5W7!iI|H4=Xqq?D4(jl7U;pWJ|gL96E zS#|~ai$UcHMLDJjVah4WZ$pHzO2f6FbGE{F-DCj?IhoWzFJQh)n;lhXJQEqf5>31T z9gTvDu5fPB4mC;8YV!ES*VJJJIsx7$VD6u(70tXA)w#LS{wH!Eq>kc@{$L=uhWuu$^q^uAN`ZAuc_i6y>e4+AoR!<{^2XbluHW0 zY1WPx0ej44^52z&Y=|QX&r}jaL(l>$GBl)O0~^$U*dhqm=Sql2|1d%w--|RiAaH_V zn3qblSF2kAly&97g1Q++XDawx5PRXb4Bx=F(#b*+N=II~1MG94-H>D%kq-hO2&b!| z0|2=xi|4_R5GV*+RQCvK5t=)SI*`U1k?aV==cU~1cy2Ri_qBsf~i6?I-l!vf%bWX&Z2d#pHr){ zcaJiUyTTo8{gubO5E@( zi(8L#ML?%Fpzlh|9xT)}uR+j8ZCJR$p>Vgy0f2x3fqO4F3 zeW)A#;V*jDRySu9a&@l|Jzy_JV-^M=oW#IJM>Gro=ZXD1b#t>e()iC`P-b&Re&3Z^ z3~_`u41hLlZL0warLlMdsv}*Xr>i^49M)5R8V4`27&_VrJn zc)zahp7ZMmPJHltwVv5HSE+ZynByaJHLG7_Q|VZ{%pxh3*@&`VWAkGd4`?!N2V^39 z(|-X#-o$&+D1>c079l8yUS^VnN#s!L(`^3Tso8`~cSffJbNzLoON-2d`CyNl+yZjO!ke#Rb_!6((6dh;Hp{vW&>yI204nk%VF*0Jt@l zcMudDy`hWwwK>9ASy}hp+K~%Ojhx;!gcd0KKwt(wIuRvib=A@#gZrYutay{&c%*h* z>g;Rj^k2STf8DT??@6n_S}}Yw6B@N0RY2E7keQp*C^T6#Yn06}wuH?|3FzfA8&nZO zm@6`vo2J>zAWd=_jQL@UASNWKfL(UEaaa;D+RV)&9Eb}sVN%2k%eat$ZeqV7mI-Q< z1Hiv=Pt)X(d{_x7e+h6iCSUi!jeGv~*Kg^_f=8dfsqQiQ*fDx-(^C(;bTr;Q{-&I+ zUyk{L9+)!f`X`yr%U0a{X?+IZi0velO3-SxwS*F|MM-8D#!6Vnm7GPg&C0A0L<<^J ze?uL{0P>lemB=bdXqUmAt^b= zR)^6!6`GxnQHg-eWM=}41eI(U=Fzp-z#8xJS90yxH;!W10_V%jJ>9#k_XO9wPo?j7 z=Di`Um^r+EpYj1#>*?Z8PYqQL&Kz(qe)u^4t@Wcvzw+nevl+wtR-C_LSJo!6`R=y0 zid)zYyzNA~f!;bmLODo_d;?fxNDG{Ka+XNFMA@Nh2?rB%?7-(BPC`{O9ht|5ASsW9 zM$4tZbsdJ@rmDrIqTB-wWGF5~P~Znq=mQ0*U_&O#XhAB2bKQvD_PNYEi0lgn{ZDde)mGgM~K!V`lmFcyg9i=*lUUM`vm z8C0EcPT(6iI%UOiVo^|11`^4SM1 z)b#r1t$lC0wZ4I7%@{oKhN0IVpT4nc(U^fVii+d=ty=jii2d1M@NlKb&0ur z7TP}HoBabV_(8n>x`6OhDXbv66 zU=x^Za$KBh?dw!T%wj>DF}D8W7hj1g5TRMM9|^M@X~ce{vL1u{;^G-_M{~`>Z25?1 z7}Y&?{g`SimwT74&T6HF%D-8!=Z0uaI2XTL*!^1`^ms!s(hyY+e}ZLg*c22R6WQ{jvg|`rwa5fTBq1)nj-CARI7Kl*5(bFPERYw)~$3$ zjj}_<&nQEWF&P>Zm7u8KUu^gLi|u~@s~X0l7de@78j4X}jI0{UKE3;w?<3#Qp8)-t zL;j}ukex1;cf!P#iABi5h^od^<-oUd)PXS-4pW(3illCG#w8f@RY!A?>{J67SiN5O zXPhc8X`+ znKRWGE~BZOO*|#Csd}sC!r#XWMpIm3CYz}bxB@JM%kxJaJf^Gv@O8X?!|~Jk`sxEW z-MbF^`WkWSgonFK#!f#KJH0UJ*jHc8Ua))1keOPiKl{E?6w~`7ve^JMO(2^!*|efJ zElSXcFD(IRl^|jV$7#MMt4TEGtH?u*x{7o-O)E102q;7=I^T(GLBAQ>G8!dlG_pl$ zB(gLCs{=5hN)w!ua&{od)w)h4KnFF4E&c-?hnQ+Kw9%%<|1y8GXwxuNO#H81Wd3Hi z2Ba|l*WK=KP7pCsB$CCT!X*r$ief+&0#f_lH@{k|T-yIe3oY6-cu~J~gBK2_TTjrT z`@cW-p>nY4?{6Gfa(ek&w=uleb_g)ROsE^$2oI|s9W)Qx8Gu%yI}pKoZm6Q0Z#_`hof#?1*YQ=4*#(P1A;FS6^5+YEi&w&8T@vGb5G_Rowd8-LIZ{?N#N8W3^+S zxL4W3FHsGNRp&H&4rs8A$zT>{wlFYg4yf$$SzFKpV*v_eUya`}(IQ8qz}AalRqjCI zQUM}b5HKFBxaZ=i$P}B+nu^*Iw;?$GT}*2#>&s^KK&6d`Fs~@eWim_L5aPsiAF~pC zIA)OK@;|a9sSjiA&^{=nzqcmGtn2~Sq_SK2u&7%PW6cAj>h2v%iwE`Vvuu!RA~2hB z@Yr>~?EBk~2PO@K8!Z$M!C3u+++SI~A`(!u9Y5I#K zYm_-tWa^XR6v)<%Bu#?jwj zINy3c-Bas7S9-_YB^8`HH$4Y*T}YS&ed$KRoDHfK%wwOj1tQwqAV%HXV!NALRpYXO zSFJ<==QAXmGX#ncb+p~V!e@CA?PI`6TB=e;;?vgL z!qaJPfk7Y4rg^kq>kj2*VN&b9l~W%Xz>WNEJEP4~zz_T2JLzPi=Fg4~uulPYz1pA6 zlH;r~zH7pK*Xc+I4}je?*jt?dyOPVJUTdM2K;NzLon)fZGNrGSy z^x_!)8(L%5rw&RuO#`hL0O*+Y6}?-OL&7A*@yv7X{I3NrvGv;r9v%Kc3H|Z6?VRz^ z1EIC8UoxBeF`(HFMzfq4pEVctS+ne!tNqZJL<~Hl)9B~tXy3+v(Wy$ozm$VZmCIaj z&ZmUvu-0R(AJQ?(ZuX5v(97$YEcGHGcLaTl91Fr=qGV804Nz)~2IlOAZ(`100u1R6 zU{iU-qOL^mGO&ud@)@39Titc^va;kIG`G85@9vsM1v;>`PFCI@SKeZqd}A@N@7LR& z3#`7DOa6^h!Y(z}=Q!xTBTy&igJzjL28%Y5^Ojg2wCN9g&_VP;8;bl~rP3JSF66iV zh3+p7bFa0$-8!m8eg9?U5I;?~kK|&U0t-Von_8swB01HhI@!%?NOsQ2u$%dQL+%{Z z7w$AuK90LdXp;L>liXK?DbARMmZzzVhc7;=j#7Sf$jct@FOsbpPMQQiM&x+JCcDQ5 zqf`QJu{;aQL$Hk*u7vUsT-OG!{esSBPw@D&A|4LWsh+YNd}O!EPi7fw)_kysK1`L|t6R~5Id&@S{2G0Ax#30^ta+x$`qTD zG85s{huaWbis6E_JOssflmuMh1*uE*#d z19S>Z@+^%II>#Rjcr^|L3^+jBX+E7cu`aGE>Hayp;*-4xiF-@hq6zO2)^%iXIF^mp8Me)JUOtKIjr_;4;)$mW+44+#*o>PbL0 z8C#m-O>r<7@J0YzB^a8IG5AD|k7IL)>Lex`rAisbVaZSG7?sQ7KuEQOvct;4f9XmGMk1#zX z7#JMgi_6F)rM62E0Qe*|V;F2FVooSm5rjztpjwhT@`Q`JaWPfBknULe%@*Gw|AJW) zN@rHB+&OOK;Jf@M5e`%np`L9`TqfY!6 zj5VL=-Xp2xam_|dw!;`%60-2BB^B1`i3O-=a0ddItRM>>oX1Zq!aSYWE@wwe-`FfC zCjP?m{#l1JLJu?GR!S6`+=(tY_28B#O;DPsDm7j(7+r2pVh2aAs8_SnEeT4#R|8(>lgOw|Q4H}6e_=Vjh1xAG1i8|0^8!%Zw&M>G$LDEU|!D2>0s)#d9 zktuJ?(Mbhv?d9C@)RThvHq#+H1vclsS8p)c;zTtG93bIdn_X0s!li77oMd4$Bzp;` zH=0sZpcV8W5Dt1UKgr-RU@~~FAr~F7K~H;{m%ef1vhnpdjbFBDd1>j=4a=^-v2pa$ z^~=i29%&dpV$R%ahRqQ?8<&*^m#)#qWXZEn+vu|O2 zr;ZREu91>J`l)$YA+s8M874H|Y|EF#fJ}7gunr44R$vXt0uC?>>Xqy(Mar3?Godvh?(eN3ZdhwP z9G*GDY{i(d!$ACm#ftDJC7}c-Xpsf_$dQ&TLjw+f5@qAa>C<%5mE(fM7hO5d>`pi6 z2SJ}lI+IfLe&jK$M&BYO7s>H@b-e`Z$#A~5UP6qoJztcIfzLkmicges(C^5m*w_joTL(|7TRGoQa`NPlEy*9c&zbd!>twW9e8+-ie0AE~o zZDGdsT^nkW#xwe_6)p<{^a9{7Hz^`Wepf)|?YMLZ?jmtCI-H#laXuFv>gabvUSQ2t zzi+!Dr)#erx^mdaRdmDXVSTHw8L>(?ec14u2VDoE*uC4J>o6N?Y1{Yu382U0NCqh* z_p39$VYiNS7u4vra4I_vcPq5w+*mh#OW5Cu9r}@vL546ybsZCtC0Qa@9V#b5Qo}}d z`I7D!>Xz?t?z0N1{_Nsztalc61MZZROPw71jAEjfIo8@sw*gq3%Z>` zpd`y#+KtP?TpCXY>oq!RE`6I$`pXeI@#tI1j`xo#+uvCG6is{T8Jhg3KPl&T?ohtm ze){hpJn+EaTgT6tIcH}6ik>T0y!jb-8lO6>Jn_yEWyib6=(xi>l&^Q}q)AUbMU!?u zt$h9bxhpj<^w_ZWo;4Y%ua^JJWPA(v6W^daLL8vIN2obZU@6GSx)zodtF8y)P}c*& z6?e=kB{09zf&whWF>75iJHiG%U>rsgAvqFKqy~t^%$~O|+o9hwVe7O-z4W$_tLhLzS0x{<#!|FcCi#!imXRYJ=48T7sAVI&9cGGLraqCOK=xeg1hKiLR|{6 zVqH3eUEwVWXO^)GnY#ZV&jl(M3rnN|5mz4xXR8I-zZ3A10${5(wX>j(HBzT?DbXqA zp`>?lIN{Djf~$~7Wsd)rgj0tWae57do$OIgz|P&0Dih|>S3 zfVV!w*RNVRW|>dfLi3bU^ms+@o;_8&?N_~92^IG3@!M(DjG#!AXp3Z?swi{ z^0tFd;_Db+Qb6{!<#Y7tZ@&W^CRuar^j*f0{7i$w?ERocPN4zE$JK_w74gmsdZ1;I3@p0>jGFG~}gbgkqv1;4H~h5)yPwe(k3GkWOHpD}zbJ()N=$8rmXjYK3fe zylmq^pv)y9yNv|^<6=%i38HPBbWt-)+ZPnU4AaP>BBxJt+qGpyHqr*{6Fs?FJ|F0p zgw$h8LzsYiNky{9p!(GHk=2HnFWre_Ut$tVSxZtU08EaMzQZCBu3&Zr*Ks)oJ4F!J z(@!09dZh*YW2R55-7$N~#x9fBE~n%3xZ0hk$5(Vu?c8bPw(?$gOc_vry+g9eZ6xGjOG5xa@fXQF?9fqwohgS^)2mX+D@w^Y&c~^zaYdR9Am^elRj(p% zuR}`1QQP0XT!dF$E+Q=*GnE~(8~wr_CtE7Q6&b)InRl#hWs#L4G;3zU(&a;@cB@#H zId1fnZUtkek9^>{yB?X|xb=VI5&UGZtS}7WBn~sZYPWW*xnz@Z&MUCrNdu9Nk~5 zV0{VaBwhgBv#Ijr*jdaZHjx?P6O+&c(Du=ZOxfr{ADkl;$CjIrY)%%U zZN%^$(ZQfJi~ZvxBX7HR67ygAYC47%tP(4`j$2=VKFae>{rramL*05~N`IWQXk9WO z*sJe}6ZFJy+od;iQ>!*82UNM*s9X_3Y(94gA|RPJ;EDy+nC;a^tD*xe42M{;6X0$L|VGN+@^vTmA4~ zBtGE$m5{bJvVzN_=lP|g0Y>+FuA1?#SaIX}q)<{pLPi$zz#Mld>P|N9sd2e#)C1br zCbq5who-)RxuuB}^%xH{L)aM%7_``qW0e)tE3TP*Ab0J~&10&R4?QC@3rt&UikHv3 z!^7yZoU7$NXSovDk=Q~@WT;Kl)?&hJTu{u+q<3WlY;ctY!Ae_B*Bv`}X>?+S*k^_C z%H=B$(X|az;|fMFJ-r<;OdenuD_A2n>Izb_TkXPex=6HtMA4}M|6#q_Z_zW!BJ_FI zN_Wf}KHVa@<{D~IClSk6veY!}XPLeU%%$ZdJ;-UKTDRH*q>O0OXNf*$+e`R6trhl&kH8=r@+`2*4YGS zBFp1lh8YyRY zHQsVtf6UsSaOSN1KK;63tm?+;IdWy=*ov_gzF{|Q8Zv53aDlh_%+fy#^TyoF+&XP- zY7V%e(V0WC2-2e;$)F?Ea-B7%d;z%yE_ ze>A3iLEB5w@@Hep54R19mTzY7SIg_$M$nOJoD$3H#+E7`@S zM7sx0Q*g`g=Xk5l?nzAP;ED3!fMjqn#S#p-B5C2i6dFwo$EA<5gZHgy&kk35Fa1tS z5Fh+Q@B%kl;ig6N#Nlj@nklYqRY-(~dN-5VVohc*Gn%n{I!4P9txqic!}102;Xf)r zOb*4APmY$qP2P(s9}_LF$NN#=Q>!2fTZskN$TLxoi5g5amoDFeD?dM?9HRvfE60=% zH_<$SY*kLs{7rCr9Ih%SV56=9G_7s7E~FPoJV^(MovY2s`hcy5Xj)n>`gkG{DB0Rf zC2FYzTvLR)Q44`3(`0Zau~a6zGh{MbnQO%dHY@;V7IB>72-y>J@W=o+SgcHURnnYN zHS?Q!*4UyrxdxZpLs`KE^YIg(=3H;$cp*v?|Gjk6b@X?&GGi5Hqe#+k*lc4- z{btZwmXa{Fm6K>tO<@aOI zy2Wa9cj!Ydn--0Xiva}wDBrQ9#DDR!@|^PVn2Pzq`<}s!$MYvn{8Rada+>q6TnN2i zxdQsntaI;*O2tJ8W2w}$Na_^LbSy+?2OMUi7taID>!mgC*^9r% zEV3t;f^z8AOqv8;w^B9oD{{m@X=W!hpEHuXpo2*E6oTZ%x$R60x$e-k9_Zmiiy^}) zrIt&@j*!KZ#)MD}Gc3!}i~<%1ABl9xy~+U?T|NkE?b$c6jA%HA6%Ncd{AMR z@>zrbee$K*ciwg5q|%X-28^3uHT0TmCof7;@;`Wf+<>)l%w6aIWw#F3~Aceu(n7%WY-VeJYmCAw774Nn%iru`d2R+!0pt6_m{s- zuRl8Ux^?4@G@dY)$2H5peR$OBLcM#+H+64kj$3fg)E|a4kLYus@~@Xa{(=?_8(cNF z@6Z8*Zmp!7o~GiKipmpHR&1P`S$MGbuoYYCXSI>dzbNaEd@7F^Kj+}Iq2uerQCbRn zSYI5W_Qm{m+K*;58>#Z}nfCITG35*D+RLwvDL?#kd-n-L9^AfD4!MAOAs8jhG_TxxA|ZB^Bv z+P-}U*H-nb!96$a^ywdm3?4RUz{p{|FnH*QfdfViWA(^y+bT>KHUb_=0~*~L!6TLy zHdQSrSyY!%J08i>@JQ}ecq9w)h$sEOz#~bHCf=Tq%`$X40+Md+fW)l<63T=jo=v?w zd(-@dH5h5SV)B6XqpL95bjkFFcW8sZbi}g$HJ0M!Tes;Sn)NUSop!IAebcN*Fz~c= z6(`cS5|^I5<85OcH6IX>A1q#s@vp7}zppM|uU-Fl z=33mV-VJp2lS8VP2`AyvHxeI+Js4`VVyosO{Ge6%0@5q_^SRA&BGKM zAlorMHb)JRZK4HLX#wMkEt{TR^Tq1WL>403ucrT^!Go&?E*PY^jYN5G#lyQ#ym3T% z=+IMogDHttD(PPBEen0HH?@Mi*Sn z6u?HQ7R%fd)4H-8&ORo=7$>?@e4W`;qXj@|BJ*CQpaUH+hHTG8HR8!aC{a)h$DJ*u zcx((hI;2&W{SHnr6p`DGC7i#55^JbFbbRL4pINfs(Ev9cll>+hm^1Ii!pdDsUOGdI z1`TSszqbFtTl#Y^7d*OWX5FK7+sAZJ_{k?@5&#Q34Xv&o`rX^(r&8NrCf~UD+gSh} z9#?gRYMYFS+9vhHkM<-D3ZDp*^*&;U5tuni1G1ndA7S1Bkp-gtVH8@5OX8pk8}uIeLRlMwt+zt z=GjqXHB$A@SfD>Z^C4Qa^u+WUOi{_gZJM$d(D=vT{{PZ zojaH5-fFn>uA649TsEhmTepIOKmgj?6Y8~GZ->6spRgsP0aMCRi~KhDd>u0?UT^Q>imhlFlKU1DrpzkV7kh_U!pt@zAOs8JS%Z z_EeoI9^9v=FQeEloT8<^TyG$#9QEb;x(EJ`bDaNwJ{#s=;I_8U`%^<(R4nsLSx{A=&i+=MT$kpJD9{&nhGl*`9x zt_R1e5B(eI~@NWj0G(Uiqy-w1V;IbmPo=AJEvO6}8?wj$%7gMH2TM701Qn|q1 z4Q&-f_HKLh?-7{;T7%hYzQf!32qivGELlubP1Bx=kfeMGt@4~v6yVcL`U1C4$Rk$7qUIv}BT5D# zU)yO5yoC*HK1bW(`femL|Enp5nb$sg)1syOAD_RHd!b&Ma?kDZ+xMtCFsbdl?hGv# zbBKd^?;V`#({l(@nVi&+aoiRb3z0x#WX#Ym8yy29V&Wl)`se9txZ!M$B0c)NF8X}T zWMFBBiHn%|3WhIQzlTB3qyB9L9}U2{Q2G6DZ?^w!g(9w&FVGz#W+IY6gvUj=sD(v` zOBjaC7WNk_j5sOnC_=reuD>T!yXq}f7lj84H#bm8?X)O^o~FX$h5m)!3%>ha=#gOS z#hrVBD`12IhJN5Ij7dvUgVa(=!g?Jm zNC?P!C~%iBuVT(gObleM#MB&IxZWTzl%4^DFoHwkkbLE`LyIyrt5JroV4w_x*~&=! zx}})8!8VcQOTCV~>}4j~(%ekd$oY+p#lNZo1=L zrHY;l_3J8Kp(%yspBJY+yhh3#5n8mQQc)_Y8pBi1o!4DqYlb8uR%Y`GW@{jTDhL=F zGTPlGB_-NAxN4F5S6XzW8oB~s!g5&jC$;IukWL@XaM82q0X;?m=-85b;Y4+$Nn~r6 zh3)D{qousO{>}IQV&KgU;4QvcwqycwGh@PwC7vZuS={lF)#BoC33e-61BvK0tc-RV z&TdjiAO!>S96>)1|2>X+uG^7a^s&oN?EYz&pnqZQPJ>S8d-&njH@RN$JFak4X)U5# z7PtP$Ip!#n)IYx{Oco}iTsnLXpD_8iC-KK@j%>xPo2So!zBP#TsUh4q(ef2B<=0?2 z;j!FUpwA%P0gnu%4J1^Kn66hKR7O;n5_%4cN^rqLfhs;rlv^haZ>IHn7mid9x%|C0|+cHl6%3f zhbZ+%A7nqk%Y*)S350HJ350_c4_(~MI8iK0iOq5+DD^i-!Tj%5Na!XuC3K62gJQAC zQ=A9~oy4ZBPJXx{7q?hm!ph;!KsUCE!hW4OKGEN)xLY))y^p9ar{GESXXSRnKU!IM z)jwo>k8*T>rRAVuEBEXLQqX4rN`Z3#W*}gMgw4?um)5%u`eBERb&knVPgRcS=>MS<$)2phe<4Dk!l=}{NGdUkA9F-%dh~1;i~pwN^kR~eoujV9g6ncbko|)9P6UwUKw@;Yab`17* z*nb226!_J_Zy5Z7@Ee2ob2V*S@g0#LzlZFEZ%xqY+g1vfNU3n1EYa1&ehmC7NvUon zoNpzi@V!!Qr}B#M4U}h-QiGY4>fxt5MV1IVwEgFBtvA%alI+s0B5Q>g$%}?u@}lrb z+kL_ca!{ykdxP8AcAB3=&cJ>l02ntPXd58Rp;v_0$T;B*lFgriJs!^o1a+k?TNvH8 zRyaYjxykrbE(`am$A;b{8_R_k@VT}__zb)^n}3IR_!=?^uFVmW$aMWMvQ(&SdrZh} zYvgyd9p_H9T^452Bd~vr(UQ@=4QNMp0Nwrt`$m;+^a%eYaYNnK>UWW)yg;@H%Sa7- z2566E0%`k|Z@}k(jz-cGeiPvSFNJe$hjhKkMxgf!x}&Wa%9nE&$#!_27_4N9_FKvC zf%|~&fAllt0Y88jj1MtC#)p_6@G3jPhpT^3ujR0xhP;UVFP!x>L1G33nZWMBK8NoU_668<7FvXVz9&gSg$!WC~V`9?mhVf zK(9s^;~m zZMw^J#r&xy)w0cU!CGy7$oi?Rhi#Ybq}^-3+kP;vF0NTj5dXirt~IEtDhhuaFK~Iv zeek-xj=b+V_i^qMEVDqsF^mYYfXoEtVc}J;LTQEckY31`IgY~=L&i8pR#!4(jL0!7 zGBPVGa)@!9rZFnVALKZVldW^^#{8k|*?jBUXRo#QUTe+3n#*Cg$4%*Kbfda|^egqd z4O&B`;Wfj!QEOai>@fBlM~vs<-SPY4rxPj?h7%Vg&Lnjuok=cCK9D?V>M~tPDN7kk zU6tCK`fr*qZ7l6-dPDl|^r?*4jAI#-LWeL)ZD!uy%!JHcnNwMstiG&??Dp*O>`OVO zoWh*xTup9u?m+HLUQ6E2d?9~LzAyh^{)AaD7n`fh4Q9W2$~h;__* z#(K`yZ#!rkwwB_$$j#md_+F(sB<(q z_Bhj>$DHHNE3Oh(_bu9>Ys~eV8*Y<(p}WD|S}3 zunEQVq*YyciMnnp&0UShXl$KRj3&Ugh1<4mP209@PTRI^+xE20zir$0v~AS~? zlk-pyyQ-cmwX4=zpE{_g;QWRUD&0PY*UKWW03Tv4<=l?Vxt=-Q)VX%u#csK-T$xVQ z?|faYg50Gl(&ro&b|vk*D5o3D6u@yU z+pn9}-NTEbEJ|WDCir2d7-}9mlJc-PVOArm9p{Ry6(xSG0w3X|0MRH{W?4xg>V@*6 z*#g%SVpOd$afD%h#5ctq<0L9Q_20X-;Ia6^!hEp(*(oKP zcTCTFARTkT>37^m^FV6(4EwZs!&S0_!VSTp``|uNzcAwX;STJl_L!gd@qHp0Zt35= z*xZs}rn37Ea*-7$m48m7cDjHHbuFV4=?gpo0| zq~+_H2B@b+o5Ya|(YiUgI6gY$)D@_tnZ_Z+$;Z*h*~JmW>BWKL!E()P(7+T0Z@O}l zWUsIT-f&l!?5&^?xF&;6_cixcQd-|uY5t_#lvQ)K5eidEU`lW>PSx5X*5gwlTF_V{ zFs-O~m&>;A^CM|!6ELbL&S_<1Kqad$5fvaygF6375{yyg{$mNBsEQ&-X7-CxNwkPA zM--++0$Hr~gg1yl+|0R%93^o=iW9jeF`1EMf07HD90g-qs@h0#5MvrAM+VWjDJTT| z;Pu*NqPop?)ncWP%k+x1NJHFZ>hUKcko5`I%+j`x>I?G!2dK(w84zcv0Rc7t8v#Jj zK<2JqUN)xs&JGrqb{_gJ7N)kQbhd`hE~ZWl|7GdF&N;gnx>y=BnAzL8I5XHgnA*`f z8`?SlZ>{jJR{2-b3ESJ4NVyo=SQ^v0n;QMkW_ovfv;Rv_HBmQqps;QBG2U$LZfIz* z-E6hp93N@5wXxZp8JU^Zc=_&}Rb7>R;VPSz$eQx&ILm z6-zY*0wTJ|m&hU9J1=>DiGq%f__o*=z`KDA5#$6y;vx^z7x=x7xcV087budHlNcMw z2LuH7R$TVESF5(ky*;*^i39{R{xkb7K!ja5khzh){%KJr!1W~XMgb)US7HVsFVJGJ zF2I%W11ZX4jkriy0|kVn4FZH$qmUUnJ}n0q0}OQ15 zNMH+ZBMSs1wv>;TK!~SI|MlDgaCU+KN@4VWeTzR~!l%A(=q~)Q&(pX2PHe<2~X~0yq+*r&=mx7`xw{`^c{_Tad8ubB^*e4jtlaA1te3zG6D>| zR}%>3C;J_p&5c!y`22Ns@i*$XG$NE@AEwa?3kC=CC)2jT3I{VA6C>;6>4o{Y5Pa-aepqZs==HKD-)EeGO{4!Sx$yWHCp?p$fT}%g5tSg~ZBYQvkAT0guZq7f zt%H(-sC$A)X`jY#O}HP50-`;SM*g??&8~Kj(#Q8cmMQQK6gvxB3nL3L3keG;3z<_6 z3pER`Q~x=WIrZ{iuQ7zBb-Q4u(!dac_eK#LNJ4?%f&GE?6NV;L`8lEA`Lp z^9vw>irj)RDd*?bRXKQ9wglI83(tFf#>+4{4!h6-abK*`?Fxx(n(jgLddXI&C#ht@%xrNj{(5*_ggWkVdnz@5lqi0!=mqi z%}CtHa7N*ARW=2;d{u+lkpxao<70?{-pO}|LZ@Ee-pyN63GNwl;^^MnFQ@67zvDir z~%`EF|C%L{V@s$TkRJ2oOjgphVC_kRBkqfVrPz z4T(Y(br~c_SOj1)1B=uIXZ#i>Qi4~C5V@TCFh7H-

oEKJkw^#ZE-wJVoNuahRS20?mWu3)yJfY9vDc}wnKt#f4GXXnfqJ6Qytkd!622lZmvg0i!W1ySqiOjc=zKSAM;(!OyQflpaJu%5p5uY|{}Q z!5>|jwsdw{uxwlW;7{l6&HH^KN|-4egc7Mgeq{vKn+7fQOy(WysK^gx!P(mCqfoSm zj_98E!#KiRJ-;>j6Vp}i;$b&&KNqx=OO3A`TV^}|9Q~$Ca@hb6s#6(zFR!?%PjDZLqNd2AD6XT8hxb%wtMj zx{U~bvh7k!$Qb~ms#;CB<}SpJ zg`Ucp;>tt7E-pl5N!31*k_HFWx3^3Kf<}8`?AN!A?3Ss@ME%39Kpy8j^8Wg31C7j( zOK7yTp2PH%+UOj$&NsMqxOF?ZMBP!+JZvp=b!X4X@tM!ba!xw&SVMk;YS``~3wC!F zo?% z&(mKRsdIFGZdx$}$~siGwH1DJBFtJQBox@yZ%i5p>hx9v7`K<*HUj;cm^e zdNz$?cmOxl8VZ_Z61q(G^9t1F-8vF%+5@5~w9ENSewj`fWiWpjY!u#@OUBjSpM#K@ zb00F%!fpAE?mgezHw)*axJ#zNtCp*zBx8^X$b=b>LH2L#vEh$QWd4m?yC`?-?mbfm z{y-mMU;!0W`0+u$A97p&*HBvUAihg{B-`1*N!~qUQ9Wo5UnHF%S2f;LIg!P6i2@wG z-7Ys`4iWDvb~wmSg1qC?*Lbj@Y}VwNC-Toa$gIDT-JL*8Ulknz2VI`+u4;$gsBOv< zrYO|0pCeHJP%QvAW#6l&pIGW5z4pi*xhCv)J5hGzD%3P85Cy0_sM$XAV>Bdbx5Ob; zYFN2vnMBJIIL@%wql!W-&~E{oZ~5E2lrw_*6R9&f7@Tn4i&_+U7)aFjG;hL%H6;>g zFC9uX4Xw@9jXKAC{c(^zSJ(*ZmCEb*0bqvqgP5_zf-Z=6K|)O-22UsgVSrUeLw{0s z^kpZw)*cqWZf7SUTE@mJNrH7}owp+ZPR4f1PzotkjuS?&f&YquM zM?2Av!;cxH57e@fQEC9rI7m=+SQ~lW;SUt6?lkqIS|Y_u#lxtNHTGy!PHNI(%bhmF zV3^x44PUKC3;3S}RLiU%vvSUrf|)78dkvJbQqikV@}8QNG)_>pE~u*Nd#q)G;wf>C ze){IEHw4&E2dqWOKejlNl1qB_<-V0fZD$(jHd06YOYsx>xn(DeY0)4>0B$?5X@HQb z1SZAvJx4!>{6J(AB2QeN>LFBtrKl2*-Jf+Dw0EeoQ?QyG;X+-MbZ>pv8xEI;_hqC< z9OW%~Z@NC8qkDC$1rty0SA;j3tC+v{XztYB@(RwX#XIkuv7ZS>BWt3KvGVKcpy|ru zPVlDAXQt#gk+W8^Y)|^@_D`(*;HYVj+J)UcXLfX}W%F}`+pImmYqU-23Sf+Pd;ctL zUZQMASF|)WJ zX(@|KgtDZz&Hi#N{cS>;*f1y*g!0F=g9Mz;^h(f@Lb8zpO>?44CUA5$YLvwr0wKB# zdfl>B2@$O3`Jt3BYzsa-%GS7t4|3XNdCdz`{-3m2PLklR!{+eegA=c)n#cCplX0?f zz>!SX+$(Zvf*&H6jz3K4lC$e?%CTF8uNQ{!<6?CDwcAXJ z+s+>gdiLQOLH2VuBaEANx0?3b)j1#y2@W$oOu<1P@)zYYkybHpaS&cqQy5WZmYE=B zAbV-E!f^vh;inq!*~9M|d~Q10rcE#xFN9W$Y1>LFD7LVr!A^{(;$m%1=)C4cYyJk@ zqBPAqHw9dwY@c7uIYE@@n2n~hu$d)cB1CRdqBj%$RKwnr5(TUNX^pGR zQpufm38!|j01@26p&*8F54Zi1*TxlrhGVV=obO8sNquhxh!FYsazuxKoI}q)1u+=S zUcyRnuf@nt85Kv}h|4j1qjbLt4v3Jk5u&y7L0_}Iy5Y%7pQvEVVw-;!R{GvYb0I$pY^%(@S{hQNd ztL+1yVkU^NU@~FT^0+seA@NnvSkBJ817J>bwF7oHMg`6!%>B7Fvrfj^)grsfkddKXV%k6Pdu(=HwVfxwKs*l=N18G zdJmKIriZm14H49?$!}u@$d6yUPe92ho-I9$WR_leBCOaNs3k7JFRg}?#$O%=!r_J@ zG>nSasGUgGJxMOW_W5xn1m>%pPSh&Ut9?Z-L!#<<*keIbf){_P10Zl`T}@wh%9DIu zA2wLo^SoVpN8QXYY38>G>X%$Sh#ms@9Cx|#|DA%Vtr=0wDiBCne9TN1gisxD)Dn!M zJs5WtEXVdYTI5p}{@@uA$iOXI17L2eihv`hsE1*yw732vx+2B)qqFIAw z#E(2BK4Q!awmio<0xl?pzah}jzY|u^h!E$^$HBI&!Z~MzHkG2`ZOrN(k4izr>a}rv zN<4w(C>dXT>Z3R2e>PY`0kdAlxP~=`%sAK;y^^7S=6~-#2wYrBNE%kQKtB& zM8I1h_uonTw5DD}fI(6`-i>mpOSv3@8~P z=GJ0#>u;CJz=ryfvmTG~V^j8l@z+4o*J;K}>B;0nl5=$1by^U)71=`}5$rgW!3~{) zZ2Q*ZgXUy8x5u!812VS_b~DDAn+^=+ODZ`Vm5(Kjl z3szG=0I_Ye;)N}5ULyJTgcdw-n1n%&x~-I8W953#+kzJPdDhrjz1qOyLO$-233BEo zCYBi@{>Ig7?YKbi%r9OBg|)K_Dd7t{mSVMlU1O)9zdl-$=c2ZrYw0}H?%p#XJ>RM2 zLy%Te>#1)0PaM*@hEVI5ymagZcN5f*)y&=K|M@nP9*Fzr_9YHtz|7F6ge;v{E|+4M z9}iBb1kD2+E_>`N)PXQUHCsa+b{Le90iO)6Qi_nB$t@~X8~OTDga$p;;U;bMdtDN2Rrfw(R>|dW zP{`jK`_#;n4+rm9z}iP^tI2OJTm%byhz+omv z*mA!sA81*eyIF{FrcLJ2T-|`fSW;?a^pV%P&Ao+Ot14e!Vd_R~?&Rg9U1J`?7E%Yl zp}&__lM|H4RMl#!z)781BjFXhfe%bu0&>XyfNs@SF?ZF!xSOC->|((iA=cJ{UAYbm ziXSQge-;W|uHk1&A{vvw{`_9myyVY&QwYAnN;7-CB$KK<51BlQ!z7AWxl<%c^S00c zIY#(#6b+3bB!ue6xg4M=IOWejcI~ZK7Sc^F>9)C?H`rl5lglHyuVdUbhSU>iP=^2h zr{xQS16FtS5OQv7%MhDquXX2xFVvNfcN@2=8Z?VG!JJoJ?ZoBdw%sIF=QpaC*5!$( zNBRM4*1b#5;C}bF6bXh#ZFbjzeaMaZ{!ftKZ|5sSUgI8oP6oqVWvOJitLp;xRvivR z7X0#qHc&ZnsIJEuxGP?blQ>{C+i{h7eDYs!Cz^9q8wp5~4cnFKT4(Qs=vy0aBVo`ReC^;IJx8&R0 zK{XJd+bcMfJtb^0$W9gc4DFO*ovTGmlB6{m%Weg+y+xQ7Bvq)auX{p*Y)vuV`Hm32 zgcS(zx%EBX0Nk1t&3SVQe$VUvC$+6(T(%z-fm$5>I5-Y0yKUjcig_-UynC4rdLW>Q z1rhxuzcDgG4SsUGl|WeAsO>rmRt>C#rPWG9{jz}!U&NwT3kyazuZRLt%ixGS+8c zG@(6KBKV!8JlB3*$Y5~!3+NZGg)4PGzb>2J*$YU(*0R{Q9I=IkkDs19?T1hY@0u0+ zehQ|(HSIg}u%R_7T`h(l^*yn2Xbo?LU7^FdkS70}1}2guEu{Szx-H>){Pf=nbzQGU z)oVKre~v~NA8IJ)Ky|VgmfdlNJcMVa=;;-INt#jh0zN+8(Bde36bwW2NHd)h({(of zYIm;VZ5p@4<-p5F($jn71XAX7GLd8XK_CThefH`<8%KhQLfON8OK}xvT=o!4L36&6 zIw-varVF;>!2wh{)%0c_s0PI`iZ5eIn(o~3p-iFUUr*i!-O$zH8axqpz1+C{Xn2EL zAXYS6zbH*k|YR}n#r^_fQPsk=7!aYIzyx0U%e z$;*7~&IUg{ZBbtWnrl#VrLM}WHuH>QJYRLT}*s0eDiT`nH1*gi5d_) zo)G4$Y(IR(vn2i%D^xKvF7s83Pawd+AO`PKMg?z6HS(5_534wiBr{C+nEYeMI?wm2 z`nQvh(|-ykxkmYcCm+Fb``*LZHVoD-LZ6}2yY-$&+XdQtvU`(Ev%Y})H(>|qpX8j} zy2-bf`O=QnqFRVsY z)gY+?6z2A2Ivh859S5*BCr9Pz!PiDkd=?76Da(}6@;JW%t<{E%anDG=7 z9MpL{r2r2+b0d4)@Tcw5s-BdK+Z?n!pE*ESME+q2L{mM*68jgIi1+SQ5ek z7;w&x`Q7~o;{MU2*<3;Jm#&7J#6K8iP~n@*0&9)Xk%6r1`i*LL=CYIW;zrJqM}MSF zBYIgbpXVT?iTBe*;}YRl5En%;rFL|8&=B6a6*5Q(`D zHxK6deNDIk$evGpA_D#aVs;wbQYeX^*`Z*rMp!wA_W4*{mQbQ=)SK+wi^&w@z-&~vwUa-- zN4UoE@)@xZne1>}Ss|9@jp@aMNAk5RT&Jnb@j zcsaCM6nS$g-xj&w2DIB2Dan#YE^&YV`4*_A^*mvj>SLR$)Gl&!WF zbdvN!yay?=fd*%8RazMaX7c>j*ACq(n|aUqg9DEHwVCt5KI79o22R@V)<8A6wAbvd zMrPLg6FNKiTuS&11`1)8q5S4_-320qa&jIMT|@GS%BH@?RuEU`^_hqbPHu{S@r5nr32t=k6wp`2zpo5lTvY~=F@N6}zU z_7xa3u17;>K_JGW?rtiA4CwjVxf>2+}CXG^(L@u19W3@IGoUUg{(Z3|Zo}DCU&DIAU%>;3RGM zLn%2_x?B^d8p)xq=cR+E6iK;3!&}rpT$I}pk-9E_LW3g$>Teo6ZgW#=SGUJT>LzgT z%Yx69-3Yh3MzulSdBOcU{Z&qk*wK*gXC16)D-<*~uQf0)A3telFD6N!n6`@@G=ElZ zBzwLtJoot90tGTq#V+KNLT^&+!)-0J8=@a|BjO>0B{Y@dDV0n=FSJ6JWT<bt{3WE0GoOw>!EE3}bBKvm})?x7!e-F##Jnw~BN|O##C=Z=3?QSO*S& zjJX{j8nhVQK7K=grPiK>JXpVbL>j=TKPmn~;BlR7qMM9pL+KP61MG@`&pG!I=Hb2A zLb6!**Fk@9fXvFzQn;q?C9?Jh(5PWlI<-}i}tO-W|K@U=gaXv)QUUZ9F!a!5m4 z8h*oHmH0m))dJGl!9WP+|r?Muq zV;pd(&3um(M(+P8nZbk7ASm12q(hYQ=tld+5_yX}l4w~wlZNSD*KH3U@qGa7XjYc@ zBfWi~_<#lprSk+=Y%El2h$a>8wOaxwj2yb11B#`~XByLUoNRUt(wEOmGl-~^OtwWN zA)8xkAK3hZ%D|AjlGz!Grf@mFz^&`H41PLIuBIwd)8aS>r=V%r2&e;RDm|c)vYt*FlO{yo zSBIXPOu_4N2C8-|*ADciBAf$94Ghn1RHbWnB`@7FJkA;7WIB>){l&ZUW{@(H45tv) z>pCm45IYbS12~ekDx~F+@t(LSGs$mZQ8Z{0flmZcNF$O6n*AGu4vOwK%D7I7p`iq$ zr=_BxbtG3v!5(-Himeiz^7w8qzT0F&)&%><0Ly(A`RX39CPP!f_?b++vf-_{QeW%` zbDs7W=@U+D%bPUZPOiTHi#Q;8>GK>uTyk7%g=+@XY6dD(qndS!H1?#tv6|MnIe?Ba z9*0pYF=W9qW1*>XmlDd9Y+YSoL-pV!u;FRh!$s>)f?N|XtFX{Fa?)TD#*)~era{u6 z@h{WEYzGj2haIW1feIpw#a(%v6x|%GJ9ICl)3<+2&HMtjQ$O&sK?ke@(F`I!3q7^frakIM;B0lV35&Y3Ppy{B z5M-N)pRci*0XPBy7JY*)OkdnS1I+wiC}0pp`}}C#%V08d;DBsFCUAmbBv$lESbp=b zI;_j|B7n?xGsIu=>px`Wj#8UJ+@6_FR5ChpQB>KTI$G7s7V$QJz+>2rZ=!GIj-P>V z;Pr+7me1%~r0;9LrYitPxWYAaF1tfW07!w6g%QKo`^0r3sk?Nz{LgdCb3JVDw!Ko znF&cyRbVYg1;9F-U01wKNjDln)i!8dt@#Mg1!+NDhV?LB7-za#xU18FSOIV~{to^% zVp8a*J#;2=WtK*UzZx#k#H5x4qxhQ;rH%84b+C8;13W5OJYII9G#ZwQtXcMSzkDW& zU9crXyMF`S1@AbPh`W96_MGyO>tV*4}{o~N}xq8IzI>#t^7kw za6fKturfVKf!OCvT4*x%P2!aQaOe*1DS1p~*46Q&l|{HKsN(DZbcD0a`6;0V5yW4S z^Igs|J9bU2L=PS#ERsgrg@ZX*Q5dpoTnm{*0;E9FKg95}(Jm&7m|o(;HsYUK0=ilJ zuWkCsbRB0e>t~&)d$patr+w59aOFS~vb#ZSRwi0(XtXs(&Ie{qb-j!Kc5_XF)% zcYyJbz#b1*C6&IzV3VFN_0-~anE(P1hf2+&O$~}vm$5RcB4qG$QAgiVGKaqg`e&Fv zsf)@wH6`I6hFdU&IXyGH;^!+z1thX+^`K&zql^g*Q4cI4DiCD28P~C> z=-rTvV9|6n?v}Tzn&(-&xSEMkrhT5XneC+wT>i9D*YrpW$#vi+G80eqeZ28F#AF{d zSRY-kDxD@q_0zfEJfpEqjIl4S8!k9(ba6A)q&ZBQH5d`)^NIOgC1&gZ z`KEFC?T%zTOdlJ z2qx`FfTCt$6}YLh3Z%8J^R-z{5-L?Cm{?R*<3j72lf^?nVOTP8$QG%<$yHNOE>HL+ zbC60EB^#`~iXhlva%NuQ6b$t_r_%t$H!aXgcuvPFs2T-r`rH0{P6Qy+eMp^%_v40K zw%wxxBgpstyv3Q(C@3CJR?}x<30tb17C?uJ#;NbiJ5vAK>3)NqL3|QsbE|nX3iHhu zhs;fVv@`gJytn24Zt7cfR_jNpCbWHfU9@lQ#wY3lB6ArHVHemDoJNr+nzU+ma*vn8 zaJ<9HQcXSM7y9QyZbmn=|Jw~`-`p47Iw;@8_YfKE=U40h^2ku}jJs~~6?LmIZYMm{Q9w*Jy4MQWd#Zz>te!6Rkv^(JmfVny z*t!QIRX+u-auP?Kjxy&UP8UZ+arnyB;3L{j53MNx21M-y7S!e>n-rU)Z6KxKMFO7P zmGX}Z*UTUcCfw>xvN;3HtKIC09d_nPJk2^?;=1vMUdp1O6;?G)WDE{;U7%?9rK@EX zZ^@D7xFWW6aG0Fl}5&*t{lS_=m{KKIDTPnoD2%Tu}Z28*4$(37VpzqC| zu#L5KS<~||R`C$jS%tBaAQ{jON!}FCx<)ZTe&V;MY=O3RN}*Gpn}F&;+dt1e6 zYHf)NQfB=EIb8FA&DJ7D<`l0G4PY+66L;DE$8pmAcma8CDdH6(nzrghMxQ9 znjNeJ>czCcra=sMv-7tkGt`lr@XwK8GrmdJjR>>m+Nd6f>bSAA+pAfVzhXKl#^jJu zOenOpHK9PH8oV|n6Mv}aO?Nh(T=|(8mm0-XE(#G11QePg&5}V5dg1uEV#4na*ZUY_ zL3?~U9n6a(ZD|QA1EUtWh{@i8+Ssq@@Pq40iN+(;!+BF1-qWoI@~^iI1;SuQvY~(9 zwU7q~KdXez8vD&V#3E-8j61<1Y-9k-FNd!Hs%CxRVP^Pd*)C@m0v22I2|AID^zKQ0 zdnwmS3C#c+tJ-GFhy2*)HSMr$Xk?TuCE}H=1eDf@X3L?5o-ir$zoe(#d3&POCuDn4 z^UqYxaym928ekzg_OyM6BqrNdGvYyAT+L%9nMimQFA2mPlY0hH&T2a(q zY^^BtZ&!X*_Y2~nz3_Z@NHMu%-Trm57u@86v_chpgm&yE&gcj@_%!Qowdcors(6sa za;BiVH5b7mi3%WbYCcfEXvWi-1hdE)?eX zAzS5^R$B-_^)+kQ)BC~-$sz`XME=RfIiHDRsY;kwsrq_pC=mGt2T@C^4>^zKuqASl zH{kM{V(em_PWzRr)cqbP0|WLog@-%fo85sLlkh&Hs2f3?=xL^hA z?JjCwg%*Vit0SBm{11Ya$!#}_k3)M#TFPrzxExCz&=~lA0$8f%u{7yAjBNxY}YfU%iDr_iPs#m(Mp@gCQps;B7I0MSr zo0Su2qIL8|`qb7}2H+5gF7y*JA7zg7+!8?oc8`e~JwL8X-(9bPK#c1v+IM4Q^nY!Y)2`tIKy_;+WL zFB}>gT0;rN9~BDBlFfaiJn~ukT@EEhw~1@2IX7j#oTRsWZLu6O)3!)~Uj&0{q&<*k zw=yxPwXVcn4u&8+erytq{teGz%!aQRg@H_Vu?-B-NW4~kmb zKW~&Fo~m-S>UG4vq-c<=bB<(6EF&%*+dmqe*Jg|T}r-0chR5({*F}WkMxYvF*u*S3ylpwQN1F zji-Mpg5&O1BOe9EAuC$M*0ToW1o}b3pBTH-qqbyr$rC=rD+mAcM_4wV`NW^p6sll% z?TDmvT4!SniG1sci9z>daaSgTn|P5b#^a<9!0m6v$;6FxInCEZw ze$R7mjtap_p<%b2g>B9M88~N4@LM=Ve+E9q2{~Lu4AWezCGH!yhNeO*6HziMz;3a< z?yuwOXo3nn7uJzVo9`KqX(?LyHMLakX{urQzI6&GGpl@nJZ+hjWCF-BsPO*LiZGN&-$*Io-qwb#vVVJV%eM)|xlDy@MuFrROE(E3J5v*UPeRcynjJ(G2kLC#P#)sgk(qQG zD+=dInU!6`4GlYORsTC@Cwd7V0ujLHV9B&Wai+5);vm#g0F%DS4)}HMFpc<7^Ksn- z*%+yuX54j==$5S>qHW-!=h8m72&wIFyRnvLT5UYgc8-a3lL3Jw5?vb;aS>U9K=TJd za+r=I+UD{2E~S;swHB}zVUe=DYE)W!WAoueJ;6Sj%^?}BfC57ndo*&&I3@)K+G5Z* zcbRC_LbN=$LCu5Tw^V{)=hiu16@Q{V8}z{iuzR;s@48r_J9gE!` z#-i>6r4@fD3N47f%98puSZRwPTXcS{2n3&zLfA-*40REDA&b}T&8Ck>r%N!!&Q5y% zeP>2!%qGk_)rL=}jN_7S9BlbtbV09;EL}`9?eNjt%pBMJ2X?-AF+&{`j>fVS3ki9( z6`J{pr#OwbA#~lNdh?P)BwJo+B^|xHJP+KaR}WG{+L~G9wd4^6|D92n12&8(X6003 zyA|<@VU>(b8z_l8aX{VVV@cg45`Nk9Q<#n7YW}ff&p;Ox(H(-ep_Kl{7uLJ0WUIaQ5SiJ}wL3A|`pNGPRp#A}vNa@oa+omD=(FBXL-D=g#;c&44K zN~8ivzkuWu{t|di49iq{SJ;IdE=9i0>j?o5mrvm*g}R=CQIHhA{et=o2u5ugIoNqVziar3=J9Kk(?a`Ihlk~5-${bTlS za$+(A*VP>5oI-wyfceqT796_Z6BHjM3^=;OTGqCWtz9uqmMPBEFR7{46vGK#m@DR2 z=!jQ_bJ7~8IdDZQ z!!*+kEqrvdwk1tZ&*SO=4OWTy%C*Xluhi0-C$V=LmJjO$*6j^u0&iQ49%l( zBAJhgq(8ntTt2I^l-VrDoI~a9U(C{ZC4B)szI9P63CNQ9i;rQLkW5VA@h0#43h_^M z&HZ-edX^u9bA%aSj*Op83&*=HLMVzk8^L{uj3mnu6l5v3zvpgiof16I6ZtJw&3LOx zUdq|-pf5&0A2Cs63Rfq3$wn1OC)!I~#~iDb-UNjOQ6EU8Pa$k4BMZ;aL?b)WXi&Yp zM1`~w+^RnojnpFVnM+>Y_v0+ZrTqnA20KkY+GZTQt_gC5s@=s}K+$Yg(4F2h)*#f4 z51svUf9oPJ>BTna%GIj(9R6BIqcp4rgcMB08iD~u*@vNY8cH&a#FFMWTqGVHx@Hc> zt^sz77AXpNU`3(K9G~QEt(>Bz(bv7+XO?5u1!=AK;+M$eb20dA9n6h$Eej*;oBa%c zqBeN%ZqJoKwbNO2x%RLk)V`hR6kIlj8jFb!D|xe#7H5%v z;;Bt+-RgLH5njMs*RwpNENK*}(2=Ti5LBruAup#(%R#|egYoi-(D|R`#89kf{9W8&K!)$Q% zuX_{rS^ktGz^dn01*p)xi|-ArOR7iQ@(3ffbuu8N&Sw+k*8~LLJay;iVxfx*m`$(v6*Im{ zk1A;hWKvc^>>g&!BZr0MFpyy}(Azk{7tuTuTPbji?j^VGVRBMb4M#{xcQwjLWB1M( zN2gk3630k)ISm&6hqrs`5v2B$2u5K!RPPTghp$+wnBp#q$F270>p-(v9+O$ccRjI7Mb74KV zY*nT;52cX^DMwk5?oib$2XgWy{EWzgKzC{QVH%{pbG=g%aDpPCzm|<=JX6>7=w6?l zg(EEW*Kqxk-9P!gb$drZbq0xzIql)I`~nl^I%=Cs%*gR3thTpq;ho|v40CVwUaWI% zqfl6uq!qHPO|IL{Uda z-hfUj!7!`@vCPcq?C?zxSk-gzFCm}`z==#ZLsl4RzMb^MP#W=7S0hK*m!c7d*vi4b z4Daj^>RJ6)r_DA6C2eEteyrD1rWrrB34P!@q?WrKv{*eJjLZ zo0ikXco6Hxh4_ZYrYF``RfM)p34JBeY;Xxw#}B>hF%Cb}IBqgECaT@HHFFL5h*XppoV0x1 zer%78hkZ?c` zKJM&=`=9^H(1eGvFC0&}N^359B&9xeK5HgaR*boVaw-Qn87yzYh4MoMkiI1xzgn?O z|6HS~S*E5iI*XsxY4)~vPxtFOf4g25uea_xZV#O+B7?{1D)3)6P?K%rC`kYMua^PJ zJ?V8Pi|&V+_FirE&aSDw9gp{_X*WKdFYtpGmE5ppxGcSfkF-yrgN4n(rQ4sDlz$j?K9n*m$${H|DH@h zlj)9s5J?LWYGxr(QH?8Cmt`6zI|@WZyo^B2TDhh|7+*xa4X-pb5!lY@ZfYBEqhqh0 zz{<}=LdP#Zm#bgowDd^DUOGE@7`_wCSWEEEN2dSk{cO!0Z#S-}NqpcQ^wA!&^9WLZ zJY%?68~gr*Wr90!KmPkVvR|x(hwXIQUYpn`UFmWeJN(O1-L-gPY~>}Zv&(YHzl+KH zU9)0JOjd2F8-)2ahQ1u#jNg|Ah&7T|nfO^@e$OD0lw>}B(?U;UZI7S2;J4SgbP;Ou z5hLI1HpP53TH~)fiV;t;@rFow1x^2CconepYDjqnzI2ngD!%sB{ET@Xul0$T)2T!Q zCcOmezCR^&m0)j|B29$?=$ti?-nBQg){aD$LwOcJq2P&f)Unk`6C^v)Ks>vs>sYvH ze9zdWQ;@a+Rg*rSjCa*{N7NFaj3a40GMYU_E^~C3ccgFM;p5tVn*FJ|xcO#`zT-LV zF03u~+^+p~GKudiMjZxUp1bM37SPYWJU=b3WNB@?JwHy(HZx7XyXyTKRn2UsN2EcvY%r&Kd}x3+)X2 zCchLtFNF;1uK+s^hP9pCN4%oeqEZb~r8QQD8;^48QS_?rQ3P-o!GH2Azyhi>-$+oK zpmN~?O18QQ94rGunhxw4OW$1YG`Y+ZOtI)PTK2uqKc(Atn4DL+pH?Y6jhTLdYf>}Y zd8u^yACt*&UG1=Zy#IwaIIw)8k}I$;rss9r+$1A!zD)UpPow`Uz?K8|`fv9*tlzZa z-!nr zHB>JRt%~5a%S-=RO%$x2?us{rbDJ79hM7?Yl6j-)Ljh+vSY~3ikl{9d&U$b9191|C zEmEo`m2#yf<4JQ+IV}AMp==doGy1tkL@U_xH+9)OT$Z}U&d+JuywVt1Bg&>%@XH>L zsmO0{pub{OWa&lCX2bI_Hu(JOBUi#?eCKZazNCb^M}9$3V!?5Q`KtZJl_s~~$G(Dn z?O>>va#Lb_Xm`~R9M6GIQx#0j*uvWtBMsv}0QS=a4FZNk%b1Qw@J9OIlW(QQD-XC2 zL-aPW1qM?>a}0KE3p!`d6an$|Y9gs&k88;T&^Hjk<|tGaZS-J_17bXnB2yy+?0`)@ zH&dfhT>eiT*KpfcNF1*mz%xWb4T)6CxhH9V-2v!Y|8o&lOKZadTnHXwl3Pvk zy7pn*gbeZs0D{+}flL3i44{q5Mf((QeN|=O(X}y}jNEu8=H*l>RyBasqUIwNGVo~t zBZ@d<1)@KoP-KG?$Bj+(h_mw0a(-3AF}p)he#C(r&HguRvWD>RTEZFp_fXUqTxff_ z#wEMqP1YNI>MC#dzv84OquV{r7nWyy4`cu9qlWOD%$-LB-$!CDj_=n)O3;9#>@Zdq zn2+Nt$5n-oTyovk*NeZu{_DI;=y7I@s8YDh=!QDHSsY0HY-Xg?+quzd- z0iv-D|3bdaizB(VEpRy5Ok?AaUD3v@h5?U2JfYUpmBe=Xwe4{Nbk8$}k(CRzYj*fU zO%C%%kGEY$x0&^7O*V1DOtv+Q{dC7y+=Y3~FaKJl-P+LLfHAU({NAkN(zkUkzm}?K zIBa2K>xO+rwzXEO+M=S!8S6S#>N+)=y2RKI!hJl7LaCs%w_fK#of z^se*Wo?WOovLIXiT4Sern@?f+K1zG%I2=j&iM_#)-t1+L_m9QSTzg5s>Y;U86U~+1 z7TpELL3rEivW(BhVwe5O;{SddE<7*2WUk2&Y?NKZJJk2i zMJx67OZeQqI@>MU7UlI%NBg*=i|{nm5ej%3jqAlUSvdq?bK_oD2;Gd@^CP+{q`Ktb z==ieGyZ|=qOu1m@=3H=~y<#{>`i?4Qp*B5T zemI+B>AsNw?#Y?&6Kr_YSD%CIFOj>y_6hHNfRyq{)N4*R`&-JBKp^P?S^bi$qPn-} z^6S59QxLKZ6{JFa{w7w1ir!P~uHjf4UUC2auWbpVFLiaO#afTk_sq0wPm_MB>rl-5 zf86$}J3Y#afq~Mcu;i91R77-W-R_QBGP9&Qga1qrFehzI+Yu~DL`Pz-8s-@piAeE- zd~^Q@Zb7t&B_w_J5WamS5BHtJL8DV%pu*@k`9h1$)_%1J{R!LeR(QFh|Mg#6gnq{# zq+vcILnlaZ^dCZPEe%-p(ZU#`QGX0WA=629QYqA0ecb$RHbteIW%v6BY2j8C!K=rL z$;;|I6fG2Y{_btlKT0&d9LRO|r8IZHJf_mh`!Ap3W^5s!k?bWBF@+C7A^rNVoK{hj zagKXHQ|67wB+T7-(6Ga7pCq{$y3%dSH|9mjoInTm6y3Hj&7&+r_jAq@V#?29)=y*JGjGrT1)MFh`6-p(mKa zN2G%q7-(M)FS1G}%{2{LweOTvwWWL?u5@)@9$W*-;@oOS<Eg zgR7BBqiP8kZ0yYwm;VfHWFQczZ-dgzzcD8`39avv7{63j4TVkuMwo`F_~VVE>;*)2 zv)l-d@lFxYXA!ypt>-1-WFI5=4BW-@`qCHT^x|!f{5zitYl{4?65I^h~t^rykZ>uZ!}GLDTc7PZp7qR^ z*peN@&#R)aRo+0gb@k$RQzecvsJ||Hx<7k~z{vNQy>W=Xq60Pxr_HZU-3Hv|q?45pf0!c7^ z`aZmnhO-Jo1ycYsc|Ze{+JJZc?{{sJ6iu`haYlN*XMT3HS$(0Dy|-28!~b?vPz}h4 z;=i-7qRulWg^mf!;1iWlJuCR0ORFx+h^YQ!Y$#XsE#sNGG^}XJh&-FTG&HN|$nrfQ zBdpjz>3s2@`Pu5dnM{D^0P(lV9U9{qd9rTWmK-9Dro2HBb;pNarr4;6^jv1~lq{TS z?#f`?v_f`FF_Iry((o3@NMyw?H(qi+$GuOd`D58&@lu(*-eL|j=eqP--E{Fc>Qj`0 zU%|n-9 zvoF}UbY~};^x=kHoFZGzRGp6|e+FGI{i_1UDWVP2MUydECzwRW@elpD)%*XZ>YDoI zF591}BVv?M0nVr=o(AeKF+FjvUizLE$|JmBM{v`kNY3n_cLx#u_V?~&!!_*ijo8+1 z2u1bv_vSv^n7PI~k8aaBHNdn{B5Q~l03m;ZvvhxV{qOoTUD}o-`gYEm|OZ5LFcV4{DrS$ySNKXuC*$jAU#o z@r^u_+*{~5UMF!2rQQ49=N|mu4aE}WCGY@!6m#-WG8yHzvYBE|sgH26%u&n)xGJS8 z^s>4YjTNDl^iofmd71p2!konX*rG?DeatgVXN>>#13dTw-^0m&nffi!zugO%h~LLeo3#Sf9^LWFkdiR zuq4<6j2fm5GlvO=X}TH5w8YG5z&vIl{s`R&FUKC$A@azq42DdR%%x1C%!W)$Iu9c% zlPeP}&;Ze*Wyxf~ZGvXVI&mYsng0|gjSI~*fVf3o>~DMk0Q|kK0VDuG0k{D`0Dyk) zfdJ6{dkkm`01N==vElkhR&GE6CA1d`D;?pWkHd!;Tm;JiQivrEM<5HGhF@|~C=>&y z6G}ag+i{9XBlM)Z2MO%YG0Vx0`^*=xl}tH;%7p+O3eTRFVn2P`{^SD`Y!7ek!olc+ zwB5R=-!QKC?2kk+88F&ZNb{}a6t-9dintLnQ>xAKY{l^emR~3yZimojBi+jcpJcXV zT3K8^ea@uqPeNsG0@8hf4viTGRqp*vupZLt+xnAiQT8q2vIcrx%@brA=b?8B-KzKe ztVPS*w3Zsh*H!S(8t+0Xw0ifY4U6PICgzj)FTUaGk&ZY;7I$ubJRV^+8x_h`^vag* znfgsV(ob+verea=wQoBwZli1n(|6aq*krlb?Y{2a{gTK+%bgGDeIuJMi!BCCX((S` zDj=~XPz6o!jPd{w(LE#<#H@`2rS7r((PlXQKF+6+8Vmc)l7UGy^m7pYHz*e4atJ9r z*aOKSQ37ea=#LcEnaLkXwDo^~r19QR6eJLbljmZNoAOAjEo8Ab7UG^=@`$rfWzaho zU}15A(d~GW4~k=)Iu?U-9t+rgPov@azsd*%{(Qq25CmgPA%ro-?8g|86k<$cj4;LB z$runNrB9)hFvXrt`2Z z9HGa0ndE*BD?*ZOBTg+G7IOoTgf-OSL}+uel9d%-W~2f9vCp zOapP0Dj<<;D3YislI$>%C^3;_Gv^!?rE|=D(Ak5_aWt}diq^9`_TPS{{n9O8hkySpI58fU#UvH$>4?f?LO|3CRyQ4bdeI4w&K!5AqKC#>$Yx6-7)@5-0rSwl`%3PJDZB-hNKr_S?(7FX&WVXUZGZ zpWaDBx?0i^q(FjxK#~Nh&q)RUP~1gnFc%za2WDmOk)m!#+}}vHg&r|>9@*VT`@1n^ zY)O?QwBOEYFkw!BcDX^cXVZ|h3QnUi#ZQsRDr5?r?~QNnMgCO?w?|15;)vSQd#?2v z{ixI@T=NyGx)moXYH->b%WTEHflDzflf~rnkRX*MV?c`nzKz4fhPeKGyhGpbfT|&v z&1QaELB}%Z2U_jiZ{u*i6SCjpwAL3I8r}EXf7CXginNFQgsa&Fe3i*$^z5%*!y??k zQ#d!D(&O^|*Wk?F&)UUIoA0^tujKiOUP!w&CisIlGoR>N(UwWaKICHRm=oF_-vZwO zT4(Zh8r^(0lk07um(P;aM31@Yr_@~R6eD-guF($}YZv4xS%S9I` zG<4T9J*4Iw^!vk6b*pS=^G^cY>x$9P1Tz)O*tqLMRK1V($4BmRL(*=&L!YzB!-fB# zex$yjd(o%}{X9a!dJSZM_(F=3Pp%BQNVh`@*9_ABCe%STz>Px#1s;PNLf)vi=t2oI z`CF`ClEMw?qhuHP^gK>q!tIL4lZ2v|1vlC zH#hgJE8fM{0%xx?2{G=^HHZK6zxCCb9}uui$x;xW*xETetAVqh}HlGSbqbl45UP%sfWY8@j&L>DN<2QJe`WKm##WvJgD)&^jI~Cc-`LpltV8J|oo8nuDKuniDmtlCod#mKWsScSY(Av+R7HyuB5w zHFbi83*6QX%i#JfN8UeE;l?vBU?#eH#@(yjOZuFisjWMkETV59eCXk{!izgkJNXyX z? z%6Tu}f#V7aKLP~)V5sFdL3yE^9-Z@iU05fqeQ(;ExO(c<8YY0DRiTa_k&G9Iy z;55A1X!2#+=W1*x&~5EF)*kmAotvFWTNJiDPz&za4khi+f%&M%K{uU04#noSfSKH> zXfU*l2f6xJ7&QG0C3ViE5sc2So8LlfneVD2*tj&*)zQR+M9!Y3gEkc%hRZ!g_I`u` z-KHyD$xYCeK0@F|NarmBEO%cK|Wm704w*YL2j&7$vT_i89Ssn7C^W=d_JL zgPV?GfeiYe6kJob%)*%qk|S^yam`SX0tL#vU?pPrILt|P$ZyTX^8-{{%BqAMg)F1x zOHN+Msf2v3BH@*GJ|i`*mBm5Ynqj1$mI`>9G}}s6j*L%FLzEdjAz{xHdDs4+RQYaFN6F=hHLF-0A4wgde)=vhn=5g zFEYzyo1WwhXAbjQJ=#Bi{VPm_H><7sBi1enxVMFW#xxAP>a#ZX$MrzpXJjxpuodZ5 z`*!-@sk>6auH>-!bE#;q%&1rW096EsQzfim@Ib+Bhrg33l2P%H`g!Xc04E`j4WI59 zsD#t&{uorsdt({z7j}l8==5^u-fSKHTJJ)Sxqqb@Kg=d?@|T9_$2XfVy6&W#a%7F+ zB0xonK&6=c0boHv z3G8Xi1Sm)5za@h;Ba0;36$c~%Ef^x81SD3$Awx2Rzms!lbRi2u0slHvLXndKPGx!; zm^c^7HYZKecx~nmvu;WIfXhuA##?eRbS(eoFlmOo0lk>S%Fc|AFBF} za@P^q!pW5>{kKN7DnJ0rOk`r09V-`D(Ye>tBgQ)6D-d2<)LgxWfH zJA-*NKvz20@$;^{%u>(H^a$`{0XWEnV3NduMgnL}xtuVKKon%h-`@|d+f~5Y%^@8V z9Hc)Ec0;Lc&BI^n1V57ypn~f#Y6H8O@)oJCWz7Lv(?O}eT?H|?0^^5D2k5Xd&E`Es zK$Z;X(Zt5tPP0V|x|gOwhQ2{`rYUI(p(LC$-NR2>s7(mKd?^(UUA->17c|H;;?j_1 z2geyw5&RDG*t<39MfGcyCUOjfBiRru?)&ZFP0V1p-Xd-Cb)$)%Ef zKJBLQy5)#g;+yr`1P3!*&(IX`I~=>V8%0PCnDL!4mMMYwiAv z>fJ!tRWtjfbR+D&p~uv7d-9B}Vq4*DXbCr5&(CUSzdjt@MsxO?HKm)on`V~xV~zNT z)iUncZ(wYnb>}Ydpo>6)b?@tudFF$8tl3BJeBeZ}s{GT(GA7dbTXz}`vXj+Z0%r}O zJY?byCz%T%6*UxaYPQZoDI{LcnXA==i<;U8twit4urY^COAVc9~Q#ow8Wvb4-c^N5cNl~+JwR-Y$ zyPWX$p4Db)|hxjGRUx-js{IwErGvj1|i;Xnngo3g# zhJ!U(ETM5b;9cqQwFhWM zRmo9E2XbBvKqwx2jhF|(0_j(#!UC8&4zS@Nh3;1iCh{*b7%~{z1jFUAWZ5fEz_=f9 zgn|;tj`*%EfVRZZ9b;>_2}N9zIjN_;1b=48hWw&1KIu!I1dhxJ{Sv4;H(J0R&xE#y zwSaGk6RsgQ7$rWPQ2I!>$Tq#VaI@p>b_@%zwmUkUD7*-f9H`8a+w%svW#joHGXUa> z$IPf(jC`t-qad_8uXia6O6QubKc6cwkZC|S0k(s$;ItGZ3^*nREd`4=p&;Gq5Yxdq zt!zI1m*uHNH&#|Q7Irb?Hgja=;Q(td+ko4vEFKFK-}aQ_a4D<(^3VnNLElQv^TGg$ zac?L-ZG(dtwv*)42grT}WNg02#k@1s+5 z*>+P|o(FC?Ygxkr3WhrsrZf>7PP6DPT7tupq!)&(mcVls)CFuG5U+%u7qvo0xHUH( zwt^N{0KZMWU?YK4lFh9Ol@rG}9WscJKOu?;q9vjW-6g^mJ%zy>>eTM{=jX=^&8)S@ zsW;)vM5)V0A#!5{IP5x$-up)rHgu+*mcmP4$tXW#Loh(yUv9KmY8q?~FOnN)(!C1A z_bg#FM7s9@q&kaaZ^Q7V6)f`^shD8SywGcR=&=>$209G6Ktv7Yx=l6aGGsMt4q$^+ zXa;G(M$W8j(ML&5w#!zVmQYKu7$UiLLT(#Fb*SV>w{_S;s^(%v)rAv9?XgMmBIFO@ z;-O~1@#AD4%=MI{9SrxE#P5p}R+fdJyFqq4Z?pXu`K-c$8uC*exAZUHyK%mz3JwMv zm0du-jLvTN+DH|B=Cdw6G$&wg6X~lGlA#5Aj1n-2Alq%F+U2)UNtYRA`Fhh`-%?~5Oiz}-W)aex>T&>XYt%8yMfP6&HuM0+J@ z?-@`il@anov7nB|i>=LEv6N_ivC5@?Qm<7w5a$3yP~IyK7&eHOvLgQd zYYIQSG}RT1N0@a4kUT@UlrUnLC);^FJ8h4)*LPdIq%A%WFsqNpN_RThe8^A2cTMDT zacIS3m&IV8*C&;_3{^iI7A#Dyc3@=~Ix94H?;!-S%empFK)AibpX>0Apn=>pEcQ*l2)ttV9%)Yz3`MBsv* zK*Ujgg-Tffq(G4 zGwer0Fk>C7`Eq=sxEwA&QVaT!2;zYF)#;W_b9-on>y@vMKo{; zA{Y#tBp1~X6XH8$l@eLBq9+&aHQE9t+js!;1C_&;zS}@8C7Xt7nVE>lbUc!xh;$eR zJ_W+ZLNAZl2^}Hb-N3GKvzPk6FDfg`zOTjeS*OL93J4xhTnZ=ZWinp!hQ#t|Y1piT5`0zFjus+f_N;3SPU zC!kSd7a&bnt07NYn7?5-hsRe>#UlEFoP|}^BArk7Z?2Ab;InHV@TA00$kpbOTHtSH z52ZCz$(}<(3G5gGIB`N#(0Z2UN`iI0s?3m9j~ADTe%ntyF3~oV&*nR+;3Ce>nPaKW zH+*MN)sL3&Wr<|)k0=b;C>v2D_1mpiO{b+XWI0E2=}@72+UH9o5d~hz zqX+wfEmJMu!CUg7s4zS5-+(>vKXt*H?I|QL|NA9SV_&)6cH4$&LXkp%v=Jl<5lrdguMAxV6)5oAC835G^q>MCwv3CKI$<{8 zwQsFdkkk3QgCL&*Qu=(aGy4jT!=1y18lJp5-jebv5VZ3a%#4#0-kD1PNtGIyl}lqQ zgH2M-%xut~1{Xb8a~&>^d!NMhP&0q0itBq^#nraPbMlRlqP$@A(S5sw_%@>k&<4Ku zoYQc_XY3;wuGaMsSIUgoQ8ubWDRZ5sE+Re;kZ1a7=g+;o4toTS5 zqq)6{kbkJx-9~4g2|wnPgmG)(t?mdH%!5pOX9x=v-;wCwX-^nQ+-X`pg#c|X6xh^( z&G|w!2*Mjg1_z=mUsoXG_GAe`(WLs34J|rXl|-4U^2_r=!B;BtIQ#J1z&kas5dyubI29GTjF>AC}@_48SyIIqNM$eNus z+xtRqhq)}B=zT4_wpkjb3FAls526F`b#`bDJH4z(tx`RMDC*Uan6ET>0wiv=6ntmr zmj=)Je$h{jTlZWnLE|#G4;(@7F`8{84~?Ile@`>3`-PBuyfRrIr_2%~jS2MZmlp z5THuo*R<5G-abFA^(X=ce% zxfH=7H)}Jk3!I>c{yi;}7{usL!jQUvbXf=TYF(mzcKO6Fr!nvJ3Ll>9ThWuDi|&i=eo*4z7YJ<3LK_5ASkxI+QMTFHqwsalh#+!j;?Y1jvpPjOzT z0h4KhjM}pPRe^i4f#QO91*v5#UrsL*&mWxCw2k^W!JND+s`X64?cc zWQp=6#4DD1uA5h7hdd^Dx3&3IBYEx02>nhKrrR6K*yD>1V|rDn+kr#^6ml>WvTejf z>ZuI4K*(XC7t4zorS7$6l$|X8vf;@hnSw`n=;?(G0e2%rUVX`|?xV%%=kuaaUZUsH zbKeNB0E^-bOp9+O6uK=69b$rVO&K86f-9g0^mc$idqZ4zg`ad9+^$n%smkj)%^e2o zzOwLKNFF=gw=B7ZoE-InzecoGX9_k4fMP4s2*>kjum8XK=vSd=8(u85L;sbrf%)LC z>vuDZ+EsyW7Zx1zP_IeFgiG{d4(c%EQ|KTHO9qK;(mn*Yf@VW%a^~2hOT1{cGQV}$G^JYxWxo#Q^LgnBrMj_{1F$)T8Nbrxdv0q6b zr7J?@t~%GR8+&s&7OVbl@wanFR+1lIy134N=!t9FiagPelc|sO8${Yek;#)jywCzC z8pV&G4HKf-OOIB+q$!vc;2+o)Ihzu8L^9Xeo>?}hTjp?C%r{fP@eS|?lXHdD>pT0A z)~2ot+!sBozToVbXWQkoCQIccTirnY~ zvm~C}lCH1NOpjHpBPkfYl0;Oo-2Y<&r}Y700OM+dx~MWChrJWt!vGw*!A{Cfhfmn z$v1A^yX2sM_TD$-!^aX(w*=5kiRDr!Qx!29nvn%XiQoj}{8r(B1TjK_U%ZD1XU4b& zE0w&PBSmhQ`AXbQ8ixh-UQ3zqW&ImfJ7T;kf2gb1W!^eDW8H1?TUJUx?Jj_y2*=l%-N^Oc6G6>h@)qbVXbKw02TpCC z^1FEWd)Xby+j#_Q*S7z<;?1v-TsifEFh_rHj(a9cw2{6=?&T8fsLlofoVOSu7Clr1 zXox>=b*mDM$2iCe_wa`WZfak20f;LCx97J(H?OH4_V`xGVo*#P5&>fN=)3|B!U^v?TN)Z6+UkZSpcc&%1}{5jm~p#>?g~46VNB z%kSC!nG2T6QXoS%tK`1#{ip}qMjih^NyEQl*?^2Pv4AENa^X+NbH?oc^J8f-+}!F} zKKr}1>vpyMV(`=`5P@sr4|DtdtZyhA-EWD*Md)#OP7I1x*~h(scPJC`qMCwO=?#E# z4x;(qA!>RqtcD(MujZ`=lQckdMZBKBj+ysUEB(V1u`D=9MZ;x;qg1?*^{?)A z$WW2B@Xn)u4=hkLRS;FNOv}bVoXH-;)*UQ@ydvSXK*UQ^nvvzpqs(zC5|(7psdOoI z&gEGQc5+A5jP5?JMbt%iQVjrYhe09ZY}xGN?l2Sp_4mz9t{gcXf)h8N-e697rufwW z<{wAu4qs*Fz2$7&TB^3h0K7P7uQ4^w7`=Ulyh1`riV%Xlsl=GySu5}R0;EF%r0<{? zqVNj5g`=8`-D6VgoX^D$dLGeF#kH;;Ttbf|)TCDLe@ntPk@H?oja$-4<+5FABRQ<0JOxpq0fH#Jw{-CjN1=d1FC_|UU< zQ|04jVEthj2^D0cO;Jk#nftj>D^TER5ARHxJ}p?W+|UxO-NZ>-rK;$jQ1B@?yOx$! zhKcvs6aP-iIymJPZNAq%dSIlnd_}U!2xbZOkhSYi;Z@ui?f1jV->OK_h@Z6cRgsoi&I~gRa zc0J^vlKGjej~lX8u8704vMZ}db75F%W>|4=mYW0eHL2lpwj~tJAOSkUc4)KY;*dNP zqhuW#IcIa=o}5NzZgc3b?{KWbssy}GbvGxaY0%99e+;Z#UJg7_E|J^54;{R&N03#o;p?ErqnCd8t8&0X<~ zgx$ip2BFTpoxCXSxyZ8iMw{XB8IYYlcWd+hHvH21**!m?w(cG=ZatoceozTXM9_j;l2@Mm_KXNXUuOXcNQ%te6Iq%+M)daBZ() zU3=I=TZrqNeY_F@cwUBIv#i`o8gB_Vkl05-BP8Dd?4BJ>?-~3P^nZ#3Lu!C#HPX7S7c># zj=-%vU#ljrNC|&+L&{d*E)VU4gXr7>43t7ieiXs-=@ZjGedTqd`x5#Y%=ga<#9=sm zyClS%3ziYT-n#q4Wfs5()gMXd)0_=Tb}{3r11eiC$0W$8TpFWcJgz2NCdh)S1tR=M z5EFDV_K<9VpI3vSGa($#tGu%IES?`Y)MgNzfaUyu%jvcZhNiUVlj#*|6(mz0E)ZKP z6(J1JT6!MVOJO69s=`oCy&rM3sFiVYPFcRRgw=zZ8~m}p8{Y*QpjorySxVG>4cL@~ zU*o$HB$b9 z)9s5D8_HM$S5%IwN>ji)8Ay&>C+vKB;Im#J^NcBU09&0{F>*nn3AT`f^~X(}@U^WA z*tvIuRM6@s`5uu1OJoP~eLR-rIpm?OK}Z#{wa8u?LZ8YC9~;H9?2wVFhQV|Ii^Spa zSd@j#aZLEqW?~Z>V{lYvKNRTW4a`S~Bt2P#FB~fBCCt6!6S}c4N}K(&za_}FZ`0FU z-BQgp$>KOb&Zm+tmv7ckwYGf@eP`L^{hB^Uj-f6;F9+OC%)W$~zYm@Cyk%i=a$>gwdw9sOE!uyW3Np1~88heA-nO@zTs zx~6}i+#M-lkV@)70Wi!Jrp(dz*(hUptB%B)`rVc#T+3k)+q+-~tLU&91S`8&pU=ek z45U}&GV)ygTCOa7mrHBii=Z37@0KQ~22OUQUXyBQ0oT#P?|!p2D_Ai@*PyTQ7AXmK z3I@hAs5HytK^wkc?LUHYMPz?4EimfRslSVl-`-*!YK<*DH9dAWDKwTdDd6?pGvevW z5~0rr5#cbQ&k$aA08m&qi@1GzT<#pwr6$r0Rl(0$QM;IrloqqcBMH!A*L|ZdV%NZf z7?e<;CbFFB9}7D3){wd%XX6E^n)(#F8@-9j!RhA3oN(F((9@TOO46YB?WK+y))JLSSC#=wE5iY0l8{c*|_oi z^|pST)drTh(Wform$uEe{Xn+SB%+qw$8;h2hmOm-5D?2;{(Sg_l-p40Cw@+q74{p6 zbI4?Q>N0yIXmYE~<8};K%x~adU|EIxCM+SS4{J3Ue3~4=km{d;6nW}w<9KXFYyEbI zL4igig%p@EJZiAMcMe7mE`*$R2>QI5(#}!5ptCb?j#ggtjm&a*rqYw(>@mizFStt_ zav6<|Dp$fOg+H(61jEOm&@KFnj)0Tqa7-7=Zv#jD5UBVibi{)M(o?hMdwzV4L|1Je zL*;NoF~ET}#%eHJJsppmzP{qY`=H@F=F;FQven@;%S%2^K;+|}ptR!o;!!?csPD#L z({^=C;sa{cRJk4kJdDTevC2l=r(AMD3y9&<*q*o8-UZR^whTMZ(M1(p8RE3Pg(kon zbGytVJB68Ita2E91@(r>3Szn}F8Ckv7%E{&P5iO`d-LM>YYk6=qG2_lJwJ4h^MYNc zn2gH9garYz(YUgpRs?`lA0GO+5bb%Fdv7CKomqj~M|>F`HDe@zxr`4Q$(qv^3CitW zl7#@S1Onb-&2^VJy_+d(t}GqRP5$M+GxNfwGhIsVHw2x&OKtnX;PExsL`xBz2HK}U?qElrU2BjO<>R>d%cI+#EJ*dO^7 z9la;KsON03&#&~#7`YUd>ovB^dFCK1;>c=ZIt4j3Ph-l?Enan1hwnn9QdF3i96(HQ zz9`^|t{c^NY*$Jbv|5&Iavq-(dgo-DT@Oc>k|0pJp_^?v=1Lok0ZFW9ngr@*H8{X8)835*GrTcr5eBe;tozm!lAam z3$U-XD5gDo40H61GN+@D-F)(H!$}P$bwgU16G|P4NmwfsFWMV3=B#fTc?UDi3c?W;?TqSM$N-t%W4!{wyOUanDo6XDa7dMB)kx*kbDAAcRN z?_C0`_`bY0%_()2YMBhjjfj(IhWkSYqEhqBx{zT&hIqwX-h?z)$F0O(5MFaPc}o+wW;MQHx2BD* zz;vG|oAbp0phyryB@kKu&VI=ZKar?X(VHAU9kL9lWd1h{HzjZ&K;NWGHQ#~AIY2Kg z?gg$Au%gje9BJ~a2UZ~eS2icP51eZSCC00pD-1(ko{byr?%`O2K|ySZhHtl27yce- zJ0)1cK5SzEwk=8KHDeYqxK0~5SxU~aX0I3tC*x(@|BYUq`>=k0f4u&vw&P;;I-ywi z>+-RPk9m63H+w zB7laGg{Y%1;A%0(lorY~7Kny>aD$qy?s%?FymNhH>waD)cVSF*nN8^F;ZTNnDx6*o z%Qg9&dt>J%og!D1d4EH&oAQ3<7o3#E;Ly19r|KtsL~Q!|r68^&?a?I22 z@=7-|&UokYM02NIo-(R{njof?cScejO6nWmf(nj_$jb$TM?r4wmt4zG4}~@h#>AE4 zhHZ;-7mDtjsjMOhuWLkB_4zq{&GlhDfzn)m*aw7%vG{Z#wW$6v$P>uGda2}U*7dylG4#3{kqHF(_=A|IQFo$6*u~H#b>L1t6MZY z37L9|UcJ?3IP?_JB26sq*oZFjpJpYtSMi3;)A)9$XcUP4*?)376O>RqRrI(8InKOg zgO(J2@T*3ZjA{8GeJkk|9JeMLHr9&a93-}6IR zybb}q`*&XamO+S2`D{SVg^*>*g`E()5XPiso`sDz;we$$Fa9Se+oH=ggCx#S!8HSw zGh@{wjYAlF+7YPPn($GxfK@58rZiAeZo5-uvePX{2{7D8adjj`Wgj*?h)H`2k8M?U zG)GfP)_TB-@$nQU?CXF8;6ayxK9{yWWcbF!WZ#-`R(DPd*CL}slq|g}2N&#lI9M4+ zAT`)}&Iqg06Caq+}4a66ifU2l`i6G52u8Nh3?68fSpFOA1m%5Gk-ftK<6$A!)%&xNLX zrfLGS)9GQX#D~Jxi&Fbl*mt=2<~wqtj5Zge@*M9>OEvBCufB(vWfHF@VActK?}B6< zZ9oF`4xEgzg!Eao$tYRdm2LDrlPpGOW|lP;+hNStkfC5DZSV_SvAG|+VVu7Lv< z$5Ytm`L4m`udp3vR7XNg&S{H}|L#bVb37vg^$Mj@Ez^XP@|%ZM`5f)AV1Ya7_x4+g z-mtTLtVI>`ZH=n2LX8Ks>mz5-$d%d=NJ+X)9^@JePYJ4@s$#hOyAa!JOV+jjPUarj zx@b6aug*-Q3AN!!72!JzbBI!z4m3E+H5p&9%#_nJ<=Vf@n3I8fjvh&ho@Z{Gw?)a9 zF1KAHo;biGX$$|nPz_yNgPmJ*y5+DvP|U&bdlx;q+}0(Ir%YP-k{bBc5EReKU=_K3cQ<@SI#M zmP7&`o;q|N?Hm(exm1{0TL5(h($eUM57wG6^&^XS1q1Bt?}X5>+h~Sg>=&0)*>SS# zZ>x+DDnOapfUgrmiItqqLRI+mgz~Fb2bx@)f$+{q zlKXSZLR=I)8vuJOCkgRVN4n~tvER#2@{oe1h?x9Xvu{{Frb5l^$0Qp0X!D}l#8T1~ zj6$@CJ~IwZEz#Fw?-bi=8lbQtB>NKA2&vrhjvZY9ixFe%BOSHxJ+*5E<(N~3s9}R zL-O?br$&3<(VVDp`Oi6Gw$5=MXMXfPAsU@GtT)jKLCmm<1l^<)edDHTPXsQ$>v4*= zh<+XkuI@FQ{$Kz~NkY2I9PU{8MJ}h)ZQ{tRtbf-|?B$Bf(Y;Q0umqw!z13{uXj{4L zDi;}-tFnDGoyi-I0#Obi3%{C_r6Mh_;RDRh7x#-3h!jEbBY{45#ESfycm^AZ4;Kk6 zvCA2PUV8y?z}5*o$A|6MnjV(ns$)*`vu4}bxrR>GTF=qC_ky%heZu!=d4MB7$x{OK zyi=3Fq*XG6G#q=B%B43tJhdu&gY&E@sEm;-|5M7aW4sV^njVMuSTU$#;z4@G-Tt`* zVF|TIeK4=!QtfeT;1ge(I_HfsXO8Lq&;b;}U!W3q<#$F4#>(#B`%G`|>wJ4?^v?6Y zyknsZdqt;2sl=Cb}vSCy}}Bu`h1He+&ZFy_mR!p3Tqq|N{(-JRa-+{v9`+x zEZl58Nu38Q#<&6i-7r)^(Z{t>()kYd%PjS|^MxISNf)&oYW{8_SIOc6ZlXVD_e!sc zh&UvigSexi^D`kt6>_a-$6P_SKs#B0(`SkAc3TfPtu@8w2=%UJ6z4g2=1hN(%F@3gPuWeE zhjR<_MRr0cM~?&U(5u;p(d_D45sB6EAnkzyFpFA6GIl0H`O0f%kB`5U-(`N@y6PVj zD0NS`A8Br+K!4DDKg!sj9=i<3d^L1#>DJEW4}yLtvYg2(F`W3y)k`6cO zTDbE+{6uuknIcd9h0S2`g^k-5Ph!K7KLctn5!-2Mf|F|50p_HB567c-4Q*kmLsnO~ zN)IBanq620HdZka8RUkLi;44A*_CvTIc2+|XXwUe+XDG7eN|Dp=CX(H+#WuN+!Wh! z_E3R2H_*7di*9G(r}tTk55M&UKS4O_YYWy$EIrLyS6{n|hWz;~CI8nZg|3&$YEoS@ z#&bG%i)1BK-rM2rYmT?uYz)WMHsm)JFt?a{>%2)KnfC;S_Fu zV)4N{*M zrDxy03m*`v7Te?#(jErzJzsW>BT`j7-WJVu`S2DAF$=V_sC7!3g}JiCifRj)Ka`j3 zjv$T?74@@Qt-BY}E2kk530_at`HybO&%zo*)&j6O?|rT-Jje^o9mLlPsnTcPT%Em3BCiX`?EzQ>T-s%%7o-ofy-G80_8TvbN@#-20`aO&)+WsFHuaJhcV~_GhJiHIKmj^iy&2 zmrA|qGW*X6!aibYA1FDyqq!KI-pL;tIex<*Gcf}0XkYK%$DdamU+<&+K-K3;z3omk zem_*@v$slqfi8C+N$H!Ty>&~ohI)&d`RC3q-)R}7hP+9m+J}Wz3)(=M3KxRPsoMpN z3HE>Sz~AYzI@(|k>*?n_rnFBbfn*1#(C}HPc^xJS!C>deN738QtRp2N=`klu*kx79 zhUvf-)O2+?AlldSY4JYyK#4?Xf(7TnjfKv%v;{{t1euY*T{U6KIt)Wj%KHq4Ru$~k z!Tx6IK2|+PS-jV+dXs+i?- zIiCYt7Q_l);aGYkd}rxcmw4V!8N86Nb@%lcVCWX!Uwx*%lNaX4u)Fb>cNDXMK2rp+ zu}aS)3{=dc5qe7oHP-kqP8mJ&Vp^%TqV6@kyUX0JGmKFEaFdkQ$JZt2wk1T{OC7$TQviE#|SL^CLSmOb9^%RbLO&{)R$_jObgS~3sb zJlT?ZYW_M?ORpBIB$+jA7M~x;2N>co%S=z>$qXO|PkjScC;5^`J&>W=nb`M{v9lhhP z)Qr?cX!!HG@mp0>7#;f-`rt^Ah=l~cq={n!U7-_s)uo81@dFwsI@O74)NuYX8H5T32|Z@gG<4sxB8=ue4MCn)j+d|nzpK0tA-j}5oe1z)?LbVCbodX?2vl0IiUGe&~>%X*>f&qOU}4p40|8&EtcrGS5V)o zu2FB?7y{=oK|4boQ$p%BR~=PqNu80&buoevX*4dBGBj=Zu?_QD>t}m|R0-&4bzB`_ zD6cJ&+GxL9%Z(VlG5p<9ZSwxS=8>P9ehibr;kYC>;K8F{RlNZV<@?WAudc43*uu~O z`11weg>$mnP#5_nJ_7&R^BqP$Ws(}I;C77)zVaXOn7Rf;U5&ai8DH&!36OHwF4h12 zc%*jmj{CEGDu3kavqMmomojn5a|@<{eKbp;Y;tb+^F`->_C)_2#Z&fhdK=;?{$HZG zBKU{zNu#~L3n-mf@U#D}$A3&~=IU!`8e?U1Os?$rL1TOxtapQD2%T;7G*|2R> zO=2}UTvnVU74bax<7F{W7j`j1>wcqiiAlP_ z?>HJB$%2Qy?7itbqF8In^Dp+y=w#6SXE)h?qJ{QG?UBmaHbUuSHSxE-cVho<)!waJ zuWHZ`%%J(O|*Id*U+{tz|`WXuD7JvFF zh9P2H`QG!%rkRCT;Nc<)w$V~fF@CPID#BT-hmvq8U$#ndSktoksG0fS4)w`0V9Rv= zTr8%Fih%Paw4d1N0&0`bYP{U@1zsInLpfo5nnx z{!!rH%te>!t~&r(Lv4{&QAb~S*#$M*Eiy-+l}nn=X12Ig{zRr(V;c`h^j&{9H`+f#fhl%~7~sgUL5MFtlJm67J))~E4_sIVwQUEW)3tCT!- zDO^|_n}4hx71*?|9;}yU2|TYxomA>3Hb+RTde$HA&~h_7J;3B;@c>G1nn>*vU)mjs zI&YE*%>h#`m$jyqw#xe+&SC=H{G^omh(?q58(n$#c@Nv8?WxT z&R`uE(jdcFJ|QD(w(>gvq+Y6YOMZJ8h`V>HiUVU!ZFD=`KS|mcwzoFAyL#K#ZW&ho z_1b@rXr0<=wh_`Gj!n?h1~*L1)lF`IEv~c(W?u z9cTIlBY)k-Rc&uE+Kbfg;*wKQO&2A=mb*Uj=TvCo1hQQgU_0wKt*O)$QFe&3te8ix zZ>SI+Cg6{9ZoJq?w(j!mvR;7|3R=o@iYil1khQ!>@AI^EyTH5{DB9}}ps6L{vt9#ecHcy1lno>{v+xMRG#@7B1-bNcR<{H@gGEw1pA zxqKMt8(@a`5XWV|*ihYX(M;cS58>WLz}C4AI%*(SOdmY7JY%4^Q^mPCHsS4T^roQacDu69E#2)KI_K}u7QJuB(~ULwR*<F_Gs%Silwgy`nIRt zfD2ikU9s3({p0W|A_sIV$X>xtGf@GXh4L#aZZZ;at zT5q1a(CRdux3k39<=fX$C>(_w9M&3G5k*Npjoqo&I)CZSWCA>Nb_B)L#k^M34ohkfnsQE0{;C-VBun0y&~OVXQtWTbLPTsXigYGPus{K36o?*#tNX z8ViuJlYpYD7jjav3SeuD1eB%DL{DR_QhDK5mc3^`tB5pNS?PiSYF&~w3W;QbJFN^1 zx~)-$gM_8bIfbx#1G_M2L(8xC=%u4A5Kn0`7ZogX#`hs-v(fouAKsN#0N}oQJmZz- ztTg!NMe!{4{1AmEiH4H*suKYKYdFb?|HMfva85&Y_c; zuYb+drSmM#rrdr&7Le$$h``4Ae);K3hy(0tC9C9|PTGSeT_viBthB@zXZvdkp@ys- zg1+vDBpR<<5>+wev*pE+-&uj2gYZ_Ia)D62!cE=$Rk9bkV&Sag4rxClp^c zI8EG2RFL6-lP^tnrWgawkNR%^*;%x^Sd$Ge0K17>>HUh@mHQCei0SPBF>Zu}r@(C~ zR;4DFW+RbEB~8NKW=|}!A^t0br$L=fv}~U&MIsTUPfhByq^g(7TH@jU1Z`8r(sYcyw-oovJZcSH340gssEc?law>fa_@uJ z0;2n$C@0kDXATM*O@S|m#XKG{-A1>)OyDV_H-kiRlMc7!vl36mig7~AoGD(i%YrE8CMD*q#laG5V#|PQ zqmp~^Ba$pxwjGHTFp5=!ZqituUes-P-N0wiII;r)Re+aOK3`!KaRj4J^ujJrhB49b z0rG-;QvT8*3o=nt@#{F&HA%4|E#Yt`cyVSgX#FVn*{6vE zGSw(|L;6!t5$rLPX^Ze{CL4nr#dyp*}zAcIF+jDOT z)>I7{F2?c(OgPS)Yq-iFQy{Kk(cPv$&6GI9^2tEcBaob40?0I%l0IcX5#~EMROK&5 zl4_^$8Iduxi*>6r?zvF4+2rE^$>6UXzAxG7Y>ab#Zku0QBD=HglWC z=ho?#mbIM*l&)o6lRV?z!Jff=*R5;!#r0K>-bbfZ-BlB}IiIl4{Lf^wdb6TaJE#<> zE|eabtDJVWdppUKVo6B^(r>N|(pfp(yf0xX#GhHYcV)}nB~S|}3p5M8QnS+Dlk3Zz zgYC2J%c@tpr<^f~iS(>{gx({&yW6|o6pPubJP-MkohjjrTjL+LD()(JE2)*OY7>oD zW4`!j$(1w>j3)I~rp=t31fBG4o-SrDH&?5d`75`^-^A~@D;TbqY%fRrF^lo_BqzdC zbq=St&rX}$)+(*y%>-LJ7oPw4ls6+=;*NRaDNYE-JsF<{H|txE+Y~N&+utuYz30Au zucKYJH$Sqv$~!e4Zb#c$ZESYpJ!Al?UbUZqKzwjC@Fr+@RMoGv-z4Z;>Mce0`n$n_ zJP?b3D*<7B@x44zNzu0cU-8IT)bEC~xM7Q7ufUXkhknWa^?sf}oWHrha9Dqs+Zhtx zZb6~-D-PvNWYzr2F6lxIZ^iEx&kpsot8FFHa=t8d+jN5Zz&6LM^9ceVAY!Btxglp2i@M8(7 zh==b01T$d+ERTCP*6y3q5dH5qcQd>{g9$Lp1X;9SDFo?X$FtJ(0TiWu>Gv@qzhMB$ z_g&v5<`37W?La*bH{57*@?YC#S%xPA=DLjj-Q3bxp@2zL|6q*T%y$VIquXe*$8qAf z1)DoRY;P=sg=d>!Q3DlIH#v&M@w)HNP)YzCHOLFAKh+lSI8Z02rs^9E-Te@>XGad_ zA5Xt+eHgNMk-4`-NoYwj3sSs|=LFdLc;^0<83?)#oN==4cLq^3fluJrCPJtL{Nmsz z(vo5fDw1wVg8W|JVgMBdTD}%67%V)5`riS}N&&SB^1%SJ7}6r3LN;UAijetO5)Pm( zJJM%kUJF7L36hQo8B&g*X~qobBZ~)|#!y`H%`w0@-w}Uf0534>BP?b1xk|F-y`gw^pC^_ zkS9SrAmMe~$-fB37=}xfpOgSt?nm@Tb_F;rSJIZq2?)k%9Nz!SJ0G+-PSiha*nhh& z06G;IKP?IE2>yZCBeI&*EwO8i+7X}89`VTxt9d5PAk|w;PMMEQfrL$wC8h`+TfSyV z?0QKsXGxUU7{Dcl_4q$ z8oA_HuLKWUX(B-FC+z z^00l3R6q?iix6Zv%)Zhmwr^>RX#xfUx1)^42x6j3|rzs6CYWh z^o7rnFq-=`43o>Z{l+GAxf|>}YO6==%LrPJurb3OeT`E*b+9HVFETm}#$d@f&k-S0^%ZFYHVd!5Cz&UguItG+;C}+$LI~eNW+o#KFK)Y01V87uzIp`as_+RIF-oIXeuOfoq1M%LE&)$#myNkEsJ2k(@ zQ^0Q&0UUyB9R9b?+kBBY;Ac55Oz-D<7UFe|&+{p%*PD@dZT2w@;Qn;h*86=uxEmVA zpzC{oX2w9^*YO_{Y?);1Eu7;(I_{3~6km5H4FRGjcy`1-xA)^J7V^yj_dNvi-{Y#< z@4Z#bQQLoA8=re`{GN7C-{*&WZx=4_pU?fWucNfE zU0$#E2TRYl@7wRQ;j~`A_p7LHUf4l|Py)c`!TQ$~o9%H>7{#jJQ<2l)tnR-z!%l49 zr-S1(hC7k!mDk?aMT}k#-}i^t!FBjto$rq(NZ;t^{`}XOb^zp;tH-k6wrE%#U}1pY z>-l2+k-=3@ruWzJ_e5Ih?wkCRMECA!n9SVRo$=ps&hJs2A4jX-_ulobFK^HDwx9Fo z2s+d7EWWl1pgsMY9|CZlh~r9k@=YIn|13HkH2Ka5KMhB9!2ZfOO`k#(gRs~iGKo`+B{z0W2%z zai$bWDYxFhJ*w_AhvC2ImL8XOZoQXrcD)dK&8xx8!6&i&!+bsb;Qv@36$|iv@LzjU zE8d8fT3%-E-rB2@dgic1M1aPwsGfqUtU- z&be-$FuWRSeFn0n@f>B`ow#F=i`LTb02jsn*SJPQJNs7cQ$g}B@U`$WB}FhMx1)|* z23+v)n{A-GqY0=%1)O0B-oqmw4RA5S^xyyl9^RBkM={(OFT7~@$a%>>K?ol}L(FQU zlj>$^_h&Mi2PhrT2F>6DI{9OGspI(mad)%n@1lAjxwm57w9%M0FzP7Lo6CXy2I=s6 z5jzMq_`-LC{TAZGKGGl7M**H14C6(p1ouA;rtxzrv$sDBk11|*!{uA3b*~mXe0|~ zF!Qc5z5(S~t2Dd?tR^fyqu-l;Fc!UGb--(R~qn@MV=dN}@o)ZozBjGLGU@ z_;3g({}ND}1B{GnT%soV!hHD>PKP#J6$lZI<7liC$jqW9hKMP1@_R2PwRh9Ch8{7x z(015VtnfO96yORpbhK||A65`s@w_@8BrWc=NIpGUs6NXcVK#Js) z4Pif_*ac#i;)1i?Yq(q1EVz3^fXUMZkzL?{gX@>K*cNzw$GQUT`|K~NTgofPK7*W7>xBeN4a9g;m2!1v9l zA4xsy4SB0mR`1fYBTqO^4uWkC3R`hPb6BHOhQlCRUSB5QuCTF3PIa2lem&L*QZR30 zvI<~CYc&k0{3*(-kV~@q7Hy9f8z3iY7iZ_3iEae01cw#<8IONPB|Tu>iY_aik9g7d z7HJ&6gh6nzH=X-EV8`Imtig35t!n4oFSE0SR=k*zMa3X8U>Nnc@($N46%dB@gI(gI z+ee^RT9Ta$AoV`8yvufn)5Ia3Q1iyQl3N&Lp(4{BYv)t8w1s`qtA)tgkUT1ua{6Pe z@Wo`T4u@q5&+rCZgGozLCzN`=5Zl=&j>GV&)~1^(-1af{{NK#r0u@g(dEh#;Vu{h) zdXHZOU;zapB3iI7il$Wl`24fLuG`i1y>ay6I|l(Xy7z?-8|$$Lg0Q)<7Di)w_3^pU zGmoe>E?+>U-2DpG;H#asMBbBW_~Yblq#b7)Qx%gVJ%-?$t)$&f zCZtLVCG-Pr(qJMHOMy+9;~_Si+du(x?~gdkda#osSVaC~^V&Or(-Lv@p3^9aMqjLMr( z&NGM8X&|ZiKrWmF@FtzCZ`03tG{3{A5g#dgbwcIW<^en%qHvqmAJ$h42RSH6oUAutb{AY}I)acztnP9pXhyfWC8~|a>6_r$ z=zm%vY~7m_Y=@vj^x26o=cBSF$3!c6^MOl{nd`f745wLkFOee!O~o;vn-9*P zG)(RJ2dWfJ;*|ayyv@oZ>9{JhslePe^~S6(=zUE31aBOs`HCg z;P9cs@QJV9Y-)2`Zt0&VCu0=FG+KQb9h&Jvove;IHhs2HU($MNV&Wjxz^HikAY&5y+bczjNMo9M5lZuLvTi5fmE@gx`|d{P3~>7^D5)m11qBg;1j=ltmC$U|XHrrNp2K!OB(Q+7HL@@_XC$xOPqston}xM^4a4x(&9eJX+SioU(J)&V62OB5{G1X|t|?U+xM+ zw*S#Nc^~kjAUfGO^211yJ8JPZ6L<6FO4!(_H@#Fc@idDPs-%?^fE6b50;afu#MNi^ z&vrv(_yuB$biQ{uERDi_;8hX!on3aM#&sYZdD<>m~MtpR7$QUE%+PYmG%%m*;PDQJ98_43ei|uEXU0cfnd; zXpw&Lg!3OIroeLXmRE=!t6Hcr|wwDh!OXAT~>zi;4TRdreEo6Om?lPU)9lJRL!C9g)J)&S?K3YDC$FRf; zaeKK&qAzcoyia{{;OP(*h7HYF`N1UeuV;9o6xYsxjKB~BnTGAWFU&;pf>rJ3-qz3> z2d-2tET1w9BVRnVmwoZ3=;(^fUnR}v`oN?PoM{52F6Kl? z+4TPeJu+ULM3810eVNTphYH4YhmeYZj0MO`Xan>N7^z)9&P1qb?y>CcO}ORA6$LC`1rb{`cv2(k5a8m%tXzW} z{;tFfeL8}(vYH-i&E7@T!Odh&e%@Zd3z#d(po3fzBgJbP=Gk2wNwf$>?%@R2BywzY zJ+NHG!9B11H&%R{CUp(b+g<@Qh}sBGEU<($_{9@@FnMdx9EtM?ZO3uH#wPG@?U~}! zDGtYlNb@DQuT0te2WZa2x_&S_w?rCk#LoboGPD~{9o}v^a`~?BPE^6Y0$bS&v#M!_ zcL*1V<4FTTp;*JH3}SRAeDhjIpXv9hCJvo+7D;7TZq0>Qcsu_;B~>$jN|_~ctjIFy za&f&O^XBx>X&AZXe>=owQ7@B?DN4E=pQ6|L6!{Z3S-9HucMGJUhv6kf9>P#*h;sgM z$Y+fxq7K{AP4w!}N!eDFAk^5qeDjyO9?ARYGa2cYrZ#}TZOW;=nIGEtIq;kxuUy@q zG;!cR-P!`iUe8*CgFxg1B4+w&1!?Iy!Y-*3rV-5oa}GP!#mk@O^k7D~obwg}Kj*FK z$e}#T4d#Ql_-5(Wu@8Io&U+iS_%>lTj37YBVV&|?WZbErq}Ya(Q71@CB$*qSJ8&~@ z^q-)4r1fDyV-Jy5)Ogw~0ebiA2kAXb#P%3VGHYcrD=zNF(puGC4MM(KB{V)G(X^5} zuPzT#QIO|9i@Jv<8o89P#uj#vZF11v4q!>(5BfVa2&3nhRBN3&JPMtkuwL2^U6zs# zS{qXQzsJ`GX~Xh9!o#Oj3DJ9pN8PA!O}9%^h^Xi3`$-TV_Uu7N7hovChM0wjL5X;i z;m|2aHSO6O9fIG6F$s4xz$qrH;bl=@q4UWolq@3HtCGN2nA>vXims&!s3i%PA{4q3 z5MmZW(d0}rqx05k2SkG7dUH55MCtG*{#54&KrN+X^~F<|rUCMVE9DNH8U{dtY1;=W zYVoGr;dSUQk-kx-Kb9de)>bY8bQdOFVxbWIoK20#L?bvv7AWnaPzCLTwSmJIc<&)9 z3yJ5-j;iHObV zw2F7pUkEp6PltzF$Gy5*>mDtW4b7kp38=9$XyA5oD$QF|KIK%%LkU5}hGeNg9FVhc zfg(%G&+x(tsqTbR{v$}d@e>|28^@!4QGCu-v;#2)zm8)e4=i%RLfdQx!%IR!&5x4ggNDk0g^D0MmL5`URy!L~|5`hsckgge4oJe|0fVCt zG+ILa37S0_P0T)p2hq&d?cml}s0Wn;voaX*yy_?kawN}j=}bT>eOs22YOnP` z?Sz`D0(a*iX-k@kBJ0$NkCYkpO=(R&-mRuBa$c~Ofe0&F2w&P|%UBi5XWSRaz5k=R zbNBFXn8^IZ!~_Oz5L}FRC0TZJg}Q2&1?tQiugLLO;TydV5&kcBoR-149(aXG%1C>O z(vPc25N+tf8qqQn_DPMv>w+^e2&Gz5k%>ZV^k80u%Y+4ST5|dwA2zwDZDl@a)?8w5 z7aQ2Ew_1xqzsFyW4$=r@_>m27C}HX5o(x>&3lw^-j22#*qr@;|I1bE%#=-ljXnrBO zF^c*E(^4z_j!UW;Bv5qAOmh+;kjr6(n8Rn%iQ*@YVyJ80PzbmY^7;Us76|d=7tFjZ zmgPreJ<4MUV#cy+Gh5mzKkZR*^gH-NlD!Hc4|J4u!iDvWv!i`bfFj5N1+1g^C!_tZ zJ^^x|(h)+5&}V!ApN_k)EV82&t6wkjsE2ow(m?nswPfEbOF#eupSVOG zbNjXZR~gzSeLR_=Z7lv%dP6{pm|iHE_~&9erb>Ufe7*$UD_5&+c47jD?n|DX8Oej8 z#GD~S1i?N*ijQ?o&^l4i8MpxRnN;3>T^&Q^8&y+CY`E{ z-BKMpFLdIbtddJM$U)FIc)qiVvFEq5R#AfD6-q2Fk5Dl*^%39oJ~_SWgdub}X|-Po zDDoGt-}k%nA-0pP;kVWE6j^Ca^!^H;9U_evx-dw(w?pFBM^v~cPERo&^>UsEnO3-i zXQF%45f>bwnwJ957&z90)jZ|jiwNj5(w*&EO`wE7$tBRZG_uxNjaZOlNbgH zy0!QZM%(V+kS(`?QWGLf;u^M6rn5O?=>o$HOj>;qopNwhd*h(!$w2!~efZ4QDCGft z)nx2wFg{KhDS`zFgUnXg7nBWCBVd4@Bu?Ag2qTyN7umVk2zAmeUDcM=bNc^{vfm(q=U~%W3T1p6G z0u|#(uwBi^dRXhE*0hs+JG!ArqZ*=1o zG%?jy^ZRkryXupEUWf_5;}{S&;(fj9SR~UZQz;YDC}+qO{(60ia0TsI7R3(g zly&o3Xbr>PGtD&EFsm*4SLfv`T4hik<5>wjlm%QR(7F>N!u00hLpf4&;<$K8 z$JCN?PNW&4r>eo3Xx_Qfq!fqC7i z@_GWF<9tk?n>dn*!pUA8tt+Clf&ZB@#uKy&5~$Jar#wCrTZT7_MBqlvXD6F?OavKp z1oopIOU%N&HBh%*q?e5|CeSLU@DMi9jkkfdIl@vf7D?4;>i`vq>;|a*AwrS}WhPT5 zL{T}#yl>Xlzrw7558dk#o3O5R1Pw~@$#;GXy23YM0ZUlq9(EnD;TCqrWNsj#9e5ew z>u#}UJ3(1%5&J{;w)>=m1NKi9X{xT?_s*9+VdVH8(*w?L65KC zqMt(1I<01+INho^TKO60+S5 zl9^Xg{>j`R(REL$$m@?A+DSXwmOoZzK+c6emU4x1b^i=w#_p zSh$cU;G1Uu9Vu(;RAR|HEX znc$h*S3rVPlSAQ$tFQW$+>4&#IrBhDCCQz<2A^@^(1|K+D##|l7Ej5vsBmFXJ$~Cc z!?UW^C}1JjIR0c2ax^D6I3U|iuCkX~^d?RZ@764I)0GZoqTH<-b#q~#KM5SQBY)@{ zO4ok&Oo4bi6RKj8F+qa@Xk8eOD6Kgr=e>k7(72dYz(G$nF^ot~Okzd)BbC`ppR7%y z8IY(M(o-1QQ|f^yFdBVfn|RkT&8F$ok^agkUtH8T-6i=VGCK*1Y`UX9DP0;7PF)*( z$I%h=Qv>g9<2Qnx>_sOa1gkKPGc;c+_WO9Dz?vE5J2FR+me*b?!?j`B5z0py=t+(f!n>5mL)1VoxbkQ zD_h%(LVmsSVaMBOyP{WKdY$E&IX|fY-%-FVV+qUf){IPA@wr$(a zUgzetwx3|vT|Gdxsv2W_y+2YnaU4Bkszce+b2h320*?C(h8XXlQBH=e;H$`ghl|O$ zjY`5T28dO`BlGhIJ&2@1WZBA-7+8NtNJbVxCLUZ_g34biZ}n$g2?uj@n@{!0f^Rg~ z63DE{I+C!x6`^&QOBJf^d!lpJqntwUI@{5u;1~~RE~itAxlg^A-LXTw5G3kfo;op14ufNjthxn0R6=F57iG9+41 z1T>K;ph7pYLnY#2Mr_y5Q-;u(o~ZTTSIYxN`y+?tg zEb|F^i?Gc015-`cG^!b9y;7!P`z~LghV(Vz`nM2M;a^-0q{LO3Xr0cp?C=f4VLz=V zQI8+jnKhScgIjHKD=l$^ATNx{VAgumVQU(eAiiVJHgl6~d)woOyX!;j?%@^$m-lhY zh)fH({%CPq&Kd#>ArG0x2@*uDNAe13%H4Z@nBYu$cxWR?JDR_1oOB<9C__ydQ?~F^ zPfyN)+c?UoSu=!17NC_#h9$|=@>G_1ACIcz5v_@LWN;7FkI zSe)}PXfE{+*PIkmt4<{wbqoFVR0`W`3gQif_#zkY>B2jnyn#PIAP3W`*c^lj$W!#q zU#^ES-Cz>&s5U4>ZPcLgqE3FG3*?jxTJWaLx&%3ye}l}wMSG7rQvude=AsbSt0uND zt>Pc6pHR)OFcS@q#{w-0;-K*8;b0Mn1?w8;-)L2?Ein}3Dhg+O;VMrAidEhXtT*$g za#ruCw>3=(TW_M2O>I&-_iFs`^D|Xz4p4rWqI^~9x3?uE6-D!$t;pKa>`rQ)Jwqcd z6vCwC!=wzU8jx~|LsNV4Qq!Q~9r0JbF6SJ6R6g@88-~W1;-i68{d8kScA44Cv0t28 zzzRN>;EpYqHA{goD&MDF>NYQla^=ctmvFxFK%4e75d4=$fB^w)g{2A`W7yapS!eI4 zQ2}aXe_{}Av9yEI{oF}2H-IWsrDwi<}mPEKd!Q+hGMEgWxaCXZ5wv2czteej(DP1 z<7pNjm&Fx1PhD`JK`~k}$Q}-wQjsfSF+ueb{IL)ciLOeIKO3ls zb=;mA+Y6QReGT2+jrrcxbWFX(N~QFNK!Y5NQ%FL+i-I61;nal$>Qoh9!hramc!-7# zqMmkK$@fhx%+74Be*%z^Rao&)MPWiGqvMwnxhh}0K$kL233nMCQV0jU(V*y4w*~MZ zLRZ$p5{hpelRDD8iLBPEZOo5OlUrsuGLP~J5>ggXdCYJwt5CaWJ1p-rmh%T1qlgvi zbKpakT$Q4L$^u#*UGHG){vF-)%MXwE{H{%xAuW2weZk;a5_Lm^SIsA2Q4u02>Bvd` zsAEbEvRXETT7o}oUEuBrnLh-p{6&}?BKfFN1!dY~U>aU%hlD)yRoK7sWc2=$zVq1*}sV;HMz{EZ>LC zzJkI~T7&>Ix1{keoOO4;6V&-yp{h)@p~hU=Qkmsi(bRAE#-Q>f*)sB|&(q=A`qX9H zBARYlZ1{KXv@Wp&2y{{l25+ojKUsm=*~cdFU3``3IH-zp4#Bh$mDz=rC|sbaDVffB z;dQ`3u$8)Ls5&h~_U8*%XDlN(7+}<9r(_r<28h%+1xHS8a6je!7Ol&*sSUr|t%NW; zw7!gw7_HUeb*n_L5SEa-cv_9*_tmBnDZaXl&{|h@c9tRC|8Q_tH7mJU+N^2W+wuirr}p= z#j6Q?gjX4ayz17P0=}t)E?RL$S8BI%H9pF|ka#5{24b*tVIh@ZX@ z(9Rl;{)wdZVu}-}G9|@$j~GJIXc@B5BW}LM@=)UEys)H&24g8Z^@xW#q|I--@T&U5 zkEz=S4uxn8m)zRl&i8*@f*PwdG=ZPmF$fd-n{26}NRGvKd4cs(iWz4!aWsCxqx-bc zs*AriS_G$`ynnF2QgO!)2K>9ZJY@183X^sAg*A&fE)rm_OYCsX~YY; zMhoe?Ty!=cDePMiaKCS=Q!pS}ZbVPxv)K12k0P9?WRkK#T`(9B@HCW+2hU(!S>4Lh!~YD1~k6>!a=m-+GwiS9#VfON}~wH^izRU#c(X5TyY2v3( zRVfV9tzSj3i8BAx#^}nSS!X~MCNBr2>`@@X9HUtKFZ0f5(^L~$xZ6{h(BTKO*`V%? zWc3qp>n;jhS(XVj#XMuyw`6wD8naL)7<;{&E#DSi+lrjO^i`tgCN}`T{urH2*o;t%@ttOI<%Tm17_0M%pZQ@sgqE!XI2p7hI zaKo4+EI-qTlrqk`0t;O-0YGjKP}b_q2cq?Hyr$~O$>$2CYP!;(_@Jwm7{y6Dj8dO4 zYH$(sKg&f&WhbUO8k)hTZ_c^#&FG4Rw1J(Hj{ohEWp*tmGA?W8a5D8rJrm;a#(d|J zo07yQW3q6gYAS7}X*Xv==rmEt)H9_4vq+S3<7jEYb8^vfSE)7@XxZ??y1tMQNe?%$ zx4W6i!ok!`KV#N4&tFE}-o`?n7N97MRI~;~p^akGT9L5$BmH4M$zbW7QETB5o~q^u`7OTU&*aqV`;*vW?L7lmI+J~hf6l%O?X<# zNeoR;?ls^M|1|dW1-^Xz$SU?{$?nNWvoBfXfWvb)`**7CNDIL4KbU~4Og-~}6%kKs zOC39QW>BA&*{Sa&CTOv%zn5I2lwISl6r!yIK zrZeG6TfPTg)*Y3O^x#r?cB^xN|1`qV0mj|vH#SorywZntvkuJ50jxmG;to{6S|GV= zhNo>5<~gim?V0qjW5_s$aH8W(@{^;la0h>yO)HwfkkUjN4$j%JD7>t)?987Ude>Z4 z357}%J2pW|Gz^WF^G>*0|Exn!)7gHg2G%av_KFz0sWR4&j3DrU%UE0p*FYO!cVMx& zh5StyFJNo@5m#^;AO$~zS-XNzjWzHJ8euFbb))-IcMI2=gzDccj(KW!4Z}S|YB19u zg)bnWlN++>`LmJogKW2Qq&Sm)b!L`9UcYHpjh*g{ck9te9rT8SP@9OvxdM>lGgLND z{kJ@&h3~b-4c9NjmOtur1_mM`Q)h87g}Ja{paD%{m(NHmy2jH`nuF%1Vo`H@BM6|K zF01PQBf!UiHQ)dsGNBMovuikF(FT!Y7qysthb{uCEPpID0C%lcYQ^fLmZ)5~{vmyB zT|Cb|~ zxqCeH4evIUGPA&3jjoC#T%wtTuv3-siCo@D)|X@FX1TyrV6q#c()ffC>I|cKMgWRi zTGFD9IT3tj2S&NK00iDNj6@>aT>zI6(%N%JA2_{fQTy5^N(3hT) zy_3i)F`TiC^4v!a=EUU($*KA|Fuu8SA=`!~&Eib+l1)G7le#sG#fRag-hVT`j@}8@ z{>AOexumsTb%hq8t|O7`whb>dY1P>4m+|V<1|t@6YU5KAbW)zMGuKpdRUo=y9|h-m zZh9?YE5xCI*!Epz$$X51xT|hcUgYIuibL2RyhF#iu1RCIvCi zTe`xk3XmryBPq=2n|+iZYK6GTn=lVmei>SSZH?t%R%W$qsY6D>+>|!|3QFn*ed-R{ zad8rT^#7-^H`4g~f~^<`i~?jgm8?2c#!RRctmP`Uh?eyYHi=&6eOmQ5dlt)P1bb68 zXZBxj78zW+JyAhQ%>x4{OD4v8SPt9AH&#O?AS8R7gQn`bl!->5;#vOpQWE z&?J_5S?^ZOKk#f2O%aj$lHXlOaoGsWKd@}z?z?A`dCe^bcjRt3`%?9<-| zaHpfKsB+Krh)wl&Ts#^O0xPKGu+CgO=zl|{lpkqaQ~pe8ADO%esd$G0@>g?lU8GF8 zyHi^76Eb2zU|~1Ruk3>K~hSjpmFTW_V~;(v#PK zxyf~R#+b*QZ^Le7%hU}uBy`re$r;gEONgmI;02STq?pU(U73SAg-Si0wq6Vc$fl=8 z5`*ICB3=z6(OtDSofypaH=|G5!aO^hv>qB$-Iz9&0vn%OQ11R_D=)CC_YJQc!Y_#J z7`(pKB`n(P{isRPScJZ3-iAG@F&EWow|w2{*Y&kQ z4EAhpS`4pKjEaa42sW$m_M?pHmuKVUzI>DD%m|D)hCHbxZg0L#^Zew*{C9n?i}Jar zBHpLyM-ekpYc{fDP_=_3ubW|7g#F$R`nv& z=9?>Kz{^X~i>+lVsmhYv-d5HXG4PGF2=ZAK7p?FWe-c4exg?_P6IiW_T^8IeP|g_} z{g_twmjY^QpxoNVVgWdX8(psz$`gq!wDbM;2C*!H)03`k=ZAKy{`;cBuluL^HG>)i z?;Ax|H)JCY?ePA-M>K;`)vvg_m^;IITEc65FQJnJ^wyj#}w#AZAvQYYV_3 zXp%xXr+Q3TsBol!wVpe0kR{g%q2eO+nNzflf=ENm^!N z+YHzad2x^XeKki7`L8EWdMM3&5Qat6FD-6Lb=SAh(ja&UE;zE@I<&+i_^;PnLZYoc zHTmMMCRby6b+;A$-z+aVTKQH#?Z1#G!|lHw(%N?_UHiUKnr)O|v~BuoEeOzM-pSLL zj~97*foYGI@ie5|x4nko!Hf&7azb&O{)Hg@)nfQD_zpbIxURy0Ltxy4B3v1RuaJj` zE^DQe#q`i}I}=p+hHkM`F$d-J6Ri?F70&yQm!HttO8LVSE-F5A2ShpxlF$GzfbAMp z%m%1i+14c5E;AQl@4TSEuQ$wwhjR|YEIOwCm6``*5c$KI?EN=W*0gWO58j&JW+YDI z0;k$yyu7j9Tw>ZQ&WWBhP_Ag4`yuul5u`@+rZluFV##QD{sZ)UtH))#$S@Ik$Z&vA zk)Ixam=w33t+H}bP-eYD@ulWcEblaB63_AHc7VzpgQ(M;))Bvl$m3!e?|O<4K;U-y zRR>dSbTjIyYtF}aJ!-{|THb|F>I$%aZ^EhE-jgJnwDSp`x#0eMw5(n6PG#Q^^^=en zr3m&%rK7G@%c!{&-eZrq?VRHhdnNr{)xFp;3OGvkP7JS{n%<<#?V$5N{9}|_=vmo+ z3U~0Gz-ZTsB=-ic^I3XHE3Pqj%Z;OeH)>i!ol(HT7|cB$d4nKV+RMZ##(=-ec_spy zukIlSJF8I760oG2wJqyN@VgXYXo#bLU#zTJQWm1Jf6jdIn@FC+9kHEt1kKsZZq8ko z8qD@3pGQ{f_lt`WY;gf+f8x*W`FDN;Q+#!jpc{~EhGkKTKis$#sIYM#)2wgq=67f3t6_I<@x33oLhnVfUm;$D7Y8JV+P47{ zRIa&o^624Tmp+_&4_K!E&>-O?hpaAA>1YlW#pR7Z)8{TRseBQR>{Vnv=C#f<+pC`~ zo2b0H;)B93?v6^-Fa%U=MD!21B|_Z!vfQ~_vW&)*O^YU{$+3TvGzL01h+OJ(iz>oC z%2C3IHfeuMPK$1?_Ib#wgmf5x;vk@y3>8ZjTo8xi)VjTL?up6i?c87%C26QIm_1wG zzuQ+L{LSZj`7xuOT{2%|N1}+Dx{nd9GbvAv6YmUc(Bv8@UKlXM# zs6-4fhjhWa`Dpj_2 z^RA3W>kfZ4OM8_*CnXp``A!(46~MrmKD9<+{!1g0AkZ{l$rASzP)ZizqGxOlN5a{Q z|3m|?_lrQcka!^BVBa1eyw0e$xhKbU+vTH*=YzPm8Ll_#;Y zd7eu8vDOW`y{49)Z`s+nen^O4cdf5M!&*YfI8?)ej=;OCMGg*9 zWSat2HTTTGs5oYM&2LlYn1XLj*#B8|Jl8JV*@m!A88zNC;zY*|@F3%=M^Y|3q_qgj zwfV}@&v7@4tgPH=f7S^VX4-gw2m$&>IxneO1V=7^MvatNZlKw}I`yJ|lu`LcXTIQTXr7-q!$EkkfB-m?bntM0?x)m+;b`)RanbljEQL3Nm*?}{9?&I9A_F5ZK!_WVtx+YbMYrFej6qYHseYcwO zz&cwsab+xw%O$~cC;+pcP9$-yrMei)JhwFY_d^a zCsEvq_ha8vr4z3S3DYg$Om_X+w>+rb0k~>~R26&pG;U_VTg}AP3xU*u?ih#{-q@`V zN2i45i|NWDQW$!dsDDlZjdd5?%o96uTv+hj zhollsX+B<`Sm}uN`jfBoy^jTYbvQHLTM@2RN33n`+mX?z9KBed9Kl-LJ?&AauMT+S z0s2pV9QVY>2=efLzA7gRw5Wfz3lt(xFNSz-~1BU zM)F8Xv*RgqjZDyv+cn<{(9NZ1jy1_KaXKZPe3sy&YH1 z^VrZ9woOYR&*J(vBQEpKRE_@LrK+Yz!Uc#QD=hKxS`{9RD7WG3-OeyJ2QMoeB7;5; zKvxsmzuq!$WBDt%ji87Zob?T*M9u|BKXbLQ%vBvaoMN69q)|@o zxZ7y5XaKT*e;38R%(FI+L?^sxeJ2TIaBC9_sH1CmDOg~xTtAx5?R&h@KP%i2>mO(G zmhX4G9Sx^#T)T&Sv^7LEEy4dtug3pE<>MU92uC%a^tq!W%=7?quBQlJKOY745=V9^ z+-mI)3B6)0Meu8X$o9M9-8ww){91~HDz-g?wSufHJwx46w#|M+PxQ zIbI)y=x#@>z54Qc9B1#KW^cBoEAj6Md0bx0V6L9m(Yk^+()LV^`%cF|7C*B+pOI$X z5daU|dN@kC590i_(a^w;_~D#B5lq}=d#_{OHOxj&;ig=5)7I*!2S1DKy|cD2rosYG zzMfA{!;hL6>FVDx2Go>}H%hMMx$QhwWHizbb2Lgu^ymO?Tl4s4x$|@0Vy>P1t3m z@`+5xacIeUeBZMjC%uej*IbsviWeTy!J$L1#RlEtDQOG1Kg{YaBC!mB&$6FR1Dj|A zKjETuR*&0usG*T#fUS##&2nT(a{BsGKcvA9ALiA2CLm@=yt&+=8>yzzeCj`h7LfOE z*1lGleGjMiPKxB|@4F-o(W9BbyFY;CyhR(7$Cku|Z)KLpeIdIXcv7J3*Qe`uRQrTZ zL*uO3Uvw-;Pa(I~uHE&5?mNzU|J{5~z$zj6@+8&ZqvgfDx6G2F*Eo;_$~mI1 z_7|)dxi{!SB0f^DfJmfK7bOhAl)C(lFM~Y7OOO$(sXz}I^xT=)M_sb(a38OTn(Cb2 zjPM@$)>JZUJp0J*n>@c?`YhQ)KC_T3fNsAy@*=ThDJeUcW}=qtL0lqwp9`wY8{)i( z%mubvmXpYb_-okuiMyL>2i87~V-@G==ScTIX2Rr0woV#1&-<%;ACBuiN5txd z>_bVpeTx1w`1RG*-%ZadXX(?g8KfAOugb%%Qwo0n>qm8d{*U+lSp+})?=Sb<+qbWr zS^Mv<*$k8&cG)bg&EHCY73qUoMZw}bRRqF*HZ8!;e-IWF+DNsm?R}SaUdeH)a?5k9 z3_blcejW;rIl5YJKS4vqx;9eO8^w*rDs|6WzSZYzb;Wi6J^{>a;fnATSR6j1qq2>8 zSK|>qeShJ>wvl^T4!JhV15&5i4Obj|pQ7V)!0gq>w7vi9RZe%Wzg;fw`mfJrAcj8Y z)5AW=(aK3V%k0+65*^2{@jb26ty@Dt!nw4^wb`zm8-Wg+DSghY=KcFo=gME7ujcsQ zuk=|t{|98x=jUGk@8Na(AIUVo4|S*4k>#uv`yT&EUj$ncZ36#;dSi;6Z22*q$v1NY z);lBtnzH1RMMgZ4)deUAn*!{LV0`I9QP%hu;$KpPL}&ffY-W5^ja;@+6T9KHatN2 z&;v_{6?9*A3$LilKGeR}ygnX$y*aic=Y+f%hUsvjG3?>NFqGexljbrkdt31)0PA5x zH@E9mXT|fUY3#k`DE)UXal&FHpT}Kv2E8oi6n?#W-M{CaeIRL0s@u6Mat8Kh`me4#+4V1OxvMN#=tuI zl_KSK!iyXLe5pwa$0+%wL^;$Po~o=sm^xLcG9!1VFi5XN zgq^fTeNh|by%)8S+B~j1`LOTu)t8Vcw^bkNO$SP|u@u$j{pV7s1q)11ln4{Vy3^$% zTB}$@;qcqQP8n84>R%&=S@}K>nolA~oU&~IB?}`FbJiXbdn5_6XcTvWIzA>9a$)bJ zO~FX#^eK?PnrFdv>de;iSF^)Q9lR27czLp9IhDzAiartelxT7OS}H%pDU}n2Z&KMJ z>nUq-ZPP-a+M>SjENmjmDb#yFk1o{$BdPC`?Z=)MjBfsd*2bNOQXrxh3{8nr;7nUM z`TIf_`yk?+ci3fc%~>mvg_}SFOv#gKvS3Mi0nRP1J5IIlz*!NjROpqAHKPsXdWrn- z3e(c`WFyZh#A^Eq$SGQ~kuOsvxz{dWBSEpZ+)GSP3UD_zh$ zZu-n|8UD55(_I4t9Ni5jqR>B{DtMo?vNmRBTD$en&M~a>v-lbK|0nr|-{uYZR*|j! zls%#ENV_gU)*Vbc?B8%_X+eFsTZ{eH+H9B0%x_NiQ4+wXa8go`gA@13Y_Ui}D9=p! zqrwKJ&E}N^iHgQ%%Q#b}6VWIshagHD#=dS8TLe@*jOa!fCn5{^$%q4AZPg>fS$MQZgd2Ewq!;r4~5+NAxJdh5GP?SDNzUgP=U~1w$VTyDDvz5%o-VQ_| z9iL-bY?x4IRKqWQ>13uL4<71S==?7248q=u3ja)dttbK_`ltH)Zt!)-!+QL))A|zv zL(c!VPyDv)^?Vbi-1XzRaAI{z|NRZIpNz}jd9K^8`W)QNO^9$cUH_t%>uc_YpRD(z zp*|4)mW8@@O?`=nq0J&X;GeXx6Zh=piRBJC`9UBTBB7yEf=IFh`Vrye_$nd|?665T zH1UiO#;nCO?Klz&;l6r9zxTvS=GbicR&CraxQ`sp_q~%1rX1lp*%hiw(SdOLx zp({2N4*ix`=GR2nZ^y6KC5&K8RM1^rCKMRm-BH4M_BQqEmo!2 zqErcBq0PWqc@m-WEI5|!_&F!{5*uftmS*-=Pq0<-I;?`CT28a`2A*m6u-P|+M($cO$@g3ISwZ6C|sZd__j3HaVJ-_=HyWcgD>7l_V`r#P$v8F z7TZl?t(r?1Ss+}3LPhSVXbHH!iW1hqPfR447`DpIrf%Bm_00)P%X!yJ%XPHdeRmwb zdQ&DBy}|8irdC;kEXox`s%AvYY;)j zxMq3n6Zq8WC2-51BPel7Mh-Yg#i*EgOt=6-$Q-44AQN^7(?cpv$YyNRcaqQoaFQMN zvpvZ|VENdg1OiEg4xl}eD}Od!36wLTmc(yD*itj@cw0mMhVXNlGI1^*mMq@P7XYK8M`}FE z8$Mze90D#mQqaFq85#8vC>45r%Hm54hL;kd^pBa^^I5`uSw;*~kXnQQT(*6c0K-Bs zh2Zdor3QN3Lcf_9s>TzUY^Tebl9T_sbLG=-vc{)ej&OH!b9lT<;;}*T>~7hPRx>&e z_l_Ws`kDC;D}tm}eUZ78&5mN&j*<%RqXSOBAlV(^j zW0%iTZjqKMjn}I{YR*DOORG9;0;i;r4Rb3^W+Js3RMUR4RfN(86ojjpgPP8kN9+L6 z&IJ!j+lMBe>|2Z)2PdXM9mQ+dD9}bMpyK>Zjl-2|m;{ZSlZOmf5YYk!z|e?%LP2A> zgg&2b*5O$y*OX%d%yD zP$Yq2UylNq1=pjr0ADpm8YT#u`c=;`$P_u}ctz2D{&)inCMHVDS*3M0dJ+L<`U9Q@ z^7o4i5rK0YD0%i5c{S&ZMrikuzQ+AM_2-*ffDu-hruSi0?U31$}%*a8V=3(`ap zJpwA(bMQhssp)af?Cckbpzbc3^TY#S2v{n-B)o7;nIA8xCggUz&UPH*W9&H&9T z5{RPh`xl?GBXK|x0^U;fXzbyr+?{$fviJV7h~s>DEPuT;bgZMybU4#7a1L9ph_1$? ziX;FET=zfI=_;AvG)n!6-wbq;!B3Xp8HFYZ))@F6^1T^y0|<(Rrc)SQ(pk`wUAz=H z9fZh^N}FUJl~aK%d-^1}Nx9CBX}B;xPA-;VXev@~`cNN&i8`-%Z7-{x$TU9oXK4O*$sY=YGsjeVgfKe491B>B{Ok|EI9@#=d*;C$>Igvf%^r* zyw$&{dZ9-xn8QF#I0;7Ykf~9q%)pUN5y@ZB)eDJg4pyxbW>YudB+c50Sk|NwM~e^8 zA|3C*bl6JW^dWI4E@LvFAIBiyITU7{XVa1SW6YpZ>laIdfrRhf>)8&BQh(4lz=+|r z+;H#4DQ~%fW{K+SI-R=534xXj= zsqtTgX^hMD`W^HeR7>4jqVPy|5dRM75_})-{@iP$0^^>V?~+TBV9zL>fQyz(#nJ4G z-LeE1*hS)SD#VpbFtK1fBhRRS93SqNN0iB;L0MQV-6+rS5#84{1({4*UspJbM7 zd+em9GxS7gC^}>k_z)N{7k_t0J*Fe2yBpj!Zu(lE@v5@C>i?EHkBiCIdNW4V(NNLx zJLDMr5sx1KB>=c`d?CgeykT8%x^xb&q-k8+y(E{#WW1Sy^6_)Xprt!~V3H|_{Bwb! zL#UrPR}mxf0+OWJ@(3z=#P(<7#d^T&=83A&Og@vHfxKz>{V*$QltV77WJ>Y0XZ;U| zHPOVSz8B--<@2~SGGeK$+J&C_VUc9`gD6hbtQcFZ^_6d2$*8SSm#$|-(8#d4ZaIYP zlBq)Uyw9G53I=RBhaUU_E}~k|43UT+YC-4dg^@~UfQZ?{30hXbhXQ+< zvh=Dd;4_pw$MDfUS94;g8o=%~cGrW@%SK?yV}FpM&FXvWeeEtyQV6bk6n;rjTMfIK z>c-IC?rW+1xO9J*ReIM`bD3T8jp|abw2=E(j1$IgTD57_p{`khs}aJ~xvg2J{Vwb% z%D}pzVi|r<%hnx?#J%-Ez~Z`G=ebGj%b{4qmKY@P&rc4!cX2 zyV{?aO>&I%$>TAvBWUf)oVKs+M414Pg}1Lp^G~59ygj&3Gl;LXw*`F4ge`o<)1%~s zw?rqc?`YI@2u;>_;@!cGTx6y z7=8jneS0t?X`o$o-YPypZj_zxEK#{>BXVs~l#{Y%E&IU)jVgpeC; zitwBzXeDk+kb+qtUQ@8@mOA&~HwVJgL%>3+_5yO}_0-wS<0C9bGM!aar(vqKf2P|4 z?jm(K2|WhsCras3=5LnVN1wdY>*FyuTlb5pP}CUOe@22ISs{oS7>K+ z>7(OH+^Kz|o^<~_Eu-L^ixzlQr3%(6t%iBU09Ge}L|8Qxy$?)W48UxGpbn1?oJ3WQ zAd%0I0TSvBTvz>xaMhi;TkQhQ0lWh*4G?QW+-KkM^7tTL0_(^dWwJ$bSh8IvxN=BP zr1@f4O4wDPtNU8AW-6?T`Kq%+h_#p(&7>u(71;P2Bfj*a8Ma7SngRF*Y)`Bzhi~dv zoH8*aUGjPG#KGK{62(g4G{={0T|T^N_9_tuXIkiGYgUmZG-MUWvL;*__-P{>Yxi;T z%Rj3!AwTkhU&*MK{`Bwp`_=H~$Wnd~#3L%Ao~+KtNVfNO#@b6G(-Z6vDgVGVTj&fQ(T_U(5x{K@VRi_GwH=)ej&)?ZS4X&glIvzM;{D z`}@DGmttG3nHoY}n%vg;+B72MZ~N5*?%)*Wo3Y)FLZ{N4 zq1F&u51iErP)B`eFo?;_Q4^77RYed6<{;_n&>^_j3pCBiKG}9e(is$Ig5c>xVx?P! z)Z=-lK7{z#sXw@$v)HK;N7+S(lmCdmA!9$()c{a5$`Qld=>mk>F@UJikP?p~1vMu} zxwQNsef~gNQl+~_kuFksf%?P_mI8JzZjwiZt~WG4uOus*BcnO2!}Pe}n7?_|v&pUV zvq6=r7KZW`L~u$P$k-PH5fg_n<4#s+izj#|=c>*NxvP9eJfLsu7<~b72IlC%Y%5Rg z$@tg*cKx&<)tKV7@Xy*HBFINF1Y7Nu&kJJb$*3O^X{-!D&pQyiLhS?!bo55`RC|jj zL+rW6m8pGQ(?p&!@5+fR1{82GeoIgik{6>6`3pqX?2e(~6_%>onBsUpYIECOiR;IR zwd2KxhV)q*9G(nzd3y0C9@!EY@M1|dh<2S+NIylX`lD_@KY|FQuw9hg9T`Qk%WT&s zRGSB@5Md$)Z83n%1C9JTCs&9yETCZNi4u89GvV@Pw2PpkZhdyJd|}*=`{9Lzd%rAn~fK zK2gG*9_$5vwAcG3?Ja4Y4aG_0?PB6)f?R*h-XP(3sE}Ctw>28WKbRh&VX)l}WIGLC zOQ&JBIvkid=}!_P{`LM(v4zy`;jHDi-4ntL;`q-U93Y%^7V84OIg(@6xsKiu4Blev zc?bN$B=gSYg4PMc8aRC==Y;_n#s0Y)FTEW-4s*%g#Jn;I;FfBesslM?{Rb&!0;0Cq zUuhX)l_}IPA5{pDMx==I>Ku1V?IYv!XO5j*lU@?tzJl%Kto7QOGB2@&*Wr9b`HU=% z3Oos`mLPeFVMnnr0gHp?TnS=z0*a-D$2~@G3UhKIyFA2Q27j(|)W@U1Xi#j0TPss+ zDvN^>X@FnKeG1sLSw)lw0ijjEeshKH5i4b;Fi!bV=O+Kjku46U`nnX7&4>AI3ZB6` z&4cD@cEl#$Wp(a}WKBWE7DG-90U97Hqj8sBSL8^6Wh7Va*vRJ2#*okmtuYU&=U?Ql zO6p$LdED6~5tLYNfWxZ_erv{F>4=?tU1Nd)o`m+Pw#3*Yfu~?;xNbQ$6y+9%8&V#yycM+Une(@MiY6 zQQ?FD$1IkKMF&fQ4DeMf@0Fv|8HH8Co)}uvmJLQ1fw>U!_;@Ba2~Zj1OzjsdgvF+m zx2aYh;H+cD0n->vHdq{^J2(ERA_iBi*P{fZoM)z8KVjzLamqo+6c1>Qf5Y!%R}p zf8^TA@oSm__5k2}73Qj~Zhx@zj``3+Dp5S|CRhBp0Om$SsZtUpBYHq5BnpqCuH{<7 zJ(-ZY(M(0S?FmDfgsQgyMl4PF=g~ZE*1frb$bH1tRSh>5q{A=K*)C6el?Z;n?qr*` z|LGk`#6B4s-p~3AXZ3Z8O}wibE-i+R-bCd%z3O&*2#|?3L3h_`m(OqmhLE57OkT2L z&hFSXU$bPPqSQB!-3B5@J9e)fxgHQ+cwPqo{Fp_#`a4M_f$*q@C*u3jO?^L59tjFj z({URIEf&saPSLw7IZZ6n+kf!yf(MGC38t#iYuh4;Q#)YVy@5xSmZQ284tsA*GB$gA zl{m>lrIHFhnJ%EozqpXY%IJ%p*4)7}l0EH6sslyQZ&^%nTr_^WHwc}f{UW@|7owm; zdg2k(8qO}w7P{@jjpW5*sAShXn;TO*1*l z2H6h>5sV0wdXip=#?SK-i*H2s3QVnUyrS99zC-Vf>si@9hg?jqiYePS&(x}s2fCRb z9tA*#Vzzywuh$^0*CHz}kTngR46YO=8t)dnb)=g%Xrt||_LLmD5|uR-GE8Y_96l4H zot_z~sVf3s;Kn-N=E+QwAkUDA^z18%K+(UQ)6ib8k;h(Z&{TaY>d4agS@hyL#tWd= zZx6suW9>nCQ9{UOV-LfV(0@}abycGY=?`WUR@)_$pz;4g1NGP2;mHBfAS~Vk+*#(rH zpt9;XzLbG{OD8?0`|CL)?G}2SH+e{02KPuGS0g{^a?8x!!_&~`7xTH3yS_U$mgn4D z-a8Pi@csMFW9zKQ!B5b0!2BK{%u180ltAA5?L=ijMY!2NF=5FpbIoi~o4;hIIBJcu zs%}8luE^L_VnH1yL3&H%x07S*m_#G#g1^@xzStp6f<7ZOa!+yA#@P2t=}Y~C*lyPO z9|LRx4b}FBJ29)%rY9g5$HQr^U@`roiS2q9PtX68=23pGK)%O#7hy5p>!b#cVPX0) zOvctHm7R}($+8+}RLO87H{O-hK1;{rUA1LP1QAj(Gcu4Y92OHraMU;u zcgXzTP<;Cs6391Kcu{;!MaJ4Ax_sEjs2UBDI6 zppzNd#w=|d)~~9K3h1a%?qw_JDwZ8REQOpgBTdNHu0A8lm?Fbrf$bKlFc;(81XSe} zVuFLP+w#{=E`PnQN~V3E;5%{v_*tCK)5Wv$`8XHW6fuaGSznK@Bj$IK*;!{zjA+E`|hL*FZ};a`^t?0(4L~2CkHjY-Ttz8k*4_Si;Ny z!`3y%XaX$T(T=fW+qP|6JGN)Ov29yBwr$(CZQFi(lb5`_(CabC#vq!_Hv)Wv8LY@M$hQW=2nX{M0VxX+l4zxragx^u&>= zWD&aYQcOyc|6Uzwij<_MNdT&>KDQ;WrXO`+Tl-Nz#M!2*E8(uODOGA48qabbIRsAd zf@B!_5a=hL(PxB3k1FUn3ImJXyRQFwZ%8W{D_Ez<#M5eX8dgk;fo~_myJFMiA(- zA!s$wd;x@OI%PGp98-?;iP(&W8ql6Q{`nE!s&|WCeG|!msSGGI<=W(_kDud3DHZC=+Koz}*?Bi7Tw{_IrO zUq@QkVxQ0l6hB%wCeeA&D2um(k5Y}M>eOX&TD>9 znpa)T^4#~pTJ@d$ar8mJn!997>pGY{; z@rNBb^Yv#6aV4b+@EAiTiO)KKs{HFazb4>XY3tMABGnQ?#7#O;xt#VZ$>qtw)}q5` z1I8b~Y=eXKE~G$-WBpaVXd-4(L+W%@LLRAp=vAg-QQ{rjc<8V;flrF%9NlSY`D0$5 z>swihaQDqf{UvOYVc2ql+aG9BxoQc=Zh`e$R`eMmajr4!UsejbU*mWY8iZkEB7G{i z{Bx45X*O~oZ=InhNUb3@Ley@9(TT7$DsaSLYt2e?t|)M%!ur^iCI2LtF?c-N$*KvBKRSQ{$wL9MU$0SV zANiA(B9WQXd!*5bi~e9&n8F5az&#tun@z0kO^teK-qUl!CDWZszBd9L-iNCOf#A{Q z_%uuRa3M@qZ?9csLfz2isHoMe8_jRKyRB!My{od*RVF;>JZ zgvu5maoFcMm4A6nx=@F$vG-l*4>52dooUouxm=w<7UxKk9GNNb(YT0(aN&9?gmC0r zWuRDvgNP}vPNnMzpK`kHuVKBps*I$kj>B#7-l)cFBUTR~aS&1-dcsXOzr_18Y> z&-ukwuG2cWo6SmtIOegOybZg1gxj#ur*GW(_v5Gd(YXSTPm5&_C&xWvICegBG`Fi3>Tuzk@9D^9X)9@h+R`>aM+C` zh??;K9K-}B4(D|H9L1U8_vpa3jFR@b_)0SH*5n)akKaMS7n?5J19&~mz#vrlsumki z&N=0kVe0Kuuv*NNiUdVw>{V3?VlmrWy_|IIT{#a33*_+djz#o?^XGR(CJhc44cLZs z@>}fv^XSkht8ya{ro%@wsYQ#L=e?DIvD??!8^oq?o80#=J_gUpQ++*CyvIW(;c6Q+ z&T6_P`Fpu)fPHS`S;Y6`agrTJ%ayEb0nq!_S@C z4OJq~EUix0BhJg7oM^dq_9@)~cN4ya*g^DMcJaflvGsf3Hb?Y1907&*(hS%NX6xp z@~}!hxyasQPO8fOa@5a%C6B^IO{>_ZmSs}w6RrERFy(B*ZGbbVrVNPrcGg9Hc_buz zHG93T^*Q|xf?pn>;;H;VpIfJ4a-OkP}B^yMG zul$o#+K8VK{WX4&=?4ws{aGqnu%e|`lA&Spb<`rZoD6@?Sl@!sZeZW)VTWLFaAcr| zTQ^tRwlT{%Ta2_znIrV3b16d*PI3vW_~C16MwN$OM`cf0k&B;$SUmd)gUj?0wo$tZ zs8e}h(~rmqNBRb@1Zk>Lk;RVv?gIgmag)!B?+4{sL5lF`ALA08xTPY(v%tV3&pPp3`Rj18Xz^6UE@{t9FVJa4Me0ectGm*`I57_NZ+S z>f7$pFXizyKPL0MPUN&W?CCat^!nCC)CK82e7==B*4o_IxX~%>!Y?z%;WB)xZA3n% zE!hNCCmGSi<{jOFuk|96YRITY_u0Ca7AL_^zaJgr`*Xm7WXJu zuLDtT26CCvyQE)9pDYXtbW0azM?7J#p4wjq4zK6111b;i{sf4gQv*Q1Ri%u@<7z~h zg8dZ7JXCgRRyPQZ4MuBKY7*OUYP&6=99LV7chP{b(V+-Z%grt^I;}U)GlZ!>JQ7|RT>E>6d*$VkN}$45cS-hT z=)`+5Nx?&r;0K{nCV!W0LvF7ER4HP=Z~sH=;`R4pE#ikdiy5T^ z{>Yp^k3OsUB4g&;$?JLkFB+aA;)BKNHCc;<<)Ip`gp(QudtDIH#ES!aUe^D*5emyC)i+tm9 z21XA3sgTHR4CI-}K5_X$GmDULZX9%v>FQP?UAkH%yYp&y^bZ$1)<8)#x9h5*k zW$3VJKi0fyorVN>>$6IYlwuae(z)F&n{4x3<=%-9U|yfuf4T@J(vxQ%@Qa%n`1W_{ zg`zZwD;u|cya42gBS|09gLUhEr0HA(qRX3(+pE-9kpa)+<99(#0FTG%YcLG@>T)DH zJ>DG7zmlP&cntzt*Uy~z4ZTntrPE#oR~+U!7xr(sy5Rct)wJ`J!Mg+*RlE;k)&=J) zdP(d-!Yg{p1AVoVm3?>{JW8PH+R#zVzGds8rW68jUi$+T%#-b4DPXKdNextKl{{9Y zfcQPN>((jRcc`Uzwdyu8s2xEZJ3G|=i2})FORElU&)5Z)BJB(kA z4d>#3_lwAy%N(A^zWTL;5uTSnN2{ndwml8bi}>KSr|g~!K*69idJM-pA`zfM*_yfw?5F+WpsJywKurkblknO)$@)p%Vh7( zzj&rO!zyBp)iHP#d(lxslaLnCBV!Z|*Oo9&DpFWnIQbV?92TS5W3bjlW>}V%x801c zPVdrL2ZpuzokpLW|4kOv5!!rUhsD^OvlpI$eKI7N1p9eP%?mgjq8YO@hG(<}ME|LT zAPo_n-3-@!TFSp1^4h2#cP&N0mb2=eZFx=SGQOj>31EtCoCx2fWhtfemvBs$c*SFV ztWUWJ*vj4~Y#LrN_2^88i&Gg6RuH^3)CV(_=s<_oUls8NSw}fOQFOVJVoe2K*?J_( zxm`G~zm6ncw%l}&xZwF7OImv82Wx8K8SPw|8|?5Re(lG0;Mu0LIzGN)57+cu#X#^` zBl8WV#?)o`dWC*HSG|}YgrhyzjAZ9Fr;wLEjghaqZpiE5ya8%VB5yjKXIGN>AG)a# z`IiWQ0rB|HOyAWK^)vGE7q{5 zxl3dt^okMbP4#JbgF`bw<075ym?RAsW~Pkf6&4zG9sUUJ(fgIBD;hAf#q7y5F*CUPZ0Dq2Z)gx&iO!UL+&ChV1-lbsNjnkl? zl?$Mvieq8m$*_{2kEl_qBS!-1Hs$o-C+aC?edE`fnJ^F&F_e%)5UWBkruyWl%b&kQ zq`%laE7sDMb^62OY$Cz#^-)OnG#!vAe??;+LrIQb>z2|=fgMP;*jlshN}1U!bLtI`dql zRnw)fo|3i6R9->47dNQV-gH&Q%UtxjhYuA(uWFBX-x8v5*$aB%Z4jh&ONcK_I3gPRw;hLNpy0Vs3zbftNQ_uG`p&vMz1mnyGcE+RA8#34`TtTL8C zQDvTF^6R`N_t#^2h{Vz!QFv1;_WiwQ6;O7Wo0XOxha8Y(N&*`h@@DD0q|BZW=2lnWn;J-FW;J-y)W~%+;)#Bjg#@njJV3Yx>^5x6U3E=Ja-(VA5DA&eJfW49Zb}ps2*B;KtKRW;cRarw>)8Wqw(j zQ1Ml-7Gt#DiyXv2TyZ0#{$s|aH5@LoFB^v&EKJAI_R4Q2YsSikxO4Q|RXcc4)LHGZ6uXKO+!D?UQIh=%_%%g*;sz)AFE?_PUEVwg`oI)> zbVzz)=G;M+-PiY)yhxf2e1P#j$CUY-t9*x#Ecv?1p25nid2m#)%yfOy18G8OZ*A1QzVY&iqj=*F@{U8U@_2IGomg*8cY0|$~ND1rf% zVyPi6IZjv03&@JcHbcpV&A=Q`YCFa-uj|{8O4af~?L&jm%GgFTbtOajiy7oh&HNNR z<~-kV8k|wfcg{PG=Iq4#5vaVr;jiD)-$WREkUDp@=$G(EB7E;uzPNmzAk`ng^+R}F ztv*`x9=I@)Z-MExBx;(V2DQV;FGl$22xb|;(=8>PO&8E3li+b09_^~uQjv*g(F!4r zAGE5fq@tw+JJsioWGnz;>s9eV#1pr^2h=| znf-!fh7d?_;^CLhIDHNM<3TmybvsUZc6s?3|2s>~u@{R#FI>;H6XbJOw|+JK(;cZ(07yKprk>ihDtGqeKc0h(5UY}81PSbA+Y4@NAN?Pm0rRKJ zG3Ar#bWZ2uJ2rQxBR`OCFS?I*yIjvZ8W*1htNFs=W6A?tYXDi$jhQ&h%^BLNBQT6n z1_Tms)kpH@5J9>R?GKp77OAfZ&yQ?Mu!4odI( zzth|;_a`|4p8<4lM!BN!-6W#DMoGACaZK#L!E(-8677R!6XJIfnza&kk?tam6We_D8!VKS+ z$|4Umwgw9vk5gX^=i0JSNRRNn3P3JM8R%OBr~UqhSC6Z6iIWk@%UbRq(GF)iF734# zTv4#o3|eIDI#z!`Ux?6~;uqXLP3U3D{vmtQO8peQ`_w2zHJ2JwB1qHlz;UCo2asXG1!FmiX1_0=AB`f9Qk3xk0IZ;Z1d#Ki#xR0;@ zd(^2A8mW=w25UZWu`V-Py7ULRyG(@yG%3zdAa(r}pk&Y+U|?0KQ09LrYzq={vx}$H ziq@toH6?i#f_u?0c3aUPPQ$i|HZYteg2}<7G=5~LrE(&px)T04dQ5FcqqJFx_99qe z#Uy|kM!O^S$dTYtn)rOSTv9IIlF-+qb-$G6nNvmcCi~MpuuxIcV{|`kkgPoXql)!y z|A9Ssj~)6%H{R^lezN)adi9~1*igz(i~?JD1P%j1SE|ESH&PmKoBKlV3;s1^&nMu=Og)NTX4T)T$xe|FOV`qyB)#djyFZgO7#ygH+D7RyL(zDQNzf=V=H{y>Uvxa6L% zTJ8PY{hs>G3;yT)f&9Lm@8+MMq)y(lT>WU^?oMLM>YW&UzfDh1C;t;UN^VbXg1y93 zKanqQc@IPbRG)B)tnBoDIeppNpo0rg!TPC8*O=Hq z9)z`dOwfjkF~?@zt;3s(1oAPC1u0{2ZCj4Syp#x!bTC*eH{Q*1n200jFSm^rftmoO zo0sfLaLlwvY;x1(W1eRbaD4RVjzdjvtUP@CQpj%%ZtC>@Kztx?-A}&eMYGB-J@&gU zvZ}RP4JM#x0C*T0ciKS{v-M|uKoZVP&b#gQx@nEfHuGoI!y5+MST)nM5^H9^ROM>8 zihg`Ptln0AV?X~n;ZrAvKI)`LW0`dae&`FXD%7Huibqq%p01Bg?LOCc@Wz-j7sgHXtrLRH^X4Jni66~sp zzL(|CNE80tdiwl>A9+ngMY?Rl%>9-#%`XL79 z8aDDzBv!<@;;#FHRWk#(%-uv3?7S%~@o=)*iU?<=Ivnzq`K+nW&Fbp;Gvzo{F30`p zrA5=JJ>JNQ8a%4aCvG&;qu*slld0an3lwYk<#M(BBK^-V@IxC-*O`!`i36MG3L9|E z&wPDQ^EUnDV<(*lx=(q*%8S$WKQs*cDmux>I{V-rRoC@a8HrRK&6L$P!qzWb^aA)s z0mv^z3{v)g&w!hc6e&WvPcVcOVRrDQ48ik)on#(z6?-+RMdTiG8LpvZ2Xb2=?~)ve ziuKllawFx6Y4CQ>tD-w@&1RvTdV9s02L*G%8|(LS^P5b0HK%n=v;|02ojW$(VlVeRM-= zvJ;)4H5#r7kMljF`$dmx+N?ck}b(JsuY4O~^fL(Os$s z$0I41Z!^((@P?JD4y3Yn)zAR87;p5Ux*Hm$(WgYS!UZLT3t}jez#HN+1nOdGX@#{& z0V1z2y5XBVsD&&0H%Cy-E#^S{>7om=OJgJSe`1_jayRrZx-HCIZtGKTBDtLN;)Z%x zo|_0r;V@QQy3qlRb|@I6K{=m~2Lf`WiMxEXef^R&C=-xgunvr*{ExzIhw(7pHc6lBaD;g)cO`i#HyJRoUc zTca*|%Q;IKXQZv>rFa~fc&5q!_MSdQT;yd)yh2o8X!2amxb*y#gZDbY`H895vrN5# z9M^5|(4M8gg%tW`gaB}*FjE9Ble6g{*uE5rv3u@vOj+bADO-QHxop+N|Hsy#{2u z75SfsuoSN}_E;=0irM6L@mlaRy+7cOl$&ppL$VaHim>oY>xST|ZuyLGW z*H&|(lvH@RQeZC`I@RaB-YBDMQE%~t(d#g{TKQ>nwDE$_0v=wr++&FiWlhZgD=t*x zM&c$;ehXZ11o+L`M=HMZN@_lJqpA6Px$(WKn$x4}HTd4M$zVYNu!e+#BC!6tTY5se7x8QFZ8+e}dF0hvshgZebx$PdF!uUzG zSLBV6)-!&0Al)~J(3-?w7RT3ZL9oF3HHke>%|!#n7YHPYb_HTnOL#=$x;+obZlP_A zq$Y#MdaPvLq-e5k`+u&iq~66YE!P_Sdf`=hi_y?=k&`{VM|G7uA~f)~vxsG?qQkY5 z*B^p@t|8B!b#{co$3?p5?&fGS7#PzDgkTZAki^tKy7Hpm7+Lh@WCHF@bL*|dt7RDXGu0atC;ldCi!!xQF|(D_nQFgNYeY-f#Dx&-%Heh{;KrAxHCf>>{aPDNhHQRi9nkZ`0<2R zLcM_;VXIaW`Bev(EZ2G_P6c?+<0AL<-a#-XX4uwLMuAQ2Z!xrJq97oY-Fi4}wk>gt z+oh@>y)HmZyg-k(=JBYl`NuB7v!ji|nEqIQR!X{WH^6(M7%w6V&kp?!Dwc@(Lnfcf zU;dj=^IGlDSGzA*S83c;$}bVm#0T-aL#G*s&|=2w5ok)gC7LVt0v3V4VJ&yT+@$Rw zYB%t}`?$c2E8y{4a4StfqbBuciHi%xf7EAO*926lxHucrrMyW{zrqI2d#D6wV7qz=D>@~%Bc zq8N|5Y)r43u*h8Zw;gS6PRgXR3@QjDNo(*8rgh*Hc>7`~X0Q*fai=zDE(TBErX~tYe>VO|LPpRGs``G>9+pO06y60+z4b0-lqB z?RrS$3DA?s(h_Cq=wF{-d+o_t{O4+Wg2O;pjvQOQN3%9( zonhXfybv~`nejc<(C$s1}2$wL?U^hT;@z*^r zrzygk6_3Iz!mHcv5RXGsaoaE>_R+B{gCBe8plA7IfsUt<)ez6WZmcBsv@V=F#$dNb zZgFDbV+GJNA=@`3i6U!&aMeH-6_kPDJ-}n2j|g@Iq1|&u|9vkOLEo#uhsEJ!#L00u zIrK!pTa)@WHTysE#XRvoz`JqDSnXiRLsum}*&b1c3sNl}cGuhmN@^tYj%g@alKK_@ zfeBMC7p0UsT z6`a&as!Dbwc1vAnb+W$IP#!0RQz8_8QYIHp%jx928)-s*&&Yiky*r;lFeNZiF?Wwo zPJ2yxX1Uh87P!{b^tH^o5>b;{0hV{Z5_;x(27c6PGv71E zI2|2Rjy4k?1g6P3^^UYh4cdmaT>)wUMZnEw`Q}zzRhziu&e)gZ^^W5V#HGI{2m+WU zh$jdH$Vhuy$JUCCXN%5O{#J~WXT?TYC-(!}F>k_)Om?O##m!VF!UNw7_lmdS%i5Oh zg^%mYM+g75x9f}TL&k&cSP$>d_Gi@_H#E&J%3od3@F>p|l{A^EZn>rRJ)b#$oXqB8 z@&iTj(Y|mdA&yb50thI}c;DAth6p`+nsVW;4?@YYN3KW)c= z;`&w)!+*R5fLWYBl{FR?dlpK_KV_JD+wN1r;L%b-u3`ZhxRf*>|R^DZAgRnzg6ABf6MLbWkDRF#4E$$tqG@6tB z04inZ7Y&eR(x!L*<)?-6CX91~(5p>vQ`ClbFolm3MQ@9=_I^}endS>GHY6hR|4v?K ziWSG}eZ0`(Bb$$<=FT*FL6Csz+b>q$(l?SIQSUl%+y8F-ZWlzCA{z61Rg%P#B*!E{ z9)F6bnT@L#T$%orv>AOEfBi`>iYoLbxNSy=M8+#Yc_uk7L9Zm|k;upJ{hr`c7@z{u zi~+>U0co!K%cc~(Qb{-jcm_*Q3`Epw%v=eg3Rk)sqJ2jIYm{SNVmOh^fjCV70Fq^Z zggUx#2&fOiA=?<`ALTvdtM}&tHaf-x%DfmOH)eH@lTs08Q>1N6#Ub}C;+hwFj>{R1 zJtSI_^pTfKUFQdAv<8XF8rUhlJt}^3wqXQ@0y;3l+qnqN=CU1PVc!Yf#_RY2=w3;Pi0uSixBg1=^;yv5QOye)2vKeA|Ye%>miUuFVT@IdwRM_RRFj@s>&Q?`}_^@q4Lk#B*;B9)r3sbn|1frGX6iGz-lw|-~It4ADbX+J+e|DTL)POk}RM-~VOOb!Uh7YGW- z%-O@k+C5O&aw3y$bhehYHZt63CU3Uc zXtt5H{?CxfQwP|-+4j||+TQYhHdrZJsu-8mm4SuCI5ivf2PXV_al(Dqd;7sRH1sw0 z_w%dr)wTEWt4QUNAf+RsdL9V=8Fk|)02>AdNmeg5d*A#19&P8JrQe(cFxNBILV$qy zzwasg*zJ_tWC0G(Wgx-8(tnJEU+{Mk;@xDfrmTHh+we2q@ja0T$=;cmK}+!UZg=sq zOMgHU(waig5YXYkNOqyYi~}ey+)IrBhWek%q^q&nM-bNd@iskEzN7dt2R-XP0ug_K z{fz(zm)`?rKZB{?V@qT~H2>Uf_Gm<|_?hVX2EpBejxEaue$DS*)cG@$`Wp=Mb#u9Q z_%L+hJ6_NC@|fbET;tVMW~RSi;ezksL(X6F#-LI1=NK~n?)sml%b!5Q?(7+^7dT>X zZ*QaA-onfkg?{#wsc@cPb{~R0(JchB6A+20cHAp)))1PQ0G_Pqj-%e`Ry zz~2iQrZVbJPqL3s_M)^U5MUJhFpL+N(ioW8r`ULz7}!~-*cezIk59lZAYkE4pdes^ z19iK%0S>hajEdga7sEY@u#+z{GDN74PYsC3(ZjOMgb`m&{xk}E;y>)&-Q8t9d}u)! zUkfMmAP@+gDv7@M9 zaVK$MF{4l|q4@?v&o0>e^p1c)^?%uu{A14(`03phXyrFBj)x@P+1dHj^D)~I-XYxK z+lj*GyO~)Klnkrm!J+r`7TgM}?z95>Iv}tcg!59_ZpY(K^R9rqP}m|M1cW}9OI z@t@`Dh3#2dT3O-XT;Jf?)YI$j6ABO&4GA5UkdBazijAFBP)<<&rlGH^XJK#S;0M{= zGt4(JDK0U$D6g=ttf9NJbF6o6Y-w?GZ}0HxdmHdCJ&|??3dF}lFHq}3%v>f0R#3en!b;|ioT`3sXpQ^ zgZ>u&AW$HvFbFfq0muTdGKeFP4p0#g>Gz5_?vNZOtze;zo5-wR9;?ta+~RPQTU^F( zHmH8Ac7H~7V!6C%j4NW{D?W)|LPNRa)Q}H5<3sg=ceRCH!1sG&n3agZG@F~za?F^M z^T<%B0JN==Be_$gk7mJQjc$}7?ELRIm{>+bL+me-M(fG!5nR45`>$e}5ro;bm>;|x$CLK@?eDzONZ)2W z@gEtll5F!0{ia$*v-UM)#D@~$zglV|kTl2ksGj#jSVG+0n(BRtscLtzk*nAYXEZ-~ zCfD{&GaZF{n$#%{>!4z#%42Y_+%y63z_Vfuk}wbuRf>$zaPc8fWA^Q=x5`wvq~Of! zq;!*wm?{t)ICV^)S-OK)X-ulyi_k{5U!*=Aviu2Qy(5D@{#3M{W<2jZk3GGPtJNyet{JbqIZ^H0CbI20zWX--k1F ztzGZYzqQ7FeZF^{DdYDL`BT4A;JnJre!ph@&AM@yO(jgm{S)BKy*%vk_~TRAE6}^M zBM^3tJ+M`KT{=1A46EuXf)+%9)-tuZ_+f(19P&?}-fJ0lS#1VW^+XOu5~I5!tGkIt7Wg!T%aL>8eA8h{K5fNU0Pc3B)vscm7@LA5|JSaU_U z^cS;Dm7G5dlOQAZPOy6wbo^6Y zQn7~byxSR9ICho-@LATA6KFmr)}WyG z)=(k{myP|eHwR0LDb@`t`Bqm6B+F_oUrqXxz~%WetMJoxSf`xWqeB&`3z;E)~>U8 zUHKx?+}h7C`c-rA{?p<*-0W$z2eP$}0@j7hVlkoCSUB1;K`KRU%Y>f8s*YgU`7Pb| zSUz33Ajoh(WB%e-)6!mE=(-%XT>gCos-ts9oyJ^uoni>R<>@D8l|U-r?(B$!>2I4J z=PYVD#Px7>SuYQ2SN4Dwtl)a@fVOJ~)WNmwND_OBp1y}V8 zpJXQ6pk{o*ROLnoJPv&jU3HdR6P@|R3h*4CdY~g_xuQ6Kfwfhj1$IBF22~eaa4^8@ zJeBb&sw+{1q=_ojmg~WGyrL&qLOEJWeCp#KN>$Czq*db~iLVXu_o=q~c4tj*lD#zt zLBV#TWh2mRhE6=qL!5n3?WB27vT{08&yjXx%t_E1|AG-c-3O18XCA(mOz83hJ|J=L z_#&$FIEB$v9}4vk76_GYAvm1E2}s0&G{d%`Y>ZZYdb95)OVgi;LNmd_Le!>TF(OHd z>KD25C6m@EWiM!y{$yL@Cu!JUGxQ(Kbrqy3Eq|EJDw@nUC_w4}zpRa9mKuAh&a8Z? zQ6!hou8z{FST~w2+(61LiS+pWCM178z0d9mqS04&WM3#tB`QBsO<8g(`lU(d$VA>( zKfX9`nhT!TeE*?62*$5h9y`G)>2?;dw@o*Uta!7aP^e;(U4w<^hJa)M<@b4H6B%o$mhWV;2YG}1K%~fAZV_~bhVb4RPTX?@@ z_9`l`!gswHXD{{zz+#ac(u!bw4ky1xY$C^vp+-SfP3ld%A0ST?$I78XSk>vZNW&UA zn?AW%J^kQi1x&f&6cJcuCUW?=lIsQD?&IA9B!W{HGcP~>yvSX^HK#rp?Fnl43o9wj z_X*Zd@xI3XT{N{8THk_hS+Q~s^udj0lTF&$IJeql--WJI4=tEG01yd`9R|ZY3*N!(fr9olS^76WCNCl%!uNf>#LUv&c@MWd7Kwd`ORsw~Q zOV&vg1>l8rChB??e*WupQV>m`#7$~pqL|O@?2*HSmqnGNd(+$M!yVk9Z?mor^t}}C z@S&%7U#!@gl(ATD(5$TUtA`S>kU)Eb6SpdC`qjKoWV*45Bi$!yYAP(-z}P~Bof*5A z;b8N!F>v8|^tR%8{yzweH`k?gel*?@-a8a70)_?5qvapkx-vx<(Me?U{I$k?J*ujVPaP z63Bw2gz9ehI*pmB{*)E8c`BBm^Z1iL>s_Lo>i3uyVkUB4tHrY)pG}-i)EVn+3%cJC z2*08Axuo||HtXLZm(1cARFc=~n<6tEn5#h@S+T-9W0J#UQvKirRD#~LQWQ$eAckT& z-9bi>vV(Dh957Jpf&qs(J8k+@ARcv*@MNO1#sn#eG>hg`WMB_NTc3D>*@0A&aQqun z$vrLLp5Dw7J;6HX#S5a~Y4n!^J=4l!SME)Xb^yg-T4oW2MDrnZu>P+5do+Q+L`yhQ zc~CS-@I{?k2o3m%?S38clC=(7WuT<>Vmr3J8fF`@g@7l~i-#K)5scAb_Gc$b-5{il zdvj68gMm>aY~AX=p2&~K`Ckwa9G9xalr@HQC5ah%Cjm0DiS)VDigCpn8{Tx0C%kA& zJIlPd{3ZU}t?%+GgK9)cp=)*b@7rH5<$3{?Fa`s>cAy=Bhfi0suyZVfyeC^6&b4P> zBxj$(S`f~u<(2M!I0cA9y-)VNzjk{76RKNCj7FK0#t&{=-@t5J#x^#NEq@|vU1+(w zSXl+Jli~yYbK@HrBu#3@+oh5j1M;sPd&sf(mfIEwnsDGJ$SO?sf9?zf51(9HU)e7q zsLG%gv5m;78l}Fv@Az8iLk*ikg03JCSLjGTurLS$Ko=Iz*4;mmnNPeV9J1W@WlIuD1+lorvn5VEBoS9G|zE`ea0 zZ2BB8*?{=7p~%f(o_ zV+N{f{Zg)fmLvx3=1^m%6$?~FAwjr`BV!C|&h+9A5E8Q@+#1t`k6^X>h;WsTOF0+- z)YJm70*p$Zi3IGvoRFEj(lUsP*IRlb@+aLbPCE*gj$DldvW$4Nx)E5RV}@Q7_nH&h z%2wA_hISZ1!nZmoj&NA5-aSrsp~KKzSXP!n2u4E@tO1cR@YD}((D}QAS^|i2VUu=jawm&vQUArxsp{ zrI*>iW&CeA*>ou1M>*DJX8*FEeXhBm zxly3GQQn7*FLITo$Hbc7P_b+yYUF;sO9tmsRVM7KW*W*t<}TA51D%70A@>iv*~>uj zmXm?2PNRK7T=4KQInX6?i>cl6l00$_y5$f`u@o9hI%*(slaelWXg=BSywLJih_W1R z30ncWfo(y)+<(lD-R|(Bw0!6{eSY^T4*PXK? z9hI4r3jB5nEKUtD_GSo0wshpcmhIaDR}{LD3_|svY(hlAFlqkLog6!hHiHlW-a&3< z5cv1F#reeX*lDnB+zt2(R9Fz-{k^rm1!83@8l$=r;&A0@ZkQ#Fdu#_ET(oh4JVD9r z06CZo#Oib77FPGoD~PfPdWX3j~&fpL1=kx?m6sDu7*ly5h+3sB~UO8xw z9#Z9zJ>?VRSM_uE#W6ny*QiaY;3p@(b%+L!2(nxd-L`wv3(Z9W=vd+$kkf+TTw-Q7 z*Q0CkIe0DD6?#bu?u(CGbf+gZ9uQ}E2)mMEAQ>%42=WAqWvk4<;<@mWNMov&=mi$8 zr^W%M&LGKcVuu&>i4wQLy)c^ufh=kA3tLE>-1tzK_ESs!S-j}iYtn%T()pHykV&ys z?lFR#-%|)b!Lwo>lIg;&wIf$64#k?MUs7T$WgZ2zn^w9Zmb_gtOoqBDWU-MYL&~gN z>~+Pn`W8&?6A~L9R~PjcC`FNDx0?5kXpf+s9|@&pmz9bfXl)(1&$N#j)}FjD&q;xH zvUM&CSi<4(ZZI46GNIR>;0+wc)hvF`hP-^$7YFU7XR~{3ywCPdh zwLg#OIhmi<$5Yq*BbfR?F2DbrlL)I@b)^7d zMJk#>8{0bFl6-QUEYs?)9n${6^$yk|?-)}&!zk(H3j zj$frlhy;Dco17mt*^C^3Q;0L!G>haABw7fPG!x5AC9MOl4TmR(UI0I?8Hj4J1 zQ}_O4=}ed{8R6g)pFjIIOfL{8c=y@m6uQT$$ zU#ecr(Zvug&WhEITiD#!P|&dN)HMDjF-aRUrn@^->43#ElaW}4QwIY@!0^v~6erkl ziTy3k@s2l=K2nYz@~#-7#YP^MghfM)QL$b+MCRl&_#<@eZ8KGL@N2_H>tAJ8IN0N} z;Y%aBHakDBaiAli8Q?Y9YMLsvTC8-1T7acOp<5OZupN6xKaT;%?sH37^T2L8&K8H8 z1j~Ni+qzyLFp8KTMEPY}JNvJFOB66y3XM;R(TaLlh4b1;vhIJdUT4vP+bgdA#cVlt zz45nk>-oT8j!2E!7sMDkigqD>+! zCkz()Kg69=uP8y6hPQ3owr$(Ct+Q?0wr$(Cakg#Snls-dlguxeO8TNI>5HzaRI1ln z@AJ-i;K)<5I-(zz$C6P?|=sMz-A{;u%=@A;q)fb6Sgca{lF|y>vaU-OhCt zK9>oZ+JG&{kv#Q2qo&0^k5@N(gQm(x+ae9;y3=xp!^=^?(k`V=5TreY;7Z1#()sS? z(T%M;TPT_EIje6s7M-h9WEE~pBJR2NUb$l!QbxYzeINp}uZ6h@LAaGD9Lv=N;^fSs zxtgZ_d1|j2BvMuRpAHj>{ zQT|o8z;rWKnmaO5WXT>?(qTg5-Jl&*ReqXNZm!n%gHlY`a`Rmy1b>mgVbE+^R4A7D zOYV%Az<>|(0gln(Y=eQo`2-Q-EtXAK(m8*_lL3d@Ky0Yb=u~p!8jFj+ zXK;koO2TX*6Gu+5I_AGe9KObXkgE)fORF&spvakquC8!|j(Tsg`fHj5+ro5+j9>`N z(8rm@-&9nH`(A0h8!u!tYpl6$DyY35){}(p^fk=^8I`}c9-#fvj~=17>*!|2@pbHU zT4h>dYh>LBGwDSX-^{4zTzImG0g;AGO@5Bn0wV9l=yXw)r&byS$AAaO1ZmGTh> z)dqJH$UB)iZ8;LRYsB%=esjPwk!$i;@C*yz z>1ZilK)qUN!{<2cK>$69Wn+^6GnOf%R=mTEF{hTSV^!!grPc&}T2CO5V>!Pel+j1b8aw9CyJfMWf2nyK|^U z9BCQcTSn-z!@rEQC@{e$cU7YwxgB<7J{^c{2%92SyQVie*>XDt&3nv#B9^c*;YGwE zwxK4R_l6N-F#-wQ|Egd%qRlIFL%J(pkC<5xv7<%Rozm=S{A`xw4&{>`C9On4y`{sO*oi z_&m(Q-;qYA%~%+`g#cMs?l^aS1X_JASVjK$Wj;swVf8Z@kI1+r4k+IWr#JOt@X^+I zfN+-3Y@hHyQD$p>kSjP$;T$D*1!#X#Z7^cDqJlfcb8EP^g+3X+p^g$ytrdk2@Bvix ze)KkhH`XarsrBmo^z6HrDu9yN$;j{T0Z>k!49u zQV_!WSSpK*2}7k@0@7y^9Z6sSk*EdbCHG!5b1mGMd_F!=+x|?pHOmO*CYy-&Ku70Q z%_3+BdG$C-mv0?DTv=-;&m$imkDTnsMtzGPK|_(#NJl{q2mq6%FV`<#KiW*J_(&pf zQMG8y?TuGN#ZBPo6W~?Io3dB`!Lip*hmwk$9lT9_%<9ej-9ZnodDrw;r4?{i0a~IS zx>jb`{%4lA0K*9-4WWh&8ZL8*X;E~w9mT`AQCd70{uebzd$bnRm$AssWxlLOORRMz z@w9E2`x5Y$!=-Vj_>65WOd!FF$%KyLQ6nkHYSU`RPF`^6_139r-2hrrutyIF3qjlX zuH&YbuSE?_o8iu*c|ew4_|_Ui??%HPDBTo78&_!6%$3ZxT!c4PdIy}y!*H2OF?c(C|XYYwO$ZIY9KYU0Bt{6J)ZFyK3uA|RR3Wy`==J|x`gs} z!)HG~iMVmFin#$iBqRMs6Zd!j>*fh=z4m;F}^a%fn6`@Q}~)am@I?L{?9xy}Gk>K9jO|6tcqH za$CL%`1dwVO|HCMSD9QY_TF_8y&(A(Yg^BLn3P*tZ=!lI^QxxEObkHYT$#-|gYr!+ zk>V(f-fsaYmXPs`G#kgOEUp#^{T0X5EBrQFIok~UUN@6<&rZJbQ|J!mn3=IMvYS_! z7V z+kyUt0+w%$Kq5|)taEW7`p-a#P!pNDb@^dEM8b$c*@$)0DS(qU1UK1R4&8lR>EY6a z2K~$>`#|0lGkF8AH@O7%Vsl|+{F**pTi;L5aLH6!!lqF6Nag4gv2`2|lgZ7Tmz9n2 zUVALCIkW|RtC1`ILI2!R^7Bej|IXl83l8e|dRGxILGm@#0SYjp55B?@*3FWb*1v@{ z9||f-?0I%N(6$NvA~~B}#kobX0RupRXGaRT;6rnR7a0nnbO~sS1;FP>v1^#YHAOuc zXn$Jk>rdCEEdkox%d6XD)9?wG$aXY=1pa#SvjqlrsWIN zJrYuex_L$BtEeO9F{Z{sdS+S>02|@$_I-GsZMFFs83|gmOq?g81A2Q44udb^?&Obj z9*fwjX-!G{eMVSWgVTpqM!hEy<%-MTg-1F@BT>j4Y4FvqDLdc|K(@MR zmaI#jb(6*l1yME-wPfMnV_AXUx3I!mooO%~VE+{y0Gb0ZDI+JyzPzq%k0taE90av* zb8`QgLF^4HX3~AAMjo#A0O$xQGop5x`J{*(f&>(b%COC?+|+9dt%iY=>E>a95co~UP@`Xg7J{I;&vfT|T0 zxlGdUG<9$3Ad`OX@IL6UIhpQ8%oFfpoc3vNOqhVzjDf>4^GQr^V+ru8jWZfpGR{}g zd*{($Qy-cEH!A4oD?J7-5bo33#2cy9sboXsqe`H361q64kuAS3agA(MAAyTDpLetE^b8;v*$hJI+!VUeHhJ62Qm zeJEalq~0c*)<5KNk}TLnnGt4vi#Jt!gcMbS-q1Bx>L!e=J-SgHCW!fQN}DBchDVUp zp1*BIPT}0h+aoN+mHgw3r0um^5Bwv7+s5Q!XoxzRA{_cmCl`I#Tuev|U(#s`T-=E| zu}Ww$uQ3fPwy>x-XXo4;e%KA&gVht3`_~S6De!C3o8>#AMlN_S-C0;GsSelJBkx2_ z!$YVs)7yJAS)2%lUih5OI=Cd0sA$mN=|I{Bhp`C|VRkB&m#yzGQ0;i5$isknl1HDx zE}qXaFDFd>s@*v`KzCR|X+??yi0iCQ^u=SULUXA48G4aa+v?>%aWoQ)> z&$fC=TMw31;69!tRnsA8>tqxJf^cTUB!}$t(>ITXyxl9~PMZLl_cL;@kVj=;g)81I z7vo^zJ!;CKB@ER{X3En3Qj*qY@ZhDm4j10*QlT+;dZDBx?_Eom@wEHJ-yS(DLl2$n zug7Nq40}1MeaX88emQ~DECUpY97S)7;4(o-OO%80G;S<5)cG>ezu-jTmvJ(x;%8>< z=Ghs;ZKbIuK>b?2Gk?Upp_1npjCfS0?nGqsrSP`ZPZkUG;fAZ?Qo46~9@g!ZK}L~W z9_p4c>4?=_LwPteT^nwM~@L2?rUP?mC6Hg__m&zL6~#qTJNEKqr= zI{LB5UUk}PHX_10RS*gx-2tCKGwwU0B@A~AkOP)LE=a@^OGzML@f)$o zuA2AIJtj_>P;^y&gGFOPVh6Kv<=Nop6wuBC9eLtEcq}}`M9R9n183#jvdL|9iWl^0 zy0%$idOp2rT+2sv@~>Hdl@OZ9dzsuKpLooX7e-5`t{nK`<*c{u(yNwva3E-IoWzHX zq60I(_m44HcpSqi&|zCZseF;?hymi#L`DXrs$<3xFU(6#W*$JR(V5%NF~V6ZbQme# zgQ3Fz2}w)o(?E$h+q~`_d3i>2=vk

i4ckcz3>xAl2FxOuKWd=xuaoZE;#@sz8M z`sf+>@l5?^gc0$iAwxMQ#PY5uy%7zhOooboEM-2^u!V7! z`7A;rm851X39=+V+F6D`@(A>LUt91=7FlSmfJ(^!%3zB~lgw#dER)+pe-h(65EEd(1{9K+;2yPf>J?6MALvHW$>C_i3) zbiKQb8{@!39f+So+TJ}2qj7*Ro62^-Hs}VtqX6)Y)LwK=26j<&Tm)WUbjlwG1D<)4 z(+h1v@YlbHDC;C7eq5yR6~SekPLjJ7OuWZN%1u^=GXIn!B4F)WbVZ;k@vERu#2qz;sChR($Xo96* z8T6-R(m`%G7VXQ!1(Zm*EFH5XpuXi9?j%d==@xvi%pMZKPX(O{T!UUa=B!kDy>@)k z>Q}5UNC_dBX2H@l8dA?^ZCq!sai;!74_UQ%l{YTV*uwRT-YfY{nPL>d&J1zi1_1vW z@5uwyw6#jeOY>iRQ&;|?4W&&#FCoEh?{r?wqrPSD1MepakBM{7;4}|fG+ykf`LbN2 zXfvR9Tvqan`*T(CR5>tA^nm+E6B~;7zK-yv(8QR|f*3lVYu;iz``E?~33@Sbg1aS+ z9b-47Iirl;#vJQBDP58krBn@&m-smsBmgQM(@~j0={yg*Dkk78mH{1ljZJ_+{`V5KT%4At_>Km2ve`=k;+(04yp=Fmw8x7_)6d zS6A_Mn3&H~6Wcn+7qBT?HX<|}LKV3BtZROcCB(V}s05C7aa~_JS zr*Lrc;hrO&t?)=RV5r0bl=NA5wZzOf^lMq!jfDq0;*Wt_kxS>R)7PU#WiXn#%BJ<+ zUptyQeqQXQsf4Wxh5j7`3Lze}YMa6a%YQhuAK$g59b01rrfvqGi_D{N31vOoY0D;> zAWDaJuwCh!IUR8}hK=rzIkE<=&osdx}1q+v)G{4|UHFVyMix;-L?EACMm8 z_i-Q~3t#sZ9TlQN4=jh1`^fw2it!TRC!uw#&t0VkY^I7wl3C<#yiQUnE+jK!xl{9= zznn}&u>+O8xI5BjgGfoF&7sUuDW_irQ9HzoHZ0CRaGj@%Lo*@w4Md;GuJh))k>8w!*83`|A zu8v|RiXdsS3_24xdhl5|&Mc0KC?JxD5Le8W^Xlv|inXrWb6uGGs)5~wbN7L=%L&wf z(1N>q(MQi*R!GWDWc4yJCyNg#DWQ6gy(dmZ($9pV_+9mx%SSOgek>w2W0aF&bI|p* z+#*L9k@D@ADow5gCOK4IXm6mtChX-J8dx+>^?_gFAb5DFLm%=S5xHRiBvC_2f3qUd zgB0DG0UJ^A&!-tyY$4WMrCl_!8N8WHL`L(Dz78HyXk?d>L|C{MpO#jz0Y z<5jbCi1lk}$z9Xsgrfyu_NL>gqWUy3j8}@{6=TpvB%FzmpE|5Zy<~MSV+`EdY{!|R zePQA3a-;d?s=c?P2kOdI+_h6J`9|Aq1TTFj);ATeo!c&|XQ!0fIU4Ft8W>c7@UmOCLBnQn%cCnloap%I( zwnbI|a>b6pmWx|?$vDnQFlS>GQthapp2^G4t6(?z4LJ}4$E)|^E2eN^u<#A9+&&eb zBRR@ga8QWwjzW?s^XpiN)}w7;OGOM1hfbq6&1J~9c2vt*Xr6_#i!Y{0$=54Tlr{z6 zJNMsm|Kr{|xT`L@eK%~WTn@4fD+M`6E(3+8+*v3we->Q`j7C&#K?YrHGBW&8coS?W zoB*~46RIt%0{N_GsJwGR1f!2oPKZur(a9CKtSHA#b@SNL4D0MdrA|mYvDo zTCqx^cFv$f^?`fF$Xi~1@UcU8x5(iA8?M=n)`ycqf~&;_(*e_hNBZ12OGzITDx2nO z?)Fx16Qzyx8P01KyR84UPCs4RS}D|*3`{07E-Laq^TJplTdHm_8Zy4(97@&hoU3zF0{fy)a+YK2x>M>Ns&XLpU%Pcjw zmP{ZKxK15s!0xp2<9%TE&jjPM6DnC%((>NmRN(h^|CG=fhtzeYIn0jh>0_p_E>-8p zk*lR!?_0|>KlK+!L@U4PeF2#MfFjBsw&;AzpBc>1`6t)u15D9Fy!M#MD2Y6yFf_*v zWg4Hs57r`1G#2Z$p<%$jTWlwJli{`QDQMQhny~H&h~9px5ETsmi^IpeEk%Gw+Cj6X z4pOZqkFQ-^w5OT-di8DZPW;DbF_31X`{de)lu{=RBhEWN;TY&jq^@)@q_H#R(1S}i zKS8T%K2cXlqdJ~}Y_OWLXR=c&$&fW9qvJwW7fF=Rxmtr~bmeRl^>jLCv#xXKV^VPs zRJk+vLPwa{o$fP>#_Rd3CTV1Gjn7Px?@Kd{aBB&J z670p^hT1dv+s+okd4+M|a=_`5vZ=-$3}?t~5wNj2A9xpf@CrN6>}pyBrHZ4tXH6&@ z9hI@=a|YJI-A_Wc_2xR&KU7QiC`=z{W$eE%pcSkird((jm&0n0@_G=*B(!YyqR=M| zX&L7OSA!`dZbiciBEsf%yFOZVw*3pTIahJ-#$A9K>(rCWiau5}S% z)h z_6R@s@jS+)otG8He)XeJN%y|S#sBIs$SZjXBlzT>XZobk4)q-7J^hZ`jA3a@l9n=| z8!mjm4)o&DE9z&pti8X1ZaY;@rQ@`_0s+>Cr}|XH_R^m>cK1-Dvv?gUn?5P!goZZ7 z{w7(aU$<~cZ=YEi0YX8$Te65#Crn}{oV%$Yg8~mfW20AyJr3JZg+D96Z{+V(Z^1t9 z;OriF=oCO7xw8a^q=1o;-POC2HQeg7o39Du}e+_T#wg5AeyKD9VZVtkRi{=eE7+ zk@YeBWm6%d3_UWn&u4k+s#1iXCB-m|VyI$?IDDEPE@bbPyo0EBpj57f$zs1SXlwFV zTzW9l>1z8-xd9GXLu1h(RK(-`dAWac;%po9LVf^00SLr^kgD zj$)l9Z;zwAs#@s_Vf<@<)oIB9#xQh$CT`p;bZIQdEPfQI~@_FnE_b_7x_bS(9AOK5h|FP`rvN^0Yv z(*^F|&MX*h{GD?oQY5RfQFT05>Wb-<7(y5?pL?4NR{UzJ5%s7h%N;Sl`|Ja8cu?j1 z3}+HMZ$b{FAPoIS0lA+Xka#$~JF-ZtHb^DOb_E(r2mPL0`jg`hIxfar-a0f7-u(x* z@)a_U!g`sGF1vBp)Cv2CMMsax^kGh%%0oql@pHHdQnNN4{&fNM0wl#~YD6+0vva*)sIo3toV1g{o>OeRU|y|3Dx* z4)zbV%MATkR1Be~u*vS!&47OjMigk=5@TU?_WRrI`*iV+Hug;AD660O@gOEZz9ap@ zA^2yR4n)x@_dzsjXoM7TCSyFi87Eki^^fbN2EjCCbsm)1%|gZgjE67cgl?Yq=H&wC zUer$H%ma!Q>+JD5L&0Kco&M%r1VF#Vv3}&uEEa^QwK69?Ku4oAraMDDhh$qqKR*SC88xxh!dq~Wc40JMI=biF6~Ldf z8>Piz_?9F~IvVH&Il6_}l(y{ov=PzxQQkjPzU>)Y-JlF5KZW|nP7s#X^`NP&thuF# z#FZ~vA?YGZ!xqDz6T8+5tUKQz-&);#j?$vnAGTmt`5p#UdU!|`83In+hbLbC0x?rs ztKez=qQoPR9P45?D}~8`Wh@hms$14L|NcCj&^;4?9i>i-NBA)MknQPT*RwPb^qLIt zYAHS~f0kDqGXwtt1?MFI#r7ty72x;0=iLqOWW8vu*d&$S)hV_uoFPW_gRul{DFS*= zyi-L}Mtrqpj1@u-T*+TUb!H8fEm6{FP4Xb$OTr%FHCzX@25iT<^Ib)AEB%z1ek8P3R=aqDKJTwI=pZhBCSuSy$BN}X%!x?CRZ{&CQ~u6i{AU2q`ngsIuEK;~ zws`LR@~Tq(x8<@UK|HV}Jz0|l7e%9uy0?1kIZegh^cdWqgd3WhCM@fsG~xymmqE4} znXjUA*gyxF_l~LmjEcsD(_Fa5*%%%6*Qz4SI743Ar(^3>euO+%&~|%HjX_=~&e-uu zvk&aVKZx9EaB*-{5LsS8xJHnO2sYGdyq$+nb_B6>C^Mp>MVMAaC>!mZI3jF*_QU_} zc~V2vuxWh#t>B8{k=2|?B1a85L>tO682Rs;qVau>Ay|fOsMng~@#QNNFmc*ruhS{G zA=>D~Sw&O{UPJT(YGHnw;QErmhK(d0SZdto=W+3F|I!ij*?!S__2#}TX5R!2KTvS5 z{5rCxmi15t{@@CmII(Vtg!1>}&=QxwCtx`FnB7Divj*8lHQ}~YQ-Bp#BZdy3 zqR^q?vZh0EAoP*!RKx(B@o@jxE-?Dd0EWdtZo#cWKD{LgRE8h{b=YKXgHl#BjH?LM zpwgs5l6d(1oQOAelNFXw+U2?3GQ&THrz99RTk~iw9Yrf;KTOUwR)%w#tm~xYbg*t5 zEHT=1o8Q7@+XQ&$m(!1>ga7BR*{5~U)>y${87UqG@;U&uZ)7-rfaLREeIPYnBVDV0 zcimTi7Pn^`m$Q^}-wPTiA8IoszlCV->rhH6SxC{_RB?@d}I8heBBt`IotPkS{o@HIX+ZcmDBKM@^1FJqV{IZ`r;nV`Iup8 zYO}UAb&RWdUUOzXvVUx2kZhYia6qvgwnd^T`q@st`_A$P2kfls1kR{{{#rE|#-Gbpw%dQmD#XNhs5v4gd%is51131Ki>l-yC$gzCU)Ru z^}+Sgku(g7zcN2S0kKa|ht*7!oUF=Amqwf@R)ckqL36$J9e!(c_YVQFP)u$*GdPC@ z$;abJ;yNcEZe>0Elv8x0bsbipu_pw8US#U#%gX`lKtH=+D+*M=N*6Z?^HU>Wl-zRk%;`9p{g`U zw;4m@+0mdyntvI!EYcotCwjNdpfrW|rH?a1*%oD;^Oi7#;u*zdTTONQUp886gc;ZIpJ9U+@~U=^?C{#gIG^a z_V#x1DaG^8;SQl5)=4>VBz!*?hKn}~&h^E!ELXL5fpx18$BeN-bI$l2mDTB9^AsVx zx5m7>0Rm^DSbXOeG6WAt1c*)&*6{>yk1SxIhHWhn>V#;+HngA$!j2%v+Rk@)xMw&c zcBH-M=3+qZvTosM%A$=63v@%%MQzAA$Ba<}qJXZOMfT~s!H-?8R=UjiN76u6QyKXC zFAXH+@Qfxx*DZ&ZinS4RWriq;T*H`~SJNs#*2A_^SaQ18ujr0cYqwO_-fO|!nypsn zV|TZ7BJ$Rwc*h}mO9a0*?f`Hij2l<{k+Facnx({dcRx;v>P$(ao-i^mm?ltXp}2Ad zzb{F%+OyNG8Kj`Wy$;TTQqPFTLehAM!3LpSF2v5mpN9SzzdolQK9GxflhHF1rebt2Mca0sK zF1_xXfdL*nVyEa=Nk6Svh&2xHbsHvb_A^9%_4dy!Xxgu|uCsT67TNRr^LL z`o14&hcvy-(*wM^Hy{TelKO(k?fyqc#)I--)r?qx#{5g`KW5 z$q-z~40nsZY4wO>w3`lf(JgB$qWr;|v9z)6n$|k(yHe{WPCR+5>n*0T7%??KQkj*Z0bNG))lHWjyi{fpF=ik|5FDEyOhsqB*0Kyc zH(#Ytt^?{LIl#V2rXi+x1%42#G^ZmQym%klKM1zXiIZvz{s7OUcy25Nn(G0W{SsRJ zj@dlfMQe;(mu@GH@qLz2F-QK60fY~9R?}P*)GefQUX~}Sj&AO#zF(aXCsy=GgPe=qml{dq_`Js&Wg}{Jg;P=r6iUvEL@#gq zYzIbNpreQr4iY1w(yPD@JIj-SZ~N%$l{HzNra5NS{#l{JF6w5Y-!+{?VDic8wu*Z! z@8;srNGqRbwA^0$fR{BIL-U|!b^s+Ancl)@u9tLm^Iuu>x}Nb+Q>N(Bl4ay9MEC7i zpsgGR*4cgGhH2xvlx8X+hnaONS%Z*;yzPTGN-_#JoknUYh2@kSLWdUd$qx_bV?YP^ zlQ3DoaHplR$XU=#&^F(+?DDpGF9usjd37Ee(| z>ziN(Uzy_ZI9Izn;91J#dEvQfx{2vvd!wbQ2V9d+V%=p3V0o_=;hc&Hc3bMr-aTJgXf#A3nuGVu3HN zB~?$8V|O{u{`SkC!mheb=lI!q=j2_JDZ2jHbTXnzPjdvTIf*2xzgRq^d%5m0@t2Uy zaI_6^WTQ0&(Yo7}DcafNyrOk|^l#ArJ|1l>L$(s#{k6IWnF@1(K%EE=&JZVA6Dng2 zRn)*3e(O&xsyaY28Lo4^a(A68isPkc3om=U+Wg&m{Cthr<{Y){{wjH3;67vnXm@0I zDf|p$&fdHCq*1Cl<;0loz6kF*_;t+TvXig=ovS)p@Jg!v zF!_`%NAEN7{mzfyVk})QkVPYAg>br4oYBb%ny0)6*kOg*S@AsXx`Uzk>5O%2aI&fT z=S(tBsYigo1;#d`w8z-sgVB+ED#%FV1Ge(P%y1ZwZYboc&>+dBxe!Ws^VVcQxp(;~d#FS3LC&GA{j`4g3l|Fe=x*@*FQy=`1CvCoeC9*;>I-_tB<#YTyx<~tc9I4{m3 zKHDlTJ`eUrN>s?}xws8-;t}iU{lR++9%A_TJ&o-UekktPAODm}wYHu?3Tvo3VZY*K zLW-|BuBUVRfr>{zaCiU4!F81;S_w~n+YjyM=Hk=%{^u9as>b~X0Kk32*uccVz#ut$ zWtiNVB6s(MI*11x7$VzD`yF5G_wkc_upz4_cOW4kC;*ZK3P8OMX83>J**p903JeHX zddl17_lwxpU4NrCyrXYlaBO-(dC2~Y_afl$45I}$=B5gtu$!3xSM=T@2)d7hL4@%D7?II&h z2J`i%|9$nl-TCb0<{ZX*L$;R;RZ&c#+o*)mj@{GNT{FWaRTS2i*-K#63?&x+yD=U` z-cIDb9IactrccBkF3dJgwVoM6ZIW~3+y@cA>Xn@cL<6q+jH%!PlN=SAX+Xf4%J=&# zGNdyg5IrH-T*6fi&shJ$$ncNz|9zgp#>w7K`;Mo{98>EFM&d(L#aR3R=n)=xwvRVw zqf|F(<4l5xJN1W%GH#y|n=nta=nF`Y-|@ql0f;T73B^5 zGu9#TYF&}(72#NixHn!kQmRTMo=;pU6YQ!*0RcT3o>JY2-fR!PVVF%5nnF^iIFPJ| zf5iGw>3+Ye+y034Sx@c#)o(O_s4lY(iiF~>DCoUMYs+qg+*9atcLP=(y>`x7Tuae_ zi>LiqZ(h(d&qr000o*r76qlX_>fsq>le?sk=;*YSNA8fOd#x*v8CujCP4W?zXSokQ z{3YKC|AZmpLL44L)aLToQIgic%o5IQzK^16Y{m!?R}_ae)$2w}sD+09df9FQy*q7C zFzpxyCjOZ)czP8<1SDmyzrM=f`J?O~JTnINxZ5ytf0%~nS0kAO!d9CRP4|<8*-$U@ z{RF0$GSnXSrq1E7)#<6L9^pLSe#I~cx}$LDQ-0L?4eI~wPXmU)L8egJXy|mAbUem1 z26;oi(XSZMP||>sAXCsO(p2$kvFbn7+-opv8*6wCVfE?_zlRhDYs2>;NkPhCO94)x z>M*M;wftLlTeMqa?Z0;>cQkwJV~-K)QSAP&D0v9_NV`bBa6be;!e9Cz(I847H6V{5 zr;xdbMhHj<4+v5Sm55pdG-O*O-a^A-CV}I`3#^5G!_mW5!>$p!$Zm+Yh<)VyWDPt2h6IJ8*iuH;TN@t21 zMHmGdh3+zvQk3%N5lm5z$qzus%2YyBu2i;E)+#UM*@_)S7bRGwnZ=o9S|uB$T$0bJ z7tAa2mA}jF%frjb%TLSI%UjE8<+h64`L1Hup&Q68@E1ZCwiijurxkTdyQRJoLE=U7 z#;K!BF|t^nEOM4QOE&XY3)ux7B2Gakcr(bE>MZycy$e$FlM9veRtuT=tm4)of4Q$w zu7R$xuHmjJH=v#0oQs`loLkQ`&$!Oa&h3_*`T>!ju%6J)t{1xsUxoGM^kw;_`~rTU zfhmKC2(k_9=k~G(IE6WfRK@JX2*n`9IK^1ScmZ%ulTHBsHNbz*4S)~;C;$%t2msK( zJ`e!fe-8ti0RRI4{yRhBdF6%#5JLLm{qqa*3%7t215n$6{76L+dT?cMC?f|z06Brl z_rSIS6Nw!#p!n)?!Uwf_RYt*B|)0y4$?_3Gr!n zP4ene?f>-4PxWOyPH`%e84;!)Z6S(SWlxSK^W2G{s)nrhmvNYmN1RIdmXtoZlyWX~=I!MnG3s=w z?;OJ2#vscYZ>!Gj;V-6Vh`8;@EnJa0ArF*?C+XGl661NaDjiSM=-eLlb?t~gfM01# zG5wpCf8V|!Zli1n(|_N$)NHxbn14)u7 z!bDk|D8_|pk|@f?d6X#52a2L30N&wQ{+OlA9H&8=iHkI3W_Pb>b9IW*_dbFT_b2dk z>zJe|V~CE*U4r!0yLS?=ewbfrXZBSDMOsr1t&ij zbedcQ*buETe8k%ja!O;;QLQm>3de-CN@GZ?SCr2oggyHNM%`lyd`Gf+I70Vd4H^=u zWFo1k5~=JWsW21g6epcy#Afy>klWhupNRu7_71Z3MB)ycG@gkxAj)JS?RL6yOFUUk zvkTT_xDsj2jq(D^OeJ+Jsj$TgXUeD)JJX0p%iJ*)btji?JP5TA;S|(k*cG#>yR6P+ zyRsE@xD|FZzLvOM>l@?+1+L^-zY5OW?*FXy=D=H@3$QVL&?{K1e|SuEv`+%|_F6MB z3Oj^|r#%8B5EB-WDSN%;mt3b7y!8^L&X1u z(9J*##oMX?0PF+-00jTPKhCuCkSvsf|{p|Qap2yEDY9FC}wn1G0BoS?CzAUtxMASirX#buDFu#sYt z;E*GhgARs*%1p%BArz4?-<*(<>@&*@fh5w<-DU?(Ll2I&r-3+bNOIge^nH zY*2V;+?``KND2R3_J+tUu|t6=V47%Yf`sA{p7e14%asW+SCW``&&_H7eRCi3%ZHLO zpoV$t@&VfZ`?fpDU1~V>jNgps^;; z#uK6TbKto>f_ZdqhuxEluMfCY8X0}-Tv}2JTP(aC^5!*@>9ZAcVy579|AS`U?!or( zbY`>;v2bh`+diw;Lh72`%{KJ1Ab9%6=;G);sTNazM__!A&Y{nU3WdaNao~OM+#!eC zWi-dlH1%{Fb`^ez`&B-V_0N~=Sd}k{31fHMkIU#=ml?F&fW$bG+HS_7xeT1|k{g1~ zkdI(Guk}vOh~24rFii;4e$~1Y`CRSKbBUPH&Co6GQn_GkU8ZW}81hF>qwChx&6)-~ zgP6hU?x3ELx&p3c>lrbZkhA>x;2jY?f8=cfWuOJh2InaaVs903ul62$w5il(*fWXm zK^N6|Pi5BEM!THF6XFNWPLkQ#3)4$~UBpJ}h_xhLKdR{}(mOE@_mC5k!mHk*nDjY= zXPSe|o5tI+`AdfnW-nYXj(#uw(dEhIG4^HGQrlFXQ>sqN#>U!bTR%P4K_3BM7yV3H z$#>yHr~Z6vYpav3_y(S3){<+GlvbZ@kHgE`I{PdhpV!${l{tKNOs>!VRcg~~UXEAm z#WbUSRIO;$_3s(}O48e0dA{OXCwTlGSI>Y2lXkUat4Y_;xno(e=i(wWQ&S_iyU$Oy zfSsPN;MkztK;c26!s%k8L)t^6#OkD->UNd2)#ZiP6UfcYX5FuUK#&~`>?~ z%fZQLLXjP&&t-bU;b_vQdaYKI@8QX5tKH_$=Bd8>pVQhj-!^Tv%omp1?Y`SR>bhRB z6S++9&x|f#=FiwVbQxlJo)F;o){tt~rCUO7IGQXD5PAmccK@)aMqRI4{=aBDqDc^Xn@4eTA=!`%h+PLtSUv%Q895nI98}M~IyQWTH%e zV3WCFZIi)iFesA*Y%{Cj+0^1pOr^y>erS}{CAAu4qP+2^{u(sUpupN#T;XDz)2EIU zZZ3H{ZqJML>999yq(;e~wn@@u18B-`ZYAWh>k82z`zflQ~G*Hz4|tqvs3^U=g#k{yD6jgI!J z_)yK<&OPO5!J7EvKZk8>6|c<9;Yrg$y~$bP!@psH!%aO+Ih!0>St$JWU-;X*{H_Gt zzXAUs^Po(*UV)J>ZwA2jBcIM;)nma2+%Juiwu1OwPz8!r>qVGgGf>uV5PXKRxz6!` zxNV8b7RUa5J`)7LX$v|s_ws%#729HG0V5N*2Ighj7XaqY)7_9bsnYxEm8?~0_HAj zWF$#ao=FVBD9NW;N5zF@i@K6xTp&2t!E$}W_3#b*EnjO}p{KFYE!q5B@~>D_zk{{j z^w_8H9s<(85-OCu(_2TeLX#yy)wdl}r}os2I>;9kmB*1A$yCvlOeR^_Pp(PHktWuq z8Z@n-wDTb#=TG_&z4URi?{zt!9*uBfTgbUsR5RLM)(~A^dmBD(!~5}%^Dy&)>%h(juboU~fY<_T=&KnL zJ+6Eqra+a2l$9q3PAt}5jAGFU)agvH8Af8DY#=c;_bPB2mr+`vtew1;S#4RhCV4|w zVNVeH?ZumJ&qOweTLsKk(jTacwQM^=wsPA}T}e=-vODUa+vKA4@j2zINYERN_mn1? z`=xxHgg^P7+avEJq!#}LJ3z$0K2W{k;s!jCGwe-5hQS3NWqUpD;l)j+bR(Rk+MCR& z78ky-DJjJY57^n>!S-(4<1-%i4E!pM{R-Zh8GBDw>^<4|OjC#0lU^(r>+FJv&9gg@ z1Ss!Ie)dnU%TUrYps#h6iq!%~S0!|ZE8>p?B7PU|l(4~XfKBwf0!3WlY(E4K$c{sB-jtkYcd>Uka~(j>0Pe9oAIrr(s6PYw?WD`I0?Evka;`%$NtKm~ zPw#L>Q#{#~IEJJE3@4IPSt)xQP1Ks=%k@;s$xg-QuEc@m=s?3|`IA1cQ`@Z$Tp--RB~8=WJ)j_N|Gz(&JM-j z5$KldlZv7oL8;H5cWqxOn*KWx>KvTRZbx+u+vrXQ8a9V5j65TB0VPwGz^`P`NB5>rW{KmX;=Of!-KYh`B{3A;k-a0=rTKB(qvtlrS8< zz-O{pDHk}RSvh$?I=RTHm~!E0bu=ftJn0$0YedOO2Qqmwpg82%NAy;g+n!elcaT~Y z5#&2fxEnk*G~(9_2A978D3qJ$P7RkuM7_%mH#nt?zuTV|y7uL(=eF!!mOCVkE-m@( z9j~i>f=?g$hkAjo9DBnJ)raR_2>0t=rnT1I;yA#l!;BY%V{(OPrhx2qt)S!|^%bA>barYuc*>+n)+KhrbgY)Z(`IIb_HJkV_ z1r=>F<86}xo-~{A)C_V}Nn+G@0n~{7pF+n|8y%-^Q7;JtsGXgCuWqBG0pV;^f28}# zML+>QtOo)PQ#+Q?*@!icUc?GeHy*(-wR}t=9c{dGt@`64YM$p&fBJ~yB@bOCEENs| zZ}{2Svz-lYK6i&x{7vH-{uxj+j+W!P6e8DB<LUv3MU_$LhVjkbZq78lXj|qKK7@-(EB?Sce`U?UU6h*FZv!W zpr?Oaa`s8}lv;Y}+GoQDze-2^_NH6^s_sPEYyb>e3FFR8ZY5C(YAK6hj@pDUl`SDz zI;DtEF{`FFw_f@P)us(_sH{7rlSR8M91@AFE1`;@<4RGKpw`rY4WJU!k5GLelHXMk z(I?Xl!gLx@PpXS|XLTN2enN`Sr65JUzrLqeUKM;@8}%@HJW~8$h9$l2IyJ`PTz3%H_R5tnf26kW5qjVr4l! z_hXlicm3wT-)MN>+1>A-q<`xL_`Lb_+S1bXR5<QfxcAi))qk9N|v=n=>)a5qX18@ zlmiag3pE$>;gVF!W`{xptlo;(2S=AfNy&m^x>HVNm?4#Et`e|vT`?VID5#;D6i;EW z!Jm_Fd;U+WS5+*yV|e-C_1pT@&VO?Az2B@m{`aQmmOZL&QvZ18i7Gm1(ycdFRHW0u ztv8l*9sc8uJr8Vo?1miLhdkzqXJ52v&AGpVC<%cr1iS>y(8O(+udr49SiVd5vv zCKC!4Hd3K8JvKHx0oG;kzA`zY)apSl1I(A?1W*@4bv`~U4Fv$6{RSpU>;!tnJ>;DR znlgDr`JFj;e<&9BQVXjB9rt{uzNWsr?0hZlRUAGvXpGxBTKHCd^=0Xsx74fZmqpx* zHW=#L47`^?^1v*OreTdc0C>=0jm?IZCS#h;2zAY8QY90Z%~mF7+R-pk+%QrK;ONhU zk&>JS6?QwKI)|BoRAUE+vzgc&?f~EdMQ3J;4Dmt4N&ICDklLsrtf8lN(No?9S~xi4 zCi)_sIAwY5*v3cpFAN!{9pAEJmD={gXW!Fh<;6WljP5mxet7%i^Z`24tG<`s>+uac z|M14|)bG~+c&JCuCvRW&DE37F_)LYq(32c)1xH0}m4IX25K@dtbWvb73fQ_JM*IdE z5Kgup=_BdGt!dIM+V}j`QjWDsHMyG#dZ&o2AyGF{Dg(?4Bfhf}4$fjmBafv;_Sj`V z4o(TqrI6xhMF?6I2b?u9Wcblem2@+&WW_0K=3>#xkCMWY8yi3IzPH`8u;yN`?=^63GYCOx5k z+eXw+)T+Ru%4+(X`yj}E~`hoi8HT6TF z+Z6f`;6pp}&tz~krDMFW!;um9#~{q32=T;sua%1L(uZiW`ggjJn$^qvdo$pBmHc}V zM;?4IWrk4OdRTl%riIr))CN^)7xLZKw)0Rglw0}a7Q%Fgl4bylJk;DlBS}F>&OD{~ zp=10U21KMRW_PT{gE0W zf@29aegZwWp8x9jw~^ZxPP!>6S$)%*T+ujwWdBk3zH&QrYR$TNqORA<=FKDTzoTFG zp+&*Ep?8k1>o%ZcpBdLia6i{zHkKON`sgo0o4NwB0}Gnj%K6+nE)O-A@H0n9wuGCj z_=UGjt`9Y*X(n@T23tFEyxqx;O0&6=Usc+bK-_><`e@p;;`=Kcbk*49+CxgF>x!Il zh%{wn*3_bkr13LQmQ<+(+gNrWwAd%vENS^ArRB^REGdWbGLTOWxwKNQa>_}Sa=oM3 zK-_^&nuK!Z`hCQ~jO2pE0qha=DKL1EqPc+_Nl0;{?;0^(LC~NFQ~=m|)@f<~u+5WS`pf z!6P3pC@uah7J@&1&5eYNdG&K}yR*d!IVhi(u~T7%{Nx zh@nj90OFS}!#8api@f9o?o*LTSV;x}iySZ0Fj(v@%)^*6ICo(+&)#j$vAQ>sSK-tDn(?X(@>+xrE?5f1_7~`)AJvlRX=Q; zs=lj!eM`fLc|C^ps_NG`YH6)*?{A+{&yF-^KXUt*Khe_h{d@PK{z1d1plq1hc0tzw zIyjwFlcZ_w@A>-Cmq^4CXmbHG&~Ev1a*q{k_#;}kkQGkmrzD0T0Ph~F4j3__Z8U%o#VbD zHi2R7iX&B*xgDp#Py)Tj=;~yIMS^ajZW=nKu2fZX@0l-+n?Am;Zm)Vq{Zai|o%}KF zwU&z8mn`El7WwJ`^W9GeEuz)d1hqwORwSvVS!c8$N9(ZG))3mRth&uVbdFV5V%0UJ zTtVD)ydvq0rgp5&Y7VFs#{&GP<>I7zH4vf)`>DMu>FHij+oNBp zN7W1JYq2^uGn$UmMw=ehr+ z`&qr>wHnh?E$l{{d#eNHV3pJs^>FKHPB-MgWx#(KWRQk*l4JY_)N6LR(r3qemN zt5gznbr!N>G6I^^O2zGpL3|iBKW9f~ai`eBWwkT_B0~@TJoQt$RHf#<>z{n`*C!Ue zSKBB2Wlv$k^FOJ72MB)_ENKhf{n;JriBXTJU;IY>(e^bhz4qmev~#?lb%$9$@6zzE z!Dzvm4WwgK(CKkzLo_2Pfx3!l0)<`1{1)_-BA8p6ECOx!7J^Wb1vW{f=;5A04|W0i z7Erkx%q?*y*?j2@HdO)LU}fE4u{Vhp0jx4G&m^M`y1|5dEH`7h*d$6O^UwOj<>zt} zID6%6I(jyJK>fYCXo8E)R_>_QbF86bf(Slt6F^U@`zH>(V`es7u2eq=uKlce z+8uM!7CfM<|LMWEKbxAZ_3tHCr>(r*irJ?1t|A!1VOBA%D{YBgY2#gKK@X#?z0$jW zF!7$_^svY_=s6qoP*W1_qp(j<3nBvbBy14wnK}?`Y;sRATL69z-*JXYfGO!!<~r5@J4Wf%(Ia+5DP zO`8lxn>*K|F_a!Ymcqt1m@u*%v?-r6MT{ld(WGSl;ncXh;!o|8$Og~Ljzb4(HePyx zl^X4`^^gvkLl31B|9*fG9Y%@Ch|_cy+{160Ty6(YANK9kkHRC^36@IIY_eD#Oi`53 zy;R?RrFDu?L|edCiS8>!mlW$1MYLxiI(BU9`MA8%j|SQ$lUdq0G+)P!d{Q{s!aS1( z^h{dV{4kR0$l8luMig_2O|~3TM9&o+^8hNM1(B#Ank})(v1G!$Hj2@}j4W-$hASc{ zG^o}9`WEeA%FbF&N2@2)O7)B}J8PM4@3q1UD}_lv4Ui=D^wQSN+y{bkeLKkYB#`XA zxJFd$G0E;R#l<-w3m6gzs}%#6?26ll#I+z%J$7Vz68EWcEe)W8nWr(2>eN5biC
zZRKcQ>i9{b#_<8GO_eWKu{CVH?%{ZPFO|NDMJJ5kG}?KI>0xyyE_AM?7R zUOdNqXD+g+oyrL~1Lu+jt{i1k8ABaVcQXumGhGqy`|C;)lnknYZ zA63DOx)jm9>+?19n# z%%#IP+Cj218Pm_{8@!{;Uv1un+=K$r)_znlN&Kd*W5;}og z9w5l|U9#8xPBt14api|(+bMMCG#N5%Mn3(Ge!vVi7|_k^b0|(vY^oXo4^C9u z_(ZkSDZAs-)XeA1CaTea^|NVee@=dI_(zQc2Bj5^n?G&&caMGd`pOsYs_Wfz%!0Y< z$Lf`tZw#Vi%KOz+W`;sT$GkCr`Fr#30HdO7Md?j_Z$5O-U;kCg<bWuwW+rx^;M62 zt1kLhnn!!8uU=gz&Ewx)0&-<1d^d$WOQKH7VIuQEMx`X+ArOhFY`RZEQc7Z6L4!_1 zG$HHCm}?syI#4l>Rj6taOoM2IFeASAe$wFDKF@($xJgScw`JD zfz(t?PUdGbvEE@`Swx&@i=z}3f$wul=o0H&bmdXoqA_=5y-ruYRi!qo=k7l_i#}CX zFFt*3R~Wh=xb*G8)#$YvhnZQcNwWF@pY2}Vvd2{9)TnTVpYErjBSC?rXfA}+rx z#cc@JP{cg`4fNhjyU|viPRG#AtwD7VNb57k2iTP8*=k^JXVx7U+~9X@qw7b}uC%#z(;{`zT^w&;Th@A9h_F6x zgYQU3nQd0WtzE?sn}HO$MTXFl00QKCTEbauv~&Uy?qv6iqeDVe_4gD%?$X*z@bf0~y6 zs2Oyrt{j<75)m5oK9%qE0Z9mb=Y;IRiGI>k| zPN&GyDGdm-i4`O(f^4c67Ve^1>cvg!MtWI1bgfRPY<-LKQ9pHs7-(Az6wGFG`MiPg z-bLpze^bP7*k37b?WV4{e3?-CrSy^buHFyS@e_dlXoGP(%)|p4Z6pb5VP?Oj<^EJp zN}vROMb~E6UuamXx28PvX!^h%98V1gUH7K64A7JpXY6o3J?cP~PBpefO#+H)*eTgY z?qx&ZZ)@SRUxc|siINIP987(juW>NrJ~q?ELW4Zv2&f5d+9FSLcA}aa{^*&N!+%v~ zET82)n=W7FRT6=Z<;=%Q2&ObE&jWP8@TCvU^ zsPjs_o1~He>7!Zptj-xwXERpUht4A`hyY)Pc>I6D0%d?M5Aqj#_gZ&>8d~ ziiP%Irhnb-Vx04i#qfH5uamyCk#bzq5OI zMNR0xb0zxkx?sqHHiZ~--!b|Qf0CxiM|Uk=F}h}2ukQ8zRt_4fEO_e-J#d`%-8WSI ztoyjvN8fT&Nk{c$QOVz9{jc*fTIP_ONHiH~$)@(wV^#Cwi5J6FBr68C1o$i;kTn-4 z?Km}wl8(_8b_bitLN1WN7%)~|#|PX%`57x<8-_o0cICh+-Hn35Sp(MoUSx;LdvA)d z!%!eF-4vyB4_Dukw|WRIzH(vlkUGv14=*?z=i~W6TMvwh86=v5O|a==P0+P8o6}M- z+Rm&Et{m11D}W5Eomnzywg%vsWkslMOG)EUTX8U?U`v5!I?!QS~&s>wP-xce@@s z{-OP`P*}ZKS^O=1eONDF(HfKyA=NFV>%GKB_K|1@g0>{|hezO(uOR#|Iv@$>nEW9n zN0Wh@F1^aJ5TG{mAtf{Yiku3Dw$9$9*O^_x12yX|EoA81gqJ!w)86FCOa&aCf%_y#gYWJdx}khxU45X`Xn()QdnbdZ_s$%@)!DsXT=v?y z0f%1lWvD-T^8$U<)7R<`?aO4k!Y#cI{a#4QNgX*#q6I*s<{}<)X~P-9YA#i~rWe?t z|GR4aUmub!r<4lNR-Gy=2s|y!Gt>zV7Hvwi1Dsdbl`0G!g3}O|JdiZCKT?2yYI@9I!YnQ*h(8FjOH z1KH+~T}ZE31Ysn4tFn&83(a&%Mi6uZ4MYm(~1Wk&I?VMyqwy< z4$tw^hYGit)obq!>g>*%wQBc9^>^y;|9q7W*tukRkA``JZ=#`|U3ymMclEwI;lYq+ zK&QSlOKyw4@s-v1ZkLV~uYZ$d0gkXc(^oA1@NZANI-*;7Zl1|%sTQ-xtQs}8=X4%N z26*TxkRfR?KdWL(0}IiJOqzm%jRVs(0H$f&1h>JdGd5F`p>geVmp zT+){Z%8iqEt=pWwR9&*nS>#>P{Z766%H}1@UVLKO;@0iLw83@3p!!Mchg^>W4TKN$ z5zyr}G9keWD=?HKCxv*3Rl7q{bH-Y^GnQd?SwfN|dL*B{^!qqeQUr8l8IstfcG%^& z(Dn&f&v$gi-zP7;jw6{TR07MvqCNBlc+f+MRWr5 z=z$T2?jB~v>i{G}U6QaOE?c_|Klkrf;}S(W#BD;ttU(&H38|t_LKVOw#so8SdxDi7 z_w1tZX9GT=-s+ECyFTdu7hSGi>-e|knd61t*oK+&Uf=3mFFkm*{P4+4Lj+qgW*+A= z-5B6AJ6Ktq&#ZRfGejvA=Y^57))usUSe^I$5axCwEz!y3kfaEXD>~T@w&M0ne`Bsj zyS+)YBY!31J_`GP=PzzPHW4w|9_KHC;%uKjiP;Y(=6|qh{s$2`3YyBjydK({E??sa zn}+wkL=UJb)Ts_wGr70k-Fo{Ck1p*`4Jv6}PgjWJsKY;{JQANHj2Z$gj5-C!dL>hxnHVR@SL5t{VADDXWl$`;`m)nii8|TemnqjQpF>BqUsY_s>+VXt^ zZt>1imn={2*XtJF0%^u8b8o$4(zMAh{C52G)~AGpU2o{vY2y>Ep9u>`dB;5dXzNEY z`31B{Ba<|`CnZqgXX49-SQ1VhY^-werKD*sx5Zn|p<9xJ%?@Kbo1mTUpEdGlt;051 zjgiNvw@aPM@!mV78JourOO!efK7mq)W1f{z?#mAamkmMUw&zJ69N?3r4D#pl&e)^WqPJ zX3pAx-E?Tsx-$5@ea4joHK%`2*#LIgo18A3v4?#EWKo=67_-fULUH>5CG>iHedd9Yb867k0#o*`Ug`D5$bx|*R}V_S*BkfHd53$9 zS$pMqns?`s0hN=FZf?idY>bE>K;7-6UbDDZPZ|(mSxqEM;vyJoZRa9bvGXxOcr2J1 z$n4O_93KE23v$MH8tXSM?wU5dqW5i!ebb~Fug)HCRF|c$dqlOdInK5V;wSL^9Q0xO znNJot-Ht@_Ag2eIgQtU;Q>+6zczL;cgsZx3n7->kmx^n_ zaIfs5!0bQ1b&Aof7V3OZHxx$ac+LNrq-kBn2-uyJMRi8Bt8^@30LE&{DaB%IiCR*y z)M7Vr*PSH=rH9~5W6?%Q7`kr9m^vc{?aDgMc~vX$*aGIn#AptTF^afq3qM{(g;MIP zRnH8!*Y=qIz&npUnKoP;@LJ>d=hV~cvKz8$L+a_COCK3Dn?B0z)NvqJ&Pg+%-ZKd^ zteH6#6%j7jxStW7wjcy0J4@e-&8wo%R^lQu*~$ftL1Z)kvgAM(usNd+Co^S}9V`P$ z#EA`JcDl6W8O;rws`+7K#^Sj2rF8i+SFyKheDrF4RxIH4h2W_yTAC`GFh`@pL=!O;0I&GxO zGL1%>lYg0RZr!BbBh6_2ZU181ga#q`>Ux$3f_ifX$tE9@Xg2B!SD3w8F*?u(+kyLF zEzAdtvrMUFn9hi~bXL}_R+9WSwf(!EdyMV+ombJc9j zVvgYKI6)k44r4@pj4-YWC&q(|{wZ{Z(OA-H7v1GHr5O#5p~va6*00o2Zoy?WcCUU_ zy^^L?!XEN2EfUhfYU{%e15Ccqd3 zz67=nHlD(D#KNLQp+MyR{x_eV_JI_jCW+QjoVN;Tx%>m_*$%)Qcgl zvLTG=4migKA8~UQO$I);RK_gUTJ!{aQb10{aO<*?+M8zuJzMFDpkU0)_?&KOoiI+_ zKe}dzwg2EkX?*J+YHt2@Pk~&OUf#z1gdbuaGJHS5PpsFpv#9^?`H2gI^s>6Grx+|( z?R07VX<;%AUTT%q5Aglps|Uq-y1jtmULh>ojp4PNQ%WYVU#4A7Z4a`R^TN!CO)HD0 z79j7Xb^zWBYT9=GB@^epT%1c$(zCC~Hq6~@l5%xC?KL^w<_bzpX?VaJd3YlVw-cu1 z;Thz>eUi?WoR*%O7iYgcSdyNbzr2AFWza%F+5OFy<@K}Pd{>Mw?&KH zk-X!32L#2Gk}4`poC#pH$y)PVc1j~nTeqTj_uUze9=+AiZoKvKi%+5+5v)>3+z8m= zHG)wi?yw^2T0n7>mC4CWZGicvm_QX8%h39aS(_KdBabok=Pr?rB^YHQb+{rM?TWp_ zl>-;-M?(zzG13`g2|u3VK?4RBxN0q6v6JKOc)EJxZ9T_y2`{U>8HwGTt;Hp$V&r6+nWag0GWgXSy zgRKYu$a4TMg4}!y>YfveXH$Gy>X4FRYH2nah%G57XNDPyN-sn3hp3MzJ}odN#mK$2 zHuTnFmRgN~F@@m>^Y3ecugnE$0CD3Nowb8TmO4@nRvz?ZEZFzxNO}6hJ;sFtL0j6@ z%4=@>9YclD{b*%M*I^CgsAt*Z2XD^rtbXA2mG+vewu~9DFh||Xb3w>?X@GQ?WRe1M zA7O&NIZsDCn7|!s_OdgUU!Q)eIg7_kW!cf>X}0iHCkoO33{>AExKpSn6On3;LvaFV zmMzXbdV?t`+0HlzK_;f6Wy9d2nFk4i6_#R7 z!l`OpHNwo6b!e7!tjrqL*5#0GW$pUdtkdS>fWabxNSMt71Fr=PxcMW4g6GmdFK&8; zF6&40=qlB-zxYh%nc$g1bw%N8CzqWRPOItkd}{zsUwaMug&tIU2`BVsmYWeEEY?9} z>rn{26ZB=V!~mY8LH!PYI_&5{mYtDI*Iav9S|awpwvXF!d2Q#VkiL*~CROAqBA0}) z6*v`{6>3h^{L9@j>!-Pte*lBho4tHKwA8LtK#%9~J9&0Fh?39%D#H*`f}k*}feAq3 zIGfED$zGxb{8Uyd6A^0QETh9Ir=fLIe!X=Q z%S-1bjvjLjJn@t%6e|?ii9K$kc{j=9d*4{o|Gv9NkI3)z^_l(hq+3?icMoUPSN>zr zXkVUse&%j^>wv}q{cp@G?sKI}ugXw6qUiQMdl_59+ozpL>QnHa|n{&pxAm zw|TSr?b9!xdw2Wx(Q~H{9o=}#>bve;|G|0Tli$;E$KF=A{{BsM`yWrz(Z@Ec-*0}J zI<{=4j%S`#zkl-69~w?}zk9*2=Jq;Y_Y>#)HNr>YF5OY$0-I_mk6QzSs=0$UghS09 zPD&eFP{d|2#pcfaWtQK8T*=-*MJ>fTlKCo}!- zPwF4kr&e+MxPe@h{NgAOXW>|;S8Npk3EQks2nGNuv8hwc^fx4A`ZtL0s(;7q{?^AZ zum69Ui!WWr+r^{;BclHkcjr_ve$L@{Dsr%X6`f2$*#|;6@(bKu%(=UyOfI%7Wr@No zk=?sO=avG*o|plEGS@S~}MN)=;xclM`7#qhxA3sW1_ixm~r@2te8^ zM$H3@qW}dm_u@qo^z`-#yCzQ9HDThe@e_AV_;yHnmmxP)L~f8qjel|Sq?g7`*g0;( zjtSvGgTm!Qhj5;s0*q0v%LATDj(N7VtVG!o#>7O~R2G$Vj6ZEA#LUbaWiasttZb)H zGbZuAHkL(`Yi^icMRg3#sV|HK%CQl*BvMMWC4kKuzn6+zudUyH-#{=z^tWR+DBFTTre4}` zc>)jSILq0nzH?*wFbefoVl;}9-Jz1D61pm7k5h4Hu!fZLC5?hK@}CwbKt<4_c2(CW z=G+w=*Z1Zk-;imOhHbiS)%IC;jUMpF7pFZWEd4B4Ftpc^U~yK59(%h4=Z?K)X139D zYmcRyd|(g1DSaeuU@=85CVxa8PZW?cusJc`6<;4XhfND7D1-JcO=(d2wa3&XRL_;fJFU@$xRnMoUlvBeH8XTPsm8;lXdAC*G<+bMt3F7#zfHuWGuqMi^2ADHaVOOL^JQd z=6eJinL8h2lK|-VU%t#)?Cnxrl0Kg<|6V<#H}<-FO19CQ&)oj4PYkXt>eS`#h3JA@ z{Ll^ezo6ywPEoH(TlH=jfkOxY&t{QFCK#DkFeaIBZ-z0XD`R8MdEQ;)4%1m)#lmI|A%K_WqO)F9?fXf9CayzJGZ~a#BKtAHUXzubdRa&YyT) z<_S(AQ(XT)S+6D0>YR7qoQ8?Z=ZqL5?3%XZ#sTx^426CVsBY?ow>wZ08fkoWy=XGV zVTju3b>isNmUUzEP*yZ=O)P#}Oy=PtFnoy>-P(L<5s|ZeK_qP8-!C}bVSHMzM+Tlu zi~jbBc{ix4$ywSzYh_{H=0z*Bwf6NB(^*_*PAo3Z%okd*u;jRe1ype16f`UCfx-+6%~6;;PntaQs35_O`)Tlg0lepb@_iZ3OQhh5Mb*YvOs!BaT~b%4D%nXEdK$OWWdH(b#V|DGA(C2l;reE#LLY_n>*FS z5Vbq*r^t6iiIL~v8bFaoYG^I>8*G9>^G`%v$j7=wrXC)dbT?+L(<*Cn*O6mJ_Af5J z=hcPh{&xIZI%jmu!D1h|;`RaE8#)DR8}7Wdy4!$`dH(6@S1X%0B)DAK+IWt%VV*Oe z(j$k=qqm zBCeBO?ZMJl`>H)F>FJ)=p6;fO*-7Wq4s#MySy@u|D8bA4WUA`M{AH+TKCA!T0_Pu= zkIU%Lk<+d16t;`y_qh_v7my{fa_Pf_@?)elp?rS4d>RR{a?FqXmOWpjy}v`OT9@2UsWcR6kQMtAo`%A^hD#)bzrg_o~;_L!37H(Tt}`HJ-Z0+Qf3d zSX;|9o?ZHj8ZUpF984&mA1|LqWS|+&qy0n5lVs3E#1%17kBJ&g zw17@|h5Bjk>*^=e`?C6}dgf)CDPDR_Jx85T z>)E|4MsJ#U+neh1pC0=4w9EAU;yz=xjvGtAF^1 z`4jB_{)qa+{;U;^v**Z%+!?@XGWy$C!U~O|5OAod4REt;^=nI$r70XQ! zSZ;zPa12O;+5;Z#TK|G79^j13owU@d50JW{dS_ete37>3WwI znPn*ZrHs9m#aC&P`l9;h5tU18$IKYkqgc21{V)Ff6O5yaLc@eRy76^jU=+D^3-w;0 z%N17lL2Rqd+C)pFzF`DJWU^Jftdkyv!Tfd}WR*J>*U47B~DoEFlgAE;x> ztoemK$BvqRX3KBpR6X6bs%ycR#=*lE_w6=p;NThVYw>tpY3Y@}9{b&bEnT{nWCsJ` z`^V2$CKl6Rw!bLL7p&Q+5z{MB(7$%}e`s#XIox-^!lS`R*t@_%vk&RR=xCKEWEv2(d^MYq2uyz z>W9ob`fDxJ9s2=nNWZiU`k@cU2XtM$f9A9P@5lM#?e>2AG@*P!pZ4-s6UvWy+RJya z{^#Y>G`_&N%SYJrN4Q*7kHpHwe8 z^BD4-sI7|U)wRg^Aq--Q!QO0uz1eJ;A|@gb_GaT`oEc|!0**Z<$(Ed9MSk!&oAnN- z!OhTbK28gGaK&E9q38|mUG9nG7w8IL7fEI6$;sEsyDkN1$=6TZ*Wc{wtA5w;X?Bl! z4~)Iou)psJ^@RG-@o(tz;pIa^d7&F8(w#f0?XgDb!Kq7kOi3?ot{yaV`>00swdd50 z>dK3+JvQ?3{)0yRK2A&NZ8r995s3{N4)rE=*L<^#(F?4w0u#}?=U%fp2*Aq(w9*3(e{XR zTsjPRB?~On`5IpFGVie#OQ)o3!E6XxEDW^dAZW4hxVA*ZlEV;7Hb*Q`GeQ<^W>7)M z0*Iwaw58^-38Z$&;=$>^cF5x9kj2E;m~t^y(PQ?Q=V+&656r!N>Fo_$)xR8FItwk9 zA%RfOJA3ua4&HH}NmxFA=ezW#S1T9ISUmTsKdLXiR=QRwqwBI~zM+0-J8^*b35z3R zeb~tRd|$j=mmV)ioU!~DpFieJd`}==J}tn?d3+Chel+Kuf`r&pEkA5C_eQbQFq4)V zh8~sFa4bR0$`i!?E$oyY(kZDKS8OZ`Ar&D>3htw@|Mw{I6dve;I3y)CA^gJHfiKaZ zWZ1Qc7tA}evfxdf7ICVNM+5(-pwlQ%JS)0=$P>GMG49kzF!ij@*(3iRdK#xwAWo-g zO(Yi6DXfuZ{A}GA;rexBej!yM9(SIYp1_k5M3#ww83=q`34_emjP#S?+KQ0?$~oI7 z$6&fy(pKB-U}|Z$*xWk6k`^43Iq@La0NO~lWKG+#N)R zA_(*UO!Jg6B*TGF%lCd99
X5yi z>FXI&%hbyyGuKX%KJxV2)1_)py{B-+%sL_nX6XYdpnsRGUpa_*Ik}Gx%o6lQCV1<3 zR3@hXY2G?x%v*-219CLwDjKXFz@Ft5LR!G^~dE_$pv)TyAfJdj(idvEUA zb+hKITQx5)RF;$9xig`(80xiGUrf?SgvaV(y>RA$l*!3bDzJio1=e)x5^-Wuxn>huERHJ z*G_wuskov<8~6Xqb-(|={=J`W5f2NPdG3kLzv7n6o#T=yJd{P-wr$(CZQHhO+qP}r zwr$(C-ShpLs(FKXf>b4y~8y@-|u!Uv6?9KYs@rg|#EeoygPE0z~)z@L= zU_jwt(c$Ox-++;f2h;GC>=o&01#;n85Z#%x)&X@3RT#rq2O9uU|Ab>X z=7ChjVmvKxjj!Zc>NiE|As>T;|Lcu>9@lS&_z^JE+M2xrpRauNIcz}k26TkLA?7Tp zjftNfrouC1=rz+w~~l30od&n2^u7}nJp0he(QR_L&Y^D+`rEY zS{DiWPkOcBm&0$K!9dvZLP9mB)N+bDEL5&0EAhhW_$q7D%MrL0=5vJAE*_VTR%uXoG znb2)&B~y{2LW&m)`CfgEq0#fb>f$FiXH9iF^=FE_(M2XuEQf$rtR`rjHUlO=ZQ;?G(2;jw>Af%I%Z)9Dc_hp~P?}zK=+K;dub;4RE`Id`U2R&|8=|6$Y)U@5lYG*Q;!>p0^hNvar0ooqs!Mx*|% z?H&$2kIWObA^Q4Mb`VSEV%Wr&>k$m7p~R44b&U)14st{bNcjGPy6*RAbax$jdpbc zb93Vo^VerHpr^x5 z$XjDY%hNMIvIZ|HJv%{H6EQl8Y`kn`g)>)OGRe6~ol@P3_k{a}4D2)_;nz{!!=p4_wdi zVoRoM;ki6%)#vGA{rL8eM2|Sw`TB0yYHT%mTr{k-gq(5o&x`VVwxiA!{Q9gl&&GGE zBVUGylH_4e^n&E~N5o(#x1rN8TeRj-jle%)y~MU;lOYIZC6`RhEAJXrWl>sT3r(7M zT+EX6yxh|kJG6F~cp6yIv%!{|M<03%%u;(x+aYAHT{o;4yKSHW)POqF7K;zQPZ#*k zV)(6}O_)c%4J%4A*v@K8DmVGv)r?8CJ>tEzw4pZm3f7?~{XG;uQoW<>b}csO5#j;+ z6QQpc@YY|lOls|25k1TsSwbO8jO~Igk#zCRB-oH~qXK)oP3JSfCONFl7MahQn-Gtr z{GdbQa_u$wT}7MU675InGXy4lh8XkU9neO5!l6-LTS5zD?gzxy7mEEw+=HB(T_)7L zFz2t%mK|@T)PWYUz61FD0U47#mMHcUc73)@b+MwY^w8WEAIf~QH(hNJ*g*&I27k$M(NP$nDX5_!^V(JzR>t{o4D?a>a(~Y_9Yrw>_)Q#x0m!Ye&dz`G02 zw|)2Jod@|Mat!V@@C6fJO@9i+Gh4me0^qM$G#h|%q50*{)%8_SQAPRN*%@o1nR)|) zhNx@kzunqtx95MKS4akQO2K0K?2iEeEkr;VSmtXHB32%oG|VZ(VJ>H6(w>PaT*M5Y zlt`YA!D6zmA!I&`pRvSAp7r)N{1z_He4X9c<8;5}z3X+J-Rd#t-(A21KA#*Uv5Hua z7jYI2;fJi0{|FQ8!Q-&(D}Cn?z&<5VLr}F=leu306>5}gL%58X8}vQ!!bt7RTFR*9 zl>K_?`{OJ78XsrxyF$cflYR7Jc=EC$mP7M(bg=sT)m zoa^YHg3wA<#ZHB>gV94>Mqy??tzjd2o$Z*`aoZ92&iOF&5d5%)bR3cu@&k!3(^R>* zY<9^QOP)slN}?xgCDE0%ZJuX(%cd`y;-TfKWxrW!NxI}#ZoOFg%#0}{ zCMh=d{C@HH3@FXnYEFZ0hB9+Lw`@L{Y2F;8`Be*6ZKG?Wo1U9YYwm6ef41(VH*qmX zJGGPKP4bpSJGN@LWw~X3)eO5Cef@Nk`ikY<>>JxN<+sRZ(`SL-u8;guB-s)n*Ql^f z^BUnj3~bc*Ug;qQ!*l~d$A%y|jZwa?TwO;>F_%z6nWl@ODp*(BAZ zLNb#cCl$QNd0}oT({;JpIkf|POZXPyy^Nbe=sv}L3>d$}ypQ>)^G0`X*Cz_?5#D{o z7d&^Vy>I>W@-FvY_nG@^<1VpDTf+_s0gp z^5-7bBw%V&yR|2-9WNG2T$5sf?$5B&0p_73)B~2r{D|j?9IH1cJ%zi>u@A=dd+HO{ zc*pDqvV|d%)O^T^2(HMLLVcQxewbEk#XnH#g($X~(j&@Ztje{Z_K5BhaY~fC!yItA z%bsAd_QejfMdQM^O0}%DGQPE{&s3tPMOmn+KXuKIF$*8u4WZ1vhd!vKy{h@2k~&G* zx@?OsMS0SV0!iM(V=J1LF0EGc&Z^41eB1FPR}*e%$=E8<$+FY!;M8*x*_-7{$#$cE z*yhx1$;&v1$bv;+C+&Oeo-vhd>ht)Xhk_hUvy3Optqw$TzgX6(s~{FOm9>)qrn*FyBaLI~;& z;CK7ZK4HKnH>K-xZht}79zekyvB?~v^bgpYch)cm)ZNm0SYy!~;mz-1-H+VA{ZG%I zn<3(jLErO1J0@SLD5z2`E=lBS$^P_;GBw2Vd~xItAfNYKt4EYJ{YxD(c<1HYyaJea z;TWUv?{OEJAj}OCW+sX+0Fcaxu`e3*6BDCjyvwT z#eWJxHXj=Tz4%C!nnaXZZDL8HQcd5ZK*6@_vIf``aFXv2TfTR(HF+DAm0%71*L3cV zvvg(VUH__>n3)d6hGWO^zbESb9W(0a^n3h%A4lNv-@|VQp1uBa^t?D4nnF+K_qjhj z3FiMe+WX1H|K5%N`xNK@8|(X+c>cV6y0HJfo%?;H_haE*=k7sd0#(%c&`}%$A?7u-lJiOoAyYKT8^ghp*@24Lg z*(H2Ae!t(3r;iV8pA_`GJe@ww9QXGDGUXRFXqfx&%_uuamdVL<> zmu$;L(ckBnQ$B8L@1BH0Im`iYZ`uv_#dDx?m zC49d3D|$Np@9T%?HU5v6@5={sdU*LiBR?OH-{XN6|BuU$?46@>^?&-tfWlF1ncs)E z8%N~nOaCpHuYcFu;nVu>`@bUrN#6{XbkBeIKzi6(ntHgR^MvRpmVJ0ytIzLy_j&s` zVAsFy^GU`TdQa$y#OCq*Kv`ts&DecN_P_t?bNh+M>;5Xo|L6Yue7Eyy0GWX_y&npn z4F7UYc6X`rcwC+Bd!rmVrbhnFIU4S{N&3bxS9xFhc40V*eh>7A(lcX!fZs!R+hJ{c z2yQfjZ#1OtUU^jd_CAcg%`Cr>9z17yS$VBY5w1IKx%tqp3v)Abnjzf5dy2P%AqA}* zf1xmxBD^(*0>_=d)pBIt;pgcbXt*VQI1|6TB;IEC{nai?m3K-n+c+kCuN+~EFU7g< zw4UCfH66ZRmN3ZI;&Z=F)A-_B0rxgc&;5HU{qHBP*ef@%$kAfc7b5#2s z$G#J~5(49S<(~E{x{aL@t#lVA?G1l+Ijpcpq1`7)R z2U1aqyX|p_`!KHR)@X!sRQ7_pf^6yLBV=~7)KxIWB&>=BtiJ(B74{vIKy`h_L zpv6kel%$k3CK0AqwsBd2pdWnU(;U_)omb@U0(x%%fR_~7Sz7xr4h|_=s`HkkxBqr3 zk*6!t{`_e!iMu-1f7u)+Miibs8qdphfF(tB>KtaffSd=rgLcZJO}y3zPLB6DLJ?ls zaSy)V9#!q!kjN_!AR6|tC`?J$OGD$|zl)m>d)H}yXJu&RT$~zPT-CnVL0UD zY1SG^s+8ZjPWRZOv%8G=&r>3!Uu?0s=oS{kxQC;0d$}1EP}aCSP6Z|khD2lz)E&4d zw0Dj%T{oYERT*~2vKJ;2aM_~<^P(qwV6(Aqi;TAS+-Rc zu`aAr7w4R<&8F?uG(K*A5iqIn_CsOzoqr^9;wSHf;5Z63%2X;BUXx}+C)RREeOp(< zKX|x%(V6*&+`W!O460d^Y|;OWU52UXaa@ z(&tf?MAw&ensGhylq7ttc+8U2E|LlfE)EN3zIbHQZyceUj>z=MOdHUbOVLP-Kx@GD zAh>C*n2U&QP>01|a;a;v-843hW$aEY2|!WcXogT)DI|o|Sk(M*lJlb_TAK)={%+Dx zO4WB(%y+%}{C%ziT9XVQ2-W?naT+GsC5K-)q=uYFXn@cdQ0n?q^Bwh812y2?RC-kC zN?a3c{X!{?h{e@RZu6@sTo=|h4ZDq^4AC2XofYrZ^0wA!zay){*;#QK<}n!35V?RS zxt+)j^BMsNGTTo^%|;0eRyytDH~+#ZIn^RfvP@zL1)FVj(vqSj?Zu#yU|`5Oxd(9p zl3ji${!S+EKS7@brthH@LV|sk-6DFWV~;?|MsOKyyGacJTGgM!$613ohx-{S^T3dy z#_%2dzXy=rSnQA_T#m@dx&s1_#Rjw!_~1E&JJ5voJa+wCy>_?9p135msMQO@e5W6% zP6hUzTaTc>{acT?xqE^(QOr6Qp?$oL?Ebt!?XH^Y=oBFZHpC)e*sxT1L=@H5gfmOr z3W(yxvvDhlqWbAp;^5D&w}b7=?RR5y zyn)RQHA2da2w3nrA28qnpTvG<-2=A`xgVxGZL0zwtE`}Yl{&s-!#|y~_0CSw9gGBV zvs7?jheTWi3$P4e{zkn>VXwJt^)n6*-cLY|5V&RT!?9s*Re@X#iLp98zeC41v*hkR zP-b5VqK?O6y5Qb&XW3UZ*nve)5?l9)&8QTtzBQFEJUuS+!DSNxBa%l*O}egI<+oaz z&stoMO?snuV)BITaI#1c0a7Lq?(bKKP4P<4Mdz-I_5Z_p2y3vV!Rvpq}ARW zvzNzXL9Q0zL!m&}9O-?jd+#=&=|loEy5Iaj2*^bSen1M7Md%lPcQ?@cLJ8K;PC#VG z3$6|0GB|hK6S7Vdlo1&;L0W$xpQl%Z4TYMb2L($NdiJkEYeg9VG~z`7IuyFWFkS#< zB0xl+IvOIU7zXpUTVDX%FYU8+NyJv~mQFK)lTuQucP#KN!0#6nx&rp+Zedw(=Q$B{ z_@NpH1P@q-?Z&R?;Y5PmhcKP#Ja%RfWJn9ZvoBXV9yB77<}TOZHFbu!SOWdqTWd2= zBp}i)n~-KVk)Vy^9KHo(gPfTU<77k8Y~IUo<}`|3!j~6-YNp~GNey}mu@JOq7hnI+ zk0qHb8QZkKG6j%LIE@p`<=^JRqK>417jefAObnVAt*NWjuqg8z!;6xC_^b{mfQkan1X}+{5H7UD4-maN$Fj7eDuC? zO{G^hXvQP)Gx0Ouo!T|H+;{xNrV;M1u_3(MfbfbjAXWPGhLyW|X*zq5r_&M|BKXY>JtOkSs0guA26zpu?Q}IN{DFrLQTHyWUn5g=5mKsZ=5 z=>tl)qjIQ#2Q+3Em`|14URb}YK+7|r1)aPq7HB$3+0)tyxf zOADKW(zZ{0>n4myPr#9fs6I6EscF&oS$h4ZYXm(wgx5lF`i>-EsOFdk=V}%#bP6Sx z7eEj}E)(!i{SGR%ZG)#1S>BhJTRcu%DnKHdNn{eJIXL_k&XOIka67kLDH}~WQR(yW zi6h}9h++&36n|c06~c_-7=N=pG;v#vTmz7NVo=UdXwdrxq1+L&1pyekxgfpIL?Q2| zMD1erifiR>n6ymH=&+D&$!q~o0e+?W-IE>b27KcUgE>6SLy}2LE|ko2iV)FA-Hmm= zTT)JM0G(eYm9a2UPU>nDm=~?Hl~$+>a+5`Zehv4_lDckTXhYrF6o}pglcDXf+vK5M zShz1the23TIgObe>05Jd`l(#8NpT}Fs?IkyHN-~XBjr7@kk4Sa+HE`Kdr6{U4TKhB zGRX`sR}DCEb}kvyE@hFzY2NfHaEys|V?$q7hZO!&1JdC46Yk~5024Cl*@~lGhO#h6 zcAb3w?=v27=y=h~FT6n;ORx(HFbJ$Bp2;pRKf>)hKeeRr%&)a0*~I$qtX)?HAgG41z4_O|iIPTnLa3PsL5 zq6Wx`^wrEMuRnckf7vf^>q1f2ki9r8sSqQdU&TMCeTI&+hdCqt9jXSYh%&+VIQm z+tLW|Z=RGHZp3ZWZ7P<9X3<>F!i=*|F^${?RS<-Fo&*!+9M@d%ydd0b6>uPki~gZT zdw*6^5+MxC>dFXxF{3Tb;s!*_<;iT*ofuLr6eWIT=EjkOL#bzT!hGZwACK=vtC304 zq)cPW5MH^Q-+Aydd;b-=2Sr+9VPcM&HqH5#FpBV9Ro>j`q&M@IUd+Sh2Cz+r)w4I`%6$ zAP$oY0%qRflY2oWf2VjK0GWR8zQ(L8y;znTaL8TON#Qp~=Hv-Ho<1Vw@^n^&b|z>m zfXfqKnlnBKTXr)4NDiV2kpaK_4@Z)ZqLH)~fq$<{4 z`d`(+66mYU$B~rA3O8S!X>?v`T1Hrt2QRp^S|%U#lZwkjDgfnC2E{yqCBEf4fJ?+)htsPz z;VmLkNeslhguAc)fT9b)_+BCEF*fK~b6)Eaw70R;)2}73h?E8HAV_)6cbEWrEMm-h z``>z$Su-J?8pm$R4-)B@DghdqOWYdt;8Gfa>QGV&d@PqiBhfn28aPJ0ar{?_hb{>s!LxAXBGJf_o0FTB zc}Yk^))yl)Q~^uvHE;8I%+3d$iu0L1v@q z-O+zQ9ap6kq@|ufO}(G4P9c9s?voA=$_4)qMylf1pHDOGgrB`yr;O;0sKQL=N!m#g z6VhjZV;7-7jgoE5)}TQy5GQ7%Nw(j9`}c8$V3}@hAc=)7AncU;L-742G-Cn>C*rKB zj+Yg;-^0E77+cq^YQ)q7$?*02;TG7uM!K@(kK^14&Fd{0^Kiuqr6s|}yUooecZO%3 zhoDzF^hWvj;e&0ZpOc$#msWc|69qPOcsF5bhbuel$Y@ldUTvc0^7132Ep`BWG0%IZ zWIcm|y<=iwjL1^M-6rIfDB%*Uz;HzaLq?D2u7AszXKw1RRg}JP09vsACirN&$d%S? z!XEyvUmwwZ*ij}?=*AATx7@{N{RGIC910#Xtf=;nOmBB6r?2v;!4Wj+wFR!(5xQ7A;PYEGx&I%vQb0JY#z=`$>LdNb~<%jZJc`xVxedM0FciAVk5t@QKPC(VU5p>3i! zn7xmPMi_9W3^W#v)_Aq^3bstdNdHY9QnuP;KN11cvuFWXFwpa8rlMwHLd%5-VrT`j zxYh!ELkcX==04%?YNDX{kt!lGvx^Ks7g(SMJN1TjyP-Ma&H8C&_yLJ&p=}$p6(bt+ zCxEv}FLO~Q0fD39Q10^0_qS$8%p%0sWyg?Ee?+9|-+L;=chl4zl;bMCj{A5ZDrV(_ zvn%1@2wy$A%L@&Oj1p**&D=Pe>+Q{AH`Y)#o9NJ*jlhE2%RcPYEqiq%`-ysy7yT2Z z0t1umM%pDhr5x=;#%><011D`NPyyB@`R~>QH7-wZs2xKXNLlk-)E2JNLzUGGoXq)M z7fo+JBox?GN*bZc>bI{qo$^xw{+pox*nrv(E$lMPu-nBp^2ml zjNQ(o>;j!0If%+YUy`Y3!vaFw>jLc^mrT;otPu6gRMr>>znbC0MWwVuA)Bh55t<&z z+^d*xN3vbijv3u`ES z`|~S(L+7D1i@e!&DCl52t9KhUeVY8B?A6Jjl+8ie5YIY!U+T-2N<*5|i>P!}bd^}zpl30RG>#&B2ACQ7nIkhq&E!7Awx z4gZX%9?6uC0Xs#3ci6d~uZeQX6N zhHN$o^-6aC_aN}sffP*YBfZ;vz=aM!X-+bIai2JCTl%&PFoVhgyj>UF3<9jy=Co(k?oy$%qKvj%2m_?uELqh@JT<07yRpMvVWPQ|QcpgJ`1?jv#UT z1b|?XwcT#1^RqsCh*8a&Ne?j((Qh*_zP^0T!f6#dbCQ|rYeLc3Ns~HxOra^~b*AvU zJ#}vxeUQMRZwPD9HMh$dR@>giyXI^YN!6HMlbn^38rtPwCFRyt7>P{ppG67+A zx1{M#i%pAb75POr>+(-yE4|PPshqOh4V5RwkyDFhIfhAPcqPtIVR6HdjyzNFvP>r8 zuA-z3CuNM763F!e^|*#1K!Hqj8eckOPSB$7EU^j|f|)L^0u6*Z*7`DeOMFyTh$%kT z38?WQrc`vQ99awVOz{FQICDi~S`D1I&$t0AlQqE1SmFVQ8;*h~vo}6D0b8N@5}}I% zJ!De#1L9Qaw1FX21&o-qCP4vV#g^;Vs?19(gM)RW(!r0p7Ut%kwP z@>IB-WhLOn;P2DyHnpZFG0ewIZ8KG*3!{#-(P0rIAyqxI7G^}b)p&E!KV@~rZ~<4E zK_Kv>rf@MGNKir{{;;`iL&&9jt$l&%LzBrH=B#Ra;*t4@T#S#}%;2K0p(uzV9nyjQ zKdMTFh69FJanx9hR|E^%R2n?!f5;x0;51OTG4>PRQ|#VLf^=oj4}ZRsFa+?J0tY_o8K1hWMGA^bGaWg_mUa!bvG|4Jx!} zYMz>5K4zb~fYBC!wv;bL*q4$|Y+IKbwUM@#9>TB7_rRE@d!AFxNB{X;FERG4T^Kf; z%Z!BI*IYDo0av$j-IFr!i2ulPWGmHSC@WB+3B!z?j*=XHLCM`{FfNP7Cpk{yRSU<|fks>vu3HJKaZyGbTm}pK$!GsV86M2jf z&T|wY%K?^TcC$l{O5kyj+n$ic2oK*r+a~QdhHHAaq~b!+`oqRybc@h>+O$CA1bt_W zngi8`^@>um@Qw|{rXQ}XY&L}$p2+1Ut(tc^2CNQ%Q$o*rPoY?&w@+1q`JgAGSa>KQ&8P{B9ksG06wZhuSDN#3E8FPz zHyge^W!+LjY$IgAq*n^5H_{j=Jql&aOw+H%y>2}7x-GiDa+I-leqr7Fr0upL00i_&&m;1`w^yA(GRqr7@ zx}1mgQ&67<>DA}X;&s;sxOOBAEn^*Kk1lgE3IVIklb9#4jrs4pif=)*B|Tk^w|SSgY5ni^aUVxL zuf1$N^SA z-u@*hs{p}X!iXeL&O*d>Mr!GzUMf_vh>u`1SV4_%(0Pl3K#e-G>8nIhE^d*Us+@E21~niq#i z(gRfY#T6_3w!^S$3<}d`?q%WuN!mG$%v>hV?l~G1jv%J1A&v^2@f-N$H-&vNJ$bw2 zf{WDzjlN9#F~kax&@wLnpmdXg{_EWcT8Mu=f);;O0}ufkUL33XxFg$RAA}LR&i4hd z&-YR5y+$6!6ibfU7EHn-+IiDrA$mr7bCOu>kWk?2v>#628{1iX$?gXjgj@v0VN9#;&G3_oR1UoDqjJrR## zp?N=usO#wk(c%>EPGVSjMl83KIkgQXPtI^3Z`>`isY`xA{Q``_fu)>6w3?|(WdmIN ze}Rol=%92dWYFQsf4}nxI;-z+e0K!UWiK(m{H{Oa8B}kIja+ zO=_`{ad)cTu%gUa?4}6}o11QeNtGLQ%x0}+vKCi8mn^L;T?KUT%Wa^F2bt@MAgB!{ zMKNO5uozUWCT9_6J4hcnW5S;{ZK4@%;=80DhQnmkkA|eK<^W+|5_7>Y75_v>wyF*2 zRg>YgtLIH{dcglx*?V)S}=RDriH-2MkR_EHDrjV>mp?Z6g2} z^l2PgE%OnGCk9+pxPNcrZ8&HJEBryRw-|a*9k&4QZpO^C4Oh)Rc4iHAzs%jFCw**6W(p8f6SW z&f6|gGq=^`sD@@G#EER&QjE#1!vjY5%;ZW&?YIRze!wXZC($oP2Is{a-v zOh*y%UBaplHDu?EiwW7jkF{)7p{g1qH3qE4_+O=2&$+QmspB$W>fVQ?ia^QO8Y|8U zSk2jPdh%dgSr$sD$b{HrHc$M%jTDG%ahiF>+6a`>qd7&#VuBEYigDDc_P_^&WYorh zg0gNN!>S$~hGLh%IyWbxa~=^T;Tp)LY1stJl2nkJH8$d$myI;(AUrnGVeoZ7$>8f=2xyP>(bGRm4f$;>I0S~>}ktT2RbGext~Ea}yF6hy4JrMsNkYMO&=5>(`* zr<*2XfB7@KV0}5?K|ZKBt6VDntxMFazqbE%q1x3KjYB<*AD6j>dj!#hro9OjrInU$ zAyNUUbzvHYK3pi(XRSDD-h@^qsSpHEW;0YL?h2H=ULyY&Ld2Jek%fk3+*ft_2If;) z2=^8ZP^Ct94s230DJeyU=N9F&!ZJnDCa3T;Mm7rM2IQh1C%G~+O|L(QQ)6bOu@p+( zxXl#&D_P+HNr-bKzEYsDwn&v8=#}K$z0=U?)NK0uV_S>I9PY0-bL?Hgonk^z(=L6c zf9bH|28+!01zlz~RRH-YGb{_2j?sE04BKGPyh>3&5Qyv)`Xj=6yPD27stWsKH55v@ zKCHM7_>Ms_PraZ{$sT(XE3PNC>)s-*^>066KUs{Pl(xquoqL2+cGJAb3XUFk((e!LcLPy6QE zeQD#>JOlrcWmR29k+_u8#W^_;9Lgcm2=^K|4UVaI4TTRAtr86D6%?DZMN|XW|<<%V9+&r&q2bGQwz%B5W7J^4J<4&Avc8RReJR!cM z46afp$5~s04KEISF_ML+^wX}Uci_K_y(#zESo0mPXRt+swPPEM;>egVb&m%zd)4%M zt;eIA<2gcv-O9S#V>EeOsk$!evb7rGoX!3y#d(v__z@k&1=$)XlViF{Yf-Y6U0k&) zn>bUI-L)nP8d2l*J|-4H_ALk=k^61p7~2P?>qaX>4SQ7Z7S<7{eqfT2i>*;G8A%ju zNqG!Xq(B+v*HWeVQhuCVp)tGm@#dBAxB#;T6wfw{$V@87cd^R>D%QfK%?cwzYaK>D zG$+z4^@`e!@`2h%G(aPzkBU`vwBcedb(@7@Z%S5tI;g}z#O)Qb8~Yw z=-&Yg7JYG}tkX(Bc(9!i88EwLmMq-)zxdIlY}y-H5T1QieGYJ_Y^~>moL6gW$=Grz zIkVeR=8o2J-iK$Y8t3@frO}!+#G?A*Zns8UXT14~|mTMI}0B z?G?z@wVkycy!EPV9=oOrR~pw?z2SO>sA6N=;HyA?^U+DKF?irUs_fkdSkqIZ)=e|M zD%I3vbiq_)s-Jl?!u#Sba>~=&GDIY}sJ*J-L7Nru#xQpD?q1%+*0Z*zkUSAlWzE(s z1_VDG-!?oUMVLNKMF?z=}<Y->Db;d1U7alpFI6#PH&I#uTE63VFOK4vzr-zJIP~VKZ z!zq&K1W48!)i^va3=L7_*t1a#iQf8)9Y!X1lV^%-l`;=Z0nN|$HbmpG%i0mU&uteB zt%fh;8>bgm27#0>t4S?eu~Ny%PGZ3dG=hgo34~NHFj{HxVibcE1<8aKhDrrPw+k#{ zhl^iSdk+RLhGr@7fz54Q3l41j+BWUVskkEKXCEeqB8+`DfK9AEAQpoXWfljr-m!z! zt7@CdAo1-5_dw`mXaZ9yBHyely!Oj7wqot=_)k0Agw|#}S2oK*%-b|^J*u~&PVbxK z)o<6sSw~J-*L;KdC>!d_`kA;dKRs5cv{nBRLxN6kuaw@EU|9PepwjfGfrOsefXOTk z43=d!G?*Thi%v$E|1*P>c4ly~at1Mna@$Ihp1x(Agx*TEK zQpEDD;9fa>CEXrmb6ySW*t>pSLmPACV%D#Ym`cYE1GG?YZ-I7Z-waL7Tb8t`K4{m+ z@-t`0@~dY2G&9JXYl=#1S(dvb8|qAKA6^BB0eUAkO(+r~6O?F%!`KJ$G~IcOthKty zhP{jLy^s}mF-Tm|i%zbPtyRHpYqGivGBn6|Vtb9v(O!V1L9iG&U04~-&m#A{toAM0 zqLKoPlr%@ZF|WQKvpf!+nD!e9lO@IKS+cW(ZN3=?(rPMZRXXmI-G-gI+b3^tVm5Nv zd>c%AokhZUWHCEB%Jzb4+KoD9oJ)|8z2yiuRq^nC1wVA;=II~El1s`o@St1`O--(* zVgTb-IcC@*jm&e!rCmXBSJx)C_NqD`vvJLnmXXt|Nt%)C(i$jNu7_gf7%Zl_T{06& zVfGc*I94GjiF=&T5A{Hy8tkeH$Z3sBgmH0OPJt(qUoZ)JfhxA;T;t4H^31OV20B1F z)j~G5Gd0?(_)^5Z%#^7aZ(uSX`JGe&iS)e# zdC0eB{fzNz?FHq|r7*}WZYJTG9pH)pNOmQrysU8xg<&@jmrZmtI5_L2XIyNUA2fih zGmw+?nMo zs0jITvZT0>?{Hp^x}x)qV#;o6;K(==yQCk2_!@?V>f6TCFG{jwKWN#c0h264w8fk= zx!joLvC3?>WNzI);lE)kC2qZ2Zbx)KU|^3@d{1OjHHRns(29-dh~tH{av!i+o0sEv zgnTnvDH1$lO}>gzTn}dl+|D3)KOvg*bKoev5r?gmsM%_PChvd|3%Dc!8S7L08mD@d z&ENK1uQxmVm>pV>lgUhnkZeoHig|o4*2&~aW0+1N!9yAKt?ZlF z_?!`wiUsT=a|-w&YB^NZ%L%>+%@KRHYJUUx!pEiVVhW>iD6_yzLeUCCiYAN~BuEwb zR-QlsOXd%K2ncgyVQAiT;_->hN0LzUnbU6r%Pw!=E)AB7slalBEY4sD_+Y9cdrXgC zZhC$0W(8Jq)ME8VP?^6gdaaJP`_dwK8fopfC7A9t)V;+cXRnNpE|`+qPP6@LQ}4TH zO=t?cFowEVfV2vawCEj{x73c{?MLz49U;@{=ZdNMZ$$dYSbFD@CyNhrLjy*`8|;)y zbXmm~XsQHl6$vK1_0HfkhI6(DPLa@GRupdo!w<-37~9pPt>&66PDB9LN56Ukv(u+5 zbCO5nIMiiAnRQ=hy5rn4D3lDMY9oGbcAU^Od5QW%d2M-oP^Q(9jgC{<=g9!QU(W!T zYHSFEAKv0)6!}|T?I6s)>*5*|`y4PTHGbzbpja0iy7yv1Z85>==IyMRSJRoJ_d@Uq zWXN>hh7B>L?XfH^QmymmjdJCPqg^#%=QC%*MhTnYrop^GtMZuz?i9gr5({E!fEhh; zE;^i#S={<_l$}?c(mIYwIeRf$jtfK@AEoG+kaJlwO%@2riXB(lW^1Cu;0*zM_Jo?j>p5$faQd(LF z-vv)?!w&LBp0@DmCT;#@8L8`P-ljH7E9KG$?+dk}7^TeH6ToR9aXZso(1tDI1Y%Vt z?ar9}Df+yGVC(rNUWB(Zn8&G4cAP#*!~G3-b2TRM3s2Te^X4b0Nwwp47kq>+Xpe5b z6>fUx3y0zUsWHa8`j#5wt$pK_xpS7h8sosb#jej_V!+pSK^5iJ7f(hUe)rB!d!%;v z?BlY1MpIK%W7nL8Zx2?oZxM}x>fvi$+raxjX?_s3^g)Dxq~=C`o!SoFz(LV~p#Hm!0KK3ZNI}JEp+r z`p~yC@)v|U@@8U~R|m|Jk7m#cz=i#$M|-j4+JCylRkKQ{i0+q7Ftp^ValX`4n_la? zM7UNzkW>q-luu$v3Tc!7`4H6qQw^0U)TB}uz0UIDIf}vsMwml>l z>cQoeHK4bed`AOqQv&f?H9wYJD7t#LnN6jts$R~Fb5?%!zAOm_S#yI!nJ*^T9>;kW ztx;v7EF54{MefoXg~UF#uqKr2HKHFq4fDiew0drAVwEo8C)&=pE>4_LZqcJ?tXRie z!7wd%ZzJZSw9jftJ<6ArwV_$QI#1MeB#2L&=+n(dewF|g4}ICx=|%+XkLSK)#aK;R zXCAzaaxfrDvJ*k>(Hy}7_VQ$)4qgwmoBXVe?3nDQh1Q94*7nPl@Vdh(1>z_1E4ASvyH^Nlf^?9(zx&*J(8HR2&&{&O^?lS+`}7}BsuAc7 zag4W_!+Q2moM#hE@7*_CIls;_KwJFD@kMq1?uRkL1YP`(C_jz)$cVzsopf_mutVGb z%CX_+<--SUOMdFXhexKC9CwaAj?}Zlh}0UG;*_+uv&&i||44A6y<;~MXLCt40Tr05 zwN0Jz+sxWqm8X+)OBcRI&)n>2d{?Lvn=}jb#hD3+?Mw{h+G0o1J3n2;ytOy^Qo*`q z!m+JZA1-nav#RlSCTomO^U2Y*rR6DMWD-4fBYvs1N3K;3yCQVfo>n2a*>jPNNDF@T zj(NkAa#s$*ApAI`eqByPyG#Bk(zSo{{DY8P5XauG8bE&Vljs7+1-Hr$(pQy^-Fjv- zWjr;lQJAD?Q&W@tnV~T^W%MLkDr)0sMBYlcUWkt;0wbqf)&9r?hXYCn(d{(WM`4*bt|jhQgUt6VgH9`+l4;DGp?wBpnL@>Xx; zXQR+nyAbyVa5-_DcVsJP>C|_bws!hcv&11Z#s|j#W4^xYs{T_0$l9rUxVm*5CY=rI zX;5sm`Et!q{OjIz`=?Wqh*!?>y6-w$?@z6Jfr3*K=E&T!q8cYiJ{^o(=5|h3L+-Wz z{<5>HN0f!`yAp>97H9BhhJUzS!hVz%ie{`-=TLfG)1WM=B$q@wQXAsJxOKP*zq`7b zOz{Pa?lwSg^J#;ZBjW`m#6TIwPZ6aPr2%XGE^K$ths&td0?MZ4Ud7nWRBm};HZ$=WP3~O0xSV%apGEAu&`%|a;{NGW zbL%9~yEEAoixm`!ZHCuEANrd6EY^|M=3vwfll{df@wx6S) zx8&C(&V~i#TkDbhLsnNcCt4nM8Byy!DDVFARw&7^S6t^oB}x{GI5^2oh+g##iKc6{ zry~CpKYKcX49iy|X2f`a~xAXESLzJ*-z;gGjqv zw{>-^cJ#O;HG7|@d0YM2xxI;J7Ch1n-CSIQB~~2)*ENoSdd54jUknVveX&6vsfs}G z%TNsKlKQpvR;zS>&jID~BH66KB(*e9kd{j+-u&)F$eU8-f;*5cnMuusriyd=2MS39 zUsiCJiRWfY9)?~gDLA44@BYM{V`_Mxl&v?Om&ek=f_~N0L_=gP916RWZOmT{22Eq` z7d5snMfQU6d0gKC3b|7j#8i3wa6_^)+qjyCx^z=k~x0`%1w2& z7Qb7^-7!9xpbkLcT|+kamCD!9$B*YUIQ>!qxS1jlAmt}yZ~Rv8xrtWfUly&qsz@x5 zaluqB;Js)3sFW=~qfWyi>6uPeqKOoPJP`d2IUHMDngKq(TNfMy48bU4vJGs{&G@^e ze1rQ<`MVG1`YPFL(2d!_eJf4e8v*7?L|Y2?0cDkq7Bs)mtp*b>r= z3y8psna~&hIpiu6b~#eEjAwugRvuYsQtBK#8Pj%35ESj~Z_<^wb=hsIh_NfUJJ=vh zbPkwijtQBcNm!H5i)MAIn&)5s5A?3c2oCQa7F3i;azr3~%tc?=<`=96xRl|F$i83t z?ZTp=SKH7vT8_}$lH9A!eA_g^alK;aK#g=3yK@85K?Pp_YS35N-a`8N=}Fo3p|Vie zMt9hWp+1%sH<=CMHc8tCTzuClMf;pJUsI^=G;8$RJQv;6x#&Tcvj zfhz#|&F*m0Ubzj}GjnwtdUcHRViN4*Aq7)5B{bnQ278`6K_>}XS6T3SEA&zesLe`? z@vwTlk4}oSI>KN&^ClXh<_GMEQ*VzW0zobAjD?{t4lL|k7fO^omb4-%Qp_{07q3o2 zNvF2rpbJnpeCIS;Xu8wGTH?PP$l#BUk7Cfm^Iog8iPy&@e8@9M_30g z9)qxzN7QeJVPs2R*IpJK^E-X7G#Z?k(sV*%OB9iF`54g`V*qd?=zZ$#=7P{jB4GLCX+S-0K!3zDSPi(iKd&8d&xh?yzY& zT1jesG&2P_@q~)weC)PHZDqLHSrc^VUD|cfTWD66-=#g>gIC+SJ$JFA@7fMmaje3XcP2;JvF_?XZKg(e>qjhP zPtbUUr$Edd2&7f5IQ7f%H%O9CEn5DfZQS5Su9Y>o5zC|woolGm4HNIw>4&U&21I&lVb>X!=qj;uhD80GJRk=ne5iJrMJ-l|WDs!% z0jaQ$0YCh1md?KTn*US+p&OKMG6v^&g&o1~#1j&e=YQ+}6ewBy({H(sCvYQD$R4_5 zEy|vMUT6IQ45>pj3)&1aDF45d2yEar-o6SOP z3qxGht`ucPkp;} zmP`poUUZdA+ir17-7U=Jqa9ug62|4afMrw`rTLa;)OORr)soNTD=Nzm1;R&x=FCe> zI!pg2_dm0`FB~+H>_fb>NP=)TPugM3xj@zEnCwm;=Ci^1af_O-XP6j$1K-c#`7fCN zyJ;Rf-F8Q+1_t&X^#5ej+|||me>cr1d_8?I)gP}q)fc@>=5^+@PA^@tMH1Mg6WB;i zjSQd=!@x~e(Bg=|(c*-m(SC4ZDx=|fc<3|;ff}YMu4nNMVsx#llZN+ z#r>oK#2~nXz&0qJWm9{E?MdR%M z@S8u{Vxep0z9-bpp%hE?8Xtgixv}|ua`QB#W6qGKaW_e%v*SfU>e8Jm;I@}oF_glA zUf;sI!I*;#HLB<8*yTZ`d#sS-_C}Ou<_YY35WSv)WIdM4_UOMEBZ1R`zbf$0V!w%Q z4N_%7ua8^=J`QN925%!0LN7ZSpdL+WIeN#fzhIG$=gB==U%r>QeEaF^vSYoky@w4& ztz-9XjuLlne*2|V5hI@Bf?7Cx1B4Ji5mC^`Xd2?hkq2oC}xIlbO00+~|KPS5#VYH}>h!03&u92V*lT#3^U+#k{8{}1W#{1V)$t+q)_-xgR--Dt-fVX~ zO)U8Ky4r7{Gu7q%xU+h)dOU5yb!9r?mMl6bu&0Y=|xRUPQ!9v|}Y4!WpEAw=x8CagK{ z80znK{*E@>_$<{oBz#-Xo@bW@pU0_71m906ou8u^r+gn@w!27W1wQFs9@>)5mIa~ z8F15!&1QbQ9IQJjZoOWfJ^6L#Lo0RH0(#4ZAx`4;T@~@7SHU%Jmo}CoiEtf5GwP#e z;{R^QOaLYQ0JNX+@_N4G*W@+*Ha_*KoLoBzMen36cv{`=ptW!TzSFqVrk!Jg=NImI_($yUjB4R36Kj12ZCA=FVN4Af#zr@$Z7jhXn z6<702hrlogVQ2hM+XHsU5pbDGMb_r+K2H>7Wz@9q@%b9*p{1q* zMJ{L!=GC+>5c(DD(B=$O@E^{r!X-wL06feprQaU8g z3$tYj(OH%PdM-k2SD{vG4y^$*QUz@a={$36C{|8^T^8FoF{s`Y;L5i0tDbI9EVxid zdSw@Q@Iv%iu-C)UUE5+8WxuT`S}beO%UOAG{JY>93Bjk1H=L^1+f21oi!Dyg=O2+l z)rnoz-(YAgekU$08x?UV<@oRWK$C_mUAQYFN=k8Y%R^x1yBr9o>S?0;=IF5DjCy)q z4p=ts(Ej#H+Hlnp{iz(OPlUX^PJJ0`tDVt?x`eESV^2k;|Dv+R;ulUouN~lk-2T4T zCG0wpoB}=1tQf)j!+ZUyg}DqGU!0S0D?_@&l`PyGtSX~zlM^G| zND7_qSE#Y}swuwGZNJ<@qtn4j}& z)jgT+v&v@~D|*%GR{ldE=e*Tl_h#QEm>*Q;(1rup@T@L{hb>uw>!#cFdZ zoA)#w!9lOEVxg!-&*vCHt|D~ryJl(=>jQ``rb78d=9<;Ve zsv@O?L~eB#M|r=16kt5ySNGi>lvon>bYI;l;7adyq$ovXimff{VA^tMMrB2eKs_WMsVXHVh5HJ{d=HVvBWMIG49|83V;zucCh zw`c%*`QHt+(c8Qt5_NfO@`H*PZ-Lm^TN30+ht2MnMAd%2e|$JR7t;^&K!bt&JSj+* zt5-mvqq8-6Z?%V^E^Z^537~%W=SWSEdl7-|VLcrs#OCe~ zC-U`J9_3LZ@Oau@TN>%=*miDAe~Vn5YSku4QhITrk@NpBe-p{rb9&5Ng`iUh#v_Ir zU;oFix0$7@0!LG>yPzlzY-uEfMWiTN-k3ORVRk;cVJFDW0U8go>bT2xmVJ$7%+_Cu z&ezM^v7JmyJk+%>9Vbxp>%gjMYa}sNwnJMFHayT9G~K`5~zHkP!_2@TgU_zX(nF%DEp& zfp-52`QT5r-^xcvo!HwpCq$jy+m;* z??X~_E66E|^MByBwY8KRS_j#{&LDj(i0)Z$;_cWFoWT5~ZZNt;3A}ZpuP}WR z&Qj5_C5!l54*jNA47~>Ed^Nec1P%L2BAlIo@ra#>CVZc`@tMwLw_pb=Nn-smIpj~N4(XBY(+^s7AfTVNWs<$UDWla!(GK;y(!(&NK z)c(le)}G%r<1W@|>uC7K2?sTY?+f;zOSRbQYMh-4<1H#|I*+NnU$nb^y74Wbk15ZI z*>KWIl9*rEo*S}ubD)0c6nS{Y#eW@^HQ4hmjzdsMb49)XK>Fb!$?+Qteoqwue+?l{ z!JGl6hssx!4>w|iG^zI2ze35A88$+o#GpqD~pEybYy9{^*aNC1vLt z)TZ7^gP7;;{@B@;#R1m0TKFl25{nQ3;iHN2gRmI+S3v`s4Pj^4VXi%2kdc>`38@{^ zR+qwu6C69^b*Z55$W44`HCi%4XdvhNGs7Qz9jAHCg75J*WJhH%FCV*z5xt(Mcd3ID zLg@$LrgRCUJWm4hHO8>e5*Kt|6lcRP@P`dn|NGy(mv{n3FO}^Q$a-u**sca&$v4k3 zk`a|!R;2%|hr%H(KNf@SH`8+75o;EDKGd0x?EbTQiz~%~X;-y23sRR($-P}YZy052 zO2C^^iagRN!XQ*lK>H(IDm<4}DjX@-v6|JotD=P9E^JJO2yNM#fFhq~j&tE<`(UH$ zUgj_GSkgV?&5QNWVP~nYZ0auf%0Qo6;;-xe2=|bv?R*0&DG2Qr8Ge5Z$@nV26j`(V zfv63>KP6{Rr3`0H8(|c^_M0h*o>YscC`^gDqL`yu?;Ulq7|F4;(q?uvUk_VbjO^^2 z7<1C1f=OA*&Ta@}MiO=aOp?4GbuC~@kXT3n&GBn(hNNW0lDTqADPPrGfp9d3 zEZ?XW%D^o%WT4|Mf2vH`Sx0HdIYVP8P4!ztC92K^=#D=BOH_ML=f&!hpfiP}!Bl0D z5vTj|>Je}4;0!zTD~67@`fE^0Q;_qu(s@VJ&Hc=Yzvb^f?M;2U{R%GNAkbM|XbOp? z(A{d2;ANF#tByieWjj+cpR1oWYK%TP>=iz=WXZEMZf0xOlzum#AS6~m!Dt%K2bM)p zJFb<>h}HfNYo;mQ%uc;csOo~IXP)jLK=e^$a?q!R0;_&CZw9QQdGDcj_E1Tsekb)Z zQ5DZz$}GJCw^A1%7m5d8UPd*jifem)e6XJVHowMx7-3JK$KlieD9nzKv*P^3c^324 zdAf=fQ<||TxaF50kDTFr7j<}e%I0|YFvu_Q<>9*>tV6=T$64I%@nrC+F=Dz!c@p}D z=fE}kEhHfY;`S?p7d5OJqvzJ4=h_bL!G#livRaRl%q|R&TOJ4w20tZX=9EL|0g87eG*ODPD zOk&WnkPm%^V8UpZn&)H3M4f{9Gt^4;~5P7qF4p-vn z56=6;gqfya&P2^rm~gLiA-<YkMHtS?acREP4b=%5%tXod}5IzPA!^ct8}6UL*c2cTb)@mm7B-Q ztA3FyH-%_el{u8-#i#m9ARz-z_>sn>5;#q_JJcE z*H7b$AB1NivBqNg5fBZ^Jxfr`dz>=?j`bHKVA3S^vI$2sfydQ}j+N^9qnm0oyn3S_ z6d(y1vj8ol0ib(tuhxL&L0#h*ar^mjFKurtrpkLItZ>C%fNH2-(~cgPsk5+DT|j+k zV2OuPF&tL?HkzA-N8MLLmNSDf^We%KC&&Qpd{=OeRauIN{)}<76n@6;N^hUi`Z#=1 zZJ|ks9_=!xT6K|7JN?_2;^r$HIqK4bp}LNe2&w7g6|hAyoVo>PdZG-nW!Tqmoiyu`YJ3zH`9o@<9s_guJIA^ z**7t;@B66S@I}u0QVKkj2`ZG3g&HAxH)O{`33t1xaX)_9W6#&t=}Ru`%&=~u%|A{1k=*5fwx<*O?bX+P7RGoQt>g=biD5YzTSh|c5flp z{uzxlN;zJOv0kJ#ACEkv(3F1mMpw#&=$^*gs{R|-{J|1)s&yzVo*Ig#w2CQkCSfgO zrNN-@Vtcd+J5NKiHbY;18_?ZR?g!?YAwlxP$I{|64KcddHS)=gi)HT<_qQh|Y4-Ef zBKi%{>woeZUkW&?4PN2?4%j|5LH>+;Bf%)e6X@1!$Po_Xjn_ZJ)^dMdNOY|)`5}Y; zIMd~9h^1aC%^@1bg{JdbQP9GUrj=j{x<=+ek`kSaOr>{ND>xUKt;{$oxQR{L2j1x6 zk5ra2&_b@FsX_G44u(VLk4Yqy398VGIsVEUQp`PWaxozK;&2|{qvfQatZ>jw7(b(q zCgQuiOmQ$%sN&{SSbEUe>@Yj;Y(@gH*W1*(A6y{);}3NuW;z4mULNC54XNn8fqg(( zs-g(F8w#`PaOda@o8=uD`yIiKCOf)Nc3&rtb&5_}rH^jp^e!6dW-I@#p0u`ddaNXQmPW>Zb;=)_=1pT(n;{OQD!hA5g+lB@yQ0d zDnpUIdn`1JP%j6uvOf=GN;1_*pWN99!gy!I6O^WOyJNUg<8))W0{HUD2`NGhe60ugWEX2<;&Ny%d65Q>1KF*)L(=`^9mP`@@AEXw{C+ zYgwS#omJk`BY>xjS(B^o<(oRWRm0KwbuIawA`n25$S%ObDc-I>Qonn)Fg&k<*1M%W zL5Gxvewl8RMx5n1i~0>=K3i}KrZf@g^`{T^hX|OMSSQ)5xDYnfCb?HX`mW7uO%X_@ zLAyOt+bUZ$cJ6j&t3=@eB9)hS81aJHoMN6k;JHZlTApBpjL|duP0bWtBVM?NY$Yr#kB{-fGL5kG?9K>`x+NyfqVl^|I&1M+d`J2jnuEXhF3`-WfSrN;DC7Mw7XaCP! z8ML$$wgnpJQ$o>XVWD%g`;AbGMHEm;#Z{@nwi>6oaE|iFPng9R9sPp!r*-PZ29u~& zl;ZzMBS;wGM%hxKtP3 zc$13){tIU`bos zE#c9R%<@$JWB=VmS7CpLvT3}Sr0FJ4n}X(}$^~|?lm_O_iRZ)!Q6t4uPzGt!kPc}* zSO@lHmBv-nj1N028oc0#b?+)zdNEtGPyq6LSkxrSz>}x8ESSW+EX`3KmdHdqvoP

HB;3swL+G@^VL`?4EbyLn8BHKgs-QJS-kTtz>1 zz~57ZL#(8zxrh9PI?Ypf<%48eQSVLbWhjLK7Nm4k_t6Oh1?}k(R`5KS5vqSb7JYrGtKP9{Z1FkK4sS;Q6`VyyA#r4?aRN-ISZ4#JAG zL9PEr$!3rpNMW(G3=_ou5?|uo8{*_TfG4&0Zs1$Q)8iOesAA0^X)GaOdnZ_;_56gq zlVbtp63Dd-JF_N7$mg4~d{qkS`Y~_@HUOrJkX%lEL05~E;|oONZf|P>7(5?rVz`@4 z8O`$uV|S`Y`)B@DrsiGH;he)uYZSLfj)hdt!v@Al;`lXS4}GD_71T;h`q4U8 z$evr|!T8IFQ~B*p4pL{Z^k*IZ};$psz*2^;3{)0V-VMn5p!DBi-kT%ndqAswK zHRWK_;iZ2vUvLpWG`#0zSrUy%rkq7pBUbjWAm*XY{U>x4y$)m7WNOTs*&IYv(jc}n z>E84ZpT^#m+_SD$0r66o87|zma{?o`d70aV6o@oUDPBL0LZYw8DZ69b%)0XiH?g2=A#W}K$?VP;}=G|9F* z1B1gol2E%TizGqlkxfgSB0RNDs>NJDwlqQpiG&J~7O;0b%$T8RG#Oj`UU!KZC6`Pa zH5@*F6+MGcmTJQ0J9RiQGACi%!WSeGY>kxbFsD#_UYXP=%%7)GY7x1rMd$ifjh$^k zFZW^pd+!TR3Dp&L0pZKrynSv>7gQ@unvY>Qq0%ma!i8jwgUeWU@S^nE|Yh3|c#5${a~73*c^?{jr>^ z?&_{b$YAxyFo2+PwskXrY{KZd$Yno&sZ0VT_-{>gp|Hd~s?UIvzj?fcFCstZFdsZ0 z7E)>3t?ko!ON&*SukN0z%X7-pjJNunl7hK97cU~W+~>mY58R{U!%ZLS%Xw^1$czLu zDH>3st&l?-r0c2DW(`@n_U0MzlaO+0aq}>Im**Adbh`2&CO`Kc5I{S28tUqTC1*q1 zTo*6WQJh=1eLo~Fg0}=y}r!-$S3${C(UjOh~zdhOMvKf3xb@IJE7&X?}D!GZ9)3DXwJp7^C)^jAl#o`~6 zwa4`^8Q1gw0KlclX5^uCn>MYZ&TJ-%M?1EP$yNO|rJ*;wlg#a_TbI*rzUc4>cO$TL z6pg49#iZ@)XGV%2We>A)@t4LgC4SM+yRB*rcvLrNt=HG?>260n7-M+0hxZH-%S!AQ zI|`1Jk?s-w4_$TDHRpF>;y_CfbXJI^$Wju^G6#=qt}$_yag4!62v))~AzTganz_>T2(A=FSy^i4#I(6_XMab17}qSeB<)X#?PJV&vn9?` zP(c%ARI^#91fW~1jH4oF+uIr0x4xj(I|j#^zD=J`%=x|!x)Q1vs5V~*ZV*bP_e>>K8H zwAA(O(T2p77^M=4{PT^V8!!y(HuFyHBtH0o&YBe^Vr>UiRl_CBobhXb65Id+JZ&st zM)KkSU6i`(UOIp6i+Y*MGe^4~Sa$w-aHHj&W~eUM6>(J7n;V zy{u}|1B`LV_7~Xi%H$*XBTlfRJ#2+DD6?xMatTvB<4=1qSv8J7rv0=77k}|?cx#0)!AOBk_^In@ZZOcC&wA^p zAx@1jcJ}KXVtURn!|MP*BM}Z+Wz706@0_xE29}ErfO)|DKXLmw(ng8^u-5EkM{EN6 zETP}Ls~^UqQeowvU3-$7>#uNIemH~bjYm0vD+xrZrW_^Uw`kbHumeBsgPI`M#KcHF z;5eh~=z5RDICw8Sf>GZl9fY{S#?BjVZ z`1%541`2JI+q4QR73|DwbNWei;@$SqVQKEtAS$g^i0JM7SiCV6koQYdJEIg#v^9UzYT+Hl&*>K&m-^tMYno}!?HF#LeaUZlh=u? ze;levT_vMLq63)7$;Hg15UlV5!QOAf8A8~+2n;gx;=r(+qgi#ctNC*jvLHRZO5$99 z4Pbej%){`0Bx>UawO9D$1xT7IrmW`_^SjXpZp2X+WGWsj|IoL$$tK%btF$6 z{dO;sXsSe#Xk@NzXsJ|MNEwNja($%J7WUn)%I7hH2}q-?0v;Y*7IVjrY`!sU-ll08 zOHByQo+qz!U^S(n=2Aey-Qaa!BNJuT`0oAidv#?$yN!PR^ut8P;pf$c*@{YAYxveD zXog@(Z?)FdN!Ujwn z%%VJKzX^_3J9Ry`xg1*rq!lZ-Nw9+BXlnJy+hd;;GdEN@DRBV~w)OIN)MX`lNZiB*eK zK*HDVb<(IW(YsR#ZR1Z;FFLr%Ij~|xftqR`J@*n?VLztB8-%SV(CsQlZxJ4fO%#21 zBa&MMGc@oEUA~uU#kG#=L_1^BiWb+-VhI|6Z1V?8C}eT!7ap4qq~kU=09(juM>KBEF-vvaJ2>)x9tJbdg&QZwmOK9df)F~lj7jT~w&`3? zBe#M%CG8Csn~SYBi->J+{5&9FI|<)s;K!_zW~Y+!J-x4;nxMh*oAP%Ar#Z3u37uqB zF+U4-Eq;cCI8d=G=(_(TfFjf6HZ+k?9@@U^8GcwKU~Ph4#{AWc8w=4ct5dp$wLJ)? zV%b10OgM#az9+u-CZ#3+ zcR&-44HlK&ej6)GFomk&RJKOm*#rHtEqeB~MY`%NLknZKShNw;GvCK2s<&e}Tg=AW z>)EPTHZViVg=D0~;3!Q(b7H*f6qH3MUmR3zbdcm+k{NyzplslULRgtJRXS<#$D$RP z8%9zJ5DAOQdssj0&4sB-wNdFTv1z*{)WmIyGe?Ilj62GB7M*!`Lp`s?QKlErzbR`n zB>ZcGMa)hu19E7#5!4lWD>7ePUHDkjfA@ah+gD}&0BY}VYyI{{t~N-2WWBx#8sv$( z)9b93*!Nx&Se80Gb*aDbcU;MN{da&jXSQ>`r;}gfZ^qs=-|6yVvrVBDKz=@TuP!V2 zyuM!(d8(D1VNtJLK5#z7zCZMoHM&0nhQbfWLP39Ip>AtsNQxgPt*TV(WS9=!!xojX z!@=b?WNyvER_*(^N1bWYnwJ`K(j_e?`jr9mq`YEq<}X^fyUXfU#|nKjyIFbShIqb* z7>4w~r>x>JkZ0SCK07+Ud1_O)Ip%?Wh*pfi_JF|NVY?v?V;rgzoVVYd1g zhd8IM(Jqw9#KVrM)NkVve7QjA8$ap$!?iU^PUgA~9+7fXnv~dhaW{4$vrgkO(kxXk zIhG=vc+`U7Qvf*$6P!pZgo2}t$o+-B(F9`Yj!5s}sVu^w-RkzDK|jG|$vT2>FAm*MZc_E4=G994n>7O^<( z7I~>ub}17MQuTZ3QV7j~R6}!n#oD?3Y(30R+aBr#osT-n7?}63e7ePotgj_L@BA5( zbtdm#oApeBLYV4AB7rokFhf~<97ln9c8HwS-myI&^M8;zq%wJ2jFE}|n(`0(K^;$_ zOwAZpbqZAU@nl>KXQsR>e|Z@`qgwGV9;s%d-;*NWXwJW~x?5gW#0E^gGrNEMZSZ}i zFc(Zs{pu}#ArU*EvHbaT>t*TRcIzj(!q)aB?xiH3r{Fg7q55{VY1gd({U7LE$c=A8 za&=2u7VISgaU=$I{jWX3#uXMIwfMUoj0*jTPM?_x-@4)o5oN)-5D}39_V6yUNeiH z8#8y4#bPLg6boGMtIUSaxCJvNCA*g{Qclm~(s2zc6c8}MA&%|r@P%`m!)$2b*q_(Q zd_AFWk9gVbvi|g@N%7C%en(Uc|JbqG$NG}A zegto?uamPYnoHg0So;qQBDa$U!4GNQn;8p-%KS3#w|jM+G(OvHNH0(J209;8>Zji{ z#If8?_4(3)Az5^hGf?E}a!Sp(L7uxX!mJi{J@!0omU?(TTLSyHy`Xu)Qd_Y0b9n`v zsg-^K@Ol~r#>iE3k-QcYvYy1z3CDa7B?Zd$)?VZC*fNasNBBu}WZ(fS<`1wET@%QK zS+DbaxOEQ6pw{ zB(DgTK~31k7rhjqzrE+ktO&JDwn!gjL++$OjyG(`SN^pPniNdI%Y*mYKE6j?b$8{n z3lOT0(SE0$QE}p;!_`E|0X3W#MF_}GR=U6!?sVW=94VG+jQwfPvTbD8mFVV0VY9hY zT{hc)ef8;5$phj{3u{y2wZ_LLLD!n!^QhIlIBo$jF6@KIE4Ih2#zx7tliSbcUk{V9 z=AA6Sd}Y13wojwQp(C#K=?IekCzqMfQwssD9amoT$>2<4L*#4)bA>vElbyQudC#`k z?tYkzgUjDLyTqsjP8NlfVKVH@IA$dM^(F!MlE|dXO$(&quTp4fv&Zq?=N>Ss3hJ7V*Vy zSmcI475qiK+3LBv-{80vv?Z7kRqWQ%y($r#1A4$@%tYcK)+liTN~4oDA`?&~ZX?|p z+p&67j|oC521Wrl(-6&GIqkb85|&J9jRZgIn*O}SuCIgOtJs>Q(@4d`wtscD20%AO z9YaO&N$>Nzw)Gy(zC;16^|qA_0mPrd)SsTFs*JW96!nHTYlR@9RNrvlxzh3T)s~Wh zETKww23L&Zj!_ob6g-0!H22Q(#o{bEWb@$8t8Zs88N5W?9|+;`ZKGq&Epk$G&S93cFdd5SWLgao^8U z1C6GM3MKx_+{8~a(>J+gA7!%^Lc8R_RlIms%H@`EmfkL7vAs~suA4~LG((M=!eF)M zR!GTVifr|O9DPzkZx_A+Kqmq7YRKzEQu*h_&?%YrALcwBbIR0M+oClKIDeH#`d$d} zqcvXiTNmpvS~9q8)5N&5*LZLG`q#gRibu8B-&SD8m0Brwh6^|MgKT1hWma(cHA{u8 zsZ~~|X=T|S3}l-yW=aRrOlxeRjvRo=pi)s}BEM90{=8YVU6fCZf*t)HvFtoks&{G;lXIQ-A}E`Kvfe!kQ- z$$tV>#jM-Q_&v_%x%>Y<4R^aAVJsjbg?HLh{hpCGna}^@&kN~Nl8o_DJR$$FXwqn* zBfIYH8tWDCwwxT?!4J1BMJY}Jiq6wVv`RuUk^}Z|b3BJ-G+44+*AVT7rujrY1Sp<-Z|LCb320^TD~OPU!7i3y1DBxxR+*q z^_#f*E#XM6NW>Sz3eN>RVIqbmkV@;pnqDZH*7MVp8(I)!X)O zOj6MThUfJY=IyF;7ZO8YI^se(^BsAOWQenckvAAmZAYz6TRoi~*CQxTTj3^Bv;wR` z7>IMuM2rClNotMCkoLdq8Pf78T$q?O`s?M+%_5GA#p?F+ec za{$eP>6s-Y@&yato6oYqkG7iEf2eqcs?oqCeJ5#JKV zkdK0JStsp^J^6ZIvzeKZ;i=QOmVsX?VKH|1J_dXWP_ZD|=b7tmaZ6_Dbng#DrWKP_ zth zGt_`6aY&)#CGj7p!l6H%QR0+{s|5>-3_qe9R^TavZ1ir|ZF$z4t>{0a~*Put@JB4B?FT?*WXjD@$w}zbH9Q;u}qxpBq zVq&f1KVr|sJV9Wc?XMvkjIw#NRZGBm76S>NgCM@~N=)1oY$MAK@xBYq!A_UEX-<*M4Jb?Cad7wp6m<7rYvqd#?sYV zzn<7-LWr(e2mx4F-z&=O>o1d6m#aOjVnP zSs`0#VQ$t5B{eVFAVD!-u^X#EW?G5Ms(*RS*bNKiP?5BVlBxa%2tH;EQjlQ;-6xfJ z98Cjp&ZT>?)F!i^l0##xBp_B&LfEyrYBgQAbq4}kHpF}^T7HQ|`P^)*7@{`j?u^&2 zWx$+6*V-DFsZ(@Y%yCex%N*({(y5DU)=&9YA)C@X=C*T zqw}`A6$+U7UwEZm0LKy~MJlpI!qB}RGrx2)y&s@eRqC?>g%|^RI;A;yd(?brrt=DQ zG_TGngSITk4lIA}^`hQ|4F`l24+p@FK!rfK(n;`XyCaU{d0M^vX2t-ebk>vM>bCi> z{(epCPr205*M09zP2b{-y3p|sHubU6s$J)orvnvpa{SutZmc!D`7GMUC%{KuSc<7C z!v~=FvLW7kqKyowHQM6pvfceBT-*0enBY>6s*p%stw)}Wk51C+Uuz?*uWA$}$#7fq zA!O2|K!t1YG~D?Y0M6-es(F2PKm9jdznBhsmak3XfslqL!IR3PSV>R)88nJT{b$~q zhkqG6U>;!b$1g8*!LJXlGwsm)2W*5J>Z%te#MKX9t6$6k)K*H}{W-|IUSVby6!UL2 zT@>^fFb12`7cCu+E-F$6Qf+ZEw-j*^qAT#3e<$GCORPT+^-~|_b^8PZgij~+1xU1w z0b_Z?ch6aT?Sx{|mS9Onu(ZNTxavJW{&UKlG>P zZJlFqqiNLnyr}x#@CiP7b~kZ;rj53JsV)4l$OS_(rWHEdV+`{z7X0}Dar0~k!9n;( zO%1WnbQY4yZToj^7QlB{%--q!r@;&GZlW2?sL0Rhjne5U^%2{U$zD9t}-`f^{U3=R`xD0lZ5~otp zs7msm#2y7{=I9S9;V>#4nVW#{7@G8!yg=XJXdFbregP0MgS=BgN>ElUD2A`=%)^(6 zALw&@K>Og_c?#vX0F197Inx216bKV=HLF6xE*D-EeS|)e7veH_E0*4k5w9P~C8Z{3*dUKryoWbxf$uXkt>MM_u=eYA`6uYq z)ot*sv{A(?qid)db>L)UsKgGO3vn!6?U%MPLHN7!t9XS^ry&ESM#y#zSH4?;c&bgs z7GM7Etv3KAps3dux9oq|x~AArgKb^gwr$(CZQHipUE6MVZQHhO+iveZ$xUuW!vpE(bM(&R`zN7V)u7+||Z4gw62 zvbjKE{)UCj_;EepzSw2#?7dc;y8OjIIgnnxb3>#YjX3)q+U7j|ljr=F^MF&O?}@Ig z@Dhj+`vv5V?s!8-mlAy?Wm$M9W%7zQ*Ipt@&{}mzNa?Pjc{ zSEteV@@s7eem1Sl#n{1^GZOUv^LiyGn(2H2Z#>#t=GU`qg|}mE;D7j=y1NM%-CC{h zxTp*GY^hb*GI!gVn)bP|Iqui3>;)oF82D7+40DM|e~myFQHfd2Jnld%Pn%;6VEuQ! zWIVDePm!rPSS1}|a;s*;3WVSqwdf>pSTO)7!~32H(#vbKcsq&wI+w-sb!fbk+?Tts z>NDbUf_PQ(kgSKnbs`#>>^hUd^0fG_&TzjWftX`f9(aUe@fc8^bd+aPORdlb(%7ib zhAKviYb1{i*~si9hAI6GNUcTrFJ_X5KDKm`BwJSw$e0(O3{Z@&Ef#q9;##@}jTLKviQKwe&qK%+&qGa)N4p=nAi*7vRC!GT3- zTmZzv78Ur#K+4>;3y>(dG7KBJ;RAzz)-aCnfBAAJX7_T*CAOKtmqALC>9MN6E_P0> zS8hvK4GrfuZ(}MZAy3_WtKDb0N8vTPT>Q9e_3;aYXclqF-%SuBz3Tkn^m@12PS`^k z8v3eAbT{N!%`N7FXwL^r@JsbJ96W*GPdFym|MoZ=zcWBRs~fOHC2p4ol^}IcnZzkO zn%9LT-;>4!u{`9Vkqd~zOle~7)3YZp`iI? z(O_uUO)yYYE93j@06&fEwRCHlcXrM@&hj;Y?0*S1$?h^jWL3PxIhbOC_f-q3&0kJCFUj z%}KjyF=KA`+cFxy>T({3xefE4BG#hY?5&0WfQpAWnvnp~gU# z;b0%eSWIndJmUiu%%*6Rel;Be>06u`S>3o?b$AdA&z820`N9o!#sBit1U~~Ut>^vG z{1E8xsqLgB6pG)w5>B6oGB}gxp^F9~N2t7Yx2su8I)9<#Fx%BJPJJ3W0(s+gxSHq zzQx&u04$|QM!3fqo|)9lID4>bT*wp&zI)+mt*FE4I3Q_KExH>d^t54ogDxrHr7CrrUK$YP zS%bn5vDPoPEqzv3WW@`s^oYadljn6A*AybBU3o!k_3-J!f!n1v&Di=aA}|_bVZWNU zc-@E|UpvHV`?>!X3UFn;npBdv_kDhS4MyMT-}#2OHA^o2D=9$iN4Np8!w>bU>^i!B z3tzWOPeKjhA5@Z#Q19E?Aqw-4P;YDo_$o`Hh_5yJ?qeGG6o0_x@QQiDuc7$^Of?=5 zQ+shhKx3jc<3=%ljvA4c6~pFU5lLv}z9pY<8-YYT+s_(66r-|;b-}&{5`2;u(H0-) z8Y#oe#dIt;rB#-)a)f7$Jqkxh)p40JocDYE*6N}sJk@W6-+8e@*nQCfVtrxP+g@=R zKjZn6aiLzB#ZK0yv$5$J+hiEXoOjf)@(MboFgodqjXZ(gzxO9a9BCphA^h;T2zK)D z*gk>w{$W2X^!@?UM7#>8$9j3<`DmI^)dtRulrSub27g?Xs%G59wjqPzY#eXW(^ay% zLBmUSqmnyh5j}*|!M(V;gCSuPRfDW1P49egK^?rpm-_6yM?LSNob9F%+Oo_uvb>6> z+&g>E)Q3se)%b^Li8*iiS1#}oesa{*( zUM(cn#*7|~AC-!w4VV!?0=so&wTK~JwS1tQG9yhDkUGMde(nTEX3MoEIgFPpbT?^yP!gJcM7{!AnnH z*Y1_-%V=`gzQBj&NHJwK4Q%yW^eZb$G3IH%M(;#cU&9Z^1eV+rX`_?7MBzvi=p&Qn z2$&XOj~2i24oH%OU8v@$h7&3dZm7upP3(w&ppL{g}I)QW>M(+|8N`Y;7f7K zi{XFezpoIUoxOYNebem1Z^RRY8Ui0rt(~jRs9EZk`(%8cQSXxz|Iy5puWhU_f(dC# zY@Sn85EV#V%kD6`$$}RL$-)8oGpi^nedXHZDWr4c-2rx{hM9wztr|2k;>!!(O>N#8 zZcL1$>rpUtlFgaCJ=oL^2R8lW?fE+GRR>STTe}MQUL_}M&2oP&AYXgzZn|%Yxo3~91g3Exlzp*mbWQaLb8H-+NSv4L z+c;55#j`psN2{lqJEi}jPR$~y+X9iEFb(lzId&4Sv89pL8ciz9s%nedwR1W&MS0-| z_py6A1YSd&M!TH-dP4zTe5RvinpF6Z#`La?u9+iw27R72rb=C9nZa5vlW4u|rvLdu z{!;`kv|YUE_26n?fYR<7{j8Tib=$_Tdmp^KtDL2hJV-bkqU@zg*p3ZNZRe!X85nX6 zw6#Jyr1a6Teyrp2>>0qcd@ryad@rf*8;vB{OOw_bPnOfeGcY(~WDYZa;s$uRk$g@s zCZBlV$iWeX>NOx)3&oiv8v2%FpgCqJzI1Uul%8y^+BxCeyw&F6hncnXr3oTJf|g^y z*WZ4zocTZ~Z2L=56v}cAev!^*ZfLlBe~6a5{*mRGBLDpNN^wqu-{)x|kXIZQmv7RS z6|a_>w)bn*xL3QW**osw%7DPhzM)y#eMn#w9sJ--bgDDfbqIp5M$ynu0zmtth;>hzEf_&ylqLE63wK z%m4TRbmI9I!0cRTLa^rcusuMLzQO;rE)ncI?o>*VCIoyi#+0&3We}G~ePCq8%zY@@ zar7p(%{YKVa4(zyp4QC*aab^fBZvA(O1xUMA$_rnGO%mQ4iQDd;_@IFre+QqAewYC zFM8i83Omi76hj2ZaZK>c#e8YL8fn#=Rket(UI*I`Uv6Gz#2R=R8YVC#{>y24J#`ha z`)4d;8P+`+YjWrOeJ#ICUooy6|9ODoWqfwp3hVg0i`db4ZQy{8^!a#TLBoK1au0*e zYx@l^g`N)q+WvOk)eczxtnDdlhZqg#yBX~w_8Wk$SYHe9n<3y3xPxzpA6oMl{=ny6 zO}y9lUvaV!5PzqJJRar2J?7T@eSE;g(l^*T9=v)d)~TrwH#$D({Z|T_8<=E>6{Jv9MS*F&EW9IOX&OVjosz=tRbPGYwkJeyheBF#iIME z@9CJktR#&^9X6}mSf~5rqVa;v^*K}>ANO-@&(PQpzpUg54cmM5vHtWb|JzEek!vTs z_mbk5s=#M{EcU_t-#>XkNNV&Oukf8aso_LT=~Mo9@#kT6 z=@rNl7vGnw)n#}aa<~URLr0S;_)E{c+qksLg~Q_rX0@M#$I-6HTgahFa}W*AxLdJ^K0XfTPImziZ8)Hp~atKMKf0)(p zUh&AXI|1||LdtT;ee@MMpGYv$!5YyngPn{NQ2UFf2xVU$tT%qp95K%W%~fr2o}N$i zL%A3bold(c`eLe~!x`j7WDljFF(yO? z;J{jH!}#^g1V1J%ZAK&kPV>(r3>kLm4Xdmind)h@ENyU&g&<=lay$@h0qpVADogH` zuBhx`5M3})H8}^0BCp`r4>fwUwo~$HTSovuaOd-X@17XlzPKcnsMDzh?esm!W|+UdCV*#!dMYzGSzv?;$Xycu)4hC=;NX14yRyFCi4l z7Q5I=7@LWOfPW7AXYf2r~&QypXO)q_@ zvt7eWbvR=^xtk*3Mv(3V$Q>@cl*n`c%+?u<$CZM01Ej+pF5avR$uX^Q`Ro+LDeN1a zru+I~X*^pvS4s*>=%dv0ot$2~?`+S@RhlvAl#?U(OEC)CAg}91^aK{9{dzAA`fN^u z5~l`TxqeR|#ZPH~60JQyXRKNku-E>_cg3O01cp3ZDg%iewD;UMRk^la_W*m3ok~vm z-NV}Ja}1rEY8Hvx+nto;%RAZi?#WzJDk}Pwk?&uJ?c3kg-q*$I14BUOS>F10^(`c( z()9xr)C1b?Gqopy`&|sSZ~U(jh3)$+&ASxv^$tujUuJuOhGN54=ie;x22?E8W5txL<#*cHH2nFTC!x^u^X(HVo{R=G93H^DgSxmNOP$sMm3fk2b*DDc^Ik>ea zwil^X?b_jj(_Se^SY`UwL_ zYY>Ba|5yY#p?{ewRr;`ZMFy7CkWnV2F6}jBIT%oQ7&Lf#onK%i2wZAJ9Cx65^;X5ea@X;_hu`xj4mm6 z$kCMYM8hE8zew8STHJe3_-lY*BfT4ewC{*Y$#AlT&4Q zoDZwj0|fCID=*F;gf1Ptc^p+kdIC5=qY`kI*oQ?_Ofnp_stCLmsx4Olr^3QM>wv4X z!B|K{m;vr|iTQU7S9kjI1Q@b5VGyUG zKenPy>LBVQ=KmCo+7zNGLm&SgATp#|RLi6!bwi633*0xoM^ou|U$y~~ z8lxuLnffwBUg5@pw=kv!=MskFd$UK-k{Fn?{F@AB)5&ks zKl)so>LhsgS#+TM@G$vYw(mN7dEB++<9fQEj^I_)u@rl;{GLoquQy$nJ@s7mZ|VK^ z9^VJjK3v#hna03g2Qh7y;xK(;*s;|`H)yUC^mQ?Y0-T@#j+fAe54x+8rfI<|8)h4u zc}=Vt^I3{)EbA%h@VA^>BS@?qOB!rI8i%9&sp%aFy$a0{v&MRUP_pNX;r_gYC*33j zK>R8z<1B_e>DteIH!W_AT1+T*J1#cDV?J|r)3oLwe${nXew=5tAoyBH)KDojw`k-{ zz5@W8oJcswt25FFW;!1mZl%K_Ds6w*_=1dV8nDfTMFt-n3wE>X@c~UnMjVguen9*g z+%dt>6)Ieg0Q3$oN&$%#-VdAD}l+nUH)brIY-&6*Q#)APR@KgKt)T?}*oNmMRCO*y(Hm%lBXvxW9;B zz=mUWYlrtj1qYPD`*NY75v)5Hx;AR8}R zSK!W+;^?0Oh4lKaIaFT50#yAfyreDaIIP}WGe^j-{D!N7ekJJZne-t}QXF88t(wXI zmZ3tNDTwb!o{hz9liy$RKd-2f81T)nF8O{*`ExLSexR#SpZzL5&Z5!f6TYDE`@e34 z*aqIO0d}K%{)zpucS=u8#s8^Yldc)wT?#?XD@gfnujR{bt@@qOmfHQ*_FH&J`2F1@ zr#~bwTrx^d+19@2H^oE#+xbg5+BM)@|4Z)?T4K+fA-0$&)A5@nKSKWcL4J>gnQiP( zuEyPxBSObSL+%^N__Hd#?>_Qu%Wc@3e{HgvH3Dn`B}o|hOD92oe@hO8eG@bdyNP3j z+6wp{JVa(ot{TQ@QvB~GX~EefFF(;QXro63OPEcvQjnk4Vwc2*7|#$eVnXZkF4oHj-llQL*(9qVV(GlJwRVLwQs10x z(N#J^Ukh&2t8E8j^)o{MEx;qR@&a(1gCY*0*AU?T@^bGd&7{L61>e=MjXe^i1k|C+kwb==L;D`w6+zPp)vVVwsgY%$^2inB@?Z)e#q7K|D(tQ+nARd1L9@BfD=);T>f8@x_RBSP0G~Y2HXT8Z0XEnyPGS`a`~{m* zZ{!p*_4xPP4Aq+~?m}(~ujD^!+!$PO2}h!b!6oo)Zvk`5?fkJJe*&nBr#HX^dIag) z=Sy@L`#8i}>7bhm&uUNB{5Lw=;NUfNJ-r4$iA@zg65AQIa}~Z{k74)TT7+*xTYXO- zpS4=8mCJ9dtUqe3*baOo_AU6<2K}L;7Uc20-`jfF?kccs9X%5J8T5*|gNbiD!kMAj zcMtAeFqJLhl)xy_J*$v`Ny3_9Kum66b(sATH-`}B3`5<0zU={cU!FGr!*B3ZP_<(E za*yN}k_WB@p={720H!em67`RoN4N^)Er8x{{WVDs_QwR=w|*%-NKb}v#LeOhg53yc z-Lxfq|Eg5;?{8&YC45vx)Io12PpYYAPbw%Hg3kd^r@i}b&-b3NurwH(GL_Ot-xL67 z0h<7b@MnV%vGVAIVRk7Fa~UI(_Vk~E2F&n@v8X8=t1(BcGD7Asezso+oa?Su^bvlW z4Q_Y;)9miouE!b9&f6Sz`(0m{Z=1#%8T80?EN6m~?0j^R0@*cM9ON13qPyOvi3V;4q{?y}{$Rfw%Yj$^-7h(HP*7Xvl&PLFK6Oc^3*ri7QDQi9aOGB-gTZ z@;ga98A?eHb`|LxXzQfO&?9dmgqE5B`XVt=dCg&>SeEG`qLIOZHb%~ zIrjgMkuzEu&sr_4oz$Nua;`H1GbNfSjW5R+PRCo!o@EhRQ z#Ia7JM&i{)JBUtC9A3C(xW=*3v6Q2%;{=){icXTI3vA{38}zuTVa2t@%t}L;PA?qZ zIi1<|T<{$vt8LZ;sE&iSPTJdSuWjA~xCw+=CY3fxsO>s>G7u`472b<6Mv{%^AvhOi|S^kl|gS)r<$Gun%p#Kbo z|6ar3z-Gf_)1XBOlZGY!N&G@;Z|bQ^${UqCu;WV82N2Z$)fQ*X@3{I$`i5%-oTd_8 zrkE?&tyi%GV|G;30!Qr5R?Aay4p5STXi{6y#-5N5rFq7#M@4+7SW{_!PS8GdN z(IcMfm8+_6P$N>j4l1q?4^}4Jog%t*&-uw1NV^`nc8_+V5m@EQZm`w^v6eXy>I+vU zj*lygbM~MP9rz6#QK#R}C&2!W6)ve&-5CA-Tl?XV^3NW4_K5o%o`2%2-vEW*P&i5n zWml9lM|2(~mH)ndmrQSMwFi#80?tNVoKJ6TgV1!UUDOa*)Gg^mq%6vK*&R&o2*J*X zvjm7gZy?hnK`qvRMP zj6Q$p?~!)QF*yS1?=UA#)KWvQX|j&%G-=X~hh1BnsV0a*jZIOgeQ>^UqB&=j=gTOd z#OcNH#ra18MvY=gailp@9kW+jDWddhRxerET5GOvY_t~ZdPu1rK#Me{>RAX>T-{qL zWl&qmH4vM_=SJse83AA#u(bzlz*ECuS>bUFZOpe5@;e^9I7;j+*BbsrOuM!lb~~4J zcqM6|#yYBn!5S?q8fMLuGdd1otT>3t%WMJ73?UVzaUj#H!3r8=L_E;g98JiuOnB&? z@*p8^3D^MDmu_LQDdw2@+<=*pNLG*}XquC_8b%|(q5pp^(@-A)LlRX00D*rk6aW&y z+||p=##G1)Yg>N*3j9-)QSGT4E@)fvx}jNr7^vky`76Qy}g5}9j&vW zo%8?3^8aGxe<7`?hl`V;kiCtGq>G`Ar7^9$snLIC(7D^2{hyeriMz84`Shc!jh&5l zo`>;fi|u9$d&{-Szg~U)_18o8?dR_1=~hOKc56q+%v5=XTM{xVC=l2OCe@dK#P2pR z|Bw0auds@WCKv?7+J|}6Bd|_)az6{BA>uqf-Ph>ICmK2#||#`JaB>=oZ(^gi2;Y1O$tnII%bW{C;DqjE$`IFNbjc%n$r-NF!w7 z@{GVmc^Z$6IIxRf!11Y#!Kd)gNK|Japa%XUZueP6c18v;phUs%`^K+;Yv2mn;ji$o z{ULvwLi~6lrQpW&O^(iA2Y%N8iti(6LWk50+v&wg%>xu83BQ)-{IVE2XU9by|GugvVKM>m3{|E z{tQ#dK4mvOcEz=|_An^v$=_H~ZzBzgfb_SKz$5^0gz!&!vl{yT=t~G#K$5!%XKvsk zK)49tFd+u8GIx!A{(j0-zN)^y$iClKgp=btdQwAQE?}iZVq)X~MZwCzMasAV^|{*m zyN@00@Rk*=?C>54bSy3QSae8mrQ*iVcicd8Cck|oLXZG5!m-QvY->SO4~xK-#eL?# z_P)Np%KpAI5Q-2a?sLK;ed<~qFu!Db1o0jXdhZEYTkRerO&@*AQ=lD4bQrc6Mi`

R5q3i!z;NSj&dl8p!e|cQD{T94UPL)j6 zkO<~i9A4Pw7rp}LxcUI3T%Vg&V|Q(<@osAA_Y4U8i3Ws&O^Sy_$wq$R<`t5D|5DJ? zHZ-uXw{!6G^$iY-OiIYhF3hW`uWRV*?d_YHpIg}5J~+6$et7u%1q6YBLP5ekB_W`r zVPN826@3k8>7QQYr%PHp=1H?8NL4T2G-PY}^O!g8T)AYtMYrDj)NdoE$xDuS-EuGC zdjuL50*0?fU`B>=^3SU?E86Aj>5q>Ea&YKgBlotAy?Z7(%=k609~+7?&Z$$R4W7O` zj!-?_E@(A{2jMd31O28nOkLlguCQ-|bSQN&(66s!?m8-lbx`xMuW;Q(1RZi0tx_9i@r zL=DQVBAB8~i82W~FqHHJJ{tHfZWKeQb8uwkk}YGFjv-fR({#a2<1UE4T?flB`%pru zj(!uK;U9^Js(DSAt7r87v3@;|yks_gCy$=KWh`Q)Bk3T>3in$-8684z8vW$$hs8`b z%1kJ-6dOX`x}3JLb{y3DyZ=I&uRdE23y&Dpk>B;sQONU?<5X-L{G1lUIXImgkxmag zu+_j7=1-W`IF`h|g0OMF+yRx_RUBn6v$hi;X)c)&+rGKX_ZpPy+$^zRiH=bqM@r6c zm5;!66i62&DMi6yk&>zC5YHl`kUCf$7$=p>&X_(==jhk5oX^#_ACIcQ)*P_OYgy4$ zfC_deiq^Sqgdr!gXFFz&467HT8a@v$8KJIlK7;RO6ai$X{beLZwD{`Lxl{yDeqtnS z#!x@b79|EfwQjiS$%?sAF~^5Ce(RuYsLJ>4OfqE9;v7JOj^2=_-plQJb*Mh(4~ZWN zoCmmp-izD#&0BWP^tS<4y3TBLLnH1-zY!D+=;sGa$VETzBFIf#Rnu(Mw*0Qk?IoG9 z)9qvmj<8jNq!ocA1a?Fl84SBB8mEM8ir5T`lx7V!w1f;!h=5E@D`*CKbOl{3*SXKN zk2OKvK!ieoaZtpq>y&$kFNycf_j{}P@g~g~SEQg}X`uWe`_OfGez6Ty)u1-kWXnQZ z8Ui)}KRg5})+A#O>2Dwd3S0}&K2@+)aV*UyOVo}yW>|-sGnpQlQF`ScAlPYUxu7{= zr-PRu3e=(Z`dx&}g`HvWJlPX*G`uw*{Oj0u+kh&JL}Cf(T;+@v`7{bbK7tlUZuRN@l6}azaNiFhKAf?E;`aeOq!)}IAXLvkciD@!p`m0?HF8 za5^F*xTdAb)*IU0WkLN6=^v^Y z@@>o`f~M}k%+;@IfRDgPwJ?%l6BMt#rA82OEr}6k`KImlEQ%Ip{RrWVUnoPMeSaX$ zX<%z7X?Ko2HZunK`T|DheV|Wb?x0}f_zFnjl_Q@#VtMnHHIM#^}tL;>6W8=-iP+BXn z{W$ZAwip9MJq4?np@k=^#DHV#L@G+v&i64#d|bSXeFAbIw9-(&9L+dg?Br^w%CP4O zDfgB7Pe!EVsm1UMs=h>|rDYSRfW681F#MBYfIluUM_E%ShixYlVAK!}j89*8dO&Yo zjuES7xSLyE`Al7Qlw4=*c-QXE*t~1Qy+p_7(THtS4W%uyd)|(-e9RqF_m%hzesasW zlWC5|e_WrNw4{dTjIlD%I4_i1k-et$M9-B26KHZ8E$-TYu z$$fjw^mQS-!X|1Lp?S0WM04~m=OxqmZM8*DgVWBIK`_%{yjzY(Cg9kzT&xxfjpd5B zO+V8wk)emt*C~b!t*gQ>pJrFCcwnid`+u*APy*607YJgyohY9FOr~B?7y1)jLcKlA zv#v1vi15S=&6C*@C8+pbm19%20{u}fVX6nlLewutrb>()wrGFLk4oNXS4j?NtT0wi zR$iA>*fKr3&G;^9Ety7a%gyJdCbvOQ_PUQ!QB}}4RjeVnIwRV_gZ}to4Cu=bwACaL zNkwgMz7|aWX?Haaz>v6p`FX9|QiUYeN=&v{Nb-$~2|sV=pL8#r-}4GDed$~Dvat0z z^hbS|HLogk`P4d(^uOqOl3z>lE)Uh$Pux(qkPA!S#az`!aDD_(7LhLJazDlKX68gf zE8wS9Kv%4aJOv1KgN<~Q46O6=_I3#EG0jI^qVbsu_D`z7o|@zu(grYn2j#}$XI1}d z>uo6yJXk_4uMKdvZmH4l;a~$sIxEK+JiV|&U(z&F1DI{SGUf>UhyTH;zY!NmQ74hrEdGcO)Pm!>RstVZQ|Sk3N|AQ6E%jTHyu zBmAL-S%hX<+*uxhWNwy!1yoAw`M!bn4jIEOgP$v6`_Rd1EaZ{-&E~m4lb$=Md?Rcx zLTs7kOei}&K(1oyS?a1)2|KooeaWI{fj76gd%gC#kXG~J7tcCiJJ>{Lt?R@ns$&}K zNyNH?jgUy-!*<|akS*lkG^Djw&BQ4wkWc{$PW-~*d}PC3u`8vFvI`TC1yy~*?&g2F zW`9g?AdFmyyx`&m%BZ{~j+6iUM1ODmz>WkTx*MMy5^)Ro0~}3AHe=(9`2`bYVam~b zVo7B^5p<;Cmg(e|LuiSiSLOubZ7&j7u1aB*5D$2TPv112j?Hc)#(3s@l->!(mF2xm zp=55H{iwKY+~Y;QB~){d^(7hhUWZ>C;IR@Aki{@0Ms_wj?e!SVpRt<$hwPV&U1YzR z2mYvAHZHFe8&^^cl{9`2f_9u#a8$2&r*$LcO|RZ%GI*!@sf_LIblm{M@=RBnJ-nZa zIU*!BN3A*;#zrcm;i10FhUUBx4JAQ%WCA3;VFIMEgnPB2AKBo@P#0Aua(`|*DG9^m z!j@9bH-^4CUHA0;P7mH`v|%%9Id3?DQxBf#7y^oNigzd4Jj{4oxNw(V zRjntnHe|J3kRhust&vqrb#TP&f?qP3dEM)g*jhzu zSXZG0HG7+W^Bsgr(VbFHb( zP`PU4XjWcXC4a?d8=&OhBO|GTXH|HzG%w!@c9^@f~*A<|F+?6+i0E|4z0M}n0Nu4&~S~a&_x-&3~F+t3R&o zUI*%FMn78DZ%tAas@|K3t&j@8$D9M=fwpxNtu^pN^6Y<(v3A|mV~#D=e3>Az>76UD z(-Ts!U&Sm6@^WfVmExHnPXneRj?Z9MqH1EL8UV(mXudfw7ss|v8*^qQzvMP-e@k}N zCGRv&c>(S*>ulkj@e;wd*#a;T1v7X3yoLi_46fe4s-d#U_UH!JzT;A@C$# z9O;`hXyF2mFR}qrIs{Y07P8RNd>jQVx6xEGMD&uiTu8pCOe8dhzpQjOxF|OsJq+I; zOTn;p0O*!L@x$FJ@&AWqO(tMRzXE_1hVfmNO~myfyh%x)kgK>g9Xjw-lodspxb~*W zJGzNww&a1{NGAi~7N?Dh$nj*|9=auupu5k7_6h(;9@_+yFsDM*7%L~B%~eOcsu93| z$DZ*Lo1!Ei7k2IvVXEfKQj;i*Tnnh13?NZ8AjYq%C?+j?yfA&Etf34slEDtrOzu&p z{>xwG@%NKhQHng`_s4!Vw z!Qee|8YwO;YP@aNXu)yd005r1MZ2H!Dy#lvKyWkg`PN?MFnUtdqj~E+r1qWQpapV9 z+M)kRGPH^26N19dxn%_{$tt#`Igk!()|{j81bl$5l#NZtcFYO6bB+tKIDQmwZ1c!r ztxXnUZW->2lZY(IsH~4_kk@W(pSKcnEa!~dtakch@H?AJCRB3k@WuV(Ob!K1Fw!kVb~RHx;S1={-lOX8^Fy5n=6 zjYF+Taf1TVJ)(elF`)2yc9J`&OMw)@zg#ESN<*~k&XHbB3ob`4Tu(DK-A1izpnZ9~ z+pRBq9F8@h5n<@!E9Vaqr^+sMv+yE(V0nT4Gg^OnzvN*5AlB*l^g+>!j!gd*xI~gV z0sAT)BiPe^tC_z9h3r%VPlubOPf+*+0aCZ-qY59f;Lc$XE9aRrq`EHnl<*yB6ylpX z;g2({98;<=a=rytZQIX;fN9?fGhEFRd@;+dQ_yH3i$c`$dFP1{xo*ftek}Y#EXBkP zfG)^kJr^Ecldwg8gyYEXie9N=p1+G$kSEL|Da#9aXfMhCPr}rhcLJB2B@M@M6}pIU zJsMd8S$HF@ZKXtRo6K8I!Oz(`LXP|S?c$~FyyfeHjyTZBBVB~^R3yHsh?46IwI??D zO03D)c?R}_a;;RTTo!0;g1-NpRLq96iKHZ`U_M{rBq??Vlyra_lQntXmd+~2yoK>s zcf!zOgXu#k&b*2$ClkXFP?UDAlLZA(k%6uPqrXg&_(C9!pGMu`D@_yrHfj2?5m36i z&BCvwL+3bO1ug0Pg>qR=zXeN2)-JSp#4N_rK9l&2_XDOksL!D3Txju;&CuuljBjZ%c`> zZ2v*+L-$r9wKWfcJtaZ#zX}cwqExot+$Lr^p(vg!NquC|V3niH8Mp-K!&7e~i60I| zi1EG6kyKS#Q^AZ#Jx1cGhW=(p^Bac+TS=o?UmEI*OqQ;#N9O5=_J;1Rum5D&PxvPK z0NmqM_NGJN&t83cA_;EVb_#6TTUWjX9QNkE2^?4EZB?0c2L~(j`vQu1wT_X;(KAXM zA#dTXo@n106E$aEl!faFM>5nED&uFwiQ73lO?&$xj{i3=tn?-e>=@gYlm7EPOWGC; z6u&J6cU$rR#-GZp&grYw<%FO?c8QHtiN2Z~8c%^F+=n*N3xGe_-y;Ld5`N7>Fe9Tu zw{lE;Bpfw7R(70N)`JN{PY|uAPW|Rq87?5pnq{V8nang2dG31XUXM+?3*r`UG$m2U z!2=8if-9U3(P{faObg@C+X3`%g*IP)|E@y@cNONneYIvANJ(O=WN}X>5+0aU4V)&; zRp)YZ4jvD84j*cCT4J34#TTvFoTvHdH|jtnY>=iiQP5&2Oz|a^WLJYOx3GX++wt1G z@_WXTLPJ7G0#_RoDx;Je1skUCOFsp&hKIV*%4Ouj=1%lT@XRK0=3j(hY6Y z#>4sIYSQ2)W%@h|MdvFulqy{rBmX!p5g>ZhxWKZDF}JZEg0n;GUNK7a8v-rh<9e`5 zWFAn+Io`$Xj3%7OU=E9~-_n7iCL)kqT&J8U4PbTxpi0uP&yeuh$QlSWUm_A8-|1wL z7dd--?xq43yVnkR2i<;#1E8>zgdT534u;|jD0%fIJUS#CKC)2-0Q%Y|5n(kVgLvGS z0&{ROPdfzcs1Gs(+00S7{vr8DN<0d&@DVZkwrBN6Y!-%SX}~{yuR>TFbBD{d{eKfgC|aajb=UtlNBkbr7;^1YEXfv2H>)Xs$lG3iR=^hdxOU=1oUp%+ERNP ziZcUF8kHkB3X=t9`Sy`UsRIBJKZAPTuK!Hl*#x;o_z{OfN5VIKKXgSEf(&p4>hFtjxI!MQvK<}**JDuYGSrNBs66}i!OZpihz#F z*nj~yu-2t$j*5o1N^9Wp_pI*$dcblxdgjFm1VJ}&ckX!8fy_34eD$QaYmWMh_5zFM zLXCO6Fkhv9VG0X{0R8Dx^2coDQlk`uygPIIcAK+V(AbsS=Km>J~nR#_{i7ipg!F<^^J`dM#H#WV@m-d}dAT&m79<&x(tSZ+=wZowxu(hgVa2F-( zqsKJU2~vnuA)5-ftm2~kbDpwVRy4kbZINZ}ti?5WM`75qE!bKCSc#=_XT}3fTUZ20 zY`Rh zB?YYV#r23+4~?V-n`j`6@ko50yP0!7rwb2un6rk|v23wspZ?A?K|9l9J&l-Ho|yL)wspd|eoZJZfpLkTMW@ zf4YNl(Tf55pA@EUAcEW5dQyrs+XV+pqp92i{(}>^TAc;SLwJ%Pc-%qj6;agcmmT_q z0l|kWx3>?{e&1C`)uBt>W^8wJw?nmhJh!;?vXu=-3BC0znEF~FbJWTC5Gfn!*i%hS z*yu?%071U&kw7+|D1`OWn|2~w+3eS68lcz|#}JLx)0M_+`^eZ@5kBPo+U3vVy<}HR z#ZkFv@a;B|v)xI<nDRCe*`~m`99+cK}A!CjzfRPN^jd<Vnm41b9^QnoK9bvYJxqjSnzORaZ|kczGNhuPKm zFRvgBAi0~GSALTiE5F%ByXIv+eR2D~ybQ`GP``H!@!g(YS}KR;=7xEM1DahveX(7v~}}(()x9W z>RA@8fPu}-N{(>kq;3u?a7^yL+gj(xGJzS$>nUqja$^!-UJ~(r95`Q>`MXse5Pom4 zG_W$#^|BbRQD&!rPGLxFqd~s7NNFnxrOa8akffrE0Pb}ZC_yJYT1UQ&-bUSGS*!%7 zOZF!oQXWNzt7vEyaILbwWS3OdR0i4O>oVq%K}xE6r{YsN*vv4`bOLUaxnU}*V3%2j z_&JsJVfOI#raGCJ_YswMl(3&1U5CNd!_nI2=vhnK3F9jloq-k%s#F0`?N5UH+&{oX zs{yQuuo7YkNa@8$X=q}2Lg?M3l*oTb(C1%daqA)VzgWk?=9(0R$38O$Whuxdj;drc4Dm6GPfQE(qr&c;#7$2A zav(nonXBEcY0^+jANa|OD$vZG)OOv{)HqW|-h_`9T{IId!&{sV%0}T-e;#VU^eH31 zL>m9?ug?Edg35GoqhJlw=Kpor^|AymQp-lC3zWG}c%j8zQxUuzky)3G5!aTL{1=$p z2Z*SQ0PnV|YI?eOoepoBF8Az+VsY;jO+l)S5Jr|l>MacFu_wz9fGmD5g_Sx#loMHS za6Uq`KexAdr!9J;C`93JJpkv zW96c#f~!C9qZ$;yH?%+kt6gAeW{8RJsv=KH=L;Bf`#j5Y0=~u{9zT^FNg=k7&9hEj zl{}YO+CIYZrCHMULP5 z>8yA&6YXKM@oE6F@9k3L%rZ-peMQ5ae4yrGexN=#{ykle7su1x&2kr&b)G@MEN?bP zfvX}TQD7q_+A||yd@EN)ykb;Mc}f3xq7Mr!9>SJ(~0Hhre~X&Cisxbu_bqETj(|55tIH0 zpt9inz02xz*HZ)pI@7)+VeEH0rwmxzZO8J@43;+l8^FAFH}u$y5?jc6lHxb0>BL^i zIFn5sH6+foJ57$dbN)pic6u|?ka^m0lnbAh!!;y5gp>$rleU;TXo{2l@ti|MVRTME zI%g9peD-4Sg!9u|oMdPj=3^<*W8r=m5Pjr(p-el{DK2l>J1>YKYom&jaYjx5I6cc) z%G0zuxAMe&?^7S_I>tYdjKfgcTBYInvanqQUd@EW#FjIj!#1yNnI}(Z`_8hM^n)k* z{_PFmSx7I)Mt63;qb9?n(tS7pv6Z$sqQ+r57t@;T$JjeC5v@&A*}Jpu*6EU)>ym4A zhPj(;a(0WST3>am&1fdIa*n&7K)vcMUC9PESSL zk*tIAs1#kRM{+q@Z!}_PZ>0#@;|^VlWGI!e>T^?Htinf=g^483^eCx;;nqNSM_$1O z6GeOfG#=w}2{Tn_kLO*v)sNp6*uW1e5(B!pEO_lwZcM}!R?QLKW-JZ+98a^w#=@;Sz3K0HB&X| zCQ#x!1U~}S-j-Ed6Iv96z{rlj+y!}EQm2x{zns|TOW;bWmgSl2dVObI+s~kH3;Pjq z-9;bH#6>91;DfMu@H=0SU%&2Y4V&r8nNFwQE2RCP{!yo^=HJ9J0O(kn^Vb5X7M@8u zGvUoXNpHLP3%G7ogdvj@Qx=M7TGnvzK6rW#O)txP1?i23d#b5tfY*BHP*3 zs+m?qiAndfJ)n4YM55qw!ppiG#f5}x;7Zg&CAwoCFn3!o_deNcX$lpO&)n60%#;4! z)Usk%a#D=lT(DidUXx!5Q%|`)q4?FtW8R|l!7lblGSIuM5<-iMiJHX!`TNM|%Uq@R zM6*FAOGzBy4Chzv>?59-CnKss7eWQrl@Z)SIfSj#YegBbTsP`UKUrxUcAUBV$BU|z z*T)3H@4F588}&0pJ?f+G*CLXxr}1Es+ERP?xR8Y6lxrPZv(}tDCt*a-nwk}UYg`}! zuZ6=>>rsqByckr3tm6WVo;`X#v`livxU{+I?Dt6dw@ybI$u2lZ-RN_QU1%tr?nNC+ z5~B%ZzD7{pS4uD5)!}T1>ekH`s)R5!owN83xf)SdjNrI%T~ca%myjPA@Z-E+=FiCw zuKOhqLXf3kf<&6=3Y((CN^Xf`jj)x)9qwGL!;>W&#z!I^OJLMj?#kw4s~DrwGt3n- zLiXWPfCX86?&pgBtH9@RI855r@w^FK@jj}!QTTL9nvY^+uRfXcw&`VW_c4=ys74Si zRGD`pO;0s^v-63du(kWc9(;hVn$FiFs#aCR2`sbt;SV5 zb?)fr{KnL8N5 zy)MsD*lQAWJJ!91SFAWzOyXjCMThB>zk-+@PBlMoR6ifHz8}nNac_wM?pOe~JW1}% zz(08(aT^lfoS~a-EGH5>hhpIqwQ9fHh2kA``PJjW+lHb)d-v7cCkZoogJe+7?tngC z0eg?4Vv02lvY1YLK$tFu$_Xt~M!`QnaDDiVKqGBuyl6H$X#1}i+b-k0`qG12rI?&>HM3FYMAcn7WZt|f#cH{EIG%Vk&A84q2OEJSOhXzef}*xr zO?bBIu%g~fS$w%~*Z3;br>LY*I}6Xj2&qu*98v+(qftxfH3Mba8k54p?w^CUxE zR;%6tBP*&F)?}dY*!{gpB>rJf775&we`x!+Iee4{#E4NSg$=wm6sz%JFPBT@TH2Oj z_RvE!WIC|x{05H;ua`JL^P>hsHP=mt9lY}DC_xdY+MA!R-I2vf8pDAk+B2QWwcvPc z)qg=jME`D6_bHj?D8GT#3_sEDy69jFDmv*_RhaRKE&5@}lF5#VHf6(+{yAygMNr+y zX+>go*_g@XoqF&wM4c7AIlUuJ$@7i1z3B3)xabQv_}wDB;S0B?U?7)sJT1VDdC@t> z;B%y8LRU5PY8N6>DjU{GF309`@Q;k1+ zPRCtSaUXoFLGHB#%>fTyk^ssi8O=_)3^R#-Bp9OuN(=WlAo=GPU+X}$_j^?ufp)A~*b6-BL zjW}ACio;PY?KcPrM|u;|hRt7g!x>3o$7kGEfs}_s@CS6-w_+L1^cg0#6Jo_;7Y-C+ z|5mP0T*}g#n!w}j7?_&R#H0IoA~`CP ze9K40AkdZ<>XgK)95>7o7*f^>3#Vp5)Nbn3%X@kxW~+NIE7IXTI34cZ)Yo!+lR@u! zfV14RErFHe8*xYEa4it;K1uNOXDp9QvFw?fMo9&77U~)^^-@naD#iG@V0{n_Bx%6& zHr%<-qkWLgD3uTFa%#H|TUl{sR2!6Nr^LmAclET4L@nJo2Aee$GX@W`*8RhEM3{++-m}^#?gG<; zo@S<$zSjuwzJ0*r{|Fctoa(y-B6q37#|%|Y2G31l;TAtog=F? z+fq5U7zL}kIh}`zovFOKvWcq#3i}|cM^_aoMj;M0+<%9FM&DHVuY-e|1|^tMIz7mTs)sSVLwVHV;NZ_W znE6ZTiYxQ>;L3F9BQ!M=e&ONM9XmD}Qsp?e;jgo$@@f^Y6QZ0~`|z8JRykFA^R+kC z__oM!ajHku%7g$DnwW(TZ;|%v(=Y>x@Nz=Dli}DM+uN!O01V+>lq33(7;v~i^{<-f z8OHGNl`F>gpQ)gZ24CC(OL+#DC_tjtY_%3FkGm?e@V6*4%*&ggjkWJzZ<K<0dLlwBiy0WDeFWDEOeKC{eDDI@X@wkwvtetj75+wUXJI$OjWLU zu4f$$TjvOIgYL1ZoQhp_YN{niMBDTm`fxl*CI!u0UWZ>3y7n`Ya?BL*VPUZM8Q8*6 zz>4NJr7@SZ7Vn9WuO~DQhvEjy@M|hgKSF6S);jM95{SiZ%RSApZJhY*ysecxE3EHZ zdp?gXBT5OXr_11LeRsT&s>ZKK(#EeEp9o*1@Vq%egkI2F`)*tZtkV zQ9LC!XCgt5CHWO>@xrj_JTy-}_>r-xRbHU|K5OK~oDmGVv&~{A?|p z+2;(-T(#gv^*1DxYF*e=@}9Leg=@wLExpLrJF>zt5sl(hqGdEq*gCIy$WCy)DX7+r zSqR|x_49STsf-3W>ydZ36=UEV*w^>YSb0#Om*H=741{R$)bi7Rr9OzJUanUM|56IM zP|cQ)!7(Wk^A8dcIL$8<5VY#w*F!i!LTW10=g!iT#i0Y9i(ugYdT#ELqSlX?(lo7h z6oE%PEK~fQ8V^*m;ySnmOEML?Q)(lx#S-K%^LME3y%6Oz@GaaKa#K>QK04Rh&WlDXxLD5-Xm!K;r`u1bsdX{gFE3F9)i$p7QQf+EFp*r~i1A zw%%5I7KfF}M&H!V$CIkdSrgX6y{ zNTX)w`y`GGnO58p9eD}MLKD;K6w2qNvJ>rzj#llU(+3;m5Yo(iSMU)gVWz&?P)~a3 zPMX80z7RFTEQC{01mb^Lu5sWpkk|~jd_z{Z(!1$hDsTs^Nxxax-Lrcr@0@%dfU$C| zD-G*86XH2CvgP#;zfQ@tY?BCOZB6J%JtMJgeleHL&Nk<~<&JXghut!(IM}zWNv^Ib zyvQWBO4?H92f#ctLClX3Nd^x{HJjgjeHoRrWHoi$fRNUcw|o7Ko1eJJq8xt5QU!!G zsBdNW*yG8~kRob8l2VrH=6sA_7F1X+tWTh-Rh`vxNjnhPL@Y7(CwhUjV#(IjEdp8C zE{;5)-8r+7A{%=nP%VkI`$Kaqc6i|zMM-8RQ?My`0eKLpIkBH~Aq_Cwm8`IVq^H$; zHF2g}sFqQrT#EXfGh6ATet{g*v>q4X*e?~2< zzFaE931YD1*(I}$;=ipd-nT#e7PL+bUfW&2#IOa{slg~tAZu^83Va!48cBGWeuiwJ zy2=;^^sh30YNJFgRdwjb%SbO_)6eC@u&~#B^EyLB9$?{04URPXg!P_Xd3FHbRHd`< zZorvxZT1=ri0kVkk$1{rYV{CFd$(HeKTyi zgC(Frs_K}CB(U_#ZtW0SB2D`NlK_zDs30Y8lWy&z&7-v5kpLFJNS))+8#)7tygG{$*@@o!u;)*P!9C z=Mj%@6k^(}Uwx%{{_Zr9kAvI`;H;{!%0W|;+7Uw<7~Uk{6B`I804Hq&$2DygnY)Ms zR+U=%*zn$DdoxQ2!#}N1${3}v2$8i`xn3VM#IH)V^>U;904d|zKAUjw{8qi1&G2`^ z*i}1+_l(Z@(4v|Pzp!Fz9#4$w_<0RskS0aPlzBaxEoSG6JeoG%ern1eK8-#QGMR?p zXiY_#b_sSB7!6AmBIXX^h@}8K10dQ^+%0Iqk&jta(Pd>cccJLeY62=#IXI8iV$h7> zWw-QeW{6Qq6lERPvqIdm)O>K?%+1+MT3@a%$ARu7?>>R31Omj-ney$D{%>}KM(6X~ zp@_*XEB^8}?}Q*UIHhu|45t~QQLV|t3{cR!9Qs*2St(r+kB8lWinpNNrUU}3`v#T; z%=C<^U5ZY73huuqOOhZTS6<(r1->EhT=jZhH%?wx+;33_Pw!q)I%*94lyT*SLhK8@ zBM9DAl#|{GESUw6Y8j=U!nu+^zs{|?*YiTr%NlJ?9>p5uq)AkCAUhsJq-OjD%k;@Dms!)!_uypw85}`jCcVlg5C70dHlJLW-!!(XV!OX_<9Bv>#iTRya7#< zhP@&9S=S0n-g7ifDq9n24fZWp)~82NWXq+eIJ{@JYhS+)YGD_pkEO|&_K*rFUr47D zK3Ju6kl#iQ+ehlEUP3xbDaO-;0dDEnf}7r{^cGP{Yl}rm!iI2zK!azZcs`dwz>2%5xM%}qtdp_AkHw*GARh;5J%)D=TvH=a2)tzisc!TZG8!(&$tj~ z21NTj(&Q;#qqDKuAZ1e!j)TGDjW%RxC|)Pr$HXPb41ZN}lVY^+69CH~BM04pYA3WQ z86**J-}vYqw-9u08#y}Lx*TJ^b^5#HPYzP53`ED>#@u*3xOnPc;q(p)tR9FGb@X6k zysCzfj!^}rW9dK=BK2@nbgZNFV!B>@N4-LAxht$X5!F&zHL^ZL#~vdmQzO;VKTsu2 zzF_`HObrhk-E5h#LNwhCpWMA5ds45v+fcKXD1y{F+ZP4bBq z$^g99a_vUYk3T3!HrPQMX&xcvmhM7i8A7lUnB3$#eYFoAQV7u)qK2Q8#Or+qzVtsoFrC zv`1?PGKjTa`(4*Qgn{+6?53_L523W2H#PkhUAd+ zWl8lO+PXUdQ@c1n@s+BII01vWh&X9?UU8rY)mzTQ@3;}$@H`Xbc2+2WRDJzpJmFbc zcDXVI@gT|5@nRN%TYmfj4{vFk4vIy@)~UXv#Q-5f&*l<%8O;0OFx~R8C4$e5;+z94Py>=us9en7Vh=>lqeyt9+Ba5RQ9X&S6XsS_pY_hx-K1_9yo(#@wA>jX6L(3!|%4t4;b>gHOV4GYoWYIau=XAtMfxDLF*klluhvO`DpHk(N4CWa-z3n-E|jsPOZkj+*JYYH97AV zyWYkWJ1l$!f{^x6u-1Q!e)U)}$H&Im<~GAO1ZEN5NtWbD5o3(x!7O{nENqN*mX2Vu z6+qn9?6`6ytwyXDlgRS~YYZ0He6%Y~GYi9$=)<@;kN?2tq8VNeAvbwCVJF>JTB@rC zsNtrSGyV~r&NC4ZIb45($jz2!Tvmn0H~kPNrzWQ6M;e_1mzH{$&;5I}w6aTA?NO*M zTUS_mM>@hlxb!h$NP5!FNPh2foPzo7dE_SD_I#z9iV7oglieYbqbDWA^?kGMQLv#0 z8!D@{(Ccphvg2bW)6EIa>Y<2OuLagk_*$26-tavO8}ZDTxRDl%l-QG(WzKJOC1J@Z z+x(AWt>TS0&+}n!|JoM$!2J)!y72@6F+HbH3DDV{v;zLaXZ&*zo{8`fw`ys@69Tyy zgU(gBGVl+>CLL+Ta9axV7`>_O`bV)6?}Z`B|D#y3hlztZhnJ;digrk}r_TB0i8SU& zBSD~Tbm7ML5O{&>H5$Lb(;3P-96r>5lfsJ-$ib3sqPaYm_I&F~wU#JTCl>*v1k=V{ zJc`|8ND@-xbqm=x{k2z5kn%M-&Q2i>_uD&&h`#sep26QGh^7tley(~CDLsq2A-IES z$u6{n`s568l&wuLvHO2kL=FC#wty zARN5~ILJ=SptFAZvl(};GTY?;T_}VrOF#08ukf}iAIL1f9X{^zt7M2CM^G< z6%Ps8pI;oG$r*Z{bAQ{>q;;E`qOv>x?fv~6ad=)OzbNZ`-L6iUd3zhbf4Czxr{tSd z(>?Ef&DCk%n>ud|mp8cU(&Cr0)Z?t8{-G>+EzaQFVrMvedTr;sz5LBo#A}!LMXx`| z8dBs~^7$W$75I6crQs0w|4OVeu7yT*=FAUNvRdF9gqdw>X~vA4iM3`@09QIfR`0Vj zT1Z5ET>c{YG~b{86jTZwuJ=sIM9t2=p2tgX0X`Z+u&zXSj0+U_y4UmqaPlzH)O2j(C=6^Ba{!4|dKEn; zJNKe-KLI_rmT#U7f!1RgKVI(z*K59flyq^?)BEmxrynTS9nm7c52BZQU%yCuj!wZ) zuA4xsb539C0rCf3%E`%ImCIo^`#V%>IHn6ygL6fR7!jD^njQgby(Kw`YB`yy9{nSg zNDD}b?zdP$hrMPIUhajk2T1Z-O79`;X?FAZrW-BMnAN|V8joaiQXMMgjX{6PiWjjM zc`khi$Hd*fjCLv%`xcr4@(A8vmKMQsK%lv&Z7~kGat?U!yYjAaN%eZ{qThPQe#sBiaiRyZz29x`d2)0;MvUT!LBPOXsERO6P84s4c znCfm)&&`g#cPo$BR(07^;_WxEh)L*0} zcYWUn-;h1^gt$L<@!WkgB6>$xcAr=%Tt^|)a&nxv@>7&}MqN6d?5d$$IDxLe6JWRb z4M*y};C~Pm%-LN{d=v1R3h2FbzIOa`SQCSJnYGU*t@&yE$m~`>z;Pu6Pqw4W8=?P3 zVvZTyMdeT2`8esM{0;JCxbyrB5%mPcZ*PP2pm$OO=hf%%`+|ET1?=(iT0OJ5ORr4T zVT#Pt`4K@r0vf+)!&n(9U*-ce19!&A?C@tNhVJ>NwaucvF6XS7B%$qcaz#xOE7f3< zidYIg4r`1vn5nF;g(NokRU}#(b^jf`!{R8lq7?6YLZy~&%P{GMUz0ViYAAy%`Ex(i8UN60VhpN0;!reo5x|X7G-kV-+Sj=*ysHJ@UGyz_Iu6JLOY8C{MX=l6d zUTMF{RAri`sVhq^KjLf70uFlrtUdPL{SMuz-OYfsYmd9mN|<$9vu4(5-Rwy2+U%&J zxoATk=eJuqBx7u{WbhGtzqR`*@6PI(ecu9`)x!2mExsQ7$#bH5&_Ce2Oqb)Kb=Bcp2{c1Q-FCOuV3~3b*8^k(J+31OF z2a(?Z&e|Cv7`MD^!N>0u!wP0SD=$t+WPRX3@$)d|@!{q>Yksha0(=DYf{rjS8UXt6 z?OsdaQp3f7Qa?_i4oQpwebZV`O2K)e!pa`TAf)|XjcIcuNaqlxVXS$mK@61xc!x-`op_>YNS{%cps2ACK3x&dv(Dk2Ec1^R zYrMlToIA=?E^AJ%)8=jR$Th?|m z8fooQzPr7GUR!j?ps8lp+<8RurmK*^L7KHFu&^=aMB$y0*YY|h9Uf|RSkJji>rLR9 zu+X7a(Aqpob}|zdAV4!L@f|P*>zM3k55wI@rJMov-fecFJ5hg^Kb#-(AfzrcXn->w zWQfMhb2h5|VnytsBPg_vx9%pR9NN`^K}E#%;!z)O?3x_mNqu45-tKSahu$!Q)_VRx z1GWYzx_75Yuf#iQh#gZ=cixx4R# zYI&)SrVwmA*^m9xl(lH zW3u(4dVM_VN7NBX^<_DWJcGJr_t1xjAjQjG!x$}zXy0J5A? zudfR9VRyL7ZXF{ceP_K!*8Rz*>Ho>7cV>+J{ zHNxNr>>Z=};VtkBW1{$dD}(ejd5>icA&)EcmVOrM9iJb~|o@#C5Xcf0QK4brUt=D(uZi~GK(0F8AQMXnR* z>GFK%zZMV(<&ugW7UNxT!uk0eg|HC^IYIS_xjD{zgiNZc^D}G<1ZHgcv_1quG2J~_ z1?cM4)3XqGDFTEENdNp~;gyzRiha{QD_z{VU65Gj7R3C6SbhH+VzvDFQTAQ9Nch>^ zqa-|}6s#GgqwTDF_nY9MP;mQEj`avxHTogEg`wU3{sB6J`K$(V-}qx-Y+zuJoISkx z^)AQLJFO1kfdGNTIo)cB8~yF|oCh_E@azd;27v%U5l;o=Qwm@G-^c8oeRYCJVEpiY zyl{>pgrY$xLKxp70JZ8sSpxz6JFiWWphS`(-bh|I;Ai{SNH|n~5!@XT2?;X35ft)1 zv2}R3JJKD}A11MA1Qw$(WRwHqK;}?qEMbxXWsRZypx}QW1qZ|;JmGC95%mqv0FPcx zIIG*kx1FDl?_D3jLs#CF0qkeSYH{3ALcNQ1hoMdagi=4;!VOTv7&M10q?@dG6iZMg z-C+T>`SQ}d9gM%t1@~%PQY4#m)`ahu;5BKIaeQ<_wf^i5`VI5t3o(~hpeIuxb=tg% z8@wc@_y|2QHF@KNL&%{l*)$)7Oy|SSbb~MK_#Q#xJoOAADd}}>2X40ZP`z=($;z#W zoFa5&d50wZBmqw1N+{RDY-K1l3ZlkUwjTs@nJKmGnbqWoGK@my14wBOn9GAGT(an8GV7Zr5kd>s@)k33OE zLkzyAww&h>zz>p*@}F%y&-0VL`8>UnsrOwxhW#IYDS2;d<|# zV#Hz?dsK7CBg_hY74-)12A>CnN0P_NUDKV`UH#5?e{wHt)NYVJ=qE?OzmG)_ydR;T zRLE6`OQc_m&k|+g+z&nMfNDDJnoEbUf;;VXm`j>LPOG7qAMXfA)Abx zSe3*@Vnf_B<&hQ}GXuO)rqQ!8?MUND=Sb=(VbxKGwQAv}8wN(?p*Et{)(_CoXg;~d<) z%-qy`^_=xQPmzc4L&OQ>G`|*}7Ks*&7Pl6Lmaf)fGloUY;zo&!%w^&V<~80m%r(X} z^oCQj`kDFp*1Si-gJ_yynz*`Y z93YJ^t0(Ro`3v^l?NR^CkJ*6fj49p7en?^THhdp^&`(TH4As65UJNsu56cO=3d;){ z6HA_z&+v0nWRz@%3=!%>h9d)yh0A!tDD%&VA%$tFaj99Zfg%`C8b!+VzqJAg_}{nz zk_7?>;spW&0{OQM0)+9O-M}6|pg_Rx8zJ$(Z3hIfg83hm7K$ZO91)SK{T+kIh-hF6 zA34&)jMpQC(Ilo7&CR*MDaV-$r)pQjL7+8z*+0BYU3vP@l`p_ztn%lQIrr4cP*$0& zd1{>oR}LZKu6S)7N9#uE30@yw1u%knnhZ)cEqx`@#~g%;oygcIPIFprnyTAdLvu=L z^I}V{6~nx2K8#KeO759?pfQy;-Htw;ScF11$b~`^p0V?~>KEK5BZnn*Lj$DarPxoj zKQ(kUzV4%Ube!Fj3Xz(o43d92ztPrBRQQaXFP*C5({075;uJY2Y))k>AN;ghv#7a= zm9<+HyDde(?n%pqKF*~Jtj|Eb5nr5Xw z)$Rnc_BM1ed!NSct?ze48kmDrA(>=ju|#FDWQVatsj(!78P}*NgG1JX&K^P*Cj-~k z9>pq|`aN0RwGvT?64|iQLHJ4t`*ayKE!|h>Ldhf5WELBntn!7F@VQb)3V}(*LKU6z zch+gs(z1@OTj&7$yo8IYiEzy_OJFKN$*K*a2 z&1_+3>`Dvj*dCxmpvjqrSsYXK%@3**j7T;xNd=4lg^=|My&T9F0q- z)&4!WVL(7$|C^rc|6p8A?3`6qz=41d$h~!jx}n|CR9E=D?NtATn!U_Obu5w*laa+! zKpR36UqvAy6BAjjfiwcNqmhw`8|w;5NP@z{RkwkW6+vle;EG~N|Hl5EmWhkyKI0@Q zzRz*0>R2TDdEtNP-hJ@CE$(<%b9w4M&GwoB{2SMR6_f?+Z>oK$??V|a`Z{DzxqN5V z;Z)+3U8kdaT|T9qSgId_vZ1iLh*Nc2;@-DYqQNm9mXxW0tQ(@FJs0BU%yEH6sGVsN z)-mHxI&A0{I)5wHF&$Ss%0xsz{QXP-hWzdJqeq}F#SjE!K)mml*uMm{Q)+y+%mVfn zzr3C=bC~^oUe}FZSFwQul<&6RP&o?Kx09?Ah(g-J2K3n=C9_#_65%;XnzTer! z8_ILY&_UJGT6=iurwkqC6ZGcLFJx5x5;=#@%crNO*Kf_XSYKf2J?6+@`zdTC51icQ`+XT@PGV{IQ{|^3ZA4g0TtZ{rj2*7eU9aB^-8r@=d-Fk&arA&ZaskK^b^#UY)AmV*) zE6ejcy^b}_;-i<`HjErn=JG!sNHZpZE0@l^TCbx%+-we5#MvJ3n9dt7?(-hiyYw5wboUmK+L09nhYNLSG zRtEN2NYN&B)n?4r$>hn#BcEi3{kt@%d^(BcEa>*S2XZu478#mHERC|oME1CW!Y6m| zhL-+}2-(U4oxWY}dFuJT{E&sIeyKsM zuY=ti9CrMRIuZtN^rqqsn%B^1cj3T150Jmp)j>4&M}!aF*{XP+p0$-8gMDSF)F-%A zh3_F9W?Yz8y)+a61-%6Ac>-O9q}Yc{j@y%loDa3O7wEm_1mbbnV)K7`MM-CKGWwLb zEt=uM8hUS$XcbfjxpXP4YpnE=Le+6N4w2-duPe_Fl3x?JY$Dz9HbW-}QwOgscnOF^ zb1w*h$@hM{twcHt-btbrS`yzEeU!yWDlHZ3oy?&WqMZXrz)xO>(h4B!qvM4~u>y-Y zj)+A|Led#e0ka_!@!*`dAXQny3_mg|G9X1DR!6f=3_anvzsfPrZ!i8+mcMN``?&d4 z_7*UGzIA`nl6lyRP>K9K&@5m(nWn?QvkT@~8ysAHt1+)IH>MpSJ62Md!>f}eadpcH zIi1oxbQ3?-x}Zd&>Cq|7mgah;ve3?{aput391u-cHi%u^KKSl@#?oAmzG3Zw)fEfcLR{q=27G1nkExd*(vVqm7E-K1VF<q)XmBl-2NeL0;YmVh4~v57yloN^ad55R2(!xNGG&cb6=R3vPiZ0%uS}KB9ap zOg4@Rm*f}+{c_wSEu3+iXE@&_?}(m#E$l_U2$qHUBCVMLY+(s7@9%pT}1Q~%>6q5ykguN;_q5o z6jCmm*wru(OM!1`R^HCks{A#Xr?$uz<=xX-py%6WJMEZ&A(OmYB7S)u&b>i}*x$?j zCeh84O)$)FPB{gGXs$_#W^PjqKThW1%!0fKL)MRl+yoYCpXn-3|$#^SRmjG zPKx5MF}SHS719%CiL*Fac4qDBsT6gq1Qk0tK%U&*uS0eM*w#HKp?)~4$jlpg8axqv zEvc@)%z8P+`Y4j9bVI}`DcuN_UKYn46+q%>%K3%=xtG6j@)yr+}9en?n%0E8I!BeY-6BO1eq;A*{2V) z)t{Ax^W)Ar7V}R*sj7dX#9#dZIF9AV+S4x69_cR#i3kdvv|Lg`(42oB6qa2U#DzGr zn?No)ReXx)uVzr``Xo4Qv8tr3?aB}lvr+c!kQK+-u9Y-=@9QKg2By~eJ9Qj}=W(bw>awe_@%6F5q4xglAqlXu+P!5GkgCrgKw5@^<&YrZXo ziB0RxD^qQ{TrU&5xe?5>TB!|BIoiT?t~p(VCOE0_ur;a6?yh&6Jsyn`6z90w>9I=N zVpO?tU>1;^QW9Xd9@czA0@^pW;OlI)oZ9H5liaSnpZP2^ee1t5O?*{>au(S!4SbK| zN$l-~A|wt~iXB3kQ5Hx&g2af7nMsX1SOb$Fts|BQo z{h7#@CKS^!Ez;1(=G54F_`l?5uia}`v+3KE<+uHXmE-dKtnM1+SMa%CjxyJao*CnR z>;YZ2Y(DP7vgho)FA9^bqc|RN=<@YPz5dhYaeAEiG*0CDhNZofn!PzF-_jV z&*XVgT!_azH_%rQ=E7eMBUw0^jdX*qY+5i#%(9IObnBL|{JSBqj$WfXX5$QBhs$L` zJri-?w8>=IDLKxy;*~OLq8lNwIqm{ki{d7^o721bT8g zHHjq*aAE#CxtOqRI0{cmmtaBUUEvtI6hwNAkl~oYkQD^}mMPm_1u`0k5*)SaQ5&eG z!^btS7rt&&03T7^S|7W0vDNW0?y*)!reSfa__6-pGawwp9L&f3sCvjhdyzVvDk0t9 z$@5ucM-k=G(na|O`@PWj`_FCrzuVLM2K`?EML@d0#!*7w=SsPSz<)nJL!y=l{>8Ch zA7ek5JzYtFewIPs-@6x)Sj(3*K&}7{@<}UbieV>n9CnIAC}n){fGPL({<%e!ee#P3 z-F8>!qW%*)D`VRaleU)0B?*8^8P9h(di_0|?|^TXw|pz~fw^oZNu+{=j5vvHrih{= zJtpXUG7~{dLPWIKBo|_*gou;^uP(48k`XbK2Y#a1}_y~avPML^~A{)#< zZutRfd6v$8O#WwBJauHs+=Zv+pP%2flzvLBG;&qWkw26ZuaTCYj-2?49{Ha3{;NC* z`c4a=?`xRsE(O_z-idrrL3mt{iLr1|;uDw{GYh=q${w`9RzR!$>5J4$NPO!xz=oQGw01j-3oZvVhZ30;Y@>(9=8QH;%m4Ev;~L zNZ3PDL1%8En(CsibAX3tz}F>Ue^QW=3|%J)ipi0TNXb+XZLlkzh?ItALkHwbPC@b| z;k>4$qR}4KS*%W`&?JCb}szX$qK0DSHQeQQU?l2A57{-COpuy0Ni zSVB{F5?Vs+W)ACSz#9qM0y@AssX*TLAZwD4t(bq4U7`U{*Jg*5?t@pSJ>>DGmX=0= zKw&ZTJC~LyCvgMN>f8tlP)iq#|Kpwe8~1Klo!;=fj}}d?+*4io>eu1d&V^TPT=m_7 zKXyCNsp#?btJiKi`q0=}#T837AKm%rhdzV%soFK?7a-=h0j-BqU zG5~TmSOI^T@rZJ@o53mzz74@KUV1E6ke*|L&S=K7R=mWSfW@e`LUcL2@_xm;CY(di!KA9lDqQCGN?s7PHmc{a^1Bk|Fj(`g2uk4- zSFNI>2|Dk9&W9~9lGcv%DGH|z0QAgWm9w5WemW7qt4xKdUU}f~D;Kw|?pQr$(Cgfz z{^pt4UEWcRHPErP>L%8SXatG^`nTTlmUGW*%K`YAY69IsKFW4wvF8p zCRP`?S*4QE4x`bRiWTK3GN-Or?!N2SllWskk-E|3KTEm^(1g zXWF0S&-&=QJvVbtdv^&?Nn z|Jv}EKdjq3>*e{slulTn_~1uDUY7&!w1^E*H!uS)apnlx7-m@{UNOTk_bE6_I(n2R z&7IQul_|}F#=oQC*Y`n#PXwBc1bv+ZzD*}Gm4v)VwKSlb5uaCp6S$C(D%leOPfpST ziLyX>XDRp4Rwv8eIbSTJmMt9nTwiZ<;NTQ^4?60l@rYL~C&da$;}`vAs$u ztu8u=Rj7ra9?(62dbhUypsuviY==jn0M~ia%1qx$xolC z|Lf+)H|9MrUqABT*4eX$+&emF$<&?4t$Pb-GR+%2>h+f&CM}!3{^X22O8)R6{^eEo zm(E-?I+oBLkcrE&Elq@G#1e@?7d>3&R zQMZA*m-D-t-P||a?rQqk4taxoVi(e^j-C>{{MRh@ldPaFkO-kb(imAhOO0Cr3UpKW ztK)ZHuiHCKk|G0zuUpPVn!Wt4E4%0bx^Rc=uV(VMx8+NI56GX1 zWRdycS)#NB%#rvQS9Tmu6B7$XtxbvU6yO=oKL^aZcJPWOKV&dxq1MvcMZQ$@IT{n( zp40%Ff&m^bI}+LD1p99zW3j0SW+YHXOQNEv+gsT`uLy~nJ@(DvPn}r3ueQp&)-!eC zy_NaXC*Hojf^l}>xXzkk!NNm(R=&OLuK6|hJ$2WVswrjTrUuj5IOn$X({9ot5=e{4ISlq5Qv3rx0mU>l8X$q&NrGUllY72Mk+8vB599xZR2ri|Lo(-@>zKoXRGM-;+_3^mXF^zmi|ID z^z_fWUD}E`70cB$p zD2qnG$40FL+v;)!rwV)F`wMtbU>wdoLxTDf1VI z&Wn->uxP5u2}Vl*M3bSyw@0tMzz_||7k&96v4N7iD*9{^g_i_d*qh*kaU|lAKSpSR zH__J`l9ap&Fbq?vm}r;ux>B5dqM%q_pFN6Gg+QkNMl734M}m4-O2wml7p|1wX_0@W z#$#u8JoIh)FOQyFvk9CkS=?|Y&FFh<&Y%9d<%w;JR&L&UPt9}~SY-O7-*8>WqBhQa3Ye;1Ko2n07i5U)B-}BgQZ{>kWLiI5;xi>vhzJU<@48f z^iFnH|F7?GXERzTw;=oR|2 zgN1D!F-nf4E}H&Fd4>GzuKnj|;gf%O17t&fU;aYACeQm|+w*kjrAwbO9gT7`lf_16 zs4@d&Q@SYt_SG{=P5j1*3eAF6x ztwyT-I_NF;nXma=HJ6aq{QUy1$ges6u$;TQ`ER>#=%0a1RQdE_^ySqXSeDW>r|WOH|KCRU-S2?p-0W%Jlwp6sPZ-x zM?j6h%yM^4U< zDBU#+nOy8sakWlw3aYvg9C|IT&hW;lKIDZ6TM$y>Y9_$NCXfcOQXHIeHpJnQ&c&j= z8a32miFu0`*wRbc&MSKvT}-wxZ{omm>1|;_uR*1WM{GA@J0IqSR>g^YW6K{Dmpy=U zhgWmk*Bp}1J+-NM))vk2=B?bEUk7nwb7gc~ToH@e^i<_3KJLK+N~q33ZAZJ09cCSU z_{wwGKc2?E7Uo&WA^9y9@*z|{E!VMUo5^UxR6 zjyXZ?HBm2uhvkzQmy*Qq^!{K{KQny5`A zO(23I-^5FVj}scow9jEs<*0Oi{b~<>&j>=aC*XTr~6Z~OH-jcvfSLDy>)*#lZ?4goC_NL|#nBt&ITr$<8C6y*qnOt2y6SQyEEYeFVq zFzIC3kso!emC;F~%o-l14Tg%sRBN!dA}Z#pnM##G(O_{2DhV3Uvhg(1^V&A;j~#uxlLNOL%LZl;}!hdYc(-(9=#el*^n9Zf6r6_Q#)Sq9~uZ)I#Jh zj=y$j_dg#x_0(g(tm87No;H3f{~o~WkMgJp&83bvK6{nU`t*&@&dIx@xI6_pJHga>M2)HOF5%^^5##^J(tg<6`Yxh0gK;MrS)o zC$}l9i;_D^=TxM#kM-CAbasIAr_$MvE+3f4uwb$pnTz61VDV*K{JV+ZL`;uP|~NoRZ zi~~mGfG6Hmg7?5Mxc8PEFxdbofbnyo-o+zuz-V@<9FS}n4%O;QRct^cvym+uh%S38 z__k@ltB7L^hny*=FUy<1Kl$$U`hAB^zq5At!D#>!x5@{mHZSKUHt*xE9DaQHY}o-L z$!_^p2mtQMBGX8yEz`dMXPK++LGEN@{6tFfvWyFijrqN*Lv99-+sL<79P+Rs!IOsT zkbZ~Q2CYR~#kzUyVQO~z@k)XN)LC3yG#f)?tx!kncD142HXOPU8Clu;L;GKzv1!+0 zs=qY(nF$pY2l_tnWX7Nw+ol)Ee{GrhMDF1cyY3&l^!7UsFM9Etto)r>c@0a8Z|l>e zYRdA;_abSEo;nG9Yh-@kAQIA2mgS=G45QqFu29Kz(E?lt17nE6fuoE?T3iqjHHa>G zxH&F0LkC)vp7iq{wvlV($Pwz+r0?4G>*tzu_|5~MSL)z9-MIeZM0y%Q+F9(iYQC8aAKd9|zz?$!CP<>Y)#5WI73@ zA^%)Kr5gqZcB4(S8~A-Z1~t>{5lmj;?byWPdPW-q=s;9D%o_Sq5)-~v&PVFO~RRq?O20lBS&Kb3%d($1ETmv->?m|}|Z>~AqNv};B zAm<&0-mk2x-uL4}{KV@A9^Q4w<@@;BUkCB8Ke%V^@CL-QsWu{!|+^n+n4p4M<9A_Yo@OtF3KE`Em8qnFI>MP?lqat_{G-kDef*f@>r=QF{Og3R zk2GAHyGL2a{Xss({lMn`K%)AVMmAcFDHiKg5&P*I-Cm7FaeFPyLl-oyP6-cR8lXX) zjn>lD>0ioczVykbw7+in)xVL^9~0~<#<`uUM~ zKLjWk_;k;QdlWAO$1@YgGn0+yPQn&_fVXT&d|_M~09Sa!*c8BNgt;hc^U-C~rCi0} zDxU&l0|=>$8(Rqodx@X!O#hsgf7ynvk?)sJZPa|W;i{I6t%%DJIL&FIjnb1rbe$3^ zvqumy<5!*uem_C|N&(QhRni!*3ZO-~5YH$HIziJaCv1X&Up{g+HEwxJ?!e_>$eH`5 z+0Dk>2gbaiWdKmnt3<1f5&WYpWUZtZfFzu1!{@ey=h z8`G)|(=l@v@29zkzI<7}j4}xP;12^o;^KlZ0LBA@u{AE35FZzGsc}JPd|a?|EH0?! zR9orB4p(odnkUz-E?72s-U~CL(={Zw&$ z!=p#Sk@XVCE%>69}sKeCigyZY_BwKcCD{_;f{*fn?2@8tKDaq*3e&Kaae zrF24cNIp}fG0Et`1i&O!YG8CADmbJxB_zb8Ce4gPO7JkL(b**jgDMGXu+|7r-cedA z`9O-)m1cF#Q1AzIDo>QmzSvTF^^TvnKfFh7l+XKxmGwQ>Odh{^)QLa7W&Y~NfkUSs zqiavm(M@ZXHeRS)y{&D>t$Bfu=z*p4i~5~HU6LZZ_|@8Un8{C*P#c17Ka9wWBTCjs zL~S9i|LQf$d=Q;rkCj;+i=aPwbQk+*s5BRDYTUe_xVmu3vm|N;i@vu}> z53UJ>HAYVgbK0NRXbnb>H#sFf+gIY+!0>&T4+;29a$-2pUMgDbEK`(MP+XuVr>wUy zflZ*88G)3^{<^&5kl{&Rp0@nKoB!m#c8h$uLwbxFmzMNh(m(!|z5o8cUF74QRSSi# zy(^}?`8%(*K5bI{th#H*Upne$xrr_HvP&2Od~QdINN@5l63Rlltq0A4S(OM1}1V!1;yxe;dR)bvQUXpghXpFov` z!)%1n>69&Q_~VxE3n<{hXzl}B;i}vG#L#JX^{o8<VbXg!kylI78Y+4&KK7*i ziTv*~pX|Ty-s2Z$-S_yid#Ptk<*+3^tA-C<-0Qs=dx~=^`%cdF)!uRD7uVg1WfNcd zQeQMQCq-}d+<)(hbK7>_Hl}V-*#N68=^oy3=jajJMh+i&`xa)8y8(X60o{{E{;c9B zM;dsgCS+D3imn2X(_mhvDe3Z7zzHT}l*A*2O^Odo znD$>_aiOz5BTF}jTq)A0=E}x&R)gbOf zQi|4~lno9*ic*dN-=7EHpQnDmouN1krTL)Mr#QrRPysG`BB%g{MhaM7SpJPml~&Pj z6Em9NBVsy;PkIJY6pyjcKg(5-e0~)3Y$ZwGXu^athh$|bn%O|*MqV(Q>p-Hr0DGLEKgha#RO+>@Y zK>$cdBo`*N@aXH`K%$#z!{{+FJh5(@cM}kz|4^pgVE8MhHq;KA%7)&q=a6N8-izZ! z?Dm6@CXBo>wjIT8%rKJMKIXxJd;BnkW;Yu z2KU5D`5QcxTw2)x&eiF4d)NQ8XVTVoMuAVb`?Z*dBD=Jm-~IAc@lW#J*QbohN*W{c ze7|@f1?UgsL!S}Hcb6IkOuWHe#POM9@jC@;))1m8Tw zD+Vj-qw7GY@;ahdBH%hj(b`~s+tgsVi}~;XTR>_IFtOnxoGC6OZ$Lbc=Pc7tjd&v- z$J3}kJm0hR@J`3Js>AnXOgZ@129LQqG~wQ@zm(144m1xOUASr4<-PRdYbVavRyVNN z0@w)$^gS--&HWEC@6lK9`mbW%4tLPO;>p#A$`iG9ooU}tv-FiPp!pG5uA$C}+}LX; zn2aw5yRU_Qq?1|Try{;^2Qg+TCKM_?GB~kE%EB3SwuZmcfqLn&@HeidS)IyS8iv0S zlP3XaZ3CRQIwYe92}v|+RR!y!I~M#-qj2U>qTfAeAc4}r;sXx7wqOj+KAx%Nw5fBb zIV5W@_yj}Y9rCB=U>rxQwyjuomRsC>^w9XC_9Ll*tGafA8#8|Bqf1_D-lD`Xj{}Xh zjK=XXaPEJIfm5D^lAQsb4x%4_fA}aJbVe?{eyB-4$Q5x;c?x~B`RnHQXhAPxEreWq%5{C9S!Nb0#h3N7g=c{d6tLQ;K|w zFVGw(+2kKYsWvo%{b^GGzH>y)0H$KQ0x|2Nm{};f9FdSK3w4ew&5#>Ta%I63^@Ei8 z3#23vryN!DJay$eg=_&_AdtM^x?7syO;`wER*%;fwtBH3*MmoFZ;S0hI1^t&@Fots z3#B2r4bQBlq}(8AELM*<&^9x_)oF~j-QYAPWuZo}GeJ&;Q&`BBX zMs*ol9S>H<4R$|)GBxK`R9qR&?wsOVvdPmYg8V+bzA5#L-If@VBR26vqo z%$B6&j6f^pZ*Eb-E(z$J>yYwo($!P+-Hl!rQBeqAQUoOKNg0wYVW5iSn&FEJJF$`|$dnDir$fR14fB^;g2*2WiBZ|S>e zWcj4RlKSA3%>(WkFnCPI;(D%f*X*>+l+=onopby?Ut(Xt)>q^PdPNuyGMIoh2bO|H zotkQI!*!ZQqf&FgoEi*LP)?~iplXmpO_;Y*$853m_I`OqxA*E;EH?=LYoBRyhm7r9 z+N9cW)vYKT9?UOu&+cep(_M57b5OeRI6QbiFc z0TRIEbvpbCR@Y%BEtXOEb>5TUFt$0Kgoge!(WJg|TOoMMN=jnE-Yj1yZ^}QFlq8?rae; zRViJ=bu`>dA{96lc2jQ(BJ>PjTL--U7IeIa948^Sn#X{A z7InB2iW}L?q0Sh9@6^R*&2~D_@3Fqb&y=8MHFuj$a>~P}2cK#U0C)k{xmN;J!Nv;s0?^nl5Nsu3J0M|K z42>x+qLkVJQ=1ZUQ5ERyQpaL=4LZWEr1UJ5q;_`EhfZUz;xs1Nk5Rj~UB_a)=5mOh z-@1+J<_n4%iFuAXMc2ma0JE*MTbCz>tl2nq+WL9lEqz;j>HebaOQtO!vT90o=M{4o zeD!;A`_%1~6DF@4KC@_hM&9T8Y>^syhn`0O^OJT-5JD6te^mXS)qCs%}~;KBceuG z*Rgq7S`zZ3H6)zbdP?8wl0URtcA$XH>QZnUo@lD`dslYqlh;mp0Zuoxe5;)a_96ki znqsnASxJ{%+Gr-AHqzKR-;67Yo%NB%Ks$CCK;&D(O2ll+9!oZ*DlFH*DyKm18}-U| zOI@HfF&FEaTtaFfvtwtauBo$9*VN8_OrPi@Ssjr_0f(3wTLETOO+p}}Emz`l2uiU9 z*A_GHH8-#<<`y@+NyndiosN0uE%~VnZ_E2%opF?QIC7M>f9|M!NjxfFe2%(4dHKF2 z-Di%dU31^P!|N-?mp1*8`xrlVM&AF<@8ze?y-mlQeO7+&*`qW^R6lw2oqu&-R&;dF z(@*5CNOgVB)+Y}0F5awpgE+v-PEmHE0B;Ft1;$)*;|5gBo;Era;y4+*8jT7?d~DMY zmU!S!#c><$ApmkL@xTobMKT%LUMje#Y%!|=C5%5t^ABRtq-d4u;X8ItSdgvF9N93| zDzuw2@V3eGt9wlETUt7{mjAi#(#q*$nx`-BGHBU~hH7b8S>He47^=v8{t*8%(Gm-* zO!QKxPJOAOYlq60j?6zm=Z=)W-aDVmO`}V0mruyGo#=*ix}&eWP2S%ry59w#L^Pyh zv|=&3(}jRh5p6UB1xSRg0`6v^i|u9+u-EasAL1G|Hh+)1SNw1Goe*x2;|?&3p174H z=P8n$r;CL0^07yGKEO6Pg^d|S>_Ub7l)VxmLLL3z&ue(MtnyHaHTkK`PD5~VZ}^GHG27P2(b|3J*QeEsBO z6Yl(S$J_JAzB*yrnE$JYH}B@>-E-g2djfJDoha|4mv#&(WA^b&txND~cem#FfX$#3EbKP#6+4OiZl?bRSrBPiIgN zy7eL&K#LuHmypGZ*DO59jEjyASoMFREfCVHuU;iz_H-Nwx5R=Z<%?Tjs-(uO2%(9ExiqGOpQwFt5%g&(%*3CdPZ?OD?#4a=`!LkNL)S2kO{?UWXf8@^U^=w1iHR8LvcS2e zKuWZ+a5<59zhaE_c8Owq%b*0cL>n%T;`$TJ-)w|n_oBJ@VdK)_wU}L&$z026B>&J`?S9IZ&SAQbO|5w zC$)ZJAnn+GID(pUW{eg%8$t3+>P~vf-a)hoJmer)6&>g5(vbOb*6#-kAEtDFzN@>_ z?~Bn#z;%+D!T^#?-ck4EVgX{Ex>O=@=3o#L|B{0&GK_l|IN2TsaRpjf0${bXbsk(_ zusB;o$It)RU8w<5_JA>=W5p-q@@gVGCgCvz=W+gR5?f~t@vM}Ms;|mAD>_vkT!vwb zTapz61U43$(Iu#|grOO1QvA)|25ht8$mh~Zwt|0fb;gV*BMph>agEjUf(Da!04}{W z4;-7jZOP@w=%25hxUjrt;?RfW{is9Ukgp5J0aGTBA&6`+fi$FN)#*Scg=Hf?I4?M; zApi0=ZSB?7e9-YLh(SvWIm`{F`}r|89kG)-u7>$~BV`wP56;3a8{e6L%UC%*<bIo zS&OTe7;q0D4(9nLRxdJ#{ATYTTkGCGk6byXEJ_RcR#Dd^z(uuqY1ThK`=7S|3G)Km z`RB$hfIy-%gSc>6f*bE})Vt*5+IdO-q{3wya{T&s&N_WXQtmMH|9BS{0bGN54g(Zi zgJ_27Zmpt;Zl$}CD@ifkEyQq4RCh;f{Nr>t`fww5OvJBs=anBe*57%jwE5t3sJFdjAz#CvR&YuQj;aaZC^SNJyDz=}=-6WI- zdZ00&?0Vq^@?il=R(#r)Pr2{FxWRSX$4v{S*LUpvl(47&gkbQtyE?bDD7E^!g^n!J zmW{i2%LjD0+J0MH`x3G(*4`zq{Vb`7wQtfD#M<8^6JzbUy3APn%((k)Ixg1!2FOG` z(0d&r+D}=no0IHNupZWY$BL<)SV`glm)&YJW6i8RC|NB)`NBqx-W)5jb``{Guy$X0 ziuvefmTPXdNrq&WYwk$Cxx^YShAn0XZa<1g{&}poHd|WD{gkZjKwQ61S`ef+5DH?%5DRksL1Y4*@ZRtK!Yqs zgB4tWwX<4nM&ouWPp%=&e$&2$)ZViFEa?~5o*8RbY0qkRZ)f-CDbJVBMces`xb`J2 z560Tt#kHSpDU7w}u;(l7Gh52(aNy$rwQe8tA@(RMdl*`=n$^M_uQ}34sENlgOrp96 zmL)}rw&8XPYT+Ma-<~UClzm>tJ}dCeYm<0*0e*329@CTX2qrh2X!XL|6g=|JbG+GN z^(Nk!{OQHzam-9cI2ClNW&b%eg~kg1k*@=MJ2%8t|I7QTDCo!qY2 zP5|6G*{Ey=(0qL-;~}frWb>huG9Rd((TvqWGFlcYv?n#UY+pkCw`@O4-j8c9h_$~- zzK(0pjJ3}sZv#&#IYc}0KL|^S3HL%YP_KdN3^bb_s;1?%_hk7Lt(YXgBsWc@Jp|We zxrvrfluyYoPo(AY88|5WYA$U#qB*V=*v=R^XzLg}3c%FFB5f%RXI^`ZElG*qh?r<& zstO8I#zq0NxnONa$0BdN82h&OH$Ebz3CFd|*38sfF|MjF< zMQW*ji5GWxVte>y>zpnxWzk}%np2X!blprWMV$QjfYl3jbS%Uo&^Pa|pPIvcK4$A< zzpPt**T&ude8{gq{NOjNAhEdg;Mfyor|xFupcD6TwQI-nyQ;3m(aj1+s~5oaqXG0_L<})YiD&t?EdcR+#bQ^63*e_tQJ023kh>6 zwv&p4UK$E>iG-EWF0*h-?VHKrGzz?a!tTe0EF z#^Lv5n|jYqU-|CRZE{%tL$*-6x@6_z0|#b3*)DxSvVQjOCahS0WKf?8FD||7w#niY z?iK47|LWIs@hLj?4|Lk^CrvoA_27exj-Rhwz0DuoIe1uQ!@KuSI(vA*!sluGozqu5 zEB|@s;<-I4UQ+lVyReoA_|Q+m8?-jcAHI?Cd4M7p_r>_ee;?Prq^Pz1Y+U=m(9wsU`vYhTjRG1mTCT>Dx153%;s?DTn3iGxdi(u!r z#f=&D$+{buT!IdvCc6Z@LXS6-nI9J2Yu%8MWz~&Y`~CJA4+pdZ2gz5ud{abl*e3aE|`c><_*(ZpWSYyE5PWQF{L%q%k@TSNOK;*6mA5Z{2?O`_}d% z_I#!NO>Nx$jNVH7%)cq~wvJpEyuu-t$Df4z0hn3f_{GCSVbdlVy8ms@Yk%uIa(u>!{0(Dj?Gy);U=6s%UkD z3D1}ZOt5IzPTzlq4i)><538T_#7pwwmwVOHZ^w4v))Z`& zWqEFgO_V!0B7pp0xqgg)RSLf!R`_&t`;wYlx1Tk}wKKjd?K25$S8}=7{bQBqTvql~ zWckBd7vR3Ol4Tu_)~URMMGdK~IVSL+(HVnq`l$0z4|qZJ1) zDisG_Rsq9~9z2HNcthQRD3p>$%6WJ}$(RW#XG&Pi8%^Zp>{vg^)}qsaZGOhqlpE?N zc^c%jH`h;UbvNfHi-#t(a~h_K6B;l@xq5rHQE#6XpP{TLa{v8(YHO4%-HjE)zfw{mE0k{IU~9d)2-|cb=w0rO#)tSiSuDa{wYb1$GYp{O$!`o!zjN_M)a$4}cCTTCu2O-%Q94^!6EXHR~xBBkSorTqxUWy5!Ts;vkA)eGoFG!#e)T2@ZO zw?;6{3i1P&#{oD{+Zw@im@&-DR-Z5hOwzIlW_%zme({ORUNvFrl4X;pE~)9(C0Je_ z>{OvSI)3qj36mEstS;`+qqwMyt)tOO;X|Q7^C`@)z66tL&~Y&qhIO0+w=YJ$Sg5*U zjc%oDZdQTZXi~c7#iTGd{?LzwC52H(u&@n>ybf}KjC_vy3YA@-%^TLgEF~|PJf-5P zc7yx(_T>dV!iSV=o7=Xyrz{6@1EpQb|8AZ2|JTp*Te!uoYmu#=z2Osl34CJTzUVl0 zHUGh9bk^3-tmIE~`sn`FY!`Oz4Zonk$Nz$Yv)CErbb*!CN9wk9ImKUkkDBGD9%av| zh3A;ro)FRJ5cN6w_+MgBclE`cg~2bZeW33teY=fS{At?$yyvbKWly>P4}Q~u!*TH| z*|;o#gp}P)VE!qC6U~LVFC8vQwT>$DhQZOhE1T-}=fno-IY!&dYgRD(0b}Ls*jN){ z&o%|s0gHOJxD#EsQAZjqW*z0DBmSXuaq3IP@r|*O-$OHpd;TDQukP2(J<7&!A*t#w zYp6sJ4e>o!M;}z4trFq;hkBkeOc0~ApxsY;FUa4qwJG{7w}p?y|5k-T`K=1W4Zl@k zP=2ez5c{o)_>9aqw$+Xuzy03P*vJNzw>++HN;+dOD4BFh_HKxnSl)-;ps>WQ{78W=JyZ7RJ-bpKpG5ndFyosEH=$c3MC5>>F!(Ojr%}&hmR9!e+pr!U;3T6!2JD1>=XaSGgzMK=@SWfS6JbwD{azXq0#Fw;! zW@t@K^Db@%{Jq=!9@n9{fF2##vH3$TyK`T8xcXC_LVuw@%BtOO_Y3{6y?}qrCrJU^ zyu_W;b|zYsMx%;tCl%W^Dz9q1^q z4G(6c6!l=ZI`{Yu#hujCf0T1XfTiIm6pm^*ny~4zB1GL~6T>JzsJi_#+I(#6June2 zm=e$2M=LsZ^3&?Y_R6L=WANeF=Aboj$`&*_9ZY-GE%?gMXb#{C_BJ-MBZrr z?nNYYe%2DEZVczj+;KE~wP{s;^(9m|8Y!21rnX7W_>rpjMyn1G{Yn83=81glNy!$u~^KdrktXXlQ{okNURkVD)}O4`lKWoXVvPqAwG5Ry-<(baejxM z2nV0V4n8aE@MZ{Yll<)Q2gAH+RS-so9nAglgHN3DnmEnWUQ{ao3)-x56mLpXkzY1` zx(&pXjWf@rkS;+t(8Bd$GgYLGM|sdplGZifNU)g-!`cj_J98IS$M#kg+{b$7hWbPH z!|$R4Bd@%M^>brH-!-0PBB=Y{D%s0mLq}a8W<_4Us-j^OIiCd$^Ozs4(pTXxj{m`1kPuZVROZ06#g02a@qH3Gj*}FP!vlvrY6Q4&hp5R z==6YK1wJ)TFow;)q?Hd~^Hf>am|M?lT}CA5;eXhwimRN(P^>e&x6ES{S7{)gW3!!t zfp~g{WRsN{l%Hs(Tygzi?LwWo%r~w4lG!Tp9{spuXk6adAd>7+aN z(Q}XW-B(pJO1mli-)F2b3HP!`m$L|O5VjpRw2iVF=|%KX7~QpigFCkzY^5n`y|0;l zVQ|=JgC2@?JG3ZRB+5rV;fM)v^Hj2No0m|w)Nt3dV8%~(@B?eM8D%R7nK$5(#v2XL zoFP~_xJ0xn*dc7jL{NgU9Bm(n{v^&v5`rlha{uT2hP>SED;-uRJlp`&6pViOw;3@L ziuz-|wot8W=I6;WrxJp+kJ-hw#lljo40m2y?ph{${Ox33l3xj74`Ew=!M^wauUzNYVa9>R zKIe_c+9Sr?SgsuJtFy*ld0*k}>g##flhKF7clA$zZ&Q5EoNI~IE;kC$Xx4~_^+pyP!*N)egS09Hqk1~&goFF`X28o z#7DRnX^*sTs&A`r&Trgr+HcX1t)A`9a9=*6?nr2&WwCv6bMgE4luN<0<|!(l`3#N@ z$`V;<8uAcnSN=WQJr&k1{^2%pNe8#mGYB|69c}Y79f~=uqG!YqYliy0pwa&%HFAP z{us^W0{lH;(B3$+J5UEW6;Ue9|d-)NonfIKEO_=n~WJOY52yRafDjwcCR z-GPlajR>PK!eQU^fES0q9so6TVNRXi485)&OVk0Z>>hs>fIEALUi8XGw@>6N5_1D^ zIk_j*E+zXN^{a=oSw09;7e-q(hY2+e_vYRq(q-Gn^JkHkYRwfSYn{1wEvq7GI!=S&RBBq~ z3SNP$U}eqwbWQYh7@PhE@>D8_oy6#B{c=!spRF`5Y9dk`28PD0=qvpsK4@pKW z2`mx>MNq{NNu%bG8(U>5m$LJtgHaJGOD{rIE{zsgySUee;w-m8e-el>h<{k zJdDKQw}%}D9Xx-%jVz5VO<}C@d)@(#gZO`n_P%ones<-4KF0We5&Ry_hAy+{!}{L4 z_`j$6-tO=8U(Xi!g9-ROpOW%^jo&u*ex2-4nyJbCo^@p}KWd!Bwx z&B6D1|6Hs*Ki#?cosQA>eauvy>fM|gVE)*@O+3=)&CT_Vs(Bn7Oq>hzcOw0|4aw>C zemQpH`+hyFsL?y9Ot0Vm%;xod9Y>Yb`7*hgL{`aGjg<@}!Z>-su<@0-Txb$>^`+&zDe2I~FZFW%R> z#^mf=`$juC^=#nZzjvC(*=Jfh}e*jZEX-js!n|&ThsNTPcKH)e#9`C3^Ogxyo_gQ{-pMCgS2>9KfZ3J<* zU)OtDK1g%H5nYi66weIsqzDDP(m{`hSEGSyjQEDwcM_Pc_SZw|2|-52^#k-8acYH9$>WcHjN&9$M*s z&<;!3-_ZYbFHWIi6%LL?I6}Cu?!|_F^q&l!6CS>-w>tYWyyP&qgXwn?=Xt?ed2hJy z@J)d*SKdxbwGO=w7J4Xr&|i>`XroJi9JF)^{0N@NqC1T_ebMhSn&!M+(-RzUkxg^- ztT(`8*Ki*1;;sr9ebjq!rnd_W{TB{w2B~fx{e#=5OZGf|8DuaWq<{Ja;nZL8l7ok% z_O?vs)>t zo4?o8kgQ@|2s}8&wZp%B4qY2`nyHD&ibSvIez4;ra2{sW)3;A@aw$z{Aa3IsOl=Xz zWd~*t?IC7aRU==6A?JFG2&C|0b-wjVVKZc)G6a%kD3! z3AX)bm{rRI)4z8~#W{B$UcKXB^j#}xEn_>GMG)-X0r5Pw8->cN+U>>Z$r^KD9@%&$ zVSrTv)uGX-Av!ZSaJ_Yh9+$4lfy)9Sy60z=q4gS;9ci3QY<>5WcS zwd6o~PNhv2q`1Hh$D*0kA!Pom$75`cxFiv8#Q{jj1f>@_rlbBUEU53R>_ub^JMmT?0yba6Ic_NmC z0VPw}p56VaOLv9%<5mp4j!Fi*EkR;lkka;9R*W8p$8I8x?x>ufuu?M{E0=7Jo-Kz~ z>D|40TLGF0DA)Pc-cnvyu<(->DR%@HX=h(YVi|l?(+P_al&e>QvmOMs&imBs@|ax| zDp7I`b8iZ^ty&H`c?|=+EKcHNQ|^jNDX|v@y3Q0MrH&TvF^Hy=I0#0FcR`r$4%h}4 z@MX`AsFlWXv<(lXeeHqrl<_jB*%e&T8UP3%i4<61rx^!qQy$xq5Bo{Z&cV}o-x!e^?I+31gBxob87PL z13tS7X003pJcEPM>8Q{unf6T_Ld-@Mt^xX>`+r_xl%C}K)ye5Rs92^1So=9$n&;dU z87JgC3poY_K1tSvScDaxY@wBFT&CQ=qiid9Tr#>G7H%8#?1Y@WFm`5Q>4k9YT)&LV z)Cxd|?uC2$+t}&8>2D(qAE!Vph=;~G5WYdZz@Fhs5R#Oqlsk;zJ&9~{=mZ-Ot3PVI zu5Y%f!%SZXwa2zg`zhskbd(4|O#jUqE%e;^CNlKz5sok-}Vsd`Hsj zld}Y|H{D7qSE5wmnSd1Eo2(igpvN`F*VDiK$wkN5!(1)uGT%<&D`J>FRE9GA4{u)W zgKo++*c+xhZ2UqTP-KvnWpj0PWP*-8L;#Wz9EXlXI)rQV{h}YeeKVgwV}aWw0EV1` zsWsVRr*kEwuu*-g?v8>ToldySnqN)4X(fy^W&#P0im<{r&1-uudK$TcCGI~>ppB!n zcXB$M4-OUy1cRHlSS%(#$M=onkSFx-bTxAAtP|#jmQpUmY)PqSrVwpAU6X_7D($cb z>I7RQpsJPtL6-to44Ghr-fSik=p^;@)j*=5fCGE+8desQ%f2WWjPPzp2mie%0h(e? z$c$^c3cY+QLUKU5M8O&KCQ08mr1+QA_DB}~0P70Jp9z`9paQW$xxaS?3%k|mp=J0N zJ$eLD>a0Bqkvn}m&Y_fSj6kcvC)$;n$4gwJ!(rX}FJzq*rNnc)ME)&2IQ%=@l_Pf%w%kCzSxqF9ha>A$!0djXWZOC3 zDg$b_`?S>@lbwY+b<3XZ#8?fE9ofZ8*5QCgh*C{R_)XSPiy@5fL2tUi9?gcAZm0Mp zvXl;roGYRWTP_xA}9!^p95MQ1A5?h4d7hCu|8hUz0=MG~HR zT45)?iv9K>sW>hGh37|Wr|7E=MRqR%syzYFkI^~NKx@)Pe>v_H3s}%Rl7FlhEr1Cz zr#Q0nlDF58K!fh^q%9s^*XN=!?+S#87DZidf957c0t-AAvAc<@-F z*1b1q%v&p#jKh_nSu}#DCsL0x7f!V@NAj|Zh6$##3=Ga|3I#a+ph!m?g4;B~a=D_B z(>Qt!QUFF4f=USHRZ5knZBnPVEN{ByM^dw0x#5IiTXY$+Gj2gp z8NBE`iX-Op^4dZ}Pp+q?iBndYMN8An!EpmFiAmYVkN0zdRr6I&i7qcMDD;QUPct?) zB#cexf@ic`pfa9PTd(0+JZZ5~a1J~lZX@`pbfKvF@Q$4nb@kv0bQsF&>`@VnteO?m zW-0$l_;RnT386F5P((L7>kI-Qc|}KZ2>qGPkN`y@LH!Ee%(rDLCi;O6YE5y;k0g+2 zLjXc@gJg=0!o2i93XNY~%@y}twKgoG?DF&OlAFR5I3M)uhM2SmSa>&Q3>fQh3kyS_ zmyq*eDO+H0Fq@N^CAXtW0?5Rx))NLpGIQsxRnxDb+f9>pqB|Q( z`ZlheaoZ)xZ}UZ(6G9~vnRT6}DJ^B1y^a7^659saq^j)khpWBGrB8T*GX&q?wSx%+ z*f0Rb3BG_-KH<=J^Mri^GP0`pJGNmyjX)1fTOr`CLF^I2@cR_1G8 zMa%z&tXz-C9Qcod9YsrQ#ouafpyH&?$<#`;8fBiYnU~}0N4SLyIry|py>jD}+c;kU z(g9G0>&d^F9dNZ?Td7S3)7Ce_C1S!;P*P&VG;Isq2O7eck`<8TY+fUM8s&;F#p$e4 zgUU5q2!*De^G$=hro3SDk++O4QAFH(c-}+~K=tMqdybABOqKc?P?TbjGv(EaoXJ!p zb1mafd&TzDc^vaXnT#(?JL-%6xB3u|t?ne)Hw`#sz|fN=*~q++L|=&JPPMeb1r}p_ z<+(<3##p9{(ITS$k8nO9h9{$U?SxEvxR}@raL0s3;BuoJF%m%JM#U2#CGm`$*bny{ z2n(>aY=7*{?JbD7%F+<-pCr{6|8P=p44)Sst2lE`8DzLY`*8LB4fkt|HKscto8`2( zwkmT^5*hR2FwXXO4NY(8D*PHP_nDhf%`&-bG}C9C90M{oYj%$(q%xh`C@7l#YBOn% zWM~bsW*gG*^K=`Z2ip;zjxLM#=`WbSLMFfO6CgjKn_pfd8e!T>XH;VkmPNHWsiJui zg7DWLOx6+;bBs(EK78&zxMETdgsc>N5o0JLb+>1ov+dB^tV(Bp{g`X4O`4=?&0L zx_d`B@`jc@+0Pi-Tb)7&ZsMx-y~^YINxWX3k1 z2NS3x4{$;8czIC>8eQD=ZV45Ck9S-w+Vhdd1J1(p(oj%T<$-! zCr$#?BGzOZSlIDv#OY8TyE_b-@1mmrC4j4#7_g1rW4P%gJdHABUk=r0bu7)avW@q3 zcnz5NA@WW*Z*eCcWP>c6D+lGpWFC!6CmoAtRQwSnuAeDW?d?7IV zdAm&h4!*ul|X>xa7PpF~x4|pfZ9*p*omqdtz{!*g!So!m1TzKmTPXQ(p{o^+! za6xDnjoSkioIy7$V$xPm>2GbH8hI5j6tuA>?^3ZN(w4_ppt-w5q{g<=UXlDsq5s4> z?3HFG55_i6YsYV8Fn82O;J~l8EZoc#4!BdPdUtVXyyy0|X4CAN4j7B}cZa~Gz$fUo z($4me7w1eLL5SE(iF~i@ltmWgdQs_*QDPfS#eI51!itUvO82uk?yX7^LJTh}I|PVcVj#VV7-MZl6kYi>*mDxy+p*Y`zyrB*_ zqSUb?5oac*c$p+KT5E_jnfF;KQ$`IH0E+x+jBYt*Ns@8WT9RQ@yRT0eMqUq{Y&v&+ z8rO%;su7_K_}$rI{q;?T$BjW_#(^N~gS_dv8A+wQRAy}`u!<6`3U&Dxe@SAO`+_h! zsQS??;n$v`Td1^zR;XJoTg+0Eq|GHV)(aVay1Y^%5L1UO4H@`Q4V>8{cCphB!Z>r! zrU04C-oY=pHxNk4mI<<>e@u}!J=K--xtnhuc2koN63e^uiodQU6(2mrAW|u)mIr?a zHBE}z(g|ernq?froM;x`mSz)0vU!lCk`r+*6_lBHJ}G|w)2w+Lty`A%1(YO~&$nB> z(}3%zhZ|_l@=jW#pPAWuz(C)aAo4l7F5N2;W13F!_uD_#i+8V=fvi^$iK|4ZC(Us$ElGKKcJNpQxd z9`Y_q{LgX?flJ_Un9XD!y*XvZ!j$~4zV}>?jBB`lD zAP{I-JJ#-ATHALB&Pco*J!I;cbj87`?uZHZKswZw6@GhqIij&n5-k9%jdkMusTx;~ zhYfkNP4XKDJ%QyB=z#8pF-B{+vR8w2!e|h4T(@19Vjy3;G2AU?vZ)y#_P25~+%2Wv zXnn}4Gz|#ZC@I{3F9TOM;xJh;#z^q<9jic^i!Q4`1F+Y>PMG3K}Cx(FP;*J;yCibKae-Myv6V=py=nzt~A3-f!x=mpSW6M(bNzH(m-@m*`VB{B{jj;Stu9`b})*3%LJl{vZbmBxprzb-AJFrLG? zAh`kAAS(mR{^N3iOy0tEnb^@+uR>z^;^yX+ZBGM!U0IaaagFj;epDrTuPMRo#MXzh zF3eYNdus(JwFdr*69QH2!(}Us8kNEI(*(FJSvlG(jQH(MEgi?!NYppe{bjVyAMS8% zQ;c1+m@FC0Dc#rd69yB*Ud#)mci2wKqJ?`J!E+hLf@%8&DIa0^6f9&|1m{SN?V%C# z4K9;O(7H!Y7(I;uybSAVw0JKA;K0w#a`=V8Wq}_B6|BiYrNRu^M(^@$Wzw^JGau*b z*t;5tR2fo-`AG$bPWaLxbLQygywg9F`rAzupax0RZzGoAR&6r&!Ujkb;FKmspO1=@ z0L&N$^Ed9p0|-;g{EMu?vD8M!hhgjd;M~yw;17kb2D}r|Br{Gz2Oe(I+EHrx)?SJ* zqhKa9FLfd*W_A*G9Bu4m3m5sJ5kBLe3|}B+fWz$AKzk8gl%jq!kh{J}EB{Icf@9k1w2;kwl-$aqH16z%u9EBWDD#VV2TFxAJWvXlDGaV)`mr^1EB^I$k#@G zBy=D9X)VZDUPf$nY9~W6WgFHf;3_NPg3ZOA!44@Q1KC_ab)W}0DAh%zc_)RP86o7R z|LV67QJIfq6|4^E6~&2zq(!%#f=t%B9Z1nakaQm7gC2&_qs}xwrfKj>o6`QibQx2Z zD*UU)w42Yam8|R0K%*Uz${x6?U-acr$L63|DYq|M2?#G3trS=_m7lcAi2<+#>*~8K z7RtbyZ;g9Q{l{HtHPwUJbV&fEs{yh!a7B)|Y9dU`d`*)Zk|h?Ikq?n~kVF7>l`fg# zGh+(TTMiS|Tf<(Y<7m{8&LUvTJ3?d9(Ndz+?!5X-2$RpehM$Uv5?dgnSkPVJkJhljRb*T zCIlz26F`qvSxBE7&}R`VnP!rS?4CHrZ4g*kjAUPid0+qJEo$&wq%y?m9`z%@(~g%y}DgQd(1qlxio@U?Ld}gE$NMj%Jb)k!g~yTzpFh00h4wIY^pb`3u0l-u~7m;#iv@E6qOo`Vy?(n z^~xkmub1zBd;}1Ckl+U@Q}L4gRpXLrWeHbIIu`;3;p`Jl1yk@>C?vp&yi5PZRuLu~ zgGA*`6|!>5sG>5cFUveECU4{;XwqD=QZkG@WKLe_8rH>grKw{sBmnDp2{yR)Ag4*@ zmVddfDLr&P8m}^>+EbRjeAQ|-|BGcY;6v1JvzFlc4|OXr)4q#z;G-bUlodtpCLN+? zqi!=jmRy9gP{pUas9yes3!s+Dexy~v7KH)&UQRbEnNN93dwrOkE(v2&2iP4?mM!ivG>|fN`_m{S@<)bd z04+^42DsTm%#E^v!)7uWZjpffZ$mb}VTa7$?-8nt7LHrDVitLaI*} zm|4TBq@mgUG_?Hkbd8N{kr=QbsTJG5w25@I^HEctZcYK}*ad@|&HbGlx@AkrpAI~u z$1;}_KJh(PIu)u4$b(v?Ig#mnv1s}fb4A~HH=ch+-;X zEUc+e6N{N4oXGvI`~75tL@I^u;uo_9@5A#MS?KExAI4MJ6qQn^nVqWo0|dP6nKG%f z2WvY^7RTWiHYs9RE=`(~Wt7kZJTOy(!8b7pcFI8x1)~y5kRMshnQ<);W33n`%0_83 zlZ^~qeoW=L`?f~NeVeEh0|)CoPvWL3+SfuUXrBG(rJ!Xz#3$jt+HUn&`O4TEhG+-q z3h|Q&Hy@0O1{F+PgVJZ)k;(!zq|DIel#)nY@VDX<+C>icqWO<1!D)ROK!>hhhV5xU zqX#5=s;&i%(_Im2A$u*RDKzE75nwZw|8~dD5y2wWC=iq+ zQlZQXHP}be+>J3il*6WyGUH3~Hg;sl547Bl3BJ#sDk=4dpkeFEzr~qInr`GxmHk}j zw|uYXV?RhBMGGVpz}@m`@x_EFI+YF+zZxE?Lez>G0nL77);@DTY9e!y>Cdo^_49lY zzhL`=;Z}_!MZNmjiMt^w){{ex4?rDuwal#H2i7RSD`T^VFc%WWD_aG>7H6w^3p!YY zYurH^zz$`vTeO{^8dF1C+d``#w$qQ^?3fMnT9keDLeWJb5m}(-!o3}JpQ_|j?qq#t z-P4Ucj&D*Nh6C$8_#uHDD!u&d{IwpXUeK_#^l1#D$yTG-!Cyr@dwA3+sC?Kp`9ohP zr2m#OW=B}igo#r!P+31Gi~5Ftzm7}U3TH`&H0vY$12mYb4e4N3OUjQ^KOS3-->b_5 zJ7i(1!JVYm1tC8J`UXo(T?hY~`cvgQu%8NaROM2g35t3u`Y%N;q?^(3;?8)qhRUgS z^pnIgLakSo+mzkd-GF?g%c+D!or;Wc8wpo^;7;yTl?Cl-8IT8nvf>5d0uK!`QK!J% z-n~I0Cd2@LS&sa7^ERWsf{P7e1$|~Snw2ZZHW?(3Br3S4tZ^W;+LjIZfjAA_7J4DeN=lD0Sah{WBkdc%zWrz%o_umWm#m3qyf|? zBeTYK>gcy#70aVgC53fg;T5Mc#FD{3vuxt?7t_aSb80PBk7>;774u{gCQ?&+>4Zbw zo-Z0a-zbSInm}G0i3kzLBuSYda^X_Vc7wI4PE)IFHL906!9G%(k;H$6<0VDAml-7B zx^A-jj`MvdwT&uyDiD*v=a&QR7WnP1YSvk52pmtvmzt*%lm`(EnJsNOkbjGfi z`lvx36bPpbl)-YPq3R{UZ$~jZ##NlLkuvg@SXrjp%2~FHd4vcF2dZCfEx9rC_|1|9 zv+|K76e28PO?)KNSTFW%N1m#JrG4j3KQst_M;x!)|o9!5d})@_SZp~ zpU;)Sc)-abSPk5b&_+%OE|keue;Z4t_qsV}S)~lwOFw_ZVGgBn!9wpCDEGhbdFph+bippAd?*u3aoIq5TnWE+HK_j zfro-QIu<(!Dmn3H^M~X=)*h)X*{R;$WjJ?dF>=vU33?|wVIsz)B~-KM_6P%ehK)htO0qF}G?W>Y_&IhN}^t@`#lt;*m~ z=CDcqrZC8S={feOonO$=iG;#yB ziPvJs5w9^0hJTNdFLDJ>Elun}61)jp(wM}sn&p_jOqBMEPqRh&o3_l%TZxSg2tMFlDWs^g;>~R~{a*n-vRAuio&}4`=caAB zuA#+inmE4CDA$^G06zarX?YavXFB^3s~&zG;eD9qW)s2vcv)!AU}B=-7UdHUX?B}- z31FuIZmpY*cA*q${V1&u0ph1}8P4kV&Zf_B)NS2XX|E|U8Yfv`S^?Fu z2G9gCP|o#)(KPW2WUD0Un((1Q-7&UW1gSf46lQ|T` z3OQ@K?zWn?zIeHX#5O6d!+OZ8h^{dRGa@%HwW3plk;7HUC?-R#d12`IrwuG*2O90i9ebeH1l&=B?*7=0jSW+7Bq56|0KiM^W9X5^G-ht@t&J)%`|I}zWXJN zL>nrqJVerHTnoaG7`L`Ti&R?~pDq9FIm|fL5jvOA6hg>q>NKl}<}HWA1J%4zrGRiW zL(|&zE!~ztv|<|N<9N2K4J-l-hTwu3dh|}%JZRXHl>W78Lrt9k!#Qk8;!)Dj@}w?NUZc!I5DpJ z=3!k~9Ogob1)NONp$sD!77iJxwd&E98Q%?Ue_o~LGH5i>4vs3{W z5lvafk=qfqYPir{G}|zKITp8t2U+vNrf4dER^`lOUE)7qw!T-bAJNNJ@R1 z;VDY8_X`4}b7Gn}j0MW>Rg){+Qb}{yq(ocy1%yf2b{m{dX)EJW$xqFzp!LwoNS=Zz zIDO2uj=dhCSE^@1Rs|_2%JRpqQnp*8r{59DsR8b3gm;P*gl0nMSZqN+5Kq3K<$1&v!R19Z~}U^zfbIx*mjGitBKZi6yI* zhx%};Ssfj&7Q}F3#3v1@3`3l^4G9IsTI`w!RxI;5jx^+7bpwTK6iK8R+ z7{m11x3P?hYc4Iq&g@u*rfM8mpfRu)yq6Gk=zSz~y#xRHHiCjK8OgCbAaWDc3Twk`>YIym_;;d<-q!5Y@11|7(8BYDTWG_T${E^tA??-9I1Wy@;LegqV2kd4da?0qiD@9 zFIPf`Xkuj5f$Z|&5HI6l9a~DmcH4t$+0hEPw8FhBuAWtCIoL5?%R=01HyiQ^K**5% zSKBQF)`KUCn#ob9C9ikzF%zA24n?kozdUJ2*8sq!JK6r{FYTykKU#foTzKUMdJ z)szBJ^^40QOJ_pc`D~E8L{@Gy$Id7_nVQF_j_Ddc?kR(JJuvA_7k60NI1Sr1)xHV! zTS6(*Ma)sn+FvD6I#)rSyE)YZiM2hLA10h${5t{NEf_ZqZFTJkg8x}Nry+aBFu$mr z^_>RAlUuOS4!JqmKvm5-9o8s)(xPH4DN$YjNKNzg1?oE0VuRdo-VuP&!~B{Q&MC*|B}-2YRa~_1m{wK7k9`JFmB-IED&m3(AIED}x3wD>7e(%LOp+>U zwW)bL6=8k-UZ&ypEk&uKktK!HFD}VdXaah0B%DJQ!zRcDkcoahV0`z}xAtH?x6>z? zIhj0rNvizW>N;D( zF|J6gReF4xi)(g3_l9P@KC6&=%%Jo}?T!3+1T)Cw^tWF+$pv>v(d}bU-(IgKk9=KG1o!l_KlA1@p&mcsS_MwbvOQeC|;ArKnq>3eCp2qWh!E-*xdvqfpSNnYc1o8DbcxC zE*C&KGW>)*53rx|QKH+a*h`{L6_D&HQABq4u5v;YwqYm8pw=u2+O~&1^H@)ZpmJ-# zArPh7I9LkT40lGS^~)-sach19s*4~xi>!T6X8viaR3{Mssd61uS>2SRi0HR$(jr?u zn3!z)E&c!uA}uiHz4Kv{-QBBQ1*Zb=SgK|@RsJ}3p~rmiP7>Fe8RJ^h>o}JgmA8?dbrc` zX218oNNxtglDC}PWK2xy2b@O#2@hMH60G3Tr`_375Sc9sls$g z?Fp%lWL<6~n&3cw4;>C^?V7Pw)pHMXla}4Orq3y7r-F{>|A<#42ul5W-R!g?*JQ=U zjEW&7EVo)vpdDM&HGZ9;c?Q>{>3&F3SN)LeU}3MrT}K)-2EG=|6_8``hyzy}C3~<6 zr~nP50<^f-$P=?`b%Wd{!?~-cI^QFyG8XL(#$Ksi#G+D&Oy!@slVr@LEn$v=5K0NV;fQAfP~fn8j3K|OnP)K-Ug=;cp@^6iX8_tDLg z(mF=x`5+M(TXMNNe+1E0?_Ul&+KcGvB6n(w_3}Xvkn&2uHn@SYc$`kW1+q+IucR_E zR&Qi&Ngq=LR`&$ia9F%z46b;=zuK-%8tcweo-`rYP;+}RG87$$$M0r- z7xP5v7C!3isuYWHw+C@PcQ0q3+{-waYP4?(rdHImjcAN^Ng^2ke9oHvYK!C^ag_=) z_tWtXqD<`Cm~pt29sQxBS>T#{?crAYgTvE}lZ)5;H(w_Vxz8_2-N&6DmCG9kvolu8 z_t%sq?luT7EDjidZF%hWpn1$Knjc|rdN*#53*;N_>O0f_{V&3wz^o+xT$s)iCfn>F z^9e@-D>m4}g75+81CBV_87ZZ1%d+5YUetw)?rZhb9M)=^@BFU#!o_yuaSzr<&fEyh zSTiEil_G9z8(;DbU^k3hYc#~(6~pDK5&ya})5VY1c$Ldl3)?0S>Wf?9&eA9d2RN~u zs*xstk5+4|F{3;8?MNj(zqRE;MH>t-?&?3umr5;{@{{V7qTLIW<@nzYaZaU7cOQAB$3#~iAsVd z(p*N01k6iv*5v}3Kl5AU3b|M60}GLd%0HM_+C96N62~n7e9NEURd>i-E-^(Xt2nUlp}SIta0qHzzOP_Yk>@76W?b1>*v-be@CJcAbBRDT<#Gyv}liDKAf+;-C0 z2kh8O6Oc8uz#=dRr7zedJxt4$EJ4n_mrv+@mK=lun9JkIy}6|ymb+~SHYwxHq<H|EdvO&v5V-8Yy|KRuYc@o$6xWAa$A67PdTzGhsY62 zU=6|9RCKqwfu?bLeu%kPa6s<`oOF#KGJn$VC`V*wx*`k3&f-P$Fx4UUbuqOI3VdpE z!_swn>Umu85QC1l@S+GM(r4YX@Z`)|!wuUicuH8MIC9QEf{WeLW1x6-jD_GX@RSDeyDgxx8xpm(x z^ABL)(%L`&27Dr$_iwtj&1d+Nhd7V|UvQ{SOZLd+d18w%KInI|cLVa5=Z^Ya+kW*d z^~_?9E$|Te$Z9X&(CUx(`Y{C8)dSV2Yn|;gmhQ*t$ftZ%n&pSP?i&{P&uPk+JT;bk z?+p2Ib6y4OTlY4B^d<8CURs#i`pT#!(N@9h$7O%>JdDXJ0ye{QCZ zno9SWxJ%|hS+U5f2-+I@F2Lm|$+s#5+xn-nvO~I5ZfrQs~ZQbcW;P-U=xrw=>Y%Z)tm!tZbD)pX^_PvRDqIeF*(Lzwsh5)XIhdb%)y_+jdRqT6& zpLG1?O1kpo5m{Gz@T|`cYRl~Me~3G$?n=03jRqat*kQ-E-LY*u>Daby+qP|YZ0^{$ z^SxK+FP!UjQCDk>8dWu)x%AJRxZV1B(8u%fO55uZ*sso|RR@_`4OecSSm z`e?5YYQ)=`Dw(-?{!uK4+amFfs0dWMQK4>ln1rXv5^8NZ;9&bp$M<7k77wc#T7Y;; zq(gy4Eal=Ck2I}xHtuZTZpPYQG}?8oGEmcMp@-)0(7e3pB9+`o zEV*QARFQxY4;OT-w$bcKH=c0bWjSZ34DS=C>=e%MW9mM#sDl}U!}HM*=o$>YLad}X zA+>CX;fUiTw`&0s>if>!l6L6K>U^w}F<1(^>IU6R7h*KR*ke8!qUl__+`P9|jv^5~ z8CnKbs$mZIt6t7C{N3|SXmX!n!BmsW@b?E>Kt|FN|M>GJdIzsI)Nr4E6VBK(fyARR zdONQ+R=f9X>8CDI-iO!-9dP2zX;v-a`R3s4Q2os3b#|!jsd9E{4Ua}Kl|*C>0b^5D zJRDD@1KH)Y#*@(TY$=SV)d$T-CT0!?hcYA@^*`LiniIo|jRqCx(tuXfMzUj3vx%EP zS+-kRKr8)KxVX@4F5o2LKMy;jFDfsNZM-5v-WvoxWrbFQS=C?%Z2ASsi7nox1X-Di zkwB{;^BPDlSoQLv_JLF(j%X@XI=$jJ3 zFnf0V`v4Wi(t_8uO6aOPx<>iUG}()Ed&wzc_M44{0`(B6mT6!biKs(SL4{9gXz5c- zXz3WgpZ$d60PUFx0Tp)7D@YCgyT?_tR+9SPaFO1@m8Z$hTcBHQVjpA8#klRnMY=F{ zGx}Zl33fmsB3&nn93xQ*!%Zj$9e9}Boq0*c)q3tKAY2c2RRzJD-}=<`cG+u@RMQ5 zh!V$r`neLPc{x;A&-u~^2Ip?zNQN}2i1;|pScLIdF{bQK>30?<8 z#|{jbJqw&@m?#14nr&KXOXV`_74QVq)qp0Jr1#V0>H{}P?ADFWh1qo-MBlj#&)?RF zQw1(|2iAX%w(ZDlWWEWy^c!Vff>sESZt^j{GQ_6Fg64}!`AaOC1r}@el4Z#(&kyDf zmEUJ9?!RSnek=z%;Xe5y`M@`-HBjk7q=EY8Tbmm6Uk0WFK*yjKOV23;HIMp#7@ObU z)Mu#Dy^mkZ1c=xB?rMk6ZQgz*>U=!9wtjvXRdCC?@83AgXC-eAG!d`QP>2VWG#zh5 z>bfwiP#xz|zqApms*WA>J<2m{BRLe9(^#iYSKc;KA3CNwrBZ+HI^F-9KK#*fCle&z z;Z8v?764gnconn{F=wAwZJIM@JqZ(!m?v6=D@SqDirP7ovqlqa7EjT|sl{=Z)Nv@( zdr+GM9+Fpa77@S{{vqI|JKvvHcZ65>c0h#L-GjiBP`po3#YJf|cUvpmgyI2>PjzBc z!aUilY17dR+TY;FTc?575U5-!4ycG+jDsdvR=(IyGsgJoVCzO|#KU%2a>3?(a28KC zL(!EY6U~K$QaAlOLcf{ZT*RkLqMLOzb>9Wsv2?UMWYD>rT`ufG8cKWU!o~XuTxz|lk0Mj%v)<}a~7xD{;D~1e`>s@deo77X=^B>n(&rZ zSj=}Ly?0wN)Ytp77!8#9L_jWA5^gMmd#NDtVBoj>OmfpK#L2guD_jyQ z6?&Iz=hgMh93d*x^{Zz&m>;keR3a9eJ)iYp^X_!R7+1%^F(XT#-|6)Y#M6w5w83vsP z)Rc0>3wj?!+jtq$Z)+(E_hQP{c*|CD*hYUGY788QyF_$niiG}*%ytJ?1DSt6S=4jwUHX`0~gyz4!+84f@<4xi$XL&0m6$fY_2?YD2 z+;+g3{k%s{LALdNlpo@?4KrKM(CMG|aeU5}cwgYOT}!0iq^2S3lq|W4@Y#~M9U+i4`qv|#69)@aRP+;Ll-A$=&AXn}t zxgL1+ac`PZX{1+4z(IUEaoN%tOOSnVZWcSgz@{C{+eyvnSE&QXSnhGDbOEc5`a3t; z^lOWPXSv~BvS#O;n3|jm8R1v9ma4 zU994>Kt_cAE^Bg=uu7mBTp0nCnia5<+JQ86~@7sM`=ns^FH25!A5D*Y(kP{7KxhGOV z7Y{WM5Z18&UxMD*+3f!a`r#fJcXZVi0dG6ir{3b18L7@iQex7%cybs+7~;z)WE5f| zt2MC38|`Qm6ynCZ!r#Ax!oyX!K~WUJsj1-rx}YpC;+=URW_T) zL{Y)?ir)PbjBL9RJrQ+$un0Z>9HRaey-rgq4mv8ANG|{NhIW@1TrCxL zF~T-ya7ES)dm}#h(aPq8$sq7-HbUgyhj;B^^xRFA^uv7B#sgh(@oVd-H`TzA_LF%qf^9WVGkyZpTuf$Ykz2_H{@4r;=JxC1uB{NrD-!F)05 zKMN^(iFUjArZ*7xh~2J%voM0&UJ`IuGB^2C9Zp-~TNM07vq#cTEqA7Gj^0B09Qyh| z5ug!J(QgIAQP;xK@CAqj#76mnyj%C4=yiSqlyLY2wKg|<&pWo7T1^F}ZkjB7z8u@t zcDo$4(3sb<>Ux|_R?zIx$m_5B9R<+9)j9uMW;0YqRQ7z;eJj#M_{BI@@^6&TkmpA0Ib749egx7_V~ zIn`XL>UI+)+`R?`he9A=erz=yqOl`%7#rsikEz9Fd9HOhppeOC&ET!K^%;8R`^e?B zzn!zo^?c7D5zq6vPNx)&<;dlH`#i(a_spQp=C(ODpUO-3d(lsu`Hgf<76qNr5dCEP z{MYeSdD8-t?zx~2#NpgaVSoY$XxH|p26>Z-%dXXgYYL|>t`-A2EcB& z-f4M4-*_-TM!@BDJq;1u-H^Bq*)Fu_&sU6;A(@^E z7wD9bO@t+Z&m}`Zp*zV8}YY3Bg;BPs=C_S$UPIjNC8OSInt}Tnop*ygAA^B zZ6(*$jqw7QuVRuu*|R=(s4g}Od4wLX6cWad5emw|`UvV6VHgU2NVUbvLE8jS=PzPEgZ>@_x(Klh+ozmb2?-2gH1XFv$t*{XP+p5;$fLB7>h zA|$v~Md%=zW>{cS1sDhhfdRmJ5rWu%ksn|s*X>F}&4(`T`ulD=fVl6sn}Pst$rwFW ziiZ<+)pH;i!x1jxt%J%S*-u6EO;zKX$=mm-!{Z&b^c01{vYQjAg7NQ$+|>3QL{#%} zJqgPtg0OJQK_=7U%3*_KPFYHR%lM${i2%`=Otm~OHLt-?v;yeuPxGtA;$cZ))Xs2r zHAw7f<(-SugZHF*NiB*DCx;^B040U|l!?+YfiaxH-iq~-xS7E5Cbz_Z<0QEpVb?ys zO}m%8Jt#JFN1Du4OSw{qtHuzL9cHK{dcA^8$Cu29?%WpoT2L5;FlA#Wzy z?tBh+**r3#W9aKFRIcwUA-Mj=6yd)0H1L3Ms|)Ki`r7`6HBnMpat)jnu1i@-xIjSz zY8K`~){N7Rbg8K6P@L1tQ%u`V;&-UU@R6*X)dijP67(giomEmq8tc1-h!vyOE-FTV zpAv&4Rcm>=Q4;SQLmMCUxp&%SB7xi%`@}CBGi{aoMehdACzaU-KLPQrw^3z2!dF+` z-0+H4=(I|w!LN12DDig9;rPNZv^YAW$MoG{n<$MfvseEZ{Hx2;K@#85DSmLElo>G4 zt90Z#iJ(g!(wBUJ{CPsg`ee!mFD|HI-JzLslV|5%o>m?Ll}GwhPT(`d{kiO+sm~wn z=T?aUPBxF+@4s^>HMXUN85b+7iXB=%Em;=Y`;d)L&$sQ)78()UY|=jIxaGwJmu5wR zNI#eRc~6gDe4&1Ga_N`^YmIu)e{G5pCdeV2VNqBD6AhvxxkC2f2hs_tW+hk-qs~H% zh$y**6Jh8z4Vk%riGGn$EuzE}o1Z_uDP_{(%E=GSmZ80RmCt>1DNp+s@W&mN1i zLXpAA$cvkLPO9lok7%L{J7-zgqApq&mPmrz{rHJhrc=#?5qC*|!vQ3b?hq$(jmysJ)AhF-x+O{`0j*iSro?EH8nWl%rJ=;o zEjbJxwRR{m!zgzWoth3DHF4=wVrc~9f@qT=Axn%0tx8Ug1ocYa=qV{FDV!kQuwTY( zDIhi%*IFuR$3i&c)zg)u2ZjzZ%M}JB;+0JuxM)>0!Slx_@z@VX1yut63b>QG*<2q~ zdDWC>)i+%~tn$=deV%uHLB?eFIFD_=sBF<+PhSY?UvxX|9mu*eS<~yUP7xu|dRROM zJmk&_G~HK4jTSFFm5y*AYO2N25S#^hti}(~0WEAT==(d};$;>RoJqzcIAPSSK_fe7 z-YwQbt<(fP(rV+_Gq)iEA;?kXHdE^tTRr0gw-vP{*V6ejFc+U{~~4K6DdiR6y|TEv|==i!X9mi@<4MsnIm)d60x>lDcPcU zm)pQJbHX$iZ<6W$rHY?lA1RO!n2}Qao<}~?Ef{33Ete*mk~*7ClipQo5bkhx-mxYBvrYOlubW&sogj&YwPEW607gYY9e9cBWh`Y*=PktR8-U@166RW5hfz=WFGy)Xf6L0*$nmW=l??#rHolvG!A(Y zr|l50m0RLOko1FsB2SpZZ8v`gfrZIRSCpqj6Qh^(aENqtcu{6AxWqqMa zZ7FgNcOIHsB|5NHl?hd{2>c1__*Qh;Ma96XM%f%Zo_5zc*`K;d$kVLsb98>S(;Ph( z2F}Zpd;DLGin8vK4gJ3YoLd)|(>&H3SbxpgtEiIv(N2$a~R*wOe*J5d*ZEej3j#N>)*4Pf(B) z(DJKE#n5T7d$LyF_zqxeX^Nf$}&mme;I^mgt0*Sv#uCi zIl&n-TH$;5TiSlk;}Cf{HLm4;wi>*Pclbx7!>$he{77yLxn#olK4IvJZCF-J^Rugi zxkTcGxzD#)vxNzck*8@V=tTg!p{z9Un<1GTB$R&{B=rnh*ej3f&o@!c7&UmbP?85Z zYBfd0(VTZcbK*1%NNey<7LzmBLFQPzmNTA6|COQLb#YhJFVP?ocpNP}v*lEdA^PTc zEdf7`w@)W1=8H|*o2%&6gJO`>sZ9r{%6$zYYr#L}? zea!iW`p+-?emy(AvDyASbw#nm*=+P3eAVWs)!?Z_;rXijPKjXsV*50nb{H2b@BVd) zcHhVT{pNP@GVSXzAYX!pMa}-ow7ZJI=%zIcNeM^~OyhJycY$A|MXf70)c8P;Cd20& zO*)>*_^fO;6FLB{-#&a04N!niiv@Jcfo_(vWQYyw6>C8%OozX~?Ss*q6iYpc3?wEs z3l`!b?{LBTLY$#d*}ofT28pEgcc*%DxsE-E?PM9k9YWyjz=Hh~kZZ;?Ct^TsL*A@P zUN|?3(g@LlJ_p?fA2$af#5P%&vXkxhndwj+)AM|SvlgR^>Y!QIDmU?@RE)QuBie{~DZdsocQAPb6Eaa;&(HE=*{sTjmZ z%Yi%F-$K^2TxxMjJ2I({$?jnA_Cau5*5NU}#qQL+2K-FhxGlru>JP8b3`wjB&^07I zi^#yT<1XuQDVVZmri}62-IZ^-kMtGpmjs_w%$=pbH)98*>P7LzBw`#^8ldq9o1>Vc zxB$w%Ao{x2r+uccDoXRNk~tJIxW-Ru&2?W`j*qk?`mQZGlnjUT@p#Zi@lV^K$F@)30{=Q&^vRy8>tv z#BlwMBDQepMG^e9Tfef&$+04}vi7%O_Hk+jpsG7vZzHJ%tQk-8mlifedsQB}aFe!j zA3?MOK?&%264#GNKN$Fo?@FNmk}8Nv8&#KYs&nP%Lq}xtTu-CO=jb%`wN7@;u-MG^ zq~M#&boz)xWUUJwbXkOk!6M!0K0V)eVJ>aGEa@s&m8SluKASW-$X;F0@6ud^Zq>EB zCqNMvswg6kyykI|pk5Xi)i2P%OipxB#I7a9_MgF!**^rwomFQvY9OJ;+$?UjuY_Xh zh^q{q@#9dMZ{M~yiX*2Y`N~XRL6@AB0FT+6#ys1pfudCBY^7dh)DgkoOke2{_YB=H zmEaV2A#0(7gfYWROmyOLg=M;Tfgf17)}h|GGAdK5s761`$R+Klw!!d#BwE&|Q`26398##_U z9d&!$zgjV@^QD~)JZcmY$Qgq7+uIeZD3-vm$w@8gEW{Nxs+jVvl}igPkL1Z5@~xvm zP3NIs*Pvf1jQUCBMMw<5<%}6ey**Hut8%p%$+AIrW|alv_WfY;JT4Ctl-8daxWjFs zNv#^iiz0-8DM4F!nS>st=h*Lv|6x5tb8a+ufh8@XS3Zf7Pk%lHFDSekUX++Cnf(-; z^%7G>zF;B9A`FboaAM z?w^-4VZ9TdXYI5^C>bMxh%?G9FdB z#}j20YG{K%z-1MyY3(MX4wjyXX_r<PL3%=q4?8)Ev(|G<83ZBePO&W~D=D_Blg37CMYrko|K9 zs_?RZ!n>0v?0<8Du4Ow*F1TwOKFn0b4WC|{ICFpvpk zC>U&w=~nvocnNrDzMTN}fOZr2G5kpO($D@Fd^|X>9ZlsiiExoi&}DAI zV&h+8q2%>8y!?`)w;{3-JPNHr9HAR!FzZ{RU9D`B3Cx~a_nrpU1Q4+Kec3;#72a<$ z?zX`@#{H$?H2O3PMD*yk1d|9qj6XyvECi5>09I;9(@$htw6kh!O|~6_Ms~rXh}R)7 zg<&<|Ytfsrb*>MS)uILt1e1k8?9#hoH!xM2r?FQKmR*W#Xrr<~d104zu`H&?r0G{w zw#cVFwZ1)XMv}bDWfKJ+7U8@E+KGNh{r;_&hxFdoxk7j~!ZM8W@cX?L>3Dj|JDnk) z$Ia_Dh2M?%VyIs{mc~=V4dk!xU&Gr)PYCOUHzE*^)R}?lScBPu(2WdGnG565pXvPD ztWwm)|L^;|C)o5PUv+lI&5xKw-I61+rtM&&JmR8fx(~aOv_7EdSzu&y+F5@D?YBbx z+e%>DifsuydXTrV&FxWjD)azwyqpYVuj$|bu+)dW*?Uxcr5?Q)!%!ogkT)Byjl(p> z347o1p5w~y#s;}*xM=%EbohfO%@4Ukwv1hi*Wg+dW&t^oi4Fau{w+NGV1tx zmUf$WRk?N?kI(uXwUF}1wYymmUo1Vt)9ou#Av+B3E&fKyt&VrS} z-4J=z;FMQlcvicQM*(AJ%_pm@Va5l$;sczl#rird;@T8)0Q57m6{nnyhq1cek@koU zk%eEhl=rgTBCo$n3uNB$Kow*EoSZPc>^q5}7V^Q&IwTOLoQODkR#nw-h%wV8{+pIK zb`%p$o7~9f=i^9{N#L#@v?=U4Q&~LE+c2sMeS=BNB;9eB9pbf^{p_dF$ydJxGln#2 zEsEZ$hlKYevG1G0bZEb9&k7l1#6yEda!2G3alihRcgTv3kq5r%$*dT=s%7^#8l1NW zE;!17s>jsRfbPwbC?)lmg}-ms455rd-T@*VwfOk?ba(mXk!?R9jCqmxE9F z95kFYcH3oZUf=Q>q#mJnk=h<#e#tT89CO6dh_kd(^oz46X|XIytl&5)UQ8??fZ;O0rhS7frVJxuOT^>V|I`|6_x#r}%N`1P*+8@oa=2gqbuH!nR_8I zbDjy(Hma_uL>{pd=i;Wgr!`P#SO2@Rh4nac!t(KOgGStph_3sLSdP z0aV@ZO^&6zJ1o~MsW%_>)$hQ26fT$a?li<>^!q+Zb6-4?KB=E48S_p_VVR9gBfOhH z9LCIbcx(qq-iS)nYN*hGo<44HasUW~f-ik?mwWJk&${RE670@lf1gUI*@+U@$6FCZ z(t0qwH(3o-NoC-}Sd``TQ`@}V&bI+iA4qu~=G(c#i=gDTNl0>5dIPe5cV>0@?q4Ih z8o|X9H}7MRLAH{FOOx!i$^AfQn3cDKnv$Zv(WpkIe$&r!9KTdTcHq$3k^t41#z{g+ zwAOPDqoSH}(F+%IYe;SknrJOH}D?VrDN0xI7}N>$TK*UL2JjA?_R+Elm>eP^ z2!+xF{MpEv1>jUt@^5cQo8xSbkCZM}%x*W|Z%(r0ybnaXg#|Dw_{r{rT6IQl+v-7-+uc}d` zSNPm=1zd`Z3oGOj0l9_c;&_Jp<#rzvCg=-JSl`!aIDGv(I+^xbLg~!k#z5T_?{SDbJx_%p zGlT|lIQ?ql7Z8HLyXMJP5WETE%_uN zAv+V`ca3A%GPte^%=OY@T@X6Ul|RN$&;weF17>4Q9L28E`JK%<3CDD+^;gEGND*wXGUTJ^?qVA$^Pk$*rBkXQkbsOTHzy z%ki?Gdp!nvH-Wh(VV)@??%Z18IZc+8m}K-QG^ada#N27daSU86J@~KF8*ISg)-)yTMqxN{l7s&LFJ->sxqZjJz~ifV!J3I9cQnu&$}(A&#Bl_Rd(@PUcAO zwhpV6Z^7PYN6(b-#p{jrg-`n@DEzNB?z#nAX?vZr=%u+WyB8bg$Yl#7obFsRE*UQ` ztDrD9pr*u%xi5a!cP~la%5Uej$q%ha0CG)r^b$Fj8GFiIt=NGlm>b(`fByu}fv1@2 z^MEA6657Xo7lqO&J!tPE0yvQk)n6;7T- ze}&7f{>F+85R}jzT$A!&m;Q8CKR#*xjAD1L@$U2XOge6gS#7qq7S+k^x12$?iOz*D zyg*ma;EN2$A@pE>+!lFC0Lyo(DrV9{6O42;%vD4+2`o*KUjqa0@?OIGyY-&B6)+{7 z#`5CQloiv#5ba?+C77SDey0W~dKJ%@(t=?Ck>lJBowXy$^F1ZTG}@Majn^-G8p0hX zHxM$g4ur^=h8#)1WmXFdDK)i*XjNAnKX8HK9^{BSSzUV6DP!v*^rkL3p>jboO=OJa z43Co`HDr{ z;sc^3yOL&mZSNdk<>Bz1ZQw}xxR254Dly_HSBi z$7;zd!Df}9y5QKMEov)~F8&&wUA4ANy|!kx_BAPHab$s{nS!DjfVt4bQFNU@Ya~Wz z|F%^KHS5aIN=d7tu&i0|oL%n_BZqw=v!6z9`IQQ03w^JYaVpjCii>B%LY~l7f`5K@ zULK8tmDiJ%d2gDm$y~FAfBj&4*g9RKv z%@+NuB1JJ0ddMOQP>v>m2a!?ifE0tO4iujJFS9q=iuoUBF)7jkZjP=aV|ijRw^aZs+YFHtc0G<{qN2zOr|9g9@!Rn*Z&i?VtWP zqs3bEf%CQ{cd6x7<7iZhRcqT-a}Cig3SYamkmAoGrSyUcR-afF49%M*s;%(cWf+Qw zgGj}Dc{$zimwu0!CQ>2VV?$%*0l_0hoo}Iq7{bP*QszVEDX6xpag+s{*rWL#im`N$ zB>`sS`2b%)_~@ymvDn80Zq2~yU1=$q*oTx30J|6IfEct-QqCD_Ls~Q{M>O&tHWKb} zKluxDv|bXOge0E1LqEk0m;3io6iX`5gNMJPZ`(-!doH(V%)Hn;>;9$hn4rB+U;QoE z{ONarc3xzK-S?`|v=~#0#%}EXW1?)R zAfZgy>w(&)QLxoP;86?b9k^alFCEr z5hE{+JY|14^3!k)<)kU5!~uMRY{*bg(0txPnB6C(u41S+np7UrB!FS6973E))^mI1 zr=-d{=RZ;G9Le?LPyxdaehE;dQ6s`NMD^`dics0UD)l3`vQUJQD5agLs9vqad4+ka zi93oT`9r_Fufu+ym)v&FkKVB~pfsN`O&G(KDx1+-;?B+VmUg!Kx}8*S-E(Y{K*zNl zeb(b7)_b9$hoxuL$+wq$F0l8awZSE73R264>g6_;XDoV)|L<`5W*f857XGa=!FVqG zy*P#d7jr)~+nxy-$ptkC7x;>4C@Q@j#MVi@C&&vE9frwfRR+fmlBVhbEBL%_@T_22 zet#^k>r!J;EdJshcBpaStdu(SU#WR1jP!$BkIAzIrXH%%hes?rYl0k{NWhk1n#{z% zwm?n|JJoGoHU3(4XD$Df5h=X7Sn-hkTd4a58MNHIPO~Nsx0OBo*em1Q+86o7PO(d$ z&$UO@rq(TeH7BuWrx>(*SK6;n2QKx7ivVAp(qoo>Otr_$(VkH}VRq+zAl#G?o(2xq%Kr6 z9nMCEeIspGJN#)JPW=ojD*GsDa;UL_yfYLTz?G7V@-N6xS79N9*Pg##@i5s^nF9P#yd^uwo)u4954XyhxY?r7c?mt{RgYGhe>g*bSV{m-&Mj{r?jy)!@dSG~k6bf+1QJ?TZS=eGJY)F&R28yxTr ztaoD6z%{PA6zfgpsCVv{qZ}B&>a`Rs*c*iDapboZddI z>mVH{5|x@mi**=57LuLe-F-oM`viS@a|$?}OWyLA%dm%CkwNLbn8QIr#R6&Rs}H8N zQ`F||(3&!LX^hD0<;^ga(Bm9d1)@|FynRg`bjT!t7K8rGVJ4>k1x5=ViRm$BUcxdv zhb}!`#4s3}Vw_M;ao%-*0C9Oo=VxQJ>lca%U0kJfgUqKA@N0d8?0{{w54IZHrov+U zy@LX>*zSg!(>_sF>b&myz>evp_R-8|Q(?@$K3VpIKQ{u_Z{~3m>keEn&N9St<=qwy zZY;<~{fy+>2Cp<_Y)goFqoF&st8+(w zTVV&Hm(M-%#L=DWZTLgBGEBu3^nz`j^LJLgHuxP}v-|4Si8caPzHdo%0{jb)^Yfji zY+<9TJA5bW5zebq&hCc~tMXHOXnvj!)5kVT_m_p!Jcm};ad-R%u}X%tO`^xt=@}Ws z)_A*(y;59mR;n^wv!MHBxYmuWHun3ZA>zwYI9L3$FYhOCsf^mAAG`Bu?)z6^ro2Lq6 zC#BIzUZB9d80h=Z>zvu}-FAs5Xp$W>mV@{4>nkrK62Y>ONbE- zQuSI?Yq9o~DD3Bbm016Z-%V~k*XBZ*8YYq~i}QlKb@t=jfjG&5o;FjNXQqZQ#b>}u zc8=@nyj5R`I(ImYS>O9VEDFmN5*BrSI(@ZOME#*lU_mAPpk^X12=ddVNO&Z9JipvX zRNip+>$yzBcq!)r+QgrwMeHW0N(fBz`v5ev$8)T|+Dk{ZV`(Ko1U&w`Si}|G)T0|9 z1pp(X9IC6B;jxS^LuxQULx+8+lJ=cHOO&CqN~0{Cp9<=08I#Ok)Leib+eT^&TdcuE za4cA`s%>NcaSucLpEiEf>`Y96u&yoQgPK=*6K=W$@JF!E>-wtiwRio*@8RFUh;A7j zK)|ZMyKBtt^RcFk=f(=?a9+P)=mW*aYB{tRv|4r;cfH!us2-=NJW1e#IL6X?1h_Vq z)lZB}kfg_pQ(b;dB(P3g8mt$K!@h=_A zrzJ9JDsL{;x-8wckA#dIDA74bMLs)uMF1%U(54`vwsxrZEnaG&}8 zr4q-n@4y?gJ_N_R8GGqyUB~UHzp^CkXL*}mHH3Dv{j9vMb8YaD&lHlCroS#O(Cd5u z$HoQxfzChIUJ!`py|eYR`#|7yRr@n}a%CTe_b*S!r=3?*do|=4jzd}>7CehE;RyFU zdpM@cH}UQjb?!s!RGd5m!IgR+&JEfp)kvvefg}jctJpeQ(Y)$|2dz8}$Ib6RFLSx# zvZUYxz~lkzzrxP=pcZEGNJJbVHeG3;>pYeN#6h3Ii+t&#Kp<7b)o`3EScM#0*g{*^ zlFQ;x%N%NaE|h0P-y!z%Bp7w5{`)bxe9}%fJ%%Vx`Bxwkx4rU$qN4#Vl&|xVEV@w$ z@cC;_W6C1?6#V2HijeatgJvCP_srn^&P_aae!%=_0T7mTD6E5Wl3cbRp4Io)H!k$Z z(EjI|$O}LEhdi;KA~gR>$J>gVjG!)|a^_&hPyP#OpN-R5i_|#0SOnYMB-MlAG6%{G z6PqD4OaErsZ8$NpAPf=JD`w>U4syfH&6*9@*oFfqhKh?49ac}7eYNyl{=6cvs zV$MZLtV>xpRc$ON)gfp{zEI|02L_6|m{V8rTdM8zb2T2y{kQTwive=c;wlI@Zzatp6)ADQDK|GXytCURhyjJJjX*NuK9 zcHzE1+ZAP-37~q}>X}ls=<$*2w455co@sUanqv2OZ{~B}ax~ht&}t}NDX{r*ehIjF znV~-Kb~s*;I}o_e>hqW?$9-EG&?0BRa!C0TP6(so2T^oMW&{_aa1j1J7`_=_Jmw=T z^Of+6#rBOH%J}#msGjW;5n-<`t_Va4^8K~Qh76K8?R>SgTGz{6&ITnH$B)Eo)E~QT zY7EN5o{C-8H}QrNYR20X#8o-Jp2Kv#d}iZXc5(b^kGW_-Wx63VKP(DA$MmnDy~t^O z=e6*><_j~9I!{MKi7>O%be9i2Ec!}CXIAw(Hz^?}RZp?esup-6eGRqtUb!V$2aDzp zmBe_`k7~VCQSi*ZRc6Ub%?0(ZT!;eVC^;LvlACJD--E{GABwcyjlP1j*NxnWW6*Bj zcLurNX*>N0_^7cE(LLAc8}Bs4La2B7uykZa!CJ10aU_du(Q7CGf`w;9ml}VLKZy=j z8+GwM9X;c3RH(A%yuV5vs5BL&LvSml*bfV&-*uP?ySQclf+cRrRv^7999n$fn6fFu z=Um=2nl}-?0P=sm^?`y66dviR(!xP^m89zDtkwweuEprMZ|iKU+*XT97M;WH{15A`pvo69FGaXSnuYsm6wb0(3vG-q$c&>cBp~?X~xF zvZ>08(UqsGO{a(GOqJt@0k#jWUm_A#ir7g46|#|d5WLSE{v-{|LB)^ zG}24818nVJQf#PvV@s6Q|E2n*0wJ zHdE**NDPEciIYLbDPgDtqcdQuaV2#jr|+lo%)EWSC!oLHM~>@$66y7y7rWu#h8B8s zD;%!ATX@G>KTSDP{EGjD9-uxJ$C@Bx1`X+>hWs(xwpx$M3>6W67KAnBZYl^U-Fj`a z4_XDjMqHVH5Brr&gETLtSd;B}o5A2RI!QPZBc(9&)PpNb?Fd&Pv@}KWv*JEr6fuqXW^eRd zabp~?r3pWNE?BEXF;E(j+H#$vYXWA$|FtY!>*is1x-K@K0gnB;E^Y2gKB8P{b9#+V z&nuR7)n>F`kL*V97hP54vKxJes|)cpA&jptSqqJ4LnrK}&-+?!^?|B8Gudgf?k8 zlF~sGl5E}GFgolxE~Sdf8bPpIfH~1GGX{D{`=0M_-Uq0g6BOac5)@tK@sR6d#!aN< z7S+n@_1am+X_8p2?zr8AzemE9$o8G^kJja+Aay@zzg0ZgEjFCwrU1R3v8U0N?FhV1 z^!ZY;@Hamm(cWklb%70E5hUGF99BC-h;xm~DN^VLbi_4+{|T081xFq&iI;{Kzn{~X#9eWht`IuHY4M$?8NKl=a>M zRhvia8=ZiFrNBBZ+zX6dD*_`l$m$*(t^VywEd4*W-Z4fKu89`yo}RWbZB5&@ZQHi- zw4SzY+qP}nwx@0DzF%^alarhuJK0scepc2_RaVs^pni6O)prBQUadz0S2cG}g}-UA zKX9S}S;Q(@bZn&79kVYjSc3yU;ZQyXTID%+_c-T@q)I;$R)fiPI8B)Fn+xTuaLSo zdukbb37jel8$}_`3}E=|V9j-0_vThdPk#RH;hze`qWSWddcqhlj4a5uSsXqPz@~+9 zp=Fb4uw7aoqah^X`VW54Aqgsnkzbq#6U+G8;)qP z*&3@}mmo+=wKp-q?d5X){YHjzg~zFY?tPsaK)T(xI#QQqSDEdYz@r?R-(%^fwrX=VG#4 zSqw6Af_hX=o564bwV9qSgpW2b`Bna(GP+q=XT3aw_dlz>d~3{+64e7~meeA)I^2!5 zA(Kad=H3=cQiAQ2t{lluEroHnZo$7@CJH&)`H;=RHvV8gf?5ng2|aT%leh(%+K(aD#`J@zZBq z{}Eo8HvM$q$g#aX@R;#^^n#qerYxQ1^6wkSL>&7O&H!{@lB5X*5e^(7{6#w3oHm?0 z%Roo}lpfBz5;nXHS{MY58rWRD704|F*cJ|JM42jj+M*inKydJnB1PBTynZ_Z?5@5F z+kGHxKp@P$yzlagp7vlUEeC2iIc5rv`Le96;~s3Rj_7t z<|?h0zn;ik@<|D71?0dW+urPr$a$RJ>Ss;M`iIBqsjY#M7SI&YK?X`!F)rQsbGQDZ z@=ZPfTXjD>P3q@Y*eKlQs2LFK#&NC-wA%he^Of3ng6DKJhBVKvXCn3G*zoO&jQmy8 z&k^bmQzOVSXws?{FVaia>8Pf3(4ZZ5n3i@KbNos^X4kYYcAe93gl{<;-~t=+oLOh` z^++molCXNp=P*mXYhTg(AZIz5f2v^TIZo6Q!e6+TgffxJvCX3GaksGK4a=9*I@iK- z^Dm&R>(WI_xDxibJ^jAxy9rTOo#JICj-B$M_dgvYsA*_zy0?T%vY`}VwQTY}c;Ax} zc7DWF>b-ZtHiWB9s1FtV{)@PQrS9UnDB^ zKr**P2Z%BM5kIA;0obF#-$_|RL;L_IYgiobh)r?G#@t9f4A|=kY>!NJ=qXgNHVkyv z4kk>VCXeK@aX(&}rU`u55sCb^2Bl?REe)LmQ>b{dw&74X9=`vl3mXD?mXE^oDgQ(G>& zoo|R+5#BjZ-oG32nl+h;mnwDmCtjn8<=JVH2Ox>tR?NmTRlFpcv;uDfV$nOe^7XFZ zhnyOoHGIQ10Om+m_DvFDsz_G1qMZyQcno6nMzG1)gLq&3hwAB+6#ze}6?a^m%az+Z z{L&2^&0*}V_~$f6iBrqt$ql;W@b}4-l}FttqpmoHEy1`_y&LO~N34>qAL^f-ZPHGL zQ+$iKL5sQs*gDsg%4v%&x$MLXiAMbZ|`2`JX|hjrv>d@Qnyxs=7YUH5;*3hI8sUH^nQU z#@eNsG()72%HFjYa)Pto#mesPR2td5ciFsGG1%*64h_OiVVIvV@<7MtIT4Sm(RaxX z694dwX40zJ-%t1F>TThVj+q20|1HgU&J|y@;JG6>b;+||9SOSh_4w(C&;a%G0MzO8 z^;ho>U&W~Z+FO|vE5;Ofh}N}1(3~ODM$Arr5_pO-qd`oVZ&1kREq_~nE?)YnygD8G zfWGQ?|HwS540^tF|Dd^Nn}Q|{wKV_sG{j;wq!j^s!Y-Q;a6a3&(vtg-iI-oD7{8Zx zS|r&}c94zFw0I+VYx=w=(W1)@4pdTi)|^zFhOX|TGCs<$F}|e$kw#5yDu&bXxSDSz zA@wXYYKRW!1DG8ZHu{O*w5F=!^4cwV=vexg?&>qu53Pfo%%LELB(B9O!`e$v8#kb+ zAZ~tNh&o3sseGZ(tGOGoemc3xrKU33*DFU;j_bDgpqCKId3fz*1aou$F+%y5`SM>k z_>hmF^XfkqQf<5SVvaA*(JFz*t#wMAh7QnTYrJ96tr0LM`O&`Na`?Kf`X3!>`V`Vw z@87~aM=s55)U>d=%T5Jmx4o^t6xjbVKu6+#88Ay!s=+-;Y?OPGUvm|2L%WZS-|w`4 z*dAAxa*(VdgPsCq8SrPgbDeTG1GO9?j66@d6B`Jy29i{f>_lNM4aK0l0y2|{K*=Jx zd%U*LSpm4hZ$iB(#lRwqpO4%L@?&P}5B1v4&(hEq{Dmxwzx2JYs8t2bkK3pRyw1pl z$bB2C8!`)#U3n|Mw_sD(;|>{=Fe4oadJ6bx5A>1<O+MVv?P zfauToXT{@hzFeMp^o@!mq)dU}BPqb+4xmxR5 zzV+iktD7&*iGW%EQ4PE36-1sD40jpncZnnQ&D7_wr)TFMIg3>yctv!W6(*C(E{NZo)V|>+x9p(x_HL* z-wLHD!dYRGtCSJK1PI|O4fv=T<=rity2^Q^oJE#ZzAmzyOA7B6TPM;ikW20#4ITRw zd7`K*B`uz*qIi_N)aXF`D0Eo)rB{?KJry`y>FPR+Y%4_InNPe(zblGMHDC7-NYCZU zRz$QqdvqK5>XNzKNrhXgZ7T8ojZ^RjD`{m4E)U1YxNADB@{_X_Hm*cu_ zt1NP<6Ck9g^i>-|vSCIWBU>rn6n>*iO!u5gGtTbJk0k+V2D9WbY5 zm(}>V@t(k(Hhs16fYcP<1monskLOYS7NRfLI5G6;H=*MGlUv#X{e zr?Zg@bG#di-=o>H;(l;2FY0{5$KpL5!1*D*NcvH3y{kLO`4M;%wae)#+nPX1{9&Kj z?mGWOJAHq?y5n({^KqiD*#;OaXiav6O}6RYuBl@8joR6T#fp+6PV(6Ny10^-_U-=K za;v@)z5JH?$lM5;Wd{BS@ZS|xn_N!9w=kiaxV|teU~G`2)vV|n0j}}e6~A9$QiqC! z;5IRIgWJAvD*>ydcKvJG^8Zyy)3wvo=R1Ycsn_SQt96!%pRIp*JpmW0BVW=Us_%1+ z#foKUErDt_!cOB}1tk9Y2!_ZbmSU#*sC8kZ;|08p%l~M$Rv!(XxXzslp~hOo0SM?_ zR9bk3U;*$3VEietL^VoDU!&#g6Xd5A7DEOR`N*WiGV4nw!5co{k&ju6ZXf(^wwbET z&YGHo{4aKyTDrEUO~cELxtUz~fQ=|~GOeZyGh7bo&~WdI&{cV#1Jbv#$!_a2_CqcQ z>%dJD&74(3=3|6txIM2r4SqIX)d?^Ds;R~5D`{(=?yoGy{Osw<1-{5SSJIS7Z=Wou zTxuy@QFQ()7tm{KX&>n%mXRh6?84k&gvcGFNbq3M6BkkBJo3C48P-}x@*I{sMW@6qFZRojBOQvT_ zSg%SxC38YJuBzV>wYID8#t-(xud+fc4~8J%6l-?kt(P`S$;Bux!g=-tb~ms|r96PD z(*m5Vj1rt;+G5VZEsgkLr?_*G1AW@(6plZVc*R3-n5;M8iMkBqqixV#-tVj&p&^>t)YOZH*0oekX0x|0(x*CR zY`%Sv)sL)m7^;+L=@)8WNAn}KCL`Tdr8kRJ&>dkec&&7i!R>LuyY?Z|my<8a_En19 z%%C2Shc1P{O)-U(__}E6Y~VJO;?V^Q8@l0}#sb1Ybo`GwE@R3p)Sp|Y=}fshb@9@7bC<=TxMg#rtq;7vy(SR(3R(*JSrZ0d0s9my^)o2J`R8$Bl(!d`>pQ@qut-EOAvZ$-Vd8vKjzh!S|E9(3K{VW!3n6SiLGycbsigf4| zB^rg=XBnBMgzOnfH6DxqdKvkvbX-qvctx}J;l6u05Md3!XjAso5}s!#JBSGw{Ksk?<{Z{_0a z-d6j3W@@NJt^@@;;<>NVa8|1NRWxv}hF4%;au=Jn6$i6(&lo&z%@nN1-~6w#kO-s0 zwMK^xASg-|nSJld5ab!K^>lc4Qq3_`A0_?soz$7<2uH(^XPk1Ilh*1?U!cav7i$`c z2QO^FOQ4a!mUh(5Rz-1aDl@!eW8&`~faJUM2z2ya{H}1LxVsOzZ|REl3BKuJYaHMy zl~si(EMzFBvJjE-MJ@bxTew>ehb)3oYYxA(3**>+eFyC;WOG6s)wgmW?^7*!zht+9 zfudK{FziQ7)JWt6XVZFAcFpl7?QUznTD)@97Ea!9jk5O`Ru;M4YLe7dPTpa(kB%cv ztd;q@j0m<3f#!Qa7{z^ZZbF+K(%4}g3-EO1q@lN%?!7CGK5xI)Ba!*~!g_ZjjXiLW zQ>Wr;(^#}U5AK_s+AC*Y*c^Nx2f(t9SLOtV`s}{X#P-1scoCZIUY#AW%5*TnWl#H% zan8UDkG4@cO&Q&ml{AM7CP|bF-+@O(jr^FyNusQ$=2tR^EC@4AGuT{?ZvB=3-9c98IJnmQLDXo~@|4FoOeuJVXHG8k^5sc0ik-jmDpyFQ^QRFY4^WSA^f ztTcqbjw=d=F#lWGl|1d!L<+Af6D%`XYHFClGE*s!Gx9>xv-oP+)3ubBFa6ombE@P!88(IQ@fZn6qKd!AHopPq z!9K0s++z1aQ1DpFnoPW^gep6I(`C5U&c5=T(;#L?vA&a?@oj4M&>HX|)fiblt->T< z-C}IOPmw?T&QkA=SN)g2s-a zvpXdLq){ZwjC{nsf(+MgPRWx3o*3dvSE`OgtM9O-b}xusZSDg{K8v$KXs(CvjI=rr zOHFyPD>DZXfkL7|RSbL_s(y`=2tTMj@HnQVgRNOa4begchSG ztofMMhhP#M24%9j_m(^jSIKkutfft|r(Y;3gO=bvh5}A1*v}VFv>gra=%o{CdbWcG zuJN)mmI)ie)~=}6K@w8OliCydfM(GyU0w$zlSmSb;yy`FZIV)NHZMZN*fqVWjr~MY zUCr>QQ&ur~Dc6sJn!Bn%r%WYkVop+S@><^SHOo=$Z^JUH8zzIGM;Zd=5YPH#1wByd zqFnvBPoQZu(ea_rFBUvQsD+L>X%j>1-B+fCUL{gF&DMJO94FK+g11;`QFBsou{`nFEK@$*F} zkK_~9qPlT)j5=Z`I}p7Zy`#PX@3BFNHP1aR!)BHd|Dxs=v-_fVpMjE-{4uwFwfa-# zj`|a=QtM~8K3>aP9cj|WsFtiPTjP5&f$GQJy?!T;7g z{<~FY(I0`6hTzBkO_Y|x&ndd(a=YVP=zgdO|A#0Yhz6Lr5v;6rim+K+zCicqSsnE) z#_TEGUGqvq+GcFasi`Da4$ma{{^)c-_ND%#aR>F;zBem)??L~jlPC{_W;MxciNIZn zBL4Hp@|J}oA@-lZ1{rkYm}#4uc(0{LQYA5IR?3kxhBku0CQN<^#Qrjz@2gc{uhgqH ztncWaJ<6wQd<YW2z+%8w(MKR;XfC z>bLBy>ilI|j0JQnH{+9(skg{3nHk`@36<*Qc=tvw7#T~%8fCalfW&*O(@tf1WmE4` zic`tx`#t}AdX>4FIv@Yw0-Y=Lr>9CWoan1uu`(~Dry=d6zbtoNOXXd)h}6RGLdEL6 zl==c08&u|F7>|ZEKkIonPqP+3y0**q$}f=K#O4(2>%O6nHO&N`$AWOTG8)v^(7TaL zIb!xsJb|b+mUyN(t47L@kCiE+9OAx+5~EMe_oR|3U`RJ-vJG3J7{v=2{^ZGQ-V?VU z!b2U}yR>acJX7d_p_)Q9DY6f@F38sTJ7jHXv=A6aQ9gnDFQH+{ME?s(Aw<-N;jGQw z-@hRGT#FVBh+O~Ap9M|(UZ*FX`^0t;>ER;5uNXVlzEp{pL(ta9P<>2iSB;Y-D(Elq zXK1(4_JFsZKt{2qkj5mA(+sSGVtd5L15r20u2_%1O2cs`146bbxl%z|(&!|K=$$MS zKI_G366`v@m}mKs34-#kBrqe#>{7SY!*=AaW#wm7LiO(?MpLP2Wdh}wO3q~% zrHAm(z73;nC{1)HvLk~03!%{gTtn-@je+N2Jowh&-H5U%4pc1cH=f%2i}!7SMk=@R*G6f&Fg7Sonh8{ejFi6m5Ql-bS0 zE8b`MgwOHHgqz}|Qe4Ss8QlaRb@ksX5g_n=^6Zqk3oDfAde*~arY{TeG-YOcPr}t5 z@9^Q=<7yUQnlm;r!xits*~$7bokhwy>a;V{&dl%iUH+Eptn94q9D0B0A$?zSTzX=D z%6^nPmJ2B1%ANtAIi6XZam(^`^tt?8;w&HEaJ~9-<>#t#u_|Y2-W<6BxltXE^2=9H zzCS0RC%_my5ZpMJ8ukKK8|EvRH`o(~To-gT%zBCSI>TYxaho0nEgCHvJsLw6ZJV;= zMs2(P8t}sRBKYFy*2jB*?-J{InFE$HnBy}`IjcD0b3JCJB(V9iRVk z&ZcZvybqo|aeh<#X!$^R6Z3wNZj@F}WxE5mKTa>~FYGsPntGcmAMYPO-%mxb!fH*M zf9rbTpsNTRqv{r{Mf*B_5y`h6*imQ&6^G0}sz#kfCsik5%uTH#LKerj#jgNQU}yI{V#uwU8&tgbGQsr3 zibItwwD8gD0F>5lbvtIyhkfjpAM09P_AKu=dtr1uGYw{12t57wt|tb&Ok$f;*cbKD zFBxriif$Le=UhEXp0qdbn%I|{{T^*m9>(BB8~b@5ng4vgC|6fSGT<+lS$?;zwWly9<7F#}~5rArYSX}Fu}h?JvJR}$fRkqF%W zD&~m&9h=-f`zy2FFg*#k+Zq7_5vk<363nw?xl%?FovDPg5Z5Mq`*v)HtnQzsWIbh! z%nkE%nEYEtIfvRnf=b(tBrNt zm^SJXpK@w)*>d(b0%*nb+mZ^zsqhu6OMSVtUn_~Xy1@BxguuUwjl_he-fNR+)yiy) zuxf4Oy6TepLONoDWo#>C1-xZY(MlK*u8Pnl>IO4EsDLp%GAQz}GFCxM!B-;GAe5kX zStKE(49j2Cf)a($G{09wP(?T^2QGVb(UdDwTW0kV03P zZ*qejLZjm6`a1^QZNNp5MrCq?p+@iME%aVa&%lJ=O!bind49pkkjYHshPZ%cLVP0r z->Y%2Z#DdE)ImVv{ySbE&>-e6K%kAOzO#dcrJcJzz{1qll-AbJ8DQ!}|NnUUfBKvO zh5$=rdNX@FfHS?lgQ*>@v!R{y|8L9xXDk0_(n^D zJCN(veGRwR+Eqo{ZnoHN%DEbw8~^XZrr!g+>2<4=o8~Q*caxu8%C2xsMEwH}0_u~Z z#RGEJYmGVibN|yTBARRp0z!C^OFM(;@bv8}5C$C?_HD7xk9z|dB)|cJ#7PP)A*enI zz4#R1mnZR=9vkVy2LTEBod5aUtI^!#S{_?YM*;yE|GK;Vf&2&B#-!}YoJnANI;#9} z$S!D+N6*IW@IDSM{e36!O@K6A#Vh06Bm*K)00rWZQ(lU-$;{5k00Hu!WaPmVzk%mw znFqrUvM^_ zOl;ueBaaO@6q2EG3J82($jGx?zu2IVn{^egmpB8<8b3q00uzIbVAM*->RJHB{UWHz z%bv(jZBI{6c`qM&8wE!J_ZX=09yL5oh%cA|k^_%s?B}iQj17;mmF*to36Cu@MiUzg zV-rymaT7@s=_5`P6${=YEelrDpK}7Q5X8k*`v8<;5HLayMiJYvJb|CSJpqklh6ah( z{F@v59{S$I8~>X)`&|1G#N3zD@jQ|s4ZG*m?3_Hg-|9KZkY9s@3_+}3DmfW+{Aaoi z&gCf7(0dlv8lIUJmfr#tc!UsAE>FvU5S~}i5nom@80O*(koWsRnHGG5$wopUEy{co zRFg0;G&Hesbg~Et_6&>*OpD0LEi9?1ZK~+$Zyg$$T$`Y=%fq+mU zto)V$hXSPmp#vchAS8rAf|U4W@{0}B)Gv=91z`*l?d#GSMApyIk09@N9GCYJuahA|B|FqH5BI~qt_)F8gsY->BuE?Gz`9zmJdqTz~_&Yl}~vkjDC_M-f6i0kw3 z3BIw2=qgasVm*x)anq~g5GbpOU|RpiThcrdBywu%JWsFvmG&C&UokM+{x{$|qr}`g z1NrXvi#zkC)>a+5MVmLwzhx(@LI2Q#8EShT1nOAtAKrzQek&tmIk!e~q7!Lw_SUMX z{oL7on#ZGP)*vUZ<{Cd@`iecAKP~JA3z{k=rq@o*v+a5NI+RI(4bXsE#c>38wmE#xghu4g*t)^sLdV3d%b*qOk+AF2)!XSj&v(>&y+M%!{?d?V z(Yq1r?>Wl=EQR%ezZ%WP)wQBOH^Q*LLEgV12-|AmU4_~UD`>t}Z0R1BlrLEl50eDZ zNrD{#*hz>IjUaz3C@egHf?mTBC@y3)J$+-0X^a@PO;4GY z5EFR}!2Cso{W-IwH5Jf%v6a*IlHH?^kjMj|_1SdFIN)^s0F~xfW>ouUKMAN>(;N{z zb09ja0i{MM=-I*4#4Y%w1(qZMUi>yb)Qy0SmqS$Xa9ij6JiW63dO7w3|-fUM@; zZq*g7WpsV~^Qv95e2DX-U17?VuB}b5xCI3Y7jH2l!ENLxnLbXZ0S-P|8|dcl4~!z9 zvy9Ev$UpyI1uii*S0}eMt1!+_m-pl~xY4?Q+6*%#f@(>SYEG-(@QhIS9BpSIR}1QX z10%McV;)`n^QeET^2KxB7})LiE~Ti7nIQ}=z9~k@;A<6p$Zfd7=!}pg9?J0Q$|2AcBI_YFusg$Pc)6;T7xm|-h55|R;Yvsi1pY$Z_n3^> zWPJL_gR*sydMjc3rgmxvBgGR6IyeZ=n>av-@1MEG_Tw4`N}`eaH3XmrpCRGLUCTYC z#EFox$&lEv&J{1B=rPP!C*ImP`bh<0XCR^VNI%w?`m$b!+#llDw@2o?pL(p3TnR|Q z7><=WoVW9xa|B4O)tsSSQx+ieC%M_iqqoQO3?sI}v!f^51Qgi}5XAn5s?W zriASm`)!KFM_(90VA+|%a5S021u0KT{A5-e@ZXr1^`rF`)SVvmRG#YJUR8atd2b!Q z6#RoEju$;P7ilVg_oPJL1+P(DyQbGCtp|UvY>iedb+b+G=f6WN9xMZM!KWdue+=AC zwbIm+edoB}#|ijHI3=L6wzA=8PR(#%rMTEKwD@nS5Y3HvADU{-w^f+n89O6h1h~*t z#@Ev*aks!8Zc*Nt_-Ou!q9K29StYc*NEy+8kW^)`$!W}cGnJG19I+BbndO1XhC8?NpY`7;idS~T=J)jHlGbfLjgZAZQ>j-)=s|gdN;cHRI!S(~cmWo^<=CpT zM^p-RN{!jfB+d#@0idR(RbsK;mLOnTJes63s|_&{9|ZtL1Vo)If~y;!uqYPk@4q%P zDH;VF`(dP~a6jYBwLCVMn$H@5YbMa0D2{_C^mt3eFbb^)iEU8?KG4a=+IJrJEU3Jx z4L%jL<2IH&h*oz7o~|5A*f~YOs7|{kb`SE_&zh0DGJ+iJBx@b4F#G1`JJw zG^;D0bj->kt3#boz)CL`lE)2D=A{Z!ix#MTry;jRyh^t z1JB>Tzkns-p8s(^>kO>yJB3%tw;hUStY?5@;GVO#5u??h{jf42$9g-}LbOSC9+$OC zk+EBb+G6tV7m0x!f@UNIB>EUE$5fIts(coDe^7K%{>(1UFhGJbcm4_}NfQUjpOjen z)y%C7LFNyMq1q%_bm+(8>SOWRjJ_JywI@C?YnP&(_}`#5mtH83n`hXiUWd~1{-qBK zH$`y@&)HSiUH<(WS8ID$@R>FH^y?Ym(L7@%%n0Jp8yL9V+$wYFF0C3mUrYXAZ7fjc zz>$f5{q0x1q9h9&zA^u7!{%>|GrRfeR3H9wd`Yo1DMH*mX^8~^>i8}6Pm%Ub8GOgX zN^JAzVU~f)SS5q!4wpMav_ukc8~B>Sk5UxEqOxK4I)faCUN7CprMvelr&`9Q%_$Gb zl}<|vC^48$JLS=>Tt~xaB|2@QMrGm5axSrL1)(-&p?1%M?cQ}sh!rZa-kZTCCu)0? z&b&o;#Sdr+T2N?q0W1Aw9ZK&4AIkJwSwB-z2Z+bkEe!+4)r)9H7IR&jN~QNM{1Mwo ztMpa_gwyxsx2F%q65mvtbJ3zT`DX43OJ@FR!o6|vG>cYKH?@sCzrDoUjREk?4l*rB z@#{&gqf`A>GHiAwkhvuN>wCV@E3}w;7A#*zH;kiP71jy|N1zD2A)h5jL8nm+&WmPk zx~qj5DVS#bMDJoD7GK|N58>*km8&+AN0v=Gv`z+yF* zF@EP9sw^gdq0p#r_(Y>r5H5S51wC4WzA}cu z@W7MyTreQYqqS{WS`L%;0c8`pNU;SyrrNB!pR)``F$Oxn?aJN)eNDHLcmgJ56adDA zaa2DdU04x3;#wwT$jISrw*s$3Sd4;>rI^8F0~(kqRe#{(=g54fiqdj@ivXbUQPI3QTC;BkvVA!gbnkk&zecng ze9x+|A5;U(t%Xt_;1G1^gi%p6IIup$=DwsdjO?>2b!*^3!fV^)$Kc4ooElcgH@oah zIN`moga|sq=d$E_&64NwT|l>J2z3DhHYiEh$=#%m zv|49;d@sEuHXYncbg@+Pi{VFy+YJ}1oSn|XS(94-o=4O`s2z0yxl`1Ik$~#5T0zqW z?`qtIcLkk?Y_B3J#;RF3%NE;%4Yf#t!Iq@?aaw*ql%BK2Ez(< zoS2Qk4*G1XA+zKIs-_Nobr^-1d8L1=c-5(jP*Zj7rKxL7PX)?PAQ@1TczZFO@9Pi& zd*gL{L0}QdYBH>>X|H$HVC)hoW-NKvqlk+6O5v{)>q@@gUTS(j70e=N->fL*k+1Kq zVy@UEsnC04B?w2Ut~h6Fm@DG&55agA%XfKtf@92=@vJyku4nlDFleNpQ$R^qBc}s+ zhuRxl0KBk7F%^KL=>n+M$c%r+>Oj)QjZkI$sN*KqR}t;m>vf6ACot5Z`xl9vOV;in z*pr2Mno`9;Z{=MbupF&OQyPUBTn;Xx%;8mcSw zt9ssnv`YK=CAx!>^N%2ZN5{~I0JYT^4@ci3i=E6Md@3Tnmv(WPd~?R;*Pf!4_j)l` z_I|)K^n{)6jA?I}s(s{VCfUWrxSoqwi(@vM(B9e5KRF+ugW0#Xr^-$(xQY zTs>7>+ngrv-$$6matA=T6zGvU9=aAKh4sB2i@}+E_9uDq-(<jon5d+J>fpC6OY_JXB^tS!N ztbb2ejUP}ShM(>2>abs}7Vfg9xjMGAi+`3$yUYB+txD=j@(Z(&0&F_-DY6L|?&B5X zre(zG+lymg+No}R*-}+dArNU9!NGV)`B5p@N)zYcWb54T0#6=~jfrtS#0)PCU!!>W z!$n|#z|IqMS%%KOWuz|;e|+mda95DtnE&4f!rr>Oq7up2-;~n+Nrv0NSG&g`66#nz z!47V+f=KefD97+8wbS>}g3TXRwY6fZT~mF`8d;N&@dU{0P+ABMu~QNeMDpPcED6l!l*g_EvJ@L(^& zK)f=rz=lKRVD5St6Neycad0bhRwmX>oAR5i$q%%`d$*P0H@DlQfD@3XZ2 z#>E~sqMeRvTAtlbC4`w_sFtv@>? z?O@res%{NS0UGdZ(Vu89ln8rX{ZF91*-H-jpplW|?R^4{KpJ3*3rt>^v^8qZy&WQE zUeglX0a&}h-sL4By@pK_j>#oDDY(##!K$mb!%Z*Y(Z)@t4nL4@)~I`8z@+?P_Xjh< z?BuiBbgAFua+^(!jTu=wgH`Q#8-_3pCqi-KL$n&_Z6Q6C&O2{|}N99VMD)PjUU<;ac7EwuRjw6?!5%MKx4zk1I59_Q7=1;t7$q%@gy`5NBhJER%inZl{rr0Hv zxpl!id24r{5LxsQx*Lf{30x#Eqo5!#=sJqfHx#16{s|6iJf(g>_zhBr@RS9ilLc>w_bn&J9AQGw11};2!V`7wXSh*+1dpmBjRK|)m8a{sHV1*I zO>{h5i|Gd{65d?5tzd$C6L_~UOgWv`^vMJBn;@mtB^bUn6?O3+s4q`CUV5$m*W*s%73=_FZ=7=D1O>)Vp(Y- zVOdvJd5L^6GwbGf!tGj6MjBH1Zx$+!Fx63&2>`o9Rg=EHQ$s` z48_!xRe(p#Kh()ks>XV3FeKREf3qHIYtx04Ybkh=VB)dFG|&W2N|^kmV5UNGb%X_j z8j_G|T!-m`rtsojB}o`Feq)-0;GoS==s-BT$NXb>G-y#A!}YAa7^-YO84loN-V=!E zT&h@n{6hFLFdI6p?9FX9t~qcmV>U2TFSl+_mNV}n0Kf1d(4(>|Sv_OX)aTZ&##(sW zZVsc|6PtKUm(dglDyJAV7{`$#r#oTh@1n+oylVrsK%g4)dO*C*2~r`dws$%8KkX;s z=#9DQ|2n63CT|i#%WakA?rKjl#^67H2;`ktqT?iu9lvY9Wvqkh$gO6Fbf;4^v)?8! z%8enZK!Opnbk5CXZTX5!5TX@fRGd<1P&r!Q^9@#qWBllQ&TWyAlx2ElCiYLm;1e^d zKNjS&5^`n!!D^P6O)WzC0`Gp(_|;=)TVj(7ew z)5XGM>Vq3!#NAEPlq8$?s=-{#faPm>l(kI{LVhB~NZcE01aUU1_}g;?HKatOsARF8 z*)cG?VM=m(Mi2QP0v7}B0#AO5=yVucbV8U7pZDTM!Pz|W)+xZ-+&KgPoMY}Xy~2K3 zbDz?EQSqPvJcctjIr!>47ffqiI+c7(OHTj!(6#jndx|QOiu86~oB%dulpI&LJMfy$ zbI7QDtUwwI*9x{wlBwo<6r3%Rngi)9g@>MsrgItysP=i?{f`7ywi-!put;JdYZZ&u z%fNOTQ#t6emZSUmDzW}y26=G2omRQdP>06{xs%8i%B_aGKZaFjUGx1DK)EnMvMx>G zyx)8f-ZKLa+MdR&?KWr~`LJ?XIO!Q@^6oB2AHndYSU8!jlCFk|JnP!YJxE1|;+Wu( z3lr<2(OXwp58WVzgVf)GBFKn*ANuZeO$qcFT7|H!$HiHsUPPq=yp(^=w}BRXBF);% zzu5fAtuC6ds^|?s+qeFQ814|1mqESM-$6y$7)(2#g>~?q8a$xjy%%?y81AIjD^$9y z9OOTYa4m@t8~YzrwpA@n8S}Rt+djc}L!Jj4oV&2Mau$w=5cREy23L1EmT$%g=o;;^ zwk9jXvMIT_!_Zp`nH@}qrUi6|6tirj zmn62%gS{J#;uyT268PoKl5JOE^8<7;==eD`N^~1oSJDPUEDciOkKf}mxs%+YvQaBG zc`o+asma2Z8xxVnl<3+b2aOc$N3ls4PT($ac)zPJ`-mTh((VIGYP7$s9FtaLtW8cH zu8y;aH;^G8SCJ8#DrbWA@dc93kT~st#r~~g<$F(6jdpG&0YJfMCITjOMZ<=?-aUh) z7}c*JFyV2V%LzRyA%3kSigam1JMl(Fdp69%G)(-(48S?iiu3dch{97#x(wr|)8=}u zGlb>~o9|ttopVfWVK)XJvR0Y!Y;q8o!okpK53au@35C5LSY}Aa*T2x^YY1;Sq0(ay z?kOBAh@@SlLyDnQ7jkhDU{ML?%LND)OcOj+gZF zwMzMW=R~Q|A?|AjsPVhG47%4(_(w%u!-_zoB{7uH6PdS5dYf;lESL2`>kC( zCFr9WvcvGT{;|SapiLqoGvhsHdx#OTW(O zl_b9Je!1Qg=}o$39?0Q;Hcu|`;FS?zGQo$DZ`Ml%?eG~NBs%D7-p;M$7||Yf^{Hvl zrU-N=$XR=!gHxJFEvW;8Gm`8cNdEaP1cg~8LB|98x#@DEwSqeIcjVnMXxIS63Mr0L zVfp>iLG+R)B*ln?d@HKs_vrp0-4`JDSC`0kb5E>xzGIgwj@!IwZKRYHBB-Ok%pzzl= zR-7{VXFA=k(c7WVjj#Hv-szZhLTl=(ox#We0%F`XAiY3UtY?4mnlypGjNf9JeI>G`d^hQ z&mmb!_cf%(3>|xmY0rtlXoEtga)}D@=8jh$J6`_Y_sG_#j#zVxPvRBCfV5TBi=>s@ zbL!y+R?f$acT&8ouF+l4SxC62@_RH>9|7eEt4v0m!a#cDaYzph%ruUdoC!mmy4Pvw z)8I=;2qAwRheeU>nke^VBD6r;YBq?Fn(J0yfp)2LZLO&@A@P-aqf~@q%7*ND_CabU zc7c0=3UYPs4Pp6z$DdxLyn3F*gAL;K>r*@QVftsj1b1d{Sn@i8Ve?3BG~}O^&vHr? zZ>l!UzOAF+-$8@sCQeZCeMCg5;2XmgbGD)3OrcpmX})0Eb@Pg({O3HdRq&ujXgfFt zNi+rH(P2Z_a-;j#MYdQly8`2mz%lAfB_EE0I(Bof`X`Urc!UooRJTM-LXdLKzP#%zP0SU1ULRRz+6XZ8d<1#2KN>DTw_$te}dfA=NE20#mYKQ2&Ba=hc(u9uth(*jY z(_KpkmxOPL+-~|xPuWWI!{XFdNml2`VlNW0<`Is%K=^Ve_-I*RxxVdvJ!byg1UjL# zW5A>g+@T3kA;VnmB=y|+uL$eP6N0c-T`8vAv+ZnGglGz92XQVV zglyf*(QIkmPE`VfJH4QHK8!acSBi z`dIrkv8uaRn-%SPKX(j$;!2j)-~5{Q#SdUfvw}pcf29PEg~2KNCyPVf-^4Rz_`S~s zT=6Y7kTa|%O+Rmw*A0V%m7^DOvoAoA>DqI0Iv%~0 zdQNcE>fbQc^iF#PN$|Syf(c^SHR%{Mi1T|+;}DeK`ur{Kntp8J`6veYEYAGHKf=5z zlAeToa|QOTcM7rK?ZIsV{vhMMHNdXaCFF1~%AmIJM4vCUOyLx#Y}(gaZP4A7ve3dc z^iWi2k!a;6J{HRI|M7ND&7m}5yMSZcwrx8rwrx9Ev2An3wr$(CZQJ?sezj{??LV*& z=3u&J4yLMm(DU?lql;v!5+6P1yv(&eTHP-=z~rph1+y0j;3k3w>5Rr{nkXS2dgk3$ zibHAbkbZg+$_Vn|eO@pCq{>Y%m3Thsj>eoQDgu%*ZIBWgoEPl?*?}qgo9qKzrj|2R&$%jkP^}_w?{4*<7-C{DY;2ot|&=4KQ z`rTMW^MFMPpM1-tf|rO!fz)s#s5#RxFSH3LpMs__Ny{2w%9JVm*N_fsqNrfkZt|aS zfl<;IX^XIy)#vP_N(ZaWi3CER1P-@4f%%N_gXnOtoj6CdUWtB?{E%Z6{&WpAsDtMQ zYfgpN>j+a<;8q8V!g>^Lg#%;GF9kCTT0erOB6nOXNqbn(R3 z!eOj-(VF{wD2jCTp@fBZA2O-Deks*d)TlITnOoo@LIMqa9^Sn?4aDqA|9mf_4pK3~ zpgK^~-JvFN2$RSF3R*K}7GlE*>S-+Y-mArRud#rVrKf@$YhVylqzI>NJ+@;7O`DVB z9V!GT8@BDVE7wDMIkxRzy6aO5{7wtFX1id}iTZVXJM@k~h4w={ZPTU9#hurvd609% z`;*+OvA{V?9v_>!LOQpIU8gRL*s1%7F!VE^sQ2;JoGjM-o=0J1#lA8P0fv2K0Rz+d zJ7Xi9z9TnwCF?(|Di2GH={9ufx7$Qsb9Mvuc6MGh^x`YrTJ z`wPJ5m}RXM7=FO2Ne1JXt-~roNROn1(sKhjzBk zTlIW-pfb(PiN2i#RV$Z`N-U~UR4I$IdN6^k3zr*~-3WQhmmHF=y|mW zBqvb^VU5?DLMr+|T3XTMhb7!)LGV7 z6D`4f$n0bHUP2~VOrYNHUjb?BL9a^Shvf9U^=)#@hkixnCHj+2b2vWtV^kB-*ri~A zs!VUjau`x3yTp}fpQ@(%odt_JNp%i(RbR|*21mXw-6uHQQT-bgdz+pT0q{h0P&&gG z7$Z56BFic&!r7Erz*M9%FC4>xIK}U>ThVa%@K;fszT~Jw?#TAs^^^Xp>4%q$`0XZe zdh^+}eMQ!;u-d3=h2-x_!w>HA(@3g9k#-1`-c$0i_ggL7#EsV6bYvhy91fjnJY;Wt zHVf(C*(MPYN|GBCvQ4A}#9Ym^N!?>FM2xa&At(W`{ZRRVUty-9qE6Jeq&@Hx)5xPp z5DjwJXiTCHaCh{}%%DXfh~=XAR^t-a5s#zKAB-xY)tY)_Yzk&2*G{$k6vFyceN!@w zxWiFRx>EpB5>zq&b=1c;qZ7f_ujAVBIf%r?xh!r_NQAm+y|&H#kFNgjk8xIh<|XFcocgv&t(cQnS#t;_Ab~hS)2f$r^MTsN#$&sZLP}aZ8vpRZR*l% zJ%xOC7+$hX^fBIL1q|_ZcFItDH?%Vk) zDa@1awf#Hg2{|SVb|Ulcs-|B)4N1$zRP99{WK_(OxbE|k;O z9&O2vy{!@Or>7w_uti*0%?kDl`iBY*&)?+=w|kj*hrT?C$^dtiKQV|{1Y`KY2%U=T z;W%(L?DPrEJl-EB- zmK8il=Jho5GT1C>UOCp?XJd(DvVQULM!_%x5GZ68oS%6Pf3Dh7N+ivG_DNJ8@9RpxkynaWT_XT-eaNYGd6Fdz#~ z=g0EoO^&z6RDynF%)bU(K;shSo1y45Mc(GROOFsoWK&-0)(% zQ(#so+dt_xy^SsWJdEQieA2iVp z^(7pg;!|KpBxX_6HOw`*ii&XnirtPfLTvP(s23AxGBBw{h*P^u!t;l~QbqaMUmh9D zB?{8%gv*r@aDax8XxIGz5U+C(0Ky^@730{~b22*+r)Aj=c?%8Atk~?9jRcw61L@Y6 zy-FDl)Wc;^C3WmxyZ+qkJnjYqGvPC)%vtZDdRxn4_QjFY2~v#vQ*#->BQHh zg7k{Txl)imI)8Q{L)*L8HkjzdUFt%;m&8O+w+>LGnE=Jk$MF__C$MG#jy2P;qsg&K zg^vM!2}28Y*!wer#t;j{%$C|d|3&RP;dTd?Fv@>csdu5CA@-W7zmTdRmX)8;QGdA~ z9+DXeeB220L0QpN74Az5mX{u|kDr11)?@92SBK-9A%)@vzEvAkS!mVd$gD)XN{+7i0bc#$Y&*V%QS=(Qg zkEm7^+YvcicRHi*RMb8GxCCP5$K1BMFP}Wg^X#$~if*-t9+9?-mZ7s*7VD|~D?6&H z2n(>cMu`KMAYBb#O+uyTcUl#3dHF}-9L~`&EI>zaM;Wub{ZTyC>DiS1PTFFOF&3vv zn;fj{MSa;+gnNo!*UpE{QWg|sN8wwU6H3WGi97y-i)zWYVy1#d7b+t#lPDGmCv{0C zNuDM10!}L_2~V^vFnpKdgYREMiUJ9Rhxl8A*>QJub7`wtjO;P26_a3OP`@1z!lIOx z*KrBKi&BnR%}~5<;(8~V8aLrg{USYl#z;2$Nd$~&|1&VJyF)!6coi5&xa$BFyb1b- zEjqj-N;`1uJZ($k4PtSS#GD0E{kj8HG=2E%b~w2AUA}|)>S{VMq$dUs{4!7iqq?sk ziF1@+Ozo6}`{+tTmFWpXv#P9pd2U>faB30-Hu)13=Hw zf!vdWXewjiH5MNamz9hsa5Yr*l4yImOtlPm5*?fNiR$O|sdhezlVqjP1ET>}igz9b zUXV3p2!SoQTMB1)-1`af?U%5jR8&$26#@;TlGLnGfeGdK^6#8R(ynKe*bV`iZ|Kx_ z(JzJPA=n?x#i|k>$Vjx(@=5t7%xB#OfR46=E}P*l z0^x1CeYQ+?AHjGwNAqYcDgy$paQd?toZjHp=p$qBw%vWF51Qf?t%=H&XL6AykwpIv zAC`P=kk|y{3Vwx*>SH47zIqx;LwNX?N*`qZiFzZc_U>9{5zifOG7QWbeTP=xbustQ z1+4w8zHP`F`VEA^5l3J%J7EqrvuK-w1pGmyjDubKq6twv&G-~gyG~srZ)hifF~~oV zQsg8?LI?lSZ4gs&1LZ)k!#FmryoCl;6%5|8HyKbMvi?m#-4hkky7`WPFQ%Q?dttpo zRcGXF4WYvLDjpg0E_w1J7)W;lk9SzU3{T5LT zP}{W53{AL%rnvF)XIYFS5p@yYRLw6m##R@g+Dr=WBvunNbKc7UQZzkzAXgO@V zib-D0-~&}DFbN#pYe+D1mW_J#pB0Y3cn)iNR8t^K#558U`^GojQ!o~-wh~FZ@wuhP=EY4fFSFEo0ZHyE;d`3^zA#;U4aq)+1S>M-Gh*qDg8YnH6I z;@DN2aj&9q;xw3_5>q(8Ji>bcFoJZAij?M>Kf$2Z#ekan@^_?uzMSype12erMa*6c zv1Az%J^fKrof;@5R^N;5(#KSsu(fgY)}1r7l@aJk+%46hZlvBl0oLK=7POd_V-*}MtYj3k?K2@Bwm{k_}r;q>F@~g9A#~rXG~ZKx{VNd zZ|4JwOjjhtwxAO<@3U10s<)9rSnIj!j-X+1341*rP`!oqUN$%E+h0T*ubs7fgTy|R4o7|- z)Q54H;c&Ig*YrctM5dg@P18D=HMkQ-^x!U9sF{;Fi*_v;o5!nB+c+9`c%s*(xHv@r z{iM7K64q4$XqSRjjMvk}v8YI{ckO{j-FIGa8tw4_*ouVQA02^7N>slND_16r=-)X=p;l#&`Kckc!fR;lqCf`>yNUXDgG0vPf zrOtlmH{hfe6rzp7q{LVu6pEih2aMhiWT7125eyMX_n`)S+k%6RMa?D3&L5s!gDO<^ z^H03y!^-&$pF8mc|EAj8QmS2JIwN+!Lu@Reu;PTZ2L@-^Vqfy@9k49n^}|Z%xq?|$t?eM*@@4P zz=>wSkvrj{+_{tC?Z(Ji`yhQh8E|!}`(6CRlx(AY9bAP-?#_;hz*?#Y6c2ZN& z)76Oh6CQ0jQG!DJF<4qW0gyOJKIwDLW)_wMiEFjM)reDs4^GVjrbf&+{jwXW>?s?G zTV40Xwb=<=)v_HpN*1}@AmipRVCS-mxd9D>R-fF{^^B-99Iplozn?`o*njOY?qT)Z z3R&E_+xNp{>cSaXmRW7%LSqWp93M6#^}cf^x7G@02=~FDPZCmfS5kUf#`B@cQN zb4tyy=JbZky5aD6Vb!n;occTYR+ufhTC?hC!RcU zu0})96R)qWh+K!5&#dV%haqWF0>F!tqcrX?RXP*T!C^~dr&vf@XbWO!+UqglXzU_%q4 zh>&T>_{e`-N?!pM5chL(g|;zqT_;PY-1iLTu%J$Ro#v_rpo2T9dqM#|+E zOvqG+;<2aaOK}aY+$}1t9IPaQZ~%4-}W874lcZwD88+2Q;3hqhR#oYbq^o?rs=7&;zDB zElP^ujT}&wQWBDc-#|VJ?8IF|K^1Pp2}MJfW*S3Y9*CWxT;;1|5Gu-m zs>_KlLJ4@@a-3)j^S`DY%70(YxY$$88}cXbzxywZM0*UJsF;L`RYK``6KvSfvfZ>R z^qTSOU0OwPd}_i*ZKTMWmB?*N^#$5ypY_|M12oCYsz@pzE}|#HO`L4w=w6L*y#%4Z`yp~Cv*u4^0l${W8KTHSRTj@RSK$o;_U?vA(Vz- z?5W4ugKGzQZV9*5&hNJHNm^WOI&F`{RwYX6u6>kl*4&yp>F<~@RL51~DR6!8Hf659 zwRWFqo!bU_CVl!zOYblQCfDHSebTT`ZkKuBgiCHI{{`0_htJ|RyV?lqh!JTj1d;*&Q3?e^ z7b>J?Y1JS5!6A6Rgn>&b5y=5xtYta?D^j>izyqou55v>+|7OJ0SX(XVO!+*dNHe`y zisg$(9W!lMPsm-!?3GdKBI@1_GMAh}{em2lhcOVbiUG!YM90aUaxbmiB~<`_>dlqM zIz3lWB&P>~uO_us0XMxvu%#d&n=7OYF)GUL-I-I3$f+4oJ~EC6K6-4nPc9oVanaQt z#qb|_){bH2|HNVym0`@A+P`DlQI|pP7sO6^BKlVzRINF0OTRGyJz+W1OJ&0%_a&J^ zS2SvYdrU*XOOOrZB61;B6xVS<(Y}H>*4ikGHENG{p@2`1xS< z3bwCz=O;$-{Tz1(PX{l%mq7a%OYs483d5G7r)wtY;`qHhc_}yIyVz?qkbx2GUf@8@ z6SC^vfH)x4>hJK4F_<0dl-2!4>{M#Fmm<>7w=cJ3-cw7Q(IC8lT0_RMOPt}NC5(`$ z3hAMANDW7c9fD!zS(RGCe1AAOHaG)OlrkuOL4vjQO?|92P_}qTK~wAuqD_0QMIDI3c>iWI4*)WMAm<72kx_QkYdyHg>$G>;#(L&w!ulN_!d+kXidRts(bh zr8LYM^|v%W+C4^`{G&>Zdna;(13%dTr(rq#Vg*X6F|Ff8EHfdAlp#C|wr-FXt7_!B zR5mF1Y(%CD0zP6YGdlRUQdE~zK6>Rifohwv-|JYXBnYr`fd;6{GG)%}vPH>IUIef! z$^eo$k$_Mfy^Z6YH8N0W{&-*`__i-^+wZ-3Ovr#SBCTsh`txnuoH-&ogfV|fW zmVMN0EZqdtM}%*Lc(xfh`Sh=;5L~0BZxhm`YhhI{*U%~c21A&)y4&GHR8-1ZQt{8T z_e>UI2&mAzVjwyt14PD2HJn%4KWrY4=JYRC5EHxH*FOU-(}%L*d9(9fMsoo>R)#e!HzZqQM}hB7OVPVpd*s+?&jbB~RB`>r-gH0ipAi|)*M zn_q_254Mn2t(+(JUmI>Li7bi?d7HL4~^1$t+C@--D~EZQZZi{{>r zVI1MPur7+Z6hYe_+EK73xHa{gl}(u|N(fC4lc4L;z~B(|hXuzou0BI_&Um0!uCU$roP7Dq8$?;v>ZZAq%-uAd? z)%4u3?F`)8+kM@`I62610>fZAoV553DOEdvQtlb~P&q7@L-Q}W(yZoBs?HnID>?H; zCkose%d>QQW3bkESnQ=fI+)}cd&ee=r?{f<<{gWvWF-OUOIN_++9@QUfDA&?Hoi#*RVA6}Vx+=r zmiKcw;D;ALNF0P<5zy~f{D_chL3jPpIX%F>IIm=pe(u9R_;O~JAd2|_yscsl&XH^P zC;Q2=_+C|#Ir1sB8dczTBXfv6qz>j$pDu2 zVAu(1!@+Pb=#ZzJy6-p5tmm7gM4Wbs{!TxXe0_jk?Zn;#A{vc*F*9NF2>aNOa{sX; zq*AN1!IKcpzxzS|Ym(a&B!;-Z7}5%gxc^_SUNTzd9XYM5Zv0lO@T>5c9 zI9E6%g+@MRRssMF_-6tp!?O*e&5t$>zS0KKlZ!TLAg#1|0qnEt-?Rc(6yc2rn`ilm z7Up;LEb9@_z=fJ1RA9*}tPOb84StGZ{bsTh&EmOEGe<+Nrnx^Bgt_|!00#P{1rk(k zb797SV=5krO)mn9F;#X9Ur=_~2ZZ6jq_1Oc*+i)rn)KZaw3pZZkc9tJQ6!!VYEo>? zC|#DaMmp=s^$~p0_>ME*t$;|KS3j?bKiNfALxyGG!cCgvNw4ma#tR+R?fypK%L!=8 z^riNCMWLbKPJUe=wZ{{FoDN&#^LGw0%Nvey)bg@<7l9G5;Bez4KzQ5HYrTI99{@-2wjK@JaI!e+eJk_wx;^H_*ZQ-RGZT=*!^0m%&kQB6-sk`)7b<0A4SH z{m&$Hb4YO!`jwTnl&7ar23Z7>qX0!sNLQq0e*XrTzRujj!dc7 z=prbOBnm5d3z2fW6Sg%~tE=r6kL%hCes7o+^mIFPp+`H1_e~d)sw=;s?@ih?W@O^i zgDNg__z7WzHV?u9 z_KWxCYkmInU4z4c*^V8)Z}Pn!X3ht9euYgK&Z86)dKO>Q>Ox&Q0n= zsvNgd>gM`I$Nf0v1Q=rXWvBx&`-ECXIz5g~{qDAK!!m7pk1tNynq20`HRjklo{#VR zwEKm}zr`rbMjP3I1S_reLsq-)pYwI_>kqHHda;zwlFE#l!VjCI`khV%kDuNW1+Hk- z*XEDqgNcCudXo2t8=`kN({~Kp^;gpN`0Hj5)kkwo+qCEF081=CI@;6OMuQpt6Zl5!f1Gdf*ZcFe z-uSoFTiImZPBd9}!Va7&W7e3-wNVlgLn9%}0LM^irWFvH1GjmzS#x?;@JYJurLI^e zoigBBbM3TjqMAqrudzTapyBS2i(nLUSo;qLqgLCXHfl76v;s@Mau8)`dZWSyZLN6E z8*s~y<4SYel4Ht0wr|IqW=s_oHdQTc)|(;B#6V^N?2X+WvWfeC+YCrg^Co_vsT!J(2WZ&KKzVV(>FvVH`s#-y}*mor}f;hy@*mEo}r-&<`(^i)pca zI8%LYko<1!E!%vkk6LobKUB4MwgS6`u+^oM8{v&$;g34|2sI`%;gKw4q?f z`I&|jSnZV5TKasRPXaNZs;A>up{lE+PraL)q*}wA=Xo~#vSIkhbW$x zzP?RULJ^OZ*AoIKC!YkTq?Y6_=j(_cv4j%`{TY|>PEq$GfnW3rh0$~k8mUt|O1k{N zoG*aqU}Se=wCR7G?;ovS&iC0?Qk)_ymIad*uCY>-PgVHrdDe0auAAj~TLP6~I4!{o zwdcd1YiZXPvkFX;*06UHoS}HtWmUgXT}kmkn;|_eR-AvCmTvkt$mAm;iDSJZ;<7E$ zn>x^A1=EI~#vqbugDkdGc_UI8<%h*f!qXEm_S}Lyd722$Cs6B(I)691z>mE%x50z4 zBTb%Zo}1Y33Bu4NFMtUKkP_eLm-D@c9utS|QQ+JL(=-Mo22j)IhRfh3T2FegX;9*v zzRm=_7~c(KF;mDW$1%jt9P=saR=%HQqBg5fSfN<$k0NJEuZ}|d}y=?#HsN44b2tJCI8>Jt+Ik~I2u=8!a?-guwwjK&zBIo03H}!Y2 zeM@*7DgF!j-18~#qIGp)ykfy5^ltcF?o6%61x}D3YPWKwx7qPp(SY3&zY%6JC7c@= zp-OwDduKT*HWu?n;mAnWhftsPllmcX0csT|_i=y?RAjC^!~L~)pLC7=58hCn4V~{m$%gl}22X%K zzmJ~O+=3H!1+R~VdK6w8k9$|Z#uH@0c9?;l*SjBuK|+c+_0GTXb%31Bbt)-sLRC7a zt+HLNMnFR&SFG)L^)P)%shD0zQDw76&q0BbSByCMbEH%6f%38j3M|oL*5NmV$GH-B z1HC|(Mp>th>>m>=dX<1J6Q$CFzG5nL&*_LzVt*K~eCjk&4R9rWgKfbPGIQ+#2idF+Z7g$*1hlm&w|{8|Y`#)E^VypCA06l#TJ_#vGC6ADhsg zUCCYg=bPASCABa7&*L2n$l-?&Y2W<<56Yej(>{#D= z-X*}17yGIU&Kdxalv^_TKa`QkQ^BkM;NXka)snXi91gd~Q`&*u>qOdP6Y2gAP+9Wp zS83zwSP5OO75la8E6BmS=AW>gO9Br$aoh&MpSvxj^SN>M}Ky$*Q9v| zRPXc`mhV*NAqlb!&S>j+3%EB+2HoIa`HnM)M9l|0@}9L3_=?RGkG5Q@(joompn@HB zP{H7K|FXVbYQcohI;eM;X?AusSsd;oU#@b7v9`RLtPV!zTtl*N?A?nfj8#H(Mn+FC z*%+&C+)bx!RQLyJBG&BbzI&$o#uKx2TDXaftCuYGrb##nD^Iz;HwGzjc4uwk9+x+) zbv^%BV5;nTRoCVQ5~jt_zf^SZ(AokQ(Z*X!##bXVM&eTyoN;I%#atD!7Nr6q)5;aZ6o$kZmq)gM%LXDtIX}@S|*SRo!0ZQVq+}c z*u8e*kLAMQ7Kxp+@YeN?$Y`>2vJqBTILXP2oAKaU3$|@Wx2!GA+IDE_w@LA*)|gM# zn#hYOQ-l0fvr(?zFX#KsGUxRl=Udpq1^tVr<~MF55fMhSY3`%U&o4sInsS;e ` ztv?cI<(8}{0_msJ&RzE6$SnmA0BagT7wQk^R+&LI|9NQBX-=m3d6vA_S9&-jrgp#5 zQqo(xPe)u@vgugkyuC5p0Jm;oAKW}s4dxHB6c@{{=L@u0U4mw~WC1!% z5UNr45oJCwVgg127(@wd?j5Q}(?zlcmf(~@@C1&O(r3f@-M2d!#N#NszVYcL92+4F=gAAh#+z1<*xJ*sVlU)FagUhBE(Tg0cqO~v6o4=b{oRex$nk^ z8|s?!m`}^3JCCs?v8EH@F;osW4pO8hYN+TUtNSm1KS8(UwV3CuSrH*K zY0Kch)}7nBO(LVXmI6x1kL!)Q8aQPUL>>rvC=6z1M3}fhP>8G|3F;UEQxPB}5fLef zLmUy&RshPFJdRL^JWf!Gd>ou0Ns{7VQBjyMVg$+vQQOyyluh94?m^GZrsH+T%jb=1ACv4jxNe0= zrU)^%J+ne%#d`nFMFtB!vGf+T&71bv$h!+H_CU!ND_{M91IQQbM67=i#~+EMWMl6l zFzL87x87sd#Q4p%hCQ#q9XI4x&HU^mVN!ijsYbrN5A-h{H#Ho5i2*&i%bs0~#Lt-* z{{o2BMp7*D4fyqSPa0pa8eZ(DZ$z?hr8(=z8(^dca)Ol18+M}gXUwF@8IEbsD`SKI zQ6yTh2beXV))aK__-{OBoCm+p${h;hKT>%g4A?xz2ZQ zJ$k*u^Xk2x4A?ZrqDq&cf0d%2rPag7#S9uG7U7E~jHoCaNW3P@FUwRq90EXsUN=!Oh}o>l?U99)vwTx9fThy9_|+A6o!M; zMm$cEPUaygEnX>m8SEDS$8Qi^0(#6{kw+0uQLfOaaAkCKlw~Y4fi)qE^h0=B)HZpO z)}8qc1r!pLIG8#@L149{u%uB`L&QD$o--LH*`yq?i0O^$Yyn?$H;c76Srf6yp(Nl0n_DwogB{4>FKC#4rRI<^-dfVbjp9_clr) zTOoN4$_V%Xde~L^Rhmc|ZP)KZ`a1QK36*h)8J4MvAz?$3ji1Z z@b?}PCu0dDh!VtK00|iet)?M?F97}o1sOq&F8R#N_3g(o_6JeN6F_cvTgo^K*$oLk z?mQb$0b&6AysNtW1(=69Pdx7ts4xNsy_9O=7TDw&553I(wl!$)^p3dZ)9v$5bi+sw zP225sW|?8pDk5{rU+GdF6s-8$G1V^`tK#y#Li2^fB6GLJ{Ax?J%RimLUNCn3WsA@F zTt9zsf#1uAghKq!rMl1BY@r!Ntsl`W>?U-+23TD$;k$~g)Y}M&#spQ7FzB+NY5LYJQ-|JXi5XQx)K5LO@T^if@hQmfUvGX(Ew&G z94IxnrH@vFvG*}P^^|DXZtTW>{3ADAt zI4Qh06nSyPp`_WUlevo4IHtVV zt<$=Eb@5r&M)+c!M2yx)yces)F5xDjgLP?IUMS!noWt~3Z&QS__BkDy#$*kvBB=0X z$9V8=UVc5l7h;r~D!B=bom>I=oo3nki(#fyz4 z*vvRbMCcqc9<+DiGC1fsH+RWaNYw60a;_8!f)z=I6!*iHgIT9aD5+__LgtGeDJC*l zSY(vWC56uv+mrE3%H}I*l)f`g8WxwdbzDRGS?9!^RZN7dmY4!k@QPM!;QtUm$%qJC zAwOz;q+&__oBu)=Bh9V(?^!7_-G$UAj{v%>9scWM+E+>XabbSBg|{hop&> zyr;oNbpZI79Tw>9{Bf1d*`RjE6UTwc{1;t=aFCN;QOg9_@|Zb63g)9ztXb0xOv6E_ zI9-udmTtMAkgpVAiFW{;3UdJX6LJ8wlW_oWlW+hm6Se?m6|n$~oP7XkUVp`*GFT77 z@|OKR%Mt>)tY5liHE49Kz!VzhBpq;7FeAy z3A#*DH}-cZ|GykC-6&_?!Q_E49* z7mCUa_L0x%d5kWjB5pivkgp#a1OQAI#lm^D$pA2tzD zU_{tb7DQMWK}0J79WWK$u5FUSh=V*~nb*l?xh>ED&&x*~uWB9By8|I4;iH`%I= z5Xmbd#MzGTt24XZCUSrfbrPB0MvIY(&h{U> za`vr^Bicuom*=PL%dD%dGbuUOOhWXaXP4!EwAW&)ci210Z8y96Z<#Zbo!RH-=b8;Y z8@(02hA*z<#;<~_%QW_xPM71^v_LamzJ?p=*GXox=FGN_$x3EkS^T$s;+xnI{3pI2 zz3&2|a366_-1&cqKRurMonu*q-%RlZ3jGekl_+zlw}sWdhPtg%+wu9vL~CJ zp8@^(bpHA)`?jQN$u2hz&KfhiM_nJlx>w zG41Y;7=K^xlPmDu%pVf9T5NtclxBE3j7}V9ZWM)N=vi*IJIsEh=fgn9hRSD_xb)5=vfZF}Y!DO6a(hd{64Z;d`FvMsmEr$I8&h@>Y7@zAI{c zxunp%-a*?gvWu)#tGevAy0F<2o-*(}AAjfm&5-Vgt17W_p`wv2B`C{C2K=FvA z*|;qskpOQQHTK}s8)7u|fJQaE*^X87qUrm?nApj>?eL_D`kD=^6;j+)(YaE6&Oh8U z-Z4It{$O+@$=L~cFaT8K#k1YZ?y{`7Hs+Q?Kj!%t)en#l3!CY4u#;m{(RgddZugW*$tN$}(_B|@(+^(O`1P4H;y*8Vliral`8cX|u z_^px|9*p7AUl6S!jvuOmeOygP=XpW5{c$UzqsC4-d@l1E5Rw6(yCZDN+m`ZSJ@~Gd z7l{Dmrx(D{e`-rXf>_$j&2p(8l$j_u>ZAr5()d3^C1*R1ssJtt4NKD+X_pi6ypPrsVTIg_=NxqqUxYf#HYq+D})766Xne9l)2-OgQt-U_S5Wuhg zDvmN+O)}JW@aYrL575_&L7?nlAE{zO@aCI?iVexcp3YN z<*ykAiYWtnNb+Dx#%U#iRQZy%ky^88{LL7T4&YQ{l*r?ta277(hLhTorEr$Y!=Pvy zrzOOnQfVi>zIc1va`|~%R$5Kl~~h{*%D4#6e6X> zKng-DQXxqDfOFA*ubzQ<+FmQqm;>{sO&cKxRW!R<`;&6(V;lRtMwPnRpJmMPY(w4R9OIyJt{cKU^QaZTy#KJiq; zzpsVNRd+P{u(IMkZ?}B)fHu3`Qr+f#)D4LVxSp=Y+~cvwTpb8L*=6aexj4v|VXOD- zw7G`gisPg3)JXH*&eG%DX=CsOyD)dm7?*ZMo3HPN&4I;{V(j1P_G^j>T*;he!{{$f z3rTU{L1v5X?ICHVPu1aVgYm%pD+9e`QUQpc4-QAE0Ny1JHa6yLMJbX;(l#A1X+{|j zl*%a}Me%E}PR5ln-A;r6fIKo8knyq<1=@^@Yh&IdeXD=CjfV!nXdXATp!_W%Y|>&t z00+1)F-vaU4*+blO5xXWn$J!99wCOzp6tBIUV^vLZn*4wU!Mydj=|FDNS?vn@(B2T z?>$e3uln^>h*R*fbg1o1d_PY{^u8WvW}dtLoLqX}4MBe?T+VIjecxV?|F+jC(RYiR z&82y=q_Yx4Ct?6t z+gl_G(HT4XNl<12yVoCpLg%E8@0@V*e>|*YoFe_ zcH;As)sg`_W}j`bZ?IXznqvd3Y`m?yI zNAI7xelsna{=g$#7iy;O?%J&e+liW@PT4_^XmyrBou5YPB#}BTpbRh88H{tt5@+-i z_${0Hz$1^|Kb;nBHtc?0?V|n#|GPg;*VC^lrN^{78@a7~tLQ?n#93nCgM6mP;55e2 zY-gjBuFJkZlWuUUbN*QPO7o)MgmFt7=>~Oj^LjGX}Gpou{@GIzWt@LWvb zIZ)t%_)mbd14LWM%%k{s$Ab75OBtO814vc=bgtv|E#II0{KwQgyAmSiP4nqI1=q>PvJe9Z37qp{fGocmu|@1IA?`#Uw05#s$U}HNog& z3KijGhzFTsMZ-=&gU5)Sp%&<7 zzt!jg93KI7Lp=C8niUym2AzixFe3yK3Kj8WNVc_vWf3V(jtAlsWxN!T_!0rMp*RAq z(o)4NH;FM;nF+06G407QNo35{qzenC_TBrW=4Rx_F8v8d2a73VgoyZIl&Sq9FU?>s$=QOo6TVt{lK|5K^ z(A6B^sFR@#ki;31lHxrnha^CpR2WKewS=VTYu{VWfj+4JM5KREA}Odam^1M`x59d z7jQ7gZ~$=a0AG{QVVJ`aN-#naW9DpV`-X_Ag&Dq1G*-ZZ37J6U@`134i2{=dh%qzs z(u{~frDHO~ASED+7!5(ljX)Pcw;yN&8~~}rFB)^X6AM~fN3|{I7T8U$33Sdig4k-S zR#($G)pRQ@IF|V!;9)J`K>~VACJRY8F@gt1C$hPv*=0$z10Gx^z(Wedg9p5gRLz3z z_3HVV%y6|A*cIDB1CY~ScExd!glvw20@`G=%MRUcq#=(Hh&fhbhE<}5Ba0lSR?lTP zLAr9HMG3?u02)9KuATDq%?E$@>eV~%y}CPhux)exrkWqAP5t5A)Yp1VD9L^MxhMB! zXLFB@Zfi~X>d2SpbI}J_3ghyF42TE2s9y5{LMbpZfpLHlL=$tUzz~xBaRLlcLP3|! zNfKHRo#4p(ca9zF2<1BPm}hZX>wT!!NSrwr1CH0qE_22;8aygrl^0SzWL z^mmj@WIqwE#llb~D+;A)FjDgHkqv+qL}MwFnL}~O=@NrhVKUr{HYcB+6E%I%@`>^s zvz?s z^Y2-$`J>Ze{8pfoM36+&NH_*ZFB^4Tkp<)tpBjU9a=cNKL;#8;7;KUhN(Uxz1(-bp zk|&e|zz*5$AZpU(<`~%>&$EHc;3g}!QYBti?4_YBw1|yvmu?Y*E{SuvB@T!@n=t@! z`t39V1sr(++=i_$fu@m-p_ye z8I>MXKRc?PQ5Wt@thUF}@w9sMgfoBN)m*#bx;gLMa)OPQ>1iP!^t4QZ7d5pK3)n_I z?Z6=_rhu-afe#|u+Ifk#mf0CG#`N~kszQHy0cvmlbbWnsK>@Zk7|e@ETU|-VCQK)r zty=wt0IFa<4kTV7HW9M&07px#=H++OtQBXpvB4>QV$pDMYYnP@j-feI(0~y>)SE?n zj9S1RI|RHzKrXt?)IFVVZhez4;dYeKQ#Y%V)yGCN+|$nmKmP`cMI=Tn9yE3gMrN_- z1`6XIIIxnzd^7#Ls){~@R?mO5Wv0d0RtdD#Of947Si0e6HLDEUDs4Z@yFlNifiF9m zgtHLt=~kW2l2N>NDpcf?AxUm&N|e3!+~y1oK$64^6Y$7FIdGO_08e@rkXeQt;*;T= z06vyGrW6HhaypQgD5b%T!pk6Hq4PS2**T+~OQC*nHhR$rPw9a5rJn5{Aq0rwg20B0li3+@jx0C_M2dQH0FQPw1NS zAJIWgFFZP8IvBlMr>x)l&sSHikL!Q^gr%F+PxpVPKJhZGq`{G|ta$rF^-1+s&NOWv zX?I9NW^GWwgCX?cufpmJr@m3oP8m6F{GnZMQJSL`r8Z7%dFfS}@z@*c`m^c*^@)tG zV~5gp^v<>S(OT+HI;KbGg=2>OK$Uiqr&(_bA7lc)Su_y};z&fv3=AbPId1}BSYg;* zz!LWJKHll$v$91aH@G)fe#_f!yWaUH7xPAfKgny@f4(m#w6$`hx!9i5MptS+@o{Kx z9q5u+5(o4-LAMtrL6177ffV$_v1UEkte4?T0z`QNNS=&q-5?WD0T^5?z!gf8(2zDE zRmMrIdx}Q}!v!ca&7l}dS+LUE!QAp^`nJi1h0>PKY!!a zs)y9K)qfdwtM{uPg9(0&ZLHqyFTZ(RUe&!CZ(0Zj;Nv?J)A zGS}4%Ha7UInxCpWr6Sir&LYv?&>kY=krN8KH~XBFy8ER z#iOz3#P*UR$d5$5;?NsnAzRrAEhg)suCQQ^M~aA(Lq-t^IyN3~5my>=If2Hlq!b+_ zaLyFL@n1+r_JI>G0^XMFp*MW~%YmE&@2IEM=V%{#)mv-S>$s%9tAD85)wSFwr|F3O zHFY)Wqw4$WZndeD<3_iQucgZ)a1?%H`0J%h1*0Yv6hp9?w=hWZ7qJ%ukmLeNjD*%8 zz%*pEwM6lTQw8Wr0w5ds>IoBC!6|K<$E`eH!5wew62%)WWDhZLul=n- z-BH&=by1Vy;Q0!5ZBhgd+gTh)pCM69Q8+}xOjb5{78PQ4aEP~*mTKKB!H}b$8lk^i zxw1Rkp5Z1eYCC=y#&6onRkv+yZRUlYZBJjMUE~=358J0tW?V!exn-o;8G5qf0?lLXl&mS`9ht*a@whO;+g5ugzQeedj9-jvwZ>4hA`iJiJMd-}H^dZ_JVS zjpbte#(m}Z4R4ObZ$d<5mNsyq#*1Fk@p=ipnHJFityQ;ytUj)8n@;1YNKMp({=IrZ z{gyjTN78lbRM7C-)X8)Mty7Pv&(Pttj9yKzS9eC_I-6NGgP-50ql9yS#4%}nX+rVt zj7m6503|$7XGnmayO2s97~&Ch2`{?@pFbfQrZ`R;I15b zwsFl*?s?`(?86du8-tkyp8Q}Ewj<1305cYJV1P@sXg)mjKnB3cQplqN4&3>W2UK4Z zZ?Tz~d6nq;57===|~D&x`LI{R-gy=35WEmDkq5EoxiJo%q`mPd$XTKiKr=z|P1Z zqe<8wkquHb%9vTG*iMGxT`fwy#xY(nj;WV$fFwpf&y68q1Ih8~E$vb`Xzneeozxm-a&r&*Noe9lJUOvX!<3^SW2 zp*TC9;eiH{*`O%U0M(2P2Mj7ji=Vw(_DczipAkt(I%tPC6!GA`vSYuD#!`b~DX=T% zgQ0lOUj`-d;J#NE|2&wz?t*g9!I0Gqh@sLQLGf7aLFVyEq8L5 zhvam*J&8$Id?h*?O#yL9z~@FglT<;P%6qycQAA-+iYTNQMxy@UWJ+Qa-Lf&h^88Gi z8H}^#Q11kF%5e3SPA;j3`e`+wx2kl^4MRGupl*I%tEfyFuvN$d9oe{g#EoBF_y^Hb zsDw&p(_~$=JGhAUwifCJ4eC9CSsPu$Wkk8Q{#y4jHwma!BCy8IWKx^(D2 z32zd8fTKHI>FBIa8dhDMT2SEwA{RQy#y@~7k_Z$79D9J_p z2TMaD@oC!FykK;_mi&QqlN^v4K zosBcj!F&aGY>N^nF}KeKOy)x=G`TT9)eE+Y{X7B4}PR@L8PqM!tvRrAz$H~= z<|zKrM)IYfdYNz>KY6}1O z;j_Pr>w+{3VLK1wLN*`LF0)~Ok^lPFU@X~1LOY8kkgd735MbhMDn{(4yPcAn3x0RKv;tZWXH&LD8>ESDsdzE6Q@rb2_>H#{G#=r+_6_iu9;G|Y1BW|Kc;b8wyk^Y z0Oz3sEmeR2Zs?h_iMh3%QfLOPefh+3jXqLfFek(`ppP+HtScPD>xNY<3`OCBA%_VB zaR97>5H)BN<6_AN=xEvlV7DO7oH7`5E+<~P(3oS?6oXUXW*iq-&S=_|uv`_5j9?(l z&`Wvifv0L~Jwu1g9z#hx8OyhH&m4aArKIYFm5+?CZuRgj7-P&=U4jVk&H>A*7dcGA z*#x?oX9Rm0Azo$xnGy)w*|pfx9Pno2yko%9(p(bHE=xq{dwHP}b28M`*3#6uYm5m@ zQy0@Qon0+WA}dIdTa>O+s5@rnAiAVb0bFK)&6-hwW6N;B*m^@zcaT-(7Tzw!n|#@M zC1rY^juViFsXUUmvytiE~DabkDfzD9tiCRzezpz zete_-16?R24mU2RdiPUs&$8701+pz zuCGyVX)EOpZQJnr=UQBaBe>Q9<8)^5^m^!4Ihz|dSzE#}9IALbn~JgoLWa1OkPUi* z=U9}^*agm{O%ZjCq>iC)@N};X=s-b!*Ym#%y)GPr_S!eAF4mqE{K|pQ z9#S8NOv1c1Xw$&j^k8sGu?0d#XwMO+`I1J=!-#d`=sAlP%hsb+JfM@gB8YVw?Mi*W zs~;S@c+SugYSB8RE_Epe@A;pX-=APCXFVetZurxH8yn_=L_A&b;@EM}$f%JqgCHj% zk-?tFDPeSe-hHY~bYe^*a%^=eVuIxcgox=523&?ZfQHhGe) zwHXcP!GQ6&7|z>0R&@P!R{KV50Nzc$97LUK_3-acJbY1IK~*-hBN2y|07s z{ylZR@hKxhoi|`y4vd&YBMmqzL;@<>NXW*aj|XI^MUQ-89)`t%gJ3aXJBxM+rI9{& z^IgIe!=2(J8mlt}bZp0^9HHsgQs@ijwnbuIQbZrc=@~nEw8N&^WFjd2L^k;z%~`^! z7NC&Qh_=Bn4Ok>xNe8(zk8)q0A?@HTuRS%p@%85B*WYMvKFs;3h32Rqs^`^n>WNj9 zd*;lA3unIk^AEJEKz0v?zM<~FnS`y_HxGL5QBYyN04a>C;Y*?v!)JArnzrT~&N&VBa%zdpEdi;)+eJ@nKb zb^C#^>JoDwRn*g9NBypTvVV9*jao05+fV&@nx20DEW#JYU}d;YBO{1r7NY5b^c%Hb zz{-w}!Nxid*bW`mKY`V-5qX|R0yq#q-U}%+h=^naO?qCg~8P$tw z^H@o$;^{?u-p^N5AL*pO$8+QQvzXRk1C-ee3 z9@Nna7j<@Ifi!1CpzDD&)Mr**WMM2VWM}#9RK&~J($dS~YG`QtygNWty}GA%- zuE`p@fIHGwzHP&6pK~=A4sG0_$13=p(3cpnLbc2pT&aSIZ;I(+KtzwJ1+}1B15LOp zSZ8FcXxU z5AN%k@#`)vye4VkHCa*|2lrk5@!70MSS&u#?P48H7h7X@#kiKh<`^-m;bg$m&q-{GAAHPM%KOtM?J9GMJ(AAUo){pBrUBc> zsh>3d?8y+_`M=czY*+m_?Z@l52iqq9G`KfS;$~bp#C=q;wqjjdE`xOm;O}*YzmD-N z?!U*gf*s;nC3Ka#Y!>ZHdrwtY)BA2wcc@Qug`A{zqi?nS+V(#ER!u@0QC*Bi;xXIE zj#igbK*_4eERoaHfnE{{wX9QuDK0{MDGO;i9r~a#BR(4?Lr<=x;k${+V&|K`Yfuw< z44pi zi+yp++IDaswaw#J_u`+f>D5|O6U|HKRvUH$7t|28!U$b+CB6`qB+Dv7*9F(EoWxmJ zw6J3WVOJ6p8}Vl57^ks;gDMO;lfV|DGE0?IOkj0e8G{!0q{Xt72~MM1)^jF+V?AyZ z9bLhU}8aGP9uL({oRwXSW*?4K z#G(5KtXVK(%$O0kt=_e7>Voh7cDRKbKY{kSZL!Pbx??HrGGVfz_R)>%)^TIFp~5ls z`9~kr^0c@{!Oxe0+%IOCXeJ}{tPrDJ&`%WZn#XHmlZG-&7!FaZ7C&K=`o$Qw^29|w z_iWTj)2A#dn==0PQCCgwSu}It>_--k=`xp_Ici!`UiY%{(Ot?1l$HT`Z&z2+0iZk4 z*8$rOIV@zvOgQ@$mfgj$Wp`G#-p*nN!{4nrJyu+AXXK(zkCqPyoZ;NA<-)mA%2N2> zSQgy*cZ8l7US;F{5cKvj!`nccQ+0XD0-^DVlJ_86P2~_;Kzpz|KB&#BrD`+1Ha61> zEQwK3T<>NGfOJDlCb+?iW+dytR0wyeVwJNK-ay>e{NQ>mXx2e{oRmV2fz#TQvIImD6tf@Wa>kJpZWwu~lnU z(nrw#ofgcC*B96?~W~C$Z8O@SxCpL7sF!dUku-WBi1%_bA1qH?c^TzEb6-R(AxH1L8 zHap_WhKWdGAZ)kcon11sJY00tG2xt9TyB>>C*ovtB7iKn7OVnMj{kG@DUzWyN!>-O z)Lj$R=jruu#2I$Ce#0lXo~=4or5>kU;Kbq;9b}~ucu8NSisGEZrE=_~&m3U>1!k~- z+^nmkT$^Cic8MuR8Wi=l1i?&=8P}Utn6g@1?o)5 z)t<#Uz%KcZIpuEAK$ekZ9cxp|6bK}en;p%^hA-@N$?lC?cLWwMK6>Byn(E58cRl}v z|EA^F-MuzA|Bi$A?W?Z->PX$@v|j6#s+#hLw_HEA*Ugn4_r-b?etNw|r&8bK^Ttsan1+l~3zkIiOe0tn!{iD*~Pw0Q;c^4?oy&n3#x6 zuGUtQDb`@K(Moz?f^2}5=(mw+WJ4UtD{UIt9@nBLFSCV)nD3eyxu8SSyyfM+=puG9 zOfBeCU0sbo7_%JLepc)YvNIN}(qeL(?)kbR`DEbqhC87w_k;8a7FhkZ+)xnZXSaw4 zhO;HOgdi8lH&%jz|`(;Sx6~;#7<~N=Lng$E)hr_l~Pu504DdqHvfNhM!fBy`ZSa z!?e>E`{qr_tgpNGi4FG;pVctwrMJ0H*;ne;w_aDbzjvJ09to@Ohw;N*v|w*YedmSu z{^~j`|K%O~!nrm1-=RFKws=6WdDvoH zhURc?9W=D~e$oa&o1>zlp_!{^>Sqqcup?ZledxALEln_v=huN%~5;8h=~WdnxS zkLuQQTwS?AEMu|CDzb>r=bt7b=x@v@_wY`meyXCyJyo@5kajCm)iO>Q> z3761yK2Y|iD^PZGUV#-eCG*6Va2^Yt=XpWU<^-C3#q5F4bR|m92hmj!Q1Z2PvbaJd z^HRDG6!-g;y8ZSzOe&J(uW_0&^$-SyP=WjEcvaAe)0JD~gR?O;(+ zT)!%1lNLhSZj?l}M-L^%Tm?4=`su;=sK(VM=FmjeP#PHS!xGB@lF*_uun7eN5^n<9 zQf_?(p-FBsSYjkCNLF0Z^OCt>mz@I@UHsdkQ6sOLGPTRR2N&Lx*ln2lZ~6*XQTdMr z_g#1Gu&Uk@7Edo6e&a~BwTAUAhb!flK;Qhhvd+Vj?VxYzV9}dem@{Y8f>PqiP#PMt zs7n)}ud&R4jkQ1rGqHn_Fq8$%{WK6QF%BiARB^~*mpf5gr4xxpbyzGI>9?p)_~fj( z^Okw@<}F=5anh)vcg!uk^U1~QY6k8LJ$@fIr>1B9jl(L3-+0|M*H`u*HGe|o@-wxHfT3#&eCrC(@7?i{!35Z)9;o z)g{=OzdcNk4>>N253xY47EF%UCVS#9i4w7REgF(`MHvxXY z-C#+lmPkT;Ghx{txWd}3#TX4XmVwIFl6MQDl*IqY2QyFoz@?4*W?XsI$8QS`DyV<{ zAnyCCKOc0Q*Jyq#H=Xw7gA%SyBHU8VR#jbeC0xlQ2l|Dui`A!zm{nn5TO=@3Lfi5L zms~hC>c}n$MkfDqQ+rlc9U3{h&(q5n^i5RfS+43jDrwi8%$4KD$7nY3V6KAhV|h5~ zL{BBQL>KJdq+BHT2)K?%v0?tX=y^?fdVKn>uxzFlVc> zYugh|JD*nnq^6~d7i)bP0J_p2(Um1mzJ$7IrgjPZ_`}Rn0WCtokS<+stc0T zdAS!aHT?7-#4y9KTgoE0{X#%8eZ%!41hDlTce-s4JO@x3ZquH>!k*LL+4I@F$e!oG z^N$Q~!}B>r`~D;Cd%l0$9_VLNe;P_nK%jgvY5P127*Z_RkFZQ zX3Gh10vUL@Cs#&;0P9%FCXIuEUev?5ibj3>icZ%pEAN+DHDpZfz@FPyFPc)GIekOr z-uLM=&GAp_KV|gv;+w{diOpQ}_zgqK<_%f+P(jj=BJUAlkG3d|?M_C7W5!z?StNtO z;hOfNwCW1wbHP%%Quz^*(xE&lT7HxW9m?I&@<}AELwQQH{0*=<9wA)23i$bx<(fM& z&ll|vg#<4yNO7{H(`LJ5#dKf0fXh>?(d8+wLdAMgkpt0iyp@IHIglEb$O;uV6AXTO zafJ#TJOwGiaclUgZ4YzhZ3nptZ9z5jYigz8anV&P`UZyeQr40FX}a1O+#i5R21MT_RLWdKG=Q>Br`OF2|_>dTi9 zFNIq!u3=KQHbhr3(T(aPZu=-M99hi7ZEtJV)-$y|Jt~3+;T)sKE;>EVVdG|N2pBv9 z8vMxAE0)itnO7`7LJoB(Pl}cwC0ja_yQAfk@O{kJqTmDw+fY6^OU%?`rbaW(rt?ba zL-gV9Y9rm)U7e^-Dy18QNqGAZ-ZsKh_M@%G)7C$n1wm#RS3i6l{Ge^>;>Yz?N1?`WlKjq;;1yGHD=RX%R;QC6}+__!HN0s5|LSZ5;y)i!%A;=2*VYUvMvWd^pys>b7EWDp5nB@4 zvx-#?Wfs9X-|>Q3@}y?4RkKE!IogBfK&)sw!~0F_d9bi)Qc zcobPv47T9$m-ioDeSMFVir$lM%2zhu{CHvSr~1uWP&sY!=-w3-z3;he-Bw}ubNkn= zT0OmdV0KM=Jd_dNNCv1`ZmBS}q3=dflE7w1k z`P_5VP(JC^q(ey;A(^(*%N5zw>N z4&_JGM_Kt#@c#F#{#SMV`zW)M=inYi-~%Ot-XEavyy6wu!gw|xso9??Knf|679rF3 znZSKVn)w)~E0IMFv%I*Ygh%YKqlBk~%Qk@6&Mt{#f*g04@TXsr12m`Y<0+5#6UvXN zzjgV&dS?Cu-{6(Q z7d)s=`BpuvzE6eI`;MRc=ly?sQ-dSRrDA+_y~bDVQTPg_3@%j~o{n6(eD0(xmmjfo zC};I+UFC>0tn)!|Hx zM>33~3fy*4f!i)B@Q{SFkf6d1ye-z`h^X+8$o7M}sKj@hEU^y5dQ#*ZlebEg`INVadt|e#exs z`kCG5Km6CxTe(BEf3$6=x^U*eJcK{XM`8G?(eV3}hL_9B=Qdoq{D{3nIm4q?K1nZU z`2+0zI<1~FnxDyX(pX-rmyFe+8?Wbcu~c*;OGP(Qb1n;b_#)Y@Ai3dJ2SYjn1l9whM|Hs6%u}0%8_0q(&ZHJyyT_&O~_~XEpQ`0{9 zD>_Ctc5RH4?(UGQDfH^N{+j!r6E?MMSGFFs{Z}z;cmv>*hWl}_d^a1Ik1QG#4;Ka& z&x;t8DVCOIvz2AMo6XTZ9^7u0LX8n2wE1xcE-^9##|SnN*GKRelDElhLn^CHGa<}! zh`3n-gOU`rDm!>$qP~zcP$Hvcxdbf5K;=a4r?#0~W7|XA+BWOpaoSSS1ZtStyXQ3Z zyb7*Ay@{@obuUe#_tBB+>*_9t@SCKD7|)$Grh!iOg0B-K50Y>S>SRw4cXnjcL|Uc^ zQ_)=l&H1(z9B)3dV%LtlJ!b1$Jm#}irIqR#Oiy9Qf`#ws2ti(mPgZ znVtXs?#y3*JpA&B_XvsF#_p(XJgNOX^krzS@CiRt^nnD;W&0YMg3%DAmbm~z(K|NBVze{3YGLy_Jxf6SQqcnlrXv*)179z6#clu>i$jvO<4_Lx3{ z2K6Z)G#JL41bsPSc#|ZcM%HH;abA`!eGlTUVN^-fcEgg`)>oJ!ZD6u9WX|N?i zac1lh%VnV~YuTe=IjCWo&8`}0l4a8HqM@DB%To$^%7djzLozCRdds}|S387Hr!Nkq zC+7_uHv87h;>1q#9My>I+Kc;6U#KZQR; zt!%wynufDxlfLt%S=(+jjxCprY$hdgMt_QTY;Nz=elc_S6EkSsP2<(0dLCD#E@QMV zqSvMENsa3d%opqOaK@CBav8Uy;t!3c{#h>ENE7&}ulg76#R;5riez87ipgWBo2y{` zlyP-+WDZ;FEC{E_yfyR}-8Y=Kmg4l~&qh6Kx8oo(|6???OL~3hKB;|TJB-UUpW1J# zS3hjHqz^_SMf(sF)CURDo#hVm(YbSsMBC!D6yg{I^uZ)uvMX1RoyCh#XobdS+cN4q zT?9ux&2Mnsp`N=@hYL58!R2!uE|h!^l$FG90sb#Q?#CTwtwOGTifl|S#t}OdYNyD) zs2zCy`|Ae|yuNC{fGY0nh?_=L-!NK>4Q*{dYXB;evM|OkfdfTbn0%A@4_Vt)WD$Lx z#j1UT?UWi_VTl<}81yv|wk(`cUB~&}4imkY69@I|yR;sK3t&|+hKu!3tf%DCSoqVI z#Jvesn*mW}Y`rV-(IDLOxuaT7MD|tTNCH>EtuyQ=78p}K(N-UWXcmK^7?FiS35&`R zlUYlJ(07!S|A!qVosk_SV=wL~sctt*_AID|QOP z&b`^xd#dLCLD_e$+VxEiJ*RSlKo6C8!0S%Vs?s6+$lovH_1 z_@$~bzIR;JC;#d_Dm{V5Q!C)l!hLJ-FdmG@Og0wlHd}*i`*}o>o)ds5GTEJhKp?VJ zt3m!R`z|1>B8|n%EcYIB1?{pnjfWc*HCe0Fe6dgfgUS87x4d?80F@7@wwq!?adR13n$d_;WDV5G`Nap?t{2a>Kc3c{Uk{ z<@lX&Ec*PrD?A?}u)J415+13RzWMUz*sK3d(oEPn?eEj*XSG=sjk}DvrIac9*HYj+ z(;8e20S0}u`l4~yfBZF;pP_!u{N4eF3qCnZws9YlWrkc*BCI3Z#5rW9p_$x9SCVC1 zKIpo9QU*R^BRrc<_maNc1Eh|APquRVNCK4I0>>M0%!FeU9Jz3;g<~lkQ{h;^zJvGS z7>w7EgC9jojUM<8#%mDBap6z0#IPOCli+}RuyK|c4w2&=T+{RI0|b1QM2?H!!?V}n zoI;ieyYw@>C)7c`U5Ev~IUsB%#ONnM0W&g7;n)P@SVMMUpWz&Y_G|cx_EuptT?zQE z7Y>u%{4p{Q&hvzEWFFumMJOcs!d|kQ9w$%JV`rJpcz^0Q@Jz`3M|82^-0rC>}09kjC%~xafEwE*P%i z%y3yqmKZm}d)Tkd;7e=bCaj>B&#BE=H{c5SsRDG8h4mlW5sHBh z;Se{0yhvgEo2UPu0kz!C#c>MXpC8BH%kSk+3CTiFp-#9<*ed*L$S}+X`Er%G&FC^- zW!!5jGBudCns%E$Hk~!sfh_HA*=qSYrXXfg%oeNN+TS|PdcXCk^=Dg8+nu&k_GJ4V z_LH$aW2eRLi2b|tu1w?txlUdoZZ$PTjJL)QjtBQ6p*rD?#BPa=i8~WdC3Q<0nzS?N$D|*VJ0;(f{98(6$~!4P zr>;spl2)7cR@zyw%Ny{X^8V)Q?(6Sc?>m?7O`nzCoPHqvH-DmkwEr&udjB?mb4Fgq zRT+IVhGx`dG-k}sIGXYIj58T$GycpJGNsJq%ubnIGat&_mZ@a!&pev>_sla{T-L&@ z6G4KdEN8+=grSMkZ=Dl|MT)I z@*DH-$bTsRK>kI#AyNXfN{T z<-Ft>I0B@I{W-dP{i+L4sh3;}Z%>E!ra(Pjat&P1g0Jy+467gilwH9U{(RlVKVCNv zp5WiS!Z&CCFMsInzx|24$XAhX@;iJp9DXOVdLnIjq0KR@WCHtYyxv<467?{4FWfb< z5%rILGmOk6bD*YK@P9mv7suZ5YaDX{iT-7?_6E{GuJrF0qWx(>9x!GA>=*&(X259- z_&_$mXDoO|GT_@ua2Js{ux;W=0!buEfX5WTaT>Jj125Q5GDs%LBH5%9$pJez7x0k} zJt$<@36LP^N{UH0QbMjGrQmDzAXk$z(i14J94N34;Hod_2jjaIWYj=XK?VWLt|OHI z%c10Y@JogP8>nzKc?{@e z8(5R8z~@{_9-sm>kTp~!E68E;1vQe*WC!^-`JJ32Tgh|eP4WiW1<)Q#?gO~L4RAb4 z-Xh1zJLDL7m$U%%J|ypv_sR2srC-T9a+3U=oB*u+ME*fml1YGx$z&?vVH(*2u%8JO zfRr%@FfkYK`y-hTw7r1bMi!BUWG{JwEGD;;JIE4p7C2xZ`3Nk=5P6Aw41VAz)I`nH zLSv|v+Nhnzg7qv@2X#^xb(1h@BD={R@)~I-FOb*Ca`G&VBL~PUWIy$QMV&zIA-~W> znnaUn3QaZ6nKrSgsCSWm?yH^q1oU%IKNsugQalHWii-4e7yTU2&q4j%RX-Q&=WhDB zL_c4ppCk44*3Mn@db@P7G)$Z@XV&;}V{U2GiUR$$bFqFd=_>S_Giy5D^way(zmL`* zI0y7|P(OFwOWT(zbPXA#n1^FsZ^ozs#iT95_X zwr$(C?e5dIZQHhO+qP}nwmJ7{BIXO`Y41O%sEU=j$iQrANIzpxZ4D2bu`Ab~O>y6Q zVnzqw2z&puDH0BN$66M&AZ<_dpV`oCOP0@TaBYpw#O!jaTSsott(*p+XYUHzY};LS zFneNxwA>VrU4suNN&oQwuXoEJ6j;iQ9RR>@`~TIu<>YGizuv7IAB!}c36~wWoT9(@ zKx+?L0;9Nii3udig~p9U8l}V&Tws<`ee?iH0u7RbleVwj|MXkfIXNLU4e`UA%;(jW z)8p#8-EMnWdtXUn^m^UipWhpAcO73xJqIV>_ZvrHVP|u6eSUWvPhNhHV|`!T zdtW{Hzc28h5V{5ZakZ~R!>K5zR2 zd4DTC2fMzxeP2W1@V*aGdfR`Z?SJ1RZScO&hX-z7WpTQE{W0+F#CV?mquE`5?!Ml3 z`_k)doln;%Z*~^_aYy6ew-2*5DwCrwl6@MlwFL+pK6zkz$-#-ATc==5~(Z+>rXzW3iF|d_S)j z-_NMFCPPC-Rro*WV&8Y6_`H6w=-rGM&Q>Ttil*cz+Ono4mbN&zbo4y*F8%8x;W3=`{%aZ!6sLWiZFtZi0wME)wplf-4BcTjHHbl z$$x7&ljQc!cs9WP?ZP-qP=MQtz1!;KS>GUTvipG~DgM#^L}=u>y#UUClZnrhhp|B$ z=QsZ_*ax}S-PsS+7#4G5z@>bk#qc~?I>cD&@5`w~aoQse-q z9G1mN$h>AFt~oH-2>XjIMIfkBEqPr0@gF>Nk=pXd4+F0QB34C4r+`d`Zk+-1d)Nc|t35mjUJAIvMcSUPEksXw=^3!_n2Y>N6w8a5TmUP;9g${$&nMdu|z>WBBy9j)={k zHXC+F`1`@s8S+_%w;w_>`CFCJYl-xA^&n{zy6dPRD!FY?ZhYp8Xqm;cpt0s-XDcPEc6N8fI}B4>&DctzZGH1}5*q+mc5@00 zo0I)|J8E$3_4ISVn1+<_2@Zcqg9$5gn0jhBR;xR&m|U5i2S7&xANf9DRhzc(f{>8?h9z*v{6p}Zon2o z-ozX}zJ~sO$VSIUvVv^nGFi+SQ749mtv|w)4p%V>b|!g<$srg3qyef+5L0V^Z+0M+ zarmn+q=BmJ&LL6Pjt=t*ik74*5P$WH|{{i>;!(IXP32i>Y`5dul{;aVB8eh}Eu*BZr zlhcIIA8-3J6922l!KnaS7KjkVI$9;{0C+sEso33dmzSH_1@=wMjwvhN{cBvA{K@L6 zF#(kM)j7Dmv2(X?%BxWZSvBV&0iY$;e!NFnBKoNR#D=9q8c@V=)C-Z45THwN%nfKA zU+&-bu|L;Fpe8cP!=0ckG3{bp7R5N63fw_RbiiT~yo;GLRNiU=5~ma=1Q|@wkMTc3 z1T`X^P#~pk95zDbL#zkz%9;S~XKOD5qHObfJuaQ%#oc_Uw2ZP{NWW4BkbwY*httOa zhy~sMY6l2|D$hy+!B>Q9W$Azo8;c3{xKEBvmgTcGF!KW)9wpXyFW;^NzyVnbDGa7@ z$cChi%3GlNl@Q?$kP$$7z<@L*l9f|u5||pnBY=8ukv8Ve@FTx9m02*acY1CzhV#_O znP8nX4!T+qFs(f_K(R6=kfe^f>7?HtgGK1*pnbgiPuWcoW@MG5kHZSulCiaIk}r=e ziopdYpcn!=z{XSZFVAp3Odw(`UU=W6pjiGT91j79`v$)*wc{N_9W63q6-=N7F@#v= zp!)$hj7#xWib@F_0$0_gjzS;a?I_(VFxe!7`VNYmu7#eWK9ehY`w6- zoEjmdIIaUH61^Uiu%$vQX7+}0Zr?~=4;TegycD&(QS|=b z_=eOni$pVmXdptHy6WX~?5sadIhBwO`B;9fuuFK;zv3`R04rUGu%mLuy8QRWe@XXo zUtkhRTh##3h#C=Eo`KZkOy_C{AK?Dk*;~EQ3+1fb66{JUM6L2FkO2zBzy3vtxS&P< z@%r2WoYTF`?ewn}T`+YeP_T;bh4^v47|UmHvs;Ed^Z=2bR4>?i==;Q?<6m+UP7J){ zaxuJ4I2mD{dW;tWp}GRWOM$H6BjJL)t|5^v&!*8$w}4vq_=;Wy0_DtKnWGUbVzCz2 z0GD-)o&fv*B`2DbJ_i}4#~^WY5~C#pd!29})Cc~N-{W+&^iNsH081(XOBA)pi0Gv^>Wj6Me!z>6CrP?hl!%a z4a;yQr8Gm}=>bKEUkcd-+n&TrKD37+lvuO02{7JuX7+=E{ej}=K|VvwKsJMKJ%0;L zhnhw-G;vjfFB6QZ1~ZvcHLu4kFND)7SA2eyIRi+I6=pIlg!l_l$Bd_Z`X=7uRZ|BrO4EO|NU?c4mwTl1|RT;7mCl z>O~;4D<#$DkRltXQKoOQ8YEBBe)J|y%Bv#VH~@g{SXlH&3Bq8siD{2}#Slp<$4pX= zx4-;GB^fi}L;_LPn4>5u;u5qb+DMw`RQplv_#0pLL{MIsf$2i1v8DFu0Pe0fSM`8N z1_7$+T{t%@oEXh0 zCr3nmjjaYP9k$@1{5wQ0KvIq$iU%gU^_%ZN|5xBJfWX9p%WQ?P#(DF$AQGEI64HI? z$l3mB*`6O$%(~J4?oBInjF2K5%2^GTkuKtV{7T+^c#KuNj4f8#g;8VNX4RD5DLtyr z5@~#zqS7L=d8jnty6oYzb=v9Y9;U86$AT$i>lMx{U=@1d*Zj267+7^nV&oqVE`&+6 z)4i~lwVJ8yH^P^HAz%-PRY=TKKi$8`)ZHC2`9#_I2j2HLb$=eG`wyszo5h(KZPHMn zN~&KVL<9eO1ZVT>MrsJ4WVMtUcOha;s z(c8`h!7IfgjX5_}uRt(50Uy@otSv=c^8ssJQ;SqMVp%PiWg5TH;097s2LR*&ap^37 zcJq(^(lCW2AfloY;`{Q!BjS!k8RPush(}RPkT30N1?d~vR`qfwx1z`2tSq(o%f%F` z6<@r3PR~12z#v4zVFYA^cA`uKQXo7EbK0 z&9LbdS@n3D0HlEE0EOX5@n1TU6qyy)7&U7eEbJpSG~^%xUA4T(kn6MgNEVQ?RLTYN zNUcQJ91dF!g%E%_kciL)nJPr%Y4p?BY`4Xd?De)OHsEjB)jozz4qOe2)c9C{LLEx& zLiP$j;RM(P?CH^4gbbIY5|AWjJ{k{FQ9%0yGD(dwmJcNAWb>qrHc}Xz`|@CS%mIMR z2+TwP%>p|9#2fQWi@A9C&_#eJTJGB_Xmc`Q%Ok^#6)r9+WSqFX?u-J$ErNgW%fy*k zFwhyYIRKj**xe`@55`F;lMRC5ex6AP4Y6Y3#5VNqI9oNhPFy69);|5ZU|t6R1%B6V z6{5b8O5*QE?kWay2xp0Qgamm&?Oj?4IvtRd}nlh)RGMagC+| zRoUJNpF0v~zN=twBlU!JGvyaKT}nA_o4TdLQseXK7W-LO$~}_N%Wm-~mO#D~%F8(- zB>-y)-C3cDY`4PE$grqI)2M>YIOgNg>wfM34JRy1xLLdk1>FbO=Kr)PGMl*}B0b0# zTnm&xn(j5N2#Vcy=boF!=ltq3S{l`?>y@V2i6^4xwV)Zm-71*M_$NaTjjdr+hJ4r4 zZNjMfIL6Yj9t1W^+LD@OkUNT-NZSba7QhR#=rhy2;`HWXv;wr?lZ!@fo>D8sL66=2 zshA^LhNQiui9o(`7Si3n_9xhp9-@>5B@t+3p5Z;1Px&NUN@WCfa`DrJb|euW`iW7| zKqBexug&Ytj>a}Jzgfr~uJ(tCvY$mCkJ0}~d2gM#m3p=tw|+h*dGJP8Fr3ZveO6X z;?%5^c37#NYm^BE>C58@=8@r)^3sEPZJL)78$?6Jmpx;k3S^T8Ld495MSA3q4Hf2+ zgK|_n4@Pa5NwLa=&`4{ERzNH0qcEel+i;K(#b6?^T%d3~$-tdBD`OG|=RmW|XNHrHQSM~MHpMn!2x@9b&dro;MfoLhPz{5+P(k5|8h z=(RR?EzkFMtj(`sGisst86`>aZTh|(3WGv!mFX;ovnE^EH*|{zm^^hRmLzL4AqZo$ z)Y|>}Hc4!HB%d=A$AXfi7li#42N&Z(#8S;EW@_;ok)dLiaWC}pZGsXol4oGz`k|ta zIygTbEYV5Z7`s?{*L$bWUQb45(4^_E(3E*e0IdYdeO6oOa3K#PC2(K~R3w>gzWEGk zQvU0l)(|r@d#mKIXUi0-BJ8O=DfUo(eW)pUuVN+KTU=Yfw`5Dg{){xiJB}chd776$ z%sAUMC2Vdx=vt?S>Rg%StLW5`4yp<#X>;ZB-%V#aDCQPusKo$r92p0N_KCb=FD#6(*2U!W6H-2oc3GSF-u+t>n5l+iPI z^aSe!CGWL&9+KjxEYQ)|8h>J{bCTRytjfCB3|3n8QHa$+8sN`Z^gT+Zm=g36&n_Lr zaKW>f4*cP+c-?D5(Tg1>UF%sa1rQ>7c^XW8p;iM-vy!ZX2m(70bmiEaY4UUaX2LmZ za`%QA8#0utcq=nhpz5qvB`S#Ev|vf$L0eyj6gk7IiE8qiOM2i^Fi>TBrW9w;T36Zv zlX=C!VqiWf`%Uxq(ra*5#osn7V+FLE|$eI;Un07Uk!8$_l@8I6iA(-UkzZIzj|7w_bISh1UcqJ zKo~W2?#IwnbtC|Ca_VyvgCF`aNQq8~=qZOI1*SnXuMpZiNTHX3>p~x}wkT-X;S`rd z{1s-ji9o(#5am=KFmpDa@fnD-o27WNo-j1ofLr!Gz!q5p@0?Bvgql5Zqn`kr#7^c( z-Z|c;BK^;y1*fQwDQ$SP2O<`Yu}u_N)>IrkdM?szP_G7KS0;6lDz^ZfLi}lg(K6iB zl#TGHf<0*Rrsrd9K@c zIAPOu<0?{<(s#@JyDvL}nd@NLY72;^Wns~8=aLL^^{aHZT*tQ$=BokuCibgDj3T|r1KYj9 zBI_MLtDAyB2{j+As)@Xbxt%2)6<=?9^qhi=0Xka09zZ{^)|Q_Z&4s{#SfptoBFrlD z&K@55fcge9n!<(Y7Qk+{(H|bx8nl`NpZ1$V1Emw*A(gOcz9wf{Qf8O(6|h=xN*|j_ zc0qBW{}E1tL)m>64HV=OticN`%O5%+GxDE`Br2PdwPjwUWdWzDUh8;{H6gx#%5&W6 z=(~}=@H3Rekj%k8B%7ZkTy%suHaKvX5YPgOkWvif6ITiMy#vY?e3EVGCMQIOJZOJGw4*4S>Pm#arbd`=K5mrcS$tL z{&cIT6^M93v{RDlz?+JZn$yQzY*o}HIifFw{$qE>8=87?HTliR2Fv6&kviL`FuqR4 zs2dP53|0z$G+u=0<+w=>{p`$c+N6)ile}=8wZLzpo$w$bNeNK|Fb7saqk5sF0T^p%e+SDiaEOQRsn&5vb zrnrXo(MUudGT$ayk4Xn={+Cm^M9pmv?-rxvsm>ZUAUhJapKp36ZRGfkpD)SC)?K^A5r z%~v#m2BX_cr>D?m& zoJX91)9YHv(50PT^^GAe(~apu_vxIu18kA2^pBbuw^a64bS%)Tle~fgAOpO-Y;si2 zzW?4f+HFujgB}x7Asj}y<4;np2oZQw1}LAMv+#L4D7|+M;SHVV&SNX^%qL+_)Qhs? zjpV@-&^MUF!~^)0u}}Jzke3OiQH4Iu%QUCd0&yGR>&NW zA?ZV9IPA3AJzL0s(pW;*&_v!gH>nFki-t_+(ZZxC%GJ?j55|fzrdlG>aGFLUDSod} zCsk!A`qzhExCU8|g#fi?e5rc42fX64C>pv6F47d(n90Fq5l1z&h)_$jPuZx+;g!2y zYD#xZ5^vM8Yxt%Tf?HLptAxn@wAU!!{>%2LZi{>xzekJO+o6t$K;jXF%?@~Clq;wQ z|4w_7;SW~U_rOHA0u%c$w>_(hgYr$a)tP;B>bq9Q%Mu{em$l7)b0lvkhI%5JtmF)C zAmA@O?=qD{^!?>a>dbUZ?3zb27?dZkwfWd6RxqTdOY6iW#F`S5iN3}Am8ZpP)Ve{Z z!hT|Ui)eR?IF$X3o_~7|bl;