From fd51697c90fba322e598d47ba40bb303867135a4 Mon Sep 17 00:00:00 2001 From: fred_the_tech_writer <69817454+fschillingeriv@users.noreply.github.com> Date: Tue, 12 Jan 2021 15:39:46 -0500 Subject: [PATCH] Bwdc updates (#353) * bwdc updates initial commit * bwdc 2nd updates * clean data.json * link for sample data.json * return filter article * typo * swap order * data.json clarification * typo * fix cache note * Update gsuite-directory.md --- .../azure-active-directory.md | 204 +++++++++---- .../directory-connector/clear-sync-cache.md | 19 ++ .../directory-connector/directory-sync-cli.md | 168 ++++++++++ .../directory-sync-desktop.md | 97 ++++++ .../directory-sync-shared.md | 64 ++++ .../directory-connector/directory-sync.md | 288 ++---------------- .../directory-connector/gsuite-directory.md | 219 +++++++++---- .../directory-connector/ldap-directory.md | 157 ++++++---- .../directory-connector/okta-directory.md | 140 +++++++-- .../directory-connector/onelogin-directory.md | 116 +++++-- .../directory-connector/user-group-filters.md | 195 +----------- files/data.json | 71 +++++ images/directory-connector/dc-diagram.png | Bin 0 -> 70256 bytes .../directory-connector/okta/dc-okta-copy.png | Bin 0 -> 32794 bytes .../directory-connector/okta/dc-okta-test.png | Bin 0 -> 62596 bytes images/directory-connector/okta/dc-okta.png | Bin 0 -> 68290 bytes .../onelogin/onelogin-api.png | Bin 0 -> 49903 bytes 17 files changed, 1068 insertions(+), 670 deletions(-) create mode 100644 _articles/directory-connector/clear-sync-cache.md create mode 100644 _articles/directory-connector/directory-sync-cli.md create mode 100644 _articles/directory-connector/directory-sync-desktop.md create mode 100644 _articles/directory-connector/directory-sync-shared.md create mode 100644 files/data.json create mode 100644 images/directory-connector/dc-diagram.png create mode 100644 images/directory-connector/okta/dc-okta-copy.png create mode 100644 images/directory-connector/okta/dc-okta-test.png create mode 100644 images/directory-connector/okta/dc-okta.png create mode 100644 images/directory-connector/onelogin/onelogin-api.png diff --git a/_articles/directory-connector/azure-active-directory.md b/_articles/directory-connector/azure-active-directory.md index 10bf70e9..ac69903f 100644 --- a/_articles/directory-connector/azure-active-directory.md +++ b/_articles/directory-connector/azure-active-directory.md @@ -1,86 +1,174 @@ --- layout: article -title: Configuring directory sync with Azure Active Directory +title: Sync with Azure AD categories: [directory-connector] featured: true popular: false hidden: false tags: [] +order: 08 --- -This article will cover how to connect the Bitwarden Directory Connector application to your Azure Active Directory. +This article will help you get started using Directory Connector to sync users and groups from your Azure Active Directory to your Bitwarden Organization. -## Requirements +## Azure AD Setup -- Read through the following article: [Syncing users and groups with a directory]({% link _articles/directory-connector/directory-sync.md %}) -- Install Bitwarden Directory Connector -- Using Directory Connector, log into your Bitwarden account and select your enterprise organization +Complete the following processes from the Microsoft Azure Portal before configuring Directory Connector. Directory Connector will require information obtained from these processes to function properly. -## Create a New Application Registration +### Create App Registration -1. Go to -2. Select the **Azure Active Directory** resource -3. Navigate to **App registrations** and select **New registration** - {% image directory-connector/azure/new-application.png %} -4. **Name** your application "Bitwarden" -5. Click the **Create** button to create the application. - {% image directory-connector/azure/create-application.png %} +Complete the following steps to create an app registration for Directory Connector: -## Grant Application Permissions +1. From your Microsoft Azure portal, navigate to the **Azure Active Directory** resource. +2. From the left-hand navigation, select **App registrations**. +3. Select the **New registration** button and give your registration a Bitwarden-specific name (e.g. `bitwarden-dc`). +4. Select **Register**. -1. Select the **Bitwarden** application you created in the previous section. -2. Select **API Permissions**. -3. Select the **Add** button to create a new API permission set. -4. For step 1, **Select an API** for **Microsoft Graph**. -5. For step 2, **Select Permissions** for the following: - - Application Permissions: - - "Read all users' full profiles" - - "Read all groups" - - Delegated Permissions: - - "Read all groups" - - "Read all users' full profiles" - - "Read all users basic profiles" -6. Click the **Select** button and then **Done** to add the Microsoft Graph API permissions. - {% image directory-connector/azure/graph-permissions.png %} -7. Click the **Grant Permissions** button to grant the permissions to the application. - {% image directory-connector/azure/grant-permissions.png %} +### Grant App Permissions -## Create Application Secret Key +Complete the following steps to grant the created app registration the required permissions: -1. Go back to the **Bitwarden** application that you created. -2. Select **Certificates & Keys**. -3. Add a new **Password** key by entering a **Name** and **Duration**. We recommend selecting "Never Expires" for the duration. -4. Click **Save** to create a new secret key. -5. Copy the key's value to safe place. We will need to reference it later. - {% image directory-connector/azure/key.png %} +1. On the created Bitwarden application, select **API Permissions** from the left-hand navigation. +2. Select the **Add a permission** button. +3. When prompted to Select an API, select **Microsoft Graph**. +4. Set the following **Delegated permissions**: + - User > User.ReadBasic.All (Read all users' basic profiles) + - User > User.Read.All (Read all users' full profiles) + - Group > Group.Read.All (Read all groups) +5. Set the following **Application Permissions**: + - User > User.Read.All (Read all users' full profiles) + - Group > Group.Read.All (Read all groups) +6. Back on the API Permissions page, select the **Grant admin consent for...** button. -## Get Your Application ID +### Create App Secret Key -1. Go back to the **Bitwarden** application that you created. -2. Copy the **Application (client) ID** to a safe place. We will need to reference it later. - {% image directory-connector/azure/application-id.png %} +Complete the following steps to create a secret key to be used by Directory Connector: -## Get Your Tenant Hostname +1. On the created Bitwarden application, select **Certificates & secrets** from the left-hand navigation. +2. Select the **New client secret** button and add a Bitwarden-specific description (e.g. `bitwarden-dc-secret`) and an expiration date. We recommend selecting **Never**. +3. Select **Save** once you're finished. +4. Copy the secret's **value** to a safe place for later use. -1. Select the **Directory and Subscription** filter in the top right corner of the Azure Portal. -2. Note the **Current directory** (ex. acmeinc.onmicrosoft.com). This is your **Tenant** hostname. Copy the **Tenant** hostname to a safe place. We will need to reference it later. - {% image directory-connector/azure/tenant.png %} +### Get App ID -## Configure Directory Connector +Complete the following steps to obtain the app ID to be used by Directory Connector: -1. Launch the Directory Connector desktop application. -2. Go to the **Settings** tab. -3. Select **Azure Active Directory** as the directory type. -6. Enter the **Tenant** hostname that you copied from the steps above (ex. company.onmicrosoft.com). -7. Enter the **Application ID** that you copied from the steps above. -8. Enter the Application **Secret** Key that you copied from the steps above. +1. On the created Bitwarden application, select **Overview** from the left-hand navigation. +2. Copy the **Application (client) ID** to a safe place for later use. -Congrats! You are done configuring Azure Active Directory with the Bitwarden Directory Connector. +### Get Tenant Hostname -## Testing +Complete the following steps to obtain the tenant hostname to be used by Directory Connector: -{% callout info %} -It can take up to 15 minutes for the granted permissions for your application to properly propagate. You may receive "Insufficient privileges to complete the operation" errors in the meantime. +1. From anywhere in the Azure portal, select the **Directory + subscription** filter button from the main navigation. +2. Copy the **Current directory:** value to a safe place for later use. + +## Connect to your Directory + +Complete the following steps to configure Directory Connector to use your Azure Active Directory. If you haven't already, take the proper [Azure AD Setup](#azure-ad-setup) steps before proceeding: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. From the **Type** dropdown, select **Azure Active Directory**. + + The available fields in this section will change according to your selected Type. +4. Enter the collected [**Tenant** hostname](#get-tenant-hostname), [**Application Id**](#get-app-id), and [**Secret Key**](#create-app-secret-key). +5. In the **Account** section, select Organization to connect to your directory from the dropdown. + +## Configure Sync Options + +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). {% endcallout %} -Test your configuration by running a sync test. You should see your Azure Active Directory groups and/or users printed to the screen. +Complete the following steps to configure the settings used when syncing using Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}}). +2. Navigate to the **Settings** tab. +3. In the **Sync** section, configure the following options as desired: + +|Option|Description| +|------|-----------| +|Interval|Time between automatic sync checks (in minutes).| +|Remove disabled users during sync|Check this box to remove users from the Bitwarden Organization that have been disabled in your directory.| +|Overwrite existing organization users based on current sync settings|Check this box to always perform a full sync and remove any users from the Bitwarden Organization if they are not in the synced user set.| +|Sync users|Check this box to sync users to your Organization.

Checking this box will allow you to specify **User Filters**.| +|User Filter|See [Specify Sync Filters](#specify-sync-filters).| +|Sync Groups|Check this box to sync groups to your Organization. Checking this box will allow you to specify **Group Filters**.| +|Group Filter|See [Specify Sync Filters](#specify-sync-filters).| + +### Specify Sync Filters + +Use comma-separated lists to include or exclude from a sync based on User Email, Group Name, or Group Membership: + +#### User Filters + +The following filtering syntaxes should be used in the **User Filter** field: + +##### Include/Exclude Users by Email + +To include or exclude specific users from a sync based on email address: +``` +include:joe@example.com,bill@example.com,tom@example.com +``` +``` +exclude:jow@example.com,bill@example.com,tom@example.com +``` + +##### User by Group Membership + +You can include or exclude users from a sync based on their Azure Active Directory group membership using the `includeGroup` and `excludeGroup` keywords. `includeGroup` and `excludeGroup` use Group Object ID, available from the **Overview** page of the group in the [Azure Portal](https://portal.azure.com){:target="\_blank"} or through the [Azure AD Powershell](https://docs.microsoft.com/en-us/powershell/module/azuread/get-azureadgroup?view=azureadps-2.0){:target="\_blank"}: +``` +includeGroup:963b5acd-9540-446c-8e99-29d68fcba8eb,9d05a51c-f173-4087-9741-a7543b0fd3bc +``` +``` +excludeGroup:963b5acd-9540-446c-8e99-29d68fcba8eb,9d05a51c-f173-4087-9741-a7543b0fd3bc +``` + +#### Group Filters + +The following filtering syntaxes should be used in the **Group Filter** field: + +##### Include/Exclude Groups + +To include or exclude groups from a sync based on group name: +``` +include:Group A,Group B +``` +``` +exclude:Group A,Group B +``` + +##### Group by Administrative Unit (AU) + +You can include or exclude groups from a sync based on their tagged [Azure Active Directory Administrative Units (AUs)](https://docs.microsoft.com/en-us/azure/active-directory/roles/administrative-units){:target="\_blank"} by using the `includeadministrativeunit` and `excludeadministrativeunit` keywords. `includeadministrativeunit` and `excludeadministrativeunit` use the name of the Administrative Unit: +``` +includeadministrativeunit:bitwarden +``` +``` +excludeadministrativeunit:not-bitwarden +``` + +## Test a Sync + +To test whether Directory Connector will successfully connect to your directory and return the desired users and groups, navigate to the **Dashboard** tab and select the **Test Now** button. If successful, users and groups will be printed to the Directory Connector window according to specified [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters): + +{% callout info %} +It may take up to 15 minutes for permissions for your application to properly propagate. In the meantime, you may receive `Insufficient privileges to complete the operation` errors. +{% endcallout %} + +{% image /directory-connector/okta/dc-okta-test.png Test sync results %} + +## Start Automatic Sync + +Once [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters) are configured and tested, you can begin syncing. Complete the following steps to start automatic syncing with Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start Sync** button. + + You may alternatively select the **Sync Now** button to execute a one-time manual sync. + +Directory Connector will begin polling your directory based on the configured [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters). + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/clear-sync-cache.md b/_articles/directory-connector/clear-sync-cache.md new file mode 100644 index 00000000..4a28dbef --- /dev/null +++ b/_articles/directory-connector/clear-sync-cache.md @@ -0,0 +1,19 @@ +--- +layout: article +title: Clear Sync Cache +categories: [directory-connector] +featured: true +popular: false +tags: [] +order: 06 +--- + +Directory Connector keeps a local cache while syncing changes to your Bitwarden Organization. This cache allows Directory Connector to **only send the deltas between the two directories** (before / after). + +If you encounter sync errors, or if a particular directory change is not being synced as expected, you should clear this cache. Clearing the cache will trigger a full sync to occur during the next sync operation. + +To clear the local cache: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **More** tab. +3. In the **Other** section, select the **Clear Sync Cache** button. diff --git a/_articles/directory-connector/directory-sync-cli.md b/_articles/directory-connector/directory-sync-cli.md new file mode 100644 index 00000000..e1a9b691 --- /dev/null +++ b/_articles/directory-connector/directory-sync-cli.md @@ -0,0 +1,168 @@ +--- +layout: article +title: Directory Connector CLI +categories: [directory-connector] +featured: true +popular: false +tags: [] +order: 03 +--- + +The Directory Connector CLI is suited toward work in environments where a desktop GUI is unavailable, or if you want to programmatically script directory sync operations using tools provided by the operating system (cron job, scheduled task, etc.). The Directory Connector CLI can be used cross-platform on Windows, macOS, and Linux distributions. + +## Getting Started + +Complete the following steps to get started with the Bitwarden Directory Connector CLI: + +1. Download the CLI from one of the following links: + - [{% icon fa-windows %} Windows CLI](https://vault.bitwarden.com/download/?app=connector&platform=windows&variant=cli-zip) + - [{% icon fa-apple %} macOS CLI](https://vault.bitwarden.com/download/?app=connector&platform=macos&variant=cli-zip) + - [{% icon fa-linux %} Linux CLI](https://vault.bitwarden.com/download/?app=connector&platform=linux&variant=cli-zip) + +2. Extract the `.zip` and move the contents (`bwdc` and `keytar.node`) to `/usr/local/bin` or another directory in your `$PATH`. Please note, `keytar.node` **must** be in the same directory as the primary `bwdc` executable. + + **Linux Only:** If not already installed, install `libsecret` with your package manager of choice: + ``` + apt-get install libsecret-1-0 + brew install libsecret + ``` + **Windows Only:** Windows users can [add `bwdc.exe` to the current user's `PATH`](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/){:target="_blank"}. +3. Verify that the `bwdc` command works in your terminal by running the following: + + ``` + bwdc --help + ``` +4. Connect Directory Connector to your Directory using the `bwdc config ` command (see [command reference](#config)). +5. Configure Sync Options by editing your `data.json` file (to learn more, see [Directory Connector File Storage]({% link _articles/directory-connector/directory-sync-shared.md %})). Use the `bwdc data-file` command to obtain the absolute path of your `data.json` file. + + Available **Sync Options** depend on the directory type in use, so refer to one of the following articles for a list of options available to you: + - [Sync with Active Directory or LDAP]({% link _articles/directory-connector/ldap-directory.md %}) + - [Sync with Azure Active Directory]({% link _articles/directory-connector/azure-active-directory.md %}) + - [Sync with G Suite (Google)]({% link _articles/directory-connector/gsuite-directory.md %}) + - [Sync with Okta]({% link _articles/directory-connector/okta-directory.md %}) + - [Sync with OneLogin]({% link _articles/directory-connector/onelogin-directory.md %}) +5. Run the `bwdc test` command to check whether your configuration would sync the expected results. +6. Once your Directory and Sync Options are properly configured, and `bwdc test` yields the expected results, run the `bwdc sync` command to start a live sync operation. + +## Commands Reference + +### login + +Use the `login` command to login to Directory Connector with your Bitwarden Account. You must be an Admin or Owner for your Organization to use Directory Connector (for more information, see [User Types and Access Controls]({% link _articles/organizations/user-types-access-control.md %})). +``` +bwdc login [options] [email] [password] +``` + +Options include: +- `--method`: Use this options to specify the [Two-step Login method]({% link _articles/two-step-login/setup-two-step-login.md %}) to use. + - `0` = Authenticator App + - `1` = Email + - `3` = YubiKey +- `--code`: Use this option to specify the [Two-step Login]({% link _articles/two-step-login/setup-two-step-login.md %}) code for the specified `method`. +- `--sso`: Use this option to [Login with SSO]({% link _articles/login-with-sso/about-sso.md %}). Selecting this option will open the SSO Login Flow in your Web Browser. For more information, see [Access your Vault Using SSO]({% link _articles/login-with-sso/sso-access-your-vault.md %}). + +For example: + +``` +bwdc login bwuser@gmail.com mystrongpassword --method 0 --code 204678 +``` + +### logout + +Use the `logout` command to logout of the Directory Connector CLI. +``` +bwdc logout +``` + +### help + +The Bitwarden Directory Connector CLI is self-documented with `--help` content and examples for every command. List all available commands using the global `--help` option: +``` +bwdc --help +``` + +Use the `--help` option on any *specific* command to learn more about that command: +``` +bwdc test --help +bwdc config --help +``` +### test + +The `test` command queries your directory and prints a JSON formatted array of groups and users that would be synced to your Bitwarden Organization whenever you run a real sync operation. +``` +bwdc test +``` + +Use the `--last` option to test only the changes since the last successful sync. +``` +bwdc test --last +``` +### sync + +The `sync` command runs a live sync operation and pushes data to your Bitwarden Organization. + +``` +bwdc sync +``` +Synced users and groups will be immediately available in your Bitwarden organization. Newly added users will receive an email invite to your Organization. + +### last-sync + +The `last-sync` command returns an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target="_blank"} timestamp for the last sync operation that was performed for users or groups. You must specify either `users` or `groups` as an `` to run the command against: +``` +bwdc last-sync +``` +Returns an empty response if no sync has been performed for the given object. + +### config + +The `config` command allow you to specify your Directory settings: +``` +bwdc config +``` + +Options include: + +- `server ` +- `directory ` +- `ldap.password ` +- `azure.key ` +- `gsuite.key ` +- `okta.token ` +- `onelogin.secret ` + +`ldap.password`, `azure.key`, `gsuite.key`, `okta.token`, and `onelogin.secret` can **only** be modified from the CLI using `bwdc config`, or from the [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). + +### data-file + +The `data-file` command returns an absolute path to the `data.json` configuration file used by the Directory Connector CLI: +``` +bwdc data-file +``` + +Configuration settings can be modified for the Directory Connector CLI by editing the `data.json` configuration file directly in your favorite text editor. + +### clear-cache + +The `clear-cache` command allows you to clear cached data that the application stores while performing sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). + +``` +bwdc clear-cache +``` +### update + +The `update` command allows you to check if your Directory Connector CLI is up-to-date: +``` +bwdc update +``` +If a newer version is found, the command will return a URL to download a new version. **The Directory Connector CLI will not automatically update.** You will need to use this URL download the new version manually. + +{% callout warning %} +If you using the CLI and Desktop App together, it is important to ensure their versions match whenever in use. Running two different versions may cause unexpected issues. + +Check the version of the Directory Connector CLI using the `--version` global option. +{% endcallout %} + +## Troubleshooting + +If you receive an error message referring to the libsecret shared object `Error: libsecret-1.so.0: cannot open shared object file: No such file or directory`, you may need to install libsecret which is required to store things securely on the host. diff --git a/_articles/directory-connector/directory-sync-desktop.md b/_articles/directory-connector/directory-sync-desktop.md new file mode 100644 index 00000000..5d532722 --- /dev/null +++ b/_articles/directory-connector/directory-sync-desktop.md @@ -0,0 +1,97 @@ +--- +layout: article +title: Directory Connector Desktop App +categories: [directory-connector] +featured: true +popular: false +tags: [] +order: 02 +--- + +Download the latest version of the Directory Connector Desktop App from our [GitHub releases page](https://github.com/bitwarden/directory-connector/releases){:target="_blank"} or by using one of the following official links: + +- [{% icon fa-windows %} Windows Installer (.exe)](https://vault.bitwarden.com/download/?app=connector&platform=windows) +- [{% icon fa-windows %} Windows Portable (.exe)](https://vault.bitwarden.com/download/?app=connector&platform=windows&variant=portable) +- [{% icon fa-apple %} macOS (.dmg)](https://vault.bitwarden.com/download/?app=connector&platform=macos) +- [{% icon fa-linux %} Linux (.AppImage)](https://vault.bitwarden.com/download/?app=connector&platform=linux) + +## Setup + +Directory Connector configuration will vary based on the directory type in use. Use one of the following articles for instruction: + +- [Sync with Active Directory or LDAP]({% link _articles/directory-connector/ldap-directory.md %}) +- [Sync with Azure Active Directory]({% link _articles/directory-connector/azure-active-directory.md %}) +- [Sync with G Suite (Google)]({% link _articles/directory-connector/gsuite-directory.md %}) +- [Sync with Okta]({% link _articles/directory-connector/okta-directory.md %}) +- [Sync with OneLogin]({% link _articles/directory-connector/onelogin-directory.md %}) + +{% callout info %} +If you're using a self-hosted version of Bitwarden, you must change the Server URL used by the Directory Connector application: + +1. Log out of Directory Connector. +2. On the Login screen, select the **Settings** button. +3. In the **Server URL** field, enter the domain name for your self-hosted instance with `https://`. For example, `https://bitwarden.example.com`. +4. Select the **Save** button. +{% endcallout %} + +## Using Directory Connector + +The following sections will walk you through typical actions taken with the Desktop App. + +In all cases, log in with a Bitwarden user account that is an Admin or Owner for the relevant Organization(s). For more information, see [User Types and Access Control]({% link _articles/organizations/user-types-access-control.md %}). + +### Connect to a Bitwarden Organization + +Complete the following steps to specify which Bitwarden Organization to sync to: + +1. Open the Directory Connector application. +2. Navigate to the **Settings** tab. +3. In the **Account** section, select your Organization from the dropdown. + +### Configure Sync Options + +Complete the following steps to configure options for your sync: + +1. Open the Directory Connector application. +2. Navigate to the **Settings** tab. +3. In the **Sync** section, configure the available options as desired. Available **Sync Options** depend on the directory type in use, so refer to one of the following articles for a list of options available to you: + + - [Sync with Active Directory or LDAP]({% link _articles/directory-connector/ldap-directory.md %}) + - [Sync with Azure Active Directory]({% link _articles/directory-connector/azure-active-directory.md %}) + - [Sync with G Suite (Google)]({% link _articles/directory-connector/gsuite-directory.md %}) + - [Sync with Okta]({% link _articles/directory-connector/okta-directory.md %}) + - [Sync with OneLogin]({% link _articles/directory-connector/onelogin-directory.md %}) + +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). +{% endcallout %} + +### Perform a Sync Test + +Perform a sync test to check that all configured settings are in-place and working as expected. Sync tests will query the directory server and print the results to the Directory Connector **Dashboard**. + +1. Open the Directory Connector application. +2. Navigate to the **Dashboard** tab. +3. In the **Testing** section, select the **Test Now** button. + +### Perform a Manual Sync + +Complete the following steps to run a one-time manual sync between your directory and your Bitwarden Organization: + +1. Open the Directory Connector application. +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the the **Sync Now** button. + +Your synced users and groups will be immediately available in your Bitwarden Organization. Added users will receive an email invite to your Organization. + +### Start Automatic Sync + +Complete the following steps to start automatic sync polling with Directory Connector: + +1. Open the Directory Connector application. +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start Sync** button. + +Directory Connector will begin polling your directory based on the **Interval** specified in your **Sync Options**. + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/directory-sync-shared.md b/_articles/directory-connector/directory-sync-shared.md new file mode 100644 index 00000000..3b8ec7cd --- /dev/null +++ b/_articles/directory-connector/directory-sync-shared.md @@ -0,0 +1,64 @@ +--- +layout: article +title: Directory Connector File Storage +categories: [directory-connector] +featured: true +popular: false +tags: [] +order: 04 +--- + +The Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}) and [CLI]({% link _articles/directory-connector/directory-sync-cli.md %}) share the same database and configuration settings. You may install and use both applications, however **it is not recommended to use them simultaneously**. + +{% callout success %} +Though not required, it may be helpful to use the Desktop Application first to setup and configure all of your settings before using the Directory Connector CLI. +{% endcallout %} + +## Config File + +The Directory Connector configuration file (`data.json`) contains objects you may directly edit in order to: +- Set the connection to your Directory +- Configure Sync Options + +It is not possible to setup the *entirety* of Directory Connector from `data.json`. Authentication values, like keys or secrets, must be set from either the [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}) or [CLI]({% link _articles/directory-connector/directory-sync-cli.md %}). + +[{% icon fa-download %} Download a sample configuration file]({{site.baseurl}}/files/data.json) + +{% callout warning %} +Avoid opening or modifying `data.json` while the Directory Connector Desktop Application or CLI executable is running. +{% endcallout %} + +### Location + +The location of `data.json` depends on which platform is in use: + +- Windows : `%AppData%\Bitwarden Directory Connector` + - Portable: `.\bitwarden-connector-appdata` +- macOS: `~/Library/Application Support/Bitwarden Directory Connector` +- Linux: `~/.config/Bitwarden Directory Connector` + +{% callout success %} +Using the Directory Connector [CLI]({% link _articles/directory-connector/directory-sync-cli.md %}), run the `data-file` command to discover the absolute path to the `data.json`. +{% endcallout %} + + +## Secret Storage + +By default, the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}) and [CLI]({% link _articles/directory-connector/directory-sync-cli.md %}) both use a secure method for persisting sensitive data (such as your directory account password, API keys, etc). + +On Linux systems this requires [GNOME Keyring](https://wiki.archlinux.org/index.php/GNOME/Keyring){:target="\_blank"} and [X11](https://en.wikipedia.org/wiki/X_Window_System){:target="\_blank"}, which are usually reserved for desktop environments. If you are using a headless Linux environment you may encounter errors such as: +``` +Cannot autolaunch D-Bus without X11 $DISPLAY +``` +### Secret Storage in Headless Environments + +If a secure storage environment is not available, you can configure the Directory Connector CLI to use plaintext storage of secrets. To do so, set the following environment variable to override secure storage: +``` +BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS=true +``` + +With plaintext storage enabled, you can then configure all settings directly, in plaintext, from the `data.json` configuration file. + +{% callout info %} +Plaintext storage of secrets is not compatible with the Directory Connector desktop application. You should only use the Directory Connector CLI with plaintext storage of secrets. +{% endcallout %} diff --git a/_articles/directory-connector/directory-sync.md b/_articles/directory-connector/directory-sync.md index 42ca77a4..782c78ee 100644 --- a/_articles/directory-connector/directory-sync.md +++ b/_articles/directory-connector/directory-sync.md @@ -1,289 +1,61 @@ --- layout: article -title: Syncing users and groups with a directory +title: About Directory Connector categories: [directory-connector] featured: true popular: false -tags: [] +tags: [directory connector, directory sync, teams, enterprise] +order: 01 --- -Bitwarden supports syncing users and/or groups from outside directories through the use of the **Bitwarden Directory Connector** application. The application will automatically provision and deprovision users, groups, and group associations from your configured user directory. +## What is Directory Connector? -The following directories are supported: - -- Active Directory -- Any LDAP-based directory -- Azure Active Directory -- G Suite (Google) -- Okta -- OneLogin +The Bitwarden **Directory Connector** application syncs users and groups to a Bitwarden Organization from a selection of directory services. Directory Connector will automatically provision and de-provision users, groups, and group associations from the source directory. {% callout info %} -Directory sync is only available to Teams and Enterprise organizations. +Directory Connector functionality is available to **Teams** and **Enterprise** organizations. To use Directory Connector, you must be an Organization Admin or Owner (for more information, see [User Types and Access Control]({% link _articles/organizations/user-types-access-control.md %})). {% endcallout %} -## Bitwarden Directory Connector Application +{% image /directory-connector/dc-diagram.png %} -The Bitwarden Directory Connector is cross-platform desktop application that allows you to keep your Bitwarden organization and user directory in sync. Directory Connector can be run on-demand manually as well as automatically in the background on an configured interval. The Directory Connector application can be installed on Windows, macOS, and most Linux distributions. +A Directory Connector sync operation can be run on-demand or automatically on a configured interval. Directory Connector applications can be installed as an agent on the server that hosts your directory, an administrator's workstation, or any other desktop device that can access the source directory. -You can install and run Directory Connector as an agent on the server that hosts your directory, an administrator's workstation, or any other desktop device that can access the directory. +Directory Connector supports sync from the following sources: -{% image directory-connector/app.png %} +- [Active Directory]({% link _articles/directory-connector/ldap-directory.md%}) +- [Any LDAP-based directory]({% link _articles/directory-connector/ldap-directory.md %}) +- [Azure Active Directory]({% link _articles/directory-connector/azure-active-directory.md %}) +- [G Suite]({% link _articles/directory-connector/gsuite-directory.md %}) +- [Okta]({% link _articles/directory-connector/okta-directory.md %}) +- [OneLogin]({% link _articles/directory-connector/onelogin-directory.md %}) -## Download and Install +## Directory Connector Applications -You can download the latest version of the Bitwarden Directory Connector application from our [GitHub releases page](https://github.com/bitwarden/directory-connector/releases){:target="_blank"} or by using one of the official links below: +Directory Connector is available as a cross-platform [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}) and as a [Command Line Interface (CLI)]({% link _articles/directory-connector/directory-sync-cli.md %}). The Desktop App and CLI [share a database and configurations]({% link _articles/directory-connector/directory-sync-shared.md %}), so you may choose to use both, however simultaneous use is not recommended. + +{% image directory-connector/app.png Directory Connector Desktop App %} + +### Download Directory Connector + +Use the following links to download Directory Connector: + +#### Download the Desktop App + +Download the latest version of the Directory Connector Desktop App from our [GitHub releases page](https://github.com/bitwarden/directory-connector/releases){:target="_blank"} or by using one of the following official links: - [{% icon fa-windows %} Windows Installer (.exe)](https://vault.bitwarden.com/download/?app=connector&platform=windows) - [{% icon fa-windows %} Windows Portable (.exe)](https://vault.bitwarden.com/download/?app=connector&platform=windows&variant=portable) - [{% icon fa-apple %} macOS (.dmg)](https://vault.bitwarden.com/download/?app=connector&platform=macos) - [{% icon fa-linux %} Linux (.AppImage)](https://vault.bitwarden.com/download/?app=connector&platform=linux) -The application will prompt you for automatic updates whenever newer versions become available. +#### Download the CLI Tool -Command-line Interface +Download the latest version of the Directory Connector CLI from one of the following links: - [{% icon fa-windows %} Windows CLI (.exe)](https://vault.bitwarden.com/download/?app=connector&platform=windows&variant=cli-zip) - [{% icon fa-apple %} macOS CLI](https://vault.bitwarden.com/download/?app=connector&platform=macos&variant=cli-zip) - [{% icon fa-linux %} Linux CLI](https://vault.bitwarden.com/download/?app=connector&platform=linux&variant=cli-zip) -## Configure environment - -By default the Directory Connector communicates with the Bitwarden public cloud servers. If you are using the public cloud version of Bitwarden, you can skip this step. If you are using a self-hosted deployment of Bitwarden you will want to change the configured environment endpoints of the Directory Connector to your own on-premises installation. - -1. Run the Directory Connector application. -2. If you are already logged into the application, go to the **More** tab and **Log Out**. -3. On the main log in screen, select the **Settings** button. -4. Enter your installation's base URL and save. For example, `https://bitwarden.example.com`. - -## Log in to your Bitwarden organization account - -1. Run the Directory Connector application. -2. Log in with your Bitwarden user account that has Admin or Owner access to your organization. -3. Go to the **Settings** tab and select your organization from the **Account** section. - -## Configure the directory connection - -1. Run the Directory Connector application. -2. Go to the **Settings** tab. -3. Select the **Type** of directory server you are configuring from the **Directory** section. -4. Set each configuration setting for the directory server type that you selected in step 3. The settings are different for each type of directory. You can read more about setting up each type of directory connection in the following articles: - - [Active Directory & Other LDAP-based Directories Setup]({% link _articles/directory-connector/ldap-directory.md %}) - - [Azure Active Directory Setup]({% link _articles/directory-connector/azure-active-directory.md %}) - - [G Suite (Google) Setup]({% link _articles/directory-connector/gsuite-directory.md %}) - - [Okta Setup]({% link _articles/directory-connector/okta-directory.md %}) - - [OneLogin Setup]({% link _articles/directory-connector/onelogin-directory.md %}) - -## Configure sync options - -1. Run the Directory Connector application. -2. Go to the **Settings** tab. -3. Set each configuration setting from the **Sync** section. Some settings are dependent on the **Type** of directory you have configured. - -{% callout info %} -The syntax for user and group filters is different for each type of directory. Learn more about how user and group filters work in the following article: - -- [Configuring user and group sync filters]({% link _articles/directory-connector/user-group-filters.md %}) -{% endcallout %} - -## Test a sync - -You can run a sync test in order to check that all of your configuration settings are setup and working as expected. A sync test will query the directory server and print the results to the screen. The results that you see printed to the screen will be what is uploaded and synced to your Bitwarden organization whenever a real sync is performed. - -1. Run the Directory Connector application. -2. Go to the **Dashboard** tab. -3. Click the **Test Now** button from the **Testing** section. - -## Perform a manual sync - -1. Run the Directory Connector application. -2. Go to the **Dashboard** tab. -3. Click the **Sync Now** button from the **Sync** section. - -Your synced users and groups will be immediately available in your Bitwarden organization. Synced users will receive an email invite to your organization. - -## Sync automatically - -1. Run the Directory Connector application. -2. Go to the **Dashboard** tab. -3. Click the **Start Sync** button from the **Sync** section. - -The application will begin polling your directory based on the interval you specified in your sync settings. Be sure not to exit/close the application or automatic syncing intervals will stop. You can minimize the application or hide it to the system tray (under the **Window** application menu). - -You can click the **Stop Sync** button to end the automatic syncing intervals. - -## Clear sync cache - -As the Directory Connector works at syncing changes up to your Bitwarden organization it keeps a local cache. This cache helps the Directory Connector only send the difference in directory changes (deltas) from the previous time that it performed a sync operation. If you encounter sync errors or a particular directory change is not correctly being synced, you may need to clear this cache. Clearing the cache will allow a full sync to occur during the next sync operation. - -1. Run the Directory Connector application. -2. Go to the **More** tab. -3. Click the **Clear Sync Cache** button from the **Other** section. - -## Command-line Interface - -A command-line interface (CLI) tool is also available to connect to and sync your directory. The Bitwarden Directory Connector CLI is especially useful whenever you are working in environments where a desktop GUI is not available, or if you want to programmatically script directory sync operations using tools provided by the operating system (cron job, scheduled task, etc). The Bitwarden Directory Connector CLI can be used cross-platform on Windows, macOS, and Linux distributions. - -### Quick Start - -1. [Download and install](#download-and-install) the Directory Connector CLI for your platform. -2. Move `bwdc` to `/usr/local/bin` or another directory in your `$PATH`. Windows users can [add `bwdc.exe` to the current user's `PATH`](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/){:target="_blank"}. **IMPORTANT:** Make sure that the included `keytar.node` dependency remains in the same directory as the main `bwdc` executable. -3. Verify the `bwdc` command works in your terminal. - - bwdc --help - -### Download and Install - -See the [download and install](#download-and-install) section above for links to download the CLI executable for your platform. - -{% callout info %} -When extracting the zip, make sure that the included `keytar.node` dependency remains in the same directory as the main `bwdc` executable. - -Linux users must have `libsecret` installed, which is usually already available on most systems. Example: - - apt-get install libsecret-1-0 -{% endcallout %} - -### Shared Data - -The Directory Connector CLI shares the same database and configuration settings with the Directory Connector desktop application. You can install and use both applications together, however, you should avoid using them both at the same time. - -Though not required, often times it may be helpful to use the Directory Connector desktop application first to setup and configure all of your settings before using the Directory Connector CLI. - -The default location for the shared `data.json` database file depends on which platform you are using. - -- Windows : `%AppData%\Bitwarden Directory Connector` - - Portable: `.\bitwarden-connector-appdata` -- macOS: `~/Library/Application Support/Bitwarden Directory Connector` -- Linux: `~/.config/Bitwarden Directory Connector` - -The [`data-file` command](#data-file-command) can be used to discover the absolute path to the `data.json` database file on your system. - -### Secret Storage - -By default, the Directory Connector desktop application and CLI both use a secure method for persisting sensitive data such as your directory account password, API keys, etc. On Linux systems, this requires the GNOME keyring and X11 which are usually reserved for desktop environments. If you are using a headless Linux environment you may encounter errors such as: - -> Cannot autolaunch D-Bus without X11 $DISPLAY - -If a secure storage environment is not available, you can configure the Directory Connector CLI to use plaintext storage of secrets. Set the following environment variable to override secure storage: - - BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS=true - -With plaintext storage enabled, you can then configure all settings directly, in plaintext, from the `data.json` database file. - -{% callout info %} -Plaintext storage of secrets is not compatible with the Directory Connector desktop application. You should only use the Directory Connector CLI with plaintext storage of secrets. -{% endcallout %} - -### Explore the CLI - -The Bitwarden Directory Connector CLI is self-documented with `--help` content and examples for every command. You should start exploring the Directory Connector CLI by using the global `--help` option: - - bwdc --help - -This option will list all available commands that you can use with the Directory Connector CLI. - -Additionally, you can use the `--help` option on a specific command to learn more about it: - - bwdc test --help - bwdc config --help - -### Test Command - -The `test` command queries your directory and prints a JSON formatted array of groups and users that will be synced to your Bitwarden organization whenever you run a real sync operation. - - bwdc test - -### Sync Command - -The `sync` command runs a live sync operation and pushes data to your Bitwarden organization. - - bwdc sync - -Your synced users and groups will be immediately available in your Bitwarden organization. Synced users will receive an email invite to your organization. - -### Last Sync Command - -The `last-sync` command returns an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target="_blank"} timestamp of the last time a sync operation has been performed for users or groups: - - bwdc last-sync users - bwdc last-sync groups - -### Config Command - -The `config` command allow you to specify settings for the Directory Connector CLI to use. - - bwdc config - -For example, if you are using a self hosted Bitwarden server you will need to change the endpoint that the Directory Connector CLI communicates with. - - bwdc config server https://bitwarden.example.com - -You can also use the `config` command to set parameters that require secure storage and cannot be modified directly in the `data.json` database file, such as passwords or access tokens. - - bwdc config ldap.password - bwdc config azure.key - bwdc config gsuite.key - bwdc config okta.token - -Additional configuration settings can be modified in the Bitwarden Directory Connector desktop application or by editing the `data.json` database file directly in your favorite text editor. [Read more about shared data](#shared-data). - -{% callout info %} -You should avoid opening or modifying the `data.json` database file while the Directory Connector desktop application or CLI executable is running. -{% endcallout %} - -### Data File Command - -The `data-file` command returns an absolute path to the `data.json` database file used by the Directory Connector CLI. - - bwdc data-file - -Configuration settings can be modified for the Directory Connector CLI by editing the `data.json` database file directly in your favorite text editor. [Read more about shared data](#shared-data). - -### Clear Cache Command - -The `clear-cache` command allows you to clear cached data that the application stores while performing sync operations. [Read more about clearing sync cache](#clear-sync-cache). - - bwdc clear-cache - -### Update Command - -The `update` command allows you to check if your Directory Connector CLI is up to date. The Directory Connector CLI will not automatically update. You must download new versions of the Directory Connector CLI manually. - - bwdc update - -A URL to download a new version of the CLI executable will be returned to you. - -{% callout info %} -If you are also using the Directory Connector desktop application, it is important that you keep them both up to date and that their versions match. Running two different versions of the Directory Connector desktop application and Directory Connector CLI may cause unexpected issues. -{% endcallout %} - -### Version Option - -The `--version` option allows you to check which version the Directory Connector CLI you are currently using. - -``` -bwdc --version -``` - -### Troubleshooting - -If you receive an error message referring to the libsecret shared object `Error: libsecret-1.so.0: cannot open shared object file: No such file or directory`, you may need to install libsecret which is required to store things securely on the host. - -### Enums - -**Two Step Login Methods** - -| Name | Value | -|---------------|-------| -| Authenticator | 0 | -| Email | 1 | -| Yubikey | 3 | - -{% callout info %} -Other two-step login methods such as FIDO U2F and Duo are not supported by the CLI. -{% endcallout %} - ## Source code -As with everything here at Bitwarden, the Directory Connector is open source and hosted on GitHub at . +As with everything at Bitwarden, the Directory Connector is open source and hosted on GitHub at [github.com/bitwarden/directory-connector](https://github.com/bitwarden/directory-connector). diff --git a/_articles/directory-connector/gsuite-directory.md b/_articles/directory-connector/gsuite-directory.md index d8b29043..fcc1e9f7 100644 --- a/_articles/directory-connector/gsuite-directory.md +++ b/_articles/directory-connector/gsuite-directory.md @@ -1,92 +1,179 @@ --- layout: article -title: Configuring directory sync with G Suite (Google) +title: Sync with Google Workspace categories: [directory-connector] featured: true popular: false hidden: false tags: [] +order: 09 --- -This article will cover how to connect the Bitwarden Directory Connector application to your G Suite directory. +This article will help you get started using Directory Connector to sync users and groups from your Google Workspace (formerly "G Suite") Directory to your Bitwarden Organization. -## Requirements +## Google Workspace Setup -- Read through the following article: [Syncing users and groups with a directory]({% link _articles/directory-connector/directory-sync.md %}) -- Install Bitwarden Directory Connector -- Using Directory Connector, log into your Bitwarden account and select your enterprise organization +To setup directory sync with Google Workspace (formerly "G Suite"), you will need access to the **Google Workspace Admin Portal** and **Google Cloud Platform Console**. Directory Connector will require information obtained from these processes to function properly. -## Create a Google Cloud Project +### Create a Cloud Project -{% callout info %} -If you already have a Google Cloud project available, you can skip this step and re-use it here. +Complete the following steps to create a Google Cloud project to use to connect Directory Connector to your directory. If you already have a Google Cloud project available, skip to [Enable Admin SDK](#enable-admin-sdk): + +1. In the [GCP Console](https://console.cloud.google.com/home){:target="\_blank"}, select the **Create Project** button. +2. Enter a Bitwarden-specific name for the project (e.g. `bitwarden-dc-project`) and select the **Create** button. + +### Enable Admin SDK + +Complete the following steps to enable the Admin SDK API, to which Directory Connector will make requests: + +1. In the [GCP Console](https://console.cloud.google.com/home){:target="\_blank"}, select the created or pre-existing Project. +2. From the left-hand navigation, select **APIs & Services** → **Library**. +3. In the search box, enter `Admin SDK` and open the **Admin SDK API** service. +4. Select the **Enable** button. + +### Create Service Account + +Complete the following steps to create a service account to use when making API calls: + +1. In the [GCP Console](https://console.cloud.google.com/home){:target="\_blank"}, select the created or pre-existing Project. +2. From the left-hand navigation, select **APIs & Services** → **Credentials**. +3. Select the **Create Credentials** button, and select **Service account** from the dropdown. +4. Fill in the **Service account details** section, and select the **Create** button. +5. In the **Grant this service account access to project** section, select **Project → Owner** from the **Role** dropdown and select the **Continue** button. +6. Select the **Done** button. + +### Obtain Service Account Credentials + +Complete the following steps to obtain the appropriate permissions for the created service account: + +1. In the [GCP Console](https://console.cloud.google.com/home){:target="\_blank"}, select the created or pre-existing Project. +2. From the left-hand navigation, select **IAM & Admin** → **Service Accounts**. +3. Select the created service account. +4. On the Service Account Details page, select the **Add Key** button and select **Create new key** from the dropdown. +5. Select the Key type: **JSON** and select the **Create** button to download a JSON-formatted key to your local machine. +6. Back on the details page of your service account, select the **Show Domain-wide Delegation** dropdown. +7. Check the **Enable Domain-wide Delegation** box. +8. Enter a **Product name for the consent screen**. +9. Select **Save**. + +### Allow Read-access to Google Workspace + +Complete the following steps to authorize the client to read your directory: + +1. Open the [Google Admin Portal](https://admin.google.com/u/5/ac/home){:target="\_blank"}. +2. From the left-hand navigation, select **Security** → **API Controls**. +3. Select the **Manage Domain Wide Delegation** button. +4. Select the **Add new** button. +5. In the Client ID field, paste the created **Client ID**. + + To retrieve the created Client ID, open the [GCP Console](https://console.cloud.google.com/home){:target="\_blank"} and navigate to **API & Services** → **Credentials**. +6. In the OAuth scopes field, paste the following value to grant only read-access: + + ``` + https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.group.member.readonly + ``` +7. Select the **Authorize** button. + +## Connect to your Directory + +Complete the following steps to configure Directory Connector to use your Google directory: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. From the **Type** dropdown, select **G Suite (Google)**. + + The available fields in this section will change according to your selected Type. +4. Enter the **Domain** of your Google account. +5. Enter the email address of an **Admin User** with full access to your Google Directory. +6. If you have one, enter the **Customer ID** of your directory. Many users will not have or be required to enter a Customer ID. +7. Select the **Choose File** button and select the [downloaded JSON key](#obtain-service-account-credentials). +8. In the **Account** section, select Organization to connect to your directory from the dropdown. + +## Configure Sync Options + +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). {% endcallout %} -1. Go to -2. Click the **Create** project button - {% image directory-connector/gsuite/create-project.png %} -3. Enter a project name and click **Create** - {% image directory-connector/gsuite/new-project.png %} -4. Refresh the page and you should now see your project +Complete the following steps to configure the setting used when syncing using Directory Connector: -## Enable the Admin SDK API for Your Project +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. In the **Sync** section, confiture the following options as desired: -1. Go to . -2. Make sure the appropriate project is selected. You should be on the **Dashboard** page for your project. -3. Open the navigation menu and navigate to **APIs & Services** → **Library**. -4. Search for and select the **Admin SDK** service. - {% image directory-connector/gsuite/admin-sdk.png %} -5. Click the **Enable** button near the top. - {% image directory-connector/gsuite/admin-sdk-enable.png %} +|Option|Description| +|------|-----------| +|Interval|Time between automatic sync checks (in minutes).| +|Remove disabled users during sync|Check this box to remove users from the Bitwarden Organization that have been disabled in your directory.| +|Overwrite existing organization users based on current sync settings|Check this box to always perform a full sync and remove any users from the Bitwarden Organization if they are not in the synced user set.| +|Sync users|Check this box to sync users to your Organization.

Checking this box will allow you to specify a **User Filter**.| +|User Filter|See [Specify Sync Filters](#specify-sync-filters).| +|Sync groups|Check this box to sync groups to your Organization.

Checking this box will allow you to specify a **Group Filter**.| +|Group Filter|See [Specify Sync Filters](#specify-sync-filters).| -## Create & Configure a Service Account +### Specify Sync Filters -1. Go to -2. Make sure the appropriate project is selected. You should be on the **Dashboard** page for your project. -3. Open the navigation menu and navigate to **APIs & Services** → **Credentials**. -4. Click the **Create credentials** button and select **Service account key**. - {% image directory-connector/gsuite/create-credentials.png %} -5. Select **New service account** from the **Service account** dropdown menu. -6. Name the service account **Bitwarden Directory Connector**. For the role, select **Project** and then **Owner**. Ensure that **JSON** is the selected **Key type**. Upon clicking **Create**, a JSON file will be downloaded; this is important for later so keep a note of where you have downloaded it. - {% image directory-connector/gsuite/create-service-account.png %} -7. You should now see your newly created service account listed. Click on **Manage service accounts** (on the right-hand side). - {% image directory-connector/gsuite/click-manage-service-accounts.png %} -8. Select the options button next to your service account, and select **Edit**. - {% image directory-connector/gsuite/edit-service-account.png %} -9. Check the box "Enable G Suite Domain-wide Delegation", enter anything for "Product name for the consent screen" and click **Save**. - {% callout info %}"Enable G Suite Domain-wide Delegation" is only required on some older G Suite accounts. Newer G Suite accounts will automatically have domain-wide delegation enabled for all service accounts. If you do not see the "Enable G Suite Domain-wide Delegation" checkbox option available for your service account, you can assume it is already enabled.{% endcallout %} - {% image directory-connector/gsuite/tick-gsuite.png %} -1. Click **View Client ID** and you'll see the Client ID on screen. You will need the Client ID to configure security within G Suite. Highlight the Client ID and copy it to your clipboard. - {% image directory-connector/gsuite/view-client-id.png %} - {% image directory-connector/gsuite/copy-client-id.png %} +Use comma-separated lists to include or exclude from a sync based on User Email or Group: -## Configure G Suite Security +#### User Filters -1. Go to -2. Open the navigation menu and navigate to **Security** → **Settings**. -3. Select the **API reference** option and make sure **Enable API access** is checked. - {% image directory-connector/gsuite/enable-api-access.png %} -4. Back in the list of options, select the **Advanced settings** options and then the **Manage API client access** link. - {% image directory-connector/gsuite/manage-api-access.png %} -5. For **Client Name**, paste the **Client ID** of the service account that you created in the previous steps. For **API Scopes**, paste the following values to grant read-only access to users and groups: -
https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.group.member.readonly
-6. Click the **Authorize** button to save. - {% image directory-connector/gsuite/authorize-client.png %} -7. You should now see your service account listed as an authorized client of G Suite. - {% image directory-connector/gsuite/authorized-client-list.png %} +The following filtering syntaxes should be used in the **User Filter** field: -## Configure Directory Connector +The Admin SDK API provides limited filtering capabilities for users with a `query` parameter. Learn more [here](https://developers.google.com/admin-sdk/directory/v1/guides/search-users){:target="\_blank"}. -1. Launch the Directory Connector desktop application. -2. Go to the **Settings** tab. -3. Select **G Suite Directory** as the directory type. -4. Enter the **Domain** of your G Suite account. -5. Enter the email address of an **Admin User** that has full access to the G Suite directory (such as your own). -6. If you have one, enter the **Customer Id** of your directory (most users won't need to enter a Customer Id). -7. Select the **JSON Key File** that was downloaded whenever you created your service account in the steps above. The **Client Email** and **Private Key** will be automatically extracted from this key file for you. +##### Include/Exclude Users by Email -Congrats! You are done configuring G Suite with the Bitwarden Directory Connector. +To include or exclude specific users from a sync based on email address: +``` +include:joe@example.com,bill@example.com,tom@example.com +``` +``` +exclude:joe@example.com,bill@example,tom@example.com +``` -## Testing +##### Concatenate with `query` -Test your configuration by running a sync test. You should see your G Suite groups and/or users printed to the screen. +To concatenate a user filter with the `query` parameter, use a pipe (`|`): +``` +include:john@example.com,bill@example.com|orgName=Engineering orgTitle:Manager +``` +``` +exclude:john@example.com,bill@example.com|orgName=Engineering orgTitle:Manager +``` + +##### Use only `query` + +To use only the `query` parameter, prefix the query with a pipe (`|`): +``` +|orgName=Engineering orgTitle:Manager +``` + +#### Group Filters + +To include or exclude groups from a sync based on Group Name: +``` +include:Group A,Group B +``` +``` +exclude:Group A,Group B +``` + +## Test a Sync + +To test whether Directory Connector will successfully connect to your directory and return the desired users and groups, navigate to the **Dashboard** tab and select the **Test Now** button. If successful, users and groups will be printed to the Directory Connector window according to the specified [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters): + +{% image /directory-connector/okta/dc-okta-test.png Test sync results %} + +## Start Automatic Sync + +Once [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters) are configured and tested, you can begin syncing. Complete the following steps to start automatic syncing with Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start sync** button. + + You may alternatively select the **Sync now** button to execute a one-time manual sync. + +Directory Connector will begin polling your directory based on the configured [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters). + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/ldap-directory.md b/_articles/directory-connector/ldap-directory.md index ac686bbe..c9fef6e2 100644 --- a/_articles/directory-connector/ldap-directory.md +++ b/_articles/directory-connector/ldap-directory.md @@ -1,15 +1,14 @@ --- layout: article -title: Configuring directory sync with Active Directory or other LDAP servers +title: Sync with Active Directory or LDAP categories: [directory-connector] featured: true popular: false tags: [active directory, ldap, ad] +order: 07 --- -An LDAP directory is a collection of data about users and groups. LDAP (Lightweight Directory Access Protocol) is an Internet protocol that web applications can use to look up information about those users and groups from the LDAP server. - -We provide built-in connectors for the most popular LDAP directory servers, such as: +This article will help you get started using Directory Connector to sync users and groups from your LDAP or Active Directory service to your Bitwarden Organization. Bitwarden provides built-in connectors for the most popular LDAP directory servers, including: - Microsoft Active Directory - Apache Directory Server (ApacheDS) @@ -19,69 +18,119 @@ We provide built-in connectors for the most popular LDAP directory servers, such - OpenDS - OpenLDAP - Sun Directory Server Enterprise Edition (DSEE) -- A generic LDAP directory server +- Any generic LDAP directory server -## Requirements +## Connect to your Server -- Read through the following article: [Syncing users and groups with a directory]({% link _articles/directory-connector/directory-sync.md %}) -- Install Bitwarden Directory Connector -- Using Directory Connector, log into your Bitwarden account and select your enterprise organization +Complete the following steps to configure Directory Connector to use your LDAP or Active Directory: -## Connecting to the LDAP Server +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. From the **Type** dropdown, select **Active Directory / LDAP**. -1. Run the Directory Connector application. -2. Go to the **Settings** tab. -3. Select **Active Directory / LDAP** as the **Type** of directory server you are configuring. + The available fields in this section will change according to your selected Type. +4. Configure the following options: -The following directory configuration options can be set: + |Option|Description|Examples| + |------|-----------|--------| + |Server Hostname|Hostname of your directory server.|`ad.example.com`

`ldap.company.org`| + |Server Port|Port on which your directory server is listening.|`389` or `10389`| + |Root Path|Root path at which the Directory Connector should start all queries.|`cn=users,dc=ad,dc=example,dc=com`

`dc=ldap,dc=company,dc=org`| + |This server uses active directory|Check this box if the server is an Active Directory server.|| + |This server pages search results|Check this box if the server paginates search results.

(*LDAP only*)|| + |This server uses an encrypted connection|Checking this box will prompt you to select one of the following options:

**Use SSL** (LDAPS)
If your LDAPS server uses an untrusted certificate, you can configure certificate options on this screen.

**Use TLS** (STARTTLS)
If your LDAP server uses a self-signed certificated for STARTTLS, you can configure certification options on this screen.
|| + |Username|The Distinguished Name of an administrative user that the application will use when connecting to the directory server.

For Active Directory, the user should be a member of the built-in administrators group.|`cn=admin,cn=users,dc=ad,dc=company,dc=com`

`company\admin`| + |Password|The password of the user specified above. The password is safely stored in the operating system's native credential manager.|| -{% table %} +5. In the **Account** section, select Organization to connect to your directory from the dropdown. -| Property | Description | Examples | -|----------|-------------|----------| -| Server Hostname | The hostname of your directory server. | `ad.example.com` or `ldap.company.local` | -| Port | The port on which your directory server is listening. | 389 or 10389 | -| Root Path | The root path at which the Directory Connector should start all queries. | `cn=users,dc=ad,dc=company,dc=com` | -| SSL | If the server is using LDAP over SSL (LDAPS). | | -| TLS | If the server is using LDAP over TLS (STARTTLS). | | -| Active Directory | If the server is an Active Directory server. | | -| Username | The distinguished name of an administrative user that the application will use when connecting to the directory server. For Active Directory, the user should be a member of the built-in administrators group. | `cn=admin,cn=users,dc=ad,dc=company,dc=com` or `company\admin` (Active Directory) | -| Password | The password of the user specified above. The password is safely stored in the operating system's native credential manager. | | +## Configure Sync Options -{% endtable %} +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). +{% endcallout %} -## Configuring Sync Settings - -1. Launch the Directory Connector desktop application -2. Go to the **Settings** tab. -3. Configure the appropriate **Sync** settings for your Active Directory or LDAP server. +Complete the following steps to configure the settings used when syncing using Directory Connector: {% callout info %} If you are using Active Directory, many of these settings are predetermined for you and are therefore are not shown. {% endcallout %} -{% table %} +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. In the **Sync** section, configure the following options as disired: -| Property | Description | Examples | -|----------|-------------|----------| -| Interval | The interval, in minutes, that you wish to perform automatic sync checks. | 5 | -| Remove Disabled Users | When a user is disabled in the directory, should they also be removed from your Bitwarden organization? | | -| Overwrite Existing Users | Always perform a full sync and remove any users from your organization if they are not in the synced users set. | | -| Member Attribute | The attribute field to use when loading the group's members. | uniqueMember | -| Creation Date Attribute | The attribute field that specifies when an entry was created. | whenCreated | -| Revision Date Attribute | The attribute field that specifies when an entry was changed. | whenChanged | -| Use Email Prefix/Suffix | Email addresses are required by Bitwarden. If your directory users do not have email addresses they will be skipped. Alternatively, you can specify that users without an email address use a prefix attribute concatenated with a suffix to attempt to form a valid email address. | | -| Email Prefix Attribute | The attribute field to use when forming a user's email address from the prefix/suffix setting. | accountName | -| Email Suffix | The specified suffix to use when forming a user's email address from the prefix/suffix setting. | @example.com | -| Sync Users | Sync users to your organization. | | -| User Filter | A filter for limiting the users that are synced. Read more at [Configuring user and group sync filters]({% link _articles/directory-connector/user-group-filters.md %}). | (&(givenName=John)) | -| User Object Class | The name of the class used for the LDAP user object. | user | -| User Path | This value is used in addition to the root path when searching and loading users. If no value is supplied, the subtree search will start from the root path. | ou=Users | -| User Email Attribute | The attribute field to use when loading the user email address. | mail | -| Sync Groups | Sync groups to your organization. | | -| Group Filter | A filter for limiting the groups that are synced. Read more at [Configuring user and group sync filters]({% link _articles/directory-connector/user-group-filters.md %}). | (&!(name=Sales*)) | -| Group Object Class | The name of the class used for the LDAP group object. | groupOfUniqueNames | -| Group Path | This value is used in addition to the root path when searching and loading groups. If no value is supplied, the subtree search will start from the root path. | ou=Groups | -| Group Name Attribute | The attribute field to use when loading the group name. | name | +|Option|Description| +|------|-----------| +|Interval|Time between automatic sync check (in minutes).| +|Remove disabled users during sync|Check this box to remove users from the Bitwarden Organization that have been disabled in your Organization.| +|Overwrite existing organization users based on current sync settings|Check this box to always perform a full sync and remove any users from the Bitwarden Organization if they are not in the synced user set.| +|Member Attribute|Name of the attribute used by the directory to define a group's membership (e.g. `uniqueMember`).| +|Creation Data Attribute|Name of the attribute used by the directory to specify when an entry was created (e.g. `whenCreated`).| +|Revision Date Attribute|Name of the attribute used by the directory to specify when an entry was last changed (e.g. `whenChanged`).| +|If a user has no email address, combine a username prefix with a suffix value to form an email|Check this box to form valid email options for users that do not have an email address. **Users without real or formed email addresses will be skipped by Directory Connector.**

Formed Email = **Email Prefix Attribute** + **Email Suffix**| +|Email Prefix Attribute|Attribute used to create a prefix for formed email addresses.| +|Email Suffix|A string (`@example.com`) used to create a suffix for formed email addresses.| +|Sync users|Check this box to sync users to your Organization.

Checking this box will allow you to specify a **User Filter**, **User Path**, **User Object Class**, and **User Email Attribute**.| +|User Filter|See [Specify Sync Filters](#specify-sync-filters).| +|User Path|Attribute used with the specified **Root Path** to search for users (e.g. `ou=users`). If no value is supplied, the subtree search will start from the root path.| +|User Object Class|Name of the class used for the LDAP user object (e.g. `user`).| +|User Email Attribute|Attribute to be used to load a user's stored email address.| +|Sync groups|Check this box to sync groups to your Organization.

Checking this box will allow you to specify a **Group Filter**, **Group Path**, **Group Object Class**, **Group Name Attribute**.| +|Group Filter|See [Specify Sync Filters](#specify-sync-filters).| +|Group Path|Attribute used with the specified **Root Path** to search for groups (e.g. `ou=groups`). If no value is supplied, the subtree search will start from the root path.| +|Group Object Class|Name of the class used for the LDAP group object (e.g. `groupOfUniqueNames`).| +|Group Name Attribute|Name of the attribute used by the directory to define the name of a group (e.g. `name`).| -{% endtable %} +### Specify Sync Filters + +User and group filters can be in the form of any LDAP-compatible search filter. + +Active Directory provides some advanced options and limitations for writing search filters, when compared to standard LDAP directions. Learn more about writing Active Directory search filters [here](https://docs.microsoft.com/en-us/windows/win32/adsi/search-filter-syntax?redirectedfrom=MSDN). + +#### Samples + +To filter a sync for all entries that have `objectClass=user` and `cn` (common name) that contains `Marketing`: +``` +(&(objectClass-user)(cn=*Marketing*)) +``` + +(**LDAP-only**) To filter a sync for all entries with an `ou` (organization unit) component of their `dn` (distinguished name) that is either `Miami` or `Orlando`: +``` +(|(ou:dn:=Miami)(ou:dn:=Orlando)) +``` + +(**LDAP-only**) To exclude entities that match an expression, for example all `ou=Chicago` entries *except* those that also match a `ou=Wrigleyville` attribute: +``` +(&(ou:dn:=Chicago)(!(ou:dn:=Wrigleyville))) +``` + +(**AD Only**) To filter a sync for users in the `Heroes` group: +``` +(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=Heroes,ou=users,dc=company,dc=com)) +``` + +(**AD Only**) To filter a sync for users that are members of the `Heroes` group, either directory or via nesting: +``` +(&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=Heroes,ou=users,dc=company,dc=com)) +``` + +## Test a Sync + +To test whether Directory Connector will successfully connect to your Directory and return the desired users and groups, navigate to teh **Dashbaord** tab and select the **Test Now** button. If successful, users and groups will be printed to the Directory Connector window according the specified [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters): + +{% image /directory-connector/okta/dc-okta-test.png Test sync results %} + +## Start Automatic Sync + +Once [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters) are configured and tested, you can begin syncing. Complete the following steps to start automatic syncing with Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start Sync** button. + + You may alternatively select the **Sync Now** button to execute a one-time manual sync. + +Directory Connector will begin polling your directory based on the configured [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters). + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/okta-directory.md b/_articles/directory-connector/okta-directory.md index 3e3a6f63..c273465c 100644 --- a/_articles/directory-connector/okta-directory.md +++ b/_articles/directory-connector/okta-directory.md @@ -1,41 +1,135 @@ --- layout: article -title: Configuring directory sync with Okta +title: Sync with Okta categories: [directory-connector] featured: true popular: false hidden: false tags: [] +order: 10 --- -This article will cover how to connect the Bitwarden Directory Connector application to your Okta Directory. +This article will help you get starting using Directory Connector to sync users and groups from your Okta directory to your Bitwarden Organization. -## Requirements +## Create an Okta API Token -- Read through the following article: [Syncing users and groups with a directory]({% link _articles/directory-connector/directory-sync.md %}) -- Install Bitwarden Directory Connector -- Using Directory Connector, log into your Bitwarden account and select your enterprise organization +Directory Connector requires knowledge of an Okta-generated token to connect to your directory. Complete the following steps to create and obtain an Okta API Token for use by Directory Connector: -## Create an API token +1. From your Okta Developer Console (`https://yourdomain-admin.okta.com`) navigate to **Security** → **API** → **Tokens**. +2. Select the **Create Token** button and give your token a Bitwarden-specific name (e.g. `bitwarden-dc`). +3. Copy the generated **Token Value** to the clipboard. -1. Log into your Okta Developer Console -2. Select **API** → **Tokens** from the navigation menu - {% image directory-connector/okta/api-tokens.png %} -3. Click the **Create Token** button and name the token something like "Bitwarden Connector", then click the **Create Token** button. - {% image directory-connector/okta/create-token.png %} -4. Note and copy your API token for use with the Directory Connector. Your token will not be shown again so you may want to save it somewhere so that you can easily access it when configuring your directory connection later. - {% image directory-connector/okta/copy-token.png %} + {% callout warning %}Your Token Value will not be shown again. Paste it somewhere safe to prevent it from being lost.{% endcallout %} -## Configure Directory Connector +## Connect to your Directory -1. Launch the Directory Connector desktop application -2. Go to the **Settings** tab. -3. Select **Okta** as the directory type. -4. Enter your Okta organization's URL (ex. https://mycompany.okta.com/). -5. Enter the API **Token** that you copied from the steps above. +Complete the following steps to configure Directory Connector to use your Okta Directory: -Congrats! You are done configuring Okta with the Bitwarden Directory Connector. +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. From the **Type** dropdown, select **Okta**. -## Testing + The available fields in this section will change according to your selected Type. +4. Enter your Okta Organization URL in the **Organization URL** field (e.g. `https://yourdomain.okta.com`). +5. Paste the API Token Value in the **Token** field. +6. In the **Account** section, select Organization to connect to your directory from the dropdown. -Test your configuration by running a sync test. You should see your Okta groups and/or users printed to the screen. +## Configure Sync Options + +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). +{% endcallout %} + +Complete the following steps to configure the settings used when syncing using Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. In the **Sync** section, configure the following options as desired: + +|Option|Description| +|------|-----------| +|Interval|Time between automatic sync checks (in minutes).| +|Remove disabled users during sync|Check this box to remove users from the Bitwarden Organization that have been disabled in your directory.| +|Overwrite existing organization users based on current sync settings|Check this box to always perform a full sync and remove any users from the Bitwarden Organization if they are not in the synced user set.| +|Sync users|Check this box to sync users to your Organization.

Checking this box will allow you to specify **User Filters**.| +|User Filter|See [Specify Sync Filters](#specify-sync-filters).| +|Sync Groups|Check this box to sync groups to your Organization.

Checking this box will allow you to specify **Group Filters**.| +|Group Filter|See [Specify Sync Filters](#specify-sync-filters).| + +### Specify Sync Filters + +Use comma-separated lists to include or exclude based on User Email or Group Name. Additionally, Okta APIs provided limited filtering capabilities for Users and Groups that may be used in Directory Connector Filter fields. + +Consult Okta documentation for more information about using the `filter` parameter for [Users](https://developer.okta.com/docs/api/resources/users#list-users-with-a-filter){:target="\_blank"} and [Groups](https://developer.okta.com/docs/api/resources/groups#filters){:target="\_blank"}. + +#### User Filters + +##### Include/Exclude Users by Email + +To include or exclude specific users based on email address: +``` +include:joe@example.com,bill@example.com,tom@example.com +``` +``` +exclude:joe@example.com,bill@example.com,tom@example.com +``` +##### Concatenate with `filter` + +To concatenate a user filter with the `filter` parameter, use a pipe (`|`): +``` +include:john@example.com,bill@example.com|profile.firstName eq "John" +``` +``` +exclude:john@example.com,bill@example.com|profile.firstName eq "John" +``` +##### Use only `filter` + +To use only the `filter` parameter, prefix the query with a pipe (`|`): +``` +|profile.lastName eq "Smith" +``` +#### Group Filters + +##### Include/Exclude Groups + +To include or exclude groups by name: +``` +include:Group A,Group B +``` +``` +exclude:Group A,Group B +``` +##### Concatenate with `filter` + +To concatenate a group filter with the `filter` parameter, use a pipe (`|`): +``` +include:Group A|type eq "APP_GROUP" +``` +``` +exclude:Group A|type eq "APP_GROUP" +``` +##### Use only `filter` + +To use only the `filter` parameter, prefix the query with a pipe (`|`): +``` +|type eq "BUILT_IN" +``` +## Test Connection + +To test whether Directory Connector will successfully connect to your directory and return the desired users and groups, navigate to the **Dashboard** tab and select the **Test Now** button. If successful, users and groups will be printed to the Directory Connector window according to specified [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters): + +{% image /directory-connector/okta/dc-okta-test.png Test sync results%} + +## Start Automatic Sync + +Once [Sync Options](#configured-sync-options) and [Filters](#specify-sync-filters) are configured as desired, you can begin syncing. Complete the following steps to start automatic sync with Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start Sync** button. + + You may alternatively select the **Sync Now** button to execute a one-time manual sync. + +Directory Connector will begin polling your directory based on the configured [Sync Options](#configured-sync-options) and [Filters](#specify-sync-filters). + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/onelogin-directory.md b/_articles/directory-connector/onelogin-directory.md index 5b82a417..89a19a88 100644 --- a/_articles/directory-connector/onelogin-directory.md +++ b/_articles/directory-connector/onelogin-directory.md @@ -1,45 +1,107 @@ --- layout: article -title: Configuring directory sync with OneLogin +title: Sync with OneLogin categories: [directory-connector] featured: true popular: false hidden: false tags: [] +order: 11 --- -This article will cover how to connect the Bitwarden Directory Connector application to your OneLogin Directory. +This article will help you get started using Directory Connector to sync users and groups from your OneLogin directory to your Bitwarden Organization. -## Requirements +## Create API Credentials -- Read through the following article: [Syncing users and groups with a directory]({% link _articles/directory-connector/directory-sync.md %}) -- Install Bitwarden Directory Connector -- Using the Directory Connector, log into your Bitwarden account and select your enterprise organization +Directory Connector requires knowledge of OneLogin-generated API Credentials to connect to your directory. Complete the following steps to create and obtain API credentials for use by Directory Connector: -## Creating API credentials +1. From your OneLogin Administration portal (`https://yourdomain.onelogin.com/admin`), select to **Developers** → **API Credentials** from the navigation menu. +2. Select the **New Credential** button and give your credential a Bitwarden-specific name (e.g. `bitwarden-dc`). +3. Select the **Read Users** radio button to give read permission for user fields, roles, and groups, and select **Save**. +4. Copy the generated **Client ID** and **Client Secret**. You may return to view these at any time. -1. Log into your OneLogin Adminsitration portal. -2. Select **Developers** → **API Credentials** from the navigation menu. - {% image directory-connector/onelogin/onelogin-step2.png %} -3. Click the **New Credential** button. - {% image directory-connector/onelogin/onelogin-step3.png %} -4. Name the credential something like “Bitwarden Connector”, then select "**Read users**". Save the new API credential. - {% image directory-connector/onelogin/onelogin-step4.png %} -5. Copy your **Client ID** and **Client Secret**. You can return to view these at any time. -{% image directory-connector/onelogin/onelogin-step5.png %} +## Connect to your Directory -## Configure Directory Connector +Complete the following steps to configure Directory Connector to use your OneLogin directory: -1. Launch the Directory Connector desktop application. -2. Go to the **Settings** tab. -3. Select **OneLogin** as the directory type. -4. Enter the **Client ID** and **Client Secret** copied from the previous steps. -5. Select the correct Region. -6. Configure sync options. It is recommended to use the **Overwrite existing organization users based on current sync settings** option with OneLogin. -{% callout success %}For minimal testing check "Sync users".{% endcallout %} +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. From the **Type** dropdown, select **OneLogin**. -Congrats! You are done configuring OneLogin with the Bitwarden Directory Connector. + The available fields in this section will change according to your selected Type. +4. Enter the **Client ID** and **Client Secret** [obtained from OneLogin](#create-api-credentials). +5. From the **Region** dropdown, select your region. +6. In the **Account** section, select Organization to connect to your directory from the dropdown. -## Testing +## Configure Sync Options -Test your configuration by running a sync test from the **Dashboard** of the Directory Connector. You should see your OneLogin groups and/or users printed to the screen. +{% callout success %} +When you're finished configuring, navigate to the **More** tab and select the **Clear Sync Cache** button to prevent potential conflicts with prior sync operations. For more information, see [Clear Sync Cache]({% link _articles/directory-connector/clear-sync-cache.md %}). +{% endcallout %} + +Complete the following steps to configure the settings used when syncing using Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Settings** tab. +3. In the **Sync** section, configure the following options as desired: + +|Option|Description| +|------|-----------| +|Interval|Time between automatic sync checks (in minutes).| +|Remove disabled users during sync|Check this box to remove users from the Bitwarden Organization that have been disabled in your directory.| +|Overwrite existing organization users based on current sync settings|Check this box to always perform a full sync and remove any users from the Bitwarden Organization if they are not in the synced user set.

**Recommended for OneLogin directories.**| +|If a user has no email address, combine a username prefix with a suffix value to form an email|Check this box to form valid email options for users that do not have an email address. **Users without real or formed email addresses will be skipped by Directory Connector.**

Formed Email = `username` + **Email Suffix**| +|Email Suffix|A string (`@example.com`) used to create a suffix for formed email addresses.| +|Sync users|Check this box to sync users to your Organization.

Checking this box will allow you to specify **User Filters**.| +|User Filter|See [Specify Sync Filters](#specify-sync-filters).| +|Sync Groups|Check this box to sync groups to your Organization. Checking this box will allow you to specify **Group Filters**.

**Please be aware, Directory Connector uses OneLogin `role` values to create Bitwarden groups.**
| +|Group Filter|See [Specify Sync Filters](#specify-sync-filters).| + +### Specify Sync Filters + +Use comma-separated lists to include or exclude from a sync based on User Email or Group: + +{% callout note %} +Directory Connector will create Bitwarden groups based on OneLogin Roles, not OneLogin Groups. +{% endcallout %} + +#### User Filters + +To include or exclude specific users from a sync based on email address: +``` +include:joe@example.com,bill@example.com,tom@example.com +``` +``` +exclude:joe@example.com,bill@example.com,tom@example.com +``` + +#### Group Filters + +To include or exclude groups from a sync based on OneLogin roles: + +``` +include:Role A,Role B +``` +``` +exclude:Role A,Role B +``` + +## Test a Sync + +To test whether Directory Connector will successfully connect to your directory and return the desired users and groups, navigate to the **Dashboard** tab and select the **Test Now** button. If successful, users and groups will be printed to the Directory Connector window according to specified [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters): + +{% image /directory-connector/okta/dc-okta-test.png Test sync results %} + +## Start Automatic Sync + +Once [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters) are configured as desired, you can begin syncing. Complete the following steps to start automatic sync with Directory Connector: + +1. Open the Directory Connector [Desktop Application]({% link _articles/directory-connector/directory-sync-desktop.md %}). +2. Navigate to the **Dashboard** tab. +3. In the **Sync** section, select the **Start Sync** button. + + You may alternatively select the **Sync Now** button to execute a one-time manual sync. + +Directory Connector will begin polling your directory based on the configured [Sync Options](#configure-sync-options) and [Filters](#specify-sync-filters). + +If you exit or close the application, automatic sync will stop. To keep Directory Connector running in the background, minimize the application or hide it to the system tray. diff --git a/_articles/directory-connector/user-group-filters.md b/_articles/directory-connector/user-group-filters.md index 7fa2e097..98cf0cc8 100644 --- a/_articles/directory-connector/user-group-filters.md +++ b/_articles/directory-connector/user-group-filters.md @@ -1,197 +1,24 @@ --- layout: article -title: Configuring user and group sync filters +title: Sync Options and Filters categories: [directory-connector] featured: false popular: false hidden: false tags: [] +order: 05 --- -You can configure the Bitwarden Directory Connector application to use filters to limit the users and/or groups that are processed for syncing to your Bitwarden organization. +When configuring the Directory Connector application, you can use a variety of Sync Options and Filters to customize your sync operation and limit the users and/or groups that are processed to your Bitwarden Organization. -The syntax for filtering is different for each directory server type and is covered in detail below. +Available Sync Options and Filter syntaxes are different for each directory server type. Refer to the **Configure Sync Options** and **Specify Sync Filters** sections of one of the following articles for help: -## Active Directory and Other LDAP Directories +- [Sync with Active Directory or LDAP]({% link _articles/directory-connector/ldap-directory.md %}) +- [Sync with Azure Active Directory]({% link _articles/directory-connector/azure-active-directory.md %}) +- [Sync with G Suite (Google)]({% link _articles/directory-connector/gsuite-directory.md %}) +- [Sync with Okta]({% link _articles/directory-connector/okta-directory.md %}) +- [Sync with OneLogin]({% link _articles/directory-connector/onelogin-directory.md %}) -The group and user filters can be in the form of any LDAP compatible search filter. Additionally, Active Directory provides a few more advanced options as well as a few limitations when writing search filters as opposed to other more standard LDAP directories. You can read more about writing LDAP search filters here: - -### Examples - -Search for all entries that have objectClass=user AND cn that contains the word 'Marketing'. - -``` -(&(objectClass=user)(cn=*Marketing*)) -``` - -{% callout info %} -Active Directory does not implement extensible matching, the following examples won't work with it. +{% callout success%} +If you're using the Directory Connector CLI, see [Directory Connector File Storage]({% link _articles/directory-connector/directory-sync-shared.md %}) for help editing your `data.json` configuration file. {% endcallout %} - -Find entries with an OU component of their DN which is either 'Miami' or 'Orlando'. - -``` -(|(ou:dn:=Miami)(ou:dn:=Orlando)) -``` - -To exclude entities which match an expression, use '!'. Find all Chicago entries except those with a Wrigleyville OU component. - -``` -(&(ou:dn:=Chicago)(!(ou:dn:=Wrigleyville))) -``` - -{% callout info %} -The following examples are written for Active Directory. In order to use them for something such as OpenLDAP the attributes will need to be changed. -{% endcallout %} - -Users in the 'Heroes' group - -``` -(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=Heroes,ou=users,dc=company,dc=com)) -``` - -Users that are a member of the 'Heroes' group, either directly or via nesting - -``` -(&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=Heroes,ou=users,dc=company,dc=com)) -``` - -## Azure Active Directory - -The Microsoft Graph API does not provide a way to filter groups and users directly, however, you can use our custom filtering syntax that allows you to exclude or include a comma separated list of group names, user emails, or users based on their group membership. - -### Examples - -#### Groups - -{% callout info %} -If you are filtering groups your user filter will only apply to users from the groups returned. -{% endcallout %} - -``` -include:Group A,Sales People,My Other Group -``` - -``` -exclude:Group C,Developers,Some Other Group -``` - -#### Users - -You can include/exclude users directly by using `include` or `exclude` keywords like below: - -``` -include:joe@example.com,bill@example.com,tom@example.com -``` - -``` -exclude:joe@example.com -``` - -Alternatively, you can filter users based on their Azure AD group membership by using `includeGroup` or `excludeGroup` keywords. You must obtain the Azure AD group ID and include it with the keyword. You can get the group's ID in the [Azure Portal](https://portal.azure.com) or through [Azure AD PowerShell](https://docs.microsoft.com/en-us/powershell/module/azuread/get-azureadgroup?view=azureadps-2.0). - -``` -includeGroup:97b9ff2a-7d4f-463d-a925-efb1677fd40d,b389c339-8c13-4c1a-8ac1-4fde56d9f70f -``` - -``` -excludeGroup:97b9ff2a-7d4f-463d-a925-efb1677fd40d -``` - -## G Suite - -### Groups - -The G Suite APIs do not provide a way to filter groups directly, however, you can use our custom filtering syntax that allows you to exclude or include a comma separated list of group names. - -{% callout info %} -If you are filtering groups your user filter will only apply to users from the groups returned. -{% endcallout %} - -#### Examples - -``` -include:Group A,Sales People,My Other Group -``` - -``` -exclude:Group C,Developers,Some Other Group -``` - -### Users - -We provide the same custom filtering syntax that allows you to exclude or include a comma separated list of user emails. - -Additionally, the G Suite APIs provide limited filtering capabilities for users that are exposed to you. Read more about filtering with the `query` parameter here: - -You can combine both of these filtering options by concatenating the two strings with a pipe (`|`); - -#### Examples - -Only the include/exclude filter: - -``` -include:joe@example.com,bill@example.com,tom@example.com -``` - -An include/exclude filter + a G Suite `query` search: - -``` -exclude:john@example.com,bill@example.com|orgName=Engineering orgTitle:Manager -``` - -Only the G Suite `query` search (notice the `|` prefix that is required): - -``` -|orgName=Engineering orgTitle:Manager -``` - -## Okta - -We provide a custom filtering syntax that allows you to exclude or include a comma separated list of group names or user emails. - -Additionally, the Okta APIs provide limited filtering capabilities for users and groups. Read more about filtering with the `filter` parameter here: and - -You can combine both of these filtering options by concatenating the two strings with a pipe (`|`); - -### Examples - -#### Groups - -Only the include/exclude filter: - -``` -include:Group A,Group B -``` - -An include/exclude filter + an Okta `filter`: - -``` -exclude:Group A|type eq "APP_GROUP" -``` - -Only the Okta `filter` search (notice the `|` prefix that is required): - -``` -|type eq "BUILT_IN" -``` - -#### Users - -Only the include/exclude filter: - -``` -include:joe@example.com,bill@example.com,tom@example.com -``` - -An include/exclude filter + an Okta `filter`: - -``` -exclude:john@example.com,bill@example.com|profile.firstName eq "John" -``` - -Only the Okta `filter` search (notice the `|` prefix that is required): - -``` -|profile.lastName eq "Smith" -``` diff --git a/files/data.json b/files/data.json new file mode 100644 index 00000000..0ae33638 --- /dev/null +++ b/files/data.json @@ -0,0 +1,71 @@ +{ + "installedVersion": "2.8.2", + "mainWindowSize": { + "width": 738, + "height": 551, + "isMaximized": false, + "displayBounds": { + "x": 1440, + "y": 0, + "width": 1920, + "height": 1080 + }, + "x": 2601, + "y": 23 + }, + "appId": "app-id-string", + "rememberEmail": true, + "rememberedEmail": "owner@bitwarden.com", + "directoryType": 0, <---Indicates which directoryConfig_x to use for sync + "directoryConfig_0": { <---Config for LDAP/AD + "ssl": false, + "startTls": false, + "sslAllowUnauthorized": false, + "port": 389, + "currentUser": false, + "ad": true, + "pagedSearch": true, + "password": "[STORED SECURELY]", <---Must be set from a BWDC Application + "rootPath": "dc=ldap,dc=company,dc=org", + "hostname": "ldap.company.org", + "username": "cn=bitwarden,cn=Users,dc=ldap,dc=company,dc=org" + }, + "directoryConfig_2": { + "privateKey": null + }, + "directoryConfig_1": { <---Config for Azure AD + "key": "[STORED SECURELY]", <---Must be set from a BWDC Application + "tenant": "bwdc@test.onmicrosoft.com", + "applicationId": "application-id-string" + }, + "directoryConfig_3": { <---Config for Okta + "token": "[STORED SECURELY]", <---Must be set from a BWDC Application + "orgUrl": "https://bitwardentest.okta.com" + }, + "directoryConfig_4": { <---Config for OneLogin + "region": "us", + "clientSecret": "[STORED SECURELY]", <---Must be set from a BWDC Application + "clientId": "client-id-string" + }, + "syncConfig": { <---Sync Options + "users": true, + "groups": false, + "interval": 5, + "removeDisabled": false, + "overwriteExisting": false, + "useEmailPrefixSuffix": false, + "creationDateAttribute": "whenCreated", + "revisionDateAttribute": "whenChanged", + "emailPrefixAttribute": "sAMAccountName", + "memberAttribute": "member", + "userObjectClass": "person", + "groupObjectClass": "group", + "userEmailAttribute": "mail", + "groupNameAttribute": "name", + "groupPath": "", + "userPath": "", + "groupFilter": "", + "userFilter": "(ou=Test OU)" + }, + "organizationId": "organization-id-string" <---Your Organization ID +} diff --git a/images/directory-connector/dc-diagram.png b/images/directory-connector/dc-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..b9090f6ebc026fff98b8286f179a75fbe4c51718 GIT binary patch literal 70256 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�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 literal 0 HcmV?d00001 diff --git a/images/directory-connector/okta/dc-okta-copy.png b/images/directory-connector/okta/dc-okta-copy.png new file mode 100644 index 0000000000000000000000000000000000000000..667a81376ca6515abd8ab0b0941e7bf1f49470dc GIT binary patch literal 32794 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 literal 0 HcmV?d00001 diff --git a/images/directory-connector/okta/dc-okta-test.png b/images/directory-connector/okta/dc-okta-test.png new file mode 100644 index 0000000000000000000000000000000000000000..63d1f5c6d04d8a8c4a3cf18511efb2b5d177c6af GIT binary patch literal 62596 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

HXj34cWI%iL3Z)G7I*Y!kp^Yj8z5$ z-2wR|2Ed&+Z0NT1A&c#Tu4i4?(~g2hqiHmgllx2h-JZW%Mq;b$mAMr6LA%}D@vf^4 zD2dIv9b`l-q-=*Y;LhGot_5`(v*$GLV(pEjZnjKz zVA1~i_@9-I_yD0-xHF%44UXn{Jk_LPIz~S51D%5k!u`<7vf~MPk<3S}?Poy&!J)_f zoTi^R^hMrXeu3zXd=!T=()rRj@frM_J6hLr_W-@}w0#AOw2kbAacuF;-m+>EXXqH8B+oO^pjF@12I! zh;g&9$+u{}CYG>-+A{>8P)BiYrv3Upe!t&U=1-U%OD^u|DEP87292-3$$s4-Qwul; z=1w-GZ(Gjs?;J_?)V4O;|J}E2VIpv0Xc}1GPbwofu~9JY`eS(1raX`lw{xAWLKqR7 z(Nr=D>7Hf!Ewz(0u~NVZ1&U}y~_4*%Z$(m@&OTD6ijYdJK!Gw+iSweqeQb( zJ8MpS5u9X*dTC74;d{d8%W?6JOd2mG>6wxQCGlFh2s{4cDGVS&9hKWTi@22Xn^y$? zGvuqnzzcviZj(;r-mv@He|rb4FE-Q~-F`w7#g^K?OWWokkUUVBOT-$tSts(j#N{2y zA6E7N$OxfH0 zM>%LPvP^|)D_{@?2d{y#we4Hy!p3XXYnOi+cVY~3L&Xim^&K@~V;8)e+6p}vwUs@5!FiHs5VPP|51mbr} z|8X!Qd?>&s(F)M}S1*vj%|nq+*vF}>($>6xg%vJAXcSh!A&mUTRR#ABQZP9Oy*;mM zettmlzte&~LLT~IJI#33<*$E>Y_I>=ye07e0%)C0#O~$zAC>;0c%55#sH^l>BO{n# zM1gAG*~)6WqBk}@3ye3zuzlIlOqTS*?z8SEVwXoR7r8WFtRINpd%XZK^q;~+AQ!9L zQl9~tz3Z)I{z9Y~@GH7`BcqQs9pU?ao_4kOVmJjCTA$v$`S}mT0!`dJ?xfeRX=Xwi z;0J;XQR37dA0QYRNH|G7VJIps7MMaJBZd5=9X7?6n%F*LVq$_XMsoalY|DYF(t`AY zHMwI|-rS_Tu7ar~pVz5>2{n)SJDu9(zL1^2E`VwdhU=T$@2s=Cs|*Js{L2g3enkA~ zv}okKuGfl!`~_O=9)aL_D$)pYymA8=nNVl3V4fr}nT0##?tZ^Z8dkH4Kk=K~%FRGT zb0_zCh(3hOb+Kbgy_wt_iH)#@H4Q*pvF}1AWn+NbZlXZLL-I4rn3-_jVthCuDX9@n zA$N}>1*xB?L*J7j%*=nQe`NdZ#ksllZ3{>^>Za*p#7hsq6CR|7MD6)okg+45($l;Z z-}<|Ri5iF#NLbI)JY^az^!gn7DD<|0R}FT7P)vBAOdw{GHbDA~ftTj&T_#}86YLIM z4z$})HwenW386tgLbRZ%Hi6$d$!yN$>sso}j2B}SpYE%ekxZHg`Tf4PqBWa-FAjuV zVY$l6w0?bl0Il6^oOm)@8S#`_IvM+s3tUj9Pl3!M?h?kQKjl)kO^FxOam&~^^z-4{ zSlRB6YJgs!$Y|)1R_d)%D+R3AnsGdL+t2!3*hDHly7=QXrqKfTe?(L6JzaQ5VNgm8 z0(ydm8aBM>X9`|^z1Tzr=ZC7E>x8uY&In*Z?628CZr0}si?~EK+2}Bx`buy;r!NQk z+L1Wd;dW#0+I&|d!s%wyS{fz-g|rioTBd%5(C#f^vscN!9~p)g4D?=LL~;GSPJHpO z>U6f8PMkqlmd~@gfDQGck0?A=`6Aaa6!TH$#&Bh_duMQ*9Tzn{t?5}6!7 z8khe?1W3qYOl3ErW!_p>3ne!QdvJW(s~%HWO8bcY3VlscZw52^Wg%(LU-X~^#o zAnSD)w0T@#7D~AW27CEmGK9{3KbkfM^`HrTOr(z?dr@^-pCJI~&UBA}m>+GA+d68g z>T`RtM^ZR`fwn!3cncbs_kkYBLi9vt42%`~3!Oe2(=3A3r+Fy*VjWXUb09Weu3wGXyUDY! zVF_Dia~m$vK@mr#j58hIcO;g=$EgnAKO|?GJt%a%5P8#^MD=e=j@a_bkP(=;;*(8- zeSCSZ2V-^6)#GJhrtwj=aaat$D@d|fDgRn9X?|MEDCnHLxwaG;iTT~;R@cJt^(mk42)|$D0h(YjFVJ2 z5s6+KteiuipDvJ9$X8z}UDZ5&UZ()k+V z=(SWY9!jyCKOVbtd%udJAid%Pei<621=61GrCF` ztG3;G&vP@YEMhMWf)0yRh^qK)8yt>b{H(>^Az8h(_k6o@VKh?^Za1H7A{|c15ddHz zS_k+158kiOn)75{_n+5YFFbeC#Zq)#vMrZerTRsL6`=)RYG?Am3o%z%w-IXrS&+*y**(F)PJ)*M4)MI=}iExntUVu-f zy=b%sykAQh*m!%U^nT$GxwKfm7S)fXB&aAw_gcAJUewAT7kHtOvsgZVLHfg zk5H5%M3ucXA4=}51ihmkBJeA5UxIwNz_yVr0}>Z*}duAmceWt=S8} zqC2wRMe4`MHRwQ%^@BwkA`HXCVNeu47_aI7_661$ynV#PYk>AMrd^)rY$~-P(x}vj zEKQB3GfLsGpbA97Q%YNuFPunX3Pi$DC5CH%65K`{p10Dy8)LruXcCX|>!+oki8M^9UksM$8LKw|nXA=hhkNybei<81!W=*Xs~jnUhx^zm<p^70Od#f>blEE9z z-Vm&KwYFx*{BL7~gZ5?5*E0$~`^3jmq%XHW?)sw%sW2?6RibpfjJMdCzch<_^-{Xm zpDw>r@4QT4#=_Rl_^1h%Swz1VpA2#uuILFKajT7NeE^vgS$R!~S6eRGUBm8hyak~U zO3syhiCF=xod1aKI6^Q8+3w>2)Hifc$*Oo1$|loUiWR1LREIrV#f_$LU|o1Q^5DI| zjYtjLj#a0Hm`LX*Smk0aFTRVXJL0P+fO@>1k)QK2CVY$o^D+|*^kI9-j;B`}(v0K5 zRo^ptl2Hm$Emf!WxV!iIHiBy%Y58QoKi*@%3X@%>dA#t8x^D7dQcgJeEnQFt@gWomE>Rl1?%E~$0V~)pAnkTg%01t zyFZ(;?R9@e(WPc+={FW&J0l7m5Ko`^!-ELn30B@9{K+uw>%akD6L zFuSA3w>>3ks>-rAuBdtfmG}1J+cTR+wM7R%il-CLu4jTE<$ljp5DvYXWRuY?7wUaS3toazsJAdlGIZ7-HW+*k3?;}?QM_rnARou8cTN|`gLyDjE( zbZ2_wUG|%7#smjrsQ|-)aDR?=qz9cJ9zD`S+We^|8E2FWx=X4X4>P}4@c_Cxxs%zG zq}L`Uw2}IH#H9yYjT?7oLO+PlU`?l5o5C`grGhTNoq2exSP_u$k^zJqTBt3ncb#G% zfCD!z+D=yRR-aZbD@ji-0|Y%lRd`3CBL2GtTFpKRrPu&f*>B@XA>-zy1t!!teOZ7@ zsPaI?b%xtc={Ool5vL3%%MTv_;H$_<=Hef5a?_%Eq9ny0X||%qM;=dW%T+Is2Hd-; zHeVX;QJv9(su!#9`eYQVzKVOgwyb_{Q0W}e$PyMoNaAKh^1hGR8;e!@nVp8+IqM?S ziGB~B#bGEEp^ZsOrLoL3oOtQbDo|apNJJR>sE}L~)o(nuY0o5S(Mivyl#gg__0Hc) z63(3Ue+wbM!0I@)jz-?Op#WZt>dg5Zo0JQ(W^zvM?7YuBN-`W`T3`FMK=8ci=39DH zC{-^oNMX|BaINa6>Z$d|Srf5lSJ}#LJ7>PU*pfmsuTX(jSTITlD;IIvMJ8L_;=3hI zT*o8zD0>$(6+%*Tav7}RUj9(R&QEP<(wXf5S^-!-l1!AV)5YWo9!s;;eHopLJIB_J*m8Y!7b-4V9{t#1W3IK(lOZaT^tfWfT2c(OzN|F8VrJQ0AlMr4dLm(sJIU5X%6)zTniTftbr!CFuFo z>cd%65i#ye&GJ35o`VkXeDMULKa6swi&PML(RQs~(_VU|DuZ5O-XK8@QO0P!spqR3 zQzFRH&!Ox;CC>CJ;97oqcc^_O>T{v=I&po>$dg@E*(UgGiq`6{b)9_WNssD*h|S=0 zpSD~OvLK2)X5P}}ezTY8pT9yGS<)v6IqaO-{=(j2)A1ya6T7TP^VD$*huv{g!d%yJ zggYi=v+jY}K>2*W*dlKrOzG>l$90WDESKw!*R$@tZZ8xd>~sy;_XT2-PT*lzdADYw zBWi5BBx%l_DO&(yhmeT*8&d5TE zL21@)YhJ#bwkz0lYkb}=(!#y#~U|AB0;@x^9Kc}XLHShH?xoCTRNyGNvcltvwJ^BmRb33W?~MCWCKC&K+XHF zOKc;)2Y2KkfxWm`4wQ!)k}=^zC0t4@l5(4hE%0iV!t{G2<|7=UIzfKO7$*1x*0XHY zV=QBB-opBa7n5m3)TYfD6qb*n24D{U^V_~{m$@JyHZmfkQfqDW*iCQe!A^i+Y zFK^wp3oqQ}B^7OSJdqJcOpGr_TdmOa;?Va%3lPZU;fo;Tke|No{p7Ju>|_N#qQ!~B zmdG6lgSKi^b}M{CDj~wqsG9u!E{|^xspk0ocY^83ZoXoy6>2s z)CjKTtCWkb5Hb<%0<<%e*W+fJuieF(^HGba#f1t2cXPGzaQCC2GToPe9O#j_3-}Fp zI{P)U{aHh)<)}YDz-kUr zddRN$hX)P*krU+@C7M8yCw6=hn$YVf#`zrapWUJrbQ5ih3Md$YSP^mT{4Xk2cPILR zYn~S`k4$Ajm|R3qmqDlt7AxMH>n(w*q;Fc<)0%AzY&A8v5uN)kFKBeg$ zNa~T$s9E?zFXX08{Z^qVC7N7d#I1*{4^HE;7wHoBmQPeksHEP;>nqhOEa1Q1gf2l> zF2;WxbADX)e%(`Zy-Vkso8JHNDR~*?V{JVO$b!7ejm3zV?E4&utekX0^Ho(gb z|8bYMhlF$Vdoeax5kDAH|A$S5XteMMEbQhatsXlkF0W=haxPmKW|jshFlz;oVqr53 zj<=P|`<0)4&}Mcz2i>LCUCk91cij`sX$}LPP7u4%VfP7xSHL_BkF(CJ=V1$MA&?=VCRS>ei!G$mI~r(g zhEqx0oLqXuvgb7}-FY);;~=u}zIaCEpeb&96?-(1+ z$}> zvt={-O<_SuEDHYB`sK38N>USaR3T)`gxCp4H0Y%)RXpF1-T-N9<@LBk~d5 zq2nN9K8~#+*AsoMok5Hlme+1L$1hSwny7N~r5a+vctDXMb5AK5IC_Ny_pa_hyN53e z$LMa_tDJptR?)5CX}zS@gQ}Em#`M_g%`0$79O zm!>Lw-;0bivoE9LV0}<}eWth_4Q2|s^A+{GT$+@^qlpqCMg^^!Zj_#IsOg1ljpOYu z9Xw@)e^Vyr342=Gd^0HWNMLVkjF<1Kvb-I)`>YPU7L&Y@6=dN7*KNG&?$^*nV>Xd;9ikSh_{Pt%RwbQyFqC4pqBYig;;aCIDq2|O81clm0Z z-cK%ZU`RMb93DJ$cpZ%LCU-JqdkZ^XAgSN?G;Q#30Q zxCbEw-kqkyx0|e=tab?OaARs>lkuL z*FAS!hxgA{-RN6~uq2seI8MXiqMggfB8FAx?{KgI^&~xvgTJoI8V((%t(?~xISKoV zYYjRgCQS-*O_}vMzt;9Wa)NR^wp(z(bC0rv!~A+k)z;_{D&301DPYk%b;sdD{LI^Q zKKfzuXM9c=&A$2{e(6(su~a7>m=E^r<;Nk^G?KNq+-MR5uG4cC^Wbej(09~lXLUMa zH&#WS-oC`+l3(SsJZl#n5Ak^}=l3$0mDekwWA665T?RJxr=#3JiGl35OfQ0LfFKza zQOe#B>cIJ#i2b1>&#<@}_VVWayPANj)-phw3X}DeD2I+FZ5rOio1G9s`A`yCX8Bc( zOk&xjgJqnGt@X*YhV{j&l;9Hs|E!T~)y#G)I!VWXD@^BoH4?-* zECI3sgwCU+k!Ouyqa|9sA5B-BR+=Zoyf4_jr@|?QrfJ6e#G2N~p9!p&sUhI)dlTvP zmqN;dzY5DGfe(INA4iMo)JoK)tOMq{AD9ql4Jf^0zbm#5$I}f?R8?lng_VAzkefVu=D+MT}z4qOH*dB!jwSf_0^WbT))m0DiYDqg!Y%kRM z{W;QhGRRf2s|v(Y&cPso$_OHn4>b`2i`#rV??(+Nl6h2!Sfe` z{8x_eesDGR59h&|U%1(Pj%rbMJWWGQUZ+DnnXebsRt5;d2@QT4!UTQKTyRyLt_iFE znQTV8Spx|eA4BsMl^9@__nnFk8U}2f@m(~^xe3mbD8oR1K;zw>&X?}&7EoZ><%QWE zc4{`iA(R^-LsW~9E`|o2)Say%0s{g`f**=&7fLly?seWbI2{K>w_z$GI2Ggc-|%wP zcc3DU=*tx}?z9o|yA(MbyTqc#;?ZiW!@|5%cXFq))Z);Ow?9mn_n?2aC*?lm2E6Te zqA};!sw^z9o7*;*>+n=u@+?~y>o4&_AtFYg;sp7PI?oj#3;`gaN^m5ky&kQ9)OPG~ ze%UsItRdZBJV?qF&da1EI=x8Yu=4ZTR;4+siw{tSP#MnUt^BNxF(e*5$HJ>ptzt&v zYXOVQgExLV?7DNl);t`a*f3S6-~k+DTXpJwAuC&K*l5Yt###lhO?!gwu z(Vx9ftH~Q_)5%8OSN4_nA1E+AePB)JFkVmHxvDf#$d5AP(Qe08rq@0Z<-+q64g}@b zhSvzyH`nk#o4D0~E?;pyxmnOxNB;aV*}{!mZ~Y?wb(+F#Hl|UNNZ*|T*D|(Gf6M!= z2Q7tc!Afy)Mq>$ILfpSxK3((aT1_ac!dNSt&FzM`KNDN*JUNDoP#OQnZ+{bikE^-F zJUsT(|Vi%yZO=-cC#FNH!Nzo>8(vn^srNyBLo-lh40?27N0?TRjOicUcF|8 zHOa&76(A3ueg4bgHSZeXyn0X5$CqtLA~FzbVZ!&MPyXC#Pv`JthUFKZCxi1uo2I4E z-1PQ*P^NV`EGBDvi+uPmXJ_mdNE${CqxB3C8q#Y`=RdW-xi)${udncW4ENc4Ogb6} z)Z~5>W7Nn=y7sztweo;wdG5O(~1(sC_^^+tpg?sAqXjKH672f7K~grOdw z4G_=A3Xu65$1C%>(oqwq>?)!kpd2u&2V@r}q&Q!NrihNTqo#j#G@TqV>ZAvZpy1=S zy>$g&i)%!>@}Zv8K(h}#E=xl7sM~OQXcE3W2?8Pw%cI16vGfguz_AG_r4(@p%_-{W zgLr$g_a>q)@d}uS$UF8Q0d%})XVlu`P-iBwY5q*=cF#g0xA=qN!Ngr4Fng|M*S8#vQULZF(V1n7 z;cNOZDv-ViS+Qw2LcV*rmv!1LR4llY7Ej(0A2+O}XekghXehAveRRMMu~55-bvb+H zC)+?u3>jbf)r63OS0}%9!+E6X%I@#Vy*@V#i*bW}3GPBnUgze|K#j#$%`5>Af!$Oi zq|9{F$tqO7ZRbs$U!hGa$3+%gWeSPo4TsuHW<1+77kg@Xgv+<18ukwA8TN?_4K1qN zytA9v%EokY6}~p8lg_twkT!$L3PO|(-9MX2Ctmi)od;(G$i94xu~J*n5~cvk#a?Dl zzu9fzeWBfr5DM8U642w2|!h$#CK08~iwfqL3K{u1byrU#7cRzXd7TvrL= zvHRT}>iK1<71lVny9$m{{@a*2)UzV~4JWY|A(=R&k_& zZWelMT-QVCiLgq!IZ)}wEfq4*G7mD-V+z`Jw-uDwHf?OZ@3v0~GA0k_nGd|62dZei zm7_TZcM}AAwT04s&!c{uPppq4Rp4j5TXjsObJSkE?~OgIC_?TW<}zl!XJClzu@e`` zIxPJ$!T#L#gmkbUzdf$tOG zaoM+f%&HJ1XErGU^ry04&ZlZ!4C1K0_0#i^wgWiH0@L2J zAZ({T^T%eqoB5qAX1`y?`xRFMHMB?i867u1z>l9GI8cv*p-75}vPWHabT5!OuKYS7 z2>(+(+b^OS10(7Haf?U(5S|@<0&_wu8-&~%_EuK!QCPZhTvBUF88Hu4+0D&n{IVWnF6lnmGf5mfI!b<4qe;<6S0ggXJ1#X6-otqp&9k3ZYYMnzUBJMotn<~ zpA8UBNM|QlJG&Le{k`g0Km~@LKPXq?16k6HyPj#6&!5pt#o<2kg%t!W z&fg2FlO)6UoGx89{pQiqsUvpDEJYnnbTrYhKC=Uw3Lc9LIQfi!-eB1e6*pNfh-Fh~ zrV!eP>=U~p2Q=%im0B`jZG4`e0V#aV#cPLGwf2OA^pNaiKkfM~E@8(S1iRvumpPGQ z{N5(Pe-ZA8CB9&>gLCr+9k-5F@2j69SvHH|K+td4@a@brgUukT-i*0+NA1#kmWUg2 z!6eqDgLGqorPnGyy^)>+8D9JTNH0M?dNz0LdDzSrInwgxPa0<3N;x5SX?C?d%*qU~VF`lCXqc7Jd^Df6Aq7UN5Y688V%C6Xaa zBx};jYA090Kjo5_KvnnKl%Ih?GbK6cWDgIKp84Wl`$G58T0EDH^hgKo1LM`cN$iG! zjlZu=TQ+^l%yz7*b}i@(;K@!JZE$E=MfakcUbt6_j0bDyb~*)Y{$-3U)zR_#LTk^y z92TU}lryE3rsK~Jt?MlY1pmiw40a(I`4L3#ikKj(t9JN{lWh6V{4UM*;#5ZrH<{h#1yRkN%fa-TnsA*Vk<8F8Ee?LaaLGW(;W-P&A8;T}XG>KOCYT z)LR38ku`p2o^T?y$0d^;sg(3KO6t3E_d+GPLPBBs9in=xzur$B z!*m!aG2yV!kfDYuz@%OYAvW2Oi!4{=mE&MX;K!fLnUcAsiU$rS@Lq@C$qCd-nu2|4 zHEGltiX4A_W+GB8mgkt9!T!cc3~LcJH8!1U(bO)^B^)Qd~8SIKfzMqSfYXmt z1wJ?jZP%AP4^YFT5N8r@{upI>9Q&qz7|>y0>^9=RkhO8nxcVHuXTVKzl!Qjo!1ats zgg3br3bjWh+mU$C?rQGWIicI^IYNL;?K(*|8hm$aV@YYonAYO|{W}JU;Ekj_(2aKo zYrn(!68;1@Fn6@dG|!AMO%LfcNT1YkS?}_1Bpop!469sL%}xRN-ei>HvBBGV{I9T@ zY|30TO^?>dXD&BHG~RO*-NH+8R>IUbd-z{i$Laa0#kMtAD>Lb}VnJTNTv-HMHN8YS z*4Q%c_Nf`u;{&($O#~fQ0qKQpQ{RcnlQJGI_6YXnyz`I}Xp@|oH}uyNf~R8im`Cp~ z#@qqxVLRhW_tq*y_dGfIb=Ap2qe9wmm)>$d)7a~C5q=(HDUL%#tT0DIv&UGY8!i?F zuRDJSRoV`s|2TVx7tSXXzlo}IT03JuA8k*jvz}@~{gwSHE z_(-3XR8^B-Mp_R^y-PQ~!k3-;#2te@R^-$HeUqlOW(zD=TRu%h7whyvE5e5}h6ahf zV#T+wcbuBNPT16!?4vH5!yi0i+Z>KqE&EdRoIQ68;8pNlir^ZE_p)Jn4Yzxxn)&b= zwDR=#1-nO`Z%;McmT{d)bF~8eKf6q0?KI*!7+AUw9Srs$H>P6rygodU3B;hMzNdlf zHR%sae(bP*;azKvHr_chw1gTBZT!6nV@)LE)$8-*8yn%u7WUj&gTsmb*~3*GSqNZv z@QmVSR?tDCGlO`&|ZNqkOuJKe=u$RGV}> z7RSY(P=0V=zM;iJu_kKGCT(Mj(@A-1X&Av>uyuvhDNUuTB2t6xp6(@fQd_3Gh=T1l zMpdC9I5aI+F5dt>f^hdpW@0BvEF)H4{P^7cB6c9t1@nMp^uL*4XI3vDU13kPg+KNgCb-<`Z); zl?k7skotWLDMJ>^u20mrEx-XH9^WR!QY)ZtweA=>y;O3LmENO| z7Z(KioZYBW4~QTf3zUv4-e}&4Ij?)_6^)yj1bk2!LT^~ztuI-$;f2W;ZOCptUcQx{ zD0}xEJI^}$$5p$Snzo~(>F(f0rSazUq~n>5Xe>4yQgY4Lu_0 zAl(M{|1kEJVNq@W|F;s-p_FuYcXxMp3rKf&NQiWID5cWf-JODT3@JV2koWc+J>TDT z-B12c_w3ng*6bCZdcW3i`bJR9)CF_fSLc2@4HVHKv*kgQ&r$mIC@4UERij*)?;Y;& zGEgOY6+b1<-1+4)oIdstS@eu5ZF73ihem1TF3H=KUzzWS1>45$8sdZY8P8^^t;nHy z=!MQx3*kWov48g1;g&oTim0xd&(RQe$V^Z#jYLOY@@eQ3nP^uM&CQP#gdUZMoE`ZY4jCg=zNfw_y%5)4 zMM8Id{k3KG?e;%%u;6IYu8yQfM<1qHt>)QZ+wq5CicCS2e3B7yQSZFc;9gH9)@_>P zs%R18A6}&M>G|lsyGDI;#)5V7EJP@Ml-5LM(7Js2Y?Hk}d$?bGIgYvfzPjc#@i4&uoL`?(E`U@?*`Q%cVkUcaGN zB?zxj{gmT~a$+}K_@$E7F$J_UE1XDC8$mfw5Uf7mi#1*SbNPoTV%rwV60|xx2h~~vxK-lo2v98oqeUi>cV@O>p7P4 zMD<1ih%fpFk6 zN~oo&V8Gc*?PPr8y0>(0Uv(jI+kI>TwjWr5X8lnDC|Qx;wg$v+x*f9VSI zq1a6=*Uyi)`@*5&lUo23mYQvs@kC9X%Q#kmDIIfX=p%TM%w+Nae~9h$DAmr#)t^qIL|xXQ4U4RkF0O`TCT`Su*$3IHYDICk zvhT0BJrrWi^#2a@cyIVZp6q^|(^I39qkKgb6k=AW9#f8qUjYV;dZ_)b^*3ZXpgJpW zDvokXJ|;Vmjdia6D3)KHLbDoyG)VTF8fB8VUb9u0%koHX1=Vw_pU>E^czSx zv<$qi+jC*gwN*c(EU_0_vC@pGVkUW)6D8YUc}r5t zP_vX@PH%k)D@qEJ{v+`%{P5y_9{SDxz>NqDALCh?F)j&^M-JoY%66El77?|C5@O5d zh?ZC6VG&3VuS;lS@MjSQ;Y3F%;1qK66_^^Z7#DEzT`d3TVQeqr?3~tZf-o9RDN7z4 zeqQg9GcHR#&)^X{2WmxUz&bu4d<93-!fK~hDZumD8MS3;huEK!Kc+VJ!}f+)e`sUO zt~>c7$(fN3@;^4k*k_1E_;?w$i}_bg5=0)a3d2S>#eQ7NS=%;d!yYJwbmaDp+$8-K zEx|eoUces#G@u(HE-N|?p}N3NG0TLc^GW|J4B>=P^K01c0qOYm8U5AbfnEaQpGU8+ zbqmvfH7`8#=uW`_WrC`ee*{Qf&XIt88U(KPE&8K&iRFYb$S1Z{o;&<&_#2RIKs`43 z9T{2wtF#F=LkY&rD<`yry;((%ZS6gOfzc}EqRg1>hHbfEvSek7P0Yx|Hulgq6NaXX zuueQwd0tzW5P;NZ%VYffrR(hMj}WG-o9uUY9z6HE$ujcmY*}J&fY%NPhb55M*MQQI z-Z4jQdEfj68KHzHnT~^g>6zB`za5dm|J^r{aw)ytpIU}bhE?K1_s#`N#Y0GVz!RXsZ2B-ZLXfk_6*(%TZZx3z958N|Y+GOsPMIm*>6*CFRS+ zzJ*}$FzR8JKoL?ehemM6D)Y3>|9QI^K_bQQZuHXFnHkk&%cl8`tM;D*VkAg#&NlZY z=XJEb$*P?@{|LE)N#mRI%AL=-o>z-vL=p)+zs`gYoBeq=Y_TG{h?miOSqieBQ}MO@ zUq)k@hvoA-gswQNPj5>fbN^{D0#IR!pTONO>Pd~tk*5@Zz4O%=R-g_V7%9S{`bC-s zhm^d?;R>2Nn22Elg=G9k#0D-#4)$UqKYz7G&*@<$)CRedX7YmH^MWm+5@Lo3j?B5A zkY48KgjTK}M9m}91MVy`qDS*z7QjEv5@h`I-`*`QJ!t_+v05*#gvBgz7x(cawE_h# zToxgt)c(^1j4CTTq}>erPZ?0$+%ShBS55js&qwh28pU%KD0G8zi`mmy!6wZ#W1ghL zN-`HK>8FF`OnsBEYf)b{7?vr$OZ(o{z4!#%vs)o)L}S&@R$W8b2>;h_+JGlW`28ay zdc{gi7{yFG>>5{=7~(G5YwNZrh{(tBPUFLsE8}6&E3m+WGJZ2XEf4X97o@ko_2blx z_&Z6VFf!U7K@9P?=aFQUXsa~DlRs(Q5zP}M;BA>k3SJcFPe7OEhNOr1ky}NHp6!h% zNOA>>SgWKF_72^&!4{HPAPJvj8y(~SB=KFceg*&{k+mA|;h3_-$)Jny;tTiYj6av3TZx6jm?4HFa6gzoaAD&T6 zZ~~|BF-f0Em$6gvC!H-f#R%g~S;B;4dD^BrM&V5g#C$Cu%=UbU2!=0v;=S+~RlIT; zx#b=iYGWQ5t)iBf8J+hoQcUV`={|s1Y!|wy)w*%%c0iAj&RKg`uD0p_(wHPyZsg&vnC3})xYa<=g|hf!TFt-f9CzjzI(|9Q6qXb4N%OM8Dko!@)uwz-sOFy+Z3 zVhuAT;T$I?mF_06QPzy!1lp;Oa#J&yjsy4oV)~OrHVxTOcS}F0+>Bf>!A#!Fc?RDq!;0T_cnrH@en}J7eEuSLd&mh zYSk_P1In6Ai&v-Hn~}4RT4pTeeUE|@!gBPp<)grSNB-DAJl9_L0nHpQ#pKS>upFE_ z8uGVBL26yrGc9opUhQ zJ`3n$Ppvv@(0mpCvj%3xev48K$>a?jW(woSz4#7}5xRcXgXjHL+nsZKE}1+utx@Ze z?WD!Sd;$^L0~b9eYaPatvY&0zzchzw2{U(7-P6rah53{a(K@ybWIayzm5C!AhiKDO>!c6w>Y0hSfN8b5GRa`9TGN?-nhZ?rUc1IL$V}=^?OlvLDb{1X*w+4w^`*bC#$waH;ww+ zQO&K};q0zMnycJHlHWZPenook0JkZ@tM!r~^OzvRw>j$>A7!jwYJRdzfD>9L zW8do^9-0kk>sGbJ4Y9ox%#$#`>~2UG%xb=KW&chU|pMn+*{5J%|qdhrH5 z9rNPWVqL<`A2i19E7693(k^468p6d>KiEHX+;-t4g{m&86v^zq{JVOH*Z}JKAZaZ6 z!-dK;KsY65$3UGi>)}f><;60ZjJsT@6oI8ys-&emu4$)A(79^#X>$0)AzPp8-Tq_m zDX38Hsw|}4eA^gNyRY5LJ^*5~;(^;3(3l)*VV7+sVTNeG^M-bfG zG>Mns;8TUOZupLXa4jfr%>ElN(z))k%@k({ScSOs{MjI#24lelnt)+w85uSoI~>x? zI*vz!C%}1~9Kw3HDqwf%kCjLvAV*U9jmQ4@(DIYaAySk{u28fwW|P3szqa27k95$x zOtxmL=`Yq~&Oc%K!q{Q=*$^EKl*3gFQqiB+;3lY^J@> zB88zn!c{KKL+pkEZ@(23D2gAJTf5MAPG2lCVO*}dL$rZ?dpsG%g6MebmXuL$qJ@aG z*DMfc5gN>dOdrXTYC)QUDQ6wsrY%JjZMjC@T}k7R{;EGwGo6FE`=drS(xpbwxyc_3 z857=IBfsRQ4i#*P0&0GGfdFF~x1F~uQI@f%bG8W%8EZRJ%9$d!XJkQDtQ(2?W+skU zCOGrKYe&Of*ROO!xY$g`8vcjQST#rsWY5=%OyP)J<~*ZAbJ0FEWWp64-2bhpsY~F-9z39pLV^5ljZ&V?<%`1ep$g17aVjkF?5gS(* z9mptc;<{Z*A*v!ST9uK_CdOe?hm_F1NL8+Li>`H=r`O|UX#Y?D9xNXA0%c^(HQDOH zGmQ%>`L1jDvm8EE+@I9T5D!!a-ITjOVId|Oc_fPmyU`a=aAG2X8Tq#|X#pbiGrm9U z0&_N~432H02F}`@t}-?UGZrmF%!?s|_T%?f80}$;a2x7f4kT%}REfRm z5RNwnSz41n%5IK@KkLBXo)JQJ7_v{Ka6o&dbg2I&H8$YQM=Wi}a*>wYF1X5=^xGXu zLftSfKVT)p8C8?>Quh0+638TBl%An9k~g;*as7F}w@Pm6eAys(-KWmhvRkbc7! z_$C%*95U)ZYts-3R0i9&gLj6YLtb8ypxuPVH)KV6@u=F;oy2K3>uG#tql2<-)Agrk zJYjj!G>HdA3@UiP674697+$1)RNTvz_F>>q^(_ zs4i#fshf#Y;ugyutVp;P>oKB7zKyArXS^zqN;wq(Ytfckaim7{ zpJy69GAh0|VtkGU*SS;xw3ZIYHGc-Dt;eTADR%p%&fmDMnDuo(HI}Ov|2ohZFl;}> zN;Y!29dqqgnpCZ<^(+;F#YuC70|Nl<^(XVmT*JpgTsHHs(YN-=eOu5T#go6~(9Fh0 z4u^iFU=uyQ!y|7;Q;$xYAAlm39d1H}xd|<&2w?`z@6_LVzAkdEO!dR?jkA>Ff{A$@ z%YgnZc!!?CxT8&Pkk@s00I!<}UiSoWNsT2Cw8FQqG2z1c^FKi+k#!NyZGP)f5RV_E8xQgAPflR=HZR zea;PJFOPaJ$Fl+%_paP-u|{{PzBM*cCX6@Z=x4P!0EVK{tvzA1@$+i~TfTkneE3EG z&8R)ozzN8IZI23A#i*;OMShHlN%2@PN@8Hpb$CjmvYf~s?nyg%gMp#hUDXzY!#w%+ZKuSJtrAY1Bf zDGFbZ6V6tl0us-6T)%YSicw~&j~*=fo|uh06adPP?4CZKH6EQ)VF|f1IA1vM$xrW9 z4E%#mJA^@YvXnQ~b%AM~GAea>L?IxY*;-d>KG<4U+4G-SL_iOJl#-aCLhi9983h1x zv8gD^#2K~9($l9bJ@z|`L=rdXwaVZ_wYX>vzQ(79LIK5Na3eB0r@ExbM1e=9-&EUM z02Sqp&Gal;$5suOTD^@XWCNu9T3b=8%z*N^vX!eDn)v$A3Gy2V@OXz(g?Koc)99HH zC-fw-RM)H#W(S1lWph`&%{RYDy3ELG?&P+fCW}>p2crq80Wl>sVW&*gE)MOaarh%$ zWye$TQ8;=_xhr*ZlVsGk-_z}dGEjOc%I16GM?(=;kD0<@ zSn%Q5Yk+1UJkoM?xU(`~IoiCJO%A<&uku~9oD84KE*^EEQTySR-D8CZ_u)zJo!a##ppjXD!Dowz6}^7~JVpS0Gzc%o04>ZnpCQj5g@;8LF`rHH5 z?`}*h$l>1>GJgy+kJbWnzA6AlYSMWP(Z{E@8Y6@V|(@|nxw(P06C`trCJBWY2 zv=-SVg?}Y2p=UUw_D$&a%#0R*7NGuMHfU0LKb}#t)6qW4ID>wxj_cL@Tnavo z#{F*K7WlO^TL%)lZTWU+#POdsl!xziP}S;S_l&AAj3YeZp^)=8Z-#MTPKlLjS8A~# z6%3xRViJd>bSMijFkYeI@^M^tOA{Xm29h+19XmGh*0~=xOr^7$i7(WjqU%+=SnP)s zs*B$@JGt4gS7g2SI}3Kyd+dhx6y9k{sMjA%7_=K*);M=ykrOlJp)YVs|`?Sg+2? zdA}#hOIR7gN?d$!eMbKI9P~U>75J1v@LjXh)aqBAHL1?0&xaMAq?h;m(;KODW3;71~7#J>F&L;D+B;f+Yb!II2v99?j(S4JSC2;S+SZNJ9RYxS^) zhhn)LDi9R=02f#earjxqT4yHhw?B}@A0`$3z!+K&|M}3djh6%a0RYkAw_MiHC*>g= z0;0`9@ei;3zfD@Mwp=Z}qEgO%V-sOHve(VG<}qkU3h&G~s%?yd>i;lY;Q7zS_*Ce(0Wakt$%nloj z1=HMScvkZJsr<^b=sbAQO{j{)t7fav=YOC>PNC!?yuAUuf@$B(Vu$RAZQ04`Vs+0~ zaG9C{mymVTBCBTBpU=o4kTg^9u;n^pM76cW`m>5BF0V@=YLY8Wn)m|1@SFaumD)Wr zeY04y(=7D39dR0{f|nZ6yF*~JT5H*8;Q1J1)4bc==KpwiWx*dlNLsfu!o|q?Y-kAH z8-+s>Y8>lt3Cf8?sJaeJ{Jic*-y3jeL?Te{7;BAgXnAzC2Y zB4v`r8Ssttd<*F;QAojN%(U$YL&SnHYpEEjJgGL)W z^~Sa4O#wyU?JxSuVulKq&eR2&)i;2?YI!sTqu*)y; zYPP%1Zp(8VUOfweS3TEh73*!NyL&1qW-Z5(7hQLUEP%RIK>U9&>^`2!2}ryul4w+G zLf;Ad9O*RQeWy41v6loWeyPn$#vTU$4d1;0TvPwbpw;IkLIpj<#f@yLu$e{6TvBci zE9RSZ&p03qVgS2PRIWFCf7(V_`+hRPGVipYC+ZDJ`uxcB7jM_84qEwCrj(N0gL14d zPAYIO#U+EFKA@&DhBuf|^6!4fVKn*@5Ywd$zt^(Bb3oCIdU3kY*r{Z~IeJi%Q#?K9 z$?e7B&k&m2Y#@69x)kqMF_m26E8&{iyvTBF5vAccod0Gf%X1KO|8^MmGoSSgMe}L! z$xQK8QM#TLy?&#;cFTK3=HyACCly%B1qU?Sw}&P@@h`QWT_^1sJ_tSQz9;xQT++0>;{M=Xov91ze>;S?K24c0N1l*!ul8dp%SdNS#{m9VXLT zhk=J9B5S8RYc`j;x8s!}9S>{-*!+9(jA)3>0Gn#sdyx-4^X(TD{b8LZXX*ON*P{4R+D9}q;}#z78!z>ig`nRW15jd4WmS__CjFF*zY)mxT6WzTI8Bp7w1 zx13+U6%Y})-(J>ES{!{fwHcrPZYaOjml?+Ex;Mg82x{C|FmTRjdl)HYBes4H+1Q4v zwah!D6MneGz>K#4G>8iSxHFmt3V4IPo061Nooc%CJ>_nZs2GEzGbXDcpTN|@^dv-5 zZ&x54I?$}ERHu?fYu0GJBWI$O-DUh2r z?GF({1UmZw+DUb#DN!iF^~{MNOt<4*(R|TWQF$RygETs(TdR^5xjFr2>a9`cAN(QD zr`NwL(il1sBoKAAYd8M~%X!r>iCLgFN00qwBbB%aXGATv}mK zaj!VFC)4Sw@t@IYDuveP;pcf{%}g#Z1g5sW>qnf~ZX2k2pdwqx)p0fy`EKUbsM{6lOHN^na&xa$&gz7E?OOY6IaY(y7OhE!(p`AWad%b8(`j#6<#7zfHH8OWA* zqIVq@alu$S{qU<6gWaZJaH2Qv$VNP2RgoJhSkpFI)BCLlTmKeE0LhwvPKY?cVd7wj zX@fMAU=b@}rPm7~Aj0pSe8yxPeAn!uhCA;9aoMS^vM*Q2eLxGJj~eD&Fp2_eX-F2o z&`OKLWmoEy_zL|}7p=z?z$ozP#W%65hPnFFydfaW;Bo$f_{>*tYn#*gU{i%S&*yGq zR{!kXGIh3R3B1ia`L_D=F+V3V(riV$?53K3Ul{XlaJ5yB%~%q+)(aiZG5)M z0gR!9jNLbmM-<9WSG#rny=ZGCNE=q}%)KKJ4CS(DW_qQCgf|rPmO3x;WL$pucC>kK zOVC)`@%LAoBq8?c(K+ZS;4Y$O%>NtCkS2pV5{Bq{>M^~7qWvzbWGepBvWJwB3R~KA zpjije-J>s|jJAm;`R8l69E5%o9jVhBYI~cy?z4^dlwc@IfGMJfCyyVEw5I>iZFCc{ z_cTRh*Gx8R$#F_zcqRnU!m`Pl?v}2>^M{q+pfC&3)}-Y}tD>h0Q|EjCwcHHgt17=J z>}s0>AXp#+sz5EhY5X!3J)&-ydY@*)I!D@7baT?z6|?Y?Jv2{L^=qb+Vk{C3YIoiC z>zMf&)?5n;<-YVp_fHR(07U_ zOjfHzhzH9{0WeZ1ENLa)Dc)RM$%z9XYrSD59`v~UQg>ha!w(mZWY+dqt_*Xe?R-Qd zw_>vR=(byOD~-q&)vk4D`TDQq z2cqi1y#W3XX|+7J_X$}*{NKO|&|LoSg?bgtYo(AA{5NRr^z-*cG+%`O-3PG2t$rt} zIYKA?qlMp|zIFw==VXyquXq2(Fa-lMgOX)84lamK*R5@)+tK~x)? zAxk*`+9sQoynvf!5t<=pRAgb0ne@F!n~_+9o0S;I5GLo4%9{Ui3o~kA`mJbG#xI@< zAP7#9FoMV*6Rf}V!}W#$HSBun{Y4&%jEd&BPj~90ahsw>-SCaneG6k101$RM26bm9>8s0}^==90g;Ch=57^%j7ox05 zgJUjF(N2fz5}r&trcXXx{{9Yj>g$&1skfbV6$676zi*On?L3dj6sj4U21j9ImpgP< z&CN)JpH>Q|OKl@UFF;uy0JE)!Q-e>o4Ng(ex6 zUGm@f5+I9zr@9i1cmaAXP+9xm<-*^b&U+O|0@$jJ;O_%P2L2hLVv{^xN(cXz6#(f> z+TVF+X}RwI-3OF(IR6HM61)7r-kB%<|8ystVZJM>kPA_+{;FiSMcc>!{R$qa1Jd{d zs2uTYE;~oDY~NP)v4;b!5zwFV0bn+pJOg~>V22(bz#Q2DU}K2@0}g8oaL1Dy;X3Hq zEyvY5bq@<0IXsBlYVfQfjK@!!3*Y{JJ=hE*SOI4rG#HnL&u74Vet!PxXYqK}c4{p5 z=nAjv565|*sl>+njg&rX2=3m*|Kg54@aDfZ8O$@-wV8J8pt$7~bSyWVo!#>MpM-Ha ze|avpSwz)2dY0E&tr_f&8CDU)IrS4u4R>R0KpEB|ku*#S%6*vtlyhhaO? z>g;Hr@888gJl?D)c8a`gzOUflF8r?fBeC&;1LH3X8X&T=!vMQI9Q|8yUok{dskvTl zg!MC>AAu#xX||QkdP=-I=FPuG01nw~qN9(qt!}kT(TeA(;BOge>6Eg}PufmYVp<$d zTe`deRvlpLrG{SjS3c=HC9+;P0g_s?eaT^^u@nFOi@(UGMYR}3o?RbC8XZ>@7 z<2P)2rp|s=kLHpWZT+h$Gz4fh(fcswUkCL!M|Y4GDuZfjT&}{nu|f>eCBC}Tej^+Y zsLZ4vIh89SdBM1B-eB`@>WvK?JRmy&-1qr+aP${9k9e^{MsbMmP3~$UC6`v%b<;Gt zg|vZ}Ga*(8;AfJb^LxmE2KHzsQSiC|{jpwpnKj0@9(q>k(F6zjJR-4pxKObV_`Pw?I!fzA@VQ~rC8$?$y}z9)q{wwp3O z*5?4$&j=Bl;j8#MZIT6p`OS%-4Dmc}G_yJtfParA;7yig@mr{PuJt6`(8N-7BZ)B* zN2BWvt{2g=A*9Cf&91!LC>i*?rO3Y$2C4WTvJX`% zWq*J3_XBPNCA-3=3d{tTzW1)O@2?p)L&($lTs@h%Lmfx1D&T2=qc+I$;U9p~q?&LC zhV^uqUGGURSE{>og3@1F|2{(n<_QVD3B4t8CvbDJ*i7T^RifXIHtQ7&bc4@S|9cTL zc<=Y+A7X(MTI#q?0v-(lwTD`Eyd$@AmDSmWx=A;PZ9f|6qV_Jf2|JSkV4JPzB?Xz z5ibmaewDY3u@61yE@fQ%X#ed>E)LN8qc@h+d~W+uBA3HY8gru}J(S_e41VR4IP$(h z-L82b&q=#9d12`|qN3M+xewgyv4zZ?ci~TZ)oNn(a+JpCl&FXIGE*QeoV2V^pJ>8C zFzI%wtIK?_k7dq;cL8~gi+ZK!zrB4a*+qhG8|pAbo7CBP>A$gI+KfY|p>k5SK`w7~ z&(qU5&o3-oCrDvbUji(ev-iXS5usuKz}00G<7k z=P)GS6*pu;A)O^bOw1vQ=%PYup3ZSZBA&SzZFYbTf3eoO^#3%zvE>r@2FwwYw;O9^ zZE9+|J^Wd9+4D%@rl*%yG^FK0o@57rce);WaD#aLcadWr957+mTO=(;l8aLr0U;u# zy!Bco5{;1n@%Lvv!S8xSY>$sON_vf^(6F$u(~t|CuhvQ2U*&d2+@hBKult?w9v@{6 zEa#7SG2fz#oYpx?8zU2oQY+;a9xr=NRjCS}>z)%`-W^`?k{O6b9yPq%u>oJmE3d8} zO3|tpQ+Q!L?Xpy*F&P#+81l_FU+h_L@1MKvETMeYtmR8#*48TXi$ouMjJ-4E$Pw}n ze}I0F9L%V-v>r>ZemA{0l9IIMQ=1}@mc?t^Ad#s*nG~&%!B$g&_YiQ=e5`A;*hZ^a zs`Z0WO8LT5MfdM;#C%Dm&=_er$ZpInWl#Bh z#l5~19j)0&+voWX9n1IJ4xg^$sGywNS*ps;wcaiKoj*e-ldI{x*;wgG5vF+A>eronZ=LH~Sa$6i!4&3-VJxN)_~ zx!2>N4`Er~v9Xqr&#w=gfZ&}!>~cP7-XfJ!ww>7w&SN(zX~P0uhpB$`yQ2N$m7*;B zyXcIW-PMZIMWJJE5x2O96MpZw$9uG&Kch_OH7mXxPvr2&?axR5JKwuT<6bnK0SA!8 z`Kto+w`Gq}0Lq!(xY;EIo5@Jb`T@#%?aTVXbv+V6EF;1Wy-Ioq5ofAiy`3nnTA`C| zuu-c=ih~owC9oL_vI(FyT;Ck6iQ@n&sL*pzR6i2;)k2%l3GwEV<9yTW*|9w8 zD2ur6)2;K}9mOCldaZcRgOzi_J8)LQ(NkcGT8W%w<$SsLH#LabW>45b!5T3JgO?YV zTq=#!g5wJM<12O5e4M|tJ?OQQt~i{ogeBYE23W{zo2N)FA-cwLLL%%_YCaUKOMGJ- zcaBg^+)uLDn&r}k3WP=c&j3_i{fh63*89`8MuVNTTsldvhUu-A;n?X6DyhC8&%946 zgRT{R(p@ZJ;Oza8n6S?_O?Q6|mA#&aXT-2x>j62#5fc`(R;ZD85l?Hs{>&!}`HXb+ zDID<#m43vXgB&G8tI^c*m6xyQrxl?x$TwFjtMQ3o9N(nEiHwn07Xp9Gs2Azs@$t?_ z;W+mPiO4rm$W*U#iCBeh5<4!x{JR35txNpgbM86E27uJ!jQVP(ruFGb=fSCc)=s1C zpw?1{1xEW~ON`Dy!c|VREHjFJd8tsR}c* z@}1R&6QBDX2O*EwM=GTpsb<%mFWHN=)5d}2h1quJ*fc6Z*Tg&`(%x$5ZjhRI_A>YA zDLTFhmW63{Bo*E^qsJZp`UPWPg4=qIp!%!p=fsMaJdgAly9 z_19$v$JeMhgNhFnohJelt zM0h-uxX$SUZtn{D~IQ^ZgHE1Yx|{EPi7Q6 zK7*Al?Fyq!6z7z$KJ_+Y$>be(nQa1s-US92;CHs^3yZYYiG|6Ww%8F_4{^e2qs5IL z_RCevt>}t5ceU})Im@3l+I=*0k+(}&g<}gS6tmtr4`8Mq&utPSqM{bN zA9Aa#D+?8mrd3YGnGHrt<}w-b;gVBPBo!-cj(a*=WPBc9F84Mw7O*xhcB381=B>4B z>E*s-%;Y9F;-@yUOf!UZbabGutUwiq{bOLzKrv%MZHPLtJw3+JHKVtXPVG~;A$RS^ z*svu0&|U7yiLG}{+Q_^%Pvo)&$eM1uN8Uz<4wSabB#N^{H9$pF31J%s(Y&*X$%~X7 z!ix+x3zs30IOoNzfb5HS;KYH7vUbqoeuR6BWgWZ4SLu-c<6)*i+nU%_I^xCJ`f?%q zKXy(a$qOZ~H)78b2;@$zOyK?SVV&)SgP8Bev)G>Wx?7Z@yG>?hctVjt#ez_4iK7g+ zGo#T9a^Tbg@199JgAXLX6rR1fBqrj%)^9&2eBdXnk$La;{&*#M)4^P1muKbGdhfIP zdt&}2e8PE4OTn+Rg@28bCUIa+tRhHiFJ7Q0)|Y!XteHlVr_iWokC}1~>088eOQ3@L z*?+}EYpy*pXd6)I?x>iI>*pQMT$k1pn8#kqWP}xx(|bCQ%l(~Z`S3dEA2r3eAA7|5 z(O}+FvZ_Bbcz25s4XXcILAQ?N=%t|!)Jr@yNPzvj>Xszj&qndU z^LABt`D96CVu){jb$HM`;{Z4`EC_DpX}1I;XefTh<x1lEK#Y-D?;96)JC$1c)gyZ({CXmlbtHQ<$0EO1cc2;BI~wGRI?}V(OMbYI zGdZ>l?tnujDm<9A9OB-My45it5Hgby6nMz>!;9#MCt9E$hz#|$vidrd)u7g$Hh91S z*5ch4U(-b$CvG;2`9zq|q^AXp{ac z+u`ZFWtiHkxZQeWp`vE2)5A;;WgyNgG`8DZ}R4=!DwT0>@IJAtxR@L{Ncw zyFhzC^TQR z(GJ#pS(yVZ8j4L}#5N2JHWL+cSkI{BEYvUk z5ls4oP0R37dulL&Tzb3g3PAa)@(ID^7JQlhltNF78LVMM+ilr}QxF>YX68G9wweEu zG^7sfPBf+V-i&LW4(vX|0w4Dgp#CQ>-}4gy=OmZM_NvftY%po{gCLHiPb;7G zulFi&!05F9^{z_cn{@UELZT;BGXie`kl?6{9!z>_o6MOkcH_aiAJd);*}W zo?@(KE{!Ub&?}F!c!$p54_|erzi3q0>GCcU!gxO}xi8gOW5C7HlAlkJ+TP)^RS7%q zYvHk7BDIVr1-&*7=zqNdR(Be*r}||wl0=QRGnSC_35S`=oX>5aB@!w^+?lUqS&<9# z>H3~+%cEH8rSJL%D#N(RDWIG~ZjIzpio`lr2W-C@Z5;Jo{q}~eu-=yXyF4Z{ope{jE{zS~d#18E z3O$yK-+PD^ryF)z7&R){f4lcyLMEL~R&bHLjlKa5Dp$dgFzNrqp?GINgnCzFai}G< z+#VS!*FK5OwsJza)R=}6B>RT?^En39$FR7_h{i@V#cZ~eaDSoDH?FJJRN6Y1jo$3W ziG7i@(y>Q1=J8>MVCgu*0%mDHMr`gcb@rS4PFan1ML{nDGx_YPeEG$0+wQ)zDFq4* zU}I!wuMiCrq_o;Ed;D7I;5__Fw$tRt4(9*0dI3#m_`NW>-m9JH*vwHh1O{Qh{e*bL z8)CJ7k`wzb1;>2GaRfLQZ?R?dvpDe|_uL2>#(?2+u(>18<0pv~1q|(?FQB%jy++&_ zPYCwR>Y&y7$#J*Y9;)CsPGW&CjCw9CKxkHaD2- z4>>VCIT(D!yV`yHC4z&4=h}WOZ(U2@e9RBerg}t;^zV1Z0%=Ag#8&1-1gNDyFGiQZ#fuX4=WJtVf{YYVb{_Krjr07nh zm-|F186<^DNtrHtLsH9)4qwW%=4Y{=?AL1&xGIe0`{h#I(T&X?Bc##m=h%r?ciwKw zROy(ml66xC#;mUFtAC6cMmfMsT8tNkrtz-XzULhxMGu%Kpcn*myqD^M$OjKq_zgj5%E8R2goDkm`NY z>ZW0QANNqu+@^g~z$2f#R|%nFHb7@fye=y1LjL<_31;tx&3HE+!jNWAw|%$z5D@otj$x5@ zOPIZQp{jp=_~1BtpUh;KxUjO=vsVdU^}JCctL}|UhVN)a@(qVl06m_s4MirMqU%2Y ze^a-My*L7z4F;hr^KrNI_1rG-R4+_5rMU=h3&f zrFgc<>gDs3G@LTJ>3{^H#h9snliO~^)4B|YxD4a4I~X8Mr%{D|s%6}T zkpwq)wd%R}hFI*>%_og}7wgMaR>Ms8fiT9(zH2~^a`4kr+qcRucF29VtZTs^!l!I2 z+vPq8q1VLp|LBM^YeFLeZ!n#>i-Gi!mYE=MP45YD$R_Dmvt zgsD7X`}E$RYGae|1w{8MgKOf{>1>14dA!#GE&K|I$N&fMke5y4mz^1Pcasu8a~E}e z5UTPE;`C?&lSX)U`DR20;nJ6R>KvXSnh3n2_o9j)+lHDf9_uS?1VzbsczCv7t>!q3 z`YQhM6j&o(Je9*y3%d)ru@~-Bx$XDolgUqtUn?)oqg$ApeXIZvUYV5-#(Kmv&MzmF zxzC?VXgQ=r{#rD=r)G?jtDL9(*Vyl4fVyqGlZ9XH-#IxUhV0}0N_ulTduiz=G~5(Z zHXX+$GqF=F^u4w9NnsIm`FZWqJ{8pj@?~Xden@9jk@&rx7Or}DYXZAx!2%tzW`<_k zf9BHd?{FwYTBta}fiiV}|4?_}k->gUXSLp4`~7y#snq<&i^gVGHnw?}J+{5J1kRn^ z69Wfu6aT2r;ic{$6R|Tmh(4; zhx!1~@c3S|VM1#>!FWlw<7t=+82W_FYb{;@{bfAw{eDa9x5ObC8|>`jQ@3Tv5gi+E zHT!~u`|`eRo~5!`jGR%wAI?{s+3c0x-ztjwLQM#l-tD;|g9bszCvYdz|p?No)dN($mFz0>1l z^2I3debP$GwMp>c-H3*Gc5eZF1cDtB!xcrg8XgAN$&)4V`61p$PViJz=+i`ACyDCP z#JT@dPrqNGo#n|wl2W#SED#5>oavAlP9GwT3f&1;6^>3|KX868&|yjpc|_yLnDm6} z4jKFZSbM9ms-mrb7!d_jT0pwH1e9)&?vf7a+;pcP-Hmj2ccXN7cW+uY-T%co;(IQ> z%kOqQ`+>=3%{j;T)d1?@6r^N!ij8vAYOJbL*KbVT6(#E`f7lEVZE|_f0*!VYU80yK z2#%(Y_c9dzE!+D)%kE&>jOO*^q1J3=T57aTp;j*8N2gYdpywBgB%90;OA$vD1@z>! z1P7?(B6(UZE>hncy=Z~iWyJb^vW0M~-}7~iR4;z{+}Z_{teUGdUU|-T+9C5iceq}R9jwncwHw~+RcP9d%+Mu?cZfNt*nEn;t=!>czK=?8O_>~?A^5@~;Flm|SR2S#<0n;zb~v6K+> zfck|N*UOBrY~!j5VdBcoDkv_GK1e372o{1i7wh^q-q)8dxdth@UiHcmMc3eVqfsPj z)>}o+JAx%y6WYrvV{f+?4!1U$eMyIs>Y!lhua)e+f<|L%k7s{n%bY1U4SzBmRN(<} zhw$v3!rQyl(V$&^MznAI5+?rTB{Hu-G%?KXRT}yDdY6RI$m|K45I#kHiB?mbAJU_I zw?%hQ^rCS1y%;(6C40cT->rVj@HxOxDO1%OCnGmR!#d_yH^?qk>l|{dksR zrNIo7KxV;vx>S4Q*d=YmE?mT#Eh-t)m6@;D{d!heDDF0RqqZYT2q!}GOLT=bx)xaIw5|T@|oNcMu z^oM;HzglOFxNw+=-WvX@FYBslk3`@SKZlS;Ph2F2Z;{epJ`J+Tcir~x5(?!^m>-`+IO)z@x zGEVE5hF!-SVYLoY?IK|%_8|1>`-gj2_SzduY867>Dfg^bbScc57cX>Nz%j^}Iz$}l22s;Lqeh2lJ-rIn?AAF*NR$A>0xsj;LfRIihU z+3m^kL)Z)E#MPtx&A3x!vznM}UeV!>bZ4b~vjF<^J*x_xP7UT;<@O_9(|u0}HkI|{ z+szS~^A%%pkhQ2P2$74qTwA;F_bmowdr0cob5?>J=VZ3BM`#B+oZG%o(ehC%Q-k5} zEm{!-oF!qNcUjC>1L!d2t}7mM@8WqZO#2UxMIJnM^X=x|RNGu13((7*2S*f?Qy!Ps zs5cpYCbI1%kxxw1el4O7v<;8DTVh^;?9uTVjFS*mw}p1X&{A z!gE?3u#jRssaRCdyI~Ioh01zb=FZbVic$x~)yKfXSZcP9{zWUT_tHOizx=(LU-7kf z2{;-N@s6+!!MxD-{tTwWnQm0_7d4b4Lvr{`qTA{{q)Ps)@D7p$Dp)SE&oRbRUjXEF zD3wAhh92L7%M}?l8TABSc2b3R;EYCu(5B`++`awm(n1t%`&l(yq+WqklKP$Z+kz9) zUk9iwweC$3dH^3Ogc0pGT5hF9gA}#2Pa%`C9{7bA-oMfHQp~`V90DdzNZ(DuJyyF#KB&N2LiHmi zV)-pUpPmLV8Y+_~;SQe=-rewd!SQn3+=5IvqwxiTm_$TftR7#W(`$$l`((6hK1Osk zG8?~AuC7oc3YXGuNQiljaIKL5Yc{(z5F1@%??!HT^9!4Ko;duokzjv${m`&$%&S+L z-f9(0L$*g!g|XPK0*mZdy{OlJy-^a|ATFzjzvNw6o6(SF(f8Pz@O ziTZ(S*7C|<=a9M-m^Q>l$&hD{0-UE-|0bcOMTC-3;}k z)1TF}krl~?e_tRs%r`o>z0+pmfLE}ighG@oy+j}lZ~|2On;+`9d8N9VxI%9ri16@{ zfzY%rM2@90?MD|ll3+ri7(s&h4(M*YrVWK$(P8&leG%4xx17WLv*k9r1sh>JLaBNg zc{4E4>x#LvEI7YCOX-Irsp@SH{z z%%^$+(c*QKI!t+b2H?x<*D8BBVP0t(4%}oOpotDezldP$hUU^~0mcYMmD&;{2(7w< zAig{6UBN&~L=3rs7N2OY;|q!}~$ z|H8-tsxW^*H_<}s!Ab%>=@IYN5}RuzVN%zj@r2V%wl%hs9VsvqLn7@PHk4Aw4$TkW z?$2KYdX;rZtc_!0sw~tOu^PzrH5A#ZclQq#H59SBKO?P#+bHdA9Wnx7diu)*+@H)R z96MQi3&?MeM04qmE{I(lYKE&T2JR;4D{ZPj+iznzMu*_s&pXpyDR z#<6nPV7mEy4m{QLw_0rr_IjJqb7tk++khtcMn>X*k-K$v8e|o4=uyM_%ss#L_H2C& zaw!Yj{|i(01Z$@Fdve*1P$1L@dYfdH>3w z07yl`?-xQaknY3{X2ao3hhw{#4T%aLjz&>Dmp{SO+@<&yX+q?MJgL=3CO3>%8KLL? zHl%`QGV^sx!{G9`-KxKf^?dsRQy{#+b1`)Jvzxpc;IX{^7;RzmeLgdQd7Jhx)$1&6lQniU7zE;i?KN`4 zJ?FV@N@}s9Ly@X}oxbB)xo7em_w!|mtPx=s#Z4<(W3C0r&yzf(_-wrXvFQk|)X4Tz zLtJ5oekrV@+(qz5=UyTr(5958z5yjGkZM;w^Ot%-K7Ep&NZP}X^Kp!D ziVUO*3|Op~f+|;W*u0x1BgW8Cf*%w}BZ6$X`{Pg7sNj@>^nVx5ZyjvBd~vwk^tBg_ zNf`EbVxz>g^%~aUqsb{!^9Mj)-AdDQnl|t?py&6Q57Vi+9bveQq;jL@Y;^8WLf1|! zD6^~;PfYt1-uc(BU*iO=A}j4%#zvsik=Zf)dlIac`Yha)bkJ?XLs|0RK&fIGlk|j!0TU z-d6PbT*0t+@{UBYR|Noutd!KPm)cz1EtDT^(>HJ(;c$69l2K3BSPIp7;vB%pDPBpGb!_g2l7N~4!soUe6G^3bjg$*Q(keQ6jar=ydO zTjdHM4eT@AZwauHV(j&r^Q6;q&2T@F6A^?(CvH8g!w-Yn?xm@&Rc5PA#vyfo9N0rH zdD7M$eOKQ4A7_iD2$SowA;Z>Z@<>e6#zY_`Gz{hSzM!Fx5;VKJf63;e?#3~=X0p*0 zEHlSe9u|lPDxdhfC;85ZSI5$#mB=14gn#$xoLou%0hgEak&agR)2#s73i&?bSNUpN zK{2e3(uh=zf&uSEQaPd<`}}z_7@HFgeTW>P9ih^1vKspqc#St)dLDvxA8=?=>mgG$ zsDhX-FOTS0pzvsKx?Ih8xM`I)v}{U2Q9-s*1(teewfZs{*==hdBs`u;CULcNA-Bxs z3?@#Szp$J+awFDsyYZO(aNUjT>yS*+QsbV-+yv>stz2-tliKQ!(`CIeF`dih{%koJ z!D2a2OQemGYJcc=t{CMrM7tSaV{fXQ$K`BuI#$+l&2>>?2kEpnT`tCQ#eK-cowJ2w zOk;DFhx z*}kUm@{ak0lsIx@sXIKa{pz6~Ev*Wbbt!G1(^gdJ4&lNkJ%#t-Dwy01%*$x{Zv8vj;reJD^A8@|JoXpbcOEGN4L zEVUtkSVw}W=d#w`qmJgTwHEqE@ElwJPde>i#8IHh`ovH=Ub%s|D!~@#R(qP+>1=0- zg(Gg)Y|EPvtlBtGZJbe!$qkO^-DrzL;ip+F z@0>*J7cTJ3)oU$d?*P$*1v>=2_T(Budm0_e`jTUF7E*Vp24pES8J326py;<07s8ykjr z_O{zYRTW7qk)YZ9z|fcDvrdT}%C}QDEXzoQ_5>GT6C6Np=4|NLS|U+*xitrNpd5vL zrhSRMJUNHj%H-gCuAnI#>Cu9!%(pBy_$a;v$H&-jrw@GXObPu{Q01vfZn@NJh;Nm( z@y^aOj3_K7RTJFBuFQryU2Cgf<t`ZYP5siKcj`&zu~9drn2vp|$u_Ijf-!2s$zpiBd?Z$UDWwMF1|XY* z(qGw!IpW?yY&}Jd!) zA&g^#<%OHDJ6+CnA2wtwbOtBD@rBb)U+l!ma(Va5*_3eK@+zy1 z|0$NfSs>tfbJ1(Iic=sR+ujPpNnkq%kz^a}@qZ*_jFvQ3+FW~mx!qcO%uV@16}cV8 ztevR&A{gddjKM2%4+gCPmT0I&ZnihLr~w%8l{_dTaJ6r}co_bMM zD;9mz;Kr#il}cTH6OKcCe-&B4XH!zgPWZWwX1RBc*&nt1Sx)-+SCeXwqiif`(~^k9 zXL~bV=7ZW^C>9wa+(gbSHaYGSGl_(!k^0KN3Or=D>Rk>iBXmEw5>_k!))K-_OFKCh zt|+8|tGD?;f3nT0l22X(jQn#yA99?$DZ%)3Jo9R@)Sf0#P^&=xi|Ke_X!DA}h4iQV zM{LctA(Mdb(;GfV=3O^qwH8HSXb}NHCwZZ`Q#~195Vdxp3UFKFafZ2E-UM`%8b-lG z7w^5rr0?}(J_|)~9{5_CA<#^(<-K)#z9)Ui>5%!lY$_}Eu7FS==V-$oWFFI@#`Y~s zPav91!ceWwni+7h`WJpJ6VLMaFof?T}X6JgN-&;J+i?!UI zZnjRm%Zm$gw|>~lp;VG4N#D^+hKbw(;cEG2F+}~o{Zj}Y@9&!Vlj`F=UTX+UES07j z?QzTP#W;E@7pZQ%W5)Ma1{61?OHE%K4asdJ$s@u}ox&l*_9_Rn8R2**4-XIPYwe^^ zoC_5dBjH;pAdi(+_i-cO>NTKx+4RR5$X$lL$Uy?PXTQ6i4c@~RYYgc( zO`Zh3l8#qe#NX(6D;;vV3VHZ?BSWX=5iz)VOip#jNBYx3i0EDQ4<*}1TpU@+aa%X; zxOpz1b*|e<_nk^ca$oT7qv`#CB4={ z?X+%|s*}uolh7<+M5W3YCsA4nZ*;kL*rzh{wch=Us|*JW1~Pj72c>#%E`RV`-j3rqj|< zqca?5g&i)#p}$*OC=}`e&wUM^d++P0ni0$&ks5NE7wQA&&*aG#|Ed@~cQkfa97g zt-!S2vu>ZG9eedmw_8$p*-`m5b`#}lf={oq=-}><#{keW8{rmv-GajS&6?7#=#r~eh zCH5V66NPT*rqpmy8Skhc(BKq5YuB17ffnkf3UM&vAg*Kqyb!rE0cPYKKf|grUU|4j zgl@B1BPNsj8KYdHMY6;dHXAA(0b23{Sv8;j7)RX7ebOTr^wOXM7#|^KN^Xl1K8o2L zlYaUXiXLA!OLhlt+}SCE-vls)iIe~XLs+lpQE1@tMgo${+b5(E;-Rpe?5WXEF!T3c z3VajIa6+6J$8%Nw%lp$m9yD5`ZV+xlAlrR{8=gN2HzWruI(HaU_~t4NV(&HtOtIhI ztois?TXg&sDYlxpphr8-VfNqs^|I-QW&fDBNq7?#tAXS3axCKqR3678TKB~w3e6ql zV$rqBBLH!lAMXxLA_dJ$kgtEUOJs^>Wnw=n5 z8{lJb`_Uml4{8d(K7W6BH(S^1O_Hb9NQhx>h0g| zLNz)ZVlTDY`nTTP;84pqlYRzWlOHa(h%BSvzmfdb9fmVv!7)}ak+%zbp)y&j9!?FJ zjeo2WAjc8kgD!cdnloR#h?lY^#L_e23HA__Clp0OLMl|v^2=|qI)ToSNed&F`XEE6 z{wWW*reqgbKoc=k3RK)p?c7`kLfFWwGROAL@u(G_wXS9-}4Jq>TRc9dDL;^w2IPB6& z9uP1!HlEX_;LS9(J6@q_ce*X*^4L<^{9e}Y=6v_dK>XvE6i$b9?HvZf5N5#nbTNEZ z_`E5E(4grt8kxtq&3FxmuzUl2o2M)e)B4gR+`%bFExUt>RWYm}t;paJjE6u4ia7(2 zc2oCH$Ey~rdB+3N^Mm=w`8o?hZXP!RY=f-iy1KgR4#PS@f5iS%ztAL;{aQST8)Q=~ zmFrF_wn#bevdKP&K7~`P;gsz6s1bCX+8)aZsZQnC<%Gv4*X>Vg<;IK*B%9<63=9CP zNAk*WL=Yf8a=C9W&|Yb$@6VJ*%Wx5hV@9N4+;b%DO&3T3dc4S^)(;QpOATn^K;Pkb zq;>l5*s>*B6#$RqgyQrB>V1X(EjZt7P_?LVor@aJ#-!3F4S@5nG5oe>McCy| zzI`cBkC%pF1t8l*Fk+pnv1{-C^kcE6It8YzDFmPmB6$wXc6AZsU5~X|j5l(J?1CuZ zfMBO}DLWC$nlc75QRK9iS2-p+ZLQS~hic-H#IJt9_>Y>^6v~Nv2vbM!@}}&hoP*lt zqO?FNX&%?kKV$a)qWgR(0rW7LDWigd$Gx*2xU69uj=RF4TAnF@v%xFqJ=FoBe#AX+ z=g&#C#Ej>PbwI?r&^;KqH0H_0V*(Iy+4wl?Kq!!&d8g5HoKIG(P}nSPF!l#GJO)Ft zX^us=V*Wmq+CXVGxrE*^ z8D^uBiHqKT>yjAd(3;TdOUoe(Nb?epqZU)G($9G3fwkKk*PTuQuJyTB2%sp|q>zY{gxekaX*7_5wb9r0d)nPd@wN3ESK|PZYyk9iiyRG7{vmQsGj$Rq_6@O*H&Qq;S<63*U8EYS=qI|*DBOiYkmlc2 zsNXWXlvspnNxm%BV|0;v{2yl;EKt>WYGv}@=G%Q(uR)xr2BoH)*PFrO$@L|&2XbCRLA}ge&(dc^1sh{~cjmywGEQ<(+dDSwyS!$g$`5l|0igtgpMQx&WXlu9C&%P|0@;RpGt+dT*`PqpI^gt zIHB)es4k@KLP{Y9@Kv95kL3Ey{*^Vz6L6hy8Jy9{wmiAodnV_+hgX{uH36XUEVWFp z<-Do;YQ3+{&*d4^6O?O*9KqbjzN1YFK4~>{3wL!?@I1J(ZgkrUs(!o8N4q_Wv+s)4 zGHNley8m1+0()Ni39ye?m~i+eYStALJ6ZO~2VeNjZZL&YhB%h!SkfamB{K8?KQXyx z@n+D!n{%9GD@;DD*)Mu4(FzEVBmSlP?pkdNsGfJT`xMBW-hJ*bM{mgr=EtA?o^Kh($-mb}oS?S3}Y7NN2&Op%Gt#^NX1E})gt(2aJt-SCxx5YR~!S+(i8sflTSvCFgM=szc) zMwmxU)Xs$6w*VvoRMT6neE z>DLvl60x*mWzF*6d2l#Fy2Gx$OEkXyK7SuvXI;edX(vALJ@N<96}MA5sWisuWz(tg z4C*^Aw!_7m9{%(?%jL`kTs`-ZW%o1K9&`fc8`wt2M|?7|WED}T#VhzvdrhFkkP*3X zErN;6Yg@9T8+B0ax>bP)m1d*enb?X9yS}M&p?uC8v?GMt@(uQzfmj;M8mD_DKrnz; z_`72Ct8Kz0FdcooJR?nRcIl((Y(9LC<_I6Vjeh(|2epx&Hm#$tl4gwy9>8pJO5I;$ z_NUU(d^Qoo=?y{I(^7ViLc&8IKDw4!#X=wr$(SqU$Bct^;`+ba8 zSGNNn_%f{;WRf@n?Rzr9jvaD<3alUIcZ3<6%!iMbq-U->!+6f!WIV7jtkDPx;5C#P zxoxx&5f&&6Dvg9(TLKjuX&Fi|+T=62{SNoSB$EH(NZ{=6|lQ}xN*OlMy-5Ysu2a;#I=tLrSIdPQ*v!~i&) z-Z+%CzNAD^KTvsG?wV$vUNW00mImapxr+z%ylz*NO$&3>JKH^BX~>#&f|kJxcvvBC zT?FcjQJa>K2-t^xJ-%!XCZJW_di1Pt{s^g1{6nKY-y@Tp?&FU*cK0Kgija_RbLdsm z3}at=KzJG(S+v(ZEMlb*v2TA2y`U=+?iSwB%-o)gG$38yY83&o9)tb{Y z0h+x;Mg`#~HPlkQvyWIC@xGKq+o>U^dBXl=2KUw$8MIGuGYML?XRc(-I4c?VW}iew z<`-j3&_xn62p?|;G^yS;mkh-4i4=T*JxJvpXu7*+x*8jtt16KF_5Hw4hIr#U{j&l# zsC@$&ih@EX+**+e5iNG^AP7W5x@Hu5qW2G$ykT&<7<36+gr@zWwN@&JVuV82M;{JpqmGi%t5MZX^ zJ9}zPx*J1U=@tKKCZEy^IzIuB3jPFMp~rKf09B?4LSh!Dcygc%Dm0!|F?4BqhlUtG_-C-vElH)gW1GBZhR7{`*|14vF!Qi ziH_&}-^-~zIE1ent&vjzMwKUQGEMQd4v%y^^XicuXZQsBak1e4^=QE%Ucm$Rs<3az zg&OU4qdHM|tyT$BxSWH2|2}&2BFSYDCF5NiEE2wG5`Z7eK6?A?j;?h?v7T>-2?+KR zYQ^BV3%_C|50b_*%_j1x+@-my9pgvumtl;)Rw1XFO^y?xIIKd$g)`N^meee7 z1QTn9Z_M{Xik~$t@4XZF2NNbpg4`9~_& z_<}actT$8p=Z_KF~xwF`h2R?%m@4Y_= z5YB5J;iGgmnoJl%&LG)5X=hmiKi-T3lx^P#!%NL(r$83avZStK2c>80T@1}vX>x5& zES#uj=TmZv#ri;?EEArqG|J2T5;U5VPKeE9_W_T~&KH$JTnNZH$N=o&6Tr06-S@80 z@;TC9{?jg$^_I`lyxNX86E;PxI!>Lvp=0J0a z!6PCXw(RectDgW0-k8fbNJx3;G+*U_j>XB`zy1;CDNkj-(txII|BHAk@hfyHjR5&S zn*ZK)WCb{(q#s8gbcB#kfF*y7M9*E*b|Y7M@+$(zWua^dhE(be^Wp46oytj`Od2@| z1d3!-KJRho$ys*i%^?v9mjjL^_~@4r7sb16vh$OzpBx|Dh-Q8SVLhEZB|9zOM}X4Co7p-DB_Z?*;|woBAajuxF2Tiw{PW*oCT0D&ok z1ZKCZ&Y{e+O!vJvn2+!Vp8K0(cPzqN^gcsZ(I=ML|KcFsRH;a|;muZ#+b(Fp32&kG z;c#O^P(|iZcT&`JviwD?Aq}p{{MoKzvlCLHHsb3m1_;S-3OwqwSO;v1F#fZ>ZXSO4a{ZR+mVBqJMVhy;g zW59YW-oz{!q&~|;z-EQ~#7eM~{UQS`0tq<0j^=I15MhTVSp9xcJr7)ox>-7p>wYDN zt({B&*piDIR251)?HU*emQLY0RuOD-9FbnP%DBBXLXE#Kw8!Zj_(S6g^ArXW1WYa+ zpB_@rfAsPONIAwvM~39ER4yPAbvnD<3ralUBayxFN?hxMA!&>9v6AUnVGS}jwg_hJ z@Nwq9eyrU9fxEG|x1(8)o0QFW-f>T$fZ1>j!RXa4TvK7>(`9$ARWjh~@^d^-=9tiB z5-8T*v(CxRv}$rL+k2#l@o2C#=*nBg_F+f+`XgDKVXGgoS}tW84*it<4Flh$l*+Bn zBHpL1rDL^8 zW-JqU3Z$J8NVW~9(x0n3LyvDCPTR#g4(Z9S?e2;lxDiSsM|>oDaz(YA8%h8U#yTew zpoEYHOr7E_|8t!1d%+(?c9N1^1I66z5fB|9s;P+eASqc$A(`xJu^qN@OK?_x^0R94 z$4ZmYt;6Q!1;>cK4Ny)69L`p3K$<-|UPmSY-dhn@@J}ASxR?>`@=>`~=TnRYz~^ew z$Ew#axxW;1(OhX(7}f(l^N zUQqQu2y;E+-QK=UiNB|czEY`H>W7WAE%w#Z06`_S^+Q8DYF7Ng=s3DqS)AZ*#}#t~eI`jW6|kx?7p=uJvg*I;O8*)&}^{zY6@3!esEKB1o{lZQq=(V^4b6 zX4LzAXVdx^=KQj5BJfTQu*v${^sek2uZ~^Nt51p5^N2-}=5G(#Ty~jxJw%uHw6hwB zTc5wo#|g9U+IfiT`%rpn?>$LR(E&z zEOYcj-=k92RLxm<#_ys_eF;p0wd4d-_a^!&=R(sLCIczwrvF+300d~4_~=U@0;V?u zk8r}-nM;-X4hgexk*FFJ8#vW&hvF+3TA1mVG|GbXNoeZ!>?k%$TXqNL+nQPzYijxv zTmLUHNr)ACOd9MrnTehMgsbf|kL_q2C5KB6$EY7i*8Gsvw?FDn8Av{z=J_8G0v<+# zM?E-DS~2gr83l?LTA*GyI`9jdJ5u^baR8Xf6L*Aomx4NIFYbiyTAj%9-fZ1NkQ+a9n z!mYb0OM9nwTuw;aDV5FS&EaB$#7zQ=`)h)87ZIUi_gVW{Qt@QlG~(jFEa{6cgxF8; zQ<44sr+csVh}w^dBo6GEC0LrcoxTr-&_Y2tGafd$v>JDkoRe!<7Rhuj)%+Xi z$PphK0pyd)aheF>|B@B}uzzfu`87Q86YyL(Q!1g?9hODp^V*8%1+24JKfkhD_5+Z+ zRBbv%{RRs^6aZDT-lMMaNh{{yl`WikILT#~DqU6EQ8 zhw8=t$@OFM@rB#*C&tPLe7_?&Oo&n5{ohV1qj`HM#`eE&6CnVHly+MAC^D!bT8L-Y71KvmK#@fSKeqfYpdN8gv z!q_xhc2V^RI9?2~p4FZI!~SX?Tc%oNb|2-d9yyVa3nbTzC{Zh?JbZ%lOd2;z9&*}k zJd|?;L+8<5I3FKTH z&ZMce&53W;S}b(O-Khd1Y=ZD!AQwvSD}LZ=eRG z|8>&0^~Je%LAGScNJIKwEgq#bHj89ALt7s&--`sGZ@{-15x`E5R!Hi|YiVJ?A+?!R zmO6TXRQBkcqU2&VAC4Vd(^~PaTY7&5>nx)SmFge8NsIg2UkN>_dmf6j_2#|f_M8a>vG`Co@AKJZN#?YxNI~(rBam=b0(!j}*+a;R3t69Gak_KbR2daB!u*$Jj92i?a|#CINUYyyM$RPnSpK z02cH2t^30irItjS01pq39p`3kz_(1R!}-rx!T*!7M%ajKW!=DAq&{2i`ltOt4Er^> zE2(F`#zHU+0beL1BST;>7=tdi_5QVdY4V&2P%)nk&5+o=h{N9xl(X~EoX ztE0CA)mU~X<6kP8ai%&Ru3h7SyG+lLnAHoduqji<^AR8{g(WX;Wg6tti}(; zCNZ&>m^w_lEYs|-3z43S-*#qVWdA^_->Q}~Iswh5&XgceEr~XM^rYXy&7s^?G&=R z>0S&WGPf6m4ZuE*Bo#wVEKlb2)LMq!5ab>=NY&Tj0(R5}e2>8eWwy;^px5(R_}-fm z8S2sNKV?V6`jQ6i6kY`X$KdHibw$7M#esC0 z()8s1-#{7w4?%>{aA;6383cp*?EgU+L41QxP>1Q4ZZ7crKjH#;=|4P+WBSc=kpbMo z+W;*T?i^C{R|y6@>3(`*9Z>V~8Fl&p@iPH(0yBc9-yV?ix&JNpsm{sr@s&yj&L!bT zihq%l-(X+FS1qQ+`!W)Jv~E3KMu;EHB9F;Wq)kV19C0$3Xsf~Bnr?O$ZXlh;q*xzQ zGqU@lxch%8T_#W7h#hx@2ykCCg~{-u_HG^T!=}?Ve1Y&3H88V4LA>9(LyAfNEi}tW zE~4WOliBi(xkX3u@%T}s%h12oF;M*npG_D^W|#2xX8%xXg?+trX-C7B05~7{PXGbK z(NfcUY;19{gxRu{dj6A*t}GaMRN0RMiwH;*AO?nlm(vkVwmXPVh&C4&_ipz&j@xBA zDIiw>aG1V{f#?zl8?9{;aPkPRzgq1RvJ!>+VXeN2MlNa0;3@X#bffmX*}V9H#%xKE z>u{;Q5f~sbDAi#CL^n-tEe%iRIWk~hbjd<=1y<^t)c?Qni>Kxjl%(){b{byFMX~{yqg@;3Wt=A@F1d5-$6-ht)d21PV0@ zh+k>8O2V)AVAd1NvXo)tQogUF=Omw*E%zdWKo@Sn&2ea9boQ34#^a$7F4**!kIJ$8h1mXB6&VC7Kq3VV==qXR^Um|404fYj9-h2`@!NR;Ak2^0i z0ah?sXz&)Bb=%c@RC@cO1xz)!6!xCigRB2*J{ul~U4nUX+j~2){tXwWfY0HQDk>i| zcg|1Gi`V%6D@#h7D<7smMU+pMh>c|x&*tQ1v)$Ww@#DXnT{FF9v%mfkx+3X>I8 z)-13r`S5J@0u+GM(5uQ;Oe{env6-=>W06GX`5f*Vnu;7pCt;U{bSuPdb|&EcvNoIi zpu$i=(f^SSet?z{2aj#ruwJ!u2=DmmSd087XEkfE9?L>Zi%oQ>PvY1a87f~xwBL2Q zbh(4M(EL;WCj)28YTuRuQPWTl?`HHL-QGM1C)D%9ze(9L=9UE$*o z#@61e-Pyl8L5m0Atu;$l;*Z0NL4OzU2l8}JFg()iV)StPel*lQG4O*)X;|Z+CpYBbnz&=6kK<(PD;BAX+r{VDNsQUHK~ijk3hDBy_Ps zZdvc%VyuX=;gp$vh{v-moD#YMh*22e&gJ-=?O(N~Kq^DO6hkZTwQjrl>B;n!7i>L} zw$W<}zz`XLCZB^e8Gdrpnw6Kt95U^yZ%^5iP+VykGR@S>z9X0W?`sZ_g89}Zz}gw$ zMI*}X;wH*-vOeLu)QJ4OZgIngp;O!l+Q7li*%O(3e7a;|vo(pN-T?7kdPKwmZs%4i zOeFuS0D>1fR$ko0ZfyWwpG+Q4twe2tIcPnNQoIGEo!My6_JQe)Z>_ToK3@ zg4RfMYP&N$u}Q@n?H>>8Tp1h2w%sSN&*7B9=>u@q+(d-*&QC2RlZCYv)PzLTt$^O8?OIBuQ;=`@7<@53o=qDI51Ssv~# za)89rc>WBFi)xmBr#+3$-Vgh8KERimin(4K?%m5FsZ|-$ zh2H4C+n4U&>B-Cb_40NCP;&21Jor#@?^GELi04SeXYMi^%Gt!t)f;fSKMuh`E=M*m zxQmaoN1kstK09LM4PVRGO}ZVg`+t6Bo^q|BPvNok3&Z1-4oJaYJ(hWkNtfGjx;;Tb zaA~75n2T3z38OmKXu-KP9P85`OE-|+A|Q~1K_~C4dBFqth~%iXiYf0e7LK2yG3S5B z-JP4wB!b(r0cKOqe^}FG3Sy9ns;lIBape_;&rQ8WcorC)JMMbyfH5wE%*$h-m)U(% zsYLx1Xc!O`)DT}s*BP6bc3UsFI|b@2A7I(}-VXl!{B|h$bJCGb@+Ce2A|asDJ3&n+ z(YsE%9Q}v+AVQfA;VX;s*upX0IlG8u}>`~adX0FmMZSZ+m*&x=>7Oj!!f9nz_a zJJVdg8LAYH$=X?Ozpt!T@eTbtM@9y~3-apmt>Jx_n@!NB>%uDahX>JqR5jbSew0dJ zixlV(FgZ&g*p&w3IgH#^Q4l7VduT&qQNJ4jx;HBA<;BXrQpG-0Uq%-uqT^+NwZOw< z8+Mu2xHg#&N!%RTntRDyIs7pYJl#(9u@DN1oJCBCU$H@gmB^M72wi@i!sZ;LR%amt z0+M`Vol&1do`BlZ0&u2`4h`UPI)oq|E>X3iQLN-~yE;frWp=eyaB{LsJvg)M_{?GR z5c^t+E+TVIcg54+M*Dg2B$ViY0HYR8C^olW)`&(HFcx{7%VDWZwJ8oLFunk>zN_}< zu!@a}Vy34T3x;quNJwoW_^J31b8?(sop0r-+;CQFm;1Ny*GB!KglA^I9Kk+E$8zgJ zf#8j00-k;8%)U?lWskc)UW;Vn_?``>?=uF3to|R>$QT$G zYB~mpt0kLu03z}zMZ$1n+GH7lxIk3(KIiY4QTCcOu}ih<#YO7D(DXRex4nS2?Du=bi1$*aA#(cQ)2{5KrWRE?EKHL8%)yI9_A zQyi{039O)2^Z91gsHiAXmeP8ygaO>_w*L&fdzvL+1n14XjpPm_E4X0btML;=R#(47 z#l$RP{cWP|0Thve;S7-tUHEqoWrP9>O%8MgDixWis1l z7b?*N4*iK7W_BsfMbb@bMkGh3tpf%Peoib>t0}asVNh*+kGZhd%em35OKU9;WHVMb zy*S6{Ckf{wFxz?K%|?MPFZ?Ux|i-)x_QU@R-gCtb6pQ#_PS<=+1dZj{NkM7ob&V%7fC+n?M%#(mDyaA3Ci-p1|T>}j8M&TCV<5{#_}^Qt4N<;5)` zXumy0Zn4moQ@_%=;C-a^5RW8X1VZ$c`D(D=b3_9OvB{megLY=<(E;D6xv+jm(IE&uZ!$g@Js zYfXuDml38EXQ?(x5qIp~H#&3O!tqNjf2~b!XruL|5Kb(dw;|rEUU)lrMizGrHC{&g zkz#@!1SAQs|Mj-J3z+qMG)DJ5gu&v!@g#0A91PWZe;hft3xL!;WYXY=*?J27@$;c! zLdWjM7W?)duh{}{zb$mDwRL45^wjPeTu8}Bj}moiOsH`oXiSJ0fku3vD(7x%KC|1A zWwp2R*7LFEN?zOhdv5pvXfM}gZTKDNJJUaMCc{tn1*a={tuqHfUya@I&0QGwhz!E5 z-?TKl0SbrwLgaXQ#Wo&>&i_7~_G9zv0<()Z>DS0EdaZhO_4Yoxvx z8y}~>+s{`R_U0)2;xu)X0Fp5~b77sG-PjXjhkMydAq|uJdq>~?bFOK%zjxQ^Zd2SU z(LXo18AY0N;?(z5ZI4360Amj_u~jYNWURMsu|#BZWT%|HjSuJ~zM3lilZSUHlbk=0 zA@GQfmo3*U-%g6#=cs}y-jqZ#=*yF!ck6t%crHsD$Y9|ez|vDESV)C=;zkdDclg#* zyT_}0D9Mau%J=FMlU9fu&`<(KLPZ3XBe4SR6~zKXarZp~6&0t;7{r`Lm{SD&#E&*4 z5(MU-h6!Kh0>o)@IeRSdsASK>d-mF@jvcSV;C)iHI6gBXLUB@?`B#3vD730p!?}u{%V}m{=?%NYDXA7N(mBrlR{d@IUYlowH zef*lFh21w91m=0)m`h@aQ=%J`=n!@<2InQ?AA!~ zg%4(^6BQk9WcskAA)nMb=7dClxPECn&L+)W>jpgd0kD)TAnx4rW()=i`x~h`%995f5LGSnYq^X z$0MivNdS8g6+^d;bw)NW{kqdiuLAiQWxjOc8b%8<U4p zlhj(4zBPuNfEd)jA5tlvm4T;Tx>z%$BD=t|-lBHv_gnrku>w9p=(4UOG6I zS|@QbztukU;BTg!zL`&YLM*jn)-sH|Vr&6`L3R?0HOZG||=Lc3ti?Z8>lT-}8yckp^SmFjh}bc*LFO<&jPLSM5(Y92CV}LhN#_R?Zkw zFor>hsd6VJlWrC}h&MO-bT=mzJ306*`TuumprL^<#iUZul1xo)?g_+J3+}+P=b-Xa z+TyyLXM>(?9{XaVT%v=OF;hSmrGklX_jo`08}i*SP3u;mhHZiIP;vs^*cJDcFINTL zer`L?xSlvv5r;kBf{_h*W~ZVlm6J6K8^8bWK6wC|^g2TcGBe$1{!!*?sAENcZnMe%oY3o_Fy}U>1y>HLn`+@is&MK)8p{*skLE5&>%=Nbk5fFFm=?1#yDU%IER!og|}BIjF#)6}$;BgsQnT2c@P{`adac zssiKoR`{gW{3s4zH6|CZ8_~Mtp77JaODyt9jr*ZwyU=c*UQx^Hi->g}8 ze=kKmm(FQI!iLiGjVXK5Ja?_finYilDMj3v)$D`XXFjUsXi0{AaYZpMnoaD-l)s#3 z9R8x3^dcGEp`T(80BVNj=!lEnrJwB0XSHzX*M3cz)wuPP)qYv9+Z~gGjnVg2n9|fv zr`Vvt_Klw})nel;!W+v8#uHW$cEaGOFnkgm``cIrOvpZh5~bb;9qh9V7(l?C`sw(A$ai%& zeP!nFrX`d)H(V;Fx;4f#7P-@L`-29q&K^kwwf3v0T%m|OoTh0J;-`&;3u*&)fLRvn zD@BXvM9uGzu&b3a_d;_qtP6~7ycyTirb5tde#_NE*ApYB3MJq1JOPRUn>c-pSDfNSfK1!$#3gtr$hKf__#gz@KWLdR~zqWICE`K4% zkc--#9Rk1F7%K@o+H)@{4$XNI!Wtc)mpTKo$jH+_`}B#=jInkQ+YSS#Kf>+xMZH z*M!dsOp?BRThzO`I!rYV)KGo;&p=lMxtXV%eprQo)yx~$g*09}_OJ!3-QGT~IB@II zYCua8fYvF#+g6!zUdzl@8kc912gJ4G=I0$Uw%cVw39rre3%#@HeWMZ_kFOOqEySoSZZ(kgZ|DV@gwHi z5}hqKuh5g7(U@M+^a@0(7{=2rEY`}7S^wp!n(Bw|ziYgToF2=OZKBgcx+UoC>mC$o zB=lVzC5BS_P)x6|<*Da=mLf3ES|lG`{Fa~!D-ad;xQ-Ao8{O1|>@}fi#)a#@`|&Qt zQn}8sXelyrJQ8=vtaoeLgSKp8XMpFJ?G-0M59p1dWru0(L~XDG189Ki`yOXH4XhpR zAs==o`hK>%u!ak< zxj@uHihl-#L=PS`d$JJTWP#XK*gS#{p2Wq*RyVCdsf#1ua&8S{EKwEBE3@d{T<_at z&iC*Of+i{H96*4cxB!?~ZXWSq*_JbKzoCTWgzdPQMk6|<1#SDtX ztX0q&VT3s27WYXQs5zhdFDr*~QQSl9D|W)SO#PQkvIa$3;z(9&7p2JUD>DsIHjF5~ z33UrFUG3_5gsA=6Hw9@7Xr~f~C-79fV4l3(N1f9$ihEpLDAE9vRnwq87h}TqBEe_W zFNC!hJ5Z3{jcK)xpN zFEplCGQE#fMbtzmpntkh84|QB2~mL{s$>1#m%7e$V@5*s&tvPFcry2%OeC&M@-*Tu zwK*l)FO_??xv2$ER(yR>gmCeKG2u7}`1=)?yeY|qKV|Q0B>e8I@oXZb>97Z198dX( z`gbJy`kDqOd)jYXP2zy!0qIr9_8e&TV4F+{hdId7V$O67r&o@lcD-buJ-h*jGa z(#r#!>ycZXK83k@e||FZZ$t}_)SP$XBE?^|i#IsGF=otEi?Bc?TEIq9hzo4o#6Z{E z2V%2-inl1qL}K9{+NU~J3+PG1q!3P9{uPp;FR3_3lcHsd$KWl^8bvfdZIGfdq79d4&*_ z(|ll^%iEVGYF3y&UtN$I0eYI*W*??0p{`f%Yd2+-0t~|RHQvW@+-hWqpLOfanzkEF zJKk%OpxSgT%5_IjskhwJd209qBe0cZ1f{r*#HuKY$hc$R@#NF67ggaAFU~l4`RHrX zK;(yk=f!Y*r7E}f;hMkqGm#+rXHkEAtC11_ zTC%E_NFpB69*nI>_OG!3>E)CAOAK0i1##Q2&EMbd0Lny_UDx#+=(7rg|E*TY8w+v6{fVZkgL&PfgtD zNt1Pw;);n9w?Yyp)r}75 zChb-Gq-LwhnF9tt3KzT$UY8k;q{FA`IkK*N9rRR3owA4gk!<4PcVX*c?b^Nxo2^NK z5c13XI`ZR1D>}HNhCOs1aYb_;y0qo^`-a}~X;$^tm;J6cH z-d9Tbh$-_TDRwfxV0c;8@4P5>fy0k9_vv<~55M&B>?A)EMmlCVsgQ#0n1%OEoq+)I z$*8{{{*DHHGm-YHX2A3}s~iAadl>YTi&{0KlrS98a;DBiRQ))A$Fn2kq3LQdh#S(& zYlTy%^S(8|R3*W-+;$#A`4pIP?+$wdpT=xBTLY68GpN8h*mO#QLN4)kqRiw6(~oqM zg$*)AXmOE> zl=xjOtA$Bw64pQFHT>kHU;pZG)#)*V(Rj)Hofq*<*o6r{zQ zG>g9w5)!&Bg{A;nkW-Pe&JGo|XZkpaRxp|oUulJ@2^viUzLnle$z{>v)Lkkax3 zB@ztKWGbI^Zz$oj_P3seHtm~@=Ee_MKAe2BHp-R?K8Qs>Xa*c`D=xT7MDE15_-udj z>)jE|WWtLtG(*B@KjXV$;bXg;%pTozNu?(fae<{^=j2km{6vvO#s;#T)PMRWbf6Z3 zQp&H6pOU^C)|d zT=hMtm@<1hZcqLD&o9#YucRGn+qL*Uq4wVif?j4Z6xxbVcTWti_GV7+W+KuVNeqUR zepWnPO(s2~N)`VYPIg$2OX2b1i^lsJ!!+%K#V~18jM}d0YC8_)3bZv3yQhMZIzyCG zHN#b&;Ll-jh?~}WYm3+krB!Ighg3oGOg@X+P9rp@g}^(I9(t1>MU7}W8!S-b)iX< zf&s|0z>UWu*oytO=lf0zsB&{vPl|bm;#neI8 zJOn6xu*xwz0$R6&=shGWj+^x=Z~R-?aG|N$)+SPylci)9G=GpuHOv(CV?rH98U8ex zL>7uR)VCeQaZnd;{lS`lL`VjJvP0w4RAflOV>j5kp%8{wU~Qa46DqC`lwEl*z%)3B z9G^3k%_iv5J7m1-TSSuMO~uXE9lPtvvtqF@jM0l?%DKh0`wjczWH8Uv6jTSVB8)%T zY-y=sRdmX7Ui9Qn7Kc>Ozyg~oOOd-fdcw;K`xk@RWS13-i z1ow~`C2YFh=RL3;dXAfxH6lwa^q|NDlA4SngjzV7PrFBFrTj8;CKGpxAFHk{_I}<> z>I5TvrV@{$_Wl|un2sLZUw{Y4FD5J|QOcjdwO`=j_-I(JYUP?A`d@FqTI(AjJQK*^RZCU=)r%HfVG)!P(91WaMY6!60? zJgc=iKLs>26)E>B&HA#%T2ug?3J&_$k%@^MTtU)F=9byfn{`R-DOu)@Gqzc>V(?U4 zk>j$K6gD<(??+nS`rfJNgc!azYKd=KIh$Y_xDZs6Q&3PJt^pn~Hliz69hfSVX0#vQ zH587VdY+&23Hm1x0E2a5&QIuvEFA`oO=yK8Ncr>z3v^UJ#V)b{EvuRnj5}y}jymwm zh4*@l2E!_rW%V$F%|(7@Ks@0H*n1>dXC?3uk>q!E$kN^Mr7u^WTG47EeAxFgbhJoI zuf{p5FV9U~`5c>|qS|at#`q^(W8|b^JYigcB0Yma`nm*HZs@`=Bb9ZQt3gk}BrrNQ zwpe%{kep83(<#35>6RwqDSy00rWg2<24Y-S92YrZT)}PADQETbYYZ;Lij<-qF7uvO$jcp?&B=?J{L}th*9QoO1G2t7bOXh#Un=@CsX!137P@=9u9RN=R6Q2TF zN-MSc_CKCW7SzI?doMjHUyQp}<@8T$P1HC$qi+0lw0Z zvX;`8)rVxlN~Lw1ti%S{=r;K$B`cdn7n_^M*C=W^c;t>&RtThot5I_IY-wkT5i6p| z|huPVV#wc}!9Iu3>ynPwf9PE3jcBEFP{wl+pw+lTBN3;$l(iQ2Y zx*K439T*&D`m8t8Yfy;W?1JfMlRk-|&n;$|vsRY44i1~WO0-9)5w}C*N>{*UWx|r5 z?>;`+QK)_ey&8@b-_}SDx$@=%yl>#Ayp}YF3j~Rzl;YlUePG<osWIy#oUYN6EJ9|ry4BWN0TJ-?F?rrkrnsg@Q_r27Re}dxm5~j zDJiVkMW7NanX(6@fEXUbAF7HUS08PTO3x1LhFt1C@O``f>Fr2OYsNW~tYv>-;&vn=Eq_#opDb3L2 zS>27f_@Xzy*ob;Exn>5LXS<=xY&wNA#?(Bke8)y^=PN!(2H@lAm!_)&5wPh;k|DITslfd5f%@%1SPIknv}`FH0p&NM_-TTjbU)(^Q0!460Fgll`= zwhy*P+{5T*%n*K;c1>RJneyZEGEo!qHOHlbZbFrxiVf8B0yJBr>!0A3z?!fE@br>r z2)S|23|DSP*LgP6vyW;&zd6#2y)N_Ht>a!gE z3INdGhK~MmEGA^o+LTzidxErzoRG^^Ei65$)}ta~ZptGiA^?hjdM&(y?B95~5;vtL zEiNjq7fy3F#;_Ocs5G6tnYx?a0pBny7fgre(?;p-GYG2Oky~bf0dU-AL9u2*bl8(v z3BEC_-NfYNuS*LjBEz5Cl&xP0YS3;}ax5wryBlw(JB)PI3bX|H4$b?V`h=Gif|aa4 zI(rDay^~Xw2vYPZIwGK;EG-U{o* zjJxg3ptGS<=>DeS6w@ci<-xPW76>NXZO+h#ICIf&u?X_4we5Ta+6M3Htd70)xXh1L ziQ|c7?a_5?#ia|)4tA$}K_w0){7%om`0018oKJlBX8wx$aec(+gdA6(!0g{8V|dog z<3P}=AK2g!X@Hf~`%S$@v~O*AbBae@?|IaDTdS7Pbghxk1ViUyYSfEtY07D?pFFHp zDk?rNxYV0Rt6s=#lc&V=-iN|-e+Zux1qgey7`Kg9Ga*hnoQyi ztGM`0ThQF%pJ@?zsyN8%{aDo$&linNCDd2Jgg}2&$SG3DwWbB0Q4{ggCG>QJ-`%;U z-|twxL<+oK&%gi5e&jEEX@Q9y+Ti{lH1B|Zfc7gUHLj$SP+}+(>2X`G@2X}XOcXt?MV1U7$!QFju8C)*k*=L`#|9k)2 z>&cVqRK2NGRgzA+vm%uhrI6t9;Q;^ul8m&tDgXf91pt8E!$N! z1bZ~M(WRtK&z_=&@hiT*WXp6=T^8ff=`W*|9?BMaN(}k4jm7OrQqHVY; zxX;@owW<88hN&AipiB>-PBQU)_W&*|vMFUsAVoWsaj)=`0}%)gUjW8Y0Cg9@!YpO| z9cHSR$OFP36|zs5T??8!07W(Nhh`9m5%~zzlM&1^)R-_u1sKdPG)F}Cz`1SycF4Lw z-2#HUKtE7^SjM;iZmH z1@R4LAs%1ESJZSyot?-o&Q0>Auz!Z|4*rh!PQw-N8TbQjBd$A`SUA3@$9M!6DF$x{ zuD?&*7@dWVr6a>+!f!%mLPDO)0``_Tda%kUwgFj7$d;WGt`ol#s}p7|z;4jZ7^cyb zn@|zSGR)-{)Xs9ds~%$=raP`XvO57+$V)_ezs+9lwcsOe7ixYi(-28t{@~V-P=7oI zCM+~0l_+YU+z7~)>WsVv)gC)b%ynBGWv zR&|B)%jMDa7o@+813E8Y*XcUYTNqfxL}axYC(YhTr^!c?veB1 z;iLfPLm+gGaTQuoqfW8p-jAV-vb3`LGU;aZ+n~dUw5YUBjUja*G`Ig@p=7tRdZ=`6?2{R$u}G~Y&W1cq`brh!VH285)HC9E4o|X zMc+7{zdfTM!a^fLbpNssMh->^lMG7?%SOsZ%qOVCZ;WY*`4dBopB%dpqlv3Yu*LB! zi&;KN;XY%XHB{kT{;BMsjBC<}&6_Q7g}AxSGs83PHsrSI=x=kSU?E1sg>G(`T<{r~`E;+t&%yHi|UkzD}ca0Sd1`UTAg<77)gGG0{5l%tQQ@boX zgSD)c8{3D~&F11&hL$zkC5wlJ&0hw#h7Lk!1(&Et$~(Wu3s{2ibn()OSmKD|PKlKG z{G6NIW!-rX@4}lqT$*l4kB$&xu&=PsbeWHfPW#*{olo3LJBK>nk5@0t_J-W5-Mn|} zj;6kCUB1Uy^~swMTXf$v+@X5s+&yle>~}0SFCZKooTeTvoYd|UUFaXaElVv?&6H1B z&M!^5e|M-R8Di?K@2yWS9o=oP)-HZWez$pBgOCO*1TzOy0#|?-3}isq34KR!XY^?w zF-mk)QA33_fjUR@!nDQgB7009Tps)tJ&q%U)CjMQF^eXPq)+Tcedn7YwS3>u?YQS? z<)I5nLB?6cxhqzpX=ZHZKmS_sU1h0gp%`jrlBGQ(BIAw4RIV%iOotWI1}B?ft$F_I zNmZ$4S|yX5wwncyIgj_#HMhK;*?M6+(;3i>!<#-2%MeXy?0Wy~uxtN^OLTibKaK(E zrFM{;ro%#ujCz?aoK%{0=!#F4Rwox*x+Md{s>e3QCRi7v<>`~U zOS@Bbnpu{q%bIWgWcJpA|1+!khh6McR;&&5BI}YyZSdk?y^U^to1o>}Z|E%~7%p@! zN{6mQyG;FzH+!}HvNXcU93-CLttUUt&rwG=b-r=d)p6r}_Yic+*S2g+vvI=^pY6`E z#oELDF|IMSSS_UWrhL;s&>CWwyLR4oxe>TQx;~?}t>M_9+{j$*=y=qZ8!K^F)K%o( znRfX@)mB%pBfDMqM`sVHp`=5-$5rYioz+jS&t=4m=K}2Z^)O$H;57bHBfDPcJ>hsKm!YxXukf7YkeO6NU=U zzd7c%*gra+?dVE%#j!7CFKKdAuHA66+xMYUw`hEAuZ zx$frcvi`|K-MBWLAK0$BKhND>UWw}Y(l44W3{DN^Hx@89UFx}7+dhaNHg8{O9t?#> zJeW7zc1RD6H_1b#2ID!1H9xFxY{YteKQh7U15cGi^Y4(Hp$*?DpU%gXr_^rdb}d(@ zt@Cw-gappmd`<_GaKxA-n1-dC{WV{I?xtQ>WB9j!IQg<$yB>dk{5z0c>#(p%>|yy* zXGiaGcKtH{ut#zuSmn$A>EX&fm;EElJ-VLl?i3%6r_~#V?X~{M`A9f4-HE&;aB8z& zI5E+?NN!pw!eIWI3UXa(5C@`>H!fj%PPJ|_Czz% zCc+GL%?GhOB+2=1o&-s7dZGv763^n#%J7IjcGd#}7$Q(o4%tvrb}s@4@4!G)}?cNu6xtWwPY+56aciJ zG%NrL3>^URNr8R-0ATn4sQ;n?09i1C|DjdEsQ+6A8~_Nn0zm$^jLv8N&n5ktKGFZ3 zLnMU(U_S5AKT}8n_`jvWy9yxwO@rNk@&F=gVlpzHxtgi7xw*Z|R|nVQpF2yR1#phi z+AaV90>(cH43L$B`?+uzv{Kh{)l!h>HFdCKG&XZEF=zC!bNr_s0KW(CCuwKyY7F$S zv$c2O^$;NYFA3gH`k!JZGT?uSxY`JiX(=cJ#T=Z?fgFtNjLc+$@IWAt-`UK9S5;i{ zzu}*E0%TuZT^)IunB3jn8Qs|!9h@zhSa^7Nn3!3aSXmi9B^X>h?OlyM80=lh|5eGq z>k&71F?F_bbhUD@2mVv9v5CVsR{=7ze-!=C^{;lCdszLiCVQ9vHtW+srhhn0ER4)d z|2LScmBs%L>>tj*VE<*;ztr*nQyK3U7jtJZ2Rl1+dso5#^*H~3Y5G5y|J%-g0hO&h z%x$&Atv-=1pEe1yFtf4#H|+n-`oBW8{};-|&itRq|KR)w@*f*`m7J|U8*2QI69rlL znf^az|1HnY^pA)C!{h%7=YN%c##0cUpXq=4h9LYcQgkT*APkTZ7g6^BJM)Dx(jUyc zsNd{du#>TOPNy3}A~2Ol`56u%Z9o+ryXhNe%sv~JTM2EGfi;GMgiQ!R0^Jcu*&!}3 z4?#aL;>c)R{yg>F(u?)+@ukooO-iiwKdW|`x_c_~y`Am2IaF4*35Jppm#02|y zw#_cl`@znTjy;Y53C_z4(%}U``uSej4A$eje-{*N_)-i@4IULhR`5^OdlDFczByM+ z{GuL3jjB(QuqrF$Pjh|C$7w6o`PlkhM$fxbJpif=kJhIK$5-_~)u@XK!(CRY>p~*PrPV%di}Kg)fRq*3ZwI!b1IIzK7gM-2^^=BVC~=vf zop--k$Vi9iq)k6yoyh-MZ$u5;E@rAl3bn?4F!@L84BevJP6!&4T$8ep%YRN z{qmdLIXzX~4P{?y`>x<)lQpPGYd)A1eUOciCL=8z&?2%>sJ%b{-BZL4^>42Vqv1M2 z_PWmJT)+;vCT++e#E^XwMiMO;I`&~ZNU{EBaj#a9{fFLcB>@~oFz=AKdSW; z%Uf;G!QW<59lbc&lyC9*AIDoo2cR2BEvTyfb%g*WRKcfgb8?Jr*a)WJS|toc7+u@- zW+J`|&KkIBy$(r4f0UT5<3!E3?uK##RJLeiXUNS@qTCPiotsNBXLqFg6Nmy%YX23| ze?_(&0AAI9S^>K0_?qz3$Z)Aque`rnr;yr^(?Ipb&puCn{l0@;)cI6%i3}a;OIVU> zr0?B_?C~tmE<~mMT$-<{*HcflIAnxUtu&uHVGwZTr`Is$=kiF5?A50f`uZf%JWjH> z?cde}kTLJ0Dfih_!`gEF-qNIP|7N&wHf#0WzWjNiT)*sM6YhlL*g-A3+BTNokzRFG zhoJPT>!pOjp+08ystIz-zjFR#xPLc0i$c)6c9xi!#wq_Y(cCg+EGh&u($+4~+BfiA z-2pAj|KH&-(jqMg!C4@JjXOnYG#9sxc=goInjpfWnXElOtkIG6q?vIw$YmJ#!E?^P z;e8r!Eb#Pqamv&Kb-t=|Gv#nP3pg4ZunO+Ov6GHUox0T{AzJ@fI3RROZUqC&pj0cR zJsde7h--@W8~ZpuUTuH0Ymrhr(4!BnCM&W+*+Eg@hh(>Dbv(_NBy3u>nO;i^v4|dc7y**?LUSnRS-a1Qk)6~aVVAElzB2h z&O^pcR~VO0x3{9V@fE`7S|oT6NvYo&0wi5cV?lFvQjH+(y!Z@bQ4TA5Xr~~9d>t_sB^+1+ zMc)Or1VPBG8^M8QvUS@Eo^<$B7={;|bd4=`BpjwOgiX=@l9VjtYv#QD8Z8o^yUg`8 zapEF}_W+e3qF49%EZT8&yt2C7)0w;{mvu-<%Xir?N3sQK2K)toIkdhz7F{DtYQr=| zz2M_qA2U(DAuTQOBd7Vd_`!*gt`C>|l63&?ej8qYI_tWmVNiPiYUwW!O7xYh%<5%c zcvv9gI=AYHSYDp}qA(QjlKQeNxkCn(xQYL4u1g}H90lnNRHuVF>ZBIbs*^`dW4{^- z=BQOgBGn}fbq+RKZ{#TiB?Y=MM$A4i;!?CR$S1EyLCbjCHV@2m$x$rxhjz2GTxn`- zQKlH{~SaGTvdf8JY zaxyo;vxW2glw)-(> zAlz)rDxDd~LdA9n?u0kMf^~!O3n6v?{U%~BqTUGGKAZk+rZ@f~l2}D08@zkFP*}77 z^ZM5M-lC;M0UxBEFTN>(j?fEWOODH}y|uB~TZC-IqC<=%46MAaGeohMcxI2To=ggV z?chjG?H~wGhLwj#6g;tQ{SW2Sjc~{7S{31n{w&am^j*~gx)MYBH^bL_I3_+9%-(`c zC<-Z;fe~? zq(2%U_{3=z)JR5p2p^ED7BW+U?FM0!@yE(U3#NCRi(h=#&nFzS>xU?BRbgT_VNm+q zRpa&*;5z!p2$U;FS>7K`@)a!h)`T1KCg*F3o6bA=$bKg?^O)*6P*L|)Ts~%Dopm;g ze&L1Bjv~0Y;j1>QS-!TyD+~S~g*BOYx3lP6Z2?O9oQY;O!SdYLxz%gy+1^y+2>~)L z$lN$zjtCIN$h0(6v&tfL%0kr%doq6^65FMG_)ummgV1><&ihv>lX1Hy`sbzu{Iopna8Y1ZUVmt01`@?p?!4dVIVEH6kki2#`>7(L z=mj|1eizR<(UyT3X0pLew{dk@pvX7f>F9#v7>8}3Q(axA1xwIqsAxsv?q6>2>TnLQ zhdMl?!-fzJheKT6{SyvD(w?~fExc3)=6vFw>)G^k3+A9xkiTDKFMaqmBTONj^M3P3 zhYyjB5|;x~zm(B-+`|JKh7Dt!lo^?yt)^r13C~=klP;g&9Em@+;p&W|;#Z2R$4dm; z*a7E#4W^ty|EZKTOJu zJx<`~p3Y*4`m0nR`AK^j3Hyt`tQ=o&qstm4hIJnV`(1>)S>vSbjGfaVY_4T9ECC!=(3{AJw6Gr{e|F)baU@^y-T8Cvyn$Ca%pD&G zmp0R^X67Xsv;Ozh?TNWwaX07nA>T3?*FecR<8!7B-L8s+nKck&!T$sg|{k zM?48ww1g5<04!f;g^U}{j#{gRL-Cvghs<0e^c~sx-3hU}WCaTEf_P_omycu{254d?uKAMH^iG@n#d z5A|EYTmojJ)Ag{$?>IM8O1%&vHX1$bk}x@#KkMu`^6dyxAtUC+#U&8m#sw{BMY#>| zrtnDCF!(YfF&r7DKXL5!LGxDE@jWD>v>)m=R<9zSxs|sLd$q?T*O5zNep7`*IJ-l zAx=rkZCS2omxcQ3`n?%*6fTqANIxfMYV4-3d=(G3b7Un@4?dL(AyP%H>y)2^*ov&8 zRu@BPw|P2dQ8zh4*c_M2uY+6S-DA!5>HYx2d?S}_zdO@O74b#Aoy!>YaGA5nh0qi? z&PD+@THagCWFX9ul;Cjq?xeo!hr~rDG1W&TIZ}Vn+d-U_)9fr>-1`dgr1)I;YqqsW zPugQJx%+Tj9WKDSTuUeAPKjGpnF=tZN=FN`;-u@0ZIYlxg{in(lvg7)5jlg2?h#^SP+4{_4-J{5JNl?6(7?!jBeM&qWgal~^eWNg zVUxj@k4tx$99j;4mou5R<)RD z=Dy_{tXMuGV-b+&Pd0=<8M*02oIPC-KF!Q)RR#(J;m$MtWI_m7B%L>~`#qe@y&d`< zt+0a|_B^IKCLjA3a?@i)^`wC6FaDP0KSmg59e$1F_EoH#B z!d)}_Lzs6(A($tdVV0qyCw)ci>fsmC7krv>eY)e*zR7P_ibqZY55O=>ub)~cC7iZr z=rwxVKQJ|$`^jehCN!NAO*IIhR)nYndk&YI-Jg509DTl=PUvJUE+O9LGzL%)%GtS3 zDkf;!XM)x)vMK6!yxv;SZhoC7AB>YsCGnLF$v_AnrR|Qg*MN}C-ckwkzIr%}kNq(1 zY%L0Ha5q4LoE3`6$iJ4u+0M4 zbh%56jDg-Kz~Ynka(z%9IZy_x=9n@-ya}UG>^dt##$UC4Ha(bWeD(eyBVnTI8#a@Up^c z1RwSjUT6#TsJs|4rSYt}VB}A2j((I#DYEp@UdO`>+)P{o+p#G(LA3Ww_q6o2{4=~n zT%crs+@Q;Q`^LagH*WKx2(Px5)_?@$m^32oD77v*LIAyrGauYE=!RhgB8ig{=^HE9 zJw5eY40zhQpY_*1DH&XBr=i~47HRo4Sku-i<>S$ckH(5-PDG<(mFec;Az8#-Yj6w6 zAF=I!lt)IX-O;h-CKK}3bWDgT$>`@y@w+SvW6?+iv)y3%91vkPXa`~k4#qr-_rEW| znD1P+W&Dr_zT>vV8P)pQcx6n4?zdq^pMpYY26*O=hM~uhXn>r#dnrO=qtA%HIADe1 zcqCx?u-<(V>Z8V>J9yZ1?78Xmr@)C*yns+_G7SQ;!UUE-y=?jdT-b&tsY_DB*!ozq zN5tn1$6!%u7ZGj4 zp2_YJ!}AT1M4y_O#5+5SmKYvpehVlVx)Ocq#@!>h9wZMQxFlJ@x>=l3RY$6|B@;#JgzIxM<^tyhxsw)IcVP6uaFqh8_BzkWI2MW`GiNdEWr^*G?d&a2FX#j&4L+LwCNoGsA;8p>fZ5M6YDYA*UHtF!~r`Fa##Aaz0(; zh|9zvrX9>V^3$zaL9Tn$^-AC6J6LRQ5PMYju5*FE^El|Ium5PtJmk-M^ zNc(_pSd@pRSOkXBLy$ECT&x|&qmuJ|8PrsZd15*z`Xb?+$GZ}53@^>c#SAgOF=Fu& zWh%Wo7eu`7bL<_oN?2L+^2C7cohL~?S;~vD4+ugq$zDq}3$*DFZ>dwNcx0Xrjt`Ho zU`R6Ko0eHbfKBvZgjDjN{%~L%1cb!XF&8D9Y02nk{*lU}!r#mWMTY%C@`pugp2#kU zET(vxA(7i_t51JsYBdGgrx4k=fL@f7ZDr+CG*#J3fb4{^xzWftE9PE|uKJJzwrdXDz7X*w z12SEVbs(}E+v%LKk_*I719twiMx_oPgW~#k`62e-!XjQz6uakD8YlEA87vt~(!8ZW za=NP@mE>mr#mPycYyg|Drz#kAFHlD3~stJti3 z(Q`qcTn`aVJ+N@LN2lvty?-0TTR*PoAx%HBsFh|l5=>Z;sGGOi|0QZ-Sg!dYPe_MV z+5eF~n*Tw&j=#H3i}EhsB}9DgfdV>|^L=xV40)KOdmY@Hg zI?a$r>$78OO5j930^GekYA!)zzz5oH*JZ4469S)(e+Q{rm38*P1s948{5_c+vmxnjys#eN*YWS>`UxmBe6Se08OFE3$=U?kX5UGPk9Svxj`@NOy$}g%3QDNK zZ*_Klu+WT|sN^$WZMv_xz~8=sNejKP7Zpw`A|_@oE0%=#Q;s!ZUr!L>kdu%AXu>`y z)G+pQCna{HM{Ut47d}>W$OJ2@^W=7EOaAs7XPZjV^jJh1f~}gOuJ(djiaUT&Ik@G0 zZ=Nx5Y%J3gV0acp;ze&~Lm5}`zNyY`ULi5VAtQpE5L)~wyIqhON`2fa(GL=$Gj4r5 z{)#3UW+s8Xjpbn9Ixiec&qC}ANbn(FzPFX(nGgHRKpEs08+OI9M9h{$#uy$Mm6L-% zfV%UGkw9Q;pcq58#7kWIyJeU%<1YAKZq4|njfln|v&{T@s-bB+y2KT&3HpHfZaiO8 z(xJ(qS+5oCMc{Zt@P2fRVo*;{^9KYDXQZIn#u`~wj~XFZvu0GQh{$ST6=er3A62}+ z4)7!K0AGpgKz)=>GcFn8tFDmGZG#>Ujcm8?Ca(7T9|O2*tD(CvjnH=?n4riHAMbcQ z_e1Fp4mQ=ijV}}=>pTi%Vh}8pFJtaIcK2+$2cKsw_HUq0RO4BASt!K~bkY%e4sPzg zV1OVQ?wDb(db*Ms)|i(<$p|AI;D+*bB}3()4}W6co&5An{W{HkMDmtu_nh;wNn>+4 zn8D96IzKeHSA3ATAjNF(Bu6pS9LW5W(Sv4?T3iw*9x>g}kgX&7>=0t!N4ooK5)1AJ z;#$a(^C>RmF)kS_+I>BvY`TM6(gq>o=8-@rR#BqYu~tWtB^Bc@vnw82a~uF~0Ezc~ zwWh_`tYVXHG}euuI=1E$s8jMsNXr`Y466VR659%1ixA=6SA1ce_aCH6#P7_yg3H>o zsW?B_3}3G|`S(x=NH22_--rfpvL7DCZL$$2L&V$_NAxzX-oNtK1?Zz2522t?DvC=l z75nMaEVl!q_xA>WofYXU3Cm1d3=AMKBTnHnHMSX$I<;*8FAY38);V1&`FUyN;6+6# z8h?Jl7xs`*jpwMdG>zp}Wq!g6hUFC9&4&Lu$cs3|lYzO2xi~5U(a4bjMb-&ba?*$dg$^C$ zDI-~;-fzg$*AvbSF_T#)qJtM0S&D9V97|+w5h@3Fce!*JENoI;(u~Lmif2%8P@-q> zNc$C?bS{ukwov%arn2}|{%hh0MqA@Upm-gvT?##FpnkhQ_`$a9lMiYEn{rs|p@!#v zvrqe%QQnq4bVOD@7LloVq$FJVq*_ryHps+l~f!S3og0HIa-yw0DS-P6!Y+M7t9dJ{ln~7Pmc5&k*P>Ogq(U5`_K$ zEV(9?p6(yf1%H0*3qhq1DCmsvA_=^S?*$3sB>m~{eVjoGO@bhsva9uyU)L4hM+pE; z%OfZI7v#}eUzK(Tf3eWzLf@GJpMjIYk1sY@3RYGj!-;Pl_~ih@?1ec%3tnQbr`G_I z2p#!D{{7~##JS0CEIR z$szpbnQ3m9X3)YBxj zIcf;`yo!ASu zmz%9b6K0ar9k4E|8fRt_5VxHclw)mEAtCUpM-pF~_2dOQO10osP%Mj>YzIBuGWbMs z`;k)v+l%t;`mf^&5tfnr8uW6E1;?|d&;=I+sIo%vyur_P0x|HaonV?Pk zdDF~0`>>>qCwk#UziT1p-LK&}sUp#w2Qv{S-OTD}BV!R)$uyk%f#!};XGEC5!`l*NboLEBIA?=ELLHT8o zb96r6A&I7Ejoy@Gnc9DJkk0u!(D|?23u2pbsbhC(NEE_aAS>h0ikK}a2m#n7B*Y|E z#M0>Ua?tn%hT`wewE4V)Q2LgyN3S%@$or*XTHpa61uZOu*ywLQF2$72X*^TtMpi`O zkC%mwCN7fDJvpLWaulkIVL={x7m_E@DW6@rr-Llfr!)$qX3IuKe*$nFDx(=vE&*^sp%70Csc|ARL z3}FMM6YFY8qPJ5xQv0c~P)WErl$WMAp1yl%&EM|brL{YDc{qv1!NnpQVqa#IoXruW zA@v`d?-4C;N6!VaeymE4P91daF><+x#j}H^5`Z(}>>LFbS!Rd^inrkcDFhP%HiQDN zJG{X}RQU*m^S*!x`02Uq1XSw?)V5NY3~5KrOWMSfjGA;Y6Op9e^AvDYRC`lS6YKKWi zvSjn$H#cO#Rse2YiWK#y|7mY^F1##c7SM7E+6fB6(u?DF^iBqqqaIK$p2c8M54)8J z5P8B6nsGo4TyaXz`ef?{Fu{_+vA{xW*fb$S7DGUW5!ItT;lo+|MoYj<^CqDj!cXCY zC@I1Pg*w#2zor#VPWG1ML9yCm2LoSg3>>J0WZg4Acq+1$5hKQhzhVF*R z#U@2FjH1d?>=t}D+^qaB0yqdMoXnGx31_V$4nCM;`mr}SM!zs)BqXq|NQp_#Xj7q< zIkZ?A7g3?HyP7?-+r3}2!qd-4+K~I+U=EOD_LH*LQ zOdL~%{pU8=F4P$e^y1D)Op%K9?dFI9D+$gjw2g|pVdeUu`>i+Mbl4SjjZz--bfzpB z$g#gm0rN%;i?OKD%Jirm8Y;rfj3V-uY78b_q;z73KgRRTEJYizWNbV%hj#Wjeoqwd zHc3t)#30OnJgnCRS+Ic}*fJ;r&V#R-x$r`JwelA>@)vkXz#BrD3y9@m^EL1$98Kp; zEIVG5fL~9QimxGH?}WdyB76-9c2HCamZal$VbUse7s{k^XfeNni#k9X2RC?pdK~Nt zjBnKPnJ>1E;`S>LXtdi_mY@k+v(y4Hgftx5N}E)w_KOrS*@Y)_C{=4`Ytl{EO{Z&i zhXjDfzEf6kNCe&u6(QSahd3c21Zmu*JC-QuK?L$NvX}}w9z0^kIAX${841p4{1L$| zngkyiMsRZlLmCdoJVckBVRXXq!Iw=fh)m3krQ|0% z4oHfb>(!BNNOa%@?NQc4D1g%|w1Q>^vl(|V%iq@s|kBcn~2v( z!(oK2NP934oT)~T+F!rXkkgbPjzSM9CO>e)=G5hYgim%Kg@lL|!v+j`TF9r}Fwe_B z-!{nbuo)3!AYa2`yxIn3d<*CsG0=N9(_jo{lf@aua^2s7bXZES^sYbon6#+p3075dB$~Kr*d%DzETsbfubb~umK49r zF=KMW=%!`nbHzG;LeGBg`VVtLeu(^1Q|Y9{Mz^*fMkuL9xY`|4Z8LY&-hJFI<7vUvyEwKJ3-6uN>8c>D7pu{UNCxK2xjw7a{=|1w;BPQF%J)wHtr#hCYw58*u7rTD*)3A^@?#nv)yvg@e(^ zlua=k-g`Q`G?M1bC6c)LHKTH|JiHF)P(plI22ua~2*$ffHm__V5JQroQQ}%gI3ZJC zGMmYUIp`4#d@&1= zokdXh0ukJCT7w?H2UF+5eFNIMjFbY;7l6L>BrHc!A$;V781Hc#C3la^+A)K;x1)Z; z?|nW;#R`vo7w947c^e)Hr`RFd!JLF~-5Eixo#1x7P|-d@18vYu-Krb`dzoBA3-H2_ zD-vi%7_j^B()nyjt=n>>=iprXo7d%H6UBbSx zFpF)une?}xojgKYx3PVXJ3F4G9xPJeXSpb+QQHmM8)LzD9yTBYdP$7B(x8Q1S5Cz0&2wGZld4+DKIn`nvdFGE%;@v&)~_!KSF zxvFj9v)=EYpRU?u^z_>G0^J+A+a-$~G>Vntpga7i$`$WTk&EC0;tKJK9hLsptdmTE zg@<@RKY`o}#xMtdQC+4$E8cSu7O()dP41vT(dsR`PMjDWCX!o|CqDgg&$8Of-OWi5 zYE@H0F_bVw%RGy?l_={x6>6gLT*cW4`W;4ynCz+FxU-R-yPHuR*w&?np-1Mp>xzi0 zeel(00GO6Y8AtDLB8PD-!-8v6-Hx~8{ok8#c_|qZr0oQ>7+**~Ur8_0k@`Nip`eWE z9kUsDYlOW*uPsp|L|vaBhh~WPFWN`axLcGA8YQ(Ab-53@ys+d<6Oq!|#Kj=uI z@{p|#k6`G2KLUxu)U7Z_#wH``0g!ealw)?kQ)7D}eU`e+Zi_(Q@GHl)Lg_}g`IgDb z@9sLA(I*+j;3#Nq&3u_H1VY`uAWzW5zH)*XG85<>1_3wF5u965wc8=#aM80$w>LPe zy*f2DRN%>%#;3`%)Qb;vFjexK-F)P~64sqlcu0bWJpK@xpe5uQG8~x?Wk?)g+b zb*Vp9?4_YH^Faow1vaG`m+Hqb*mY0r+vR4dngV2oOY~7rw#Q%S0*zy90`snT8F9C< zBfNkt?Jhd}t$!fQ54xR?jXMl}X9b4#d;VtP2Yd;S7ZLrFh@v?ACBfqQfUSyO+1lsm z4l=U8;4c{En<_o5J@macu;u#|Oj%T5!-}+WWtMt8t3!x7H%`bSbXTR)LKKH|bCewz z0zekTW1uV%I_vT$)Zf9rX~k2^7dM2YCbB%t!}QNiER%h0P>7?YL8@M?h}Wf%xyTP9 z>YiTDcp>dnOIIT=H_=EEhvLz-Z3-NG zP&^6pO^V1^&S1Nycec@uwQtx%;f|<9`8nB)Po37KEd}tZW0DoC+Xsp<>AtBNs4%jI zH@}CG3z0cZqZ3oE0rS$x#_5qr#uTf36jQc_pp^PTMV~8q4)id)USC1%z0cJL(${=b zVa#k}DIcq`9VS%MxlULd1ikL?WX%fbYhG-IvpEUeEq9fhXlIr9))L5v3Y;YQOY2`| z7&JQ)IIcDD32ufl*K5jDDIg_@w;o6<70hS6;YfOVYc2ctcJ3eW=keg_vA7sjER@Pn z7MOi{Fy9hIQ*5AcmKbW66MHj)Jlw@tQv&VA*j#V}$7zpw}*<1FGsK>VQBeC-Z!#=P;7SnYQ(KQ5M#s1W4FEgTY zfg4i`>4?8%Y*3W%IeY|r&1O-2gR({l1k$=2k@mUcFSnekklZ?1Pku@8I4Z1j7be@p z`8?kuS5{X}0KT5Pvz{LA8EU8CShSE|sQH2yVw$6if?aT4JSos#IdaBoyN<*fIfVo*m- zz8xjQ%1YX|KDYCYerjt21&jM`sXH!HV4*ht)r_O*e8sV;MEyH#{R!6l*E*1>R~wd@ z>GNeb^Q_h!o66N+_vwU=lbJdc1*7pRo`{K_IIbcYXk;VdU0H~|Fw(A%yH`%n%K|ys zZ@$(U{N6{lMwJvm=OdC5zW+26PbHPr-3Y!zxuNBP6r;K1qNS0k@ zK^+`LI0Rveu)?EtnH($E4XIJ)BzaaaqZoZR1AyBJpZt1I!4+D)eQA~`^jAk+o z=T5DLk!P)>a>qE+vhjqw5J)SF7}+RZU|1rbA-H(GZ4#t~<&9y7s)Q5dcgSxrt z3|1SLw*mbOjFN)TAwlTpM~`GxqXeLr5&!T}oZCON&6WJC-%^owM9O~T?d*rM>mQsT zhQDU8^0J8FgSbFYl=KLePR6ejT=ne@NEoyZNU9tP5mc-hA`s|YRSC+qQO{<7xiw;r z6tnNPGoP(eDt@d|&}X0|7*LB6^bORy{&CELj^`wRpn=@dqof4Wx@-GQbohg&(fI?) z^x*rn^TCIYD&PhS2sKa}4=v&L-Lq9}`}e}M(e!gk%c4;~FR*MN3i_|nR8%QnO+RWw z9PUl#w=sk|{fxOhtA=y8MN+sH9v8fs%obcB#BWDW_n(tdB@FcO1bI9To0Cg}d0OY6 zmCysS1j#DKpY2elLf7HnfMdOC_&Hso0<=JDW_XN ztz{dkxiBGHG1?8Lyv!+C*)9Qi31N%$*%+FS#vg3&s2AX|AAiTrspKgdsbnd-&Ook~hP( z67CeZ4`WI`q)NZfo!%b5z~7x#?(6HW7_{zx?IF_#zP8Z?-{gHj7lD%#7Q~U0!D}?6 zl;(3=E-*O6wR76gr=JnlcF_2i5`lHwm!b?8=(mga2wIuK0$*mRAzqE=fcVVE#Le)crW z-ivmj(SE+Os{dGkBY620nPMoP;vyeixr6D8zIp#6ugLXm2!Oq&p~ehT`{$ zmyvGeE4YKDQh)Z8W$=KaVsx5&gO}1Utrh(p6VIcQ-b7f68Kyx1E)SVJc5Hkqj>sxi z!0(jwg`ETJobxCgbAtds(l5lDA^Wa8B}1pAb~^~diNBwGe7z$RInA~uvZ@8gpc)nX z$5mNa2_Vf`S~<5Q{IDS`yXC(#;DDf!sK{w%<)1GOOmvGjhP51Pg24F+SK_9-(^@`3( z;Hgi9ROwlIJdKHm%+)>3k)qBW(3u&SR2=5t27fb_eM7^kqhwfrSjcE1^L=Pqy*H1m z6fL=z^-c@*G~MEI2;Li;MMDS%tD9gNA3_(`od9C0+zfm`<^rB;m3KV&mXXq~V)p{bgsi9(F_}DE!mu5;*^wJwXBxarCcz zubi_>^=7MISXl*!n2}%2xWUirhz{ySp)2wUqK~Mh9o|Se_Ti8#VMzjyq(jU%R}<2| z4rn5O6jDR{O~u>7P1u1?D7s{lPTWW^dOt0HQvMQ1^t#gYm*NAlUvQXn@_pbYn=_0* z!L>=~n=zzND++V`nOF_EiIhy_iBhgdvwZ~5-tPBm#z2JAr0d^#e@CA!b;|7dE_dcF zgDVtxaO-2&K0j}MB$nB6sfQYW9F9Bj&n9(>@eAjlr#*3+g6G-2?53KVdPatOsw5sr z=D3|%4YTFEm@i8rA;V63-y08^596(IYE!Cl$s-7DHY2UQo2;=nniG4v5)O|;P6Spi zkB$Tf97CLSJF3`?!E)&;wSWHC#x)x7U{l0wA6o2tW6CRo>%!fmY}f<0R4o}c3WBBl zf5`g_rnsVJZ5R%OAi*WLySuvtw-A!xZo%C>L4yw(Ji&vz4esvF4DLF(=bhZ=+)v2) z3Ex*m)l@BJ?^%2G>R#Pf_tiV=ksrb9eE#w+(S}bu63`5jgUo zWP;zzBU~YD6nZy(BUP_nd0sUsIe#FC2~+Sk<^o?>#kQ?*BgtySDSZ>LUCVE?OTN7S zwN)o@13ZnIYC^O@rTxZNhclq;zsSG_5|l4X%`omfMK>V)K@W=eJbkpeO}=)nFm?zZ z7rEUV9VJ3y3y#Kb8@|nPZ)rddP1`_qwOMFIE5g6jv^NlxA?;lHHf^RC)YHLe6Y;e4 zYQq%N`u-N1aK6oeL#g)`m}Q@irnWj_(1v`G)oFM{b^WUMV?E;^>ti28A1$L34Aa(#3srzId?aKI z-0EO(I-9D$8ngRoSn|18e|#-o!CGOADHV;N8j`&`{;x-JN^vAALNYoh~>gM&5o>e)?$A_RVWY_)Y{zQd-FHjyOV&#JniwI9J*c;L^NQZq> zDnN89C&mPKt#YTH+ZB7(%-oR+@{XW=18GBX4ECeQ4S_yt3>7RB*25M~bG(cJN2bq67>xgUM1FNJ|EKp4Ra`@^Enz#~^qq{$78UD)@X-FQDq12ykYJUmT_RY0RJ1~!l- zeXvupWszLkpPFFaW0&x*lS6VB5Pg4LJIGMwar-__JMj0zp(~3ruJJr{c3c0BJ$yeG z#O9&7<4+sSk*7ENFLMfC}QDpns^HML~Cg$Cb zDnWkQu=?a$VGS}J2FQ~@SVxX!51+IYM_mc z9qK$wm}sUc96gC~i+U3ueh5IMF3?2oRqAUR#YLREQ2v8&@3Bccq#1(O=iP}HXcu^6 zER%g>%;iE2n+;d;-)6jbd8#Qz*<%!<;p*e<(ff%%d}3qIB^IlgCDUO}3|@*g$@aff4?y&%GNu zr+dSiTG4!afmuE&>P-IgT6QkH^rL0Lt@{P@A*yeO5h&n8Lt44B4Y>`xJ&`bo-ua-_rCT7?(~-Ksk3D7SL0iNlT;RA*4@?AEda&kkDQjD-mflCIxVNM)B0BJy zu`9a=efdJi^C;WSOpM?tyzf7%5*2IX*YyLb>bIIxz6>V55*$4<^NFm~`P*m&$vf>( z-jk!DzL&v@<&3DKL4`QV!SJmNcB7s@s1kBKYow```P<{WKdIU1BZ-YSqV_4i^C+0} zkwEwbe6Is@Y?p`uk#8~#tB{hQZY)(dTbI_1Js?jX6yI}#)ikA$?(s1SVnc36RbT{s zJHY(5Sd=otG>P=JFq8ah#v^BPm2_vq^H9@wCFe>uue%qmVbwo*Z|oA-3LzVDxWe(=Xp<&BBJ=bgxI{v>kYCC>2Fer!jSZ7^t#a;e(}$aWlO0jJ$F33L zUEGi><|5f?QJ#scI=x}VZ2{HFgD7h;EQMA=-VPY^S_AQwVeu2Q%z~0a6zl^{?{L(H=m@!#W6j|zM zhU&>}lhtvA{}TBAa8^}};1W(#2c78}x;zY4NWQ5zI9ks>XLgapDtM3_8S*=~tm(SR zVvpyt~^Q2$kVlilOMv5jHn1Mp;9dC@J8kJ>F6_4g8b*aA%0 zuF!?ccb18(9+fwYlf}^TvHL;R??YSx6t}{lyo}Adht4JQbh8H=wXcyc_O4y-WYEWp z;-B9`iWG+I79z_yc~C;@w^Z_ltf#Ppj_qclX3bFi@RkDIPre*wi)KKB;>4lQWwpB>jhIp2&OQ(&ORX^iNSVTw2LX#-OPQ_bPM@meE z@BR>|-3I-e1?_DQjDkR-OCC4F4#)XZpn|%(ZOxrbtV+?0I3cQI){-f(=LyPE*8NlO z7U}5Yf(Y9zNI&B^^DzDR3asOQaWYU|?*|)u3g4zETJC>WXbkpu127c&KWIM`@xOj>iVaa%bm#Pwrfz{)&Mv@LwOD~^0;t! zzU@V6MDRO2#J$&O!>P?nJsSKl&ky}->2L7*d2frDXnf^){D-5fC>1DEp|ls^7iw+)Bf8SEE?-PDj&H@f0XNV+sU@ z(u$w{(2C2NPkG6Xk2BY6{Xn4QtWvRS{*0^9d*;>GasTZF0PeirK8`Fdzm8lI@w>KA zb@bZkQ*Vej+hNu)INvYzw|_)^`@LClD87YGC=J1#@7m&EEbSmX$m{`H+Ds4{HT1Zz zEZ}u+vT-q+RsZB2F-CO#lsl8fKCI~9B`{>PQK6w~ry{h|f@)H(!UuM@I5{4hszyBk zE_xUEtGbCay6?0Jc@t^aA7AW5Wwmzi9M7pg%#P~Y;_Hhn2!L8HH%RlLTCg`cYI)*! z;&aU6=kBg*WVtf{4sms_9y``JXoE6krpUy2OIjBBKXh8hjsJ6`eQUQ2Z+C?D5vWSg zrhjgDZ~~2>GOPjg(s*X13_ZxRgWNr) ztCQY8Kc)VE{>C?1p9h2l1*5||`}%fLEPS8$cz|{zAVrMDMU!USec9>7Y;sv8ieDn+ zv=p!7KEZ|J-`d)ToKc#_#XRMfuPVl^B2?ht@_b35mlMM+E(&$WaH^hi;n`z5H2t80 zJHlHtlaOOxT3Xs#?fAOgx5Hu5D<>lp;#lnm46LPV12+gf@}IQG>pcGLAMvNzzy&(Y zH=>N1x~4{D%9oEyrkVWToBgjXu5~ZAkB{4$cSN!E({8u7%{`xPceV!TvJ#S#aJ#mp zBqcY?nvVh2WsNcqk1bP46_7VLIC6G&Wy2Xl^-Sd|^@oQx@gc5Cs;bE~HQe{~-dBfl z6&36R0#3P*0sxrx^M%aw{Qx5ykaiI3{#t%-kfjmeo2wwoR+P+zC28hn{&Sd=2wi3S zY(shd=+x$+s~SDGD@iUMeG;7dBp2OclE?e1@A50UXeRwpYO-F%&s%U9k{gCG;9D};`JM0M z-cA(XOA{_-_mQ9BXgN&#Y59&3RC#FsT5}nGDX{X}*Rz_L0FTZ>mCUT_vU{)vfOW`} z%#2UhiejO~s(ZbYFo2wPzSWnk!qvS9x4V-Cb>tMq4-O8@HhQBt-3~PyAFr0omKz*t zZ-Y$%7lAgt#9ayf}ExU-G=2aB0K7drWNIUJmD~gm0OW5L) zk#|-sJ}j{TELRCGcs6{{Ce-PkTTva&$Y2fh>uWooc~cac)_Qv!nO#*ii7_3HO{X9! zDXCE-FE7t&IZ3_o>Ep*4vlS3365B}gNvrh-g5$Q|ex4gqe7U)~-6gOkLXYo)zvP#e zDr@WL&~R`}6snZyHP6lqJrW{6K5KyhJr~&N5#MPqO)s+g-#moL>1GpmoXg%1(e$rq z^is=ytEoZOECV(&T&G-A|NOccsERh!*4m_e?C)CqaCq(`ABK|D(!+C>;eI7|mjXvM zqX(rlVXU%2D4wcl3UpaL{F*mw!*m}8Nj)7ODX=XJ8Vs@!%cD~07~bs@Vqh3fBiqOq zT8RraL0aj$8t_%6rGw*MtBV9;ZS3xTUZ^zbbCj_40cy+JDJw_Gk9pPIR*!jod}cxa zqwXFa9ajKBjy^8&FW!Z%AFn=e5Be6P56!2L$AZx;ORPD=b>1xB)uDaI!=_hM?=q8D zXh_FgWAhuI(`yt^-G;l9`|MpjjB=eEDkj2=s$7Z%CvS%wcKM5_U{Fu7cfh-$46HT3 z1A8f-*Fj3qi`Px>NVBF}X&f9B5<(cxoK<9^qoG0PeSMsGd%i>Dt=dQ_u(fYESEkqN z|LIc_#O-{9Z)hV%j5Pv}?O5<<{`AEBfG1X7P|Ca=5ay(#_( z<_0kqPX$UmPCxUCdm$Fy+i3bxdVUR|$d-<->vsbtCM{LckB_T3p~X9q33>0dvTv(^ zYT6P>41u;Un9!mS6S>yhJZ(}wXiO7|MHV!HYo`om#udyAlYPmayp%myBuYz56J<#~ zyVJwOYlAHyRRl9ApXq(0!ot|uDjuJ%+mgR?StvL-RLF|xe|b9-#JA$3Zr6NN#~OY* zU8GLK$@#v{c8PYXK$Q=|iS|p-W~CJrt6xU{UR`~wKHxQ~F zGdoW`6*S3L2u#eEk(PD^Ri9GlP*;C?)j=={);UX0PNpmVR0`M{N+$ZE_z|&nS0)_N zq=eGwtP3=rpY%9^65`qFgI-S;ac8?xGiMoX zM@cQWQD+lLuQ3Z55~Se=2bV15WOP$7GG>RNQ9VBO6IO+ zdRD!>Yr<1e1gLTRn8bX;><=_=@&QsAWQwur(H8U#Mhk5?L~*^^M?MisH72WYP^+I#;}zg4MKR^MgDGE2(UTelI2&fib7J zN-`V|{8Kcc7*YtM1399Tjd23BQ3C(|bYHU{roR1Th3Pbi?MU8gXmBtRC%G?mB#los zH8nL-WPk~Y^)jfaQ~b=@;Ju0Nhb%)6!n@kNcRx$I=h}bz|7~vsRb>}A`pw#ISAx-{ zH&4VN#3LDLjUGhqTY9AOsg~*K(Vr3!mm0=0(@|;-lV$zVI~5|7#o2zN5U#nhWsk(L zJXmD;(h7rz{j{Qfq0Gjvf*rb0w{x(djmNfM3Ebrw0W;TG+1U8lh8OrRemy&-pqkcz z=yLYSd6ZSXGZ5LwVgy55wR<|FOKW|oVs@n0vYg^dy@%G%dI$qdR4&G16V7O$y@5b} zIP^Ia@Y6uSh|Kq5g4MqcW7gl%u`+HmKR4G!-m;YF@%_3Y$qLldKpbFJ4VF_;snd^c z-rm_st1&h)iNVey+tFfq{`k;f770$bN)KZlyWcj821s2^T|8a1)k0@tpnEWyVRVSV zwA+_~G8K(wkU6A?jkoh&s0F{|5ffY#N4i<1+@(oB-KL^(m@E)TM4ezY83UCRdpdb+^LO4IQDH<-qk zLG&n{T#XK=Njbi{YNT_rdfff^&(A@{X9EXJI&HFei&QE^c~|o93gcipWSsEeIOlsl z@3i$NN{4>|Lj!#I;-}1yf3I+Xc3l#3IgoMA|9AYwA5Z!P2G8q%b@9g^Z~TW2Unb@hqcpD}8&(j(1La`P1-Px#Z zrGLj?U_fX2g4_z{Uvx+c5BgA2^>*AA|Bk;5fX));g<8)4ae15mJXDiwj)3~Vhue!k zvwRUo82nE#*FG){eW>wLqLJ_aj=%U5PrMMHrvGs@hky+b6 zPGqBvc|^IaAYIQ!_JHhnwk&uPbs9Jd2nAeiMJAWv)d6MEDRAc zUACYqmqe$M?xBRQ(`v$eDe+fiO&F(s`6sU@@0DF$YY!Ky`;?aV_Vz;9-@JJv@8VJe z_v#hFq(t~?zH(ZSpZrg`7hk@9&4W79P`?IB{_n`u(bP<#Ao%$4V<*{wl$O?a$e6XK zXJcFn$MO8Urjd4J47ALIx;s}2784JTE-^7Nq;Pg-MqWZ9u(3eL+Pav6S}6;Tl7mA{ zQc6nMh=`ET6dJ!&`P@2DER2kd@Z9E#f#ZXysi{-WI8=IjF5&@z$lr^L+VS>D2mNtW zofgI&+$sLs!Dhz#-^CPmcaygSzMFRjA<=>i9``kzE@w1`F7~FB{Te)s^ly}W z;okD{;q1%Dpl0P3KqO{FS15X#Q>6`c7&H0+Z8$kcI;WXJR@ipgWvkpfEz#bt zyF3Ap)9lI}k%Oe82dKl#OP%~S`6$S-a>Q9eg4ol*z`*|0s3AR_cq%D{Z9DiV);8iO z^eE)|kZ73eTv2j_cc5xQ|5?n{fN^@yFf1Nu6yCFw<hD5OtXxmj}3qx-mv-D=0NJyo zxHt;?mdhlHcDA;MstRxezGkgeB1Kq?=v^U1YFK_%&PUb!HcU*O<{+3luKRR^Z-v|T z3x2hoW_`E+@25xF6Pux7IwU3t#lntpFfw6M%=NM@xusb~HEJbGTzhX{Us|2ai_-4o zhN_l|BTkaufva06Xp!O~ml}>LUuPTBo#|;ox;F|e(SdUL%rX~_cSC)@*nYQ7IC?TQ zUeZf@@BQDi721oEef8VV^b3X-N-e4dD$Gr4WlCvELuGUGdI!;AU6=eZ-*40`%X~MdX`y=TJD{k-))Zet8kk7B!=J| zl5ipjRxhAhzH=02oPw7n6Ep7 zk+%-3$9TsQfN|uUz6uiZRdROn`kz%PyKG&X;tMgv6yyo$Mg}OGX*nK@Jhj}mgKte* zKpq=WPEf~)&{&p%MSi9WU5pt|*CBBDJ69iu_Vyfr8Ni-&kfdW5muA;AusX)CCEFdw zNJE{@O;_zh9l*^@wM31Iv@@Bf*nDc?ceBwMZbx0$9dHzX6lxo8o3yps8IhZ0M#o{E zW~OUXeKB@ri8@v7)y!*aYzoQbv(Nk!BMEaU|Kd$|9u>$JQOOiukTH>CJ_tDqwoUXj zBr+kRls9kE9iK>7vT5cl#wRe?MMFb*Jrd9S(4JcWU`zx$mI@;8*`!ho6ek=OL(XNabGtoh` z>p;efI@FK?A=Jlt?wet0G@3?Tn+fzGWqGav?#f#JdG@RCMz#hHG4Xc1tgNsF%4xL4 z8s)tEIK0H=|L-6ST#IfGz|_Y=z@oI9P^XkWa|3(sd{3UF-`YxIt8ZyURT`kDv&VwN zl2t$@ND6`b5+aysJy*u_#6UoEOMY7g7x^RySE!>XsqC!)k|UL?lk25t$TwOXetF4g zsd^^;Q~dI4B9jIo^y}r*eYq5IjtV>Y=y^>ah76w?^^~E_@)_ixQfQ~l(-W!|s@PSq z^jlM8i_SmG0UIAxe=~D&7z$pfev$Iom1*nVF6R7jPp*=nkF8^OFLt{bA5sEnIKS@3 zR>eOoDifE_(c68;sAQRw__G?Ngb5(>OX%G%`Q7>2z63|9N-3^G#>pn&YQlwR6TDR@=#W6yZ8lp`MS{wF??~YSInU zExkI3fJ-vl;aZ}Ur#)BtDc`B!eP=&@-RDII@aC4LoW>w4;1>$gKj+&OJlO15Kdaemf6DkbCukEx z6`~M;p@LUw?(&^;kBbj!`qh zHdady;5gFbw;J60I{#z@_uAYYL3+w~Cy1012&F!scRN$N-5b91(PEP*J;=3eVEC*8= zd_X>h#D7KI0xap$NHmBgejr?oTf#8#A9$@Ons@d%GY8!M0|)#kYT@_A{A_QZ4E5xZ zP%rhjCagQX?>h5o{tb@#GcZrJ^8(jRcnWA?%Tk3t9*phW#1E>BSdHuc?Ka&0f@1Y6 z9^~HmL+27+&GbJ){?^VA8Zd{YuS%0MT%kfpV=$Qajxq0pRj$H*o0H{z?Q2-(bN$QUYBksY7!$-4rqp<6#BH z)tDQ}TcqEkPU_Irk^`ftfj4}_k@lf%pG(_75V)j#*1BOL5Dn5W-P>%NSW2EBF9vq?rbO)EKARWF5MflIr! z#G*2xA=SB=$aY`5!85J9@eLg?7mXSF`C68RdS&Y-4gE6Oh9Qo)D8NfLqJsgZaQK{n zWymZwol0FI2%8-H>gl1uXi2hm^|{WZlf$-P=_|PM_4|2B&klK$2$4^fzKFW)Nb*e> z4%~EVQWe}x8knz%c^Mo5yM_7{mkFsn3x%z73I1q{_8mx&8U9!Hp&Gn^N1)9fKQmFF zHtV4WtDPV&!p^-?9MhK4cczUGi{4*QHNXB9dI04(5v&Ln`2FstAGyxf*jZ6Y@ava( zi45baB10Cybe4G2y2wCNKBV%`!52xR6)xp4#tR-9_VL8AF{a5rla=U`D^}TW$dR+x z9jckXbn_v5wZ(N|k+IY~w-IzN1MQI5RP{WhM3cqbe3;XI)GLM`5xmoH7`8}CkFfP@ zjg%HBO9f+o?vxBgW zD>3znLi};tEH?T)9Za8v;aO@@-I1axyLxLq{%sbU_%5_Gg@LE^)oUOnmwgn4G;XUJ~v}iD7^O`Yh72*3CXU z{``^oG5JF}&MGQ3#654n5W2b*^+K5^06jWWI=`{tmmD;8-6@*b&cEU+(5C;joG8Sw zdO^v3F_3gUQjy*%{F^U}%KXv+Rw#@MB>e5RO5F+bSSH5G!{H(a0j@uuCskpj4Gl4N zDS;1P2*nsXoZUPx=C}Bxj6_xDKW2aeVHVYyyOZ#-t&LR|F3|)22cQ9Zwz6@ z@P^q6AvstPzP)M5#W#S&)DG$P)_$4)`N0lBwSQA>4(o_1$+Kt@_AW17lbVURYpv$uZLZobH!#?d!;e+4xxL*k}OSa7CU?Bn#P)q+nrDhTF}SvqWp}fracYWxtswp=;?3OJD+a$;huH}m7*#L6 zAIIB?;vJ&B9ys2e$U$9mb)VV+V-^+`#&&i}4)pi$Qg)8Mdw9!L>0fVBP=q{-bkLjT z?71Z25|R6wjGYz0MUggVGLqiE-||;QP~71j&Lv#XU2qh+MprY)9c2T&a*ZS3dGE&R;#qwr>r}kLL z_RIbr#n9JO1O-6f5g;zAX*-zk1#cFMdOv7L_NQV|{?t3pW$e9L(^R8-#aLTSi>Bl2 zi>|CG4~4O`hIB`iZjnk0lJN=^O+J@D9oPwtNo?aeCrv z@UpMmiF;H@`qV5~lP6BR#6lr6jV{yfZw(UF9AL~a%`i<7v?O8W>U=T7z!#}(DMS&l6-wUsrB0Cfqz?cOI-4C#JWYribdZGxo+$D9n0^>DY% zIN9DUj9@wYrmrxZZv(D1YA@6ZR4$iZTOgG>{jw8OeN2c|mo<%RjVCdP=dLwG>}hXy;4ylL$LR3`75^vgfb$84|@dhhCa0oq#wcWJQlDq^^>w>?MKQ`I&%PtJLO7Jjid$?F|&Yp+BD zHZ}k2oszNpS)X4pexIJ6mWe0y_3zHvU}sIX{7L?wNU}L#_1qSYEAYf0BR=cBbX=W# z&*y%uo5o|Eq?{=%0GMOZshh`E6*htbZB}pHK8}i9FPp@OJvFqPXPngh$rIi-tqwWlS zTW{7QY9o>N zf5h>>GgYhDeOe|(dV7uJU2Es6_OrO^xN4`gyz)|u{BDhntxn?gEz`kCCcfln&GY6H zO~=c<1Lp$A`;F@%HSId7Vz!)C;G^Y%`n#Ar596x>wWhm=%UMe&j8?I-*33(zZk|!q zo12QOTfD0Qhw4xM)fj*V=l^bB=q}EN31s!I43Hr-nq?4%-wo!X>ig(J$dq zDw>a5m-G!P`bB*n?{o6r7|RKkA2A= z{r+y=BxYfMrr0F&psab6yt*FjWvvwP@usADw5s{IX$V?KV?uV@FMHUylUY5d@6Do} zP~NyrNF?IrLS3loEE`Qs5EJJPtv6Z%dY&Kli9I>mT-8`k9p=WXe4}n~KLN*uQ6a!S zEv-E90?e@dPQQ{xy85pMB1F2x?m_o47)@X^7TyW;fjC%9L_BNR%D;NXRi`uVFe{J7 zujn{>GF(ven;y^4VUiLfF!5g{Dnx{3;oCVb4nbs|1&RH>9pk0PXfqp1(z#~k;dNcc z5IUMx&oTRu^l8TLe0zk~Y%oF2tukSqyi-%BvPSY#me)SR*S9OsjI5hG`S>3|Q_rE} z)r1#H2le642-YfSs(nsH^mel$XdMc$*7@HR_;c<%L#uNZqxiu1X6mB2+M7d?-b=Ri z3o{x9B=X1CZNDGo!YU7qIYMInx4E*yMZNd@9yZA8y-!;B02hHT5wxMH0+V_7wtGEq zXju&9TJX43K-!5UIQ6vhTa(BdJT>#iyhR|JESREWbU~nOb%qh_mDToZ;>o0kLg1u9 z6v02S8B%$cpipnnO1(9t&g|!vPG^8MEEAeI#?q*k}m+d@5WbW`;Lotq`NopF5Ls($8T+I_q zqE2@jWQb#re=0V3w6Z}TBG#NjhG{!#y{Ehl$(8EV5}hd4U?bu(SNdwRn17}A$*ZI) z;#RnO=l3m7d>11a#9L7I)J5JrNZ#si;A}O2@WVoP>^0KnirqFgfnZP5{CriV+Eq)d%XLgnq!Q!S-LsalzA1d#e85tiNb|y?;0#lWpwZ zcqI_VbT-Dn5!t|->{=gdsudeIz>!-AMaCgCyv&^?9OkxcpLEy%s098&1iIM6>F3Ly zNhOjZGFNhzgLuc-HDj_Z`p}El{+kjzDri|mPq7&m{$=0o{1L64ccxj8$-Zmi$+KIY zE&n#b3q{944}Z(Y2JU)(=oRw93ASw<%=tb}oEE(-3Ec@gDam;6tXYxF1D3*jH(RD> zE!?R}HY2rOF*uqfw$l1|WZ##Eko9y?a0F0ft&211UHs*$V*{>=avK^dKH7KmEmfT} zL`QjBqocVUfQs?un=6j>UiFx$bvf`%fqJxLBY0DioMPlK>BU6we3earYYWDf?3Y*W z9bce)Pfhc~7Ah_(Lp9 z#Tif(dg3QCNB%HmqmPQQbyLQ--D1AN2trfu62UbYKmbRyjvDeh0%3rx)$KZWq_!>O zX_adXZg zW~-t2im>DyF}uhhmWd5+U9^^JcCY$a8<_s;=k0P|OjUgERdq&l=iRh8+yFXE5983; zOF4QpPNkID2Y`$aXKbh!hOD5QU4SX0i0GcRwRH|UL#V^AW6FKXpCtq`XkwF;5fA-y zoXEjy2!rt@AK;xnuFQw|`WK=n8OlL|kg$!@62+A3MGsr<+YXK^(>iHQrMlqFR!TfI zDo!)gXpz#QXBNNmPWjo7EhxGw+W0}mBHN%B=bg9xyBdj?c|J7b^fmVNvxB(_b9Yh< zxXI102}c1u=(Lw2*V9BiCk|qDjpgkmcT6_$Yt(b>c{8!z$W&64!C4by`>-C)Yq9l7 z=n?(=DEyk#sxR`;gh!7YuvTm>5xXgYg15CA-p4)#60QAMBPcqI+HiG8$VPZsI$-tO#DX68A}~%8~k1mn8%n9YD2;$p7bK920YwlmBp0 zaQJQ^{gh+LEbzGO^~!ZB#$kk3vg|zK*Ht~wt;C7Yx01YF^2-@NtjEe`-L1*1g|4($ zz@SdS#mvBW$7q}7l`f{M{lzAu)qRYrj)EG3x8IV1-0A$fgh}ot?6-qd-v#^n^7i(n zQlI`iRU9XgE=BF+g>bh(5)=Q@?{C6SBAa^b7Fgg?LjTTCe1>w|%;P5IG^L^x+pe`V z+Tc=bft3}Z#s+8p7)r{ZVw;3nknvaBM0z=YM4fj4&j zJo4@Uw+>y$=HQ4&hg8&@$c+cFTzRYUbH_*oqEXQs{K+1sk08Oh`3e}3PR@Y480AnmUiTlj1?uT}g_0{6x~R8y8dkDFzQ*sYoth0az4wUvb;x_o>k zYoO0Di%h+O`d9vmCNWyJsGo-47hN3l$poNVUL4G^!J9)&2nMKNoGUDZIPboQI_~_> z-uv$sbb_N?J0h`ZELflxD&2n5+=*XTgk8n6E_EKb~Ma=4S!ewJD2ByQ-+F`lX3Aqr3JBo>|)FYP%*8 z68)S-%S-P~z_&bu0GNWbegda}&h!34FM5Q$rZM zK6!e+ge6c(3`vWrRxSi<_JdZD-frHlFOXLeCjC2E1SFaC$nZn%(-kVHI2Sqx|isEbe6n{Jeq)X zA?}H`Ak-}$6?0!Lm>qDqnXJCznLVtETx&RWA~c2a0Br=aFzpOVuNDQLNpPGOgC3eZ z0;g6uw|~6?fUuYWsxvHzSN(cx&h?LnhpAmh>8F<8u#euQ;TLNE7{jQKq9p}tpEeq{ zX7|d{%rB)Jf#;(F@uo)+y^pFQVXW^~1B(9fsE7k+C9>()^7>fhfORhw0HK^uV%V;An3aiSCR~SKp4!;#a*4jmlKRC zR{ygu7T3#7R9|g{eHzPPvOZ*z{Wau&P8=M`Yyq9lBx#S2+?D2mVb3`^ zcC=^)YI3!{@LVh9sjd5Y-Yf3Lx7d`*QdeXyOWl1a`A#_~S&!KZUUI3tER^K^99=B< ziPuNf|3Gi9MV@3m{I6H>$GtkkG!*E%I$E+_Z4aD<=EEP}3j8p`216^Jb+SZ#zxiqN z%eEr?YlZk>-$-ObtE-@;-Mk0Ojn339CF1lJ$|pLa!fGYFuj&q2l6p3tySz}iC-572 z1vK!aFCYe_;m$LNKurEB-G9)a>{80{4?m0D_}AWG9seso7dg1pn%o~auoZTG+NyD^ zff!U8#8t0Jk{M+o3lFa~w9=WP9=MhEsvUzA;T=6$qjvZce_Xs)G&4Pq`?Obe>r%#j zGgw}6p=%U8SwuV|dr9lNKY9AWk2h;_KsIEuz>L8_J7kj4m$ytLYYHrBYd3au)&!k` zxGP0~-!Z+Qw)1<}OT&9xTkGMRH&j4foWu3@Iy3&!2<5xH^%>=@eDynHKSm}I)}#Uk z$5M*wcej>WdzF(r!3<>re$HE!4Z_XU2wPO;b#-+{K<)w+TOM@eJ*Y_aT^{OZn!H>7 zvs4(cySv8c4U@G9Spo=j(UYY6x+AVOQJyuFLCJyLq%A<6IbGxF^yo{Wy6tSY)pM7< z$sTxA!f8W>agT*6GeuSc(Nmrh-SCMdXCw`euV=K{uHLwk zb@4yHj7t#!?yVY17d0PFLHm(Yi7UDKJw_&qaE8)H_&iX`@OZh=kraxeSyN3e>B25k zb}Cj&dqB&th?wAiK!gfj@{uok$`5#yBZY6-T{tvtuY)<+7xSud1xW}?zMc4vm;=AD$tBAr@v z8P4sKq-0ZaTzJ?Df)c=(sMtzUeDcQX*hV(`{$n|7T;X!N#w{nUZCge?FLOv1cyo6= zZPhhr#|AZg8lh8?^hC~sPAXS1rh3Ox7m6^5v9&H&2z$PcN4b4Hb_Y#LS)-Uw@m&Lr zgZRo}gBgo^>0{t?M|HY1^s3D2WwcnUIbfB0(px7}V%fs;OwI1KswN*iIjgqlTkikY zcH2vfH+|yp^!n(i42jq?PFzT+8kAomZmcQN)JvP(=C-YDGCax^vBI{z9Vko~91yaL zy4y~anh#_yen(QZR;u7J!>}M(Esmp*JTeD3f2k&;xUYfgIkfk(7e0pLwE(I78$kT_ zj7hApR&M-yHu2^U_HP5MAIQ+%|3GQkgqY&>RdraQqGo$iiX=_=-$URYb3Vh_P6w#^3nJORG6#R^qekT_IeYq zKG5)q21vwf6UIij*OQSUyzKO5R_~M zJz;yyV;E^nxx`>rw>zt?!9>)hWlLXv-){bip3Ln$4AzR7VvW95QxN+e*ymi?g!rtE zZX>1w37fXtnE^+?X&Fj_LnRU9?#;oG3yo16n&6l3GXCl7kHab!b^brrP7oG$S3=)P zr@_H!x)@qw8FPo-B1|TZQGkaOUlzQ3){4-CzaBxFB()8oQCugE7EONo91nO@->3)0$V8OKV3-zRoi9@6vgdDFJRx&09CJjb8kCC+`ObRy67n`Z?!V`eK%)2lFH*a>>$y0 zwP?)?Eg}s;X7}9-5Z-U5%kr7bgmMl;A`mDefaQLd#k{_EE;`L_wlh`K4Un_`c9 zs%l6MD(S~6YMjJFYO;x??Ee!Y7t+Fw*VivQDNYaIBd2_+>`Po=!vM!jPz1Ov#hURE!|G-DG(gBHne67X@Or zvEeqGMzLLvqv#-2d{-zXQldmPoRacKz8>XnzclVrZV`BoxQqDeW+O(na#e{$9z82n z*t1IHe3%RM_Gv@xsY~>BKvia;Kih8;M*VD+ypewt3c4Nh7dVyFsUt)us`>__5Vvju zVw@+f?5M?}+0TBFUc5OkUpIknn%KCdlE(daXyCTyduh|1Rb10c#1Bu(b(bfOQ z+*@}=+4cRylypkNP$C^e2}73%(jlevfP&--%KaeyyZ4T7k z_q=vXOXh(gGR%a)tQNNpR>GMOm>7f03*Rpq>S_HJ@p0EpvADwoT{`eMW&r?}5zO6# z^DyN%AkN;}55!@NSbGm_@E7eQegfPjjg>%Lg)l?GBC z>hPBcnzKn2ztS&h`T?Be^aIhn$T5IMf#-T%*#VI#=*_IxzCxH z?oz#y`HIiq>2gzaiQNksa(^vu?XNNYX*>sxz6}RBvX}A>KR(Tv(J!c(#?k^`Bu99W@FsBLXy~)}n=1Nun4S2GBaM!#@24m<1tzVwAbZN+=ob zh1HrSdYv>iRqrChibuWttA#OLhX2h15K>{THE|&n3UxK?hN2DR$*e;K*5VYu<@jFA zHHt9>CtdSCujlM3`+eN?2PA;CT?ROZ+nt(s*ngd*wt~Q-*Z4{bfAUD1EOt0@=*Ijx zTkjyhH{1E)qMXXtu~CseoP7KuP98MDx!02=tD#S;UYnKpb8}h{w2H0%b{~h32Hf|zYym<{yeK=#o5{+yTYvAhKB-lLJR~vo z`Q|>;&GFGlGn|N?Dw6yOyNXa(geSFCR~GOYqsqR-;yw9g>A#lFE8i;d$K7XJy<;nk zM711ND26ae_557WR0KWO$9@%o+?8|JAU*A3%UJ8-Wonl{mU6YJY};eOOKsfJf<}RX6e?_RnQ(yj-VFV?1d*mA}NV z{W{j;5ON)kXxAgA&Gx(X0cO@2fhqV3(Gh_8^yT*q5xWH6i@MyH*_zz>+M% zpBTU_919O=}~LRj!#`t@Cw00v>;eQ|V$RajCeE7P`yG%(HKc0t#}e!IdcgAy>KvFCht_@tBr`t-bb z=nV1#NA{mOgq1l!Ce%Y=AkE$w72wy!jNWc3!yst&IP1j{AOcSd(IxyI`D2hLAC3M?ov8(;tGHslUeRL~#W4t>W=t(-+`AroGjGz-u+H#rG05kpVtK zDvxiy@O$syc-a)!7=a4~9j~qS*i1-67BXK8)dGz`C~k$ zjz~d_-vNx_Cha61>xkp%rc6&c&w&H_O?nlM$Jr7cI&r;F-v}nl?HdxGWz6x{o&e$4 zEwoHJskb2?RLbf~d`fV74|ZqRSThL@yjMWzS=qSyuFso!-^k8bLJs1wlD1WCrkM9A zb=;}%fq_+Z!R;hDd=QTB#BT=d3VjvJI?I2Ot9;m=`*^}NO>J3Ep1p$5LK1UYHt;xl zlm}LdF`DZ2w8YaBo8;Ruv}8MLnA^{2XFK=eV$~7t1~%jTtJ~fYzrtm2R&0IQqs{HV zjF^*DW+|ZMqGuaq`Ji>l1q`9)8Xf4+?md*C?1@z(4xmvnvZhsEL!+FX^QixLx+(8hIDA071S@$^G9*2!-D`TTk6K=SUnBrNwu|G^F1~_Y) zKND71jS=n1Ed{MK`)8ibYZ##)z)#f}rLB3MN+e5pS@a50GQ3=Cj zs>kjijq6{~QqEf*ExX5uz*zB>TI|Q)sEO?teYCM%=}Vr4F)IP?MN+WPto*3)@aO#4 z;$a{1XU13hw$j{@L;cSa!g7?f)PCxUZf)!H4kShD-zN|@2`IAN_VK_n38*h!GYJFl zeiSX`JEAWi?z7}V6IvmwzXy+HiD|B`Os${jxM}lIkWLe}ei$5}Kw7h^a4C=y7j}gQ zYQ)R?&RbD1d^yBAq-LbYQZy8^9^4m%cRXomogk{m=pMA45XMHZ);Xc<#2D8ON1w+N zEa9g)OTKmzxI?#<8i} zNPiw4Jnq!NrIu!|`GnswKZ}>kz~BD+=tx1I#o}1i89Bc*KZ2}3H)CwYX8d&@da`C{ zLh`#YIsAJ99Vn5f#zf&FS#E@AO-LU%DVr3yr)NLravY+ZRoY@_Ja~1GPiyBJm;{~Q zCy8PJ(SqZhlz-?}w-zct6zc}xF=A1_O*P|;GworqIZ|U-OR7JU?k(&taX{%ZQp-~F z+PPd#W(%sA?ZyqL?3L8^bv7!9=iM}ZVAHZ&{AZ!9co4vEeHa4DuN!wYW*8Rt(ln5E zdw89Q?8+Bo5kghOX}FcSeK`BFP8us?;J0JY;YMhdwWbp5a|V&TJgTLdHjLk?Z`n3K z8E4#$h{rOwizqQm%HDmA;KCu!f1}N~vhBW!0fO}y z7V8g$CnYvY?Z1A<8F(-YyC*0vZ4MW_rgjgSO_bqbO)gn`m!A8MGR5FYOd$qvDu1We zUy0)6=Zl4|!t5Z~b9xK>=9?Tt05Kh3ZF&dgEv8pX& zM~5wI*(j2ADpG-P4@^i|dsf_oPVJjv2B!?$pQL=Pm(dgZ7r?U}#m(DdezM(Jjwmz@ zc^bYp7{{zo3_-nDQ+kKn`*f7smypn3gd}fIyqM7_!x(1>p*?ptz>#|fxx$~xDsc7L zmHS$n3$nbay*59I3s##LW52}4(my4Xq2c8|_jLsS+D zJ|gIw5B(G@upuwAQfe~AGF;N4-NGqystoJU8qeA*saCxN5VAS^l4SC+kPQYN^%fM1 zp5+N;cy62=Lt%J2XkeW&}`4{qKvu_6*maPAu_iIJX-Z0HWuS3nbsCx_yypxHXH z@Lbzuo;bAVK;LLuYl7Jj{_F`|%BFs^2(Pr}DUTG9UXz_slTf^}%u3>bb{cBA1OSg> zQp-gUm#U5RG8*xQf*lJ<3WFL8x_KEHt))AIj^QO`t#R|LEyESAuBTTd-n}#=BuGw0hzB2T+0l4TnjsD9*Q ztt*G`{6ogky4GUUwjBST%EC4lH*b(RlCP$gh1H%xhQ{avX_;k*pSQ0~5P*48pP zjqy`g?FKd|v%JH6$MOhfUnem!Ml=BhyWej0No~KoG6?+Ib>2+&&EHuh%@W|Wsi?y+ z{K;)ZzBM&LM>C^%HG@N#J|(B5SA(z2=-LWi2a_1R?q26XNF}$3mwv$eh)UM${N}ub zOQB2rprcE;apMHF7o?K`zkODDqSCVJR_WoB%ppsp7CYh5@$D~aKc+)E*3!sOB>f$6 z5i0k6aWR4FS<;a~Gn~&ZZOf4f*LJ86{A^G6c(~tCy?AwLNcY%ML#E*-z?_9o2YQcvB%w!Os|7dq16|HKaWLQ8q1~@-`r2 z7ob~kw=gj>1Tvn-mHbG<6<};6v+{WcZ$%;^Q$FunJjkoTM~6z%b68a@&@T_GY3=uQ z)U27(B13sz2-|%2E?39nFS-x3QdqXRr4;M^FPi|q7t6KxZ1qg$La2+Ts?23MkQ(xz z@lmg3r9>lN{xDuDEx?!fnk}jWrM%zs8!=o%T0c?Dl=M3IXBZKExmK=B{F%f`g}PWk zS&NzRwpwyBSAS7G7W%ie>Qq7R?&cOdyo{Jr)l@NJK3@aT6(!>$e6?P;k08tDviK@U zkse(K0RxW~m+bITQvICIj;B|&`UvcG>^vD}CsR>s)zPGu4JY#1H4@&J8Mf8WX^?^{ zv2)8x9&SRpM(aJFlHa<#Y0SIgYLS`o6EE!VDFXhOT5M#t!Ly!d$e&zs1n?lwa(qGu z!4zgrNYutvk#&iuN>l-nM!#~7$XCP$IXIQN7~<1CsI`W=6p;e+SvESnK)I|Y8~V}p z2=d2FH2JLJ$LOQ1v#t9%WTZzVwQQ^>ieVd!YEM{N(?A>j#r(CXu z6%OxW^*_+$2O#dtqSc9d2?K@?hI%HYwYp7n^%913$(hsgb`;^cVLL{CbXsX6;+q^k z6KAT4DVbqhd@_~V%`{CvVozK$823Qta0+lP1hm!Y&`i_#L#tHE?m1%OYy-qYB6F^C zN*cz>>;AE7)h%bZ>~xYt%V3F9hL1H_18I_9o5U!qQQ+FI4O-EFd0w4%=%#m-Z0ty# zPn_A!i)2AJo_69TV(JmrXutq&t9%Ukj+=L{#FJ9lD1S}Fw`NVmzs9Yr$ZldSrK`xZ zPAD>QFlvy%{`IvKZFdI+NA3v(511aL#xa(yjzyI`dqL#_`nvQiIhOLZp6eKww7`uLz(Lr&3 zwz{}z-7DZDAr-GgrTBQj{6rHqH_x0dAktbBB`csoE{$nJq)+!A=x#ZvgY9@W?ewu4 za>t_jwI)(s)ms#HPOQ0sZ$-ZAoT)h}@&ibeL2xohCcm^+te*G=#s?{k;f5oF7HMuuy+@kicRXH%?!gE}{dN3R@E?~0?z2kf21 zE24}Bi}tSj6O*V7M?QV@*(e<5`CJhGh??o7Xa;u+5^6I#*j>|f&SmK5t!ap7T5$2! zTKc_cL)Y7mh5Khx&UK`6SAse~(ovaZHZl0i!D3ULd`${#+6|}G`ig7K=?O@4WgjGO z{OQvtq7{%e<>!&eM7W`Z86k_hP+Y(Gd9q$kIVk(pntSEVA(IEzyL0)`9BF8%NpoYTSS)m@y#_=>v;_9iU_s>wn28R0V&odKZ6?U>Sw6JxxTM=3NpM8Um zI0^MNOHZF^DoYjLT3|jYMZB*ls%BvVyW{^VuT(oPMKOOSz2Hu?5A;hRW<$b;Jm~LhTr_Y{j~rfU(}S+5ATJxI?UBx7GIJngUBc` zZ1M>|U~0Y#tnWHz1)p3Aq9Xxqsi4EjdcWX4kRA}NY6nC|=sd|#hDTVOu*=E_!LkY# zIa6Iun(ZZV$C%E30a+4jv-z^Ll0ZmBl&{KCDLB1tr_+rv-t2gx!7++xttYzLZAb^Z zmWG7e8327?KXFlS&S3fW_5jIpe0?9We+C~C?0xKjJ8_O_VDbL9Wol4&6m@S4S!JQJ zQ-e9m9&w4-w`KAO*!!qo=CC_iN=Du>aom%3Pp!IrCe8G-lWC`uWLKbI;Z=1faTJun zx7qXbWu}OoZc^ECrC?c$oQ%zbFF^Jh%rMfp?q&Bi>1HJ(de8pS?+dX7fI0252adFN z2x89~h1xZ-)YVFeqzr6XYY}kxI|9l^QIDhLC$|HS{h&&zfAb-O2 z?d_6pgWv77ZMIb=A3K-d8S5>cATt9rLg1SI=a?eN9BZu9{a(Dp`)diuZGtm7&@CfvdTKjp28sl$Gkkqg5V+!0IGM)Hgt*Er=}mDequS>)#eA)AZ}`3#-BM z`DyMSsS8XG;iUkMS)nQyjkxd@`Cb>_uxjFA+wkyviitsB&p9Znm% zjxsGb6ht(+=pZl}oSqG2794qSib>s#rd`9{H%^l}cEA?`SMslybZXXD;v*RW2)|&PH zewu^55wwwZ{d-fawPw`sqE3f>z~(#B^I|!eq^Cbfa@W4<>-1ed9wa}{mU*4GX8C8o zmY)!JF_7-Z{QSL+l%ct=dwH1v=cEBi6$pcC8YGNx0Znj_qFrw<{XST7=!;{4sb~5B zzJi@x0^dRV^ytgd?V*Zwzv8tTf78Q+PcNLmKGGB+jR1(2J~P0pqC$EX#N&P3O}*9# zH37L#>cECztk_MAOuS#BCE2SH+abb!yO5G$XfGn>R}ws%kWPfts^k0DyZL*&|4Ozl z)@PmdV(HKAk|0sYUJwC)H4xh(Bl8XY&tED{0QtlBhp^KV7Bo_m;NC;EG`T&;SU)mqDevo~n(;g?=xH zrCFn)8}nXN3Anu@3n4vC#R%yOBgx|~@)-M|6M-jjsg3&(Z3f9^tuIB+lLj3gUT*Vt zCEdqYCxc*R(@wp|(cIev)gk-v)1Q@Zzw*$9Mffi)e18dGVI)w0xsjJI*lU1b&?Gr>2)Ns_Tlt{4yvT;MB%D zdO~`$g+fyLiM#zqrGL%>k1-vGCa*nU{)t?T{Ijhr`&!CNF>>&AI~)&nxvi;@#){_Aqs8=~h950i-=hp=Z%biBmSgsgX zcFOCB$Q-;NnIivfHK!07CUwTRk9Tlqv5l3bx}3G=Srn+};weYAwV|oIK8QS8qi1aH zRW3s$PVBq%q?WTHaCfGF({$RR#QVY3tcG}dLN&fF+|}!|39Vjx9O)x~p%c?Qny>$p zVP9DT258p!Nd>odnxRGm+4EAZ?$fOt?-2m%#FqpNEe9n2m%+nnf~*PVPS2TPQ>!8` zkBiKW!U8POv%7~S3}l@MX;P#0Qw~jhj=RY?&ePolw-Q2Sf{);eI3vr$;<20J*jr0~ ze*df?EN_d3b;RorYo-;`1h6%)E6ZNTe{-AAAY*lUAn;o~QWsj)w-+ZhgyahWJ3e~l+s|3 zMogaM$tckZ?bLlIIC+jx`xSK-r#g*3@ivY;2@{H?G?aaMY4KDMy#Q--G}rkKXMTqU zS7c1W@8u+lnW|^JBS{Mq##yD=U$GPJR>G8T)AQnmt-2y+*?Bo2C&QgS7PJo?jDi~b3GmyMo`mgVa_f8(-Y zB8eWRXvmOwGkarCBXE}wYpzh))Tgu~ArGBxqw&TM)qXC4XhPJa)Hu^%iO47toSl4V z8mKXDo0FdkReKncD-r9VLV%FEaj|P^#x)j;41L0&N(V$6t+Udno1EbnsP8I4EKTYs z=fESlZ@YhwZIQN4KE*>Rp9S_oGm2*geZvVE^S=Q#RQ!;_lbQ#@qB`ti-#wrvhjRW3 zVLIzZk5oEC`e|&+1&C<}cWA7#v|mw(O&c@5)zd0}XoP7TK9trj_%cpW3QFc_Ledw! zn3rYb*B&ym9&;*4WeNGP24bkitfw~Hvh43!4aV+8+S6JMtPkm8 zGiJITR3`N766`o1@J^L_hx=ut{L z`4F=%4JKrBGw8T1)46&zEC$x+VPld=WpYJEvS|eJOhqSPf#z_yTMVPXDM|8SEXIAC zFB!k8GFjM#IOtIK(VyBY_q3F*;YByehfP|=-*$uj$Rc^MQm=xsrB?=VS=4L_Beia(hi*4&J>)Y1MZ~fLRt0cUjS) zinVEUVdgT@5V#^ooOG3IG0=b@R4a+8Q87^&Z(NiImOUOKwL2bnu7}*;cmQZ{YVpV^ zc67=Kd3Tc=zJi86vc$0SRfi9a_lCMWK!^Yd*bXMsXgd$1TMA>h?I}2*g&?FpF*Ne` zI!=>ZyU=g#^}hT+%;|+Cpa_2F6-8TS2&dhNT}L4Tq$Ze`L{l(HWITbvqQH_r>**7c zV2KoLM^UYh^YhZhu?*Na8OW^b)%WPdPR+lfLfgilhJ;hrkF&`Nk{?1#P@9!6)pSYIXhc%oa|EYRMGjfgjz39v307c4lwu0e zuwLGLV1mX#P-Mk!>ugLwdDK(8zLV8#|Na^6?rQ;U+JQ27DW>D}XaMv&`u9VUTXjDQ{$o%<-Q(gNXh)x-Sr6up%ep+VkV~Il z8mcSe&F}CxmZl2IB?pFewmfNp@u16ilA+6St?hf|`%J%Pd+DxY+}72q*g6_T*%Xa} zDmvU4J|ZtRC)lg84Ce=EbS0;#Rx)}5*&6Z1dWu0ik%~+J{2X%18toBt{H*H!6JOME z)<9xqVJ@t&jH(0{El-5{D46Cbdnv@f4E8}C+ZTTI8T9X`j-jO>QkONGkr21f~WH1u>Pv^A2V-3rT+PtZ-)=A-cKp@r}LDu8GW*NLZ*I-4lr&we?fA&LlDH zFxmAfcLkZOJtVGTfvm+t6OrNxtd1;!9k%KX39=RxlLQCj9vFUl&6aGg(aXn<47k^* z3jwWZ>$)lIZmaWpNu_jr9Jm)uNvS78ju9JLbA-|%eIOBgX5=xad(SH4IcDvKF1yW9 zWBRA$zGa<2Y(ncy3HdHArVgcaDTNv9o;5Vy4k>J_z{`3IjZHES3C;=8E7$~S-sm>T zHDyqlr2e&%YK`4}dLA7v;uu9A1|I(8T$IMwiO?YQlXT5KB6GdyNP_AwP4!D3=Kkzxk+7Pu z$wQ%;fov2}?>(82vP&Bn++*$5&&&-cp}{TKuQ_^p3V?h7_Smy$1WPa+{{4d5;1e1V zJ9%5TRXAnr=M)w}BR5ap?hHsD+gs4SDPEKHlI}_V5OXPSxW(-|6#=XixANPjjg%Mf z(`B;jYp05QB1EQ5)vvvxGv&t>C@?riPOU01*z^xV+fRuX ziGg9&XL|1;wi+K8baS&M`x$SAO*rD=L&L{Z3BemlMI`0zHiC}^35-x}wV37Aq}reX zL=iTxd|bbo&FY@!6U#YCI&3=k;F|{o@NV&)YS1Z!;Y5jcGCXy@n*Fo`ZxCdwWl%f- zZ}r3tD1pvP?MtPyj^&Vk=z9F4`MvacDY|GhG9nL>(Q@#8{8Mj6<;eoLCbO@E3S#Bx2KSVC*>Nm_XnH+h-B zURbH{9>S9+L10P@|3o&16b9^GLm)d3F-3ntMd2sV@l133o7RlCXd?a z*X~JBNSolTF09DCeiGc4{L>_@ERDk#B!=0A85i0_cGz}bBM0s+t557!i5{Kg(vEqJ zdOnZ!Rq%rVI~6x3+50*ht|dP=m<7-{tDTuyrD|HmBZ_T9wYz}@hGWDmFumg3faHU$* zKlnDU1NA0(BB$PLqZlk^%KfFOH*{ctV3a_wX%3RTw&t<>tWxhgeB#x_ClT3`hXrxD ze0Abm38vgtsD5yYSxQ=pnc_xLa)q+%33EZy73zdd(a#L9Niy=p-iT=SF88CP&YbkJ ztczu?>TU}z6>95_=Ug{<01`oJN3}n$e6x5su}a`dgHQ45s0llb{>AP?;bcV`&D+#s zfP}aj5ZAQf^5sgOlL82<1j8Z29Ha={9~!>QRc=)e0?P6cPKqU}&IM>T2{vN6iwHx~ zs`@nOzl=-I$q>rVrzJuUdG=B#5W02`>lWRBx3X1b zU2Y~#Wl2pI0e$dBCF}-RD|n?17_aO=y`dd-I{<>g zF&&?TnCZ>;Zvu=wqV(I=KH>yg8Jt?dn4fXCP`taNDQe*ZPZNh-nMWtCi+VRE^B2!H zig`+gbnWnylc{s4*{|jr_nT13Yo8y2PhMomCbJkDw`RRbQe{mC-Y4eE<+;%%R#LvX zp3gr#oZ6r$w7%6{WVusw(x@a(#+P!yMmU%t<~UNA=t zN{qwNj4`x7^#;C|m`LvuI^DAt|_Dl?e%@{xP#_HR*>Y`}`(zB8XNZ_6pxh3zJih<)e-Ue9g zFOjx5T#W>}U--*{}{9$)_B7|U~H9kcGpoB{Fr#N{Y-ncEAc;5`E#v%V-H`&R(P}@`opqK-OpY27;8sgeC`|p%`CP2*?&$i zQU1ko_VarFqN-OjW_Vj(b+n~p^}e6$Jm;_FCUS@0wZj)$KtO@tSM$0m>6*nSKM!83 z`FM5)?vaB3nz{a&FwdjqXcrRt3prY0>HG85qDC&VqBeO%+vD9YD;8hpdM|!W^XMnm-ZL@!86Jl% zQZrqGW1pBbCKGORRcN~38yC`TkVHvJOv4 zFcVJk-(x3+n^dEw==Y);yApS(#D7%t%}&*3&tpA~b9{Su`~8}!g@eW)8YEa^Mg+j6 zK>3r2voyx(H&V@&*7N+XM*ApS zIWKQ4_(F;OmPI#7*thENlj5;dAJ}mAf7VtA#sN{F5H6S(C*%37yq6vof#7^g>^`@l z(HLpAD?1CS;g%u4;Buv*)~)-${~JZ1(DV@%$CrcpZ)T4F`H{dQ9LO!7N7(U#O~pg_ zKWp3F-X-x6!-m&RWu9T$otQYv{a53-7oA60`4R&X>Rx{w~} zDcUOREd34W@gNL?9K548z~*e1BZ7d6PbqE{-8@5}UIOxkh1k#&cK3ko>FGHW4kX5m z?|&L$8;qL-+}11{wzu>pbNF(rpxkw~R+XZZsG+yaEr86zXaBpty|>SoCd_Cg^}h`M z8xOP-j#Np_RWqd;oEKk-u_0@JPK8h1dtochlJd1$#@`px>(dY*a^CCwDZ3{^=ue?& zA5x;oMnv;VE3q9N!`iEbPqHDix33a-T4fr3S9Kh1=r(!w7ODyAwp@=&<2GH7-MF3K zMb-0kACP++y7PbzA&T`dFZ72(UkY z=I6DWtr6ZIYaU%)2%BHl7mvVo+kN)xlOzxY0EzHjR{D=OSPpjQ#*SDy{*(ftpx&#Q z3X&^v0~G zm%7`&zD{XisY1d#IVHi4`4W_BnK6TsKY(k+ct<0hSwf^2|5HB^i(&w}9w2gWwkL+3 zC@3+3KAt%gHd5pBNI+Wav~ZBx1HUS`t7mGF_s@r1_7o?tfE6Hc0_r zzJi0-#r|AG$fu@hk5FO=Ms(D^#u$242=%{biyYbAbnV*)xO_4lM*SFExi_@bwRDE8 z*xz6NYrZbvitH3U;&|lvMVQ3kz{do{yZ+VWKY!=M31lbx4#)DM`_F5Ci;_G(7GOg2 zorleI|EFW_%(bh)%&mYF@{j%Z%l}`$eXNi~tG?)+x9R`XxZF`~KzxA%pkL@ISqHAg zu>I(8-ye7v7PsF{e%Dh!( zlZ|-J=fStTz2O-LhSN&Lh~H0xzt7(oE;{b&$;RMXDmkEHf$|tuMu#LkCSBGqGnfNh zln>g6{2anuB81lK8X80gG$zW8Y99CnfrO$#D!d30AS?j^7jym&>O{%Xi#gQ;tx#$r zwaQvoXz5o=U-<0o+*f=FT%Ce4sv36 z1OgWx*Dz8ZHHnfR1knLCZU9E+)$$}9=@fuB# zd4=Z5*VzLyQ-bN2oHrj8eO|7lMf8D{_*I9?tXkh9SF@*?kaFr_t!+CB6=AJ3I& zQ)-o}gMQ|kIJGzG7Eyw@FI)X?3GZu2Ods$Y*FL;&%Zo&=hXp6qdSk%*d!y{*EFHDN zOgiG#eB(+E`f*G6FZ)<>QfKRvGtAyVXK>9NCI&rfEdHzkTZw)+up@ljgF9FM?U*av zYI4kni5qD1*?~z$$}E{T%(Y#6N{?1;YC;_pWUh*i<1|!wx@d)X)Og@5T}BCPhAAff zQ%-~lWggaXhFGZ*Px(DrS|`y@G``gSI!oyJ`!tYXJd%%`Or9{gcx7GZLXjk?EQc#_ zWntMaSSpz16OGI8uk&FZ3fF~oP>(HVJ!w#q+iHdKm1ZP@yUq0Nu1aUDhhOuH(Sg3f z@GJ+~If0S>G9lENgn@CPMy$A@@4J3x64@fQ+<)L6zyptpM5WqgQj}DSXwapG@i^98 zs&?sUHkkAehm~pG$=v16na8X;q7+tY$YK+W!b26Cjw0SY(wBk<(WoAi_CWbir!?wd zVdh|_V~Dh0!h5T4)CgqXsCy^X{ zD>re?-u?gNVFewK;`-SMbFbsB?aj>`?G1`0@IPwm&?I|;D_gc(jxY2 zuh3L9kp z-2+hg0P&hyG4}H+dg@$n7gyH!fTMOGA_T2j-JE}7(9-VL*Z~cL(f1Vhkkd3WR-9&t z`?iyr7b}sy`=?*QC<~RgfV|W>Adu&`GJhChG*PJ{Ke&CJ+pPQDpn zC4MuhquebPe8tOV{Tys6=ftv*)PFqzBpWVpuBAZ%0r-mKVIyn8DFJ^Y^K`ISc)a`- z=LR6_`+O{%!TE;c%hcO(k0^#f#5=TR;_L`B#a0Dv*d?+z&=O+}{kSyvVF6UoFE6}~ z7?8!WF~QFs#x|j)hvdiBA!;8QYLWH_D>6#TYP0v27J%l1_CMLrv=p`2J-?Ih2ky${ z9Xomm&qtrMdqrVn%KG~uF_o|6AxI3yXQP+E#bBZT(g4bx}p38DOr*r-t@j zBDscQp}0I)#=jsBaLRZGVj$L*ECERPEC0)taAhHBKqm6x?9K>iL`0EaPMQ>6`y^eL z-N1xG)S7w_&H4JlD-`%MQu4T+~p*m zYLE9}s=&a+nxM6|=tG7mp)T5P4Zn32Q8*wyc}fo`SxvomiUf16nHT;!*BvmRyFI$r zk|6SpB<>;$%SqB4YDk8Fu7&o-ik_pMfUfloEH;S;9*=HqBriT=_jKv&+SuS>6MK0k z3)I!x`nb)P2GtKA?v%FIV5FdMuu>(Q>!*Ib%In z_s|K7Q}7MNvFSNMt2hmkss+h`9G@%{`{-Y>qS*Ea5z zIAfG0Z9tnYe{8pPd$)w39jdVLO_~i3sd0)x98;7)%X9z>CV|KRDFGPV%0jNznI;Hb z{c*A29Q)9CZ_r~%*)Kv`?SbFbp!xhSK+Xq|&l}4=`I=MxkTVE}37d0uqz%ZM zzci)GjTy{I6n!yMygoW`dRHubAjXm?7fWwPLz8lS`dI#%zjPx!1K)C;U%Jc|65duj zlJdw5UOu?0h(&6u0=93j-hQyQT@Z^zC&>AA$}q*xy)SjX}3P&jf)rqf%*fC*uhT)I*!D zJ>TPu%}YF+CoT%1U4=R5mN(s2i;`ej7g;(vO*GaV` zj2R#t#JK_k>oiQ=ABu1}6+4(axf7uS510&0#VLfR&HI;4uHq_0;e>r3S$E2&0!b3d zMq29)Dhk>bzLAm2Rec54Tpj=S_JUGJT?Ajl`PU`3p3<#TVxrkS4r6KFRy@f|6?~S* zT2x@%90qa|4oQ8>GWIp8w8WXzA)0-Nn)De6&PCp|sLh(lREw+Js>if$5iM7|uHY8Q z0k+Pp)n7u4nSaMt&dVT^6Kk8XCglqc*LQe|xlVQxtaznOHga5tcvqA>!O-l3;vuq} zgLX%?siyc)2=`7ZS`Gx0&~An+ausVj_9fIN>PJYB zs)3r51jq)<$Aer~S(+hd4bgagHpaB@^g@q!#gO&<-sAMfu^P}IOcMz>c+p|q{c`B& zJ!GlVsSmv^OpVtcKXP-V#-W|jO z6L63GFu(~md}Y?w75w&=1mYE$`bcXz8RMwIj76#5>lY30CcSCrM7rvT#YT@ApX6Wb zGObgUx#pX(L15aPp#7ca5S}lxqZk39CXYtd{zB^U^`y|!JT?hj%2#tSuSNc9z zo;xH6`pDOQHqJ<<79!`sQoBAw3<-fDfm1-)Qp;p5-EBgg6L!zofs{8bb@G+q7x)qf*>Y{UPkm5 zy?62L$^AUfdw+kwULGlOGuVHjxQ3pgg@kU|K z2H!RGU%Awy%p#|h{&~xsg9%N?pnF6=N-UN~y|^9$PZ{YYKT_sP@BV)LpL zPiDE5F*j?ua>MnYe=h4Opy883MUSl;y+8c*N@B=}p^BdpUfn26=q?W?gxAsv7!8{V zs89$+h07=+tgN`mk^Hu7C9x>}rWpA>J)>4OQKPqG_P!ri*o9g{8eQ(k|ArCv zbxi3#p$a|eGNHY0|?acLKK4=}iBt_hnlxxvT(r@R&ZUJB& zrgRm#I__&p_tLw+M-@N&J)Y5BANp=CxV&tpbtLa@{L0U8YK}5x3JQkUak>I6Cthk- zD;evdVbHZ1oJAa%4x7>okG?e;~m7sKPkeu{2Js$X#=)_MQR)|mxA-65v zd(^<0OmNN=MG*~&8e;C;V6TmRz?2s!(A;~gT+e0X+&N}pkij8+cMEp~A0C(a>*^ao zVPu5F36hongs0b)6XQn7vaPO@)Lyp{5Fzns0@p{38B2e{&wnzgCA-ceJJp}ex+TeT z`rb@7Bn5S7Whly1S0ww~sDZ=T3_AIQElpMB(eo0>PmCu zX@mq&FpBeEc`EtDwy8WH$(Tf~@Z$L5w3O9SznZ!for_~T4TX|Adx4(mh;g7p$CIuU zSW&H>?O_p_(lNN6&}|$YpscH7{9T2G!WGw0_s@9%(K*xJ$(jG0(Z1#$~#4 zG@o9_T&+xv-+O6m6Vfh7^2qanydj%y*%6ET!PFH`wmSYYGgi}A9Y5v;o@shY9tQV% z61;fNe1HM&ej>L=``63)(}IL8DpvQjQYOIaeEIt|3fv{V(H4|S+^4UoqW&;DqM0wv_eQ@VzH*aRt7Cn^wJx~-eux5cw`CJm$hMyvU=I1jUhE z^xNvE*jHs^ynG!hw71@R?5>Wnsxb8D*8_0WpY{DYostb-yo$HuL+@3xl4=g;*U-s1 z(Ig({jEW?>>F}9R>md>os-W2N%;cMTmLt*RzJbwf(fQiE?OQdT9xptD)jOoq`_1;?dqkV#Tpx-tM1ff4A1|2I*8mUfCVK zI=c@+8+>vJ?KH0M?8>+~?7lYYAp1GEo>6f$gZ;`{=zeE~SoAe>o+w6WxSPFVLDyit zVW|ODv}!0s)gk-JuONFGho22q0$4QZ?r++qJM_Cb6svJt5B#eRJoiSdbLX(63j`ZH z{?Rz91Cn+IuKNeN0|6l}EuuiqUgQ*lt^o0coFvrC{6fih?kh`Pr3epxh2WRcH0Jyk zxPovE4|?s&A%H;2xofkLdrI=REM`2KxF53{80kSNlmk=s;&0?=VrhIOM4H77EVt;O z8bxPYN}QnNe)2H<=ASm$+j}I}?A~xAhz^5FyHaX<jjACA|HLmq^XJV`pSII41+Mrn>lSK3+|loqFTHbBhVFq7zse)(8pe2pze&x$<_s$WPZRWjVvZtl{2wbIxG zu3<(sPXqt|n*3IFnDcRXY8o8-d9P6{sqYG|x~p_yzNBoM_z=%rc%c#FT86%&)ANzB z3NMjmU?E0ZQXL~(*IsBUz|o%&mKgr`KdepQEl5F zUCGAd0rcL_@}j+sSC0p|^iZ{z$X0#38*R_F4ye4*coXT>L8-mb4uQRR>*P^4vcXF@ z1)kc2Zl~dwkJDG18#5f7)(R_>4L$Jh(fH@eH4lxFN=5bZ+Ahx5Jy|e0?olimDKXWz z>n<8M&-&~eT{LQBhdOru$UGH3R=xhpYCDJv<6UZSw#_X~&?C;oF=v5!re>@EKyS?2Z=x=ek?TCd&G#!gc@fgh_5^djd(HbqiP^=0D88Jo8y z<4Etu8+h9#4-Em-@q&X$WFWaiEp`8Z6`pzf_)_*aPq$~Vd_i6Yj_n~z3Mhgj{j zx(yuVeZ1bCZstFBpTYBt9-J%u`o5xgYV+(M(|G!2z&Gh8Dy+h@5?Mbino?(Mo13y! z$OKd4%dPkDY>4&ANcwUW9^3HCzUPI;ULTjC18zYpVmZiz1o?aaOtLNM((<~0m!7S^ z&smT7lNKUxw`K}&-yVZ>8R5di%X4OExojt1KIn{C$X>aWlVjz6*6of~%6047=U1z} z^<165X)8LY8b@i6@7B)Fp{wRuwLacC^&Xu&+l|zq#QIwDo=qECkA!mXe9R)@+vtqp zFU_7BG{eMbikDgQ9GkEWoh>wxx}QoluVx8JHBr19u@kyzw{D9%9vR#HDE|6QSC`}y zjFAP5?WsicT{UX*#QBuF_i5AI`=BLn!GPUlIA?s;k@8X}*veOpQ{tP?cXH7eyJ%!- zIR%ba&N6@NK~s9-cd6xI_BuVg9(jZJ0l~V0B@OV(7f2kZ={r|0JmJ)N5d%3nTg}jq zG#W~spj3Xq`R%c#TLG^@|Gj(VoDY|W2d6bcc$`_LJ=Frf(EnglVA)DaCW=>&EnsU` zWO*4n`)xy=h|>N`*_GjY_9HI^kZ-EWIA0j>#?d5ma}`tF)u;J5d!o5)$87Q#t?N;t zXKdVf{?RY*?yU?rzv|<`#)hM{PY<^?p7=hpa0{)dcGHwQNH(2#`KP<_v+QZ}SC2lj zOXFS7uYaiLPYdhjstXv#%le~{N0Q#=5@#j;{46F2nsOBlYd4?Ou3hsE*!>U?_(T~iC?pKMLnA`Zs=j~9jt8vks) z*-1Wg((+n7RFqm1*OG{dKNuCg8C|iTL_cZIU7vBB7LN*7A96Uw%2;Pux#@|S0NqX)D{91^ZO zxU4Iz6h3AfZtUY!e#Enik&OC!l9`ke^1?@R_O~@j)gy_{CU$RJ4jY<3^M(vTUmEd* zgoM11%$I23WbH(TWpqxFtf*dQ?-23rx0(%>-3srVds4A6+?y0j(%M#{)srNUBl!S> zm3kBDmt$H5S+HSr7`vxH9HeM=kHsX9TY`@5a`oxH{F}4AfnBbyy}j(i-(QP9^vR#q zF7&?2T32rz-_|s69vRz7H*V|wBN1J|I3#pW*IH<4h5y>w`q#eStbVo9vT2G;;!k3h z??+dhW;L(BIjec%a)kSkl;^+S%xtUJb%t?i5R-_&We2F5Bn@>SW&D|QIU44 zrPY|a*08j-vtAM9AFs%|W>hVlft&estL^;RubJcC=CkSfN~ejk9o>oJwjI+y)2%zz z_|U%0Ag6^yUOE2FwhtAMaTo5h*(BxZcVj#`C&}Gc3aF(xr;p~gd!zZ^s}9C3Hp+9$ z&5AEr7AV1}0mGlW~34M6h`2&VjAYO$yD_*m>s(sgnK<(^0hxl$|(tH9B@IU11lMC?mgxHB-W@>=JU>bOm&_{5WN3a5}fnTxn` z&3O!49g~%qW^oDjee|NLR$aP@^s^hVDfD(?azS?fcHdfaL2sZ>(CB-93p#;Ux;i$) zZi}nWc6N?!@dJvUk3%T?*<#@{PW)&>Gv~%qL*+V#)|jvX2GZoha$O`I-@avCyO+LhP4$wly52 zD+)Z(EVwI&^Wq4;4eko25!U@#X?M3jX;;bmy7-$WaEK(i5ZX@UarCQuNZL*Nhs>BXqpn3TM!T_40wnS*-q;pHRbvJOK;6FPeytmyPOfSnp%~A1|Rb zSbBTlY^?wy;I%w#W;pKeRE7uQ- zo>xQ9Ha0SMOwWENRa%a(z;A56=<1| zFG|8Y1#xjfjfjm}U&!$8z$IFFhZ(n~r62pI>f z3V^nyYj`8zuG(e(;%&E};|fhIC^J9d1EQ;A1-6!g9LT~b=Z+IY&I?Xtyie}Fjv-|e zojGgFyy%%%)2hPI#&5m1$Pq&m-$Ww?m@%xx)6ev(wUFaVOUwM`X0nI*pW|k{_bmk(jE1U=lp^pfiV$}XI)a6KILux z`K=t!)ui{-Uf)E*gVQCBvFuiF<`^`J!vX2{J^G}E$lsuPN5UfPM_fXTYU@V$H`mQB zsc-hfN0t5;5wM(Oxoyj)2jhODYbP$WsH}d*vd6cUYJW-klh+B`h@AhYKV|_C=Zwjt z4M4A)ClBuUrJdcaAtp`~ZGsU99D7V5GX@9-G{*UY-C~G@c*h;J!_VmD-YUFPcNaEp zfO%=_T+_-UF1ElIUo1(Scso0O%(@#IW8stx2ewB$Vd+10=Ajp`P8llr#P?Z)tl9-x zbsUHfH(e!PN*MIMr5-?f8tbet-0P9w4et@SUd5rhFc(FmTvAp9G?8Ctw!HP^TTr

c-GXNbUP+{R)# zCw$Ih9Id%O&7*mNaA%2P);h!&xc!LgVsD6&)N~4CFSH)U z!{l&}Yl4$4FcALpA?3Q|T|RdnWS2WtYygQM|2a9O8vUzf-ydM>)R;JK&s-GA{H#N! ziM=6_)$?bRsoEQmNRUq9G;G35l=$FP4Av3GCM{FtIn6J8`WUJO~92N&Bp(jED8 zN;BzFJ4A6vHDbFdIKO_;xgPot5-l1QA1AHu3X^b4q?Q>s`uW0ATjoJxglc}Vkl1e& ztC%uY1by}kwFcl(kBDjmM9tk{Cao<8ne8~PkVW6+qUw9{VYVI6)<_0C7Aah?sQVRv z=AYZ8K>U#X^<>6nSv(LmR4MEv8(naw&4ib<0tN}ta)?O_oc%(WY7&nfw~{E5Zkjn7 zt56SES8%RoEmLrn-$A$BKQUlzqkn%BH!)74LFHd+xl!W%XQlgvgoI2BL|2Jl99jhe zOtglqwM2cPjOrG3m}j;zuTAQ`(6)-cKpU`~yHMhPo-pv7_gN+b^dej2%*oM+XK=an z>vi=BsuuEf?{O9T;w+Z~7p+zuo5CMGt*eeJRegj|Od*eB zDr}+(a)U9^0&|r!DVNmkzf+bdoIH?U(GDSMO+N;NtVs^P1ouYLKwC*k&RuYdb>=$< zCN6-K?cQdk3Y?{yHYaZ4DdR38VG!N^VKozH4*N*-#<9Yf$!%touF8RLiWHO1ktH5x z!h&Mb^5Pt8;soViGlQz6MdyJMrlMyfZfT}+gf_t_Z+PZG(>fg{!%uY3q*0S9Ri(Jg z>8E4K7mM*r(fI?2VC3f-(SBC-9}Kl3)LTC`q(xF!B^`ugi) zizL#CfgAw}N@3FiQD;`suzb!f$tMx*mJv{u1eLeMb7A<~6!aqM8G5_t3_t$b7_%tZ zBjPam)XJu3+kMnvw>=Z0e-ueGl;u8CwAzY6DiZc`1J@Vy3%kpvg)?3^$1Q2cp4FMK<+#!9aj1J{{r%kzUG zHT~HF?qym(jQa%TwWuyJX?c>>?gSej&22WfOseE)t+)g+Nwf`!=Tc}r%@wfHz-zY^ z0Te|~LT*bRxxKebm@1!@VcBN9k9TM%1*@T0!R3w4;aTg6}^u+PU*$ z>+QM@SfJ!U+FqKGkwy}R07W$!ZQa6#d=9%DV0|^49_hJhV}=#N`QD;7F_vjcxOIWc zz3iiH-x~|MvIyOz$8>6CBn;2fs?hYrxMXv>9(-lQP?8_4E|Tv-rD{rrD>*W;%z^~f zjANYBp7^J4I~x?Op6*EmxzNfP0Og`#Co$(gufnmV7k8m&geEhAgZHjRw~%L8�iu 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 literal 0 HcmV?d00001 diff --git a/images/directory-connector/onelogin/onelogin-api.png b/images/directory-connector/onelogin/onelogin-api.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c6e45995fabc713cb159171c685cdee3e8ce29 GIT binary patch literal 49903 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 literal 0 HcmV?d00001