From d4b7dfa6fe2f9a54768d13bbff94ae5e908e1b43 Mon Sep 17 00:00:00 2001 From: Adam Overa Date: Thu, 30 Apr 2026 19:49:51 -0400 Subject: [PATCH 1/5] Configure Access Control in Apache --- .../index.md | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md diff --git a/docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md new file mode 100644 index 00000000000..27e78f80450 --- /dev/null +++ b/docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md @@ -0,0 +1,259 @@ +--- +slug: configure-access-control-in-apache +title: "Configure Access Control in Apache" +description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." +og_description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." +authors: ["Akamai"] +contributors: ["Akamai"] +published: 2026-04-27 +keywords: ['access control', 'http auth', 'mod_auth', 'http', 'apache', 'web server', 'security'] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +external_resources: +- '[Apache HTTP Server Documentation](https://httpd.apache.org/docs/current/)' +--- + +Access control in Apache determines which clients can access specific resources on your server. Apache 2.4 introduced a new authorization model based on the `Require` directive, replacing the deprecated `Order`, `Allow`, and `Deny` directives used in earlier versions. + +This guide demonstrates how to configure access control using modern Apache 2.4 directives. + +Access control is a fundamental part of securing web applications. By restricting access at the web server level, you can prevent unauthorized users from reaching sensitive resources before application logic is ever executed. Common use cases include limiting access to administrative interfaces, internal tools, staging environments, or API endpoints. + +## Before you begin + +1. Install Apache HTTP Server 2.4 or later on your system: + + ```command + sudo apt update + sudo apt install apache2 -y + ``` +1. Ensure you have root or sudo privileges to edit configuration files. + +1. Be familiar with editing configuration files and restarting services. + +## Understanding access control in Apache 2.4 + +Apache 2.4 uses a rule-based authorization system built around the `Require` directive. This replaces the older `Order`, `Allow`, and `Deny` directives used in Apache 2.2. + +In Apache 2.4, authorization is explicit and rule-based. Instead of relying on evaluation order, each `Require` directive defines a condition that must be met. These conditions can be combined to create precise access policies without relying on implicit behavior. + +Access control rules are typically applied in `` and `` blocks, within virtual host configuration files, or through `.htaccess` files. + +Most access control functionality is provided by the `mod_authz_core` and `mod_authz_host` modules. These modules are enabled by default in most Apache installations. + +## Basic access control rules + +These directives are typically used to establish a default policy. For example, you might deny all access by default and then selectively allow specific clients. + +Use the `Require` directive to allow or deny all requests. + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require all granted +``` + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require all denied +``` + +These rules are often used as a baseline before applying more specific restrictions. + +## Restricting access by IP address + +IP-based restrictions are the most common form of access control. They are fast, reliable, and do not depend on DNS resolution. + +Use `Require ip` to allow specific IP addresses or subnets. + +Allow a single IP: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require ip 192.168.1.10 +``` + +Allow a subnet: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require ip 192.168.1.0/24 +``` + +Allow multiple networks: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require ip 192.168.1.0/24 +Require ip 10.0.0.0/8 +``` + +## Restricting access by hostname + +Hostname-based rules can be useful in environments where clients are identified by domain rather than fixed IP addresses. + +Use `Require host` to match client hostnames: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +Require host example.com +``` + +Hostname-based rules rely on reverse DNS lookups and can introduce latency or inconsistencies. Prefer IP-based rules when possible. + +## Combining access rules + +Combine rules using containers to express logical relationships between conditions. For example, requiring multiple conditions to be true, or allowing access if any one condition is satisfied. + +### RequireAll + +The `RequireAll` container allows access only if all of the enclosed conditions are met. This is useful for enforcing multiple requirements at the same time. + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 192.168.1.0/24 + Require not ip 192.168.1.50 + +``` + +### RequireAny + +The `RequireAny` container allows access if any of the enclosed conditions are met. This is useful when multiple independent conditions should grant access. + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 192.168.1.0/24 + Require ip 10.0.0.0/8 + +``` + +### RequireNone + +The `RequireNone` container denies access if any of the enclosed conditions are met. This is useful for explicitly blocking specific clients or networks. + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 203.0.113.10 + +``` + +## Applying access control rules + +The following example demonstrates how to apply an access control rule to a specific directory and verify the result. + +1. Edit your Apache virtual host configuration file: + + ```command + sudo nano /etc/apache2/sites-available/000-default.conf + ``` + + {{< note title="RHEL-based systems" type="secondary">}} + On RHEL-based systems, edit `/etc/httpd/conf/httpd.conf` or a file in `/etc/httpd/conf.d/`. + {{< /note >}} + + Add a rule to restrict access to a directory: + + ```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 192.168.1.0/24 + + ``` + + When done, press CTRL+X, followed by Y then Enter to save the file and exit `nano`. + +1. Test the Apache configuration: + + ```command + sudo apachectl configtest + ``` + + ```output + Syntax OK + ``` + +1. Restart Apache to apply changes: + + ```command + sudo systemctl restart apache2 + ``` + +1. From an allowed IP address, run: + + ```command + curl -I http://your-server-ip/private + ``` + + ```output + HTTP/1.1 200 OK + ``` + +1. From a blocked IP address, run: + + ```command + curl -I http://your-server-ip/private + ``` + + ```output + HTTP/1.1 403 Forbidden + ``` + +### Using `.htaccess` + +You can apply rules in a `.htaccess` file when you cannot modify the main configuration: + +```file {title="/var/www/html/.htaccess"} +Require all denied +``` + +`.htaccess` files introduce performance overhead and should only be used when necessary. + +## Migrating from Apache 2.2 + +Apache 2.2 used a different access control model based on `Order`, `Allow`, and `Deny`. + +Because the underlying authorization model changed significantly, older configurations may not behave as expected when copied directly into Apache 2.4 without modification. + +| Apache 2.2 Directive | Apache 2.4 Equivalent | +|---------------------|----------------------| +| `Allow from all` | `Require all granted` | +| `Deny from all` | `Require all denied` | +| `Allow from 192.168.1.0/24` | `Require ip 192.168.1.0/24` | +| `Deny from 192.168.1.10` | `Require not ip 192.168.1.10` | + +Example conversion: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +# Apache 2.2 +Order deny,allow +Deny from all +Allow from 192.168.1.0/24 +``` + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +# Apache 2.4 +Require ip 192.168.1.0/24 +``` + +Apache 2.4 includes the `mod_access_compat` module for backward compatibility. Avoid using it in new configurations. + +## Common access control patterns + +The following examples demonstrate common real-world use cases for access control in Apache. + +Restrict an admin directory: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 192.168.1.0/24 + +``` + +Block a specific IP: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require all granted + Require not ip 203.0.113.10 + +``` + +Allow multiple trusted networks: + +```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + + Require ip 192.168.1.0/24 + Require ip 10.0.0.0/8 + +``` \ No newline at end of file From f19addd7441adefa3aa1fd848acd9732d4ffe7af Mon Sep 17 00:00:00 2001 From: Adam Overa Date: Wed, 20 May 2026 20:02:19 -0400 Subject: [PATCH 2/5] Various fixes and Folder change --- .../index.md | 135 ++++++++++++------ 1 file changed, 95 insertions(+), 40 deletions(-) rename docs/guides/web-servers/{apache-tips-and-tricks => apache}/configure-access-control-in-apache/index.md (58%) diff --git a/docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md b/docs/guides/web-servers/apache/configure-access-control-in-apache/index.md similarity index 58% rename from docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md rename to docs/guides/web-servers/apache/configure-access-control-in-apache/index.md index 27e78f80450..ca8524a385f 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/configure-access-control-in-apache/index.md +++ b/docs/guides/web-servers/apache/configure-access-control-in-apache/index.md @@ -1,42 +1,50 @@ --- slug: configure-access-control-in-apache -title: "Configure Access Control in Apache" +title: "Configure access control in Apache" description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." og_description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." authors: ["Akamai"] contributors: ["Akamai"] published: 2026-04-27 -keywords: ['access control', 'http auth', 'mod_auth', 'http', 'apache', 'web server', 'security'] +keywords: ['access control', 'apache', 'apache 2.4', 'require directive', 'web server security'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +aliases: ['/web-servers/apache/configuration/http-authentication/','/websites/apache/apache-access-control/','/web-servers/apache/apache-access-control/','/guides/authbased-access-control-with-apache/','/websites/apache/authbased-access-control-with-apache/','/web-servers/apache/authbased-access-control-with-apache/','/websites/authbased-access-control-with-apache/'] external_resources: - '[Apache HTTP Server Documentation](https://httpd.apache.org/docs/current/)' --- Access control in Apache determines which clients can access specific resources on your server. Apache 2.4 introduced a new authorization model based on the `Require` directive, replacing the deprecated `Order`, `Allow`, and `Deny` directives used in earlier versions. -This guide demonstrates how to configure access control using modern Apache 2.4 directives. - Access control is a fundamental part of securing web applications. By restricting access at the web server level, you can prevent unauthorized users from reaching sensitive resources before application logic is ever executed. Common use cases include limiting access to administrative interfaces, internal tools, staging environments, or API endpoints. +This guide demonstrates how to configure access control using modern Apache 2.4 directives. + ## Before you begin 1. Install Apache HTTP Server 2.4 or later on your system: - ```command + ```command {title="Debian-based Linux distributions"} sudo apt update sudo apt install apache2 -y ``` -1. Ensure you have root or sudo privileges to edit configuration files. + + ```command {title="RHEL-based Linux distributions"} + sudo dnf install httpd -y + ``` + +1. Ensure you have root or `sudo` privileges to edit configuration files. 1. Be familiar with editing configuration files and restarting services. ## Understanding access control in Apache 2.4 -Apache 2.4 uses a rule-based authorization system built around the `Require` directive. This replaces the older `Order`, `Allow`, and `Deny` directives used in Apache 2.2. - In Apache 2.4, authorization is explicit and rule-based. Instead of relying on evaluation order, each `Require` directive defines a condition that must be met. These conditions can be combined to create precise access policies without relying on implicit behavior. -Access control rules are typically applied in `` and `` blocks, within virtual host configuration files, or through `.htaccess` files. +Access control rules are typically applied in `` and `` blocks within virtual host configuration files. + +The exact configuration file location depends on your Linux distribution and Apache deployment. Debian-based systems commonly use site-specific virtual host configuration files in `/etc/apache2/sites-available/`, such as `/etc/apache2/sites-available/000-default.conf`. RHEL-based systems often use `/etc/httpd/conf/httpd.conf` or site-specific files in `/etc/httpd/conf.d/`. + +Access control rules can also be applied via `.htaccess` files. Most access control functionality is provided by the `mod_authz_core` and `mod_authz_host` modules. These modules are enabled by default in most Apache installations. @@ -44,18 +52,31 @@ Most access control functionality is provided by the `mod_authz_core` and `mod_a These directives are typically used to establish a default policy. For example, you might deny all access by default and then selectively allow specific clients. -Use the `Require` directive to allow or deny all requests. +Use the `Require` directive to define access control rules. -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require all granted ``` -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require all denied ``` These rules are often used as a baseline before applying more specific restrictions. +Restrict access to requests originating from the local system: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require local +``` + +You can also negate a condition with `Require not` to exclude specific clients while allowing broader access: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require all granted +Require not ip 192.168.1.50 +``` + ## Restricting access by IP address IP-based restrictions are the most common form of access control. They are fast, reliable, and do not depend on DNS resolution. @@ -64,19 +85,25 @@ Use `Require ip` to allow specific IP addresses or subnets. Allow a single IP: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.10 ``` Allow a subnet: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 ``` +Allow an IPv6 subnet: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require ip 2001:db8::/32 +``` + Allow multiple networks: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 Require ip 10.0.0.0/8 ``` @@ -87,7 +114,7 @@ Hostname-based rules can be useful in environments where clients are identified Use `Require host` to match client hostnames: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require host example.com ``` @@ -101,10 +128,10 @@ Combine rules using containers to express logical relationships between conditio The `RequireAll` container allows access only if all of the enclosed conditions are met. This is useful for enforcing multiple requirements at the same time. -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 - Require not ip 192.168.1.50 + Require host office.example.com ``` @@ -112,7 +139,7 @@ The `RequireAll` container allows access only if all of the enclosed conditions The `RequireAny` container allows access if any of the enclosed conditions are met. This is useful when multiple independent conditions should grant access. -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 Require ip 10.0.0.0/8 @@ -121,31 +148,43 @@ The `RequireAny` container allows access if any of the enclosed conditions are m ### RequireNone -The `RequireNone` container denies access if any of the enclosed conditions are met. This is useful for explicitly blocking specific clients or networks. +The `RequireNone` container excludes requests that match any of the enclosed conditions. Because `RequireNone` cannot grant access on its own, use it inside a broader rule such as `RequireAll`: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} - - Require ip 203.0.113.10 - +```file {title="Apache virtual host configuration file" lang="apache"} + + Require all granted + + Require ip 203.0.113.10 + + ``` +In most cases, `Require not` is a simpler alternative, but `RequireNone` is useful when grouping multiple exclusion rules. + ## Applying access control rules The following example demonstrates how to apply an access control rule to a specific directory and verify the result. -1. Edit your Apache virtual host configuration file: +1. Create a test directory and file: ```command + sudo mkdir -p /var/www/html/private + echo "private test" | sudo tee /var/www/html/private/index.html + ``` + +1. Edit your Apache virtual host configuration file: + + ```command {title="Debian-based Linux distributions"} sudo nano /etc/apache2/sites-available/000-default.conf ``` - {{< note title="RHEL-based systems" type="secondary">}} - On RHEL-based systems, edit `/etc/httpd/conf/httpd.conf` or a file in `/etc/httpd/conf.d/`. - {{< /note >}} + ```command {title="RHEL-based Linux distributions"} + sudo nano /etc/httpd/conf/httpd.conf + ``` Add a rule to restrict access to a directory: - ```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} + ```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 @@ -155,34 +194,50 @@ The following example demonstrates how to apply an access control rule to a spec 1. Test the Apache configuration: - ```command + ```command {title="Debian-based Linux distributions"} sudo apachectl configtest ``` + ```command {title="RHEL-based Linux distributions"} + sudo httpd -t + ``` + ```output Syntax OK ``` + {{< note type="primary" title="AH00558 warning" >}} + If you see an `AH00558` warning about the server's fully qualified domain name, Apache was unable to determine a global `ServerName`. This warning does not indicate a syntax error and does not prevent Apache from starting. + {{< /note >}} + 1. Restart Apache to apply changes: - ```command + ```command {title="Debian-based Linux distributions"} sudo systemctl restart apache2 ``` -1. From an allowed IP address, run: + ```command {title="RHEL-based Linux distributions"} + sudo systemctl restart httpd + ``` + +1. Verify access to the restricted directory from an allowed IP address: ```command - curl -I http://your-server-ip/private + curl -I http://your-server-ip/private/ ``` ```output HTTP/1.1 200 OK ``` -1. From a blocked IP address, run: + {{< note type="primary" title="Testing from an external client" >}} + If you are testing from another system, ensure HTTP traffic on port 80 is allowed by any local firewall applications or Akamai Cloud Firewall. Otherwise, the request may time out before reaching Apache. + {{< /note >}} + +1. Attempt to access the restricted directory from a blocked IP address: ```command - curl -I http://your-server-ip/private + curl -I http://your-server-ip/private/ ``` ```output @@ -214,14 +269,14 @@ Because the underlying authorization model changed significantly, older configur Example conversion: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} # Apache 2.2 Order deny,allow Deny from all Allow from 192.168.1.0/24 ``` -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} # Apache 2.4 Require ip 192.168.1.0/24 ``` @@ -234,7 +289,7 @@ The following examples demonstrate common real-world use cases for access contro Restrict an admin directory: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 @@ -242,7 +297,7 @@ Restrict an admin directory: Block a specific IP: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require all granted Require not ip 203.0.113.10 @@ -251,7 +306,7 @@ Block a specific IP: Allow multiple trusted networks: -```file {title="/etc/apache2/sites-available/000-default.conf" lang="apache"} +```file {title="Apache virtual host configuration file" lang="apache"} Require ip 192.168.1.0/24 Require ip 10.0.0.0/8 From 594f69c5dda12094078b2c9ea88d94ae0b70d689 Mon Sep 17 00:00:00 2001 From: Adam Overa Date: Tue, 2 Jun 2026 13:38:55 -0400 Subject: [PATCH 3/5] Second Article & Various Fixes --- .../RBAC_Apache.jpg | Bin 122765 -> 0 bytes .../index.md | 118 ------ .../apache/apache-access-control/index.md | 337 ++++++++++++++---- .../apache-http-basic-authentication/index.md | 132 +++++++ .../index.md | 314 ---------------- 5 files changed, 390 insertions(+), 511 deletions(-) delete mode 100644 docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/RBAC_Apache.jpg delete mode 100644 docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md create mode 100644 docs/guides/web-servers/apache/apache-http-basic-authentication/index.md delete mode 100644 docs/guides/web-servers/apache/configure-access-control-in-apache/index.md diff --git a/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/RBAC_Apache.jpg b/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/RBAC_Apache.jpg deleted file mode 100644 index 58eb0843269c69265984d6b304e7d0adc7f6919f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122765 zcma&N2UJtr);7F>P(+$iR0t431=P@c4ZTT6P^$D2AoSi9P!JG7P->7aO{9d5h&1Vh znoy+o(7V8wbMCqKz286H@r{3vkummObuM9Yq2Of&_X7w35WZLv0IueU;_W>>UB!8LTs*iftPz$r+*Sx@9$yPr9zJef9zasY z*VV!bZsQ5Dw6Sw=kz(6!XkmjmSWB@P3Tg0axXRnuJE-`(+vxdg>Rb84t;DR^WTYXI zzT&>luFf`|77$-&Cl?QKUn#b~2N%cR|5ePx2Kl>*CtQk6_ODqX&os0l@(6buh!D3h z)QV3)6e1$V%_k%#$}jjB!q3Ym%)=|j!zT#k6X)fF{ByD4XLGl<71vcz`e!cu zlN8%OO8NNsaQg^wBi!wH_{7A-czF4F`1zsu7EljA7f%acsEY^tzeiB8@vw4taP@RR zxIq3I(ZUkp-_{9kWf1j4CdVddcRS0UG5FX~@VId+SEG8mkBf!Rk7m?>L@cb8;{#}Ge z=wG-0F%A5~e~in<1#eOAc+zq`yJW z_@9dZzc*Lkfg5Cm-k`5U1UCS}8w5l*2(Eqtg8)ECNJK#JKOTmF5FjEZAq9~U;7jo} z|5p`=n23aw1|T3JBqGM&UL&R;AtxXv00@b0fbQ}U%j#I%BykH%pe4<&VB2XO;+LbF z+tsyn4}Z^2|M{E1J+dG2dR88Zm1uoW;ajhgs_s8!7=D@4CYY<}C34$ZXkOvL&l~u` z2na!V5r~OE1jGOlK=7}@Z{kO%wQ#E#;@=6&Ze^oOn3EGA(PgLKwRD%i7ykLju;6>E z`&Sr%f(Spt4Wb)>46stCPyMrDAc>Kj89T@b?q38E>9kmqATgYrg-q_H9y5`VloA`U zeA-}2*D?#xdpEeh>UAOQcBkLnJ_sREYiyk;ab? zr-QOtEkXp8>qVQ8#>ygIE5pjD<1qf8rFwGiUWzSY~jo73hgj@Nojg!7SmaX3jI zP7dxn-mbeaKc6_!6G&Ki1L`SgiQQIuL?`XHKSlS>5Y#=|cg|puBpLzow|}%Xjee67Dcp=q zVv&3p?#}3fA12+k@OQX-eKjU@FWt3(+8wz4==JvLAZ%Ql6|WALQ4lAAT|5;h2Uiht zNA|j}U98--E{AP0QfPoM9ZePbu?Q0UF*c)4FZ$ZAtx=&i)IA!(qn96lHN4Z*)9AXD zD0R*m&X8cVv=50$=c-TFrh4MLRX_||V&|dG10LTYh_A$t56yo`0fTbb zy?}{nxSo1HB;}%Ov;9e%NUob>M|p}QF4%d1Bmr|}XcLkR>>`P42gw7z!Wwg!b6Omc z?&&oFe5Zqi7&O&v9vv9N!fHdq6`>X6jU>)5pwNMRofme4fhjdTu_y1y#Xm-)UA9`a z%a|?-VeZV4A6SS96HLekAfY$jOjeCY6GQYK?)2Q#W~)1Q?Qw-QBJ1m@9!5aoW*s?o zBa=Ga`UufGNN|35ny3q`O4Q{J=w_6CCu7EnBgpmCS&_XGffD+~qntcRubS>rE+|&UX+LDHo5K%D~ zlGy{}_N3JW6#2dqi|!g48ZZqv(f9%o$na|*>NA<-e5*n?k94$}crDnO`f$VazT5YTxvW!7yMF&(6m*G$Ow>L~T=F_Dq{}X{(WI z&wIbsX6gO@9U_^-+@eNEvY-GW4A)B`$J~WU~z(Xx*hcRj;*w7=%9YWOzNBNHY!f)yY#akXjs&ueO$=y3)}2N(sL7A zT-retKUr}72egT8cJ4&K+{@UiWW~HGzR3biJ3nf-WyRc>M4diglQo)mNS+#0qddGl zUJat0+mhu9?I@&%DsmY?h`{l_U#|7&oM>wrESP447I!B?lg9<>0QNRP+9Vb+bQL7M z(G|v}mT0sk;VLVp>~b5Do)xQooiae=EsflCRgcS*HkIB1k~lIg%8~3Dz%F1y2r$ad z3rM}b>w=-pBqOHw8Bn0~^lV z3sZMPwnhHBTjW}HW>ZbaE8&X47kz(9n9%XL5a~w8*1UNA(--3Gt=VW!Z6dvdJ4iFr z`42xKhQc|_FX?nsk0FN?4(7yZ1V3H|55JZ~ZqJ%$)45H&maJvQ?zhVF{voBKAoa#% z{CNr@*gshgt8-&Hq=5~**o47~*xT?HCptG1`I$F6UqX(gqZ<1ar*M?9DsOgobhoyM7K!y|#7wjt2dt z;tqr@^f&KWfHv>#=;I`iprNZo0&(fD@DG!91V3XZUWhzSk`cAMxC6OcRZ4OP zz1&W)R0bNaCRobmB(tC3pMFmy+g#PNgS;D_G5v**NeyyOhhV8IOedA7yT$$pnZ~up zNl7f#D$B{0AR+ONhO5O(n+EgFL&6&wR`oqAc?3iS7SSONq!9;BbWDG2lPD2VffafdsfgwGBQY)ARFlnt-Jq{G!3^H6=X2G;%|g?I0-AqsZwzQ1)4{ENJm0 z_}MX%j(&EFlag#sqhXMonu3PKBxngBqMSg6>L20Jo@%2&%WmWYN$Q+XBQttbYiLRE zM3I2>AtZ_$tWDVawSeNCrViFLTVKAD{UZi>o8rXx!7wNn7jEAr>VwIN0} zn=mj?^aXh%k`S4$&4s99i*PLn`K>TWMki52@s3Idi-U=&&`nVHw3^E8jV!#`h2g5YMd}7YqNH)~iFKGt9^Zh>&qCr{r#4G26O7?RDA-kuf@>eC z%iBq74uq-8Zb|rfLyRQsenl7gIlAulzh+3Hn@gAqy@8FJ?xI`4#)p7_Dn`9JLOq$F z8?Y6PD7+_774<=?y@&=S#{F@q16)Z_{vZ!!FdwNSC*#(sVFh9G2y5^Gx$9|%eYTow z{=s$GB~_XSUyB==gR}Bg6Oc9@CAKJjphT8aMaD$ zf@ME-mV`?AW;@*>dkaq@(eDZQ3qohK8BjOOS;Vs0fPx!uV83r947A@6lLaLhor`kb zCM03ngMHUc>Wn5K47EG>3?T(k49UU*l0bwZgq&e^m^Sa67A*cS&mdy&l}NJRBy{BY=k$qpIWq)FH=tQF>9 z(oe?n$$3^EBtm&OnN}*@CYJ=p;EDr0{40A zfNnFs6-9nTOD|G3j)T$KlmRp}eD@ld3n`_IwS|PyEz8<+Q&Dfag=ndnCy_=rrdf~a zX|yxNP9A)wB3;xU)eiO8+BDRMaT!^Bi*|$v<_kU5CXhw>vr%*i$}+(OaN5j`LF-{p zTv=6NRCeKjJ90Xl;HM9r{*O;5y9zKBtUeLd4Cj3fp!87|2$cBx2pJU)z@x7jQLKj= z?hFCt`nX>pL=uZa^|_ibhV@={WeloLKs!iBM56$~s!l?04W( zm_+EQ4^mfjPG4V4PkID~E2sWMxVfoFiNv)75+?yq zza>s=qaRfNJYr+`Acnx_bIwIR$PJF@e-7Ivqd}3|HLSt%t9m3`7?FsbGktPJxK3Cn zb6fROBDHv%U{9dtlT+Kb*K`Y+(@}0`G(1pBSU%p+mp!I}UtNd6&D#~_>Iy38s(!w= z4;3|NJ|JJ-D)58lf=Q;UTj{uDGfCY+&>6lvND!fh2TaW2^_dPVdf{XTR)rL#n;;~< zOV?P7XeWHh3G>v`z^s% z*mtU}!rRoJ2q+8ONr<4WH-J0NM-T{YmODwl=nEtyz&io-K+eRT30dt+kguZ+? zTgk33TS`J&p{Ry-v8QyXARuWfr1TyoD3e|y03o(u3$(MTq%NM=O78>N9EZ5OFsv&! z6>xY$YRTy;RYgY4H+%Aqaqh`Q7l)99H{H!fZME3^oOS}L0e}3q5~NRxxj~y+eRQ6n z_t7wTkv1)o$THl+RbSKjT%Z#~`Z1%a=?hWcJdI|^JD6WBGHhadD%`_j8|HU{ygP9O zd9gk?4unNgONi6w!an&ye9s&AnV7@25BZP|?K7`P)QLAxA6iT(^UIkq zEmRnc>M7|&nEj(Ti3BxwY&%HQ(EBI3F+PSwO`5>xzl1H7?H?eG3?=1=A>;A=;d+P& z%@J}%@42swpseN1!r4*umyb>*J8&DJ#1 z85Y`2X8HFmzrdt|M?vJV-*;f&4IhsXBhR(HL$stA)-rR}n3!!Zafc})wl21?lhlsa z%Yky~yDGu$9!6p);nI9|Wj*JLyfubTnb4FgVBF=+72rJ5(%*WS?H9avseOC}yzN|( zLDa1@UiJs^FSFJ;`h4wv!ps|OJAPo)rB(fG2HSBLishQ)Ukri|)(@zxQ&x`<3K3-aw=#fq#JBzx2im_revhajbL&)Huqlyto2%t7QBT zR@GPdT|obAR9DDF$m;A-pYoqY)^)w(AZ?!0pcF8QvylTZNx1)-e@R}H*gr%>PbcjjB%w=#Eo8rF0< zbHFl9s%4v3x`y$L^I&hRi<}-njKOUZO70m}TLn1K@;uRBuToBLK>T^Rx_#6qm)6)N zGg20U+ghR;|6?X25zKn;3V4^ndO2AblK%2SEqHIH?ULs&5fkqepApzv1XRUpD)o}K zGGmRFYjHep1yWE+B^!-dxBX_TI}ZkS-A#>ETZV=1R9(oiQ%;d4D}mt=@?m$vIc1Hj ztBi!AI39@Qu1U@qZIOTVlzGx5P_-T)QGB84@VhEnma-Q07@oN!mZ=(G{?aeBXR5k# zWi{jO;N)h`<0sg}+4Wnw7(1<1s?n+hW=_6u zh?4p08-}M*bbDjqwz43xQU7N(zZ*^0-b;K)c>>NW6BAZikgr{=sj!PVpX%%HpQzn0 zW*%Z>E^8TOFw#KJGB8dBrP zx^nj~7+nEA2&>{N;MQL_>X!NMx^mpsrp)~AUtoDye;|=(Rg2^r_d-}2*I2#&%kn#`BsdS59ow`L+TY?KLMl~Pr4F%RYby5M&wWyRvNmcTFXkO` zdS}>t%jXLC*YqJ?|Ak`KRfM|xyPlrq1`Cfl_C~Vs;PsiGnRvGsJnNyio~3*k^xztg zV0X(KV_pwcR-Su(_Shan(y%s`>sXd$j#oPlD_di^aPv{hYsEJG&*Qz-$W#it?q(|s zq%#hxJ_yUXsj06xG;weRC{&3&`@V7BP~ra!?RwW!v_$9NF0INaRpCCeJrtfLS9IBEH@my#f|(Dkmc@>yZr1DGR>43-cKu@;>@(IYjA)wq;B^hP^q5*8k9GQdqkP+!To{+!o-HN*98cF`k}u|d1aQSd8eZJZ zed}jJ>1SG#c^%I3tl>i)21~cQv|Neq|5&kZ>H=q)w28i5IxS@ZrMh2k1r(?5YQ?+T zb_>N?c>A(L53)EEuYmVKk1oeUF5OuV)s2r0j>OG(KmOS|2~50HJt#jnJwELU8Rfv0 zZvNxO_?lGLcr@2iDKE2~y}a$JBKA7&1!_7xrq3o6PW34%s;%mk?-4=dIS9~7O3!E- zIv_m!yy#0yY~gRx@6b8XbGvmBqXcpije7gvZ7@=Q9*Yfozu}`5xcGGJ=%-NZZ!=kL z+-G$2av*b{={La(k3V);w8P;{`L&-~6O@MD zxJ}$@?2mmo<}9u(@@z1Op~~rTigCkx)vn^wtu8o|X~d#vLw$_q`6s;h@a{q%_6UgN zO0k@r-p0N*A(re=*Te3TQd|BIVF(y-Y2UKXuvp8x3?nMvvN>PQ#0%1+%7z!jT1hOT zBK|KyGX4>ypc?zwoTZ&TM!W$d|bqQkIQ zecYSXu?(7ZP9@6gnU705b2C^UUAKz!1uKe8 za&epn&RH?VNR?tMw9+!XvI^=`GzombSpjGhzrYojlkd6-%$`wuveGJESX&D(6 zZYu_#%{R^ZL=@L#RLT%rIZb2vLAm@oLzoWIbR)Oom@jusM>s0r)>95Yn59}=(v(oY zu~)znhmv1lv%=KuoaBl}$m;p6c--TuDU}r)lI^_vrw+gZKi(f%^4RTsdgmdshn*J0yhs_5BR6 za{JLR_TiY}%|~xO?{%XD0f7$ic}czFLjGaVD*iRsPaxC|YEz7TnThtKe735J3I zH}~$mz}TgTp=u=GREtBrP@BKafKbi59(YB*n%9#anJeJFzwt%c`JY9Z^^_Ex^QKcs zht)o6Zcpo!Yq(|0aP}{^tY40=_{YA4F6$2l`dm__CQIfTOPGN z-zN<}bgb7>^_TSsac0J$1UBd1kt#dfW^r)%dFz(Gz_(XNP?NM+QTYPY7TSL750mdf z%;%pbng17lxc`lx;-Q`xm3s|?`9WBA;{K}SOlJ}qqEx_dPVK1NDImjFT}#IKW2{5x z#Ii+4Lo~*HIz;v$=5GXT#1yv*O*iUwv3qLR^M92Ny*=exc32S9{@Io}-LyVA_et+= zJnCiIMtz`>3o5AK=ZY$G?!cS!Ah8&uc~T+XQieWgi9+4;BD7z5Qll03b&mJiVVNp7 z7Vfst6m}m3zi}=*6v|9-KUOC0PRtn67WH$heEVdU_UZ0}+Fx`wg~IVgp#5o66+9Z^E3Z*6-!+Ffl$jN-lz}TTChimJ{u@F|L`; zlmm!V<)^-FnYSzspebTgo!O=wzr?nAdYXrB$`Sj7EzxJ6Hv}*b{6)r30;4V!JyXt2 zuK;{B87Vq14!HF%!kozb<&63-HkzSk@E03J8yz)-1zJQjHRjowPMx&%aKK|_p5WOM z$H+m$7LRu7k27}S>AIzaC~&(gJFnbS>1V5F?g-TqJQoe*Kl<{WtaBL_CmPr#zM|$2 z%~@w8&buu2@L`_Df;u=&nHa}p7>EYIk&RXN9Tum0ja9sPz1J}b!k@;BqKcZXk*b+v zuB+Ol{@9JUqO9ekxv5Uq6712?JPC?`3;0`7{-TvY08?nCf25WkVY z)4-5_b`3EDFmbQV%Yq^^`3IfqOKP)|aLeOjrUu_OChvORCv`s04;WCxDUY33ooW(q zLdz|StX|VELFUKxEO1}2?a4gdeN)cP(Y||dg^Nd{C6hr?t5?9E@ewF`DPX=bPDI1! zvF9>{GeCLoM(>I!_0Psi>(#Q-j52D2GhcDrqE%`w5zV^bG(Ud?mMONuHjq1ZfUp$) z(#qoJoKdM7ZmXP``O(oY2k|HCa|+tY3Ca{?qL#O0+qtC*?lHr2n#gLKYvPUzarY{% zL&cJL!&cnWLwr{VZ-)ru4PG*>RP^acD>mQCc;`sO{FHU=3i!}{?9kTo<8*s@;3z1j z?by&Iq;r1He%g6eqazE>osC9!2T;J8)$hOrBHyaU_5m^n_S6o>w^2qrm0E7t{EAZ1 zbMX6DwkR;lZLLMFUQc&zT0p0+vBl}Q=Id0~MAr3Z%#SS&>^-#v=`jWo#|AM^T)o}A z&x|VmiX9%Lgbvw30%*{5}Jn6djkeVS>#%C9OjlMl?& zMyC~}GYT~Xg?Ejlf2X+*?k#sS0mYczi@iD?$v`!!dd2=E+Jxu|7}59T(6r4}I%-P2{fjJ-p=9}DH}-JP zze-64efcch^3sy)J5Glrl-fV~EM*9B1u)uQ0S8&<`o)QLmy69&Ru_fmm)s%i<;53v z=peXHu7mq`tf*B)FMJ+8{hS@1@n+tzhJwD@E4g{a%iqkBWk9vbVf^f65!;|wm*u+| zVR>hd>rY(Z^A_)_=kxONN~G59u|2N(os;<6+nczRL$zU9wj;Z)J*#Xb7|LLGD0xv!OOZr zzKKqfwtMWBg1H`j7S(PR_}=lB>_ph(q>IlDUW=zr3GHk7hh|R(6!oqEF?*(vZ6>XQ z&1W`ec2h@q*5uxDs@#6~pv6xpIihd|2Ft{ZIefmS@6pMWj)@zrqmQ+{doZ5yi2oEH zIwn|kLfVX3FXV$i3|^Fi5wq4r7sw`jUgEm*rA5)X5o>ezG8!^cwq0&pSMMWQK#+d^F~h3v)0 ztZn)4!J*VTjiF&e)g@>JmBQsX{^b$xi0%?NA9a4WxPjfo>34rTzBo>d5&M*;)R>`; ziz8*z1D`UX%hI83ZlTw=$1%MV^L1|`Vv`s~f4oZQ?W>w$$X@{K`ie_D8S8#Nnipa( z0KcW}pyf>5J2pV8$KN6ITjrPh#N@y=`(yD=eXY1S%fS^Ird`o@z@7IfaKXq0>*sd# z^dqYmXG$Bsez@AX(z zKZWIYk{{E@Gh(q6%k1~15~)9Mpz6Lg)>hObpnbXJ;kLLy7pPAaccW%S@iLEUNw0cI zh~0^EMo>xrZ|QxoD?d9b0p}M|9cz@Mrn{9$=<)s`($$&B>5>U$WrYsuaN(-s!! z0*IIPf50}Y9frns4sm;T$jrpI{KlCfH+(Rx%8ve} zVQ`nNXX6THGqxjLW2teSP>QE9Mr@{i?aNi4;#?@N02wK{e<7(j;Hb(yB;;M<+4efc zVE2twk{YGtTf!tGq~!Xx2{oTJ&+l~#^Po=`6N^1H5r5>yF9Zzpweo}docR8QpLHp3 z+<)*>^E86| zk6pJHPs`t|{%FM)v{cahDs@k#lR>H)BbF9Lobx_IAg45n$JDZ)d0jE0?9=$IqvS1$ zXfyT5uP+EbWcM?tj~bsqOD$Sw7NQq37*9%h%}NE^s_85J?Xs@`hV>2D(Z2EI*t)BG zuC+T6W^Z&U^Xw_AqJ8|mWKK-ejH9=K4}tkeXqYJ1?^l!-}x+_6gp$9o7$Nc z7cx+;E%U?p3iyZ^#)nR4Ws&1k7E`^k;M$RcjacdBXNpZd6z+R+V+~2m1QVs+hi^t> zk3T_aY3C=T$o9&_D+baHR7&p$(obC43Y^BdcX}Lr+d7Ol#CcsdH?FHoCpTsl+!b() zU0Q@2vF!9)^e^+i?ETGuU5n1Zxihi2Hm#i_CoRmu?CarWT2YO0aUJ)()%Uu}TKjC^ zk4BeRR0YDA_yIT?!EfN(Ushh|k6!B=OLKEMFVf1ozQ89w^TZFM%=IJ9pu~Cm=BjZ( zw5657hgFZ#viiD#_Ypf7wUbAuHoY#ag)7k5f#Jce(Re+aSM&cO*^fEAWaFQ{TQg*G zmS7Lvy->8ixd$GuQaocUEod*{9xw0n+K)TjPB=zRm<+8umBpscD5-}6wdbeBlo>FXnu0HWB7ShMIT(n z^^TLV0d~ylWmbH^dycmoR9WTz4ft$LRDit~`y(7AfQfV(N3iS>41QvPd|6X$RLetK z7Q5NdXi(D8xPV!{Olw7aIrL5eA;ksmCiIE1-j7QnnrW|2^(?6~R#W`;Q@!!fwtkwZ zK#1~1Wv{T?t#1N}nJRFC{C>-aRa|C8uYLBdS4*(n`;`~)L(1b8Ut1*OjAM)&h1pY? z2NAjG=0<}nU~6r0{_>c+e*Ns$=d+kAfbXC=tK?&2%JkRM1d3M)O+(EeCVSg7ugl*T zcjn!k>mFCBjPOr!CXO<7^d1bIm|4~wi;c9$9EWgzXbJbq6*a~vy7$NJ56kRi#$3+9 zFC&WOIYynDVnd@j;zVB>1l6hV$T;7x63j0 z8(}u^3M;M`3F^VkC?|g(SPPtSM9ZxH7@4w+Udt)^HsF+c=xbj&rdc=cuQ{%ssOstL zgRa{=v;|86r@`j*z$w~JwGe!?nuwlI>?q-vE9=aZKz%NBs*3H;tH z(~_$dS#~z~r$M&AHCDm!ncs_9Bj+24ThBI%$;#{H4I^RH(5gfw&CVZacIqu5$N3B> zykD1MS)e6KWh~n7`flC0OG+T=Q%f z@9|Li>FMS(OXH^I@}A~8A&b(mT{EjIa1uKHj`4<5h0;H?rFVbK3_nWt^vO)P0wM&>kFO&RphkD3 zi;f%8Lbk@QfZHe19_!d{twP4lrzge%yhIi4o_w8aQKVk1IOCaEwsfUO56U9vG!GPY zgYQ56=8w-5u&jlgT>b@5yq@7Yly&dMCer}P6Gs6tx#drJ0=$;YNb+2FSA>Nv7dM%Mr6Nt z!|&;kO=0F|!%95@qGvLi1Q!>_@ovb}Ty4#8XT4r36WO7A{oEJF#I&39;DxUP&V3mp zn8ExD`=vq}k>Z~`#zd7rT6N+YJ%+PiVEQ=zZs`0`X`EMy`mzT)f1hQ1wCCMfRG(pR z<5?K}$j~?AU<0W>1dh=a6jtqN<*aCS{k-%ci-Xl zVXspa6p9^fcU)8+gEOVg`Txi`w}jw%`^%=7i9e30QpLh?O zC}?&=91@y7*2EZ6R#l0h^w&H2HUrDL8IMLR$v2wqltT{KVdq&I1I537X%%&=bPsez zmLg($nqo2ucST2(J)!35dvpSa{N53di(y0IJWhCw~u8r>WCVtq>0ol9xk60nkAqfcg^aa2Xc! zA!R))VAcByz?RobQ>RG5K6H+-ARW5Q`(=_1^{9ua7}jN`P)&_^M4SvC;}7k7E;ET2 z8qb1{TbwT!&zm){=L(W2Bs=>>J?pYc^-+s)K*&W))8{L|j!o;iS>hEC`B#sMhBNk= z;jP)f!Wvc12DQNkGjv#E0d0Y9(rOaiSTmgzxOBM#wi$oHljLQYo`yZTD%YtQX#Y5xhAI2Tqjq9{d4pV zrt@AbP%HRj*umss%~xyzLn*XRymDIkQg@K=k!tW*>Zx|e@1yFG?g3wi{JEbz zre$K|MGMV+jGoHEtmi`Sy@HHdHcPGml_rt&>~d^y(XqfR#{80DIArz;IOZ`kmic1L z+_@Sb@T&FIi?Wy~p2|&`6Q+>8Cztjns>^3z_M$pc+Ac3fLS}67gDg!Ja0ZUKxSy-K znQNY8WZ{#j^;f_{{JAzgrktZ^Y57Ro=cpv}@wnpLm=X0A;D$eG*KCh8&kq`KZaIF0 zkLrQu&(v12Ow(M1kZXQkV)$=T;1zCJI**^VtVyK^v!bYnD~D&svz|)5 zw#%|y5%2h|G*-{HaQDqrI+AhULpR;P_w%&QKw6Jf(Hb^|D{ujw$~!6)BPBk)6{p_) z>AJNylz91rV7nL8<>RNoLoSgj!@kig;3BB$3h2n$+GD-~@~dV1STy7R=;IyMj{HRy z!d_*}^1(+UqR>k}tr=x}45gP@{{ueHwemEDf9_a+n);zw^^U&gU=4o|EzbT$EI&RS z$a&J7v_5cR{2Z@q-4!6W^s8W$I=AOQt8V`aKzd^onoLD@Ip-2S|I!1}1yQ~G>^*7Z zdmh}88)lg-F4CO^BMXaXO4G@kVX-w7PLy=96`{9DsZ4H(o7SRR_o+*~ne|9bdfdtw zy0DS)b7%#!SJon10YU0`j|Zojor zIyX6Ez1Ar`L&0+tGTwIuC`o917|l}s*fHp_XH)X_(ohul99NuIz3=D557&@PRW8L4 zp#9tHlbrKv%4yyugzkSPcuzgKRV89(!BPCpdM5jqkyTEEfisoZYouE77YmXuNEP}O8( zt~!u;)A);dQq$Rh;z53Oua^|}%)GK;s*9$o8=l_u8=e~obvy1Q`?RX>N3kBV51t72 zT&vE^O4zPJ5g!}qzFXmYxgjkwr#+2as44cKT6sQf(%0XUFJ9aoeqhVaS}3lrbp>=? z0hMY^BCHD4HGk)F&eWEUO2W45J(z&YgyDC$iM>-SQkUCSIkXrg%{|L{Vpy?JYtJ1J zaH=l>j8VlRQUW}(>yM-1BK@YM`18s;AtISS{QTU`8mD`(2!@Tw{G-u>0u7-{7onjW z9Wy0^r~H?9;g_F^eK^q4E3Bmdn2Fk<`5&H=kXrmnT(5OCQ^p+ONI`$-d zquJ8tpe0AAMmp>p+o4RnhY&+LpysT7NK1<`h!xZ3u`3r*$qVjRQTp*iL zI(utanQo~6iaBQ}h#HqlcUBUcTmLG(A~nSSRdTd<%O`srqGW9m=RIYl>%2VN1mAcR ztj-nZ75gVx)X3jFMXN-`d?!J!(YNk-*(G-ogOoMfzAWN#G2uf=<;9J87>?I};l zJ=c7iW^VY(;ij;e?UMdzir#9u0>*gg75MUyXa8BCPt;;G=;<3NnHH_hws&^yprlWDU@vG-C&KRx=gzIGWdw_5*st>7YD>tL|d z8Nbs)og!S(%eMqFH!on%A6D7-aBHtSs4L zRLd&UA1k6cfHu&mc|Uqgc$iCOdMAYA1Bb|H$A_hI_em^#WDrMd_8P6><-w9Z#$83J zIji@zAdR5>?pe75od>hVD`@c;luevQa9N~>8^e0b}JOw9g0 zL8}uhv+HsvP(vT8y_DVI=UaODXC6jxCA7by8mWL9!-~9-eDF8w*A}(q;xq7HX5;PZ z`>`gSWld!03_IxYlazKh8gB7`DYNmgSay$Q$X4sm@o-FMU5006R+a@LT4rCLFe47R>D6J;&O9 z`ks;R4_`U)K=bvd)9sCUe>{^z^w;_`#y&C^J~N&n1&kj}jEg6=CCl#G{C}hiB17j^ zB_HR<%-6oY#Y9@$R8GXGv=S&go2%gqO%M1qt}ZCB$*$q>2i&0kEvUiX&DedR_nZFA zXYqp1R%d0UXRcR((1xDJ?~S8ogY(oY;3xqhaOM=!d<9$q;yn)YO+9D$KfiY4PnjV% zgiApmP{j%S`=+aNxDv}ZUw)#rluOM?P1eFX|HxcqDlTNLCXe-;4;}wu_8A?x0>B&Q zi}-&SK4~v_xe;aVb5RsHT7XenJxzaTsIfnMW;|?5;vbSH_=0psW{aQOWnm*Fly!D@T!vx1q;-t_MS4M_Gs-_KoCWZ`gk8A;#J=4Tg8az_XS$&uU)VR&T6}OVU;2$*M)V3 z=W?iwvxGTluYeMup^83faV*u3w~Q*i(te5WWamXt$Q2M~bp-@RoxXou)1o&}8-m!z ze;f94>pMGf^PGCw8L3lO2>yExkD%eE8F%!wuXt1WS@U+^^5xKXCJlgf2gTYKE1bTR z<-TOd6{Yp6W88fnCFFMKgOInnaqt1FWFC@uLGei0>oBN)*7>K=}$k02eD5cdZ;R$Ytx zveP_27R%)8t)IKmZ-y`uA0ALx3&`LWBdXRg5RnB#M!wzp!>=;;)qON4-og+OZw#L! zITkcX_3cSMdpPgEp2|^U8`n~Y z@LztMT2KHM+0h}}-JB|%xZq~J0-D#-TJZ13F2T?4?0((X%Y&dRfHbhKrlvk@(BxM3qjb;}2Z>I!p{2+m!Fzm)DYK#Yz_EY&hs^6<^GK$}fB~BtOC**PPW< zgbk^aIk|Mjv{bQ3k+Pm2$n+-oZUyHbyI#)D{5D9gIEB5dr=siGV0jC82EQVa*Q#bc zC*jt_>%5(h-}SpRubxQTZTPUBhLy)={jK$G5Y2BFyw(95#N9#c%UT-s*R|F!LJUw% zwaH{#^0|ojOuZ&+VjixdKHSMBl`64d=H?lGjHS)&nO07fbP{^jA+Ms(DQ=&eBPmLi zJv7e*Mnv!qAkI#_H{+FJMMb_4d-wZ=^G1Lfay>0TN?KMpE4O;L#x}J^H5c-0IinOD zYriSMa5T&M#BJ9dHTn5ySWMn5Jf9(P%M54zsf|d1*?cgAG*$h=+u#BQg}!0ZV7<#c zmDBF%vi*zMWilq?awYy;*^B-EkoDGKZMDt2C{A0vXwgzZN^y5u+@ZL;gb*aS7btE8 zin|7Y=0HJDzOifC4{^Fu6I_ z22t(16q#|E5zO|_tbq8?N|)uWpYA;QmqV>{JmH>Z3$9BBDy@8RI<4vRU-yh;vn7@~ zzA`Q@_T$m+Dy_O_7MCx|Y6A6z5Pl zqpD@jw8N{aYr=glQH?RC?=in?bM>eRv!!LA$U+sH-zvi}k@!hDD8)hO89XnihJ~Xao2;0j+a<4zD-j*V{;DYuJ{t>qJ;%#(3 z72Z4lplq%q+ zJomesp1SC)f9^GRkvaYs2&6Z`uTI7 z8ci-wS!33wXs=To{sqvgxsJuq&9L;RGg(Xt{LFgp44e7CZ}SOPm8qJ75kG`yr`@+JXAU zVm0tP3CY=)D}n;L|33oeL?Yn0nJjx-|JE4YfnB~q-PYmH)#qv=6H&bT<^U6xOmo2*;O#&l!coPmu) zKmZYYdFlcJ0h>OM#X(_rMhh(9(xJbM|4T<`{j9XG_r1cOt9HcDSy_#nty)j^6-9N zXC9I7;~Jb{7hUkrAh{|8?taJNWWg@5iF$sf@zpo$+(>Q&VtoEV3v*? znx*K-JE3yWc*-#(GUq|mM=>_xs)C1JpEOi>7B+1egUr>3V=l{QH2y)EtO`4bD{>RH z^J+F}9C}V8-d8Q@x}}*viYr2X2SL;Z6l;8SFNF#nX&8RlS=+B`IBrTMI_qEeGHS5l zB&+V&m=!o7-g>=u{0~ZfY@Nfi$p+cL)wX_DeH{N+;UvgkT9>EdhE_`3x!J|D!JPUy zK9h64^U$10kCV1TWlGs6n*;4Co>d!w!5guN8^K$Pr(q<|m5zMIPab2QM!3x2PtOOa zzACkP6Tje;01y7O&ZoqFI@tu?ih-Jok154QzH@|6_}jFsbP5OFmlwWIjV%FCwx+!> z1vldm{E{bYei&@IRlHSSZe5kzt9?lDi%3Jc%*8TUHvFnFUC0Mlr%+V~JL*ANY_`=n zVjO!_d9+je9~AbVUYRc2dLY3O{9T9=m)MWJck>X)+y~IdnZlj$oKud3Wnq)Cbu!_$ zLy$;HtVa#tJ?$OG3f|4p%Igo!)A}=*>i1^bF6`a~*gCOzE3c`XfJ;47h$hI9B z=^_iVdH2H8SU)xPm+0rztNROn93a zhi`jE`u%^&4UHzKFw}l)jla_-R#~ri8kNqsf-TR1V$B6R!Hz|pc}P>;OL>nZeYMgy zh%B4Hwvj1$s<++&`7@5oy4bI)Qg}`S(tLe{C|7O0tEFSLlRMHwe)|{&VyM7^(ioA{ zo87PnBn@y_jJ>Ee_GOijk7iR~sC;pKwm`v~mhp)0T=#^QU)f0RM0};SXk5l+oRarx zOHG?hHow5+8$sPEn4tttk>Ec3?ha;^v+ws3$xL7fglc?GF0?QzJ4+NbL*s%IKh~& zX@e$eHn(wl*k@^wm33*1w`Yk&`Ej=y6@jFt&nB_(rG}sRaTo2M0$^?pKhS={dKc1a z^YW8KRDelI=0{V;=rvj}kRMM1#_^tPmx!@S1M z2Ix@lF-5Cmbw>SV%#4l^d*K98ISt^&k&7{Og?pEV_CWq+I(G7X3(DBAz&%9iR^jY?;O@?bQ~Fs(u7P=gR{J_SZ`R zO`Hf|cGIOwM=4O7@;D3lahqr<${>6L^PHnrc5og{5MF;5MwG;9oM9hNRQUUtf)x-Y z1?&#l^Z!2U#%jHE8=J$UZz-F-59K|>#)>>g^O9%dp@#%Xq}FfBe;WXAtL1u# zPDS>?GBqtCU|2KHwpcCmPIsb8!AKB?{N1t7%_sQ{MIgD?>(Ueo)oR|-F z#uz~f;>8AGg)72&K*}uSb0Nr)6B+TmTcc%l!soR}2eV9wB3b*Qe7dDRN(Mu9-cft2 zaST6f_G3f_N+sX=Y}wZiT1Ng5%$2)&74)Us%Y0d-tIU(1U-(m>TcI-;fi*Hy$*5*Y z`JR``C)UnyCHf~v`ctC-SR;TVf3berA~pusztTqGu>1h%*zN~oZ$E$9itqGboZW@= zjTj{v4*6jKA>=PFw-opN3l8zDp=x0hO;`Z?f?Xd}+w`=WF~$uiSW_)*w!(H3QS%#X~ToQkQPiL{zzt%>X8Xb93w+bZb%JrsOJBu4123GPPCfHX6 zsdmAB#@@b$4U1Z%DU&j-&b~b#pE~9$eNCUkPPp!PMiMj6AIMb%#VkJimqN!p=yNyY z_*E{AJ=5I`%mchnK554wsK>-G;z-L|VpW>#>-|gU428t?=IveER@ktO!sf479)JLzyN%$iF0XXm6)N4~M=h7{ z{b`srzBNQ+BYlk>mBon#6+ltc$?J4!#1OO~ToNPh!fX51OIJ=@&rXLG?$x@;mzrNE z`b+& ziMX(D`aYCBua!l*c}mE*N2&Sk1Uj`u2zrGG|=z8xRg&2`)bYnATe zJOAru9irbSI9Z&9d&l3VZ07_8Z>rZ$c>+!*|3TrBK54j5_v?8G@QDUY&8>7qc^fjj zok&rQJOblZx^6}^+}01SyAB?@_=F#%;|^fhcLs6r{tOc`zmZ>p9rap)ZB7&BOU^q> zqNI-Oibiq&pky)LQzXak9z0}qE*z2wJr zdQ4oj=@&Z&g(0$A3Jnh2!){y}tIT*^XvOMi`icOnb$V0Kz65sNdNDAvfas=7RsPYp zR?*F-Bt;qE#uBwE?a#Ej`&uzg-(B66!!k;%Z)GFhWRcyYNX#fq55T4Po!!?>!1r74 z?GnOC=@G~-npHo7zdtWT)896&pPghc>A+_8j&dDmK@v9Yj!iaQE=ki0dVRcGxSB|K zw>psDS}W+k%MjI=H)A+MZWQ^CO-T`q&>aJx6KPjpa$P zg&cF>8s{3)urx9uJu%`?uGF?<@1o?a=Zj>%cKrM74?@XZ_~<^NZQMEcPM$3vgmeV) z6bd{X0uxNWUWPp~<_9$EBkSgNlS5ak9kBnYMF^ODb0ybZcI&M3!AcZKu3H)Tz>O8F z!_)jzhQ)(czt5c4`G(3j(JM8Mv~o}E_dh6qA#`P8Nq+iw$P59H^2F6|w6LOQI0W>- z$!!Urmdj?6mX@KGVG+pk5@G#M^8_?)zw`NtMGZYr?LMZNd=C-=n{jqJ0%h6o|u9^j^x#fI?gPJr`;XHn0 zg*7txq)sj$p6#uG#}=1O!fy2=Ct>nez@jVsg1yCxOZZ*NZ$+9>ju`^(guF3~4P%|x zWK}qQpo-Rvb`5U;^)kQ0o_}Rax-cJrUnwv^J|Z4RIGI z+*`=}7IKfXfTXx&2zyqJ^sg}oCY|KN_1)4^rnah;%|-IgAsWV#0dugG8SL~ojy9a_ zmhihD*dEb38q@$?-{Vc#stxRZ1#F^lH!{^(TtDSKeM~jXg(pAWbPK*sWS%@l^?IudhvCN-TLB$=K+{jLIoeg z1q%h!kFG29vvLj_*C|X0c(d9gK5r1}f1zoAoA558(&CHYBP$9scUhmgpg`00_eqf~ zNtJ^a8K;Ikiz|d;OP_AzfElCWS`G;Iaq8@ysAz*@pMbixe^5-27Wog#$;_%J&3`JX z_1;AXQcpyVkP*@-$Iiz)UCBbu^E)$$g^~URJFY{xX`ePh!HDZPEN zNjYisZJ(XIwJ$rB;V{|g`pRX{1|eKjepdfR(@xxXw#vwbe>SE#FxqjuCMd?%fTvKK zCp1~9vHcL>nj_I_bK)oWq++d&$0p`J&n~22lZ^)#Egx|6V}WGYG;JLWRo|O@RmC7D z?0mUpKRGC9i7Yho{yAb5ARUizFXr{EZ1sR3tnII1R)xeIvk3zj_AaW}ytyI2R&DyC zEh@m_d~JnGhm^d>Db7!L+w36&V#dxA8+{PMq{hTjZ|QPQG4`yEkIvJ63iWlJw3=t~ z&NgqwtsP|RQs^eSU0u!wx_e;$(Nn~TF!0rTh@((cKCcn&aE?!NOl)8kecnW<_9&Ic zclh~!*X8#Ng)2M;C70+5QRLs8Lx)Xa};yj%6$U)CzqvA_JbV4zFdWn>y^gTK)s}y^cj$uE<_kW*gz}*GNs@QS0OVn;Qxz&Q+(6ub!>< z{+)hLT6PT>3YTIgeS7m(y&2I>YVbR6RXE1fMEQmqeS5fJRi{Zd7IPvEu++v$I z>qHC_XYq@sh2mydR#fFumv!X^^{D$|<5Fvp6LokuszyOL7MRuz)A~LmebwA}OVjL{ zN3GV(mwx^>1BF6$`i59Ssvma`>yiQ|cKkhY3G6PG*E5`B9gSj-nQ8d8hwjVgvybruW>U8C7|Fr-}?O|8}V@m#VErzC4Bu}#nF ztc1u9x!51OTkCHmrmiz z`}7b6P1rt4OVg6RptFawW2x=dUjy9da&I>b8QCk$f^36g`cE>^shoDx z1oMv>DBdBMx_soo=6-QMQyGwAp6>pD5Jcm+@x=L=c*dYr2JvdOZA~)@kR>Ck7(>l zY@%A$*t(UMt)fk#Zs>Z}KY99wT=ln`tS%72#%4<0C%2jh?j@iZk%85E${@JMvIG+zVNW8u|7x#&pI8BMtx;lYA z2pAs9!)L6}H)1J}V^X4uiKeWK8g?^q9M1;W*zo37oXf6~JK2x_L{bc-*w{g}`)Gh! zVvN+w?$>IpN1mJUg@Sq)B_5Zp3$k<=N$!qJV<2KHDWs zxZBjsKzomVuhjXq;;uvC0Z7sCfK^h%e!8Z~rBiN;z-cEsowJ#)b`ov1=-oT|;gMtz zAcvPsKe+?ohB?FkI>I!*wqG$*mivX%Qv2uP8g_vpPN9Q)>FoM@pbO-;$pIF&p%i9c z0pi$bWPB}_OOGlYpl_-pe0>wKfxqnNtmK>%6?r+Yp$cu?Zi11l`n7Y(4Muh2Wv^vy z5CHP1$52i%9rd%crVaJ2GIi#k=~7RND})72 zH^Pwp#SL+Ou~P%Vyv_#!kW(2;|28}Lch%!eD*=CdvpzEl$L-6kIf3UAu!)u^AWR=x zGSd}=4iT<4%z&7edcL+x96T1XO8Oq%YV;YVW(DX za79?+x$IBiEZ|YT9P9RmSHS8BXO=7@EhDm3w%9A4(|eEgcw==O9vY@@r0N440~l>? zn%n-$=UARH4*U!MuBhn;yoCO0 zY3&lEvou%^3b5lKMw*-6>gL7c$HJ@X>%fp}u)b?Ad#oNRV1^NeOy|`A1=~PWJ9(pM z(|vkcTWC#@c+}5*B303iwC#>@kqMs|`45}&EDnZkiuOe5sLf30_F1SN`TI|@q|ep- ziI{b?w?>0EbKlTqaDlNZ4CNy{O7n6c`xAvV1C?|>0xeP9{YCF@C(2XoS$qXPBQIHF zb?@GNctgMq>yDCTqnbw!#3Y+DVjVwEF6^_3Zr0SHtP9Z-8Hf|^Olm6>G}3^tb-X{c zab4{aKWo{hG};zP7?#{V-!_BCELY+?KPdkJ84I3W$>M`5vp1O?XGK0Xc$d#-q0ShI z47ws@CuUh~EE}ip$ZSOE9;WX5y$u1zpkJX6&nc5@xB}hE01;og7{tHew>w;0#+-${Q`)M$E+y~rImE3 zC);UyMNrop81V|a=c-PqZ`*}#DxQdoB`!d2j|$raK{!rc@>}o2m}ruY^mH5n*COYR zHS;NNoWzO_S#8SP<`2jniu_-^weor&Z8`Ta1k*+^lg7{wj3t9rY8P8IO0QJXT0u`G zuN%g8S{j`TEUjJFW&YL-$<^Ct_+G@qdMa#J>s;CLD9FjXdK{bxn%V%Mmn&~Ef9S-4 zp^Z3_4RJoPQxmdHYF9eB6?t63I+5#vrvr|9hMxH9Bb%Dhd^uR!E67&`;nn+DQOUAn zi-rcX`e{=S9w+T;pYz?H(Jall&6T6N=AAbzF0GlFf?BDU!G_RFWn{Z9I~ z7HhI^C^ppoY$f9NanFG$zuMQ%(_A&N(uk?*`SHa(#?3Kp)E&>893)rg1u*LT*E_x( zvKJ4qn*P^2@&exf_ggKmLvo1Bv@>n_1bs|*1)(9@*0Aj-3v^m$3ij>f)lDceq;uvS z>hO8Q+flkaww2I~QFZ(vswYZcZ7{cxcPjNN%D2dx=8Wv{$)e%MuJZ(S^EUX$wo^~`26bps1c z3m_{nzaSlJfyXSy^dff_h+}<5OsSY=Fvh40KNcdWd}4K->#j%v=oDa+^G*Z~_!v)a zitD~|)Yn;p2|BwwJMP;)8Gfu0o{9ZI6d@j~pB%6M|Jhmva%-Yja}qtGEMYyUk159ACyo*KBbvqUyqG@LxKy>Z@WR!$C4 znr*-%dlr@Ho5`kzos?bYR1DztDN5<{q!fRyQ*@IovdwOA^*hAy{#7+yEpfY*Rpn|K zHyEEA>7PVa+4!Hk=yRYiaGGp4~5R(I7AH899a|_OiGk z^-Dm6L^rb2mSeaF_qd=SnrE|Lz+Ruc2avXYw6SUtDW!B4e%(Z>-h419 zFSQKWCQBF)_-X4*bLbw=sT;;9nm?Zw$1iocRc(I{X1-jp(~&L~NCVm6xdt)jRQ;X9 z7EW4R=MXLL;bU&1fG;gNY{o+!6go_;f@cE90;3EFY=|2orWqd^7K()=^UmoUWF{N< zx){0HbWAArx{jFCN8Q&stwdhWj=EN>w2l;C;=O_|X}9uC3++I8yugDvG*ncXAosaS z`vnAGjz&2a{;RML(wFbuG^jBMcpO?JGz-07~86gdWF4ndp^=vT(oA(gXtvH%Pp}m!5o1TP3%IDWRzqQ8f zYXrhxk+n1v%4pI%2vlW3#To%q(lj|5Vco*Ea|cAf|F`KiO%g3Mus7xGyYoH${g3Uf zuYJ3J`5)U8MB3g`XZ74QJDtL+^2G8May$%AcH`BSLPJCHd~vy(=czus@$^DL74;Y} zjC*iVU1bNIu|8S4skqjU zOM|vrHC*SLBHPX>tjvNu)TjC>kMyWQ&1_BZilK$Vx*n;U@x&tLqSbO&5GZ$Y-9IQJ zMge8I|0bj+|KBRIGZGj$ z(gm>ntPwblG}bIcY;4Csa~G1@ zhywHtXHL#bHx4%+_e$yvuldW?2hf$bYx`Mf)`3{pr1xq$76jVV<=LJ|X3|fe{MJhX zH=(vBhm?b7x#PF?6eaSE%HBP@Y=VxgX6SalEpzy?pgz?*_Af|Zl|?nkgwN(239F`p z;IZ0a0$~EE2|WxQ+z|f8RUmmp6QlB>iC*j1H3%;jKtC`;E1A5{hRQ7MhuD{4y3uRi zf`sUI ztYW^hX~Ahz4F&0$4UF#^oXtBx#03E^&3)cVz%x_PH-~K5`?ps*Kyq<+&}0)w*GPhd zZ#8!+9c$J5!w^LC03TGQxJQ)p%1tGGZ{U7^K8tncZ0{QOaih(z9PZYQ?5F0>|&Ul=NL`YapDmpb#73Rdoc9qx6CJB%-Hl=uA@kZ4|$!w|OEjd7OYlcIhm zH7B4I-vS{!V#!LxghPdd1^E9P=8(mx6AimY{Q-R-WlUleg6()G8M~#ZXsV?*STek1 zwW+2*DIAO(KUP1=?Ol|^Uc*R%A;H1`sTbz;ExRN$qF}H_`UoMWQ=<) zSgv^JpwFG%;{ifNnox{8VRMF(&6KR~T z?FRIZxRQy0W=V@4*9bN?BoE6`Fjydun_fnE9%H&Md;Kgh!W>WBdO> zF%o4lD`;q?yFpe^SQL?1%`LzyYGRY_Vt%^%(FHkZ2U$q@mebS~|1jzwK%S#^H9rkC z1HYg19l}+`jW#es+a*iqA(z4uQK)I^Y)@Ef_jbAMv3QlNL{8VOml`-zPIw%M}5d93IIF&?kcjyx+#8uII8sOy8VJ^q?@OzjD~%mXZ+2 z{6vy!r8l+J04=o49Ps;^&fT!c-#gDyf2_4zPJ#Gj!kq>QXQ83ZE?@*vEfV4jlwG9h zct9HU;{zu!QuWtl1Yuf#c;1lmc)R`G;qNQ7hf|v`$)p}&olgezp;~a7zL+A$zk~jvMUCf5KzI$BbhIA_KekB z&Y#_4JKBOp2!N}HUAXZ*m5H_!*Du=M*=_oEPr@KFy1#1X4K!@>+a)LJ`v$gWc(44z zCn|cr=GZYBtXbtZGGdDpAIosNwZ{BN2Ho-}GQDCp2Ze*-&ldqZOX&<1t-Y>@@ynS*OV>&UMGvik8u?_t-*)LD zDX+CkUu#di*dO_YoOt)(pZ2r0S^%Vh{JU!*OYN}&iK;6G-O+<5udxn( z%m7nhq|lAsrLuhPHQ&SvVR zG(jg;q`;9!8rniN{2hGfn|q0+zx1|kR90GMJ{@!@jc4R?p^rZrlB8MiS&hDp{f5bp z9NSz9dHmmmu zgzaNyJN3&ktC{hSs?R#DDg`A0=N+>wEkZGRF?8~N<#OKrRv%!=KStu!m=Fhj;mP!TNm#q|f)Kb296*>HQ z_+xN@(kkx^NKW9@=hhURs)3@lahi9Dma{dImJ51=QxarC1rsFz&J~Uz&f-_SG45N% zY?PaN2_vP+rPxZ#Ej>9O4tVYPD5bP3sBS+aAM+d!WJQW{t)fDnfGjar5k&7Y{%S1Q zDy_N3zJ`pb4m_XLXXw9x$`qW9@m_``P-N_JqT3FWiy#Wf^aZ>)60* z`&d#La-GWL)%gU5I(J$e8r{;)I&KL#?n}7@%BLn}L#{nJ71C<+e}D9Sv0*Y)*o|a1 z%D7{{RH^SQ9nG#nFS(*I&4Py$OAe^?E6w74K#?pMra@_4A^&>5O2}@b>Xu8VG&v7j z`QHm+ExV$un-fxUAIpXC%|?&BN%C$?e@HD^9+ry#%=oO=qUXkSK=4@YT)&f^C9APi zv`5@65Wk3#CZF8@eq^D>R7W=Oqz|jDbdOloWn6?z{qv@tGF#vEB$n_}gM2bKyI!=; zYP8&5D9;cU|F`M)Eu?e?yykjRzrS5xjTp)7)L50X6&PF|9lMz%*eRzS8i^(!;Wb5T0I>VRuPoyMHC2#cOs_uQSB# z>g6EgY|}V5tcw_R91rieiWZ{o_xIi~oXRoaC;5n+YHnwDo<{qPdohO4tJ>7{XL22y zuWi)p-Y*3Ti@|HLv&M<;ng+jlUbz=c=wzP{)%NR8eT~j{wLrKI<)vg;ssCEiX*?LJ ztE1G!y)Nr#lzC@FYn?cf+{fcB{g;(iN5EyLo}S+dWWR`GyDUFArIR^c)_|j?0H)yv*>|6M{=H+@!h`P+3xk6E1z0G{8diY6f49(2>_iJ(PaTloLV_7VGKTp)RstdEj;#~@a@x3)=@*8L%oDoFxH~581 zB_T{mxGe4eJ@7j=@)vkiE^k5zCBLjF9o58GPtaG@;rxbRUqLnpk zT8^Y|j&oMWfAf2zJy)a|bR@CS{PYP6$ejJb{_zDh0a8?j$7bvH7Y4T<|GO7v0uN`> zv|l!U-n?bCe#%heu%-qCs&Pcm)%WZqpe-C40>jL)&-=KFL^LsE!v|_e1wV0I=bBMa zz`uvz`Vi7Fp*T%^ip4PON~DnVAw>W;pO%PL-sdA-Vd3q+Y)No z?*g%?=r5iYON!4Q8qfMraZylnNYF=4rRhGUY7ho_={igJmf5Qju!FJAYfA>~(CC*5 ziHM33g9STg`kGG4U(TO8U)f72eDjhurBzw19~&8R?}UGTAzUcVYcIo? znZ)o(RPzl?;x3*Bb(CjAT8wOZk@=`r zE&_BI-=%>n11koq;#xhm+aOSWZ!Z(;_2u!^nW%_7B~ z{z1VDmmrc%_IxXA709!6iM7_t2P5MsVPMniPliTU>qzX+q>cvz_&DCl17Nu4xaFT;HF{ zMDZ$K=^ClG5K55KfsVD+W=euo8JtlEic@0Y@htOANp$Bo6cO^XO7rK6WH?i)?4X0U z!Z(r1dkaBW?@|fO1A|%garquEC8T`0{%C-)?CsFr952=IV#qL?{7Dbp5&s%V|J_2t zNkWqIE?()4!Zaj|k_nIVZWw)7PQr^|T3rgS^Z6Cp`;rYqmLmz@jy4yj7pCY!Kd|Fb z&rhXkmABfEvQD^-2<0!hr6Zv)^52U#+-nl@?5bR1|NKS#^Y}=baGVq=M3b%e2m1L7 z(#uMil}KjjKIcPH60pt(C8f4EVpnH~6W@xXu|@2_oe?if#Pn#E{042`akr7;5&z7~ zC;J%$K3e(-X+S-1#v7>NPOT_6^laaZS`(7QTw(|w5H8o$Z zzPp1&(f6ZUc^KEL?-olNQtAUE{TYsE1nQf7pO1b%{W}Cn+ zu}?pWy-t}($4Vutti&u|0qRZNL0Sq1->X5MQ)n%zbjh~gC5j(ygKA;8z6#88MWkQj zjgo|Y3F&Q%>E1|*5iGCccVc)HR%Bp)<-knS_@v6=vXPYF?V@mvht4n ztFA=$E!g^Rq(*Cf4`&S;AyA259W6aL1X$;d=|ok2d#!)}6xPx+Hi-W>>WcJ$5RVszwXzm!PM;8Yc-AKT>Rlrhr~G%yj9N zkORY+WF!b1B{BAcrH`g03X7^a7Rsd6KqT5!2=F^h^Z+{-ts~7rLZWxZc~K%TEPws`f{DVRhuZdg=vEw3J#4sno)ebq#5vGwA%%7Kh6My_Y{0(9_oC#d z2Xi;=NZ~2auD!}-bwF_#MDCoZD~tq}TU-bW-Fhnfk`TRZz?1#Y`^pXvUzn>z?e&z>?;#Q|6>7C9bdPwA&A?!p_bt*>Ov2sD zUv@|;Uy%0kVx>)5)aQy(IH|iT=um2s%(~JVBOu-{P$3=YYDYa`G=sLk80)}H$(bT{ zxgx(Rg@39T1$TyjWa+~wmPuL&4OXC8ig#6@H0Aih5DTmt#3J zc-RN2s;BHc0H$PQ?~@|_HHC+s;_xRl+#m$$ote#<+;=|}sQs1+6{z{?^EK*d!fmOM zH-+K5jMf`Cp@Jh7pZym>mpgTJLFWPD4#}_64VqttLuZsx0u_)!KEI=g5M7#UGc@9h z0;w`ewEr)pg9a8emlzwr`GjiCGqEqFqR}L}he;DEkX3@sh5?PlEPj{I zw9AmuSEAGf*{%Gy;Em+>80ffs@yT!A>e~;V^{Kt61XpRj2vj)Qh{P;Xmhr)tBTF@9 zQe(zSJ34!nOZF(>Bar_qx;*xoDdau1T-B!#);Bc4lw~YVi*4R0>-d5?JYVCpSH(lr z>K9FHkiwfph7X)&n5@Sz_e?^auc+7AFLGt3LN8wd{6rC35xAkIg~TJ!NXj)YT5 z>3C$wTS6ZXpP$+;7;u&#q$~2_MTWe`<%6ry^YrJU@V`s?8^(6b#Nu?TEZnA$=Ul9- z!@Apn_S23zxw```6JRL)N#I@l)+S_x_Qe-Do*rB$5rJGKVTs-;E#~2tcr7$S7Q^nN zGo;SW`Ax2@{jz}1lyP$OCl_q4I#W9feXAHkVVOVDDwFwd^76B%U8vLu=RpEC%9(^S z>pHOl=HaGTJ=y=D*ddhxhg)_#&?mK9wi=L1!Ld{1D~56)rfk{`A(N40()dg1sx}Xuu$e% z7ZAu~!}eZX35%hlhf5QeLWQK1A!)RfFFeM|oWVxUd!rr&?eQNJM)R#>pC1#ioZ|Rx zKuh@oYdMKi!zexYed8HQ6XXgF;TwcHJyhkVky#^4Wbn%!cIq}mk6i-c{LjMO4@OaS zO)EMdyc8o^UWHJ*v-R$uL zckcL%L|wYFhx*w-4Qc#i=qThz|)BCL7xOL&A2J4p0LosX+KPEwtR?d;5(nPhcAD1h4t$NaVD_jl6#RZIqMKmd!!1stwcv|_ap0D*G zz?Xc#J%Ag06O(~<0}QvJzR48{u4l*xM?dYobTB}w7iI~gF{!z~73m7LqkQXtiih@V z@s@;#68EP9e_KF}hQ!Vq@{OsW5t-Da(oX}&lGwFQm%aT!eI(bSR@|}X=1p5x2|BO^KV`p1w6SGt%tOr%o6k%*rDf?YX zeoZ#_x1U8%4k1Lj10kd)aX2X6lDu8_A;dTI)FD-)?hY>&+n!-(6S%%EvklB#`%IR7 z;TPv<1e*9OV%1WMxZ~%WZg02wOR!UK$!S8>cHB~@DwcjHyA*|R_bb49u`}x^_~676 zG+7B})Xio~D%Fc&;0;l+aUO5iaj{xGx5(o1Z+#Y@IB~jp3MSK?r`zk=5NB_0&+pv1 zTBy_cXg-@|ZbF`cccu^YoSytPr9jPsKp0mOvI;^rdvHlnf-iqa>=07a(LW~;aGo5*xd)7q zSNvupWw->J-VKGcl7kAkP*h18WAlR*$d~m#V-YKRN>-0tM&C#m5!iGtP zU5UO~tc6`<<=-S>e&2&qxlweDZZyKF(C(%hwDUGb>PF`;`}NSm=7N>ez6_(T-@b>6 zZXH!(MEzrk#&NK7HmTLShNd5=R4AL$3Y*&#J`-=;o!5&5zbfK7lK7y9A~i6TlB=1g zvPunHVsy(9Os_iEXo|Tbj*XNX|3NV(e`d4ZZQ7@V-iqWB*R{A)yF|K^5}Bf>plUSx zeI%5CSg+1#)Z-;d5#o8Cz;exEq&X{9W+ekd?{{*70)w4;ClNQfrqj-Ewux|2-q>V) z#ll;Vp;D14c~dapu0S6we=}c${+&6;R^qW?#KCnT*A(SwAu!lOC(Ime(uIy~mhjIj zTn;LA)nV}Hi9~mEU+{-K8;qujmG zQ`I!5OkMxTpN)n3j0h$Ed#9L}^y=kc4oM2HYSqx)BnC$R@U)JFs-`&_> zT}OdRNLUbR7hUqz@w@=wUK8UL&#~Zfx5P~8a1u<7_odkLwmROU0{T#$ITl{&lJa12 zG3ns8JMs!Ag=c0YgyWSk6#`p)nnh(M zS}J>T2OL^)mNNG(UU&MvTws1*yqqTUt1_O+t>nHrMB8e_UK3P2IDW;Qw#fVNYGBg| zk1uOvZ|#%$nnS=>w%}pFc^@7IKQ%HZ<3PnDG*lPjm5K_sEeFgbp$j)v^w`L9PAr)mQ9M0K0hS?A?b9fa^+&J z4EmVkQ4iC=6avtVF*O)S(`#ve9s4GT>j-}X!tt zt^pQ>@zbrwsC`-PCWaL5$mat!wbyGyG}miGRjo3+kyG5Cn+H#Dj(x~oGaD|e#j6B; zEOrULBjp$nM4_vV0#9VSv>N9rki?*S#t{fp4+%;?OEQ(#%%q@4_T?-}{Sy;5bKa>0 zvoX4vrph;E6l4^A@hC^~`?#A}B3CryYd+bAQNfPp*JO>)p1H;v^&V$Z3TQgQ%^sA9 z!(Fc(I&q7lr8dwF-+7@+PD;IPCzY7bPCe|RV&sIwwD^-WfKuusdE!DW4wIGx4ijm7 z?9L1#>#zIGw133z1-PvV6f?#fcdU~#2++_s?SwNh@P_Ty=|xOSG$3&lH6Wox-~ALJ zf#Xx2j=?I3*QSnA@2;iB^l#G0y9^A%WPSC+vnPy1;$7$u$KuNu(%g%wNStTWO^9K& z&D)%y%|E2C4FXKl@5fQEPU-jmFQ&dKD$2(DdT6D2r5h0`Dd}!7=xz|C8B)4ILWBY7 zPU(^ykd~4L>7ip7YUmu|{T|=n|KhuFEpA-IJkLJ+?6c3=4LqJ5m6o*Q1M(Rw3!Uo0 z%UqeCAf$I5fnL4Pc}zzMm#gicIS1K$Bt04s+?d>f7V;Jy+FuucjmM3y=~hW}E{4@b z2C3XW`0C7jS8A76G?FtmC7n_{F>7E}Y_&WhEUd=0KCb3(c2b6nRbg*%B=2;!5*-}) zdVpMOaPO;nnTQsvP&VSY*6G#ICnYrAk7RNQ-nN%tdeBMYTfn6oicDlugUq_j1n15rAW6!la-z8(u?`LoLV<~3wL~qB6f$QwLsK-8}nj^0>6=?4BxL%D@O&ThM^Qk zejteI=PDYFtN@Q_O83f9>5Dyv_q$$M2L03%GwoOAoAoYo0<<{&8zv#QPKx|SSnTPGJu))KKx=qdKuOn9QR>L4I+C?4d>SbbUlWX@ z4)wYn6PuV~h_ADtsW)eLR4p~!LBZxYsg;=u`xB->Ou9^XEC6EdKE8xdY6j}{N|(n7 zB4`b6|b`wV+jk51^X#Y$O;MJpa_E{HHbF;rVqDvLHqGUCWprB4U z$*P_OkZSEB@Mzjmg><*}LF=nweX>jqZut{KxrB(s4!wV9twiI$bcvzN`dbl@z|-4K z3hQZ=Mc~pA zNEkH^_poJTw4y(WfZSAk zG|hhKdsm%FQIEBw9zj)%G=}AZ_x{Xk6#9!pMZ4nXinMjJr&x zpLxdZ^QHK`8%kff8F6ton9?HJF%RDVkSBH;KNbros~I0no9pB)E^HD7G7v&ZqlkrQ zf0b$Rv+^~Oeg^qio6+b#F_z;@rOYN~qNM%=(*cMr+iuzIfi@MNWHkZv7Y=sHt8R6fwSfEEcR9R2yDY5A%Gi41ARXx=kZl zBJ4vCC(6-?ATy4Xex<8NP+fq*q2p6q6X1I)Y87%KgT%~i!1BrNB^~hRKO@fP+ zE@g{(R}MA!?af53;`}uUsg-HNa0<%Gdf|YCn%|9xVTTDFilax{gc`-QB%S9=H1#r_ zlVQZ;Oa7*gEJ?rPlUdhmU!dL$4XN!S!-$+gQ^7^Y7Rfy+q$=z@}))T+Hv?v@LO!meT2=I`O&-CtaeuEn^sM*g~e^3n8JKAsUCeT4CYK zRc{MxG|*t!^s^VqP+iM_HTJ|Dq4cw)vpaGX95@VMd=qQX7`70{R5nUsT=2-Yj^;+! z3xbg!TPCF1*c)lYq2X?|QGOwjF}4k)nsAXY-lZ5E0vzZ5qK;K1>VpUEp^mymHUGT_ zzHv45Th3K5zx~$hJ6fO3l)n!r^((3v3_MI@C#Q{~}o?{WHN zF&Hiu%z%=l4aY?!9!t6U${gP&2;w-imCHA>*$I#xS8J+JL5zjiibm8f1gNc#H70%E z0c^@H%zf*y@X6M&=$CxFK`Fn@@37?pWH?s+DyP8~4{bb;r@E^-UdO7jTTnTCgI>L3 z;jj`~s^W2)_qtkWH=hmd32{U+I{-bI3unu`hc9zQxE@#1iX?59N>A4(kJ5i$UB}yW z^?v0U=7g?xuH2&Bk@B+eRpNL48fxZ!kV$3Jz?f- zaB~T@BIhugj}Qr_0uH9Gv!M*|9^+vH-!H45;Y<44=Ut4d!*8p& zYJ6yi?}U5E#%joly(&l>!GkVgOz-VDRh0VhM&8|UgzUuF8cm@SA06jt)S#ENK0FB> zf#{B|hvIo5b(l(?pxOV*X;f9EPq%>6_5~;}bQ-t1JQ(iPPBDDlzq56@D5_X9dBkHs zG=Z9uf+q7ZIXIa#{&KXBoX-mQD*w5{Zh@Y?r9_&0#5{cZ>f3vMzkuQqJj)2v`n-`s zQS=)EmI}_!mw&gZj$WpZe}n(+%}zG(NW_50G?GQojUHv-v2kda$naoOAmBSoGvQYqfU~Hp{kW(1AAln`?RIl}MB8Cu^XEP@=V9b!W`3 zMo+Rwz9|-O7h$AY52YoFsZi$NwQ#z}JIG`Ff$xUIA~sg38_3qdpE6CypCuFqYlzE~ zAe#gg#QB#wAvBZUKp)x>T`%xynsYgDFlhNoF65DeTz79|#z^}PWya{XK9r!ztWzHW z60jZnI~PrS(DU@{VQlm^-UXjz?GUy?>a6Au3fhhTh_J=$HgYjg9hu}j9-ug{+h_<% zFPDyPI~cj&S6N6?qXU*-OwElBYm&_YTSz3vX_X-hvHaOW4CxgIF_b!??e6V7t(1#D zwRK(DQ)2?n(qK$&4dgX|7t)q&P3`Q*GDvIos0|HbX)F>|HDm=g=-Y7*X-}zSTZ5)n zTp1NcYX3&dgo#epdn<5rvtz%5A5Z*5?jl$SD!hn1(I7V_g7O5UeOX)iQV1u5z^FEy+Qr!^vGss#+fp~#&Th_ZI}ZQ zH`~uAF6){KAaP=9+`>4%9yIubU&z@^LB4oOb>$C&zNA!KqbZXA`p=T*%!X+YdzC1n zir09X;<=9=Yj04@X=B%P4bXwr%!zr4$9MC5GYXiD0{NSI9&~(zSx<7yH-3}j56k_i z0B*Y}5#qR2TnvJ_p21(a>sK_;yH0?-EV|@^Y_bb5;fj;KZmW@BhJ$gRj;tvBlS>y( zK&)o=1c&@4g(qY z)?qS|s)C@W9CoCv0_f41I9x*7tC1mwZT*6{#y4ygWbi5%{t33t_A_{m*jV*2eT(Z7 zOJNg&hjZ1;LI0Nvw0YUQ!q-PR>DY^g19^HeC{14xR&8+V!gdNWuf!-wmDP|+jO|(GgmLz$5{b= zxvpTLObZq>-AY_s>g|BVs835KN773dlCK40@GG!~h%gire|Ub$hmne^JmKkC7Y|j3DCC~yT;Y%8eTz|xQ^N?oHq%2>*Dvk6&1?3*DeZ7 z;5WZY-BfiTHT0Kqsj(pfYcaUvrw~C#Os#JbLL1R2V!@8qOf{3N3~#KB)@3EJgH1qP zMQ}BqoLa*M_zL1k?YcpoUh`RM4PzHNReAytnPBSv1lk17X!KIXDy8q^5oDtqz3y-6 zCtWpl6Dod$SV2TMN|x8k*nmdMjGdHN zV>JHbQHw>~t>Hf@Zful&&=rPbw*gt}&S%t@7+=|?6|f}5pUcTOSqP0}{E$m3v#u@O z9c?o+8J;>ziUhMq($s5`3$~G`9=lCZE6;L6dhPesbvx7V&Axh1Ew|C7Ic&lNqx?SX zVZ`YtKB0d?D37n!pTk*oN4fgIhvYYw9dy2oL)Nxbf4WZhd1YA2CHM55Wkm!rXTwUr zcXKc-9{LsGy|xNnIU!!TrTc1K=K55!&7VZMPG&}6kjM|4pjRxe0-IpGtOQ;<(IKeq zz7f*fqsZ&BDfUf;76tVlol2d+{2`@Ta({f_7HiwrZ2;SQsAKdC^cGSR^#>Wi^h zBQ?bo#w}yC2WUbmsopca&U1Q;*n0wLn#k$4x&XwdHBa?Y^AgcJbE}0rTLnL8{H#RB zxATPhv|K6e%Zw=Z+ry?)Z!q=y$#zX*abwwW_um9?|E=!|o=a&_%|T|tV;hO*{8MH@ zQonB}qE1gRv>f!~09Y7-HATlUk#lH~>3)1w@J4PJyH^(K@IZ2#sePKCJSYX1h2L{< zpg}H(G5<-=4=rQm?l}a^B&Uq$4it5Z#y|Bp-K~V%y#F+LXZ>6+)p?jga2>7u=sb9( z1xQT8)JZPIo{KFh%l(M0!+X4SC>2+x&0Oy52VrtpdR;#|wW6Vh1IKHVp*S*P;-`#g zTCQl;?^ORb1a%#ob^H>~3HJru1?KV$jyabE`mGAv0}$gunj80KB9>rDuMIf8=6N0i zx1!Nl2r%<9{8b6GFZE)~j)=$F@y>>OTj0#;zaaI0K}o=l#fbDJ5Th7;Qy=uCP|w zcWlnN?A=-22(XCwrt83>W+j06+@;<#kL+~9%wIFA&ryoHy`F#jX-8na`Rf=78hSc% zp_$Vx2B2-IpkN-C)@pyxr9x5V*|Xa_$@Qizw$T4;x>Aa^oJZxB7K8orZuK{3fr}3J zx6&ujo;|MNmbilpiXC8(=%Ol@id<}t&LnL-Dyw-{@TM32iNa)!v*3_M<3JYSg&cYI zwT&)@3*GMst`VOh5)}x%*ZF;3*9yvQ+Poqd$EwNeUy#v?7mE4xTT^2Ewx~Gw?71Pc zL7;WPzGP)jj3#=^B#@Y0A`z&4caF{qS1=K>9%zSE$St1~EGgj1urA16Ggieo4K9Sf8Kky?Hdt2Z4VXM?e&NK=cwSf4 z&<}C3tCDn6dJYoiJ2s(hwPk5aoBq&4c`!|6;p*X=S~U>c{TZVJOO*wYcZi{Py4eAy z<13AiAK5vt0uE5pGf01nE*)*pEx!FxfxAqII?**yipj?Dp6u*6!^6fow+}%MDe!v} zRSD(W#6|szrYpktnAla|?OS&rkETx%A5suE{@HjN7JAnG(TmZ7k7knhxAyDM5SV*K zX!m$BlLEhSFG1U+2oAl|fsBR-W~?}odyEC|YP2h;V02ptzx!>q|2!mM3i7jAXvud3 z%$yc8Nr5|;rB;vf(*mRwHj=RZq(z!m7~x7sVpk-!x`9_Z-@$x|?HBDNSkK)vJYgYQ1 z@P6!GldE{-ag876#o#8YbNa`{!M>5S&e@e*#HiQmS3^3v-N$9-bv>gp+=Z-e*qbN^=#KX7qvv)jrMqq$;bU2d5F((s{zlw~`m&0PxHFSWD zE&mLx`3VQs_H$NYAFf9wLkJ(5%->eRqte1M%UfMXn$Sw2EEpQ|q&jfPehS%=KJ2Vh zpnX!Dg3Q+5NBZ(*s+^uO3^BYl$whQr983XE_Y?0n9;Zw2zL~UQFx9O*dgq6$O2*_t zHm}im%OvW7STJ=j8=In%qW!4dnS|T<&kO;}tri|9%E0&b!_2W0$r2tr7YDVXxg_-N z@!ovhnnl=bJV-C5xT3#;Cs|OqFg{Fq-{w=#dW=-q;zAj0W ztSCclj5DJkcj(0hAHeA9PyYqo%p+W)Iwt1lhe{uR0tg9rNePmIGkL6_$p9_nFqtv% zFLiQDN~fm88AQ(*M0RDqr3;*0zB-5glFr)f8g{8M(jV@kdQ^#LFD1LEO?d}ihzv1~ zqT4IONNN_O)03&VeQu1qa z@KJm4*7+?TUI?mquKw0N=0V>=r^7Rj(u|6wq}yQ9&3o3_(bgrBtGfC^KW}7BdaSZ_ zOz=+=3ORz1`u!-Qs;ZxB(%|nX?P4`g&Q|Pa_1HOMrmg@;gE7nG8U>V9)ux1tX4U=7 zODCI?N6@_`v%oxhB3(}1YnSnnkybqx=I-rKU*(`#4T!T~sRPK!e$e4X4=tJmA*n7X zhE`XOn6t%s2un+XuXCfr@yMGb=I70g(3SCf+b$LN)3o$N)wkv5eEwr4Hohas)2(Vw zvf3vhebli7oaFA;imc)o&D;KZ9S7grW9`sbU(Hn8On>)C6>8LbX`4(^SekzA#T7eE z7O&Px3)D7^`JQLKmt0%J5=98<-+B#pY$3#9P+WRE#?Ks8PXB`bwB%eA-f=~I>NU8M zVrVh0lte7uCx6S`hc7^>KZZ^6rMP=24men9j#fl+D+!QU0^iHQb%+Z zBaZWnxQu@&7Nle?O6>}xxk#x#Y$%YU$%h~ngv4D7WH!^aF$uACx}5>^l>uo}e+&%| zY)vNm)+?POgTz4>%9fJF0I_*t5wDZ7hv9V3u+a+BFUR26iDTnpqc_&T zw>=d?e#)PfR3kZLVf7X~6B4HMvqR&A7s`uqMS*E*A8J;y%O`1kZU&{T}mE z@bjEURgWyvgT>X$gYx!jrJZiMFqWH)<-?wi_gqEAbi6Lu8SJdMc$Yl75^7NJy);v; z-?FmgE6D3pA&O(*8}aS?@rKu~lLTu1Efsy;xPMaCV=Q1-P8z&+BSF@xIz64FznStw z>l7!uZ8ak_Rj6Gx&HRT(a8jpF#ih_ZyzgqFfj8H*bLz(>*S_&y{D2v;KGvlTE;glA z<8!;;OKoFz;z56U>7RC7KujJcXD8C8YZ?XuBpcR$Ou|$9g{ds3i-XePS63x#q;rDM zd1wBstLG<9EJpl{UMWDTv|w09Ayte2!!XMIyXUC!Q^~b=Bhx9-i8SBpD%l3{$kJ+6 zUn)!XY2bo>K2*{wz)aMx!JI}9$3D)pivd^RBVCriQRFqp9+dXA@!|f^LvYK`G;O=>!tBSCvp0M6zPVdk`a@>t z_8GbE4|wz(f9inQ`V-vqsq|TekFQ?vxTIu7&2HkJ4MA+I)Z9;p_)KklU;pz*=$5Mw z!L;h_%@a5}z=0A(JZK}&u9f>IV100CwX^v&{e*PDJ!y@9ehS9x`k2wP&lzD<8&n;g z90TI&Vc+Icw^*Mo;12T+?@7Hg4Vb9^nbNdSGc-^LwGHu@1J&E-mvK*l=58e1O zW^T&>NOh^ZORIsI!Q=oG1p03X&}#sVcZ`56o0p3$`*N5@K_N*GW+8!ex#u@GzQ)kC zmgswDD$(8@Jh*@J-3%1q= z`PfJ+A1y0`sffxdAsRj2AIs8|h6(qjv|&KVyd^95n+MX9e?hwK%;$MlN$nH%>Amp> zT|i!GfbChlLpeR7y`PYgqcN}M$#otn?5yOu|8zFn{VaAqR0rBVnwO{5Uf!q=tS=ABdQ=X|Co zFsNSG6?-!=vM>j;YCK2;3P;zS)i0@_KU^>ODFkd}kcNscedQc+$NDgYA%}q@Z2k6R zKd+WQzHh_%Qy=^Kr+Q+Vxvz@vx)&h9;8wplk1dss*fgrPfieDs zsp+3(=S2DaIt3Ok=y_ysa@6bj%`W4W8T2og(&{B1fj9=S>4WXP_`>Xm2Kcp4dNujY zKcGR(=#00CVg^x5^qkyZ&II)i(v@IWSjko?o8|LP3&3-3s3h&M$C2ZXj03$YqJ2i~ z=F6b9DO2txEp}(5Us6Y}aev41vs&mpQH1`G+=;A38?jKPPq3iR-$5KvL@Sc4MGROf zH6WzY?=U^>O%d=!tmlvt<4FO{Z>RL|@m1T$^t%JPu=3d`}VNal8MkVMbnwXj6mrUL5m&t~{+tEJ2M(qS|!Rhcs4`{RwiB?{+K} zqY;Pq`67BT7enRvbp%bN=(P$JrD`i7SCx}>|MZ7LM2>IM=Ad}?o>{1;n_!z+mW+;li0KxbeV%BHPDQNOt;G`;$Mp?Jf#2+4yo#u$32zm?Q7Q*u#C; z{_$1dOUrf)S2}CDrrM(O1iTqZc`x)teeTi|&kz*i|G2RPz>z{ZwpmAfTQPc^W*Q+? zROw_GxY?wWY1Ms81JCUr4(bx(vND^`gPYXi_wy>ZcP!$~Su3R#ee}C zdxWuipw_|H>JC4L`z=Wn6*SQ>Wz(mh!<#YJ&E6gjdEW(!xgG4>svRd)3gzv^(RWXu zS0i}4KjsUJQOLrN6zR>$2yl|8cNK}(xh4x>%*%6KiJ$^9E13yeA+v`T#s4+St~6H z%w=w6OW>IB3Je86$VgUIC}ATI2@;?NVD}){Bm5{q95p(2lg)2MH15T%{Am^Cxm!Cc z{aGsMKDfzm{?dg3Ie(g$ERX;{gGt@@jL>1=uop@S2{o9R)UPs~N^E+eHRkpo{5L?N z2d3CNEqr6hVQB`dl`;nbe{eOuVs*>*hx?+dT>p2MtMKX)c6H=*8gxA9D$NC^qOd*m zu$*nX2sdxt6n>U>3_0agdd{3wJVmeIv3gv!>94Arkzr7!%&4h}DP!~pfgK7MRW_@X z8VXhVl(?()}y z^9@u-fRPN=!6j9s&?hnKzTFnE5^@m_J0D5qn*&P`1vbMLYe{QG?dSE~SJd{ti?lKQ zAPC_}o=9Ef5=z_6GOc#CiqTKz!1A%X=4H=kEH8Y`#a-Wo!1Q9`A_E@Fl&K9V z?d|&_*_E65sVfsdt-13Y>F}+tArD8t>0!Y~=?nio#if8DlVx651t~O)n)t_|E?x_* z@N@EXy{y-|PhY{n%w?y(qr-Xj`dxoe0JTw+KYdlkogUZ8B>Ri48%AEcB;FCR|U2R_(ROqu}T+# ziC`6!Ay9v|lN7>02$$1&Og>76c#J# zL1f3dmUUC~v=2zrj+f{A#)E0~MzA{K!w<|`jMaa34 zMZPP$?Aejbx<2)$`)0JCHZ;y1Sa+`m(=y>00tF zgxN|$-8Fu-otz+8tCviwbDs-aaev?sqMQ!qc#+eORfxnSz2@32o0_g>TG40!DV zC2zn10xF7NX*xLx?CiCrWWjO<{-e*(W{&BtIc3tF7Q6ulI~!3j2wsmIufrb--T$7UD17oe$t<9 z2WHoY@zP!EJz=dpMZ6q#lw<`H54&r ziNPqA(r=}Mnx{i|gF($^!#owpg`a%N*{1=*-V^(_c^oH?3}XrKdpzG!nHiiE5PS%& zWDWCK3ML#DbLxOf76X4hDjxmtOsEy{vN~{llTQoGwYpZuw`zPvK#>BiDG zzLP3Hy4fkswR4rFE*ex6j^(Ds{^m~;qx;#^z6D%B9zbROGolS@jo6K{wdQ&k2;EAJ zDd!;aWDiJQWRTSu-m$bL(H1(g8VV%X>ZMMP z=M~DDdh&Pkk2Pj6?lgyA)2~V@Lb(wGyev;BcR9Sm(U{4ho0c2e6*s zbOp4YZA#B>N)sXIYETs8$JbKDjqxQ6o{M+h1!|Rn zUVr7|0rb|Ro=|NC>hk>Sz0^auz?m&nQz!R5!pUJ7_TkIiHH!0QA}MVdN*>2&^|+%B zxVIJidl4CD?e}VeB^xbVCX2Q#CDY@^S%Dp{f7s15G=T7%4;9fdPokq)_zJ%_zqi8_ zI#o82DMyOl>BEq&D4)$v^)c_Icw@m@gmhHsSO15D4<)osq`>B;{l<@q&s?c2Ad#AR`~GnNxOeWZf=g-r5ohbOBpm zitrAIUG(_W3fEiulgixI(Ija73tAOVI)om09T@|etK0l!%RfLqk@BaRA1ua|i6!>?cTh zVqj1IlW)Q1+8Y83?IeCGlJj+f1#n7rxNc^r#`JK!ttA`iD4DM6tOc|#%erBFaw2&m zhtM7kgGuUfs|-}7a~^WK5>=X%l^W>OnH@-m>Xe)Pz6;PsEQ}a!gv_rB_7DwThA;ov zDp$u5*kRaMd%J0u)Dfjkq|LN1tXsG38Mdp@44y`i<6}vE0v63;*ouZFTopyYq}p07 z0c9}*4p5(ml_;J)BD#^3&gEbQAd&5`jgEO1NF7ukgJ8L@DOluN@p4;Tz%2J2vuc{5UE7KGAi5d?28Xnd6mzH#?`br4V_!iq-qmBoH-k}-A zouh{W``jGp`PMjHZ$mn**im({;_r5^4vp3-0%(Iy^Ga#8M3>e_BO{gqCeOB_!eS&M z(BKTOrj(Pxg7UH;OdSlraH<)xvL8*`vGMI=8a=nn&yNf2UA(1oJ^|tjWMT=3)lD)E zBtsyt1ad7^-`yfscP;c7!%Cv-d9ORFEOtDi3G7Cb>Yg|7f9C^?=ll`{88h!c-3i&( zWsaiW`fRjsQbVEql;xB~*{9H<{zZi&_wmg&71!@U!7f8zuslqQ&`U!9a^3R6Cjj)a z#j9o6IUid_9VY2NM)y_6)i7wk(5>uT_7kZNW+3wS#s_`4RO;^RWXOASmY?0EssMjl zo<9k|%IBF$Uqx+gxwe!zZa1`Q+Htqv1Qn`{234bbw98%Pms=J4m;>r7OqCWi*X@sq zw}DrP*)F0IQE8RKm3pC;79cusO@HLbQa&{j(i5IMg%2Rz_@|Z6Jg@h?(+w6Nw))7S zDVd*)x!1DjA=0Vp@P(aWfJ-MtnEX}D7B8z_Qqe}~S7 zdL)X^b3#0T0q5~;+aStA#YHFO8*Q;DF^9fy*)GrZaiD^>Hk#% zTLT-&YWZ7+F3r>Gt6VvA4}p>?TM^Azp6^gz_&j{Ec$OZ@VsKVV z!Pn80cQ*6<~%&*&l^OWFm-L-kZ(tc^|b*nU~ox+V^y5{ zJ-3U_zxd(Hds}+Y1Z zvqBBWb4IM^f^Tz}4dt-VI1juQI>Z#sG1?~f;Z66CSkJTA6!qH-vfDU&G(LlC=x4~j zHD}wEX`xB;SmOSM30Z`y3jN6z=HTSa_&GK!rpy*drQvpaEChUQi@{T1wxC z>ncOQr@_9~C6<3C0Pfvg?<_w3N{uEm<5Y+P_P?4{;CB#LqKl@_(76f{#Au`+7xe*F zdxH_Bq#D=__x%5Ue6r0&kujO|oD3HYUJc$7Up88cuwAOr{X^&A*NZT# z{pL>M$s?+t?B6{aW@tjh`6;;@5Tn@ge`#w5Wns2(FEAhEtFiTq&F|I-2xHHDddTo9 zS(oBkwK=4Xh;No8KCjjB$m5g#5_gpIqFO+v`ZO)pkQzapT5iCv4PpCK}K3LKKY1GvF}LEKJ{nlyh}@xFhfKe^;81h z&iTje)U5XxfhBV-eEpmoH^U+Nsd3@xb(mxVR7l(>NU-%Bx3Qk0-V*OaIU!!KN0k!dd7_dFkxjvN-o`aX>x2?eF*5J}DDG>EoAxFAPH14XS-*Wew~` z0eA)8QGDD?0J;IVm2JFeN_#=n=5tdFM7t5YNy5F`^awbG^C*U{k@LD+wC=T3!1!r; za{}#V-t>GoAE4!c+{@mISs4EA;IV*s@c!lET1NuLr;WNO;)%J@6QoHly!DS5^Kqc} z&Aj7&p4sUysl4F4mD6hhMtJYk)y`kAbI)X+wgyYWXY_s$+FQFiDv$eMrAlc3r5^3x zR0lCh{(*wFsLXx5H~EuQD+XY`7N0x!?1RO#A?M>-vglqjT?8`iS;I!Nv9V{;e%JJ2 z?Gm!THj3K}a{C`**G-E2h1UPTJAAeT_SWB@ppyUF46BFIi)*X{Xpg81X*_w&xd$bm z@rxVf2fEiHhNMmqzTp7@!6H{mtZTp?^qe_anrq0n3E+u7nK3_bIYNg+-1A9+y`12G zeijW??337ExwIzz!yA{Eyp;eXVJUJ}H8%rut`XAsu0=u*HxI79<6M1@w@ln_NOMvD zzY78n6y(%fReJ6DAyoo407?SbOLc%9$N%1|fRVwkg*LTXG$d$N%4~M3mmVTIB(2*j z73?kDwyg97z^XO))qT3NB``k|Nz{LBx*JDKhM}uUEDIEVyRiR0(D08_$bd?jYa)nw z^i^O&XHhfwLBelB-0fECS*LS{$qL`abky3`)s^IT?xZ-Te&UE$fT&(G8gcYRvOMa1(#G<$UhB1b{#t(wIRhM-PR(@u%mgR@USwWYI9UC(7cM zo`O>3;#q;CYLrOJAW!UjFEW|}+c@qPf!&?f7CF8{Hv zZp|`vS*XrG70&@VA>SrMRZaGjxHDmU<^)G89l~Sp@2vJ->X<~ZmY#EWjaH6*rH&Xf z^2{h-j=&yyYf~l%s-?xn-BX*$K&K@X$;s#7OqkSm_T)77Nc;br<`25|i91r!xL6z@ z?@E#il|AYqCE(&F8rTM4tsNxezO8LO*^8{N9{7G0>6Yw~Cas3h#XS8Y^L;(!A01o- z=&30FwMCVl&8Nt}(p?@-9!6sj*2Qt02+e6tZx|l7&$>uiBzjYC6GrF{>mSc)AOf0d zSRSm@g>*&S6WyU%xuyj&NaQi#^=d$H;E<91{uT{DEE_;T%QwAth+oyfNvZOvxm3qZ zncpC|^T4pnrJA7hn@XHk4|9bNsqe6Halj6eUkX)rf!P-CMC1Omt~#)Fo>~qc@T2<& zU!RS?MLAw1bFu35V8rSWN-4_p$c%B|;1YczIpcq&=2#cbp!n%DVEkCPJkhqd$Br^! zX}-arr)4{~Q3S_jDkif$q=1=>wA-p3P+LV@G&RQ^DG}{wO)W{s6$9Y!j<3q!HuhU( zH)SminyP&i5q>G`iWimlY8BRbZq*n|x!EZtb;($Zz44c}<^SFjs!ml_=O&gB%~sQ0 zARnJ6Rk>83*5_$GdYKaY33c3~Iy+Ls`l-}qmL_D#$7V>lam3NSIaXxz+f|B1E%|sP z79ey|l3}3dJCwbqR;@rqv)GXMnWI|GU{u5)5ml5dy+yx<>Ps;;-D3yhp@ zo7VNEl_&oPgv|3L1|z}#bd5e9d0*BNr!vga-Bgiek-)uQ6Uv?Qjnj`P2#Qs0Olk@5 zJ>PH8?{*7yulGy-i7x@y$Ls`>#!=Ch>t9f7Qv3?=dWPshAl(2dw$Pd62%`wvn7({dVjBR>LHaL0{SSDg{<4|r zaXt5{bh~638BO%`!Z`G&vdd)yp5#r0aV2lPP-5!kn6}8@?sVa=+l8r$=sbZp=+{!! z)EoGgl*X1fg|^8AOW!e1sy;;r;EeccB!uDin5(`ZK~9RK$2w z{ID!|pAf{n8aT4+FSPU~J8A0|1I43i$A067T8`7a;HV`StgP*4rv~0TG&#bHXK)3D zLTVfbkR95KNibWc=!CYTd7sNyOHZ%`OI?r~?C~L+;+c2W43tpg?q~|=Rb1i?QOJqy zzOW_%PX#gopo%J~%T22l1T3t4Cb{=$e4jj08zSjOH^ z_c_sFqIBMlLOOP#4G`bZ0y<<(#G$G95-&oh7a+n1H! z{+78wGg?hZoxutFm5m;cMg^n3JuF|}l6-Zw&LC?dJgZ|!D81jz3von<<*+(!KWBWi zM_Q#PD)$T`^2#uD_pF=p%6fXjN-bzasr_0NKBlLf>hgJSGy53dDmyqu0ql_%^h zV9abHq)1H_?6G0?UbjME1yB(i8A{r%&qAR@W7bJ__uclDwbXj+(&*YWga2L|{U9*; z?m`7QiI`mfp=6^Z!}`W|CRt@snQb@K_x*3}qG;D^u!rL}f4?#^8vH;~UMkQBmW}`) zy<|5SWbpsGv?qEtzPY;p(7F1`!iaDq>^~`i8USJ}459CnmTGSc)v@PG4Zk|-{a8Og zeG3bUSY5Kb*em_I<-L?={9>uMcli=K?^g#blHhc+Fq)obN+~j$h~q1;(%dgd>0Cai zl=WfcS-Gd1UVlfC<6Xyrv1e9cyXZ*W;$863>jRg<_J__vv7H(gH-_N+u)6;Nr)-m< zfSn&kt$D=52|NVsNVt~Q^NIa&oV#`($~tD7x9VI(8|=s+?ex$ROx`r6t>q?KW3_t$ zFn26fG_1evH1Jx=qvtP+NvoW#dtQWZrESEtQSwW|z5JaCm}>&eS=YP+^s z`CrgnY1q2+IV$x^{$h1xDcCV8{+erGji+t1JBmw{E*wx-0o=5xyAPm^$4#d^O}(#GkDXF6ld>XY?o_rYiKl&ffg|5MooZcCw*4I0yzc&pqye@1=0G{6p{lNR8Seyj$&$ z`R(cW#?9q{B3mA;x2EdrZ+k1isL!gr2z(5fWW;0TjQDSVvlqU%YsXNST(sfs?4+H} zsdk=vn26c^2sn=^)Gv**cCG*?@7TX}wF14^t2%Gk@LxTj8<}QM6$yNNmBu|g>GobhhS4^$ z0MC9fhL7Ez>LytgS2;vS)6;dt-+PSd#)x;*3oGszkUoK~zzG_opWS%yWjoham8mk< z@dE3A;^8qi_2zf2_WTqBNfL#3faaVafU`34*)<0GHFam6RtXAabMvq9&EeJF@9IU~ zNFW( z)ITJW+Mf+em0g{hJPfGX0z|zK*#4z8A5wghIZ@Cs11dMh=dS$aT<+| zCk$N0^o^cHN@j|z_j#mY>F7AMRElZ7-*nsa8#;YOBrEU`(ilJ3R%MqYM z4&q&FL~8gRu^_zJP(`b)cd?n{--a2KmxMaV_VX&%uq?I~noQ-{Jg2V&{rNg@=$v}mI__ypy%~!4iD7P);OW{ z&{Sdnu^!{cfJNHvUG}3$qn+HVCLu3=e_-WELWGBQ(T}sz`$I$a?ek80sh#hL)?*&G z%4~;Cuf&#fvCgZ;m_7yfP%Nv$XrLU}d@^7TqY|VV?4f+l)V>`Q0d20*dwIUTajnvj zc)2v4)B4awE@q!6P@5{RFOjI11DG4E7y4uP<~V8d(F`Q1|jo}dhIqQwT83BGnY@f^TO48pGmWXGhNiYbV~Af zcwn_^s97V`lKL0q)GkxY1q`;VfL>O~wnQMQ+(DIyVK)C^dmApB6l_o%*i7H%1}C)j zT18Qos@E(tBd%%61zk49lCparj2KqBv3020E@K8g(`r_Ki|dU{_L4~JwoCv5Y>yF4 zOzA%;2L$0rEL9BjlJK=6`+5iA(u|Ni6u zW^efxa7Z-pB^_&iBfq1C=hLkBUkmPjcsLox!zOwHah#Su>DTx!t>5sR0UbtV(x2LC zwcy)eZu9=ev+bX?*@PNl{{%4Zf!!->4E2{RC<(JzV*TGWe{c*ERtosyaE8?K7H?W`) zoLM|$p|>3+rUa>Typ}QlkEpi}Yw~^nhX+VVqm-nAC`v2cNTZaLbV&{vU1OxuAt0U7 z0t1m4-6aj9V>C#O?(n&Je}2dFJ@^OyVaK-XzRvS})hQn$0qw&-9IbjZHn5**%_*exmir)K2qs8Z6pFiEhnXH8;7?@X4j)h-RjfMB zR1x2>61VPRRQ8Ii?lIMK-jT6s2chS4zHe$`St@)j4-cekTF0DPkHhDrb2MqMO&FP3 zx%=tVkhyxryzgZo@#Jz!su!C4N)6X+aK({LJ&BwW0e8<{nub*d0yYK`up| znhs7S0Ez5KD`k1d(Wy^}d=q%&(j{fmx|}T8O4O8gJx)AgW6+0>E+mte^nGc<+UUGk zAO^o%s6K`CY?TYd31~ISfitXOav=nu)pZ#{37Vie+fh1|lxe!u8pj@G%cC_2T*z6D z=62iGU`4TWRjb4%CBsnfBO4i6AK`4NE;U(dKzl$4HWm==`YL2q4QgjvzE3<{asnSL zA5{mN%ZqNJIQGnUh#JW*}j zZ2Ya`)-daVe$1vv!qBio9c;>e`hKW$>Gm~t8Nf%nM&bjbJ41ws)%?6X)?2SmG_6wK z_w5V@k;u{Tc&`Hsx4Fc({mA8ZR?sG$jX&DxxLH zyWTkKqcg&edWRuPqnT~1E=$Uv6Z1Og-6=^?orPtr-FEP|>vsM>NsFV{LJMAFH9=n(_i4)q_2LC5hjGq%TjNIEUY(8wC_+K=Shy7 z#k*+4?N~vS-%W~16b~o0{R0gy3~pX~UiupIXX0;KU%6lcAjbOt0mU-hEXug@TZYtI zXBbD}hN|*P#P*C9P5pJ1ZKH-(>CKD{5SUM@{HT#Jzm0vJw9KPWBK(I+fCWxecmr;e zyQM>uFq)^myHPMDxHL)3DadYb&#XN;Y-8W8w^}X&tG><>U)T}Qt3K`8o2x5(;pH_? z<48nD`^~`TYSufe)MR!Fn@tJE!w6ZCTrbZZ|9|KLe~W4rSuvQ=s}>8*Po8MDUu>90 zHN4IvMPb4Wh>Q9kG>_Ia7$hKGQP*K-Qvb zDEIzuxE-V#a9UZ#@;f#@|4+~9n?pVQ2scMq3qaIma(x`V+6P2e!)sGu*&p0!qI*Ee zI>LS>(JMFj#qoRQAnMVoc*$5pD+SZIL#4sO@BBmgsT?mAYDVDcLi3|6$Y3i*bjB`$ zi<206xIF4|Xi9N@vu5Ka_p2|e_eL+7Eh~46NQ?IY`RIRSz`ZbyJ*qr*FUr4e{}~*h zasy>8trX0mvSyZE(m!ly%zwX{V%28rGWws!zJ?5=zB;U|HvZOmV1xj#v$;pRb2GZev+y z2kzPP)0h|_K05Wu>Z9`*! z)r~KpjcO}S_2p{zCGw-~SC`^MRtk1obsgTgsl@g%(6`{q3Kwo89z9N-as}mJ3~xwQ z^OcQbRf4jqb?A#IhBzqB_jOl#1ZrZ4x~+Q@s~XF5i{1AOi#ug(ND=@(qVzZcGE`Xo zIR*@xri8Hgt63qcu~y_cZ~aGDpVS>(T893@^xT&m#H`-K$FV+`4jdukSy;(7RsVMR zfEWble=Hpy(E9T{+t;!tZw<%FQ9Y1!5nJaJMJ?3|EXDxzkkgOcg!cUr_JJv)oR&J=aA87;3Hrv3@oA~?JK zQR?4XJ+Q|^$9R33;DD4jwHpBm#HD5hc2gziWaMJAsL;+=sAJ(1{Vf&H*!FX;p{!tB zR1p^^?7dj4J~mbuMeRZvKi=gxr{4I*t6|$T|JjMU8GNuAyJw^ml9|emZBl?O_3Q89 z?+)dpkKcU{SHAJ0%NSVfm!rc6*N>apkAd6-igmg>;0gJp)4K&&2`11iL!v5dN>)ak zxBuzW@F>|M@&Bi`zz+__x8`ro7#kqH-B4G|XT%e#Zc#K8D`QCB&UC)?-Dy1K7&R_v ziTnq8VJ*;PUx%f9t;UVd849qA%37?cksj(`9_v}nshA(%h(9q)*h-(uTaNu|syEj@ zhs>y~@_q!w&Cj|lYg4^|iIl3JEn>}UpsqU){$%BrKly)&FUIyPdY@bzn17YiB^FTy+70&7J#O5q9h$czES@wcmlh^T{O6 zo>(Zhjhi38e0n5_{LR0D|8jtD93h>LouF=##tefj#e zS~jo9HzzKgdc;L=F|WSPbDx>n|DRY3nQuB<50MIz z8(XacEVUQt=Zv<}S&qG2d2=R_uA`Sp&Wrjki4f67=DsINo?IRhGKH(sk^rX7s>O>r z4*Ei~uYXE)U{Bxu^5fY?#avYGQPx%Noa|=Yl{9?jjIp-A=WqFwOBkAOK=J3mhIZNs z2SYE*Mx@S;0M<-}*XQzxA#=q~_(#B99t8OtB~Hy$J5|n&s0M%Go89(NVOXB6IU5h1 zJYKpSISo_)<}M>L>|I}U6- zf&Pc!09aZoK#22c$k;D1=A`;P%4q1SR0aGE+=gPoi&vXypK@O`;}sYHvW_lma;Vgg z>M=m0nj=;7sXr8MY`-$s0VQEii$ZBbmNpMs_o>xj#TjH~8_#y1XeHF2zI_$Hzn>*k zWO89wmr#^G|JR+aa4j-eR0+B)1HHiXF0xT>lG#QsgqU?j81sSi%#n;$&iYPw3w(!3j{x*5@>XJ0_Q9cE^av|P zKQAct%e%Ooklq}ehd)HgoAVB?*-8*yqYP7n5QGu@0>&+mAL&jQOy3k?n)7p$4*Tud z>vE{F6EjJM<&k(Rcvg)R7sh6sB4zSYtg84~hs#2XC^<2xKx`@7Jsi3X)QG+P4*HoQ zI>OLHb>b0Lck?>(J!+(F=#lN?(Po8#mDLWjsbN1{NY$QO)<+*9QE8GNw$1*%T;|18 z89$;!o-9|+Ry-jvUDL0(vfKsrSJ<0Jho8QWXh<1O<&j6yq3nRuy5gBoC~BBG$;2Ck z55s>Wcmts5I8Tb`iwR7ljzkgy%Pte(FOYen_i-nuz)mFunQR|!*ID#Yz2IS&x%{Am z$K%A={*h7XHgDT05joy|FZI|UTXmJu2K?Rmyq{;#z%G;d+NdDs;>Uv&jU<^Ga&jmu z1`Jc1F+T6*F1w`gsr0(j)3u}|X9LBwL1_;ne@+;@bo=%(7*R&&q;Q}{$?^4Dee{n% zsM8mG=GKSaQbw$2Hi@cDjnO!3%0?c%mcM&cevXzj&3Dte_$}{S2q&JFWhAPb68!>I zSqv&^oXQbQxxlOngrqZOYLFD^HCN>acXr%t>T~xLpc*%T$zx$wj98rzk&V?MJUH^0 zsaGZJc3%e0&+VN8fnJ?xSU20_==iHftNzQHY_SMGok8jcni!JS5kLGTr8Nz4lGQ1C zug;77!fm@zxY~UK$*Tn_esg{Ulm+@bTq971j*+ejNZF0=J|39u&pa=L-P3V8=L49; z`soUhR40d56oXY*Oq^VItHJrVNnT4uUeK!?Ju_zAb)tP^AD9@D)Ow^AcC`E0c^Oc@ zDM0UvmTHcMW$z&neN){9G(2-rR>;>_0;+&*EuJTJFIEFk_Wv;1pE++0g^*KvUA@^n zGu?hLiE|FrO4F~UwBd>&G<|!6_a(|pey(jC4*yY&h(_TA%TlkK%e6L80ID34uYcmE zs(>uvzOGL%Sb=dtM*WARO*oO&IKxkfit9}hSuN~t<=2eBac|ejd|Qk?&cywFSUv;w zKv#BI{Vk`3Ha4FRIY2X4HXm&YP7DFQsj;fX;!c}3Qtv&M62i|b^ZL{7p5^QbhhDRS zO&I+hG7zIgYxaimyh(>v`{-n$j*Qa}RYej-;#}C3)jg%Bs;oX!mkeh%(cH+LKL>X{ zEfLrgde^5-&MO!3Yw>^VkY{ENM2EnbZ_IbKS5i2~uU^xpcV8gM=^9-j$wJCl0Kjvv zs=lumvHXh9?VPHb<-bh=n&S9xpjXHe+7B{d(PxuaRJjsgWY2dtf_^G3eoeXL5W(G~ zFRXKShZ@C9Na(a3(C;_gt-wV6=3?&l*VpF$BC7k?xr}a)wQ}Uen%4<O`6QRQb~zS!^t0FzYwvC)$p z{Cf^Y>iXS$(sPkIu(<*Br}@aCpsJnOjzV7kXimTc@DWS#^2Om9heE zVlD~R1A*m07{9P*LVY+2EZx2_d-J@q{h@Hign{1~|A3=|v+L9M$e}fwa^3A_1AF9( zM;8md5G`#*(`7l`)B%jdd}c=+UMK$|Q@dfS4fjXPhQ0e5R43!dW??|_FS)k-?gbI0 zB(?9pXX*-4^SWmG@z@N@JN^Kj3B+ zdCq|ovNSm?nli;twPbV&KPo@{Y?gOH%wqMy#byiu3r@Ops|yvZ;Jb77q+ofT!6B3m z7>BxtMta!;2qkFIJUWPBuB$4q{A)BQ#9YD9UP9qOK?mz=g|~X_&li(VVIls?XiLFi zb;Y9RZ)&Iwj-zlud-M75JlnImrF2Ai2j)3dZQXQy7|@vNOpV2U3XN8i-jjRR5hbve z*ZzTaU27xcYx)t$x2Ut+fOos{y&s^Q05pbiDo0y*)7%d;Z?(it_ z;Nz#*q=jp0N(q>;f!Hs72hQNP%|sHKwXhCY`QJjWC(l}mR{bbyS4*<{3f*@nv>?>W zRc4-!Qu_|n(GzLCCuN>@L`6?>5}s<1ct7j1Y1z8LW5>cjyu`-x2OCsK?oqEel_}v+ z@2Y*m5wtpL!wN8HRJ(sXl0=@eDd(X-&Cbe|f1tJkwA(A4LPOC0g|L^8>drDO&O8sh z*eIga0>j@5O78NC6@Pf%q&@nCg%AXU=$L#2uo;@`#=ArzL`+E2R#Rd*8DhJV_%w56 zb|`iUx#uYi7RUs^Z@y>X`e1uajcVZPdet5@0kL8a%2;fOI2s;kdKGLnL&SbPtMSFR z#7lbOyq{K^QpRiHvH_|z6Y()NPw2RMxV8py%X4;MTxjs#(IU1ZAuu3{QG&t=WnbEe zn6otvEp^JGYQ$(EEN;?!VVy6y`;M5lz0sqnx4o7qoSlxOJEs)O5v{I=(6QBWM6L?* z$D~L716ef9zzxn1U^*rkUd*`HX^Z||FB6-!E45`qvswF z(bR97%x1)&M8$v3?}rSmL~fp~31k>qK<%rhn+0lle)saH53* zL-ZExJ9izB4WymvE4Vi>bW9DF-jc6Md>1?#_x%!@lYJt2RaLbyFK^a<&~6^#dU7oP z`8;lWiYc+?X=2@s*LS#|dhG?5a+BbWI7#OIbse0U!nfo`B8_02rsLF5587eO(UVA- z5sScyNk24tVn1OI^s8e4F70`7J$;~)8P$PVagTri1r4ivs`sFqw+YP))_bkEglXM< zZ+e=@KXG9)cR0Nc{-n3@3_3f**gCa+Jvk(Xh^mzisY3%XQHZdn#*<}6$WouN_tzgb zH7iKjpy8t~YDu2XMaD1`^}hbw)at0$BOTMn8wevCq;a#av4e7a0Vh{E?|W$f3cZsv z{VR~O|CHbnNWgj2do?9_(jap=`um`*##T8=)=Hmq>8!L2FU_+Yb)rYXbvZwtVk&|N z6?#m4*cgP^I#^uQa}BboHD))Ek7iGp7}uMvl5> z$Bb04p&#rUKA- z;sCTXz(?Q9Jqf#mkitU0t7#YFX@$}os|FxXPvtE23tMGS1~sSj7Xx~=rZ&0Vh1%fj06AB<3pJ;P}6fNjd$ z@g^;ZsVVLPZ*Rv&9cS)3lp3j&o=Onm$iOz1vT-&h#Em)=g(_Elev9@{{lKifvjm(r9Qs-Nj5DT3|eaF!gztwAo zhO3$@aR1^>`cF^s333^!t+1QX)ig)+bmKnZ3qb@b=vQ!$YQwfjn?jCx8l*XBr`GA^ zGX2gRwi%N>SJJ*0Jc-49eDiJ3(PcHk^<{avWkd3$V!9EUq8H#}ssW0sv^fL^|DJ3v zx#wd}Y5sFr6{ixI1beLmdzi+Qc4@jX710kVQkF?XliKM)B*Kt6S?d+NhB#$l|Ei6Fcf zTu3$K;4Svv6(&5CxtaYn%^;77Jo@zAw*c#6>!WQdCtW>7H?E1O>Vo569tkgIrKcc) zGZ6A<=M4dmHwy-ToL-g2)zi`zA|gR?kSr`MWH!jiS?h41qS@kCIh`U+{=1gKKfpWC(Fc^`*o{bSKzDtbrREY zSGf3FI^4l{8wb8U_xJ9Io@m}^PO%!1riJ?7zR717(A*6e=NWXBH;(wzSDJ2;$6<4E zCmnH+(%~0{t~2IyT{cGinQytk!Mq2nvo!|JWDQmW#cYC`p$9Sv7FBMN1+&Fp_-+{A z6uo<^Y3lYq=8ciut-`^c^F+VBmHe3dAOe5}Gnz>r4pkee{4faB$j~Cu3)uVgfyX-r z&4CcRc86!>WX?GL1Knlx+aAgS3adZL*(UCAhCvkS=M= z1M{SL!*m>d1JAzNTQBE8OBKQaAwrQIc=?B*z-v9lSeeloQu@iIQ`(Tc5N z=SKAlmibZ{xo^*Q7iUs4*rT6AXfndaY?xk<_cs^2X1p1GkDYDkqgSxx{MBpyWt`Km?;qXFe?YAO(d7`|F*jn8XN@*lz;)+37_P&F`e@pRzj!c&xzin#vi~ExA?u`ch zAh4|Bo?oId>~NuWQoivK1BA)!Et-op`iV208=>~U9E%v~-xO{{QVa_N9nGe@Awu~j zOY?n&!(r$fsU>-gCNM5AtT@iaNq7#y+RAa|j0;}&UwTOAc%_jY-kTP1rmuoDb|e4$ z75F2G%-?#2?fCoOz*l>Ed~C~%-)GW$&nmJ&VvSYh-hD63cA-Q4#U1#j2kW4`%^|kZ7n;- zg}O%!O=K>`>C_71d7k?km`kD^m?wZG9dJuw<*umVbCyIYLQ|mu@3U^9bwV)C+3twjsHL& zM0QEL9`JNfuSdTK<|c}=&elI98Q8a}8Z1oD&}I!ZiO9|tEaGL0gmfLT>gt)Ob9a6EIHR; z=M{0`Tt&9$sH&t`dI4$)6`Y86ai>S{t7nkt%@q1MNXDE;XfWiLncr>CaSVbB}KH}S$^+{-n9*M7)= zKzD+Z&roIM&gF1uJ9roD43_^JNm(`Y`}XC3V3N{NNSIvv(@?Q`j<4N6e$Gv|MJ5pw zF43l?`^n(v=@=2gCT#&;2l4v0g+Y0ze1GY8Wz|;yOTO6l?q){=j9f=^Wt*_8o;r)P zqz~dAzfIGVYF2JGlQxg6Ge4V-yR@z*-zjS&WSUb552}!9$q;J^iPzrFHcxkoLdJ>R zulyG?`mSWOeWa$M3R~MrsB|_SZb^}U7bs^+kD`<3gKcfKjqVvzR{rcD3nvJ9*JHB( zIyQ-9$i-UKdq~jPbI~Rm2``!0Up@57U`DNM0@WF~b5*^&0qaue*b}29WORO+-rUEE z@@-z;q>jfuS~+hN8sc**dLAF$Rl>uS3si>K zC5`7MFcXy}l958Gp5A63*EyrMladh|mg^3`=NEU_-VaMdP=+z>B0Iv@~_Ui|0UaU^-zl*)6!j$l;s)Lv2K zmp-lc;Y2U`vMNtwU`>O5;Y2?sOIz;K@(00PS#7k^z9{$u1;fVX2kt@3BfZf|=G3PF zOR&G}n01!f?vT}`fYv8aO-cW>KPlp>3L4HRy=JCzXa8wvCD;5v@^pFMyZTj7 z=CuAP^Fre;T6d$SGWUJ8$yOc;P(~fObKx4a0&YiqrsM~NIP2uCMRb-qP2R8;6lZd~ zI9bFsW?#ajUc&$?Qz(lOXJ7=u$m$+W_?4fv5X+XG8bda`l&HX~sGwjp@#HhIzVhQS zx+|9i4Il36R&IX6@nH&RSYpg(t~_rQ??GL^7kFH_o@%7z*c7$av6b>8FUHpyThg_; zJ?N-KhQuOJSq1gY<}jND2XjK$e`hoe1(+lnkHtFchJ@mrSUklufdFCV@0j7N_~ER0 z_m;@l#6hF=9t%}JM0)lehJ|i1PUVMDH5EDvJ|Uj--YNCw3HMUg3xd%;J`!gv$()FH zoWbkrdR9MEFMcES3naGXOHy+I?jGh>;&M|7dEP(*JH6Y4&ZJkZ` zoHd)3iD(r`L>6y6SZWZi{|Rdy7@zYrv&J37mc3WXBR2hdJzVqvEsoBGpAfi79WJ3e ziRMxiR~Jp(6Jh!f_57sgmZXEQXNCk<9Uh)nyvNyo%9<014e0Xj9lwiBuSOfMw@!6w zuN&0Y->J+nh%-sZHlOYVH@X3+D&&B)DRJM~B~`bFSXK*I3?`@vpi4orxEV8sonc{u;Zrr>C{dt4;M6G)P5e>UZP zWbG}IZC9^1+5xPZ$w$tmSWTuZmL2y=@HZp@pO&(#kFibOzDLcx{#GFuFaRyn!O)`B zi*~FmYBJc8((#gjn}xGF7@QUg&$jVFidA&BrML{zi2Tuz&wSs-#-FL)b#kt1J!*Z$ zl9@uuG|N3D2rEoC+Mje{aeZaTEWZX_7}y-Ni@((X0sz`#bKsge7~v0NobiHEy(`AG zc>X$yyjJ#7rJnXnhbASy_Y^O`@vs=?YnlL-=G<}GHfCvt1_nO;>zi)#%VySMU&EOA zQ?7XmhQzmdqvful3wiI;9vZpw#QnNGVAMSMZ`7}PBtgFTX(-b}O~5Dvh?lk)l5H3a^R7yxE(*mpDQ<$ZLeCqB*DC{? zxd7aXWnss&ixJrkyJHOLYKRS=@u_Eilo)v%N*a0o+FweG`WF1rGNbUlvy&%X1@E5M zRqiGL?@5C#YSL%S09ouNXY78Qyuy*edEBPphGJ(z>2)!{4n?bJs z_{_7xznBT6j<2Q!K(z9e3RTw&Cr)Ia+BV`nSTBK^m7#6z!7-d0JbAdzaOvQHS(0~i zsmmbp`nT+7^KYnMpZlO>%w#( zb61}(0J)ISyI&69qk1Wmi@)~RlDLE{*tv%>W*(@H)QE>)8&LlPt)cw@f9hePKsC5w zjn&^pf}Ql0<}1k%E?YdOKbTXXpz&@{D>7vevQqv*{5>>ly#MWTA4Z3`0is+k=Qq!D ztGHM62@ikXq?!fIx3V>w*mSH><^Hi0io7ifwud4Jzf+QQ2DE}$pXB;3reOP0qEhX%~QZgvGO}_v!(wlZX$4=`SuSwdsI8HDD9AX^1;M z8{6kmu;q0KN!ScAE#^$&R#_R&88S=MEL#06$v;lfrQ&(~$7*0t)%}3e?paYG=J!uO{aMR7D}3jO#1*$i7fVP{$4SB9p|deQ$k}b_W??981!M&RJmzY{2cRDN|2FHbN>!L7lPgw`O8Z&)l<7m9%BNCjs(HQPUzl^fqS z2lGK~CY$H;+LX3$onw~_&P3KfS%FJzmW^(`-8<-0n$AQSS6kD>`?7Ypje-y^g=pbb_Cq>=HRgakCDoN6i@n5OXjv%_)2g;)|| z<;E_bJA$d-a=!3?@cy2M`mtCKmW`1gwJ*gMT7~cqG1|(T9k2Q?)s)akAKRa8xNKD4 zTtXY4=&`4UVm=IiC}W5dDwG6o(mLmO&4Dv>QrALvt|?fvP>6AbW&oA5*DU9511m5@ z{EQR_t#5hPfym+`$MvP_H6SGj_x*`RL7G>IYPlhZgSS;i#be@at(C?dQS$lMooJv! zv|Nhc^KMhyEfOBbS%bxHQy(RYyc74;9^B40Yvro+>IV6NsTf#HpD_gGs$&EuX_B8~S ze}I%XpKCv;6AUW0-ceUr>lM2hCPa*7HkGs`=%hmr#7>Y1$H>UaFf_5LWPKdB-+jv1 zRO@LX5gusi^zDo_N( zPm5-4c6A)JEn=R~8($UY#;lKcOs`o(1A);(*go?7{6JTdjeVaGg1?~(;(6T(=A!TZ zFRi15c;DQdDC#@^H+)&F2lljpxdFk~K$d5H(;=>J(TJMg6NW$23B#K&W_qT8_k}4u z8aC-&j;bc9@7`_$Yo~txETP}QvK%+tzXRn*B73GJw3>Ym zEG~Xvqg7p7YrE>4fFe((bOt;KR5o3x!N7vS%^RA?IB`XK=Ha)f_vx!u=}Lz%7Vv$r z*8}x$6hMe>C>|y#boR=!<4>gkSG(e&y*szX3W8fhVQTQO>Dp~7DMv_Sr9XD5Y5s}! z@}g`!g#(u5VyqUP(~NYbcTrKGxHpriaDH1bCPwaBt0PKVh$By+!F_T3Pw6e+N-IV2 zmGifvj{yo-6jZuW8v_roBD)qEr~t@<)6Z$%+w;N&0cuGbObyz8i*a0_4}LZ0ewQg` zl~H?>`KECJGxmb?RS!A7j~2fBC}y@M36@aSW$vRUCmmhubNZgbXxB{#62%8}E|=Ji zmmfvVLpyf|u^k@xJBzAowfGLEk$$Eb?FluCc?^6nfC*7+fRzqpXiTW4+pr#>CU{0y zTSTARgdGLv;oVbz=pqpR&~NrnVR#Qqy(!}N+*RFwo{^VyL(k#3Q-4h>$Tf*^SUIcx zhegaOehi>7^mKGbm+ObO%+p}iP&dWmv)1`kjHi$S!+s=RBi$V`&^0}NXqYr#C+N53 z7s3F4^$+A4pm6(Q5~D23of7}yU-O?mNZNnryCvQSAKWYMtj$3n3`uOz5+!oo(k z_lYBKp8f1+k5{_B{DOnjZsfH`V9|TQWSLu6q zWe;?AL+XJ~0}OkyU;a&KU&AsI7~SwoyZ4;D)5oy}juz zi*IW*Z6AFwZHE~|j7IeiQ|HwX^ZZ(JsYCK zz-jsL&}_THfe8;NF1r5}7v1~fqUaI@qR*$E9sM-vC0%(M8G9m8P}3ylu*63%TOfo& zhHYR>aqaeeb7Y&muP`rx3NyE3i5OKezT>&9Ek1;`W`{E21+p@c7^M`TY`wowQmUso zlo>sFjB{Lt#(LxNT&|q`vIL0pP)R7+LVe%rH_8}+SJjdTd>1NA;(DWFc7C2-%TYh2 z;Hxn&P&2=go_GjE@ZlJ0r>Z~D!VJY_mFm0I-zIspLH`K%hV&!2*zb$u1?@c2=ycQT z00y}@8&(?9JzQqkrxG@T6i|?nKA@)^yL~~c4<5>Ex_I_A`ZK2p&FCN-;LoSuLDG3P zo424}oR#6bWcq!FHAOM%PgqX4>1Vuyz#Wg47XMhc!O_+jrT_^O1V%&(?kF6De3ffw z0^TB1PH3pGRRN6q?=#^Eq|Nie^(vbIITybjyXD!YL!GX}#Wk^>Vi?U)Ov&Qk%;zsV|ssMt$r`gNeSk%9&PKpm)o)BNiXqc*=r zw1pbqa*t-e=8wR3LiFPgS`P6^+4sa3bqm$y_~t!o(AC9OPT!zTaYt>8mWt7{mb1Kd@oPqq?PODR(!?&X+*B~;$;MH}4$h2f z1?g8c{M@Iw3+x0xuY1;Kef?{gPbQ85m;D;r^)CF*n4fhue9EKGS+Wp68@RMJpGlUT zW$S4kPM1Cwmiv9yMH-e3%MF`LUFcCs_Q^bV*)cZWidNY7WhPWQvH5o4UnEb+!&`Pk zrX{#$(?HH}xH~VlBM{cwYrjyTrR(1z*7s~KLB*O5L+S$Xs<ThE^`80?qsD(W2zHzaRS048?H7~9CfzyN<)(tvRdYznugs>(m> z-LF-wOz4ZdEP;?19eVH5nO!(@O{m=b9rE{cc=42iPtB^6UCnkCz2d8_?m zT)1WQors8L!lx1P&xbpD{=blU$&4t*K&~+%Ps?9TRl(KBXyw^YW{V)lu z{#-CL-E%W0@=kdgvnlJ1?Ss#}YTS4^;ffoBgN zz@7T4*&4WuA18xLGtS+6972eTHoQ>RH>Gk;j!-Ml)5pgMJHm!c7Q@`&9H)v(s5{EK zGtQmq!&cXLbq*@-FKg9wul?--`?tu;Ot!ZzS}h>4h)F+SY!9B4fHtMapJ*Hb%Y(Z5 zbs~1j9>|iDVW`Q_a>=>zb2W-N)9J2}@5&5IgTp2pVlz7o~K@v`Y z!?r5ydal^=sp*CMPNU!Ra?$vutCmAp4A2BSXf87VfHNZ%v5{(n44EuV_TS8K*Oo(- zT;aT3c)@q9IfF=aQKWAf=U&b*os-YvCFl8A+g8s+{POCNY14;o$m*?*i>T_x@9I0a z)rSb?7v+ov+nIf@ye9RV;w`RWjWV~|s}g>HirML1fjUF>K+3+lscYbHZmxT)Frh8B zv(;cza0!G#jXEt=h6~Gx2b}aE6I~Yy7xz1i;RgIM`FH^#j2wmF7S?lO5%PkVp@vP* zjKTU>x5amFH;*8$y3H_FfAt6Xq%sWjV9g+UrhgB^`MvBy%-L9~?F>q+15osV+ z(Jfdz%ImfMhx*=!7iGveF4D^@o?5Y0@>ZG|H&qU|&-CZZ$T;(rCa!i~pBBp=k;t=o z4!YZNi zD+x4^s0=xFE2w~D06&;fSQt`mcH)#itzX?FSt)_s`mbtvucO^2>&sE65)E?O9X8sI zT-WjqEUR9V#(EOZJp;9tT65)xg`fJDWg~!Y#c5_c~kIlV0G^B0c!+qGd z1U9;MBIwJKrmX)J44}-80~!^YaiXRj?&D_gOQ`&^E^}Lnffr??|BbT`$L_556QEJP zc3&)iQQ6mG4bBHQfB)hjnXk$A&Cmij&2a>XiVRx_GCS!pw8(E6-datGc4^1eNEUaH z^rb%7pDoh|3yX>v5l6x_h8A(Zlnba8@=89#w3jSgm%(=@M&o}Ke`!XdNqLi-DRoE} zFkMq&j*M)E)$Ao*aL={i2;I#1ZoJi`6f3JSid54-*urkEN?AG>Ul2o@?Pq zRpGuaMZKi9N&*t;-eRrKX8*!aS|g{#H~qD)MLI}PFw0bGT{grT;KURBQo{NwH|&oo z)P^XdfJEoHPDjst$7+fooN8LiUzX1gKio7-O&>y*s?BY=`p(l{yQ1{((QqQqn7ue* zbRpZPZvD4UF~ovc_ELT5GLhl-U<<_DU<{phL%n76LAEU`J^8zE6R}XSvst@xYoAUj z;;9y_c}gc`uLB#)MeUY?tTL3^S(Mz^q{NHCbhJ?InrdTd!J!c;GAhvkIg#iZ!-aUE zJrU1OYU#mS);0fd8W+?Aeq2b!C04?J%X4KOKfY+$*2S`7!dI_DU>9Z#4`pt|xLTV$GrJ|f{R(MYy2lH=a z86Px2QqSw*O|X^fm`5GdJc?Oo;5@Q2iNjH6@9j}A+{=w)VI1-1*2};^ZhIGP1Z=VU z`)eiA6?i7UO3D8W3}np#N(QC7fXDApxS4DDEDbk(;nP@}#!9OK!O7!1etixBsZoX6 zi9(CPRVRx)V``fffx86ElhDwO)s1omp$^9 z#g^ll*HIU8RvfRJ(}lTL&0NQ-zJ#*{&sx9KT+5}$w$_EWwI>R0e%M9IOK$+P?#s{BwvAe`di}ViGQH7EWGs_i;mZgS?;V% zctGn5#=q5=(=MVPoeoiiKMZcAB$=<5( zDP+icw`#?8c$dww4(sGyvzeXzbI22Q%U}gDisjK6ww&9Cez_|;`E{wTU7Gq=vtnr0Z1~r%Pz|OQ!;C3*D5Jm2)3K_hV|O!{k-4=g#`> zwU+>2S~$7PC{VmKNAaZk#Z0Cy3lJmA?qp-odS7+&sKQ@9hRdclFrACDDTVY(bj;u& zB}pMrqh;s`#tezd>uaYtL8P--bj0ph8SUk6etemy8O&YBervQp!@FsY5l?Pf7=tvo z;r6pb4Q?=vb)ortp2U(6P=|j4a6Mzho;eN;z|WyNOZAIF0r=)={ZJqJ$bD}1-Q|YI zL^QVnEG&1J6L7z36)HIBL6rUqb8#$c8Fs&bbPjR~xHLD2w$8@SBvEWpgl;UMMWXF{ zw&t{5|A7pEY;b#6y(L)Q0E zW<>FD2y-9-?8V};ISt)eRFnfDWT@$lYEa0GqcYrXa`SAWh+^&PsT6A{Fp^-%Sg^Yi zgr&Z$cLaz*_Lhgt$5J^bWnx|jA#Yvgw-mQ}81ip&k3SohZPmLPyN~4@8#%s7^*3zX zb27@z)A?#pyO(lKxic)rvwpTrxbQ`XqXt}-HSF}VhjU|U*Z&O$6lo|}E7C9q5hKfI z{^E0Y+C#h$@!}_aB7P16^pF9+gTi4~i=w_Ry`}_jvYIVRe5d^g_ZoG_$%uh?GAJzXL3x~O12*_N4Rh5_T}yP(5e%8Oo8}VXKih! zd6-~aBmG4bv%)hx@|y+#O?rR_`=Q27OO8)#24|3lsmG z7W|aUdaJO;ps_N`rM+TQ)n)~{&a$~2)uNSaJ4|1IEDuuk3QT4rj~2*uwi-*T(Sp|H z365+6+i_)WK^<=b=nU9Y6STBcaIMS;gRDvD3o9%SKVi@}jJ$O>4etiscy#vG4wYXe>PRrHYOUH#y18?k-Io=A z?1<@wVjSAOS39y8_^*4{pmcOddC1&+>fi412)Q^bv3)*hL`Gw3-cX5>HXx0OEQ>HP z`Uh(46~|%pr!Vw#2AUAhI@quWk|D!unBOaV3e_}E5p?*Ke7dNFTHxaB=WF+aes|k9 zUZ-r6)6;{lyVHyQ5U;k}E_0wGfM=pyEW*8R=$40FP=JAR=y`4Wwu_$gElvd)jU@Jy zC$cg+Io)IL8*1UXS4XwH^b-T;4?-u_vv|z`PFaS(`By{quxibi{lNpw!^_CF>OH2W z{;B6%G=lVL+Kh6bSbWovKw;qn1opstS_md>*Y;8 zRiZF8oSrx~32jK;%Z7-KWopM1Rxt5dByl)R+B>Lir}8J@q?po|dd40q0hP^b01m8{ zJ-BWf*!Uxm)iB=+Dlw2$mwBL$MMp{{1h)b5wK4P3L0I0AIed;rKPNLv!AUyRFPPBp z9o=OHXaUbAf@+Jt1^m|(F6sl@RqCpL{rc%^wo?6oQB-D%YTHi~e$yMHR@06zd3~#|?mTPi{GON0n|1qzORWtq(;myLV7pEz zS?h?UN5Jf`=0RK7$#z%&BuGmF>5cOT=MyAtvkF>y0cqhZ_l;?S6hq_0sJln%{kj4P z=qGC1QN~v_1*WB?Gc!Gow{WOivDKw%uNgb{(bad0c@5urtQw4P_)h7ks+~Pt&2w!x z)aWS*iZ<k2!y0OkXPaC!~|5HJ3DNpWhwh}`^|P3W%jv#QyR+%=uE%f>ci76 z?IFvdN}j~iz8$;QE|E-m4pwu7xMr7hgj|>>Sx(`eG~OJ<87cHx2_QuK>2g%_M>F6e z4!F_JXH@`5pkc2ny;|LLzKW;rxUO!q_qQ27`Q4u#Q(oTD?<4k!voF}jI)9mc?g4sf zFe^(NJx70n*tpp^GC0R+i@!JHqR}-zRCOC=x0Vn5;_eBEdDYh2R$;8yD-`_QBg_;vz`;nqJ2={14nRw%0$HgSjr_>}3K)G^a25;i2zjyDV)xeod3gShh>p zYQw0%R8lRbAKK{e4J&u*1XZY7U+>d%(Bw({#W8)G;(N|(E?ZXx@n?YYY`*swvI#DswEC14mm^iw#T?k;wGyAQjffzZtuqbLHFmAmjIhW2 zAmwMU_sL=?QzQKKkH~Z)3wLfF|Eg-X!Xb=6dtSbq_Jq`L@5#{Z*=#Rq9sFm6uq$p- zoE*2_HvIhrMvL;@3|3c%87jU0$Fc72xwoT<7oFFw`b}F)E7ll6fkWa94-2n^qjN;0 z<*k{DoQTcudIbtfTvUP@QK4M)-sL3s7hn1y&7B=_+_Mx5{s}xf84Op6`Sk5tQkYw0 z-yU~JDn_!}Wi59}*v{`=J$pOqi<^iD{E0B5AkGjv{Y*jqj7GQV`Jk!GmE}uPwbn&+ zfWBrzg?rst8>7<5IH$P*z5&-r0KTHuT$PJY59t5y6Ded~e^Nr8_b^!ac3yk%$p{Z2 z4g9UIWiH)QNQ7Do{lV=^4z7NHLbmXpz;a5qDhifTS*TAh8<184bp7Eya0o7OAv*o= zI9N1Wl&k5=2}$zA^&BR{6gH99J7hT zR~sqrC&D4Yjo@Vk+&c&M^UkJjX9Y1XC4qvW@zetXl^s=UsB zaXw#ZoYscWWiA7PNCS?W!OeE+Kh&5lBR@PEr%{(MFm*Z68}I3OQzC4wwrEGM>#(=4 z;!yOc0H`&55B8UaKf6-PX=uRR?Y@3UCR)=1Rc7QvJ7f3EjRX(wK&!fQR)Tw#-gb&V zo=2CTZ(W$9GU{P}&T{szC}>YvIj1?N{wY@$l*OZUC~LyQk!&D_)-#P34Iekyua{fwEiNmK(SC}8_P1uYP>qlBDC!*IFQWu?QkTDCGpk7;6jQ! zZXa)$SltQ}-f?*UY09~`Z?AI0)t~*)mpTb-pZ}dPL{dj##^;TRgs5BJ@5~=q;tSGP z&J!J`ZY%wEV@7MQ-Uf0a0sl)Fze45)xMHZ`c2}SO5P||ow{#vG`y8B=QBI)}%gu!y z0vife-)Waue>d<-HV?sSjTES74=pe?QdoT03)A; zk_HVmgi3*0fwr{I!A9OW$!g@I@;$Rhma2B;znO_$+R<7=<9~5Hr2Q6dT`uQXUmR?j z41G&7rJM0a=U>f8T(StQUL-b~ppx;Z@F0&qeWFEVc6>L1TbRpCrRvbqz3?29>isW& zknsL>LS+p>>wcefOs8j7Y}<}h7gFWG7kB^xg-p`_2`GdtD(lf=)RV0|w~NTE7M|Zy zWOxV%x-0c5uPUpGo}07EXknKCk)gh*_?R=*)6wi|MO5;ZOVapO!VD`YyMAI~pG|`{=jD(4B+Z`F!+#VprO*F5T?=02Qu_bD0Lxu#7-GR!1d6;2JOYtH8v_o1}nz_Nr2I0yy(&_9m5S@FhThYDGo*7il7;2Lt5qL}oysl5kp0KT5jB4N zPAV2slf$_AJx%_Tb#Bj_y$9VC>ueP|)t2Sfc|;5+i!}=3dn}z?%r&~qNAgQUE9`}c zdbMf+vcb76w~vzDGrqrfKYppJH=}x>@k}Q7p(GqF92xsFu$p4Rmvj)~vA*Q~?o8)C z3%C8fgCgkq1t;M#LCC7U{kvT+y@f^?_s;{{uUy}Vzp-+pnPnswIwvvyRu;z*%)2E> z-4;_hF!AF~g99>=UiFTbqAY{65ca>+!BEMZp7`<_bbOI*_2ra{m2euy%%rkH?H;FN z(Bap_OC7I-!I^x0bLS4_*Nz`r8sK^($mDc*aNr@=uRF1yT2HftBSqutck!|r7PA2H zxyo2z}Gn+6a`pu}@Xrb@dAgrZLablu+Q-*yQF4fxOmeRAyo#5}J8zFujz3 zlW?aH@*#eie9$y1K~}XTN5Pu6rOS~?(MhVYV#nmmJR{5;J>o7E-({zP0UC4R?1i&T z0tnE2k^@qOhcnyCEArc!q0)K!QI3BL6KHdMRnBMJi)Ep|e1Yj|s~TfTT$`gGhp%Mc zq4%kkSW1#GJl3DlEwHAb^`F{4>2@(k!AyIq5WjUr5A3`A18gd#Y4Pq)ou2NC9FYV4hpvKJ#39--w@z1~@CnKnvcaSB?5;1To zFffI_eC|zF8_e~mpm~){0u`X$=gz3^t)oE=ot3JYwVd|*2>F_mnmRkb=OV-U0;M&W z-h>cqBmcqwp$vz`P?K>1SJog_zqQfXG04%xTBx993a_^QMXU%Rf?ESOgIsNxBJ&Er ze>A3j+psPjYxw*vod1*lhPBMpX|YsvGsrd3<-+z&>a1>zYDOS6M{^3N&m#yw6d61` z$YRBRa`CHgKiUYjmz?wb9`6B~80#-_BB9cDM4XYq4Wz!|Vs_Do<@zIflb6aZO8o@T z^R9#kHBAc>>z1dA!IgUX$i^ML-9EVNRL3%FYFA>Biy!*8f$t$R&%o@+l7mZ}*n`M7 zlzf#Bp9F#imDT5XHg=aD$L`nvn!M8U&%Yc=-Gd5Z8Q&-jWve3LeYGg+nJ4xP@8CnUHyd`;J)DRkKxa+R$zGV*N z3Z+?RZ(e_jX%wY=)v+)87Y9I^ofn{}nT|~lRs$3b*P@2k!oK)ABmB}x*z_P+Q)3v~ zdc_G|iGap;k6m5E-c&ld0hjH_Kfn1apN?%Gg??mU-66Adrhh1#wC>Kkz`-g~(^EU^ zm*kqTaJ)M@EBjfJJZoiPgrSQ}@r}rp;Z?b3h?RAPt;wg;`p;_>qsA^Vu_k6f(s^H- zm55 zo`Xi+I<=!uSvenZ3A@!`C!A#-2?EGp)`n?bappgFAb&*^&HCF8A0vXy(YN0ez52pc zjFP~XM$pdD;NozlX;2qNsNgULT(@5cwd>pslU{>b}0gVMrY7khz=7ZO~Ox} zJS5XCbUdw2OxX~NLmu`M(I zniO+Zh?>*xkVLPH<1Cnbo2`pSIdWAlr-`EYr%BJ z3yrq$rGI(>)rn%dVFd+;AR5iox4D`DZPZ_M+NY+hHA;A>^Sea#vhNPgVc!mf&s&r~ zOuKie`1BgdkYFySnK_7_wf=IunC@MOdJfqTiQ1gjeO7R0;kVh|u11BVesR(tiQ#+R ze*CrC8U0yCuy*F2sQ4dj9sV<)CniS;7-GlrL6}wI?BNJ)ZQ2lcVVLylGpo+XJ|vl5 zkU{*&MIfuUX0^3Yxy9ulic9fsZFdl;5@nyS6s`7^c2u7z@lGtiL(@`&kBh|FR3HAD zc=j!Y{(<)uR4hr^f|0< z{UUgdc5<{MOs>hl_2B1NzI~pEs-^gFYxRzJfyJ6Zt3zmCwj6tznMBi~!`21qo2V?9 zsec^Mu_zHWRJJ&EFQ4gxH(EIm0l9@S87{N+Zxz=TN(~Umb|te}GL_z_Hq4G;%12{r zK&{2)iLf@V4>%>X5p8Eo?K5I~a7_o|#=yUY$a87!=3hj{65$JyGY zy-<@ad+?lbvIhvbZBBiBm@xTXEu0o9!M2JR`dg~)OE}O{p=zzc(mOwa*nYCRr`#|J zc*}cq1ajfHaB$+>;Aq$!b@kY~+9IF&WSCk=bFb6-lAV=H=Fe_&kpx<6j)wlp|JK=}J+&vS;AEqbV8ZI~vWI3hT|^l=S7g`o0pej#~;;T2P&%_8N*6?{`S=?4njy zh|h%Ka9j=JuKululR1(C8tc>Y_21?rz5nam-qi`veTOQx|Czbyy=`MB25DBK{0LBN zN2KnHnqd*CLdCVIQ97quYl_bLk>G$|oEy8Zihw_~vo!Np=8%?_Ivhf6lE|#M-TqP} z|Gl#qZCB^0M2`2iilp_eG9kY2L zSjEVe%T!^Or?yHavDKaP*6&n(3Nx2v-hVma{Z1M67w7)8&D#YO<*+RA#dOGKSOW=Xs{`j6$E6HsoI+O!w2jsJ7 z7WZC0#KZbI5a9J|@loBscoMDo7;a=GbT24(iSanYmDylry$OH%Nt1lF*jVP~@mDZi zbYz%tGBSu6jpVHIBXP+8#PIECa>}iVPE-Usi|=b zF)>LQHsqyKN}Z($tQ0u~jcZwQ16-#{30I@9qzPz8#0OX@r-jaHwqVpPAhcUyMaS-4 zzPnRNbis~3JM(sHCge?pFmq1OcV1TYDSsuqDcIy?^Gj>ja}$2|^RGhtq(o-f>e*Cb zL7bdfa$M(OW=y*ksc(-kEc{}wJzY@mt7ooLD>h*&Zb?MAK|cozY7O7PQpEFuGN;0L zsqow~Xb|t@B0Ff(TVE0N<}>NsOModu{qE6Gh-YWc^)p9uOTS(R_xV>ld2=NTEsBYkTU?=5BID2gq&*$?;TXkNNEQDrneOBR8;WCoeDvalGc>iDqy05sZB2zNx=hRJMxcy`-;*belhbWj^q2 zHdkw5VLtubA=&BH%}jrk;&%SHlP>0)+p;!Ivs^RH&(uc|gix&)6f)~P!{+v@(@L~I z{RH~yV{I6_FwSv<7*X4gIE;f1q;E`bm!``tN^5;lcip#b^nLNmPX8@^@!Pq zxBH<97^3a?vnIn+Z4dmH zqoa&fT0NCWKz#?SIRr8!b8jG{e6ZLnbo=8=o6HZ}<23#>MLQhHzfS!wQ|!V2=!9k5 z69$hBW0=kgak$R-iiq1HD^SE9pWkr=fq{>}Lm?(keWJ;tg7YXR*xU8Bx8n#8-B0@We&TTRbY7n;~$|Bc^j-DYcrW z8sVUkdp-9rMue-+W4&HsBm^Ll&XTal!>&9?wHLKRcF!&AVh@xjuypDU5R(L1jTQuG z9f0ODO6MLyZfNLJr1lrN7TR^Gps&8{>$Eec@~HBA&W#MWDMhY2(mPHZbe3#fRol=` zD5F!^$vUf?BD{%&w(n1L#V)82M{4I z1W}-U8suw*R%YH*{(+M&l*8a_-G4^v!V*7tm_{U1|G1CyUGd41Y}G<}*mC0KwXG|~ zxn+9(L`YcitA++w(5oP}MV8VHQ?JqVLHhN!9E>h%udE-_T;DjH{PM^bMWiZGe}Mi8 zz0|b@Ka|S#D!4N2n-}ATX|3&@nwKeIczUy;w0?C+r8Qnto~dFfWcRCLuK9y2)|hCc zsUBx%zV6=D1j|}ws2gBuPd@uT2PjE_Q;1a$P=WzON<%|_uz{sNx2xxs;-&riZx+1B zPk(WQdDkev{Keszx)jfxm5p0j6E;D`;z#2IKG7!8pyw|g@>@(-HL&KxY@5&SUD^{4 z>tO9#MiT(?9Gkg;D@Ucku>Elmc3vQ=i)gWu9`%bGV-d&lP}sWydHuhKj|Dx{h|T{> zZ$qB8-}Z1-y#8XkgV$SiHj_^40L@z0T$H=c5pca$Xpx*5ZKV8(3)OyyE|hzdDn?|7RBKegOm8G0?eR)P^k;C?;hBU2aP514X0TNq!Cf?UDvHU< z+YXs?Xg??V=kI$ez1nw;l)VX7Sgwq;?g?CLGYeVcS=LB$(upQuIQ4giH7?wTW`^~A z{O;y4defuO{dcSN52arKTFGJH`Ud)o0~HmC8S)uk_gc{&+H6B*1#`-8>H;prQL4&L z@Cmj{l&~j%7^6q{_zo?_Zyj#O=!fF;7GoK?Lw0Q`sWLr|$oFV>!RE$+(s4)1xF`B^MaiJIvj0S+1>vHK$#BLef71yC}^5$O`W1q2t6gXO8`7qg`mhB#o z?~F2{lD)d_vQAGT>M6V2e-GOYZYKIAIRno5y-4=THVGJfo!mf=l$*b4d%LbKbV9aR zsD+3m={!b}!3lmJm@6q-Z0wmE>KzpBL!XnG&Gp0APo4sKX2n75uOK10X5|-@uMpxC z#NtFcZ)e+TLyr#`Th~b0r$UU-!9 zog?}n$%@AOe@!A3`Ria>%Jv^8kZ0zehlam>aF^@PYxj-Xlsl|^6V_5lu&K77W~G~g zqjS&tub(zJxQpQsBHzP<$5*!oj!PTr(R7?UVoax5_@7z(E$}*7|C@G)6?uMLHlfCf z8gQ>50cfI40C%=G2KA%!m$!RF#Wa0&G#HqCzUE?6CzhEvB$epAFZ^vsQ;R$`Wf_)F z8$C==HSil?FCJ?u2jZK`!CBWkU2>6AOomEQxZQFt#h86V`57HrAN1+njSvS6is2&Z zyjU`78a}Lh_SI2z+ds~V;+Oe}erRW4w@2(N=HBVb!v`ZNFxYV;@({crXte$TBBPnf zViz`re9N)*BMD~bQ^UV%LZifv|9Im*31e#9zT~^+S1)B{n-AM))p~;v|H%b#bCB3= zzpAKASU2w?BXfzCa@HgLuzPLeH2?vxE4HdvwvRPx8WYb9bmSLS_*$yBwAM87EV^OIF-Ii5id3I&=1z z!mO3dddmv-#W}KDQ$mR{QOKSDUBHpn%@A7GcRZBYcYw2By+=0b>bF3y4$ANW>y zif-sJ-5?8p-M-+S+&ElLodtU;s^8&Raniuop%kAWn5WV_@o=FuHY9jSBPsyK&11CT z{jk2w%ZrJ9`kXr?%GKASiv+<<2!{iV zl30vV&86ufP{VDVu(24)ew*K;9-H;5{0C@_xhi z#fjxJlPTc=OQDYUTdQ$%H{5i-lV42+5BC|IIH%S$)2cNpXo1Pqc&3zoxuF-Q6G52;XBbGl4%CXvRr%U&{OZJ z)NptQ;zQLhXBCk4nJWWv+B8b;vMytDCy`lCxO&p=_rn9`^A1W|BSvq!O3vWzItmJ8 zlP+@AG$y5BI!gl%mljkOEjG^E%^&!IxS%5AIY8#zuS%m~!G|f#v_yon(~5i& ziSf~9rq1^)NCTv}={`HgwZF@7PaN+6H{2ELGnlV_W;II|4B zg(U1nocLKa!rzlTnk8vE`s_pLKYa$28*4d~O_*h@B#F2I2P61{tDqRWK2r2fQsa12 zI8i;Sg#03S(R0^czzbkI!<#2w2R8F2{Im_GM&Y?>Bs_U%5*Zlsh8=aI{=)PiqB^$r z3(ck}o*xCgpq`+5#0DXAa4La)VIwf&I@tpsUQT$tRI!O{A|=`kDC?h`F#D*Nkzz{A z#{_<7K!$n!H##2HJ-Xr?dR`Y*Sv43Ck9qlNo__D7E;fv{VY@+EM)1fqY_O{~V=oTJscaB*m+;z0N1kBhahDk-ii^RPn2MXDz~@ zno)YYVev}2zJXwGcyv4>|Oc1eQlCP+Rpetg-&8xX2u#G4avDS##7@KTyCaW z)CB*`T|Ry%y{}fcGDzbtm!?IH2NV_R^cg;7Wn37cCH4ZQ4q@VU>~*hLm|97>Me=8z zg3i0R#;am12Z*uo{#~i0!MNKqK02vC%WOK)WW%?^B;P4=Pr(c!kEl)4U$+&x(kylV z!fg(YpUyVt?|X;IelznHdaKd1!SN43KXL+o>9ip4Ve zKl5P^biBu0vrs?1z$DEBC69keC%Aqkw+bZjA$qSC|ZnqA1?X^4p)U$tqZp76)}d5|UM z?FXwb-CSrR?=n6jWJt5XC+pWYzRUJ2RjQ;=PAWl&2l&{keFu3b`XgZjdr$9wvF!Bg z|6#{O7n`GNPAHCfQs4op*wbr>#0yNEK)lm>L6QIl(fuEAiwYhS&+hHB(mBdi)->Ky z46{+=YU;OSfI1TXnDV`h7;X*;pq|J`Zu+47x-{>87>za(pSl$8eD%HVytiD0vW1+( ze*MyZ`DT6gadJMLBJp3GI@IL$tDwkFAvDc!FP9Cm8IzW`-OCQvQlW!Wg3np>4-_Sz z=lo=HH<&IPRYMQ5pFIA-Z#53}5Oz;>s){2jf0ejYW$58!xph)e8N8+d4&WDDxdFK) z>~LvEz_~$fS3sISqtNX+y!R6vB5}t3!XwrbuW6C#&P@7H(fWl&aC)_Fm-iaQ*vkgb zA_^Td?gwb70;;XZdV?iLam?D*&1du>x_l0Go*irY^h!2ty#wp#d@2#$ariSM0}(ED z+sws1hX8|hKX_P&n&Bs8-b0_}Q`kqPUYQ(R{W?+VJ8&E}H9-I^9XCe?f}0qzWfFb3 zR`PrL`?Cq7x3?u?yX9uTpX=3?Az-qgWBXYHb!RFq77o?I#Z6O(D8OI%dXgiNZJR5f z3|ddK-B#KMR=x3}+EOGz$ME&BD>YQSIwV4xf7)|>>#F#J7c;B1VS?=QwkO%IN;^4~ zl9e(zGJ?~+I0t3h&f4Ol%M%8bt!jLo9>zQ|ob1uP$~&lEqY(3*_VSQ4UvHwU19K^L zlqLI$XLwcZ!^KGLW1j#*MN5rAmPJLsJWcU?FDK4CK*r$7d(iOC$99#ukE z8jOSU1BaHf=Z)*)T?GOKd1_$=sP2fb?hf-~`y7$s$e&b3V#;Ez{-5X@N-;!3Zbru9 zE3@mVVG~BDZ#Drp#)l3v1W_vU_R=6qr5!}6AaVA%|HrRVw2a<*JTQ%GpD`&JGxfkA z=s|9d@XqDi!K1ijkFFI_NOJp%lNuKoYe19Y1^a%DO;Z2krrc8k0Q@mGEkWjl{<6J_ z#fo&(p+a&F4do}bd;|bSIsVNYRB65oUy0Si3shZJ&;3YeVCvhKQ$#H6a~POfeAE<8 zQfYU5VeFYX-quNS==+2Vk2u)t51-7JV=>8!zc|DmeCCnA7TdOWIL9(q&l~kC7ooo2 zJcXwbIl?eULGqxCWUTZzs3lk zLHo8OcnkShM#G*Y_Mr&byXdsC787nb5jfqDIL@F$5D52%<8!)16N)|bXYAzE0XG+q zXe!~$0x~l*abeAdh_{?dzh2i*3|gpbzj8_Lhj3+l^+6!YL~FJ|p6_A+?xT@#q-D&z zvMSq#Iu81%qw1IhZ1?~xPj!!kfT&l3!yF3oRR_V#+{BSp7F^+Buc0b_fq3}z!z4jP zdDA-hcj(#@=m1e%U44w?%b#0@b&6eNrr64i+yA){78ecNjav ze|#k{G*T*4KXSafL&sEO&KBUWJVZ+B9EPbW7u!@Fv$5W7v>3#U ze`qqqtViBaeru1`2&TE-7S1@t7b8XCOpndY$judTaJX>v8cE)~agBLTfGbZ8hg+po z+Q_zek!*|BeX*6_tU#4wl0gQ6dC*}SV^`t$gQIN@A0EsWw(*UjS{>Lp2_T08a?O;F z&t5nd8$Tee``U95Tyndf&`@b?9es=#MKf8Q%*>)U0_XmBv910mxJ@RD5);HwFf&48$4F@7_pBH8m;yS_^?nGiG{D zT0=2<%*Lf%rvT5>1*t3Sa2L3z)KL4&7sd|*m2iRggqkaW?MA?VcLQFj@T{0*4E265 znq7zF+uikEyd>!lu1VvoMzUj>eEd=*M?2}4O@0AkhSy<)JctC)U^-clvqI+_57S`O#Pq(1fYO&)rW_wVvLvE38U_ZTC#gjl4KFrF7C17usU-S0j4{ zptcxQeaW=z{V<#ZptQwC*Ez>g<*c{;|l|lcFYg)m7d+;^fZT?Y#*e){dBrLtK5^~1b~x{ zK8P;LiN^L{bC1yN1e^~x|60d#tPPxnFJU}73oD3UTRUz5uw&ny zY-qg}$XCelx7>MIc-yIyzJnQ&TX3#Hyw|L!6rq{eQJx_8-17-*mIDh!d!q_79L=5s ziC81iCh>z)g%Fx6g_KNmI9y2Ne;8}u(jRWwmbi;WC{0*|R)6ghT5_`&Iiuxod^Dw9GC7YRq==klzoB%rt#!LDQg3m`+t{dlfvy}; zI7U`SaR{mXy0;^*aZGj|OT3vIgw{-1-_p`irTIlR3`sh7-i2$OjdCyLc2tloM%svd zn1IPENU6?t$eTONhqe*k-MYXEi2T|=F{|h6Ig*0kMws>EVuM#T;tGoE&T|P?=Q!^L3kR3c$4-0 zhdNb8lJ~C0GirS#VK=z`|Key@Qjc0s=x7y3#7to&m2z0UrKdud|19w0zZt$0HQ_@N zLCQ!jl-I69F(p+68o2BOHT4CV4PBS4280|k!3PjrXw3H=O z0DpNCvL@BFavPp8PvKH20iZ1kP7mZFS>*!Zn-UYpJcxo>|}OV8B8CnII(3vD@A>nG+K;E z@>VI1n6gYlC-y~*Q7^swtbvmOBxNKdB0MAd)>z%*v#NgB3rtk@&@m6Ck@(pT1jW#Q z;1dngXZ^nkH8GmHji}!n0Eof+7)7I{Ykb(E7N)f3-Qc$AqtT4A1nx= zVICahkChY+=eJ|%$~6tVowoApszs(!+MD*40CM}hPxsz4Uy+j&^qq*$>^Fe(UK=hC z*zgLS;=bH9$;YZx3g_SDCM?`JdB!;15#!A!jEx`^jv^L7RciAb`kE=_xqLbKWRpLyH>#lOSg-a#N2ZBFAaP`J zvmfvnL^f;H@%>kc9p6=cPu66LDL}iU1IF~cYiwrf?;%t9YEq}RYeD$t6?Do#`Tt3D zLAYFWgNyGo#i*=nWb-=ch3174H2T-CMQa}vdx1Gz*-;qhhH{01jX;_g&$swAD-8p2 z%7%{fNi?!d{ME#^)eqjgrleD1&Z)eUXXbG=NnHK+74QPML*z&bjKcDZ{jft~D8d5d z)e9+3XwJlcCY6ztd1H%fZF*pYN08-PgN3x>%>SG3;tSsm%=Q-3F6$oZhX+Z4Mc4ND znd2b_D9u+b#omqwB zfv>U{FZIs{tFG2%NLFR--&++UgRtignPr;ckN1hm9BcKNZh?$7BCi4gkdtWH95=jV z+YrIG*pd?97v5vZ&)*&s!#m>xd-wzTg<@QFSUqPZ@IOrCA+fjjr~4%7s?r{8R_rbV z;q6nsa|McJd!YVlz?S!inHf2FuM>7x@qP8l-Vu$DU%kW02z5{-L0UJJ1JUf(bfEl; zJf2eZu&V0S19vthMts$Q-0x%Ln3p;PeoQDDZM*M;p>-ituM;SmK@T?%Q{csP>cen1 z-Flxt^!0*~j=xAw?(=?E%~$a3`cLz@s%N45n1c0>;VFbGE(wna-O+Q|#Cy~|Gn;W) z4q<&3siuxOVFI-hrFtTqJ#S(lW~=MjP(ZYimxcD_=|l*9u;@0d=&a`%*^ zYAp|UyOpFIP8)n3b3M-@fEt-p=fd>cg<3#H^#10Uq+`!&awE9|*Cw%s0(hIV%W1vf zD*TI+?m}7De4#pDk?``VTWUGOxp5KJE$_5*A>%`^syhacQ3J;bkn|-wXldxjRw~>bcY#VzO_5|%vGF}s zqropgaqV;fy!9F>fxY$plPOU%~U0T^uNcmVVCZ&ex#b27yax-C%jsU-LjcJ=TD#s&qU>buscvaDM754p&*2nv9Ln! ze-a&?iAf`4qc&SxrtIqEtw^o}?p2v~B#tAuiou>S(>3sF z#w2LMa%H2N1NJ5=3vDeQHeAoC%OG`fC&otSFud;<1{H62hwrq#eo@^_Ldx3!D zV?$3spI(P$qKgfVN?^;48jent>S zP!LD0Y1TByn^aKgXCj0Zyg5lI?rZsx`JTBG)SH$zt`A#y9JQvKbZ{!!OiI*ElL5lq z*tkPvkpy&c{)9s7(M z>T*<%(g<+mHwIj4DtZ2FW&VJ^_G>SBqfuNtrO5a^XNy18-j=+wj&IJMSEE9ta8v*B zLfKN{gst>aul7p82qNoKUi*`6hCDcggW1qtPOjSI+uV8RckvaNN${cF1WGE ztDGUG0-!*kok=%z?p+K2DY$!_`lCRip^HBjaav#7fJyeacsq7Qh_&3(F`0xK(=YaV z)ZbC;|4%L(k8zkPYd%!vy#(8fmKs8X&e4vD_?AWYkr~3dhVRC#VolRtUj|@b4K6EM z1(c*ei*)U=6^`Ml;(g`jVH>*AQEDKtM3D48s)InHor&%|f>m#E@rdix*lucTH*voc zZh1=*!8hv4ESnalY4 z8sTWb#Q=Yxq1rC7O=gv!Wc6D#`h$&vV%hj%7rPDleSPMmX^ewO6eG;uy*3F*OsXVg zT5cgkbV%H}e$Blbuiz+Px(@dYjetmL>OX4U)G#{FvplH$4q8wp6=#P*A}V*@GZ>~) zlP5@~UN0>Zpg2vTFS|hSq@;glNN$P>*pK{+lguhKRSZZH@!ffBpJ*%hT>=2J# zIQckU7=2*l99PNmBm;qm7cloRgg`e=V?w{rRp8KVuTeL($NVX(JDnj6Eq?%(E5DEkbY; zGZI;Y$<|L@upjpO(p_4Hd`;MZuRNeOpz%Y71PcH zN;p;fVadUxLO-nLZNR`eol>(_kh{n#cZvv$cR~t_xYu{uK#UFGN-=n=Jhiy!F}xe zfQFjz>9@na1%sZ-x{y~ZtBHpUAND$wlNl%frJ2)qtSe^g8m<+Hi(vfEX=|Hev9B4|CD#ok-I3>v z;v#xJp?`5aC5np=F?ZE!7zx~--q!Mi|979HB-TQUU7OfR!CGwp6dj{{swylk>P@Sb z*=&5Ddeajj^F)JKo8ja~$pC5ZP3j&@{I~}X1^Hi`nZBH`Wpc;iqJ1rQ6%AsmJeoA6 zH-ReY6i-lg$!|=2u&DRI?4M=3sXx%juj@E{h=F^al&N-~>*fc2Z~j35x0^Ir5cPNy zR3=YU@;bL*kbH*u7mo-LZd7Yp;S3343jS6a1nfKfu-hIhAnC#R=F$u?+%LM!eP}Dv zQobvo6!;@kkv^9XvOSfyw;q|vX*Ho-{DxIh(zmK9&tk5n)T7&Kd&D)E>~j6#19gkT z@L+QvjGe+ZL%|xwJ(sRwt1J&`x|{JiKJPEh!``&5@>k8$v(PE*pxr0lCwZT{wDB@Y>$ThV zeeMcB5t>Oq3q+xn#%E$SlB6i3+68AvSLvMdjcK+^bL|bUUEiV^Ne<5OjFNi8AR65q z)pFmhL)wB~-O!k7TbULJi|2m(KVBuyVCLcIvtZS*`J2C;kWm;FN=B}^UR~L58=kf)TknX)wwRvRvk%$wnN^}K>dDAL z1v}f3vmviepT+ZeKQHXnCF>6y(tDs06%_FP^=m3F@!~w)8F#&>)FKuYfd%fU*?T9GuQfpQTR&yie-_IM z0?qPaAok#*a3*!Ic%D_Zrwz!77E~>~8*9K+yuO@?&`SMB>a<-4Qndd1)-7nI7_;mTJ&v&*HO%%Y+v=|JBsr1+!$?nI-IXML6ThIBo9l3wKv z4nz>!Yib6@a1k}FBi8w=R2ye}C1pF?NlfI7 z&omxCR`u=5Pe@QLu5R|nD<K zh~;ds^95{c?*(j!E_1Xo>*~&M!N7vQNL3W;7r9@3e5~x-(84W(XOMx~)6z|EzmLYw z;CDhKWYRmq0aQ=985tDlKYwwub^z0v>pEur?LpYMfwcb~1%u4oUmR~HS)OtkpBmwL z3L^LI25RxWzV*FSfz@4KeEClXeNif4Rzj$6DBRG}W)*jx{);nP+o$XMc2FWD$HENn zZqko)(tH%_xx<-l+@EaUS=##gX$5(U`dda*aC=hEmH4el(d)cvq7Ryy*HHOqDN{o= zN)<16mY8>QcN0X%A0X?0mNy-RiFq1SMCQLeEljqAtrmGYpNa>K`#u6kJrGc5l!2B{ zNtF8f^YU_AMlL&k;uFp{2N;Km(h3kkXqO+FtaF~(GkeHKs@5<3>+qb`skPhW;3(xF zamp>a{;sQ!3CKc3C+cr&ERbZdy+~kp(#E~1Qo#A-2==F}w|$I}u5-=5rz-e#!`vQf z(Z4mk_;9uNn>i;^OyH?v^p564vr1bu+iZi>U?KssJx8Er<$}6;6Zy3oTQ^m|!%ye> z@5vVKu~c`<%rlySW_$7ynG=$;meD#=H2!T{k7u$y>|jk5T_^V(NcWtr8?TTzadIv z?H2MOuhsKVGD9ia_0fKhjdpOgUs@a6QuX(8hGPW`AOEqrEy2qYBFh%spJV8|u=kOp zkSP8#cv->5ZvW6ce$VSHXrU-_I!6Gx_~8flz*cq5?Dk6)$@dZ*H0SPs#;4kqi)bl& zL-l%$wB-M=bd~{4KHwI|KoAi{xv`=x+Gm*L&}$eP6uKv*(=iJIqps*{v1?i(8XFD{}VU-4oT7ZHBt9x>Wt}Ztx0L z7{shOw0n<5WsVf%UpOB67h9{P(hIN;5kC3%y=qNtaIGmPuNwMJcT~LoNla2=!0B3d z_gsJt<0tc}-RfiKe*|}RFZFZ@38R(H0Zwg#*vh@pVP0PV8j*4@B~NhX{`<4FsXEL| zMa18QT~Tc8XJ5mmKi}X7Bvq^yf8bnM#V+NFMq-?QwobNH^g|yOQH3JE>-^wxKBi_4 zd}q#~Q6FDh&5?eitL0eE2)Xn>eqRi??7Q`J)VCyjA{8qgPE~3@Vj{L(Ol;J|;38+_ zp(TA8-cEav&2fO>+hacdRvWl36BnV3q_e8e(7xO$muxL|W8sqNvq7T$F^%99x)vX)0T)dRW5Ry3M3|xTEaOg#Z8Dp7sM_h38LsQafLNHgL1xSf#bd%!3Ua z3_|d_l<`$_j+9+&m-qu=hHqYeiDcsoaFM_VgS-JIXRrnRrAa3sve9%`7aNvmx4K8RHq20PwMmYy<27#iw-K44S?)s2nvlp%g<_e+)`MAFbQi%CXcEBec{G5!e? ztwSH@I6SWqiYFk_;BfHy!wzhC7h8B;wzWZ1NzsZAym!62dUcU>(g;I%=UFc0y)Sfh zFMbnQMXa&lo?QO?T0y?!oN1h+JEDg7Z4m{-4=bPzsJE(MyLh@O;5 zLHhQB#+$sNSkz1$B$E1h-5mO0w4ZbN|0-FhL6~c|Pcz)a!OIUT0#XqOSS| zX1h#Ym=goph+PS&x^7qJ{Hv6DPzh8XpiB%aRap=)+#U;P&H@~u*b*nQEh!PaPo!N)hm0~#u)muy&XQLiegjnTf23sNwz&dhdD4* zfh|>+XVRpMHTlbD20z{iZvKOt#(z81+y%{(TF>pQE+^yUlV&}RtndhL(PD}9`T8G5 zNe44UhfsleNl5PI{OKObA!)f1|?M|02YE|RL8+| zVc*AYlT__Vox8N3U>Cml?$|W@-L=C{UE0cvRonK6+qKt^ zk11S+AfwwkXw1}kIks^4?VhCz-@}gIF{$EF%C_>8h&;wX%7}BRRp!t7!~r@a9sZTFE^SSX$JK^`?HGEPeN9rQQn(-Glye@3XO8lrN`_YolY zJ@M_f2oP<`x&eNfi$FS};gSENMT3coOkAMRI?w$Fn3ohXOAPyRgGUzJ_L+kBr-L`MF^xHVg7vLYGZUmp8N(Yk0OJHkdc%|6&K?p z$4+Cp&y+fHg~whykAp`8 zLE)jF0<`r|xT4bWB}*ZEn&y zY6doat8TINEr5rq{}z0_UI}qC{U{gla+TCy1h5X>(jae$(4znB1i$7DleJ z!bl(V6F{b{21GNaMy-42$xvP!Trq{Jjd*Tz^~ZZZ7J1yl;SIgAA~}p8OjHJ zU!#vQ_I2@(peSz7oFo?kM(&&$c_eI+wr=-oIo6~xVlmwf8LoF=r%o{}T7%t>cOqQb zdwlyg;GOt+u;Kl%r7U^0mz^xSrJ?q7M}^XUB&1EGYI(QS2AFA;UCv2k167ao(ZWsc zkoe6H)37(QH>ThsWgdz<$1G2~Qx`(}_~(0S++okgHoJPehkGj`4M#hA0+{3wWViaC zV%kdB9?RjX7$+!hMtpqjMJxcJQGNdgR&s;)yz~kx@NSR}DmWDj!8bsQ25Eh8c5OTT z;SH|{OOhMCV6feV?xVcVd`+YNLD5XXC4J*>7gMZRC=u5Nw+%4cSPGsR@nvdB^B$(6 ziEVFQ(L5dr_mSx9<6q4pE7NdC_v%#hUaetpisPn4GrW8;WhFIsaX*2;1X&2^mx@&J z_<{Hd|A;eVJTSAIO=u;11!nV5#N$NUawRHGEn>=1<{k*Pv_RE4%pv7cjaAR zT+ujmtHF=Mf;Mg)+>d(eUOwU?0f>M!YMV3?1*QW(0oK-N~) z(J{y!V^y2!*PzuYMFYa9w1kl%8587-F6B=<|N#jO|{t*n@UKa+*3T=HJ8-{GuO72d)l91)} z1+tkY4(7P=06%Fv((yEd{nbNT)kELgPpMu5AK0B!ow+aTWK+R zZK}iHI&lKYf#x;x( zpXbzcD=%;peAx@oTU=zxd@NdbrF#e2_v}yqcd}LZhZY2`8&em95dDoU=qQk z+llpV$H4_f#j{U2Zxe*_W*v>^7S>9kU`z%Yvl*+20CnrV;v&AberoF7? zUY7i~O;Rtua|>s#zrRk^If6|9(UfYI7mGB}Hu)C~cK>)}jbk2RoUmdPAhf_H4u9V8 z8R?E8g%n02l2;ve_zV zVQRAXJVdtF0OqcS;_xL`nIV5f*?Z|oYGsBp9f+BU22!UyW@=LGN=NnpA}A|hP?=Nh zJ+)4?G~bcq;9qir^j#Y|2zMWJ-uikkylfwGQmpp3avPuCa^J~JtH5OTXiLbXAz3`n zK5tm5_B))jvB2#4z@#Ncs88#Y@K944_Kv*H$GNOZCJ^fS)aYZ5!3!1sshuX+!t#|O}OUvu( zb$AT@lASBoG>blu7vf_M96K1O&WJwdwbQ^_uQwzWi&qOo&R+2La~r3tgcBZU#)ZWe z9P<^F&I)OkJA}>Ixf8dZrHeLxOTH(}Jhp4<1`*t{#9>LjroXiZj#T~i+$1hux+wo< z7VUv}-c?lsH8CFR?u`ecj7=p*jlZ9z^1S5-+=ptBzRpi$=DhE-#^uJ8t$-KbNIl_D zu`yBCEbni_q)6*#*Qae)CJjpnt${VpU27K@1-(ttj5P0J>9{+NCSA-rWdwFT(?rp{ zpn>Qyj-TN=n5x7Xll_B!=AP@A0P481eivqNo#@nn6b6Y;3a2#V7~c3&s-IgmQ7P|2 zyq2z9O)cu@mmOH^%NtORqA3yVu<}}EG>b*^S>l^RY?GWeWNZa{p7FDjUrzW`(eHC- zAdgK92e-JzPo+H;FPb&Esxu6}WDThhki>qt1A1s;`w^d^yU|f0!%_=QRiAiT6@6ZQ zZN0^47+0Yneu=thl0aMtiuSKA>RgIkeU}Vx557EY&U4W zUP7{6>1vH#vmps;%3)GYo7)Y}sV-Lxc6m*_FOb>w2S*fz8|-TC>!VF2Vwg{<&?vL6 za_ElWv1W7+J$(B&1gDHOSis3+H4agA7!p^BW=gz#l-t*fL&oLbYd6}A|51fPUAA(jh;I~DfX<+Xq_l?GU$qWcZ;96d=|bN#zOJgz90 zV{TO~aBOs63UqcYAKG>2Am0dF-x&!kiw&|TzWA)oYvueGFaYzgZokzE|9j3TN!KIE zSbN#vZ~SHr z^2>g@&}r4`#@}ZV-G9?WOQ8wOO0m|UmALG0FsYK#)yCnHYpZfhmUv^O^GgJ%@wdeK z+hDt5V~;T!BNCRy6Vw#@+}C1#``PA@>KO2ZSz`Rlq<~X zn5{c-_;onquu?!kowvfI5L=81syepIl`unoK76pPfw|o_+d4q@9|8T92}_U^bthBF z?p9dmymjoWie_h>OjEB{MP@d{W2weJ@jDbV;0}X!Mz1q#mN@n#4@L*Djbcj-cSx#C zfmem1NG)Jn9D9|O*s0W69z|+R00k2g+#w)%@cn#S@wH>fQ{rcjs4+Rl8y98+Dc*DT zd`3pw3u_Z(ykeizUV+jq<6eQP)MflbPV*%g3Q!R=2c{;nG4}ld1=;D1ICgKRArA4bC0CwjF0HAL12O z^B3B6Cfu)Ky-S%5pYPS|$gM$F7RBP+yxyk_hIg7;!kWK67S>VYi9)=PP+Ac;S!_uME*pR`nTL8NOhJ;tuVIJes;wHqx2Z5v6Dc3B~fdQFL~7Bs0WgUo0xh z{wx)K`yKG3WGzKfl}Z?Z+%=1jb#=$z-_T(9yJ0RupCG`0k)`K+!Vh6GKcxgtd9O^2 zN*N?B13x=lly(LaDgQ+zB2k{S#r+RwGMXB{TN|4SP|XZ~0Q*&VO&bb%WsEjAGn4K^ zG%Vz(-ege`h-Zl>mf7T7uNeuRS3=# zK@l9`j zdV^0;?8&s%R%8X=9Si3-kvx^;^zza>sw2&5VtzGu&Jsd@$R`8YUL`^K1jqc6Nv_Xa zZE7^=$p;O(J+gr;9ZW)!({q)%RSDJeuN0er8+Jb!%5flp{%~!7g5ZUWqf55Vp6!=L zPK;J|@ravr{C;On?;l}-2C;3W{rg$@JP4IX-1Mf)Wh9r;pLfB)qzBqt7}20w z)(?TvUw6g1vr|&)6kJi%N}Q}8bEAcYVaszB?(VCYbrZEgpFkI9BFSdfSfcSOlHYv1 zO%?74QmF(Q`cK6d5*(vO8xQu^Gbn`+SIqR7-m0rPXn8{vF8szmJ!t zeQ7Xw0~tCF>UDj{<~Iv|lx9XhJYBlXUvjZEdF}>kaMThV%0v2lZ=4O3vQH#XWX%0B z6@4#7HQazCeAz=|WGu6xJ^aZkb!Sq{yMV`s;Y*h})Gk6q=?*RDH~|4e{F6m6)?wUG zR0>~b#du4-pf;d7zpOlIk3@~_TW3$^1HzYIuhgj3?%7cG%P@=!mdKX~xA1wJcgoxk zx?fPfU;*!{gD=&DHsKC8Az$}aChk@cf0OF!<$JU`)kny^4M~=05C@kHL_0yKMko5WtredHnJ94Jt81j<&p{`!j6D?vq{k%yg-QYKs(We>~kay+4t`0>5|uJpRo&Bc9!_W8nD!M^*7O zfZJ~!t{2Kfq!G>YrCfVkhH9NwvsB`|OHAuPi)1fOy(Xjuj@s=ZyyOd!L^zxYC{(#!xP_wus&pGmP8UA5y$3)U8O$6I!MmC#~b)m&A_M1kOddDy9 zO*^w7FZqiSt9)TeN0@GV-=MJD=h=V|_||Gts%iN~H`%c6zMgb%OT>=8QM zIoQ1)i_~J^IrcDyt!oQ*$K0V#9eC4fj(?w>?w)6wUFQee8`Nxefndpz%#{QEjER1( z9+5TF5x$4KNF_6^891HUv-MoIryJEiz{m@;Z-3;&W_FePxy+;ueC}bBkp*S(@Eg9C zJK9tsnEYGW`t;_E?dw5sYQX24v1M4vdM9J!G^|sr@Z!2@(5tHir>lGn6Y(Q!Wt(Eb zG+T9w=q|tFI%)9j18r-KL$d1#QWvvkhKTMMT^Rn(6lqlzap3t9fr;X#7adfSpqiKv*sT8+JZjG>N+he^J zu;1t(CQ7WKi4*bsOAEulXy{+r7c0N$w_=NlGk)R7SDLr<@aR8+k;jllsw-~{pBMDB zH}&4@*wwnxEysny%ces1lzlsc+#{fY%00&zR#VGPky;2@%nLl8gHvm6261>0cQQ*RCq)_w@~De+yC$13e`uO9;K zq~qqV>Si=ej@7KP_Muq>Auu_>Z=vn}9|8EnLd%-0#d&@nJi<^9``WeOvr&s}3Hj^f zj+Yi%`s*a*0K6>k1EyipA!Sx4(OV_y0d&vpez#wu%(c0BTD#y88sMA<|^^U$XqP8Zwka#em@13 zOP;F@oV{A)AMZ^Nz7{gNOc{^c2u9WG1=M>-xj8z#`MVUJcoW-~+STN%iT(Ha2yT14 zzbGl)H}=|0Pan^y$LqfJ_Nx#PxQc$J)EQtC1%H3mYdqFuy;1bb*q#-;EN1ZHuv=>+ zn19b6ax^s}zVEcWeYTuIo!}Sf2bV;@;)q%D33Pbw25(fIiumpB3|u@$*pv;9vNM^S z=|<^O11hC4*hSZl64#r!c0U%wFv$d2uMBf6ndW~4KBa$4=QbWF_T0|bQ_$m%Ci%dH zB&*DmFTht$sr@L)Haq8|#msitsCf<)@6SQ)6Wvr6Ypd!5w2D1`9Zcu~zdH3tjvETU z+v_N(k^XfyF~;UR;mInDrl(9f$ua0pN}rXqY@<*u+GD)MQ#$K!?|kV4>NIDD3`DD= ziw1cwpn`LO@+~&iabzhJp`zQrLQdXz5)rPMK!? z?K10$J7Fqpxf6of9@~$v$=^&yX9btcG%MMy0&Ld`9N{Kd!QI)qRW*>m1?5S19N9`+ z1k28>O>mu&72DE%eqk8~5Y#q-j_CaMy9RrLv|u_)3s4jt0q`U*O~d42i@$b14(~8v z=ltYlU&t+8n5n7SPN(-DLA1fW+)-+CpTnNX%#VsWb*=yd*$X61O$ zr?HY!ZXZJlU!Ef;2l|cT-PgG~<#;Dpdc0i_;jce%nLm3FgJnLYwOK!5qz5?e<~;)5 zuhz{TwT`hF=KBqP_Uvh#g=>i#;Ij}b8j6j9B-)N7$+JI^+T|mf?MZv6o?dm3h^(1A zdFb3J;@w7oL``S#4}iG~ zuL1oqV4%cVmxeW;Mj+t7s64*@q>Isa>iex+o?1~!T~6}B#{1Rm)MR;*YmFrG9kBLn zS9LZF7ZwkZY)!WkI!{j)ar$?W4oP|@%1nY=0NsR8u2fl6OS(gMT?Wi)bhku>qGV9?!t zlJ?TF-V*HQ!(DWQJ_!)&W5L`QDOnp}9vi4+FCPTl4c#Gw;!2p&;Q|x44 zo4ms9fQ0j7?N3YdTtzV*NH3EN6crI5aE;1H@sH&VxJ+I~y2RSlgmAKvD{&5QFBztM zjb)$1^{jm~TMkkcFp_!AiGslgRMj|*=7YEdjfAMSUoW#T!VP#3oL7s1EQz%;fay(Jr;evk6cKnvz%e=@u)j8U376|GOglNCjtyIa?@L zG=ZLw{U1u%lk8`_G)G?ZCV6)H_;lF`^4r;MOaYUDt9QA$hnH58WWLPweyr=Rss@3D9bAQ-1vD4OP03u5^iSvzNU{Q**z zUx0}{gwGFfF&atgy|+C3@w6>P_1{MHGEzPnyzs!3bHT0juHm4xNmd#|z6%dQ4o@)9 zJCU(3^oyRall$1<`LU!^bMCXgH%Cs-BDR||!1CB@((89C?)Ba>C$OuJEe-bD_W9eU zO}~#D5k|-dp>9Tc`(ab*Zsi0Xv&MP5}JOCDyfY+>wMh z#^%M@#BUH z%Pl`fvOo3*67r6b3oKob0E;sJ0oS0OykWoxvdE*})GM0k=|doI?qB=IZPnw~)&r#M z&gw~!CU47Z|JKBwtDp)9@dC}Vz2}Kr<-$c9%;S{_e zQlE!X-2P=%<#4^)O6x6p02FSAsHwzemn|;v18Ym#&khby<@7j9g@aP zdFpum#trM36@;_y_8SN)KYP4Vq3E19`i3#0`&*IsDDAfMkSTuf&SuwsWdr_!gl5d~ z^nBhP)@<8^uUwS~^I^uci?}`YgVw|5ju)Qc>1s#gHpv?dAE~l=r^6H7SdwQWNt9_M z?KEHjdZIc&^~Ceb%9{);Lic=m3^`kb%6rnN+(GZxYz)Ba)+=P4S20P{vXrHo740}X))Z&6f2DAcc*n7Bvf?y$vpZ-qHYBml2ut>B}2^R+7)!e zR2VT^vxW<)aoLeGF7=zLBz(j8asH5t%j>>tZ?KI%RkUj8K?hLq$1otL^TP$v-z)lY zI*~z7(f?DBO(k+gXO3>=J8o(o#SS<6xN9t#M^rACYIm$5)8a%Ddp< zCA$w)E4<%MG^pjI186xWl!85be{iPTtx6*Q3?0LXmBV1p%NW`2Zw)=2HUs@F6Q5-x zr%&@6$4$UPE!*OC0@*T5y-f7`VV;{UuOjD$!@UWu#w9(ZDD^{0_4K1?NhxiJEVl|( zi|H(<^(nUpC$rhA>wNNyZg*HL3&aR|44|s0aifdb3-K{E$A>ri1_R>bENbQ5V-eD+ zw7Ds6Wk(v}bD&`9wsKre#__LS6b|1_;Ya2U0KarrGPeU@QE z@zB??t9luaGE6afFgC&ulo4@pi)J6i7v+CH7;Knk*&VsfB@3#{a6f1^3PZ!T1ukvs zr|=g<8YXl(a1&M*$^-2`JESc9;6o_Hv|*(;-Sdj>A@k1C1qGaqR9o#og0{AxnuK%b zrCs;KDu>qf_-GaUKEmmXQKP1yj>7v0*Yfw42gHx4=xE=64EeCFq-nk>6MyIES|^l- z$V3$`BNFUcb7HVg)&=bzXn`k|tXqB`5-tG2YzH+Fn7X)PHwLctgp zg~?(kFjIcQn|3n%_Lt#T0-~68vc-sl?)a+pS3C_7*2powQY;_@{70bq8^i=L+HuZe z>~zTQ_5Fey+TxOZId{wBUf9DTrqPIhvgh62F&ZzDWHd7V=m*Lx5J9 z$!!HVp?WV?%1SQ%MM$kK$38-tj~#1;$67yVMZeb}A~-7-E@PMx{7pntR<{08I=YSisA2_yg_k)D5z;44Xn$V@(vTTRV3Ays8YO z7(LMbA7|yplH*I>S*2U?ZdTCV5Vw3Es;?FBe8;r`+dq28)%wb?0zfEL(7s4FkiY93 z@9>Dnt&B$e_X+`R+zZb&b$tIQz}S%X&=r_Het<}@vfphWVL(NVf}Da&kZb6mphfUr zDcu$0)^!hNQB&wlB5J2$=qBA^7*B6X8kGGK%3GCUJ?J4dcxGhd&BxfaE!*I}KEbSx z9g}LD*;wvQ_b=%kY^`x1-yp><-8?&KzL5hMe8=>sRz`#Uc4G{9-H3_iBxJ)WC5(0KmdvOo+^TF(;$Y|Kb`wThn{ z{@Qu4W%iLk^vOXK7&tJhOzq5x`&!B*V>Kl z>m}lczP7WvEaFR>^fZc|D5dFO^5!IDy~SDSj{Oj}{ssL(dQY84g>AF(2xD=>w#3wT4&PDk9m=UGmwT>IOE;ao9!{#5(}upr2jc@NzwYMfv{PL4PE6QPvPyp3dEk zCcgcY@|HF^iHE{Vy*tTlkj;i$KG=l2B;8I5Ti5DLS0RSYb2#I2OmhMf8jX%c6HDZl zF^LbSuDA~}n(m-&9o&h^YROgyGbVhPu^a#9r{0nZdva_N_s`7`f)CHoRppJ1iSp0~ zdEc+&Nw78Uu>y>fxPMkmC482Dz#o8?IK!+Y>t%TsY}PK*x`Zjs=6XBWm=u6LnW~A{ARg|1`vt$C}DJGze^&=%-mubvPIPZd`re zpMdYxHs|f8B4sSz1{z)u)a2p7Kk{&J-Qn&^W|7qy!)yk|=Iz4qv~FJdiB$32iaQ}! zCRxyma`nX9x|F5ZQ}uzI0JBz=N?nly%xWj(@RUhHkh>=UvWlehSRd_|g;6WuO0AX*keV}^xZUalMg7yBH-36 z7O~rw&n=F%AH?gim4hZjvcL37x#<}~dbTdyUL!7QVZWk}3b_jML0yiSOr~K}JBs>G zIcg9j$bf{~jLdDc?!Lc$N;N2$$y)M!&v|Y78*Yk2nbyK_Stf*=1J8klk?!6PUYTJ< zT0^5MwY$)#^1tA

Bsq)j%eF};&08=en{E_ie9i2k$>4hG=-F%as*l4NE&N|UH!OivV?dtSZyevt9NVmprZO^Duk!@XlMd z^WN!4k(IbL&nnR8t&RFeD$~lSzkCfTi-O^rhv!i&kID?29BtBI*`J#lS9-C`jP#({ zz68T}Gb+cc@bsMt`jW&b*6DxVDrS=E!oD6L`Wl!!GhXr4lK07@!gWw7%8s8)-7z5t zEFAwvvtZ*sAyeSfYkJZ1pFGkM=Tg=V5wf}8@lm(ejTT%5wVqAmHH%~&&irn<8iOO3mgoznLGEd2u^DE1 z&6-CnW~2Gzh&0`Bc*7Fm1OO;SKov#JAKe=p8vw8^@#%l@(eZSR+t zZdbSUImPVj&xLyqerT}?#U^}MJwCh1J{c5`%#%Y+)x;Akas^eUx_PAf)S?x4Mbd0q zdt?6DHI9w=AAiXDLIS|;b>zY}G`vq0YH0egHlv;=B(s5|;id{i)8rB%O1s%W&r$-K z$ITCG_Ix{%5#l+aVl5o3Ur(g>@W9L00${WI*OxSWoHZ5)!@nBO+r>9OQri|ZY^{{b z#~)UvKgiFu4d{cLO36Vej1jJT$$h>u`o{)y4}!HZ)xXx7#W^U5_(Sd|Ma4}b2mH(x ztCCXn$By8V>PzSn+i@JUC?96w5OCO3uF#s2en3Awr+S(+0*ddOemici>b2U(M2?r; zn>M`HXJMP-y!g>Grs}IX&ScXbbS&}#E%yBS7QlXj@|rL+D)!aAwbaXUH!q05Ys@N*PkuM$@!HK zQ5NoKOEa|Cs*$xBn(Lrgq9!XnvEP2}*r0)qrsDRt1Wwy8ky#*Z;Tm;kFDjJrVBMt# zd=qi7@8NUV6s+jy+rYIZ{^n;yAuyw#Jw-2KtBLAoOJXdzI;A^G+-6Mg6qp@xbtdl{ z4HpTGHfMzGpU}744(~1t2Z*XaM@7Czrsbln%S>3RsyZ>(+Nal;JWwgEUGeekljF?s zgp*T({|G|k5T{hjPTmN&S1)t3Q^ilwI@7(`4igXIW;~+z_=n_tc#7GRor^7mWJ75RiyCw)!Y zw`j~YO}OwGk1gm^;<&Kg$}vkxjvedRd+6(*Eu;iD@UHCnwx13 zMd1)rE#6dihK6p__4pbYB^ru-N!zV)ad$&1Uk~dPkn6-JH=hPcHK^p<5?*U^lV897 zWYgXI__~flNT|5hpbF;|SNQBHNfy;@E>?w?`m|<-`6)R)53j4Ds@!sXq63^5*=fa5 zokin`^>tb_B?4aV>D(}hSh)s!e)Be!ZiK6Ki_KN8npKrYm`I2H`Xj~l*&QC#*Ab!K zcv1f32%Ubmb)yNRc=BR(wJ@p)ALF1{tn8P~@u6A|g)YBJ=M`IF>Aa7AYc(1W$!}@G zNltTl8=f}kniPu?yC5@55aFi2A=G5+-wQ~S8%oChH= z_ZFtw=4Rm62n&f%v%Sw(fOd2jnLVX2mC)^(l#jYEo6N77Jn@wl|90YSxI7+_Zi}>0 z9-fF98ra{m_9a9maOhn!1`aHbX1o_7@;`KZysgKI`}+L39$TEEjo!3SfMs}s8 zrVJKD7Xqy^OPZjirr9@fZIN1 zgylLzfZM_mKAsFn%K9bhhf)*SuJZDl%`I^=QQ4$Ay8T`#b6?f1SZt{b$uAh?K=k)y z-lr_+#V-_cd%1O1{o&$vYe$SyH4rGuJ|UTn3f%Z4={l9*NRp}n#b}2m4rzNo&ENmC zpic}1r~0N{j#1TrGOTX-N~M=FXs>5O0R2pyFKgrqkZ=|H+`?m)HTs8=t&g=viq*2i z0~dpr4rIh>{U9UQI>R>!CD}&b3F#_u!phMHj~#bEk=OF@te%plT9q=5Hp6=7E2>;9 zT5TR~H%T}=E)HUcCvws^L~BygOoO#tFO+6PY8Qwc-q|UqtB>Wl#kX2oJ}mt$Bku6# zaEBowbpS|9^jBz=Z#&GmUU5^`cP`}=wpQ{HqlkFhXR^{zWHMY_zkuB$545dgu~fB` zRZPjjbpDbjb8*a*n@J<1$%Xw_fKbim!(Y23BZm)5nm5ks+z%Wskm`={`o74)Pr-pm zMzI?HYVMflxb~*5;P>TnwzK{`yyiaehm{^lil!%?yC-#Dq8KEVZEsyq?wK)~^bC%*nWZwdRWCYIoC*8=OulbMIb08f zea_|{m_B;!X5uDMPi~*iukd~+nbHZbrKR{g>S3}NlNYC??GODZ>D6LWz=KnlpiIPb zF;#W)cd_E_IlCv)&0|h2bvcRSiJ^(Ix7h7}J!4-)ntvQ^nogv5r?=ao7&S(JhAiIj zhJBu`a|2J+fKb)oy3@F>_S6PDt)r8KOrz>St;iUGZ!wZIe|CG|)p5PuF)k9lQ3;?5 z&5G_)(eL@hoY@MbSy`N8x8xpsI5!^YDr^vS2j+^`+ZJBb9kGn9y5UY96>6=DHd3|J z%;QpdJAn$D^$hj;vl_~l zm(b0r-J;A3I&4da{~UK6Lq9C1Y*wbuFXJ8Sbe~`N-xB7hD)6i{r=- zIxID|catc`@B3jt-q8DNvkXW5ys0?YP6R9f{mavCc;lLsXmkpy@L!2mscl^LMlxm@ zFwzm%ilnBG&{KTox9nFdiFwvO9v@m zA5F$ClBGgyt#-QPYWfKKN$m3fUL|mAb@?Isw+ip;J;{Hrt@<;LlYdri#Q&8JIB;Gk zJZYP#yVkCq=lzXZvvtUENAl#lk-v4XqZSe4hKq`Stg6Rqxy!yJ>pK?WoD!BaYP(~{ z`r4YR8kr|}tJ(3HGqtyH#x80p>bg9H1Lf1GMOZb4)-uK+iB#iNyz)JPY{7MUg4kAD zPoHK~JYUSw?D+TkSiyT!ZHwW;6%o?y2tNO1OQa!R3ml2O?yJAvx!s`I2D}+hKj;nF zW^K&X%Z`+o8^ZZ8A}v~2SJ}roBaiwVE`HwVHj-cm8%lhY=^X6l##6aF%}{D1N7r1P zlH9~5gjH{%tbMlG*Hmz-tGGjlanr~-n8cuHezDQ*eBjDL{FxINf?`};$((s#ht*rz zUG7RFs2qrVxqkmu_&e+cs15CrsNp#VQ;nSPN27kHEL3$!uSMG(-uchT(kE$wmI7f1 zM6FLJ_f=0Ak?zwaS$?8W-x^v!1NF2=SZUGTs=85#%*(V@g-CjLA2u0kY;~N8Q4!WCY>mWogf#+!1Yk)Dh7GDi$Gq<#YHz>7 z?9bCa!M1(+liN-s4*hKU!OC==&gpnKFSATAzLb&k{7>$^wWyB{?|Vf~#m-Mfx_4}u zb|5gTI@<4rkK?qH*q(?L-C``FV{4($m#>*C6!1@vg8CW$N1!ZwCRcM5HikFplP+IR zh9{5h#KIkP*#m}=yHOoYmkkpbmnU<1{?oC)3|tIR8r7E_TRPDO6G_)mU3)JbMwrES zfm?_guzvq3!MVAuyDsoEkA-pWJ8a=QohDRITz>r2#XQc{<2E|21x4|>b(c^n08T}o z-1rDNrv#Hd;8~&e*GQu=b?b7FB$!&|7wNr+M&db=i2n$f$6~nMerX%p`N`=bg84`? znQEQHxgt^(m2lPvS(*14F6~1q=R3b}OL8d+>KUl;qRQafdh3tkSKnCq?6VTu%~4Tp z<3s}@vTCeEwcqpaDjFOj?npIIF;A6dMUr^P9w@c{E`1wjq#JP`HErl;yK9w;^^>0c6;4h)@g*Jw12jSah+`88`@gjA;`6!s{xm8xGZmp&1sLcbS z1syf%SxoT@=-0bCHQQoW)2a@o9C-kF351A$Kfn?cFNb)$tSTmRF*WzG83Ww8^?e%n=QKAfXazW~CR=Isb ziO{>5yys<}yvP(d@A798=Q)F*l>Z2Bh71vYi`i;*HY4Tcf?i&~C+fRvKBD8Qi%GL@ zd2`S(O1@Ut$u-`BQg#*pN1#h8e0dmG)l#;b>F*`)F;<$&hg2MAzlhgOmofRU&#KZC zFyceIe35By_f*8zOA(@O*ShUEsyv15)$E=?WHK2XCJoEqIRSGSR+7~Et@^2HrW;fzITTEyRnWBjBLlt%oD{N0ND za}ky?A4hG7$vX5Ft=LxHJ9);434FU-Hy}(v+WlOEPC=MC_t>_xuX$S0qAAtF+1#9+ zrT_Nln^s(nn^T_ebZBm9P2YYCv3*U=wbv+ny&T+!q9THJ<)EN78lhhYUPk?pphPnU zY47!p%&I*gjlmnjET}xb32KvxSyX(h%Aob{T#CKcxiUO*MqZg0@HnN;*{i3&U$#qN z`Mo$tC^d5+yD)-7}t9XXi z6&~*+5*!)^HuM!0ZKy6v^-Z{wP^qq^aGSPE2f<)+owy_@QY0tqJva?HcCS5i#|Xw( z>aLo@O_t^1fBGQ`!YM00!JyYpR(Gnk6W-21-7m%P3f*S6=aiQ|l>yQk$HpjH)Dan_ zQVhqF#!cYYd7d~3j>j~Ptn9AMT9nYc+9jNaqa{9uZ3QsHn?BE^7ln9>FPERZuD6hZ z97pLLJM=iXcIlf7GcxOrvpX0jCtbdlde~#EbRCIrLxEQ|)qri%tTbGz-;`(%J?B=6 zQvMa`8HG{0RXuF>G3~#4ZzaWPnEX-u!y3!jTm9KYqyB{S?XFE#NI{)9xm-|E{ z`6vXXT^JgfEKjLKMJVd+Rqr)syr|aqBwAPXor}HPnp(9%`WQ)M`WQn8Ccw_Zc+WKZ z&4^~8+97>YOCWGhun+haJw6&5(=_~<%S zPyWR`pm5AAndY-vr8(Gsa>Y+}sF~rnB-xrR1V}CoJ-LoNjmU_G;?j==7G8nOn!1lV z3zFc#ZnN}W*V~uKp`!IKD-;F9f29J zx7ySx8r?_3K0;rdoIkkD=!Jd-Q|6K8A#gAxC|o$u)dWRM-GpLmvFy#%%x$L8QYj2{ zfztDmFN|pFFB`rvUH^O1318`W>egN5>R(hSjB4sS+KPY>8S|&&6HF>xgl-<^~N{bwAUihTg7UK3yJkMNTo>=lqi%%6j zSx^Pnc!l^bt}MtVwH`E;yZOxf0X4L0XDRpBR8eIUUu*n_H{V8Pn8mq!=A*Ru$Q&}~ zNBGDhKSLjwi)GBLJCRx7;E?0+lX=<#zHSQ9YMTlVqt$E`_W>}#g8eswGPV@1i?HAj zf4hQtHQ?*(Y|or7*+nGhC>?BRICyIK+EI#b^9Z&${EC;(!ggNMIyc{M8l)n!DKZ%= zVv%c)(LD6-7W#NwA`GnJzW*+bI*+6AEv|3;NFgGsOpc#kNMZNmDMym&v!ohnaR(*0 zh0hmpY?4GAzVC90Vo(2?mz$!01G-OtNB6m|z9nrBF+>`Wuc~t@z%$kU!(I0wvyGPpF|E-5=uVs&OknTE&g8Z zgzFxGpejx#Wlv&RYb$J!i#ngAz+i@UQ%d|gjx%=lRe6fR^gS0)YfnuYry;P>p6O`h>LJ{3rM5mgfrd=5wEMk!(UoXJ z)C5l6Vi$#Z9KJh|K;yhA&IXSwf@Nuu#Ae8ViB+tZLc7 z)aNE(%G!L-iJ195{fF~T5=Ro2>@gkn_5J(%=^t;RD_i2pz!5(KAp_CWdcuR#S~;0O@a@%W)G<@c@4 zXZ(`?;W+*szO0noY-<|0zYRS29%l|!+=Q10-rsrEP&bjW5irLzYsa`UY~EHsvD+$A z?{o7-r6vk-Zmm+l?-?F#3@s-(1o`JKV6!iNBbpZ6+$xt^CJv*g_$y*tELa*(E$mHf zMpbF1;AbjY*hu#1i8&zl9i%6V zX1}s6l3E)wKSbFxt2YRSOxUIY(H97OQowDFH4VtHoCE`goG2ie&v4@ScKKBXw`d>d zpIJIf4~xIXZ|)l(@_7<%^Xv#mPAvpP?+C}f=*H^5R~ZvDk@=$&YvTMm>Fkv^y7h-~ zpqyK;CIPtG@lrJg*zK9Qsz1E3WiFPEX&?LXW0;C8yVdJwbit>Xn1ZG}!ZLgHvy|33 z>x>JejQxe?%{t~*lTIVEX`bNoPRhKBtT4Ol{^w!hpf~b0<>p5a z^WAV4%Qsfh_n67V1oU$%#HK?=Vl!u`tS+H;VSTD~b*fd*Rl_3l*Yz``k447gNS5UM zleXggAs6(Mll#Gf1yO>iuW%{=a#2I=3M;~a*Sv_Qz=UmJ!e-$blYgqSYAcnO^E529 z>51Ld?E~R~u#pMxFD5-*`nA9Ag-vGHavXVYKPKO-G3iyZeK|hAc2(h&TP$;Ft-iB} z{|d+UlG2Fka;9_G&-4S^T5Bb6Me$3%t7{ryLu_^Cy&uBf4ip=dR8M5Sju(h&hr|7V zkL3@^smm^=hUxx>n&SHDzMN>AT=$(OVOo0CIxfhV`zfl-=x>F2=HHBEEjHgoBioH> zX|-R6`BhWTc3Zf^wP@qju6piUHf-RC^341slHsY zgsg$Tz&VeVd!`3JCryf?->3JxgP~-WOm^+D?RNL5qZB;{P?;$SsFVohl%NVZfW9q= z6&FDoN?)qKD|!*!p#0KxS(dspy9scO@vG~7tSV$ zu~y;VdC5N2+;Egg8YVsMc8He6xkWuz5jxj-c_m?RFdFyrN>sDzCtn>_I(~kTE#a|m zh$zLUtt6c6bgVk9c_OfQH~`Aw^+pK~lyR@;*|7{>N10I!#f>CZ&&!g|ELcRwq8*%E zy9+9?$5>IZPuiF#577!`50ey{;B2J{XayMiCpg!TzJfRlI5~+my>)F4`h)SeW+{H7 z)t4BO@$R_0`*y$88#Fy9N}iv|Nzw_F5T=&OP-vN&3&m2Nf1xpV=5eqm+6s~$U^Jz! z9T9RJ(l?*HNm=Rl81P!(j8@r}Jcc=#$I>-iCXdy~ICR%lhxMnd{0#f~xpi$#ayn_a zrc8z72K#*a9rEa9i$n5u^y;7h1-<-&UVF8TGqfzDS%hTs-RN`uA;VSJwO({jtYev= z#7l{f7O5dplet*f{2Oz0>Gz+1lFb!A&o;r~w~Y{F?7Qi01j%0{0IeTgK>$@6?EwPZ z92zE$;r4o>+v?*a7yCU+8@^uqI#&$<9_&xiDKnj>i(4&?b^*x|nu_{<;!kYnc6mYtBCMP!$m)wwm+Syo@-`kxEze!+r~he4!tv zIVK50gmm!!;F?cgO6a$Enb%7e1=e3KA;a*{Hd18M^3r?xW2#}cVDt>Kx_0mijU`&i zwl4imXa8vP0SNH^8|*tIz&73r2N256c2&maM&oaX`S_n_)LuXpS?!Oiv>%;ah zd3|jgG=a?9OmcLl(_L-(T`(khk(*4_Pc#G{J1yyLNEjD_vUM-C&y` zo543g-CY%ULu(_xMg=Hm0sFw9k1#pF0-qHRDJ%z5K$CLQPTVZKXV$W#t4(4ZChqIW zt-XQ8+*-#!20X*Ok-uxY|HUCRzR8>8X|6Od-t$Jp+m1HtuvKHbyA8(z^|CH2M%+3y z#masDvP>;67k}1233!C)bOm^EV-L@8#IF~&4NsoC+}}U6jn=_EZmHT>t>q7B_w9Ck zdlV|PUSIX?M$!)*xasR*qEVC)8|u#SanS2oa;?A50mz%%hj6dG-19;&xj?Vtl&umY zZWQHbr~xPWr_%)-LjNbJVnwk&i4apMoj%)J^jPGZIE!*;Od^{B%wJ#p(cF}dYN##O zc?|!vs8Q>&J{54dSUl5NvU52lK&oi}2#9Ep!7Gcg_f#LeZc3@I!CckF*{2;dOp}V2 zP|AM|0cjYozZzv8V?wEbtJsvL(=L@{2HmP?@hRSdoQYkGuKIV^)-MoE_BUzQw+Ii< zyfFeQN=k)@*Fg{auO(coxxiHm!3ofXj4=ICgP ztvhu%`1ka^6&d%Bd1^F`lsPzm3wSFsF%NI)c{@6mBpe=LYfl{ufAZ=UAoiScMZMPH zUl^J{Wi#t;U5YZ#IlXms1Q;XhB)~YsBPV^6=P=WU-{X&cb$Bklsoc!V@800`_d74h z?5B&Z9)oG{f>jMz7}a5s2;4s85A&UD_(3PA*$&cXTI&L)Tz4xeFNc{{hTfdR zCCP~F2dHu{zs?y%-Y>{6TWm~I*Simz#^wyAOt+cAp)jKs zL>OcN;@Z1o!1~2yy}`WPQYWIfMhM(Umkcu+233GZ<}eVB7EQ@ys5QeW4I#{^rb`wV zp&fWPh)xyS%}(xBI`rZ^0QBtq;HmC)Oma;C?q{xXcY} z+58(I^1!uZAOzKrlHgiOa}2dK$QkAyt*EskQhQ*PcgE2d(-`)Xe5|JOnUS?=R)Egh zKo`xsw=sX7P*_cFZ7wb9yx6MikPQ*kUwYQ2stBdGaAqT<wZf|OVEuW^^_%&S~A zS^?QD?J;M+g^zWod6m_6ZirfI#^%*RZA)Zl!Eawy*{pp+Np3_kH@4QnvHD^o!v6N2 z#gNcd1&shn!R<5iBOJVo5gGD0*ZyyiMZ-Gd#0Ean=OOJ&Tu;NSDPkY4^}4wGzTDU4 z$aWNb#AM&|>Yifs3GDMvu_0(EDMDG9lq-B4Dl!Q=fN262S^~h0k;cggV!BlBeR)Mx z9n>@oM7t)9T0}*jpF8j7YJZx@OEZzI*dV5ZQkBv9(@jnd+%56SY`gQ^=zCn+9MbSf zBH4sM|EHyYJ-a~K^}<*4*qxlg(3Ny*++d1!40tf*>5{yo0`;+SqG^F>VmUh?hBhb! znG6L{vNrKwhVN3e*yu{IYXV8w=_UAoL7+U@BDUaL#KeJ5UG02-$Nb5jZ9}5yuW+sZ za7cgo`9;zXxMHLh+nY|A!&qkfmYgou7u+r^$G^2Q`7LA{NDqflhiYs4@}3X83Q#`M zj%=-2s(-qm^NdC@)Y#{=Jv)e}_)L&$W7zox6_b{EHxdETh7!P`xBwACMeq+(fR+1EYcjtFb;IX2*pA+J1UUJPaO-8V*7sNlt#?=H^mE5xrg&y8frpfyZW^=i{Rz z{3egf$(`aazZ?sSGX_vQm#(w=owm#qAtF_b=b&dD!XtHc*@lmS+itA@5AYH$DioF*ppCH6M%KP3@36V2oYUvqUgS{b7Zg8E4aa!-U1i}1NnN(&L)nBz7kH$DNCw- zJvu*@dhWm}2I~d9ix=6n)>f@^c8eWOKQP^j1=d*{c@$*46_*oWPtyuI{Mex#3UT;{ z>SJzBs8fk83XPrIl(emK1uTalY7JzeRukr>6PSF#Ia}a%@Wh$d^0q@O);9tz5VHd5 zVtO8feG?pE?ByhlF7)!4Rm%W8iNA=grXfg<$!t%76g5?$`55jRvIuT3v4^g6n9s8b z&zC|_FN*)-|Pcx4VAo2k^h_Wch7>*cc60K^{ioGM#2l2(4npGUaK?=ez>z<-v{0A<*2LC@=UB` zAK)YtJml_QsV?}J!uE-~9bG~%%2`5e_m8X(v*Y^46}|#fe}O@oA+1)bll7lNmEKvQ zX&hlnR;b)1FOBmn!o4TM6z@!Yu<>XAsWdpIS32cZ-D4~M7DL-K>P^W?_doSu>W z#>IQtf`G0f!ufgC3)%-gO}`zl*_gf^UH}OP&vZ4U5tzHMD{4T^tN60*4bX z1QHbV#1LZ_5fK5$*$QHqG=CiuHGszQK5a@QS+yt(w1Da&Dr){=N(=)itmULc{`B}? zQ`LaMaO<>nU}>Cd^3a6$`}z1w=R;oLnwYp}JS~LDC+EZ?tbi03apRv`L7n{Y{9EA0#t@2o(mcyn7*U#tqgd?n9U0yK$YI z^b!)r6uAS{Zt12JQbotv2fP(U_nY-Y#e~G!%Y|N;SYx;@Q2w>6n=0pF*pA}Z^T4|B z`I2?Mk1q^0S>~IdlC~KMC1AA7xlV(1n|a^RJQQ@G`s6FRZxt$_suQYEoh)z+eF21m zffTqxkZj9!prIkCfVP{KzOasa`P`1{!>u`$;mf$=8XbyR{BBP#p|Kig(Kl~3xJAx9 zhBL={lJgC0S71Mt2$JSmu5$uyl7|L9l&Lq(x_Qo7CYU;qQ^DlE0w)TjfQMwkC&Y!p zfGijo2#$duaG@ZYin6KMe2=AqGKru$x$PcuWd(5yXTQGt(?l{Y-Tq5yrIR+{kM2fp z*p6H z3Rv$aKBGNum>;Y-1g2Crz;v`E(T*EYPMU8QtX9ea$yZ}fI#A+*d{u#bFU$i#gSBAB zUJm`wvyhLTU=mFRuzC6V86@F#1jc}#!O5?^Ox`^X7goA{mN3?LnV|(W!R2~Q%Baj6;Gt@7!3x1!Y%RW2>bO2_MGO*^Q zGXk9DcY?}itb@bP!VqiatPK{5Ih#*= zKdxb!76W`)^&rWv`MKPA9jy_eJnqWR7&|10>2EQ_PCqz#K;n5-RKePzwVS4M$)L5M z>|Q%a&$>ED2T5m^=i&+CarlkQeV^7X`I zqliv>ahIBwYV#83H6X`i2yCy*{V!5UtQ6u2S~rivdk9}kf|(8V5&m1xnt+jVg{g6c zJP&qydA|_g!-4cgGd}lNIo#Lq(YM_<=Asv(=r{h!h27gSr*d8@v_Qhu-x!nV<%8An zL$4aGk|?dF`Ny<9lt{Z#C>0XF*~y;G)gE-Hckb2ImkkJOd-Zbwramb&WyP7eVFA5I8`D#=4ap8OwKNgxLa?Jc*1 z?PMU9^7$v~B2VMJQjlR+S=2r|lQxx^Kx06(2ge0|Wds;bx)#EUt4%1!frFq-k^|I6d8D5>W8X}t zy4gv;V*JSb_;Wu#eN{gT!Jn^(CK}lHw&e{~DjLEb_T2ghJgaq4yK+4}OFc+a{7lskuJvYe-bNyuXOm9uRdwZ7gO&rmu zb%)E8JDK@dpc~TZEqwoJBIV(fQK;WNVGlim#=Ek+nt%mRg}vf9Ul-&0M~{)}4x8+N ze7n}qGFnZGk`zzP@m2p$Zv=dD7#Di=IrnWsmTzx$wNy-Fc9Q83hvopoWuD4A!LD8o zsI_lb>;}SGN}!906mS^L9Y>NbxUNC9EkoyeQd^$f>wMn|z^pU}(#5X|*iON&k`Tbk zd6hh67qCQ+bAK*MLAc3h(1Vy&pCIR|As{Ehw+rcP^g=U;#cq&uYbAro2_^9$UtO-Q z0HP^_vkaGj><^s$1)C!X5wxzj5Ii40M`Xu!I^qLM`04_1Gnb{1>elD<@OLg6oTxg} z##Y(M{mx~c(BHhjr-ql>`6``CfR*jg5{LHfLZcoi)7I|<=dHl*eH#7;^;2UL3md!r z&--iFyUfpg(imF+o2DuqbL3knEdyhwHz&gf4p0~V85>8a6*pJ_`kZU`!S#lg^0fH%Z>ogKydOP!7N-%}#iZMFv@CgHYU=lR z%#l^#;HG5YO(Hh*+&I zc@pu2lMEOxF&Ivc|Fx$0b_F>%qvf~LC2z;mc2&`@PU23qM~Cm;umU+C@0ZK^Yw9cN zr~7x$!e!~#K=*%e{fl3jzQUU5fWKXt zKlq#C_s^JYM%Q+)_;R-1yY7%JoQ-QRio4U{Xmb@I{xza-0)+%1IR>S`w-# zKd2=OSrUVC_Jmzq{jVQYyPWcT=qh>1h9|b#{SYCM7DuT6d7?-Sjh!FHw=0G8f7h`q zM`X3@Ly(aS7*vC08=Ngxx(Sm|o*;k#Km6bp@*= zEq7D3(-FEc4@XCS!4FJ=e7qcJvEJaniK(u#5?eY#TB1foH_rfaHEPgsuW+W(LH9uO^3R&%%;N`L6`L1T+a2snIBSj+7q2smS67m z6FJ<)%HsIOA*buN{23TW0tcKxv1xbDXPdprh`I}yUS=%Mc5RvL2dYaqFfZi#E!}7* z2ARg;Nrn-Ff?q4Q!`%A5}j@;ObQ<-FD z9>VkPt+pv<=Ne5E`*xLWs z$1_2=!fU+jxWY)vaF?oe2rP+hwPmeCkkSz)M0uRWq-trp=;D2t8PpDy1qRun(pZ~h z%jv2!5jA54Qs0(jMU-Q{sM(BatYR-KD!ygtI_&J*7pgbwY3w+T)pB!_{_Bo&HyKZ) z?nb#YGj6@pZ8kd)#Ribdr$nUaNub*XnLyD62oQ`6u7iNmp@3KvVGMBmnj>HuaGIr} zDT~qff!dRWMLaA1SmFaIir|j&UBaDkW|Oscw;##7Y2g&-#4i(H@3t&@tyNM}C9sR9 zAF6^Ye-TgDc}o^+W&vuDYsLJQ{vvahbGqN#;&}LQm^_F8^bpO8hXMXtGGP6QAOKX) zcxWgeGb%r2VaU!SZ1*T&?ra%giwA_^F_le7`S+(=x6 z5+;H)NR0(Ja{uMAb66XxBx$faFxEVf9vyiPO5Htz#1)^t>n@eacvQ>ps*8rD-wB{ zitjxoL_ij_4L!SzdHS~I{f=$e$j+a9iPmU9)$%u0Jc05afp{Z+&GYiX^MC`BTkJ2F z+}*eyj-OL4+oQypC2_YS_q~M2>T?UYGtc;oyUrDV)dalp@MpTx`GD{2cHztIT5Qw~ zg&Eava5oV;i#_U{tp*#+Cy*{CyYMmoA}?YI7&mv~$iw~K_lpCd|=~<)0 zp+6pa%S%6RFzGU!+4e(Fnq0E}1BfCSvyryRBwIaSwtco47x`aVEU*%f&MwG^qFnwIFE?!AI>493n_XT>jX zi(T=xU*6KJRj^S}#-fF@>+U-zNfByf0+#a!0B*MnfGd-oQ#9-1_ zjPrXDCBQLpeiA~lsOsWjzE^NkqCn*dY60j^;;d?4Tp{_Ya~P`S7$AKUob@?6xf`Bt zE`i+Z8)pX>6tM~}=T^U8i?Q563fJ_GU2fJV7&B~ob4vOeUF#ZH$3{0$PkC68Z*EPq zHJC|KMVEOafg&v3g0O%rxOBsH*SxG-kp1kj!%P) zwM;3p^rXL2pGX*NIKV_7OK%8~pO!0)JoV_cA5M<3)Y8(s)@G-!9dfyJ7phH>@MY-L z4zk&bSGbXGRevq){iP?7YJL38`Z$GO=WGYz;h7Fkw8g6pAA2Ipp3v{8?{+$JZWWs_ z10jOY6sri#NFRe_yza{G`j_Hh1YfpM<{4MtBbI}iw(Z1ep7U{KA1i8Ja11tJ-c>)G zS!+#h-E5FEjAok7Ro;x=wLF1738on<5 z<39cAZ;(#y#2;Nq)uYpe;0*h7beVi_4ZGz-*D4-M^?SdQbW3-M^7{$v5;dQT{W$4t z6#bsK(pIg)Xf!Wzl5Q=bJ8+o6QA1Lg5GSHJy&kvwlb>=*b-xa>Z=X&1OOgT)YSM{zV8gE|B&UISbl3`nX zpESf&D-8{rk=Y#Lx*PzTr*#*`)i6Q=4Br1&kHJ8BCi}O81PtK+SDYW_6U$t*nA|as zF}qomij;7h7ccYXw)$QQx9z!GXgF6UO1Sf*3R zBw}uSX?e?=$#fG5FsLV-5g|ad2q}A!HXZ_3o|F)%o}VZoXo5TdO0q2oqkS5G+WY9$ z(!r2TsSN3NyI8GJheYE&mEA|A^`fd?$8H1}0^W})2uFvc#m@ZlzegFnMFj%?0RLoXm)lfBt776I`q>s9P zmBpRlfP7>UrW3I*DXDGKUTi-#m9js+G2T6x_+l{DJAszA)LDRSZR^;S_JGb-V8`q4 zBj0Hgwt=DHS`+#BUEM_KZ?b$gi!9=9;UTX3_cO(6bI7uLdORAmxXOE17KJ-t4!lkI zzVNCWIR^p|j6z-l(+Z-pEk*cM?Zd&TTK0rKpsr{5;jj)y7WB=6F@YN7)aXQ)V z;0wmzUBFs|t?DX8UhE>W_E(|DpAR3LDhusKcT;#;V@1EK@_M``m9C%-X@<8N3Wwv1 zZ~^HBdU2(~*R@7eF2779H@s6p4&N&BWgj(YJL&LgrcLhDcka$>c(`GmONC9WOzoR& zDTOUt1Y+9ewH^Y>bjP7{F_GGC=3=qmZ4%E6>~8cOjDd~WTIMCdO7L&5)w0`<^y2pI zoOKKJEMJ4s+5kH;)7~Q&;eFhN*mofxC4%C)j5$}4OT9j|_T=RLkC2PcFCQJ6#(_0Q zeC2=rH0KQ-`w!=%5M#{jT3g|Qk-=!PlXND?o~QCVDhux48xr9nP|Tn$_M@GYn7C_a zF1W|vo0AEZ7Jwj(IqW6SA*D!{w|sf!H3~ZDGxPQ0L0D+gYy{7mI=EkQ@uY}KaMHH= zjp~vid6*#%`sIx2<6Xa0^&}@5JS(cHSEi`A%|NpZfyQyf;3Edej>Rp_g-5YAB@WJm zum9H?iUKYnat3&^fDC7a;$CshkW6+#^^Eekx7gop#OG_ABXC)81a9#?#b>MeY}h970sV*<3tHOG-2Zl84{{ z?L>ig5DJBdOx6~F0*tQFq~m!u(-pk&E~MukA3ObbN4~r@TWB`7NUf4jxs3bWNV7># z+b+iu%=GSf=8I7&yEuJj19jZn_$$7iyG60J>h<5!yi&{>2v<`Z5D~f=SpNi=Cqkfy z_&?rQ%MB>~nJ^gD*8rOd>#645X~o*>p#qEgm{2xXH^sQBDsR5};Wn|Yv0=vXSL3VW z9s?RO6u%r<-U*&i)rz!t57gDAr@t*5tA29(sTMY4i0pCAc38H$t~+Jz`P1sJIpCdd_WFN2VM;y{T-_&z&} z_#cEqbCObm8B{qPh zEep-HfT5b$l#GXKKDmxd+0>5v77T~4hcWIV7ra*GD0N-Ly&*#U2ww5>eP^yWyhk6i z_O^t?^s1C~Q!ZsS+cnziN?zHn7T&$dOdWCz_V9Id{#kpnIsNg>OJu&U<9>kFhsd$H z`id3D^^JzgZg&nvV(U$&?&MRbZ)W>?6v2nmTT|H3s0Uy4m`8=ds}E;hf@d4}_`hTN z+b>EIrRHZTl9sL;1uOSuHi6Ge7KXM%RbG5yJT;(* z@Sm3lb^OTGoEKwX8QrxLen`?sW((J9ZbwV5xoePo&9aSE_07~PYDu*pBf{6 zVP`Q?bLn5@*ep}{gSb;7>4M`*10U15;Yzu@o-`+AZu&(8etq%?<1gC0^%?+0O#J}* z`owBe+fT%+l;uyET3*duo@-i#!Fs|+2F7-#4W0U=t~pfJBdsE+;X>IOJbvgeeh8#z zGmOCxo-An_e+bhYRX-(B=#1#?aO-}nT;#)3yBCED%#Rrc&)FWwo|Y?rIqx;GVkvp= zXJs|v#J|zo@62r+$fp>2%rv=^;$yS8X!J6|gZeM>*p`8gK^a%|oog)^zk!36Oau1T zY_2***~uTCKu!_zT&x#B79rQ1RquiRLM_d425E&Zp>^d{KtRQ~fB~b*tl$|5^M5!E z@2h`%<-Whwaki5lq57lu>eu(V8=Iqm_WNm5c&N08NHh2YDkYE(UU3xAp3s1CNeU3S zfMx{+&}}5NUsWDn85OIwk(Ea-N21R$82GL+4npU1(|vF_Tt%18QZBF(u} zN1kfqZOtXR4=<91l$7v-Nz3IXwTtd?DYGMR4&Yo$EG+PZ1Q>}{$Upjx0inQf+esN) zLHdm{x2p|qeiO2HIA?rB6zg+3e{-$ZY5j6ax4OJqn%REf!IhHvDVwu}tIS1?!Ljl9 z$_)9z{Nv1i1MI)Pgw$soS@qGCw6ILLWEi7X6Cn(UL_P?=Mx1mpB%7E2(W)kN!n)*D zEOozrdC)?1jDbkn<{WZ<^r>X0DgFB3$C<4-g?_X6P1xny;x~PUt=GyKp)cpi z#PmojV)?)kInJ#I?&D##4fnsh{n_09dE@fqU~hLbpN*++c7EYxK*a* zm3~9R=Tmc%J`1KZJrrJ6#YH_ygB6SRg*F#$HzhhP0x!|{!iiuvpNXxHFL=LaNwz2N zPU%add1zhbzB&&$zYqE9Gl@@@IYB<&sj3*-x*dVyIystC`^W>HT|miq7ONniOS*zC z(Tp8WkgkSKbE2GOL~u+d#RFCsGvu~~LweEv^ zvnfzjL;>Gm5{yY^L;r)oF>$){Ou@ujUL_Ke22X>#!*% z0ShDh`;ERZS_mr`p|$-m~;A=lVUiJvlIv_ zr-ER_O&_<1w^}d`h~ybrGrvoI9=JcZQty?t+v-PM&YzdTzu4?` zgz&R{nlH+3?XQit&i$^i6)=BZo&R^)PUElvNTiTH%1>U@n^&% z0#Y>vYD{sSCTB)clENcoKA-^j1j)bmmo%TE4KFL%9IC(oizKtdfO`Q%qML;Sb5XQt z;%rAQ*S9(!`oZ%EDP`KY-kmmvZQm=AzX#$qIsoPiN!!BTO+ zB>kyhs)!wYFBH_>#aB;xiQPDvjh%!UbV&hlhq&tkAbpdoM4}a&>x#dF8z(LgfXjtJ zL-{EZnZ2kH3}?aO&bQ{Fr?Ny2;VkTq1u>G^x~ku;;S9`%la?)$C5<_=DPbz`ZWCVG&`A88&`5Swe_<6)Vht75L zx|i$7Bs=yV*1D{Fyvyiqq28P6@(~JhV_6~v5|)OT`1zh0K;#u|lLwlGc2J@I<+S+b z_f1$B`%OZfgnAmcxB$eIm?3z+8=PsAUmOrMSssw)Jop4~VK)U`;WpyVGfl1VY;*HRW|epx~?Io5gOy2lqz z;D~$*rP+M<7HhVEQ$*cb`_wZT`xVf{ig7_)50(lz6Onhq_|a-SG_Rwmm5F7|)w29P zSRy;an8g6q5GsloeFznRsgnb324^us35?9fcYq~{$5qgEq?Xv;C^DWHzjS&^@5{!3 zC9WHmx$kUi`hqvR)u(=0vsU!iB8R0Tw>Y0A(b{SW9y1q~g1RBOq}s>21F^Z8GB;a8 zVRvGIVNEa8MRI*sAIq~t1Gh&M=E0~2LP-7|;QbBE1|+PUld3QhG8)uZpiHDaqA>;Yt`5Rk&I6yv`ltxahdhm@4hYcdxTo z$E!2HiYc5gA4ZnmTl&}K5MUA^{RS+m!gApp`r&O<1~QOulzDnqWnh5a7|S6q zo2cl@c-q0ZWbESy^l=QBs~fxd{u5JPbE&OJ$nXIm>9O2LkgTTy%Q>p^r;uv4@CI`< zc9zaN3HomP0M#GKxUU4aJ>Q4xYPcQ&L(N`;9Sf6ZzDSPL+E*C+hvnk4Tmo6X0!qZM?kN7%cdrL5{%?esKTBvyy&+U0MWAMew<%Y*v* zYFbM#u>fsZ&cq-_%tcSewM6QY1y*9qqpa|JTFJoHxZ$x-QwL4>=VO68Gs!@)Kh(wQ zXHHc8rvY89Z$x)0cS_b}{=-R#@h%>&EPW&K_|!y^fiGHeS29gX`%sq1-q|taxy5Cd zg=I>0NVSvU{NYC5j)d^~zQg)tlOnHqtk}MxZ~73u+;&nl(>{d$LWN;!i!4j`eMu(w z5VxOU*1-#DQ-FXyy{_SVLb@LO?US<ve#cwS+57|KOQi zO?8G5N`1PfX*j`qMMbcb4F5^_yk6azMu8U5+rka^A+s~F;daJdt_+)i-RELmvgW{w zQ9ivW8YOz2q_4jm4}hZV0T8vcccjsIUF--XzF`3Ab1^Z03@VL|J>wtyse<8ovY^Yd zi{z}DK5Txb-m$B@Hy4%d$&PGD~^R@h*0S$L4s>KX{KqBVWpK#sj1nmtSDQs6mKrqD`-qEnOT;(Rm_x1Ze*I( zr+lH!Nt^fM_`Z+x?|uF~_c_n`p5OVM<(rr-&qGjm4vgbvb_j3n)_eAboj;!$8+je5D z_HGv!w{Y$%&8M)@`atB!RsQ?&zfNr28M&mSKCsJqY2MxLfN|Z@>e97u4iGoT;bR(- z2VMTd^3Y!+RIjni2Ap&?x8qLfOjqPziJt_Z(;3?)G?&H&)bz#DbwBtW$K3y`G<|H+ zySun&beYldW^cA_mw!KQX5W72)Ik5cU9>#vow~!-5Ji=xqRnttYZ{xPqWMZN9N4h} zz!Q_YOlo$G#?#x1ClQ=a&Y1hP`d+%s(oiicv7yK2c+Ji$ogcE>y!3F8ORwV5`_71n z2QvIJQy(K|aZXzsY(|oVJ{>!;gh<7dWj^yR7By%1qd^bM6(=kF3>ZyS-T$l`FA$G(*HlJ&yN6;RUaML6 zv{OI0)pYI(XyT8YNIWgQ4KxlTeYEY&p|ll%jD8rx{2b~E#PAK1PO`AGl*B~tC^K%w zpc~Ut8LR^yMqMl`*`-q6ZhILN7lveRUi<8}jZMUOnH)oX!+T?p`Z>q9rg5kVP4X^b zkDZCvF*j<%tD%SM@2!arp58m5iG1;@ik&A@uU#lC_^tab7!>6Oy#IDGI>qvc`#-98 z=Z!?U$+mmt+vV;fet*SB9jG~atg|sH(VRX%i4gaC!Y9-;kl=Hf^KxR|PlaO@$CGwn zC|MgJD|s`zzU=(y*YOJ9&*jG8Th=D&<>v| z%Fc2N7$C^uX%{iYy-X}}idKM@<9tY5MV=RX3Pll0MrA7`;){tiP~exPn}84~kuC67 zu>sJ7L|_IV!;3N*XGDC^<)6ulV3CY~&;NJuxEOOrLkMh2F~$H#GjSY};m($K($kf4kcEUVZ@?AIp)uJoAZjhi z>Kzfcza!MH5w28S=3nwJ-Le_kZ{PK35inyqE~VQ$?qRyM?(LhQMu~a>`xphdyI0~g9$!F&Ai%PT89>5X zw{?^eAqfbz=HVDFMsS{zC46}V$S{#It zL;}7*00G4ajhV|1^1%uGvup_@l!23Q!3|6T^oIi4)J&>>J|9!gC_Tt0QTucL7*Rw) z7KxTgXW$L_BxZv_!x=)?O%PW~2?Q!?YHh1%medS^iU>SgMW;*o8!<&lMC=G9#{P>A$(pYHytXNXWGzz;F6#o1Vn9>`UOmA_^PWvnhy9HT- z+HR!*(ZsVQ7LE^ZxQ4O71>Ol#NFcI~JT>PRVyY{-zX3|K=BKzh z=WM!h1`1;2>E{r^xu<3hg8`evMNTu_2?ko$o|q1+a;;p^%oy02%fp{dCbNbz2}Bx1 zBnbFspr$9MJ6%B+yE2gNwS-n5%NbEYfYcVUrqZmrE2X{=Pvx2c6PYTfD=H$D;*`WK z`3!Cqx|4--)HhKn)#~Us-s@aaO{=*QbPlm>cB{k*v}} -Order Deny,Allow -Deny from all -Allow from 192.168.2.101 - -{{< /file >}} - - -To parse this in more simple terms: - -- The `Order Deny,Allow` directive tells the web server that "Deny" rules should be processed before Allow rules. -- The `Deny from all` directive tells the web server that all users should be denied access to the given resource. This rule is processed first. -- The `Allow from` directive tells the web server that requests originating at the IP address `192.168.2.101` should be allowed. This is processed last, and represents an exception to the `Deny from all` rule. - -In short, all hosts except for `192.168.2.101` are denied access to this resource. - -## Additional Access Control Rules - -You can specify granular access control rules for your resources by modifying and expanding the example above. The following notes and suggestions provide some insight into some of the more advanced functionality that is possible with these access control systems. - -### Controlling Access for a Range of IPs - -If you want to control access for a range of IP addresses rather than for a single address, Apache permits this with the following syntax: - -{{< file "Apache Configuration Directive" apache >}} -Order Deny,Allow -Deny from all -Allow from 192.168 -Allow from 10 - -{{< /file >}} - - -The above statements allow all addresses that begin with `192.168` and `10`. These IP ranges are typically reserved for Local networking and are not publicly routable addresses. If used, these access control rules will only allow traffic from "local sources" on the network. - -Here is an additional example of an access rule: - -{{< file "Apache Configuration Directive" apache >}} -Order Allow,Deny -Allow from all -Deny from 185.201.1 - -{{< /file >}} - - -This rule allows everyone access to the given resource, and then denies access to all IP addresses beginning with `185.201.1`. This statement would cover all traffic originating from the range of IP addresses from `185.201.1.0` to `185.201.1.255`. - -When creating access control rules, particularly ones that use the `Allow from all` directive, be very sure that these directives are situated in the proper context. - -### Advanced Access Control - -While IP address are by far the easiest way to control access using these access control rules, Apache provides a number of additional methods. - -Firstly, Apache permits administrators to allow or deny access based on the hostname of the requester. This forces Apache to do a reverse DNS (rDNS) lookup of the hostname performing the request, and then allow or deny access based on this information. Consider this example: - -{{< file "Apache Configuration File" apache >}} -Order Deny,Allow -Deny from all -Allow from hostname.example.com - -{{< /file >}} - - -Apache only allows requests from the machine with valid rDNS of `hostname.example.com` to access the resource in this configuration. - -Secondly, it's possible to build access rules around environment variables in the HTTP session. This allows you to allow and deny access to resources on the basis of variables such as browser (user agent) and referrer. Let us take the following example: - -{{< file "Apache Configuration File" apache >}} -SetEnvIf Referer searchenginez.com search_traffic -Order Deny,Allow -Deny from all -Allow from env=search_traffic - -{{< /file >}} - - -This access control rule works in conjunction with Apache's `mod_setenvif`. First, if a request's referrer matches `searchenginez.com` the environment variable `search_traffic` is set. Next, all hosts are denied access to the resource. Finally, requests that have the environment variable `search_traffic` set are allowed access to the resource. Please consult the official Apache documentation for [mod\_setenvif](http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html) for more information about setting and using environment variables. diff --git a/docs/guides/web-servers/apache/apache-access-control/index.md b/docs/guides/web-servers/apache/apache-access-control/index.md index 3c6b8d74932..343d3da7507 100644 --- a/docs/guides/web-servers/apache/apache-access-control/index.md +++ b/docs/guides/web-servers/apache/apache-access-control/index.md @@ -1,144 +1,323 @@ --- slug: apache-access-control -title: 'Apache Access Control' -description: 'Using HTTP AUTH to limit and control access to resources hosted on websites.' -authors: ["Linode"] -contributors: ["Linode"] +title: "Access control in Apache" +description: "Learn how to configure rule-based access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." +og_description: "Learn how to configure rule-based access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." +authors: ["Akamai"] +contributors: ["Akamai"] published: 2009-12-07 -modified: 2015-11-20 -keywords: ["access control", "http auth", "mod_auth", "http", "apache", "web server", "security"] -tags: ["http","web server","apache","security"] +modified: 2026-05-26 +keywords: ['apache', 'apache 2.4', 'access control', 'require directive', 'web server security'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -aliases: ['/web-servers/apache/configuration/http-authentication/','/websites/apache/apache-access-control/','/web-servers/apache/apache-access-control/','/guides/authbased-access-control-with-apache/','/websites/apache/authbased-access-control-with-apache/','/web-servers/apache/authbased-access-control-with-apache/','/websites/authbased-access-control-with-apache/'] +aliases: ['/guides/rulebased-access-control-for-apache/','/web-servers/apache/configuration/rule-based-access-control/','/websites/apache-tips-and-tricks/rulebased-access-control-for-apache/','/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/','/websites/apache/apache-access-control/','/web-servers/apache/apache-access-control/'] external_resources: - - '[Installation of the Apache web server](/docs/web-servers/apache/)' - - '[LAMP stack guides](/docs/web-servers/lamp/)' - - '[Authentication and Access Control](http://httpd.apache.org/docs/2.2/howto/auth.html)' - - '[Basic Authentication Module](http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html)' + - '[Apache authorization documentation](https://httpd.apache.org/docs/2.4/howto/access.html)' + - '[mod_authz_core documentation](https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html)' +tags: ["web server","apache"] --- -While most web server content is created to be available to the public, you may want to restrict some or all of a website to specific users or groups. **HTTP Auth** lets you easily create these restrictions. +Rule-based access control in Apache determines which clients can access specific resources on your server. Apache 2.4 introduced a new authorization model based on the `Require` directive, replacing the deprecated `Order`, `Allow`, and `Deny` directives used in earlier versions. -This guide provides an overview of both credential-based and rule-based access control tools for Apache. +Access control is a fundamental part of securing web applications. By restricting access at the web server level, you can prevent unauthorized users from reaching sensitive resources before application logic is ever executed. Common use cases include limiting access to administrative interfaces, internal tools, staging environments, or API endpoints. -## Before You Begin +This guide demonstrates how to configure access control using modern Apache 2.4 directives. For password-protected resources and user authentication, see our [HTTP Basic authentication in Apache](/docs/guides/apache-http-basic-authentication/) guide. -1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides. +## Before you begin -1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access. +1. If you do not already have a virtual machine to use, create a compute instance with at least 4 GB of memory. See our [Get started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Create a Linode](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. - To check your hostname run: +1. Follow our [Set up and secure a Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. - hostname - hostname -f +1. Install Apache HTTP Server 2.4 or later on your system: - The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. + ```command {title="Debian-based Linux distributions"} + sudo apt update + sudo apt install apache2 -y + ``` + + ```command {title="RHEL-based Linux distributions"} + sudo dnf install httpd -y + ``` + +1. Ensure that you have root or `sudo` privileges to edit configuration files. {{< note >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. - -This guide uses the same example file paths as our [Apache on Debian 8](/docs/guides/apache-web-server-debian-8/) guide. Be sure to adjust for your distribution. {{< /note >}} -## Apache Access Control +## Understanding rule-based access control in Apache 2.4 + +In Apache 2.4, authorization is explicit and rule-based. Instead of relying on evaluation order, each `Require` directive defines a condition that must be met. These conditions can be combined to create precise access policies without relying on implicit behavior. + +Access control rules are typically applied in `` and `` blocks within virtual host configuration files. + +The exact configuration file location depends on your Linux distribution and Apache deployment. Debian-based systems commonly use site-specific virtual host configuration files in `/etc/apache2/sites-available/`, such as `/etc/apache2/sites-available/000-default.conf`. RHEL-based systems often use `/etc/httpd/conf/httpd.conf` or site-specific files in `/etc/httpd/conf.d/`. + +Access control rules can also be applied via `.htaccess` files. + +Most access control functionality is provided by the `mod_authz_core` and `mod_authz_host` modules. These modules are enabled by default in most Apache installations. + +## Basic access control rules + +These directives are typically used to establish a default policy. For example, you might deny all access by default and then selectively allow specific clients. + +Use the `Require` directive to define access control rules. + +```file {title="Apache virtual host configuration file" lang="apache"} +Require all granted +``` + +```file {title="Apache virtual host configuration file" lang="apache"} +Require all denied +``` + +These rules are often used as a baseline before applying more specific restrictions. + +Restrict access to requests originating from the local system: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require local +``` + +You can also negate a condition with `Require not` to exclude specific clients while allowing broader access: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require all granted +Require not ip 192.168.1.50 +``` + +## Restricting access by IP address + +IP-based restrictions are the most common form of access control. They are fast, reliable, and do not depend on DNS resolution. + +Use `Require ip` to allow specific IP addresses or subnets. + +Allow a single IP: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require ip 192.168.1.10 +``` + +Allow a subnet: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require ip 192.168.1.0/24 +``` + +Allow an IPv6 subnet: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require ip 2001:db8::/32 +``` + +Allow multiple networks: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require ip 192.168.1.0/24 +Require ip 10.0.0.0/8 +``` + +## Restricting access by hostname + +Hostname-based rules can be useful in environments where clients are identified by domain rather than fixed IP addresses. + +Use `Require host` to match client hostnames: + +```file {title="Apache virtual host configuration file" lang="apache"} +Require host example.com +``` + +Hostname-based rules rely on reverse DNS lookups and can introduce latency or inconsistencies. Prefer IP-based rules when possible. + +## Combining access rules + +Combine rules using containers to express logical relationships between conditions. For example, requiring multiple conditions to be true, or allowing access if any one condition is satisfied. + +### RequireAll + +The `RequireAll` container allows access only if all of the enclosed conditions are met. This is useful for enforcing multiple requirements at the same time. + +```file {title="Apache virtual host configuration file" lang="apache"} + + Require ip 192.168.1.0/24 + Require not ip 192.168.1.50 + +``` + +### RequireAny + +The `RequireAny` container allows access if any of the enclosed conditions are met. This is useful when multiple independent conditions should grant access. + +```file {title="Apache virtual host configuration file" lang="apache"} + + Require ip 192.168.1.0/24 + Require ip 10.0.0.0/8 + +``` + +### RequireNone + +The `RequireNone` container excludes requests that match any of the enclosed conditions. Because `RequireNone` cannot grant access on its own, use it inside a broader rule such as `RequireAll`: + +```file {title="Apache virtual host configuration file" lang="apache"} + + Require all granted + + Require ip 203.0.113.10 + + +``` -To enable passwords for a directory, insert the following lines into the appropriate `` section of an Apache configuration file. You may also insert authentication information in an `.htaccess` file or in a virtual host configuration section. The required directives are: +In most cases, `Require not` is a simpler alternative, but `RequireNone` is useful when grouping multiple exclusion rules. -{{< file "Apache Configuration File" apache >}} -AuthType Basic -AuthUserFile /var/www/example.com/.htpasswd -AuthName "Sign In Here To Gain Access To the Site" -Require valid-user +## Applying access control rules -{{< /file >}} +The following example demonstrates how to apply an access control rule to a specific directory and verify the result. +1. Create a test directory and file: -* The `AuthType` directive specifies which authentication method Apache should use when connecting with clients. `Basic` requires that passwords be sent as **clear text** over the network. As a result we don't recommend using this to protect sensitive resources. + ```command + sudo mkdir -p /var/www/html/private + echo "private test" | sudo tee /var/www/html/private/index.html + ``` -* The `AuthUserFile` specifies the path (in full) to the password file where the passwords are stored. In this example we're using the path `/var/www/example.com/.htpassword`. This is one directory above the `public_html` folder, preventing accidental exposure of the file. By default, all files beginning with `.ht` are not web-accessible in most default configurations of Apache, but this should not be assumed. +1. Edit your Apache virtual host configuration file: + ```command {title="Debian-based Linux distributions"} + sudo nano /etc/apache2/sites-available/000-default.conf + ``` -* The `AuthName` directive contains the message browser uses to inform the user of what resource they're authenticating to. The value is arbitrary. + ```command {title="RHEL-based Linux distributions"} + sudo nano /etc/httpd/conf/httpd.conf + ``` -* The `Require valid-user` setting simply tells Apache that any valid user can authenticate. + Add a rule to restrict access to a directory: -At this point we need to create a password file. + ```file {title="Apache virtual host configuration file" lang="apache"} + + Require ip 192.168.1.0/24 + + ``` -## Generating HTTP AUTH Passwords + When done, press CTRL+X, followed by Y then Enter to save the file and exit `nano`. -To generate passwords, we need the `htpasswd` tool. For many distributions, this tool may have been installed when you installed Apache itself. Debian and Ubuntu users will have to install the `apache2-utils` package with the following commands: +1. Test the Apache configuration: - sudo apt-get install apache2-utils + ```command {title="Debian-based Linux distributions"} + sudo apachectl configtest + ``` -To create a new file with a single user, issue the following command: + ```command {title="RHEL-based Linux distributions"} + sudo httpd -t + ``` - htpasswd -c /var/www/example.com/.htpasswd username + ```output + Syntax OK + ``` -In this example, we create a new `AuthUserFile` with the `-c` option. The file is located at `/var/www/example.com/.htpasswd` and the user name is `username`. `htpasswd` will prompt you to enter a password and then confirm the password. If you have an existing file, omit the `-c` option. + {{< note type="primary" title="AH00558 warning" >}} + If you see an `AH00558` warning about the server's fully qualified domain name, Apache was unable to determine a global `ServerName`. This warning does not indicate a syntax error and does not prevent Apache from starting. + {{< /note >}} -The `-b` option allows you to enter the password as the last parameter of the command, as in this example : +1. Restart Apache to apply changes: - htpasswd -b /srv/auth/.htpasswd username 5t1ck6 + ```command {title="Debian-based Linux distributions"} + sudo systemctl restart apache2 + ``` -The `AuthUserFile` will, when populated look something like this: + ```command {title="RHEL-based Linux distributions"} + sudo systemctl restart httpd + ``` -{{< file "/var/www/example.com/.htpasswd" >}} -hobby:isiA3Q4djD/.Q -admin:{SHA}x9VvwHI6dmgk9VTE0A8o6hbCw2s= -username:\$apr1\$vVzQJxvX\$6EyHww61nnZr6IdQv0pVx/ +1. Verify access to the restricted directory from an allowed IP address: -{{< /file >}} + ```command + curl -I http://your-server-ip/private/ + ``` + ```output + HTTP/1.1 200 OK + ``` -Each user is specified on their own line. Each line follows the form `[username]:[hash]`, where the `[hash]` is a cryptographic hash of the users' password. This provides one-way encryption and some small measure of additional security. + {{< note type="primary" title="Testing from an external client" >}} + If you are testing from another system, ensure HTTP traffic on port 80 is allowed by any local firewall applications or Akamai Cloud Firewall. Otherwise, the request may time out before reaching Apache. + {{< /note >}} -In the above example, the first `hobby` user's password is hashed using the "CRYPT" method, which is the default. This is not considered a secure encryption mechanism. If you specify the `-s` option in the `htpasswd` command, the password will be hashed with the SHA algorithm as in the second line of the above example. Finally, if you specify the `-m` option, `htpasswd` will use the MD5 hash to store the password. We recommend using either the SHA or the MD5 hash. +1. Attempt to access the restricted directory from a blocked IP address: -Additionally, if you would prefer to organize and maintain the `AuthUserFile` yourself, you can still use the `htpasswd` tool to generate the user entries. By specifying the `-n` option the program will output the appropriate line in the terminal. In the following example, the `htpasswd` entry is followed by the output of the command: + ```command + curl -I http://your-server-ip/private/ + ``` - htpasswd -nbs user2 strongpassword - user2:{SHA}KuhoB50pPgoYXGcce82sUd8244U= + ```output + HTTP/1.1 403 Forbidden + ``` -You can now append the `user2:{SHA}KuhoB50pPgoYXGcce82sUd8244U=` line to your `AuthUserFile` manually. Once this line is in the password file, the `betty` user credentials will be able to authenticate the HTTP server. +### Using `.htaccess` -## Access Control Lists with Groups +You can apply rules in a `.htaccess` file when you cannot modify the main configuration: -In the `Require` directive above we specified the `valid-user`. This told Apache that any user who could authenticate against one of the users specified in the `AuthUserFile` could gain access to the site. While you can maintain separate password files for different resources, this is difficult to maintain for deployments with complex authentication needs. +```file {title="/var/www/html/.htaccess"} +Require all denied +``` -To address this need, Apache allows you to use a single `AuthUserFile`, containing all users that will need to authenticate to the server. To limit the set of valid credentials to a specific subset of the users listed in the `.htpasswd` file, we must specify users in the `Require` directive. Only users specified after the `Require user` directive will be permitted to access the specified resource. For example: +`.htaccess` files introduce performance overhead and should only be used when necessary. -{{< file "Apache configuration option" >}} -Require user username admin +## Migrating from Apache 2.2 -{{< /file >}} +Apache 2.2 used a different access control model based on `Order`, `Allow`, and `Deny`. +Because the underlying authorization model changed significantly, older configurations may not behave as expected when copied directly into Apache 2.4 without modification. -Given this directive, the users `username` and `admin` will be able to log into the resource. Any subset of users can be specified on the `Require` line. Apache also provides the ability to organize users into groups, and then permit access to resources based on group membership. The configuration directives for this setup would look like this: +| Apache 2.2 Directive | Apache 2.4 Equivalent | +|---------------------|----------------------| +| `Allow from all` | `Require all granted` | +| `Deny from all` | `Require all denied` | +| `Allow from 192.168.1.0/24` | `Require ip 192.168.1.0/24` | +| `Deny from 192.168.1.10` | `Require not ip 192.168.1.10` | -{{< file "Apache configuration file" apache >}} -AuthType Basic -AuthUserFile /srv/auth/.htpasswd -AuthGroupFile /srv/auth/.htgroup -Require group Authorized +Example conversion: -{{< /file >}} +```file {title="Apache virtual host configuration file" lang="apache"} +# Apache 2.2 +Order deny,allow +Deny from all +Allow from 192.168.1.0/24 +``` +```file {title="Apache virtual host configuration file" lang="apache"} +# Apache 2.4 +Require ip 192.168.1.0/24 +``` -In this example, we cite the same `AuthUserFile`, but we add an `AuthGroupFile` that specifies user groups. The group file contains a list of user groups and the usernames associated with each group. The `htgroup` file, like the `htpasswd` file, can be located anywhere on the file system. For clarity's sake, we recommend that `htgroup` be in the same directory as the `htpasswd` file. Here is an example of an `htgroup` file: +Apache 2.4 includes the `mod_access_compat` module for backward compatibility. Avoid using it in new configurations. -{{< file "/var/www/example.com/.htgroup" >}} -Authorized: username username2 -Team: admin hobby +## Common access control patterns -{{< /file >}} +The following examples demonstrate common real-world use cases for access control in Apache. +Restrict an admin directory: -Given this `htgroup` file, only the users `username` and `username2` will have access to the above listed resource. The syntax of the group file follows a simple `[groupname]: [username 1] [username 2] [...]`. You can put as many usernames from your `AuthUserFile` into a group entry as you need for the particular resource. +```file {title="Apache virtual host configuration file" lang="apache"} + + Require ip 192.168.1.0/24 + +``` -## The Caveats of HTTP Authentication +Block a specific IP: -- The `AuthType Basic` directive means credentials are sent unencrypted, which makes HTTP AUTH particularly subject to "man-in-the-middle" attacks. As a result, this authentication method shouldn't be used for protecting sensitive information without first encrypting the traffic over SSL. +```file {title="Apache virtual host configuration file" lang="apache"} + + Require all granted + Require not ip 203.0.113.10 + +``` -- In HTTP AUTH session authentication credentials must be exchanged between the client and the server for every request. While most client software can cache this information so that the user only has to enter the username and password once, the authentication credentials must be passed for every request. This can add additional network overhead. +Allow multiple trusted networks: -- When Apache processes an HTTP AUTH request it must parse through the entire `htpasswd` file. When the file only stores a few passwords the processing time is negligible, but when password files grow, requests can longer to process. +```file {title="Apache virtual host configuration file" lang="apache"} + + Require ip 192.168.1.0/24 + Require ip 10.0.0.0/8 + +``` \ No newline at end of file diff --git a/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md b/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md new file mode 100644 index 00000000000..51f278e2523 --- /dev/null +++ b/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md @@ -0,0 +1,132 @@ +--- +slug: apache-http-basic-authentication +title: 'HTTP Basic authentication in Apache' +description: "Configure HTTP Basic authentication in Apache using password files, authenticated users, and group-based access restrictions." +og_description: "Configure HTTP Basic authentication in Apache using password files, authenticated users, and group-based access restrictions." +authors: ["Linode"] +contributors: ["Linode"] +published: 2009-12-07 +modified: 2026-05-28 +keywords: ["apache", "http authentication", "basic authentication", "htpasswd", "web server security"] +tags: ["http","web server","apache","security"] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +aliases: ['/web-servers/apache/configuration/http-authentication/','/guides/authbased-access-control-with-apache/','/websites/apache/authbased-access-control-with-apache/','/web-servers/apache/authbased-access-control-with-apache/','/websites/authbased-access-control-with-apache/'] +external_resources: + - '[Apache authentication and authorization](https://httpd.apache.org/docs/2.4/howto/auth.html)' + - '[mod_auth_basic documentation](https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html)' +--- + +While most web server content is created to be available to the public, you may want to restrict some or all of a website to specific users or groups. Apache HTTP authentication lets you easily create these restrictions. HTTP authentication verifies a user's identity before Apache grants access to protected resources. + +This guide explains how to configure HTTP Basic authentication in Apache using password files, authenticated users, and group-based access restrictions. For IP- and host-based restrictions, see our [Access control in Apache](/docs/guides/apache-access-control/) guide. + +## Before you begin + +1. If you do not already have a virtual machine to use, create a compute instance with at least 4 GB of memory. See our [Get started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Create a Linode](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. + +1. Follow our [Set up and secure a Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. + +{{< note >}} +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +{{< /note >}} + +## Configure HTTP Basic authentication + +To require users to authenticate before accessing a directory, add the following directives to the appropriate `` block, virtual host configuration, or `.htaccess` file. In most cases, prefer the main Apache configuration files over `.htaccess` files because they avoid per-request filesystem lookups and provide better performance: + +```file {title="Apache configuration file" lang="apache"} +AuthType Basic +AuthUserFile /var/www/example.com/.htpasswd +AuthName "Authentication Required" +Require valid-user +``` + +- The `AuthType` directive specifies which authentication method Apache should use when connecting with clients. Basic authentication sends credentials encoded but not encrypted over the network. As a result, you should always use HTTPS when protecting resources with Basic authentication. +- The `AuthUserFile` directive specifies the full path to the password file where passwords are stored. In this example we're using the path `/var/www/example.com/.htpasswd`. This is one directory above the `public_html` folder, preventing accidental exposure of the file. By default, all files beginning with `.ht` are not web-accessible in most default configurations of Apache, but this should not be assumed. +- The `AuthName` directive contains the message the browser uses to inform the user of what resource they're authenticating to. The value is arbitrary. +- The `Require valid-user` setting simply tells Apache that any valid user can authenticate. + +At this point you must create a password file. + +## Generating passwords for HTTP Basic authentication + +To generate passwords, we need the `htpasswd` tool. In some distributions, this tool is installed alongside Apache automatically. Debian and Ubuntu users will have to install the `apache2-utils` package with the following commands: + +```command {title="Debian-based Linux distributions"} +sudo apt install apache2-utils +``` + +```command {title="RHEL-based Linux distributions"} +sudo dnf install httpd-tools +``` + +To create a new file with a single user, issue the following command: + +```command +htpasswd -c /var/www/example.com/.htpasswd username +``` + +In this example, we create a new `AuthUserFile` with the `-c` option. The file is located at `/var/www/example.com/.htpasswd` and the user name is `username`. `htpasswd` will prompt you to enter a password and then confirm the password. If you have an existing file, omit the `-c` option. + +The `-b` option allows you to enter the password as the last parameter of the command, as in this example: + +```command +htpasswd -b /srv/auth/.htpasswd username 5t1ck6 +``` + +When populated, the `AuthUserFile` looks something like this: + +```file {title="/var/www/example.com/.htpasswd"} +hobby:isiA3Q4djD/.Q +admin:{SHA}x9VvwHI6dmgk9VTE0A8o6hbCw2s= +username:\$apr1\$vVzQJxvX\$6EyHww61nnZr6IdQv0pVx/ +``` + +Each user is specified on their own line. Each line follows the form `[username]:[hash]`, where the `[hash]` is a cryptographic hash of the user's password. This stores passwords as one-way hashes rather than plaintext values. + +The `htpasswd` utility supports multiple hashing formats, including APR1-MD5, SHA-1, and bcrypt depending on the Apache version and platform. + +In the above example, the first `hobby` user's password is hashed using the "CRYPT" method, which is the default. This is not considered a secure hashing method. If you specify the `-s` option in the `htpasswd` command, the password will be hashed with the SHA-1 algorithm as in the second line of the above example. The `-m` option uses the APR1-MD5 hashing format, which remains common in Apache environments but is considered legacy compared to newer hashing methods. + +Additionally, if you would prefer to organize and maintain the `AuthUserFile` yourself, you can still use the `htpasswd` tool to generate the user entries. By specifying the `-n` option the program will output the appropriate line in the terminal. In the following example, the `htpasswd` entry is followed by the output of the command: + +```command +htpasswd -nbs user2 strongpassword +user2:{SHA}KuhoB50pPgoYXGcce82sUd8244U= +``` + +You can now append the `user2:{SHA}KuhoB50pPgoYXGcce82sUd8244U=` line to your `AuthUserFile` manually. After adding this line to the password file, the `user2` credentials can authenticate with the HTTP server. + +## Access control lists with groups + +In the `Require` directive above we specified the `valid-user`. This told Apache that any user who could authenticate against one of the users specified in the `AuthUserFile` could gain access to the site. While you can maintain separate password files for different resources, this is difficult to maintain for deployments with complex authentication needs. + +To address this need, Apache allows you to use a single `AuthUserFile`, containing all users that will need to authenticate to the server. To limit the set of valid credentials to a specific subset of the users listed in the `.htpasswd` file, we must specify users in the `Require` directive. Only users specified in the `Require user` directive are permitted to access the resource. + +```file {title="Apache configuration file"} +Require user username admin +``` + +With this directive, the users `username` and `admin` will be able to log into the resource. Any subset of users can be specified on the `Require` line. Apache also provides the ability to organize users into groups, and then permit access to resources based on group membership. The configuration directives for this setup would look like this: + +```file {title="Apache configuration file"} +AuthType Basic +AuthUserFile /srv/auth/.htpasswd +AuthGroupFile /srv/auth/.htgroup +Require group Authorized +``` + +In this example, we cite the same `AuthUserFile`, but we add an `AuthGroupFile` that specifies user groups. The group file contains a list of user groups and the usernames associated with each group. The `htgroup` file, like the `htpasswd` file, can be located anywhere on the file system. For simplicity, we recommend that `htgroup` be in the same directory as the `htpasswd` file. Here is an example of an `htgroup` file: + +```file {title="/var/www/example.com/.htgroup"} +Authorized: username username2 +Team: admin hobby +``` + +With this `htgroup` file, only the users `username` and `username2` can access the listed resource. The syntax of the group file follows a simple `[groupname]: [username 1] [username 2] [...]`. You can put as many usernames from your `AuthUserFile` into a group entry as you need for the particular resource. + +## Caveats of HTTP Basic authentication + +- The `AuthType Basic` directive sends credentials encoded but not encrypted. Always use HTTPS when protecting resources with HTTP authentication. +- With HTTP Basic authentication, credentials must be exchanged between the client and server for every request. While most client software can cache this information so that the user only has to enter the username and password once, the authentication credentials must still be passed with each request. This can add additional network overhead. +- When Apache processes an HTTP Basic authentication request it must parse through the entire `htpasswd` file. When the file only stores a few passwords the processing time is negligible, but when password files grow, requests can take longer to process. \ No newline at end of file diff --git a/docs/guides/web-servers/apache/configure-access-control-in-apache/index.md b/docs/guides/web-servers/apache/configure-access-control-in-apache/index.md deleted file mode 100644 index ca8524a385f..00000000000 --- a/docs/guides/web-servers/apache/configure-access-control-in-apache/index.md +++ /dev/null @@ -1,314 +0,0 @@ ---- -slug: configure-access-control-in-apache -title: "Configure access control in Apache" -description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." -og_description: "Learn how to configure access control in Apache using the modern Require directive introduced in Apache 2.4. This guide covers IP- and host-based restrictions, rule combinations, and migration from legacy Apache 2.2 configurations." -authors: ["Akamai"] -contributors: ["Akamai"] -published: 2026-04-27 -keywords: ['access control', 'apache', 'apache 2.4', 'require directive', 'web server security'] -license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -aliases: ['/web-servers/apache/configuration/http-authentication/','/websites/apache/apache-access-control/','/web-servers/apache/apache-access-control/','/guides/authbased-access-control-with-apache/','/websites/apache/authbased-access-control-with-apache/','/web-servers/apache/authbased-access-control-with-apache/','/websites/authbased-access-control-with-apache/'] -external_resources: -- '[Apache HTTP Server Documentation](https://httpd.apache.org/docs/current/)' ---- - -Access control in Apache determines which clients can access specific resources on your server. Apache 2.4 introduced a new authorization model based on the `Require` directive, replacing the deprecated `Order`, `Allow`, and `Deny` directives used in earlier versions. - -Access control is a fundamental part of securing web applications. By restricting access at the web server level, you can prevent unauthorized users from reaching sensitive resources before application logic is ever executed. Common use cases include limiting access to administrative interfaces, internal tools, staging environments, or API endpoints. - -This guide demonstrates how to configure access control using modern Apache 2.4 directives. - -## Before you begin - -1. Install Apache HTTP Server 2.4 or later on your system: - - ```command {title="Debian-based Linux distributions"} - sudo apt update - sudo apt install apache2 -y - ``` - - ```command {title="RHEL-based Linux distributions"} - sudo dnf install httpd -y - ``` - -1. Ensure you have root or `sudo` privileges to edit configuration files. - -1. Be familiar with editing configuration files and restarting services. - -## Understanding access control in Apache 2.4 - -In Apache 2.4, authorization is explicit and rule-based. Instead of relying on evaluation order, each `Require` directive defines a condition that must be met. These conditions can be combined to create precise access policies without relying on implicit behavior. - -Access control rules are typically applied in `` and `` blocks within virtual host configuration files. - -The exact configuration file location depends on your Linux distribution and Apache deployment. Debian-based systems commonly use site-specific virtual host configuration files in `/etc/apache2/sites-available/`, such as `/etc/apache2/sites-available/000-default.conf`. RHEL-based systems often use `/etc/httpd/conf/httpd.conf` or site-specific files in `/etc/httpd/conf.d/`. - -Access control rules can also be applied via `.htaccess` files. - -Most access control functionality is provided by the `mod_authz_core` and `mod_authz_host` modules. These modules are enabled by default in most Apache installations. - -## Basic access control rules - -These directives are typically used to establish a default policy. For example, you might deny all access by default and then selectively allow specific clients. - -Use the `Require` directive to define access control rules. - -```file {title="Apache virtual host configuration file" lang="apache"} -Require all granted -``` - -```file {title="Apache virtual host configuration file" lang="apache"} -Require all denied -``` - -These rules are often used as a baseline before applying more specific restrictions. - -Restrict access to requests originating from the local system: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require local -``` - -You can also negate a condition with `Require not` to exclude specific clients while allowing broader access: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require all granted -Require not ip 192.168.1.50 -``` - -## Restricting access by IP address - -IP-based restrictions are the most common form of access control. They are fast, reliable, and do not depend on DNS resolution. - -Use `Require ip` to allow specific IP addresses or subnets. - -Allow a single IP: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require ip 192.168.1.10 -``` - -Allow a subnet: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require ip 192.168.1.0/24 -``` - -Allow an IPv6 subnet: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require ip 2001:db8::/32 -``` - -Allow multiple networks: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require ip 192.168.1.0/24 -Require ip 10.0.0.0/8 -``` - -## Restricting access by hostname - -Hostname-based rules can be useful in environments where clients are identified by domain rather than fixed IP addresses. - -Use `Require host` to match client hostnames: - -```file {title="Apache virtual host configuration file" lang="apache"} -Require host example.com -``` - -Hostname-based rules rely on reverse DNS lookups and can introduce latency or inconsistencies. Prefer IP-based rules when possible. - -## Combining access rules - -Combine rules using containers to express logical relationships between conditions. For example, requiring multiple conditions to be true, or allowing access if any one condition is satisfied. - -### RequireAll - -The `RequireAll` container allows access only if all of the enclosed conditions are met. This is useful for enforcing multiple requirements at the same time. - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require ip 192.168.1.0/24 - Require host office.example.com - -``` - -### RequireAny - -The `RequireAny` container allows access if any of the enclosed conditions are met. This is useful when multiple independent conditions should grant access. - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require ip 192.168.1.0/24 - Require ip 10.0.0.0/8 - -``` - -### RequireNone - -The `RequireNone` container excludes requests that match any of the enclosed conditions. Because `RequireNone` cannot grant access on its own, use it inside a broader rule such as `RequireAll`: - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require all granted - - Require ip 203.0.113.10 - - -``` - -In most cases, `Require not` is a simpler alternative, but `RequireNone` is useful when grouping multiple exclusion rules. - -## Applying access control rules - -The following example demonstrates how to apply an access control rule to a specific directory and verify the result. - -1. Create a test directory and file: - - ```command - sudo mkdir -p /var/www/html/private - echo "private test" | sudo tee /var/www/html/private/index.html - ``` - -1. Edit your Apache virtual host configuration file: - - ```command {title="Debian-based Linux distributions"} - sudo nano /etc/apache2/sites-available/000-default.conf - ``` - - ```command {title="RHEL-based Linux distributions"} - sudo nano /etc/httpd/conf/httpd.conf - ``` - - Add a rule to restrict access to a directory: - - ```file {title="Apache virtual host configuration file" lang="apache"} - - Require ip 192.168.1.0/24 - - ``` - - When done, press CTRL+X, followed by Y then Enter to save the file and exit `nano`. - -1. Test the Apache configuration: - - ```command {title="Debian-based Linux distributions"} - sudo apachectl configtest - ``` - - ```command {title="RHEL-based Linux distributions"} - sudo httpd -t - ``` - - ```output - Syntax OK - ``` - - {{< note type="primary" title="AH00558 warning" >}} - If you see an `AH00558` warning about the server's fully qualified domain name, Apache was unable to determine a global `ServerName`. This warning does not indicate a syntax error and does not prevent Apache from starting. - {{< /note >}} - -1. Restart Apache to apply changes: - - ```command {title="Debian-based Linux distributions"} - sudo systemctl restart apache2 - ``` - - ```command {title="RHEL-based Linux distributions"} - sudo systemctl restart httpd - ``` - -1. Verify access to the restricted directory from an allowed IP address: - - ```command - curl -I http://your-server-ip/private/ - ``` - - ```output - HTTP/1.1 200 OK - ``` - - {{< note type="primary" title="Testing from an external client" >}} - If you are testing from another system, ensure HTTP traffic on port 80 is allowed by any local firewall applications or Akamai Cloud Firewall. Otherwise, the request may time out before reaching Apache. - {{< /note >}} - -1. Attempt to access the restricted directory from a blocked IP address: - - ```command - curl -I http://your-server-ip/private/ - ``` - - ```output - HTTP/1.1 403 Forbidden - ``` - -### Using `.htaccess` - -You can apply rules in a `.htaccess` file when you cannot modify the main configuration: - -```file {title="/var/www/html/.htaccess"} -Require all denied -``` - -`.htaccess` files introduce performance overhead and should only be used when necessary. - -## Migrating from Apache 2.2 - -Apache 2.2 used a different access control model based on `Order`, `Allow`, and `Deny`. - -Because the underlying authorization model changed significantly, older configurations may not behave as expected when copied directly into Apache 2.4 without modification. - -| Apache 2.2 Directive | Apache 2.4 Equivalent | -|---------------------|----------------------| -| `Allow from all` | `Require all granted` | -| `Deny from all` | `Require all denied` | -| `Allow from 192.168.1.0/24` | `Require ip 192.168.1.0/24` | -| `Deny from 192.168.1.10` | `Require not ip 192.168.1.10` | - -Example conversion: - -```file {title="Apache virtual host configuration file" lang="apache"} -# Apache 2.2 -Order deny,allow -Deny from all -Allow from 192.168.1.0/24 -``` - -```file {title="Apache virtual host configuration file" lang="apache"} -# Apache 2.4 -Require ip 192.168.1.0/24 -``` - -Apache 2.4 includes the `mod_access_compat` module for backward compatibility. Avoid using it in new configurations. - -## Common access control patterns - -The following examples demonstrate common real-world use cases for access control in Apache. - -Restrict an admin directory: - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require ip 192.168.1.0/24 - -``` - -Block a specific IP: - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require all granted - Require not ip 203.0.113.10 - -``` - -Allow multiple trusted networks: - -```file {title="Apache virtual host configuration file" lang="apache"} - - Require ip 192.168.1.0/24 - Require ip 10.0.0.0/8 - -``` \ No newline at end of file From 748e96c966e3975027ec6b17e39a37921bc6634a Mon Sep 17 00:00:00 2001 From: Adam Overa Date: Tue, 2 Jun 2026 14:05:14 -0400 Subject: [PATCH 4/5] Spellcheck Fix --- .../apache/apache-http-basic-authentication/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md b/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md index 51f278e2523..9bd6c108275 100644 --- a/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md +++ b/docs/guides/web-servers/apache/apache-http-basic-authentication/index.md @@ -84,7 +84,7 @@ username:\$apr1\$vVzQJxvX\$6EyHww61nnZr6IdQv0pVx/ Each user is specified on their own line. Each line follows the form `[username]:[hash]`, where the `[hash]` is a cryptographic hash of the user's password. This stores passwords as one-way hashes rather than plaintext values. -The `htpasswd` utility supports multiple hashing formats, including APR1-MD5, SHA-1, and bcrypt depending on the Apache version and platform. +The `htpasswd` utility supports multiple hashing formats, including APR1-MD5, SHA-1, and Bcrypt depending on the Apache version and platform. In the above example, the first `hobby` user's password is hashed using the "CRYPT" method, which is the default. This is not considered a secure hashing method. If you specify the `-s` option in the `htpasswd` command, the password will be hashed with the SHA-1 algorithm as in the second line of the above example. The `-m` option uses the APR1-MD5 hashing format, which remains common in Apache environments but is considered legacy compared to newer hashing methods. From 534c67551887662cc53fba17aa660eac9fa5fb29 Mon Sep 17 00:00:00 2001 From: Adam Overa Date: Tue, 2 Jun 2026 15:01:15 -0400 Subject: [PATCH 5/5] Spellcheck Fix 2 --- ci/vale/dictionary.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/vale/dictionary.txt b/ci/vale/dictionary.txt index 8d0ed4697d8..b3c2d9299fa 100644 --- a/ci/vale/dictionary.txt +++ b/ci/vale/dictionary.txt @@ -184,6 +184,7 @@ basename bashdoor bashrc bc +bcrypt bdd bellovin benchmarked