From b17a57b3dd5ba6783fbc6d09bf47dc1934de5085 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Fri, 24 Apr 2026 14:06:47 -0400 Subject: [PATCH 01/45] Initial draft for revising getting started The concepts behind this draft: 1. Design paths for the main LocalStack use cases 2. Simplify the quickstart to get them to success faster 3. Have both an awslocal and a terraform quickstart 4. Bring AI and agent use cases up front [DOC-12](https://linear.app/localstack/issue/DOC-12/docs-quickstart-v2) --- .../docs/aws/getting-started/ai-workflows.mdx | 73 +++ .../docs/aws/getting-started/auth-token.mdx | 2 +- .../docs/aws/getting-started/ci-cd.mdx | 185 +++++++ src/content/docs/aws/getting-started/faq.mdx | 2 +- .../docs/aws/getting-started/help-support.md | 2 +- src/content/docs/aws/getting-started/index.md | 23 - .../docs/aws/getting-started/index.mdx | 48 ++ .../docs/aws/getting-started/installation.mdx | 85 ++- .../docs/aws/getting-started/quickstart.mdx | 501 ++++++++---------- 9 files changed, 588 insertions(+), 333 deletions(-) create mode 100644 src/content/docs/aws/getting-started/ai-workflows.mdx create mode 100644 src/content/docs/aws/getting-started/ci-cd.mdx delete mode 100644 src/content/docs/aws/getting-started/index.md create mode 100644 src/content/docs/aws/getting-started/index.mdx diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx new file mode 100644 index 000000000..4746e4ff5 --- /dev/null +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -0,0 +1,73 @@ +--- +title: AI & Agent Workflows +description: Use LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. +template: doc +sidebar: + order: 6 +--- + +## Overview + +LocalStack is a natural fit for AI-assisted development workflows. +Whether you're using an AI coding assistant to generate infrastructure code, running an agent that deploys AWS resources, or validating AI-generated Terraform before applying it to real AWS — LocalStack gives you a safe, fast, cost-free environment to do it in. + +## Connect an AI coding assistant via MCP + +The [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) exposes LocalStack's API as an MCP (Model Context Protocol) tool server. +This lets AI assistants like Claude, Cursor, Windsurf, or any MCP-compatible tool inspect and interact with your running LocalStack instance directly. + +With the MCP server connected, your AI assistant can: + +- List running AWS services and deployed resources +- Create, update, and delete resources in your local environment +- Query resource state to understand what's already deployed +- Help you debug issues by inspecting live infrastructure + +**Quick setup:** + +```bash +# Install the LocalStack MCP server +pip install localstack-mcp-server +``` + +Then add it to your AI tool's MCP configuration. +See the [localstack-mcp-server README](https://github.com/localstack/localstack-mcp-server) for tool-specific setup instructions for Claude, Cursor, and others. + +:::note +The MCP server connects to a running LocalStack instance — make sure LocalStack is started first with `lstk start` or `localstack start`. +::: + +## Deploy with agent-driven automation using Skills + +[LocalStack Skills](https://github.com/localstack/skills) are pre-built agent skill definitions for deploying common AWS architectures locally. +Instead of stepping through manual CLI commands, you describe what you want and an agent handles the deployment. + +Skills are useful when: + +- You want to scaffold a new local environment quickly without writing all the infrastructure code yourself +- You're using an agent-first workflow and want LocalStack to be a first-class deployment target +- You want to iterate rapidly on architecture without touching real AWS + +Browse the [skills repository](https://github.com/localstack/skills) for available skills and setup instructions. + +## Validate AI-generated IaC before applying to AWS + +A common pattern when using AI to generate Terraform, CDK, or CloudFormation is to deploy it to LocalStack first. +This catches configuration errors, missing permissions, and service interaction bugs before you spend time (and money) deploying to real AWS. + +The workflow is: + +1. Generate infrastructure code with your AI tool +2. Deploy to LocalStack with `tflocal apply` (Terraform), `cdklocal deploy` (CDK), or the AWS CLI +3. Run your integration tests against the local environment +4. When everything passes, deploy to real AWS with confidence + +See [Tooling](/aws/tooling/) for the full list of LocalStack-aware wrappers for common IaC tools. + +## Summary + +| Use case | Tool | +|---|---| +| AI assistant that can inspect & manage local resources | [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) | +| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | +| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index b71c45a14..4f6446c00 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -3,7 +3,7 @@ title: Auth Token description: Configure your Auth Token to access and activate LocalStack. template: doc sidebar: - order: 3 + order: 4 --- import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx new file mode 100644 index 000000000..feac59510 --- /dev/null +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -0,0 +1,185 @@ +--- +title: CI/CD Setup +description: Run LocalStack in CI pipelines — auth tokens, Docker Compose, and GitHub Actions examples. +template: doc +sidebar: + order: 5 +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; + +## Overview + +LocalStack works great in CI environments. +The setup differs from local development in a few important ways: + +- **Use a CI Auth Token**, not your personal Developer token +- **Manage the container directly** via Docker Compose or `docker run` — `lstk` and the LocalStack Desktop are local-only tools +- **LocalStack is ephemeral by default** — each CI run starts fresh, which is usually exactly what you want for reproducible tests + +## Step 1 — Get a CI Auth Token + +CI pipelines should use a dedicated CI Auth Token, not a Developer token tied to a specific user. + +1. Go to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application +2. Create a new **CI Auth Token** +3. Add it as a secret in your CI provider (e.g., `LOCALSTACK_AUTH_TOKEN`) + +:::danger[Keep your token secret] +Never commit an auth token to source control. +Always inject it via your CI provider's secrets or environment variable mechanism. +If a token is compromised, rotate it immediately on the Auth Tokens page — old tokens are invalidated instantly. +::: + +See the [Auth Token documentation](/aws/getting-started/auth-token/) for full details on token types and configuration. + +## Step 2 — Start LocalStack in CI + + + + The recommended approach is to start LocalStack as a service container or as a step using the official GitHub Action: + + ```yaml + # .github/workflows/integration-tests.yml + name: Integration Tests + + on: [push, pull_request] + + jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Start LocalStack + uses: LocalStack/setup-localstack@v0.2 + with: + image-tag: latest + env: + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} + + - name: Run tests + run: | + # Your test commands here, e.g.: + pip install awscli-local + awslocal s3 mb s3://my-test-bucket + pytest tests/integration/ + ``` + + The `setup-localstack` action handles pulling the image, starting the container, and waiting for LocalStack to be ready. + + + Add LocalStack as a service in your `docker-compose.yml`: + + ```yaml + services: + localstack: + container_name: localstack-main + image: localstack/localstack-pro + ports: + - "127.0.0.1:4566:4566" + - "127.0.0.1:4510-4559:4510-4559" + - "127.0.0.1:443:443" + environment: + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} + - DEBUG=${DEBUG:-0} + volumes: + - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" + - "/var/run/docker.sock:/var/run/docker.sock" + ``` + + Start it and wait for readiness: + + ```bash + docker compose up -d localstack + # Wait for LocalStack to be ready + until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done + ``` + + :::note + Mounting `/var/run/docker.sock` is required for Lambda emulation, which uses Docker to run function containers. + ::: + + + Start LocalStack directly with `docker run`: + + ```bash + docker run \ + --rm -d \ + --name localstack-main \ + -p 127.0.0.1:4566:4566 \ + -p 127.0.0.1:4510-4559:4510-4559 \ + -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} \ + -v /var/run/docker.sock:/var/run/docker.sock \ + localstack/localstack-pro + + # Wait for readiness + until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done + ``` + + + Add LocalStack as a service in your CircleCI config: + + ```yaml + version: 2.1 + + jobs: + integration-tests: + docker: + - image: cimg/python:3.12 + - image: localstack/localstack-pro + environment: + LOCALSTACK_AUTH_TOKEN: $LOCALSTACK_AUTH_TOKEN + steps: + - checkout + - run: + name: Wait for LocalStack + command: | + until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done + - run: + name: Run tests + command: pytest tests/integration/ + ``` + + Set `LOCALSTACK_AUTH_TOKEN` in your CircleCI project's environment variables. + + + +## Verify activation + +After LocalStack starts, confirm the license is active: + +```bash +curl -s http://localhost:4566/_localstack/info | jq '.is_license_activated' +# Should return: true +``` + +## Key differences from local development + +| | Local development | CI/CD | +|---|---|---| +| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | +| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | +| **Token type** | Developer token | CI token | +| **State** | Optional persistence | Ephemeral (fresh per run) | +| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | + +## Persisting state across runs + +By default, LocalStack starts fresh on every run — all resources are gone when the container stops. +This is ideal for most CI use cases (clean, reproducible tests). + +If you need to share state across runs (e.g., seed data, pre-built infrastructure), look at [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), which let you snapshot and restore LocalStack state. + +## More CI integrations + +LocalStack has dedicated integration guides for many CI providers: + +- [GitHub Actions](/aws/integrations/continuous-integration/github-actions/) +- [GitLab CI](/aws/integrations/continuous-integration/gitlab-ci/) +- [CircleCI](/aws/integrations/continuous-integration/circleci/) +- [AWS CodeBuild](/aws/integrations/continuous-integration/codebuild/) +- [Travis CI](/aws/integrations/continuous-integration/travis-ci/) +- [Bitbucket Pipelines](/aws/integrations/continuous-integration/bitbucket/) + +See the full [CI/CD integrations](/aws/integrations/continuous-integration/) section for details. diff --git a/src/content/docs/aws/getting-started/faq.mdx b/src/content/docs/aws/getting-started/faq.mdx index 12128b64a..3eded1dfc 100644 --- a/src/content/docs/aws/getting-started/faq.mdx +++ b/src/content/docs/aws/getting-started/faq.mdx @@ -3,7 +3,7 @@ title: FAQ description: Frequently asked questions about LocalStack for AWS. template: doc sidebar: - order: 5 + order: 7 --- import { Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/help-support.md b/src/content/docs/aws/getting-started/help-support.md index c66410033..d2dde0db0 100644 --- a/src/content/docs/aws/getting-started/help-support.md +++ b/src/content/docs/aws/getting-started/help-support.md @@ -3,7 +3,7 @@ title: Help & Support description: Get help and support with LocalStack. template: doc sidebar: - order: 6 + order: 8 --- ## Introduction diff --git a/src/content/docs/aws/getting-started/index.md b/src/content/docs/aws/getting-started/index.md deleted file mode 100644 index 017debdb2..000000000 --- a/src/content/docs/aws/getting-started/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Overview -description: This section describes how to get started with LocalStack using a variety of options, and provides details on how LocalStack can be configured to fit the needs of a local cloud sandbox for development, testing, and experimentation. -template: doc -editUrl: false -sidebar: - order: 1 ---- - -[LocalStack](https://localstack.cloud) is a cloud service emulator that runs in a single container on your laptop or in your CI environment. -With LocalStack, you can run your AWS applications or Lambdas entirely on your local machine without connecting to a remote cloud provider! - -Whether you are testing complex CDK applications or Terraform configurations, or just beginning to learn about AWS services, LocalStack helps speed up and simplify your testing and development workflow. - -LocalStack supports a growing number of [AWS services](/aws/services/) -, like [Lambda](/aws/services/lambda), [S3](/aws/services/s3), [DynamoDB](/aws/services/dynamodb), [Kinesis](/aws/services/kinesis), [SQS](/aws/services/sqs), [SNS](/aws/services/sns), and more! -[LocalStack for AWS](https://localstack.cloud/pricing) also supports APIs and advanced features to make your cloud development experience a breeze. - -You can find a comprehensive list of supported APIs on each AWS service page. - -LocalStack also provides additional features to make your life as a cloud developer easier! - -Check out LocalStack's [Cloud Developer Tools](/aws/tooling/). diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx new file mode 100644 index 000000000..4b0e25035 --- /dev/null +++ b/src/content/docs/aws/getting-started/index.mdx @@ -0,0 +1,48 @@ +--- +title: Overview +description: This section describes how to get started with LocalStack for AWS using a variety of options, and provides details on how LocalStack can be configured to fit the needs of a local cloud sandbox for development, testing, and experimentation. +template: doc +editUrl: false +sidebar: + order: 1 +--- + +import { SectionCards } from '../../../../components/SectionCards.tsx'; + +[LocalStack for AWS](https://localstack.cloud) is a cloud service emulator that runs in a single container on your laptop or in your CI environment. +It gives you a fully functional AWS environment — Lambda, DynamoDB, S3, SQS, and [80+ more services](/aws/services/) — without touching a real AWS account and without incurring cloud costs. + +Here's why developers and teams use it: + +- **Faster development loops** — Test changes against local AWS services instantly, without waiting on real deployments or worrying about cloud costs. +- **Integration testing in CI** — Run real integration tests against local AWS infrastructure in every pull request, catching bugs before they reach production. +- **Validate IaC before applying** — Deploy your Terraform, CDK, or CloudFormation to LocalStack first. Confirm it works the way you expect before applying to a real AWS environment. +- **Safe experimentation** — Explore new AWS services and architectures freely, with no risk to production systems. + +LocalStack for AWS also includes advanced capabilities for teams: [Cloud Pods](/aws/capabilities/state-management/cloud-pods/) for sharing and restoring state, [IAM policy enforcement](/aws/capabilities/security-testing/iam-policy-enforcement/), [Chaos Engineering](/aws/capabilities/chaos-engineering/), and more. + +## Choose your path + + diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 4e76ecba2..dcc080ab8 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -1,24 +1,68 @@ --- title: Installation -description: Basic installation guide to get started with LocalStack on your local machine. +description: All installation methods for LocalStack — lstk, LocalStack CLI, Docker Compose, Docker, and Helm. template: doc sidebar: - order: 2 + order: 3 --- import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; import { LOCALSTACK_VERSION } from "astro:env/server"; -## LocalStack CLI +## Local development -The quickest way get started with LocalStack is by using the LocalStack CLI. -It allows you to start LocalStack from your command line. +There are two CLI options for running LocalStack on your laptop. Start with `lstk` if you want the fastest path to a running instance, or use the LocalStack CLI if you need full feature support. + +### lstk + +`lstk` is a lightweight, Go-based CLI that handles the full startup sequence in one command: browser-based login, image pull, and container launch. +It's the fastest way to get LocalStack running locally. + +:::caution[Early release] +`lstk` currently supports core lifecycle commands (`start`, `stop`, `logs`, `status`). +For advanced features like Cloud Pods, Extensions, and Ephemeral Instances, use the [LocalStack CLI](#localstack-cli) instead. +Both tools can coexist on the same system. +::: + +Install `lstk`: + + + + ```bash + brew install localstack/tap/lstk + ``` + + + ```bash + npm install -g @localstack/lstk + ``` + + + Download a pre-built binary for your platform from [GitHub Releases](https://github.com/localstack/lstk/releases) and add it to your `PATH`. + + + +Start LocalStack: + +```bash +lstk start +``` + +On first run, `lstk` opens a browser login flow. +After authenticating, it pulls the LocalStack image and starts the container. +Subsequent starts use the stored credential from your system keyring — no manual token management needed. + +--- + +### LocalStack CLI + +The full-featured LocalStack CLI gives you access to all LocalStack capabilities. Please make sure that you have a working [Docker installation](https://docs.docker.com/get-docker/) on your machine before moving on. ### Installing LocalStack CLI The CLI starts and manages the LocalStack Docker container. -For alternative methods of managing the LocalStack container, see our [alternative installation instructions](#alternatives). +For alternative methods of managing the LocalStack container, see our [alternative installation instructions](#ci-and-server-environments). @@ -196,30 +240,25 @@ Updating the LocalStack CLI using `localstack update localstack-cli` and `locals If it was installed using the pre-built binary or via Brew, please run the installation steps again to update to the latest version. ::: -## Alternatives - -Besides using the CLI, there are other ways of starting and managing your LocalStack instance: - -- [LocalStack Desktop](#localstack-desktop)\ - Get a desktop experience and work with your local LocalStack instance via the UI. +## CI and server environments -- [LocalStack Docker Extension](#localstack-docker-extension)\ - Use the LocalStack extension for Docker Desktop to work with your LocalStack instance. +For CI pipelines and server deployments, you'll manage the LocalStack container directly rather than using a local CLI. +See the [CI/CD Setup guide](/aws/getting-started/ci-cd/) for a complete walkthrough including GitHub Actions examples. -- [Docker-Compose](#docker-compose)\ - Use Docker Compose to configure and start your LocalStack Docker container. +The options below cover the main container management approaches: -- [Docker](#docker)\ - Use the Docker CLI to manually start the LocalStack Docker container. +- [Docker Compose](#docker-compose) — recommended for CI and team environments +- [Docker](#docker) — direct container control for scripted setups +- [Helm](#helm) — deploy LocalStack in a Kubernetes cluster -- [Helm](#helm)\ - Use Helm to create a LocalStack deployment in a Kubernetes cluster. +The LocalStack emulator is available on Docker Hub as `localstack/localstack-pro`. -LocalStack runs inside a Docker container, and the above options are different ways to start and manage the LocalStack Docker container. +For a comprehensive overview of LocalStack images, see the [Docker images documentation](/aws/capabilities/config/docker-images). -The LocalStack emulator is available on Docker Hub (`localstack/localstack-pro`). +## GUI tools -For a comprehensive overview of the LocalStack images, check out our [Docker images documentation](/aws/capabilities/config/docker-images). +- [LocalStack Desktop](#localstack-desktop) — desktop UI for managing your local instance +- [LocalStack Docker Extension](#localstack-docker-extension) — manage LocalStack from Docker Desktop ### LocalStack Desktop diff --git a/src/content/docs/aws/getting-started/quickstart.mdx b/src/content/docs/aws/getting-started/quickstart.mdx index 7774291f2..f44442699 100644 --- a/src/content/docs/aws/getting-started/quickstart.mdx +++ b/src/content/docs/aws/getting-started/quickstart.mdx @@ -1,361 +1,294 @@ --- title: Quickstart -description: How to run an AWS application on your local machine and test local cloud development with LocalStack. +description: Deploy a serverless API locally with LocalStack in under 10 minutes using Lambda and DynamoDB. template: doc sidebar: - order: 4 + order: 2 --- -import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; ## Introduction -In this quickstart guide, we'll walk you through the process of starting LocalStack on your local machine and deploying a [serverless image resizer application](https://github.com/localstack-samples/sample-serverless-image-resizer-s3-lambda) that utilizes several AWS services. -This guide aims to help you understand how to use LocalStack for the development and testing of your AWS applications locally. -It introduces you to the following key concepts: +In this quickstart you'll start LocalStack and deploy a simple serverless API — a **Lambda function backed by DynamoDB** — entirely on your local machine. +No AWS account needed. -- Starting a LocalStack instance on your local machine. -- Deploying an AWS serverless application infrastructure locally. -- Running an automated integration test suite against local infrastructure. -- Exploring the LocalStack Web Application to view deployed resources. -- Destroying the local infrastructure you have provisioned. +By the end you will have: -## Architecture +- LocalStack running locally in Docker +- A Lambda function deployed and invokable via a public URL +- A DynamoDB table storing data written by the Lambda +- Confirmed that your local environment behaves like real AWS -The following diagram shows the architecture that we will deploy locally using LocalStack: - -![An AWS architecture demonstrating a sample serverless image resizer application](https://user-images.githubusercontent.com/3996682/229322761-92f52eec-5bfb-412a-a3cb-8af4ee1fed24.png) - -The architecture: - -- Configures S3 bucket notifications to invoke a Lambda function. -- Provides S3 pre-signed POST URLs for direct uploads to the S3 bucket. -- Creates S3 website hosting for serving the static application client. -- Configures direct invocation URLs for Lambda functions accessible to the client. -- Establishes Lambda SNS to SNS topic notifications for failure handling. -- Creates SNS to SES subscriptions for email notifications triggered by specific events. - -An internal SES LocalStack testing endpoint (`/_localstack/aws/ses`) is configured as well, to test email sending functionality while running our local integration test suite. +Choose your preferred deployment style below: **AWS CLI** (`awslocal`) or **Terraform** (`tflocal`). ## Prerequisites -- [LocalStack CLI](/aws/getting-started/installation/#installing-localstack-cli) -- [LocalStack Web Application account](https://app.localstack.cloud/sign-up) & [Auth Token](/aws/getting-started/auth-token/) -- [Docker](https://docs.docker.com/get-docker/) -- [Python 3.11+](https://www.python.org/downloads/) & `pip` -- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) & [`awslocal` wrapper](/aws/integrations/aws-native-tools/aws-cli/#localstack-aws-cli-awslocal) -- `jq`, `zip` & `curl` - -You can start LocalStack using the `localstack` CLI. -Start the LocalStack for AWS container with your `LOCALSTACK_AUTH_TOKEN` pre-configured: +- [Docker](https://docs.docker.com/get-docker/) installed and running +- A [LocalStack account](https://app.localstack.cloud/sign-up) (free tier works) - - - \nlocalstack start`} lang="shell" /> - - - \nlocalstack start`} lang="shell" /> - - +## Step 1 — Install and start LocalStack -If you prefer running LocalStack in detached mode, you can add the `-d` flag to the `localstack start` command, and use Docker Desktop to view the logs. +The fastest way to get LocalStack running locally is with `lstk`, a lightweight CLI that handles authentication and image setup automatically. -## Instructions + + + Install `lstk`: -To get started, clone the sample application repository from GitHub: + ```bash + brew install localstack/tap/lstk # macOS / Linux with Homebrew + ``` -```bash -git clone https://github.com/localstack-samples/sample-serverless-image-resizer-s3-lambda.git -cd sample-serverless-image-resizer-s3-lambda -``` + ```bash + npm install -g @localstack/lstk # or via npm + ``` -You can now follow the instructions below to start LocalStack, deploy the sample application, and test the application. + Then start LocalStack: -### Setup a virtual environment + ```bash + lstk start + ``` -To deploy the sample application, you need to have specific Python packages are installed. -It is advisable to utilize a virtual environment for the installation process, allowing the packages to be installed in an isolated environment. -Execute the following commands to create a virtual environment and install the packages in `requirements-dev.txt`: + On first run, `lstk` opens a browser login to authenticate, then pulls the image and starts the container automatically. - - - ```shell - python -m venv .venv - source .venv/bin/activate - pip install -r requirements-dev.txt - ``` + :::note[Early release] + `lstk` currently supports core lifecycle commands (start, stop, logs, status). + For advanced features like Cloud Pods, Extensions, and Ephemeral Instances, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli) instead. + ::: - - ```shell - python -m venv .venv - .venv\Scripts\activate - pip install -r requirements-dev.txt + + If you prefer the full-featured LocalStack CLI, [install it first](/aws/getting-started/installation/#localstack-cli), then [configure your auth token](/aws/getting-started/auth-token/), and start LocalStack: + + ```bash + localstack start ``` -:::tip -If you are encountering issues with the installation of the packages, such as Pillow, ensure you use the same version as the Python Lambdas (3.11.6) for Pillow to work. -If you're using pyenv, install and activate Python 3.11 with the following commands: +Wait for the container to report ready — you'll see a log line like `Ready.` or you can verify with: + ```bash -pyenv install 3.11 -pyenv global 3.11 +curl -s http://localhost:4566/_localstack/health | grep '"running"' ``` -::: -### Setup the serverless image resizer +## Step 2 — Deploy the serverless API -This application enables serverless image resizing using [S3](/aws/services/s3/), [SSM](/aws/services/ssm/), [Lambda](/aws/services/lambda/), [SNS](/aws/services/sns/), and [SES](/aws/services/ses/). -A simple web interface allows users to upload and view resized images. -A Lambda function generates S3 pre-signed URLs for direct uploads, while S3 bucket notifications trigger image resizing. -Another Lambda function lists and provides pre-signed URLs for browser display. -The application also handles Lambda failures through SNS and SES email notifications. +Now deploy a Lambda function and a DynamoDB table. Pick the tooling you prefer: -The sample application uses AWS CLI and our `awslocal` wrapper to deploy the application to LocalStack. -Before going further, you need to build your Lambda functions. -You can use the following script that will cover all three of them: + + + Install the `awslocal` wrapper if you haven't already: -```bash -deployment/build-lambdas.sh -``` + ```bash + pip install awscli-local + ``` -You can now deploy the sample application on LocalStack by running the following command: + **Create the Lambda function:** + + ```bash + mkdir -p /tmp/localstack-demo + cat > /tmp/localstack-demo/handler.py << 'EOF' + import json, boto3, os, uuid + + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + cd /tmp/localstack-demo && zip handler.zip handler.py + ``` -```bash -deployment/awslocal/deploy.sh -``` + **Create the DynamoDB table:** -Alternatively, you can follow these instructions to deploy the sample application manually step-by-step. + ```bash + awslocal dynamodb create-table \ + --table-name Messages \ + --attribute-definitions AttributeName=id,AttributeType=S \ + --key-schema AttributeName=id,KeyType=HASH \ + --billing-mode PAY_PER_REQUEST + ``` -:::tip -In absence of the `awslocal` wrapper, you can use the `aws` CLI directly, by configuring an [endpoint URL](/aws/integrations/aws-native-tools/aws-cli/#configuring-an-endpoint-url) or a [custom profile](/aws/integrations/aws-native-tools/aws-cli/#configuring-a-custom-profile) like `localstack`. -You can then swap `awslocal` with `aws --endpoint-url=http://localhost:4566` or `aws --profile=localstack` in the commands below. -::: + **Deploy the Lambda:** -#### Create the S3 buckets + ```bash + awslocal lambda create-function \ + --function-name messages-api \ + --runtime python3.12 \ + --handler handler.handler \ + --zip-file fileb:///tmp/localstack-demo/handler.zip \ + --role arn:aws:iam::000000000000:role/lambda-role \ + --environment Variables={TABLE_NAME=Messages} -```bash -awslocal s3 mb s3://localstack-thumbnails-app-images -awslocal s3 mb s3://localstack-thumbnails-app-resized -``` + awslocal lambda wait function-active --function-name messages-api + ``` -#### Add bucket names into the parameter store + **Create a public function URL:** -```bash -awslocal ssm put-parameter \ - --name /localstack-thumbnail-app/buckets/images \ - --type "String" \ - --value "localstack-thumbnails-app-images" -awslocal ssm put-parameter \ - --name /localstack-thumbnail-app/buckets/resized \ - --type "String" \ - --value "localstack-thumbnails-app-resized" -``` + ```bash + awslocal lambda create-function-url-config \ + --function-name messages-api \ + --auth-type NONE + ``` -#### Create SNS DLQ Topic for failed lambda invocations + **Retrieve the URL:** -```bash -awslocal sns create-topic --name failed-resize-topic -``` + ```bash + LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) + echo $LAMBDA_URL + ``` + + + Install Terraform and the `tflocal` wrapper: -To receive immediate alerts in case of image resize failures, subscribe an email address to the system. -You can use the following command to subscribe an email address to the SNS topic: + ```bash + brew install hashicorp/tap/terraform # or see https://developer.hashicorp.com/terraform/install + pip install terraform-local + ``` -```bash -awslocal sns subscribe \ - --topic-arn arn:aws:sns:us-east-1:000000000000:failed-resize-topic \ - --protocol email \ - --notification-endpoint my-email@example.com -``` + Create a project directory and `main.tf`: -#### Create the Presign Lambda - -```bash showshowLineNumbers -(cd lambdas/presign; rm -f lambda.zip; zip lambda.zip handler.py) -awslocal lambda create-function \ - --function-name presign \ - --runtime python3.11 \ - --timeout 10 \ - --zip-file fileb://lambdas/presign/lambda.zip \ - --handler handler.handler \ - --role arn:aws:iam::000000000000:role/lambda-role \ - --environment Variables="{STAGE=local}" -awslocal lambda wait function-active-v2 --function-name presign -awslocal lambda create-function-url-config \ - --function-name presign \ - --auth-type NONE -``` + ```bash + mkdir -p /tmp/localstack-demo && cd /tmp/localstack-demo + ``` -#### Create the Image List Lambda - -```bash showshowLineNumbers -(cd lambdas/list; rm -f lambda.zip; zip lambda.zip handler.py) -awslocal lambda create-function \ - --function-name list \ - --handler handler.handler \ - --zip-file fileb://lambdas/list/lambda.zip \ - --runtime python3.11 \ - --timeout 10 \ - --role arn:aws:iam::000000000000:role/lambda-role \ - --environment Variables="{STAGE=local}" -awslocal lambda wait function-active-v2 --function-name list -awslocal lambda create-function-url-config \ - --function-name list \ - --auth-type NONE -``` + ```hcl + # main.tf + terraform { + required_providers { + aws = { source = "hashicorp/aws" } + archive = { source = "hashicorp/archive" } + } + } + + resource "aws_dynamodb_table" "messages" { + name = "Messages" + billing_mode = "PAY_PER_REQUEST" + hash_key = "id" + attribute { + name = "id" + type = "S" + } + } + + data "archive_file" "lambda" { + type = "zip" + output_path = "${path.module}/handler.zip" + source { + filename = "handler.py" + content = <<-EOF + import json, boto3, os, uuid + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + } + } + + resource "aws_iam_role" "lambda_role" { + name = "lambda-role" + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ Action = "sts:AssumeRole", Effect = "Allow", + Principal = { Service = "lambda.amazonaws.com" } }] + }) + } + + resource "aws_lambda_function" "messages_api" { + function_name = "messages-api" + runtime = "python3.12" + handler = "handler.handler" + filename = data.archive_file.lambda.output_path + source_code_hash = data.archive_file.lambda.output_base64sha256 + role = aws_iam_role.lambda_role.arn + environment { + variables = { TABLE_NAME = aws_dynamodb_table.messages.name } + } + } + + resource "aws_lambda_function_url" "messages_api" { + function_name = aws_lambda_function.messages_api.function_name + authorization_type = "NONE" + } + + output "function_url" { + value = aws_lambda_function_url.messages_api.function_url + } + ``` -#### Build the Image Resizer Lambda + **Deploy:** - - - ```bash showshowLineNumbers - cd lambdas/resize - rm -rf libs lambda.zip - docker run --platform linux/x86_64 -v "$PWD":/var/task "public.ecr.aws/sam/build-python3.11" /bin/sh -c "pip install -r requirements.txt -t libs; exit" - cd libs && zip -r ../lambda.zip . && cd .. - zip lambda.zip handler.py - rm -rf libs - cd ../.. + ```bash + tflocal init + tflocal apply -auto-approve ``` - - - ```bash showshowLineNumbers - cd lambdas/resize - rm -rf package lambda.zip - mkdir package - pip install -r requirements.txt -t package --platform manylinux_2_28_x86_64 --python-version 3.11 --no-deps - zip lambda.zip handler.py - cd package - zip -r ../lambda.zip *; - cd ../.. - ``` - - - ```bash showshowLineNumbers - cd lambdas/resize - rm -rf package lambda.zip - mkdir package - pip install -r requirements.txt -t package - zip lambda.zip handler.py - cd package - zip -r ../lambda.zip\_; - cd ../.. + + **Retrieve the URL:** + + ```bash + LAMBDA_URL=$(tflocal output -raw function_url) + echo $LAMBDA_URL ``` -#### Create the Image Resizer Lambda - -```bash showshowLineNumbers -awslocal lambda create-function \ - --function-name resize \ - --runtime python3.11 \ - --timeout 10 \ - --zip-file fileb://lambdas/resize/lambda.zip \ - --handler handler.handler \ - --dead-letter-config TargetArn=arn:aws:sns:us-east-1:000000000000:failed-resize-topic \ - --role arn:aws:iam::000000000000:role/lambda-role \ - --environment Variables="{STAGE=local}" -awslocal lambda wait function-active-v2 --function-name resize -awslocal lambda put-function-event-invoke-config \ - --function-name resize \ - --maximum-event-age-in-seconds 3600 \ - --maximum-retry-attempts 0 -``` +## Step 3 — Test the API -#### Connect S3 bucket to Resizer Lambda +Store a message: ```bash -awslocal s3api put-bucket-notification-configuration \ - --bucket localstack-thumbnails-app-images \ - --notification-configuration "{\"LambdaFunctionConfigurations\": [{\"LambdaFunctionArn\": \"$(awslocal lambda get-function --function-name resize --output json | jq -r .Configuration.FunctionArn)\", \"Events\": [\"s3:ObjectCreated:*\"]}]}" +curl -X POST "$LAMBDA_URL" \ + -H "Content-Type: application/json" \ + -d '{"message": "Hello, LocalStack!"}' ``` -#### Create the S3 static website +You should get back a response like: -```bash -awslocal s3 mb s3://webapp -awslocal s3 sync --delete ./website s3://webapp -awslocal s3 website s3://webapp --index-document index.html +```json +{"id": "a1b2c3d4-...", "message": "Hello, LocalStack!"} ``` -#### Retrieve the Lambda Function URLs - -Retrieve the Lambda function URLs for the `presign` and `list` Lambda functions using the following commands: +List all messages: ```bash -awslocal lambda list-function-url-configs --function-name presign --output json | jq -r '.FunctionUrlConfigs[0].FunctionUrl' -awslocal lambda list-function-url-configs --function-name list --output json | jq -r '.FunctionUrlConfigs[0].FunctionUrl' +curl "$LAMBDA_URL" ``` -Save these URLs for later use in the sample application. - -### Run the sample AWS application - -To access the application, go to [**https://webapp.s3-website.localhost.localstack.cloud:4566**](https://webapp.s3-website.localhost.localstack.cloud:4566) in your browser. - -![Serverless image resizer application](/images/aws/serverless-image-resizer-application.png) - -Paste the `presign` and `list` Lambda function URLs into the application and click **Apply**. -Alternatively, click on **Load from API** to automatically load the URLs. +**That's the win.** You just invoked a real Lambda function that wrote to a real DynamoDB table — all running locally, with no AWS account and no cloud costs. -Upload an image, and click **Upload**. -The upload form uses the `presign` Lambda to request an S3 pre-signed POST URL, forwarding the POST request to S3. -Asynchronous resizing (maximum 400x400 pixels) occurs through S3 bucket notifications. +## Step 4 — Inspect your resources -If successful, the application displays a **success!** alert. -Click **Refresh** to trigger your browser to request the `list` Lambda URL, returning a JSON document of all items in the images (`localstack-thumbnails-app-images`) and resized images (`localstack-thumbnails-app-resized`) bucket. +You can browse the resources you just deployed in the [LocalStack Web Application](https://app.localstack.cloud/). +Navigate to your [Default Instance](https://app.localstack.cloud/inst/default/status) and click through to [Lambda](https://app.localstack.cloud/inst/default/resources/lambda/functions) or [DynamoDB](https://app.localstack.cloud/inst/default/resources/dynamodb) to see your running infrastructure. -![Serverless image resizer application displaying a resized image](/images/aws/resized-image-sample-application.png) +## Step 5 — Clean up -### View the deployed resources - -You can inspect the resources deployed as part of the sample application by accessing the [**LocalStack Web Application**](https://app.localstack.cloud/). -Navigate to your [**Default Instance**](https://app.localstack.cloud/inst/default/status) to view the deployed resources. - -![Status Page of the LocalStack Web Application"](/images/aws/localstack-web-application-status.png) - -Click on [S3](https://app.localstack.cloud/inst/default/resources/s3) or [Lambda](https://app.localstack.cloud/inst/default/resources/lambda/functions) to view the S3 buckets and Lambda functions respectively. - -![The Lambda Resource Browser Page of the LocalStack Web Application](/images/aws/localstack-web-application-lambda.png) - -### Run integration tests - -To run automated integration tests against the sample application, use the following command: - -```bash -pytest -v -``` - -Additionally, you can verify that when the `resize` Lambda fails, an SNS message is sent to a topic that an SES subscription listens to, triggering an email with the raw failure message. -Since there's no real email server involved, you can use the LocalStack SES developer endpoint to list messages sent via SES: +When you're done, stop LocalStack to tear down all local resources: ```bash -curl -s http://localhost.localstack.cloud:4566/_aws/ses | jq +lstk stop # if using lstk +localstack stop # if using the LocalStack CLI ``` -An alternative option is to use a service like MailHog or `smtp4dev`. -Start LocalStack with `SMTP_HOST=host.docker.internal:1025`, pointing to the mock SMTP server. - -### Destroy the local infrastructure - -Now that you've learned how to deploy a local AWS infrastructure for your sample application, let's clean up and tear down the resources associated with the project: - -```bash -localstack stop -``` - -LocalStack is ephemeral, meaning it doesn't persist any data across restarts. -It runs inside a Docker container, and once it's stopped, all locally created resources are automatically removed. - -To persist the local cloud resources across restarts, navigate to our [persistence documentation](/aws/capabilities/state-management/persistence) or learn about [Cloud Pods](/aws/capabilities/state-management/cloud-pods), our next generation state management utility. - -## Next Steps +LocalStack is ephemeral by default — stopping it removes all provisioned resources. +To persist state across restarts, see [Persistence](/aws/capabilities/state-management/persistence/) or [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). -Congratulations on deploying an AWS application locally using LocalStack! -To expand your LocalStack capabilities, explore the following based on your expertise: +## Next steps -- [Tutorials](/aws/tutorials): Check out our tutorials to learn how to use LocalStack across various AWS services and application stacks. -- [Supported Services](/aws/services): Explore LocalStack's emulated AWS services. -- [Capabilities](/aws/capabilities/): Learn about LocalStack's capabilities including features like IAM policy stream, state management, and more. -- [Tooling](/aws/tooling/): Get details on LocalStack's tooling and integrations. -- [Blog](https://blog.localstack.cloud): Read our blog posts about LocalStack and the latest enhancements for a better local development and testing experience. +- [Tutorials](/aws/tutorials/) — Deeper dives into specific AWS services and application stacks +- [Supported Services](/aws/services/) — Full list of emulated AWS services +- [CI/CD Setup](/aws/getting-started/ci-cd/) — Run LocalStack in GitHub Actions and other pipelines +- [AI & Agent Workflows](/aws/getting-started/ai-workflows/) — Use LocalStack with AI coding tools and agents +- [Tooling](/aws/tooling/) — `awslocal`, `tflocal`, LocalStack Desktop, and more From 6ea3ae46d9a8888c5b222c9de5f8d359c3e2692c Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Fri, 24 Apr 2026 14:47:40 -0400 Subject: [PATCH 02/45] Update quickstart.mdx --- src/content/docs/aws/getting-started/quickstart.mdx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/content/docs/aws/getting-started/quickstart.mdx b/src/content/docs/aws/getting-started/quickstart.mdx index f44442699..687b87338 100644 --- a/src/content/docs/aws/getting-started/quickstart.mdx +++ b/src/content/docs/aws/getting-started/quickstart.mdx @@ -5,6 +5,7 @@ template: doc sidebar: order: 2 --- + import { Tabs, TabItem } from '@astrojs/starlight/components'; ## Introduction @@ -24,7 +25,7 @@ Choose your preferred deployment style below: **AWS CLI** (`awslocal`) or **Terr ## Prerequisites - [Docker](https://docs.docker.com/get-docker/) installed and running -- A [LocalStack account](https://app.localstack.cloud/sign-up) (free tier works) +- A [LocalStack account](https://app.localstack.cloud/sign-up) ## Step 1 — Install and start LocalStack @@ -54,6 +55,7 @@ The fastest way to get LocalStack running locally is with `lstk`, a lightweight `lstk` currently supports core lifecycle commands (start, stop, logs, status). For advanced features like Cloud Pods, Extensions, and Ephemeral Instances, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli) instead. ::: + If you prefer the full-featured LocalStack CLI, [install it first](/aws/getting-started/installation/#localstack-cli), then [configure your auth token](/aws/getting-started/auth-token/), and start LocalStack: @@ -61,6 +63,7 @@ The fastest way to get LocalStack running locally is with `lstk`, a lightweight ```bash localstack start ``` + @@ -143,6 +146,7 @@ Now deploy a Lambda function and a DynamoDB table. Pick the tooling you prefer: --output text) echo $LAMBDA_URL ``` + Install Terraform and the `tflocal` wrapper: @@ -241,6 +245,7 @@ Now deploy a Lambda function and a DynamoDB table. Pick the tooling you prefer: LAMBDA_URL=$(tflocal output -raw function_url) echo $LAMBDA_URL ``` + @@ -257,7 +262,7 @@ curl -X POST "$LAMBDA_URL" \ You should get back a response like: ```json -{"id": "a1b2c3d4-...", "message": "Hello, LocalStack!"} +{ "id": "a1b2c3d4-...", "message": "Hello, LocalStack!" } ``` List all messages: From 71369d638c82c8f76090482ccbd711ed083bc30c Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 07:46:48 -0400 Subject: [PATCH 03/45] Clean up the ordering Fixed some issues on the quick start and reordered the pages to make a more logical order --- .../docs/aws/getting-started/ai-workflows.mdx | 10 +- .../docs/aws/getting-started/auth-token.mdx | 2 +- .../docs/aws/getting-started/ci-cd.mdx | 24 +- .../docs/aws/getting-started/installation.mdx | 118 ++++-- .../docs/aws/getting-started/quickstart.mdx | 401 ++++++++++-------- 5 files changed, 323 insertions(+), 232 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 4746e4ff5..224690374 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -3,7 +3,7 @@ title: AI & Agent Workflows description: Use LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. template: doc sidebar: - order: 6 + order: 5 --- ## Overview @@ -66,8 +66,8 @@ See [Tooling](/aws/tooling/) for the full list of LocalStack-aware wrappers for ## Summary -| Use case | Tool | -|---|---| +| Use case | Tool | +| ------------------------------------------------------ | ---------------------------------------------------------------------------- | | AI assistant that can inspect & manage local resources | [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) | -| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | -| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | +| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | +| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index 4f6446c00..b35141c90 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -3,7 +3,7 @@ title: Auth Token description: Configure your Auth Token to access and activate LocalStack. template: doc sidebar: - order: 4 + order: 6 --- import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index feac59510..594ffed2c 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -1,16 +1,16 @@ --- -title: CI/CD Setup +title: CI/CD description: Run LocalStack in CI pipelines — auth tokens, Docker Compose, and GitHub Actions examples. template: doc sidebar: - order: 5 + order: 4 --- import { Tabs, TabItem } from '@astrojs/starlight/components'; ## Overview -LocalStack works great in CI environments. +LocalStack works great in CI environments, allowing your integration tests to run incredibly fast and with no cloud costs. The setup differs from local development in a few important ways: - **Use a CI Auth Token**, not your personal Developer token @@ -67,6 +67,7 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de ``` The `setup-localstack` action handles pulling the image, starting the container, and waiting for LocalStack to be ready. + Add LocalStack as a service in your `docker-compose.yml`: @@ -99,6 +100,7 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de :::note Mounting `/var/run/docker.sock` is required for Lambda emulation, which uses Docker to run function containers. ::: + Start LocalStack directly with `docker run`: @@ -116,6 +118,7 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de # Wait for readiness until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done ``` + Add LocalStack as a service in your CircleCI config: @@ -142,6 +145,7 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de ``` Set `LOCALSTACK_AUTH_TOKEN` in your CircleCI project's environment variables. + @@ -156,13 +160,13 @@ curl -s http://localhost:4566/_localstack/info | jq '.is_license_activated' ## Key differences from local development -| | Local development | CI/CD | -|---|---|---| -| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | -| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | -| **Token type** | Developer token | CI token | -| **State** | Optional persistence | Ephemeral (fresh per run) | -| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | +| | Local development | CI/CD | +| -------------- | ----------------------------- | ------------------------------- | +| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | +| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | +| **Token type** | Developer token | CI token | +| **State** | Optional persistence | Ephemeral (fresh per run) | +| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | ## Persisting state across runs diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index dcc080ab8..e6239ce0d 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -3,11 +3,11 @@ title: Installation description: All installation methods for LocalStack — lstk, LocalStack CLI, Docker Compose, Docker, and Helm. template: doc sidebar: - order: 3 + order: 2 --- import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; -import { LOCALSTACK_VERSION } from "astro:env/server"; +import { LOCALSTACK_VERSION } from 'astro:env/server'; ## Local development @@ -28,17 +28,13 @@ Install `lstk`: - ```bash - brew install localstack/tap/lstk - ``` - - - ```bash - npm install -g @localstack/lstk - ``` + ```bash brew install localstack/tap/lstk ``` + ```bash npm install -g @localstack/lstk ``` - Download a pre-built binary for your platform from [GitHub Releases](https://github.com/localstack/lstk/releases) and add it to your `PATH`. + Download a pre-built binary for your platform from [GitHub + Releases](https://github.com/localstack/lstk/releases) and add it to your + `PATH`. @@ -70,22 +66,43 @@ For alternative methods of managing the LocalStack container, see our [alternati You can download the pre-built binary for your architecture using the link below: -x86-64 -ARM64 + + x86-64 + + + ARM64 + or use the curl commands below: For x86-64: - + For ARM64: - + Then extract the LocalStack CLI from the terminal: - +
Alternative: Homebrew on Linux @@ -95,6 +112,7 @@ If you are using [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), y ```bash brew install localstack/tap/localstack-cli ``` +
@@ -112,16 +130,28 @@ brew install localstack/tap/localstack-cli You may download the binary for your architecture using the link below: -Intel (AMD64) + + Intel (AMD64) + or use the following curl command: - + Then extract the LocalStack CLI from the terminal: - + @@ -130,9 +160,16 @@ Then extract the LocalStack CLI from the terminal: You can download the pre-built binary for your architecture using the link below: -Intel (AMD64) + + Intel (AMD64) + Then extract the archive and execute the binary in Powershell. + @@ -156,8 +193,8 @@ To download a specific version of LocalStack, replace `` with the requi ```bash python3 -m pip install localstack== ``` -::: +::: :::tip[MacOS Sierra?] If you have problems with permissions in MacOS X Sierra, install with: @@ -165,6 +202,7 @@ If you have problems with permissions in MacOS X Sierra, install with: ```bash python3 -m pip install --user localstack ``` + ::: :::danger @@ -183,7 +221,6 @@ To verify that the LocalStack CLI was installed correctly, you can check the ver You are all set! - :::note To start LocalStack, you must first [set up your auth token](/aws/getting-started/auth-token). ::: @@ -200,7 +237,7 @@ localstack start # start localstack in background with -d flag / / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/ / /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,< /_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_| - + 💻 LocalStack CLI ${LOCALSTACK_VERSION} 👤 Profile: default @@ -211,7 +248,6 @@ localstack start # start localstack in background with -d flag [12:47:15] detaching bootstrap.py:1262 ``` - ### Updating LocalStack CLI The LocalStack CLI allows you to easily update the different components of LocalStack. @@ -287,24 +323,23 @@ Docker Compose v1.9.0 and above is supported. ```yaml showshowLineNumbers services: localstack: - container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}" - image: localstack/localstack-pro # required for Pro + container_name: '${LOCALSTACK_DOCKER_NAME:-localstack-main}' + image: localstack/localstack-pro # required for Pro ports: - - "127.0.0.1:4566:4566" # LocalStack Gateway - - "127.0.0.1:4510-4559:4510-4559" # external services port range - - "127.0.0.1:443:443" # LocalStack HTTPS Gateway (Pro) + - '127.0.0.1:4566:4566' # LocalStack Gateway + - '127.0.0.1:4510-4559:4510-4559' # external services port range + - '127.0.0.1:443:443' # LocalStack HTTPS Gateway (Pro) environment: # Activate LocalStack for AWS: https://docs.localstack.cloud/getting-started/auth-token/ - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} # required for Pro + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} # required for Pro # LocalStack configuration: https://docs.localstack.cloud/references/configuration/ - DEBUG=${DEBUG:-0} - PERSISTENCE=${PERSISTENCE:-0} volumes: - - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" - - "/var/run/docker.sock:/var/run/docker.sock" + - '${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack' + - '/var/run/docker.sock:/var/run/docker.sock' ``` - Start the container by running the following command: ```bash @@ -312,6 +347,7 @@ docker compose up ``` :::note + - This command pulls the current nightly build from the `main` branch (if you don't have the image locally) and **not** the latest supported version. If you want to use a specific version, set the appropriate LocalStack image tag at `services.localstack.image` in the `docker-compose.yml` file (for example `localstack/localstack:`). @@ -330,7 +366,7 @@ docker compose up Please consider removing it, if this functionality is needed. - To configure an Auth Token, refer to the [Auth Token](/aws/getting-started/auth-token) documentation. -::: + ::: Please note that there are a few pitfalls when configuring your stack manually via docker-compose (e.g., required container name, Docker network, volume mounts, and environment variables). We recommend using the LocalStack CLI to validate your configuration, which will print warning messages in case it detects any potential misconfigurations: @@ -366,6 +402,7 @@ docker run \ ``` :::note + - This command pulls the current nightly build from the `main` branch (if you don't have the image locally) and **not** the latest supported version. If you want to use a specific version of LocalStack, use the appropriate tag: `docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack:`. Check-out the [LocalStack releases](https://github.com/localstack/localstack/releases) to know more about specific LocalStack versions. @@ -386,7 +423,7 @@ docker run \ For instance, setting `LOCALSTACK_PERSISTENCE=1` is equivalent to `PERSISTENCE=1`. - To configure an Auth Token, refer to the [Auth Token](/aws/getting-started/auth-token) documentation. -::: + ::: ### Helm @@ -400,6 +437,7 @@ If you want to deploy LocalStack in your [Kubernetes](https://kubernetes.io) clu #### Deploy LocalStack using Helm You can deploy LocalStack in a Kubernetes cluster by running these commands: + ```bash helm repo add localstack-repo https://helm.localstack.cloud helm upgrade --install localstack localstack-repo/localstack @@ -410,6 +448,7 @@ The Helm charts are not maintained in the main repository, but in a [separate on ## What's next? Now that you have LocalStack up and running, the following resources might be useful for your next steps: + - Check out our [Quickstart guide](/aws/getting-started/quickstart) if you are a new user to get started with LocalStack quickly. - [Use the LocalStack integrations](/aws/integrations) to interact with LocalStack and other integrated tools, for example: - Use `awslocal` to use the AWS CLI against your local cloud! @@ -425,10 +464,12 @@ Now that you have LocalStack up and running, the following resources might be us #### The LocalStack CLI installation is successful, but I cannot execute `localstack` If you can successfully install LocalStack using `pip` but you cannot use it in your terminal, you most likely haven't set up your operating system's / terminal's `PATH` variable (in order to tell them where to find programs installed via `pip`). + - If you are using Windows, you can enable the `PATH` configuration when installing Python, [as described in the official docs of Python](https://docs.python.org/3/using/windows.html#finding-the-python-executable). - If you are using a MacOS or Linux operating system, please make sure that the `PATH` is correctly set up - either system wide, or in your terminal. As a workaround you can call the LocalStack CLI python module directly: + ```bash python3 -m localstack.cli.main ``` @@ -436,12 +477,15 @@ python3 -m localstack.cli.main #### The `localstack` CLI does not start the LocalStack container If you are using the `localstack` CLI to start LocalStack, but the container is not starting, please check the following: + - Uncheck the **Use kernel networking for UDP** option in Docker Desktop (**Settings** → **Resources** → **Network**) or follow the steps in our [documentation](/aws/tooling/dns-server#system-dns-configuration) to disable it. - Start LocalStack with a specific DNS address: + ```bash DNS_ADDRESS=0 localstack start ``` -- Remove port 53 as indicated in our [standard `docker-compose.yml` file](https://github.com/localstack/localstack/blob/main/docker-compose-pro.yml). + +- Remove port 53 as indicated in our [standard `docker-compose.yml` file](https://github.com/localstack/localstack/blob/main/docker-compose-pro.yml). #### How should I access the LocalStack logs on my local machine? diff --git a/src/content/docs/aws/getting-started/quickstart.mdx b/src/content/docs/aws/getting-started/quickstart.mdx index 687b87338..00f268b73 100644 --- a/src/content/docs/aws/getting-started/quickstart.mdx +++ b/src/content/docs/aws/getting-started/quickstart.mdx @@ -1,16 +1,16 @@ --- -title: Quickstart +title: Local Development description: Deploy a serverless API locally with LocalStack in under 10 minutes using Lambda and DynamoDB. template: doc sidebar: - order: 2 + order: 3 --- -import { Tabs, TabItem } from '@astrojs/starlight/components'; +import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; ## Introduction -In this quickstart you'll start LocalStack and deploy a simple serverless API — a **Lambda function backed by DynamoDB** — entirely on your local machine. +In this quickstart you'll start LocalStack and deploy a simple serverless API including a Lambda function backed by DynamoDB, entirely on your local machine. No AWS account needed. By the end you will have: @@ -18,9 +18,9 @@ By the end you will have: - LocalStack running locally in Docker - A Lambda function deployed and invokable via a public URL - A DynamoDB table storing data written by the Lambda -- Confirmed that your local environment behaves like real AWS +- A local environment that behaves like real AWS -Choose your preferred deployment style below: **AWS CLI** (`awslocal`) or **Terraform** (`tflocal`). +Choose your preferred deployment style below: **AWS CLI** or **Terraform**. ## Prerequisites @@ -46,10 +46,19 @@ The fastest way to get LocalStack running locally is with `lstk`, a lightweight Then start LocalStack: ```bash - lstk start + lstk ``` - On first run, `lstk` opens a browser login to authenticate, then pulls the image and starts the container automatically. + On first run, `lstk` opens a browser window to authenticate. It also pulls the LocalStack image and starts the container automatically. + + When the container is ready, you'll see log lines like: + + ```bash + ✔︎ LocalStack ready (containerId: 400b3e61f3c6) + • Endpoint: localhost.localstack.cloud:4566 + • Web app: https://app.localstack.cloud + > Tip: View deployed resources: lstk status + ``` :::note[Early release] `lstk` currently supports core lifecycle commands (start, stop, logs, status). @@ -64,188 +73,213 @@ The fastest way to get LocalStack running locally is with `lstk`, a lightweight localstack start ``` - - + When the container is ready, you'll see log lines like: -Wait for the container to report ready — you'll see a log line like `Ready.` or you can verify with: + ```bash + __ _______ __ __ + / / ____ _________ _/ / ___// /_____ ______/ /__ + / / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/ + / /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,< + /_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_| + + 💻 LocalStack CLI ${LOCALSTACK_VERSION} + 👤 Profile: default + + [12:47:13] starting LocalStack in Docker mode 🐳 localstack.py:494 + preparing environment bootstrap.py:1240 + configuring container bootstrap.py:1248 + starting container bootstrap.py:1258 + [12:47:15] detaching bootstrap.py:1262 + ``` -```bash -curl -s http://localhost:4566/_localstack/health | grep '"running"' -``` + + ## Step 2 — Deploy the serverless API -Now deploy a Lambda function and a DynamoDB table. Pick the tooling you prefer: +Now deploy a Lambda function and a DynamoDB table. For this tutorial, you can choose between creating resources using the AWS CLI via our `awslocal` wrapper or Terraform via our `tflocal` wrapper. - Install the `awslocal` wrapper if you haven't already: - - ```bash - pip install awscli-local - ``` - - **Create the Lambda function:** - - ```bash - mkdir -p /tmp/localstack-demo - cat > /tmp/localstack-demo/handler.py << 'EOF' - import json, boto3, os, uuid - - def handler(event, context): - table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) - method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} - table.put_item(Item=item) - return {'statusCode': 200, 'body': json.dumps(item)} - result = table.scan() - return {'statusCode': 200, 'body': json.dumps(result['Items'])} - EOF - cd /tmp/localstack-demo && zip handler.zip handler.py - ``` - - **Create the DynamoDB table:** - - ```bash - awslocal dynamodb create-table \ - --table-name Messages \ - --attribute-definitions AttributeName=id,AttributeType=S \ - --key-schema AttributeName=id,KeyType=HASH \ - --billing-mode PAY_PER_REQUEST - ``` - - **Deploy the Lambda:** - - ```bash - awslocal lambda create-function \ - --function-name messages-api \ - --runtime python3.12 \ - --handler handler.handler \ - --zip-file fileb:///tmp/localstack-demo/handler.zip \ - --role arn:aws:iam::000000000000:role/lambda-role \ - --environment Variables={TABLE_NAME=Messages} - - awslocal lambda wait function-active --function-name messages-api - ``` - - **Create a public function URL:** - - ```bash - awslocal lambda create-function-url-config \ - --function-name messages-api \ - --auth-type NONE - ``` - - **Retrieve the URL:** - - ```bash - LAMBDA_URL=$(awslocal lambda list-function-url-configs \ - --function-name messages-api \ - --query 'FunctionUrlConfigs[0].FunctionUrl' \ - --output text) - echo $LAMBDA_URL - ``` + + +1. Install the `awslocal` wrapper if you haven't already: + + ```bash + pip install awscli-local + ``` + +2. Create the Lambda function + + The below code creates a Lambda function using Python and zips the code to be ready for deployment. + + ```bash + mkdir -p /tmp/localstack-demo + cat > /tmp/localstack-demo/handler.py << 'EOF' + import json, boto3, os, uuid + + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + cd /tmp/localstack-demo && zip handler.zip handler.py + ``` + +3. Create the DynamoDB table + + ```bash + awslocal dynamodb create-table \ + --table-name Messages \ + --attribute-definitions AttributeName=id,AttributeType=S \ + --key-schema AttributeName=id,KeyType=HASH \ + --billing-mode PAY_PER_REQUEST + ``` + +4. Deploy the Lambda + + ```bash + awslocal lambda create-function \ + --function-name messages-api \ + --runtime python3.12 \ + --handler handler.handler \ + --zip-file fileb:///tmp/localstack-demo/handler.zip \ + --role arn:aws:iam::000000000000:role/lambda-role \ + --environment Variables={TABLE_NAME=Messages} + + awslocal lambda wait function-active --function-name messages-api + ``` + +5. Create a public function URL + + ```bash + awslocal lambda create-function-url-config \ + --function-name messages-api \ + --auth-type NONE + ``` + +6. Retrieve the URL + + ```bash + LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) + echo $LAMBDA_URL + ``` + + - Install Terraform and the `tflocal` wrapper: + +1. Install Terraform and the `tflocal` wrapper: ```bash - brew install hashicorp/tap/terraform # or see https://developer.hashicorp.com/terraform/install + brew install hashicorp/tap/terraform pip install terraform-local ``` - Create a project directory and `main.tf`: - - ```bash - mkdir -p /tmp/localstack-demo && cd /tmp/localstack-demo - ``` - - ```hcl - # main.tf - terraform { - required_providers { - aws = { source = "hashicorp/aws" } - archive = { source = "hashicorp/archive" } - } - } - - resource "aws_dynamodb_table" "messages" { - name = "Messages" - billing_mode = "PAY_PER_REQUEST" - hash_key = "id" - attribute { - name = "id" - type = "S" - } - } - - data "archive_file" "lambda" { - type = "zip" - output_path = "${path.module}/handler.zip" - source { - filename = "handler.py" - content = <<-EOF - import json, boto3, os, uuid - def handler(event, context): - table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) - method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} - table.put_item(Item=item) - return {'statusCode': 200, 'body': json.dumps(item)} - result = table.scan() - return {'statusCode': 200, 'body': json.dumps(result['Items'])} - EOF - } - } - - resource "aws_iam_role" "lambda_role" { - name = "lambda-role" - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [{ Action = "sts:AssumeRole", Effect = "Allow", - Principal = { Service = "lambda.amazonaws.com" } }] - }) - } - - resource "aws_lambda_function" "messages_api" { - function_name = "messages-api" - runtime = "python3.12" - handler = "handler.handler" - filename = data.archive_file.lambda.output_path - source_code_hash = data.archive_file.lambda.output_base64sha256 - role = aws_iam_role.lambda_role.arn - environment { - variables = { TABLE_NAME = aws_dynamodb_table.messages.name } - } - } - - resource "aws_lambda_function_url" "messages_api" { - function_name = aws_lambda_function.messages_api.function_name - authorization_type = "NONE" - } - - output "function_url" { - value = aws_lambda_function_url.messages_api.function_url - } - ``` - - **Deploy:** - - ```bash - tflocal init - tflocal apply -auto-approve - ``` - - **Retrieve the URL:** - - ```bash - LAMBDA_URL=$(tflocal output -raw function_url) - echo $LAMBDA_URL - ``` - + For additional installation options, see the [Terraform installation guide](https://developer.hashicorp.com/terraform/install). + +2. Create a project directory. + + ```bash + mkdir -p /tmp/localstack-demo && cd /tmp/localstack-demo + ``` + + Then create a `main.tf` file with the following content: + + ```hcl + # main.tf + terraform { + required_providers { + aws = { source = "hashicorp/aws" } + archive = { source = "hashicorp/archive" } + } + } + + resource "aws_dynamodb_table" "messages" { + name = "Messages" + billing_mode = "PAY_PER_REQUEST" + hash_key = "id" + attribute { + name = "id" + type = "S" + } + } + + data "archive_file" "lambda" { + type = "zip" + output_path = "${path.module}/handler.zip" + source { + filename = "handler.py" + content = <<-EOF + import json, boto3, os, uuid + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + } + } + + resource "aws_iam_role" "lambda_role" { + name = "lambda-role" + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ Action = "sts:AssumeRole", Effect = "Allow", + Principal = { Service = "lambda.amazonaws.com" } }] + }) + } + + resource "aws_lambda_function" "messages_api" { + function_name = "messages-api" + runtime = "python3.12" + handler = "handler.handler" + filename = data.archive_file.lambda.output_path + source_code_hash = data.archive_file.lambda.output_base64sha256 + role = aws_iam_role.lambda_role.arn + environment { + variables = { TABLE_NAME = aws_dynamodb_table.messages.name } + } + } + + resource "aws_lambda_function_url" "messages_api" { + function_name = aws_lambda_function.messages_api.function_name + authorization_type = "NONE" + } + + output "function_url" { + value = aws_lambda_function_url.messages_api.function_url + } + ``` + +3. Deploy + + ```bash + tflocal init + tflocal apply -auto-approve + ``` + +4. Retrieve the URL + + ```bash + LAMBDA_URL=$(tflocal output -raw function_url) + echo $LAMBDA_URL + ``` + + @@ -280,16 +314,25 @@ Navigate to your [Default Instance](https://app.localstack.cloud/inst/default/st ## Step 5 — Clean up -When you're done, stop LocalStack to tear down all local resources: +First, stop LocalStack to tear down all local resources: -```bash -lstk stop # if using lstk -localstack stop # if using the LocalStack CLI -``` +{/* prettier-ignore-start */} + + + ```bash lstk stop ``` + ```bash localstack stop ``` + +{/* prettier-ignore-end */} LocalStack is ephemeral by default — stopping it removes all provisioned resources. To persist state across restarts, see [Persistence](/aws/capabilities/state-management/persistence/) or [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). +Now that you're done, you can remove the tutorial files from your machine (the Lambda source, zip, and, if you used Terraform, `main.tf` and state under the same folder): + +```bash +rm -rf /tmp/localstack-demo +``` + ## Next steps - [Tutorials](/aws/tutorials/) — Deeper dives into specific AWS services and application stacks From c778969deee249c6a1712a0cfca17e5ed992c105 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 08:45:42 -0400 Subject: [PATCH 04/45] Clean up CI-CD landing page --- .../docs/aws/getting-started/ci-cd.mdx | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index 594ffed2c..0618d8657 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -1,6 +1,6 @@ --- title: CI/CD -description: Run LocalStack in CI pipelines — auth tokens, Docker Compose, and GitHub Actions examples. +description: Run LocalStack in CI pipelines — auth tokens, Docker Compose, GitHub Actions examples, and persisting state with Cloud Pods or state export. template: doc sidebar: order: 4 @@ -11,15 +11,16 @@ import { Tabs, TabItem } from '@astrojs/starlight/components'; ## Overview LocalStack works great in CI environments, allowing your integration tests to run incredibly fast and with no cloud costs. -The setup differs from local development in a few important ways: +The setup differs slighty from local development in a few important ways: - **Use a CI Auth Token**, not your personal Developer token - **Manage the container directly** via Docker Compose or `docker run` — `lstk` and the LocalStack Desktop are local-only tools -- **LocalStack is ephemeral by default** — each CI run starts fresh, which is usually exactly what you want for reproducible tests +- **Runs are often isolated per job** — many pipelines start from an empty LocalStack instance for reproducible tests +- **Persistence in CI is supported** — [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), snapshot-based [persistence](/aws/capabilities/state-management/persistence/) with a mounted volume, or `localstack state export` / `localstack state import` with artifacts or cache. ## Step 1 — Get a CI Auth Token -CI pipelines should use a dedicated CI Auth Token, not a Developer token tied to a specific user. +CI pipelines should use a dedicated CI Auth Token, not a developer token tied to a specific user. 1. Go to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application 2. Create a new **CI Auth Token** @@ -52,9 +53,10 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de - uses: actions/checkout@v4 - name: Start LocalStack - uses: LocalStack/setup-localstack@v0.2 + uses: LocalStack/setup-localstack@v0.2.2 with: image-tag: latest + install-awslocal: "true" env: LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} @@ -160,20 +162,24 @@ curl -s http://localhost:4566/_localstack/info | jq '.is_license_activated' ## Key differences from local development -| | Local development | CI/CD | -| -------------- | ----------------------------- | ------------------------------- | -| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | -| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | -| **Token type** | Developer token | CI token | -| **State** | Optional persistence | Ephemeral (fresh per run) | -| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | +| | Local development | CI/CD | +| -------------- | ----------------------------- | ----------------------------------------------------------------------------------- | +| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | +| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | +| **Token type** | Developer token | CI token | +| **State** | Optional persistence | Optional persistence (same mechanisms; typical pattern is a fresh instance per job) | +| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | ## Persisting state across runs -By default, LocalStack starts fresh on every run — all resources are gone when the container stops. -This is ideal for most CI use cases (clean, reproducible tests). +If you tear down the container at the end of a job, nothing is left on disk unless you save it — which is why many teams use a clean instance every time. +When you **do** need to reuse infrastructure or data between pipeline runs or steps, CI is fully supported: -If you need to share state across runs (e.g., seed data, pre-built infrastructure), look at [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), which let you snapshot and restore LocalStack state. +- **[Cloud Pods](/aws/capabilities/state-management/cloud-pods/)** — save and load snapshots; the [`setup-localstack`](https://github.com/localstack/setup-localstack) action can load and save pods via `state-backend: cloud-pods` (see [GitHub Actions](/aws/integrations/continuous-integration/github-actions/) — _Store Localstack state_). +- **Snapshot-based [persistence](/aws/capabilities/state-management/persistence/)** — enable `PERSISTENCE=1` and mount a volume so state survives container restarts on the same runner or workspace. +- **State export/import** — run `localstack state export` and `localstack state import` and pass the file through your CI provider’s **artifacts**, **cache**, or attached storage (for example, see [GitLab CI](/aws/integrations/continuous-integration/gitlab-ci/) — _Store Localstack state_). + +Choose the approach that fits your runner model: for example, multi-job GitLab pipelines often need explicit state handoff because services do not carry between jobs. ## More CI integrations From 9ed0787d20584084592370047d08a8aef8f569fe Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 16:01:01 -0400 Subject: [PATCH 05/45] Improvements to the AI page --- .../docs/aws/getting-started/ai-workflows.mdx | 66 ++++++++++++------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 224690374..7ab8e76e5 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -8,39 +8,61 @@ sidebar: ## Overview -LocalStack is a natural fit for AI-assisted development workflows. -Whether you're using an AI coding assistant to generate infrastructure code, running an agent that deploys AWS resources, or validating AI-generated Terraform before applying it to real AWS — LocalStack gives you a safe, fast, cost-free environment to do it in. +AI-assisted development workflows need a fast and secure environment to develop and test in. +Whether you're using an AI coding assistant to generate infrastructure code, running an agent that deploys AWS resources, or validating AI-generated IaC before applying it to real AWS — LocalStack gives you a safe, fast, cost-free environment to run these workflows in. ## Connect an AI coding assistant via MCP -The [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) exposes LocalStack's API as an MCP (Model Context Protocol) tool server. -This lets AI assistants like Claude, Cursor, Windsurf, or any MCP-compatible tool inspect and interact with your running LocalStack instance directly. +The [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) is a [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server that connects compatible clients (Claude, Cursor, Windsurf, and others) to your LocalStack environment. +It gives agents tools to run the full local cloud lifecycle—not only generating infrastructure code, but starting the container, deploying and tearing down IaC, analyzing logs, and more. +See [Introducing the LocalStack MCP Server](https://blog.localstack.cloud/introducing-localstack-mcp-server/) for the original announcement and walkthrough. -With the MCP server connected, your AI assistant can: +With the MCP server configured, your assistant can use tools such as: -- List running AWS services and deployed resources -- Create, update, and delete resources in your local environment -- Query resource state to understand what's already deployed -- Help you debug issues by inspecting live infrastructure +- **Lifecycle** — Start, stop, restart, or check status of the LocalStack container +- **Deploy** — Deploy or destroy CDK, Terraform, SAM, or CloudFormation projects on LocalStack +- **Operations** — Analyze logs, run AWS CLI commands via `awslocal`, manage [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), and (where supported) IAM policy analysis, chaos injection, and docs search -**Quick setup:** +...and many more. -```bash -# Install the LocalStack MCP server -pip install localstack-mcp-server +### MCP Server Prerequisites + +Before you begin, make sure these are installed and in your system's `PATH`: + +- [Node.js](https://nodejs.org/en/) (v20.x or later) to run the `npx` command. +- [LocalStack CLI](https://docs.localstack.cloud/user-guide/cli/) and [Docker](https://docs.docker.com/get-docker/) to manage the LocalStack container itself. +- [`cdklocal`](https://docs.localstack.cloud/user-guide/integrations/aws-cdk/) or [`tflocal`](https://docs.localstack.cloud/user-guide/integrations/terraform/) to use the `localstack-deployer` tool. (optional) +- A [LocalStack Auth Token](https://docs.localstack.cloud/getting-started/auth-token/) to enable licensed features. (optional) + +### MCP Server Configuration + +Add a server entry like this to your client's MCP configuration—for **Cursor**, this would typically be `~/.cursor/mcp.json`. +For **Claude Code**, register the server with `claude mcp add` (it is saved to your project-level MCP configuration).. + +```json +{ + "mcpServers": { + "localstack-mcp-server": { + "command": "npx", + "args": ["-y", "@localstack/localstack-mcp-server"], + "env": { + "LOCALSTACK_AUTH_TOKEN": "" + } + } + } +} ``` -Then add it to your AI tool's MCP configuration. -See the [localstack-mcp-server README](https://github.com/localstack/localstack-mcp-server) for tool-specific setup instructions for Claude, Cursor, and others. +Full prerequisites, Cursor/VS Code/Claude Code variants, custom endpoints (`LOCALSTACK_HOSTNAME`, `LOCALSTACK_PORT`), troubleshooting, and the complete tool reference are on [LocalStack MCP Server](/aws/tooling/mcp-server/). :::note -The MCP server connects to a running LocalStack instance — make sure LocalStack is started first with `lstk start` or `localstack start`. +You do not need to start LocalStack manually before using MCP: an agent can start the container using the **localstack-management** tool once this configuration is in place. +If LocalStack already runs elsewhere, point the MCP server at it via the `env` block as described in [Connecting to a custom LocalStack endpoint](/aws/tooling/mcp-server/#connecting-to-a-custom-localstack-endpoint). ::: ## Deploy with agent-driven automation using Skills [LocalStack Skills](https://github.com/localstack/skills) are pre-built agent skill definitions for deploying common AWS architectures locally. -Instead of stepping through manual CLI commands, you describe what you want and an agent handles the deployment. Skills are useful when: @@ -66,8 +88,8 @@ See [Tooling](/aws/tooling/) for the full list of LocalStack-aware wrappers for ## Summary -| Use case | Tool | -| ------------------------------------------------------ | ---------------------------------------------------------------------------- | -| AI assistant that can inspect & manage local resources | [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) | -| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | -| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | +| Use case | Tool | +| ------------------------------------------------------ | --------------------------------------------------------- | +| AI assistant that can inspect & manage local resources | [LocalStack MCP Server](/aws/tooling/mcp-server/) | +| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | +| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | From 0b1b0dd941021516d802ff0f65daeb0098d2e1bb Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 16:39:00 -0400 Subject: [PATCH 06/45] Minor improvement to the AI page --- src/content/docs/aws/getting-started/ai-workflows.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 7ab8e76e5..51efca9d4 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -37,7 +37,7 @@ Before you begin, make sure these are installed and in your system's `PATH`: ### MCP Server Configuration Add a server entry like this to your client's MCP configuration—for **Cursor**, this would typically be `~/.cursor/mcp.json`. -For **Claude Code**, register the server with `claude mcp add` (it is saved to your project-level MCP configuration).. +For **Claude Code**, register the server with `claude mcp add` (it is saved to your project-level MCP configuration). ```json { @@ -62,7 +62,7 @@ If LocalStack already runs elsewhere, point the MCP server at it via the `env` b ## Deploy with agent-driven automation using Skills -[LocalStack Skills](https://github.com/localstack/skills) are pre-built agent skill definitions for deploying common AWS architectures locally. +[LocalStack Skills](https://github.com/localstack/skills) are pre-built agent skill definitions for deploying common AWS architectures locally. It contains skills for LocalStack lifecycle management, IaC deployment, state management and more. Skills can be used in combination with the MCP server to create a fully autonomous agent-driven workflow. Skills are useful when: From b73231c79c2353a720fe71e1b56b601f4af27e0b Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 17:05:26 -0400 Subject: [PATCH 07/45] Some reworking of the intro and removal of outdated content --- .../docs/aws/getting-started/auth-token.mdx | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index b35141c90..aea872ca7 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -10,10 +10,16 @@ import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; ## Introduction -The Auth Token is required to activate the LocalStack for AWS core cloud emulator. It identifies and authenticates users outside the LocalStack Web Application. -It primarily accesses your workspace and advanced services & features. +The Auth Token activates LocalStack for AWS. It ties the running instance to your workspace and license and is required whenever you use LocalStack for AWS. -Auth tokens come in two types: a **Developer Auth Token** and a **CI Auth Token**: +**Whether you need to configure a token by hand** depends on how you run LocalStack: + +- **[`lstk`](/aws/tooling/lstk)** (early release) — For most local development, the Auth Token is present but easy to overlook. On first run or after `lstk login`, the CLI completes a browser login flow, stores your **Developer Auth Token** in the system keyring (or a config-directory fallback when no keyring is available), and injects it into the container whenever you start LocalStack. You are still using an Auth Token for activation; `lstk` obtains and reuses it after login instead of asking you to set `LOCALSTACK_AUTH_TOKEN` yourself. +- **LocalStack CLI (`localstack`)** — You configure the token yourself: set `LOCALSTACK_AUTH_TOKEN` or run `localstack auth set-token` (see [Configuring your Auth Token](#configuring-your-auth-token)). [`lstk`](/aws/tooling/lstk) is currently in early release and missing some core features, so the `localstack` CLI is still the right tool for Cloud Pods, Extensions, Ephemeral Instances, and other advanced features, so many workflows keep using it and therefore set an Auth Token explicitly. For personal development, use your **Developer Auth Token** from the web app. +- **Docker or Docker Compose** — You pass `LOCALSTACK_AUTH_TOKEN` into the container (see [Configuring your Auth Token](#configuring-your-auth-token)). Use your **Developer Auth Token** for local runs unless you are in CI. +- **CI pipelines and other automated, non-interactive environments** — You must set `LOCALSTACK_AUTH_TOKEN` to a **CI Auth Token**. Developer Auth Tokens should not be used in CI. See [CI Environments](#ci-environments). + +Auth tokens come in two types: a **Developer Auth Token** and a **CI Auth Token**. - The **Developer Auth Token** is linked to a specific user within a specific workspace. Every user has their own Auth Token. @@ -205,25 +211,6 @@ Another way to confirm this is by checking the logs of the LocalStack container Otherwise, check our [troubleshooting](#troubleshooting) section. -## FAQ - -### How do I activate older versions of LocalStack (Before v3.0)? - -Prior to the introduction of Auth Tokens, LocalStack used **API keys** managed through the `LOCALSTACK_API_KEY` environment variable for activation. - -For backwards compatibility, we've updated our back-end to accept new Auth Tokens within the `LOCALSTACK_API_KEY` variable. -You can use the new Auth Token in the same way you previously used the API key. - -### When will the legacy API keys be phased out? - -In early 2025, we will begin phasing out legacy API keys entirely. -After the sunsetting period, legacy API and legacy CI keys will no longer activate or work with LocalStack. - -During the sunsetting period, the legacy service will experience scheduled downtimes. -These are planned to encourage users to transition to new Auth Tokens while minimizing impact for those who have not yet updated. - -The downtime schedule will be communicated well in advance, allowing users ample time to switch to the new Auth Tokens. - ## Troubleshooting While using Auth Tokens, LocalStack demands a successful license activation for startup. From 72d35ca63f433ed4cfee6cab96593dff17bb3665 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Tue, 28 Apr 2026 17:19:01 -0400 Subject: [PATCH 08/45] Added kubernetes as a secondary path This was per the suggestion of Colin --- src/components/SecondaryPathCard.tsx | 20 ++++++++++++++++ .../docs/aws/getting-started/index.mdx | 11 +++++++++ src/styles/global.css | 24 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 src/components/SecondaryPathCard.tsx diff --git a/src/components/SecondaryPathCard.tsx b/src/components/SecondaryPathCard.tsx new file mode 100644 index 000000000..39aaf79c8 --- /dev/null +++ b/src/components/SecondaryPathCard.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +interface SecondaryPathCardProps { + title: string; + href: string; + children: React.ReactNode; +} + +export const SecondaryPathCard: React.FC = ({ title, href, children }) => { + return ( + + ); +}; diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index 4b0e25035..a948b454e 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -8,6 +8,7 @@ sidebar: --- import { SectionCards } from '../../../../components/SectionCards.tsx'; +import { SecondaryPathCard } from '../../../../components/SecondaryPathCard.tsx'; [LocalStack for AWS](https://localstack.cloud) is a cloud service emulator that runs in a single container on your laptop or in your CI environment. It gives you a fully functional AWS environment — Lambda, DynamoDB, S3, SQS, and [80+ more services](/aws/services/) — without touching a real AWS account and without incurring cloud costs. @@ -46,3 +47,13 @@ LocalStack for AWS also includes advanced capabilities for teams: [Cloud Pods](/ ]} client:load /> + + + +LocalStack for AWS supports **running inside a Kubernetes cluster** (for example with the Operator or Helm chart), that is an **Enterprise-only** deployment model enabling dynamic scaling, isolation, and native Kubernetes orchestration. + + diff --git a/src/styles/global.css b/src/styles/global.css index c00c4feb1..33e14b98d 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -108,6 +108,30 @@ h3 { transform: translateY(-2px); } +.path-secondary-card { + margin-top: 1rem; +} + +.path-secondary-card .path-secondary-card__title { + font-size: 18px; + font-weight: 500; + letter-spacing: -0.12px; +} + +.path-secondary-card .path-secondary-card__body { + font-size: 16px; + line-height: 26px; + color: var(--sl-color-gray-3); +} + +.path-secondary-card .path-secondary-card__body > :first-child { + margin-top: 0; +} + +.path-secondary-card .path-secondary-card__body > :last-child { + margin-bottom: 0; +} + .service-box-content { height: 100%; display: flex; From bb1cc26f96ef5e223d238399d726d43aace8b455 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Wed, 29 Apr 2026 07:38:07 -0400 Subject: [PATCH 09/45] Modify to note lstk for CI --- src/content/docs/aws/getting-started/ci-cd.mdx | 16 ++++++++-------- .../docs/aws/getting-started/installation.mdx | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index 0618d8657..ced79a3e7 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -14,7 +14,7 @@ LocalStack works great in CI environments, allowing your integration tests to ru The setup differs slighty from local development in a few important ways: - **Use a CI Auth Token**, not your personal Developer token -- **Manage the container directly** via Docker Compose or `docker run` — `lstk` and the LocalStack Desktop are local-only tools +- **Start LocalStack without a browser** — Docker Compose, `docker run`, or CI helpers such as [`setup-localstack`](https://github.com/localstack/setup-localstack) are common; [`lstk`](/aws/tooling/lstk/) also works in CI when you set `LOCALSTACK_AUTH_TOKEN` and use [`--non-interactive`](/aws/tooling/lstk/#interactive-and-non-interactive-mode) (or rely on automatic non-interactive detection). LocalStack Desktop remains a local-only GUI. - **Runs are often isolated per job** — many pipelines start from an empty LocalStack instance for reproducible tests - **Persistence in CI is supported** — [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), snapshot-based [persistence](/aws/capabilities/state-management/persistence/) with a mounted volume, or `localstack state export` / `localstack state import` with artifacts or cache. @@ -162,13 +162,13 @@ curl -s http://localhost:4566/_localstack/info | jq '.is_license_activated' ## Key differences from local development -| | Local development | CI/CD | -| -------------- | ----------------------------- | ----------------------------------------------------------------------------------- | -| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run` | -| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | -| **Token type** | Developer token | CI token | -| **State** | Optional persistence | Optional persistence (same mechanisms; typical pattern is a fresh instance per job) | -| **Startup** | Interactive TUI | `--non-interactive` / `-d` flag | +| | Local development | CI/CD | +| -------------- | -------------------------------- | ----------------------------------------------------------------------------------- | +| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run`, or `lstk --non-interactive` | +| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | +| **Token type** | Developer token | CI token | +| **State** | Optional persistence | Optional persistence (same mechanisms; typical pattern is a fresh instance per job) | +| **Startup** | Interactive TUI (default `lstk`) | Non-interactive (`docker compose`, `docker run -d`, `lstk --non-interactive`) | ## Persisting state across runs diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index d60961891..2fc402009 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -278,7 +278,7 @@ If it was installed using the pre-built binary or via Brew, please run the insta ## CI and server environments -For CI pipelines and server deployments, you'll manage the LocalStack container directly rather than using a local CLI. +For CI pipelines and server deployments, use non-interactive startup: Docker Compose or `docker run` are typical, or [`lstk --non-interactive`](/aws/tooling/lstk/#interactive-and-non-interactive-mode) with `LOCALSTACK_AUTH_TOKEN`. See the [CI/CD Setup guide](/aws/getting-started/ci-cd/) for a complete walkthrough including GitHub Actions examples. The options below cover the main container management approaches: From 6ef84e4ab0ac11766e12f866549a8649a242013d Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Thu, 28 May 2026 22:21:32 +0200 Subject: [PATCH 10/45] Update and rename quickstart.mdx to local-development.mdx --- .../getting-started/{quickstart.mdx => local-development.mdx} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/content/docs/aws/getting-started/{quickstart.mdx => local-development.mdx} (98%) diff --git a/src/content/docs/aws/getting-started/quickstart.mdx b/src/content/docs/aws/getting-started/local-development.mdx similarity index 98% rename from src/content/docs/aws/getting-started/quickstart.mdx rename to src/content/docs/aws/getting-started/local-development.mdx index 00f268b73..8855f5903 100644 --- a/src/content/docs/aws/getting-started/quickstart.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -10,7 +10,7 @@ import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; ## Introduction -In this quickstart you'll start LocalStack and deploy a simple serverless API including a Lambda function backed by DynamoDB, entirely on your local machine. +In this guide you'll start LocalStack and deploy a simple serverless API including a Lambda function backed by DynamoDB, entirely on your local machine. No AWS account needed. By the end you will have: From b7ebb19049ccbcf2120470cc4e297daa961045e1 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Thu, 28 May 2026 22:30:49 +0200 Subject: [PATCH 11/45] Draft 2: rewrite index.mdx --- .../docs/aws/getting-started/index.mdx | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index a948b454e..a639c333b 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -1,6 +1,6 @@ --- title: Overview -description: This section describes how to get started with LocalStack for AWS using a variety of options, and provides details on how LocalStack can be configured to fit the needs of a local cloud sandbox for development, testing, and experimentation. +description: Introduction to LocalStack for AWS, covering core use cases, local cloud capabilities, and deployment options for development and testing. template: doc editUrl: false sidebar: @@ -8,52 +8,44 @@ sidebar: --- import { SectionCards } from '../../../../components/SectionCards.tsx'; -import { SecondaryPathCard } from '../../../../components/SecondaryPathCard.tsx'; -[LocalStack for AWS](https://localstack.cloud) is a cloud service emulator that runs in a single container on your laptop or in your CI environment. -It gives you a fully functional AWS environment — Lambda, DynamoDB, S3, SQS, and [80+ more services](/aws/services/) — without touching a real AWS account and without incurring cloud costs. +LocalStack provides a cloud service emulator that runs within a single container on your local machine or CI environment. It delivers a functional AWS environment including Lambda, DynamoDB, S3, SQS, and [80+ supported services](/aws/services/), enabling development and testing without an AWS account or cloud-related costs. -Here's why developers and teams use it: +### Core Use Cases -- **Faster development loops** — Test changes against local AWS services instantly, without waiting on real deployments or worrying about cloud costs. -- **Integration testing in CI** — Run real integration tests against local AWS infrastructure in every pull request, catching bugs before they reach production. -- **Validate IaC before applying** — Deploy your Terraform, CDK, or CloudFormation to LocalStack first. Confirm it works the way you expect before applying to a real AWS environment. -- **Safe experimentation** — Explore new AWS services and architectures freely, with no risk to production systems. +- **Accelerate development loops**: Test changes against local AWS services instantly to bypass deployment wait times. +- **Automate integration testing**: Execute integration tests against local AWS infrastructure within pull requests to identify regressions before production. +- **Validate IaC**: Deploy Terraform, CDK, or CloudFormation templates to LocalStack to verify infrastructure logic before applying changes to a cloud environment. +- **Experimental sandbox**: Explore new AWS services and architectures in a risk-free environment. -LocalStack for AWS also includes advanced capabilities for teams: [Cloud Pods](/aws/capabilities/state-management/cloud-pods/) for sharing and restoring state, [IAM policy enforcement](/aws/capabilities/security-testing/iam-policy-enforcement/), [Chaos Engineering](/aws/capabilities/chaos-engineering/), and more. +LocalStack also provides advanced features for team collaboration and security, including [Cloud Pods](/aws/capabilities/state-management/cloud-pods/) for state management, [IAM policy enforcement](/aws/capabilities/security-testing/iam-policy-enforcement/), and [Chaos Engineering](/aws/capabilities/chaos-engineering/). -## Choose your path +## Explore by deployment - - -LocalStack for AWS supports **running inside a Kubernetes cluster** (for example with the Operator or Helm chart), that is an **Enterprise-only** deployment model enabling dynamic scaling, isolation, and native Kubernetes orchestration. - - +:::note +**Enterprise K8 Deployment:** LocalStack also supports execution within Kubernetes clusters via the Operator or Helm charts. This model enables dynamic scaling, environment isolation, and native orchestration. See our [Kubernetes Deployment guide](/aws/enterprise/kubernetes/) for more information. +::: From fb4ec712bd60f1cbfc5f110d85a63aad67ca8a41 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Thu, 28 May 2026 22:32:39 +0200 Subject: [PATCH 12/45] Delete dead code: src/components/SecondaryPathCard.tsx The reference to the k8 tutorial has been moved into a standard Note component. This file is now dead code. --- src/components/SecondaryPathCard.tsx | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 src/components/SecondaryPathCard.tsx diff --git a/src/components/SecondaryPathCard.tsx b/src/components/SecondaryPathCard.tsx deleted file mode 100644 index 39aaf79c8..000000000 --- a/src/components/SecondaryPathCard.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; - -interface SecondaryPathCardProps { - title: string; - href: string; - children: React.ReactNode; -} - -export const SecondaryPathCard: React.FC = ({ title, href, children }) => { - return ( - - ); -}; From deede21ff5f8e7ba41ba7c3775ed2ddb42f55b67 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Thu, 28 May 2026 23:09:22 +0200 Subject: [PATCH 13/45] Draft 2: installation.mdx Removed redundant "Next Steps" clutter and relocated Docker, Compose, and Helm to a dedicated orchestration section. Standardized tone and corrected tool categorizations. --- .../docs/aws/getting-started/installation.mdx | 377 +++--------------- 1 file changed, 66 insertions(+), 311 deletions(-) diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 2fc402009..8e792ceff 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -1,6 +1,6 @@ --- title: Installation -description: All installation methods for LocalStack — lstk, LocalStack CLI, Docker Compose, Docker, and Helm. +description: Installation guides for LocalStack CLIs, container engines, and orchestration tools. template: doc sidebar: order: 2 @@ -9,211 +9,79 @@ sidebar: import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; import { LOCALSTACK_VERSION } from 'astro:env/server'; -## Local development +LocalStack provides multiple installation paths depending on your development environment and requirements. We recommend using a CLI-based installation for the most consistent local development experience. -There are two CLI options for running LocalStack on your laptop. Start with `lstk` if you want the fastest path to a running instance, or use the LocalStack CLI if you need full feature support. +Choose the CLI that fits your workflow: use [`lstk`](#lstk) for a streamlined, non-Python setup, or [LocalStack CLI](#localstack-cli) for access to our complete feature set. -### lstk +## lstk -`lstk` is a lightweight, Go-based CLI that handles the full startup sequence in one command: browser-based login, image pull, and container launch. -It's the fastest way to get LocalStack running locally. +`lstk` is a lightweight, Go-based binary that manages the authentication and container lifecycle in a single workflow. -:::caution[Early release] -`lstk` currently supports core lifecycle commands (`start`, `stop`, `logs`, `status`). -For advanced features like Cloud Pods, Extensions, and Ephemeral Instances, use the [LocalStack CLI](#localstack-cli) instead. -Both tools can coexist on the same system. +:::caution[Early Release] +`lstk` currently supports core lifecycle commands: `start`, `stop`, `logs`, and `status`. For advanced features like Cloud Pods or Extensions, use the [LocalStack CLI](#localstack-cli). ::: -Install `lstk`: +**Install lstk** - - ```bash brew install localstack/tap/lstk ``` + + ```bash + brew install localstack/tap/lstk + ``` + + + ```bash + npm install -g @localstack/lstk + ``` - ```bash npm install -g @localstack/lstk ``` - Download a pre-built binary for your platform from [GitHub - Releases](https://github.com/localstack/lstk/releases) and add it to your - `PATH`. + Download the binary for your platform from the [GitHub Releases](https://github.com/localstack/lstk/releases) and add it to your `PATH`. -Start LocalStack: +**Start LocalStack** ```bash lstk start -``` - -On first run, `lstk` opens a browser login flow. -After authenticating, it pulls the LocalStack image and starts the container. -Subsequent starts use the stored credential from your system keyring — no manual token management needed. - ---- - -### LocalStack CLI - -The full-featured LocalStack CLI gives you access to all LocalStack capabilities. -Please make sure that you have a working [Docker installation](https://docs.docker.com/get-docker/) on your machine before moving on. -### Installing LocalStack CLI - -The CLI starts and manages the LocalStack Docker container. -For alternative methods of managing the LocalStack container, see our [alternative installation instructions](#ci-and-server-environments). - - - - - -You can download the pre-built binary for your architecture using the link below: +``` - - x86-64 - - - ARM64 - +The first execution initiates a browser-based login flow. Subsequent starts use credentials stored in your system keyring. -or use the curl commands below: -For x86-64: +## LocalStack CLI - +The LocalStack CLI is the primary tool for managing all LocalStack capabilities. -For ARM64: +**Requirement:** You must have a working [Docker installation](https://docs.docker.com/get-docker/) before proceeding. - +### Install LocalStack CLI -Then extract the LocalStack CLI from the terminal: +x86-64 +ARM64 - +Extract the binary to `/usr/local/bin`: -
-Alternative: Homebrew on Linux + -If you are using [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), you can install the LocalStack CLI directly from our official LocalStack tap: ```bash brew install localstack/tap/localstack-cli -``` -
- -
- - - -You can install the LocalStack CLI using Brew directly from our official LocalStack tap: - -```bash -brew install localstack/tap/localstack-cli ``` -
-Alternative: Binary Download - -You may download the binary for your architecture using the link below: - - - Intel (AMD64) - - -or use the following curl command: - - - -Then extract the LocalStack CLI from the terminal: - - - -
-
- - - -You can download the pre-built binary for your architecture using the link below: - - - Intel (AMD64) - - -Then extract the archive and execute the binary in Powershell. - - - - - -If you cannot use the binary releases of LocalStack, you can install the Python distribution. - -Please make sure to install the following before moving ahead: - -- [Python](https://docs.python.org/3/using/index.html) -- [pip](https://pip.pypa.io/en/stable/installation/) - -Next install the LocalStack CLI in your Python environment by running: - ```bash python3 -m pip install --upgrade localstack -``` - -:::note -To download a specific version of LocalStack, replace `` with the required version from [release page](https://github.com/localstack/localstack/releases). -```bash -python3 -m pip install localstack== -``` - -::: - -:::tip[MacOS Sierra?] -If you have problems with permissions in MacOS X Sierra, install with: - -```bash -python3 -m pip install --user localstack ``` -::: - :::danger -Do not use `sudo` or the `root` user when starting LocalStack. -It should be installed and started entirely under a local non-root user. +Do not use `sudo` or the `root` user. Install and execute LocalStack entirely under a local non-root user. ::: - -
-### Starting LocalStack + +### Start LocalStack CLI To verify that the LocalStack CLI was installed correctly, you can check the version in your terminal: @@ -248,7 +116,7 @@ localstack start # start localstack in background with -d flag [12:47:15] detaching bootstrap.py:1262 ``` -### Updating LocalStack CLI +### Update LocalStack CLI The LocalStack CLI allows you to easily update the different components of LocalStack. To check the various options available for updating, run: @@ -276,188 +144,70 @@ Updating the LocalStack CLI using `localstack update localstack-cli` and `locals If it was installed using the pre-built binary or via Brew, please run the installation steps again to update to the latest version. ::: -## CI and server environments - -For CI pipelines and server deployments, use non-interactive startup: Docker Compose or `docker run` are typical, or [`lstk --non-interactive`](/aws/tooling/lstk/#interactive-and-non-interactive-mode) with `LOCALSTACK_AUTH_TOKEN`. -See the [CI/CD Setup guide](/aws/getting-started/ci-cd/) for a complete walkthrough including GitHub Actions examples. - -The options below cover the main container management approaches: -- [Docker Compose](#docker-compose) — recommended for CI and team environments -- [Docker](#docker) — direct container control for scripted setups -- [Helm](#helm) — deploy LocalStack in a Kubernetes cluster +## Container & Orchestration Methods -The LocalStack emulator is available on Docker Hub as `localstack/localstack-pro`. +Use these methods for CI pipelines, server environments, or manual container management. -For a comprehensive overview of LocalStack images, see the [Docker images documentation](/aws/capabilities/config/docker-images). +### Docker Compose -## GUI tools +Recommended for CI and team environments. Create a `docker-compose.yml` with the following configuration: -- [LocalStack Desktop](#localstack-desktop) — desktop UI for managing your local instance -- [LocalStack Docker Extension](#localstack-docker-extension) — manage LocalStack from Docker Desktop - -### LocalStack Desktop - -Learn more about our desktop client at [LocalStack Desktop](/aws/capabilities/web-app/localstack-desktop) and download it [here](https://app.localstack.cloud/download). - -### LocalStack Docker Extension - -Install our [official Docker Desktop extension](https://hub.docker.com/extensions/localstack/localstack-docker-desktop) to manage LocalStack. -See [LocalStack Docker Extension](/aws/tooling/localstack-docker-extension) for more information. - -### Docker-Compose - -To use LocalStack without the [LocalStack CLI](#localstack-cli), you have the option of running the LocalStack Docker container by yourself. -If you want to manually manage your Docker container, it's usually a good idea to use [Docker Compose](https://docs.docker.com/compose/reference/) in order to simplify your container configuration. - -#### Prerequisites - -- [Docker](https://docs.docker.com/get-docker/) -- [Docker Compose](https://docs.docker.com/compose/install/) (version 1.9.0+) - -#### Starting LocalStack with Docker-Compose - -You can start LocalStack with [Docker Compose](https://docs.docker.com/compose/) by configuring a `docker-compose.yml` file. -Docker Compose v1.9.0 and above is supported. - -```yaml showshowLineNumbers +```yaml services: localstack: - container_name: '${LOCALSTACK_DOCKER_NAME:-localstack-main}' - image: localstack/localstack-pro # required for Pro + container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}" + image: localstack/localstack-pro ports: - - '127.0.0.1:4566:4566' # LocalStack Gateway - - '127.0.0.1:4510-4559:4510-4559' # external services port range - - '127.0.0.1:443:443' # LocalStack HTTPS Gateway (Pro) + - "127.0.0.1:4566:4566" # Gateway + - "127.0.0.1:4510-4559:4510-4559" # External service range environment: - # Activate LocalStack for AWS: https://docs.localstack.cloud/getting-started/auth-token/ - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} # required for Pro - # LocalStack configuration: https://docs.localstack.cloud/references/configuration/ - - DEBUG=${DEBUG:-0} + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} - PERSISTENCE=${PERSISTENCE:-0} volumes: - - '${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack' - - '/var/run/docker.sock:/var/run/docker.sock' -``` - -Start the container by running the following command: + - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" + - "/var/run/docker.sock:/var/run/docker.sock" -```bash -docker compose up ``` -:::note - -- This command pulls the current nightly build from the `main` branch (if you don't have the image locally) and **not** the latest supported version. - If you want to use a specific version, set the appropriate LocalStack image tag at `services.localstack.image` in the `docker-compose.yml` file (for example `localstack/localstack:`). - -- If you are using LocalStack with an [Auth Token](/aws/getting-started/auth-token), you need to specify the image tag as `localstack/localstack-pro` in the `docker-compose.yml` file. - Going forward, `localstack/localstack-pro` image will contain our Pro-supported services and APIs. - -- This command reuses the image if it's already on your machine, i.e. it will **not** pull the latest image automatically from Docker Hub. - -- Mounting the Docker socket `/var/run/docker.sock` as a volume is required for some services that use Docker to provide the emulation, such as AWS Lambda. - Check out the [Lambda providers](/aws/services/lambda) documentation for more information. - -- To facilitate interoperability, configuration variables can be prefixed with `LOCALSTACK_` in docker. - For instance, setting `LOCALSTACK_PERSISTENCE=1` is equivalent to `PERSISTENCE=1`. +Execute `docker compose up` to start. -- If using the Docker default bridge network using `network_mode: bridge`, container name resolution will not work inside your containers. - Please consider removing it, if this functionality is needed. +### Docker CLI -- To configure an Auth Token, refer to the [Auth Token](/aws/getting-started/auth-token) documentation. - ::: - -Please note that there are a few pitfalls when configuring your stack manually via docker-compose (e.g., required container name, Docker network, volume mounts, and environment variables). -We recommend using the LocalStack CLI to validate your configuration, which will print warning messages in case it detects any potential misconfigurations: - -```bash -localstack config validate -``` - -### Docker - -You can also directly start the LocalStack container using the Docker CLI instead of [Docker-Compose](#docker-compose). -This method requires more manual steps and configuration, but it gives you more control over the container settings. - -#### Prerequisites - -Please make sure that you have a working [Docker installation](https://docs.docker.com/get-docker/) on your machine before moving on. -You can check if Docker is correctly configured on your machine by executing `docker info` in your terminal. -If it does not report an error (but shows information on your Docker system), you're good to go. - -#### Starting LocalStack with Docker - -You can start the Docker container simply by executing the following `docker run` command: +Run the container directly via the Docker engine: ```bash docker run \ --rm -it \ -p 127.0.0.1:4566:4566 \ -p 127.0.0.1:4510-4559:4510-4559 \ - -p 127.0.0.1:443:443 \ - -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} \ -v /var/run/docker.sock:/var/run/docker.sock \ + -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} \ localstack/localstack-pro -``` - -:::note - -- This command pulls the current nightly build from the `main` branch (if you don't have the image locally) and **not** the latest supported version. - If you want to use a specific version of LocalStack, use the appropriate tag: `docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack:`. - Check-out the [LocalStack releases](https://github.com/localstack/localstack/releases) to know more about specific LocalStack versions. - -- If you are using LocalStack with an [Auth Token](/aws/getting-started/auth-token), you need to specify the image tag as `localstack/localstack-pro` in your Docker setup. - Going forward, `localstack/localstack-pro` image will contain our Pro-supported services and APIs. - -- This command reuses the image if it's already on your machine, i.e. it will **not** pull the latest image automatically from Docker Hub. - -- Mounting the Docker socket `/var/run/docker.sock` as a volume is required for some services that use Docker to provide the emulation, such as AWS Lambda. - Check out the [Lambda providers](/aws/services/lambda) documentation for more information. -- When using Docker to manually start LocalStack, you will have to configure the container on your own (see [docker-compose-pro.yml](https://github.com/localstack/localstack/blob/main/docker-compose-pro.yml) and [Configuration](/aws/capabilities/config/configuration). - This could be seen as the "expert mode" of starting LocalStack. - If you are looking for a simpler method of starting LocalStack, please use the [LocalStack CLI](#localstack-cli). +``` -- To facilitate interoperability, configuration variables can be prefixed with `LOCALSTACK_` in docker. - For instance, setting `LOCALSTACK_PERSISTENCE=1` is equivalent to `PERSISTENCE=1`. +### Helm (Kubernetes) -- To configure an Auth Token, refer to the [Auth Token](/aws/getting-started/auth-token) documentation. - ::: +Deploy LocalStack to a Kubernetes cluster: -### Helm +```bash +helm repo add localstack-repo [https://helm.localstack.cloud](https://helm.localstack.cloud) +helm upgrade --install localstack localstack-repo/localstack -If you want to deploy LocalStack in your [Kubernetes](https://kubernetes.io) cluster, you can use [Helm](https://helm.sh). +``` -#### Prerequisites +## Graphical User Interfaces (GUIs) -- [Kubernetes](https://kubernetes.io) -- [Helm](https://helm.sh/docs/intro/install/) +### LocalStack Desktop -#### Deploy LocalStack using Helm +Manage local instances via a standalone desktop application. [Download here](https://app.localstack.cloud/download). -You can deploy LocalStack in a Kubernetes cluster by running these commands: +### Docker Desktop Extension -```bash -helm repo add localstack-repo https://helm.localstack.cloud -helm upgrade --install localstack localstack-repo/localstack -``` - -The Helm charts are not maintained in the main repository, but in a [separate one](https://github.com/localstack/helm-charts). - -## What's next? +Install the [official extension](https://hub.docker.com/extensions/localstack/localstack-docker-desktop) to manage LocalStack directly from the Docker Desktop dashboard. -Now that you have LocalStack up and running, the following resources might be useful for your next steps: -- Check out our [Quickstart guide](/aws/getting-started/quickstart) if you are a new user to get started with LocalStack quickly. -- [Use the LocalStack integrations](/aws/integrations) to interact with LocalStack and other integrated tools, for example: - - Use `awslocal` to use the AWS CLI against your local cloud! - - Use the Serverless Framework with LocalStack! - - And many more! -- [Find out how to configure LocalStack](/aws/capabilities/config/configuration) such that it perfectly fits your need. -- [Use LocalStack in your CI environment](/aws/integrations/continuous-integration/) to increase your code quality. -- [Checkout LocalStack's Cloud Developer Tools](/aws/tooling/) to further increase your development efficiency with LocalStack. -- Find out about the ways you can [configure LocalStack](/aws/capabilities/config/configuration). ## Troubleshooting @@ -529,3 +279,8 @@ After running the task, run the diagnostic endpoint and share the archive file w We have extensive network troubleshooting documentation available [here](/aws/capabilities/networking/). If this does not solve your problem then please [reach out to LocalStack Support](/aws/help-support/get-help/). + + +## Next steps + +Now that you've completed installation, proceed to the [Local Development Guide](/aws/getting-started/local-development) to start LocalStack and deploy a serverless API. This guide walks you through deploying a Lambda function backed by a DynamoDB table entirely on your local machine. From 525c3fb444311bd0810c2399720d92deffad3654 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Thu, 28 May 2026 23:44:32 +0200 Subject: [PATCH 14/45] Draft 2: local-development.mdx --- .../aws/getting-started/local-development.mdx | 425 ++++++++---------- 1 file changed, 199 insertions(+), 226 deletions(-) diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index 8855f5903..bb8ca588f 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -1,6 +1,6 @@ --- title: Local Development -description: Deploy a serverless API locally with LocalStack in under 10 minutes using Lambda and DynamoDB. +description: Deploy a serverless application locally using Lambda and DynamoDB on LocalStack. template: doc sidebar: order: 3 @@ -10,70 +10,62 @@ import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; ## Introduction -In this guide you'll start LocalStack and deploy a simple serverless API including a Lambda function backed by DynamoDB, entirely on your local machine. -No AWS account needed. +This guide walks you through starting LocalStack and deploying a serverless API consisting of a Lambda function and a DynamoDB table. You will perform the entire deployment on your local machine without an AWS account. -By the end you will have: +A successful deployment results in a: +- **LocalStack Container:** Running the core emulation engine. +- **Serverless API:** A Lambda function with a configured Function URL. +- **Persistence Layer:** A DynamoDB table for message storage. +- **Local Cloud Environment:** A functional AWS-emulated sandbox. -- LocalStack running locally in Docker -- A Lambda function deployed and invokable via a public URL -- A DynamoDB table storing data written by the Lambda -- A local environment that behaves like real AWS - -Choose your preferred deployment style below: **AWS CLI** or **Terraform**. +Select your preferred deployment method to begin: **AWS CLI** or **Terraform**. ## Prerequisites -- [Docker](https://docs.docker.com/get-docker/) installed and running -- A [LocalStack account](https://app.localstack.cloud/sign-up) +- [Docker](https://docs.docker.com/get-docker/) engine installed and active. +- A [LocalStack account](https://app.localstack.cloud/sign-up). -## Step 1 — Install and start LocalStack +## Step 1: Install and Start LocalStack -The fastest way to get LocalStack running locally is with `lstk`, a lightweight CLI that handles authentication and image setup automatically. +The `lstk` CLI provides the fastest initialization path by automating authentication and image management. - + Install `lstk`: ```bash - brew install localstack/tap/lstk # macOS / Linux with Homebrew + brew install localstack/tap/lstk ``` - ```bash - npm install -g @localstack/lstk # or via npm - ``` - - Then start LocalStack: + Start LocalStack: ```bash - lstk + lstk start ``` - On first run, `lstk` opens a browser window to authenticate. It also pulls the LocalStack image and starts the container automatically. + The first run triggers a browser-based authentication flow. After authentication, the CLI pulls the LocalStack image and initializes the container. - When the container is ready, you'll see log lines like: + When the container is ready, you will see the following logs: - ```bash + ```text ✔︎ LocalStack ready (containerId: 400b3e61f3c6) • Endpoint: localhost.localstack.cloud:4566 - • Web app: https://app.localstack.cloud - > Tip: View deployed resources: lstk status + • Web app: [https://app.localstack.cloud](https://app.localstack.cloud) ``` - :::note[Early release] - `lstk` currently supports core lifecycle commands (start, stop, logs, status). - For advanced features like Cloud Pods, Extensions, and Ephemeral Instances, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli) instead. + :::note[Early Release] + `lstk` currently supports core lifecycle commands (start, stop, logs, status). For advanced features such as Cloud Pods or Extensions, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli). ::: - If you prefer the full-featured LocalStack CLI, [install it first](/aws/getting-started/installation/#localstack-cli), then [configure your auth token](/aws/getting-started/auth-token/), and start LocalStack: + If you are using the full-featured LocalStack CLI, ensure you have [configured your auth token](/aws/getting-started/auth-token/) before starting: ```bash localstack start ``` - - When the container is ready, you'll see log lines like: + + When the container is ready, you'll see these log lines: ```bash __ _______ __ __ @@ -95,226 +87,210 @@ The fastest way to get LocalStack running locally is with `lstk`, a lightweight -## Step 2 — Deploy the serverless API +## Step 2: Deploy serverless API -Now deploy a Lambda function and a DynamoDB table. For this tutorial, you can choose between creating resources using the AWS CLI via our `awslocal` wrapper or Terraform via our `tflocal` wrapper. +Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tflocal` wrappers. These tools automatically route commands to your local instance instead of AWS. -1. Install the `awslocal` wrapper if you haven't already: - - ```bash - pip install awscli-local - ``` - -2. Create the Lambda function - - The below code creates a Lambda function using Python and zips the code to be ready for deployment. - - ```bash - mkdir -p /tmp/localstack-demo - cat > /tmp/localstack-demo/handler.py << 'EOF' - import json, boto3, os, uuid - - def handler(event, context): - table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) - method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} - table.put_item(Item=item) - return {'statusCode': 200, 'body': json.dumps(item)} - result = table.scan() - return {'statusCode': 200, 'body': json.dumps(result['Items'])} - EOF - cd /tmp/localstack-demo && zip handler.zip handler.py - ``` - -3. Create the DynamoDB table - - ```bash - awslocal dynamodb create-table \ - --table-name Messages \ - --attribute-definitions AttributeName=id,AttributeType=S \ - --key-schema AttributeName=id,KeyType=HASH \ - --billing-mode PAY_PER_REQUEST - ``` - -4. Deploy the Lambda - - ```bash - awslocal lambda create-function \ - --function-name messages-api \ - --runtime python3.12 \ - --handler handler.handler \ - --zip-file fileb:///tmp/localstack-demo/handler.zip \ - --role arn:aws:iam::000000000000:role/lambda-role \ - --environment Variables={TABLE_NAME=Messages} - - awslocal lambda wait function-active --function-name messages-api - ``` - -5. Create a public function URL - - ```bash - awslocal lambda create-function-url-config \ - --function-name messages-api \ - --auth-type NONE - ``` - -6. Retrieve the URL - - ```bash - LAMBDA_URL=$(awslocal lambda list-function-url-configs \ - --function-name messages-api \ - --query 'FunctionUrlConfigs[0].FunctionUrl' \ - --output text) - echo $LAMBDA_URL - ``` - - - + 1. Install the `awslocal` wrapper: + + ```bash + pip install awscli-local + ``` + + 2. Create the Lambda function source. + Execute the following to create a project directory and a Python handler: + + ```bash + mkdir -p /tmp/localstack-demo + cat > /tmp/localstack-demo/handler.py << 'EOF' + import json, boto3, os, uuid + + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + cd /tmp/localstack-demo && zip handler.zip handler.py + ``` + + 3. Create the DynamoDB table: + + ```bash + awslocal dynamodb create-table \ + --table-name Messages \ + --attribute-definitions AttributeName=id,AttributeType=S \ + --key-schema AttributeName=id,KeyType=HASH \ + --billing-mode PAY_PER_REQUEST + ``` + + 4. Deploy the Lambda function: + + ```bash + awslocal lambda create-function \ + --function-name messages-api \ + --runtime python3.12 \ + --handler handler.handler \ + --zip-file fileb:///tmp/localstack-demo/handler.zip \ + --role arn:aws:iam::000000000000:role/lambda-role \ + --environment Variables={TABLE_NAME=Messages} + + awslocal lambda wait function-active --function-name messages-api + ``` + + 5. Configure a public URL and retrieve the endpoint: + + ```bash + awslocal lambda create-function-url-config \ + --function-name messages-api \ + --auth-type NONE + + LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) + echo $LAMBDA_URL + ``` + + -1. Install Terraform and the `tflocal` wrapper: - - ```bash - brew install hashicorp/tap/terraform - pip install terraform-local - ``` - - For additional installation options, see the [Terraform installation guide](https://developer.hashicorp.com/terraform/install). - -2. Create a project directory. - - ```bash - mkdir -p /tmp/localstack-demo && cd /tmp/localstack-demo - ``` - - Then create a `main.tf` file with the following content: - - ```hcl - # main.tf - terraform { - required_providers { - aws = { source = "hashicorp/aws" } - archive = { source = "hashicorp/archive" } - } - } - - resource "aws_dynamodb_table" "messages" { - name = "Messages" - billing_mode = "PAY_PER_REQUEST" - hash_key = "id" - attribute { - name = "id" - type = "S" - } - } - - data "archive_file" "lambda" { - type = "zip" - output_path = "${path.module}/handler.zip" - source { - filename = "handler.py" - content = <<-EOF - import json, boto3, os, uuid - def handler(event, context): - table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) - method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} - table.put_item(Item=item) - return {'statusCode': 200, 'body': json.dumps(item)} - result = table.scan() - return {'statusCode': 200, 'body': json.dumps(result['Items'])} - EOF - } - } - - resource "aws_iam_role" "lambda_role" { - name = "lambda-role" - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [{ Action = "sts:AssumeRole", Effect = "Allow", - Principal = { Service = "lambda.amazonaws.com" } }] - }) - } - - resource "aws_lambda_function" "messages_api" { - function_name = "messages-api" - runtime = "python3.12" - handler = "handler.handler" - filename = data.archive_file.lambda.output_path - source_code_hash = data.archive_file.lambda.output_base64sha256 - role = aws_iam_role.lambda_role.arn - environment { - variables = { TABLE_NAME = aws_dynamodb_table.messages.name } - } - } - - resource "aws_lambda_function_url" "messages_api" { - function_name = aws_lambda_function.messages_api.function_name - authorization_type = "NONE" - } - - output "function_url" { - value = aws_lambda_function_url.messages_api.function_url - } - ``` - -3. Deploy - - ```bash - tflocal init - tflocal apply -auto-approve - ``` - -4. Retrieve the URL - - ```bash - LAMBDA_URL=$(tflocal output -raw function_url) - echo $LAMBDA_URL - ``` - - + 1. Install Terraform and the `tflocal` wrapper: + + ```bash + pip install terraform-local + ``` + + 2. Create a `main.tf` file in a new directory: + + ```hcl + terraform { + required_providers { + aws = { source = "hashicorp/aws" } + archive = { source = "hashicorp/archive" } + } + } + + resource "aws_dynamodb_table" "messages" { + name = "Messages" + billing_mode = "PAY_PER_REQUEST" + hash_key = "id" + attribute { + name = "id" + type = "S" + } + } + + data "archive_file" "lambda" { + type = "zip" + output_path = "${path.module}/handler.zip" + source { + filename = "handler.py" + content = <<-EOF + import json, boto3, os, uuid + def handler(event, context): + table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) + method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') + if method == 'POST': + item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + table.put_item(Item=item) + return {'statusCode': 200, 'body': json.dumps(item)} + result = table.scan() + return {'statusCode': 200, 'body': json.dumps(result['Items'])} + EOF + } + } + + resource "aws_iam_role" "lambda_role" { + name = "lambda-role" + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ Action = "sts:AssumeRole", Effect = "Allow", + Principal = { Service = "lambda.amazonaws.com" } }] + }) + } + + resource "aws_lambda_function" "messages_api" { + function_name = "messages-api" + runtime = "python3.12" + handler = "handler.handler" + filename = data.archive_file.lambda.output_path + source_code_hash = data.archive_file.lambda.output_base64sha256 + role = aws_iam_role.lambda_role.arn + environment { + variables = { TABLE_NAME = aws_dynamodb_table.messages.name } + } + } + + resource "aws_lambda_function_url" "messages_api" { + function_name = aws_lambda_function.messages_api.function_name + authorization_type = "NONE" + } + + output "function_url" { + value = aws_lambda_function_url.messages_api.function_url + } + ``` + + 3. Initialize and apply the configuration: + + ```bash + tflocal init && tflocal apply -auto-approve + ``` + + 4. Retrieve the endpoint: + + ```bash + LAMBDA_URL=$(tflocal output -raw function_url) + echo $LAMBDA_URL + ``` + -## Step 3 — Test the API +## Step 3: Test the API -Store a message: +Send a POST request to store a message in the emulated DynamoDB table: ```bash curl -X POST "$LAMBDA_URL" \ -H "Content-Type: application/json" \ -d '{"message": "Hello, LocalStack!"}' + ``` -You should get back a response like: +You will get back a response: ```json { "id": "a1b2c3d4-...", "message": "Hello, LocalStack!" } ``` -List all messages: +Retrieve all your messages: ```bash curl "$LAMBDA_URL" + ``` -**That's the win.** You just invoked a real Lambda function that wrote to a real DynamoDB table — all running locally, with no AWS account and no cloud costs. +The Lambda function executes within the local environment and interacts with the emulated DynamoDB service. Because no actual cloud resources are created, you won't incur any cloud costs or infrastructure changes. -## Step 4 — Inspect your resources +## Step 4: Inspect Resources -You can browse the resources you just deployed in the [LocalStack Web Application](https://app.localstack.cloud/). -Navigate to your [Default Instance](https://app.localstack.cloud/inst/default/status) and click through to [Lambda](https://app.localstack.cloud/inst/default/resources/lambda/functions) or [DynamoDB](https://app.localstack.cloud/inst/default/resources/dynamodb) to see your running infrastructure. +View the state of your local infrastructure via the [LocalStack Web Application](https://app.localstack.cloud/). +Navigate to the [Resource Browser](https://app.localstack.cloud/inst/default/status) to inspect your Lambda functions and DynamoDB tables in real-time. -## Step 5 — Clean up +## Step 5: Clean Up -First, stop LocalStack to tear down all local resources: +Stop your LocalStack container to remove all emulated resources. LocalStack is ephemeral by default; stopping the instance clears the state. {/* prettier-ignore-start */} @@ -324,19 +300,16 @@ First, stop LocalStack to tear down all local resources: {/* prettier-ignore-end */} -LocalStack is ephemeral by default — stopping it removes all provisioned resources. To persist state across restarts, see [Persistence](/aws/capabilities/state-management/persistence/) or [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). -Now that you're done, you can remove the tutorial files from your machine (the Lambda source, zip, and, if you used Terraform, `main.tf` and state under the same folder): +Remove the local files you created in this guide: ```bash rm -rf /tmp/localstack-demo + ``` ## Next steps -- [Tutorials](/aws/tutorials/) — Deeper dives into specific AWS services and application stacks -- [Supported Services](/aws/services/) — Full list of emulated AWS services -- [CI/CD Setup](/aws/getting-started/ci-cd/) — Run LocalStack in GitHub Actions and other pipelines -- [AI & Agent Workflows](/aws/getting-started/ai-workflows/) — Use LocalStack with AI coding tools and agents -- [Tooling](/aws/tooling/) — `awslocal`, `tflocal`, LocalStack Desktop, and more +You have successfully deployed and tested a serverless API on your local workstation. Proceed to the [CI/CD guide](/aws/getting-started/ci-cd/) to learn how to integrate LocalStack into your automated testing pipelines and GitHub Actions workflows. + From 9ebdb73e046fadf765ce9bf3e9f597a49cc52313 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 00:09:17 +0200 Subject: [PATCH 15/45] Draft 2: Rewrite ci-cd.mdx --- .../docs/aws/getting-started/ci-cd.mdx | 148 +++++++----------- 1 file changed, 53 insertions(+), 95 deletions(-) diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index ced79a3e7..fb7ac2f10 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -1,6 +1,6 @@ --- -title: CI/CD -description: Run LocalStack in CI pipelines — auth tokens, Docker Compose, GitHub Actions examples, and persisting state with Cloud Pods or state export. +title: CI/CD Integration +description: implementation guides for LocalStack in automated pipelines, including GitHub Actions, Docker Compose, and state management. template: doc sidebar: order: 4 @@ -8,42 +8,43 @@ sidebar: import { Tabs, TabItem } from '@astrojs/starlight/components'; -## Overview +Integrating LocalStack into CI/CD environments enables automated integration testing without cloud infrastructure costs or vendor dependency. CI configurations differ from local development environments in authentication methods and startup workflows. -LocalStack works great in CI environments, allowing your integration tests to run incredibly fast and with no cloud costs. -The setup differs slighty from local development in a few important ways: +Key operational differences in CI/CD include: +- **Authentication**: Use a dedicated CI Auth Token instead of a personal Developer token. +- **Initialization**: Execute LocalStack in non-interactive mode using Docker Compose, the Docker CLI, or specialized CI actions. +- **Isolation**: Initialize a fresh LocalStack instance for each job to ensure reproducible test results. +- **State Management**: Utilize Cloud Pods or state export/import commands to persist infrastructure across pipeline stages. -- **Use a CI Auth Token**, not your personal Developer token -- **Start LocalStack without a browser** — Docker Compose, `docker run`, or CI helpers such as [`setup-localstack`](https://github.com/localstack/setup-localstack) are common; [`lstk`](/aws/tooling/lstk/) also works in CI when you set `LOCALSTACK_AUTH_TOKEN` and use [`--non-interactive`](/aws/tooling/lstk/#interactive-and-non-interactive-mode) (or rely on automatic non-interactive detection). LocalStack Desktop remains a local-only GUI. -- **Runs are often isolated per job** — many pipelines start from an empty LocalStack instance for reproducible tests -- **Persistence in CI is supported** — [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), snapshot-based [persistence](/aws/capabilities/state-management/persistence/) with a mounted volume, or `localstack state export` / `localstack state import` with artifacts or cache. +## Step 1: Configure CI Auth Token -## Step 1 — Get a CI Auth Token +Dedicated CI Auth Tokens are required for automated environments to ensure security and auditability. -CI pipelines should use a dedicated CI Auth Token, not a developer token tied to a specific user. +1. Navigate to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. +2. Generate a new **CI Auth Token**. +3. Store the token as a protected secret within your CI provider (e.g., `LOCALSTACK_AUTH_TOKEN`). -1. Go to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application -2. Create a new **CI Auth Token** -3. Add it as a secret in your CI provider (e.g., `LOCALSTACK_AUTH_TOKEN`) +:::danger[Security Best Practice] +Never commit your auth tokens to source control. +Always inject tokens via your CI provider's secrets or environment variable system. +Rotate compromised tokens immediately via the Web Application. Old tokens are invalidated instantly. +::: -:::danger[Keep your token secret] -Never commit an auth token to source control. -Always inject it via your CI provider's secrets or environment variable mechanism. -If a token is compromised, rotate it immediately on the Auth Tokens page — old tokens are invalidated instantly. +:::note +Read the [Auth Token guide](/aws/getting-started/auth-token/) for full details on token types and configuration. ::: -See the [Auth Token documentation](/aws/getting-started/auth-token/) for full details on token types and configuration. +## Step 2: Start LocalStack in CI -## Step 2 — Start LocalStack in CI +Select the integration method compatible with your CI runner architecture. - The recommended approach is to start LocalStack as a service container or as a step using the official GitHub Action: + Use the official GitHub Action to initialize LocalStack as a workflow step: ```yaml # .github/workflows/integration-tests.yml name: Integration Tests - on: [push, pull_request] jobs: @@ -62,17 +63,18 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de - name: Run tests run: | - # Your test commands here, e.g.: + # Your test commands here, e.g.: pip install awscli-local - awslocal s3 mb s3://my-test-bucket + awslocal s3 mb s3://integration-test-bucket pytest tests/integration/ ``` + + + The `setup-localstack` action pulls the image, starts the container, and waits for LocalStack to be ready. - The `setup-localstack` action handles pulling the image, starting the container, and waiting for LocalStack to be ready. - - Add LocalStack as a service in your `docker-compose.yml`: + Define LocalStack as a service in your `docker-compose.yml` for containerized environments: ```yaml services: @@ -82,16 +84,13 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de ports: - "127.0.0.1:4566:4566" - "127.0.0.1:4510-4559:4510-4559" - - "127.0.0.1:443:443" environment: - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} - - DEBUG=${DEBUG:-0} volumes: - - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" - "/var/run/docker.sock:/var/run/docker.sock" ``` - Start it and wait for readiness: + Start the service and verify readiness before executing tests: ```bash docker compose up -d localstack @@ -104,8 +103,9 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de ::: - - Start LocalStack directly with `docker run`: + + + Initialize the container directly using the Docker engine: ```bash docker run \ @@ -120,76 +120,34 @@ See the [Auth Token documentation](/aws/getting-started/auth-token/) for full de # Wait for readiness until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done ``` - - - - Add LocalStack as a service in your CircleCI config: - - ```yaml - version: 2.1 - - jobs: - integration-tests: - docker: - - image: cimg/python:3.12 - - image: localstack/localstack-pro - environment: - LOCALSTACK_AUTH_TOKEN: $LOCALSTACK_AUTH_TOKEN - steps: - - checkout - - run: - name: Wait for LocalStack - command: | - until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done - - run: - name: Run tests - command: pytest tests/integration/ - ``` - - Set `LOCALSTACK_AUTH_TOKEN` in your CircleCI project's environment variables. - -## Verify activation - -After LocalStack starts, confirm the license is active: - -```bash -curl -s http://localhost:4566/_localstack/info | jq '.is_license_activated' -# Should return: true -``` - -## Key differences from local development - -| | Local development | CI/CD | -| -------------- | -------------------------------- | ----------------------------------------------------------------------------------- | -| **CLI** | `lstk` or LocalStack CLI | Docker Compose / `docker run`, or `lstk --non-interactive` | -| **Auth** | Browser login or stored token | `LOCALSTACK_AUTH_TOKEN` env var | -| **Token type** | Developer token | CI token | -| **State** | Optional persistence | Optional persistence (same mechanisms; typical pattern is a fresh instance per job) | -| **Startup** | Interactive TUI (default `lstk`) | Non-interactive (`docker compose`, `docker run -d`, `lstk --non-interactive`) | +## Technical Comparison: Local vs. CI/CD -## Persisting state across runs +| Feature | Local Development | CI/CD Environment | +| :--- | :--- | :--- | +| **Interface** | `lstk` or LocalStack CLI | Docker Compose / `docker run`, or `lstk --non-interactive` | +| **Authentication** | Browser-based or stored credentials | `LOCALSTACK_AUTH_TOKEN` environment variable | +| **Token Type** | Individual Developer Token | Dedicated CI Token | +| **State** | Persistent by choice | Ephemeral (standard) or Snapshotted (Cloud Pods) | +| **Startup Mode** | Interactive (TUI) (default `lstk`) | Non-interactive (Headless) (`docker compose`, `docker run -d`, `lstk --non-interactive`) | -If you tear down the container at the end of a job, nothing is left on disk unless you save it — which is why many teams use a clean instance every time. -When you **do** need to reuse infrastructure or data between pipeline runs or steps, CI is fully supported: +## State Persistence in CI -- **[Cloud Pods](/aws/capabilities/state-management/cloud-pods/)** — save and load snapshots; the [`setup-localstack`](https://github.com/localstack/setup-localstack) action can load and save pods via `state-backend: cloud-pods` (see [GitHub Actions](/aws/integrations/continuous-integration/github-actions/) — _Store Localstack state_). -- **Snapshot-based [persistence](/aws/capabilities/state-management/persistence/)** — enable `PERSISTENCE=1` and mount a volume so state survives container restarts on the same runner or workspace. -- **State export/import** — run `localstack state export` and `localstack state import` and pass the file through your CI provider’s **artifacts**, **cache**, or attached storage (for example, see [GitLab CI](/aws/integrations/continuous-integration/gitlab-ci/) — _Store Localstack state_). +While most pipelines favor ephemeral instances for clean test cycles, certain workflows require persisting infrastructure state across jobs or runners. -Choose the approach that fits your runner model: for example, multi-job GitLab pipelines often need explicit state handoff because services do not carry between jobs. +- **[Cloud Pods](/aws/capabilities/state-management/cloud-pods/)**: Save or load snapshots using the `setup-localstack` action with the `state-backend: cloud-pods` configuration. +- **Snapshot Persistence Engine**: Enable `PERSISTENCE=1` and mount a host volume to retain data across container restarts on the same runner. +- **State Export/Import Commands**: Use `localstack state export` and `localstack state import` to pass infrastructure state via CI artifacts or caching mechanisms. -## More CI integrations +## Next steps -LocalStack has dedicated integration guides for many CI providers: +You have configured LocalStack for automated environments and explored various CI/CD integration patterns. Proceed to the [AI & Agent Workflows Guide](/aws/getting-started/ai-workflows/) to learn how to integrate LocalStack with AI coding assistants and automate infrastructure tasks. -- [GitHub Actions](/aws/integrations/continuous-integration/github-actions/) -- [GitLab CI](/aws/integrations/continuous-integration/gitlab-ci/) -- [CircleCI](/aws/integrations/continuous-integration/circleci/) -- [AWS CodeBuild](/aws/integrations/continuous-integration/codebuild/) -- [Travis CI](/aws/integrations/continuous-integration/travis-ci/) -- [Bitbucket Pipelines](/aws/integrations/continuous-integration/bitbucket/) +## Resources -See the full [CI/CD integrations](/aws/integrations/continuous-integration/) section for details. +- [GitHub Actions Integration](/aws/integrations/continuous-integration/github-actions/): Advanced workflows and configuration options. +- [CircleCI Guide](/aws/integrations/continuous-integration/circleci/): Implementation details for CircleCI environments. +- [GitLab CI Integration](/aws/integrations/continuous-integration/gitlab-ci/): Service-based setup for GitLab runners. +- [AWS CodeBuild](/aws/integrations/continuous-integration/codebuild/): Native AWS CI/CD integration. From 4ca4a39f2873dffb0751f0bb6f16735c4dac290c Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 00:32:57 +0200 Subject: [PATCH 16/45] Draft 2: rewrite ai-workflows.mdx Consolidated use cases, removed duplicated MCP configuration, and deleted non-functional validation content. Standardized the tone and improved technical context throughout the guide. --- .../docs/aws/getting-started/ai-workflows.mdx | 94 +++++-------------- 1 file changed, 21 insertions(+), 73 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 51efca9d4..2427ddbbe 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -1,95 +1,43 @@ --- title: AI & Agent Workflows -description: Use LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. +description: Integrate LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. template: doc sidebar: order: 5 --- -## Overview +LocalStack provides a secure, emulated environment for developing and testing AI-assisted workflows. You can iterate on AI-generated infrastructure code and agentic deployment tasks without incurring cloud costs or risking production AWS environments by using a local cloud sandbox. -AI-assisted development workflows need a fast and secure environment to develop and test in. -Whether you're using an AI coding assistant to generate infrastructure code, running an agent that deploys AWS resources, or validating AI-generated IaC before applying it to real AWS — LocalStack gives you a safe, fast, cost-free environment to run these workflows in. +## Capability Map -## Connect an AI coding assistant via MCP +| Use Case | Recommended Tooling | +| :--- | :--- | +| **AI Assistant Resource Management** | [LocalStack MCP Server](/aws/tooling/mcp-server/) | +| **Autonomous Infrastructure Deployment** | [LocalStack Skills](https://github.com/localstack/skills) | +| **Local IaC Validation** | LocalStack + `tflocal` / `cdklocal` / `awslocal` | -The [LocalStack MCP Server](https://github.com/localstack/localstack-mcp-server) is a [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server that connects compatible clients (Claude, Cursor, Windsurf, and others) to your LocalStack environment. -It gives agents tools to run the full local cloud lifecycle—not only generating infrastructure code, but starting the container, deploying and tearing down IaC, analyzing logs, and more. -See [Introducing the LocalStack MCP Server](https://blog.localstack.cloud/introducing-localstack-mcp-server/) for the original announcement and walkthrough. -With the MCP server configured, your assistant can use tools such as: +## Model Context Protocol (MCP) Integration -- **Lifecycle** — Start, stop, restart, or check status of the LocalStack container -- **Deploy** — Deploy or destroy CDK, Terraform, SAM, or CloudFormation projects on LocalStack -- **Operations** — Analyze logs, run AWS CLI commands via `awslocal`, manage [Cloud Pods](/aws/capabilities/state-management/cloud-pods/), and (where supported) IAM policy analysis, chaos injection, and docs search +The LocalStack MCP Server connects compatible AI clients (such as Claude, Cursor, or Windsurf) to your local cloud environment. This integration allows AI agents to manage the full local cloud lifecycle, including container management, resource deployment, and log analysis. -...and many more. - -### MCP Server Prerequisites - -Before you begin, make sure these are installed and in your system's `PATH`: - -- [Node.js](https://nodejs.org/en/) (v20.x or later) to run the `npx` command. -- [LocalStack CLI](https://docs.localstack.cloud/user-guide/cli/) and [Docker](https://docs.docker.com/get-docker/) to manage the LocalStack container itself. -- [`cdklocal`](https://docs.localstack.cloud/user-guide/integrations/aws-cdk/) or [`tflocal`](https://docs.localstack.cloud/user-guide/integrations/terraform/) to use the `localstack-deployer` tool. (optional) -- A [LocalStack Auth Token](https://docs.localstack.cloud/getting-started/auth-token/) to enable licensed features. (optional) - -### MCP Server Configuration - -Add a server entry like this to your client's MCP configuration—for **Cursor**, this would typically be `~/.cursor/mcp.json`. -For **Claude Code**, register the server with `claude mcp add` (it is saved to your project-level MCP configuration). - -```json -{ - "mcpServers": { - "localstack-mcp-server": { - "command": "npx", - "args": ["-y", "@localstack/localstack-mcp-server"], - "env": { - "LOCALSTACK_AUTH_TOKEN": "" - } - } - } -} -``` - -Full prerequisites, Cursor/VS Code/Claude Code variants, custom endpoints (`LOCALSTACK_HOSTNAME`, `LOCALSTACK_PORT`), troubleshooting, and the complete tool reference are on [LocalStack MCP Server](/aws/tooling/mcp-server/). - -:::note -You do not need to start LocalStack manually before using MCP: an agent can start the container using the **localstack-management** tool once this configuration is in place. -If LocalStack already runs elsewhere, point the MCP server at it via the `env` block as described in [Connecting to a custom LocalStack endpoint](/aws/tooling/mcp-server/#connecting-to-a-custom-localstack-endpoint). +:::note[Official MCP Documentation] +For detailed configuration instructions, prerequisite checks, and the complete tool reference, read our [LocalStack MCP Server guide](https://docs.localstack.cloud/aws/tooling/mcp-server/). You don't need to start LocalStack manually before using MCP; agents can initialize the container using the management tools provided by the server. ::: -## Deploy with agent-driven automation using Skills - -[LocalStack Skills](https://github.com/localstack/skills) are pre-built agent skill definitions for deploying common AWS architectures locally. It contains skills for LocalStack lifecycle management, IaC deployment, state management and more. Skills can be used in combination with the MCP server to create a fully autonomous agent-driven workflow. - -Skills are useful when: - -- You want to scaffold a new local environment quickly without writing all the infrastructure code yourself -- You're using an agent-first workflow and want LocalStack to be a first-class deployment target -- You want to iterate rapidly on architecture without touching real AWS - -Browse the [skills repository](https://github.com/localstack/skills) for available skills and setup instructions. -## Validate AI-generated IaC before applying to AWS +## Agent-Driven Automation with Skills -A common pattern when using AI to generate Terraform, CDK, or CloudFormation is to deploy it to LocalStack first. -This catches configuration errors, missing permissions, and service interaction bugs before you spend time (and money) deploying to real AWS. +[LocalStack Skills](https://github.com/localstack/skills) provide pre-defined agent skill definitions for automating AWS architecture deployments. These skills allow agents to scaffold environments, iterate on architecture designs, and manage LocalStack state autonomously. -The workflow is: +Skills implementation scenarios: +- **Rapid Prototyping**: Scaffold new local environments without manual infrastructure coding. +- **Agent-First Development**: Establish LocalStack as a primary deployment target for autonomous agents. +- **Architecture Iteration**: Test complex architectural changes in a risk-free, local sandbox. -1. Generate infrastructure code with your AI tool -2. Deploy to LocalStack with `tflocal apply` (Terraform), `cdklocal deploy` (CDK), or the AWS CLI -3. Run your integration tests against the local environment -4. When everything passes, deploy to real AWS with confidence +Refer to the [LocalStack Skills repository](https://github.com/localstack/skills) for available skill definitions and setup instructions. -See [Tooling](/aws/tooling/) for the full list of LocalStack-aware wrappers for common IaC tools. -## Summary +## Next steps -| Use case | Tool | -| ------------------------------------------------------ | --------------------------------------------------------- | -| AI assistant that can inspect & manage local resources | [LocalStack MCP Server](/aws/tooling/mcp-server/) | -| Agent-driven infrastructure deployment | [LocalStack Skills](https://github.com/localstack/skills) | -| Validate AI-generated IaC safely | LocalStack + `tflocal` / `cdklocal` / `awslocal` | +You have explored the integration patterns for AI and agent-driven development. Proceed to the [Auth Token guide](/aws/getting-started/auth-token/) to configure your licensing and unlock advanced LocalStack features. From 5bfe4a9a7f934d9d7f868e8501fec881a8be08ea Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 00:43:36 +0200 Subject: [PATCH 17/45] Draft 2: rewrite auth-token.mdx Eliminated redundant introduction slop and consolidated configuration methods by execution type. Simplified token comparisons, optimized verification snippets, and unified security warnings for better technical clarity. --- .../docs/aws/getting-started/auth-token.mdx | 262 ++++-------------- 1 file changed, 50 insertions(+), 212 deletions(-) diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index aea872ca7..500812095 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -1,6 +1,6 @@ --- title: Auth Token -description: Configure your Auth Token to access and activate LocalStack. +description: Configure and manage LocalStack Auth Tokens for local development and CI/CD environments. template: doc sidebar: order: 6 @@ -8,256 +8,94 @@ sidebar: import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; -## Introduction +The Auth Token is a mandatory credential required to pull the `localstack-pro` image and activate service entitlements. It links your local instance to your workspace license and enables access to the full suite of emulated AWS services. -The Auth Token activates LocalStack for AWS. It ties the running instance to your workspace and license and is required whenever you use LocalStack for AWS. +## Token Types -**Whether you need to configure a token by hand** depends on how you run LocalStack: +| Token Type | Scope | Use Case | +| :--- | :--- | :--- | +| **Developer Token** | Individual | Local development workstations. Managed per user. | +| **CI Auth Token** | Workspace | Automated pipelines and shared runners. Managed by workspace admins. | -- **[`lstk`](/aws/tooling/lstk)** (early release) — For most local development, the Auth Token is present but easy to overlook. On first run or after `lstk login`, the CLI completes a browser login flow, stores your **Developer Auth Token** in the system keyring (or a config-directory fallback when no keyring is available), and injects it into the container whenever you start LocalStack. You are still using an Auth Token for activation; `lstk` obtains and reuses it after login instead of asking you to set `LOCALSTACK_AUTH_TOKEN` yourself. -- **LocalStack CLI (`localstack`)** — You configure the token yourself: set `LOCALSTACK_AUTH_TOKEN` or run `localstack auth set-token` (see [Configuring your Auth Token](#configuring-your-auth-token)). [`lstk`](/aws/tooling/lstk) is currently in early release and missing some core features, so the `localstack` CLI is still the right tool for Cloud Pods, Extensions, Ephemeral Instances, and other advanced features, so many workflows keep using it and therefore set an Auth Token explicitly. For personal development, use your **Developer Auth Token** from the web app. -- **Docker or Docker Compose** — You pass `LOCALSTACK_AUTH_TOKEN` into the container (see [Configuring your Auth Token](#configuring-your-auth-token)). Use your **Developer Auth Token** for local runs unless you are in CI. -- **CI pipelines and other automated, non-interactive environments** — You must set `LOCALSTACK_AUTH_TOKEN` to a **CI Auth Token**. Developer Auth Tokens should not be used in CI. See [CI Environments](#ci-environments). +Manage both token types on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. -Auth tokens come in two types: a **Developer Auth Token** and a **CI Auth Token**. - -- The **Developer Auth Token** is linked to a specific user within a specific workspace. - Every user has their own Auth Token. - It cannot be deleted but can be rotated for security reasons if needed. -- The **CI Auth Token** is not associated with any specific user and is designed for use in CI environments and other non-developer contexts. - These tokens are stored in the workspace and can be managed by members with appropriate permissions. - -Both the **Developer Auth Token** and **CI Auth Token** can be managed on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens). - -:::danger - -- It's crucial to keep your Auth Token confidential. - Do not include it in source code management systems, such as Git repositories. -- Be aware that if an Auth Token is committed to a public repository, it is at risk of exposure, and could remain in the repository's history, even if attempts are made to rewrite it. -- In case your Auth Token is accidentally published, immediately rotate it on the [Auth Token page](https://app.localstack.cloud/workspace/auth-tokens). - ::: - -## Managing your License - -To use LocalStack, a license is required. -You can get a license by registering on the [LocalStack Web Application](https://app.localstack.cloud/sign-up). -Choose between a 14-day trial or explore additional features with our paid offering. -During the trial period, you are welcome to use all the features of LocalStack. - -After initiating your trial or acquiring a license, proceed to assign it to a user by following the steps outlined below: - -- Visit the [Users & Licenses page](https://app.localstack.cloud/workspace/members). -- Select a user in the **Workspace Members** section for license assignment. -- Define user's role via the **Member Role** dropdown. - Single users automatically receive the **Admin** role. -- Toggle **Advanced Permissions** to set specific permissions. - Single users automatically receive full permissions. -- Click **Save** to complete the assignment. - Single users assign licenses to themselves. - -![Assigning a license](/images/aws/assigning-a-license.png) - -If you have joined a workspace, you need to be assigned a license by the workspace administrator. -In case of switching workspaces or licenses, you need to make sure that you are assigned to the correct license. - -:::note -If you do not assign a license, you will not be able to use LocalStack even if you have a valid Auth token. +:::danger[Credential Security] +Auth Tokens provide full access to your license and workspace. **Do not commit tokens to version control.** If a token is exposed, rotate it immediately via the Web Application to invalidate existing sessions. ::: -To view your own assigned license, visit the [My License page](https://app.localstack.cloud/workspace/my-license). -You can further navigate to the [Auth Token page](https://app.localstack.cloud/workspace/auth-tokens) to view your **Developer Auth Token** and **CI Auth Token**. - -## Configuring your Auth Token - -LocalStack requires the `LOCALSTACK_AUTH_TOKEN` environment variable to contain your Auth Token. -You can configure your Auth Token in several ways, depending on your use case. -The following sections describe the various methods of setting your Auth Token. - -:::danger - -- It's crucial to keep your Auth Token confidential. - Do not include it in source code management systems, such as Git repositories. -- Be aware that if an Auth Token is committed to a public repository, it's at risk of exposure, and could remain in the repository's history, even if attempts are made to rewrite it. -- In case your Auth Token is accidentally published, immediately rotate it on the [Auth Token page](https://app.localstack.cloud/workspace/auth-tokens). - ::: +## Configuration Methods -### LocalStack CLI +Authentication requirements vary based on your chosen execution method. -You should set the `LOCALSTACK_AUTH_TOKEN` environment variable either before or during the startup of LocalStack using the `localstack` command-line interface (CLI). +### 1. lstk (Automated) +The `lstk` CLI automates the authentication lifecycle. On initial execution, it triggers a browser-based OAuth flow and stores the resulting token in your system keyring. No manual environment variable configuration is required. - - - \nlocalstack start`} - lang="shell" - /> - - - \nlocalstack start`} - lang="powershell" - /> - - - -:::note +```bash +lstk start -1. You can alternatively set the `LOCALSTACK_AUTH_TOKEN` environment variable in your shell session. - This ensures the Auth Token is transmitted to your LocalStack container, enabling key activation. -2. The `localstack auth set-token` command is only available for `localstack` CLI and cannot be used with a Docker/Docker Compose setup. - ::: +``` -You have the option to run your LocalStack container in the background by appending the `-d` flag to the `localstack start` command. +### 2. LocalStack CLI -The `localstack` CLI automatically detects the Auth Token and appropriately conveys it to the LocalStack container. +If you use the standard CLI, set your token using the `auth` command. This persists the credential in your local configuration. -:::note -If you are using LocalStack with an Auth Token, it's necessary to download the [LocalStack for AWS image](/aws/capabilities/config/docker-images#localstack-for-aws-image), which includes Pro services and several advanced features. -::: +### 3. Docker & Docker Compose -### Docker +For direct container execution, inject the token as an environment variable. -To start LocalStack via Docker, you need to provide the Auth Token using the `-e` flag, which is used for setting environment variables. +**Docker CLI:** -```bash {5} +```bash docker run \ --rm -it \ - -p 4566:4566 \ - -p 4510-4559:4510-4559 \ - -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:- } \ + -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} \ localstack/localstack-pro -``` -For more information about starting LocalStack with Docker, take a look at our [Docker installation](/aws/getting-started/installation/#docker) guide. - -### Docker Compose - -To start LocalStack using `docker compose`, you have to include the `LOCALSTACK_AUTH_TOKEN` environment variable in your `docker-compose.yml` file: - -```yaml -environment: - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN- } ``` -You can manually set the Auth Token, or use the `export` command to establish the Auth Token in your current shell session. -This ensures the Auth Token is transmitted to your LocalStack container, enabling key activation. - -### CI Environments - -CI environments require a CI Auth Token. -Developer Auth Tokens cannot be used in CI. -CI Auth Tokens are available on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) and are configured similarly to Developer Auth Tokens. - -To set the CI Auth Token, add the Auth Token value in the `LOCALSTACK_AUTH_TOKEN` environment variable of your CI provider, and refer to it when starting LocalStack in your CI workflow. -You can find detailed examples in our [LocalStack in CI documentation](/aws/integrations/continuous-integration/). - -## Rotating the Auth Token +**Docker Compose:** -Your personal Auth Token provides full access to your workspace and LocalStack license. -It's important to treat auth tokens as confidential, avoiding sharing or storing them in source control management systems (SCMs) like Git. - -If you believe your Auth Token has been compromised or becomes known to someone else, reset it without delay. -When you reset a token, the old one is immediately deactivated, losing its ability to access your license or workspace. -It is not possible to restore previous tokens. +```yaml +services: + localstack: + image: localstack/localstack-pro + environment: + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} -To rotate your Auth Token, go to the [Auth Token page](https://app.localstack.cloud/workspace/auth-tokens) and select the **Reset Auth Token** option. +``` -## Licensing configuration & activation checkup +## License Assignment -To avoid logging any licensing-related error messages, set `LOG_LICENSE_ISSUES=0` in your environment. -Refer to our [configuration guide](/aws/capabilities/config/configuration/#localstack-for-aws) for more information. +An Auth Token is only valid if a license is assigned to your user identity or workspace. -The simplest method to verify if LocalStack is active is by querying the health endpoint for a list of running services: +**Assignment Workflow:** - - +1. Navigate to the [Users & Licenses page](https://app.localstack.cloud/workspace/members). +2. Identify the target user in **Workspace Members**. +3. Select the appropriate **Member Role** (Admins receive full permissions by default). +4. Save the configuration to activate the license for that identity. - ```bash - curl http://localhost:4566/_localstack/info | jq - ``` +:::note +An active Auth Token will fail to initialize the container if a valid license has not been assigned to the associated user. +::: - - - ```bash - Invoke-WebRequest -Uri http://localhost:4566/_localstack/info | ConvertFrom-Json - ``` +## Activation Verification - - +Verify the activation status by querying the LocalStack info endpoint: -The following output would be retrieved: +**Successful Activation Output:** -```bash +```json { - "version": "3.0.0:6dd3f3d", "edition": "pro", - "is_license_activated": true, - "session_id": "7132da5f-a380-44ca-8897-6f0fdfd7b1c9", - "machine_id": "0c49752c", - "system": "linux", - "is_docker": true, - "server_time_utc": "2023-11-21T05:41:33", - "uptime": 161 + "is_license_activated": true } -``` - -The `edition` field is always `pro` and the `is_license_activated` field is set to `true`. -Another way to confirm this is by checking the logs of the LocalStack container for a message indicating successful license activation: -```bash -[...] Successfully activated license ``` -Otherwise, check our [troubleshooting](#troubleshooting) section. - -## Troubleshooting - -While using Auth Tokens, LocalStack demands a successful license activation for startup. -If the activation of the license is unsuccessful, LocalStack will exit and display error messages. - -```bash -=============================================== -License activation failed! 🔑❌ - -Reason: The credentials defined in your environment are invalid. Please make sure to either set the LOCALSTACK_AUTH_TOKEN variable to a valid auth token, or the LOCALSTACK_API_KEY variable to a valid LocalStack API key. You can find your Auth Token or API key in the LocalStack web app https://app.localstack.cloud. - -Due to this error, Localstack has quit. LocalStack for AWS features can only be used with a valid license. - -- Please check that your credentials are set up correctly and that you have an active license. - You can find your credentials in our webapp at https://app.localstack.cloud. -- If you want to continue using LocalStack without pro features you can set `ACTIVATE_PRO=0`. -``` - -The key activation in LocalStack may fail for several reasons, and the most common ones are listed below in this section. - -### Missing Credentials - -You need to provide either an Auth Token to start the LocalStack for AWS image successfully. -You can find your Auth Token on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. - -If you are using the `localstack` CLI, you can set the `LOCALSTACK_AUTH_TOKEN` environment variable to your Auth Token or use the following command to set it up: - -```bash -localstack auth set-token -``` - -### Invalid License - -The issue may occur if there is no valid license linked to your account due to expiration or if the license has not been assigned. -You can check your license status in the LocalStack Web Application on the [My License page](https://app.localstack.cloud/workspace/my-license). - -### License Server Unreachable - -LocalStack initiates offline activation when the license server is unreachable, requiring re-activation every 24 hours. -Log output may indicate issues with your machine resolving the LocalStack API domain, which can be verified using a tool like `dig`: - -```bash -dig api.localstack.cloud -``` -If the result shows a status other than `status: NOERROR`, your machine is unable to resolve this domain. -Certain corporate DNS servers may filter requests to specific domains. -Kindly reach out to your network administrator to safelist `localstack.cloud` domain. +## Next steps -If you have any further problems concerning your license activation, or if the steps do not help, do not hesitate to [contact us](https://localstack.cloud/contact/). +You have successfully completed the Getting Started sequence! +Proceed to the [FAQ](https://www.google.com/search?q=/aws/getting-started/faq/) for troubleshooting common scenarios, or explore our [supported local AWS services](https://www.google.com/search?q=/aws/services/) to begin building. From e38c155cb36fabebd0fc082d39ede9b37eaed836 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 00:46:22 +0200 Subject: [PATCH 18/45] Add Troubleshooting section to auth-token.mdx --- .../docs/aws/getting-started/auth-token.mdx | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index 500812095..a167d95ea 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -98,4 +98,57 @@ Verify the activation status by querying the LocalStack info endpoint: ## Next steps You have successfully completed the Getting Started sequence! -Proceed to the [FAQ](https://www.google.com/search?q=/aws/getting-started/faq/) for troubleshooting common scenarios, or explore our [supported local AWS services](https://www.google.com/search?q=/aws/services/) to begin building. +Proceed to the [FAQ](/aws/getting-started/faq/) for troubleshooting common scenarios, or explore our [supported local AWS services](/aws/services/) to begin building. + + +## Troubleshooting + +While using Auth Tokens, LocalStack demands a successful license activation for startup. +If the activation of the license is unsuccessful, LocalStack will exit and display error messages. + +```bash +=============================================== +License activation failed! 🔑❌ + +Reason: The credentials defined in your environment are invalid. Please make sure to either set the LOCALSTACK_AUTH_TOKEN variable to a valid auth token, or the LOCALSTACK_API_KEY variable to a valid LocalStack API key. You can find your Auth Token or API key in the LocalStack web app https://app.localstack.cloud. + +Due to this error, Localstack has quit. LocalStack for AWS features can only be used with a valid license. + +- Please check that your credentials are set up correctly and that you have an active license. + You can find your credentials in our webapp at https://app.localstack.cloud. +- If you want to continue using LocalStack without pro features you can set `ACTIVATE_PRO=0`. +``` + +The key activation in LocalStack may fail for several reasons, and the most common ones are listed below in this section. + +### Missing Credentials + +You need to provide either an Auth Token to start the LocalStack for AWS image successfully. +You can find your Auth Token on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. + +If you are using the `localstack` CLI, you can set the `LOCALSTACK_AUTH_TOKEN` environment variable to your Auth Token or use the following command to set it up: + +```bash +localstack auth set-token +``` + +### Invalid License + +The issue may occur if there is no valid license linked to your account due to expiration or if the license has not been assigned. +You can check your license status in the LocalStack Web Application on the [My License page](https://app.localstack.cloud/workspace/my-license). + +### License Server Unreachable + +LocalStack initiates offline activation when the license server is unreachable, requiring re-activation every 24 hours. +Log output may indicate issues with your machine resolving the LocalStack API domain, which can be verified using a tool like `dig`: + +```bash +dig api.localstack.cloud +``` + +If the result shows a status other than `status: NOERROR`, your machine is unable to resolve this domain. +Certain corporate DNS servers may filter requests to specific domains. +Kindly reach out to your network administrator to safelist `localstack.cloud` domain. + +If you have any further problems concerning your license activation, or if the steps do not help, don't hesitate to [contact us](https://localstack.cloud/contact/). + From 3a9ce052594ca6786336390827aad08fe1935eb4 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 12:15:11 +0200 Subject: [PATCH 19/45] remove dead code from global.css --- src/styles/global.css | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src/styles/global.css b/src/styles/global.css index 33e14b98d..c00c4feb1 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -108,30 +108,6 @@ h3 { transform: translateY(-2px); } -.path-secondary-card { - margin-top: 1rem; -} - -.path-secondary-card .path-secondary-card__title { - font-size: 18px; - font-weight: 500; - letter-spacing: -0.12px; -} - -.path-secondary-card .path-secondary-card__body { - font-size: 16px; - line-height: 26px; - color: var(--sl-color-gray-3); -} - -.path-secondary-card .path-secondary-card__body > :first-child { - margin-top: 0; -} - -.path-secondary-card .path-secondary-card__body > :last-child { - margin-bottom: 0; -} - .service-box-content { height: 100%; display: flex; From 51aa017779a4e74991193de9d70812fb2b736820 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 12:40:32 +0200 Subject: [PATCH 20/45] add install options + fix missing closing tags --- .../docs/aws/getting-started/installation.mdx | 142 +++++++++++++++++- 1 file changed, 137 insertions(+), 5 deletions(-) diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 8e792ceff..eed8fd769 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -57,28 +57,160 @@ The LocalStack CLI is the primary tool for managing all LocalStack capabilities. ### Install LocalStack CLI -x86-64 -ARM64 -Extract the binary to `/usr/local/bin`: + + + + +You can download the pre-built binary for your architecture using the link below: + + + x86-64 + + + ARM64 + + +or use the curl commands below: + +For x86-64: + + - +For ARM64: + + +Then extract the LocalStack CLI from the terminal: + + + +
+Alternative: Homebrew on Linux + +If you are using [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), you can install the LocalStack CLI directly from our official LocalStack tap: ```bash brew install localstack/tap/localstack-cli +``` + +
+
+ + + +You can install the LocalStack CLI using Brew directly from our official LocalStack tap: + +```bash +brew install localstack/tap/localstack-cli ``` +
+Alternative: Binary Download + +You may download the binary for your architecture using the link below: + + + Intel (AMD64) + + +or use the following curl command: + + + +Then extract the LocalStack CLI from the terminal: + + + +
+
+ + + +You can download the pre-built binary for your architecture using the link below: + + + Intel (AMD64) + + +Then extract the archive and execute the binary in Powershell. + + + + + +If you cannot use the binary releases of LocalStack, you can install the Python distribution. + +Please make sure to install the following before moving ahead: + +- [Python](https://docs.python.org/3/using/index.html) +- [pip](https://pip.pypa.io/en/stable/installation/) + +Next install the LocalStack CLI in your Python environment by running: + ```bash python3 -m pip install --upgrade localstack +``` +:::note +To download a specific version of LocalStack, replace `` with the required version from [release page](https://github.com/localstack/localstack/releases). + +```bash +python3 -m pip install localstack== +``` + +::: + +:::tip[MacOS Sierra?] +If you have problems with permissions in MacOS X Sierra, install with: + +```bash +python3 -m pip install --user localstack ``` +::: + :::danger -Do not use `sudo` or the `root` user. Install and execute LocalStack entirely under a local non-root user. +Do not use `sudo` or the `root` user when starting LocalStack. +It should be installed and started entirely under a local non-root user. ::: + +
+ ### Start LocalStack CLI From f17c2b95d37517e3f7690551bb47293ab313c31a Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 13:09:33 +0200 Subject: [PATCH 21/45] update anchor links --- .../aws/capabilities/cloud-sandbox/ephemeral-instances.md | 2 +- .../capabilities/security-testing/custom-tls-certificates.mdx | 2 +- .../docs/aws/capabilities/state-management/cloud-pods.mdx | 2 +- src/content/docs/aws/services/ec2.mdx | 2 +- src/content/docs/aws/services/lambda.mdx | 2 +- src/content/docs/aws/tooling/aws-replicator.mdx | 4 ++-- src/content/docs/aws/tooling/localstack-cli.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/docs/aws/capabilities/cloud-sandbox/ephemeral-instances.md b/src/content/docs/aws/capabilities/cloud-sandbox/ephemeral-instances.md index 6f78205f4..5cb6bd80f 100644 --- a/src/content/docs/aws/capabilities/cloud-sandbox/ephemeral-instances.md +++ b/src/content/docs/aws/capabilities/cloud-sandbox/ephemeral-instances.md @@ -87,7 +87,7 @@ If you have created a Cloud Pod from an older version of LocalStack, you need to ## Ephemeral Instances CLI -The Ephemeral Instances CLI is included in the [LocalStack CLI installation](/aws/getting-started/installation/#installing-localstack-cli), so no additional installations are needed to start using it. +The Ephemeral Instances CLI is included in the [LocalStack CLI installation](/aws/getting-started/installation/#install-localstack-cli), so no additional installations are needed to start using it. If you're a licensed user, setting the `LOCALSTACK_AUTH_TOKEN` as an environment variable is recommended to access all features of the Ephemeral Instances CLI. Access the Ephemeral Instances CLI by running the `localstack ephemeral` command from your terminal. diff --git a/src/content/docs/aws/capabilities/security-testing/custom-tls-certificates.mdx b/src/content/docs/aws/capabilities/security-testing/custom-tls-certificates.mdx index 0b070258f..309273172 100644 --- a/src/content/docs/aws/capabilities/security-testing/custom-tls-certificates.mdx +++ b/src/content/docs/aws/capabilities/security-testing/custom-tls-certificates.mdx @@ -30,7 +30,7 @@ They all can be summarised as: ## Creating a custom docker image -If you run LocalStack in a docker container (which includes using [the CLI](/aws/getting-started/installation/#installing-localstack-cli), [docker](/aws/getting-started/installation/#docker), [docker-compose](/aws/getting-started/installation/#docker-compose), or [helm](/aws/getting-started/installation/#helm)), to include a custom TLS root certificate a new docker image should be created. +If you run LocalStack in a docker container (which includes using [the CLI](/aws/getting-started/installation/#install-localstack-cli), [docker](/aws/getting-started/installation/#docker-compose), [docker-compose](/aws/getting-started/installation/#docker-compose), or [helm](/aws/getting-started/installation/#helm-kubernetes)), to include a custom TLS root certificate a new docker image should be created. Create a `Dockerfile` containing the following commands: diff --git a/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx b/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx index 10c52cbad..94a2519a2 100644 --- a/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx +++ b/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx @@ -28,7 +28,7 @@ You can save and load the persistent state of Cloud Pods, you can use the [Cloud LocalStack provides a remote storage backend that can be used to store the state of your running application and share it with your team members. You can interact with the Cloud Pods over the storage backend via the LocalStack Web Application. -Cloud Pods CLI is included in the [LocalStack CLI installation](/aws/getting-started/installation/#installing-localstack-cli), so there's no need for additional installations to begin using it. +Cloud Pods CLI is included in the [LocalStack CLI installation](/aws/getting-started/installation/#install-localstack-cli), so there's no need for additional installations to begin using it. If you're a licensed user, we suggest setting the `LOCALSTACK_AUTH_TOKEN` as an environment variable. This enables you to access the complete range of LocalStack Cloud Pods features. diff --git a/src/content/docs/aws/services/ec2.mdx b/src/content/docs/aws/services/ec2.mdx index cf70e9cda..5234b2137 100644 --- a/src/content/docs/aws/services/ec2.mdx +++ b/src/content/docs/aws/services/ec2.mdx @@ -494,7 +494,7 @@ If you are using the [Docker Compose template](/aws/getting-started/installation "/var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock" ``` -If you are using [Docker CLI](/aws/getting-started/installation#docker), include the following parameter in `docker run`: +If you are using [Docker CLI](/aws/getting-started/installation#docker-cli), include the following parameter in `docker run`: ```text -v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock diff --git a/src/content/docs/aws/services/lambda.mdx b/src/content/docs/aws/services/lambda.mdx index dc6e5158a..26b1274dd 100644 --- a/src/content/docs/aws/services/lambda.mdx +++ b/src/content/docs/aws/services/lambda.mdx @@ -578,7 +578,7 @@ With the new implementation, the following changes have been introduced: - To run Lambda functions in LocalStack, mount the Docker socket into the LocalStack container. Add the following Docker volume mount to your LocalStack startup configuration: `/var/run/docker.sock:/var/run/docker.sock`. - You can find an example of this configuration in our official [`docker-compose.yml` file](/aws/getting-started/installation/#starting-localstack-with-docker-compose). + You can find an example of this configuration in our official [`docker-compose.yml` file](/aws/getting-started/installation/#docker-compose). - The `v2` provider discontinues Lambda Executor Modes such as `LAMBDA_EXECUTOR=local`. Previously, this mode was used as a fallback when the Docker socket was unavailable in the LocalStack container, but many users unintentionally used it instead of the configured `LAMBDA_EXECUTOR=docker`. The new provider now behaves similarly to the old `docker-reuse` executor and does not require such configuration. diff --git a/src/content/docs/aws/tooling/aws-replicator.mdx b/src/content/docs/aws/tooling/aws-replicator.mdx index ab6850812..f42c76a1f 100644 --- a/src/content/docs/aws/tooling/aws-replicator.mdx +++ b/src/content/docs/aws/tooling/aws-replicator.mdx @@ -29,7 +29,7 @@ A valid `LOCALSTACK_AUTH_TOKEN` must be configured to start the LocalStack for A :::note The Replicator is in limited preview and is available from LocalStack CLI version 4.2.0. -If you encounter issues, update your [LocalStack CLI](/aws/getting-started/installation/#updating-localstack-cli). +If you encounter issues, update your [LocalStack CLI](/aws/getting-started/installation/#update-localstack-cli). ::: ### Retrieve credentials to access AWS @@ -74,7 +74,7 @@ Both methods have two steps: The Replicator CLI is part of the LocalStack CLI. -Follow the [installation instructions](/aws/getting-started/installation/#installing-localstack-cli) to set it up. +Follow the [installation instructions](/aws/getting-started/installation/#install-localstack-cli) to set it up. To start a replication job, get the ARN of the resource to replicate. Then, trigger the job using the command: diff --git a/src/content/docs/aws/tooling/localstack-cli.md b/src/content/docs/aws/tooling/localstack-cli.md index 063f4efb9..ee64c8126 100644 --- a/src/content/docs/aws/tooling/localstack-cli.md +++ b/src/content/docs/aws/tooling/localstack-cli.md @@ -12,7 +12,7 @@ tags: ["Hobby"] The LocalStack Command Line Interface (CLI) is a tool for starting, managing, and configuring your LocalStack container. It provides convenience features to interact with LocalStack features like Cloud Pods, Extensions, State Management, and more. -To install the LocalStack CLI, follow the [installation guide](/aws/getting-started/installation/#installing-localstack-cli). +To install the LocalStack CLI, follow the [installation guide](/aws/getting-started/installation/#install-localstack-cli). :::note This documentation was auto-generated from LocalStack CLI version `LocalStack CLI 2026.3.0`. From df7a4ec293cab8e0c68fc34224361f54bbb83157 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Fri, 29 May 2026 13:12:18 +0200 Subject: [PATCH 22/45] update more anchor links --- .../docs/aws/capabilities/state-management/cloud-pods.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx b/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx index 94a2519a2..d96146d20 100644 --- a/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx +++ b/src/content/docs/aws/capabilities/state-management/cloud-pods.mdx @@ -451,7 +451,7 @@ localstack pod list s3-storage-aws :::note Full S3 remotes support is available in the CLI from version 3.2.0. -If you experience any difficulties, update your [LocalStack CLI](/aws/getting-started/installation/#updating-localstack-cli). +If you experience any difficulties, update your [LocalStack CLI](/aws/getting-started/installation/#update-localstack-cli). ::: ### ORAS remote storage From 66a567519639d2a2041a75e94f917cd0bb78484c Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Tue, 2 Jun 2026 11:54:45 +0200 Subject: [PATCH 23/45] fix broken command block --- .../docs/aws/getting-started/local-development.mdx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index bb8ca588f..da3a4f2b6 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -295,9 +295,18 @@ Stop your LocalStack container to remove all emulated resources. LocalStack is e {/* prettier-ignore-start */} - ```bash lstk stop ``` - ```bash localstack stop ``` + + ```bash + lstk stop + ``` + + + ```bash + localstack stop + ``` + + {/* prettier-ignore-end */} To persist state across restarts, see [Persistence](/aws/capabilities/state-management/persistence/) or [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). From 9ec543cdaeabac50e45e426cf319f386b264b0ea Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Tue, 2 Jun 2026 12:08:51 +0200 Subject: [PATCH 24/45] Apply suggestions from code review Co-authored-by: Harsh Mishra Co-authored-by: Quetzalli --- src/content/docs/aws/getting-started/ai-workflows.mdx | 4 ++-- src/content/docs/aws/getting-started/auth-token.mdx | 2 +- src/content/docs/aws/getting-started/ci-cd.mdx | 9 ++++----- src/content/docs/aws/getting-started/installation.mdx | 2 +- .../docs/aws/getting-started/local-development.mdx | 3 ++- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 2427ddbbe..911918adb 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -3,7 +3,7 @@ title: AI & Agent Workflows description: Integrate LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. template: doc sidebar: - order: 5 + order: 6 --- LocalStack provides a secure, emulated environment for developing and testing AI-assisted workflows. You can iterate on AI-generated infrastructure code and agentic deployment tasks without incurring cloud costs or risking production AWS environments by using a local cloud sandbox. @@ -22,7 +22,7 @@ LocalStack provides a secure, emulated environment for developing and testing AI The LocalStack MCP Server connects compatible AI clients (such as Claude, Cursor, or Windsurf) to your local cloud environment. This integration allows AI agents to manage the full local cloud lifecycle, including container management, resource deployment, and log analysis. :::note[Official MCP Documentation] -For detailed configuration instructions, prerequisite checks, and the complete tool reference, read our [LocalStack MCP Server guide](https://docs.localstack.cloud/aws/tooling/mcp-server/). You don't need to start LocalStack manually before using MCP; agents can initialize the container using the management tools provided by the server. +For detailed configuration instructions, prerequisite checks, and the complete tool reference, read our [LocalStack MCP Server guide](/aws/tooling/mcp-server/). You don't need to start LocalStack manually before using MCP; agents can initialize the container using the management tools provided by the server. ::: diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index a167d95ea..295f71c35 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -3,7 +3,7 @@ title: Auth Token description: Configure and manage LocalStack Auth Tokens for local development and CI/CD environments. template: doc sidebar: - order: 6 + order: 3 --- import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index fb7ac2f10..6c2671b0f 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -1,9 +1,9 @@ --- title: CI/CD Integration -description: implementation guides for LocalStack in automated pipelines, including GitHub Actions, Docker Compose, and state management. +description: Implementation guides for LocalStack in automated pipelines, including GitHub Actions, Docker Compose, and state management. template: doc sidebar: - order: 4 + order: 5 --- import { Tabs, TabItem } from '@astrojs/starlight/components'; @@ -68,11 +68,10 @@ Select the integration method compatible with your CI runner architecture. awslocal s3 mb s3://integration-test-bucket pytest tests/integration/ ``` - - The `setup-localstack` action pulls the image, starts the container, and waits for LocalStack to be ready. - + + Define LocalStack as a service in your `docker-compose.yml` for containerized environments: diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index eed8fd769..92a28ee2c 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -3,7 +3,7 @@ title: Installation description: Installation guides for LocalStack CLIs, container engines, and orchestration tools. template: doc sidebar: - order: 2 + order: 3 --- import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index da3a4f2b6..b270d80f9 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -3,7 +3,7 @@ title: Local Development description: Deploy a serverless application locally using Lambda and DynamoDB on LocalStack. template: doc sidebar: - order: 3 + order: 4 --- import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; @@ -24,6 +24,7 @@ Select your preferred deployment method to begin: **AWS CLI** or **Terraform**. - [Docker](https://docs.docker.com/get-docker/) engine installed and active. - A [LocalStack account](https://app.localstack.cloud/sign-up). +- [Auth Token](/aws/getting-started/auth-token/) ## Step 1: Install and Start LocalStack From a0dee9b9c806d5c467674283ccf96eb7f6a6764b Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Wed, 3 Jun 2026 16:31:43 +0530 Subject: [PATCH 25/45] Update local development getting started guide --- .../aws/localstack-resource-browser.png | Bin 0 -> 377326 bytes .../aws/getting-started/local-development.mdx | 93 +++++++++--------- 2 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 public/images/aws/localstack-resource-browser.png diff --git a/public/images/aws/localstack-resource-browser.png b/public/images/aws/localstack-resource-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..a228b2b7ea926427be47e9dc539131a66e28081f GIT binary patch literal 377326 zcmb5V1yq#L*DkII0s;b}gfvJ9NJ_VgNP~cYba#%-kVAtsNOyxE(h`!=ozk5n9YYMv zF#KQq)%X3sd+)k;F>BV$@V@8WXP>j5{p>iQs>-qi51u}_bLS3$+`BjL@7%#zxN`@~ z1m`~R%Y-q=;?5nSJ92NNHQes*W#Bd?bWrwW3F_9ylZxt8$)0EIy<$Kb)CPXp^X%g^ zi)0ODsEW%tsMdN2R#`tahrFl6Z>9dy`m`=$f+PDKu14GuyQFT@YU4iy7t zt1U+oi0_@<{onlgeL1*ywO@WgyL0b<_gAot{kz-7^vq9W?;e5T%^NAq|Mto@z+qJ< zCc67SUVh^&*-yiKaXtetDeFfu?Ml|Q-)xvL80h}KRCO`rS^o9qA3y!`A6J+fum9U< zy7+2jLV%mYioQSip3fHj|8O5L zN%<^a8*My{_w~hCFPVt{#|*!!VD#($cV+zJ>Di~aUxWY3I)j<-q&~BsHy-+LF@13! z&_bd9JO8>8V zro$*uk>Y>+Kc+?G_k|g_x5E8Q_Wwf2|1#p=;rxEm-#&P?RPR5#B>NA}V20>48jW;J zlkom|jYb{{nD;+U6LYUpq~Oio-@bQ>b%p7jH!AYdJlAfbP^o$uiX19LUD+O=PChzR zufei^H9z{cMlkA0q70N> zIZr)PwsO0%t|N-kz&@GKhC`&Ivwk|zMoxG09}q_J2X`uZXAfUV(T}Jlw8op0{9UcD zxObl~{0>Z9`-gS?X1Tlh0x%40Ol|xu5m%e!iT4UG%)?*QCcmiaWvFe#zzYl$H1B)$ zO|~j7a9s>2emm3hTKU)$i@_~7vpOSBH@}CW^vfw2@+}LUeC0E=Lq3)b8$;@t8g1`d?W2; zCOlyn@!Di;a8>XH)N8FfCuG>bm?qX6E(TAC-UyR=PGYpj9ZaqeQS3GOWEPm)M#|rT zcH(?bhQ;r0;cXFY5pKmU!01B%p~Qw;B+(;D5c`*v`MqMyKGBf&r9DC=!|-<5a-YA$ zEMbzO&E*;^Dv8t^zyYkE?=hcEieBG?^gH$nl(28fr%G3>-u#B{@5%s2;!I)$HOe$< z>D5w-QKH#MC>MKH2gMmJta)LdUjB#<5SIP#m5+t}BEm+FTjJJN6m_LyRzFIQ?@LRe`LpK;d_gKA+jR;C5a^;tO}+-U1n4cmGR&cgAV{ z*UVLYjMG(2<=i-2D zozS(Reu=evy{F;-@Z#2`WxL&4klQ@x1yj_50)F*F|;wHPfKp}+E) z5MaaxDVj~wrR0**-Gpw+78g%s*lT)G_!WaXj1?=NX9+pdfPFz8rqI^!=(B zo$B~7{X3W%n8d8_Fa}u$*$26>bflih|8=Qt`A&Jt|MHwNGEzZL{Pu7MGsWjg4cu0b zcIWpBLp#CbijRnh5Q*A6<>j({p#;Hyf2r{71Xw6vc&+fjhVRB z(8-Q0pdfXF7n$XA@(%h$I2e)BKUYe{0K~A7rNeO%l$|WYl>Y|FI1KPjVHf4fi` z3R1-XK$WntJ9wjb92HV(2|7V9Brr~Su0GZ>Sr)|!gSO1r-)@IT+_6`lx74+}qVwj_ z75=NCOw51iN1Qh%;d{FOyYg3NinlWIDaSA~0KYM7F9GW!OxH$kT58VzfTFkmL)5Lt zKKrWpx(8i$UBv1CRZ6xKPJC&*(kk5tx&J_1b_EU!dDvRJ;*UrAAx9(i3!@ZmUb(q$ zrCx7uExx>=B&N&Qd2cq?lnOz-tv<1;1VaoL#;tA7_RHR{s!GT^?UMPcuowKd;!za< z_Wn-Am#14>ftInF$c&D?dM50zMpB5442+?D9JMB)Qr0A@`){&|Zf%Z8SH}F&zd4eh z*drqtPLyq*De0pZ7;kSy2{&ViwUEujsY|uTUvFSJ`HEXPl^cht>M6j)AR;V^^=@a8F@M~ zdllMSOOlzx(y$}`3IQx7&vQ0im=rTLe5YA@xBkxUe(C8=$iVpx_@($cx9|K9m;g%1 zDg|7cCR}poTOq?Ob(NAM0{FY!%RDyvTlXy^FV#i*Z>9W~53Jr8B{~1G{afnqixW@h zm#bD!A$qOQcu~ai8Z<{X9i#sw!IA*SpW4{Rdo!kBBy{VMa?h)Pl1oq zUU4PuEo(|8PM3dms!xR-hFA92io8~N|FuoSbi zA3F$1JTRxoBJ1ZTE2}7v)JAe3O{zuruYP#E#fJtG_o#$W>-2VJvRAJgAV2QDfV@k- zkbIiPK8E$YsO0KBBn!(Kuj!stVESD)?FddrOj59e16@b zNp9`rRHzWmx2E=>Tff9Rq2&+dmGv(vE$RQ5>c1oo`{MiHf2DaMR`Q^1b60=b{yE@;z#8?g_f74g)?2Wq=HD$r7me9MEhv#|HMKg*xIf_7 zqLj8CgQTe#W^o;vNgr*t{HSy6`@HqqflwTsewWg{6(t5O6}@t^p`vGMrA;Afh>Jy=iGioeT(=c1NT>(_9c?Xgl~6$D&gET)i-` z@%N-!ZU5U_A*z_NPZ?r(?q*IDDreZlF)LL8A+=??GVwo`KU)t+F`4^Ul-NmcAce4t z+55?cXbI$A_4%ZhA;ra1K90;r&hjsr-`Z>?x3-WRD(y$iiW8KE;Cu;e3BiS-`%I~+ zCk(DiS>FH31q_j;EmF{kZWcwtRzvzYF(mx9ebCkuMJg)f)b}e@jRJ3k+*+U;1*^D@` zJ@2zLoar=Vo*zu%n_!6u+K^XPEKN6mdk5Qf>PFLu zmwH|tfKSI{bq|-C_Y0B?*sjRFo?%SMvrI#ly{DChH{;_Ab?Y3!V=`p3)Q|;Z70K%w z@AFy90(IxfXD{w<9ewg%8{`|Q8Q^MNxVkuWEN?zfjaQj?uOX%X2m#0%+0_mo7UlAi zFg*~tKAqT~F^%TG+WSn*Xg5`=CYQJurTl--%5upz|zsD4856T zSe5wvE`zETCd!gv>p&6yeLopI(l~gJy!+t@Z_1Wu2Z3PVNPm7;OlFl?YNlHme!h~q zhXzWy5wRA&zm?`#Tesx#%^>0J4Pu>8bhos6Z^`qJz-PYo`g~p^=PQ0|KnOmCiDkO; zTZCBKp)ol;Eg9Vt@~Vl8qeQ;A;_RK2&aDfSx_tB%5|rlY^YFx}o6D9H9$RXL z0o)dS{9Zi4I0@(R14HjKO-cbf?XOnO^Y(QV)?b+ViZpPJV&9gaeQDvM>t~UIOBHwT z-JdBg%CzaK$5CgqFYrkAMjiL8Hb2}9poJpnt^K}8Ac6JP$&&Ei10Yl-G{SQOG$L*} zToGs7|5?XlN>f6Iv^xI_JpDimN5*tne-I3fhtXo?wutt=!p9Wh;v zJe}ct;cVaYa-=NcNfIGA)9{x0!xGN>n*%cRVDmb~6FlyNp?RYI_k;XTsB5|3Y-(Ea74 zehe(C~11yWgQT zRaJGi)5D~?c09M?k6lp)xQZ!Buc~y%&?=$eu!^0;dm_PpHHfS>@rCY302I@;++>Qk zO1_oJU!L8pM@u?*QGAx(=1`0Yk!(6*CbUG6HM#dHGgQ+_`53RJcKLI3vRa1{B@5W6 zR%-iU7=~)dO|mjzNTLyWi*D{zxO->z4-o$68P#H{?%tmTajIq_gw zwkdG`S@PD!TjnqgR)gOmuP85GfK7~-N_GY2jRFWtHNSl@u2o7C_(2Vxp|2t9poL-+ z(n^R`;hFwi{#CONpn1j#q@vr0r>3_59}XT!M6zi~?J(5YoET}Peo|8%Ue*43>))`w zpsrRG>$2KEKRKraKs|W%H7)^T*LW0j8`?j>NHPFr3?=h8UPQ6w%J^#!W}xOBaa$*~ zbSJO$ovjnLQYFY(){u!eTZ5H&oDB=iDw$u73;^5xJ`x0*QBaXEx#v(nHM|3@vag#Y z4L#CG)a#RD(uHom_BG9)8T-|&hv(lW0^TF%+&k)`z>A<7ssclFrXy3_?SjZL)n$9=I6p*lzSE(l~#7@OXY^Gs+Zj|SEmyy zk@~6Wy3;32PBX?Kv-@?+ncSxoQRc@9e`e0MVr6Nb8@@Bw06kW`MmsIKP6x^2m;RXg zi2Fbc&!tt-t(O7A^^LE-{mf>Ec}P2#>`Km?evCO_5Qllk)@D3`s3fCfu~m8nIg*uz z^vmZ4a-^o~P!~XDk0t!PBDQa?4}B&-P?^JR7$+HCp;FS8Em^X>s=fmNjB9=Cvf0a< zc)w+2k+j>Z~u}eLZgkPFI&P z>@8RafVO}0xLnK~rPcdP6yS8{uH$GQ7pUHB?EQjN2@;w}DsdU|;Jn3g^70SAwzCBqU zb1f7X`V4a)zkjHc4I!xXzOYF;8tDAOE}XJaAXK2RGA2vQ-;xXB7rXkCXAk%|g}sMW ze{#d;EYj>P$PC?B3hxA*Jx>+8I(%zre*rW?0D0y@EG*DF3vwQEz3G=pdEdvH=u*h$DS;x@F^hGo zV*{7AANe=i&)2Swc|C~X&AM)D&ASI)S?WT~%+#mt#w|U|hiVpP00ch=d@lk z?mdrAEcvGIu;g(ezUw@URXY#Go)u`^w?|UB#M`&5(}0~|>-#6W4i%DxO5tSu1;|*I z%qkKU(TTZ(hVuOyi0r&~Yrt#Ii|XNO&yeVf9jHdrdAIIVv8~{|3rxKI6E)$khFa93 zeQSs4tb3B411ltdus$)fya^rbDpBky1NEG1dE%~iL47ed9W0J;`eDBL?Hjai$svSx zd9rrK8Zr;dX0%6&i_8q~i_Y~~rkip_c<|@FZ$|Xng8%U7+f~;#&T}HE$or+2R(mq6 zk_^1{-)A`fk)$)bw~h!PHgBWlyPP)U>u(i^rEx>>h~{{z%sWJ%8>d*qzC#u#qJ%Fs zC_jxKUwv7dsz#-;&zCm7!0wBsWIKi2$ z#R7K-;`r_LVWeC9==Ew(){LC^NR>VNmi84=;EDbG@#kT1&*BBS&lyt z+VQMm_gmh*W)A*7T1+WAc67GD(?eyNK0-5+#p^lCT#8`C1|4^iQC8`#+#?i=`N|?{ zB6NdD5Z>z|Gkgh_%SOeo0>Q#duzn7-c#SbyjAumrLQgELGHn2GP}a%E>pd(%@B&e5 z9`1KxswOmExZ7HxdHh~=)m)XGk7^Ho?#_Kt;H03rdk*Om8-xo!NMrqCEL7IfRaCwb z5=uKJMPepVx2NIT>i9N_ilPwYj3O(8HeD=vj+E7}J;?LQ5OJ-FQx@r)A@JMpDKbasb|+~) z1aJM+{Gh|6rU_jh)p|seSx~sXpzze;W>~0zHp6W#w42Jgo5GU3(Q=jcMrpmMOIfIq zzd<;-VZ5Mx2haRU1Qf_uOe%oDm!|S%fUx|Go$$QLfbNrRPrs0v zS38C|ZZ|vwvSi)jg5{i%qu+OL;+qy%I9EO>dL8ZCa5}D_U)6aATp+j5T3=U?D)@)6 zCcM!x!=?W@c!+epAbya@L|>PK$(VJ)2ri>=Vh&7}D4 z6ux)i+nPLFV~OQWC-OqAe09b%KNu!K_VRu|jyBM*(8HsS6oQaNSFNuv`^50cGJSBq zvEh+cx_^Mc1vd{TilQsy0!L<(e(|Lbq>1T_dIJPB(mk;$MFn}bYgwFm<1IY1suj0P zn14*b!P`9D-kXqSd539_5kheU2j--NpjLVj;GSVPCzxZ>EB z;A6BI#bLyz$(J$F!pXE0^Lx)aKnAE3I~3wLwBgC@Hh9ns_NG0<`C^|9PoFq>`_Ksd zT=_zDW;3M^VF@uM%VNJE+w#~G>p0=iQY+2B;a;Cj_QY+~H0rLF)jV`fC)(Og6$^-o z@+3ER*#d%d{6pJ-`veapON^Aapi&fWSu#%t(;QnU(21}*Ui$%YU)ZTzhmYDq!hjFzky8f-&7b6$ydQ3N^pVm3a6g2p=G2V_T(C(=##a8PSuGq;b!`~ zx5D6~_0?eXy}dw(qWSPVgX%1wGL&&&OahqakdVzj1fTcxpcazPETG`I3||y~3~v<)EeK8E__c!vIV8 zbiFoEzSou)UG4WecvjX_@(19TS=JO&#kvfxm(##=!enz@T6*fl0_?v>uPoi zwzIo81X-#sRxe`OP|lL*c-t!2UDmn@-u+}Eh;%nGHUg=@g9}DfvdrxV1kYg8 zLhbl&O3Y3HS~|yy8a}o9MNi z_TTIw9K_kLI`g2ao#@wzdW`KR594iqrh5cOQr>t2erpCOn%E{8xRt%osjMdpHzQ02+p};WSO@IzGU8(;4UV$mMV#T+WFZ9kxJD$10P99xHxJ|#L zAmfAn+~DfGcdL7PYW)brdNhgGr3=x`dx3A? zYd_|DG|`=98D2}Z9IU&GTvc>60W=_k1)Cm6+jO1m(8WD-T@#L?uXbBr0Yua}yvaA?pLTv1=g=PW6d&X?MKBFg?5quRDbbn{CqShy z$+1tBy2o#$dRFA5)(Qd3}^~Z;r%bAGAY}`($h!)%8Kn;e}<(7Y1w~@T@M9Jl-Pe1xt(puJG`eoqwPx_17>{Q-6TouSw z&P<_2QNDOI5(@UeaJFlH%+ymWd zIvf-@md*~BB{c*HNVbj$FCL#jf-TJ+lN)+$Gp*M>JX?|IZs$VB^J$(BHi}Ummky(b zn%-TeOsgdqj&v|&PMvw4z%mE*`az^4R=q|N1&SO;xfRqZhYPb&L8(i&&neBj>v`+h zq2%#Y>9o^!nUV`AKRx_(<5z~OnQug6WsB2xc3{!7a}nG1s3C!Qj@2%&OeZ(egA3F- z*Z^<_4b@xMKi9(8-=3^MR6Fz9e|eV+j3_;k`*uxxm=w|B#&E?P))QgBbw{wAyH+-u z#$K#0PpBK7uFyCx&rUHCed;<0cp55+-A1Rf2D-JzCSs=Tq1DDL+fpaP30b;g#O`@v&eL1KK@Mf=#S}s zczKJn!Siw|%ZZC_-TlJ(!-&9XO`qa{bLm)}t47k{Wzy~q*PH#DuUASe?Yi^NH2->+{JMZveF}lvH zXT(xJTuy*X0(H`D=yqv5lVk|J?7f~bJeqatAYhbL9t+Mtjy&uk=A^W%@T0YB+FJ>i zGw3F28=yNmjfP0y=YrspUN`LePtC6oss$;p~8Zlg6!am~5 z5f49^=~_ou>{ShjSh_i`V?E?LB*}b|cs8Y5zINDj)07XPI?73J%5IPHyQgJ|>Iwkb zy{Pr|w2KYWv^YGfDMP=}4kA*MyB=m`;6)qGHuxtcB)gGA$-zC&#!cz#1@z$r2rOwM zfHK$GR}Tr)mQJ?-ks5!z$LDo?Q#|+K{W2;7f1g4wE&ZQ6WkAl|$4qyde@eRpyzC8` z2lBQWwRbe(myeM3!P<;7bq9kgwPyz zW)1Zmce1nJL5I0$r%SeUPZ-mW+j5y4@cZwfXH1;2nBovk z83dLmeL;SV@~@Oh;h%`|wG_?uD*tS+fzIZG^rh=%5pdz_aOhh-{4)z!7BS=76-Dx` z2T>1QXrPi^gk9ui!xg>zdwSOhulK%nLxh^4|atq4qTcc`vIP5nfXBCbJLX(@qWTL0`jH~ zXsd<#O8d$#(y5=WyPawuIQA-?U>Dy~x8ep`){|QG_Kr+rCnq7*VL`6lc=nqpRTEPK zmxIUCfn*odYrI=(N3Rp{%vPTSiTQ9sjL`{QRtu*TV4d~@{P1hB8xcrL*K>-+dqJ2u(%j=4stYeZW(H8)kZV1JbP=vEe@k&p_H;Qz{Zf{I`s9jn-ncZ6 z6S@c&uJ(fPMkr=xhp@1C_gZpB#v#Y+uSpE830u8V5lEc)2o$Qy-Qi@@%oIj}+hr;! zi79P_I*0cN>Zt|Gjs-UT8EIL2eNT5s+lGGmP$L?X zvIB_vxYkn@ab%PC`K4B<8{Uf=-wgMizH`L&>%Gd=3+)m0pKnM@XDBwuSY(;kT7gs- zF;i3*slAn;0jQz*81>F`J2b?81_Pj(=8d8IVlaiHL4{gefj*YaEs zDtblY;pP+kaF6ziWJ#=6=uqZcg6n8=#~v&+p=WS(_{ejwrSUbCEZsGA3=AX~+)j5T z+k{D`(+vWS$qr#fV!{3}!6+uM%1ZJ%QoYMCjkeszXAnMZZ_nB$fXcWkz-juXzcss~sTr&2hkP8#Gj;k@^?!{^d zEitncB{rEOcYuoHZaD8_P5Ce?vwgUSfK=yUTT<64~bR@!a9m@y^HLvf^6%XokL@LezF_-yw! zE$?9PSp*x;Mq=5m!R>P0#}CHk=1irm$ z2BL_UBfG*a;+TwbRv23n{{b84i))AR{C-#q&;T$WL}rjIRES%^N0vl3%`qqh0XhQk z-H+`jxLQ#sqd@$40a2@NIZ0n@CEwV5!DSRJvcoD0l<~g?aM z2NOz3w+B_Sl4_xyj2oH?(;T8H;mKnA}SCjHtGCqAd##a&o(HORwK$t0q zmERU>ZK+3@gi(SYtf7Ob;#FrXXgpnmk*mfb)E0KthwOC~cYgUl-PYOjy}RG-ps~QB zy}^v%@hWH;-6`7_%^e|msQ&hbMxnl3s-rnrU;d~EaX~rPcaximTmrI`ROfP6%suk4 z_v37adtF6udx{fx&`Rh{n?DMydJR{3r=8WOeJoj2Q9hXsR8bS^b4`wSvR2_ zQTE-m+kqea zIh36nS!E-FzOES_2KC*=rZS=u4E4{2!!Fze4qa`K_-iN8hVD~^-;Fvr!<-8^7sM`3 z236)yN;f278jzQ!Vy!t67F$IAuJ>6O5@lZNzMkld?1}q(0L0~Wwp0GguZOvN zvsR1oGDbzI@pmcQ3Kh~g%kke>JPryO{dTqZIMlQA7jnMKGRv6Kz5?3i4^f}DFRB$l zOi|i5Y$nQeuGeQF--@L>!HqnCdIPRtV)(G|M3l%Wo$ilKw%R#1c3l|b!)lPqp|Wbb z*ww}aF0!#QuViljXZ3#lqChCtpM(#3zlL|zF00Z54}B2CNu`Q6P%Yh}4#LVGQ+DR; z2capt2euk)bKhnJS;I6YRK ze6M?k>Im_l^y;0SdmcEDWqNzeoDbAkId~qn*v>?wTCT_0Z>l9N2c6_fn%a5EK)MMj zzv+%Tq9sFF*<(+;Z8`b62iVxl&34PHYcpKhE2nlB_;5?cxn;SRn=aQTz?z46_Qh`_ z-*?06IqN8isa7d5`O^rYW#sVZK}AO!+NB*)!eh*+Q_!<`WJh2YG!)S+S-8V^H_KxS zYu8(I`CY1BUntH{UI3Qgr!{xKM}z|qlpAz&?>qr}WrclWMcEuB#DRJ8Wx5M)_{cf> zW-XjcFQ)P+JPYm=jxl_F)IrFy1#Kzal!;Z(Us-Yk3V$JnUm6fpN^5(?Ww#jwCQ)hs&`nu_*lbj5FZp3CfQ{6wf-3z=|HMwTLs7Apz-*V6UbrkO3h&>fMrjc zsw2wySA>03rRiE2FWRKUkaO)zQfu#K&lwpcRJT8v+GOV8oTK{Az`$5hrbqv<1k%ow z(z>OjTaxm%j~RV`3J@}J(nonJ%-7nJIK(X;GfpxJEp{te0;Zd z8S1&t#2s9s$LF@?khb);SI-~tunLSC zqRx-kEo@lC4L1*eOdA9XBUS^klom2KdNKAnG@?G?MoOQx=_`5eJ9IQnR%hVNn zGnILlAVCn{NHM2ettow)=Xdtku3B5EUSdAk9A2Z+*c2n9$vgdOJFA!E6MJuKfpupd zJ)V!dkQ=^NK<1;!3qAs^Hq@UqwJYZjJ1u8R=FDtKl2!7NJ_z6((GwFC*7?ya0q}s; zp8*OZ>Ah3|X~#p=FXTPyd45N--!JesoIPy5Sn3cpCT|@61?L&@8_wuUK%l_%-)U*P zgb*hS{d}5wIg8P{x}vmv&Y1LY(N^~P8tXWsgdxuiJ;?wkTBD_h{_Z1ldr_1=gk2%} zH3{GDj7U|uI@GZjgUIIiGhFaTA{QLT6Oy>sIy)x%!h6`=>)3#VL1xa#0zg5kUM zo+unXi{Z|Xw$+#2luQNY((@PThyk;8JQ0}SNyFE*UoD<>)lamvm#|pMSgH7}t2ElL z0k=HcNb8mC#8q|Fjw_mY{6q{zdl&KjNB7S8QN=G@_~>XOLqA7nF*|&Xy_`Z)PY=3V zy4Vk%YjIiay38y6u_&M`Qsm6>yPB&h-l_HIggq4NtytZx3*Rkw%*Ni&=U@_LG}&)`+x9 z(`^B(<}&-rzHYg`6ooHh6K+S0Y)UcS7uST~`RsmbSJiwoPB}8k3`wq^0d(&$)ekZk zm22i5>bp5x5n}VE(;1J9wcX^#E(&#lkm-R?jefgni#e=zesCztPb<{drM&$EP^=* zG|qKG(EZ@_9^{{F>3|3cd0GZXgE=@;AzzCLCZ0d~FdBiuu>j0u3zEfZ}TC>dg@J9249JQ6}^UyF8E28QNjU> z40>7l-`|DMN825E_I^(Lbp4#Bd|_cwuI6qJtM&L-F0so~W6?yQjKDh%9&r1AUfCP{`8S5f0yZuDh7j=}8VdtyE$!P2v-$05c% zk6J(7$J%$(PQQC$L55v8JD4}SV5?72(&)m~cLv9%mDVU~($H^^e=cTdntJixwzM)> z7z^X%IEz9R!+Att!G{N`3-jj@b*u{b%*Ps9buawJ?v;;}dmv0Z$&xcOExmNk;QDy7 z%6vfe?nu%TOuw9%o@(Om8*y?>ze^BLD_?pQZQ}^{c}A(?l4yNBI-votD``DSbl6H% z5??f8mOq)g4zV9#$T{eTO+$W}-I26ir>nHQyKzMkxJ&_^t$_b}sAWk`3xr!xDj%3S znSqtofkLudgX&l3!w3{N3I~2&!FVq~|8IYMf2>q9>%zwC*@D8zI=L{@QX4i#8Xqq^ zSmKc2V((Kf&0@N>o@LXdKkYk+!&VhcWO%NdL+$a~TB(4I!jE>9K+0m?vC6OR9B)X; zn@iBZAm;w&{q~GiKN9m)=k?ZV!DaVppv{HAb9eC~^eK-OhOC&&iZ-;tobf%vS=@D} ziOdr-0$JvwMZD0sPqi3|C5ca{Bx+yxVk(dV#~`gMYDiIas1mp zey_FZJd$yKWkmh4yJx2vsa(9P6uWlarIi@Uu4MP)vhbN4Z<=G3+Kh^xk1;k8S@CVD zw3hIC@yxsIx8wPqPefkQ(zTJ|%nijo5@_llqCl>u)6Ad7R4kk;!RK2@B-j z57~N3h0f~xQF3uC^Lw+^B+pglb!{UjNgS44wq;;4S5kVbz0te#ApW{b-s(z~WODnu z+WEK9*r2Lwvf$xzfoTJ+b0x3Xs@oJ0b_cTHU%7yB=bqnhBlNxdWX`YPDsw~A2F7HW zixa^M&~R4?l+>j${; z!0wyYpyS>{@N)J%JLyK+Pu86GODj1SEDH@^;)s$d6+S*k^(vF~5;nVOx2*TT*)0VP z?XJ!sc#syug@Ybr`Z?Nf3vuqNhvSI--NWuzRBJ!onl|8uW=Cry%`x!u7W|8<{=Tn$ z3FWE&Mwx3wBm4*C56kLfWttH`aXkxzlg6NWV5gIT!#&{Sr^1`?=?+81O)LuHYnMu? z#yOjBtM+!H%I@yQFoTHpCk5%;uPCl@{o4?{iCj!vz(Iv|Z5q;8Z%i+l-lQ5d+@ChH zID@CHjGii`EehkdzlJeNh(XMSPMzX1s%QE)XEabce=3WpFj}f}H1q_@elJ=^H`aDU zqVM2E0KF9Y;|F|!7NWyCM@NP&d5Y8Dw91dZa@C6Zz%n4?Y`vXiwbzVvtZ97CH*O+i zT+3QMYEQ5T6~$Dx*ujCnoc45x2Gi22H>pNgNCd<1hqG(i#)Lf&gb%F@p+)cletAJ< zVy28ix@4^oxBBIW9K5-{6wv|mj*{asf@tz~R2LN_%jrV)vB<1&NIf}(7JPi9P!PXO z>)xL344g)o31!K&;uv-ME%#G6Phu`qB)(djCrRefmMb{;h%9L3Ra!-|-10Ad-Pf&o zhR!dEdKPoC`-t5l)H4-q*ryBf(uaqC2#hG^vuky5K0(9rM`|U)fga%BZp@#c=wXUs zF6h}h(s-dRos#J=m2>XIGXNr{9DFl)h;nh45q`lrGLprenbjcD5oNZ3bS4q7o8boa z$mP@z5Eo`uS67DgGsdFD@-j*5J4o415amPcNd2;3Ptus>|i+`v4(4`qWD7 z-F44rntl0Tt^Q?xIbMe>zZhQ6lXVnYeI8b5H*grum09_|Z~a1eq>>yOaOFIs^cw>A zd@LB|t;Zuxr0w;vM^c>x(@*U_^d1};Pp!Mw8qgC#VS1a$Ut6>)teWUj=wZ-0bagqy z|5B2EjJ)g3ZlEIh@S@qxjsB-v{IAY|ZoWLExD+`U1=JsE$d^^Xe{;ox7=0h9T&1!_ z%#)^sRfGG2B2sguQo2;C7pevj!=Ibos|$gHhzW>U{jKTe>g__yJ)|0G0{SASDrc4* zXVZM(1ZQTPTrLALQK779>imz}=O2;?oW}D)U4kII6DB3^ zROe-_gLiL)*TUow!X%cwOX@G>ceoUa4!Bq|>Y?qf8T@&oRIyqTNCod2LV1gehd!g{ zB1fw8W=MUzk*JW5u(G1y>nt9rjENL?J@(gW7QZItQh3(O^J!Uh9e!5gl}++5MW+f_ zfBEpRXKd_z_@&LuL$~-E+%4<~N?OgZ@aT@qv33PbkS;krw$DsP7g@C;e5-}82n>Ga zadFLqn*z&R>QG&icl$lsJ}fV4SN(&!#t>UKTY6KxEmZi__u4LU@*_~dI*X1$&a0O_ zxW|rm+A!#1I%$<#@1EMOc+CJcl|*u^0*AK(+dOK1pJMB`tWPtBdGv|2yi;Gq`()r% zK?Hk1sS@4V8WX{Q!xbO9>qEWOL$9Q_jVW2TS>tmC-%?OD_)H?`;8l>|Mt)Ghet_FF z(-E~=a8HXgvEBsdBHH{{xyZWD_noz?O$hjgsnC#R9AOS)7mDZAzf{GrnJA2GC?ER& zIQt5)s+z8C2^FM6x}>C2N*V;DK|mU$MY=&sL=Z`7kXGsL?mmxuXK z-tWH-m)8c*-g{=v%vx*KtaaZVbR1YBdBLl znwFB;BcXG%*dMtUz2H!}8(4_qW^uy`qw=&(?Lg`VSJ@eT4PtXkI}b1NHrs^m#DmZP zF*Ka=<#Ktx?FX|4$c9f&ne}W={BbK1-qah0q}y%V+UzgoRPcE!a)4TDzPioc>n6H7 z4vuQ?JH8_O3xRMds#D3%Z8e3e?GPltuGGzzv-okV*Up5M+*)TW#~2a?UpE8$;$5#D zsBhrDvU5Xnc*=djjg6zWb+C!$@w|z}EwV>M(XE&4OxtPFh-kM1w|{#w%yv>P6C!?O z7=~zVHJAMy=aYh;4Wy#wMnmT)lR}saR++OUmrMzFTtCeg54hy$K;^OjE1#JNPa8M{a|q z=tlkDW1L473iKun3fh|`z2BU4T~U@C~HOMypb@ zvA^*ydP$m}<+DkK5aw8aWI9`8@R3?BaV?;b3RkzLUmI@xgFHVm-Mb0?HJG^jr90B! z2>db>2aRRp25AIB(`Al&K>Ctk4&t0(Hx=KK=DT~QeAAqpm?j>F!YAWYOG!pO?-==+ zUmiG}Ith+^O=%YO37`lO?DRP1sgm}^EtSjJK8?F)8P7RA|6E?G<*b$W24Y_;u4bTg zkgWDzbd`A$bKQBHM^caV5C6eE#W@i=-ra(MD-xMxDTxvKVr@=W;M3xaLA z(lcvH5k{hIo5$moxj5?SGHkSum+X1pq{?W)$uFjZlz?{+3wNZt2$?ZPh&#FJ<&O9< zZgyo~xHcnPfNX`ioKWBna84S2cu3&M^$r|4&|vyfOrkaP=-Yb4EAXJ&QoTN1Z7SFm zt#W&GmH}dE_C~Z47Zpv&%&Xb64M^A*3+|_8vi(J$hAV6ga#Cg_YV$ip)J_A$%USTK zV=i8cHLrA^W|USPN(n}U;695OLfmam&~+Gg=8qZ3&W7{nuhRl$O!uu`)2kJ~kU#P( zK3>TtWTpsxLns=nZrvI@BSt-J%fi66OO7+gtW{CPzO-u_o8WU=wykSjRS~PD$3MSO z-Lr1l*rkL`aro}-q(XrS`CVKawZj}aR4J~t7Y#UbYjn3So^L{H;&%H4r`bYPv~^nX zdILO6xbOQUkZbWP(0x@SUizNzq1#l?ITxQ#U3pPBhwj3Dw_i8(bxH{TRs-Bj?*pJN zn5_%dW}8mwAHKxq9);J~Hday}soduBz{Wu;P-zW$<$_vI++Rxk`Rw}# z-B0aXPHjm`iXUwb5SkPrA3akTUd0(0R+Lv?r@$FJqsRuy0a9GuMj%X=Q^+gs*6Y06 z!xePh#Pd$}+p*4}4}*COezx^?)GBArQOOo+Pwi%imW4EydiNl^=m)`@i<{r1Nhb_K z_>q0!B3#vo_9HRbA_+s%>#**IRmQRM>ovW42#Y-jjsMkcQ&{WHIZIA6Tc)qic~k%m z!PWO(%S_)5zfNCQ)^MJe=|JC6iVvJsHBFMgYZ34j*$%Y%4wA2iD`>V3u#S+6iIKow z?2Jvt=wMT~McN5%cRbd4+y1bV602i4hWakHLdDKW*!1#pU77UNRZc0+w}Pha$%%%0*s4~V3ts{3o`jH zu{mzc9QAbWKd@irO?m zkJhEtISP97W_TT%%q}yLR1s5AKLIM$ODU5L#blF(-6K4jM^HHp(mi9916LdyC8fT) ze3T;WqtLm*?2?J5KsaNKKI-tIeX;DlB&dVOfzVVOFp`MP=iHP6#f9iDG!n+VtY83uCj zqy0wn&vd@;`JI4rm;|SZUL0Mw&kwnS3zOW8ZxT5K)^aV1#_#J#z1fcj^~&jt67iA& zi@P}e4?o>2gX`BVHlER@P>McFWg5FF_9oml(P$t|HMp>JSgZMYlGEdn&E<<2aB3bC zrNmT`c6;NxLK_lO?wO^MH1lLjxH0E${<}V03>aFX%6H?B{Nz^m_si!7d^v)Kj{5M~ z``db`zviVJh#jN*Ypw-ib8Yk8K*h(|cyGUWy>?a@zcM;#ePq`=oo2u`HIkg|U8(|; zJw{Ye59>gBA4{1D6`!i@TNPYiiuZ^5U1xsHK{MH-%12mHeTSJK2U@VMVkfeWoAYHf z(X#W_P!4I?qa1lG9I)S(U`_e>;tsN?8u|m>ERK9UE=xkES@Y`kvNlEjA$%Q5jCxLA z+ls0WIgP!T8y(2=m^w<8HYBe}o;^Kl*e|rN4)AR(>CqIqT=O~j&a-XUC;KvNIzK2es+**)Ko0P zxW+A7UA4mgJ*|7Xaq!5dXNX$@r`^1u8r5HZjif1*(L+$b+GWfSOu;Zpi1A@N3M8~H zsb0(z{lST97LVZMhCp4n%vvB4Zb-h0`d6EcmAuM%Ep444pLSfdiQ4y7_S@F=#9uLV zUpQ=^efPd|K#AKnR4%vA1e3Sp>biyc6#?w7 zad6gdxyQIjwwRG>uvvo{YW75NIuj;GO*v8BKnI^EoA)tyIiy{B z$v9;qy2nnvs$zd#{%ph@&dA8o@2hi^w&N(3B7;W=IIHeLbV|cXx?}2gV>I~s23ALl zwUypfd!lsn$ic$U;!(3avulJFkL5t?6WDZ?i0S3MIYmw6 zE___?Jz$KEL{@J;wK_P&{xD~RYH5CwzHPOOR`O>oK!ss4k~_wJX6F*i$d*EZ`4(5M z!7VP*G=&Nt{i9mONjVM`4ouUBgdtc!OZYmUj#X&p5osfw@s#cQG4Ga7r@y-(5A(Ue z=~VE>xm4v zkEUiQw8HM!=V7igV|ivylv3-&NEQw^L5BBYpLLRW<{{;+b00Nl>}?_||LE zRt7!M74cvOi@=#_83i$C;SA*rKpo z)ZA37sHn*FJjK}FiOhPerFYa}^GYf0l%z8H5Yh95@%iS{D*NyjR@Ta}xg}LxM~{w_ zhu-f|ZnVD3+UapR&Dvp#E=Z-vkvYY+a?@^)w#;0)0D0Y`p!x(;_~X8AHx(=$!}$ga zG_CGJnofsX<-zvFYdbnA%HD8`tpQqrxugKxPKKNl2raa1uWM@Spq@__UfEzKz)EMZ z`l$*nOR6Rd1>=!j>*0E1@AX5y34OW%Q**Q+Qs#2*N4H#g@ai5o?!UULi*(=VbcGq2 zp=w0GjR|d=yEj1!#*4*~aMoYAle#Xq!t7=fJIA@Sb#$7|Tw5=JjuJnivWlu>%2ze= zZfJQgca-1KcTmqi-OF>JHD~mcre-!oGbg_wYTvUh#M2(VexLh311ibsu!c6b<(LQsqGzEjEs7nGe z4&Ec;))qMt2~zhGJ?@q6Ai@4ceF29f6FafO&+>g|eNHCN(&ap~JUyJw*GT56!x4@=-p2incr)LWm9^xP5*^z>{DN+H^l=mu4r7_saMWjp|bgTl_YE2Lzw zbHTg1?0~-?@{zhh5z7OiPo-|W{N&*N=~-b2ujQjj?^9ReZN-wAmAEX(*LJ(_%10TS z-1j*^j@og+{KqMWVQrMu&&s~mCNbl4{-jJ`wVk?A@h%E-^?j6TwlkebT6#X+*P~mf z>psR~83BxuCsCmp_QBl?F0=#qijVYmS<|#OH)ud+6Hp)hyy_ga!&Ua@94eC?%}J|g zOUQz`o1~uSTXUT{lGmmjIMNg$^X^QQ#hOV-t%c(jwqvzVL z>!nzVW_!HOpT*4fdAUQ?IikP;gQug>#@v}~mf>OhQkNT__eV%I(W!Hizoe>a6UftB z00>xQunP~9b+9e31?eNJcDvGITW$#&AJtY4c6^i`FcDeM|L#M-rb!VSE3O056hbpT zOcNTgo1{%y=ntCZOU%A^!+_t#`KtPccA|!BvAIQ>UJwIq2wH`c07_a?mK_%>-#90^ zeXk@Px?eU;KikG?(p$r9UO1fo#?JL<=pvP&7nF%K8EBj~sA!hSaO=7)aJX)yDyF!c zFQ{TN9J1Cgq{WS>^H+_&9mx~0syWN+Nj#Gm5!cputVuPds}sDBSkJ&*d;D&*BuYm& zfc|NrrYz--TRWPd9Ky+)Rc26H*?x*%e07dR>b|4?-coI>e4KFs?PZpuV&`?$o!~fL ztD32@@#oUK#|7Tx!oySc+3uiP6Qf>+sEesuMr;!2;e&+JRV&klJyK`Yk7#bY>lF{G zvKY2mHO4E0_y`y);iF&0;*6KlVJP?*`P`=SEWljfFQ1+Xvm3~f#DYRhW^rV)>DVjw zt8C=$_Z)7nePf!$Ofw5%e?*0JR(H6vy0vnivq(F#y$_K}3?n}9DxY?p77Nm9Z`**& z&VS6KyC@|`Dar$hY5*bq7==Yx*y<+*#c%;V70c;0hZXZ-(t-KZ+s)Re{`m+2AnVnA zOCOPoSuvgg2ayK{@uFg;0(Pl=_(M(3ELGs{oD>fefB~>Be1{7;G%`?|a9ma|v3H!F zJ~Fa3YODiA*l#i-Ktj=Gsk6GS%R;0zudZhye`rQi6RZh{;*efPyg(XJW)^b^ZMRdR z)I;Q*2&K*Q2MKDmt+>y>)zfev2Hf52Ba1nh*yul&Vrp@42epd(AvjOs%sly?klwQ< z`;6&ZgB5&)qkBV#rqX6#*6q#;z+c$+4)RI#ljv@Qy~+HM6)4jc%t#a4dXLI6N8-^| zOK#tQ)(5I+I6{a0{gss0J$@eD-!1ELG3&ttDl_I*49ftDhC0Qt zvOoKlUFbLZZU>Mo>l1lm{h8>)7E8+6j^mBTUZZ8FjJWVfnOLcnF2RHFd`}S*8 z;%93fty;6E6|)kA`t6@M&+Xtm&YfElR!Fex&APYI?KbaLvk_I?aqU+IGH`WZEaT*Ey(0- zITstqf{e5<|AshxU9DqLNBSJkv)guacT@D0T~f#QBRC$mPWT=Ev@@b*vrI>&QT+hM z9CT07#huE|B?TVS?U1{TPoH zIb#vc|Gr0r$Jue}DRK8{SB#^L3oaJ??#kS07U2bxPTDZ=isonWDF~MShm!qS-=^zGowxY1lqD-!%EG zRK=q8Hl34B3`p-raotLx{LIiX!G7B4cOf@!6=$7a{axeB1TVEADAo85S+$~WO7Ka* zOmwx0s09UTDMyZ{hg(QiBwy2HLr4mDOvKc+?mM~b4bt~&h=%a%)ypRk zY&UPuv-gbx>?H$~o<~7ZC9<66#A8QxD)n(|d%H}ivVC^UMQCjvfle(ss*PpakEE$j zpME%GRY78|c|uOqMXEw%)7rchGG)Wu(l@wP(DOKSu0-5(%PUAyadETmqA}5PdB|@h z0VG_^OnHpwT39M%^6jszT8%IlCcN-F9W3s9eb%xcOJkGfvwf}BVIew zy{Avc%`3$y&(A{maBSvccy^fyZKvTv1wLgcQoPLK08UrO)70ClU&B~zQqf_jE}k+( zml*HLa{9lj=iL=A7_93-?6gB4yGhIMNosffD4^5#tRD`sx2PSsXV0{t`d zk}jYRl!_RIA@`r?4q)7=Ymg=^cq$wN>bD*N8_Q| zKRmMFliyUi6Um^5m&iZsf15_K=!pn-pU~OK0ou}2NA~xdA$W?Fa5PBI&!w&U0n#rC ziZ^j{uZ&5eOIphO!{>|ir*?V@kO`o)5!8WHOQEzRT$EaC$Z#v}Y<@Yw0X^hvdesKoY zAFRDVve^OJA^;SLRo^BYR%L1s40rQOuY>b>7h55M-1kLAQmE3$H7)>4e)DwlcB)`v zePz0}r^uTDAJ+8Z!?lU!y!3cm|Lry5df^+@hE)}O6 z9u@F>8zRF7lf;@*Nixu}7nIMvaGI_3(QbR?_+8gh+E`SAcHSxH%&6Z9^X6Tq{KMSN zvw8u&!axb0?2L?Zu}{d7Y6a4|Gj$U)N}3^sPLA(C6Ph1(eKTIK5$zppzn_gwsm z?fNsn_nwfBmN6F}ZFwrLH=2;o<3w7%b% zqHZ~g^QA_8;M2x=PNlfL&54%;Nx5#i3@f(Xq5f2>>v~YR`7r8DwdympQg<|dNL}u% zA6|4@eO}Ryl;fxKNalI(O0NX9&s>Q>>w&aOJ-=J4`f>MkVyq2(_VXevxph;k+7q1)D=9J8X@2vHeNty9a?~h(r}0?n z4B&%64S`8EBPY`8;<>f`h(wYb!F}}@y#0EvwE~0cSC$tc({-b^`wRD7!>NN3hH%uK z^;Yc~D^tSacTb_J z?F;W_5vj*9t=3!OljWr^%O5SjFC|6#OT?L%2tS%WFgpGYlD#?tH;L@KUU+?P8~?Dr z=`Rr6-(A~GS~AdA?U#W8cXLVjV!B}ed9P{B#Crdky#a2j=|I|e^t2nHZO!bM#~bct zhQ6Auu=T;Z59^<|(Rsgpn+sbEv|oOIN5i9Sb_4?ePz%(r%0)5YlK{S#1;)n>WPCty24whAj=(am!&m0rT()q)?K+4d;&+o?b~+LvhNHT#CJLN0Fo7X zUn!-vKm167`iEJbQfOGf^y3HJg52s|^O1s-LhlGWJ7O+Nt-}Ql_e^0i?Km#0U?(Y2 zezg`|Js%gTA{v`uBA$NB+Wp6K*)ongwutx=HP;+1wR@nsv%4YBlbH*BYWk?-Z0f*) z+3Q;xG=gN|JTR#wW3RK7%t2C)95~*ztM78slWnk$~Ki9rVNb`k7u*GP`37}NQD(!vTfTC0u#@GXN8N9Qu)KQD_Nd^Iv zK?mN-qKE;9IEymYV>pA>p*ZF*F5bEWdXR7{D5~AMHNeex?AILRLsZ* zNq*h<3~is5Z07p-I?gsgDqkc0XHT20ns1AY6EQM7cM^|LvDvt~W4n`>uJcBfJ{yAY zDCy{}2{QMqKB9H4ZrNiE&Ye$eQk3pZ^6(OQe}UTPbELY6waDS-sZD=xgO~4&%crAa-j+MBiDu(z^C!w(&L6aaLu``K?AW^ZJ)9CK55n{n|72<_0!52>qS_P1HJs9<%!B-n|hE) zxg>nR8#B2a^EzH@V|kEbX!EN~TYY%=a%tJ7L&dP+338Yzeito?jJuMYgQ|8hMe-oI zg5@Pr+oy9Tt_t}Ra&;JZPh=@JnjyEs(S$ZRPQ0~44Dop7G`iT#S(DXr>G5@ofgt+G zJ8ImuE)B`ntWE>Oj>X_ab5!7vrD_*qnrK~D#bA8n z^HkYHrFQG=iVLU1%Dwl#X+s3rqZl_y@y3pdn>jz{-Vh`@d2@+(RW~W{#WDYE4YF!U zsSy@?e?Nq>-pzIElcRBn5_xrr^RyoY(kHm@0TnhmAn2-vx%eiuZ!Fl=p~S+; z%!*XG!ycx5nxjPlwdt&VniuYQ#+Xxmanpx$I)PDD_c7gxIAM;J1d#@h<(q+v zUSZ!Rc*pLz%^EZ2`s3##9yQJceD=;6uf${6b02FCjcry|1MmIZ3AK!$m*iPD?`z_L zR)Le#>`zI8M634V2jPXr=C&N=#Mt8rKIfAQgY4!5>rSO`!Q5?mRp-Vh9Ae`wNY6#m zDJXPGY(k2e3oIPR$G;2K6z^9%yZ~^&@ehfJ?C80?n@qXT@SfJ6adMP+es5K6L)A>7 zK=Wkc*)-R5j9oSfp^Ga-J6+2g=yT-u-HPD zF@ieO-GR1A54E)KLyt9ko^+D48==00L_e`MvUzpCfi0o?u&dxur;kWe;p=9{0S-kEE$iWaixsq(q0aq;K#JWXrnnekkRr`qTn$~hj5t7M?U|@R z%{?k2QBW6sME|_~M$yQF3M*&C0Oaz5^`@7}Y^0~a_}n$ve$8iN08Ck%ao>P^Ie`B2 zxIrDvPBUMC1*7|Z*NEE4UQZYukNJ!1_ceSH;h9s11c_^pZR*hYwi;@LHm$&c^tP0Qvunxa5ASyK-Xp2FclOke5H7!bzPsn+vMay--IQH^f z2>)R8Zk4p2?EH~UC085Rpg2TwlMyu%xTa;~6lMUe!R+?pN zS)*@U5pU|kEqjwuLbzxBlsj|lz>$-l)Sz9owj*nu#xwvc&Xo+OmMonwhv|FfHrabd z0nT~3o$WWLCciQ7aZTU>+_zRyfQjFYHa8_A$i4hA+%JkHbHgci-uv1UF@0u0?J#>-eTM}NcnO_y~7Vk&Jjq<};N)oAfU%;G{m5ZXS z_;KiaT+}{FG2T~E%~X4#&4#Hnpshjvrr0|96j-BSb-PU(#+KIDnesDE&9TYyN$fhA zwso0ZV_A!D31=4GUsmrk8weA&#wq64>P@>}7&MV~!JL$q_ev1?azOQC9An+#dkn#) z81`~o7*7EEW<53I;C21Igw(6Vp;J8=w-If)oc-sk5A@TXEvY=#`RqIClAT*2l1d&W zT>^p7kG=)P+B;p0b2Uw7bRO+a_nVmNzny|ox2qcJ;%8kdYY-jWF%cxO@oyof1EQ_B zS9${8fk;O%hu-X&pk^Loql%isiu$Nho~Yz}yiWAk+UUirOdP-cVzL-Bw^))J&pn?f zxuy}{R+_rQJ$3W3numIIx_*4i?JhsfgwEE9vSo1#a{vvO$(H@tEXQ~?uh=-!rfk}n zzIrPsaYn?n%5U7V)~9uxo5Tt9tGw|B%KHuHQ}YREk|LMN1nG!6J=5#_F8BJ>XiIZ0 zE%(^m%I6ChR33-H;}!ZKJxAkhFjEscRlXJ`VP>S5F)5+3=yx4-eUeotQZ9CU6P$4(VfjERaElG$j#1iMV^UTAzhL-|%%c;=> zXLy3xrKdhi$_!8B+;HwG`X=|icl+9&s@?h8xrEXGS_!QO!=q1aMANTk5MTv!i;Mk2 z%!3z_naR9AxM@{Xzi$yGf{0$EkcQqxN)3eDvA*F$AKk0%@)%$(g|qrT`Bd#>Wnhj* zaIfR5cbGPMgnW{oIs4;y$%B4;j~Z^L?TVrXU(bn8q|bPJRW(dgw|rPNKTiXAX7MBg zk`ID~-&$c!_ynhe$SIlQmrb~)-HNpVkkL#qB?z^|6@HQrNSKWJM##iy$6o{r zzR)+eL~B775W0dKZq%|{*Wr6Kw&-wX1E1#~IwaL;lv zvzPDY_!bGN$ixsTq}f==jI-h3s*xR!$C(Ih$nPmG;_f8pe!EHYyuzck)S}f+ldn%^ z_l~y3394yVX9NCJuX1X|y4@%c5SAUbsSEW^vpX*@GaK4AgV=QPSuB@ovpn zrQOn&M+;v_if19k9lhm#l?8bX$T~8l-NS7onkkSTV(P)|n3#ZI=PM9cZ}pO_;QRVG zp_Ex5S{p7To8_x|U}bFGO1h+x#GT+tq0q*O-rC5*=De4gvnL)M`RjJqZSj&yYlp+4 zmgFF};KqWFZdBIkk!1Dk-t&j=EXhnJ1;QU2j%lg77-bQ!6 zGH%+7CZ?idIq&>LAW@5v)bM94pmGcpy)iutI?aUJw2rZhv7#lkLz}}FT>K>CaT7~$ z@=zk>rbn-Je#ghRdp3zwhwjbsQk7rZcWLWQ25Osg*Vz$B*(%sRn=(wh7yy%lxJ5CB=neI1ZKvQ@N5N^g1B#)r)>R44S`|-gK$dk+ zEBOjQWhf30*)%WLagAiG8`1aZx4yGnlbAln!(Tm4kX;(M_NoD`0K|RF4^XNm9Zjp< zDJP}#&zWcQq}w0ISv{lJsHC6BG^mW3McCIiS%0kOZkd^372X!4goAP+Tt4w6A%vS! z(&aTgpPxnL5jE$xFNABe#eEI*oymUI?XqVKIycBU5$MKWP~>Xlv2A9{jm`RbqmfAk z^+&QLde+y8kAL#axJ!)yI}T#^YoGPJbCuTo z5>$0u6KF8PQHK4J@1X|2UA3EW3FXv#ogQadPa)&QMo>M>Vj2Cc61nUG3Ga|Pl{Pmto(3%@=0h?Kf!7$6I{b_xM~MOYV2;%n>Uyp88Dhe@ z0F!%agW>{b(Ur9zI8!P~vhh)lumN4210$@bHfpI?CefQV#ML+B8S0(HKmCx#&mG6?%O7lFQ$@gy8|`yk*qL)^V~V&C&~&`E35f_nq(%HBfPst2VFAWTAoE5K@A5pV*XQ z1K)77<}{w4WnQlOpjUH!Jvy<>l^!Qmp07;lfpBxGohmj5s46Y5JwFZS-1_2i3AvM? z*f+L3DaTfJea&G?{Y{lZJ}7ir3-cY$T9KZVoI|#0eo!bV%~be+5^Xm95gyrSzbwJ{ z0&apyAOFsaT17=;YyB*$Rn>VKM=@QZN>54m=kTd~`4-{fYxv+qLaAU>O8>M1f zgOEo*ruJZE*Reflc+{A%JX7jbsgBcn0dmRk3;&XcIiGe3JSkzOJO1eM$o0cI?u&&5 zjE~m&;ILL!k-N2?UqHO)B-3HmX-03E93z`Pc2*ixK998Zzkwx;&xu<)SJ(TX{=Fhx5#6C{i`JWH)A5SHv(ZGyD4; zgE2pw9miH@{QCvq$FdLapS{j}7yd?%L-ZN_z9CeyFO*^B-ym5f`T09AW8QZPFRnfY!9cfs5?SR0k_9XIO(#2|a0hFz099bdIu@|IGq zQWj5s(Hz^V-YDRrH~c)E<&VsT9BJg zy`Y#NAvz()mpFVWNdRpXP9j$I?jM0T_MX9;jjDPI$EgQ>X%$}GekIaFlt_%qbh7=YzK410qS4P2o zv%xLqEGxsQWfmsS$8_{4q{8#Q6M6w}zkgdrI{!dxS6dQix3MKC$$>M_Vrz@iwH!6~ z$D~8=pH`x+Ga|15=gvl$j7v68iv+i!aTgP+Yk9cwa4X82O&&w-2LqqtaT9Mke+WuOH#T4amr7ztxyk7R}_wJq!LUgzZJ!^nXMipLyDDzUASZ&`!%FgVnUJsq~it8 zqqz>{nUViUK-BCAQXjex27YqqK1hCxfF03<@+4Tz!%9@~hBvRJLe{n{9}!peSRf$H z62-B^|Jebr=VZwYzgQuD5nM@y39Wv~wFsBxMC<_=%<6OZInBN>$gCPN0Qhi@D8)5I zjWTn5J%z!2#Tjt7t<)2r+m8{P_H;~BBh8_4m@dF#q*3xTbbyai<|pMD85cakyts^I zYBG(t@bZoDO#Aew&3T-;(K$zGwKBVkP&UX}s^qXMXAAgSfBr-Wzzng}!w2(!S6lu3 zLEd!MczunwUj?kx|r-$2Gg zryC=(>t_7|j(~}zqG^6fKns)Rp%0;|aD*j`uDN4+p#chnt2bF|ZtWFD`or56S`H3? zlJwU||GJ>jhRuroOA~)I_mZ2r%TGv{e&TSwA((?^n%mnps2FRpJ@ShD?L<;Vt%puEdss7azMZpx8XBD3V20r_%`vH zL11B&fVlCU4xz`!g}3P`lc9=b2op*bn92E`{Hl9{NKigrBu68qrf z(}w`cS&mjk(t%d!ib_!oiQwB^=`!R14)-gnK!(RR=*q!}oMApWe?rn(h7Dd+W*bpg zf$(Xu#Jwz4{EEa7>|VNeC@vWkHSK=2j|^4-X7TnS?vMIKbg!m6$>qa712}YV5C$V& z%>I}(Lb(VGAff9!z)Jc;my7vEC=LD_pp}%FOAm-f!e2J*sxN?wCRA9LVeMU(J?Nm1 z)Qcl;7s~OSJ8-$!wXe~~wSybEniYDlO$0^n6tH*baV5_)wbKv@e7 zaWo6BR?W&gq2Sw=D^-Vpe)rcpdXSt34|p#10DsrTvv)GvV#(r{?IEC&!f*)%Ktk@F zk+3pvTt7nvF!T|vAGa9LIA$Vr$OCr0Yr8jhAC_^5{r_`23Lrd80|HlpGIQT1_W4cB zErf{qRpJ;FX$P?47gOknT_Jy#5Yfh4Dl;l<3CAT-roJIiV55*n&w+FdVFMZ4@C+DvN{j_MgmBo* zq8=53`=7}q%V4r3K_wR<8L1)*T~{>sp=`fZ)Jk5zrnmnap*v9=2(V`0Eba`D2KuP+ zMP|Yyd@BEDAdGIP9Y==1fXka;sEv-8p#)pvfzNANiw}OMh2CaR`4*{C#!W0PVX=vjE{HTcJa{3;_O`UJ9dN#c{2>qS6(h^ zp=}I>H_!$(;Aq=_R+#Z+HhLurZ!7sipcU!PG4R`&%0~2Y;76IA7qj@n!gXPRn{APp zt@SNnPx9C}&rm8D2;LOyigmU_MHb3AyCju1k4^oPb5;b(Im;1|`3+1$74#>77#Gh# zMPpRs_S z+`=>xuz^%<*aq~&`w~BxiJ^qudh*E#i^1^D^oxbjwaQzXbt*%`GxE?fQ4Oj<55*7?$q;W>GA%yBRT~4Z~-aZ z9#xVsdN2nk;A2Q*?#3|hs9*saYL^9iw9Z^o*b>@HnrC<@Lo?*^n+rlOSX%%s@77WbqE5KhK(~cEmHVPEI8!Z5=iDN%0XA#h)V@V}(oQJZwj69X zQa4&RRyXcZ)^$LmUDLs?d-Tw95;K|6RB0@VvsZNk+OjLQZ1N|@R7hTh&6i};J1UCM zzJ;39?SyK9Mc+@};MQ2v2-^>a0R1-R75z4pH=3sRUB=+0&^-Xey_EZqsSW^!8C@nu zz*$1}wqI7;rq4k@82y#SL(TrQ%BUnck{=}R$87HRwcU;agd*Xw)k@&;pj#A}MYzT5 zi?6G)&|O0Bx+vX%h{UeYc`k$#!;JZJepr7hIu^#+Blm1EvonCNGmcFG2NF>U--_+E zbEjeCNg&H(JoZ51HU(`AGUgphz;_SApxO)hZeW~l#a-Kl*@fMO+lAk~zALU5t&xi5 z#YUCk|6!$KpsvMufV7Un*?o3KpS!@qpZbo$uL7{l$4WtlYy?zKbnb zKY@lXZF`8vHz>c+@8PfQ>vhDjF%)%>>wT|@zr|>Dp8hs_bIcFg=H_EMX3&+Lboqhu z<+(kFW4?1XAm~)l7dAbI#_{Y^_y>c*E-#L*xw_-+q#@7C#?lZPeawl#_l!NhE2Q~} zx&+1Ifu}9wL$HP3=8Lz1~t9zC;4ci zQxRS@v{*(T0wW^X=9q#11-vc1%|O>S!CfGSQe(in-k^i^q2g+x?aK?@;@Y3SLH8%q zH#SV&$C;dO#y#)Un|)D4#R$tv69n9=WE1X}a*CV!#}fiN;;*gf?l0?vNmKF%ot9FO zq44>TmM&Us9`5&kAN*IU%^{v7Fk>${Q!JiRTn^x3Yes#2gjbzR?6>hfo8$ZL9?wEU zG$TE;HuzVXLj@WtjNRCK@vj;xbk-xXYnz4~;lrlL33;eayQ^Gk@R4{m;HHIe+$YWw z3=6Ti&yKqqh3DswpcCavYL#`)w9}c_KU<|oEuRWcn;^5`;9&)#v>_Ozo{O*4#M8nV zrN~4Cu|0YW(GpotJ=aY$kau@}ChnfJ-CJRD%8tfD%EHVd*d0f^r+PX4lSdH10w2+k zS-A3&J1}700IQM_3>cc*V0i>jNBhe_-qM#E7rR(CL!t43o8OT3-jLDM7{tGPqT?wR z>P_MQj?*lyPJ_%nvMgElX`INW;AP)+b`us|_r3a8-~!FsxaPF%6irJlv;$T4lk_*) z={&Uq!$mqp=Ty#W6^`FSQtD!|(6F0{R3=YEe6IB61H^lN_ZNV#mZ1s@(fYks|4{LJ zh#9_DWBj*&#pIJUeB$2cr_f!g+Q0p)zz8GuYa{UI#Sczsp$#AuY9|IN$-lmqtQ?*a z@FM=X0l2zO{-Y%d5l{;s(UT_f!>0xAJ1NWp!==vudqaNh5`Jz`GTyzww#-`mpm6D0 zp~BLo{>MGaFYn=3gKqhPn{TDjO68Mfh5jGz0}p^wHpj?-h0-ZA|IZB#Fo%HO{!dB$ zxc2J5n@j*T3PQD*fOWfeR(0{up;!-&-OVb%+ll~r@ifxh`LoN=YryLcbs~PY@b|?ZyFz^m&}@A(*2t@McsY-5dA)%A z^Cs|@-}ha$(yIi_v2dIq*elWa2fcv&FYo)KcQo)&hyB%K1$?R47c0Qw{^u+I{=Q## z1CgL->UnpD-;E2z%Ru{2p9l?71^2=9p__yM;UiU#mJu}6wgR_5bhD&c_QAzN)W42^ zR}JP{>%ac#N7sMOIOwqAqd)xwG*dVR+&;{&kC*KRTvqjQ{qc+c@DW-*fGI5;Q*#&k z%ZDu5U5Ixg!s~Hl78E}*0$%y)|JHy%CI&Vw)V(up9+EGN%>KX3!5?dn5!`MltpMGn z{hsfa*E{k;JpVGMf$M%b3&FSj{lL2S&nQ$@{-eQOP2|b_|MPuUFM5OlRv#VR4%QC= z|Bo>og}=5gIT7j~CK3vb2K-;>;IF3Kf@reaZA(ackc!eD?fyB}Xmnw-uJ&?&Ncs0- zP9}jGuFH+#?-dK~_1d9M9{Z(v|Lp%SaXm;bfwsD2T($H^pP~23AkrlMSL0^;0J`j9 zX<4s&aYRNI`!7ofxIpqk9N0g5^HX2WLYMul8GB?!9U_hAzjPb8;XhRB-?|MQZ!d;t zG(K?*UuiS{rKN*ZFbjV~j(@l5$7=SPC4;{E>D|aje;LGEkuMKD!E)S9#{Tp7U)O&faIZC} zZE^Jt`>9@!sK}OoefQ6czutE#ZW=nMj?P+qq$ieajgUe4=huH-|I2+>)9j&aas;;J zqhW=*U*G-nBK3ig!@tL*FRd~*A5@dMVP(Gf^CocZBQHet_X&N~+CQv0ppI^mr9vA0 zt;CW`5HdLb_Nc30|K5QNTFwh@K4ZI+ z%>7@z`j-v?E}+9>Q4k}=e`ZAaFK@Jg{gF-Zr)mM$KeS6SHdM7>YpOUvql~|Pyvz}3 za{pz`{>?KfA_prpXN$J*=U0WaF%$&;yAF8i-+_7*rnHeDq>c&MS6ubm)}v z6ZZT)Wx)SNzF7I+l@iz-m_etE+3c^VZFkE*3@G%u|E49Vp#Cn^L`Bv+gu%cU&^Y@) zJO0~f{Oz%1xbU|$XQ**GB9Q+W=idX~M4jCKcVS$<;OdD|fxu)-N~5RfvaIe)d0i9NTj6 z=AU!qUkCMHG)smkbdHFQT*V5ZPiVMHR{bx7{kPS4Id6Ukz`$fnw$A=xlI<)6nCzvkv24=jaRdkrBa%s+(c zbxfID^S`XdOLGNg#VszMNddZqOEC!*qAT$HH}_pNeitz!u&DKFU# zo0d0;?cWlEc#|W5bQ=e_9hTD|_xqG?l^j+PHg&@3Jx8SUzsd+3F+=WORhff)G61`> z)oBLEd_E8kD26J?T57q0Mq8AlRC? z%l7bz4JKY{ol-nX`lG+CeQY?GNX36`%;iR3;S0R~SLN=Gw&0ZhXuphSgD^3huxYPonky4xvg^W7gM!*3Pk_^4&LeNO8x4Xq%TpM*+?<%cUKkg;FWLvF?xS4rK?>xbU9C=(@6OcMi|NQ?<*7XI-2Lw z1mUqZF@X$Hja0^04?akQpoa9!eq%5Z0KohrG#ZW3cc$HM8j%cBZ`^k~+xbiH8Zo^~$oAvw0^7aa&P>8t2wWhFpezJL&qYYp!SO8YJ$`pm&HbScr zD3vp`VAi5+)L7Cc$$1u$@V@=iuzEhJxEIHArset1qIqG%{;N0rP=jMwH1`4hF1pKF zVLLg8j&uRg9t{c|oqy}X+YD<4ub zMDb&Dva{;KIYbbD+vne+b;El5kMscO_n_(vlY`;DPaLa38>QDYD2rZC_C}T3aUww> zxK|*}Tsz1)X|J?&Tj#EPqB(QTmdMlLB%rhZA7j@6kLBC_5i*iZNXp16N=9WpD0`2H zh-A}HC|jXYD3K5z*<^1r8VHH(nWBV@kiFh>+ce(a-{;@!hv&Yp>s;qL`+QH4+N{-! zXk&T{JD*=Zmwh| zKv6N1KlJ@4ahHW9!4uR+_6{wAXbRiZ3iqD?b!wKFoNxYi9#Xvqbq6FoTlP5&k{;cA zf)Y1o<~Gl3XpY}2Q=hCW*wgp?1{uY!Hy8VL&cV<&R41 zf%sS`Ivk>UGTL#iCJWM5*POk+5>6ao=z6gC1kZ!JSj3BL8P}mXF1dKozF@lh{!m<` z4?)%RTXH4$(GCWGxw|=~R62WvTD|+A=p*g1l1S?$;Drc6iwDmcY-=7hz3~P+q>`fP z{zSSz0rYsvR=1$F7yM?X$I5}w<`(`T?`ep%hoHjZv~7V0FZai`zX?G zl@l6z9tcZ1i-lGcpI+T(gXik}^Y{&vyzYGvmA!YJzfdiPkp)hsMaQfIE80jt;Vsjov*WGB%rxlF3 zz^^CM3pg-YyXjB57j!Y>G?g%&cZ$V5Eln2?>Y>a((3%koqcym!Uc&9E`E;X)=yoeK z;s)~T9l%9DJtZgtr9m20BULFy>4aRlB}mmwqPbKQhsUWMNJRX1x%C%g4X=UStsAIR ze-NLfk~Z+1wM;uh;U3sk{G#9>6=)@YPiM92&PAUv!49 zU{6(I*+b)w(}Fco?Lj+@C~Y0ZFirH{cg#C|cH8+tSD{;0yg%yN%NkOty#{QhQTKc1 zG9D9^Uz~C7AKd$h_j+Hga{L8oR_}k#GJoRJkA%cz*<1@l$R#MKrl0#2${fM>3l;y> z|FKdwG^sZ5EZpg?rqn!V&~IB+p{}S~YSph>rT-a?lQE@7Wi%ad& z_WiT%!s77w>y@txKyEs(RU2g_CVn`)+=HQgK8euq^XYTURCz$?<#f?Z#ZibYP7fT_Lr8} zQzedsg1<<5->b?U<`cd63FliV^ss54yXj^a{;>L}2H@PhOez@8A18aiROKVI*MqMs z=%W#USL8(cikuYU`tkfeS2~nPbm{l7#_VN#a2)3WTsa;gW5VcN6#mDDD}8;D3W^%p zSIp;~Op2kUEwdU>LX}jQjDw7x$hg;wKo{>>=9hLOpURTCioOGx&96wQcsSz*B7o_> zWZ5iNk9&E!!lY=)F_8WEpGYP2{4w7gJ^!dg=tPWSDDALT&;9c^zIb@2jlux3)~81e zL9^~7?3|t({bc{+utRT(`FDbDa68@J0m!Xsh-Er{ z)7_xsSD%w+ciOho$TGvo9@$EIKE``OI}7Tu#Xiqy#gUMYJ{_5coecqQZ1_m9otW8M zO=}chu*m(jSinbP80RyN^?gaW4}E)A^aB7lDW}plJs?422;7?EFq~KZM9;o|CaqUj zSse8Rhq{sqx^c3yDUmTrZ#gggWO^TTn(8bw*@xj{$4ovvn1&&7jUaFN1qb3HE#dAH z+mRbkKLZIU)eRC!3b*R632iwd4Bw&5JndDwV3r_VLH*l+OV94^6Si*wNpA*XlD{tU z#hZ`X^n$k6Rme2`{mFc^wfY$Hh6M*7e9aws`rPW=(}KF*>Sp$X|43@rU8_(0+Kf9VQPtas$>wwi66YBrR?`4$4}>VXT6cNye_# zDDa`u+iOL)LzP+#jEauEL=Tc`C(K9`ybW-YP6tF@=Ap3LOQ2Cr;I#HO-4(;XO>f5- zM!DOkJt4PY)}?4x(Teb^&!Y==v?i0SCJZ_k?y>ltBKrgYFU(7T!NOmW@=$2cPUoAq z_Ty2OJBpfg8HZR|mQre7|L}9RTA<5abAj|P)smoiHi8kG*f|T500aUJ{-GBUmqJtT zW;CBg)2wE^J;DG zl$dOl>gQA!&jS?Rf^?>Hs70F#*`;)Y@c)AXOck<|X)>TLHc1#Z@Z~iXFagNhj zmpV_9`J@w-o1PXj^cnDB>z+nyk?CB@`_`?853|o?3PR<>gier#C9yO+v9^z0^b<*T zJw5TXWPJjZL0FJ`y=c9ru+{IUjnhQ;H{$K0!iJz8{wA6~+N^MjK4 zo(Vl|o#5hzyVJ?dA7`Ie?zlI?ERhd9AR;8<#q=1Li1s2(H)68?BtQQy0_t8%0otdH zLm@%e$r;|oQPuMN^nH#u)LQy(Q9l!GSsAT`hzcSvW8L;WQ z&;|urRw;#(1VrTu-x$O5{nK9I(rKOR_Y}ENMq|=4*?#$QY`Am&QQKDU1g@&+m+OH9 z+1sw>+sLxQ`I}RJY^ShTBChn@)-?&W8AO_YeH;h6ii?pVX)4XO{UQV`Ab1&?nBRP0 zEn+PwctFd?@x^1%J@WPIWG2DER0)s6GooI?{s;E)KtYWIU~LcOL*FI{*gLp$;GI$U z1_y+6Dj_}xGtJ(5wSb%5_gMYv)a{uE zg1L0_TM%nI7ZCj@=U}GbAlPYy3Rd5mO-@qOT*~i1r~?R-kG+oC45&MRs2Bnj%j0uY z;;fJJ2|%cd${kylhm4Hq=j%?xrU2JkBzGgG@*dy+*=uhLC4bA~z44d3iXysSd(vI% zyG5q?TJ`W?#?RuG3-?*N4X&2UMmUZ`m40`?5y7F%$A_U_20!OAV7@08&6*bgl89Aw zz?rezjJCFU203)LZ~NP_5~DdZnZ-PJ`&+5fw?8%*lg>o^x^6BFDSoF|e)$#~d=@&} z%m{`CNy&&c92FfD7k6B` z!On=@Tf!G=@SWPW+Ms!lPe%7$G=MoD)V&UJs`<5HTA43HIKN^H=3vodj$!k}Bx624 zxx-oN94c8;oVWb>h6JkyLwY;!&4e(S2kCWAh_7vDX+vh!)qC;O@+5_ficzfHU> zrQqWxevhd1IfM?%xbnV|wS(?Eq`Pz~Z3w|~Bv%sp7n*7 z!ESgf06HS0wO55opi}I@bDx~&tQ^42W0Wyvm`AL7WE8y>)ZVAEJket0?YF&i4=+xl z{C&_di)VCRI$%>|0-_*|;Xs(faN2NZfzG)DyI-*}MjX1cGSO=NfURXv>FfWo`I~jc zHp8r}P9OkqI+;87-PnJjP3LwGcy%6QdJo6tA_y;Lfte1Mp}96r}TCM~dc>qdCJFQcgO+Xl6#0?a9~01ohqpG%Rj>V%cL%7;>es)fY`dRcm4<)#}#!F!It9^_ODfg01T%o-*zaN;ul1zSY{do^i$_?>wR(UxHTL+!5MONz+61;@qzt0uW` zO3^GwM`?vOW->%OuF8^%k+eYY#RRNRZ}aOQ+B;?0~@(+fOnOw%(R zuI@HSHP&X4LQ^hz;#$?=oG7p0pNI}6vo$e;a_o$Q$!t4V_KqKhKy10A&KO)QTbZ$! z0Kb=%-{X2v{;58AERKq{tuh=adWQy$u6VQdx9wI)4-$9}nb(KGKh885bq#*P5};ZK z)*=~o$Q4oWkntT(R*4fHrl8sJzyo3^qPo9oMMZY+ksEX;$ITbb|4)*3?X(G=B70B$ z`6*g1kog(t)53`N0PhWb1tcic+C{O(L;|r-aTl3 z6xpimFXwgc%TX{Hkl|jOmH|r;KC(g(b~%MFZqLZL*)yYGY!`ORv3$Bbyd-vq!yEk_fd`&{|&>;Wu=gYp4`sEGQ-o1m*DqMzhG$E-xj9ZGX2 z56n%@?e@Yi$bb-4oubIhMG3L)wj!q?Fn4UlzDx{e)MT>+p5w_Z5Ct30oBn#Om~EX5 zYim-@Cvzk>aCO(2xyhlScTB##K4S;Cny+!xWyp~XU*NO(XxH-5Bh=SXl1-cb>RVFJ z3ws0!XPk~|EQz!K=!^8--F|WU=NH@IyzjIGY7(BiMoSM4W-7h@a<+%amAT8f`P!^3i#5#zZt91cohX&fd+guMGBf<8r$d<%Y$ie4Rkx zCs+jauRU%K7Kvf%gNoq4-ltpu7x+P>MaxG+K$&sQtSy3I@7bJ7o#GA}E~@OONQ$8w zI2)ieFDO`?(Xrw~B7TowpJ?-_ilW!LrcF(W*85> zM_3Tvfy79gKfmI?Iri0El**@jpfNG9)Hm){Yhp?fEr;DX7^yr7ly8AT;P;x(OgnPZ zbnA0caKvUi9p6Rnk=Ol2KYQjGj$r;S2%hJzQ8IRoL(Gu*`VE_06 zB8U-;wQ5SjMn7I;_{fEg$#wurtqvFj=9%NWDruv7o<4^l1#dJXNx}0MdA-43d=5g) zKO?J2o70HKtMM2R$FQWO0)b7TVZV50_7s*!o*5>-)|02 z&IE_Fx5EF0)>u8gX=`FP!AzH=)~99FnV;34n+ME0beGBJNF(11%}(_l*FV@S71uwu z{^i9HpvG40BiyJ|9v9~Nc!@Ss{KrF23@p6;uABeKqShzECP86fZvH1O9Ccz>ZhW>U ztxyDOPM>%YEs|L2CijEckqy*tMA{|It2i@{EV1vW-IdX# zZ9!S7Z4`{lZCc_sDY1j~SHqs69*9r%@9gPo)TH%~e1(^w7JySqg`B}6rLujgFD`3e zKPyBA0?m{k>1j|@X|pGcO%N~;nb+nc$x}1YOAu^)*4(u?DX^3fsh;pt&Gl;>YvSA6 zVPDnEByJu<0-L4doJBA(yZ2jy&>Uz{4ejqR06g(o#J+3Rrg4T+DJFjX?;bHNBv$`w z2UHIF#i@h=4P#o=ZK%qL|g}QXPz~usV5(w@;FD zAV9Ot8L!PHT9Y#WdVlxMfPOw>m__H_e2F<0U^R|ISE0S~aHm z*H^N;>!0&JTr#LATjkQiRU$ zk8HaRC=9o+gvt_I&%^Bj#*RxoyYoiAhdF$Jl#$BZc=(d#oxRp~odEJX&&UgL<$_5n zC0q+nt?h7aVSjiWtWLTJRnZ8*RyRc}7?!4`3I-Aq2O+(a%HTX5QCA0{>S`ouC2RJ6 zeY2}~IW-Q0ecQFh+yBrJ)BG+5R`pp|cw(_LM?j@q#rx#^fdpGH35|`XB{vp@-iy;> zvUPXM%K>g%`6D+;QvDKzeb+d$`dmXGG1MFenR6Wj56Us?WA|63$podo)4!g9kbl1! z)~?)&xzm@CC^zU=ut5|v1c!6qAlaS*#OMdXd-FulX$&`PLS?@H_qgT7p+6wcjBE$t zjA&+CP$FQr3>ky7`o8L;dWI$S`oXX5*pC}Uw0zQQ=drvt;E^Nv@GP0vDbn&2oA9 zJS(Wto?8yq_2_5M+Zb+d36;gxU$(ZrW$CcC#kH5al~I@mV+wemmB{w^?ePjsC1?If z2NE}9juO`px4O#owp>!5fO9^RFdsdKg@4U(=ex2y&s=&I;h`8l%$Fh#{Q zeLN1bdz1veGS~kj13W#80=VMvt9L#qcDz*Lf4^Z}97c00zrYlT){&Upwaz?iXXM3# zI`Oy1@R7jFh#tN}IB?@(hf0c8j&6OkTeML$3(&7_R=9<3m44D*7!%tlw_S0#8FM1n zYOY@GDmIC!4^{)sZ|nSnY@*deuGQuDR0-7j?3-4&ves=Zw6a*xn!y@GG*{|hIA7ve zlhCVsOI3E=^Vg>kF~I^ouSTnHVv2!-CE6QwS^aMF85?oKhtiku<5%fN#9c!5*W0vC zB6BYIRItt?a!hPlIoCq5wUb)=XZ2Iw>?PT2=d`}wb<(Yzq#G?Fmn7vcB63nz z!*$`G@^Y0e+*HZoF2*k~%Cs;HY`S=>@BNK-$j=d0)QScfoe*V!xoKAjY4h+?i#PVU z`rR7u`rm>N$$rt)XV}<_-yx`AT<6i%?>6r&I0!xz+)Auyv%)*?@P2w@R0#!?uEhej zt^fmT`tDY1&y-^n zA1yvwj`5c-)R-@(v!Qd(g?&4Oz8u7ijETeA{C;LtSJ}UFI4X$X(8nSt2PXZJqg%g} zGYm0UpB=~j+n1lquAg+{bk}xW+4Oa2c+Y2i0i%HjYT(C)~+6c@!U z@H>QQetR<;FCXuAa<7oj(M_E1Vu`{5%HPZjw)2>id)Ik*?foml1bq*=&TmCALN+;P z=$m-Ta(}sA$aBy$c)<5F^GyvDtB)PSdAjNItG8p5t$?r_Eea9xuCk91u64rJ`cGDC zr4D@P+rk`Q)29sje=KQjSHRAQRDHvU+)U|*6x*m*OM>Np?{5S}%^)9|cRn_`XPsK; zc$^lI&HS^hJ-2A2MuZr&d#P5qN?8$Wkn`UkK=yBje2CY1=OmU}6oE4Lf7%(k6`%JF zra<+uK+Nmad%i9|cqK3s{$gE&0SVXnL)hUBn+6tejT~LH{UIA>P3<9I!TLka#vJR^ z`iIC}qZV5-yvgf_jM?&oOG(ib|6yO1XW)d5=ISBT21@ns+G^7YV`BSpD=*RVe2!W4 z^j{~zs$GM6L!f-}F9(1+i=6NaXD(Z+wKW63)RF2d{Zk+kAQ~l=Fn*O@%3)Z8e1Cbv zI&al}MP%SuxGVj36KUqh5>EH+g{KBQP|`!adOQQy3*%_4f^=g2hO_g z3-#Q3IZ@SHeuBJt?J3gva8`bcgleMeXXF-)_i*Rh>ed&v+30Y4j?mB4pTd24pQtn( zw*Rlp!S@Dn=2J{N_W-3vkhO33TuDSF* zx0wU*$Q9v)x&>5!{FxyzVbf=n1u?BROM#VB+=xHnQ6R2NsdCh=)xDS=$CUlQ&S#}O za)T#trxoDsSEj`pTy}%D>}`v@T)Ra`Od-LKz4-bjal3ZOH#6NjM=97)rt;wcMq~3Ttg$nxA&JKz+Pm13I7%Utmmo^>X=5X};xCHkA6p|6oLP80;#Zb${ae+Pn{x@NZ|_bt$oOA<&Kp(M5_W9T1lF55}0= zrdBtTdi8kWM>xo*Fg&8Hsr0-4Du>pu-0~VguD2mpjM) z(7lKd-a~)gk%7M_!-*r``UqJ3CQd~4AYy&Ax|MO|uc~!jXViN{XGi6|z6-Kx9$I~lG8J$I`~C2Hq08Y=HeJj=#20?M zlWvs=FAcuhi&a5_ruzGmR+x5msR{>cO+f^{@U+}8ves@rt%57j-xm55;)0QDf4IUc zT&RT=5^mz5HT4E0l%#~CinPu+x^^A*;~n`w);HKH6gJTp=yiSu_CRx%Ojz1S^MYgAdM>2^kRdjk^hjV7`zoUTs;+C$Mp2PHwVr zS68s@0zU*|M4^zo;|GS~wl!`TikmJM`VmOk`gfl%+k~85iv?IJVqtIJ;PSElDJ8_) zg&6HKi<1po{ZUhAtcKsk!RmV5B$41H)BX(nP47t{*Qfc{*`d<0gR5Ob*t{ONVy*`Y zP~N_nZ3?ry_wM-HSA{6T(HBY?_T=KoTDR{EwP4jy`kGL!@eur1BeZ@5%MUT=AFqkEvkJ1wuJi8M!n#SN2 zXwTM;DKOI#-0T~{a1eVzYZeo!A-8}5Q&8^S22~X%P@}gObI0`yN7gxZl(RN}bDo?MqkZ(2&g@BwW4k{)HHnn}pJe{@SWuz&C@{H|5({ z)VC0OW2)3XCBg9~{aEA?-yKa>d7(tXwO$=ffTfqJ@3!-DYr0YVjdTW}4eAYHD$eFj zEWhUW(+Cc7EpyH^{rH-f>Xe~4FaIeq!_%iofiB`~Ge8%4H8BpnGh!{!c)@{FZd^=^ z@h{=M=}efA{pC3IyK+E(TeUzy!1lE}Q9l={=&)%_OXH_`f|FbPYNFu=}+d$wfd! zw@{NBTTTDDV&nbudGJe=IQDB;BBe@g%OmBi8$wZhlbIKHcHjZ*+by+PeLC+8vM_dA z9&|T0p7MV=DY!S;Sn=wW-6>D%a!I`psKi;FC3@s?&yy{)$f)cpg(k^4j(~KSyVsO6 zU7A#5{T~h=n0nbd=b^6M^9V{$XpcQlVV&_U1M6zpoC%%AXwY#thF0#matIGCFoxhh6DQTvY+D#|hi`YUd*z3C}T z{w;prGHKWSU4)kR2uxqxEqh=(c(?2!oB!+NCmpUK7?Eap;yUK>(U$jEWG~steG#~b zWCq-f*-_DdH@4PI#9A#!SkB<19Qmb%}@AjsbwZ@ji_{i&upOSX9WgjFp_X}=i zOfaJUY#c%JG$U-W4Jlg9Szv|>TgSNO0%iFt;_we^0 zF7KK5Jm%WM06LSc6;t3A>BC#KPoV#ng>1FzC{%74GTwB@lFDs~}C5d_rrMgFB5_EyPNCC%=f_0mC;w8sSSP%QI|88|>D0*y! zHoFt4oC5sluBdSwIUN{-TBoR6I+gzSe{xc#9GboSsXs8IxTvlg7G)d5YQlnz6w~(q zQ=$alzpdp_`kpI29n-+%t$3-Co438Z+du6cHBN;H=hHM14KG~`e@j}T#!1jm{`jDl z7dWzJyJSEBn>9%h1Z?q9(y7tEar>qq`aI&J%sXE*|2;Cl@v5yHL&OHAJnq|QQ-q>! zZFmp=LzcwtA|w+I(iAggnX+L*&TShvZB>nHzl2(mM;7l~Ll|$X?%lqJQWEr90B}R% ztf)b^F-p_P9haQvN2RKWMHhal%`860nRJAf9Dc*H2Uv2_n_?B{Ggue@89a=0LuKr{ zqNbu^039-)84aNLG6&{2zX#wDAv&QOsnub^1-SmvK}H?9S8bt3y6vMBgB5fFIGGJI zJFG}QR3Wz3|1B|KJM3mG3~Q{%EfeU9uc`IqoAo_Kpdljxj=x z7>Elww7x}3kJU_D)1wb(HK-b8bPcj$8F8a68cYpBg(XB`TVXi*>+J_VTS3aW{ zeyN8bEmfYx4404^MTKDA3g~al-dbf`2epVuw=Pn1o70q}6Ikt>@jE*!3t%>F zBI}01^CpHGJR{0tG0L2w^g=D*e}UwmkB;>#U|*$Fsp%=^#Z zg*nff6@2xR8-!BUETqbIxOmBVZld{oPvZ16%p9M$ZzE3nPTr}hJM|`MK$MW`P%7-K z<%8&wV=*y+r=$tPC~)VlOSxZgi>q&r_s+a@To0T?vzO?t|Hs;G+Y-&IJ%WU<+9REC(iE%2Q180u8?gb>Sx|^{qyiuiV*wyv3_^=bHoIC(3l#8LLM`@q z{{fe$=C$`H#STQ7X*Vy_<|ExQ&|uUItv;9NPFP2oDc8W5mT%#>QEtM3Yjdkh(@J7y zCFYk!vj0D17h4H0O8WUb@zEw@Wth}tFD;C?IPU;(hqQ32A96~GfS#l_|JWeRW$|VK z6urK%`O)NzQ3Ie&XRaKxPilnzRdWPbMHuQA0nVgmhP8ujTyW&2VWgzDYUY`U?70Xx zahT6h)YY7r!bI(uyA}&5Y74vBOH<51YZ-}oy#IRsnReD|{e-D^*2urEE&n8-k$5Uw zGo}Dvih;1T4}<8Z4<~;dT1tq4%JnK}!93$zN2RNg^6(_|Cn%&OX+tZ86*Li~LQ6!8 z$vkwu%xBgHhF!{lBGOhcy$qqO{slb@m(ND3dS5gqeLqGqolx!EXQN5`HS)qQ*+lr| ztC8E2hR|X%4t3EyTdD*Qt#_IPjko!}Y&ZkxLrAoFq4k5%xV+#oIz`ci>!LrS0Zxkl zQpa(ftEH4ffCe+VLoU7bK2Iw$z=7Qax-}=w>^1y-DW z>I(ozPxUAp^RAh+Lk~R_d$MvHW6(x63ar={I4y{^uvNBicqV9jh`U{Mdd|jEcu?jG zG+|}J`F!H;|5R8Y{Hs<1`j1#e&%fsuZai50lIpPbG&7O;=p$O^tQS4@97X(dM{kZ@ zOu7JgIbqSN>VCsO?Fq0KlWFW9**28M%m-m@KQn;EJBS)^3;^Szb#MyuVN;29+Ke?K0jM4 zL7atP{6O#1;3KJhXPHgPedwKn^#s2$rKP~AzS3Sl@=pERM2 zS=MTiAgwllHMq^=10rrRtWh668k07(RiB zR;P34Y0=jJ8-hJJHx=5D+o9au0%A@Gyi$n3WxZq{L}EY}8k>L;_Oh|ymQRqnZ@Y=G z`Q6C1Rz_-+&%RH|fiBfHT8kG3(2A5nM1L|JtMB$OKVuMjhS-i=-8Lq!z3L zXzF-7p<3N(7P`_BTThEGsVRfwLiepxZdDM$b0^lue8 z2d(Z%TRxygy@HmKL+2@qx-v&Htl57RB!-{8qz# zb#GAm7JckXe^Y4gMN`2@BwY!R(te`7%5`gO3Qw`n>61z;_wt_YyqO=p0n*#7? zF&wt75qE?=Hz)%sCn(&BmpQwBLZjGh_R!;Z{Dhxgzer6vHj=ceNr;JDlO>S_oB5A~&NFJr;o6s{|^2{C|^fW!up00rfN!QJLL% z$^`%A18|eZaL9Bda66bMW1}x@Bi6RNlwIx>fiQ^ttV!L)cB{* z=C!O6P*%!Scw0VtyU7Q9$c7{wUvots$;5maB-A$uYqK2Sx#*nCWy(4YE z0hVZWVrov;Q!C8lXtkznVvHHs%<&fBHB`b8Bc-B3IPe)iScV6Vsp{dgDt^U&T+-IJy z5>krFWAMDig>dF$S$5`A4U6&g>JCp+4;Hm*-hm?1MG}l<$p-&ap4RUcD4rJMHwl}+ zM@09_yHMmpjKcIRE7*%-dFpNpr_g#>FF-+7>!5~0+k~@R%y%~K8*pzt)hxn)IcT<7 z&okXW-qPrhMNo6`b=j4hiT;Jt&>KIbMi-Z@Z1ucNGV4)v@lwW??^_ z)%Bk0wzeY9#$B6W`4b7tpZK)b=kUP0;)s>gsGi%S>=0|K zG!)(@mUYLRx=|z{v_U8WX@gSxRLtOjB>E{x_JgwZWBxhx_WWS*{o>TXu#n!wtg3yS ztpUv`mrb7K#0+JP$Yy`APkNyc!m_|qv?A1`(_PyHvmDHq8g?fLcNqBwI0ZB+CKRd{ z^pj6(zi@qV@t~kljPC&)EUa$_OBUg>reXJ)P{{G9?Ou5BU`N-=&8#h#UObw5YAjKj zNKV`}bX9J;X%jwJung8b=lEF(03`-O~6;6u*W9RDlmsIMXOx2I_B!st>wxl zr2eRas#fiC!}9jyC)I{b(=BwT+A1U^)BS=5FKSJZon0x!aQjLS=dG?2&#z_`+oqfq zU6FKk!TcZ{O@*v+`eTCyS)=80&R(pqryy0(0EeaS5O1qC6x;UEy47X!S_ERfXp^kR z&15C@r_q&4H+F*iMGvrSIQc5ytVIQ*o%u#o_eW} zt}rXDGRi8ZO))FNTn@tMM!K1n7nwPO0&I-Da>o5v>uUqB%()vcB`l~5Y8y#X`M-dd z%TC4`l&@0I5;I$q14~Irh;NFP-6mJgsJMlA<>9irsG%6WM^TzA@xq5E7OVyr9^ZrK zCzgE@XV(K;yTsm;%(K3 z%#K#YyzoRs9JBkp zj5doFuy|dHtnM<^XmwnjB@M35(s<}fFNez67~En$sm<@!jC*2e{ELYW;N?=j5TJ>O<-gOecSA}~q2D!RznelGT%C^|!Txv2?m zSW|gb&;8Y|YIG)cgHM8Rqn^j4#%M3?EjRg#_2=m01XlD}DT%U90>6fl2mhJTUQ((g zqazRRSyEMttyvolr%*$2ZED|$h7!Bo>yYZj_1a35E{+zl8xO^vx&Cv-&2)BVKVsM7 zr>IUGaR=JA=KMhQMGM^9`l^e3&v6kQEAPsNr2t3QP+P|Tip&4~!P{a-*n{W|rB+yy zO~S1<%yTkpS7Pm;Z4lC{z#98n0a~e6EUh?2{nyjs^W9m^X8r$q7smqaYSgfT3eU>i z)bO!x`+x=Yu3It_d1u$krW=7pcr#NPzZsp~=%!dDCrRo^%;Es$uRdvpFDub3w{Cpi z0>9-=8Sf-XymAEZU>YRtSC!FjtOx}nD@%GW>GvG3_CIBgxuA{&KM-f(<%1Pc@FdG- zwAw&*TS$1Y*D8ac;tAh}>B2C%d+n@H|1T*ED^CaOyF&cP ziU8Pu53Aw-d8ZIF9Yw0urh6^Z?qX3=Qt~^`-v~KzE#|aJW{aQ8Tzgj=E}iA)H;}6+ zY?+Vt{{ryTg#ZbUaRNw-iSH`O)WyZ`uO7d*&qvA5@^_AGCokNPPft|~k` z{t-}*0!x#B0lLQ5wjb5}?UrdXa_ny)$^-}}SvCMHXu&?D_jsrZbLZZN*J$`HwH^=c zq+5wjqIco67_A8FwR6D4COcf>O1CsVrlE+X79*bq0iV}CLSxeH7w#Xn1O&fqfd2RZ z0BYv3VfG1y04DHFJyfz&bC5Q`A&pKD;BK!`{{)ct;+FZ!D@|ujS^+Xc`N&{yk54v0 zySL)AKGV3L1u0HJ#X$%Fy&c;^d;so`uu ziCvD1g*#2AAt(k2UZ(MzV*ns{F68RZS35P&jx5a;FI7QRRoG4AfEff>^W059%8ch> zAcTFnd6J^lv1!li11x@Z)+5@6gyQ~RQ|$n3Z;r(GIw24;2}wP^MIXNL!viB03;PcA z*{QSu$m-C8V;@oh%%e&VU~%PQ>l)_fHr#nZez;q4ECLAA+YA!q zW`PgRNNS1{X!H6U(_!~3LDD?P;EaWd6qhUrFm)lhp>q}aKjxuMhDSFyBIAi+#p%k< zVL<&FFD`JN!zVxZbwDHe5ex)q1&H;>?M@3K_V(gj5ngu{KR|HK?hKoJxJW0Y9y#YA zLXKc9rFSh1+f9DHO-yx2M#%!tDDM5OAZf$~3XUj&Q0F|(BLsvTfs6>@HB)8rfG~0E zGPsPuK!r&F)xqn=0Kid`C5R-f9A7GHAgHzH(zz7-nf161P~8M%WhWZ*J4j%$#V=n< z>cO5zKUfjCR2%NN_@;}{rU4509+h$kbqcz7VyYcUOeu-XMCo3u=7W^Uoz_z7^Oi7T z*xQ8VlPlJY3*iqtmFd|ZDGEx5UrsdX3`IRwOz-g#{2;2Em!Lb-9~*A%M3=-sJRs+@ zPq;164%XHVDO^jTqbVFRb;}~woDl`53+t-{DZiaR>&w~FfR*#gA~i}nED$`MT+tP(C`>my zOm!+)`Zih3@AA{&!qoU+`|$VnC@b#NigsOnwd|!xVl}(m+L)mmj}*FQF3equy>C^< z71;7Xmpkihfo|`c!A|a+k*VAc=azATxvMptR>OLltsR9a>EXV4rOt)ZDOAFXo~=2@ zXrp^U_T(UdU(P!DTF(pKPc%>of9!=M$uVK?LD)|f(WM4@gUTLF>7SaA8&{ylk)RZX zIWHvD3gx~Gm+ftgxL%$9#Y`s<|LY@)CDfAep1rW?-DAt9rs*dv@`DTJ#G(_0p;NK! zwqN7BT0XHp$SJf}Of7WCyD@SvyXIaOfcYJ4Edsn{XI6zYC#5j+xd{MNmqAhMFHECU;B*FFZap z>Y~|_Q%~154-#P9r5t$c5tG#HqDS3zwMUbZN~cahVun-rqh`OmCuOY#&+D!xfK^Oz zu}1RNmxkJNrs$eZmm=xZHcbJ}9=KvZT)LE>gguSBrnY0}?o3F%vET0>aSqKGJLagt zfk?|ote&^nck8@f-#$4~Jh_TFhtkCIf5|X{Z#qV@S*J{?M zApaV5LFOl{>{;?|Vj~HdURC-f5+`_~Y^` zww`n_I8kIj@0-_FO%oQSO-;=pLU=f)58ef8(^Eak>41W9CYH8gfK_TeFI={M0776n9B znhzElBDv`l>ns=NXYL;^+B2awD49+p0tGWj8fm_xk~76JzenL1DCVSo_rz`+qWo*g zFv!RjlvWFj6bR;&v|Idcd>4__HYByEkP$A2l7oBaSwozET;m^^sIhw0z|e_v`-Z`z zkb8&5ho0XIXESmRDzb?2Z4 zuNZ0N$tU{(UpfsiJ4N32#sHpBlCIN4W8Ms8ovMD(CY%$eXY_8xEwxkHah_vg_o&Cs z(dm+>#G=#tFUJS%9V72idWm1vtyHKY*a!kQHSTj}#2ns4*5$qh&b#7_zyeG!JFC`W z0S}M3T?W2y{&b?+K2-3Prx5=eNvB_rt7nUzqYmrt6pMcplZKA7-{Wllq*C!(sQ<$* zg?g^8!4qb5<1<(eKRssnKgWa*J&~erxboSX@12YNtxu3Y?7Pft-k1>3`m?* zgIU}_tsFOWu)(=0lUPNg^}dCKMp3p}<7{JevrXZRpepX-m&ib>m=I0=jw=$y(%%pO zwBcHUok2=^gMo{RT~Glr2oo8qzcrR5{KWo#j&a#l2S5pRKxyqd@9d!<@|7*brd@aV zT$yy@(=*dCVecl$=XdA2^mdkC-~A>$>WULycrte}iZt{U`1G=|=a|Ru8Nbgw-$id# zysMz5H{8+dbWVpQe}DV?*JRU8uF6>^Z2^}$^UrbwwAu;BODZL3*ei&01e{e85W7Pc zn4q0<@V0e=cHs3DOEFjyZL4EcqA>JQmTT%kadrCC)J#K+$ce;?Nrm<%5!3Uu7g%{~ zC6!X~jTm6sMhx8Pnd$2=wjvEd84diUN{`!N>R^wfR1+p_1!FAIl64E(0BYS5F~%tK zBX#KLj$Uv_$|gj94K&Kh+;>Mt6me@7i8#$3N zKtYL~$ha{ZWD?e2?|X89Es%5kCd@f;49*@6ES@hFZIyZgkmk3!MP2sG=?*+E4uQW3Ag69!Prk3Z1iW_ zLM;=nh}E+Vap~sea(O`wJCy1c*gW@om-3^YvL-q5W>O^jh7g;=0qY+%F8xe%(Ifg9 zfn^Q0Qx^W`hu%Rpb#Oc(ob8h%_<{amJ{7UVFd$)>A!X)>pHVyMAK zaM;voZjw*fNXm$cBN6h4dD)7rZwS7rFi2QM+?w4tbF*%EDjz{J1d}`ihK|(1khb9* z9k$Dky5ES#87OW<1ac6>{!l{z)Rfvovi>N!e|c?R^)TkufMUbH~9Q zd3I;^Lc}g2p2k^%aH!*v{-9tZuDpaMAGM#H2|PRmtS0{tE*Y@wOBY5YaX(6{E|9Dj?EM&c{<-tyrG z-fKo3{&s72$0Lh!e^%=%f29NOxu3;UThE+3=d?TUeAQt=1$Kp3)xLWs5{YvAsU6Is zs@mPdki_{!-$$mLo#rWTa1QD2RV#?O0?vbu#tuF}HhpM8XCvW9pmsuA=?fr{3QXX5 z?xqj^LD=`K9DF5xdtE<)I$4}sZT1U9DQ-+B&quH(Cy0*5iY`<%@b{)XFaDBMO~Q-1 z38=v_{JKu;jha@ei{}V^c}|RZyzwtO%X^c?{w%s39CJD1Vhj z;1F2m0DGZ4rc@vn50z#P9cn4wB#yqQN(9W6 z0P4H0z9JXZNJ_kq+R5OU+ONn%M5b~_xxMKJF)v9sV2JXEzEG9o(evC_It@-&(56p#GdoHAa!kUvz z49e2Ek2p-<=kM>9dM5EzkufOmGBq(nXPZ$FU6Ht7jI8Y|r*n();@>9xjh)X%U$+yN zrMucma6YC69VBmiIDJN-fE=atGDv~_(?u9$llS`ifp~=w{=Aua>8dA(73`iTrbH-* zxa9C*oTiT9Jt8^O0MgDNKf@79_+s2*kO7AAoeZMRj*G?$JFYc;V2@ik$NWE{&O4Cm z{(t{>x#NzcvhJHosmvS=qs%C&jAO6kkg^UPGLB;lX^D{l2G8V$kB*{;Cx3qoa&6ev$Cw z5w(2jaHl7L2n>|x0*u+)*(ozn)TjC8Nf3}Y6Tm@DQK(!|KkM?6(I?m`xb|C6s1x$} zZU6=$%bvJ&0GGwgS~22hP2yyB&44K%`m0k;yVglkt%Sq*IC z??dCi_%5e|5m#mV-!jkQ5vO{=A@&cfL({7gZ2C5JD2D;2*zJ6Kp^VA?Mbfj(rUjaq zL__sMYF_uHwmbVTfFJG%sLd%I1Kz8tO*?~W>WA8OQQQM`P1lz3V_5JW9V-@d4*GSDtM65XKe(PB`O{d3U zkn9B~aZPeoaqoq-NSR506I((hRBKm1@n(u&~j?;0foWh!M7ysv7MJoapx18HnaAMT#KPP%eFIWa>xE4Nc%ar>ow3`}JH zp{sYZxk+`qSiw(*4>co%Z(%AKk{DvMqhDpZN>E;SV%e6VayKm{-Pma%-N1w=peTBg z6aAi}wogr!o!&RWT~wg-g89lqx4UA9I)ZgEc;Tc+%V2Sya%$=h*vZYI;>GbAL!ZYO zX=@zM_0s7keD)GPw1#LQCin@16zKYnitq*L2PXSkw9~R9&nnD$;2#E3&uO{6z4yCS z$jYj)+yAU?PKEtlZfP5hgUkH&*Ur{UaXeW2=p-DQQSsqpNUmgBeL`MrolUW%733av z!kex5Y{#oMny4TzbeD|KxBTj7n%Vfee{`)9b{@OHboj|xYbTR`KdEq2G!=2--Bi;~ zm-AjKe+#!%>3zKCo0`>0K{H?Ml(%X!Gcg}dP?J&A*$5KcL-e_heTl)FPz zgWosHEe0%zc3C9@%Rnxz7eS{=vCE@t0~jZCR|EZ@;wGKbSkIXe|A6z&v?GGY2nPk0 zsi&|CtO$aD&YJ=C=NGAKqW2)A9PCcpu`JPhkt46z%o1;CO$KgQZSKg%<=a&~L{aw6t`!!M2A$rWz+diX_ruRRHUH@04@iGcoJ%Q( z@^tsKD*W3}Az%G~JqquZwtuyI&{4ayNfu}l9Zqx{uZ(CRe(@BB@@lEFl$wxVyGnhq z1+}8Tk#NPvPb+x5E^hfezU5j|uipZS1IO8+7Pi*s(HwFPuF(GwqIlmFjitPIBn2A9 zv2)|KPqwV}h1^WKFmP@Ogkk0^yq8IME$5&UI>q&MW7BPy@5Qh|1_N#&Y(>e(Z)P7#Wz?J9U5~k2 ztbm?+C|u~OakF5@)Y#gVZ2m1~F80usvTi%x{mW}{H!DmU_t%;BzPA~tBxenv#dr#z zY69+82Aie#R2M+I?fD+0hiRG>=gciMM^Cl<1+ok)Ja^N>OdOnP^z6y6uVH)NV1^@M z93S2)V`o9eL3>g97a2ZxkbvQE>X}I{o6RJ8C?k^qaQf0Vsh>tnuF<>*P$hS zIMAcoYf+TY_XKpd)OC2YLBJgq^z6>Ptt_?|kMwm+AwS%C8|luW;`39VlErf5_iQAC zdkNd1fY*f1=r^jWG=HCir9$GOs2pA16q-Ev$ElF#$!c>~ zHi#Nz{oVo|0RaE1`PBkxg{B`1duRi=0JV^n%vk%hWGT+&M1pTxDn_GHk=<-4%4rJP ztA7wKLu^wX)J7H^Bopo=08epPm~XGwp8`Mp6+!$?c3@NDpxRyb&cTDlPl4Sx%|Y4| z5B)NT70nK4FJ2qEVnC~#iOa&+OU2)3^5=QQuG#d~DO>LVK0*9-VP zkP<2W9JD%(Y;Q51X+J>6)wR z>xk6%{gs^|J2fPP%mR$paWsPHSru+oz~@;|TU_(3hFTp;Pi;c^SzovGPQ)?yzI;aK zR{~FTq(~Z3=IVTbw66Uygyyn6TKT%+GzpHv)`Z+kd zZ3ioFT6u*UX8veA#53e5BW5Iwc6mjXl&^xU6Z)H$aZseJ6AVjZ@T1bd49HcP$XorC0P6Y;^mCxZUQ{WOg83G0_3XL z?-{v+*e}w=Tm|}x+On_S%oL(yG><&B{AU!i_WW|mhwM6Rzg%Rr$Ij@ns}j(~y%QbctIo2Iv7 z@YKcmZUp;{`e=Z7v<-SeoOh3vstP4YU$k)$keD=GPiXFe)cwk!z*t&D|jO-)-@T! zrH@?p%}KbG$h_GRPeQC+Hn-E*F*M|2sMzSvNdn;wjl*31+ko*rPKAwv^Jk-!ACwQ- zG}usUnd02=HaFHO5DH=4%Z-9ldO7||{AX2D0uoy}>WU8Ol#I|UiEF<~sK#&pY~qnh z_(04nbs;@CJ>@M1|NHNZz-v~2hl+n2 zx!z!_%k*+kNqqjt^L9=~e3|_!YC8D&-Q;V7e++t(He|i`RFl@=AO|$NX`I{G1k4h} zlf>VwVCV*n*qHL2RKg=FXxS>AZ)D5>!(j8~_e_jN5WeFy@BBrlX4Zf(UgCEZmUGs8 z^92WbY2?h`*vSC&@sQ${*)8Kp52XLBd5Gh91+tOO#Wvy_x4gE!vptYh(u)hroQpec zDa;GSR3{8;6H!`%1qSciJvaL3hUF(6BS4zD`_l*`!`*!0Zqee>L+5~kw;bMz(L@tv z{jNCX?p)_|%tD z4Sv1=_dRhuWSRA^j%EWUClKA@9LADlJwOVYoJl#aTSTy%u{?Xi<{G0X&w9L5K(@tp z&o5KWDJ=+VV!L?eNs0(r`z+R`?6LqVu1YM&!6wPqRfD@LI_@ntb5vba%*855!$lw_ zXM&9usri0KGT>Q@ce_^hw^#co(H;nKZ&GCTjtXyx`;kWrU<6!%D9xRsv9HR{(B|h$ z!#%NKj^gerkQu_cCBBVxP8V2Nr+F_8EHT2i5z#Y2THq>mzUl5APMNl)7ZQWgy@SG`(LU#=c_ zYc_}(EC7^^;l6s=^6}ocoz1m^oBMz8(pW~hb2YQzJ}Z}o0J+D5@(1ny*wD84Ik*@eorGy4K+dyfuzSEvRRuZ1-#(CH`-UkNA84(omgM0d< zpQjIoI-A~P*N3rrx7f6CHo2%%F~r$ZQop2T*zlhG=LAl1#=c$v6LrpXEW+Q1Us>|h z4Z|vD2j^)fSpFi65m1ySGG3CH;#ckhDSLmK7PwfRpS*}3&{a=J{>vbaX8PM0DAgg* zvNfW@6sk0BM)OSm`S7JlIqqzlM(V+vDONUT_f5Al>9usRA=+w()ePH z$!squuB8~2BqZsF^6?7LUpq=2U(x*$ZyOc@G?Vn(CObbEE!-a<6~avH+Vc*2hniy z!nd&7>=87>1i3F!kFY1pY}cAWf)qyMZAp|y;oZyrs*jSO?De^KuOBl8*GhdcJ2?aQ z`cdxP^HZn<2$($_Gj@FE%{BU5=DN}wp@Vyvr6+6=YXiPoD?&PB`9bfmkZ$LM)fkd5 zo@3xFm#@u{`(lfq$0fV3iSW2vsVv~|8W-JKjjR!*G;&bCnTKVonKOve;2Z6c!UXyiJE)8?3CJ)a8^oCk$GA_4&HQNk%+-%-eiRJ*>RV4`MW7PC@A9v*8LyU4F|Tf% zBEXj>m!*@;@sBUC*Z09`?VL?_At!2ey*-a=`+nBiL)>oX40?ZFkJ(d=^w;_5Rf%4R-M^B zg;@7H5tp5ZDQlzZo9*ncwT1x5@JJk0W%6HwE=`3D%tJqKL{8vn_k#PGhMUNlUM#qM9)M1-|GTPrskg zhjEpE?@UI%PRGN?mE0&Qm)6Aa62yO|XaN$JNDgQY(JopH1 zk@h9Rp4Ci*O+{-9kpM)_myGR54Vj#Z*q4H8Q@m-civL`BCe)~jHkwlwx;|6T(LN49OoXemnfKOJ1|H-W(T4 zuRXAPDOmIHn5^mc!#Ym2;vemq>e+`?$|z-+&4g&R@3`MmT%RTV)J|Ppr~mpm1sQVS zgQLaZizrWaQbN%2ScT<3jhwt@oR!`+^Kdy(FG({}WECLy2@rUPnB5^t| z-z3}TL^-A9dZq|wh9G=R!7l2c+%T*=Go&AI=^NMxYK&>ltWlqM`V_ix0i|b^Mof7g zsEPcj`SslTBAfd{{}t;lE!4$F!OuX5+j)l2c!4{r1;++w@@jsyxZYlB(0*0cWB?`TV)pyuv~B`1KKiL|>6;OK zefhj2=RzG{{9;53d6#SL(e!qB`=VuEYRQbURhO;4F zyjxY$Gh}*OX)2*FaNi|l+dHuY(fc{!gR!h2H{V&V*c?64Ln4Iy5O@Hk-DNp+CK1SPnAWb9*=d5orB;j*)lNC#(f2_#a%0=JwL!Lw1(aE#Fzf=bbXQk7al^o=Ul96+{Bf zUu}`7Gnh10MT}YrGv!WlFgLwIncXjJVIldLG_%khW*f_?W7`;UdO~pfn}QnVZYTNhZU17mYO4N zU2&ZO;5kTK+lqR7P+Z{7l@J8UHDFz6lk8#CA5Q+Xv>darE<&~F{^1i&?{Nfv+4oEK z_zo1~GPf@CbV8YmK^{yDU8n4ArWCadIbv&JJuxM&cqhMrt@!Lm1tztfl4wN8=3N9^ z<0m5uo!ji#D^E<`j^`W6FpkEzb9rLLff6CH zMW=j{p8C=G37n4ZY0!0C>Og}JTFtMw<@2>aHo+Kdi^+cP=vEbQfk=q0vtM41 z2-y3|$fOVGyB724Hzdc1uR{FFvv`OCh7@z4yiE^7S~Wa55r5L=`frXSH|cYnWlx3q z;g_lvhdH?2S1I-d#rNhvy6cx5`S&Ny!_ryVI`oJAgHnvmzrMLIu%7j5$rxm!-Ew~(aKtZS%5 z!; E%74Bo{P0z;CaTTeu>{-9Vit|CfMDPv9hP?BOt7;c}gui50FQfi*SF!x$uTf;^Q zMJa5;!=X$!tU`|XX<6;)(}`<28)f9(tunIjt-e_KoqLXRsv}W8u)0fkEhGQe3yAWD zjWj|&4RmPvm|~P58&pIQwDZ-NVxi$*4c;al7Q!Z6Axf_)=-S%NE3Ug069pxqI@5{V zX-A}2KgqrR6ktKGB3Sm=^o6H07%HbmoqJxYbf5;E&B%{ScFl0(!<{yG>wpF=F*`NC zHzjkN+yB~VTsU&HYFDG~o!F-Vc#<+orKo_1ndq*R72M^8PS)bPHF&>xD=?heP^w?k z^%J5d;He+yCt+|q{DXED&zRO85L@!L$7=Y18LJi(FV}gmnbY`7r`^~J-pns&mgeH> zlBPNs>|JSSmLA&{^jybikV$5KplU%;wHYK%+ZNcG$je%eKPX#Tr09=(b2;v3=f6I` zUL=3q0Tuyf9m5+ekC22*$_$XkGSD)6zWA4#MqjwuBUH{?O%<1rlXgpX%Hj0>?^`&$ zzprEA$MTC6uj-=7YnZNjiW)|K?}{VAM^Zm1R?J?=!otJG#^qwv*Boq=-tx1Ura(;_ zTuAIe@h#|KSPg}~Rf7{QnE$g6q?JZeoad+F$D14)fk|GR&&%@imR+tyj*C>to*y6z zt%jzM#$r|52lt&?>L1iM0ndP$`m6*~q&#N<9R@8vu7OIU0vYmp1xSXEBy(&I{GlUZ zApf_(HBN!b3^FT2XDz)t34$vt85yS=a-xbJX1u)Id(CqGEi49F7^6=rW~fnaqq~0u zGM`FqTRR;u?dWf7H(0;x0k4Qeya=N+kz^1>e^RPlY#ns7sd#<6QL>m#8JJPK?g-*9 zoaMbvy5+z31xfvqGrMi9K^?LCNF70cq@w$|Mz&@|t1X-IHhXWbFO~E_yg8#h?%HfO zbGsZT4lUhotVxT$&jtdN?VVtJokWmdI_mr8tmj1F#l;kde1DAxy;1g+7V#x32I&0P zfkNQlWvb?gjTWdZuc{tKfTN$RehzKg?=pLB-lFr|o|18Wk1?LzQAhu8_e|8({>3hW z5b!e*iu3Ewe2BgEFIGZl>rA;p;y!~d{WYD4ats&}9V&JfNQqxiueB#XgIqlLakbO8 zZo~XrO9B1c+ROQm7*rWggHQa5ZZ0(Aq=v`7z3po85$mw4w|2ItBP1%x$8H)#=3?IE zn^ZnnV?Z5~2v=OfEZ{53o@FpWjj|h*;7eKzI zcMS34ss-%VSNkl9FEK(Rg@hYmE;?A>9Ib*cdfK$va?V}XriA;0M=sMWSH49`;=V{M+|MsmH||Mvp8>5mieri?ulx4gr%^RC_7h>R z0l%YQYzXg#kCOhxb}~jGfr6~}bctf-Z$=YDL)_JfT)qmJ+3AJKB3EK#wRy_^vvz8a z+05+Cg~%}VZ220o=IIF8)nBqv%iJlR&k&o$NAE~WyyF?d*k$_`_}s6P${4xOY*o80^sEGwPs>Z z8K~+3*Lft6mGBBfk<26+Abq1TI1T+`=qZ~K8m!p-tM}Qma>qIGtFAlTof5JFXlhef z4*ZSzgSyIT4zq4&YGYH++D=TiO(e_~646}7Qh6h$MC#ajM?a+N7%#NW_Yu@lzG}(6m^B-K7=ooem!}h@YYs(URKH8FxV>EqA)dQIHY_)xbM!- zYXaGf(X?u%ZqDM!H;KDVGG|2dTz?{Sp8U>`j z`9GiB{o>@krGs(XI>kG>F=n-y!RBWEJn4k~n{?KIgY;&tOEm$+5_gK$>52Uc&Vb6d0F`-bk81ev=rnohpz8 zO_CdQSC5|BQ9-|4fK+}^0zsx7P3v<0Mt(hF{BoX{v{KcK_^3bLdn7mhyET2F0Ezdyt}(Aio%$S=T3hL4Wm>ZTBaHETH+~s~Dk;{_B|Wnc3-mcAE55 ziMmeq_CtxT)~^h;!D5q$7ImKCl3@?A|NQH7Ad}m=p_+T-Bi_WdI9|Tz88XnF_4Qfh z$@?XkcQxyidAF?;Nmc%XhQ=YL%0=!9wb9%3kYuskP3es*(zSCS58c&KV$c3@;WE)! zKr;1MrkiAI`?|oZafem^H;0Nj^JWyY|0SVO9RxV92$IA>`N2&EwqD}=M z@juI+@_HSmD1%-3sDbbj zGvoq8C6>zi$|?!^dC>@+Vt*!Zi{-v+^xHL(BUA#HjG^qmetUZYPpSgt6rGmiOi7qG zY*j>mao9p-RMB8HEWr}W=Ge>8o4^rfZp%B`T3OtkaJBz+uWG<6H7|YJGGS6}H1qC! zwhiriGcypea_G)~s_X|M5;K?+w)28*kv?XG6rVZE}kJMLS`gB+><=}sBp2WJ8X zpCuV7=R`#yu7yWjoz;NW_f4E_@P1?}{p-Gsh<&4IaPm<+c*KrE>cM=Pp=SB{kKHFL zTy17uxRiiE8L7e!Isyg^ZWIGvP%Oqkl0gbJEL%QyW9Bs6_cjRc1P;284sI7ft{Ho; zcz`Hv%?N{&|3GRdjslan18b0jUUr0u`RCN~4gB#>2JNV7_z_0z`uHaJ1Wy@Zzj^2R z{+Qt*EA8+mxU#X{3$==SG}x2#*=bM?f!C7lD$3wQFh;iQd{QE4J3l8Y=}3e8RZ5!t zNmTtSlH9}#Ce_MzghGV&DI?mqEHO5boMVi5q3Fyz#3U1dHBzZ&STxwBSp^# ziCtTWwKF#(3bKFi^R`-C5$l*S_G&D2C(btRhjg9W{D{3GQ?~0RQ#Jk=Q%O2j?M|qA zMh^75T10zFnQb>5hGbS;tl%*Gq=J7xcq7;Hv^Henq&535!+;6Ul)TBl-J3M)eMZ~! zsMhO~=l0a%5}octwRLs;;pXzdiH*v!JVj*CM=ZqLfYZq{<()S=wr$$^RqHJ?d|S_< zKd}RQC3n3gpnH+2in!=}U?7ZT7yPdA^lwaaaY`GTrxI=_8lv z=c>s_3M|w7P5G+1{0i}~w5m^_yUdCMS_bFX|M}fliqJ_`oct9-o$WBH!brjg4`{z| z9_uXyxS2NZv*kgS)J9>uMC?JZVJ>cXW)fN6(euAxGRaW*@JxGcRC50yG;8T(tZ6~%88{= z(RSf6CC5Xl7lu>{IPvTjTXR>q#&!I6&sq+ha!JxS&XgiOVYHj0^ck3dE$zwzFQ`g^ zfKCOnDYQ=CvKWweoWC~eL_|`S2aGK>n8GXH)1|%5kbAZgS#vC;`m7tOy({&gn%Z91 zU*#_|H~^J#Y?F8STplBhqxbXC19R1C_J}Ec^yU|oP&v}iS}rFQ%&o?HhV~w3N)Wd0 z!93QxkXR*Q;$p^FH8=Byw8WMlGl9j_8WgsT@Ahm~kq!w3D}rDk_qsbG*SDrtMH#0n ze8Ru))zsW4=@bF?sCEk;)9S%J4;M?Kih%z2QwVSSdp9#Ll~-n1t3v@V``Vmm>I-hV6)_yyhC%H(Ia z2F(s$P4rVrasGB)3F?R%uby6B=Y`nBrE=}W`JkBOTN!(DdFe+a`L@?U_e1Ol3kk`P zfbDv2_n({g#%aeBj`P6(z`vCueJPI8UX>rX+jwm-BS8|J2^v{9b_+PwKz20S9lpH` zzkH{C9c@GWlb?gFIr;nfTHbs2QVw)_GpcESb^a0yON<@-N%Lfsk-Uag0dm^zH7}+H zkFf*pqvJ!444U&LDxN{0(ayAmTm3M%?|&v_gdLEPFLYLJk{!Bo|6n5~%z%DRG)oef z-Hve~gvpRIRTB2vr?l^DQ37fthEd2kBTvN?iN-56+P*_YCM6N)gZCKy4xk}i?C5)Y zh28h8l5Z{I@%Q<@3@s*?%I5$Uks@6$5}vki%vRy;W$?)r1%5j6Y4Ta9)khH)Lr3BE zb^Dtm;)%X^-h}S$d$v zqR%&$A}$lfxM=0t`%KTLs78>CzwQpU{;wAhHq&(ekr#YTP=Nj5cyJs_m2vsgc-yT@ zzO>PiQ{pYVevb$(?Ke4=X1MGZF5gLqnf;^6bN!cmXaX3so^f>Pb%CCW$q4PL3JAY* zoxo}W)qiHLx^<Msk*(*+l2%jybO}K9f)&istW(-rtP-U2-pJ4 zyRv+jGu>$c?)dl2UG|OnspD!YevJ$GoVjv@AN!v}oDQyU2k#l&|BIf~3YtGf&0@H; zrRBPnZbiRqng2?VMAGlr_Y9i0ar5uomM|lC>KDROlw@c#2b;*ADA39gqAl7fpZv!G z>Ah7QJAx#y(+%M%cPJw9+V<9G_R%qxSl{8XS4JKek#dJA9&ZzkupYWR-<-8A08#fW zBV5Mp8FuwZy#w2{>_?-Ta%Rdm%ZFK%f4md5QIyhu15Fuu&22~!?R62Qk@}21HIM2v zKd5ImH=WTWbu8v|z*=~$wBfCT?P)FE$5Kzs&@ruBcZ2_NKcc~#>)t2SSeWe+j`Ihe zsmPpjXekou><~U96ct1UP~9)+K;Ofp(yN*%yN}F=?hJ9>PTnl4e6A;H&w5GBthb%uX$S+h~Xelj-fTsE7Yb7RMV`yhhYvYYDsP%OjTg9n> zpYt@X9o`e`TUzUKR(aD8U5>%u4Th++Ff2LmJpF5a>aD678i_rnhR~=xwQxC#ZGlyG zMHN#-*s6=tfZFxr+oyw;fA*I@k4xy^PcnBRJy7uig;+V>DSwacyRS`0QvK^Dk;raI zC?)e!jijzE7N$zvU`$uyTa%v*TD50^3!fCg(%?+OLLqx&yVw#BR5 zSKFO0>}GxG@Lo$|7PpDwNyzmxw4|hmLCS$E+xS2aYr+QXyzj3so1hEYflOYb7A@I=ga6Qm)9oT#m*q+DbKoUw%EkWV9u>&HFsI+<6PoAsF1m znmQ!DV|==ln|dH@JN&EF&V<;d4#}+Qr2Vsz$=`BG_VBa5o4M)oH2oxe$nra`u%=QC z;w+TuH_H8(HF7+zG7E0e1l}uIo9c728wQG1s{uP5mYRMciO=+qrfoU3bZ)E0czxPi zsn7SRPsOTAQ&Lr0ak>xY9yV`oENYRSbItNU%@6FyFZWMU#SO6ZP1w@Prl6!EWW$F13V0tKECkV$KqXW!pf|GiZ-R@C$%Rlc-`%8>$a=>P zKZW+0h*96asPxUUl@%;uw*J7fNjt={rn#{W`9W(%`SZpAe+q#nx@Q2Gl#nSz3##}V zn77G_Skt*8CB=)#5IAfw`>R~S1}ok-q$7jO&h1{|>RbA*n`yur=5RRW7rBk4wiK0A z-D|F3_5xlc)zFuv3}GCfg4SH-h5r7=$jFjx-E_DElR@mdT%tCJz_#~ zai|14aT#M1Wo&v$1RSSn37aQ4yERL!de60AQhzU%w4`eXUJ&|?;C;}^r7gFR88qyE zW?}5&-6bGSzOI-A&UNsdQ^fCT(@Z9V#BDgYem>>!A;%am0SihRx&au|jrdzcNDn<` zLmFQ^6x8)V;nieFUD>TCC_xd`1$hv`B(K>7pzUis|McuoURR}(hm|~Pwa+TS6^n4uC- zET?+0ZgZ-#t&rFL@^1Aawp139v?(Lr0g5AL&e-BEA9P_)o_mewWUI~4ZU<;Dbws_D z=zN^L4vp!#t|k-EY0P+77foXb!>+z24;@H*Eu)3rdLTcB}h}+)70S7u|eZc-uc|bc4SDDjLB4e&|KMXF{l>a-~*?MT55} zA~Llx1$?5ar(xC?e$x*ZE}bH-EJ<UQx$DX|V&!+GI1% zwNX&=DM=h;vDwQRr>#TyE)*z*b(hSie{wp>N?CmCWA&?mxcs3wulwz{4g+)OGQRv2 zkQRC?%scIrn$JC$>QFT=8ShWMP_@87Ae(eGcJqx9^Tz`gr(f2uBKB4&rR-XU%KKe~ z2d^xUd3Br96msie3EtcA*nT&C7tU1dxGO*B9QNDLH_+kFeyhj!lQQOW7j8J(#X{?B zQd0(ZP6~+rijn7tq}EvvUH#B^MJ*P-D6~ASH>w`FgmZ%6$90I!>g4Siod1G!_v)tI zS9aMAwS`aExxjkQOjpbw1#my)nLhCmP7Nqyf2n$>n!|`@!ojyKztMQnozVnDBS(DK}1t@$)Zk5 zc{5H+H=+~?=1Ds0M~obG0^5>8LPw9MopR@mU2g2JpK@eZY@KbCA5xO13t>F*`0R~G zD(EQ0{vJX`%cgRv@qN`|W3}3_{I|-+e!DSRx)xRTrw|eySn$+ZoMY+f!TU;9^rBdF zPHlTTb6nXMC9um#cs~0x%y)PkgB>V_)yuxcS_zAoT*ZNNRMfDrqN#eYRkPzKhYISe z?gBsk2C0eKY7}7Dv%%T+bnor0kWJH9xZbz`S>Lq!fAKml^*dBQg?Q%Xt zIzrEFT%G`W(ZL;a^|GxT9WOqG0>1&T7}bu4U~F=O>v7!a+_XD0ax9TV+R{LZ#&cx- zj+9%J$>Haigdh9~-D>wBmhocnr*?u#KF=2t32U*W8mSN-Qq47iY8QM_%`Y+?Me>Lx zIk+j8pv>>Vt``;T>`m~j{b#%cVpo9M;t}O1W%;Q&L<8A*+y2jaGIJ!aYA`3Ot_{51 zLKJRSN&WQaPevFjh>eRZ_|V+UUm^&jjxr(XsfQKL&fY|cqP)`Z3m`&M{V@7NY0=kG>6`+0Yq2w`b-&QRX# zGcFj(E&_Nbj@CX1_fN6jQj{Te<9ve{M1#jT=S|JS@B`~&%r?7eJN&ZSO^?xw9V4qO zHC4*y%32k}sS2SEd>oI&NvQ;OAj6}{xY^p4Mke3T9|^3>g4L}J-`xD2iJiLfryv`& z_6Lfab;;U5vDzF z`p?4D{?YFMNZSf9Kl8s(C6NGz9_Y}y_5u3_Q8+~FyhW>wmuHgMG47!<%iSO*hmC== zipT9{yanQ!XYD7#*Es*h3+`MnJ&I$y>V`HV!a4Ncj7pWet65Wb&)IW2dA5s{qu(v4 zn&Jehu~|30+>eU#_b*gJjZLZ05rQ1M+@L=nElX<|o#Qu5y^3+^VcQ(!u^ZXYXU0`n zAz;WE_90hHl?1ijs2Bd&?N$9V4K!R_-=na;vU;+*K;cJ!jtqDpGn&T_Q?D9@4t&qK zG+wOk0K{{Rb~%x-;?NDb?5MnO!rnFZ#vRIK`RQiKJxZ3x?d`iYSE;HYYLRSC`)whN zt+SgFZxh*$zDNz4Y85E_B12sorDU5D$zkSgnk4_)TC6W?B*r$V-NU%0Qd3@EP^Cmm zfziYUO{dDH16m2TVR5`E0HXb$q4n(5RR6n`pK0u)ShjKX=ld@!>3^SZsoI4kdr2UR{8~bRdFk9wO(-}C=PQ|NK>+VhO6!9?Vmzh%Xa$o4fG@zhS(a?$nJ; zL~{k54}mj6yz)TzfYXE;I6^6mZw8tI&(mu*9uBgSGs zGpBDrX25;do3DEmJxBkdAPs-*`|tnS1)cjxm*t|GDDBj8ZBEgvO&!cKD@i@(p$SfO zS5vX^XtMS_>`e_Ni9*NaruTMxL$NCrDSkd{=VZ1>J;<)`$*>noG~aDW1AP1 zX{34ZCJORus+hX!cg3Sd3X2*xM|p;JHTADe|)Pgk5*FN{ypeIm4R z>)A2+gI@B|sACS1<#1QDPC+xewZ$(X)Gk;Ef_*%9cR`EGwky#F2yfdJhws<902dRY z)Y19L|MdcZ+eU%Nzue@JKR?}>RS1+fotTR4)_xl9o#O_r3jgk(npOQJXQl4i_o2ga zdx4={>*%80RT0XyZ3xU3m?af)j8zSdI8)aam(*=PijKGV9e&YrTyybb1KNTDHzDi+ zRBPx8$59*LM#pHebTNEdkJG8rKkq}6{~6g82U!k^;n^})-EFsrybFfFlh_^a9hT82 z6CL2PWAZ;^cJh@}w#Q1Dm(UOq*SVk@U)*1{8LFY}3~Qq_+M|ZxW>`-H(WY4OtK(=( zj9-siaY|V->b!fRpX|05{|N2GZhA+;!9&?dc}k|S#{R}KZ?Ss?H+_X%lkolqSyY$& zGF86Eea@s-UbDmTY}@|=kF|tOwb0p%%g`ygdZo|orZ?7=KzmZFtQb>OcBoK+ZJ-B` z3JJPNg{`{hisn|h<-lDu^7~GTE-o$Ruer7_yH}PsD|d+pt8_2ot}&Pg!pFKByhFox zJd^XrALBAe$`>Vl=Ddhnpor?E`84AaBSstZJN1r>7nTMUmA8v!=P?hDg5tnq%xf;D zeYuPgp2l#H!oF~Bg8LN9jJCpI=kt;xZq&tkfU~VCtBX(Sr;@4j&E0Wt_!6F0N3`P? zbFb);C60c_{c8CR`^k%WX0@&!UT#xEY({Yijz`Q(Z9rgt10&T$ALn6bbCZMU##mA1 z@=f$O;@shGBFdK{jo)ES>ghEi&ANHr*o_v|pdfDlZ_%_{g6~N_KHWSUQ}-e3c8F$Z zx%HDru)m{+Ry&!N=C-~QXJ9Eem4D5S%~4xrTj`p*?Me2oBMJV1Z?c@(*OD&p<6c?{Ujbw(Cwtk*4)^6|FQt-8r zpZvwW^r=8-WF9(;lPcm5!boiQxk~gJsI2xMC)J^AK$b_>nEx)a4lrm8&xWf>Nl!uG zJ+Ml&zV}Dq_tQF-f;VVv?%&ft%Vd0reOpN?tJ8QhI?P-lBkwdFtnoah)0MaEVFP`5 z+lhp1<{6=1TbD$O57U$dF+}tWEuyVDW=U1%`pvw>x=>QSnEd}7hjnnkv`v&Wo^9ll zts=>{rxzuR=Mt-37d_{&XN^&%M8)1ZBKF(qviIFF_na7JQYMPUGg^jpEW574_WkxZ zGh{=cMAJI+GSS3(Ayo4XpikS9`t%;u(YUx|HAd>Ulw=!>9EM0eBQvmM>6olkq)0@2 zipMTn^~Nm4q+^-#vm~RbG8R@st|?=%%*&;5dvZzva%&3-w9!T^QhGWiH2+^?X&s}Z z4o#QF?H<5p5nja-J(~jQO9tGFLs>;6mwozX%3RGxNsRYO@Cvdmc$`@Jy0Ho`xjoul z`@E3N^5;Li0SH|=Bm)7vK`}M~#mibSvb%8#w%&0P-lug50Gh7*Zz?;S7nN&MJpqt_ zZzH=IH<_PzyXdO2+kfJy;cx%bI~PtLMU1!V_$0F@8v88o{%xykFiFX~DCICWh<;E< z2CvIGAC?h5j*~84f_VMsMzDXK2y z2=nvC@i0YKQfTGQo)gS0`xMr1UH&UCV?YgdY;?otGh}_H&C2+re5st0(302rl*dV) zxBqoO08cp6qjIOojx)u|qDrU<{h@`*;Jt^JQj+%{VadzW{T0U(Yoi_(RhvW0+7}+V zBxFR(PiED^_^{UkDwi#`jvr{urI>9IJN(bnvQm0xjJh?iV%q-I$GIFe5Ggwf9&L_m zes`0-+QSPF5Q*}>r?w-xTXR2o;KbqgJ`t5^9NN{o0(%qdb)SawD3SK(jCIX5|m zl6(jA1{5!A7Uk{Pr4HdlQ=(JjGeg>~#!gNxQn zRg~QMT;ot@z2i`|=u}kwoaB(}ND&Vn-{wTn8dd)d)g1Zr#L++h|GCo(ZVjv_>NI7nEMEOEv=G`YOV2+bb$>f7u6$BRF)*6oxJF6~48%O@kW z(Cd*|i9Csc*H0MJRgK`uath=Mo7?=z22>vM|ab7XCb?TA~|O2RoE z<-62+ip4$F$b|)&@d(cjTXw!BmXS_A-(vjmBn=XS#8jXJTIU9SNV zw#hi%jIP&xPK!aJmJ0S?hj$+BMr+}psJ>+_h5h%=R0XGg)n_qsAyC#BKay}d70&#_ zzO;+MFEv6dkC&v0+3;@uXKs6$P0EPm9wg=}9NWD4eSb$lW-F**-G1j7MJhH|6ykkl_* zdeWi$`tsHIUG2ILZ?SKb5?#LdJ@Lsp_Ww#1g&|O$N0U zcRBgJ4==}EEGHad!%6=8uRNy8n##snixZExy353*z5hImsj5y^uR>ed$gh8Nk(tf7 z4e119i{0viO{LBE~lGnkZ!&XpIEu;AzB-&|$u9ff$KC1vma_v{toempJBDKeUE zHxzzVVe&ir_>H&AKFe)rQq6EQ|B5@l%?w!)gGt;^7aqOGwyxbog5e)yo;b{k;%hvdocj;2{3Gxs!<1h|c|J2xp8<{; z4W?qAuvhEeW`NCrv9xGlpibkGv(BS5F@q!f3 z*#k)OLud{@)`JW{1UPIpbAM^qC#7aHXW4FD-OtM3$BD$sD;TH#rIqAMq^1O|iClj1 zN$mGwc%k>|p94u4~pX>=27l;ak14-nCdmk2_H{f_`&n{YGU}1K7oVBPnDAG{1s(aO*sXwj#zI<LC*{=x6F(X~8k)Go6#eg}N5 zBSSwzs#cW0`rq7k-(6^sWDt8JuE1>6rrLx+OsS3tIc)YY$ksLraW{?+dzA%g|6ktw zBeOdt5w1zhgqL-jBYrnrYC0grIiuTNvLjnB2dVdXua5kRIKSS&?l-~DD@5#N5hi|M zX{t)&(5f8s?ho%!UYbP6>`gw54K-JBvPem8T6qkv?}vT=N7z@uMY(nT%798rNjFMJ zN=U~j0wSq&OG3U|96--r3_jO6r#8KOH8g#(owj#95e{JFadvmIF0{ zRjnSEPy@?WsbT^dFwAznW)$D0Q^VJnD#LsHUWCIHEu6tHsO0zz0RFk1M?mV&54ReP zW;#cvv=tfT3qHPllPL8Wfx{k!VGkY$!`OVG`bT0sON55YsE=vR`1gI}7Y}!!YU^0; zqfSa+6iVvTdu&`CC*^3L_PJF0>&}Cafz=H}^EqkR@xX80RVSrzB@uTtMQ|uRJ-z{R z6e__Gs+=^OKKm-ocXG$najtI2qd_R$Jd-pcqnNtFGFJInjX6VQBf!|x6RYe(4yOQiuQ+<*YKO$s_HiIC+T^@}*IajN&QxM^U&USo^7#&JB;*5mx1p1(6b$I5xaO@%z2 zp@G?Y++li$9XQ4fD*H}=AnHTP1a<5G|x{8y)5smX~w3oXoS~aTs_DNP< z`qV*gyX8^ zVJy(999atjjet!de?R>wBN5-AlAn(5nlF+LSh>yhEx!&-TGZ?4)qM9EFPLuGJl^vi zT957;S|8~;OnS}bm=bp&ko|eJeime|aIjqVHM{M9HgqQvN*(Xg{2?qYUW--nQ!1%h zlymECd&8ey)%Fr9?H=x`yOpXK?esJ6a5M#WvVEch8y~qBZ2P#M{IKbx;7>_{I=<|T z6DvE`IGg^2q9^!=#Q3yp=uM4PSnV6)4qf&()C7tx!OVATEylJf%Kx%IBXBbN9x!{X z9-KEd0>WxBTvlhzZDleRC7!K4pOHuMzKMnpM@b}p>TmYP7htw(H{0cj&Gi@?kRQs1 zMF066Qr{+%+?cy){?8swWxPw4T~v7us)@XaA+i~Zm|erZ{!Nz{euT6z36?MR!;xqo zcPo?WCcoBCwN?p`oo-nIb9Fd<@*vl}c;^O%nnhiHp3Ui{hx)wBgaz}&xrxXvm4!p` z@l2~lv9bI&b1a0v9#u8`_<(B;xamB7v7vv9m#K8Mc7^2ImlFRB|mYm(iq9=CT&UkFuRJgZ4|8cT~=e|;P}N>&#q z=VePQ{k}UL+lU9@xmfaJq|}?6ZtuoyheKLQS3$c8gza(lgGP=GZh}PP94#v`u6T=t zZvO9lzaIC?=k-&_lm(+MS7$ZyBIbS{MKp^jxuxP)B4gce##2&XCj7ZR&&|ctbgS`s z#!(5LtZ=K6K&OwqCSfRwq-9-|@pv6Y>gD@&J^FlGl8^k#bB_K6w0JWbVqv=_)^L|E z8wC9WeMyo{%pJ)=*O2eYapmKsd5)@scyfX6dHHUUgHki_wv!-BY#<-xgvaJV^P_LP z09S&L8&l1g%@QkAmBBH|abb=qh@PX>V|l3$zdgsv;zM_gP5UHl`Q$J?Vo{O! zw3#-kZOO%U^Rkd8Q9a)*m$X^uY)0HBGRg4z9pPz{8vAq3%f+sg(NByOALy_xA>KuL zurbj2$++fcd0c1gqa2h&FX^imPvHR#{){Z^d?@)LGeST;ya9~@#TL`^+1*_(gk6^r zC`F6xXE~5sA4?%qOLQRNA(bF6ktXr#JQ01k9FK^zPeo5Fmvri33&l=~miwrGN1x`o z90J03hhIknQk{n^C1%m84vtGJ6ZzTdCvk@BGWLr0rW+$!Y(iu;{9Sx`X^U)Wf|;=b zi`-JDbB+Rhb94e+pU^BLb=soZAD#plL^cR91>96sGaS=7JB{8wpjfiUUQ&x)@QXx2 z3=BZEhtB)PvIm4^j^r$HGDOy!5FlVh!Ezwy@cvn6e471lU;MP6*g4{NA_5%bSwLy^};#Jl=taV~(Sl+1A$tI#u zq(0h0(eYChl9c4UnP#UF3|bjAe{u3S&>Vf|$n?F1tA|%>m}i+lR=@f?cZk)j3?X~a zhf&m&2>Vl%xVim#?#A$fNcGrv(t4*oqZ|UOzTI^jA2g`lnPy{q5y!amxN>3~Jkba! zNj^XPIQKn>gxlc*XU6Qq6>11IC4{;VA97GWITkc)A@p|Mg-M5CB)&OUeG3NK8pC9l zF73{4oRfa!b-aUQkY8oHMIKn?h}kGmeI(%JOuM(`eq(Rzv%veCM==w!C*1f`mh3ar z#|90dmFUE8nh^bTdz1YNownteh&Y+1$X|O#Ge6;`dNf|9Dkkm0hp5=7XgXy7xOj;-XJb zJ&xtt(t}YMn18U--<*CyzI2;edVjtzmb!Fo8FL{uZWSN0lt3c9*u0d+)SRKK@Scyq z>@%I-6ZJP-H_g$;2umMbKe$!J#~5FMsJOzY7Xsjh*@TW~5IK!{lG!;W%&$2s^9vH6 z^8=n9^@V%iU%#4Ln6?@sii<04zLP+#mk}I;4LpreM%l3T>2 zWVkZtXf%!Wc54ci;%glupSd>XMSjez7As!CJ-gL8`>GtDc?XR4a&a5{C0L(o3cr~= z-A8(kJ3nuaVVBYwDfiSR!#O^hmZQu-_CaiaOXAi`L2UT8*`@6<8rFQNgk6p6I&Vwz z*lk7oUP25W*XgpjuaEqFJc$rV?C#~Sn>at_4peklNNexgs-=(dZxRMEeDpN`U?kEL znJoQy{0-MFACEOc7^f-Yz2P~|D3DE4dCCZ9rbThEcx@r(RpAqrbdJsulD$N%oMGm* zJ20wB(@m15@{h*RkN)Pl%Sj=l7&xU@hIWIx&Mhuv>+^>*_9^!-*Br5?h&rEU}?5YZeRab(3rp zFJU@;ueE7g&GU$AUb8t+jRhXtB(}LyDkI6e%9Q;N&8=5$9whQN!khIOK61-zbC&2E;=P>nCP|}poRrg@)@wnc^$mDjbYt7vB zQ3dSnk!8s3Q%k?wo8$Ozw|*)Sc3EP=n8>@jIjJ1hUsj+CN+tL>ApZ0lC^}I~*BNsQa=V|*i}5n_Jv8lp zve*Y`8g=0%!WmVe^PA&ypP*%~kZ)GUvRJ*#F~U&t{+Q0kB;Q6+4R60g{}uLnk633y z>>QjaEkI6hb;_W(a|R{f8UmUW zWoD!788ydq0SRlLLxdVZOV|&Hm;zX!Q6v%^Mq4>5AW#FI8y#hNxG@R}@bC$RKp@S! z0pa${8#I;%uC;c#x_Wo6l zDd33XrjH5h#J+(9>O$Elyk51F3DW zP%4pafbe~?(3K$US(oE?z!4%p=Hr~jD18yx=?>aQz5}lI@j>UF$G2xe$=B_lX+CHK z)zxsA(I}Z~CFq?knyi@Pa#&Nr>$h83cybu(kLcE+fqKD(Ty;Df($%mn{yKG>oFaKV zkz(#mownXFZV8)n+ZJv6_DGoU{0_FQ)vUp^-qA(#=kCSn*;K|l*aB;$YOA622n$PPd zCp4$*GPsvQXtDn4^D8q{;;VAM`bg<{E;14+c5zInh__bd(`<-ysYaXfrYi=S~ z1m#EJO-$_jeGfNi^3igquw<6kZV(@h3E%U&qMo@<$M>&koly+66!T|CTOpv%6djJb zUh=3?&Uf{sns)4lWF(VLq1Ul>!p{ELv$4Aa)*V7i(RvfQL@fSkwcm!NZ3HMl2UXck zjo{f1k=b>6OHd0QNX9=@=HpytQw zcyrjtTrn|chOw)w_Tg%NC=e5U1jy^8lA9AwG9+FOz9eVn@s1YJ?*poLcvMb5ghlB# zE@KpBx~B2YImw`-Ib=G zom)?G784`vS4!>#*;CPe&XRGgiY}L2%NoGWz0qm#rCQ_*t~crZWR~Uo-X^@G>kL!I ziKP99UHB2@1ZE`T(I0Nr70*nv6NJf3DMak*boZr6S_80?w`h`}Orl(&^?BaB%uY^0 z9Wm%CLX<8Q^M)?b2?F|`-=@gi`4O!EguQIk3FxVOn?3#c0Q0 zvmtSpUM8ra`7KtF6Q#}KkC*Qs=C{gja>^tPH1$6uJZdUAX0*Sn(p9;x=Ve%N&Zw6$ z{zZ@DOBi=O_lXco?kr(_5|mPP6>S7vQ(5@l-&r@J@e~Q#G50jf{M0OV29T>Ill}LRn(& zPH+6JWZs}h7HALP#wg`FT!!6J$E>Yr@z{A6)6=PEMVs29-xaB1THUiO?IJa6C}3nA zJ?)7)RI7gs=&D(ioxW}Q#+M1?E_a!XKJ_D!I7~NXspF1sdux5|3yHnC5HxcYVHmSbS?2 z)|qP~VqQCQS01|!@NN_a9te`DQzd-O;%jh5>@+Z9xi?r#bv3UA2w!%FN8omkDe$6!neAB~LU67zlc$(p5Ryph2YQ=;vdAf-0oh=Q`1AYM` z=h@z!FblKX?hNb(!)PpOL!9BhEq7~f4~+TXH1Ye)7p;U*)XmhL%1~2W^@l0Jy1gSC zhq%2ff$poF(btkg@%Hfz`UoL1GJ=8u&~gZh9gn^jpzL4F{gRpG@KEf9GpfQT@7ZaF;{0j@7b^R6MSYz--CnVO8@Pnd%+Q?YFgp;i*_?@Y-h8wc7&}Sw$=dC54)yzjQaIni zqd&Ydyp5}_5o#r^mjaIxE0u!+eGC%d6vSD<*~ENdrh9T&!)XrpZf!$(B6ad}uk8OH}*YMkb|d2(vhh z=OK(sD84gq?Pbg za(b(C;_`VmP8C)@q_VQ$3|f>P!j_%34QVFanTh0anm#6!&w8)q-5hQwOK4asub2aWBAi@CyYNB%VBX0|O_U65AHn(j?t zu+Uu9EgAvE`av$|Z}UKBT%#bKD~$q0Do%nXaCH_=&eV7Ao z*+YK5H)xhDm9H4>CY?n9J{+T}^!{Dqos(D_ieg{$(i4}awAiA#R2l=ju$iOZ&l?SIcYG#D?IT_eH=-=Hm8kh1a8 z$K&3JJ?*gpTB78G~)ey~K zva0Vc5gg^@?pSeFwsL`1c_2~CV5PO5a+^OMV|-4)weqmQ$?Q+(<*J{dw{ux@+2CE& z+1EH1aAESeb9TN@_(6ThUUfd3<8 z)i-2%)jvdRD-d&f^9|?!Nzm2Mh4wnN{d|?Szp(#n z)=00uUzPBizSU(4=<0F5nJoq2?%X#=ea~dcvmBzMbc1#D4T`k?BEZpaoRAln(Ei|sW z(^_%wt)wPo@1bQDMH%;6kudjiBV)~ zi#!lrq)r~XCjXcF&^YgMk+zmH`WQdw;ZOJVUYM3}r^_ZK7P&A~Cm;SCuc3uEFt92> zuueH|2l%3!kVmFNcKKJ6ho6jMP)U3)BJpJt&&c2T@cBho;`Ir;%J$y=+<<=Z8H`l}lh@+l6z?s4;%vvf8LTnaS-kik;jE9Z&gkzyW+^obJ`DoKXnC2AiyTb^?x5+0@<|rX~0j3uD|` zqGzsqk;_plUr6%149Dz8JA=5V2*t^rzvL8a*L&~)N0JqAprx7)=U0Lnwge${7PVUa`T1l)Vdr%WbIEt z47pV;Xo(yA5yX?ukk8&ZX z7Xxg;#!|Ii!owQ27@!9bPX*c;=%EJ#4Mkq$C^2hTH{n$R$Ka5&Yg^6}AtZQ9G;07L zT6J3omsY9);4S$9{fP{U2jSl0`4M>1KjxGgc>VUV%R=f<8K-D^eQT_#I+sgWlD?U%+!doTG%pZP3%~lSFVT2tYidRiyBJZn*;qTnt^TW z1^Tv^wY*##E(if879QwbZL=zLd93HQ-zz?Yx(RP`wphQK9{1@4-k>H!uL`ukkXozF z0Jyp=m!7}Ql9YL)Fyo_NPrD!4&#t6_(m58)`M5`>k%7dVMxp&BWLm02r!h&m3Y=KL z$Gbwl?GCyS5I!=w3p%B*ko&TAMygv#hy!sJ%8WFCiQU2mxhAHH@?rB>vr|Y?#%K@M z%-j^*6B8~8yk@>G!Q%yuYecjVUCM%K6s;P6d;!}!QQ8lG_<6Xc zH31yw8+C|NGz_o+e|V_!%EL(0Q)(=4WzDF~77>JQ*qs;zcfscOrl)Go%9ft&_sb?E z(w*`A8W;(+b!1QB%Ehvq2dZG#R{uYhN}8Saw@r?ffX+-yn} z4bV7lCb8UaUG%?lS;F-XGz)nfF9x{k1wi;<1AhuMioFT?rBXVK8Pjc35zPZ6LF`hq z(PD+gB{AKDm%n%K(^uw5oEb%2eE!$I5%>%l5xNv}$AL;IS2+2t)8E2%`fbIC2N2cg z$p9hQqNo$}ECtY(_nl8987t zuA(X2!B&AGDI_2(7(#$yZq=z?MBQCg{T`Z+voer{yIH-?at_+weTS>2jgsy;;KXSL z4a>uFo())nN3mmV&u39+x63^p(%(TB2m|L$K57VvF7XDvgyhV%4!U8}%R)S)4)n~N zhZINK55aHRrnJgrk=g=)Ke8<#w++vGf_erfFI=~zw3TCMSvHey;$dlG?|?05`Fq9< z*dtb9v0a)xzhsx!{#Z8Dat;s=frEL|QOWF6UO~j}FKb7cZHG_{cwPXo?QyQ38flj! zHMtF*%8r*Rb*(SJd$1RU?8Wg~c(sBFM3kvAYrtG-{x5l-QZk~LO%(^P4+pO1{4uhD z4iWa=$om$O;o;Ufm52{q>kS+ag#2E@nd|D68{|bHe?eGNUOGy?Oyop6I;DLe3+JP3 z7KE~|4A+Fpc@k$^8>D6xw(jV4%6erW!x_OCxpcfb(X_ono5c~>JE0{=1J+lwxPc&? zc)IflQB-M^S^&(k&Ee_q31WFaf6@?=7zcV}3(CJp9gb(MF2qjI3N!7JpM!2Sr z_p_S}G;lvmxOMLg-Rgbjq=rd08>cc(_^}*Vn{@Y36;*bk*mM<-#(?(gpi8!CKi(l z*Y&YxO(2!dq}zB3n_T&X0GZ|hQHleh3Dtu|XH(J|1yk;>A8hU6f#jaFO6YI;hevps1r~qG8F5py zk}oCayAfB;b~9DqV^e>B0ZQ-%CR`z=s@1Zm_ zg{lE+BS*gB7J^NQ#?HnnaPO4nFJscs&A{Y> zvq;q?6FF++Ki!Nej7r45xbm0Kb3+(Z0NuPOgn1KfG&+kn4eT9DXJ~Wkwd`g7Of;DR zhiB=XbfI%QU$mee4f)AYw_*{RiS0YDuh-955557D4o-qEPkv2oj+nIm6E6LyN{XKc zP11hPK;aIAl%LnvhG{WcjaN<4S?w{czKEDU_)xy7mKytepMU}%9t)fE1)jE@QYHg> z*(PjYRQT%^#Qx@iRvH*N!#f2vgcR7pcFw;kn%;g>R1?QWee9c_Vw?q)@|_(Z1L|X&VRf1 zXWjLqZ@?sj<4A>hgAFU4@G9;g8-45K^U7ra1AYDk`up6KiWF<9gtn~R$6mFv6ikw# zcRCQ!dw=&gM|&X?A_Rw!(p@0o!N-H2CW{IIbB^!0$5DLm`(24N9B&)yWL@~wlGm_i z2wRIj>CwVuf>TH(b7U}w%q3f|hSd^`K5WjY5ch|W9uQIrUKyLO3ze-qVe>|dmQ`vh z(Lh(+rNzN$|GWDsA$ZS{Czb52M-R+Dfs)dZfR~Qs)0`8U2P&262P^lpGyvTz(32MRj!pf zDy`hN!S?3N8P;Ud?BO?YHeT7(zt;;MOpr&a%)S^KFK?*3ZNA~}_G_}Ka@L=MZ6#6F zX*rK(b07|naaSWAZhMZ3LTkZ>rGMr%Pv+=leLm0Ava@~R7*+X{l#W-+X2K3t)1L;a zq%YVI$=6t$;NAn`;@DhJHad)s9Ymlm|`nDbB3VDy9oX*h= z7=PlA#+{IP%G*za1K{LmXL=xrP<&6MSl^a2iazSyhduYTm16JHyt>3&U$R+Wda26FGArbiB-<5w@XM^87c3F-n5oBGYoS#f8}1F+1CMFY zgm-e{wSBU{gb?gVdc?!l^yhxOXfz^ZbRxy~<*$akhpw2S3nvIAB9g*8wH=@Ep&1D}$*30ftv~b)9fZ?2*fl;{LWMFG-hk@Q*J-yW}8Kqy7y%z;%+DFjM2}II8o_@FP0a3FWJZot0s2YYm3U^uVq zul=}y8+xV7f79xkJ>d&-hLY*`S9-%g$O*yKom*wL0(^Y*BnXS}WPtyAwOsT5e+&g0 zK?h7X#Y;w}Uw1NZ{V$jOo#4O6e*GCfgNL@@;k33)il6>yqrVS;8lq%!{y*;sjkphg z_^zq^=YM1Z6p10&%jCBV`k%A-k16CP0IKCCgj`8U_~tdil4Jb$jsDWEILXU}{*NJY zb%cjoKt|uB(@q!$fCpFzvi9-6#t$X}J;as6{9o=!Nr192_9jl_Jb3W+|1!gtN07CG z|NH%tpP+z8`^+gX{*QHpZ(gY2wJ`mU<@;yi(0nYQ^)yb>2W9_x@H0{9m3#R=uKMq# z(~k!f(?|c2> z74N`(IW!CQH!pnt`>*ez&e(EQ|3QuG{~eWu3WCvQn!uSnzOG1-ac_GSR)8-Xl6^`L!jC zX1)GMxLTBp$zgmOI~DDZFW?ZvszajFstLoq_g9KJo0-1r2f`KdmReWnbXDD6e9i6u zF?b#^n_PXBmo5-s8R)l8To0<4L;v+(@|8~`l5X*AUhD4Ad1{z=a2UGeb6KyAmQbdc zxT_Ts7~f(%koDx}aKc=euoN!puTL_o{`Z4mV!V{8BwF{^7)7H zf;eBtsq?1AsT|m?%Ed(H-Xnjdks~jR9sssIP@p~8q!=8a1|pePl3-EXOOG5T6zolk z#!I_7s3)RK1$!PGL&~4GOO>TC~GeoOS?052E$7f9KP3QeOgw+1Mb=IYd6&t#0|^b|{LI>vT>$l(4? z8#mMz$&yX+d(}em5rRL^CDvt;+~ZZUxw1hy^WNA}au9ul55jT0wX4OORZH{kwN8Qh zBDXZt^FJFUG8u=OX71iYIQLNk+ zcv^QpU7OR272=EIHh+J+o2Que=j1kczk%(O9t}(?IDu4zH&Ur{Ds%8Ya9;gkMQ{KM|)HxfgF)n|6 z1B;Sg*OVZYZLcWLR_2Qd1*1?LT=!P{x`~`gd(9<{NIVWU=!+_CY-Lto8~+&rko@Aw zYpj)7UR!2e-JWv^+@98teyuM^C;Se$!Bx>J@-aA*Fu;cT7Q3bf^dHl1q`ZDw|0fJ! zlL$pYI0iQV1K1#rVf(2*{0Eu;`oYuW1*CJrHns>o(^gxCKPRvE&<`l|DaZ;`@crY< zx?bBGpqXFmV)nlL=Ne!AAD=HJB<)@Un_U4pNu`vBnY}k@y%T;hht0W|+))lX!XuFE zp1g|(Z~Z?*Sy9 zNE<1GTnfF_Zp9t+mUm`05pPegd7ToniZcVwoZ*YdI}w)}c->x7EwswKnbTlC>uDtHe0^OFSGi%ZNXz41F3@i~%sw8`n$dqV;B+F_Jtq;T_5 zBgeKBLncwS(jWQp=E`9diWGB4R-wm4kN`HZj;)p%Nxd!>GRJ~j&}w^ z3Kq5X7W2Nr$73lu$o_kuW)dTvN3X#~vU^R+u6>os)X14Kz#+E*_x+`vdl0amk1x&? zeeC*t9VCYHtlITOrKmY`F>r^OzoU3(feX^WRluNy;o4oKWS<|N0C(lRG*q_vD;Azy zU;3mM)gKDnv4?+cX#Mwqf5LGV+9G~cl7fUCxclmw-@r;?Z|h}K=%GbMs#5`PS!>=@ zPQ@R#Q@wtgp=5ztnltcS4Vu)dT{~AoNszLYSTC-oH|SFKX9?hj4>+I#*(rZtF&NBd z6H89^e=!E(`3wJLUS5sJ6s}@Tz2zfP2bBIy?62ShAO2tF62d{D3Eb4n-Vw}-_&dSh zALLX~GByA6%d1EJHkZJLpnnRO4;A6XpEJhQbV!ghG5*0 zp5uBymw5$}-$nom(U@ZBBHu^2h%%r_c7r=ULHLK_95}s? zL5v|ZDoWYpPKU7LrUueuxwWrte>jUeGy#dnlg;(e>>MQ5jgEf9IW!q9Hkdg_|Cx(p z*xIHKQiwflgx+@hwCUO^-F!G|Grip4u8wCxSM~y_4Zaj@@1$cG{2M?gPf)u%-q{KV z9rQQxUHfbBx7a{fYxi;BP4MlurpPpF97IFN1$zL}+D84aOVEAub_2yX)nLleT5$^Z zfl;l}Z^1ls@4wU)E(2g`NtuQH_2B|5J9c$xSLPTS^HxtZZ%(J<1MLjYl* z&5f6Xf31s9?>+Rqbepj2mtGky$tYnwoOIOQD1wpCP)~v!Zd^;yR8(!e*$>5W+MPQX zpfSS{IYwS5xyPRscwV4^v_f^6Q99F`Y0rK$b_+H{hfsGQ^F%Uw(rEg#sOpvhjOLqI`?nO5*l82LnQ2(wI{zi@1dS=E?auCYTUrZD+s9u znc~hTT!sFTi9tv12Gy21E9NPN0Z<>ft$^B8&?YJA)tnL)!KfU`Rnzy6sgbNyzySf- zAh+oZ@~hVv09f*^c+w9_LZ(AZ0>?9Nc|bS)A`pi$QW!d|09nG^kHtwgKuv+|r9uL{ zMQE7GW-5cp@&Le5S!;Xc4C3-KOA;^+hYb~hy$%i;A&_cj=dbqK*_j=I$Vta3K{4O| zdN&O5dIQk(w`gXS&MP45!D5w-0qX!5)`SG0QR6Li!q8%K5N!Pc$QuB_63{`|P$uy! zOx`vFBr|`!Cq4&gDKACs*OIQQNsf0nK3y7${Ga20VNBxhNL8&uM&2B_nA0 zFco>+S$s=Q>R31HI-9oC-SI(TXtJ83N$!{$JH$D_@YUjNOr25Oj90CKWJN2@)iU_g z3b!RK@_o`O2JCm&^U8MC&C9mOf7T@LVj6^nFW%tYYku`& zS|{4INBY=#xjms{)#c`rLoLo;wWiNWjfT(78m*uDvlhcMQIiEtse%RH=LGY=f2z%g zeX6x=D44Xg+Z`9;o;@Px)=}+_D@t8vKGvI7-+_5l=pKAP+&;4Jraa$*HB8VfPUJZ4 zfPnqO%K3OImWNd!a@QcQ?v&aIva_~I`%z3X-7VGbM9B5NM?(dgfFq_ksT_&SS@pvZMBEiP&Nev5o3#{N;X0XyLRf5P!HL z#B=U_$TRot4$t{CnbksQFi+dUN=kxNU~AELhlV1|t@oaS#cx|>cs!0}cxHRMcvg#8 zcusa$cosh-B*dTUE5~!CGRjblV!Rd@#Ct6?i9t|rMStsj3n%dO@Bx#`AxGPpFuAiQ z$QP&0nax40jEm*(DgdA<0^1FUGZN+?lm0kN60F@0J6hHG? zA;@k`)v{U5Kpoel6Zq^kTsGfbf;i^-`9DD}eL8P=Omy1gEN@+d3I96)GeI09D8+Rb=I?5KP^`t!~aoJ*3vPtOPX#{R_-IGx$b z7^5O|SB+42nswwh)gW!f48r=$~s}Q$9T>9)w+RN)WzQdbb#Grh#5d>wS}+ ziBjeK_T`D&txGpECZ(iD=-)01BG(&9Sny|ciA~>}!I4RL7Q^M^g&ibNQ6T8H~AL@ICCo6FI}lza5|NJg7pleTD>h4Qt76g-1i6KK#h}Lm^9bUiwBc) z8@b^z&r_tL+?^{5?rK^~^smbDIjcGw=zZhLbA1s6Hxj5GII$Ta}uRM^1g&=Bx(k2DIOMcet{`#ebg?o+fu7HL|{r;I(wtkLR)0Egtz< zK7I#O+o`c{2*MMTy+ye|cEr89lO+<0guX>mgk{v1V)&mIIBq^?Yi*-BEvUa_Cn-$6 zAP8tm(u9&|(!Yb?p zUz%XIU;qsgMl-#az0<8Tdy!CRvwP1_1&P*~c2H_1Bt|l&s}bQ~zdx-CY3D=N+qYx1Y1|(3CNU!RV?Z#gJODu#u zf#HO>dbH$qO~f`R_I%H8Qw*;KSrOf=JOd`@@H1AQYqs9RQrT(a=@8hzbAH(NwB+^^ zB%SvHxYgEYlt`X-98xL543A&!IMdoOYd;g7eD@HOCf3hmjXq`ZY(1f1XL*F61YP>Qg@2v*(=qlfiu3~{sV1^PX?`nsG7Knb(%Sf8@bP9k z(ThmeR^?XQgqAq~jrip3@MjTdkN75_GhHSDb!u4uS=F!0GxtacOUT@kAiRZQ)j8O{ zBu*6l7Bm@<4|rFnkGn`ymusT&C&vhcdz0-C5x=9DqobO8e~D%eEkKK()G>V8_=w~l zI@UuBU90l9f|fhZSsBMx6BtYd66D*h8{AeGalabHIog&Z-T}x}=AONwJaqzOaYWFy z(J|mf73Bdi3!aHt7qKog(UaPK!p4?uk7N#`y1q5Ng_FqOG zR1&qjOubnYNEu!zFcq8IGEHn0Ru&HWYMOW}@r<6O+Y`M*Bii923-$dNfy6kq=#xvW zG|gFHmwBk(!_)5nK5aE&_hWk2joi9}4d#`R(~%_X8MObR37EcC00y*XnP4LG`#C&~ z={WbDb#LkZue0f2GMB;ifP9&1BIof9y@yi19!XyH!&!U9M!nSAyq%y2FKc0^M=$m= zo*QwshZek+*vftyv}CV)CY2;Kxf;FMM4*i%86do_bR1+GO$vZqtPMmDOr~)f`q?zV4i~HeHKSpx=WdcO zj?8BveKGxWS<2_+JebYA$?)>%^Db4xS(m#Y)6@c_cfr6-XXV$;>0gN64K<2ZXa$R$1IL>Q0Da(oG6_t);9pai4`Ul z&#PO9Gya&2Moc!?cY^K`JG;GVK1#K*XQY_1?nT821SskOgZK|Z1a^^GzHUEJz66Jx zCGzv_W05-9@MZ>kAC3ZzDjd#TC;j_pVj@1cW)yDQ2*)>!S9(%>O70@>eIubL{R(o& zW)ShqV;b?cG?IV#1^3S9qUkGLMfRRcKwES0y{8iigPey2O@o%cGsP05oLtatVlojP z#rRR&lG+G+D9dEo2s2{caniz#Jq{~b2zH3_@exn`Rqc6q+jAZ#wu6`Smzyy>Qw>y& zyIWyI!LX0k2GL0QAN1bVHNDUBWk#2H45IO68{|~!j+Gi)d}D=+6^%kk{x@hkXa-Hd znw#0c9=oq$_L3)2XN)8;qemvCOOo&KiJdjNd7#nR@ysVKoOM-DZZ`Rp57?L%-GIr5n*yT5zL~ zE7`aN|2lwRxoJ*bJogl56b@oB(_4G4#rt7#@2-P$l2zXd5GxMTx5vfF&CcLQrx4+C zl)=WBwg(-TQ3qPOVaEy9koQbHtu1x%1c_;B3@t-}6k3m_UYSLEcR*(M%*I_(?4Zg4xu!QDlW^ zp1p6Kwki#DoCWR`EU0s1QB}jPn~v=e-iC8Y;14cFyf703HJT$(e-G1 zi{1c0GquuN9M1mW@hJ#@F7{M_blA;m+`QsI>ngq_mx82Fg{)u?@eFpuZ1=18Q{yjh zcHu97nwOxKVz{i-wS`W&J|m24IKL%PvfUl7dhEJuc7E`~@7NUlH@=V*ka$Du_{U3w zL)Q4aJZo$@&341pjnmP0h2$Um|2nP--?@A0j&o_4)`jLd zz2~?JQt>9Ju`k68)h@e^j8{&b5m>(JL>s3*A@i|C)Tk5@_CcQlTHEO5^6R)tomgXf zH_glddKlVxmO6nkfk#Dd3Df^!>MY!% zT-#``prmw+bO|HUUBeKHC^ZNw2t!Lr$Pm(9BBg+I2uLXn(%szx(lDgtFf_w(UiSX> zIp@0k1Gt3udG2T3YyFm!9;Uc9EV|??^0dV>?J7ygEJXipm+(0x)B#BsFEYb6mOas-5!)coB2KxYeNi}y_MY}0btN?gX(I@^4qEfJJKy@ws zeW}q0C~3s-AS9Bg-m9e}SekK!t{eXy{CoR+FILiq{_urMAEuV&6_K9mGr*NX_f_lcLd@5Z1MP^j2k30Bi%HEeNp}^` zln-zF6u$$D>mF;I>?XI{?cEFEp8+PzwOx>egeV~pr{`!-%T?C*^ZA=*gP0ioK#(}q z# zKNv=`yv2NHuz!t8Te4ulo~&%~`u~wPG)nFF@*3I8NCLP)w;=98;Eb_h3}&#WlQMXh z)?RcSjoT%{@564 zMVpt$4YMnrt=PEPNL943s7ZM#~CqI*!mx}FQ0;!^vzTa-AGR}I6gJwi@P%J6Z zl4^;*tRYS&HoC8j1pn@P-Q~XA&RBeJls)odUStE*yyF0-@q#_jCx@8v-gj7?s zqgZ#M@S`ErQ5!Q`do!1Tt9;ujLAUKlj`0-GQdJL$@w_Cp`CYX~?GM&aPh^_tKjpx(o|zo}k& zeEYogk+$1}sND}h9cFk7O9`W5ins(;3<|SfurJ&8gHLF{6=&YSenBEBB0N?qGwx+v zEO_2CEW8P0&kap9&*(|@_BdZlP;j+V-#A@Ep7*`t7hM?=^|7q1kb2YY<`}(zJMkP) zU9~8B_~wUIEtZ?AixKVhBwOccmVT!65<4l|a-*^Ko32SzUj`KYE5HLaAN9$;&9^;3 zTz2Fb3)<@>MkkMe%LOT&m^r!@!-D&La=FafbVwYKQ39WRZKP_4P#?_*U1Kk6VrmB3 z%fg*VZ`#2MEaJU3%td#HrMK zs~TSpqRs0EO)BoUY>aE=@K;0;^Gk;A6E6`;qz-Sa8)0eJ_usSV#Px6BV_hXPZXZw^ zrhhvGUafWG`nBAF?zKrt;K`BwVDXRF-otkvVSzKiDLrsah)?1-pnIJ+RK>12wcp!i zA5tAz$SQugydB#c0w%f;wVSPSDe1^cFHy-&Cw{Z3<>vAEdUrrD*gHoxQ&tB^b$Ilv zpIxTD=P&K78op|R$@OR%SFV^F7F4ALuU#OPKrG7EE z&T~Gn&T}zR+H*c!+H=9u9ZlKRz#C|Cv8AO3dWr9v70lKS9Xev;BvZK0T3NG%#^>pr zYGoSnx-VY~#G;m>tcva>&vm@0df<$=Yw4hTU3^|2~~r@dkkWNEt`!1_o0AZx<9+K)%YM@HzrU(sU0*mDy6uwr7m30fyzL$^{xb* z011BQR#{Q4jd@Gj|97H5`!Gl$#5!e^HghB@i$qbD6VTbTakugg5^XfdM~$?WO}R9V zguH=u0|HoJjHghiJGN`$L~ zA*pYr{ssi|f(Z39z0vkoi-inTu46Rau1&XQ-_OwOO6*#U{VsQiYTKcx5IZEVDE&>* z_J@);uh0Ty2Nx2si*<{RHB-a%`1dT>AS0N2uekKJEW0Zv4f zw=qvM-)6Bx2HI;0H5$;abu1vM1=PL=#h>s0*I4=Rw*OaHRO|c4iwZ^jMI#O^Z#vfr znv;Wn>qN9<=tRjch_DoXfr_TI-}@qVwDm|buVn)dL$cSuVoGeky2j&kJ`hOkeD&Tj zBZMDT7}m5N)BNRJKMFx@&)ft|q+2eB0HVtb(Bp>W%=@UHz$(_B(n5P&zkK-P&`vUM zYK*RnUKB;*&^0)3j@+JmHdspyl`&~ddYI1OgQ;Lje?n;|m%()2Nn9BIUhCBl^&DMWo<~=;TS^KwelKjmx6)ti11w(?w>_o!fFHJvxO-*F}OXpxTj~xFc+4 zq|u}l-=U=ewY?^?f$7SyxOSah6u>y#J-3Kz+jXJ1(etTQfsO7brI%7v2hJ&LROiw- zDHx5to<5_ux6>i9RvuQ^E=$?KV?7t8!AY*74^P!&>G@o{Jh;SCn|a<Br zT&F%7#Tto%t?SXdEH;YnfPCst7QhWuE^8|C{BwT!Wh4xA=o^6`!C!r4t>_+{chK1P z?2nj&Qp;71=Dd$$-LA4qPcjoXS@zM=!MX){|yz$4Ll)mbzVa;5FZGXELyNz_Bc@u}ZL=T&i4Kx${HF;@q zC1xBI@Qlbh?lz5@N@cVxzJ=TlF7f-+g_4l<9oFvde1vrdg)}-i-IWj)8BkXNgw!0+ zz&7N=@;aUUGx7KSWE;SeH96+T4o+DA{iW^FzC@RzKa)nj-qrVKz#f1q+yL@&y8T9T z6re}k|5N(tJZiI+_dv!Cj&YjnfkXC7>2gV{$lHd5~)YaWI+6K)D< zBo60s52n(>y3PUN$m{jNdj;Xo2M0kM{LCtM%J?-e33d0IGZO%$1j^Ny5k5nT6NAP{zl5 z0K?TR+XTWU$uf)SGk+391gMjjrzQp$@uut%p>ZS;7w=yCki?Q_1|zMLphh@V))!W< zjktq&yxie>0A{MC*LQDX0Wh`5qj)O&$2951I@gf$+v8{RmQY5Q?5(Ve%|7#D!4t%& z!NjPNEHs^8=h3)9%0VlMPQ{@DC5y8ipqNMX18<@FD%(#~{%{~+5HA0kQWt6=j1zUv z)_vwh7|^nXJFcx*A*Xn;m8_|gXQMx{J%*P;Dnq8OJ}LL!NEBKEzP~Z1FTI{w_=0)6 z(k&r=jqAa8+2scd@huo?orRkHaV)9ib4n(j^FYyEMPiy3eCyHR`$~M9OQsAOS!X){ zKkZ-2cmr~COlb*SY{recUUGXM zV@Wyf#-cUAl3X-e*2!OUT0`Ns9rGTcHML;1XbXm*w;tE5Uk|ml23B=va_Ka>(HCbn zI7=7%oIArW59w;64*w=eT3CS@Wo+>=t}7hkIuxcUxiTwTB68iMGN~IKzs-;DzGewt ze#_7h`2}As8SPW+^=6J-#Out#!IcO0YdP?d5k)t77izy?D#!7>G&J_q%eW2S+K24{ zsP*vUIlyH9-p2(56y-hc#OVW0vwlJh>P$vgc-3xVZ;Uc9#h}3eljby~ijiNQv`FnocO~ zGF$$x(w(e1t83aXwncwkyca?C12cQgn^#oc!PNVlMx-EsG!WAO{i;7HRkV59<9N=% zaq)icGCRBy)9jRc^OB6ai6+FQzRFRlz37G&%0fm%ObrtmE?UKx$=vBlf>AHZ+#Vba zJVuO)mA>1NpIG>rL98Ue_6{fPG%3(M(CR)xYn^(+%J-B8DP)$?tHg}%RRkMh^gPlA zM{@e$S+$zP!*_FWIkp-nIep!s{)WTZY>jf#Uucc^cFa`P$8;e8XQE|(RG{Gi2S5zs z6qob;%+xN|`}%J(@S8A|E)*N;hTc)2X89OQo0S-QO=yd$UY08+8>A&D8x6)cMY3&V zqyAhXhkM7n62IJGE?lh7TeH;bw`po)Nq&&2tw--kzTVKFX>Ix{!1QaY=V6nY zZ^C^Lscqd>Zej0p=Tw(Z_uw_U;?iAcg88gZkzGolKI*Sc4=$W{?@qSf?E;W@-=_$T zC_1NfYy1qdy2lRhFvuZVkXF5MC&8S!;MZC8migKD=!EaU-?lU9AiJYoyNU9oFOscQ zdEh-rv;*kNX~JY==T5GGUGBX+*s0;C1>)2@$BWv_7PL8*(oF&3RJHJLgM#L$l}XK zwY!!-Tk6rUT-jvu&`(oad)cdM6+#e9)aBFcAl$gdmHK@n%owm_(7UNM7>TwM)oQ2t zYHz_fy=2)zoA!VyZRxo=Ozuh)5b^L6;)qS8_Lp(~pZy~4W6P)Rr}drUF7;JPvG_xL zFVdI#-&pkA+TNWeDkJ6E)z6&d_DoKrWOvURJmD+i9YQ2(53$%kSh0Cj>;C~@{z?K4 zuw~yV6kQ9@0=%N}!(0Sdb0~qiy|_NBWHt9D@V;3YQ})$7kC)+pDsMz2+DF&3g(IGx&mIVOI_$TYpq~_?TdQ(4wzh@5U*lj zqHt!ciwp26dGfwKx|*tWvOJ^8lMF?-lcC%vH&;@CV&yh-5NU#o22Y)4sJY`f{DV&rE4^HTUNsg68;@$ zHPCxomU=48*i=-xjm=ku^nfl0`Yj0ySP4M4HKdG<)w^cIrSLlz8ws@=Q zO8}VTy{`l;(KDnx0IF!=@^>nv6$j$W-79JhwR3!5NL@0qRes)q?z^t>{WV~@+XZ-? zS_lhudGVMBFMY31eU~1v?S7%)czX8T+|m6>)v)eZ7&xP;ymo6r^#v{5i}{X1Qe6#t zNG9-_)Xn1o%Y9`d^*)_Uhn1-A6djiZ^MKgxqzPXNU1EQ0;${)gmM$-ep;?hf8zDU+ zr$_Ubne7&7h)&<37S7@Hh%hlmS`6luXQc+ z>i7IY)A}3y*K$TO1aA9W9C!aZ`o8*NZeS&NEw8T^bqr{IZ2+(&9pDamI0I^DDDvG= zCd_$`kH2K)e`6-=6d|wgj$KN#TYuxzcY*jrJW`|;Mv_%2u>vSe zR|;BPHpZ!h<38y|I|YeXQjoN&_lr$6fG;d&6tF+u$%xf#b*nRUOIAm;QN2!tN;kJG z#!Z-OJ!&Ups4Q~B3EKx5@pKM8@qq@1XVm7mbtfb+TwSrG@jQYXiAF8*hh6F7WlO?ns!Sk2=H`pkQ;?9H`Kl4#BuMp(0AJ1CN>if z>==LdLw_1dOR7F#$@2HUNpw1+Z{$s-S9-Cj!?%(N3a-2agJ_1QVxot1L(${&0HiLq|(&QGxa#hI^R@^#Ra}S zyMrlqz^jdo zx-@*ZU+cqA5-BZJhV&tuacmR5>F@7biQZj-x~Sfls>^aHQLj|k;#lZYWHfj|pCL|{OlIaaogVQfcZA8lT{uZfw}G85Eh-Oya`f()bwwyRgLH)1mzPZg z0CEr=GmFFm3l!k7HDMCNeLql|gui(3xz?1Ez zUNI;H*tw{sN{-&G{g`_&B!112R;BLTdXME%o!Xavz+@bIZd5< zb}xN1;D?b|l$748*jVSaI`9BsIN>=Q4}J^(ov^s>3aH@Cm*d1EX8AXozFdNbSDmxhZwi8XT+*XPB+PkhVS5&sY>n2)lhg z>7Z+Af~AR$;|FZ-UNWpgCUi$ICMzAX^c2@=N90ut&iJ|=zIjZUD32sJu9{|o=n2mpt zfbu^XB4EIIE8}k-9o3bEzwortUf(#|H^b=1-s|mY`d`x3U4O$w%AEHZN)OAsQQg^Q z6nflZ8Urlj*1ka+HWYMc4i&t+L`1NjaQ>=?aEw1bv#$KwZun*hA=IV@(EJ>k*WyER|8s`O@09)@+sBa6^&&IMGyN3yob=X#OT3GQO+R1tk&@);oYOGh$>RAJW#+B18+MAOG|q38 z1b6`t@oi`XVZaDh9xa-5%RaO=IIts3EW!!vhd>p8p^2GLQ3LYVk9{EhWzOQ6)QN@Z zC}G9RdKS4gE*}*VV9n?oK+-R$Dl|~xMV(hI97ylrqC1`Q%Q^F$CppDPs_(-A0j4dG zPA33(VkM6PtH#z>%OMW(Cv}73vjd(KOt#i%ce@~TNe61_5UFLJO)tQZ+-vrLj%q$> zNbu$?&*k_xs?fvhuVSEQb@C+rxfR}R&eF2<6%1h-dN#2Fk%2q1S%_O^e8BLnhdU^qmhg6Exgg00>F_EMZnwfUp1@z`!^Wg~E>GC$JfA`ep51xemU&_rcMhPr_<`MuXY4@W_~Veh;lZVFWEc0mo;F7pi^-@;&kzR7*8X4z?16^KQ)S zf}S|EA(3eC{v-ori%Znks%~UO@&rGuasofs(qo2(`l7(Kxbp=_7whNF$0%GsyhxnN0vLl()zKh$b{Jc|M@6#D@hdPCEmCnr3fTiuxQQ zP}O^Big(zQxaIMx`8p|o(dNCSOkuhpm6)qlSO~6$69TI^yShJ2+|<_F{k1c4hPIN& z%82@v#zd8Ia#tk7c7!zed*e zI`G>}5qAF}#b;mh1DMf;WnnQIctq|**D?asMc;tmkWLG@&jj8H3?1u?+>?j3;jo%Le^*?LY!%(MG-^JeiOh}VVyJ(e`u3jNgyMF?K-N_@%<`+zd38+8kr%E16X zY8POUdi_m>v}-h!Ih3hupD#TK@2Bs960XPD!7}P&$5)=Y(0g<-1T@ZB@cZp)f1Mjg zrVqQ-v~<3}b(_C85axT`Y^Hj^XK_+rw(TDjVXlqz8RidP~Y00OyUbaO79SD3r^ke8}^8$*EZ zNDzO)+8ikDhlMevAirsf{>PPEh{e0VzOu!Eei( zexDY)91;uJRyK5h<%SY6A_Q!k)fYQMd=7GnT*zZ8zixu$leHZX5*GPnvozJ?0npr-Q*Xg_Vp}DQ~a7w@iO||M%!3@X0-~6ZzYxT4U1dYgvc{^h?}DJ^5zPj34~0LokCX z4beq+luJF-EEtf-Vc=$h^&Z}r@{s0ht|(t%;cbR|&)UB%Kk5}IT$b(Hh~W)HdyVeL z)vbIl1Qv&(NmB{K=NT`D~(864Q588WgW@$stQzP`&rlvf-Tv zP*4`ie(wjsQCAxv`H`Y37i^v~)HwETdFX*fhuiro$OB?fkJgm-@<0u z0N~t|8j`xSbx;x}83Iyr%#2o9uMl5UL>r2);F?bJE>p{ZW2YN1l-{EsY$AaK=XzhB zKm*E8cK*`>2a)^|W z!b3t}arh7?-u$GMB}1c~CA!&cxJ~gU;zFA)aSv@f_QRrka@wKi4MCz@jKmwmti2XE z(KcC;S`{1BST!JgzMJTw=}cp4^gQhXz9-@)tUobSl0V&TCF}q^a?tH#t)Ymjuh+c| z&XKG|02_SdjR}$1E=p?s{#h)%CM6A_ww5Cs`?BC13huJvoRO(3w!wk=-nz3uK^-9_aa7RMP0#P7b!U%kAOJTBVEjr@6 zznV^1L{ko^>>zw$r{bWbFLe8tfKNWJr^(6G6*zZ3pi-Z$ zHB-z)r7j^?HvvOQQ1znEY$v*{YV7OHuizG8NB8>*I?4E1xBV_JbSRg$h4=dFtvwfI znF!1#nmU^T2tuL5g|*0y`vklc|%s1x2e16~mzC9fR7VKC8KGGhP_JeWX+gwQO3~ zwstLMejnr}lAh9!u~q`+3ErO#-vN7e`4P9r{v`%e{r8H~WgIYLi!=j&0~4=0JN4k7 zJI|jEg`yUDuLsk7F1D5yDbn9UfV6AEYY@dlSDZJm6@KwjGG^a zBMBvPNgk^jm%p1~&=vEJ>)qCsy&{Qyp(|v;`geD{dq6SQ(zK5H!c6yg;nu|brD=Gz zu$xw7!8{l~EVXB99-7%4nV7I*I@!C{9t~}qSp`0b54%f`b~dvZ)|Y?m0=Udu+PP{9 z%W2h+r=#YDe*Hr-`}gR}AivjdBBj8yG^~YLqnsNsK0coC%ZgGod+70!HTo;E&yl`+ zZmqG3W(r6c6v;gOyyl=l0&6#6x{-HlvLSsT_02lP@ZRtL>jkjo`aI`BWAv@pcuuEu z{MdDt@+VkB%>1u)uHe(FWT`g`lqvao4nvy#HY{9(k1=DHCNKA=ySNj_A$OttNpHBG z=d6X{#a;+|xH)$B3p7VWG0D_XN+xwE-GM<+LHdb8?uVJDD8gs8Tf~DQZpjd^L7ysFXxvjvStk z90z?EF9T(nBLaBo*Kru3bK!p*(=N_?>i$q)_|E3UxPeGc2~+rViXeW z+KLd0*_UaS&|o~MWKEykKqLGIfjrB8fLi-h2;%T_tf$lZ0K!AV^Z@uFtBZ+C`iXaW zXYy@gHx)U2PR$z=thCGbeX?R>-|a{wp^hFjbp!s7_kI92!GC*SNuzJ%!zvKZqQ4mS z#l{Xe154Ff9cNCOS0mY6KsNVny8O~Q#U!u9cW9>1QTruoIuv&VxyOe%2ZSt;6W0S% zzmt^RpxC;zwUca?RzjJKP^!Ar@ZFUC)q%kG>*_6$C8^=rA)wE)_iGIqJbbLnh!q? zlUczIj=W|-Ui{?V4o!eXqdt;v^z~uVZC{;>U>Qtf@8TGSZwMci>SXMJg<44SSDGZY zEl$FnkuDIiz;NfYl(CI$_4eAxO~UdyOnQ)BJ_8?CnkR#FH1?_R)abUWt8?E%Md(}0gxz9eguYa zp7-&TIAderXY(jS)Y@USYzEDF!%gTbLalxc*x$G=CREAIVYxj?qM{s8Xiq~Sgb#&L{@ zIUar5EQg`*@?m0kpQAOE%g8?cmrP=?fg2GsEMqwUr}<+$Xc%=Kr>%iN@{fCXKR4k2 zw5&VK(uY}A*YDU^o9@@%K5MTASl5PW&SquzT@C!}XUxhlh_nx+;9)~AloIu?Z^6NU z1Si;>(B^U=Y0aWD&9@c6pka*oLc;R!sU6+nhDL4mf(P*^%N67~rygLW+imH6%K!S) z-)x_zg-@~Gsq!<9{d}#xoGiopG42|}kU#jCR5jqLDpS*=1&OM)Qz805U!rCD|_qO6zwXa>f zJ}P!w7KI=C<}DY%SX#!pj4&8NE694kps520n8eo`1Gizi;a5`S7)5I)ZWAnu8i!ud45dzCBmk9=lAm@#;T- z)011e!aFVljn^&{i@%t}J!|&$zF@?x>9NTWCQ*9D3M%^aT7hJU1Ah?#ucT{!1;@L+ z5sxDC2ONC9b9m3+sr-FoBhCMIxquh$*MA3!S%>#hUhC@E5y zZ`e@YnW&AE)Uf04S2~=rBcy9{5jw!G=}cI7_t3Dg2ap@CG9&lU4tt+YYsnJ2)Gal_ z(c&1UHg&DJIZ*i8bE7B6-cPC2vOfG{PW9- z{A|ItxzAhd*iyXsNV)#!3A(13q0~2+pDNK-{_fmhgvw~=Y z#YOo$H|N6}{(B4&sQ9eT>e;BvEv!Qzo`H4dqe6#~RU#mmh4S@R+Z-xf6Vjn{$-_&JYh z)2_>oL}gbz;%QIUz_)g!7@x1vbfYz4dpG{bY~%y&TFUtY;YI!hvitg zZ_TOlhJtwxq3lizp}!#J-8p8a`yo;Tjo%?zlD;mu%Js9b^T71|?f&stX7+~_eV`Kl~L z_%RWG-P(IiY*ezRcaiuHs5sQ!8)DGp!JC|0d5RA+F_DS`3J%!y zUXBe1!z1zzT;MNA|I-4RRG-F;Xj7beKi_X|Ggxx%_t83g|J|X1EMc|Dd}eIOT8J!o z;H>W<)M>S`dyx%u+TBbw7ty&$rv?U8cmQGw#6cOViH2!rzH3^+3RWm92-!46FXP-a;<|JGdo~qoo_W1nw8=!ca03U6TH8xPS6qTnY!TTH06S*r?Hna=+ct&rw&sCfqJBTs-B;m{9_Q!VdL6Wd>SKT1Q_4}z*=S>=Z(EIh z)TFXC@jr;MFxAIdP-Y|=v8=(nM@rT{vb*x`3LrX~wY|hRDEba;UB44%LZ;m@fdjq0 zn9MC*Lnh|#xnCr0Ew;pe)$@%mMyz-t@9(egwlRsbi8DIV*0e(gDunq;crtuc_c817 zwb`6KJ)IJe+d(BsD-Rx9cdb%V?;CFSl&i{|9EJ+dcBZMBTWbR`%;y(hHR!7%uU3XK z#!mQvRhYPD0>1%K>c`k0vTvVxIsjmU=QIXu&XqQ*P6DXSJwStFbPOH@BpPtUxM;yi}=JFmTrmqu6k8ZTP(bJ3}A(@?w476TbHy3@|lUh zsVtJcDOfR%uQL+|@M?SG^GZgbON_X?!DEy1mqFo%H53nNd1}2|>&`qshbx+v#jKez zH?4;Zb3FR%`rxwv92W{(#=uMrfqn-^hLZf~PSa<<3PKUvdNuxDHwN4du}Sm!)mQPC z*^pV?FQ?w_CqHY-&*uT>MR<764FczNkzOtCtxrEyZ-9%PRQX;!Y@gmceO3Q58Z!HU zN-_OO>=_Xics`MjK&62{+>Eu*L?KtKyDjphnS>!jZU$%KcT2fYAW^C#)uA(kD*mL2 zPr9RawWnN4*e3>+Om+Fzqu26qP_gAgGS^AjjX48?DK#Yem(u=EV*Uqk7vX7>Cw6-) zR@UrjI+VY&zt&0P@<3Rtn?x56L>#bbKY$+B+4<8(8~9bl;v4_Ztdzahft|*nFH3#) zuc!(JOkT$tg+`S*-a7rny-`uq(;br-KlM?|5V-422{Aw~Zw-)PZq2T%<=F$s5i09R zvYz5KW{(I~t`DS8?f{gB3%Pdl`O@9ac_iiEGRRSw1g&IC*AfhQ9ipzJ+d-PL|LKHJ zx_5n!_h)mz*um4mC4r~$8Q)+1No^QUc=lqDJN@1)eya12-zV}8 zI_EzMN|tXPGOtqt`7+kZdXHHP@p8>EM&sR_8nse$&O$*Z%(~*iKH&IJYus?+H+jLh zcL>lcTAc?!{)69s9={{mg`fH7&U1!9EV+W=$H*ZWYPtDKqC+^`>VtySMay$5_m%Uu zn)DODKR6S16C1Z|rH>Q~lSP@(!=B{hG6oTx;z?p=-KwRV7&gDJQ>K{4{0b+AJL`Et z7WKTo&iCGZuqDy?@V%ksuj7Z1oZc+~)ijWQ4AryT)t}i-mwPgWhK=-IvLM%dCYOm9 z(}0pt1`ugXCJW#2^MPg$#4K}U-CNBk|Dh*pk$;P96-rZ->pYh#o;`a{dq>)Cfd=9I zneo~LDeL0yJm2v6I z*S;Q&BCyiYb!XcaOQ;*^BOS=-mh9iB{Qrs*I0<b+!}(}PJ7Bt$cZ%F%9A%y zx)W~zVf+bAiMnV!>GA-(3b22j_!@c3D6Dgk8_0dhoO$psHUYV6&-bq!en0&eo91#; z<~7N-<5=+Mj-u-riE0Vy1C6@d1F)}QoMk+6zss=x)h6eg_y@DIfg@InO)u+cCi|a~ zDYmCWG=vcB>ONc;DWnTV)&}x-Z=8(441tj1vrClx(-n*sU{f3BT+}e%`u|y&U)ji~ zKWA9+viQ89-~UDP+6Nmr-o?8B{g`-fDUg@Qg*st`U;UCfqRW!$W9(>D zU?+?Ztb6Y@e_jXFgf1YxkK3fu2butCMk5%dDAl%I{%tX*x>FMstW{Ikf_KteA*Y-d zZ$PB%FOE++DQ~s4nNx&1Q^plM&qKH!A{C~uo9qq-!0jWM?v@P*l!T;t!dWUlF*27U zzHHt?M(86|9efjRs7u<(rL$w^#M~tAktF{g3+-}Ea2^gVEQ=XlowohED(Jw9x4ZlL>DFeomx9aqD9l89JlMUM{~xvKn+mxm z2Vh*W1`)Ig?nxw&ReubX-n&nx4sy_`sYUqevdX%|by>3b0c%gHW9jP06`9_p zZqpCdcBet((nn6<`5=qD%G7C=pImBYDBb4Mrs5&ihy-QMepFl9hKV78CD|MLe}Wz= z%Emx7Rwn?{2?D4V!~o`o;N}XG{jkV%le7mK!alvoewqm^cXD`M7TlP?zTL<1;f=0i zoZ_BPPo?wyO?5T#Vl$d}$zX=9k_tY(LnES`N^;oIjf>bqgON$F&^If$-XC4jgFn<0 zfIl>jtmW{b=gvZlzOorYu8H%|CwJ6|;z5Z9lzRS^V!WA9;LiM`ChrZnaIMU3c?BFbhlwCu2A%gSvCn(zG=s`NdkuAEXAz*dx@x)=iaL4W1|u3^o} zC$atPz8Rlis{cgZjpwNVyr9c4Fx&R)_6x_=DE(W8_o3qWAw%4gOxXeoiRbiSj-W@l!)Dm znRQ#K9y@DZ;hnhuu>O;rw@;VCVBdAQs{_Zy2-WAn1>rXLBQD{#hl&Q{KB30I<+k^1 zy$kLp;zj*BBIWN`P}#^k!m`cQ7rNN#Su3v-Y@+KV`GlOA+<5(ibC4%d*Wp8p23@bY zgbaBoaAl8C<{Q+DM?nss-P8vHFeSzixr>K4&*HuL`fT87oWrMaRERm6AHx&k+K&gWh_k_w_9uwF>Kznu?1}Owu@e1 zFELB@rX(4{Y9?$=xI}v!H2w?Q&xe(@_dIwMU*`Sa+xrjUfbRk4KnlmAli!viBWDfi`A&M#lxr`t z`jox_je%zXu<@o#eWe$i(E+sm>DAKb|F8J*r8JJY0pW`+=@=UlqQ@y3<+ZG*^1S&W zEnI;(do98e&i2MsFAPly0&bCX{+?Nz31o7&@;1{?Y*VdnIf`s zXGkWO!^OxUo{1Q*uj@CNHLl7Alyo6n$0%JDBD#3=OJ)_g!znt;ZXX&H4;4*YL%0v>3T>ONb+EKf zsa#zgJRD#-z{BAQr>y4YZTx-Qzf`U16k3%({)-Qr4qe%#Xfx9J7|_5U)sBmC44>B`*gNHv4wUkiM&*R~h<#r$2t7Dhqh>)J5F z*yURm_x+^fXvx%4{!WK)CZZQTxv&aR4Dbr09oQ}tCI6i2-p@6JYHz4_owf@V(Vn+jGn zMsgd>OG;RvPJ|kXy97>_eiW-~3AHph$C`$v(JfQ+@^u)+B1_^NAJtD+2v5kE85O3B z&MRU{sdL4&gB6~WQfW@zd`v+7mhf#6+?YW!JGZg zimv~HDabs?G}imX*?F`2xb_mK4kfXV{%Htd(q8uoxIZowW9oC+(T}*R&Hb+_4Vd!t zckaY{pDVc7?~S}Z_JZ{9ljRy#)&PPy~&dThFQxnjH%XRlvj{tsne8CKQPy$uM` zjidqwCDPpoP?QEy0qO3NZjOK`snUH=DHQ~1q$H)gL!}!@Y2Mj{@q6O`yw}Bt!`Wx= zJ+o%5HEUMgE)w21D7FM&zwFX2VtIKuE*!*4K2AD(VhC5**fn0zxsD=p23imq4@>E# zjQo^qt|bcJZp$Js)(EnPv0C;S&R$~|nV7w+Z|b3&T+GULK4#lN_G=mSLcvm?pcTID zDsy_pvp6d!sindIwHVj+maHf2?A}V?2##}ebXPqf;>;JYOm+o_*v*}Yl#My6qpo|Z zK|@omTmO}J+m|}W~$BnS@ zwO!uW_*=8R7tY$$TBCR^7Oe{P#! z-60##M-OX)Db3cB;Xt@8(OgpN?hX9rrvX;lHND?o{<2Cfh@Pi)5tDBS17y-NUY#SG^8G$Js-nZ%F=SbukAMP zj~x}d2Ad81s6J3WYB?x-c$TjF6oyBb5hdx_`ZoKK5l@{661Js8BaYZ!)zTK$+siq} zC&KrupFMTO{a9NPA9A3I>sEVkI9JQJaOT~Z-f`@~&FD>IHZKq%NJ+IPnuhQA($)rY zoKv<*7S(-7W+GVc|3F%o=;1@qLP+shRrK$4g_p!%?0F@VLN-&v*>MQZUw&MMl!Dpd z0zl(8JDtb#qD*u>nz>e8-)Sq*=Zj(!4=4FcYb4-Cx3Be$naQr(?_R&z?S&pI=0Fsa z_?dHIxfCrf!JgKOMih%m%Z2tZjvF^yv^n0ST9B#D=6lu9Z9PgEx`xc@)As5Bgi-DF z*L+-*Arkrxm9<&E)m>>Wu^PNArziMa^12h=rr^)IVr-F!jF;-_i)14-UIxOrBwmR- z8a4ayDXU6#GLM7xo2slgL_oswf!xZ7pJ3W}Q1MHrvW_@oH z`icCW{O48PGFvfje)}Vy@zm32!!KTW-mR4t)m{FfDRJh?VovF%k4}oTss81vPpm#6 z_~o6hq~&hmB~hXo$f&u+U$dz$-W181Y^7o`Tty%?-xl+c+FOgD^0|LGUpQsz7Vi6` z!&0HCG`)5qWzhd3qj%c2xtZTyQ&84ITkWAAPom;498&n(TeJ=geS_z2_-%Q64NI;R zFs_(j1%|z%%5&NK_7mT`RzE&t=*`c|F>cid#%i@Wqt22eZ+g=X@WkT@J#zXg7=*4dB2h}n7aYWoy0zK%DE6*{(9&X>PYx^-e(b+cE1C^kYxMcYPw34JXI2 z$8mWwe#i=6p|-BYs6yEOo!*YnIi);D)t;qJ{LP9&4F$qTi**7^s#9+{sWMp5_hNHJ@^-PhXjaJPCoztXZdVpR!y+IAtM8!sh4OTVM5 z8Oyiz5frk5M-r!hpUFeltD6zieaD7AQS|+Fm6m=&&d}`RgYOFluJA#|l!B0@6x0Xk zby)9)Xiibrfd27=c?k1SRoC0j@M%0Y5cD??)WW)v#7cK`GoD>9Y(Utz?)Ijf$@ON^ zIHYV#6@HNg3|+S%t~Lb|y9eZqaR-t;Kj_n(TDMFP)gIF>ftIdYcn|nJRjzc zxGw)f@Yd;KgG>yl%VK7i4pU{tJjQ4y?}ocx`dhv5nh)vdm1U2(ZoH7*-=O?K5|22~ zE4)olR=FKgyns?x9B%oxCh<|8j!rY#>%Q6<^aqMG{&h8O`i(UrIiO0K)PyG5rZwDJ zqDXRV{B#x>oTxoYgtTy4QZC}^VdS1#x=CN=AiI<*tx>vsi#wioZ{t>d!)MqiQbW{) zNhUToR|kygnp--Ii4QF5WO3H;nwU@jKv%@?d-O0O+8k=+)spF*T2; zq|uiGdBb!91rv+%Z9lgwn&8#~OBT|#DXW8mgK4yv{DD|Pf3$pWj+D6%H^b2Dz1)d?h)Jb0i>^u+akf|C>X5lG$q z47@eIRTY)jhpzH~YGN=9-AjZR5(6%Tj}5$Z&v_;d;--Ymz;~EZN>b>s*7(QJS*8#`0NzljPo839 z9=m(4{ennBi1;OcGsZTX9f>>^3H!{~evLUI_wzV24Ad)26evBbA>hb;7qtz(kL@L&yBHAXv9S9|eA~?Wop}AfH>V ziBU#{-a&@UAr>vWJ6(b{5j$oizyxWi?xA^mOoZBMd z#vV~PkK}RafLVsZMRIqJLO%YSE}B!SWbRXGv5-8Aamhr??z=<}XL77U7OWTdOYhx4 zZZ*1h!@HLiQpJNXpCIcIX}-Q#CLqHck$XKWA9?1Tn05u~Te$Wnz@B(BF9`ouxILbe zt3zfSDtCY~PbFW$L)1PNPos3 z^&whplsq2;GTPG5w#_&69lD=LF_xsm^O#UVSCLWp`s_Wz_Ou4(fYPt)s^5eUBJH@% z7aJr@bt*?O80zTizzbxl$I&<;z?8? zsuk7{KvoJwR|oB_l;(Ti1yJ%31!V`dr;)_cA~+$@LIe^Hn0GJfO8FCqPLYJpT%0H$ z+sV=~`8lgmm4ryD4!2-zQ{1bWW=%-ueT;cvC(d~^_em%C1&x@YUUvz1&b$P}YCf-> zzMIN5#Zt4uH;DyT@@NLhQ)dQ2pN?p0dkQ??Q$L2$wG;6QEe1M(ukM1tMDXGEfiF$R z;!8`D4{jy ztu+*lr;l9hV9Wl$3t=l)^dR zwB*#wk&e`!fvO{ei`_8~lQG~RA%p^Cd0@KzT)x!VbOxzxK{TM-zx3^iU3P~fks@(z z%Y&!EJ9b$i2U|YZx1=k@&Am1?!~lFSx|FxJx8HrnaLJs*2X*(!cA z+h_tur>4ak_923NI#ZR7LPUsoO0r-*N60&EvfGGTL8RND-gNadIt?fkKCkebg|2iI zjIy@jVO)8^LG{&YmJK21IiMWFKfxteVUNc;>x$OKH(1h|^g?rItZJIZ^y;LAPaBJK zjY9lN=x2rl^c5Yh3zzs-f*V9H>PnACp^^=%(H=@Gi(MTm8i-Y>_uD$RgfT=66)`Ez zria?eh38`By`gP2GHfKvvN{RWIHymy&vw} zm5WN2E@Pk3#;;5I6rQuf7$VANGSxVFmI}qtL-iq`IGfhwGcG}j^SKD>TO&o)NADPL zg;oM+a{{z^IY`9H&wulK@pbAJB?qqW%`;y>)(1CSt85S4tPd`u(#-Z6+K1=o^A`eB zKZy7ohuB!1U%5ZKjDbQN|McUtcRIIm9nwcE-9BrW$_N};S$4T|^UfcT@(Ql7a4)*P zxZjZfOt^*WfiLsd{ROMMbpbkHabmX7ZMWy!JfWS zsWpgsVm5JEOWH@M#=Q6Ktq*5VZGqQ1Ue}1Xd0|M}==wDh8=+A3AMm&5di|LF)bYJ( z+L&3*j`XL}hjfnbg~l1W4DKJPX2`MUeW-&mRx!aOpJ-}EaXROMSxKCbBP;DgJYAZL8YdvKYwwF@e z1x6Pn8*Q;F&mH~3LdR9`;64cRA`_}XW|5iarZNJTeJW?T&#kMqr+fKx*UyRu<7jI0 zc5yr{i;@e3((&*@Njpa_+-}ln*64AbfETh~3wMuU`=%5jw4-FZk{+dZ>Qt7+d#k{` z%VB$4O_Q+ZRW!Q6lyma;uobbICW(*Ry>PYdd6v~TnmNP|!uIs6fxEpUx#N&yljVlH zJNpAgsxaW-n`nQ!Z*|zqRc|mjEB?S6w^^K{p{am*-a!z(m(N_%W~e%H;40ZnWkY!} zN^F#CpsZ@wHc0mxuf}Gp1%;|%bwOkk04byTa=^vM0CJ)B0*CcTv0<4CNvSZXR%K0M zB?!|jw2bZ6@>s1?Sna$`^Bp9|)`BYAr&mMyQ9#v^@4Mz(Qmi0p@?A3@$cb->qpsBg#hclqEuvMZ|O8d{X)u~#!WX(s)asve7+;mLDJK7w>Y%_ zIa%N>S1}c(j4dK?q9pm!9H2om{dzl}^#xrUpR?M-r&0k+PbuSV66B&n19;C_1-y*< zoZq6-wNaNkp{5`-0jiW6EIyP!fnXD$-5=D7YW6K;e`*WK3U&_sVzje1#TvRZ_fr{E zp}y~~1RV<0a`n;9<5K!{D+u9&mf}^w)s7cBA)4h}UcTNT>9Hh*5hXtS3KVJZA8t=@ z7=9sux~hwo*w3^lugvQmcqq+9IO%E6%cxWu*(U=<_#Gr(Iyq81bch%4uQiJcnSHPJ z&(0pUsT@u1KE>iQCp0aW*0`7#-fA=evyuEH)LZ|PmOGJZofyk`Eo6trWyV_gN1MpN z_xaYG2_6>P!yn;4ejJ@QC~llopWrata>1e5^9c`1;=kaTEPUb9XxDkN;BB%em0xLy zjlB~x0xk^n+^RJ}fQKhbzF}&ftPiTgDqF)^0 zcAW3hloG{1_EXaKW7u}egU+|QGK37H`!4gN(D|TqE%0iN-Ac{%OIL=l@+oA7*wc)X zUZ%0JCQh?s5p`XZ5~s$3JS(tl!Y?|u;T9t8j}NUM8PfRiDw7QPDQW7Ho}Vta{nU6V z=I6Lo%+YvO%+Xy<(lQ5Z(lQV1C~v;=dIWLzBxl#q38TH(9%v^?6V#0JSy#X0v#ILh zv#xrn+%K@>7~%i5l)AFQ@zMhY_nIbMa9UPpJ?K@c-1DcnEMhPE!Qp}k>W;|BC z`_Yf=h8mJ6`*qOjvbfq{Lope|vR8tN6zhgo(B4;CYcoEw=?6 zEV@NdAw01kKrD3I5(IPwS=$5_b84#mIYjZbDhlB{Nv_irwkfSDiXu}(oc7al5bzcN zy1K!iS)Z?6vA-s(dIXA<%bP^l4FpoNlJUE@5kWyApp~mXz}oN)vH(HH`FSq@#HOWX z81-I``q)zhzkUlLUuj?^mtIa#HHf>_6Xbm)Z}1&S+*EXk_}QiJtO-5pn$^iYTnPm8 zYcCIxvNf?)6j$|D>K&undQFUk$V^8pj)K`!vtaQl`TiXE>ruQqZ#TRwSH4z?LDlVL z0Ewcl{+k3v+RQ>6zcHKoN59V~<4c&JwZ~O6S*3>D-57&VyC5Te?e4a37W4w4_*A?t z49=_#*3&6Jcp^X#ldDic^-y)0X1-*(Y(jBPh@7HyMuJMzZtRPoz=1J9ftEos%awN@ zDzJv60pM6r9>OV1iQu*T1@>Lm2l)gC z`&uhBh0>kFh)+3&i_WI5b>9cJ_nVwQ;##2&VWl4Q#RRy@#Znak<@A+Uh^7%LX_#yBp)*3W{#1 zmpU+IS01|A>NQ#wjYeHp&vYE&@B*zmC-T}wYk(5_QA@0d06O-YFHaJA_*+=o_c>0e zP`V0@=k@Kd`X~+SXJuu=9Ru=_>5N)t^Clu!rGjCgeoClqrz6yA8YKl7*`U`2#jX2S zPmnNS7cMKM%X2xnWE5FsaS@{oQNjJ0rUw{u>}XLp0Sdr~FLNF&;ksB!w_h2(qaLU9 z$jswLY)6tj{ut)W^z=cNqo#p5-njv+xk)22ENrqqTg#a%eE2^EP`Oew^DA6P-5D~`zb zBCQKZ5N>^fk8ajowmlwX-HAIqlCDToloK;|4YI;$QSL`0DVCJ%`H4TRLw9xFmFwcp zu@>;W()PF!pRC2!3V_(oF@M9f41H{d&By|~R9A*3`o3w90dt9NZ#1+uE?>^C%f2g@ zxC_v}H?A287zXog&lMnV!lP&;veDvj>lT7lhEWgawM4buF=tcHDZ+ut{TgPv1P4n$ zhqbiF%6$UC_l#V%%%%xEs9W`1h>jCRfVc87%%k_#t)BOSToMTBpA$KQt9(BAg^y{^ zD^RbB`#XI=TgjF#oqZ*WHTEf-PNdZ&mVN-tpyQbs02$th^3Gbu*?Q@+}@50 z0Qv?V^uTG*h)fk7dk0`(%)Y-2sv@aD;UFHj&Dcm?f#o2Ps+MEqdiR&fpNkOH)4W*Q z^j?&^Z9e+c3N;7np9TdsCH>MI3dcz*>M+`wPaTVXNdvoE#8s=;9149xe!BX^B4I3! zI~Y4m3b@na=kqYGZpc{_!s|G!G}~>-+1l68TrV?T?vC+GdyVP}pYt^Yo&e-wUAuVA zM~w5ADrD;`k{vAl0X^qoSq}@?0kqLi!Az^d!SfIxK;-)#!K5cepbzS+hXv-}id)fY z^7%mi;r&Sob=K@Di>!e(kj_!ue|tHn1}_^*(;F(GE04%O1PKph5Ehi$R{)ju4BX!~ zNN&lcV^sh;=SSzuq@I8!XVjvGj&0u5bT!pyy~=SIfBAcGurRjDc%kngma#o5eLfna z>qb1g=-c$&SjDi?CV#Hj>LyYXaN-?F=3sx z9`9sw>Jiy5N&-F)Hc6bedemauvqJrq(B^ZnM}>AdqGbx;SY^lz7g(s?yBE9Z;VALF zWn@tPl8)-Fq8tcJGY3nlt&+q%@zN=8Ix_$*8)$xhIVY zt9~3oMT+8CBHQCNMJ~H8rLERtgduGMeAHh$crIyNPAtoeYe$D=Zp_UVyQDfT4WR{o zdlREmb~hsNg}HKW5m#W73gYEW1ox)*_V)nResT0me)RHj{N5YY{W7;|j&tXMOI{1b zWThV+6e4ZX;=qJ_#;cu}=HE~SJu;iSE5Sv=xN(~!|I}Nb2L8xp6*m_i%(bzxL{$szVA#nHsEBGrjBGz?D09AzZm=!EVscDRDCu z2(v}c{UU3v^u6_VvBU*7(3&l5eHYz`^?C7+ln2#8m4~~{?m>>S55>Y#jP*v$#@?%Q zoplLOSMXsNT@F z_fu*}T$EE3)51C+*^R&0iMAv)>T~|~Vq9-NI2J4f|NH=O!kC(GG_~D{)Aj0~CtvP=?Xqk}Z{s1>KlG3@Th8aMScU`pRWF>RkxY&!MiPa6qy8*o*`2EIL&!S z{B%tyFl{?qsj-tJ)@3RN(mv*PU#!3QGtv~VMy~@{*tEkK8Dex0S~H#0{T<>y^FB%z zwlbRGv7a2gLWfe^mX&PgyyNel?DxwR2}(G>#XVS5sl_$8r&cC#*+0Gi+BnEyX2-14 zS1uQ4?ipTV=N8zuwshJwh{Nb3%Lf-O4VCSpMJNH!tK_mc#<#4 znJ~dZ2|-ttg5(b#GO3EU`#~YaT@#zA&$kLvGb`UXo!9ZdKd-GRw&vWy$L_W-3JuHds&Kw_&tLLHruK8><(!2&q_rr`Jwc zcsZGJFY+9MuU{*XzQ%cUdy7_- z*oanCI8#@Ynow7ixo3y7EywvbI=6j(BjiD!r{sH+5>;1lODJ{%B>QezwPr&CRm0 z9^2iUbp%&C*gHD5zzHX2lFeR>h>IHa{1Z)YodcGK=%ne}7 zO|sy2k1qywMcj|=HphF-=`Ca)f4q+gf%3k*Wwm!{+!*I=8_(;<9(#y)J9-IoB?;57IbXRz~_h*A*eO$eb0~!Tv2*kKeHP2Xn=5)WIMTv|> zIzG}^U0r9lF_W^6w&T5^m8L@;GV- z2{HWljXd{jr3jHPETX+%7-H048K^7mD?skLP+PIJHQ494ghuiy+cBs-2rKYz?bwCI zr?gti3_Ht5#?~(3(#D)zjdCw{m}bg{n^%k;*|drLtk`|?!ORPe_geI3<2hsu7!pdI z9FlLmzL#Kr78V@Yf?EH!+gi+PPYVofm~iUX za!%b(U4HK91`x45`LfH_WcI)h$~DLmm+j{>)0>`w2NRfDqV%A{&l7eeh}#EfVkvD)NWrumngoKzFX^|DUtzA>ZFf4#L)*q4X=rg_d$UcDBZpvY)!A2 zWcdL+UVS560eYqnZ2dA~=kYXd$(EW~Bt!oOu6zJ%4UU$Sq}Z*=0N86{gaih+J4zh0 zY1?yV3@``HZa(fyf;e0bQVo?`AanG)nrBgkF?PHkx&YVkEuR%_j*WIUleQd>MZ*f zhXeV}{!L|4R9YnXIK9tjc{{P>{i19fnFzYAbuHH16z0u*Ru=M&G|A#oAevY|YfduVMY<*&S zxg2nGX%uu?GzHdsQC41?V8y)Jjp-H5)4`=m!0a(v>A2H7MkMTUo{eCsBy@2*dH1Oq z;6l)g@(rBcpfS>6uMAKnso(@*JT^M8#AN6RikgyFEYcMc_umO7d+nO3B&WVF9S>yo z=oP%*AyjBo~ldX}H7416f};CSjKb(@QGW5%?gX(kg*6C&5Zsz-kCzv3P(o z0$;RF0tuxTlc4JjDtocn-TiyoIw%$e+Pw;z3#NO{Ma@g$St}b?imFLezdo{PDgu)n z26)PrVWPXHeTJYZT5b?)=@($VPIiY}66ym7a)Xbv0AV=>bd=bcNndlG?f4v!IZ|jf zoL22?003^+Rzc~ZKE|3ei!f6=1RH+P*$mFqOY4kYk@p`+-_o*gFlIt zboto<)#{aE13X+?0CjK>_=D%k>LQE*3Q9LF9Lxx;b_5CX2`yjcPE+uNEFmW;18 zKFFe)40|r$*i$P2mt45F{Arj} z!%`2O#v?}_V5#o4gMr<_OE{qvL~AD$H=b#|fJ??=2OHshWpkac10apmSMKiIeI<6> zreum#18|`QTQJGlO+8_-*lCGq#Yw;7>#Xa?LAem*4!w~HS5=6jw1%=MaR^{eJ zGc44&3-J37)a$5*6Fj#D3mfU<2Y_Ey?zZ9zXk3++^DeuzscDmktaVaS@4Cl2P8URp@M);!J z2zdag0l<^3`ZeuC@HK#fk7p*`#YM*G@r9AA)R1e0U1_41)g_3DkZ+j9K%KvX0NwO} z8zy=%h^@jDU=$aEL4IxHpTHRg_QSl|UGZ=ge!xVNsMRi%_5D|Dti|KW$WiIhvVyBG zE7gK^C0VUW0Sm{0q9=!IVEK$Ec^c5p@v4%6xdS=R_+=t!T7$&UxWkHT0%dnEc30@k z{?eKRrsQz;v?m;eda034%T=`OneH}UkdL)JxQ~{gzMH+`$&YCld>oYU=`TK_r-WIP zrVY;23vM+TEQ!2z{fzg)7NAcHwt!2?)sz;6YXTM9`()lTC?|Ud0WBp;0Re`AIk|y_ zw02)7TwM2VUt+5L2|vJ5h%qM2$aSzawUo(dzyxoNs!^f?J;aLq5D#vA^Z0dEQd;Tn z&iDt&8zBn$$W7hJam}BKvU`R!WnBGVOCsoz9|CfNt96pcH?br|@p#Fi_*T7H)qsVZ zzHROD@ywzW+vmr^k7tdU8t)r*Iy)@!lRIx-ioiT21rX%tLhv-1XJB@XHbagS$rHZL zGY|QByU=YXk#%-(C;? z@Q6lZO8;b2OeK4nAmESCM{4}J*H6wkOHvkEsp$_C)sFEnuWC+2d!196ovWj|fZB_Q6s z!v2!#jMTJzD0=%nE^qC4iZrK^Wp32o6u}Li1Z0D^pknw#i}egfF3FQ-ZrK{~g#B!K z;PSL2G(*t^Up$@8KDE3^`2&6U=%bqc%^P%VgN&%hL#9=Fgv#w?j?=65mZM-&Q0d$G zpl1V5U#MLu77PqH-5zm~L*gmLctXvES>i+Kgu1@Hi+LJC{_MUl_8X*=*TJ~1AaYd< zGU`E-uhxtOhYKgqMuOMV!K~pr|h^ItSA@4JGi*7cgP0=g^H5Y6#5( zjQAD|>v~8cr6f-j?}xFOF^ycptGPsZBla(kMcaS~!HPkGj~o(B$;abmei5+y1y$Kv zso+|fmcVz8`R7lklz_@@Y`)k-{x&zCUqkvG#1+5$t!rDGY4^%&`$)I)p08~CBg>yA+~cvH#tS9cHclIN4|i4W9kZct6=uS#o8aD(-b9$tGLHP!+j2=g=7Bc zd8|QC@}*SWsh3dQhI49{=We zOz>dTz?N_H22`^2KM*yl`Sz^p?S-Ru0$-=`#}X~@zs8Srdar%MxBRBOa)tdHSCxrR zJ5ns>DCc8U|p_2MA`lw>@j<_QrrnL^09#FDx9taC3IYj&E?DB)ZLY2-vkw_5Zb}{ar|po^6~t+&zs-qiBUTuEbtO&MEj*gX_ef75y@0;A{7K# zaojw}^QY?R)D}HvV#GdXhvaV-I=MRo(!V@am)}NUbUgUyML?XUWF!&4UsCXE%LUJh zkizFEW(t|P$$WZj{C!akvxD`&JnOj>(0SanE`Q#qgoiqN?o8NzJqZbAO3{bXM z!u1CAHwEF|25o$|ZrGk$ zA*Vl_y5%$WC(oV^T&}`u8ls zXe2S7ll>P$b3X;|#I3$<{O783lOoUmUn?r(4{l6ddt=IQN-lED4*EYIaysk3SqGZc zTj)qbNrVC@dY1vV_ivW_H;?|BBp_u+1SFLgcYFRnB?JRm5y_V-4F1b{J>|7Wbg;@l zpMScfzh6!XZ5$!;3A=y%szvvYl|TFVw|pXk0hg=P<40$oY^tLe&;LhOpY#PU+(F!- zAYi>~Og0sPaRsS_6 zzyJZ@Mzi+oFYZ8I3d`k@5;G37F{zC<5c5n^NPL)8e{}e>vJhkw4*vLF^RBL!;Tz~D z^mA$x1lkn_)8%5v*E3nhRnuFp{VUgza3K$!|6^@VKb|ms20B>FE`-S5VxAM^_Xa&| zG)ScQR$WGb%VTM(pkG_of<^l;f*}Nm5bgh!9Ch+QW#`YV16N_Hgu}ROQ}@kKwHwBe zqmnL4t@>e+_2|tk#KT`tRboaa`oEPdj1CO-y7=rC06-lC?xd^f(HW~D_@<9#Z;<8z z2X^b>!HTyAXy_G(K)VN>!VwXe9VgcQ-^Bh`l}6jK4Rq5pcJJM}bQZ7%AmiMUIlK6k zC-{F0z{lUZ%N=5$TSuB_6s4YKc0IjspBQoT*YM9+>pvSo?=f9`<3BFzg(illv;yp& z36&Ml6Tc8-kh(b+s#rrQG(sSmb}3R-dv&gh&8B=aDy$Op+UR~=M%aEqRZ~y$2~I9Z zr>$-i-Lw2OljLp*(m#8rMbxbO>b9&JSl)h=R1!g6Za{Z;*!zU^k3~3N7<5jD9MDA`Dxgvc^bO z0eF#qPYwD=;)8VS%*OiT%BdW7@B;MB_lnK^?Hp2GX7mIQ%r zkQHg}JYpBX*Y+Yec)oJ2iMc$b1z^Oz;IT=2+WGpn#?j%y5+GA9)Ce57XpP6+8tI~A zf}hPl)J_w`I6Y4sDz(`*vtPd4(n}F8`RX!(`w28^mzUxP%abIsT1$M0 z8VCHR?R}c|@_V5E;Xs;CW>`r8WN64g;eA?NH63a)yph(*AYtk-tf$eRt_ zvUFs1^>ey#outgN{Cm*OoT zAYtAFaLB2KL8vDS;HF)#r*`>~x zH%|6Pxb*@ckuuaTt{m{+7!8h7S%cO_AVYatred;ao9d)4)lxD%*jiDQ8^P38#CPbhoTmXpLjg8%z1?lp+G+x`EZ}&TNG6{s!%YOvA z)qAH|=PlhRXu@p?xOjtMb(Tk^mx$mGDLwlLQzk$V{)dHC;{!V;zxH?3_)(|f)*aFV zi?0>sRzUF`l2DcJnkvh66@b*YhYNjKOMs&}%AZK5xM_8R%=l?s6}PR$OoaI>V#kfR zG%&9{Lr%eQd|l+du2^Qe)kwrgr4NT#pI?jTESQ;A-yyGs6J zQs0&ffSv1>Mmo$Jpy{T?p+X;?eUegnc`w;_7=D#eKQa);2`R7(L z9S^QQgc^@6}0>E1Dp;pkf-V!kA zrX$arA6rYqdyBCO`>TX6Wb+k4U?$z@CC~%g7XgUhhVyBx2-=vYV%znn!OhP4e#fVp$w25JBW@}6Hl;wj+sqRdZtgqX7ht` z*E8O?dte*eV5s~;p3152YvV@O3yKh|lRdX$=OQj8UVBaK=+G6S5Hkp>C>OLE9;0D< zjDhW~{;Ngl7h0y;qY0X$oVYh2)^M50`FNOL_>i0a(28e!>c85w2xUxe3*UH%1~FKx zcke&SxH<3~QChtJ-VI627D#DO4N|Qtb6pn}Dk1zAmVsR*Kw$mLx2MJk?DO$j*y@L9 zf65=wA5^w1Tdgnbl3^YMxvl1GfTaooh_q=gXp3FgpTh*zI+8RS$w&JQhQ;F|%WHtk z>#ju=Fo}TPgn&{9a?F7K(hrl&cP@hnG3Do6e za+=#;w5>ue1h7~G2?F*W0_F|(Rke)3wom|2>V_(J%|{*k8XJAm3rnA#dEIE+Q5o_6 zq`~Q?`VT+K{4K;F<%lo<#RE2VD}C}y35av5 z6?Q)|e7gR#@@Q1hdD$}0xb@@eM8hyhPcwuz*iq0B9TL3@%1hVCY1A5;jiR-T0T^R+ zfq8F}=*}cDWPiaSLsJMqXLy>;F|=*NoCm?qvIvx45tveM(JIiEA8%gKgED;a``^9Q z{Frd~%wJ)J0^}SxE)H}SO@KPE0uV55-*bG~_U*Fdqw7I8p{d=W1^&$obqdgo z_cuRyZ+-|U1@@7>o0Q<-tq$JvSi@^)Y6)~VTQdSVL!zBGwm_Cae*oxIS|GCxA$Zh$01|rr``YZaL{NRx zYdG=2 zp4ZAU(Xo$XQ_KJb<)0oJ1Rm;HJmojRe|afk97MpsL!OLf_1CePi5Ri;hpe7`{NoI4 zIt}@ErfHB$@lV#*lofUM)VuWCN%n6hipYih0%~tE(Sanu98vrr4gBZGfQIb2C<_yx=w_0AuGt20UY^`2kDf(=4J8%t`sOK{jBrqY%Fo7v7- zSjibB)!0_$C-uueWch4(@Vi%G?q^*5$FiQdm+2r6*Gn%CZYT%n_d=Npqx7Kup#e@m z{xN9y2w;J5Du%ni9R2X|Yp{2}X7l@5zx~+97ZI}%?>L0{ormsZ^hEia`%Xpyal5Gw zI@y^o;GeM=ZWBm8XVSlx?JC&($I1OUqvOee$10JC)P752q&^q&$8=9G(!tvQ^Y}sR z4RD~fV#48{o+B9QNgVs{hyCf8L+C;bNd6G(jMWj@sCP~`mOtQVb zmF<*=0p<~wJepqcANyjwU4_566<=A%@!DiaRp(G2n{@w0LmVU431cahp>j`~Eq0S< z4pI&foucQ0r;Nm+$QDeb{|?7z*!|8108>D? zV3>xcmBdY3nnzCC#xyiUZ>mEsrget&woC-7cruk}|FBpPP$*-GYPJ?l){KJ`4{H<*Sc0*qz4EB82{k zsTWJO<5dh(GV_4kmzIY{fhZUpu;8RIh%Y5 zP7+1nAmL6+YDa9YuBkG}f9ZQV4O@=4=7zr~&nB6MeOBKgcYNiRcHINbl3RMrX(tMi z(FrC0!%Ls~T5x4B?8V6dddMHf`e~4&oFvM8^fO6%fkyiIcn}?n80-zEPGJdn$6=ZW zDEZhZ1WyTI(S&gL3D44k@Vb^1<#Wy-`nKIZ0gTK`R7V268_NZ)g_brZ+Bt<{t!c=& zUS2>!qlc|R&x{N8Q7G?J%j8foNUv84NtN$^HJ+_*S$pSwt=wX5PO*mk!l@nzQG`vr zu9rT`FtXZ@Qo4#7_zcPFl%m|C$gQ8b$+{Ed?73Pyxm7KWe{iDbiZTC61*#i0e;EA? z)=f2HXny~h->BVsKa)ZHVMCVom8`VbQ?^Z`LvV1(T><${Ru+LpPPv^oHQv|0chQh( zJ{^z%5u+{V*>G5F9YOljnLq$C!0g#u>$n-ZM{clCp5zIDINS!82?`|}kG1)J4}YA! z6cH&d;GX#%M(V@<{2q%p8v#n~`d?1tDyC5&{cHY$wA=lc^*zRzDNhtm^1phYM=%1e zg`<7}`Na`rzcau-jCE4|8UQ5YKf5l<*>kiu1{S5}zb_#|e1&Ef80k|lACgRYnAMEAd^&9TGfDfM=>i*HA`gD&^*LT801J~zsj(3C$wS3^eN$qZVrtK2 zj^cPz1V+|0c?eSM^)qe#1s(p8Nz(1ooO4eKJ6ZU@&6Rs|{XBSU&jeH1#-gHVKc0wC z%-Dx%k>d=%2p(iXbof4T2YIPv`;_NrJ0LO#n z>FaQK%u{*$DOe@6ZGt3^A+-@yZjj7(pSfoHI^Q25?dLiudfBNZ(bKv+EQwtZsgEsv zc>NWG-Mxv-dF+XIBX{f|lRmV4raNqU@1pmZA;nqJD>wkuVEA$H1n1&1XXV?YpNC7E z{e05Lhm8F8SjEFJ;Qx=Vw+@SP{lb3@L&LFw-9lI||4K?I~jx&{;p=@>#G-BH(S!Da~h3Whkv9+KV{P*>d!GH5?!3-<3(ePb>pb;MGABdAC z0so&5lj}yKbhq3zpVCyn3651+vn~j{PPOL)}$Gz?VPLlNuqo6pGyh^`q1A3F>sr?iE1PT z8gxwtFU=*78vD-;?Hk*&qW}K%>#F}Sz*UdO_W-f0^YFi`^yKp1-@o99o$naQCf8(Em=V&?nG?aP+4gvA&UrMc1g^YZ}h~e8T_Ekf_)jJOBQH|B6fW zb@@LHXb(U7)q|V7{NJMo9)km!SA74k|NQTl|99O7Xl4Kg9REPL|GlVxy-ff6*#G{> z|7Rudj+XcF5|nSfe$Mn{_J63=29|MfTi+h)Dy zK$i-)!vC5u{`-yum~Wvi8m+*T_6JO$O(dwem#W7852iE{h^4QuKMiI!&(SUmD3Hho z$uK1UIXzxHdB1Cp&c<;*SnU-8(qg7$fcHEO&A-w*4H~(ze}ZP7|GnrfMDM>OG4TMI z@O(Yf6|IvpPJl7p$yYRDkB%6c^ajZ#d){DbISs}*&S=BL(eC^#denzDd<}y!{o??j z`|bdT4Jzn=^Lk?L*XVW6XkC)8fn~u^$hqJ86(5kaldO{av(zuQX6xZzKs^9*F}3*F zX2A}Ss5EX)1^xlXrB8QoNDDjNh=pH+tjQmf;A4`}@hJ*FewqdO5ZipknPBMyE#ZOY z6aUD4Xakrd8?j5L@$L=^FV=tvrp0&|1@-mWRQrqqnYn%?2Ow|$-U41|^20nbv2F9- z99X_rMx7(RQv*ZWqZFnTDKK6?XLyqN_qWoBzrF@>HQsYCzo)MQTgIm_v|&T&hc(eG z__lYNwyXF#{jG=1AM?J!#H)F&35L$n0jr5h<$|i1@@VN9*f>W1s<3Uqb5(3^(fq4A zI@_%is}5}Mo&gy+6@~ULIp}d8P}MTWTl99XffO%lt=m-U%x%v2iK<(FdQs zg*xEMI&Yi@Kc4F&=bA)H;6^L{Et;tOl=nIfTmxnjhb3)HBc0Z#z|jJos)1P?{;>QS z?q~H_lOOf8+{}|r`{}?0v@;aTVEMN-v-a#>+%M5caFb)pJPEG{T9fTo{WfR)obFqP zsNw;$?gk?Z=)~Fao-0t>@_Lnd1RzcEKiAPtA#k^qa-+)uwYb1A8f`dV(PJ#~T0ND? zp^jlmX^fhCK!rRuCSVOX(BlKj?B9DcD*6iu32J@ayLk0SH~{#vDk#571HG#mJQtU7 zOX>W!LdGja4A?6NAm9oD*0G5ApJ)5%F6llgl1RZ@3s_4rVuQZmA0nI-{aCG^CuP(yLRI&a&GU(`e zK!%ezh$FjTPnI1sd}?`T77W;(fpP64un;j~oSW;Q4VTExEB$BmVh}JaA8!a;i4``i z5G9TF`(Iv8T(gr5ht)s{u`uG}3!LcZr zFHA!aU!e!XWo^Sz0J1aL)T0ykk9$u|29-Rus_e@i8iTa@D7H9#%rW<(GE zyT~jg43>WV_A+A&&kT;4`S3v4P+s7Bps^>5gS_h`}F8_qq4~@!Tp=JdFw-r9bgt16uTje^wRWn2-8}N& zAsA|HeDJ;GKge z`^#>uejX7t+tF#qRW2(1JY~_h;{gi5KGOV;;hppZi^ee5U4|uc`uOLgxQe z-wF6--~Owy{<6u4`+TRg;KTBq#~@YE^siahgOP)o=#h$tosXZRK_MVF%+_q1^}R!@ zg*7+O=#5E#U%_dumAbtHcjHY~iUfmje*el>q=_}!Fv$37FHBFyzgE^0!7Xp*k1PtR zzXTe~R;-(>$T7ps9YW&8Lhf_Hu`Iy=hv(=sU4Z*maNtqpVBMKcH8f20X@gW(V>x%rBH zfm2$&qzJ8$h_16OTATdDhZ~OeLeYM=$iMVa#uN|@AEC{{B{w$x>~hkuS@@JRJgSX9 zzev}##MM{;4%|2VUV9^XZ{~N__s<5hgU*m;ZjV)Ni5=-M?=nDpD`K2Q6vTV;>l~fi z#U1*!Brqu6Jkd>i8E-IQ!3l}(}v`%~1v(FMP8`cE>9EuMA2w|4`90gyWXl|L|D|ed6 zYtr9n8KdH>&8rJMjhfnpfn`qu24+)L=B=hU)JNvy+UacxVvwy&tqB1J_<^v#r&D!d z-dX}Mb=yf{Y}y|(fV)rs{PY6n*ZFO{TJotm>%;FYmhD>Sy~~lIjBH7STHmszT_PI} z)rd<1!f;?cxiV~K@4jv5k^jc7II%Cjl(J0XY`OF{6?yiNvFfbkhfkQE;U!quLuzh~ zxHSNLg9ba6z#y6WC;0j}xXi6J=LtMd^^WyR0qd425zby+&)AMnPdOZ0yhkH?fHH+? zTN}WU+8TrU<}dk%K~jP&IL{|Vc$Iv7JZMl{@OmIsahPks*rq3i)4Xm!(5+01+&|7C zpw4@OctLw|*?6&Oq6!pngZklf_dp5Xf?-A6Twk8@ z3CwG^GEm}j?oCzf=Jz+(e@iXskPK=mNngEVptzqHX@XSHf{-8` z8l4EJ@m=oMP6~%h;ZO3gl+$=;!A^j~rkF?0R~0M2@ZtS# z{@5kK%3HLASI2Urlv-PYy8dyYhs+!g;>A^beN=;&P?W#r!|>A}3|!{jxF!7$rF(-~ zcksY3^xe!A#iYsqgt!0ZGH-gyk$N$kd@~OhYiw*|d1|q_u(;;vQc5?yHlT zz%qFG)TQ$m#qb9+e2%-me>7RQ|6tVq_#Ncy2;4$?)}f-(X-q@-sE>3f6oh8FE2sXJ z0(_D<(2|{jDt>qhs0-6aK)0QL8Ih^ZZT5~g{uYsoj?VWxj#C-Lj_5iIlxi+$&?Nx8 zT~Z1&HnaE8v=N7L@w|%|Det#!u3#4B=6YhLM!++w(lqIFoOJ0I_KWka?ZO2TE?mh8bLal#iC<|MPkoo->EWseU4MGQ~&zSU`{X>dHP0$ z_k{!G{qx!ruW8GO-gF(5LlIi^|E^M2C>nWOXuc45sL}4>4;l>N*kkcuAKxI~UYE*B zXDBEE*dldPARClzQ=s76BYTT3j$xzfhj+WsrL30CB|sQ28$RrB=D%7e#fI6r6ykzs z!kMiy&cN{9D&QqG!qj9+J_69Euv5Pq^fLKB9r8uLgV(iF1a(k@*Y@O~(5w^xb$JM& zr6!4uIOS|!^|haERX{2G3Z$Y^);*Cp5dIef`^fP)04ExyJ}VYY>10TsDLDhyX^An% zhfSWy=QF+DD1=hxOx?%uQuccQnii; z-{6=)`?#$VybTRB*mr3ERwW}L4~l%v@XI9lcNdxS$a|S$u`cw>NeJrF>2hs%^)pAz zt2}qn0aALJ_bzfC&Dr>;I4Y+ht4_<-yV00{Gk6yi8-40^(}0hSF20>%It7$zI%{*8 zxtNM-xXYQuTljhwz+l>tDMZM06v#3l;JpI6yDf;?C}rK_{r(u1a|hht+VU8r5`R8G zkJ37X&VQe^O0iO#>&!d6nMsO2pwJC(6P^MeuKxhk-j;opqN*oV&7ccV7oXCSJkp;9 zG=lo#o+WP7)h>Q_hrf9-B#q!8o}8b_z-2tIQAL^lQdvNA7X0PDxzhdY8;vkGHQt| zVT=VDc_c{wnf^L_KgV|&iv(t%y2DSn^VT!kGN?@9X?92<5kazIZaV-FREJ{n8=*hT zyMC!hqJ&9CLq%Q8*HK6t2Te4f_(M~CXZ4!OOSfn}c$BiZB=+p+7`}(s>aVa!d1gB1 zdO!Q1Y*7GF(~;f3M^rS3YL+X(3=7(JRYo$Fj}aF3Q!1lNB%yc zO^AImVl!~Ms5b#qrq(G7PZ+!CLeiEOe!%@en!4Y+k~(h0B4+t=zPxvjyTz^@|FJHQ zxuSpA85O=IpqGx?hu5YS^ECZo;xN10NmqD`XY;I=Z#2&(m*3L2Xv((VKQigwJPQlL z*%p3w0>Nsp=dY{)v5c%o$5j$0xecI;)APqzoAA+{{*Y7_`=hfu_T|}5*_FH&)8w9F zmJwP0jw06DDPbRPl~Fnmm>yJ z8k2>;MtIvn)aVD5PbrYvpbIuloV&x)*DV$j+I|kvTci1*#HxoI!|)^n@%I1$l*Az< z#VClZ*(6x@N|XK;9nr}^#H=a6Ic)|C<*O41jk=?+CegGe>N>tX$Dn;b5ql#&C+DYE ztd1q~xAl7RUL9+oc||kRd+3@`>r*7N`iddl98t>Erg`(1Ea}~ECHIdLnCIktQv&96 z#k*?82Gr<`OGX=8+RdTaKj`r{vg^7#v`a~0HQTHwV|%(^93`f1#WFzWQf0oOX(N;U zG(OdpqNkh0l;kqXjSK}zs6aIGN9`jBQ6q;NX({Veelqch1<0t$Go3*HOkyTPAj7vZ zEo@k*+aT>~TBzqz6_1K?h1eQ?lD%-&y7t}2Zm)XZ8(|C78eArIszrxnIF?bS{>jCa zuSuX^YwVk1mCCd?F&3VPmJG z4NuUXt+`Pq`n2YQ+5GZD^SP)YwXyzt-I~~GzoQ=ZW~Whnt#=5Sfyjs=O>0t-3&5xI4bo&9xnLJsJ?WPJWw> z`>KZJV9q1`{zA<(J5?Y1ZJrc(7c2D2=B*d#&5NXF)89E-8ar9vgI5d0PnsDj+VYjp zfGLVbFph&Q!9?B_CgQ>@T0?ht>vP2h<*0kalO-%|IrDo1t>>2KOP!A9sSU8=E3#u} zoy?3TM$mv6mSc@-VZ^WFFEwi}CT3XJ@v5HPiG`gF>6t)>BRuuy=;}HJa_xUq+iZ!8 zWFkVl%M*M+*ouxJcgC2Vx?whjULpO+F}#~LRu2rCnvv%gix23HfQyD}jtE zZL8#N)|W~0+b~nhB%XQ%f2y?dy{Qd(%Z$4$76h>c*lD4D5u-iah-s?P@aDep3semM z5D$6W+c)nVX?0hcaV2U*H7sf4cZ<%*b!Ok#wb6ASYzy=Qf_y$#g0cOqq8-1HzZXo( zvd+#&v)J`0koUXH^KFX-ywbZ{^$DRRU%NlAuW_<@}N{E;#2WfpEQ zYCdoAvA+vA#V)o$I5G;eKYiU!wZdDi`cg`V@+?!2BC^k5`h)RjU8mLfs8JP=FtQqZ zZ!LAxRVst4ff`Jg^o`LF=)HBk*A!U#2pi>GZPrl(Wz_LX7m~buj(vQrF zAJ~axODb7VR$5+3HWYiHqFnM(KJ0Sci#&dOdOcjxVIZmWu`|Qy3yav72Wlv2RR9x$ z>Fy<^DkOMEaO@;t-fPP5t5GcDnRDr$M5V>1PiD}e8rgfkBlEmZ;ui~(u1_kV^4o|x z85^}4TDf+kqf85bjLSAd2$Z>(M|+!{jXR^A$)}E2vt7l&!XFZ*B0zN@nXHMf^R&fp z>OOfd2Bt~n{H$dJ*-VFrqP5h1v(wqSnd5b`6BX16CZ6}!)Ohn((!iL>QjjxHIdOlg z{b~YLV1%r7D<*QOVfhS*PSzgoKIJ?bxrfx+ehAqv>8s!PWAS=-DjU}`iWP2!0mH|i!PlRW*DYMo z=&Af6htFxr%3Sh8AM@Ckj{Q#w$Y7Vby2`Q#4U3edK1W>xbjwav~S(=4@?@3QOJ+S>e8r5h^{YusoRN-CtgWPLzQD-dl z>|sdjN1qb&b+0@T&wBvetd0{C1q;!SQe}O74E#mo6^hoYg$gP~y$oj@@eg@BXX>0C z%e9yXIodA{$_jNkwiw>&zw#)(oEfBCugbW+MUFfTzw?aMxOTJr4oMp0k=C$<;*%zJ zZI6Td!gC{s3m^$beV9hf)hMIX4#I8YvRN-Bo;UB#UfGu_Ylx$E01O2KYNwRT<8gln znm`WCX5zn`5sxa7N#WE1_noRMY)*hHEXwGqW!TRT?o-`#oZbqz9nagw=mM3c!J!2_Izae)&oL%i1_({4A9m%XsU88QW^d{|!jx+h_+^eX4-LxZVC z4Ldzl8_07$KTSmGAl!~*hM!aemx*FQb(0`IPRvpIC>R5_D{h2QIDSQ{_|@En{B!7V{l#g**$`6j`&giohskB70~O^A{fc1r^23XzprtUfjF^>V zEz4|iA0f`9Z4aXLE)&m5R|+UKiw0BgpK}I1ldv-9GhEeGd_t-7v%s$Bykio=-+DJS zgAY64=U_hmQ<$TVQ>WcaiAI~~bu!mi#-yOmZOTI3w*hH58rNyK$42H^4Z#qSCGNgQ z)rEA#H1WI9^0blD`M6jm8_Jsk7SXeNK68ma=H2-jgZY>tGe7geX@L-IW1IgLNu<$E zwpOJAq2%vQHf+E1b#GHU{J{RU2N;2>w~wJ_wN~mhS!27NNB!}*@4R)tog4aWm9D_@ zveoghCJ4S&$aQ&jUj^+l3nmQSpE_<^OEo=v$tT&~md1c)wY#3%fYWF}<>K!^bfgqC zo%Z^3r4>iEME7K*Hvoy7&OkLWem6oUyI?^byqu}GMsSq>%#1W=&Y^KN{vDEDtd#sA{8gd}tc}g@yEzIfy zBRsZLg$pG4%38iWJYB|$jtC^-QeVEnN@H5ujZ$myU!7zXCfqn;-u{*?=l{t%Fsy4O zb&m4SPQBkvuA(Y$tB6ii)BB%Q+vaOMBEqXML`2M^8acI~aKqpg=@Yl10g6&le-b-Y6I%(tD|o^FjRkfvLxueF2;cy(bEn6VG!-RmOpXhNZAh zrAAH5l92O+RXx9&xOjuLeU6aa)vm4BFGq7($25dC!h6-x==11=g6CNjDNfDP{6Ldw zHQ`aihAnJNp;}HnyM@v&ytU}A=fyC;A?fQt*BAz?z0$KM4p<0v4hQni?LOTkSePt-JA7{ZmFU~dC@-V?7bcfGM!)?LB$Ch7g*&W zpXO+m5}^h?Wn3r2j1x(0|LUZ@f|&D@m;S|D^)cE4!6{dqVteBv6~p19Tac*S2ep!K zrRqDTH4Yzgf~LY_i^n3l10FL^oWpJ3lLhgxAG8-Fo4U}0Q{CT5;u2`^no<$-f8nlH z)1h_fneAI}n(LXvhi#OF>n#uu6VJ3hgC=o01DBb4u1w@rn_ScW>G&Rgn8JM*RI?1T zAFIUMAS;Y|sbT*x=Y0=ums=VWO@&-5ba1r<2wmc+=r_*Yp!TzmQK3Eo?Rq>c9J^y( zurr(@57m2M#I+Q!`cMjzbEqO1 z?V&MRlW+SIx=Ph|BjC{lv#1%y_IS zO5Axwfo<$^w|&>YQpS^35nCXPOxAO*jdVx$$INBTZqqg2`2ymk*mJv9(qB-|?oCX5K@`AaBH=-zZ8o>3bx+O|@LB&1#kObLxVtVcUI*RT$xyi`y`EsPxsd z-141XaS6-6^@`%Ei}Ob}MUnuGs(4=kU4d3MPcg5)f24Mew=Z?zen*GtPSq5u_orTX@>x}M zT>AuJ^Nm5r{Ik2{TMa+QrOE3sv_vGI201?)U2f^djP!oZF7Z}#B6{mV{)(Kk-mLkG zfigY)43J&Kd@s%6OSsI)%?U+BV}w@1QvTGo{F{mEQfVU}4~hcCxj+x>Xiq1;QPn#l z5uQ(%j2$26@K}c62wt-t5uV4Kcq?%u8Z&T>Ixkc_zJDawLKgTdpJu9F{i$y^_LMQn z-0-#yu$m#X3H zcT@(9|5RMm`81v1Sh)P)ULnzb6K-_#wN%DERiO>NT7PNiA~SIJrXS znLj-pptgU^snqxS=P>Hc)5!_l$6*4N$Ey3=T#T*6;%BtwVb#y93z|r{b=safAs9?7 z3CV|8a^=N`NQ!;lJ20ou5mFkL1~f6GIP_{8zlyliY^`hw*C{CQyklVL_#ZeabgNw} z{kgRCLBpx})5uVJAH(U|3IB>g^-+iD-AM;E<|d`WHPZQk{`K89V_g%}<_k4ZdqhD+ z?equTCZF1(tN_;eX0K00Y&I%B7S#b{rqzyQrY+k{kkrklGDbp8*0ru$C1>}8*+cGh z=(&c@5)N~6sg78=`LSnWwRosXB=H;~0HnookXA?yzb&>`t@pkiac1+7jz0A#zE5kF z-XU$IH&%oj=kg|reA4EvXK&N;IU59Raa6w&7|xo*)v@iZS(1f+ z+ZGBjJzi)H$lOW^y(1WQH&O~_*P6kL%{hMz4WJsR(a92T=r3bwe}eBo%!*rYP=-pZ}?K0!{DD$6=UMn8LPH@ zeY7>vzvzXq|3X0)(nFxUq!Ss3?=|00KonY(i?wExA&mU?fLuRZ;E3|G+*Q+D=Geod zjtJ`F5#_0r1Np~%*Z{mHT&FL(B1bHmqXh0UL)QcV6jve|< zTymPen*`?kM#9`bJQL5F@uL@J3R$3q!wKH3t9!6g%SKIm^@c_N@+&a6|G2qVvFVfk z_hD1s;-m67yN$e`g-4sigXAk5Q!Yedam_)y36r9%TeRrgzped#xm5MBR6m?OzR_Ow=0hnn7a?Y<+WyDcF! z&5ny`Ie$@!mSgVdT&Urz`Ql5&#SauCEmUeR5PuEEWP_&vfvLuwzrjApEUN8$yY#Wl zq)^{T@x1wWlgvEHM+!jt9hiKdF_XcmrLlyVXEx!8)a*>=K3h>!I&>sU?tCLp5_Wd# z^xrH%VCEBh^d13OtC~GLTP#UiNnj87q^UG=+#S=>4wO6N7C=@o9SL`ryhs=`$x~#4 zpjXjY;YrjaS?44FsppEteEBf9iEP&Umj84Q68AWKc^hd`=Spfzhbgrl+Of|C7S!%7 zax?CnQ9C*_UY?oETAe?gZG$?eTb-Lc+W0eCUtf##h=DECdFC!m&NP}HOLd!2d(@;E z?sC}!U1+jXrN1DqCRORNJ?ETx^?0Jvv~C*Yg_`G1bt!F|WlD1wgu0%kC5LP9PJZ*p ztqS$Dr6-;Xc~;T2E9~a^N_$GNWch<>`K(*qLO%MxQ=By!?qsaX5w>!%wc_idkOnIL z_Y=Gc93v`m_3|-$kbdsJgMXiHlv(>LD2WB1dWEPf7n-*$r6|*Kq&0ive}B%4qsXLN zqqtF~{5wbg4C zQs21wPrk1Q&doQ%KBmaW?F+kf+LImHeSdDsxl{wf&8o z)w1tzV35WHaXOZ@w;okN`G3ZQs7+!PDvXa$))e|3I#A^si6Y10PK)W~>X7*UWdtg11Mz#Zcw#xJ~hTFQaU8+PRgRa(2?|+*q@`^#VoX1ZH1Scccd%GwpZzn_G zRp6Ar>ocApH2d)Vg^V=@;aro_eYv$^gZv%#4PMni0Wxf}>cMRk`Kav^I&(8+ct9Cc zar{MO%y5Wh{gu?XQrO+Z-@ZK0Cm(Z+vChys>n)76lXbSJco+=U%gt7ECRgm~NZRN} zkRNP8dKQ^S*Seqg4q}?T$5-6;S1dQB`${*c0b)%5N)rq#MIvuakMshpdWoEtRf`0g zz%Ut0E!z`@GFcmJ`MOa#Q1DjOmXB}kH=Y7BU99p`n@hhDn-lCgg~b&FuW_&*m&lQp zBh49<>=vK1F5XMQ`J)%F2;i{-9h9v~!9EUwZ@VYfO!O8|B0DuB;&O5g zLHm9F;%ta)eAP6m*D+VqAGQ&lM}v>%ktu^e6`T#sJeMg3OHKlN!d;dasMoYH|AH#X z+^_vyTkIppcezXKqL?`#iTh0jiy+Pc9*4ADMD4mRQt^+pZAw&lwUr?{0FU z-Q+~aSVo-3H%Y<&BF6rc>(#~Sk0e{%cs3D!rXGS)(K=19WXpv0iRXpG9?pu>h~d|` zAI7I}yG-l$OP5j)$`;fKFP*Fd3_m^96)krMwjzLfT=3Z=SaFb*rsdn+bu&F`I9z#< z>~eanD^!4nvxb(bQ9GoSY!w|LgU%qgek=Id zB-e}WWSm?PcZ6&jB!ZP5hkSl>+=86N?n5*~MH;^tweC$Z9j38|G*)C?YN)2i^NvYi z$(2E*ru0Oms`dSxbv{LfBePB&BS~Y{AjNU5$g6eFG`l!-jC%UIjEn$0dg$xuQFNct zK)x-}rD-M7^Mjq4kh!(A(Y$*z-^y=nqZgfOQl8|myU^z8j%iKHGbm+SeGsr^o24sE%4SLJmg*|TvcR}jUNxbEsLu-)576f&bpvH^Z z&n!(J5udESn`Ic32z=@~`3xuGAw;`adeq;4kPE)t)N8kA|DjTXt189^Dfkra{i;{w zyGr-t#3zg|m#@+f#41xn2Vs8gNkxxSs2HQTP4v@3ikG8VqntjDdy%CO?+VX*!c;mh z7+U@?2`Iul5y;1ay&wpLEGcbVvK%9tOMZ1U5}mi@Jt#Qk8}^KYls}v81n@VrK)Zio zVi!$ew4n>}r{H8${OYhwy*yK6Pc)bW6Mtyb`_wVBvi^@Bs)?SQpp08awDiu<7j_4c zWqx@sv6s(I_LoT4qxf17j*1YV%ML3z<%j=B{9urE#M>YWwk&W2#?_7#>tUi5<44j# zE%5V(mADFBrG5F0?z6|=vXex=t+{JmXJQQ(6gPVdZ|Dly15$pO?&JPg#`od5&ptLVuO3H8vK#Rcq`HLr zMgI*MI1D?SSuD|rdCWdh6H}HVt#0~xwEk6-*yuS2sUY;4U6VO(+%TSWz*?Phw0D!H zfq%Z}O(T$UFS9fcoA$-B(Kq^c_upmFIUn?;>9PIcg^4ohoBZuZu>BHV<(R~9< zM}q6ahLEZyq*xa~C9DT2VxzZsKEGgjBG033ggDDV*n*u13kg$dDDi>20=r=|s-dqu z$qh2tvO}hL-gR-lVD$>YhpUrMNm9_X6OoMvX-k_TV~w1)qlw(3@6^X^5V@+zkG`xg! zp#T;vX#iy#v^6bII^38c-5Hw5S5l@n*Ul7lOjQV$h!FU(i)gWYz-T&S=j&2r``Z%oltwRP4wM=@LDS7SgsR2PcDk^1Xs=L%jSq zG`3NHGV9h?g`HwmR$4wt{q`~)>@6pPd^Y$VUu&@N*os{|G0CB5%0h#+Oe~JlISJ1S zQjG_1v+i%d$mcxni>~{%N#^t;EvNnux0LNpRtFZ=YGBdZ==Fp=FNa05#dh1dG11HCgGmt&!x-mt=oa38coth=@6F+66 zSs1qf%IYRRgd=Q7Y@1_@og>vE$gln9yS5t}M3YO^V9{5R?zWef;BWkw_YGDlPtw{8 zw~~2N88AxkcT~1l{M2mkS2j~*$DYE%G`aXoc;G}lr|b3BjX4-Ms(H#pUz%VMUFOea z@^qq1uv{35;4O@8^OhB76Wqgli8u#R)#Ib$Ilv&f^i>*>hi>SMnLFvGyMe35DEBj- z+SbOo0>UbI*&V=PWXyv!$4PReD#E${wn^?O3ZiFPfK(l91*B8PI-5g%jGR~g06@-| z;K9)MZO5%82Yi5;!s%xIi?h)f;^_DvC0|fbo7C9pq&Mx>Z~9iw@$HrY&Gw~#QOf8f zg9$^-mW!u@iUyKdGs_OW6)|_rd}rM|PpeB>abmn;Zbjfaih^p&24Ym6`v8HkCjfO@ zzK6tGY!@l#!zqDby_s&(!4*`XT*`=6O8uF&$7f5o+oeL1ylAM$Aq#76xB zEWFkw)2!Rq`-T~@{X;@k(w4NE%EqlW_xNckL&jciVo-Di1gH3> z4WE*5tB4%KiJ1Ke7F`*FdQ>X1maH%Rag0hvPedBo z39me}q9l-fp8k#x;m{TLmcroNwRfDZz28{%EOq3JFBJ!pi?uBS@kydM*3f`>bpU?_!g~k3ag1DyOo6Y z573HjCzAHF?QmU&cL35rddZV07QGh3qx=uhTcy|HhNN|0r^GcqyfA#hT5js8iHZx5 z@^6**zby^?B;#2u53_q%w+h@z^xqjbS)s1C zIj2e`JSAyErDje-o(!>4EKFuqID8A`n;Dl)Dj)ZKj3PNW-kMOWXCtIcvkoLQZ@|YY z5X&G)-8NUuja~VJ&Rf0rJF5W znN@1c0xH9dSWOkWS26Nr8AWilDOSZxzMx54S-RWEP0(gYhNWRQhR>D*Zb8nyZf=|9Q8-AcaO4fTdyJd7UK{yne2+9 zm4z*F;jLYWSkss=i&Cue-%OcpW)R`$T8=_{hT1ztNJe_%)EDE$j*if-jaqrdHdZZq zkrOHhj2?ZkJ0ltYroS#akk`QNrwa4?F=t|-)~U*c&Emn4oCBdq32^U>j(|CvZ*Lz6d2Q)$n4q+x4frOp zXfMx>a5VLT3#9i8uxS}b<1b;FVk$!+%4b!3Xk!e`kv7ZU+K>3|&7HPUmx2a8A$y~z zbW~cq3+{t3K8Ia)*Xb;y#gC0vSuxPB>oJtJhjY-YcfW;#fB9w}XTYYu&t6O|)ZE!^ z`+0;__iWBLQ`#kj>@-+s`VrT~Al9G$M?|oL;%4zv!Jbf+Kii>^RfZ+S2jbt@%)|+= zk{<<+YJ}my6Po&%?MD=vn+lqXkD@4B`J-rIuZ<;Hx`rJ2mSgv*zUOex=UCH??Xd-_eAQbUzP{iCSfChL6 zBN)(QYPhaPzTIqX#hj8p#FOxSgTDVIXR9mXB7Ge#r3Uxe86QfwHqp;(uYq8}deDQ< zw-2d$okdZ&A6?mrEZds^?X!>XPxCMai72VLe83KvBVDX`D7EIppPW#vB2+q zT0~f|c#MR@bX$b3Hn|XhKhke})AI!gQt@&42TI=^PshGH#nO&`V$sa!Wq>UeY3d+< zd@ix!C)Hl?6y1FP=7YytWJd;UbG$=cQF!!HIfCe*|CLa~BafJ@h2)c z^+@J1DA0JB3QPu(*80_G1$sSs%T~U-Tj#bb^3G=@DM^*@qNUG+H=yztGdi%~8A;j$ z_^beQVHGcbsua_wH~{s7?71fO1gC1+LkKh3-(Bg=z>5+x^=H}&A133)MxzyHCk=8? z&p#CHf)a0H`T3`JAbbuo(TVj6tgOH)p&oH9@m)ocBL$W<>k~_HVO)81OP)BY>}9w{ zISnX0E~g)~mz7?*Qj;#q(wQFH&XeUnuF>b7FVDM>g4Wh!&p*4QmU2veZwxG#-t9|Z znA>Xv0-327U?3`7$f|16&$QEcF01YgBi>P+zvu?&ebpR*QHKeYh5AjOj{JYIZnw*BA9bJN&#qvV11Ki{6!H?zfi0 zWYY%OaRYWU_CB@o1Jmyhsr)zdq|C@T8+u0+POI9^9M1bKu9B*8jn08TP>J!7&u)YU zotxEaicQR#TJs(S55DZLAsBD=am^IwJ}u|j;To0A(lYal)Z|Io06}h_z&mVg9FsMy z5LK$4ah!QZ>Fr$M)_U6;c=<@7jG>+XMAorr-4fI8My8r=Bz1H4I*w+x@v_qn!lFl| zbBDzVCmo^()m7R3_@mh;F7>>F#|UPwq9=K-KAdu2w^dG?iI%t$BFCMrU#0 z?AihLC&Abs6q#Oxn$tJg?r3}ZG?-L_gk-<3HyRmrpY?AVcGsajEZP2BWpx17PA9(1 zkRCVcAQ99Zxv=a>pk-Rg@nme8(Y}YEL#Hb1DL5K6k$x7C))u$+C0>UBbs`@paMraQ z%C-o0K!FV&0af-LYFRe#lUyDX`9`RV=}I-!eufMydWDA(Nv7G&*3gu?+kChL&d>B1 zvGE*q3(52~^&0Hi!s!y+tnz#2e>1&vbPOZdQwbhZi;3FX+b}U%Mc8WLB+^#yB5`uD zE8^|)lnD>;&|`BE206FEQ+=PeW0I|q!Iw75MIwVrDG*FYf2OlX6ktI=}O#@l}dmx_`NmeD8j- zLfU=ard|vd!eXNFd}eo+a**^`ym;ZR#3%;YPKh{^n)GQ#5uo`m`vqdK!V6L{FoU{B z;b92zv$2T5H9QBgejBP8^!A#0dr+jRK-*?$3My7j$|^j%n}mGQAxo!5Q)ld!3E0ed zxm|!(zS1u;-Z0E{mX11s4PnJbYyg*8=%y%e$eb;e3?m+l?u?Y8*bwwdfv9`jjP1?1 zR)rS}DGQUtc&Q!n6J`hZ6Uf8&^%tunAy5iQ8(ROUwbYburM`;B()BO?BuS*Tf+Yyo z8(lUq**~g>=4Y=D46&n;ZDgryP%4x60WBo->Vv+ zGx5;AHiOQZblxVcPpS-5_pE6MCRE-LV*?hGmZANi=qXRM>A>=+IExfHLmH>B=PS^w| z3$N12Nju-bv)MeC0R3}q;?qauvROhz!V`P!gUkX8%FOTg?p(%=@12hb#a=tO?h8*s zmD(b}N|+;XA`q~!qYLVZl>t}VPNdLhF5eEai++9!p&zWmCdt^+HzwYxH^YgkNLrIr znukDFbN5qFDM(xODpL^5enD>&M~nrcj;(v1o6wBV$+CSBwSM*)6e;3qr`hcOYoQ1B z?hh9tIJ%OEiNrL%GkcO{Cl?4rc|bCGt-^)(6A9&TuyvoYnkhZpjwm6PKe(GntIeW? zO=}F_zS}~4X9nwWGCeJ{Z4aS9(@H0cLj!t2pSFrT2{4aSxu?yFQBF7_Qjl!~$x>vS z)9|ND8~@He7wPTD3h`-oWPcz`4WBpvEkC-m+ixCR$+<@A8JN|-v8TEs@5d;`@vTu} zVQ;sp&svnW>Y(b3A!<0n?xw2Z!%UZqK+Z5?EwR_TAijFvsxF4#`fWiIdJ`SRwijRA zg-)W3lC~4OS#zz;uRMiE+0$f@_8Jfso=*H*RnI8#W!1VEZ7#91ZU(^Y`e{pl`V2-` zPZO?lY?Z9vbx@iXgc~Vriukhj$pK&VV>?TP?C{C!yHxw#-byW%@ffBHGdB#&e?WGrb-DGBR$ji65{+@i1q^GrcYGO=-a{6%1kwjh{&lWvj zt5}`J0q5}?Srss88x$^#*QKP`u0^P!kAdeUZsf%**>gz%>a&B;K{IB!5rIN!jS8qe z`CPR@qhyP46kkuGX}(|dI=hMTWbZVknCE_pAv+gLpgRk)g9XP;K@5WYO@}k{{NccN zT74p#9)D!BTnd7eVn3r!M>mw=t&u~lDVmw|M~_r?X==#{LOthbX>OfC(t94}J$nZ=n==#Zu}y>P?NSRt!P}gsOR0}8ScNM=Z(x<%XR+UnVPxJp zgZC>F*W;8>CJ=PeP(o@5d8#(0ySPpkd!fv=Ku*{#bTsE9r;jrGFItt_hpk7-jksTE zn0>j|s`Eq)!})n?8^c+KZ0r)>AC6~7#?k8mEbJ6?|Cpuz=CRx;G0QjES@>Zsp_f^B zEbQN;@z$|i&&67waOQp2D-g~s>g(8|6r7ACArQk9wN6-8g6XDAfYCj{FReC2enK3N z1W5PfB&}$ALKBu06zX6p+xK=8--A=cZb`klB!eTK@c<_gP-1P?U?#$zOzdA`kp_q6=epYRAtiIbsbqELHZ3^ zujIQ`U6EKwq1^?;KKdhUP{8J6XK)`S{%w8HyScv<=F()_la|_1G%g+HaQtqLa1Xw$ z4JEv@t|XAUjUl{qm3$!a&^vV0%OpE)eu^%1G<<*4+`jP3WG^dd6y-3AB7v)!o-&(; zPQe5E-DPcTNIwPco~c@MXvPfh=`r@G8Np-SspVJiZp@Glb(=4G3QLS7t)39%fp?q@O%6Q`IWs0U*G zMaJG89{}wz_llS{pBE@9WdztK%62~!d&!zyr115p%cl9^bIA&{^Usqk&l_st)^W!G zvhpDQ`wr;!;krc-_M-VY-TkOmI*{QRyz>siS*NvnbYm-ixgej2vG$~B>LCY64MniH z-eag5mOB4{G&YR<27>oM<_`G~$As6)2jn7yUyoN0_%R8U?`UMER>+r9YNnyx(2-8xzgr}(U$-y@fV1g z0d0>4=6k-v`)lj|Q)Pmq9d?fsa~Pqxy6u{xYs9Wj`FHBn*Mzzsru5G->CGOHGg&bq zvueJuUh1=$4p?h{5Y6pIZO&=fqm532sXFHcIKv0FFgvmAKSYwfI)_1nVb4D)a@{jO;Dh z3E3;h-epwC-em90I5tK0I*yf{y~*DEuQ%1_^S$r;cmMClLp@F>=Y6j0dR^D+dd=rE zbC*rXJc)HEFSoPY(tGhzEN@vrFl(+%>(6fAT3O`vvjOMHlL{otvOf3>B-@H9q)2MteDZtV9#K(3oXSv8!FCmXjm5aOpn zgjl;xT(!_55@7?V9Wr&uBR)NKCl6%yi9ptYI_QimnLHD&z1yj}1%7QAGm1K;y4PK$ z3S8S#;mhGHyZd?-y**44k1ddPtu1{2P^AD_QPuwQv|@9%o9ci* zzma@(Vc=n=vW3Ay(iMn;!Nn(1PEwNRS_|+VBDvHMqhf{0?hRt(Xt@f#ooSXDS~(aV$4u!<$Mi=)l@o(tkIo-9$vq<~*2ho?x89 z`-XrLrjazqz^C{sOqTmSy=;XlTu!kkH>~gKEIva`y+l(dN4`P=o=-Z*Grp1r4Lf7M zn#26~uX=>ytB0UuY5cM8!nt7Q)oQIi|R8>Nxh zuT(x_b$ox?t=J~tFJw9Tu(xO2dCYI~O2|tUr<4>i*;2`F6%Y2QV<%7dMqzh+)(<}VeO4Y zSodxX*)@b?Mv?Z!G6@4GxADj1EBwSNIau%Iwj_9bBR<^$wX+2Mpd*pf1(eL210)q4 z`4qJ$OKFdZVHrVD$rcr(h8TG^qWYmt4|g6LV_G#miy5%rNrdp~gTW)vc96Yveaa}>Yk8hQJrnj1T=K5aj+&0HMOeeeU z?XsjWn%jh;=r+kK)=`t;axr}qUc(s`8qv#(Rw|jdeM)+&=2DVJW8D)M_^H!+$@n$I zt(VbkI+wpo)RAxVL@ypaMVF-x3g~L2+OH5v;zqSuyq>0u(02C!XCK&PwV>!)`3rO%p$T2E^?_XjaF-R{(1q&yJ{U5XEN9Qzd4m4%_H<^n zT(e}a%tMkV8d5}PY2v3gxU`iuSJ%lN!t(gm9{#? zKk3kR<2}6-1rI>@eoF`bpBsvU&a&Go73LzggD#9_WqMoy8c8}R%SV^etp<`h-+ z{d>zmK4D+1r^P5kk%XCsmRKtLREwq0Ow?dMZ#$N9X+0f~r)+{8aPM8`HiHZ?s>FM* zdyF)iBsGrTH@-f)D^@%WklWh4h5a?Kj10`b$Rsw%i1YG|(Ze(|r_gxzj&Tutl}(DQ z!TqIul?%AAHy@TldL*>x(MwBNNv>*m4DU<~rhMj|zr7!7D7RmG5v6`m&&!Q@HGEN5=Wa?DEOJwTj)Wx&~ zD{5h^_vflvgOywo zPKY$Vd20{Zf1biP5H1*slC8`gebSvO5Y>)klipo0r`9p~iv!!{?`f|=SC3O@9mH_^ zi4GTS8J6x8o6H^+TlEh2BlAXFo*|{N%ApS2vL8WjeSgRgj;}a)W{<81k()p8C9}Fd z;oKg%glyCROx>(y3vlD7&u4KsR}ZDUUz6+T798h)R4G4})8ae>8FTtOh1Qc#dY5S- zPMEW{pasjXKn=ypoxE?JuC>$n2~lFyoC5)RX<^)r-nL{OGNobXA|7HC-g{yG0HhFa zU0{?8zsE-`3iGL|j0G1B=2xvTGbnMQeW;^G@}|KsA3NM!lXD10(v{x>F>1r-&698Q zEY92q;1fl=(_B1+5-Ts+6^ZXX|#OQsi;do8U9j`oR*q4KXnrv3XaZ0x9I*C6M zlvFwe+@o2Ec@Jhgo807nxvE+{Au8d zv_r6jDFsqLPaE*Bj4a-FkK=6R!y%0qn0+NIlql!)N{go+_+#(APfiCkBf$!$M{7E@ z1=`X}%RieLd+qF(tGl6di*bX3tx?!>J^7{MwGtF)kD5T3j3tSbdF;5ToWIc(6{OIV z_-jrjo>$l34av&7W#WSuIh=f3zI@+%%WOXKdj-Bt9Kga|@k4q0*`m%Jeq8wY+2m$( z!oKTmOwHYW6gX@`@H8#%NXduazC$GHmr>=lGwbJMo0m|X#>JnnRCz4J!$K5;7N%0T2&sba71 zCqrjL6~OVE9@3)lbT0#M>4FD(6cYe;P;$E;J3>%+N-^7Q+27t?%{+cc70iMH3RpEI z9*X(Gu7-MVUq_Nl_$e%Y81W^?)Yt8oD&4B6?r7t@zrlUFv{ zvB(mC`YkGw#@jkLe(n zZhJ^m5g$GAm5V1HMng(Y8Cy-OW$tgOZ7~k$9*%ABT;t($_a8+ z5uZP22z&Aqf?qVvg^YwFj?U0Q8YLC}d-E{-`_|N(W-G5$+v+0%iQa%JFzb5GAiU;B>=H%Bbgzkae zSlm$#-wY?6-^d)@UMBreQju!8RnY#77^$j~M@_4oMY|t2SOdZ?@OHMUw6tjFf_2hb zzYmM=5s~P4RQ!NU6Afz8LtRK$Fw7m}*KBS+N>4j+dL*4ZRPqPU(o5i`#6)1kFaDDF z-R$C(oDDhc*=d?RZ(Fqw#dmA$ZfNd&41tdpdbu|b7KG8O`?G1Ys^?3SZmP{~%(iP! zPQ^cTi%hS-#fIrLs%=M=F7CM-N$M5JsyU2umFxw?;PeQbef#AsMf-Y8h9AHvGyq+n z>}6|6N)Yo40sS!}C-gKV#Jzngvq(+LrQXGvxL73a1rl|mm~bYoAYg~$26Yt>CyV(4 zA~~aReae(BkLfn5j@3^X+UcivaWI@y&KOSeCme!$ET3HCPXu13bvhZw`@p2_*5_1i zV#e9`2iA_{l`T!SOO|iK+GMNTPt12&%MR6KN{0oU+B%O18GcY&$-?d59;s&7RR*Z= z$7}9f1=$|A+BdIk?n8wWtG=X`5|a1r0O-U^XOfaD=ehvGFy&0te5}bj9c%AEzPudm zFm`?SXrH~tCEeuA=))GpZ)8ZX*EGT&#dy}v)S1>uOrF-U=ao`Q#CJZu>m9~kuwt#U z`w}5OYR*x7UrlP>f&O`W{+N<_?n75GIpSH=)LF*F>p8pfCM7PPHPBGbol2n5!>^zu z7}L4dNJi#eYFmQY`>DGB7>v7VZ5Q)__~|Q&8lKNxm)y##9hlv{w^Df%*)|bOhk$de=y$yMTEsUodd&7HO-Ev>D4V} z(&=O^onsD8mphRQXF^Pmb%o-% zih+&K8fvqpOSvvzp|1BGyR{_38Mi;d+R$mkIiS2z+l{$EuZE82&qx~~29cLecvsB* zunb{Rva)wBlX4|DMw-PS&o*T?RY-lVgiOjd?lTc^Auw(JYDPvLR1RC4%Jk7`Ln3FIy~yxLI@&Wv1oG{OVQZ85(TfE(7%}8`N?qv+I@Ku5#0cI=7yO zW#LK6n*1f!NUBBqa3@i&P*LQ~WMF{Vb`H~fESp+lYu`m$vYKa7DFf9j0)JuwC7|=; zVn=iad8#Qtv=hsjXL4wpOnoM3k=0qf`0D6%eeeMLu@Xzkc(q?A$$eyVCL7z6%+ZCu z@$$xM5`$AStBjO+5Hua$8H_{KdO`?dm5~d>jT#n1V~dg7Xom##Wd0i z!qxAgzKnXUh2;mMD*_g)}R*x@xoII`8brtgwRWgrZzmMqgnVVJkz z;}_^Y_}FkY=7xjeslXJ0mGM?@DbGl#c9lkMUS-@SuncQVO=D`^YIOD5lxNpAUFyu_ zA2@TuZlmtd3UfnyIQ=o$Mo34w61?-}g5<-A>-FMSX!c?G4Xszrtg`&ytK(l+myTIV zKcI~GwJtp9f>0B%d6)MyEj8@6?~S653|RIY2tF)Q^Y$C$#_cz3r`Bq}S}XR;5z`gK zw{mo@3-_u{icxc-{{8|laXKoIc=5d8w!i8@5;Z#v=C(WyUz+e83W&3W^RfqSQCBYP zfS_Ttu?2jheweREySM|c87&I@-{pyJxw{&IhSUaKI<@$Wo-TqR4Ci#@&6~{Yzwb*NGrAll0_ueBV zrt)P&eYYd3|LSUV6yl-J+?z^}+R5lOhYc=g(5ClX);K4iz2F6szzb%hS=+wFm#4NT zTCG&@a|g>tb9Nj5b3^dA-OhA1C+(-Bi^P#b?$?j(>e1AM>-lgfjQLJ78j`#QdRjN% zUj5Nl7EoBuVl?^v{eaE>ivr4Q36*HM3iY`k`m32{mQo3?Q#TC)rsXSm;X$p5!ItU8 zr{2AKv|8$zY6WZgN`Foi6=*yF@ThP7qPy7^A{0T$asZ?dDm03&<*r63_jBN0@)AS4 z;8_=be^X-ZlE0z31&lBf$<$L8rK_KKI%|Bi{ZoJCi^#{K^)vT`HzzFVwGXR<+%^UU zcV{QvEZT70fGTPpzQv#%v}B}9KGa>yn^WiJCgX7g-vidrDhB9-PE;d|Nc_z1r1}pW z_ZAJ6NZjp$svi!nKwGcGp&0!jeB|s@r^8D(9hY8dxpJcQ;mxH#%p;skD2w=0N@fc) zF>R4B0n2wMuxZ(d+8J4fF-L9RUL#j`39F;yLj4v01{eOt>1`snl{ojyGQK?9rC9a|0>ya7*63MkZOo<+Qu!K~+eFUAVMe zEUQf)7()5K;K{M3d91DVmj6=WOILF&XOT-O+^(u;rmL7{QLnX6KG?ja7IIJ5Zxkn} zO1)k?=NG$W$=w1lza9$EWK9M&3@fAC+^CXDro0b z%FyPFCHG2mr?%9IqI%>V=6E+-^Z9DPB=?Cg>FTn7L2;T6bxhZMNdC9WpkCy?|GWido2#>jUn&vU?&BO9)6Xw$P%cgl{!yS!{7N=&@tj=w+IXG&ctTbn9 zh8|JzVL>)Y4~7CR8c7tWU<+)oqBV`P`*wYN;Z-X|Ld~QsXiAe^8+sbV(HJ4h5UWTt z-w~q^AgRAB&<9AdW}4-%!d@&4>`YxEs-E`rP5>4Heei}V!M!=QE0 zNw>gkSLk;R8r6?;-3hVan7ur*-+selw%34t#-v+G90Uw((8uMF#?plL@{6a1W>Kr zEvw9=ZB<LTQCJ94vml}1`S)UU8Pj&P0K!(5c33<5R6rgTw}no;rLPaOw)$k_eQaG zTj%Qr^r6=xSDDKXnRo7yp)&c zaQVy<%k!zA8Meajl&#vjmFrR9;4+&ruG&l?O!yPIaL zAz6h(sk&u*1H&!j4x8WjNaJQ2?0AZT21dRMp7v&N&-dG~X%~M2xr9d{h1a5Z)@Uc& z_ zoxiB6;7q3?m^K|uliT+N)S_xImPv_Xe=@hoqrR@liznM`*xx>%;o2i}DY6l<1+A9LG;(#2c8JXGZwKKG#jMl55HTt&>;p<|ei$ZD`- zjc>2*cfO?dUpLY&5yFVCcuIwwUmXfGz_Ky@u3R0$%B_>_NE$Uz{G?>(i@L{;#_9Q? zwV=*I?!A)*F-spNwmeM3Wo`4K#?K(m2>*^J{R0#}X~R#_^gBOYx&&e};`E4D4cIw- zQ!V#Dgm2~OFKy+@;h!)FD%Jt%U!LiK`zza)-k*q=V+Z4-R753U(1hO3nN ziM$8L!Q;CJdd)xP{r2GOIP25bPbS+)&D(IBhx=$)X0!BHn{%y7%6ol|9XmUBE!I)w z(1*+1(1#t|(0Rw+6^o6~)~WmN49M|qIvUo7c)w?(Y4u_`w;DMqAk#9)PRGo&$Z(#d zU9-YeYpma{RzY{{e7l;e@*NvNkR zA5%cs7(h?y?*d}X5fEb0Aqz~oeIedWv|)>yh(>+PE&hV~N4RA}1wmg1EUSlpdF&0L zpVf4q(jM&9z)wBmkB=xcCt870Gh7ygmE~>y(uQ}vb#PWc`o?dbcVxAPJkTxEoOhus zQ_pmHIuyGXPz*|UEr)S44(mS_fY`Z7?x@X|yw^var$n!YRv87;w)RBpHDJrJYU8mY z#%#&FK63=g))lvbV}?07>pB6t8ji`P0ir9*yd{$7;y9t9=2co~nX&REh%+GjVhg`w z=9HD{-8LOhI(R#W8!PXPoOu>K6;AIRwe^TV#80uSJF52lK$)UiB(ODPv)x_52|e_g zk>nA)`{{YwvbAM_8iqrZqKPX-rde>6scU_89fw@zb_SC9ZtO(V;?mA!h-+7YKxjI` z@Yc%o8@ALJ#!N)ej(I?(P{;PtT3N_a_LEtw_E~%>w)0N!O6t?0>SZ0{TZ-B_4>aGJ znwr4{hU(?XA2fFzTI;|URLYTz7R*TjeBksvwu%8ggoIZiU- zESh9#l+!PfxyNHC-NHLx70TC*Mtoro>i~C)C4}NQwVIDoOs*2 zc!wm{9J?(&Z)h{aMNyOQ)Qr9G$`%yL7$-=$1jcgDh2~FGR*G4{v67Hu~vAjs1wo4iJ8&zXAbmR27xk|b84ahH-PA_K^xOehK zA(`d7h+oU>gL3Af+iF^R01>+cqLBE=J4aLnN~cx<;di!DJpj!&f+_|d0dQf}`nN`- zltZ8_#pLo;oDzs!97k~f1t=WdTIp=t>o^n*X@_VLbh`j;0SRW_ z&;dXV9tO-ACQunGL{PzP&~g)k5MBWpr|kRFpt{V6P{%Qu92B#{2X$OxmfXRWZQ2pW zq_i^%Vmbpr0xBmEWwXz9!dFsq7i2)39A1%Tc@`|>J5e)L-DlR!beXrLRK|@2PjWh4 zcW)mZRH!ACA8qNI&u!_i8aX7+u6@xZGOO%%w)xy?f2z)2ZTUr)#LQNl|7>BO-_@)CMd{!&au}3_{(7rxeab!%bZaYk?!K{L3yUU;VgLDm_m=h z<1HVpcE#WGLg;C|!=V|xaeWawjNuPa3fdRk6qFop1|3z&g}rA;lMk+|2X)wrlkOf% zYj#*t^T09c&E~=^2(w-cZvr71y5mQd-^kTSe0axvHi1>3NSsm3qLR2N$=ndZkT1Yy z9;1_9&@OS7mDK)lykIs7yfpX;!Nwv4AZM|@yJE+NizW9%vRR(rOlF|-S(d$Pf2n+1 zYPDTw6zd6~ZeGF`1q}hu;vU+h=*~EUP_RsaMzCIord3Tu+i<=%f3N5kh`P)9h>=5# zz(H31IjYRh(OCiUMJ7c2%MHPkdTs)?;~}Uc3E=H-?5Rvi`607E0YZ;wzJ0D?$?Z_Q zRHN^3CQQCMq!UmUzW}@)a#rf+8pD z0Cmle-3bqmx_9*Y2@u}?QXK#tTm?1RxhH^Eh4?k@IrW7OT1($0)La}=4Z6J)x96`~ z$zR0CKT_0cA+pmHNDGP#m&u07U7ZzZEuZ093~U^Gw8^fQ{oHJ%OrAF5RIc+jr%{#} z=EbrwoltrlPd2L%FAJV*_qq#w;kLi87~Hne`!-od{_6ug?OT6c)Y&>Sg~LC8ByT3h3SPHX7PHp^(=Grk5_hJ zT(mfhGVYJoJB2c&Mj|{2FibM>=we#dalgRJO5dJW*koETQp7R=ggSSDKg4_^5gJ z3(0p`pW&o-;iySLrb)`m0O2v~V31zHF$SQy!-`m;$zEf_T zS!wTIW8cmcx1_w}28Y;_9(-ohGq4JddA`6d}Ls0jkzBTjmN?^2?9njWQ73|Os4 zNy)WcHyU?ATZKW}Gdh_Q3O-ntYz#-E!8VOP-RhI5NjboB;C8aeaH_(TbXNd&ZpE40 zG_DxX*v*W~msrJ+{*E`EP{}YQS!e&Y5&yK0cy$J};>1U`PG~#cN$b@H-sHpg^~m*W zxwq;rcQh`qwHI_uY#cw>vaggCnY)JFN_s-8W!JAdF8m5KS8p>6FVG4QSGHt10Ka3` zx0pj*k)r0qp%5hcUR4a{oi>T9y^D1IgG_xmb0(4VV z^KAA@zNzSAr-{?FtN>H_e9R#pI{9%XeLaW zIlh$*5atdT^QgDp`pyKxwVmHhHuUHj>-53+0v7PUVW0a@fsd(j+9j6gI+oeel!IxR z?T9clje@_w%@=WBq^{SlygI+@lrqV7m)b)`>p8PFvq1KPjY&2^&_k(p6-Ioj@5$Dn z{|gxY6qgC1`}+@X>?>*VzOl#}<1*i!luH%;^rfu2Vs)D$C%RmH!PPyx9-vbOVp$os zAF(u3(r7gn+W<^cMgDA+Euf=iu~ZHq#VZurEg-%D!X;AwD#>He?XuiZFV@5fz^cn2 z4A6ns*JH1p0To|!Kgd31*_(7$Z9i0+%>=@_J^?BQ?j0B2E-W^=69Q;@nn?$?7kisw zp&toWRJuUxrDbOP>ksktG(_ty)=-nTY}FF5b@Phbm@}??wjjSzD$PH~VUUf-Y1+pK zpxkm=%jW>I$kugGq0q6n3eZk67fUEtm(*gJi8n4h_^_J`)<5*%yM{*3^7w08a>?~D zdt13ezP4a;Qm2#FYAvL|FbSz`%4X``F-*an;$Pm4N!g73oZ0ZcSv~jNH&a7{8Y}D= z7EW5Ll5ZSn>flm4G2xD-WMm`oKdA7Q>j~2pe^@CEF;|TpV{*otIm*w{b?~Q%*I*}H zRv}2(89+D%%-!OXEC5ja@IEE!19z|{s*GasSfR6B^tN*y8wJNI)pDJ^WWd!T_yTA% zoGV&u51nL{Ov zQc*o5+P+WI@sD~8qm$czQC$)etTv8Ei1TJcLR|0>WeZewq)Xme?vWZxv ziB1tPEPY;>wUAM%N?_yk4+c90$f3)y>!1SzvMOIlwt)Wai`iZiVUEL)$>IQuTLiZg z#2GzAu%aR;nXpi#K-N5#(97^6U&}K-hv;S4{j4;CEepjst+$)I1s7Vv{t~%3zlb01 ziRe$rWI|M9eC9BaP>RC+lD78589g&DIRDP4ENeZa9xVYV2P?4N(D9qxzG0IY_Rb~Y zdkSoPeG2cIn$x#cBz=RH6I;hJcX-qLZJN;AYyza(zDF1-?bbK%oW-WH(IDO8Ay2Z+ zSNOg$PaFCxWqZ-g*3ZA1tj%mYGGqq=fYoja$P$nSfyUk+0L9vkUOBUx(8cXu`7&zD zO|}DIwYaX{zU?3I)_HejQFk`!eHg*_aN!LA=9IDsi}}Te;qz3?|1rpvwyDLNX0JD7rvP2<@D7ORWeq}}_p_^~`N2?sxDdJVvJPvyk zt35!B%>8kP3x`(U+OJ`z)#^Hcmv~out}|}l7Cmyj0m`R>g^l;L_p{*MFw{JVe#-$D zt7^gn_mnZL-sRRj`PvY#xu}>b(KTI;1lxTNOi(g&ba@XhCx6-;nJ+NZ`1JM~ z(tu7LTvjmCc)4zfv4k=eG&{>oP;^pPr*7h5Ii&j5d@EN)zZ*jkv-IF<)@QbPO}DxG zMbW))US&~tJTQ<5r{=p&`&Q2hCZDL=at0g|reSwbB0)0GB8Ypgo^LWf1VG4NnrL{` zt91IYWv_!~rz<&{77CioZ`(F~aZ;D`v2Cxzh*T?nLQz?Tk7#e$^wY-`wZ-osRWsx6 zZGlT+>QKFsv1O6fHM~mna_2H*C}Bky-}R`hLm@R)rKpW}tTkt+{nPD?2G=SBnB^aI z@E{CTzCjHcp29;=);WM;6_^&! zt(1C;NcHORMs8Xw=XCbESqZW?Q#vJPsr57ZtqFAFZxEgyRr{U~->eIcC(PdS*5EWIwnUkM9hA3jOf z2Aqh`>zR^VtSTr~K^ac*H&z?7*RkcJux9xl*Y}}%i z3~a811E2+D7!ZrJku3S;^%PDsxV_m*dj zccg}TD_W+hHiy0Af&2dCRi`gfFp4n2y5KVqAlY&%UC0WvuJ*fNgym%Nq8oVLA1SnM zpgA3aJD|64AHK~!X8!(mq^$+BcaG_OUHFoMc8;=LF7`9eGZGFVV~O$Y{Gx23%^>O={~?HbOeBK@_-BJz9GZ^ z-4K?#dA1o<$LR7_)ZYQZxnM2rQyNd22Pm2xOg~j>)4F`BuqIVV=C=zHkdMMjjEfeC zb-?9h53Veu+r(ss%x~{q1fiUv4Ki|Uma$gRUMcV13qLf;iDLDLf2k>x_%crZ2-!M6 zFzwQ6G;mTSpBEPfD5+kCvgvx5$GPtmS#0({g|~*^FrQ`@DhaH0o!~y6dc^)W8!%i@ z`y%&adF$}bs+qL?k_zG@k3l{H7+P{rYgR^>DMa4qacvBcu&n}%X|Eur5(G6;C6z5Z zA642dzXH5EJT)H`eGA&k=3>n>01U6v;tb<=GT~WtlLY~Kg5GEK3d1Qb(MBa^gO-Xf z(A6ORNn-%{Slq>4Kbi_Jc71%#mki}eS{Bk*d#;XrP}4Ow6R?TO<2qGj2%1-?*fGq- z=}+goKJ@LkF_Brld~bJzU89-{wo;(j$O|(nb|BBKdIp+H5#Na4sK>;v`4FF zw@2S^1k6>xiVrv!?+cc#3AxU}h!fLc#M-r|-$N?{ZX^g!HvsyyrK>toMLmS;Bfg0> zMo2^RUyJeS^LBC+LQ4 zc7h7YSSgxj5DHqAZ&x>rP+g%s+xIgml9_y596>o{TX6=cgf?2C`tn|!Lx{TR$hN{2 z^ez*JxdG-$L03TEQ#z2R>Ee(f?T16I)B!c4j)1}BgbLqw5UnTIT-RSb|KygJW)gs{wQmlHQ znyhSl3t%UYeUXgj@8fPp9H+8vC7SQx0^&~qaiD?X^^y(|eDGLgQ`{-3K^WKq0_V2C zC9h2yL@=+2$R>K|0!PR43)G+ma)6kOZizADcPU*sDH>E;D|g8I!P7B5_qttRrR+<@n?lcn@mbK-_`|ufa43|P23!nHa*!M z$*$y9Wd5oXv*dD3l7?A+G=0?5QQIri%|Y@va;DCv{MmE%-##ty3w24w=IP55A2OH@ zbUOy&iS_kG!uzogjO3i}UG#l;3O~j)&QIbM(Pp{up0~H1Gxq>n%bMLb;I0Q@%*4|_DAdpgiqpjp7fzHV3GS+$* zQ#Jt)Fd1)6%R2c^xi{Zh#XN<7Wa^;&LSLMM0VkXHqC41kYDL5Dz&(|DD!`KO;O%uB zGxI%6j)RyA3jJqri}tqMasN@MNB>MYQ!Y?^@*y=@nnJthB8}`vA zA0KwuEZDD>zn_;JppuWQDHRjBlYf5vU87ufXT7uF96q)Q^e~4WC3ALy@Cv-&Ij`8_mz`fN*aT&_9G_X7l$rRNB1A~yPw>_@S5G+Un6 zNT%=2hlhI;1sCv(I|n>_a%l{OJSAgN$*+>DKi7g6z}npIGs+j6fALWVwD{gNfoV!K zCt)|`cw^YI=+*W;z1p&#t58|%jOC1u{s4d^#gPL81r8$M&X)~7=E{&_R+~kH~kpI1y~BIUuWejKwI^4;^*?hs3}tWI#Uh~F?<)yhkAHofl+_vMKewCslr zA+z(qbiMW{|Hks`Z_no-2o@~Q44Ighz#Y7&MP>;slwA-J8@c0ucdCkY8w+w_?&CCd z72OUf0EM%@4vEwvzWes26@~AcdWfJvQ6M@006@Q>CKYro-*bI?AIA{X`8!xtDkYrH z9mwjY*Ap}ZHG&SogkXI_J~g8#o)A2tKuw_oT}hfCbY=lUn(iN)vTjd56KJrZoLjRN zKwG2&xG<9MG|o;>rX4wyD9NdYmk#h6*bdiN1VKRD;E!MV+H?ZtS&x40AKM20l@5AQ-{CF3_i}k$ZeEIOQGuokO zIi1ZWW2#(>RhEJokw!z-F)I^2sLMyaqp*Z_F>1v9`Yk+$AdV&PW8Z6~k;$b2zK5*Y zl+Z>r?nE=N?v1UhQ6hE0?e4WW9UieAVKeC6)A)WJJenmXHzjA&{s++ddh0cN zpC%CBsOCT_2Ch@%?4%#Am@2O7r1Fj0kL+c*?OkP6o&>;dyHbCho%5sj*VPA~jD2rV zS`uyj^zq##YNZ{i1EjIFy5nzd9E?>t>^b$xrz=s9_(5UHBAezPm=hjnZVfNc^-0&B z#z6!=gR`%{T_N1Bg>oQ5I7`-dFHbitEC7I!`vKNjq-m8$%2!jF`>0~)!CY$6+tej^WS%Pj5J~6;SmA2mfPP6)?9RC;5O^5jLqxICWeAcccm`Jh z$5C@e^KEEvanK{Q4t)nWN+K1T&Q`V;fZ$5070~Srtd-Gqiz$jGF$;_OzZl6kG)On> zSw>2we+HNwMa{%!-e>pi1;z?_pPBEG^V@GvOQ*jMbo#J*b(-WMTlKH{Ms8I%NWhS? zQAZ_8fq@9Ui-%c&-{&A4g}9A0CA&fWxoCZy2J5K%19Lk4{a!R~{bGaJ`MMDiY$%Un zAPpSOjFP8kjGe0DG2+a2{xGjd5zo4BrI9_!n1{5>|9Y@?D)Tb zOC@@K`lG{sznMgj%2A&EKDZ5hKtm8E@W1@`#Z!{DF&8lZhbJao!43W<8=@;d0=L~K z=*?8yFU;}Z{QHZhPpLYx^*-il=ORDfCPJf6KL~eb{=KrsB&d3V*jr}$W2z?~{>=ED zFfTqvq?ep`RRD#Lb*z0q^*-;>CBR`hv4wg!pw(g^U*P^D(v7YY@JKS?g z0bylPdfm(P<%PS~l&%eUJ$`|#OcYNg1P4_dwXzhfEX~ci-g|YGcisN32Y5jeEsQ9A zv)2E0ESDebsU^%T6*SSL?-<_DH`47o(j7eHC}-L<(|$F?UE5e*P@}!s;RAw1H_lGK$_q20aPPL%%c+a$iG+Y1o=ov3x2!L4N zb*_gf@#w9C+xf*BS0|>v1ZApQFU~xG;d-IpNwS0%D=8l1UKB^>W{2KKI-PtxqOWM& zvu%&NS$}WK9lEaqZLU&6dhT>=xL%Q>!ur2u;-y4&6UGW-hZQP0(m#6pXI-wM%qh+( zuaVEGO@&6vCUK+lupVK?I>Ic5yDUj}br2Ifjq~(J|61otT*r+Hrdn!S7TeGA;Tu=b z3om(XV=+ox2r@QWxOG&HPrTJN!ujT3*$~JHn-Q}fUq}8rpTRwpS-3E&M!T_>t`w^; z?b|pF;kJU}#Yl3ufnS6SBR}qY?3c6sJyVUiFL20Dr@Ctuqcz=9I@rA$trv+6Po)vl zYIq7V(8l~gLq(qYP$%cl8i0@P&?S`y9O9`QVWFHKza&>oW7gCi_dRgH8XU^{khUWP zCxjcUl;wcnYUx6|L3a(A*F8UuOpY>w!O9pjo~czm6nsluBHXCo#-S%h-$&tSp&0oX zHM2pf(u+Bt&*>71VgH9qe1w&R5pUVVwf=b`KdRoTfuNyIo;FLrDJFDcnyvJr9ubxr zMq23OH=XE-6r5yytjRi8RTpX|@BJlP23tm3CRYQVNckS@KCC$Mp?IL=@2eKP{pTal+u5d&u8EZmq`OK6 zFDbR)_p8}zD&VMOl98_Xz4Z64ql7=5lbchRL#i_~HsE_=2fVoQATitj_aNR0N1#Qs z$MD1m#XQaZob{%ODoOCKz7hS3_=adiv?4ma|6KN>NzSMpQ5|s|i5;o^gO<4IB%%~3 z#G^APO!O5qO12}o&8(!PV_LA?=hLpGFAo)f<#wU?2~j&jIwBrB8Q>VQu}00a@AB$h zrnzMi{SC*raX0l48m>Yu+V;%s6VHPXr_h5?r?7)CrxLACy4_6wXlquVOMFC?M0~`R z#C#-`8q&mxP1N9nIcVEjcMyjd_k=j)IdnO!I6OFl;I#}rw%=vx{=@>_8ColMPYCaQ zvRL(gQ1!i8`sAp($bNlQ=*M@;SAAcMxPWGZ#_ENn`Wo-JzB)l_Yhdl)GTKU}K_dUd zQ67cn`J@z{{k>{6XYpwis}G;-Ze096I<#}YDdf=nIVwOy-UBD2B}L`WC36J>Y}`xX z&py!ss-S(;B5wYZH1{K+5$WQng>Q&gvIMl8(TQj;WNs)S%qLFlzUXZ5 zdwg_BU7|_Z&=9gEmIW_>#G$WlLXq#h+%K0NVZRG|xX6R};BmRb$?>Hgjscs2l7XecM}vG?R;Evv zR$gF8Ycvov75Y|eV=by5VlVI{O?bLrPCq4mQL8_$f2vPmAZVat;BN4VmK7*9V>>j? z7Z=0CqxbyioA2Azq@U7|+@9Q4tjx7bcdeJhB6o2g1{KxYIPsLxjMWwR z8v2&YbX;%u@+-CR^6D{1HTL&JzZdKfJN(${pRpE&WQ-KA5@Zzm-2be{_DIAz()}{s zDJkMueRC`G6npU4D*E7~Q_w+>Q}98dc?8O%@;~R>6QhI!b-{AMdg1i~Y{4GsWj5f| zn1w~WxbAUsQZOMbd4e9j9=#WR77dy`G>2~GPYwtRqw{cGQY!lA5$}ZcP}?9I@xT25 zXb$Hm|9ao69@37{{;w~Thz0{n;JHHkN6Y>%7Esa<<{w4!TRlQr=eP0K`2y0f69sp@BOs~|1JB!b2ny% zhOSY|6sY`r-=ANkba;s9|0?nSX(+F#!C_DjW)%5zzwx64>i+9Ne<$%j?T6SfF!9*1 z+BH_xSyAC`=07X{e^|3S3iN1g!#^`*YV{vw{A-*4F)9Iw(WC1B;r(~Qi}(oq55mg$ zz)V-hA3XW5ll&@!^Q{mG8ljxGDF~Fy(8FPN$Jxw%8 zpZ-rDJRgMyF}SKrirHlvEQrxKul?)T{@vPMNQNYaTYvxguNOe(c5Y9INBbh;hySs@ z|E$TIy)+Vrwv}%(Iwgc z``>?Gr^^e=GyZc7cA!r?qpH~c{u1MBsDF*me?|%BaIvfZb5Hnuri*Mr953 zZ2CXyvOj{jf)O75P1cJ+CGvkHiqQpD({y%o20x%ZDa{#Q%#XL}*|b$N!!0 zzhC@&?&{#vt#1_mj0OB!x`c4||H1VKzbPvZ)S+y*mIHJMyk0XT&Hw*u|G)c%(FD2% z77NsFsJWo#{L5_pXQ2NNB@PWyKFQ>h0{HF*b%*~!>4J+joaGi%U|{DGyAIUWuY>!Blo+w zmru~QNfB1UbzY%o*!Sk|@7+JQNT2bW4Ad%c{rl{bgj{kaJtTD|J0x>XfC5UXkP!&k zaR{tBFM3^my)OMVeaLu}Gyl$1cDKs+!u*PAu#)c1I`dt+uo`Di{$(}Zl@?3#rqn>^ z!9JdKKkCG?GI(J8)5v}Vd*a7CJ>`|RKyL2_AgU2=1Bck&?Dxdmvy2$hTTkw0nTpe*!r+<$WCj-hH|Jao7NI(bAte2^KqE6xq8dQt#z6UL=~NE+FdwioDrv#icl>wULI)AiTV?c67Q@pp+t zV=nA#$X?b!?ah$=f{9Q60~Ex??KV}$ou4n^X*^@k@t$r(FJf>3=LGu^jvG#moEfo3 zdk>Ho3M4p2zllq>6tI9DBsb7rTorkaBsrf=`(#On} z+Z(cbe|%1Y$DX`41(yl-{y(<i!i(Xv-X5nedlXt?sim^1-Xo|?h^SeSd_=%T|$2dK6xRANUC5Ku@AIzrf|7u5KvL z#!p@k?~S|lYu+0N{09ODf(I4J-!>eK`Z;HJj5YqH0VHmGu_hn7S7~P> z$wDCi->q4xj4>i$v^=i;RTeCx3@4={&A(saA|@RjOCGkof8nCPGx&+Yq_E)ct3FB0 z*>bCE^Y0FfhFI)R6NkxaJTcJ9boYp;w#Q|(-+_$1^zhermN%g6YI3VW-&ewiB}4i@ zEZ_o2akg49i7J6M{K1;(p_=)J3ef92O{O71;$1Z?hd=p;YTGK0;Q`6JBHeTzC*>f4 zX-f7My%k^6L6U~(^39x&fGHVI054)CQv+{*Gef|^cO&Wm3n%bfyME2aBI!AcGXs1e zS4ghwr&%E5yWZ>L(=T!VoKg8g&LF3Yz~tVn5s`H3ti{RkPKc)s+>4bL^1zZ_77rYLbCBYLL5X zPEH;@iK^o{9QP@LDdl83{!B6K0Mwv6HobPE-jZYK;@JF3juJH0fa$WL+*L9Wo2y0zx5&jU0fxchg5A*-M>@+$42R(Uh zJc@mnA`>H8YyVXI=gb8-T@l^ND5C6lh1~z{`Zq{=SXyU#Q8(!7fe?9GpgA8DF;*l5wp0E%vqHzL-WL%3 z@7_Jr;CXKYlSEt=(=uPfR{4v5o|>>+sFjv;+?#gJNECvQmWgyiRBl|syVtzCZ% zz90Lg)SW};Cb4sqa!}$5k91ETd@^O9p0M$ z{EO+yaFGrRt&p1kc{i-326^-f^T>LN4{8pys!LG;;O6wZT2~3wZP=-({XbwoC%{DI z({$2|V;sLsF%OGjB`FfZA`Jl}eHnXov9IB`nr7?Y*qjQOHp3d1*+mzr>x+Fc(=42b zhd_RGY?7*KGO9Rh-YeZ3vJO33_xz%R}YFzpPWIMwn5kY3t+0ArZV#< zso?-lk*|<$L#AD3B5Gl~gdrrTcvJqyOeA@bK>q@Wu>pro<8*eoY0Ht}7D6G2Ar4~o z1I%WYX1$R-6Z%7$l7y!~Lukv@0?xgqqjBIfy0_xmh>BoT&5{bZFc>p(&5(ZY)spn}g@?cNMiXf0ff_n9r@Pb_3o=5#!mtc-(mAhO=g?({-Egb zHXsyT&Ek#=!3RC_V%k}BiJ=Fa@vgA9dlZGWyE`_ZNuV0=)HKLmhoUd5@gWa^!D9=Q z$G**@Kr$`iwFh*^(QjT~qAxu(PdEuKT=NSlpWnl6KyPNL-Vs5FKZ!tTXMY7Qk?zx1 z;Qc$`IpEFY{AJO}_P;T-ih~$n%(|;%Q#JRt-<7_^)u2Wr?lO0oKV+lX6qyQAoPCac zu6>7!+lr!mufVkVsy(IPV(&WeC{gXqQ}~OwY2Ce}Y>P2Y5r6oWH)sTy^b5)9~&d(L_|0)W9 zB<27wLuHgQf(Ab5GUQ%K<6a-#(Lwlk>_ZZQOmq-@>NEFfY2H}Wf>t;Z58H702Rj!$ zxjAMb!zn(Is6`KM&kjnzVEMtD;6rkTc`|2}F+oyTr%Bf)fvogl19+igkpfFy2^-+` zt^|De7;Vp!xBS6{Wvvlc#Bqn>$1@(=xykC~U@)P*ezAZkbF1veiA1&m{g2DV3+anp z`6VPl1V1Ey0g5O8rFQ>O*jg)2R8Z>7t)&M9FQu+dEM0LzEl3odquH@F5ENKTRcM9K z_4z57N&@uY%_jk1)T_o85(F<{gr~M#pclfV_v}>-FNQ2~#7J@TY);td&rTcsM&X0~ zxS-Kkg}x}wI`z-*T7MWAaG#7m0U-Dw+{l3t&BP5}oGOLKLf%Z0umA9FV>T|TM~@P( zId4e5!5K}I$!ew!rCoixIwAfd$A)?M4ptI_9KYgQV4`d4j(@QFw&OTHSoX@MkuSd^ zeDHYKDN%tE_q%VnMd*8Vv>!dhA}y{4$6#DR_pHsfVXI01k8F0QxAkr(I)>M}LaE_l6Qz1B&l zaiB;CUhI}4XKXY0Oa9V3nDUT7md?an6p8&ZFjledw(qyia5(q`3ot0j9WJ{HFO$SU z1lk!173t#H!GXf~J*3@Z*W|gK+|6cDxB)gHjn!sx#ce}Vm)Zqv*Ix@{H+dmY^MA^L z(;pIHKO+iT%05HOuTQT{H`>#hi8E0^aB-l>o?A!7V8hS*oZ#Yi@^wjmGC4uz?p){% z!qbay{LKq#0#3~FN08v~owtp-=HxGcnqvz5cU#xfFK>PHS$i*962e3_m-x%JAn(my zX7+9;SbNfIZ$E1W(iAZ@tPc7>V@P`9@8RrFXJ9dkNTpd^Mms`YfMx@TqDC%$?@g*_ z^VfqVRbxgG!D>M2y66Deo&O#M-*pwdMsiy(GvV{*w|FgRJr2nXZ|)L0{BHD@K=~J3 z8B=nke$axkPW?da^}qXlusB&loR+QU;1t->6&9~|FYTMV@S4OYKE@1fFV$B*!JtX` zJE8V-v_9+0=u_^XQw1cVn%X}a)NS%O$B36N6V%oY$4pZ5Qws?g{4IF+V1{kU%K4cR zQ(VhG*`Cmd-mCxh(QBRACA2#sq4i`Ls6Yh>ti(2=bBaQa=^BU3ab!&zYs`s*SqZ`8 zzXJyMZ#nN$(asuvb7t9DAXK7>z(Lo#5Xz^4#EckbK49haaGsT%Zh1QTPf~rRm0^X=4g)m#@xD21wv6A{RT$dY%{E~v4!#4l^vK~#r%Thx_3 z=tvPNxdPSMJO~BIyWL`cr!qDAmxMtE(oS7#ULcrAn@UMo+GS$(h| zNP5!*^tic%!`?`}4IG2IcR3-hC|ZJWNX70BagJc)>ih~9q zHe8EzE|b#8E<3{kmeXcO7%C7reQ}P9Fm$7q@`tGh1iCIfTtHG@^R%B64@tN$D;q<* zC;|fDh~3;JGQDRfQm4m$K)>tbsvzN*|LT~15rW%>2@J}jhNiouj~LorJ8UE zG8cZOCrI=rfcWOW*Wd7KthcIZI(4>hEu&M5u(0`q)#}`bJ^quA1mN<=3ucXIyfuqf z<;Jb-d<*Wri>C;GRD)|-dmp`j{{N4Ry~GK7aDSlea8vDz!Uq?u2trz$HZjb2c9o8} zt7ywSuw!TijcTfSx1F$YIW1P)7!r60o5b0EQ138q;!W5q9tlaBXJhevnXMTWnULeM zi=nN&>r1*pvY597g%BpVCa5n>FwyHWCukTy5=l*fj@@) zs$BY+8^QpuIr}TRBQ*(|3GxUE*W=`PlE)oX0U7lNDLGctU=p;31e2T*crS={?aU}# zt~HESiTiN&q2M4NX$vU#wH8*~=A zF;X?cQ#&-Q@E=zELH+MvChql7ky%p%BVJ-pc?L6rq)qi!8r>$T$XXC^g>)o@Tx=|Z z;uroi+>w@`pd|>S#LM}GkZQC-8!Dkz)=ltT#EieQXQ*ETy@<}e#n8BW>b_Ohy{aoc z{}R(_zBSl1iS{I0dk<2ai<05|%Db$bl^Z;S9ywLL2y}sreMO9MDK9~pW(|vl1}+x@ zCB%M0cPf85|2e=+D_PU(Xrn7bujGz+k|&A$p1_$S1K|A2|lY&t)oa`WK+T949|HtBvF`I+1CiyYl9SR z4vVNs15@0rIa>c`09K;d9N5MPqx0^OJY*TnXo6=$skw=dM)EoA?~xI>@P9(Pko;3& zYi<4bxN%EuGQqI?7y*iI;lxyOID;4^o~tP2#uv~sf;jHjXAffR6@k>4x03FOeTovp z7EpUSCksC zGoJ2HhUPiE>r#M3c1AzKYG#UN(v6BN<;_S&N;6m&3YFjMlTKKYoaqU@P!B87$WN8M=Fz(c?-TgA0x)EU@O<^x zrOW=+<9+BN;Viomj{X$`(V2pzx;gP%@}CAN|3j(W|0>cRgg*x8(;r3J=~8@Jv%>jN z#UG_q@CeHX4ge(p#MMHb(8KA+oQXHtjS5gH+`cDTfr2H!rVhHK$Z6-qKA!%s-BoPS%>&O)+ecTUO{xY{|5W+IUtQ|=#BF2L(J_utNij^>mKMWW9c4@Bqt`!)9Xgm1XATzs? zO#rWoNbCdf(<8kO5B26$(zwHQfSy`7bsV2h+Gd@yAow#-v4wR`V3dZggK8!VSokRr ziQk)v7YIjnQaDnp(0rR;VHd_%6oELp@$DsdQ{I%P-^1?(()6`hr-3j@86!SIRYrUj^EQkL!IOQ%iV#*EXZrt1}Tsl(x^`*(SYUS)frWb zr$|hSVq~ zUnU_W_)6?335k7R0CI+4(t!kw-VKGW{VYaa*lxZ$|3_TWwk2XkpeypiN#?`L&q;wPM~*)!vVrA@MihD zHf#ph5|#3*HjE|Dt{r8yU{Ht_0`Io&0Z<{8na}^L)FSVNqKW2iN20EL1OZCXra-q3 zZ5{VJS%?JafayMR8)VfOmYM|GI8-lQy)GtN%N2bO5Xx1eJcOsz^+up$cJXkTChT(| z%0}TSj*>#S&BE2saFcpZ+@BP0*l$SwomBs0-N5C9{^t)R^adw*@u`aHa`qwQf7?C! z5C7a~G=eiozO&OJm4K7~%ul>)$w}(crlkps!(D$aN5I10hvUpI^#EWru~z~otuQ8} z@}1EyY7;q1@fi+~2Dc0iuXYlRUPS;M24?t!qsw{Vt$Z5M7TIs@_qLe;2p|91<9}ibz7fx$j8Qp!p5@p!*xVEQJ)>(_fY`oC z7|A>vN2en#dyoeVukd#bWnYp~<n;W3bBN0?IRELa>MJLL^s(P75Ns2=H&!FM1 zX+VGtyzWxp*dRzaqx4)zuJWBfkVw=4Ly-lwFBjg0H z51WDv(f^^4dETN$E4!&V*?*-3mAn`S7s^1^%siwKRIPy^_%^sFm*6DdJj_V#~F>OBO?6odCX8Tc+4FCm=1MPZTLb3Nm zkv?AsXH*=pWa(q@smRl1X?2B{v9_dxYf$v_Dk$LC0<6tYZ_zhnb@eV9(!+&D1dXG? z9)#_RCt^o<<_P3`<9s)42iF19RnzXJ`>63=EicV3G8BwClZ<6IZ|%L4JDDx19C?iT z@=fyi+1=%?H88PM^HfhTuOUrm@);7BcNTzOqgYA9;XgUd3eY|Mzj$My#2_SRW!9|6 zI_1?1oCIXz(+&Jm^5r7@!Nb3x)#+a2>#D$ADQ< zyy0L(bvr*Nt{n7_jwWTQhmhPN1X=cm@=+{+Gl8RH?0>gh2R;Ogg;Tub(Vd5s1dzo? zB1yt`YJvA+`<-Kn00A=^e>V%20+2A2vDt_Gb&#O*o(cTpxPebp59tz8DEgQGbW4ccC_t7v41 zeZQWz>$(2TdhHj?!STCer=?7S9t8&$tzbo#4{`sSTmCP(4}{u6kQreV*~b6B9z^q{ z%$`^Q$e)-7v#r^Or!He-#;)|X<^+2nIt5hR5?lPZ0?-1A_P|2IX~biIL{Z2o7Xae> zlyQUEQgb%^)i{T^=u^}2$0tIqjt|(D@6q=o+Opnpu5^C19Y9S5e-pw)XwPc@O!k2y z3EeowMwRpQSV_~7(dK9Y*-t{u5VUW|Prt48A4^V&IKU2|6U5vJUixEt_ljn=(Z=3 z6PAj0b;-m#-LP_E6H2(~#N0mcfcv4DX6OjKIS>Z3KhQz#Ck0Bw&eU*Ky&>8@N7}Je zq3fe0gy|9@Rw!@?;$iVp=ND(`@&tb$x+3~s=|@R~xorkC0v&RN?xQe!k7PxdNqv7r z1vdrU!PSu19^Cl(au|vliH~j9)=z%zlHc88ym3DaUC1W_n1|Dn6YrjY)64yxR@<@j zkGKEtV?zJ=g9L6V!yb4HK13bijYO#&6p~)+q{GS4GN))^(`n$b?;hpjmzH=FTW^K! zlaT%n*&U;$|BXU=Wb?{-xn%_Dr&T_88VgzD5h^s>qn`qFM%y%30cKo=Mt-o_@p)^_ zzd279n>~+aa{_=sm2IXEB45?Cd;~KAaxMc8I(0zjuRm^I!<&f5nVNaZOQ zM~(rj@fF5`v|Tmf7i`5GYP-egq{>tEI#0Wx78{!l=G@kLizT}D4#_0As+UH=Nyf-n zMQ&T)1HQB0C22%MTaw3CNe}cJuguMVR5^}kKtcQB;BP=J@7!P$p6BExV3rdPJ78Q4 zqtl>-KU5ZdZEi3E=r*JYcZ#4y)5#+qK2^S^N(-ydVC@k%yqp-|lST4>d+bgl@ca>v zUrC)&fLKQok^y0UVcI@>5&&McsX0}mOeeWOZoN}K=6Ix-lA=Wdn)jzc++Du4fII}{ zBCe1?5~5Qzis#B*B;IHgedRiR1$lsW^IZc92VN$+{C3wR{Fo~)*RdxM?H7_cC6QqS z-2Q36&Z!3cbK}>RtEo>KS(#?J|JhK;)n2Az?7|*e_mMA!Cw_cr_X)e0W#0Mi{oH`# z+3{W7{9 zNP7piu3q~pf$Q+z({+HjKg|>Lo_4M|jlFlaK3(IgR`aDiLrr?7#)F^}oqjYEloKnm zrzFRJd#>JD4bM7-sPM09IXDFC_2dE8gyuB}T5%rD*D_6FP%oqQ>k??Lbu;O)Ca;y0J9SHbIfA8x__P9_Tm>eIG>WS|-ls{Q7_FK0_D(9L-zY-vK-;=?ML*1cOk>e z;|t2XeTnn*Y=*Z&Z#Pml0R}B1@fNl&qyKKOv>@EJwKTLEr#mXVnoe4QAw*WcM-Qah7012A0T_D(+uEojG8C6^^Ot$1oeMPwN9hXSdtnlsTWHS!w*c$n<{QUT3zYxo&SErZ( z_9=Q#QA(xH@AQdJ0swc->-&XN3T3c6`v+U9U!u!CR2kGw!M&WbhFFAR<-l#JHd&Kvd!3mFe0}&BcQ^heW@FCR&3L$V)H> zHXSoR$^6&n=!MqBZeCpp`zpOuaHl#U;@$DNJI+y9XZ|`gQB|+q*bqJ72kD@XYGF#U zQi*RnNtPsXj0T2lspIUIXgb)nvRtf9@s=h2wn3#i9oUOXq}79SDC7*~!=30#Z$y?( zj%Z#MWZQ;JaGVo*DOZwrJLI4r99_*44MD%@LbNj%{URi@B&SI>rx}V^uQM^;u3;!)l^zL zp!KXkx1=T$Q5yhM21>C|0-6YiSSZmU&;%x^0v}bK#49y>o*aYcX=f0tNUwWxaGt?? zItE=7^7?S2f_T;@0>R_GavHwGSO!V)-@zBCrEc1Ye8{KjM_&_A<`igsU@$4m%kNic zUC`(Dp44mJZfYK}_839P$5MS1V4rC+f3&+jNQ(A}@d>xZJLTcJ07LtBVNuDe$j&ot zJ{Z^^eXdpW~p~eX%C}VErAb zMNaTw#GO;xdyS_tE6@?hr%!>7I^U)j8&w{HVraAXYFu;62wxDuG>1sM(cEgnAJMi~ zm)-sH79)W#@to(2nvwq;5`V5m91KYCya1;#`X!auwZJ54jTQ41QnFh(jm%N~_3oxB z+*!=wm2e1@8bAFH-TWm*#y;NIk^1mD5O_XCBVfOctr8U$5l+t#(cH{1DSQPwj~){0 z+_X@EY76HW;Z4VZHrUh>=Oegf@7m33w8U$-QrYO=pS2ci?^uZ+qpiVyX|C$3X-bOo!e}a zZBKitm+y={m~1vawmP?H(#gnhkS+--RGXO>POn^8KT1x{5*6eggs$bdT1I_&q_<-PBMbN+! zLD0v-;NalrI5&m(z|KX-^zw5CVC?SyUj0b|(gI#A!hIFN73TuZ`nob1S^e6CwVs>g z&wqP>6f+upWyqvv+&r&9#-Yl;zcsWm;6uhi%%|st=aqpN;QnZkjtKy%5Qp7YyN~V_ zZi6t6M{I=3|Iqt@?5zl;e!$^O?{_xS3*t(5H?*5YLg|l z^YsbZ?emN(c=DEC%^Q@YBee@Xi!G1klF$|hM_LtJ$YWe^#uuSmlbLAPFNO?6F8Y75 z7H$>IuYzO0oPe8{lP60YC5djLL;Jav!fb8FKFWmy0()kv+IcgX?gkCqxn~~oSb~&* zMz}}p@e=q(M8@hleE9zz%}(g-U9D?*poNdpm|7*r8IinTkmjJW&38j&Mt z5)fE@dKAK6-^-_8A5J{X|L=PbFh`81s$XA?oa|3}PmWKUIVEFDJO5CESErGE_6?2m z6feh#W>$R|{jpL(3huAWkTk%O+1vkx_IQ8a^Za}edNe-BH*JRLQhKlwf4^XX(6vVb ztWv1)kQ5x^Wcl-4kF{@et>D>8L4_IzN{1P3M_Jk@3pkTJ1;ETo9YYF??;L3? z=x74xro%Dl97yhRu`X*pBI|! zleTW+DXHAFBx*~de_gp+}w*Wy+n{KfH!R}3Q1myhQd+xuM zmk+Y&!&Vk5VrKh;(Qg*v>YaFbHqk&SK)`FyEIY%j`)VNJTiEiW-nv z!$g3afnXB(nVT^Lz55zVAgn5oEnjuTP zw)Bia{H1ft<}#>lS~J=h5{v&F5whF@z3;W5 zODh2@ZRrM}fV~0y7~m==^sKY=KXw3xy|Ve8sJ#qxd95GFAsEM(dO|MTfuRe_K|vR zDp3iRw|;b{&fNoSi^;YT%ow0o+HElIKjCh8qxE2Gzz9>7Ce5HaER5_Jx=FHJ=N0D! z*G+ixVB9Irc-*bQK`|)Gb&(})uf^D2fU#*J)Edv6f zYEJsUnaM}vKVvmSl&#S^l?L|@`p^0A4?gKMF=TOXyO*_`eqPMA@|AvYM27kcuv^^4 z;CUyLmx(fcp79GOaU5Thg!4}K<}Kci?p{yo6lg_hq#VOy(FuORlOWS3Hkpx~1;+-dZ}CM-fSB_~_;^7YWiD~M-V_lmXgc2_x3~VGsfnSthOZkgJqr0^ zim7lJax5eiFk&e)NYS;z%i(4JEw0thhp6}EeL17ANPG(}Lwg0vs6##pikwL8;x6iqD z2SoO7nCkmnE#ogXHmWg%q%xR&Hv#$*a%5z{z0~{tk;z2p!1ig_QY;Vry$%U%VHpHt z#!Pqkyg~H+6=8t<7hnu=UnUIdK)U$NH9x#GRkeg}S3V$68_}9dz)LNe=i!6fJ=_lBmJ3I9*#mnllu2m2pz*nEv8ehS?iQtuN(#wChNC z{lQ0)Jw-{PbzYre)3y+$B+)HL^7ZTdI{Ty&|DMV!1+A^WO5QztO`Uu`^7_x2zJ0{S zqx%%!RFc`Ld4th_Nyi-y$maxUrwM*}+|FI>@OuZ+Ac1=+b}QjFlaKN*mgObGNYOOS zKn`3D6;Cyr!Kl%|MCYt^Jn=-ys^3O;}Y0^dtz)PM&_Elul!1z#&--I z&ni+CrytkwlMEG6o;qIJD_;@fb-j>G25RjY;)(L0VKB4O4V_+GJ~CuF1<=8zxWwin zWVLiG{#f&fn7>xxmbrSD2XzE%uhd8!$u{xWei|b`rNv;@WoXOQSwDzbk!%3sBv9SA zm$dC;C}JN~0aj3s7~5!95Jic|2s3~54#{ZQS{u=Xc|^kb8EjDhEMKAwru$$hWGC*a1BqJ^K+xpY1m zTrpl&42q;LaIp)K-u;!$_L_n$j^;l1XW!<#9U1LL>`8c(YJX&L+~GF~=cMpP(8?{| z2)=txSVIpve{jY&uJ>c$JB_#S!`MB&bk9&gi^FPGvs5mV|VK-1sZahjhnJsgwWS72)yOq5$C-jZkvxH zMym)3!|4^$gts(hZUOlkJW^sAVC%a|c*G#$XO1RIti7p@19bMumEOF8>~LP7S4*VhVg#^^kH2r&n!cnCw>R_&lk$OW5e<0AVbA$k6Z|u z$#P_)@@5w0zllc{S*vp@<)^={l^%~G{8|g|i|ThX83~65c?5vk@xfuEh#Z|mpe|b# zoyA}pqcGYu!roLUcx`;olc+^yciowuqy87PR zG*xJG4Qv}RLMQ|s2l<~xP?0s^tF4twIO$8>Pf-f$Tr#)rWRh%rNd7=?<$jUkv{8TU zN$Qo(RT2_!{VG}l5kpHz0pZJWk;NZD6)!CDVahr(fuTUog|aZxuzB(>9y-vrY7 zj`>Cf&5En194OCP(+SUSLwc9*$0WlRTtOJz0!8fQyXBb5fpnNd^xX!WWB1@|um~5e zD;U6?V3Q&^rnUi=-lt&YbOswyISAQ8?6_FBDaISOKbQt7JRFuwjm{f4KJ#gvNf!lFG#=lk6Eh#m|b z^1X74DK1|ozU_@uaUYB93(sGCqj}OCbKDsc-q)4MJwMZ-D?&C%H5c-B7^kej$9nM0v_b&8riS2X}6A!?N4l#X$aAbCbTXe0>R%B1^V2cS^bWThhH(xB^ewmI$2D zip*f_yY6sJ05_J?vCtCO8W4Z{jYcIoT|u5HsR|#k931*AqdR(~;?Hse+D$b1pZE+m;K1X^&K@RK}ir92O|i zhQS_Xot{>D`v~n$6;;7Qq=~**FVoEYQ&3f6U7D8m?AZK$fZk0mi@+oIEvmlr$jJ%jryy}zhk_}H`*O;`=%VN>h3m5a?- zr!?bo_s`<@^J8lF5FXGj;}qLAaT#^-WJ_h6@~B9I8d z+Y%!Q=yXb>z1(162k6D~d7I7C-rvO6xEr#-b&IHIH&3H4A@_Exmflvj`Gh=m2+3`q z9uWDb^fb0TK#q+dY~oe}IP#lp^%3PjuN%4eQBLo#S^-2!fU)ISbL`alkf@|{VgshD zYu%l5)PuB(M{z^S=?m+hw#7|MqIFnxM!mF-aRuZ)AJ=7Ub#sNdPze%-cY z{L?B50*B^{Jyo;!LfU-wznEDLsDGDlmG@5p;r;saG@=rAApxP{Zh1QVGvY|EW(o;> zfo!_G_bhqJpS8JMyVU3wPGL`%(fSMXEqO!kls?pxP%T1i`PU2dc0i=Zv2io>9%HX* z61He<&XYXtNzy-RN=;L&cUmn`vZAQ~xR?1KnGJ?;?T^u+p3qRuO!$uFS21 zFMql-=VTCrC+#z)J@J-ceR)c|r--++qP3SJi%$Om(8JLz->j~cR{(pu(ZgUxT4_g` z?ET!Q#7CMJ5<_gdd#_&pAkWZFNT)YUuM(g3k92m~CnOl@UX`qjccngF)9yVNQ)>@k z{%TaqYcdnCh^LjaP7O>H73dV&ScDT06duo6`?s5%xi(cb*hrx>_{xqlRrCT@tmmxO z!8o`bAByMGNZzld#q^#4r5Ua;cuzCtBb#e2*t%{QQ2COhYuNWmhW{v|X9A)()!XX+P*zZWA_e zCDY)wNi2CRb}Yo@w^bIIodBJ)wW~nq=izc>5GNhtv2^Fx->&7O9M;1vp^`sOd1}-P z><_=fp^+EFi$}!cp-d*l%u#-w!_@$etZv1?53`~x0S+CgKcJDJbl#CniMo`hm@hAM zxmSi{+2R_y%_l-XXSn%OC<+=>>)dK1w1LgViq5?)rc?37Z|~4Lkq>>`dz1NId&hAr zbromjsBBUT(@4@^RDF+G^V^w%Prwh~zvcvhY%yS%j-L#r2bu)8bQ6zJj<{TgRNdwe&$iTq^-nt^q3&t#iM!sI}g8&7$FQC)f}nmG}_oX&F-Xs`r5dMr^Q$N zaDje;V}`9Rb1~^>AWUT|iY2aeI1t379`Hr$P3J3+JD@YozPx`qE;N&=Vv`v!xZm&t zpZVa{XTB5vkzW|RgBcnOel+%<^&d?Nt~OK_RkZ41I+y6xPh=E%##v`xid5Xj6shW| z`mFxR)icVirDvTiQQ=@M9Jahy?)9tzF)Rca+`0l3GxQeAxnm zcP9H@5vYxbwjE7` z?}noiWbAF8{q=5Xx?uGgws6+$7!Ca=5*d_j-K25J>D?Bu`-%CKcu#SGk{f23aX&&K z?zgRpbgf{;8>piVPw14(PM`C05`4Mse7B&I#|kfaLQ|ur=x3%^tfbRy0(m-SMTFjp zEuJ~zI#N$&kFkNlcTCXXY<2($4c>r-#uvlplB2RaU3e~5zP>)eQsTDsgEryW&jEZOVD{OLkWj&k%@_NLxtRj{p-_>-H*3x# z7NS$R9j@+zquf$-Yn$PqiBXGag|#kgvBqI0c9y59WWiOTU1_F?R&&T)Qp#Sqmj(u5 zWMWuMzHa)u&bG4L-%v>uQu8*qO-T=1v_RM9QnC`?0yszHMh&KkqQfbTI3HPd{1nTH z>ZygMAPF5W3Un8s^SIKU=}u&Oh4{%4Phg=%B`#&wy;ON=-pR!=+p33uWgG9_$bMp&#`kS)PrfU%kA zG_P8em|8-0;*WbQR77$)>oqNQI+4wGLce_{`5y7??$wPQeNf}+E9$TP=rrxAU`4@r zKchS)2lU!gXsC$g$4zFz*_u#-F1ZWUig$mtbdBjOrH_bbA1<;Xf z=CV+hgpZ(J6Ki}*djd9Q4j==jQx`&@z?5`=*cH^__;wvTdGq*4D%Gi?xX>g!0|YncbbedSeCd43$OKfgQ6u^HAV$3zyKGcC$ZhQLMt9U(}}_5A9cvq5=p$yPnkIvxx4n(8tg8QP%y&G2ZRr zX$l;++2*aDh>e`2D|%6eL|%++2Z_zH7$5HtAtoix56f;xI<0CjzV(Y$k5Fp5St8E) znc?#6+-f>e(Lb}nTYiHYh~L7XPju${jC|Z%!cO2VS9o2Bcd*?aN?UejJ!;>Ccv;tc zqm)RhOrcSg2$(ajy=ep?6s{`g51jf43G$JyFxW8Bp$~~z=YEG3H6LzdYGm?ZQpEk< z3j~}aHX+HAs@8^!tKp_Zx%A+_gji7|X4`7J!x>-WcO zVoQ!@TZ^39uk@x_`>yLk_jpf@VIa7VFm-?lp)v+Y4{r;%%E{;2Rt{I%#kr67?9s>49k{18Bu z9?L*Uwzme|WB+!Kkme3cow9;ASVK9YZieHHN5~cmVNeU%zzJ!DIjgS_yJ)dO6)+%n zM+k6sK-Ux$=aZev0bOjQHUd1lwJIa>gJAM?1hNPC^*<9pXb~U@w~cB9)5F{fKa+j& zI_mi&37oY7_dxETM__dYO!g&Q$jr=d`~G#KN@($Lb{!n@9~Qt)%|3f)zxyVhmjS^? zhHe(46H|HtW}ROpu<4+Ug3r&2Yl$L+ z2Pm@jvRP6&RrB!t-lU0pad(*}IVWR_ZY?dhWNgvunr;EuxElN`^@jgbIF+ebNlK%B zMp`Uuzt{#|FJ;$_eX|U^kIEx=xE>(b>ziEu3QIMKz>-yPt8vxo?AW`-P?y9I!7RQl zzZk>VP{re>9CUt`&?e%7WD@b}v@@fGsuz$^CPKW$KdMc^9u~JBk~NOxz9)UBu0v@( zRVU_bAIkjp1yxvMfoQYckBH`FLRXuepS`QkoT-r!QUO6Fe2Wy)YM*^Vm4VW3>P1wQ zFalEb1xbFmTRBo<(s1$=1dPkj@ri`UYVF!oOgR)$m-wRaIwTF|Wj2=TYn0*{Pzk^o z&tZ8Zk6nd(AY+o|TU1wv8vnaRgD-BLKS2D%>Q1oS;64^6E8KZC)6d0>k{9fhu2D4I zw(o%!5&_k&&0IE2td$E^Mm7iVz$4Gm=5NZzrFnaf^{H|h4{NltR)z<+@|(j-p;_fO zSJj+x9@VKYT6di0?xDYTH#_Nb#20J$tZk`rKV)T`>f$WaIMt2t zqN99FhQX1rSoMz7?{RK}eq~y(###xQ@6yNF^n(515bi(oQ*e2Yg?p)YArZSu$ZXXA zmVzbd+>s|I_5QIDHlMgNKtNGcoiQqHb`eh+DLF*{>AlMe#L0P*KrP-JrPc?ywmz{} zeYU@tG1!2zV?rBe;G?aW$sPCh3yr9gCL&Mb)Rx`v#*_Y-XTI^iKNRBx)NxutD|YDD zs;rX0v2}9wuWpC_4?lC91kPl3^NmZpw#@A|Ue;a}98G`7=DiBJTs?Yxb-H`k*t{pW zncl0Z_RO9m(J?C#&M>O!i=DaFArRQ*PxSLW9`Wkh#nrAuJV#~15Qz>`CIL(Ly|mk? z+*_$u#$!u51-kh*=vF5>K5`$lgdG42rf7-lQqR2&wpfYeITudV$K}NyYkkQ$NnY<* zng;~?J8Qmd)RxqSpb z6cgtd`yRldx_^#? zh=l%Qn^532skn8KFhXbf?{@lks67TiN ziqAZNQQ);fw=SF{;77=Z$?iJrgKnD0T+poJ3zc}}aE56KBJ!)$L?&5vMJa>jJ}x&+ zhus2^G2mCAN36Vo*?UN`danJGuTUo2=|5?Gu;QHrcl?{bm&OSef6ubNR^XB!f4d>l zu;@=ttUpOXt+kiDiO&=-mF$bZNvzEI*+g3|s8QxoVB;HE%ueh2>5=f5pVv86@OFZ# zH;MguZR3LO4PQl44zMl&urmcjthD1_2cg=4`HT!YjZp-)3SIzhbes#?|HY)(Zg^s> z?rwQz*4_7wAlplL@@evUw~O;W(JxyhVdKd$rLxg=uyEOoSplFVzdUMTD=E$Pf;Kh{^^hY1zeo_-c&HM2^^Dd`F-YCcO!-xBhdXsB{?vRnRtLe%)KfNKielDl`Y=!> zEb5Q$vv9MbC`OmU`T?Z&0=CcB5lJ*O^y-I-el%TI*a$V=`Y|YD#8+Wt@9$Oi&1s`0 zcJ3i62jW44T?D3l9I{VzUiO9*P~~5u)Z4->?KFC5wZfEtNyDm`h}M66CJMd;FPhXc zFd=ssYxknuA5k2Jxa|NFfHZ3WeFE(2-oG8`C_f>ZvVRqj_&qoKMp<) znGb$h_2Hr_y-&;b`9(9Rwp)DCZekcS4R&9XCx1&1d@)jdBmN)8-a4wvEo$FZL;)!Q zl?DMRN$CdZ29@sakZurZ>D0;+ zey@02Gc%+LRfj78F5P}O?~?(=iG5OPd;Gfkr4O4yL}lBg7%#P`Dm06eo!oAuEgNk( zH(Xm(DmH6j7w)06j-MEK95W)B&e|vi7KJTyaj|=X-x8&YCxtjTJ&9Rjl(O-Y9MB-# z;c$JCS7aF14SG1={9LH!$(8qx0hp0_~mwjVsha@*!LW1LcEu&dg_q zi^9bI6tOXkxUn-DGu{{0yoXUDVTLeZAR@>rhT@e?O7z%psI`oM0>Xaumnn$rxrGaK zIdGkuL${m9GqUKc^y83-Vkcx7Fj-0=9@H+H-wFYmx1y2A^rIp$7bII3iQ5BAr1th^ zVB7O&vx(pH#2FxyZJ=ybF9g9V2`-wy5HJ_IR9jHp7J=K`Wz&M?u)ANCsQJmj?ZOp8 zoI;4^MyKE|G0kLdgnjgm_IeI=N|&UBfRT>8j~=n_IlZL;>&6`#F*N??#bd?BM1#E( zMWe$tf$*@b^K&@b%v0T8g~rd=P%ZHf1B}kQTWAzM4!XXGT@@%IxKcJ5;RgvSXuO5S zRw;MqiWsaJ{Lm#voTmEh1vITn0`}^cjHs|7s!mDKlMxE_TtZNUr`mVXDt9fxOh<@u zrfF`iCg`$1JkXx2H zt5)6!^Uw|137d1YFB6Wno9Jej$#I`Q4ZUy(=;T?YaBMl%dR;Hz>V5{=MGFECuPXT% z9kI|fPHk&L&oSG1=iS<<_Zgw98Z`EH2EK|3K+v#&a<3^Pxp`W)UM;eBN|nm{bW*~` zAUuTx2oSt=YnWOKtc3?6@XhQBv)C;HBL`f->wFB1)GUG3t_0%r5S{m(wtC%)SOH|}<*qU*f@b4@7d zcv4V?MpcdNF8eKjOPm5g^Tb6atB7;Uo(`(1Q^ebT&g~ne--_dZo-au_zre_JiNyy< zB3AQ%a;?uT4L7@$k;aEc#V5afORuo|M!GWl=)(Jl({VG|sOAK1=4_Euj1S(d#Kh6c z&Q?N}md_#?IbX5yt(RDyCWi?e*pee2DYY2l36dTc8%P5rG=8gyJ!B{iM4=6W*qxCy5 zJJlw{r$eDPEOQ26coojSRrSTCGZ;JdFyD`*9ZQYIYe-)fB8a8hwc*cHnF1fEktXP& zgjFVblG~|!pDoo}c0>g8h&BH;rsN5FyXnHN7$?*zWW z)_Mo8>L3sG&lixrCi}xWWeiSCjIXp zY_e(W=|s(4UVX;yXVO?!&3pZiRx7lI{l~Vde2^)M=9`PCd}Hv3BHsusv9bat(IQ4A z@j}lqIimeI-EO?Hu4l>1BWzUKR|UG=LV{=4e>N^P#23#`O}4^DHTlL}?c5g2RHB_v z_ISbvZ9B5~Vk5#Hg_NEwHaI;gG&brmXJ{_SE;fF=kC?*e{`>%3hxT}W@u+kx-Dlzu z{ub*QiIQ1(%gi=IMu<+{7`%Uk#@QIV)8&vG@0Q zjvf?q6#JyaxxM27>dBXvSP%HrnjA(>LFq%ti4ROIL<-`&@8e{F(v34wNefXF;DGl^ zDHZcD<8r+FV;a;r=pg(DKuU?p5G1ty6)ZnPK$ree$h>$6vwsnIvA9@GOfRCQDP;dp zd#R()$7p|z0Y_$}NxqH2_j#FCN{z~ryI2mcD)l&X?ApZ0RTeY@^Ve07(d||P@RM-d z(x0x}1~1mwpDohS-$QU0#WHI}oRUprJwkL zQ>KBN%yP(WJJucAg)_o6Lx+Q^?e&Sl^)x}r!JNQk`?6hgpm@Sj1sq}TQqLi>zFncJd2?m)Vkl)qdT$UyqWwLPwJ3=P5nsn>S$LB<2s>Drdh1txel!MtE3{O+f)c(-xx>Pp3oWRuQ$eD2qOpaA0M)L~JlIwYREuVn0{ zvQrGE=qZK)>l}h^!~h9F?3ezJ^E9T>Z!uW)Cp2X*TvhxI>{KJ*Y}lhc7WRu|4LSjD zk+lW($~6;6MCWbfL`$%j1KR-g$zCuTdlU=C?+!kQu$a!$M~z^ZYminYgLZZ{_W_mBOs%3h z#m+$sZwd+%vm7l-eaW%y7X_P5V`~q?BFCemyt(u2FL8TG@<;F7c(tH(ZM8s)j8fy* zb>6mY773nt4Lp5;!h9Q%B~p%e8M@39pw7MesVH*v%^T{ML1j24)^1IpCf_ro`X3%c z6kC{|SQ>ML1cXz+>=FqOAI3f!m}xZ^@$uJ*v^#4E7qii2*arc7jOol<6Q}l-3gSG{ z1>sRSq+J^n8r`ma1O^O#ja%TRcSgyvtkDLEmy0`h_pvSI5^J9}P>r^nMp#hPJy)*c zT)NdhT%j=gAnB7xFg=q?d8B?>Wo^B;P*Gvyg1OImdEG@_7ZH^gtB$08x>}fWtj96; z<6FHd{{-3L$sl|0xPpX^?H0xq`LUyjdX#x(gPudtz&H<4X`&O}_q?8Z@!T+y`NIfB zYJcxLPIbVaN?pG@s}muUFQqVlKwbPyf~Y z{k|jGCa6h>+?qdjsTPSjj&2?pp&P4-_d(mQK4t+dun2(oPjR&(*FNz{4DZT8br)fxNUC1guC1X_Q0y3Y59b z$z!0+xd|vZY|DmizrE4g9ZDkE%m<#M-ZTqwwA?n|!Qht^8vGJnP;GS_K3*duvh~yyK`Z8sU%5M2G<%}Pd zB6jD6(ID9;%G~%3T%vEmlQX-Xb-t}1)Fe3_C1**!4_{9)h<~vY{wpZ(O^_5a%tyL= z_~5yv;ez`E9kc=goxuSD%U zukT)2?T7b9nXlppE1b$0`PA)Y%QbHKaO}L&G;+`qS}7vevAMqfLkH96Sb3rC*+E%Q za%y2zj;$Z557q#O&ilgdC^vk(g;ayl?dJNi;vWm%fWjFTdq>#&C7IzLWP16BG&$N1 z!>v`zz{asx*`5(tvM`+HT%4g{7u3_Dr0OGC?{srf`#kQWoUHWL!Z7gzgA8cS@%7&`CfMFzJzDA;f4C-QEm0PInx12UHn_F zT8(6<+A(2?WA=gyIxWHSOaa^X*|AsEu1a$g?oMnDn6sR2lE(t&00AjO_MY+r3@R_* zDGpVRksq{2{{tL#eR_Ww`U}>psgR7vDP91i2;?g!&3F9|utY>+V<-mMn znmz5VZQWLDXtmzapD2)$HaA&H>R09dME=_ILZ)VaivpIjQ;ynC=3Ra5c5xKAqV1L~ zFVeu|!XvSG{(SqzDg^>JB9-hXJ=glC3qc*> z4TPxjZyYT1yUJ*ub~G@`=WX;Jna|lcZkJBC$Ja)N0-?(D13M{FGEq-qTqxcR$hP1R z(1wfd7-;5$B|dnF|Bed(+fec?rHV>~Cl0c{MDpXFz3=&Pgh?xFBu97mX+JQtZ;Gc~ z0H$y!L!r+{?uV+KRT^!pIoJI8NdILJ_#&q0U^${yYRswN3BO<+iKBBNg{4bfe4Ctl zXo)qX8W3d?=D(%@&!ex8!%tD~6s z%7lu2E1b#t_izot)rfR&hIxhH=Y&a`!Mq}4h4=7W^TC{PK-;#3JpOhBO@MW<-VAO) zV-N|q7g;1(hOxS({a;d^nKvZvy57l5vHv@a&3~tu7+(^F)LI#`QRVvY&++fQZpD(5m5k{v-kAE)--UG>rJE zwp+XLPmlgG8jYQ!!HXq^h%ErUfD2xq`fYxuJXC$#45n(A^zDQj-x{ z+1=YD_)vX>Ji-FT{g>sF_2i-hnGqhV#~Z3e#=_oAD--M#buE*% zyO}3)r(ZnC#5osPot!#HG2v{f$7mstcHZ*0tI=GiKnXfmG$VVbQIlT)z+U=Q&0>8ag=h+(WKOU_$EST2d?pCDU zjfXCSp>HP(wvwhdcTO70&5M23_NUs}S9+Xr9Y|G!hM93?ytSUVq>Dzp6-{+c>QF2P z`El%beE~aTFaba?7LfBm#^*T1$*TpegRo1gs(OIl28UN+)cfR(#Ifm)GT+c8Z!L7r z9o2+{58h3aqI0yEJgd*39AK}Q%HTA&WqeX5M}7HmAo4~Bt~w9MtX&3#A?+2@&YFfZ z&|PCo_vRet1;9W7Nra&<%EhjMHRowTmh68I+!i8v_d5Do7d07m*ZFGCV$1?ZjTSkM zL-eNUL`VOgMqqUV&50$xs`BrC>(R~aQ5J7ZAlRswia8&D-s2U==O5N_w8l!f^Epi{ zg9f2M9dtTrjPmKh3EYOra^S{zXFtlw=7Qa0EQZ>Ou=hOC-o?oSpNNvZmteZE`N8yp z{X`&tT!(VAUQXdR)~%5ht?2G|>=e0XipwkoTNB#WzReue>(ZXg-IRx%GOt*TA#4E0 ztfvDLk+RY+W|MR;=UK*bT|M9XAI*zuP!K>@x0o26RA6d%pb_LQk4e)N8bQYXRM+_s zZ$UryTmb%L?w5Xj`{VmAQz-^C$vI%koD_%LdD=(gtR`j%mrHUrlOSrcAPjMp={EN? zrye3BDm!^H;v8Ny;yrCsv09=z$t04_u^;WsXbZ_Q{O=V~Y_!Hn-JAc19 z1(1V!8tvGC;P2blue;mt!RXg~68HnQK+iKJJM^Vt+iAt&9;kwQ-V~uhKff6t!n!(Q zQpBAa@fz~25&VHR4e^OJ;@85X!CE}Py%E*1l$$Ebh^ZfEKFU#+(BHG`T!v?f&&hAN zn5$i1QD9s!GhA%kCusd*N<&=SR!VbmVh}gR+3W50$8bAfu9&V7U+slK`>!Ol|03&F zg8dgnx?Os1A0jVblRe}d*IawEgm90-=H%29` zfPcePpIEzpC^6eGmCcRyo`T-T=R$@8lb@o;OKTh<$W|X!hre%G3m&?1(w=O{u+{dH zKdSs&tT?HiTZ1ra^(H`DIs+`0`&>YVK_ELs<8aRO0yN4{uww2bJ8q8kV{k7%ss(6> zF!)!Hx;zF)4=v=2t^bbDq4RKD0$!JT(hr|sI>TSAU@F! zt(Prezj10qdI7!JLv`%GUO-8Or6a3@wTRyug~X))RWXaZm~cbyyDmLrpJ*`@1x`C{ z+*iI~leGU`-pTvsQ8FG@(el0gEt{`(82ZH&f996~Ru<5am(b0Ek8%{00a1V6a($e< z0hVt~7^8Mw5Mcx}+V*?XU!Ue?rNOnX_#vl?P2l^YzcUO^rb!a84+|H3R+cdLlpC8e{&gkkGDqKw!9@2& z-k_4_GEe>|=EjU4@l*f884)Ep@1d->5zh71SFei6?BmvLn1-@@+X>86CuYrlG(%c} z({cS=b8*bO;uKwC(w0-ubWoQxc8fnt?$rMq=T!ynX1j>(cT%L8KM%D62aQ-%bwyyF z2)8CAXf#a+1uLnX-#2(oT&?_B7O(m!rz1GorFnBc8mAKZ$rO))S{mb^XqOV|ejDfu@S`h;=qi8oq-}mr26pHdf-%zaKie8K$@wbr_P% z3;cYI=~KsBW6wZwn22mHO6W*5(MPHu=X{QFVn>2J~xjUa;i z{D{<#-o0N7HW-)=JO^$m3hF8yn)@x*g)3L>E30?6I5)RXUhRGjN-H_+dsT6nJF1q; z8(ET;u4QbkvSR{GC#f*px<*k?$V7Y1eEJeN&XPkmq}2Z#{)1Qq=zaGj zFQiIk{~)D|!4(@T#akZ@e~}OoRyoXC9Y5MJbyJpRo)hs7RY{d^4t0$px8be4mqY`b zLuQ1fjrR^itnyNP4fmC@`derc;q)wn3R;YPKM+4v_ry53P*FQ1zZqeIx>q1QBh;r4 zjO%7O#`Nxyt_%p;6%2v7k%f7sl!Uj_hi|h++%`Vo%*)`~04?}3FfpN%r~B`5SrUI{ zzkzOJY>?0{ej@Z@lt_}STKP(&E#9V#E?G`jl0zN8DyRC45xAIA7d<VC5wBL>MNR&z3X>PTx-sZ&L}pM zMIKBlaPk?a7rVxJ!Dp4L)2vel{)|dbjXf2}FTOgsR>SQ+#NF4957U@q@thj&FgpET zK+nPyXsEx2`>E)ibaHHm_34*Ao@U`E50h~=&B$TLXN<(v?k%h_uh%+62I4LRw0v5) z1&2aokX0t16#3|GEA=~09K~+-wo;6eF8yW4K)44G?3;2F3f#BP zuk8Vyqx%$(mZfsc05usnk%K2N1uyjgs-`9q*W*@MOZ7j>T8;li^k!a&A4%;VE35I; zj{F(LRjYkx`JhF;JA)p)$M_+alXE(PcGgvz0Zgc8<}#*}CKJX7(>#c0i~Usg*3sp) zxElnEs!=NwHO6QsofQsVxv7fnq2EM2ZU^VL^uUd0Klsv|4>*5L^?If`d*E&=WFVbZ zC2zp^&3P?rRWL6cM|~#aV2$t2MU7-g8^fLWtSkv#{w%3qHLu|pF`b_Q@k4VT%#|n8 z^z@?2aq(Q1m)~$+x!1kkpoyZAZ5#ir^h?^@d=ZHg#i+|hM*eH4sRMr9L3}<8RmF=GYaYP^Dsb|KQ4~v{T{nsjTYuPa^F;)jeF* zpVWjaI*jWAMz@l#zZEgzT}~J*)cYmS-g`Uq(Y-mUDp7selEp)uCC%SVOIeU? zWHG2}`3GPk9v6=P`Xz`F;@= zl_B|8-5N5yS3OMH(K`&;c`GUr-#=metWOZo*G#s}B6+GTS^*v)wIK9b%^>ueN$i`6 ziM7aRxXWJagQJs?sZf&1NU9=T7gE*qi@=5fdBa0HRSNqFV;ULWc$NqWn&_er|6*vt zzQK_6KD{<|JIWbs9NQ+2xJ*u0^C8q}-xFC)+hzg3!PC&SPO2-cWlsT=Np*6`91KP2 zq*4UKickG70Xm53xiw%I+G+i_%4v`gN+P1QWp>y6i{?ggKQPYkd+`wdH0{Kx1XmdI zQGo*Ea+eMKP|`}cZlhVFx63!J?o|aG6>87KQR`K@>Y_P|s(6ghQp*=pz##UlMZ4tx zz0^Yg_vwv;Po8q~lS%(ti5_J5w4-|6OFN=pxU{*Ddeb{>$6bWc#t}-?kQzRIGs|H- zhAWWn&11ECEU(3FcisgnZ-tC$$b|Y5V>v&dMVjgt}XC}^pAaM7qwhoU$lcC z*;1;p|5v>~@+E*I><@$(;A0+Nn`TQ1^;%F37}=bgkxjAU+SOUS+B}mF59e&vYp&tGN;*HRr47zcH}izbsX467`MZuHvWPE`#vC>(U2=f-8pdO z;q`&Vdi(0jVRr!0o_=nsvqnT6kAbL`aa$Pv@z7g^*0l+7HANYMb$SpB1h>w2|66*H zE3zOC0OO(rGAe#&yFnpY?Ld^;Y{&BR7vdZ@;{4jAph3dJ6Ky-9zqQR#_(wzB7~ZkQ zGnL0ejkA!zebOamw7z=#V!(AMkRHKUEaL^g;nGc-#oO8QDS@dq1JIP5?D;HVwG(db zO)T&tnHZmmj>&tmLTB_DYZi7DT_7u?A1+yuJ2XV2>RXLH!<^*DBe2Vmi{ zU%Go$mL!?SJhwAjoBQcVOXos#yYBv1IsEHteK`NzKzn^|@~jTN@vPRd|Lc>-dpIJHYd0K@yWe^&E-uFt3$7lQM+{u*+?UKe-Qw_G<}@`AI8 zZpvNkvGOU`1`?luC5n0D$e;D98t{*(3Ppjrn0BkKZe7qOD`xWg1(zeV#GkE!qfKDR z8#6S+FF>n%b%4CmSs34oEP4ZWjTc(&{yMJoV@F}uJ6->(*mA=39U++bvkb<+GZC<( zp?on_QERE&S>Aid87ZO8Pq8&XYUPp{UcW17(@4R(!sM`z5m?d#*o(buPtpl%?v`F& zQESw)yN{XH-b`-bFOr#8w!ab##hhqMAmQo2yauN&A4{wMn?>5miBIMW7$3%CG_!L%V5k z-uAUc5EJHF;jcQyUgZ%H1Hq3NZy{`?5?ud7Kw~TWlet+n-)FS zKQ;q-e=&oc-RUSRt^ zp!%Z}^DOap!xkT4zoLrbP7U0wB^<^5>QP|1rUzlSHE3dE|E z?++j^`3HyQmND(0Iz8A==}X{j>!gqmek2iG8!>(LD`aE#NJJ+NnU=FM;T4JXY9zD0 z;h=_ipuC|LJfR;?X*l<9N!rKCGGjat!XN#x7?ru*MZj7@^YSb4)`1se1uc`8%@Cze zYmh>Pxvh_W`lh{eWA`%+9+!6>K`ev}vz+70hG zf_3b_K1WuW*y3EZNwpE2aQEbE=}31yDzhU_k3N=4u5C9+l)R_Yc9g~ksiiZk;I8fP=i2$LQwYHZ__-Kh-l!c)^6kOjyw|>clp*0p8rrLQAnGaA^|@ld zHUO;GWT@x@3ipYpnpRl2{KsR4ZGo>-qJxQiF87=d`z0m;)XW^Fqe%YCb~r z+aHva5(^5}4dbvwv~(p+7#8p<6QbQ}-9SNlj=gU5e9(Zguu+@o>3_WdW21L$Kb0-< z!|y0--%cBwam<|fO%BlliRn-R`)%Tm+y`6N@MK8pW4$U)#5m4cd*{y@M=5g04l5hJ z@4@)i_b)3#5;qJ6jv{M+Yqe-oPlW=&(Ik`Yn8rX$sI8f|^^+;p;*EXN5d z!Hc~5%APY0tGRkKF`F4UtPH)Oc918vCd)~{7zwsQP=yq(mF2iA{uZm+dqC%VsW>?d zfHbJ1H%8g_UKm~+)vCjIBj8Jd^=(fD%F_Y#Wbk+kctkF}MdL6h zK=}#{iZhYplD(t(v(|Gc8zL6GSU3u6yTPrn(O89(MDY*Y@RW>Drv zVFD()y2oF=JjM-=C+V`ZrpsSb+h6(jwNL9vPi)0T1&J~e_mlEGm|yqcH$>k`RHL}E z1=vvbV;LKO^AfM|tN9mZ?+Y2wJD2(`-k{pTBXs?{NZ;`+J+3b>O)A0VGuW|p@vW~J z6KK%50IOkXM_{;J{T=!IVQrW9PmQ>4sa!M)8`XgO^te^MrJOh2Px(D9lO3<#9v{7L z;&7gAx(<8e!;wd~;>V5Yg?%#5vb##R>bnJ=KS53p#w){T-D-d$G z83;?Js>`;aygk|#KO=TYHJ*YNfkT*aOd#8^S3QWEig4N-ds!62Hi43e*E9nfV-@os z=?D%SJ9dWhVzuo%DIqPUKmEUv7`dVf;?wO)`FXcN#x!TTN3@mr%b&M#)VtbrcELyH zN?DuWyVqk66uaypTKobw@SkvWTKiv9F~PdslFKF|Ea#J=BP_MvZV?7CpF%*ralZeA2(s(P6W4}zZ)1L#5=PmxW#eux9EYVbKa0cTbW{!M|C{V**MSoY-mT^)U#&SXvBf z0XOBjZbu|1P#5JY_W9YyJiods2^+X_qY^=iRqe&BWRK-i&d7L-1(mtsTUBHEZJOx*bDLU@P)tndKo) zICg4x2fs-?LUe(56dIp8-EYkKGeR|$bdL$!>$~=nMxbucyQPLSx|204NfO(zSeSFI zfq#MVvjSsTV+O+(GYV3v3+HWtBEf;z$kR1#b(0nh_v*9zb|j(fW}3rVMbMT8V`xN# zPWJG{nRbO<9}CiLyR^C2Owy`c+CO@3t0s?A3(QlaD~kU>DG94An^L!Hq=p?!7i(Pe7;|{}*tK z@f&XNMuji@b{RLuy-k?}D%fvM9?JB(2=4ZvkFgAO9+z)0*7-g#`Z>dC;!8Uk8{;R# zPZSrP7IlPwAhVqaJB@>t%;!9pTzu>&OGIe7ZuBO8bXJFWNt;q-*~p-5*xG5fs z9e_dZ$Ag$?i1bcl3({0l!e7Y%5bh?(7bw+l4s^R02bS#5TV_4bpnBn{{uci#AqbFq zoy$t3daI>C^XM-24zOWoI+lTo2Jq34Cc%zoNEG?{D^i*ZxI32u335AK6-`Iou%OLI<>INhe*Z@KvOfHEnPl)c;s0CCvPkikMn36uw9$W&- zq!q;Semhk}IV)la7@4>9Gle_a%~KYSHy&Vx;(E(9GpL=uDJ$1q0oU(wS=>|flJ66W z>eDM#%IKqg%KN15zn}YfIF-ve&6kzoN@F=Nu=Jm)&Q6z@iM?LuR^qgY*!{7xtMb`GKPY z8jVH8Q|Njf#X}Kvza_C`U?Ggj)tyH z^Opcppc=>)Nc1Toq@X-+`hncr3HWHm5VC#F`JYr?gXV5!Sf8*&j{dM@h8&F2YH0(B z0LR|nxB@445I;sLmmvuszssP8-2N;&G*|nRb7rVSbY!mfJzZ-1Ge)L;r@;oaZ`S^N z+p#%Q!_=amKbDgTYZX1h`U4kwM zFg^~t=2SGTjq&QB1U)+(z8}9{wi7jwST7*pHW?&UFj{~ujo25r;KyEEStnI8o^3BC zm}F|cOm`fR3N&AoDZaoXinr8ga(*$ttN@W%8+Sq)l{Jphlp0My9GVAO|~X7kV~ z9QQqhyYSd-`gsYZi~N(`lRXiZhl^% zw~$Hcl>OsF7^z$5kc-_2nHIh!zV}sAt5>3>$m*!zRFdf8{-FG4Ebh+;LB~u1M@p_<6o*+SkDGCY>Mu*mkT} zFa5qP8{Y{O45O>ouoxp_;o#A0z1o-AhB{T=j)&4reEea|W3I&)SV&4$yz*lHUf&L& zDdE98+wZlEB`eDnmtr0ssOAM(2fXsR0|~#~YeKpQR5HAC;DbmEIH8sol03%CN!706 zzK+pTk(R*-_$;`*-kO$;SLbBvJG=3u8{R{TUK3PE*Wg4P2OE(Ep>*!ts#S@A?gt%>d!?`xDUE|daQr{4nt3a>4zwE|GzNOC}IfhRKxqQRe-dX9`T}-AWBQZ#1 zb_i$j)%}WWCtPWOCGEMIAbP3sz*xX9baI!4dXdcNzWQMmsIL1QBu?9u%icAwf+cJ+odlZi(^lS=7cak!`%zn%&u@37xi*c z-_*^nH2pw^%(Oq>6IhQy!X7W}ru_luuB4&ANU#+kmLksFL%*OBh_3hNk6T3TI-2h7 zaMm_foCOO;g6m0!^<>3u+QSNXb2(eS2E)FEs8T{|DTrr=>ws{FXUwXs#{?*mi+#rN z6}UI+^`aK&*8X;}`pBUcmY6p~E4sxvg>z|qvEUS;p(wq4bpXYQ{#6G#Zb+$Hbg0LM z1uk~v_a9UwVnsG_g&V@Kh$t)d#}l!t(VFr;l8@JGcw}_G2lcr8dD_Y^iVl~M|MoRg ze7N<m57GGsVJSnGjaG45_VyD3^M$*Cn7 z_@_^u0+gJ4eAypVK8;ql{rbJ5Q1_7pdFA$>4Q%ov8!ExAb>qoe&;1u#l3w%v$aa7` zrq=xlxY7w9zw#QPSRdp#dj#yoy&juVEM!G+G#bgBWb zcRwlxsVRii2!A>$7kxk>D9(Q@2_+^)Ss#t}2J_}o{k&Q)qi&`}I-5QywF44^tIj*a z^;5FEb$4?+22=j)1?V3(%Z%YoM!_D-t31GLq_)CHcz3xKfF?F2eK8?>> zHVkctr73{?OzM?y&34U37)5>r2$P(>0n^y^Z(pWAXGIPz>;nqIIOv<$LK(8R!lIq@ ztTbWRCE25SGA+Q^7iOc@0#po7_xY9(osh#21l%^_h}54NSCHq)Gf}{+#ui@<1a|*z zG4+TGor`VtmvNOs2~%%|Q`9eJl->fT!z&@6&+)~kdbB}+WMxz!^=!sE{6r?!ZP)Q( zBxf0;?5P~dZ$?OdRd8A-$9b1+q6Q_RG&sGbMG^(lES;9(*DM{` z70A?iYZXf+m+!pOs`?^4H0|~<)u4oiXkEpHyBXZ+j;-G!;Ndg)2Ho1$>4DgGGE>UF6Lj~+fPOV7_gmVg!EJK%AgVi&X( z1J7hPZoya{h#m`;`P+U;f(g-X;5t$BT6Pn=O!dDb3zg~T$ey-*C$ET7>74shvb05xlr`RR6fh$C>ji;uCY zTX^Tne98u+jJQ750r?zd2FegiaPqm*a&DczjpWkjdimZps%G2N|Cl}CXgqd~ zQ}OG~cT-5b_4Gx=L5v5>nFr+;aNAYUg~5L8`7hwqK!a;=vEzc~PjsBn7dT#Qy zF)Hy?@A7)N+7*(H93~+XhYNf5Fz#@!b?FMoruSH~1Eq%ZlwG@9b7C}w1i_3ASB^PI z;+9s4TzDn*g(R_L{}X?49N!|49F&4?`xv;K+e})Og{yLv^+nJ)bOt z9LvlIA^WQ?8w-omEqwlV{(IA>Ev*m&w;HWCC4;Q9^xceyVXxcpx zz*9ExI^kjPwpjzHZ)>7?)ty-p1B`t}#7I`z@UYx;pho>9C|sMLook>y!t)?zh?T{IYAFjuMYZ7v<|cu{ zd&Xnv29#HufKtMIOaO(le3-?lX$RY(4It{p)`Kg`j7K+8(KN7qSpv$1g?w_`Sg+(v zMuP`So{~N$r+)93nk($Km!ML8qz0Ul`BQW#9yIJnOS}VrQ-Cwnp$V}1_l=xZ?6Gi$) z90IqlILw$&R#*Y z23T~BZnar}dcItuWxQ?r^^GB}XVHQE%ayTi+)zy<3Fe`yY0dt*1Tia?ivmlEgs!#o zj_b#!1GBS%aHn_U!}v%xzSR@=w0n>OnZ=bA< zOwr~6XSm4gdJZ06n}c3`T*ldk)r-Es3NcRlzGqb@njqT9l=cc7a^Z%bO=#cYLxa0a zdi%uzaG$rrn+9>{{o!;Gf|)*3=s9o7G{lj5x$OLSM1S%#dw1GigZt@<>C%_>a6(ut z21-N_dBea*I&396x|8*#Zm`C^Ntbo?*qqjfF0CLy{ol>--|rwIGM@>dNB%v~SW|u^ zMz%K7w5k<8YUTlk1N*gqmm@Ib0|Md5J2ePAA|({L=+>duFx?vc%Lxp z67D3BR13)HbgY8J*OQ;UX-I8Ni$Spn!AL0Xvf9V2!lc6inKw1to$oYWdEWps^dXaO zY@-3X2UUIP1!an(;_!87M9haTqKFpHGai!n6+ksf!Ku@M0Wwjoh9<9P;)F*{CZqMo zY6&MNzW@#i5r~s)r>sRv0vwZeNe(g#q8!-t73rS)Qt59c-O#qN8$r^Q2gnlh;%7W` z0l81uN5T^l>+eubs=y<_FpkMcxaW>jBbyMwC;S^-PQw}~!@2`CCAu&qnE?g(+G)xz z@a_QUN$H1?sUwA+LOyIgcKx6JM$z+si;3IEpB(Yer(`@A-uRxJBt^X6mo(-ryw{ly}doC14+7OaLo@ImFvYb)M*i*lv(+9Q{7KQtJ=umQeJQ2}>qh?rX3W z5j@<2;@qG+Fw{5YP&lqrJg0Yz1b*&GD9I2CB!F!6-kuTwJYH$gZrBTW*^+}6_d{*M zEWSE|3n*crM9P8tYG%;6H@A)D%XYlXh<|i(6y(*X|L+reh7d0O{s?7+)}jUlbp7Af z8+5@FGT~tc-c0#`FsL|>c<4$gb!Yl6@#mbNEDR^heAP*NodV-X|MN}442SQt-+%LL zsO{gM7rvk@pKH|=_V+^g>6zE-E$*!wFmN;-tKW<0mk24LAza`j(7#`G4}n`5d=d3` zz&7!|Jb>_Pnj{)uk_>W8S{VirJAW!M6(&l<+bgKs@5-#X^<9IzDP*Ey*p=yz%BOyR z{}|~CxBP8wB^;gS7l|sBJc;p82r2FVduiF=rQdU&mRnU^5vjv%2IFZ!J*cDuM8 zh`VqL(tG;q6*- zoB*tQXzz1m6AdWD!cy%FqF_2K0}rXF6H<9I1!&d zW6t9pwV?mUuCar5ruhbJ^sgLNk*f=6O9&ByM3B(a-?D-d&7Hm_8`M% z4737Q;-8@zka(Z!Z-CSpPH}tyJBr`Fg5=*>M5=8KWeBk9<)m&P_7H9kCznv23o$v} zoeO-4sbgjq87*51?E%et4-5&nC6dAT zxp{QSzUe;hX~Qufa|vRs|LKa_(|2_2qRqt<=NdwPGkulk*FTUYkB?5|MwNztU%QRt zQOw`M?|=W!hT|(<%dqjJK=ZqICS=iOo4}MK{+lBlN9nsfzzV^12sx}i)$e!FK?4?i zCNxqY%(%|hJtl|(H`d<$R6Q+W{L()kP=CK6Vfi@St4Hc502bYLUjXL#J+gF|x0m?w zo6R(|wqJ+M4QS$=oKx@oydZ?*Vywcs7x6K_ikg0a)lU2?<&#|TWDe`i&9YvObAJl2 z{uR)~w*;eAY~_Elm~fGdSMKpma(;SB)Jx)bjK72U-@qVPo9i(c=YoXkmtlGYSw81R zo31slGM{UQLHhehruZ)QW!fCfbpx$??Vwot1kRrSdpJJ3Yy8ioYsMe~<$FEJ`_D8+ zBYQ_A4&=7EDI5n_4lz{TnutCWu1wk5CyjLS2^;j z8XGzU>(}sx%oqRXfBf&k`V?~8G>1M#p?I)F-%=7h`Ja!poWnA{)#|@q00KcV_)AwP ze@b1!Zp1vrJle>4bbHGG?_CpJL5TnVd?z89XW-08*kv$71Ai}DR;ZWiZ|NkB?0L2! zTe}NxO(!9pBiA!hI>E6L>U3^l?wB~Z9Z)#~sV0xMWr+Xh6$K07WA$bIpRa%Wlf>bJ zOY7safJ$rLAlsK-?g5yZD`NjC#eEY*p8d+xkFe&Z7?kV^`4M$;^IbVT%>Xy@tXW+C z+t2~{w)jq6zMarz2+|%yp~_3URqo=@`AcJmkl2puuF_Y_QeE>u-+Ac&N8mf0G{}Mj z7kXh*4GW(g&Y$A=e3}!{{-4#dE^+&^3UzHQ7!X=-@_kSuS6&CXg+R&5@zotYZ~I(fP|*_ zEAU;1E9jIu>gD;5lqLah&szHa|xbEeqql_N;Ki#^fBVA>3*Fqp=Ve;~_=8Ngy;%4^&H8fNLbaDj_ zpg#M1U|@wAeHEDnW2I8aGm{3YP!BK^?&yjJ(vU7tqTclYz&a4SWMelDAJwr0G0<6@ zR`~qx<(#E%d#$(-wXXtv)l-kQcccon)gEt@zI@O;LBtrokU+57g7mry zJ}nMZ%uXJMthl6fZWiAE9`Nmz&QsN*ZHv)oiI~6d#Q;4eqL3bG#3q=!N}JVUOgs}K zMTUnqQ!@E%GrD7VBuGm%1h$RQI40;ci6F&5L$w>LeC^9aA}|{kO6UdnUkHHN#3W10py>X}?lJrN zn^0P(>$;^54V*f~86F$s50JL=?l?!&k8V;0npskJVBp{VKJ@yv&-T3aG-B?`*V+3J zWx96vJXV-X(bwgOwSil}oL{v|r{B^@Vc&CPf!7>Nv#_t8U!}AQ-`UVfDTfiz-cv`cnT? zZUP-545AVY*-;I~Q(;)Zl8IEOX&L$4v#OIa3x!;bf)N;2?gSM0j2~-=gS6-oP~zXJ zhShg%vV2}D#i{-T^6?pAB#4CEnQHK~+8D1kD|>2C*QJF5D*2x`>} zM0khgPyCu7(X-PN=X0+U_z}qC--PPfP|t9-=b}q||GDdUikx0CsEKIub+<#5=bL(G zHjAN~i7<$s!R9d4@8qk8BmoyHOHUnNy5RCnb1*@Qn}w3>DHRu~mj#D2P$JdQSQ1+y zb!kK(2$e&WgX4ZX7`Z_e1|762esk8Re*1t537fB!dWnaYK3^~RHsM^%XErG5GQuK* zhWsQ3q3J}*70T5vwXoN)K=;_oZ3mf=~BUp?hP?E=}Ri$}O|AdL7Z7WVcVa3fLx zc0t+i@P}g`a)NB;G?VuN|1&=<2%6vIt~>DkGF3&1pQ+$uisIyB%>m|O(fV+9U`X1t z`n4zyJ>mA&uLUcnqO9{Ej50n{w-F|&={@uhLM`oO&?kJgh-Z=nBmp!Be0 zyyYV0(&Y*}h9W#w7zQB*X%iwdM#$4N1cVc|*K@c!w~x>e5Z%0>=8sf#_UGEs0mbMnJE}0WVaqtn1<57IJ-7bpans4qqb_=ZYh&_dLF$d>=c;FR%sEc;vt0$3 zWV8sCkrAB~%2>-XIeW|7ZmZNX&F8w(wA zH_M=Yz!7`trTbC|&u;KVc(ML_r9dzS_q~6Qhof$zm!sHD7jxS<3~B>3r&g1X>jLgg z$8o`D0O#?YzO3?UQFa2vSn+F#p~y2K`!r2>Y;eLgew$Yj>LnJ>gWSGxcrKf7qXgm;*T0J(lm2o~%-g!YO*u9rShhCrdpuR|b% z=1LOW7xp6zKm0~qV;k-UiUSO*7{)DMXjkwN9Vv^!hb07Mk9Ci2kA2UU>DZDU<1Sz# z*R5N1O4#2$?`|Xx_c9;$k~f*~#NQZ8{mqrcY7AD#q48m*RUORW9oT)sO+@E(gWRxN z5wl;kncuFeUY@9TFLZq@OC`}J=sZm`n5b8nq8Y(EA5`)M2pb**=M{;WpYJkO0HnyY z_5ADv$7>KNWpA^u@>z7?!f)LCTBMr}MaR6F9e5hxJXZPf`6P3^>t@nhN`#OyI@F!0 zHTzZI*>S-egX%|apzvwwdUS5182>L?Bt}3?gW&jW=5*@<2%GZZA(!hk0>3sZBZ^v( zEQ2CW+(0Z&(m*0k+8~Hs_$lfJ{7NkB>Sq`}?oD&IY{(zFB%LA7C~;g2glr#y&qGCX}l(MpT;UIA}4{|N`Cs36|voUK>v=ANcIR>(Y1QGHmadh ztVg7?0FnTSU><1?=qGh8tsgLm3=uo*J2hH)r)fI;mVAdosTB%(_%A}`MG=FVE%O$i zamwg#-P1^&1@!W528_(X4izXbW4C->n;IIbiI4t+`sE}gH?5*O1*6Y`9Fh)|{5AGw z#@!1%T2=|JQf^Vr3c>7yM`b!p&LQ4- zE1o1m2S9o#mja0Q@DxxnuYe#QsN<#dGxl#uSc+;9p#1>$3J zJq&5K&qUjwhe4cI$9pf?96 zvOxpPuInIO`@*Ux?V9N4hmW^E4uQ%bv5l(X*adZ96Mftyv^n+EY#ts)(sBhZz8 z5yVE)0AQjE*>7z=gE!kJQ^=mI#O}^FSH52&Ob=oTR8MGg1V1b=l;(JN^-nB-7SkW! zi*{6?F0Bnv1f>ks7+rCWD!4E7M<{;SjWG2vr!XLk6f%>&(M&NTOru9kaXL)#mK5j4 z=V^{a1b3)RGe;q1&=;O~GBdK9vKO)ha`bY%a?)}dOlr5C(LCyIZyoBsw8pM~w+0um zY@Zu?t*o~2Si8uH6W%yV{P?<;@^5L%c^gHXpn*V%*@Mx8$%EO$@(zAR=%;9zq)(lt zLc{&VEZ)N0JUl%c)R_|VUGkKxVONPs;rP73%1C_l^T*d)8$c$KkxoFi z6&OHZZZc&l5E2QPONfF*47d^Uu0gK=VRwe^^4n1EYyVrlx`s?usDt z%?UDyaSr2Ew?TCaAJVt0vK?$Sk?Qo>U;X+GnRpc?zs9AbinLIC0g?lwEJKbys_iX% zC%)dL>SZV&HZ6lYg`QoJz(1f_7oP_@8fo}LUjV@hh=b%)aU`EsVttl=s|}GahiI2$ zSd?GceU+P$gLE5^cJEcf;18kGq35A=VYkAJ!va;IbFNs}3^I{f5SiE!#kWHzpSF3p zsFt%D>1-K7m1)?Rjh*i>q8p<(UGc$d_r%-Uv=v_=UXfh6MG-d;J`g?V!Mdx$@D)q& zP2KZJPgQ-&iEWfIKi_N2QOpEZ-Bg>Py#+G>U?qa!o;rvHbGfL4me>id$VOWE;d%XFe$X9|{p(d1w?$WeZtD5g zp!(hS3jj4D7M;SSzx8k{rU)b~zU-m0XCvW|It1ZjIrP`=JiX2ei2poK!$rYl#U0e$ z0k$EzpMR;a+htI^sMkdhuI0<7qpw5Hy7_m!iOZm>O;<$OjYl#3@nn`|4`qLe+m1YO zeO3YpjMM>6Q4G%>^@STRFRD!=iMU0@@zWmV7~hZJn81(ln2%sJ<-u?;&~HPtcjpPU zvr!`da6LGj*bFGjsle>OG8TFo{NrHd#lw2Hj%ZAL0e@0924+Gm6~NH3%o@gx$ax^I z03UJJV+ID1+@6lW@pEL?8UIL@(LqH}iaEPmH7-nqwm<*L(Wg$hZ`p zm)}~^D4lY@4BvFP=G-Cji(jYj0RKEEX1?{AqUl3Co} zK1E&^36RN2EfB0rA0rqNgNE9d^dFX?!mx|&67l!bk%pHGaA37vihbFT55{7Lk^a9P z_vayCX9CH9-U2)Jy%(>3>)C(&CvxZi-{<|=`7@2+o2oZZ#V1+PdHvb{Ny}eh+?qfH^4Uv8iwejG{rM1U1WP6V`-)47{dL{tPj}Rju7*tq*>7TK z)a;AVo2sqhaj0z^$bhlu{=B>j_||JVSj z70?x&pJr|?1NZduMQB!Gxzzk?dH;MtEdRI>2O;ue!q1Y}ml9ANlA-bEE`P2;-sm?+ z|KmzP$u2=~ad(w->h5g_>VfQkecdm?49->+@@(1Jj`9Bo=3IP=vi4gn|NF)Ne&q}# zSOarxBp(#}pnvlTplI^#;DG<_y31F?@KZ{Ph4iUxw?^s3V9WgkW?*ebq zkOQ3|PCT3O|BF@RBC}#!uta75yNCVRJaXH7Pmz0m`T;Ng(yIFhI|)RiEdOt!2$h)Q z1yUp^wD_oJ{Y|i#>!^MI`0FK)|IL?waX_L2(jE~uJNUyK{_HTS|BAtoY{GzKlRVxO zZANH2v8nTad)?((?IM8gxz%;|D5#>i>R6s31EK!GafPVvqk#Z)gZ3 z?ESxl?>{O1OBR8Ln6rYb^=?8#P;D78ADQo|ElrPDJr1xVqP62r!%eu(nW`E!E zul=#1_Qm{f8&FIDGB{@1yN~ie9;E+q$A5`nhG^uuQm9+c{PO??UWi`$pTGQrVgG{? zNu)$xOgY1B14Kz8H`@AtdEF(KCMqMjjJf>&n?C-(mPqP|CQ)P4ts(7@I%;CTMld6x z;q>Fy-3F6=%y3+!wJ{6a8HSf-s4EgHQY+FcvMX(>wOCjE0!^>hnBtC@s#AvwlOZj8 zq-{bPZvVF}S&_HzQt+HW6;2ilr~3S)wfdvjjx)#QPh$>*Py#TUG0!liumUL5mT&R~ zV1t7j&>|6^{f88JQABzTmW8gB-zNeJnj{}bt7euPpX=Aj*Er7@wX3)^fVUm45?sgz zm1F+FYLuiw$*IBHV5ne##J@?jYAU9souPvms_a~c!5fM2_EYei;7Zbe~5X{GBS zb)`!g1V+dWzcjZVm&NG=k(tMby)_A*0c@zhmWtJkb(RtQV@&ZXArNp^A7j&?{mu95 zaWH@9(qv4`&;07bZ~T3R-Q4D`eSLk=yl*wI8`%>znnh+dH+gin`-`S|91qb4ya)UT zf(AkdBK68c0>g6uZ>~`4rSsHuC2u$HBo93wC!ZvrI-fb8E2&^H2L%CT)O#U>2;tWY z^_{-h+%{mndHFiFs8q`SVJZ^(5gilx5!>DIL)uM#K|wT9mn!WY@ob$6gDfPCXNr?x zMoQzu`Qz&E+h0a7yU;ZRlW(1^sbn2ss+>i%_F9ZE0b&nWeY?QLWUckjx`lpLMl#b#UyLa}( zoc8Eeg^r~ZunG5o<#EZMugIbG?`wNtnB-m3PrOw&{9gAu38#CP-gr>-RHZEXFR_*g zK^uq!|8D(P;KznoJ^h|h2$3F?5;12dF-}3be+|b*{+BKzq(>d6JX%)%4`GtJa$s8} zaM=9A$iQX@E`;a$KdP9eEmNj9xp(EX?88_u8>-QJoZqsF0~hVK1iM!=G&k%+*mT%= z7@gWU_HdI$IVy8G+RbwGHo@m)k$=>}ZAKJYY$NO(>?v&8t45irDONItrszsYYGFoD z@(HP5Dr*KWv|>th)D`8G+befh)K)ZB1}QQt@5B&+Hy0DYNQ3`3+Xch8+S0?a9ZT1Y zNc2eo{lZ90BLUw&Q$RT$x^Z7N!Fp(tSd6?JZce8M)n_`fHu)_k6W>DeZstqm%je&{ z>6yFThjSTZoIXe7LWq@vrI2>0%p>C9Kbz{k=XSpyxd0~*J*7WZfeadknoR%UbXJjE zSyBkRME~?J(bC>f_|EZ9EI zVJMq^PtMudUoPs!=B=;H#P__DUe|RK75pPLSMlxw4Ltm})I3&;eR=hO-nq$e{IatBD!= z@yS<%n`PRDx@1kAUs-(qe)uz#z2&zh1bq7?#zN6df#uvo105XmGc<*ltdV#JVr!#t zAq>8jTOa;rt*ECcj=1vIc?f`Q(Nh)|dg+cKHJHLLvHc2rt@n#TZIPuM-Q^0jl2AHR zS0M(qyEIODy7?yB0ZrX>^c2AueZ!f;SNJsltaAopFx-b_0nPv}CJCS#rE)L{6EuWb zhWh2K9{Y|ecpi(|f#Tn9*_AMZ-|>lE0FY{0)dtuk%TS0p8!YDX-7%sKyc{U(DnGuq z{o;BWYDTcyy>BqzKQRL)EE$lsc)?p_LB#vcoD#fw(g*k$;?B9TzeGI)Gqwx}^_#ot zv@ogPc0`&{8=H|YnSbm4DmEB=ISw}2Qv2*mqzISIpPho8>}bGNwTn!4XS9!Nt8lqf z_MQ{j{8n|3ATi@U#p>1KHE()nq)mEY0^8~Qe_8*DB4|3#4bC!aM~aOokVYTH7hiR7 za#~qn?#NZkd?Nm7vyFeV#&7@bzml3H<;P!EM^6t^&v|&zdsxnF+9?xdR3UoN$ekoB z!B+1VS)_Qq5L`hBl&cPzcF{2XKBup^QHwN60@cQ#Zl;W2i`e-bpRxLX1#~Y-$Yig3 zX2WN?rb06Jm$}X`11Y{$eJnIX%UWeN=V48$#}sy^p>%PxBw@APa zyZs3q{c<)VY9dpX*{(F5{72olngB`M)+;(AN}qrYT!q8} zl$ReRXuJIwpp7d%*G4P}!p|;+nk5SA`uqq8E+!gNin&>i_pJh~%?z>} z#FG?vBfCk{)RJ(8zdJQ9rDHpIoX$W)4?yCBu`t)~T{d#6=?^IY7Fh&H{8TUs?XLJ~ z&#N_lS|9gVO7-C36pybsF1g4-j*B3k{1hO>mCADmYa9*Xaka>pFrEK8zkZ_^Pm9?f z-h#?8CEm8D3=c~zWc_u{Ral@*1LVL{fu(1^)qZ@kQ7f_=tl!oY}C(fnTH% z*{Fh2#A%YQ%*>$5HVIT=-?Z+ekbIjPqwNd2NA$)^QW!E2CL&Y90NZ0j6O||e5`7S* z+3fe$y;LL`2dE+*plK|rI3C#%L)|Sl^=uB_rmYarv6IIQkd4|VU-KhG8K8n`k>iY$ zkUieu&F>|Ctr;4^gfdlO3J)3h?qY!}@=T7>j#R(SC0~y=`eQ91s1&PGi%5>Xp0J|8 zENR4sxLGU2A^~>e2rynUf62p>Y)Rir*HYvhEnf_~MW^`pHvMS;^q>U>M&=SXGA)Ty z@_c@^cCWCF07xfB5)RyE!p+o*VV-Q(lY&rbL^Z(89HcS)nxAYDnQ0`ibE*;SUIF>it7U(e@fH{1FSgDwt(%)Z}OHMMyP ziedYk`rz?pAQ(IZWE-Gv@@K2Ab_!6m6#E2%Zo&YX9MDEHF(&G0Z4zZ zlSne!#X-SM?T-af&@)-aX^mn@OG}Kc4Pir&e#&5Y7#3ad>nlJyu+~AB$;uHw)9!a01iH zejn+5vS3F#$p(x$l&7?q{}l#8F!fzEI3(oU10ySK!mCceC;Z)gl-(-Jp_% z?lTV}@BUk@9b|WdBXHp&Xmfwl&}*UE$cyDC(Ol5GfhAQP;|oV8nAMc`$VFg(g6L&misPJwVqD4G5f161dcuKxVT?lu$@<1FnG>*bm&%Ux48VM zt<>WHUI>6D$ebB6GqQd^g4X%oIly1sd41=p>Y<*5O7%YOO+KVp-;oJ^aGSv$tJvt^ z`QwWpY`zP**LJ=LU37&m-$;%W=Shp~KT)O=3yS`v<+~nYwSx%n`L_K;r;CKVB$b`l zm=&GZm?!jxKC^~VgU%I`8ubX{8spp#k3(^r&0k8oe`9;vyR-hlaIwCqwrh9PAw}1D zobkC-{oR6qOjc@LGRYRzhdmrVF_O%`&6>qHV9D=vaIxB3+=Y zGrdVuMZ#G*5;UFHI$hgch3>lw{jm16TVE&oG%C5sOkh54Ym{p9%&W9+oP1v2zUEUY zC(hywdCSwFMm%y*P=m4R^WOi^>FDP|g8U3dZmJ?0=-qx3-Kql1xQy^_v#lpzf$hpeel|TTcCG8}u^mZt(Q?rfIu~woKRs>2#d9 zCqziet0IJ!bkLE8TPreKWw$>Mz_OI%(dcF6pgPC@!w0$vlMht(FBMkuWf+8~iVIUt z<3%XNZxX7U*YVqM9pyASZW0XY3OMLqh!N9vW-M%w^!3#w0F30odZ6vFaG07G7#KSC z>M`|Cn+ zn>IZ`a3Q?YKJUp{s)*9tqSw1ZMfKjp3?i1q^lJHB%We$e?>uM?&Z#k~DV`}gyjywyp{uC|Oi9xpe$Q3N5#o9+ zB~o+up2*z=LdQ4s%CT|zzBi5s#3zKUyOX6aQaCq%q}FaC7-!;tmdVgMCs(8q^^E>_ z$CG9%hU~t#p>!rUPQR~$aG>N@iPukL@Dz>E zy$G+RFouLF?OV8gCH|tpVP*e}PhzwvhIwZo+!jw4!+MC#3IPMJ9#q7C#tSCnG3Wvf zMXbHDqOBLrI>{yiL8~9MPLihNH^8fCW#R`1n9DznfQ%+kI#E*vuzq$d#x8v%1A42P!cmbH7s;{e4c&O_Mse|$vDBAc0 zj3jQ+O;B~l08FKHFfE`5KqKTg8of5C#so_Rjcr^;jl8ixpnHUE5~+(sDSw*(_@r0c zABhU5WOk~X_oT5+;DMd(w}AS*fed~T!;xBNlN9>6wx!-ItFA=Gf>Y2YM0oTbxZ!8d zFe6_F`d?|rymD;P*ycHXinr#@KfNoFRx?IW;kMMQ^C`K>W2o(Y=!eMj(8aIDQKLH1 z;(4ZQ9{3%W7$UF`MKd^Pz#8`>lo_&j)8PpcxQJ{o1^?N4{e-xC=vf7VltM{%TtU>t z7~+*3P@-k*pxYu9w%Pk5c}4ng=UY!4Ez}Kb$c06TMgY_WYI=&&G7}JQob(g4X)Y5H ziM}?oLC-QORHvn$Vs=1+XU{l{Wv`y#YFH}iv^JTRwdzEc#9So!IDQ8cGI%(i6gv;s z{UEWk|K=rSzRXb`jx=_yw*vrlZ|Q+Pa$0N!tC{wP!)brBmbP_0$0+yNi%HJHZ1ZuC z)i1Y^vjd^M=Kv!e{=pfsRD;*n$_^u1d>&lEFMf-OTKbdM5=yxLS>hmfD$0nK|22^`!CamVd8snriTi zJr@HlF6Dzpw`&6csKI(!|1==XR1IFneA*0PKN5T1_>CwpaS0gnY1@C~oq(zjEMsR+ zfFaAA83c*>2FdMq5;O@s#~0Wm7F*s`0QeHJkBJa-Ic{I$Db#pQSAxBJX;utn!@lr} zbSJJYb?;$Qd$K)}hkRksw1+(y#64pufsR8)jAi19q%tIVM&8i1Nypd7#^V{O$$w$u z=MPJ)Px0<)L_dEzHUlS?eX@ARcvN8LrElfb53^?tI=PFLp%2%9Dqiu_y2w z=Vj9^dh@}IrJ;OzOaNGZZmQNgQo$HF3db);%Zb;eco_)bs=%IN3z>NetU}I#nMkk4 zNcM{%L+wk0yg)j&g4gYmYrlUhvl^3fj>&pmkZlm;BDgJCDukEtXc0r6BCw;!V3+3F zm$+2hqxe#ndZj9jD*2%6`cd+Glkrzq*J)1cyZoiua&l*E!(MiSK26M+bUt}vykwI> z$KTmW5+q^hXP|h4w2MCIlo8lAEvEd`@x(3-!TDD(Q-AqU#f<$km|kyW4Y8c6;P)UR zH(c7#G>YdZp9h`S1GwA7^^*yvTi!n&LX-?@op=BaMrhj>bG-viIpt=*q&5Snsm3X~ z5_-*W+ae!JL$yCkM1wCv$bJNCDU|1ww|ZVcM=c=);Pncr-m@mJ)x@;JGA1A_rn(9vR+p;dN5y3QjCr&RHbQd6XU`r3pQr|xu`Yo|ObdwygP$UcT;8|gIpA>T$%?cIL#LGkT3EDg ze)JXuYvso% z%M0nnF~svcOU5IT%16JgF~yzaP6=>$krhwk7zNy z&_{R#1;0^^3s7f1F0miRO2VuNa8Mvk>wh* z&iOA#v9h7Ye&1Oa7Ne@{RwPUvA;)Oyk^@|NLBWoD06LwO6NPNz0G(R0Z{@fQL1mI; zY>kNfIz;Zybz@eaq6Y>7QT8EI=DDusG9pJZ9UK2IIcV+Ea zw2FKad5aN9kMXcaS*nkH(^W6H>(xbmZlJ(*$=3|71QyC{$_@1Kc7^^7k{)+kF`NvA zon4!>fHjk@=oC9noN(2YO1GnvN%7l$pfk3SXr!A(Qi;-!<+#pLgm~#?@6_&hMiS89;JZ_?u?q@Bm=W-g zX$zRBxrCvzPnwSR*Klz4v(fFie9Xy@61%8bYSb;UoZVZP)c~VHXtt{aM3oFDpR6-a zR|QoNK5?%jGCyhW#a;gpN{`*uMzg(u+Q>MTrTm7VkYZ9)mi99$E`y38Tqr_vJ=S6u zMsqe7iM2C8CZcoub0uN_+_&L3Ry z`uzT7xVvREF)KvFPF9(bUS#;pkJfjPMfxD5<++c;wIJz=cGr|gpsK9{O1=+Zvpk^Y zi+CkK!ud0%$Xs!tLbK(XYBsY7CvFx;?Y2T1>yTI6xg3(rE)IB6Xsd4yuqvmh|}4%I96M*2VvbDSAeD59t1Fxw3c_ua%DvQ$ju6 zK6fpCM-@gNBHZZ9?&KF53?1!wlCQ*95*O&}tgGeS(A{sKWE>=Iu0&WI*T!D}>|iDK z1yqZRW++gGW1>4RN=>%POTHfI*~9vL5N5Ri>|Q_>NB~d5BzTn>%Ml5Bt9D6d2k&2< z)P4insl6eiBc=kijT~_*W*4{GDL5`;IM38T)ZXsr*?FzcQ*KJWaf;}z#E3fmM?f&W))pEimn=7n#h#pBP?=qAwV2x+`@b$OPZItW}TnWJ-#hTAQui_<9mMD4N zJlspp)HA{w&Q0dNu0|)S3cH8O-l{Hw#fb2PL|mKqClU2BE%K%?1A^5&&M~wwYc|Sk zIEgX)ktU`{;k4fx&jLzlIQ18FF3F8JQAou6(CfQILLrV%)mZ2;LCqDlOU-vYkx2%< zFP$mfKF8PasSt3CZ(9_dY28uFEG{eX5KIPE=mIo%dEJjKxm4m#0kKmu?Ch91sWJb1BB z&O^{xY?l8y%?Nm-A-dG&*GPcXJ?F~4cLkz{OeWMF>F9K#al*7H9BZD@8eRX9IB8< zO^Uf6zv4z+na0ExqN*5*v9$I6rr^<3@y0eki|pYa?M<;t{JLY zk`E0Od_f;)x_#TijJ|ieEmH<#k-VxIsz@hVJb&t=g(IQOfG@UN{GO2F2z2}DHP5`g z=+^b5nQ%<4spgJlkl1TicWitdj?R>6(ENn`1tVPB;yh>kG#;&cW{r1L;}M7Mk;h6hemYlV1=(f6ay3k31avl|_rNr#0Bd*xL5x}d!G65j!} zsobD8k?V!hsrn~yJf}c>JtRl8cXkh@u^G5pRJ*qVsi`HjTN%5#i0T3IyGUe z`t|k_2-?`e+g=M5wC{4J8&SNi`+=HsHk%)c4kF90#PEwW>#~|zN52hiAo9Y#UW7`t zszH6UL74tHay~wQQj|;WfDwEl$6=~@`RF9aF z_mC&!>w*d2!1Gqvin8&%(a!?uSKV0ELqS2i&EL$KbM zcis?;U-h9tnf@XCNZPi5Tsc|@(j@#wx6zgJ?NnXZmq%J!k3=}lj=z-R5*qffgkbK4 zyusVYU5Z`lDN1-5<0Y{1a_UW{=IuQLCGOC+HVgz~=g3FDMo&w{+zSzcp@BIpMjwX7 zb`lK*K^732CM<4aK)2sNp9$@HkLKTgF>&>nMxuV)t@!&-T7T`i!+ct5fJ#T^c|Nlc zK50|4?vqrrskR@yqYvcny!fMrx2_S2%ven?8KWY7ZP#K_aR#$YZ>(a>&35yck9dC##H1s{TD z))+jywg)mIMdXi^yI=84-Na6AG&8heFgz5QAz)j4QnkpC`F zULf@?5x4pnH8DkJwwSx1cfUpzyH$ltI0l!Y|JQd9gfkOerki~81GlJ(HCxHyMXis! z(W2)sBBkyv_vK(nY|5N=H1d>by^e{C3F7BXtxv}?4iEmo=tIR<+0YWSJ`zTco#goo z{SUPy?y3=a2%k~rieC+kx?S`^B)=PHob{1mMw6-S2Hv9YM#z3uT<`AAp=1IzaDw5t zj2v+c(UWog7l5NpkPlqV5(Kq;SG&5;$0y{<_qXnQ2WHm!MZvn6N!`H7yR|r@y!@i$X93uRblRhyS^4xryt*rV&kLv7)w6Al@t^{ew!0FN%>BG8 zozIn;jGO(iVt?*q8#6*@z7)t1l)DRJoy>0DaN3eh2LW37ViGq!R<_@+URH+4!6rP3`vRfgE55J)Hloz(dmN4=bz?7rv* zqbTK`k+mBrEe3&E2xpF|;kmDYDpP$-GTz$4L z@?#cjIJuI_xo=5atPb}uDt*6=uf%7vh3Acc>pImdz&iSP@0*anSb_1 z?M>3G^6+?^sKGn7M|{ILlk_(JNf6o!P3Oi|k{3Q`69q)av`$-LE3M%leDmbOAZY&6 zs&Y?3bqoXFyvS8GrLDx_kq$%$qJ_eV)~VcdF{t(073=aMNeo1Dr!?CI9&eDcOU?G? z^g@tPatmEe(P5$EWRUydAU#A_dYVw8`e)~+2<$ANt?r;Og(yJ~ai&2uu{*~`N;X}- zMu2++kOvQuotfYx!!_!XjC!UMJ)lG4o!OP}spx?VMRFrjjarAhNW_&ZNmS>w=1Z7& zU^Tue$4@uH2fMNdIxXe zZYhN6-ZV?+msGm|KnQFH^kVs7Mo4^^4-8XX3Ap5KvcmB-J~CK#O(6t~uRyh(8Ge7) zMAqWo;aBGcSbW>KYSo8wYHAN`7Pk^kgMg*W@|ss{(3zGAj$E(9j!04SfnBdc>T29X zD;f*a`(GS&3>qX2w8fO=HHgnfF?k$w~d4QT5@Pi$=`b zJx_Y<0@PM-pB|v6$uNi(re%s7D9Y=8?2+}GyKji@yM6n`sK7jBT#(VsMV8I^>5hWGTi23}ZF~%^4{-`Cmd&3T%<2Tr{-|cV4j;vfgPql!77^<|FcotvGJ`tFi zKK1;d+5Y%3r?00yC;jBNf}ew)uh#SItuFG7AOW(oVP>FBkCtnNUV-_1W{38&{!KF0 z*c)VK<%$&>gk_IHMr%yUuQl>0*VSg3W?-%=#sonpH?cR$(ubKuch1V5RBGtV+4;1% z_W)Kqo%%=^)a&t zr+s(prnfAqy$D-{B6O){4Wg{yM0zGiLX0a=*r}U}$jahc38HK#oR;(N>HuI1hYA{H zVCm^Nb^O{JwK=SHR0MU$tze@(VYKy#>urs9F`9{%-Zi62d>j;55eg$*q^vkHAlT51 zxMj3~X+CejK6uapKqAC`4OAxl=fd&?KdqKqE?#tD<$mt#jVAMgzNK)L2^92ae34nv z$h4an|4~P_Sr6lhdQEB2Lt)<9at06Us@=i{HOP(V8l#u4QS7{fxE7Q+P90t#Q(_!= zWCibi&}7_R({@n{#@Dv9S$+HT6y!lgROGL{P`Elg@(3hG?`(s7AycHtjc{tltRu`MLr&l6w$OM(=17s4rh5wNW@3rq+ zu?;#*&IMz@FTa=>Z5kI9+wTTtB2XrkU~P43H1`6>p_##W_HyR?G+);ScJ-9IhJ4b- z@${)0s7CAz?toL&h9KdcslRXh!9Du(^9m!$2}UkkUQslO_OHSuGvf?1&Gq*JeQb)p zNH*0y^fO_tIFk@fzj_=I)sYnGrDSTupwa(iukx8b_Cn@Lb*$c%h!fh1FYi6cc#R!i zvbDz-=(#7P0%%&68_fuqsK&skmC-^#B7o|3S?QBFgshhsGU?9^oe;Kv_C}5Ddbvg* z_rmKVQuH|J7Ibe zQ3uIFLVS5-8!egjQxN@xm9L&xL|n6NHA%aUb2v+cW$AvHa4+&<9=(I7qec`v;?&S| zK4&jYjO^R2>ji)ab%SmwOh1VR8oiw-1WiC=lRyq18=mY0G-&XwT?0t)X_U)EpPz}W z?6{$gAaP<)1)`|0)4}JRVnh+o7`rt6Q6$#jw>SbGN{Ow6({&8idMw|B#EaNsTA()! zx9^)~V#rgET5c`qQ>^gnAAmSr2>VSqs10w9Y~DV5b-MsJGDpJu>K^*MFVSZ)c7OPc z218=W&9kGxGwi8V-X4v~P1t)Nr6oO+9CDrwn`%w5ReFWd1~ED4PUya9wFE(8fpr(G z`N58d&3>Mg0+vxfO<2X9ChIgGTvRs$V^TAaJE^s%8tr6p!=~oqBJbkDo7>%rmRLmu zZNi$Tm#%W!hxppcW0f~3*bjc{ZOV}PwS30je|=sB*V=CIsx({F(|`P>q_SyZxAI4Q zndRB8Nq59@i_X!V(VHLAzOhd-HWv6xOzW&n8+>jt4PwK8iD6DWE}{P7#e=Q9Mr$7o z{fEPez_6Wx1#g73eAiL6ZbvP{TL)Fiu)s=1gs;z!$$DWn_Fn0ZaK~xR+71=7Ul{BWbqy(87ZxX5s;eSKiyv zs#uSJrnJX5{c@UomYMXoI)z=U^PGm0-Flh7zTRyUTAWT;&Cpdf+Shy__H8J}?Gx)Y zjONFO2W*r9n^Z?OOE=(7B3&s_LGf=n9~t_*)*B3tT4H`!E9eUFz}0DU&tG_!?=OEN zi^QAdZP^>T`wjHV>Un@1juDjdxD)5((ChknFFIGnkbo(@}O6#v*S=Kg+MThHhn7 z881Vavr?|6~{}4r{G9&T+TG^ZkY`XmlV8UrK<8!|-#HDl z=!nG@lArOO@=Txg)cWZ(D9v&o`U_~o0YR%6ryh76zxr6@?gq*vpZvp*6*bT$+JW~u z_X7(GNhK-+ZP`v}^)=q91%95`P+EIQ&!w(FbriqRpJvxmZb)qBY+5MUa?{$j+&>y7 zD_nT}sDk`7!0g9)Ra~ce5u%|YEU<94S*rWTW*LJ=!NucqQ4fK=g5JAASsau#MLG7! z6V(L3f*57I?;Q z8xJeSYIA2J<_COrB%90Z@dggxom7wknw-9?mv@n~K{UT%jc4&Fv*;>_{p~vEVHJ z%5|Y5Im}w2aiokkDX8aTxr$V3*&p>hIV10>6Vbu;cr?ZK`rCM<{q3S2 zf<(ojABoPL#pxHG4^55vtAF+fspX{H;ACev(VA{I+Bi9>749b3bi$kYuC#k^>77xM z)qH90Fm{dW$8g#gl>rv!G)@54lN4K4dGDo?*_7Ajw9!^0zla#8;`yj85?mGq659Mtl0@!wu&9$(LBU`Va-ZTIO1fMJi9*S>h+KD8I15Mjpc zSiqU3*#@FFTpWq%l#l0-kH8&crhE4$N#*|#b=FZ)z5Ull99l{Qq)S0cq`Q%lHt3S> z9=fHZMY=`0yHg~kq=xPW>8|%4{XXw+Ef@dE1n1o66MJ8K-+BPu^WgjY7r0@IX3R_% zkQfz!OCt%VC*_A)=8+SGUDCtm6nO!55$1vFzW4Ba6SvCFm9slI-D~GDXkUrwzd8X zWs^LhL7McH*<7kyi5N8iy-^gNPR02XXmxvBVvR9};_c1sLG>-`KT$0X7`!c|ViO=Z z3NwA)O?l{E8)NS>=WlG~dC4gF`G(uG#nOGv0W*?n?}q&9}$$qko`f-(m^(6seU{`$bh*PO0n;vg@t1qOCi3p>YP&__dZoRY`%K z@qU|OhS}@>#|TOT#IN;7P1rwann(j~S<)P*23eLA7KErvV))mDD*20*1vQ#u?}Y+- zRSjL`*Cn1sIZQVWjZKalA1{r65vyNxf3R9Mt<$D$s@I`ysTU;&X$w1{k1kq??T@nY zIsWvW+t^Gft$v3$O5xkRyRID1AIOW7mcEOehc(fdchVu%$Kei1+ofj%W>DtKvKjXm zxVY^?Vge|RX?^l(2zfDh+h2q0cRna_7!zrpEIvB3P8_H455@Yh5D{U;pm zH}c&0owavtGb!IrMlgS_8|XupH$OjtkdNmG@BLV%c~s+E<*iEiY_N$qC&odLo_Gd6vfhWcc^>752(Uezm5Z${^9;7KQfiUV^^b<8^GCpG+v9_WWNYD zR#h@)^G)>^>5G2=nkes)qTlP53WR-LPap>tcbcxXVYy3%iXjC&slQkb6*uX+q2c}5 z4iEBvG%jNZ+5g-OXm&ZWV+%c%rSZF0Mg7a7Q&NIt^i#crmY{8WtDf@hA_N!KAa-{8 zuhB+ay%-g^*<%=)of$WFD&6=s=w^J=0IT{lRcbiXpEer)0iWKoIxU^%3ecE>&p$jdWEGz*Em&*6Cfhrp zQ|3wisTe1+*iYyquH}klt$*O#O#mr+GVy5eF$lU$YFm2vQTH^;GL?uc_ywAWA{YO^ zd$Y{_&>Zug)QXhK8fP9j4T9HScqKoqF*p2a$l4jM4in&^*u8*D?(|kD_Xu};Hd{x~ z-Rpr&E~hVqF6{+0Uh>3O8|Bb@;mP)cV+vs4*le(zC`w%ayx4T-n(JQ-f<2`I)<4TE z+B||riOu#MEd8+hN`>~F^8reY-^gXe;yp*F@=W`t=lD671h{(#zp4z7^mG&k^{rEE ze74v_8ow<;-|ir{trDL6`Wl9tm*v+&Sw_Wxxx=v5koxjxWWh>tj48j=&`xaQa>CV9 z5{d9Q$gsj!onTVgCh%;u{95q7P*!`P1dvqSOC=mG+Wo~rVul<{34~GhlyQ(t_@&~< z<%ht@F3_P7(+(lEm~yPd%_jz-V^ZK@6v3oc*0zbaNjZxnp^g4e#d3vf8>Zvji8hTa z-57lReeXR=FPOvk$Cnnr;vcGN5p&WS{XNw<*Y?5p)9yoM5(z5^_nT`cqmG2ru3ls; zE>4p8VKyn+=E~O!O?hFUT}zm-gKTuxlaVRLrGede#Qm2)6?mY|#7yQ>xjj}adI+M# z+!U|=%vd+dOGc72KZO&)UqFMN%;t#_ZRdPmye{WfJfO+4S!h9|O8}fA8MrBj_k7j? zkL}&;_sxmwLJ_zo3@8Z0t1KoJZbCoz?11e%?6Pc)qtkd9d1N?K97*vE`{^r@12QoG z9wBW=;xO~0rUA@-9H#9h+Frozl%I#oIYBl62uN!G_?+O8 z-*fF@9~-b-%!sqBPJTE%kI^KJ$o=a-LnrlK>N)Hpu|c)W0+FDURiW6suVB)7k37*t zNxwWw4e@e#3=_xsn)?O5dmC@%?*}+zdRXi}aIoQfNP(mp$sT3WN8dv3yPiYCJ~g8S zu~;zrQ9!KldT}De;6VZq#5DPc03eMQe6RPWoz~A2LV`b8dmp$54#~*Or|o{0y485{ zV%RQ-M@beXxI8@uSYT;yWQxm$gBpB)Z`ClR0h`JNG8w)%`~I(uXDI`%ge_sO>OmeM z@v4Q^fi6MW5VFFJOD;|6k7jHBOz9nJ z9s~E=(;(WCpv%!(^F&757Bf#HBiGD(#KiON51>7*0_|yyqi0c^z=1l=DBNjyN*S86^BYWy37RX?Y#g3%b*xexD1ptIA&g8qFfq^l3q5k&zJpN~BGg*L~ zKM&T{+4ZZ4{0jPiha43yEH`Sfe{?+tfx!1yjHcSB-|s1?g03>5(+h(O1PRfE z!VM)`cxzsEjsg9g-)OTYxMNp%^!T0J#S!K@D-Zw|&Z&~|(YCm~Tk#VDtpjvarbkPG zKHkcxiXY~{klr*cOHcm>NKn3jaSTi#|BrKxuR-|2RtFR)w(#NW=e1y(h*#=$yg|%I zxH%-$f6+_(Xgc)wepX7#I+v6W?w{XV*q6R4wu_S{$o3~fe+0i z>vf5=O~6in++>b^X`AN?D2ot9>}8FPQCpX7Oe37xjOqvuY4ICLfj+w|NGWakDR9=k z1nyC>_v|^qv!q$Z6S9Laqq@S!8qn^4KaFn8`geEw{c+pEo5>NQj11<*D@zpBW71o9 zbkW(daSpLnQ5>n{Vi#iV{*(->GNUoIsf%T`^1Yfn4wfg*gJP6O|CjwRc*=EJ!})RnDe$u^+^WniH^=5Qk8$FMPWvy z8WI+ltsIa<(z%>IPhnqt3KsDyh8Uy{ddZ7sb}^Yjpx76DU6TH;GUTyUdxlc4cz<`bYGcQaVwVavPQm66w@%q<@8iKo=3$n)Y z8AMBWSfOp(;l4`NxJlYYLb<(+qV?nVDFmY*BW2#F>b)=N)>1ynTrXM1y)_ABGcLn+@|UQ01; zUZhZjmlRe{Hc5Hprzb_19uUuNx&vz_l7g^HaHqGy?rMwz8+QCfx8(}JZ`Q_y^`7x7 zB!xl979pP(R@G=k<1em1C%ct7lo9v}pr#19pKSWR_=i`blt**n)3QP~FyS$lZy&G5 zl(IsdEaK)l`dRqKXfRAZr$}d%jqT4V=W=X4q6vwd=glT3+jhir`=P1IwfV~R9#4~@ zSk*sTnWtJ{dWEjiD1(;x%Gh6nfEsk@H zn?cBW9F6N$JbWtbCA@CtgByD|LjZmF$2|kJRr#0NGhv~=g6!XEv4jK5wN*%tFp&>uEzGB#QgjMg%zriFO{*Ku86N0)AfcufNF1+b z=*O#S0rE{MTpy|n+ZQpJdWAAs+7&VhTzz=ke8etjc&}q6H|q_%tE}aD|LwIl3(0MM zhH&sERo|2K>+r&gvtgio&h5sI>DlCOeYpr1nq%N zkVELe@zB8f8fRy<|KuY*ZmQX*o${SMBz$*5hY&8PUMMi2#z;TZ7M zq4V-&V8dwsYG(gjotD#3+Y15-!O7s4W84K%hA9cKuUX0nBS~P^s6zEe*wEiC3D(xV zsWDZ1F0WTBsU>wrn`OLrC_^j0%NG3l?e0zRu|ygv7co@2?WHozm$HJ?Okj=2eC)-F zQsh;Szn%gRE3xsv?>Kv%7VB75t#{lp*m*B{zmEg^cA@FFgV3lu&5Mk9C)~glufL31 zmTQRX^D=&Tf>pYnHstAGNZHi@8RvH2QG2>sa3o0uog9P9rGZKEk@igA7mM`RZ0+>d z(O-pH(k3bR*m&JUv@nBICR3<1b;)hmWJ%vDibs3rzIR=3xl%WA z&d@D6i|9pzrtg-jKJhL+pxnK{L;W<=JpqJ9f0+s75H01o@W^dXo6e+HxT<_wZ^f;j zI_8~_I|iQ+k4d{>TAIpswX}4=uzdBB8wO-$=8TQLD~$fOzgj~vZ>maxzBV#*y1WB7 zxXfr*iqz2QttLq}bmeiF3qN@nerQe>{;XvyczgLxVhK3wq{#|JOyg z-+dF#)rkKGWAR)Uu!NCX-4T5)=P>vYO9{ICi2=ae3Yx`Zuyt|$YLFhFoTEh2P|MiR zIu(I@_K=-vn0)a;I9(Unn52f!k5(hoYffyuM%VP^zAH$vowcfilkK^cXhn>4a44MWsd4R-8#Y!~VQdqgI-2 z*-N1Fv1j-hSwdqSw-PeJzB24)YJ!Z@{h-n7SDK(EhV|I{X7_L*~D6O!Nh^W{2uf_7olQymJ}gKJO>Y@ z_|HqsEw7z9KSLd8$7CcR0=soLR3&7y&pH((>kjeWq}vAiy?xXbR1?RXCeQ`Dz5QWF z`|*Vz-O8?W=o|v@Y6O*$R9<-56~p6W{c^_-oApv$9+PqlmXr7iq8w3QoBYL}eUU+E zm>uw&Tg=;A{4_&CyMPaa7%7^+2saU=Gg7qF+eI*7%wzV!QCYvZQdtXx+Am^~y_-gZ zPVi?q^XHE>7Vj>AIr{e02U)U0?yj*rpE(~coD=P(hS4>jjRv$XKY`$6i2Fmn2a4%4 zt@Xo0`#i$la93nq@0dur15rSAahYCejMwfH$o3~@`cjne|VBzHmoZJvv3 zM6bhmgpXx1U-$R$JM48L%?C9IyMcP->-&_&Dn+iIQ*5qj~>P5do#gjAzX*jY$twX*c13iAL(FFu3x3$enG}%3O?1SyRc9k zZ2Wc|5n?_JtmrcV-hhinfV`eI{8ro2wF*7Y$g1d5Y+AwvKBf>#g=9yR=(}h7J&=hKs z3YHdbTyB)6&cEb#)A>$S;|=8V>KfSJ!sT=?1)o_k)6_0R0&&v<{YV#is6rsKZ;$^&x+oY}JAfOnyF&#uC60S}}U}_kWZrptH3*{5RLY zhhtO6C!aSge*f6L>);PX{3uYaoOz-g4ymx(7EqtHDpS=Y4Aa7Ap#m$)vkL1@LUV!7 zxXJs^wWj!tS}eg3Jb#$8t{-zS8=B)~*gb@?Dy*F$=KM3_APrqy=t=}tR3H_iGpJ_S zF;LkQL83U_(c?c7H(8Sx`I;?-q%_fwM#`((=gb9>%rmE9kyFKXyPb#C`{_sm|8JP= zV+HYGaq4h`Rs8RZA>1CVm-?agON~}QKA2D$?tN3&9*}!!%g!vk(A>(>^_N1U49Qp# zzar)G*@DGJHD@9}+)l6*9P>Ifrk|{cCdMyGqRxy{S>KdY$<#!Ng{rhzTxV3p+E3QJ zHKQ>qwPJi8Sx_nnnOW2#E{0`=FVdgfM&!|fmaA}WUMf@$Le=@~_bN_lGnfm0p^#8R z@TUp)mI`k^jj>FvuRYEpO&RT_?MN`d-`zx{W0-vvRvlhUhzj|&!xRaUu6>WI1|kV) zW2mf4fXR5t&sEQtXZq5i-@h1+onS^nyn6Vewy(Xyv7)-n6o_q++3k78ILv-`^1P=q z0I+6#Z{2o;%O{Ve6%ox@@|c$>_@VolNe@)&yVWb!Hh8Jsj?ocQvC+n*#29T71yrGT zT#CelPpL6;u;a8x*Ap3DNJ{LRY~7P|3aERppoZ5S?b~1&>Q=LIMBk3w?J98RL@x~Y zmc&++yX-=4=DKa>Z;H(H;y>)lIe?KPniu=Zz9Ulx%ZMplg=7-o3({GBK6FQwe0eo)I#T4 zOMb!7tt=pakefPF?dme?Zq^3s!dh1KST!F(A z#vK1v2iuzZosz~V4nL9^wJ0t$Fj5&nmC)q29V_WU-#$B{<78v^3&$;fd8f!zqVWi) z`i*RrDP24a==a#YNYTau*Js?*b#oH+C3~by=|nQ~+_cj0{ck$~qHYBUsn0(jf{JFAx}MfJ{EzsB18Un{rMX$-{w zesT3yRH&9&v-5wm05AZ@r9Qw@YlIdraw7D=)6UkwG$a;_j4y$1`e2Mx$JvJsHN^(5 zTafrKWd}(?Z~rWCA}af#FfPyBSAl|Pj;9WlM9(b|T0Oy`OL~m{rfD6#ylVyKQQ-zG z6dA^gLbV%SK+~A~BE^d9>4wf~LB`v+-%zSK9b?gf_k$yd0{$$Lwm@|G$&fM>&!YR% zMeybBa_GwjX`JQQLKr3@-lr@~ox?yt6#Siv@Q(kPJ9)`h{*vfjrN;L4nc;0uO~Ol* zQ{FdREf)cLxyj={gyOYZ2V#DAbC82E4}4KuGji=q51hEi@DIz z$L$Hcm0iuR+y!Xg?9Z6?0DRIvG_FVzUJtntnRSKw_t%feha=_<{m!ehBq_o;x%AFz`%E+p*w6&?k67#c8am8ktq-x|6vpB~l97hK6R!K$#N>gdFBhGaQ1BC2^VoE(T z$*=q}XeOObW=n`am!L)OZzpI8s%nU=QDS^W(4ja0v@bMkg2m1f9R~~orl`x~jbsZ{ zS6JW`&^5&Yoivrqzf13h9wL?_zhevf@`dJJfwdGV;!MVpW^G@zgKiYfdPLO2hIA`Q z)ZF9>W|Gf^Tt2ul$yN?^(?OwZw=FU245={9F-OW`u?16h?{20IhQN5D0VkzyMaxX5V(hbS$Mvr2a} z6-gt~OCUfICOFCp!wb&>=}NX;RikRRa$8R)V!PxMNq#y1((o@l^Uw0b8RWt*wP0aH z_NFbPiE4#*656*p?Lls51Ym?%SN5c${J~kC2qF1dHCRWK5fgTLxu)dXdPR9sGLIfK zv0;}ER`SnesPa4^_r5s{R{5tXlBTpql=Lo43(|3ZU)m^{%g=U^BfOfQe8;gACFI>V z+~VEaw56Hdj%ze7LjPnpgopm7 zM1O2co@pl4fQC9d((DDw`A!~Do__-|rdQ3)D=As>ais(Ee7z4ZMC4J~WG%>!8&LKL z71Jy-rlxg8u7zt_b{De3bNnd`IHu!zj=Q5@didgXgP0ep4UI4Q|)E_ys2G%90 z7_QD6CIU*|Rj@1l3iKJhaAe3|BAn@nSV{dlF&q@;0nQHlr2xXfYJI=I*tv{Xs4iDp z<4rI50@A&&SsaXJ#-`Tk9R)(H-}I9^1cyta`QN^dqtqnqfL=hGFKwd8@aVjsdV4yPINWu9H-B>??4jshhPY7f9uFoA~aD+oK1`H$}K8+d2y0VHJ= ztQz9s6)pfHb&#;VMl_QYd4EYxGw~j|n!V!?CT`v`1D)&IlG@P=0mDy~CX=EqxO+q6)!2B7(c)m>C%`33jiZN| z11MyE2LM0B-3rF$`{}_YQz-x4%`OnfW`v|UyiMmJa*^r6D9;pb&rsK&UsWGEyfG@E)-iO`*5rD4)Jik7${C)vn zDleMNJ$Q&L4OB+ilHtVlRff3mFXUMO0{EAqZ$EPkl@qtIk}=jkwECx>*jxWJhhaF~6jTzm!Y)n!VbIm*(;KYXqradH*t z3gZD)P`1{3?w5tyo3CY>W8HR$T+e;QX!Z6`H|?dY9&Flm-uj(B5|ED&@OGWTBa!tV z;eHdNJ|vS3HcVic^z^#DFpJCYtoF9HUd8Gn{I}i}4(~xAG>7yyL-?)Y4kaePxO_;4 z=K~TN%~vlcPp=pawe)i%Cl!LbCDBNvh45U4*TIPvpYC-fbKqunb2en6YWWxUd-z!I z`q6Ve$7Ti>?$5I~js~u0jd-hxA>I9DXx%c`gX7=Zqm8mfD=QxVzMWRkQoe4-EoJH6 zbzJFqIa~pTLcKQ&wc8AVg-%+$dlh|b`oECzx&t|LwKPNtE}^Z5SGMAw_0vHlyBPX` zUYIEa|6Qg}c>i8VrL*^+VyC^@M;gt?T$RInm+6GRBoYeKd+V|(9lU!g8?|2`8pLCG z`8J(0%B}Pqzv-&|neFh;+yc+(WTXOl7Ek&a+9CgN`t`+NyZVVpbzk=6`*oc;YwZj48ZKeI0GtJ6*oW7qvcXdwWkMC>omTgS=XY9HsS&@m>pEfMgM>^W}b!M7&?8ontA+!|hKByUEtXp-+boz%;kI|I> zOULA((Mz$0Obd7{a^+S{W9p#UYmH>1zHOW>59+JY-RPkRI{WI)Sp+>+N1XYl)sLL! znF*ErX-#Ih5~|xXOLHaNyN>z&Cw7@Us4QTKUdhq&NNw;*m$2FZO?8r?l*v%;OSTRNM%HP0zsBDZIu<7OC&uy!#$ zn@yK7`zIZLVwvm0!Z$O81v31xJL!2Wa}=d?Km=5{wyApJ6~>sWts?{4Yxy!E`)T}n zg|8S(wlsNoFQv^2^+KG5_QL*FOYk?~`-rkk5&2i9w0yf0Y5D$>pv=v>B%vY2)Je3qb?e<)1w zE~pSZ|3FT?da#s8+TOEX7Oc!MshSt0J^*_O5^%O+FK1}&J;YQpOcM)gRu;F4Af~bY z;{Tpu6O;9AUaT!vaMs2r%cr~(PukaCI9UqX+3M^KjWpn>uDsmC{1N=WKdm&e?=wfs zle%pO!Uk=p`jHLV2u_I9gkr*TP47fzdF7^PM=a(lKRhV>*3o>As$1lgcC;sbF`+!n%1X^70gJ2_-iF+*jV5wEWt=T-W)A zz_V~Rc3LtF%g4c4XMy=W|I2QR64Ai%5psSPPs7omwfEo?j?`(x$Z5ej3AwUP6uHMJ zg>if`)+8xYNgRz0jJeYAE{xfa%cc3XB!OhglcBcZ89BBkfywd+BHs3^jD#Jp7Z)Led z)g^q1bC1~Dls_;dvI_Z%HL?2I=}Uza1vO*(twb3+W*T~--OiNCMz*FrFIGRYH?=p} z#GAV(hGsYv=TWebaTqs4 zBL86%z)v$N5vS|d8hoR| zZZ%%=1Lkcg%-@08}Mv1 z`;fShjXydz@KUbz*67~F`P=YJJ}a9U=-M|?(N13JiE)C)(-*%5_WdPn zJ#>)&@1t!=v=w1PPI;FZhIet~9xhQ0Fv>3IhevZ9Ii{=sZgFtpt#pu&k=z;5Rj1W$ zYLH87c8U;i-qE@|s>Wx#KWENq5*=kTu1#)`f75?4QaF}lw|2sa{dM%^f^G{@rQ{CJ zGCBbZM*%D8_%aR|I%15!Lqe5m4?rb~U_lc8HkDg&>iX7^JW}^o-gD%`rVMSnaOWzL zlQ^jO*7WUAY(+Q6m)4hVT3m7oMn@L&ZV~VPj3^U05QyyMOKPNqeo2p}PheD!y4b=V{a4TWKz;}NjI0eGx*W-# z*6VgB(^V?vT)Lp&ZcI=1Eq4n)c}thDk8Bkr@8)kgl@a-~=WTl5ktl<|a5TQZa16e< z5a-9ifUBC~vz@w#BBHZwxGFtiQWLpfWo%wL%O+0zf9FI87&S&Xzn>&&Y!7tXL31r* zB^{W#7-jO!k}tm7=sD9Z%L=zhqfK}1jnNoo#Zzd4+5ysBpttbx*CY*^5Sh&s;AJ1<)7 z|H?hvZNXEaGZKP)>ruj_sbGhN;i~# z7_M|jzH|Gyc%}0n%(TbQeqU}!5q$OIUuu}m6K)G{_VDGWu^G&5bn*ub|8BbSWqnov zBfSjbcqx)q#=xPZ{Ss%>37)~xNeBAd;Xv8!80Ioruh z)>>dL7Jid?!Fh)G_sI-Nw#^-yY@Nyqwx$I{qU$SJG*e;Bq`24#)eo$taUDC^4FVs; zx49UZOX?MugF{JPFqCxtLi42BdlZTKzk3~kIL>-M$vnyCt!o??aL}@=csG{kKqfUA zOKQi7jm05HjZ)3nLK9c(LkZ#SWsNTnf@WesktHv5eKj%cM$G?4|9_J~)@1#^o@P8ge4^1_2` zc131i$DP6}x=E>%y^_q1!Uk36BCByGtDHP874j%f_CcJ4U6~GIqu3sDOsQFs$?k#BKNote!=eqV+a?5KaoB1&2qqV~RwR+9mnIeX?S z5)G}BK^*$-yajQj>UEL6R#*#O%s(=wc=RffebD=z_=R+%O5?q&O7&zt+j$b5;mW6} zqA}KSIqQ6we$*8D{52atM$gh9CZqhtK<1Pqg6iFz2Vm;R#Rnw*&%L zzIyTo_ThtU*W2BOKRR2-yF|#i)%r0U%_Pc@anlOvs|io?teV``gC7-ZWhG|)5;5fz_3gj+iGcQ<>w#iqW0xc<%XQPxUc1Ty7;n>&`{F!P@`J<5s`ecUaNMs{@ zPYv6{_Kr?>7$LP5q|9W(e4CDVPPrtGHdYvdt>M(ke{20`QA&urVG#5rP_CdSxuk43 zl)J3vT^fr`y1aIGEs@(liTcHJu5TdFVbM6am%5rUzp+U@zEa`U!4!jCy8B~(o6ac0 z`UN|S>u(EealCJy-{wR;hvGC?&Nykb?dNdR-ENhDbjKY8i}*9`2+7sRC6R3R+c`1e zScSF>s8zA7WEZ>U;Qfzy4<2=&eMUBTVI(Dr`}_sR%?;K)T(8Vx_Iqk{1xyy)vaDnM zZ3Jgt4O9PJU~gSj%DG*aI*3_~P;`#V8rPD1V!#^A*M~05Uz*xH{Uq?6<-xyHrO%`f z6rK6!H9o~;bNOT~yP36?OkOnD7#nR^Ov6x!`50Wx$;>)&#hT`9v_>g@e<;h+NmaG^ zs=`d%)0Zn86D62=3**}yI?3L7%7wi}eU4<;@!$O%)dkUNgl14VHWoI_2L_AR(wt!E zu$)fiW&1UmwDOA%?rM#qLR<5_C3ww-i;Bi28oJ^mTOea z=`K+Uqh)R~ZFcpqN_oeS*LwaJ-FkeBnRz&i0{`IbYzc5T^hrObqRS5_jqb=fD+w*% zof<;IeCG{Ud!>Daqx1KXy~rz;S@@@;7jt)RPZC`ZV`z(9j;K_0UJnTQDu?`Hlj8n6 zc(?=w*?{n`*a6|eSWFt>_-xQy6bt_vVaQ|V$?EdYEL4_)to%;!s#37^NLr*rgMf7d z6UaWm*l`6mKl>i4pr_>vCTal!&;GPrTaOL_k3XqHp+uVSdQ8Q?=ns$|^~o8j8FU`? zCI%u)p)Pi%CGq}s+g{J!aTssk9CvnCtY0cBzle2rRO}+jE?&!B8U!Je}Z2)!b2M5<^c&)8p4!Md}{hHm?&JT3C{UlH|1ybTTVu62glzH-PnS-D`TlHHFr;Q+AN18jx#oj)ZY+dPDf!WDxsD}0Pk7n4+B5Fn)E|2u1#8ULU)t>hE*$*U~y?lpN?!2; zegv)uM_R=}7vJcFqg+!3rF8kD$=+`C?1wk>=j2%B?5_ApVn0@1~SNq%wPCVEKi z@cZRd3s9ovwhyLA+uRn_%60e27bcUMblRaquQ=sGAB#^bE z&FZGRhfZgTq9^}Dx$ztH-T|WWMtn?^yt8@-cY6N4U6uA!46&>~_m%8Gw5QQ6Mtbi} zVPJ69&hrnW!RxB|cjHJ_rjZ7C>SGQW&jRvd2 zm(9~9ce3UDOD~M$Y>8!I9vN36dYL9Uc8b-3K)jg*M!7hg7c1(?1O&SS^Phmph-O4CiXu z<;k%IKwxbB_8parsC={l5^QpAl+PQ0_$F`<|ZuFQbJ(gf?3r72RXB= zL&)?Yno-iHLW9Tj^P3q;&~MboTz}$%yr&rUgw*Mbx{J8{c#f3f@{V_l(>q=+fO+J1 zkISP9fE|?q5;b&p9s%LM&tj24Tv&3meoi42vI|iSJK|P1=S@%=2;9{wuC-gXysY-( z28wBmKyT_w7Lpfv1`In7ZcQ@=s=0N2_lPoCGMP)BWe3ZW7NU4;T20ZBV&o^akydY}Q~8NWlqk-#!a!v&{PTPmDGeynlF zBj0Z2@~C?aySL%c8;#UZYry8p+qrK&-K5t~N*L$6e2Yc^DxvUQCKH(N#$vCf(+S5t zSM*?dgW_eF#>4GY-F$d5fpc06bmG6&&6$v|9kj?WmNi=6g@fOduil-6QWr-Y| zdns($i|!N-{`7%-nSPHVKr{w$Vk#OQt@gsBWQ-5wcsc(aQ5}>~$;}V0+t9Y%2)Tm8 zErLCytPlvlnHkU}DD6EQ(7gF%VpAtH(>^xNR>f)ecELu|l=QS3_<%E;l_}$2gK>3u zF{}Al9wIM=BB)w$*dKg&=3Dh#Y3ozhaxH#S9SzorF!bnj%O&eP^ZrzUV0ouy#3{U6 zC@S6DDenD{=l6QI>tC4CiCNgnW_ixdh!sxTmg>VsQNQXfqe`qis7(p!BY1;os2U$` zv|W0B$v#w(vXiG#C)A*9;|w<}H)@67WJ+JrNWC1NAD#$7e~(r}vW}Z^8pw>eBxaR8 zBVQ%)wAXMsa_(icXrqj992H$SHyj>mwbz3wq4qWh^IkZH1<9s(Hgr@4?Y6*H7jiCT zn+`dDW4Qs(`pz>rX6Ieikfil)d~I)?!U4`pVz_&j*hA)yiX3*wW24-go_{E7g%zK~ ztxeggdl*$jA^gVSWTjZJ_jj)Ft3j?LyqmV3lW!%+4MN%72ayx6B=uZMN_5R6)jYKm z#7efL`VU04Q0Sj)a*DH2+0T3*u%9d{cHhHrQgSZEXV2(px&C7Tt?%{8w?+SVpwLTF z(z*XY3x=hhik*oJ&%+$h&E=nFiRckX=e3l6n+P75$8r2Lt)sh%$lH_C{D8PO<}*H{ zEM=kkq!?PYlZ&8= z&BI8;5j=`MT|z-Bb`~#{JEDtBCZdaS%Ns9fUX6wMj_Bk|F+2IdpZ>XH?z-mjruqls zBs8ehG7ly>zChyU;0=ceF0Jh>(YRP;Z38(Kq!6u40B4$GS@N(iaVTD*jujbS81GSL^ff ziY%7ZBhCkvtKNcV6XyB~Y1GjMNBph%dl^)17aiwi5}p6e0)+2}T3OEn8cgvV{GT$G zXg7XH^Ei^JzuGR$25C+91DumRAW7imoA{TQJNmFPefuAn+&!>zgC9p$%YYcqwg&fW z4X`bN|G5ebM6rM78s7k6|Jt|EmtR0kfT9=B_q`=|1qNn*Ibny5!EmNNRzZsiz+%<& z(egO_36J;L8ZV3&0PJaa8WrhGhTi4T8r)CZ^E_UQ+9b_2XK_~e?tQ(p)*7aR9m*gYSS z@o^MI&OUanHnG&b5CVHvPX{5GD8PEefv-&if_w|Rvc02Ayr~#D{nA#kD@gS zi$QacrZhserF@nFDVU^ZWacMjiWu2aU#?SMrp99B@|h+s05L|{W}DuO)~~{cQ9)9R zl-0xUBe}Tp$pXw$)8kdTWuxJyy2YgeO50q_%q%Cm&(w1wEM~*>hdB7Fo8Af4B}DMt zVgK=8^pY+T%zQcBsUbY!rqy59K0CUkAz7sQXa}zE6ETKg`@~-9r&l`9to0~-6|1~2 zEV^%>D~N=5iAaRdEF-_WiA8eKf_c#zf38YHJ6$yOWC`KRD@?qLG_E)2xvIpOv>es_ zS+W-urg<>0?4q+#O;aU0(^S)+e+N$)B9+kbID8GyHyIcx1~L#-07mLg0B*p5qz`#Y zqI!BQcUL=^0^X~s&hxBm*|J79Bxpf#KpfKpkhs)%v~sVoUU=W%);0mVJFpEB;$2;f zke=G60nrdmy{d0kzw1USU0ot4JSWAF-Rs5$4qef5U5l*%4Mv`)UJI}dwSV>6bRp8KbHw5jQu1fI4_) z4$>fvZNh6Zgrc{(5#>@swLAr8$)ITB!dn>#4M&)9gp;-Di4|lwQLrT8QVlJq@%L=Tzn;4D z{l_>7kVfDNgs5iC`n(hh*7g(;u-7xkfK=l6-(k~=`^Hn~e0xKaGkKsTzZK3d2D38$~@jPta z-x4`~sGJtOsoZEJp~0DlmArhqB}EzB7(r7)ONkZMsW%%y$GM!e(NCy4s{e7uq9s2! zlYX*BT3lGW8hYIbxTb~a4o>9iDbh0~QVW5=~m_+;qh zOpyS#1Q!-twZ$YC|FoWz08c|(eJu!Q?9wL~d{KvUfR4QD<$nPWgrSt%#RIy2uZ9d} z^p$d?VIhK$?lj-Mhnfgn=+Lb8CTyNXgq7V;G9&|D;S@{B2vT}mFG+VE8vSw%=o2Vn zhqWh|E`(+?PQWW_U%BT|kB|MrM^5U==QSV`1R48O1^Z;5l1xqnp%Xv&kdNMH+~3wb z*iLe*VR}l<(oe{}$FX;@hbbR)BtNSuB|2k{t@Vo&v&8Jvt?p8i_$q%Ft*yUPhj{nNnz`8CwwyrJ7jm+31Ogc2jUCnZJ~rKoU$uu3pOkctmHY`~`s&$VDX zK9wp+&_1BxgeHA?aq-S>1?#y_6Uyuo2Pf7?lSMxQh3sO9O%lrm8KE9*qeE>+w z2+pPqP=U8wqyn@;kY&DBeFYqULCRUvdbQ0MV}fm)GgV`i%wavN2H^K572K9Ey%g62 z2p_ag)cwg5#t(9ExDW7X*0CNfW%%9P^z66ZTa#MA!}wq_DBRn_iUUcU*}AP>!RRS^ za?kqoFAkRcaU;7)D;Dr2%OaRsfwukbS9L|Z=t z)?+m2b^GW|9^OP0+P~gF?0FQ6ySUVDEv6o$X`I(sl8D%AgXPk!fc2F%P#^XQQFiMJ z=D5TV9KSATfbF6_#V5>uB|^_M?Pu<9Lk=|ZNpW1C&3FH@@K9Y61tWK#Y=eBD`=nZ z9AXgZSmyV~4UpDou$oapA3r95)SpX*sUbnAhMbs%O-0_&N32!wv} z8Ls$y5_Ib@s{hB>S3p(Ob?wsK-Klg*Hz*}YiV}i^NJ)1{9U2J{kWNuTKvJZ;TN1L*s`-~W$$?-+ZWfycA=UNP5PbItk8XEq0uZxn2>n{Fnyg)j)<2Dy&jT`=FI z78&D}uE?6Nr-N2n1_Zl|1LsZ8?9al(F9jqYR8f_~AOxh27;eKXA<69cxmLPM>mm;G z2AG%>P?<+_LCw`O2c_6znW9YP3k$3$qe;zOZhYIYc8%cd0`E1jE$dgrf`=aynSu-; z7}S>x5KnH0XEH__Utgzi_NMNbV~7%~c;&7o;*N&5JQ7*>sbQqTvv((M@3S+7T?qyI zm`qtsCT4E%o!;O||4|6eNZi;dVId?xSN)K9;_f~jazN&ff3!Apur=#9$1xBIsR{#&4SQvpFT9)0mFGKgslSbfG82A zQV6`$#d4kjM%YXy5rr!tTFe^DFmgtm%!K2)aqpqMmrUKp6cw|!L}c_n4lD=U_3O=q z_(27*%uKK8v0LzsZNfF&KpvRy=ulk7FufMH6$bcR@s zM@RV-XppJ*hh+Y=LV#(`AG9L3b+ND z6zRHP7t0G%n($9RRmtdw6ID)m=H}Xo06H!SXNV9FErbnKNSMgusKr0XzxadwQT7)L z>Lmf;YxqL_mY;UxGCNsG*4$O@4L-0dn?dY`bd7#ab4Mbl&loiYi=?Y7W2kj#T&v>! zevR`$e8`g2`V4^f!joafGH$dZLG^#EwN;XW zAV>hg@HJ3PM{wl^3Z@08L0LdbLR?B&JTGe!Ce>>0vy6e!OclJnG~7eUvaFnVCwryp z;Jn}~DP4FaH!&LP))kszlV`}a!4yvJch@C0xP*>-F0DqwFaR~t)mM9V`ebBv=+P!} z9ZD++JIgiWJ#)G)ZofaAVZR0x!}77xN7n*0lkE z`w2=9aWRS6wa82x)MdS__v?~B(+GNa^rP>cR9%hAXR#@nHzQvX38L7$x080f7R|}s z20=wX1u$tnte@t-ikT1IftJT@hz!dQ<<)yP{N=fbUCcBnUKP&PXhCBez1f1V%vG4e zozMuc7d?=x&RDteIq&7#K!$IUafM-w`tL>)H?*RFeW>vTn1j=xHQ@Gt*wiQN8Bs-b zO9-OKuzq=x8`atNfx=oZK{}=xcr#uCzVIvrl{#oWGdyNjJZi#x2fT&b`5LA(*bZ0s zJ#K@%E*8)o$NG#ME(QUmFe`!3#Pc`0%k<8S0|t2mM&YfNeP|Uw04(Gj7vmJrNe9Pe zC`~q2L6MMcD^0|}&+?#(_rE6L$}eY{fVRo z8m^d~+e6NwmC_Z-E^vq9?A)QC}KMp_S?SIH%R&H$B)rI&InEIW)ZJ^pY(| zsgS9lA+GcsoDQy_q!0UFWztO7&ygP$%&a~-_W2Q)|t;!P5)K%Drvp|K0)4ZUCV_D)2S{_IEttp3h7@eTbC@a`dq5%td zCt!ZDvQC`uv=y9A{|zN{c_L7cJ5@$5>RLp=sW&BfsF=jBG$-v33dydI{Z#NP2mWkH zoTmyg9amV$m}GYVm#KY({m4^InQgy>8?QpHRQi*F89{r_<2L3zxuKbk<}qg=%;?Ua zp_~vs){Y?EHV%*qCX6YHU7aqfz4pZ%1O$$tHQ~R`Hw(eJ^i{%_?N^|<5=b96#$ck@1}DhU zcqlC*+9(-q>zF7l9*)>-B(~{PrS4^+S%wKLExot#ALUinJ^mce7w)b1oiAL|!-9-+ zy{hd|9bY){$GtoG=7;a$tL&8EH(`qyKRkb=JG7f)tMtdc{ZZsv(%h!Wx~AzP;^r5B zbR-S+Mco_fi}_yf6e-|kRXC`umollLckwB_=GOr!OM&rl%+T_uH05Yw#&1#YqE+4# zdx^@({<1B>NOO#Ow^}EmmU{71+RbEPPc~3VP=o5cp8nHVgRFfU;nPnFy?FAiL^qZ^ zW9wH8s2z{oCQsvrFwO&w#)I6&;}i8IITv}UofUa6$rd0J;#0pSi;aTp0@r71tEFc? zPJjfgdUqzTDZ6%gz}sRB#?3cH$94!qCFCpEo1P%Q1J%Fdr|my$7IMHNV-ZZC7m_;)4uH@?*}w$v`Di2rSoNjz}X;Aa&{cz*iz79gg!2Ak8bt* z?5ino41JY5fm#z0-AraR#IG~W2Syt>AVL!y9`6Yr-X@`-MZs(#jHA1WF;1pi>HUz& zvvJ}b<84~ERl40t697n*=^26nYlBJ0WJO;a z!rThk7b2m4h22+ZEg}~rG?Yr#b<0E$_(5PA(~=7IEsi%^n&UASaY z=)vP71?)Ih5$y{~641c>BZs`8F`B3OTHgT?-f_ohYxH9%KifECQRezOsPg&5k zfic`T*&I{(#ZUfu!6_X|tCpSWjwXM@_XfbKB(US?MdUBUXs;V`qJiyB-~ zFd2xaVm2qg<|PASa{JD^aSuDACi)b=_o+wP{BHhKC*od)ING)to0<>g_ z`|%btI94UvNw-q!68N8Oqn@(Mh=_ z+kAIdbr(Nq8s@^###EMacv`2nCZ_pIgN>D7xxJE~1({o=vsT=-CZZ8TX>j(zEdKWW z!)-ftyK$~P(dajxXhU44_=CauECay^n$jVKZF*x1hdi}(pNhilcv|4~R7WYd{nEoq zkgbm>@P4kvZ%nlDzA5mfUK6Ljs=qqVLp^ZtDeZa0S$oG8=2^X0tzsgte9>3Ki{tHO zKxGjNSe4_gGkfP_b*yp2;EmchS-9%#m%C7%Pe_FwbIggmVFmhk6~daaL=;#0(>OuN zqc2d$;FbrxDMieCCN;X)FIqvj+BixUrX0Z%4KOs^+X}&vqv}#^UtwfvQCEXjo_{s+ zxf4{F4Exe%ku|sUhH}A{YR&fI8Oq0kWcQ6+eijgsF=6`o7O1k*i%#}b{ntqR{lML0 zmYiVPm&`otaS-li%xD=1P0j*!5$#2+a`J&6dmm6ip(lp|YnZ{+o$?q-?_Pj7PLR4v z4lMnhNCgBzB5>LWV}!YY1u=cpaYE;&+khrM;q?rLRKR3BEzw0D zx4aAD20qphw8~iEx0QbWNai!OGPE$=A__pWEY=P7q~gr5yN}&7Hnwbsf4RB*G>j%f zH0G|wu`AgYG+qV31-(-p5UCyz!(miP;^*sQDmCrz+ap8-wXjptDGH6d%srslQJ{-j zyDTV{2Vp5@49dw&wkwSsyk^*pq}~@G&8PD)G<(*{3mgTNs5X${V3Vw_8Hj9~v5e#d zp)_R87|B+);$@Y9AYAD=1*l3-J2Xb9scYB<5q717Z$r+`6!}>pHRtbFrC~23vC&|@ zE>)XhBJ@Hzo(IE0_=gY9En5^JN<)^96)brs&33rOmr7X%#dw-o&y$oeN)e4Y%OBY) z)Qeo`Vwkx)-+odB&*}PdKLifamx= z;a^2b25Bm}SCREyts+a!EKW>C@tX8TRTAv`JPV|BW84*hn)ax<{QB&N3O)Ow&eE-_ z8X(w8Z33<^+^yZHuxKPW*j#X&HEU0JnG8f+S)hVBcI=8(^NVF0F^a#)!O~Z1!7-mj z2r^atSXMqL$*Nk0YI}S~^$tn{?kD9GVH4ttmx_W^IyA9+2ykcLOhI@<0s_z3M$%nr zp9deY#wx+DVtrW>cDoD)-@}aYR%E^VGRD#V{0^$^AZVPqEKGf4Wvm*zA3$h zk>7yH|9p0Mz$O35LjIo*RF4IBKR(WzZ}`_kq0hZUv2D3A>Hq69LB)p$N(&8(hm+Ba zSqOJ);emfY#D)9xXvb8x#K|HS)$Jh(th4mZR3V^hdA>Tbz?H^HEHO4n@JA#0izV+M zhRstii0IX1BpvMFE>c8udnPJ&+jT(bnx|6WrL@^e@UC%aJ}cPcJ2bxo>R9@WJLme) zKn3o79uZGMp2ik0Ez~)3bDc379OaG_p6xJS>O4b=l|Szf=DBteInp&0o6z07uSKX$ zn6bNoJLD_nwRXN9>n-_)4fQAd0HJK^xOAL zMDahed9H5yclBD~cWf-gIO>XL0b_xo0qbT^7w8O}K93aJImNDov%`1a>CJAQzX5MY zN@m~{oeyt}J)p!;p~8p6xKxCg6XoBG+I4qGCDZ3KjC2&xbU)2Z%Kzwns^Md*JUv310j@t{TV_sd+1Mr0>~nbF79 zZ;yhK4u8!EzJf~bLv}a{OfaNPD9NMcCF>Ror%v47Kb`Sc!D;e#g*n3wq~W(0@?qxd zfwy@Tu`vv`F)e7qWvjs1;TbsKF)bjNnM&8gfREKC-P`35{2s6APi9D>3vBXtFY)?je_j-Ew{7^U}%eRi_Y=S3EcV0HDn4kSo-3z1aeOc zY!&}551GVU^LzpUjVS*|GVLrqltsE&h{32NTB9`IC-KFcfwMB4czza@- zIb=9wJY+gFpQ0@BgS!jX6I^R=^xr9tl(a+;KFMJQDuYqod-7p+(s*R?s2*w&9CV&v z^24&J-nV(+{ot+1vE_k;2=oWCs~`oQHu(1SRll!R5QECYC114I)y zi{8l)`i9h-*&7UiIlOz_4zsGTq{SX+hK(gr*xyDF@WQ5Y%E2LzG11mq=Th2Nxh>V5 z0RaH@L`!d`-v{9h3+$TQntZh+;w7rsvnOs_Rx{vLT0QVQMexnFUyZH<8lcH7GBir$ zQgRP8AKW%8YuzzQ-155N(4T%xi)V!DA#g!>>0vHW#85p^Yf-^N6HSKZY~KS_OaLbV z?cE$>gCKMeKB7SagJNR6PKMEI^)^C~SGwahH99^Mil`e0|6Q^KWUy<^_X^pF*W{{? zxIte{GcZ|{lrdxt0=7RlVqvrov^|WrdE2ab2ln`S9SGs3r@X^Ys9hcE8yBG;y=f9t z6<8ZDXIxak+Bj7fQuw3QA#@5bdfP5y!;+K9+O0V8f?fqvKfEI_JYT%?xLg)4-RvDL z(9R0`lVI8L5^li76%OMZ+a2fJ7Az){u7T)*xPc@FdQWUbe)}Rgo}y-X#=$liq?`R+ z68Em82z{}>=yq7k{!5#ixm|xmLrmVBf41l%bZBzk7fGKDHkv;>8g$XZ!x8IgJpJkR z@m=!p=P1%`psYGxXVzw)+iVM|SLq)i2Vl5j?vgzmHGq6Z+y=1P6>eD$PZ2Qmgz2&)I*S&Ni@kbaR4pMjo% zpFy5MpTYVrYbgb0973!0fp6URo|d0b;pURw*wUjqw|b;JLhCRb$&B`(D#V{ zea{TkCYhO~mbxkf)I;QJ$luXgxXfzTb;~+mkbI=7THFJ&|RXE(;$p z1CU({m~$+5>}yFXN_XV!SLcETt+|rji13)$;6yq9YzO~8W)esOwwYsq&Pj*jN`QiDSaz5dUepZxv&C=MI0iXbid=c3_5?U-latJe%yfPS^F zAi4a{fByZIB*Nn~A6ce<9)J6uNEJByicUsJLQXWeS5kkT`5(7Q(;T6i`TuRzfBuoH zLgOUM1jwY$IQa1XM-L&s4C&|p_m;TP&;%ukN~+`j>t-fpxK}#=@0Q$6@}aO+I6ldo z3Aq_2NpsqCuQ&fcLk7A>b6*lm02QYS-20IZHeCMy{l0&Cu6l^DWUD^hGm?5ceShZ$ z`iJBO{s4;1e~#dvzo9drl?7%iOVRt1tmfZ0OKQ`l7ymz6pKgW%ZZ;FlBm9p6gY=+2 zWc?rW3Zy9V9D(=2KRXmpbV$bA0_l4j0)?}Zq!*aBb&ECaXKxQ^R-0d> z#feA=F`f{k?fRkj{221v>)*A`a zFRh7uuZVbk_%FRiy8A@^3+Gd-0D4y}C)%k0eiq5&u4lTSn54@L#V7B6v=C zEi<3-2Ts9SdFFQ{kk_%shQU6x>6(?U*FvJV~9CJ+| zeO6N8HzcDKj_+7uf>3H#KSx^&R?7$^E5asD${x6`Hi5h}PJD@NiO)2si8 zpJX3OPf|72$?QGMH0+ zBb>UozF+D|Uqf2y*az!NmY=*ySi~c;z0U|AxsQ!VKu3?M6Jhup0d2!sQM1g~sb3v# zQ3rQdmHN_{xur4xr^=$)L3r{Qx}4EcfPz4yEGGL${X(Yj=kU)}P7=fUEcoZrrOF$v zTm)>hCzk3M-ZN1m3_rS_EJzLBT&_SeqmaJ+%+jw;H{Qad+~j}S47x`^1v|p_XLx~U z2}q~HY*yR#(1Wo?1SDUCtdPdbl{+a`9JL>mi;rc(ZEIZeaapvbf>6+5P<2K67& zlg3eH{4Zs>FAe0wttsmPcw(!J&T ztPc6+s5?QMhzl$&!8g|nA3}i-R!@W)bLKxoMIa6-6xZ1z6Do1S ziS-jqK8vT0hR^@bjJ=A_0n@5_?BM}x z^UanA8D>n!{co)%sfG*2LhYS~2wf2~toiNjG?b9s`U2;@T5?SXmw%qQuiVg|?d8?` zT8V`j?u;QF?eE+E^N+`ol1M>G1QZ#8f5(6Z?vp=s*;J*D+Ne(aois=jedIac#o2Iw zVXnlBf7uFub|P*(Rb2$>bS~&##I^p}`X5o~K!miSUpZ8skzo)I$RKo)!G>#IFQ!PJ zG*Alcna|TamVbVIJ%+z@NT6ccb_7 zvp>Fo{}_W?8B--fF$?>byhZ9jjTQEL%f!&RTVPD5`fs7R);9lbA>H&k9RVtzs8{w1 znq$K{|L()BV*B5w^6wM57@^A?U!jZsj|~1@1giF^Ii~+=>7W1lvn4|CWPzaF-9lG$ z`PZcS`N-1#kH>+V|Fw5RN*+O_^rU*M<3?R{QNf05{r_4lGLqnC85nIPFjg<+B+dV? z?YtR?zn_p{I$)vo)TyjXr^n!+G~)nxy1+_rQV@Wo$93p=gHl+4-%%`?_tmgjv^c2x zK@8l~%%l0*rSgdce_xcuXxm0=THzLZUC11boB^((ea!p!g2 zuY-QK&vF5Ohv;#1!`k=Ep$RmAIM&Z4%^B5J=+*ob@ka6|3ez_f0z9bIjHmTf=M+Kj z_4e0~jiaBRvgSXpF5e|*hh?`-29bsafV2t*37*&hL~tiUc!LRGN=X1UBVOw3pF)=7 zMX;ad>j6|h9ps@@fUwxKt1k@`=JX%E{5Y}!1dW1;*q^;*DdT}ghjbl!`CPBgRzdmn zHw1UmY2V+0+X%f@c#^Mh%s_ZOtGv}Ph%yjgSr9gbqY}Yo+KCw8qGQP5N16V1>y5w9 zDAyYVhj+XmWN*GykN{nYx!Nh}iI@ZV11b@op!W2fJd3;xEuw4~34~TEP%uHz?gj1F zD5tLgW9`t#C-(Zd1zG{EGnXGAIYg*D57it&uJe;*k^>M!Wkl{)cL(i`31hvHMb!@| zA3aRh2C7{5Uc6)|;{i!jBBmCgN)^4}LNGm-*+6=X=?B=qifrkvq=_@4)2|;c03vYe zerRTEwK(O_-wH6(5s2tSONEV!3iY4>kTs^C1u2wYn?VSmP_I`N#1Vmj84;l@Pz|l_ zj+5H8oTm5SfW?<^_F3H`z5eo;93&pZIr_P;rnn5YqSNnh69*CA=z-z{ir z>*ZC(x4A+oo7UN0n^s?v$q0|7Rpil~CCopJN*89PU!*x`UwIy{cR@2)t`oqb!{Z2&p5pO13SRm()ub6>xE zGCl2a(0li5(nj2kkoz~(7?IINA2_KdpUPs(8T~h+Rtt#JxkErR$X`Z0gvwK3m)CWL0VU$*D~Mxb_iKDT0l@NJ_dx1{IW~LK+U9a_ss&za4w8Sw=tPN zCMmE}cpzmmJVnk=Bz_$bu3>F5R7bDH@i#NV2XiYmj%J;HF&tHFvYVrDMOVy0di|1+VMOS+Yr!Eb! zqswvPHARmb<#k`lE=HY@40z_;Zj7L{U0mw3#w%nFx2?r zb9nCzeK)Z?iQ~FhLM|@qSIsB8MCNDHg0)5nFsDr(&x#BUy04oSjO?7e2*hRP2Os)M?}GT=9uoOoRYH1~(v6dqn^9iL#N0?kJXgaVPi8=^kMAiIpLf@!! z1Ce|itrUOIj4|GybSr#dvxh^zl$kMe8&^wPK~#TjL$}Tu*DF~9$wtME%mqUXz5i`B zHu{_KJ%)3{eg7noGO*aiTB!K>>~rpNcO2uQHsU^ye(Y#vUfHoo-j1p}E)zS#unI1d z62h9^OtxjtKj!1tYC>Q2{08{T?sWd6FE zUrJlut4pb~m7)^ID$3{CqPH7gBqcHYdv&p3nqPmYJ$Jxt_moy&E`lP#<0+p0iS72+F$Nuw zK&Bx(z0ewJ2e>L2@0JePR@f2sHlIe_eH3L3Hl%l!p@nh#Zofh9*T)&;(`VV_HZ`~& zR*%8fWH)XYG(Y%=vlRfPLZ>)H3$#m-zGDLH^v0P9f8{r`?@hIdxd4|m{wlAa2$XtM z+PBpOxF!i`F<1)MIf&p|y5AIQO2t5XnG)I^05r>&1XcqDcI$;YUt?Qmy;jb=SruR#*hR&Auys=tSr1~4d9xFjZYa%}+UHAUdAJw#dQ=D@9=)PkA9Q z2}6LCav3?GLopv))7HB0pP@hcf=WTOQ(r0;`x^|Kjc$9?AO@C_)JYB7*3o5V@o+;uK;&_5WDwHOd*K3LCw?2ix z2H=jR>}E#1R+9w8y0)+t`jOMZ2xD875&cJRfjyQEV5ZjC{uZeD0<3Q9pW>30n!X~X z4)%*-{QP8VyN!cX<vlO z9EVzu_FT>E-mu~$eDMIHR2u|m6VC29tP8UrK9I0H=ZD>fC9*a5 zgcqazE%i%3hBiP=s;!LVvXEuh$I4e{{fTjtN7|$sC|<%f2U}zt^I~oZ14d zPWP=?w)t(So(JC(0P|^V<<>WGH~~PPbijDrX$kVCykeC_L?aTnT_=EL6}?Py3cy!( z8@buO%50*1L7_HznuSP|>Sj|VHUKjw)Ak#rkFF9;r@F0>+V*(V5_(hfI=d|$J=J_3 zFjM=wdRC#WM7wppp}C6515tyQy8h7yb2Ouhb5e|lQ+rDYexrCa&qZge%tofMXS~tU ziKJ;FuqSv#6zpz-d2?KE|b?j#o-7Y(=*74_0xy&O#iBR=w5z&T;8w=RhG` zI|s5=wT;XsJ5aH+f&Eo2&?j?QgsU8*jY6U5@}LkVsz$*xLiSjzcn8DTI?w5;-m{2M zeaAUNS`ITcx%poYpUY}jIhvQSUEnKahc}nRfMUdry#-~cfcWFMze4 zDMNT;K{7QXXm}oB#MX^`pMcLOMed?4l24nDbYZ+V)Y^mfQ0gIh(;Y{C_{C)<(_=_z z`+*jQ;WHfK>~F$;XdKkth{~qM^d}9I8J4FD6#mf{#G3+mUpXr}V~TmEI)p*7QppP+ zZ)68gzoz=k^`%G1iTx74MYSyfamdKcR z!DHIzXf+tJ0xVw`r!SHW#FH#r$SDqH=v6P95v#YM1@Je{Z!nXloWsy8yzKd0rMlJ?CF}W10V^n`bIV& zAIFa{_Q2!*B;Hj29Q*(@XZ1((ycbf68PKH|#~=;%*LRUkmM*7Qvmdw4<`_z-Tj|s6 zQP)Y^Tw(j^vrhxEI8D#pisLWFn@|+HqpjhxAA0X;Cxk~SewAU<87YZkOBrT>+jCwx zYHbcdh)bJ4f|vWirBbE+DoLE)vhI0 zs>w}&^3+lCAO{c|WJAa322VPTJx}pNr}Qfye}NwNHjtH4XU%qjK&WCDl_xE{Z3*P6 zVT&vMbP}or=kAlf=HyVDo_?`=_|17bi%Ia%A?wl>cPNhbx0!QvQxl_LOQ) zrfY4z&bx{Noc$%TLOz}54`JVlGPo!RH6x4_JGqh#@tZ|vC7!Y|PVdTdrIwpa+fnzi zg4~2p=m$+Qxg5`{8aU1NJ_@BWv}c#OPNG{8tz;f-Qo2kv8VJv?3xETzV?>o=j?Om@ zS8j4E6e?sTO5$QOcxmFaoPNbXOmZaah%??%CqNc)Y6h99l$4WO25V`S-I>p9fJR$F zV7jBVzq1no@#cu#MFHWPt${2{+3?f*WPexXrs-JvNNx)6xIn2Q{o<7eKD<^>Y<} z`qxD=Otjf_Z*o!sJn)Xu&(KGD)}7%b30!pZvk2i z>$E_NyWlM4s4U1~$U`hHnX*SqIZ4lU49YY3W-ouQ46>_>h~B)I>W7}La_w!TDz-|x z8-kqQ&DRgs^hFsmy}9uW#2COWE7;Bse`Q1YCGZ+{Ws1Lr{Ut)Vhzu%y_QZh2*g9Ld zitoMD8XoG_!38(Cyr3qfGMr&GEe00Yv|nfsx|47MnKj;an>w|rRG}8vop2eN*NbtVHWA>~?Ga{ybaaC2||%NInj zsb89RLOVs>-yz*2uGLDtTxz2lTGMLI9wf=ym8RUGXel1d4M_^(EvsB3a&lc@pz9_m zgEEMK)K1QUJWWp9(&z;N>a(PDKczCII`QWAvmiKckwaHd(V_jG$Eoc=Zb$a!O+=`O z86xz^Wd2>oH|yjJt8bwW59e0Bs*~nn&{QfjxKbWaT48T2oYfXU9(rc+T+sH8S}eHX z@du8O545Fg#UHh{?k9;g6$R`z`Ck+pv?eQw=)sU#KeL0Fy%jr_eDds@b&6xw{Lred z?i>F0$^_-F!>upwoj7W}r4mbyW}!6ypv;bT?#kce13q^&ZsCO)80ey@fy=Fsp=eqO-C^_Bmo3dYM_V;r|WG%49YAzdu&Cpfb zkpoDw2NGOB%{2^P&$XfKw<05fjGKEqYik~TM_9t+RXqv170wMqM}iE(SJ0AEow~Yt z^0EZCj%o-T1D8cB_bzV&+?Vo(&qlN3?QnTqkJa?XxGEU#S2t+NFcN){8u%V}AoM%% z1bbaMO`MY2^YC5&2G!(p=WD(Dj3nYrN+Q0S#86PQO4s+4V~nxw$}0)LTCsbSP$pDC zJja^;ywP!G(F^HfL%&;IB-j~iN8Fnwzx1?t?OJ56!$zV|myzhugF?H#QmJY6g>qy< z^KR!x#qK=KDlX2c4u!1(|9d*=+L0lF5w;h+L{(Hniq{I-UMpZp-^_9;ea5 zXpt1{R6!0~-*~t)FjQV-yDa+A2S}$96*2PydWxv8&l4DNr#8l(56|bCNCoO^BG65R zJm2FI*R7>HG$ImL$Z+W+rx|3@b}KaithsMsmP+W18yS|sET~%M`aM9vJqY9t9Ep>v zwUdgEw9$WLcA0TA-RGq+i2%BBgcL*F72!^}6WDjwI)94&(B?ejw;YeW&v-cQ0$Xic z%2S0qQTy7(h2`ztN^I@@r_>x#6)i79e#_(8O<$W3`S`AGJv={`$n4X@B@M?>vtOgz zwq z4F(w~DkI&W7odI&UC9sX*1XthWUIRJ8JU=?{bs@{m3wx=C4+Wt?dvg*f;8KHpVa?` z6gnD=qpMWTN3V$g6d3jpbzhA(1e(-s|0voK>w_QrYQ0&VFGl-|djs;!&lvT+TfJUW zrr3FCx!`ud!Wx6X*~5Eqtm58y*2*r6EH;|nFT(5LX;pHHg{YH~9ZLhcsf90S-_0)n z7(7%gO=@i(;B>f$-FiqWv94S-(RBXgUTSj}GJe{dpwQDQfU~dAEH85Pm60=Tb>)Z~Uq+y#jP;j5LaiL)tL|L_rUBJ8c!>O$_6R7!Dzy z5Mw2z6F&vqe?X0pZiLdU`rxFcV!cVaYI^Y;=YClo;0hi*8+JF_8`w}R-G^X**7aOQ|Wi?h!BNVE~1hiHwDmAM+mRDK3AK9YVemlq;IW{QAOVcBGD~+96{ad zjRq0^ZLE|sYqWhz0@hn+zQ4rJ%0yEG9tuM1m}1do zK@CMd4*!#c1ewfaqv|;;YjEl z8RkI##!lhKi!Xi2Abz%PW$UF<>Ly;~Cb1-HGe5B6)dnA!B96eOC|@dgS8*yAoqc;I z8hJjSAugj`{&Lr3bqD7eWyZQ6S8qvtf#E#wQ1Q%wW5)aJBFs1F>clX#7l!45#?2Ml z)QdY0gqKa|!_AneR)&5621Nb}JA$#6LXS(hRRy%6#mR6@;WcUEpp~8p*9X|!6ln** z$0^H3q|dc4Jku|{$z~goC9OZv!prHnv_1GKH0f>bVjHna-(ESgQvj`+=?Ak*5Mg=D zEo?EG|5EE#*h*x4vVY{qAJ+6P-m|sN_UAtlDVCq^-7&%DqViwH8TaV7eMs3H%gBYQ zq~#o1#b~sNE|)%usGq)%i%nNnwXk07N&+eHyVKI;pU;y66YJ!pYHCd4{9?Xga$@&l zF~Ge`Nn`dLMQ#Pw-WTeHlmONf ztB9gYCxeRFx*)g?b*BlU7u2Q&T8UPvO%HosVftaQ)YXD`mM<2Y_|F}WwUHpx{?u(h zP_R)P%0l+Cd}RQ{sM3r}U4$oI_7H4Sr`UlkpTv8iBI}&5{G_{Mj-6takXQq5yzL=( zLHG^tV&vsa@q2xbRlKGaDn+x`y0o0i-J#4|CY#a^vyqO0_(OOrOw`osWJ7 zl)2{Plo45ya20PdY@Yu3dw$<^QQxMn?DaVo&CBxvIv%;hLt=OPA;084&boy)22J35 zsu7+}A%}Qi5(OxWtmCma?d`oM0S+y3vxf&QRL9GJV6|+x>0-c~p>*=BC3#FvWh8`y zd$9OnA75(JPiA>ZKRn0-n%yItwCqxP*H__5hXw4pXxq}2mgjF+z;dgh{0;=~$@UBp~SO9-fi6U`tyhdcy)3o*7 z#UB|wIB)%r?QUa8U04u42@ey$j7@~j3X5u_bi9(5Lmv| z5Lw6_HU>`2R)qbSsl?J57MTu^vV@&P;b_8l=+PS|L4E+vpa)#xPHjBTeAn5jluh+( zOXhxxZpS(Y#8G>l!g>fN7pj=BdMG4&&(;GkW|%ddN5g9Q4{L|Q*cGX}9szK_sa7qh z`8$)P5XUeCB`&tKdsjt`gN~5{Ht&i5UiqnGX*er$2VWnVGK2-dNI-DC3jie|nIW93 zE59Hb`Vf~g(%}s@#b<)Z$ew3NFA7iW4OcP_lne!DJcL|W@;FsHH_6(<)`y}m=W@?P z6F4$KwKe*LAb$8Uk(}UEerivqSaZD(7le9o6JnXQa|hBVN+pvPhBIc*$`sA@P3On& z+<3}A`9YCT^#DRA8C*KhSbnD1fw227UcY?QyuaNzDz9V!u;xGveSUE z!87;bax)2pqF3X`vKhViJL4sat}c&VrbvY@aF@mTh(d)-H8^m9oe#pB_*0f2=)+x3 zmjWlil8adLcI=sF7zbxcgzwHdB2FMOjO2hrvC(F0DA;4uO!(xEAtlpeo$Hfr6r~VSOdnlaxp_>nU)%B}dmmhvBLRja(gR8x3%`^raZ$B!AAO3{?gvcJ>XGrCpC_2pW* z0{R3}P9_dNlE;4H!3vm9E+g)Z{!u5}Z9)tzQ+W}3qV5T@w)~C|zM|g%B6g1PDn;o{-e7&6oXU5Ep_?q!kE!{P9c2S9H#56r ztcr~4`#2y@YP$Z!KSWF4e^J^rN<{rpOm5lPwclbyZt~Il6YkIfi@xX4)2a`mWRWV) z#xZ6LRPVKL&{e++m!ivIimY^7JFq6k;s-@G5Wx!(p*81AWCD^Aa;T-1_VL8LISBit z(NX2w>dQq=?E$!*+7l{JbI@+ryiAKN5U@Kmh=sJ{JDd5-rDU+ZhIqeNwm(sM>gd4P zRn;Jpg?1gflR;I~-%TRd?#QlL9I6U^jqm?Ck~sS-dNYH`i+FZ}y_WW6fy+7(zWbRe zSgl?R7o)G>c!-je5TLlcCCbNKTU?O4DKSD z`xS|Y{E7P`LTr9(M`fD)%H>Di)q(|dn!$|6T`(Wxt4m$UHb`?EoLvo z9|~ZAENA%N54Nf}e&?8Ppg6_PfNhOC`Kgbbz{I^ix2g70M$wErTp1wcyGBU6g3F~(RVom}ZrOEy^PYA6rSq=5Xhd9~P=NVe z8RrS(xR;v0PNUIoU3UDB4CcG)apDUa&Qf0BmZCrSm_Yf?~+Y}6}R0QDqwlKLchaJJPuQ3BP*CB?TCy9zjM;Rd`=ns|$-HU{yI z0<+Kyl+lg|h_g6gVhf+YWGC2e=j19LSre5q)!!NJVk`qBhCu*7<5SqUq$}UKk@K<+ z?%k1^y@*Pw;*%MV10`vF&U=>QTmx?Wi9tZQwI$(mJ3%mrIqn#%8k2=vW61JIpY8hB zfDprSjBNzlR-alf4NwLXOrB zf=g9zoBh2!9?Xmh$};SS6&}-4Y*Z4B47Nut2M8#Z?00FEZJdw@*$UU$sQN9O?$w+# zYCQdj_mzFTC`|&m0F$h-b^zhyYvX0$az^@cf1tdhf2yl~J=1D+49Rfz?rn%#br_-U z`M34FRG!UdT9Hw^!mx$SOeD^p+EUETkI{Xnx~VzM_IltaZOEZpR4JRa;f-xBvz{(9 z$+rEF*EmV|J7)Nvn8t^9NHw(=@ZzoFP*&E7rUg1*6$TK>4Sg_vW0Vqb3F~-+dS2l1c zqVQ&iQ>mWFLf5|+aCkKFAhy7e>PB zAC=gJgT21RShwr}`owmA9!2f=kRgzAe)i-45OtPOQFdP&N4i@&R0KrnW`Lm-L{dTN z7#eBmW~5uCr5mNCyFogo8|m)W_l!RN-?dzR@C$g~Gw1Am?d$sOatmPW$#*&eV}%;` zP8>ZB2^osw$k@Z$uyZin6a2C~dfXewq14HPoz5#*X zdwSU6mP|*g)Q#M}u%7flYq#h%dT-L*P2?RJCt^qTWv)+@k&S&t1tWjtj6TBe-QpxF zLhEOFv`dObve8OLrSbi@Vev^5H&i0Fo%R=Y^G35bXZ|k6+IscSB@O1PMt36JgoB6k z@w`Z;bPg;7(2J08Cp0{&CpIxP1ev%cR@iMXVdF!lAxxwOE?^|GD6*B9#uH9}n8-sh z2j(c1%9dn-sjX0MEf_uH_#}vkAw#zNz@oSzHYs<%W<4bfN@X@)KnYZYuqZ_c7Eu1> zm=KKNAa+SE7^sJT_G2meU4y~Aj-cBm_%CM;v$pAh0eg;lswY_$PXdKwknvxy`2*!x ztmvv1m7UH}i%-Wjn-n?hb|c}d&%G-1CdOKWquy#a#+NaCkk#$ofWoR7KWNLBerqB7 zC|Dput|=e4mqo2s{+%7rZ=X-ZR&iWZvF>7|es`S@ycOli)l7|za#yq@O!?a8h}?rP z0!6)zk@@Q=dq||L$1mr@{6m>P&TgbtXmLC5;sr~JLzG%qa({)2^5#?_>?y6a%PTL3 z!3T!dloL1^1FYHv-}`Eq+#c9=UcDoZJlhAtki;0%(dyJX5Id)3h~_N1gTqyZwpqI) z9{nf4=YW${B~t<3a@1W|KEz*+Oft`cn~2KZms|Ge&|&M*UNm(t33sGy2MU!S6%L0t zRcOl9n7>sFmR#x$ZazjwvNbDp>j%e|++(J}u&2nq!s5zxoX zCzW`4@06)b8gGtdZ>9*YOHU36?_07=c~_gOrN3vx)#QgXBkT^{6R+bRUoLeE4Ud{# zj3u7y+sxMs)dvb}FGktj;CsR%ya69Bje*!d(NW&8ZrDyKMI>P>>p)P(dYSPqSDpfPC02m#O-+U(v-}o_^?M+@%g355G&U_4kX$>g|Ss$=o+2 zv+g6}YQ@E=u99c>`=_zhpUvW9v7vNK(TqdeqBAn211A8yf_E-yN)p6B~FqZY27=K(}JAufa)<1sCq1!&GM^J;Ah;t}7UbU#0E+ zJvWWR#3?!na~S<#1IL@~BcI#?P|EN|>t&F{tCyx%aXj?UIEPrtA)XLdDlrD7$y5@&7v*3%m zm~3z>vPZ%LX;n<*$Mbm9m1_?@hj~Z-5>1^V*+9Tp2C-AvZvc0Nc?I|8sF#BRFjlml zEP8l@bvMdvL~suhWi-Suto#Y{;3N?U7mZWwj+f>%8)j`$))e!WaD%>PN57qMPDPUN7X%Y$3WrxT+pI}o7Z)bU%`M-Ho4sB^(^_i->z4m6^CU>rfeJ;EM zZ!IC2`T0J$c<}W;@p4=il&*gw1_#=R3{_ZFvIHl%Gu7)-^}a8guC$`&Om2|g{NlzC zYU}Ddfa8vA-EjJ*+$w1cf$em{`)Dwu4Ib~94~Yt`Jns;#^C!2=Rph+&jV@*T>$@M z34o27!OeqNnJ`S4YwG$ft&#&PZFfhYBxVpTs9#A(maN$|$s)-VJha1=L zUAwN>USHE59^Z7k)PdoanBXrP0WBPur)`BzeF-f#-+d1MhYlk<4&96gtrIMjRx@O? z`pYysiJ}17hLEo4(bi4qffe}yd)>*aA)+(j5oiZbG8~SAab@JZjvS3MX$$~6$mCJ1 z8_;rv4NSx*vrcIHWK^jOa6fdYtkUx`BUMb^O_?NG*@Ce)vr4sWm+QilYKps}j%(m3 zYyp#KKk)IUQ`5FXQ$*3+_WGv4t*0_8|Z~0^Ev8u%_W@Ujl_TxP_;;(e4 zoR8^U8OI|$M&$AMKRoKHb*aUx44N=Jp`^5-QaO2V$RG0crQ470xsT zEyMwdo~#CN8C&{U`8(B~+9kh-VJ921;Hq34^aC?8J~X`l6ltJg%sqITOt%UQg|6;Z zJBio%ZDRse)XweKZc`VXdo^dTy;Px0BwZ0+k!wk+wiXP%=!=m9a)$1|b~pQDbCg*4 zGcR3&*RML0CiubtPc}oV%DNlo0i1c(g-rlu@>gniF=Ia96@{v{-(saE5S-E3_i;f( zz|X)1BwBR(jqDXglWi<*l^0~+C47n-ccv>WxS1z-AWl0QXWZ2?64d?#7T36dQ7H;a z)}NV=A{=9lR{r~>fs_{7v{=)Ka$3ySZ>L_L zufe0Sm#w_L7ME|rlS8VZw#I7E-z>2N7o;%4_gAl1a^EXSm*O%yIC9yDBtu?&KP!OF zvlPh_Rzog$-MwTFE{yimT5BW3e!0wlivhpjiVq6@^R?i{Hz7D0z^h|tzOxT%0L&Dx zBXG^>1Bd)Us64wA6S;Ny@XG+%le9G^ie$kHRZ2%vYt>7`luZYz%*bNTG!-1BG*}7% zNw0t~fViS!6%Z9^wW`zBX7n1|_yj8vwj~ws$p~kM;0}XDNp0!2*hGKcj7^U=NR9b( z!+66*CK^ZH7gJRmQOCTow*fRY4FKeywj|0eI!LY!u;B`>Ggj@`iHNR)P`KveQj6r zX}K=8b<@H>K)r)lydye7S5j>GakuqvV~H$RR&B02^|*fge3kU$=etp0cj9m3?InKi zn4RF+;wCj(D&p_<0#wdmhldQLsN~4Q z#T*CL&z<0rqb&jUd@JQV&|epZwwb`v^vh9Mn{$~dvC1@FKscR5dF*50ahf+H*|p+K zYux&SxiksiW;}@$d8xVw0+l_$3@RR|8<9|nylptQ^JF_KyrudnuxtsSMysK|^7YXQ z_37V-^{t&YKQuXh%!p)l=f&bUtwAhV>a|qjb#ir$nC(@?D75uPs|tPnrxgd?`zK3mg4-`1G!{YI|JT&Xw&-biFeV7NNcX6QId$i{9sqdctyhD{U z%Dx17KS&rmwhq1DSk3cLH;ZI#PO#T;VevXFhK}*Vbw{v+HXWqUxpvCUE zWeh|@D8S20veKDM{0``6#$Z9vHl5{KTe-GrdWt*kgtomxEk@9nT+&kr&P;R=SecZU1)^x?jLJpj zPTIFjaKbzE^C1|n3L%BC8e0nF`yA|@f5dB)%nw8GjFAzB%9{_23pYgshxkualfPyfE5Mm^ImvBP}q7Ix?ROg)W?PkRAW# zaSi{k@+!y5FhOm@_+bTS9`MFvut^MPTyG5Ng5Y+Zdn>kANI@27#JZ$+;GEVL>i5T` z4xhUA;Q2$a+lm!kh;v07QhSfy#IaOgx33?r8LJF6cCQX#1!8UPQojvR+!*S0{iK-Z zkddAFLOKzS&*%`b^j>+4GRB@*pzcC-GQl(@Vdo^C%kUEn-6fhQSy#x}ZuqgL*vz`! zphpku72UhonIv1HKH-58%6R6T%YL3|hS_Sv+hI3~{ozauL|>W*p&R(wqjFnaLY8d* zL^aO`SSfuI9e<%V%ZI%98~s;i!i>gvkIi&b*V`J*WxsllE-RunzKOwFZ3xMhc}d-s zNh|$sn@z_S$91imJey|`-uU26Gq=`UU$2Nr3sY#+TgeocD9~a-D08acy-{Gw-C_KM zebU*~Ma}mXHN~K-CY4|e;oMCumsr>MmD~vGJYVm@D_m{8#fAD`S(;nE_nNEiRw(4L ztq7nV?M(|&J-By%i4Il}Ls=BpbyMZ30|=PxXyHl)GRf{9bpMhwX}pBhW?jj4LlKTc zuBlSPHVaatj#Ie`nu5&9DIdYW?E9kvhO+uTy;pwTqc$Kl zFNZg?z1Yn)JNUhtzD4D7GpiRvFOwfxsd_cINOSVQMC4 zmm26qtW+1-!Eco>IIeNTDgRH;Uj3^yh(qdt(sd8FS=e7G=y-3$QYCchEgO|Vs$Qz} z53;)ZU#iOQ-PhtxW);#u>(U z&ii4JB#~gzs=JKf2*j9`+=6PTNHi89YI>IbOjdH_`VC5*J^l~S>zy)(eRN}K_7`?i z)?f(|co^D>`Vby!~5#BJ=6N zrc3Pl@+{~fTDXSYlc^08VzSfw@Pry4tN_TGLvgBs`>bu&(hGbe>GXk#VX#c;;UJiB z59iN`*6}umymx$AU9ygCRDEDXm!slR;1pm)-mv%{=b(dJ&qq;QyZPt21VfTH>cL#` z^Bb9>;52K{TV#Lmsnsq)6^yip=Gqn!m^(kTgwL-x1xaLHEgxJ{>G!0P9JcKQyI8Ao zIKNX6DV{sTe{?oeBSa^9{0z75%oKO`j0f7d#_S;Y^R0uKlktc(rbbmv zx&n_;Yt)7Dud0j7;_m8oU-noG!P{oJ9Xi3fhipDm665H-53}w`54t8E%f4xKO*;Mw zo@?Mvl1#O_BXGqp0;VB)?@&UVJ;6FRq~r+GWC5MlmU~-xoqeE!wd=?uoN+tjSk8pG zoGY@p3{+K#s3C_(=EDn_L4IaK=f16xqvnqyS+!>p&HKofa9mYpD~JkZ`M z;UU!9hwKOM$ULpRik~=%<&aO(CqZ8&BH#&kEMuo%OE!S?swo>?B7I1e;hDcY=Uul= zsqL*1D-)VO_obGA(D(TYF@bWHy&H;VI<3ogZFqZe+`#}I|1^2Iorh=r=o0g^waKw4tyiWiB1cCSgXks18!_`rFn#4c2E>>XgoC6@p`de-s1!&fRZL)aK6Uzm?e)7cR>$QG_<(}c&BI+ zm*&nx_-XyNK*3E1$w;V0t?q}1{WslcS%PT_OC3jTi|2I>cx<{y&{)pO8A^2qg zjei|dWk7p8iB{%2=NT_<&j-HdTTo}VuN9NDW0NV-=F6#t_-})@lBXe4SD&1Mdb#qP z?6jgXU!E=-Du0nh@#D%LeyEE*nbSL*=K-URUMPk>rqy1^hY9N`Y70|WFhbf%bT0hV zPc{paoCL{2;W#oNFU5KBP~B;@+N=T$hTyuZQ-BFeg{KL<(`9F*&DtyLsm+NH7J>7? zN8M6|;Gl0SjfW_;)>J5VkX1=`_>jQQxHqL!b|3n99QcXcQ7V|X%+@Q2g#O6*OlT?TvAX?h)(*u9x|cq!tE2CTQ2)Kx?KC~ zmSai>7smx4={m&?c9#2|@pnxHw!@A;>!8IhnNW5xP8#n|V=Px-DJ@-Jt{h%vPQ(D36Pa>JuN<2=UR@RS2jdD9+u3@>%iual)^c@Y$ z##Jimb|q^hkNgF#M889Zxl$v=rR}5$ZZg&8z=HF>&6F~A3ByE;(6Jdx-icIn`ah|D zvWrK)$T){3cvfYVp^b^d+^f-PD_8dr8q173#oVdE?7#Hs$!ztq6n8n-yBRs?{YJ2J ztwzn(#`?CoI8HVH4O>-z^pBhWXc6LA4+$M}(noQVjUM5a)xoZ}n^kNeUZ?1_M$49M zA~i&ivl4|D);%#<^*{mGb+&DSpNT78cZ#AwQTs%rl485%pnEbqK=@1};b^NV%*>kr z`_{z%B*{TKG#T}#M{;w=lX8boDG{rcuwDfj+Hv>bOW}~Hh9a%;W!^$*)^C}Jp$MJG zvYR`t9}J8OJyubutIJnWpe;88o`-7WQAJA298q@%z1K!0*`a8MH}DFHFYjJb$5omf z*cM!xe71VWIMO!6ztU=y6oE?`r$J8i2pt)4K+zlam4tVB53t;Sc}?N{V&AlE%X~zc z3-mTrU~4s0{@V)bqh8oBGI9$0EVuGc95?DU_)5@bj}lF2STBBRD|X};|2)NL&T8nI zFqAhSaRD26DF4eoj3hR8n_Kc6|he-;UOWY)j+$TlF3H1bI%j!Dh$V5-2|E1gS6{9k7d`<*b zS95{J5!U#^e_8+?WRf#HcOF+)a3Wuzrc7S(;g(UGnxfUKkN<+_%4Vplc6Nx+znwQq zjkQ=g@qJ4LOk53A++%#d1LnDVxLj51fdiX4ucGEkXFgcykg4!=`@3q0ZW0tw3EzFv zrBHUwTTprZxmzW{h`9O+8Rzi0$+YeO9WukZeO`lOS}^#gMjW>Ah&_t^fif=Yyz4q` zfp!fsSlx%A$JIF+G$3*;f8Yf`$ofECFH!?96Gd-$=^yDr5IJeV^(ZX#Df>d-4VAAn z)W3Ajba@j;x65Bf8@_L<)b3SB6ZWx6p-sY3t9q8z9W;m%m%j#WlJHG(OLXhtm1wIu zRqVFRb309=>63#$Z}YvLUgsnqcD9?^op;~bEp+=HI8Cs)*dHO0l|43K3f|hO97g{Z z1O+dbG1bQncs`UXv1~s!Cp$>tuEN`81^6PG$hULCyB0hLTW%VyxQ;(ty)>^f$@4V6 zf!#Ye`TR3WkM2jLE7DzOs{qEql+bJxND23tn|@4PUHz}8)K64O=ezTqhV$92R&i)c ztX1_?^JZ{=uv4r$)cc8?GS$StYPqUF`|+>2B7~FP7Z0RNF|l85?6()qkSH9GRP}E_6QhG0WOmAmNolQ`u|U7B;NcN9I_CW^X# zjiz*XsazXg4=`5~jcn$;4Gnn1F8;k<5eFv_Q(Zy47yG$|EX5y5>veX+T zw+MVecX)rn#;DE-om|#l`4tQv`7srQwsLmd1^9~)xH!=AhQKbqgGo#NCa~@92JBP- zJ%b&#-e}8t{rDG^z?XlgzT)qZ)(?0SCtPz6o>I=U+%|fU2A<{Nl+kdy{8XvF@jt6x z?kKa{l_S?*F5ogD_uCt52riR09NFQDwpbsZQR45M7p4u`+js8FC%LM1D|A`5E*$;EdCeG}A{^|szM8}RzwfNS(mh<) zXLOx^UD0<0oxFn&yH z`=bq(w@jPU$K!U0rOtq(YK~PGTM;ezb@Zlyc9{C^ z7C)cR+z}TC$oRyCkwb|p{!UF0sxv9-=baKBAU01()1ItScQb7gw(&N;dh7;K;FfyO zJfXDu^y;_BfY91O#j65=Iu(23*V|10U>F}Bp!Q^c7wj41loZg^Wg$DPiud0wGg($G zNIt3SrdO0-g}x@3Z=2(3Dj}Y!4|y0+f-R+j+C1Go%1ZeAM!*=tFQ2gVQ?E{iS`&)h zrf7-M?=+~b431oUMhZCHlhllN@SS+Cpz2)SVRf{48%*!q)TavGB9 z{#FI`8$%i|(IX*LORw|f;DKYf)n~kK{rR`sbV<+glkLNu3uGU)072bE1NA8Jp4fmL{nNzm#=31cZ${h=WH=SCK$;$JlSc;wO_HI<0n{sBh^70RwFy1VApBGE_UyloZ z8991kQgT*V;*Mqk3Gg=c^ua4*7EDADnM0Q^Guk$!_@+cQ{%6b<65yi=JVK9*kVUKl zBKTioP(V6dm}wech2)MJtvf_Tu^-)i?NGbKBH%F8ElaujKW@--JY-GTN5%`8V*UY2 zfyd^@_t;R|(&tztDD=lO_m|f}K!jtLzT<1KcQq0F-ueBtGmnK;yxE92tu;vxLsngk z(*j?sYDr91Z|ye`$pOC`6ZgipccH&Wat|kr2lY33QZ-VBwy=__Aq8GQL-b*15l=h8 zPnQm-ss@(6L$JeU8LVvT1WIfK5FOx&ejxqA+JK@mh;X;05n>IIrP;FQHhe56e@_U7 zdaXU$(JN-b|LPt;>MDAy`|hH`?3 zN?ZIfxe;%~K(UPCt`)2skR9s-^W`}RG z=J$`u?ku-l!-SvhaWLU%V-%>P8)Qz^T9bb7DGi7`xh1PF%!CdAu4|5h8#C5N^KV-FyAb?hcF>j9b}5afmD7Y+ z-)V3~+5FtZ?4s|%j>oR@Sgjl8<6Wm9`$jC3wRGFP$le>~NV{U+ufxWekF>^ZLKtr$ z>N@631rtY%TYAE`ClTc!}y zE+>Zo?7*>sRj3l3rwIGsOORw# zUW_>&OK4tm(BoQn;$hH^hM`|*erd)fq0hA*DHyI#-*+vZ>5RdtmHSrE5&t^_%=db# zf4RWq>1Qx~h5G}nQbu>U>v!@F9=s8dKx8_E+OmDWy z5AxRC_aY!FdyZB>j1Biz4*zjQJ# zEneyYmo>Y5lucKS4vrzfLVXN^Sjtpbs3ro+k^;Fi+BSCdPG?Ug#jLL$c?j4ee;ya^ zn|hF*_*<%EXO*MeS*q!0(6&CdDMyxu+vgvS;>l|pj%U4Q<;M~fH;x=bPHBE`_Adi< z!_~UZ%ee24uqvjf7*G;vx^8KE;gqpWeE9!9i!s(GwMr<`Ua^X0zJC*@Jdkr9FYEKV z$#dV_m#esx<8=vvt+Q1sE5Zq zAE*8X?d`1vgOdom#>O7*EdVV0Acx%ZCu7DKg+y!ULZz_oiQge1JTB2yJTD%X+L^sw zAohdF5CYV(5RUKMxW}k8<1*{i#hL#bL_SdFN5DtRJqNXELr$i~1BvD2b-U4W315n~ z9gY!JO2=RZU?%X#(`N#sz>!UzhYqL48=qFg;@-hOxx7sMdkulV z-#zuo?d4=xcbf?`7{cmDN|o+lWGi07gHzJV+Y{Akf3&TobnS8wvD?evusCY3ks2y% zyC;WMVkzIIV$+9S`oU9vkke6Qvy*q2U>D1!p_iPe&R3{_ zt=Lrc-^uXc!z$fppny2c%VcsExk!&cj#Jel)XAe z+t{VUKV4iLHROXh7ys)bikUZ~uJ;Hhx0EUTD%04`LtwS86Y&-)(NHM z?-*3eTWSM#o2(?{U=kTv`|zG%@lPus}USPA}wXXLPW@ z>#p!4#Pp?T4)( zykkmb8!*bHUh&f6(8eU9^-dlCvr)G|=F>s#6DItkIxfXJBhbH5a2|2VC-E^Q z6nC?;4P7VQuPikdDk!?$;_Y~{a;5b!r9(dKVohD-EwzQMr09vB1hKNtf3HsYJ8Jcf z>U=DrOXQ3Csju!d;cfz6I}e0YCTX9i1gX$1$_lWfE!IlM1X#Vi{;E{!IFny$>}!%Y zaZPVIu}2q2!R^~?vHFR5Tva?9ompS5Osz6+f#!#%n2{?3^K^-PHJbjV)Z}u=99u@@ z|LPISdmpB@v)>6@?th3%Xj8P_e*FICt>iz!CCvvb`pM#zs?L29OkdutL-PW>`;s$< z*sX+jlwy`hw9Mh7{$nrWtWC9!HC4tai`E(s}BT zz0u@|USB7=nV6-3Sznkea(m_UWva<(nUbQ-Etb6YvwzG_@gl4|aXaG0O}^;xnt1LNNrZ zT**De+(kSZ`lPtf9_^6$L*~C2QV)6m?>oZy8EM^m8Y`)4PGpb|t?WKUvFj0So_!mk zAOHJo`ZK;nq{)WglB!dg;r_nWlWtNz&8=KF`(M>ct*2f3s@;V9>P@r?E>5sih1VXd zz8xCKE~9;6WBC?*4QFSrbzk*$>N-na84xHFKJ5fIUO*u{p#(p!gZ;3iP$pqM zqnqHgl9Igawj@gtEQ&2L=)eYB9NBb80LG<*&V6U;;m^1@c0T8iU@1`B4|`z6S+CZY zs7zgv4&~0AM!@{w+|oWK(hh^cIT#(A46ICpNj`F#I{vcfx51%WI>GBQB1^9lI3To_ zwyM8dHvqmWwCG}aO-wtXvyRu^dC1Fd&3}qK2S!;}LvSsg96 z=bO-8vGfCcM(@E*VtXQu5`B1nU?tA(=Oi+=yfgdhl%v0bGbs{$h(l}&gat+5IZ6Fz ztEIQHYKGkyo?OREBqfWt?xl;q?j?JXSb26g6_tC<9+nGx5@@5R%||fL(u)^g5c;(MckCyagiSNj(YyL+Ozd>%hYq34 zj+I){7`V)2_^g9FGV@*Kp>zseCc9Z;2W@*g2ZMPFg~>x(rL_fgY6E)`lGI=>!J-rzz`Ank(Sp5pZ~jTn=!`n{@gJ0pA~so`e4!V(%exC^5wgvjK31D% z+l%joxQz7kTNO*M&P~InN}zkEuhOT;>|hBLl?4l=+qp{5$D&Nm->D1lqTC2aLE_C} zr^gSIp4Yt7;xmeS=r1mALFte5`t@IO#bWadt<|8`3xE3|qrhZ|bxO$Og=84PTSu}D z<*2z}fq9L<%SVkK)_X#`7S>y;^MZE@VeLX20HOSW3Y9lx2&d%{~f5Ji|iLdlP*-Nd)wi45R|5b_%0*i;_+?9XA*c1zv zuff2+XlZ}!yCpx~2wnST{EU1d`uB-GVnIF2t5B*f5*)oZ=SQzp$+Ey-xs@Txbsd#>?=9b zAf2y7rrS!O7&BZUyG%F%Gdwyw+N&!F|L7%4i0eBc@ zAX4LqY4#_`_kjWVwG-FO`%uDjFiBnNlW% z<|Z>x05u1wSL5=xq%qWV*a1XG$63-xt_gB=}wp+8{!3%F28>Lm$_&pk)}=N_C@XyeE0LdFXwY9 z{U=hS0V~9xp}Y;Unr2H#u+PE9*lnCerjsMHvb;_N3WyOAYW(eY_xRflj5kaU#Oet{ zC-o|l;~n*5iOMoqh4{=lp;aX6TJQ?`j3YQ6cJ%VfLSf47*paGI|54BIkrkYUNkt?&nH-fVa;j?<)^3_Du|pEC ziI$tM`kOhk?YF6Q;)-26Bw_gD$>5wBo{`SwX|ggP0pQ4=#{R3L5hQv4&k?O7ph*%Qj7MfuGPK;e+MW<+{wHFBcQpqGgs8M?}o z{NSNc!Y_<)!GwKRdSKwFE*cgONuGZtZ{_N0{KLtazE}N=u^~BYP;Ypq+Txj>npNfF zHQ0Q=i98$^uuzc~Ob}t_+FhMz%T=9#A;sebU$Z{A@nQdFJ4S^c)t?N^WGU z&yvz&9me|drQCv3ah%&;Z(}^CA!%cR?B(>Hp5b!eh3ES@=7De3-B}5lTrR45Cy?LI z5d9T}>kMx_?-iw5v5j%2E9?xNf$7kz!=9#AYuhCasR;2PEQ|j9QmbP5ecS!1Q`%YV1#)T5{r*_?4<=p*6Qo1%_Q?kG4pXc4%mFK=fs5(_fNmlQz zClcDEned~@6K*VZZIHN9EZLSDn?AtTro6p1aWKfNq~AS62hE*x%}{V7tg?*byg=|;iFR@4|(Eg&)T0TICVsgtD#-lLFQre@ z>(BUJip+&qqF4nv^vFNxYpYLqn4R>(f`a8d=B+rQnpA!a0wH%BRGFht9}7%k38#7s zUXZ?_@UtEbJ+GdORc9?PA3CwKbDN<(c0M<%jX6H#{7B{peklMFz!(aoW36kcKzcUxNpU?f;BK2k8Y08!#pbicE*5=tSN9O~P+gZLG(d%> z1Y}xV#5mGnf1VaZZEQCwIjUygh31U0X^f=Af>wrAXnl=f$t9g4@^E?5*M)&gOM#Pw`qrAsW_)z3nUaBc@l3cFL{h zkl_+DaQ>%?PYl5`Gyj#eb`7E%b^tKxqhvx0z#i2ARDB36!&y(DfGcf^q785d&*f%Z zw)A*Mb)4r`k32x}`;zaSAr7Eb_WU>m8LHfThPvn0yOet5O`}x{UNaRk!W$W(Ae^rx z0_U?BzhD(=9CfM%kUYCqEat^9o&j+HUOE6HhqdZ@?!OfWsR%rzV%xB8ZGBRE;4+C= z&QGeYi}QE#HRtvczWRkOeP88u7)GRk=qM|PQY)AHLkD90rEBMvNcI^+-F^F#pDXk6 zzb}LkgFDR80>u{(^ft!Xky$C7Fvy^DEkg6GdlPrO#XNDx6|aZ3lz3PIhmt)Eou8vlZQnOJq%RRy z0a!v5{Sa&ddZ>+=`E_Ae9w3UIOD?`OokZI)*p_t)_mT{qeDJ!D><6twerSH-_MIhVd zQ$(h$tUW}qR)_Zh;G(KedSae1|8Ou9 zI-4{+1nDLH_8_8xJFDQWwt_jHC@*Zs}Z}Xeeg>>%T-MN@Pp!Gw>JXDjwpYtT%}Eu z!RhV0D+Ye>#!xy68M}78EXyBAB9Mhb#V4HRmKE$nA_G6EnNk^L&ESsyO( zjG~*~&&1*Bayjb-)fX@)X81fu#=470s@gPeIqf?wyxtN^>t5qn zZ?G5E+B$o55A3~OURwoFO%N}GA|=agaQ2F@Y5@+AX`~0(+#JtqPW*b)2ynq&Zcis9 zu8l#GMJ{J`oGhNlG@?ucteuT7V5k$<-J#T@rwtX9o<=VSEbce*wl`$(J7d@csZ#rp zoG9Y$bl+h_yykdNj2;Af5BoO}(&-KAm@oJ9Mekf4SkE9E zOI)-g1Lj)r%hN^Mi`tsyQ0c);=kxC>mOX~M{L8-!u?^ z!sm}}%^GG*^*r&+EEG>{>9Th-rHt)2|Fv^u=lT8`MYHV!S=$}-XiiOJ*}+JDVD(Ol zxY6l@)vnLnC=U)%Y!H75s*zS+Kk9h0&+`x2!q(+*cC2AD zVT&Xy@Vl6-;V@^(a2!wsmOvz#@AtYi_$S0IpTLl;EdeCaFZSHqIrX)E?o2(DZ=HF@ z=;r;g3cn_KDmrjNC%U)RfYUQrdXt^!6IfeG^dGC{EgqFxa z_X2eYZI|bd*J?0;!A%<_NRGKU5u$YlfCQuouTB#0k=JQKf2Y+SN%GXn?$AN6?Gm>~ zOIj>3QcMh`kryq)Ijx!F*_L*Y>PCz7CxbhrNT$(&T1>hI^XzNmbR-R6S&UjM>PMmm zEI@hM2j#ru?z_Y1u-skjHHXBTN!&{o>f2Yqz`sjlv^5T7&3$Ft8j&wV>gN)8^Pr|2kZ_ z0)4UGMy0V148Udxa&Xyp{9s!9LAh~Kgq`xpYD^B>#AKBfK}hgTRyIt+>MKJsg2gRN zNmOrrU@SybI;=W+FgI1j6)lHcHr0U><^dBvCSY=cF-tnn0t#irm zI1Eg`>wY~|6|Jf9$6n*v+OKbV`$)_S&YEUShj-`lY~I5-a{AL#lFLa+NaZ~O;%0W7!^SebpVPFK2AIkYPKgpLoe98zrC zj{2H9$g~ze$+5T0yYKH(j7s=l)qe*I7#3+PKnMvlC95qQG7h9E+F9E+Jlyw+oa`UE zvjJ0Jar6W@HYzM8&;^R{dFXETF0-_mo{fA-@&4u7mm*5-P~^Ii9ylwl&Prx)xcwua z++~^|bIU_-y23)UcE|`|y zV;Xt(ijgPb_HZ~!{pd9J-M0HmX)LCrO>II#%|NpWbvA@S;|Jeu}kAJiR8jv6sHNvb+ofO0@0h{SqDaTtjF83mLu#9ga+@ zxG80-n5}Ce`@Div?Y^bzzKa8Vgro^7Mz~cDT zR_(rbcj_+i*dZU)c`uiuUWZ*Ma0h^EOv?j6+!VpbQsOma3ItJgl5&Tt#p&2Zrau}k zMy*qZUSF9%ECxJT!*BKxOTnU)Bm;nEmb)Ca!v3MZBk~#)c+(HbXq=7dUAK}{ zCbI$Zd=l8#TXH8{KZSmoHJz__)rU@#gT!0)=;0@NEuU2ZW=jsSGh8LizDaaiN3h3X zL-9xN09X8~3l(9q*G99vDfL!Hs|pt7U?d7p@1N-jSO}@4-xXDtwwLYMR~eLW?>@Az z0z1H*+J#GJ#Hr*47h|;`X>ffXDz={^$Acx`=M+3c3POw9F!Pz@Lz=IZTc3Z!pS}Ga z>G>h`+edaFsr>*K?gqyL8(7RAiFibMak(KeCJ)eYzu{f0exNxveDX8b(g9bqO^`jL z&A%dGiF4!67|r+-0`qh^F%V@PaZ}0R)OcX)mk`!59=lB7a`@6Nj&9J{;zjojR(SUG zgIFC;i+OUAOJ;@4{kbd`B=WOMDj|!61lC>uZ){U1Y+8`~f z2zr$L>D7E}?Pm5uttzKt+r>2kfmZod{?NvoBe??y%HLF&0OqZbhQR!LJo|B1O?zp} z8^Ce2WA8op3T97<>qX$Gfj0~JnY5h6qSkBsG!nYQ8bU^%&@5&G{Yx!8MN*@^vwi}3i)E|9Q-yk8A zp`ar0c0;g_VxMvsxAXFad=7_pHK$gczw3X{Eq^5+;2b@kq_A9AP6`j7s*n6`&VOG} zz;^2K&8Tn5`s({U~)r%4wWv!l^ZF!?i^robGwbbGV3Ws!IVxv@y$zhTx7%L<$Wa#GMxkhW%$L?S7zKY=R=!Yx)UUXYnZAY|2{Hzl}VApu}ioC*4%?djM{fdcr() zceR~&&p3AG>~WpmdXrbqpPNN5)W%LBb7B#pb43xB6Fu7dDN;rxXc{lOG}4-ul-(u2 z%>R_)i0&@J@bE^h=IyDn>-kE_?%}y%t`?JFoxOW{YsBgC$Z3CU_n&i#QaGm~EbJ+g zjg}dkp$h-VAG7ddqP(ipN|(hCE1buZ5qo?p$#3`Gqdc*CZ6+mB^6G9$_&Rk(2|q`x z)VNba;mYF-DHl|0C=zz^dxHwP8UJ5D}5?l5S8oohs5TA>BwfNJ~mLBB_WV zN_PuLOLs}L>F)gI27Dgh^Pd0w*M(l2*n6!x)|_LGImSKi`$W-HwG_yK=7h&LiCT7v(btk5QZD@;8tL*4f8laW9zxDY;&B0hl@^gq`JJvl? zfr%QU6_7p;Gs2H)f%}sSkoGtAfl11!7MoxksXyoWQK$jPaSK3VjAoZj4zKjq>VA~A zD>cp>-JROfP$w%Z17kB*rwoZ$XHlS6Q&`MVjaFDu`A?l13;!yi6A)eb=^}?kZz_{U z|1$ov*@LAiV>=kN=g1Gys@QJE;8zbodl#lJVpt|WpPY2;yYdh8A6#w-Dz-CbjnfD_Hmm|i(jK7gVqVaM!<-V`0a7R&ot(y9M43~-4a#RoVB>bJDWpFS zeN+S@p^q-Ri)s=+chK0siGV&j&>E1Y8z>}BbsaMCqo*K1iFI81CgG5XrlTkLE7|6; zA|>}q6!?@`?ul;ACjuJtU*SyC^drBh>JILmCaYlr@sc+@xZ5eQ&V+h)rFYgNCPswS zN@)Iwvl)ny2_6W;4pyH_?&TOh^+dlLEF_O9=L(j(ANU>Y&~<`gibm-{kPgMDF+-!2 z5WPa~0iYT^P}F=I^<3 z1%TL%?r?To^n5!VR~gckrgTF3FMh3_~-mWUVc}Nl-IThWGidp{xm~#fCqU`bl#yn2fIjHrwrt1@zs%L=;oCD2Buhw)k!Tv=Izkkhq3(l5< zfz#nWbTDN`+!KFQ8`Ri}I@-GU0c0>FL~(jJ*si&u<| zg%wQkY94|RkX00KK`f5@6YEjP1)=o3OzVsoC(j3lDb;8`Q*ZQgeI@*y8DtG#Jhizh zpIjMow${vnmeSkoe%9OEs`<0ego}m=A^Y=BHd5K4-#!AOg*<~N!8lAJpl?2U8>T;r ze*kwma13Dk^GXR8Uh80x%pmXT(FnShHQwV6IRPigzT|6z+uGPvwhh{CDb>-ndFvIe z++uql=gpl1!jh+ZZM%83CwJYRAoeo{vFh+~R2%@+A*9dXIQn2s^f5aBEco^7h(Vxh zlrH{9np!9lBW+!XkRlU}ouy;`v8UrPpp*yzrI6;%61Vlp?v9E>K;_~ksLWjC0#p>r zo&&zH`eE_jQ3KHUI6hy@H&g~Z&+g*lj0rz?38Kb~Idknr^%w_?<^;s9spj69sDN3n zGfk1%f=%0#UDW?p|9G+K+|Cp@5C@K#|7suhF14H_0Io^z8kk1q>s1-qj$lI5qt&{M zmk@7g`@z%hn9Gwre285{&-zozy#V2B#IH9NnNXs4si;gqLp5V`|JmpQIH;!#u@?JB zPRc%oX@Vv^j9`z2DapsyO=1y@rw3Rhr$<{ZWpq{}a_<2em|4%u)6{Wh9oF!(dY{W6U% z(BuH0`#i`K2D@s@({qg#HBL)C_59}-K=jfl(H17D0~6^iwwfXV$7P9^@oI$1-(Efg z;yS&bo}t1NA#*(eRa1rQ!&I6BBCycfcGM7$lz5U~zxM!<{M#@wx9(NLc+JHXVvz5; zFb<*nMR|iZ^PVLWB79r=b8*awWN}iXHt9=0UF-qku3cBgdVR%*yvz`uDI+7Z{CmkS zT{5l17WmV_%4k(pG1`V5;2}$_cAz%$5v1x&2D4-Bo-Ud(q<7UPl&m{|xyK8r3vrE8 zldT(2mijVKO{`d@QtW30yF95$tAo+~<9YE$Z}iq_6V8F=eQM`U6nz_sj=kJfXdocjyDre!0@~iGUX*})&I^n?*$Lgu+x+T znq#(yA-I-1a$-myb`~H9i99SY#Z(~w2WLs&`z|2Q<&%$0cM87^c&O#(FcGK2YK9k;LJF|$d{jLCrcZ zZsRwl-M5vyzVYLhRcJuwvjIqaPH1!vOZB$J()=tS?wYySe-Prz4HQk?9{>V74R#_l z@B{;gqBXhl4(?f`0FLBtZjMXf5stvWZE(k4oQc7b@Dob)XG;v&U7$&Ub-!+xD4_w;`GN4 z1o>@Tzpvz{V}g%X*DaV<)P<2()q>XPvPjW@_b^teP=Y76U9`aOxyI$u!rEQx?Q7%c zzFk;=5Uw1!n0giAt#ad(ryRhzJqZDsJ^6ge2A>vS+F>gT{hL}-`MRQ+`WLEW&&l*|?Xq+sfHn1y75KV69cZKBnd_EWACpL1Q ztcDJy%seMs{U{Caw?MSaJFk598<#0*kI@LoN2)pSv}L;+WdlVMnB3ivc-Z$~hx_>K z2*4Y$6ur2{DZuK#Sn;qEDkk_xaaob6=R`+X+ci+hyCRN+W&Vy(=5vwMJ9^ZgZ+Nh^|4}&Sruk7~T10N^=_aD;aY4>0NU;Lw}Cr@E3s5Qk)0o;wmU2l42`tscG>amL(f8e5C$n(ip zYUCddKPX+v?n2T zOhXj~>lSOMV;Pm;v;Q54`$L}GqziY-E%;`%{hA;FbgpU7Z$6a<6nW4WuXWZ!&d3?uxCv@qt# zrq}D-c5M$0luLqpnV`Y-=5EMT0ELIGfFZeH9XsRAehHodDqQS8-@q{S;71`~Ww57H zB!fr0OqG^$Rdu7ImaC9(AsVvfg}h}E(477IL8bh_O=WiQA;)mTdtA)B zwY!x3g6r|RF0%ad)Y>WFLjNE@VMfMF`zHSH=eCCZz=sa}WOiWCKL~k(w>6NoRv6d! z*x}WUq3;IVf=YL#CW&#U;>a*$EB~=Stb%Tg@Q<$mS5rs?hE_N|9bCG;w5^2D@zXS4 zjPfi=Vx_MNaM8^y@%_>$rW|?$yPa1mX6yC1FaaQOdi1TTrqW&)>`c>NQ|j zz7Ih}P#6pp(tRM8e7!IXS=;&=Sf3t2P5aGJQlV|`l zFjTfHUCkg~9YNv|oP)$)L%4PbFsHSL(VEjJy-fJ=%{3C_>arOzLXG^{)Be1xG} zDDhLM4(|NU9$}9aS%&BBe=q%jo5j{+p05qYsrJXTcSF7C|1^_cO*`*NS^CG=E|y6*8~xNS@`C@B2EwC))$xhCBg#LX=0C6b=fVE>$Q|GpB338|j{fJEuO`ebw*Q`5 z|ClQf9OZjZAkX~O(QY2}pJ!|ED6Rbe?|GA9!;Z<=b;_aFNCDWq6hu&Z`R^+I_m2LK zj;_ZQ!2)~GxB^##uil?1(j5Q&>#IAz{#GH?>-k@gQ_B@Zi-X|sVmoXr+@DJ zW=j2U6Z79sd~XK3_!D;Q|27V-CH!mc|8od(QDEF(9(nSvB>rn60}-9|5067gi-=hG z1p~fv{Ndt8Xke=5^2(izCP92NZRje`|=8^%?f&?LP!d* zJi9c4pO|re?qhv|b2Fn`V{SotyIhklxzKF|=HCu#B$9G4kr{@eM3AdR(Tzs2sYSbl zF~~o^`g3nR>a@jOQ7=0Zs6dx@5-K;1t>rvXLh2i395T_uM~a11`i0bX+c(R>TZ!f` z3&4E4)P6yH>~`DCm+x-<1ewS&kKk9XTbMyVRQ3J}{DkW`X;+)S-=U=vnsL%ALdfLc zt#JM#$p43Ty*7bH{_I(+OO%cH21*1mKA`A~zOr0Lb3|xt-jvscrp&Tu{Qh`P9XiZ( zNi7xOc4SbIu6Id<++w!51{zVW@CIW325o%?lFbIvi{Ov?RQIetdECDC=0ZkwSDOac zr47lvTdPatE+tgFnJNPot~{Jdwfxt6$vs5*l~_e`IK_sRimtg->143FZqrR!HTNNL zWoF57JYBevK1;o%S`u`P-^|d2zl_gU=zs<>=!#Ba;kM#=#)(VSgc5kf5N=08XJyl@XZJV$ zk==p%K#q1(vQhucr?D)xZ+cqal(=DGg}6`+*dbeQ!*vA^GiNU>ie2A@?Zq!q2g7V+ z{7Be+q?Sg9%75{IC-{D~7=9Qbw|0%(OEZr$G&Z;`CQflH&>L)|_%vjMl=~jHY|F)K zHkBxEHeTSi;o#i})|R!3>Yb`d>{~g@*EjBLJWl*X_(A>8=G-UjmHFE`W!|mLC3=?z z+S}KA`e~DDGy+2{5`Q#OxA*WV)6Etw)JF4zJIam^uhYoXkuQvZ>>a^d%LiiM{eRrk$!fPP<+~AoJ)ffGhYseVbbmZV+PuBKgo=;t*>Z_%pDA+tlf5=B6&-;4q z{BdT&n9i$%h;73!dZ(F}PLxw`{LW{3xUNLEXAiYwe;z+pZb=xni9~@JW}zgdP+ey3 zIzXZwN8oa@y}zK*&Rt^OKVrXUAi`^Mcz4HIn6^I3Y{*=tgNv z6S};AJscLhcZJ>1-0nwIO@{UEZ#PE;Sd@f=@VU#^D^-v?)mE$Xkz|5WBw~W~RtiSr zzXV4~m|J$VP^GRMZkB{G?zXp5ToT=Zf6BYw7;?|(WPWs~CdqQ=eL1pLeC-V8$=5tZ zpMQ2x+I5856Y~PXhR7Tz?m;4e0%n1FZcdLEhjPd zs)`ydU5wG8#$wWu*J=3A(tJvGh@f5;$~$4LwQ%;~ltAGd0)7Od*q}P+9k!bsi$bgr zM##64wGjIlL*vhlAOAe*`2=u5zI2A6x43-ng8#3yaEu?#_ZBbo*c){6w;@_B}7Q8Eu`553)x`ERe|Asedc9H2UQAd?=H9( zue^P))z`e89x3$CNoz;aYnK+PI5Y=U@u#AKc_)d3L&bp_MOb;~`m5=M&WhDH%~e-O z?*E=!knj}m{=oq!cY>6G@n=S|J>0U(PSp=CU}*YXY&@NS-W9Qsj(ki#CN97_;$FG zb29^D_~1Qc_U+8uR&{&#TRFC*f^rQ@K;}^H4N4Xi3`7lMYxirac2PTxdmA|jeWP|Y zvuOSqqhZpIS;R|jcs`y!M0+|9_!Z!kU{m)i)m645Zp<4?sD=M__vc&LO4v8=lKX;k z#68$uV2JMz1{kA`v+^e-in(>2eLz`?s?5g+1020aMs<_j5fZ0NyZFou!10{r^~yQw zzb763nZ>QVaDu5P$4@q l-& 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�h)h8=ShA(5?`$`$>4eXt#3dCi;HE55n_)of zlc?aqkquh!(*zJ|FOB?Do9R}+IBufnsyx&XY3@AzuK2yjP=I%BYJGiN)=2fT|M@s1 zRSM#{8v2p$DW}PFIOkG5UFm2o>KOHDu?zQF*Yn>su7r73e5#=V)r_XUsJDw+ zKOiWOXwk*pEyc4s^1x%wqxuS47(=T1XoXi4lxff5F*DC~LT`uDpEz88MGlt1%o_f8y_nQxm*E4|k%q%1D$YA1u$}@8tjTr<8=ZUYJ_WX*Y^muojG=*z#AwXKuI8*~-jF*!d z?Mcp{{y$POthGvocT{TH-;ASX5cxUf%!T*S(=cec4F`m%|BX;9$ei43B-F|{9#E7W z1*{-?cvE1RRBWe*3lswSaef0U_6@3djVL^LL-x_y!U|^?Vr`S9aODD(Xm=OEJxW$p4x1#ItElAR7G^7jh+)!{}aUd_S)Bkp4qrUI+)sQ~#`7eV)JBnujK&qBRzwnMGW$UD=M5cRs za~^PbjX!W_u#?exTWobl9+)d-g7$%3%B_wVK}JVUD=`_pOiAbZ%}2lXzsnbI_O;)y z(&M%=*zG&VWVF59J%QtS+mEJ4lN!3-`gGW|C&11qI6FTNR zH>16lBbGUy0%g|eu>a6cfvX*fX@_li>f?cN%(FbVmnx}m9eu%DS_`rW?)@36&{hL> zam)h!M1AhPke)#WFUc#@^54bDq?w;Q>IL!! z|BtAzfQqX7-WEhcqy!035Ri~AhXw@!5h+m-=>~zJyHr|A8lwzj zJ56*@7(@Rx$f9O_?KMp4!Q4*{!uSA|$K}EEt#RDbcDpNp(p^yUc=Q~2$ZUxxsrF1( zI~{q_n0dG7EZKDqVxNR7`+0RKi5zy3q;AkokilLmT<=lX^z zvKWx(d)CS932v%G2zJyM0n^#GA%jBOnJ&<3v_NaFu!l4*Vi_!W{PtAmClMq0!b?=9 z%gYF&bcPYN`tCw`z3a}!^a&QP%0@+5Bh}u-FRetOojq4hR+~i0hPO)hGs#69sT0Pp zZk-*V3nSQ}5?!k|<@!9U7H^%c!cpuK_N7P;f7DL_TBv2{$}At_K}#`PY`##!Ofu)n zkA08*wqdQe#VNiN+Q@6Gwu~RLG%n48$cPuYczpc-!vZoy&&9&REd$1F<)LeMX*rYn z%eDK{Qx9&i8akiP`tw=Qy*~0e;a*X0#?iXrB_&@x4_&z&uDDbZKY85I`BCl%GhW^@ z)?}phlT1y@n25kNpzAYj#nK#|e7l)!N}#Cu$D>5GD&sU&tYVTQh4 zZ^;T~6ZEj*X*NOG7H^pRawLLpZEym^V9mC_S-5bJxqHgl@JH=I3ROkJCbTvgD>nJ^ z1$p&-gqQ(y23h+H`-hp=SliQtWVW@cp69h@V(EPfkQIpqw#OR@KF%X|ZZAF*wl{6( zMNRGtHv*!wN%z=ElI{g_txn`pe2UuNr%(K4N$wf80AkOLEoXGX)9&>$fq7nfZ?@DO zDQaj{gO0%$neNX<`+U8k^MzW3lOKRF7YB+bFZaQKO_I_I&T`SV?qi=rv!+IZ=SJaxKkm|~;zu0W0;;3ziAZ2>1Bg2Gt9 zTjZ(yhLnZl1i4PT?}coM2w)VmEd4Y&>7$?r1VqE@OcQM`a7^^-P#Va#s*D$PDLL4h zo`&6{Sydno9}yR1QL`nBI>2osa&mk*rW)1Dq1~pa*xPhlA_mOG0OOVD5;1<=Wsnp#k zUomD(J^#Lec&t!IB6p3Pdbeo1HQ(vjy9NMq*lom$Ub1ur-@9_zsvXv29&5Spw8+p# z;x0Gbz`f{nA!zyyvLh(1@-rzfN=8Ch(yw=~C@KtacGzUeHaEN|R;ADvI9isATUXum zSx+es6c9C7!3ZC``HM&(G;wOCF|BTO%iYq8=&W_xo)29RyD^HvB@|IyE}mD-C0{2v zl)$>YzB_B-QJ^d*e%;4eOLhEGN#6i7%`*3!-`YcFyZL&{fU7*aS!o5fKueF?DuVqq z9CDh*2jXjrB+Xee5TQ>=$DcfI39VL63L%O0EXPXlbH_=eJ%3+VwU$G?4;4-dC?jll zlBSw7XIN}3f*4rliGEVUdZBwr5^z32V{~v^ps-bYI)Husr^$Eb7o5R?-gYN!K)g3GK>jQ^=dePIG`nuVd2sOWI3`=vkH zVN;TmXeYd|nm%^aJw;!wP~Ogi<5v8ee51FcvHBxIzXbA4QVkZUGp#@PyZic--@4Rh z4tW{@dTmlGddk~&-vt6eY1ST1i3pJ)l1T)}va0`lP!Ge!(U1N3=?MyWI1Z|R+s$^k z!TRZw8|A*-UkNnFm(O>g9~)sCt2~ zY|lP@xvEGDcwc^!QV*y(Epn{iJn;4blg>#lXTT-tLT=0&x{S|U^GRYl3=72;&_>tx)jZ4rB3r^%yJ-YI0dcZ{ zi@@d?c8mPOpV3Zz+$%@kWgTGocR8)Lq`gn5$Q*7K$QZ+Y$-(~_rWsR}C|2_E&AtC0CgtD1B7b$N)%=;B3gR*6uFQYY5K=C)J| z_{+7u*}I}~_(Z}hsToX)LUu@;NpA(FCDO)g5>%wFJ@uogb>(1jxJ{GcG}^2FCqSJ!eXgzy)71d$@rBe#RP%| z!9o1y_2Z(DdUFGKc?u383L^u4C5v?63n4LRd198*&N4#m1303 zvi4v^?ymXNgN@4hP?7UwIl70wTXawQ{v=D2t2b}4`5GflghA%lg=qH_iTTSKPX3G( z`vJL_x+en7qoa$Eh3!dIoL1ESm#6m{|4Gxoj7g>9QBQQ!+~CN(r;Xzq)#a??HBW%Q z+kiuh1V~b3TCuW^WHCUNm~EWlxBL*PKp;T6Pp!@(LaCDaOHV7LK@l(kf*l58Mm6`G zsx+)S4NLG}QZ^T2qzLQIkpFY}z412OCS(l?oNAJLZWUi zOruTB?vISD`XRrwp}5k5rrO9^lKiDoYu)nRW~sJSwKEJ=do}BnL|w_q#9X$xZtbbl zGyEK-qN&$Rsx~{f-Nwn;Gb}GU$Hv~^Ewl)5SXhBp_38LAEQMNmv+fK!Kdq+tz#u@1 z{uHZ~JCTVYk^B;&WmS9NP8OuHLQR=nw8I0P5Txz>idz`cIZBIE2GLYOy-hViD!6|1 zfLi=Zpz#22vjMNPXlC*2rD~_k`f`ewqJ4g<-C{Keg4#pd2Hg)b5}%=Auj8m%`PpOA zD%$xqj0lbc!v)AK|xnR=W}D^;BMszB+nhwr>%Rwg6SU(WqQ zu|DgYhMywfFP99duTWIUgP;Qsbx%I`=@p%)tFd*TX}~%nglYTnHpbHSFM7!1PzJ9x z5y!pL^Yy$9fy~zF^9%*};uB^iRI^6n#9DJ@WTMDwg^9(0W$$>HBGdF`o5*!S{rPQi=hKOsK$-t6D-K{#Y}|hlP}sv^JT-5%yYG&mV_b4v(uV$+w?eol zF;2#g6&puDxzJq36RWQG2Yd6&%+jd=iHB}P+>e0TIFBOpOn@_6$xo2bsN50-!3sIx z7~#A-1`5#P`hC@h4Zo*y>Wl9t$Tc5CX) zYWkG>wlAWKr{^l9dwtObgRMvbS_K$#^;V%McgLpiya>f50y63Jd_IeMSEe8d8J(>) z@yJSC7)Z#{quHp1JemS?VW&*}8|#4G=PQ-+HR3PW^r@euQ_pe1ApN{fb-nzUx8iWF>*Lli zq)0==O4-bZ4t)`5z}i9@00!#2Kqj-u=%q>mQBg)ZPJ1|6-Pr|P5~@Ne)**=~F73fT zS@(jZHdoFwHuv(J`Lb3>Bq3ZMRcMy7XJafVW(p2)FYrssm*g{G0h2DiZfN$kh1YJ#Co91 z#Fj{{o49Mzeg5aU|09~yFEd=_Me1K>Ib|4DC{BXJ6SakBKHsd_!FRzg@73=InR1pE zF+3)vf%kT8Cb_apxjT{iK^&6yb8jT@8M;qaI98bDe(v=#Lzd#GwTcF^d6qcH@px_n zmRgVQXDr(D=Y8@6fa&w-R#WD89Ev6OA8F|%GL#Zkr_bidzj1Dxcn{` z`svT*>-n4z#+lK?MEfgm6hlItvinDPBROR9^-7rQ&L>d+uBF1 za8p3z*s7PfcIvY!IekJc5!q27v<(y4bN)T@I_Fb;oQ>MM<&EIBRLXQ+$Oe+1z;Z7E zX+Nld2Fvb|z=7|v`@E5$UDu5&g?3dnSS4THx^pxzZAjI`^XU+Qcf9enbn4@+(1)FD zjJdVOD>-z2JrgAEk@gAs9~K}U1)n_9Xx4VoE%CVMC?v0L`Sys@`|JheG;;cy45M+z zxd*r2u*Z3@Jol)esz2pYud4u(9a(AO_($`reAuog#k&ZiJ%{3J4opUzL+ER!c`NtX z*74U&xeR^ed$eA;SJPJ)DfyL4KVIA;BfP&y{u$WErbUpjn$JF9XX1#ASGQ_-_30Zs zebT`#!Y6#OrN)ukvics$#l<~M1orW-SI;`q=ttuFsJ~JA{pW*7_FOlVzB9*^l;JZE z;%xG$1VdxPh_YkiaP0dl83D>^pEB_j!uZT1FsN6jdlKao(@5}O2XtHGfUT&me7zD< zrfIsaX8JMmP`?{?z>yABlhG601<(+6kX9noJl5G~jGMsf#fM&xCiu zvAj1z5$iVJD(*C!%}Havq6N7v>Mp+3c{mRks?0NCcXCxA^-rY9fbo!N7M8IZjKS+w z7YAkKaCSU%d5PW~_La7xt*KIj&1n%6`_c*t^<>2Q?#Zq(j-_+W!9=RS7&=&%s8p3! z=#Qe?{OZIRW{N=uSp7{5<0X`_-{-@d8+24^D4g#gue> zdA^eR+&ft9nYD0|P-+#E`igGp2G|?Rfw@8-OK;6N(9%$6N2_z^cc)NOd)!;6FCMVU)jJB+8}0g5rbq2*o8mmY>ETVO#6rWNwjHPIT!|@mOwCEOA zLF#!X`-)PTcLAQ=KGyy-?f3>DLZHw|%qteXJf4s4ysMjjZ_;m?%&#*qKD9K$kAKL@ zf7+aK5Cj&yP%Xv9`65YUU!%^;A_-QYM;Ov0NzWWFd)98Kkf|>?U@un*C6z62oiyn0 zV{t*z^ou{G-om%h*`XyAo3vZI;o`a0>xdPl%OZs%?e?#p;STAV@p)%U>Gk7&Zr#gs zxU%9_3u|FoI;L&XLmr=>MzI)kcsC`^POkx2GDBCsCC|=U@VKOllW*i{Tw7de-14!; zLj%>N(LT?#`az+`P2&X2VufGfqmlEo(-7qM6UqABEJo8iXDnJeFB2SWpyo@_v)51o4J&SO-`54y?YV!E{ z$=&4ksXMaP{uvc>i+~2h*iku|z%nDmjQdB!OY8=vy$Q{xe1YpZFNu;S&sRMnOZt|f zL8Ot&kaE>H%*u)#I#eMs;rtZ?hg!d!Lp8;nlBi!|JXgtuTvM5TInl1?l+5al(Xr=o zvN6ul`4|m=y`{d)hj(kYTbZl87PygGhapX#XASkz8byylaIm35HuI8 z@wgM)Kg4y^t*Tt3ZR8WIIKNKwaQMxOf?+6wi1R#YUTmZ{WX=4{66tR$axp7qx#DDX zl3&)|W=I>4yhBG=yq#hmCZ)qU*47t`G`E{T zorAv!hAQ))A#_DyHyd_cX|prYVEs|q$J}%T?C_Oe(06a%fZp$K9_VKaJl+xKIeUb^ zSVDL7c&6FIU8J7SxnoJFs9OHlc^YSitwod1@fm>>IiZ*Jan?}&kki!sR>#wk4^4vY zZ&JjI{k~kjS#znW@c6w2H`nlzT9z_d@NxGz-bv6$f7STXZ?KLUWu+W}2}l3U`x=wH zVGy$++8fDaQpM(AuHZ9@vHksP9^BPjWVe&haS=ZkHG;!#Hto)jC{+Ex$?Wj6)F%Pj zM}jRTI2N53m(Nf!*yP-di}){MLPO{?oyL1eeeIie@= zomSmB|0Q|0&P3Or22(FS9h)HQRgG*`X+ zpW*ZjsJGVVEU~>fk*!Rv{1c9(t-fCf%qCpzj+%?1|a~(3Nj6`oP+1p!+}!XZ)QQ4)T)v;c7-0 zI)$%7=pfA-?Y%Ws)*hQp2pb|Z%4}?*8w!KJZe6vVbN7tpLU}ICr^6eK0z=@p6>}?h zi-Y8a>B9cc_9v2w_@okrSf2{vaD=`Mx0_UayI@Z+C$r&J?oru0>?dMd?|FFfROz%P zLs}arfZf)}#9eS8L}1q}e2}`2AwV`ZfK5|$Zui8tV6z?1l*Uk4)$uO7&)4DbhbFbY_r2WOwZz z`oygsMzNJ(%4Q$mJ1+9u+U#C|g|D5#vJ83rC{Z7Y=5az;HtLs>Ck%0@ja+944+?Ux zUEvQ8qdw@kqr`FOKuke(+3riSc1X1ke&oOF7vq<#1O;pXg`?`VXF_z zyEV`p$k%X0NJ`yeh#U7p8bVkg>p%N8@a8JSeAZy=Oj^mAXbB))C>}$57nFp_)Gm{5 zxm*}ucj+Ap0?Y&(Mzmf>bxPG&2n}@8*3_=2U4rRQbt^A57~)Tv#BRA1Y8AKDI{rCr z`v}Vv*hWipGS4NxNA99#xm`=H)t2v$s!pmj+}RK|Xk^xC_Rgn2&y zsGVl;8O5#1LY%Y?VG=T{OtW&%B0?|42$ z>F1kcL7ITBEKpp}sEGTBuW#lL$@hj3Z)MJua&nDU?lPg{VOa~b8jYNv@AErmHE&ow zL=+#vdejbHxr~f@GUH%fVKss%ma0h8b^?n;0cAGYdMLT3WXghMO*Svmzs9p%u zsyTZ&VpnT0K_A67yCyJhCrKM|s9AIN*hL@a){0kpd!)kM-1V*Ov+Jyy>#L6pw;9SC zHu)eWX}WYz+=kqwW{1O0Viw9^Ra&6Y@0Im%#4otEU~ zsMP>p#jd9ST&_!(db-;>VAe{N($cI1gKcH+ z`JWJmw!~FtL5J-gvk^lqmt%wj1BFht%CK1MtLu&6@71jhX4~<#HPmHKp$QFrOqMsi zRbF#9&PKnPP*hFoSFjXrXUpNPnvJ2pWB*B2#^t|H?NQk0uZSeft^<2byo<83qPIQ_0m^I1%V?%hkw{Gp^OqClLuy&7>8cX?NbqWwU7) z?Vv!0f%0gCzwvBjzSeSOlK&-~EH;dc!WM%f|NpP(>cnyB>@sQ3-^$%ckJI(>PP>E6 zYo+u+m0Ln!_AT?O49K+k{ zu_@)`49J^GK=+ImRNPj}8g2EkydpR|R#Qkip7A_vaI#`LnAjUBcWh1fS81l6v{!fa zsQ>V8b{wJ><2jSfb!^5KN*|>4kxUKF&aQSc=gKdInVsyKGYQVk+SgNYV?j)Z|AG!U zL49k@F6{{NF4;@ei`1Veu$CebS1P`P0*TF>b&YZxbKl#erAjW5%Sm2M(VAifoCBKT zI<&5sp4n{2hl%yzD|R2*6~eyiSq$ck#z4xif@Em87HsZT?v_buIZ!3+LIg0^{&}uG zt0d9gJaqk<&^!OaKR}s#LOH2!X6{0C%igCwlcCM>vOvtMm*_J3jX?6T?;t)sSMQWa zkK))VLy%T{SF#4ebpz%zDugSmXcd@Lz`Hg-jWByG-rMb3x=!Y!o=RnitD zYVDi*(^5pQ|#v0|t(CfA0e#G8R&dWb-OtP~wf3_2KVh*_&n$4@}i ztKgXbo8PplS7Wq|+ujTvOCao{`&W-JdaMc?b&O)KAa~LzFYk|5FXqtEzYT7^>Xjl!F6Lq zjG6QHuOpeu?EDt9t{z!t4}e2+G+l3!;N_!>fTsazlwL(&=sj|l1k`PQ+H=P zV2~)QR=kmE@-$eX3QcvkQ(;p3y6!?f!Trn*($cXYl3bdy={!}ZwfExevM9mw6s3cB zL+gOOb4p0?zvLpY!`}LmN{c1Xy$ZjRY5==6F_EIB6aeq|mg zo151^TTB1#*f~Or+SU3vMglAdM%neV-D>Qwu&Vd=RSFb$mzswIp{0pl(PR~nVxu#u z+Tt#e!AzyQB&M&hhW?ALIR%}8!Ug9DD%Y$>05E75-7d|1Gmhn288mbLozm3D-B9lZ()PmcXYl=O~*Xnco440-=A^?WWwJM;Wc;906MoYK9g|Np=8#kfQHS`rRt{u%<-&|t?IO@Y#|W9uBWwYA8y zo!q6|aB+T_3^g^+1_h>edkBsIM^x3pP$7EpjOo}RyopO^iqpmT-TIUr57&e(kQF`D zFzj-O2mXvJ6l(8&wYYeE>|wnBPnmVS@1~BCg6CR#b(@Xo26&d~tF`0U*Rc9{L!mfe z{Xcy3L=`^FB=PWOqC4KLC*EFYwUPrpchb3lf1U$fOsV}r&s<0X=wYG@KBOAjZ#<## zbevQ+oE#qdZ1v{=VA>m-7c99QE3v?+)BT&b9(SqKFg8V##!gb>t5g{%gC5zho&s3T2zHr*Yfa6R~rVKFoj#lsN2pZ0!3kDo&1#C!KPcJ9YL{Y{-dd zyd^-^XPZr*+vD3Dne{lL043*Nu9($KH;8_1;iF84M6JEQ$x;)f~GQTUPXb zB^QxctWowKl+ssY*3;DaK=gmNXsmQiWV&Qabhtr@)U}WFDkZ??op=pU1_9607(G$d zm8Aq_1{skCr8**}kOP5bWgO2r$*Kvam(R5R=fzHsSF|I2FY$)cx}U~GL(&Y7{ih?evY1t~ngtzCT zW;)JSwEzFV_VQ6h@cPqI7mMOO#IB9p>M_y`tGnKkn znTLu|UpZS^s{6Xf#Hk%sI73Vd%7PqIEE02@JT&z!G&bwwYMrNv4iDPu$K{X0U{(^B zh!~yP=o4z_#9Ryc8OPdge68@d?6R;}3#e=Fb=KQF&40b}Kv{$JN#M)aC+oo)m8V-% zc6J1Q5X#x@wcnDhyp(Ghj9$%@E5x!7DK}>Rmhs=NHH!AjhFLE1yn`E3^x=-}-8qA0 zA`w;Ri$I%YI`IT%+m7N{W^}EJ)wo#U^u}|o$vx<{<=b5N3fMD9P z#kNQCr)n*FMexp12jUIkzI;$2iBLL3pf{SZEgeilv#s6< z&XXF2kPB%&vORsiv9^7pMS1o5d42mDKEOhn#+~AO^Wy>6NW=5MrFKVQWBeIp+KG;u ze>?lFNVrNi#V9s(V?53B@BS8b6C>m~)<FMZ8etl?B@ZEVQ5(6n$OtP|#`5&{iA`UbPw!Gr5jH_GH> zq525DDNtAr_Q9nl%E`A*gCV^c{Tgb}io=PwbMw z%3ImtM^?HiMp3GUqgWh^qsZ?yA7U=xsIP5Dr$juRN<$#~>_66Tz#j{SN8SlzepNQq zjmlY^GQ2gAZ#46}tp91#|86gDNKJnn*xbDn$N*DWB=-|s^euY1;Crk&N`#vGP(9x# zi$0X1DMt}{4nffe0h3D$OWH&z1df=6z{BJ3`NL3y^z(-Rb5P*a?%(vdFs?od$(uN8 z<*3WzM2}Q>LpIEv>Zf`e6$Hdax8@-&6Z%o+y@`FyKH@WX0UCVE_5V6aeizLCX+>B7 zy?}4qdlFe_a^be;lA~~M4b3}ZTB<53K@6I+ngVuLIcbY<(z))$I*{_nu7d>=C>GYzk~Qb^pb4zr7b-tmQeRybhP4PB62Nv{~~Rq+pSvQNuA}pbZTcrl*ii(oXbRDAL);$oCt= zKMH}VR$L^>#0TC( zV~jtC;~7 zehCHH$*VwzJBh##xh`3rvod3ZQGU!bpZZgU5waNWkdzP&?J6{%9Pf?Nd~av|ddjVBCKuh)aFKUquBg3b!b~KJY}=|=p%pQm zCp}jXcww*Zh~8+7#m_)x5aHSc$d6=y!M)BF2jn~0t8!Y9yRIz@2Z_XNEu&Al^%}8s zh^p{i6)d}Ab1ud!vfckZXvW9f{wR1!aHSZ#j@ib!acR#|v62H(EZKRn(bcj(o5xGp zh?j*m-$ykAA4AsD#1Dtv14N@=og(kJ7>691xkiQFu&W>8f7Mnx_4Ie@U*aVRM%Gq* zsoTcW;5+yv0i(C|4G`ynBC=zl{uO&N0!oLpMj{UeIAy=w-^O;z;(UHjTa))Uil!(k zAL-ypyXLXD>)3pc?L*iFMY)L5L-hPP8UmfAhjR{iBu308^O+xDh~5AEd4%`=jhvi+ zhvi=pfLECFVvwJ7B+;bqqr(O|(7*yH6nTP8xQp<7afy)nTurH2Rn%5riwRG@E7x&C zEzdqC2uEl0e);z8_BC74(*L1j(KYeU_NV0kD)8|a#wDGBZp-(@#J(?}@9<(H^>8mW zbgD*9C+Z3xy2vVV$xc?LJRI|q5UIMl)DC@ER8QA7;qkfl46R%LOS+Qfoz;dTN?+~B zEq$se68mtscFL~6Tr|)B76FxA#W>Q^K2r~;c zpI+yi0Pe<1OgoNJT}N%F1ntXa_~1=_CbvfD(d{JflO(~drGZH2Mxl;YpVcGSHSdL`oYm8OKosV6t=P2JYv#?)O)%woB!FA73|P`x;p!FJJx zEzrF8o^1-U?!?qDzpp%c(y^{<)A z7u+cMa-bl7{?ZSUGAkorrpc= z8b9^SznlJdo5oyUqGLbizwwSo-XdA{=|$<(8(S?dpslp|79LV~j-E`P#B8r0_P`2J zZi@6UlBJO!lKssgsynp7o`Y37BmJ9Rd*t&6Z&KWkJZ%R6XrZ27A_K+HoqgK9Wz6WB{Hj3zY_l%tb_ft^z5j%Ji6)!gi#E35ZFi_rG{M4J|rR zP5B7d-0`gWEto>0#d(uQML*olvdQKM>1VK2Oi)*i8gVL_TEVE;T&cE5Qn|29vO3ks zb$IVM3_rE)6?JH7alME6v@sC1ZL35Z&oNi)DaGD=7Pnzg5Grph#_0a4t-bL@{pZ>T z9{MZLFT4SA17R!o*FY?Itu&l9gHHU3=sMrbhH8>bT?eHNNSE!#4{)rhFZ%h^k zeJBBm)tXOe2lz_(%VWY9Q%!2|e*Ik>hT_4ix)z*ggKweSV*WE{?OrP{80nuFLThF# z?g!fhtN{9s9|@t~Q`*<}<)bJDMm-lvnz(UBWk=>!M(aj~njNG}KEO<}kVXt9$b>=G zh>hbwh7eIXNh&wsMI&~y5D77CC)NP=Y+cS7_ka9F9-kQye{jkqI1gkGns^gQs%Szt zrm6)sYi}`9a%~yA^@PHh1dooEQ<4S@Om?d>IhXJH6Nkm2?3?lf7^?TmJu6!3MLtgB zxK){|wPyBTf1Re=OMrrQ4Xj6zkyK#`->SMLEc5GugiS^`bF)A)YMWyVnBHrTUI#PW zujBbI9;A;Rm%XOplON&tgw9$CN4twKE>B}xv|G5xz@9!=3fd`w$wh5sl}yCPbSh z+P>Yk&SGJ=nN!Tx;Y9(vo?+(jGR%_5V%;B(0Oa(&BX=u-r2Wj0bJLubf;$Il8542B z-Kz{MtO59>FwIyOkB8-MLy7ngF|{z0FemAw{wO^#Tfo~{-1x+io>;FH@;CY92NT$d z`4L;0o!SmMSyItv!;HGlb|@36yrWOll-Q7Vuoah4OL*kIYPx^NDkrxzt8B9?YP0#| ziPh`!QopN@s*&PEF6P}Iu&FM0!n}?(pq;ub_rHR3T_tg!V5i@o7%kY5f3e^#@=D({ zZf+Ro0(pUCJGlm|V_7BM$0awBabkw5_G;?-Zx7N@W$A zADgUKdY)Y#tp5F)EN~4WVBmH4e|E@S!+z9PhiG(cwap#MH4cWt(S8Z$#L&WqU)aCZ ze22+?hM`gHZxuqvne|*ex}54qt8TbFQC-I@?*=S(iE*GaGsB^APCWnw5JKUVN7aC9 zYq^0ej{XFn^`qVZ;UdL=Oj`HG9rs!*B7On*0{ALZ7r^xko$R(*3?!wf5e+L#z&y+b zu8b~+K(2ebf8GYTL!0YVLbisUZ=z>`{00?ol5FONE|0YYX4sA(0$>bSRqF#&3yo-_ zm&brdgl@#=DgzvKRK>KXTRIvWz4f=>fkQX!bJGsj6J>Y3y zLqb)gA3Ou^S;EQ>E800kTQ(#s6<8^_74_)Gj*-(}o8-9Wz7vPl(;F8*VJlql8r^;B%-QVUV+Y+5AkX^60lN8F)tA#R2U=RNo&e zap^q&VgzKu=w>I{e!BqdES=2zz{}UX@Ma?5R=-!_*&C_1&${N{FP{KM(}Di?6k0Pt zWxD5}36{#}wO^ddY935OEl%fvt8;SL=j{sUjzCCSi-_Z4F#KH}v}xZ;Wr76Z6Q zI!S=yb_l4rBULrL|GE_Z2VY#&K8(i*>5>NVl-bzTPCMJ)eil64a^gbcC90~X8@j!^ zAf;K=>o39BoF?^MqBFYp)F8XH*{?nV?&>Z$?ch)`W=3#kQr#ktiRpn+n^qAW4o2Jv z9h5tVoS(5c=v5}Pjx(DR9{eJp#wcEri^0I%~N zs|_#3P~`U0_1gY*M?`VTczaqsa?r`cWR&JC{$cGZ$`QSjGVb6Z0V9#}a;&uS!(Rwy@kAjoJdTfg@~s zP>9*rHq)MV>!2ukw2MFMb@!!7MY58A(8Z8yr~#a_2zc3YxGc@i>Ryk?-uO#$FAzW? zQVnFnmVK$ur*13)oo5lCR<{$1AM0*qt^ZLHACKoXy4`U9mQ*a@uni--?*lt7ff5&x zk%9*Dlk$tB>1if~A8(5YTdPsf>M@{an-N$=E}U(7U73UaH}2h28Mf_dK&Ugj?n0+U zn?5XqHw!Xef4Y{NZ_=9#v6*Ye%q064CEoV|D|Dj5s$z9RFE3BxsGHb-p|Qcn{2f$} z%_lLTQ|d?1P6{qV^4lMail2=rQryX}w$XyLMkLD!Pg|oStwJY=<^pLF#$;N-u(Dr? z1BV*R6_DVem){3FrnqeiNpLB}aW{Z03cMy~EN}H)2du&2;7ztNTtzEkn>vq$*_G^ z35&k;%R5ygTvD6sb5!&8WWe_&?C+cuMeZoehtdP4+W;3!t-G5%W4X` zTRslA5An)kc1nt|)5?SCy@pshF%b!$U8ld|!5KrzMNf@|?V+J3^$rylCAHaB`^97r z-JK25Ruvsqg>faTRf4xhU{*R_ji*4@wok1I!g6-0H9@81>uuWtU+l-yaEzsttMlw$ z*|EnBE`kRN>dWQV`Y1td!HymUp#;l{_*%f$hX9(P*WELqOn(|Ra&5i{o97#yZ@_a< z4D1CGOusJ#GW=FGJASpGmMiAIv5f;g)tXh+leY)Jhsrof#OYAr(E8OS&^?v|lbuoO zhg!BBjEBHznvC`RlTaI4umC|m4Y4$>;21C}rWn9WTko46AMRP5|9<=BKZ-(W(z7$h z_hns2l_1OT9da6)_Pa3qKj(JdzS|=6L*j|wbTnhKDDLH2r^Z6e zAIl(UVb-RW;?6x+=M6#S#ikir_@TClT=DJ{c)Ja?gV>Nh~TGtO#2dt#n8iU$h zFTFH&|3mJ`t~)-mG3)}T(R=Sh%f4S4Xaa*rg%y%T<4rZdUoF!^ASLZj`heK?#Rp!7IDn*u>gpe=O>IOGqROBg&N^iA@lp zv5M6a>V}AyJi<~uMuSOh#8?a;pry~19)YgZIq55EAJ@RgJ7}Y3uSf6_`@TIPZM)dl z%W%jh$9szQcUqaMdE(yCh7i~MkL4wR+}#zHKn*n|PN%;U354<2Xcxe^2AJ*KXsVF^ z9k+Sz_*Oo_slDa>AVu!q5aWvsW1r(Rhvl&R5g5BW@QHlIo`K}D8$hi(W!rjEhM(yN zdAvRhKh_GLVaAC-gnJlkR-L_NHP?3OSh{0WT8W4e)niWZS|*SxGKEo!U6)CyxkA%x z^ZTnhKIhliOkX>evDBW}p{a>jm<9qywseZ@^?Rf0L6o&4}Q{MK&*r{k_CxZ@yVzcOProZG`4XFGxI(@%umO^G6oC5JLT?j~@9 z|0nosWiFafsUBN{?H>wbF*g|Od%u34ZLJiP-v0YRkF2{Q^D~NP0s$V0@^-G6myeUJ z6$7Na9(hHvr5v=4x!RosNX67S(`wAjXI%f zC~K~?9+^ZR8(HjmyxL>^y={3foeiv?WnsDH!RQ8Mxw04)JpX^RFZyeqM!Xkdf@u%! zh=Zc)${#RgNV7bBrgJ}^v@}gm8{Ld&uH9h|l%iuQvJV%1o$Llg3t9h2gGjAeo!LK2 zMAUlC;g_9kg_N+ajiM&P7YKR_%t`k>L@QfPsQ9U=&J{Q#ZSF~{EKKUtfRMf*F<^G% z2;z{Cc+812>&x$y(iAU0;9kxYl#hID(CE-Iir%n-0?$@YhP*fWti+WP;*I9nf;L`F z1OgxGu0sXuUg)mg{15Esr^0lzKn`jPpIM>|&>r2iqn+#VC~7v!-auQ}Wz>SB`J1J^ zD$4VoofMWHxG&3A{(gY!4l1uAVbbXszhZK&TCGzRilJTKj<%Wj3H01;CzYo_E5G0L zB6d4@f`M{7i@@DGoDG}Z7ZSUcj=%6Dw_KIhgDJ9uEKdRm3-8|R{vOn9P00nVOMV`w zrXL{=TF_4i=`G&h74x4M#~9%lg;y;%-+Covt2*j2m2qZ-5p`S z>)%xV9^*R$ZwO3k9yP~QbR2duHQlbdQH6QgzIt~BS6k;%qp!yj@>b&aF#ZulExg$x zanGkFP+oDav>>-(WTUPq$#pcRV)GE+h_rM6cX@E9jzu3IsE_!dzc90M0oD==RF`#< z3`CZee%GqHJoM|wFSHl72z0Di65V_HVRR%hJGvj+(xY07YZ~HV8h|bE=_1TkP2=_0 zxeN{wjRkNzuiSa{B(GxHd7j`5$R`M-c_p~?w8P5~5ENxA6Hv?1tF)RwLN1J3dlQ_S zXS*A2HkjW9dTU(@bNfl+|6}Ysz_EP)w+k5|LdavwDtnU^C6b-8 z_Y99sWM;3-?3tOpS5_1elD%c`z4v?FsPFgpe}C^d4n4;c&vTFKy6(^Q8RvO^oazDj zmQj<(PsUp--c$3k;dxgnYN@8qlg}p&uobTo@4?oG@w#y~E7}1a6%jEbD^vFf!vy;7 zsLo7b*Asq2_<)WgboefbA9d1HxuSP=3%5cxhuU;(FHSkBL#FKbZM~M^$+DHILFgVP zLi(jI_65?0YL>DY{o0rl3TW%B(|a{bHtq>_!>y1mbr;br7tN-Ed8HYaYsk?OLW+|V zob?E!-d$uD#aS2V40?rySC$Hf7Z_sKfkd5?1{bUftpx?b`DRgF*C%lIreImWX=YZo z{JuhJyuR~g6|gBbBYkH1cIeRxWDHipgB_L&Xm?m0MZ6}TMnBYvx~P9Slx&6`a%3v} z7P}+OZHe=FEA3p@ufN}5TQPUF^}P5!SZ$K(!$0QK;C{$=)xeio^|w({IfI-i4IZ_0 z#Wv@f;#~m1XCEh<9Ura^{^&0?IU5+;6EwK9Tr*DDZ!pP=NkVDIC$_Td^?mtvQO}+G zYCKl(nX$pCuR%3JcE+qnC``ur?{jbAD9=o(FmK2#7mAsTOopVd?p#mEoxi(kTBJYs z8awUV!p(0HQdnXpccT^4{q#;B{p?Z^i}XqC2z5IGZC7OpKxF#~J&z`lATtCrPmfzuK6o{+WC+zmKiLr@DhbDnLW z9z;|zwh^15AE``}Ah78Z#I$ug#?)=KhW*Q9(DKy&Auw#Fpo3C5;ENwgu}gdF+K8Tl zo-l92D(XnNRw1RkI3Pz*11>N{Gzc``c)A2;^@DdYIz!<#=|?ed*J36nLAYRsh>VdX z&%$$G$&d0f?;nfdJ{zU<>rF>5$y3ZyZYEL#O|^$#>S_$$IsY=R!K`!CL*(S4W8lgDy;}iUf0rE+wlsG zM4nB?&yMGxbLYjL4i*P6Oe9Y;ix~nR!ci9Z|K*kn9oaegOXjJd8E`Zd>ooH_gHSxP zgvP}tgmXZx2gKrfHIcxe`H5A{Myhs#HZ74eO+DDv*LIQVUnaHcRsJIHhv$y zGjnro`&&b!YZg|=s&T_+=J3}QbyY=UN6pQ4+siP=s>QP1)#fkDBbXljB?0Fn9q+5N zQ_ZR-aLNygt-0wcb!@z#3*%HBU<0~N&x#5{*XsM(x;bVDE&yLy%pknzjf!vUz(;s% z{~ey#n^^=tKcc(642o{s%`CNV_sdVbqK$hp(o1O1fLs4FQb`BxEf6~hic=lrn4XKv zD<8h!>M;+L*0w5UOU*|5^Q)Kc>xKs&kSq3)b(>5B^@sD_A!(pHH3Afb%s}A0Gdav( z2MV$8hM;CU(*!C;6efMyANC0x835TGtt35CrHyOUqUpXq*tZ#8cuidlqVjE7!#FZ` z9UE_*He~rxBp+=|ZFse+ZV=}NP1rd0GfL~k9h3A*MdtUq;HuQDrtnhH?|pbN4VF&I zgje=_Kk*bRQ)Aw<;n^hi?_Jr0hXv(C(q+YtQA~oTAST;_ zpCO8YFr*{+Wu*<$i}1_h4kuC<$kAoD%Cq>fMKDGy`FsaG7Kb!lPiHl;%Dz(uw99XS zly4$6(__<$F}pM5hdVd8dVR4fRwl9J1DUXwvN|z$2VN!J6?8ga=!23@FsATA74XzW z#pi!vbXQzta{PdIkNUDIToQiG5#dNgeIyM-e_178_KfAJiBu|E0-Hup7Qd_)G;zX6 zZIQr3;1g9x5x?8kU#8~blBXZ-YVt^sAWwe=S5E2TBT1kR)^`37{*fxzx#GQM>Iagc z{5|fm5RmdTPdSR8jNmQsJ^~wTSbI&~B#1ku8$rs|a0)BYV(H{lX5yBd7gs~$1G2h< zDRdZ{p6|~Vk0Y?sh-)-Z-^vJ(rUZdDnG@Z+pb>d{RQf}m#zyfQ8CNz6VdzTBkHsQqe!;Y7Ym z?hJG%E9%eBMxd_jBcRcxDI|^p((5CGdZ5e72HIJ5wZPlGoy-ZaENyia*1ANo%GSm{ zkAPIA8HgKuqCd&PpyUOlFjD?Y3^r8MLb`lx52_G{;RmCGCBVBH7$lKS*L@+{4Eke! zXW{1qt&~=MsornwZdK<|ljwT#UxrQ~QG|i8fW3gjStdog)gMt%zDStvqTS>6x3eGS}~RnHo_>khucam zEmF!wN0ki|^jC+=wvUFO8i4cB4(kr)$;MY-L(mcpYiPFI27%~8FuGj~VF7aii<490 z;_OU|3wKWPg0yq`IZ89+q9)!$Y7_v}z=4IZaBBgZb2pNICXZgztfwqeJEJUc_)LX} zHz^jf)$YhN01$zNfI=at+U@IGu^`Wx!xgk##%D*^#&wLV;U^5$HMi2WonXB zhHya*&>ihSbIv1EGN%o9`{nHhr3{d=@xI;_L9eh9#68ZE&jpFWtpeU`Dfl<~O4SI1 zHu25JUsy+-%l8*FLCrsC#5o`IdDYD4!s7b*hPoN-{I9`Wmk9ut`9(f-8?%`wtpm_a z%RW8(Lu^U@f|@LutdOjltn2B$aao)Fq$d3&!C@|@yjNaw2xyF*sC57)rq!%B&#?9_ ztO74`Vm+`((KR5@3a;z0LLgH}ekPx*^X^@nL{NJgg|P!WF~0`_#zCNDsI!0pwKsy8 z`aohY4G4tvU!>G4b$(H}{K*9v0mH!|U65+N;ZMKR5G*GnFH8#Ad+-w-gw#dWMb$;y z^+2TOqR>uJ_agsdF0&`XmM(#EbR_Qb1D?0sncSt_;kTDsE(^KoR%MYO3oU;d`Qid7 z&tVAMN#o854fK_V>-YjD35TnP3HU{tZ<*F^fWkQ^9*(rf7${IdWu>DaVhkOC<2YA} zVp6YRg*pQ&&px<$OX$RcDq(<4v9BJ=PBB%@;7luGt8KSSad@C$aRoY5dUYw8>G4{$Q%r6DT4!L zpn!Mi65=z!+9ebSI{Kd4G@<&`Jjymn;wNMjSmWwNc-s6mTCQE+6p_LYm4g>yDFg!N zEZ{BRFA$a}OzAw#9}Z zS!UaJqw9JW`?+n%0@hbu7T8jAUXEZBGWl+DkCu(~a$W^d!RHyp_yv>&43LZbxb#e3 z@mMbwtnpQlzGGkVq_UNpZ*WJ<*rnny`ymLXL8LPZ(wHxmw7q7U zW4w(#>a2S(<8*BETz@?w*ggHBcOSOhTSgja^1BiUeDsxN#eDL;*oT4Q9`|(&Ily{e zH+MJj4aHAI@68a3d49SZ13_}UuQNO6N~!kEx>MQqJ)QrQuaWL|VF`SNt*N_C`Z)}! zgWe}|1}Rt3iCt8Wg^`HjuDN=cFs9o6(nKUKiv$%LMUed?M=1FK_ReSSsn-@gZmB3A^WluKWu z2Lfqk>?dSBy>thl*RD~ttn+{VdvS@E|DBZ)rn*F^L1zN0T>#q6c(gq5`(p5^Z+9s@ zNnXS?>RU>x3$H&@nN+_50fP%(k|A%;)ON{pmFlS1)54DCIKOR-1RYhD@SJ%+BgXVe2(Ow``-?Ef~0pEdPyEorUF24+j9+N-O`b9mr zlY%C6^8Yv=XVdMhAD73}e?s2=N&7ux&X+z*7WYS5@-0(smy9oPMIn^fb3H8e8DTSK zACU}LD~&&%zNq+TN>$++Le1uNXC0safJlW!ap?A|o1BQ|2CT@;ZKu&O5W<(X z?q7gDpzkIdAZSZtTAOxIw{brOHyE)l&dCN%m{A>4@AjPN#psv`3Yb?3eE1^u<8+PF z>d$n#(}*QE-QPYWbw1nVSYM(*U<`5d2JtL80yWjel}6@H87Rp?qt-<6=ME{m(oj8l zIope*vaL(1*ug!r#l^j{{)gHo>n0p6({!Rj9`G@i5Gqj=F+U#r2Ppg+$w1S!I{()& z_ue6G4}%)XBGte6!noJxVmTpg;(WcBx4j>N#>MJ z7!?r^qZ=~Pt-30&W-M6=p*^)dvln;n)k#KmX)h4$dPm0Mb^|p{SNIVnLWi$g^?k5>XHdm|W}SQh zFYTfff3Au7`Xb>j^+4q;@c1iFeq`HX{&^}NC%-{ZHLcAm(A)SCzPcRBUZeRBdtn$? z>x}qhE4WTL`jvCCmk>h07wRrn6`p69m%e234cw4Kxq}~3iE_~aI)84k94R*Yz1+xI z#f%f!B3dWvn*S~?aCHnNE2HIodjZET0#4^x<9(tR4>yqMZX-uPb7yg7OJXaaL1P?6 zM2~i(U}T6x)rZ9zt75#;kaZtBux9PWEE8i-9 zjzaAb$9Ag2$?$g_%}HtnJ4Y4T{pc`Bt&h>RALYn6yp{HCU+voE>NeoMJ|{IN1E#iT zXv{^y9E+yV{dR7wqidhg)iD4~Df(fIC^Wfo@)NNlnpy}j!Y|qMJH~svj~M^hzf&|8 zb2eADV78?GdYTWW7|=e6vGiKuj~NVb8#d!Ya@0h@@MDpz}BkMyF5yW*b8G196Yn~!>hu1BdSWPf^_Y63Ak9^-D%fCX&UOQ8@`%G_c;-_!%&B?!!U>N!*GYv zsvXVKcu4G*T{+G9s%8k?f^aJCLZQ`zhllZZ!UiPOEhh)KHrB{Y8?jtD94C7J7<403 zgmxdq^|SG4vZlTt?Q!i%whO8O?Ki2EEY&$zw0LCs!~#wjjk+%H)(cJiCtZ6wS5Y_n zYf*_SuZ_rEINV5{Pb~a^=-DtDVEy4`-v4JW0TFaV_GxawtKz(J;3)DR%#y8+Dm)#u zeHB>RIrLqX!?9YzBN&ci`l<9lfiNpaUuiUL@$w^X2>$Taz^_<)1-oA9Q z!8anVy9?~8H+EK)rkd3pHo9;mxw3VfZ42+cIG1?p0hm zs6YyGAPS@tsbaruP_t++KSSB|8)?pL7faPO^+xSxhcZFF-oR*i_L!X}fgd3>s&3Hm zM(moq9lm!6_M)GAG}i=Lyr?Q6US6K{BBA1vlK$yAxAXeZ_%1X=>8Hri+tJ6-h%x9f zxT?`aUB8>W=uNdTOrk4FCt{j&Tvefu3D>(v?!&a|bjNkibV>CDO*bT7VMfFXm+iLx z&QRfh_K)-N=K%l@o`~@2fBF4iH%C~30`hUTq_W7a?(Sk7C}rOxanSs+jeidZJ<40O z$$u7{F#0|4W&DG5lkb0qrW?)ZqH242lz+Ycr*{M$$Q$~ycUn&Mg@3e%6!FIdUfSEM z*GoU{UkAE8lfDQr3i?}5xY}7>Wh?K?18eQ!$eR3fn13DOKX2WA z7#rAHGdlW9LNN%A)e)9r{(o=bU*3rO7J0JVf86u`%PCf2a*x!t=&`ET4O06rKC{ZL z>p>Sp;{TWc$UVF8rMr-z>L!{K+7dw2{y7!&M%V$jYvF%>=VDNxp{Bdswu+%I>pM>n z<^A(zB!r8OtA8fu?;-yA+T|#A2}1)etfhGQU14X`tiXSc^3Syh|F=0$K7^>P+vm49 z-+9v{|3mxvdp7Xqf1dE~dXTytwj-5p(wY zE34eD<;O?CC6b+|ZPE(@qmE=7evdIA8+l<}+s?Qf;#)>rh`+0Sj~^87$;*a1_Yfnz zR{Sq>we;9+m!jWKiCJgNcb954hT~8mwOF&I*Ic&#(S@O2n7Fo0vQ2ui&uAym$m+wl zAX_$7;5HG9^fwo<5-n5{Dm5{lG~%Y(G6?g?7_^@_GhjD3QJ;!@k#IG}petCrL%Vak zd%IV=A6>Za81ayWz{`&R<9(aLk(97>)P4WCz|=V|{M`$*9T@DTXBUPM+HwvA32Gxf^eARWNTzRS55G{V>SGDE!NM{Ijasyxov5E0nS!*OrBIQHq!zBmZmUjDCt= z?rq?}qppbmxdXI^dr|{T9SA@-PJ>{_KI&F`ulAzh=zB?kz)*PSQ%tC_EU@Nj-EGqmSFte`R?H?#^WIt%0(<9ec@jnP$0^A^?(caP&Ax;=Wlgtt!ah)O&iCo z#NJ3SH?JkLh3h_>lY|qF5WDOY->{;4cJ;(8JxXp5U@=6d4y!6{_sN<3A2)hoytEPg z@3;fiKR&EDZ)n&R44Qf@u8c$S3{o_640nuB%u~s6xBI3RP&R>f>YSg4!XXIn{ArdU z=Y1N44sW+h=REyh!)R++qZ)I2yh>ZOV$^@yDB)AIthB3N_4-^}et3DWGR{k~cmG5X zen`<5XN!?hrSt%f)|{zDkI`t$`@<#;CxegXuIr~!TltWz@#T*#2ytcSUd;7Ze|Y&P zzyz6x$HJn(bo|YC7&Rg(4QM<2FnRBiUiLl)f6AhA$Bz?ePioI>&tb%W%uZYhm^z#3 zwMUJ?b-e}x_?+VfbANClV4QmWu30aDUvKI+jxJsPUbuujS^BT*`PT{yljklQ{X`-P z+oDRo4GlO*Uv#-hG_k|8@PPq(T3p|eRmhDjwVCc{T2g2aDOg%Vxge5Z zCd^6NEOifqCj!1ca1~0vMtFAHeF>E%iY+sYw!P@!s@C&&P{Esy05?YXSk>pYK!i<&6)2cI1#mSSr1kXJK5B zEa_!w;Y!K>^x!{^4`8}~N^_K54M>fS(n=G?zvo`m{&{RT-C2^n56f~GGVwpRh$(O8Sqb7lGwon26hN-)5*sbWvTw zlN6qPlDvl02xVld2a<70ARD(Ne$s;GdWfU8I3w^UbK{1Jca;swX1fCh*~q_;_f{tjM{`~i%B1PW>3Sz6r zQs>9J%L5VBFLUagc78qGg8(EG%GC`(NjoHPxlj~KiuO|L8eCnF$Zx<=C@<1&83v5! zUv#VU+{2@`ZYP_)c!0B04{;^-K+Wbw%x*#bSutq-(E=*%qRZp8pP@b?cB7V0VeAIa zKj=q*q3e2#ngyfmdWW{LZ=v4LLPXRDy848k2z06-Zkvc!@IG8Fcug`@HJ>QiJeDpQ z#b>{`lv5zxwhn3twoCp<+?;(l8==tM#~DpFO;cAOdW-jKC%}aun>@X937_^Ac1Ak^0E99CPZ$Q}cyw^s z-Q1_aq~!ojKEgF(s>?lU;USg4S5~LUonwV1up?XSjuZeYA7B2fl#F zNXrxTt{#g@Dn3S8nx#vZTaS_d#ki>NU zl*?2}-h4ReaoeSMW{8aN__ zN@jjYJqHyhY4028(r&c3sW%`7eb;mdP#1e0NmNy|ks2%{J%zrA83DLq17ZAx;+vH_9%}OP42VX)h-Rh8=p|BWxcRR+|M`(UwX;b1?0Z z;w}RXGa^n@C6}>{U0Y%DUeM!p8D8$v0QgKvWVU(V@zd~EEP1r)rxY-5?2=~p8i2#2 zP|3fv-=O{gLwS@m_vANN-4%k)M})5^ySI7g<9m|$C!oS}5NCfOC?EP51$_JtCX)X% zglwyfCu3O{EK0o-c4A4;)>Cda0*%=mC)R`9!gq{SGht`=ACZk8f9OO;czwa$YYS)q zkIU=NYt=bLlel8#2U7tfFICO-Au>q%yadJ*fHM?|W6>7*u42bjU~vR>>I_;wKU+V) z?-hVq17I^}86xlpH2?}=_=yQ%&k?hr<{vNBZ55Y?O6D0Hy3vKfh2>AAJp`RV%%EyH zKpfgfo|LdpbxSf!HSYsW=#I{ezR0U>lPZ}raD{*kG|_sYQlbRFi>rW$V#xJNfVHy< zfR7(6>Vp2K!Tl8ePqMZyZI)DmTR%s8n)#jc2YC{Pj(}?wZu=fU{i_d<6+NJ%M%;!T z#a~f(y|?!5aaRZ4Y8Fd4o0nLQXlm*93w&$Nx6TeyUFU#RoEh&mA!ok53lyBWv{Tv5 zrkV{M4lTn=R$Dqci(2E7OcdfzO20YmS?_PJMv)S{iK(9T;xfxYH#_Pl7z)f|E}wX- zVd9#^-Zk}ff(`cSkm$TCO8&FZ=}x%1bqA+JSx#=Tf9+P=gFQgZ8`h6fpEECY03(w3 zc7IKR6yLP+2CW~RC>AmUB#L|oG@w(ZrJC!L^V+&-P?YGsQ+Rg|lrf3=yB@BVDu{BW zU!+fflmGm8u$=3#=R?||?^JbV+Ho%M_572f+L4s6Q%h;^;bg{PhE0~6FI&p0bejV= zjZKjgfNaGcKmZ@Z%%Ebn>$4?5pp*!71c)3MRWP%xH&%XfCmDWb6hi7rsrOCY3uxak zgg*{~Z;eR6MlJ52k)0nrb;0+#+^1r%U!QwB=RD`S<3?l~c(gzkl%{KhsXK>du~s#o zUuy6r=v{7~)|-(GDOge{Y)z?Y(;Y{k^p+fDNcKfWIhNO*b>dtf>ujCi;pqgfSpl%} zFKg>c@~}vCRms@;%Xw|$qs*|*$IE%AP)5r4-_YWkex{-w-g_!tyc&G=%Z|sf*vxeW zZ)9^Y$+TtKb+5Pwt$t9N_Ia6W0!K${!CrwvhH3%2YsL23!H=`;XI?>Z9B-4$b~rH? zRnrd>Bn?-Mm>Jp_(Jy! zW%1zDcL`$E8P7^5dOWgk`DsyuPA*Fp@{>!xE+>6wPV=zi)6Q3``%Un&g{5=O%1O)u zs|FnyX#it+wCkPgv|VT@ljQ_lEqpc$*dJHGw)OmEclQLqWp)`=UQ{)|<{n!VIzQ=g zJzuOWO&alhlc&g+&*w@L{)tKXN@!Hd_gb7*stlPfnb|Io2RcDHUhFg8o5zAn2NETR z=SweTU=DAYRhKV{B9_kO5JOwg^J&C2%WetUq3bBbzrSut_x{NRIDHTT-KpxJW@{2N zArzv458}do@AH3apZ*q+{%`?q8=V=*QcIl9u7*)y*E0 zZR@@BfVD|XJ%w*;8o=KQPO?;dCKZ<3+Xg?P8Wn=a)RuOmB}*tT-WJ1`V~0r0d7gSs zf6nemN%NEW$l_k*WCqx{?Alpd?)|EHeSg#_{&8djU{~iU^p+pV2UeAv(O-JC!p5jt zM%If#xOoE-6Uyg4v?Iq!&nuE#tW1dRz^{L7Ty=O1KS#7YCRs_U?7$Uet76%v-YgoS zYOQp>ttL4etZ>+#E|aLDE&B9Ce_wFlhs3sT-L6B_l{;%P2-py^$k*QmQsvvvIrBvE za^m`42-Wutzo!bP*D$=_asD%`NUx)&T^|BS*vCD{JaeQQ1{LFTV-gC#9E4Qi|AHJM!vT!~#i4+S(? zv8LO~#*#WNq@;D%?g79sKziSc-)jfZ(Q*J6rIFiZtxTx}c%A;rXIRVQpkdE2)8`c( z!$gM+XFyky7&HC}r1nk0=Ct4V0JGcp%Q+x0AJ}YxRt?$|)nUi8QJO>*zgWDP)T;-9 zTK-JIavY!S>vX4d4Df9-iTZ_+G>PyPs8jhW*x%0-)lo=nWYgz>1GlQYQaSw|ISxKn zeYaqj5A^m5d?ojyEgpRo7;y>MqSOzyV&Y5RlSWKy>-di`~*z#So9+abQ z?1W0da9sf#{Jvu9D+q)!uDS4~CQzH%n85&pl%H^&VXGNte&FB)c&Qr&wWDvQgH{38 zlUq7L4jzf{$ydkrnnsJ;t_Y%wLS>U6U_n1yq3IIZd+i#vrXbV|;a!Kg?Fxa&ZZ{o>(XM$O{6clw53Us?f$hQ5q36z0B9&9I4otReb9RL}Un3SoUit6y% zYQlM6y@|&GFfUo>dH~+P{XPGdIN(RNyuPnu#%G((9!T<#3+)!si%~vwU9lG7rIK4; z_%LRbuvDCP`^=~>fqx`<{PuERYjUM+>vGxQ#04a|rdrIv=6rIn4J+@*_jsXXJ1v2zQmf{+JV zo)-NisB#hy?lC2i?xf0o>^AV(+K$beTs4ZAtHSJ$%1KsKTqh@qCe19wrrZs?-!8 zwx4juym8M?S0-xus8L4fv=@6Tqvu_c6hn8Yh&R2dY!OA%qLs$jHT#H2cSID&X@V&c z^>iC!AHfU6+6vGUVaMZcP8=uKTPf6+Gn@Gysv+@M?gTtLftZX(n%}?sNfpbU)9pJ) z7N1}A66eL1C5yv#_p_HSE|7ug_OqCX*osa9=Fx(}*v8$zu zxaVv;TXmF<75@x=OR@YbXHdpR^P-G~i4)XiRsuB(_XNkKPx!YupR92=)pbg7kLeLk zYN@p!VWX71`9|~hL9Tt_T0+;Lv07h)FQ96}CXGBpGmU_bBA z6gbN`wb;dNrHl7B5>H3vHW!O2)SSZ;o8Mn#N5p=GDD@GiQqLh4OlC zjRw_e9FPrJ5h5^UVYMTa<)xigN}irMyZInjIHKr{J+PlDDw7o%M@dJQS_drX*QFhU zt83;)WDV#C8*cCT)qNK@Q&)(y3s3S5PDNA-0U5wwl#q=5s>1DcM=bV$a}seI^9%Xi#pjB zuyuzS1^P#ySAdx79+O!}_+$Kykl-7cHc-!M5b5<-TGEmPC-LY3C^Cgo`ocqy<&_W5qVk zK%D`47M5=;G=agdtl8_WryPM(zbD2+kr(n7kO>Kw$xQb`I-NRd%0X;{yVK~6wR#{- zLK+w(l`88gXlY`J8r7R8s-NqV%$;7}^5LaQs}gJ~0~Qz{2zGJ4-mKiqIIbk1p@;d* z^c3ZN(op<4?wF7oG1FAdjXh4^j%R$qBZ!-i_ASVg*3|Z%0-5v1aesT=AI&Y1W|Yh0 z=O>ykm*U`1GR85nQ_p{dU4)kYTOGDHGjZbF1`c^4m#{^qYCG_`6S3|DfGH74ue0ve`C`kBbS=5D_DD{&3BDa@xRl_ z9!OG@f*y;uDecKhmaAm6Q>-?VNL6_ozUFFvx z3_jFld@zub)vg{ZVeg&iMW!#7z+Fh})L1i#HKWxow(eJpyiJHg8$*_7H6Y3O{mv`- z(ZSdrlR}PM`cq&(-txX*RXEH*X@NW;e3;?=Z!G!TTMf(9?`~sRvu4KfTnA#9+($jn zAtJu{O)5O;7l*>*9LVr0U+C4$gEd7;&@R@?$LRX5nJMP(Y8r_8#kU&tq zJE~}GX=n$?h6_Tuk$lO4ectq>ywDwCi4tXbbLa zT6Inl)L?FHzBBO+Wba-pE-FyeUl4BqfRkcltWs#TEv`j{cy^EVOY!1whY<8Uh=!k{)ZST$rdR2p}- zE(7EK#9>;Rq22#tC-1}@PZSoI;NXQP_G1AYpjbTJlz2h=r%x>zd_X_xhNux+5m(bH z&p}QY;I;L$sLaU{djBL2l%7`y$oZf*{Yir(+8wmS(KHj1%(b2hd0KQ|`Ou5O&Oz(I z+y0msr~iG}V+cK!eJ|N_iyGvY4Nk_+-W;=!3-jIL?q|Wz{2CJwlt59SA-Y+r(I#C_rpa8I?kQnd<6^eSiZeIsZw5YzlSL^=RRYNu z(Jnv~b)_}L`PD#*Up?rn(}anb30g(>R(#hX9Jo!XCXvwEesbOFonYP@?W}3^MT(0o zZ0t%S(o4>h+yEk63f_z@s{2<)V+?B3#%4B25dMwfanXot{_g;*a>-G z95$pSjsri}E(yE=i%M_CinE47a!ddFqc}>sDL4iVZ|*wZ0If7eop57+N5=hbQ9^5q z!EP4ze`SWP0c2A!GY&i~eqhobi&nM=1~wI58gmJ>gTs-I>BVQi?hYrEMo=ssh;4qZ zI~0t}+LX`J#``S&1sSUvc`NKF`%f;QX{ww%&|P_iJg{)H(HMT>g@iaRONuxSGLSFY znjaCv`>1eg{r5HqaHQ1;{AuC9ci_Ts8yut<9c;{awa^4yt9i}LJB^jOLBFrGm}BwX z-;yR85mp^&cm)NHmOmMg-c}xv&dVLi&QmK6*jfByD+l-SFjP^?#wtG778J1ii49X@ z-xFsz)y#)u*gEkh^?k5iqbfK_=u|crGP&7aoANHQGUFFm(i}*8JpdT z(#NYhAT>FJL=ZL&ynjZ_Iqu@Lq8{)dK70P2)lFjmdrUY}exe_F*pN(?Zkm4zvLaB$ zqe$b8;u{satxt6#ZE<_5rjkc9=?4J?liH-Gsb>J0dVs zh9U{P#xMHX_w#Dfet7clS`INx3nZj44B(--TCm5&G&54JR2%4I?N4|lm&$w~NZ zqN&m2UQ-nFrL)Y0g4!fhz_3BJ$bQ?XE7bQ{)HF74@3(*dWd0ot*V+fM=~}a>N8*|f zTDaf~;WB~}d<`F}CCF!oEL%vzAH1tF_QvE03+TJaKA~syo-@F-n8-B zH+@$88BqK2;l3RxRoNNs3rwnM;v`lWSAzs>&U4490!TBBEAa@q*m*y+UyEO00NkXX z3{oX2+&}rZ?`;~_-XNuLAF$GAD_PQl6xOtryeuSTzB6CqKeS#Vw2!n;9MUgfU7V^7EMx0oBbsVczX>Kpl<2X)pbzzqgotik-uiCf%k^cWH}Fx zgCY&QPRo>dN-T)zPK~Wq6{pYP5hxSnDpYy5#m{-O%BI+H4ZWEb`2|ToKs953;ZyWr z(qo_6gC#w4i>C1#$Am=_O};D10t96)^NeOFt3`$C&T!R-M*C0NN5{qE#q|z4R?EnX z9z@}9QOezS?I%-ytg)wQ;ZZ3N7G2ZHxh__BHaH90nbf5IJezS=dOyl^&4lQ~Q-yum zqNA5C0ffBsEwcr%cA@iJpT0;wAU zCce#}(nxt)tWupZGuE!aGkB_{zv{}@rx~P0+f<#cE>7ftG^kgh@8qe#q+YxY)U7Ln za~`N``nEh#d;g4VO2oP7b{oxfz{C+7jBYEY&MMgCEFd>uYttf#)sOBTU}45RNZTBT ztKC!gws594lMB?hJ~Bu+>Q{bVRXX`R#Zk7gC=3$R3bGHhTk37C#6JSmB8CWcOG;T6 zBo4~kbfO4C^*fTaPrtR=aCKz;9=k<0B2#egU-2a^y3SkLvf5{W*vrCs7ai_=2dL zB<+B>14lg_Pvztjn>8Y>1rtI~Jk9D!@QL8?HRu zCFowCi?{Af%dYNE!n+z1Eqst3iMb)M?Hj$Ff+j*d)ii1}jrZ_G zj`%LTF#lG5K-t%%AIsb6Cvt6M-ISV14@kNfe8MeyfC_y6L8VJ(+*UnW{usKYDNWG^ zZezMt54zmq^4`|6Oy(&_xHXGOyChb7w*-?V;VAuA( zkj)GjKo_HH-!zs;g3~HURgCuPRZ5bShz@>lVu{8S(Kz_&d^P3?!k!{#h5 zsG6P3i=EX`6EunGh{UAZh-!EO8adUK&6gOj|J>k1UVP+BMdo0E=2Hsf(uo|p6kqGw zD8$vt8%oJ%a|R|ecWI~ulgCHes5mB2YW@_D`qcV!;%MQ>#@r-Z}_)jgy*YZrY}UT8)JB5b?12B-k?3_8}abp*QIyC{M%z?-HrXa*XP<@vB!a zxXCOQM2n-ViZ<$Ig0Q_s4A{m7Qb6j>lFCMJXRfAdyVv>@NfR(j2ag|&+;e+eQ#C;4 zAXsk@i^6qEEOK-5dtb~5^XBAW*`lY@Bejzj&Cf1)eqts>22xKZvX@`Q2zIFt6t`W1 zRJwLhIZD4s^}sA+c8rcTEa&bt*KBH$CyY9Z#wv`r$BWFLr17?RjfP*V*3?m$+|n{w z4eS2v%KdVPPxSp6fbPgWV!-ucv*W9pnx(XgLt`aXtL z$?RB=n4bE%pVsq605L2nGhaK!xbnLlO)#9?nh!e3&YxbBmqa3dTa1!O~r_gPRxfbCM&sWl3$lc9#Gm~}#-M*Q(P6!8NZ+U2KCFfwvkd9`jl{@EUJNe2i z6Sl|fsyB%*-!&GXEX5tQA*#MEqQdGZmgV7yts$oz{$8$cIf_p61Efqa5e@6El43r9 zHA%6jo@VzO-OT$D`bV9G2dR$qgKE#l2u=}T&kBAkl*v%8=mhT9>#A1=U#re$M_0;G z-AhA!Sl}wfmZ1~+U&uToHw?E8mfMd`d(1z6l}M^Prr7%RO|bh&Oj4~!Jh+~9H*aU( zSKE@0p&m7Y{yL^4$a_5jU=(`7j@IM(O3gr_6{^gvZ*r!U;%bvG1Zcvq(&l0%Kb{vYF3w_(po!dZOVzie~c-S=bqIe_KAdZKGVsa@MpUGjd$u| zp6gKP{S-VlEz=yrmEqS0S@paqNDot`05wo+L7WSQp zKmNo8q#|E`@2hMjydjm8=uCZM8swQ(At5_9jVQ0qcWDI*()(PsM%z}7s zeClU;S0@ZpTqHa+{=r<&FQ?J%D0YO*ofQ2xId!Jy1M#h)G)xzuyPFIuxVX|hDe@#` znC(KYaNOQI;^u?~Y`dCS)<2&b|L}K;gx#vw>Pm7geuWD`DYpha=kG~ByWgY%gOXTzddxzVVYM6y!B-VB_Qq?|wR6K+YMNYLv|$|_+Y<3P{ZA^-6yd+V^{qEaOoJjC1^o%o z$s{Zg7N?XajTnBV;Xv&-Wc7m)*VQ(0$GZ=bQPp(bRs6C7>h^j#69A#~HOa*pA@j#g zvtdY9N#d;3=SkrX{c>}i2=7?M?|EAsC4Zj{5GfJV_{DL3m!O=z9K~pfWcuUcaQhDe zU*C9R-sh?rJkZh2$!@1$25Zo;Cnrsen{%fu+hw+8e`Tnr@#GlHO>ON`Uh#`oa6rPf(`{_uLjB#7v)NA(|?a zq=18RmIQ`B%l)>f5Ui+I(vw_@KwDiVEI+TLldpB3nDUo#Lcb@^W1-Sr|h=Xo3 zQ-IK>3B78g5xqy^ikUTooAs@xBPW&4d#!Nodmkg?*Ud@f~ge~5}tji23?~f`?e|uS(Y9YH0OBFm!pPs#-5qY}tmwXVm%E5@kU6Ghk zgIC|(_>E<^FB+aZFdi^mD3dvYHt(YP$(+pj>~n(6yWqHw%s1_-dgn)?HFIDe$KhsX@9g?R*-4$fU=wwx8x5=Iqee?Yh6=ChtjXi~ZV(d5dU57c}iOF?lR9<@xr~!F} ze@_()Dh3#>?k(s6x&cAOas znNwjvhf6oQ@(z_Nfbe>vz3ihQ%*=(d&8AP*9Ds<0@|oWfs6R|H%cE z{|a!Lrof1JpMMQUIyqinX|0B&0giT; z4Hu{sTj?|7MQ}9+OPd-7QI-zG>$9()(lMpf5mtxws}71kU#2c?k#eSBhVvy1=p!Xq z0}ZNXGu|1rMk!B7{A{4FYoK4_?P|!(*v>(AwN!&)?hZrG1~3jD{<{XnBLKG zheNF^7OZC?adg0~YUeY#Q;on3+sD4DSLGZE5ScLR}UKknOeTcC!|i#Gpu4@e!~ z^M55VA4MBl>BRVx3Aic?*7JdSr8RE?bE675w5PP zf3ogiQ#@(6$`Q=n?5D1_vSqKXuklc8;Kpi$I=)4B^DT?D>kli6PS5*>C4ahhm>;kA z4&NHIbfMiIa(P%@>}((Z(-A(FzKeyi=1ku+_*t(-?R&!|#Ubo@sn{1GQu zuHNbzUo$?hlj`wllle+8R(Zj_G7-d2yv%jO~{rwFJS$qlC<`{DsCF z*%ZLFW=X*Pt)@+k1L>+P|4Q{C0fGy5KYs@z-zM|RzD9?WISJ^Zb?(kM6M|QLC zAr$5FiEoKAKM%d&-5b;m3aXTC1?q9yi#-~WjAapJCId|OMj*@}Q~=EbN+5OsggOEs z5)o;4wssbKTG(P%2)GQ|2`BcbqttYOY)t^`EeyBrS=qCmN$?9h19TPrv1H5%zl49CH80&bZYUTJVW*Jo%~T0J6oU{<8H3 z1O?-MA3edti4V_I*72ieI2Xf(^FAVkAu|9VT%dORRs$l|8&Q~zH^_R1m=czU%pq1i zW#zjTXS72*+S{~@390-|*u#-(0QwUX5r^x`Ahxd4=$c56af093wj;w-P8bNS1%D~> zv}*L32`YZT+B8N?0mIdIQHnxjo{*)VDG2@yBmt?v4U+RWn$2m~IDx!9(ZnKnl0T$P zODr?i#F_wSn`RjOXwr`sB=i_l2#V2A3~{s}C7@}kdjf)iS;pb7R3It&R;nwK+g;?U zi3$EMuwJAlB6zYpCLhW>vM-vdpUhmgIMe=DVQ&Fcb=SRt5{H!T?i7{o5CjROTUrq5 zF6okxPU-Fr=@2kzlrBl>k`Bqc5BU1N-~Y~?J99?QP-p-4UVG)Uo)u?^4&XJ`X?_}X zmcZ}nVH>*VcKXW-@J9xvfm9yC1oN;3y0&Fi0PiF^zJaL6f-e%uA*maNzyK7xO6F#m ze%W?&(H2!3)Aus}GluY}AKB*R56chX`V}&iveN)e63!#OXgKlWiLjFsyXup*95R9L z*ivLK3(`QutuaXcQdBF7>jTyuAGm}853VgK?)Fov)f4*r@9w?QY1&mv|52vGBDi?D zTWV3D?mU`slBe0h>#f&N7-y2tC)dG9F!t5xqTOirWC9V0#SA`22x3)FLh zD<+p0piUS=ZLh*%AzQliwziy3>DE65`~ffWdjZR+R~ZP_l^5|i>AuZs;WpZmMH4h1 zP5un&4vlm%YY3&RZ>?=T)`X7rv^whGo%}+YUWLLdv^6WkD`F8F(KNOC_>G13dUx4_ z5JSdjC5$ZV&7*4_&$$eXAOu9ZY|P+3@tbGwlD?(_w2oloMxX|@?KBuhXj2C~*tucG zrYWMA{vdQEsT$3voNaRY0Q})mJ}Y@Id0(SFzr{X49Vr?|D4+jf@+W*F5~&_h`m*2k z+i@RQcxVxaO}_bq5~2KuAR)7QK+iHK%^2HrLiqe8n&;$X$61hwnudt3hWPLA0BrOY zom9oP3;A71UV&W7YrwPOJ

8R#O$X5OtgC0qk3WJT32iaW{!ZZFA5`4FeEmg#vj~ z^-RRkb4YU)=ce$xN>Ja>8%~t#dd3pv*rv>a1n>^}g9dU0aWb4A^)@y{$@U>(wpwh} z=oQ*u)&qYSvAul>>!%?co$$00q##8aX9M|iHOYMfFsE&1o4Ch_1&~toEOTc8Cl7&j z9+caS7qOEsD7@6X=G3t2ZMzdYhMqfdchn0g8`YcSnB;^81BwV*D1bdPeX zpAu@DUZ=r%l!iKPPhwXji1{ND^R~WB>}!H|d#h0Rv*YsJOKa&)(Ln9}L5D#Xuk#JY zjJGep18mvPs{o4ruVQb;Rsk{5eR7H=AAGla7A#pp*M{S_SE+FWLy~A*nZTd==;;yu zcxK|r2vTJ??Vn&k2X6cM+10&zmxG(_G^A9#rzc(WO#J>#Vm)H8D51gWJ~Y8Jel+=< zRANH-n7H|zH)>&-G_UEvP?HVf$j>mSI1mCQh=d{<6-_YYbJ~w9@3zgNsky1CS(#=* z&Wpnj6(voZYU{gU8E&KQDi1ePY`JSs%g_0Bj@1kTVdWOv+C5JS++X!>@B9?tw;!|8 zcW0b2)mHKhHY;$|=+lvVdPRjbF(Wwr4R`$s*_d58-_OGDh)eu~V~vS;uEF16oqD3G zn+g_95>QXxdy6C`c12F_!*d9co=8`&L7I_mghh!1AksdNUJl=@-hN_0x zV6h!a0+X+^x~110Nguw2ebK7TQsiW(KgGR2UwxW`ZV2BR&hbdA(xoTiKrLZNxk}}p z!!UY?+?rN__o}+zl`F5|xfsPU)^ex{A|}Oy4<_H=gBrlQtFO`Im?`YG&K*es`c_j1 zn#z~v#2C30v(2HiI${_0E4?T@MU_);V|6b(=nI1u5;T#Y>_&kGV8DW+GaDH*@}q10rX@;j zWV~ttSs5S50k#1wO0F<0q_3Sha6$^7z!dj7)3$I?V~45Um$y6Ny+K;%1|wfmJ}3^X z;*s3w?42`BQUVJ0C+VWtZSp`vAczSdkG5Czyo{Z6D~+{%(!q?N-SPfnBnxF420Glk z1xlHixgg-QdDhI+QO#$J)baV`Sn66oleUo1SuI@>VdiLe{;{h61Tz&Mzbck7Vja2{ zK4$a%UIz9OwPMwtR2)9bNwyBe+#Q&VdvJyeT%TnE>pX_CpYm7?7ps+!q@Z#*S~N!o4|PNO7oOaj1NQAqKQmY=kFI^C7eCfzpnc zw9%d+z{|X6Nd%cVKV>&yU5FDNMSz>T7SF{*aK?fQw%dF(F0mc1*(yp!g)GrYfdVIc zwUsx<%=Fc5`h$r=#~k{(l!06>bYM&iUG;b6!Lz6FE<4j>5Ur(Jy=#-sp3bwEqkw!& zQ*_zP#hRU-Wf95$`ij}Zu`_ihL?;SI7sUjNI79cWGH$xryxsL@aA>fpgj`O4K2OEz zDuhHXOTYHH#c$W2+SSL=ykFwPS&0piA*Rx7RHS&%oGc#B(({IzG;v?XT!ANEN zE}u;I1_4&SKn&(v2tG>~?Y#=>;L*D23f>+FpFQJXq-yKc|%p3oi73!Z$s*c79Aj zX!#&ZD5f3z-M|w;Rw2@KY#rN~4{el{m7WW9WZFn|b!28QoeB%0U{Js-m%-Ohj}m{! za#8hj5g&3BijBXD1J)p}o}SLBZSKNxG_>PnL6sEpY9V3%aP2!`OD7KFb_cuKfz%y{?8c26eyoOM!YGVv^Ewh>Ehuu7dYKU|#b zSd2YkwxlVoLO>Z;X-P)y=)J~ud_sQ4F{$k%vQ1K2GU?y$sdVumV29h_o3k~*+Z5T< z%sfc^?294@bHPzr)sA5m$-kP2#kn25TxS>o)xFZ0T*&P=(JW$*r3N1_7PrAWB__!1 zc(OSy8Y$_vD4Tb`aC$YJn(^xVxu6`{K!Y}hI%U|oLMAC5JL7DoY!|y#w9C`9N0PQ7 z5yVnRjzf|c7!VbdO$#;Un_h59=-%WR+fegOPU8V)%Wy7kUz^U&cIS}Xx1OXW@bd{{ z9hiQW{K{vEmT7W}AH>q)r7twjvfh^k*>u%C)k++A>n2@qJsb8NwGQjVZZD_Y>*_o! zl!xf9yN3CFI<%yvCeX;i)ciaViL{6c!?`Nf+Mw*c$({V`KKe3kO!^{#LD z^DxF|bSH6NOS2|9ath6LIzn`53; zF$ewbc&V;zWKVXd1&`=_+LKiMpO2*dlM8V0z?Z}!RRe<;v0GlFiakJ{VUm5UOg?T? z6KRqr8;A~bQ3%3yICnZMrZbJL=vBQK<3#9GBjz^`;Ts4iCeO$!VFSL?r?cNzE2cB0 z^lCDE>AC2-C+r90?}2QB6WAOvI9X{bX&5oyi}$A=adNTS zrq$K)w~j@N>utTLdT901j5b?Zh{c_RSi@c)v2rmE5O!r;)ia&Y^=_t1noVne-A~GY zmfBAV=>ekt^hwC%n)9rc=|c=0CjbN%)YbY9fo~;n_x&ci&td zsrc0uhgrHtnbSF8|5^m@12&XR>eWEPzq|4ZTYAcCq1&9h(KY>d7FruueL!K5fBzgO z{XY*#1n1@gLhok8d;&Tf9jy*5^Ng zH%z4mXDJ2!@gk}A07~&I9BT-%S4RiOqVIT2t6K${U|YJ!*=rL!&-2aYL3a)HvN>A5 zf!EzrNZp@rCZyHNeyinwn_}1t6`kL7J>8U2YU@ELn84Z1C7rpDZyItXdRFY8N%5m| z>+?lpP0`w|`wg`MRAne^3k>0pMM%-YZA~qji)0wBsZO)t%;ipjmh z4Ysm>B?yNWoOkMrGx|nyJbBKzEDU2WM&e)0cN+x#*8pYV70Dzva$S{iv@&FXDwsDi z?8p6~8Co_*<%|ck|HzrN1Keh6J2Nkq?`MhK*3tMyf6`~CxCuRlTjS3nKlahPAB*&u z>ywvbDU9Cp%OskSb$wZ)z4UQ8a?V6@baul79MkUF=xW>}o)kCXsM<94)zOmIQwCnP(SK?G{tN!!?fzBJ-Gq znYvyEQy$?fimui|{N1E}n3^B(M>O1LpnSmT`cS-a<9nRo^f-1{ia)NcV+*-Lf4ogZ zi+rz(IRp2O4DU4WbdrdypiRGNMyT80kKK@iiFm|Ujb-Z3*s;MQUACZxNg8Owfx)ib z83(;S9Puz2q2Tb`;P`40c_frNco2?*GxfBQ1R;jINinxx7q|znL|`>M=^KBBB)HI* zh@-#w-9ynj!Ewf_%Ibb>jcdDvxT|~Y(y(U&Q5mwgqAJgi*ld=M2y1SQ7IM7k7|xP2 z#vb!WqfmYRx~1iL=iI0$B4!QaYq)vFY9u~Uo8TJF zSZ)0_J9AxQaGLA7noBzH6H{v%#FNWr8}WyCjuq6u-iKg0!dFE+THX=={O+|vbCt2| z^Eeo!KjPsVM&lz&>cA1P%dLcb7I5WjKWZ`xfA|tA=eI8!TpvLiCfH-A#8^`<-A3~S z$6uPd0xpG%wJK?ggj|Z0fi7G8+%<|$O2KsB5rn~y& z(~RiNQFH2Dzd*z+E>ivxx6%x`ki3zs`R*am!)g%u_YCPpePDU%VH)`YZOOYJH4PDj zlRpbPR;e(DJj#qP@sYEuEly17x!r3pHZ*qUw2ED9=*OB}{p#u{*ToeP#pb@gG-7~-kU$R1%z9giA9i;2R~@vq^ahMP(tP6?s=(P zA$!S8K-3VoB}X_NwdJfI@ew1z@|gN_Sa@fW9iuhD5~JSw=Wwv!d?6u`Fqeeo`}z=1 zMuy$r3Jh`=dJJI}w78vh@c}m*_gOS{<7GHMs(B+is(D;vOq}uf9iqLjI7buXp(&5e zNg$KMW?$+(O7J3BH>sFnoS3`vcWqVe5@&h0fDWfPWUZ6Iic~NodVp|TNOAM`M22Hw z;H`%b9S&db6j~APRl8P{bCEeE*Cczj)+9T()}*2~%47Mc95#sO{f-+NwmdL36WAar za(QthB=-_NP`*_xoFq;l1m!@IJVZ7mG$JzALGh$*JG|Kc$;=AsvxB1q?XP4gxjeAn z?wnpKbGR|jHl|bFPcl5?zgJi>zY~s%=tTZ|;gjTG7#F{iIKtB)A3Q~cUOwtdaak$_ z*g8~4CORsKTa8W^MGVn7mR!#exW6#W=BHv!^lO31MQc8#zFA(vEB=#r1_KQit%?^E>BqC5-_Q1%dh?VoY z@ws~0mD-O*1^nn`?23N&*nX9cyVx3NL0>NVcApfk^My+lCwm=s#vZfC*{7t^m2A6Rhcyyqr=BuH2qpLRIW6GA}v-1#unSgo(E=iH$SWm>?T z>xqtpUP+=yW&d(*|ESpuQ!?^kTOw3^vH% z+wWv;WI;yv+88h^LRTqv2IsDEgp+wj{}D@BM#c9Tm^@N7V!X(OzUVI%s(f`}otdOU zG@en{o_4GJl>m-dpM9xzldNmhiQI_u2c>VWafSHx*o`jopa?W9o;|+uy zro-n*bsvfsrzPIk`}>i@8SP#hH^?4vb`rKBVaWlAl3m`{;@1bWs{H3E%=V+J%)?HH zulO&&lIE&Mis$udeDB33Wki+F-#A*~95(wrGQ1dC5LTmqnoIWaTE?vY1jUSf>Av0A z0vGxDBO-X5`@<JbF_LpK4%RXhrlA58vy=uFhshHz6&89yXj>P}(JZbd_qKkI_(KJ0n}7r6vcpSS@`2!IA&3AWLVi^V1e~p0SQnE`HL8VGL0C z%${aiwQrnAl~QG8yy)H3TiJosw@f_$y#6C)U*Xn7Z|_*Mn$*?9;_c!>TFG5qvFR#Z zwIqQH#?}cpMky8irF%oya>YhTqi6-k(~qRK7Bu$L9GAup{xx8~Zey7YD)~Y?Kk6yI zSxKyiWjxv+QjmJ6HBzn9i#vy`a)%0i?e_{taE76-r1oZXm>bt=edJhbBDZE|DK;=7rCTx3#L(oxka`%qyHFc-&03y$bF9_Iqo2 z4RgF_yh~rjRku!Lzvq+Mg#3#nu^5Bx9V0C$m%^&p) z>RsJ#vpNdjW>BTbyO~k!?;4BJ>IKP&a_R*n_CrzPuZC-Omk&xF$K#hc7e#C~TC;s+ z4JF?g{b;^ExAhrc>WW-%zVRGGeniPT+<)JnW>BTWC%=r@Zt$LZFqSxZt*fArgi<_1JXq7qE2_d?Kl@{6~%y zDeE8nz@4-DR4?%XY^?bdBWM{i+Ab z{g8$NrGB3&VH7-BA8tBD1{7OTYPrWJsNohg(pr~8L*0Vr%VIiR*buFT2n*#n{%&#A zuF)jb<4lV_s}O-@wZZWdqaRslhQI8x(T~)~BpfVAh9^!g#>(F3$EkQv^Yil$SLi?H z2b@UD012XSh2ju+Ct1vLnNM2nWilvJ4Q=03hmSU*g9P(%y-<}LR-8&yd7GzQ|Jc0u zi*Mgk`Be}x$e2J4(+kmPAt(Aa%7~-$)g0gX=`cj*YCSZ!Bs(le2D{J9vuQfPg+Qmw?IR&D&Xcs6FNDsbq7fUC0I z0G-a#t`Fwd!w;HmNU5CVCl)G%A_VIK{4~}P4V#2^`z5A32yUws#$rXf4>P$hSuo&! zpK^s5;ho6b-W5@}MyQ_cqbalJp633>sqc_2J1N8a6S$Z|*8XK-9@GI#ZxSF(_FzxLm)GMc^(E10*pUkl++&)gQ^K76MOfyUe*M3C2X|w4XNgrPg zyO35TYeUdt)j~W}XX7p`5#IBC|FHP8+T!ufCoyV<^?Zl5>1z8GR;>c#b0iZ<=M&bL zv7-0m;!=K2TJM}CYh-U0?0rquo%*>Go2JLd;PBTio&>Enpyb>S~#918RJyoDA=4rF#}vU*O@PZVEE^tCugY+zck zxL8Mznowq3l{mUt6wEX)YP_gnWE|x^U=k;He1cD$iUNT<05m9lKfi|NfebS7Wv)lf zFipE1utB{9z9hOO@!jye6tkjD*6RkHpSE&-+7;8gmsgS-h_}D@k$cHdK)9?FD6np- z)OmwW#MVAZ07$vMotdn_-^IppXuhW7JH@)i&&-g1_(*a&1nAYkUBEg+woxYW>&S1H zVd=_H;0trgru_SGWd^z#RI@0K8_H5T8do@bv4t6*Q1W4qZ5)5;s8m;*C%I{CNupWg zMwWcU9CHb$%3v{^ekMKN?DBcYA9aaWv0Qa;AH$~?NG6PDevo+{=~bJUGN zhDKQ4N_qp8_Bx+%UpwmV95kmvu^0LGPPsU)a90nZ7f5sydy@4y{|oU`@rCw}Qc0TY zwz`Z9!Ak+MYwG;wM2M>P&$-r~s+K%V{1Lfn7V!IX57%57$vZ`kypN$gF0^qLcGljC z6MoNx1*sD78m$+t8(nwiXfFJ|Io)$1EJ{E@1@v!i{3{H&=>gyWSeqt@d79!SV=~ob zzFWe5KhYFTh1&fQnN^*aobAqgrs>!~2Z}RYFn8fV00mVGH8B z`@|DBdm|)X(D>&E{XUgQlOB~wa_Z-V$8qsfZQUPYKOP*Zv1Yn;mSr^3Gxz9j%P-?-zr2yH$kxzIrn&p1DehF*!vLUy*T12 z)`Xp^4n&I7PVQ}uMqo=0B8@Vwb)`<E4l!&ZD&4;Z4Ic+!WLa+jp&k>Mr}v&(Jg^(6 zXI3a%Nje3CY$6q4m6ELvh_f#v5?K!3p;{tLq79wE>(;zef2`H&dbrvH7$lg_ z=*I!jkY+;HCG8RnE$ScfSn3RaJpipVE-x>qAFOFKfyv2X-xxDIezLyT9KXgCIcq;+ z_qse2^2Bq-Ex9th@M}E-P}h`wgHtqe0ad772Xg}S%btxgTjoJqScluZz4^hUuoW0rpJtqER|cADi#ZI+d~gEq=_M4kX@QPfWf{dO*R{0= z|IA4632E#jw^T-GOeP@(a!f;Z&t%G0HPYy_GcsA^KmJa_HJ6pH3nmqm@`w*O6^$dVta(G{R;QCZs&k7`QTfB$P*UP0|F+g-9G65Vw9WkG9Ax)_OG6T0Z zPN?tk($8`Z$h_-vwA3;fm=^`6cS>!;d>1qwq;dtECE+6&@@>GAdny@5M2#SvBXMQ} zrouzX50_-cE589oC&*GHDX%<~$L}}bWTLGx#J&q!Wv~mq&4hhDm6Vsh3PntdypCY! z?VpF?fwK&_xc5;V{z!fONt`>je`+JoqJ3Vp zIgzuPq9PYFOQV{{j@qZCBpKld1f;>ZQ;(MqB3c<)X+()w!d-R;x)WIhxDz3GKG&3o zdLKzo7k)n9vw3+ezn@O5lP{$} zQbfx=OTG{tY1BP&{u%kg`k<6`PQ zuMN{qMuV!=V-1}{`9U(=-JgZg>$8GCuipu1q>|xt6lwP3DTYfGh1{|>*30|bV4xgFTf@ig z>b|hg7T1@*I~M^pmA+VeUs?SeiMb!HL2o>Z$Y8LS&Dw!2G3l!>)LwjZ{DBsKf zt6}LCfW1^3biiF9wLfbFz#4?kEpnHcm!0grb~<~ZPM78_%6ZTHU`QcD4|Ez7=Umsw z&4#iAJOE+HYHo_OZpDialF;#M4u+Us+&6%GvJcRpTKGi(8Xejc9;=Yi2MWaL?tokK z0I02deqLCmZ}oF%Z5dfu`obu^ek!D6ya9U`#RK6RI->W{cdBowSLzjkSqU2a~D42HV0B=`xh5l+N`_dhtYw z2CJC1Dns>2jwe@4@D-dklEq_7oK#8wH4!k^TGp0T9xLp%2V_b%l}`z4JM08m@)HB$ zHbW}p?a1$sfHTsxDI4SNHnHQhpNBiO5CusWTJ)nk$QH&LEJ3E^i8P zC#sBW2zvPurzJ|X3frKIF6tS?ws&BlzD8p{D8~!4E1{{wJ-7UQv)itDvA`y&-56nv zhM&{sp)K_$ZjT)KP-jQoG=-HMWjR5!)-UrAdkrD|kkv8oB~wa`o1M(uH0#*lfhcM1 zo3#PqaD-37=r_E6uF$}cDFy2DuV%P^c2J1oIZb8dGwuxEdm!JA-Szg>TG`Rj)x(yS z>4={zs`@*Ut;vra3^DABGrhZs#Xub*TuT4x)lk8++K~u$wVno#J@Ly5l4rSP-oJoi zXdErkP;hhHeWbCGkMF0hs9&bV4J87i!$L;Z+p00@!oYhDKw5d)_12vY*WbObje55c zI=BFCBNlMP$N-#&-2V5+HuCvniRf>ec zkL#i>(Wv0@-1%do8t$Rq=u}P_;>#l#(VnM_z_y!Q2VK?D?eX6K!-6(!xzxBtn z2LmIi*%=27K75;ju#V5|AssR_ogg(oVv`y5@_p!wdsM7iM1y}{mF;^tt}7drUkFxk zn1@)k`>FL|vBKz5jnJeXh|Dv<4fqT}T*@VzWJd1x#kfm}WICc4kaxN1HGSxQEU@~v zai!v21s%2^bU{<^_l42?{oIKV;aQ>nhvF(Snm|sp&h;tJoP)Lrk_Tb81qpJ9bzP`k z;CgFTTH%_ zsnNy)yC7SI&o|))=}>Fm%K!?=ahq%DsU0a{WOU@|EwVep8d&T*0_E!&AQ0*rvY$Yf z&+tv;;KtKcdy5NajB$V!7X-1Qo~AIqcDs$r{Xb%Syr@ui(9BpC(y2^%>Td7XI2kK3 zeJ&*kAoVLiDaDvD${i4<2&D?3le~$Lu{2M5(yAFm=qG)|a}=bnx!5T%5LKbuTnFWd zm9(rx?=7pbo}GSWhZ^4V#jay0;tk>@j&Muk4yEJ)pg^Y3v+^^tHB@->6%fN(h3q}I zk7Zsq%y0)JFTZQB+DEd)k?f8xLi8KgQ~)dyI1y2z?{N4`zxWRSyq1i?sYp-`#dqjP zjX|Nl69kht=Nkp#o_4?yya<(>D<9x9{)V@n2e696r7t);D#q<%LJ5-Ez$fcvBDrS+ z9?E>Q1c`C48rElQdNe1`0sGtmx^Mf8dYM*|$`R^4h@^Nb;@eD0$OGC*L}RZG=C=(B zbOyvbx5eNnKG+ij6a(R|CVA4&I6Wy0eVq#wl5&d_l5@KRySE|f1MCJ<35Uk7sg6q_ zg_!VO_Xrt>3M0i;b?_l$RL2sYR9dSf_SO$Xqrv#R2W@OKsGLaD$rxKF*o*QoSBa=mBYSQ=6SnCLFelZN|-GAGKZDkKB}0d^A_ZiZbLt(E-%Wgis$!Xs;dK9*_X0T<;e%{>Ur2@u_r8p|Jac z&6C0?4EpH%uYlhYX4F3;(O@ulQmb-?aQzkqmrm#8*Q|w>*86`T9lpx6KKgDhsqTrR zf;rAb1F%L$7>Un|ht~5tB%EN`JYw#aK55nuFE`qMYDrZJDxyLX+ybY%G-tYeBYe|N2p3s5JA9L`E2m^ z!ajpkmK%9?3FtplVLL%z^=XV7Cwpe7^Xuhuo~0EU_;2NtAXJlgOTh7MtY%bDFnTJ8 zXntwpcv6%gHW*&?<>AQ}xneFqW}W+3PJxBV1SI6SgLVi`Sgj*&4(R!X4tb|lwZ`X0 zWh-$awSMtQNwx~KyKCk<;c?R=-GWc&?s8Fd(V*lQgZ!bUxp<}}tH%B4*+!K|3z_q& zexCLG=e#FN$$D6|v9#q&!50N3MYlzjTL~(%fri&#;USNaHF7B$u^-z)S%|l44Uf1Oc>uRk^KHHlP3tVWz4Ge63zrWOV zFV)1B3V+nQ@`Wr)gsKQ|RF(m?bi&3+K_75v1}^u>l)Jr=u|iaJ3nB=UFiogZUqm}9 z);VpdL!-7R?t(KRpl@&%prL zf^U+kZ;h<~B>SaN;J`=+qvac>7-OSMlV2}=p6FHafH3U9e(@HL7Ki8?L-fIHq?lth z9pm7DrK@*^R=Y1+cT0L_dIjNz;A>k!bjbOWD7R~@uF=N5q-AVgO$u43ws|%EcNUI1 z*bckWX~`FT*yJTWUkSP5HWbJh>LWxXNGNr(G%2{TQ=s-HXfZv|>%@zyqotO&p#U55 z=`GYEaHIn1;n;&OAO2}z=JA`V$L(63-+4@83iEx!5)jUbTqp*CAxJt|5-ILNA)UgkMC=aLF`z9G8++ z*=4`7N@m(2h=|YsuJaH{$FW+~RI5!>hC;i|aOR3}c>M7?G-4t%1dOdw7UhkdkZ%vP zYNTza(e*|gyQzcD#>8E>&ip7)#WAWzQ&WEEd`Fn?3iRFYqfd{QzQC1{DAHs<^PL)mK z$P*F;c?H>n@V_7BURa6lXl^-Zlbbq-|0`5@Ia;%lkh~ifb|Q+5nUMA3r+5eRiG%k z_|?^Su)^4L5UCIsnQ$C!{9GX_GU4cbB;jd{G39YgUZ`8|aDcFJPf%A+3}!_9*L!Z= zF~4Vx_b+B&?Ynn%OYL5N?ap?U>dC$#qrbOCvC;EGcUhlPu=}%-R_}rXMhrs`orxUl zI<3qreHy5nWvk%tPIA2qe_LT!R0sH({8Fz2vy+*%nuAp4eOW>9L;DM8z+;-1W$OoB zbTo^kobD&v`z1jKQsho?P~SBCY{f5DdqLuJ4=|xAE9I+?iv1BspiooX^ zP_(AExvAr-I|4}JHoS2f`>Ft9UQkx0~Sa6zORHOaQml&+Iwtx7Mw26_G9AXjZ0)VU67OD z=D*%(F{fs)HI*+clV*hUfXE{SBcy@Oyv<-PIiY(eweYRPQ9O~wMZ((n5< z24MI#Ck7jth6iZMOU@*P{GeKwED`sv^CsgZLSBvxt7BYxOY$YU%82TWzU4P)KOobK zTk{&pmvjBKGXQ!{&8mayElh?#JtCj3=NsT~&Stw!Hyk;-BGlpo-lno89~x`4spj{Bi<9919F zJ#BNr^q}^t%c5=JRomWmz15G`aPdlW<;WM=o`ZGmMLq~q_dVkAq?M(qdLWZPHHv0I z3>e$>m{ggc(1Xu=TbvlWO)?-H*0K)vF#+k;g91sc1Q=-iUL^wiXHAU-)T>qqi#kBh z$-g}{Q}DrrI@ol;`New|j9T<$p||wD{fnh_g(lxe({vWsCmL&SxJLoMzWD4M6W7CmQSue`-BnC1L8|ECWrEe4v>!{X_~qf7KH8hac*G)=H@p7JLM`6{&4z`{?l% z5^i(p@9Dw_6|qk$Wk6@xVOm7cHIDAZkkm`Vi^vHt=zIi_&3TwbZJWG+&O1Ye{3&3^ z_yUvpt+Ar_Clp4aD?p&Fe#t|kO88KV4w|n8^-ARWJ4*^8PIk)*^hWsU!>-V;LTi82{Uotq*$Si+}Kt9a@}$)Su!)ZZlxn%hjmRvj=Hm>AYu+9kS7#h3aL=vWaYBO-@@3 zpqZZIkQAhne;bR)Z*Krb@92?^icxG;_^)6b#&fJUZ%2XmKY*faa&-u696KQxnV5BMT`K(fyUE^;7<~E`!o8z0h0m@#{R)ZioV14nT5H?Dum5~pUplpEDF-~_131XjCUuR`5e5` zEUpU_N&|8wHcA``>?BqteMmBlW2SbTUJWP_U@fLg*31)Z-j-%w;{x3EYwwT5za4|y z^~Ne9E_2lIH`G0E203XWIYz}8RikrdTiuSK$wGigz1(!$7|!$SHi1Mh;LE@xqOsLw z=5D~ipzF&>h^f*()c-h>yGY3AsTc^8e0BOgjkmWHnw0^gYh-<6QN)Da4B)~!c1Do1 zfa&%HO4?P10WwRCRGP1cb7lNsGSdWIdVzz9AVqev^Fw2GAcYYy(MN6Y40GxL3P(Rz zgI{kv5mq%?-JCi$M3%ZDd3UlK+miw{UIB9~$zwgk1a0hkpjp|T>fvudHmX*t$(~$Z zh)W2|1K>!&GY^)40ZD04F{xxO#rRVtt5#0kvj>5Kj6Wj!GHChavEbC>49HYZMGms7 zeEnnM$--POXfZeW0P4?eigOv@AWu(KG)43-5O}^pgB-sEFsZ@873ko87J-+vLZE49 zxY1$lQy}^nx8``3vcC_0I1>jLsu#=dTv<3?8 z<(1;J&`s}p&&aX@&D%@F99tPazOyVv@-TG}OVmk%O7?A!Xi&(_H0q0uw};x_p7Tdl zl+Xv1Hi2SH))ZJ(Rw=pw5Kc|rTBJI;pWN1GTX>g>7FwLMb0k*7y%ewn19L#h_1V&- zm}oy};H3i@Yu*l~t%(ZOy?6xRpH*d2R2bhktwhDY-<`;A1gQvYulmmS?sbPBf*)WG zf8u|F9J61qU;XOc24P!Z{YsfuEr;<2`R)5e{J0xFEez81UA;gFypQaul$94H#e=QwIub&lY!m z0q7bWNa4jyBNS)s zE6dm}41(2H=YZ$o4$`N14%xG@`(>u8aOMvq^~;Pd3^ZJ6ib2iOS20ka`6?Fg`4^LY zn{c^=Ovc>SO7D=mfB&UAMA<|6i?bSr#u~$y@XJSkzLfb2+4dh}1BCV87w~=B8R`D} z6>wMIgWt}ke<}>tJWAV6d>8#fKmI>2fDjj<{-3YheK(g1*#0kPS*k_K-)bhCdAop8 zngcx#ci;UY*89){=NLo8>#q&O_v%316`)~UO-QAy;E9I?YfbKYloDb$d#{SRg0q_1<`>(ah zt27+)RR3tvDR4T#3G7yca~7`MvIrD;Eh$U@Z*6$V2k3h(wJfL4Qe<5JMLC7}=&J0H zq-fe$rny1*X#czFf8P7b(i@yQ@L1)3r&D=sBtm%m=%PK?nQgfM4`D$Ewnw^p?4_Dq z=y#1>cIH1ZhncjGiaax%vs|r(Od+p{5{FJ z^1nmyZlP;Y!w|kkJO)v38B}k+0NHR@-hg)I!p$?>t>j{a-Ct4Rq+Z;v|6+3uX??gI zJDMLSNjh6`^WMsY5A`3{=^ycf3ZbX~R^^4jy>(8Rphy;kwQlCSWen=ae4K}h?*0_{ zaAEe*hD($g|3zaN!^*#qJ03V^^smVwwcK^%dAS2G|CQjs*ANJ6222JU1Ki|9$2A7Y z)D^|@zpW}m*p*w1<0_>kL$%rJ_pyNWPtEw0v^E~wDR;kbRj#e~OIKU?2ST1(W$^{2 z5(!6I3Qkk7D$wxZ*W~1g@9q45@6n%|C@O=qpb3?Ms9p&4tSGim4dxl+*LoZO?5*g1 z?DnR2$GBTe<0Gocq-)AtP|tjzP&7O%fhXp^T5rz*eKV0`Yy!?72VXi<6poFe%GnV8 ztCm(K4GT1J`p-)_4QA~x6j>CG8g6o}!wd7ov+@SF*dXwqpQECIEltqmt@1J?4=;=( z2}pek3(6}hFo~uim?F8^VJ-PGOzW%ZKX_5+DhTAXH~)E*7vTJGEb_Q1pwIizg6yp2 zPPo6y`CR><=Z-^!-99vELy{NYzA>Ogz7We}CyW39E=2<5Jz^OuPZR^sF9Pq5akd!7 z6-sk9E+mXyR)KNe`(Wc_ir;uLzM3`hT-bI^GKt@*#PY|vl%MbiaItQM zYwXhK6HSTIG)-~NC6wQIbXW+m#eY`%Kf**z<#R=`eX&qWG>P=dYp}n1nUfhlgPk(^ zb~~uN;Eoc$e1D{-4d5Us8EDx9)*qYmpt7}L1w^&SYQmd(iSkTq^~ybn|M>Op9GObj zKUXam)%RyI(zuX>i4po2tzd4uj%LArTTPa#*M>V>2>y;1=d*}+%1?3k;$75 z5v)!<(F_ze#k&*irGhhpXO}^~Hw839u>CrA92YAM(j=@Bc|Y@jPuULIA;~^ereo~Q-=zHz*Tdm3?cvH| z!H@0{&S{lypLtj>q%-mb7pkQ;c+JDglMYkpfmJ2G*LHq>Tg+DQQIP%eFYJ@>N^gk_6i>-ZjI)pMGrZr=JRQ8|`&LiMx5&qZOT9IbswiH!SAUb*!!~FS z$3(mZPlHQ;`+AC-iTFo$|0@YmqN}(Ixc~JX@Z^C*5pekO;oT9rVJ$rP|5RX6|6Jz3 zS3eM(i}GsDf&@n-Oh)kk{Weqp{?`Nft2DqHjttRj##ilfUJMWZ-&T#v_lTi=>i=Bu zKX>uY#SkrmZhz6wwS~WX2YsXHjJzlF|N8{Js6gSx#VaI#{|DenhxHDo@4w6Y`yQ&g x|M$sb - Install `lstk`: - - ```bash - brew install localstack/tap/lstk - ``` + The `lstk` CLI provides the fastest initialization path by automating authentication and image management. + Ensure you have [installed](/aws/getting-started/installation/#install-lstk) `lstk` before starting LocalStack. Start LocalStack: @@ -51,59 +45,62 @@ The `lstk` CLI provides the fastest initialization path by automating authentica ```text ✔︎ LocalStack ready (containerId: 400b3e61f3c6) • Endpoint: localhost.localstack.cloud:4566 - • Web app: [https://app.localstack.cloud](https://app.localstack.cloud) + • Web app: https://app.localstack.cloud ``` :::note[Early Release] - `lstk` currently supports core lifecycle commands (start, stop, logs, status). For advanced features such as Cloud Pods or Extensions, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli). + `lstk` currently supports core lifecycle commands (start, stop, logs, status). + To learn more about `lstk`, see the [lstk documentation](/aws/tooling/lstk/). + For advanced features such as Cloud Pods or Extensions, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli). ::: - If you are using the full-featured LocalStack CLI, ensure you have [configured your auth token](/aws/getting-started/auth-token/) before starting: + If you are using the full-featured LocalStack CLI, ensure you have [installed](/aws/getting-started/installation/#install-localstack-cli) it and [configured your auth token](/aws/getting-started/auth-token/) before starting: + + Start LocalStack: ```bash localstack start ``` - + When the container is ready, you'll see these log lines: ```bash - __ _______ __ __ + __ _______ __ __ / / ____ _________ _/ / ___// /_____ ______/ /__ / / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/ / /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,< /_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_| - 💻 LocalStack CLI ${LOCALSTACK_VERSION} - 👤 Profile: default + - LocalStack CLI: 2026.5.1 + - Profile: default + - App: https://app.localstack.cloud - [12:47:13] starting LocalStack in Docker mode 🐳 localstack.py:494 - preparing environment bootstrap.py:1240 - configuring container bootstrap.py:1248 - starting container bootstrap.py:1258 - [12:47:15] detaching bootstrap.py:1262 + [14:37:38] starting LocalStack in Docker mode 🐳 localstack.py:542 + ... + Ready. ``` -## Step 2: Deploy serverless API +## Step 2: Deploy the Serverless API -Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tflocal` wrappers. These tools automatically route commands to your local instance instead of AWS. +You can deploy the Lambda function and DynamoDB table using either our AWS CLI wrapper `awslocal` or our Terraform wrapper `tflocal`. +These tools automatically route AWS API calls to your LocalStack container, so you do not need AWS account credentials for this guide. - 1. Install the `awslocal` wrapper: + 1. Install the [`awslocal` wrapper](https://github.com/localstack/awscli-local): ```bash pip install awscli-local ``` - 2. Create the Lambda function source. - Execute the following to create a project directory and a Python handler: + 2. Create the Lambda function source. Execute the following to create a project directory, a function file and a Python handler: ```bash mkdir -p /tmp/localstack-demo @@ -147,7 +144,7 @@ Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tf awslocal lambda wait function-active --function-name messages-api ``` - 5. Configure a public URL and retrieve the endpoint: + 5. Configure a function URL and retrieve the endpoint: ```bash awslocal lambda create-function-url-config \ @@ -165,15 +162,17 @@ Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tf - 1. Install Terraform and the `tflocal` wrapper: + 1. Install the [`tflocal` wrapper](https://github.com/localstack/terraform-local): ```bash pip install terraform-local ``` - 2. Create a `main.tf` file in a new directory: + 2. Create a project directory and a `main.tf` file: - ```hcl + ```bash + mkdir -p /tmp/localstack-demo + cat > /tmp/localstack-demo/main.tf << 'TF' terraform { required_providers { aws = { source = "hashicorp/aws" } @@ -240,6 +239,8 @@ Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tf output "function_url" { value = aws_lambda_function_url.messages_api.function_url } + TF + cd /tmp/localstack-demo ``` 3. Initialize and apply the configuration: @@ -260,35 +261,36 @@ Deploy the Lambda function and DynamoDB table using either the `awslocal` or `tf ## Step 3: Test the API -Send a POST request to store a message in the emulated DynamoDB table: +Send a POST request to store a message in the locally emulated DynamoDB table: ```bash curl -X POST "$LAMBDA_URL" \ -H "Content-Type: application/json" \ -d '{"message": "Hello, LocalStack!"}' - ``` You will get back a response: -```json -{ "id": "a1b2c3d4-...", "message": "Hello, LocalStack!" } +```json title="Output" +{ "id": "3e1b5cae-4386-447b-8567-f0615fdb0fff", "message": "Hello, LocalStack!" } ``` Retrieve all your messages: ```bash curl "$LAMBDA_URL" - ``` -The Lambda function executes within the local environment and interacts with the emulated DynamoDB service. Because no actual cloud resources are created, you won't incur any cloud costs or infrastructure changes. +The Lambda function executes within the local environment and interacts with the locally emulated DynamoDB service. +Because no actual cloud resources are created, you won't incur any real AWS cloud costs or infrastructure changes. ## Step 4: Inspect Resources View the state of your local infrastructure via the [LocalStack Web Application](https://app.localstack.cloud/). Navigate to the [Resource Browser](https://app.localstack.cloud/inst/default/status) to inspect your Lambda functions and DynamoDB tables in real-time. +![Inspect Resources using LocalStack Web Application](/images/aws/localstack-resource-browser.png) + ## Step 5: Clean Up Stop your LocalStack container to remove all emulated resources. LocalStack is ephemeral by default; stopping the instance clears the state. @@ -310,16 +312,15 @@ Stop your LocalStack container to remove all emulated resources. LocalStack is e {/* prettier-ignore-end */} -To persist state across restarts, see [Persistence](/aws/capabilities/state-management/persistence/) or [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). +To persist resource state, like S3 buckets or DynamoDB tables, across restarts, check out our [state management tools](/aws/capabilities/state-management/). Remove the local files you created in this guide: ```bash rm -rf /tmp/localstack-demo - ``` ## Next steps -You have successfully deployed and tested a serverless API on your local workstation. Proceed to the [CI/CD guide](/aws/getting-started/ci-cd/) to learn how to integrate LocalStack into your automated testing pipelines and GitHub Actions workflows. - +You have successfully deployed and tested a serverless API on your local workstation. +Proceed to the [CI/CD guide](/aws/getting-started/ci-cd/) to learn how to integrate LocalStack into your automated continuous integration (CI) pipelines across a wide range of providers and platforms. From 35469fcc9fd880ac6ea27cb0db534f9f52953ac0 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 00:23:09 +0530 Subject: [PATCH 26/45] Update installation getting started guide --- astro.config.mjs | 4 +- .../docs/aws/getting-started/installation.mdx | 154 +++++++++++------- .../aws/getting-started/local-development.mdx | 2 +- 3 files changed, 97 insertions(+), 63 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 90ed8d5f1..3d7d56aee 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -15,9 +15,9 @@ import react from '@astrojs/react'; import tailwindcss from '@tailwindcss/vite'; -// Fetch the latest release version from GitHub +// Fetch the latest LocalStack CLI release version from GitHub. const response = await fetch( - 'https://api.github.com/repos/localstack/localstack/releases/latest', + 'https://api.github.com/repos/localstack/localstack-cli/releases/latest', { headers: { Accept: 'application/vnd.github+json' }, }, diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 92a28ee2c..116053d8f 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -1,6 +1,6 @@ --- title: Installation -description: Installation guides for LocalStack CLIs, container engines, and orchestration tools. +description: Install LocalStack with lstk, the LocalStack CLI, Docker, Docker Compose, or Helm. template: doc sidebar: order: 3 @@ -9,29 +9,33 @@ sidebar: import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; import { LOCALSTACK_VERSION } from 'astro:env/server'; -LocalStack provides multiple installation paths depending on your development environment and requirements. We recommend using a CLI-based installation for the most consistent local development experience. +## Introduction -Choose the CLI that fits your workflow: use [`lstk`](#lstk) for a streamlined, non-Python setup, or [LocalStack CLI](#localstack-cli) for access to our complete feature set. +LocalStack provides multiple installation paths depending on your development environment and requirements. We recommend a CLI-based installation for the most consistent local startup experience. + +Choose the CLI that fits your workflow: use [`lstk`](#lstk) to install, authenticate, and start LocalStack with minimal setup, or use the [LocalStack CLI](#localstack-cli) when you need full-featured management commands for advanced workflows. ## lstk -`lstk` is a lightweight, Go-based binary that manages the authentication and container lifecycle in a single workflow. +`lstk` is a lightweight CLI for LocalStack that manages the authentication and container lifecycle in a single workflow. + +**Requirement:** You must have a working [Docker installation](https://docs.docker.com/get-docker/) before proceeding. :::caution[Early Release] `lstk` currently supports core lifecycle commands: `start`, `stop`, `logs`, and `status`. For advanced features like Cloud Pods or Extensions, use the [LocalStack CLI](#localstack-cli). ::: -**Install lstk** +### Install lstk - ```bash - brew install localstack/tap/lstk + ```bash + brew install localstack/tap/lstk ``` - ```bash - npm install -g @localstack/lstk + ```bash + npm install -g @localstack/lstk ``` @@ -39,19 +43,25 @@ Choose the CLI that fits your workflow: use [`lstk`](#lstk) for a streamlined, n -**Start LocalStack** +### Start lstk ```bash lstk start - ``` The first execution initiates a browser-based login flow. Subsequent starts use credentials stored in your system keyring. +### Update lstk + +```bash +lstk update +``` + +For more details, see the [lstk documentation](/aws/tooling/lstk/). -## LocalStack CLI +## LocalStack CLI -The LocalStack CLI is the primary tool for managing all LocalStack capabilities. +The LocalStack CLI provides the full command set for managing LocalStack capabilities such as Cloud Pods, Extensions, and advanced state workflows. **Requirement:** You must have a working [Docker installation](https://docs.docker.com/get-docker/) before proceeding. @@ -115,7 +125,7 @@ brew install localstack/tap/localstack-cli - + You can install the LocalStack CLI using Brew directly from our official LocalStack tap: @@ -140,7 +150,7 @@ or use the following curl command: @@ -159,14 +169,14 @@ Then extract the LocalStack CLI from the terminal: You can download the pre-built binary for your architecture using the link below: Intel (AMD64) -Then extract the archive and execute the binary in Powershell. +Then extract the archive and execute the binary in PowerShell. @@ -186,38 +196,35 @@ python3 -m pip install --upgrade localstack ``` :::note -To download a specific version of LocalStack, replace `` with the required version from [release page](https://github.com/localstack/localstack/releases). - +To download a specific version of LocalStack CLI, replace `` with the required version from [release page](https://github.com/localstack/localstack-cli/releases). ```bash python3 -m pip install localstack== ``` - ::: -:::tip[MacOS Sierra?] -If you have problems with permissions in MacOS X Sierra, install with: - +:::tip[macOS Sierra?] +If you have problems with permissions in macOS Sierra, install with: ```bash python3 -m pip install --user localstack ``` - ::: :::danger Do not use `sudo` or the `root` user when starting LocalStack. It should be installed and started entirely under a local non-root user. ::: - - - ### Start LocalStack CLI To verify that the LocalStack CLI was installed correctly, you can check the version in your terminal: - +```bash +localstack --version +``` + + You are all set! @@ -231,22 +238,25 @@ Once you've set up your auth token, you can start LocalStack with the following localstack start # start localstack in background with -d flag ``` -```bash - __ _______ __ __ +{/* prettier-ignore */} + ### Update LocalStack CLI @@ -276,70 +286,86 @@ Updating the LocalStack CLI using `localstack update localstack-cli` and `locals If it was installed using the pre-built binary or via Brew, please run the installation steps again to update to the latest version. ::: +For more details, see the [LocalStack CLI documentation](/aws/tooling/localstack-cli/). -## Container & Orchestration Methods +## Container and orchestration tools -Use these methods for CI pipelines, server environments, or manual container management. +Use these methods when you need explicit container configuration, want to run LocalStack alongside other services, or deploy LocalStack in CI and Kubernetes environments. +For everyday local development, `lstk` or the LocalStack CLI is usually simpler. ### Docker Compose -Recommended for CI and team environments. Create a `docker-compose.yml` with the following configuration: +Use Docker Compose when you want a reusable configuration file that can be shared across a team or checked into a project repository. +Create a `docker-compose.yml` with the following configuration: ```yaml services: localstack: - container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}" - image: localstack/localstack-pro + container_name: '${LOCALSTACK_DOCKER_NAME:-localstack-main}' + image: localstack/localstack ports: - - "127.0.0.1:4566:4566" # Gateway - - "127.0.0.1:4510-4559:4510-4559" # External service range + - '127.0.0.1:4566:4566' # LocalStack Gateway + - '127.0.0.1:4510-4559:4510-4559' # external services port range + - '127.0.0.1:443:443' # LocalStack HTTPS Gateway environment: - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} + # Activate LocalStack for AWS: https://docs.localstack.cloud/getting-started/auth-token/ + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} # required for Pro + # LocalStack configuration: https://docs.localstack.cloud/references/configuration/ + - DEBUG=${DEBUG:-0} - PERSISTENCE=${PERSISTENCE:-0} volumes: - - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" - - "/var/run/docker.sock:/var/run/docker.sock" - + - '${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack' + - '/var/run/docker.sock:/var/run/docker.sock' ``` Execute `docker compose up` to start. ### Docker CLI -Run the container directly via the Docker engine: +Use the Docker CLI for one-off starts or when you want to test a container configuration before moving it into Compose: ```bash docker run \ --rm -it \ -p 127.0.0.1:4566:4566 \ -p 127.0.0.1:4510-4559:4510-4559 \ - -v /var/run/docker.sock:/var/run/docker.sock \ + -p 127.0.0.1:443:443 \ -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} \ - localstack/localstack-pro - + -v /var/run/docker.sock:/var/run/docker.sock \ + localstack/localstack ``` +:::note +The Docker Compose and Docker CLI examples above use the same runtime settings: + +- The `4566` port exposes the LocalStack Gateway. +- The `4510-4559` range exposes external service ports used by services that bind additional endpoints. +- The `443` port exposes the LocalStack HTTPS Gateway. +- The Docker socket mount is required for services that start additional containers, such as Lambda. +- Docker reuses a local image if one already exists. Pull explicitly or pin an image tag, such as `localstack/localstack:`, when you need reproducible CI or team environments. +- If you use Docker bridge networking, container name resolution may not work as expected from other containers. Prefer the default LocalStack networking setup unless you have a specific reason to customize it. +- Configuration variables can be prefixed with `LOCALSTACK_` in Docker. For instance, setting `LOCALSTACK_PERSISTENCE=1` is equivalent to `PERSISTENCE=1`. +For more details, see the [Docker images](/aws/capabilities/config/docker-images/), [configuration](/aws/capabilities/config/configuration/), and [networking](/aws/capabilities/networking/) documentation. +::: + ### Helm (Kubernetes) Deploy LocalStack to a Kubernetes cluster: ```bash -helm repo add localstack-repo [https://helm.localstack.cloud](https://helm.localstack.cloud) +helm repo add localstack-repo https://helm.localstack.cloud helm upgrade --install localstack localstack-repo/localstack - ``` -## Graphical User Interfaces (GUIs) +## Graphical user interfaces (GUIs) ### LocalStack Desktop Manage local instances via a standalone desktop application. [Download here](https://app.localstack.cloud/download). -### Docker Desktop Extension - -Install the [official extension](https://hub.docker.com/extensions/localstack/localstack-docker-desktop) to manage LocalStack directly from the Docker Desktop dashboard. - +### Docker Desktop extension +Install the [official extension](https://hub.docker.com/extensions/localstack/localstack-docker-desktop) to manage LocalStack directly from the Docker Desktop. ## Troubleshooting @@ -348,7 +374,7 @@ Install the [official extension](https://hub.docker.com/extensions/localstack/lo If you can successfully install LocalStack using `pip` but you cannot use it in your terminal, you most likely haven't set up your operating system's / terminal's `PATH` variable (in order to tell them where to find programs installed via `pip`). - If you are using Windows, you can enable the `PATH` configuration when installing Python, [as described in the official docs of Python](https://docs.python.org/3/using/windows.html#finding-the-python-executable). -- If you are using a MacOS or Linux operating system, please make sure that the `PATH` is correctly set up - either system wide, or in your terminal. +- If you are using a macOS or Linux operating system, please make sure that the `PATH` is correctly set up - either system wide, or in your terminal. As a workaround you can call the LocalStack CLI python module directly: @@ -374,9 +400,18 @@ DNS_ADDRESS=0 localstack start You can now avail logging output and error reporting using LocalStack logs. To access the logs, run the following command: + + ```bash localstack logs ``` + + +```bash +lstk logs +``` + + AWS requests are now logged uniformly in the INFO log level (set by default or when `DEBUG=0`). The format is: @@ -412,7 +447,6 @@ We have extensive network troubleshooting documentation available [here](/aws/ca If this does not solve your problem then please [reach out to LocalStack Support](/aws/help-support/get-help/). - ## Next steps Now that you've completed installation, proceed to the [Local Development Guide](/aws/getting-started/local-development) to start LocalStack and deploy a serverless API. This guide walks you through deploying a Lambda function backed by a DynamoDB table entirely on your local machine. diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index ce7e9c35c..b0f1f1ce5 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -30,7 +30,7 @@ Choose your preferred deployment method: **Terraform** or **AWS CLI**. The `lstk` CLI provides the fastest initialization path by automating authentication and image management. - Ensure you have [installed](/aws/getting-started/installation/#install-lstk) `lstk` before starting LocalStack. + Ensure you have [installed](/aws/getting-started/installation/#lstk) `lstk` before starting LocalStack. Start LocalStack: From b5a040b2493e76f906b4bdd133c9d143ac55d8ed Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 01:33:33 +0530 Subject: [PATCH 27/45] Update auth token getting started guide --- .../docs/aws/getting-started/auth-token.mdx | 124 ++++++++++-------- 1 file changed, 71 insertions(+), 53 deletions(-) diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index 295f71c35..c74389e92 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -1,110 +1,125 @@ --- title: Auth Token -description: Configure and manage LocalStack Auth Tokens for local development and CI/CD environments. +description: Configure and manage your LocalStack Auth Token to activate LocalStack and access licensed features. template: doc sidebar: order: 3 --- -import { Code, Tabs, TabItem } from '@astrojs/starlight/components'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; -The Auth Token is a mandatory credential required to pull the `localstack-pro` image and activate service entitlements. It links your local instance to your workspace license and enables access to the full suite of emulated AWS services. +## What is an Auth Token? -## Token Types +An Auth Token is a mandatory credential required to start the LocalStack container and activate licensed features. It links your running LocalStack instance to your workspace license and unlocks the services and capabilities available to your account. + +You can manage Auth Tokens from the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. + +:::danger[Credential security] +Auth Tokens provide access to your license and workspace. Do not commit tokens to version control. If a token is exposed, rotate it immediately in the LocalStack Web Application. +::: + +## Token types | Token Type | Scope | Use Case | | :--- | :--- | :--- | | **Developer Token** | Individual | Local development workstations. Managed per user. | | **CI Auth Token** | Workspace | Automated pipelines and shared runners. Managed by workspace admins. | -Manage both token types on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. - -:::danger[Credential Security] -Auth Tokens provide full access to your license and workspace. **Do not commit tokens to version control.** If a token is exposed, rotate it immediately via the Web Application to invalidate existing sessions. -::: - -## Configuration Methods +## Configure your token Authentication requirements vary based on your chosen execution method. -### 1. lstk (Automated) +### lstk + The `lstk` CLI automates the authentication lifecycle. On initial execution, it triggers a browser-based OAuth flow and stores the resulting token in your system keyring. No manual environment variable configuration is required. ```bash lstk start - ``` -### 2. LocalStack CLI +### LocalStack CLI -If you use the standard CLI, set your token using the `auth` command. This persists the credential in your local configuration. +If you use the LocalStack CLI, set your token with the `auth` command. This stores the token in your local configuration. -### 3. Docker & Docker Compose +```bash +localstack auth set-token +localstack start +``` -For direct container execution, inject the token as an environment variable. +### Docker and Docker Compose + +For direct container execution, inject the token as an environment variable. For complete startup examples, see the [Docker Compose](/aws/getting-started/installation/#docker-compose) and [Docker CLI](/aws/getting-started/installation/#docker-cli) installation options. **Docker CLI:** ```bash -docker run \ - --rm -it \ - -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} \ - localstack/localstack-pro - +-e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} ``` **Docker Compose:** ```yaml -services: - localstack: - image: localstack/localstack-pro - environment: - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} - +environment: + - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN} ``` -## License Assignment +### CI environments -An Auth Token is only valid if a license is assigned to your user identity or workspace. +CI environments should use a dedicated CI Auth Token stored in your CI provider's secret manager. +For complete examples, see the [CI/CD guide](/aws/getting-started/ci-cd/). -**Assignment Workflow:** +## Verify activation -1. Navigate to the [Users & Licenses page](https://app.localstack.cloud/workspace/members). -2. Identify the target user in **Workspace Members**. -3. Select the appropriate **Member Role** (Admins receive full permissions by default). -4. Save the configuration to activate the license for that identity. +Verify the activation status by querying the LocalStack info endpoint: -:::note -An active Auth Token will fail to initialize the container if a valid license has not been assigned to the associated user. -::: + + + ```bash + curl http://localhost:4566/_localstack/info | jq + ``` -## Activation Verification + + -Verify the activation status by querying the LocalStack info endpoint: + ```powershell + Invoke-WebRequest -Uri http://localhost:4566/_localstack/info | ConvertFrom-Json + ``` -**Successful Activation Output:** + + -```json +```json title="Output" { "edition": "pro", "is_license_activated": true } - ``` +The `edition` field should be `pro`, and `is_license_activated` should be `true`. -## Next steps +## License assignment -You have successfully completed the Getting Started sequence! -Proceed to the [FAQ](/aws/getting-started/faq/) for troubleshooting common scenarios, or explore our [supported local AWS services](/aws/services/) to begin building. +An Auth Token can only activate licensed features if a license is assigned to the associated user or workspace. +1. Navigate to the [Users & Licenses page](https://app.localstack.cloud/workspace/members). +2. Identify the target user in **Workspace Members**. +3. Select the appropriate **Member Role**. +4. Save the configuration to activate the license for that identity. + +:::note +LocalStack cannot activate licensed features unless the token belongs to a user or workspace with an assigned license. +::: + +## Rotate a token + +Rotate an Auth Token if it has been exposed, shared accidentally, or stored in a place where it should not be. Go to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) and select the reset option for the affected token. + +After rotation, update every local shell, container configuration, or CI secret that used the old token. ## Troubleshooting -While using Auth Tokens, LocalStack demands a successful license activation for startup. -If the activation of the license is unsuccessful, LocalStack will exit and display error messages. +LocalStack requires successful license activation during startup. If activation fails, LocalStack exits and displays an error message: ```bash =============================================== @@ -119,11 +134,11 @@ Due to this error, Localstack has quit. LocalStack for AWS features can only be - If you want to continue using LocalStack without pro features you can set `ACTIVATE_PRO=0`. ``` -The key activation in LocalStack may fail for several reasons, and the most common ones are listed below in this section. +Activation may fail for several reasons, and the most common ones are listed below. -### Missing Credentials +### Missing credentials -You need to provide either an Auth Token to start the LocalStack for AWS image successfully. +You need to provide an Auth Token to start the LocalStack for AWS image successfully. You can find your Auth Token on the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. If you are using the `localstack` CLI, you can set the `LOCALSTACK_AUTH_TOKEN` environment variable to your Auth Token or use the following command to set it up: @@ -132,12 +147,12 @@ If you are using the `localstack` CLI, you can set the `LOCALSTACK_AUTH_TOKEN` e localstack auth set-token ``` -### Invalid License +### Invalid license The issue may occur if there is no valid license linked to your account due to expiration or if the license has not been assigned. You can check your license status in the LocalStack Web Application on the [My License page](https://app.localstack.cloud/workspace/my-license). -### License Server Unreachable +### License server unreachable LocalStack initiates offline activation when the license server is unreachable, requiring re-activation every 24 hours. Log output may indicate issues with your machine resolving the LocalStack API domain, which can be verified using a tool like `dig`: @@ -152,3 +167,6 @@ Kindly reach out to your network administrator to safelist `localstack.cloud` do If you have any further problems concerning your license activation, or if the steps do not help, don't hesitate to [contact us](https://localstack.cloud/contact/). +## Next steps + +After configuring your Auth Token, continue to the [Local Development guide](/aws/getting-started/local-development/) to start LocalStack and deploy a local serverless API. From 0475773dd20f40751507449c38a1bdb3ec2638d5 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 01:58:44 +0530 Subject: [PATCH 28/45] Update AI workflows getting started guide --- .../docs/aws/getting-started/ai-workflows.mdx | 89 ++++++++++++++----- 1 file changed, 69 insertions(+), 20 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 911918adb..f5fb3c32f 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -1,43 +1,92 @@ --- title: AI & Agent Workflows -description: Integrate LocalStack with AI coding assistants, MCP servers, and agent-driven infrastructure automation. +description: Use LocalStack with AI coding assistants, MCP clients, and agent-driven infrastructure workflows. template: doc sidebar: order: 6 --- -LocalStack provides a secure, emulated environment for developing and testing AI-assisted workflows. You can iterate on AI-generated infrastructure code and agentic deployment tasks without incurring cloud costs or risking production AWS environments by using a local cloud sandbox. +## Introduction -## Capability Map +LocalStack gives AI coding assistants a local AWS-compatible environment to work against. Instead of letting an agent experiment in a real AWS account, you can ask it to create infrastructure, deploy code, inspect logs, and test resources in LocalStack first. -| Use Case | Recommended Tooling | -| :--- | :--- | -| **AI Assistant Resource Management** | [LocalStack MCP Server](/aws/tooling/mcp-server/) | -| **Autonomous Infrastructure Deployment** | [LocalStack Skills](https://github.com/localstack/skills) | -| **Local IaC Validation** | LocalStack + `tflocal` / `cdklocal` / `awslocal` | +This is useful when you want to: +- Prototype AWS applications & infrastructure code from natural language prompts. +- Validate AI-generated Terraform, CDK, or AWS CLI commands before using a cloud account. +- Give an AI assistant a safe place to inspect resources, debug logs, and iterate on deployments. +- Use reusable agent instructions for LocalStack-aware infrastructure workflows. -## Model Context Protocol (MCP) Integration +## Common workflows -The LocalStack MCP Server connects compatible AI clients (such as Claude, Cursor, or Windsurf) to your local cloud environment. This integration allows AI agents to manage the full local cloud lifecycle, including container management, resource deployment, and log analysis. +There are three common ways to use LocalStack in AI-assisted development: -:::note[Official MCP Documentation] -For detailed configuration instructions, prerequisite checks, and the complete tool reference, read our [LocalStack MCP Server guide](/aws/tooling/mcp-server/). You don't need to start LocalStack manually before using MCP; agents can initialize the container using the management tools provided by the server. +- Use the [LocalStack MCP Server](/aws/tooling/mcp-server/) when your AI assistant supports MCP clients such as Cursor, Claude, Codex, or OpenCode. +- Use [LocalStack Skills](https://github.com/localstack/skills) when you want reusable agent instructions for deploying and testing AWS architectures against LocalStack. +- Use LocalStack with `tflocal`, `cdklocal`, or `awslocal` when you want the agent to generate infrastructure code or commands that you review and run locally. + +You do not need all three approaches to get started. If your editor supports MCP, start with the LocalStack MCP Server. Or, you can use Skills if you want reusable agent instructions. If not, ask your assistant to generate Terraform, CDK, or AWS CLI steps and run them with LocalStack's local wrappers. + +## Connect an MCP client + +The LocalStack MCP Server connects MCP-compatible clients to your LocalStack environment. Once configured, your AI assistant can use LocalStack tools to start the container, deploy infrastructure, run AWS CLI commands, inspect logs, manage state, and query resources. + +:::note +The MCP server runs locally and talks to your LocalStack instance. Your AI assistant is the MCP client. For setup instructions and the full tool reference, see the [LocalStack MCP Server guide](/aws/tooling/mcp-server/). ::: +All MCP server tools require a valid [Auth Token](/aws/getting-started/auth-token/) configured as `LOCALSTACK_AUTH_TOKEN`. + +## Use agent skills + +[LocalStack Skills](https://github.com/localstack/skills) provide reusable instructions for AI agents working with LocalStack. They help agents follow LocalStack-specific conventions when creating infrastructure, deploying resources, running tests, and inspecting local cloud state. + +Skills are most useful when you want the assistant to follow a repeatable workflow, for example: + +- Scaffold a local AWS application and deploy it to LocalStack. +- Convert an AWS architecture idea into Terraform or CDK that targets LocalStack first. +- Debug a failing local deployment by checking resources, logs, and configuration. +- Save or restore LocalStack state as part of an iterative development loop. + +Refer to the [LocalStack Skills repository](https://github.com/localstack/skills) for available skills and setup instructions. + +## Example prompt sequence + +After LocalStack and your preferred AI tooling are configured, you can use a sequence like this: + +```text +Create a Terraform application with an S3 bucket, a Lambda function, and a DynamoDB table. +Make it deployable to LocalStack with tflocal. +``` + +```text +Deploy the application to LocalStack and fix any errors from the deployment. +``` + +```text +Invoke the Lambda function locally, inspect the DynamoDB table, and summarize what resources were created. +``` + +```text +Add an integration test that verifies the Lambda writes an item to DynamoDB. +Run the test against LocalStack. +``` -## Agent-Driven Automation with Skills +This keeps the feedback loop local while still giving the assistant a realistic AWS-compatible target. -[LocalStack Skills](https://github.com/localstack/skills) provide pre-defined agent skill definitions for automating AWS architecture deployments. These skills allow agents to scaffold environments, iterate on architecture designs, and manage LocalStack state autonomously. +## Review before applying to AWS -Skills implementation scenarios: -- **Rapid Prototyping**: Scaffold new local environments without manual infrastructure coding. -- **Agent-First Development**: Establish LocalStack as a primary deployment target for autonomous agents. -- **Architecture Iteration**: Test complex architectural changes in a risk-free, local sandbox. +AI-generated infrastructure still needs review. Treat LocalStack as the first validation step, not as a replacement for code review, tests, or production deployment controls. -Refer to the [LocalStack Skills repository](https://github.com/localstack/skills) for available skill definitions and setup instructions. +Before applying changes to AWS, check that: +- The generated infrastructure matches your intended architecture. +- Resource names, IAM policies, and environment variables are appropriate for your project. +- Tests pass against LocalStack. +- You understand any changes the assistant made to application code or deployment configuration. ## Next steps -You have explored the integration patterns for AI and agent-driven development. Proceed to the [Auth Token guide](/aws/getting-started/auth-token/) to configure your licensing and unlock advanced LocalStack features. +- Configure the [LocalStack MCP Server](/aws/tooling/mcp-server/) if your AI assistant supports MCP. +- Review [LocalStack Skills](https://github.com/localstack/skills) for reusable agent workflows. +- Continue with the [Local Development guide](/aws/getting-started/local-development/) if you want a guided Lambda and DynamoDB example before adding AI tooling. From 72e835633a8c5e4d09517ba7925113be6548e5ef Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 07:50:12 +0530 Subject: [PATCH 29/45] Update CI getting started guide --- .../docs/aws/getting-started/ci-cd.mdx | 251 +++++++++++------- 1 file changed, 148 insertions(+), 103 deletions(-) diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index 6c2671b0f..b12d27f49 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -1,6 +1,6 @@ --- -title: CI/CD Integration -description: Implementation guides for LocalStack in automated pipelines, including GitHub Actions, Docker Compose, and state management. +title: CI Integration +description: Use LocalStack in CI pipelines to run integration tests against local AWS infrastructure. template: doc sidebar: order: 5 @@ -8,145 +8,190 @@ sidebar: import { Tabs, TabItem } from '@astrojs/starlight/components'; -Integrating LocalStack into CI/CD environments enables automated integration testing without cloud infrastructure costs or vendor dependency. CI configurations differ from local development environments in authentication methods and startup workflows. +## Introduction -Key operational differences in CI/CD include: -- **Authentication**: Use a dedicated CI Auth Token instead of a personal Developer token. -- **Initialization**: Execute LocalStack in non-interactive mode using Docker Compose, the Docker CLI, or specialized CI actions. -- **Isolation**: Initialize a fresh LocalStack instance for each job to ensure reproducible test results. -- **State Management**: Utilize Cloud Pods or state export/import commands to persist infrastructure across pipeline stages. +LocalStack helps you run integration tests in CI against emulated AWS infrastructure. Your pipeline starts LocalStack inside the CI job, deploys or prepares the resources your application needs, runs tests against the local endpoint, and then discards the environment when the job ends. -## Step 1: Configure CI Auth Token +## How LocalStack works in CI -Dedicated CI Auth Tokens are required for automated environments to ensure security and auditability. +A typical CI job with LocalStack follows this flow: -1. Navigate to the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens) in the LocalStack Web Application. -2. Generate a new **CI Auth Token**. -3. Store the token as a protected secret within your CI provider (e.g., `LOCALSTACK_AUTH_TOKEN`). +1. Check out your application code. +2. Start LocalStack in the CI runner. +3. Configure a CI Auth Token through the CI provider's secret manager. +4. Deploy test infrastructure with tools such as `awslocal`, `tflocal`, `cdklocal`, or your application's test harness. +5. Run integration tests against the LocalStack endpoint. +6. Collect logs, test reports, and artifacts from the job. -:::danger[Security Best Practice] -Never commit your auth tokens to source control. -Always inject tokens via your CI provider's secrets or environment variable system. -Rotate compromised tokens immediately via the Web Application. Old tokens are invalidated instantly. -::: +This gives every pipeline run a fresh AWS-compatible environment without creating cloud resources in an AWS account. -:::note -Read the [Auth Token guide](/aws/getting-started/auth-token/) for full details on token types and configuration. -::: +## What changes from local development -## Step 2: Start LocalStack in CI +CI runs are usually more constrained than local development: -Select the integration method compatible with your CI runner architecture. +- Use a dedicated **CI Auth Token** instead of a personal Developer Token. +- Store `LOCALSTACK_AUTH_TOKEN` as a protected CI secret. +- Start LocalStack non-interactively as part of the job. +- Treat the LocalStack container as ephemeral unless your workflow explicitly saves state. +- Export logs and test reports before the runner shuts down. + +Docker and Docker Compose are still common ways to run containers inside CI runners, but they are not CI tools by themselves. For container startup details, see the [Installation guide](/aws/getting-started/installation/#container-and-orchestration-tools). For provider-specific CI setup, use the integration guides below. + +## Choose your CI provider + +Start with the CI system you use. These snippets show the basic LocalStack startup shape for each provider; the linked guides include authentication, configuration, logs, state management, and provider-specific caveats. - Use the official GitHub Action to initialize LocalStack as a workflow step: ```yaml - # .github/workflows/integration-tests.yml - name: Integration Tests - on: [push, pull_request] + - name: Start LocalStack + uses: LocalStack/setup-localstack@main + with: + image-tag: 'latest' + install-awslocal: 'true' + env: + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} + ``` + See the [GitHub Actions guide](/aws/integrations/continuous-integration/github-actions/) for the full setup. + + + + + ```yaml + version: '2.1' + orbs: + python: circleci/python@4.0.0 jobs: - test: - runs-on: ubuntu-latest + localstack-test: + machine: + image: ubuntu-2204:current steps: - - uses: actions/checkout@v4 - - - name: Start LocalStack - uses: LocalStack/setup-localstack@v0.2.2 - with: - image-tag: latest - install-awslocal: "true" - env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} - - - name: Run tests - run: | - # Your test commands here, e.g.: - pip install awscli-local - awslocal s3 mb s3://integration-test-bucket - pytest tests/integration/ + - checkout + - run: + name: Install LocalStack CLI and awslocal + command: | + python3 -m pip install --user --upgrade pip + python3 -m pip install --user localstack awscli-local[ver1] + echo 'export PATH=$HOME/.local/bin:$PATH' >> "$BASH_ENV" + - run: + name: Start LocalStack + command: | + source "$BASH_ENV" + docker pull localstack/localstack:latest + localstack start -d + localstack wait -t 60 ``` - The `setup-localstack` action pulls the image, starts the container, and waits for LocalStack to be ready. + + See the [CircleCI guide](/aws/integrations/continuous-integration/circleci/) for the full setup. - - - Define LocalStack as a service in your `docker-compose.yml` for containerized environments: + ```yaml - services: - localstack: - container_name: localstack-main - image: localstack/localstack-pro - ports: - - "127.0.0.1:4566:4566" - - "127.0.0.1:4510-4559:4510-4559" - environment: - - LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} - volumes: - - "/var/run/docker.sock:/var/run/docker.sock" + image: python:3.9 + + definitions: + services: + docker: + memory: 2048 + + pipelines: + default: + - step: + name: Test LocalStack + services: + - docker + script: + - export DOCKER_SOCK=$DOCKER_HOST + - export AWS_ENDPOINT_URL="http://localhost.localstack.cloud:4566" + - echo "${BITBUCKET_DOCKER_HOST_INTERNAL} localhost.localstack.cloud " >> /etc/hosts + - pip install localstack awscli-local + - docker run -d --rm -p 4566:4566 -p 4510-4559:4510-4559 -e DOCKER_SOCK=tcp://${BITBUCKET_DOCKER_HOST_INTERNAL}:2375 -e DOCKER_HOST=tcp://${BITBUCKET_DOCKER_HOST_INTERNAL}:2375 --name localstack-main localstack/localstack + - localstack wait -t 60 ``` - Start the service and verify readiness before executing tests: + See the [Bitbucket Pipelines guide](/aws/integrations/continuous-integration/bitbucket/) for the full setup. + + + - ```bash - docker compose up -d localstack - # Wait for LocalStack to be ready - until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done + ```yaml + version: 0.2 + + phases: + pre_build: + commands: + - pip3 install localstack awscli + - docker pull public.ecr.aws/localstack/localstack:latest + - localstack start -d + - localstack wait -t 30 ``` - :::note - Mounting `/var/run/docker.sock` is required for Lambda emulation, which uses Docker to run function containers. - ::: + See the [CodeBuild guide](/aws/integrations/continuous-integration/codebuild/) for the full setup. + + + ```yaml + variables: + DOCKER_SOCK: tcp://docker:2375 + DOCKER_HOST: tcp://docker:2375 + DOCKER_TLS_CERTDIR: "" - - Initialize the container directly using the Docker engine: - - ```bash - docker run \ - --rm -d \ - --name localstack-main \ - -p 127.0.0.1:4566:4566 \ - -p 127.0.0.1:4510-4559:4510-4559 \ - -e LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?} \ - -v /var/run/docker.sock:/var/run/docker.sock \ - localstack/localstack-pro - - # Wait for readiness - until curl -s http://localhost:4566/_localstack/health | grep -q '"running"'; do sleep 1; done + services: + - name: localstack/localstack:latest + alias: localstack + - name: docker:dind + alias: docker + command: ["--tls=false"] ``` + + See the [GitLab CI guide](/aws/integrations/continuous-integration/gitlab-ci/) for the full setup. + + + + + ```yaml + language: python + + services: + - docker + + python: + - "3.8" + + before_install: + - python -m pip install localstack awscli-local[ver1] + - docker pull localstack/localstack + - localstack start -d + - localstack wait -t 30 + ``` + + See the [Travis CI guide](/aws/integrations/continuous-integration/travis-ci/) for the full setup. + -## Technical Comparison: Local vs. CI/CD +You can also start from the [CI integrations overview](/aws/integrations/continuous-integration/) if you want a broader explanation of the CI workflow. -| Feature | Local Development | CI/CD Environment | -| :--- | :--- | :--- | -| **Interface** | `lstk` or LocalStack CLI | Docker Compose / `docker run`, or `lstk --non-interactive` | -| **Authentication** | Browser-based or stored credentials | `LOCALSTACK_AUTH_TOKEN` environment variable | -| **Token Type** | Individual Developer Token | Dedicated CI Token | -| **State** | Persistent by choice | Ephemeral (standard) or Snapshotted (Cloud Pods) | -| **Startup Mode** | Interactive (TUI) (default `lstk`) | Non-interactive (Headless) (`docker compose`, `docker run -d`, `lstk --non-interactive`) | +## Authentication in CI -## State Persistence in CI +CI environments should use a CI Auth Token. Create one from the [Auth Tokens page](https://app.localstack.cloud/workspace/auth-tokens), then store it as `LOCALSTACK_AUTH_TOKEN` in your CI provider's secret manager. -While most pipelines favor ephemeral instances for clean test cycles, certain workflows require persisting infrastructure state across jobs or runners. +Do not commit tokens to your repository or write them directly into workflow files. For more details on token types and rotation, see the [Auth Token guide](/aws/getting-started/auth-token/). -- **[Cloud Pods](/aws/capabilities/state-management/cloud-pods/)**: Save or load snapshots using the `setup-localstack` action with the `state-backend: cloud-pods` configuration. -- **Snapshot Persistence Engine**: Enable `PERSISTENCE=1` and mount a host volume to retain data across container restarts on the same runner. -- **State Export/Import Commands**: Use `localstack state export` and `localstack state import` to pass infrastructure state via CI artifacts or caching mechanisms. +## State in CI -## Next steps +Most CI jobs should start with a clean LocalStack instance. A fresh instance makes test runs reproducible and avoids hidden dependencies between jobs. + +If your pipeline needs state across jobs or workflow stages, use one of the state management options documented outside this getting started page: -You have configured LocalStack for automated environments and explored various CI/CD integration patterns. Proceed to the [AI & Agent Workflows Guide](/aws/getting-started/ai-workflows/) to learn how to integrate LocalStack with AI coding assistants and automate infrastructure tasks. +- [Cloud Pods](/aws/capabilities/state-management/cloud-pods/) to save and restore named LocalStack state snapshots. +- [State export and import](/aws/capabilities/state-management/export-import-state/) to move state through artifacts or caches. +- [Persistence](/aws/capabilities/state-management/persistence/) when the same runner keeps a mounted LocalStack volume. -## Resources +## Next steps -- [GitHub Actions Integration](/aws/integrations/continuous-integration/github-actions/): Advanced workflows and configuration options. -- [CircleCI Guide](/aws/integrations/continuous-integration/circleci/): Implementation details for CircleCI environments. -- [GitLab CI Integration](/aws/integrations/continuous-integration/gitlab-ci/): Service-based setup for GitLab runners. -- [AWS CodeBuild](/aws/integrations/continuous-integration/codebuild/): Native AWS CI/CD integration. +After choosing your CI provider, continue with the matching integration guide and adapt the example to your test framework, infrastructure tooling, and CI runner model. From 96a03c6b0e8c1c8ddd74cf9946d069f2ca50618c Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 07:55:10 +0530 Subject: [PATCH 30/45] Fix getting started sidebar order --- src/content/docs/aws/getting-started/installation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 116053d8f..962817cd0 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -3,7 +3,7 @@ title: Installation description: Install LocalStack with lstk, the LocalStack CLI, Docker, Docker Compose, or Helm. template: doc sidebar: - order: 3 + order: 2 --- import { Code, LinkButton, Tabs, TabItem } from '@astrojs/starlight/components'; From 75b4bbd5e34626ff0d17fba55da9fd37f829f513 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 08:10:33 +0530 Subject: [PATCH 31/45] Update getting started onboarding --- .../docs/aws/getting-started/index.mdx | 22 ++++++++++++++----- .../docs/aws/getting-started/installation.mdx | 2 ++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index a639c333b..503b8b51c 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -20,20 +20,32 @@ LocalStack provides a cloud service emulator that runs within a single container LocalStack also provides advanced features for team collaboration and security, including [Cloud Pods](/aws/capabilities/state-management/cloud-pods/) for state management, [IAM policy enforcement](/aws/capabilities/security-testing/iam-policy-enforcement/), and [Chaos Engineering](/aws/capabilities/chaos-engineering/). -## Explore by deployment +## Start with the basics diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 962817cd0..7d260f0d6 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -15,6 +15,8 @@ LocalStack provides multiple installation paths depending on your development en Choose the CLI that fits your workflow: use [`lstk`](#lstk) to install, authenticate, and start LocalStack with minimal setup, or use the [LocalStack CLI](#localstack-cli) when you need full-featured management commands for advanced workflows. +LocalStack for AWS features require an [Auth Token](/aws/getting-started/auth-token/) to activate your running instance. `lstk` handles authentication through a browser-based login flow, while the LocalStack CLI, Docker, and CI workflows can use `LOCALSTACK_AUTH_TOKEN`. + ## lstk `lstk` is a lightweight CLI for LocalStack that manages the authentication and container lifecycle in a single workflow. From 54f0ca872f7f5dde1e35956a434892ec6daf9a92 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 08:11:16 +0530 Subject: [PATCH 32/45] Add getting started FAQ card --- src/content/docs/aws/getting-started/index.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index 503b8b51c..8b8b78ca0 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -53,6 +53,12 @@ LocalStack also provides advanced features for team collaboration and security, description: 'Integrate LocalStack with AI coding assistants via MCP or automate infrastructure tasks using LocalStack Skills.', href: '/aws/getting-started/ai-workflows/', + }, + { + title: 'FAQ', + description: + 'Frequently asked questions about LocalStack for AWS.', + href: '/aws/getting-started/faq/', } ]} client:load From b71518188c17eb8bed234adcf7fb9391030e65ea Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 09:27:48 +0530 Subject: [PATCH 33/45] simplify getting started --- src/content/docs/aws/getting-started/local-development.mdx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index b0f1f1ce5..3db38ede5 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -25,13 +25,12 @@ Choose your preferred deployment method: **Terraform** or **AWS CLI**. - A [LocalStack account](https://app.localstack.cloud/sign-up) and a valid [LocalStack Auth Token](/aws/getting-started/auth-token/). - Either [Terraform CLI](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) or [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installed, depending on your preferred deployment method. +If you haven't installed LocalStack yet, follow the [installation guide](/aws/getting-started/installation/) to get started. + ## Step 1: Install and Start LocalStack - The `lstk` CLI provides the fastest initialization path by automating authentication and image management. - Ensure you have [installed](/aws/getting-started/installation/#lstk) `lstk` before starting LocalStack. - Start LocalStack: ```bash @@ -56,8 +55,6 @@ Choose your preferred deployment method: **Terraform** or **AWS CLI**. - If you are using the full-featured LocalStack CLI, ensure you have [installed](/aws/getting-started/installation/#install-localstack-cli) it and [configured your auth token](/aws/getting-started/auth-token/) before starting: - Start LocalStack: ```bash From 2bb60a278e988932bf4e1e0fc663af86f85958ae Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 09:58:41 +0530 Subject: [PATCH 34/45] Fix quickstart redirects --- public/_redirects | 6 ++++-- scripts/redirects/redirects_config.json | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/public/_redirects b/public/_redirects index b53bb1d96..3b0b4a7a5 100644 --- a/public/_redirects +++ b/public/_redirects @@ -397,7 +397,8 @@ /tutorials/replicate-aws-resources-localstack-extension/ /aws/tutorials/replicate-aws-resources-localstack-extension 301 /user-guide/tools/localstack-sdk/python/ /aws/tooling/localstack-sdks/python 301 /user-guide/lambda-tools/hot-reloading/ /aws/tooling/lambda-tools/hot-reloading 301 -/getting-started/quickstart/ /aws/getting-started/quickstart 301 +/getting-started/quickstart/ /aws/getting-started/local-development/ 301 +/aws/getting-started/quickstart/ /aws/getting-started/local-development/ 301 /overview/ /aws 301 /user-guide/aws/glue/ /aws/services/glue 301 /getting-started/ /aws/getting-started 301 @@ -804,7 +805,8 @@ /tutorials/replicate-aws-resources-localstack-extension /aws/tutorials/replicate-aws-resources-localstack-extension 301 /user-guide/tools/localstack-sdk/python /aws/tooling/localstack-sdks/python 301 /user-guide/lambda-tools/hot-reloading /aws/tooling/lambda-tools/hot-reloading 301 -/getting-started/quickstart /aws/getting-started/quickstart 301 +/getting-started/quickstart /aws/getting-started/local-development/ 301 +/aws/getting-started/quickstart /aws/getting-started/local-development/ 301 /overview /aws 301 /user-guide/aws/glue /aws/services/glue 301 /getting-started /aws/getting-started 301 diff --git a/scripts/redirects/redirects_config.json b/scripts/redirects/redirects_config.json index 6f3580563..6ed8fdf08 100644 --- a/scripts/redirects/redirects_config.json +++ b/scripts/redirects/redirects_config.json @@ -1975,7 +1975,12 @@ }, { "old_link": "/getting-started/quickstart/", - "new_link": "/aws/getting-started/quickstart", + "new_link": "/aws/getting-started/local-development/", + "status_code": 301 + }, + { + "old_link": "/aws/getting-started/quickstart/", + "new_link": "/aws/getting-started/local-development/", "status_code": 301 }, { From c1c86b5004786a77366c9dbeb50b556009c40287 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 10:05:24 +0530 Subject: [PATCH 35/45] Fix getting started next steps --- src/content/docs/aws/getting-started/ai-workflows.mdx | 2 +- src/content/docs/aws/getting-started/ci-cd.mdx | 2 +- src/content/docs/aws/getting-started/installation.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index f5fb3c32f..2150c4527 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -89,4 +89,4 @@ Before applying changes to AWS, check that: - Configure the [LocalStack MCP Server](/aws/tooling/mcp-server/) if your AI assistant supports MCP. - Review [LocalStack Skills](https://github.com/localstack/skills) for reusable agent workflows. -- Continue with the [Local Development guide](/aws/getting-started/local-development/) if you want a guided Lambda and DynamoDB example before adding AI tooling. +- Browse the [LocalStack for AWS services](/aws/services/) reference, or check the [Getting Started FAQ](/aws/getting-started/faq/) for common setup questions. diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index b12d27f49..1e338aba7 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -194,4 +194,4 @@ If your pipeline needs state across jobs or workflow stages, use one of the stat ## Next steps -After choosing your CI provider, continue with the matching integration guide and adapt the example to your test framework, infrastructure tooling, and CI runner model. +After choosing your CI provider, continue to [AI & Agent Workflows](/aws/getting-started/ai-workflows/) to learn how AI coding assistants can help generate, deploy, and test LocalStack-backed AWS applications. diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 4d08b2b8b..49f367a01 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -451,4 +451,4 @@ If this does not solve your problem then please [reach out to LocalStack Support ## Next steps -Now that you've completed installation, proceed to the [Local Development Guide](/aws/getting-started/local-development) to start LocalStack and deploy a serverless API. This guide walks you through deploying a Lambda function backed by a DynamoDB table entirely on your local machine. +Now that you've completed installation, proceed to the [Auth Token guide](/aws/getting-started/auth-token/) to activate LocalStack and prepare your environment for local development. From f7541a7e7fc6787d03902a555a04168d17405785 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 10:47:31 +0530 Subject: [PATCH 36/45] some minor changes --- .../docs/aws/getting-started/ci-cd.mdx | 16 ++++++- .../docs/aws/getting-started/index.mdx | 2 +- .../aws/getting-started/local-development.mdx | 43 ++++++++++--------- 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index 1e338aba7..ca28e3d25 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -41,6 +41,10 @@ Docker and Docker Compose are still common ways to run containers inside CI runn Start with the CI system you use. These snippets show the basic LocalStack startup shape for each provider; the linked guides include authentication, configuration, logs, state management, and provider-specific caveats. +:::note +For brevity, these snippets show only the LocalStack startup shape. Apart from the GitHub Actions example, they assume your CI Auth Token is already exposed to the job as the `LOCALSTACK_AUTH_TOKEN` environment variable. Store it as a secret in your CI provider before running them, and see [Authentication in CI](#authentication-in-ci) below. +::: + @@ -135,10 +139,13 @@ Start with the CI system you use. These snippets show the basic LocalStack start ```yaml + stages: + - test + variables: - DOCKER_SOCK: tcp://docker:2375 DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" + LOCALSTACK_HOST: "localstack:4566" services: - name: localstack/localstack:latest @@ -146,6 +153,13 @@ Start with the CI system you use. These snippets show the basic LocalStack start - name: docker:dind alias: docker command: ["--tls=false"] + + localstack-test: + stage: test + image: python:3.11 + script: + - pip install awscli-local + - awslocal s3 mb s3://test-bucket ``` See the [GitLab CI guide](/aws/integrations/continuous-integration/gitlab-ci/) for the full setup. diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index 8b8b78ca0..68be6a723 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -65,5 +65,5 @@ LocalStack also provides advanced features for team collaboration and security, /> :::note -**Enterprise K8 Deployment:** LocalStack also supports execution within Kubernetes clusters via the Operator or Helm charts. This model enables dynamic scaling, environment isolation, and native orchestration. See our [Kubernetes Deployment guide](/aws/enterprise/kubernetes/) for more information. +**Enterprise Kubernetes Deployment:** LocalStack also supports execution within Kubernetes clusters via the Operator or Helm charts. This model enables dynamic scaling, environment isolation, and native orchestration. See our [Kubernetes Deployment guide](/aws/enterprise/kubernetes/) for more information. ::: diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index 3db38ede5..2f099b807 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -6,7 +6,8 @@ sidebar: order: 4 --- -import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; +import { Code, Tabs, TabItem, Steps } from '@astrojs/starlight/components'; +import { LOCALSTACK_AWS_VERSION } from 'astro:env/server'; ## Introduction @@ -27,7 +28,7 @@ Choose your preferred deployment method: **Terraform** or **AWS CLI**. If you haven't installed LocalStack yet, follow the [installation guide](/aws/getting-started/installation/) to get started. -## Step 1: Install and Start LocalStack +## Step 1: Install and start LocalStack @@ -63,26 +64,28 @@ If you haven't installed LocalStack yet, follow the [installation guide](/aws/ge When the container is ready, you'll see these log lines: - ```bash - __ _______ __ __ - / / ____ _________ _/ / ___// /_____ ______/ /__ - / / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/ - / /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,< - /_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_| - - - LocalStack CLI: 2026.5.1 - - Profile: default - - App: https://app.localstack.cloud - - [14:37:38] starting LocalStack in Docker mode 🐳 localstack.py:542 - ... - Ready. - ``` + {/* prettier-ignore */} + -## Step 2: Deploy the Serverless API +## Step 2: Deploy the serverless API You can deploy the Lambda function and DynamoDB table using either our AWS CLI wrapper `awslocal` or our Terraform wrapper `tflocal`. These tools automatically route AWS API calls to your LocalStack container, so you do not need AWS account credentials for this guide. @@ -281,14 +284,14 @@ curl "$LAMBDA_URL" The Lambda function executes within the local environment and interacts with the locally emulated DynamoDB service. Because no actual cloud resources are created, you won't incur any real AWS cloud costs or infrastructure changes. -## Step 4: Inspect Resources +## Step 4: Inspect resources View the state of your local infrastructure via the [LocalStack Web Application](https://app.localstack.cloud/). Navigate to the [Resource Browser](https://app.localstack.cloud/inst/default/status) to inspect your Lambda functions and DynamoDB tables in real-time. ![Inspect Resources using LocalStack Web Application](/images/aws/localstack-resource-browser.png) -## Step 5: Clean Up +## Step 5: Clean up Stop your LocalStack container to remove all emulated resources. LocalStack is ephemeral by default; stopping the instance clears the state. From 60eed52ea6edaa09ba58b9bf6e9288bf3d6d788d Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Thu, 4 Jun 2026 11:00:46 +0530 Subject: [PATCH 37/45] fix macos installation commands --- .../docs/aws/getting-started/installation.mdx | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index 49f367a01..d515d2059 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -138,7 +138,7 @@ brew install localstack/tap/localstack-cli

Alternative: Binary Download -You may download the binary for your architecture using the link below: +You may download the binary for your architecture using the links below: Intel (AMD64) + + Apple Silicon (ARM64) + + +or use the curl commands below: + +For Intel (AMD64): + + -or use the following curl command: +For Apple Silicon (ARM64): From c394d48eac4ae7a011864b0a5cb9741416f11d80 Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Sun, 28 Jun 2026 21:51:57 +0200 Subject: [PATCH 38/45] removed localstack cli mentions + moved auth token doc to order 6 --- .../docs/aws/getting-started/ai-workflows.mdx | 2 +- .../docs/aws/getting-started/auth-token.mdx | 2 +- .../docs/aws/getting-started/ci-cd.mdx | 4 +- src/content/docs/aws/getting-started/faq.mdx | 39 --- .../docs/aws/getting-started/index.mdx | 2 +- .../docs/aws/getting-started/installation.mdx | 286 +----------------- .../aws/getting-started/local-development.mdx | 43 +-- 7 files changed, 12 insertions(+), 366 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index 2150c4527..a8d48e040 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -3,7 +3,7 @@ title: AI & Agent Workflows description: Use LocalStack with AI coding assistants, MCP clients, and agent-driven infrastructure workflows. template: doc sidebar: - order: 6 + order: 5 --- ## Introduction diff --git a/src/content/docs/aws/getting-started/auth-token.mdx b/src/content/docs/aws/getting-started/auth-token.mdx index c74389e92..e69185441 100644 --- a/src/content/docs/aws/getting-started/auth-token.mdx +++ b/src/content/docs/aws/getting-started/auth-token.mdx @@ -3,7 +3,7 @@ title: Auth Token description: Configure and manage your LocalStack Auth Token to activate LocalStack and access licensed features. template: doc sidebar: - order: 3 + order: 6 --- import { Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/content/docs/aws/getting-started/ci-cd.mdx b/src/content/docs/aws/getting-started/ci-cd.mdx index ca28e3d25..b3dacb0ef 100644 --- a/src/content/docs/aws/getting-started/ci-cd.mdx +++ b/src/content/docs/aws/getting-started/ci-cd.mdx @@ -3,7 +3,7 @@ title: CI Integration description: Use LocalStack in CI pipelines to run integration tests against local AWS infrastructure. template: doc sidebar: - order: 5 + order: 4 --- import { Tabs, TabItem } from '@astrojs/starlight/components'; @@ -74,7 +74,7 @@ For brevity, these snippets show only the LocalStack startup shape. Apart from t steps: - checkout - run: - name: Install LocalStack CLI and awslocal + name: Install lstk and awslocal command: | python3 -m pip install --user --upgrade pip python3 -m pip install --user localstack awscli-local[ver1] diff --git a/src/content/docs/aws/getting-started/faq.mdx b/src/content/docs/aws/getting-started/faq.mdx index 150917e85..e77069ac4 100644 --- a/src/content/docs/aws/getting-started/faq.mdx +++ b/src/content/docs/aws/getting-started/faq.mdx @@ -35,20 +35,6 @@ To resolve the issue follow the steps: For other SSL-related issues encountered during startup — such as Python `CERTIFICATE_VERIFY_FAILED` tracebacks or corporate TLS interception — see [How do I diagnose if my SSL traffic is being intercepted by a corporate proxy?](#how-do-i-diagnose-if-my-ssl-traffic-is-being-intercepted-by-a-corporate-proxy). -### How to update my LocalStack CLI? - -If the LocalStack CLI version is heavily outdated, it might lead to issues with container startup and debug commands. -If you are using an older version of LocalStack, you can update it by running the following command: - -```bash -pip install --upgrade localstack localstack-ext -``` - -If you are running a newer version of LocalStack, you can check the version by running the following command: - -```bash -localstack update localstack-cli -``` ### Is using `localhost.localstack.cloud:4566` to set as the endpoint for AWS services recommended? @@ -123,23 +109,6 @@ aws ssm put-parameter --name "//test/parameter/new" --type String --value "test" For additional known issues related to Git Bash, you can refer to the following link: [Git Bash Known Issues](https://github.com/git-for-windows/build-extra/blob/main/ReleaseNotes.md#known-issues) -### How to fix LocalStack CLI (Python) UTF-8 encoding issue under Windows? - -If you are using LocalStack CLI under Windows, you might run into encoding issues. -To fix this, set the following environment variables: -Set the system locale (language for non-Unicode programs) to UTF-8 to avoid Unicode errors. - -Follow these steps: - -- Open the Control Panel. -- Go to "Clock and Region" or "Region and Language." -- Click on the "Administrative" tab. -- Click on the "Change system locale" button. -- Select "Beta: Use Unicode UTF-8 for worldwide language support" and click "OK." -- Restart your computer to apply the changes. - -If you would like to keep the system locale as it is, you can mitigate the issue by using the command `localstack --no-banner`. - ### How do I resolve connection issues with proxy blocking access to LocalStack's BigData image? A company proxy can lead to connection issues. @@ -633,14 +602,6 @@ volumes: - "./license.json:/var/lib/localstack/cache/license.json:ro" ``` -### Why does LocalStack startup fail with "Docker not available"? - -The LocalStack CLI cannot reach the Docker daemon. Common fixes: - -- Start Docker Desktop and confirm it's running. -- Verify `docker ps` works as your current user (no `sudo`). -- On macOS, check that `/var/run/docker.sock` is reachable from Docker Desktop. -- If you use Colima, Rancher, or Podman, make sure the `DOCKER_HOST` environment variable points at the correct socket. ### Why does LocalStack fail with "ports are not available: exposing port TCP 127.0.0.1:443"? diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index 68be6a723..2d785e70b 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -27,7 +27,7 @@ LocalStack also provides advanced features for team collaboration and security, { title: 'Installation', description: - 'Install LocalStack with lstk, the LocalStack CLI, Docker, Docker Compose, or Helm.', + 'Install LocalStack with lstk, Docker, Docker Compose, or Helm.', href: '/aws/getting-started/installation/', }, { diff --git a/src/content/docs/aws/getting-started/installation.mdx b/src/content/docs/aws/getting-started/installation.mdx index d515d2059..bda8e5793 100644 --- a/src/content/docs/aws/getting-started/installation.mdx +++ b/src/content/docs/aws/getting-started/installation.mdx @@ -1,6 +1,6 @@ --- title: Installation -description: Install LocalStack with lstk, the LocalStack CLI, Docker, Docker Compose, or Helm. +description: Install LocalStack with lstk, Docker, Docker Compose, or Helm. template: doc sidebar: order: 2 @@ -13,9 +13,9 @@ import { LOCALSTACK_AWS_VERSION } from 'astro:env/server'; LocalStack provides multiple installation paths depending on your development environment and requirements. We recommend a CLI-based installation for the most consistent local startup experience. -Choose the CLI that fits your workflow: use [`lstk`](#lstk) to install, authenticate, and start LocalStack with minimal setup, or use the [LocalStack CLI](#localstack-cli) when you need full-featured management commands for advanced workflows. +Use [`lstk`](#lstk) to install, authenticate, and start LocalStack with minimal setup. -LocalStack for AWS features require an [Auth Token](/aws/getting-started/auth-token/) to activate your running instance. `lstk` handles authentication through a browser-based login flow, while the LocalStack CLI, Docker, and CI workflows can use `LOCALSTACK_AUTH_TOKEN`. +LocalStack for AWS features require an [Auth Token](/aws/getting-started/auth-token/) to activate your running instance. `lstk` handles authentication through a browser-based login flow, while Docker and CI workflows can use `LOCALSTACK_AUTH_TOKEN`. ## lstk @@ -23,9 +23,6 @@ LocalStack for AWS features require an [Auth Token](/aws/getting-started/auth-to **Requirement:** You must have a working [Docker installation](https://docs.docker.com/get-docker/) before proceeding. -:::caution[Early Release] -`lstk` currently supports core lifecycle commands: `start`, `stop`, `logs`, and `status`. For advanced features like Cloud Pods or Extensions, use the [LocalStack CLI](#localstack-cli). -::: ### Install lstk @@ -61,254 +58,10 @@ lstk update For more details, see the [lstk documentation](/aws/tooling/lstk/). -## LocalStack CLI - -The LocalStack CLI provides the full command set for managing LocalStack capabilities such as Cloud Pods, Extensions, and advanced state workflows. - -**Requirement:** You must have a working [Docker installation](https://docs.docker.com/get-docker/) before proceeding. - -### Install LocalStack CLI - - - - - - -You can download the pre-built binary for your architecture using the link below: - - - x86-64 - - - ARM64 - - -or use the curl commands below: - -For x86-64: - - - -For ARM64: - - - -Then extract the LocalStack CLI from the terminal: - - - -
-Alternative: Homebrew on Linux - -If you are using [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), you can install the LocalStack CLI directly from our official LocalStack tap: - -```bash -brew install localstack/tap/localstack-cli -``` - -
- -
- - - -You can install the LocalStack CLI using Brew directly from our official LocalStack tap: - -```bash -brew install localstack/tap/localstack-cli -``` - -
-Alternative: Binary Download - -You may download the binary for your architecture using the links below: - - - Intel (AMD64) - - - Apple Silicon (ARM64) - - -or use the curl commands below: - -For Intel (AMD64): - - - -For Apple Silicon (ARM64): - - - -Then extract the LocalStack CLI from the terminal: - - - -
-
- - - -You can download the pre-built binary for your architecture using the link below: - - - Intel (AMD64) - - -Then extract the archive and execute the binary in PowerShell. - - - - - -If you cannot use the binary releases of LocalStack, you can install the Python distribution. - -Please make sure to install the following before moving ahead: - -- [Python](https://docs.python.org/3/using/index.html) -- [pip](https://pip.pypa.io/en/stable/installation/) - -Next install the LocalStack CLI in your Python environment by running: - -```bash -python3 -m pip install --upgrade localstack -``` - -:::note -To download a specific version of LocalStack CLI, replace `` with the required version from [release page](https://github.com/localstack/localstack-cli/releases). -```bash -python3 -m pip install localstack== -``` -::: - -:::tip[macOS Sierra?] -If you have problems with permissions in macOS Sierra, install with: -```bash -python3 -m pip install --user localstack -``` -::: - -:::danger -Do not use `sudo` or the `root` user when starting LocalStack. -It should be installed and started entirely under a local non-root user. -::: - -
- -### Start LocalStack CLI - -To verify that the LocalStack CLI was installed correctly, you can check the version in your terminal: - -```bash -localstack --version -``` - - - -You are all set! - -:::note -To start LocalStack, you must first [set up your auth token](/aws/getting-started/auth-token). -::: - -Once you've set up your auth token, you can start LocalStack with the following command: - -```bash -localstack start # start localstack in background with -d flag -``` - -{/* prettier-ignore */} - - -### Update LocalStack CLI - -The LocalStack CLI allows you to easily update the different components of LocalStack. -To check the various options available for updating, run: - -```bash -localstack update --help -``` - -```bash -Usage: localstack update [OPTIONS] COMMAND [ARGS]... - - Update different LocalStack components. - -Options: - -h, --help Show this message and exit. - -Commands: - all Update all LocalStack components - docker-images Update docker images LocalStack depends on - localstack-cli Update LocalStack CLI -``` - -:::note -Updating the LocalStack CLI using `localstack update localstack-cli` and `localstack update all` will work only if it was installed from the Python distribution. -If it was installed using the pre-built binary or via Brew, please run the installation steps again to update to the latest version. -::: - -For more details, see the [LocalStack CLI documentation](/aws/tooling/localstack-cli/). - ## Container and orchestration tools Use these methods when you need explicit container configuration, want to run LocalStack alongside other services, or deploy LocalStack in CI and Kubernetes environments. -For everyday local development, `lstk` or the LocalStack CLI is usually simpler. +For everyday local development, `lstk` is usually simpler. ### Docker Compose @@ -386,43 +139,12 @@ Install the [official extension](https://hub.docker.com/extensions/localstack/lo ## Troubleshooting -#### The LocalStack CLI installation is successful, but I cannot execute `localstack` - -If you can successfully install LocalStack using `pip` but you cannot use it in your terminal, you most likely haven't set up your operating system's / terminal's `PATH` variable (in order to tell them where to find programs installed via `pip`). - -- If you are using Windows, you can enable the `PATH` configuration when installing Python, [as described in the official docs of Python](https://docs.python.org/3/using/windows.html#finding-the-python-executable). -- If you are using a macOS or Linux operating system, please make sure that the `PATH` is correctly set up - either system wide, or in your terminal. - -As a workaround you can call the LocalStack CLI python module directly: - -```bash -python3 -m localstack.cli.main -``` - -#### The `localstack` CLI does not start the LocalStack container - -If you are using the `localstack` CLI to start LocalStack, but the container is not starting, please check the following: - -- Uncheck the **Use kernel networking for UDP** option in Docker Desktop (**Settings** → **Resources** → **Network**) or follow the steps in our [documentation](/aws/tooling/dns-server#system-dns-configuration) to disable it. -- Start LocalStack with a specific DNS address: - -```bash -DNS_ADDRESS=0 localstack start -``` - -- Remove port 53 as indicated in our [standard `docker-compose.yml` file](https://github.com/localstack/localstack/blob/main/docker-compose-pro.yml). - #### How should I access the LocalStack logs on my local machine? You can now avail logging output and error reporting using LocalStack logs. To access the logs, run the following command: - -```bash -localstack logs -``` - ```bash lstk logs diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index 2f099b807..ec243b5b9 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -3,7 +3,7 @@ title: Local Development description: Deploy an AWS serverless API locally using Lambda and DynamoDB on LocalStack. template: doc sidebar: - order: 4 + order: 3 --- import { Code, Tabs, TabItem, Steps } from '@astrojs/starlight/components'; @@ -48,41 +48,8 @@ If you haven't installed LocalStack yet, follow the [installation guide](/aws/ge • Web app: https://app.localstack.cloud ``` - :::note[Early Release] - `lstk` currently supports core lifecycle commands (start, stop, logs, status). - To learn more about `lstk`, see the [lstk documentation](/aws/tooling/lstk/). - For advanced features such as Cloud Pods or Extensions, use the [LocalStack CLI](/aws/getting-started/installation/#localstack-cli). - ::: - - - - Start LocalStack: - - ```bash - localstack start - ``` - - When the container is ready, you'll see these log lines: - - {/* prettier-ignore */} - - + ## Step 2: Deploy the serverless API @@ -303,11 +270,7 @@ Stop your LocalStack container to remove all emulated resources. LocalStack is e lstk stop ``` - - ```bash - localstack stop - ``` - + {/* prettier-ignore-end */} From 44049cbb8130d9546ed5688103f2c8ac92eabd73 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Mon, 29 Jun 2026 09:15:05 -0400 Subject: [PATCH 39/45] Re-add install instructions for CLI --- .../{localstack-cli.md => localstack-cli.mdx} | 249 +++++++++++++++++- 1 file changed, 237 insertions(+), 12 deletions(-) rename src/content/docs/aws/tooling/{localstack-cli.md => localstack-cli.mdx} (85%) diff --git a/src/content/docs/aws/tooling/localstack-cli.md b/src/content/docs/aws/tooling/localstack-cli.mdx similarity index 85% rename from src/content/docs/aws/tooling/localstack-cli.md rename to src/content/docs/aws/tooling/localstack-cli.mdx index bff4e0835..ead3cc151 100644 --- a/src/content/docs/aws/tooling/localstack-cli.md +++ b/src/content/docs/aws/tooling/localstack-cli.mdx @@ -3,16 +3,245 @@ title: LocalStack CLI description: Reference guide for LocalStack CLI commands, options, and usage. template: doc sidebar: - order: 10 -tags: ["Hobby"] + order: 10 +tags: ['Hobby'] --- +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import { LinkButton, Code } from '@astrojs/starlight/components'; +import { LOCALSTACK_AWS_VERSION } from 'astro:env/server'; + ## Introduction The LocalStack Command Line Interface (CLI) is a tool for starting, managing, and configuring your LocalStack container. It provides convenience features to interact with LocalStack features like Cloud Pods, Extensions, State Management, and more. -To install the LocalStack CLI, follow the [installation guide](/aws/getting-started/installation/#install-localstack-cli). +## Installation + + + + + +You can download the pre-built binary for your architecture using the link below: + + + {' '} + x86-64 + + + ARM64 + + +or use the curl commands below: + +For x86-64: + + + +For ARM64: + + + +Then extract the LocalStack CLI from the terminal: + + + +
+Alternative: Homebrew on Linux + +If you are using [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), you can install the LocalStack CLI directly from our official LocalStack tap: + +```bash +brew install localstack/tap/localstack-cli +``` + +
+ +
+ + + +You can install the LocalStack CLI using Brew directly from our official LocalStack tap: + +```bash +brew install localstack/tap/localstack-cli +``` + +
+Alternative: Binary Download + +You may download the binary for your architecture using the link below: + + + {' '} + Intel (AMD64) + + +or use the following curl command: + + + +Then extract the LocalStack CLI from the terminal: + + + +
+
+ + + +You can download the pre-built binary for your architecture using the link below: + + + {' '} + Intel (AMD64) + + +Then extract the archive and execute the binary in Powershell. + + + + + +If you cannot use the binary releases of LocalStack, you can install the Python distribution. + +Please make sure to install the following before moving ahead: + +- [Python](https://docs.python.org/3/using/index.html) +- [pip](https://pip.pypa.io/en/stable/installation/) + +Next install the LocalStack CLI in your Python environment by running: + +```bash +python3 -m pip install --upgrade localstack +``` + +:::note +To download a specific version of LocalStack, replace `` with the required version from [changelog page](/aws/changelog). + +```bash +python3 -m pip install localstack== +``` + +::: + +:::tip[MacOS Sierra?] +If you have problems with permissions in MacOS X Sierra, install with: + +```bash +python3 -m pip install --user localstack +``` + +::: + +:::danger +Do not use `sudo` or the `root` user when starting LocalStack. +It should be installed and started entirely under a local non-root user. +::: + + +
+ +### Starting LocalStack + +To verify that the LocalStack CLI was installed correctly, you can check the version in your terminal: + + + +You are all set! + +:::note +To start LocalStack, you must first [set up your auth token](/aws/getting-started/auth-token). +::: + +Once you've set up your auth token, you can start LocalStack with the following command: + +```bash +localstack start # start localstack in background with -d flag +``` + +{/_ prettier-ignore _/} + + + +### Updating LocalStack CLI + +The LocalStack CLI allows you to easily update the different components of LocalStack. +To check the various options available for updating, run: + +```bash +localstack update --help +``` + +```bash +Usage: localstack update [OPTIONS] COMMAND [ARGS]... + + Update different LocalStack components. + +Options: + -h, --help Show this message and exit. + +Commands: + all Update all LocalStack components + docker-images Update docker images LocalStack depends on + localstack-cli Update LocalStack CLI +``` + +:::note +Updating the LocalStack CLI using `localstack update localstack-cli` and `localstack update all` will work only if it was installed from the Python distribution. +If it was installed using the pre-built binary or via Brew, please run the installation steps again to update to the latest version. +::: :::note This documentation was auto-generated from LocalStack CLI version `LocalStack CLI 2026.4.0`. @@ -22,12 +251,12 @@ This documentation was auto-generated from LocalStack CLI version `LocalStack CL The following global options are available for the `localstack` CLI: -| Option | Description | -|--------|-------------| -| `-v`, `--version` | Show the version and exit | -| `-d`, `--debug` | Enable CLI debugging mode | +| Option | Description | +| ---------------------- | ----------------------------- | +| `-v`, `--version` | Show the version and exit | +| `-d`, `--debug` | Enable CLI debugging mode | | `-p`, `--profile TEXT` | Set the configuration profile | -| `-h`, `--help` | Show help message and exit | +| `-h`, `--help` | Show help message and exit | ## Commands @@ -883,8 +1112,6 @@ Commands: #### `license activate` - - ```bash Usage: localstack license activate [OPTIONS] @@ -894,8 +1121,6 @@ Options: #### `license info` - - ```bash Usage: localstack license info [OPTIONS] From d83ceabeb489cefb8859d0d50fb9ec154c1567be Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Wed, 1 Jul 2026 16:17:38 -0400 Subject: [PATCH 40/45] Updates to getting started and associated pages 1. Rearranged the items on the index page to match the order in the nav (i.e. moved auth token) 2. Moved LocalStack CLI in the tooling section lower and marked it as deprecated (previously added the install instructions back to this page). 3. Changed the title of the lstk page to lstk CLI to make it clear the purpose as I was concerned folks looking for the CLI would gravitate to the old page. 4. Added details on the quick setup for AI (i.e. the landing page and agents.md) to the AI getting started page. 5. Added the install wizard instructions for the MCP to the getting started and the MCP page. --- astro.config.mjs | 10 +- .../docs/aws/getting-started/ai-workflows.mdx | 22 ++- .../docs/aws/getting-started/index.mdx | 17 +- .../docs/aws/tooling/localstack-cli.mdx | 7 +- src/content/docs/aws/tooling/mcp-server.mdx | 184 +++++++++--------- 5 files changed, 133 insertions(+), 107 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 30285f0cd..f5ef793be 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -554,16 +554,12 @@ export default defineConfig({ label: 'Overview', slug: 'aws/tooling', }, - { - label: 'LocalStack CLI', - slug: 'aws/tooling/localstack-cli', - }, { label: 'LocalStack MCP Server', slug: 'aws/tooling/mcp-server', }, { - label: 'lstk', + label: 'lstk CLI', slug: 'aws/tooling/lstk', }, { @@ -623,6 +619,10 @@ export default defineConfig({ label: 'LocalSurf', slug: 'aws/tooling/localsurf', }, + { + label: 'LocalStack CLI (deprecated)', + slug: 'aws/tooling/localstack-cli', + }, ], }, { diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index a8d48e040..f58bb7b37 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -27,16 +27,30 @@ There are three common ways to use LocalStack in AI-assisted development: You do not need all three approaches to get started. If your editor supports MCP, start with the LocalStack MCP Server. Or, you can use Skills if you want reusable agent instructions. If not, ask your assistant to generate Terraform, CDK, or AWS CLI steps and run them with LocalStack's local wrappers. +## Quick Setup + +LocalStack has provided an [`agents.md`](https://blog.localstack.cloud/ai/agents.md) file that provides the full instructions for your AI agent to get started with LocalStack, including how to configure the MCP server and LocalStack Skills. Details can be found at our [agents landing page](https://blog.localstack.cloud/ai/) or you can copy and paste the instructions below into your AI agent's prompt. + +```text +Fetch https://blog.localstack.cloud/ai/agents.md and follow the instructions to set up LocalStack on my machine. +``` + +For manual setup of the MCP server and skills, you can follow the steps below. + ## Connect an MCP client -The LocalStack MCP Server connects MCP-compatible clients to your LocalStack environment. Once configured, your AI assistant can use LocalStack tools to start the container, deploy infrastructure, run AWS CLI commands, inspect logs, manage state, and query resources. +The LocalStack MCP Server connects MCP-compatible clients to your LocalStack environment. Once configured, your AI assistant can use LocalStack tools to start the container, deploy infrastructure, run AWS CLI commands, inspect logs, manage state, and query resources. The quickest way to get started with the MCP server is to use the interactive setup wizard: + +```bash +npx -y @localstack/localstack-mcp-server init +``` + +The wizard detects your installed clients, asks how you want to run the server, and writes the configuration for you. You need a valid [Auth Token](/aws/getting-started/auth-token/) to configure the server. :::note -The MCP server runs locally and talks to your LocalStack instance. Your AI assistant is the MCP client. For setup instructions and the full tool reference, see the [LocalStack MCP Server guide](/aws/tooling/mcp-server/). +The MCP server runs locally and talks to a LocalStack instance. Your AI assistant is the MCP client. For detailed setup instructions and the full tool reference, see the [LocalStack MCP Server guide](/aws/tooling/mcp-server/). ::: -All MCP server tools require a valid [Auth Token](/aws/getting-started/auth-token/) configured as `LOCALSTACK_AUTH_TOKEN`. - ## Use agent skills [LocalStack Skills](https://github.com/localstack/skills) provide reusable instructions for AI agents working with LocalStack. They help agents follow LocalStack-specific conventions when creating infrastructure, deploying resources, running tests, and inspecting local cloud state. diff --git a/src/content/docs/aws/getting-started/index.mdx b/src/content/docs/aws/getting-started/index.mdx index 2d785e70b..f704be4c6 100644 --- a/src/content/docs/aws/getting-started/index.mdx +++ b/src/content/docs/aws/getting-started/index.mdx @@ -30,12 +30,6 @@ LocalStack also provides advanced features for team collaboration and security, 'Install LocalStack with lstk, Docker, Docker Compose, or Helm.', href: '/aws/getting-started/installation/', }, - { - title: 'Auth Token', - description: - 'Configure the Auth Token required to activate LocalStack and access licensed features.', - href: '/aws/getting-started/auth-token/', - }, { title: 'Local Development', description: @@ -55,11 +49,16 @@ LocalStack also provides advanced features for team collaboration and security, href: '/aws/getting-started/ai-workflows/', }, { - title: 'FAQ', + title: 'Auth Token', description: - 'Frequently asked questions about LocalStack for AWS.', + 'Configure the Auth Token required to activate LocalStack and access licensed features.', + href: '/aws/getting-started/auth-token/', + }, + { + title: 'FAQ', + description: 'Frequently asked questions about LocalStack for AWS.', href: '/aws/getting-started/faq/', - } + }, ]} client:load /> diff --git a/src/content/docs/aws/tooling/localstack-cli.mdx b/src/content/docs/aws/tooling/localstack-cli.mdx index ead3cc151..d66f3fb93 100644 --- a/src/content/docs/aws/tooling/localstack-cli.mdx +++ b/src/content/docs/aws/tooling/localstack-cli.mdx @@ -16,6 +16,11 @@ import { LOCALSTACK_AWS_VERSION } from 'astro:env/server'; The LocalStack Command Line Interface (CLI) is a tool for starting, managing, and configuring your LocalStack container. It provides convenience features to interact with LocalStack features like Cloud Pods, Extensions, State Management, and more. +:::caution +The LocalStack CLI is deprecated and will be removed in a future version. +Please use [lstk](/aws/tooling/lstk/) instead. +::: + ## Installation @@ -244,7 +249,7 @@ If it was installed using the pre-built binary or via Brew, please run the insta ::: :::note -This documentation was auto-generated from LocalStack CLI version `LocalStack CLI 2026.4.0`. +This documentation below was auto-generated from LocalStack CLI version `LocalStack CLI 2026.4.0`. ::: ## Global Options diff --git a/src/content/docs/aws/tooling/mcp-server.mdx b/src/content/docs/aws/tooling/mcp-server.mdx index 2f580c292..bcc905e8c 100644 --- a/src/content/docs/aws/tooling/mcp-server.mdx +++ b/src/content/docs/aws/tooling/mcp-server.mdx @@ -33,7 +33,15 @@ You must include it in the `env` block of your configuration. You can get your Auth Token from the [LocalStack Web App](https://app.localstack.cloud). ::: -Choose your MCP client below for setup instructions. +The quickest way to get started with the MCP server is to use the interactive setup wizard: + +```bash +npx -y @localstack/localstack-mcp-server init +``` + +The wizard detects your installed clients, asks how you want to run the server, and writes the configuration for you. You need a valid [Auth Token](/aws/getting-started/auth-token/) to configure the server. + +For manual setup of the MCP server, choose your MCP client below for setup instructions. @@ -171,10 +179,10 @@ Refer to your client's documentation for the exact location of its MCP configura By default the MCP server connects to `http://localhost:4566`. If your LocalStack instance runs on a different host or port, set the following environment variables in the `env` block: -| Variable | Default | Description | -|---|---|---| +| Variable | Default | Description | +| --------------------- | ----------- | ----------------------------------- | | `LOCALSTACK_HOSTNAME` | `localhost` | Hostname of the LocalStack instance | -| `LOCALSTACK_PORT` | `4566` | Port of the LocalStack instance | +| `LOCALSTACK_PORT` | `4566` | Port of the LocalStack instance | You can also pass any [LocalStack configuration variable](/aws/capabilities/config/configuration/) through the `env` block. These are forwarded to the container when the `localstack-management` tool starts it. @@ -204,11 +212,11 @@ Each tool runs pre-flight checks (verifying the CLI is available, the container Manage the LocalStack runtime lifecycle for both the AWS emulator and the Snowflake emulator. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `start` \| `stop` \| `restart` \| `status` | Yes | The operation to perform | -| `service` | `aws` \| `snowflake` | No | The stack to manage (default: `aws`) | -| `envVars` | `Record` | No | Extra environment variables passed on `start` | +| Parameter | Type | Required | Description | +| --------- | ------------------------------------------ | -------- | --------------------------------------------- | +| `action` | `start` \| `stop` \| `restart` \| `status` | Yes | The operation to perform | +| `service` | `aws` \| `snowflake` | No | The stack to manage (default: `aws`) | +| `envVars` | `Record` | No | Extra environment variables passed on `start` | **Example prompts:** @@ -220,17 +228,17 @@ Manage the LocalStack runtime lifecycle for both the AWS emulator and the Snowfl Deploy or destroy infrastructure on LocalStack using CDK, Terraform, SAM, or CloudFormation. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `deploy` \| `destroy` \| `create-stack` \| `delete-stack` | Yes | The deployment operation | -| `projectType` | `cdk` \| `terraform` \| `sam` \| `auto` | No | Framework to use (default: `auto`, detected from project files) | -| `directory` | `string` | Yes (for `deploy`/`destroy`) | Path to the project directory | -| `variables` | `Record` | No | Variables passed as Terraform `-var` flags, CDK `--context` values, or SAM `--parameter-overrides` | -| `stackName` | `string` | Yes (for `create-stack`/`delete-stack`) | CloudFormation/SAM stack name | -| `templatePath` | `string` | No | Path to a CloudFormation/SAM template | -| `s3Bucket` | `string` | No | S3 bucket for SAM deployments (if omitted, SAM uses `--resolve-s3`) | -| `resolveS3` | `boolean` | No | For SAM deployments, whether to use `--resolve-s3` when no `s3Bucket` is provided | -| `saveParams` | `boolean` | No | For SAM deployments, whether to persist resolved parameters to `samconfig.toml` | +| Parameter | Type | Required | Description | +| -------------- | --------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `action` | `deploy` \| `destroy` \| `create-stack` \| `delete-stack` | Yes | The deployment operation | +| `projectType` | `cdk` \| `terraform` \| `sam` \| `auto` | No | Framework to use (default: `auto`, detected from project files) | +| `directory` | `string` | Yes (for `deploy`/`destroy`) | Path to the project directory | +| `variables` | `Record` | No | Variables passed as Terraform `-var` flags, CDK `--context` values, or SAM `--parameter-overrides` | +| `stackName` | `string` | Yes (for `create-stack`/`delete-stack`) | CloudFormation/SAM stack name | +| `templatePath` | `string` | No | Path to a CloudFormation/SAM template | +| `s3Bucket` | `string` | No | S3 bucket for SAM deployments (if omitted, SAM uses `--resolve-s3`) | +| `resolveS3` | `boolean` | No | For SAM deployments, whether to use `--resolve-s3` when no `s3Bucket` is provided | +| `saveParams` | `boolean` | No | For SAM deployments, whether to persist resolved parameters to `samconfig.toml` | **Example prompts:** @@ -248,13 +256,13 @@ The `create-stack` and `delete-stack` actions run `awslocal` inside the LocalSta Analyze LocalStack logs to find errors, summarize API activity, or inspect raw output. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `analysisType` | `summary` \| `errors` \| `requests` \| `logs` | No | Type of analysis (default: `summary`) | -| `lines` | `number` | No | Number of log lines to fetch (default: `2000`) | -| `service` | `string` | No | Filter by AWS service name | -| `operation` | `string` | No | Filter by API operation (used with `service` in `requests` mode) | -| `filter` | `string` | No | Keyword filter (used with `logs` mode only) | +| Parameter | Type | Required | Description | +| -------------- | --------------------------------------------- | -------- | ---------------------------------------------------------------- | +| `analysisType` | `summary` \| `errors` \| `requests` \| `logs` | No | Type of analysis (default: `summary`) | +| `lines` | `number` | No | Number of log lines to fetch (default: `2000`) | +| `service` | `string` | No | Filter by AWS service name | +| `operation` | `string` | No | Filter by API operation (used with `service` in `requests` mode) | +| `filter` | `string` | No | Keyword filter (used with `logs` mode only) | **Example prompts:** @@ -266,10 +274,10 @@ Analyze LocalStack logs to find errors, summarize API activity, or inspect raw o Configure IAM enforcement and generate IAM policies from access denials in the logs. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `set-mode` \| `analyze-policies` \| `get-status` | Yes | The operation to perform | -| `mode` | `ENFORCED` \| `SOFT_MODE` \| `DISABLED` | Yes (for `set-mode`) | IAM enforcement level | +| Parameter | Type | Required | Description | +| --------- | ------------------------------------------------ | -------------------- | ------------------------ | +| `action` | `set-mode` \| `analyze-policies` \| `get-status` | Yes | The operation to perform | +| `mode` | `ENFORCED` \| `SOFT_MODE` \| `DISABLED` | Yes (for `set-mode`) | IAM enforcement level | **Example prompts:** @@ -281,21 +289,21 @@ Configure IAM enforcement and generate IAM policies from access denials in the l Inject faults and network latency into LocalStack services to test application resilience. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `inject-faults` \| `add-fault-rule` \| `remove-fault-rule` \| `get-faults` \| `clear-all-faults` \| `inject-latency` \| `get-latency` \| `clear-latency` | Yes | The chaos operation | -| `rules` | `Array` | Yes (for `inject-faults`, `add-fault-rule`, `remove-fault-rule`) | Fault rules to inject/modify | -| `latency_ms` | `number` | Yes (for `inject-latency`) | Latency in milliseconds to add to all requests | +| Parameter | Type | Required | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------- | +| `action` | `inject-faults` \| `add-fault-rule` \| `remove-fault-rule` \| `get-faults` \| `clear-all-faults` \| `inject-latency` \| `get-latency` \| `clear-latency` | Yes | The chaos operation | +| `rules` | `Array` | Yes (for `inject-faults`, `add-fault-rule`, `remove-fault-rule`) | Fault rules to inject/modify | +| `latency_ms` | `number` | Yes (for `inject-latency`) | Latency in milliseconds to add to all requests | Each **fault rule** can include: -| Field | Type | Description | -|---|---|---| -| `service` | `string` | Target AWS service (e.g., `s3`, `lambda`) | -| `region` | `string` | Target region (e.g., `us-east-1`) | -| `operation` | `string` | Target API operation (e.g., `PutObject`) | -| `probability` | `number` (0-1) | Probability of the fault triggering | -| `error` | `{ statusCode?: number, code?: string }` | Error response to return | +| Field | Type | Description | +| ------------- | ---------------------------------------- | ----------------------------------------- | +| `service` | `string` | Target AWS service (e.g., `s3`, `lambda`) | +| `region` | `string` | Target region (e.g., `us-east-1`) | +| `operation` | `string` | Target API operation (e.g., `PutObject`) | +| `probability` | `number` (0-1) | Probability of the fault triggering | +| `error` | `{ statusCode?: number, code?: string }` | Error response to return | **Example prompts:** @@ -307,10 +315,10 @@ Each **fault rule** can include: Save, load, and manage LocalStack state snapshots using [Cloud Pods](/aws/capabilities/state-management/cloud-pods/). -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `save` \| `load` \| `delete` \| `reset` | Yes | The state management operation | -| `pod_name` | `string` | Yes (for `save`/`load`/`delete`) | Name of the Cloud Pod (alphanumeric, dots, hyphens, underscores; max 128 characters) | +| Parameter | Type | Required | Description | +| ---------- | --------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------ | +| `action` | `save` \| `load` \| `delete` \| `reset` | Yes | The state management operation | +| `pod_name` | `string` | Yes (for `save`/`load`/`delete`) | Name of the Cloud Pod (alphanumeric, dots, hyphens, underscores; max 128 characters) | **Example prompts:** @@ -322,9 +330,9 @@ Save, load, and manage LocalStack state snapshots using [Cloud Pods](/aws/capabi Execute AWS CLI commands inside the running LocalStack container via `awslocal`. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `command` | `string` | Yes | The AWS CLI command to run (without the `aws` or `awslocal` prefix) | +| Parameter | Type | Required | Description | +| --------- | -------- | -------- | ------------------------------------------------------------------- | +| `command` | `string` | Yes | The AWS CLI command to run (without the `aws` or `awslocal` prefix) | **Example prompts:** @@ -339,11 +347,11 @@ If a command fails due to a service not being emulated, the tool returns a link Install, uninstall, list, and discover [LocalStack Extensions](/aws/tooling/extensions/) from the marketplace. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `list` \| `install` \| `uninstall` \| `available` | Yes | The extensions operation | -| `name` | `string` | Yes (for `install`/`uninstall`) | Extension package name (e.g., `localstack-extension-typedb`) | -| `source` | `string` | No | Git URL to install from (alternative to `name`) | +| Parameter | Type | Required | Description | +| --------- | ------------------------------------------------- | ------------------------------- | ------------------------------------------------------------ | +| `action` | `list` \| `install` \| `uninstall` \| `available` | Yes | The extensions operation | +| `name` | `string` | Yes (for `install`/`uninstall`) | Extension package name (e.g., `localstack-extension-typedb`) | +| `source` | `string` | No | Git URL to install from (alternative to `name`) | **Example prompts:** @@ -360,14 +368,14 @@ After installing or uninstalling an extension, the tool automatically restarts L Manage cloud-hosted [Ephemeral Instances](/aws/capabilities/cloud-sandbox/ephemeral-instances/) for remote LocalStack testing workflows. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `create` \| `list` \| `logs` \| `delete` | Yes | The ephemeral instance operation | -| `name` | `string` | Yes (for `create`/`logs`/`delete`) | Instance name | -| `lifetime` | `number` | No | Lifetime in minutes for the instance (only for `create`) | -| `extension` | `string` | No | Extension package to preload on the instance (only for `create`) | -| `cloudPod` | `string` | No | Cloud Pod name to initialize state from (only for `create`) | -| `envVars` | `Record` | No | Extra environment variables for the instance (only for `create`) | +| Parameter | Type | Required | Description | +| ----------- | ---------------------------------------- | ---------------------------------- | ---------------------------------------------------------------- | +| `action` | `create` \| `list` \| `logs` \| `delete` | Yes | The ephemeral instance operation | +| `name` | `string` | Yes (for `create`/`logs`/`delete`) | Instance name | +| `lifetime` | `number` | No | Lifetime in minutes for the instance (only for `create`) | +| `extension` | `string` | No | Extension package to preload on the instance (only for `create`) | +| `cloudPod` | `string` | No | Cloud Pod name to initialize state from (only for `create`) | +| `envVars` | `Record` | No | Extra environment variables for the instance (only for `create`) | **Example prompts:** @@ -380,10 +388,10 @@ Manage cloud-hosted [Ephemeral Instances](/aws/capabilities/cloud-sandbox/epheme Search the LocalStack documentation to find guides, API references, and configuration details. -| Parameter | Type | Required | Description | -|---|---|---|---| -| `query` | `string` | Yes | The search query | -| `limit` | `number` | No | Maximum number of results to return (default: `5`, max: `10`) | +| Parameter | Type | Required | Description | +| --------- | -------- | -------- | ------------------------------------------------------------- | +| `query` | `string` | Yes | The search query | +| `limit` | `number` | No | Maximum number of results to return (default: `5`, max: `10`) | **Example prompts:** @@ -394,15 +402,15 @@ Search the LocalStack documentation to find guides, API references, and configur Execute SQL queries and commands against the [LocalStack Snowflake emulator](/snowflake/) using the Snowflake CLI (`snow`). -| Parameter | Type | Required | Description | -|---|---|---|---| -| `action` | `execute` \| `check-connection` | Yes | The operation to perform | -| `query` | `string` | Yes (for `execute`, if `file_path` not provided) | SQL query to execute | -| `file_path` | `string` | Yes (for `execute`, if `query` not provided) | Absolute path to a `.sql` file to execute | -| `database` | `string` | No | Snowflake database context | -| `schema` | `string` | No | Snowflake schema context | -| `warehouse` | `string` | No | Snowflake warehouse to use | -| `role` | `string` | No | Snowflake role to use | +| Parameter | Type | Required | Description | +| ----------- | ------------------------------- | ------------------------------------------------ | ----------------------------------------- | +| `action` | `execute` \| `check-connection` | Yes | The operation to perform | +| `query` | `string` | Yes (for `execute`, if `file_path` not provided) | SQL query to execute | +| `file_path` | `string` | Yes (for `execute`, if `query` not provided) | Absolute path to a `.sql` file to execute | +| `database` | `string` | No | Snowflake database context | +| `schema` | `string` | No | Snowflake schema context | +| `warehouse` | `string` | No | Snowflake warehouse to use | +| `role` | `string` | No | Snowflake role to use | **Example prompts:** @@ -421,31 +429,31 @@ Once your MCP client is configured, verify the setup by opening a conversation w **1. Start LocalStack** -> *"Start my LocalStack container."* +> _"Start my LocalStack container."_ The agent uses the `localstack-management` tool to start the container and confirms the status. **2. Deploy infrastructure** -> *"Deploy my CDK project in the `./my-app` directory."* +> _"Deploy my CDK project in the `./my-app` directory."_ The agent detects the framework, runs `cdklocal bootstrap` and `cdklocal deploy`, and returns the stack outputs. **3. Verify resources** -> *"List the Lambda functions and DynamoDB tables that were created."* +> _"List the Lambda functions and DynamoDB tables that were created."_ The agent runs `awslocal` commands inside the container and returns the results. **4. Analyze logs** -> *"Check the LocalStack logs for any errors."* +> _"Check the LocalStack logs for any errors."_ The agent fetches recent logs and highlights any errors or warnings. **5. Save state** -> *"Save a Cloud Pod named `my-checkpoint`."* +> _"Save a Cloud Pod named `my-checkpoint`."_ The agent persists the current LocalStack state so you can restore it later. @@ -453,13 +461,13 @@ The agent persists the current LocalStack state so you can restore it later. The following environment variables can be set in the `env` block of your MCP configuration: -| Variable | Default | Description | -|---|---|---| -| `LOCALSTACK_AUTH_TOKEN` (**required**) | None | Your LocalStack Auth Token. Required for all MCP server tools. | -| `LOCALSTACK_HOSTNAME` | `localhost` | Hostname of the LocalStack instance | -| `LOCALSTACK_PORT` | `4566` | Port of the LocalStack instance | -| `MAIN_CONTAINER_NAME` | `localstack-main` | Name of the LocalStack Docker container | -| `MCP_ANALYTICS_DISABLED` | `0` | Set to `1` to disable MCP analytics | +| Variable | Default | Description | +| -------------------------------------- | ----------------- | -------------------------------------------------------------- | +| `LOCALSTACK_AUTH_TOKEN` (**required**) | None | Your LocalStack Auth Token. Required for all MCP server tools. | +| `LOCALSTACK_HOSTNAME` | `localhost` | Hostname of the LocalStack instance | +| `LOCALSTACK_PORT` | `4566` | Port of the LocalStack instance | +| `MAIN_CONTAINER_NAME` | `localstack-main` | Name of the LocalStack Docker container | +| `MCP_ANALYTICS_DISABLED` | `0` | Set to `1` to disable MCP analytics | Any [LocalStack configuration variable](/aws/capabilities/config/configuration/) can also be passed through the `env` block. These are forwarded to the container when the `localstack-management` tool starts it. From 382a0b4cb5e86f4d907e3e4937daf0d249522e2a Mon Sep 17 00:00:00 2001 From: Quetzalli Date: Mon, 6 Jul 2026 12:10:31 +0200 Subject: [PATCH 41/45] (fix) apply DRY principle to remove duplicate content from MCP section, while retaining core value --- src/content/docs/aws/getting-started/ai-workflows.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/content/docs/aws/getting-started/ai-workflows.mdx b/src/content/docs/aws/getting-started/ai-workflows.mdx index f58bb7b37..091267b3c 100644 --- a/src/content/docs/aws/getting-started/ai-workflows.mdx +++ b/src/content/docs/aws/getting-started/ai-workflows.mdx @@ -39,16 +39,18 @@ For manual setup of the MCP server and skills, you can follow the steps below. ## Connect an MCP client -The LocalStack MCP Server connects MCP-compatible clients to your LocalStack environment. Once configured, your AI assistant can use LocalStack tools to start the container, deploy infrastructure, run AWS CLI commands, inspect logs, manage state, and query resources. The quickest way to get started with the MCP server is to use the interactive setup wizard: +The LocalStack MCP Server connects MCP-compatible clients to your LocalStack environment. Once configured, your AI assistant can use LocalStack tools to start the container, deploy infrastructure, run AWS CLI commands, inspect logs, manage state, and query resources. + +Start the MCP server with an interactive setup wizard: ```bash npx -y @localstack/localstack-mcp-server init ``` -The wizard detects your installed clients, asks how you want to run the server, and writes the configuration for you. You need a valid [Auth Token](/aws/getting-started/auth-token/) to configure the server. - :::note -The MCP server runs locally and talks to a LocalStack instance. Your AI assistant is the MCP client. For detailed setup instructions and the full tool reference, see the [LocalStack MCP Server guide](/aws/tooling/mcp-server/). +The MCP server runs locally and talks to a LocalStack instance. Your AI assistant is the MCP client. For full installation instructions, detailed setup, and the full tool reference, see the [LocalStack MCP Server guide](/aws/tooling/mcp-server/). + +You need a valid [Auth Token](/aws/getting-started/auth-token/) to configure the server. ::: ## Use agent skills From 5123a9ee19c7eee485e1c22974d50cea779ce3d1 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Fri, 10 Jul 2026 14:06:44 -0400 Subject: [PATCH 42/45] Adding a quick start The local development quick start builds upon the getting started steps, which required some updates to those steps. This is not complete yet. --- astro.config.mjs | 23 +- public/images/aws/lambda-resource-browser.jpg | Bin 0 -> 154215 bytes .../images/aws/running-instance-sidebar.jpg | Bin 0 -> 13186 bytes public/images/aws/stack-overview.jpg | Bin 0 -> 79185 bytes .../aws/getting-started/local-development.mdx | 90 +++--- .../quickstart-library/local-development.mdx | 285 ++++++++++++++++++ .../docs/aws/quickstart-library/overview.mdx | 7 + 7 files changed, 351 insertions(+), 54 deletions(-) create mode 100644 public/images/aws/lambda-resource-browser.jpg create mode 100644 public/images/aws/running-instance-sidebar.jpg create mode 100644 public/images/aws/stack-overview.jpg create mode 100644 src/content/docs/aws/quickstart-library/local-development.mdx create mode 100644 src/content/docs/aws/quickstart-library/overview.mdx diff --git a/astro.config.mjs b/astro.config.mjs index 6095951a4..8489981e8 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -389,6 +389,13 @@ export default defineConfig({ collapsed: true, items: [{ autogenerate: { directory: '/aws/getting-started' } }], }, + { + label: 'Quick Starts', + collapsed: true, + items: [ + { autogenerate: { directory: '/aws/quickstart-library' } }, + ], + }, { label: 'Local AWS Services', slug: 'aws/services', @@ -604,7 +611,8 @@ export default defineConfig({ items: [ { autogenerate: { - directory: '/aws/customization/integrations/extensions', + directory: + '/aws/customization/integrations/extensions', }, }, { @@ -619,7 +627,8 @@ export default defineConfig({ items: [ { autogenerate: { - directory: '/aws/customization/integrations/localstack-sdks', + directory: + '/aws/customization/integrations/localstack-sdks', }, }, ], @@ -630,7 +639,8 @@ export default defineConfig({ items: [ { autogenerate: { - directory: '/aws/customization/integrations/app-frameworks', + directory: + '/aws/customization/integrations/app-frameworks', }, }, ], @@ -641,7 +651,8 @@ export default defineConfig({ items: [ { autogenerate: { - directory: '/aws/customization/integrations/testing', + directory: + '/aws/customization/integrations/testing', }, }, ], @@ -731,7 +742,9 @@ export default defineConfig({ collapsed: true, items: [ { - autogenerate: { directory: '/aws/organizations-admin/sso' }, + autogenerate: { + directory: '/aws/organizations-admin/sso', + }, }, ], }, diff --git a/public/images/aws/lambda-resource-browser.jpg b/public/images/aws/lambda-resource-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58784dd07f622d45ac2c7746fd92de4fafc2af87 GIT binary patch literal 154215 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
dP_ciD4h))5(Bzy6 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

%hqJB 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

4?6M(uM2JBF;Zzl6dx}ut0Av}h0jxvG--^e1Q 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 literal 0 HcmV?d00001 diff --git a/public/images/aws/stack-overview.jpg b/public/images/aws/stack-overview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ff1e52e2a7af37f763e7e54dff0ee62a611394d GIT binary patch literal 79185 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

WE}i_b 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 W_S@Qz8k6YOP;2`6Pd}LUhW`!Y!bWod literal 0 HcmV?d00001 diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index a6b02fed7..dd0920c7d 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -66,8 +66,10 @@ These tools automatically route AWS API calls to your LocalStack container, so y def handler(event, context): table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + # Function URL POST, or direct invoke (e.g. Resource Browser) with a message + if method == 'POST' or 'message' in event: + data = json.loads(event.get('body', '{}')) if method == 'POST' else event + item = {'id': str(uuid.uuid4()), **data} table.put_item(Item=item) return {'statusCode': 200, 'body': json.dumps(item)} result = table.scan() @@ -152,8 +154,10 @@ These tools automatically route AWS API calls to your LocalStack container, so y def handler(event, context): table = boto3.resource('dynamodb').Table(os.environ['TABLE_NAME']) method = event.get('requestContext', {}).get('http', {}).get('method', 'GET') - if method == 'POST': - item = {'id': str(uuid.uuid4()), **json.loads(event.get('body', '{}'))} + # Function URL POST, or direct invoke (e.g. Resource Browser) with a message + if method == 'POST' or 'message' in event: + data = json.loads(event.get('body', '{}')) if method == 'POST' else event + item = {'id': str(uuid.uuid4()), **data} table.put_item(Item=item) return {'statusCode': 200, 'body': json.dumps(item)} result = table.scan() diff --git a/src/content/docs/aws/quickstart-library/local-development.mdx b/src/content/docs/aws/quickstart-library/local-development.mdx index 3d60880b3..541f6c189 100644 --- a/src/content/docs/aws/quickstart-library/local-development.mdx +++ b/src/content/docs/aws/quickstart-library/local-development.mdx @@ -106,41 +106,31 @@ Many supported services in LocalStack for AWS come with a resource browse that a "message": "Checked out from the Resource Browser" } ``` -4. Click **Submit** to trigger the function. +4. Click **Submit** to trigger the function. You will see the function invoked and the response returned. The log result of the response should look like this: - - -![Lambda Resource Browser showing the list of deployed functions](/images/aws/lambda-resource-browser.png) - -{/* Screenshot needed: the `messages-api` function detail page in the Resource Browser, showing its ARN, runtime, handler, and environment variables. */} - -Now trigger the function the same way you did in the tutorial. If you're in a new terminal session, re-fetch the function URL first: - -```bash -LAMBDA_URL=$(awslocal lambda list-function-url-configs \ - --function-name messages-api \ - --query 'FunctionUrlConfigs[0].FunctionUrl' \ - --output text) + ```json title="Output" + { + "statusCode": 200, + "body": { + "id": "faa4dc54-f0b7-4b6b-9e52-39702af78d73", + "message": "Checked out from the Resource Browser" + } + } + ``` -curl -X POST "$LAMBDA_URL" \ - -H "Content-Type: application/json" \ - -d '{"message": "Checked out from the Resource Browser"}' -``` + With the Lambda invoked, switch to the DynamoDB side to see what it wrote: -1. Back in the Resource Browser, go to **Database** > **DynamoDB** > **Tables**, and click `Messages`. -2. Click the **Items** button to view the table's contents. You can switch between **scan** and **query** mode from here. +1. Back in the [**Status** tab](https://app.localstack.cloud/inst/default/status) and click on **DynamoDB** and then, fromthe **Tables** tab, click the `Messages` table. This will open the table details page where you can view the table's details including the table name, key schema, and the number of items in the table. +2. Click the **Items** tab to view the table's contents. You should see the message you posted during the tutorial _and_ the new one you just sent. + ![DynamoDB Resource Browser showing the Items list](/images/aws/dynamodb-resource-browser.jpg) -![DynamoDB Resource Browser showing the Tables list](/images/aws/dynamodb-resource-browser.png) - -{/* Screenshot needed: the Items view for the `Messages` table, showing both the message posted during the tutorial and the new one just added. */} - -**Expected result:** the Items view lists the message you posted during the tutorial _and_ the new one you just sent — proof that the Lambda function is writing to the table you're looking at, in real time. +**Expected result:** the Items view for the DynamoDB "Messages" table lists the message you posted during the tutorial _and_ the new one you just sent confirming that the Lambda function is writing to the table. :::tip If the table doesn't appear, check the **region** dropdown in the top-right corner of the Resource Browser. It must match the region your resources were created in (`us-east-1` by default in the tutorial). From 7192f014171e7e0697810cb0b308e28c155fe6a9 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Mon, 13 Jul 2026 14:40:37 -0400 Subject: [PATCH 44/45] Updating the quick start Finessing the steps and adding necessary screenshots. --- .../images/aws/app-inspector-operations.jpg | Bin 0 -> 61681 bytes .../images/aws/export-cloud-pod-web-app.jpg | Bin 0 -> 106758 bytes public/images/aws/load-state-from-pod.jpg | Bin 0 -> 120682 bytes public/images/aws/verify-cloud-pod-save.jpg | Bin 0 -> 84204 bytes .../quickstart-library/local-development.mdx | 88 ++++++++---------- 5 files changed, 41 insertions(+), 47 deletions(-) create mode 100644 public/images/aws/app-inspector-operations.jpg create mode 100644 public/images/aws/export-cloud-pod-web-app.jpg create mode 100644 public/images/aws/load-state-from-pod.jpg create mode 100644 public/images/aws/verify-cloud-pod-save.jpg diff --git a/public/images/aws/app-inspector-operations.jpg b/public/images/aws/app-inspector-operations.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2820d1e8e5bfe60acbab9f1ba543a5e6a847a3e GIT binary patch literal 61681 zcmeFZ2Ut^WvnU!m2uPLQL5lR=L3;1KDG)j&^nie%qV(RYAXR!#fKZg)rMD2I3j#qv zDS~q1f9`(%|Lncbea_u`-{<-7zTYHkt;wu;=bg;^uE|>S&g5?SZUaE7t*)gGz`(!& zXrf<$yDdx_EftlghQzwxU8ya7Id zX8=EdJHQp-1_%JK0F=-aAAlFY8I5ZJzyKgX0KkXFMF2wRP2!K8(QVQ2cl-UF=3N2+ zNc{i+uu}d`bIb(*U~d2bn$^G4IEn!PlGgwL^plT+pTpn8{n=q$VEem>iu~;}29YuV zfU|ygcg_g_;H3iqzf$h*Zc6U%ewCu-qiys7e1`z2{Fx{JDflDgKPBK#9tJ*@dFDL9gLE=-v)Q=?3QB5IRtXFLtn8+?B{pFt$UPd4hYqyt zoFcwKuy3N0(#l3}DxoUImcj29PtkH2&^`X?_V4`ya0#&S@Ud|Is3k)7=PUpN8v_di z4-4myW@u(?99%pyatc;_$_H#zG{Q>e6^jo=l#R@M%jWM^0Yq5nHe^_207byf$m4%{ zP&zM-z6JWp-3)G-we>YE&pl5Yb$w>w8EnA4N(LFlqObUHD&TxdKV6|^mCsQ;y_YM$_kXh}j>!SCSeLdVBWqC#t${|D`%Chg@EOhv= z5Ocm5>Fx^oNPn3i0+G*wNZK-lZ+5R*Ci<4seT`fq{=7bUM)lbl@%}Z69OK~!Lt??x zDOIZD9~VN0bzhzJ7Smq*Y^>16Ps&JR4oNNRgR=V8>?Ivb)Yarm*5I29o+^F&IVo+g zPCS_3(tqw%$?7&UAO48u*Vv(=$;|45W-;0zVm^Q{OL=m4;DnQ}g$R||stL9b>k#eMgXNB$TGHL7a$AQt|v$NTRc3IA0yn%Q0{QZut=@__^-T#Y;fpSqL&w#Y1AI`?%7Zl<&juRnanLzQo}Z`sREO zg1JS5k{{izXWuT>Uo$zez{%A36CWC;2j$E%G-Ods`+pI?A6ovR*4H&oG8zgRZ`~*` zgWJlBkJaOMkP8TK{6cc4QFxXggBzoZAd{^wE?=wZKew+>7>?#4S72s)c~9Gp8VrY= z4IX^HU;B_VPx-9k=+sLDnEdd9C7nB$i?cyXS?gq_Zg{8ul|AF8h93QDshuXB{lc_x zrkTeIxgPjQi<(1ITH-vYhdR;*>}ZtV^xg|_CAHn(jHt4#bHItBUeZ=wyYDg{4<(Y} z3ALk3q!B%L`YeCZ!F>6>S{Va)mtI2%Ku8!?rXypuyU{O!Pc|Qo75I(*}zED9Pwz&gKg^4 z2{v|)PP^iXSA)Y;yckSr=Ib#9345^B&)#m2DatfI`|3&XNpytlcJdM{AchkcS1$>+ zNV1^HfG*=@AHHp3p(o~!5M34B1JQ1JIv}gc^6-h$vT#E0%al$ZGYd^E?|pC0n=fAc zhv4{mN#c&I;L@uQr53Zvu5nmk6kvC6=zU^ud{4T&juE*`!-{8Z@KHS?G-aBrwyPJE zUOePPq$L(wKBS*-73lJ##zAK7{%;BYHY>H9CtH$Om;-6qhBhlaIaZ#P$9BDMRs?oP z@{?}icoH$l9_Rej+Skn;VJmnL&(;tAh0otkuUP7iiKf15;)}e;@AO?Fhz3g}mciS7 zGHMSf;;TpelHai(LHyRLS=D5(f!`Xk0?!Y4QW1Z_Z#N4McwP9P_UHe_0&r7;Q^8fx zF{ny=_t5NdjXMJ~Q<`Toe-{iin4PO_VV9F74)VnAu8D9hBtEusMnS4@-ne521zZ+tLg6XJDESFEy_*TZc3DN<1quW z;q_mrz(#F2?Ax;sa_XvDd zb)!c(?Z+wvS=8z6E;v>8Ce$(mEAyy20a%e0wR<^L48j{S;+bU@k?dR-aUf!F(E*V= zamN*2MB)+)V=UCS4{7A)h?AH<<{|WZRQH&2w!_YUR*fLCYMkpQBZC#ZP(AyB*~TZ7 z!t*w{=uOzhn?wlwVc)DCDsD`c-klULhH0Q+ciD7a7bD-RYtMe2*N$9jQn9L&$X9q# z!}9Ccgjb8gRwY=ionu;|@YXcqMqKjX4senF_6~3bVpTe~#(h9BqJ9V1FCMJez}03? z@?CU&w9lFa{Y(V;DU9E5{33|4rMujm(Qshjp^OK-6`zP&^HjUfZ`Wc5`AXajV;J;p zplP6OpU-j6si#l7a*g88qTPCtY4q?t`#uAH*pLP_K5=~fiAxr+jJS*b8lwTfM=;2y zRV?g!s`V)`*PxXQ1uUl_%0(eiVMQ<&JQauXrolw8bGI9}M?}EGbH??_!|(fC5R#;J zLAQ3Wk#_(mWNm6&pUdv#cIl)P)oo1kQKa*QU512NlAM0mv*VL{cCckQ#WfzY4en=Y z_!|j0TcnU@PT<%(AaQx8$Nr%PW%ug?jzkRT=}LU2Mpe7`@gY%bE2DxXNp4@T&z1JL zW;zc3>YO0i#3362%O|6`bUt=MOl=3UxqC(9!u0p$-)u~dCw)3$lnAUbSEcQiw%9us z6*xc?A3KFJji&Pl{O6f;X#Ae^y({V<~c45guzG3%R(f6iX z=eKf-@GKR~aC^)giR?w@-49;524o+Pa|TN>erx!4GL#$s-WD3Zs1uEcG1zW(^IY<= zAjFisXZd=p^jq5InNP^N{v(cWRcQ<2_jHYITx$q#JFt?Q7*BM~m4$$06)1G@tuL))?7K9pLH%>eF+2H`@5vVg5bcGF4c zvq;%vwKyCWw_nHI%A>vbf(6d6-#U>{CS&KAAC`d1&#o+9$B4FYhpXZ%s5lQyGuZIQ zIj#ni8xPbqi*QeFLA2z$zUJYJ6~6Xx$u{kDMXixEvTiTq+YcC4@C^~tOg5gDYCxMu zUtAE?POs!s@ga;raCHzp0_M=-Np-x^u_h|E zwdSAw?n1j+)`KU5l`QwxW2UL~bFpu{eL0Yju(;+Pqx8Gfd)E8MbpqaVjz78uZD)(~ zXo;9q8EQiwbGT3AsrL|h(Pr^$MT;=x+tg|iJQ6;xIf_YS8~e5Aoda)rRs)6A!+bq< zYcglv2aKlNa+RbdlQDL=Oy^{K5ka)#Bq|j?is-?gypC~UosW7dI^wS_fZcy|`s2tZ zTs&ayW7Di8GL7M^^amMFF^uH-u)c~DEVk(}Ek*yF553T;7X`5cv7eL3mF5dFdpcm4 zlhk301AZ5`L)m=+{4$A5Zzi|xISmgCqff6@^-UQ9qQp5c&Dw_4FqyFJT0Xj9le>l-YHVwY`%G?o z!uX_G{1yU@-dpHF4q!u)r?M56T*NK@FX_k}Uag4_k!D?fgOeZAHS the5e&pCLf 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 literal 0 HcmV?d00001 diff --git a/public/images/aws/export-cloud-pod-web-app.jpg b/public/images/aws/export-cloud-pod-web-app.jpg new file mode 100644 index 0000000000000000000000000000000000000000..daaa8277c325ef9156945a631e5684b14b80b2e3 GIT binary patch literal 106758 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 Zf#%HdldhHH6VtbUWWoP!_VfQ7{~r_=5r+T( literal 0 HcmV?d00001 diff --git a/public/images/aws/load-state-from-pod.jpg b/public/images/aws/load-state-from-pod.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4453bf53c50493ae168be9b7063fef937a19a3cb GIT binary patch literal 120682 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 I=BxSt07%G9=>Px# literal 0 HcmV?d00001 diff --git a/src/content/docs/aws/quickstart-library/local-development.mdx b/src/content/docs/aws/quickstart-library/local-development.mdx index 541f6c189..0af41e69b 100644 --- a/src/content/docs/aws/quickstart-library/local-development.mdx +++ b/src/content/docs/aws/quickstart-library/local-development.mdx @@ -138,82 +138,69 @@ If the table doesn't appear, check the **region** dropdown in the top-right corn ### Step 4: Save and restore state with Cloud Pods -[Cloud Pods](/aws/developer-tools/snapshots/cloud-pods/) let you snapshot your entire LocalStack state — resources _and_ their data — and bring it back later, even after the container has been stopped and restarted. Try this by saving your current app, wiping it, and restoring it. +[Cloud Pods](/aws/developer-tools/snapshots/cloud-pods/) let you snapshot your entire LocalStack state, including resources _and_ their data, and restore it later or share it with your team. You can save a Cloud Pod and view saved pods using the web application or CLI. Try this by saving your current app, wiping it, and restoring it via the web application. -1. Save the current state as a Cloud Pod: - - ```bash - lstk snapshot save pod:messages-api-demo - ``` - - `lstk` uploads the state of every running service — `lambda` and `dynamodb`, plus `iam` if you deployed with Terraform — to your LocalStack account. - -2. Verify it in the web application by navigating to **Cloud Pods** in the sidebar (`https://app.localstack.cloud/pods`). You should see `messages-api-demo` listed with a storage size and version `1`. +1. In your instance dashboard, click the **State** tab and then click the **Cloud** view. +2. Under **Save State to Cloud Pod**, enter `messages-api-demo` for the pod name. Leave the other options as default and click **Create New Pod**. + ![Cloud Pods Save State to Cloud Pod dialog](/images/aws/export-cloud-pod-web-app.jpg) +3. Verify it in the web application by navigating to **Cloud Pods** in the sidebar (`https://app.localstack.cloud/pods`). You should see `messages-api-demo` listed with a version `1`. + ![Cloud Pods Browser listing saved Cloud Pods](/images/aws/verify-cloud-pod-save.jpg) -![Cloud Pods Browser listing saved Cloud Pods](/images/aws/cloud-pods-browser.png) - -Now wipe the instance and confirm it's actually gone: +Now let's clear the instance and confirm it's actually gone and then restore it: -1. Stop LocalStack: +1. Reset the LocalStack instance: ```bash - lstk stop + lstk reset ``` -2. Start it again as a fresh instance: - - ```bash - lstk start - ``` - -3. Back in the Resource Browser (or Stack Overview), confirm the `messages-api` function and `Messages` table are no longer listed. LocalStack is ephemeral by default, so stopping the container discarded everything. - -4. Restore the snapshot: +2. Back in the [**Stack Overview** tab](https://app.localstack.cloud/inst/default/overview), confirm the `messages-api` function and `Messages` table are no longer listed. LocalStack is ephemeral by default, so restarting the container discards everything. - ```bash - lstk snapshot load pod:messages-api-demo - ``` +3. Switch back to the [**State** tab](https://app.localstack.cloud/inst/default/state) and click the **Cloud** view. Under **Load State from Cloud Pod**, select `messages-api-demo` from the dropdown. You should see details about the pod displayed. Leave the default merge strategy (to learn more about merge strategies, see the [Cloud Pods documentation](https://docs.localstack.cloud/aws/developer-tools/snapshots/cloud-pods/#state-merging)) and click **Load State from Pod**. + ![Cloud Pods Load State from Cloud Pod dialog](/images/aws/load-state-from-pod.jpg) -**Expected result:** run `lstk status` again, or refresh the Resource Browser — `messages-api` and `Messages` are back. More importantly, re-run the `curl` request from Step 3 against the (re-fetched) function URL: the response includes every message you saved before the restart, including the one added in Step 3. Cloud Pods restore the _data_ in the table, not just the table definition. +**Expected result:** Return to the [**Stack Overview** tab](https://app.localstack.cloud/inst/default/overview) again. You should see the `messages-api` and `Messages` tables are back. Opening the DynamoDB table in the resource browser and clicking the **Items** tab will show the items you saved before the restart are back as well. Cloud Pods restored the _data_ in the table, not just the table definition. :::note -You can do the same save/restore flow from the web application instead of the CLI: open the **State** tab on your instance (`https://app.localstack.cloud/inst/default/state`), switch to the **Cloud Pod** view, and use the **Save** and **Load** panels shown below. +You can do the same save/restore flow from `lstk` instead of the web applicatin using the `lstk snapshot save` and `lstk snapshot load` commands. For more details, see the [lstk documentation](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/#snapshot). ::: -![LocalStack Web Application's Export/Import State page in Cloud Pod mode](/images/aws/export-import-state-cloud-pod.png) - ### Step 5: Trace the request flow with App Inspector [App Inspector](/aws/developer-tools/app-inspector/) records every call your application makes to LocalStack, so you can see the flow between services, inspect the exact payloads exchanged, and catch IAM or configuration issues before they become deployment surprises. -1. Navigate to **App Inspector** in the sidebar (`https://app.localstack.cloud/inst/default/appinspector/spans`). -2. Click **Clear Operations** to remove the noise generated while creating your resources earlier. -3. Trigger the Lambda function once more with the `curl` command from Step 3. -4. Refresh the operations list. - - - -![App Inspector event list showing a request flow across services](/images/aws/app-inspector/app-inspector-fanout-pipeline.png) +1. Navigate to [**App Inspector** tab](https://app.localstack.cloud/inst/default/appinspector/spans?region=us-east-1) for your instance. +2. App Inspector hasn't been enabled on this instance yet, so click the **Enable App Inspector Now** button to enable it. You won't see any operations listed yet. +3. Fetch a fresh function URL, then trigger the Lambda: -{/* Screenshot needed: App Inspector list view for this app, showing the External producer → Lambda (Invoke) → DynamoDB (PutItem) chain with a green/OK status. */} - -You should see the request flow through two rows: an **Invoke** on `messages-api`, followed by a **PutItem** on `Messages`. Click **View Graph** on either row to see them rendered as connected nodes, then click a node to open **Operation Details** — service, action, resource ARN, duration, status, and the exact request/response payload. + ```bash + LAMBDA_URL=$(lstk aws lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) + echo $LAMBDA_URL + + curl -X POST "$LAMBDA_URL" \ + -H "Content-Type: application/json" \ + -d '{"message": "Hello, App Inspector!"}' + ``` -![App Inspector operation details panel](/images/aws/app-inspector/app-inspector-operation-details.png) +4. Return to the App Inspector tab and you should see the operations listed. This is a simple demo, so you'll only see two operations: one to get the function URL and one to invoke the function. + ![App Inspector event list showing a request flow across services](/images/aws/app-inspector-operations.jpg) -{/* Screenshot needed: Operation Details panel for the `PutItem` call on the `Messages` table, with a green "OK" status and "Allowed" permissions badge for this app's own IAM role. */} + -For this demo app, every operation should show a green **OK** status and an **Allowed** permissions badge — there's nothing to fix. This is exactly where you would spot problems if there were any: a call that never reaches its target shows where the chain breaks, and a missing IAM permission shows up as an **Implicitly Denied** badge on the specific action, with the principal and required permission called out, well before you'd hit the same error against real AWS. +**Expected result:** App Inpsector correctly captures the two operations you triggered. Clicking on an operation will open the operation details panel. This will show a diagram of the request flow and the service, action, resource ARN, duration, status, and the exact request/response payload. In this case, the operations details are extremely simple and don't show any errors, but this kind of detail is invaluable for debugging and understanding the flow of your application. :::note App Inspector requires LocalStack **2026.04.0** or later. If you don't see it in the sidebar, check your version with `lstk status` and update your image. @@ -227,12 +214,19 @@ Run through this end-to-end check to confirm everything from this guide is worki # 1. Confirm resources are deployed lstk status -# 2. Trigger the function and capture the response +# 2. Fetch a fresh function URL (may be unset or stale after reset) +LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) +echo $LAMBDA_URL + +# 3. Trigger the function and capture the response curl -X POST "$LAMBDA_URL" \ -H "Content-Type: application/json" \ -d '{"message": "Final validation check"}' -# 3. Retrieve the full message history +# 4. Retrieve the full message history curl "$LAMBDA_URL" ``` From dc78b446a2c1da56ce527ae4eb9d6eeb81defd88 Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Mon, 13 Jul 2026 14:53:16 -0400 Subject: [PATCH 45/45] Add icon and update overview --- astro.config.mjs | 2 +- public/js/icon-loader.js | 1 + src/assets/images/lightning.svg | 3 ++ .../docs/aws/quickstart-library/index.mdx | 23 +++++++++ .../quickstart-library/local-development.mdx | 47 ++++--------------- .../docs/aws/quickstart-library/overview.mdx | 7 --- src/styles/custom.css | 13 +++++ 7 files changed, 50 insertions(+), 46 deletions(-) create mode 100644 src/assets/images/lightning.svg create mode 100644 src/content/docs/aws/quickstart-library/index.mdx delete mode 100644 src/content/docs/aws/quickstart-library/overview.mdx diff --git a/astro.config.mjs b/astro.config.mjs index 8489981e8..e0cc72d0d 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -390,7 +390,7 @@ export default defineConfig({ items: [{ autogenerate: { directory: '/aws/getting-started' } }], }, { - label: 'Quick Starts', + label: 'Quick Start Library', collapsed: true, items: [ { autogenerate: { directory: '/aws/quickstart-library' } }, diff --git a/public/js/icon-loader.js b/public/js/icon-loader.js index e2d20a348..047055648 100644 --- a/public/js/icon-loader.js +++ b/public/js/icon-loader.js @@ -5,6 +5,7 @@ const iconMappings = { Welcome: 'cube-icon', 'Getting Started': 'rocket-icon', + 'Quick Start Library': 'lightning-icon', 'Local AWS Services': 'cube-icon', 'Local Azure Services': 'cube-icon', Features: 'cube-icon', diff --git a/src/assets/images/lightning.svg b/src/assets/images/lightning.svg new file mode 100644 index 000000000..eadf570ec --- /dev/null +++ b/src/assets/images/lightning.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/content/docs/aws/quickstart-library/index.mdx b/src/content/docs/aws/quickstart-library/index.mdx new file mode 100644 index 000000000..3529f629d --- /dev/null +++ b/src/content/docs/aws/quickstart-library/index.mdx @@ -0,0 +1,23 @@ +--- +title: Overview +description: LocalStack Quickstart Library. +template: doc +sidebar: + order: 1 +--- + +import { SectionCards } from '../../../../components/SectionCards.tsx'; + +Our Quick Start Library is a growing collection of tutorials that help you get started with LocalStack. Each tutorial walks you through a specific use case or feature of LocalStack. + + diff --git a/src/content/docs/aws/quickstart-library/local-development.mdx b/src/content/docs/aws/quickstart-library/local-development.mdx index 0af41e69b..1b2743338 100644 --- a/src/content/docs/aws/quickstart-library/local-development.mdx +++ b/src/content/docs/aws/quickstart-library/local-development.mdx @@ -206,45 +206,19 @@ You can do the same save/restore flow from `lstk` instead of the web applicatin App Inspector requires LocalStack **2026.04.0** or later. If you don't see it in the sidebar, check your version with `lstk status` and update your image. ::: -## Testing and Validation - -Run through this end-to-end check to confirm everything from this guide is working together: - -```bash -# 1. Confirm resources are deployed -lstk status - -# 2. Fetch a fresh function URL (may be unset or stale after reset) -LAMBDA_URL=$(awslocal lambda list-function-url-configs \ - --function-name messages-api \ - --query 'FunctionUrlConfigs[0].FunctionUrl' \ - --output text) -echo $LAMBDA_URL - -# 3. Trigger the function and capture the response -curl -X POST "$LAMBDA_URL" \ - -H "Content-Type: application/json" \ - -d '{"message": "Final validation check"}' - -# 4. Retrieve the full message history -curl "$LAMBDA_URL" -``` - -Cross-check the output of the last command against what you see in the DynamoDB **Items** view in the Resource Browser — the counts and message content should match exactly. Then confirm the same request appears as a fresh row in **App Inspector** with an **OK** status. - ## Troubleshooting **Instance shows as "not running" in Instance Management** Run `lstk status` from your terminal to confirm the container's actual state, and check that Docker is running. Start it again with `lstk start` if needed — remember this gives you an empty instance unless you load a Cloud Pod afterwards. **Resource Browser shows a "Network Failure" error** -The LocalStack container isn't running, or isn't reachable at the endpoint configured for the instance. Confirm the endpoint in Instance Management matches your running container (`https://localhost.localstack.cloud:4566` by default). +The LocalStack container isn't running, or isn't reachable at the endpoint configured for the instance. Confirm the endpoint in Instance Management matches your running container (`https://localhost.localstack.cloud:4566` by default). Ensure that you have enabled **Private Network Access** if you are using Google Chrome (see [Troubleshooting](https://docs.localstack.cloud/aws/getting-started/faq/#why-cant-i-access-my-localstack-instance-in-the-web-application-when-using-chrome) for more details). **Lambda function or DynamoDB table don't appear anywhere in the web app** Check the region dropdown in the top-right of the Resource Browser. If it's set to a region other than the one you deployed to (`us-east-1` by default in the tutorial), switch it. **Resources are missing after a restart, even though you didn't mean to wipe them** -LocalStack does not persist state across restarts by default. Either avoid stopping the container, enable [persistence](/aws/developer-tools/snapshots/persistence/), or restore your last Cloud Pod with `lstk snapshot load pod:`. +LocalStack does not persist state across restarts by default. Either avoid stopping the container, enable [persistence](https://docs.localstack.cloud/aws/developer-tools/snapshots/persistence/), or restore your last Cloud Pod with `lstk snapshot load pod:`. **`lstk snapshot save` fails with an authentication or license error** Cloud Pods require a valid LocalStack account. Run `lstk login`, or confirm `LOCALSTACK_AUTH_TOKEN` is set correctly, and try again. @@ -252,18 +226,15 @@ Cloud Pods require a valid LocalStack account. Run `lstk login`, or confirm `LOC **`lstk snapshot load` warns about a version mismatch** This happens when the LocalStack version that saved the pod differs from the one running now. It's safe to proceed for this demo; in real projects, pin your LocalStack version to avoid state incompatibilities. -**App Inspector isn't listed in the sidebar** -It requires LocalStack **2026.04.0** or later. Check your running version with `lstk status`. - ## Next steps You've now used all four core areas of the LocalStack Web Application to inspect, manage, snapshot, and debug a running application. To go deeper on any of them: -- [Instance Management](/aws/connecting/console/instance-management/) — bookmarking instances and connecting to a LocalStack instance running on another machine. -- [Stack Overview](/aws/connecting/console/stack-overview/) — the full list of supported resource types. -- [Resource Browser](/aws/connecting/console/resource-browser/) — the complete list of supported services beyond Lambda and DynamoDB. -- [Cloud Pods](/aws/developer-tools/snapshots/cloud-pods/) — merge strategies, remotes, auto-loading pods on startup, and sharing state with your team. -- [App Inspector](/aws/developer-tools/app-inspector/) — using it from the [LocalStack Toolkit for VS Code](/aws/connecting/ides/vscode-extension/) without leaving your editor. -- [`lstk` CLI reference](/aws/developer-tools/running-localstack/lstk/) — the full set of `snapshot`, `status`, and `reset` commands used in this guide. +- [Instance Management](https://docs.localstack.cloud/aws/connecting/console/instance-management/) — bookmarking instances and connecting to a LocalStack instance running on another machine. +- [Stack Overview](https://docs.localstack.cloud/aws/connecting/console/stack-overview/) — the full list of supported resource types. +- [Resource Browser](https://docs.localstack.cloud/aws/connecting/console/resource-browser/) — the complete list of supported services beyond Lambda and DynamoDB. +- [Cloud Pods](https://docs.localstack.cloud/aws/developer-tools/snapshots/cloud-pods/) — merge strategies, remotes, auto-loading pods on startup, and sharing state with your team. +- [App Inspector](https://docs.localstack.cloud/aws/developer-tools/app-inspector/) — using it from the [LocalStack Toolkit for VS Code](https://docs.localstack.cloud/aws/connecting/ides/vscode-extension/) without leaving your editor. +- [`lstk` CLI reference](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) — the full set of `snapshot`, `status`, and `reset` commands used in this guide. -Once you're comfortable with the local workflow, continue to the [CI/CD guide](/aws/getting-started/ci-cd/) to bring LocalStack into your automated pipelines. +Once you're comfortable with the local workflow, continue to the [CI/CD guide](https://docs.localstack.cloud/aws/getting-started/ci-cd/) to bring LocalStack into your automated pipelines. diff --git a/src/content/docs/aws/quickstart-library/overview.mdx b/src/content/docs/aws/quickstart-library/overview.mdx deleted file mode 100644 index 84d457e2d..000000000 --- a/src/content/docs/aws/quickstart-library/overview.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Overview -description: LocalStack Quickstart Library. -template: doc -sidebar: - order: 1 ---- diff --git a/src/styles/custom.css b/src/styles/custom.css index 6c051a1d0..5c2b11ee7 100644 --- a/src/styles/custom.css +++ b/src/styles/custom.css @@ -24,6 +24,19 @@ vertical-align: middle; } +.lightning-icon::before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + background-image: url('/src/assets/images/lightning.svg'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + margin-right: 6px; + vertical-align: middle; +} + .file-icon::before { content: ""; display: inline-block;

v9ooQufD=7GrJOV(LX`U-s#-(Lym`dAl;c{7xR49^7kh=!{B=pS$nl#mmfGuN*)gQf0=ZkEZ2Cwz9$U*u>uIT zCRcyGNcnE8-SBmTiiAO&l~)gKuOkqXO7Fzs7*&oM8Joz;tR__68iwG~ozz8tWLJ5! zC-Z%)9KG<4e@R*BBhsebWXeA1p2->Mdq9E7a3}Ilky{DRG+RkB?0fRMu+H$1x3@oT zDo&wUJ6l^#?I7}Zsf58I>z+CYm8x0jsqGroGg_$e zmGFoz$UVBd%-^Qx<^Sn-9&y%N;qR}gGxYkE`8CD0NGwxcdFnjaoLMza4^`IB4^r?k zWXKbAfih|;0e2=U4sAs!;11f@7h-Z$RW3XF@u2Q(HO$wj%N!EW{R07ED#M9ZhAt!P zWs(kl$H2n=uwlius`jx0XZBmF*;v5;b76dLBr|T@!kX#Tqy7u^LP!%lAqpH8=f^HOfb63 z0nVY=r+JB$t#0h2Jp0>rPU{s)`hECr#MKb^=7kwBlKx%P>giaBe1mU;;4YPi zGYDql0cvx$tx#ZOt2Lxor$$}|h<6L+5RT;RIQ5rvS942Mubi)puypCG+4{s&W zgOtyj8I%hGV_@NZOb@aR(KR+B5Hc1?bj4-C7n?l{yJ1e1|6V$EM|(=f1Q@quGZD+9 z{DsWEgR-`rw8+g!(6O^>dUim22XR}`8%DV6V;`Fbt3{e{myVUxR1pzr=7?#zvg8-0 zhR{9xw5nX?f7mJZu0y~-I95mLi{AJ|N3beCwS~+}6&CMi#}H~D0f*#yjS#2?yUae) zTq<4CCnDY?;SpZKe3(KY&O!pm&m;dJ1L%O_WsUdMAaE( zL3Tl+2g`&*=Q?3aiCX<4A=i(vy&`rl^#QT<$d{^%lOzJR14@D#nG31&fCV|>-q*7L zAD9wneB2$+ZkHZLx05sdVl`myC_O@`Q#V5c!qgX~JvH^B55r!VGm7zCy9WFf1&*r7 z*LOPAzc3=}5wrlk_AMoOa%lyF~I1CDJ}jDB+O#t>m0iXKE{cW|!70p&B#w_#?2t9Mcz@ zWM;lJlO<=c0~yS%dE^~Z)o&@bD4J~$0+0I=t2WH0ABQrhbB$D`O8nw#{9|L};@gUe z!?ZcoYzFS7zNJ`?CZCjnNSWE3uR-Xi?BR>5%}e8(19Z}hJ9ht!KfI-h7otv6VxfrC z`AyNDxE@F+ZrCUB9+_gbPie@LO)sDR+R=^q*i=c3$iTzY<3Nu&CC;On+c;zX+>+be(J{YHFqZz6LO2+d|`8pNEXnWh|XIo~2*JHXvbPyehf4 zXloPytZ!txR1L%-pzwUD0~SPsn;xp|^*En86|8a}MMP>T3Bq!WqDSDH9}mdFbBd7F z{%Hcs?XxW@o|OUThSJ*?^b2BFTA2qyoi3~k!v5YagZr*i(h`fN_y~71*3gq3l)t3e zekxReDzk_$0}6_p`;pcou6O8msX8^u2Reu~qt5XeH4tCxA4z7(W1Mhd+m|0Y%$!V4 zR?a^Xsj)MfS=$zQ8`IDk-()Exl#XDjLrXU0MHX8(mybKa(Nvojl@;re-0TrZ8R4kC zAd8~o0BecxbMFhr*2Y?JyMG#jkFMGYf+63L37P{lR-9kaNx`ma_y|Xw(Rc;1rM>qX z5*h=(#$CW$T?e9vt*mt`{sEtjR>F0+#79H(ldbJ99=jK%Ci-YZmn_E|_4_{Nk}W@a zNa>M4Z`d#^#s`Y3R=ZT`v(K?qDL0hJ(5e~gxIBw##o$k3_`rRRWIeI#xW`T=H5RB0 zZ{x}irG9xl$<4Wi=x)6V@KNVXzVEva>y~m=1N6UcyIEvbk$yhKB3RPM*~KFJ_8NTT zdsS$B+fu(vpUlS7Px`D@_Btyc3pq5S#Pl~ZX`sT}#UW9k1ll+5KgK zZjUC0p&N4J7%3{2Ib{dU5^zyFOzf@1P#22(rCQ-wj*fzwBU>~ zpb>v^ag4p(xCV?LpU(#!2OjS`iXF<_{*^X%L+%ilub3&>m4tWTBGkNv+U%U;U&czu|M|^6Dh?VY2dK za)v2z+2p=u4Dx`v&mq^nL}0@}lV}`WzNDH-GC91{Vx~uyR%6p-Q{K551934v^!nVqPux%_6|AXI^+gHG&Tov3d}db=G_i(<^C6J zjG?SgYSJ|NCsFJXl-X690?Xfesjk{5qOSo=Z9rXzJ9m`1>|Uow^Lxg|61@@wwcVYm zkO9k;k$k+_l{DMHrm3vOBN8^PQxV`<`OPj)Ag92({gt_Ve-LfUO?ZV&DP>!_)Gk?g zt=D#XZHA%Ly39~Zp4};4rU#QDCQ@612-(q=Qt99G^w2c z)X&SCNLjr2^!>MP*?vF2c}aBUV4Gg55GL-~+9Lh0cY!`j34>E0%z%lKG16SsMnyO< zacLk0b)6;bZpR2UKBKdQ}L6gT6i_q^1Lab=YIx&r=@slmE}@HdJGa?oH9(ovU{6*KYwapi!(#30bk1%f$R1hsZAPA#WavGH zm@f8__Na9PAOu`YDm`R`Zk+8hcvf(+mw;?ci7BMe&h;)Zty@&>v5h2e8S|dl(vz1h zg6D}Q>Bfle6dFzwTBTQtU8?xff@!ued_`IQ&cmnlJecJ3;OrA{2E{@Er=KBY259Y@ zn%yFix&vBltoe_#!YpGMi?x+z zO)Y*_(eKI^4h%1 zFJy^cD9>PtmTArJq0q#vsMj&}JRKV_Vs=2sCplTZ6cUKnOG14$_bc~8QD>)d$B(Bk zMqG+_bT-DE;al~L!*@^o16zZ_A?hd1dwOKtrpp;!YEvvolg;Cj86cQJM&m5Ud_LKg-9@3d(eLf{00Vl0k}=k=H0R!Z(R=Cm6Rg`C}=6{FEqmzzi*b zZLOo+b{GLSThbI-2l`#6ZOk7PipP$&WFz+f{w1a1{x`%FNM)q)Y2??3$9CWLrNoxR zy!1nr^}uN_1j?aY{du~@{)(#te28IoE?~c-dtFM&ofiiQx%?;t48QQ$f!iK1wF=bQ zS~sw;N0u`gn~t@%JI=EXXklPsTmZF(X!_a=#q!8#Y0YGMWyqfo?E+aCk9{|BD_|D8 z`s`ebS~7}dHtbO*-iIjN9z_0@k*PtikRL;g<0^}0o!n&t2OkL6*?sCyA@en!AikrMbL0 z^B=u>jgbdCIz=;6cnDf4x4&Re8*dz-eH5d-*Ip<0HO1iRs%;MNX;U!w#b~AB-TyR`9*k$jfT7d+^I8@ZK5ZAvz*--hlVcgXEFWWSyH%3iw^VZVi@Z`a_ho#sWQ}D zOigXuAt)K22-C;x&+&B~BTjrIG~Nf>V^=wY(wmTvQVeNQ3@+-Yyn;uS+eXX~5hn8s;eG*;lRK4o{*0%|y>ImUU+E0-m<$F*wvh)_d|m>{j%r+%z9+eT`9 zQQ2~Z7+KeTFJ{R%gxzj0@?4jF$Zd_!Gi;!L$&>JSg?tgW7|A|hT*|F4x))QbCpsHy z9Vc4mYgk*Lu5b--0N+H)ODP2j=d@xr>ZB{w6rp;|2*(7IbeM5?SPhJJly6V@+#fUP zyZ`Kowz-hRTeUsxlW_O2#Ur!3t5N&F^}DfT3y;-`dRZF{taNKhRD4&O0;``Zr*lkF z`G@YVXj%XNBkvl#13$ud2%WB5agS52O)IqB8++kP#M zDO1xo0G;%@aB8c+fVd7gDPBauIiCrM_9WH+5BA{N-t%Duos)F2&v5Tihu@ zlOV+jAy{xqso+k4;7}w$fIzX}P~4%oghGoJFYff_J-<8eIdkWpJHK=8x&PdG|H#aq z%zSs&+F5(;_1$~z&$8(G-Ha`))rEt_WpHBl6Chg*v#^)Qk=_ak{fTScx!S1t^(&pX z_1hm0Oj{1XtT;w@dR4vgYK7|W_^|n1)0Otg(TqudKxuy{P2c55^Kkba%hw~#Xt!4V zbBpK&;lJ%hIP(PVYz_~&|DDewZaC!UjALT)wOBnp%`Q@j6RIo@8N`+BttV%l9CVke z*9@~fS9Xj&%hsw;50fIc zeY|`C>XwPfnG27o8G8FJhp}Sx@ZyxprYgCV&GAe}>JvWqQpL7RjUKrk&8J+`1Mj`N zsOcV~-!i4NZ6Zvr8v)Gb?mNeT2k%+p%$+)R&`ODNuQ9R{dr!y%6dTneS9y1nsoZSk z$d3$o0h}Z7z}5;vbiB>cUAg0y+;(*Pm;sLywNr_{b3rJ@da120#q5ux3FA4dW1@ZC zM%#92?cS`U%@z7u8%ZKdvw~hBF^s=wN&npj$38b7H}8ao=9UJ2IUcw_H$zLmPS*=p z#SaRNsxeacg7*mSNDMIcJ^VvZj^93Lmn0~>sD3WwAghr0Wg+$C5tT7Fjk@*8Fl4;ZS-#HwW7(S7Yr@{7xJ%?Pz1L(i+$_ex67s@fO|5$K8 zeQ(K}em2mU=!NK={`p{)tlvVY_u-WE97}}#&>T(A0Ub`v&>Wa3!NIIM80S(eoTRsH zvh=?n?^WQuQ}dXl z`WIc#=I-3JB-CN?Q7l)S{V|YU{H=0!wN|OhE&bs113TYa*3 zx3}_CbMeV*)Z)fH<99Nrd*%y7)rZ*)sLhT)*Z+j>NUhJh zx^Q88Z-&b{(0L{1%@&0P8h&WsFtIGP+US!=6j`iC-T=*CPFzK&TX(nAsFLuyI_apf zMNeUohRpWzS{l42`iT&uFD){*nLxS8 zwUQ{&dgbqP;f()hh#8{l>FNI33MB1{9?98OK+ez)q^yQDZsp zgnGsv27K)KLlE#Sb8&7Cz!5LYfnF_=#>%$pchAg=NyGUY>|B~Zx?r?w_`Ny*5a5%@ z{}2%VAvk$PJJ@zOXmVn+bZzjE$iw2>?u&>4DpT7itI;_38Ehy7?xE~LOk(1|KE;VE z2!AFy3-zBWgA%h1bE~YS#%OFhvl*o%1fEXHri44T8ISL(LZXBmrYeX7du#TUJ=uYV)JDek(??Fde80NKDoYIfxybMQq6-4WoaaXUpHhf0K_Sq+Ym zOGp)M^!hZdQo0~!c$1R9Va&r&gRIP>`6FU+xfnsnr?@>qak^erAypUQ+j z1IHZ1CVM3mX&oHz5mCEJeS8%QCxgqZ>L4Jo%Vh`Sd8*3Bs!QZN@n6z!yZzC8J>_|J zTtm%G9YW)E9K_n4j+UhAKm4_0G=Md`oE>fpIW%4)b6$%U=cfzP-?WYo|4K4Tf8+ey zgnfPA1ri4$ZSmSVxgS4$+%cY+M;==GXtil*&vyxMo^Hd^4k#o}kz?1K z5<|Lf3=|SBabO*ik}8q0msD)gg2ScDV2>)bAVXo?UwQ+c7ihY-v&%Yy4g5dBhsj_% zn!lrsp`2r~6>6qyO;5No)LB$A_&l-72TAPQYYD%aBH@N@bz;a!=5I0n%Dnd6Rpk;5 zNuW=klx@E0R-vk>uZ#FwA^j+W9JbY~m#?wWLHzxD;k-%GJnC;PrW%~>bI z))r`kb!Yd{6!}7?Y}`aI+elHaJ|D+&S!9mtw_mLp@L*T5=5<+V-IxB8_f@4ic#;Nb zmwC){+>ePK-!IZBXq4P*KJ#I5{FWwFz|=Zh32B9uD|NbZ(Pl1Q?t{PhH_S#k5 zP0U?X_6NE?5y8l(f^ckKhbMgIhez8bS+ZSL8BXuAdN>VM`d$w_<>?sGUom^L%Wd%_ zY%Zd5+rPv1Vg5aY#^_p+#d>B{IQ-EOr=!X1@hlKY#*YzSHHLtp(MMT4Bi|w@^xxYX z&8AChna9oAyjV`%wmL5rviPlOFh{DhPRcr1(&_ckYzd-5y5y!hWR^VcSeRdU*ktAJ z*>74EfIgv#!Ig!Hj1~(I(ThwbU=1&b9eVXC*>@aRydWOxR&EhdormD@053O$X!9h3 zX7A~%W1pgk(CpnQhFM7!GuIKC-Vsn(j5&qzuW~fgh2ZR(DebD4r>$LyA3zwW!!^fD zjD_mCs#cQCU&&Q?Qmh4?i{{KcQNYFg5E*A&eK5M^qj1jh)#j^`^v5te;5u_kk6Wm2 z-P1KYTZz&Ty*N81CReDJlh4adj|a%GzXu-y`k7T@480b{6Vn^+JTO=QmkD_&uPrh_ zRYd7?*wX^!*JZ2XbWAk{`8OqAKq}2_bWF4t<~9J3pS^V6;C?6DN>g+4`fB)?jG}Nx zHbbfzJ@UFvyt~76< zJsDNex3CHienuUw#MQdW^0X!QJe(TwcNIk_5bl@c0;J(-gUd^YH%Qn>(Uxi1k`##{ES;b=H0xuYZ|@nP{!S!-_)B=5ASZA$mCp;{1BSjSg)woG~RQ%62(Aa zJQl81$&E>kH7Mv6RLcd!b$VoSO7L4~CEXb`abvIrWy2ILcM zo=6Tya`|zMdcb7k_~KhEy&$q&q_D`(=zyGN zhltT6<1@{R-iuRxevdxY{OHVTUE=~ov(+-Kb#2v~SK{0$;`u6^SZ1#tdRjLzCBG0U zmSWo_H~xIv`Jy$liO@`PYr{&eP-IQ+2m5iep%TZKv2x~(Fx%fA1>XkqqV+f}Ei+bT zG&Icyc5SQ;zS99Ik$XwlDMvG<>E`OfUf}&uc4^J`ve=WxEV1Ht63Pq6;4?7`G`~U> z>CiTl9Qy9~afEh>$8*WW4-Lbw#1~-d+J#rJsvqc>^uGr-S^e0K&xWk+4)?S<3nS*9 z){bcSPXgJp(&h-O8>d)yO&+(5wGAfrz9q>MW{c!+B zQnatMz;`;8{rAOOgHZO}r|_uOlEiA;Czg98s~TjbU})1|p1&eH|GgqKYNV=O7zzhpTAm`2Z~%dh5jUe1SdN!dt~4TC*0_V{o8>E3{F|7qf9!dlf% zpmd~odQup*th64(OONegJ`x^_G)i%lm{stzg2Qp7KVo0sk1L7R%CL30PyF(A)2H6h zR&BF>-q2r+B&*kL&K&p|OE+Mm{#}q*C8bxG_SV-OpvajqX*AYxKSY>nQYE&#h&dq} zZkvH>m8+rX1N%=IOQXw&U7bT&pzG!t^Gu2FTs(K}+r3ori=q}W&0X-CgDw46$? zjSyYj>#m^BjPBNr)9*-8dM>iKG4nXN+>*T^ci8`AKnXn9oRB6Ankx^T4Zghx_qKz% zSd9mJYp$`lT6K4B`f~ObY$mt3uDD8uO)rYt8Ss0q?VyZHuHsoUat zBs#?&2fv@=ewAsS?GO*l8y*^gKQA9X2=1-Yu|8Dsk;2&8#y2AL!-3C}vRBJWU0Z+= zJHj0i&7A{8B{KQLGKxYyuX=qap4q(B%;9Wj_yL#5gglN_$zH%&rWuQrv}lz=t&PgX zG*q_8>ySSnT}ApJYAbQ$ZS?DWUlC>L&(Jgo5xXby&5BTY@aKv1P@L-YYIKo2koiEkmIb$=|)42C%4pm^Nf8K%c3=aaHw-Qi9b7#eD}d9!fDa zossXmLA}<0n=>#$ktMX#9UA*(ebWH>YGA1UQELJvB#)Zq4tu7Pw#LWK>6XICHmxV` z;GA9SS;j}jR#s*gG=ho`E2UG0ceTtI4w^G~2i@-{f6vm#=;$r9#5q)J@B-hul&gbh zc6QQLq`aEaG@*gDLZ#Aje98b2LEU_Qr*v7yu(^?q*748uFVO=8*<9=s*=TUqSZAu; zubC1dd6k$p<)5Ty5&N+r~f$pb|_0MHJ{5qc$-AyC9U$`@jOm)w+mtyJ!3IIqEmejc(CF*QL z6BpN;`T(Tl@fs0%FE~MwCCMvBRJze9pewf2^`*Ls@uBh7qh3;v_Z>TGg>OAdO(w?y zsjR}ZVgqsU;cVxmrb=b)jp`@ty%K#UyM#bW0nMFcGR$6;T{#7xt1V10aggv+y6CH9 zVbSd*)z^K02;xZdr?6>nd@X5Bw>DYWpmga%RLH6Zz6=n8y}q#TGQ_o*NF5cTobYx0 zp}v1;!FrO0+Jn!tADP$U4*2;$G-rosHFMA_TJx8HpUAFH5$o4a*a)xSMhw$P^IxZ< zNeWqoG)2QwRk{~Ete;@IO-apyu37d^+Jk1DKTDS?q)Z1HRR1C9X(K>g_D{S$l6W5M zK|zzywE}F@r8cJk^!kiWG|}HhAOZltj>}2-O;X2|TQ5M?E99*jHq6FRoYc^%lh$WP zHaS$<*f+sU56Wt%brMZxt8CZDVp9EvYdpyYX0A0e4 zS9>BpW~~6_&(q$_(bjQV>B;m|mFvQLr^m@HQ|&OC!Plw5TZ$DbejJArT~ITUO_-ZF z9dt@wx*Zdbq*Gw;hj%@ro_-csr9PXdUj3pQNYAPRc!0%*J(z)-q%Zqud8t8x*{jKe zANz3ye8y{1**+t{;SKGbIe!=`2?XpFtgjYr;{2Jhf*N{0T2LV+^<)O+GmOYhFJ2 zTbgra$Pr&nWm69>W-5%WvNsp5;?zURIvrn4ib+|W$$UHY z?=v|JZ)t2^zTZGm?YZ{Ry}+E%=DKfP@*f8jD}JK(kbtdZLF*az&?Tmzs!E6Zs}-(V zK=lT#QWniUTZxdz(^0&mn*7v_T+h>OIDqUWo{tFHCo+9Fqa2=(hxMCLG7h=3a9#TO zg|4JH)_niD%Y1f!g4u&Iykq*oy&(je#P&-Lz=>j->$BPPF0pa*)VJ`>BY9O{m*7M} zb#q%=1+{7+{W`_TvP9BY{?%krq589rr2O!gKXzZ#Y8oL^XykE^1%Kl#8zdb>z`vW{ zY4C=KbXr}fBeF<_jnt6x=(k#82sM@`Z2donBUxf%$`ja|(vrEk%lD%BxnZ@;2Bu|f zijmJqLhs-sW3`{~W_U9G6(%%kx9|}*6A!&*N!yq!*Lr6lXzvpHUC5#vL6@HUY`VNu z&4eQyE-kT5S75O>Njy{*0aGuN_BBa-z|kR;Z4%t}(zAjVDG7PN4QYLp#AL9mtYLeI z7G0;e)o9h>Q*_e1EhxHIROh&yWfHk1W48WQ zjG>gXp?s1C&a@mdfSq&S>UGD*)tLs+JmXaOf0`?L#0Y2vPbOsmE9v!rO5Ub8 z@D5$VfS>4@8YACkV`stX*N8k1+X$4X7R~VZcMn?>lZ$q)V%GrA1ifYhTgX-7$irTv zd8#SZYN{_2%IiAsfA>quKj+C(#<^>5Y9|!j=oNaF$QlFJ28Hs?`@VEpbB8?Ir$lk~ z)>i0_44*{s!JHk;-SkS1cZ*YqEUbw18qLGVO-nWTX`CjV?dY1YL z9HeSnh)(>A78H$!MPG^LG{ngjT~gkZe@}9Jludb5Z@d`J(j}vV2uJb*6Dhhx0w?G$ zy`2KEfbYC|Bze&;PLrvzQ3HL+$lO0Hf`VwP)dgu3tkHYRBzOx$weeZu4 z(V-Ge*rcLfOJiZs@}Wl=;u>|t%69W1*+rhqman-k@!?zF{G`YWxdd>__kpCM{Je~t z{#-n*G}!A=nAa0r!i+%sY|oRlPh6k-hh|B2l3(|TG295QSCO&BzX1}0oE<_^I?FL5 zTf-ll`pE_0&Btt6aHsTCb*J;V#6JXvAg_QHf7TO6Cx2R!_}s4&(e(W|guCd~s|gce=40&& zJ=gTn?DdmiuWh@%qZXr@yjm_(OlFTtfkivLTV79Xm^%GRl(r*h9qZ;(!(|kT%8}yG z!`_p|rPnuNS)tJRYYAIs^@vVT_^>UtG;1={UN=czoyq0=NV3z~&eqvVGUE7<`_Mqy zT+8`mB)LTT9+0SSn)|6nO-N)_Ea?PNsCzDlc`3O{Tc>i2Hx%k|mJ;xMzDjZL*T_iP zx*81ephn-AZ8*VDK+i7z*G@ue@-}IKm1KI{&t&Se^bz z?M7(~347kwG%6r{26a`QFbW822@3v0aPMaSobgTdrp?)9j&6>@?a??sTgRm>pu)AT zcWL)`*L7&L^R2gNt%B6q_0rmxTZc3GoSUGcshiQ+n?D2#H#v2k%mQ}r|HIGzCrwe= z$PmTZvzpAtG(#;7kQa8mwlQLmNrT-|3!*t)Bd|1Ym3)JI4qG<|f$f~`wEVNn3?Yx_ ztSoRdh>xk_3ILhDjRqNxM2r{1PLIa3$2^-aDYZ61g%#kJ$`x(rbOj zX_|qpYdroP#;JZe!*(ea*Uk8&Nx*%wZUV1lI=yN$_LXfLVV#`#H^ z7yrQ+q*upFEWlCR*;BO9avn{ar}H{QifB@gii(}wuqnIsIR}MWKwsO676GCHMMM3`@DL&oZ3+=j;^l+*~{~{54gTF4rq#I-S#0edLv~ zrRxqx;SYf)hG!Iy#^v&=17N>v8Yh1ye)%5+!8aLG%wb48=^ucDp^)4j5>F0eaN|ZK6W9CdTm)*@g73@NWp$Y7k%xls6gpqSYTz z%ZuY*FH#UB&d=gbTkpPaFvsLi-WMg__O%wkMyOj8Repn9{9HS;pu>-mYb+AR`R%Qv zl>QAE{U3yS00cz=65TVWS}$*Ze}ti&tV1Yof{VE41M8?@*V8!7z!Q9#fbp$w;^H-R zdCo4Xb`bD5lRENpVi)DgBxPp~GP&3U%~`ym>F_raPQl+poRyv$M5buoWMA-n>_j5{ zf`$W;i+RU0(~CiG#$B*`PSZ<{GN1n`f_y5(V5*@WsO#B-40#M!=$9{cHM8nTu{?~* zEiGqGnaIXfyco5wMM-VZ3jXt{|J??W;khzUqb}1%!?5-8%H(x2AsHo}S$2rXdZj$4 z_p53Uazh~LeV?N-=wQUc?d}`vfTBMHbZZ*~;{Vm}9!$ln=lb9RG2+wPP%ZRssfAth zafKY7u5aR%Vz7_hhQc7Hc#|M1tJ>ine9S#a$lJunTQ!J9nwld4$T>SC7;g|2f_SCOdGWxezr!Xmcy5PrP2>D{4Tc9~ocUES zLwrK7s$-hW^@t*EZjMX*4}nTBhnYUx#3gUlyum5pJ+0)-S;N81l0Ly)Pg~1qZ0lwC z{SmR7y|-RxlP|^HEB4_l6|H%HRmTJc%%7d35ZH;JhO<0nc@BMuE3--c@96@h@@1Rc&e9r-~*Q=PUUkb{G50q%z4 zS(dwU%D??tdUKit&MTIS8@-l+%6A=TZqMYUueM(Nmo>|TUM-w&?-#%SALxwwZ=Jr3 z-PTE4kV#8p3T>cE^F(Z85{9pSWw^dG27}iMrY*d0pN!!e9(_&!jjGmpcu=?GQ+VqX zC0NTvPB>XzPZ$Roh85C;AFtDDK~BL+{7rL3bGlA}@1=47)&K0Dn)NZeC@;ZI^O?t6 zb|>p`+g|ILUXv&Ytd{}SLkEMQpju8=DFLGR)y2jC{oecTQhOJWmm!_XX>sE`*nKmp zM9~k4(}ltWC)J7s=fQea^VD98!}0@ggPp&o|2GZjpThjV8s9v#kEwss@8fu&Ik;Gt&crUI>k4#uQt7=DsZ6b&yv{xn~Cs0qsRX_ ztNx3fJuS7th<}I8#OJD2dhuhs%lWnXQIi#N{AYwl**Z|on;MK(g&0Kh4}sv5Sz?wx zCVh5}*ZL0eFuBCX;`5ev#~UcfF4&7l^T;@h8Vm}W(wE%TuZapTOWVqS)e>H~?#;^_q9=8sn zE$2W4!*g~aa}YZm3<>;)8%2)e@Xi_^9bj>gf5ZlOKZ^h0Jt#`*ec->Zd7UTLOW_u> z_n#^eY<0IiYxaG@5c=0t)H^2M-&Ar>?v_$qD<1q1^rw1Y%y%BL^7YNJAaNP^fUx&{ z`>!|jrgh7daesaK_EoylwM&5E?t|R-UjORuUt{+#L;2UN_?Jid|FQf0EA`)3kbkxQ zXGh>K%0b~(W8R~x0@5qN^kV?!(&JAe#R+|Y7e-#EZ0`OwQIXInY-w{fq4EZgr;RHJ z;)6)gU&nbR%}OrOtoqSgZqqL5MK8Cae)sYW!VJ{3*qz;h{hy3oDP~v2g}O_f8?U`v z7oCl2EZL=v1Cct*95d^%vy(C(A;z8{^|*u7TWxybn)MnKY{D3Z!S9G*ERMJB{w+Lo zmXM#tS8bDDvK{1YU78EThk)a0L34}D@*E@A2KD$GH)FDk?}B<-X~l95%7*k7*=^SJ z0)iIsr;aWH=S5D{6-SWa%m7`>>!7DQ`y{v7zD2isBMPgXi%Vxx3b?3SuKBX<>v^~X z!$b=HETr>FrYoo@n+uP_I*PjxJgd7I(K}uKLlEg*D*cB*JaewMX6+9_@9*1@1IEpb z$e`8hm0N8&d}Tg(;!Ss^b!L>qlv)ZNKa?XW(c~q2T;xi>r9aT>(q1c7%t6TFfkuY7_DGUMk>@hmX351#>g-uhD>|f6Y+(2@|09yx!Hu!=t8Mx^F%4v%w-BLq_d~_)Ee<4$dZWhxkc^~JeB*63 zYX>Hr0lr=McL!pq=;>D-7xj|WWEU_}bT%tp+~^sg#8_WCOa=$F+N3K}Z{e;9{<}Iu zO8YqQ<8M`_Ns&_(bD`iZic=3kLUG}!Hl3>b_GYJwb{e#A;%y%e1R6F-aZk+eXjKwX zRFzAKh*X9zQRF%slHWC1DD)i!yiLWI5y*sC2c@_ZyG~p`Zy+DxzMbQ5PY>xhqzqdR zNSl(B0HInH+XG4z&B;Fd*?7uvofUYxZeokIF>)VlMArsrBl3P*=<Cz|3!5Y^_3CjGW9-1H3m%3F=&6vfRYrH{6g z27zn82vyQD3?gR7G**9~P9shKhK;QJnm&qWcZD4|V&W)JfC%6ap9?Xvtd zYyv3&Arp)eQZybBgkI6H9;CqJbQ?rsI2-LR|E1st4bhW~!&c&sC#Tx^b1bj@bwZ(( zwE6ME9Nf|u(S=+j#rc|#m`(2eU799j0Zq_zHdHn0cYfomzh44mz53l{kgTP~l{;VG zclfA!Rgd;p1!qae#k+tPF+BXzYl#U0a%eLJI$L8aXe` z%1J%l;jxD&3=FKjtJB7H>kq;~X~@qfFOA{Wz(n#4I&2T2ljyfH^;n;NV3@Ghe=l*uDuUR1~>CWmLW)X-VWP1qVEkFc=fzCba)q_Cz+!7(ai= zJria`hrX2TzGA7(O7A|PD0>re)4>nM9mjTKXFr~Ctgq0f_f;~db4wn3p+jbiOG_x? z3I6s$vTc8^zf@y!)K;8Xj(j;rrCd@6O0dQ1ZhaIYQ!n3^+OK6!W9bAwE-~k}BU`l7 zLb;woEM0pghh*Et^7E?^=QX>|IGGFgE?sRiS4K=m{A!g=#Cc}wv6r_%+`M(`fh8n- z&v?Pki{JK?N5k^K+?wzSp*pj)1~fHnc#~vq52EX;aHPkuEH11@Su_OCRETqgZX3g) zZe}icOi4w4*nMQnzIuz8(8gurzP~MQlybBZ319C=I%j`bZpl9_tgYP@IgqGP9vT`w z+OAlmSAMIkDDSi3 zhzy3w4hph~TB+#qpjlXADn*_xb(-N18z8xozgMrP;A_26*7dMxY}w4#bR`9*f}&u! zF;W>6SSl6~7jd4N;iJGv-y1O2*gMgnk9-u!Uh$ZUb+_W_PGtOwS>ZCuR^wx_|9oHo z;2|Kz(|3%mTxb0>wc(EAU#q;@xuVg_L|+Cjo?i_7S+Z{$gG?T zt*q9`SFF|h&JGVufCXd_ZuS)?#B_5~k(SRl6IHQg9s8KL;<}m>xgkB&Mty8kokh!K zulrR{(>3m3?ug`BsP-DLghjuL?HMQZC;C}4Uws3GKKBc6S>;(x@s-hd62U4z@_gFN zw{@zhLTNLdsFtIET*qc7UmwJhc<96Bsu=-}-Xpp~l!yIPH^tZwzJ7!B!R!n8c)H07 zU+1AhMtc)1Fj~KYBGaOwc7tyTkfTt0g~d4RpS4v~Y##0IS`^B}<+OF3FeaBQ7!N*k zL=2-II?J7$@h~|n#jW^>yxX-G-uidorRt-pkhl# z?OqJB3di>|c=tRRaltIcn%P59Mk0_#9{8pQ4HKPzU*=ZMfCqs^ag&&x??mPA- z`QYo_pu2}Rm@FMxI)?A3XI>XKm_WbQR@sTTZv1V3x)YC;{&eK@+zKYQT01>JD9lw{ zy)zDc-#G(RI}99*WwwXWE043k^S^0r3F_gfzldGgU%1u-FLRvpYg7f2z33uMsx;~R zOg5by6ZsU%wx;YJtBU?$V#-q4u$W|(B*IYlnW}{bZfr4MJf4|QuA0#|STy+Cpwq*o z+(m(d1#RIFHrJh6Ve{{i*uC+sU>Ke`52?7XKN5(0HK)RX|jF)RYu$EPF&sar9?5Lzs({ z{#c4P(C`&a_kB7vRMZb;ee$4zp=RLnR?iH4d99Xc)fr`Ry)M^Gm;Ho1+Lvd<-A`~L zNSsD(XQliWyTsVP+KsQCB?E4v`ZAu%6-lwOSM8*IwmmuRu)pbY8F4G8trL*btTs9d z8FJ$K?*)Yay{AaBoigfeWF?SQGMdWJ@9wuE**dsq_1`Y*Fm915S(XW`=E^-q28K@L zpLvrFb^SOdqxR2Kkq*^?t!I%3l79P~2dz&X*v+J`XXH8$q>kPkU(S9xlnrgoHcNen za@8x3lwU9^@6(8UFwmhzv{SBh&(DM`?89Lk>yLlbORVTP zTIePFBp!snPWqI-&l$4ZpRqZebXiwOgX6%LefG-%O-qLZCY%5hXSGns_U=NL_Hp8a zj}1yEV83A~t;22P75e}ohZo>XyY=ofLQvavCZy}@l7mcbz31GSF4H0Fb3fUJY|HZ7q;Z+l10l>=`bb`@+f ziM8f22Q{vw^7&2~t7mk3)=tan_S|pu*iwh%Y3T|Yz!PBqGga}!H0l+Tq~E_+Tc)Tv z5ezC*XDMk~_nW@HqlY)IpCKS?v&+6uEwuc&w+iIAJ?Ey0^y!;q^Ouv_lzb+}$s8f)119 zxy-T!AMY%_bz395V1Xy4o)!tSwwQae(Wp2g`1Gy96Aha%TW8ng2eMah_3mLljUJ!* zDcqYn+{w0VkhLETIk*t^y>+n>lPJ}tRg))ryaQcQ6;b0!;g@X?0zi?s-`g)Tv#b3w z4M>pgJ)Eb}iC6BXTY*JQUUDbfr{+Ux<<1IG9Ea*MI0hYGm)^l#Od6D}`{$%j4^?1C zpubLDYg9oyi{!UF}BJAHEq4BZuv5;vD#&R92YPmVq3w{(uQ!)Q~Zh zve~2&0GrW=>?uU+b?NCV$jKZAI;=R3n7r!_phd2VhW6(^8~TvI{3V0oU_?IIRur>s zJv5#oY`zme=TQ(l>`>w15G^Y#JpUuRH${}=_3}Vi+%?~Z&$W+1Ur^b#tEQhEF*x~W zy{=L+wnA#yeSu$lwt=Wz!D1dep4yveX`Si@bKTm7>C%p1pVS^_7{jLpL{FMe#4vbn zN^(YE-o%poSzLA@OZ}c{gmKfC1=V*q#1`F26skOTN8)8c1d#ip6mRCEl_Sl@cNNN(Zm_2|!Et2QXJ>L^KJnc>)I&gxmPj{!li5J)Do#({Fj;1R`G-gpSvD7xB8o*5W zP2~J{FJSi7{yOtJc4miltL#ju1o=yr%Or#xb~x5`ymL|~ie+};+c*E@ZFZf6I{VUP zyPOxA;B=2fOvWnEX%954BX5q4@2wsp|jJ}J(iW$<#*B-HV1o6 zUnUnCUhPNwDUh(mEZYIsgqvF)H}YqjguYI*(mG_-T|eX4o~h1jQSu^}D6g#2(8WU0 z&i497JkAR%kye)9*%YUA@mNrKzsAXWB=mY< zS!d}qU3_1E;_2X_ha-M=I0ioHBO!;m#GN(O%=#(k3;i{v#Kh!rdK^g|DQAQQG*|q5 zka%!${+32&QD!w~hCz*iNqbRh@SV^7u*7-D3{k(`?94d~#pxTk~7PXoH#op#pN-@>yd z=N1-MT&q`_kvj8`Lo?5nm=>Z18Bn^6uZYcMa;@+?(0tSLQ*3LGY1zPzpAGAf|6(Eu z#n#Do3;&mJwfB$bW4HLbFjz_D+*9$=4r^@uV!^uC#9&nKhJTLYV zOK~*=p{=V|Aav^5UzWd{fulfRp?hr7CnMh<-NPQCPm3A5voY1KY$LC`U{d=k37ORe z<-o-0PR`+vou0iWlYU#Xfvp3?{lG}^$L#GeLU(J zLB$Zi1DuRr|OSyRBp>s{Q-96ycE#^C&*S&$PU@ywzvY!PUg$0Q4cSui6AszYGG3IF{ za1A@?qZD7->b4tJIdPP*Z=GsNjW~@dI?oE4D3$r`bUuqEWVf9dVy~L=msQ(^{3X8H zQSnlaXyON!`JwK#P>VqZ-}Dz9!b4$FgCq~5r*+4>7Pr=8iZ{H5SE+tv(d5TZGwXAP zm-Y`mTu}T&u&ri9V>j&**s0DPy7l^Dav2zG)Ejqb@{bl z0FmFlsZTmv3$LwZs&A~;XA+la5@YzxBf(axoPw~Fg_OIZXRyr)p;9KIxFSQrKtQut ziSEJ2!|{hA;ASmdVF+Pe9|=fqmFebTQlo#R#lKDcSBxXq z-d154IfISUHWK;}%J>SN#q~on+bkV=1(@AipxQ+JJsZX>G34GgZk8oOtS1aQ+@*O% zs@YEBD*O^9gW#wwqO~X!8YW~`EO1)+a5X?5yq=jhueVw<9n6KI%V9sX6?^$5+d5xo zeXI%?i?>9js6*<|dRhnv-I!UJ;qI8{HZOZup)J`+)o~I0>Xl(F+vlOByQ`GrEcmVe ztyl5$ClYto2&U3r_xwF>7U|@iJ}T}OmMB+@qF0o6O>^tzQ) ziPsJC)I6ZI=P$j=`(5JI$a7oTF#(AHpRcV8A5urC6EB_$?un#`u!BhlwdZrg^hn6{ zS*flEd55XJ8IG(wG2FFs8V9&C=Sq#!Oe=^18*}DrA!n1)(4N{3G_`84=^#6&I^QEC zAy)A^D7#Y2rewfKQA*r$@WLBL^ z?{y+&h|jHl=7Wb-a$5H44LUPAlN~G(Puj67EiLv z{IT`+UC-&{R;D3J(@js>K4^TT%Ij7CnUf13(ALR^_h;Ibu5Rd$lXTMl^kkm0M+@7JDB>9KY-6i!N; zcU%~l(yX}3?!SdA8cA1mJd@M0M0G|n%pZuQwwGp*AYO5TO-)uEc8IMax;P5D|k{+_~MOCg`Ca?9} z$nP#uUjBe`44;r9Vh4jy$ehlQ2-|^fU))EDA5K_;IK z>-8rq@t1RaBqAWd1c{tyHLH)tmdr`|QpL)qW1HpnX565&@kWcJ9Tis2-`2#eH>60Y z-sZBK+c`GV`SRJ;w~qB%5G!;#X<|RifYa2;el6;emXZ^QY!aw^rn3?N|G5ZXxegO6 zt&6%6STj>S<0^_`kou1CbpcyCz%40c8{C$$qvfrd*5%sgm6ja%7Yab&a!MRJ@&FjO zFEr1iP_%1o&2e&mam%=+G;r(?Z7N8i)oa?zuu@;Hl>O$BJwrj&F~@hUk@$}1YEi0< z%1#fYNQ7h-pJ+Gui=y$R!!Vv>rmG;Gdl-?3zQMqqrl{UMSGvTbXq&1k}A7>3-#P4HY`ua+qn$ zZd-`;7)fB;uQpXah)R22azysTWZHj=q!(PG`ZHI^;}o z5<)(_7S>f=?Be4pCmgKV(nfc!xgsW64h~!O*gZJN89Ht5R7>vtxyZ5};3v>j5eIhA zvoRTfTa|})L(!!<1_@)|2c7-)Yqc-u(EfJ4urIiIY=yxzXRp(UcIwK?Iy-xUTrXTm zNbJgMvUlElX(6(b!lqrg@E-m~q|u$=cJLwHJ+aXZsw<)PXkl^fCzatdO7wf5#hx7IezCu@eiIrE0l}}wo5!97xMnSjD_NQ$ z#XiSVObCXz_UJj96{66Nel^qNVa+gwHJc9$y#ohxr7b-WnBDJIC4>0>pRG*mG9+~? ztp0Lk;fFdUn?HLiQ*^z3N3;yyWk^DHb+Ulv>!2;%F&`O4Y@xNV^30Yco!8q$ z-yA39(Zd>T?VzW1BO5H=tbw9YbYfKHqV1vc$EQ)xS09owjfC?cl&EQb@=J>qO^HUki$IApC~I%BkyU?>u zWN**mLdDae3u0o$Mx&W-omMs1?sHl1ZWM|}O3>w~=A>QwAj%3B1S#+#i50p8RW2=7 zIu^{d<;0;OcvfR1e#16OrjX83xN9~B9md{V*)LqWvV(;u*(Nk%8e;Zb#Sl^o4e1jB z2==M7T5&exkMd(ij-;HmxmkbNC%{fka$X+&A$YNTo!IX!AxUrE!bm?kvEm!YIJOwA zUx)5G07;6TY*$kWZ*S^9WVsWvgMvE()q&^rK^?X^ zw@KUkLNgZ{o3ec*U#I?C*IGHqzt$Ul6x^eDX%i}5V^fD6f&EgLqp}K1V~>=NB?Ejld*+}ve2Yt{ox)?I&$uQC$` zzcflm=0&yB?L%n;{M?kJfM|h@>k(LP0!iW}69!}18Jp7YTZlRWoC}E_usKe*MC7(y z=Eb&CoVp>@Mz8bol^4#+$`F==8Jb>%9~xFm4_JECjkQ=*7^^pHBud?bh9Ya}P%oaT zvdOe_I73}t^&G6mpx?o$YPn7edF|(~?BZ^@cYJ-`9hnP#yErErJVv)h`3y=WxePT* z%jjvg_@8!`t<7E-=ggarmz2fH1fm;6zS^J`W|3z62giHhkr*eEB;IPrIrwR$uE3n5 zw3bJROB~97x9l?f@`fl`S!phzcUFVX1< z!we>Gc8vPmc?=R>QVZ(V^fNGrrjA4IH*q~b;cZ!3?;yFR8IWL*DPirud`i(1%z9+b z**0pkD%`j*pRJs6aSPmsuCEDWnw)%nE;N;$ul!t+Tmtm`QRu8ueD6wikf{WOvduOX zL1PnnrIF8zZR=BS$++M`(! zfaqRn0;F@gU|xsu(!7>u&D;z>(_vI8DxUAC;}KJLB3ie#0L*WGTK4w zH(15&s&*Lz#+IaFJ<6y&=}+w41i*^O9h7CM$^*rpqnzU^mV%JxvywIZI6e)$W(yDb zY^v?)CU;V(3nY^sspuhDF>sDlRvo)o?02V)@r~77(yP1h8MviA%B33qm3zUTrk3)3 z_3LVhZ0AwKhILF#HZ7v6-N~eO&tV-sg>V^Oi~4Q#nz|0yTXDK3;ywzP-zuw|vztJj zVRjs)gG$P-LMX^}*Y|>w>{@%{wO{`d)%diP))@Hibht@ycyBCy-&zky?kD-+XS+1S`>eXwI zqh3~TO-+_v+(=gZW&z*UL->3584LH{zgvrWE(EZ!?Xo=9&+RZ+5^KJ|ToYTJK!8m| zWsjFjq!&3B1bpE5V);Zg{={=$HYe$`g8(U~RYsMBKXmj6&8GC;*7%g3%aIq$XE1vh zU0?p*PJhh)nYfTp1wyM|wnkzs~KmZY^PxoIIVaK-x~0UPA~{C-ZHwR~phRRqe^J4zcco;?!=cd0L}c7!3Gvf5s%K8w*Se%e8oRyg0(Zlqdcx zgdmS-O?=TQ5ZY>;*k1LCxzA0i3UjM59GF}EeQKQ-x=$-fwPt5cNY!5xM|aX&=0wH5 zV;xa4iA>r7PA<0vI|>=cw%IjRWA)ILgL=j^to1V4rbbmejN=!yZ$cB-7J)6R5QheI zWvut0U|8!~*sT9U<4cW%pXw21)46(q(yUPLwsEeobwWapVS6Byq_pMxFNR*1yFUtk zA(M`IWjO~&f@yaB80ez(BF9%nFWU8tvd0EDXBOInmW-6`EbQW9)!6-yKClXHc7I^? zb~9Q^a5f8U_znck>o`aHCPR^{Y){&6xo?l&$^;CL!Mjzj<4B^D;Ui7?|t`y!U zAZlQvN#l+0r%tl`=!=%ixGNF^gGd4&Rv1bm#J+fXDwL6(Zgc6Vd<`laYbvGs9XQM9aTdU~H49QukbnoHy#1eBDRsB&m7T-A<%EsKIsT zI3YaUBDp9o6|x~?tFRaOatTcWW;yjszf#CUiTT8-Eo)WGF zW`(48Zn~{sbNGU-I7g)KQ~f%#c6Tcnm*2(<(`w z-H&5giyY-Iq0gPXvY;~$h&-FIXgOK-IKe3Uk|>buxpu!~^p=`9rGL|cE51^Cijdk( z_aM@R6Bc9=xOZ-TPoEq=uE3$)CmI!0*#)Kf$Q8>v`|U z?Q{2QTZR{%8#JxX2OZJABaM5$%u;WvNjkpG*kRG*Wi%#hpfqHf8W}ff#CUev??$Ko zYJbI+XdR)r30{&Ub`NQveTwurlikf4l9S)Vf$B8{FyReTGXA`mD%M~t!>tTOj zN6gCEX$b7H%0nxD-P`IIJG^Z{Z#uKlgkL|`Zkkpl zWzd_rsQQ7dW~4aC(Ih;)U(I|vA|iL6e$oH@=t^KAL}uwNq2RxTx8ivHOkgE5ZH~|z zhxPz7Hrb)iC)D+OoB0tQzsD0W|`#vXeWqk`-v1WN!ET^g= zCrjNv?`w+hT~GNYq0OnZ8mC1YG*C`IpNTXRFK$g&1|N2&lSn;3R`btM1UyLxe8^aq zx|>DKuLX`!7ryRt9RtyMz9Rf{@RetEjmrynGiU<{FXoBXvFS(}VN@)q$Tu<;oX zY)HnP0UX@OsdZzwawtoMKAoi^ZT`gGm%e00^~U!jqNx)nJZvR&x|Pj4b7mTX2;G$S z1J@0lJ6&=%+im+K?5xsHrFz+~-bZmSb4b>g4H2As&mTS&tuIm+z4hRSae}H~uRO3W z&mX*kRvOxFoC6#iKC@N@Y8QJE ztPZmWVIv`b+YO>Uo9k~Hv^y5&Tx#}%m#vpF_D-&37O$74t*-MvgcQmcF(9w#dO+11 z`!~(iK_Lvl^Ya~&O?6yZm*?e~EQTA3^`%+}qt(!m6KCJjQ}o zZ@sW$=_ zHJH2gQ9{y|y{lWA-~;=6F3wwnbq(;;ON`J)p5q46?*Nr?5q?Vsv*HHy7^c9inE1mZ zdlZy)uq(vB!fhW2e*TBI{_n&8u{D4%^Zlz!UoczL?pr9{gKN80`}W2Me`oz&6Mx&p z-%a7~PT~L0ec|x`v4hs%1^>GS{yS@6McWS&**M8pgqR1Q;MIF2VoSLDTn`m7+J{bv zRenSoiF{=1hS28{(Kb@QJ+C;0oSziZ-eoA|qR{M}Fd_w|Lr4Ak zXqX9bq5%!%Ysh~2_8+6ti>*b=!%B_Kn<5TF%d~mSiN*JXQZsOxZeCYyF*_n{-ePGH z3(wm^w2ySM{BsoJ#BJ#tXfvHN(6U?bP- zW0squd43obM9B;cFG@4at$y0+5v<`Wbe{#qTXgH7gXy^7^y4&d5 zPlFQcP?OYpYr7znN(js&2M=2(CW|I160*EvA2&%Dc+`CLSv4i zeEw%m|8H}g+BEM}zme>)EH(W6q5{iC>o`gI$S636%3i>j0yD96xvRNFXqr(b0_25T zrLlxI#LBD!=JX#v|LZH@-~WTN_7QXwkcXiOe=PN&NGeax%~Mi7zE+`D_Q3~*`52!> zBv`W)O-VVgisdfC21mZF5*PCoQ<~h@?&kE{Az&3CPxtGk@U`{dPb>3Ig3V!k%6}hL zH+Qn@p7ASe-?*T1&p)48y#9led-kd0XAa4&+hNey;Wx|A9zQj8J}K9di=`@Wy?|J| zX&#k18BEj6bG6(YDKwi1{AeP*j6{I!(6B|U-hYziMm?>e za7kdjLq{dj0#%>+Y=-)cik)@|ccLBYXgES4;E15;0+D>Nj_T6T!L}djk!qVLoP#%sJqJ6%D zqM6p!lZXw7dg@u*J`LrO!dh=q`Bjg>^S;7KI*tum}FZVtqD0oZD6h^w3-fYssL{W3tB!%^#Oq*t?8KSfQ0Ys zjo0Xk#DotXAgPJQ0v>fkw15UAOIpx6BFoVZ1{108Gd1BPAtAZ_uy%PK^!8|%%pC2U1FFvr0M1}2_3@~bI{{iy(s6E%}dH!FX>hRTZn(KiCAsydI(W9e9@rFhOhGz z?F@LVxwC`ziu4!vSJROD!JWRBq$j@eyYFzov&T>clDOh!-N8K#1#w0@c^AyQYGIu2 zOK~aWi{xf0pEF=L#KJHR-@G^?(1S!hA3{HOrBnLh*SZN<_;pAdrXYxsNgP_9vqt97 zFf39rS5A;s6T*g_)#G>%@w5x1g{(F|DMV>JKYfDa5X7fWm~5>w5_{KMw?vURDv&A0 zP8)~+W=Pv7!(7(IR&;`%Vq^_AR&KT$J{Q+KVVWY#{7R0*xgKtm5(IfgZ7DfBp8uX9 zxn#OMECSHW9=Rr*I5?HGFih`CN`)7wu$awR4?_1#);qS`BN5 zp-RZS3}5?X=7v!~XSBIc#Z4+lxmoU*yPZE>+w;%pWTuiu?PU7~PDhCQPfpnt-h|ID z9Bs7^vomb+`^;jm}53Q|K6O= zNcDpZIrr#B5{ntN zD2BM{^nygv1u!h`KucPplT6LNjf@H)Tb@wIC#wQovx9iVFK4qq`H-Gx z7tCrxj2?8IRb<=*IAO3L`*$Imddb}TMwB@p`}dA;|bS4x=E^)=(G zbp-=!Vr#0@3`;_`06QwsBhhcf!`$L4>M0!Qokyc@dh0H$BuxyjKRgSyd6ZqQbKk<@ z1F>nCHG`Fp`97tIL%ybl{utz0j^cev4X5)|GbpZSk}MI8t>KPWJEm}Ao+M#x?=+Nc z2F+6KkX&5{b>3=4HdTNCwO3^TRC1C02<+8v7BS>DNPl}<{Id#kaG*7aPSHcAlut>u;ID!|M|Y3v>}s%pWa4{ES9B4CPz`< zK&?`)`3m9?r4IruI(Sil0NT5nMcfcuGpztf`$*aXxLCL7SlSoPAvL~0rB->>b_qmDif^|KMC?d_c*F&wVOHv+Lrloa{;fZ5%w zIpP$q=R!_cg`Cqwd|R#9Ep_pmm?weClwypv>$7@=lugXs<_QO83!3-=6F5LE2<8hScHl{{1W+p_XHokJ7K7sjf!i*XVdA7`w^r{K~84)9o`3 z7PUe0+8DF(g_FWw`qfrO@x^sngR4#Cxe|!t5{(}8A<4?Wup3A^rf9GI)Jfq(wna64 zc*rqEDM|FuW^ht{B$A18PQ!5C+V6=@0u%l-zx!jHhlb;hEH&sAW<0o=ZmL!4+;dkQ zgTcMl_4d;i=jL~pB4fV%G$M)&?tJz=zsOZLdO#0+GuQ0{4a)7@^NGtfoOC+RR_>~j z4UzCEe2x^Rtu1+0!`XYKSjx5AT_ZAb0iteKw5Forx4O8O>KRmKDX?96%SjfPUf#Mo zIh)Bf@q6!G;K!?EY8~>#?>Q!Ew3cAqx#b|l)XP|O2+522c>cg4%Kgk?O?g0eiAVjM z@S?M@`t<^+g*y73d%qxrfN`U6HG57Y!Jxi@d`%4)yOv}DffJZ4>;86&8%&T}hTr*^ z!N#ZclPP9gED&}Nn#7+h*#K{W_l>`(3}zkIyGqiV=gxfKPMp44)3yk6@a$tVkDrt` z?w#wH47ML``ha6i3nxn3s3diC^P^^(*hvAPc8!W(Ii&FVq(XZJbd-&nm}1op1`dBBB~gcq%*N9Cy2;~9<5!~z=nYzk5nX;hVVp7CVcLLxgp=@dzc_R@W-q9i5L z#bZ#FLZ-m9#{T&?nuMm!l${di{VL*PvPMNPv7fVFS{DhtYZc}$N(FeN5u@2aB;~G1 zq3O_IJI%X@XWlaR`%bnw z+3nKL1dW1S1XB6o&Cs_8nw;fileQtCxkn3=KYKt9%fK^)F{VF>%?!B;6IiVR*hHJB zo{b5_vY}uV`a(iGs~+ZRR=WGv<-VRvS`VxR1V|O;G9?HDEf_3c4Wq3@S2O2y5ucfQ zczYV2e@zVe7@u??I(J@;I~W$I)sH#a9fe41@GnV$0K6AT>Oxsf-i8qU`j1qFsD)Z1-iUoe zy8XE{z81Nso%Z%6XudK%UY$~#SfN7RO~YOQbpn@E@(l3xsNqMUq8JjJN=T>#UCBOB zF{{U8-7(omn>g@cq6 zOqD;o`cajRi{}u5)bW2AWK_tr7Ovk@Q^MJ!EcwcEjwGbV*yE|p`rgyTh`wjGfpZbX zulc8*Jg!VH?uDIDO)Y7Tnb6d`32Suqa}uBG<7pJeYS^YmEI%iXsEVf5LG*Z@RW@iC zEed^mXuh-TcC<;21Ty?J|0qRkj~m@#4`r>;LDV^ed>E39X&IZa9tE3-6O-z z-7I6RQ8rbd-qhRl853IkV67xDq^ylV?UJ@u#&W{Ds#eI5d2+Owij9btEOgTkWfV5= zA*$?^xPtE@B=LSyr%qC|+jMP@LaeRjxu~=sMLh@SOV1$pLQCo$8fEGP*B;{%QE-lo zBcZr?k%X;#7((y?_rynA4T-7ZoUc5qk4&8fYx>eh+HQa5D#7vY5XK#-9CEq~(Zvfd zT5&pn=8`_uv_=~HheYIf4SbFUmGVG~AsGAqiG8U`)IFOp0%MKE>b}x>51TY@PLJo& zZ;$%|J4uY}0PHC2L@>FxjAW|L$xR)*W$e!Nw$hi&Pt@)P?nXV!Uz1mA=I$`{oNuy& z{okbRJQRdLnb`z}^x0YaJy9UM!r{4MrJ3Rp4sX)({#EIdz%uSwdW(5`3r zq0bbH(3`fCnk6L{{WQl7yJ`F~!Yaa197dwfJtsFZU_Aj_i08NO(XMY(mAv$}ql4eb zi90b(0yoVhiiJnp{n1l>_nP8d>Agb+#k<@hj_5VIT`OZ??YavUAEV-}Gdv0RxE~Ek z()ji@Vmw|(a@s2FhSD6f`8X$OS`Q~~4s`eK6ptX5CUTDE!mIEPS*vncYocQcN$e`% zES*X9y~TdTyt%K}B`I7cmjolZf*>D+)Gc*2lt?G~kfplI?3Isd@6pXYW*#aUB(3Mp z8%Ps?`RW(h2VA9OCG$sQ_y;%!fzsGrC6SOZFTGUVkDH5t5a}oRnRFrhn>;O5H_2Of z);@7~Qx9ZJ;`CdlBSf5vjhD-U=*E)8&MI(O*Sp=ED_$I^XsCKJc}7jHvB`3+K<% zp{Y0U>KAzL|HE_7f58Xbky!n3p5^C1hNZ^uh7A=Tz%qv>gue{dGSd4bHj4FGn-mN0 zG9~aS497SmN2?Rq(665!_$fBPpR-IyB|pn<8UAd2Y3-KXA#m)rLqq*)<@jyl3hZ-{%g&3=sqm|P7ulk8+rM!6V_nn`>urgJ{U!@Q;eQ`Dd zBc=lccKsyAn55#l7u*l6y@Mp}b;ZiVRI<>M5YW^vov0j8x1{C%0GOLa5oxluUrL#g zXJ*<~!U=fz=%z3J*;289Vy1V$|G9iARBAJO!&_;6VKR_iBV+vhF9B(0z=PG5gwpYl%5p;4;gi!rTa z>ST7cjt|LO)wgN;qp*b z_rlzR4uvPWduFLP8XwUtG!xFmAIoKInuTsR8CKS^k!X8MOOQ%l1XICDPE7i3?7&?4 z6l4XLt2|Kan1%yxD$`Cqj~SLReNm z@;OYLr-RbU??5|rWZgIoNAAen-_0wpcaEMKn71~zN6em>k!Qdfm~8&#GvZ@ZjK8X$ zywj9(jGbVhBT`vfqj=#R2eQrwN|x|08`g6yHt2X9=n*GCHR|}Qp^jen*N>u%Gldvh zSRm5|g>it${+JQSgLgfVzF^yq-WxLXVF&>4$5&b1KGCzyw!7%yV(X2C2%P3}llHjz z=BnB#rV!Q6Q!%NUrk9_KsmOiGw=hp8UEze+KvdHBS)|2tLn4tKa~T~CG_PFQZuyLU zlivBq=4ISFAr~v;e{jsVZo*dYYW>61?p$BE!`wM!ca{0SI%KI|nxzpqFyaQ_s;8n= zj}04p5Et+iHhz8$-ta=dB>7F9(|e!6aJ2y3a%EA(WtV3nq zQgC*U9su^<3{oPPxXH5u6rsCU2u!s%Z1;!`%OFzd*CW~A)Fph?uAl5+zhUb&4&)>t zY%;KodBO^lcv5lLyhiA~Pu8MVT4La@58kA#*{P+68(S7Hm08YEyEH6U-0*eaw#md= zkX@^dl!!!oub#}r&90P?S#g^(Orftgul09zYlz~2o>;nVEVpqnSFbh9M=Z)cEziNp z9<_K*CF|T|6@0sF*qo;~-_h3AR?>73Y}Z0m`1DfBM2Rtjx#^*igd-(@aolIhJ>^-e zd9x#%Nj&ZMD$Z}kW%AcuoDT%Pq&QS?IigE-rJ5vJzl^MB&pFIB7aq$J$rc~tHLbQ> zv#&J7o?M4;4?w_cZpRB4K7M%$yy`51Um&}<$u&Phps4q+wLCM)&B2Nf7VK4yGgj#x zylGF>zExii*{vg9*mTCRx{uH^SGT~!5)&v zcRN-`c;A@vCf12s^${KN%ZeoqxaEZ%$Ne7jf{)U=O zHtbWWaElyiBN3p$D(x8mYbV8!22v~g*Zu!|MUWAoVG4Hd|KuKw8)NvE*@sq-#5{k4 zoV=;I0o7ox=KnrQ3siCC2mz3kebKMJx$9u!xplK&U-E(g7A81C!?X%a)XvNrIh?Za z($FnHZ^7D6cRPYW(5>oPv)oRsW)=*g3x_#S{rJ~{{1>Ik#Dwjw0g_?a`2&|}gms$W z2v7!9N~!4?uZvw`U0)8FwDO#to2V+TjTVzgZ4=D6tft+2kXb3VJdWqR6U#iZ6nKo} zNkp<-o)P>0C;$IHo=qV0pSlJfC2@qjmA`H8 zI4HkM{XbsN|D*tS7F=#+qHap#&Jl0nWgSr|x1l&5Z~wYDLh#eYJ=xve+nvvhpa07E z_ZKy}%1~nmp;C3m#$LkRUe{w(p_8CdA{)_9DTjWtGr@4sVNg;d96kq!0z@N-P0K%( zmf3129%A@538g|)Ys{IgUULpz3NctyA}g97UD?Djs;|W(*x9$_^h=#=ULCTyLtTsy zR&$8Ezl)Y=TlIb{)OB!I|N6oCE6cNgFU9{zf`R_D!z%0wDLp-fKxFLC@0qDxmVqH5 zvUNZ+;6y4a<>p*kqUrJ{E~Wu1I#V+Ztpa&xDl2*kv0nae(m_b+P4MD`T+)PZVQU>yN)AX@Xf8w=D8be=+d0g zUg^^@e~Xs$_Tw?Hy{q8!`G& zdO-k&yA>nQ`mO4DuW1-3loNx3Z+^b-j7ZZRT7>d9V@2xVFzJdimpZiywGb!->fC@8 zE*#NvSPGec_0(Z*5ya^QZ=VBsp*$w%iW&@eKwi+B`l4yX4hT4z2}kVcVf63L!&^Mpj*%|?!Cnkz?GOsFm{aqaAK6%I{gm?vDW45Ac`v;hC}EbN4*dV?wcn#TYs6s z9b)j)Uynj&W^Sfm$-nwH!w?^3Nny#%d99e6eLT!^OvpE>DxL&|g(X9bCU)_8kbKSE zc$2>^7m62-G8gHD_L6%iM>)zxb<> zC_ICh68SvY;IRs)k_S$H$bO2Xf?^gyzo>oy|zQV~^Bi2o%6t8f1+tTp5ez=>N ztn#S6i|*2JSD7b~vN9+}H^Fpi!)~(IMx%1lYl*!!C3u2;T%1EW89_vavm}Hpqkft~ zRgG)yx>HqV>D|YDFb^5Ae!*drj5R8LjR_^gQ>_L;$WA~}nr1=fn=)r9IkXix<9)1GW*lhS0{m-E62=a#)k}|A`b?p9E~GZigzR69R78Kc8N>t0Ql?3 zjoSTJ<>@Qi3wNYGQSRWf_nbZ2h~m$Dz3-=@Af!w5iJhdj6#&!~qMwMra&)W|d2J^` zi^@GyqAiq${#%>-FFoBc6)cud?yc)fV}xpgnWEPF7wXZxN)Eyg4VG%6frs300Dx)L zVZ)E>$Sh4a3@DjRMCb9-8m)E}6NI+Z_czlh-&E^pwak~+y35gfz57%TT%LcF`+8l9 z`H&|ReJi@iKJ|b%;p~B-{Kvv)#@6!&{HL?I4V|Y)i)#*;6h&O)Wov8}q)U9;&5*9)QS_OH*4=3>HWAspF^9ZktW?CW z4VyWa-31ay?3kJw78Is zCBN-AoV`>CjTse3?s`q*RsP>5b2k@DNFuiq_n>J4)8VB!@T)!SXF%M=B)79R8;6Zd>=4*xz8=Dbd2} zkE;!ahA9_C!o4MGK)Hlcd&e*?O((s@8o(Cy#~_98ATJeghz_rLjG#d{p@{fvCynup zC0t~+iA}w(h;dpHp@8^g!S&~ZI`6P7rxPQEf`P{Um7$Yt>P=Dj>lY7|(*-%XUV}g@ z4ZsyIr0(h4oHP+8cdr4ot>MJ9hNhCAg0OX5!9IM8T-)i=e6TKvu- z-g_glC2Z*}%!vMm#W3VBiAoH-7cdJW5*b<^5J5!o3BVr?20F*-fqv?TRr58acQ*We z1!(asA-xae}wdATz>*D@I7g2_Y*8EfDUEoHrZiL7@CV()A9BqPocn zzvlsro{YLc?axFfn(3!=okWS>DC^HZpx-0`#O4J)*01`Kcq*AVs$$9=5Nb3^-_(Tm zX~;~hQh!S_87L^DA%kt`)QO!3^RY*S>^&T&)JLK(`qSHL7EK%%K{X3pB9G-Z8}se6 zi>e+oYs5sLDtM*qpToJ-gm)hoJwg070RZpH-!b(fD-oWHat^PTwAqd(C}z5HDnvA{ z<7!CUXSTMj7TAj5tL{+1F3U=bi&St)}Uhfv!wv$0rAugFg~A zW8D{7rpfK&8`jTLIqB8pF5fkYgo+5#&7%Y!^j+< zJ13K;r0qW?`LDAo6Dt$PGi-jR4iodVFf@_vnJAv)96P+UVe_Doj;$0y*mS(=AJCzm z+0%^)D{pxrXa(LZ z&no`T=`KHNo;*ohE#A)^1I(<~EI(02%yZBR$Y>a^KQZIT>x46;eyJ;~!J8Pi)q%>m z+kXXsRdZtV(`+UvFtEFWW|MurA34XUxPGihroZxV* z)afq4z&LR#)1)lBf_D$b#&-_Gx~tFGPtDeU3@&6e4=_!v6i#M|>uBr;(y(fbC1mnh z8&iAdG;z&+wMpW%0obkr1#=bqoGzeMptr&+B|Lca@7I#`blDS02`G#7pK`38Z{uJ7 zh-AqaWFzufBdw#+=dq`BQ5Y&J6yu0v!{@^36^`okz^H}wxl53##TV2Bi67g1tPJBlX5SCj#syMo>+?AI1{PQ01X8}igka~{5G2KG*WfD%ubu+s-E_a~f3=|h z%JZE98+^+ccO)lKYf0P}2{y@;!IxdOoa-jBrlUD%MgU2%2P6Cj@4aAJVun>uZ^hRv zEw~^Y($?Wxcsxv?YM5Pr(HuX=(`oEw(72P_z%Umq6q@BkKX2;4Ik76bgala^%^eLN zLZGB7W>tvU4K@4vmZ$Y%5}V@vXw|S9r;Pib*2Sj{+1${Vt_v?G zOA40r;!}gvBt_1f?c8;wbW2mWQsQ=nribuRPZIw9&>{%q9z`z`ge4t8h)ES7f031x zK^<4(VXdns6@1L!nw62Yr@5$m&^#KmhpN9*lNNSFB=KOcR+Fb+5&SZ|Nd(Q(sP8!6)nXF&9GX)st~Td+UYmQS&S~Jv5`2)WnIzH)3?Yhix0uhNM{=ib{%snbjR#)TW6(g7E7p6+xd^}_($(#7K-FrV}f1bo|6#ADR{Y9e6 zu)9syE_vEl!J&eur6bM(u>*7QZ8cJ2d79So&B9IbMY!+f%K+L_Lz9^r*Hf6v>KBhz zoO550L=!ZSi(AsFbWqhbF8rE|Gqf&^EY-sTVJctD=nHtv@q+=IezAOFrRD%`veKr` zAWiY1O1(pQR+cVtD;pc}ZEu!7_YZE1WqWU_7~d-{Ie$z|To)_kVmBg(lf{uH_aW-^ zk|)RUo^SR|Mj|G)Sz6-{czVQh`hq`jH(K)qw{VEC!trdCObFvRbHtc=LRHn&BaJ=0 z4$D+Ixi$s?JfRq%t^ranO-Y0^&>yToCwQ)a#a_znLZe+?R6=Mym%rhCT z{H(|zZbF#1=Vc4944_|525hrD)%Ca8VvxswUQvl}>T~zaz{g+{l1R&J1F9%3sBqIT z^b>tgCMBC9efIh%5-z(}-{k|}CJ}RLr>>eMRdDC$I)qp+WO$_zN^WCe7BdW!Br|xc z<*UE>cY)SbWBFM`s73xt$$9Yak~069l0P_OI~(7dp@yjPoe&k6`kg`MZ|Q>O-NaF9 zFGjhNl%9*G*id67+T!w^_g+j4Y69dUBkTDg((N*;5WNyL2zJ6nrm#+|TyqdvJ1@_% z9WEfWu#v_twT2(KpU4b}RHn~s>b9;Zj)th@H?wPwbLcNPPP(bWTwUQJ5#&h@0ko#P zOrdj4282&h+42#yc3LLVaa7hArzGa*JrnqEX9(lOMl48j#yR}>CO*P?r5nlfWA;yV z9N@*{iZtJ~cPtcCOSPZ-ej-_&%uBZB0mmJ!92bQ)s>XfjE*O`$;Rdwn6jlTXL^Kf` zL_QXApL{F=)od*w=WcDDcTcMD1rT6;m*XLDqFc;&a`?Y`HHns9zjjZ(BCK!DkmG~R zcmx<=c$<-xWvwVs&`dzJ<5B=A0^W|e625W-%st~pErPLb5)Z@d=__uvGN2j2>@P8Q zM<~h+iq&?X2V%V!MJN;kl~Nk`_Fvk;|4zx-0_Y}>hZ+_HrXj6kWm)?Q5dBv{d-V`|1ou4lQQy?1|a*jdgi*6}wp;JRM*+W<@?>Xvza8=gv zADsK_sW^M^$zY2g%*Ws8Qkz|n*Y|>racgHZE<@hNA#uEc+a3JBh%Vm{BF)4$Ztu$S z+(A1QUw3>{-gx_x*K;}T;?ecjhyT3S9frT}^>=;!Z4-aDp}+fy|1W)^ccL}fMi#WM z)f8I)2ZwF_XH^m8`uem<1ac({_G{X{f&e`{^jT1kn%U&G4{i!HVTg&7;pR1h4m4sO z3Y%F5Rac8(QxXR-2(%uN2j;-F|HsgGXA)RZK;cpcbrGK5<4D{F2H0jpr+D)Bwl<5L z+pl1VJnRAs4mhzN);>h})2$>Yh!Ygfvi3+_(Gi21=VL3%22b4*^qGTsTe5N|Dz~b| zy+y%UEv2iP!LGQrCN0geEL&SRe`oz&6Mx&p-%a7~PT_yFFMN0~Qa_P`d7=lNzDd*Z zzuI*5W4-SD44NY{;21%aSmHjrG1{_(y>0H84Cd(cYF<%+ zIyr?ew$#2x74YP>Lq!7Y=k}=6 zBZ~X_QghoY!To{4gAFb3J=UuLjz+>iW`CP`{Ob6nHYQ7c44v;i6aID7OvU`*P;A&~ zSu3&=?x4r&#mq)a6A(Zn3pg7I1ZD;>$dlD9Te8;xdCS?2M;&t_MM|3dTm_>*=O)qv{A0kwNWmIAquCa(qm5`^h7Y&Ia zL#i|Q$L}D2a72dUyQxM~6$%Nrj8kHSSBh#HKfyN_p@oPqz@e+>%2sD&EoeZF-#~fg zoQ@zURv&VYrZJfM503hBXGhN%`{WS;_a%SyNnkP1(edd7gW4eky~C@r%f$BjAUrw1A|N4URvf;n&Le}QCFTjJhtHRj-ZVT>kkR{`=9>P*SuZK>E#U z=+lO4!gQFVh06^?FgSN+uX=Cm&S;Jl)M1v=djvBN>bNw1XK0A~R-5gAOjWHBqKV+3Oc^q9oF-6?@Nvoz0O zP*@DWi@%Ea|G)s;ds)iUm8LbT$7T!vUe>3e7`+;++Z#XZ{9SKv{EQi#x>Oiu*gc)k zvYSK#n&B6pW}S_IaZS%)0o4Hocgb&mK1d32S3X$Uhs2#r?H!u$Yc*i8sLdhpaRjs7 zO;z1KNtNuGkG1rSsn_8(a^XsL`K^Xz&@iVLZm2-6qx_R>>v|JGj(Hws{6T{I0veQw z5@@gOaDOL8;DjnxP`t(+H&PcI1)OFwgBIy%HS@4N$6*+F%4HgAnRznuD7pOqYVWIq z+WfjdsnJrTP>Ne|m*7ruhvKdwxCSXs4Tsy3lmZ9^derHLnd#kc z=rZ*@XZvsf?AI){!|z(S%RSdK2OntZ#{PI`(8aC{Pg*MSiJJf*mJH(%IWD?GeBG3D z*#OE+NC?hoS)IC#xQh|L@VtBMZ?9pzr+#36>=q9-WMJiSzO)jlGSA4o-Rtja#?uiv z*@;QQM1>66RoSWOs^l)SYW&uygz4atgCA{~Q#A#VS~M zJ(mC!K4Rtpk6NCZSk>D^U0!N*=dCPk`})7&97RL|6OQrs4%XKA!EO8=7r%ty>8$|k zaxw`~0WB(*Jv|SW1l&>Qk$LP@-jG=2Z)-Hb4&8Wmfj|EGh}syucPuSYXd$_LAR6p{ zDw*+VsV}&#!ESS}wjpxQNP4sh@XI@gXC}ygcJy?ewA{#X`g?~!Nn;msh0`Y8>fj{; zu?Vwj@XgS>P=G1a#VlDJ$B4F1b=L*=3?4z3l^KO&wk9_&;H&6!gsamp$L(LIy9*~S z`?i<6wljlTXiV{Ty&=lHg>G4kdsQT5`Wk7%=eFbi;~IGjU0awRz9TDL4>Qid)XS94 zpKKkYla+N%V)aaAe1|EfbnOn^BPDl*X@Hd~%TDjF*DwBHv8$jb?LShi?T=_W%HyydnYtp>4IzNP9=4iV4^n5VHx)m2EhdHbavb^`8Z%Zvg>yWE&MDCMPV zFxrHie1EUhFvV9sHrhE~0Exaf5^DDUgB7e4eWXrFehh-}og)>-A;){m4ESRJwofJT zrYu;W(KprE+2i6hQ=$4(h7SfPnxEvh3Dp}~Se1Y%0;%FrwH;Y6v@BR8uC><+xui9rZi<A9r(_0ER7k*e|yL@<0W$qLQ*9U7u7EH3^ z-_Co}MCTcZcBDro-o@5!>BKuwE5@AY^Uq@BPq0NlZIYMPl)OrtT9|tiCp1hB2W!ag zMr(D&yAL|neKcTaOMAsvKQ2D(2>J_cUn2x!2?s|E*9lgcwtt+$aM({7k_>rbsBy~J zX#MpVbB60{{NgloHpYIL>dbiW5k2OYUt`a{&tOx#>VnAfP`S1rS9saDauTeX*Q&*8 zBIn6_^LeT^PWl$cfIq&mscqLVk?z`uC zrCq}PDJy&>_##5!JUeR5#52ne9jY#%1#LwWs^`4|c_0D724y44zcP>R*zzndv$IJC-^CST!)yx%fV2G2_ARt*lE+0La#`82> z8QFd}`?;{vwOj-!+RRX5mgY_9*v=D5IXIFc^ulY9KsE+3#5i^BaA9HVt21}{0=~(U zt{feyQRYNDUv9(sN))LlCH*84a-1w9E&W%y^3LF3w{n28&iRfvt+U*6-bB6OfwWPQ zh3AZ=?fEAdiB_dl6sy>Wf&ocGGe3FHRHzH|ar7?MQ2(BD@*}f;>aw=yUi9C7>AJB| zJ)6dO%<>pd;aTyT<&c*oyMXh=GPgv5@}n0pE|S)}aprMRx6Qom*%X!?;>YjN$yS6u z3FWS7GEXb(9YPCjy!}cWyH2Ao2kU?RSS~p{(B%dZo zxkEyb)gzjAY0h0!)&t;kW}^yx35Ek0STW7-M6kQV44#-~%~JX*5u4pE8s>l{wBa~< zayVUkvD+A~y5XS;%YXZ}O=|~E*u2%WjtB-w_q1`~5WeqpexW5=38FTO#Z(3{HL!s& zt<{hUmIU37qN8*wMox7tQ+`B8Z`AoC{c3eK`^MBwb5b(%>-++Gp*L`!)p(AKjcDtY=IP0`@9E{X5wM^b6BejO}1KqUkVe8eUq`g}TjAF5rJj0p0(xcSD zc8Q#slDP>fBpeyOfxR7kQ%>oO+6+Ov7-ha*njvpH79gxGCs`_q86S|tS|G;4{*4UgHX9OpydDw-JVkFI6t67(3-f6W_E5)3)qu8kz zb7^^y=JY*fCRul%{HiQS(4ct2w*adr`R|YKpwvh4AfjY`bsj@o|5$sr;p(ENuU*sm z5z5b+Y*XX3aq_Y_P`>dTQ|Tr=W71bwiDaMu1wv2n>3wcBl`ikg(jH}QR4|Uc7`O@^ z3o!VI`?Bv^a0?mC5QGKk-C>7Ht8MY>mhVw+s6)WUUlpEA}{rx|u(VzBU z^DK3Z&BR_UPlO|mYiXcfm@Gr5d@X{uSYcoFe;I77r`8EvOCKRa!nz?9lo`b2L1CuP<^3ZT$ADS1Dw^OmfR#x-~71G^1) zAY+}Ic9Xi4a(e7#e-_%nVTgJ11|adxYdQb9Uh+~Q4xq6U;r(TaTiFX86qjuAtm?CQ zgdXv$KJTMnF2qHx{QQ;%&w@gw=asZ#fKR{|=@3A3K7TCbwY_kI5kFE0Cvw62ad2-R z9kHP+x090qc9LW4h}&N}b!eS2IQp z^!roEl$)kbbl>lfWqxHv92Qi2P+`vRXEG+U*(kDx5WU%44>jH$8ofVQRbQp<`zRjV zd^(PiTLw{=2e@Uqcz5m};xAy#%laF)D0g>=;?~FmBX^Z!8q;XlSKKD&{YV*h4K`qj zr#?z^OU|IVJGW4Yi!Cj)qpAU?4D7z9leKk``u^t{`wkNmN1?(?UgfkcaZoWvZRwio z`!4I{Q)ECCCi50_mq05U8GQ$l=5C0*7sCv^ramW$SrX&4u&^{rIgvKamYE}kqOSro z!>WbewQwJhAq&s==UCTSaJyWqzb(-(5_XX19&=op&ikEhST5vK2}xJkXhJ4d<3k#) zXxtNI`W%l88`QeuGZ&}Q`6fC*?)nm+PYebFf$MFRdU`Tq(3HW3SRT>851j0OTv1+8ExY-ZTe`@|zhB69yh5@zknOeyhjN$!vyQIKf{c)SUZPFHe0DWsR*b00 zzV3{HlMr*_Q!)HJ<%G?0En%0yJBLA`qU*cq-rXzLDN@!JVSn^ViL>QjiPW?d^aSxQ zxFQPGIenTQraIDP#_Px#ae+`+))M}O0i8Vq?<#RQdQtgp19esZ1O@i-Ej)H44 z5?$SPJUdLGrougu8H;fgd@jF!qK+)$mI7e#T1#DCjp_WPakuXy8i%*kmfZ;_+2Uq7 z33Tuw&+AnQcxmU@uDjDOBWZU=T|a=s0=n%v@cgexJ#0-l^vJOED1<=biC{PHUbz@J z%(3UZ@WT8^M4dW|^6ONU_>CU%eWjeJQ|En*ZKrygK%Q2d9^tfDou#X`_ByklF)Mxf zYGa4WTev3H6_jB?>Zd#OWr_NkvtTlDb1F##G5FEYQBNKZBD8i*3n3}=-q)zyUysXM z`6!C>y2L|IbWZ(o7bvkT&LptLJLdz1)oYE@-TlM#Q*f%rXQ7tD$hHpYL9+16Z_C*h ziFRY!)v-&46L)Le^fEizuxruXyqT+GG5mysZDTidUeBpT@=g%%1nBM$R<%_BB=Mxw zaboF0WD=ua%+v=jOyK}Z!vwG z(lAj=qcDT7VbKnrMUe{p_m%-qU0Pwc&@qRE4Ms|as3g}y#gnU>bcYsLvLpsP z^fT;jSVY$thXpv;d#5WCpI5+{kxn%aeN;~5 ztLKz?IP98*hpSn9Ybd|z&CM7@~a}R3l*E!5TW7Q#*TD- zXs?$oB865dB(&p1%(RaTCS)xXpNPhKQ@uKfk;hMKqm6Fzom6Eq=sSdHKH%OQ({`Wv zaZ^Y*HXj&!?yq??GhE&LwECKJfm-G>LfObis>yu`(!B3od*z@Od5T}W+ZEGLDc(21 z?;0pLGQpK0)lKaDxjLXcr>Y`Z z**}>@P$g;TyiQWfVkGvnwIr;v#b-BSbx4JG^0v;MDsihd-idb?dP-Z`>+YyGO$~#t4IT z{M{%p#H3JxYHgmK0FFXcVTD`dIx3UJQ= zVwfVw<*n+}sAp|#ZuZdFS*6#yD$Y3i13VY;*L?A;m=TM!QZ9R>es`c-NlyI~r>@@H zliFsqSZBvR&xs@1`+tdg{tc5SMzgC~-M)s>pJj!YtT7_uHm=ii9U@IMpoN>GO1B1! zr?thMFC5z&s>HX;ICk^HrUPN)E2r`g;2{E```m(d+!6;Z4nh7MbX-gLP}E`Nf(8_S zVD*>7)fHg6ecrA;e`&8VQ=zv|$j^ zBRd+It?NF+n7m@KqfTZM95MQ0Dh}HvvOcGX7&p?E4w?~&P6B{h!yE&1;>{RjV1Z&II}8?=AR+iKSt8RJ7gBSlIAT6hYF9~N>Mdkj8*OVAaOE1SJYkI z&Mhlk$Hx*mjFhw{X*8=kC9r4p-@=P6>Fb^?UhoDA8;(`JK<#erHnY4EDjg zM?MgCiGK0uJin;x7a6uQ0a6j)a@Xs@R4ZtHmHojqe9}@~(}A}5s@ON5nMG=}T{k9K zqBgmt;B5*<;#uV$%WGN3bLzd-SvE-aIuf3sT*0wylc^DF_JXX3%nWI&u2I!H;B-Nv zO+3UosgZ8xzF{3eOd>^{sk37f?L}L=(R!AlZ>&wZMq@}N);H4T?wk4&=*Tc)ZKxcp zF`g!`^4@OIP{zDog2k6#j14HImb`JVY~3bYSU(XX(9KwUb5#D;82xNFrEY{C7N=M4 z>XcM4CTg9N!K|ps+p}oxzo?<*r2)n6L}X0?s1lk-7s&u^6#-fwyx1&Ff1U-zukmb* zsdr6!xpy7ax?5;px6$x*WLWq)%+X|E?z>IAc)e#=3JRAj3KwYW&U2-iXQkXGLzeR2 z>~KCDL(}l6dif!m05HSqg4M1kFbtlhYYQ>=M++A;sY34rhAV(N6|ey=P38ExI}l_$ zWl`k3CIS=Mbar5x66|FVdN|P_Fn(n6?pjX-gLWi%{4dq>*1UhPs2RTR-8UW7Ex%Fy z@t^U;-dxp4Up@*<9xCP%kSa_?5}U6grNY|@2YKZtY>*s)w3S86jJxqVjtL zt?+#GZIIi~TGOt|w)wnJ(u@3cW})r8`Nh5tn09gPkXPFdd;mBPH9dig3`aUx3BP~^ z*};W{>Tfwwm>$t>9xK>fH(nU!&E9V)%Sy1-J-sVcce22tXHHkM<`}2+tdoZCa-6@P zkZ=>Gn1nOt(pUI*h^sGBGisRJGele;nmDWq3+P-`o^cE4-Wf*ZhW)|HQS|tOWwlKm zDRZiFBfRkId*+GpubWlnj|sOo;IaF%OYb97nVas5ko!K;F9`=XGB+l7<9D%S?*sS* zk>zd0es6$0zTzo}Jky2sYRJ{dZo2rECT3N>!Ntcq^dTuTifzHQqjlL!1%!piFT;5=)o7iSlgAkxe0XZvIwdNaPWy` z)(?2!sUJ*ouX#yo9w?I^rl#FT*Gr4*fD{3H29uF=Ll(riEJcdjV9=!5PWv`Nj9&n) zdg{1^`J|LXUsa0P3HfzT9@x6e+~`yze0MF=+})7*RNM!al;(s(oR}IL_E8NS`?@M@lB>$CKL7svAMF+Y>R|p4&YVvE zhoE)lIdn8B(V1suyy9m<)|?}QiXj-O6SXPaJB+M7^j)J<>EiXb!!1l_RU5q2<;_Be z=4X%Y^o~m`f@vG7Uz;^|Zyq%+C|zH=bSGjR2orVPnf}_qlKA_gzn9=|6#Q)nfBS-e zlRKn5E%PM_uzQO_?MxZM^k)xMfATP0hi)$7Y=s3&(JPwmr|M+f-3$lZ=G(6ZRjKI< z+x<(h^51Xu`#-oR{ZBoL03CL8YIUFx*4g+3u6bi#d&>4G=O4d(ta_g&rN56!tj-M{ z;Q!Zq!JLFT%fk_icq8TJCFYbIcMc(GS zndNMY56{s3K-TQsq3&VW$Llat_Rz0BfZpikC(FgmBhqHu}k1p8&@1krGzcP z%Y)gBQ_)b2MJSMeOcS&lRl3$DY9A*)nTR^VtugM8&$2nq_84RzQ)SHMFwrpvg>Ce3&MMD6~SLmnhA%THiiKa zc6}x^O!qvxz5s(q16~w?_gMK>EVZ0@ancd3VRYT7j)$S)QGZvLWU#zCjKoj4+a;jOhjRI6LDax)D zt=h*fT7O93SX00!xGTh-Ehpg4nAuY>&))3D6|<4)8X@$ejR>3F#I^LSa0h4}x)B{M zB$qA0p{o0gtw$4sTfbL9MIbR`Jj|;M z{!|!Mt!4U=SBh8leA75UgaXu@1#-vJ?-p5e4dIOYy1f`i_KlU;Y=DOfKVy7731;5d z$8q>3vvtIGbCI~?Y?sUo%+KwtRD(8H0)uzFX5jAu+LZCr%Yn995@BN(P6@Bs!<31& zvHgb#BL<_7Gafsd6Dmc=!Gr04&Yum?P?0g(BS^+LbXp5_)m#P*^G+TmP;6~U7K)8d z2sb;B&g0PtI)zK~7@t4&(ZIl0c@|ljy}{&P5VvP(VhU|O>XW0U42S*Mib$3>fq_{8 z^n&mItBwCV2RH4z_q6Q3PU>!@?(I#tsio}Wrt??q+Kt%Rkqolth-32_i19ajL9-W} zuUT_e*K;Lpf69)`BxY~`7Bx4S=wmBtikl8uGj+j<-Z0^7+~&Os@-HUoM~BX_7DD~} zoFJlDI=bRCUqsVd<KOrP#wJd5knK`M_#nsU6_%MDv&*y5rnKnrctqdY z=1QROTrWpDI}`L9jewCc#{k+qs%0mzhi0>OLLqVMi+To4eQEMV185v<&%6*)Lr}{u z%#nbYC`SURi*R&HK;}~ifsps7V}+hx15MH8jy>ikN5PkJTkJk0q&jk!6yf7#Tq75g zy?ew=0|JpMITkwvViDwJs3-ec%*;<-@i+ZuQNHB9 z+8;NPTU5M#Mpb#ZL1S^n9WzR9RG&Jh$!e?Ym7D34Hgx)1A1@4W>}fLSn#-x32gxW} z+IFZjH}&=wM%m4g=FLc2k&;bR>ni-ERmx zj%ixG2UA*qk>_?6HBmb0Ze4_v_vgh*X$7~#GJZ+(q~(+(Qi@0#J?rMS`##^x>@=Rk z*w+Wm5`qf$<8?~gu25&QqhY~FmU<*LV8mwkoh@d#DE=k8Ixu#H)|f3E(3Aww=@nZP zlK8wqJZrqtY~10PB093DYQ9F0BOqr<=QXO`@>&@!#=b86iDu~gnt{@qssxw&+n*bw zhLL-QWgI_G&ftZp-YZD27$UHFB;d8bd7ETFnRROPW6Ge%?ee&xZ()prt291`0#x-b z&%Jfyj&+6^j3n!*e05ipU-)%)oyp4luQCq2peeYr9CgphZ;PQb*|Im`%C}ijQ)0LZ z$f;jnm{CnvWJwvD=^Jw6Z><5OOtSmIb$v~<+?9Nsf7S~au`_L0nA#HVI=9!aXo!GJ zApE_TwN=I91T(aPy5D(v+GueZ{RT}w`hK$G^7JpUwV?uqWlIPNuPa}#&i6pS7njhs z6>>O~su`LZJTf22wjKp-W+~+#-B?Uo5{FH7wdwqT)%)zS)AWP6W%~=@ENc{x5Kg-h zlBhlrH!Ftzb1or(88J(>X7W%uQrW`V>P9_7WiUC;dF*@nayYd(FC=$nc=J+#a>%O_ zKzzHi4i5)9W-pe=J`k9ll4sj?f#wMYgQJ)oqF62AM_(hO7G30)v5tq+VhOwLM=VNP z%?t&DhpNLmmek$bNcks;z*&W?9E3;Ca7gRh>Z>uN#-bD2wyPIR)htjao*zd^Rz*&zK}nJc@-x9=w#``rz|4-XSH zN1+nHB@ZQMreU=Zk)kH36a8G4<9#)4n+x6B$(xet3I*OpMk}wJ^N4x~_vGhyd<+tF zY3$LhXtIxI;4W<{8KMST7NslYGCm|(b5T~-M1@dR=WWns{230EXl>*Z)_k??fMr&F zPJHyZQC0`*DC(pv7vHV>nFY5pqcJ)MA>FZ#-KeyE#GXAoU1Z&_i{7jyan^TvSdwv{ z)EfGLYpubW35cC8AtQAhrUzj^%Y*vXti}Lfox(MJVz_v!Afowc#@5d(Z~s~@s)Ji8 z->3Gz&QamH3Qca}G92e-Gff`TogwoR?|E~S+mxEMnqY+%bFrkFESY#B0#?f*3Z#Y zCv(cZQ0bp`aYeQ~s^y8y&bIN>Pqcx19vx<%UsP^pnZGrg)tT=Ye+ z)km@o2ikM(oci74U#M(dc@5*ebi7e$4QfcnK4C@}2Wv_$0t0aM7DEOt*gSO!4B|v8 zqJ4%9CWP^xq;0=&`CXP};$^7ck5X(99BLA*p`VRCX59FLC0ye8PVsYYffif(LIhnr zYHjRTQJG0UR~*Idu2n)`y@+d(=Iy~HEv8&1S(@Wr=4?>7kVlY;^gPK)9WhI$LNu7o z#Lt-}X}Y)6Ek)Ch7VgaU9reA>u!|#5nWyrNSBv42`mu4|pC$dM!d(YRoj{Q;oOU03 zA-;+6g+Zhm_&30&o+VCM$J&HGesW2INoBRsX^Dk>6|+tQCh{-yY@A)cbjZ)X{pWuA zZyLQ?(ygMl6?>=FrgE`=fO+vOW0PeEc5#IxG^n-Tn7JN_X`R|kyzxh}q;tCHU!lQXwW#G*?FwjX18dy>tF4j3_ zpX;Lm`8;8R-Vu>3_K!4z^a%A{df}>UMniMYiZDSnq{$nN0aPqQW?N$vtk1QUNR&d10!sovx_kS5GqKW4U}1VQvQnPaF8ET(cBwvStCTILVMhCZS)3@(bCX%0|m&}vAZ;WU(2ku0JEY7yAcdxWqX$T8Z# z2jS^O9OoFSM;${OQ*>_f5&K37S&YVa+JIsfeSWv9r_+eIoqoQ#!$}B%TBHu4OM0g! z8KRFkb&`V*S(!#@;|Ql6YMR~U#;bAcGOn!jqBqH$5cvkJ(F;6 z;gRnfd|4Xy_<_|Q5(Ieok*r9t`jUDuivx-=Pa|QN5=IyrEQPDfO2V(ZXxLn#?&!dB zpqKLnj8{z5+xCH2nyQbIlS7*ttQLYhBz6PbbElSk*GzvXa*VrSZTuWhY&ESPQjASO5Y$_H5s?CHm2hqop z@G95X9Is_s8?so$7l}7HTW?*XrvG4xrI&)NLGOUR_Nfy5wHi5}K2ebMW${0V2W49Z zAuow~UTyJN8?LuEOT+~whT%|~%`3?@!Q)?Bp-uK@w|MI>O1H=1(SnHoI zws`YlP$8|k=aZzC*g(UxL*D5aavpidT-)lM8us3H>l5sBejrM*UW3dCfd{@qrsS9s z%WaZvJXyTM-p#EMzSzaQPiFG#ZV{?Z5PhYhb!Aa6&o^`tsO={`Na*)Prl@&YM5N_4 zddFR+E+^-j73q@Nn^}`C(2xeGXMs{ltgbOdu3i(sJlsTtWonxGzuQR({0}Kvk9{*% zb7|a~n=o4Kdu`p>sVuv5-DkR~aF;(=bMNW@n{&*)0TE#vO|L#2r;%TRyy&HXf&!;O z*GBz`U!ogA0%lj<%}7`d9nIW&%^XNM&EC>gi^DrguMa;$S02mUj=MelgO!O%lsTM^ zkU4()^jxYD_YR19^9QR#>t395@D1HEW`g%J!RgW6fhh0~7Bg0u_tKm0Evb?h*Ntll zH>r=>BV_|=ohnbrPv4bZtd|Q@Fxdc8fsfG7hDVPs<3h$*Ih>exKJqQ^CsBXoJ3aim zZ>m^g;3A*B@pNuu2*UHb4?U(0Cj*i%A2L!;H%s|I?2e0f>WS?Yl)8Dz0J1MVwSJK} zg-USoW>;DwDg2b;=cId`&K&H)3eiE}S3^@Qq6OP`+sz-sMuJr6&YgPbF4-Pk=b`T9 zE&&Ix!&b`i!Zr$C90oa(-5?u3{K4|e0sO&Ae*aEoA|h^x!!p`1%X1jbw7K>4by&38 zkCBFF+zI4e1nz>!D&Pc#u0xc$@Xz4KXGAOvg(Dj5lK_}*RDCBZ<@Se~f3dbd?xVAF zn*|v{o7~FX&WinFO1Y!eDPKC{Ggd3tPn;Uc*V6|a59M2W|>)bFxq@3YbbQq!09@fr4$GTN7$<PLTH^!F0{je@@o;cs8?zr`I=hr=}7X6l;Qf3-Jlm2yi~-ge)GI)|Yi zDu>rmBTP6B>+b2O&G2Cv3pSyc?r)7%>RstphX=Jn{rXEzW{~FZ??CA(PL&Tsno(wM z&C{5Fu>BYOV+(sel~yhkiqglX2U0m-%~cY=0=Znf_@>s%+=hiM-h9t}V~gRJS$_6= z=kmR)c~~pa+Vlz5LhBzaPsX0|tp^CNyC2Gt+9Qu_(YId{2=X(r`;gZkXlZ2l@M9Cs zA4-acT2qnH9X|H=x%n#0^Y?xJUZ215^S536f9*HK)S?h6zPtz`LAdn#J(a_+KUm+t pt9fI8RRilSs^jo1aX078ls1;KYhS_MP=Ec0lm37EBlBnRKLH4a_4fb( literal 0 HcmV?d00001 diff --git a/src/content/docs/aws/getting-started/local-development.mdx b/src/content/docs/aws/getting-started/local-development.mdx index ec243b5b9..a6b02fed7 100644 --- a/src/content/docs/aws/getting-started/local-development.mdx +++ b/src/content/docs/aws/getting-started/local-development.mdx @@ -14,6 +14,7 @@ import { LOCALSTACK_AWS_VERSION } from 'astro:env/server'; This guide walks you through starting LocalStack and deploying a serverless API consisting of a Lambda function and a DynamoDB table. You will perform the entire deployment on your local machine without an AWS account. A successful deployment results in a: + - **Serverless API:** A Lambda function with a configured function URL. - **Persistence Layer:** A DynamoDB table for message storage. - **Local Cloud Environment:** A fully functional local sandbox that emulates AWS services. @@ -30,44 +31,32 @@ If you haven't installed LocalStack yet, follow the [installation guide](/aws/ge ## Step 1: Install and start LocalStack - - - Start LocalStack: - - ```bash - lstk start - ``` +Start LocalStack: - The first run triggers a browser-based authentication flow. After authentication, the CLI pulls the LocalStack image and initializes the container. +```bash +lstk start +``` - When the container is ready, you will see the following logs: +The first run triggers a browser-based authentication flow. After authentication, the CLI pulls the LocalStack image and initializes the container. - ```text - ✔︎ LocalStack ready (containerId: 400b3e61f3c6) - • Endpoint: localhost.localstack.cloud:4566 - • Web app: https://app.localstack.cloud - ``` +When the container is ready, you will see the following logs: - - - +```text +✔︎ LocalStack ready (containerId: 400b3e61f3c6) +• Endpoint: localhost.localstack.cloud:4566 +• Web app: https://app.localstack.cloud +``` ## Step 2: Deploy the serverless API -You can deploy the Lambda function and DynamoDB table using either our AWS CLI wrapper `awslocal` or our Terraform wrapper `tflocal`. +You can deploy the Lambda function and DynamoDB table using either our AWS CLI wrapper `lstk aws` or our Terraform wrapper `tflocal`. These tools automatically route AWS API calls to your LocalStack container, so you do not need AWS account credentials for this guide. - + - 1. Install the [`awslocal` wrapper](https://github.com/localstack/awscli-local): - - ```bash - pip install awscli-local - ``` - - 2. Create the Lambda function source. Execute the following to create a project directory, a function file and a Python handler: + 1. Create the Lambda function source. Execute the following to create a project directory, a function file and a Python handler: ```bash mkdir -p /tmp/localstack-demo @@ -87,20 +76,20 @@ These tools automatically route AWS API calls to your LocalStack container, so y cd /tmp/localstack-demo && zip handler.zip handler.py ``` - 3. Create the DynamoDB table: + 2. Create the DynamoDB table: ```bash - awslocal dynamodb create-table \ + lstk aws dynamodb create-table \ --table-name Messages \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --billing-mode PAY_PER_REQUEST ``` - 4. Deploy the Lambda function: + 3. Deploy the Lambda function: ```bash - awslocal lambda create-function \ + lstk aws lambda create-function \ --function-name messages-api \ --runtime python3.12 \ --handler handler.handler \ @@ -108,34 +97,30 @@ These tools automatically route AWS API calls to your LocalStack container, so y --role arn:aws:iam::000000000000:role/lambda-role \ --environment Variables={TABLE_NAME=Messages} - awslocal lambda wait function-active --function-name messages-api + lstk aws lambda wait function-active --function-name messages-api ``` - 5. Configure a function URL and retrieve the endpoint: + 4. Configure a function URL and retrieve the endpoint: ```bash - awslocal lambda create-function-url-config \ + lstk aws lambda create-function-url-config \ --function-name messages-api \ --auth-type NONE - LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + LAMBDA_URL=$(lstk aws lambda list-function-url-configs \ --function-name messages-api \ --query 'FunctionUrlConfigs[0].FunctionUrl' \ --output text) echo $LAMBDA_URL ``` + - + - 1. Install the [`tflocal` wrapper](https://github.com/localstack/terraform-local): - ```bash - pip install terraform-local - ``` - - 2. Create a project directory and a `main.tf` file: + 1. Create a project directory and a `main.tf` file: ```bash mkdir -p /tmp/localstack-demo @@ -210,19 +195,20 @@ These tools automatically route AWS API calls to your LocalStack container, so y cd /tmp/localstack-demo ``` - 3. Initialize and apply the configuration: + 2. Initialize and apply the configuration: ```bash - tflocal init && tflocal apply -auto-approve + lstk terraform init && lstk terraform apply -auto-approve ``` - 4. Retrieve the endpoint: + 3. Retrieve the endpoint: ```bash - LAMBDA_URL=$(tflocal output -raw function_url) + LAMBDA_URL=$(lstk terraform output -raw function_url) echo $LAMBDA_URL ``` + @@ -239,7 +225,10 @@ curl -X POST "$LAMBDA_URL" \ You will get back a response: ```json title="Output" -{ "id": "3e1b5cae-4386-447b-8567-f0615fdb0fff", "message": "Hello, LocalStack!" } +{ + "id": "3e1b5cae-4386-447b-8567-f0615fdb0fff", + "message": "Hello, LocalStack!" +} ``` Retrieve all your messages: @@ -254,11 +243,14 @@ Because no actual cloud resources are created, you won't incur any real AWS clou ## Step 4: Inspect resources View the state of your local infrastructure via the [LocalStack Web Application](https://app.localstack.cloud/). -Navigate to the [Resource Browser](https://app.localstack.cloud/inst/default/status) to inspect your Lambda functions and DynamoDB tables in real-time. +Navigate to the [Stack Overview](https://app.localstack.cloud/inst/default/overview) to inspect your running resources, which are the Lambda function and DynamoDB table you just deployed. You can expand each service to see the details of the deployed resources. +![Inspect Resources using LocalStack Web Application](/images/aws/stack-overview.jpg) + +## Step 5 (Optional): Continue with the Quick Start guide -![Inspect Resources using LocalStack Web Application](/images/aws/localstack-resource-browser.png) +There's a lot more you can do with LocalStack than just emulate AWS services. To learn more about how LocalStack can help you inspect, manage, snapshot, and debug your AWS project, check out the [local development quick start guide](/aws/quickstart-library/local-development/) to continue the tutorial (be sure to skip the cleanup step below). -## Step 5: Clean up +## Step 6: Clean up Stop your LocalStack container to remove all emulated resources. LocalStack is ephemeral by default; stopping the instance clears the state. diff --git a/src/content/docs/aws/quickstart-library/local-development.mdx b/src/content/docs/aws/quickstart-library/local-development.mdx new file mode 100644 index 000000000..3d60880b3 --- /dev/null +++ b/src/content/docs/aws/quickstart-library/local-development.mdx @@ -0,0 +1,285 @@ +--- +title: Local Development +description: Use the LocalStack Web Application to inspect, browse, snapshot, and trace the serverless API you deployed in the Local Development tutorial. +template: doc +sidebar: + order: 2 +--- + +import { Steps } from '@astrojs/starlight/components'; + +## Introduction + +The [Getting Started - Local Development](/aws/getting-started/local-development/) tutorial walked you through deploying a Lambda function and a DynamoDB table on LocalStack, then testing it with `curl`. Everything up to that point happened on the command line. + +This quickstart picks up where that tutorial left off and shows the tools you can leverage to inspect, manage, snapshot, and debug your LocalStack instance. You will use the [LocalStack Web Application](https://app.localstack.cloud/) to: + +1. Confirm your local instance is running and find it in the browser. +2. Get a visual summary of your deployed resources with **Stack Overview**. +3. Trigger your Lambda function and browse the resulting DynamoDB rows with the **Resource Browser**. +4. Snapshot the entire application state, wipe it, and bring it back with **Cloud Pods**. +5. Trace the request flow between your Lambda function and DynamoDB table with **App Inspector**. + +By the end, you will be comfortable using the web application to enhance your workflow for local development, alongside the CLI tools you already know. + +## Prerequisites + +- Completed the [Getting Started - Local Development](/aws/getting-started/local-development/) tutorial, **without** running its Step 6 cleanup. Your `messages-api` Lambda function and `Messages` DynamoDB table should still be deployed. +- The LocalStack container from that tutorial still running. If you closed your terminal, the container keeps running in the background — verify with: + + ```bash + lstk status + ``` + + If it reports that the AWS emulator is not running, start it again with `lstk start`. Since LocalStack is ephemeral by default, this gives you a fresh, empty instance — redeploy the Lambda function and DynamoDB table from the tutorial before continuing. + +- Signed in to the [LocalStack Web Application](https://app.localstack.cloud/). + +## Step by Step + +### Step 1: Find your running instance + +Before opening the browser, confirm LocalStack is actually up and check what it currently has deployed: + +```bash +lstk status +``` + +```text title="Output" +LocalStack AWS Emulator is running +• Endpoint: localhost:4566 +• Container: localstack-main +• Version: 4.9.1 +• Uptime: 12m 3s + +~ 2 resources · 2 services + +Service Resource Region Account +Lambda messages-api us-east-1 000000000000 +DynamoDB Messages us-east-1 000000000000 +``` + + + +1. Open the [LocalStack Web Application](https://app.localstack.cloud/) and sign in. +2. In the sidebar, under **LocalStack Instances**, click on your running instance (e.g. `localhost.localstack.cloud`). The instance should display a green **running** badge. + ![LocalStack Web Application sidebar showing a running instance](/images/aws/running-instance-sidebar.jpg) + + + +**Expected result:** the instance card shows a green **running** badge. Clicking into it opens the instance dashboard with tabs for **Overview**, **Status**, **Resource Browser**, **State**, and **Extensions**. The default tab is **Resource Browser**, which displays a list of all the resources you can inspect via the web application. + +If you don't see a running instance, see [Troubleshooting](#troubleshooting) before continuing. + +### Step 2: Inspect your app with Stack Overview + +Stack Overview gives you a summary of everything deployed on the instance. + + + +1. From the instance dashboard, click the [**Overview** tab](https://app.localstack.cloud/inst/default/overview). +2. Look for the **Lambda Function** and **DynamoDB Table** items in the list. +3. Click the arrow (`>`) next to **Lambda Function** to expand it and confirm `messages-api` is listed. Do the same for **DynamoDB Table** to confirm the `Messages` table is deployed. + + + +![Stack Overview showing deployed resource types with counts](/images/aws/stack-overview.jpg) + +:::note +Stack Overview is a **preview** feature. It only tracks a defined set of [supported resource types](/aws/connecting/console/stack-overview/#supported-resources). Lambda functions and DynamoDB tables are both covered, but if you extend this app with a service that isn't on the list, it won't show up here even though it's running fine. +::: + +**Expected result:** you can confirm, at a glance, that both the Lambda function and the DynamoDB table from the tutorial are deployed without needing to use the CLI. + +### Step 3: Trigger the Lambda and inspect data with the Resource Browsers + +Many supported services in LocalStack for AWS come with a resource browse that allows you to view configuration details and manage individual resources. Use it here to check the Lambda function's configuration, trigger the function, and then validate that a new row lands in DynamoDB. + + + +1. Navigate to the [**Status** tab](https://app.localstack.cloud/inst/default/status). It displays a list of the running services at the top as well as additional services that are available to use within the LocalStack emulator. +2. Under **Running** services, click **Lambda**, then, within the **Functions** tab, and click the `messages-api` function. From here you can review the function's details including the ARN, runtime, handler, and the `TABLE_NAME` environment variable pointing at `Messages`. You can also update the function code, invoke the function, and view the function logs. + ![Lambda Resource Browser showing the details of a deployed Lambda function](/images/aws/lambda-resource-browser.jpg) +3. Click **Invoke** to open the invoke dialog and paste the following JSON payload into the input field: + ```json + { + "message": "Checked out from the Resource Browser" + } + ``` +4. Click **Submit** to trigger the function. + + + +![Lambda Resource Browser showing the list of deployed functions](/images/aws/lambda-resource-browser.png) + +{/* Screenshot needed: the `messages-api` function detail page in the Resource Browser, showing its ARN, runtime, handler, and environment variables. */} + +Now trigger the function the same way you did in the tutorial. If you're in a new terminal session, re-fetch the function URL first: + +```bash +LAMBDA_URL=$(awslocal lambda list-function-url-configs \ + --function-name messages-api \ + --query 'FunctionUrlConfigs[0].FunctionUrl' \ + --output text) + +curl -X POST "$LAMBDA_URL" \ + -H "Content-Type: application/json" \ + -d '{"message": "Checked out from the Resource Browser"}' +``` + +With the Lambda invoked, switch to the DynamoDB side to see what it wrote: + + + +1. Back in the Resource Browser, go to **Database** > **DynamoDB** > **Tables**, and click `Messages`. +2. Click the **Items** button to view the table's contents. You can switch between **scan** and **query** mode from here. + + + +![DynamoDB Resource Browser showing the Tables list](/images/aws/dynamodb-resource-browser.png) + +{/* Screenshot needed: the Items view for the `Messages` table, showing both the message posted during the tutorial and the new one just added. */} + +**Expected result:** the Items view lists the message you posted during the tutorial _and_ the new one you just sent — proof that the Lambda function is writing to the table you're looking at, in real time. + +:::tip +If the table doesn't appear, check the **region** dropdown in the top-right corner of the Resource Browser. It must match the region your resources were created in (`us-east-1` by default in the tutorial). +::: + +### Step 4: Save and restore state with Cloud Pods + +[Cloud Pods](/aws/developer-tools/snapshots/cloud-pods/) let you snapshot your entire LocalStack state — resources _and_ their data — and bring it back later, even after the container has been stopped and restarted. Try this by saving your current app, wiping it, and restoring it. + + + +1. Save the current state as a Cloud Pod: + + ```bash + lstk snapshot save pod:messages-api-demo + ``` + + `lstk` uploads the state of every running service — `lambda` and `dynamodb`, plus `iam` if you deployed with Terraform — to your LocalStack account. + +2. Verify it in the web application by navigating to **Cloud Pods** in the sidebar (`https://app.localstack.cloud/pods`). You should see `messages-api-demo` listed with a storage size and version `1`. + + + +![Cloud Pods Browser listing saved Cloud Pods](/images/aws/cloud-pods-browser.png) + +Now wipe the instance and confirm it's actually gone: + + + +1. Stop LocalStack: + + ```bash + lstk stop + ``` + +2. Start it again as a fresh instance: + + ```bash + lstk start + ``` + +3. Back in the Resource Browser (or Stack Overview), confirm the `messages-api` function and `Messages` table are no longer listed. LocalStack is ephemeral by default, so stopping the container discarded everything. + +4. Restore the snapshot: + + ```bash + lstk snapshot load pod:messages-api-demo + ``` + + + +**Expected result:** run `lstk status` again, or refresh the Resource Browser — `messages-api` and `Messages` are back. More importantly, re-run the `curl` request from Step 3 against the (re-fetched) function URL: the response includes every message you saved before the restart, including the one added in Step 3. Cloud Pods restore the _data_ in the table, not just the table definition. + +:::note +You can do the same save/restore flow from the web application instead of the CLI: open the **State** tab on your instance (`https://app.localstack.cloud/inst/default/state`), switch to the **Cloud Pod** view, and use the **Save** and **Load** panels shown below. +::: + +![LocalStack Web Application's Export/Import State page in Cloud Pod mode](/images/aws/export-import-state-cloud-pod.png) + +### Step 5: Trace the request flow with App Inspector + +[App Inspector](/aws/developer-tools/app-inspector/) records every call your application makes to LocalStack, so you can see the flow between services, inspect the exact payloads exchanged, and catch IAM or configuration issues before they become deployment surprises. + + + +1. Navigate to **App Inspector** in the sidebar (`https://app.localstack.cloud/inst/default/appinspector/spans`). +2. Click **Clear Operations** to remove the noise generated while creating your resources earlier. +3. Trigger the Lambda function once more with the `curl` command from Step 3. +4. Refresh the operations list. + + + +![App Inspector event list showing a request flow across services](/images/aws/app-inspector/app-inspector-fanout-pipeline.png) + +{/* Screenshot needed: App Inspector list view for this app, showing the External producer → Lambda (Invoke) → DynamoDB (PutItem) chain with a green/OK status. */} + +You should see the request flow through two rows: an **Invoke** on `messages-api`, followed by a **PutItem** on `Messages`. Click **View Graph** on either row to see them rendered as connected nodes, then click a node to open **Operation Details** — service, action, resource ARN, duration, status, and the exact request/response payload. + +![App Inspector operation details panel](/images/aws/app-inspector/app-inspector-operation-details.png) + +{/* Screenshot needed: Operation Details panel for the `PutItem` call on the `Messages` table, with a green "OK" status and "Allowed" permissions badge for this app's own IAM role. */} + +For this demo app, every operation should show a green **OK** status and an **Allowed** permissions badge — there's nothing to fix. This is exactly where you would spot problems if there were any: a call that never reaches its target shows where the chain breaks, and a missing IAM permission shows up as an **Implicitly Denied** badge on the specific action, with the principal and required permission called out, well before you'd hit the same error against real AWS. + +:::note +App Inspector requires LocalStack **2026.04.0** or later. If you don't see it in the sidebar, check your version with `lstk status` and update your image. +::: + +## Testing and Validation + +Run through this end-to-end check to confirm everything from this guide is working together: + +```bash +# 1. Confirm resources are deployed +lstk status + +# 2. Trigger the function and capture the response +curl -X POST "$LAMBDA_URL" \ + -H "Content-Type: application/json" \ + -d '{"message": "Final validation check"}' + +# 3. Retrieve the full message history +curl "$LAMBDA_URL" +``` + +Cross-check the output of the last command against what you see in the DynamoDB **Items** view in the Resource Browser — the counts and message content should match exactly. Then confirm the same request appears as a fresh row in **App Inspector** with an **OK** status. + +## Troubleshooting + +**Instance shows as "not running" in Instance Management** +Run `lstk status` from your terminal to confirm the container's actual state, and check that Docker is running. Start it again with `lstk start` if needed — remember this gives you an empty instance unless you load a Cloud Pod afterwards. + +**Resource Browser shows a "Network Failure" error** +The LocalStack container isn't running, or isn't reachable at the endpoint configured for the instance. Confirm the endpoint in Instance Management matches your running container (`https://localhost.localstack.cloud:4566` by default). + +**Lambda function or DynamoDB table don't appear anywhere in the web app** +Check the region dropdown in the top-right of the Resource Browser. If it's set to a region other than the one you deployed to (`us-east-1` by default in the tutorial), switch it. + +**Resources are missing after a restart, even though you didn't mean to wipe them** +LocalStack does not persist state across restarts by default. Either avoid stopping the container, enable [persistence](/aws/developer-tools/snapshots/persistence/), or restore your last Cloud Pod with `lstk snapshot load pod:`. + +**`lstk snapshot save` fails with an authentication or license error** +Cloud Pods require a valid LocalStack account. Run `lstk login`, or confirm `LOCALSTACK_AUTH_TOKEN` is set correctly, and try again. + +**`lstk snapshot load` warns about a version mismatch** +This happens when the LocalStack version that saved the pod differs from the one running now. It's safe to proceed for this demo; in real projects, pin your LocalStack version to avoid state incompatibilities. + +**App Inspector isn't listed in the sidebar** +It requires LocalStack **2026.04.0** or later. Check your running version with `lstk status`. + +## Next steps + +You've now used all four core areas of the LocalStack Web Application to inspect, manage, snapshot, and debug a running application. To go deeper on any of them: + +- [Instance Management](/aws/connecting/console/instance-management/) — bookmarking instances and connecting to a LocalStack instance running on another machine. +- [Stack Overview](/aws/connecting/console/stack-overview/) — the full list of supported resource types. +- [Resource Browser](/aws/connecting/console/resource-browser/) — the complete list of supported services beyond Lambda and DynamoDB. +- [Cloud Pods](/aws/developer-tools/snapshots/cloud-pods/) — merge strategies, remotes, auto-loading pods on startup, and sharing state with your team. +- [App Inspector](/aws/developer-tools/app-inspector/) — using it from the [LocalStack Toolkit for VS Code](/aws/connecting/ides/vscode-extension/) without leaving your editor. +- [`lstk` CLI reference](/aws/developer-tools/running-localstack/lstk/) — the full set of `snapshot`, `status`, and `reset` commands used in this guide. + +Once you're comfortable with the local workflow, continue to the [CI/CD guide](/aws/getting-started/ci-cd/) to bring LocalStack into your automated pipelines. diff --git a/src/content/docs/aws/quickstart-library/overview.mdx b/src/content/docs/aws/quickstart-library/overview.mdx new file mode 100644 index 000000000..84d457e2d --- /dev/null +++ b/src/content/docs/aws/quickstart-library/overview.mdx @@ -0,0 +1,7 @@ +--- +title: Overview +description: LocalStack Quickstart Library. +template: doc +sidebar: + order: 1 +--- From ed0d4aaed6e42fbc50bc2f5403bafb4057b10ccd Mon Sep 17 00:00:00 2001 From: Brian Rinaldi Date: Fri, 10 Jul 2026 14:56:55 -0400 Subject: [PATCH 43/45] Revisions through step 3 in quick start Updated the function code as well to ensure the quick start had an easy payload to copy/paste. --- .../images/aws/dynamodb-resource-browser.jpg | Bin 0 -> 121059 bytes .../aws/getting-started/local-development.mdx | 12 ++++-- .../quickstart-library/local-development.mdx | 40 +++++++----------- 3 files changed, 23 insertions(+), 29 deletions(-) create mode 100644 public/images/aws/dynamodb-resource-browser.jpg diff --git a/public/images/aws/dynamodb-resource-browser.jpg b/public/images/aws/dynamodb-resource-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a52bd6a9e81ff707b15fb94cdd4c44a432914c0d GIT binary patch literal 121059 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�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