From 119bddaa32210a71916ceefe53c4f2f134b19327 Mon Sep 17 00:00:00 2001 From: Barton Rhodes Date: Thu, 18 May 2023 03:22:13 +0000 Subject: [PATCH] authenticity is all you need --- Cargo.toml | 3 +- .../.github/actions/with-docker/action.yml | 33 + .../.github/workflows/master-push.yml | 26 + .../.github/workflows/test-pr.yml | 123 ++ .../.github/workflows/update-version.yml | 45 + .../.gitignore | 10 + .../.gitmodules | 12 + .../CONTRIBUTING.md | 63 + .../Dockerfile | 43 + .../LICENSE | 59 + .../Makefile | 246 +++ .../README.md | 163 ++ .../auxil.md | 37 + .../binary-parser/.gitignore | 1 + .../binary-parser/README.md | 26 + .../binary-parser/__init__.py | 0 .../binary-parser/kwasm_ast.py | 546 +++++++ .../binary-parser/test.py | 44 + .../binary-parser/test_kwasm_ast.py | 23 + .../binary-parser/wasm | 1 + .../binary-parser/wasm2kast.py | 268 +++ .../convert.py | 39 + .../data.md | 606 +++++++ .../deps/k_release | 1 + .../deps/pyk_release | 1 + docs/runtimeverification-wasm-semantics/kwasm | 181 +++ .../kwasm-lemmas.md | 344 ++++ .../media/201803-presentation-ethcc.md | 586 +++++++ .../media/201903-presentation-chalmers.md | 773 +++++++++ .../media/201903-presentation-edcon.md | 375 +++++ .../media/201903-report-chalmers.md | 862 ++++++++++ .../201906-presentation-wasm-on-blockchain.md | 394 +++++ .../media/202001-presentation-dlab.md | 687 ++++++++ .../202001-presentation-thesis-chalmers.md | 748 +++++++++ .../media/berlin-demo/README.md | 14 + .../media/berlin-demo/div1-spec.k | 31 + .../media/berlin-demo/div2-spec.k | 34 + .../media/berlin-demo/div3-spec.k | 30 + .../media/berlin-demo/div4-spec.k | 34 + .../media/berlin-demo/example-execution.wast | 6 + .../media/berlin-demo/pre-run.sh | 15 + .../media/citations.md | 234 +++ .../media/ieee.csl | 354 ++++ .../media/img/RV-logo-blue.eps | Bin 0 -> 1015090 bytes .../media/img/cover_image.svg | 214 +++ .../media/img/dapphub.png | Bin 0 -> 6213 bytes .../media/img/ethereum.png | Bin 0 -> 13343 bytes .../media/img/ewasm-contract.png | Bin 0 -> 53332 bytes .../media/img/github-top-screenshot.png | Bin 0 -> 114223 bytes .../github-verified-contracts-screenshot.png | Bin 0 -> 213615 bytes .../media/img/k-overview.png | Bin 0 -> 223591 bytes .../media/img/k.png | Bin 0 -> 11924 bytes .../media/img/kevm-paper.png | Bin 0 -> 206171 bytes .../media/img/maker.png | Bin 0 -> 72640 bytes .../reachability-logic-inference-system.png | Bin 0 -> 125057 bytes .../media/img/rv.png | Bin 0 -> 10634 bytes .../media/k-overview.png | Bin 0 -> 223591 bytes .../media/memory-demo/.gitignore | 3 + .../media/memory-demo/README.md | 13 + .../media/memory-demo/example_memory.wast | 6 + .../media/memory-demo/memory-spec.k | 35 + .../media/memory-demo/wasm.k | 144 ++ .../numeric.md | 455 ++++++ .../preprocessor.py | 37 + .../pykwasm/.cruft.json | 18 + .../pykwasm/.flake8 | 6 + .../pykwasm/.gitignore | 3 + .../pykwasm/Makefile | 84 + .../pykwasm/README.md | 23 + .../pykwasm/flake.nix | 41 + .../pykwasm/poetry.lock | 1075 +++++++++++++ .../pykwasm/pyproject.toml | 51 + .../pykwasm/src/pykwasm/__init__.py | 0 .../pykwasm/src/pykwasm/hello.py | 2 + .../pykwasm/src/pykwasm/py.typed | 0 .../pykwasm/src/tests/__init__.py | 0 .../pykwasm/src/tests/integration/__init__.py | 0 .../src/tests/integration/test_integration.py | 5 + .../pykwasm/src/tests/unit/__init__.py | 0 .../pykwasm/src/tests/unit/test_unit.py | 5 + .../test.md | 530 ++++++ .../tests/binary/datas.wat | 5 + .../tests/binary/elems.wat | 7 + .../tests/binary/exports.wat | 6 + .../tests/binary/funcs.wat | 3 + .../tests/binary/globals.wat | 3 + .../tests/binary/imports.wat | 6 + .../tests/binary/instrs.wat | 175 ++ .../tests/binary/memories.wat | 2 + .../tests/binary/start.wat | 3 + .../tests/binary/tables.wat | 2 + .../tests/binary/types.wat | 5 + .../tests/conformance/look_for_supported.sh | 65 + .../tests/conformance/unparseable.txt | 14 + .../tests/conformance/unsupported-llvm.txt | 15 + .../tests/failing.simple | 4 + .../tests/interactive/config.xml | 14 + .../tests/interactive/fac.wast | 52 + .../tests/interactive/fac.wast.out | 3 + .../tests/interactive/memory.wast | 69 + .../tests/interactive/memory.wast.out | 2 + .../tests/interactive/ret.wast | 21 + .../tests/interactive/ret.wast.out | 1 + .../tests/interactive/sum.wast | 25 + .../tests/interactive/sum.wast.out | 1 + .../tests/proofs/functions-spec.k | 64 + .../tests/proofs/locals-spec.k | 10 + .../tests/proofs/loops-spec.k | 70 + .../tests/proofs/memory-spec.k | 38 + .../tests/proofs/simple-arithmetic-spec.k | 18 + .../tests/proofs/wrc20-spec.k | 48 + .../tests/simple/address-c.wast | 591 +++++++ .../tests/simple/arithmetic.wast | 182 +++ .../tests/simple/bitwise.wast | 152 ++ .../tests/simple/branching.wast | 20 + .../tests/simple/comments.wast | 23 + .../tests/simple/comparison.wast | 115 ++ .../tests/simple/constants.wast | 78 + .../tests/simple/control-flow.wast | 209 +++ .../tests/simple/conversion.wast | 47 + .../tests/simple/data.wast | 91 ++ .../tests/simple/desugaring.wast | 61 + .../tests/simple/f64-cs.wast | 153 ++ .../tests/simple/f64_bitwise-cs.wast | 147 ++ .../tests/simple/f64_cmp-cs.wast | 76 + .../tests/simple/fconversions-c.wast | 314 ++++ .../tests/simple/functions_call.wast | 277 ++++ .../tests/simple/identifiers.wast | 76 + .../tests/simple/imports.wast | 31 + .../tests/simple/integers.wast | 16 + .../tests/simple/memory.wast | 198 +++ .../tests/simple/modules.wast | 58 + .../tests/simple/polymorphic.wast | 68 + .../tests/simple/start.wast | 38 + .../tests/simple/table.wast | 112 ++ .../tests/simple/text2abstract.wast | 157 ++ .../tests/simple/unicode.wast | 39 + .../tests/simple/variables.wast | 62 + .../tests/success-k.out | 3 + .../tests/success-llvm.out | 62 + .../wasm-text.md | 1082 +++++++++++++ .../wasm.md | 1430 +++++++++++++++++ .../wrc20.md | 309 ++++ 143 files changed, 17898 insertions(+), 1 deletion(-) create mode 100644 docs/runtimeverification-wasm-semantics/.github/actions/with-docker/action.yml create mode 100644 docs/runtimeverification-wasm-semantics/.github/workflows/master-push.yml create mode 100644 docs/runtimeverification-wasm-semantics/.github/workflows/test-pr.yml create mode 100644 docs/runtimeverification-wasm-semantics/.github/workflows/update-version.yml create mode 100644 docs/runtimeverification-wasm-semantics/.gitignore create mode 100644 docs/runtimeverification-wasm-semantics/.gitmodules create mode 100644 docs/runtimeverification-wasm-semantics/CONTRIBUTING.md create mode 100644 docs/runtimeverification-wasm-semantics/Dockerfile create mode 100644 docs/runtimeverification-wasm-semantics/LICENSE create mode 100644 docs/runtimeverification-wasm-semantics/Makefile create mode 100644 docs/runtimeverification-wasm-semantics/README.md create mode 100644 docs/runtimeverification-wasm-semantics/auxil.md create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/.gitignore create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/README.md create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/__init__.py create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/kwasm_ast.py create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/test.py create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/test_kwasm_ast.py create mode 120000 docs/runtimeverification-wasm-semantics/binary-parser/wasm create mode 100644 docs/runtimeverification-wasm-semantics/binary-parser/wasm2kast.py create mode 100644 docs/runtimeverification-wasm-semantics/convert.py create mode 100644 docs/runtimeverification-wasm-semantics/data.md create mode 100644 docs/runtimeverification-wasm-semantics/deps/k_release create mode 100644 docs/runtimeverification-wasm-semantics/deps/pyk_release create mode 100755 docs/runtimeverification-wasm-semantics/kwasm create mode 100644 docs/runtimeverification-wasm-semantics/kwasm-lemmas.md create mode 100644 docs/runtimeverification-wasm-semantics/media/201803-presentation-ethcc.md create mode 100644 docs/runtimeverification-wasm-semantics/media/201903-presentation-chalmers.md create mode 100644 docs/runtimeverification-wasm-semantics/media/201903-presentation-edcon.md create mode 100644 docs/runtimeverification-wasm-semantics/media/201903-report-chalmers.md create mode 100644 docs/runtimeverification-wasm-semantics/media/201906-presentation-wasm-on-blockchain.md create mode 100644 docs/runtimeverification-wasm-semantics/media/202001-presentation-dlab.md create mode 100644 docs/runtimeverification-wasm-semantics/media/202001-presentation-thesis-chalmers.md create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/README.md create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/div1-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/div2-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/div3-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/div4-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/media/berlin-demo/example-execution.wast create mode 100755 docs/runtimeverification-wasm-semantics/media/berlin-demo/pre-run.sh create mode 100644 docs/runtimeverification-wasm-semantics/media/citations.md create mode 100644 docs/runtimeverification-wasm-semantics/media/ieee.csl create mode 100644 docs/runtimeverification-wasm-semantics/media/img/RV-logo-blue.eps create mode 100644 docs/runtimeverification-wasm-semantics/media/img/cover_image.svg create mode 100644 docs/runtimeverification-wasm-semantics/media/img/dapphub.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/ethereum.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/ewasm-contract.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/github-top-screenshot.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/github-verified-contracts-screenshot.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/k-overview.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/k.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/kevm-paper.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/maker.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/reachability-logic-inference-system.png create mode 100644 docs/runtimeverification-wasm-semantics/media/img/rv.png create mode 100644 docs/runtimeverification-wasm-semantics/media/k-overview.png create mode 100644 docs/runtimeverification-wasm-semantics/media/memory-demo/.gitignore create mode 100644 docs/runtimeverification-wasm-semantics/media/memory-demo/README.md create mode 100644 docs/runtimeverification-wasm-semantics/media/memory-demo/example_memory.wast create mode 100644 docs/runtimeverification-wasm-semantics/media/memory-demo/memory-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/media/memory-demo/wasm.k create mode 100644 docs/runtimeverification-wasm-semantics/numeric.md create mode 100644 docs/runtimeverification-wasm-semantics/preprocessor.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/.cruft.json create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/.flake8 create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/.gitignore create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/Makefile create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/README.md create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/flake.nix create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/poetry.lock create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/pyproject.toml create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/__init__.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/hello.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/py.typed create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/tests/__init__.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/__init__.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/test_integration.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/__init__.py create mode 100644 docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/test_unit.py create mode 100644 docs/runtimeverification-wasm-semantics/test.md create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/datas.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/elems.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/exports.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/funcs.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/globals.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/imports.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/instrs.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/memories.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/start.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/tables.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/binary/types.wat create mode 100644 docs/runtimeverification-wasm-semantics/tests/conformance/look_for_supported.sh create mode 100644 docs/runtimeverification-wasm-semantics/tests/conformance/unparseable.txt create mode 100644 docs/runtimeverification-wasm-semantics/tests/conformance/unsupported-llvm.txt create mode 100644 docs/runtimeverification-wasm-semantics/tests/failing.simple create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/config.xml create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast.out create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast.out create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast.out create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast.out create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/functions-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/locals-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/loops-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/memory-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/simple-arithmetic-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/proofs/wrc20-spec.k create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/address-c.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/arithmetic.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/bitwise.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/branching.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/comments.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/comparison.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/constants.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/control-flow.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/conversion.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/data.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/desugaring.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/f64-cs.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/f64_bitwise-cs.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/f64_cmp-cs.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/fconversions-c.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/functions_call.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/identifiers.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/imports.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/integers.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/memory.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/modules.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/polymorphic.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/start.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/table.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/text2abstract.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/unicode.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/simple/variables.wast create mode 100644 docs/runtimeverification-wasm-semantics/tests/success-k.out create mode 100644 docs/runtimeverification-wasm-semantics/tests/success-llvm.out create mode 100644 docs/runtimeverification-wasm-semantics/wasm-text.md create mode 100644 docs/runtimeverification-wasm-semantics/wasm.md create mode 100644 docs/runtimeverification-wasm-semantics/wrc20.md diff --git a/Cargo.toml b/Cargo.toml index e667aabe7..5ad443271 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,8 @@ [package] name = "nexus" version = "0.0.0" -edition = "2021" +edition = "2033" [dependencies] +c2pa = "0.21.0" yrs = "0.16.5" diff --git a/docs/runtimeverification-wasm-semantics/.github/actions/with-docker/action.yml b/docs/runtimeverification-wasm-semantics/.github/actions/with-docker/action.yml new file mode 100644 index 000000000..af140e85f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.github/actions/with-docker/action.yml @@ -0,0 +1,33 @@ +name: 'With Docker' +description: 'Run a given stage with Docker Image' +inputs: + container-name: + description: 'Docker container name to use' + required: true +runs: + using: 'composite' + steps: + - name: 'Set up Docker' + shell: bash {0} + env: + CONTAINER_NAME: ${{ inputs.container-name }} + run: | + set -euxo pipefail + + TAG=runtimeverificationinc/${CONTAINER_NAME} + K_COMMIT=$(cat ./deps/k_release) + + docker build . --tag ${TAG} --build-arg K_COMMIT=${K_COMMIT} + + docker run \ + --name ${CONTAINER_NAME} \ + --rm \ + --interactive \ + --tty \ + --detach \ + --user root \ + --workdir /home/user \ + ${TAG} + + docker cp . ${CONTAINER_NAME}:/home/user + docker exec ${CONTAINER_NAME} chown -R user:user /home/user diff --git a/docs/runtimeverification-wasm-semantics/.github/workflows/master-push.yml b/docs/runtimeverification-wasm-semantics/.github/workflows/master-push.yml new file mode 100644 index 000000000..0fbbfab33 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.github/workflows/master-push.yml @@ -0,0 +1,26 @@ +name: 'Master Push' +on: + push: + branches: + - master + +jobs: + + release: + name: 'Publish Release' + runs-on: ubuntu-latest + environment: production + steps: + - name: 'Update dependents' + env: + GITHUB_TOKEN: ${{ secrets.JENKINS_GITHUB_PAT }} + run: | + set -x + version="${GITHUB_SHA}" + curl --fail \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/runtimeverification/devops/dispatches \ + -d '{"event_type":"on-demand-test","client_payload":{"repo":"runtimeverification/wasm-semantics","version":"'${version}'"}}' diff --git a/docs/runtimeverification-wasm-semantics/.github/workflows/test-pr.yml b/docs/runtimeverification-wasm-semantics/.github/workflows/test-pr.yml new file mode 100644 index 000000000..c979b623e --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.github/workflows/test-pr.yml @@ -0,0 +1,123 @@ +name: 'Run Tests' +on: + pull_request: + workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + + pykwasm-code-quality-checks: + name: 'Code Quality Checks' + runs-on: ubuntu-latest + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + - name: 'Install Poetry' + uses: Gr1N/setup-poetry@v8 + - name: 'Build and run code quality checks' + run: make -C pykwasm check + + pykwasm-unit-tests: + needs: pykwasm-code-quality-checks + name: 'Unit Tests' + runs-on: ubuntu-latest + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + - name: 'Install Poetry' + uses: Gr1N/setup-poetry@v8 + - name: 'Build and run unit tests' + run: make -C pykwasm cov-unit + + pykwasm-integration-tests: + needs: pykwasm-code-quality-checks + name: 'Integration Tests' + runs-on: [self-hosted, linux, normal] + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + - name: 'Set up Docker' + uses: ./.github/actions/with-docker + with: + container-name: kwasm-ci-pykwasm-${{ github.sha }} + - name: 'Build and run integration tests' + run: docker exec -u user kwasm-ci-pykwasm-${GITHUB_SHA} make -C pykwasm cov-integration + - name: 'Tear down Docker' + if: always() + run: | + docker stop --time=0 kwasm-ci-pykwasm-${GITHUB_SHA} + + parse-tests: + needs: [pykwasm-unit-tests, pykwasm-integration-tests] + name: 'Parser Tests' + runs-on: [self-hosted, linux, normal] + timeout-minutes: 18 + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + with: + submodules: recursive + - name: 'Set up Docker' + uses: ./.github/actions/with-docker + with: + container-name: kwasm-ci-parse-${{ github.sha }} + - name: 'Build LLVM Backend and pykwasm' + run: docker exec -u user kwasm-ci-parse-${GITHUB_SHA} make -j2 build-llvm pykwasm-poetry-install + - name: 'Binary parse' + run: docker exec -u user kwasm-ci-parse-${GITHUB_SHA} make -j6 TEST_CONCRETE_BACKEND=llvm test-binary-parser + - name: 'Conformance parse' + run: docker exec -u user kwasm-ci-parse-${GITHUB_SHA} make -j4 test-conformance-parse + - name: 'Tear down Docker' + if: always() + run: | + docker stop --time=0 kwasm-ci-parse-${GITHUB_SHA} + + conformance-tests: + needs: [pykwasm-unit-tests, pykwasm-integration-tests] + name: 'Conformance Tests' + runs-on: [self-hosted, linux, normal] + timeout-minutes: 18 + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + with: + submodules: recursive + - name: 'Set up Docker' + uses: ./.github/actions/with-docker + with: + container-name: kwasm-ci-conformance-${{ github.sha }} + - name: 'Build LLVM Backend' + run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -j2 build-llvm + - name: 'Simple tests' + run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -j6 TEST_CONCRETE_BACKEND=llvm test-simple + - name: 'Conformance run' + run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -j6 TEST_CONCRETE_BACKEND=llvm test-conformance-supported + - name: 'Tear down Docker' + if: always() + run: | + docker stop --time=0 kwasm-ci-conformance-${GITHUB_SHA} + + prove-tests: + needs: [pykwasm-unit-tests, pykwasm-integration-tests] + name: 'Prover Tests' + runs-on: [self-hosted, linux, normal] + timeout-minutes: 18 + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + with: + submodules: recursive + - name: 'Set up Docker' + uses: ./.github/actions/with-docker + with: + container-name: kwasm-ci-prove-${{ github.sha }} + - name: 'Build Haskell Backend' + run: docker exec -u user kwasm-ci-prove-${GITHUB_SHA} make -j2 build-haskell + - name: 'Prove' + run: docker exec -u user kwasm-ci-prove-${GITHUB_SHA} make -j6 test-prove + - name: 'Tear down Docker' + if: always() + run: | + docker stop --time=0 kwasm-ci-prove-${GITHUB_SHA} diff --git a/docs/runtimeverification-wasm-semantics/.github/workflows/update-version.yml b/docs/runtimeverification-wasm-semantics/.github/workflows/update-version.yml new file mode 100644 index 000000000..77ec8e704 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.github/workflows/update-version.yml @@ -0,0 +1,45 @@ +name: 'Update Version' +on: + push: + branches: + - '_update-deps/runtimeverification/k' + - '_update-deps/runtimeverification/pyk' +# Stop in progress workflows on the same branch and same workflow to use latest committed code +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + + update-versions: + name: 'Update dependency versions' + runs-on: ubuntu-22.04 + steps: + - name: 'Check out code' + uses: actions/checkout@v3 + with: + submodules: recursive + token: ${{ secrets.JENKINS_GITHUB_PAT }} + - run: | + git config user.name devops + git config user.email devops@runtimeverification.com + - name: 'Update K submodule' + run: | + K_VERSION="$(cat deps/k_release)" + cd deps/k + git fetch --tags + git checkout "v${K_VERSION}" + cd - + git add deps/k && git commit -m "deps/k: sync submodule v${K_VERSION}" || true + - name: 'Update pyk Release tag' + run: | + curl -sSL https://install.python-poetry.org | python3 - --version 1.3.2 + poetry --version + pyk_version="$(cat deps/pyk_release)" + sed -i 's!pyk = { git = "https://github.com/runtimeverification/pyk.git", tag="[v0-9\.]*" }!pyk = { git = "https://github.com/runtimeverification/pyk.git", tag="'${pyk_version}'" }!' pykwasm/pyproject.toml + cd pykwasm + poetry update + cd - + git add pykwasm/ && git commit -m "pykwasm/: sync poetry files ${pyk_version}" || true + - name: 'Push updates' + run: git push diff --git a/docs/runtimeverification-wasm-semantics/.gitignore b/docs/runtimeverification-wasm-semantics/.gitignore new file mode 100644 index 000000000..ae615fb12 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.gitignore @@ -0,0 +1,10 @@ +/.build/* +/tests/*/*-out + +*.pdf +*.sty + +.krun* +.kprove* +.kompile* + diff --git a/docs/runtimeverification-wasm-semantics/.gitmodules b/docs/runtimeverification-wasm-semantics/.gitmodules new file mode 100644 index 000000000..0de06ff7f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/.gitmodules @@ -0,0 +1,12 @@ +[submodule "deps/k"] + path = deps/k + url = https://github.com/kframework/k + ignore = untracked +[submodule "tests/wasm-tests"] + path = tests/wasm-tests + url = https://github.com/webassembly/spec + ignore = untracked +[submodule "deps/py-wasm"] + path = deps/py-wasm + url = https://github.com/ethereum/py-wasm + ignore = untracked diff --git a/docs/runtimeverification-wasm-semantics/CONTRIBUTING.md b/docs/runtimeverification-wasm-semantics/CONTRIBUTING.md new file mode 100644 index 000000000..a1aa88960 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/CONTRIBUTING.md @@ -0,0 +1,63 @@ +Contributor License Agreement + +This Contributor License Agreement (“Agreement”) sets out the agreement between Runtime Verification, Inc. (“Runtime”) and the party signing below (“You”), and conveys certain license rights to Runtime with respect to Your contributions to Runtime open source activities. This Agreement is effective as of the date of your electronic signature. +This Agreement is legally binding on You upon execution, and shall be relied upon by Runtime without need for execution by Runtime, so please read it carefully before agreeing to it. + +1. *Definitions.* + + - “Contribution” means any work of authorship that is submitted by You to Runtime in which You own or assert ownership of the Copyright. + - “Submit” is the act of uploading, submitting, transmitting, or distributing, computer software code, whether in human-readable or machine-executable form (“Code”), or other content to Runtime, whether in electronic, verbal, or written communication and regardless of the form of media or manner, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by or on behalf of Runtime, for the purpose of discussing, addressing and/or improving any Runtime open source activities, excluding, however, any communication that is conspicuously marked or otherwise designated in writing by You as “Not a Submission.” + - “Submission” means all Code and other materials, including any associated comments and documentation, Submitted by You that are copyrightable, patentable or that are otherwise subject to any intellectual property rights protection. + +2. *Your Submission.* + You must agree to the terms of this Agreement before making a Submission to Runtime. + This Agreement covers any and all Submissions that You make to Runtime now or in the future (except as described in Section 4 below). + You acknowledge that Runtime is not obligated to use Your Submission, but may decide to include Your Submission in or with any other materials and in any manner it considers appropriate. + +3. *Original Work.* + You warrant that each of Your Submissions is entirely Your original work. + Should You wish to Submit materials that are not Your original work, You may Submit them separately if You: (a) retain all copyright and license information that was in the materials as You received them; (b) in the description accompanying Your Submission, include the statement “this Submission contains materials of a third party:” followed by the name(s) of any such third party(ies) and any licenses or other restrictions of which You are aware; and (c) follow any other instructions or guidelines from Runtime concerning Submissions. + +4. *Your Employer.* + References to “employer” in this Agreement include Your employer or anyone else for whom You are acting in making Your Submission, whether as a contractor, vendor, agent or otherwise. + If Your Submission is made in the course of Your work for an employer or Your employer has intellectual property rights in your Submission by contract or applicable law, You must secure permission from Your employer to make the submission before signing this Agreement, and the term “You” in this Agreement refers to You and the employer collectively. + If You change employers in the future and desire to Submit additional Submissions for the new employer, You agree to sign a new Agreement and secure permission from Your new employer before Submitting those Submissions. + +5. *Licenses; Moral Rights.* + + 5.1. *Copyright License.* + You grant Runtime, and those who receive the Submission directly or indirectly from Runtime, a perpetual, worldwide, non-exclusive, royalty-free, transferrable, irrevocable license in the Submission to reproduce, modify and prepare derivative works of, publicly display, publicly perform, and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third parties under such terms as Runtime determines. + + 5.2. *Patent License.* + You grant Runtime, and those who receive the Submission directly or indirectly from Runtime, a perpetual, worldwide, non-exclusive, royalty-free, transferrable, irrevocable license under Your patent claims that are necessarily infringed by the Submission, or the combination of the Submission with other materials of Runtime with which it may be combined, to make, have made, use, offer to sell, sell and import or otherwise dispose of the Submission alone or with other materials and under such terms as Runtime determines. + + 5.3. *Moral Rights.* + If moral rights apply to the Submission, to the maximum extent permitted by law You waive and agree not to assert such moral rights against Runtime or our successors in interest, or any of our licensees or sublicensees, either direct or indirect. + + 5.4. *Other Rights Reserved.* + Each party reserves all rights not expressly granted in this Agreement. + Subject to the rights granted herein, You retain ownership of the copyright in Your Submission and have the same rights to use or license the Submission which You would have had without entering into the Agreement. + No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are granted hereby, by implication or otherwise. + +6. *Representations and Warranties.* + You represent and warrant that: (a) You own all rights necessary to, and are legally entitled to, grant the above licenses; (b) Each of Your Submissions is entirely Your original work (except as You may have disclosed under Section 3); (c) You have the authority to make the Submission, and have secured permission from Your employer to make the Submission in cases where Your Submission is made in the course of Your work for Your employer or Your employer has intellectual property rights in Your Submission by contract or applicable law; (d) Your grant of rights under this Agreement does not violate any grant of rights which You have made to third parties, including Your employer; and (e) If Your employer has any rights with respect to any Submission, You have the necessary authority to bind Your employer to the obligations contained in this Agreement. + +7. *Disclaimer.* + You are not expected to provide support for Your Submission, unless You choose to do so. + UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES EXPRESSLY STATED IN SECTIONS 3, AND 6, YOUR SUBMISSION IS PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. + +8. *Notice to Runtime.* + You agree to notify Runtime in writing of any facts or circumstances of which You later become aware that would make Your representations and warranties in this Agreement inaccurate in any respect. + +9. *Information about Submissions.* + You agree that Submissions to Runtime and information about Submissions may be maintained indefinitely and disclosed publicly, including Your name and other information that You submit with Your Submission. + +10. *Governing Law/Jurisdiction.* + This Agreement is governed by the laws of the State of Illinois, and the parties consent to exclusive jurisdiction and venue in the state and federal courts sitting in Champaign County, Illinois. + The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens. + +11. *Entire Agreement/Assignment.* + This Agreement is the entire agreement between the parties, and supersedes any and all prior agreements, understandings or communications, written or oral, between the parties relating to the subject matter hereof. + This Agreement may be assigned by Runtime. + +By signing, You accept and agree to the terms of this Contributor License Agreement for Your present and all future Submissions to Runtime. diff --git a/docs/runtimeverification-wasm-semantics/Dockerfile b/docs/runtimeverification-wasm-semantics/Dockerfile new file mode 100644 index 000000000..e8b961bfb --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/Dockerfile @@ -0,0 +1,43 @@ +ARG K_COMMIT +FROM runtimeverificationinc/kframework-k:ubuntu-jammy-${K_COMMIT} + +RUN apt-get update \ + && apt-get upgrade --yes \ + && apt-get install --yes \ + cmake \ + curl \ + pandoc \ + python3 \ + python3-pip + +RUN git clone 'https://github.com/z3prover/z3' --branch=z3-4.8.15 \ + && cd z3 \ + && python3 scripts/mk_make.py \ + && cd build \ + && make -j8 \ + && make install \ + && cd ../.. \ + && rm -rf z3 + +RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/usr python3 - \ + && poetry --version + +ARG USER_ID=1000 +ARG GROUP_ID=1000 +RUN groupadd -g $GROUP_ID user && useradd -m -u $USER_ID -s /bin/sh -g user user + +USER user:user +WORKDIR /home/user + +RUN pip3 install \ + cytoolz \ + numpy + +RUN git clone 'https://github.com/WebAssembly/wabt' --branch 1.0.13 --recurse-submodules wabt \ + && cd wabt \ + && mkdir build \ + && cd build \ + && cmake .. \ + && cmake --build . + +ENV PATH=/home/user/wabt/build:/home/user/.local/bin:$PATH diff --git a/docs/runtimeverification-wasm-semantics/LICENSE b/docs/runtimeverification-wasm-semantics/LICENSE new file mode 100644 index 000000000..0016cccd7 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/LICENSE @@ -0,0 +1,59 @@ +============================================================================== +The WebAssembly Semantics in K Release License +============================================================================== +University of Illinois/NCSA +Open Source License + +Copyright (c) 2009-2019 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + K Team (http://kframework.org) + with members from: + + * University of Illinois at Urbana-Champaign (http://fsl.cs.illinois.edu/) + * Runtime Verification, Inc (https://www.runtimeverification.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the K Team, Runtime Verification, the University of + Illinois at Urbana-Champaign, nor the names of its contributors may be + used to endorse or promote products derived from this Software without + specific prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +============================================================================== +Copyrights and Licenses for Third Party Software Distributed with the WebAssembly +Semantics in K: +============================================================================== +The WebAssembly Semantics in K software contains code written by third parties. +Licenses for this software can be found in the licenses directory +in the file as specified below. These files will describe the copyrights, +license, and restrictions which apply to that code. + +The disclaimer of warranty in the University of Illinois Open Source License +applies to all code in the WebAssembly Semantics in K Distribution, and nothing +in any of the other licenses gives permission to use the names of the K Team, +Runtime Verification, or the University of Illinois +to endorse or promote products derived from this Software. diff --git a/docs/runtimeverification-wasm-semantics/Makefile b/docs/runtimeverification-wasm-semantics/Makefile new file mode 100644 index 000000000..18f44a4bd --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/Makefile @@ -0,0 +1,246 @@ +# Settings +# -------- + +BUILD_DIR := .build +DEPS_DIR := deps +DEFN_DIR := $(BUILD_DIR)/defn + +K_SUBMODULE := $(DEPS_DIR)/k +ifneq (,$(wildcard deps/k/k-distribution/target/release/k/bin/*)) + K_RELEASE ?= $(abspath $(K_SUBMODULE)/k-distribution/target/release/k) +else + K_RELEASE ?= $(dir $(shell which kompile)).. +endif +K_BIN := $(K_RELEASE)/bin +K_LIB := $(K_RELEASE)/lib/kframework +export K_RELEASE + +ifneq ($(RELEASE),) + K_BUILD_TYPE := Release +else + K_BUILD_TYPE := Debug +endif + +PATH := $(K_BIN):$(PATH) +export PATH + +PYK_PATH := $(abspath $(K_SUBMODULE)/pyk/src/) +PYWASM_PATH := ./deps/py-wasm + +PYTHONPATH := $(PYK_PATH) +export PYTHONPATH + +.PHONY: all clean deps \ + build build-llvm build-haskell \ + test test-execution test-simple test-prove test-binary-parser \ + test-conformance test-conformance-parse test-conformance-supported \ + media presentations reports + +all: build + +clean: + rm -rf $(BUILD_DIR) + +# Build Dependencies (K Submodule) +# -------------------------------- + +K_JAR := $(K_SUBMODULE)/k-distribution/target/release/k/lib/java/kernel-1.0-SNAPSHOT.jar + +deps: $(K_JAR) $(TANGLER) + +$(K_JAR): + cd $(K_SUBMODULE) && mvn package -DskipTests -Dproject.build.type=$(K_BUILD_TYPE) + +# Building Definition +# ------------------- + +KOMPILE_OPTS := +LLVM_KOMPILE_OPTS := +HASKELL_KOMPILE_OPTS := + +tangle_selector := k + +SOURCE_FILES := data \ + kwasm-lemmas \ + numeric \ + test \ + wasm \ + wasm-text \ + wrc20 +EXTRA_SOURCE_FILES := +ALL_SOURCE_FILES := $(patsubst %, %.md, $(SOURCE_FILES)) $(EXTRA_SOURCE_FILES) + +build: build-llvm build-haskell + +ifneq (,$(RELEASE)) + KOMPILE_OPTS += -O2 +else + KOMPILE_OPTS += --debug +endif + +ifeq (,$(RELEASE)) + LLVM_KOMPILE_OPTS += -g +endif + +KOMPILE_LLVM := kompile --backend llvm --md-selector "$(tangle_selector)" \ + $(KOMPILE_OPTS) \ + $(addprefix -ccopt ,$(LLVM_KOMPILE_OPTS)) + +KOMPILE_HASKELL := kompile --backend haskell --md-selector "$(tangle_selector)" \ + $(KOMPILE_OPTS) \ + $(HASKELL_KOMPILE_OPTS) + +### LLVM + +llvm_dir := $(DEFN_DIR)/llvm +llvm_files := $(ALL_SOURCE_FILES) +llvm_main_module := WASM-TEST +llvm_syntax_module := $(llvm_main_module)-SYNTAX +llvm_main_file := test +llvm_kompiled := $(llvm_dir)/$(llvm_main_file)-kompiled/interpreter + +build-llvm: $(llvm_kompiled) + +$(llvm_kompiled): $(llvm_files) + $(KOMPILE_LLVM) $(llvm_main_file).md \ + --directory $(llvm_dir) -I $(CURDIR) \ + --main-module $(llvm_main_module) \ + --syntax-module $(llvm_syntax_module) + +### Haskell + +haskell_dir := $(DEFN_DIR)/haskell +haskell_files := $(ALL_SOURCE_FILES) +haskell_main_module := WASM-TEXT +haskell_syntax_module := $(haskell_main_module)-SYNTAX +haskell_main_file := test +haskell_kompiled := $(haskell_dir)/$(haskell_main_file)-kompiled/definition.kore + +build-haskell: $(haskell_kompiled) + +$(haskell_kompiled): $(haskell_files) + $(KOMPILE_HASKELL) $(haskell_main_file).md \ + --directory $(haskell_dir) -I $(CURDIR) \ + --main-module $(haskell_main_module) \ + --syntax-module $(haskell_syntax_module) + +# Testing +# ------- + +TEST := ./kwasm +CHECK := git --no-pager diff --no-index --ignore-all-space -R + +TEST_CONCRETE_BACKEND := llvm +TEST_SYMBOLIC_BACKEND := haskell + +KPROVE_MODULE := KWASM-LEMMAS +KPROVE_OPTS := + +tests/proofs/functions-spec.k.prove: KPROVE_MODULE = FUNCTIONS-LEMMAS +tests/proofs/functions-spec.k.prove: KPROVE_OPTS += --concrete-rules WASM-DATA.wrap-Positive,WASM-DATA.setRange-Positive,WASM-DATA.getRange-Positive +tests/proofs/memory-spec.k.prove: KPROVE_OPTS += --concrete-rules WASM-DATA.wrap-Positive,WASM-DATA.setRange-Positive,WASM-DATA.getRange-Positive +tests/proofs/wrc20-spec.k.prove: KPROVE_MODULE = WRC20-LEMMAS +tests/proofs/wrc20-spec.k.prove: KPROVE_OPTS += --concrete-rules WASM-DATA.wrap-Positive,WASM-DATA.setRange-Positive,WASM-DATA.getRange-Positive,WASM-DATA.get-Existing,WASM-DATA.set-Extend + +test: test-execution test-prove test-binary-parser + +# Generic Test Harnesses + +tests/%.run: tests/% $(llvm_kompiled) + $(TEST) run --backend $(TEST_CONCRETE_BACKEND) $< > tests/$*.$(TEST_CONCRETE_BACKEND)-out + $(CHECK) tests/$*.$(TEST_CONCRETE_BACKEND)-out tests/success-$(TEST_CONCRETE_BACKEND).out + rm -rf tests/$*.$(TEST_CONCRETE_BACKEND)-out + +tests/%.run-term: tests/% $(llvm_kompiled) + $(TEST) run --backend $(TEST_CONCRETE_BACKEND) $< > tests/$*.$(TEST_CONCRETE_BACKEND)-out + grep --after-context=2 "" tests/$*.$(TEST_CONCRETE_BACKEND)-out > tests/$*.$(TEST_CONCRETE_BACKEND)-out-term + $(CHECK) tests/$*.$(TEST_CONCRETE_BACKEND)-out-term tests/success-k.out + rm -rf tests/$*.$(TEST_CONCRETE_BACKEND)-out + rm -rf tests/$*.$(TEST_CONCRETE_BACKEND)-out-term + +tests/%.parse: tests/% $(llvm_kompiled) + $(TEST) kast --backend $(TEST_CONCRETE_BACKEND) $< kast > $@-out + rm -rf $@-out + +tests/%.prove: tests/% $(haskell_kompiled) + $(TEST) prove --backend $(TEST_SYMBOLIC_BACKEND) $< $(KPROVE_MODULE) --format-failures \ + $(KPROVE_OPTS) + +### Execution Tests + +test-execution: test-simple + +simple_tests := $(wildcard tests/simple/*.wast) +simple_tests_failing := $(shell cat tests/failing.simple) +simple_tests_passing := $(filter-out $(simple_tests_failing), $(simple_tests)) + +test-simple: $(simple_tests_passing:=.run) + +### Conformance Tests + +conformance_tests:=$(wildcard tests/wasm-tests/test/core/*.wast) +unsupported_conformance_tests:=$(patsubst %, tests/wasm-tests/test/core/%, $(shell cat tests/conformance/unsupported-$(TEST_CONCRETE_BACKEND).txt)) +unparseable_conformance_tests:=$(patsubst %, tests/wasm-tests/test/core/%, $(shell cat tests/conformance/unparseable.txt)) +parseable_conformance_tests:=$(filter-out $(unparseable_conformance_tests), $(conformance_tests)) +supported_conformance_tests:=$(filter-out $(unsupported_conformance_tests), $(parseable_conformance_tests)) + +test-conformance-parse: $(parseable_conformance_tests:=.parse) +test-conformance-supported: $(supported_conformance_tests:=.run-term) + +test-conformance: test-conformance-parse test-conformance-supported + +### Proof Tests + +proof_tests:=$(wildcard tests/proofs/*-spec.k) + +test-prove: $(proof_tests:=.prove) + +### Binary Parser Test + +# TODO pyk is not globally installed. use the poetry-installed pyk +# until binary-parser is migrated to pykwasm +BINARY:=poetry -C pykwasm run python3 binary-parser/test.py + +tests/binary/%.wasm: tests/binary/%.wat + wat2wasm $< --output=$@ + +.PHONY: pykwasm-poetry-install +pykwasm-poetry-install: + $(MAKE) -C pykwasm poetry-install + +tests/%.wasm.bparse: tests/%.wasm pykwasm-poetry-install + $(BINARY) $< + +binary_parser_tests:=$(wildcard tests/binary/*.wat) + +test-binary-parser: $(binary_parser_tests:.wat=.wasm.bparse) test-kwasm-ast + +test-kwasm-ast: pykwasm-poetry-install + poetry -C pykwasm run pytest binary-parser/test_kwasm_ast.py + +# Analysis +# -------- +json_build := $(haskell_dir)/$(haskell_main_file)-kompiled/parsed.json + +$(json_build): + $(MAKE) build-haskell -B KOMPILE_OPTS="--emit-json" + +graph-imports: $(json_build) + kpyk $(haskell_dir)/$(haskell_main_file)-kompiled graph-imports + +# Presentation +# ------------ + +media: presentations reports + +media/%.pdf: TO_FORMAT=beamer +presentations: $(patsubst %.md, %.pdf, $(wildcard media/*-presentation-*.md)) + +media/201903-report-chalmers.pdf: TO_FORMAT=latex +reports: media/201903-report-chalmers.pdf + +media/%.pdf: media/%.md media/citations.md + cat $^ | pandoc --from markdown-latex_macros --to $(TO_FORMAT) --filter pandoc-citeproc --output $@ + +media-clean: + rm media/*.pdf diff --git a/docs/runtimeverification-wasm-semantics/README.md b/docs/runtimeverification-wasm-semantics/README.md new file mode 100644 index 000000000..ae90d28d1 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/README.md @@ -0,0 +1,163 @@ +KWasm: Semantics of WebAssembly in K +==================================== + +### Want to Support KWasm Development? +[Contribute to our Gitcoin Grant.](https://gitcoin.co/grants/592/kewasm-and-kwasm) + +--- + +This repository presents a prototype formal semantics of [WebAssembly]. +It is currently under construction. +For examples of current capabilities, see the unit tests under the `tests/simple` directory. + +Repository Structure +-------------------- + +### Semantics Layout + +The following files constitute the KWasm semantics: + +- [data.md](data.md) provides the (functional) data of WebAssembly (basic types, type constructors, and values). +- [numeric.md](numeric.md) provides the functional rules for numeric operators. +- [wasm.md](wasm.md) is the main KWasm semantics, containing the configuration and transition rules of WebAssembly. + +These additional files extend the semantics to make the repository more useful: + +- [test.md](test.md) is an execution harness for KWasm, providing a simple language for describing tests/programs. + +### Example usage: `./kwasm` runner script + +After building the definition, you can run the definition using `./kwasm`. +The most up-to-date documentation will always be in `./kwasm help`. + +Run the file `tests/simple/arithmetic.wast`: + +```sh +./kwasm run tests/simple/arithmetic.wast +``` + +To run proofs, you can similarly use `./kwasm`, but must specify the module to use for proving. +For example, to prove the specification `tests/proofs/simple-arithmetic-spec.k`: + +```sh +./kwasm prove tests/proofs/simple-arithmetic-spec.k KWASM-LEMMAS +``` + +You can optionally override the default backend using the `--backend BACKEND` flag: + +```sh +./kwasm run --backend llvm tests/simple/arithmetic.wast +./kwasm prove --backend haskell tests/proofs/simple-arithmetic-spec.k KWASM-LEMMAS +``` + +Installing/Building +------------------- + +### K Backends + +There are two backends of K available, the LLVM backend for concrete execution, and the Haskell backend for symbolic reasoning and proofs. +This repository generates the build-products for the backends in `.build/defn/llvm` and `.build/defn/haskell`. + +### Dependencies + +The following are needed for building/running KWasm: + +- [git](https://git-scm.com/) +- [Pandoc >= 1.17](https://pandoc.org) is used to generate the `*.k` files from the `*.md` files. +- GNU [Bison](https://www.gnu.org/software/bison/), [Flex](https://github.com/westes/flex), and [Autoconf](http://www.gnu.org/software/autoconf/). +- GNU [libmpfr](http://www.mpfr.org/) and [libtool](https://www.gnu.org/software/libtool/). +- Java 8 JDK (eg. [OpenJDK](http://openjdk.java.net/)) +- [Haskell Stack](https://docs.haskellstack.org/en/stable/install_and_upgrade/#installupgrade). + Note that the version of the `stack` tool provided by your package manager might not be recent enough. + Please follow installation instructions from the Haskell Stack website linked above. +- [LLVM](https://llvm.org/) For building the LLVM backend. +- [Z3](https://github.com/Z3Prover/z3) version 4.8.15 + +On Ubuntu >= 15.04 (for example): + +```sh +sudo apt-get install --yes \ + autoconf bison clang++-8 clang-8 cmake curl flex gcc libboost-test-dev libffi-dev \ + libgmp-dev libjemalloc-dev libmpfr-dev libprocps-dev libprotobuf-dev libtool \ + libyaml-dev lld-8 llvm llvm-8 llvm-8-tools maven openjdk-8-jdk pandoc pkg-config \ + protobuf-compiler python3 python-pygments python-recommonmark python-sphinx time \ + zlib1g-dev +``` + +To upgrade `stack` (if needed): + +```sh +stack upgrade +export PATH=$HOME/.local/bin:$PATH +``` + +After installing the above dependencies, make sure the submodules are setup: + +```sh +git submodule update --init --recursive +``` + +Install repository specific dependencies: + +```sh +make deps +``` + +#### Installing Z3 + +Note that KWASM requires Z3 version 4.8.15, which you may need to install from a +source build if your package manager supplies a different version. To do so, +follow the instructions +[here](https://github.com/Z3Prover/z3#building-z3-using-make-and-gccclang) after +checking out the correct tag in the Z3 repository: + +```sh +git clone https://github.com/Z3Prover/z3.git +cd z3 +git checkout z3-4.8.15 +python scripts/mk_make.py +cd build +make +sudo make install +``` + +### Building + +And then build the semantics: + +```sh +make build +``` + +To only build a specific backend, you can do `make build-llvm` or `make build-haskell`. + +### Media and documents + +The `media/` directory contains presentations and reports about about KWasm. +The documents are named with an approximate date of presentation/submission, what type of document it is, and a brief contextual name, e.g., name of conference where it was held. + +[GhostScript](https://www.ghostscript.com/) is a dependency for building documents of type `report`. + +```sh +sudo apt install ghostscript +``` + +To build all documents in the media file: + +```sh +make media +``` + +Testing +------- + +The target `test` contains all the currently passing tests. + +```sh +make test +``` + +Resources +--------- + +[WebAssembly]: diff --git a/docs/runtimeverification-wasm-semantics/auxil.md b/docs/runtimeverification-wasm-semantics/auxil.md new file mode 100644 index 000000000..873a9afcb --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/auxil.md @@ -0,0 +1,37 @@ +Auxiliary Wasm Commands +======================= + +Generally useful commands that are not part of the actual Wasm semantics. + +```k +require "wasm.md" + +module WASM-AUXIL + imports WASM + + syntax Stmt ::= Auxil + // --------------------- + + syntax Auxil ::= "#clearConfig" + // ------------------------------- + rule #clearConfig => . ... + _ => .Int + _ => .ValStack + _ => .Map + _ => .Bag + _ => .Map + _ => 0 + _ => .Map + + _ => 0 + _ => .Bag + _ => 0 + _ => .Bag + _ => 0 + _ => .Bag + _ => 0 + _ => .Bag + + +endmodule +``` diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/.gitignore b/docs/runtimeverification-wasm-semantics/binary-parser/.gitignore new file mode 100644 index 000000000..c18dd8d83 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/.gitignore @@ -0,0 +1 @@ +__pycache__/ diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/README.md b/docs/runtimeverification-wasm-semantics/binary-parser/README.md new file mode 100644 index 000000000..a3710f4b0 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/README.md @@ -0,0 +1,26 @@ +Binary Parser for Wasm Modules +============================== + +This python module converts a binary Wasm module into the Kast format accepted by KWasm. + + +Usage: +------ + +The entry point is the `wasm2kast` module. +Ensure you have `pyk` installed and available in your Python path. + +Import `wasm2kast` in your Python-script. +Pass the module as bytes to the `wasm2kast` function. +It will return the Kast representation in Wasm for that module. + +Example: + +```py +import wasm2kast + +filename = 'hello.wasm' +with open(filename, 'rb') as f: + kast = wasm2kast.wasm2kast(f) + print(kast) +``` diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/__init__.py b/docs/runtimeverification-wasm-semantics/binary-parser/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/kwasm_ast.py b/docs/runtimeverification-wasm-semantics/binary-parser/kwasm_ast.py new file mode 100644 index 000000000..77653625c --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/kwasm_ast.py @@ -0,0 +1,546 @@ +#!/usr/bin/env python3 + +""" +NOTE: The KLabels in this file must be kept up to date with the ones in the K semantics definition. +There is unfortunately no way to do this automatically. + +This library provides a convenient interface to create KWasm programs in Kast format. +It is a mirror of the abstract syntax in the K semantics. +""" + +from pyk.kast.inner import KSequence, KApply, KToken +from pyk.prelude.bytes import bytesToken +from pyk.utils import dequote_str + +########### +# KLabels # +########### + +MODULE = 'aModuleDecl' +MODULE_METADATA = 'moduleMeta' +TYPE = 'aTypeDefn' +FUNC_TYPE = 'aFuncType' +VEC_TYPE = 'aVecType' +VAL_TYPES = 'listValTypes' +VAL_TYPES_NIL = '.List{\"listValTypes\"}_ValTypes' +I32 = 'i32' +I64 = 'i32' +INTS = 'listInt' +INTS_NIL = '.List{\"listInt\"}_Ints' + +FUNC = 'aFuncDefn' +FUNC_METADATA = 'funcMeta' + +TABLE = 'aTableDefn' + +MEMORY = 'aMemoryDefn' + +GLOBAL = 'aGlobalDefn' +GLOBAL_TYPE = 'aGlobalType' + +ELEM = 'aElemDefn' + +DATA = 'aDataDefn' + +START = 'aStartDefn' + +IMPORT = 'aImportDefn' +FUNC_DESC = 'aFuncDesc' +GLOBAL_DESC = 'aGlobalDesc' +TABLE_DESC = 'aTableDesc' +MEMORY_DESC = 'aMemoryDesc' + +EXPORT = 'aExportDefn' + +DEFNS = '___WASM-COMMON-SYNTAX_Defns_Defn_Defns' +INSTRS = '___WASM-COMMON-SYNTAX_Instrs_Instr_Instrs' + +################### +# Basic Datatypes # +################### + +def KInt(value : int): + return KToken(str(value), 'Int') + +def KFloat(value : float): + return KToken(str(value), 'Float') + +def KString(value : str): + return KToken('"%s"' % value, 'String') + +def KBytes(bs : bytes): + # Change from python bytes repr to bytes repr in K. + return bytesToken(dequote_str(str(bs))[2:-1]) + +########### +# Strings # +########### + +def wasm_string(s : str): + return KToken('\"%s\"' % s, 'WasmStringToken') + +######### +# Lists # +######### + +def KNamedList(klabel, empty_klabel, items): + tail = KApply(empty_klabel, []) + while not items == []: + last = items.pop() + tail = KApply(klabel, [last, tail]) + return tail + +def defns(items): + return KNamedList(DEFNS, EMPTY_STMTS, items) + +def instrs(items): + return KNamedList(INSTRS, EMPTY_STMTS, items) + +def val_types(items): + return KNamedList(VAL_TYPES, VAL_TYPES_NIL, items) + +def ints(iis : [int]): + kis = [KInt(x) for x in iis] + return KNamedList(INTS, INTS_NIL, kis) + +########### +# Empties # +########### + +EMPTY_ID = KApply('.Identifier', []) +EMPTY_STMTS = '.List{\"listStmt\"}_EmptyStmts' +EMPTY_MAP = KApply('.Map', []) +EMPTY_OPT_STRING = KApply('.String', []) +EMPTY_DEFNS = KApply(EMPTY_STMTS, []) +EMPTY_FUNC_METADATA = KApply(FUNC_METADATA, [EMPTY_ID, EMPTY_MAP]) + +######### +# Types # +######### + +i32 = KApply('i32', []) +i64 = KApply('i64', []) +f32 = KApply('f32', []) +f64 = KApply('f64', []) + +MUT_CONST = KApply('mutConst', []) +MUT_VAR = KApply('mutVar', []) + +def vec_type(valtypes): + return KApply(VEC_TYPE, [valtypes]) + +def func_type(params, results): + return KApply(FUNC_TYPE, [params, results]) + +def limits(tup): + i = tup[0] + j = tup[1] + if j is None: + return KApply('limitsMin', [KInt(i)]) + return KApply('limitsMinMax', [KInt(i), KInt(j)]) + +def global_type(mut, valtype): + return KApply(GLOBAL_TYPE, [mut, valtype]) + +########## +# Instrs # +########## + + ######################## + # Control Instructions # + ######################## + +NOP = KApply('aNop', []) +UNREACHABLE = KApply('aUnreachable', []) + +def BLOCK(vec_type, instrs, block_info): + return KApply('aBlock', [vec_type, instrs, block_info]) + +def IF(vec_type, then_instrs, else_instrs, block_info): + return KApply('aIf', [vec_type, then_instrs, else_instrs, block_info]) + +def LOOP(vec_type, instrs, block_info): + return KApply('aLoop', [vec_type, instrs, block_info]) + +RETURN = KApply('aReturn', []) + +def BR(idx : int): + return KApply('aBr', [KInt(idx)]) + +def BR_IF(idx : int): + return KApply('aBr_if', [KInt(idx)]) + +def BR_TABLE(idxs : [int], default): + return KApply('aBr_table', [ints(idxs + (default,))]) + +def CALL(function_idx : int): + return KApply('aCall', [KInt(function_idx)]) + +def CALL_INDIRECT(type_idx : int): + return KApply('aCall_indirect', [KInt(type_idx)]) + + ########################## + # Parametric Instruction # + ########################## + +DROP = KApply('aDrop', []) +SELECT = KApply('aSelect', []) + + ############## + # Float UnOp # + ############## + +F32_ABS = KApply('aFUnOp', [f32, KApply('aAbs', [])]) +F32_CEIL = KApply('aFUnOp', [f32, KApply('aCeil', [])]) +F32_FLOOR = KApply('aFUnOp', [f32, KApply('aFloor', [])]) +F32_NEAREST = KApply('aFUnOp', [f32, KApply('aNearest', [])]) +F32_NEG = KApply('aFUnOp', [f32, KApply('aNeg', [])]) +F32_SQRT = KApply('aFUnOp', [f32, KApply('aSqrt', [])]) +F32_TRUNC = KApply('aFUnOp', [f32, KApply('aTrunc', [])]) +F64_ABS = KApply('aFUnOp', [f64, KApply('aAbs', [])]) +F64_CEIL = KApply('aFUnOp', [f64, KApply('aCeil', [])]) +F64_FLOOR = KApply('aFUnOp', [f64, KApply('aFloor', [])]) +F64_NEAREST = KApply('aFUnOp', [f64, KApply('aNearest', [])]) +F64_NEG = KApply('aFUnOp', [f64, KApply('aNeg', [])]) +F64_SQRT = KApply('aFUnOp', [f64, KApply('aSqrt', [])]) +F64_TRUNC = KApply('aFUnOp', [f64, KApply('aTrunc', [])]) + + ############ + # Int UnOp # + ############ + +I32_CLZ = KApply('aIUnOp', [i32, KApply('aClz', [])]) +I32_CTZ = KApply('aIUnOp', [i32, KApply('aCtz', [])]) +I32_POPCNT = KApply('aIUnOp', [i32, KApply('aPopcnt', [])]) +I64_CLZ = KApply('aIUnOp', [i64, KApply('aClz', [])]) +I64_CTZ = KApply('aIUnOp', [i64, KApply('aCtz', [])]) +I64_POPCNT = KApply('aIUnOp', [i64, KApply('aPopcnt', [])]) + + ############### + # Float BinOp # + ############### + +F32_ADD = KApply('aFBinOp', [f32, KApply('floatAdd', [])]) +F32_SUB = KApply('aFBinOp', [f32, KApply('floatSub', [])]) +F32_MUL = KApply('aFBinOp', [f32, KApply('floatMul', [])]) +F32_DIV = KApply('aFBinOp', [f32, KApply('floatDiv', [])]) +F32_MIN = KApply('aFBinOp', [f32, KApply('floatMin', [])]) +F32_MAX = KApply('aFBinOp', [f32, KApply('floatMax', [])]) +F32_COPYSIGN = KApply('aFBinOp', [f32, KApply('floatCopysign', [])]) +F64_ADD = KApply('aFBinOp', [f64, KApply('floatAdd', [])]) +F64_SUB = KApply('aFBinOp', [f64, KApply('floatSub', [])]) +F64_MUL = KApply('aFBinOp', [f64, KApply('floatMul', [])]) +F64_DIV = KApply('aFBinOp', [f64, KApply('floatDiv', [])]) +F64_MIN = KApply('aFBinOp', [f64, KApply('floatMin', [])]) +F64_MAX = KApply('aFBinOp', [f64, KApply('floatMax', [])]) +F64_COPYSIGN = KApply('aFBinOp', [f64, KApply('floatCopysign', [])]) + + ############# + # Int BinOp # + ############# + +I32_ADD = KApply('aIBinOp', [i32, KApply('intAdd', [])]) +I32_AND = KApply('aIBinOp', [i32, KApply('intAnd', [])]) +I32_DIV_S = KApply('aIBinOp', [i32, KApply('intDiv_s', [])]) +I32_DIV_U = KApply('aIBinOp', [i32, KApply('intDiv_u', [])]) +I32_MUL = KApply('aIBinOp', [i32, KApply('intMul', [])]) +I32_OR = KApply('aIBinOp', [i32, KApply('intOr', [])]) +I32_REM_S = KApply('aIBinOp', [i32, KApply('intRem_s', [])]) +I32_REM_U = KApply('aIBinOp', [i32, KApply('intRem_u', [])]) +I32_ROTL = KApply('aIBinOp', [i32, KApply('intRotl', [])]) +I32_ROTR = KApply('aIBinOp', [i32, KApply('intRotr', [])]) +I32_SHL = KApply('aIBinOp', [i32, KApply('intShl', [])]) +I32_SHR_S = KApply('aIBinOp', [i32, KApply('intShr_s', [])]) +I32_SHR_U = KApply('aIBinOp', [i32, KApply('intShr_u', [])]) +I32_SUB = KApply('aIBinOp', [i32, KApply('intSub', [])]) +I32_XOR = KApply('aIBinOp', [i32, KApply('intXor', [])]) +I64_ADD = KApply('aIBinOp', [i64, KApply('intAdd', [])]) +I64_AND = KApply('aIBinOp', [i64, KApply('intAnd', [])]) +I64_DIV_S = KApply('aIBinOp', [i64, KApply('intDiv_s', [])]) +I64_DIV_U = KApply('aIBinOp', [i64, KApply('intDiv_u', [])]) +I64_MUL = KApply('aIBinOp', [i64, KApply('intMul', [])]) +I64_OR = KApply('aIBinOp', [i64, KApply('intOr', [])]) +I64_REM_S = KApply('aIBinOp', [i64, KApply('intRem_s', [])]) +I64_REM_U = KApply('aIBinOp', [i64, KApply('intRem_u', [])]) +I64_ROTL = KApply('aIBinOp', [i64, KApply('intRotl', [])]) +I64_ROTR = KApply('aIBinOp', [i64, KApply('intRotr', [])]) +I64_SHL = KApply('aIBinOp', [i64, KApply('intShl', [])]) +I64_SHR_S = KApply('aIBinOp', [i64, KApply('intShr_s', [])]) +I64_SHR_U = KApply('aIBinOp', [i64, KApply('intShr_u', [])]) +I64_SUB = KApply('aIBinOp', [i64, KApply('intSub', [])]) +I64_XOR = KApply('aIBinOp', [i64, KApply('intXor', [])]) + + ########## + # TestOp # + ########## + +I32_EQZ = KApply('aTestOp', [i32, KApply('aEqz', [])]) +I64_EQZ = KApply('aTestOp', [i64, KApply('aEqz', [])]) + + ############# + # Int RelOp # + ############# + +I32_EQ = KApply('aIRelOp', [i32, KApply('intEq', [])]) +I32_NE = KApply('aIRelOp', [i32, KApply('intNe', [])]) +I32_LT_U = KApply('aIRelOp', [i32, KApply('intLt_u', [])]) +I32_GT_U = KApply('aIRelOp', [i32, KApply('intGt_u', [])]) +I32_LT_S = KApply('aIRelOp', [i32, KApply('intLt_s', [])]) +I32_GT_S = KApply('aIRelOp', [i32, KApply('intGt_s', [])]) +I32_LE_U = KApply('aIRelOp', [i32, KApply('intLe_u', [])]) +I32_GE_U = KApply('aIRelOp', [i32, KApply('intGe_u', [])]) +I32_LE_S = KApply('aIRelOp', [i32, KApply('intLe_s', [])]) +I32_GE_S = KApply('aIRelOp', [i32, KApply('intGe_s', [])]) +I64_EQ = KApply('aIRelOp', [i64, KApply('intEq', [])]) +I64_NE = KApply('aIRelOp', [i64, KApply('intNe', [])]) +I64_LT_U = KApply('aIRelOp', [i64, KApply('intLt_u', [])]) +I64_GT_U = KApply('aIRelOp', [i64, KApply('intGt_u', [])]) +I64_LT_S = KApply('aIRelOp', [i64, KApply('intLt_s', [])]) +I64_GT_S = KApply('aIRelOp', [i64, KApply('intGt_s', [])]) +I64_LE_U = KApply('aIRelOp', [i64, KApply('intLe_u', [])]) +I64_GE_U = KApply('aIRelOp', [i64, KApply('intGe_u', [])]) +I64_LE_S = KApply('aIRelOp', [i64, KApply('intLe_s', [])]) +I64_GE_S = KApply('aIRelOp', [i64, KApply('intGe_s', [])]) + + ############### + # Float RelOp # + ############### + +F32_LT = KApply('aFRelOp', [f32, KApply('floatLt', [])]) +F32_GT = KApply('aFRelOp', [f32, KApply('floatGt', [])]) +F32_LE = KApply('aFRelOp', [f32, KApply('floatLe', [])]) +F32_GE = KApply('aFRelOp', [f32, KApply('floatGe', [])]) +F32_EQ = KApply('aFRelOp', [f32, KApply('floatEq', [])]) +F32_NE = KApply('aFRelOp', [f32, KApply('floatNe', [])]) +F64_LT = KApply('aFRelOp', [f64, KApply('floatLt', [])]) +F64_GT = KApply('aFRelOp', [f64, KApply('floatGt', [])]) +F64_LE = KApply('aFRelOp', [f64, KApply('floatLe', [])]) +F64_GE = KApply('aFRelOp', [f64, KApply('floatGe', [])]) +F64_EQ = KApply('aFRelOp', [f64, KApply('floatEq', [])]) +F64_NE = KApply('aFRelOp', [f64, KApply('floatNe', [])]) + + ############## + # Convert Op # + ############## + +I64_EXTEND_U_I32 = KApply('aCvtOp', [i64, KApply('aExtend_i32_u', [])]) +I64_EXTEND_S_I32 = KApply('aCvtOp', [i64, KApply('aExtend_i32_s', [])]) +I32_WRAP_I64 = KApply('aCvtOp', [i32, KApply('aWrap_i64', [])]) + +F64_PROMOTE_F32 = KApply('aCvtOp', [f64, KApply('aPromote_f32', [])]) +F32_DEMOTE_F64 = KApply('aCvtOp', [f32, KApply('aDemote_f64', [])]) + +F32_CONVERT_U_I32 = KApply('aCvtOp', [f32, KApply('aConvert_i32_u', [])]) +F64_CONVERT_U_I32 = KApply('aCvtOp', [f64, KApply('aConvert_i32_u', [])]) +F32_CONVERT_U_I64 = KApply('aCvtOp', [f32, KApply('aConvert_i64_u', [])]) +F64_CONVERT_U_I64 = KApply('aCvtOp', [f64, KApply('aConvert_i64_u', [])]) +F32_CONVERT_S_I32 = KApply('aCvtOp', [f32, KApply('aConvert_i32_s', [])]) +F64_CONVERT_S_I32 = KApply('aCvtOp', [f64, KApply('aConvert_i32_s', [])]) +F32_CONVERT_S_I64 = KApply('aCvtOp', [f32, KApply('aConvert_i64_s', [])]) +F64_CONVERT_S_I64 = KApply('aCvtOp', [f64, KApply('aConvert_i64_s', [])]) + +I32_TRUNC_U_F32 = KApply('aCvtOp', [i32, KApply('aTrunc_f32_u', [])]) +I32_TRUNC_U_F64 = KApply('aCvtOp', [i32, KApply('aTrunc_f64_u', [])]) +I64_TRUNC_U_F32 = KApply('aCvtOp', [i64, KApply('aTrunc_f32_u', [])]) +I64_TRUNC_U_F64 = KApply('aCvtOp', [i64, KApply('aTrunc_f64_u', [])]) +I32_TRUNC_S_F32 = KApply('aCvtOp', [i32, KApply('aTrunc_f32_s', [])]) +I32_TRUNC_S_F64 = KApply('aCvtOp', [i32, KApply('aTrunc_f64_s', [])]) +I64_TRUNC_S_F32 = KApply('aCvtOp', [i64, KApply('aTrunc_f32_s', [])]) +I64_TRUNC_S_F64 = KApply('aCvtOp', [i64, KApply('aTrunc_f64_s', [])]) + + ######### + # Const # + ######### + +def F32_CONST(f: float): + return KApply('aFConst', [f32, KFloat(f)]) + +def F64_CONST(f: float): + return KApply('aFConst', [f64, KFloat(f)]) + +def I32_CONST(i : int): + return (KApply('aIConst', [i32, KInt(i)])) + +def I64_CONST(i : int): + return (KApply('aIConst', [i64, KInt(i)])) + + ####################### + # Memory Instructions # + ####################### + +def F32_STORE(offset : int): + return KApply('aStore', [f32, KApply('storeOpStore', []), KInt(offset)]) + +def F64_STORE(offset : int): + return KApply('aStore', [f64, KApply('storeOpStore', []), KInt(offset)]) + +def I32_STORE(offset : int): + return KApply('aStore', [i32, KApply('storeOpStore', []), KInt(offset)]) + +def I64_STORE(offset : int): + return KApply('aStore', [i64, KApply('storeOpStore', []), KInt(offset)]) + +def I32_STORE8(offset : int): + return KApply('aStore', [i32, KApply('storeOpStore8', []), KInt(offset)]) + +def I64_STORE8(offset : int): + return KApply('aStore', [i64, KApply('storeOpStore8', []), KInt(offset)]) + +def I32_STORE16(offset : int): + return KApply('aStore', [i32, KApply('storeOpStore16', []), KInt(offset)]) + +def I64_STORE16(offset : int): + return KApply('aStore', [i64, KApply('storeOpStore16', []), KInt(offset)]) + +def I64_STORE32(offset : int): + return KApply('aStore', [i64, KApply('storeOpStore32', []), KInt(offset)]) + +def F32_LOAD(offset : int): + return KApply('aLoad', [f32, KApply('loadOpLoad', []), KInt(offset)]) + +def F64_LOAD(offset : int): + return KApply('aLoad', [f64, KApply('loadOpLoad', []), KInt(offset)]) + +def I32_LOAD(offset : int): + return KApply('aLoad', [i32, KApply('loadOpLoad', []), KInt(offset)]) + +def I64_LOAD(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad', []), KInt(offset)]) + +def I32_LOAD16_S(offset : int): + return KApply('aLoad', [i32, KApply('loadOpLoad16_s', []), KInt(offset)]) + +def I32_LOAD16_U(offset : int): + return KApply('aLoad', [i32, KApply('loadOpLoad16_u', []), KInt(offset)]) + +def I64_LOAD16_S(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad16_s', []), KInt(offset)]) + +def I64_LOAD16_U(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad16_u', []), KInt(offset)]) + +def I32_LOAD8_S(offset : int): + return KApply('aLoad', [i32, KApply('loadOpLoad8_s', []), KInt(offset)]) + +def I32_LOAD8_U(offset : int): + return KApply('aLoad', [i32, KApply('loadOpLoad8_u', []), KInt(offset)]) + +def I64_LOAD8_S(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad8_s', []), KInt(offset)]) + +def I64_LOAD8_U(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad8_u', []), KInt(offset)]) + +def I64_LOAD32_U(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad32_u', []), KInt(offset)]) + +def I64_LOAD32_S(offset : int): + return KApply('aLoad', [i64, KApply('loadOpLoad32_s', []), KInt(offset)]) + +MEMORY_GROW = KApply('aGrow', []) +MEMORY_SIZE = KApply('aSize', []) + + ####################### + # Global Instructions # + ####################### + +def GET_GLOBAL(idx : int): + return KApply('aGlobal.get', [KInt(idx)]) + +def SET_GLOBAL(idx : int): + return KApply('aGlobal.set', [KInt(idx)]) + + ###################### + # Local Instructions # + ###################### + +def GET_LOCAL(idx : int): + return KApply('aLocal.get', [KInt(idx)]) + +def SET_LOCAL(idx : int): + return KApply('aLocal.set', [KInt(idx)]) + +def TEE_LOCAL(idx : int): + return KApply('aLocal.tee', [KInt(idx)]) + +####################### +# Import Descriptions # +####################### + +def func_desc(type : int, id=EMPTY_ID): + return KApply(FUNC_DESC, [id, KInt(type)]) + +def global_desc(global_type, id=EMPTY_ID): + return KApply(GLOBAL_DESC, [id, global_type]) + +def table_desc(lim, id=EMPTY_ID): + return KApply(TABLE_DESC, [id, limits(lim)]) + +def memory_desc(lim, id=EMPTY_ID): + return KApply(MEMORY_DESC, [id, limits(lim)]) + +################ +# Declarations # +################ + +def type(func_type, metadata=EMPTY_ID): + return KApply(TYPE, [func_type, metadata]) + +def func(type, locals, body, metadata=EMPTY_FUNC_METADATA): + return KApply(FUNC, [type, locals, body, metadata]) + +def table(lim, metadata=EMPTY_ID): + return KApply(TABLE, [limits(lim), metadata]) + +def memory(lim, metadata=EMPTY_ID): + return KApply(MEMORY, [limits(lim), metadata]) + +def glob(type, init, metadata=EMPTY_ID): + return KApply(GLOBAL, [type, init, metadata]) + +def elem(table_idx : int, offset, init : [int]): + return KApply(ELEM, [KInt(table_idx), offset, ints(init)]) + +def data(memory_idx : int, offset, data : bytes): + return KApply(DATA, [KInt(memory_idx), offset, KBytes(data)]) + +def start(start_idx : int): + return KApply(START, [KInt(start_idx)]) + +def imp(mod_name, name, import_desc): + return KApply(IMPORT, [mod_name, name, import_desc]) + +def export(name, index): + return KApply(EXPORT, [name, KInt(index)]) + +def module_metadata(mid=None, fids=None, filename=None): + # TODO: Implement module id and function ids metadata transformation. + kfilename = EMPTY_OPT_STRING if filename is None else KString(filename) + return KApply(MODULE_METADATA, [EMPTY_ID, EMPTY_MAP, kfilename]) + +EMPTY_MODULE_METADATA = module_metadata() + +def module(types=EMPTY_DEFNS, + funcs=EMPTY_DEFNS, + tables=EMPTY_DEFNS, + mems=EMPTY_DEFNS, + globs=EMPTY_DEFNS, + elem=EMPTY_DEFNS, + data=EMPTY_DEFNS, + start=EMPTY_DEFNS, + imports=EMPTY_DEFNS, + exports=EMPTY_DEFNS, + metadata=EMPTY_MODULE_METADATA): + """Construct a Kast of a module.""" + return KApply(MODULE, + [types, + funcs, + tables, + mems, + globs, + elem, + data, + start, + imports, + exports, + metadata]) diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/test.py b/docs/runtimeverification-wasm-semantics/binary-parser/test.py new file mode 100644 index 000000000..34fb4526c --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/test.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +import wasm2kast +import json +import pyk +import sys +import subprocess +import tempfile + +WASM_definition_llvm_no_coverage_dir = '.build/defn/llvm' + +def config_to_kast_term(config): + return { 'format' : 'KAST', 'version': 2, 'term': config.to_dict() } + +def run_module(parsed_module): + input_json = config_to_kast_term(parsed_module) + krun_args = [ '--term', '--debug'] + + with tempfile.NamedTemporaryFile(mode = 'w') as tempf: + tempf.write(json.dumps(input_json)) + tempf.flush() + + command = ['krun-legacy', '--directory', + WASM_definition_llvm_no_coverage_dir, '--term', tempf.name, + '--parser', 'cat', '--output', 'json'] + process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, stderr = process.communicate(input=None) + rc = process.returncode + + if rc != 0: + raise Exception(f'Received error while running: {str(stderr)}') + +def pykPrettyPrint(module): + WASM_definition_llvm_no_coverage_dir = '.build/defn/llvm' + WASM_definition_main_file = 'test' + WASM_definition_llvm_no_coverage = pyk.readKastTerm(WASM_definition_llvm_no_coverage_dir + '/' + WASM_definition_main_file + '-kompiled/compiled.json') + WASM_symbols_llvm_no_coverage = pyk.buildSymbolTable(WASM_definition_llvm_no_coverage) + print(pyk.prettyPrintKast(module, WASM_symbols_llvm_no_coverage)) + +sys.setrecursionlimit(1500000000) + +if __name__ == "__main__": + module = wasm2kast.main() + run_module(module) diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/test_kwasm_ast.py b/docs/runtimeverification-wasm-semantics/binary-parser/test_kwasm_ast.py new file mode 100644 index 000000000..1c836f13e --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/test_kwasm_ast.py @@ -0,0 +1,23 @@ +import pytest + +from kwasm_ast import KBytes + +KBYTES_TEST_DATA = ( + (bytes([0x0, 0x41, 0xff]), 'b"\x00\x41\xff"'), + (bytes([]), 'b""'), + (b'WASM', 'b"WASM"'), + (b'foo\xAA\x01barbaz', 'b"foo\xAA\x01barbaz"'), + (b'foo\xAAbar\x01baz', 'b"foo\xAAbar\x01baz"'), + (b'abcdefghijklmnopqrstuvwxyz', 'b"abcdefghijklmnopqrstuvwxyz"'), + (0x11223344556677889900aabbccddeeff.to_bytes(length=16, byteorder='big'), + 'b"\x11\x22\x33\x44\x55\x66\x77\x88\x99\x00\xaa\xbb\xcc\xdd\xee\xff"') +) + +@pytest.mark.parametrize(('input', 'expected'), KBYTES_TEST_DATA) +def test_kbytes(input, expected) -> None: + # When + t = KBytes(input) + + # Then + assert t.token == expected + assert t.sort.name == 'Bytes' diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/wasm b/docs/runtimeverification-wasm-semantics/binary-parser/wasm new file mode 120000 index 000000000..b8e61c3ee --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/wasm @@ -0,0 +1 @@ +../deps/py-wasm/wasm \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/binary-parser/wasm2kast.py b/docs/runtimeverification-wasm-semantics/binary-parser/wasm2kast.py new file mode 100644 index 000000000..abf03ad8e --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/binary-parser/wasm2kast.py @@ -0,0 +1,268 @@ +#!/usr/bin/env python3 + +""" +This library provides a translation from the Wasm binary format to Kast. +""" + +import sys +import json +import kwasm_ast as a + +from wasm.parsers.module import parse_module, Module +from wasm.datatypes import ValType, TypeIdx, FunctionType, Function, Table, TableType, Memory, MemoryType, Limits, Global, GlobalType, Mutability, ElementSegment, DataSegment, StartFunction, Import, Export +from wasm.opcodes import BinaryOpcode + +def main(): + if len(list(sys.argv)) == 1: + infile = sys.stdin + else: + infile = open(sys.argv[1], 'rb') + module = wasm2kast(infile) + infile.close() + return module + +def wasm2kast(wasm_bytes : bytes, filename=None) -> dict: + """Returns a dictionary representing the Kast JSON.""" + ast = parse_module(wasm_bytes) + return ast2kast(ast, filename=filename) + +def ast2kast(wasm_ast : Module, filename=None) -> dict: + """Returns a dictionary representing the Kast JSON.""" + types = a.defns([typ(x) for x in wasm_ast.types]) + funcs = a.defns([func(x) for x in wasm_ast.funcs]) + tables = a.defns([table(x) for x in wasm_ast.tables]) + mems = a.defns([memory(x) for x in wasm_ast.mems]) + globs = a.defns([glob(x) for x in wasm_ast.globals]) + elems = a.defns([elem(x) for x in wasm_ast.elem]) + datas = a.defns([data(x) for x in wasm_ast.data]) + starts = a.defns(start(wasm_ast.start)) + imports = a.defns([imp(x) for x in wasm_ast.imports]) + exports = a.defns([export(x) for x in wasm_ast.exports]) + meta = a.module_metadata(filename=filename) + return a.module(types=types, funcs=funcs, tables=tables, mems=mems, globs=globs, elem=elems, data=datas, start=starts, imports=imports, exports=exports, metadata=meta) + +######### +# Defns # +######### + +def typ(t : FunctionType): + return a.type(func_type(t.params, t.results)) + +def func(f : Function): + type = a.KInt(f.type_idx) + ls_list = [val_type(x) for x in f.locals] + locals = a.vec_type(a.val_types(ls_list)) + body = instrs(f.body) + return a.func(type, locals, body) + +def table(t : Table): + ls = limits(t.type.limits) + return a.table(ls) + +def memory(m : Memory): + ls = limits(m.type) + return a.memory(ls) + +def glob(g : Global): + t = global_type(g.type) + init = instrs(g.init) + return a.glob(t, init) + +def elem(e : ElementSegment): + offset = instrs(e.offset) + return a.elem(e.table_idx, offset, e.init) + +def data(d : DataSegment): + offset = instrs(d.offset) + return a.data(d.memory_idx, offset, d.init) + +def start(s : StartFunction): + if s is None: + return [] + return [a.start(s.function_idx)] + +def imp(i : Import): + mod_name = a.wasm_string(i.module_name) + name = a.wasm_string(i.as_name) + t = type(i.desc) + if t is TypeIdx: + desc = a.func_desc(i.desc) + elif t is GlobalType: + desc = a.global_desc(global_type(i.desc)) + elif t is TableType: + desc = a.table_desc(limits(i.desc.limits)) + elif t is MemoryType: + desc = a.memory_desc(limits(i.desc)) + return a.imp(mod_name, name, desc) + +def export(e : Export): + name = a.wasm_string(e.name) + idx = e.desc + return a.export(name, idx) + +########## +# Instrs # +########## + +block_id = 0 + +def instrs(iis): + """Turn a list of instructions into KAST.""" + # We ignore `END`. + # The AST supplied by py-wasm has already parsed these and terminated the blocks. + # We also ignore `ELSE`. + # The AST supplied by py-wasm includes the statements in the else-branch as part of the `IF` instruction. + return a.instrs([instr(i) for i in iis + if not i.opcode == BinaryOpcode.END + and not i.opcode == BinaryOpcode.ELSE]) + +def instr(i): + B = BinaryOpcode + global block_id + if i.opcode == B.BLOCK: + cur_block_id = block_id + block_id += 1 + iis = instrs(i.instructions) + res = vec_type(i.result_type) + return a.BLOCK(res, iis, a.KInt(cur_block_id)) + if i.opcode == B.BR: + return a.BR(i.label_idx) + if i.opcode == B.BR_IF: + return a.BR_IF(i.label_idx) + if i.opcode == B.BR_TABLE: + return a.BR_TABLE(i.label_indices, i.default_idx) + if i.opcode == B.CALL: + return a.CALL(i.function_idx) + if i.opcode == B.CALL_INDIRECT: + return a.CALL_INDIRECT(i.type_idx) + if i.opcode == B.ELSE: + raise(ValueError("ELSE opcode: should have been filtered out.")) + if i.opcode == B.END: + raise(ValueError("End opcode: should have been filtered out.")) + if i.opcode == B.F32_CONST: + return a.F32_CONST(i.value) + if i.opcode == B.F64_CONST: + return a.F64_CONST(i.value) + if i.opcode == B.F32_REINTERPRET_I32: + raise(ValueError('Reinterpret instructions not implemented.')) + if i.opcode == B.F64_REINTERPRET_I64: + raise(ValueError('Reinterpret instructions not implemented.')) + if i.opcode == B.GET_GLOBAL: + return a.GET_GLOBAL(i.global_idx) + if i.opcode == B.GET_LOCAL: + return a.GET_LOCAL(i.local_idx) + if i.opcode == B.I32_CONST: + return a.I32_CONST(i.value) + if i.opcode == B.I64_CONST: + return a.I64_CONST(i.value) + if i.opcode == B.I32_REINTERPRET_F32: + raise(ValueError('Reinterpret instructions not implemented.')) + if i.opcode == B.I64_REINTERPRET_F64: + raise(ValueError('Reinterpret instructions not implemented.')) + if i.opcode == B.IF: + cur_block_id = block_id + block_id += 1 + thens = instrs(i.instructions) + els = instrs(i.else_instructions) + res = vec_type(i.result_type) + return a.IF(res, thens, els, a.KInt(cur_block_id)) + if i.opcode == B.F32_STORE: + return a.F32_STORE(i.memarg.offset) + if i.opcode == B.F64_STORE: + return a.F64_STORE(i.memarg.offset) + if i.opcode == B.I32_STORE: + return a.I32_STORE(i.memarg.offset) + if i.opcode == B.I64_STORE: + return a.I64_STORE(i.memarg.offset) + if i.opcode == B.I32_STORE16: + return a.I32_STORE16(i.memarg.offset) + if i.opcode == B.I64_STORE16: + return a.I64_STORE16(i.memarg.offset) + if i.opcode == B.I32_STORE8: + return a.I32_STORE8(i.memarg.offset) + if i.opcode == B.I64_STORE8: + return a.I64_STORE8(i.memarg.offset) + if i.opcode == B.I64_STORE32: + return a.I64_STORE32(i.memarg.offset) + if i.opcode == B.F32_LOAD: + return a.F32_LOAD(i.memarg.offset) + if i.opcode == B.F64_LOAD: + return a.F64_LOAD(i.memarg.offset) + if i.opcode == B.I32_LOAD: + return a.I32_LOAD(i.memarg.offset) + if i.opcode == B.I64_LOAD: + return a.I64_LOAD(i.memarg.offset) + if i.opcode == B.I32_LOAD16_S: + return a.I32_LOAD16_S(i.memarg.offset) + if i.opcode == B.I32_LOAD16_U: + return a.I32_LOAD16_U(i.memarg.offset) + if i.opcode == B.I64_LOAD16_S: + return a.I64_LOAD16_S(i.memarg.offset) + if i.opcode == B.I64_LOAD16_U: + return a.I64_LOAD16_U(i.memarg.offset) + if i.opcode == B.I32_LOAD8_S: + return a.I32_LOAD8_S(i.memarg.offset) + if i.opcode == B.I32_LOAD8_U: + return a.I32_LOAD8_U(i.memarg.offset) + if i.opcode == B.I64_LOAD8_S: + return a.I64_LOAD8_S(i.memarg.offset) + if i.opcode == B.I64_LOAD8_U: + return a.I64_LOAD8_U(i.memarg.offset) + if i.opcode == B.I64_LOAD32_S: + return a.I64_LOAD32_S(i.memarg.offset) + if i.opcode == B.I64_LOAD32_U: + return a.I64_LOAD32_U(i.memarg.offset) + if i.opcode == B.LOOP: + cur_block_id = block_id + block_id += 1 + iis = instrs(i.instructions) + res = vec_type(i.result_type) + return a.LOOP(res, iis, a.KInt(cur_block_id)) + if i.opcode == B.SET_GLOBAL: + return a.SET_GLOBAL(i.global_idx) + if i.opcode == B.SET_LOCAL: + return a.SET_LOCAL(i.local_idx) + if i.opcode == B.TEE_LOCAL: + return a.TEE_LOCAL(i.local_idx) + # Catch all for operations without direct arguments. + op = i.opcode + return eval('a.' + i.opcode.name) + +######## +# Data # +######## + +def val_type(t : ValType): + if t == ValType.i32: + return a.i32 + if t == ValType.i64: + return a.i64 + if t == ValType.f32: + return a.f32 + if t == ValType.f64: + return a.f64 + +def vec_type(ts : [ValType]): + _ts = [val_type(x) for x in ts] + return a.vec_type(a.val_types(_ts)) + +def func_type(params, results): + pvec = vec_type(params) + rvec = vec_type(results) + return a.func_type(pvec, rvec) + +def limits(l : Limits): + return (l.min, l.max) + +def global_type(t : GlobalType): + vt = val_type(t.valtype) + if t.mut is Mutability.const: + return a.global_type(a.MUT_CONST, vt) + return a.global_type(a.MUT_VAR, vt) + +######## +# Main # +######## + +if __name__ == "__main__": + main() diff --git a/docs/runtimeverification-wasm-semantics/convert.py b/docs/runtimeverification-wasm-semantics/convert.py new file mode 100644 index 000000000..bfebd0f0b --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/convert.py @@ -0,0 +1,39 @@ +# This script is not used during runtime. +# It just helps converting some conformances test to a test that we can use by removing unsupported functions and converting hexfloat to normal float. +# However it does not support multi-line assertions, function definitions, etc. +# The test files under directory tests/simple/float were generated by this script. +# example usage: python convert.py f32.wast + +import re +import sys + + +def hex2float(h): + print(h) + if "nan" in h: + return h.replace("nan", "NaN") + elif "inf" in h: + return h.replace("inf", "Infinity") + elif "0x" not in h: + return h + else: + return h.split()[0] + " " + "%e" % (float.fromhex(h.split()[1])) + + +def main(): + filename = sys.argv[1] + infile = "tests/wasm-tests/test/core/%s" % filename + outfile = open("tests/simple/%s-c.%s" % tuple(filename.split(".")), "w") + unsupported = ["nan:", "-nan", "reinterpret", + "assert_return_canonical_nan", "assert_return_arithmetic_nan", "assert_invalid", "assert_malformed"] + for line in (open(infile).readlines()): + if any(x in line for x in unsupported): + outfile.write(";; "+line) + else: + outfile.write(re.sub(r"(?:(?:f32|f64)\.const )([^\)]+)", + lambda m: hex2float(m.group()), line)) + outfile.write("\n#clearConfig\n") + + +if __name__ == "__main__": + main() diff --git a/docs/runtimeverification-wasm-semantics/data.md b/docs/runtimeverification-wasm-semantics/data.md new file mode 100644 index 000000000..10334132b --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/data.md @@ -0,0 +1,606 @@ +WebAssembly Data +================ + +```k +module WASM-DATA-SYNTAX + imports WASM-DATA-COMMON-SYNTAX +endmodule +``` + +Common Syntax +------------- + +```k +module WASM-DATA-COMMON-SYNTAX + imports INT-SYNTAX + imports FLOAT-SYNTAX +``` + +### WASM Token Sorts + +```k + syntax IdentifierToken [token] + syntax WasmIntToken [token] + syntax #Layout [token] + syntax WasmStringToken [token] + // ------------------------------ +``` + +### Identifiers + +And we use `OptionalId` to handle the case where an identifier could be omitted. + +```k + syntax Identifier ::= IdentifierToken + syntax OptionalId ::= "" [klabel(.Identifier), symbol] + | Identifier + // -------------------------------- +``` + +### Strings + +Wasm binary data can sometimes be specified as a string. +The string considered to represent the sequence of UTF-8 bytes that encode it. +The exception is for characters that are explicitly escaped which can represent bytes in hexadecimal form. + +```k + syntax WasmString ::= ".WasmString" + | WasmStringToken + // ------------------------------------- + + syntax String ::= #parseWasmString ( WasmStringToken ) [function, total, hook(STRING.token2string)] + // ---------------------------------------------------------------------------------------------------------- + + syntax DataString ::= List{WasmString, ""} [klabel(listWasmString)] + // ------------------------------------------------------------------- +``` + +### Indices + +Many constructions in Wasm, such a functions, labels, locals, types, etc., are referred to by their index. +In the abstract syntax of Wasm, indices are 32 bit unsigned integers. +However, we extend the `Index` sort with another subsort, `Identifier`, in the text format. + +```k + syntax Index ::= WasmInt + // ------------------------ +``` + +### ElemSegment + +Element Segment is a list of indices. +It is used when initializing a WebAssembly table, or used as the parameter of the `br_table` function. + +```k + syntax ElemSegment ::= List{Index, ""} [klabel(listIndex)] + // ---------------------------------------------------------- +``` + +### WebAssembly Types + +#### Base Types + +WebAssembly has four basic types, for 32 and 64 bit integers and floats. + +```k + syntax IValType ::= "i32" [klabel(i32), symbol] | "i64" [klabel(i64), symbol] + syntax FValType ::= "f32" [klabel(f32), symbol] | "f64" [klabel(f64), symbol] + syntax ValType ::= IValType | FValType + // --------------------------------------- +``` + +#### Type Constructors + +There are two basic type-constructors: sequencing (`[_]`) and function spaces (`_->_`). + +```k + syntax ValTypes ::= List{ValType, ""} [klabel(listValTypes), symbol] + // -------------------------------------------------------------------- +``` + +### Integers + +Here we define the rules about what integer formats can be used in Wasm. +For the core language, only regular integers are allowed. + +```k + syntax WasmInt ::= Int + // ---------------------- +``` +### Type Mutability + +```k + syntax Mut ::= "const" [klabel(mutConst), symbol] + | "var" [klabel(mutVar), symbol] + // ----------------------------------------------- +``` + + +### Basic Values + +WebAssembly values are either integers or floating-point numbers, of 32- or 64-bit widths. + +```k + syntax Number ::= Int | Float + // ----------------------------- +``` + +### External Values + +An `external value` is the runtime representation of an entity that can be `imported` or `exported`. +It is an `address` denoting either a `function instance`, `table instance`, `memory instance`, or `global instances` in the shared store. + +```k + syntax AllocatedKind ::= "func" | "table" | "memory" | "global" + syntax Externval ::= AllocatedKind Index + // -------------------------------------------- +``` + +```k +endmodule +``` + +`WASM-DATA` module +------------------ + +```k +module WASM-DATA + imports WASM-DATA-COMMON-SYNTAX + + imports INT + imports BOOL + imports STRING + imports LIST + imports MAP + imports FLOAT + imports BYTES + imports K-EQUAL +``` + +### Identifiers + +In `KWASM` rules, we use `#freshId ( Int )` to generate a fresh identifier based on the element index in the current module. +```k + syntax Identifier ::= #freshId ( Int ) + // -------------------------------------- +``` + +In KWasm we store identifiers in maps from `Identifier` to `Int`, the `Int` being an index. +This rule handles adding an `OptionalId` as a map key, but only when it is a proper identifier. + +```k + syntax Map ::= #saveId (Map, OptionalId, Int) [function] + // ------------------------------------------------------- + rule #saveId (MAP, ID:OptionalId, _) => MAP requires notBool isIdentifier(ID) + rule #saveId (MAP, ID:Identifier, IDX) => MAP [ID <- IDX] +``` + +`Int` is the basic form of index, and indices always need to resolve to integers. +In the text format, `Index` is extended with the `Identifier` subsort, and there needs to be a way to resolve it to an `Int`. +In Wasm, the current "context" contains a mapping from identifiers to indices. +The `#ContextLookup` function provides an extensible way to get an `Int` from an index. +Any extension of the `Index` type requires that the function `#ContextLookup` is suitably extended. +For `Int`, however, a the context is irrelevant and the index always just resolves to the integer. + +```k + syntax Int ::= #ContextLookup ( Map , Index ) [function] + // -------------------------------------------------------- + rule #ContextLookup(_IDS:Map, I:Int) => I +``` + +### ElemSegment + +```k + syntax Ints ::= List{Int, ""} [klabel(listInt), symbol] + // ------------------------------------------------------- + + syntax Int ::= #lenElemSegment (ElemSegment) [function] + syntax Index ::= #getElemSegment (ElemSegment, Int) [function] + syntax Int ::= #lenInts (Ints) [function] + syntax Int ::= #getInts (Ints, Int) [function] + // -------------------------------------------------------------- + rule #lenElemSegment(.ElemSegment) => 0 + rule #lenElemSegment(_TFIDX ES) => 1 +Int #lenElemSegment(ES) + + rule #getElemSegment(E _ES, 0) => E + rule #getElemSegment(_E ES, I) => #getElemSegment(ES, I -Int 1) requires I >Int 0 + + rule #lenInts(.Ints) => 0 + rule #lenInts(_TFIDX ES) => 1 +Int #lenInts(ES) + + rule #getInts(E _ES, 0) => E + rule #getInts(_E ES, I) => #getInts(ES, I -Int 1) requires I >Int 0 + + syntax Ints ::= elemSegment2Ints ( ElemSegment ) [function] + // ----------------------------------------------------------- + rule elemSegment2Ints(.ElemSegment) => .Ints + rule elemSegment2Ints(E:Int ES) => E elemSegment2Ints(ES) +``` + +### OptionalInt + +In some cases, an integer is optional, such as when either giving or omitting the max bound when defining a table or memory. +The sort `OptionalInt` provides this potentially "undefined" `Int`. + +```k + syntax OptionalInt ::= Int | ".Int" + // ----------------------------------- +``` + +### Limits + +Tables and memories have limits, defined as either a single `Int` or two `Int`s, representing min and max bounds. + +```k + syntax Limits ::= #limitsMin(Int) [klabel(limitsMin), symbol] + | #limits(Int, Int) [klabel(limitsMinMax), symbol] + // ------------------------------------------------------------------ +``` + +### Type Constructors + +There are two basic type-constructors: sequencing (`[_]`) and function spaces (`_->_`). + +```k + syntax VecType ::= "[" ValTypes "]" [klabel(aVecType), symbol] + // --------------------------------------------------------------- + + syntax FuncType ::= VecType "->" VecType [klabel(aFuncType), symbol] + // -------------------------------------------------------------------- + + syntax Int ::= lengthValTypes ( ValTypes ) [function, total] + // ----------------------------------------------------------------- + rule lengthValTypes(.ValTypes) => 0 + rule lengthValTypes(_V VS) => 1 +Int lengthValTypes(VS) +``` + +All told, a `Type` can be a value type, vector of types, or function type. + +```k + syntax Type ::= ".Type" | ValType | VecType | FuncType + // ------------------------------------------------------ +``` + +We can append two `ValTypes`s with the `_+_` operator. + +```k + syntax ValTypes ::= ValTypes "+" ValTypes [function, total] + // ---------------------------------------------------------------- + rule .ValTypes + VTYPES' => VTYPES' + rule (VT VTYPES) + VTYPES' => VT (VTYPES + VTYPES') +``` + +Also we can reverse a `ValTypes` with `#revt` + +```k + syntax ValTypes ::= #revt ( ValTypes ) [function, total] + | #revt ( ValTypes , ValTypes ) [function, total, klabel(#revtAux)] + // ------------------------------------------------------------------------------------------ + rule #revt(VT) => #revt(VT, .ValTypes) + + rule #revt(.ValTypes, VT') => VT' + rule #revt(V VT , VT') => #revt(VT, V VT') +``` + +### Type Information + +The `#width` function returns the bit-width of a given `IValType`. + +```k + syntax Int ::= #width ( IValType ) [function, total] + syntax Int ::= #numBytes ( IValType ) [function, total, smtlib(numBytes)] + // ------------------------------------------------------------------------------ + rule #width(i32) => 32 + rule #width(i64) => 64 + + rule #numBytes(ITYPE) => #width(ITYPE) /Int 8 [concrete] +``` + +`2 ^Int 32` and `2 ^Int 64` are used often enough to warrant providing helpers for them. + +```k + syntax Int ::= #pow ( IValType ) [function, total, smtlib(pow )] /* 2 ^Int #width(T) */ + | #pow1 ( IValType ) [function, total, smtlib(pow1)] /* 2 ^Int (#width(T) -Int 1) */ + // ------------------------------------------------------------------------------------------------------ + rule #pow1(i32) => 2147483648 + rule #pow (i32) => 4294967296 + rule #pow1(i64) => 9223372036854775808 + rule #pow (i64) => 18446744073709551616 +``` + +### Type Mutability + +```k + syntax Mut ::= ".Mut" + // ---------------------- +``` + +### Values + +Proper values are numbers annotated with their types. + +```k + syntax IVal ::= "<" IValType ">" Int [klabel(<_>_)] + syntax FVal ::= "<" FValType ">" Float [klabel(<_>_)] + syntax Val ::= "<" ValType ">" Number [klabel(<_>_)] + | IVal | FVal + // --------------------------- +``` + +We also add `undefined` as a value, which makes many partial functions in the semantics total. + +```k + syntax Val ::= "undefined" + // -------------------------- +``` + +#### Value Operations + +The `#chop` function will ensure that an integer value is wrapped to the correct bit-width. +The `#wrap` function wraps an integer to a given byte width. +The `#get` function extracts the underlying K integer from a WASM `IVal`. + +```k + syntax IVal ::= #chop ( IVal ) [function, total] + // ----------------------------------------------------- + rule #chop(< ITYPE > N) => < ITYPE > (N modInt #pow(ITYPE)) + + syntax Int ::= #wrap ( Int , Int ) [function, total] + // --------------------------------------------------------- + rule [wrap-Positive] : #wrap(WIDTH, N) => N &Int ((1 < 0 requires notBool 0 N) => N +``` + +In `K` all `Float` numbers are of 64-bits width by default, so we need to downcast a `f32` float to 32-bit manually. +The `#round` function casts a `f64` float to a `f32` float. +`f64` floats has 1 bit for the sign, 53 bits for the value and 11 bits for exponent. +`f32` floats has 1 bit for the sign, 23 bits for the value and 8 bits for exponent. + +```k + syntax FVal ::= #round ( FValType , Number ) [function] + // ------------------------------------------------------- + rule #round(f64 , N:Float) => < f64 > roundFloat(N, 53, 11) [concrete] + rule #round(f32 , N:Float) => < f32 > roundFloat(N, 24, 8) [concrete] + rule #round(f64 , N:Int ) => < f64 > Int2Float(N, 53, 11) [concrete] + rule #round(f32 , N:Int ) => < f32 > Int2Float(N, 24, 8) [concrete] +``` + +#### Signed Interpretation + +Functions `#signed` and `#unsigned` allow for easier operation on twos-complement numbers. +These functions assume that the argument integer is in the valid range of signed and unsigned values of the respective type, so they will not correctly map arbitrary integers into the corret range. +Some operations extend integers from 1, 2, or 4 bytes, so a special function with a bit width argument helps with the conversion. + +```k + syntax Int ::= #signed ( IValType , Int ) [function] + | #unsigned ( IValType , Int ) [function] + | #signedWidth ( Int , Int ) [function] + // --------------------------------------------------------- + rule #signed(ITYPE, N) => N requires 0 <=Int N andBool N N -Int #pow(ITYPE) requires #pow1(ITYPE) <=Int N andBool N N +Int #pow(ITYPE) requires N N requires 0 <=Int N + + rule #signedWidth(1, N) => N requires 0 <=Int N andBool N N -Int 256 requires 128 <=Int N andBool N N requires 0 <=Int N andBool N N -Int 65536 requires 32768 <=Int N andBool N #signed(i32, N) +``` + +#### Boolean Interpretation + +Function `#bool` converts a `Bool` into an `Int`. + +```k + syntax Int ::= #bool ( Bool ) [function, total] + // ---------------------------------------------------- + rule #bool( B:Bool ) => 1 requires B + rule #bool( B:Bool ) => 0 requires notBool B +``` + +### Data Structures + +WebAssembly is a stack-machine, so here we provide the stack to operate over. +Operator `_++_` implements an append operator for sort `ValStack`. + +```k + syntax ValStack ::= ".ValStack" + | Val ":" ValStack + | ValStack "++" ValStack [function, total] + // ----------------------------------------------------------------- + rule .ValStack ++ VALSTACK' => VALSTACK' + rule (SI : VALSTACK) ++ VALSTACK' => SI : (VALSTACK ++ VALSTACK') +``` + +`#zero` will create a specified stack of zero values in a given type. +`#take` will take the prefix of a given stack. +`#drop` will drop the prefix of a given stack. +`#revs` will reverse a given stack. + +**NOTE**: `#take` and `#drop` are _total_, so in case they could not take/drop enough values before running out, they just return the empty `.ValStack`. +Each call site _must_ ensure that this is desired behavior before using these functions. + +```k + syntax ValStack ::= #zero ( ValTypes ) [function, total] + | #take ( Int , ValStack ) [function, total] + | #drop ( Int , ValStack ) [function, total] + | #revs ( ValStack ) [function, total] + | #revs ( ValStack , ValStack ) [function, total, klabel(#revsAux)] + // ------------------------------------------------------------------------------------------ + rule #zero(.ValTypes) => .ValStack + rule #zero(ITYPE:IValType VTYPES) => < ITYPE > 0 : #zero(VTYPES) + rule #zero(FTYPE:FValType VTYPES) => < FTYPE > 0.0 : #zero(VTYPES) + + rule #take(N, _) => .ValStack requires notBool N >Int 0 + rule #take(N, .ValStack) => .ValStack requires N >Int 0 + rule #take(N, V : VS) => V : #take(N -Int 1, VS) requires N >Int 0 + + rule #drop(N, VS) => VS requires notBool N >Int 0 + rule #drop(N, .ValStack) => .ValStack requires N >Int 0 + rule #drop(N, _ : VS) => #drop(N -Int 1, VS) requires N >Int 0 + + rule #revs(VS) => #revs(VS, .ValStack) + + rule #revs(.ValStack, VS') => VS' + rule #revs(V : VS , VS') => #revs(VS, V : VS') +``` + +### Strings + +Wasm uses a different character escape rule with K, so we need to define the `unescape` function ourselves. + +```k + syntax String ::= unescape(String) [function] + | unescape(String, Int, String) [function, klabel(unescapeAux)] + // ------------------------------------------------------------------------------- + rule unescape(S ) => unescape(S, 1, "") + rule unescape(S, IDX, SB) => SB requires IDX ==Int lengthString(S) -Int 1 +``` + +Unescaped characters just directly gets added to the output. +The escaped character starts with a "\" and followed by 2 hexdigits will be converted to a unescaped character before stored. + +```k + rule unescape(S, IDX, SB) => unescape(S, IDX +Int 1, SB +String substrString(S, IDX, IDX +Int 1)) + requires IDX unescape(S, IDX +Int 3, SB +String chrChar(String2Base(substrString(S, IDX +Int 1, IDX +Int 3), 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("09", 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("0A", 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("0D", 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("22", 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("27", 16))) + requires IDX unescape(S, IDX +Int 2, SB +String chrChar(String2Base("5C", 16))) + requires IDX +}`. +The implementation is not correct for now because the UTF-8 encoding is not implemented. + +```k + syntax Int ::= #idxCloseBracket ( String, Int ) [function] + // ---------------------------------------------------------- + rule #idxCloseBracket ( S, I ) => I requires substrString(S, I, I +Int 1) ==String "}" + rule #idxCloseBracket ( S, I ) => #idxCloseBracket ( S, I +Int 1 ) requires substrString(S, I, I +Int 1) =/=String "}" + + syntax Bytes ::= #encodeUTF8 ( Int ) [function] + // ----------------------------------------------- + rule #encodeUTF8 (I) => Int2Bytes(I, BE, Unsigned) requires I <=Int 127 + rule #encodeUTF8 (I) => Int2Bytes(((((I &Int 1984) >>Int 6) +Int 192) <=Int 128 andBool I <=Int 2047 + rule #encodeUTF8 (I) => Int2Bytes(((((I &Int 61440) >>Int 12) +Int 224) <>Int 6) +Int 128) <=Int 2048 andBool I <=Int 65535 + rule #encodeUTF8 (I) => Int2Bytes(((((I &Int 1835008) >>Int 18) +Int 240) <>Int 12) +Int 128) <>Int6) +Int 128) <=Int 65536 andBool I <=Int 1114111 + + rule unescape(S, IDX, SB) => unescape(S, #idxCloseBracket(S, IDX) +Int 1, SB +String Bytes2String(#encodeUTF8(String2Base(substrString(S, IDX +Int 3, #idxCloseBracket(S, IDX +Int 3)), 16)))) + requires substrString(S, IDX, IDX +Int 1) ==K "\\" + andBool substrString(S, IDX +Int 1, IDX +Int 2) ==K "u" +``` + +`DataString`, as is defined in the wasm semantics, is a list of `WasmString`s. +`#concatDS` concatenates them together into a single string. +The strings to connect needs to be unescaped before concatenated, because the `unescape` function removes the quote sign `"` before and after each substring. + +```k + syntax String ::= #concatDS ( DataString ) [function] + | #concatDS ( DataString, String ) [function, klabel(#concatDSAux)] + // ----------------------------------------------------------------------------------- + rule #concatDS ( DS ) => #concatDS ( DS, "" ) + rule #concatDS ( .DataString , S ) => S + rule #concatDS ( WS:WasmStringToken DS , S ) => #concatDS ( DS , S +String unescape(#parseWasmString(WS)) ) +``` + +`#DS2Bytes` converts a `DataString` to a K builtin `Bytes`. + +```k + syntax Bytes ::= #DS2Bytes (DataString) [function] + // -------------------------------------------------- + rule #DS2Bytes(DS) => String2Bytes(#concatDS(DS)) +``` + +### Linear Memory + +Wasm memories are byte arrays, sized in pages of 65536 bytes, initialized to be all zero bytes. + +- `#setBytesRange(BM, START, BS)` assigns a contiguous chunk of `BS` to `BM` starting at position `N`. +- `#setRange(BM, START, VAL, WIDTH)` writes the integer `I` to memory as bytes (little-endian), starting at index `N`. + +```k + syntax Bytes ::= #setBytesRange ( Bytes , Int , Bytes ) [function, total] + // ------------------------------------------------------------------------------ + rule #setBytesRange(BM, START, BS) => replaceAtBytes(padRightBytes(BM, START +Int lengthBytes(BS), 0), START, BS) + requires 0 <=Int START + + rule #setBytesRange(_, START, _ ) => .Bytes + requires notBool (0 <=Int START) + + syntax Bytes ::= #setRange ( Bytes , Int , Int , Int ) [function, total, smtlib(setRange)] + // ----------------------------------------------------------------------------------------------- + rule #setRange(BM, ADDR, VAL, WIDTH) => BM + requires notBool (0 #setBytesRange(BM, ADDR, Int2Bytes(WIDTH, VAL, LE)) + requires 0 .Bytes + requires notBool (0 <=Int START andBool 0 <=Int WIDTH) + + rule #getBytesRange(BM, START, WIDTH) => substrBytes(padRightBytes(BM, START +Int WIDTH, 0), START, START +Int WIDTH) + requires (0 <=Int START andBool 0 <=Int WIDTH) + andBool START padRightBytes(.Bytes, WIDTH, 0) + requires (0 <=Int START andBool 0 <=Int WIDTH) + andBool notBool (START 0 + requires notBool (0 Bytes2Int(#getBytesRange(BM, ADDR, WIDTH), LE, Unsigned) + requires 0 &2 ; } +fatal() { echo "[FATAL] $@" ; exit 1 ; } + +kwasm_dir="${KWASM_DIR:-$(dirname $0)}" +build_dir="$kwasm_dir/.build" +defn_dir="${KWASM_DEFN_DIR:-$build_dir/defn}" +lib_dir="$build_dir/local/lib" +k_release_dir="${K_RELEASE:-$kwasm_dir/deps/k/k-distribution/target/release/k}" +if [[ ! -f "${k_release_dir}/bin/kompile" ]]; then + if which kompile &> /dev/null; then + k_release_dir="$(dirname $(which kompile))/.." + else + fatal "Cannot find K Installation!" + fi +fi + +export PATH="$k_release_dir/lib/native/linux:$k_release_dir/lib/native/linux64:$k_release_dir/bin/:$PATH" +export LD_LIBRARY_PATH="$k_release_dir/lib/native/linux64:$lib_dir:${LD_LIBRARY_PATH:-}" + +test_logs="$build_dir/logs" +mkdir -p "$test_logs" +test_log="$test_logs/tests.log" + +export K_OPTS="${K_OPTS:--Xmx16G -Xss512m}" + +# Utilities +# --------- + +preprocess() { + local this_script_dir tmp_dir tmp_input + this_script_dir="$(dirname $0)" + tmp_dir="$(mktemp -d)" + tmp_input="$tmp_dir/$(basename $run_file))" + touch "$tmp_input" + python3 "$this_script_dir/preprocessor.py" "$run_file" > "$tmp_input" + run_file="$tmp_input" +} + +# Runners +# ------- + +run_krun() { + local additional_run_args + + additional_run_args=() + ! $bug_report || additional_run_args+=(--haskell-backend-command "kore-exec --bug-report $bug_report_name") + + preprocess + krun --directory "$backend_dir" "$run_file" "${additional_run_args[@]}" "$@" +} + +run_krun_legacy() { + local additional_run_args + + additional_run_args=() + ! $bug_report || additional_run_args+=(--haskell-backend-command "kore-exec --bug-report $bug_report_name") + + preprocess + krun-legacy --directory "$backend_dir" "$run_file" "${additional_run_args[@]}" "$@" +} + +run_kast() { + local output_mode + + preprocess + output_mode="${1:-kast}" ; shift + kast --directory "$backend_dir" "$run_file" --output "$output_mode" "$@" +} + +run_prove() { + local additional_proof_args + + def_module="$1" ; shift + + additional_proof_args=() + ! $repl || additional_proof_args+=(--debugger) + ! $bug_report || additional_proof_args+=(--haskell-backend-command "kore-exec --bug-report $bug_report_name") + + kprove-legacy --directory "$backend_dir" -I "$kwasm_dir" "$run_file" --def-module "$def_module" "${additional_proof_args[@]}" "$@" +} + +# Main +# ---- + +usage() { + echo " + usage: $0 run [--backend (llvm|haskell)] [--bug-report] * + $0 run-legacy [--backend (llvm|haskell)] [--bug-report] * + $0 kast [--backend (llvm|haskell)] * + $0 prove [--backend (haskell)] [--repl|--bug-report] * + + $0 [help|--help|version|--version] + + $0 run : Run a single WebAssembly program + $0 run-legacy : Run a single WebAssembly program using krun-legacy + $0 kast : Parse a single WebAssembly program and output it in supported format + $0 prove : Run a WebAssembly K proof + + $0 help : Display this help message. + $0 version : Display the KWasm, K, Kore, and Z3 versions in use. + + Note: is a path to a file containing a WebAssembly program. + is a K specification to be proved. + are any arguments you want to pass to K when executing/proving. + is the format for Kast to output the term in. + is the module to take as axioms for verification. +" +} + +usage_fatal() { + usage + fatal "$@" +} + +[[ ! -z ${1:-} ]] || usage_fatal "Must supply a command to run." +if [[ "$1" == '--help' ]] || [[ "$1" == 'help' ]]; then + usage + exit 0 +fi + +if [[ "$1" == 'version' ]] || [[ "$1" == '--version' ]]; then + notif "KWasm Version" + git rev-parse --short HEAD + notif "K Version" + kompile --version + notif "Kore Version" + kore-exec --version + notif "Z3 Version" + z3 --version + exit 0 +fi + +run_command="$1"; shift + +[[ ! -z ${1:-} ]] || usage_fatal "Must supply a file to work on." + +backend="llvm" +repl=false +bug_report=false +[[ ! "$run_command" == 'prove' ]] || backend='haskell' +args=() +while [[ $# -gt 0 ]]; do + arg="$1" + case $arg in + --backend) backend="$2" ; shift 2 ;; + --repl) repl=true ; shift ;; + --bug-report) bug_report=true ; shift ;; + *) args+=("$1") ; shift ;; + esac +done +set -- "${args[@]}" + +! $repl || [[ "$backend" == "haskell" ]] || fatal "--repl option only available for Haskell backend." +! $bug_report || [[ "$backend" == "haskell" ]] || fatal "--bug-report option only available for Haskell backend." + +backend_dir="$defn_dir/$backend" + +# get the run file +[[ ! -z ${1:-} ]] || usage_fatal "Must supply a file to run on." +run_file="$1" ; shift +if [[ "$run_file" == '-' ]]; then + tmp_input="$(mktemp)" + trap "rm -rf $tmp_input" INT TERM EXIT + cat - > "$tmp_input" + run_file="$tmp_input" +fi +[[ -f "$run_file" ]] || fatal "File does not exist: $run_file" +bug_report_name="kwasm-bug-$(basename "$run_file")" + +case "$run_command-$backend" in + run-@(llvm|haskell) ) run_krun "$@" ;; + run-legacy-@(llvm|haskell) ) run_krun_legacy "$@" ;; + kast-@(llvm|haskell) ) run_kast "$@" ;; + prove-@(haskell) ) run_prove "$@" ;; + *) usage_fatal "Unknown command on '$backend' backend: $run_command" ;; +esac diff --git a/docs/runtimeverification-wasm-semantics/kwasm-lemmas.md b/docs/runtimeverification-wasm-semantics/kwasm-lemmas.md new file mode 100644 index 000000000..e05f317c4 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/kwasm-lemmas.md @@ -0,0 +1,344 @@ +KWASM Lemmas +============ + +These lemmas aid in verifying WebAssembly programs behavior. +They are part of the *trusted* base, and so should be scrutinized carefully. + +```k +module KWASM-LEMMAS [symbolic] + imports WASM-TEXT + imports BYTES-KORE + imports INT-SYMBOLIC +``` + +Basic logic +----------- + +```k + rule #bool(P) ==Int 0 => notBool P [simplification] +``` + +Basic arithmetic +---------------- + +// TODO: Upstream the lemmas in this section into K. + +### Modular Arithmetic + +Z3 is slow and unreliable in reasoning about modular arithmetic. +Therefore we want to make structural simplifications wherever possible. + +`X modInt N` is undefined for `N ==Int 0`, so we must take care to check that `N =/=Int 0`. +At the same time, we don't want to impose unnecessary side-conditions, so the non-zero condition can be implied by the other conditions. +For example, `X modInt N ==Int Y` implies `N =/=Int 0`, because only non-zero `N` could have the right-hand side resolve to an `Int`. +For simplicity, we impose that `N >Int 0`. +Not however that K defines `X modInt N ==Int X modInt (-N)`. + +#### Rules for Expressions With Only Modulus + +These are given in pure modulus form, and in form with `#wrap`, which is modulus with a power of 2 for positive `N`. + +```k + rule #wrap(N, X) => X + requires 0 <=Int N + andBool 0 <=Int X + andBool X 0 + [simplification] +``` + +`modInt` selects the least non-negative representative of a congruence class modulo `N`. + +```k + rule (X modInt M) modInt N => X modInt M + requires M >Int 0 + andBool M <=Int N + [simplification] + + rule #wrap(N, #wrap(M, X)) => #wrap(M, X) + requires M <=Int N + [simplification] +``` + +Proof: + +``` +Since 0 <= x mod m < m <= n, (x mod m) mod n = x mod m +``` + +```k + rule (X modInt M) modInt N => X modInt N + requires M >Int 0 + andBool N >Int 0 + andBool M modInt N ==Int 0 + [simplification] + + rule #wrap(N, #wrap(M, X)) => #wrap(N, X) + requires notBool (M <=Int N) + [simplification] +``` + +Proof: + +``` +Assume m = n * k for some k > 0. +x = m * q + r, for a unique q and r s.t. 0 <= r < m +(x mod m) mod n + = r mod n + = (n * ( k * q) + r) mod n + = m * q + r mod n + = x mod n +``` + +#### Modulus Over Addition + +```k + rule (_X *Int M +Int Y) modInt N => Y modInt N + requires M >Int 0 + andBool N >Int 0 + andBool M modInt N ==Int 0 + [simplification] + + rule (Y +Int _X *Int M) modInt N => Y modInt N + requires M >Int 0 + andBool N >Int 0 + andBool M modInt N ==Int 0 + [simplification] + + rule #wrap(N, (_X < #wrap(N, Y) + requires 0 <=Int M + andBool (N *Int 8) <=Int M + [simplification] + + rule #wrap(N, Y +Int (_X < #wrap(N, Y) + requires 0 <=Int M + andBool (N *Int 8) <=Int M + [simplification] +``` + +Proof: + +``` +Assume m = k * n for some k (side condition). +x * m + y mod n = x * (k * n) + y mod n = y mod n +``` + +```k + rule ((X modInt M) +Int Y) modInt N => (X +Int Y) modInt N + requires M >Int 0 + andBool N >Int 0 + andBool M modInt N ==Int 0 + [simplification] + + rule (X +Int (Y modInt M)) modInt N => (X +Int Y) modInt N + requires M >Int 0 + andBool N >Int 0 + andBool M modInt N ==Int 0 + [simplification] + + rule #wrap(N, #wrap(M, X) +Int Y) => #wrap(N, X +Int Y) + requires N <=Int M + [simplification] + + rule #wrap(N, X +Int #wrap(M, Y)) => #wrap(N, X +Int Y) + requires N <=Int M + [simplification] +``` + +Proof: + +``` +Assume m = l * n +x = k * m + r, r < m +x mod m + y = r + y +(x + y) mod n + = k * m + r + y mod n + = k * l * n + r + y mod n + = r + y mod n + = (x mod m + y) mod n +``` + +#### Bit Shifting + +We want K to understand what a bit-shift is. + +```k + rule (_X < 0 + requires (2 ^Int N) modInt M ==Int 0 + [simplification] + + rule #wrap(M, _X < 0 + requires (M *Int 8) <=Int N + [simplification] + + rule (X >>Int N) => 0 requires X 0 requires M >Int N) >>Int M => X >>Int (N +Int M) [simplification] + rule (X < X <>Int M => X <=Int M [simplification] + rule (X <>Int M => X >>Int (M -Int N) requires notBool (N >=Int M) [simplification] +``` + +```k + rule ((X <>Int N => (X <>Int N) requires M >=Int N [simplification] + rule (Y +Int (X <>Int N => (X <>Int N) requires M >=Int N [simplification] +``` + +Proof: + +``` +Let x' = x << m +=> The least m bits of x' are 0. +=> The least m bits of x' + y are the same as the least m bits of y, and there can be no carry in adding the least m bits. +=> The least (m-n) bits of (x' + y) >> n are the same as the least (m-n) bits of (y >> n), or y[n..], and there can be no carry in adding the least (m-n) bits. +=> ((x << m) + y) >> n is the same as adding x to the m'th and higher bits of y, and then concatenating the lesat (m-n) bytes of y[n..] +=> ((x << m) + y) >> n = y[n..(m-1)] : (x + y[m..]) +=> ((x << m) + y) >> n + = ((x + y[m..]) << (m-n)) + y[n..(m-1)] + = (x << (m-n)) + (y[m..] << (m-n)) + y[n..(m-1)] + = (x << (m-n)) + (y[n..(m-1)] : y[m..]) + = (x << (m-n)) + (y >> n) +``` + +The following rules decrease the modulus by rearranging it around a shift. + +```k + rule (X modInt POW) >>Int N => (X >>Int N) modInt (POW /Int (2 ^Int N)) + requires N >=Int 0 + andBool POW >Int 0 + andBool POW modInt (2 ^Int N) ==Int 0 + [simplification] + + rule (X < (X modInt (POW /Int (2 ^Int N))) <=Int 0 + andBool POW >Int 0 + andBool POW modInt (2 ^Int N) ==Int 0 + [simplification] +``` + +Proof sketch: Taking modulo `2^n * k` can only affect the the `n`-th and higher bits. +A shift right by `n` bits can only erase bits up to the `n-1`-th bit. +Therefore, we may as well shift first and then take the modulus, only we need to make sure the modulus acts on the shifted bits, by taking modulo `k` instead. +The argument for the left shift is similar. + +```k + rule (X +Int (_Y < X modInt POW + requires N >=Int 0 + andBool POW >Int 0 + andBool (2 ^Int N) modInt POW ==Int 0 + [simplification] + + rule ((_Y < X modInt POW + requires N >=Int 0 + andBool POW >Int 0 + andBool (2 ^Int N) modInt POW ==Int 0 + [simplification] +``` + +Proof: These follow from the fact that shifting left by `n` bits is simply multiplying by `2^n`, and from previously proven rules of modular arithmetic. + +### Basic Operations + +When reasoning about `#chop`, it's often the case that the precondition to the proof contains the information needed to indicate no overflow. +In this case, it's simpler (and safe) to simply discard the `#chop`, instead of evaluating it. + +```k + rule X modInt #pow(ITYPE) => #unsigned(ITYPE, X) + requires #inSignedRange (ITYPE, X) + [simplification] + + syntax Bool ::= #inUnsignedRange (IValType, Int) [function] + syntax Bool ::= #inSignedRange (IValType, Int) [function] + // ----------------------------------------------------------- + rule #inUnsignedRange (ITYPE, I) => 0 <=Int I andBool I #minSigned(ITYPE) <=Int I andBool I 0 -Int #pow1(ITYPE) +``` + +Lookups +------- + +```k + rule (_MAP:Map [KEY <- VAL])[KEY] => VAL [simplification] +``` + +Memory +------ + +Bounds on `#getRange`: + +```k + rule 0 <=Int #getRange(_, _, _) => true [simplification] + rule 0 <=Int VAL < true requires 0 <=Int VAL andBool 0 <=Int SHIFT [simplification] + rule 0 <=Int VAL1 +Int VAL2 => true requires 0 <=Int VAL1 andBool 0 <=Int VAL2 [simplification] + + rule #getRange(_, _, WIDTH) true requires 2 ^Int (8 *Int WIDTH) <=Int MAX [simplification] + rule #getRange(_, _, WIDTH) < true requires 2 ^Int ((8 *Int WIDTH) +Int SHIFT) <=Int MAX [simplification] + rule VAL1 +Int VAL2 true requires VAL1 true requires WIDTH *Int 8 <=Int SHIFT + [simplification] +``` + +`#wrap` over `#getRange`: + +```k + rule #wrap(MAX_WIDTH, #getRange(BM, ADDR, WIDTH)) => #getRange(BM, ADDR, minInt(MAX_WIDTH, WIDTH)) + [simplification] +``` + +Arithmetic over `#getRange`: + +```k + rule #getRange(BM, ADDR, WIDTH) >>Int SHIFT => #getRange(BM, ADDR +Int 1, WIDTH -Int 1) >>Int (SHIFT -Int 8) + requires 0 <=Int ADDR + andBool 0 #getRange(BM, ADDR, WIDTH -Int 1) modInt MAX + requires 0 #getRange(BM, ADDR', WIDTH') requires ADDR' +Int WIDTH' <=Int ADDR [simplification] + rule #getRange(#setRange(BM, ADDR, _VAL, WIDTH), ADDR', WIDTH') => #getRange(BM, ADDR', WIDTH') requires ADDR +Int WIDTH <=Int ADDR' [simplification] + rule #getRange(#setRange(_BM, ADDR, VAL, WIDTH), ADDR', WIDTH') => VAL + requires 0 <=Int ADDR + andBool 0 BM [simplification] + rule #setRange(BM, ADDR, (#getRange(_, _, WIDTH1) #as VAL1) +Int (VAL2 < #setRange(#setRange(BM, ADDR, VAL1, minInt(WIDTH1, WIDTH)), ADDR +Int WIDTH1, VAL2, WIDTH -Int WIDTH1) + requires 0 <=Int ADDR + andBool 0 Exp "+" Exp // looser binding + + syntax Stmt ::= Id ":=" Exp + | Stmt ";" Stmt + | "return" Exp +``` + +. . . + +This would allow correctly parsing programs like: + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +\K{} Specifications: Configuration +---------------------------------- + +Tell \K{} about the structure of your execution state. +For example, a simple imperative language might have: + +```k + configuration $PGM:Program + .Map + .Map +``` + +. . . + +> - `` will contain the initial parsed program +> - `` contains bindings of variable names to store locations +> - `` conaints bindings of store locations to integers + +\K{} Specifications: Transition Rules +------------------------------------- + +Using the above grammar and configuration: + +. . . + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +. . . + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +Example Execution +----------------- + +### Program + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +### Initial Configuration + +```k + a := 3 * 2 ; b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + a := 6 ~> b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + a ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + 6 ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + b := 2 * 6 + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + b := 17 ~> return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 17 +``` + +KWASM Design +============ + +WASM Specification +------------------ + +Available at . + +- Fairly unambiguous[^betterThanEVM]. +- Well written with procedural description of execution accompanied by small-step semantic rules. + +. . . + +Example rule: + +1. Let $L$ be the label whose arity is 0 and whose continuation is the start of the loop. +2. `Enter` the block $\instr^\ast$ with label $L$. + +. . . + +\vspace{-2em} +$$ + \LOOP~[t^?]~\instr^\ast~\END + \quad \stepto \quad + \LABEL_0\{\LOOP~[t^?]~\instr^\ast~\END\}~\instr^\ast~\END +$$ + +[^betterThanEVM]: At least, better than the [YellowPaper](https://github.com/ethereum/yellowpaper). + +Translation to \K{} +------------------- + +### WASM Spec + +\vspace{-1em} +$$ + \LOOP~[t^?]~\instr^\ast~\END + \quad \stepto \quad + \LABEL_0\{\LOOP~[t^?]~\instr^\ast~\END\}~\instr^\ast~\END +$$ + +. . . + +### In \K{} + +```k + syntax Instr ::= "loop" Type Instrs "end" + // ----------------------------------------- + rule loop TYPE IS end + => IS + ~> label [ .ValTypes ] { + loop TYPE IS end + } STACK + ... + + STACK +``` + +Design Difference: 1 or 2 Stacks? +--------------------------------- + +. . . + +### WASM Specification + +One stack mixing values and instructions. + +- Confusing control-flow semantics (with `label`s). +- Use meta-level context operator to describe semantics of `br`. +- Correct label is buried in the value stack (which we must also access the top of). +- Section 4.4.5 of the WASM spec. + +. . . + +### KWASM + +Uses two stacks, values in `` cell and instructions in `` cell. + +- Can access both cells simultaneously, without backtracking/remembering one stack. +- Cleaner semantics, no meta-level context operator needed. + +Design Choice: Incremental Semantics +------------------------------------ + +- KWASM semantics are given incrementally. +- Makes it possible to execute program fragments. +- Allows users to quickly experiment with WASM using KWASM. + +. . . + +For example, KWASM will happily execute the following fragment (without an enclosing `module`): + +```wast + (i32.const 4) + (i32.const 5) + (i32.add) +``` + +Early Stage Benefits of KWASM +----------------------------- + +> - Discovered bugs in spec (one filed on Github, some to come). +> - Suggests clearer presentation of control-flow semantics. +> - Interpreter allowing direct experimentation with program fragments. + +Using KWASM (Psuedo-Demo) +========================= + +Getting/Building +---------------- + +Clone the repository: + +```sh +git clone 'https://github.com/kframework/wasm-semantics' +cd wasm-semantics +``` + +Build the dependencies, then the KWASM semantics: + +```sh +make deps +make build +``` + +`kwasm` Script +-------------- + +The file `./kwasm` is the main runner for KWASM. + +### Running `./kwasm help` + +```sh +usage: ./kwasm * + + # Running + # ------- + ./kwasm run Run a single WASM program + ./kwasm debug Run a single WASM program in the debugger + ... +``` + +Running a Program +----------------- + +### WASM Program `pgm1.wast` + +```wasm +(i32.const 4) +(i32.const 5) +(i32.add) +``` + +### Result of `./kwasm run pgm1.wast` + +```k + + + . + + + < i32 > 9 : .Stack + + +``` + +Debugging a Program +------------------- + +### Run `./kwasm debug pgm1.wast` + +```k +== debugging: pgm1.wast +KDebug> s +1 Step(s) Taken. +KDebug> p + + + i32 . const 4 ~> i32 . const 5 i32 . add .Instrs + + + .Stack + + +``` + +Debugging a Program (cont.) +--------------------------- + +### Take a `s`tep then `p`eek at state + +```k +KDebug> s +1 Step(s) Taken. +KDebug> p + + + i32 . const 5 i32 . add .Instrs + + + < i32 > 4 : .Stack + + +``` + +Debugging a Program (cont.) +--------------------------- + +### Take a `s`tep then `p`eek at state + +```k +KDebug> s +1 Step(s) Taken. +KDebug> p + + + i32 . const 5 ~> i32 . add .Instrs + + + < i32 > 4 : .Stack + + +``` + +Debugging a Program (cont.) +--------------------------- + +### Take 10 `s`teps then `p`eek at state + +```k +KDebug> s 10 +Attempted 10 step(s). Took 4 steps(s). +Final State Reached +KDebug> p + + + . + + + < i32 > 9 : .Stack + + +``` + +Future Directions +================= + +Finish KWASM +------------ + +The semantics are fairly early-stage. + +### In progress (1 week out) + +- Frame/locals semantics, `call*` and `return` opcodes. + +### To be done (1-2 months out) + +- Some bitwise operators. +- Everything floating point. +- Tables. +- Memories. +- Modules. + +Fork KeWASM +----------- + +- eWASM adds the gas metering contract to WASM, but otherwise largely leaves the semantics alone. +- Could we give a direct semantics to gas metering? +- Possibly, perhaps then we could verify that the gas metering contract and the direct gas metering agree. + +Verify eWASM Programs +--------------------- + +- KEVM currently has many verified smart contracts at . +- We similarly would like to build a repository of verified code using KeWASM. + +Conclusion +========== + +Benefits of \K{} Approach +------------------------- + +- Many tools that a PL designer/user would want already exist. +- Powerful (and generic) verification engine "for free". +- Executable specification clears up issues in the existing WASM specification[^similarKEVM]. + +[^similarKEVM]: Similarly for KEVM, we found several issues/ambiguities in the [YellowPaper](https://github.com/ethereum/yellowpaper). + +Questions? +---------- + +Thanks for listening! + +References +---------- + +\tiny + diff --git a/docs/runtimeverification-wasm-semantics/media/201903-presentation-chalmers.md b/docs/runtimeverification-wasm-semantics/media/201903-presentation-chalmers.md new file mode 100644 index 000000000..54255bcf7 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/201903-presentation-chalmers.md @@ -0,0 +1,773 @@ +--- +title: 'Semantics of WebAssembly in the K framework' +subtitle: 'What is KWasm?' +author: +- Rikard Hjort \tiny supervised by Magnus Myreen \normalsize +- Everett Hildenbrandt +abstract: + WebAssembly is a low-ish-level language designed to run efficiently on all modern platforms. The Ethereum blockchain currently runs on its own virtual machine (the EVM) but is expected to move to use WebAssembly in the future. The K framework definition of the EVM has become the de facto standard for verifying properties of smart contracts, most notably the Dai coin contracts, currently handling over 100 million USD of value. Since we want to verify Ethereum contracts compiled to WebAssembly -- as well as other WebAssembly programs -- we need to have a K formalization of WebAssembly. That is what I've been working on. + + I will be giving a hands-on talk on WebAssembly, how to define languages in K, and how we have been translating the official WebAssembly specification into K." +date: March 25, 2019 +institute: +- Chalmers University of Technology +- Runtime Verification, Inc. +theme: metropolis +fontsize: 8pt +header-includes: +- \newcommand{\instr}{instr} +- \newcommand{\STORE}{\textit{S}} +- \newcommand{\FRAME}{\textit{F}} +- \newcommand{\CONST}{\texttt{const~}} +- \newcommand{\DATA}{\texttt{data}} +- \newcommand{\FUNCS}{\texttt{funcs}} +- \newcommand{\GLOBALS}{\texttt{globals}} +- \newcommand{\GROW}{\texttt{grow}} +- \newcommand{\ITHREETWO}{\texttt{i32}} +- \newcommand{\LOCALS}{\texttt{locals}} +- \newcommand{\MEMADDRS}{\texttt{memaddrs}} +- \newcommand{\MEMORY}{\texttt{memory}} +- \newcommand{\MEMS}{\texttt{mems}} +- \newcommand{\MODULE}{\texttt{module}} +- \newcommand{\SIZE}{\texttt{size}} +- \newcommand{\TABLES}{\texttt{tables}} +- \newcommand{\with}{\textit{~with~}} +- \newcommand{\stepto}{~\hookrightarrow~} +- \newcommand{\wif}[1]{\text{if}~#1} +- \newcommand{\diminish}[1]{\begin{footnotesize}#1\end{footnotesize}} +--- + +Video +----- + +This talk was recoreded, and is available in full at + +Overview +-------- + +1. Background +2. Introduction to K +3. Introduction to WebAssembly (Wasm) +4. Demo: implement a Wasm subset +5. (Proving things) + +Background +========== + +Smart contracts and formal methods +------------ + +![](media/img/ethereum.png){ width=65%} + +- Blockchain technology, **smart contracts** in particular, caught my interest. +- Public, immutable code handling lots of money? Great area of application for formal methods! + +Existing projects +------- + +![](media/img/maker.png){ width=20% align=center style="margin-bottom:40px"} + +- Contacted friends at MakerDAO. +- They have verified the core contracts of their "stablecoin", Dai. + +. . . + +![](media/img/dapphub.png){ width=40% align=center style="margin-bottom:40px"} + +- The verification was largely done by a related organization, DappHub ... + +. . . + +![](media/img/k.png){ height=15% hspace=30px }     +![](media/img/RV-logo-blue.eps){ height=15% hspace=30px }     + + +- ... using the K framework. + + + +The KEVM +-------- + +![](media/img/kevm-paper.png) + +- Verification made possible by KEVM [@hildenbrandt-saxena-zhu-rosu-k-evm], modelling the EVM. +- The EVM is a stack machine with $\approx$ 120 opcodes. +- Everett had begun work on a K specification of another low-level languge: Wasm. + +ewasm +---- + +**Rationale** + +How would ewasm be better than EVM? + +. . . + +- Speed +- Size +- Security +- Write contracts in C/C++, go, or rust +- Static analysis +- Optional metering +- Portability: ewasm contracts will be compatibile with any standard Wasm environment, including IoT and mobile devices + + +(Brief) Introduction to K +========================== + +The Vision: Language Independence +--------------------------------- + +![K Tooling Overview](media/img/k-overview.png) + + +K Tooling/Languages +------------------- + +### Tools + +- Parser +- Interpreter +- Debugger +- Reachability Logic Prover [@stefanescu-park-yuwen-li-rosu-reachability-prover] + +. . . + +### Languages + +- Java 1.4 - 2015 [@bogdanas-rosu-k-java] +- C11 - 2015 [@hathhorn-ellison-rosu-k-c] +- KJS - 2015 [@park-stefanescu-rosu-k-js] +- KEVM - 2018 [@hildenbrandt-saxena-zhu-rosu-k-evm] +- P4K - 2018 [@kheradmand-rosu-k-p4] +- KIELE - 2018 [@kasampalis-guth-moore-rosu-johnson-k-iele] +- KLLVM +- KX86-64 + +Parts of a K specification +-------------------------- + +A language spec in K consists of 3 things + +* Syntax +* Configuration ("state") +* Operational semantics as **rewrite rules** + +K Specifications: Syntax +------------------------ + +Concrete syntax built using EBNF style: + +```k + syntax Exp ::= Int | Id | "(" Exp ")" [bracket] + | Exp "*" Exp + > Exp "+" Exp // looser binding + + syntax Stmt ::= Id ":=" Exp + | Stmt ";" Stmt + | "return" Exp +``` + +. . . + +This would allow correctly parsing programs like: + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +K Specifications: Configuration +------------------------------- + +Tell K about the structure of your execution state. +For example, a simple imperative language might have: + +```k + configuration $PGM:Program + .Map + .Map +``` + +. . . + +> - `` will contain the initial parsed program +> - `` contains bindings of variable names to store locations +> - `` contains bindings of store locations to integers + +K Specifications: Transition Rules +---------------------------------- + +Using the above grammar and configuration: + +. . . + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +. . . + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +Example Execution +----------------- + +### Program + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +### Initial Configuration + +```k + a := 3 * 2 ; b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + a := 6 ~> b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + a ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + 6 ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Next Configuration + +```k + b := 2 * 6 + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + b := 17 ~> return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 17 +``` + +Example Execution (cont.) +------------------------- + +### Final configuration + +```k + return 17 + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 17 +``` + +(Brief) Introduction to WebAssembly +======== + +Wasm: your new favorite compile target +---- + +- It's not web, and it's not assembly, just a great low-ish level language. + - Fast on hardware, but platform agnostic. + - Allows stream compiling. + - Efficient byte format, readable text format. + +. . . + +- Safety features + - Blocks, loops and breaks, but not arbitrary jumps. + - Allows static validation. + - No implicit casts. + +. . . + +- Organized in modules *(example coming up)*. + - Can declare functions, allocate and modify their own linear memory, global variables etc. + - Cay export some of its contents. + - Can have `start` functions, which are run when the module is loaded. + +. . . + +- Wasm is stack-based, but the syntax allows S-expression "folding" *(example coming up)*. + + +Code fold/unfold +---------------- + +```scheme +(memory.size) ;; Nullary -- push memory size (i32). +(i64.extend_i32_u) ;; Unary -- i32 ==> i64. +``` + +. . . + +```scheme +(local.get $tmp) ;; Nullary -- push local variable $tmp (i32). +(i64.load8_u) ;; Unary -- load 1 byte from argument address, push. +``` + +. . . + +```scheme +(i64.add) ;; Binary +``` + +. . . + +\vfill{} + +becomes + +. . . + +\vfill{} + +```scheme +(i64.add + (i64.extend_i32_u (memory.size)) + (i64.load8_u (local.get $tmp))) +``` + +\vfill{} + +. . . + +Mix freely! Also OK: + +```scheme +(i64.extend_i32_u (memory.size)) +(i64.load8_u (local.get $tmp))) +(i64.add) +``` + + + +Code example (folded) +--------------------- + +```scheme +(module + (memory 1) + (func ;; Function descriptors. + (export "myGrowAndStoreFunction") + (param $by i32) (param $put i64) ;; Identifiers: $by and $put. + (result i64) + (local $tmp i32) + + ;; Body of the function. + (local.set $tmp + (i32.mul (memory.grow (local.get $by)) (i32.const 65536))) + (i64.store (local.get $tmp) (local.get $put)) + (i64.add + (i64.extend_i32_u (memory.size)) + (i64.load8_u (local.get $tmp))) + ) ;; End func. +) ;; End module. +``` + +Running the example +------------------- +``` +$ ./wasm -i myProgram.wast - +wasm 1.0 reference interpreter +> (invoke "myGrowAndStoreFunction" (i32.const 2) (i64.const 0)) +3 : i64 +``` + +. . . + +``` +> (invoke "myGrowAndStoreFunction" (i32.const 2) (i64.const 0)) +5 : i64 +``` + +. . . + +``` +> (invoke "myGrowAndStoreFunction" (i32.const 1) (i64.const -1)) +261 : i64 +``` + +Wasm Specification +------------------ + +Available at . + +- Fairly unambiguous[^betterThanEVM]. +- Well written with procedural description of execution accompanied by small-step semantic rules. + +[^betterThanEVM]: Better than the [YellowPaper](https://github.com/ethereum/yellowpaper). + +Wasm Specification +------------------ + +Semantic rule: + +$$ +\STORE; \FRAME; \MEMORY.\SIZE \stepto \STORE; \FRAME; (\ITHREETWO.\CONST sz) +$$ +$$ +(\wif{|\STORE.\MEMS[\FRAME.\MODULE.\MEMADDRS[0]].\DATA| = sz * 64 Ki)} +$$ + +. . . + +*store* ($\STORE$) and a *current frame* ($\FRAME$): + +\begin{alignat*}{5} +%&store &::=~&\{ & \quad &\FUNCS ~&\quad &funcinst^* & \\ +&store &::=~&\{ & \quad &\dots ~&\quad & & \\ +%& & & & \quad &\TABLES ~&\quad &tableinst^* & \\ +& & & & \quad &\MEMS ~&\quad &meminst^* & \\ +& & & & \quad &\dots ~&\quad & &\} \\ +%& & & & \quad &\GLOBALS ~&\quad &globalinst^* \quad &\} \\ +&frame &::=~&\{ & \quad &\LOCALS ~&\quad &val^* & \\ +& & & & \quad &\MODULE ~&\quad &moduleinst \quad &\} \\ +&moduleinst~&::=~&\{~& \quad &\dots ~&\quad & & \\ +& & & & \quad &\MEMADDRS ~&\quad &memaddr^* & \\ +& & & & \quad &\dots ~&\quad & &\} +\end{alignat*} + +Wasm Specification (cont.) +-------------------------- + +**Example rule:** `(memory.size)` + +. . . + +Execution description: + +1. Let $\FRAME$ be the current frame. +2. \diminish{Assert: due to validation, $\FRAME.\MODULE.\MEMADDRS[0]$ exists.} +3. Let $a$ be the memory address $\FRAME.\MODULE.\MEMADDRS[0]$.[^memIdxZero] +4. \diminish{Assert: due to validation, $\STORE.\MEMS[a]$ exists.} +5. Let $mem$ be the memory instance $\STORE.\MEMS[a]$. +6. Let $sz$ be the length of $mem.\DATA$ divided by the page size. +7. Push the value $\ITHREETWO.\CONST sz$ to the stack. + +[^memIdxZero]: Every module in Wasm has a single memory for now, so we always implicitly work on `memaddrs[0]`. + + +Demo: implement a Wasm subset +============================= + +`(memory.size)` +--------------- + +$$ +\STORE ; \FRAME ; \MEMORY.\SIZE \stepto \STORE ; \FRAME ; (\ITHREETWO.\CONST sz) +$$ +$$ +\wif { +|\STORE.\MEMS[\FRAME.\MODULE.\MEMADDRS[0]].\DATA| = sz \cdot 64 Ki +} +$$ + +\vfill{} + +\begin{alignat*}{5} +%&store &::=~&\{ & \quad &\FUNCS ~&\quad &funcinst^* & \\ +&store &::=~&\{ & \quad &\dots ~&\quad & & \\ +%& & & & \quad &\TABLES ~&\quad &tableinst^* & \\ +& & & & \quad &\MEMS ~&\quad &meminst^* & \\ +& & & & \quad &\dots ~&\quad & &\} \\ +%& & & & \quad &\GLOBALS ~&\quad &globalinst^* \quad &\} \\ +&frame &::=~&\{ & \quad &\LOCALS ~&\quad &val^* & \\ +& & & & \quad &\MODULE ~&\quad &moduleinst \quad &\} \\ +&moduleinst~&::=~&\{~& \quad &\dots ~&\quad & & \\ +& & & & \quad &\MEMADDRS ~&\quad &memaddr^* & \\ +& & & & \quad &\dots ~&\quad & &\} +\end{alignat*} + +`(memory.grow)` +--------------- + +\begin{align*} +\STORE; \FRAME ; &(\ITHREETWO.\CONST n)~(\MEMORY.\GROW) \stepto \STORE ' ; \FRAME ; (\ITHREETWO.\CONST sz ) \\ +(&\wif{\FRAME.\MODULE.\MEMADDRS[0] = a \\ +&\land sz = |\STORE.\MEMS[a].\DATA|/64 Ki \\ +&\land \STORE ' = \STORE \with \MEMS[a] = growmem(\STORE.\MEMS[a], n))} \\ +\\ +\STORE; \FRAME ; &(\ITHREETWO.\CONST n)~(\MEMORY.\GROW) \stepto \STORE ; \FRAME ; (\ITHREETWO.\CONST {-1} ) \\ +\end{align*} + + +Future Directions +================= + +Finish KWasm +------------ + +The semantics are fairly early-stage. + +### In progress + +- Memories. + +### To be done + +- Everything floating point. +- Tables. +- Modules. + +KeWasm +------ + +- eWasm adds gas metering to Wasm, but otherwise leaves the semantics alone. + +\vfill{} + +. . . + +- KEVM currently has many verified smart contracts at . +- We similarly would like to build a repository of verified code using KeWasm. + +Conclusion/Questions? +===================== + +References +---------- + +- Thanks for listening! + +\tiny + + + + diff --git a/docs/runtimeverification-wasm-semantics/media/201903-presentation-edcon.md b/docs/runtimeverification-wasm-semantics/media/201903-presentation-edcon.md new file mode 100644 index 000000000..896c2f2f8 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/201903-presentation-edcon.md @@ -0,0 +1,375 @@ +--- +title: 'Intro to K, KEVM, and KWasm' +author: +- Everett Hildenbrandt +- Rikard Hjort +date: '\today' +institute: +- Runtime Verification, Inc. +- Chalmers University of Technology +theme: metropolis +fontsize: 8pt +header-includes: +- \newcommand{\instr}{instr} +- \newcommand{\LOOP}{\texttt{loop}} +- \newcommand{\LABEL}{\texttt{label}} +- \newcommand{\END}{\texttt{end}} +- \newcommand{\stepto}{\hookrightarrow} +--- + +Overview +-------- + +1. Introduction to K +2. KEVM +2. KWasm +2. Reachability Logic Prover +4. Future Directions + +(Brief) Introduction to K +========================= + +K Vision +-------- + +![K Overview](media/img/k-overview.png) + +K Tooling/Languages +------------------- + +### Tools + +- Parser +- Interpreter +- Debugger +- Reachability Logic Prover [@stefanescu-park-yuwen-li-rosu-reachability-prover] + +. . . + +### Languages + +- Java 1.4 - 2015 [@bogdanas-rosu-k-java] +- C11 - 2015 [@hathhorn-ellison-rosu-k-c] +- KJS - 2015 [@park-stefanescu-rosu-k-js] +- KEVM - 2018 [@hildenbrandt-saxena-zhu-rosu-k-evm] +- P4K - 2018 [@kheradmand-rosu-k-p4] +- KIELE - 2018 [@kasampalis-guth-moore-rosu-johnson-k-iele] +- KLLVM +- KX86-64 + +K Specification: The Components +------------------------------- + +- **Syntax** of your language (term algebra of programs). +- **Configuration** of your language (term algebra of program states). +- **Rules** describing small-step operational semantics of your language. + +K Specifications: Syntax +------------------------ + +Concrete syntax built using EBNF style: + +```k + syntax Exp ::= Int | Id | "(" Exp ")" [bracket] + | Exp "*" Exp + > Exp "+" Exp // looser binding + + syntax Stmt ::= Id ":=" Exp + | Stmt ";" Stmt + | "return" Exp +``` + +. . . + +This would allow correctly parsing programs like: + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +K Specifications: Configuration +------------------------------- + +Tell K about the structure of your execution state. +For example, a simple imperative language might have: + +```k + configuration $PGM:Program + .Map + .Map +``` + +. . . + +> - `` will contain the initial parsed program +> - `` contains bindings of variable names to store locations +> - `` conaints bindings of store locations to integers + +K Specifications: Transition Rules +---------------------------------- + +Using the above grammar and configuration: + +. . . + +### Variable lookup + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +. . . + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +Example Execution +----------------- + +### Program + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +### Initial Configuration + +```k + a := 3 * 2 ; b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + a := 6 ~> b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +Example Execution (cont.) +------------------------- + +### Variable assignment + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +### Next Configuration + +```k + b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +KEVM +==== + +What is KEVM? +------------- + +- Implementation of EVM in K. +- Passes all of the VMTests and the BlockchainTests/GeneralStateTests. +- Derived interpreter nearly as performant as cpp-ethereum. +- The Jello Paper is derived from KEVM . + +. . . + +- Used for commercial verification by Runtime Verification, Inc. +- Used by DappHub to verify the MKR SCD and MCD core contracts. +- Check out repo of verified smart contracts at . + +KWasm Design +============ + +Wasm Specification +------------------ + +Available at . + +- Fairly unambiguous[^betterThanEVM]. +- Well written with procedural description of execution accompanied by small-step semantic rules. + +\vfill{} + +. . . + +Example rule: + +1. Let $L$ be the label whose arity is 0 and whose continuation is the start of the loop. +2. `Enter` the block $\instr^\ast$ with label $L$. + +\vfill{} + +. . . + +$$ + \LOOP~[t^?]~\instr^\ast~\END + \quad \stepto \quad + \LABEL_0\{\LOOP~[t^?]~\instr^\ast~\END\}~\instr^\ast~\END +$$ + +[^betterThanEVM]: Better than the [YellowPaper](https://github.com/ethereum/yellowpaper). + +Translation to K +---------------- + +### Wasm Spec + +\vspace{-1em} +$$ + \LOOP~[t^?]~\instr^\ast~\END + \quad \stepto \quad + \LABEL_0\{\LOOP~[t^?]~\instr^\ast~\END\}~\instr^\ast~\END +$$ + +. . . + +### In K + +```k + syntax Instr ::= "loop" Type Instrs "end" + // ----------------------------------------- + rule loop TYPE IS end + => IS + ~> label [ .ValTypes ] { + loop TYPE IS end + } STACK + ... + + STACK +``` + +Design Difference: 1 or 2 Stacks? +--------------------------------- + +. . . + +### Wasm Specification + +One stack mixing values and instructions. + +- Confusing control-flow semantics (with `label`s). +- Use meta-level context operator to describe semantics of `br`. +- Section 4.4.5 of the Wasm spec. + +\vfill{} + +. . . + +### KWasm + +Uses two stacks, values in `` cell and instructions in `` cell. + +- Can access both cells simultaneously, without backtracking/remembering one stack. +- Cleaner semantics, no meta-level context operator needed. + +Design Choice: Incremental Semantics +------------------------------------ + +- KWasm semantics are given incrementally. +- Makes it possible to execute program fragments. +- Allows users to quickly experiment with Wasm using KWasm. + +\vfill{} + +. . . + +For example, KWasm will happily execute the following fragment (without an enclosing `module`): + +```wast + (i32.const 4) + (i32.const 5) + (i32.add) +``` + +Future Steps for KWasm +---------------------- + +### To be done + +- Everything floating point. +- Tables. +- Modules. + +### KeWasm + +- eWasm adds gas metering to Wasm, but otherwise leaves the semantics alone. + +Reachability Logic Prover +========================= + +Inference System +---------------- + +![Reachability Logic Inference System](media/img/reachability-logic-inference-system.png) + +- Sound and relatively complete. +- Interesting rules are Circularity/Transitivity, allows coinductive reasoning. + +Tool +---- + +- K Reachability Logic prover accepts proof claims in same format as operational semantics axioms[@stefanescu-park-yuwen-li-rosu-reachability-prover]. +- On success will print `#True`, on failure will print symbolic counterexample end-states. +- Added instrumentation allows KLab to provide more useful interface to K Prover . +- Proof search is fully automated, only write the theorem (specification), no manual control over how to discharge it. + +Example KWasm Proof +------------------- + +Non-overflowing addition operation: + +```k + rule ( ITYPE:IValType . const X:Int ) + ( ITYPE . const Y:Int ) + ( ITYPE . add ) + => . + ... + + S:Stack => < ITYPE > (X +Int Y) : S + requires 0 <=Int X andBool 0 <=Int Y + andBool (X +Int Y) \newline +date: \today +institute: +- Chalmers University of Technology +- Runtime Verification, Inc. +theme: metropolis +fontsize: 8pt +header-includes: +- \usepackage{amssymb} +- \newcommand{\K}{$\mathbb{K}$~} +- \newcommand{\instr}{instr} +- \newcommand{\STORE}{\textit{S}} +- \newcommand{\FRAME}{\textit{F}} +- \newcommand{\CONST}{\texttt{const~}} +- \newcommand{\DATA}{\texttt{data}} +- \newcommand{\FUNCS}{\texttt{funcs}} +- \newcommand{\GLOBALS}{\texttt{globals}} +- \newcommand{\GROW}{\texttt{grow}} +- \newcommand{\ITHREETWO}{\texttt{i32}} +- \newcommand{\LOCALS}{\texttt{locals}} +- \newcommand{\MAX}{\texttt{max}} +- \newcommand{\MEMADDRS}{\texttt{memaddrs}} +- \newcommand{\MEMORY}{\texttt{memory}} +- \newcommand{\MEMS}{\texttt{mems}} +- \newcommand{\MEMINST}{\textit{meminst}} +- \newcommand{\MODULE}{\texttt{module}} +- \newcommand{\SIZE}{\texttt{size}} +- \newcommand{\TABLES}{\texttt{tables}} +- \newcommand{\with}{\text{~with~}} +- \newcommand{\stepto}{~\hookrightarrow~} +- \newcommand{\wif}[1]{\text{if}~#1} +- \newcommand{\diminish}[1]{\begin{footnotesize}#1\end{footnotesize}} +--- + +[^supervised]: supervised by Magnus Myreen. Parts of the report, especially the + description of \K, is due to Everett Hildenbrandt. \normalsize + +\newpage +Background +========== + +The motivation for this project came from wanting work on formal verification on +smart contracts. The combination of immutable, public code and processing high +value assets calls for high assurance software engineering. Looking at what has +been done in that space led me to the company MakerDAO[^maker], which famously +have verified the core contracts or their distrubuted application for the Dai +cryptocurrency[^dai-verified]. Much of this verification effort has been carried +out by, or in collaboration with, the organization DappHub[^dapphub]. When I +reached out to them in turn I was told that the *de facto* standard toolset for +verifying smart contracts is the \K framework[^kframework]. + +[^maker]: +[^dai-verified]: +[^dapphub]: +[^kframework]: + +The current state-of-the-art method of verifying Ethereum smart contracts goes +something as follows: + +1. Contracts are compiled to Ethereum virtual machine (EVM) bytecode. +2. Some property or invariant is specified as a rewrite rule. +3. \K tries to construct a proof (using the SMT solver Z3) that every possible + execution path eventually rewrites to the correct thing +4. The tool KLab (by DappHub) offers an interactive view of execution paths, + great for seeing where and why the prover failed. + +The reason \K can be used for verifying smart contracts is that there is a full +formalization of the Ethereum Virtual Machine (EVM) in \K, called KEVM +[@hildenbrandt-saxena-zhu-rosu-k-evm]. The EVM is a stack machine of +approximately 120 opcodes, many of which are very similar to eachother. The EVM +is currently the only virtual machine available to run Ethereum contracts. +However, an ongoing project in the Ethereum community is trying to migrate to +"ewasm"[^ewasm]: an Ethereum virtual machine built on top of WebAssembly. + +[^ewasm]: + +There are several reasons listed in the design documents: + +- Speed +- Size +- Security +- Write contracts in C/C++, go, or rust +- Static analysis +- Optional metering +- Portability: ewasm contracts will be compatibile with any standard Wasm + environment, including IoT and mobile devices + +Seeing how Ethereum might migrate to ewasm in the future, there is reason to +start looking into formalizing ewasm in \K. Since ewasm mostly extends +WebAssembly (and only alters WebAssembly slightly to allow for gas metering), +the first step to a formalization of ewasm in \K is a formalization of +WebAssembly. As it turns out, the main author of []KEVM, Everett Hildenbrandt, +has been working on a prototype semantics for WebAssembly. Development was put +on hold due to other projects, so I reached out to Everett and asked if I could +pick up the baton, which he happily let me do. Since January 2019, I have been +adding more of the WebAssembly semantics to the project, with help and guidance +from Everett. + +This report will serve as a brief introduction to the \K framework, WebAssembly +and KWasm, our formalization of WebAssembly in \K. A reader familiar with \K +and/or WebAssembly may want to skip ahead. + +------ + +\newpage +# Brief introduction to \K # + + + +The \K framework lets one define programming languages by giving their syntax +and semantics. The vision of \K is to provide a language-independent framework +for obtaining not only parsers, interpreters and compilers, but also more +non-standard tools like documentation, program verifiers, and model +checkers. Once a language is definied, all these tools should follow. +Perhaps the most interesting tool that comes out of a \K specification is the +Reachability Logic Prover [@stefanescu-park-yuwen-li-rosu-reachability-prover]. + +![\K Tooling Overview](media/img/k-overview.png) + +Several large and popular programming languages have been specified in \K, among +them Java 1.4 [@bogdanas-rosu-k-java], C11 [@hathhorn-ellison-rosu-k-c], and +JavaScript [@park-stefanescu-rosu-k-js]. There are ongoing projects to specfy +LLVM[^llvm] and X86 assemby[^x86]. + +[^llvm]: +[^x86]: + +A language specification in \K consists of 3 things: + +* the concrete syntax, +* a configuration, which is the exectuion state, +* operational semantics as rewrite rules on the configuration. + +## \K Specifications: Syntax ## + +The concrete syntax is built using EBNF style. As a running example, we use a +small, imperative language. + +```k + syntax Exp ::= Int | Id | "(" Exp ")" [bracket] + | Exp "*" Exp + > Exp "+" Exp // looser binding + + syntax Stmt ::= Id ":=" Exp + | Stmt ";" Stmt + | "return" Exp +``` + +This would allow correctly parsing programs like: + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +## \K Specifications: Configuration ## + +The configuration gives the structure of the execution state. +For example, a simple imperative language might have the following +configuration. + +```k + configuration $PGM:Program + .Map + .Map +``` + +- `` will contain the initial parsed program +- `` contains bindings of variable names to store locations +- `` contains bindings of store locations to integers + + +Note that the parsed program gets put into the `` cell. Thus, the program is +part of the execution state, and can be reduced or extended as part of rewrites. + +## \K Specifications: Transition Rules ## + +The actual operational semantics of a \K program is written as rewrite rules. +For example, we might define the following semantic rules for our imperative +language. + +A transition rule takes the form + +```k +rule X => Y + Z => W +``` + +where the arrow represents a rewrite: the value to the left is rewritten to the +value on the right. The above rule says that "if `` contains `X` and +`` contains `Z`, change the contents of `` to `Y` and the contents +of `` to `W`." A rule is an atomic transition, so both cells are +rewritten simultaneously. The rewrite arrows are given inside each cell to make +the rules easier to read and write. + +Another feature of the rules is that they only need to mention the parts of the +configuration they match on. If the configuration contains a cell `` +whose contents we do not want to rewrite, and that we do not want to extract any +information from, it does not have to be mentioned in the rule. Actually, +mentioning unsused cells in a rule is bad practice and makes the configuration +less modular: if we at some point were to remove `` from the +configuration we would have to also edit rules in which it is not used in any +meaningful way. + +Perhaps equally convenient, but less intuitive, is that you can leave out +surrounding cells when writing rules. The rewrite + +```k +rule + X => Y + +``` + +can be equivalently written as + +```k +rule X => Y +``` + +This freedom is convenient, since configuration cell can contain many +nestings, but it also increases modularity, as it allows us to nest the cell +`` with more or less context, without having to edit rules for which +the context is irrelevant. + +### Syntactic sugar for matching parts of a cell ### + +Idiomatically, the `` cell contains an associative +sequencing operator, `~>`, so the `` cell may look something like + +```k + STMT1 ~> STMT2 ~> STMT3 ~> MORE_STATEMENTS +``` + +A rewrite in the `` cell which only cares about the first of these statements +and replaces it by `NEW` (which could be anything) may then look something like +the following, inside a `rule` declaration: + +```k + (STMT1 ~> THE_OTHER_STATEMENTS) + => (NEW ~> THE_OTHER_STATEMENTS) + +``` + +Equivalently, we can apply the rewrite in place: + +```k + (STMT1 => NEW) ~> THE_OTHER_STATEMENTS +``` + +To avoid the trouble of explicitly mentioning the entire contents of the cell, +there is syntacit sugar that lets us write a rule like this is with ellipses, +which mean "and something else after `~>`". + +```k + STMT1 => NEW ... +``` + +Finally, when the configuration contains a Map, we may look up a key-value pair +with the key `X` using the following syntax: + +```k + MAP_LEFT X |-> SX MAP_RIGHT +``` + +meaning there is a bunch of map entries to the left, and a bunch of map entries +to the right. `Map`s in \K are defined as either the empty map, `.Map`, the map +of a single entry `X |-> SX`, or the concatenation of two `Maps`, i.e. `syntax +Map ::= Map Map`, the concatenation operator just being a single space in this +case. + +Since the map concatenation is commutative and associative, we can match on any +part of the map, wheras when the operator is just associative, like `~>`, it is +only possible to match on the leftmost operand[^assoc-comm]. + +[^assoc-comm]: The annotations `assoc` and `comm` marks opeartions associative + and commutative. + +We can write map lookup in a nicer, sugared form: + +```k + ... X |-> SX ... +``` + +Rewrites on a `Map` take the form + +`Map` rewrites take the following forms. + +Adding entries: + +```k + MAP_LEFT (.Map => X |-> SX) MAP_RIGHT +// or + ... (.Map => X |-> SX) ... +``` + +Changing values: + +```k + MAP_LEFT X |-> (SX => SX') MAP_RIGHT +// or + ... X |-> (SX => SX') ... +``` + +There are other, more idiomatic syntaxes for doing lookups, additions, updates +and deletions, but this syntax is the closest to the underlying definition of +`Map`. The interested reader may see the +[`domains.k`](https://github.com/kframework/k/blob/master/k-distribution/include/builtin/domains.k) +that follows with the K framework. + +### Variable lookup ### + +When an identifier is the first element in the `` cell, rewrite it to its +corresponding value, by first looking up what store location it is bound to. + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +### Variable assignment ### + +Similarly, variable assigment is done by looking up the store location a +variable points to and replacing what is there by the right-hand side of the +assignment. + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +Note that, for this rule to apply, the right-hand side must be an integer +literal, i.e., a fully evaluated expression. + +### Example Execution ### + +To show how to run the \K semantics, we take the program from before and supply +an initial configuration. + +```imp + a := 3 * 2; + b := 2 * a + 5; + return b +``` + +The configuration already has the variables and store locations initialized. In +a more realistic example of an imperative language, we would need to write +syntax and rules for how to declare and allocate variables, but for this +example, it suffices to assume that the configuration looks as follows. + +```k + a := 3 * 2 ; b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +First, \K (using some auxilliary rules of a language like this) is going to +break out the first statement in the initial list of statements, then break out +the right-hand side of the first assignment, and put it back fully evaluated +(let's not bother with how that is done for now: it's just something some other +rules do). Then, \K sees the following configuration ... + +```k + a := 6 ~> b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 0 1 |-> 0 +``` + +and \K realizes that the following rule matches that configuration ... + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +and applies the rule, giving the next configuration: + + +```k + b := 2 * a + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +Again, some other rules apply and \K works its magic, until it gets to this +configuration: + +```k + a ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +What happened was that \K encountered a variable as it tried to evaluate the +right-hand side of the assignment to `b`. So, before it could proceed with the +arithmetic, it needed to get the value of `a`. So \K "heated" `a` and put it +first at the top of the stack, leaving a "hole" in the expression where the +result should be plugged back in. + +Now, with a solitary identifier at the head of the `` cell, the following +rule applies ... + +```k + rule X:Id => V ... + ... X |-> SX ... + ... SX |-> V ... +``` + +... leading to this configuration ... + +```k + 6 ~> b := 2 * [] + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +... and after plugging back in the result `6` ... + +```k + b := 2 * 6 + 5 ; return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +... and again, evaluating the right-hand side to an integer: + +```k + b := 17 ~> return b + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 0 +``` + +After those steps, our assigment rule matches again ... + +```k + rule X := I:Int => . ... + ... X |-> SX ... + ... SX |-> (V => I) ... +``` + +... and we und up with this final configuration + +```k + return 17 + a |-> 0 b |-> 1 + 0 |-> 6 1 |-> 17 +``` + +We take the final configuration to be the result of executing the above program. +If we wanted, we could of course define a further rule that deals with return +statements. + +In principle, \K executes programs by taking an initial configuration and +producing a resulting configuration, i.e., the configuration we are left with +when no more rules can be applied. In practice, we often start with an empty +configuration, containing only the very mininal initial values, and end when the +`` cell is completely empty. + +------- + +\newpage Brief introduction to WebAssembly +======== + +WebAssembly[@rossberg-web-up-to-speed], commonly known as "Wasm", is a low-ish +level language that is neither web-specific, nor really an assembly language in +the normal sense. Some of the boasted features are + +- Fast on modern hardware architectures, but platform agnostic. +- Allows stream compiling. +- Efficient byte format, readable text format. +- Safety features + - Blocks, loops and breaks, but not arbitrary jumps. + - Static validation. + - No implicit casts. + +Code fold/unfold +---------------- + +Wasm comes in both a bytecode format and a text format. I will use the text +format for all my examples. + +While Wasm is a stack-based, low-level language, with many of the usual +operations one would expect from a stack based assembly language, Wasm code in +the wild often takes a "folded" structure for increased readbility. The folding +uses S-expression syntax to group operations with their operands. + +In a regular stack-based fashion, one might write the following piece of code, +which gets the current memory size (in 64 Kb pages), loads a byte from memory, +and adds the size to the loaded byte. + + +```scheme +(memory.size) ;; Nullary -- push memory size (i32). +(i64.extend_i32_u) ;; Unary -- i32 ==> i64. +(local.get $tmp) ;; Nullary -- push local variable $tmp (i32). +(i64.load8_u) ;; Unary -- load 1 byte from argument address, push. +(i64.add) ;; Binary +``` + +Wasm allows us to write the exact same piece of code in the following way. + +```scheme +(i64.add + (i64.extend_i32_u (memory.size)) + (i64.load8_u (local.get $tmp))) +``` + +Note how each $n$-ary operation is followed by $n$ (folded) instructions. + +We can also mix freely between folded and unfolded syntax. The following is yet +another equivalent way to write the code above: + +```scheme +(i64.extend_i32_u (memory.size)) +(i64.load8_u (local.get $tmp))) +(i64.add) +``` + +We are not allowed, however, to fold paritally, i.e., giving the arguemnts to +`add` in this way: + +```scheme +(i64.load8_u (local.get $tmp))) +(i64.add (i64.extend_i32_u (memory.size))) ;; Not valid! +``` + +We either must give all $n$ arguments in the folded way, or none. + +Modules +--- + +All Wasm code is organized in modules, much like some languages organize all +code into classes. A module may declare functions, allocate and modify their own +linear memory, maintain module-global variables, etc. All these assets are +internal to the module by default, but the module may explicitly export them +with a name, which allows other modules to import, and treat as their own, the +assests of other modules. + +The following is a simple module showcasing some of the functionality of Wasm by +declaring a memory and two functions that modify memory. + +```scheme + +(module + (memory 1) + ;; The function $init will get run when the module is loaded. + (start $init) + (func $init + ;; Put 4 bytes of 1's at the start of the memory. + (i32.store (i32.const 0) (i32.const -1)) + ) + (func ;; Function descriptors. + (export "myGrowAndStoreFunction") + (param $by i32) (param $put i64) + (result i64) + (local $tmp i32) + + ;; Body of the function. + + ;; Grow memory, discard result (old memory size, or -1) + (drop (memory.grow (local.get $by))) + ;; Set this variable to the first address + ;; in the last page of memory. + (local.set $tmp + (i32.mul + (i32.sub (memory.size) (i32.const 1)) + (i32.const 65536))) + ;; Store a value in little-endian form at the location $tmp. + (i64.store (local.get $tmp) (local.get $put)) + ;; Add the + (i64.add + (i64.extend_i32_u (local.get $tmp)) + (i64.load8_u (local.get $tmp))) + ) ;; End function. +) ;; End module. +``` + +We can load this module into a reference interpreter[^ref-interpreter] and +invoke the exported function a few times: + +[^ref-interpreter]: + + +``` +$ ./wasm -i ../../my_programs/modules.wast - +wasm 1.0 reference interpreter +> (invoke "myGrowAndStoreFunction" (i32.const 2) (i64.const 0)) +131072 : i64 +> (invoke "myGrowAndStoreFunction" (i32.const 2) (i64.const 0)) +262144 : i64 +> (invoke "myGrowAndStoreFunction" (i32.const 0) (i64.const -1)) +262399 : i64 +``` + +Wasm Specification +------------------ + +The offical specification is available at . +It is well written and contains both a procedural, prose desription of how to +execute every operation, as well as a rewrite-based small-step semantic rules. + +For example, the `(memory.size)` operation has the following execution specification: + +1. Let $\FRAME$ be the current frame. +2. \diminish{Assert: due to validation, $\FRAME.\MODULE.\MEMADDRS[0]$ + exists.}[^validation] +3. Let $a$ be the memory address $\FRAME.\MODULE.\MEMADDRS[0]$.[^memIdxZero] +4. \diminish{Assert: due to validation, $\STORE.\MEMS[a]$ exists.} +5. Let $mem$ be the memory instance $\STORE.\MEMS[a]$. +6. Let $sz$ be the length of $mem.\DATA$ divided by the page size. +7. Push the value $\ITHREETWO.\CONST sz$ to the stack. + +[^validation]: Validation happens before execution. In KWasm, we always assume + that code we execute has been validated. +[^memIdxZero]: Every module in Wasm has a single memory for now, so we always + implicitly work on `memaddrs[0]`. + +The semantic rewrite rule is as follows. + +$$ +\STORE; \FRAME; \MEMORY.\SIZE \stepto \STORE; \FRAME; (\ITHREETWO.\CONST sz) +$$ +$$ +(\wif{|\STORE.\MEMS[\FRAME.\MODULE.\MEMADDRS[0]].\DATA| = sz \cdot 64 Ki)} +$$ + +Notice the struct-like access to the members of $\STORE$ and $\FRAME$. +The execution state contains a store of all declared modules, their functions, +memories, etc. It also contains a current exectuion frame with all local +variables and the module that the current call happens in. A memory is a byte +vector and an optional, unsigned 32-bit integer defining the maximum size of the +memory. Here's the relevant part of the execution state: + +\begin{alignat*}{5} +%&store &::=~&\{ & \quad &\FUNCS ~&\quad &funcinst^* & \\ +&store &::=~&\{ & \quad &\dots ~&\quad & & \\ +%& & & & \quad &\TABLES ~&\quad &tableinst^* & \\ +& & & & \quad &\MEMS ~&\quad &meminst^* & \\ +& & & & \quad &\dots ~&\quad & &\} \\ +%& & & & \quad &\GLOBALS ~&\quad &globalinst^* \quad &\} \\ +&meminst &::=~&\{ & \quad &\DATA ~&\quad &vec(byte) & \\ +& & & & \quad &\MAX ~&\quad &u32^? &\} \\ +&frame &::=~&\{ & \quad &\LOCALS ~&\quad &val^* & \\ +& & & & \quad &\MODULE ~&\quad &moduleinst \quad &\} \\ +&moduleinst~&::=~&\{~& \quad &\dots ~&\quad & & \\ +& & & & \quad &\MEMADDRS ~&\quad &memaddr^* & \\ +& & & & \quad &\dots ~&\quad & &\} +\end{alignat*} + +Asterisks indicate an array of 0 or more elements, and a question mark declares +a field as optional. + +------ + +\newpage +KWasm +===== + +KWasm is being developed at . + +The high-level goals of KWasm are to give a complete execution semantics of +Wasm, and to serve as a basis for KeWasm. + +A complete semantics of Wasm +---------------------------- + +The goal is to correctly run all valid Wasm programs, i.e., providing semantics +for a superset of Wasm. KWasm may parse programs that are not strictly +syntactically correct Wasm programs, and allows executing standalone script +programs outside of a module. + +This approach allows KWasm to run programs outside of modules. For example KWasm +can run the program `(i32.add (i32.const 1) (i32.const 2))` on its own, +producing a value on top of the stack. We consider this to be good from a +pedagogical perspective, and allows us to build the semantics from the bottom +up, starting with simple instructions and moving to modules. + +We tend to assume, as a design principle, that any real Wasm program that is +passed to KWasm will first have been validated. From that premise, we can skip +validation steps to keep our semantics simpler. + +A basis for KeWasm +------------------ + +KeWasm should (ideally) only extend KWasm, not modify it. The focus on KeWasm +means that in practice, we may alter the first goal by ignoring floating point +opertions. Implementing correct semantics for floating point arithmetic +according to the Wasm specification is a large undertaking and is not part of +the eWasm semantics, which uses only integer arithmetic, using fixed-point +interpretation to represent fractional numbers. + +Future direction +---------------- + +The semantics are fairly early-stage. Handling memory declaration, +instantiation, load and store are in progress. Everything floating point remains +to be done (but may be pushed until some verification effort requires it). So +does implementing *tables*, a mechanism for having function pointers. Finally, +KWasm does not currently support modules -- as mentioned, we are building the +semantics bottom-up, and modules are the highest-up construct. + +KEVM currently has many verified smart contracts at +. +We similarly would like to build a repository of verified code using KeWasm. + +Example of a translation from the WebAssembly specification into \K +------------------------------------------------------------------ + +As a case study, let's look at the `(memory.grow)` operation. It gives an +example of modifying a configuration in `K`, how we diverge from the literal +letter of the Wasm specification for performance reasons, how we use +abstractions and functions to help us develop the semantics, and how we deal +with the few cases of non-determinism in WebAssembly. + + +### The specification ### + +Recall the *store*, *meminst*, *frame* and *modulinst* parts of the runtime +structure: + +\begin{alignat*}{5} +%&store &::=~&\{ & \quad &\FUNCS ~&\quad &funcinst^* & \\ +&store &::=~&\{ & \quad &\dots ~&\quad & & \\ +%& & & & \quad &\TABLES ~&\quad &tableinst^* & \\ +& & & & \quad &\MEMS ~&\quad &meminst^* & \\ +& & & & \quad &\dots ~&\quad & &\} \\ +%& & & & \quad &\GLOBALS ~&\quad &globalinst^* \quad &\} \\ +&meminst &::=~&\{ & \quad &\DATA ~&\quad &vec(byte) & \\ +& & & & \quad &\MAX ~&\quad &u32^? &\} \\ +&frame &::=~&\{ & \quad &\LOCALS ~&\quad &val^* & \\ +& & & & \quad &\MODULE ~&\quad &moduleinst \quad &\} \\ +&moduleinst~&::=~&\{~& \quad &\dots ~&\quad & & \\ +& & & & \quad &\MEMADDRS ~&\quad &memaddr^* & \\ +& & & & \quad &\dots ~&\quad & &\} +\end{alignat*} + +The following is the semantic rules for `(memory.grow)`. Note that there are two +rules which are not mutually exclusive. This is because growing memory may fail +for reasons unknown to Wasm, i.e., the embdedder has no resources to allocate. +In this situation, the operation returns `-1`. Note also that the other rule is +specified in terms of an auxilliary function, $growmem$. This functon may fail, +in which case that rule isn't appied, and failure happens instead. + +\begin{align*} +\STORE; \FRAME ; &(\ITHREETWO.\CONST n)~(\MEMORY.\GROW) \stepto \STORE ' ; \FRAME ; (\ITHREETWO.\CONST sz ) \\ +(&\wif{\FRAME.\MODULE.\MEMADDRS[0] = a \\ +&\land sz = |\STORE.\MEMS[a].\DATA|/64 Ki \\ +&\land \STORE ' = \STORE \with \MEMS[a] = growmem(\STORE.\MEMS[a], n))} \\ +\\ +\STORE; \FRAME ; &(\ITHREETWO.\CONST n)~(\MEMORY.\GROW) \stepto \STORE ; \FRAME ; (\ITHREETWO.\CONST {-1} ) \\ +\end{align*} + +\begin{align*} +growmem(meminst, n)\quad =\quad &\MEMINST \with \DATA = \MEMINST.\DATA~(\texttt{0x00})^{n \cdot 64 Ki} \\ +&(\wif{len = n + |\MEMINST.\DATA|/64 Ki \\ +&\land len \leq 2^{16} \\ +&\land (\MEMINST.\MAX = \epsilon \lor len \leq \MEMINST.\MAX)}) +\end{align*} + +The $\with$ keyword indicates modifying a single field of a structure, in this +case the $\DATA$ field of a $\MEMINST$. + +The `(memory.grow)` operation should thus either succeed with the old size of the +memory pushed to the stack, or fail by pushing a `-1` to the stack. Since the +32-bit unsigned interpretation of `-1` is larger than the max allowed memory +size, `2^{16}`, there is no ambiguity here. + + +In \K +---- + +This is the full definition of the `(memory.grow)` operation: + +```k + syntax Instr ::= "(" "memory.grow" ")" + | "(" "memory.grow" Instr ")" + | "grow" Int + // -------------------------------------------- + rule + ( memory.grow I:Instr ) => + I ~> ( memory.grow ) ... + + rule ( memory.grow ) => grow N ... + < i32 > N : STACK => STACK + + rule grow N + => < i32 > #if #growthAllowed(SIZE +Int N, MAX) + #then SIZE + #else -1 + #fi ... + 0 |-> ADDR + + ADDR + MAX + SIZE => #if #growthAllowed(SIZE +Int N, MAX) + #then SIZE +Int N + #else SIZE + #fi + ... + + + rule grow N => < i32 > -1 + + false + + + syntax Bool ::= #growthAllowed(Int, MemBound) [function] + // -------------------------------------------------------- + rule #growthAllowed(SIZE, .MemBound) + => SIZE <=Int #maxMemorySize() + rule #growthAllowed(SIZE, I:Int) + => #growthAllowed(SIZE, .MemBound) andBool SIZE <=Int I +``` + +The first rule simply unfolds the folded case, and the second rule pops an +operand (which must be of type `i32`, due to validation), and passes it to an +instructon in abstract syntax, `grow`. This instruction is not in Wasm, but +since all syntax defined in \K becomes concrete, it would be possbile to use +this syntax when writing a program for KWasm. + +The third and fourth rule implement the semantic rules from the Wasm +specification somewhat faithfully. There is a check made with the help of a +function, `#growthAllowed`, that checks that we don't violate the size +conditions. + +A deviation from the official specification is that we store the size of memory +explicitly. The spec, read literally, asks an implementation to allocate full +pages of zereo-bytes when growing (or allocating) memory. For space efficiency, +we store only the size, and represent data as a map from indices to non-zero +bytes. + +Finally, we add a flag to the configuration to tell KWasm when to allow +non-deterministic fails. Since we may want to conduct proofs on programs under +the assumption that memory growth does not fail spuriously, we allow a toggle +for this in the configuration, so that proofs can be conducted under different +assumptions. By setting the toggle `` to `true`, we +can conduct proofs under the assumption that the foruth rule is never applied. +In the future, we may make this more advanced, by maintaining instead a counter +of available memory pages, decrementing it when memory is allocated or grown, +and stating only allowing the fourth rule when we would run out of memory. + +Hopefully this serves as an illustration of how we generally follow the Wasm +specification, but make a few design choices to suit our needs, when we can do +so without changing the semantics of an actual Wasm program. + +---- + +\newpage +References +========== diff --git a/docs/runtimeverification-wasm-semantics/media/201906-presentation-wasm-on-blockchain.md b/docs/runtimeverification-wasm-semantics/media/201906-presentation-wasm-on-blockchain.md new file mode 100644 index 000000000..c09d4c3a7 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/201906-presentation-wasm-on-blockchain.md @@ -0,0 +1,394 @@ +--- +title: 'KWasm' +subtitle: 'Semantics of WebAssembly in the K framework' +author: +- Rikard Hjort +- Everett Hildenbrandt +- Qianyang Peng +date: June 8, 2019 +institute: +- Runtime Verification, Inc. +theme: metropolis +fontsize: 8pt +header-includes: +- \usepackage{color} +- \usepackage{fancyvrb} +- \fvset{commandchars=\\\{\}} +- \newcommand{\instr}{instr} +- \newcommand{\STORE}{\textit{S}} +- \newcommand{\FRAME}{\textit{F}} +- \newcommand{\CONST}{\texttt{const~}} +- \newcommand{\LOCALGET}{\texttt{local.get~}} +- \newcommand{\LOCALSET}{\texttt{local.set~}} +- \newcommand{\DATA}{\texttt{data}} +- \newcommand{\FUNCS}{\texttt{funcs}} +- \newcommand{\GLOBALS}{\texttt{globals}} +- \newcommand{\GROW}{\texttt{grow}} +- \newcommand{\ITHREETWO}{\texttt{i32}} +- \newcommand{\LOCALS}{\texttt{locals}} +- \newcommand{\MEMADDRS}{\texttt{memaddrs}} +- \newcommand{\MEMORY}{\texttt{memory}} +- \newcommand{\MEMS}{\texttt{mems}} +- \newcommand{\MODULE}{\texttt{module}} +- \newcommand{\SIZE}{\texttt{size}} +- \newcommand{\TABLES}{\texttt{tables}} +- \newcommand{\with}{\textit{~with~}} +- \newcommand{\stepto}{~\hookrightarrow~} +- \newcommand{\wif}[1]{\text{if}~#1} +- \newcommand{\diminish}[1]{\begin{footnotesize}#1\end{footnotesize}} +--- + + +Overview +-------- + +> 1. KWasm: Intro and roadmap +> 2. Introduction to K & KEVM +> 3. Deepdive: What the semantics look like +> 4. Demo: Proving things + +. . . + +\vspace{1em} + +Please ask questions as we go. + +KWasm: Intro and roadmap +======================== + +KWasm +----- + +> * KWasm is the project name for specifying Wasm in K. +> * K is a framework for creating **runnable specifications** of programming languages. +> * K uses rewrite based semantics, just like those Wasm is defined with [@rossberg-web-up-to-speed]. +> * The goal is to use the runnable spec to **formally verify** aspects of blockchain runtimes and smart contracts. +> * There is already a specification of the EVM, called KEVM [@hildenbrandt-saxena-zhu-rosu-k-evm], which we use for formal verification. \newline ![](media/img/kevm-paper.png) + +Status +------ + +![](media/img/github-top-screenshot.png) + +* Bulk of the semantics are done. +* Tables and indirect calls in progress. + +A few big todos: + +- Defining and instantiating several modules. +- Parsing more textual versions of commands (syntactic sugar). +- Add floating point numbers (not top priority). + +Design +------ + +* A very faithful translation of Wasm spec (K and Wasm both use rewrite semantics). Some differences: + - Two stacks: one for operands, one for instructions and control flow. + - We are *more permissive*; allow running instructions directly: +\newline `(i32.add (i32.const 1337) (i32.const 42))` is a full KWasm program. +* Execution focused, we assume validation is done beforehand. + +Goals +----- + +- "Make KEVM for Ethereum 2.0". +- Create Ewasm semantics, KEwasm, by importing and embedding KWasm. +- We would like to build a repository of verified code using KEwasm. +There is such a repository for KEVM: + +[![](media/img/github-verified-contracts-screenshot.png)](https://github.com/runtimeverification/verified-smart-contracts) + +Introduction to K +================= + +The Vision: Language Independence +--------------------------------- + +![K Tooling Overview](media/img/k-overview.png) + + +K Tooling/Languages +------------------- + +### Tools + +- Parser +- Interpreter +- Debugger +- Reachability Logic Prover [@stefanescu-park-yuwen-li-rosu-reachability-prover] +- ... + +. . . + +### Languages + +- Java 1.4 - 2015 [@bogdanas-rosu-k-java] +- C11 - 2015 [@hathhorn-ellison-rosu-k-c] +- KJS - 2015 [@park-stefanescu-rosu-k-js] +- KEVM - 2018 [@hildenbrandt-saxena-zhu-rosu-k-evm] +- KLLVM +- KX86-64 +- In progress (external groups): + - Solidity + - Rust + +Parts of a K specification +-------------------------- + +A language spec in K consists of 3 things + +* Syntax +* Configuration ("state") +* Operational semantics as **rewrite rules** + +K Specifications: Syntax +------------------------ + +Concrete syntax built using EBNF style: + +```k + syntax IValType ::= "i32" | "i64" + syntax Instr ::= "(" IType "." "const" Int ")" + syntax Instr ::= "(" "local.get" Int ")" | "(" "local.set" Int ")" + syntax Instr ::= "(" IValType "." IBinOp ")" // Concrete syntax + | IValType "." IBinOp Int Int // Abstract syntax + syntax IBinOp ::= "div_u" + syntax Instrs ::= List{Instr, ""} // Builtin helper for cons lists. +``` + +Note: we tend to mix abstract and concrete syntax. + +. . . + +This would allow parsing a program like this: + +```scheme + (local.get 1) + (local.get 0) + (i32.div_u) + (local.set 0) +``` + +K Specifications: Configuration +------------------------------- + +Tell K about the structure of your execution state. + +```k + configuration $PGM:Instrs + .ValStack + .Map +``` + +. . . + +> - `` will contain the initial parsed program. +> - `` operand stack of `Val` items. +> - `` a mapping `Int -> Val` + +. . . + +```k + syntax Val ::= "<" IValType ">" Int +``` + +K Specifications: Transition Rules +---------------------------------- + +Using the above grammar and configuration: + +. . . + +### Push to ValStack + +\begin{Verbatim}[] + rule ( ITYPE . const I ) \textcolor{blue}{=>} #chop(< ITYPE > I) \textcolor{blue}{...} +\end{Verbatim} + +. . . + +> - `=>` is the rewrite arrow. +> - Words in all caps are variables. +> - We match on and rewrite the front of the cell contents, and `...` matches the rest of the cell. +> - We don't need to mention the cells we don't use or modify. + +\vfill{} + +. . . + +\begin{Verbatim}[] + rule \textcolor{blue}{V:Val => \textbf{.}} ... + \textcolor{blue}{VALSTACK => V : VALSTACK} +\end{Verbatim} + +. . . + +> - `.` is like $\epsilon$, so rewriting to `.` is erasing. +> - We can rewrite several cells at once. +> - In ``, we match on the entire cell. + +K Specifications: Transition Rules +---------------------------------- + +### Helper functions: + +\begin{Verbatim}[] + syntax Val ::= #chop ( Val ) \textcolor{blue}{[function]} + // ---------------------------------------- + rule #chop(< ITYPE > N) => < ITYPE > (N modInt #pow(ITYPE)) + + syntax Int ::= #pow ( IValType ) \textcolor{blue}{[function]} + // ------------------------------------------- + rule #pow (i32) => 4294967296 +\end{Verbatim} + +. . . + +\vspace{1em} + +> - The `[function]` annotation means the rule applies regardless of context. + +K Specifications: Transition Rules +---------------------------------- + +### Binary operators + +\begin{Verbatim}[] + rule ( ITYPE . BOP:IBinOp ) => ITYPE . BOP C1 C2 ... + + < ITYPE > C2 : < ITYPE > C1 : VALSTACK => VALSTACK + + + rule ITYPE . div_u I1 I2 => < ITYPE > (I1 /Int I2) ... + \textcolor{blue}{requires I2 =/=Int 0} + rule ITYPE . div_u I1 I2 => undefined ... + \textcolor{blue}{requires I2 ==Int 0} +\end{Verbatim} + +\vspace{1em} + +- `requires` specifies side conditions. +- We often use K operators specialized by type, e.g. `==Int` + +K Specifications: Transition Rules +---------------------------------- + +### Get local variable + +$$ +\FRAME ; (\LOCALGET x) \stepto \FRAME ; val +\qquad \textcolor{blue}{(\wif \FRAME.\LOCALS[x] = val)} +$$ + +. . . + +\begin{Verbatim}[] + rule ( local.get INDEX ) => . ... + VALSTACK => VALUE : VALSTACK + ... \textcolor{blue}{INDEX |-> VALUE} ... +\end{Verbatim} + +. . . + +- `` is a `Map` (builtin data structure), which is an associative-commutative pair of values. We can put `...` on both sides indictating we are matching *somewhere* in the `Map`. + + +K Specifications: Transition Rules +---------------------------------- + +### Set local variable + +$$ +\FRAME ; (\LOCALSET x) \stepto \FRAME' ; \epsilon +\qquad (\wif \FRAME' = \FRAME \textcolor{blue}{\with \LOCALS[x] = val}) +$$ + +. . . + +\begin{Verbatim}[] + rule ( local.set INDEX ) => . ... + VALUE : VALSTACK => VALSTACK + ... INDEX |-> \textcolor{blue}{(_ => VALUE)} ... +\end{Verbatim} + +. . . + +- `_` is a wildcard (matches any value). +- We can use parentheses to isolate the part of a term we are rewriting, like updating the value part of a map entry. + + +## Example execution + +### We can use KLab to explore execution of our example program. + +```scheme + (local.get 1) + (local.get 0) + (i32.div_u) + (local.set 0) +``` + +with intial configuration + +```k + + 0 |-> 4 + 1 |-> 24 + +``` + +. . . + +\vfill + +\center\huge DEMO! + +Repo tour +========= + +Repo layout +--------- + +* Literate programming style in markdown with K code blocks. +* `wasm.md`: The main part of the semantics +* `data.md`: Some helper data structures. +* `test.md`: Some useful assertion functions. +* `kwasm-lemmas.md`: A trusted base for proving. + +Proving +======= + +Verifying Wasm programs +---------------------------- + +> 1. From the KWasm semantics, K generates a parser and a deductive program verifier. +> 2. A verification claim is written like a rewrite rule. `rule A => B` should be read as "`A` will eventually always evaluate to `B`". +> 3. The automatic prover tries to construct a proof (with the help of Z3 to check constraint satisfiability) that every possible execution path starting in `A` eventually rewrites to `B`. +> 4. KLab offers an interactive view of execution, both the successful and the failed paths. + +. . . + +\vfill + +\center\huge DEMO! + +RV specializes in formal verification +------------------------------------- + +- If you're interested in verification of Wasm programs, talk to us! +- [rikard.hjort@runtimeverification.com](rikard.hjort@runtimeverification.com) +- https://riot.im/app/#/room/#k:matrix.org + +Conclusion/Questions? +===================== + +Thanks! +------- + +- Thanks for listening! + +References +---------- + +\tiny + diff --git a/docs/runtimeverification-wasm-semantics/media/202001-presentation-dlab.md b/docs/runtimeverification-wasm-semantics/media/202001-presentation-dlab.md new file mode 100644 index 000000000..ac464cc30 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/202001-presentation-dlab.md @@ -0,0 +1,687 @@ +--- +title: 'KWasm' +subtitle: 'Semantics of WebAssembly in the \K framework' +author: +- Rikard Hjort (presenting) +- Everett Hildenbrandt +- Qianyang Peng +- Stephen Skeirik +date: June 8, 2019 +institute: +- Runtime Verification, Inc. +theme: metropolis +fontsize: 8pt +header-includes: +- \usepackage{color} +- \usepackage{fancyvrb} +- \usepackage{listings} +- \fvset{commandchars=\\\{\}} +- \newcommand{\instr}{instr} +- \newcommand{\STORE}{\textit{S}} +- \newcommand{\FRAME}{\textit{F}} +- \newcommand{\CONST}{\texttt{const~}} +- \newcommand{\LOCALGET}{\texttt{local.get~}} +- \newcommand{\LOCALSET}{\texttt{local.set~}} +- \newcommand{\DATA}{\texttt{data}} +- \newcommand{\FUNCS}{\texttt{funcs}} +- \newcommand{\GLOBALS}{\texttt{globals}} +- \newcommand{\GROW}{\texttt{grow}} +- \newcommand{\ITHREETWO}{\texttt{i32}} +- \newcommand{\LOCALS}{\texttt{locals}} +- \newcommand{\MEMADDRS}{\texttt{memaddrs}} +- \newcommand{\MEMORY}{\texttt{memory}} +- \newcommand{\MEMS}{\texttt{mems}} +- \newcommand{\MODULE}{\texttt{module}} +- \newcommand{\SIZE}{\texttt{size}} +- \newcommand{\TABLES}{\texttt{tables}} +- \newcommand{\with}{\textit{~with~}} +- \newcommand{\stepto}{~\hookrightarrow~} +- \newcommand{\wif}[1]{\text{if}~#1} +- \newcommand{\diminish}[1]{\begin{footnotesize}#1\end{footnotesize}} +- \newcommand{\K}{$\mathbb{K}$~} +- \newcommand{\lK}{$\mathbb{K}$} +--- + + +Overview +-------- + +> 1. KWasm: Intro and roadmap +> 2. \K recap +> 3. Proving things + +KWasm: Intro and roadmap +======================== + +KWasm +----- + +> * The goal is to use the runnable spec to **formally verify** aspects of blockchain runtimes and smart contracts. +> * The current targets are **Ewasm** (Ethereum smart contract VM) an **Pwasm** (Polkadot client bytecode). + +Status +------ + +![](media/img/github-top-screenshot.png) + +* 98 % complete for text format (missing a few floating point instructions). +* We have a full Wasm semantics, and prototype Ewasm and Pwasm **embeddings**. +* No bytecode support (yet), so bytecode is piped through `wasm2wat` tool. +* We have verified a few simple properties, but not yet any "real" programs (in progress with WRC20). + +Design +------ + +* A very faithful translation of Wasm spec (\K and Wasm both use rewrite semantics). Some differences: + - Two stacks: one for operands, one for instructions and control flow. + - We are *more permissive*; allow running instructions directly: +\newline `(i32.add (i32.const 1337) (i32.const 42))` is a full KWasm program. +* Execution focused, we assume validation is done beforehand. No type checking or similar. +* We sometimes need to be more explicit to make rules computational. + +Working with \K +============= + +The Vision: Language Independence +--------------------------------- + +\center +\includegraphics[height=0.9\paperheight]{media/img/k-overview} + + +\K Tooling/Languages +------------------- + +### Tools + +- Parser +- Interpreter +- Debugger +- Reachability Logic Prover [@stefanescu-park-yuwen-li-rosu-reachability-prover] +- ... + +. . . + +### Languages + +- Java 1.4 - 2015 [@bogdanas-rosu-k-java] +- C11 - 2015 [@hathhorn-ellison-rosu-k-c] +- KJS - 2015 [@park-stefanescu-rosu-k-js] +- KEVM - 2018 [@hildenbrandt-saxena-zhu-rosu-k-evm] +- KLLVM +- KX86-64 +- In progress (external groups): + - Solidity + - Rust + +Parts of a \K specification +-------------------------- + +A language spec in \K consists of 3 things + +* Syntax +* Configuration ("state") +* Operational semantics as **rewrite rules** + + + +\K Specifications: Transition Rules +---------------------------------- + +We have configuration with a few cells. + +Among them a `` cell and a `` cell. + +. . . + +### Push to ValStack + +\begin{Verbatim}[] + rule ( ITYPE . const I ) \textcolor{blue}{=>} #chop(< ITYPE > I) \textcolor{blue}{...} +\end{Verbatim} + +. . . + +> - `=>` is the rewrite arrow. +> - Words in all caps are variables. +> - We match on and rewrite the front of the cell contents, and `...` matches the rest of the cell. +> - We don't need to mention the cells we don't use or modify. + +\vfill{} + +. . . + +\begin{Verbatim}[] + rule \textcolor{blue}{V:Val => \textbf{.}} ... + \textcolor{blue}{VALSTACK => V : VALSTACK} +\end{Verbatim} + +. . . + +> - `.` is like $\epsilon$, so rewriting to `.` is erasing. +> - We can rewrite several cells at once. +> - In ``, we match on the entire cell. + + +\K Specifications: Transition Rules +---------------------------------- + +### Helper functions: + +\begin{Verbatim}[] + syntax Val ::= #chop ( Val ) \textcolor{blue}{[function]} + // ---------------------------------------- + rule #chop(< ITYPE > N) => < ITYPE > (N modInt #pow(ITYPE)) + + syntax Int ::= #pow ( IValType ) \textcolor{blue}{[function]} + // ------------------------------------------- + rule #pow (i32) => 4294967296 +\end{Verbatim} + +. . . + +\vspace{1em} + +> - The `[function]` annotation means the rule applies regardless of context. +> - This is also how we write lemmas. A lemma is basically a function rule. + +Proving +======= + +Verifying Wasm programs +---------------------------- + +> 1. From the KWasm semantics, \K generates a parser and a deductive program verifier. +> 2. A verification claim is written like a rewrite rule. `rule A => B` should be read as "`A` will eventually always evaluate to `B`". +> 3. The automatic prover tries to construct a proof (with the help of Z3 to check constraint satisfiability) that every possible execution path starting in `A` eventually rewrites to `B`. +> 4. KLab offers an interactive view of execution, both the successful and the failed paths. + +The program (pseudo-code) +----------- + +``` +(func $i64.reverse_bytes(i64 input) + i64 local[1] = 0 + i64 local[2] = 0 + while True: + if local[1] >= 8: + break + bits = 56 - (local[1] * 8) + local[2] = local[2] + (((input << bits) >> 56) << bits) + local[1] = local[1] + 1 + return local[2] +) +``` + +Specification +------------- + +``` +rule #wrc20ReverseBytes + ~> (i64.load (i32.const ADDR)) + (i64.store (i32.const ADDR) (call $i64.reverse_bytes)) + => . ... + +// ... + BM => BM' + requires #inUnsignedRange(i32, ADDR) +// ... + ensures #get(BM, ADDR +Int 0) ==Int #get(BM', ADDR +Int 7 ) + andBool #get(BM, ADDR +Int 1) ==Int #get(BM', ADDR +Int 6 ) + andBool #get(BM, ADDR +Int 2) ==Int #get(BM', ADDR +Int 5 ) + andBool #get(BM, ADDR +Int 3) ==Int #get(BM', ADDR +Int 4 ) + andBool #get(BM, ADDR +Int 4) ==Int #get(BM', ADDR +Int 3 ) + andBool #get(BM, ADDR +Int 5) ==Int #get(BM', ADDR +Int 2 ) + andBool #get(BM, ADDR +Int 6) ==Int #get(BM', ADDR +Int 1 ) + andBool #get(BM, ADDR +Int 7) ==Int #get(BM', ADDR +Int 0 ) +``` + + + + +First proof attempt +------------------- + +\tiny + +``` +( ( ( #getRange ( BM , ADDR , 8 ) <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 < * Each line in the top part represents a byte. +> * The expression is essentially a sum, where the implicit invariant that they can only have `1` bits in separate locations (no addition carry). + +First proof attempt +------------------- + +Least significant byte in original number, modified the first loop iteration: + +``` +(((((( #getRange(BM, ADDR, 8) <>Int 56) <>Int} + child { + node (k) {modInt} + child { + node (m) {< X} +\pause + +\vspace*{16pt} + +\texttt{rule (X modInt M) modInt N => X modInt M} + +\texttt{~~requires M >Int 0} + +\texttt{~~~andBool M <=Int N} + \pause + +\vspace*{16pt} + +\texttt{rule (X < (X modInt (POW /Int (2 \^{}Int N)))} + +\texttt{~~~~ <=Int 0} + +\texttt{~~~ andBool POW >Int 0} + +\texttt{~~~ andBool POW modInt (2 \^{}Int N) ==Int 0} + +\end{minipage} + +New state +--------- + +\begin{minipage}[l]{0.40\textwidth} +\begin{tikzpicture}[scale=0.56] + \node (a) {modInt} + child { + node (b) {+Int} + child { + node (d) {modInt} + child { + node (e) {<>Int} + child { + node (k) {modInt} + child { + node (m) {<>Int} + child { + node (m) {<{\begin{minipage}[r]{0.52\textwidth} + +\vspace*{60pt} + +\texttt{rule (X <>Int M} + +\texttt{~ => X <=Int M} + +\vspace*{16pt} + +\uncover<3->{ + +\texttt{rule \#getRange(BM, ADDR, WIDTH) modInt 256} + +\texttt{~ => \#get(BM, ADDR)} + +\texttt{~ requires WIDTH =/=Int 0} + +\texttt{~~ andBool \#isByteMap(BM)} + +\texttt{~ ensures 0 <=Int \#get(BM, ADDR)} + +\texttt{~~ andBool \#get(BM, ADDR) {\begin{minipage}[r]{0.39\textwidth} +\begin{tikzpicture}[scale=0.6] + \node (a) {<>Int} + child { + node (m) {<>Int} + child { + node (m) {< * WRC20 is a token contract written in Wasm. +> * The capstone of this project would have been to fully verify it. + +. . . + +* It has two public functions: + - `balanceOf :: address -> i256` + - `transfer :: (address, i256 value) -> i1` + +\$i64.reverse\_bytes +-------------------- + +WRC20 has one helper function: + +`reverse_bytes :: i64 -> i64` + +. . . + +Ethereum sends parameter big-endian encoded, but Wasm uses little-endian. +Parameters and return values need to be converted accordingly. + +. . . + +In pseudo-code: + +``` +func $i64.reverse_bytes(i64 input) (result i64) { + i64 i = 0 + i64 res = 0 + while i < 8 { + bits = 56 - (i * 8) + res = res + (((input << bits) >> 56) << bits) + i++ + } + return res +} +``` + +. . . + +A pure Wasm function! + +Overview +-------- + + +1. The tool: KWasm +2. Finishing KWasm + * Completing KWasm + * Ewasm embedding +3. Proofs and axioms + * Example: Verifying the helper function + * Axiom engineering +4. Discussion + +KWasm as a tool +=============== + +Why \lK? +-------- + +* Give \K an operational semantics, and it produces a powerful and automatic reachability logic prover. [@stefanescu-park-yuwen-li-rosu-reachability-prover] + +. . . + +* Mature + - Complex languages: + - KEVM - 2018 [@hildenbrandt-saxena-zhu-rosu-k-evm] + - Java 1.4 - 2015 [@bogdanas-rosu-k-java] + - C11 - 2015 [@hathhorn-ellison-rosu-k-c] + - KJS - 2015 [@park-stefanescu-rosu-k-js] + - KLLVM + - KX86-64 + +. . . + +* Uses non-deterministic rewriting, same formalism as Wasm. + +. . . + +* The forerunner to KWasm, KEVM, has seen significant adoption, and we want to build on the success. + +. . . + +* KWasm was a mature prototype when we started---no need to start from scratch. + +Steps Towards Finishing KWasm +=========================== + +Completing KWasm +---------------- + +![](media/img/github-top-screenshot.png) + +* Before the project, Wasm lacked support for more than one module. +* Ad-hoc tests. + +. . . + +We + +* added module support. +* wrote a test harness to test KWasm against the official conformance tests. + +. . . + +Each are a topic of their own, skipping over them in the interest of time. + +Ewasm embedding +--------------- + +\center +![](media/img/ewasm-contract.png){ width=90%} + +\flushleft + +> * An Ewasm contract exposes a `"main"` function that is invoked when the contract is called. +> * Ethereum state is accessed through imported host functions, 256-bit results are returned in the Wasm memory. +> * The Wasm state is cleared between each invocation, persistent data lives in the blockchain client. +> * Design: Ethereum client (EEI) and Wasm semantics composed into one semantics with a thin boundary between them. + +Proofs and Axioms +===================== + +Verifying Wasm programs +---------------------------- + +> 1. From the KWasm semantics, \K generates a parser and a deductive program verifier. +> 2. A verification claim is written like a rewrite rule. `rule A => B` should be read as "`A` will eventually always evaluate to `B`". +> 3. A proof is (hopefully) constructed for the entire rewrite by composing rules in the semantics. Some equalities and side conditions are proved by Z3, the SMT solver. +> 3. The automatic prover tries to construct a proof (with the help of Z3 to check constraint satisfiability) that every possible execution path starting in `A` eventually rewrites to `B`. +> 4. We can help the prover by adding lemmas (which must be proven), or axioms (which are taken for true). These must be expressed as context-free rewrite rules, i.e. they can rewrite expressions but not step the machine. + +Verification Example: `reverse_bytes` Program Again +----------------- + +``` +func $i64.reverse_bytes(i64 input) (result i64) { + i64 i = 0 + i64 res = 0 + while i < 8 { + bits = 56 - (i * 8) + res = res + (((input << bits) >> 56) << bits) + i++ + } + return res +} +``` + +Specification +------------- + +``` +rule #wrc20ReverseBytes + ~> (i64.load (i32.const ADDR)) + (i64.store (i32.const ADDR) (call $i64.reverse_bytes)) + => . ... + +// ... + BM => ?BM' + requires #inUnsignedRange(i32, ADDR) +// ... + ensures #get(BM, ADDR +Int 0) ==Int #get(?BM', ADDR +Int 7 ) + andBool #get(BM, ADDR +Int 1) ==Int #get(?BM', ADDR +Int 6 ) + andBool #get(BM, ADDR +Int 2) ==Int #get(?BM', ADDR +Int 5 ) + andBool #get(BM, ADDR +Int 3) ==Int #get(?BM', ADDR +Int 4 ) +// ... +``` + +. . . + +> * To test reversing bytes, we load from memory (linear byte array), call the function, store the result memory, and compare memory locations. +> * Expressed as a side condition (`ensures`). +> * Uses a simplifying sidecondition (`requires`). + +First proof attempt +------------------- + +The prover runs the full program, but ends up storing the following symbolic expression back to the memory location. + +\tiny + +``` +( ( ( #getRange ( BM , ADDR , 8 ) <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 <>Int 56 < * Each line in the top part represents a byte. +> * The expression is essentially a sum, where the implicit invariant that they can only have `1` bits in separate locations (no addition carry). + + +First proof attempt +------------------- + +> * Our approach will be to extend \lK's ability to reason about these kinds of arithmetic expressions, and about the `#getRange` function +> * Axioms will be added as context-free rewrite rules. +> * Each is simple and has been hand-verified, but not yet machine-verified. + + +. . . + +Least significant byte in original number, modified the first loop iteration: + +``` +(((((( #getRange(BM, ADDR, 8) + <>Int 56) + <>Int} + child { + node (k) {modInt} + child { + node (m) {< X} +\pause + +\vspace*{16pt} + +\texttt{rule (X modInt M) modInt N => X modInt M} + +\texttt{~~requires M >Int 0} + +\texttt{~~~andBool M <=Int N} + \pause + +\vspace*{16pt} + +\texttt{rule (X < (X modInt (POW /Int (2 \^{}Int N)))} + +\texttt{~~~~ <=Int 0} + +\texttt{~~~ andBool POW >Int 0} + +\texttt{~~~ andBool POW modInt (2 \^{}Int N) ==Int 0} + +\end{minipage} + +New state +--------- +\small + +\begin{minipage}[l]{0.40\textwidth} +\begin{tikzpicture}[scale=0.56] + \node (a) {modInt} + child { + node (b) {+Int} + child { + node (d) {modInt} + child { + node (e) {<>Int} + child { + node (k) {modInt} + child { + node (m) {<>Int} + child { + node (m) {<{\begin{minipage}[r]{0.52\textwidth} + +\vspace*{60pt} + +\texttt{rule (X <>Int M} + +\texttt{~ => X <=Int M} + +\vspace*{10pt} + +\uncover<3->{ +\texttt{rule X < X} +} + +\vspace*{10pt} + +\uncover<4->{ + +\texttt{rule \#getRange(BM, ADDR, WIDTH) modInt 256} + +\texttt{~ => \#get(BM, ADDR)} + +\texttt{~ requires WIDTH =/=Int 0} + +\texttt{~~ andBool \#isByteMap(BM)} + +\texttt{~ ensures 0 <=Int \#get(BM, ADDR)} + +\texttt{~~ andBool \#get(BM, ADDR) {\begin{minipage}[r]{0.391\textwidth} +\begin{tikzpicture}[scale=0.6] + \node (a) {<>Int} + child { + node (m) {<>Int} + child { + node (m) {< * \K supports adding new axioms (as rewrite rules), or new statements to Z3, to help the prover. +> * Whenever we can, we choose to add lemmas to KWasm and upstream them into the \K tool when they are general enough. +> * Axioms in \K apply unconditionally, so there is a risk of infinite rewrites. (No commutativity or associativity axioms!) +> * We found a lexicographic product which the axioms always decrease. + +. . . + +$$ +(b, e, n) +$$ + +- $b$: Number and height in parse tree of certain operations, (for now `mod`, `<<`, and `>>`.) +- $e$: Expression size. +- $n$: Sum of absolute values of integers. + +Discussion & Conclusion +======================= + +Discussion & Conclusion +----------------------- + +> * We are missing the capstone: verifying a smart contract ... +> * ... but pieces are in place: completed KWasm, embedding, memory lemmas, an example of pure Wasm verification. +> * \K needs more arithmetic reasoning, and KWasm is spearheading the process. + +Future Work +----------- + +> * Verifying the full WRC20 would tie it all together. Started work, but still exploratory. +> * Committee with other \K projects on what axioms we want in general. +> * Proving lemmas sound, possible even using the \K prover itself. +> * More control over the prover, proof assistant style. +> * A DSL for the prover---expressing properties over blockchain state is verbose and error prone without it. + +. . . + +Open source project[^2], currently funded, development is ongoing. + +Thanks! +------- + +- Thanks for listening! +- [rikard.hjort@runtimeverification.com](rikard.hjort@runtimeverification.com) +- https://riot.im/app/#/room/#k:matrix.org + +\vfill + +### References + +\tiny + +Cover image by Bogdan Stanciu. + + +[^1]: , as of 2020-01-25 + +[^2]: + diff --git a/docs/runtimeverification-wasm-semantics/media/berlin-demo/README.md b/docs/runtimeverification-wasm-semantics/media/berlin-demo/README.md new file mode 100644 index 000000000..8370636da --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/berlin-demo/README.md @@ -0,0 +1,14 @@ +The files in this directory give a demo of a simple Wasm program, and of trying to prove a property of division. + +Standing in this directory, do + +```sh +./pre-run.sh +``` + +This will run the `example-execution.wast` file, and perform proofs on the `div*-spec.k` files. +Two of the proofs will fail, so an error message and non-zero exit codes is to be expected. + +You can then explore exection and proofs with `./kwasm klab-view [FILENAME]`. +For example, `./kwasm klab-view div3-spec.k` +See the documentation for [KLab](https://github.com/dapphub/klab) for details of how to use KLab diff --git a/docs/runtimeverification-wasm-semantics/media/berlin-demo/div1-spec.k b/docs/runtimeverification-wasm-semantics/media/berlin-demo/div1-spec.k new file mode 100644 index 000000000..015011518 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/berlin-demo/div1-spec.k @@ -0,0 +1,31 @@ +requires "kwasm-lemmas.k" + +module DIV1-SPEC + imports WASM + imports KWASM-LEMMAS + +// Try to prove an incorrect property of unsigned division: +// If X' = X / Y, then X' < X. + + rule (local.set 0 + (i32.div_u (local.get 0) (local.get 1))) + // Rewriting to "." means we expect the program to complete + // without trapping. + => . + + + 0 |-> < i32 > (X => X') + 1 |-> < i32 > Y + + // We must specify that X and Y fulfill the invariant for locals to + // be in the unsigned range. Otherwise, X and Y can be *any* integers. + requires #inUnsignedRange(i32, X) + andBool #inUnsignedRange(i32, Y) + ensures X' 0, +// then X' < X + + rule (if (local.get 1) + (then (local.set 0 + (i32.div_u (local.get 0) (local.get 1)))) + (else + + (local.set 0 (i32.const 0)))) + => . + + + 0 |-> < i32 > (X => X') + 1 |-> < i32 > Y + + requires #inUnsignedRange(i32, X) + andBool #inUnsignedRange(i32, Y) + + andBool X =/=Int 0 + ensures X' 0, +// and Y > 1, +// then X' < X + rule (if (local.get 1) + (then (local.set 0 + (i32.div_u (local.get 0) (local.get 1)))) + (else + + (local.set 0 (i32.const 0)))) + => . + + + 0 |-> < i32 > (X => X') + 1 |-> < i32 > Y + + requires #inUnsignedRange(i32, X) + andBool #inUnsignedRange(i32, Y) + andBool Y =/=Int 1 + andBool X =/=Int 0 + ensures X' 0, +// and Y > 1, +// then X' < X + +// Has en extra neat demonstration, that the `br_if` will not cause a branch, +// because we know the value of Y at that point. + + rule (if (local.get 1) + (then (local.set 0 + (i32.div_u (local.get 0) (local.get 1)))) + (else + (br_if 0 (local.get 1)) // Will not branch, due to our constraints. + (local.set 0 (i32.const 0)))) + => . + + + 0 |-> < i32 > (X => X') + 1 |-> < i32 > Y + + requires #inUnsignedRange(i32, X) + andBool #inUnsignedRange(i32, Y) + andBool Y =/=Int 1 + andBool X =/=Int 0 + ensures X' 4 : < i32 > 24 : .ValStack + +(local.get 1) +(local.get 0) +(i32.div_u) +(local.set 0) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/media/berlin-demo/pre-run.sh b/docs/runtimeverification-wasm-semantics/media/berlin-demo/pre-run.sh new file mode 100755 index 000000000..5152d9caa --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/berlin-demo/pre-run.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +cd ../.. +rm -rf .build/klab +./build +./kwasm klab-run media/berlin-demo/example-execution.wast +for i in `seq 4`; do + FILE=div$i-spec.k + echo "" + echo "" + echo "$FILE" + ./kwasm klab-prove media/berlin-demo/$FILE -m KWASM-LEMMAS +done + +cd - diff --git a/docs/runtimeverification-wasm-semantics/media/citations.md b/docs/runtimeverification-wasm-semantics/media/citations.md new file mode 100644 index 000000000..9b995670f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/citations.md @@ -0,0 +1,234 @@ +--- +csl: media/ieee.csl +references: +- id: bogdanas-rosu-k-java + type: paper-conference + author: + - family: Bogdănaş + given: Denis + - family: Roşu + given: Grigore + issued: + - year: 2015 + title: 'K-Java: A Complete Semantics of Java' + container-title: Proceedings of the 42nd symposium on principles of programming + languages (popl’15) + publisher: ACM + page: 445-456 + DOI: http://dx.doi.org/10.1145/2676726.2676982 + +- id: hathhorn-ellison-rosu-k-c + type: paper-conference + author: + - family: Hathhorn + given: Chris + - family: Ellison + given: Chucky + - family: Roşu + given: Grigore + issued: + - year: 2015 + title: Defining the undefinedness of c + container-title: Proceedings of the 36th acm sigplan conference on programming language + design and implementation (pldi’15) + publisher: ACM + page: 336-345 + DOI: http://dx.doi.org/10.1145/2813885.2737979 + +- id: park-stefanescu-rosu-k-js + type: paper-conference + author: + - family: Park + given: Daejun + - family: Ştefănescu + given: Andrei + - family: Roşu + given: Grigore + issued: + - year: 2015 + title: 'KJS: A complete formal semantics of JavaScript' + title-short: KJS + container-title: Proceedings of the 36th acm sigplan conference on programming language + design and implementation (pldi’15) + publisher: ACM + page: 346-356 + DOI: http://dx.doi.org/10.1145/2737924.2737991 + +- id: hildenbrandt-saxena-zhu-rosu-k-evm + type: paper-conference + author: + - family: Hildenbrandt + given: Everett + - family: Saxena + given: Manasvi + - family: Zhu + given: Xiaoran + - family: Rodrigues + given: Nishant + - family: Daian + given: Philip + - family: Guth + given: Dwight + - family: Moore + given: Brandon + - family: Zhang + given: Yi + - family: Park + given: Daejun + - family: Ştefănescu + given: Andrei + - family: Roşu + given: Grigore + issued: + - year: 2018 + title: 'KEVM: A complete semantics of the ethereum virtual machine' + title-short: KEVM + container-title: 2018 ieee 31st computer security foundations symposium + publisher: IEEE + page: 204-217 + +- id: kheradmand-rosu-k-p4 + type: report + author: + - family: Kheradmand + given: Ali + - family: Roşu + given: Grigore + issued: + - year: 2018 + title: 'P4K: A formal semantics of p4 and applications' + title-short: P4K + publisher: University of Illinois at Urbana-Champaign + number: https://arxiv.org/abs/1804.01468 + +- id: kasampalis-guth-moore-rosu-johnson-k-iele + type: report + author: + - family: Kasampalis + given: Theodoros + - family: Guth + given: Dwight + - family: Moore + given: Brandon + - family: Serbanuta + given: Traian + - family: Serbanuta + given: Virgil + - family: Filaretti + given: Daniele + - family: Rosu + given: Grigore + - family: Johnson + given: Ralph + issued: + - year: 2018 + title: 'IELE: An intermediate-level blockchain language designed and implemented + using formal semantics' + title-short: IELE + publisher: University of Illinois + number: http://hdl.handle.net/2142/100320 + +- id: stefanescu-park-yuwen-li-rosu-reachability-prover + type: paper-conference + author: + - family: Ştefănescu + given: Andrei + - family: Park + given: Daejun + - family: Yuwen + given: Shijiao + - family: Li + given: Yilong + - family: Roşu + given: Grigore + issued: + - year: 2016 + month: 11 + title: Semantics-based program verifiers for all languages + container-title: Proceedings of the 31th conference on object-oriented programming, + systems, languages, and applications (oopsla’16) + publisher: ACM + page: 74-91 + DOI: http://dx.doi.org/10.1145/2983990.2984027 + +- id: alpuente-cuenca-ortega-escobar-meseguer + type: article-journal + author: + - family: Alpuente + given: María + - family: Cuenca-Ortega + given: Angel + - family: Escobar + given: Santiago + - family: Meseguer + given: José + issued: + - year: 2016 + title: Partial evaluation of order-sorted equational programs modulo axioms + container-title: CoRR + volume: abs/1608.03424 + URL: http://arxiv.org/abs/1608.03424 + +- id: meseguer-rusu-generalized-rewrite-coherence-completion + type: paper-conference + author: + - family: Meseguer + given: José + editor: + - family: Rusu + given: Vlad + issued: + - year: '2018' + title: Generalized rewrite theories and coherence completion + container-title: Rewriting logic and its applications - 12th international workshop, + wrla 2018, held as a satellite event of etaps, 2018, proceedings + collection-title: Lecture notes in computer science (including subseries lecture + notes in artificial intelligence and lecture notes in bioinformatics) + publisher: Springer-Verlag + page: '164-183' + keyword: Coherence, Rewriting, Symbolic execution, Variants + DOI: 10.1007/978-3-319-99840-4_10 + ISBN: '9783319998398' + + +- id: rossberg-web-up-to-speed + type: article-journal + author: + - family: Rossberg + given: Andreas + - family: Titzer + given: Ben L. + - family: Haas + given: Andreas + - family: Schuff + given: Derek L. + - family: Gohman + given: Dan + - family: Wagner + given: Luke + - family: Zakai + given: Alon + - family: Bastien + given: J. F. + - family: Holman + given: Michael + issued: + - year: 2018 + title: Bringing the web up to speed with webassembly. + container-title: Communications of the ACM + page: 107 - 115 + volume: '61' + issue: '12' + abstract: This article discusses the implementation of the low-level computer programming + language for software known as WebAssembly. The authors comment on the use of + WebAssembly in advanced web applications, including three-dimensional visualization, + audio and video software, and gaming. The benefits of WebAssembly include its + ability to function independent of the computer hardware and operating system + on which it runs. + keyword: PROGRAMMING languages, ASSEMBLY languages (Electronic computers), COMPUTER + operating systems, COMPUTER software, THREE-dimensional imaging, WEB-based user + interfaces + ISSN: '00010782' + +... + diff --git a/docs/runtimeverification-wasm-semantics/media/ieee.csl b/docs/runtimeverification-wasm-semantics/media/ieee.csl new file mode 100644 index 000000000..301349ca2 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/ieee.csl @@ -0,0 +1,354 @@ + + + diff --git a/docs/runtimeverification-wasm-semantics/media/img/RV-logo-blue.eps b/docs/runtimeverification-wasm-semantics/media/img/RV-logo-blue.eps new file mode 100644 index 0000000000000000000000000000000000000000..feae90ab97948203179b1613e0a9ab74342da04f GIT binary patch literal 1015090 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 z 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
%Yzuexs?RLWEZ7-kfPQHD4!^iA) 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�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 wQ0w~gN|9jK=5{6jPtE7vchGLb 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�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

(nR<4fPW2NNuJ2a4N zd*QKmD<6r|th`=Q4Rn+1uuET=3l#GZ#x*$=JV836#9{cCQOTwD5m{-jk zlPkQ{?M-OWvtbH$baG=O_HX&JdO7WbLb8O>0@JY(tCOy~eHiOC{^Y#iF?%gREb_uJ z_i+WJ)G74V$#x}1w%b40@pZHUB|L(>f;`ZMdQ#|O*H)FouKu`VNmYROR zMGMZJtfav4jBa&=Y`OrvdVa3boU08UC;s;4>Yaq&R$7T@cEzeysw4UPV zlQ*_WmBk-*P-&V?u0H-$2Bj^1oBfCg*jE2i(A>UIQHBY7{@Ef_z$wLU{o(93W2v=u z^AKj6FAV>t`|jV0*ywfSaZHnqN0;O{}c`ZK@8j-zG+m;dOH2X$t*9?gF=M=eQz!J3iyw{5mM;0BkG5<6pW%c;&mByc? z=1#ZE#_1++bF;oA%Em7cwr=#2dS31w$t`qu8AiPQ>g41;F0%IIAe2{IckwT$^tTLi z2bLNX+kzjzK`eg`-TP~DycdttDQ7C3>zoez$tUSY2N!exT9(pEd_5@;@0-tXXo0Z+ z+i+`G>t>5c&nWud`h2-#wCwr$9b6oxC2+{W#GxZM3VY)MX7At>H z5{t-98~ms3)Z65r-`>64hI$VpMLRhjJJ8YwF8e2H=Ml;fd2bssusuDq?RYKO6(H2V zF4jNKNXBC@=_O)_)U3IwtjiBPYUEx26+AZYMw60y8;??(-*;m|kmJ^%j1O|k z3H-*j4jvzqUg3iI)cc*S^Hc*TvfpjcAz@q^R)BmxuEEpNowtKrg6ST%iY{!4a>8I*(ZtlrCZ9qabp2I_4}d&uU|?PC6>#hRrS{)voU`-Sp^c&%^xp_QnBD$7vj6fb zfNwi$)NT(m0+GrDm|d*p-7JT(SN!G<=+D#{o@vYj+%~K9B1MnUGq3EIeR!G-&Y$0? z<|U9rlbVdPmF&&-$I2%17FzXqv>pF-8dwwV)x+pmb-_6ny+8Pq5E=`ZC&L@tP?oLb zk`~p;pg7AqhxL2;_j2#c;f<44%rARGy!J5&N<(D1BFqJxpixQTR(jt16CJ6S%CEB+ zEQP|J2&KkRULC^CZYcDxxZ%_a=NVgt`PjQ2Jja@jYKQ)59>vYcQwLwX!BIcOv3KX5 z&cW$a2EBV;1Yd0X|?u)3fnQRHOMIz)W*^t3wd zHJvpl9c=u$ym_ChvsrJYO1h29@--?&Pkuh=54Jz*KWyuunE&XVEx~PEPPb0k13eW{ zGV1p#Fu`yA!4Ei(DtoY#R`r&|<{jujIE%_u;5GwueWECS2AZQ;5F&q zfXn`%E&-VriyUm;Ctzum>X0t-E^lR%3{SjYn)Is|!nZNn3Y0?mno|n9 zz?mOQ^&xn=-iMk1L;;-rrk-AV&vUgJWRA%7k}b3V2UJ6@$$tE}TR)p3mepRPw5T5? z|Hu}vS=j8;7JN2AF;4>pYaHfbD++s8?`)P4j^jedFfFU|ri;YvkF4w>c!NXJt?@X1 zvrYo?jf(43YjmqsgQEYzUr2UJy~N97%bcj#On=i#7jwh8>eycu~;zPK5hQ zTS+0ZVXZ5t>7^eh4buP3vF@Y5d}$-4x8~TG(Q{k<6NOUq5|k^>*U8lfD(2|>rjkQ< ztw@5$@};*Q*hYog?}CeP;mSRdo*wD-XwQN&5;|7CPvo8;a6q23Azm_x z;Z!*ayOtBnfH_R1I&Z?=ddc|0HUF{Cs!l{|8-PY>cQ-1@N21jST$onY@Zawk#HSyP zFZ;vx-M2QKXCjNsJ{2w%t-O+lU9k>MC*Uw=)82!xK8*Sl!m%O;&*Tmxb;n^z#4ch* zEXrGD1%qqkx|Ofbc3tu=B>O;YnaSTSe_FRb?J(B^pDRtF|0^Th+AY$=7fOm<4s0X}&{S@qhGru~EW zzBt@Zgjrbc*04M^$V}qhOq$PU1G}wc`gK~DOHue zo3}3ouZ#*NvAWz*e2Y~9V2XpNZoWt0-d0+?_lG$=VV>FWzC*oHFHpbX z%6TMqyF0o6xn>bXdZ`WhcBr2%AOcd&^lGI9Lhi{!>HmnM+mNR;mqEIN62G5r^-?(I zd2BU_L?w5i3K`n$ZF@SQ_YJ^JI9pJQhL75MqLb~nXS!%JwVZ|wu`l=shw|;ci;@8%c+?o6PvuUK}?;Rv6n_T z2dN(i1Ki$E?m-r=a!vu&w>qkWa|v=o-d$ZZr?uKpEF70>i|Ed3BXj=3)M;|wPF{b{ z{`=#pS(>14?dVZ?5nQ0?gx_?mQlVq9t1#)v(J%v~S6)3Fd#@VoY~Y;S?a!n1GTL4P zqi^^1zYjv#Oo1`m=iH)h&d$S{vuFNJ4wI1Wd&XX$g21<77y@Y}V!C#3B=^h>;hCo# z`hJ0Vmu?Rk6TOw1r@og#A6XH5_#`uBw8`N8-t9fOfU-$@%L-Hw=e|)WmbrmZoY|Ap zx>(iMTTZ4V4C#Q1IGuAWobMt1!@XS3Gt+Ex-9KR9y?o~yRZsP*09(|#SHqpRf z(o3%6^T&hl*K1rZZTJ_+UEjg3p51y>cPjMdPUUKapahBB_G~wfw`Ea9V|0YQ?w!st zq8%cb9*5kz3wRf0{+JNddn5y}`Gk4~vnp3QkKJs}t%?oQ=iz ziIW-Pg^~JB@ z#b<#dtvMy)_GsMQS_d|rd(Gxei|FRpqw0g>FYKQ@W^KGZCe7KE5NXgyec#%QK_X_@N zs|17^Nah#B+>(1Y=IzBO@%O6%%#`ZAMqMN(zzVGt-c_ysm-iYCbXq{b6s0K#_;VNJ z@6>9ptX84L-@6-kQzBW0534Lc3%yr<3x_dyZYHTKo|)<5(U_g$$)Z^n-&h_}4siH| zsr67``^}(ZU)|YS9|?=^Vz3V&rSm4i^s>Gmv8MP~G)73C5lh)NF5+`_G2on)zWb|b zUDEjEUg>XMud{Q!ewM$h)+Crz!!hL?Ce5Fj9kA0Eeio9x>~_?l7|WYs&6c^bHsp6K zvo4Ja%czU>LVWnG!H z?G+4cy|krB0sG6gx5D>%Bu5*$l#dj&>^Y_(q{;zoog?Nq|A?G8}YH0=$>9RK6> z#W()O8&f^KUlV+T?5`)~%a;a8ncLg}u#coi>*h=!)x$>mP<>>W0i*0w6uS1%tIpS( zUH}ut>MC~bvC4k|czD5f&G+AB`4TQeIV~P5Jz>Ttv#XcWAta>Z32VY|V2kRQuTaJNgg9qspd}4ApYw>5x|HzYjWi z{lH}@p5m3OB5X6SyM2cj*F%@|jKi^Bk0{q%8N7Jl%tr$#nU~MJUBjo&cKa)%Se~KFO640GLbtL+^Y(k0|z;%LNXC6_ELn?#gV~AHNomk^GaXpY|pmxl8 z3`Qx6uOdjkncGT3E*^2wpzN~QSk(&CLVH^4 zCR)RjN_LWys5#S2^UVw^{M?+@8GhMXQyb#%cB3ju4Y)r|8sh0M02o|h{f)V|o#U>r z>kaP6xyh|tJR`T7)VTCSe}}JIi+lO|7Zr8<+AfdM$L68 zt5d)*%h=UiDo&{UQ-1hpv)&d&=sH2IUc$M&C<%EZfyvdINLh)@X~%=sQfk)uP=mk8 zP2Wt>Z1K3DUgqFAwI6L3(^)!ffZ7w-0oFYmj->fm79>RJRlA?U&?agbqON8sC`>l- zXch+Sxmpa`mi>0%z28}LFHN2BD%xDR+g7(O)J}T$(l&@%4WfD#m}0Yx@yJTcaXKyS z+G>#Ev$u0_oJYO&;g}!%#ivTP>OMwubI@HudbD^cSK9B;B--pc_}e4}*jQEOTGmJY z$_>_QE}O+dwGk_zYpWh6^Bq4%H?zW901A6jf|nE9cyBa`@{*MA}+O1a| z#Qqy~WA-)h)K_D+Gfr1%pI3?v(5RN-yPuD-{AF~?gV7}WR_&s+E9Ij#um)tT)RS2# z6*O8{hFb_e!=uadwT^kUomlVZyjm=r^ome9m*u>5s12oqS*RM<_UcO+dXo^<+IyiQ zJ4koK#_GOqwep^gmWPoetPv9zKdG*AkJiDS(y zUq!i~FTu&p9ob4Df0+85t)IjBu-$rx^0f>%KC^phXeHG5DD2PM5B=}A z`tS$89oN{^r5f{zU#Le!c&x7eCc~y@Lbsp(iRis0N${-7*|S|$!R5K}I9dIKL(nD| zbw{<86277uWXv1C9_+-~n*?$lFWyk=JUQQwXDj4aT@4GR(krCchb2xs5 zb*1w=tIJ6?3Bk^q98j*pT?bCTo z&du1^!W6EcGyW5gePoFu0yW%Krt`rnPn`Iczyp@xl)IN!v^ktgf3}nj258r21@5Dz zG(YSa(-C}cTZaM+0BgP4UUfaaTBr9oONT2@>wb=tNb5l>Ex+qUPp1AR3>f0pOJ_B$ zlt$9W$Q%7GmOEX8&bQk-d_q0(P0^dkRfiv+w6Oik=fSYCOPyxl+I=eRKNU%@G#=NA zrxrR9#$>KS>TDdKKLqCdWq&sau*WeT7G~eDQb%$~>0a9R2HY;B+$5e&jpXWl0d-oa zyP;dln)V>^#AVE_r}NI~1g?pOt8U1zu!yBXH?f0j&O5IzRP#_cn6uU}*}-Ql9eOpS z2QR@1*7{V>^^Sjg{Tp}LvgFQ=917Q9{FG(-rf4}THat1&o5>yZp#5+lwNTQ4M{QJw z{Tbnk4F3JwN!xj6EXDCr9AwLfZv8!cm?%a@j^42RuOYsi{kS*L%UThS!DDoK!QgRK zDEG$PxgaX0YyABh-%UM2##%z1mQW6 znZ#duc>oulP{9{Sh^^^#bws-WvKv7HiO|obGUoPgoy`50hbbKccl}~qgzw&e*0riH zpEqni)1h~l7QGUjxPXbX1QKU%9Zgj~Q~HTf;Y@w1ZwgMRUdmeSHmi-NFp%@rY-yp+ zopyCisCHlyx2omv~r^msTTptoR^n;!QOxG(UE7cPEYu|_NxA=)!Y5G3sd>G zgF|-0=Jw%Jgi=6r_FUY07#4oozcCgp{o%~iFv+ndWkCq>u`J=2)9}vv+a-kFF zq1<~AjC)J1#-O9UkAMZ6i#2l2Va;H}?XqiJDGM9QJss=c+a7)|YHCDkmYI*M|0)ZT zG2}(BGxVSCLmZOdc@LdOdbp9F7OnG8z+?0^zK-5e!(YC-`I&iL6n?>Fgm+X}|E-?c zCREwY${Ngi-?vWB>->3C0b<(=2T+mKXiu8L{K~N7Jbhc|`2;4HMKalRuATY8CMrlm z--2-w1Gh?GtIk0Ly0(^H?UBRgk-eRr& z1V7ErdU4J>O(D9=GBY!F=igEJJL?1Y4@`9E-^>|M#y2ecv&Z3j|G=AQ9TYI;+Ewi( zxBay*UFV#u?H1l%d0I*lYh@Q1X}o9plBvh73naR~*w{{tMt&Dvy!~Gvhr0YSN4&~h z*I1y#-k+;=?z|nZ2F8;kxt|cXsQm=JLP@I>H|VpZM-!}kdJ#ZF&z)+sdq=tN`ja=frzr*R*Mbf^h!(5;Q~mTe zZVazY_tV)U`$Ii%;rjhhLr*JmA?9teJpaQywfnsWLT}lWIb;Owr|tF=#nV0&X{#J~ z$v#xOf*zk>of|mA-qiQ4^}f$@ zXa3GUirm#jEnMe93Ng2Qto|^tQ~F5l?)_Dk8z){|(~Fy5Piob!3EzE;S$Gu4#+pqj z_?2J6MEpa?C7x|r$YkRfPgpGqzg(#{I&^D2W!^{jP%rfWeY-Sn^da6Ri=5^B!IB`M z(O{|uyktGJ>FPEZ2Q$0%RwwryWE4wH`o?`?n5|#jGoZF$q5P=_4^v7y<4(!yR+}|y zJBEN|KXMP(6^1_t-H$U`qw0EuR`S|w7~5;r>4jS9u}r7;uBx*>+xZ-O|CE}4%pWuc zAvru=ut`t_+BrJR-=G=zo*F|)y=fhSuu~XyJ8NyUSxN%a)+;@ZgzH*xPvFb z#Bb!pfk$>KrUs_#R#oT;&-hiXB8=5pzIQ|TlU4-W_(pg&{y;8SQ76r9GkpkGYrbCN z%XJ0s+9u5z17PKm_f%Fe3)V<#`fgn0Gbz_+^${MuAmYR==X5_LennXIQXjw=Hu+*M z9ksO9U-OW)?SILx=X^LW=-h5X4)x9L*cODxZ8H8_O0a|0t8jLYxZA4(aE{yeGCxfZ zUXA#IynZ}A9}OMZ2ZzG1#fc=jD{FmUq)W^?&;7_rHq%O8=jIIfhz*WD_G(eAH4y`o21p0~K; zsysC7#$3y{K%Om);``dE2svsz1b*bz*hz zpuJ(iH^W0&tbRo9wpuUkL8+$t-T50679p+`dPVMnK&&#XtnL!GKDGV;h^0=?-LU|) z!T1U|#IH4+o5yt?zWaq+7QFJ<+ zBuuTu!1_OqESk6;7mAgm(^$j=?+!TsdBXn zNDh9fv|;?W4Unr{yAS$1yE>{Y99+Ty9d+;AjK_jitLr=VNe`b4E4FgETJ$j^yFk)J zw9c_b@$sFk&Ri)O4_{E)Blb+$R62zdoRed0l@TMD`jSEU_i86F+AH7RD*ynJhZ+VO zm_^tfna8&YyqzoYZ0>I{Yx@Md%Yz%Ux8p&}WT;8%Xr+{9N6TdOD7w%h>VI5@s1;@L z?*u7=!t_ix%1~=7*^$}g<-bAJq99$l25Rb<3(y?$N6Wnve=MV-TKOWZae}*?axAC! zJ?sP0*%yR0Zy=2_B9^NE^3VI5eLg|<#_;m ze}WO8eXz@T&E;Xc)biu@qf7c+^?_vQIhR}Ex{V`;T6beiEi0%UyN*&3$`K9RPoMxMMA zzr2R_uhBM2ct|V;t7GlpLGXK%{M8kP?9;wFG#X_EIs3pm6N@bqHjVJzr+uYo27gBu z?A=jNn~d8`lUrO6x@eW+W+>)Ry0JQZE=xqt#OgA@9|78_^09@_mYh%og^3{>yy=}BQKeaKc2u}5yU3ty3 z%2eHzxh=cYw%omEW!vgGFdOzx@{7%0GfNNmR=Kpn#w}|>+`@2~?1{0W=CqM*U9M|> z2tB?=JccSDkz_E`j0(>Hs33C@isP_J^uK3&&>I~9=ha=kF$8$*q7{!u$}-I%?P=1Me%bn~*bh zdaINLOVhQFCE)9<;#A(_Or+`H(wVTc^aA*(y6y|byxs9hE~{H2-O_Sp`xBa8<;9SHN1L( zwqRwOY$NR;4q=h#GAFrFtAo2`X)BY#PFo-Jy#+agE5`ywIIR;%=sI97CQOqce3YBb zXrF7){XWc|_t}E12;JN?aq${^?w{UgKwTVrtrNJPT-P zS({4s&5=`;(qK9oxHt7sp&D=>l*XrASBb|?yZCy24KCYWcIoCR*4*~I4)hwM2wdxV zsrC@Wt~?&a&BAl~R%Dg5GAcdg-?4>qX)KaOs^7!Qe_R0Bj>DgPh3*@|^nTyKgCxP! z+n&NJIpxZyn=|Wfm#d58EcS(aEnlix0dVwov~8-dtMJmy(3EFMxjFsKkTkt73dr|e z{8-`V=Lc21nA72hp1?46)O0E)WJu-}7)tfq1{_uK8({3S;-I?AU9f2b@~-1eGP|jd z=5wx$tIeDUGCz<*seJB{h*B*bAiIZo{NsriV^=o67S_Z7vc8V%XZ&f@CznR!;~9V; zhBxxH8e0HgHTmfnX@;NfPPc_^LvENlB5Z+LycnQT{9#Z9%eD>^RlhGJy z0mU-!QR&xxj%Ut8j^{#NH_Zz4VEcQfUF=*6hjf1i zic~t19Q!4Imh5r&rZO{VeuWWsIB^P+R|xl~pfYSsV7S*?>3Acj!!Bu%qdgpvzeJAF z@0$j3??=7QYkPKST%5~3Y5L0N)_D0*I)4+zM``__~Q`+U? z`dyIBu?Rh`AusuCe{RR!AU}IGIqPqGZBETi&pq;kVeP#sbdG2|p=`UCVvqR2K~a7< zfXNjfTLVZ#Jcpg_xA1Phn#8RL4crqyoGk5Q9S4gD_{mN+Q|5-2v#+Ho>Ufh4Ws}uy$xtaW%b<$;)JiCE8pqWyoKiX>L zZ~M3^^ulSlp4dsv@H?bXYvxnQ+nbl%7_x!=hIM*H@qUIq|OC73LeCQr-Co zc8NyTOz#tVK7c?&_r!#Q$`8MnuG0(X4DIKZM|)zi|AAh?uw7`6^-~RNIPcpMk}*oL z0Z+^Go}j!dqU0JGc6(}lmhUmvNd4OUA7cQ?XALWOgs_e;^J-{Z@+Q8GhXxG{b40zW zfVmr&O=kgS#>-me?HaT(tyrGOA%GcrGPj$+|}%)g8Pt0Sh)4KLpP zIqMxWnVWF#eBo_L#=m?x$P09Ue!p*BO{_D5lUToR74j3yZr1)-%BAT9hKcCO*j|G~wTVqODf0z5CSnRGv-(mN? z!S0Ri>;yLJd#}=yAj~{D1Fu4!k6;2{dejK8M!!L8|48FKH0?Xt{P>qJB0We_-A13; zBhJ_8u9?%47BZ)MSE|xIl*;@7_KT^r0kjg-|2~SYSBr%v)1(F2p)w!Vp@m61zL7@f%10wlBb!iHwTr7D%Kkv5q00mRW>-EwZ$i&U^l#|AGrQk z$UpR4OVG7zYhd^>2KZOli>nz*p zzA8!~g9kNw$@1PYQIhIoN0yW#L}9$3gS|xNk+~PICvl6V5(mdLuyM(V>J1v4bp`^%JCwuLuxyI86|np}!<&9c4OVgg(M?Cu&CX^l8Chaun$(F64kl<9&hdcTBd zht!-OTix4c*DNS#D?Z-#$e>$(nQ^sJL!m9K+#kG}HJ(VlUL9PDQ@D#+h55s6+?(>} zj&}WU(#DR}LA2oZ3-o1I?o8AL{q_Bh-d61@!SyY1)GVDY9f$+*P?TwRh0?PqP*%6k z%Ist!Pe<)}r+vmxZ8Wb43$A;xhcF-O*Ujadc@6#wD?FQiS9cl;&Uv`t?V5JP#SQ9oArVD+b%p*$w zALbi*cX|$&o3;B1a%{w$!B8=)IJaSkD0`zGjDP2ioAU!IvW*zPuTVk30o~S#)+GWrD>HRF`7= zFQOS3*jimlAXhJxBf13)Ren=MH-0}BaA{NNj2*3gd0cO(bvV6;4!yEe*d`P%pD&wr z=w2IN#>>*|AZ>EV_S=x&Sfyqn4(;aryql@38rgp_7MgnT^GC*yP19Ci-ln9Tf30-d zEX=U({L1C`dG0a0d41QC{2^#nT4)X4`vNBb+<#52hnGX+G3Z!M{3)H!DCTtFss_jSfd}_Fb>#ZnSC+}TGOZyzqftuAl+o^T?_iuA6ui5g+ zw>R~(uTHtCbyZp|GKC_3!F4&J{`sorH1&%q+IEp^ZkSIzjNRM7*emVFh3aC*wLw{c zc(H!LSn?L-3P6kH2QHk)@Y~ek3SP)&sw${XnYh_n_qgrrn8DgL4rsFm~-D&`}J5~)7!A4G}lYP=E8h7iqAXq z09uK7Qn|IU@ogYJT2#Himwo-;A@SCCpM3OajqKKzI)w{DLY zkwiHWYw9KIWPffymD9~fA`puvG_R2L&@U6CW@DsZcD;qGrUE{OX+`l28oDkt8p){tZDr=5542j?F;5M2xF3;v^lFRipdy(qE0!Rr2)mykR{&l8-KTgVma!f@l0%Oj)j z3iIEYl5I4lTRt;pdGd)kHQTg7eETjF?_Ki*jP?IQA-B2QQzawsw)n7f=EfvmorP z_$^g9?_Ov9mvD7Qxj0}f?EdrEtPA5qlReAm{(QEj&T}{E(Qogyby&sGg}<=h19pQ~HaO3nTbVBpCnXLU8#3!M``w@7>ojjK| zPc5!dk(>KF-`MLUr8!LFnK?(tsj1ymu(a~qQ#{d=7k#!Xh>y`Ol;Ms&WU zM49zJ#m!a)cwjPXLTeZ^`0iRs_P3c^bVo+)44QZo)O!iqdQMdcAjUP=SQ88T*AICn`Or zckr{vqQC6tsA(uV*j@8J%#zhk#c~;b@mRW2E<3CWPZ-A2QDodvgG@i~NHK9=rXd++cL+Yfr-Z0c=mJUov}G7 zKdoMI1{UXPi3B20Z1@5|r*f7YFC!^iyx58V+_ZyJb&br1MiD99#uQAgE6x@~(-|@- z=4*OwR(C?TqFC@Y-*0=O-|c#npn4fWB5*S_APO-863pK&WyBL#6>io3)zle@^gmyv z_U{ zz;mj<1Xt|&+qe%*)&#j}@UcIwmNOfoKoBL`&AHD!PPmr)E;^mc)x~X`N2`bWbGQXG z37p5w%8z9ty^yuN1*&nLJwr}L@ZJjB+f%Mf37e)|j83WcU#fjSwptCMlQ8Rfj73NM z^wS^rs-07FC96VP`t8IqIWXdtJKr;U=T?GLBG0Hmp@9qoG~^*cy@01b4EI)Ilb8yc zyn0`4cu?U#gl_NcX$yc;kZ+WQXsfhdu%(fviH6_4Ir;g^lrYdrK>ZPoYmLbzyV}Vz zEUSxRTSgZW2Ik4MgZyK#)*I7e5qP}C1#*chf%yTv@oU9$xs9Ug3+|_Ejz2j7{>|q8 z0?+quCY@=Yz+a#PRtVl&dvj{dN=jI$b<~sc zzACjur2Nuk=U(a6{c_$>X)U8F!X@n>g2WJ`|J6fjC9g&jl;>AFf^=bxAu!ej($7Z!i&NlV@CDcDYT_fuR}_W z>NQE9g#vI8N~>D6d0#Z!dJ%?EPv#lM62533iU&i!<#?Mo1TmQdbIkb+u?pxA*gJh`@jZ)F#dpWyt4&D^`lq)g!5+)j6JD30pZ zyEaDqc`(BCu~89iaelyzkh6T3f=|0nb!uh8e1|9OLgoDKuuxoGsHrF(D-=}j4~;KC zi`vWme4}M>-!E^An@&}biC6B$IK6;(YWmhJq@2N(H&l_dk&g!>JZGm5iz2wTQfA9| zCam~&NvIW`;w8;Bi}QDSp0uY^z4I*C;Mk^a^aP5nL%@QH*A?W)EdRDwhkK>x=67v< zyQxX9UqeZh;em21-#{Slh$>wVa+nL2>`ozZ@*-Y0Ro5Ttx` zT!A0%r1W=D98Wijzm+9H4I$SzW6IKB?@+kbYiq!g6GmT$qu+_g#)n(wY?8(7&RJ19Dsa9m?z(mo9$~)}YmNf1R(IlXmkF7NYzmrr?d- z`8eFWLZF}7F~=N^on6=2#Bl(FH=_Pdp8N!ArJkymk1f0OW+ATKHT!GhZ1);fda}y! zBzpo{)7Pn499}mO-k;oCd)#$$rSK|TlJQx_U_J)%q5(2HX_HgGZ00a6gzSt*H`1hZ z_;a#u{$+iXASgk+bT@7n2Ne<_)kD6v-s)VGw1CfDTIGjP^O~%#x6P$H<4blWli#R2 zs$b>+VxF!be=W=`x?(Z+g2r4w-WU4RwP|+2w>*Uz z?5|i`9Jy`WlWZiUv@4Qw!uQt;ye)U6E((P9Yr3cL6n(e)6!^8GeNK;1v>FfVb6 z>P%)$fjMhV9eMU}lBZp9I-7~qRod-cI4pnP9=ydmhw>nMs+!J=qSnk4RhN$&jn{pq zfZiO*N9ixvtej4N>uG>1m9C4{ebNXmt!IT}mg;@u6rs~*ap-5qb?J1NZOk0Ia+7;& zS^(0WyIU?aNOtA>&J~pI4@=5b_^jLf`cDW=M?(`$(!k4Co_wc&3FNq4Q?Ci=Xof4~ z?w6L?_tiZ5Zd~3VtrakAin;A`_t&R-Q$nqCt-GHT`-8vXenN%}++H6W#U%#%UJ!2$ z*4i~-QGJc}p-FbeL${rD*7~obWUVh(mH4#z1_w?xh3NHYKY%XYZ2{sjlH5NC4{o3H z4HYlTXu2cwGp@WpR4qXy1votdL3hy9<`H`EuJ6BAcdq!ozn2q`+s?KRc#l#cSzggC zD5XmZ8s^6BTIVOY-@!;3V-koYHfzOHr))J*<>p%iLgP! zx3Uwmo}=bleXCU<7DC|^;q*hUlf)aM;tfWuX8|qg%sK&~HlTlR7eA5G2GuKGUe90m zHfqwbJtqc}Si*Yam3_~{EpN%3w!=DaEb`bgPBr+9J+&#`_;xO){YOag$*&TK1ZF>1-tBtl2($gpH{DvJl@+^S`zC}7!|0;^>cW@ z2T9&zzX5&=X7GfmF5-y`9dNf&2cDs9+=cbR!pu=~yxf`3T)N=ayGrXFKtiBEDh^S2 zQ_9w(DRR}5IEa5i^gKU z1n!_J6@_aa^({b`n3G+=(~F=B_kB2g`H}WJ6f)KP>5pye@xp4>A$KyR>*H@Es>^(D zGirpwaZ7ZS3CbOxgY~X6Xjm)zgf;GJw^yxNhuOLFgOcqohSfG)gQy<_9nG)b z@UFB<;D5;dk&U}p`}>VH@K(j&0=yfg+ps!58R{@sYBdJ!sHQ$AN46YH%CagE^=Q-2 zEy13vYK7N@Ne&DCaYM-1-`;0ajKq-brQ9>tG<6_8c8Mx2ncVOKpfdPd7|U4;D`aO? zk`u_pZKF341~aMpY1}^hLicGF@k(h?9-PdVx-K@3O%(iPPwu&F&L1V@4qYxZF`o+H zD6V8vdyF;~qvMtS{&GWW1@}2yyJOhDOiZWzKs6vX)$zj)uMNl=TKXI{l9H#Dy8b@h zS-<*++$WdwbtCdZFcOHr=4F>e>dZeM$K(@VRzinVXm@ye1;68=(Ko!9Pzz4-$P4A6 zn}^92>JrJS!EO+)cKxo`rp9FD-S8S)HO4qbU8q;tC5QU`@o6LN?N1*J;w2AdxL@_c z+CH=wH2V%@YN|=!}IRaXCP^RW1M#TWd(yu`12qa#c5l7 zGHBHgGN?By=f7p6Q|t_n5KTK--DQ*u*iz++5Q}P_X#I4hTigwr_OKbc6G=D^cMr8X zx};xwcETf4syS8c_LfS6O=Ha+_-ORJa;peTqoo^DgW5GF`aqE&X@B1r9D5p}d zuintc=?L|TeuztZb~_rJM*U$wyekN4oP%JP`&71O&@i0d-{%#)I~!k z+Ua^z{{|(7`g*19X@$^6RZu?HOZSLkcQEK3#dN&E=9efd^oZ@BC7*ce0?oD#iS&fluF|g902)pFQa9cT`( z?aur;XoKXvrq11sSp#l(Mc&SH5!3zEmzKQGJ+GHTU7lnGn17vlB*B&eKRVKbbTJNn z_h!$u-3{8N`R5u}p7-5>eFA+elNbJDwub);-UBwUebdd=%aY9*WL+Ms_Vym)#kf~w z?(-X__T|DgfdKJ-vHMH&__W(vP`OGxSZz_F3K(>HaDH%|3CzbT!~5I+l3*I_M zX}FKZuAZM&txRX4m$-ZR%j5}NZv5HnXy|LJg+x$iIIsV!`O>}F zCm!LkGM`R*v*eiYbEA^L*vzWCNe;S;Kwf$cNo)vNHyVsMQGUPtL=HSR#j;Dmdw+jJ zD^kzgRe3Dk@Wy9JZDvHfL`O?jx=+&hH@f?dz(pDNhy{arx!Yst`S z-%z!2dEYHf{-&$O#Hn5NzQz8++@=E1{WU6ioZE4XAzewBjP zYya5-JSA926)1ECY2$sl9-*5+j9c;vp$ricnscfukMhL_cB~tv7JdmAce*;eu!F`f zsj%UwD9|mOri9%ETDHFzsKXq_cuYKSAqv0GLw9QqMr*(hYMja_F#?b3yX7}JuuDSZ z*;=yt$?9*7D1VR8uB;Wf>lLf3#r)mkVS+y;R`!ilDipweK={R$>4*Qj7l<(q2$t5} zQZY0 zmTL>^7nUQzHWW0%M~|ItaRG)6l=04y8QlJ%O0S4~=~cW@dR=OnfaAB zyG zz4aaJm~7FgMgExmMw_5cJXhoDoZSCDwXpXpf0}dNk9re}{w_z=wYyHu)!AE5ZTKX6 zPHo+-4uwXeQ;u-X;@ds8%+DyktBwx4`WbE@kJSTu7ES1o=0DTzEMjMa&tB_>)KIPr1u8=PRp$gzBC)#Q*qJ(r%nu*t6wPsq1N zO?>NA92!;<(W*bz3^*8KM%-1~i{N|Ad%yASN3Ov?7;?+v6=Ax}=g#*$?|h5(quQR< z?S6g`QREbE7TB5}`TNhbtMi$19a+s+yLBD^CON)!EPs%!(pI_JyHTqueVA3`mwZ9( zZP+hI&R&Y2eQT3P$nin6t&}9ldgQUvq}uWm?L0TNl9+L$Uu^}y7oLs#K)?>AG#p{h zfL%@A?TjgQmcT+NmloG$xg@Cjzb^4TVS!gMN*=}+izC8d2-0a(rh`vAhH{Ltp=ctR zDPYuN@X|Qd5U*A$J#U7B;PA9$AlKaiz|zR-2!#fJV{dMMSYcMG@hZo8{O{BLdmNzv zJFDi~kIEfBI7F^Fo^{dn;SQT0irr7ozoRbK;x^&0(8(a${`Omn%+|bZun%w9-oq1S zyjVXij7FJgh{JqWhcC886#KrO+hB2TO_)vL)?MB@&G%~&F1=d>{%Xp;$g|z|+TJ_} z2)D91&R?rJYdlLpw>!C81+Pm#wSE$?&hCp|8wKD%nTmv^mni6 zd1YX~SPjZx(MoRz;+@xC2{;ksYk^reqkYt1g8XQ9?@T!59^H&WGF0v*&4s2lx!+uK z%y79>KAN~nVLD0}r}4`5y5wFHeFGlPDM_wwhltq06ICB z)WKjoxm?6QSOBk`*GZ7LIE0>`ix4Dvt)OhLMN7<-Dk_{jh&~QJ!{G zJJWC<#KXf+oJ{NVRo;i7ucWNDcn8s*o)qM!o8^RXNqCFqN!|**w|LR^Nm4I$u(>a`zSB#e*eXboaH~sKrjzBqRjQss>O63G5-_Eo9rjqGh zbIy%hs}KxvDDz=V4d^gDewt|ha?^d7FQz+Y0d@y&qWx{Hb{>lyVCJl87U^{u0G;6d zLh%Q?^>fP-uc%YHOoGhtJm-3#SFPkbEc1B&$;#%NPYWVaiDuwb#iP-QW?P$ycQO~u zKYzur6Cfx+6boc1PM{e#WyJzJt!LAbY*;{8hB?gjULINI3w@ny9%`BD=S-F(bR{B| znU&AntJpoXx}U`W!Zzr`uEr!NK6#ht5UYA4FELLneRl^Ou2Wvg6mC@Sz5W_zv+Fk7 zkN}Q{AAq&Oj<5K)C<@R1lKKZ{+P4ao<*y~o$L^i*0Rez|-dnC!UqQJkkT2K!?f#lD zU4+;8w9%RSy>4V;!*@$Y&MPpG00ea@7?)uNE8*9>vHAKX#T*R(!-tc-Q{IUCVsr6| z>-{jNc+=kaQr;A{i&gs~jw`n_&`@tAl)V}*H<34$P?yi6TfXH%F^>)?8<;SMLO5`q z@|+%w!NPqEh=~p*{H?dF;o2R3V$q*A?$Fv_7P&DqmnH zKF4?B$S5pfGeV2}0vTl6A$vXvmCAPWP=Lj!cQUs1o6yywq}AE#{MRPe9#an3rr4b` zSX)x&P(Qn=?TFmp{C!ue-3t?eINf&^<$6bqf5CZ7f${qKu(xLOoQ)|36rsuOpuile}?UR0;C(~Z)`k}S* z?ce#|GsgRRdMwiH;M{me*ohJ3P>^rR?C;WCFWm0YIA5^+ou$q)oRih&{ruEQzi1rd z#4mj=0v}A5$qbqG%$Cq!U`Id=LJYFq*)rmqmxNV^h^q_| z!(80*C#%75OQp#a_PM1irY2LwKs3!0Tx?b522zXa-r9#+Os8rr{H_Uf>jUR(bYa?K ze1^aPs4;TTD(xy3`-heh2QWk}Q36&vHu#R+-GD2F3{AhUBee+@8B5`n$t@`F2`FCM z^qj2KpZAAd-y4SU((jN#e!=&e2MkOg+g;j)Z)HwSve!zNj$!6JE9LjTOvq1VZhns+ zq9Jk<{{4fI?BXY}N#{r@lgnICkomI+%v<`yv^Ipw%`B~s;Euj=vW zg2!!xEpozci$8RM8dc$qe7!0(gd6+p@;q|&*EDaA`-i;p*S~b2v9{YJ7HHj^fKfO5|Ux8cbt&IU)8NiLY7dvsDIiA^T9Y{jCTn zYvf4_HoUGHzKdDB6+m7Tb#h7J;<(ur+mfH2j(4*ZtccGqq8u|406E_Z8SB~Np@5CG z8`pL|;Y1LEkls@K-mL#gMsn6iyH+o~TnCPGe$grayd``qM}UIud>a!yufCqz~AF&yy~Bs z*T;fA?*T2Gul(AZ_)J6QYN+V50ox&cYUH_)@GC==1%we;-;U*uByN ztnCaHeTj+1h-O|#I+EAnh|V6-rn1RRTR=;xt}`rSLoWVZ%`d^_x0R_Nf3nz&K$g?V zQ{wDfuN%;b&vPul%r3!HJ{=qV`?4>0xf`4=D5mD^%s=u+U&<+))#f^GFs@0k>hVVW z`TSk#T>A9}*Nsup*Lmw3BkEj-Us&f|d{Hh99aX@wwC8!I8>rtwN1v(UWwEX#r8)yy zkB@C{fz*nkethiBrN?Hyx1MK_JYpJa+_jy8r8aA6782jKqoq<1c?Q;_sy}N0 zLxzcff<)o8oO<|x2!Ce!EIg%j^JA<(KTam3#^r8F&S{*6*Mm`WLr>2P!-syQ-W~*_ z6IfR#)L%^9c*t1nMACnebyC(F*D|dXp#*%`@8fr~cUy78N#W1_q*u>k`*A%J1^tkX zic@bgc^yT6V_MEe;>6mmPW0{RPJ8lhOMw$?D3w1`@3RG1QR{TyAmi{h3wz`u>u>kv zS7^o8Gd^6k-IX`{opLCWHFvO23i91DdLQgBK=E|G{T|uqeZuFXf|swiTen(0?S6bq zXgl_@x`jMUW@xw43sAOSFh_6e;R?I_1>e@KaqRzUNV+~lh^f|Op2NT8ee=;_ODwA` zN1wZT)I3m02QT)8)UA%)%?~oJue1dpnu|6Hxz)CP7|TwhlftC8_NT~VWvh>vH#!A6 z7EW%Q4r#!8EPv)Yt?bWnsj2GT{U7ZN?MB0?oXQE|yVd^o;0*OE8x*w68OH{BISE^) zZlK=pI4uk(d}L^^_vv;fU|Zc3)8Ensx%&2&>MF2m%7V|ir|o^mrq{kABE$RSbTiFa z;Fp^%zXQJ;uMi%nztfB3^=W3JY})R*2#(qZ^iT7)Q@V5Cf7W*NOy{cs$mMtG_Kc<} zUt6E2_PmJFGF~wywsie)6K{+o^?@gT+sL8dF^AkZcGt89_g%ZU5kjmJM_1Muhj2aXvyuru0^Mx{OCSUr=?MaAH*Zk zAM1_mWq(FtVYA6vrTU^hBTLRIV(LZoPhWS#&pO-3rHc670m6ibedUqUi)o3)+Xni$ zkvVmET-EeptTA}F?8;a3NxKL}E6mrZm+Hemu~yiP-M{0IXNN@x%+}}rS`*vTt>eEK zl&+w4o0{IAis@laqw$3Un*g(m0Z>;}pZDprQ3}Q8pm=hgA#grV@t?FmBrCwgm#8&% zyQ}u1(+C2y1gP~te?iR$EF=%Gxc1P__X$DcFqmA{L4wgy_swFE(anl#%LTpkenGby zg$7s-t~M>mc3Oe_PoZvvnF;%d*LT*(opJ9yo8RLGeguJ~`;E$O;bIn#iMQreTR9r5 z2~&8PU;K67D1BkKdCxx$exjU5cydK^wbl}WE)ObDH(cy|uJw5S_rvB;068BtsRxFe zb+^@=)Br|0RN!#2=19IQx=naV#7&sderefbob6wM;5M&@Ls<5q~@p|#B) zqw^v|F4s@6U1#az%jDllWs=<{txn5+bfJmUTEz5loOXAm18qN`#i=RJ2%TdC8{J&! zpE>m})5GkZHA4^BjI+m`g3};^NQs+a{H_XocV0Ov;0uLP7Crkqerx<+dA$ zH&Y+&s5izAdc3KPpS2+2{(_1ae=mCm1PWxnrcNWE#T0tp%j4|lo(wAWu-+720}oCY z7L@|_WqItlpKJOpPLM%~+tR#3^HT(D;fo?{!{9Xxpj|R1Dtw~7f6nPG zo1a;-1pliI^s2Uku8@)!uC0WHRXrf>PCYo9*&Tk73SRojT~20W9wSuN< z`UMLcdDVGPuC8Y&d>gnj77|=)mb9AN+r>boj{sr%kP-sSjXfPy05h@{3gk&D#`TzS`@3;MB?X{jK>h8ME z^Ej6L>u(Q%53==Zec2c3mu+}p+ziFgvm9s7s!a;1NS@&A2Rs!6neSZ3?`}59IRn$2 zU!tB;naxO;FP8KEPn-F>K2aZD$HDi}gXc@#+ucd_sF<{Z;hoDqI-E#(U6hN%pS;SI zdWVLppSzP>cC52h6Pexw2i$9A2{ra4+iJ`v3b3&j*OM?jR-dFhv<0GoPpIR*S^DLI z74f8QF`W6?3SGS`u!++cv=l8_MskiXteQ_6VNP%#idyPix_W(aS$5CmTrkqOZOuFG z&qTH}ocPQEneaAblXmH9ySZ!7IkACkOtUUX(|0b-pXDQ*F1C;pP}DBCLx3@yU#r5v z8bNP)etjkTQG4N;t+~2g{U%;4I@i65&u){+YFdRV{Dlsz_qHm1CbbBWg`B6aZ~i$? zAp!dCiB7U3KeceMvsN&N;XNwX?%yN}%KsUr(Da;$+!Jok+lf|am4@PB*Av_*u+?cJ zfYJM$Ud$fGeU6bMkw$pQs?a4FL-5gh!ODhrh2Uy=v9~V5+=RjHvm64}4X#VS=`7iY zmt5~bqg(XGFyAqrY^K;f|0jmcBP@P;nk9x})97q!dP?t>;@<;OP{l*nHr`)EAw{{{ zvq$y!$sMkw$CvgrlANL2#NJcd<$H$|0q_$#$|1T2Wa(MNw6<20WbC^6`_asM|C)b~ z*WQ@!%I(TB=Qqbw5mGs`hh{0$;$nUHLi-Q$9eUEtM%`WUv)xVu!re|>AYdX1D{9+C zbM}O7weD!U+|AKDWhFvUi_oR9cJOmm)p+Sh90@p_O0_X#x~%x*9nUFStR&OxmA#Q*6W$0u(4(3@qoY&a?h zL|@?P9l9PO?^*~b8py*COuD+s5}>LtNwib(s;E)#;ZQ>?dOFM9cKoXr9MI`*Ofk%3 z4I~r2-~HZ-#*y_m8De~@9c}Y(m;C1&*5X#~7XuT&>IJtuy_J{0Rp)`j6i%~fGfq~Q zw3HW0U{%wBliS~jlRn$$tLY|noGGKt+~d5ITw2ph3Ygz&iKy>3cEgW1w~zLz z?t|ZlE|{OkS_|Hd$Eq7(h?POvVlaUd>~>}svPmmPPiNL-c%Ff`PP4$q zqjxf|zJU0V(a%l8=`_0c2z?l+*L4B1;?uMdJvtPayQsN{8?2utd!29R8QNYW3p`(( zTws$}RU8xkz^;|cZ-T+lNWkU=p}fP1r*G=80>Vq6nR$pRbww^S+sc7A2WAsA8ehTI#W zo=wTYbC%x-hpIAyozK}hzc|*P)YcQ{GLq>ADr^QAtn=6hyjtrL^FFvq9jNcIhme_u|cFXR>?t>hU*&YNRy(t?!@1ORJtrm>Bms%w*8-`9R&(?$Xx%PSQBM3c0!9 zjc)0Bh0}xD>5tq_3bT_oCD-V9dC*fK>YE$`jC(j+HjbRs8@@_DHkvlpoYk*Ktq{nDGc-E-^Sw^}Y=kuWE<>OI`=+WF+hubyEW!n!y? z8r|Kqdf%uBK)m2Qrrc%UAti0s-YB3~?yDtBImY7rA#qu;FlWjN+V)VARC^7CXeMz? zY~~htGCw=^Csm5QqMAtS%mI5|p`EW(-sg)=uiLU)Qr-imY1T;P0H0)#hOE9J?rF{F zWMaPP%uyb1oCqC;+8WgYAYvhSo;s!iYzGj}T^fJ8l;~v3&Uf(A{x$hTG#SO0A3CVT zUkv}C(u(-J=rv@rQBC58O639j%0S$;sZU{a{t248*|_^D`yDxfg! zp(9iDlK48bYw*_Eq9)Fv+GzFh9UXf&{(bYeVT~&<^22l^PN!L=uo_&9CkC|zvtBCb zn%w(+S0(91d$VUWnGANs;2v+@%BV&TZplRs)ql>%IFX&ShLsi9?sy%&?!VQTEU3h$ zv9$5f>E&fu$*=)L{-5?15Gdd7s)u9)0dvfSDeLT_7Ah z9aQd>#-09E?=ZE_YFFJUq_wN)v5UW(_pJKcd0rTl9*z>T<3>_gblPoM0@kAwctgQt z%TaVwrfFUuCZ9EKHX?6b-WdA3(pr6At~?980l)(I`d^OTD*^q3Qy*I+FNgeqS&W?+ z?QDP@#X;-PF3?-YC}W5d zItnDEz8*|{zxxFJD-IgBPxP+=QEe=;e%yR1Vfe^)%VYh(BfSw*FD>-8q_Uf+h4dv6 z)MkRx*IwGjfkv=4EyW_?;oEpR29M5>SQwR=xIfOK??COZ$1*}_%Uo}61XFM)q;R$* zhl9Th@JbkE^b5q=f;V=y`asFes&tuC%S*?_oRKC{&qH+u{(*Fe!Y zA-a0m$d;aCvOmHsR*=b8Xe+%{d5QYX*`PbqVG4(x&T_7rKipEhf51B9si#kt7Xc1A zz}Wr`nyzeAg+2dc0chSF{F`PJ%+|3rfSLMAMCDua*%|kwRpTw+KG)Z)RGeLlt14Jb z;at#YG6@k;aDp9%utP2h`4UyL4>zb9E$}aL{8aeoxfoqPe@s-Ig13yRmHU|6K#NyL zDy=9kS#^X?^UBvhyF%2+>XT#5XK#Ak#lAtQYu7TMW)94s|LSvHc(0VIqeL-8a{I^q z?(bQog-NoFnYF1Hjc}-d ziR$$|nRa8i?zN?Bjodc}z3_o~z=Oqp5A)vWxcU2Yu6TmlQqP}i@Y)gWhwi)U)wM2m zi)H1if#L*K@x~cL-d+Xm@N~C6t!o`^rp=VR+o{Cu7MoBt$3m9D{3Fh0rP5nh((b=~ z<#v4dY~^ipd#V;>2mAwM%kLe==NR@^AQLE?z2E)X85ZxRbr$YL(ag!S;u$vSefO_Y zKkt;YDBbJxUtg$0U5L6&Qr9|T?}a)>4woDK(zG3%E$cuv!`(2+E3Zv$`Z5RhHE9mG z{tT0eX`hjn^>gL6f{)RnpU+(J;$E9mU;` z?ihbhb7l7^?Krq6>)64o-86D!1qYDAL_GQZy^7P3>D^y-<&54?Xb2PFgF zy?UmJ-->^;F0#+j5NRY)r3Z80ATi8qiXbOh(=d9dLZQV-0*-EHV^FK+^I#GtUX!qliYE5 zYa8b-Ga#m?9$j5Oaa)9F50eo!$R|5;3Fsyh6>Q^T>92=cclIMI+|m{wJ2!wIazz&n z=M94xyZ2YG^vm^%Es<3YbT}!w4O*b~Yp}UvgitFWL4cjekC7TP;NQ)XeVZ?a-)$Mv z9q63LXo97YuLDr)%dWX#AVV1O?hPjOpV42VURaH=r4P{m5HZwdxiHyb>k)UhnL`_R zZZ(u$6o~b%-;NA4`DNVrklvpcZ=Cn+#p^nO!zG;g>r26^j@S9@^$Fo{$V5W`T@735 zRTj6C@7zC=KPC;oFf+S7zn8r{Q?TXQ8e{vOE{K5A_3=w<*&VDmr%E5aTmYBRIwUoQ zZymyit8v_=Q-q%dd5)voc0{lnVmPVjvwiDW8>z=!>?Pu=nT69<=j!KWDOl8vN7HuB zUpRK0Na8!&DEC2q?@f}==v}uv@#bJMwo}J-NF1@1<3nqFD8A%j)UT|MWgnti|tJ?Y&z}3mPlJTO*&9)#h`;jF=UOeQae8-~0Naq~=zl zTwY#U5<=rY)H|t3EdkocG6xO4E6ia=0vYn|_|vny1ss3OH;4)O#Wk{Dn}W`%D#{_%ChwLS;fSn%<-*g_D0Hk2mnDle$%FD9&{>j z>eJlL@Va5pe1CdK|Mv{9+l zsx=RrMDhE0aEH!C$IkC6gr}nukz<#ixmS*E(qz7c)A-;|EB+wASe&-LN%XGv+U%n= zpWj(~4EbZhrx?`WUoq0HfujoB#*L5uDxK+@x1qilzfaxlX}7znf3MyAX7y7~_aEPi z18MoZ&d}N+g7X9q8{UMt$&Oon#Hll0Dgt=iq;N9V!AS-w%2oLYGX|+7aJg>dmoD6gfQB<)jeKq8SH1Q21Ax=`}&Tp7jGdNhfS+BuD5sV*;o@! zfZ|y$$ktBm>8hK9L$|^t&(GyePvJgBW8}fAFK211Y52&XJFY?a8UUAiiEm?MeFQgE zK?IT;Zhl+O_Ee+XiPO5(`WvR!%>7jhN~&|qzGCO{-CL++yF&TguNc!kC!fY$Nj&o7 zD&+aI;ryG>=sSJ&fLj9+@+7*`*gtv zdo})^Mqz4bYV&m3?bj<7qvX4~feLZ~^o@7#;7G(O9zYsuk`}2CtUqSb%P2ls=N7$N z*1lh&dmqrE^--wq*W1a>-HxNtq5YX|S9vp<I^7$Nuv32%Yh*HH%t=RJ zKFn9@!+OQ;_K)Fky2c48uHj*$;^ts-bv!J0nAIs_8q^ zN4Aq(@}8i*in`O=e}i8SJhn!}E#Dnb*d2q*ZGzUM9K7*a$5#WGkp8$)TG2x3fdg=O zF=O42I}eEyQJgu|=J0CV4wCEAUd3WlZSI2NaWwrW!(I2d%el>+4_P6VD(a$5tLHE) zYt!xhn1Z}lyCc_93tG?6SF!A}-f4HP1@Ys|MhGnbCvNrjC-o27`6$?y1b66J4R5s5 z-7OAF^mlt$c<-*-ojLVaYez@u@^D5RAX5r5TQ2D0!!f((tLnl;cu&~yeW?#pF3=o- zwP`4}8WZd|#!>C?`QGA6tNT8wSsQANa@l6+OZUC(SFO=sOHg|hTCf&CyFZ_BUp@&b zojH+)Zz{+WUT=5%R?*5gcG#3?cTAXFRN5N!g5zfY6*;`smSnUiHx8aVWt;t6Fn?Lo zR83ar+Yx?_0#h9r5=!T3+|ZZ#>*<4M)^_uC!MvLgAY5t8!-iIR4mfyxQwTcRRI^v) zvM_~j2`Tbcl^d~$;{;waCY;46vgz3dN z%Mu&slhLySfV(vM+M)Z``ja596?_!@yZV=|$L~-}wZrjW%ayp#Gau`Nzy2B&v5V1C zQ-9i664=SDP}gW#ym$a+&`hjeU%fs~F%s<58J;bPvM+HmVS#0rw{3#_+oR1A4ES!D zs{`li&?He|Zgin^kv_F5S{;;mv&PK|j*Y9-d*Ke)I(m4iOb#*zV{zzzlN{a6=5JMr z0o$@=;g<5O&)e?>zktiIeFSF-p~! zM(;i15p4T&r_QPEWZQO!X5oDt785Hk_Lc9uR|GEBp!Wy^Zbds1Xer4XTCX8>p?Cvy zD!f@R&83u`ox-o)^kk{jT-B%eCN0k~4`4+JgT4Qh?Z$Z|#G%{O(`jCK+E`kd(Ca5< zofHAWydEpifFZ{WOf5TA$VP*tlns z?P65c=chs60zM-0E=0EwTz;o~pIf|Y1*`NeSN7&nG&}ve&r%%1tm(7H&h9@W9KUZ) z9pJIj`eh4of_55k=dUc>iUacMET9T?6K{yEmbfm|cWu1w*ZIQ~c@&~|UO^<5y`%kXds~#x1Hh<9-hb z*+4xzI={}3Mezj7n_~?2SS0X1cG*{_PI*w5B6D`_2;b1!?(RwJK&!!58Q@OeMkj?Nl__SuN=>n$DoU(|oFp08uIVdz$EA!72K+HdD9X(bYG}Q8JH9my_d-dGG2xy3-X8+WA-gn$5k6j$8riscG^4#GR z9y; z>ZhQJ+rP2f)XhSVT@vG4t#(ij<_U^IjRv89FV|lFg^_sj=Hj1yv1_Av2~)TnNsf?& z8rN&X%t356{Y%$vv^3)1_#j61oq40tt>IZuaqDzvep%P{=I3YcFOuC;M!TYefEaA( zpDN)kEsH2jv7KLuE|0*=vcnhpLBzBQJdyXil&ffdnF+^j`iHBJNo_K-TIQ-hULT+9 z0Z5AfEv5bbD!*>;^wq4K$8{WN>9C)FyxJq7MBbGifb}ohuD6Exa$+V+I^&g`zvkvu zv{<>pci+0$Ws1waJA}EJ%sscN2^pK49`fo)DP9h}r6HZxv}T2@@0{TIpDJPM5?YAmy-fQiC?st*f+t!S$yp>`354kM{_;$BB3Gi-zzfFD~9DE1J z74q)?470Zx_aIIPL|)Lu7(KtR-@?1gWUFq+t@)(5N8P#oX{t!6g-oNlHeg(d&5D9c*c3Fu9hk+$MU-WCDc5th9V)5|TFLDhyHe!~MCwr9cz8x8S`G zeuJ(T)Xc%1{*L^^#2(fgdKU)&^R@M!%y0_&$U>vm)(cfaR_62Nur}fu<~&q(U^|{|#9&9<%|~b~)APZyFEC=OU`Ls{gqs^>)LQ1)39InL6r){)^J@d zyOq1rNv7cRDl{wVN2;GZAUn55kOaTea}(q9*?|B(iTz8lb>7Ma{eI6l~>lk#*f;bxh@Xh{wK2L1+si=3VmSdZeWg=V^1?aYK`rMIgu4{1+oRK zlABt_uR428urWT5cew+EFB$FPX%EjmJugJshpT@VJYfZmmI$PQEuS*sU^6<{!@aU* zo0szAm(J%KpB`(&yfdLS@!FDJe4jJ3C-_$t$b5l)yl!y{Zn*$Nk>P zd(`pPIJKUTy4m#GmJG%dM9E=3b-yVOEq&lK-1ZWk;I`6hfTHws`-@b{s4>|(V{%W}t$B2ahNdOP${$%euE!A%CV z2`ZT8_~6W#@h*yME>lQ@v#?d-x@r-}Xmaq#qWlmjQp*I8%ZMkgG5R!bZtcs2u(4XT zoA$7xdfOWQ2%n8%hx_zS@3Q4~x?Uq_*MI%@^H0#_ds_VSSYZxq^?ZJ8s9?+)N@O%; z%FJQ=ITy=bMos)iKW=krWyGW(>h{lVQw%`B3a9aF^#%yD!K3PZOMWj$3^Pw^Z4Q;` z=;+V8h6Ey)4-^kqxPdH#`LA;80nIc+0S>N%}VS9k~$)7kI>=(r4 zRoxxRvb~(^Hl9X;NR`{nXRG|t3< zy1wsjdfPhBci?iWgVlarbLM?`ib?u$zb!FEpjOb_b*u>I{SZj}H%2N20x+7J>M*GV zSQL(XtAeWi)ZG9aqZI6tn&l|?)KDE^@mp;6h9huGF9s*o>Ja$;;^_c$NsUIoLcsfr zD=p{CGO_zji9vkNefH<*(m#_))Js*+)14(5SF9KopgN^kn^UTkKYLFYzR#8GB!uYG z+gV?v36Ia4QqT7rlT{`toQ9J>??7Qk%QjSyfp~7_m#gMixoF9jscyf}~>Ug zHJ!Jd!tb_65Bn|o5lCGc&SUdN^*gohIezFhi5H{i->2g`Q{AGUMLZ%8J1ucZ4j&;q z$jn($>LaAfs1udi@*sAB@g13!vU-PlWW}G@0PNX(RWW{r321us73_dkdKg@G z8-gEoV)?x3`7f>Zw_SVXzO$f_YaAuh11Uf=VScSV zyShoK&~6hs?zQIViGZUpfvJ+;4UJiKRPCo&Qk#DCkk1(eP1Ai zw?z`I0$_%Ah|%9gg)O~e=M*y>$%}TLO6() z3T=Z$7kXbWk|RI6sDE2q6MT-&3wG{8LheGuzGY<`75WL_uFlE%r%r$Bo4I%AJ4G4AQ(OHyN%{CIQ|TYJ>VU(*M&ud3WBEIL;CWUHGF?4o#2;Jep>Y{c z)X~pP&1PKj%z3G|67ecQ^JGE$(23O`njIB&8+B++X|)W2N$(j(s)Bc~Jm2uUdp)oZ zTE0e9bI8?7pS9n$*x=jBi10H_&f_go&L*HF5AHb@)Oy!GY-cDjom}okI@@>y*zGYe z@0xV0j%?1(pTEj*kv?7cTc#W$_Kz@}JzhpPP%H`O@ApNtPuIvhzVEr`qm)Z3cS`uy zcJvDu_a++W*&>#}g2a>rs-Iyo?2!A1n{!#Y-z`)Z{~fUMLrkn5yF%`8J+ z;n=uO!ZrbJe;X&n)Kx z!Q?j{$OHny)Ok3B#qoB!AkX6@>K4!I38EmJJ~SU+5k}0Agrszzx%S^5Hwf_??6Ovs zeH%jnG})as)rBxuyMzwm$Su| z4Gu(K1c)fM%icy-x*wrX-hcB7;H%~XF zi`!)@|5>#Br@9qX9w!Ch0#@VR@I4v9>EbhJ<*^3PQeff9SITIkhf2%y@22}*BpXD%bdKVkI*2!<~!u^SFTf%F&_B2{K5Cyx<+bl1T;3h;oqh=`8<-| z6CocTk$haPtU+BsUWbWMKFQVhpMIK$^ybK$-U#W=2iZST>-!Zt@8UypFmt@s;h?7F z^8-tTWT+UY9yC4oi?khk@8Wo6_-)8JaBc}N9!ur}UKGT%JRHxua`V~$`_k3mG@3D5 zeHT{WmA;T~FR3&YrXB;=1%ncBYw?!S`6UnFieR!VY|VyAzNTMkeY>RBdEsG?W@S2? zf4|k`72DberL41pTzW$kdXv3|??yD0LE#ENapjRN!w?)QP&Wqf0L zu{c0jp|n)uOAoq-3j+o>MzID|jLX>iwtB0$F%WE@fDPuVoIg)a|KJdzH9%7kLI*}T z7@sJ}N{$j_F=y{J^Wkorn)a^Az8Vvu1D4F*ieZh>{vsOfdqWuy&2OO<1;j&V&yfs9 zxkqAt`J2>B^xn@nesO9rjUnjyd2Q7~*Qp4OF`?mK9s(O?LEtH%O~yx@Wbyl zGQN{Tz5oT_v$biv#~aqbORW+1QqJmVwRvuS0t)=WK@ZAJ@EO~J>F=8JRLdaOQha|G zo5Fqfub#ABbiT!6X}xZ(rNh1xy?%({4__@#wjR3%+0@mdsM?j@zU&Wzh|LuZNH~Vf zH}C&7`2GRR(bN;%j}8H+i^p=<&IVX_u_+uO7QQZ>;-0_oi4`QL2(`jvI#}xVa@8Kw zMcMeWN}z9KX~8$MhMhLKh&xwfs~|xVMX*MGb8(8Be?-#TFwHWVt0egJ$HH|%jK+bf z6(%edqw{H6dp%EshS_7V-cLKqoOBs)1){^$h_@5hop|hc%TwuEN;t8?!A2k##i-4W z54-DC(H`A)xVA*SQEKBH!ZOR{J2e*zn2yR%E4|QGG{5YeXT^pZ714NIHh+&(#}4`_ zhmg(6RqkD zRLfPP_TKMD$@iI^i=RPNE&NS7)+_{IulUyR>FcIU{>JMj(<^6dqs4bi`%RDfMRIA= zS^Gc;W5<~_*-SW=w8ZZX=KQ(x;P^Hc21@jg+9}~*(uKOnf5qsq_OHt5HHGx;sNbd< z^s*LbpzL(F7yR2Bp1cyBvCT!CJ*;xs;i`&j#CJwu%Eij#(N;c-Mmp7d_d51>gq=mL zOBzjYQa6nRjiQcQR})cqUsl}^El;g>V=TgL`be#p%Z0tlzY}`%aD9+t?#g3u^#;WD zaQ%dH7sK;L1DunUeJT7@8AyV@^A$E34Bg=Uk8X-8%;k6AGC_uZ3;n+*xVBdD1_QWU zePb3sF!8&E^BsS{>yZp;#@B{r9eOg3mSIq)q?scfmSgEJgQp!=tL|!2n1$K3d%cXt zd|fYRbP>{nBmfQH!su8vXVcQUk@m^68>Gk=DwnvtNT%1nI|TbK}uPE${1+4(-zgBl|`uA>>0GEHNsQC+INYdxD^sQCD^}`m+ zfAde2apS6bM4knvht^@I<1A6R(%+jz^UPwtyQ?t>8FifYwYB{^sbH&%^fw0f-g;SF zh&k&$R%Wk4VRLh=QjGDrV+)?h29LDz>l}ViTGR@9uA&U2ZCj^n$F}+xFoz#(-jmV{ zae$r*X8G};dAJaZc!mtGomARkrR(K_(FK@G{v96&hFuRCC{}HLsXx#CAdLn0OB(Y0 z59xOdb{RXHcE@eE^{qL66~e-RUs*0V?sNaP%rC4hoe=Z36!z7){`ew+ptS72!zDP^ zx`mGZyQRnRt^594zk@UBkFGoQhaLfN)?c?Se{l6BKqMXKNC{wfEPs(N%b>d}mzGyn z!tf{fv}kj8=Zi(MG{%lZ$`$eN$0_sD-HbN?OP*hggN0fXwV?4W&K5Rg<+0zZG-WZd zG;Magx!>GMuoZ1?VI^S0*gicl#K#JlRZa@9-Z9?4#@E*8ulUHTTw!$vTvgKQmZbA$ zad<`1n_Ix=f?cQ&u+ulX@m6j$RiBFeV3N6_`N$BLsC##WR;d*2q}9a;J=i>fgo)}=ND%{|lvQ(zLWZ^CmRjZ$^Mw5u_F zK#9F*7IN!~)pggH@h2iJsUO1_o88!=eebeFu-d$!q@#K${{O5*-=gw``!J~z~F>GHg)b7569LL@lx1KygJ zbHi{}>*m={;oM}9`W&StcYolAj-O(9;ykR8vg?owPuAw_tMdz1l=M{WqjKK6gCC%v3j4_lvfPy|njNh6|QEAhq@>Y0dc; zT|`!s0Xw?vlUIArKN_zb6E|CKbw3A>kCe?Tr0qwVhyPv;t9k_u0`x2}aHT&9`NJ(Y zYp$z9*CO0e%>IGZO7A5MEuO~cG{E*W=AVlRx@?9U+0c`2e6>K*udH%#;5OQO-K?DgXUhPNDGBU6lo8NRin+_W(`5ByzmPkcA4pVsCBUn;AiR&vWdS#4 z78BI{(EDxF-!R-~uO|^TcGn|`*r!$ZdPXS1cvN8qJ4d#s>~(f))53lLb0)9={S7b$ zQAb8I*`0UnbtMP;oqI~1iTtTS;4NBIT(%qE$#cq#TGP7ZYXn#^y~|_2X0}_55?II$ zw%Yo_D~k2}x#Pk%fgD!zxY)QK=6|#aayGVgLN{%tYmLV1<@-u4(YIL_9v?*Lw4z=a zF6oXiCx;=318x4Xr;QXagU`rHUoShq617DZzxUpFc$8XK`3qP7DJFu74&~)n zGps-DF0qhjwf#pX~Z%@@o~2D6h`> zgz90KWfOF@5FYyDCN-=uVpn2^D14Gvt@_q_nPBn+f}Q!-u56EZ^KkP{r8VzWn&IE! zik^sdz<;}waCS9d!qz^WN`W@wq}`%Y7x<08uCuRrs=U6x02x~E`>?uDx@m~^zKwQe zPQy8QTiONyfY9#N>8|e7{FakmTZ}Yf==s@y@{X(sUSZJyyvEbtbb8lHr@-$jr!!nH z^wsK@O&Q6z2*hrWJgP{)zK)o*W;NweB5R6CEQgz;bcd{Uqwse>VLg&-9>O<#$**TC z`c-Bl)0<3hLz}gE%3f+my#l!rP^ z7hGuaZ*yV2@vG-N;htQp74s9jsgy{*$_HG8x#8#3(|Tw4$;5nk%CpZf)4{sJ!xhY6 zzRF}61+3jV(U+oJ(Dv7pI{m5`*p3K}!?18B_M3uu^pD@yeEQ?>zcK+^o+AS(;hMMp z7OrCB99}ne;V<$k+(9Sj1-10qofaf}U~-3%0T}AP^Kwk_e{M+yP)BuzGmF!0eQqPB zBmAn{{74SZxI@XoNreOuc>-V(i#?N7>cLFMA6%q`3 zU)b5RBUGKF`}DHs1D}{frojVjX)!nYgGqA%t4MlxX~COCI?b7z#%A!7yWH*T-z!6_ z)PC+y%}Kf4-mc5XBRpPVbg)2=a;#Xp<`V6k6|s4>Ne_7extA$fdb&CMQBv58EvnIl z()CzhAJK}z3c_W)UQZ#_IlezJfAVA~RGOBJp8tLSATsj2g!>y}k5Bd1c!&sFyg$wv z%^{VECy>>$M02X0jOygZRJUJ>k<&OUlK{Z4{hqJCKab$P9{rrB^&Rvz4)EP?ojL*@ zPX9W8nUo8~{qPbSYvFUoHh7w-;l2EdO=k%$L+h`;njEphlMK?wWOsr-L_y_pdg6=> zEtn~FH086B?*D=?z3rU`00OHyq8dl95qv9o(fR9BIp6>^J|g^^4b2X32g0sic7KD8 zp8HW_{qUSvRTLp7OD&rSwX{)K9OnLVK1&j^t?R?*$%;PxOQC%pluLJ~aC1{)(Ovcb z@}uIc0&|$z>~gB2HAtWjQ*${ON@i5))*4Z=8pjqJhsa#seXrt+zODcbXG3pxKbDI> zeft3<$Ou6$eQsi{bOpA1tE`ac%RWDx%;wZ#PJ})u&JU9XWE3yJSeu%!oxPu&8Bfxq zQ7YPNx0X4T5iHK!y}8;_&|Qc1G`sKo1YZ|MkiS|;JdG0sh~aI1MvA|U7V-;Dvn=i#Xw!| zczKSdyKJbwrF;{q-6t@^aDdscm>f=bv`<$G%Di3b?`q}ycUG+|pv-XaYS^v~o5b9H zdAa*}^Y*DUgPHj~0i%PW!bR*t^D|O z3gqthFgs{E=AMrgYPq<@MWIu}PDSEmgH1zLlU2dJcc^B`Ws$}jw?ebiu>wKFF(~@hpczHu^g01>IaQ180<9oK^#wMEtB>gY{JitIZSMBh-G7MpGa&ohzwz7$;a@r(fS9(~F(B;U zv_?oL}?oN$HPTBXiN{5IvF%J+#}?e>1n^-D>r3@1((xYnhD zUuOvanoxG|oA&a0_UEL;50%3~seRf`?^~o$8G3!WIcdP7n8u~7UW}_;dqunrtK1#b zB&E);kdQ(>NVtz1h1v~ej$3q@1l8(u=l3;8b(XR^>~- zepMQloaKW~{|)~tVS9P>brk>b3Tx(JTbE;wHB46eCaL$ZPJud=TdNDLIX;<7I|fIm z^X8JvLE5&!>qLKbCOq=C3^uo}4GXSJx- zHxGmx49~)9Qmr)z{_m*=@T}~(OPtH?x17W0=LauiL~Hu~%_@XTCKe|?K|Qo3Xi?}a z&lG0W!%9>?LBOI^vMO6*YTn%O57W;Jcl1~K;zi20&;mCe)>K=lFgyV~voU0QJScsi z&e9YRu>u2KBWO=xH+5F7)Es6j>nRuZR;R<;xGQMs@5*7Ts|$rExYG{rFh3PTByDxn zThPbrXp#K#AB_6#xMTR8VD$&8WYH*dp=F~o?{Kqwl$zlx4W|=kzxixgP(C#p$u-oa zJ+Wb^-BzPY21r&K?apSHcnO1mu# zbn)_6FSEkJM6s3V;=1rDq<6F2EG%@e+FZj?h3WRXC9!10%ltwcuMbUrS@C|Wd`0H% z0eZ;qZqjSzP7^b^R zz^beCgJ0TDtlRH5CyR(%#Mu?kw5x7R)!JwV3c9o1@GrYR)*cw}AnwLuyO=)9CAqK- z0sC>4EHm(A3#O#g}u_Io}HMAhtno>cVEM~&?bzUT^mvr1; zi=ca8;)d|sb@!Krpb+SGJ(xVnG}}alVeeIsqpvLKThw*4MXQJoe_f=n97!dkTO3rd z^#E_xhRoIw=#5%x2|Y5QYvlQ_;CE-?D2H^rdF4sGfz5l18l3&87{h@?rK8)&Mx}Z3 z`y8bF+ms6hShvseNgro=XG$J=$hs)}J!&51?;4;Xah}%}jZ@>F6syNgm~bMbn7RfD_qa4IUmjPL9m~` zj5EzhzkOq~qMN%yGpah1<$jr)`}`ww?;wMB%SH{j;be2d^2g=m2izW@{iW4lg|=%~ z;RY+-@@wlkgS)|^NPRp1uw%-r{4fG3207nsrM83geeUGqSh*z*>@Pf(f1^fI7fXL!8@uv+yZL4ZjAC~m z$u*u#PDF-&yU4~q5r*BtTCMZ@<(pLj*rdfTce&5E!^^q$LHgovk(}QVn~gG>XHTa( z(ZI#k;GoIv3kPR%UcWrv;dOaxI0!(XSzTTAkGYqX@<(7<;3)`FWW75K9yWe$ryQ2B zaEG0T%599uJ8HiIuI<)I;>PdTewHKGX*_>^N5S@{HtJ#duYJ8wh;e*u27IV0tw}pm z28}_pLJmed#FtYYVK$OL0YKx*nA>M{%2>S$}AJ6WL(zgQ#W-j>_FOo{IE>&c~dC6Z1; zyS8F%a{B;<@Bb3W8G?k2`>h>H2ng-^J)8kXCFC)}=89WUnOK^Yf$n+r zG3*)1eevE*D{Bf)7$hvnpj@jh*z#|~?F)2oCsCAzY>5BR1a#w5k%qccq5I0Zj=3~-M_CPw?jT*Bd^@{HO z!|FQN&dQc{nJD1Zgfw;Z&9xykqJ0t5?r3)<_%Y*4@6p6(tKOxPu0X>K9k-cLH9i8XSv8XhP>*xkqnnX{24E(34 zob!_{{ft6vA(L{HJ7N*gc3FqJw4g)L@HK>#p6MLBO%YU2~k4WhRc6D?QwU z&!UOv%$oDzOLI~M3qh2PktO>%1CDS`)~feD2Q~r4l3IW0;b7ejy3{_<)heTlRbpN2 zZ`Rper;Y|#=uf44enN8l&L3Ey?m-{Wwm<;{$N3wceTbg={O@lMkEyE{`zAJPJRV#3 zOU2lIgvi=o6G-smTcNup+O_f-@_g`I;9{Fcr*-yO3edwvaT#}}W1*MhpWl7-n!okR zP@CR@j#3)F?#C2#O54hCvyuAJz2;|cGc3D*!}fbz=LU1+@-xS;;EMRgZo?`Jv9DRp z?Vlv+wG%-9Ld8BdGShsxug}&lUZxP6$Fx^NcpS3p@xAZwcnFVFkzpr;8fL%u42DgN zJu%gDHAwGu=O|J@mWNB$SOm2kJ16AM4+NN7SEbsK;R8FfacmrBO64Ajr_oNbl8Q5} zESPQ?8~i1=tH?C3H!2}@WmkgUkVhZutd>=ua*dd^b{7&!SM7?~)i+-Xza{th# zF0sOh>_f~a4rrK{WqC5ISRG>Nx61cJp~y~TL;MlBUf%xf#JW=PNxz;D=QJs9Aui+4 z@S##Vt-6Qm@tzGv%6BcyETxWf^$}v%>~K{Yc3_>fJIWa9TP+g-&kUDaMcFm#jGQtz zyOhyX^G{;3er>zN?Xf7WZi=O|x7m0={%r>3#ab!upn@%o%1y4{{>_qzA>%3V)x*{{ zokN(xS;UH(@cqMvM1I#85$pDW=(*}`89PNfNK);4l*^jlFY_QGxp`6ZD?zdhoRaSoKLk=DO4NbgR z?oZD|xqN+k4%7SlHD2V5fjMljfh8EIq#gj#jyfSRz!rO^g1_T=a=onD@ZQJIOvOEF zZ;JX`&%$`dE(xN-G~I(w=V}7RuzmY=Flg$NU!i^ZrM~4m%Y%?gR*%jf^8oH0)vHe8 zlLf<5qhrq}>aVbky0L|Z+wQMb>-$~UBzoY(cx-~Iva+A&RVq)Sctg*hdOxC3)iF$4 zXzQiS1@jB`)0g+x=;1MJ^(IW|2@;e>OcvfLOE_gEw92)#;TfaNdDnE7T)W=EW1a7T zzZ~x5fGZ3aNVR%B)9E?0kX0BzaE$`Sn>r5p!FpFJQv=sQwt%?8=>&*v`4^93$a1-_ z#3w!S39zsbL9TkND}!5=IV9?w+-}3wl(XedEkgAF&J;6Y`r7t+|Cz9~qc+Zpu^eixJ8V*6gFh&rb1SlBve9uH|x2PGu{O(A?W{Z%8eEky;BOzf}d9yB}td z19aSeoR2Ut9wYcJ?&CyLD6dR_j-rWK;n7$<`~qck$n8ABfWYc52$HQ*zf-) ztBz$a9`{%4U3cQ(bDGatgNX1~eh;CqiYTL`y%!aOe~m2NgVM(s-4D`?6O6yr`c38huT`ej z;DFG36LHey;i{t9ytg$kSbN}apIKotbh#(?`_-C}m{a>zqV(WbRg?_YJ_)JlVa-Jv z8H@}Bm7k7!&^T#SYt;YlKXj3O_bTU7*6nxOYHfqTb>R!hxfnLwpVxDyRLe%2Kh{|8 z`IR8DEyx9_?D5t7ZL6*8dD=_X1pf*c9;N;5vPrrUwV!obx?I{X<%zyYdwQYAYQVwd z@dXH~s)iLQ1%-mSJk9jl@m^|>e%(fE_ z@qxtXXsv}kCcI2F6X<~@5qeq6iHo~QOZ9RO zbGh=dy`33lRdfLXq4Rfeik?~IbxkxEV$X|9*+j-Wa?T8LbV2d7UHh%h-%+mdH^1IN z(>tscS5))x_RyeOiwapmFRxUj%E+0ht{-aF&m3%NMNd$WPm#xVLYD5}$9gpe)%--i z103h4RCxLFW5O#0(KP4tg0#D&KD+gvndJX9z@`BH$_W5Y>X*IlF5)DKrQWxz*ud!vp6VJ*T>2(=;5an@6|E2yswk%zO6MD z+&%K9j5@#P?)ay_Gd6ebH+_I*{DsUajWz1NUqfusn)B3I?;*$81m^sf{k8WmApnKv{A9T#$oak|{@HoyIlKJ4am ztXz(+ubNv^+0Lx|3G89<51HJS+7uK-B^REnQoo?3mxnrN^vfn%FM9MtG*{!|xeMgS z0yJKu=HggHTWICsD{lx)-;E#p+IsGYYr^0zZMWdcz?Hq#m{~q|mvfa~Z!b}maiKED zFi2yh*B1k~Qr!s7UD=!e5fD$kCCv5*nWx9Ue7bGCFms}`?#;fq4;PlAC3oVR(jM7OA7)XB`t(HObjnWfeE@5Zil2^zW8tP>n;b0x9bU_TC%pa~P{Njt?cT zfEp$Z8xX?AOI4uCJnt>*_IGa3um1B)Zi}VRx{dN;!zG_zQU2&{od{Apyi&fNH)b%A z$jzf(&v`7HGp2Ec=LJ%nPg)~*Pg^(dRHOWAvz50CSHOjqS938QH-0?`S6sNxQEs;3 z-heb*%~5h=q-dDE$M2Ky0CQSg+sI%`yTY_?+pZ=;w@E^`c(u~9Xl^1VUSqN+mG zgo{u)GouIDH}s=$fo)5V&icrP0eJN2{!Em1f3(GelYg>z;06fF?54#unamuV`s(3+ z+kh5sE%mzZm)?Lr1}QS{eP=2vpF=eBEluPfMi%vUz5#bdyYv zo1&Z&>||7HUK@?&9U6?+$UOWq*pX?&ihyGNw$>T~5&ojdB`p!7-+;ZyEy zE2h^;Cu~y1-}IHP;n}aKcX`24#O}6Z8rAOxb=E|_bC?nJ@;ay}_WrSK=i@7tMUS-3jB7JB^eGgY-ghU|#q(Ku8Z+1D%8?&Z>+c8Aw0_ET=r64OpYVzM$(waxawg({#I1Xu>WU&px& zTkXkuToX|0LsKcNiq=n-=`NW+p5x@j&Z&%hLb}n)v+^HoMvPebDAe$7)o2YUN~+JO z)XrE^LNkcFCm*=zrU|b3T^9;eulKWJ8)y8iOa4{Z=2COK>!Mp#V3xLK_~Cl^4s(Xf;)iQg9z0!j+TtIdM2q{+q-Pdom=k3At#8Lh zIjX+fFi(bf#Ao>Wn7{a*KZH_ee>^%(W#QMvqa+1w~#J z;IQqb^o}`DHDPl;w4gp8ZA<)fs_il4Ojr4xT2!O!J^vvM=w9{drjmZd>v}N^&>#pK zKzJuYJO!KXc*d!EZ`{SgS0ms)5|S$va^=bKhT5ei)3G<EC!EqbZTeFVed7*j70RVl>3e;tn6I%>AbJ%A9UYr%-?DJTba(sMRJMTxx)X8_JIWX)Zx=_p8mS%-?~>rK@ghmhDW&i{V#Sp zo7}U~|E~jXD!a_Q^&&<+v*BjJ@0+_7@WGP|}sf%?z zan|$m=JRSi%fGbYJiCvyB$-thsK1ZA45Q$3VUTQ|(ah%@fBtGds6g=mz`zduuMNtZdeV>Z3O~}5o z(i6O&y{Q^hC#l8j?+sGEUvufQn7&WP_xb(1I}Y{5?A1n1GhQn-Cf^-~y9eXOeU%wF zv_RxD&B?HNUd?v(^PuyXb{Axens2I~?|lH%QNJKyueY+C=knhA$mV9;&3w<3dsD9= zNv~j@*&Wgqj$x~|LDX7lQ=hH`Au?LqM=}Sa1NRF{ang@%I4sCx=eW zW^KJ*S&hQJlEZ4dX@|wmJMeWM_2a6}Ty9_LHvbZn!WiNOA)+3Bv2{r>I<4tqQYv4L zv#8Q7?;r0^rUf`rfKZ2Q2h# zMnNK`{j9c$b9-s6pUW6ir_`BRx#O{Pr%GAR>!{_wb5b0b!NqR|az1tma9=$?R|r_x z7{dw&z;`XTUmgX!(}}pC6;i=Qp8(sj2}voJFH{#7K2C(S*G5~gunCNGvP z(PV%9r*zI(s9+aw#cFokO%UCY;j-fc30wB|2quZ<&6UF!GY09wrw{*?rwwlDbQL8rq(q{nahXs6+%Y| zAb;-c_EF7yDwl60()e<%ba&;Z*^@idyHqZ!t6cVE?zhr8FMZ7SWkc@S`PKA|zf>}B zq0)Q?9aHItYg{P1yIb4O%LWy|Q^~h>bx49F08S6^e8m?G7<@^k`wCvB#b8QT&KlX-N~QwEL61GE9cp$w<_|IPa_ zu=fr2y3xJXYx+|)QsBeGX+4b=R^6%fhTGF6JzVy;^$djtaIe!{z63q4MnrRDZv5aB znw?_{)QZa1=~Y^9Qxsqs&sT?IMP;Sxp{E9UsK&VvdD%hRXbuu!R`!s|nsZu|PG%pU@l~?6` zg@AAf89aba>F{Eue!ZWEfs{o({%T95vc=4MtA7$Ur^zcRVfQx%A&E2{=588U-L66L z-#+)O;2=#z$#dU3uoR7>xc*EeoUV&GY_)(1_Hd*8T6t+$EJRm$i$#t;xZzG|OVhIR zU0c_>kwVMci7ulpOl2;2Ar5$A-VxsxHv1M&f7D^BG3jOiLwh}+F56oeJ(za~BO}2VkvQpAWHh{ZGQeKem-IrKSwigKS&0VXD zNkRJ)qRaHuxw)ia-AV#clWZ<2CIU&<4~Q5X&h_;k4)wJMBhJgJF(am@AK)WN&|7x* zxu!a6e(=W#Grhztx?r)roLD1nfm%%b;=gO1Ewc~An`l`9=IH=3CeV1 zA)VKHB@L-7`!Ees{{bX)q?PUOkU}z=#gFy=;@M7N>t%5FX`Ak`;-0yTc_(7#R8xUuQC zK^(To?zA(B$?7B z7tc~tx<0O_VNn{kr|Z+}UMw71x-?vF{NriZL)1EOzx|=)ji5M-2lveSuU9Dlug7AO z?h~2UMXXta;<%nN?-$Q19&x{q36_jUlQM3?RO#gsm3^GfxcoqUerr{d@JF{4 zHHk(28yg=>Zx-CqWq4NjQSmSIkJ?K}%7g!>W!rh2t3%#?N87pQHt*NtrXzNJ3atK4 zgE!Cz5*XPtTaLwD+s9(G<_O;QvZ&F&Q;R)rjOpgEnA75g&SHSq$Tg;9lX;Elo zr^%G$$DmXZ7QJziUD9_Wo!C>ackNbkVIA+ic$}q3GM$l)mm#bw%RZ;H{rd6;X_`oY z)`sO?J5V^@8Z};3?hs70_iJ+3U#Ah@{B~9d6~5{t?NW7%g%q4z%gyb^%uzz+<{vg| zHR>2Bn2u0|ng)mj4t&k1Na7ud<33tPE4az6j;n?DSwNx!Gil_3erkB2xDE@Lq40l_ zdNR6n^*uT~nk6y6NUF0xIFq?uVP4!E+Yiayi1fypXoWm5Y1NM0!gr)mhM)GPzi$;| zzeE50v$><@_+{uZ+e(2@PnW)XAw* zs#oXbJmePhH0Fw7LG@eDpDyLQxQ=t~#2b2}Nn%r%P1{+$pZ0XSFC2$PHyD|X(KGuM zSQl?{!$G@bn3{)zvCeB$cbat>>saIbS@F()KFnzqKkaV|Sm`OL?cjABX;)L4k?!k8 zuQYJPFari~E7$dSeG%fEw5NcDb|58uI`3P;*bp8nAJ?4q%vcrNA)E7`)x?J*{56(8 zTXqqsBY5`hG!U;GBnmrLx50+eSk5E654R|%Z{IotJ#6qpPnWB-=`8Bb=`dq%>%VgD zdWGl}Yj_jJYf7F^X@igSTwS<4FyrspTX{~i>*(u>Ai%q53$s3_(kxK6h6gQ{J4XDb zQ!{6FLpE%B{9f|y*`4`&ABSOe4)^=uHotbuzC!jSin=HnhdV3b&&kBgy7SG=jYS3h z8rpg(z>#^GeAr+LoS)SlhzI>}^&ORcR4<;$FScm>QY^n1HGUj844s|ok)QkKm$*`W z%)tGII3MJI+U~SFJ41Fup_?XoH+^B(9wf>^EF6SU?{_oa?`rHOW>`S0Kq6;$#jRk)8g-+fEju5s zrhswjkzr%go;a$QCbHu^SCqygg|||Er60*kbeB!PLc`dB0in zqbGIv67OPjI}?e1X#lV+!}7rVn`5M5p=FJ$6T_+^e`gPH~?1#3h7Glijx9drLSb240KGDH5;wd+R zZk-nsh=TaSY%c7eL*FCP`#{&~weaE&vjt-S)DY?ii2{sb>b|S-^`CA1*Z?> z&$wMy19P6+*z$)zRpM1<2CdDrGVei1#11MY;W4I~&#xX0^Bb)Tj`*zJ%(+#?7U35U zsFt-ZcuQgx%HFdgwU-EfANMPVtpDEoGohmcOfYp}=eT8-vwRCNhSmMaf9t{hJeyG7 zl$ySNXSkC~N8#P*f~T=IqEjlG@Xx>3s-W7CiT>3vYLS%53wZOATlsc->)hC~CzN{U195U;>aTc)7c zcc+Q^wi-JL(j3ZVq_ueb`sgQa630~;`9%BWH|p`lU5F4wZUY7npFdvAVqs9}OL(0x zBH~Fyj5~b}kIF+S7vF*l@0U_nIVq>YK*A@b<(Idz+SSkfp~vH{6fKYF=(eei74Nm) zM)j|!ufX+Wrp20$vctL1ion)fuFu`WuzbJB*CRPwp2Bkz`?T`|iv4QKsWw%?{bbX< zPeN~tU9QZlMbvBOt|>tWkDvmmuo5h^s9$c@+$8{uJ}yMMGD8oDizz%L7wja6_3Yv< zSHtGNba-Kph`w;#dZlJj-_i^qQiP@=g)``214uh~@8g+9zCmGZDdUmqjTqi;?5iXG zW=m{Xs@ioymC3x4nfue{wruNp|88mvW*$6MV^nEP`dec&r-9TX{b4l7HE4&D_a@Z?jm}}Lip`S z&1J6k)enERG3&D`GQf9{a2OtJZ{Ez5<6o9)DED z-38CvdE~Fcck?&DI^u5in$fIUXdKVhP34+UTgu7RsMuwR`}3A~QZC{OmzJxm)6AJ> zDd_U=%pG86RqxQC5V2C>GT(EqfN#2$2llxGM_wY{3VG}MD<2@r_(4^tF62@7+NJ)e zi;!y$=l`oaO1N$O+)Jqn%G~noZ-~EjysKIeq5pHea(%J zPj6|ujKwbzN4nnVnzRfR5z+u%@`z)@%M&y^%Yt4$A!> zUMVnErgnw;>AlPM(9b8rhpT~tMF?0Bh+(z0yro>OeAN=51ldTPiLZykYdu)IyB%kF z`~1GJasTqL;T1`BTaJ=Qe`}qdziiQ$)}AhGK+Vy^As(xg?Qex1~Y~jt91#O!T-+$cmy&5v3VsfJvBYgrWq;-iP zv>8FJ*mIF3)rdFWf8#%01cr7Vm|ere-ECe9xOmBc)7YAwzTdLE9gdFd{=PY2&r_L$ z4xb#M3;VKhB+~HyAeme|?{JBia@$?$`7J)@iYM;kHaq%mvLZK)PJ{9I^y$;2qyFJA zhuQg+=wtOaQt65fbXW@KGE&kmDrWbWJ+m({G-MFzcTv9i#ur*>rpSPdnX7GztH&8x zDfK)yOO^Wu#1;*VBIx28H0qN{$7=pbw{%=sn6D=2##3reG+$LkZO?+H+}14C+|L(( zz78|HXWqPQrp@GWewdfqw~Fk6c{g+?>&WPriT3+%dbc~_v%CU$db>70bZOM7)L}$) zar0LmAH2evb??H2Mu^K z^cwi)C*~iZdY;NHvqnz8_Q%m)Pw=#~Hwyjy`9Jfh8|relTw!w>pT;n|V5jCerDMNO z285o?c9%)}7TyM<@iE98)t!X3RHJhvhZ{!C+(y6TAD8Nr)r5Fu)LfGcCt1G|_d8Is+K;;hleBJ#A}i|l6I zv6IuN!Vv=qZ`bUQ~*=5`OY@KKPR#)6FsE#uWR^W$RImuQZHL0{QI@Upvi=B^r*v_?;m|YrB$M zppTbc)2)s7M%(j4dq|~`Vf7A>eh8k8&?L5Yg_9nj?wA+S6X4Im7gj6dY6re`KrY!k zxW~6RBsMn8&9mksgZ$=mS`eMwdVALkxggKK2G8!qZm*Ma3a~1ypWm*R{sw#Q5BRnO z2ax=1UA!m1E6-HeSTSl%E9-YP;9u4?;IHWkE%gs4#uUUZAXMkXTdKeJe~^Za!5Vq% zUp;<>zD_wPxD5GTSPlq#D@fBix4OC3gj*v=&hoUj1y96P!CeaTs77ks9Tf;m3e^)9V%z4z1>iZ^*d+SBUj z&oqyzUC3p-HWm~X$I0yOVCk7=75e(v!>za3FNCi_6L+@VKR@l-y=leH8 zDvwRQ66JsS0t~bNYOS^hAywMn!Ds+SM-UBqGy~SB0MEWtGD=nMYeY2M-O)og?XS=& z2t)Mxs|dFlSvuz+GN6^&lgCj*!*;P&M%1QSXO%>ZX8X}6e>h#>;spS(me}9^V)03- ze!14yMCgTGuRU{NXHoyV{=`|nFr6%csI>K$>sojG9bWCXFC5P>a<4$hhxNBSpB9?J zHg$U5J(K&MbT=7PDwQ4(I*8F1Vv4)V;FqRbxgD>u*P(X$2+U{VBXw1TdMqdd6$H1x zjzw3cccHr`8}X+7WyFg&P>QGJY3wdUB@>{m8Hjibr{{qyruj7z8YcZapG|Aq{tnl) zwCETcGIz%0(qpUH=32+s*P>Vy^*j7x{EZ>v+m(GY_1kwR1$_~1EoWJyh~i&K;OAN2 z83lM&(B?qF3k2tJD)x8dZ3tPLU_^BMoY+9S48lsVVEl2D!4#d{qs=FNn@cPkSLU1R z5PTM$P4Bma!D#(9wfr0F$e^-_d7ddD8?P)YtC5Sv&J) z+vo6Y?KeYyZ57exp{#$^Yl5mwk?cHk49?Xa^au%K`J-@#fAO8~cr!QNHQJWEwkAerSEuK>Lg&cq z{_b$h*lrk^@ka z7_>KBz3OcSf(v^2CBd|gMXll7o%TZ}rAtsZ%e0;cZO23DigRZ^H_#hwodDD6nE@XAld{3tp>IS;6CRV9d-pk)93Gyz{n$M4=71tUF z(^t|D)G`2;RZ^FAn2wT_N@Z6XXy~(h?n4f8ln$S!^3;-O&~I?#Jy1^K-5I0o(xp)R z=A4d!FXwHuSm{{_85|QSrU=lXd)&QOW$3Ujg718825&#Tr%Kqc-n3TsN4LRnF<_2R(HQ<@*Btw$r~n0NPwJ zV>_)Ysg+%)hlS=kFE(4h`pz!xz?t&4luzGv*W*16yxHgY1k;b{wNzgA8u)$_0gN;s zA$3|wR=1Q*+w9&>!n$2co1t<^fIzDR_20b+Y?KlJVLMV@D4ptyn$c`_Ic@jZ>XsWT zuuGbiZ|huA-Jj(?_U_lh_h3FPM&a;ty|zBdV39Jn8Zqg|LeV?N^ek75>g1@# z!K9d>JKzVSZnS~!^&q#aL_C-_rxDpKBWC+BdVA(yX2P=}{`EGC;e)9={`uU1bR_Vn zX?3uU{^ioubRNaSB0ouX&MGpU?7NvbxG2U<|k6fP_+`C&w z&fkSZ45{YYaWia(ogUy_~YbhWKD8X22wfFRi#}Ew`;cjCbmnv_8W$aQi+mf ziF%54yOev4n}ruLM;9ZthXwf`bQYd~U%-!M_QvQb`PqQ1_E6ztcyg z!uuOdZ6(dF_r2bG60LF7NgyNTd>;}0@H5Z{@9~6OT|UpM-rT*f@#q7rzt1Fi486)2 zW_`}YIF*~#Kfz?P&kqbPt*JF4k9R40H{w>a=k$9vx^QOYPVJF(PN*19_u1VeT5mwZ z9<9xs8u#zIpyQq9=DMaQsqk1c(~+dU-)xZ%tv~VhgTS8r8>MDYZQQWxG6z|r z8=})aYVHyi7rXC&ol;appNmhUyrj>$ygND4rR05)*tdBIFD!$t(X87b-&waZ=_Zy_ zI=AF|7{yb>$Ameh=0dnSW1RGh*GDI+Hue{YXi2Bnpp+!TayM(o2q?OT3VMkjUr%&2 z@*ss8VU8*P3DlEGdK#ziYg^B~%npSXORYmPGB``C>01Xoa)Unv3&rQL^9)PNfYL)x zuaHYo0YVP3D;{g@I9K`VFRhw~XCLlRxiCG6Q{_XQ#!)z4dmrF7tx7mdwiJx%ObU|R zJ3L6YCA_AYwzzfiT`4)dXC<36inqR{6W{#NGVy8*E|=LbkodWqBJuDn|`5v8tnU(b_cxq8ja8Ox4{nf{?ddG_Z=K^uEPi1&o}*%ER3BF9=556jkuj-@2bpkM z5`=9nx+K)?@C?=~EAI9|L*?)0I;wXl(eUbYgd>{eZt14UeNuD&y`;&5k^^d3I7PqQ zX%?%8))>knPsW(mq6lz80tsX7g@a*gsB@=OvvSTk@Q3ZBUGemy_oVxN6 ziM^aMnPdN1pL_R1h9B}ygVGGNqfi9awF8LHWIi;lPklXdPV+L~8P&cnvF^lq*Z)q+ zWxDlp2#qAnMcVsdc#>KM{QMWUmCRT3Pr6tlpu0E2QfjFSF5Xle=$(jS)s!L%d`Ueu z2U3~!Yj7zy$qSqGCtf-5n)_WfvS)4Q9fi52_~R?Do3)CfGbAhLPD`OhFAASU z8h>}}Yu1&APzsP%y1u-Se(PC}1Z4lfoui?{#_CT3H~FY01`1P*h2P)=HWBwltY_oG zs>gVx^YnRd=9c-h0)R_1$J7$%tbHWKkSVs-k|D zwDTa6v{N45$eykK6^A%E95oiRlaL&0=gpzb)3r@e`S?C4`V#`NzYjJF`6j zoDpDPzNW)z;35}A8CcVo7(q3DM$4P=^P5+;cIoj=j2-s*Zi0O2Y3@hA9Xs954ugHE z@;3t$Ovc++*&0{!jePR%3+=2K+hOdif5o)xT41u}$wwO0+ToLOGkW}+<>HTTZD+t! z!q1akdwIU3d8s^>0SKcWl~7!?@MWT{KF!;)u94kii*7A3KKcgMp^I2!pE~P!F zd>}(h*?thh|2sBs)574Lfbvcnaw;UuQGMWpY~d}|`Ti7)B{TZDL^H)LjVHr0CDIO& zt{_K*%{^u3E*5}KDeh$>I!M+krMtg}R<7+NrS4C})@u1DOvcV^bk2s5)#qNm&?w>; zpjoO>Yfw09|9wduSJjIUD_o8(<^w0?CUDxDmvml5&si&p&$gSj!Lp;3wJi4l%OnG` z#)o4!yK?@((#@s!y`Jaqd`9+mVPPTV)8(~Pc^#Ln$;pAR%jfJ3mD1gifK@9!o8ly> zRh*-9i#2*qt+zd8Uvc3>{qq6B(v&gvv>%_}wGzlLvbV3+w^d_vVcA?&DlIRvz9_aT zeMjjx=Fv31?Y2aYy)7Swx6#i{px>7$?A`S$RoU2;KOgzi_ekoqHI9Y!=l7&p)*;Wo z@h)HRr-wJXgtUO&Ve&d1QG?Iyl#*QmmdiW7iR|i7 zC+GHOAF%}k@w#;wrwj_;oh;A~!+lh-XBqF{z0~^P2j{k7j5vSxO71z1tk@Z&Z#byV zs9txZaT^fCg7e2J!TlI z4$0O_n|7zqoVhr*o9!Is9q_n1sk(COP4~bn_fuK^^@8tHxLkX)Z03~=VbUPnQ&Y(- z4m_EujM(0sgL(2hy4QZG&-c9keMQd}-L5p)(_J!=u03S+WLh3Vu)V1crOcrCprDN( zca+b=U>DOJ`kIIaIm=;R-@0ycK%Us{lv<-*e;4rQKsy$3t;ptfa9SpR#h-s>3DhZ9 zj_q;#cVGIA{2-iB#Tk3l>#rorO_?1;p(Kr8{`7+gH*lfjVgN`+Rzr=bxwp@lxdj!* zz>rz37McV1Ztl9y)0>U$)u=s&JGtDHJNV*V0JKVf1|YW!^ubNzyVYnd0_WVllhM{X zpQ-!Wetz9beEB8%t(CMqU-Yi&_*axF_)zF2#16#Y-kQFtt9>%o> z=h%%lBOsFf&4cM%?CpNLhIMjibbe~{c){Bj#={5*-2TbIgjZ1b7Qr7=E)95XxHxy( zQghZ$_ZCrLy60xaokneP-)+vC>yZ1OIJ&D+qag|NF>behuw%QQ1xue2R;29TroKb& zr|vlZ8p-aIJIS-(Z19hwb6q!94WsZ8tb<4?6;jBi5+aEtm25-VRLB(0e?8y-@4Dt% zs`q_1V~l$dKX!+Pn0x^cg3t4X{DA9Fmw(pz7@zI*12L5{%$wwgl`Tl)8e2;(7sO#8 z^;Tz45UnG#EC3+&CGrX_JNbOy`tzscBhur#gOK=n3_v()hU*7JS*&;)(v8-hv_2PZ zyFGUyWiek^$gxQZH;udo{zfErr(eriP8DRGrx_wQxWl%3idTNe;VqL+_>sKb7?!!8 z9+~jTfC#ZX-N@;2ND*msqD139oM40QsCAX_Wp35J|H!U*cM73Wr}FwcI-fd2UQ=f$ zRxyQ}C4n={J#7o74SJYEuHRq1YwLz`AC!vBieb(rkbfFzy|biav(zV3uWIE-{CeZ6 z!#r>LaWNOk3?h|_>1LlEcI%?wns!{qT8;}U(XUdIW)g$Jh3pq5xPH`T7HHvKvt4hh z>@UiUNb{=bR?KUrox`Y2`2})U!pO9?P+A=LeZs7_--3G=5b6A4( z!_{N9-|pqD?Hy3Qeslk#KA8gz;^_M=fO2?xpE|9exGJmMmSOeg=BUitqi8S> z_Ag*3biTw*=3g0m*#(tbZ{8u2MOGupi#@M8rsYsKfc@1rGt$& zcCIqi3;Iy<{l)RzZDaYmTF0Lw^d!3ZoJ1Zi;f#Dib`4@Ta1CJB6%s6(H(A;LO;v;r zM=aupCl2X6=Nccpz7%PJL0X*`*WaDaa8srTsc9wglYE!gQDpR(V|$g+X?wOl<4s^t zUu>t;*M>wKFsT<-=o4(K;n*4{&fgyf?zFR(e=Mc0Tvc*K-^8;u$ow+j7^Eo}udNgE zK)bMM>XeqaHFfIZKNz^xJa@sUnGYgP^D$n_kH+(pfB~?V4|9N?tGKTYRItdb<_ZV- zP`KrZ)qs7>0*P)nazaM$*AA|VFgNAY#^e6D^l6z3%kH!iZ_a+Aj}OCRr!va){^=sm z%=+q%Lym9I`jS($%Rd%b^6+lba2+l|KUR2h+2SxsHaVy+7% zr*6k^2ju^TbL}rbU02{p>_2MD?n%9M-S*R%w_B@8$MGL zdEGT>v#1n^J+d~2eEI?vLG11(SONV}F%^{vuTGL?V(?2F8pXMZUpJk032$HZzZW*F zL1M5)`@_>||09?>tl^+dAMOt3nO~9tF#`H}AXIlRH=T~j9N%eR1@~n=1?cy!Uo!u& zr3f)W))L=VUlb@--%DY9vMRy85FDywRCIB(c$J#mhyiY)O474Gq$Rf-$LUKLw@&y5 zEmx1{VxfmhM)=sbd{r(PKzpe^9*N(pLk*KNbEh6?_o95CXd0b@y;J|jCej?}p4+Im z{P|=0s?d8*!pUtFoYy=y$z|BwGMiOHf?DhT_&w7F-2bXputrVq-g)PV%PXTy;?(D7 z!nRApSGkeKji09w;$&^{_D6}~>E|~$N-G)Kdz0dpyJo9p z7SdIcNrQHeY^EY+G<|I#h`IPn8=GT&o#L>*oTWZk*J(`rk z4Yhg>FfQl*`D{#Ed2I8q8b6N?i`sXbuj<)*o^NDsPiY5%eZSf3JSzJ(@d5_4oK*&w-ns_4c)Pc!hbx2q`clyv;ZBNc+1d;TPOuY!^VzO8h2O z(Y)q+RFE3+1yRN{I_f=ZS&_8|@`xX+u&>M|x9UyaDbl9er8ksNXpb9xi*qi6T>HpQ zwoAkB@%!a#e;-ae0IOkfu*&@ueDB+}5lP7R@LqVM*$7ELlm-kX(+m5Im)oZmw)5KG zMscqUeI@J%h2L~79_50FJQ~dS98ARhwX-vDA!<0~6`4PRW8I({Zm+ET(Mv~}vVXs0 z!F6Xz{VxLxw(+yj<1|F?mt$oN^V(iBG-@8V;f%Q0Z=LI~72TfP8;cJ|SV-LbcO1Ct z!}y10@Vbwd#&Exu5j{boHe@=^{Bp#wrr_)_fl|Jon5khmy{j(=WW$)L6eT99bwB^*vBl=K==v2h37^mYvJKR_8;I?eVT1Mz*3SQxdLl+4@2l11 zbMLIG`>)N;GIRQE zn%Q*+_R5PeZusNNRUNgRvHIz1u%>++!DSQolJTIu&vz}pBJU4UZPEi2ZF_#>A)HS= z{=vAQJs$K66mD|ABVl#53KfsA@=aIQ6$oXwg!cCQ6V`HhJsoc*pRCv?+Kc5A-Tomk z1i`l0Kkpl&^t~sD2xje1kTA$bPjhYnJSMcc9<)B2B%DDVOr*)S7+g{zZYOcpg ziAU>TvhVNP%aSmn-aGNH4;$WEe;p$)bAPUeReNtw_pvx9)L`P%PokeBwR+lwX3d8+ zyV>tgpJ6qvd9$aShHcUO8>yE&N#Nyu@+ge@&Y@rUk^Cu(*GuGHV$dfbY87OhshSp{vOh2JP_o}$5PK8a^} zl~0jeeR7i{$P{;TdkP~ zm~XI9p}w}WO5OWh(sk+chsFNnttniUm+K^mUBA?>(pbJTSiyPbJuMx#NxGR=#Q><= zt;LZ$1!ScFz1YIw@evtm{TTz>A-TNOgX;(%MFVz5?#=0;O@H?3&6=S0yFVYD%*b(e zTyjWiavyLahrpwv-mZQ*K~(8{nqEpu6++-^wBQWQ>X74x=Ia3Z)yWM#8Ro z*z(D=UK(x*LO*t%O6wYR9b2-SxmN{~Z&+DvO3u@kIQ2955%}(Q18~0l3%#*+f{m(1z&k6Z7|c3wwo{wZ{8`H9{3 zkUz+c)D3nYY%IyK%gk`IpbPT2t4k2rRZ|{d_*^yL5#s&joa1o33MpvpC-hOV?w4*O ztq)kCnGH)uQj77*#J9gc$%_8H;Z96i8mfr^Wn2^k9VVe1FG@i zrk5`^LA4nlvUi`XHqS;JV8rEson!wrb30q}GJNV({+WZFJJb2_z0oH)_iy>=@=`tH zwNx~a{_wxZAeK3PzxVo^+7e?G@6CQ&+4+B zQIe+K##sz^kF`K%*oz8ko23 zxwscKk8|K|$870P)IxmwwxY?U46S$xtckh1ewi0^livEz7@GO5jO(k0?j6tci<9+%9_AM0<^w(C2K&I?-R@-Ol63n+jlDelYJdAX3Ixo- zxqY`%kyl2!a!E$5up$UJRDJDhCopqIELA|b(6(s+fA!m;JMoMs<*I;EpyUj#gdSe26p)&_4in%y&(Y6VPnM& zgmZH&zHvsMn)f(u3&?m2(5%zl0i>QoIWLM7kiT6=@b2g`-}$KipjNH9#z}N8e{{NL zXgWe9TI0RJHv^LpAKxHl%;QJq(%eW7WJ#v~E zH_&5_mv=Oe(LEGh$@O-gi{20%OILT^cK@u5>1)B?O@fym!R+EGB341uD#2}anYVwH zp*gWuLDG*dlJr|=-~7LIG&%BemwK?RWNFReE4ME~Sf!wqV+y68&|1HbwbN5ebsvf9 zhx9O8a~}oY>MYi`yETo5?$vJU-bQ`C`_p5o`vY88{CNeoq^>Yy0!24zTHe@<6QPJS4tNDWzYz|1?CgZS6-lwGbar8W~i@vq8bW@{eB( zTCH_2@|c2)H(Vd18gqJxp~pZVS`0Qeo2SOEQ1^0y)h(Tq>+rrKKSdnR{%o=R?vAV; zwH)NxF+?^ax3$65K&j9#);^cs>{#dL9YX@2MQc7b3&yorZl4rua%rZG!TG>Hh$aou z?66&*G|9L3br};0cXQZKo=)Q{69sE=nVr&rm>$Mp9j7Y#cjq+Ittd54!neuJhNcaf zulU*Ht`6*xwRo;9YO_&}=+EB|sYh0=NM^_{jz1rPH*~Yoe zfT5I3e3x?ts=c{x+!InOfdOQe7#5`HS7qv08Lnlztu%tu80N{&wD*k#mhN{pwZC=$ zr9<+{!qoId@BY~K(-4b}&)|Al9rnq3CVK^vv!U1Bu;-{JpOmI{Ij?)tW!3HhL{tzC z`6`f{0(Ur)ONy0zkMmFYUjo&r?o89izF84>9kM0Ly~u`?;l}sy{%fi=$S@N^R3`Gg z@n}W4$L_K|fG?#{8*G<|J;FoIl&{;tn%p%eB>N=tNxq%g%^UKSHY8n^2BVHqfteD_ z99`{5l!SJKg^Ra;X*Elb|0QqgLF4iCs1n$;3-VUFwEtM8EI^c&`~R2ovbsvJ8pj(pd7xWjM|*yXwx6uf14F;l{0?*Ye3>Z ziR840A{~yE_IAeg3*sg@O^#pbNxO)4wB|IFu{g`06;;|_qWFyIIqRleDf#y|@0Q+} zx7m+K50MGbj$#S6TSRGJK{pAg!G!|s9yMZ+dv1oCi5>4|!{cSQc6Y6l2G92?5`e;T z5944uKVGaeYc=dTq-ZdQXAio7Xui1?0&_~iTdV>>dvL7`GAM$gAFyy}cPUhZ30Iu7y559`Ie#H-aFTSLn)AbE)~ZMK;*MYooyyOT z&iHj;wvH%C_1s|Mlx`s-?bu%X3Q6q(Ex29Cx6?(f(v2>U5ZL>eCP0$)R z5e{XAJxdLElcVOY801JtMwNIM}BS*mfi;~ME^eX$Z^O#$1#qRv?D~IxcgMSe40&`*Cru9 zhnwghv^ja6FjBI6Fa+FqJo=f3!ZGdZ#5f1{gMLCxyBW1ZJ`-kAuGK?ex~HPj^A$l3V3f-#$(~@Y&gz-XHv3z3^Tf`HC}!j%jN8JLr8kW1N0i(^~zS|BdMK z_+Z9tbziIV%)zhKUM=HH8o^Hgp{=$J<_%vA^Ux(_wcjA9PRjvTIzJ&R;2@lHy(ts! zu)ljp8!-E`r6Q%rYPI;=OaKvcG0@QO7MPv9R&FHMPWtvgJI6P{tW|+SD~m^nwx+w? zr7^gjHGHmjH5628Wny!Dc2;Nc+&F(Bp>|4I_G_lXuydN&6E-&uXv*#raid!vlIHb9 zRkP6%p9$Sp<7zH}u{tr76h$`DUT#sfNwRL1MI2a$Y_5Q_EluDqFuQ2}X7gOIlk)1U zFvF`=_Oauo8-Ef}v7PVcZWbf!^($QzHsN4iG3RMlZR@_&im2!_?3vHk5PwE4Yyge$ z5ID!FxJLHQgT+Uzm&$0ZvG}&29NmUFBx*#0FRoj2i~ zq57NU`=>}N%|;r>_PgVb>i*p3MrIR2Fb^8?=H&`GFaf6waF>hwq6>6+QzMwb8F6sJ zWQX~5dA}X-sIeSqL=y0s*GrX^y!ySM_}s-qv)qq6D|YeuvW48L+&+gq%k7hu?hnuQ zWiWq!mE7dZcnf5G3v%P9_V$SFzB?4pR0wlz7*dF+ z53siBV!qp$qT#}}ErE%$VzS;-8n={V?g?FNBrMdtEo7agsKO}zQ^6bq5_{N2XAxW% zLKNgxAime%g>ssB7|jHq2?jIRG9bIr-oCyrAM54tY&4Y3uutp zW9ip7ZlF(IRkbpzbJYA8_Ts}93E2kK7;JCT|MGmF%{ej5hGnN;2L)AcaDU&KVu`kx zOSLv?KmXya8`fT(aDNqHwn{$300l0}1W6eCV*&|pM}7l0-m-e`jyG3j0L4Vp%4JE^|K=}Oa5ls zs9A^~@Y>opaGJdGWMN)sj2iR%6naS&a1!KhNv`}mWB3Tq$HImobWJ=R*^T>*(5xCP zToH+!sxN}&XK{2Hwflf-{Nb$E15JtxL?u4&y`4WLh75v9^-R%^Ne!0S)>Wx7%y@DE z5XGkUqE`Ff2;YSh{ab#|Q#g2YtMSHM)U0j)wp?)6@@Nd@%{t)(?025=<{H$tMx(TN zZRWwUqpbKMCYe~arMWM6UBgebp7fHhaA&ISqi=3 zw#754YksXWliop%TBi%6Ycfgs^0d~$>C^PmL22%N{_4h|ot;hZ{JJ!6cX_H$>Vp|* zzC~=e?ox_M%e=wgYgRf1-39HDbY7=;h~8^`P&vQAR{fUlSwH7uj7Ad{&nK9l13!_r z<&XWrutJSSaT%xU68!yl8>t$r(JLPoi2pOtE-y~IDmF1SLurK z&U`}39_=zi!am+l19lVSYnbz^a{SRhB(O(`$K2FJwRV7<=@#D(r;>@bU3w( z{H?R=YA{cp<@jNxwJC57RH@&#N+Syv1 zGJCGRn4!~0NEm&7)oX!5?1{Q-I_S!++zj#qX0AN=P=(IC@`NPt*I%s-z}C3hauy(U z-z-%}P_8`-OCA;!+R4WTH|n9rylnp^Jn(xg2h|RnV&U>9XYI!KGapZf%SJ~&1{(@R zwv0Sdy+4Zt&c^;zn`W&qR{0Tq3_Q-E4>D@7Tx=pXS*|G))0dTp7*Il8AI?cgByYP>5CDu5vhv2jY8FzRV zWqo(U4Ry3Xu2Noe$#PCY;H&cYNVqL+lwaimCQa=~em0y`?{R(*%=@14wjBjLr|VqX zdaJ?kp&?*cT z^(*;PhYuTmu~J*XSga20fm^Ih-s$B8{3vFZm(dh=|Ne=rtf)8cIUUHg{SY@Z{IP-6 zD3FZ**_gZcBIR$oRBVZ~SOZ!@FxP%qyAUCC3%o$x1Os8%#)tkTSW?K#IqbW4CS8vk zuFK7&VFi&IbHB^!FJ{Ro@{6N5urXx?Jq-I|5e}!l+8Byhz zQcH$jdfBh@zR@{ z5JtuQQO@52TbJCG^Nauf2IBQxPWVVa>f1{K6QWQR+(4MQ4LIliF>C7OaWxP((gDzsPI*UjSO8md6Te&B7&|S2nTH z)3!FJK%EStF-Jsm8QiR#91-SL_0(H zR6*FV43%9%IXzs#)g0NcRcS`zu3SCW8zcMbqIvp2Ed+DR!z6|+dH3zsk^UX2{o(K) zN0pgq=qI%Je#?gU$K|El2QBAw@3c}L`23NoZ>@w`SWY(EO1)Vs8=a!m$>;d$rA%Cy zdG`ckZ3{V<3i;;Wxe1Eyx<=+E_c{haz_9dhYyQ9@TjW74a=R<39pd&OtpZ@>L*1wr zcv}`|(gu@$fg2xx+MpinO=Rs-K@No0A%^^kh%|=oR=0)iRGtolgosW-ALf?6hXxOG z;WvQH`$->#_vG$NC^B99#Nqn9JcP=40Z{=((`agy=DHCR6n8(T*W2b;1{-2!_@w5u zPAxa;uw3e$Iel6rac1pYuzWGBb8~NZg;l!k0Pzozh&R zQJ}6EI3JfJ>34MDbikJGBN(NTr>>I54CEdi38fY|-aX7J=8A+EA1h1kp>LIG$g5Cu7$o2I|kn~}&-h9TJr%Js? z^TKHJY4V@yQ0~nk>{NvmIM5V@kOD-o;k{nA~W@o(A@%m>3D)81>H)00Kx-1M}RK?^$%P(6*jzW@7} z9iLdWh!w^?s+IjxEX3KR>{QjgwrL2v9w^3lUC`=vOXjVC<4Exg+rWvO{Ok9>^Hj+K zhH|s%lKA9j{NCT9A?~W1$Q?2qa*BxovGq*A(mvZYwJrOSfpj`h#@f!u*7;NG!)Ig| zJwvV1pUuh%c4gSmzMsg+A?HxTQv;rUfv*id-gkZ+%R*Xvp)%j>^(cImC~A#Dk7*tJ z9?FIOYc^ZoTc*TFtt_Z$b@b@tH&4(? zMVR$HbZfb$f0QZDR&G6~PS3M9{*tl0HL>>oiswvE>=ur8Dcn7L+b%r$p{@^`yN;4@>iS89B2Vyy|Xp$t(CU zH&W?tC)A&S!uoK}97bfj6c;w_7Ag5^Bh5-xvAN-&sD*3Bw;BE^J-$6DozkY%oao0_ zkvso7^uey?o#CkmPoH^W!%My}Ew|U6bCA=r0M^5#x$^aWJ&}pIna%++6nRSXW=e-X zMcghAuc@z)Yo0!ByJl^1Jf?Cy$M$mFB#FKXlRI&bmfPQ1N7IxOll}9&C+>-jRbJ9| zOJcIECgZ=Gs`Rvt8;&PZ3SjuZIC?`)W=d3=$LqFrx*e}&F{|L&@Lgqr0Htiu3#)7b z4nWZdI0uE5#g4l@z{$6M>{&Rg3z&~7=ZQ%XFdS0#06oR2hPu2wxXtp?wzr{pu&CVV zyC5@j4PTucANaCg#a2KMu>4z2~*t5oRt7#w`T| zP8dRXTB+n~^kN*3rKzHqf?>Z=qZaojcUdGGgBhj|*(}l(@#i56y3-1+%aQBFU(2wH zcts+>394_wuj@YqdtKcfyPvvlFcy2Rl7(eubJwBYN4g`WNAG@Xm{Sdh&xv%SCchSr zcJgf!`{c`WD#e#uqEi#ynd$Y7#6mlzPZff!kh>Bx>V4oi$36^sw^i+LSM7b;V}DcE z@RD14KiAF*@5A@fuX^0iFflSHF%9i$*4Qe#pH1?Zb{gCV)x}#KVCM17{w;O~I&)EM zQ+0AW!_TYF+4~+)14?$T=W%uS!SeLM4NAvF+PI$2kQ&?7`6mOsb?A}3NJ`HGTq9xk z^41UMD^t}9+sm6Y_EC%Ni);s5{D7(0LT!6cj^4bfIJrsX!Btl)A})%hat%y^V-@j* zee?(~g;!a5G+DUkD2UW-5e_4QQsqK7mc;HL)VqEmC*4ZpakF#uuT?0Y`5PCKcCTZ9 zE|(>!{fsTKtM$M0AZo4EVvYj#^?Y#BunHrC+k|T6x|<6ZnQObZw@!Wb047GL6(R8p zIzHH=HSgC;={9a3%k{(M=_&SZL}=vSeC^0@@b;U$I{FyM34aH+Q-c4r3$ZwkK{Agn(b5>_DG z(g-{VgP56__35&~T3ZxjhW@LFL+`MMnN}5@Wm#uG&ou@c9gUFMbD}M%cbNBThQoN$ z&Ja>}xqT3S^=9w)JJ+>pKiBO|{^gIgSA$^}7uLLluG{!fxsuDnYltq3r)l*Uh8tzt z=r+IIhIPG(*%M^pqO#p*zsbjOiE)kcOZ#RxpS;)T9QCEGyquPhN9%dmHF3TpaokO! zD&QEZa;2zGFEXoxa|_>|MIFN&y)I~^Kd+7gF59B;x`OBgqG116@#J=chBJz)7|M%D z=UiB^EpgbGFK*}&f|b@=#I>j9rYsYnG$SjTx}qA=1*sd=`eFBIqsG3xLMYub#K4w9#k^%suO~s(GJ!`|_(GrIM!Hlt%H-#KNXh ztW-S_`$!_{fu;lrtKIT34sMp2R@-bNgfRYD4f6;56+bIxHi`SCt20;5|DFd$+5W$h+ASUE@r&7Bi{W-8wd95twF3 z0{p+UN8?EuFPz!kA*@39ZdoBzw5C|q4J6vY*~ct%fswS8Q`9^u+C@qWQoxp^(+_4! z&)1@z3DNo5{Yk}T?b&|b4y(vnwI@Rv1D^J4w@lb-Y1%Kbd{+$6_@t2G8t#3*_#}!aX*hd~ zmme#kV=LkF30?9C4N7pN&5}_B;>5)gjULLy9h9OTvTENsN0P1R}TJt&0y? zuNLx53gz!BGqcvi0XFTXtW*sb)V9_=i1l4HTsy!&>60MqB3pN0XgP&BlXPAHDC{5l zU`IbIe_^A)Y#ugauX24qh1K-|-H!Dg0u7|n8or)ew!sA3+`M*lNWhU>_w>GUk{j|b z6Y>Dgf|XyYa1N1_V0ZJ$&bQ}jr3h^ao%P4(@N;;bWN-XB$g$SGthr{0F9wO)*v|PA z-hG~3CSghj6)qRTS?tB-3e0i)($F5w8@o%FMf!gkY~H78x{PPm*|f~=&SM*S_VFwh z2eV)|HLo^$dJLDtmzXs_i(ly}yuL5;9j`-T`&?a#)*T|YxnH}nZ}pU#^PDELTgDv9 z7ajmg=n@z8>*@W0y;uWRrHLh!m)n)Q_(z^5vGWQjIG?+b?XXv?P9eht{(7Z3n-Q#A zou+^N{iNQr>zmTL#o6k9(LdKm+tptVfX7ADmS3Zuhn5EI3%6>;X)x--hIdo-?>?sf z=|@j&XX!(LwvW5am?8RY%({`HKFiW%TOtt43DC84fK~RnuRP;)rNGGlw{f1@2f45H z%3i;zr+gCO`mB6EC8Gy-XtBlUwvFI^$rYpi-;D?>%UdPd3CjC^AiLi7Jg|`J>$jmB zXCzwukbIcjcC+ctuI}TJG3|yR#RU3bJr^QneH#uwFvDwm`PsHA z`}yykX$yiT7Y>~KS`O=jdyyFAeGu&q7wg_{{si!2x!1-RdlKGaf~zHyCT`L;+t@vS zu~IcB^ZRgM&(P8C0V>n9Jr*X2UB7rsy+*s(QAGP5Nms?NPhm%x%)vPN{3x?c(POwx;_Y zkym2uf8~Y?qQ?&hp+%jjuGim0K&-~exkYx8=btv8oEm_6`8oh9?Y$FQIh!@I5UIx; zs5;jM$x1T*bIB11cl;SX0vuX9B`yHP?w0;it3coEbgv%_y8PGAy`AduDAkGAa<>>o z!oY6>q&c~g5D`Es9S0kZ#dTYG@Xp~l^^GP77T)kxKHKZOtsLim5wOQQGpxLP6n@QO z8xH*psiH6>O8DT5*DdT&qSFPYLKSso_;K&o;dU4c;vzMuXoy+bY-hw8GpiH`HipMG(>deoHbou2b)%D5ty!n=Zd(5;8X2YCT3@ttwy_LHhkOF~2FM8OJAUWQu z3$RgBa<^lAoU!yIGiw$7x}#ftOK0hP1$~v!><|%?t5u^By#M#{zu853(>T=k`HZyK zf&QGkLuC8brN`oPp5E0)w{XY*oazMfKJx%EJwL=(go<^I*t6NmRQ3=GYHX&Xt1^l# zaoVrg?DO$){6?e5NC`kkcYLD}{@_M#6q+t>TdVI(egXtwkA~@SkMYafaKUDFRNhzh zdE}%7HN$dE!TsKe+(hiKqj2%-E;EI=skQHw*}tUxAeEB#(ocIy=l zif)2`bHDM|yu43BzJ=7l5?cB5;^+n2$34&i5)j-dSb zdcKzMY2RK1{M&fXYRv_Z_fqY8c`Ubg&PXcXm4Aq14!T0~(G=uWpO-=DYu&O}brne! z-e)ADCG*d;BY;u`QWAy-94{|4IbLX;ajBxOa^u>kN5=>r zu3x3+t8?-+x`i}`=x>I2Ezlr((!jd4et_!jJR>zLyWZ_O-MXB51_e>mOX&l6Eaa|J@%Bx04$ly%>)=U}CmqH7Cb^>IzlG8NOdt z*znx@B*M+PnA`dT);qkB@WMM2E9*|TWPt;$}HOaoAI@5Pn()TtqZ3I;R*S{rIHi(j_%H<>)18- zv*z&hKl^ehPoqBLGXF9y_!K7@XKRQ1~L z^whto1{lM3HaoLR{g zeLi2f%v#ZT)P3*fdJ_XNVc!ivpFC#VZ)@9QTA2c=PDp1h4v(IDyi)O1O-1wF-Pn)Y zv}Kdn6CL#8=lRN|c?sBPG`UZGt5vCg<4)r57Ke9=otNKgWsc~jQHXw=>$kU!!RZ3E zrLt^YPuz9v;J{knrTK9p`FD$)C*5S+SdI$qLfzSakz=%`Bl+Sd#&EZ*{8PVxx6(6^ z9wtns{QlLOKycUkmgn~_iykqH7>Ugj{@QdexOVz4Z*oMDuNsTr{T!=3IsenQ)ew8Nu!t{m?%#58^@qXfD2y~pz@!S68I!wKncpYKO=lVNy7zWiZj=vT_*9J*!StsuNr@%OEbR-Mk&h-)OxFgN=e(7kpPo&)&cV>+3S zYNGs}q+fr50}#5huYR0Z@ z@;#?SZbSZq>|TUvAzGGkgJ=w=rCS^p7SoQ*Ct$s6h5S1kl=Rf8h@G!C=~xfTacUoG z_TxsU1yBttCTlRv{JOm3TnhZ8U+kPGRNb2;i{9J41Z4<)%XIS~=YB#mdPgr97eURx ziv@qDvDZ7t4l6^h*%UfC2YkO&nDA`a62ecbzzs)qU0u^LzQ*dgO2RIQD&KyR<-JQk z`}OYy-3bE`DL(EA4}>AqXZ=hGK}#zn|55 zKXKCYNGvt%Vm+Y8aGrhtCUN1y=dORw&W z5IN;>)xVWuZD+qzxlZ4w(GNe&#-NC}`f4a3ln?Lss8*;w4>Pn+eXNUxY>#nQO`_CW z+l_{PzB|RL>yKc;zJl!$8Qy-#;V+&-^-{Od+U{8+?^l{zUP!VkUeg~lrdOM$EOkFP zd@tc&71(j0CRTN60XD{IGHl`U^=#6X;7;FRT&Eb-5K7^SGoiFEUm?Hrx`VWB*dL73 z-{J=YnEfOye7>;6-gQ^Fclg6wjrie{$orMU$@U6VH`?RLSbP(-HtpfVaW^jVE_XKr zw`bn+MxN{k>%&HXkZW3nMlR<^7IwSC%^HOONO@DUF6D5sJGCnU zB>Ekir)QV!kNgBCy~e!yN|M1j@#S<#6pKskm2t*+)tVP(!S|}G%&`hV3+~MfBir6qxaETA4msVw%(^9AbXu6?*W-^RrR?Y1^R{Ri zYRloO88yrMQ-)*5R1?zYvO!w^>xh?;_3P*J!=dGp zeIMv^Sa0`@+Hnb;?pN|-xBMf#VCbJ3#Whio@otU)#T{~SZFN!X_w?#2j^T0=uYZJH z9>Rl~We{z!-vsYocOpY+*}H%;v^k~@Fh0_>-unMGal)JP6u z8@GDfMWGK4!V3Hq&@*zKzjzjXxs-wj4g2(A>ASwzRk3<9+KM#(g!poEUyN>=6h&C6 z%YWY33oE%2eF@{Fy#E&64nB7lsy0lXua^8c%%y2v{v72WyeFebh1xQ?*IZNfJx0q_ z+CYc~1Af}bCz)K<9y6F(lr2jT&VTHAWe;+Ee`0S8qEH@;ZDaq&=bg84p@Jl`C#NOW zEPjWz<#4p>>fsXIzlW%hwTA8+zI}W~d`E}Nr*BkT1}J(c)t4JmM?MW`{DEg>v-- z?xFFZqK8atY?iEUx82`#N62HfV$I~-A8MP_RrjcukLx^tI);{(&Kp({<}h}^tgF%Z zTe=cobZuyr^z84o*B77yl6}@$RJA0ZIMe5S8<297{r&bFkiV`@HQ!Gg`9@yBDCmvd zYmD?{d#q@;LAYaI>*ju4gs!)w_*+O0gEYRt55rQPIqy+8^vJxvbP5bt<3A2$cN!FQ zqb#YFUaB`Q;ne!h&%YPzN%i!2g&=s4Eal`KCo6!mkN1JIZ=C9N31$?V{)m|zNx;-H41Oa_-?_(m&^o1y{2+8atSpo@dfado(G zHOt94fm5x2hyAsZ)IK6it?z(5xW!3$tHEf2Z~6JxKtq|J+y|Eb&CJcgNZmdHjz(;7 zrezqnbouRdv4BRNC-a!wXoi^j@%go@6xK6n*1~qQyNdU}YC+1k_2~vq^zd`3<#eUU z+?nPXL^*#mZ>J!S39BqYcmCbqqFZInsfXgGOve0be46x@6wiChNp$L-dnL&6rJa|U zBdq=GvHzmZ&PDWmI-672_Ue|tGbp&60}alW{N(-@WaHkiz9Sc-WTsF=rtZmVyu%9{ zk}m37m3!KDea9!A`poEXmGgiW1`j2qx8^MZ_=a8=P-Ar>&^vc`N>VCEXiY3$o9wM$ z=*O-Gvp(hczK=c(5k5;3yNoCT7J`!V{=3k&|A%M=1XgpCt+h^mAaVYD1+G@t#JSw0 zIgjf0m-%T`d@oZe^U-;bf`@oM@3thxtzPR2C=+)LWU? zT1ZS_w3!{hwkk4gfDR|NJfh^mY_WH%>^l#-l6}5%#Pv={6J;rZ_3yV+UmWk-Rn)I( z;AvG_U2;18EQCB;_=C*VAd7mPo-)!%6{foF9VscDNpG{4s=yO%UIz+-?XI6yAb%F) z$vf<7O+}N-N@bwU_Rp~VT3GCpEBN|Bd^08e7YW{-Z!h9By3~p}N9-l11U9^*wU*?m zWnA~|!pzc9y8ELLn-r3p_^z)?_<5$}$8Wpbo8BI`!h~!bi!Hd>)e6iREf=0!#tZVm z>6+J%C;GL^$Uag0sg2JaT0wu^9Ujf*K@9zuo!4+=$1D8OQad-ToD{53#E&>P8*(Lj zg*~!LW7gs7lase;z8m-6YJSToHt0s<_ME@;>j0c_YB=@1{hg+p_c^cneC5dun|W!H z4dR|B2(S}>V3_GhT}5}hw<=zzviDvWmUu9{0$6hS?V5;D_c>?PFzns=47%W8F(~cW zK9$d1R{K)u=B4^~Lg$YzUYdqvO%YOWT?Y&_jY)O#h==zjOcm~-v{BGSv475As&Bnm z>ZUW@xtKVXaX`W*2Sf7It)*J-#bec-1p>qI}T+*b;Uf02Kxly?;SME5_tEpBNv zjT`T;G5ZxWPN=`i^zAf;y%>G-s(-orYC#m|w{ThJfwgDMMzhhp8SbO}fLi|aH3@4+ z={*czxkklVIWKuoX*2-#{Ah|C`Q0JX>6CwEK5tdqWq@+h;tp{y$|~}t_|fRY&t=*e z=3Tnu+mGrZTth6)xIcZ^jk((=*2K>GhT^aTQ!;iN<0@nv z7N32Z%9&e8cK|h~w=Nwp03u)+Rr$=wOA#o^iKb@AgTA$v{b#TE^l>1zUGj?_Q8B@g z`!qDebQ()RtARTgjw|WGKt9Ode zY?1A0J?OTF{`E_<5BlrD!>J3+VhUrg2wzE|^;OtXIht#?77VE>PBlck-;vGn?Bu9@Dc0QSLwR;VCy&FT$D{W>e_XqsAtOIaFKi z^5ajw@RuwXB)_ofU2-)*`jYTRwiDE1$G`=uqpxq<4oH zB)4e%j@uj{Is({%PA;p#@NYcH^w;Cgc**@rcZXB|4`A+C zlJxrJg(4YA_xC$&SL0?BOxv3~R6R&YzWELKxm328y-=5@<8I?X2ZP66-9)xV9kt1+ z>voyj(IW@?wrvT)nhchgiw^ukmEZk56>R4E^x5a}=1TC=5ri(z^XiV9_W#y6HwfzD zjqP8foZW!;*niHe+`OSpmO2mwflK8-F*xn5cYJyRKOYWObEm*Br$?FQ^9PQ=8qC!K z3TSkv7mnOjd&zZq1vArYfj)aG2wh!t>K3(biKp3Dt5$zIbNC`JI|aC=ZgG4S{1nt# zPn?r^W=>wU4E?YLl@I@pQIl4-QmYJ=p$Yjn!+{6VMgme~$`CLu(|!A0G(XY>xlN+; zysxFkK&XsVLXD0)vX&QIxV>VJ;i=@qN1fOJZG#-E1~Z&8L|R0QwsRio$J<}~DB>RU zEg6~kHK$njsSHVfzvc3jgE_xMCVj?%iRMn^>rOPVmbd5Lyq8v=4K@4Bh|=K+oe`|i z=bUxyvNbaPp2@7AE9@@UZnv}sHTPaB{*8j}a6JN0=WOx#gIDsF(__`s8}2~9Y9@fX z(NXYu19FIz_a*(5XXwdvB>1^}zf;_eA~>vn=E}d&fsJ7NX(G!*xYu;DxvIU)y>Z~5k z?9K}cx8m2UD|fVj^tW-hEh+g&{xRrJYu!AFlq0&B)E}M=!PdjVEZanZxSAjDSz3;B z)@FGt$s@OD#ZRO6CJ{AxAbgLo^;IB-JNOq{mMr+R+m|okeCy5ja;4*=vM(g7RQ1qjRBrFK#)Rb4|$ND|PIdJv5Pki3XUyS0E=@743 z?K%K+R{rnt2=YK7tWSjZf*GIds=@Wds1~GGodR_2B*TNOp}6# zP70lAE0F*ld%K$EG0(!%{2~oDsCH-ZLN8p)pFaGt`)%~x=44y7q7}ELzXQ}-DS$}cBw#ns@1;A;VDa| zF7as|wFBx?!r^rdo^5*OVVG$##<{JoUS0WfvXl zbpfW06;F9HQ8vQC0DWSGvCs$Jw3V3YoWoTMc1h%T$w5VYJ9k#tUY?)pkLO-+w^6^% zqjq?Un48Z@$aTc2%5Y;L$n;jF&(;wtG8>3AXiH{t@1kyMnAj!n;>K!7=~rsxJl#&OM9Mv3T`B{$Q9Re{=P#+vciFy( zJmuS>+%Lx1_c99fJvYQf6i$7I@86Cy&K0bGCIjV8;3Q{9dWz32YM4 zLgBfr&7_BQgS@1`&ZzS{?;7yDkO!9(9+4s5%HPww|FTHFA#+Z8q}@x1O+mPLFWvW7 zFv|a48@(Xr4^EwDtI8sK@ja>frm)rP3yXm>ye-#KZStk}JO!$j(1J8c0s)HFu>N_! z57%#(A+BF)kJZ0jM6jaJxUm!Ag6~UBXEZD>-{s+XveVQ3`ilIj=M;vTOesDFl}rD4 z{WP_yd^!B!YoZQ@)r*7tsjt9riC?m zEMuD~ssUg1idHL3bG0W zl`E98!F{@uIl7td<|7Ui1)2krjb{Er6_8LL6hE7G|KRuh`QHmb;aqfo4<3U`t=k}a zE6YBuWTmf^3gX)S|6S|hJ8ZEW2(8XUIuuLObNQrr%?q9BS8QH-x!Q!=y|j0djAp1d zEAO9zF)jY50av_3kA9oY^1jmeGJmV>Z)hezv4H8sP9L1%OfzD3v#jU$7dQiUaE_LD zvuo16XI=N)YbwNQnUxJ3q)iWxtaWQ{#azR0YF#ZGrAHt{kG`& zeAT`T^;oiDN??P(@jx{hvjH2;w?VJQuCjm$30p+j;r)Hdad&u$PBCyuwyVD5iTi<3 z8BLqBUK1bi)xv0Tjb6LrplBvgE4h2$qA?XXOwMa?Fn-& znT9(0#5p#-)3v6JYJc15@b=u4j&e&1cB4!H|HNic-cL$sZWuHn)d^0Hbg2WDdrucS zl~*NTTLbgYzBPqHb)>CK3c9nc!F*MoY5AEf-rL07X1eLPCghgMAu_RRQXEW>!{$Sm zq+i;j z^Hq?XAVI%LdZSwUQbe{Ma)PWvs1z~HhW5Ovep43@0(0*=zDU4Lya4UN1F^2Rw{Bw{ z4>upqVBSFaiCAQC9rl-ftHdYnCw(lq?r?zl=9^|v#Uz1#1c1F~BSnwX3EKPfbB`t{0TV{x`ARS8^?WLgM(pyhkrw3y&Q|YnI z=j-jD4{btyuHuh8(rU0?TkwtQ0ZWjjv6Ah@J?~YB2@5`kNRKUU> z>!b5EJNEh=>tJ&~R2qTSr@m-N8+y5_-v`_BqP-i;J=()Mk!vOOzd=7ymz(u{u@jni z8v=oa>a`n{q~gF^<5mZ*3AooN4(`jlIZ2BZ*jEAx%Q1T6wTnOm_>>KyMnDCRPac9* zjYmqqv7}sTBgo%`{cHZ3HcL6ira(7Q_rYad zZszpE;oy12RpSZ$=f3TQDe1~W&{%m{FK|9GwMgm8LwT6w8Qzx6=SI|h|Lx1-eDY{- zjmK}+tBlVN+w^NRspIv+<#AS_1>Uho>}2g~wbP=_#DCQ%_YubAba$4jQR4$}h7p|K z><6bh8vK)8UlVwXmppNeLxSjqPq^ysXI96J*Exoa!{u^?&+X&A-BoXbQR6X)k>lw5 zw%FUo>I;E}<#Wy0LysU=rPN5cIO|wl%MYLXWxDIncJc4@*3T=HbQq4j*PY8A-eZjl zEl=!cGT5T%h5g3S3_;sGy*;1wnZ79g&VvFHE1J+a`{Nz~S%`&!cMsNZZ1rfGb69G+ zE7)iA92=j!*{bz1fW0S5^9KKUiwx~o|HQ-Zm_~nVjyD&;P&FY39jc+T9i@cTUSutx5=Nw#%{`&z z)El^wkZ~R!3$nSM3@$E8O-pQRa+<*v3G4jX%9;5?I_(<9Y_w~GQ>!VzbG4VfL*I># zwt^mpEB#sJG+3flF6ZD9^eejx{xUM}x{S-#VoZEy!w)w4`#kTJMQ^?+W2kCNJ)Rj@ zI#qr0Y##JgH=w_-BX#4H7v*ljYkaAhRP2j9!GHq#*>d{UI7gnrol5td_mf<}&7vyS zGwQHkn5Pab!7PGcPz}UF%Nw%jf;6PslYo zr+K&8x_7v`uQ+qw5E zN-(UG-3-pjoa`{I&B7dYmF{!G)-fx&{d|zv9NCB7(Zs_{VkZSSnreygCR_8gdDIZZ@AI<4n<)X*<%l$z+ni@0gZ!!3<_Qr;3^Hn{13X z>g#!0w<$vF_R0EUe6&hSsM(71@slK{7Ao{Y{)RQE6MIy9L7_IO%Aa;|zLvu#8nl7q zqI5+hc4_%ygtx)|esy5lqi1Ikh?C85x+hG%Q8_(OWsg6h-Xw})F}rOO4&8@d_weHf z13T@nt$d#hZL4nuKX1|364EY8=>Bxp`Q`hslmijfvZQ=0W{8# zQ~OHQDDfO-(00B6%P*OgeEEQ|!9X0$2SW{J(&^jnK3&2)@1nuA2R^Aa>c2hDHiGYb z0E5vq*SSr=_5#V{ZY#DpM96@MT8_*RZb|RVZh*(6K(t&hAe~OmnqJvYxxBZY*M$B1 zVdPxQIsF&9&A^i5@|T!EH_0^O9f%HDOgEnm39z$owrymr<3)jBH|OzkB2)%}Y2Ub7 z?|C8fz10>6Ed(ph3Q*t&{FFa~!EHr)@cUa}s>jZaCUNr{|bC)p7&;~1HjAsHdOfX8f8;N2;W{$uR&IX|;wQC;vyYMspyQ)JYU1yc!!LZRYAefp z+FnSj{QNz*rY-LRj0jLIZP|?GZ-xsz51VnA+n>MhkW$^LHta#O{Z{vg^leX1N6eUe zM*wwQvFvuYN2O$lHjjQVbz9Ea=Y+=b0%n4?xTDy$1?Zc9_DIYpOb1xY%}iY3V{EH}qa5cj#U4cVHi#3qd{-Ke+Fh?dn8?9t_qDo${8Dp_xi`xKvmJ$nQ-~FU z;-`yA#oSq-);Zmsn;T5LML11+UErz zEqXl=-%dI;gwM}L_*&gDRPp3QVM5m)6k&m*tn8iwZ8mkX>caZ1qy8F6DwxX6gQW zoiEi;QUV!aEuxw2={-`zGdi|G+;;PmsB48?X*gT_X|z@E!F5-fFUA|3kn596cYB$* za&6aZZEk(`?(F;VAbjV~FVSqQI(Q!Lm3hxZz~r4f&wK>!xaOgs&w$GCd&MQr>g{s{ z9B|hi?p}G8R2_4hj`bu;v{@>3y^nm_$Ysf zGq_j2d+gRDkUb8c{TkCqcx4Rvqvz{IY?yY)J| zhA1c(a?td=>qW%`L908~$mI5=e+%k{;Z;fiSn~8Ww~pzt^7DZ#QkX&kbN|M-KxW0t z1LfW@_3gELpM2E}QfjADc1uqMxV6(;r!dJ2=9Inqk8q~MucR@r?A2Otr60btb(_Ez zv*8J5-WNN}?oCT5pLOOgPL?30!ggIXmsxd_&M*4n@X~@QL1p?RA4<)H-(;(159#9r zbjVEZg7Rf!IdwO_ey$%hHw?rXr9VJRrjmp8di@N03%;A+e+8MVCibcnjhoNqrZg~| z&49_a&U1KPS;sTt#ZlL_JGm|b+e8!2{Mo1jV?iu4wsQ~Xk?u{6wRQ#^l}DRe=8voo z)$Y3o^RtpaFZhSt1Hb{}&IdD*?8xo<_^+Lzy4N>3nHs=Nc&wn zPyQxAX#dte@j#JKRITH~&0)vlnpTks;Hi`!^3(-D9Osv->83ttET=$FonN+ceAzTA zp9*5eTS`bPp3QIaM}6pwRttCBFZ>Bt3Xp%*Kdr7NiU+6h?RLNGmu58SwC>9dqPmUO zZPzFj)-FFO#goT`+n5(I?{s}BmIW9uty%OwNTO{6!jmpQij(b&KcVOA;j^)_+=?e+ zdoAE);W#=9g;RG>S8A}cK#b0msFsoH{Bfu{5Xf`)=iO~5vX7wAk$6vgJCZahordIX z`bweB61)!TcKw*eX#&Mky7*+MneuLqfLfdC>_gPkhoi;g9*q`SC_coVaId7h$CXzu zs`0e{@aqwXmXo8t71|x{HtkKzBr_P!wNd9FlKZ9MTN}w4mMbr)hC|oT(RtraRxK z7^+(j_?E@nP5Oo;=eG1dGxE7wc|vN4n6 z^uon0ew6nPx)XRaY>r_9|5sI!7DFB0AG`qlA??_Ci7PEgITi`7R^7GB#&vM@A-D`b+6!xd-5^3A`;EgYob4 zUIgiY6J>IKyJCyu78+X1s9m8BC>oEkT@9>Ax8~*#-#nw5>6^LmFsr6hxndM@22n2u zc`RKIi~m7|l}RRt_>ma2zT^$*9L62MEWxCg{JQMnho_G@GfBEYJS{03V znnnIkJ@I1h`M}(k*gbix)wp*SHdbUj8@(IX88|Hjb5%=SgS%FnFN)F&rlZ`xJD-n= z^Zj-iXZ5Po_TFFaIhD+h@G8=SvJLC!klM3&tqU&N zLyFUh3wmPbZp<>YHY5k%s$Opi0ub6jGj>^U7_fXZ=kY8mBipsEiZ5~@wrfd-SubzWQR6!3u=9};*$oM zjq-ZYD=ZC39G4c->Ab7xKbU9XE9xZ_y3&0|sr16~6$+Z_Yw0=YHbppHOu;9%sq{|S zOlj?fH#u}+Zv}g~y8skCV)G|dx6R-C&ua+$FgH6U6vJh;@KPh1+!^y0O zlM9^`A$>(Z8toUi%lYi)TC16f8<0SvsQe*9XE--0zS?L{-GX>*t{EbeI`=nvn9j!* z*I|h#At&hXM4TteX76vztZ>+rn28^GXhbFf#@WNiiaRDr-S1{irrzVPZU6p#lG}MV z$G`;sUASwg`%EiwE56^;>%&ajP!2ozJaw$RhFNQ7_^0pa@i+Z5V_mPXJ!_1-TczI> z50m@T3E>J<$NvLs51bS#4sl69kVArE^Lkk4Do5Ic&HFKaFTxyAtC+P1^=@jvQ3<~s z{x(sw;y~b*zsZ$o@l;&Vg3R{id|ENn>7Y7~m|915TV1dWM!^scV)!xQl~(cU6)WAj z(HP}NxAEMVk7#xVJ3jB=3w?)mI>-~7*rnX!UIQIr_c~GMj3T^rlQrBGm zuVCs#znP0aR~NL*2K`qW5B52AoGv+NPsv_Rn&!p-A?ZCOilz*=%j>2C&x<8DcP*&+ z@M_;p%VkpTOkaZ3G;z?a&hEq_+eCj(W3gt`B1Pv1uMh1Yx6aa;8TIql{)YR#+!n}Y z)D(PoaQwE}zwb<7&h)mtA?D>#JHp}FS64={H;n4%Liw7fLr|~Tm(2>cTuptc_ILep zI|7KAH`#UD{&*77JxuKie5G)F5hd5kX>_yDiHY2LU3oJjQQJ_!!@{a9VxmvSj za1o!~W!ZQ&#X`R)Upk~~=HFz+l6WYQq{ru^b*NTd51tpEo&M~Gqf4Un8SNSc7*8M0 zi`TI5w0J4pFRTut&^4nF+)S>AnYB=?m7-0BL&JL1x};Oa(MP{JRs)z8f@JdzU^~q1 zcJaHp=4M*5J0#!TK)QnqZmYKUfqa>R!#&dI3kM970(&(*@wrPG0F}M<1_y)?Z`+r%{K3|=<1Ke_$_Oy!Q+dcTR zsvK}0J22q}w$R+=fFRzq;}n#d`}S4lY1v>bkmCORJ@tuLPY6 zv>%<(l^y}*mpccA!*i&g#I zPWiz;M(t^;FcI}-#-F_^pKsXj+dS*yV!VobtK;W!;CnFV-!E(8tr1M@;rM+!W@xn> zU5ZIO@oK||besRRkZQWHwMSQMZ4WOPAO^Rmg`eN{mKC=B%99xSUKOvxR0GhLt9*U7 z2OnA06(A5MuD)e)0@79JSGG>dGqMnM3Z+DYpsgj;+8VdsC3>c#;_!OR8{EoUyM1%K zb#_BLnPr3UX6c{tR|xryRb387s*!WsQ8FmxlEFn0;wZhN`NhJm{93EdAcKz8s&6cC z{Ede8_{UaC-ExhtWhD#p!BrkT?C%>)u_}wdn&csjHA5;mF??pfDVV_7-t93Aja+&Y z{iF7$0ZltY&1fQxj+^!78%q4C@N^d<33HeLZO!HOhB0!t$0$1j#=aFA&fgl_t+2DH zz=HDI{;P#`^gZ|Y1JXE%l{w2&?ya$io^(arz(DYIcKX_>GCeFOrC`1m=m0UQQ$Bhz zQjoPaFu8gU%eiW2UtXM|DA%birxh(yfAnoHmC;rEUa8=tL477B&Xbk&7;e|Ceb!8X z@4)v8<-f9c+G1-B#vuQl5}$a6Z$IgV@02wHYh}eFq!okz?b^`X7GBcIHQ5j?j)bn3 zBg&tyyqQfOY~C7Q>%*7T8%~UQ-TT^AqsW$bo12*l*qv+j`<<`Qc?-FXeblIn*vsB< zP2UeLQK{Ml@~vw-;*9%$vpDxy{}8LC-towhe@wlAZaFjix>)NEn;@&Uzi?bNM?H(-X9AZ1kfS>cbXTVJYG60^TbQvGntOz#i7fM|nPrstYOP@gaw|oxvbDPc9`53_uP&ec#{@;-{q)3x7%q8pYnA2TCu;~N$LGQASCFH z77#Cqk|pi1mxDOv2G6*|$JW?cc$X8DsOt3rrXRhDwn*UP3Y$ddTAoZd2eTuthUu}~ zxMc>FZja77(N28JhHOP;G;BZ4JIwFBb5w@AhlvN8EB{pi`cxTM#u@${wa^Qt|C4uQ?a^+@8g&$teQ_(Z2-Mqe1V*iK^>)~4?5{S-7V<3DWa2nBAKm(30Q54vBPmE|y& zM^6<>qv5p+dFQgSs4lrU-}P7Q!Q5}R<;$h`e{MM{5v9(O$oaJgo*$n(o91tYcYeP{ zshhX*t4;gj=*JrOD*B*nL(5MikOBMhgf#K`={+Rltz%AS31`lFw9S*@bv(l?H}OB_ z+nio8vL~G2#&?e{ouM?nW5i=2{eDLc0-2zFt~PEBv{xJb0W(;lu^jpS^t@MZb={Cz z1DRX>mD>PWfJp8p4@xS0@UOg-Z|5xZ`-H=qw*^{eSN!l(Fd*LmvkNY&4(f=Xf7Yf= z?do9R-xw!GE~%rSbLZ;r%%r}ssCuqRqY)YBjT&D-UHJm1thM{QBv9(?p^^(+n_@d$ z4;He0-K@_2nmSMB9ts1iI=TRR=~yOkzPev|E696bp)p>}xJLc2)~(QN=V)fMqj-sZ zp(hKeOXAlKYfwyWtEp&p7ui7Gdg2iguEQQQTr*9InqFP+A1^ zbyC_GokGnY7pq}sHzLKoU)vQ)A2tf9fhLC$OyRCQd;Z$rv9+aK#b=DdQi??&L+x?n z(yxnK+hgys`|$=bsk)P+*~FSqu$Zx@!XJ`!&th+T_lbRJbJSaTFf43&_vKRbgSlgL z+y+dW?IisaS_7q8gx)U~%9R8ga(B|_ZDNH#^HK@W9@j)^TAkb$gx_<_1J3bVNfZ+1 zlwd8aWjS?yn7uz~A+yH=7&&bmX6A9Hg0VL9-;Q03Z9@FJmPYV>d1b*X;~pd*G0C$8 zwlaR>G^S1Te!~`Q$yk4g2bK7`|Ka4Ua23@3aDP1O7U^@%7>4Kou)xNZ+Usu^p2N#3tUQZq+s6GNnN@bGaHC@$4zgYrOrG3qWAwS6Kn1X6xFbEMYc@&uZLF9>`+!=n=%yTtZ2-{F%;{{y+wu@6 zds_rh-kSLygias_c*?KF2; z{dFEzZoTav+{8&U7OtUC0uEAzoxM&y7khm8to+`4lUjQD{M>izAWJ4qRjMt!nK%(v z*hELKy=Z9E>0dB?at$MNIaUU0j|0IJAM2ziaubtdC`4g^Lb?HPR;i#sl4)AO)- zUv3f50HB)#L6VCm2rH;><`L^TKh7rC0F=Bm_zty?DJttSmTpEP;1ea^>1++#eQ}>T zi}}}X52i}_uzY`^2PVsV6jmAF%yxMNU4z`v;^3#>+4owUO7v4T=34+2ev*EWUh!vBrfb4$J1ggUKi)4{w<^!%iSqS};pH7%r34QX*MVp$8NAr zdi10}#q}y?FiC|z3eI`{(5Ui_jfgM%e)X1mS< zbj(7*J9wVyTrSZ@o86!`40{*KfTLo*W*#uaqFKdtiR1PpTBn~5=VV?+tH2-$CO6P- zH9%brv$(92T&+9yIn`e}IVH@KkR7M9zEo}eng!e08sRaz<+Uii4(szn)GKy^JaPQ) z-t!sH9kqpU$S<oy`DNg+@9sBIX`->N##XsVfDgfB4*SsW0|g+cX=Slt8U&4tb87hCfeY0Sx#&DF5wuE zAo4}_^E9$b_chx5)UA18^Mj2JzdGZ&e5oC7&Fj0$zbiunw z&R$=GMMTFH?_%(6WXPf4)zP|EDjddlLFf6)Y^8EEnqI!GjrbcoejV&(i#h)AYU+1M zI}L2S$$ciT8wS5)Pl_vG4drzowCmD3hmUVKx<$gkWfyvtB)!!$6OVkb_h+|W$WaOx z_cyIGN;%_4cB~W*8IohR&b}3l54vP5EIE1r0Dl}R7uL4#HUHa$zYFWO65<*M?CH9? zrt?d+dSwQnZX2Z|IoaNLSXR?@dM4Ao5snTwf957w5`)gE*Rk789YZ&!+8G!?dTtLL z!p&QyBT=M8zB$gWu}>u!~H9V zu;&Z3I>*aBI%w)lG%+Fl@o`l)O zYt%g_7SYhKXA*Sj;hbyX$+ju84R@Nq>%G~hCR8f3bbw7q{Qk-{b0vTxCh~Fj?rm|A zEcXCaNsKPDpcD4f^E}y0b^E-}D=I?$@PKmh|GbNCdo3-@H`y7@e&7THHzi#r+UC8u zE}HOD)D&3GwwLm?^M|o99O(O)KXc#3kgygVg5AYvd_RJTk8-#PSHG@44GH(Y+Q6Vm zBbgo;>Vl_mwmcQVz5AMg$HD!c8zc`4>NU#kY?^B>&-;y{u5fLA*NoEd**10~g{?J{ z;S6sJK)?ndz4@D@$&GPoswO$tMz~Mja=8ywvB2F_#O z!cr{XvRVg-6RT+YF;7JgHeF)n6a+L$2M&0P^#S*tM*VG5W8B@PW^v6g1B_q+Up3r> zdRgG#0$&h>^d^@kduo2hyP{^M*T<8QO>4V^Pv7og_paO<8QqJ@?fA-Ei<4H<5pT$? zeB7SbRrL=geA;iFjk`I>_t$8#Ja!5G{t)5xxrF+Dd`){BTmL0*@$a-GzT`7JGZiukZ^BcsoD z1C0(!x(dtA+t@uwH$4usYx;>e=Ex*n!3*IEn$H#E%jcvN`m7G0OWG*YC2Yv?d%IfV zv)OP_zH^r_T|nvmvm77ot^>j6kOo_0bJs6cxZR}tXpUAwwOj>s(HbCCiEXg6*_fp1 zZJ_l+R^w{p^TklHUh{X{ixdHWmQrgoVpEXlt!cdYmxnpQf*974>f05FVT z@8k1JUkcxzOwMf5>gPVnV9^>+seW?H!EPq5kC$|LwWW3Polw0BHkiBp8!)lt2Dw`m#HIk|9&7VMJY_?2ZPcAzz8fZNx5hNkN0e*mo-4}m-^ZO? zKdQkOxWAulo)P(}-sD?n;I`_%Ig`%hWx7Jq>#wtcY4se*LvKwO!wQ&#wG7 zS$k4g?!WBz1v}N6fB6y4S??{(F5pNja?aw90Yp0m#l|AL{OItDpb~MiSyLyePIu&6 z_k7Hcr9U65Fi5uPj$2f@z_6t&scpLaq7c~qjj7yAk3*Mkd9$Qfaq zm2M(Z;|jm)4=BwSIEjy4d)|T%0}CXGc}U-CN{B(@6~1A5Z+;039BikF?91cX?VPZ7 zMKrmZ0Ks**>`bUer`RbP&;%LGmll*9TK5$}yg|NHYDAK>l)h>7)-z=Hr`uN+xduYRc!lzdo2C@&tjC4)(pe zXrYr3Ad)4Qdn{E3G;AEB7qhxw{YjC#Q z+y;C1Kx*Y8E_~0O4HP;h%ALl!L~!vsBXR2~KOJ>`T8o_TX+i=R42O@`>TgGFtPD`P z&L2GL3-0^mrhID^K|tCYEw7E61Hmrm+S}U~n2_fhY{{%6oKvT^h7@GxZb_s6otyoue`7YWbmfP)_XI07>~T?U(wucBtcEo zZqO}eJCB8s=+bd1e?jx@YyMIw?A4QbR7YIU$PH>-n`lFrr|-f{XZ8bLatpqw!iP@-;!XuEm?ql zcb<2MAE_Ow;yjHi`$|rjqaDa9P=o01mbn|0rFx+5ivDI#>+LoI-%YtP;BF^b^q|+{ zk@h}LD}xW3!V+w0F7xo5e5}+pqU@~;+EMCCc#Cz)-0NDjF2jlen6Oo3dc`8L1n1-f zvba|tW5ZSyVw$p#-A4%GsvA;>@BRXh){)8sA{TvU^2;g1>0-8CjPlrO6nLf6%q#wp z8@Igp*`fV+RgN)}*!ox|kz&Mcz0^zV9lR&N?se;^>=<8!RY=>k{*1;z6vY>FkhL>Z z;Fp9oHPOYG4bCWSJ!nLfE5_t!wD8jaAQ9x7<#+^v=P^!OTBSLyR<&}q^fUaoMRC9+ zTVCHHb;E#j1>^bqwRrbT9q`*jf*7;yB37Ht+>Lp8psBc;fVZfEYE&s{ceR;A?1=`>=pzXkL8(-4b!=5DevhWq|<4g`qeg{8rm;JkZ< zb751RtGVxEC=#n02F+&@0JD7q&r>%@jF$g!SW`7*p&ix40@9Oz6o7!uQITJ+c3MYA zhNB7F%B)d(W~Jdr5Foe--dMn3I}jQ!Tqpa0K;G8%VTH z{kb)iGgb|m94RmZCYZtwa=9hwUvqV6RS=k5?F*cD=L=+>U>X5u#$bRtT?E3uykKK;*>!NDyFu7TUh1qQ z`vn5889e!?$jta75XmzGvm0^6zgNziJOxjZc58t?EqdCd`u?yCvDk{UxhL*HS4Q z@A1}$p65&OfzG|SbJS`N2k?tgTW^a46lR}$yB#;9fC8ZIQd7T)^7N z4E-9(VU>q(rHY)+_d5(aR$IEgSg*Z$C5%S{$tKE$N#nv1;cGTEPUllN8V?T|WSA!W zfMZ?A)j>klDL-C%dg3fF3A)ye{!@m-!*nFF%Xb_vYc(vsyz=qjbvgNC2yVkUIU?}2 z<{tO8(`8TC=ji&^?gry;v{@$gSBqaX#>=eLADlZdc1Ihq_%RIzdLx$9q!kN2PT zSJ(|WeQy4AH=irnW5DKhw!3q`wkE{KduVo}l3VT;_|~Cn4rj@HRAQW$w=0dC;ifdp zk%-HLh3gJxO8(Nh@@f>Xx3f}-IspGGpaA^6RXeECCoO`6j7_65Y#!ZjsHK8IKl{88 zuO8N7T>NZ!5V}rR)UgC&$YN#XUh1^km?fL#Bt8=^fkx6M*ud`?)qhv7{cQ0YIYr;9 zB(KlscpKe+un*_>-fbPH3>8gVXBHl-{kB~74Lz!UH}V^xUi(9DRkVj+KPpv96WU&O zNKC0Y2NR-|wHFuB(TV6>=8%V}G{1lgfo$J9q>}wY`N?;J z@_7hKH)0);%T`rkH3HW`F%sn(OSUuu0tg zU0d`Eg8bEnU$o*pQcVt>X5p9w+|fP5KTlo{=JxK7cR-Z<3^qc%c+8vz1bXpP`=eBJ z5Pt%m?v`89i5y8EHs|y_S2(ZIG~l1^c~WV@yYjTexae&RjNjsStF&eVdKYfMIQr*y z#Ky6a+xSoWD%H((XH`oTfYik+mUIe{XM?n5S`G*NcYd+NgAQ~%{H}v%riSh>?284k z05$r|0MZCMi~4b3J1onU&q*sijc?dX`^2MrQ`ieDvs^A0k{BITPuzNU#y9QBXa!~Q zQUMIt$M9St;S`+PfC^?;UojmT9USud{tYkE?Q+-$3xuEN``Cvv=&S zDf`x+V|C+7xbjdn6;c7JFW2#PnUNnN$dM)RU#WbE@>Bv zu&=BT%TUb)#(p=tg9uhy7HAV}%4aR)ta#${P}7I6!5xcr=^580?^plqkI;QP z>QrC0TgD-G)aKRJkl;Pxo@Mg`^U4O)pyvJSX&B<%d5+sl%(IH!l_TZp?Eq=x-=caYbUFw@%l;4bbo|J*;*LtTH)a9t4=w?g1BW z*!AX%lz}<78Wv(Q*UG==#y=YHnD^Mbdn??}uwbi+hg<(T%#=?SxTo`uRC>Mj(-uF$ z8el?yi=HHt!fW@qUxw8lgKyM&dsStXg?$H1FXS8*$tafZQLU}wKl-azfnIuaPC~rwhK~Z zx9N7B%Pks%bjyIIP>gD2+$>Bqr!BoIV1DfqF6d?5?byrVYE0p9QhIdBPrPWS=Rp8= zl1EfG`j3{~y!*hwdp~+cvfLf7&E39oFOAXxr}z%r(${PTFLerU(I zkgQ8xl_)1U{13f2?JnNSqN5619@rxE3$=4&R1EDN=y!=~<8SfGf8Ej*R5MgCS@TEw zWK+31-VW~bQLj}>K!7&u0w?1Q7>Z9$m{Nb!o&Gz7(0RLd{@VMkBR-|Gy!D6Q;|XuW z6fW`H^qe36ZU>;^wOji^S75`nUB+R-131NV;-U6mFa?jxy^lD~p@Y1YLm|nVtX)FQ>bl}}Kv@531XPA+hgYxh~ z51V%>k9BscB*OlsQ_79iW8sS}S&g9RzKtIZ6NWdsKq}R%aBSlNDdDPOP-a$PVPka zkKXQUc}WAxZ26gLs%r6ezwFiN!#+RJQcGg}I-3;Qqkx}XtD8GRQpB)(Dt#se^Rqg^ z1FC??7b0WQ@-4jI=I&^^IzRuJi)#;tc)OgR%PU@m^%gmN{(%*G;kqK>sZ`7*Z36*7 zcR>I0zCkKYyihJcRr7MXtt7Ls9#obV;Sr%xW9ixR`GM9aImq+MbRgeA-`cBjGBk!}7Aasf1gafs${Z@duV;Gxt6q$& z!5{Fw9-}(&j)YESfUQ)NyZ1+z;HFAU%mGXO2vJ~a&Y{n< zQ7hP!p7pK}kWnl_!^M6}UX9~-S2=ia{TY6aN;q^sO%GJfrRAT!iC~%5sl-e^N4}0q z%O`;H#NX^S6IRb1;)iAe@CT%QTwDP`eLv#%=VzzbMEln*4V|qLu%Ia!X1t&0@G)63 zBLdM6^*;>GQ|lI_c{wivFIuSO?nEv?niFB^jExTVd!_qP_K91`-cGP53XV;_x!iWl zqg=XLR#qKhw{_(?=pm1MpqMEn?Nue{wdvAK>$%NBldeOB!9fW6ahDH__oNp~U6!a- zUFQ>DtCt?LEywz5YkPc-f3GQ|e5$-WMOx$Wb5xAfrQvn!tpF zPyUW=Ju{dLz?nZPy_@xYv7T_mSY6|CX1os2G!1pC0+QPdJtyLr>fnt3;f05-ZUanSC zpUI0!xBXs+ILfWxP`nfFRA%m1J!&-tWL1@1iM=GIgsGi0w_*Lf(?Z8B3frVRv;tK5R)mi0b!pp?3eG z-Md<rbum_rddjpd@D+xrq3Uo!;(h_x;9kKPnl0lwjz*9d~psJv6%QIBx8t zoh4(lj{esBU%y|TeNr#>pD^o_S~u!8q3RZ34ZQ%&3t?&ShV^dkwws_{;-f*tcM=oH zZe+HKuS34K=AUBuD|W#agB-K&v+h)(Qmm}t9H>P=FJu+ms3s6QXnY@+1$Df`Z?boe zeG414SYy9FB4vGl4W<5fevZRGR5HEVq$N;X8UJ#HtdZ~h{Dn}4o$~hts1dizB?@&? z%fl7zk*1ZGORlE9ocW6)U@hCE+$8h+AhtwRA5tZ1_DQ8tM<7LM+3F*WVN-*gLbk}@w-&rJYk_FZ;#e{!pD)-*eLEBF^6E@%ZOltGRfBXG*^Za_(*z4tGIk{)L zGmeW9?OQB>voq_Vu-%dhsKzQLd^e?I<}_VtRcv-d)?F7WBc z_%V59lr&i2{mncs9$!PMprk15>WjSgvBzzN@&?PfL~nn>Y9@Mg{MTC-P|H00J?&pP zcZEaC^-i*Q5E{F5(PaXp_I7f6(O;lI^p%_^aN$7b{Z-2j_{amMym=|0^4!+i1kM4{OS0|E8}FcP7)rp@%fX zL*-Nv%v~~px#bHRlu;pkhS2%j%<1XxWZFq*7!P)~8wJ+a%P`LDKZKd@nN?13{kfJ_ zR^34`3N(Gu89N=|<^VYk3=q-qn}gNP8NikQ`=dj;o=;Wr0M5 z>FK5B+ppTK`pCAWA2uoF4s~_(hh(7ohEg7LeN2YncQvRn^4NX_G*(6~5x)(leuEF~6`B}6W z%fFU$ivFFr2hpYPGNIv2tEy*RzzgO-^`N}ncBa7V;e z9e&G%;##F+7-Y@<&HiwY5)H`XMYM|i-!r_f?SQDU1$c{n)@jzcOs>1W9nYBa4o63q z6*Tg3-dU6hXR#_j5yK z9?5bbHUi?rl<-}Zj#>@o5#fx{%xY^Yfz*C|rOAQOaU18z-1OJ<*b}Kv`Bx7;Y?`iR z?RGhI3V~-u_M|J>x#8+&_vRCV^anr)d5nH;ySOjp^b?L#C+%8g-JLn*yVG@N)FC!K zk>3*2?bkY`_uBE*LmY!xl-X{&zszVpPtI`n@xJcD7N$eci|SUv*rB96rPEV7h3LQD zpkU6=E}DM-3>vstGJYW4m=i`bnC{zpa^{+S#d>`vBEh|V$>D6LB{=z?r0t0qR^L{7(ocoP*1{8UWt6T!!n_8{@Zw@moO1o<(A?SW9dd?1e`4W=-?X^do8dUee{=!F99->n|5A^@p zTZ2*E5_UKpipa+^33)xFTZtj4+m;qNy)n(p1Dnxn-Sg=SVtViVl!*njo}(?cgnS0- z&?X?cqB}gG!E#(8bpSN!TT_OZEc*IBU1OWqg*geJl)~FALNxz1}BLf4{|UAtc+EB*Eu$W=d6PC&Bk+j zlQfL6vq`lyt#7Ha`7*{>r^@taihWQj(REu#zYSg<^(8;*E+O$yT?pqFa}U4Wi88ah z8r&-n$E`J2zuL{2`mIJpqvZp$Y8lYYz3B6>`!nA|9zDWWt92aiWa@p~fRz=i7k>V$ zZ)~1VS@&?aw!4gNA<>Wfz;H`U3si z8=Zh)Ce&8<#U`dW={(G3_4O7H%u;PVnHDDXpfN?I^R46F%eA>Qg!TlW7a$k>45i8+ z{oTnN(C4?+f;A6kmF-3AM)B=r+@+^XlS-toFEOxg;dEgS2SB0Y zEWH~|w?F&J(A$nSOmEmaIgF~J+Q-4CtG}iNOo-Z^$rehdiZ2u22lb-$ z@xe^twy)<}l#VY+8??rPF`f3VJvAm_(i_W5U7gjT%%bIbIHy$37qp&-@Q;0NP&s2i zrLU_4{w3tH_A(MaxfB7fQ^>#BhvwJv`$^Sl6-;-^!DBy4o2c=tV zvWpVT0j|J+PfzpZu_sf9X4BXpVij?Nt0Sj|J zeN0cIN=eapXc@yi`7^D4dIxEfr<5z>tWKyUhwg?PZq4Ql*bJ&*qpM`9u#7*cF55R- zF9nsX>fRaiQ4m0Y#GD}qI~YyH^Cf3S^E(Mf9N~CW)CU@mf!Z|~!7YjJ7`u^KA#sQo zA0D4@yG7ym!e`;?z3*t;ESo#}l#SrlctIlXFsgOZ5} zm}_@(2aN6;kq$Qw6Veq z@O{apn^LQg&v`aaRQR=vC2kZRm}4EDzL^JU1C$QgN8QXIJ@;NXhpfuV;YU3#X;<2{ z{r4(8*PEj!| zk||#dI2+q+d^#x*Q%zrsoL&9$i{%HoYm3TQ399`ZS!HP!5M+otqZ-Ap16b*=xuB)N z=s7KP<%>qbo&?@6-4!+`yN#9_*q6~GDdup)mV?m~Ngm4Ly?c|)ZH4{iauepm@TcEg zuXu0OX~)hVoj#jSJ`$TOW)`EW$OYCVrRvRfxw}%Dm)(g7^X22N^MlhxL{5~)@iy48 zNyIGB?#op@X5B`UUGueaG)%}R$%t%u?GIM@;8Z0)tc5gQVHP(-!S^ca^`^?>A_0I8`-#Nk{ue8SRGz zzsb$f<^H3(zAM;66%Ii(v?|}-MFcC}J>W*`+v4vz zeOZ~SDl>BB;hl19R+i!~Y(q}sa!YUqR^GyB!5SNAao*QDkVt7ikJhfe$HcbM-X55_ z0T6fe``;XLf5<&?jPE@7Zr&;9N;2Tka>n8qRVAoX^v#edFKA>h-!F`r)eUMC|e)ETieWoPCNf)Omio zFmH)xM{WTHi6OMsBh0uX^1-R0Rx3s?QN|foz z;`~po64%|~Zc2XVo6U;n693!-ezxTuA3Yhc01)ngg7FC4rQ-{XtDlEnmkBT0JNC@; zavVs??n)Ce@h0}ft+y^|g_C2!Oi97Alx%HJ>ZF-2%V5vg6Ir9Ska`>C{rTql7jU+A zmrN~Ctna>#a;2vK<*OnMN8y)z$N;BAp1p3RF!)|$wYo|Rjm_!s-1Y3*`!&23a>OVP zvx~|G1RKvefY_~#bB1Yv{;8;2d|54bf4KZEEDRImNun?syxXc_J;kuqhb@Rf2nEzT zpUdQY*cbMufix1r0Gzb=`8K`w2dwY9?V5`-V{z%NF(?DagL_(`*TGguLP3^0u6`t4{Ugc)#>37tOUKs zO_37ErulY$A77)dIlK2a>b>5eOsU~|<6L*^S8uR~M~8L&-q}#&zpnK8>~hONi#t zLMnNnWkpoE4kzvPV_;tP%KB85wwk%h*T$>R&K(-df5hoBt@bL#y0uj6Ozr-sTGi!T z4kkwoGJ+%PI0LoaV=<|B(F*!=QoiCr@d{Wf>c;Cw6j5XPHpg;v)4M9?QM)}ZpUFU`MlUe$=3q2+9@YP|l)Wxpn=i3D$}L9s2hoOb@yZ}-y5d4%{|yp;RSolt}TMzM)E z3+>CeeA6lU<;PZhDlvxT;@;-d68V z+F(;+EY5qYN{4%8VQua$;YT&Oi8yA`B427|9uVhWM=(B*&0=%gscstn4B#TD1PA3iT;{mvB(6p%FqtUcmp zd!Z)QbR^XExgH0N`i&14bQ5wyeEBgvh{vr|D*O(E_P-oBiTKp+_Il!@`AL1u=N?h&RfkJX)js;O z1K%!*s*`2YVTmY>5!hCbwC4V);j^=sl8@S<@PqP5od>7*=)24)WJaRyY!A6*yf!c3 z#Y5TQ@O;5NX%}H!#)R6|Hli+|n2MU=HKSa2vuZs`vs+gu!)v=G*18bVgnec6?iu+W zG?iz=sKicMq@Q-TI+Vex6+^-ks^tflL(*WfYgdz}E?ExnKV+`uE`odLjfnlc>}=8Y zd-duI*XBGbXSAeGx1cZ(!l;Rc2+XZOT(_Z2A3=wZZw5aB% zo)YU%?Pb4YHiIG=RbRbxp>f+* z0n0O9f(pB;o{r1UIM3yQWpKTx=L!CtO+;zZ9ARt)JHS-Ig9g3=*+<`V``@npcn4pm zS-KI@F=8({Ple4WjcB@2yLxSu55(g}ci+9p?^a&(a%i}< z=C+VW!eJDYm#jJY=dk1MgVd+IUQ?`Lg%3vN?wwAX_M*nd{3tKBQn&ujg<0tkX#B@$ zrIUi9jNNT|GRqyWvlM$9cw$EvXVJ~0{vWajx|i#;S`<9w+&Ilws;*Xq=h!Vd7Y^k2 z^!v=n*=DDg4tAxlWPYW~u7G4{iz3w<*zdb{#XEo3zFBHJZtk(`50)*PkeN9H;Dz;K zh!#PuRq|hMz+>L`l!|vAIiD+hXI((U6J86xPtqYB3GW3vr^T$oVA##)Vv}x1qv$_rLQxls#YF_E7h8*3ZY!!A7_L#xYHyqn{YWW+_Tw-0Wm+epa zS!^f7Vz<{pZzf7i@`5+A+Bwgs@H(APpecD3_$F*cr``Zdwb>?-g&d8Cl zW^%c-%);rANU?jI@=IrW@`fwkI>&{tA{~C8UGG=C@S5du&&}dHyVY)@1+9TxFfZ;U zdLSd8t<&yTR7HBY(W|{{_3uHa72@VGLZ)N!GdR>8StyIJ`)_ebb5sg@(FoRL3Ca=e z!pJI5ORG)!RC}b?K>#8`9B?EVr4R81DPqx>E_@~zA zpW*{I#KX1B5W84BO3U-Ec^YjWBH4yXO#?J~$Mu&u?fD6WiYAKni0fE;X6&UA9;ZDJ z2M~R@SxjQ}@hM_k(YOSJ6m1N84+zFaIGw&}grAu(|MD<96z1t4(G{h}!`(eVTWZp{ zgt_g;^vnDn<2RIJN3AvOwqbI88FlWrwp+l^AYLuYo(A(V(R=(lqwHO{H0Ngjl&>%a zQ5~y8u+b6UgV^u93a32WZgQQ`pR4>5&I1l_MPjR-TAT*d4HdVlI$HCqS(HM$2fwzf zt>?fXD`VTYy1C|}?hJuCE4|k;-Fo|6xz#2sQ?NcihL=jOmnk#ITTV}|7vvt*M#{m+ z5eOe-&Au$GR}F_H`?k@UL+`bjf9-uhrsJ3Nud`L&S>#PF^^nBv(4qOu8*;F2YVz&m zfc^bi$Isz9U$;{qyO;LfrVv7D?~p=6x49bnBZHCWtZKX2)I?$9GR(SO&6+(ZWLd#zTfaOY*q z68gjHc_sh-F*BIj?@L`U0utb^cEkex4IOLr2o%G7p0S+xtPIt^S$b9KMHMKUhm_W` zzYN#D@Mn?M)fK-pJB`XQZxI@TEK+??{`z|_Lq^5h`4Aml9lyk$49-!bbL4&xs@ED; zET-s`{OaX~E`2515uUBT4^Lr-bc*?^;Lh*Ii)rwc+*7E*|E0L$0wQf#_-V*spWEnG zFWg30wK$=ydo9XONV;8qw)T(1rm=)j&5wFc(OJ7uKA}S??`J^`|0~qhLb3udx_@$+ zp>-&Zb6=8?qX?c0l!tuvvou|zw(m&OuR>%R(vq|QCDnd!7USFRvrw{ zIuks9Sq;=p5$Y_&RQ`S{;~~b4K)=Kwd0@ZMjd zoH+!kLqS+eCA&Gsht=_SA(eZI0{t%PUDmtSSGq5!>tbI@xbo829$Lz7m)`RtDeHM%=?VwXT9wgsdQJL@Rb(cTK@T;UUE-$m?uJ{sY@9zu zdTiWgL~g%=Fn@R27*(E-m;xBk{ZMZ`ypOdK(XuvJEF9VCRpG|>2h%gnHflx$a)n-z zKxCGKvj#q;ma89NW{nu;YK`a!O7w*9h%@2%`Yiq`CzP2}?~}?e=cmg!J*9(Fd@XlA zj=TZpt||pGjbJ@BDZ!cy5~{lluP8}x_6;b|qs5?yFW0Z9K}KWSl zsQQ(x-X3_c=vQkfH7pZI%Y4Pp3hXEbD0JS%eSA~_eFP+EKHbidH>Ozg{a*(M=7t3w z=$3Pw9UZTdK6*C*Ny}D;9FT4qv^VXE*nXg;o@2*_IXgcEnqg}lP;O*wr?@Ys&9!p< zmBxPA0s_^sYgf*4ItUJ)lS%BN{F2@oJzfs#_4&|R6gm?V5@ye${p@cS?iXW5Li1_R zRmprkxcOyE)OztgZWU+Y05b`Fv3XpWo<1b~=sgd1J!8~^owy>NmPX@{OaLf1_|e{F zNK;E~Upf0m$&p?w=v7z?#MRnRW8V#G(^1?LmCsMPj8LL|-A^6N-V{A?O7wgs7xqCQ za@!ne^79ktUE&blD^Cs1$=zjId3KJFnVR5CX|9j*JA`GT@8nXVAlQ^M?ZRnV>p3Mt zV&#ir^>!^PhHmI;R%_&8anf10YUDvD7KbylPW;NP|8-S;_TVzFl%o)UpETfed4h!W zwi(V)#eK4_X%<^F*ICyR#XcGNhCLl@uv_`Bh&OoNEtuh>f(IR46?dp)JkBV@ZN?4e zsiS6D-!c_}E!u32yWTkQu9A~l&9_VK0^ImYjbj&i+Q$iGhPT6E8tD1A(VGk>LSBbM zZ0lB@+xm06n>vG2t%OPb-wI}v-I3d!*K$US$rV;QMc(V((qScf&9%1KPJmB-4>TWP zTOdJc3~>0f(B`)Oo)k1tM$tRjnw-XrHo1cs5ioI;=vWFG55q6NgYIz_Xjnv`rJ37Y zRV{ImQy!T5NFk3-l{t>0qZy4IC_UTE`+r4tpJr|DNR^-W1l}*R=kHf0C9xS+NA?%1 z$l8?=C)%pt-+$^OVr9E)bfVqCjh#QwtV?z?oaT+VZrURaF#OkPJ?^5{y6rRjIa<5G zl(KQSq&oqKyb$46a(Ooxz~pKrFO(YJUH1Fk_q^%kw)D^?+S%yn-|f?;TmE|`v)e{o zXV_*n13q*8d6~V2qife1)N+g5f_Nc@h5{g1(Eic&#rWDtc~)A$nX{iqD+Akrv@N?g z8=;SC9(3>+?;Oi?e6xg=-@+tpB2LVZ`eTW@TvILmDQ43?{6_{aL%PR zEGJKi4&QL!_vxMV?o`>@9GN_cO7R?e)@SNIGAbU>TyfxV4Wbs10M}V6A-Yydv-5J> z#9Zd3gDC|EWRp!eqsHZxlS{_x>!Dn;r-s{#);{W&X8|bqc{sto38i5JYA)Dc2cLi! zqH_(N763idslUTsY#xHl8*k+i0klymdbK>_q>f`;|d8GHCKJipRFn_sm;kZ9f zgu<+f@^GtyX4g}BAk0v+;JsfFbm`t0F0u`(M>i-rHkpfxj~{hl`W9Dpsy8%~{ksW` z-*M&jI$sMDV@3Fe)?`YHL+3vgVQlvD5Y#Hj*)RvTQFVf;Gj0dlP6zk4Z5B z&U@1rJo-TZt~_5Y?a6Id>+Fe(rglXqXI49t%NN<+p6r}A4A{SjIXQ+zuDuS4U!o6o zf9$@>+or8!IPI$J_$#fGE5b!3%r=5jbygWvXQqqC4IYtBwFOYZ~A^+ z+2us6xrIrAT$?`D@44px)tUJ^r18ylz8Z3d{fOK5U2hseF_xH|VQwJ>`#WldM!hOa zX=ivsj&QT645yQ#krkrSq1S;CCcsr0o*C#B6CIUvyj7FX-FCA8HZBCbHs>Ud{S_$^ zW+AHr&hyn^}%Cwi_>ota!N(^(fhT}7{GD@QoFS)G<}^<9BVRa)Qp!9tR-Y7t|2V! z{w;>K*nmmQnV*l3M(Z1s_-A<;x$tX&g|t7)VS{E4)%sr(9~I^5H6CuUfNDyxdB?Ve zX|Qhi`o7uJrAPc5S9+y*jmFK5bFG$klU@Tlrl3JCQRm`;<7EmL(2y-m`N~HtXhWX8 z`(t**g3hWwu8tQ`6Xq|U_ogLt(+`lmtkZl9&#^*n7igPA$>c^c#8dr8PWZTlJ>XUm ziUprqZzw=ZIYkd9kb@1H8!ykBvuCyr`QJj%h?^J4RpK#NMR3{D=^wvuN5wkHfSr9JFxrL!(PfYXcka)S|2*C$#kR`iZKR+jVIO7J)4;I9D&5R_RV)%ah84_mTa0;7$NE~c*>N+9Ge{GGe1ULVUWz;emT3%YeSF|sB`u7KFXc#D=IHFM{&66ULA z?J%~X%Tv^Iqs{qdZz|={4I)nFyUV``RmqokohBVj#LE10J)Vhyyo}D(Vr@<=9_IAQ z>a6~HPoM(;`-SozH1A4~*rQyBp-2;()kF|Tr{CNDTfU88Cw}Y<>X#K6tQeL$oGte7 z>3wF?#v!AZhj5xhBnBS+MZGi>&aP*AnQ5T4R0dh0w3WngTKs5+r)xhttWj z^GZc}b#_~WPBS+P9_31La)SGdU|0itot*+Es}<42Ze?{*J&&76sTaK5P7zV@^RG^& zREVbTR&K4B$<|ZkO{1{xn2jq}Ar2a{(o65n#q!>xOG$p^x%)S7=$_$2Z`tZ#fkQQ4 zfaZgEs&tawn{TlPNp2Bkb$qB}`~s23KCzrat0OeQ%m>`LX`fb!xZxMZq+hU*(`07b zdZ%@i!P$BPNsn`MC`DZibDXruz;srr7EMJ0HDML4^6XY7RxxfKpKL%9+?<~Jxh;`O zf1SrMeRqj_|G>|zdPwxX+6aQN&;H<0(mBSlk7^hJ&EJHuU?VIrh@yF?S-8IWsKu^noJpPY6s(^Q&{8dL~U@f0oxPp+5pb8a-Z7|HV{kvpm+St41#niZ6_71zPhYdPFIa|eE9p2`hV)|NvKw{1=dOus=Lj0 zMk=8Z^VdU@SYF-ky?bTK5S{!&d&}cT%anv4V(NG!U4|{K& zg@j?2(P7(V8l6YiAI=yJfoK2y`tYB+;-cjM+(T$3TAaBh8T?s7dS?El$6=Um`BV0t zIfCsoZDaMYFP&e$t~7~y`*fZ#2R>emuiPVkooDea;Alzhurh?>iQS2v~Oft-RJUr+bNo6{dCE%aa#pxQ>6OV!WP1hB>k2T&n)( zGXOX@{$ccHYwaA+0@W0gZ4=4!#X;BTs%>^=LCh~#>|s8J_q*R7c8mSS?(sW4P4e`< zBh`*cm>Ug#7NIq|6RR|r?QZ$!EpHCqfHkqtFr`j2oFhww#}IjJRjc2RT%kTNwqSHG zw0K0!4^J$R}COPd> zTeP(I0qCLTn4SF9$Cal1y!VX{dpySYV?~!Y9PoY4Ra&ii+Gb8uvPmvz=G9v|`Y+5G z%L=i5OX;8_-!2mm-@oG{)rS=(XDlYa5a=#_KAUZR42iVQiv^phep-4}Lvp?@_a;Rl zXj(&{@~O% zo5o5cHBa|X@E!bcLYD^C;_4;Ku%aA}Ie;lpvM`$6%J-5Akrz2pk>!FPq8+TE6i5Wu zYQ(YpWwqSxJJT7LFJ`?uB}2lgTZW3Ex(CEB@Q>MtLB2y(_ARvf`CC;x>gL=H!M?C+ z^be{2xvD=*g5bXEyrkS+1}h%!0}K*w_01!49GOdR&I-iZDss2&`#p)J!}2pzonm-d zHE*JM8SbC|-L~xPdO9g+y9)-Sb3Yllq7iPrN;){g+_u_e{)GHUJsgBpSWgVVPEt9R z{7cM-=ZmH59M+P2zPMRpH9nmT#kLERODO*y8n1TRU$d{(~sNjE-^De9Bp(r`dsZUrRt=f=ZI-Qz& zM|Acze!KhkrDz9vQJPCQk#ql_#?9=$bHrt5wydRdyxK~oQ9tm#`$`>b4bvSxc{G2e zD}&{x`^_N(9}*qJY`M7F`6Arw_D5k^KHxRHeK#lMOzo@QSp>njTTk>FHZ)$pTdtJqad{85XQfrkp$rV)|6~MqG=p`i_lZZ zlU*X}X@OY1Ru74l9oS$`!=NCzOeb;k7OV#I`weI(<0EzL0o5Z(DP^6b>~u4;^*-j0 zJNHKF(mPHQ!&|X>SYYa5M+#9hpS#?n&h|Vw0>|p_33b99GG;<$kVynZr%3w6OHO~a z%^ME|63{099y2YKJxs2}#2&WF?4%igRNSvuN-L^2!*^a8CcRz=TuiNYIGnfc4r=4h zQNP@K)?{?Xm2(gp{t*XzJDN)=_{Q@Tv1J!`x9hGqh0%IWuMbYQP`e>XYBpEn$&S-a z@lJ@K0RX1#W}hF{tsz0U*{N!^{F4nkNZ;|%Q}?u=zN^S7*Slb?Uj7e81>i#lJ7xxM zDEB7~K9FE;=9{(R@af9U_p&|ft@QH^yeW78>z$z}`EfD1{;|I6UY57x9&kc{R%;~p z$e^7mN0Ut@@VXZauFH=-+Y|HY~|G|E%~TAt?n^}&DTV1LmU6R|k7u+bVt>|Boh)GGTP61mN#`NVG_z)+60`Jr!(%b(%= z3P;ZJ4Prj0@V1%xSY4=}zWJ@BE|0ZF>p_@EU5{0GG)9y5vh<^rwnH6Z4&(e@F?2ot zFGTD|OSf&KD&*t7d#6J2U$!`|?h!ce>c3WjLnyZSSDUy*;>~S-vmjv~??BtxiKn(- zS2_nvFY`7vs#ST)HDJIU-kU{}{mVdq8DY_2i3)EOok2U7x%s=k+Bor-o`JxWYfSkh zS)BDdpY6Axw`ceLwq_4r2l4RN9;4^}ZGWQYf4!67f{k^$G#C5*{Cdi*r^`H(qkd|z z90UXKDFu`LjBokM_{%p7#=_9{8FJ`2Q*pupLEYHqimQ-ZUxv}j5{t(aVS9tzDUYlQ zS%K`2UNlx6h5RffeD7j27iE9r*3AJ$XW3y}Pmq%k&Zlq}i%Ylh){qwGUb#Eo4-SMD zEiCU$HwyXZbD3RGaGZVn8MM4tTz{}!eCtZz#LD&lO5|CEeM-ualL1)eZ#~b-tZ?rj zT`R;&`(oai=v($m;e|b6 zAkgbNzaG4h|M(N~^J;J8;!f7e|CvnNH@roj9jA5iIyW00N|*0wA?JN@(2_>e54IVC zXjZ!HZ?n~GC5znz{or#k*UY!@{5D&6BgrMkD%;3$NvRGEBVA*ifFOscRwK6308kP8 zn^f!FhT}&lVD*_gM|H$5S=nJ0{9Nk3K{Vqq%Zt!>-KZUWHr2%;KUk_HsBp zB0D?V&U|nao}bhl?`9Og7sR7gDYw;WM=N3v5iMo&_Jn#?%_aJ{RQkomXB7jY^3M%h z1}T8=qMvW&rhO+<9!po;4|?rE6WX8`rPyK$M~wSkSJ13zf|F7jQl^yin|-wQW=1h3 z{krej=zB#6W4yN8KKLIi9?5#qnf0JSk$5RjBI$&q5G%6qR0f;7+vCf12%jM8ix`fo zooy`0g^_|?k!&-}eDGSZE^f(wUq%O`@gkrDE`1lkJ#6S z?y4Ky=LJyQv(fSV7?3I4lh>bj>8f}B6LhVPDbGA6jwQ*8awugvTY8Otg6JGjSx0V` z5wfW)7WqxFT4@Xx8`7ou-K_?jXfz^oX;-S3 zs611ov9>ay(J>ZjNtAr2NZCIS7UVvVtzI27*Breo5=?qu5Lu~o9_Yn>3sWpvA}Jsw zUdEX^KJccn9CogUMI}|w7pUA|k*aRKg(jXNc!XW|&r$Ebi7Mz7=V$e-9GZ2kny-O5 zx-&4n4a?Pw}PD=h-|03*7s5u zD(u69HS9D9UcISIDtlU5sj4r_GbS|PmV{uHZjKUnbq()VNf{hH6?Ga{eKuFlNy9SM zyOo2rG7HlEPf=sasP)%co4Pj}hxIEP?Ep~})uPHn5qJaILEd#R-F6!hT$jI9->~-8 zOAUpysMX^Z_?dt^1dmKzHycl2hn-T76b>0j{3jOB*% zjc^G_x1Ye z7ZgtKaDF*+o=)hwu!x06c{{*|2R~E#V`wni*ZMmFeP9&3&Q0(5!EOOK40;kDIa~1d zaiP^Bzdqi(JgnoY>|I%yr|HG`(9XVA&MMEwSVRa&e_|J{ zSkVCpK>g00ybx3ypw7!nf5$tdnIEP_`Z}3>(6k?is=(Dhz1QISu`p!`C0UJPaKblS zkE_5GuKwY*d-HdFXs!GGbUB6Vd3?C5PPMw6Pne$Er0P+Vs_6A^HgV}_rfpZ1J1Ee^ zaHxqp3d52ccYLVZ#$AYiW2K20g2(_Ax0xzI0y5kosKV@GSb2th_`U(GSFn$_!MiYx zp(E98*RVG*rAK=Ed9d*8db)2K-1@@zHXi%u98ZUzLk@_`mQDvl6jYU56YB9ke4}-b zkK+MJgvaD}u+-1JxQFl9!yXHaCyFZvGrZwUZ=V15od=2S%+iRgkJBtRfBej$+XU6@v6I2KZj(KFzvG<5e(#B6VJ5O z?~1&1D2!a)jWD`IttsjWKcx3Q|89Qq`jNN`Gyt$tn~xe#6U!muPU(ouni7#y)o`v$ zyHf)ST8I`!rFw9T)rIqret+xS7Wc3V{xNy1^K8UD!-c4(?@10!d#Q4<9dl(+ztQN; zwFdU}@X^w{c7+DBfU!YWIR{@-}Qb*@w zX-Hb%yB+SJ27S7l+6It_(nm@1w!?a_?j$GNnSAPVErrNmf52CjlP=Iu975+0WeC}( zlUM(AUl7mk->(wXvm0m@N&0v1u%X<+OZytx*dC(+`y9BYe2vcU7CV>dMq_$Mr|hE> z)e3j}ftSy_YTXg!L9q~n&;*5O3PU{T{q3NyKK!F>|7!Hta<`(ivhn==`(I5c<(DMD zf2j`IPh0$q8Q%8OEwa(XUXxY2?ulwumu_D<8_i(yMowwr1zJv_wjDFCS6VKusa?Tu z@$b&y>BP_v-LaLCvC0>Btz&;%zXuu zR=>Uv=5Tx6T;(u3R!_s1Qca@Er z?Y41V`>{Mvt>u-uI-gPN;98&Y;<+$e9q<1UE9;kQu5sUAi{> zvuu|Ns2wDIZ}1kD&d9XWJMAjtLZOqdS@z`v8lSAv^=s86|A6c=aX7E_T%GRLU#I1^Gcss`;(na*O+>GPcah@-D6{&}O3gWJ$|gADNx*t_RJ$J*3E`mJ1Mz z+E$wM{o8KaSF+6eh#Jf*PWEEz_cwh@eYQti1v^GR&MFLB+XV8+b6s}pqPSdK$o42# zpay1}l-+(O;5)VDaCrp>MrlJ!e)d>#4WoxqQCoXCh0;D>`deoXK0hS$FagOpq(+0d z1n>kjyyT0^T7hUaTOY|!_ArCJ!`0w#d@IW*fSGRF=n0Nd93=8z{4Wnclw>nQNoCdG zMy=MkBiR+>8@GT_IF$oAOlMIDJOSrLr;{($=m0U?6X+k3#3(tMq+KzaJL~BS_+wUm zU*bn>j_E1;QDZ+&p@%rYg4gsM-&8wUW)-2J7-vEZisVO_=Ndh}fRTIQj|W{JOPAm2 zs=R4s{o|1fA+WwbB(<%d3)MYxLA}@Ep&AOPq7YlagE`G#3~;&?o690{bjQ^)mV?d= z<7mmdvRK+a7wj+&eL+YjO;%*FEd!14GwPmo3Q$EC2yE1k-)Rs3;Qa>WryuL#~8EzO#cL8n;0HjwO3tf#eQ#Dquj@w;fT)Yogsm< zD#(FC_6YYvrj;pHBn~M_9Bzr z8+c0Joqeq^QSLEe7O|A>bHxy_*u;DA)LR!IdNdZ|vE}9C^4Ph>)sAi6<_l;HC3Z~R zUahonpWx8$~a0ehOuS>a1R!xTu_OWSHVT6d(AgyBV*q`@Lg zY1_&$oh+UUiyvzJx>GS4bg!xvSJpO=D{7RPz)7sF+h5HnG_vl~98!rLFhpO2n>hQP zg5mK-#*0EDT-4$MCObcE3gAQDn$i07rPN2j3bemnQ6-JhSEDPp@A~m=IW0Z@QFl^& z-jJ|M+V6|Ei+Tb4@pg%WDE$Z8I>&6vd*D8)B zc(0^BEvxnTtdi()8&i!{FN_Hv91fc*bAhgUIMcTidj`UzIA?A8V{gkp$W5uG%WEvvD?sg zy^Cs>-d$PT;BXL2*b0Ucr!i}9Dj8&Y&PjvQEg}4?Rm-FQKa1&at#)2a&7^bbL2m!} zZX8$p!eo*2^qt5+>-OKVd&5dZTllC)GX!Al>gF~^o#Zf5%Y##K=5jKKa5bX{M%qbp zRw}eMK2k#j=8s2PYX7og6=SW2U?(oACX|N_n(8>`TH=*7*m=2< zkD$G>iNF$Ay1yN_tDb>k&k})N8-k&Q&L_dlN}c1mvcEjQ4OPYE;L@nxX>$?oK&Qh; z)dVW$v>5=UtH4yZ@?FPVSPD90u{!2*lP=&O5r(?kMBzj%Uj2wxP<=BWU!uITNQ#y+ zFFmdh2sXZrMy>=5VwfkB_Ef5sprqC~mbID_l~(Y<&yam>6jnu(sEncB5Yx_FbKBpq z9yJf!w_-au$`55I3Yn0I(} z1l;Cw(7RP0@1QQ$70&|*##-+u4pD)7Wuf8620Mx0LQb;fp?~(`;GN>!BazjxX;t!W$}P+493m5sb&H=Z`&7y{5@H~sTS$qvMjM5OaF z4Zv+XUeCutzFiF5;Ja<9y0^jX$c{EO{in^;9@7))S};6c6~DIdDpK{3FHL4j?tGIi zFL^lcs!R`?E#kTDUAEu%`x8Kg-3gzLN%c-?-{HIUgBxFPH-f)6ff?uQQ-*CwZZQx5 za&M;4Lm--g6#%_|P@B_O$CQLg`H^e@P(}>(>v^!JotHvTaxw)hFFP{MWTSW+ad1SR}iz+CD&u?yq6EZ|dh_NKPuHX4~5 zq`XnCLv@gS&C10rMh1C?tnwiE1eX9^*IvTmZI12Lc{}=uZFCIO+V2qZ`;%7M09~SfOgg77i(U-Vd;5RLy&Ks+5_Wij-yVu5a z{w7)^Bp6LZmp&w483WFL)4z4zjrIas!mqciw%rbsU;#U_Yu@somfaJc1!sI1UofIG ze5>UO-B6tEgz#+K2ea(P_n;MP_`U#0ZY`K2Yg66w@Adoqp~7-nDer2^`Senw*`jmR z+*!wbZt^{E9L~q(|99lot!6Eh^gcWCTvQp1^&?*76N_94MnX;$h#7aaH@DG7-#G+) zz4mA&wx`qFe$f8z{6#*Q;W+2mwAdiOPOro)MA=oxHk+U9p2r=AYygV}E`m1!#3bo1 zb!mRX&UY}`vH<|+e(5&WhwYz~i%X*gm?dgZ)D6@`7mJv1{)|ty)OVR!DZxS?b-r=F z2Naco_YmLqzPe9J+j8?Q7r+z4|CRdiDqD)-(pG#U~Ha$Q?-#_WE~!mk7>Jo9;GvO;^!{&A<*nf4@x3$`UIg)i~eN#?sZN2 z^IABsn9iJgnuWJ|CgwkO_E(*bvb`ELCXgiY{l%&Z)6oT9+}!757X_{$uK-}|R^4{P zVBgpYPwH%uo2WbgnG%uh>8An~k)l*v3Wv%%-A4mQRv#CCQLCEHgfcsi!ZH80`$4T{ zUfBN>^@g*`MO}YE;>z+OF4uzb5TR+kK&Mnkuky6L@hjG-? z-y=GkY7@=jKG}D00FP+?o2);bFa{WVAK-KBUrkTr3zSaJh!^`C6c^>_?S(QjH7rnAthm`Q+ETwOR^u|6Pz~ zL@A<^77FL(UsIp3@XH0dvHx;x1qvV^Fp<-3Z@xgmp?dlh+6^zUvGF(}{>%e~o!dt^+*|W`kSvK3loHnezp} z(DaqeyrwC%O6wCz6mmhdx0+A!_Nz;Rz92P>V7uIUsWSE zzsD!3I{Ro{!#l>S`LtX-gX!I;2F2`Xa>bYt!e zB7mRb(XTVQYu~C7fkJJ6C8(mRy@_E@)cy{r9{t)(+vhgNa=M}DrM`T4t(9CPsj6_5 zk0CO)_B*eFO*T|Eyo4T<%lbR_1Fs@^%vY7p<3R-O26jtfCg%YiJVa=Pu`B($8bnR=uJ%Gfr+Kk)3B_#L{mfXb4mL9x=V@$Q&y``>)xR*d@%Bz}pW=f~k|mMvTAvnTx)2lBfeJawTez zE}(8?(Y$st_?HPn*bj~{Q-ZIOq-lTV1(oh=qyQ|BQ@_I@v8)txCDL%7pb!sd^rnA& z76+RLP%W*NcGRJ9(`nz|f_)jjyGi%9*=Vb1&pVHIufwX@CXclOWj8T}##L?@P3Fx$+rn zA>c{zo<5gMr*;ynwq{ayFHCxN?tnp|+;a!>@pAuiB+1ou^Dk zq9|S(SDb0CJdNr0_4r1Oxz5MkxAwENX z?+;rS{oj5yQXK%Cl> z8S%E4JDj<2k`5H$C}-(OaQb6F{_Cg7cTv7wx_KIRVt=1+o4Elv(ZCzw$=hwC`GfW| zV07ezLzAfuJMAjlTvWpec&!0;Hi(Fl*CUohdHow8(0f~%N-J&rMjI=uB~k?iH({(o znzf)_LFU1uGi^+#t4!PF+jM}NuSRE+em=e^wdaS9Sdalk1WM{mCSWiCnIBXJ8t}NA zTS9*;)VGEBAr$IQ7?`C zzv*N>w}kIvH|}nddtYK`50W>*vQYKWX193*Ra7bVM!Q_ee%=f72aG*ic@9;W1Io0p zX94}56UfOrU(gi=DczdRdDRCWJK5x!`RXO2zCFOp zM*9p%DP`xf!`i$Pubb2NM=UNLw7OhdFLt+*nVe9_rl*CW)ImpXI^pq*5qJF2zv*25 zqp`OVi=02Wh(eui#hxI=_qHwFH#Z=8FI67)fb*Zu?d~we|7?rfP4RtiAGh7Qj+!Dc zUh;oC=bh3(U!3{$+=9Q$f%bZ*3QM#|Dr-tP)Fi1?8foh#ua&wqq;v22v0OhVjQw68 zR0fKs;?L>>_P&G(mU=&z5qEv6$RB-it~@1S8tX?GL7=r$xd6S7hS3<5_S4-Lx;gNx zelcger}r6I?6NWQ>uag_6L-Q|hO=UQL`V{NxYlYT>85Jsgj+|d>)5LbjecK-n~A^C z{PMz)$7&`3N!+<(b;BNj_8OrIT|EvLm)#Xs{*4C?x+s!5YQ3VMX+FN;yTy8dnJ2NU zBiV&CU(|i;Je%dd5$Met5N}7N(F1mNvipDs^N+aireFWwW+y8|)X#g~rC{!jrctw2 z`-_oe&d%0V#k*^9l_Tmqwn-jDt7hhrLm# ztr{bs6wLb)Id2NkL;WKAJa^g3bo^$@*-p5c2N7G1ZtcGlzb zs0ljf+$a_;W{gYC+{(DV#f>W-KGrl!v(xN542IwaVc?1A>Sn1{Dr|whW_5x$c*GfP z*Q=dFP~~_+5b0-kyu`To2zD{Zlk}GLYg2m+FTdHOy(#>0bXUrNHEIh5qW8BASAOW; z$6Ea;z;NXgoy$Qy4qJif)-umOU?>|%8; zf`WMawK1rWgr+0yJ{yIlLp!Kn3|ymqI^XF`$#y7Prz?QIR3h1T3kTs={6h=(j{D1z z`JMdt{HbNhh649jt8EfYvqy7-BBNtY0T>XVBSX5ZzP${>!kkv|t6EkDgZgBpRq1)X zo9+UdOh4_-MNme3)W@!rcWe)(4q5NE?fK#jO{31>9Y)g)n8(SI&$C{%91?!?2&3#i`A*DW20XgXI=rxt zfs0Rhxj$u3bLeXnijT|L+I$Esx|W`Y_4a~BFl<~Og&Zk1E)wYb*_*FVy2rQ=Z`|Ba z52M1`=OiZIqr&Q(LXz_!hel}WIpM#4zQ+Xxr|_5$RAzI`%T}2ab^;R}R>O0yZ{AMR z{#X8{$6fD=`(CGgS_@%E#NY&bTl0-`pAXg{ZVyfhqAxw-wGZjCUdA{1^|}3^-s^0h zCM`aYxPl$-qtm5w1;jGk#mo`lz^2cAai5{5FC@8#a~Wak;D~TG zuA!}VbW0qZ?(-%KaI{;qHov;djrF>LYqnXcS14Z+-j5+bqcn_p8MSyBt;^(V>s`Ji zbAByVoQsWGcblLh@gttbA`B;|>)(8n9^<+T(^0Wyxg{V3x+u{+-qV7~M-;M3H;2Y{ z>v-N!|0xC2txw9WrxoXiC85n7=}J%&h~=W7aHxOmTq3yudeaVD?=4qbIqXeEsRc1r zM`^CH`)hzIdg{I|>Glawev@{+`{Kw^Pb9AO-n4pNm#M}Or6SHRO5E+`9coeQx9*^eSs=UM*ADe)mZEO! z`_vI3dX>xT_oQ3xR*rzS3L`FaPjIEU8Q#Ak zZmZa@=g?3sJ>h!+nmI%MS}+}z!g<+7hz0vjUhl=Ae#x(i)H7SF;fQN`7YO6C<6e7? zI}QB@wXaqEq7=k@_M-T|RIN|B*5$XX{^)sk)?kQb1A&Mm44q7~nb+!b+T0VIbpWsR z@6fA1!ugAa9(VHzZN*Z|&0Za%H5+{hZ8*w7uBB8sICR;m5*!*slJ_v0=WF6C!=|(A z$b?uvli&QMr2xznZzuh(Hf#dv3gJ0P2|m8*a852WU^&rsigqrW+?hKf6?G5L;-=&zDrhVh8*8Dp|Qd{1sWn|33U+Mh1r>xg=tbk_JwDq<PfY||Khv&v z3er;9YTwtyU!COzzsQxo-;LOUEIm2gs3Yad&IVR@s$f#FSs^eW>f#_A=`mv;xvq8r zW&(~OPfP&)W&2^?%1vZC+!!YCRc;K8e!&DNy>Vtnl_mbW6syf^w}JRT3pwOOc^iBQ z+rUjr8|-%Uj6X)V!J>}au zZ+)OY1urS&`lIRJ^STT(raZYW;`#(6mHHI_i{aDnPuyayA^xTB6U|_=%_Iw0qFJl5 zeb;Sk4Y|4;jH+j9GX4Xz;Mm54MeT1~vNeXrv~{rqtioHYmN(-q>6No(nS-YX-9Sej z?FPGjY5KZ4P0+-Ja5g8)n}_w+8r$8iF7p0)zx-wX%`IDFyEs^0>ciWxR>w-OQ9kG2 z9}~`eD|2*O{nc>z{X@i8)6tBoUq(s)Q7pk2s&B<6r|28H8M@_g@4+qxyo;yM=%ul{ zzbiwpb33uVj{<2&t#2q3OwK2ViNI?syD}x-AL9oxcL+IrAb*7`egpGre!rlUE60qN z^Q&mT_m$gJ+0-BL8UoCGvi&Q0$paU+^VoT%fDy3VCVh*?LZx-19WHNI+{HBUhv(+ ztGMxHdyfWE)haW;cHcik-d)!|Zu{=Mme=C*@5j7TMp?N=@6mf_kNk>xZ*R~oJNTk5 zdCyeGJe8ZjE~IE+%xF9{uH+U(BHyRV zC*Zwt-}GE|8lJAGeOw>ITyyIzx2M6ew$7R#5?ug#9g-f- zFZcK1&ZA4xXbk>0OJ=ke(6C5)&1<}z)8wkNdfWG~1gV%DfY`TT*eCk;;%z?d6zA35 ztA{V?exSEnf3M9%5n`9v96pyUrn;pTQ=QZs?h|G5+99%!YM88-(wc@T+`Use%bV)C zo`b&jj~Z8G+pJ>gN|eiflUg{I>nhhtpIAi#zRlbQASk9A-hOAj%Zaj)*`&$yF6h#> z##*1R4dCXgPj6xDoc7t4kq!(tg_F`kUAB$bKMcRr^`_nA=yw=uO+l(Q^mL{yu}<|K z_BP0TJNTCFFHAE2Y`A6k%|!3!_{H?NYg00HlnuXm?gb&hT)!5IXj*acgGngNB}jR^|O7r9jcTH*9B{)Hj1p{jl|COKEWDid8>oS6W5dl7#& z9+&m6tkg*HbEug|W6+*If30b0+1PRv*YO%|9~Dh7(C^plVOHvvJF34e3$0zVcSn!$ zw$XT1_k#US(bnY+I*iEiA z&2gq7v+J9=Msv%yS>4W|hW&Zp_o#%HU@U`t)P^ru$gpr58-De% z(MefRP?WpJxmp-e!9|AWV?NJwqPnUtogf>lAakm)x{NU8@)`e zbn*4*>D?||1yKKBS?&=ty=M(;aCN!ns?!Hpb1$MMF&A`DqvlwXy?=0gF7ZVvhJD+G z`wQrc&N~=^F(Z~T^F?ciuxJ<9svhjY27RupCewtvhx&2-f-)d;ew$F7#mim3^LrX@ zaV&2Fha>g-xVhIxdp$D-b7+|1chYJ-ltiPt9!H>8ibwQQP6bZ|rdcpvhWbcY(dpl4 zkY2gHGHo8P=Z(^+kLysKCGl+u)jp$CShSwBqAKy&YxMyelqT1Rx3}P2b{@s#Qa^z_ zAj-=yxf3vx0?lHC+F_Dyk$GXrS_V=HA6{-P$3`1!KYvvHSeMtINt+2LKXsbe_>Fk> z8~5y_jOMj7ds6#@I?{^nle)jD5KtoRG&9&ivcasT;+8l3?I|m(HEl0sq{#`{Y*SGK6sB>JDFv z-PiQB8SrmsMI{H$CW&oR+f@GYJ7Uux{}rQEn6K1k7S(R171slI-rRW8OL}FC<*!hH zU2Mr3^MlOK{?z55tCl0&^Dpaw6pEEb`IB{=!nVQ+uP|5PO@tm1?)B9_68I^n=Vfr< zLScQfI)DBCR=?M|I?oH2odcGv9$`Y6W}nBR=>&z@xY@zS=;NFXS~{|46Yp7X6;UXH z#=Pe_I^8AeFFQYnJJ{(4@0ED#+=%LKwXR49%C6IFfaJ$Wp`b9 z`DI*K=pXF8)eFE0xD2M#2S#j1ZM(wUtaY9h_i;3=D4DZv(O7NM^?}xl$0e(UY>67) z&u7+k=OxvVqLMr{>R|-r4^g!RpS~A9h)N-&uqvp|M>C)*r-xiQXJQ6SgHPQ4PPyQ) zBN)wKr7}NZm15Pl=Oi>U5QWKohU@yHMQo0%`@}%AzJ#11E+6=CP+E9H6tEW4mc0MJ($cp;-0z z7#~aQW;@Vq8tA4N*iVbgFUzjR4;V3+Xl}R%v}oc$qNY+=10O)Xn)!}lls0Y>mEq{V zc`@388P^+Q7&slOyJzTr%i*x((FeAE_uCaXRqnDU-OpON>bZ7Jo3JC#CLXzTPREAZ zfj9+FK>9(tU#JSvWFb&=TVDYNw1Xy&2?1>fJDfeC95pef^RPq1H;XWDhq*%$nE zyLB1Rz)F!nl&oRF=!q4+zDUY2AH$(8J3#F>cIyziwYvU-U@@tE+6(Am=wyQ;-hy)I zRn_2e>Afy)WOnKPUZ44(`&v~&?aLnR7vwnT(vrhB4e@*_eJP|A3u~l5rRvxfo9mw< zxS;*dez3kbgxl*@?@e>FR=3wrev>B7s^&_Z7!#(}(wVHh955~OAWgKmwDXD{&Kn=R zXh(mubiKOG!*dOP^v3hwzzR&^0UoE5I~+EB^;Kr!9jj{WX(iW1Pqc2GLqoUG!am^M zz%W;lR%-X(oP>YJ-X*@)v+21opfPk343`N8?4PCDBh$uWoF8oBlhB~9iptB+{`_{8 zW@#8N@j+*--&4?$u@>}=h^3KHvXt|75b_fOC70XkN}EJ=#(RI|N%N_Ro&y>C>^ zl%6AMxEht``ZnxU>c_xs`@K&3dqvc`vmf7u?M4cBrGWYvJHzR7<@F5v-(QRiocoWW zb5S@|jiTrioQFWaL{UlQQYsOlNC@Q;xm8qn|FiZBoPB;$Uu(@d2I+}>VKpdFaIFXV z7Jm2?z^1g>08;P==VYv0E9>kdDN)34|CfR1;q&#L<`|0E@i#;KO=WVcSz_K9A) zt#!hac{z;31By~ww;#UZ@}Tv7?(JbTE0#GdL`#}L`z?Mnn!$N}FnCTU7w1JR3Zv5H zd4o?3U0n;a3NkA+?&~*NSwCU+!|J*G6_t6$>$}IHIJAG_KhON*V^$PkfaU)ULVn9D z2$qEutEW7Vj@nxPQQB;pZmUN;=YxxrfkfwK;bn@v`>^|F;F{*L zKdbqmuOU!@fgByKy zS|D8)FpTH!*loo$%#?P-ccj6j{6Tg4?c~JV_~-1C|27Sy+U@LztsbZyL(3GNWrrw; zC;qnR*2#@33(@wTV%1Hjj^K0VQop=Tw@Sh1-?;?H$X58;3_9jjq2iYH?@gSBk>_|k z7W$o~5LRiM?UyvIa$>5E?-*f!>F8+0u$Q5K$a}RkCbnL4+nlk$JgvFEVTT7sdPFyC z*?V{$uZT+-hOxtY62kIfqLOt*eX<(($Tj+F1smwV0u zsqUK-G%{p}9=-}ca`X#_ucA69_PO+vfk>;TCYybgftC$Zu!kjnewnVTw+}B)9}q#y z4;xwP$&EEz4ad3P!a`#QFktt0*X*}W9{z)zJV1yB^Uvj{%aDXbkZ;i-2j{cqS5N`~ zg(tI;aK*Ft^?gVT{L3gNjJm15;wTyM`U9SjXDXB@%R{Nx+&=GCg7o~YO>fZno3%DMcjz|;2x{>QuYX$BH}C+%nbWashRSLfAZn32*-A_5G-_le3S?w{xopp9ir8H<5lUfU0XKx#Q6grD9 ze9rk_cN$2AZ?9oy-vaDjmnY~2&6Z=Ohkx&_o=lBbS3$N!;+kVy!?RO1%y(ShjqWS< zEGMKe%MiQzWk(~0w&LgTRXPA&XHnh`2P~B{?qF= zK2@7Xgbm6#`4a-nPjay!wV$Y`KY+sY=fP+^>>l`_ck<@;baY*ir{IKC0A71y8V9|D zrM!x38tT-B)%$w!Al&DR<4wZGNjHNA0`)VfIcGX$A(}cN5b7J6L{i(9X2<_=9!%@BR{tk87LW z!$+yl%35r>X$&G4#kT+Y~(Ly{a*{PUcbXj}Y zWt=!TL`!j77!FCXFaM?Rz37V`E}W?rdem!I2a^BNypl{DT&K(J=~qJgt*^Rx=y+`- zbn|&(P*bKaRmI+K_T*!eyiydEfV7C!F<56vxsz-yoOLUjR*4kvyFAU)f6O;VH zztq2vNc$b}=m45x@Eux5BQ<(2a4r;neHv@9?c#{^!dp~7Jn}lYi}J&^?U?GxkHfwn zz6Rgj1#@@A9)-d|#{$v213IDNR|x)%02FsVZ>0N?J!zqct+E z<$OdI7^7**c$=Q_FePSD&?bL-9#K)ECdX zW9N2*fiB5?e7v`_8uCX!Dlg5vce3{2JV{V`zHE2P$xw2H(@bJ$ugv^e$ ze6ppB*jwlyuc>m}P9M9*fjn_!b9lveg={{F+%QdY)AFbB*La|YHgftcq>1mLhm+%+ zaT5U4Ew|IDWPOjnv+6_NZzgNUBJWgJSAQ@aWe$57!Yp@tc>7O@+H>!}ZWpH5kV;_F z0H)TaH_WY+%el;7tbuevR7>G{?wHCx+rR3YtRL}spJdE;IZ4TlA04Bqx;38cY=xX+ zsrpLxm=0YY_BTEh>ey*XHXkL5B3sYbTK~G!o0q-Xt21h^=aRXo9gDbh?QzyCkBERx zL1S5-vY9Sy(!Bmf zX)X?x18vs}YpY`}N2;>YrXP)qE$w#2GYS>qDb_gg&9`#^1v^v5JH_|L4ZZs~;PVi= zHGhK=Rn@l5b-rKl=G_k<>3rL`+BJ2P9KzOII7FvCkRsGI((mVpj}zozE(@R6xe>q0 zUsV{f*ER`B6(f>WDcy;O^qe1;U>;eY<=whZ&c~%A)Svph##Elg^+;^-wVPB?p#oy< z@RbCFsa>_S)o0|(?>BF?AZ362~p`~yYlv%E70F2O%^q+i5=pAJ0qwngx<8HK# zO+MVSVw|{$B9Ks)0V6pfb^i!5+scf`*8SoA)ObK9j=;h_YuoojV>No*QUC10)Oz*@ z1gJyrCq~ph=tXPu{A*@!sBV|-?-*_Nui8f{n?YnR z2Qkz^%MB(Mja1Co6+nCRbv<>n{LVlymb$}Dx>bbfZj-$`lg_9NS8}IP+azETxGjvq zUwsHz?N>bcc(fFh0_X}lMo+}I>tCx9YBkDO)}PAfQS13BM2xG}^I}H1mEBaM2S0zH z9x`O)-mdp=x1j}?dd?eTzf^5r=OUoQe0aAAcWJIy&-6(2^^n!jJt@Kz~-{8fIv zD~mbQL+ZU%6;hjPkgocJS+%zizg1b~&ZTW@eR2KfpkNwQ%wu<=(IpE;Tb0a5(7VC6 zpA(3cR6%NYzvC4P)Bei<$`w0byo6A>Y*ny;a>QmOZMToA){25I+K;TW)^EX&#O(5m z>5I~QnfDg2%~x9#vO2){`g+nsXyNEJ!q*yg5|}AzB_{eiCIFIrf(MJt+85?^7cbd^ z#Rg6}*jCIBamvjwgW7*+{rx=kn)cn9UaserloxekYV7J4MymgQS8bet$tHw2is)P) zqd_Oq_BaU|SD27&qiS&-|IOU)dap+OHMg%XEW{spc2`<>khN&?OowV`9|E&lAxY?+ z^7vB7DShBK*QZb;6q?uHRR3W~Xg5PEydzabrZHh@B9%!mk*qwt@wMiSYw7R1+#Jhw zt*jcL`-2MVH`lCqZJzA+r=q04Xkm?S%XMnux)kXNP-RJ%9cGb=*82jTyx|4!{slbM z!rz;}Hl4c+Fkk3fP+eG}e)xpl>!iK@^UPh+$xo(qJ#1`8VXubPww1Gf(mvCm;(dEA zV96A^Jy+k|ZL|0Ct9C2q?b&m>{{B^~d+Ql5*k|^sGyP;WG>V4%-tqQ)EvxxA)gQ?4 z6x(&mxjM2Fn|XpGio(P;6$y~ni(vNrej739VIiVK8mKRvwC)rOz6k(_77Lo<0?kMN zrju^q4PT4Tr<@xcyXV3B%b?}=fu5t$bu(l`slSH=5dflYfEXONn@ARXKJ3cDiGz== zRamG*hv{mPA1cq=fCz}6y|a#S^ecdqX}rH+{ROYKcoCugY|m66*GBjHxXmP2rg_{{ z$W<3^1jPLPUBWqe>4djh9h$rQ-RV}RW?D3+Z9 z#?Os>uD{tRtI=nUtm644r|Rd)ijkuawW;=UZa{hBFhKW0wM$K=TnP6ur+NmNEpngn zgc99PchBuhf2EM2rt{D=!bc6}-~9~;IggZbGR`6^&eKfBJor^U`_HoUd>tCZgs~rM znOmhdpS!KgQyXc|Dfl1GXwv23xgWQIiT)5`&RLepLn7B+t1Upa`uQB;d^V7_D7Q4M zbSo|(H)2gf3%gNh^)E$5#;M<@-yA+e$?qCYOihV?!ZGamI2^R;-cqX|yx$kgJ(7n+ zcWimPziB5HsoH#+v3X~}idgFu9MZ1Ysp~iox2S0zt@d%&n6zn8_~FDhK||^#O_Z9| zD(6u|ryyFdmkEBV9u+3=>CH#Kf8h*fhc~tu)Zkwkz0*v?X4O;B%fx7AG!*iqXjxkUznBL$2V+n1tFXEY+zgwR(Bsi^D`3a2Z6OcVk#w z{)T3^*6$v)wV1sp_O&GZ*=ifQKJ1qIT`7hjdI`MoNu4?0Kdc<^(fvv#TAbz{>}0cO zzo(&V%PcmD>SLsEp6SP@gxM9*Btd_?d_~k>JDE@&mqdOmKHxfUB<-!4$h(HSonxG$ zUApnzsQ;jt672U^*M-Wpn(B5NgZ3ngdzV&0*dJ>LV{ET~Rsy|!_x)C`i%)e+c(w6* zcHRjr)oA2rL;J>fznnw@L7~=e!z5$=aq{XO)7(5Vh~RMMewWACfNy_nwu^3XrH^0R z*uB*oe%_A;+5I;=*%fcU>pkT8Tx?tuYV`Jh;QvyZd8TL9Xv-%iV^aj>cKg!mkJW3o z6Fn8WgmSac(m=DS7!~Mb6wTEEo-cFgn90U196tyq#~85SBe`GF6G!<@8KUdOrH3k&>{)q<$^iS9 z>zldb2f7*`v{*Z^yIEt?@Io%iRko&mx%_p5&-|ys>W?dN)nGQH-V*@BVqd6<{IU23 z*{W$WsE}d&Z94FZ>Rd8D{~g}rf=?uI8UORkzL3a zAD!W~!@=CUC9Gq@*nwyGomz`i8J!=FfA>eHQaARO+o6D8Z+{CQO{J)F^487$@Asz~ zAIp4ti3xHBnkvClY*QSC(~gI@MYuK#e{JM9{c@v9b&zA9XkL2bxmsm3iZX0T&J~Y- z2^SJgW#}-4)N(Wc4B6{FDb33|0aRiN-|QDkxwS<$zxw$&$l~F%O))Awk*noNcYJh8 z*>Q@o(}@?TdQn~10Qz)!^gGAtRpH$ievw~;95%0hQ9H~%J!ZeLbLe^vn60Ss=^YTf z_qp$^Gg9w#wGZ`1X!f0lzY^s7c$eJbb7dVG?rhBEaOfc=rzc0AE409DpR^97Olm5^7_YeOnhP2*^oxE+1BzKJhHJWx5gkX7@zvuAAvQM zVc?0ZJIBZ?E6-&z=sU!`di@{~ZZQ*P@Z@o|GMA{jqDX$p7_f zzlzS9v#n5J!^yDOHh`AWqDQK!G+6$f@2RcY{J09?%|9+=rUny* zXvMLd{3{^`Gi=X+wCVaEt!Q{K&#(}kC{~aK+>-cKi^QL!g1n=+d(QI z@Y}zWr@EhvwaQqJI!k>PefmnVQ5l$g0WulZS2($eP7T2l9*C^d++&A{H*9{XTilyc zHMa}^Sl(K#t}BY{){lJINXxH2CyO=6th?%NyFM3XND-X#ZZ&gH$lV{Ue~5_Npptn! zs?M3js#TE6_5WzxYwfSm7*6B;`u$_|*WnX8G>g?80W>~$^aM(-_=1N0@O{{|hfe;B z`Z-sdITQP&zXnCvSj}4BTFWbm;{vpJ#FA8MAHEjP#tJdM6a`oNY=W-AQ;>+^(MwAU z`o~IRw0r#()S5laQ_EY}=w#xqzsKYV41PwREI`emg=!W+U*(}-J1eZ<*~)&TwF<3NfJ6(PF0&Ly*%BaZSE+7iCU4% zY*n;=25?<$@{gIr$TxUjui$)kC$E7?jDl<0TxdU5u~?44}> zHXJ|J<7=Buf^|f+_t(`3V3gUMoj-hT`zYik>akgT)be0`tznv8(p&SEs=`g@o)#~R z0oykP%RSGd@%BCOjwA78Prt?iB*GUblt-Vt7q>jbEN`^)@G19@5*Hwc z7V`DI``2Xw$=Kx~(fu5DN!o7y?a4bUFR-?T>jNu%qOZ;b=rUR9FU>zEer<&hzs zUh=H1KWreJenBmI*Jf3*^C(Pv3p{|gB&4+(3+)fVNeHyD6Jh~RN4xu2agWylB-zkQ ztpxlCuU=`YkUJeVyGvl~h|1MlzV*y>_BW56FC9GhkcK^x?@nCg?-Tv&IwwS%you8G zH-`Po_+g-uP`i-Ma@KKIJGy6JV_B~#4+8E|^H>u|PgHCcAhZF|GT-gsuY2&*_U zJ*5j>d$b;Ymo>QRH;K1PUC-AqGov=J8jSoH=9s#jj~c*4cQ4P~QvtCC{1<*tk@NP7 zIV`<{8+~gS%O_3NVKzQ@8YJ|o1nBUd)=+?3uKQPp9VheaS7I>ia=usgd_LCZcpFr` zg#=WTI9{d9W;x8CI;r(%v}wlQp{~7X?M!4$%kxk178gj@{#K}aCBJIJCuZ0AL?L<( zyD!=Gc@4RRsM_0Dc))Y4Q3Y~3;4Gw&!lwEz*(9j9PL5x<$E!Y3 z;^I$pXRSR>2giF?ikGpZXpa3jX;?^#>vgYVUN*!bD723+RdP1Jzwbrf;9VO%z9>81 z*5L#@!p4f%-o8w0QxxlFzUdQo5jb1Za&G^*9C?3N+irbBw?5R^lq;9ZbNKlRLYItvUUd z@*`)b;TS!2pO=-DYXFO&ZIn_ZuEzV3x+y)bo6ZUr0Aaj(Qrg+MZej3)wr&HK372Jh zU#kU}l*>K2_ekoT0|W2|M6pfr)$ni4(Zw^^t%zvxb%(e18A&oJ?G7WHgKNxewq%@I z)wB}JnVvwpjE?SHHTIQS30d>*rP^p*4?s58u=?VlLy8iHb(E>O6z64(_@Va z@eU+e$CsJA=tZ>mxAHc0Ls>YoUf};R?wn899535 zP{qyNBAYC<~$NLXUlW)bjv7{;wn_Wt;g zMhAMVhj@0s1f|~sa!SWdxhn&vNErG?XG^tlcii(AGtvIQ2`K|J!LVRW91lj4isM(p zk8wz z?-QJ1?68EV9oVsZ`N0#@3fc{TNbuRm94wUG}(mT zv1RdsefK1Tb@mHke4r#jy-(i-#k{R&-!(O0^kJ<>FSVh~ApkNT{yiFb$I|}lM#-vm zs)B)xAIFjDP5n3QUTfivZlp)0H3}!NzH_6sqiY~tVLGurA3f%t`^)AJ##G2{>nzY{ z1?ZBuZ!&Idsqd^wmuu7a<3Y{Q4^;GdIT!=(D92$xZMTAg{ycYR7v2xpB)-zd>nK)c zM6UG-VHcA(LR4`DRf;B6|`~xeg+NDd-~|;@r6Mcyg}omb4kl@Y~agh%>?LG zogtmkt}wysgIKZ13mwtP!0Zj_6wYHhyZXCP{but?(`5>Nk)PqN**v1|63xw+y)jS4 z!QYndAiUH$V9ng?skO0WRNQpb155bL4ZjC{iTI}Hw^|Ra0hW(;UOh^h9~(mYn@!-L z31^r|>5nN^#=qsG-6ih6GO5|E>2M18f;W^UN5XAt6u*AwaX(+%9J6kYz&p7-H>{4@ z@Ym~BiW}AQu~534p<1>CzYO~WAO#uJv$5XQZ8&%;A$eGh?jUQ;)Pwa630^jY(|T1KNOy-CEFCx=!t&X)eFVa`~_FT%D}&9Tm<3^t0OQ z@UPQY6AwY?6vA(;|3Sm+d@?-s^Ew@j5d>kv+|yI z|4^CIgZL%Y%0LiJyo~_(7U1GT?{HSq-$`3cJ-p;uOSX+dmnn`$(2Y_h%D_=0ct>i|%Me!wDA=KBG-coG& z^?|N98Q0L32)TYQVK0_WV9%-5%x+`LIEppWzmd^_Hxo zwR1w@La(_~I0s*}_ntRmjC|#>n$*HQ*INV&gj0iHN1|7NZ(jQ&zlmpbk9|e!c$D$IJ`nQm4te}!} zf_NPioU>w%Mp3iUxo$IoMr{1&rb)_h9-p_!x$p>@sM8mtJaaKviO`u zg+URyR_kBRUO@wwV%?hIUACXR^wfrA+mz7Sm@Nu<$n@?<+YTumYu=*J4jHCd^k4xr zd*_$4OO341+_u$y$Xw;2sm0TC?&7=`EvK@{p}RSFkdupH<@WQE7(^}je-B=U@6qvYPwy9JA@s)p@;`cLCFDP%cbtN_YH-KWM0O@43Dz8_*@n z`W;Xko3)2(qlMEXe-9R8iRtfGkbQ{z%bnK#H}-&fSEfVqIZPSS0{j<+U^_Q>O-UJjGpoCiW`$sVyP2_h^%b?`~ckb8{^}x=vaXzIccha5}{$K0Q-C zhhLWW$oqHvVA$CZ@mJb6&f3StDjJGpy>_>;kYR!P-(ROX-yi+)@O#X6a>A$i60>`; zb{kA9LTsbqi8_^Q|3s)+TZ#n;NmID0y8nkamJo&PvbmX3yFP)ZYL4ypF@@DT z#!vW#P~YXrX|<4s`?xaFPCW&~7E}C}mN|DCad2G9NZ=$fxADOBiGZ~AT8IS5X%^n7|q&i9et!hCxJ zSW1Nx9#;2{olswq&!C_I?>w|LU}y73J$E>YxVLAN`5_vwdoE@uPiUInb5Jn2pg8r0 z-@Z_sfdsWn5{5a1C|yN1 z&38+;K=v=~L%C3$0o$md?SK_6X7X@n?JWQCv?tfT(N*bUt^4(@Rm*YN8SJIC=@BIwJN4Q!Cb6HFPWJ8J_hK2#le%c# z)f$+)n{8)OB;(mlw+p$-@;2_-wbIsNeG1J?)~RZIhglwhZ~oS%M7Ve_E! z^e=vo$IQuE6PH6!3b&l>A*m0VeriGRck($Og&V zBAj58@^#CCJ?UllUnOCxg!u;?$sMGgAIFPwCCnUs(?8S8pLJ&+MOyv+Ap^To)W63E zQg_tU^Ch*Xw9uZh8l%_KuyrA=2^$>O%(}6?a>gZq%{yuy2Hvr!?G?W2sokzH5hm>j zpt5XfG5Z`YS8b_(Ki6*)R(E*6&@NSU9?P$p$*xp|5zJ!lEhVRrQk&GK?D;c3cDZ52 zT&+K2e7Wvgx|r&)O~9AaRbDJkiYi3U+``KE-a%tuGyihxwMy`v4R|m}j21DvN1i19 zZC?6n_^i))6e-j5IGP>?k~(iM*R^c*Fh&7+KOQ>J$ura8wR;@FlC=xxu`%n0b$GuP zgt>|EwnV1$ueI-_TfF6WKj+#O>DHiy{F~3^<_+J-ua{sHC@(jA_A1n&d{6Ps`op}Y zcTAJCC|s2M)Xub58-EmCoMCsgq{B7FcZbB4gkVP7HDK$xIbDceV~Kv|8c+`K2TDJn zOK{|$?u=*u0G21y9X)@@GumH^!uxQ#9!+1MFW5cqA{pnKF5Fa=#+vG`S6Wi`Oho=v zw(!2sk1Aq$)9r*jmgqv2{neT(-ZOUFY1}5a{c-Lksw0@a?Z2U5vq`Pt3zsgRb|+KO5Hl zrP9kPpC{!yM(W^Iu3O(yrvH)CyIFnv3#-QWM;FM)`5D2XdiRwKX}idK*0A$bnH+IKFNNwPrbMQA zAJ>U72DmCtO7GH8I~^-0w=voFw)jmnvcsS;X`~|4W@cI^uf=Y)Lwb|oG& zCny!`pIoN;QZi!+b7xmy96kVF^Q|om$nF+H~M)?#oCxg4pIXbw|khEZ2gz zJEU#pJwb5W1X)(wYJpvd@7bcvy?1UY@_}P?TbT)~Z+`w8@4?lYmrNA3w>a^#w_(wT;{FaycVQvf-lH-}HW7RH3eh>XMNhxQb2Ok#%Kl!I?jv7D5sAAO>4H zwi+{L<#tYEb}v$dnN~4!brYl0fh+zdZKliY)A3i9U_f>uTISL&1N;xS?{>q}%;F8)NHzqpHw{UUE(j(khi(%6VsGU9fz92(WYAD*ye zKTp^1jm{k%&3$C!N65Z@S*4uVOq%}_E{jW;E#Mj}*1{#`e!0eEz6y@hC0ZLbvI#Pz z7Krrri1fYK9IK32U*ZMn)(Ys7+0U2mr_(;yyPdQHHe7CgXF(EA<#{ugF>;$dz(;~l z3Oji0qTGf&Ch*)ZEcYG2>9NRYeQfOLl5$zSFAVh=!T}8CgE?#XIc@eN<`QHm3+)wN z)iHYsHSMY?2>pDPG8taXm#>@W6QrL>r_o*TPP<8$ez-lAuQIm%bb-^WjY~+!P&}10 zqOQX259L;1)-S$xZr)!FP#U{ceyvW*`uBAmPUBhYS$BW=*HA0|DsnXH7&Lw07;r`h zTz+N(HL=AU4G}ZwzFU0xOa~WXlla)K>XiBZeNQL!I_ua+1sb|h0Vy_rW>P)LQcl#I zY+kN(9Ex1_d&nqOR-f1UgK~)!&*ot%bpDpx>uWcM`G(^xm0Taj*xSjxD{O`v*acPL zS$S=Mjd|j&>*A`Bc^itI?0R`$f}zc)X1uERAYMX9n%8KV3c3rRU3|rYegWMFBRzv& zwpu`F(OOK2WZADg(BObShYzgwQa9M~CAgPHPkq6g_^~my$J*YE9(51Me^u_eXL*)o zzXy;-eplt=lGYaRPKVpvV1%EX)h7QQg5&qs;tq(@vHGY;9w*`Ykui3i)A3&2urmdlhNo)bz6|9nKyo-|sKhTkki+%VSN}vwl8~N8U~r8c&wGOd&AQ zu1C=j8NEqSKOLRbL45PsYjO4AG|nBXz9MZh137oNY63~2!n##oM~CKS4_(Js?M@q& z!MQdrRP7N!-N~O`?}yEccEWW61beMUF267I`;OBcuX@0wYZ%>}3Ek|UH)<8%d2Tg? zskQc#Oyzuuzwx5B9>IIAZg0Y^+?y1dhvMl`1h?;#-j}W?^p{$#r#!A7ici{81_nwa zv;EN}&3Nn9h+UHUua+n_DU~n08l_;fzbnc_8t>YW9G(Vwg;_RnHGhXllv_iX8R0|a z2{4kk%HTd5izCOszqmUZyFPu%oVLFHgY?p#sf`$I^hcVlHT=2!@7a;UA2|EW9qg04 zR&$9HtJLnr#saoHc4^6e(9X%wU#eLP-$J?5niEQ)EVl^eeK?f{b0i7gf49=oQz!fI zz2K~(-|PtFG$p&*VnHnn_G3hVV0jnkWAsXb09z3SmVUR4iy*o05o|^Tg%N**902_@ zH>8lNIc2%P(PE@PUhm>_$!)MfQLDggG7kFu23=A2==Lp;BAdZG@}EbbTXyFlpS^uA z%61T5p4xXCcC_Aywn?ON9uOHk#n>j(?ek>LJ@eJpxh8K6j2U*@cEPOjAjaOaCEkw@NiCWr1v|%hAqi@_l&Ii#xbDn@(I>oBwq768W|GfBPVcbJR%@53-8=b}$3?h&8 zua|C}wU;aPwwE75PTl^7ThZ<787RG{FTB|OqTn*DEMA9)2g}Ne`PvDE`xswDLr?dg zAEozDF4uqASICd$rpuy+m?VfxYUZKd*U^u%n{yV2|1xQ|u8cPR8AM+iUTmF&vG&Ve z`Br22C?wtO4`+C(xEuGY@ueArliT?@6Z&-zn)lzZ`~5ImN4bl`I?VZ>>MB^IVX;fy z&1?JV`f{t~%B2#~gmrss0zo39PpR%SzZz9PQkIB;kmYSiFCMyoOjllsuAmcOXe0bj zLZ!H(W@N@>u>vsvMvn&2=e5g0f~d2`esRm0ugjbIS7A%}{&4Zh1z0;C{0w8_aYAX@ zI}i$sleJx~`)Y!&SR_WZ z>L=zbzj8H5=guMq$8GKT_!B_;tKjB~-PD7qm{qU!^;1AAnbmE#qZ+Bul)Ds=K%G zcBS8^akK`Bl%DKQx9`eXYwcpP8QuaYxt6-cqHuX_NU~H2>HAXIuZpAFb#6@!l4cL+ z{#U+(nM4~s{!QU(?wl?qO{YFh*SjMuy>|PoyQ{!^1?AgvVyfTE-YajE#_Xy5fUS*P z_il6>y{klj$#$j`$$Pum&JebHiT7LG3XTSwbAn7tpS07#AlfHNaJL-QS}G;Ls1XdO zP+5r0_YSm40>-{%t-eSB%+N{PXMZ|8#*Kod&M)}BJGeRcV|brA(XBT>FVFZj_ihG2 zupxU_X7k$@(&pcxJiaxoNx_rAt$ZTV~aekq)%=w}lf$1ap?XsY>_8+~kihs5 z&4zf_D@)%^qCV}%d;t^@hdKt3sD2nI-s`IZ7lU}#;x&MKNpo_QWbHI)dF#9_|4ow(y+zVo>e}3eUt|muN!v062J+R_G7Qtc7@0+sAv^`}6 z;BtS35&aLFsPDa`qT8$7bjq<9+LPnZN@lb17k=08T24y-##ZJ0=)fQtG+8Ei1H$vC zvG}u7`xKghqsHcdg;$Z+&>KUx=iXk_F#R#o{o(S`IMMl;+ZiIJCj$xK<2&bsjOZbs?T;d;ZKk}5syV$y%UhKLxW^mb>K?w zAvogQ2ytaECpAO4weasdd(Z6l=vw&}p?7g+vovG-U{zpjP>l3WA6{-;LpR8kp%-7IwUwsymvnj=jSA5pyd}v`Azv9?ho8Hx?#hIYZ>NP1`7Cki ziW;FAcNB%LZN)Ch|KiX2dh9)#;kTrmfL0YHskq zBg>8aKS0P6Jt%-t!@ov#IVp{VbZDhzN zA9eFCHj&1R%ilLUJ&c~!xu%nceydW>L5W53qj089V3)wXntB<)mwRJu-E6X*zIGqn zS{^ntrsL)QcBOlpU>@&}9K&W0#IxIlwpxJHNrO)ey@PzRX>^2=KcNx)c|FUutSV0J zECyd{mY#TI1kaOt27;e_%0tH&1XK)!>$QoSwVCTEZO7SVFE`rkWhZym+>qX8j8<5P zt2)d)#>GnVvXkF@6fZ5dE#-+$uqq86l{5S55npBwsIO?jg#Kak zuMBJ%n&SH>{Wj`2cL2}T000j%Yy^&H=NRYH>sa9)dhg>^Pu<-Onv%8AQ^L=Z;|hTU z`S`j^cR5kkAH$wTCV!K0?)+D|`~!{-_?2-#E#}JKW3SE6g6FNc#^HX3vNBM6y1<=& zk=~!bmVVHX3<+GIqh#(4%^krFyZ5W@&XO5As#aW{r<7ghp-}XjdYu#U&0f1#;TU*Y z0Y;1ktp%9~J+9|`V?e84Q6hT3HPh_g-G7dVfgfbgzkBy+R89gb?%&smK(|+CKxPke z)-S*B;zJi0yDhZ3nW%h!;~QU_y+3|kl*;Ye?Y|<}f@*``t@P)->CGQ89{8{NS>d_% z)!3`95AKe%Amn9KKc|8-{6wC*^<0v9%T2NkE=@Jd za(SoV*Y_b>8A5H{bJhfJj}#31G|GsD8@OBW=3DS}^?7{-tw&E>S&l$IFTFU|Wq<>; zJa0F4htIN(T-{E>;6TQI;9w2cmt#M;nb-2uyk!ID6P&Hr5Io=~pu(xK{;%->X5b%S zT|0^GPBG(j2=TXYruR;@i1qVOYVoiWWm8ha;gr1u_MKr%jG}~p1nT#@#k33I|LbZD zyqao6wY9Ij6ty32OK`5slLYd7bA5S+_e*l14&kv}D9>^#i{q(MO$Eg{uDGQ8-7*4g zY~J*F+EumdcO_t);`?G{p``K)$qWZDWabz=5`#S7oEDmz zL`>Irm;05@C!sytJ5io5{l+x*TmGwl+Tp*kaIHSKx>i{y$9v^=Mw-0&Y`G)EIHNOW zzqx;BYicxV@t40o?Dz;|zvdRB&+?R8D#jxJW3;UEeqI`_daE9^*L&=6uNF`5vA0KN zrI$jRZ8J;q`3cjF*7?cichzhW@3?zl^_fs~vrxZ?P|InL9pfQAqHfu&4lnV7=E%dl zQ+Qu^d*x`de4ap+f5K`jh&JYIPVknu>I6&Q{!g~E#O=#ts9}%V5nID|WDgRgJLdb` zeU`V$o2NIBTM6Tmv(uDCwflS}{aOnDWBh$t4u>Bm8V)BvrAn`MJ>$Hd(Uu z{%S%DQ(vH``sgdg+H76ES;4?OAwyP3cx+-n;y94LY^T8qDHX=kf`jV3f4}xzrZ9 zz+@@tH!$u;zR(eBBaFrWy7Q@(zuZPx={Ls{HRMk+X%4E~)&?_5CB<9$RJ)C7f@GL_ zGH>xAC3|DcS1ju~t&PZQ`wKR>laZd0q@O|SEd4lEIcT(Ak2b6gB-M#(vDGR*-W%y- zf2cU5d!8G8>He2AG)Z!Pw!k#dUov`~)O7I7$z}Xka^-0V{FGO_h`y#P&1~ALlMlk0Jp^2nyqfu7n%?j7d`&7*b4S>i+bjGguxYxFj0G_f zV=F?h=Id`zjy{jE2;mCbJiU520nqc^vDqJWMS>pJ3rG1ghSu4$>l`1&djUA*t*0Bc zR7m^-=bYjcgC|i>avw)#)%uWgc@6S! z;TM@87WHC)9*cx1yngr>99Jpdkd*9rLSdWz8YPie+W=UHcHP)zZ>P)J;oF+D2b(J%;e!WGekEuI`hemJT3< zJikbE*#;HPbBg6x`~kekQ!BCdel#zK%<;D=19LMrWo>j?`6OLv!Kz_0DK%j1KXwC> z=B~rr33RfPcU&zx-HUTX&&EaL7rn#rK3jj>a|f*VQehIIBS@womq))@Xb861f&A>N z|7Lr`z0{uO?3q?kC0aZ1qryACb-$l0+o8=fXHKV+_Hvu z1a&oz-77YpPX4X}v`EIqpjtViEA(B25*csJ7E(t1EFhZ=#?pr7>iDZQ0T^W-&~ zZ4*qwqtf2yhvUtzP#4x&b17%d57@8c+Q(|d{&eJa&CiMlm)fn$L)X?i*j!cRJh&(< z3CShcc)=kLm*J(= z#hspe7l4+O_(85ug9-);yfKsh4ueyx?9NPjQV67v+zAH8<}v8)EGVU>&z1I@FCClL ziKFgSH&Y!7#rT|c*^hKg94%(uYh`-C)vE&)H?N+FAy`)%)Aib=5Hs-PKRu0L+;g;Qec$M& z_YHsJQ}DnKgG~chZTk?iYt(=3(4CaXH646a-I8VW5UFTc-{s_!uh2m$MsbisYQ7hM?{4dy)CjulLg1t@fp%vW0|J9mIt9{>@%hm~DTOj}^?GZ-$Ic zcd{6BY%VV^aOGjpN{W45stWAijMaxw_ak13*{}&+j;mLDrER}gCh zu&Q{b=Qm;b=xajb1n+%1I>_7-YSD%nqFp^T>!N1C&VaQzXq<~SC`T`w-_%;qHu;Zn zfidrbXy_9-yQoo^r2Dua`~4pB`TSm&>9Gx&c!T4Q#hn59c$+zdTc~h?M$pO2Xs2m> zok=72cmysLO*VGG+!fUNEfYACT>#pQNA@!I8K^$ zQ26aQUE4kroC=8M6z;y>dk9<&u-rnH#}-G`bPErXgi+la2aZrL1cJ!-Pb4`rd$E-2 zekt=Fic$pmh@yB{lk=N9Qg13bYK|-evcsf95UjrHN{=vHznb?FOA*tTKm_yTZ^_=LJ{%|7)zP`;KJOF{aZ&CGkIo=xuWbihH|NYFK0|u+=zfgEnx1B&?nW=Q z*UbdA(FJM#I4t6WNq_l+&{8gLZdZSFvdFE<$JAl_UxIoxx#Op|`dDMD&j&pKr;D>n zDUqhxtXL~9CNlxf{ zPE;$k{o)NTjRQ2jx8x=CKh#n?oLFQ7u}>}Qn=T}3KSl7LE(&`O@w>#n2utDPWWSRH zZ}cWEKYv^SA_g!5&HH=Oq~!eK40+_!b~z=6^ryyed+y@h>H;Vy|LqdYn`pvMe?_fX zjzre&VXb~~9>+YtS~bU?xi!uf`;jj-7TXo4T=F^Fz6;PPZ5j>-@yZjN(a z2G7+vy|25n!pPVjxnIByozmk`7o2~U&U9-Ymb*VNPewp5dY3-MWWZFcO@AEPjQ}cc zZ|tnzE9_UdjmW*s?rlc^~ymCbWNHSHRdcE^@?b-o&Ra5H=v+;3V_6K48wEr2%;Mjc`!sB*=Nhvu8#QF3h z{onZGJIDj2p?@VSna{~&R?W~z-(~mK{UHr#VRS?NvUDh_rxv}DhOo#J+*-Fs$+<4z zlkR<6*j=R4I5(wjaej1lmZt9@m5oU7A+&Zaph$FA$LdmL^moe5#}O)M40qKPb(uN$rZagRZ7w0E z#$H&r`m?Nfi-^@ApHa9k_pkYh^Zp*PyJ}5`d#e)h+zN}}LC*5BZS8$k2rWP(G>P6dr^l`z3*3u0+q`PGMqU(xW5w@M(pfIA*M!WVo ze6p<#Ba-@>Kt;Ct60R8Xc)(V59_|W5n8!+YZh&Zp3E=zdg=(~@=Bxp5@}+|0@+o~l zD+1$C)bH@_6%YHuBMu|sK54=Ra7x_ogWYl#4xY1WbSE}6zLUPOeg5^@!&m!Nmlcrr)+r_ zymr}4DlhV!Id*R`59ZP*ijf1-Ovi0^yBv*=`vZmct9S~VM8V98jed4G1lvgpg;K-W z;sUIg$27a&r`tK%?H$zUE_6wV-{(Jz)h4y%DZSO#9VAc!iitL0+qWJGwhqPx zwspH5&$Wg%CVo!nLp&xCw{on`Ilco(`V^Na>xdcbm_8`~syu3T#G5DEl)D z9!0;``#}XFzs0x{*GjSYCcls(;*K52|LpzxM$)upWnl09+A6x6z>HXhy^%XaLiTr9 z4KyDx5Glemyl!V$$&k&&`(vQH(mXvv(E6O)!tTEYR$ESHvfd^8nCx(W>jE~)u=Lw` zw5j|+8BMLl@&+#r>nH<#8SPnd0LZfeU+y#^s#SxP-jq5nhUZj^MmthmzAZe$G6i8T z_S;6^-aCZ4SD7AOYh;U^Y!Ku;MKSwkCw(qW?25hzjD9THtT~et;f&7bUM9D?Xc6dHc_^)e&kwhqthLn;bN)Wa z;Vf0INzp&Qh8#(3WH<<(P4sxK_{6F6b2^<|%# z%%6vGKEF2SWivcs)to6+AjSFah}mjcS@$ha#%`jwE_?Lpy)*8y<>~s`$}V}6_Q{8E z_JND)7bdS&0d0hy1rI6XdsqUbaBomCD2n81s}kJD%l1Y2f*1^P-cf68<4-Jc4=*4v*hV}V^hVkwtv ztc2q?${+8|+-+GD9f;DdMPX<2TyvWop-SFS1X+xKy>F$PsX07$s^_?J2bSz&#luU7 z+@kpOth1)OOz4@Jz-0jQm{xCn?*%i03dsJkud>jtI^=gPysYle*Mb(I6X>JTOqp-7 zQ1{Jo1?JIM4lv@r2>EsAxTFP0uYFcQP428rzfoznn@LkMx|P#Tc+{AARf3cMk2UH7 z<*28n5(9A6+wQ4jp@%T_=*G)`P?z=1W@F|tuG)AX2?_)4SE!UtY6p#h#&NuEi5WID zm4XiU_3y6v9-u z3`;y(L!mMLQ~&s+3iX{Ya&GGBq)sW;@g0H?;$6Nwe(H1$*Dk!8gEiXRXz>Sh@$}Kz zUH`7&8y5`xOEtxHziux3jc}QD_1Cfo{~cYgz)SNu@P*C2-SQU=gK<9M-+W>Y>+7en zWR~1ff9Ix&P$2S2cg$<5)@o4O5_@jWe_5|dlY6%yqi+dv7J>$GnTON^NMKtE4)*T| z1@-e~H76{+VWV3k`<-QY;BLiUi>+a+OJs@YG>ek=`$4Gvo-U$E$0?r!vMaJcUoWC+ z*X`u5izfCr*t}LQ{cwU9k#U4b}b$Cd~@8`1T``W4cE#ca2gQY^9+n==VO~yVuyG{*v$KBO#@m4>x z3tH0*aLN?vv$Hg5I6SYzb)8>t`EiHd9RAKx5N`4T_+emlXl458dB=lpJfmiZ zaeuWuoA<^=(WO#RZ5KcMor<+<_h^-Fpm*&WF?2<}l-gWtD$m~Pkd+HR1#J+g6~+!* zjC(?2Km6J5&J#^ts2-aq*o(~tx^K(?r?)c$;A_VhWc8$owLFXg#50&T=xBDNqLVV1 z*W;3mDOw^e{Knr% zY=*mlPMPeZ3WvhQZa1ahLkJ2e0EU}$ZdbV>Jz+0JNUYB}$kW{aYC|XthJXkb4Fl+R zU|yRs2e=vTcG@A1J&&qKly@M~`S1k*=m z)kjq!iP3zqT(3Gz8z3L_+z+!vZePugs7ep^S`h)cF|J*DT&=NHX@oDOS)S$6HM4hK zrB}nI;P=u@#N2L&zdr&T>Z#!uA~o#x@+c_yJHOJD`UP>wtqXA(Q^Sn(VSB09TF&)W z^LN1}G0AXeV)xS=3_!Y7^-;}$?!^>{DplCn?nlKcNx>~<<Vt@#e-4|<*8O`Yr30 z1!K&o`h|C_eW$Sd7A6iLo(+^GAGJ!nZv-4szGvji0b!zBdx^?!UcB$aHu}aT>iG*SJVPo!Yh`bh3=gO+;=Fk-;se?DOv+ zdxaHu&PwH7r@W|@tJB#UJk8H&<)g)GCKM;*h%L;`>#5xJ!H1epkvHmGrig(Nib*F8m)~=x3Fm)hv1AX< zREp~e)`T0rjRfZ}>?^U1{`7Oh8tdQzxPv-?Vyx}n)@VPP_L_t+)*0|2P_KMbR4%V% zI)m5aq45|qh0LPs!7k~n8)9L4N3;!Hubvv;E3D7of8>=J{?qNoIem44pJn>j)gTJd zidq=sv}N}RvfSY(TfYw8Hm=x*I_gwaQ;-0f{&}~Ui-{&nYoM==8+XhCW1aaUF9V7c z8`!Y@hs@rxf=W0t>K%+>gP6ppoOTqs&G!ZgJ?VqF z#R>e2l`V1WE{rAGtxX2!A1XEWej`lV-*NYH&GnsXRb|&T=c=#g7tdu^;kOMU*UjKM zHq6PEBfZk?c6_^3nKS=pb3MI)BnH2nmfdq^n(M!4pAr|+s#*Kt`QV6=DTVx3c`DOR zEcrMamHKUZ!*peEsnzZPINFaL(%e@0IXa*+ZCK{ckmb1tb8Y^m+y)E;%3q8tMKEdn zjbJ%onrx<2zJDm%oQY!nZBzEk?q!mHZiVkgvYzYb>O3Y>V_G~Mn%jQ6QGA`QuiokQ zMwR()VCY*N>PHv}oWq^f(wL;K$?jhlY9HgF}b zE7#GVb4o)fC^V$wQD*VCCzp4Z-vO8@^z=EMbS|!N+gTIz9Y_AK!z8^~b}d|&Yr}TV zhhD9WaIP?Jbw5`%R@OAVMHmXraCqU<;hX;+dM~XvX^4#z(GD3EU)B)tWmp+5<5KM&m8C^LnvFI zl)dQUIo;XPm{@M#wBB^$5vnbf{;8(*MK%Q#&wKT+tr1nLNBekz^;Vu#Kja!JUaIk^ zgKi6KN5Mu!6CWLBWPV*M)K%0_vCZCnCo}HBE4!|?K{{Hv%y}2G@zh%nl<2Jzo4th( zYjJo#krnLOtUCkUgV5;h%|`%&l1k1SZ(sacyTlrUQ*)&&W4izF?opU0?bdEj4I+Ze z9sd%rOlXsLr(8IXYS7)r|Ayi66VJ=FL6~eSwLE)xj(I(JtUdQ*_N3GOzr6cUx>jY) z|EV#2G)jXX4!vr>)2uVmp2f6BbwD@A3%mx-(Cv*fAIq(K={M3t$=y$2IPVfZP5rjC zFg{jf?E_5)g}*nNKm%WYVJ&leB-bbl|GJ@iiW=K+CmPJ~ud5=X?uJv5cTe7&t_uZg zy71S`HaV82OA#jO^(Z`FVcBxM6m;%QrYC%j43*`CHfi+UAGCtuphQi?>d|x<1!}g$ zp4fs`K=pjBNb_rYI(~nTmS{pqTrqaF>UJcTydKOOddtmDG9&>}MR}C|P$-hQar{Fa z;{Ih$gBe>iC8HTn`h~&#;Hee&Hz_y_{HJTsdVVZ9$r(}YWDm`70)Ai zLU!VF`^)yOdN|+O;Iw}m_#l&uJAadF7~4qpYSf|jY{Dk6c0q1sZ#E^xi8H5_tAi%^ zu`G54KF1!6Mt8#c!I|8jvc@QA7ZIW-NS`@;CmYs9R}d*%ws@i_f}RV0OC}|*^7B09 zatt;V5~*iy%d@2T+l;T`s+OM)Q&^fv^JgQno{T%iAsQh4O^>DZOiIJfEYF3Y z$?W<%eO|lj_WRt2u$Tg^3+olFe-ms@b;J)xZ(?@*>wb51{imT_k5_l9bY1*;9cBUQ zVvp$<#WT4!QtQRC5sy`ebWN-eyltlW7tCTl<+j*jvI4u1>b=tR67v(Hf%U6@#Aj#1 zEmj$_Hg&@HB#ux|Wj0E=v$^jK*0*lAb~ekEcjM?jg%U*0&3=`eKYn}lcOL)6=R225 zJD9%?fmXhjT;(IqyZLNNOrWOD#}{spsBG=4;x7WcJ;m``9wRR7oFj%&TVB7Vnf5jS zYutG9oA$<4-fiz>MMXYkF~DjovCpl-`=3p?T>f+p8ou!!=fQpzG?Fq-e0-080pqRY z%`Y1nN`)4M#3SLZ3_ATyJ8I0GofPmk#IzslVZ}$XSzpXQuC8;JCH7vbiZqI4H$H=8 z=w=JhBZR@}V~Z8WOl_t7g2wcRt=r5WzEH~ouyV|HcaFdVK7$rlIAIFikZewWd?oIB zHHRPl_1f}bvN^ZI$MG@q|1PQ%BP+<-ONqr`&m~`vQoAoAN?rVlrH6)ho=k&yoQ3*W z+M##l~pxfiFN~#$-+x($$iG2N9_YK5E|D4^nCuf3Oe1*@9h0Ee$DIm8ei|s3D7M|5&9=PGg|p+wgD!VpFBqZdh-hI z?#((6tD9p!dKPYHYWwUq*+Xwzn#He-?lrnAJjh*I6ic{4bM-7OD#BT(Sxzj|ql;>{ zo?0K@3_GhXvHr*9X`C0trd{I}H#ghqoJA|fs^zyL^vHkgKfoQ@pHT@T`n~!Uf9zhL z=a$eG_=5N3RzK_dj#u4XZZpO zMtA@24JTjBo13H46U3N3SG-K0%x!KIr<0cGLuTK;m3KPva);#bbg2BHg{AD*Pmfx1 z?cZ-z@O;C$0_GS*LP+SDoKe7GzbjuS|1T{K4Xj zJPbs?(^X}k341(9#Ghz2OUKv(h%B$tu>|pqT9KuCR{6JD+Dvm4fBvKc1uQG(++1L?8|8{ zvxHi4`SFmCU%gc}QEh|3K942(X)jDr=Gco$*Ak@B>zf5~!e?u~+3KRifPnX}8kp@7>{^s2Wf-YwB{)Wp*oLaQ> z^9iTYvsE2$kr_B4Ki2O;8V7QOow~kSn6<>~S(`nK`TnxnHRq2%uTowurp{CD#1?<( zbY>-#d`Zd}Vz_uljF&&3F47J|Fa$IvT4Y*!fmP~5~Gku^srkE_uy^b)Or%9 z_1+!5*O2T&&@M*^;29U?De?}HT`r^mW)1O!P~7s6NIfp<^F;oA^P^U?$TP#`_t>_o z>&8m1W()OM(v@&i0zplHAN`d^sTVKseBNX^D-{uyd>@{Wq=JU-RVL5Yo{5U`lFnZD zPc*udteyMxE=%Bx@h{zU}4vnUJkxr2|B*JRe1I_&M95kQE7)n$T0Yf48H^L9Q*{iP% zG7ng*z2AJkTgC6qu6X8=DrCWq4|u(rpR1P4n8Q!3ofK|Rg&0M-ULV{?p3dCrf3?vv zwp^n!-cFmnJ#;`dM!4m{awApMWn z@9ldYo^nX4RXXB~Qqp36%0UHTP7QKfyWiT*x|Yx#f}j7@yaeA6-FJiAjhtNNCf-_T zb^kQ9cD7HF8?&^$bwH-VickZ;My<`aIC+D9V(iUF@;aa#cqgXa)wNCYeANjSr@2P5 z3s>$o>s=>a)t1bOfS(0iSee=o=K!wgjV_681h4pUQ$C%}I}QR2p`qd)Rt@e zKJYI6)VS=2*OmoCdaurC8I)e$BN_|ptP&IAFCii&{-jC+O^=Ik(yRd&XAXE% zC9suZik{Zoha9UV*W(_tU7NEGGnN{S3ZOHdbJ32(`9AJKoC-?stIz|wbH%PtS?G_Fs`21hf0!*lTuhm^vRM*G%i_k%=DR%1J;6qNlxekA@UO??u7Z(e zR-0JoUvs3bJ!|F(tYuqXzjB&=F(I}OON;A#+k5!FRM~9v){W^cXO=4as)qjKDs}Bq zt-795em~ah$K_oy9s|?NKf}EF1gHyG1S%5ur)aqsUV5<|s1y5A$p8$;Yz5#+Cw#8g z`@eEp^Ww@2{dXfjj3nHX$_Cn^lD`gu^`K;|(8P=D6f#Uqs#Aj(QMIDK66J%bvcG7D zbX*k%84FteYbD|st-Mvv2x+79f+iWP2J+M}aoRsYlGjYa^lvS*|l z2(qC+fc7=Lbl3Xh#?7wZa}l>{`|$<(76fecOV%%yaOK7z2D5}X3h(Nl1zpqDPU&%L z@dpb7TeF{E9sHIL`17_7UXD?!j`8!vw_@B2F79qY~aU#G$mg}x(JLv~sf zpNBL3CY{J*7HCrriaZyWHL%9&(}AjqbLrU{_w(ktHdQXxbAl=)OiG0Q&e#>$mM_$_ z)Zx~H?rU7H3Wc;dx&bRWKN9bsba!{g&vT690V~&(g$~Q?3EzI=F=Y93e-i$u)ps7+ z!Z8srO9xG}ZSE>XN#p2+5WwwspjDziF8Q_$Q1#KL+D@7v|h z!LhRh(PdgX)R0RHBVKg@B?>iMC0llEw!)Gg?4Vm^)7wi(2AxyKaH*$*eT}(|AOD>8 z+#78S5@FM`aK=jrgkAMPUz<0Za?(m{jVA$eO6YL%7odaKawa>Myw?q&G>GXwkmJc2Y2=uLTc8&Cie zKBVe$86h2ZX6+o{gDe z<5xn(E40t=snx(dxI#tF8a60a=9lReEpg8f+(x!CRSe^eJD4dVxlZYrqwNm|FTUj` zTcy?1Sxx&%59msbZ!~$Y3cCWmi*3?H$CXz%KiU-7zZ?>vc>S|9cW)Id11xva6WSBT zIu3Z3v}RNy4m15)9kD(SBH||DqD4WbxrjwCL=#VX=Cxkr&Tt zkF=}D;Iqr%Og_&1i4KQSY%M0Fo$tDC0Xziiy148sj{)m-pEzf%*XwS-+~LND-s6qt zH(g>Ziy)%v>r^+LbiJW6ito>gv(aZ^x-3bV<``d$^MPs}_$lO)fO4-I{dQOFBiB`? z%@0Xb9Vm@;UwuHM(o|5U##$`JxuQq);v{#Fp(XYWnAd7H@rg$KGDJ z$*=3z^03nq`GMR!D$50m!Eb-|t8iz_`+M?=)}<IE`HrM19Cib;Wnmh7`-O#;w^67#gSI8D$lpx;Ei)5VNT`{k|}np zoN2;jcF5T~XbWB~u9tnJi?1hE-mx!EHIxs>=+b7$!qUw{A7<$Q2sFFdCB40RVGC_p zeQm36+~z%NdpqZsLs}B%e!V-GKKZtUFc=0*Ve(s_noo<0i@l2V4ADY)Uo6K@QQhLf zVgX#i0n_V4=)60;4HX%LaS6S;Y$T3l^3XXtiWB`AN9;CR!9t_~d^gl3j^#>CFF!Bd z1QV9`;Q~BY`|`cGt!8Pb4zFrtJ?DWelMTjOfBwjvob=HDiWaP(rIii z91HQnk}xv9494x{xcNG{z3?5#3xHRC;ynAyP3ko^d;O|;<6kQv-R3rbf|mGvvXVOS z;%R6H?urQWe1mEx#kB}QNWS;z2wwcHex9eo^}JslZTY>uKGqszdPgX=KoB6*mv4Xm z?}HuCq~Gn!Ad(RB+1SH`Z`95a90-9~D> z5vFzM-KrN3ifL@FefQrv_6%LhO#M<+6G#iY;8gz$9d2zFg(S*>Sjsetl#a1fs9mq5 zt6&qepG$q%z1E|rx<0kP&Vu+w<@bP8W=bKWuzR%-OgmIzovndj$= zc|Emyy9NaXXrTNBgK6$?Sv$mSzMEDSo{^psXmzRXvFL@o*~Wd`8tv{o+d}?meZF7; z^1<#2Ax!4#*0@K+Jx9{FJ5_=+83IUW^K%eY9+k@e% zxt(0R;Ek|X=q+wX)!*_pEuyGmv;4V+|5o-p?A=4sSoCom0^j8h6uf=xId>e0j|$Am zM7oONZL^kY^0c^&D~)s?O_X~^Z%^A12Wefce$4XeF&Cbxyp0!Y>0$UhouHhJdRWJ2 zwKH0i2sNP?+u9Zac{L?qqg|XbKXqn)H08+`YVaAObi^{tRJ|kzhix|4{YfCKYh!+k z&ci&qd*XgXc83$xDBq*_jWx~?J5-kT_7W8j;=c2UkhviMld=4)X*TYlWccisb2X9^ z`9<3C9IAR+4QvbcPilUmN)q0jQflyrIUEiO?O&Lv=JPyAkSfd6nN zwd05*ST7$fUh_kmhS%IC5f5?DC>TVkb2oX|4S@as>y+}wJB2s$nLPHdkAExdF461| z?MJJi`qSrew|Gp0F*slfmdyt}Mkv&%}{e4FL4v0Fg1_k|)71@`;p zX7fV_%{H18fjx5=?Jvcm7W>I|UcZ5Dd*d|1+;wxYa&iD@fjPOE+g|z){^5aJ_STS!r7RzDcY8RlkD z7wgVbyN>xscR?S;sNShg@EB|M*5FbjsZ;Lu{)6H~d|ag0rSOCQv3qkikaUzQ-Sb&{ z+Q+_=57z!ZHfVGCg>kVj>sBF z5Kk&RPugeB)qIYb>+4M&kK2w_C~Tri;ebS==ggnwmOaq=AUD>(KXX$?9#AV~FxLCz_E*f6UhfV0dNfcqffHoJDklvbG}&Q#;@ZP%4tWfu z`C66RchaA$!({M>!d8@N#-pj00dKa+oQ`wywyAD}_Xfs>G`#fp1s7wXQ{yy&CdH;u zJ!m~Xe@6{RUVyK*x~hD5&A=Z$YwEtv%}>R!&~xiGk58Mfkh>n^CcfY($cz90iyGC< zfxmpHTPPHC_kZ8}W&QDm+e#zi!5kaUHbito)umw`qT{Z z2k!DOF;vmUGcJ*H>z=DWT(`F&9S9>Mds)T`=f$f9jGvTXjhwTBgwk-9|LWNe#nfeo z4Q~H(NiOxWB6qM?!$?0wa+$+_TJ{-F*gn+!%DEHH@U2bC_1seuN(X8ATx4BUdR+7=b6b8wQseFxo?e9FFdyFM- zDtK5-i}}T6>6Lon*kidGE@k&to$CJG>17Q%Bsp)*_l~$s=80SRuVOsUNf>E~mn#ak z7q<~=27xbMkB(@O3*_n_msMlr2=rLDWN$Y=3Ca4I3bjUX*H=pM`7rCFTw;dP#|a)m z_q?%pC+Lvew>|&O_4C9Uy%(@8D9Wz8){-e68o6m19E0+HLk5qJyOo!{pWoUAUvyiL z_QplVKYe}Hu0R$CDQ^~7fmDy6cB`k0O4A;O%fke>8{O!%D>?8a&%*QFw&NS;j(1!x z#g=3dQI^2UT@@5pFSAF9GrI6B?}NkS`MN8YURRjkk`Th^Vrem)I%@e(+DgYHUH2~6 zqngL)x$IOPB!4;MLpnGFP$?Al$xK-K?FeeG=Xuj$i(=+MFpDhrl1g2M+R&NIeGFP+k z0H*7%MDDaPb_gbHx5GltA>aMvB5xuic(I4QyuvEDaPQ5dx>#>7Bkj4${;Ku?Wo&$+ zn`^&F)E*yIHJa_$;Es8U!oPwkcYY~$N0-}BUDPOUI%!CdcpoF*#RTBogLPi%qs06!}=UlI2 z;MHmH20$sWpna;*-;8_Aph40xP4otB3;AyJPu^GsH&>HdmA0lHH+XwLn0u9G4@cxP zay;nEaRa?PtAjFI7M>n)Q&HP^_Vx8O#2$m!pK(Elm9=Y{{u|EZQ#&{TI*17sD8pWu zL{S}0xiVv@jr9Ba`nJDR%TDgS(sU{U|{X~9_zxc zYF#-SyY9TVmv%oQ3x#s02lxH##Mn=|e$Cx&nYIA=ozo8x18RYBd}nML4FK! zLP4uK6Tf;?gBuY9WC*UXN(SNfK%w&z*8ywwHTDA`QJSFb(BUp}7#}$USS*?6^kH52 zHSVjQfItuTGuo<#K-@Y+pYCw>0t~|1&g<~rSJA_DF)F9k3UK6Rb?33btYtNU=^h^a zQG!oy{l+JZdf1aV!q?Vao&0J2LpyE0_eE6o9@cY-HYpQ7cU2)W=XgA)~*DDPx4KC z`ME5%+GjteUrV94GRBwpJ{md-erJ)%!)zdpKHRWOo8iUt6ZS0Jx!o^l`)-*Kzo%SM znRa&3ZoD{7F2VWt_6k&e#g8o&4BhP7TE4<(B!zmvnWPY4ehCD;!uX2fmJpn8t-sp*cLz~=|LkBH^tuPyy_H+}tu+?@RqwRAQEczfg$~JQ z<9uZE@PM3T=VPW^QS8kI#C8=FaAIg@)W>=au!!_luVe_>o;_#?f3daThjQcLa^lv% zcBW6{E>r-fmIqOJ@M_|vHY{tYU8g^{U*$A~zY8w^(~sQ0?2{{5xzm~Z>ow-TXa6R4 zDjEm`HKg7F!*FF4;pZo;m$v29RUf5eESf8qL2a<9jnHedOy*sNCPp@^qzo7$ikH@Y z787?@9BA;ZOh=U(nGs5?QIGf?r?FywKtlTyu4`n{*?kJnV*h!z6>5B{b^-Yb-JKWh zJg;y>&kx6f|LIAB)cBu&81`QOFF*eO{9#BA|L^}R|Ia`BzyD;Y`u^*8;+((rrwkZl zy4Xlc-Vk|hJ|_8jnR~;>L?!BOCnX|%q2Fg5k?(s)|D|D9lo9@6uXFUvlaq4Bs9}QI z!x=)dmHTnSPB&t-G%E0|ycH$gJu&VQ!W35wXH}egA5SSlx^cGHwT2JyVE*C_`?~wN zy~Lo-CuP|;Th}sGl=9b6t&q_?V`iy51$N;GyZvB$mOqQeDSFs!xaJu$&UKuxEuVQ#fzvz{ymUo*F2vqc@Uy?t|&sB7H%#d6BK~8LcktVcVX91!< zrN%e<`I%h#8~<#tj8RlzW z*ZYc}vo$$ft^AFc6Rk(4v%!Ab_&zVW{zwHrMf^sWFk3+Ra|$eCyc>e5>u{ngOKom7 zVUa)yNU~d!B-zam2Fa-k&)7)*XqS^vSl}nxeIv7uXSX_noZ?15*Gs{kOS2Y$=4GAZ3v#@`&I{nZX!dZoUVUD5g~pP8Hd-=sD~miVecm*|HfH3!ee;d& z>apW%?b-5>+g;uZ3-8}AnaUe9wHiO{;`@56q4UL{j;y)KAUE@%)0_8JdX+=PtIL&h ztwxu;o=3Cv6E2q|0pjqeyFY{8&|M?}Sp1j=+4k7%>Yem3wEE&&ht(ljK8YQu8Sx zJDJxC`IXdy6amIACc*mL%h6J`kmbEvnG2WaZ{l(Kr*T6N$PbQaEnXwH+250Q0CAH$ zWO&~p-!%w?b@xjBE;>XLElSa+)Am`XisocXF3_4OOG$)UNMWdE9Q%+F#|I zhEFzRJ|l-BJ{}Ak$DZXH$ra|67o9!r+BV{RU{R$)s2UB-zT5{t6*L~Vx8?2W-An$FDD46$ z0)RMTVN`+aCj9$4?)~o1!$B_x>@{%Y+Nn!IrSz&U5AIx-l%7Bg#n)#huY0MHN;z|V zJ!{p%rn3NBIr7UTa@YhfFESwJ)!v^W`eaxda&>;EX(vt2l^&19h!*rZw&MH}B)oQ$ zd-}K7$Lb3@z4n>PLn6nxPq&=dhWhkYjLlB;C?IDG7}|dH2b%_!3)tFr+XuBO3xiUl zpIAdR8Na7Bv9TV$zoRC;vvg}--M1D}C~MyUNT`p6KZl+FlsQ4ozviMg=V;GR$C;7^ zd_$Gkl7#&|3$5d=M-pNl8knz(9&&g2cZOF(tNv>Txn;FcE{xi<$?@?J zUj4^3F8>zx2`BG(SM#vh1k2~GY2P`AvAyn1NswQce@^QPtJ0x6+LEXHIW->NHheDq zz7sAeFMFBmb+rt19dMm_d9&He1V6v*>c=dz*PGi#L_g_wkfPztJKz#(pyxlczDoa^ z0x+_i*>plX?R>aE&PFtOsGgbb0e6;ClewF~Ifk77s;@%D<*Q}1qv93&yrla3>E#}GA(I@lphvlfuoKb`P8Z^H%2OKU)_GMU7$Bsk|n|- zcTPGjXPJNMS=koDJt^2+f4kFoz$ANf$#*caJ3u#YV(`r{@l%G8z2p8e-WGF#^8d-9XMBh zgO19p5w56WppfO5d3epBv&B%dawC;Rm+3}qgde68dtTtAOHN;p>q2LLZMH8*BYVsa zO9Ee5`F(l6=#C#X+gy*PTM}|J5Vb{Djhtj!z#yWNye(Y%zrwG7EVkQ|o-mV>4W;(3 zD z7N9CB?Q}ncJ94S?9FGW&tJO|p7A(_tcQ92*^Jj6*>8-i|hZ!a<9yenesdQfeN(5)!g0jiW-@svvliS@#`|*+L zz;t*w+uvW;1yMj!&Q&0!^T_^@C-->~C!R$Sx#qVsq&CXk)2Y{0aXxC0Trt*3d*Laq zW$AJLu{Hbv(WAxT>Ylyz6PBU3pXeHqXNl*d8=uc$4eB}zbN9T};ktpDImY#5LW*E| zC%kr!x8okzSdZad1<}L2S1gl8z$>bS@z_$!NQMs4-mS>pv*d>{2d=_I;Y+0!4{gzg z$L;TS*l*kSwUF>NV2Drf?z&twl1X}!6>bAvI11h_XK?YT>v&pPghkLqyb9Exf8^Y< z)I7t`QSrpGGwojf)`8TX{o+->QdP<^_N|nFymiPQ>&d1g&A6YozO+yFw9wVe_sCyj z?O6;?>|PA#nEIzP^;MyrtQs59)?ZnfV^8GsE+Y=jF?v)*eQvaSt!pjb<@}V(4vSy^ zWpv{C#c4a25w2y}<|?~P?knZzf5KMk$LDE#e9Fgw%Ge;<(!t>^wxqRL_Y6j~OaT(S zX_t}i%dgRgbJR4rg1PIT@4L3YLYJcb6KrDM>kI^06e{~xx%9i-g@p$mkB|gNNdpIP zAh;&T;4-LMtLr3@WFeF~@EbGt_#OA&BUb1>3$u1!`L~#;zv~tT6Dy3k zqhv9~+FM3iTqghw*zc(~Y=|!Qehr_50wZmEgBm^WE0HzkldN#j3?CxKuey}eB9sJaXgY!+h0VWv8ji0CS-)4Hx%2grVi?6~7Bly11n5`-% z7Bov+T&P3L-sSI0Enk4v%eXQl+V;X~A-BKvlNi1U7FPX3WRwu?fq>mh%f(V)}BJ_0Oy&qh4d4FyTb}ZcXeLkeO>bct=iI45N^UdC6je+TJf0arFSd=|M`ZyPw zmsLkCYd`7>a8#O*uVLtYzOhMg>2W7)#c~Ktm$_Q{XGQ=zYBe#u8Qg8C9E_`Td zH?7-%)~;c2BBa*v^SIWlJey)}zsUpQsurIFuVe%nk?x4I#3D!bV`$R>Q=IKib{RYD zqw?JRgrkRe+w}HE^R#aY*Tjcz4>rjTT4~VaORM$Y7GXCB&)?W#bzK0*bFk+?I`-ZM zEt$XFfJFE_28CiGQyJiCL^~+a0A8;oRg;+7zukXqcPrJiEkRMFOTg zgjKH1U-^qr&+E4;_llcq-8w&MZ&d*Hhnt_$8=4hNywX~FgtuOQ5?6u)uoQJGQ<2(i z@}Kfg!w}IUupZ52V|;)2Fis#Enl(!*VW~BB7SJ6v;y+{m4BqHr%ygYxTB}OQrF~ts zieK)&4?6e8KFxiW)lF8L6#eS~1{r@ziyD@TlNzEh=X{mcquKX6+nfD~IyrBFhU^O5 zh<@hk;qo=A_FyJn?dz1cM`TNRKjG##{+4bK0=O^Lnb(2s;p$&wLYOtG!^gv&3Fb`h z+!?*(xBuu2_)v!aw?Q|B>OqtEOTM|JWxPeyG1Dg229d!anKdUgOyBZYA+&TETCw&P z5bnbVe7BCD8(GKeg8EFdK72XZ8$BD&NlLQ{qU4>SiLU!%?sU(cl(b~ z$z>6nxOIi~ZvPl4*KMDl+u(t@UyXryAx64Kj0lA4Ot}q5PHHnV2YBt4KN`2ZO7ez2 z%%n)6Ed;`;oizZe=a=}R{ISai?W_Y69ucRxuj7S!PAv9DJ3Y5$bh;Z2kVT<$%B9=z zJdiq~E&`Z4Rya@zqyeH-dxaTPPym;`4Kr_a_f7i6zN4UPgjkcv!*ARjZ6+WS|W z44&?~=XJZOlrP_hd*_bKxqmpq`-vl&eo8-C7{(MUVi57$E0 zSTLJz_x-mr==!Q%7#W6JJQTh&IQgZJTzZ#pVY|Y`HvjgI{C&o{?Qyj;5$6wYIrczI zemfdc)hZ@-&#L68Vv^e85A+>qOkdlN`>9Ot!=4-Fge^!hR5UO z-Npb=-0T@ncmFiJ*h)-ntYW1`7+?M>q_#NgsB( z;r0sOrdjB{rF|{nDp5GSxIW%(=-hFks9?dnB!{_{kcDaYDRtJjVom(R0f@eBd6zI@ zkKWOppT24ci>Qw8-|mCWZQL#7*vHsw1GmFk;`ozo5_ zoUahlo|Az4dA6?A_;Q#LdgDEgp2ufTAC0At$B(6=E_Zow&e&H&d`hhLj}8Q-6|1LV~8^3@8XF1H>wW^_P)i9)e_ zsG1DAx9!*PH2hP^STK2GFZLP34;3_}f>P0cQu+RHaz$?W(MTmK;edqfDD$^o>j5Jy z>AgMb_KRRfr7x2{$oDqO2rF;QH z&spTc%%M*G~DGMW?2qoL7$@uyYqZ{4w=R0_;NB?sTiErQ0IyH9P5Z<;VnR@Rr()w$)sh8=cqsX3P6M|ioqnzYZ@ZB=M4 z%1e7YC)>HWk$ujlHE;MuZ970H#xRLfIY+w>;XJ)`vvQ6)yiRlrvfOiljpxQlJ$zU# zlZdPfG<5u@^`8Q4*?f2+DFlVh`*6KqU`@e`E`L^H1qQl3U*s2aGvD{53->eiK%ZyB zincJ7{!8Kr=r|v`6QcnqN_{*8DpL~;y10ownbY|m*z2Uhf4`+|cd>zbOq;aoXQS63 zaXOT)*8pkH<1ihUcG$A1R2=617i~A$_e50ISsQCkX25`+U`b&YO&VyM+cS`c+WG#W zF8vuY?>wmSu~O{52iCpOD|AOFqugQl?F2h=t(md+ELuw*9}Bli4G?BbBiA;)I@a#K zV`SKKQh{OD-G+DiuCYyBYs_KEE+YYU>;9t)v~V2PXOr!32#%$!{>@$U_mk7lEynnp zoE)G-QWRs49fqmpEC-Qmm`-lQDSzML)R5Zuk~Dbg*|buN&@6vOotDt#P;Pa5;X}(< zTRr;oBfml1K495Okko_+R|HSsf~|K$`=sU&`r&n&u$ypGFnE7hE>8LpFv5RhlU9+2 zwDFsl3qANt;%b?c`BnabAT1EI)Tc8MG$8M0T`k+MG@TaM*W!g(F1;OitCr=NeYc;DCn?Fh4$JiKd+H`5S zSB9JIg!+J{seXEFrqz!9+aETiuLCsN*NWb+b#B%_elwkuy->@J)d z>iNF1E@-lQs^e+{cHd&zpIc?+EMvx*a!r-^|iFEw1g&kC3|as3g0R6#p{Zx zcg}Fa6lXfUR(T<_ylK1cUD33taY-~}uYY$spCzxy!< z2*61`|L#qW7*PDO$W*Mf;_yb17+k!c$1!=?2SgM*L}g}nbE`S|?#+n3SRnV?!m?SG z?Z4O6YM_sJ2NRg)1^z1)`C?FGu(c1{ET22tjKV76k;eU^f4muK^}8(DOwHZ~+O2Cm zYi_4g`N6s0zwA#iA{rSS9fO6pZ=btSZ7QwT=mz`we@k(Rj+)L~wIBltWaBrwS?;I3 z&F^51qL7-kwaeyqfWw`r^*k zffb4*I*@Sl>^;T^^AEy}Z+{0DojrDp=|?BZBP1}M(M^)zbu@lOeyyx2Wa5CU)}lL*r3(;JPtt#WFkZ%mZ(6UXIWlKkpy=e6#2ae#MY>eaT^(&TK!{ zvYPlAwn=JJ8XDE`hFE)PATM~ej`yEylRr13GNLCShWC#G`omGRwxLcbRP)Ks(yKzuxdyE(f@! z7U2HEo?iV9{lq`Urnt7yRxukwuAtEx6VzlstW((GarzYs-D(&%_wY`psoZ4m_3DS^ z@8i4N_ILV#R6otPcT+mM#o%{-ASba#q606#ZQLPA+OH=i|Nt<5X>KfJcB$tcCumy=E}h8jka%9BN2 zQ8?xVC}9&Bl@BZ1V8GAvB-h8{sn#q&v`CbE^tsS^L6W&d!)4*v zS6Tw2coQK{HcwgcKE#b<#k`d(IvJ5+-MUp)*?fH*^uNHy?<>!twlzDgKPO08a%NXJ zsR!p+|M5+BHV8yadId=&%9>7+<=?T}4g+P8wcA3!yhTua|oj%lmki#<5$(L*%q9{(ffHsK;S@rdO=kpBgb9CIY<9XTS1DCrF3{SOimcP+duSwqQ^QUX0wALf zW_JUKS=9leBYXllEz#NhOe1NM=%|`2*$v^}r?MP!RV@jg;bzfbM)O8<0N9pqzqu=P zdyA6?fLXtaegT8JeSOd+SQnJ}A}&&Y@5QKBy^E%Y;^pUVMSF`;l9&D!c1; z2{W0d>UE=WSqg?ZD6+WE zn}YrrQ$!-PC|CC5;uYIp<*w4sb_0oIajb-`VQ9V1$}Sq+{wx`SSm~mU70+q1f-S&# zZrtBKu|KC$H$f|yHa((whM8aWhHTyCN&v+rCD9TNdHy#gN%LkIA#qrLmP)2HWe4l^ zsm?TOAYTkALfnwRetzFT_tQbk&D|Rzj?4yIj@kvF=MEPa^j?NN1NuDGhL8HVwnC{c za6kWEewld(Q_&6KUg>x-KYxA1pL^*8W7#;`;+D@C8w|^n!=R4iv z+KWI+8li(^IQR+cC(JrXHe37UW`aK#6|)oG2y1!W)Z{A5a=YnnC^*%@W_zq$qI%Zn z*FtbQxAs%UFO6%k2p9#u`+Kqtj0NN^0YOi%YAE|RF|0EwZeLUy`b9xVA@=azB>QbE zhd&C>;byAqf`kkery;zM=RrvAk2|rxMPK42zqRnEl{uxWQpuZC>%}vX)d|~;Rl9TY zVUz1Hljn|Q(-T=nFWn<^?k``HM~3>(rKH9k86zo2^%~11b}Za%X*L5+-E3jY)sO%7#`1vnv%X*v=#;e0seONlrEpge1h#lK0o%M-)~Cz=Wy?I4~2#! z+_q?Y3CPP1`8xLDOg^Xc!O-&5!s>jOBd!p|SEQ{Z;i)j74{mBoi)E_iew)1f+bd;M z8ez4kyxe5latp;Ix>um~2$;0++<_W|%_GCB#-PFuDp~#?XsBf5tCg9XsPQfOG?{$S2;8W%f5>!|Roi8~v$;sE9+oU_89H7c-x)wd-n3f|+Pm>cgd3k?w?a&PEY!`dk|L>Ly%^@0 zGsI3~-PuVuP7nvA=hfAP=d_M<9&{7Obunn0ouK)_zJ!>N-gpX`m~miegPG-FoySpd z8lbOs&txxZ58flVC3QOHZlJO!)I7dSP%WqQ>u_3bzq`BbQ{i}dB2Sf-`_LZm-{?I( zWnuF|g{#3~tPX0hvrQDULcw*5kJZz`y;DE2*XFFm`61sUf9gPly*m%SFIDF(H8BX3 z%p&fL?C9yEHO8JqrRb*{e}`9hbJ!%!AEL(fC(uvrF82`C^YawbxSpx(cqgUOS+5jz z2pzJ|_tzj|#X*D|qoo^Iumf7O`v-I6J*toS!)Su&lqB+~I<+pf;!SIA?D-D`*7^!h zHbnklQI3;hbr|kCmr9RVVwj%?ZDeuHy$gPDb%SP|FV7k`VG2%;RX0saL8*J+JI^~Y zgS{lBH6_3tf6QMhm4u}uV(86`It5jF?dLQn1L0NbEBI%&1S^Z<2lM>7bo*T0jlxXCS_q=fdTf+=_Qw9raK3&ydz#s>e|aStqxXtfitfNGSXJB zRX6EqBlMl4n57Wg_kxI>Jr>uj@oG!Y%Qe@+so8je5H+*a98-1iz|2dK9;7=~s+1Iy z@J(uCbdX_?`O8K&Y*q4f4>pFl-muuj&X1#7B+FC)YXC@V_Jo}=Z=I1uN8zXOx7ce{ zk?BN1?w8bT0zz|qtMWOIEp)jXDMpa&vRbp!8(ka?QLe~^MsW)n#MO{I9$^C`qqf0i zvNaFm$FhrHx5OGh$i{T<>t7qJw9gzsGp5d88&3+Oa^u-6^Up82>ow593pCU0vi^19 zYyJX0On*1#9{JAs9`T#OYdEoTP!${o=2JyOYzHd~mydC258Z;o=UA#$`Pl&3DkHha zM_#s-Q=e!XlNV08;kiu_h;g>`N;({Bu663q3O#}E`~TSKYgH`euApV;Yw5D~xrJSU zE?PNWu@AF1No-%oYiTbM1mb=T6oz40Urc zqq9r73d%MFkOu?#5H!xbEa+$iOZ4XlU2;;e(dq`HAS7Hv22g0t0@?{Ytw57 z7PX+;^Fe8}nTZodvbUA$^!b`~lt6cdPUlcW=gBSTrw~9H2=DN^o#6h2uqOGR12Nx*sY6`&D0Wt#`QrhC!Tqn*@~iicGS21Hm$}$waV0x{Q8|Gi@dGpD z@0@@^C^VwjN91R>mw|UmRyYu z<$assb*-^Acj&fsWMXeg*G~RJKecS1Ts2O+fOFhE_#2OBp6_nv!gDy8orxFMe-2mf zKYwLmV;wF=q$yGDTi=*;nu7%Y`^#M>$#=UOaK5m=SG@T(*JlfVHp~jV=DJLT*LaR3 z-8BTUHEnd40@?Sa9*x8-G=rvlKoH4RxFJcJa58TPlf+z()5VL?P4~yDfA5o2J$rP@ z_e6Knt;-)Ye%Vpnu`}JyZ$nCwhp;~QvGcnQSqwln7O$|buX*)PS`$iB({3~Fn-j=q zYVSwLJCfr{RfKcwM0|Qk&E64mXWXt$l=XE`$`C~z6nb@XF3ZApx^8#q=|M+`)3$^8 z({ZjJi5k;}-c0gVe}IB0DT7Y4CYH6ZbbDv#4q$L$*D^K5ix;#w2PPw_@oex9ytcyo zC78HYeP6In=%?4cQ z+v~9?j6}3F32~{X6uO(}+C{PJ-xz}g&F#Y?N@I*{00lYS4M4oSStM7lS$^GC!FILE zdAC82(z_*~O-bfZKykJiG#y#$CIieIvx7M}%V*H-sex6o$P=zxtuk4~)Q#8{oEf2x z2+8%I6FZDud2Npo_hw8sDf>5~3&&-2v4!-?!fIU*ssIzgA`dQUuRQCp8P*x^oA;TF zb|%j&E3Ur>xbZET?s33bj#F*thK&X4VAmxf$+O?EPZ@!x>7B})UaaK)3q@z_8+DM( zfEjb~AMD!LE5B#|*~-hEu0w}JuajH%Azd-90IvDQy>K&{L62JZ@PnHdda!!aeYA1g zcS^WlmHV^vmuJJ*nPB|wUz^G^b3?c^9s72zHbYyQPP*g=FHx$bLn|>qfBfs-z~sHO zN_6S`H|pPbemSr2#Mpk%=zG6KTBncwe9q9p<~sAvL_ugQc*KEeQys?dXr<70_9Chd z`;(xq^uPu-m{~Ld6xj^K7Qzu*n?6&Ej`&bQD ze)n5w)_I*s{gXjzTBfV@0J3sjX|DTB%eQCGV(#F?3e{bJQ?#mF6k%E(E`srw-&^it zB$W@@w13ngqp08(GhRWzuviXd{_Bk=%2li|@7=lKe!H(0vm&%QT91&;mDDyDE>6Th zepQjRuC6w#&ta}birT>{%jr|S^jis-1E)3nQz@|0debt)V1I^sjCQp|Yp%exhQIed zIp~bVl@0UX){W2Cl<<3B@BJfr#L%(h+L&&eM^H_X(1TnRngAJm-<;4Wu@t4L;LldUQNV$vk{?CjpuIV zXZrY($wn8(#ih3zUWg5Mq#Xtl_tTwjrp>bkK!LS=J^v;J2yFcp2{dw%QLD3n^#DV>~gN)knvB`7LH}~XO`_3V?voMh+ z7YR8O&+$^)ZzgPz>n!TOqca=rJM}qT!y@7LYi#8`dF{7=#(8H}6I{Jq&Hh`N)U!O_ zC_Ik0!J-2-%;QxGou2W?8rLt{#UEj1A7aF!r;W0ym7e3l5er za(}3Wk%D1iNp2XC*75<6d#%C=vy;ePO_Zvr_);(yjr=D2>Q5KJ)M`ob z4AO(Yis0W^J_01ibl9Bj6L(2+)s?OUi8#w6l(dk}J`mclo{qgG85H6MDUaLVb@e&_ z=zgnlXaKWIMW~>XW{*~ASd=@cT^MF}?`aGGGA9S13f*Pvn6~*f+Yhkq!UxRpf-TlK z3q|j+aS!M}Z@H{P0}!-q>fq->m%V-fDsFG{yxtlk2c7kx=C3lrR0y+i`6X26qnuDt zi#^afJq~(jkTMO}%Kh8D+FQU4;|aQ`+WOG$$QOo3XN}QyVo0OL~EYz}qe4ia=!)Lw>-~BcE3qV?ODb zE!sfsA?TJ+V26Ayk}T(UX1+)JfOam~bMI~7>wxt1l`pj!p z4^aJ&#Mi+PZNyu=Lj$Y)>m1QM%dLpxb|mY9x>7uSwoIYsFq#0%2|i7Pc$Nx)K?iv& z2q5=fEifZBLJtC@$yJTA^6*IT!)H!`?|!Mi*!7Y9dOqksIjW_AFg3gXy@xZCCF#}m zt>k9sY~x!o72uuB$oE!w$RwcNr)Bt zexG<-Ku`_?7Ij8!U8+DB5V3c{7@0nVv>Ob{ZS^=^9>x+1)mpor zk+cy$8ke{begNRh-^|0~hxpoW(_Ql-nxQ$aH^pIc+FbvPcmk~{`*gdW@&!d)|MHN` z-Yv}F)%s3--Td6G{tc(rLZ$IQ+(PkJ(CJieSt&gG(wia z@Gi{?va7|FPj&O1C;ff58#kg~oW$E#`iiUnNzu8eDaS@(_z3=k5JekFDJ4Q1BoQe} zdzCgSG@bvyz9X1xriS-j>v`_m!kpbmt0#@dF&=kr+|i0X$nwhh2QxBq(d7MlU6)L2 zs96?{2pBvqp+!cciL5y5knT|vUHg48NKl%@t(nOl9JukPx!gONXZf#>dVi0O|BS~7 zhfSUH`nWo~=1ocWFPI8iO;47$dz=&0+W{t+^)09~v&kxeCk%udrE6uA1j2f`68#mK z8JD^R&`U>cgO~pGeRUe{e4>P-?}q4pMQ{!_rg--NB zk>WHX$xm&G>BvCt3;i#AE`!^FIk;a-7xW-kMdY+Phf}ZC*PlSktHHq-!Cz(SiqE&R znvJtb|2#a`>MqA;8dcZ60?0&e{bIx7-)rEHp^Hm#F0)n0a5n57OA6cO_X*$R?&tVg zQFLdHrDU`XbKsvFZ^hbnwluSHPkE-sDQR$Pa20RAJ~tBWb&!Iahr%O=_ln^I-*Q!k zet>*wS5?I)nN*)_-m1LfBE{d}WhkvxxK|bjXu7P*1v(5S5t>IP>X0zSgSU8+`Ki1q zWODAeM1;);i)GF!*Y>yPb#q}D%;E1TOgcKjh_<}m6~0jCh|nfo8DnZw`tbn zbCQFb#m#ZfKbso}t#$cYfuQYn$TGitnPG!#N0Q|)$)c8e5I$Xys)~|Ye~x0mJ{D?9 z`+Lt>lDsY@tiEdAz1!w6Mi1@!!5(a#u{#CMj9WiyrxxU4beMsZqaKafkM^xSmUeOU zk!!k_^VBki4${&{JY*eMW(>8*P+sTd3nK<^=p+=9exHK7Nc~k1u+u0zU-O@>64jU`5dz!}bdhYEZ@pY?YJT9i^KDIW;*S{6clu=Xkthnh?-}w$I zgQZYsjNxg@s7iZvMM1oz^&hZCMrvMH-cLAKw8LS|Kbfw4lNzmgS|H@N8B{Ls zbWwdl2`i=Om5{5Ym2IIzUaI-wzE^-}auu08x7(xqI79ra^)w%|9T@>~yv?HN7l_wX znR&ZL9BI@gMBBJ8P8_?3K5@#;Zk7u$Ot(k^yx&PCbNq&H+&WP>UAg+w+KO-pQh>N+ z82>VgM{Bk+rCtb!c=j}Pf8=>4kK(khY%FgzFFzOwyY*vWr=8C=+xw~vD6N_#>~+?) zIu!(fDa(h(5*E&+Tc)y33-s-Dm%gG|LN_nUMGjeb@{h1>wMe{Va@baF39WF63A|)< z+vs$E!!5jy5@LF0^=mOV-mm`Vk2Vs8?ls))Eei0Cvn%Cvr$N$m-3fKGYP)9;m2>KT z58)PFS&yGZ>)+GThNvbS*X`fD4uJLJVNUZ<{eiGw+Uw`pti04kS$reuwk73oF?^7x z`4)x1BvQN_o}1Q-AS&OXUTt4m$W&ry+vw-8cW~cS+FGZ9^$YLa0PbRmHr^b^!VUEU z`K4Gl-YR~I;dE8!(`{Uz&KpprdoHG{pu=ycT}R>QwwLW-?164jfP4)frkB?S#b|fN)XZnq!Y%UD9e5L))>HpyyrxshtmV5cRLZew-Wcn}^Uq6_=@_ado}3E=9!4roZy@P`rl@fBhQ8 z;sS4jR@uR3!2#}KE8v8V#gTr8em|mC$uaUV{D*hSSt~Y0`0%g3tDx4h+q=RD6L};Y zRXz{!_?kBx*L~NS{tfqATZyps1;|9wPDC&3b*)&Lp|=xyZuH|N2!dgzRDsSUJ%5#V zzPf|j>b6uh(r(K8;CP-^ixZMPhUoMM*1_m~`DADN7QXJv4ex)}xBi`Q?PG#1Z|`UM z1-|Cv!_n_UW_ox37lihS7?xea7` z2JNSP0_{n(|Lv&Ht^vt5u&7@(pyM+~cx$)Vh?&5kak{mzXd;@^<%lZ{%tFvu^`Lpz z3z{oJlqO*_>8;1@HWb>|plz9|@qV4(oJ3NuO24BHy`+;mGY4KtC^`Agy)Laus#*r` zCKwts_dsvm>y{0e&Nbc?2Kk>%^!Y|+d*1TZf6HmXlj+{hXpOm`R=l^6!wQ#^_8Gl= z`YWg8v5lDG{z>$J3dm?LkVPfu8c@>kH_jmkoJJor*jUoT3rv-?c;8h2!5F|0D8ueqer%t=9n7ts|T0 z4z5|xgjLfe<@UeQ`dnfc^-d_BU@JOx+p_W4nQ*!q{qiF)G3Uv-6+sbkA02790OX`e zv?WxyNfzmo#x=@d#Q@Ld1oO1@*v^h+(?;{sY=QmUd>Yr>R8_?N^!6Ft@%|0B_V+P- z$4;w`_qM;|fi(i+${L`d=R5I6f4qJI=3B=sXn%O{_|6|Ebdo33uIYj}cNNVEH1}7$ zKtT1mWFN!04JG9Aq;a{E?Tvj2RQr=osQ^syK0QBlX;qqpJ3;vCsV&;I zwo|v3GB%woK4qVN2D{q6dy*dTyC^wsoEo-x8N;h?Nex7|^-S1aodbwlaoMP@+}bF7 z^bI5`0gY=g`K3~|^)n{qWK|;aK_J80v zZpZt+{Ti0&mqnhjrz_R&_H5R*bM7Db(z)(x{^!7%zvm;B>i}~2ZhtWuuJnh!)fwm> zc|tH}#(uM!Oa@u>8Fb~;JlIi%Z9dyox}f&r!H=(+<7}Nw>;6DNRxD5vKI}y?A{i=Rq!)7Y`HyKF4zCPi;EyF>!0s2%(C(xD4t65Bt@zH3ZqRgVhUcd| zzC?r0$v~&UaPJl7oBRCl;O`1Bn*_sDesk2VX5So50C#^*@=?fdPKb%a_W61nSG(__ zUiv^s;ymEKH|7~Ww&#|jZ$CkMTgO{E?!$3_m+K$ z;}%Y^QoUZhJr7D@xAtwkIm;E;owP6I$7k!*J znyt~FdV79{iL?R66r{-;PvtzSNv~zk)1QVeN2YeJ9;eWLaymsM?d38*O+X5kWG!rV z8y@OUulW7@+jJkeQ%IC?y_YJDK_lymXi0wwO-4*=OIo#M2b>0aw~w!i>SCJHy~p|2 zpx^S>hs!dcmda(m3ez5Ab+#%CUDxN-Q&MCm=M2At?t4bS(a;zgrG_|3sRniL+pA!@ zTzo+$RjcaCumPLd^ZP)fm->wAZ6Es7J^+igg>fF}5NntyeS zb#ve;U_x#b%KK%lB4y`UwXC*pBJ&o2S10@5Y4voh zlF%(YAl)HeQOUh~(`jog%Wr6x6$c*EGaKq%TW?NdvA4|9)1a&AuVbyry!G)@)>cnu zeMO%G7K=ms#%*-!XL4bu&HujJ;ovpe5I^dS3i-Wf`%N6)mG&W#Z9m3K=Eb2nHp!J7 zbER_ye3QR@0cO`}j@_d3X}u)l{l~21(Yc@IHo1GNP^(t~SSMiXb!oe#h}`-SnMp^z zD|U0N=jDCMqgC_s78=ms*J#ksr%Be_r@|a;GY|6E$(Fg%F-?seo3UG=lXZ%~3J1%3 zBnR6cXj9AG(sS_;M<8@H8@*sw$*1D$`ui;Q<>x~=mazCWu?9D4fc+)HTZd=zW1mm| z9rKFA&vv%)(&twX^$LJZGEWqf^y^y+IV<$(%YdI)%5V=O1G={E@rxNzRdGgUl-K+f zL_znUw(Q;6+34djc7`1=^ZW}Bzm2YYI{fb&+M{q;`})s-OIq-4cg0YnVtLk_mFk0? z#Z1qipRgL%3-!op@6_ZO4QlqL+FTG*#QOUv&Hl=5C0ZMk@lLNZao?vnf9a05%;BoK z`Y9LpAkqEU7=z*^Ck7~JIehH)wMY%dDY_?N+pPtt}?zSZxp8PkXLJZ#(Kzb#XeDCSy z1wJ2-#cj*4y<2?k6t9APCd|;*Idlg4w-)~f{`M7eBp6sySn^HolY+Lrrp?rxhJGhZ za^&A??z6<^GL1!$K4>%~hm$;cmZ2yNDF5y{?0?(SkvNQ^M0;x8`8}zxIHz0M7NoQ6 z!qmxjQP>r2)`tmmPR}21z?s@aSaQ1!2ov-Q+e^n}+hQT!oRvR+uwcDIzZA}6;<^!d zkE{(i3XUjZk@wfvPqT94d)*`1XR)Z^m6o;cSuPt;=B(S<^C9sijF*9U4+k1d^L{lR z^ZA=nn{9T0#)!)BQqC6a^zYR*k;CU99Si>f03qY*-!>t>x4YH;;T!E=uNAlhN@nzG9=|AP2=0wh?epHPK+fc6n*;g_S@17u()C$Eb zuHQVE)4;nj#cxYk(_^eUzjgbOO0LFlmrA?Y&Bz79?UVb|A6DTo&R#v4{A~02*PXy1 z|KxTq`Lr9)s%f?ZYl{0jD&Kl3-GA#NK^_7P1DHc;!x0yrs!w*u*3pECgW?#^*i z0LTH+cy^!W4SI$2Y4jYug8o1H-?*aQO%PFpM>@3?8`<-v6G?XNiSUwqtNp2B(YD&r z>hDi}jdm8^-tr*}Q& z(`D|^)hnCHocVysjBwLmy)^Nb5q~C_Y6uNxcqVV(HpGB5mMHW^*j0FT6A0Us{K^)2B@m8yO! zHUt!;Di?bR-{c-Pc-Tqh3P(GxnH{j;q)sc87o?0TWNUZ`_g;20`JP4?Mjc;`cnv6l z?le2Sy4xE;wqbc>8KqOrQXkp=@jhp4$9t0B{IOdZ+6g!eK~oE7%liwvES=JKn>jUzZ$NMU~-;LYfWj>UV&&Cx>AK&(fEJ@E4eICSrE{hf8 zZ@Yrg$&6i>b7n%N&EZh7VrBSiD3-B-;^s_cZ!!&D+oy|TzcN0CYmo{f&l+$Qp<-43R+UpZ- z^4GZnzoH5K8m<3()=j(zhdh)4)MgV_fV+R>{A(phbGy1EJ?hMwh7(`sF?y-gUwM|e zW9avx;biaiomq#Tq2P2Z_v0jw62?G77t@P{$AwS9MyWA1YQi36Gxp=dCjW~Jq$oOa zz(TiuzXPrUpn+P??O$2^o52a@MT_jhC66>wh)b8zcwI#y?;zEat1v~O|ox zU-zG0P7tfq`SBPzLp|M{5-%u#FRJ0sKFG%&s?T4cn?;qU9@D!UWFBU~A|>Z3ZyG(X z;WJ_jkYs0dRi&}0)zGT;zb?=0C{2Y6PGO}Z%j=QvH9p$(b>cHlP<|iGf9gA+5Sr;b z_O4mH?%y-#$#USfQD8O#%=CdNnh1?2H-xot>>fT(hmKpG9e&U5Xnm6BSkHx=((gGL zV=GGnxp&x`!m33(4x<707Y4n>r^XH=7fSsD-q22FcBF42!9GyAk+gSzlurUQabBx6 zl|`fY)A4J+k(_pA3c|woHmc13h>;eB3Vf5-_JnE!h(V8%)#P)bM~k>;tX>Q6u}_n7 zmfk-IR714pNAh!M&vTl;JCq;`fxB(K9eZ4Aa{VYSk#C%Uf6m1t-a9~n0k|sLEHO{$ z7vwJkIKeK@LfBRsk8@M{pl$zNIWyI4HZK$RTBW^x?)quANyfK*6tvIV{i|3?1Oov) z;RU@k*LX{{NAtYkchIpvy#zg?FnYhV>KPNOV{gk=p*a(_FEHz)NvUI$b|cafz=Wzd43;vDW2@QWF~)(x*9{u4ID3uFFTlbO^1>}uMO!)mv)m)SY* zZkXk=o${=CvwD51!Edhl!&rFsH}}!!>b)Y2rX~M!YpLA(|`U>4y{qP zr>v4RXuJcmz!N{+O))4Tm_pPRI{jedc=xhrH?|<0;f^1r%oIx!Zuz%0U-chu&g5@0 zJFQaweKl@MBzZRGkW@KC)AtcrmjT$1utUIqZ=Ik#yrr4V_0o!zlI6`fheX$V5&SL( z!&J7#viflFaqpCft%ybUrx;G%;{yvHfS`4Dav1*GM}S5%pnx64X9N~2P; zN-XluFMOh9&sri03(-Coz~<=cFz;&;AWz^jcR%aX)P@D}S}o64mC-ZQ{CY<^Q0*P>o>r)EsH6;=}B z7jKvCJq;hIM8;4+21upf6OE}Na9t-iowSK-sTdf&QHv(#;q@X<5pvRME0bbn2!ht# z?}I=_5!#$PPOq&-Qed(3rnoCtp}Aso7L|>}G?06(7F5>@3c`5X2MDsx=TmKLM0N7B zju!}VDhto*#@dY4+p;#xpWfxyz5e#W`@HQ-A{R~Ci^(d5Z*l|G%4S^tOKIx4Brxf#8`}f9=kI7T|_6PPJ(=G~1G&?9|umRp^ z$8Gn4(r|58NKn+=bOR zT+>u}`3J_3_`O;BJU3nUg}ns3{^-nV5>G7$XAvyXqXseS((Sld9bFUj+EN}x~) zFS2BIE#E5r${Gi4HQET{78*3I88<90CfC*D#Ti6Fytsp0r>KpU=yEK^T(+%9?@l;J zHK7BkPOcyH$(nMG#=tHpzSFw^+Xiq=L1`qh>O8f>_5EYrO0J#01vc~NY}PEMzb%oS zYeq|7JPGV@<#W5c%f|!c>T2#~$T;umdn+KLi)4{}u?E|>&9raw!7)Bzxo(l@ULWH^ zeC&zxuC}@MTM&dJC+2bY=(G8U)iyx9S6xevJ zh}6j)#(~PH``InZ@d+}$w>!aJ7duk>TFI$c$>pXC*(sOevf_Q^JKI}EYl~@?P z-ido5srvH_?gHg(!K$%f_5zR_b9n!`tx`NJB{cf@Fh-EUxGhk4cg}|BY5~3^f7)mk z>V+O)GyjVB)rV-~5iBaUX-Qv|KH@&Hr}^FCvG4OHZ=lKQc23n(qx9%+cJ1|VDGy5- zV`!i5ktrUFY$rO8Z(oOs zYWD4@KLW=zGj8?$I<12(E_w_!`SZ1uVl63vVZNxIlJqL71k0eHg-c7@QbTCIw2ks< z_SfHz2z-7}Ep{q0lMn$z)@hU~PpSQAmMZtljzy-4aut>SVcgcXowZW*_Jsluy=`NPy0OWT2jq!Bz zEklyb%ItblS89Lcz)ztZ9UaDq>mK1lJqmaxy{nYdPX^~4?Toc+w2Wo#{hL_2{rb_@ z;DWSlNO_#KJa$4H`V~y@Y z)N%X=ekVZaD_nm^?&1fR?Fsi=*kg3Jaf)yQaJ*SKX4L&1 zzR50teE*b~ou9pAZh48^dbGQpO1ZZoBYQkTFU8_i=?|H^bBk~s?@l(&H92nk%>J{l z7F4NPp(Vs>O3w3AyPYy`yZ0F#Qk+Zo|n+by(K1wcAw{r4Ss z)GLnMKd#p)=tOt0vAQQ`iy6GdK6EC*2|I{s00aDqgaH-7`F(plMEP@GKT%49%Ng?N z02?;)S+zJMVBi8=M!1OR=W1b#n%)jSWZjq@*N{8Z+|I6Benr0{FoL0vy!41-j^m@f z&U|e_J5dv=w|<7+{ifv3YqqOz=IhOEdsyV(E9 z>rUQBqlJ>uK{{wC!{f+VInCCJRr*pl&BoQ@O*?rhSKat>#SO_$P-rOv00X#DiCpv( zn87Ma=7S^?*ri6<%#Zr_a{FEtH|{*>L}L_G&jIR(+pyY+A@dpK&GK5^QSXaT2k z(U+bNh<9?r`W(?KfWc5P?7Q4_=FqRUwP2?!{_eCCQB}d&%Mrg59pkITs^Kzssh~g{=i*O zuVZ=M9kLSbb;A$b_#V9;dq)474f0Q`Ah~Yq%sxuT!_{5xmfJ%NGrYy%iTtL6X|Xh+ zlj@o33Ii2D3a>MZF{7kfvg+T;*dHPD-KIhM-i<%e>r3aib#z#E4;=w+d=4?aCF|$v zCW`D0?i*c@(`fw9T^v|^g*v@0%q*xCoV^FH7L2A<>P*{#DzfKF-@E_j_HliIeF)F= z7K~Brn|~U&v*vch#_DO~{Z-U{!-rhoa$`*%U1TgTjADD4^i_WC?u$`v4Q#^*ncPe#?kd=<0tG-qS^*K%{7gHHSbnZHR& zelYFmjr(pTWO_OLhRr`JR)mnF1{gKu!F%J~1u`7|2&O&eZ8olT`HFk<3Zts9Ox>r! z%dveS2(AI(>iMd=d9FzP7_+!B9yOwM3vDRdIwHmot9ZYyUv#Z-orwUDw!uaFy;1uF z)gDVk3(d1Jt{hMeNP7Mx;5O%6aD)a`HjsgoGM)4;?m_+SO%JF{4)=y191c3KvybriOGU=iWUhz95tpJlPywMY)_wyH7YVT9;wgPwIG zA<~goyGZ?le=23{&=>xK;brTr)@^)JiHJwjE1mnaKhH+w`fs;8-F60d&CrrFV(Hh} zm=;^UP?INsKDsay4JEaEt5(}=Eu;mr@yQ`jO{5iG@q0}Q-vI4lG#U;mS-vp#XmeRx z<4xtq1Pijx-}axuqqrJC^ihFD>*eGyry`jXGCC|V=SP%R;S4u^-KExxQu3U@+X8a? z74!@AuL8JQ+(Ia{oJ23zkDiVeQWBl6d5;vl2eF1g$mC~Lp}V~S+hF8+V>P(e6W2xPD)lQ zuSdX>by9uGp?d$hAc&X`sku7(wY{bM3_;1nszKjA-+6memJsezf-Eee-p=s8HsNbC z6x-aidR2c;z9P3o5y`S}gQb^l@@v9(Z0kOtxXsNUx3k}@FY?RBmE7#ct4giYEpBU* zvwGksCm$KDyh}2Q&_2Oe$c)Ql3!xT$KP6H!?z2J-L+skgs-?_W(^4X|pPPn08`g42 z`AIdhi`h$yj_IV#Y;qNOJL&5F5~X^O;PQ4jxm~g2?O)3)H?kFU zNk2nqM5=EW?+R({7&UHar&-(0hwHouQz40v3US23R&va7grks7v zQ?3ZGgbbd^ym{~JTb_`%o$EbpX~^4Yd4tU&R3S=^Y^1^@pYQuyT&PrW=1}OjeZGPP z8oeH2nNRQofa-;CF>ao_X*w%TbBZC>5tgaU?ppZU6OGom1P;4#yugu}GRDCMZ?p%h|4vvIDCPKr9kY7Q#ucvI}w6$_0qIVWYn)sHJzJi&7fQ zp?9n`YjGp@{>&;T(=#t_H14jQ>vm;m{cPT4+Ssa$7~(d!9ohtT{Ai<`4`)lqZng9B z!(3D0w)|J{!Q&eopB0nm?roO3mrz)X;rkjEl z%c7jnr#4Y9^JrsfFI z&LJK)8GO3P=SG=zc#Ic4NZ{^3$>wi2*w~o>ZB-o1WXfymUoQbr+uI0S;-W4`gKj^Q zI)AbH>_q9c$aS*E>I|Ptu9mNaSXCF`CcY2(2<1OXZz5wXMJd%fJ6bS^_Iy7Il`Bt; zm#-rDVK#$i)SkS*9LzRhwY8WFy_#gE7C?B%lp}kp9n!GOQiOc{6?fNW%h-LDkFH&qmSf1S(zdKX=)Z#(4x&ADS* z8TPjIWO(S@4&Mat+DB74j;qS@SpRzgNKtR+S#1w@zlmYuTZ1-EMizOd4InC>I!C{lVFM z#8G}7pP8W>F7o}Odfpqrc}YC>#}W8DfajPS^W@GRR|~z(o^5R!S#`E+Z+X!77FP31 zbo!IN-sUBY19P$64GYB!)J^w)?uZ=!OhmfWQ5u~O+s#j|KFlNEzA~xq9{{w_ z6|Gi!SmSxHjCTB&P&spd;zV@;98qEibGu{~3SB2mo7^xDCs?b@o#Dlx4M2);serq| zjSU6%yK@k(?xFbl!|EX)6WcTwH7riM2T?xtcx7+G6k?ah)&_p>o?2cHb@B4;x63g= z3TY$K6kMEEariE8?J@9_T#j#%41R#uMCfspURB1OOw2?O7mi(y}CWcb8$kRqK0!KaBw>xqP9UV?#(4qhF+dmN;Kn8Jyp*(^dS-L53uytE2h8 zB@D;q)^1rymdaK}Zd^d%oVpQ4*2soct#4Ri$$CK%HRb-Q2@;K7(V#n(^pa&Q$*~g8 zrU5ZE->c&FSZg=EiE0t`tDcqozQ3Bo{e?IL6dmu2i{W0y02jaF66#%Tho_wAjABSv z`}-%iVx}?q`BkM0^pCecz@vx{ETqe}F!h9A|DCf-8!fpT_!K*J@)Q6+78wBCmz%>( z4|{ME-z=|QVXC|%>#TLxmCh(iW}kt;nahL1LKJV4+{jxzF6|2kI90j&J>0g=?d?{W zTnlu4STJX1mxo?OUhoDDr+uao+8m1e?qX(%@tMVY0hh0le-CO-IZg?#| zb?V{9#odQh?duZr>8g*AIDRlI-Zb}*b0A9b+(38j7gLzN+Y|X}t=CRIuOAb1gD{QD zb-Zp{WlP~Y)-&@E9-jQXn@`*aIT`<2zqYFBBG9zpYq_0wf7dPN3(V?qp~aEZvGadR zXX4=MVo$kNzOdCl`3n3F{RVls#!Y*!pO|As1Ptru4nc?U(Bn#7fEz0UBqDh2K4)t1 zGPV0w&gK^_^<8+l*ZuWz$&W%Zy)=#dwXi17^B{iK-h;XIk|EiUc$72|$P zaX~uPb_gS|=jR201wmJ8`R}atxlJcF+{L05cf7nRa}ImQY&u*i;md1-yQeob-q+J1 zy{&Z!@yo1?TvvQG=V(`{)fjbg!GyuX$}x z`NPuWeU=9>%C)h>Bv1ZLx2#RSPv&~cTy!vKD(gl)RG>Zak3V+c2F7FX*fYCve{|)N z!wsnB9S2uT-o{0}HEgOBy3gh6`rrBqfq~m6+CNFPepCVPJ0Q6kEe!c{{TIP&rBMua z_;A16lpxBrp(2C}a}NB)3Ob7R#BXCYUAs1Wb+huW3R(~5J+3>Gc3vEABK6whXmZBu zd%vGLNv~C%R>iK^#CF-~iRe#@TOpxai#ZY>Dw%g(#-U!*^pt&2v!mAsw~_5_^kA+frHd z!m8XLsc-8E_8Ipj%=0H|eGrIx&E+Af(rpz5>H0?vexCYdqYK})*m`ZRZE=o77*e+KqEqzbIoe1JxdZ;N)j)SXt?3G}(a3P!K@gVX87nOkPG+{DwV zx?MphvHZJ!OVz^Gy;wWkMM|$`=a4UzKRrKUo6Xp78e1myRuFKnb%SXisJQ3tCuUt8 zBVW%2A7pX8`LNV;6DGLu$=tryN^I+IW5_1{#zKUyJX6N%dBv`Wh0 zlm9bZ&1=z2O)XxQ`6|rEEGO&8oz&^T8mO)am3DFu#YFk#S&jnMA(gymbwo>UVY-+- zJ$`&{=9W7yIoIzuZ?x3%^^LUQS}G7@i@A-QHNddPOJ1W~)RhK6;XDi3K<3K7&sG_3 zFM^7i-`&o8sO@+-phn^FgQ$?odaYZ{1H!$t zU_&4bF9()1Ry}_4k8SJ91D`F8D{Rnn3es0+yb@LLcqhYu<|Ajlrt{Rg&m;sij>4_F zY=Le2uCv3*xw{w!ejbQL#Xl^(jy(bCNIrRWj!-F_a^0`}M1%m7Hsd_ZlZ^%Y6|qGr z4lGSydKVAz>wzi$6wTi|)l>6&B=Z+3>%RZ+_}QO_D@aoKOuuJ`NT)sB;~ML{_(u+X zAjtB>Ab%+c#y``?YwXP4;b)yyIRiE$WkW~LJ>!mWx20G-044?pVVB{jIz&8ie`*dP0NNhx%QeI53~XtJeww$p7QlNykqg>%tY=qtLPvw|^7BZ( z!ce{cHP(X~ICK<2s;-^CRN~eTh(trw_T7BXq2S zS%)~y(XQ_AP&w?Um-*!KOXS8}I$X56o=hKUQQgcZ zhq_wi_N}uE_09{K!gFrz=sQ8s^So6b_glfGS#NsLX1B*f z<$87SkN-xNSz&(l8THlMb{2b>l=*oEaU@J!@9Atc-kqf^(!>OXIQzdROl=-4>PFmD z3r+R&>(eXS=vLD7vqgFc(lbWoLm{B2-MkW>S=r;Nh-2r2riMs0R>P6sUq_SmWz(ge@o%~p)WUY>+MfrrJDNlS1dR|LzaRizU1`#2S?yg58c)9VLz^~iOi zJeTguXRIp5VAJn@%DuG3NUgn^csR;JK#mq&mf&NU_DtWyZN33KagCU&hXl3bBH95r zNlMAb-IAVch-kb58q-rv*XwnZ`)$-+;SRyZYFX9oVw<&ydwZ%Ei}c}DB7fB3c-pXB z>-;Mw`*bsS9977})C=||!75!dU$N7YGpK=;U{-FMOb9(8$YYvC-rI*Zj{8gsBOIRBqPG2W;GJuU07kd;L+IU26z5 zvPrFZYy7O6zz$Sau9>9OEsld{xXJd^8{qx5Mo2Xj@X6GN)l~-@uTMO<#+&i>EN%8v zxbH9j;vF#Ekm^Vgpan8XH;a8yx>p9)Ub>9a#HGh>t+x(F!qgJE((Us-1lD^6_icjB znibL}#`DK>Ed-rC%iN7)*VKn|YcDe3m|ekZ#z6lWrCSRo&o!`PsXbBo7|osETJbU~ z!@L|BWTkP|10if~2vyA1ANf1|f;|xo2x`h%cQowk0HHabddak*Mtc%kqzaBfXPDGJZ{TsTX! zj2zyclk5=9FWvfm#6t7f5=Q>QflJ!jf`!4yzb4CO@$WSu_9IP5|B;Pxxp@hw+1i9~ z-2#iknwDXr6?AS#?!zH(^TsZl?X%x|Nr+ zwxcrJ{k1~2$fLPKU2TiOTWj$WAlvi)jL249haSzLtarJ5^D$TPhiK@SJZ1lKmu?Jc zZuC8XVe2)Qr#JgQdO{s_8IrCyU|{~JPW%WZoY-lN`mbFb-@P2B2Qzm$9i!H`?~UJq zjNY5QCa0i?^zwHpc2gI(9xt zpO#~y%GE1cd3&}dv?q;O#;FAkRn3X(>h1{9?P*cu*YC6G&8BM)&VR{oy0qTUS_CDC zQ6D7VkhjE_-^Q94>HF=UH3nJRS1I34hd*s`8vIFCe%pOk42^Hn4YapFPmPae8;_jC z4Ys~QQZ9meQ8PadkB24Hwrwu~{qVeCRf=D{p)E>;)2jGz=AV^aY{F4FJL@DcVL5;L z=ZJsrx%SOK+Kae2I=|RvWD}D*;K3eeKfh4O+ODy|O!Iv39%kGR^?|99BK31hiU;>l z#`leD=RspGuI!zlEyBJsoG7>35}PvR^kf5UzTZtE8Vrcpu#SLfIyP<_g!2hVh$%10 zT}k67>?p)hp+bUY*CxS_L@!XNqwau7eOr%+Td0V*td-7PW#>xHv_8Y&%+KAnqTp-S zSCm?bD?WyI8zM^hA z;*I$#HTz2vhjPcdFlKNhspR3slr3SN?9qb=@F;(cd%~_?_bz%rP+hmh$>nIPtk~UI z+fMf%WH-0EJc+8^2QtMf>oOjFk6$h?9$;+86dS>=Qa<>*@4mWswk zP&*tjhr=`1p`y^PA!pq|gT_q_8jN{4rr93wf)fgTyhn<`^`{?WTe&ay=jQI_b@szj z%;q*=te{?F&lQiO>$*QqHgR(>wWUP=YrWg2ZnMRe`g#uD$!`T193%9iAm4=A)fCBF z*!*snTja{s``#6u?gspqIn$`2FU)Z&8zQYb1jDElrm~sX6+zUer5=iQ@Su09|s^ zo9+k*3He;Am1l(?^_nW1`ey@Euz2G`8DJcAlMc5ZE}-njY#MQ^&F^b8(tPM)nI+C+ z0sj;H4cTM*bx%%e@zE^I|5zGPH_ZYNbWihS9Mn(hMnsQu$)=vh;NmU!6Zv#wgjug6 z-(aJ-CZdC}xvH&qU4rG(aR1Tx_XKw|%@)e}5i*4sFEt$O?ePO%O~;%tcdsi~TKtOy zTN*qs&aepi2je3-o9~<^pSz)C71nC&v^;nbIWcxkut|rF601+{T%VARwVMvYoe*Sm zt3|dsO`E3-qxufhL)v$GtG=KiPV|l^{~1!`oVhKBE=;awi(?p5)uCO{R@d4i-}(U( zExb;q=c`DpA@IBUV8j>R{-xClKW;iFC486mqQ$;?wR3J9+)6F*vSS}BJj`ZK+R)Nr z4x`9VIuZJ5w}p#*3RAcjQUuOqUJ30`pP%Pr!YvMac%9#??DGkgrF-Rw9jnSa?FJ#E z*-Il>FG_XMM@oj#DW}@=nR{DoFDEbSpK(4hGfZknaa(qs6AapUXwk%z^Oa{%i^Pg%|Q` z;0;Zf^9xZdp@OYSOVqG=b0~h^t6LL+-;4K2y97Ch>|bqy-$m;{F7;YISG_`9erpUYZ++qTb3;-qQ&UO&DDj*+U*{)#A1F$f*)Lm{lS>$hHXZId= zFhzU>^8qG%gT~D{nMZBwcx_eMekx_nql4?uGrfi`}!zJKp5GL;4;m=Wr%_FF156fz`v!v^nF?^ zLfe&|g(4(u_4?O{DrKgQ?p<9YV&Ny4{x_w6$tNfvqc|f_@$L7MLqVh`32J=QPkB_6V)xa-@XW0i8O8C zG~jP+z#W(9`)VVmBpk9D|LVDnKs|!`68SdrQC3^IqgF$8)f~!G5q!+ntrow|I&g@PE(u^rTL*2 z*S|CPfqG%ZosAX}RPWG}+0w>Jpvk9m^Rm2w4fAjcVO}kMi!Cm`-1KqB(?#SV9XEDO zJ?E+sgvT1+yLKR|4&;+H;dZK{1k-HPaP0Gh4 z$jDLsf-y$2-B=tp3b}5=sN&&pd)H9-?oTD!xE#0f?oT_^SGkQSV4Y)?$gR#X`^5p- zg8P#{#0JT5R+lXwfODm>Nx#aI?+Djc!Zp-^=-98rO1^S#0vsyAcmrZ8RKIitq#X`6 zXCHh?6LJ{?((p6nV=rXOjq%;n`oVbz7__9MjtA1Q81b6@(ZlcuUpsmFD4{f_JV}!8 zZqU`i_q(k_IgGO&P@L%5P_555rQW-A+8ZJTHG`wMX~8^MIqiWf79SyiEyR=I9%?(- zh8X1yd5~1!VNWmy74Cs{g6D+&9P3f$luk)1HS`$X=i&}5CA`_wV-3`sxxW-=^ZoVbhN*>6#n3P`SEtPX@ z7HK}kcX;u_R_#*pd2rA$dx+0AGHynBaG>68O2x*{Or&`J$xV-iygyP0cqjKONO&M}8G6#S?ux;TYNa9MKNv!R`Oz*y8b_7! zCZhuVYkf`Q>y1ZyE(!j*2Z0cSHT7veir4HYH>P#}ThkyKa=tr8!9ShxihSCpPUZZ*ZLzH?LUawT zM)E%FaeW`8J!zu>_daOL@55#EYM<)6xDHx|#SAuy4QsGKugv0pT7uWbsx2GA5y$k# z2lg8!>^*KwC)e+62DKAl;tFLVJ2Mo>$;ef>a?W93PbQCve>+Hr^mjZLPYhW=nCqS1 zub`0G0njrh4ImLwTd}vEUT`Xh-g1p%asO7JmDcOIIe!B|6o51+VduXS6tV_BHR#>3 zNoRJ<1H^5Ptpkv0opX9_S;p`_0Ug-KNLY;jyzADP!B>%4b|MIO6k($1>&~;>Gm_o& zd9%L9`%>Wl7NvVhzHE299yx=P<2ltKTp$Z)QvP zub9R4(d_ciaARz;Mks&8;kGng)j7C}HU7G-#wO4?f0jQ$KxOEFUxVUNkTED5*-^V2 z5N`QMjNuLglPb~Ooy{gu;dH)Udxz~JRwzXw-9<`XAms#um398%iBv=+X`ThnY z+M>j7k7Ip2BrgXYiLPw6d(5_{(;_sSnOjKSrG*kJS_)5P2TcV946N_Cth3ztz|gN` zs56@-{Fx~W*`@-Mc9tZAY^^VEw6+CzG9p^lKy>U=|Bq~r{}3&W0tD|!uRlVXkwLBY z8Eq#=L!N4%!h@*5UhL#l4C`@JgIAKvPHrtejV8?Ppn+7LnceBdY808?B{0cZ36mTG zu)AV=li>Bz4ebq-9yHmk2qeV;{5bu;Q$g}y#bfz%ST*?0EZ$x=#Bnq)rSEY77h6_llYzIEOd#tWK;|fz%Hi$ZGpcbS@HnPJ7*GZdJ zEjN>O$Br*F^64X?Gm+$*MHryLsacm zn$U+eZixbds%jQEf6E*dvMVDy?Z$!3ku^jko<6z!uh{h4TFCd^}(_ezihL;-~dJ zTqa;a;JEUixNxsxxNtw9#8SoV{kQ^oHeNFQXU5Kf8C^b0fDS2lPN&gDo!l$NB8-zt z{VQ=@XMbJ$Vk^VMLw@sp{pHnf{U1#$pB1Nf$Z^c`!vMU@ht_oOQQF))`s%U?6QBU% z|AOq+9$lvBx(AB_&8eElyMs;AyMJnge?cln*sJF2%D<@5P5TaH)csTKhWT-Kkx%4G zG2Fxpt5)vq%o9QYpHdEr_X9jgUhfiFi6o<=GE++~2gVI)lrvz-7lZG`knOb0ib~0*A@EvV0RzCMX^Or zMA8WUpr<$nrD`v0ymNnt*Sl5<{ubQ3+weR%smz;z=Bg3i>L>`!M$jKug;ixPs z5CNOM23>bNYYXj73V-{z-FQAa%O}{p%ULL~M_4IK`k-t~JD+NPCp<@Le#jZy?Pxq^ zqU~%apCL~f}^I0rso$yWvvT;+d1YfUi@FZueXWI&K&CY z=uWKGOQwmw{mYpsCcl%F<%!L+pHt-ylg%B55pV1 zafJnK#(MWV>S~T^DeB5zeM@3YcBj--f9&LZewvm~N2>g7f06#pIZu~CXt*)sbT(hjsc0J9&!rVwy|1(jm_Jdur=XG$JQp9K3N&wbMnJ%&{^v;4mIE+4>JvqMhd&1$EkSsCeZui^q z?7v_J+f@W7Pp{nq`*ghS&cXf;g%aC2&sP2Rx_DWaLI(rtnZZB2MSb|YOv2>{`r{tF zg96_jI%eLVRKv=bJkRl+{ijdMM-t`FpXWiS{cg+%j&D!+ztBP#zyi0z`&v*>VuJ~h zb}QXeheY06th;ETkBYx;;$TVQL8RR?V4hvj86`K~Dz8iF#Ee?HZq3s?1XXe~x>s%8 zCdTaMn}fa}AKYExsBM6%0TmyUAlCZ~7LN;S^x)T9rZE0KA>M?7B0cv5*0I?N(_=a# zp3U(}jAwhNb~rRZ&X(IU+zuOV6l%DA)?L9$+4ZK5*7#D}TBvnzWR!k;4d@Nu4yP94 zuYgAo7s=tf@)*zdO9S5cz0#Cf|MrdVtc0(~5?+d~cbi+$$Y{8zhuR-J91ce4cG;kY zSDQ7*X)l!De7X2p#z4bG8dXC-9q6A8oA-V_ir!A;qMmAg%^ZFKByQ@Pbray9)Z_xm z^Lkn6i;&M%R9|I<3xAIzCkdvF+aD02YTy!&UnJ-=lRub3B^rLOR~}*Pu1d$6mZVnu zldWOPqbp3k{{b9ewt|O}=)1hl%!zc9Tx${J3r-r}&L82NUu~{eZo`{c*W+nlNb$L<1hMYc$?w1=+c4$G@oy2i{&#SdAktd&NQ~)dLTls=-XyFAt!V7@LZgm2G|cc85E8|AK;S5O_*UqS!i0=E}vbP^S`L}vhvs* zyOTEeS$5Ul038Y&R~Fc9z6|*AQMTldn)!JWq^<2b!Fp7-+9Rqyn?}W zx5KxRR67Sxh`4X>`JmEV`z=2NMTp<9-*29q%wHdDiCHqq4YSi;ZBr^f9@VPr$8?ip ztE-jkj;>lsv~>U}sN|n)Q0R}y0SCd@<^?Y35=#7%tZ!#0jpH6v;flwJYji({v8%{+ zW7L6-6@IgcNS^f{jWJe1nP!2yps<+AYvn4_E&l8Jn!J5 zgAP-UJ7RbG>NL(dC(Az6U3qlU#U)w))IsSwtrsz$^47KAxLht0ujHV1btAa_!deFc zS3HECsO72aP(S#;&nxiV9~^Ag5d8hfq_$jn5nYCoPoWUpX&e zT8TnlW(U|*2+bnusnMyvZG^B6Z-}OaTZ)K-LtMJ`_Ylkbf zpSAXtT?^?GLfox(*>$ac@Wpjukd7!Gk(0+?Js@_i0ckC7aY{9hjeDu~*QwCd-=sE! z6E8$4VF@OcQvwf-PZ{o}$D!H-URygx;BSn??E-dls=?*cFC4*v8sBi*+Ci1Wq90k$ zgs==8{w6>yM+^R>0vv_m`*t}9BoHkN6HvzH#QkbSx)p{^4X<8;;o0`nRy6NyWLl@dy>qBa> zttG3kJQ+oe@uh8%umfUC`4MZ%L4S&7+EkdOMlFAyQnUN>C%&ceAv8fBIaW%a$qXhW)RA!e z&Fqnj(Z4_{Loa@+!y5p=_66B!@O(~stmhaPSVZ_=-2TP zAYY9uv2v=l5P<~I_U zoA|T%pT06!2~A`XHS`>5N20Rn;D4ZU0Iv+{YuIqd3zVJ{Yq=r-ulJHWSM5+zibU@ zg?m9p_glbk7HMpnPDfPp@Ms1tlC1H)rUBo|J>DNzoCf=DO^=*9mCk0Xm2G^!qrE!& zI7zAJywnlvo^b4Wcs8$gIEwHdbb0cOaz^yS^2SZ%gnE6#;IoJD5IgIBIYm*eYo@$_ zZ3%~mJPg$)&@fL7I)G%SUM< zbn{Aele^Y6psycy+bj#n6XVUq=g^IqQz!phe>Og!=csMdZU-30yI z7hE0S9Obz-s^n%=rO~~L*)*ppS(>Ysi%t1KT*gi1e*DdXt*fAa9|_%)wKqKbOSAWk z{5I)o`3!k}+%qQc4u9yT)A{sqtG5$t2lk@>oZRW|Y`_qSR5e%Ann;mc{`z&(Z)&DQ zG^*>k@|7wL$R}!}{Ca}wCG8j%%BO8{6T-go^QpHDJNvFBPv_FCOb_ZJUkCjwhfhGK>=Bony_BRI|RJkLH0Gt_wx+}3U{Uv=uj zr2K^GR=l+B6Rj=6{qbEluW9m-8c5~OmnIpm`>9$w`Yr}UT&PZdm zFf^NEbz3^IeM2uqYOoCI#&tH8M#Mn+hsd=C;RU-3Dg6f@7jas;JmgoQbpnKM(pu0e zGmBx?m)>SGmz=jI%U#=Jt+z?_9xMOZew4Vy4iG%_yU;I1gQgzdKH_FX`*-X5X_p&x z_Swh9JU{6~_Jw(LmQ`mn5-w17ABLjxAuF-8kERJMI|l*$TP9?-mj5B&={fCu8dbho zBohROEcFJ z_nUe0tgDqL9K_ZD}TLK$~JxT{&mSAEc>$KxsxpuEc z=CQx+)#*e6d`&*g&O?XoKm;->@qcQ2q&6Ou&fV!-iJ{gDjA=cp#m0yS9HtTxU{Y>~ z*mH}1xgt7~bT87Dll?1!`-^_Qe((3OK*YN`il}@UtJkhWDDl)Mqc>?Cq+PICR|=05 zWF#b*qn#%DOm>95OP8n4D)M$vR`C0*`nQ)hkKctKzC?R+cKi*RegI5a%q~aRyf1RM z7HVHQ*9K1(| zQJEP{i)%=#oV&A%)8RS-($nNnNd`Chsp3psr;x|R$m@!#RnL`1&49O2!!l^idioP;3`H2`h3@lGrcsxDv;c22c#W3R= z%Ql`|z~d7NFitqyU@H4Ewf8%v^K>Jzjv)mzSgaZNC?P;mr_fq>>M}iVjwd@6Hk-D8 zhO4SSsdciA4^JxTj7wwBmZTcka9=9-sz9J+G9m!odwEP|QlWz98-+G!ou z>!)kl%J=Mt(uO8bwE%nMI&uA-hsNVK?5%S7ss8MC-0XOKDXm|j(aF-gJ5RT$Vl3`} zO)teu>Cot#MM6ayE?!R;Iq6As-s5D&wOJm%5dI69#uu9~_ybTp6v<-!4{Ui}w<6uV zT5#^N-lrNbUMH)vIT(bK^qKQZ*|BjvrhBx;CS7j}$NYJ+UQ$XYcjGg;G+bpLV;Pov zs)e7XmHq({YQ<;M?eCQK(>QYSXFhA0OUNm8cD-L?Eyv;_d;Q8TuyMWC`rB`3I$lF<@i>F3(yjE_ zZO**!<$FbMI3Iv3S@v&FDUb}?qt+0m>DH0^KuUCqTT0{S7gh=p&Ei?=2TOyro{)T#ltfQ#U_g3aQ{kbIfj4`d9Z}0Ort3)sd z%=mTc^UI*|iY%)It!kKDIbC#GeNUH>kzQxPJGkO-Ma^E!6=i;83eV6k*8{EE-(!;e z1`jbXSa<)3?hu;j_~S`)$2!D!EYw#XchhbCRda7Ednqmk0bh*sB%FpT9?X;HvcLC8 zW{|dxj#9>qt@}#V@%fK|NAumg#-BGj1!}WNOxRp|d@91-{5mRkO)&kY!!3WxIfJ&F zKEj6#)cXO`b$7|}Nj+euoxK4Wcv0pHc#o|YhricMRF$d-?Vr^C0IMteuweQopp<*%8tB%amGa_PO}= z*B2wemq#z==>ja2 zS;fkrUWY#wxBE4RbRO=6$96I4D(6vpIOJ=^S0s7*+_=M2Dff3d@5Qi3iKt^m#uDu1 zeeUtd`Rq}+m=ld#%RrV5F)=o}k2|_m*@Mj>g(YV=edoWD9N*wYUt4xMY`*fn<>BZ< zBMirVN6oTd+-Cg9hwr|;RywO{eLmGNU=V%Bw@lM}{aU%K+Rydb-htQ7Y5axeyP!hw zWO;)tuKgE&YtqnGPV?A=f@;A@j(;;%T7Vc`hT%Sn#}$rE$8RGYn};Xs!SnJJcLlWl z88K5u9=AS^@ILh;(m_o#^QL42SzOx?sXg~gk{>yjZnSyjhBG}=zYQ?w>UQ`d=9GWI zPNV2cBkAl0TtLpe!0GIBWasNm4&mYcvP4Y_q$MzR=tESH{?daBffi0N@{!ZR7UesO zX{r~0stxMpYjZyZQbowUi1+I*?CxA?+-MGgY1`JCS}RNE^Pze1aQsVm55MqlGMIkp ze%A&P1-4!8vrqFH-BhM6yk`Zd-_R*HzRvS%>{fvwKjXxAO9s zf+})-xe>GV@ux=Zub5Lpw#U*w=i2WTfI#^z3q znR0o}DqS+p(kV`4K9IYz<6rA9>wI#J%Ay|OU+QQlpB(#LD+^;-<;H{pIc`uk>RD3S z7}fD+?%8S$uj>6-Z=oN6rMRpLGx~SpVA}J2{&*DCPsfK2j;@iw`3cQ-vu|^I^aa>V=(ok(2HlTU`Jct5F2FiL~DgPHm-!oIoGN z6e-A$*~(JlspXEe+mM#Uz5LkhwF=$wbWxOan|AAUXL%UQ+Ep@+#A2J~e*-U0#OZ6S zTKjE(P_~?3p#^Ei2rX^-{&s+0{P|#il8IffC7l{zJWy zDJv9zAMr41y!^ZFSSgvRvtc~%^z>1snA)dCEhzSu9ImxAA|4d4^s$xZKMXd_lT`d; z>JM`^W8`((j5^co4hhxRj6xuqmui`?<6{b(EizhrR50gW{so*bl5<;5gVLpF7v0OmfHq|1i!f)N|WsI4P~A#0HX@ zo(ZdsROe zbuY-s9bPc9*y+6kP-dKhma=RTLWr%zF0i5Hvl4bU{Y_@_02H%&hnLGMiq2K0ADPNyPt*nv_ z5{wA4hpT>`S^09C<`JZRHLk2p(Wh15-c>rsTw&zQ`$4HvD=g4qxk91E=(oq7lo{i? z{aOTiZBNe^*8S?jPi!Y9ZNi6*Zte;#dA&;rzhL>OmfVf?TBY~A?Ph7iYd^24$#+Ue zo0_w7{j<9;N?WsIen^)F$0N*y4_087hW-<51 zeu3sWbq((aZ+A0odgb`uDU&{n9B%b>KRw4qx#nf{)w} zSZ?5*OqNS)j5fu#lIP=#4 zNhs-huk5l}4&TfGKmQ5HEB|QY=g;B~Rw4GW+;8V+lOjxd;l+_xZ*l~Mv?I|$Cei>o zcj9AVwb@s5C*ddXf@4xAZy*A-gQUZpigHuYcgSW*?n-Msol9!^BWLootcR8G4& zsjA+*A@2_yN-aAH?8F%bb{oe%AwKfU8ZzRGZ)sMGn+>?rQfK7BMd_~*F`I~mEs4ri zqjX1ZlR?w!2e;uEd(G7bc${+-JwLvv4*?cUc3=JzmTf?X-{OFJ4w@C<^rn3N*sjfH zY-U)C5(4B%AzaVpT-e0O;i%0dhaBKi^UzQjtep+G=ba;X81TzmK2fuSq;i7K4$iW; z?yegBNwM&BC)F2D*3J0~>SfU*Ff_;~t4(d)+6Tbqylo2Ag7SFOdXFC4*dM33v~0rn zNnRJ%R#p*yeR0#(GSYJf8HDiE%v%{rUp&A_O-NvSr7)5hifAF=YsNhfA=gCtD2o#Q zgVT7`|6bQqFYKYFbmRK-RgVfc>dIfTeD#~1 zvXx&aBJ+J+ub;}Lcx7CSugK}ZvCn^vnN3fITS$=5@P^UAl(EM1q%DuPA-bOMsO1FZ zK3m<}_rpr)q=U+`OpmAsX&iXq!oYpIk1me8e72}u*fQ3kf$Xyt`n*x?Imzn&Ts7I( z>QoR9Lmqij;S^g#f=KzP;yZreEDN64p=q(FA-Z3Qw-?PIm#SvC`yG%=snA$+(>39D zt?`)~&q=p%`HgYR8GFN{;P2q!;2J4Eo$^~6=~9=b@%Xl0OPFx6b7u(F@}j5m*Q#h* zm7{N_;Vf4|n`KDe)Jh)XCRAiX6T_36w^pOtqCDFcM&s`z@gcm>GPL}x> zWECbYb>bW@i+s7)cv%fvf*@qxKK%R!U)dGz6zWy?Q+=4kp-TC{GId|aK>quZId`u9*xVG7sYR-V&e)7BTrrO|18y)J`S zy~lK|MIvF_(jj@%`316qA*EQB3Oz9L`1F!=M$bCCZC4(zSaTN5efMqpiq&s&<7>y6 zPnd`}(tphvR{*pIJp1NZH_nUwn~?T7b6Y%Mtzg1vm%LeY$H+}(@p3)KY(Y^&BwK35 zT7T94IGlIq{k<;6OY^>?+P!)|s8z`NaW4YATD^7{G;--sZEzDA)aUB%q?P?(8wQ`L*yLvE-DD04da2>>n=CX zG4NE9VU@Jk2~>_rypFE#n`MWX)zKo+FXGAQ+vH2oGFH``GR?&!7t!T-S`9k|X~)R5 zd^2fWY;2!Mb`0{H6z-I#LyvPtpqeNKe)F;Tnr`-wrKUdf={Qq|qbw`ahq@-b!}E1J zD6Lz;?aO!8K;v9vc_=mI9{P1OjMKrLyA+(^qcC;4?M}D3mLx$i8e;X-n7hr?yuD8c zN}iwg&QQMKoob~G+c#G-w>ly0rYp8kW>-(HXRVvi!d4M9j%f}bY#&d{X+Sr6GtWj+ zqgJ_j=!HJ{o&`v$^t|(~OTXdXtINfS8?7a-ihTr;Xz!1=%9Fe+e~V)QvOSOR4;HcI zlUt<+jH8FdA)yB9lQY?xY&O!Y zJ^+32=!=vdh{m_XS;INvVwXs56obdqJ(1Vdy$U{tfq@c>#VX-k*+i5#u%jVJ;QIiw5jn?& zxur#nezU?<+kMpg4uTC2824>CLVhmQ8NZ8{C(O=Z7z`Af4Lu#N`0n_67u7Z#RVr$` zws*JcyxBOrdi}%m>%8|@;l*V4u~3g*>4*fT>%1vL|HW!Dr6wX27K76mJb67Su1(9g zYxPYh^=f6D7xT&ACE0W@7%f_<(sA;pN4@WfY1ikiU{h@(gD!gv!XG@MP!#+{uBStMv!e z*p1P)2Jix|2n8zP)a77;2+Jy^-+vroVM=-9e zB^Apjci7d?y~lYtrM)S;wkbY^4KDx^Mq}D5@rypbm4Byh>k z{*o0K35csvPKzdw{<}u+)IS7_NeAxGMrP0WMRj?khc_BI6Rh8xZT4|*F41pR0e4s9 zTo5)~b^NW>nx$zkQAul4%}E7DY?t>kxOh`qGp;b{T?p28S9sUXXhHX;K@`}Za(Gay zmBYA776q)n7lMMqhhwEDcGAjQY&)Ooe%xEZlJsmww7)4~#tCw47TfRlIkSSX1qu_x zj&1nBi4voH9nLU4I;g{;hi^J##QXj!?Owa{5HH;2fK8(d8Rmg$%}p?CclwmqclIC_ z4xgnj@9P*D!4x^@jR96hymIMhyF@dSwHm+bWI#0RZN%oj_n7oT$0u~g~-&r6bPi~0Ou&N5lEo<4{kviRG>kC&`{=AIu0ZCH{^ zxvBHPCQYrg_)@*%XM8`up#;LDd!Ay_5_qsuMqO8s@(szuv=y*%N8x+NCs7~s0&uMX zAwivV>5e{sT-gW9T~@4o)Rub2Ulkad(;=|a9Wt24AwAK}(eS2PaALaUOIFuR z+WPdgQDu6zDQ3Lh#?2;b``5~Ch)w&u4x6ESySKkKYtncS%g1^-p;BdhScsFuBq}`h zJ|b5RCjx@yML3Vu-p#^5(My}wJIgn~{o8vivg#kQR9}bl?*_16$K4H7oMhe;jXjQY zeW(9P<8j}pwyd1_8WwNUwq>;sw%Asl^3R*!uf_T5#xd2J^J1c=F2dWAShCQ9`vx(V z(A{_OZMu8t{;xoWB>&Ms6JA=GfSZV;;O2OR29x#El0Q|>$M8Fv+xV|o*o;E|Z3{|* zTPvJ$^&mo}4}Z=UF^JbB%o5;qvCt&v``pLs865gZH?A;oN^?r`lReAKzGKNd-!tgB%ILlwDSZH!x%zxxnM4ALf`ZrrD$zMdCp zny*#^a8X|_+?nRMX!%yV}1Yn5i6<^t>)ruMRSY90}=e!~Qwhxfv}O)5cau_W$z zd~3_J(e)333mAdRjk{oJ?W_KR^Y^aU0vBrsY1k4++4%HhWhmu`mD6Rabjg22`dce$ zBGhWBENPMcpS5$*Hx=x<__at8=}bZqX5^Ei+U5Vn34!&JZ7&<^<0 z>Gz2c2w^uO)@Q?sn$_R$rGEAAmB|_m@5>Th8ORx}PBMSgX*BNBjRm@8FkjaktcsS8c@k4gGo) zj*rWvkGzY;wLI4cdEu!ZH<&wZQjkp9y}rWY11J4$$;a#E)mskA6ZaVD7xM!wFaF&K zmi&7?%gtao+MIin2&3AMKdMGX2X9~fj6V_$DBADbD-6waGylw&(`x1|+6aW_PVM0k zbSCih&f8H3da0L(p4w`k>nnLw)bp+cvN^#Sjq|$vhSn0E<4bRxxfeY@n`e_D3>LyrRPUy=mj^mMSWl<$0`k&JE7u-YSAf`E^EvkgU~1g6NPl=xuIYB&@MnE!1O{ zF_7@32WxRz&NuG=Zm-bpBJow^aam6-JNZL;B3B4(Q42(gwXs zU2TBf(aPv@uN(4}mL(;Ati3sRRnT^7>xUdbxEkF|on24RNB%2Yf8WGooQBNo*Zcj~ zsLk)PT_11FLuZm$qRiE3c!-5{XTOr+Etb5!b7H ztOg-}%;R*#MB;C8SQQ-qd+{KXWW z_+h0FPRJvuzwf#)oZ%N@f@2+AOOwU>@JU^~+zBa#FO`xetcJk5l+27iKN3Rq5 zb_laG4t!zR0IS-$b=Ey5tY@2Bw#+q4xBUSX7K0}{!AbZj|3FWtJ0A7+OP#Crp|ef! zhds9SQdZPC@Xw<&?8lYa$B%12U?$gP2|2-)f3&R3Z%_DcTqn@T_ocqkK(FC^J-oWK z@z+9-K6T>?Q0Dih0?@|&zgO4rQlfnRRtwcz_WU?v6i7cqM;E&?gJ)SakkgRu=EB!D ziQ*zF?O~6cUFUyw@MH9L z(li3kl{h6v{OapI_1p*HR|uVL+~uN3tr8+wNR7a0T&|Vq`4{EA3C9Q_)K&CXD|*=3 zK?qoHGCG?DcDdq$pxbU*HrDxy2-{!;__~k&FP5II)q_#oFk4|_KZoy8XwsLZmFBf(-86$tC-G1}; ztt-XF9Y<(WUghW7Erk1v_(F>IUVN2c&JkvIH-5-IhnvhxLCA~yoI6+c^T2DPJ9cXg zC*|{CtM910>REM4m@PV;Vsv$T>VpAPuAVytAEy&?t;2UFeiv_fIGWFQ|9TTfCf-1a zIs<-EwbTp>{3iwmD*iQch0pG{+xEFyi&o(pm&wpQAnnwBp`^#9tfO~;%nX;PLz%SO zSoU|TjTY^}+vJW#;<6rJq3lD&zo|`!a3+IHXyzGlZg{2;$6aRbMh9vl%fw!$Ib)LW zvpJ~NlF=ZB`YF{QV zi6RsJl+Hy7pN^hZGv5f?70&b`wQm;rUH@{ml@D~V!1v{mxLnAo{q6m3+cF_AAFb?< zej@8tEBldGIBh4rI8Uw1;y2LVZKM&t-M@x{u_H+<(brnVEge9Y`_Az>;Y^Utk}rmn zvXsvU!%yM(XhaVap0RwV;_eov641VZX%D`G1l(Du?YhKrbk;6-q(QljdCafBG_S7t z*M+L8xp&l@m%sWGsZm3#Zx2e1#6A$~o&^x8-9DOXt_Zd=^gV98iU3}KTatO}J*8EJ z=Ob1^ujZ#>--_9vAhr>2 z_Nthqj&-lOcZ()eDCzBx8(vbZ_eTZi@U_aca=5#@gxViK(n`?XcX+&fqZ}B|8n8)< zaV*V{&V4Jc8942mc>X*rSEF&I1Q4J%Q}@>Z;zg?E6Al#0M=Nq>MI5RYxrgAP8w$rq z)qidB6MzBqKO-Gs?Bl3vwjU>50zDvIU|~7SzbiFX&F=SMWxJd;PhOb#9; zMp-3RDMV3eA?%|}R+RCuA1+VOHLl&5%O5mUBFgr%m=3CcMGz!w%i{BHX5pLtibJQj z%M>W8_1qR^w-)ow5gd1hn_!24px?%5?_$JE+dsQy@_xL$U3Vd;!ge@&msje!0(W+L zfUL*G4Vi_@FyL;G7wfZ7DiCn_ z6M8Q2WXNXga{&wuW+)#kC-20kbafVQFZm%ksyg(Jy_bxszgGCNN4_3^hJrWQq*+pn z^%Zt4P?L8-fuQ~BU4Hg~PwBGl^!G==9l6m+%)8}b?P#Z&j3D@C)Ly|_T5R) zuo^4xhR~pI3FsdyEZ&NehKDho5xGR}jJ`y6 zi=g&2+%9riz+E>9k6+pB8qKKod*@(b-55S45lZfXg15)hPkDUypp@=W`79t>JoQTE zBgD_>Tm6DZ^Qs=#-HH6nMVo$cZB?yBc6oroqYnW^n8ueT@~u1l{DNJ~#hQ&CWW7I_ z{B=#StKP&do~(gi0GSl0u|{qi51F~gbUjyaJr9TComLu+Rdg!V@e%nD>vlOOerMe= zmiAA9W0ydWuLM7Eb-t^|(;LydG}L=z{!;su+owU;dDHy;Ns#!+>fMR0*FLSt{x;mr zQvc7=9W%G7eM`cT{luF`T`U?@mg;4{Z+ZFQlK%Fm&Q>^7+ehG}J3k-(V#F!eK)fDK zSKf^m0E$|iUYy6HytlV%l&r1BZ(kx_WBjUEEyxCLl@Q%rymxj^ z+K+3l_R5^Ux>+3{cY84%8{5!lIsfEeC{{Lq+p_*HFtDv|xcu``5x?IQ@vvAvc{fdI zrhy)Tg@lH%EwElYpH+SO!hE6m&TjyfQpfXR&3S=gSpEo8hA7h)VG(e2Q>iM{8^ZxEHTLE3Hk+<29;Z59loH&eh!5* zAr4C{$79>vciZFbbRRwqSnxP>t?-YY&H3lmQp7)Ku%Dv2T$Ox6gfbCZE-n`ToTu<9 zed&EZ(>B+d6jLN-Ei0?C?Dt2fcZJxjzV+JRfWlOH5_L|!EkXV{8uST*Az>KGc5b%x z>#$2&e^VbN);0%)Z;h^$l8594g$3AZ~N&&3QAh!v_ zpPKYR0n5MgalK45l>PI@0b?$Araq{XD|3hWk9ai}3FO4vw0`aoZpRmQIVH$V_&Oxq zWBkU?*2CB35T7Sk_gj0Sw{xL^X}GrWU#j^5yCe?PPJ`qYh5tn@8dZmC^1Ag zxvJe9UGfOIE$3pI&zokM4^anDHNPn8pmoJw5obZ!pha+IezBJm3-%VGI(+4+U8Te^4koOs^fX`nv&tv1zXO0Uc@%mbCP$MDM5L`}<;hiIswV4LjZq zvNA3Rukkcq!^c~|URbfW5=DB3zaSWX`gM?FO2MYK1iccq;w%T3TB{r(dZD1`zYGe+ zPp}#33{AU{U+;dl{JQc>t3x5jzCmEMXd`^lc&=4|AT1$n1|BI@-av+b-L3X{y+dfv z?Q&gK4p4>Mf300=19eKve@z3&f@nhyreKfpzmApjF!)>`Ew|m9`u9$%BL`Vj_BNsC z{CFpTJa-R;vA-@bCw}aGp1`820VALm8)R5Fgu0VC?0P@FJ~O_zNbJ0t+hfD}VknZx zqW@@?3;jQh8aP*&E}Zg5^>?jcYsJ2g4>y;0qtG07|N8sqFYa%W;&Fc?BqF-DaO0sz z@2tL|{n85}`kXePc>`T^XMLRgm9^z7_}-yPQwYrTFlQRf#Hsw~K%~IayVb*6-s{Jx z>5%+>-ytDP28b%9~a zKd#TtcB1E>S#t93!Fab%B)KHW_}sL_?c@t-Lk~Nn zq+1LBye&Yq*z~dUU*xTN!CvCAS6{d77B+N;iSBEyA3 zeH!3WgQqx~bS5^j?Vd0fG2Z=mP?G~v=iJ^Gj=SdIZ29c%*M)^*_(}z?MmiJYOZ-` zDIDAFU9Gb{(|V2UN16+L;q?{~2Qo5qyr7=)%|6VGi&i$ib(bkfw;4QR@=(~{7g~#b z3Wwl)(G)9RX{O?c*|{N^mg?i1M>1$A_w0gJeRm0AcgTDq9Tgfd?QgX+!$w^Z@-JWeOa_m;JUW3z`; zuYsFg%UCApBbf-Cken+W$;Lh3EgqB;LQjtBksbrNg}8N8aCNk|U7qW|tWJ}MrRDRt zU6xCgE6g4pu@K1{(a+aAs3747DT%Mn;u-w%H+$kMrCz=~TYCHP(}b@rno_TN4wA&) zt)fpMT^1Ckmpo|WbD6q!O0QrsGngMA?@M`_fcV;=FsYz6MxhCFnFs}MHGRGRirvFI z*>>gMu>n1;bTE4;s-{7Ga15nVb%M#M%THikOLh|Y_CMp*t|;~+$Uhm z*c&*fr}rS8PD&Rb4Zj6kKG$aXt~B0a=ibkKVt)vEPhdp%%lmFJzTl+cwk7ntaeAz%1`pAFZy#o*Mj zR*>2W?I)7cZw(ODJ?pa}z4PyEam@a>dzk9qpz!zN!9Vt{iBveo!U5X(XmYiJb?cMM zZUv-Z)lCSzu&fB1L@O78a5+8ZGhxHt@n7YU@6YO+B!6lq0aOCNnIr>J$p@Bt9&FO>LXPU__5{C&D;S^XbAPwT=6ixQULBlPwllsi zW!+HDdc#3CkF7_%dc=w^8kC2|{QCmcT5-r*ISwx}!4<+l97i^}Nz^PsZrfHJsuRs zb+xnFD!bl3PcD`6s()Q4tr%Thoreg(_f2>b<@Ab;{y&=l7>|2-Z2gV<#H11aEqn;= zkt=^hXPW51ruIG{%&%=Og~hF9+<~Z5X%3BAvbdMwb+Q~I{FYXz>aZTu=y-mEvU)Mg zpuJJb3gl)G^n`pRfW9qE4?$%u(332|)(@wnu$HQwPUDxh~YTsADp}Jj(-nq7` z_HtYA5w;6(E>s*JCXp{|Df+VcXN`~^E;Q-*&j5ErO{K@DigzpoEd|yge~qW1b>sBOH;Bj!?;^+x3*oY#e)vt{E8?BE)_hJ6&goqy z;Vx!dty!f|>(8L|*9;WsDB%{XR%LR}(5_2G(tQh9(q_z^(Zbe;tO0GQRIzU|=js^k zqTPpRZWHSb9!sjAj~aFTAwG706;C@hY3*hD7A}_IEv6HTujW7(hP1%4Jm^AlP*(jd z1iYwMXzzL&tB@nKt-h^Q@8yFzaBp?Q8aHmBC>^@@0Rn{h3}{@z;S8@7JM8A#MM`qY zqoQ*Nr?v86jKXPoa@K&vi}syBe+-%EJZa>nqTJeZe9~WRVHt*zvjPO;_FK z`LE?AHmrR8IJW0&OU?Zg_Kidrk0ED=NeX=#)0XRVKaJZ)}y z|B?*DFLnnnLtBaKW}}iDRUR~?I|)ar0Sat04{FRy9fuz(h`rmPR{cqlR8k(xxSEFv zmMu|RtM^!QFSUf>oV5MnzX*3&Ei!LK;gR*4qbbqsb-Du7PZZs1Zi8U}8rkblBY9dm zp2DinT$Ntd_pM#E809vNpY_bzg=NOGqa9bx?Mxo_Vhiz6@A8b~?n@P;rC8hPcm|T) z=-yq?vejkRs5hFL7xSiBlA<m48bKuyd+S6&u&{jL0CyRhUDqm3@_S|4&+gwLsAD=Dn2dplQa&W4vh1Fb^b z{#OO;nocZzCji!k*StMS;Xfa&JbI;O`FL`=dE-(vi2c={C+ouGB6Qnu>~?RzvkszY z_r5>(b*))d2)bJ-=rM^0L6lQZ^!WtFXLoW4{AdcIM^1&tSEp)bZbNt+U+$fp!hIhh zmAXEcr8y#0lIU=Js+|v5AaX0WYY}&;SaaB_0w|$wE5w($+ak3C(st3t=2#Kg`SzB7 zY*p(r~XdR+xzNGSuZ)e{}_;PcwQdyIy~CxdRrxUwWbKi84Zsvanlo z7~8hjCT4>UGl^@@DE0 zV(yZ;>FA?VLLrk3f9TmPi6YA}iFYRzlp6VSqtUL%GdWDtgZwr&QoJ@CHYn|?H zcP`v$x15ikpwW*YPc?WPO_;|{8<`j36>-J-50(thbI^bAnYnAAI#2ME2t8%qHh;k{ z&RJnnr$E9pyVfQF!pP(6&)j% zZ4QaY&++f;T+?}f>~aR6a#CIz`yGeJ)LIiy*t>Nu(F8gQ#cvau?IkiI$N=E!Ik9=^ z^_cl+%*yG_C{CL;R33VAJk`cwhynsc908@7zRbU++F5yP`FOufnJ=Jv-#yA&K^0D| z+fByLffo3q=K0q@7v$r06<1=TRvHmG1Q2}nl{)R}&y2$LSF3wJdAq5a!;Eod-&+u} zg&)RwRfPM?_{M@7rB+UVPjbS_Li7zA1qE4-_t3~%z=X~c#@1`^c4pHN`qp+N_;U+mU^~Qw6iNC0|}~v44NMV@U+w$($uMyWorfg%u?2 zj}X`QGieZa-b6Fy?L0I*!!y<{AS;txG01@jenHX5r5m}|R<65NYtBWe{r>T=ZVvDbK^z>IHvKd++)>>QkcfuMJ0;I%jI%z&6cMs37xOn0Culx zdDH0>8k?nE$}%uWXVX@{&A?`F^NvY~Yvdz-YloDX`w8_B>2>{`#I#yHH-D@U#(0sd zFfD?~Gk~H_7Tp6so@tu8a{jSG9;8}7RMZuaTiAN3$PJPpIabG$id}%!%d*dG7xR~_ zZ+^qqN$HRu;RDQ+&>l|;M_5gevLsD3eO4KbMyFf(PtPWpb%yT^-+G4O-A?L&R(JM; zW6-1LRpS9lFM{z}T4izrF0T_7Am|PWv{JfgaKriasz52n`;dC9!ogz6KJtUZdV~%- zF*f1C$1ZQVh2SyV(=!2qGMpTUh*Zb$KI8zd*V7^hUQmg6_(z-1_?m4TkWAz6QlGi! zFa5`O(VNZ)s4n{43eUR)m9E#X>5Fyfsd#J4`;g0^FUiRyeqQ6QE;aow`fQG&Ms?*T zv5~DHBbgU!@0{H4a8wkw;2A5H&5rlddRApQ)!T#iIDbRKBB2G1uf1~7>Z>5#EqPJO z0mr(!n0LAORJ~|dc0Az!dW1WHJ5SH53r>4}-}~{0F)D!QeU8 zm(!cO9y-`yyz2TM1z&HiU`enDv!SdE!?)!h;Hv(0 zdm1IU2t`r@4?;y-C#zmzt2*FLBq)|%K|jrdphK)X$eU0|0R`AhUyvp*K4sJSupq6U zI>Dc{MpLa#x=>2AHwVjet`0FmY|;Au$u3bHLFOGwkeB+hqUMhjPAZS~vW}6jE{{Rv%8>k?7^RUO1$#qQ+0 z2T+WlKK2No{z05?&(Btt|9}MmFT`cSf6Q5AxpEm<%LzoJm90Jsbq~>X`80)FRm(<=PC0!9&psF`;Ty_HltP`lfu1GXph^k z$2KPmpM0(~@%OF8WBoYpar;{{KjT`&`26EdWE}_9>B*jpM>+cP?&l;}Z_$t9Uy+)i zKKs#kKv(}llaBArF2fF#Ho(bGaHn47Muj7(p!@ZkfBU4$dUK6y`gc8QwA;$1Fq=0z zo2Z?7P8(|2xJNLpJ?#2p)ZR%XBJpm0eQmUpa z5gFWJbJ6WGE;T>Us6x5m+nJKX&RMgVzUPo>-W$%7A-Vc>XPKQS z#`-oMjL%(aLZpLdXoH&koz4pRRQua8j`;b_9+$sn|CvOKXOkV#xi>}}&ib>#32?#~ z^oLhw(ZY&o6pqE z;D#8JbzG}-ceaU3@Vr^quPO`8+L9n_w4j~BI-D@xSZM z-5~$D&uZ%Plgp>o;rRsSZiAUA2nOt%+s)wf&s$^9UeQ0iX4aA|vM=+0ma}ydsMgiS z274No^po$FYw#CqPU^sY?u5No*~o`!+3Qqt`=ec~`XD_O(_=_T9aztTWt%E2pdRRJ zcUZUI_1?#E{oQ4ULs+DK`z0nV=}4P9i#_hkCdb9eBQSF0G>U4R!h65>AmA+(%jTA{ z!d3GIm84IRU(Ybqncbh|$L~;kwehkg=+oU@jjK$FJ!F$2N9h@h{ndW%SnM<^pLr9X zttwej%U!cP9b24`lG?{49zhO++iTtCTsAk~j`a{=hVAoEfqZgKjkx{txfAk-`mWyU z6Y~$N9DG3GkOP_i*ZcQ@q=zx@4f+T3wH)?Kr`5GQoy|E=>zHKpVTX6u{F6j>Tt|P9 z6h4tG`bU`1xY~j8R=h7G)MNf@%JZtX0%8Tjl4Q9 z#_Y3_gHG#*7k-6c^H;$M7$cQKiq*S8(A%5m&a5SY(o47KY72U7N3VejyvFnXxSf2K zqp^2kyxh8fsGIbHn7z$uG?DPZ=?bRx>Wh1Pp!Y|L$z3|Y8kpRac72zl%f965m{Dq7 zoStIZGvz&MRuCR^e*D6i1${LqU~ALv3)L@T<4cj1nmeM+nxmRRyz%k;cg|G?Kl{iQ z6fL=6Pqaggo)CUsdS*TH6_6=T8wVLrS$vyaCv8?A4y`7M=yoBu_}9w=a0;Tfb1VM+ z%whLLh%DNdM}O+}QDfF3vfEgWQWEC+<9%gR;GChq5o!2B9Fzu!S$mScTn4r;UO?s1 zozcQ0s#aoTd38iB(+TREJ=ipXtI$pF%SVQ02Pbvm%?*vQ z_J`%O3M1*b+-8@(453P$XHesX(FW3PNN$U2Y86b|f?#_GWw*05msRf0`d{oqXVIBBfO3De#Y5!ivY zw_>xELEzCH#r&#rwShsje6{-^)iCc;K>y$_cJ7JJ{Wz=QoyPBo&XYl>=N30@RNgPd zJCk;LwZ!P{_|x$r3X?VUgtqm=eC-yXRl!KsC2}HG3~%CZ#P7R$?>pIPB8%z1XVX5J zUoLN8x;vF`3`%4G5+!sElcDqBODQ1D9 zBRN&BQdy!Eak0_Mu*LBE6_}Oj_LgYJPJaglJR75Tc4zfh3y0~Ve(QgPrM?dv3Yq)i z!!sZUs#Uzswc7bs=0)%CTOoL%K9e#Fy&9c#L!oK<6Ol>tKrt5b z^IrOLcDZ5g^kVamZA*ro9_6&E()il4hG`h$AW4f0Rs`^u1mzvYO8lsXWHr{2f6T74 zi|*=mre3Q<(`ZN_gY|^Zc}m`ihbqbjQ>jz)%^4QnRH{aFdlGbJ>$68U6sNu1pVTui z<8e1H1j@LbCL8b7elm3b*C*{%v`X0 z6fh~7d|Uv7U&iR!W%^P)k#d*ORX$I`ug=!)hgXlK&Y-p=U+b~B$it2tk+p@N_T%Ntx{tD4ZGAOvEcqxCuZq4#lRKe7ily7`b<3+66S1#Rn{U)zN#7;UoEX

#IsGAc*rh$>n4A%V@U~G3o)wx-L{AsmK3?wAJ`0K&@L#{IoGTBZB!8N$0~Kx zkAq&^-W2-toFYt%+danC@SL`{VH3ZyL>1~Ola`a8wy)O8T@M;s-yJk*q(2;vm!~PvPKbq+ zJ4q8)h^wfUgx2u|%*8*%%jbm!6^YTee;|L{LT{_L-ua~*mksp~%EG!8u2LkdPn5A_ z(zSw5VT6vGWn^?8&1%IH&=6IBl^1j{cNG6+MJZvpp|GzHMG;N`_4*O*EnAl}Rytx- zmqNeu!nhGg-6haRkMxn=<`^O`=Pkgv@G=PPr0(r(4i=g=*&k-up-snlSX z^M&qI+wt~|RLV8b0gN?+3&vw(X z&(Qkne-F*x)Xi^?W6rBrcPI&^R{cX3Tn}H=I%B*0rOO=(UialfM09XLDyXhM@XqSK zU|DElddn#6#DQpM#h`NI5D zes-DBTZ^Hf?7mnReTiv2#S;b3Sd^}?ze^jA&iIaWujK}uM*GtU*5enV+G|a3zXrIp z6Z;iY3x3cZlyEtv2`3rU-;;g+^m||rW9~dh*)a?6FF@HIWnxqqyqpzF>FQAV1$OOU znxk2*R^f~mOVN1rD)VcNJqpDSaT`UrMa|G5f;X@70j>UqC$GLXA~!)^jpIWe(|%#Z z2P@~V^gWyA4i&ilyjMAmubOOq%?{YSaU!=F9l+UzX#z7%J0nNW&1PFVd@S;GYxp>b zvrofezm!xLz6??pzI1XmEMUhiIB@s@_{Xzf(XmxxHY1a03}x?U-4!={VjXfm&>emK z_Y9XksOh*~F7Ug&+?uRYP9YS|6`^-Ex%Y2pJfCjq52p096oJ`x&OO=x@(29iKM&jL z|Md?zRBq?%a59hY$HZ;)pKcX2*egGLh=a)T_C>W|E4=wkQRp$nfO1NpNjNE$6E0O=uW=F5U9ygZ$$u#k+ZJYjZ7= zfDhs2Dq5+~d@z>vY2#wLF zSTMmVYZtF32dIEQ%)hIQ8|F;AZgd!F?I|;VFf(SSfi^K(^|e_hin^yfx6nTR#?j|; z(Ga2%FO|Oll;sVL`G|-~-e3Vo02%}O<2%;G-xW=`SNhMRR-9*F{dRw|y1koV5F*aD z(iFQVyJ{tL|CPb_=Le!!|s(d@&r0;9Pc3|Go<{+I>52-|w5k z7m5-UtS~w?Dv|?gk1g!&$L^7T_}8McT|lK+Hj!Jk_CrmOPUQZBwXQ%Wk|961A1d!Jg@q4?oJ zJV23RzJ7hVlclLYcf3M$ThNQQp}`&bB#7yzH1usTdHq%pInj%)_|$9lK2_6s&Nl2o zYz@%Cs<#a~%TL3@y4WAr@|bnyHaqBD#rZSb)c1z>6I}RycAxz7{fSS%E-e0trhVx9 zf<1EU4;p&5f4*B9OHF2ZCZMDqo`@)=acs0ACkD~^95>vn04e0-BpiCB2TQj{wtIh+ zmA*WFvWHXsQkTwZXQ0rZOPL@7&>9X&2lm@De6yJ3 z8@!k6pVRCKmDRKP8xdNC3oI0o-|AM{-MchJ9p05qNKb&_Dm;7B==_D+N{iSTx5s9* z?C3zlI7_#64b8t#C2 z&)cs#r?j`Xz<~rl6K$1&aTl9w3VZts3A$FdLcUPh=S}H0hKsD&YJSgF-MZZ=^k5DG? z8^{-P*;gx2U?+{1pt5bXH3;jVkSVgU?xm|bmG!Wr4Tm`7D=Fc$8ZINhKJE&eRvoby zngVQInQ5mh#=;ug+S8Hi;&bJiG~N1aU&oc@%&U3j@j60tBtpI;xx-A0_=8WunLi$A zva(_o+8^%5LI6_!1iT6ZeeuWTqRHD^1^e$2U3%LH`xVN8TE9H5JDpc@my*Rf;{)p& z%{iN#^N1wFqgelTtZiF4?Kz+L6a2q{Q!)%-4t!RZNz|j2Bj9DaPZdGy@VP8({@%hH zo-x`zM5R&svfSv(;LyDdWvV}auyT)}Gh7O7f@m>?ophAqpz~Yx#2>F*a=-j{x&aUS zOEp@aZzH>5wb{BuN3gCh7h%1>E7vanT+l|dD2guFew(Ze_v^!UKad%K2aE7myp+aqzVl*U{6Pvdq;o>Q3Ix$4x4$MwtJ1j22l zpI+e8H#qD%Y9Ei}*V2Jz&87_vAKXu7G5!k0AN{>$yZMHc9EF30fR?@cP-%;u}dUAha&e(N{M zV)m>9MM<7%0D5JBP(@#7YrgS1{PiSs(wU}0?j@C;L#n%a#wD-bVrFs+sZtTsQnP7g zB0i87y#(jg;z@CZmjJuhk>tDRdwwhpsv=p*c^+wfWN}aUdUG5gbX0J^)laXWs%LsJ zF>VM}U!>>T`cfGmo8qN<#_NqoxkW60@0E9MQ!AUUy|CMf-pQ}H)Tv0sG%G^?%jui# zb3m>j^SzR@H|}3!o!kCRemH!ywH#M%-WL6Lp+@}Tm?c*O#|_QR{r*-L-ET8>A4O+6 zrGjG~{%@CZIxDZE94BmC3-82#yox?`k4toT5t4%Iw+o z?;T^Cf@&>H>+|h;dNt6->+zYQPuqE4bm*|y=bjIDvRxu@eOy&l`3nHj+xJcnmXqmm z*GcPZw}cj-Z>zs{fbzJf%_rG(RgI+Dm2Htpw(w0|aJm^tZee%)gj8tbL#FrF<)TcuPg>(FE=`g6mI=XQW=2who)dRef1*;ou#?zZvk0LGlMpECr@zR&- z`Sx=9gZsWTF@Ta*{br5X<9F`aSk|9yelO9W6BpDkt-;kM(p4Hc?P+PShGh+n6ajDg+ z*;by}r zN-&D_3*VF7sF`aG$EsB**O=3>*BT`k;FihQk4{+jHN>8ErTHI@&TCCkEegWVf|w-; zqJRNK1Qi3QfPtWZ3St05zyDctzPX#ZnQmb36{_kdNOk@z95zHuLZw7%d2u_e3c>lh z9V-+lz3A!maF}MVcbpxvZJl>UXaN_Nb9^ zBn=V%0r$iXU@oV<-j{rF^M##*`B-ZZtT9p#tMVxL8}|!#>CvCJZvwnURE(YLzk{~j z{AKG3a3d8=>S#(`SMRQ{lJuwobk*(n;Lc~KyZ}Dly;rTmWV7&B+U%*H+QoM8Gys7I zT7~lnbysQWhP4W(e53!UDZk@c)8LS+Z{|jw9(3#bx4G3)- z#CiLmi<%-z+`f6bah)2zUA5cVGP$SpZILoA&)D$oqca#)c5P)nax~X5&e$=3+CGP; zzlo&_9lF0RXSCgyo!d71{BEgj0W(c=w-Ba-%PMA)nC07`UpvAO5sfY&J~Zr@%h-eK^3h-~LDE}6F*I0p{+2PP!VV>K?FtQOiL ztbi&9j#$Om;y$?6lgWBYxtGtb_}l627pdzwDqeun_~h6czWU?sZgD+^F*9)p)YE~X z+K=1%dKX!nN3c(EmMD~CH}_pveJqlzWvP43gd~F*N&3`0AUbN*VRw^ z2Xsm4$90X&eZKEjnp3XaOKIMdI3MPS+HlzE^_``~H|M-;=glwe}(Tj`# zy<&juz$|ZSI}3lSzq9VN`q$n(aRPJ&pbczx7IpU3D8}=0y>+&Zea0y)YVB`tMntLk zH^xNgt67bSX}&6$h&t#7n#vaeT~b@#+w0CFCr~SpgFo^;t6rVpaMW?6G*P$C-Zo(1$@r}d9y zMAuKdL)q_omqTj5)ME5$$ET9e4UBrf;i-)Lo?=?gs`xw{);D{P%hOXutxgzYJ1d^m zx%9z@TTt+Gw~(MVJ&Y|(hj#JK`z>*LM6#yFH^1N%-XN#dC!ahaWD1f=ioD@&$t~mG z5cK5dDvxpg)&A)abLlmxG2_2@28!y_d2aqaTm;3x4}S}7W%W}7BJVXMO0ai($59R? zE@1k9)9h;SZ)Z^`{Mw_ID8(x4Sk?Irn&xZiLt8z_l0)B|zY`d)I+=WuL9q!YvLU7I z*sgWl36<#iPxTH!vhi_Ej|!iiSAQ++=h#$l%+_~&UqrD-JP=nssA0Z~?2!g}Z59s+ zfm}5Ey}>}%UZc&^Z%J<@*&vkt%J~H@A2X9nuSD1I;tmp<^HG=lQmZzwU7#j0z0KXFOj8TiCL6p(&8(TDbf=1rPdy`nw)Aj2D8n5 zZNl4PCr78lulyffZZmsPq6q8us|v8xSx(E&C-MvjHe2;@5ciPmP*Z3nf# zrCFu6@$YavwF8Nu3RtJI<@AFYK9lu@kzB~J`Hc^G5en&7HIFQ>)Jk@^M%(f(X_B+F zP6LB7ng0+tzB0|@&TLc3|CCI5__L5aQp>y~|2LB_)4Z^7c~#$T)+KM!nDd=KNV1%+ zAD_03Vrw$`qr1UHUO+_kcRHwOiZc0O8H5LhgoeiykD3BeVDt1?Gm<_5!#M0K3BP{*_KSBA9SDY_n2Xe%o6F_y=@-IBi_;FP4a52XX1I+ zO=}JNAG4k*xx3213R~SpFJvBM(>JqOahn@bm=SgOxy83y`U0)Qx}jAu)BpYm;A-i# zbHtABpXMDoyq(7R9b)u9WoJD~{tWW(BnFLCXSzm~O9`{Gfw=>s(ztT^4YAv^3!i+>eGPixnEP?me>%{KorYr~{xZQ<>xx^MZ7&p&caObt{SKO!vo+lBV)pNo z~2{r(c4J(hO!7%@fPg6fYZpzxL<`0J0;!D>_8g8sa1a6;I7=`n2jE3W4A5DHeqY8)j8if zG~VBx{d}oR2dn(ds0~()xbgH)JTe&#e$(e_jqT6sCfPyY+Z834y_?a_8%LrSib9jb+V^#Gjkc}ZRs zP{0_C66G%a@@OM{{NT?4x;`)-&5zWH0z6VW>Xt=&Zd0M|AFGJInlO55;9y7sQw9XSGD~D zGIM`bz*DXc%NO9U^{8cShhxy?G;`$d0X5D*7)vh;<&RY#0GrQe{|nv98?~m^t`uok zqQRXvq~D&m{_?{#2j|!Ys+Pgd!&*Qu`d#_=0>fQcccpA=`nt4&MSX^M7>nB+ATBzG zguB}I6^ARl(u_`6eDZev=$L|v79ZDus;4oaj=YN(Lk;hk6et2?#dUq(V_)Du=>!@^*bqQ!A>Sla`cb8F_zy<5-QzZazt zPY9IFMyY;mF4E#koUN!i$8ex7BZn{_n=QZU;h)*{!T?jMP0~DAoS^tjD}Buj07ULZ z>|eRq7LewT>_Ziuo!i%$ ztidj+2<8p0(mO9JB3_SA{tubM29YwGIRyTAX-NV9=%tn4>@?K5TQL6NkKFVRn6-O_ zcbmwfr0CT#!C{5X?eb+yZKW-HfotY?{12LPoULb|At@9ghkd7HRZ|DfF|T<)xn6qT$f%PV`%C<~XyxctRO%skm1OQ&x!Lz~A<9$5-x??p zleRT1M#2!{KV-Aq1)ALZ1gMxjly9A2y}V&R^_(9b5HjUHcAMii$3%rZ*gkPn-OvT) zPdAm2W9y>jh5M#`9#*yax>X2)#hxny9<^ac7KI#RQjhRCC=>i^4C}Fm z;MHjy&zoEETEufM-yI*>=|{g|IXEqM-``Eg0nc6IsnZL32YrzgX@YM+KJMRNv@BM^ zrnM-3v2_@IN`K<4w}+qVtQ0&6;vvenA9#HaIvO^NB}DciPfIDD_*sF>mf5A_Rw2mZ z2-UbT7tZI;sqKC{#c#XbYeI^)AoMc_k~2Cd(~O15O49%}a)_I8-}N_sde(&1hv;%# z&Eh8ji8MK|Jrn1rA^r^}3g(BxDJS!)LkzLtD60!d)RC5uPap$fqg3J=eS7}Gca233 zjHOz)7Ch@0a+0zyQ5=T1z)m|o(5U6vo|9LfHwWX*)^->!rxzWtG^_c1n$;Yl;hw=< z?LOPdjLW{T5pscI_L}um_V!ogDo(RIsG#y9M-~Aq6>1?i7~rC(P2pjG zWeO=vZzOH;r#aLR7gQgQYORSDw{rc(YH7yNd6B1PjlZhD-${!#--Oc=llS`%c^X(Q z@mgb>lClY47wHs>ur>UPM7N;+4J@;qr{*%Gw{}+NWuu9SbS~7^2V@PAi2dh8omv|U zal`vBNo6+&ETyoLU?d_6@%im?u;o!tuo-&|Bd}@|HDV8Ct4at{KY8>nesnXH?;u1gWex;W3|4oHS>WqIl$17f`sWg>#&98 zx@hblcB{y|2^ScZO9+2XPRg~Xbz38dV5}r1f4+n~SkNjjM{|XFxdtYzHhisR(g8qY z(mCJiAdDsZ-BgV#7~4mFV_|JK*#vwE`%!W5@n4&GIyO(7uwX*2@KZjJ^X2J^k+Yc+AzPn+BSwCOJJti1#_o!^w=g zw)BfGZR+HpaEI7E*s~2s0MeQoa3<5`lF}W#s^5n3>HVZ`zbvPv`=tFL8YiUZ;LqEu zHoSbp%C{aT%58BZY5`W!d0LM9-1k!G;J-TJ6*`o(4O$j~le0!(osADRBe1Ae8Xbcb z%#>(h{Tj1_apx;{h5%b0Z^<_I7Q*FzjU(OWR>j4r*sap!d>${GoZJi-^B*F(^62_m za9pm#Z{Lej1{!zR{dV7F|P(8M?YjrNO1RJoVqI>yzX*z>RG@`68R51Yk%;zW>?GHv{$Gt|4Ge@8(g zA@zSx>aosh!C$tmp6sf&Fxk?x1#Q zR4}eb$Xl$>(!t%b;LCjx8R%v8UU^F=J*9ZHX6Dm1s@Gdl4en>Pg*7ndTwDKQky{1Y^ z-uLj@VQUET^1P*Bv^9M|f%3HNsRHB!$(DgiTQ~Uw^vENi)NuB8*{T$z`stou+XykZ zud27WlMH7K0X?~?sAhwD9h|z2#h`y_3j(YTK1(Ue2@5WpoiB%fj@?9-2``)sh2ZZ` zUI-#^T=eF9Wx&5cUkRX-_?<851o8#u8&7rZMq9gg4PulMwdd?t=?KE}1kLKk{U`H` z`6A|GKbZAe+s9IHARW$Yf5k;T$d{21epav1>PAcpXxLg57m~ z`PQQhE;cAMEVDF1OqH|{W_`Of9ZUzw^#LOy4q>XEJs7mS$7avnnA7Kzueav% z^+Xc=v;z(>n5#4~Y$LGXC>{fOa(hrgO+*DRbNM<+N4f zVg%kTF_zi5U@q&%ZCXh23IRZJUS|iz{^f0yOYDPRLdIJ4*x8nTYFb20{h9UvO@VTo zSQ<(+QRtB++=jcd(&}BQ7h2&Za3Qt>eq4Bp9KP@>^!pj))>W46!C4C#OA2szW$FIZ z7S-2UsoOG(FWlkCdlJ%K0+S@=H1Cn55x}W6kwYu2hqmGTn)U8?tgJ1<&&M3FmNjZ*;g#0W(z2tIehx;Ji=&|X=3 z&YBUV70Bbwa^@fOs#IY~qa)s}_WSf$z1K zKRMES$-0n-R`^pOuMsi`gncC$V23Fk)ZPW*;Jil#T7flsf?Y7rXupeV6K((1eK43b zE`VcX-dwZ(hTHI%SNPBJZy&o|>BmXh^EsqMQjq|NK%NM__r26gYYN2}$w` z(za^7z5L~1{Pxm&xOvrV-0ycpmM0oz1Tl;$|Do74rrhUn$xSYK3J^@UebJeFbe{3R zfZm)x7Df13Hdu%=nz@|a0BE~Enw7(8qfgUmte(!_N5{TgQG~JCjUoe3x)=1#l2mTS zNnk?=TV$g@Dc?($^=!V&>fEO@HI{$ar!?K=%lp=+g~&t>bYXD9Y`NljG~FfW|m z!rN!_mZKoUUS7RmojAeoN3kby-orXQYffWyk!?gk)e{V#lEa#SScul7lMu{%m}2@Q z0xD6Q9T&x14N~lq^*cTt;6~2;j?$av*1JLHvQ^)vUqf3Q?KF002Ca0~$_q!HSN=d> ztR@fVIWi`i;qG-R2e`&miYNpCFPYa_vrRdFRNRCjFLANasvp~$GJXR|SgN0)M}8() zzPs+>Fw^xvpguf~RL-}Qb~2a-JC~d)e>SF&KCbr~n#kg#T_L|0>V{P-?5pL3C@;HA zKE`)!eRIM$#p1ergMnapXl$#Rq-*8lmafAdIo9swe7wyrzsrKFRZHKfP*ws8T~{xx z+@^mAd4iw#^G`cIiqUKi>{0wPk%4S)ewuU=jzv9_eLbn{A53XKKbP_4Di@z4qe}{v zd#{7JK^dk!D1ULeK{jdM7^(93YGy|KR+kcm!H=GSiNwZV2|F3O{k5e-nSCg|KIzp9i2-XwDLHUjW)_d(#5$ z^ya{2b@@#E;L7XwLEqvYI;E$D?c?S)VXfUTPZYdRMXrHKk=m_oX-S(9 z6RDr{t1l5uvSp{6^f!Ag09@MD)F(_o(3p>vOOf>_w6Hm@NA>~8HVILCyJh4XVOHxP zkxutdFGF39#>6c5{#{!Isx1QyL1WmRp25?f*^&R#-Xn7#0PuComgh=gQ~AN1G4K7& zf@=4Vis$B~y(|1}^aJ0VRa z+tnVEeQnADvvU?*{nKw=P>ZfXlAE}JlU##r*@Aq+%LUu_khORM$o zML*x}8dIn{ci-kexO)EsKi{#K%MFz3w$@lp?SnJ&tADjKAhNo_x4<<>gZeow*#$yQ zype17DguKgvu@T;1pgDT{_5S`Y#pg^0;Zzz2th?j8y)yD?jE;v=Sw~ zNG-CCb#LEDG19PXPn|@j(fZYL!)q^4Dj3KEpeWn%N7)S;aLv)g8c;S6PVjBa8fv5X zN882c&K;G@+*3XwYQF#)#o&!(jctlSCG1~3PbpEuEo~ybb`b$WAzsMy*OI@#-SCs- zw%8Nlo=lPkDE)q?zp4D|FIT*?+NZ#_=mrn^Rt%`3rB#s)qJE~+WA#|tx^RmfI~%3y ztiS72kuh^t$glUIWHFsPlmMLx^%;Gg7DeY3{ubu9m@251$6dyB2F)$+cWIvE}SKXwFiqQ4FoY=nQ3 zWYho>0#kWBqvE99c8XxRtx-#4GV9#w1KJ_%_E?xVDYeH<2(mX~kW~rkMwAM+<@{Q^ z=@kxoF_Y zN(YEoVYv-m=!fItSclC|Cxe!Kx|)0S46CS*Da=@d-zE?D{)0~AnQ9&$dWvJ-Hl$}4 zR~dELL}H?-8x}tW{qNG>r>`c}=prH7>OCLZHmNBV+qh(@uj69EM>>1#D6fY50q|wt zJWLzs8TPiX?R4k$p-%2S`R!vb7!*9y=)Hn`f9bjakmBzATl8awc8V%75W2v@3!+>+ z>dpDdQ@v|ZgSaS6e#Y>lhdi{%!|yqi#daOVxhl_NtaoUkcW3IqF4Gg>s{lywFSX9 zw1KMDzNXJ&hg*v(&lWCHocqg$lYjetI`}ZH=d!Zv@MM=vAIfW(wxh}4dc`ZHxQY@U zT7CtB-4e&yV*i&|b|AoF;`)2Ytvd%x6D4{XZM){Lx8r<~7a^tgieKN0g=kG5gO6*9 ze=vbh4@~om?mk8RaairdQ`m%5lHDh6x?B*N7-hK}|Et#2l9vk+;leg)nXKP+y_(-Q z{E+P*kmLArt$hO9d1Ae%E}Db;{&Y`$;0^n~K^RJJNIV#r2R!PYRdfz__)N%(Es%%c zW|Kuq+WJLkbLVo8Yn0C^M^;WZ=1Zi;8SOdu#utfO{kJjl0zc373`<{YpY#_rK{2cPb2RG4zPwdLwZaaJ5B z;Lwk~7G!c``cFe~tMIJ6Hl;L0hoJ4rkrN2`epl++LEN3y=y4E;?ekYaSYCeedx`hPg>8;ht4K{9ja{?uPk0ZJ9K+pNCfwgqyb5 zcSZ;iBWp7%(rFRbdb<>0X}6-MR8 z`NpBL*JcfUXmdh14-qa4(mtdrP2a@z3*YM@h`#0qa_nb*^Iw2;!53^c6qtKj~wsv*hcMbB7*L&1@G7tMrJtS zhECOG581U*M44BQ+`f}V(!E6{O>wvJtkMXtt=#}z5f%)N!L2AhKoloE;uUivlps<} zuwQ-r_}mxfx#oN+lX-vvzj(zt238r;P4k!TVs$HT2HVcM`kt6>aub|>r5%bNuC}`( zUO4BiziBy2CO3JcZ}Yj>EJV%d`Fo^`2dXCl$oDC|kSm_a=rH8w%{C$-yX~it}dk82W+5;RBL$s&LrAYYAf{m z*FBZn*zZ%Z5OWW(zMs2PRu6wz=E_hQdUY==XWyw4pt&RcJGCz-{rvlwCso3uFWya| zyd0(V0~f@~ulOGML>W|_8{*wit=#Oxvtx4k@#hTy?UL;G-HtMtF&%otx&Y$&Ergzb zs=EfHTDzm{qD1*-E-~MgboXuur)J?&H#U9X?%WX_yyQ*ZppLL+u#^Ma`Ga$es}2^; z)d_)R-l&*WfZo|DzN5pUIOk-`IA0iV`o3OSIxdGsEEQaEG#nQ1nY-F?UHkj9hG;XM zlgZ1T-4$im=?*=tTFJUnjx79zac(r6Y~f8#3uEK3lPSfpU%`zjzhF?kLrdk?xcxw@ zy||qp0U4lo5(S&(8=Jsr&9XsJ>n%oo*d6Lz(o~q-Y&kFWgyXpu&Ni;gk^be@t_SjE z4!WZb2@}QlMS%+B;jy9k3lF#;Z2Bhv&tr;{uNU-cdx38OFcG_@MLyvbLGa|2#~g66 zTH)K1gZWV#1pjGZ3(ahy`9-$1PM?!eX9^+f)oxK97Q9n%KV?LiRjwHkcctw(S!Y>q zUf0@S1z$YwQjN<5I>_uM`F(#kukvp1;O)U1^(zLk`&FLP&0Vpc0DswBOZATCpj3^F zp4-7`5hmi}R0I&4#^InMAk|Z~5O-k+e1R`;-$!P@bxhhQ&eR&oHePqw25i4p^Gop; z+ri=O#)~G5-ltA7Emk0my$V^_=VB=&un8V*rm7>2rLsoto4Q1^u(tq#IS2dw)5xL3 z3)vi9+D(u-W+IJ)hbNHGNooE^eWD*=E!nO!XP>FmX5GqXy(6tk2^4~KbzOa|tIX$3 z$asEUU0(aYzuxLsxw)PGGyKFQThV5P4Fc80YH11bDgvMv_UD}M)|ObJ#|Ce+-oD)OwQgr^oj ziR}c5Q+A#2D;IRsu{~%27x+Ho+r6`R`u(jFBU&}{W2fTLu&91v!aB%`>1fozt>(7j zNr|yB+c`T|i3HteK+*&1!P&0C3DdvWtR7{^S@|{|=WSf7iA&k@KYe?_obA7!bT`N& z*1nc@2`Qx@AiMrWJ$v01uGWeeSHD&%3{1uxPxx|0&TkjvBjCv1-QiegofBw!jYK&K z>kN@W_))Gd+I>+72J7q|p=?80P}(b=5cHKSfsH`_yVBw5hU2p2>YC`jJnnr&g)ZN|pUeB4GJ4yq; zS7sqn_C^7+3Lb58ATnLewI(n!szK0st^(?WS;aicK-Pw-b*{$UVOLgPkBGB6+4v(` z_?VDA{XDcD37b!Dq%hZ{(lI-V^`5I#CrTBcc)QZxfz(St{9p@VZmj6eCp}&@RD2rT zXi-7>;kS14`cA0e2l)0SZ#1GSQ(MCNxDF23%1aI9R!jU1wZ;zN5ll8$83NBp$(MX5 zFY!g-ldYu?{i7?lIf)q4vVSK?E|)ub$gWZzgK9T^y%|Fp-S+bDf?`P>5_HRTzxX)M z=2^0Lr-f^t;Oy71>Y}Gb?)_dplX^|!KEIjyDj!hw-aD?HFrTNgH!P-cTwkUPrBl4{ z2cwN?S7`PyZqGJG2Xc3}M)GF4T!F$B6cN{yyYtMsV;S$d@n+9YqyYht-Tb{M5ry@D zIy0Yj37kZ$;s}y+jq+%+?$$O$(1G;GYh2>pr$8hgO)MHBHd-6QHNTGQF1GGpKH}wE zWO4JKu8-b*7U^F^`34Pr77UTx)d(H*Y>E$QN4o?elr|mbN zgF0JFPnqcv)GWBXXU?QMr%y7m8^=*u!Y)gtSnmwQA8FaZ`xBRnBLNOA7Y;duk;A z0U^H5(l4K^-!4SyCwS%dOnh_?-bRZ{)@!PSHglMsoU^81i*eE--D6_t^0Bch%P*tQ z_X-a#yRp~xrahJ*lgM!)hpP8}(u!qd0ql~-@(<#?=KJ!(V1Q4=Pxo!FH@co=NHzTY zW#{Xxm@_DcuIBXlyZO^RAD2)=Tb~qnOl?VF{IIJas3~ti>uBbgr%wkRlTN=m0GPU-$uG;P1$U1)@#Ce;NMtxGZKXZ1wEdBQN6?PPJ ztQC_}xzqjUyw3Dd@oUf9%<%Q>9tRcQszbC*wGt60)yfhF&av~J#V$Z#{&`K%A1919 zT*F2l#lOYN|shs<^+8c~3>G3!_*KFjz`PyG|TOL`R@^-^2Tp*m= zXYs&HiNC+jIZ3zcVE9)4;5WvaIjOht_Vetoym8`{lsm2LP$0F=Eo1eGaR2pK;&j() zmp^DRn|-qWoNdq3&v21My&P9Z#b)iFQVh!S`RsWaSqpx2Z9oF}*s|r3yTn4cD;Jug z_eOfKbP&iBzjtRyBkl(Xdh0hAtJcnW%v*Zf^D53l$_=ii{M&H)%jN-?4yXHrejtD} zI7Ed_&vV8N z-TLBg6<`7%Q@NwNL%Si_FIHOS_Pwz;??s$ncZhCzvmUKRWy#Z0Sm4&$+=}Z-W2QJd z`PX=bW!u+t2QX565M4j`z)7&e(5ov_6F6F<_o{O*a4Yvrh%i-Pj15K=)_1jPSO4I^ z`a6cR;4mZ`19Slv(X;nQkqgktN_%!$9XFa{I;2WC$S7x51N@}YJ!Dm4?@D(Jr8~vy z$|>-4`Q0)LZ^{*T)Vb}%Gfd&8?fm{wDi+QmA|kqrC_*7lj^ft>H&pK6nrHzJ(w^8D zCdJ9pIDeKobmxhS#~9b4?@_!eqA!uRw~o=G7-m;PLKo zvF@2;x=v!oH+1|Jj3I2d#r|Gxj#niqWuLcLNu)dTk|l? z!D7#V30s{no3;&U42Ou0d(TyWZI2|W|1_4(44>S(O(82>yW(A;n#ZNGu0QXyGt=_P zuq)FYBZC?2%4_>3>Xc?>A&wO$d*6%LX*Ftts-(l`CCvo>Y7nT%z zzha-16koIjt3@?-Ym3%%Df#oy-#(=lDLz+f(`q!I=_!-(Bk&_PCBX+r>d66ukLm#v zPP%L;qSTys*^9ppuX??`FDRz3io}!+mjWsHL+{CUALhX52Gv=(c7)N25KeFVqU@Mc{}*$ zp)jsw&nWCWk))4$@Fh|=V*b5NO7t0dK`+MY01<#hM@aI356pSiPYiWEU+?G$tmXys zx5t{&d}S&zV$n$M`YDc6s zgsc^@5vIcS6^g6rlZtabx@bp^zM4h5d1sv!PRms3HJAUgp^QdzP#>NpPCo7PREJE) zEKvMr!Li^SHkX4WFk0%nq*>ZNwf?*%jjVKmKNZ+RAwz{_Y(VZIldJVQsrr7`0;nzw z15iC!o%dF^{KQec^{l~8d`L$#v=58NS19=1-85WErCm^~lRG&c-TZVbL^;!=r7sP9TXmsb{iu+dWmr2kcy*=7Mf7)xb5Uz1j2z{`QmFDIO zSqmqNx?E~rvKvBfRqO)asB!l0{jk5_Rmg))Gl!xs%XjW@advMoy+Rn*yD{b7+r0HS zvgiuVa#70eo}I^CYIR??VQz8it-jG@>~%jrT0sqe?^pX`Z>gPTQTBH717%k3ekk{C zm!w%2raf-6uGWLSHpyE4n6IEP>RwtR+ummAwOo`UJ=;z2u!MzF{o+bDNXe;eNdkFw zr%dntdOh+N!crkGh-`V%vV~m^z3+n5&#mdOrR%%)f?t-P7Yoexomp5%%nW-E^0#Onbj^3MI4^Se?-)l&cIjh<(h4{0HEX3)nHqk zu=E$ZTI1y`1^N9#hiJrpY*<|-O|D3MhwE{6NiQ9iKC?%|-rVmlB=kBQQO1nVYj~YyJbkYe+o))N1&nAflUf)*|1_ z3&N+7v@yHNdY(d(7U>7wrRksZmzEjIB~N-TUR~xL9|z1zi^bBaJe6Omn2~tZM9{+a zG?X*Y!l_E*!$Ztod#yTtznY?=r336s1u}VZybKS=bB59-X~j(%n=J`IAD%^NvtCdcSHN531clD)#blt2KJM)IBgE-51SJvi(-EWngIBBUU7mm|iZFKc1H z{_BQFceW%8y{$3VN+wB#CTI`*fnnsX=NBN;w#$#POp1G0s~}I~k6-Hb#=eUB;~km1 z-u>+P#Ey2bz9C#TK&Jcdo8p7zJH zU9rDu-*$KA{chhyxEaJCsMxIAIu3s~a$3$ywXHx~rK}Lvs+^2+F8)AE+t-(WH9BRL z8Cc~_?k6l-Ph|L{Db{^7J{^0~!SBocxdXK&a!K_G`-g__oU4|N4Qxhy&?fW0j+ia6 zt=X#Ku-|KRtQlYF%pb#~k>I^@;-BWnmvwOjkzqEYotF<JEL?VZOcC`V%zSd_XUZq_V=tX`xsx2z(O2e!y zesBD_&-Q9IYCvj7nRfbJo-HoGpWBmZ zAZsW%M6?5WXJ)>iQkp>>Hgr$8V%IT{FbetOjdfbrN#F_DbsgLH5J0%(L4%@GvdW*h z@Bdh8$_-Wn(k{)M^$h|tAS1%~m3DIWoVOUGU6Ea=s>|-5oMCPx(Zn7CIUW)!`x5G^3wTCL}X6Ei>#Yid+ScKm3?s_PXUiwdmw8lDl z_(Ym2Mrw`h4yKoTf`2Z_8vPtA9v&`}`mJB%EVQP++A;ZAPF4Cbb3e)tPyWUVnBy`P ztIQhitc=@UbPrDLs2<%X^0AXa#-DU;FY{3IXWHnS+`Eufj`EwyF=&z%ebk7HM`Zz8 z5#9WKf2#`JGaR8yYspi zgj4X5$M=6bzQNmX)~;wwEw4Ec0L+Ei$JS>tgl`<%v&0*7v$&}2eUdYp6K^TrBd(&= zndi6n=!CZZXsfmBpW}%+uoG4`HHn#*g#7EN{@!&Hvg(%3Qh{9(N8fVU!KjFf^`d*k z9XpAWX5Wgf?kl!8&+QAnJioi0tueZ3Q~*`u<$l%`+FZH|Y`mu39f0~;I% zmzmL*w8n)B?8m6IkcKr{ze-T+9rNPtxlEGL8z{`%4pWWx$5_&8`2Fj&YwR_j##(3nSq zwiYk0&DCJPfP_P4m>?f(Rq}$(CU^YcSZ1ENI@A%jiOYM=lbRT#RXmG-{BPF1O33Tf1%Qp^{Hf;9IZ$-e0Skrf&K;GIU#FGPk(zHe00=Ocm5xsfl{xI(2~5 z_fS7CO1yp&vi1Hjx4Qe~Dnk3Xycg4;4-f3&eJ11Sd0v}QUJO3wKJ|Gozhkc4W(_X= zK#1k7+5Gk19}Br%vhS$74nbG~`+ZlG^=A!8Vw#E>ZQzw>eC}ffJN<4mqU&kn9aa}u z7K@`E+uVyJ=j~)WYOa4?=(w#>{;#3tHv8=m+hDhgus%#{+;cWj+s$+WLLXszQZLXW zPeBO9W)Kl|e0@5R_qjX)4Cd!*_pz$ffp}G(rlCEq1m!XNsYtiB$+!@9^fpS(X2|#a z(k4a}{~lX;Fiy>Dn_t^nHRthPsaRC8fRA35o`*{5XLM0zNxK8 z-LJ3m4-cq4ivqltX2<9IGtx#qqxzlLGpUYPZBY4ZxIh27wn+&@%Qxcm|Fmn&lB zcoahlex2(ZN#q%c&*ll*CRU9F(nOmr9jQ-*TsO}12yzL5voA=jh$;H{^n@k?r~YK zw==5+R@d)*?Ub$Su?(Lx{Z=vZT$`TRu{%BY9^!&`XWpvxntTt7{t|L_JAP>xn4j1?vu4n4QJhBp}!DM36F z=G-H7`M8(nez4%u#C#TC+vR375jNKW5QUjjn&vH(MQaZp+^V;| z(L~rB^MQNHc>JCXvQII45REmt91M4l#)<~=x3$+_Q9+$A*W%$+Ttmgv)j#a2N4N{} zkQY;NdSFj$TBVv=T{lcU+`VT zsIh&g3H!KZdQJ`^c~jN0)P6tSl^Gqq?A~HLwmb zrFe9-^wWSpFLbo8e)LKb+QXOdBtRfiQ^VVi9A-sqS}{CmziaXH&qbi((`NPPpe%G( zN;$*T4V+r@>CqJzKuD)^T)L}un!?YGLkbIkl`bONP>? zNWkg6ky;T~dJq6#*zI1=U-OH=GnpdkZ}xe3_LpX6qi?qd%?MP|-&qJ$i;W^XSNm2; zn!4h-+f&gbd$_;UK3ZZ`J9B_ho_kT(0M^ z^THGQ)S{qQD}$6!UuM1jnVz-z&055MODgD}W}UrpFcW7B0K~xt{E=#N-`XIu5l;pN zyq))S$6W1EA_!Y>^s+*l@96Yxgk|ZeCN-ap`}qIYSTaaCgk!(m2lN~{?c?&>y*+nH zyMkHSPX*msYApI$QWUxS-(j+Yn`@6vYc7^z`ivSHbJV?2K6F>t$zxY4O@zeU8jo4| z8MOgaKPBF9dOduj5jyq5!Jm0r?GY89gPBSU*M}@wf6l(?$+RjiOMn;=N# zN>{#yt+j(v{0r;Znkm)7M|d#LbLjSd_9ip>@`;9P<@^H#3b*%RYaL`RO# z1;z!m*CS`bYe+5Bowg}=Yxw(C^?GEO65t+exxYL!HMoJ^h}Iv_zok6!zYf4nClpi;vm7nlc=5|V(IwL>0xTAA2^eV;e9p|_r#gY~m?zis}Y!x`0P zW^@##O3WREn-!hDY7T$i$>&eh+p(|ioN`>|>enffl&pp)eC(277dn4aXes}t6@C@hC!!PmoJ_CBhLdIrut8XY)eOlCfwcB2kCSqhxPKrr z!7b5n9DHG?RP0jg)&9Dq$JQEp6^!2C`|U(@E-6l|;M+>`x zTYB4HYCWr`DauAcHJKaKE>rd|JT})= zx#MrnNeERX-!5ut(dc}EtwQ811P}g=z5TaK>gheDshaNz&HjsnsKa|cN!b`|@BkzK zzK3ez_RbgDeDN#AL(7~l=FPM)htw)noMuJoRb^vY-^w^VW_YKwbTce70pJ2Bi#=s^ zqV4@6Cm$BoVVM3-ztrE=?_i_LX@4tzbKMEV(%W11cI~7#@$ti0nzcvlxz7bkyLO5~ zc>GI4rV1UngPeAb%e>cg0{0rL%F^$zWBA3Uo%c0toH)L2+y&7WFkcnRix3gj{I$3e_8XE?M14G)RT^1O*ZO@sOWgR{%v6#B{(I7o=?g{ zq*CjUV5u%D`r8vKY4_*-N^4NIp)>P9ku9$lQ*Wy*I7qVm>_h>E#nU;-Ukb%U2KH znrapI?=yOT)g7QjD)ALQMQJpQPfQT+88tvse`0^%HMTLyE8F;1*ih5fciGnZ6JIC# z??3Yp_Z!pJxyfk5nI$y-y8EC}HFkzTs4sXemaRJG0~qpJ5}O*2fY+#T|7oxxakg^a zU9N^6v@=Yli;|~yvc4A;DjEE}a|e$9 zIJL|5a=Vl!vF&xD(9_*}Yd3a^i_lGDdJpPbZunRGG5Cbc&lGTvdq{=uE0OjX@OwUQ zbVn|lzf}RZ?Q!>e{mk$66W=d2Tho%2Ay7{g%}RvVSlL4TLf**R z1mQ(p{I|E93(1Y++ResL8ybIC#DHmhmAkBwX5XZZp#bjn#R)$*4$km2?T`h>zBjsK z5*cxPmE$D#yRO74elCpGrTJywQL0I&BIYCZ0x^$|Kjw~-za2IkU^lY0k)h>cc1J<>sbTCE-|U3wnqP zQpJ$g^ZjLOjKxO}a)Yx0==%*d$<-(2W~l^?l$%+=xUTL7Y@tG~i(`)zR+nQ}OqjN4flI~PMXE5+3-9t+uf?O6od*Tr@PxVHWBioq43e06=EV}y zyRb^Z1P*WH5$7HlV^?w<(-}O75dc3*sL~S^g|3Nz?SW}nvlN)v2(l~FOg1rdh2j-3 zH?|zIE0;W(Y^$EFSP_j^uj>5~{m$xHZfyNS}im=-9h<&l0N%!^p z+e2Gdc^8^s;M<|=+y470!5g`dMra$x{X^g$G`&_NsL4H$hvD@zW=i%7?=h^aAUjB0 zVvVakj)GCXJ#}a(?i?M`awJ~(lH@HqUT`eJBP^SLXdu>1j>Ez&)6~=#|WenWL;9}M%(ldrF2%yRX>aRG=3MHN^VECge4zdvt1t;eRquU< z)UkGb*e^oWp&%5Gm5rO`QylvRN|r8wt*xYSINH;5Yep!JXGi&^Cz9 zj=X($OVvs3^H~__WcPa(FJB&yh28K{8n%F0EggF1rqi5IAGt%s=T*AIqRJ1_wX@Sb z0}uSK+AC=iNpk88(Eb>C1wJIAmUG?y6D*3oAKHA~RGQf1@BUlV zeeXPe>0|HJp$kTx`O-bK+}O|QaSU*}i_!4vXef*3!Prd2zoXK0Rm@yH-Jm#}jEF)w|Lx56^0nqLXbGhyQN>Igxlm>XQ+eLT0? zce>uNPlDn;^6Etp^vyt$LLoSL?YVlXV&J)2A|fZCrAM$D7I&TD!nj+I^#3DUIz>f5 z0U&_=HSe}7YWFYV)k!70Q4mQ|4$%FPZm~zNak_fvV(YiMHK(&_J0MpI$)n%(x1Wrt zMVswS+pr-aEl%Qh$*7~tH$aX~{OY86?@BB@#$J}us!b0g8aV^ene;Adm9ZXn0V**T z=JGOJDeXOO79Mc62Ata++!Xw0|LQEv+h+}x-OlQp>%WA%#=u=^Ph091^O24v@*80X zZ=V;I$-~%(>HL zUnD^Wa^tch9yg9u_Vl6i1;u+~rlCJ=2&1do>)-oOrQ`fYd3=o0(AGOwGv9(MIq56; z50S*zzo<7-pKRsFLI)vVu3cMyon_-}5;t@=FQuw)v>#}vUL&kJ8`16+uJJ>piZ$=kzF;8nt3wf8CMM7+yET zC@a<8y(!gb6B?pDvL$L1Y8wbl@>3D3W32Fpob&k&M{LLFpbMYUs1f6fP8`b(tfMIc zZ0z^>W@2*g1Hg}Vn+Z}D(*HO2QvO)C>g^6tECI z9KVO-bO?84N*?T$cTbaqAG8xG-;7(6HC+b8Hvuk$__u>jS5x-x-SvcO-J;*$lJO?u z=lSD1JK}F+qlKr!qHm8R9H>ml#?Gt0~y7aCjUV^Yw+IUxGWA-vd6P>~Qd=;6kMp`R}h5-Bz1fF_s zJA1F0o@k0fa&)9-;SC`LNT%%5D0|oK46d|oedu|!9`BHwT)f}g+e?4$osQP)ufC;o ztKO(R?}L_3WshDCCRU+y)knE{0Hz-D(1Be;xNa;e?fgr-P_J8|pmKgNvtss5fbSxg zjaFySBJSc1TtLbFJ^@WCJ7~~O9p#J(f*0}^h1vU^r?brETFj;juB6_L;3cN!4N#a! zrD7RD6Zch3ELnWb)M2y=t1-G1wAJo4mHzo)H9(j3yQJ$qR6K6@b0#shdOw}_3SU*( zqS)naqBAgZuD+vL*4U3G2-(V`p(+*7;Zh2x#Z|G_CJr$DQ4^kd72LwgSr}qIHc78s zI8^WY1X2UYBAwM-s}1RWNIE;b{1|@ZsXQeNB?8K(l2+vWv}w(0=y+ za^){GM81JDVO9xng0pVPyfzB!^LnV21-pJ-7L)<~MeMtf!gO)p{dJmgZ&vd5=g8eA ze!HfiDK;5#$MEOSwIR{vOn7k4RU{ z`OJ`bBcZp9X~X#fcNIkH5H?_{+D1W1DcgS}|>VH(XfQ zRXVk)8LJ6`SLvGWaGU*34|EL$#80TttrdfF^He*X2Lsf+w5c=mr($g$?YE?+I(b=B zmap3zXkCQ!ereyYykS>(czAyh43#&?(wU8~zKEuQm(rvu1l#KHu-RVtTt)zu?sHhryg z$=_x3z4zs%D@pyJHfHCjs4|p%(>sz?X>0e@1VP%}Q`Ilu$$2D(f8nl@LHJ2emv7yIQqCDcjg=2J3{HcD?8R}g`2MQzcmxxe zVED36>P92K_)~(#A}`Ga8Da%zqtxP+}Y;*rk5G6Um`_;hFLYjovjM&D|?GI<@I% z`B6Fc^xZH$IX}4swVV*DF>1H+?Dtb^uFY2x@L0F!_)_YYV0ebq0J?x?i%f}YX>0OF zFJ{XVOjg^nntib1@1MD6)z|h5bFg5W`NIc$11r$6Aax~ZQAm_pjPY#9Bkg|u`}KHI zNXsy9NyZ<}oxIV!Tc1q>8uDWP#5lCd??pWtyqjP-Eh_ID+4?EnxDBNBR?mhKyP|f7 z?8R!E3!=|C5DJZ7i3vMr9xr6YJm{N-JF0es>HHNE^X5m&$FEYoC!f^WanxAYW6&#` zi^&%6Ki&5;&A(e|@AudT)Dri_?r~tXTg~6YbiWUKy?8NtJnKiQ(W*d}+rK?~6|Q8y zgdApWH`@nf36y^F3-i@yuq1~CA+4a#$pL9jKd@C;wqmQvP6kpI-xe3=FploF>~5x! z(QQ1bpxGXlvH58A89u0-i4$S0*e8=rz%cci58g+z+sl0m@bFCAKt^X<9(=!?OS3m< zC7!uf!M%mEJKU8OOkadE)@Vbnf?87(LMNeMgPxJTHtrF&I3<}>SI-~S!1jkv9e}Cl zU$Haeby(NKeY$jqF8vG1<9Y_MFKB8fL?qkw;uYT<8r)^?;}6&=)nQS=u-#=+5mwtF zO0R~X<1zMVRaqkIo!nc$@3j&y=I_-N`jH8RcIKrxnZ4E{qv+pzLDw(m;S*zML|lF| z{w3D8$0(VG@Z*&v`l(;aFrHX8K`ej zW$+{+f(7!2kV0pn59iS{y{a;WBshQv$s7{z6B(MweO2;i*sY!(ixs&zZDh+Ta9P*C z1-;vKcXWNTUBh48(WfM$^cK8T+G}c#>{uEHo2$yA%0M*rFUKoOVYAS^5lKtkvHB^U z+>5#c+kNwzPj>og+TBLi92p4XQ+Tt`>YEd9|BB4n`G`ej9S zocnCB(xGqxHDNXtN7D^kpGOYukm(XmjW6cbk&MGb+k5XbS^aci>w!Qmq0KT)e+0Fd z@9E@y`*yZ%O68zRzOW4ojx3GaqPJ=?$m(_-Uu&JVda8G>_Ws@j7eNI=*;~%X>h)lm$6{Qg*Y z!Z>~@A!M}^_T36{mKUe`YFmvl`on`-Kywjx@~44*ov!}e z@cHwDRem??0EY7s0noL49PaxK_0xZo+T&ERON-$hX8wAEt2+8GxK;Q_v@6!6b518W zLY)=c#azV1(e?NdpbB~CXIgJ{-~ar199*znmlbEHUS33Mus7-EeVX717Y-KYg30;S z?U%Y(c9HOU?G6o;Gy7by6}hEb{A-V%4za202ZiyiKP*C@P5_IQpilZ3T))nGV&rGf zUiS;-5QuUGz&+G^lg>Zd)K*^tC~@UoDU>sAL)_IYkC_*<&;Cnr#pC`4%HZOmV|?1*<=3s-VAA;BjzyzIr7mBB z^Go6;Ez9J~dU_mfn);ghhOtKvcc*Z3=t3`!v2j{eZ1yx?AFCpaO1E#Z#hn6FC&HHQ zZCmZcFNurwzOsuC(HA`rD?7GD6+WC<>%E` zZs9S6ma-`Kp21cjUgU_tf!}fu&roG`MmB}=XxwYZ9$0$@&c(ndrBLXfki+Y8en6kV zOz2m`v+&9lCWrR&iXh@#HBa|?ZmE^JuP)8J)pNBtsu+_jpM!Es^@IZ@fLGhpb9c5% z=(Zr)FSK233}g3UFiA~%mDQmrwMlVY@vK&$PSScfb+~q=bC9n5PiSulv}STt}SQZmz9=<53Jd<^sD*DlX1_5?~mChYNMI=-QKOt zyxRe_EnvVwSw6u+T}-7SVTcci$L7M0V+U`-7dvc{VRq zu-sZLGPUlUX23yo@1KCks@0CRFd!K7|Unr+(&omk>EN z|EjxMd7b6SAU6)ed&>`SrZFn-q+R|lG_q=ra(P!G(@&QQQMIzGlCn)KGqqiE3h!R? zFwiITp8b^%#!KsZ2da83Qpq09Vgt78wBEC`xp%80g!$oRzr^VR(MzJRQz=7Icz_7`X#MBs)bsiMs7wi|w>e*D z<;kTNt4$W*Rs9Fj2fHvO_aUXF^*x`SBBRp`&!M#XG13yB|2(+(x4>Dcqp*2SEp&3C z+Ag*P?HLq~Y!SBBB`LEoBH5kX8J)FEr-6bY016Y?fbt5Lq*t?q7J(LkpmZe$?%-U= zE;moT8nx!0pklvi@`hiUbsc7;n#<8jbBwX@IW&jQL0Pq;v|^G_NWwFZA;S-Ftu~x!MpK?L1(57)2l3R~Z$r785qxOJh3Tl$$8OM1 z!K6?}^=q9oNAFO1p;(*W7nOe#tn<2`ice#-O74oVs4g5AwV%Q6Er+w6a=*Tx`v5?C zgiA>=6E3KmgjKs~x0U}KbTxY)j`B^@x^`}Q$>+C!HdCt`UUaaVcOWg2s~6uO=qt?p zzgLCIDSI?uRe6$#pvt~>fcgjeQ%Q=BcE?2qr>m( z$bxP@wKMweck%9T#ABsFJt*~NaoUOh{2BJmzrhDvaz%EM7rQ^G;mxA8P&1fYI35!{ z=(?Lu)Mg_LUTAVi*zGP1c|iRvm@+%b6deOWdv+SGr$(9NazXRh8|&s&sg=g5vdg52 z4z6;D*Qmp6MhB*Ud}x3`KewI(@ElLC{m4yz9y@4e$|hM=_;fARZo2{KoJc4dQylRt zd^;#}m;CGSIB?^J*&KFONP7vMUe5f&8jZRYR#1MJg!-~puzk2`A0_RvAKqqtoD}V0 z&6}BMb~1CD#ooRu?d{}VZ)MGQRD3@6#Qn9|00ns19E9cEsj1A>O{@{vWEG8;fKY^K z+;3~%E_chnC~H$;*%K7^=~Z?xZB*<+CsBl9R|6%}K+CfzT8(K^y@u<~eP;oQ8B_63 zu)M2^xdDhcK3mMK$In{&?O%@nj+ToK`J(}77ofDmvyU43r4|fdx?D~lr5x)!8c*<31~P9&$;HuX!(inw8&%7ZP}R@p~N5MFRo={xBs)?EysQ>rb&;puX;G1DXb8 zq9XfF_NGB>-b%h1p$6-UWo#fu?|S83e&ps*$X7JivSTi`A3(+d?}E@T+k4m07uF>y4lK~K8M9bb}=V^(!C;rh56{z{q7=- z69D&T^1F^9!E>-!Dv)cV*Dfr$#C3kufUXzRdnwT3kySgRJGqmjU-y)J5oveByO6Q! zH|SMgwTcN^mnA7S)OfVfSa{@yZPU)~wdh+^oFRZb^R9Z>Zc>Hi^jZm@E7q@|Oy1*S ztyf*3kIrs;%s#5>O+t5bY(~Y#xfKO=$A3ppn8w*LeU>i+S*V^0gFCX84LRr{Q0nQ} zof%#Jb4E^SjdFzwD@}H*`H+%`xe_#peXD(B#*<9n-syrMdE#o;-nEF!dv#!2umB}m zi}6UHX$arKcY!_j_5kk63Oo6Jv^vvDnSvkmj|r@$&0A~SI71Edur)vG<8~&0VsJ&3 z>z5hx2WKRaD6Puti(I@Mru)YD`YJ^5IH*4<^AMQD)paMd`+(wy?}GfwMzwy$?c-pv zQCspeGVe5F)Ri;h60OxsE!NiN`8xs-E+bYqU7WP-R4&Ok1hu(xp%}>RP@4wbO<5XD zUemvL$&V!;|NJcu$HLq?i<>{#jdPlEX-aS4qj9?SEL zQX#jY7KWf!wE$Dg{O#A47s0lu35@g}96A-!VA>mPv|mMI@`Vyrq?G7hqVc8-_9NT z`HJ6yzcpcjUmo!EU^p);ZQYHxrf`<{n^{rCquKsS%yu0Pi1sh)KtqbKU44voZ)CEo;Vh zB4St+KR+xKu?8I8A9Md5RDg1D|2y8XnVG7$H=iPlFO+`NpY!Jb3a`0VziquHr*}Kg znrPLn_D=(5i#A<0!WjiNvY!CGl8?pvmOthAKSb!ipi&K@>t(w`#>(=+uUnITvof0A zO-wY;GHh5g>;1jfKAo1&T15pM-D|r3ttqS$fd8$0>@@0M@vJIE*<-(d5bnMI$x}?0 zm&_0v;N;VJ9zXK?Ci)mup5d7<;Cq_`P*nZVKg&u#4+V3OASz|#(dpr_{r-L2S@od; zt5dh03+vpV5TVd{)uuUcl?n1GfiliQe+J?Ab^b#C{x;j} zZ{Tig^ZDO0zby90vqAA&=K8SbEuRFzST*!{Tp|hBDm=7lX}POioU!=1PsPK}l@?E} z{9>i((o&>^`7vWdoXXgQ<>swDb^`YTcX)JLf}T;)gOq9k-Z-JV(<4_Ma5c45g6eCz z*@=`{t8;-7|mADEpu$lm<}{O#=h7 zEhv@>f~e@6kKrr()N_l~kdMWtkoi-gb;b&1<(%VF)+fyLd(K-_y=)#PmAZPQrj3EI za~9(@rw(QQz09xAharV{^89iigfNY}zZ>CRudhdKxv5!W{s?8T{T9b{%k*RB>(+xH zZSFbJ@>u){m}z$kuHpJ>*R28)FP|?}%Uu)Amo9iVh+X4$kkYibi;C4!YmIBS$=l_& z6WCoq-fCNcRo!e+l}Q)cV1Z)MkD7i_#!(*?R*Tj#lmHI0m6D$bEf-X)kGh7a-8j+M z4(iJ|w|oqCHSBe3-QgB#HA~W_SuXI!H6(86^5&XuAo-XC)r7g_k1~sAIyT0-xcK=XN|zBMlBX5n_?ASHErz~VEFiRX0jA+Coy?5=%36o_44)Xa zs4#fz(ap#NIH%8nMB(WDi>k`iGm8a%nBJkycDVMse@*42{_4-&&ZG0epR}^haUEsL zo8!cqcU2tNU3al}Z1=q3c@ItJS7(QKdV?-bgRgz5341)>9o~r;fxi`4H{Rosn|Wjp zFC*jG$6zjCI4FK^G_K7Wh%p`<|DyBTX>TTVKkAqU4 zwljs)Kp}g~(v3=E-*Ny%8uB3q(kU^UdasO%GpL^(ZzHglq3}_K!biG0ReH``cjW{O z8~u56QLNtH51{Pj{uEN#0jz?m1QD`)mFKPW^F5b0DGxJ@{XEj1a}~attIQIHI4@Vz;==UrWVZ{mBgR zl=VUetm4d-5^5#P;LvKhd5sTf07f)KBhH2b{l627; zIp;BUVS>k#z1~~$)_>h?i9Rhp8jX(KA=jfaPgnW0I}XOvk*#z>Cy?B{ z)V#v!Rl6`{V-&+e-NiUN0lA;&RC9VID^w*HTR98X?jJ6P&&z(52Gvi_`>0YEYv~9& zr+%g-$qG5!585rZHp%;{lhvDhL(!HovVEKiW#^eZ;atfkzcsWo9Gji$Ok5ST{m5N% zt0^ueIyqHDc@IvAzXc7wL(qx05jAKzUp>DiS}R)@;FfGDwHwy2d9`h`wW$^6&8^nNtz?!s>#s=QE`{*fq46a~sCjzI}_vWXKr__AkdpDh7QESO=)+kmfJ z-f$sXR_A%BB8FfypV17oH`5>m3r$%8Szm@g)^*y%|#Y-w|?l9v+1c0j#{~LtCBf08-Njt67L#KDAzF zG}IaU=x}pKY1H)lp+`9C7x$jb0LRYy(Sa^P=AtYh-bH za^2pRYM***85j`cuk3z49-npqDDltT@f_yh(kOZ>XGHwP#r3)wRODoLe?_9KR)s6z znjath3bW8@*dSgCnio6A@UlE73u(U27k3M4n}2BA3e-w32P)vemPBCh*5ZQLh3wl% zVH%IDmfJgsKq804GrXpw!6Vr2p1J$vv{<}uH(1Zh{4)#uxw0F-{ciuBm{)fSx1@CO zxRlSP-yz$tRWy15)mUc=tK^8qq21ba@-NS}>%zo?dp{pau6QJ!2X&0=zXB7yDp)Vq zvDTmBiJ_)n*y!)UfK?Z#1^50osOiCk4DbL(jC?ET;`^u@Hv@hEZ0GJJFit>dW7hnp z&xxgqiD+*ms6ODk4De45b+)S1fP|)f9AA#=X|Q=5E0pd1!u@8mkG6%Ov3@@`_p2;G zPD-9m$L(9W6qtkIYtucP_u)YHHkXnN^}+i72X3YHcKqyZO<^}(uC_hc^scjk#InU~ zd4oJ3AVmt5GR~x*VjDT=|K?1j8KPOG*y!~-P@Cmca!e>=`G(-W6gENbb!T<35}@sy zxyybKAJ)LsfgaQsNX&dwe=qw1_JS*U*QXGE3RMM@URJ7H#4Q>xUzCUdG*x!O{Rx04 zi`lMYh1dJveyk5yH?Kz9@gcWma9^7BtK+Tu+p@}Mesmpf_T#;p>3e_d@@S+Nzp2oO z4)4mia?hFGuRPR1&*)0Jo@q??zV_1_)cK*K4g1Dgc=ZuM9V%U3FnTcX;x1`_y59X1 z--6?<^GUN{DX>)%lET0+l!~$OF~sW85?5btTm|(Hp8SDG$6cVi!T&q{0QZ}2F8 z-}G)nRU$--9vV(igB(I#+%;3HsuMectBbg7w3y-+;Ts7pu0M3=MbHmr2^8*Tn-{x?%G}!a6->d6vVF(R$S!;e1$w@dbO0zg`GZmeRxY63b5qRkPV!c3c13qKdlJ9B z+<`f{_AIF`NM)T`t@r2f*;S90jR>MP<3-U2l9k5B5LHm(itPT`@5z>81}AlN+?5V_ zqxAJ3@dhHM5q|;)K8C%nVpvteM5Vl;yLsK7BQFjL;OO4jw@Go^scss|s4DZ?o0KDS z@p(>wb8v#?*oaRFQpmjw(2Z0 z>3b0T?X|vL;}JN!*{P2)CyZG&CE_~O<{)1d^9@a_4p)^qIGML)2k!k4QnGZiFn;|) zLjwZQs`MSbPv`a|YUi8^QIWW>44L<;xx80@H`~jNs#P6XKYMF?4jrF<@}X(|EfbT# z9o0mff&5E~0+a5mzedfk+}^q#Y!$BiZ8=R&Xy;FYIjoNs^}$`s-AHSClct^Fu=d#0 z9~ki@f$(wNAN7rfr~b4JZ_eX|1hbi1Xu50a;g)iWe45BMX!Q0pOLiv^?M zVBad7=lTthdAe}FJRAA;En6S0O^P(w1%ieHUS<2@Z0iE&wgQf3Pt3DHD^3~lQ7a;T7UO%q#t5%^piDlrQ!8OwU1IqtnogCpU)<^aWw`8*& zSyfvDn`-|-9l|~6ZnuF>l@V%cJ6tW*Mi=TjGwz_+w!HTGQ#(k;qq%sQO(v%`TSvw? z3ehpiUvENfn)P3qwsJs-XJQewM1JW`$hr*A=_LuLrX~ z1ZJ4jQj-oSUwv6a5%#t_d**V|%?+IZ2aeZ@+#|jk+hnIAk9de%I z_l>Tw`128atlLwq?^=l$_ZMcIO%1fwQ26saC7+vR6^x61`n&y6&89oH<^CI< z>i}v?j;Fb=Uz8U=s+4zgNr+>ih}#&CtJhb2$Qqz4dicM^{BG+Ehpx8UZb4@|EtbcB*=$lnrv->!!vV*Y~O@? zTmR09{PNo;V{af<`_p~>%?U>4=E@sR)C}Zz%TJN#3o%mKI-r-vLfKj2cvml&n;uxk zK&=jrY^hdmSruob2II@3|330;)sp+(ZF_`<0sh#Xw}G76?C|vL*AP$E;VXI@B+)JlS5H>@FkVin$JfIAC>O zn7Xh!;OJ>)-#!O9zWKhpXY;Wx%m=-F#mx-JST$}wb;tL+ zIS>5iN8$P^*2U3T((>Qs(ELpi_n`2A8JypBu zA=jCJPq=oN?pn-sTq6doC5$wGxUT@QZOa>ZD@K@zu5PCI?_l-f^$p*StpU^w^kre( zXcF;%6rF3^a%dEWe@j%f5k(tCLJ4h}-)R)3E0r`{bxp#6jP#`f7SnLV*VzJ$O zBpP|YRee#g(&Z@kYBjv82RH#_w1{S{?nm?U)jS{yd7V5Z4=SRzw*4X28>_HINF#8) zzdBHF)MTe0>oq|&gdcL2qD_Mu>?6A*57pdw={@#kq>_pMmpp zoBmnSd3i>HKW*zPN6l!ijpHLmh~1#x3kQvL_60vy_qib6sA??m=yE9_bnTf;-}BnJ zVSSGVq&)fG$v(B>_6%P_e(aO3vhv{))h{D=np4wKV?ihrh5s`v z{KlV+MWAFG@=jV6su_ zGk!6F(|9IkhUxtnUcN?)>F;_TCy&hp|D}b-c=~qRoKajnuv!C*2izMDBFL0)j=x5h z%#C>uPVDuwQcVBe8I&usbpP!S9}NhZeqEK@H+7!wf^DC>&y8Gnzk)|T=p@)Lh8H)vx8@}LO$|DJv3&!}9^Y)H zUxmB3eN06lov+|tAMMGoO*qN+O#BOv=(x%Hqptc~SmCj<4!EF8qB6@L-*JsMC&&_F z03tOSnU^)zO5gEx1nkwuuBu&8YOotl^A$3G9pk&tzR*pCBu+n!RMHyxdKn0ZzBm~5 zr$C{QkI7KwpQat&$bKNK;F)%vr%TmY&j+SKdxv-2IL%`0Hrof|<_DW(4Dbi*QK~?6 zgt&AY+j)P4#n$B79tskeOrR-?J_p48^n^QdbI9e>=B*DU6`e%@{CwWaIIu8zO-zKBQ*I=u%=kL!bh5mhq4-nk6-w(n)sV~q zyx!Iu`0YOy!O+%7+1ZBg{=;=Q>uNippL@e7~LZ*3CsNPShVJw z@}96n7ODN!=!2k#PjR*JtAL*?|6c68K+#iDTy6o$d~JxpO#HQLav=}lWg0%pM{d!z z-9nu{cUov1kDDHfcwN{dlb>$#J+IdH{9qY#fBQ$?))=xEj#g>#)p7y}xEkfb=TC2M z?|Q4uguJkN$LIAZCqmT8xS^?hUXg8|HV-w{07i=js*Zb?c=@Xs8ZQrIJ z5x~ra_IPVTBFq@JHiS=KNw4m~W##C(KR8{i-PvQVs7D{#@RD3EA<|4;mK3UdpSQ;A zx+kZUj;Zty#7HxwZ6um>AL)-HrZv&z{Phn$&hQ^XWW2EZy}>PIkPC5&{l#>i&ePR zgROJ)zIsNhFJvVqYIQ4t3=l+;0xguG-OR9^cXeYx+q4xep$F?IziEfOQ7aND>8<=T zU(2d`RwAB)WdqxQhbPQtsc}&Ri=t<%3o?PqqaxKo)csxrsc9{-{-0lOTg%)xI}Vgh zx3k?;Q|GM>xnS+ee!En2Sf7+Kex~Kedax4lk+OEs_gPr?HFd?}CLXUnpl-+CQzq|Mwp%zkg!p(DKJIewl z+No%c-@?HHmgj6)2>Pv@kV8ZR*SE;u{Fcstt4D0yN{~}NZ->{(bcT4D68PBuOOB)J zfWzw9Ii6BLX z*$nV$5ap!$Z25P$6HU9VRpEGifgS21_de*98LrNMPa@83n893Yh^uKEozEF=5+tAP zqBIs~r=@=}1qwe{@T+8Jp-VjGS?!`W@+&}yes~Z#_b05ocz8}-G&apH9#6fAGZuk} z>wYu&L% z_6%Frnpqh06G%eBMo!Wmx2*G!Kad`@)<6A+`=$8>SM}`KQ{5Udg2@>IrZIKkFh+q` zchX+&v}$%gIoz}au{O+G49indrvPJ8LDoQ^>k?%jP_xHp3vwB`^Q|=UJCi-g?TyP5 z5)po=hy8w~$7gAWT>V|2LaB~C`oOuF0nuiTZTQs*0QZk-2f7r!MzDQc?#u?F$+b}n z>Xh8zbsAo$b#Jn3JgdyCFs?{>0U>}k>&f~r^b5Q9{|zsYwDr`hnwKZG{3rztOw2j9 zb05)G4nfPvWP_I+S0|+XqYuPB|Mlxbx8%kE&6VZu2e_bmwUT(VOtpY4Z||6IwTU~^ z^b-B-w>O`KfG*)Jh74EQIOh(&TRh?k62UvU&gB6JO)SGHnuQUMvDnDMu53jY60z zBgLqI~tZF~66DQyPC4_L)W3Zkby`!{T{3k-J zak)@PCLm3#cPsYeSI6kArfkOAYeI~bq21xvyRB74%6>F`&N|4qI9R_oog~#B^jJwc z9pGHq#N?xC+k>Su6C`LZD1cp!(qn531b1hsr+;H<*Zv*u*&h$j3pm}WQj3JVef`lpn4{?iCv&*=;MLdX5_mVxk zN{}q>)*k0mchz~!(5g())zK+$$DOK zjdSp%!*&cHL%xNKKwmH(IBo3O`{no$O!Ru|@AQ6c#_OxEQS}LuFPP2=pEf06w2Du@ zH_tsr4*KyOop~U2#r+5qZ4TbKo_m0#N@<0fCI7Eh?H7&9s$@prH40ITX>C?GEcf+V z>8<2eO{Co|CisEDGB;vfh#|7`To_pp$fq_}%93GoZ>H=J#w9Dh_M4?bY1LzAhiOC# zrwp1YqCPI(+XGsxU#0IJjZQ;#)R?*YkVtWdm#Rj8NiOtxaOw$FWmSB();nMGf{O{;MQzuv7L)t zGI=!~0J#|dmoOecO7kjokAIF+EQq(bhnCumfOf+q2-sq4^+I9#JV zzgk{2XUxTU*oTzaLZQ}|Edbb+Xo{xVOAEIA{7&5^^Fej|W0|O2(}02p6B3vlp(vY} z#5hT?LzDvMRQryP`z??C}!gUK;b+#bwI$zHcU%pHkbiO9*`U?y zm#ni&lUPIayn5Pj9QjwLHrVZs?jcDqoDERookM5iK3-oigWE!x@{Jrp!^#u={RZb= zi-T>#wKb+-gs=4KAp#U@RZSm3okw!dD1K%sEzv)5uMM}YPuc^B@L+(T;v_GYMxOZk{}Hr5nW z+M`*1f)~0??V#M6k_?ET!|wuVF}cu;4NgHUUil&C-=cc%DaRQ|Y^|i2Z%A z&0;8vz$Yp^N5Lko!DmtXT;UvsV~9OX(imyYcj7)sCc__5GKt@A75om;aQ);LD_yQU zuWNR#fOWJSAg6fhPuJn4Uzj0Ane?Kh@7|`J$KPSsn$={_o88TC&i_8%Fo8!V-6qT` zjiC@`ILCBQ6;@=8)voj*oaBYn5cH6C$A#sh>rvbMO&qxKay}s1NsojTVyEraJNm(0 ztB_gb%$QBvL)MM$H>`D9sCq=UF5!7<%Y`>n}H zeVwO~ekY{{=m67EPT9hA{&L1Q)TBdR2E$d~e{|iK0&G(vi|L9qsp-HZ{?xv?UVnWP z|HLu;AFFSh=4)UGw-Y@Y=g2l=$@26l{!5vnZWuvj1(*c zoN5<;pf;S0b5^UmV0@DMlMnK9c^k|Y-pl&Gep{%6;W{$vF3TSN_(OhNidH#%a~X`n zM1o$_Aa62^GTkQhv{!Jd<9A&8+1r0%)0EbV{#t z0g1^1;NDm3i@F|0t3|B|=(d0a5-~D7$laOTJdIj$mEDHkSD>b7b{Z<}-hUn}6D9d! z%&Z^~dJity>RK|s?YQ7zFtB#8L~+5?+N(Yw$%hnM#h0~fFVQa^`iHM=?0DGq_`~W~ z3hL)NcDi^rY8o&kT*f?o0PfNbQ25|kg~?S`IZLO(r(os%kU#qP^!_#;+M9Q8S$UZA zmtj2an>u=yT$MAn{HS!lci!Y~H3p1mPHff~vjiHY&c3dK&}v(EmSplotJvvt&x@BU zM1I~t(abMHsb0M{S%7^gPH)`w7cHy4Qx4nGFUWitE`tfVV;Il>zuH&Mi-85pwJR zzI_xv*Nk(@NUY1x-YRfXV_I2?-sw$P69BW$K4+CYE2Bbo>$3Fy18*Zd*Pt6mtPRbP zu$m6n-j1oX;7fS?F!-3U=hw;|=}qqim~8S>huy5`quW9!XY=%3_)wK>oQuNKJLF=EgDKp8uEKBD zMSo)aLyJ^*Ix?}bKPlCw%Pkg!e@g^9hc)D(Hq4&PWaF&zfw}wYqdg0|CqAE$Bgt6G z&BB-+R_(55icN3}&g}0kzrB3ISiZG3a8AB9HD())#>_Lr@q-Hv57YMxwa1P)jMK(v zt}^M|9E(TL7^D z0&1+BuEp}AR7@WJ`T)14&=+@7ZP3eywQ8G`CV~`>jpCEW1d9@Smq-ox#C_TMiFJ4l2sUQl$54CSn?UMs{%TDbu-?9b z23q>6x&c@~`U}m)pE-(emOee38pB=8eg1jN$^5-71Vw80tEPP>eT4<{_h{i0;}pMY zlC%*Y`Bx1;UEbV;U|+coaZSfsDqwv>Z`QrV7(AJ<+l(Lv46Mw9*y+z)W*nQ1Vect@ zb}>B1JYo7_)y}P%U-t5^Lem(YDwcb*7te09C1>Y^yD4L>u?{=mf#1C^gfTWcf;fa8 z{GNrq2Msb7tV&aTaxl7j!InqjtecV!{(#)GXp@_5WXO;biS8TiLhebu8qCUC7!coYtJb|0 z9xFsQEw@`1o2RE(`)w<7+}URg8ucB8vfR$WxsF^B6X|(m3(=ItWSIq_U4zHdVBVR zXOb&M=%+9SV4|J+vkxOK_8$jzFP~-MeEVcmr}54R6n>Rjt#DMojPE=@uy|Lqfd)4Y zVYFT?+g#!eA(G03&Gmw^bC>@jVcB1``Z?(LAI|V_!9l1i$A8Us_HMK!_)aq+m?TgI zS}#i3MGqJ;MBX?i)#m7Mch9rc{qok}JQlx*-#ASA zrBYPD?dm1O8eJd$gzD}lno;A;3YJSpQ+&v0(p>3&GtFO=)1v#vm^YCRAqL2uLQt8# z&ah9vqJ#PNcxMk_LOCtI?NhH3%8mXNQUoKM_n&9SFJX{p(0Oq?yq&kj+B?k`dd_=O zXx@(L$IV4Y=gtx*T9Y$U-Lco|FMs}aX2s`cQP_gRqWyY$KpW*;Y++SrwOSAQ=bI5` z?WPLsE30S!6*Fa7oT=cFOkahWH~4gTp$smYH2>|0klF3jX3O^~11R`+sV)iEb=>TG z?Ci!Dof>$&d|J_bR`Dhuhyo7g8Q;9!`vd6;YZEXtHmW4Fp5NmQ&opO!pzEuf=&aLO zE)ymDkv&jh`ACkx+Y3SW=^{I9zU3Q?@Q$HO|8aseTCNXwb-hIAEjrlPzr}6wId9LU z{@9FeCi=eOBkF49BqG@6%O+2?((KFTBM9@$;_X;}1L3IIz%6 z)}S3K53H8i5&EZus&M-zH!|s-M0lHX&6Gc<__Uu`@|JsV;%X{E0w-$@htRFQPCTLZ z{|O7VW0-|LtN6kA03OPGcjTu;e*pE>2QtGqI9}r;Xr=*Y=xrxIu2=oCzP@c7X4wI< zXd8+kcXw-A7~{o<3lwW*UH&99s_^5>2y7G1SC+j`(!~BaJiqp;mii(l&;b?~udCZ4 z+L%;Sp-Ret`!`#aF^W617rBMUcWS6U)6*yUF$q zDWB=kv5Lsfbi>=gcm2u|%U$|Rc451-d5z{As`SWOwexJ2YZr#IEl9vdx6gwecgMSy z;q~2XCQn{1K{>%gab`wCeN*al*0E5Ic!<5IGjv#=!ifny@5iUe7JncN5Zh#@H01oJ zrQT{U^0RY6eq7yF<0b!1zn}J*v+kqnRDm;$GB0{~6qZ|9}(Owf_Z;j%kVR!q3JM1C8m5>>V zXkI~ev={4b0_63uOIV__dQC>m^=hz5mS8W{Y0Z57S)K449yYbAT+G<<{g>U+Z|tIc z({a7S^=GP2NCR^3guN_0Gwt-L=Cs4DMUUKjlRMGQ zqtPLN_r6DV3Kh5iEsa$DgtoxM)!#vyl>Ql=$DUvou++Q7P*Hnt!ZQed#=qxvR|}ba z@eDnK)48WV3Jn~AzmIRW8pv*B!OQI}?OuDb`M=RHpSQcPM-HsY?$w89q_IqH+kRUn z$`**zg4MhgOpqQJzWcp{TFt6#^!~%D;vX|LrjIiUnUMq*qa|9IR1`C(2aHHI(Z*5} z!%25vTPi#=IryFG5Ktxm`(iAN9lF9kKioCgPJG5Hu9a8SU>Li7&}CWH=R{?P6HgBm zWZ(?DZek%=yuLMys{t!W}BG`Z#6pzm}4V&<%q`r_ zjlm)Qg>bW25g%nIDEhB4JD{DE2}z|%Ppb3H!1fW=(t&QsplkMXKHnQKd|j=VE!V`r z2u>|3%7=vAstj(S@nG>Qt2m?OiC`|HqccGr_D1*y)xX@9#UGyC{=Vs>;r zBtK|Oe(uG|jT#br7;aAMp;7KPxtrg5o`)M_iBR>rWL#Q53cDJ+Al@B54q4*GE)OHMK$yJbAv0FZnDPo;}ih@atn?lJs-zA{Em(Hul5YlNIaSg zr;!gs9QArfy*FkSz0CX~`>ShghcC2%DgSTc(Qp%Z!RYd0w_QJ|hAicIpp}E`doFxT zdh(pLO_Z540}c|V738{+!_}9GgR^_%|F+TD9(Oco(`%a2_U`M}&`h3BzIDK48}9oA?=T!3 zHQiyKTr3GHf5aeKt*nNDn{q>cilcFuLx zazL(S&6Bs_QZ3n6(%fUz#P^Mhx4Hr2ZV}nq%4&cp>YB}q&U!S8pzWvgj>y}jXe8oT zSO&$AxO|tj&k02JZ9jME531)kGkyM6ZC7IAYl(D!g$gflkz&5PnRqEqkK1g{998wc zKEoVF(JF?-RMW6kE|L1~n)fAdFuhHIu_84$2jkb*w;RQVUADy7#_Zfcr`r)5-k@)4kkEM6KWiapsL)PvWHM-^Xg&wFgAUNJ+sC5_j|B~p@> zui*rP&4D(!&aina+5DM5h=CHp9U+&Nh$>bQRwEFa!rqn7aTf@}t2vVRY{scxfNZd*<`a|L%XK^~mBibvxB=pB;y5 zfr%8Nvo=_g(-$`9YudEa$)vHe8dPe8WJ2v8xgEJ>_stw9356u#DV{ZQEy^?EP6UtC zJ`X3QsEqzA&pleLN%lwHTIgwZl}HAhXol;X@0zyme*aeYTcHJSWTRA1OlNre@JEvDx%0I1 z8uzzz@lYyF>OtI|&F}UfTvEUO#de%mT&An{P#K?uS=7YbHnabfE?$LPwrSE zLSN|8?s2>palS-8>G(QRDly&Em*RE~sIPN0ATG`~7|x@9c6*%nD@B#`gJ)O4QUJZ1gEVr+ zTnm4&VTC{aX^9|6TC{5Zbik7;ZPB}W&}iE!(xD8BQVWNL&l)DS`}W`<~!WZ z#%^#8D}$}K+*AgHJzZ>C#`jxwUH!8_x@AN?_XQk+AfFZn{&UB z3^cjy9nrR&N>|zKWPMs0x>7wPvD{*myWW^Bvi_Uu(Ro_a?YtFPBv4a?-*u(qZ=z$j zz~+=x_0MZ|xH-AL9{UI+hv!Yds5DATHR8>A9&P@esVWy-+);;ij>OKPr=uHPKV)<+8^bplA~_!x)w*I+Q*}4=52=Sf0^P zJJ6BZeJ{})`u^?syYq`w_EYL-yyn00TFmBudoD|H|3*jfdy$Lm&y6qj{GkFYR@Y3-0=kM8Y!>gd_+cd4ZPn}bJ@88H1OHa1cRc}hWsEH4M znmPAF5vnZ>7$fXNnX>;7hSeKluiXMV8%#(B{^LW0znu^oHGSZojb_dGnN4wX&7UBW zTQm7-bxnliNox}RvBgwL9Oq3=FM`sO!Y8`8)*y#n!WRNq1b@%i5trN7K zf1V5MpzHLM6JKd6pzIrtU?<+NY6WSo+dSE8!|Y6`PJTZ~vqlY2=gw;q^J;@b;<~O1 z8C_dF0zV0|E1a3~8w_8(3=I6X_n4c4yYT8^WUX{lkTZ(~y0*#96`D~Xpy|M@?_-}n z$$|Y_ERPQZMjMXBIAv<;nQS0b)XH^~KAxR)~_;q6Xh2iYUB<{x(;-4VKm6 zV|yaOre=HesRF2r6RE5>lfFmULwY)sR&Z1HR0vl-#1a{tZw>O^Y6kFwJVK%kf zseZGjLt!D^8q24Vb_Bj`Kd^iU#d8i%PLBQbdA-!<)_5tFkVxqMKE!MO1P_6K>AK-w zxoS?3D{(NnlB5ye%N}PNUbPMnoMh#DR1Qt}(-4c7{j6k-%-5RwIuM`Q&sqAfu-Ys7 ztQ!>wfQwJ@cI`PWH_!R7;T40y+T9*EP%Ltadrz?pmrh?wGKBZb$$T_@axXNKcka=L zXJipWnKlo0`%fKqMc`wfZbpyb3-~Sa@lsKosNaJ5V}5?B_~vnq4!eZ`s+TcyisSy5 z`Cjjv`g>zMt3|RC?t(6>QSeM|{FW<@>Q`Pvo|R+aRDfqHo z$nskdEayD0jw^ponBTm2hP_l8nUY6qR{w$>wf&wtam&F6tq*r}-w7RYa5?t7H`wyz ziOKVPU5>A7DXqUr3$DYX-W0sw%|8p5IGYQSO^zM(URbeBlv3t5IDCz;Vh{FaH27Ym zN>6ws#O)=R05I2yX@B*Hth77zC0QXgKwsk(z-in`W3Xa9{wg*(6#S_L*CwQdp97p|9`*T zH|iwU2pfUTO*%tFBGdKdws)(>td;Yy1kpe9^V=V3# zHTY|-P3}y5oWbA_HM=@$RDBo;^TRekf*bDZXpb|eI*_Wv&aaVM=UD1RH}l7W76eiI zSl)aL&fBf0G&GApocK8fK^-*ZkhIT%d<3rxKvW|oIX$Jl^$7!{aneXSK8bEk>-*!x zv@$NfD)LMpF=4Fiu|IpSSo$AGnLTpbp5Xb$VZLesu(Om0{QI}8MkaF2+q100*B@W_ z?KfZrz?~Z0vm%|FBP?3h#Jnf5e{^b|pRMbVGpk9ZrJqWPRO|F5?WnOh)s+~MF5=$4 z4d8;tq25h1PToQbAV$WbOg7j*K&N`Zw-=`@O19wrJ?FZF;&(c7g)bluxn9=ebFq{u)Z!Z zwOlPwMvs^MB!X&nFZj^rc-!;p|8(kDY(JXR!$T`zz`7mZPCYG?b@kLC;V(>tuBZP= z;GG-kwwH;0jfk^{F#)>ApBsN`$7ixZ7@w+c0SuxUZ_%{bV__4;s6$PWrsH1HE98Hm zAnv$S8GWeXZjSDgbeV(05!>ZjU$UeBYQd@7{?8wK-XC{cWQGJfHz84SUcT{M$BX9%xC2s~nZ%UZ}*r2+bHXul~sZv^Ah8-WHDZJtwqnMJ7 zH8CIS;e^0vosJ8+Xnyflw+jHj7_c~!i_dM=Z`f`UU7)*kQU~F$nHo9R7%V^i-$A7*%#f0?LJnJDX?P66OB>?QCrb}Znh5hhk2wgQ z(BJHC8&wnLwJd-}R*_isBwt++XUM)>_N^rk=dl~nDu&Y~&77<0kt>Arfp z26^4>rSX?Yt4e(Xyue;Pu00Ta+-V<-{8lOB_OM&&QYf=2vDhI*XF18ypd}?CJu?VE zqbd_^Vlg|z9=YST2Ggzo#!KzS6T2{V8e5mUFLhCdS43yc;gBAW&LjpOF;~bToq5#m)I+g8S(&FK!M$ zASj)cr*YMl#=D=KXr2^(oZPklj_!D#8~7UjY~Sj|?MKQ^g_b{S=dXi3zK({YwG8%T zcRu==fkDVGx%hPrdA3;8){R{B(Uznjo8-K!9yWjVy}%gA<(gm%@sFEJ zWNWx#`;!fQ83SX`D*$TAuP-ByJmZ64xiD9cMi0IlP4!b?n#XgD{XSvdv1>Iy4(4#P z07YfXb%%-;y>|mbrRayA+%Ju4?sTrgJT!i^m0SR{`pr$*}8$P*0?M*;vE@p5OLG} z4r&9nYxcaSrM*z)fyvp)wO+|j$iv>Z<&^-T$Jk0GUFw1yS4to7)N`+Jei?CCpT<#^34+XM-$CxEw6|MPFJPaQQM=DT?P23 zVX18x8mFmX{k3Y}=vot=&}h07>edeyTBR!wm*c?|?sUPr-7L1d-;V{08MZu;R9=Hg zFHd8|WQlC5RlSOV8M*vIumko-+^o2p-7rxJyXZ`kU&sD*jlEV~g)8cM<-txf@qHgC zaCF~3_rLvg?3|r>Z$fjIsLvPspQoH-i*wrD5;>SC2Fo4qlIPX695$#!dHQ1nV{Nt@cDH)VrMvoV49 zgH4m<*#Pf=Qv^ecd!wCe+^8*5%(;I;3VTSm1#e+nxX)@7*F&f4CY<^<_;3T8miynI ze-y%ow&vCO;diUES8tyT$#&rjqYP&~aUHA~L0+|ErcT|Lujw+ZAtAvNN`rteCKpF^ z&%rG9@bPt($MyI#FiG2~nM3aXE$Pt|b$ambew@@GumCd z$z|=<(!#bCeQ?QTpf`0A>*M;sNn0@?9{*U>Z9U&YCsfj&N!2;# z^mo&(WwEic=RxE6md> zV&{xi2L1@_vu+FJ!p_7`ST{E%r+OZI0HNZJh3@l$Kz2 z(Jcb#X#T?-{gRaQyxx1g+UHQUwBT16R*WcsDLR-UPk(!6H`a~4rA9g_ zZ^mjj5H}92G9bWRNbe2zCzJzs4 z{nOBqPiGC-&%jg((;&ueUjTIm5Uoz(7=Qfa(8>0;%7kQT#Z3o0W-^W z)^DRjpmbdmZ{yZZE6tKFB+M!qX`b@NJ$%|*jX$`$(FRa?-N4+` zN!{JUtnPqLvS`mk{^7h63l4P`{U~-WN;y-tI}CZso!t7(cclt*8}apOu1&4x@LBYA zJpR@;jh4XfSTS7botw0l3s|T~%efSE#OoE^>j%9hR7&|`)4V4asbFZW&we){4sl$^ zf>|`jY2H8CALDqPY#WpDp7W;1aE!3XzJv>KODZ=v6=)8p_2cYdt_`m#j`*cuvyJ{J zGzH%=7kog~?iFq$<0a)`-g4fy50AkgOo08*Gj;a$>in=UwrexHiPM+3-JSGYF7Q*yRf}GN$*i z+n^_#=@;zQ+!vqGJELfcXLb&uFz>2YC(>q5Vg=*d&py+#Z$S5rtS2bm-jlYPleo!z zPi)U2)QesA{UA2#88s_{R0=H6PjUI>JL2*n4=82M_BvSZyY#JJAj;0VM?x5?<9T{9K&tvB)PlHZiGRlWRM!*q0%5bc=y@nkS~{%LcCoqw%{+c|-veKX$m-6Q&d9^9{b z+rLWE#yW4)EsTY8y&0d+c+uV(;w2Yit8`hRQqCPM{j#taO)GH zFmZRGY;i+&%!SSE=UHT5)1oZivh`e*C!={U#}ZxC%k^iQQE9mZMm6hmLmTEaz_z^@ zfmlRKat=;e#*VADSLL%jJZk+;b8&J{HuBu95kwXZchZHgjs2pN1!+>_8)ox66B=VC zLU%`HaG<(T$n|z;btDLxGA}*q&O6V1%O`kO9?Gc!$;!e{d3TwxC2ZRFBp%$ie-(hA zjbMigmFT`C{GusV`ME=}YfE%ElkDH#E%z^NUm)(iqHsno?-{-M2)4ia7%}XU*1IWII`Si*a)P!o zFD%~xfaXT5C9T!QwRUMi0V403!#UR@%6s>Dh_mxYGC1a8WdV%$DQBzG)Srz911`7R z)QhJZAk&$E(@#(N@0w>=m|S7SPwUrf4Nx2UXeV4Rt$cg9RiCxq{!9Yn$!(NBo%0Wx zA;dt&IjvKaa)YA5UYoju?S*fLOl17}0MvD)e)pJ^-=2{t-S2%&=T>yGvVw@o4;Nn1s+`X-)ih6Ym+$g={)U}hD_m&Q@uV9rop!M zX^PyC(HNL5Yl{nJ0@r{RJL6-lB*XWjn3h!p?{DUZF&nn%cE0W}A64NpVYq?za*1QL zSlZ~`dY0Pgr1$z@)}z{1C zT?bfC`}_$#a8N;~m`Pv0lYaPTIt#Bx94DpJ*jzc6uC?8?z%*{c8b~4XV<;y663AVf z@-91(cg+6YA{hBZ2@*^^XyZ3zKl7oRmQ9w>gY%%{4W%Ga#~e=wP1mNUXU?fd?ez}0 zh}SljjPlES4-SU?>Bk#rRz(ACB>la6tNI`o%k{@+yhD~Q)lttwi!Xi%tAEbJGx_2c z*mT++dO^d~Dr&}wKq@KWuS?;J-@H%q9q^pN7B2mQ);O2t-ER*E2iNkz#hhJ~)Qq4e z_eMZSlxMYIQ(P(sUT+$M%Awk%#tP&+@hv#I)f^vGU7GtYKW{U?OZ|INZtvW#+v@@T z6^A299G+W+UVk|EWV&ap9I*-hl6L8lo9F#Msv6vqlG!(7`kgez1ZjgbboiOUSuUK6BKvU^wl@8Z_eNPevL@DRhW&Y4Y%&J; zx{B8;Z+G&rNSjFR_alAAeYpz0?vB|Ij#`P8TJ&w&w1(Jk2)|{rdYwu`JU>6SIf~q} z(-B%YM1EA}%1G`S1<$_$vu;N18<(5ihDIA8z8fLph5H&b3bj=FopTq&>eY5++8kh? zk}t(?J8R}|n|0e!ZPLbRm@YuX{T=}A2cq;0E&s{bXSz%@qZ>IL9OKh%Xj(be@Mz6n z8)AJ}7MIxg36{6XW3YgP@cO#mtw<&?Pan*Vg86$+o0&^gp+~(&#Lk6$Z(R89kFn_Y zO2!`h83g%7JkG{+EXu>Sh7%k548(lhV-n~64cP3!ciPSGLw=Y}o8%rN2sU1u_~yVA zDN`-3L+dYV`kiffe6^8tcMLXa`V2{|(gdC`XJp?`{k-R_gSf+EcH@2NLeLO`W}{}i zZ>U9cc#Q}CJlYSTIC>ibG~uwG>G9s{gzd#z4@c|mC~*ZZp*z23s^9eMY#^#i3PFlB z(zAn z4qg?OtAv+ysvcCHP><3d!k02%bnU3Wty1$)UP3!zf?zPf%(8Mr$_cnZ#QwTCTtT$|>8M{ApCG0j|xTAcypGWCzzNNSvd>l%%-8(BCxe>t@cF zBs&~~v+_vFCvWb3zQpr<`Q!AHlbhK5pS2D!%fk)1aC@!8JSe8njz?C0EV|J1< zX&Q<6lx~7M$$!_G9;!HOBz7ofEZg(CkzZUZ!<)RC!SN1zG5I7tN?S7T*<6emKId%H?ip1Od5L9R1)K_a> znNDm))q=`FJmJ0CyUIiZuLsx4nONyC$ZOv9YQ4KryR~I~dMCEV?3Fj$I;Fc^a!3{1PjR~NFP-*bM_tP|F477Ai6Ek7r6u`#WzXN&{- zBteY!(Ahcowd6o?!jA{~az~o4+moQF_X?Msmnr>m&kR3yoj$R~WSw5t^EfM;R#@+P z`FREXM+80Tk0EF0#!k1dXAQ;3DcmJ*tsRxcdB_?CuMHXeTQ477210*(zt`%E`JD%|rmKrsWZZ?>)s|I~3) z$v^Hh6HtPvdjC753{x@U9FSXAF3e#~8!hT=)w6#Z6rbOQ?DM3>|C07q?)HOHadKmx z@62ipj);BaZ>dtL5B;ty9NvD@es>@2_vBR_Yafi?!UE?9&(5&qRj$#}X-&@{W7Il4 zm)61MQSdKh@v_@*jZ5-dKfVpWzc#pyo=q&ZwYw!zA6^V7@N<}ei_Rd1deDQ}Cx-e? zm8m{fa(WX-m1~l^EDy-Dw8<0DOL+QNohP)ej8cc1Q+b={=eq(^f2l=EK1$cW4IK~S z^%4@SfB2jE6|#)SjthA5f2q8eVeAfaFqc<*jDCqgU-FedWJh+q9}@ieMA`hx7wZVI z_qHb5%rQlh5Ye?R_h=~>`RZq@WvEsAH+~q?^JSdhr(HAK@+mk|3Ub=MfjT;%c9n&h z_w3>wqW(?1`5OA3p#6Qf_ga^MJ$gSGn#;mm`Mpm73t`523z}?TF5b|O2IDzHqOg4%SIf&dIXfC$7E3>TQ9mr(Y2EuR;zo-t zPgU*K{WRm*yqDaUB{9Ds+&#E1F9^^H@&_ByknLn#qSQydWYa~?irMWU9m)!P5}<$x zOya-^1y!N)gjTX^r@}SjLRK?aoW2jV%N8v-yKOBg)vxozhxq)_d<obZ=V4X;rJ`yW2C-)o?s2S#0|g;vLo2)+`;3b4E8j^J!P2oqhZ7 zNf!?TZTA@Nv^q%FHMrEmoNQf@)=mV}-T`?sE)qeOD6#ZI0#|WZ8JMoxeM=>BF?(bG220pZUZ<0-}s;F=mdsk%5 zmGFZ;e3X}~#TuI)&ztB}=)#r#JN2b7`)P1%Wd}$0awnNc+8jKxo*%TaCj*tg$2`r= z!08SBAl9|0ml|hVYhU`k zW9=9|aN_s9g*h3_#V9^~3VoBNB!X*gO-%(9{BBwK)-dkmet8>6KfqCTSAk!dU@V^~?O-NA2F}7-M=gso|fNb3S+@mRw%u z;`Y(d?%4Wp%O+ey!-f5%>TK)93Kn~xLK`>|=n8G(C2`&Y6;4&8(Ifv-wGpx^@spal zT{o98opu>#1ou5hk^aJNy|bTR+4|3L-68$hY}AHZydr=Lai;raB8Kts);eryE@CE~ z(J>&be`&gMQX4tbYHJFwrNb@J8Q^=jW|P| zkR9Tt(|*@*Q@2!p8C5jecE^2HTjNs1R>(??WQ|my?@LESAKy*Gtv=?#FNAsQ2!f~{ z@~yuS^lJ&_sWImOV)Ynzx=+q2Q}!J0YN$^rA>5b5hQ_sMvhi)$flqnTlYTEk>*m*{ zVdpUD)-rG_)XV%#Yg}tp@M&P@-e7*EVNTxWWW8v1#Zq-#@xOQJ$26|@LCawTX7sfr z*A_N;M>X0*t^Ieoc1Z{#32|GDa?*Iloe!s6O@|Vr_p+7_=Of|42xpNv*tI1P%U^q8 z-MFup2+YaF)!d$(HHLqJVXtFG!0XwZgN2D;aK#@s*7uo>R3E?@^3=`S=qrQiWL;`C zHWt#Q>n$5^9T)W4nc?NtMuDAp8CarTOJA!i<4h`zgn4rbOiIN?I=29>56z{Ujv8%~ zuF|R>rFE?TloJ)dD0IM!zwPemkrha7T5&C4eCygC#bpG^nd=t&%0un?ODpHAADeDk z#}l+==3jMMJvj{|tT#ZrfOa0SySYsFW{dHR7U1yl8SK0(CsW27BwH$)h4DlH*?pZu z%=D^p(Q@V57Y0>&r9vwIL4HB|RK4zg@ z81EtoISxgu47egFU>H|p6|H6R>(A<~f*QD?TF_L8axSZ8%weCza&C<5>v9eGB&+7l zvu~w%HG=}v-Gx2?S-S~}ej5)1Kv<8K%QLRE5)ljS*eZY=S)j*5DD@!zg8gdN?*(Yv zbU5M)>8A}+Uf-K3(BAV7A!-8cbc*D2zx%tJuF$Btd(ykIt;-4!F4#I{2TW=9Y$)f( zN9{3C|Mg)PH}d*I4Cb86(_@}5KD{63Kqb-~%1F+IfB#qTTISNa*&8;RM<2b6r(AVa z9&791WK}$Uqf>2W0SOqh1z))Q;icAJqq>)NbMN2T@`oY^Zd_~E>XTvZE^(*T_#A+h z-I-g^v^WH|Yb8<6nIeMMTI9>8>2j{JY_(nNE9bu=WtC-*6J*Y$A{#b;#Ls)IJZt;C%h zgz3m~-t6AQU?3ICWoWyN^DF<|9xm@+S!f1i^0MZa8lc_vYJOdjTSYFo9h=Z{F5Bcu z*i^L^6gSMF{mf=}z?H9Jd<%7M;`|yu#xTK-Bn+B;KAE0o=Gx0|a)~k@GsGHsLsINF zZ?;zr>5bZOsvVHQ?qKChRk{ z&F%5=n^!m5b$txE+{i1We5;OK1ss_|a2~ZO=hW(7&dTQt@BU_^BaL3A=9*6c*FgDd z;zYGJ;^(F{A?LI@?h1&KGZ{e$C>Pb`b(?fQfFOz8fj;^~pNlnETs&f>Uv(8a9$?=L zx!uxk>tCI(!10?8>$l-K_MxR{(P|($dM{c%l0c=bdS)M_c*eT*#=a^Z@}V%Q&(B%-Jx%+&h%1<`WvxUH!tu5?bf_j%m32*oiA1WDa6!9B3m6C{Zma4 zIv2sCX8hzM*Y7A@u?gs3$?NSHt#`YfG35Bl_Uf;Ljjr?QIJ`A&%P>#K3bQXn<{P=@ z`tat6Ry)B<&-b%7T$NrkChH;jS~)n_Yo{@|1JwUvoYm22vVYf`e?oNe|K7*m4tr6U z{oFO0mG-}RjPLgC?q3E@@dY?%I}4HN&!B3|TIk1TQlLzqEcxBE)-J77(f>{*aH6W> z^9fA|m2L^HLRXbAs?90C# zJB|Eyr+jmS`C}_#&1RBf1+2Ii>HXiw>wJvwtwk>N%$=AQFfQx(B$^(A57`lq$b_yZ zX1T}4tj*)?565_RqnX1J2J)5ax$VXP41eU(y^0iPhBgg5P%z!d6@w@u8*-j!AiaGK*<(_?S@-SL!@VFV$ivPVTST3O`HD z4K~bp|E+Zo8Bf)fyXss^UfCJr+0Q{B>+6Aw!1|(dGoFFVh<~ENpmbnd~0Xv?fBX$ndYfjn~R;G?p&Gn zDFI16=_HSYaD;PM!0T2KO2IJ(O8hqX0a_E47lSYm7v;g>2NNt|3`5R-Sm_a;u1-U> z-BPEY^spTr_?n`4xm?#XjFMTscWUKlg|`|vEFX<1#OvWUaUcG1y+^gxKx>=r`yk=Q z5=zOH$`S%j4fXo@Y1;SX!ncz4-Z*Ec!{2U1rr~q^&MCX$>nz1KMs4#dbYmZt2nd76 zQQ8=WBX|9nY?;3TVCEVnaxA03zS~@eu>=c`;Bgt`$6w(qz11onL@XX1Bz5>ND@v#9 zaG1Eed?!pi@sIAJUr1ea_f)6&{=8IZ*kvM!pi#kCIS0nk?2lf>!MG;2SbZ#I6a;UC z#ZHd$!$?uw>|DucGkoCx@pE$DT<7q3Ew1uAYrSMXo!*SDoF_ z3_zXAjzXX}lhi{%R9{K2lH6{iC;64BuJflntE^rNjv$a7D!`qY{Cdym*}oRPH`y{L zjUQGaSh&BmU)n2^!Ry$RzLj0mPSflqwb!}3cj?}K{=S3;tD;uV@TdA40YR(KPC{K6 zc&+W|{k{YvJT6yQ!CiNKD2k_l*H%8Qz9X9Ff;;W>e zm1j>Qtedn(UPBaZFqY#O+~-x^t_zf#b2R@ z$rjV42FW}D<+}_*OeOzCDFO;luu)@dJoq7%TLGi>-t6)JCMTBhi5a``hqXouX~Ea- zbVn%bro!@EN&3QSu#-+>{adgd>5+Sm_KubdBiD0tqiL}aeIAjxTjvJz;$Sghce@pY zR@S9wW3*EiF1wB*TREJU-%HIJJ&YfHf#ORFJS3I#_$EO|7%H=~MQ%Pe_3u*6s?W?n zqgO;RMXByA%*=6H#gkk;9*oj!T&?3LLksVh#j1?@mfPYbMF*o!wuKn?BR_hS6Ck0&z~;EV;xWh0x;P{mr3&RwH{_g+&kA zv5WK{5gvYLrJL_SGm5m$2~kh)B-=$RuCL4%Ip#Te@O^c#7QUD`OX%fc zf)_Exp+82?_=;N9u&xeIBVg`(==+X(1p4cqUN02WsK)0*@`WFHY4*0mw58$Y+N`8f z8)Qb#@^t(>Se33OH!!iewhioPE^B(DqAv6dyw)SGl+CXXid9#G*T@55Lp2ey{uDpA z{tk4ZlE%~P()geU{+-aFfOT_<4wHTq-AhMxFh87ar+O%i{&q94T5RpD@Us`GoB7vF zoQmzH(;D62Gu8rtHA+@0sjL(V^-L-EoW9eTv3&#<);SYDWvgAaTbveU)l25En(oB; zia&9`={=XKzw_T0-RFsX-rFv6nJrl)6dsVTfAy%N?+sF|{EnT2I=YXH(uc>z09&$x zq@w(f;b~K`hC0pH4C->QADRXU^EbCKZR+@}>%cZ3EX-u}&#xm7#{R#d#c zHu~DQ*Hl24GtP$#emMC1>_Hx&-Za`pWH;3TA#OOsW$|!nJL`u}ip{)@>_5s0R5&@0 zi^~qT-d+dEGf@MQEZbsCpOF5wuf((x%t7^W!J=B^pXEz;JDthvePy z4<)AGzpL_KFW$OTk8b71)UYct+mtq)8rXWFG}Tl}J2qUY-fj$P4+{FEkvq^I^3(D7 z<^*67YkBIUtFrzQE{#?Rj8?4NZr^&(YAF#5s(8SH+}fkB%g#2gm_qn9;P zvJUs~%RkZ%Qy{Lq4poL!nVH`8TocShCulE6Jh-lE<7H(?FFG|P+g|hJ!F_b$zK?Z| zwKH{S9oQ#GZLovo5Zbx6ds}R-<^p_oV8~$P_3CD*U%&^^qWs6>j}$<9JZJTrBs((E zqP({|Vc3`&OvAJ0?%DEs$UxDK5UrdL=imur(~&jCHGoeogj|?^`7N}SP32E{m_>J8 zE-C`O+k8oSTj^uQ2%eG+SNAih_KF5f(db|T)*d5XyeR@S*4rXBlW2k-g8{3Rn=tRfq~kaTWo9h))9zwt%e)NoxkA+8ja{GKQFsV zb+6tJ$C;T#86-=n+uxZ=@84Xl-Y8UN4}bC*#wWLMPExlIcQKc^m4x@J-Yo1Vi!Lr4 z;vDngtDB+R{y5GA%J-7OkA9GSZNIrYw|XEl(ANB?(C9pWc%F%`VS4qbAPf4%bGA8x z@$!dKEj`nPtxAzoY;yiqA!p&sqwLk%Z1;nUHk~WW+bG%%^j&fW7C#bMi(_1oq6P#y z!F*ZiQ@I@~#Lnn-HE=)?60Q6B*1e79Is9Cs51(l&LRZRc32eRmti;_wGTNSDzfU~3 zzZ=4=Kic(D6Fr%yxfCh{AE(Xk28{f1W7QMFqd-p!iaExQlX`vrjRxdmR{Va0T;~y% z5iW`qTpBR$@X7AJw04?%G#6F0vCN5(R;^6C_h7H&_|nO;dwQXECy>loLapZ;!eLMdy$T>6YiPxeuO)hk(~-6Ud6T9^b-rk*Bw#*ok>t5ob^GheV(sb0so6zHPO(?T{u-^ zbpTgYlykMpGESuL?UW7)DdYBKt(K#QgLIZN&^4OhP*@ExB`h#bwqMNseBs`*+( zKWbKPWwq(j`O)`%S!8iL!l02z?PLKXsDny7U$`IhoBn1jj_ZT&d@MB?#U1^n`Nr}B zPESdUX3%(Z;gdXo)d+mP=|53h+}<9cFdcV&KG%f(yp{J` z1!%(BuzUh7sNTM{$h1#sDADXn=^^^)ujEiQy<&Ljz?bluX1x5V4YMjc=)LMe~`r>Y~J?)NF!B1({qi^P`FfvsC`yBZD z3pf8~Tc1Bj;I97-ov>`r1$I(Y_+TB{GxG=9h2Y=fI`l04ks=$q>b1(jEdVj|4=j|!D zh!almIZh4G=O?Og5U!y0ky3oT=WP1#XE3?;erpXCdlUDcC+yVJDuMQ#tQjoL7y9Klb7-8mHJk8m?wEt$QW*!}}V z$euttDuCs#-yF$5oWvje zI{)22&{0xj9csvR)W9~i$aVDtCu z#&f~PX2ZKgu1BwtQym)7dZpe$_v{3d+Jvew{&O2D85)#fVcyMUZU0pc+Lh= z@AK)0uXOHT0m3||PnJ!OSS1@$&wC0Tp+iNx(&cFHySzPKEKA*K8uIh3%v@!beRVbox>FZjS8}}?S*R+XBRgjGC3!C-Z@cr4{h ztDBXr#O}O20C0R9)^d9r0(eYV`wj*B6)}r<8OL$mli=MC`7)PbNjyD13EUraki%ce z8U8+CO1#JsdVd+fmRkWqp>p82x4&<{JAi10+54M}>vFD~RDnMpD^#>A7vH<{YV%x8 zc^d`XNih`0G<`k>y$B|yRb$@3uUC9Qh76%UqCdHCZL)pt)p?Jb&iRB27? z-mrxeNSsV?RBK$r*XQM@7imGJ@2aVbqfxWLM)U6iH*-*2NN8XEC~`K2L&|1}0;2RJ z0ki>&9Pio#-IryAB~4KMl~OHly4mNMoV~GkTb%mGh}cDr?rAxQs*ScYBFDNPc0@A*7Emv1c1z?6+0UoNePD6 z1a2{VX?nyC@;#stg_+WdJGdE`XCVrpXt|wn{R~v49yrze3q)B5)uYmW?5&dB0qSIU zIQOGpkm9-6ZcN1+N9kwgz-X|F(JH z8=@D%?iZ>zg`;g1CWV1FXpPE;M-_U5m)eeci}@=kimfiTY?zb3^^PqxSOoQ<_Dy=v z%stZnhhE~0nx`CYL;o<8EG~3$^jvU}R-V=N)5E(F z)fy|$gtIuqpo|_~OEno+?&h{&ZX^Ez;k<3Q@LKC%H0&|ee0|dvVmWclw!?qg=d{vBnN`RL?+!tZtMEpsuAU7!%471U`UnQ7ebzjpR!2Ueq zw)C=E(<3|&(-rx*=+ei!vB6#n#s0qb=C~fL-MJkngaLn)78))wLsZeD^zKstCg(Sc z+V-2X zB#S~#T?MK6_1S0up*CfC?C8KdYR2y6cG%Vp<$2N8vsX^-8YSRDSP_5eEnhbZy`I4- zzKdogR-yv}>yh(9a|}Jnfj{7Dm8{LeJ?OPx^&|McwBlfhoRWar4jVJ9R=BllNuX3c zpM3GJZP1zHBvL<;Gam<^bub5D8@(Q z%l;jQUMyHS@R7Q0YkSE)!aft}aLpU3hY z&Ybgf^<53{YDGPMDeDNg>h+-L?Dl`qe*4RW;7=f8(HlYP^mXooR)1j&V{XP@51PHn z?%v#A7U*i2QkD)1JXiO$_3G$)HR_%eu)|{85$ew`wJGlFH@2nZ+k?QU6FjrgI;+Oz z$nuxEJQGZQRuucyXM5ytJ}?9o*b%#Z=A$I&7PF2YmBies*BfyhQ}RLSOsE0v*mRGu9ECmahBK6LO9Ob%`)YJ7@Ubla))>SM z`fLBKPB%)Wq1eZtv%*Y79PDHxEVCuV7Kd&*jQ;)8a9FvMvYc=f;h_#s%5u z66;Q>wjo#f%w0iUx{5L*SU*7FfWK3tCl0L;?n7JquwU)&%Ddxjq4k@qFAe38+Z);H z8!brIf2|a~--L8&g)Pb5dcA&*eIT*To6XHHHdJTQg6-ixSCCq4KiXEH;d=54$Gh5iBejTFfhmz$LQ{Af1S-!j7I?wcc$-J*Vdgzt24bPs#mitEtd zqIj>Jdsmo6F4~RTB`;jdx4`Cr6S0>c z{0sKS}+Aq}^H(osNd>$(mfNR(7&5FfwbC4{Cr^BlcQ?qp>%G2*t zj!UpfygSC$nV2fKnHf;Kxo#n!&jA2OS!3EN!|_?F>x(3eSBLB}dJG!^cun3-1U%4< zPObM!n;UhtT9j}o`K|OF_9L!O5-U972%YF{?Z!-2b-V~O%>G;xF)$x~^vmRz2H)EI zbjOxqy!8^xO2QqT)$lZ)zBqRQfQIk9!UtHl5binU)j-SnAGqmtsdfemT37x;l`sB2 zmpGMZ+%iMoKye2BK11fcS}%V5?7|gX`?va4NH*GcgU1|SVa7g)7B9DS<#s!3TV3ko z1-JmhMz2j?W#S6Z9nenB;5rRR?{Cu_HtT$jDo;L*-?d6KhxKQ?`#Z48zn*u5!|LI^ z)gKfBGisdqkNh`!my$%(D~vWS1Pa&zVhak<*vw5g9-M~^^W0L?Un!7!+hhio9cHryEOgm@waDs ztggRRX76v-6%BAnrcfCaMSYKl^uWCoOOc?+Q$U0DTgTgpeo$J7Z}fP!6%X32Drgc? ztQ?0V+>(ky_WaambF4Vy#;8)ZuoiY`Hn;Aj_kgOIB=mZ=UeB5p>n~r$2@G>@gX>bO zG>o6LZiqJQYI|pGpcEstUwYw%$-8{sc-N?0=yo85nvlyOsH5?TuuV9*fsoWcvy) znJC+#tPj}lMJ$%J<=_jByEm3ceqAaQk2QVqHBUn$y`#az z!XvXTIVw(5h3br#yV<15!KIJnxS}aSsX&ftxQ*l4n#s8M-Ve=UG0}GOQVe85G5j!0 zt>06tpLOZ5AWSD)-#YAA@X5`Ki$r&={y-bg7Y^0K(gQ?2sJ z_^8wG1awPe&QMKrHOaV*EEAeqZ@+h&e0~I|TY@Ms-kKR<`xodw*-Ge3gd<6F)BpUOPRlzZuW;Uw+;ip?*}mhKYW1+c344~ z#lAWMon01I5ob3mM|R;{aQSN%aSqA)U)xvt^;jQT?mVMXUA>W zUW7=~lbJW0XX+|JLHy<*6L+;b|LcBsbx5T(?mBgSu@Unz1yOho*89Khv(m=RA=%a2 zw;Tj~%@ullEzZd9?OW$VJJ%w0Wf|_qW~)YOnQ$^LlOwkhnbU*ZF9|%;&i3%fG~t7L z9+(&9p9{L2%B%NoxPANnA0}e$fml2zx7tl42Mw=Tc=f-W+o2C9{noptB59ae$$=%+ z{&muSo85Ch?7QE~-nPS?#cXxVbzz zPawrR@G22KzyHY#FurDp*MyFq^0?ESG50w)&YJZu&O4_OR@Tx#ukr(z$z74rN-1L} z!qB_`Q$~#H&2_GbRF%#h_F_p-D6{efDF$hkt4UU__Prd|_cH0ek0=(bxBM+98YD*6 zKHIUh-0|6Pa-M9lCt%R(o6+J~Xu@Br$GIbfeVx-yZs6Nxd%8!7`7jUX+tNG1C)owv zs!`6^%@mzH0cegAzgTM(Sy|>=oP{K#Y)X+s9s;C^ ziZQtCkCXW7wrh*!w<(}`U~iv71r@8~Vl<;<>4tZ5`OT^KP#3kU>wyLn0b|T)U4^VC zK$>TJoS*yPx0pea<^b>z*Z> zaR+>l>sSo9^yizMiFPQ@eGRypfZ@BXltln;X1BMP7beTWPX8Vw=#2;SFxTJY5f{Ep zx#Qtf?GT6!9}~IssBTvJ5t=3#r-`U>HRqHDRgzr=V-*95m?M_{<3tQ{Na6$--PRr< zl0PmDadY|#Nf^ngbUH202Q3uUh6D9mVcEV&9j!DwR&Vv~^7ZXE zX_tICmtwU}J~yre%j5Jj1Y0P!}n-UU*35s(`1(5>3_7w{sOTc2v8BG$;I>w?h0-c@amPguP$IZ7?cu(;4EucalYqeBq6uWU>zQ&F)?5!xz~U%3(QRDXr`?N+=$hd>aX|h z1_;?&x13dQY+Ogsznc4FD)3C6LCaekX%NAH*n{k~oK@@4a_n63S~cBQvZ|1;&4RYq zQ23~ReR3xSiTkCpL4(1itVOgks^+WtO10rk+g^p5S>b61B|+cD=(vKN7&V-$Tkyh( z)JbSvv=7^oq`u)DsYwMlqDkSZRJAIy6&j^|zd? zvy!Nu+J)|q4m(hUocEo()n4~-1B8X5eYkI7QzsHtsi^&|M{PS86z(mV$|c8!I3?Rr ze=r!n*)>cTpVsB?)*siZe;~Bz5PfWhP&4?cn^~69`oweMHf9`N(`OXx*H_UndJDB7 zYPWY^^Lw^mpY0IxQNy#Om3HY>YVv?){tU^(wsu`|^Sx5~EP+FEKvusxNYUfVr!MdJ z3J7`Idu;cEHubuN?aznL54)du4tk^r*y7TSdsT$W7QASUzb1tmovBfn-R|1^`FD@h zQCLb6L2PHaPoI3DL@sakzcD;vnCEI0u9pRSFvmWE&`|UH06hXr?*ZPS@;2G#w5sp` z9LQd~%x0XuY2b_2{e9;Uu*?9h=-l#ZNQmxeeH)BW-(yM?cbOGK+3G~=S6MIj;9I%x zbq;9_OD~kAcJ$Zw3k@OH`u;KP6*^iim-GMn)N>G2q^vW!fiksNc~xmM(mrQ*nbv=+ zf%dx{rN%&Hs9Se-UN#*Foa^iE_=ei2?{eOq{ec26(kR(pY!BP%rqTK`^LYLv`6bEK zPW6xi0;a6N+_6;hlj1y8SG?qzGI;H?w8u5 zF8^V}TaeKC)PlPh8`eI(G1Q>Ae-z`0wKAn=HSv{`_gT9cEpa9umiC2%y+VDN#g zdz?)MVQKZDz@sE_w@M0^8|BzU>0{#!ID$$mt?rM+vi3|Wk+M04uz7#w{TtNdxo^LP zR9ZU|>R039ACoMfk5hacJ*_ODX|<@?CMxFPWb+tuy8H<TsmWd*iQIv z!eWQpU~koNsK#n~GMOz)X}{0BOQ6Z=b+r{Ort_@6!Qd+o*N>8HlLh z>_TSCvuz~Vl}YaYOcEgFF#iinltJk$a-r96`;c1DmD#c0p7L0f91t00(DRd|HYziz z{jroZcCKKw;d3*~Vw(DAYJk2(uNvq~5zk~Q!!%yMk2+KFWgdXA`bw#G^Ps{NsdkxH zMsD;oG}q{3De>1RB0cUHUWKO`=T8!e~vHiQ>JT&S{E7UHG zbhzEDjx{`l`#uF(Cef9jl(ikUdqHuh!W(v*fo*qo;xWZli-$tfx}GPF0B!2=$T}5_ z#lKzK6{%cuw;VV?BE2uQ;`t6}#daGQa+1^aLMdz>bafotoWZHG;cmHdeaEhU$ zPW2tl)zG5d)?c#l`n@X-SH)aIUUxiMAH8~Yckc-JmKzkGIZ0yX&sMw7>2bY|N)4xu z*H>|SpZoA33m6P;@=2ZW>Pg8{z^$T;3`b))L=E6 z#gF65rgH%V=O5H~eH%`O&^a0Y$*XXAGjAJo4AhRz`P{dLCGMHdX_d4Lk(trYz9hD~ zdkk`T5&eOwuZiYvY;V1;hq%pc6)0QBP=3By#fFs)xBKH(EVjqDXzCxEm*_<{M|iN# zsh45xa=9RU3(B`9efxOLi$5Lt)H!ys0`BDvY_Yk66FjYv+797-A=*Ly+r?()XNBZj z7ZT*6>%z5Q!3V>if7Hu6^7yGD{e?+m8I??qLh}n1Ik!K49pV$`uiyP0?OBlb;9x(C z_by>x$nNe3UGDTxRad@+<{G*p*15>Q{UP(~vb3=r^+tx_ zN{^uFDSuD%T6K^2dggmj+N5^#Nc9`<=46i~C1aB(?jF&PYqD@W01Nv1yH>Anq(LC*OAAp{}hXgtbiyjW*JmPw(0I#2@Ef z1NdY2uqO?rrt<}>!v21`lv}?_{o$AeilPzieDF%S!D5a15VzakZWvBr(p+;;a~rz= zE=B9YATzf+spa+OaLG|Cnpd{!-{L6-2~6!tqyf6P8__x~Q9x8E%`gktF{M`HCp z%Pr*t=)%QS-ak)aHttr&ppFRQLIXsF`^%>)K-$PXk;VCkx)>M#{5Tku6noalHSyE? zRXc&8nBo*NYq#5hz*uFcbH+%gQ|)K$Tx!brB42D57WGL^)QZ5Pe)S?ys!UC^V0;?0 zcAT}%Us^(#*}c{tj=selOTgMELcHQZ50L<-NM zhcrRlGoY3+Rk`h0bIdNSn_Q~J?fU~}MrlTGiew?&C1~$-+{Mcs zPyDr)P7QsLfVR@a&VV`GUOSeASyE02oXfCNxDq-22cI(8apzOmVOu#Pb?7lq6WL#Xr+iAJX!GsVJ4nvT9U^zCwJ|CCORl{PMZAdi8 zSOgLmd0!L)Dc7K5Q)m_67Y;>6)zQFNtU4oq{oKppmMFu#tY@y((qkF+VUOHmFou+F zjfdmbLD5_xdijpZLQ+;0XcmQAUilg7w&?}8*gbX*qrb zYP(H=`ka5i=?J$`HDdBgtH^`Z1VMi|Y~N~eo_2dDd&==ZF&MOZA5O1{c{^(ldr9q9 zZFZc5>xr$-bS)N+_@@o>p{iX~3!mBGK(*E*`78aspnluxz=_S5I+%EG8s-q<{~kNk zr?nHDFahn~|C9p%yLp?aylv2zFbyZ+SQ!kHpQ-ShpNFGaZfg-Crq5?Yvnb5xrEsc)bISDZ;sBFJK09$rv|^vb>0#`?GOSHuS7j*!CHRQ zDL`cAt@he7ZZV6SzfJR249-3JGf_Ok?eTA+H@ckb=l-Ib6`IDa;9hwRO2`=B+qlks4;)ycQB?q&nq4TkFqk@32VCjzy|z9#W4)PU=2^R_Epyg zcd0)+Y+JVz6jx}|Bb38FGhnfh6m|ZZ%)yULW;6To=(dVioSj##mz#c;H=_Po(g!yXg2b7`U?szMjmU>Ucf15I4J}OUf(0ABFCoEBpsXHmoh$#D>8NvA67~O$htPae@hp`{WFLvI=*IiheeJ-0#*KrX) z6lz6kXHQM2SaasPDbUQ1-&WLZabM{hymcOdnYMZwwRt?-5Wk0k3lf*sd;4X?(Z16iNfmDwAwUv! zs*AyA=e$(9E?WV0>T+TaoDuOl+qnHzLe<}sM*nZsFSa{W6K>=w-OWNmbFRgBogd?? zeSW+@W<9}%j7*@RYC-i~UT_D!?my1jHhPjn@|1_@Mqrw}*H2T%J9hG?{!dl-Ev8^& zC>0M&oxbq>#+_O;%ky>a0sEJVk`@}5NaLh?7rzFV`=Hf2zd->Pzfx(Y-EiSoT*;-? z->^MX_9tkfCKqG88DPWjcs$0`5#7I*<{RGkFE3A@oUPq{$PNP`oC=pmXABLC22+Kq zrZb_d-jNdC2KU5mJ+7p?dDIo^!+dkOKdVK?mU?R`d`q4_*bpay{Wi5L>mBM3{Ua>6 zlhCPIxlccw+#%SbKVUK|bkW?M%s=MNYMQHeLDgAXC`W<&G%kyLulIM+^0>X~*%CT3 zK6xxC7B6`tgr(4_Wv<*C*$q3;yU>LlMQx1M~XPBL+=b>5cv=`TAhGb+clDC8Wx z)gIPjtc&lwCGPwdc8c=x5fCt7`0_i-&}!O&dBySUU#AdW_@!PX&;Yus)jYr z!Krco4UkSlxpe9GK|C78K7OqN|id)>Q3;UPWQ)@uX#%p!a{hR80j&n)Zt^3j& zj3Ue0zkdB1YeHh6cS#+4(EpRAz_GST;ro#C(_=ahn3TL?yYTOQd%ktF0GOiqwk=54 z^Z!Q!7^FaMk4ELbE}(lw24 zV{LK-fMmB{j607L-#OknUVneMN%{DW&%!ME`|`bSrPFJ&HVbImK4=x-@oy6!Q1C?6 zW{zC+fQgZ7@{HKu4aJ4o*v9ak8*Qc_DJrMyy~B1iXyLd{h9aM9QK-FANUJ2b3$ni> z*3V;Y^y#+l3(b~pg=``AhkD2SfFc42$QQJE5>Mmb#%S`{cQ~;1YaqK?>MfhJ%)4#W z*dO=X3YsbMMkvOwW$jmob`{|4WX8Ufzl=@%9z+f{VJLEbz2qJXK=SP{+^!3~1uep- z^oxY~$U8l$RPC0>Q_diRHS)RaE!&;`>92h0E&Z{P)R#9q#@!YVxoM+RS5tYo>(lk! z5*34JU+>Tcg!7@sCTJL4%DWePWe8S6mnR(0JG1|D%jQmnq(eq}w`BxLvhgiH=~7&O zMb9CjN@tPY-yr_n$aHt%xWjd8ntz|U-z0mRe6?MMU9kWWn3sptNauWmgLrwHFE-0= z4x2faZ#!d_Q$eW$LZ~sj-;^HPiAvvve0z^iVhzQHIfKwD(!uOP36*25csdx#tTpJe z_b+Va%8z++R2XY-?%$oF=FYD-#&yKMd*^S!`k}my}~OLb+;2pSQDFtxIRulH1D@R1J%33 z%4LlJ6g`t<*le`w-oK=*mK4#mdAVEsr1zn`rGf{etTVQuIX*`-rQUIX+J1S2U1rysn<4dDItS+FzU;1y4 z+y3!IY!>$CJ%aLo`s>!XWh1N>^8Ex=`1^gUWUD%HreB@v(EhAerqzVz=wz+2a|86gp}(IDe8Nq}Goi zqqK6%e?6+X!_ZTNt(u)<{(Fg#^|S?@1>NMXH|CQwhA%o%KK)Jg;-F{1_RO255XY6@ zVdG>=c|3Fr%7tliuE*9j_(Je+5Vzy}0^KP4UHdi}=NR++e7+YZeC17cWh}@-^j`Nj z`Gror(Dsfp`mC$V>jYX7&)xi>-g;c*6PmCGGTeq81sUXwHhCi1tDX#t zXt)dFO2wS7cbOA>ca&0o@)PJE3aVB|L&e9PCnHk11@uK zsCYR3HWbCMS*DtUbBuG;UCZx-P2_E9!8@Y#>t7_GpLsVs^;e$1TQ;4@cwgn^=NKtv znh+$WNBzCG!RIpMAJT+0T=g z)1#huHQqLy`b|&^^qcgnI$M<<`!x4F>XS9~8KLd@s_+I?`cZil8v{~Lf@i*Re@AqA zdDI}T_Qo$1>;U`0+>$)Cwbgn|Ephnu$4^XQ>&~LF+jV+>f0f^Q%sI0w6&pHgY(=>g zu=Ahqxj+$F%%wlL=;}(J#9CN9-GTc~|$W4&_!R)iQX-PfBbF ziPdp-QVPMsN|^&4-fKq4SJkA}9kV>|-GB0jXk6r)5B~j<+Y>sN0%WQ3V^kZOtBFWe z8?QY^{$gxbL|u^`$ThNcYlwTLVf|!tnPJwwEn#G~$vx;YDm|uJb9a@0P}#@f_L**A;`nLgds~3bSJ1;-J*3t9 z@0;ej*nR3eg7U7sDsgUm{p?N%4ni8wV=!^-z4$r-Hsx1uJq_)X-e?})7oh4B8xU+k z__)PG+VGR1oc+hDEwawA^?Q9T=Wh@UgYe;0&doeEBL_sS_w*z8FW4u)RlwW_!(ft; ztE~P~0HVk5eYaB@lQ{M;df#IuU%5V^f&t-bClw<27vY{#(%+ zk0PT7jo`S&Zz@Y70-r(@=k<2tY63%YwW+U5h&vg{?k0RB97iwmL76{tiT+ahk7D|| zvf^@t@cAnymTqubA{Xa4WDX$a%0C8-w3{J04?UgINq_Pq)}MZRlt&;Hu5qBh-w^8z ztEWzvmanzX(G5(kOf9bg)UmnK>bZ})GmM}SiI6|t9DaQ&*XFaSBZdDHcs^Ox4fM-` z53QvE6{gVU#}hmM2&#xP!7}0Vrp<4KmdyxQ6Usqwp3ILst~~ge8!E7$no22Tx&5>~ zE#C0hF!@sT)om~K$?ucWmGen79-MvmsHy-QvPO8ONJMpNMWlqKgchUF+ zu;Jz2pR|4(s;2XKlxxI`A@F|dw`;!lYIWe99-{QYM;r$T$?Y!vT=dCgT5j2L(W&Im zt1Hfj)hK(~kGR+Wv>#=W*~PGkps^B&tywP>m7uG}_BrT^Vtk-)r0y522CrhwIq*jrd8OCnB3-&dm0N}MC{wWI=_D^6L~Srj zz4If=9tWSn2_l|r&NjEd9iwPunp52=&Fe`83|Jx$q3D!Y4aHjAH1?4qT+ zCdnSmyN7^Zg`K1;PsJ}Q+Q2p|Lv5KRnC{)H_1*&qrN8_BmJ2ujTB|>Bnd_`lZ^z=% z`D#2ydlC|SHgh7TzQlGUYpX2|#;7W7wTeIbd52fI11uR3W&1-b?JWzY_;_D?AzGH< zyX0LzZ=7yG;)72Bmy!DM1BI@AJcO9PLBXQ?#7B6T`)jxmz9T}d`C z*JBCNbW z+dEY0W_UV#$Ps>ha@i3hJ+t-l`2JYavO^yie<$~RUk+FM@C}NfCZwEy3Z$Da)5E-w zF5=3j;RTC+m0fl%bu8RWY~uFf=ONl1a%Azso(VsM>~FPZ)@zD4Q^3auX%I7J@}V=_ zC-{eVEVVQ_1)qx1xzK;d@Ym7*+}vU~XAK4Bpc=S<56e%!=9BZup8>qp$=T=)#4NOS zlea1zURjTqZyl37UJidZ5=7gtI&2f3`P-(K?WZ=S*3{oft#vBw4X(0yQfd63gxM!B zVE(PJzYqowK)knGz){OGuGGe6Vt?R|lEQW}q_e;Ct3{e1ThwcZ#r#{Ztk>nLYI37Vv#hWFF*ISCN->TMxHGxX2L=WFKLX|euOt0YJZj?1~~ z)6H}HK`NsdGVP-}0W1F1t}z|Je{feQ^}Ve-08B~vTzSWiQR@h zhH8G&G*4eY{JR0RPEmkbqvXNM#y0|i;bo&I5Vy|Fyirkokw$w&m@tK)Ree=^-WPn!n)T0&X_{^5X|>5?P2uud_O!)AALVy z+%7#NV-+yZ*M?Isx_f4Huf8%2yiwB`N`e)Py3{u71tvaspvp6y8PCMf-n#Wosogn0v2OpK|wi&j#IxRvs~(2RBSBtH)7qT4g{t zl2&if(Uz!jtPL%#hd>_G;Xa+i(tOMt3PA~WXl2h`r;_!DXX{tc5>UT?{_56IH&P0^ zq^!+wN@TXMQWPxk!S(AQK?B;VO6$^uB=GZR{Wp9DU-|wC zw_CN1)a1@!9xe8>i$k;!$Pf*~>n=I^eUP9=Be?f*d7GOmj&d(ItB%_0w}De#5P#B^ zt;;^Y2Y#;jZPYm1@}DRyrTg`JP_;i76q5CPrtiMat{rU*69pl|_ye z>ltH-woSti&6tnLq#ac?_Xi>4f} z2;1AUeebl_?Zxf3fRL+G+x8ojc?TKf6_im-q4%vxmu{|rD7{D+{AUkNDcdv2Mfuea zL1w^OKC1S>M`dU3W*SF9wb~nD)%{7~(avzKIpV_wO5Abql9T8i1L;JB@U1%EwY|p6 zx7G6EMo`1e+44p;9mJd6RTXaJIM#|=CJ>`w@Wi|4Nj=EE=y;lYZNWar3^s#nb?4I% z*|^`r##K*}qEQs{zvr@Fl3vc-IyN3Ga@N}g@jPeTT=`n_cPZ5Lv&1{;pX;73>u@83 z6JTOe&9Ma07x5kRAYTQ~9n$x@LXaQxbxghcA%82|WpyxnE%3uy%cdpebnNnnS2@Ql zAJ9rOoxfIderN9%%~;R!am#lNt>j`@F*4@!I`l6SkzSy??AfCXKs5-&*qU<{DjEzn zztUhX5!jS4w285bANOraJ#=yu{^cv3%6u%XTATYD+6 zT*d^ma_;$B>F>W9>erd~8-KSk@_wQbcI%zTZ~O;wBit#UxGVpu_cm-a&gfR3 z`Kw$^=d#8-jwy8NhG49^< z#zD4cRmPpNJx;pq(zbiN-b6+Ra8Z$7*LE~fZd2z$c{d{g2HFab!E9BBm+z?0mgcpT zjhG?Zulz0B_6j`p)jUL~lY=MF(q*~Wzz&M7*G9Po4^V5SkEacmx_Tp&G1$4W5 z4U6uW#>!?3W>s?xmV)KxD7+3lSBi~!Zvj7im|p;+ePnibO|&LuZsm%TbUMn1PS>j$ zu(7HPa^K>;F|#=o)a1)a_PIxL_&${zq%y;I-Rvc*-}P@t7G2tDH{`B~!GZ}3a0i)t z#OK$}$ad@9q$^*3!w@T?63_l z+vU|{uQ0!<+wKoe7+sviO6T_a2ABB}8)4iqcR#h=mGsPh^mV8`Tsq4?g%;aVfMT}5 zty}GlUWU_Wv{`qp(PNObx)8uH(%z@RK*ATuSZX3Yfk~uBRG-?{_}c-O4LU2%)p40X zAKm``0=E4_q1|c7OrJ>;Rj8n*Z*=BnVp&ppVyC4R`%{_H&mXAzPQqZbDK@Wqn1G_O_?T>st=`yLk0ZFIYD+#^ z&hSoM&NT*?C*)}SIwHI4^_7{AG^@w*;ageSSSe@}3ya5Q|84laacdI~jq$l!ex7gI z@whL*`_e+tqg$iC82vmu1Gtpg2ZD#^Y3p4W z22qy&D&jQ!{3bYXsiMZ(@42;SO9ppFuP9*GX>BlXAJZ{Z7l%_H`8_W4+a+bC*jmrJ zZRRBze=ZM0fq>%Blz-;{+cFk zbKk+P+T^>^6aSlTw!m@fduj~>8AsbL?P~W!<80)6*xw$5eI#~yO-+4D-GUOR2iMAJ zJFDfqdwxU}cRo8VB`#m)W?s3M3`V3y^^~skN#5J(?j`e268&CFM0HQ3lcY{{CevGV z>rY+J13uU4@pvW9-cdtAKM&3Z+Y^yotr(z)dWERP*{ zxpljXOlB>pV9z?b;`-cdGBem;Hl}?v4o~&r{>ww+j~&hGYjz_pOYicvH7cwY+i^jg zRPbNHeiw@4eD0d!lcS}FEkR|NlHktoFv|h%cHF(w`IkH&nfQOIhV*$~M(o`^i5$vp zJs9~F@<@sQhyRgmrfy@lmM4S))s}5IHxx(Hk zO^tLop(>f>Qkz1H-FyO4 zSrDvmRKiCc+?(Qn74QBj5UmHn<=OcewrbuegI?^q1+nR0%WWQ2>A5J}!wBg=Jvds{ z@-*hL!Va44<|nE$=O6xRtuMpf??C^y_%>C*Rqb_#KwO{W>|_&qWSu(vUEN=~y-Taq>Wpnl$YhA$Uf%AHj!yfYt&g9;-Ur7$JG+16v zYdf`&9`KB|PpE`H&4!(skt3X**$@QP!8QFe7l3!%e-C{aZ&G`s3A>uU_bnVZz19s; z)8W{}e~z+$-(cy@21A|hYsLV6mrExqHMkH0PZs(TtDrV$^(tPVZ zu2Q8gt^V=Q+1`#0YG@hggFs6byoL9!^jfG8*`pV+07M5(alr^5b3&xm+hH;U6)#ju zh*%;;r>8-w`C(_WU+8d_X+l(CXtt%TXfN68V{uKV$6f$L{`&Yi8)Liuvx8Cj+2MtU zcx=gurkVMkx z5RgLT9G{Jzax0gU%wAsFX}9!}_9v`xE9Skrm5BJHT-b#0nsE-%pjuqL!K}Y(1I3SB z_hl7(vu2K+!u=A%!&FI=NTgB@pUzUIDH7RA|0_#x`dYr^9JLprcRZ1E(;MSWTk8sy zxrs45MU$kx!>6Z2nhC$`GBd9W;-XWFT{M;BKZvw?Nabr|Esm%ve2S~5J!KpX2tSWA zA6X(o4e8JcUAaeS0aB#f(^dVxZKa<^WYZZ-STlwKH zqk{VUxoOnXpr=ISYqIvE$=#|{tN3nl)~cg6v>kq)>+6ehL3`=(?HLT6KlM|)fCe5+ zu0Q%7yYuy+${E~xrhHdSqOFYmGQi%OAn$2|A0?#6!T#cH`S^yutN|78uI31GgY(b1 zTHE*QA5w-t&ZUYFPfh%-OUk-vH23=3f9`kxU7Ufd9E(IP9|#Tdept_L4-~oi&zu`y zR+F*=HjiWQdTtrM3J%Is6|c$fdHRVQTX2XK7c;=h-)!R~?DMP9fk1YVYY$2cX+7Df z&P{J&tr&>leoCuzF->ZhM;dNAfFFe=WtN`mqijV&P$C(Rdi>Sx27fQ*vIrNy)+^sK z8^2OE>x5hhB649|9YRCfRon^hAO5oCs$*oa%2g5zQNP)&o(C0la6&J)ylYzsAHCXsf`gjZ*s4jlZ5NO()!BobbNGhXTCAc<4(D9 zFT)FPq7`>Q8ri}?>XT4ZXYjt1iZ@EFoTg~@;&cI0(9#9`y*>6rQB$m5qj?OnlZT>* zjN!5uW|Wt!H2hs~TzW%v+{$c?Ps5hKX#URfOkk5VBW5gom*+M4OU8CMyUFk=FuBKz z0BNtRGUm|*%`=A9J|x%Gd@U|rIzw|J`uHUT=Ek za^!n%&U(N9b`$mraC=~Ue7RQD`Ek`z9&TigF170&bLcleWR>m%T%@$fR)1dMLw1%t z&7G1TR=jm&_B&;a5Ptgi1piPe-F7CQ*Q+R-g-N$hTbfj*R*T;=F%tMX!{%-*S6)JH znT~EeY(<|{aVuURAcDv?n;P@hrD~3`P35cP=C9ndT*VvcD>naheUXN1cBCB=K3`#Wc;1s`A*zyp-fYiG=iGiy5y&6B{}DPPs=WU=g3tJVpIsNp8(ABRXRvM6 zL)fe!c4O+#_TPL<_kX<%s&Rh`0nDw8%BFE`E*zHPfgXtuTPllFrAJSVPD!pinp}%jviWMe$t89#+mrhXsVf-EVV6YdD2mik}A!(AA z;$ypQClMmaLb~h@dJ53w1T`uzpck6G0F`vu&12*Ae{I``uoInjWOWxRPrLu_UwxRC zjpMVZE#CB|Q-qZfkskF?b3BH?U53Pe0?c91<8*|qpf~8?PP9gskq)zJyOIZ|{MtGb zvA3I4t2qJjeiVwD`e z;TdhH`N0HP!Evj6c+uX7xoxs&h8`eWTT^Qm2E5c#JAsKiwe+>aW~y|@-lYc zsnnhF!tB`Hs>n6~$u#6@|EbmqUV&+}>_a`I)&`{~JU}bK|K;Ipc=0Jq8SvRW?j@`T z02>P;hY@h~&HXvdlS|!c(;709OYe0?N2uuk8T?XQe7mp@VqS108Pc&-Shuot$@kMl zSQh2`9Lq9@4=ts3@s}i7L#5tHvzPj0vNG4Zed)8I>jYj42oQ`zi!3j(=C znc9t+&c$4kN$2gJfb_mckAfft6N6_=@SI`K7dcx^;Y}#SgWLJCh6=uYsaA{TQjG04 z6fF(EGm^&EU4(1pLq`1MLvC}FqM<`Ly-HhOagz~7T#A!qF4o=J(ZybTA@RG~IjQY?|F7DL_EvOX4z5@$jp=qP zC|8{P<*+h_e?`x(?h4vw(U5_;Gxm+7vVmQ)H8q%)%kb8@r4AYEDiE%RDq$j$)}pC7V2< zj$|Fqc<}5E9ZRQ~HYD?|0H*S@mBhNGrr()Z+6wtMtV#+p)%fbz7F;$fP8*X_%paFq zO0SsiSfw?9zO1y)+0R0Q>h}UAS8rjA2Xp&PwO@JFsFq1sb$1Uh5=iZ}(1opYw;;Q9 z?eu(y3@=HOLH5R5YPZ2WsU6Juf%%p;S+nxfP9E92Il}aoux%7`dH$&MlS)nX%gP^r zgsJE0zEx@4>BF~WKs>|!HT(4l>>`GIcCYGoXFGE<8Ts1%yTB{U8!zovPoc?wp|(V+ z=aRLt_T)Gdpky<9pi)HnPJpVixjGQ>u! znV_^!^e!vg>63c@iuY!v=Cx5<^pZT#V(aNoHabdB_H1p|S;Ss@0S$Cebh>-$X~88(fb;Y)^O z3e7Vg`#;$4C&K+a@u$R$tXAi(JXH1fQ>T-A&iQ?dr8$4G9|GO{# z7m8MH9$i)7g0Sw!!JF7tto*E)Ebxm6LqHrZ*6cFu^4yj<`!K zl$Kbj*ZO^*eEmNDzNAkFc~#E<1m4>~;KaH11cY8eSY(#_GMv6>;$yBROg)Mm!;MUz z{F>U*jIz71CCV8QWdQZsP65rLi|p@TX|g%CXZ9_ zp*Xu$Day}o{Y&`gbYlzz7)}a@wIuvii^Lqh%bCo*M>xseh4IwC!0s^mdOaI>G8TTW zYJ-^l_Wt&8L3f7-A&4woZ;pT9N0*|&Fc$=;_B6id_1aC19h@IqY(QkhubWGb0GGib zYpe96bzl$1(qwVyUu7~HHG9l@+U2|LMsBl?5J7vOLsM z+Ai=1ZI_Ws+4r7Nu1vcWpB-kqg^);6o%sys_O4*pV`#XRb*TD`#pp!q?m%h%)v2yH zg#;<~WO+cGB~HtoF5<x3uo&&U`Pt>zAFeiRfs2A!2;yn?V*5^On8h)9^-S+1+ z%{QG#KM_oueqo`|qeZ3yCx5rXyF0bbZ}0YfSbQm5toDR83P*_pJJS_u9V?a=BV%(S+&EE}0?}iT-lOiVY52tZ&6(WLS7M$ug*I>m}7P zYCYZt^j<6uQ zNfA<&50(;K$A@__WCL$Ns>Bg8)Q91`4V^_#z>XhMLN?=ES^hSzhq7jM?VCh#%;V!7 zz4ssvQRRKS0>0taj5_whD0%6=Y~ZGkENMSY@U1JT+fJQkbjJsPrd8Na{Qijv(Ou80-tUy~s z^_hZ=5{b|)xp6>){oasCyf?12uWe?Ty^$BYSt*#@TmQ4tLdYLHnT%cD;#0I!qvwU+ zd4#%{x-#a=KsfFqNF>>xl@9vR_wVIVT=QBZ+*O~Yun?Bejqs2P>+vBs-eje8u3xr# zNv(>Sc;Z6wOen2f=)re^G?A7HE`ZhDGV^WYa_UF^pnWTNr34@bM0MIs(cnd{QUfdJ zCM|Kp5-=ZoHJZ|s z;)eUb)0t5dNbPCcq+*FBQ~uS~2q38XbF?(%U#_>KBvqEeFs$T{6^|`H^uy@TTWl{| zZxvSo<90qP-k$x^!5KNa^%T1ye|IE-XAIDIaT-ucG3-wnfSw2 zfUySuUlZ##M(g0*2#VUIx@)<3!7EG-{%TNp>FYjwzk2bWCX?#>PEWoIzp|YUHPPg> zTJr_>{^~41rbOL4rNVK3PzbkFN}4q{`?|@er>OUP{m!kXE$DWjAZDI_^O1tQi7qiI zEse?EDX^VdgM$)QI)McY&d%A(dM6fFG|xh2eT=jHaIk#Oyz`cRiPU?>vx!}V?|2g82=V%qV zq{3k+u&A^250X*7stZWweYO(okLN}!bk2|aVl>N_k#R4m*6iK-3@T1N4|gSXoahe9 zzvX&K)2&VVm_9uMZ?y0EUx3@w(JG!@J(l(sxvp}ZV}P=9&kqZjyTtDu_kL8sf52>= zUs0Mfz+mlB>4Mtv(BCkBb+E9tUPEgFJHBTJA@^rwgN=&{e~N2l5iC32wryx(=K$bY z?Rws0&i7lpbNTy-G*|sAWZFNdx$!dA->AaFOhQ7M?#djs0g1cJ&#RXdj6_>Z z(VuG%&SdjxjV?tsHwIkWc;GqZalQ1IhIxbRwH>0zI(U#ERjRZ2cbm_Ov^{Vf(h_?uglT z(W?XyCD1Cvp4-Yvo1nD5()EdRC65J&R;^#?%DY-avhMg-EM(aXk1_AZ{r77LBerZqs84Ve0AFM?Tc%I%ojSc)6nk;HGug)84)Bip6*T z6xROdy;|R8F*GZT4hx0&z~;{Wg$4gz-5Gky=$$q4pZfTCB~>b^T+yeE(g`g3(`$2l z9CaYGmWS1KdKV7bX6MZ2g^C_#Sli;B+N&>!PvZ8UUj_Thi>dmMTEebROmc5gG@3ojk`o>w3T~y!;)(3H$+9D;-1Ym zi=`&J79@H9@JmDaeV7z0sCsQrb|wXnNpEURDIj0qFHP~6W0_qc5921Uw>;|Y=Q4luGkhpbZ?L-UxWj=a zP+WWmCs(yGsLfd}g|J$Wtckq+-&X5oh+AwQ&9FY!YtYyP#Ih0JkN$SLnRc;Cxik^f zZwae+a&#!5f7Q7xUe{@Q~g+Kc3|t~F#Sp=z)-ddAUJ~VRU8IP3w-#3e`BKFFhm{6 zYq_G*u0;kIHIb-33qHnE*O&^i_oM!bZ#c)q39ucx=J0zJQlE5hGtD zNZ$H2`n@_9z??PVmP&wrV)AuMZl)E${lYY`%Y6HLUJZPnXqqHc{dL)pqo?2U2Ko@( z7w`ATQ;~P4Ks{gSV}{mzrgn%Ia$Z3@STS#G8@$GiQS@&qxB~ug<5Ka9Q5ZJxhTnMTbfWKkIy|(X=+)uge=eEHTm8 z;a>GQ^+b(3qw@P#v$m>|XSzAICg;<49*V2imP8e=?9YL`Mo!C+p}O8%d1D#du1_mx ziyl84mu>Pc`Cut_p-yhSY#k7-VUEuAE!?r>^WY0pFvx^Mn$foof)j}&|50?V?WVF( z6#gwGL{f-SQHdfQROA>HITIHDf6x8>z20R@&od8W+~e7x>-YZUb>7H@;p>h}M6p1M z%>e&Ru}yO8rU*h!ljUrVlM8RWNpZx;wtRcUl=E9=2=Bf#S6{}HG+nr*aWSfNR^XD! z3rfiUO)I@sgDH#=h|^Lox6ks+ZOf%q$vok`I5!#72{WeZ^qKBBhZgq&*IeaY*Cojy zNpY35H>Ms9!WWgo(`Oo+?g$!|3Q-%^i+^T%N3yBbLhfi^0-Bv)*xhm?G$L}45&E8I{l6;sBc)&ZXP)E7EJNTTq2uFAZAN^2!12dizROCNX}EwtLRWTr4jGrNS7kzYGhYH+`tw7LTH-WbM?KsTKoKg3X?{?p;ul&+zJzZ^1^Ui=xYS)K;I^C^!#S zP$?;gBHmO-om^`4$|56%&!7EjISGsOtNH5Q$jg?$HgsL;E*-0GT42!Dr$-AseWkx> zwBjveh>ZKdJAF>))#Fj*D#@#OAhVBC9y8nAp{_O~_QRVU zok_2x{E6WyE*>jQ|5_g)|D&%^{hj))-l#rpuGq^W6V)03$hM@b@ORLM7>U=sf~4*8 zHJ0yutoXy?kE|F@W4>A%*?t#{hvcek_hMnR^r z;TrD-m!{v-2J3k+|JLs?Jp@%9n3DB7k-`^LZgPy!<>V1i!J}CTLca>ZTFbAF^WHjr zj5G3eq3zXcd)dJL7*76g?V$BMM2T`KQ5dL~v;UmmVo(7874tUXoQWx}E+G)H8{NfWIk*%cltEFeJqO{o4S3U$ zF8r0-`y09PQl$?05habXDX|%UMESSr9sUM`lS_B-Y9gkx=y?HI{eIe?%9WdmTI@!OtT?t;*I+5#kiW*Evq-GnqSgF=RF}YKdAQLEU zmEAj8rPI3zsW<_Ra6f65fL-U>J?hO4Tn=p0Y$ge#g@T-t7jc z8hCH?(~P4UNfp9P!4hp%wlv`zpuo`Da?4`uY$0@toM%xM;4@*|xyt zrHbc=jCpT4>BZ9azM>WdSiw^|Cp8OO|Zqw)f`j$8-q!ASqdbwv^T_i@okKi6SM2RMzZ3T+Q?}= zkt)*@*CuOm_epmji>r0{2KQ4#ZfBhjC{^NVIrwsxb;GP_MR%N2*Q;4drOFiS=Z$+D zeFp+2a?Vma*C0~<<80NwktNSUxLp}yyHQps*kVUxU0;?vt)84CeMd6(#xUjNT776; ztIIO%UsA{Ez%nn+KgWZ`!zCXPrj&akR~)ty8JLNMuyh$&@jfRC+0%O+u}h}C>gsF^ zm;LaU&MVpX7~CL8-9wwQb4+#z`U~153E6Ya)+JhedJfDkrcAEU3EXXQjw_o^#j1Ud z4QB}_1n3}ODct|&0(jt# zHTb}{i?MSX;r@xb-rotP*39{<9{hdIRxI*bghj=2gJ6Zc(E6-h9J~KLV1)9`=dd>f zLtN`C2H-aUJ{~N3)Ii?+h>q}Gd=C10F&ew`4|Cpigy(M8j$DGK`w9_m?FdfGI4kxx z(bYPV6mGpAJBXw&nE8I^zN)6WHAjBwD*ydsEtw52vqf9H==rx$%dkgVS&V9r0$@x9 zf2lt1r3O06l_s}FvX_&>cJyc7hpOByLo6fAE~X9#wfvfPGbdrsZT~DA~IT%iN+Zq}CX7;51 zH(5~)0DD8Fv}KuRyEi_oixW`KU(#9pln<~$Db(0I0~zYQLIF)7KxK1OncCnGog4EM7ySpwqci~mlT-HM0OX&Bp>5aqBOK1f5>BbFM zWVP>#2XL6Qj{3`_?Pdbg0~Dx;1p0bikZqxhlmvZ*ebq&N@qeBHF*=G&Ol$yGS%*Wu zZ~T%`f&vb|=KUUNBt8i^`He{#&}eqw{0v&+cnrbOQM`FKpfw*8jyl%gWPXWhmvgJ$a6;YuE6> zSk;SIBwFfDUywhu`s2UF>a&nUyET8i?C=Wa(X6_LnT~WW&IfxJM+&W;6^|<#|I7ig zXLHWoE()li3*|#|f$iRPd-2qo4Re&WV)FfyneLw`{9UHSQV-OM{N|oi^mtikMmhgL ziu+(QYHV9~VY4ll8j&J(vJwzoocI&9|`MXWoq99MGtV7y*S%8~rncecuj0Y4|h5*1T7zh_g3y zX|;PLU)ikQsJx%mT@E5pcDLHn+Hj2?SL;_P1mge$T_!cCV=6H+(?V z2W;R@CHJSPS1s1qv-i!kJ}KI;peZNIj#Apx{G#^bW)ru_1g8OgL$T+3_ZJT0w$PCw zu>Lmge&nQ1D?huXb_$2vc{?xP>pS-0UnoDTeulf-WM@| z4OjPD5=JhD2Dg~6%sFhje+8HJcv`)(aw)&!UH7oAO!xMov#H_wZkiZ}8U?f(n=eVs zwb`9x7XE_7!dallcZco&3Bz9AYY|WM!Iyae;4I3$!vNFdXyw{PIQg6CVbhOtS74Bj zR^AC15|`{;gETq++EUw%@Az~#f0rmvHn%~8#R{=8J!6k4WpXfQ1)Q(+scTzrKIpDq zU2$)Gc(g3h-v0Ble55o_6rXAXPbshA9DS&ryS~VjvtFZ)>6VZzQd~TMUyy z)c+u_WjVftp|orImGqoB;_4_Er{Hkom&CbMW^H7oM0L;#3mvIa%#Wnp_{ZU^vXsGd z=>sL_OReYA9Fl8Ul~KUmIH$qIQ=zXstV>@xiRkzk{sv=ldLtg3-7??hs|gmMy5(QX zs?~1Pg8jp}ud`A6?@_tg+4>d2kp8H6#~I(QkMp3qDUHt3u)$S_ciDdXYeD|}Has(w zXeJvkw&wTAUckh)N6eRJbt(^Dh?d){}$|O6{H?y-AZ9Wgx$_N-}=VCYwo#8#^yAW z8?`HvcaYmo4?q(bJXr;+4F`ltl+XOQdsL(5c2}9tzpBed`^=|)pdQ@VR_U^ckeFp` zq0OuN_BN=v!k@g0e)BH*(3ZL&lnKY2HZ|aL$K+q4QMl*aN37KVa>?>wu$Od%nj&a0 z(vKEWr8UMTr55s8S85l;$Im(f*Nd~Pdcf%=|#dFkCc&?upDbg9FgE71@V zH|%)S&Y8AgY1vK~Txc}`-+8NzFM*Qs^gNin7mJgSHkU(?zrl48HPin7!6>MlgHAjR zJ%_s$+pXlSx8u;dPbBHhivIpGoZD5*-c|lKj``c0B|EQ14Sg+De0atL4|o7!dh?V# zMA5t8}_R0ZqU#7zQ0=a(}( zXN!ZvsRF#d%1JB@D52|eQ?jvYY^-DzHpJR~%k*2T*3k@F4|qDghwdm1=bes1dMmd# z3RlW7y0vT-zIv4VbF**8&i7*SIb((F)89?-2*jDaKcQa*xF2wPkb)0k8QEwUi$MLS zjmu#eL%=Iie*86#WvpSP0CV(f7XGpt{}QuL!-p~lzN}4vBgn=s5;FTla_;MS+7fXo#Wn6@- z4V2-0G;TpMctkIwfW92slPzf6>g~m4#sAlk(9khI<4V@J5L1V$&yhL+f!Yj+>MHGp zajEpTDbcCGQsetw=*Kw{#7kq?>U~)o+ha>1huubVRD8aPDz}3M;>5@M(OY;Gx%yh_ zrZx2w00&-Ci1vams>-8VS=^577Is~8`S3hXwwp+56Oy4kVIn07`&rCK z#%7itLX2Ze=XQv9_Dh_YyYo|uH|<@YxO@5{jxeYr+?nF z@IdEUOViLX1ZV%v3J~lUQLs(uTh+&+8hs&FXC^ltK<22L=jS@@)8~?-sCw-xBOsgu zn9BFO&*CuB%p+f%Ji7Jw66VW?@c0c$;%0nab{FeSFW^$WKh;ar9&EBt85^<$=wT9+ z`nZkrVz_Z@s6t0neHXnv<9*I%-ut&&3oIoK?OB}5d#{HPH=^&O{Do=XQWdE3cCblg zZCtj<%^A2r(}R7>`Sxpl-wH4GdLMj|Tq*g2i}Q6!C%M7Zm9Y>cfSV?U@burYFx! z4H9B7Ex3R&=b4(PXbNuGZV7a-7J)b|_mnqBX|?r!BUTxVb;8i|Puh4tHJihRSow(h z3TbeSX3B$ODJco(&{}=*OLe=gX#K*OkMO)yYS^f zy3aTDtLF&TOnZ&AQhc5vcp)6j?N(`#62>x!;JK8H{p(OUzJ(i{q21EFQQ_P{FlI}e z?NPUEZ-0OGPq?Fe-tVSOuckz)yS+$g8?9a=2yC;;t>YgY18ss%G_gWow_SM|nYX`b z2eA6dAjPdG_{3kr=itz^)$q3sWfNAcI!puXhjeaF5xrQP5kRozM)OT62JYk5)KDJn z`nz$zfP70cbSU=g@%a1k*>F6iH`1as7((*JQ+Nwp8_T}+L&*rhEvV13MS5{;CcjY{ z1@VBDcbnsyi*)}51SEi6PVQ;-+j|&eSm>|AotQf}-6}vyR<+lwVJVbbJ^#tI%Zou~ zWrwQn&|{p>HIaK!S>nOX|8{<$?%3D*b;TyI&DqgCa*I!?h+=L8B47e~Djsx{4y?*n zzT{4i&aOGqSL(-028|Q4Z>qW1Q$_W2j;vhnnevyLOQuv{>A|i%Nq*vhn|8q#aTGFbJ)u9N-pd_oFEv9enaQ^99(7+O`iw%)u= zxc5e>nJP(-hXM6>CC*XuD8sPOLT1DR0~x$?f-kKRz16;4NeMaQUk*cb0W*K-?&T5>oHwUd-F-_DWCP9r|mF zonrY|%;m57H~9EAJ+BzV?c_2mV|WEZoGyN}n%&PEzM2jR=BE}6{Szy6;d`I`PRtY( z2&czv`JfN{_i^ZE5N%p3y3AJd*`Ro9DcR3ZYYNY+x#jf*O1I6`w&8wJzXlrSGh}uJ z_&0=*UF@=3GZG+0G_j zdsOzDIPrMhOXbmL7w=_i`Xakf!>IimvB_6q2Ju?al~ev)3xdKQ%#+B>8&qoQ)oJXC z%rLOjygqpCz-v)aJM)*V-x4KWpNHQ3)m>qhIJ?qAuXoLK=kdFKl4Ef^s*Vt~(%9pm zPG1*3UfzBTgjz25!-F{jPzsUcYnr{)?UOjkCFQ(XJFlD^WR8;>ZVwud6F+<{#ea;TWj1o@G$vmicW=vZ;k&@^ZcjHS7pT(?}nNdY<@$q zuCE5om6R*Dru`3Yo_gNC4<~Evix;GWY2sr$%06`AvU+jB2&DfMbV-9ycmK%EV_?7x z(vS)q)2Xc-dF)7cva9aVnC#`v$8T9^J_Y~Bj|oRIII8td~CO6Y%h6rbSv7T zaObR=g%_ZH!e|2ov(C1l`^zOYZ*J19fTzjj`yE4d(f&^F^@oWH`#@NbGCqW z^C@orO|Zrp^xIEsHYaMmL;i+Hskm?Qo+7uJLO^W=yFJ+E*F4rrUh?E^l_3fy=&9oJ z=WNe~4qwr%#DpymB!sS|Kd6$PG0p59Ale6?I}`2f`SwrFOOusTrUeP4v@TG_HB%Ju z(LE26aeYXl#q|9p|6(*;qul42oXYj^Fd`MdB}w=}``!|uh|YYNC~_C(CC;&IzL~8L zx9gy{M0_%<@p-g!_QFdvnxuoFgq_)T_=sxv!Yr&%gW?&&wM4OM<^r)d?@+m+tmeum zAwqlSYN2;@n(A?Q6Jq_ZmtkG-^4w~3AQPjb?J{V44kZ?udBd8l(C=oze!~WOer`=M z4~&hWO>~*x8m#i`6A!l*dATv&*Y-vX*57dR%#(6vPFZPzwrAhv%R1z-`&OSVlWpe- zlr!#WjD&Y4efqs&;H|LI7Tf@z`-4Hlu#2?^kJyRU1rLS|h0>_yd^MOmi8MYQh-~EIsdHAHpdkv{BwU|w2Vqs)jQuCDd}0Mym-E|W zCY%|&h=o(0A-}BVPp7-d^|G}phf^o+UKhVoeUvb{O|TlTX>Z6Ycc}XG)Gip<(%qrC z{YL48_nh%@$CCtjf8yemvY!Q*a87rW$%THXRY&2FE-}G1@UfIPmr$GN# z^X$w(_?(W*Hez<_Azpxsg~`VkWN5q&oW=UPsU~48$h;|i9L;Zs7{QJnsaOB z6-MPK{VfGMHNPX4J`KjT4NEa9O#q@kpwX^0kLsms^S@pMn%%Lf>-BmJm`0jN(nz-&bm_`7P&c^%^f+P2%s543zB~yt4D!+twfky zRp(psiVAXgpqP8yZpupE*ZN-~t#=xrc->`z)W7Q?XiKHnwi1-41FasB8&Q($c23#S zzhM`lp+In*T~H$Sz)Y1lhwJmw+ngRe(Pq2a8G{oBPXnb&%)4PeDem}q*ngewMJr3z zzFoxa@r!CF4ncyjmsz*oo%t1PwAz7nM@g)&C+N-#-Hj2nx@2y7c}2yt?~QdmpYJrA2d*+^o6&8TO|NX6?YgZ(kj=3~xHXvJ`UvraFoz-PPjB?+qQ67p zxVXjQlftW=tNjHVCJ^7>@gx^^1$b@)VzVs0FR)tr(t~UuS|lJY-oe{-09mj~(?{79 z+D~yX#Kg;GZ`I}k<+$(i&EJ8#%HL@`n1!W6cS&ovjW`6 zU(40IiL@H0!Qa7S2itY3<1FHwMw7R%k&EqJo1a0AaEyi_Xx+>A23@RwSOgZ%Qcz^S zpw~kG=1z7V^t4G1Sg&lwr?J=`H6;27O8D6Ue6Mf(2H0M@wID;BY0L(XLZRDPW5Hjr zuZO)efbOnGei|67!l5=k7Zvpx>}<6S$yfL5^ape~w>?&L|xnm~zS5LMt@q;<_IXRPNA=DUZesQey$DI&D$l5{a zr97zh_}L-~i+c)Fh)w*#y3;I)cX2csV$=9CF1f4UvpbkqvwHhJQGq!;gp*3D&Ok0c z$OG&fH|XPb?HtZq4|9GAmLq&eH9m*lR-9diJ77vi-*=iHBZKHRk|W|2jw~Q9lxwgQ z8h@QD>k5IFx9lt5XPX|EY))^e#`D1V(yLhlqO`QbJL$V{aY-={dZ(o<7*U<>O>kZ9 z05|Q+Qu=TyY~S;$z%4(=vRn6=ej?#u4QMQ0A87cMlW(wmHNRcIey_;u?JznV?7?G| zzPiQsLT=}YYT8FQyy{>x%SN`;aUw5(ioP4H$alpH?d%=9Z?0qx6AobXOjw(2yAyQY zIS{Xuzl-fZda$uB?)2N@hD6HdpNot5O=0=pIspTw-!|v>dTAcrUr4pLv`eJ-T|NBUpj&+V!t=EF zUC3i*8$YQDt4;Ak{eKT-y$_p_4Twph?J3m3&s8z|D<}aM`$=Jck)bx<-k3X!8BaWE zJ_N2xLMkIyA!MpaFMfTkpSqGSan*M2JUlg{HP<#Kxa z(SF9xV3P)2b{Glc(VvXBtDF4^kbRKfMcf(4$(CB>##TeNX{h+DG7?MnM{Gg#sK63(5PVt+oKwBV`Vm?ds9m(K00dwV(t z?vQj?6-cHy=x+v%;go@K7${ZbXPK4EEVrXZjrHTu7zhFy@NZ?N@!@W%y%GpuyS$c* z2}1v!`#Zf~c|)|)yBr@jTX%l}@lxL!R=I|P9vefdUd*ZtFJJcnR}d!qs@%r+BX}$I zeEKOZAt>ikGx{T{g6`3Z?I5d?xFS8vS8a2&-eBj;cE))^#I57EEYU`f{1GmA*n6br z$&#LX?k}0QXE5aHRC0rGdwqYbxSz6GaNcoH^Y_Of^iZPTv39iH4qgIFIh`&Q5+ev; zyPoSwU0H6ZcH!0B+?4qUek$9fU(aBT2E(jSnJExnx2yME$geA}N{3*7)PK(#H6H-N z_-L0(opBws3V($38F%}uL)uuhYJf)Zhl$1HpD7tz;c-4x@ip4`Dzu4%eQUBhXTdsB zAf!|+YP>yE{8&*fFXvWSLU&iM!Xt4KmKptt8D{3%k{y-*n%?v zRa!8eK%&>LSGR!HeVB74quwaxLor5ip1#nVk6ZkGlgNi`n;!p%cCA9^-i{`fcxVn< z#U-P+r{$kMCzA@IES@hqgd3TQuhMhTnS*V*Se)u%Z^6r44)V|Q1et6}TQ73cfd|;i z)eOyD9-`kjW3)PAXNa@~C8U@tm!5pzq6V+bvB#Bui?`2;Y0iu3xhn)Fm{z8s?b#fv zV}lI`A5w3uKWtpINqVzu4Z2{G?k?(7j6K!8axUNT(h6M?Rp89b(z$XYkCYR3R^PvC zRZX+R^6^(4=-RE9aH8qz=C;)4pmvEi5K;yImR`%b;5uha9rYwNf+<#+n}JiAZ6UX2 z7k+{c?u>4zUFeVP?(}p$GT;R46K?kRF3O2?lqZw%SiQSddc8-o+HFMpTlVMV5S^;u zpRWx*R6cO;kE>(xLX0b~rhLE@W?jqP_jsA$ObgrV{N>eMCi{}N94&UR+LsnxOKqs( zA7okD+H4Dz{SCM5JJEWj`)`xWPL-Hw+aj5f;~ZX1>ENMNG5E%oi}%-1M}Ama4H*VA zd!tRgzRsEV&UME<&R{NCQqTu!$pcF=ET;jPr8z{`2mq$%E3sX|8bw(8$^Nq)UgoU% z-3?x?-1dE3!&)lz+iRp(fa&P)SUbeI*K6iH<-UD7CB$ru5YNUI9egTq^d?sgC77HJ z(B_h)l!MyG${$`GGMsIj>pPgCkKsI6v*Is%!@2)3X|uMPR0ciYChC(~zfj9h;k0zV zSr-XVB3oQeFmrkf6A0tkvG22+y0>?8;C!o)>;rbi&iUGy6UX*Xu(5BUOMI4M=;Xq5 z2bO1R^V?O#DFTS|Ug`DM=4REg4nW(ol^-A8Fo$t|UEuTP&Xfl8-E-l?H{HWN-)j!0 zjgtbZo+97aB)^{ad06XoJN@8Gw%E8e8qtCgQeTCy;|V#KqeEJN3*+eja?y>omRTbHPH$rnNjJ^LcMS zw{{k3|8+Us1Z3`F^nNweit>c@VhsiqTnAU^9S?V9lpadz?so@D=Y5Vpu*_5eQbQW8 zz20n9CT)5=$DeU^10%g15W@H#o`bDE*V!6W++En?_(}pe(?4E6snTOOQQIX7xO~I+ zqp{_W`g+ri;pCS}pomzeWr(2~ydgVWEk=8-g01^nryU}*q1GPI+H^l?ieZ~wbQoUG zWeEPoGLedsj@PgEzn3S3C!EM!+Fm}lP-G=~6krG{bM_xoQ*0TYOX70fYZnV6#C|Tk zgbY5D_3vxsc*Np|_z_YtwcWolK*YL4?UFvukO)+zP?iWe~PepAh{ zO8$p!Vy#I9mjE5O>?HXBU$bj2n+ykpG`{&W4 zugTvKMZke{foQJ~GNvl1g`tYDpypn`)V%7WGdSy&_ieH33V+p}IU6FQo?X4_H=9P{ z`u!R(JkhCM%SRWvPjKV)>aLK{IaWHd6;cd z3GhJPu4~+%6*$M*W4#rYZaVT~`?vVfQROxI@ocsP{y-3K>az|9v0jH6e>9%q#khNu zc63PFyYjlm<;2zluE5U#@r2<(vWG~Y$ghf71|;Ik!xp42EsMn#Xs*so@ARty=IQU@ z)SN?Ub_8S8-`e-vg*!EAcQ&~$eMJi1Wc#`C@dkO?DyArTq?e6!NQC6El9b%0^F~Jt$7}0Xfr|W=% z=v3I$KZWB@q6_5OxIKah?| zLN4gaG2l;vKrZN65%)oFTV$1yP2VJ|@prL@G!A;0+Xfn3VBPE(h8oU#6KF}F`v;dR zc=R8&U2b*uN9`zo;=K)J6t;|${c_J#3p%SOvrnkx1Mr^X?9IWv)t7{tI&7*nVcJQM zAHG@9U4hz^K@Y?C@=EtSs2qi-VHENjW#vnoB=JTMAaPjzzv6D+`(wuw>|DBiUedlb zLw$!}=s~JPgITG6B9Fqnm28N4I=HM7<*v;J`1&pihZ6Dr&7>|EU*NBp5Y?a*cW3yZ z*UfiPB_JUA=wKRtZK6$7XCYFw(e#VaRQ#OP8Qtw^t;=b1{xR)CHJ<$+#S~s{cUXQN zX5)6L{7#rk(~QS;`w1Obojg_@I4$3>s9Fzi5V~8v`bhUB{RJpf-q-5sUlmc8VS zF&U+d-|uo4NElkKf1gnwf)%X=*UKl#r#>r)RFRKkqH(8|ht5YG8Z3 zDSXKR=e5W!kq6FTKNzSn+tZ*`jd^Y7HNF7YqS~A^y;-w#y8kf`n?0fyWL#$G)fVX*86-ck?AdoDjr&}&VTCf zu-XduBAy}IeBCVq8iy;Jy8I4dlel>Fl$Tzu<*xJ0>wXHDv?Ep?`sG(Ejh)(UZ@*on zLY2O>uz+=`Yh^lQUf>T{+3zNk6S_GLZV~f-DsIIk%kTXKlrDUdmp_MNk|f7mW8OK# zd~6x~ZI-j~Gh0vYLu=akeNc3P{4G{979ubWBSA3+nV4X-^e36Ltmp@4+7xNZdi<4? z;(pXtQz_Qp_2YY0j>Jg1wCjqSek#-3vrp6qxH^HSKhznQU2Y4MUcB+EnOtJ-TMPgv z0RrIJ?YIG)?=8l&)aCZ43^UIR4u0feOP&oZ@Ke1s9yVAPVpm~5 z)HRNTyz^uSeQ?=W@@1G)ilg-SkY{f{S+=Kh&@KKUp?BvMeN7}uH!IAZd3*|_$${#2sc z{Gc;qG$ctPU)i!_2jt22*0CFiuGLd3cK2Wp#l-PN$EAV|d2+G`{OCR>Ttzjs2Q{cJ z#JpQ@EdSEaJMvVaRie=q@Nuo3&aOjU(%qXK3d(&H!!jc$v6m zbN|#Dwht4!cA(>XUBr|lQO(57hhyoMRSNe&I0r49h&z#>#H1M>s%~8(-Bt_7)$A&t zJNmV7na>vHeM5(pPL(e;V4)`HBy?T5UKig~=8rTWn}uhSGHUO0T&i+C-zbLp85GG*!r!TS*L<6_juQa-P?e&4eI+W-2B#* zK8)9ZK&{xMZIHldE0phQc{K+26RClV$L(++tg64b5v5(Tv12FLIxf**bxtgZ%C3>$ zI$3@%kAuXa%Z$-1)%2mFwrihe`A|*Yq}6usvz~X|(N}h8>$Ni7N*+C{@xg{4+l6~S zKOWPq&f#<#>wa^}qbB?CjR79E=U5>(%!S6dg_1mGFyN2kB@&D9g)77O?2?~YlpKnNCTf9XG-GpxLhS!Gvh&;)>uex8Oi+SGYGY({x*E_d2h%UpCOsrsWd{pK&(r>f%{0jaO@! zTz%#g8ApZ1WGCIdGle$u*#md8)&3Gcay^FcoEO}e z+^~TJ;a_I2n5`iW=<#bb07fM8F(B*w%W*KrTzuANC8okYO@jQ=|(wr}?$VD;&QPwq@pENX27GE@Yc$-Fbl#%?UW6>JE ziR|<*_BqU;$d;%$o@3j-G5~?I`6NoMnaj+cl+%=?}rl^`f|V3EOpe9TjX5Y zTz>(N3Un@mU0lUUsYp_d@n8ihX3IakkT%uHuKOTFFIR&por;b9O{mJPebgy+_G3&W zjjho?ZRfM&ZGZ|cGaJ%}Rc`pmDdTgtL?!4JfELWNyIlv!?T)hfJ4B6zHF>FfG5gQD z3Cl(KeQh`U76fZn5=MrVS+ISYxTfuzzhXZK@rGKO*#w_{$NBT=8~ywiH@B%U@Q;k(0IC6|2*7=JFO|O5gGtdnzmw0~?%J zEeJ0Svu45cys35JNd$!L8qk-{#tCo2E3~yc?p{7NMXEE%wfZm{fAcBE2+!Gcrpu4> z3rjf2CjYBE+qqKi*Fbks9-A%grRXIGVR64bp&a<(4=(=Q^zA`)MAla}hQl+y`y4@U z<>a@)>ve)`QS-#G+2Nawp|hAk67fqIClZ-)UuqU1AoU&`)n_NFtikh!U{P$Y=uv;_ zL2)=f%!JjmSuB%Na^3B6`Q3-W_aD(>kUa0!!d1|S7uwt4S`ZTBX7{wp1mIDgoi93D0Ltm^*tE^V`1mcp%Gq#8^&Ajdb) zi+$H?)@jEq*4BXFUz!d*nz+4Arw_~+YxCX-$bdfdz@_ZLd~E(dk+yzfbA+9f zFAU%(`Cem>2M_A3>|29%wpFQAz`gGy1*n8VK zqat|8e9f#%F7peGLFc$%vz1L7o!$bmSo@qBh2#+Z^^5_D!WbnzU89}nZjr;74H{^# z5j04hY>&wJm%p~x%pW)O`}vl`2=|(kWbpJmLVjF6w9b7ht4sLaYUK}QQ2z&=-KzU5 zmQ=NN*o`>U(H{}ghm>M+qn%evChTs7)6&YZSm}q250CewUM+sU!A7{OVSclkT~sH3 zYx@@J`qG z_gZ-QE#gqI}-0=X~|^H)eCFoWfSLpQ}Tb&LM7AUdX6l z`fJ|LQ^46b$|EY;g}PM9pWNU?)dLeonEW@uN2_C=Bdq~FIOOdfaRx6mSzIC6@sBK3 zdQowcW>x9aoQBf6&ywQL3*g-c@g~v4xJu-rZY`~+cEwqg{Rai`1e>lc)CKfKm1c8X zY*jos4t~B7A0CEt60_ZV6n97G#W8e85DP!)pu_ZD9hhtGS6Y2LEyTF9G*P|>P{AsP z>EeOcL*R~Al+0}l2QZ%eK&kpTt>gQ7IR2A_yD~;zxpusJmhgDLnoc^o^0?w{D-rYg zPS651j{EnAGkuzRzYZg#t2&|Hl~gi=WuqVFpyO*c(eUUlIK3Z#fv@%yG}FB0mArL7 z-plwY*o?j2c0cDP3TBA1Imr|x8F?H!@(qCoh}k)sVn9P_77E2xk%76ilQ_K6&b(#KkL7NGkmDM z*LvUQp-CG99J%&4;#+AbEuB(BvcCCd${j3ME zT=I*W;M)BheJS&h2VHJr#QLM~*6~N#SI^1AO}yl{8wR{KUZaZwvh^f&+v0Ze_nZLt zImXgfL;1?YYybT`OW;~~ehQ?d_Swq&K03_PRw|~2&H-DH8@BLl_tk_9`^!_Pk@CC! zS!d<`nZYZN?Gc+K7Q;Vt%Ta&7iZp*0K=`uc&cLv)tl)d{e!`8R&|zA`d|@FPtCesX zn}@P--W5Pya@b$u_+`}fXxHloW9DmRv10CS$~|el^UYTBZBri1#y`xT^!PTLdH{Au zmwo+xYGBvSK}7RtVL~o5Z5Q|$bn7sIKbVg{VD1&gD<`r>{TY}W%_!d`&$Jh8V~5Go#VcHd@K!_ z40H2ODlaOQMwH=~P#l-t;T1Rem`Nm2MD~sTvAfL6w59f|tz{cFR@LUZWfZPGC{w7! z#mznT7xO+xyN6SKDcBcyNHQ;I8Xi2P^Yvw-PDgOaT(@ugw>U?B9D5U*-CS~x=2Tu9 zR!_rkiGrws<4fp^!`FRD+5512{d7)s1-M+H7;aDKm+rPa-?yW;4Y}MN0|?<_ z78ziIk9h4<%yoio10Nu(;{wz%HW#$D>fYHuuBfFt^j2E?)3cZ5!$xcZ&iReoH8@*Z zJ@wXgm%y#OW%`+WyjnMpXsH7t#jVMc{CXBYG=K~y6f&Qmok~dt1dAcWuEgW`aGf<1 z2mga5m-@(aU#7TUKXUUU#9)`RWX80gq_m`-a2FF{W%13($rydG!JwTDzaj`2O7@}m zkou#_eT(Eb#3nQ*KbUSVn#kFCBOk>A1T@(>yrx3W3pVA!`+M2iAEvyEKD5J^fiao& zK5xF4JVR*;JBx)Ww~L~Bg_bBOGr{A#tpbso@Z6GD$lmP|Z*3T)}>2N&fu1i6<}ZSPjV|*#a2r zYy=VG-eBCjuX{_!Novw=jHF|%BfbY!Iys*?&F4R>(~_0TwBKp1{rpfStIF9uN(7P> zq+#RcMXu~R4c+GtpZvF;ZtyRB`lo3vSZmFTZdzOF^>nCK4XzMB#aOZ^c%*cyDkNnK zfA8K@p{3P&4Vj$F>6gxo(`!xN^k*lVEZ+~vLBVqc*vMp?+J+JIIT}g5iTl@K4*JMJ zsaP4a-Rb66?&!6~$ME@WKLO&^;z)=2kvBIx<~5ogo}G%3d=^I-G#3_!&#OL|nlTJf zgIBA&y?^eo1o)^c1PC&F%KSE~&|rMQYqvFIdN5U(?OUCAUVv%u;E!cl`-<#Vts-Pm zTNU>$yXrM=)L|&I0U3w6r0Fv@wY@-Iz^3B4`ZARo25mMMl?n6DDi|m8{z@pr z2)oysJsBSs^?l!JxXN!ZP1%P0oNBG(HYkqOcFKv;@55YVBD+B9=G(5uxbvkJ+tI{O zo3l0n(pUkCj$#u#vHGKYT!Y;diPyf|J>%_r`yS08Lzq^6z}lfAV-yhv+!mg#4-c3s z3mSBz;(SGcmpkp6)mcdW@<7!9v+8p3SgndK z_9BzaYULiozs@TbnnzuR0|q;trzfn@BZC4F=Qty_B+g)g@5-!!v2M+|tj z7qp~$L6YH`g5Q48wXs*P0y;Ob_Gc>-)ZFjkzv3I>qj1!Q_#aQbI4ay1#Q{HnCE4AP4IRuJWZ*|9;J{adTpyq zqv8s7svG{a`0boga?NQ9pS1JcrCW1ti=U~LpN7Fsyvg{}O=EhFFV~w>33`sUzK8f~ z+qsr%asP~F8 zna@^*$3}mhe$e=W9p4WapL9=g{+`yl4Fym}UbvXf_%yPwQ~{w1c-CrgAkZKKDc_u5A}&SiaXO_7M6?E z`l#sG_=J9X+bQ-V7%Cq|ZJa7Vo1=fUzW0e4V5XIy-OW9J*mT{x5UaXWy3M`uqo3;+ zTl0*$g>M8~B*pgXdS_##0T1cv1i>Gw)W_+#czz|abT(8Z0WN9gro6OKH#?1-|oo+f0J)n z?N1K-+}SFdo8Uq%iDiVHTuPtsZWGzDefCnBc*h(}u6oE1Jm>c0UCos%A*JdM-M&cA zD?`8$e2puUcmMF}wDSmmA2I4(Bgjv-D^143__peWTY(bWZihFU;}&YIEC8V11=77K zWnj^=^8!RQ>T7TfMER>!7lu&H81#hB&M3Ea%Urz>bH|<%xFEVyDNDU&E$%c?Nx2tT^@438d*ebRSzBF??c08~khYrKhqzHLDB1LLcp7~7 z*YWR9WZK#}cRPA}5)8YPuN@4?T6^1fTD+CfZ#G`-?4Q4%_IT_HLUWzl6FK<-7TFzB zVED&Zy*#z|A7U(<6U3N)#PuTgX})vWVY8`hgmUN#ew`)EAc_s6_hk6o;`}b>UlszV z@h&Mj8?t-c)PVSxiKsrL7y6kgg@!e%Xr-kH3eCRJH7m%8d_!X%g@NGT-1E!5V%cj$ zuiOYMWLqn>PPY>*JeUG1Lav>iXC`PtGbV){ILybUhjk0AOP|li=4W+me7c&s4mLS_ zno756x7V$x6Xm2cpM}Mt{~+byHA&EC7)(BRLC7#6vQ^@Hv5H zoE10+@JnlVx&CoX*nL|>e-@-i)f%oy_lI|T2xLa*pnJWs*9aV<17p?b_DeE@kxNM3 zU`zXEP9q$)(xVXo^ZESd(LU>rH0$s-bld*&xF&7O>)fv_I@8ghImSMNUm=%2?oEBb zg4@*4Zl&6 z`LUV9?<&30UkUavS*q;`;lv8)ZMpu#D;fL7Pa_KiCil@L3<}%#bSq4z#IVMS6t?}y zwdb;fh=aS2-p}kF%Uknf_s;hn`#3>1y~;pC;BB zsq&843BR&p-~*r>c_jddB<(@6rTzFw#gkOB>%6{l?u)1_y&bBB8uH@DT%7!Y)2s(}Tl#YK(Mh{4)x0wJSf7 z{rL@^uy^lK&r&D45S8LFSlQnrhJ(yd0SusE*B zQLi|UhVVit!%lqQ!6X3|YjQ^X?tg>b-|ZkwTO!`7Hc_M96h;q9AMxiiR&ADc=B8_J ziuYbCVg{#zMzL5j+>f9JSE_<5XWEN9_NgUT(5k62)Nu~WUR&4qCwPuM??VLl^?>gE zzJ7IW_70v``AVyIjriLV?>2~WdK+=u(APSs&2X~PIjIouIkcCdNjbSrZqDKZz?qV6 zMX(2{%DhtJ*(9{coqln@Lu4KJ^vghmcw8VYl6R^k7;d%Ks?2%MJ~&30SfvoFb_<_2pWZpYtT^FFfdU3+kp+{`0U9F%aC?Kne5uw66t%DNZYwTb?B1Lk|z3ff}HbBSB?9DC{Y`XjQxy8(z4a!|(`Cq}zpKb$sPH89h zl1m+RmpdGR5`E+xJ0N&>6MNc%TeR=?uUY*1qo^xPH`a&=%bm7OL?Uq2`{#k|VA3o=FI;vNuvg%R!M! z!oyLY)i(Sq?GM<>c(h=%0dUkCfEOS}`Eu}d!6?F-J?6rebP$ly)-SB3$;I-x>i`m)Xdsz zVm(_204M@p5sgw>g9O)=493}KLaDuFYyMD(c~At7JB8x z%2kR0-S>B%8tFb*O~}dWS?c8n&$E~`ha#-STPRuH{i`GCp|4i>Uht|%)fL5-dpbwI z#v2wU$#S)(`ACp@*#A1iQK&;d#rTh62 z;wqaxH~ls%?c7|E@d&y6arK{PuKbR06@fL2!mzlPl&Y46p#1h%H7GRJ+5Wc&!_^uPZxz2uEaw}sV&82I;!M{+2CE< zGSq>-I~e`=J?>MeBWksQl-ok@HQnBHq3{p15Im7@+wscu44svZh0|huoB#4VE-bzY z-MXCqI$hgM7ia-|-cXj@x!R|OVp82vsw@L$B zNAg*Jy$vXLE0m%eDQqNlK4xDKML#VGg)lF775-vXv%kXq-DTkn{H#y!uxkv&_+8gPX{r+iO1oyoxkb)rf*tZtpfj={n^)x!+->x>@XV z?Pg;jS@VA;RzL$fLe$!AZHUyf6tpMT1*2v>RG{AvK=0?R$8{N|E0@uGKLFg4nLlm@ z&EYT)M?f$tB?)fB#-@83o{xRc;yUNUrDz9%2L;Ic%QMB0X~G2lnwJV=?xIbzCj^&L zt%vT3vfIq)lI~DjKCSDlAm7si$6?(1nXooq zp3c;7ZavJi|8f9L?yNlv)Z$4+g}HfO~9T!ds(ir=#BAyxNfSnEd4!gnD!98Z|n(OS_p4#xx~t>)$LfuBw6Ib zHh7<-ULsBL!VXe8DMJ_JZdPsoG?DaPG-A}`(RDL~W<@V$CdqXlw24wkR6Q!rp%Jta z@_&Vz>Rq7!a<+e06k{%>QtX1#p#KO0==^cjQ*sp&Rsar++1YeXR0Hetb8auh=tdc4 zXomWO(B|BI`h-J&snF zhEaOevh}&KuPpalckxV+{h|tCw&EXJPZ7HqwtS!h)H(wp8lBhI$5q=K@niLQ>Bwtd z5cBM+^x!{*!xg^NrJ!;N;mQBFZVH(gdSbIMDDInH0spmYl5nveev>ckuy(pn1u_-y zc-H21wEU6yY40%r9rO}pmcUv#vOl&2@0E0Ny~K!cQU+k$T~46!(~Hcc;!_58-T$3#A=J$%t4sG@;CLg134p0oneoc zH&HU3NF{m0Xx`rOki^W^_ zhw*4Pfz;uB7JzO@x<54b&t7R9@h-zTb3LC8xZ!bl2}-j@^Tulag>Bf$T94KXYHP+1 zsQuen-AfbbCGnx_%l7DW^(Xk}@a%z2z4eaq!YAlt)U+9$pc~W8+<)8sU%5c3ADAJV{0EX5dC%--_5-U32e)ydXhADtXzg;06}JDy(s3TQQ>Zh#VQ zY5U0Ka5($OQNrz{+1a7%!^S@zlPeLnqfq%m5;PROu)yMKWnQ}Z>jI-0myJ?l-=icASTa$TZ zH>q`aljx&cfPV|cw!aZEs{BTunJVTJuQkoL2&HgP`GVw`lLOyKY16BGs}wOljq z;APOQj0?xkUcu4VBJ&%>_kyPf`q4p`@Axa$-rlWoZD~iRR?Eki?rrZ*0tv4K0JG)zk^jLXehMj?fl}$gj&B&g8?A@V`gFHpiql@Jd{j?Nb0r(q+tPxyQ|n0p zQjFnlhqAXVJ%`}sg$H!M5=62Q%Q64BjG_^EVy*m}8&&$7dsL?R^D5X)yYn3pP14yJ z@-W}A{F{ESIbIDAwPRvkX!IS{BCcQWCi&@($9O$>-WKg^Bs<#36Zk9EHb5kh%C|?9 zm!9xi@*0|FXM^bUD=<0Ws%puHFZ6K&E8=^bPT&mFN(JkpkN(bpew-i2aPFYza_@+t zmo>IXy`gu5;L|7C@0mY)qN?6%(G9cgoU13DH1`1Tsur6UZ;wTlB7`sWN2w_ARu)0DKr?$OJ{HQCQP6;^djZ6BAn2T5MMW{?asJ9*T*+=ozLB;quef0pLcj8 z*Zm>eorLp~;AY1f2#Ji9qi4Ep4!)h|tG^Ifsj;@lrs?j;cGVoj10_E@prqDtUm|_H zcheyN2SS+&xjsyZx^Q3O(e!PWx5+`X@Xk7p;EfC{GOSL{s?}|}Y+WHSUm=<`bvLuC zygQK3DX606Nve?JMR1r*M6{7s>-`~fC(*hfD4Ss^k9XrQ%`J+xwWxHjG;yPESK#GE z&e{J^Q{%XS`51Ff= z+>D48eIoDXGVT|3jn5YAM@=h`pLFQy=&lcQ7O@jBf8-6c6ov z&fQ`2usx@i44h$N;n9_(u;1?7O~QvxLqfMJZK9LSnk{+!PL)u6@$L%Qvs63)nPy?V zZ_@SEdRJl(OuTG#MNA%zn$boPh*6GGr{R`|5g4jA=%sLLkv>z0Q=j6Un-)2|eY~V6 z?_cGTiJbcivsvuj>YH2G!*88aJ{TG6uZp4gI%F5#?J0&ddL>Kw6W7Z@FQ27)U$#P< zvh>~BxRWGvfm^;+D?GASLHF~!``B}{>1FujPxJvjpTB6o zUaF4!mF}3!ruQWx*xu;k8h)4OH4AA>LM|E86aAhj^DWG?u|80un|)`&A{}EAo$@fZ zR7P*b$^Am=mYA$$t|pp?5|vw3o9tg>?woH}J@QIX*N5v3W)HDi{Qz&ee4@N(dciDm zlaZjuIKz78oCByqg(Ad1MoOAY1fjgRXl@gu0efUi>lwdnTFUn}D%N_g*6J75ts2(S zmZu@hPKV=Ou%t_sgD`P(afzIY2P~{!_OHoT-5sZfv>+bCa&^`=0ppiD%p3K;N)JjV zt=2RVtEW(5rb-N z0+71j_qL$YZjq6`P}@9y7D3L1T2~(Eq+*(6I+=7Uo9g%X=m5F?44aYE8hRTn(on9z z$Ze@8D%XPjDQ@j#Ih#A^tG;9Sf!m}knDw*y``Ep|p5Vm0!6oezk4Euq6R^}!oJ~Y# zq8xnGNd9C+nht=(4YSqGF8{HB+)^_(N^?4=W~!4DoSJh3IpO_np7XV{j$V#elWRwN z$c~z;vKPOK1@uv__NZ9>;-5zWp3jT^5M7nBN^?b4^GQyf3d1wgbMi-4^uwtbFPA5{ zy>_&&=hO~t)6ogzfw!Iebydj<>jht}@ns?2By6Sex7p7st9Vmyj@^9^UL9jS*R%PF zcFe7dpbX;z)pb7N2sj*QG|JhXo+xehrPc+$W4)-EsxAV4F-&Zg-z!aRR6EC) zC3*`%>iHnU?j}YR8MVbRO+6cE^BWD!R}s2y|wS4rAN0_K);lr)dCWYv+Y`wea0uQE=B~6$=bHa3QOm12RC|Ugw%@1i)fn49xE3M5^J}y{z z)v{-@mkc8H^xB&Y%KQL{fXNnacVcr{%G&_ zR+7}T?{b&DbG3@E&3DoAsQ6|3KFFim?>iga&eJV53!#|%oNO*9-e>3M=i%I(LT5(R zC;0B@dU8$LD7Ui#n-Qn$ZvVB=!Bg;89s!;p^luQ8cjIzuWt9e*thau?%41*w(D zdtJrNTqBrmdeVG6sU~)evW18G?VpS`Ix=$Q{soDirzT)oUzZsQ!1_U5I_DY}a4p?r z)}&tt)pC3H270e@fe|g&WO1ly%B2ja3qX#h_?!3vu4h+8%^Zzh=hcSwtrP~LPq|n9 zyg4HrvXD2g%KW-CTIc?|-4NTgd!hZCY5x$w8oq;X?fD*!PYpTmA z=N{bn+*gx!PIEnI-JfLw@sUG2>*0UWxN_T{5nZ1{;>xwJZ*)4V_PuE71q@=`bJOGZ z)f`8?!ht-PsoHLTMM3g#QC1IcHBSPCVqB#mJ_rXB6Ngg`Lq}|4C(~ z7UAUf*oc0Na0&O$KkwV5Z@Ts6xw5duLG*CDeh`>mT_%#XGATpUn166!l3kZqe}~Jm z<-PB8h=*}lC`^SGI`m6X#EznO-LuDrSid6;{y$sRj@ z)AfDOLq(`J{@pezG^oB9EZL-8%rCkRR9yOTjD%2YoxlRAF}co-J(A{d8XF0RYBaTG z4DhAuj9Dt-ZDuDjALqLWbBS=TC-n-PVVGO*Pj@Enjjf5NHt^$q{e|gKC~sEEkKZI9 z@a1&gWQMcc4Yy8uF2+VZ)WCvwx*C|bdG$|#bZyYtyIvhN8sUz7v(M)NdhM_aexB{| zsB)Cy{n8sg4y9(JDAL1pE``;J?dut-j{Ls)iBCr)Faqa3Z+iZNard1h9lqxmQet_@ zugkYe#^uV?Z!>?LH{ez5+6Td*;Xow;m=xK)*@BU%ENl|>aMyV)${s)Br0)cUCG_bm z9IOJ9zuc^~N$&M=_Bcz1VcGT;wTO_*pbaVB{s~kTsdcu^us|NYh`fyUx{{E76 z)2xJyOc8BKL=8nPI=6EK)eNO74xu7GE6{GXR+sD1wmjAu3!TN73U+l_zF_qjRc6st z4j{X*>3rFlMrdSXvQ!*jM#sQk*-&tQ0qp2lDYcWQbUpd72m!aZj?M7F0LQ^0#&dNV zCR$6Xy+?vqhMLdz_w~2pmE|Fc{q!@z8aT9BfxC3(s>6XTEoA#@hTD8NsE4~h)~$|a z9L$uq=^QJZ!P?fIkgpTt3@?+%U6GnYpwzbmJ*9bNpJLP_gh_!sf>kxM$XxIdKw3ACPJ^^%9e39 z=uCxb32{{R3x4qXWxg$S*Oayy=*3H;ULfTA6zJP5@|Mps70;?`yUxKInQm=E)Tt~% z;kucYgDYD6O|naEpH(ZH&a8Oh;%Er6#qg89LOu^all-n?Pj_McEdIun{Bi{)BDQtB z-yxf4cxS#IHDAs3OQr25gV&Qf zIJ=K9aQAk`%7`*3_J>)4+EyL!Ip6MYZ!a1R-~MZdaktywpWt9d3wJ)VOSko9INR;_ zo)Y9P3^Mf-zpi^2K`qAbH>WMsWRm~rcq3yRRKDVzF{*#SKh|8%$}82Gk3RbDJ9g4{ zqg!J2Cs%#ix9Ms237*mZxiU3pS*lGQzm5V>@zB7+?Ep4b^Wx%eJ650#!E6VC5j=NR zR(5lC93YesX)BLMa)Vu}QzknSL>gSVjJ`<_)>!Xtu8~j3pvm#r5nFn7w*yY}VsLB%YUPwx4}FgH`~gcg7a{3a zyKM3N<%vVqf3B{D`?jscp-wO-S;0E3WIAT3Yh0U^)#K(#c?&M`0jvng;o+fJF0Ltl z4)I!=7>U;8qcKns)Vn0*O0wpEP7UM@6@&Z01EN=aU+3u2hIn6O$ZEIdxR|Z!pbemI zf2sYo`}^*Bc*^Uxf(L(^mLbJ?4t|xm{=q=Y{w3i@Jes>A13T)avp|eOe&Y-E5Z7}; zrD&Ya80~C3L|-|rsyB{{k;pwS@jK2{Sd4u0_&jwAX7z|83nsDp1N$+u^s`h@J9-!9 zmgEXeI7|OF>4@5BHmaS;p^TPWPN%WNR#XR1#rnPm-BX9+$IsRDttu6cG(X+zxQzm; z>AO6zjkE$MK~1}x%yoDhfyt%Po?f@*V$vvQbsZS0q*L0CM&ntzbKSKsp_P&674(#oTv&&Sjcj(Jz z=>tSHlec=myN6sKAbEN(&A9LH6m~I&$>g=oKJ5`-jTADkBw@eYTx#vvF`sI=Dad-X zXfQ_qMo(Z*McJ`a?>wpPkGyZAoCl-+4!WL~-gl=~BF=(<=EQHYUV`T1?HhI1#fwo2 zJP9J;^8!B_vbSpd{6J?tu0w@&Ki=MIn+m=@4855Jpy@u~2IlYw*FS4E9J3!L$M{Hl zemA~_yYtFR-wNDxo`?*B8Q~b z2P|(vcIo}c=mqh4_96>E?s=NIbsV&-1r;*$8B%Va%;Zc@n%Uv07)()z5CSwoGucrY zm@3%fta zPkkV@JL4u7FJ=Wi(+Bo!LvI;S`Q%6-jntUsb+;QjEF4nbe0u>k$z_-USH#6z4XG}X>H zD2U@!>Db!;>PwIlt*iXUY(fxD^{kI=miPSTU<&A{+b$KfsECX88}#KlRuAGn~iM`9ZgOr;W-Lk zK)`NKf}FQft>>KjD@7>wsg{)WbLJ|Ym2(Fo$yTK8Qhd%HW4*YkihemT4(i5#iN9TJ zU=ef^I=j+HCa2cG{9Pi?JAI3amQ>&$KEad^i#NSAN{@B9wY+@dAr?}__oMX~LVTF1 z+4>(pnKX}Y%@UM*yY}5Ywb`MPE6cJ3;E?twn{;M&4rUj*mC~Las#Zsy_%aL*hv>!| zkD3MZU2rQE1P{=V%8L0t!r2kZ1HANp*jaOa#rT`j>pEGkvPwTGerko9jo9;(y+r-O z>(dwBe?7C5=;GPsPq5+D`kUkDZs9UQ@j~BX^4v`DaV`!~U*mnwPd4A#5aTs?CRe*p&{LF_ ztyNady+*8xD8i^$+p`9nLJICCDBCnYGVcU&8P&a6lHt%J8qSVR13J~;3BaQSnkrs< zo%#2W;M$+i`*l2<;p9!@=2Bh}f8}6fb&dL~qu@E_p*8Igc-tPWVN& zUVtQ|ZIQd+W#_|OHEzv9W_sLwFRwviffU~P(Oy8*({77<~?4?8(7(fW3i`-?&&9J|MT_B{s@bvQlY%PzD;)_{*G)lik z4zV5qX>OojgEV|KYTfyKw#EB8Cx_u1bVlQ`N60f8hA0mdNV710PsP3mC)gJ^{rh{v znX3Pf6DH#zklY>;^Xi*{ZXH_J+Ct{8~NLdo3@@5npo2w9UgU}DU|(} zm9DV|H#zqEtQuA>%V~US+;zkrO%I0y-1jj!b@xC@Dq!FtN<@449d+$`U#}6*XYs|& zEqQG1=$VL=Q$PdMwcqfG_G^)hA;f%HMm6x*RQgus*3c&TapT8V6qfHm<*NF(++ybg5HN|x=q&bN_!8Lm?Vb+aZMS|{Cc717XF&eSML2h zKI=I(Z2nZz=v5mJQ=U?TEonQC)!6vV$Q!*RO5&AUQ^Wa$X(t%+NzyW3g*Jybg`aT&rtSSx$d?LCR%Fv2t3BK1=9UYgMRMNSwlR3^Q)V0wcB%# z0v)Bd15659z3j>TEkAL6cbl(Y%O3gd!CowggTb1<44MylSv(U0whPb|C{w=mnhJvL zvHUs(RS}dcMtw?V`gGjl^ELDH?k$%;J}+Hyi??XH&Yz|y^KQwBe}VbX&AW^HSz&QS zmL3$#A$PGwo`d%Je7RKUWxH!?p=&E6Ed zb<7F3Sml~C#xHiuztWO@W9=5;3+>_2T-(MVcgelpoBrS+HH1gw3t3ebmB~LUs5Tcd zSR4Q7l9MdyzvN{sl*Jh_;AWBAo`(6pSy{Tx)gec7tAvFm|CqQ0-({h8B1^eHec$~s zHqltGK#~@BYTRJCe>>t8b|%wW@AZpa`(v)ad^g71*Dj=HozWH$FJ$@BqI+QahWr?; zH8i!}NPCutzqFG20S~;G_pmGVig~>4%CwW!yf~{(pCg57l&&`CG@|mtWjK?^ci;M( zdobnBZV%Q1^Rr8YjkV3ok9f!vV#%EN`^bkkaKG&mHxLJopb7e$z45tIQ%b!}Q7PMrIYP9iH0KijugBN6z|+>=T=^Yof7xNc zs#omU?;178j;0t8HR+-OT1tmg;2cpPd#A_01Kh7sY<5q}RYm2{-{-oI5(Gb=m2Nj| zR{`!=sM>^zbmV)`PzEjd(+tTBz`Y)NCi-%M7P$|}YZ4JSUH6@f0)uPvXT&okR7$p6C!Ci@^-a9Oa zf&LerZLn_c$wt()j2cI@U?+amn7?jYr)N4kipxBR@*Y3qZK z`aV2^HZZv+pzY_aQ1HKIx7uXQic8wsaOJA=^6Y)x9jkZjk+hDjbK%yf&TYggK~Aae z?bAu_Lc~0`+lI%}D$~&U?lC(q2i{XR@8lTBLtXYljPLbbDG1j40iL++*l-Pp^=wz% zb7%ag(5GRA>rED|iGm=RT`6ks#&ofD79BH${R=s+nL?pfy7Dy5DiWp={%s77#f{p` zviqt(a2_Y_o40b6+a&nR50y%Nox{IrS@^U&edD*EClp>^KbFTP}PgCR0}ZgZ+q zGp7T^2AJII_kEtCP^qQUnp}Q!ak6@^elc9zsLq}{aKD%TTl{$sn!IWKMd>i)J=3Q| zJ>*XK5~|@8T`3EJ)0!iN&-)JZv40*;sQF2ka;Rg-MSwACttNPKGGKOp#CskZe+SH2 zKg<4Z1$|dy;_XI#dp<&ID{)jDye&2Tv6V+SrH&1Emt7F&J>0%clTl&tTpN`*d9gYy%5qfa5eH0y4-jbTTA8qdaz50hRXsRQk%@hnSZRe#G+r1>a~#X9*w zMq;v}^d)l_fWg`tR`z*5f3A^Fi<$13jCPQ+RLB>&GV&T758v$%;1QhFcZJb<^km2j zLzW=QdaJq^+>%O&df5usFTPpT^;>wIhb20m)NHz8Z8J@dL@S;(My31E3#;LLGpw#5 z!M(hZmF1|XJ*B6r$`@7QqDWV(tg{o&1? z`l?jGry>L9Ymy~f;HRR|-qp~ZUgGKHz%s~TKO6@?^!<6jVq9M{^VPBSP2BB_+(7&k1>UW~foq+x*8(}2Swp$T`<=m_&Mt7X zcpuT*26UwF07^l>8lvUCpg*hVt!6OVF3%tBDg|t@K7Nav;THnYk1ig6%Bn6FHg|uf zzCPEGy{t2uQJnUt1wCetD8ks`qH?#OY0i~P)ra59_~1U3>uSWaB|}M&UQd zi6Nd^zf%pSYXitCoP@%Cug#{#9PS;hO1x5DH{FUk9{imPX|Sn{i^V=5xhJp2^P*I0 zl~KC>t(`4`(b+qmj+Ayi5*uzC;F-v$+S9%j%QDo?BPjA6{R9K!w?D$ z@P1hgAEkNmK^FDmuy|TZk5t`l7Ib-67)(Komx8Z9-z zzD7DMx4^gqXnULAZAR-C`B$s-h7P-0G)6;_ZC+{u?8Ni`({^TCs%lLdeHMBI1$z)| zK~b?o5fMZbK}7+()c3F0e_hmdjZt-b#@Rb}rU@%n#20g#htc3F&exw8o-hBk&xy9* z;9)tv7<-4{h`P&-L~<}*uGYxjUC5Mr$Qz&9u<8B`aStIRQdu1TxZ$%3lF?be%pY)2 z<37Lo=t6#!go*vwsu^Qh778l&EKdr$#V?zOMA!3py^5NI$J&jEyKPLub;2>K=Ic; z^&@l8HqOm>IE(()$MPQu^Mki!`wh*98{eW37H>LGW%n$)%FaD|K8n@eV!oJGztTHu zF7))(!rta*xGEpW0)2`yqS{J?wn2{)y(%d5sJg+B+=1t;8n|%sn(iM1UJSoPtQ`Q0 zn9N}=hTlrkvn?I$wt)?%&2ecxka<;jUS;>{jcGVa5M+P*rLYS_c%Fr+CQ z;@OH^bey5LA099UKC=PvLn%`TJ%|P3!I-FmlH#xdX8j zsx&ES)RYp8?L>17G8W2QzANqea5ZX{!rgO-yo)cmgH#=rtFx1Hk!m8h9(!f@pT-~b zxUEw867%BQ$U553VaukcnLRQaKpZ_NFXf-6_Q28I=L#;jSmAO#o%cidxaVW`bDsy-=-6p*Jx_o9_L=$FlO}L}~&C^hK=Tt0?Pb&o+X+ zlIu3_9oTx?byZ2^#(}Z?0c3~U@u7&uE0N;G=394;#GPuwrH;gs06f;EJpe2E%ikT zuQp`k5!b3Cl=w65=%}zdp|kUY;ckGmB4*`rb^j20BgPAb&BdIBU@CK~uq*mzocT0{ zY8)b5Zu`($LnvRjhjI5;GLp00)DZU9z6~6)aqbAM{J4%yxIt7=O)XK@liqBswHyn8 zek_^iD(_mcf4v2>?dF#=c;^NYgi`q>RLU&?DBvBq?;q@n0ZC&LmLRSd*w1UeJ|`;Q zKfO917PZ+qL04Ij*d|HzeHrQ=ojuDW9^)R|r2bUBbu8B{7BiZvQ;7<>}ctc{w}P$ZnO(O0#0U#-6=(iC{PtM;~xM zfb}e<@4On`W>yQ}NHQdoJYVGPRsVA+igzC6gFM6|zKH1K;vj>Djd8lI1n4s=( zOUlz5+@~6U0}M8zsQA3mf5j1A8s z*10AM);3FR2J|tpH>@>1u1|8wshz)lM|m%oK1ir7m*qTGT$HXGD?W{$&vDb67t}x3 zAcoT4y%Q`fW?7Vs;uf6mQ*t?U@e#EP!lEI`E59jjDRnWJsht|xE=bfGPF{IFK5Tjv zQH&pOodDX1;=%pJi4d%)nU1E_WQyS49lXv$c8irR7-{b*V#<{4zK*|ght2b^b;X2% zTiv*{rgo-8*`Abw_wNQJh)JDl6{$vc7w#bYFad!cpR-l81_j5zOz$DxM7h^06~=G2 zcH|oOLUA$STal!(8F_b=EU#^VETzWiGHLu3XtZ-I&&D1OfVT9Js+gMc=jsqt^RfSN5J);9*ay5lEX){PS0GsWwul!4+8Ukng~HHyYd;*c*aK#07`AO zPoh#-I)`OI#a{4IyK$aHjtz_i4{<>sIF1|T)(_qzRk{n)%ZTr3@vZE)&2mB8^UxhV zP-$yOAKyQ4j^lnmRg1;3nRk0VGkj}NVf)UNQPie-bxlvqW@mslgFHP+1c$H^&k4Z+ z;?J+6Wy3#TPel|~bJosd73LD7#$|v;=^CaBrNu>A*kPU~}JRP^6MbNo!@ zu62L9&GHhuZ~^42>J3O6yw1UB^>=LlN>>H2HtM1*OLlU99#n}iZ3c#wsbEb_v-zFs%A30+26{> zZw&6^u%hCd=~Yaf>5#s&@9n-cKhGzoKWkLjQ8f^{O}yHn1(nij z(!Mp(tv6Lqt6yi@hJ><9NH<^{&9=;R`yz_y^iRU?`9V6qoSGz2hR#}lp8QaL1o@Tc z1o9zsPwg_62@l{+C7v?l?Z3?9L?M0M!iYKnnX4on(R6dWdOuazqpM_n|Jm+xtHL#7 z4iW;2ra%8d_P57qga+T;T?ZY~eheF}`XCOs2fBU4??C^Bn%329E9V?GzNuf+u^2T$ zDlXm^hk_4#d^~#19}wSM&}Sj)K>n<+5=xh8?pD;~?P+gYH!I8`1z270f#(UKRcu+q zrc+(bhX8BqW!-mglPrmRsBZI{^d&aAPGMVq9#ava#k|!X(&q?L1aIwKZL!Cz@cB@k z&Bhr20SQ6V@6d9>d$l8^O+1IjQKvPPF!W5>y57N4fKPt<#Fgm2S^`92tN zk{fpew=moZjLUwLC$>1(s3F)eQ1RlAf*@(1IS!T*30nHr|8t9=g_&pv^*cQE09+?TOXMaR$8}kTF@Xq?z4erRejS zmE`URN6jzUvgqrSp?7U)T8&4@+n+VF1p}aA5$@DZPC#SKeuax55md#x!vVP5{&hiP^9U~#KjwqNSQVSf&b z)bF;jKco5arf{qxHIqX#YAm6U#uK|VysNDaDSc(qEA=Y@Y z{K`r@GjKY=w~oHS9*s;!3(-DFprI;S|e1er^a2 z*2_Xc+(!PkmoH9tzVCr{_m0$0tA-RzD8z(aeeX{(tJ!UuPFFF+yS~<@wt}}#KS(wb zbsXrn-Ty7rX4h?-D_v3V2V_>;&S4@5)rF}q&nyVmQ@xYMf1Q9dak2PlHoEQTuE`Rp z_&US(Vc7?@Xgj7s-Dp^@9n@Z=$-W4pJ6h1n_ZAl#jbR7v5vtC36IyQMfSa?K?#Ha0 z`_`ZjBe~IEQNO|57;Qo9K3@CjXO<6&x#4Q5Tt9`%M^ILSO~~2>$3o6qUNKt5L>oP@ z*Vs;uw{4CBAuzgrLd(Gd^><5zT4k-O9}cr|D_6X4ACMqgj7}56L32OF9snT&N?5=n zM#FSBCih&N2j9vm8MviNWcRr>9ezKP@t06tr88jysRw%muG05kKor>JR}!loPi%8~ zI(N|D;Z33W@^E%51Lq3qS@{V{i5c=EfX`UVZfXin`T3cNF?>a`Zj6 zbub2P*nYv_gq0-TrlqCcIPU=C977;#DD@VIWZkBJCnSexVlznBhZWI`;L|4xm6?hS zml9QSp#GmxuU9j@PQUynnkOjx6MK7+3Sh5dUw*;1!j!1a`&uzyhzB}?CTKw`b71rA z>}Ij7=i0O0rMxU&K?1Mp3%Dm<6vbp=m*-Rix@O#3wO6y};uutM+ldbMHq0=y=4Kl{ zoBP{J_v!$2eQeq`DhF!wSGbQpvW#ay?*VNEa;Tq*S6jfl*0S8l)^qj8d|uO5Z+g8M z#P{(lz=^y+F*ic1U4O)jcAKZ|C%#H&@P)2h2|6;ExX92`U|iO^?UsaS%e0}K@#B0G zNGGGqzS`xE-`ql5Z;N8XIuSr~MPmHz^svWnogP&nVpD?8#kPJ=&;(#Yuh$^)Ovz6l z);8{LkNtQRqFVQG|C-#ay0wk;5SDW1-S#tC_p!-_q#m1A-|6KxrUm(>W$~j8@}V$1 zHu`r=E_gR?ZR8&f82AF;hZm<7>=qp!Z&94Ja%+{~D3&VrN;qN4Oeg4F@!Y$U zMUUt}DDvT_rYq4<`lq{lJfrt+tv>~Vqj?WM-XC?Zyy7|6ekH3e3l-cR5Iz5P6U;uw zmz$@1NH5o8?t5WOX}#UIi60$5q4G3W)?~fh74w|ld(7@B&xx>8I#kIQta({0at6yJ zHY$YQjbjRj@cFZeTNC06Nzr4R$$Qbop}H7-DKzj1%cLD8@#?D$w2ok(bU>F5O{Q%zUH8_@&R>vX`=<=HlekNp)_t7@BHzj(W^4)cF|Ny2!o?N|PEc>KXxK32bM z`)bpo>G+GHNWdafFPK;iqmQRDMn0U zX}LCF1LB~NVNZ6JQ^BMd)_4ROVHM89*+5K!!P|72kM&1@Ak}TcIg!`Qd}>StNkYR zs9YtkIcwbtz1b`m66m!E_1OONF#fL3*P4HoshpgF1$ESG)NEI&YW{ERK)E)SA)YygLx^Z;@DM<1~BwX>oib>kqj zY$76m<-xOw6OaZr#Af<=+OVGW4UKV@Pd1Z3=E+^??4Y0e+c(l)*Ux{?T!!hV2dr;Q z-BZ;3Fe<;#rP_>+KUMQGK8FUj+Cj4cR2&G@Fg9eDOAod7-p9muPFJ9DwEn!m)3bTm z4klXC#lrLcUJ$Z^HJFB^sO3&m@upl`==MJ95|_b@4R=@D&s`z!k0KeP)a%P1Z%0CwHm^%aM8tf&0U150PtFwb z87BO&gd%FP4PjpMrA0p)T2}`+iQ5FhpB)o6(Ze#V>kLf1Tz>QeT*^i`E$(;Wxb&_) z$+cr7#2Cu^3nc zilbJx&cL2!`CSFJO!nM-c>6S|3EW7}`*QiZ0IL1~cJy{Uc8g=CP(|`yzhV&;7|GkVP;~wY( zEbJiT)Rh(KK{5z-iQS7R?DIH@<|^WMt{)qHZ28GTN(^A>An9IL(qFh6KH=YFdZ$|C zBUBRu=(q6C$Tn{|ei$p zAX{X6t;b?mRCOm(c*lR4c^j2a8k|@_1ghW+H6wCW^2DC+4|fjfbOo<`KIz9sPci@A zU55QHe~^8T90&Bm#MZ?wkOHE{SMt?z@*Mlq#pJUcD7B{@{t@0OowmU*rK6iU?##K; zwmTl-_my00>ep~EqMS;^UQIZW>y>wVDc2{r*CSxI7WLsl+Bmr(anWlFmF&(X?d*Bc zjeZq>O%R#`WpzJVoLdp#iRK@*N8F9`xt;v&=|{0snk3D|#**hDGB^$srB~9SX9IV! za*OS+8*L&o-sHs1TYX&V(86HOt#f4+P?^_sw0fkU;b`f4CwnArnsB6o-+5fmd52m3 zsDezhrF_JVBi=h`-3Q6H`r0dHz;o!h%}4%Y3p0xuTcTpdeYmq~r&7lBfa1N+u`+;k z!tXt}Ylf8ZfD@6@IOSVPo!OkDZnO%fDHx++R+YsKn`EZZ3^na1-2 zIw=7yaCuPqIDC zHJ-wCQ*@}FjM7S8`~w(li}`cjI}1P68in!+Rx@*9P(=07-0hy1<^995t0X4Dm#!o4 ze^b%C#V6O*x;m)_LrsG^SbT_HPFehoHBeM%VPX5p7Nh2eKWnzw78W2Eh_=nXTUFFKM{ZRPFoHi=4eF?%TKbA&tzN`zl^^r$8pIM4DKdx6AYhn5% zS5|q(xzif9z|D96uki7Xb(eRKtDri7KMt-Q@tPQ;`u)!THr5-zO{q7s>UD=lckJA$ zqyGR;cHMj{cphs0F*h+zP;vKXOLOgYE~qE2I=jQd*S$#*m{2c0eiJ(!Dw;GxOL%S3q1?3aiO0gN6PcjuZB4qTyk&h5HugDJ#@9Ub z$IgTjIHi5Fr#FlBbXbT6Tn<>s_;lDT9=oGr?Xr9;EPD(zyT;dH`6;f|2jkybADYi) zhj1k7RBxT{->M~@ud&VV^y<6sfohIkbq4#++(rgX=qceRZLBl>Z`&b}F^c}e+XHQE=#_Uiy!9~OFh<&edS5D)(N0lue)Jv&nD?5G{x>4teL zh)01yrG0x57WDU z=5_a+l?PGwniZmGv3IWQIK5oiVH0u}WxVsJ6$sdq7(d!228?9m@-|Mgr2Od-C+_Y3 zI+Nt5j~k@WY!|RYH}7{wof|TlR}RbKdCSZj(h%PA>rt1sh6UrdT~=MA5}z~Lf`_fPeRiR-1)*@%@zdnf8Mz544;3 z0ebskeSdxMYQx3nG3y`T?)%xUnoO7J^0Vk8)sAek2r}DLdbP5g9P*FO_}tPQbigx1e=3Ex!U_L@tn1Pw^-J0Y6+%J>=1-r4{RzjkRl z=C-u8#x~Kgbr~%pd*h%2wFrv)zpt-0%J8_fGwHmo5rOYRP(mA&-M`7-qEo$m);6{c z@_m0%{+yvsW(PH7ea&WvWYeGLzEvicMWZqmR#qW*A!q0fEYPxg>Y3Z~+FJHHKx<>y zM)Ac+bggtJHo_?!4&W2y9y(I^wXR0Y-8*5;t0beSvVo;AT!ze5wO`!Jr+ZvJn(=e7 z(_n@=^2+5hl3@;Z)asQ-2Xd~1=4Y1E$yt&ZTwRP&&%F! zYmixzf`l7JzBWKd52`$bbANEz?XCHT*nSVZ9vpNnFE4i7CuzsWW{t3AVf||n+20~v zfz;7&`XjO;A*EjETth-Kkd5cRM*f1T2URKedY_Q2k{*gp?oXp@GQ`semWpO?kH)P8bP z%WMl|6_|$Y^LsX*IEXs?O^XR{)jM%D_be_oxL39(oa?=?@7UJ!kILc+;ekWsr;mGB zEZP1xwIZetSJmI(S-B$qX;TY`3Y*t2#<8TXMRshXotRtL%ME#D&9s@%YA%Xx1j_{u z(%`xh3H_g4E+}q=VJjaVM#A*%6q4KP_AVG?>jG}lQ{cu(%iLt>XmUu;R<5UEJ%M(v zjrJ352^|N`QuUJpNEx4&4)p#&cRhvnnv)= za+f5SD%2!RxZ592k1(@pJ`S%2?w>{n!h#($hQFlbYCMpa$7aKLRU=-j*qflkTWohA z{oVl5fWY`yq@8Y^Fgp&DhwlYgP<7rii{E}gZs2r;oclEijCwx;=>7a6KAQCG=<>w- zZNKi?Af&0ix=F^_+eonSBAlW8Pgzf|aFwPqe%3E(i*w9Hft19J#)YrsTf`K$o&h}P z?Qc2u(ee*jGj%d<7rphLd`d2h?seaM<#{hUX_+Slaz_%-{w`9u4|mKlRYBG!_xla` zG8}oT7Ch>!z0@-l8mna9sBPn$pKG1hAaH=W*syGN2PyyCd0V@$(NCiUO9-XOu~e@s zRd9fgLT4p~*T1^B?O+#je%-EA^lsUON`7t_=rYzS>F#s0)a|Gvx7?0$PI0B8X}iX9 z$SE(W7{ME+xW$-G)m2$oWo4>YOqY8Nw{yMBu1C>W$bG#xdH^ai4GyQ|8vqjj&}Zo` zxRK=FA!w47QG~gZqf~H*+rQ$9C_-z2%>z5uhXvhyK7)2uQM3J%fwcYUl2JR^pG^eF%$ANWys}cUPku70|h%_`761^$bARGeZs* zm9lfVQqxO(FMg3rK1|f;Ce{7i{P{;7vh?IOnjuVIE0PwJpi;6QEhYjSV8#^E!5^s> z>(6<$*&u>kKP`Wnlk16p6n|)I5zS(57Pk1mnYE5~aU(2GIbl!uv7fP(B0+Ye`gR4Zw1L@GZLfCh z&Y0B9XD2v|21KbFQ9{1tosR9*qX0YoER16|Y747(^4{J1hlyQaT}hDZOKu0%1qtwZ zWeyBO;ElSYObftoFZ$C47n4Cr;<|;OGLi8v^pfvu@-V3((02#yU|p-1C_)x3a6N6+L6T1#SKyQa=ad^PEhdnkb(|BIuUfcO}4pNmWvy~nP&X!Q0HC*{dl^% zIs9(!5aq=GmHzv(O6T+5=$1|!)gcsD=k1!uW{uLEfLA;y1!ZHCC7t)L)tJ?FH*KFKe z^3JMqyr$vnbX1K3`))%3mx`bV(7!A8sv^Lu`frnD;(Anvukz`3xqpyudQM>Mwrt9W zp>8~(E1sqH9aadN4g4d6+c>sh)}W>5oFD?c3G7T}N+-K;2!H&G0zj+1!hx}IWXMJZ z(JXdy$!kZ-Bue}F7pjX%t=Oo~S1oZi{Sn8gx3;z7{Bl`o@{e4K#j$$!y8TNeK%5rP z+!^ML(F6Nvuq?H~_*y(Hn%V4SGY<`LcJ%Md26n$%h284$>YQtb)1b(*@J@y)5sUFX z8NdltW}K{KdH}ZlFMmAEzzt)=jC@Cb3gz5n_?*nfM-Sr2E!YfQHu!!IVGDV=H0PW4 z@D-LDLqRUfj$f*-rp{z}YrfcDLESZ=hAFxgWjk%(k(0rx32n*ka0WoT!*o^gP9qo@ zD$5o*?)yFGIjzH5-1apIo#ZiSztPeAr;n!1cE((rIXw`@U6E_jM$Nh_xNQAcu#)$QD!KDtFj_sqQ|!P^j@|UK?HAdTXsz zOo^%FEHj5W9hoqM$F#}cu8B_<2(nxg$$Hy8A?nR_q*-!)Cn{T5Ju2v;=6heqovtO} zxJRrq%(C~cROVT?3_I_QyZW=tvN@=S+Ic!+^6i_6^zKNUD&%3;`+AjDw{@wPCHb7f z!br=#jU=Pi4fvJOlXp@yzcXc=?7oxkUIHb`1za49#6K-QyTh^AvcnlG!rPJ>e2bc! z(wjTwJia;6+S1d>zL_fkB)_k6c-|NIyAAMg;_|Y3Eq{0^pM!du_U*hLYNg{8Fa53U zu4yxk@cZh#7o)qWCPd8;``X3g6z2 zG1W5(`;|Ox8v}YzjVUsm^qR!rQx$QpG!fUL2OpuFo4gx;;b-ljL=8qtR#~6c<|K3R zvDv78RR`R4aMGjexYKt4+)*+h;=FNZ%2J+OtBthZm#+V6%jElM0-8p;2>oLT*U*@!_QWRO(UM zh$eiawNS&2QsL>i{e)+~I+;J=nxMCNYwK6Y$2qL+z zuBya|akkYr_gSzrf3@hYy(;^j4o%1c!*khb`e*34zP#qTK)Y!TAsqGmT`2O#IPkEz z*8iJpDJOtDaszEu$IDRAtVpxJ@BsIHnreN{wJ_TYHV`lhFkYp^<>27ayn0mjy@O`# zIQ-FrP2S4tJ8r9f`#l7G1M(6)04*!MnAElM42DGDmnsjB)>JtjPQKn0Ebe~w`F5I1 zVOs5kx0kE#IO*_K=eXpMVym7eX$j9T03GCXtSivhs>z^{vH7QkWbNt(O#cP-Tx(Fu6mo)!olw7f4C7m`+>LZ0MxqTJ)iYYB|!Sgem>V{ z^y`F1C!Y#lt|51X@33pAm0z-p?Al0#CG_9ueO1kz3!mx3Y zWA5?2yJQ_b?CtC6$?^=D_j+!w;sn^@9Q9}H`{p-=XVS2e#=6q){r;WEuZ=zFmTszp ztv6LkK|^7jGkr>7s%%4r`i;*+}vIw z5n@UHjUgwZ(P-F}Ug@!k0o%uIVf%>_yokKW0}|`~k->COnzNYp1h%?}7wqskh{X)p z@}_M{H_EH6>9WPc`-Nh_3RFkYxh&KT^QrP^pDTAgCO5`{G%S3CFChI|=wGLze&BZu zyFF@V^sT8G+0=_-{@(3+keEic^+GbG1MN?f4*lt*y{!JlZvwZq=V8)nON(!}u(6>p zlbYi{rLvnP>ms;69`927V$~4+i8Xlf=lAqBc>p4)vPxSpEzfZ@M3L=ZC#@@A12ARc z^Jn6hq19XFf{!0gm@b)@`gBd0@Em7XOQ$W!!9_IxK?p`22b*EF(B$vK>!Yh*!YNi& z9^R-pNt^BZ9)6Pz;cxIXk&}A~L0w3%v0FW?8_k~^mx|(cADwYfnB^8AL!*lSQ~;ED|^U7i=-f3dX5GSQL9+Lqv7rgj63PqH+)`2w{IK_ zv)jxBb$otX;!0+*qj>ne=OknN?bH2v9;7=) zZsWHwtPp-+miJh$r|aLlTAkVN8>c@@j!LoY1hTz7NtE9Qrv&N z_VX}5qtj1*7FdmU7nc5gISBNeBAw%FDB$+)3*QTpb712FJu1!CsqWqfeLeK=hY=p% zYWSrA{%PxHz!K0eSJqHt*!==AG+~*s@=nD^-u#Tewa9({IQYUV1?-1Rf1Tf>rCN_2 z;28cSEqK)x|4{*nQnAgJ+L3f0ls(cTEF=LvRakE|inHZc?AG#+)0G)!AGS!os_$q& zU033`vfrNuDx;!e_CbI>#oU{-uGSmqWVRrsOQm!KuJ-qES5zD(ygo}5;rX4^pFJRc zr{!UW7;pP%Nu)HwfB4AKXA<_eA$gES-b?!}HNrck{dFNZPKOf?r$Sk}K5cb$`nd^n zza3g5)j+Du6CfaGujS2f;|f!rTf12yN0h50QW!Zz#Y5Jyu$$SezmzBZpHBFWyPD1lYOKN;R_@+$)YyuO-8U3a_sb0)g~lW zI!b#RPKjD4&iUWqy)4Asdaa*95wTwa@4e8R^Pkl?sktO~eZao0C+c3Jk+pKe8Oun3 z9no-aMtCC19Mv|sWMaC7{y~_37A^a5sP>Hs2eiiFO_rVKU)N;D6>kdm;p11`U^oP)yyST)D(H8hSQQ{JzfD;qIUIndH{yu zLY)BIj4%q&RcIz?xa@*xX?D(*{qH_`K3YeZbMmmL{R^TKbApnoyn_<{uzMDTa0I(1 zTzhk2N*l9sI@9&gSl4*=yD69HzZ1S`G*)3f8(4h-Hbfw<{nqBt=}j9;8_|Oc;S=jM zBGhc2w%8pdnEE60?r6@f3|>QsNb(e;gE;+GoSRp%ozzmV3!tH^T~jS+3oujkDP5-V zVfoZp;bZ-=2t+z-2VenH73jmLDmijygXG(lJCk%Y7-l?2Ep(tEV8>~I4V%&)WasT% z`?g9?18fJtLT5=HS{~9^$uEfw^!t&H>s$#s3^Bln!)Fvv`Q@{BPW6Q*mP*qz1HHGSxXi0-AF}1R(!0GkaFFsGx1ykXJX1uxbK~4WTCD4?yB04U z$j?_Ai1l-j?g%WERx&a>ExLsl`%FN7!h!3}Gx8f%Ll(X?u+w+Z6`hY{H2cczA|5Dr z1C&|h)^3r1();Rtp4Tf>rl8exyYE5>lhgbBEUw0D*SM^v?wgqhC%t@K5^7#g7iTkw zwU)Lt7t!;S&p*~@v21?fL}oy4^NfG5X-VuhZibAIomzWJuT^f6wcL6AHIYh7voY7+ zH$C;{48c_6mkI;R^1uRK=ese*l&Xs?~nDmi!d(K$&P^)aILmka;YZ-)9r8G72uN$p>jB1x{tryt}1R{phK>2wGWvC7D2v2H^bTa+GKjY<1}1! zr>h@cEJ%NW^W_9NES;7+b69*&k|9%>c5ZI73Ei^yC@O49wSDDh;K*d+n~lS7+xw}p zc&`1%Pj;qyxB$1RSyHi8U_))wutp|Ww7U&QJ7kPZ?`Ku$uksBi>=xhjIlMj4>tA+( z2$^hJAZ(yD2}YV$V`J10cjM9<<^E=;`QFAQBb!|8zEB;m`Bgzz!{j&ctG6!;Pv!3S zQ^^xK(Fy^qXtc!;lQ&*K;{C^3zf1L*{kW7Q#Yf5Ltq_OpVIU2=z*?o z?pI1(tuz=N1$Nz?@loKiye8gkGRg%W z8@|l`Lk z1!H5N@Z@?VE-cT36;3yc1OXB!{OC92=t7lV+$;2q zPsP^@o-bk|O&A_Kt{~V|nI7bMr4}zIqYnMY-G3x2`5Vg%V0NT;K{lHgW+GkDi}dW?yKywO03L4|9KY64r5R9t`{xU?TF zxdQSK-c!3q&WS}josz>r_uLC`Xy`KdzHmK4S zu19TGww&y`t)g7)(tv;NIRMap@Am^Lo!-B*7dyoYyT6w-&}ubc0M3H;g^`#KOn5{*Iux*VFBjP7{tU00#z2kuQ6c!(^Pnl2YLTCKv3axU|7gcl*p zv3T7U&B+_i__9`g8jr<9i>pH|aq0>(7H7&|dtDwzHO@6>?bbRj=jv6mtC@h5waMf) zV|xBijE2y=sI`|r0a4IATdo)gY$Q?nfUmszNt3XDJrLM|NU)$ z;jXl#Be=Rfm7gWD-nMHW?ml}T2q*E}z00j}*vH;4$f_y1`@n}Slo4bc$5ZZ2=)%z1 zS+Gis2-){1qzwVBFT?}vBa^P~$>V$O559CZFB4Xmlf=DN`o$$P`PFG~VGibq9Ulk7 zHbZv%P6HI-cXKd1Ca#K-I-6`WX=uIuNB2(T~H;g)j9MEl-G ziVKnV>7r#0I*-Y!NmX{24P8mPE|hiN{Ru**W$2E>OHlrow`3D`sSaz=T@CYgw|V-- z#cR4np40b$><=(!sUEM5gWR_A@?2;GkJ+`rB5TgmsuZbW?t?BIAcRS#iOqSq(@SOdDR>E>2C6Ev-+Hjlt-oFZ zj3{SHbovbBvVO3u*%2v3A#xk6;7+7ji4v(!?J?+;4;5URNmI^#$YYv*o*=10_sF1Z z6*`XT@h^f&CcP;`}#txDAPgnFJs z$8n2bBomh;DQK-nZce7DJbgAVxiFVEVEkYgxMNYxBICQj%-^s1QrbKd3Wsc zI|$>{U}kYW-N&V=k*rE2x)jds*J{7Si0}vGipF5JetaW?e2o^(_8xKzXVcej?1$~r znq93kOa3M?n?&pKynFj<_~zUBER!D#jYIk;qAXz7)~T#OSK+8Am{hcm0}jRbR=Rpq zdFODHF{iX7(rPw8>r|hf_jznuBfJf0XV+cVn0r=q$hzlo;@%I#{&DFp<9h`j1uNYp zm>joq?{iG~H~rO3)F-5%*@JzAcie4a%=x8`Khjmb+;T2?-|~;>zymUTaVvhz+E*;SQmc20UnlMYj0Kco z!w;4(!6cFGxq94N9w_YZ;zA-5UN}i=KM6ZV8~jjuyYRZ{&?eI53dAzC&RyqF6Atbk z0a4hOnz+at>3EP}E3g5!Q`S;J%?-^%t9T{mvskITSQV-ZrE{l4Su5+SrH-N7<+Mz) zGkJ~FuJUry&?cLo-p&_RvX}1~mFjZ)KpZ62I;D6m|7nJK8A7QwV!Q65FPFZ5V?5=eG4)2*^HavZBB%H>vCG$38!f?$SCC5)0aZZ=n@-@qgRr%cd z+YBw)al_R^IV86sj6u&>H9xPPs^o!ZI}NJzcZ3Q{!SvYwFRIS7OI2;#qQ3>i01^ZN z6%bJbvtU3>mml4(E;qc#g^Qis8`f z@8EA_eL7Xdko0eXf^AeMol7QKJ~i$z>l+l`e6CusOXBVZ%9d4O=0fPk8F|A;Rk?IRNJL9br~AI;7xK$ugjAc%sKc0(W6K%urue7^)1$#!Gt?bO zi4V1L@aCKzdZquIqWbCe-l$n49nf>n)kZv0`kFX2@+}XZV|IRW!Olx)CT=AeltBd0 zB-omHd9e91(E|QV@2DGR1XD7~t5(-Hp;_lP&SP(mpEQ$c?*q@XsY~~-9#gm1|sR~w+FVjSq3_>^=gx5xx}G9gERG}d3v@WRUi||+B$i+^427Ou(9Gs_v3h| zAD@mez3-#gTip4^qZ5C*!A%yHuz6;uLnNT(Me$LtH%7vNaJHD(JDyd2JhU06mf}?d zifu?UTL6|G>)z|lMPV+zOz!%FtnefU8F+sC;68ur04GS~4zlK{KWtA0wuTY#D!;w@D5_xgrC$GdoQn1ZWQ1;4w<{sACL@vl^ARw8^7t*Y=wm zIpE`eP{s|Tb+;4oO)d_eO-^se>YQHome+Pg>-LsO8*Zo27+S2gI%_fG@GADipPZ8> zN7BHLHS}9~qs4RIitLf@b)4I@)Pc26ha<+d;iW3Hh2M4RB^zXG!hG&^vOjI1)~H=? zwXK>*h?OuVBYb>gRvhe+-%0LyhA9x)25G`$IlSGtk(ifmIC91++-Y_M>}O#-5AJ9{ zeOHdR&gh5deR?cF9uRGl+X7qdqDA(1ugtoKY7TsSKP~*5Vz0fNCzM?Au0WRuwlGju zog|H?G_E|Fquk&$m)i)yj0An&c!K7+D96HHz82k834>?zI-XFNmixI;GqI;=Y4*9D z<{oQX&u0g})O9Db5w5%AH@k(o`nFdF4z1^Q`ww$$?67v^12yfzq<}Gok-E4I+9BTa z13DfLO7FUsjs&ztyfi>v<6h{P?`L^kO#;CPN6A|hboJW?_mud?+wFtBKnFw88Q+RP ziZj0O`%=ENJdP&ryA>SQXn6&OE+;h_O0@6P`q~qI)RWChyUa_rH7jFWo#Y*_%fQ} z6jn%nzro3wAzyNE5~=O4yPLwb!y7J$T&Xl{zE&;b>jahgsT(rm-wF$zI&yl?j`LnV zZsrR4U5R6`iHGFv#VpOkY1B!vI*-1WBl0gYfos^x|MyFucvppc2*v_#@#EBiE_Cn39a_JJ^6=AB)ul zk`5aM4@)Kf$2=4$S;@nFyEQmncHjr`Fv#_Ze@_uESM%kV<;z-fW|Cu5djBoq4B5e? z0ljw%bL{VGe2HrOxQtbLlv^R;Ua7n4O{g?`otAJj4_Zz5!n(P2Z&x;5+3NB|;_t!J zH0N)i=?>YRThrrP>NyE< zNzjOb{*U-J<3H~YRmX3Q=(v}4>%1tX$E4o;8$9nUxV<{p0u6MLz7uJd(q2hu`Uoqx zV1w)PmF!;hCQa9V4^B@mQ<%X9@_|#z^}!S@Kzd!;T;|xWmc(STEoVeo4m*H_y={A-^c`fc;J-O2R%Jp7!c!!bJuoI7b zy#<40dAv3?C`1Kj7tp%9)i$C7ZwdP_?8a8T8~<+28zsW#t?i1tc6@0Elyqa`DqX6A89+doyCrs{bV*4}HAcxoxz2RxHcNpptr?Z#Pe)~B!E zWRdF)@0lxBAokA5R0kEFiT(HI^-ral{O(fcJ@oAtC!nki*nLdx*zFA*W6k33uM|MQ zN3I&673in$T)WanM}>WG|HmGD)<2DUIN7{UdY%A)xbVIXjDbRL4c}k&p&s_T_`I@* zAq+&E0_kJ*K5}WdY8?3Rjq+oM!?&w*+-}CoU$-^dLce!t_qQLsSmCF^W)V-X6F9^0 zlQNVf^j4Yiw`xkZ$=;t|7T97MRaCRy1^oxoBf9+4d$bF3sWpq659tn%V^vo>z=>>C zq;hha_=Dmc9A!i8aBW|vWeMi@wx)FaFN&ot98R#2xbjR>?oD$e{?c!K3t@_Og|$&^ z7iZ3^H;*#xG* z(y9Rj=c)SnNu|kovGGc^+$Xx`rt`+FRaqbfWhJ81<^BL{(vRT5d#neUups;E__g!y zbt7hxUo!*Mz7$^HYo>@g|FrRi_PCu7Odz$pAjnhDB97G<;hNam`n+V-YD@2R7Z2Qv znaZ$av1jzG@}1Zn4Y~kyfME*UU)qOmfvJ0`LhA=CM)Tr>wAlyQ@{?KZs=<`6Uiquc zbN3V4&UK0UWtvjN=rk!cHjr^yxtIM7``d#@NC8Q6fd!oTzY;%T+dVu{+Bm7Zd_(%fRx7NcGS_&DJhQi%TO8Wa z7aJ&(Zt`r81hVb3gXiFS51q;GNJJDp+v;25+HcLQDg6~YF`DTW7N*u=FD$%-{Z$cO zfdBn_(wbk?2d|7;tU(Sk@|6SE^J?2k^&kRuepwC!=95j7BmaC;nN-6Q2%|{(CnLne z0odiyT2#Vb+fBi;sr6%A^SU1w&dJ%Y*v31L<8zu{56Sw*x$^OVAdQzyuY{f+mp$^- zF|DQT6zgUq@=nCbU!8|Jiu>?r^3Q~UEHbs8M>Z4WalGZr>27i6goY=b?)UZgQR2pM zf-UhZSL;Vy0Zp2G_D0)NWHgDy>p{H&2Q{tWT<-pu@;$%-T4K6NKyo21lt1oCeJpkz zZwgVp>xI|a?}#6xv)rFuOPaJswzpM@*t=`oZW6HJ6*eAEmLD28y8eLDG9L(CC(kwp zV``htULb37=N|AwBPqpNj z!6@MO-5zzwZ%zLlt_EESJ`(hvDdeOZY0ZvF9L4ovawbPV*U|U|%*PsC3;2k1B`!LP zwp>}1;2FaA?o7PydO~n5l`yxE|NGgq$}VGDV8=-tS^M`YoY+AZvx40r#S(xuY)tG` zd9-M>kk{v3vf+`VRCuN*9@jNqX6u0dk zeC|`9^K&z)Pwj!fIfOU=!};ftJ>VOJJD|eNnA}ai9b4N=@5}xlRK5A!iHH6uNxiKz zJA={eUb9nTcJ7Xz8<@sUNl3?>K1}`4?tf;*!w#+>aE6hVx$UC7AqJM3?UDJ4qC~t z*Qrm>nG>d}<2e8wpm%a$M*p5;d+fkyfl}r! zk2QPamS=c(_2PqhyE?hnp*r-sp%JkVe_wU>?`9MGwCncO80n%3CtAsC^NkZP_HBb$ z{HUQj`cuVb<;|5eHR<)NOR}FCB79b^8kO8G2Pm1QCrt-cwv2C+W2fjJb3tqCUuyUQ z5{t7o%vhE%LDH&7u(*~3?68QA2l}0xfOw|*yEF>X1XegBy`f+KI+Lzn8m!^-|GVwX zN_jY4nAg-f=Gf~9zhM_&41m<%&gUk#G0UcoT;uz_!3jEe)O^IgY2+qvZQ}Z7*}#14 z-;1|$=~wmbXg9TL@Zpi8tT{XC(){e|@lC4#eta6&Gu?+tZ$ZxVM)m^l3-D^I$>^PQ z748%zryMyJrvx?c(q#=7mF{2q zY#~)Qn6_$=@C(Q_y!!KF#a}RX@~Tp3e!36nl$qjct7qlfyHlB1uaeJJRUdyx4=l3m z`_Tfw$MC(jI5o>i8j$+>T$ss{=;EQ`4%ep(OwGy#T?F7t)q`m z*D7qQJ!d{#Y~J~LE?2EJ9^V;GH?1$q6j}O8p2tW(S-zn45YDvhmx7GrR6^kHzrW3% z^P=RKmon5@Dq1yT$}{N(!m96hJHZ6=vQ4B`s2^wFAH4eWEMFfHkv^2sV)4ve7rM=$ ze?Bs)FvMS3nUWSlxcaC54gqW#a5`%#H>= zLI*llM%(D|$=M4LJ}ag4wYn(~aNZo{)1cqH{@%P?@rqc!?r?i*&3cs_SlbGDoG4GK zC-uXFv!P-L-HnW3gZ_tDIG~S0vFishaZT3JBPreV`{l$(e<0X?3zHE{M@Qvq>5i!N z0j^ZtUHt|YlA6_Xs_?^wxFfJST3uVml{hJG*OiTJ5}e%|i{u#$T}IxvUVRi0ebNQM0$J#WX$2fkd+IkfNDdn_NZ1 z4_L1x)$GcTLVdfB%30ThV)qUpo5!M?LJxcfB{@{i+2dy47piWEc&_-DsqHERwvsM1 za^SPFP@Z-Ws~m>FuGUX`SL@HLRS`;~qrn`J)}UryH765J=sOjOJ>>E$wP>kaR@g$r z8g>QCCfXQdXbW6EjPhO7-{WZYTEOp|rZabuHM;%>{FM@tB5KsAR7ct(Vi${wS!m+~ zZd0E6$MpB578v))3-e0UT=pqdP2@_LRleT)M*O5A;AvTZf3F7H-_I1lB+h^B+#Y)I z&Ffgh>fe?}saOD~z8255`SNGuI@l^fI*g8h)~Vn7;H6_mgzCPq`c9CX{Xu`YB?tD* zI8!gFv}@2KVd558+0N@J!yJ6T?f!SN9&;9oM;TTyu_9vA0Z zUs;>Tzb-=johs@=+qavuhiS zPe6mEiXMogxBHFDWOUCLHe&$eQvy@GV%%IA-#3f?eyw!*UJPc{*bs;L z&59OO`9_RBJ++#k1v*OxJ>%D#|L_612Mr8g*rJ@2?qz_ zhqk%hJmLR}_*`N#MsTv`_tgN=OW+#^NRqfH3K>N}EAe zb80L|=uAhCt<7Y=974>N<&9!pFG6k{p)kGC7)bVR|8uROl|0auvcnDH9@Lw!(gic- z0)M`}U*Qa9D~r)t)FUAiU+8ypnG_pW4+x}I_4E|DG{DncmOH(d7aMGk6-w|%RjgSp z!0dwP-Yu^`KX{aOhuYz8Sto0+0* zP_Dw1u4E+-98`^m+v}=@gwo;b*v=j;*yxW~J?FvmSb}#KADb8B;>+x0*+e=px~D{M zai({(WT42De-_-txA=xVo^ypw z)y=Xvw{JXSIfWsZwn{-TP=tR-@TV&czQ9Qp38i ziZ*)0bB_+`L498;9|SusvO9k;Tc>80HLqn}?$9ZGK5?xeMDPA_-M?SXBR z`=Y?RI9#ouxV_g#>}f!@%SWW|8ot{`MAUw;ldG49*IAJf%fAb*-gm*1*Myk1{| z62^%`FF3Om;93JT@wB4?n|cd>|H%53T+n7kCZ0haK_ai9ziOPKegbwe8nz z>IpeOFXpaw#U94TE?OMSm89LQaj2!Y2dL)q)$(-4{X}(pbvu zRKF^tgyA>RCG(GDCs%tf%YRqs>EWwqGdZJ}dXC8J5v>iGh8ppf6$zS`Th?H#K! zcS-wjPIm6!SwNQvYB(~A!|QTZdyHX*`@1Y3+P{&;K{;^bDUOTE;(%KP)vkZ#5D zzRzun$A=JbR}$(tV^EyKtdFosk{es+S8oK<$a$wTT^ha!XG@QQ#1aSoZnu|gl}C`^dv8{uVQW9aI^{Y9wC889(rbT;!K$iA;~bmEKE# z`z9aG;r8159^czD^5+%KaNn++s5*X`yJzBweI8C-th7h4X*`+`OqVeed_8af*3#o^ z?@&#uW3qGw>#Pp-x8eLQAVS;7rcdZ*+qK2MEH26~Nxk^+v>YRC^xVH@B^Pk=XJrhJ zVKSd-!}GolieN+k?dkGlH>?&2zzT&Qi3ux6CXA*U4#qFw!CoKJ-bS`g&D?mr&X;oR z_AcV!K><@T0jEgOt@L4{s4mQ7?bzR43;gR++^%0n;e9s_=@JIiCixX&&~W64ONzP8 zvL?RL!fa>I4}SLBGV_H=Wfht09M};`3cV86V&+eEC6OSPd5Uoj0%)YxRwz{e zzuBd^Y5QxhBOY}-$Z}zBmOGAYaUwX`(-mnOD0p=T^$1kdOK|}QBH4p(_zZlI^=36WAJvr zF$pnJ4eX;d*0rZ9gw1kiz=kycHMraB6`|G}e3x8o@cGgr zD{v9y#qsWO=TE7K#9PSt6?lzhSgA^4Vok8g7h2{RA^%@~lI)hyJu% z&XYRU#!ubB4N#M{2AfxgPtl$Uq5+;%*EE8b<<|6x&)gd1d|ZH%fKg=e;7iL(>9TJA zesX@pjq-?;&uAkStsJ;QOE&K;FH~i`fo-+Do?qsEd)91CnK5^J+Jl`~@6UIVbXXuR zo3Lx&-ad^$3L&a*ZRPcVyVSc#KgIUcY%(r8!5C6_WPIe_H7F3kzFZtAO2@MM?YuDZ z;*UaLaIYMr_a1?6I<20Fv+Xi=ivKJIsrS1#ek80P7TfV$Ip{HLJL^Wp_583m1-I ztT-btP4`frX^zo@mxDeY~m=gTgVs*0>G zKf~R1iDevE2A=E4ECmKMxx91n;5TA2%0n>l?l4kX7Y3vHkS|z3 zEtWZPjUimKp+2hj{kR2X;Q*v0yMZ});j8zzm(=FDsjv4WUJ5S8_j{OAbr{X<-^?T z5$U8k#^0seVsZIoF|~y*@meiow{`=;9y!Qc9tS)3`Yu0EPPgrGZL z)0Jjc1iK>-K`GPk>V;WL+cvlTc?SDbjvn)q{_1cOU$pQm!(Ob3yZ~8Tf_c^ar}II! zg_%+kZzoIiS3TmIhYJUQ_vUu*>27CA%4&bGsancWpO({?d*r@!=yk|S9WcXz^#|7o zY_ZYu;Ny@$*d@#76vCS&I9uk->p|X^5h*&dkNJHNNEaEidSMEtz?Sqi56w%b(Hg;F zI44E@-}OYlwI`;1=yZLC_xzkqp4dEvUk6a(`PRy|J!{Yq;|djEZz(?XoE^+z&g16- zQfmVbcEF|jTaUhBWjW!p*BI@(m)TD_4%q&#kc;lQiM8uAqc{G(F)5BlB|?~>Yy+G@ z>CE)iE)0D_fsNNjO>hWA@V82IU{wJj;qS6yU)XAa9G?>uD@*+0JiRQ?&9tz;0)~|X zE!!sH=pqyg%(}RlH)QaEyQUBsS4BiOoYkggD=GizNsM?w&sGxxXi4dcrN;PI=1nq; zfc3h^3-RjgiB+_>ZUXoM@iBF(hO|c!`Fff5nfADsNP&g}RxX}LQrj_|(kkWd7h6)c^*tVU%OT zY8ovTk6q*0ka|~mTCT?w*PIctM&(u#I~`+vi+T*>ioRlqy1yUP$l>Y7fi$u&P=>;d zQ|qxoi$lhr+=q+8DFfnx3m0dYYs-$jyEZCCA0(L@4`p1WFy5H6ss~RPw7F8Sf4`wC zjxKCn@P&St4hVKzf@3^huM48SFSPYphc`uYKF8Nj4AYxE9?>AZ1y_CDBhpn5&E4QETgulzj_*&U6e^NwEa&p&487+zUwQc+N5z5rls zt&7xwBCiTx29b9gQ9nuK#rUvYEznwp8Ik0y{y5$ZQJ-m&R(;FB0FU=q=s#rFbyWAE z%TvY5bsf3ym`k#H6Tk|U9~&t&a`t))0Xsu9^czrIR!$n@ zN|({o?qrl8hs2TFEwqu1mOcM`A^J*X@M6c)p!sihQN7)vhCNc`pqM$tkN9v0e!KSaLQ6zr1?(REC>R z2ZJ$KDbtW9=P#IBGHw6msHMQoRp+lirBf$E;;=+hW_;)^qQ~E5F&r0vy5F?!zSYy+ z?W^0+k+brEbMX39?Z#m@t$L>oHk;6{V&40#Jn;PCIOHvHWqYMH{~g2Yk~`0UwEY;& zr9fSG>~H*hX1;*@iiN0V&YJ}QLT8Bu^tgHFBF2|#2JKeV!i`y$zrVKWWXX!T{*v^E zSn;B-bd<43!SMA1il7vMuf8h{wh4ih2#fnX%YxCg90Y!ErBbDwVzk2VZL94=3IF<< zC=XyLP$~}jw5V?nZrkRw$DoYsUveCbO_F3{|Ii11Nvkurg->pN^reP9W!<{c{9_=a zD2C_c+FXt@Ve&3Lx5&A}K;xr$CKk$w2OC;V_>FFdBU8LF^Y__0wqCbF!F(5P*mb~5 z?DAaa7rl^g&xj^hJeJM_*EG$N79d7$Ja9qB1f_Afy}t#b}Z;fBxfvF<>Ww%7}_^Kk=<%G0;7oNTi^g&)#J7y3C^ z*;=W$zhXO_6)k2f(6LZIw<^(dsGfFJu6>;xN5y83sQ;~G?crDRATx&?G7C)=7txkm(e3tMs^{Yn<>-?_KwZ8Sv|R zQg-*9A%2Ie5V~t_fl1xC4PSryb4*)iLb_8ohZQ!R=%6?9O$4nQZ|Uy{WuMmqgbWQA zQUo&wxq|I)f~_GJa_#jA#x2r~y=pSQ06K3^(Dy!;xr0#s`O8k74hC`dJ}@%sOM}F{ zo|^m0IyRjNPHT6vLjiK*-*>jO*`26)*4de(rV7t7Z8S}91FzcO9u0cj=f4dr)_~V_ z^S{Gh|77+cc3eU}w0rPw*=rXeiX&p>t4rA{X(|7j(6B9wGjQk5<~jepyzO{{7mWv2 z)uC8;>V@OXfxk;$Ki2y^`i$jXSoizh{Ry|UOJPHu!HG~Vf6u|QdyT}oaJ|9cF(glP zQYAURlK-6af;=^5uQ2>Ol_2?{czAFbzB$MlLo7XQ>kwM3{y^BWJ<8iniw!3DA zE1)Y`?2eQ`Gkkf}zWtteMx_PVSgE}IX$b(RJWRVKr%+*Y>5o1E>rt!g7=^B%dlvl& z<~Ut`mJBHZ(Y8`=us2|Vucn{VFa>u+jIBQ31++F98gfbJ*X&FtJ!osPXCL?OMjxi5 z{?b9g5EvH?HL@pR>2E(KwS|VN-TkAO?Zxd7YZlsQCDylCqi(Nu1Fk= z+8C^Qo!Mvb@9I)bTEC7$X3vZvfP%2^QEij{Bpf0eP{d>$YHx;2+d zO+@G;_`7z`=%RO!_OifF9Yw44S6@cG8D-)SJ;w9*{d6C))%w%LVKyGDze@!v1)Qu> z2$?mT_#DCO=)?X5Pjn^f(>^MP7@B|X;Xpn}eIzRU+ZmXXKI zVa5KZ9U0$q;cnEPbG-CH&A^UfLK1J|TM51d{& z@U(KCzrEuUY#E-K?dI8B6@{Us|rCS7@G|wQn#_ z26rtV*QA`tNVCRw>BZ&!z`q`g%p#p^Ruu z@uqCs36*W_Z}|WPnVnxw59{vj=!=#0rj}=i*Aq;xDtTObt!B=#$JEV-=~ZKZNZ6?z z7uwXJ-H_^_hwA!xmzm@1Kx}UOur@9QQYC-R4~BW2Hh%Syn&zCL*g4~_tetj+l?W^! zFq>(O-s;@`*BHvJ+sk27B^Sladsi>*6X$0M%HesY+$+ zS)V_$7&_xa`I7w!t;e7et~L^hLRb*X8WkHRXr*ifj zWnYnGc$U@)Xk-|vI;2AQOq?Y64L&W%}$PdZ1B1z zN*UqEP zVCddzKCWs+)B9GSzr$vP`#8dqw~3Cv_zP~Xnu@sh!OzfP+OVd2$nv*!hOcd{+Z_i^ zZ%u2>+Jk_Z(py^q?cqY6{)#R9);UdPl~$A6n0TH1j*t0Kf%q)^K#kxn^ z%eP|HN0zD(GZF9Wmwt`{W3ENtr>^b_fpLjkZyt?pm+RZ*b^!Mm0)Jf27lnTk3odQ- z81@*-xP`wtyqzY0V!9YDs;G$nmM4IKTBLJWFySWMz3SkB?HQhxAk6uC++Z2 z#L+`2U0jQ$a!ssPL&QC`Qkah!Gm}Ct;Z3SPgtvj#PaZevtQB4cv|L}zJ>>V&+)gXCuSJAW-t!MB|#-sUc=0B39d*A!0;}!bMIm1TXUxKYJ z67+00(sFsnYoB9UyWHq&PR3`ck?ZbOD@|{Ptbd@ppNmw6&C~OIpT&!9<`n}U7Q#7< z<(pL>Im7S%2g1-A;`yW>LDP=*WV`(ERC6kntm|Vu_!|tX4KuIc9$s?br?3;sC$@Ha z4=bLr) zzTsQEL|xv@u$WTM+)KaiGclV~Q0pglv}`dBiskvRpwSF-vsUG(x8{!J9`l#H_%)9PQVQE$2I6Kki> z8hUnz-~Ou%yMwJ%R#C?}XV2>3TV$-$rxp;VPw^-~JtwcVIwWC^UdlsYea^lrcFM(oi`|{Xckp%3JMZ$B8C;&tM5^arBv?05wWj;QYMwtlH zp%PTcLjG<}XW==m6fQoMpEUS!brVW`C*_|9V^n9>g`^P`s!DfJ?o|`{@f@4iU%t{! zEZyChL5F)hIJoh(22#GLcZ&UK>v-x%D{ZgNa4oI*Yh}`k%XfcqD{|j$XbT*&vr%9*#^nV8{-yOCdFzqp3#uM2NYg5#m zrO>i2MD0B(k$}HO=7Szw(W|vMEn&KZ9wDBVJXb*=%&QN6SJ-%yD>F03K^rX>#u0ri zeC;XKm_StXKq~MFwwIz`d!O8QKy7+GTn0!Ur!?GDHD%PQN&s9ZpNGOoz2YrAgOGPX zc30iqp4DrTvk{e8c-qg_X8?=w$>BQ62vfaR5g>T(ba|d+lcUVqq!ynG|WNE`mjv5zHu zArH*_XZamTRJ-G~fGXXR&Es$a?yDX2rJTQ=4-IaJXisO0C>H%|P#?pbb={Uwx1-Is`q}&2BZQ}pF%678Dm`4BqeS1tDzP*}N z$I%zh-`cOu?Jrb?F1GZCJmUP&>yV@6-7e+{1SOT&P1_lqVKUZb!zZz{Nd)UWuHE9F zz5efiX%GIYjtrx!3H_s2|GueqPT)=#_?C*pA{=B-*7N-vh5*WWI>b|nwbgn}J_%P` zMk_@!H|xOkhtuN`n)Uzr)97MVY^&gK2be_hsG-D!VS%{7%m4kB<4a-RKTjDwV`ozy z{&Y{*a!+15oCYl%U0D0_c>~zt#ooC~Dw6Cs@OOcH5JAXQ2nzhc9r=H+5&RJH%k`a) zFS#B3AMrN)A3K%*{eVaL!)cN%;k(JVfVdTX;E%!2ZnMtod~}LjdR>{N~xS zD=@EdHS({#PKU!0^!I0g3ffp@Ewsp`B6z%0as3o(((5!l7uK9{6wT1&rL~6l$5=%-4N-dqLM#4@kuL}#xCbVtcb1Feu-@sI%bRhP*%GpNt z#a6AW_j#f7T*KP7kCI^{P#e`$tZq;5Dmwuz9zxDuHvm6Az3Kyj-fs{6L<_hkC1I-VBBU zj_FX=C~jQ)cuP3J)~t1YmzP`f&QyzA;wqW$j^8uUeaENqe5ys*Tx7Yx5hd`wg1Kcik!kjtm%`cKkYtlG6@~eVC68qmA2o$m)aO z$sw2|Cc8D>IW$V9Si~)y+KL6X6 zM>{p;{;tHcIGdf*KifSfhu@))58(5ql{O|sX06`!(ehP1<)#X8nfGV657ynC_E9xS z+~u)h);5DesbCK=wOnKHM(K#FdS)uph-+E7@8xx9vmAdi6>ma#R^v_`E~6&*J3x@3 zc7u0vjb<6jJs0Dtcg8{Ugju3FxSg0yfmH1T!ToG&3as`AZ`_zad-F=j0L_ zb z#((g26_7h{j1wIn?#Kuzx#m8g*`EDL%{*5qs3`6ISnIWC=XK?-M|L%^KC4yiy5H_W z?3b7uCX27FrzA$)o#yN9DtT-0d$z3hcc1IC2UWQNX(#(bj+WMAmn-~Ws=(MaF=7XV z@}vi$PRBnn|9$nM+poCzE5>8CX{6Ilr;oUe_3l$*(`TnM2}b}v6WKXjU80BZ`YRAu z;UuVr--s5LNycFtRdeP0ay9SgLv0B=K4^ea`xoEkXcrCwtImR~g;~GD@A&7hZH>r9 z-{tG$75{pF6D}XNpv>Kn>i~S-pU9lExc4OVdX`uDa67Fdn{&Jui_Fw|HeT7PhnK9q z&=BEusp0R%&-TKC9lnnldBgPbBAim)@n+Rert^nFfopSO<*VAAPD$IspZ0(ZV`BGcL%BRKYDa#g~Y6E5Lcz=ZuKH%VWIbhvLP}OPv)D=6-p$L4; zbB>$~5T!pMc0E1EZuRI}n<&~ow`A*lPJ(V{AF(}U!5M!i=4}XORCUanJ)KwSX-l-g ztkQH0+0GVs4SXmx%*XPGZ~i@}l?7BT8?EYOPgLK1kR(9VFez0b#T)gP{g?E&NGm&u zO@xUCtM33ARq4;4Le)yvYERJEernD;?ee_6U6+Whxw;#9PHycB(za+OADAfS6kmAE zQ-@?{r~@fuOzn%C5AYd}?7lQ(Tlr)BjYd9*6RY0({+lW#PZfc@J&!+V;cLBh4Kp~a zRLpU-C^jza><@RSw|yS8xMoie#4x!+H-Tvf$IYY{9F~nPkfF~~SlG_(KSLOzPb~0U z{MB5T6-C_|i++n%j7jvjnYKX28BG=w#B|u7vA9pXG*^=MWj!9i!(^+W?1+?zjUtQ`! zYMKSBICxepH?aH7!!YirMsqhkW_^m%ywf^p6*-Ew%aN0Ps$r)xo$6~i!5-V6Tw_-P z;aP6IH`~Tl>#L_4~OdF(nS_(okO43Tt(FtaWRwbkz3C zr+3~N`?B*|t(y4e-Z617XN4VK^vBK+n!->dA>^9Vs{S8G=h|+n+J@m@@csx=p-_}I zXoFM|Nj3@D4MM2!|KEGAk82(4IObeqP|tJU*L9wc>>ghPyWh!g0C{*(sFwuao?ePp zI`c((Bv$>Mqx@PY1n;vX6;^Z19C^o+GK9|n7>KTa^H8bmTD#h|wVH;duF%yrGbdTi z4bU13=s-fgME{F0!Mw(@_WE<}K@LYhA9|Ig_`ufQI!|@;4M=ylH__UmuWIeG+MZUX z-%pj=`HWWKRyaAeAUzFlZHr%iLM1+(F!Qxht!=bNY=1iTWo zXCJIolYG=_r`nMo`SX^6FAkMIxfmP2{<&{SgoX?}Xbh6`?r~eX z#4P1weN=Gm1+!m~_^!%Nb(uDyDg^l+Z#FM)0%lprw`)3RKN4y{9T9kl8y#EuPTn(Z z{&)WEBiC~9+%XH+&LU*}+xlf?bgz$HMn9jY zzBMi%tCjRb_I~0IKYM!tD{9cGN{?Dp=}xek?D@;ST&GSi#bUl0;3X^Ui~sf1;kRhP z%|e?ZpUynDOcF4v>GeA??an4Yn)pz$!_diXD5Li&y`El%SiQLFISuym(JLU)8u@h5 zHtyF((M5rG@f>coVRmhuI^g^r+=Rr}^WPJ?SLQVQ_AymY19|;0Bp&+a4kF5 zYMQT_NuoUZ_)|o1p^Jn0MDlnX^nZWwdh&v2qqxE+ z4Nwdo_c7HzA1Ci#%$&!s`FQ?p*eyXk-7H=_4!dWx%R(japxL#)S%A-2dTf4<*eW1; zE8S|Ck}Iyqm(~_rpTE_3kz=EEuOJFl@$A)nMcVT^Yc2Ir0OUZoJ`b*} z_aumo^B7y5`E$`g@kS=XkLCtf0r>4}q+dqw>1|rc<^j5e)VJa*ihcV5AJYoM)l*7>`s`xCtc5)@%p=rSLNEVE=->Ze*CQ-3mxU|VoM&zMH2pd z4W`YxdfMRB)_GF?VykX`TAdO|)p+EfFzjryd~MWGW9V75s8zm6UjO8n)VKXWw5maU zwwTN+T)ybTXvI#rc~4o!wr7(sXE^uodf))eRZPnY{7jT~_9;(}6u98#@6~k3fe&MK zDJ#;Kq=Vh|b#VSmLxFI~>nW?KlXilGPzVmaS+zb3g?=ti6{ak=t)~44c4O4EIGH27 z1cuVu=C1}w8;brL&dJJGIJwOWNnsB1L7l(&Z414>UCh;yE&gmp%RD4hm+*ze>gdD1 zW`M^5LK&bGZs$%d(F`C4w&1EA%opo2c6?TIcn^kK;XL!8K zpXYJS(?-3S|6bDlDsZPoyIR z!um}nH=J$gi*Pke*>dRg!eO1az;633qg$LQu~Vb;YYo5R*OEhf25<-Lf(LFpQ3{Ws5~1hJm}1&CAX_u*I%xvEBnv{F#v9uo5<0s z13Rc?xAk)@ui313e&u_bTgx|U{B?wcSEe9e2kpO73u>(9_vY2i?}x8E8Zb|W)D|j9 zv->MtevQ-yyZm79O+QtHHqy-=r&|9u015VOG{Li7%Gplm5ZW-? zi#Xzw@00h%I|+lb7aICFIp-<4i-MBbL2jXpW(ibEuz8jcFGBh<@ZX{j&te; z-ItS|xs{n6afS28Lhf22FW#ZkUD^ZX#rU4ef4_s?r{O%FAdPC`+NGE%#v9BaW&U9w zFCz;+$#e}{%?iWLaUwt-D_=1>%S0Xl%8S;nP^mpFdqr`utD^S{X`F=@EV;#1Y$ED+ zXF$|$xvl_4tGD2pMcTUUI)S;flZ_bQ=ObmzwpRUC<}U^4Bl}ei8c$I1SfM)uE$q_4 zxx{1(RIi;=chyF89VBzDW@d%faTG&ACDtz z*K(;PJZzUK9WUwNl9$%u3L+-w~&G458_w7%}NcfRY+U!W}R6c zybfh`Tblk{r5qqk4H{`>q}!je?rK=meR(dh>PVff1LI8Y0gR(Zmt<* zk>XtGAP0Brp#$CO@E1f*0Tk=XACh(<02~Fq?YfuvR~dGEtM#NDeG0g@x_=FmXNDBJ zKzn?CjkGYO&o zR+|Q@+HHJ@)M$ON$oiKa?76KM#(qHswS;f7kv~nC3Em<{hxoNbjR$5r$>sR7y8F7* zsMcUJe~aHAVw-hlZ_qP|LC!^@t>}8F65Tcl#wjLEe1JU#V2O zmMm1wW!egUPRa1yo{la`4COo+t4zM@@q0*?)Z1iizTA#BZ=I||h>q9Kcem(8YX+(I zp=VdgM}Kh(>C1Qcj&U}q)s_i1UTSk z*cDW`jy#&N3!>A-=mSEX8D6`tCL(?uchEV{736Tb_`Ds&s!|fmHR8YVc$1gUH4 z#vFoV$tn%srfq<%_Le`G)kWGq7t>#Tb3qUNER zo~fz)1wiMt1R(?D<8js2=cs;WjmknQ;(z}LR6R(Z`Q2IV(jRM@KID+cj_-wkT)1eJ z0Cm1&*Khr{YYw3wP(}YZ0;sVS-S&{Ot9&B*xO}JftHch3VnYi7pCFuS^*g)RV&bdK zUwPD8^5C+`?Pq$q)YDUWYM!v7-z*pa@8l4L+IuWWNVq(X=({7%*R{{J4oV-y=o;-A z@~60`4?|t-Z3bQ1`nQp_E6+{R!%iIrv32H%6#YZN|JHoiCH3%iTGa@&Pj(u6dOR5I ziLp-3b1P;SRvOrS`{-aP5NSB0Sbtb(>GQnZ+ic5&p&Z>%s^eu=1I&dcZ7(_RwwRup zJ^eA*kKq2{>}G+V-~Nek=3i{ZQ#`cyHJRT1NvE}_AQZRH<2~`D%+sEn+h*@)#ho0D zvKH&`?|W-3x$LO<@=|;>H|HHQs`N1mY4S@T7J@_bb~c~ISNrNh4n1miNh9}>3`vswdM`>~`L=8rsM(h7a!P5LpW`dB=a1FTdZvfx%QQ zjh-!;e3TAEYs8*<&5HJ;H>-oWM?XM1gzP;0zigU(>ne;`0R}a%WWL+7KglBHm~NfF zzu8!#F{hRP4nE+Si9*W!5T9;EY7E$?mv`Ou&Z0u;!7RzqVlTt^CPX~UdG&JrG8}?sih`Nw=^;R=K zI{HnpQlZaI(ju`xtzjgtW(OdAoNBKd)HMlZZdCrLJie(+YA}I+Jqz3RBBJk|XNNaN zdjSN>z&@77jUcPi;s7u@%KDfHpiw+2-P{(rFaldWvUr<<0nj))G?pVW$2AM@z=H;_^ zY`5Qfvva8pOHb?W<%wetcKxj(m`f;xuuIA4II+R?ME_5>hTVoEpw9eJmm@j|HjmPB20$QYoRG_Vyxu@ zSCDB#TQH4{WizavgA5pnIsBA-`jX#1RGN)?Yji2H6Xkb3T96_veNo@ZPDSc~`P}zJ z)PEIR$Tz?6v=mUKR%{P+K{eDQs05S>9PUh*wt)rI`EDkRn|9nO?T)q3E(9@e{Gd#dWDHJLSp#m1u+9rf5P&2Q2OA2h0~ zSsHY_dGS-=mfCrtbX&o>4lSGg4Z2Le@;dQ_N5RW!zrPkxK}YTQ9LLw#Rjq*w)bi>g zE=WwZ4?l+u<+$Ct-ItVSkwsCEtq|$y3y(Y0u=?!UAi*eyF2sa;n$y_?# zYdyNcQRnI})%8)-HyhB7xe1oN#lgkV>IDQ&eT5KnDaPvJ!-Uxt5r}(Yldb1;U3JuM z%AiJG)z=?FZP#E4ss*=hMgXSwJygN`suUvZZ)a%b6nhn0KIHXjqWN;LK*+o`-FIaP*@}-qD%6*$j z%N>_`vu4rhOKz|KNjR+9Z~s+^$ST0xd>Iy8kNIq>yGR+U)4x0TXxSoFLN>uZ!glyW z4kw`z-pg=%e++P|ul-dar-YpvV4QzI@V(Jof?+7CuV3r*`!GiQb2LIdpjtnstH-2l zQ}A@`?q6P4LCxqd#T)B4GXL2XL8a^_8%{3be05%)^j>YSkqdU2v2GLZ^g>p^hgq@5 z*TyeBl^Ps zFEIyij7FG0T-So~_E~OVZ<8f`J71yTXVccc&xkhx%>CNz338>QK8rct}eRRBQ-WxaVCEPN=w zVNCrfic}@u>w7+Up7fg@4#t4P?tFUMvDK){#YtT`1ZX@s0@Ap3YK1af))sBAS~np99hkv1@iY&2s1I9D zO52RD{(bFz?!3RPy&vs!`y&h#Vd70g!VxbxYM*6RLmQ_c2U$4U&uD5|XumF#&6YVC z2y<&K!tGhEY0LgD938$l=;Ur#7wDakF&!r{wMfuO154HS)dSv*zgSY{>8!Xraup@d z`fr3`2aWH^-2O>e;d9Z3^H>;qL0d+jB9X+c%AB(o)#>hVI`2@dJ7+HKA3UnsOaAAy zZ>+MHPR3nDe(&Nc4Vo5PT<2G#?!apRZhQYqq)F!Rg`?P%tD9e1xYU*RpWiRT%|cP< z?EK7iL=0Aq_{7=@&#ni>&FuQ>>n#rEA!FOJYvt=yb82&CjOI7wxrYoldrv!0R=MHg zNDmE$z&fv8;U`|YudTjp>lBT~*Ga*ckJl*e7DoZuJo4k_)jpMCY8R8H+`H2?t7E@^Rq&i(D>2{D8HarSe$0%0 z&iJf8{cT{Eq%3E0QRUvbs{YBJ>{H{yJIJ~?KS38P9zIu9bj)%w3mnAS=>C~f%dN6t>vmRI32>~rHeY|9&}iqybODgrrmyZQW-uKkq472NH?Y-Uv=xt#*hb0MG_hhPIp*cf@a+D zR6pd}6D@hcbF7r$kHe!A?Q@f1ZIC~BLKun8#_5^nlFK1-T9`E6&zCH<3;o!AjmhTX_x5fdzxmR$%cyR;HJjh_s{anxr@c}{!}iLL%1-*L zwWbC2REln2m-E*EmwcE?pL)V0hs5eHXEPx-K5X8}%l2ug=e1xoF{7Xp&w8ZIB(5-V z?^tk~^(nj3{&pt2q*fHS4H`@{e~i=+C}+E(M%_Vmbn=N7eXYB>KD|Khvufjllh5F>KEG0*xt}Tle3J1hNG}_5_pHf(_bQIt0O{OH(#w+x+Omj+Fy2q z1~y&FA{&ma)Wjc4?LEf70y*&?u^qLJt$hYL=1z;wJM&O*ed0W){aUU#XWQ#$a{?1Z zb@zz}p7Gp2SlJ4OBStJBqY!tu?Q3Kl8@+}~P=h{DoRY5dycfg%cP@!jNW-vkrv>rd zi>c5a(s!AwmX*cpqCPS=-F&O8d{Z{kGoUQlknI@_NqGn4LyBLTpW6FIk)=Cq?(XCg z(11#rratdRi!nizTG@_o!3x6x2DdD=+v$E^CM&oh)D}LWm zgY{U^rO*!K`e?=aw7Hiz6Lv5H{RL=AM|S0WGl%5cvltLc!X+TrrkbP+$_#8xulL+u z2fMv74x*0LZ7#RsL4wm=!v8;`Sv9h-E$Skc|K_c1a47CxTn%jF70M^nRA@R^Ty%or7ybSfUkmHh z;K~a_pnzKWT9xrGGGWO^Z*|*^s~Y{>u5t$uTkfNDCmQAb3Mg8;Z3mOxQ;l>7a2Gp` zv)i=^`LFrV{at9F{#)CS`!2>bB$Iv4Zxdq+oi}+jKdv1hnqyUX4dB@Kc`YFC!(g;G zXVWrTLaSQQ`@6Hqy>qTXD|vFtRd0>;Q(E~S$o6>OsFTPZ{N;cqsLZ6A3+U5^q4mb3 zTglblucPNyO({D9sB%1=&W{u}2F0PCu zC0qjESB(kyy=*aI#%PsKnj4@JYpVWY)F~jocN?r@A_6;AlECNiX>7&gI^UN^t!0fW zLSw@h0)#7_PctS040XKCH`g66F+gH%)Pw>(tJiw%u;vvn9}6;yd#m|no>p}8Yu)7& zih>hRM7KG?hcZ_~nRy=M_KfpvwJt`(x0T?XwNfd`QVAW!(($hXq=E{k6)8K0;OVz1 zt&l5RI8nqAhj)8CO>B=UzsR9-*&a7%)r z)n?aa?(+nYV!1qkod;0tz+0Ugi=zhUGU&6$!m?)~0aXUIE0*YdfBrZwe%nVCCLTd; zrtcMK7phYIb~5+3syC4@#pzo$$8td@YLN@|GrDL zGj|qz)<40dchGYV?d@Q67%(5QgZb~CwFkh~V&d7D+{l$FwK*}gGR;ZX(Q3Rs_T|EM zzqPtu5H5e#{%N$BS10>^H~y;UO!6su5DxG};&6P0cfz{GCvX=#%=T|oy{$dLy1`t| z)Q|@t{T4gtGHCYq)mFc_Rqn$@rC6XhH>7Z`do=KiIKYsu?LkxVe(kF)6Qd1w85+}~ zjagb{ylbjbjI*8+_pRH~fj_0)%dW+iS3dK$u+z~yZ#+-0jrofno1NS_6WeutehpVo za-$aR05FVz&oX|)WcGDPVnh)r{ui?puwPhb0$jp9)jZEFap3+B;3ov7kB{>#xt;L`SibN47e!E=Rf zr?dL3Z|OtW+)M<{MpNTjtNon6+8Zt^k2Avj#g~oZ!#_nM&e@7su^MJTz+&G@%CoDI z`OH0;TLei+f-m&a()troF3M2&6}*nv9G;lRVQF8pkMBi1Z#o)>t)rtGpf#3gL(A*& zyFX5QADQ*=s3`f0^gUB0|IUa3ZJ{_{MLEi znxg>=_qIdZgfKp>uh;vWexM-v*?%BZssHjCR+US(#4%-;_D|Bs*KgdO0k8jC>cNsj z5Y8n|`0$FFB=LAs;>-LP?#R^XFwN>8-?W6R9N$?>JjwI)cgdpFcDSuZ`^kFVC1V+O z#7pwMKKa9-U6ER9nLz#io*R6IMXrWx3d{;#3bV_wDaKrk;WiB4VQuDYpVM;+ldBz_ zw3NS3`%N83TAVqseD`X2xP;S}I{^W%JzfD{uP9{WIvuFPbHCadCd2SPD}`~A zN_!B`KZ_@?Pfp|douW^@{%yLZw6G;o$2L4Id*o_|h80)30LDN%kW#PME|U7SS^fcF zBCEQnH{b`Wl7>mB{(%Ac9SBrI|G{?t&H(>kTJ=5YdqKg>k8(@dRkHirLjS;=+!-bH zRfQ`VH|UDaq7><>J9|HNj2cs}H73amCo(B6Uz@OHhlMYT_Y-3b?aR%ukNX_ zjW*Uc_hk8DcV-W{&XZUhPEs-NyF2~IR;}JwrI&9Q$WyaDm6dj*v|@ZWx8Il+jgy*J zz03l!W-Y%sPCGXUVW`C~^P|*rE|$D10QgSNP$OBGA?7 zsn?;)Ic!ADdgD~A&od2cbH<3;1@hk&S%Tpab59k0{1_`%eRB4}3z!B%L$5F=hRWyt ziJNx@UPoSmMZ!k4(cu08Jm?lcaMA^`_v#()$YXo0(bq{x?nDdJmFxmyI;vb~-()j) zkG2hJY2GO2dhKkJ@@|)@t8%0^YL&8A=hkAi)+2JElxo|sCUx$sJbX;q?M5h- zy=MQB7;t;VuKs9c0EMzrnAIEelK(Fu4b8f0w-EOpH?wW-R{(?Erv&*f&RTM&S5~`- z$Yx_MQSmM~s(_(gOesxt3_7J89%6pax<;5B?a@g@Tdp@*rc)t8&brO@# zbyyuION^7KuyZ+vNa>yBrbG0*`ohZr4=M?k9zbZ1NK5;6+jbYv{nc8&jsAOB)aA}! zDWf#&ibon(e#vI7ggJ(_B9S*dH#WI*`1rvc`E3C;Lu5~d^apaTzh-5}cjRih-M+1B zSfTn`SCV(i;Xyc9e&6p$v9dUllldR<$+eM~#jdi2nWe(G6;3w^yBi&Kz$kz6+Yg_O z^z!uCCC>1B5#`ctmPA5LeM>bDw9*i(F^~JMymQe>zjU4bxi`O?b9RmHpp`gr4n~@( zu3EYYkWok37h$I~&ejA{X?P~-kd*ph9cIV%PF zjCA5%BLUL|y{;}jp;2Cb;P+Ct3pozTwtHFJVvA+zeur?x_cosw8~00nXAqO0fYfN~ zDZStgv{+g}>H6b(JJ&}_>=b~{F9E<|Pf9DwT4nzDF!Jmd`FLM3BD7nt6y4!Jo|4MX z9I6CdviDOGLnLwdV>YzsM&Op~z(+$RHON_LcE02Xzm71^@7Bq;UC$R17tyb78wqTXX{SHo#{AJNl#^j~ z&)?T?^)-kCRgc+W#P-kHB0s~~SvkAhk@L_QT!+pw=V+__5#{5}U6?kKlkqn>rjE^= z`Fuc$$R~b41iHN9hfJ(y%2& zj=u;;MB@yd>H#EJM|8a;+k*o3rF5&Rfqedh^uSnkF&{+@&M;-;9(1Ik&(1!T(&_hM zId;1X_JFsFzZ*R1>W2X)J;x)=agIlg4d0%BaEzJNIPl$FWDc4h(ZLM;}w zWbm4!xkH6&U1G?6R=`&MS;YgOXOWkaMD~}Bhu7PH-|PIktQfPaJf=)=Nsso8ysn_r zbR&4#f{8+h?6Af1?DWgIN`#$DvtK-SyBC;Uj79y1M%CYE122z3G93Kf(ssP-FTz&p zJdI622({w8;7PP&pHsko?iI<)M1x&_O5@Vkl(Ibei3c)SJ?4U$V)0aVF!RA4}vtS z4p{~_LX@}v+|x0!e;&UJvs-bkx9-J8D&8M9F}MrA34=unZ~R>sug2-CZRxW>)L%64 z?LDuyzo{ithJE(}v7N&O?)%SYopqfYJ&%g5V^(S_a$!~PBTCVEXClj9uY=3W0X{D@ z+bi%6U59J6H2n#UMHgvX1G&W<%d1aiJZ@;yS$j7ShtF{h@e59Mnr!}ti_+RFjiAXT zIBUg6Tdlc}f4zkValQ-7@LU!4_9G%|HuH|Q1?+LKJf}`_g`ua=o7sIX)C*Ncebomv z-r3Q;!lTc}b6st$|5T#f7dEEf0@Uj9p{aZarlZT{rAZyiZBGX(Ed$4{XyJFzA}4_H zI$+>S1!-I4_DZYd`LR2ZkGEz8O#pi}#bPNawENA``<@m+{mM;ATJ_ zje)-OrjaApw90KJDa^&&Z92olhTlPs#cJ^L{&wB_q=`^JLC{CLxcgPZ#tbKQUWuh% zC_D8<*CnAC-dMvZcY}y$IFDJnVZ4m&v0b7A6KPRHy$46%S<_lDop^Mvu;*7JI6K4W zq0VLOS5<$FmmSrBY7GuitxZg1-1isF3LQQ6jo#nlXtA>?b?@!El!+W6@SIU_e~ErY zGOeF~g~NRUt?t8m-Gm7HK_Hw?AH}a!>i~ti3b4oAKD#~DrUl_Q)%J0vxd=U7Y$mDN}s=nD+QMx)s=m|RY2$jFaBvVH%< zc+)-1KQ7!X8a?{)md21&QI#EaY3sVOvr(81Jwo6M4rcqs7u@H|v}JfD0>5nAmF8;j zmv20C)-!Z-f33@93v27YRgBt`d^xvyd;DOb-&{msnv8qS!w$zTT}3;&||TPpTX)BD4GeB^jJ>Y#;x#O%!tMIs845I zrMkK0+aQx8!L2gkc$)6k=TQ6h7Ro85`2##H*-y@1(zQv1B#$q6&MJk*=CENF)jb=5 z=XM0Hppz;b3&`=i?6}e%t}*ZnqN(Rw)16ItJ8FIWd*P;{3xx1tMRuO%YFl&bNcZo*tgSmHh z@K(&9mybs?`{M$&-qtKkSR1siKTYNRh7R^(dxbpn@%N^d+4@v3?xJjql1AO&H{IYe z!EPnDbsSa;Tz?sNu|$0Ymxwg%#>9dr%)!XW z8dlw`yUJbJb6PFR$0`?%%YXYYXD;aUU@m60V;%yfS?k$Z?{P)K-T704B>?37!B9im zcH&8gPOx-^uhw1W_2PUw>P_1Z8wBEz$^Vy52bbINM0&Rwx@bW5<=M-9s`cx$lb?Wi z?m4&xaGR|U^2fhe!SZC^f^)QIado<^afBw8%_j1uMixte+)$L&@93sprfnGdOsZN3 zbKh8UgFgipJ8h;mjse0r|7KA*qc=aa0X&>*@4VUF4p=igczY15%3PACk=gBnr9*RE zF~;{ou2E{GQgrSwDaV&~+G|i+bNn#z25c8`E^mkktQz|@-1kQ|yC85Q_)G&Lr-J^7 z=Dr zR;R`Baz4S1eEurfuc83&m-8tk{_q@`8;=2BUo z*ZQI7{7kiuE0gYc=e|jB1Sqwt^w@^BgTwB8``F080?YPeS#T;{-a9ciL981SYOXgO=?t;P1e z?B~^O?l#x4Y)Nl0*iLXZ zv(bDu=ZKsJBmN0ypwvD6Gal*aXNfrPBLf#8$$i&EoKAEJ?>ny^>C@lZFK7i(#Hcoc8iBOU=E}k{6%s zN^4$F^niPgxTxGXv(@b?a-KenP3%k>l>3X$c0O6=gaG0UaNh?&e5YLf5Or`~uO2su zNHzw`wg1S>fIAw|n*VM;lV*_VEyA8mBmSJ}Q@K0wk7UGoRw)qx{n@4*!8@$V6!=MRvC`P;pf z47`Co`8D?6j>N9sqtwRV8>GK3&CkL1M(5Xj;Yv$ButD{NjVH6-SAn*bu_a*ATMV4c zcCJkrsy&u66!l!d@aCe^kC)e2SK(=;qn^zSJ#GqWZz?M5#jQ8=4X1CNg3ev5kJqcq z%ZP{f;0uDK%>Z58T1|Wo;y1z8;fO^mjN=%l#$z1IB~zU0uV zbpx?S4yFpLSY-1h7ycI0(cb;E8My5GM2-d<7z}#-e4vZ(Ii}Nr=4XR{&Bua1OxykE1TR+Vc>{1Q zb}7I=;QWjV4nT{EYb!l3xO%%-3s&r2Ze#O8Ze<(K-M8dwlD?%zog86Q_HzBxfWge= zKqoLEXspVD&i};_+K%xECM1*kWD0#YS$j{7O0T}`Tx2hXVHH~%f^ss~r-bAAkm=`? zFu1M4R%RnYy4!?Sn3^eZ1eFO8^DJwq%ZKnZ%}x}ev!&UyOu!n zQ~OKnNi5$GdMueiZ&~fG>(+TmX`}Y1-tgebUlT$HFCLq<>KV$W5ZLw_Tc>z>-)iit zd!yFvP#q7t6S&8qJ;k3?UIMo_&rAyRu2$O! zPs@6>4V#g9Kvs+1wFi@d_zHpqveQ2!92DtV_k8$vQM4Qy1shhFRU}>h?HY!{bpj*Z zfne0|%q!Fliv4AOIfr5+dEf>(;507PRi~25OB*oDH!iwC!;U)1lOy(8RF5D^o|Xr* z*YRw8(36QINc~l?!2^Bi@db0%gZ_W7eZu=8~%KwbyA9yZkO2Pl+c zQ}^9*#T~~s^I&ti_x|}W13#CmZ+8>ducu3+)A3b8EJuBbjf4$xfd)NZa8$Sf?Cc12^O_eunEpy(E4dappV ztt}t|)947@pDDcRqi39+%;5c8>h;08b1g2vPj4T79I-GBKHtd&r51*{iyV-4NBi5c z$J{DfxBY3aI684k7bE&ZBgu5KL2?@1uIoQ|@*CIiIi2eJ4@?>La+zg>@kyy$pI0(P zFNbGmQ2*oX{z7AFc(r?$UnRq6uj$&m*n?Rtz9i_=r$sIzOh$O7UPLE+=ekw)---<@ z#a{Y?0Iv_Eqt|L{ukxo7>8!BTieOqr6I&1c@*TC`;`()dsrvvI??DW^jWng0&y{(0 z&=BDjP^`uU=g9J#j!Wbiv1|a#`sV$8+bXS2{GHMn72?aj5Fh?gHS8ZX&*8j<-Yb+B zsS{_;+%eQG?f_{^7*#;jr5mXs&T*F?X!$53MH6))SyDf9i6G z)e3L&oK%$CI(WMQ3*$Deq7#pV;?#SW( za;>}x@f9(Af6YFwU%n617z1##XFG}fiuE@DlK87J>mkX=2Mg^e`)WYHrHJ)?#;ykT z(XFM~tXQb*{BQ3EcJoY`>fb`Qxc8&phq&U9Az8!8VVK?VUnBn=ncc=|QS1j=7ohZK z8Qa$TRZ`q2Ph!})ggtem+MU^{Jw45n8>N;d1;TZVabwtiHN-!W7{Nm9lsu7ccv|N- zd7~Hcf4$onQUo)$?j}CIA;@zG|X<35AT$_)o`+C?Ze0nOgFdhAO8@?Y{^VOs# zW6vY7ZriRA{f#y73j5P#4MfB2&@o%YpEz&I}9PP zK7OKYPI$THlQ%*vXv6EmfqS zqmoocnSKSku+;l!{;9gcwF!`-X2JfNWiatEH<!WfH#+|ca@EpeH<@x?dP530s zwaQ5@xL2OZ3gSPmcw?oG=_!sL^cL)l*nQGoc;K>nrPtOX_+no-y+=!GJ=ib!AaJ{H zHHC=$d~$~N&SATN54jM~l|7UDiDP#;9`v6q>|V=8_v-dB`^^|ngxMmvLW{56?C;#3?JL>6jy;Qb`7mnE7ImrOy`JK>oHfso zmfDM|P7_`QzWefBHO=Co`pMa6gB_ehfpXLdL%E{Yy-K#By~eRMaHYC!%G6 z9rQ-Eg3O&qB^`tuz-ZI)CUg@h9#w8pe#)OKw76>JM+D&3ZOvU8?}L8C*pE=JFHU`K z$IVG*fYl6spmC7s8upU8TR!@dR+(4?e`)!`n6JEVy{Hn*Q8$Www8aT6P_$O>7PSy#xNrW6Dt~-4+$+r!sQQ{%aG(a^P_rkXg?eN zvN&oElbhQv>iFEZJX%yHqqzd9qH;;zIWjjp&DV=vaqGkLS6RRCznHpUFLvHvh$q%j z{$&omc?p5{ehtqW?l(cNRX5x^=jrgwz`PKM2q0gxOZh`EcJtj;<-958%I+iO^RMqg zDu+~FN+(2Csulhy~>{24Q^Ncs(4>u1>xD*$mezRSr`TSiCZaoz& zh<@Mu19%6tzVzeq`<^-DfOHDUT6)kXt~H7&-2MK-*+tq&)d}n70RME)a4IRl<{eUtp;_3%t>c@s+Ua<>DUXj+TPDvr0eIS~AI;#A_~+w= zZT=+!A9MQZQNy>Q7qM`-(f7$Q$oHMMWW!B-{`#~H`3ATSA8;CZ=D~BD#mptfUM7(; zH>8@*5*z55VjEsEJs#};b9Cl==c-*CK7#ikWR4V>%1}ayOrb#}N`nT)t5@-u4^T@ld-g`xU=A-&dEnVeR`%@gRqy<3$xz%ytTfUO^rSueAuktEORP6 zWAmMTYAT0vFNnT>Box=x4&e zm{#plwCk7~rB;kqp;OfbRgdirBX#s(*FV`MH%4G$RiDpY)z42v4}vKogXh|bO@Ug{ zgV##&`eQ|rHk4EzX&sohq#aHsuUA|8q{TdgIqV^;ql+|bV|!SWa9Q4-?yCIdR(+;< z=5{hJe6_HGyBNLMSGUp@{_e`O(u#(Q8-`YjFTQDcfxIr)94(J3+~-nQy^9*OFUjPE zr-Q>KKTMY(gH%o9MtrVl2c5dT-=?9pTiojak(^yY*NN)xS-D&A?HdtHahi*H{o(Av zbn*BKh1lB|X_2&Y+|%J<6U}$?uz}UvuIuGlaU(fq)g}bkzUV(JTo6j{1Jl|i2Z<)S zp0)NgZ&dK!NcBOs{?6@prT>KA%Z}7m-FW)Nm)qvWP4LQ$$OlI-5gNIB>VDD@fG@Ro z4LM#F8=-QX_q!V<;bF8cUo^S5^<};?k+oQWNM&eOMu1+ul|OgU(T59=HWUSTreMkg z2*AV?d&J@0R0AYaGFkV_PLxWvB(4)Z(l$@QeB-k<$2l7%Wk^l)EvGU_d7b~ zrl;*{r%vM??4?EA3OV(Ivw@>Mx=YUr@k+tro&4U~yV>WydW|5o09NI$dO?RhTfX~k zx6H)b^SwW8LQ3WFm;@*4{fFSul=}V|Et9HkOXXwy9;rVp9Q`u7=@eF?VE39yb6)JR zGs~XbcD%7yfuZ`_RV@ddH<(ogsR$!Cg`AZ)E?nJV{X%(=J6Mr`4?tv0?@lE0g`2l! zsx3Q5>u!yDasO;V9FltJ;{63NJ8OL#eyqP6wc;0<#YrP~diG%>^;<@fFX`;OL?Kv= z1Wy67M0`6rnf$e0e>qqKBWw>i)A*5CRdTJtX0ZOqUu{V2Qi25@0{6#az$Gic z8Gv5BuBQQ7-f;GEK+0I7T>Ygm-~~s~(yR9FdA4xhqV=PwU-OMF!^fPMpMN?psK;*q zJmICiRw?PGG>w?vk$NH~ARD>WDFl$*cwfSD z5*TCUTztzwgW42G>SdWQ zAYBSUfMYNf%^e6ai$Sfku`2ui{E+91hA*F)3Ly>4Q$sapz6%07e+#aPI_$>CK=bOM zlTXeFrS*0VbkSh zHZza!taNiYKoQBWL+OZ3fzDrwl|3NRKTh+mKX<}$(X!PS>|Hm=OYyoay=fbR8pdl& zD^oCQ$o#r_LvQ55%ddLPsXNi1@Z>y5zbxJ)<;g^ENw%#x`xVEdi*RusYgcgVKy6=1 zy4h)bqt!tiB#^fe{LnK`-k)!nHcZXNg%;eB+MUaqv<~=O#H2y z74#QI7wTFjp7MyB#%F|SuT6H*>{=&J{eicO>S)f+YA{0>i9;*2y}k%1Axv)708^M0wJf zQhuAPPIV0(;k5B6A%Njy^ij-`^ZdS-T#!*2FxT0MHoIEc>_M(bi)QbVL!rkJgt<&4 zY37do0{;`J(ek#1U>77+pz1x|mY_eh#ewx8c=>r=S88YtTE^sxT@cGZNV1ayE!Eeo zwEpGbaGLDW?ldf!WJ>=?dt^nKJ3>D#$(_r{A;#KAVltnUnG z!7C;XTAF~BNJa{vBB`JB;aBQyg7kI22LsZ|W>FRs$qn7s!NOp(;`G{Se!E+?L^{9q z$a)PrC3k9QbzR(ym3;qJWmIF_Ua7EI8?)JB_VO;r4fYtW*!ksH2iog?*h<6!HV0Ai@VcYqS0AFo z2Da5(g$q=$;&BKY#zn)ugu8xosJF|oZVe#J;i37}n%tRk=4$t27s!TARFGYc+0feD zzEy{t{a#y_iW9xp-PDZdNhGdQ#MEGN&0}#}?xc%aQ11s>iNC=X=RK=Z)*k@7E_Lc{ zzGA-|hwb8S*ja9$!I>Qgga5Q7xKy89Jm^2TQKB6Jpt&WEeP zo?M{bW0zjoqRc=Y>Tcu>}LF^@vNu3oK*&X$jhyaqRM=;&L@8Gy5lbA?I}C{;4680{=gE1X!gT-A)q>pLY{tw)o23ivBUc#nzKD) zuz|HHV{HDGb-GCw2Df}~3^Q@NzK?S{1CQF5IJO1fddwl8j)KnRd0UP#B|(WtnNWJw zba9<`z6zO&K`e)}y(CRLR89U|n08$E^}o47%$#P@AO3CmaZyV3$V*n{r@b7(xev3M zWoj#{g(*LL0n+@LC*zfSrxiD4@$-QbZu%naGDKH-zLp)Z%AvEik{8$I81zF6AI%Iq zR5O|Yz5Ky5+vRNRY-LJbJGm^D)4JQ(5%7CahJzHI^iNzL=U`hg`_*2Hh4UP}&TFmr ziu}?Ba{uiEj&o*UZ8~Vc>l*JWJSF@fzUIrZY&d;;WZk0eY zdUvueFL;m58+I6fL{}Az7w>&v1!x!3l?~GtwPNjL42P4(YnPQbzQ*n+?(aAyNjTN5 zWoHHdxRo@#1;V{evtF(=x3#StH1g7iE!B7Jk@d|?bGohHU^4QqaM#OemfaTD;ZzLw zw&!7sR)c&Rt~|2DB4)o6f%p!6zcb_r_IGdx?LL29=obv>na88J@eeJtXoXxMQz5#N z&yDP$21|{_)k^~4$$rhkln1k-Su|eWlHC!EL_>WR#mCARf^7M~R;%fcsB%14Y5nnw z?KU#+`|SqH_sTXh*WcBieN3>)ZFQ|hVWsRpq5T30OQUQxeKi*i7M9SGf2$kJUyilP z;e^dF7340jw|*g`F?wi57fT%!#I3D=LbFbeH^;lbFpK6);5&}g3YM!U!IsZ8V*G8n zSI8NERCASlsY<&!B&xj$>d$&7|Cm!2H#$wY`_or=!mz;1+&Y40Tgl5Uf26Ko#vWcUI0YeoN z2mgSYxtsdF@ab3>wy5iYe^We6!1!G2Z~ui#N!Sn6$A;dXSK1*JH`<}9T)VF&eC&r! zCLFKhTf5lBI&xHP9$VgS?A_D=7Ej~OhQ?}*z18y(t(84q{DyY8S{9~Ak|(mayx6=| zR_+b^(gtqgnM!v36amNL`x>84%VNGQT3=WrxhRL)b6z+%l?+5LS3BiWC2Z_5#?FpQ5{iE}gTCp?j zP#;{hRpYz3KJzG^-zii_95q?noXB6iqu!#L8WCg#1N`NGjz0k9`o62{>oLlcEPtcuh5UTrPcadf{LQ|+FFV7+{DQw7aSeZaRG}Utz~_bP zwP}FzC~(G4-*EHXOyZ_`J?A7>Q!6kV{%rTnbXabSvl#t8`wx3~kf9IV@q(_Uj;;XZ z%|@MfUC($VKUyzn`qj_vxc~d(C2UWVTY|_TCH+D*LnEU0DrwWY(uRr9SD|d?lH}A;4|#FXnVm|rP?&VsKEqa zT*;NE&vN50Yj-EaQ2GJP-6XmNEmK0A{`66d>@56S2rA77?DCv!;~-|k(k@?Sy(w{+ zAjdzY^v65sa(`S>qxm_w${-Vx51)%10Crmx5VJ6p08t26>G}R9k+{Y)Z{2>lqek}b z3@WA*4cVJ$D^<<^(4`klc*lb;oyB*~=Rb!>+Dnamq`z~wZ{RO>BJw`79KOGnMn?HL zd6Yq$J`H-sXVy1zRT5n_g0$D(!-U{)_>2Qt<3AwEGODB5z2c%D`4iu!Qu;5`E2@uD z@6!*+>P)4^CKaNG&EmG7n9P$}IljkA8U5TgpaHV_u8A3fj68kNW9&F*+IBZ9x9(Q62lz`mM~es)q0je-8Y+b_uY8AH;qWhy`@RVHs=R zy|ei~r{HNZWLIf^KD7R`Ey>!QJS#3;28~=ro~zYGb6KUVVrEc~ge3;~Pv z_zC6@wKkh%u&pM?M13m%YEMB(o>=sLC0rlt!Un$=}+0Ci+B9p^p5Kx^;$J9_eH zhkOwyo_KoPk_`vEI9n~arsEpcu}<^+c2Ewv99=e=dU`1&kU0M`LQ#1|<1BCD8lb0W%_>@I;u3d;=8{%$&>G! zF^5|1(&E~cPyTHF8d=HUFq;PCJRm&*jaWMYMx5w)sMg3eieC~8oR4@5d*|EMb-Pr& ziZZPbu&T&VuvY*Kdf4E;zF6_ND7`F3QOY_9^C-KDuh!~rKcTsOT_p0x6&;Uy$+t=` z6PQ-U(iM|Eu9OMwAlZK2NAe-4_;htwHD~U}N_(gY#{ph?4j*%wos8={NT++Jx>)pA zxmsz_Hkm%38%T9X^@Hyh!j)mMUT3SUI5w^JNk5ZB2@KEqcCnVyb6KICV)Djc5BpD; z!1s7VkNtBwfgSqmrR8f{^u1n*HFTiizjFQVyan+Z8=$A&A=6fl9mn8})$gsxI9GYT zE*~old;1b9FMKV-d$%QaFV(#}oleFz_V^Bo#@~gw)P`NXUWrZS{@7@7P+ zHu4K_zCg5)o^%bazNp&N0k)FyK4dgSTsluMy;+EybM-^7tlDh4>xOH4g;E7G7)%$^ zIV=aA#5>Jz?c7X0lf!#N7e` z+kI;gipEN4DErEvUAagy;Epvcsu!&TSNVNT?MFKEd1yclQ|mT?cL1=mYRzq-*FtLE zUH?1fy)TpUw5fg#^wxzMrhhUQR`y!C?L2+^JeB)i#RK~(^n~m}Gmj!R#p8HISUV?x zX2z2=Cj>_PP1@#3k(%oP?npQN0bPSiJK5d)y6`Ev163Wu%YT;c3z;55LJoScN~Z?6 ze~ix?h3kN^7_rclJ}?3ogWeccW|SXIDqk8v+Jly+*T*WbAMyek?yU-uVRWy%?K*#3 zqLfzNd;fUFJH5VUIMy{H2)Q*{zvVST(H|w&tFx;! zgH_N}O*#IY+mB5gAdyt3yXbd4^C%w|TmNFV@%6^G>$@(~@k%+ZO9+3HxgM))qpMdy z%O@NlJ-FF!kVD{j+zet<8Fn}{7;3fy*TwWV2B-1tODg!M&)u>d`_mucH!J(U-#+)) zow&hfY^fE_DSfae@DImjHYWjONHxq|1O5Bv*(JCt|eey6RFU zD0+HzKK2a^zg-NM3(YKtHy>;)9_F#zg`x&j-?j3Pjp{h|wn|j7k*^(S-g=d%=#Tq5 z^^b1n)Va>p_RI;_XQIAz&%lSUX)Fn+9$iCk?ro*K_@vvekQ=R*Cn zh9uIj)7<3SEo$Rc=$(d>&OBaEUU3cWV7}^D$nkQPG}E25OfF0r2Vu?V?NlbEAJf)cXQ8Z|aW1VN z@}FY$*XTex1vVJ(uvAaVyXa_4_tAUg6^Y#+$(Iv(Ueup$pnHUQ zscv8Q;Q6t6(NjUq6f)Is&jKqsx5B@_{>4?3nol2R)Z7iA9@{uph>ksXNjo4+e~~Tz z#nI>1<}C|hRP9x=T=)w904#=WdVlIK-#R4Y{bk6~W6lY`eJvf@{b77MLXUzS%F*s#cHZYAZV@A179h*}`Req)CewIlvBn%~^zN#U%#KWlCrhth!mMLWtp$-Td~RzG7u}6eD+{9ARX;eqFH{ zTG&2sPv0fiv!$t^3l#ceXEZ}@X}R!s23ZE{^k^Llj3 zXRmD$v06E?VAPWiKbQ6+Xeh4>y*BOUGan>=Jhq_hhcD7nsXjvm<>aIrNOeBDvTSPH zJ8t!y%UGZ5Pi`V^a_GdsPWjchmGi7>;d^QBztVeqS;Gr=v@7=4=VJn#1q=3BR?=4;7Y2U@rEm{_>X|?+>Wus?w;mo$3&JF5*0oYAp*p@_z*SDqKQxX!A?Vx}d~pt{F!zHrn_%mmd|KUa zILBUIVwq;L-mk{x5$4NZh3|}<kSgZ;Pr zp2D)A(N)J(eVTtOBxEIarYqg#Cfax%_Jh1Xzjh4j&i(Xac7YE#|3?KX_bj&H86!sJ zAdEgkhpcrR6zPv@; z_pVv`nG-#kSzcGB{{32{+DJ=yeS|!^V&pI36w5ie+4Eu#8lqIuS9kKm6EPut=39Gf z-@vSRrWMmZt0^j67{)d!O+;mjkdFSb?;pPd1^gL&`_;eAO6^CNl;!aS&}Rik_zZI> zLKd~}0Hz56s<_&bn!nzixoKk7kyw0lCYy;#5@z@6FG+`$_VP11_@GMoG`H&?mcF(X z;kYRilV(DPlra0i+1NJyqNmoR*;_*2QLW6iAG>1@WXtt0R%9ZtBr|GB^eWuDg&hSLQoFC-s;isgt@L9*S$JyQ8Tk(j z;>D-nf>ZwGJ_tEftoIJi{d21XjNDIcjLoDtu zzlR9I3~k*9^Ic!HWQb(>=e#~3f2VD`UxOQ8(gDCT_Mx(;{?l)yw?4Lt%p`6=!9ujl zlz3@1m*}?9*Z-QExldKN!Jl!WiFx^a!OdimrtA7!ofc+A0f6AZc!dM{hUcvBIpiiS ziaO@1uw`?3eBiaM7QesU{_jR4HAjZ7p-a>_cEy(%%}+Q|s6D?Q!0UV-H7r+M>*qnd z0bh7}_J7ND0N~~z4>t{5l@I`i*w!aj``0tywBw=koLwBK`CU#5T8%Z^%nddM(Pm^{ z;!kaF*SIVIFn`8{kNp}k2-}?e9o8gtkh(N_#7xmZn>$4c3t<|qC;8;|jcBe7g;8gJ z1)hRW%B3vq1iRy}dgP!xI{up&BZx_{F?pNq%s)I#Rk5q zCx;&CO}CxL*6ysD(WdrwIA@!S?wd$ic5JexJ7vNrjf&aW0eT0gnukS^(V(kP)aNw6 zum9!g!TK=N<9B;0SgmDgKCZVU$!v6*19V_pH8(;5$A>J(PCP8m@6n`xu1rZ{KYDW2 z`no%P4sz91RFtxC7Z~?^mMmsY<;=#_PYLE?5b8bWQnpu`a$q2N_4lKAlf6E*Re>2# z>e15q+h6U1#$PIB zF|tY~&py;J)m!VW_y_Zfzm{w&Ewq6de^L{x+!kHPT_VtB^A9C?482YdoRs+P%O@msxW zrO#T1trK6B_-C{Q3SV~q=Sqt}z1H?odWQJz?O-1^2XD%q`Wj-EC*9^dx*Q`meVXNW zUXo@mq79e+r_%ie67>z^@7)RlX;>79af65s*YnNr_f@=zxPI?6>VX#OBccE9V#(7W z)cX`EN(J!Ek>mC_8DLuq_JmlFa?=vAeO}uso_xE;ID^zx4&|z5># z7_KG%Z>z*Sgpe2ct8Hf#uw*g@Q(IlTC4_)l&)PFMT_0Q9$BlASQZ;$Z4-hTx+Ae-#sB> z>l#ax;WtF`;nGSzr z>kXyZ;lWG__Z0Gl#!iY4D|8^?zSzcG5m(1bnu3rq<9a$Knt3&7S%>8;l2rfgd& z6?=~Obw6vAnRgQ8`obio`iRmXhM7>ELsGzoL6g02zJxQr7qSY*GQKJ8Vn}qiU}hMR z-{3Xgyzfsp0+rrmc`E!3_SfaA=QWtK0_1VNg{{=XD#D7n>+DWE$VB~9Yh_Cn7mU0C z>)LBDwI;oB@IGAU=pXh-APb@6x8IyCPhpa{?woq`t8lKViOP{XKRqg|Pdc;GeC?yZ z-S@)sclA$xuFp3`2$(N-^_jgvKqX-I({#tmNIf&X$>5Lqd-UU`TNr&2!fA#{JY|k!LT;A2YWxW>x(7x|c`g+&$-yj%y*}?T(EHw5WqzWSFZ~hI8 zc9RXL7Bn%fS`|j0yT_s9o{n_&DU_CCrg$v}!R{r1$>h5~ztu1;3M*M&3yq)5if@*?gLL!+hsrsV`g#^Fb%jl>6F3?P7duUu(r2bG>C0q4y8@ z_sU4`cT_rnbn>^wm@0J%3}FcCmvk-rTUPYf%w57(ngNTBs1q58Btq7pD`~Y|M{k!F zP%0u6eW0dJ{G3Q7Y^-$m`B0EjGRO(3XYE|yAu$$APFQ{3vsU)!aJ}(T0p&Ye?*^dY z8K0EHHo5BmV4AQCxOhQXM-r{kMYAsE#mfW*@qk7 zJt0kBc$P;$VNih4QSv>yegYV72Bao}?bySw^$RZWa#?;~{@=S8Gqpz(^Ix!j8<~5V z{30zLLvXu`JV#mb|dZiKn6x;}F@ zsp;SAzL50k1@>~olO_$_*~PA6{vmju3^78ZT)U0h=1^Xz=iw{e0U~6Z4aXRNTBJi_ zHGlT*e1T73^6n7gAqQg2&Rk6#m^0_MLX&kce-*xZag%c^w$Ml94e}uxPfnlogtlDQ zXl_191+;iS68SEfXPCcEm4QYx^l*sBQ4gWK3*OS@W&dulH5M zY*i=EFHM{Qq;OdEx9Sf;R&)66GsW5A@z{nt-nsQ}M*0~&h_r|=4&bE!ovl?ZONR|( zAVk@n_Z#j>v?DRbLz8MX1b;HGq_+lg z%UE?9XzjVs>!&R$zUO=aJZ{^+v4t;hC)BWm_9UFQ)?nvVk zSMlb@O|#mfh?b!2-tKzBhV$p~MWjl7pS@IsY(n2~Sn5o7$67};I$^y$*I zIi9XF8oJAU*f3h!Gy?+&*iS2d+VKAsk*gBgX+W2AT{%xL^B^4Bq4Olbz?6He<(4QO zjftb~y-ioLGG>XW(wyHxju#Uq-A>h>(Uraqs3@q$AAK?BRfWX%^GUte_n5{DhDKuA z+I$gHRWUqp*YzF0#dBmVH@}m!0TRG9c!}-b{G$EtW{G~yk00%h;!kd*_ zvflwQJlNAPt;P(pXzGD-Hjh7K(g0XW)1fs`{U!9)=`V&|cNWb`PSRgBQ*0hDz+mDR}yv0FJ z)49U0@P=O@bj!; zfN1rcFnZ13^zT~p#ZI(~u*+-Dtl5E#|6sEGFF*FZ*|Y2==D^!L%4#S}REcdF8P+@e z_FL&7>$Et)x~)oK6zCBxzQP_m;Rn;P^1LPR#hq3)k#B;Cyu!3s!bqI;TdW_trN`X} z;Jwcsass5FsY?u8{<9(7^JcS zQedTC9`IFhZ8r0>En!*SMc;3>19iv(+W-CI*FT1I%K2T?uR?8Uozg#tg+82voPEEN zj-qGZ{ov=@jLA!&zHvT}8?Eeqhxz4NZB;J0F?}k#q4e|S+q8-_*Tv!$4IxptZLFXW zIK)#Nx{*h+xc25}e)N#M0i65&f(rB+rmA%MU$bDoi8A6ZZhvNIH@VU#ZB_oP**D)( z--FFW#4q0B1C#8KUoOR2-Uc9Np)=k?HWowT#px{M$g(%!wlB8y^=g|9)~yx9f0K8h zkQiBj`sFCme6*$`XE&~J-#a2dPft8fR;9B?`nTQ(gu1(H2w4>{@iyxT=yl1_ra$cm zNG1BqUl&~WbnX#`{(*^kt(JEL7y&kc0lWNv1xs8Bcg4-ufJ+=+uM4GqN&>K)UJ;Rn zfQ}0KN@t8VA;bjFQOq^sa)UeP0+ezn##9p~$dc1=b^a;U8*{ zr+SMD54~}>x@xI5>uy>fUDSVzh@VA9zP445>|wV-+P<2w?zjk|iUGdNB;;q#5^s|66z<56Yu)Yf`}V1Q>$*%< zBhQuoyiE74Z$vq1?XU7QD}|((eL2OZNAcK4f7VxWHb-)04$aME{ygZ7+gyE#1#L+Y zgK+X!3r3bJ$}qpsVjJWNP>uKbF&L`6^%I+Sf6&gd-VDC=@OBL>6U?`8{o4#GjIEb? zNTFgc#1P*NjKC=y=YT^0c6VDcnHI(Tfx3AyYCd!I{*vm71ZFVwRte+fmGGg0T}&S7 zU1oRR%i0<-KU3eix9*{X52=nhq={Y}-R)U^x=?|32V5CvJ}vAi@vU~8 z!Nnjh7Wv1904J_pc#OwJ^g+=1;;s^2?cw=md_iN-ALi^?{8tJ#R zSS=r|%fGWSgtB}+b#5>X^ntCnN7qT$l$Taeu23Dz^EVZzHQXEn4c^*UVct&SO*6Zq z4UNZ&r?Yq7_n1MY7?r2@JsX#SdWRdyLd6Ff=>_Lb>Gq^XP{WKakue`ph4a(;x<%h@ zzVQwFI44Pe^Por5b+9XqC7I>U{fy;Qr`35r)ettaC~q`7-NN^g$}!~W%IR5WHL1&q z^gX}M^J`VLyXw}faC~kIJ=p5ia@*54PnDH>#`c797~+a9{K#yc^gZOKnYDgNb(Z7K z>?X7urEh)X0@CV^!oW7Bg0ES+$U?up6^UtN7XCGzK@6>vrnsMc%#AmxUjO-CHy=3x zrJ2uE&n^FF5k;|bF9Y#$Iml0U4SsNqS*2L5_PT8%hVBeHX!I`xWaE79!{Oy=Vqr!# zS9Wd$!y9xvh|n1DxNWR3zu#{=QLhyG|D3|_D-Ge>()*0Khd^xU;GWAH${e=$t{~Qs zVjxaFKj~{=uCPJZD?R3aw=jZh?RNia-6uZ|K#;gTpHxaMC3>0rqBGpNSGuB??S5(L z*6n=f0R7}{osM_zB|57dp&dHIij63`>mN`2QIL<-Qyo)UVjD8e5Dxeg%DoXFf}K^> zn`vM!{;f~@My;G_?l^hg7v(Pgw@D{!Eo%pr)qM@=V$~Ao&>cN&i^bRRLiOCdC>O3_ ztZ*~EhV9P6s-Di|^xVQWuW_w6{&+au1 z-{k&qZ*f@rltP0$`(oPwGgEAmU31@FvwIi9Dv4L(K}jn;S|@II_>{F$(Z8K6&pjoL zb(Lk-A-wr1JgauWbB?^j+86lY^%9;7z!TkO%rST@NGQej0KuMxzfr^7=7JZZjOSGF z0?##nX^e-w$kBJEFn(UolC=#rjQFa4?e!@kGWtEA-1qMSRi7?f<*Yewu+(NgXZCbK zn1o8UQ^WRAyN@mdt8oG3`o})~)A1SSwcVFPa@&Edoyi7a>k{$P(y#)Vp+>uV_@W?Y zP}Na!RDz6={3thv*sB1&@fOu7nvmmgSLohl%7%GR>_zLCI3tomSqrdT+)Cu3i zh?7RzTFYI(AP4rS+7GVt8WQ=I^Es3@g-NvYulUnyD)EL>Xxap~ zmI<3^JxIboU(caGbV_$f;ItOe=`h%31^De3vb+pvZu3y}a)NNb_1n(Fx^~;edUvL= z&{ySSpeC?ovA+9b@9{ActMPRL*>z9SyIo?jF`Fm}%WRuagIf@DR*bKh8Dq z4+f-(TUoMF%~BP8J!>+z15RurmR`VnrVjga{&@W}q{{INDQK-aM!XJNXZOQV&-&Eu zOZ>R76wwq`{b2kXY(+R6{O%)a$Fp1i8x$=<<>~=k)6PM!!uwR*Xk0&&dwaBaDpL>5 zX*^|?VbzMd1C!#kkHh} zsCAOOk~89^c}Py0EW=tt>HE8DyBY_17eBVi?5Y>o47otSiRM%*vCbC`1ip8mx_BZG$X=buHN9i4ZY7o zuiB8Rsm0~zP%w2)L$972FQe;cdu*RV*IqiiLw|P(S#bbH164-NL#B+PlUKZBH0sr{ zEjlZ*YoIcXiq9wB)|k4S$|*SxPPzCAWLaJv-AQwShIh#ONYA|M@?WIQR8+n{mbc`OgWEr}$@g{2c8!nbXLAFNWW(Rs5aaMqZ(~ zKdV%LL{|Qz*UY6I%t4ge_0Z0%kH%}cZAE-@GN8|evvM8(c{I|ZF6c{ulv?@E{L^;D zsqnk7zxNEFIji>!8Q#3Hta-_JIsF8=Z9*=u^oLMq;DPRr*_^UAwIRb+Nh=PhX%=HUSaNlVU_3MDRrniSra)B3+?{#yff!9zN2mreOz zO9zecSY*E^93AvmN~2Fe1mPHPxeu2dtE>W;YoW4?ajZ}wE@Ld3rnQb4GsRV5u8Zgm zJ2HlRg4t*cP=jVB3ozxG_2Xx)K(rk9i5UJ<@7kECsFphZW$I?=vdaCjy}HCb2aBTb zU&$-3hQ>n6uhl6XUV}}jzdAW;!aQzl90)%>N7qv@f={JDJjZkJdFW3#E0Na3*g|x0 zs=$7I(s)0%XgO9Sc_KH8rMW?u^nP?#owg|-A?)m`Y;+RW1|B?}qLO|)*h*mfWn!@v zVz?sXtj))l-Kt10#?+@nprnrE{w(NQF4yu{&%<>F`mW!O+fYc{@&I>l2~y#48`zV~ z3U1f{JGb@f0r>josV>m>lWjlb10$4qOBgrHL27_;xVId96fB3dX^| zY){|N+-~#pa{^SYgqgZtZ}ux<*i#j;@oe-N@>mCT6}CTAp@KF4(jVQ3Cy3wr?mEi~^}39| zpSIO+_bQ#nz9v{7_DF#=GhTy(W;(hSetU~`mcugvTp`C?GRoAlz8Lowf34nYPDOAfp)m?HTK`^ZnNnaWw|uZ})JIAIpmKmxt9NbH~rBtURaMd)@z! zsPkG|RBP7g6|9Q@Q9zOkm;e!!AS$33P)sOd7WLEn|Eu@OKIwz?^m=S1%sH#x8lyX# zinIL$Hrv8Sg7OROjK5FxSM49h$ZvIG_j*5y@&-Mh97n-GD}-l@y|ke=j{a1#mGswS zpUcVf*12qc&v!V+19p~qK|8KpX0ro-%gp{za)Q-$ZB9l((*bod_O~2Appk$uGn(c; zHrNqsJMe9Nx9M34W?fFpUn8?donfE+k=$=1TZAXRN*rl@l`c+>NKPL1Wzg0Btihwb zlH}}|9bTK#dFQ-*qybFR=D-?0{tlH1{k=z>^M3taE5a!|`C^)X=evFfd=I<(W;eLr zvKM3&_eb3xDz6^Q@g&n`ik{17y3S4d9xh7cZuRT<2pLp9#a6o9K@GDV^37eA1t)i6 z%#2C3xjcUW68knS;~^;w@jM8XrzJt^{0c@E9bbs^LVy+7b76zTMd?X@Zz8eQoh}~QGAzSL#&x2ucNYeZqr39;P^nbU zC0#vBlW?~gEsAan1s1hRuZ7#S`utSHfLsVKMZo1!seV-JBc$|nFN@z@abp40iKc7OTc9}QadtY^ZD!NU zJMXQk0Z*>To8p;0QC>TZZVDs-{QT*lcQ{uTPDh~0(5pfO<*yGVXZYX``SMqSTOSYo z%d~>L9?CWd$0e^0lN3!L3~k@`EPA`Zy87M5fbr5)R* zD`WeggPTi@VPUo4YGL=OZSs5_Ho?;trx&sa%I5sPiy%j5fdzN zSGfv)Z%i}pjGKD9nVV(P$+KQD8w5|%czcpujLB;lI4o@hZm^!>%d&k!u>cyM0N@je zSl9Y`u6D0kR=#HoP*ZxN`pQ}!`wiL3SuYxZGhY;4y_=nNwV~(vt~_;EVvfAlm)P^F z_p&cmp20+c79*(TX6aDrzJ~?f?WCharCy`e7bJjo3}9Z17cfkdCu~eW?c#o_M1^gN zQk@ff85OcVR8^UQac1LU<)@39u6GtNF7W=N3RgGEW1CLu)fy +al)junlye;K~ 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 NQ;OOLhNuAj{XcCJu-gCt literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/cover_image.svg b/docs/runtimeverification-wasm-semantics/media/img/cover_image.svg new file mode 100644 index 000000000..f6e177270 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/img/cover_image.svg @@ -0,0 +1,214 @@ + + + + + + image/svg+xml + + KWasm cover Rikard + + + + + + + + KWasm cover Rikard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/runtimeverification-wasm-semantics/media/img/dapphub.png b/docs/runtimeverification-wasm-semantics/media/img/dapphub.png new file mode 100644 index 0000000000000000000000000000000000000000..a5858a895daea7d3bf9bcd3310f496ae970c027f GIT binary patch literal 6213 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 Mv>ulzz5L@p0IMatq5uE@ literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/ethereum.png b/docs/runtimeverification-wasm-semantics/media/img/ethereum.png new file mode 100644 index 0000000000000000000000000000000000000000..41776c7a460efc7b2bb45b73323bfa6854773f52 GIT binary patch literal 13343 zcmcI~bx@o^)92zY!3iGR7I$}df_u;q9D=(ACkYl@f_rc$Xz(StJ1p*Q-;?+Ly{fx= zt8S{Gw&t1X>F(+7>Hf_`sjJFipuR-~fj}4v^3s|h5X=?u7mbVv^gO)O34uUdy9&}0 z+FpxCzhPj2&Y;AX>JwyG;MafIf)+yI{t*IEzRt<2zyI&sd_!PX(I$UvuMGsgT70W0 zNL|_tCz!~J%Z2lu7Y1DwYUbaIxj!_`Z;?Lg$I?_uS~@bhB+_A;fLI59vx8_|`-=8K zRDb&HE`*0#BGfv&F8>cgIm?4neb3D8_7y;&>Ee}@m59{3IS zZi=1nwKY*ujTF;o$JEEkbZtVj)SVFo+O+q!q9w)nKDj-8^)=V?v&Z|YD|YlXM3A^J zeoX&BXrhyfvML$LRs8rk!{lsZ&cvP*5=i{Xa@8soSWR&>0mWyhZT2sY$Xik)=2VPr z5T#CMW%U|XIfob(w4wMmTzS_H1nTR(xw#3~b-P@f+QNM$xf&L)DsH-+8yFba0fG2^ zb5c^j&rmHZNQk)>VkN|~z=OIM1e5_)L4hQAmckV>Sb)4C%cuq7&vh7mLg z*2gL-DDZ%_q_HJ(?R2aezvb#1Xh_HKj+ZpOv)L_1$vp(Y15UkBppHAJ8hL zJGrozUIkTVU}#nKRRID59|8yzHt+{(+s+npc?ZT0tqNXV41+(dtEzGU>?ma7^RsMd zgmVB^>*`hR>CpH|PG)8%u<4Xu4-b#Gw#bCd5_2)}ao4jmGdn0C5HeED!!jg1X>Q+S&@@I0`( zk&VsXXTYz5wVdjB?2rkUCFaDz_O~Z|xVX4z0F}E_D^t_P2=9c|lV)BJ)=Ggu-LK`9)lQSxj*f@`_s07APJ@Gkgg{(LYawJaIhg@I{1b~= zx0)Om1Y+lMZ1Vk4SmCEG#gB{r5YZ>?uqWA z1O#|mfh1B-685OrBHLsG!kyUp`lbW%NUXfH(w>!tX;y=GGS{9m_3MxOarRglU=xyj zR+rk;r1;%10nuh=X6S)Edm7(yWfOB^tg}b98ULpuMu7z$etsfg`^B}lI($>M9t8QW z0Xm*%ki0g4NI_cv@Oo zmsR@q*?=9b{@eS-@hplJN6#dHCzRGUUrgwrt}+kw1<94Lyi5^6Y@ux}t?Yn5eoL&} zrgl?I5}o>m`?sWonZ*c#1vm%ZZOQ=fBI#p^Moq0I#e0%E{M`9PpE8edoG_UR>B8?9JxeAMT>XN25o4=-1c&nC~uF3lb;I;3d{l1;@dwsG3h!y zUg2y6le?pAW0LaMsKJ2N2~4W_%8D9K%EFva{`C`p4cvRT&PR1Ypk@g}-$A*H&YRc4 z+!6hUqUdNgV3j;aXJ>Y`go9@E%HGhbHCY>0MutR*oHz|JkAvxt2q1CfNatI!k9PY> z*y9@tlmg?-t_8qfAm}KDG%zAS@ev{rYt``pcJ^{DOkYpFe4sskx?NTRTYw zl-Bf20t{e4*i49sh!?bBb^CrsSS>Bgf&P!55AVO>yb83S-)}A(xv7v}m6R~FT-9Vu z$l>6Q#h6`{WVC&5lY8DCVw+_ELSELyUR&2aBo9p1v%tCi;JEDPxX?QG>QSgOzS-{+ zOZXsW_2=~igdVHyzRSyhJUctvF+!Joa0&YlD;xM_^6*-;0+7Z!ixB+j8}@h+q|)}@ zm3YNa_NfZV80<|$K}cv*__Jv74Mc%bSJ%|E7#OT0B_-wJ;}tmBYi|!Niqw(ywMH}s z3)mz~igESAWWl?tSzE>V2k!sHMFjJX6P_XWH7mRVw6|5l2Hfl_Cz*};1Ou*#eLoc(k@CCy%tf4x>9?;#V zTs1O?jI_LX@kHN_Q`eGsRZ(N31Pq9MsmipAyqY5UwJh?UT(apJMzV>L^s0OBX!n+W z%~+g1IJ0xW$Je(G4+zftw)ThgI6W!?+pl4cLZ2U`nh0UT93{A*@d)mA50n1-`U`x3 z$P1h2UfF-Cmiw|I9SZ?^xg_qz|JYj;5;OsFJ^o|0oYUZw7)iccOrLc=$XJ$;m3V6AxBMJS zZU0;l$a(lwFl;JeGH|NbUkTc1Q>~JhaT$7I`H%S*K2tR{wMM|(QRL!DpQkB$-oIZ% zU-|q4QfapTcW7@5{XrXMrQI6`vhTtdoEgx6{39wVN&xV4A>+;?{hRT&QLQ}95MAvfxbLEwUw!SLv7f8z2OR9k zdG}~x=H=_CQH_}^bRc&EvUOKe!>+_=#ly?n3AoW+Mu%_0{(iLS?Y5Yu(T*5Ke^O9zKa6?yqPEknZ$VmJ_pNYO7(Uis6}tbp6D`y@IK?6X`7 z;LzOWJz)WXfv?+3O-`@hfI}O-I6eJs^2*ADEqA&% zItXM&lO^bJ;Hi|tQu)@lml~3zflIHNv~&n0ba8feb`%!M7$A_ltc^{vf`x?zHmmV{ zylljUeFtH~}4x3{-5m0-NS`lYtnRtpIV&RW^nR9gZ?z(Y}6o9}XPC=y@uXwDkb z;#q+hq+j`dzV-tx8d^+MO-)UuA7>CC8Z@NM^E7>}D=-j8tE9Aae`ZWVqI8PP=1j>> z);~9aLd=Admp7%oqvNv5sD(3*QF?8bwQ6>{eE?V_0%}2AH`=SOKwDU7pN6_Op5=S^ zj3vsD*W?jkbyR}po=%&(bXaFIQ8hd<5tvY#n2~YV_HpI_HeK!&|DXDq3@T@NX}Bwx z1+3QgBO*w+en|TJ`?Fb*i$2vJh9Ib1`DYRI zn=!oxpKBLpd;8M*dUu$A^gg;PF4=!rU;7EEIU6($^rwmF#L6hQWqy6a+{=Rh-tu%u$Woz0Os9xLCJ!|EPMpPiKhpadCZLIs}8k_{C^wBHGVl zqeJHfsxqP1NsKtj?PwiMO`hogI0R>985eQXy6BcZgTuq+BLn`^W=ih%wx`(_ZlL>jsY7vS3%$;fx zFQ#RB8hh$GoUK&q@Hm_;SI)DpoaLn9<~C37trsORGz?%@2a_K?1xElT5}Pztj1~$# z&O~ZuSdDlUW-?Gp9k~+=SpM(_udJ%-^H0bqp^~XAKSV`EWk<@%(b19CW+K}^hEdwV zJ@iT{@`Zn*f5-4+1S$V-3*UvdPIAq+MuD!Ydj;W-aha*^f(%|P!jOFMfz99jQ zPB?ApcyxRYMZz+%1{6ZAvh>%2tmXRh5pNSN7#!WSzM~@?S5|1>z&fj(7axx~b=To5 zwJRvlu%Jbf?U+GwAWo>H4ZXcWgoi%@+_lyW6^NNr(W~uKcg1jqLT$m=gtT3SQ`Oh@ z+*YRm?;vBBm#09#k{NJ_pYyrtl4PE#o;KbcbdvhR&e~!1lEeI2>L-BrFR)pklSa%> z_V@MmOiV;08Ltvw9EKPfN!BujZpr;g_ULbSKomxPtHN}=pP2y@f$&7u{hG?bImpML zX!4yXbOIY+STf-e629)Xgs9Uai-HT2D? zq+?vI>eVc9BJI4j53A3+T2F&62PlvLy2r=IY^TfkZdu?=Z_SbzUO#o`FIO@TdCNsb zOVu3VP>eMO9v+?`%pWWGN~Y5Yt$O(uj*c(v{QUgsoi<%PcxC0~b+@;-uhC7j`x2o@ zx41DO*)OVfg3#Obs?Wdz#`W6U4iDC=V(h~=)A{OqVxLLHTsZTAnmU$odVc=yP)+Rl zh_a!Z4Zb)w7f{=yv}i@nIj#l_rdG=1h}`=*tFBR?fM`TEU2eR$BT zX2#+be41b&e|qX#!N=9oGBMd0(}vh`S262UO@Aq5Q^RtvmA2X){W0V1?LCr)DwjZJ zc+%-?j?pl8&-ZMD&_bl~cuAkL{cqp=AyZQy((Z0)RGhyMS@~LPWSEHZH@$WTZ(;B` zw&z*T3Q=#3c$_x31_(JXEwBGG3l>(^rTqMSNhtiY+Itoa@8@0~`*@YY({(s3?1}eJ z^^Z$cRZS<$EnHFm0xFuptDTy}3OSG-pH95zo*2iP@SqU**7ZH5^U0{6mw)8!>e${<~Ag+w1GGvdYQ^tp;gYCPkBc&Y6K-?@*)IlJiLPR@=eQe^fL6YL2B# zRC>xdco{snN@?lr4r-TFRJcEc=9qGjX@AG+5D*eFWnf^?>(joAPAP$81cuJsI(lnq z`bo12`YeHgfRmxxE2zW-{oM>FKX;_aMPGvN}tHQzx5IHvgtOVtd*t}@jt`C zpOFbf99t}YE z#pd)gr}=YVT&6yTj00dWEpuE-u^xxS3J$(#2wh4^2^&ZLE@xl>SFI)JOzh@_j<<{n zed|t1IkpG|O@(_BfrOEOwnC9X@*M*jyDTeOYc0oDB6)^SxoAtoZ%VX-Q%d6v>66>SLNT(E)#5f!BJp9&FaH*->_S&*u*;+Us`Vkb8r??E~n)Z|WeCy)PVqYI0R0L3v(d5d?bADa5`(D%7!i&!_huV7K=4KE$e2`t5 zwl>-Ts0dm>phSDs#>|UOlZ|L{e!b*q^`={clBITcq%7CH$KB6OkL62^4ddhEU>p$0 zRfPs;NNBh8aH``p38A&a*F!^N7Qfd1V3~^vv z?Hqp&c+~-_`nfE7C$_o8g?3bT!;ek-_V~%kaR6)}ZEbB$z~i?(UlzH&tCDMY>@c-E zHa7rZB4{9x`bXeARG2Z0eEG{{*of5HF#`VCvNAJs4HWP}uLrHJh0Fc(#XqGAlFeO3LE#$2k$-+W;z{ z|8t|hr2&Lo`c>rZCLvG$|xU_uul5oOEM z3q@JOaFIk-t9Vo4=fjNC#g4}?Kx^A|9iL7gDclW`S>Fdc;x`n}Ra20XlLyEH3Ft@k z2uU?4hU@nS8WG4bFF#4lA^=(`{QF|u?B&u1?w}WeROWv!X>FASI(_a$AD=A4N3!b0 zCrlez4BD+mssX^|_MborUneIc%hv+-B6JpTFt6x!D{6Y3zplXsCj)!_x4fz8v_&yh zXyc!B?p2n%1pj(@4jJUG5Sj8M^3k z_<|nUn}Gacb-JqYHm-*qL{a?S=yyO zoc9O`FJVCP5nZp2Iu`rSLc!!p$1c(U?s|*>qSVL4N*K5JzDyXrN}@4h$$87hHuf6? zqEYHFdF^QExLjuK3M7C6!#mf8cP?^(FH zwJkGfSM%_Eg1oc(1}2@Knw9|QU%t`0P9SN5ki6A!+b5X3x@7F<)U`n+FAgZ^ENZXYf!6vs#KfaF_bx35rEdAY`VI03o{MZ<9*wfHX<1!$RP1oy9R@!<>^u3JQM^&8p(f7<0$`Ogc!C2iFbj zVeA<=&ZF>6J!K~Y0%I2Z(AhO|Dg4v!?dP_Y@_#fXkpkx1aB3>bxc$n0q^IBfAShmW z%giJ9oqNp48O{ZUP+hCfUq%THzn>OgWlKT^fiqQOnmZL94j)5dh|EY`LmM6*hEE)u z&vG?&gQj;Ky+=ehK=|}>d2cUxq~%s@S5tw${ZC7W@Z{M8VGn4M zb756^|7j@3K)C+ba9e>nKoeYU^*GGCy1KHN`uo?U(|MyOW?^AL?Tc%KaocAe+Pt|E z4Qi+3#RmUjs=PW13hT9N8J!Aknc^Onn1wV&>2t42H@7i3UzGl$wKtIy z7&Vv7tecJV)_QbKu6E#M)SDS^eX+sbb8!w*gO@4ddlLtIzo8It-5ws#5~2WL1r@v5 z3Vol;-7&TXhb7)l&(qbVVzr!;=fmo*#WV?Zzk%6G!zBbHB+rFrmk)dSbE7}FZ2Yb! z<-CDPZ9IeByeEJ21O)|U|Kf5&%ribFrrd%ck3z(!e)sAAQVxrRmj(HmXr;=y&CAy} zviW4C?UY2s=jvjnT=!N%LE+v|pghXdf1@Yd(QhxFOlY9KzE&WicEWZtzh4FkDN+j# z2@^ew%VvBI00FMUhSr6VF)$oFfxObQ@AY>a3EzwJW?$4tb8~YC_M0s63O3a6pv_C+ z-D2F`HQ3lwleXE)@98{F0WAVmvv+`gz1d!FL{2w4dMqKBCyv+hu1&T$WGH$_|>&- zKA(sk?>_Izx!iK(7u(9Cu>go&pK+~Uxp7+wS z0s;bL^EKvDbG|iw6o$VnhxRB>wQNlrJ?C!7vNADuo2v6PRF@AD?(XlsgRtxP6#(?? zqD~b4T^N1kFVoJai;4d5Ni7!r7coyo(< zr=iyYey=aj7-2)={5vfuxby)w;kQX!L$@CRo-qfmpovscylzM4wUK@|3pPjH`KE57n>6`eLaV2veiWdfMzUG$x#;eM%a1ygS>FIHHc-o0*=TUhB{sj3;|U z5~ggs6E5`%c-SxIYc9$)JK1^Lt4C2&+o1A6Y(zlCdv|yD2Cg@9Gmw&wt_blZkZ)=C zb%>*(u1+aJv)Qy!jaaYV--}z<($Z3xnw$HCkcc`Qg1HO(6&5LG>t|Qjs~$LelYn8X z6aeolp}Yf(Hgk;g0;K?);fp)_z;4cN8#jpq?|l;nV)1DiP2>1Lu$F~}P970-9UKgn zIo%4sYeh32Mr>R59r1+UN078j>=8uBMyLj=AYMy~Ue1RV*A}1agDvRN+s@9;EeYfy zO@>^yy7itqjw$M?Qmx`%&GU6%h;eLRPq4eal*Bz7tg@ z<}7vO(Wduax}t}ulK9nlsBbz@QlY$0ac*gAp>7=2KwOQ4g01e5PoL9+QO|nU{4U2> z0-Q?4-?6v^cLCU=DcrzlOiZbkd9MhUx6{UJ*5Ts@l*zZszCzy@IBuy?nY@h1Y z4$nG&U!+K{aR+mdc&EKUHu|kNOf^jqnb13fZeOn```AN-=)a9T_On-coI`sA7{Tk? z{nj4_+F|i@;WSjid~|YiAr~Hu8e=n^ATZp(P1F~ zi!gN!47fr&1j0^|nS{M=6pIJ0|Kny`Ds?B!s`!OkE`B=1c}@PeG}UmU-}BSJTJ_In zz}|kO;~}}a5p+ZHr1-SUby!WYmD9P02*b1#l0d-CX!7#1Y*ivGd5R0-kO>1~wgxVN z;V(RsyL-}y@g0*d;pbBH%_KW*p~_B@=dPSl5L4Eg644+lB6?O+)Kd=ZO?2N9N(G;~ zfmq@?JXH3*w$Y`uoTMaei}2uE)lB}$oL41;Fo)o7oxdZwX%H>EHxE^?l41ox5Uzb! zF)ye(nGd$YZlytkV)xr4N=0Ob8H{y1VLHzqbRu>$=9Qa#Y@qT#$a`ki9178O#l3)C z#i#8C4zrBEB5bT4MDiq;$>tasT)43%8y2vd3@%^$v~ckY``W!P2i$(kYnpcYwH$`l zI5+@D9@+DA*QI!7%FoZfGiC3em56oHdT;JT))(V7e|(a+$L|p_iBMTDdt#-c+NjjD za_fCdc6>rkY5bjX`ViZBHX20)jbN%yc~!c{I^X@d_uU%XUJX;X#pTyk7N+jACwIa^ zcoDL*VM`@Vq@loSlxH#IELTR1VH*!G3^gtD2v~0h4vupbmjrng6<^{@>S(uYe+=(y zj}2kuE0vHdUXBDPIm!>k#lt`Jf^)=@32zz0+ooklU|W}HOQ#G9 zVrpS=1&5f$z=LVvoDPfr=->J1xz=nV81lo!V7wq5dmxqt=B;mfiYq&3T>VKxI8(e+ zP{Zm)9$nRyfyN?GKi;csyB&Rt#cJCjcLr57#tp@uJ&Y<@ zGrY#)L%9Tjr5Of$RnFKR3I+zQ(ex|=hm&f11r!Qh?4hLG@=ULP_-f||kMe6A-_$A;Wc(!bFfk*f?SA z8c-$KurEsG(+!wK(Ep5M@d|EKHZQ{@{+2PA%CwiItK(3nS~*2-vFz{9@|MGGT{4Je zjpFMv{a7$j>oH@J^hT`8WJS%ogu1`~u{#*f!*WeZLpeF`*I(G^yDv{SwF5=KsiA9Y zTLN#aFglw=oLP??+Xw=lSm0CDtpS(+Pwx?E-BC#l_DB0vio5wf#$+$Q#U&z|HYP&0 zzNMy9(9Gxbj6pGyb=nB=2vGe-{yjF9&VAujTedWb@-y+^PpLeDEAi3PrDSX_(-JfK zLE*-@n1#RP+<9wM?&Gw6k?Q84v|^CdmYzf!2ZG~WXl6A6c_ZftCP6|^d@|RkoCXqh zK97*h2*FPazxpK{uVK$mk{0G^=PlntpN3g|?3h$XX$G>Sr zK}3P$@LX+Ia4nwzApPfXSTlMFrypoR+Xd|J!@vk4XqYJdW&>jF9CPeBj6bKe@k%AE zuiPlpwgtTqXH~(`I5U640wN*37|RmDJqiVPomW*F9NYa4PO=?B2b9WRhbb&&=z%mC zby=5%E8`8^Ct5rhoq>eE&(TNwCisaEV!1KG&OcYL>O}AayFo~_zknp)|foLQaMWdz!R9pUyAqHP*Zd@^oNyu^LR@gfhgL>Pa zSL0@FSvho9PsfoJlZj^9ZPKIXTNFW~ZY=?YnkP2v`J)5i}W^W6mllVc{foL3; z_IMG_JTh)*@jd+h-xnJyOZaQf{-i|9L+j_&|6VgZPOd8-v~b>|4u??PV{E9e-igeT`5>x$m*NmhmEV9uw#FeAUrOZFApTOk9ho67agG!iy1|!nj>NLMaCd) z`!*L>kZm@Fy_xRu1E$wpNET|l<0KayI_zMazX}@J^_u|Pw{Mxcdss9f4-XG2+WzXW z<)a$dlJdrRHDzCxX4S16zOoZBgmLOwue_7~D?tRp<39iDkpI%qp$?dtq)YpFt<8JZ z6cV0qkWwi73(D{Ndg90Hukj{y7O^CJj#065a%R4&GSu#(SUiOoYbLTd zsmEKOR2W$lqI!iLrtkDYDB))FLDDAb4$Me8$A_{wf^1>#I%v2-ikAL`IHW;ju#y~! zX**0gO=iDgJ<+JHR?3jGR#6G!IRgg69u-TIs5d6ho?ltMkBM#&DB+#?NC56uvLA~w z`s-)vC_gQR<+R!Wc`B>njW+_d`~Jo&Vd*P|cEc10KR!Le^& zJLX9uL2k+~ldF)AbI0v|=!99mPQ=3y-=frF6f7>1A%ASIe$oLXU_X zY_@U*Pf{1HF9+u^JUTC$$acb3=9yo8=IMh~OJqp<)Gyu8-Q7*j#MbP+r_S#(x$e$b z9W4$0HO)|#&qIhv&GO06(2v3nKjlX=4h}AJ-5rK7ZN&_El$4B53AwK|bY$3&zp*jn zYuNZ{aO)~>4?G07`!tB<)`+IErSyc)(kx-S4)rt2r#g7aNWO@j!1s758!3=aq_i_1eOQ>cMLq#sze5o*25QNTZpp2eKhi&tLxw6Iz73{-OVb0MVE{g5=g-S{8b(e+ zVo3G@d^?uGd6Q;C>YMU=JFWSx4AeH`@|G8Kp_ED)w7HwXPT=~ObP@1Hv9evno8p$;V1%fSy#q^D@)%@^9%Wca)(&iVdc(Cp@q@gs@ zJYnOa8gg^FHa-cKkQo2{`?v9XQ{kYHL3CGpU71nWVxg9HT)`%0 z0CXyc&!4s><7(HR~*U!`uVE?lnqLIFhw=9wH@~bW5_UJqLk6ZYW3S zM}+b&jeHL2W*5#F7+hK|Dao@dioZbgzi$XCg1ahFjC(hOqy%~xGt<27UT28P)6WT{L5+FGvjR-^5hCsVSD+H zC~#WKE+Ox61RM1~O3u{?=RPC_Zj63VfkpsH;e{#`zHaG!{BLXJPm~Tz@e5n0mbh4R zYP3pBVkR}P(!?LH@%4uFKi=W$*>vuJLabr+>&JP}!lss6-01Bk1D%om5gSd1(s-9! z$hh-T(K$Fccr49{GY=XS^eBmV8U7G;4X1--Q~PC>{)0iJVUYJEpk(&ym3{v{#bI6Y zQ8JJnnQX|Hb)kr5I3J~ByMi$*?LE zO#`spLhQZ4Jq{R z8H~*O?h?QSmvT+&I^^fe3{Z`~%i_xJr_Ibv%vFMfiv@jA%O^69@mf7Bhh73tgJ4Xm zZ{MK!m>~NgdWOUz83Zc*+x6Yjy%3_zjp=r>eE*o3e1c7v z_?h%~R7x&VL@u?&pjoD~?fN#FOKS*=XZ+qDS(-cCvzhEjkjdt$zXU`quV_K_*}4ilLf zCd`46$C2Ry0Ravw;=xoR7G;KB!QNAO2%HoIWs#m77Xu-SRxm-3_&oj{UTBe8&I|LY z2sih1tNTM(Ze3OlQJGEK`2ryxULP^i(D=B?_~`)Qvc*zd?|Oh~EgFuc!_#~)tR#6o z+zQ_@_R5;aCzTNJ6S60a@<>$h9}8A`^8?>eeh^&@&&~2lpTc+58ZIRWoE*e1FL=Qt zQiTh(NohYEjS%sN$=~T|_X!{e?`${@F)PJMPkfBd#ijB0j#`UDGnejc(wL5gTPN;{ zw=u6?3Rv$B<`^*7D-Z%6nh_CPEUS244G4z5aANDz+oz2=dK(z13XivJUB$v11MDEs z8`5OnEoLhXo@{Yzx{I!n!rs?K#s5gf)CZJeK-lS46=(U1Rmx6}_)dA#Q|C9>{B zRJif&2f`(w#`W-XEQ+kJufOUIaTcm@sy`zwevcT_WK2y1#c|)zW$3vb&*rje;`#0B znV6iMygEfjqWDD>u4_J@lzY!BX#w80LGxPnfduM?Irgd3y6T2V)A2&xo`4}1pfL%;m&k@+r>cso zVClUABCVfk?=HM%4`%jvc6QYMYR|>pSBWv<#fgiryqlH;??^i;Sy}vY5Z}Z}h_6Iw z%*7=)?mh8a^O(rKM`4<+Hho1bsBA0$@ehuK!9J?xAHD`Z?>td}5xp^34lqLpSHv23 zMX}e=Z(weGpDcf;(KTnx=HuBAc~a-hx8y>{+)$?`yctig^xo0O#A*UaqmN zEU~~BM|ivAF9`{360Fz1zI^#ocSLxza7q6lY3SqQ!@B|=i2V8UCtj@zKgv=FSwL7y z={^yfN!wNf7%8oeL=QfaQJ2HmVi*-FD64=B1XB*dolC1N_RsQy&JI zZw?daPT+p|SBiItScdukjwv<{b`-}q^PURg90I={8-;q1A4u6$|1`9L1f*I?L)*Z=O$F72F4 z*e1r%0Qfu8iK@9G=_jLINM3IN(W5ymdipPO#^|ty4?OwLp1#7_>1SWQ_{3)T zz*CZM@f!euCt?lu{f3l^S@$yh?N+vlVU5{u)!5Ui`cb2p#yyJ;;(HnryQkL% zHck)@-F?!>^kcI8hK6g*BxB4E-a4j*SN#^=Peb2}$+<tU zu`cJ$D~atln?#zi`m~>pe49nN6Pf3TqIKATzuT|*G2AlVNFq~( zVgLX7_hNyC2|R5F?k}HANhARK`EQ#Y7AA1h2|PA^4qQo42d--WA6rl*s0_mhQcA2<`+35E6n*2*EA51PJc#?k zobG=6_J{j{QNkEiwdY)G?KywXGef_~ile_EegOagx}=1N0sz1{007KOWLW4s+An<( zp${l_66%fsfaCP%4`$hf+zkLI07;QgN^Yr#Ev|w}s>{#MtrPl0{iE3*e4VfvU_Sn& zG&?j13*GC%i#>eT)J8p0MXQ;{7i5}(e|8e<${@k%nfd+5B3j!-?J zrpG;uDJB$AZNm%}VH z#YgHF>3Fe!{3S^}}p4 z26{yLt0Ohnn$PCJU*2@^{Lr5actj8`M<;2Dhdn_^;b1<)HMf*Iykh|i8M-!!k*k|2 z#B|Cldiy~`#_$8Sk{atB%H8(*fU=jUR!9^jx1g#=PVU0598R3(SW+>*S#=ipl!^k) zK8SklRy4dS+s^U4Pj;g#-XJlYL|u&DE3`_&V1|{4*xm%u(EZZI-PEuVJ>GF0_l?_2 z+SkbtLfie+Z9Yg-;;~$~sJ;(=gAnFdPvIphnISb9Z_lkM4fD_bovw|r-M1W8Ba@2j z$=$z1BtC&H;J{>u)I_jI@a$f_jOJS{%Xmvp`zyhP$3z*tKMckSjUBt1(-4w1yKi3x z4=cGkR!^j#rV0}>X~q#9V6+={fSEmYxMH0P%O!c1UDRa;h1=XIKYd9%TMjnm>0L-D zz>GcgHXTNfk;+UWB>%3i$hEy);g_Pf+v*9ztKKBqjA}-?6^;*rOl(AMr7$Q18Sa~8gu_Ae=)EELb^J9BE+Ja* zKy^D81-tvibnlL*!iM!reb_Dlt0_in-wu&BD+WX>ejjDFh9o#kuK75KYnVDXU4KieTAw52 z5Rtsc#6l|daDmMK+G{PPw60TG-6!D#Elm@uz=yv}N00DWWg>#*C?+e(_BR={gW+b{ ziH~Gy-g))0D;&xCc3I$rDHA9CZjY5~#XFfO4cCxu)N;9!t2C~b?x5;tJK=O-BKe{V z*Jfz&hJPY+D0f@kEX(pX_Pck3mBCkc(NR90MxRTFH9w2t0!h1{(g0jOeDZ6@z`w1j z+T{812mj$41g44)aF{dGYJ6q`lx}&5Z*nQ-QtuTW;B%*?b$wjQCCoQ@f)}qhH&DHC zRfYvLW86`F(p(ei&8O(&C7zGGa9aWa4L(*_M<~Zx>D;-0!0+Lve;X+W}ia(9vLlN0nsImH*&} z?wWXx#?R~awcl9m^%EW^d(C`IBuTyjyREYAlO#eL7}r6K(#grrANLw9yXgc8@b@gc z%q33GZM6AQowrZ@z^d_x#MN0v=d;&aY^z%*)UZHB#D2b|byJdaaq$GQ;EaY7Mbjj5 zzX0!`J?wmYK9Y_9Yr9|bV^YykQ6zfBrDV6C$h*P7DBCwba^RTPmG1nhF5@$nlJUdU zhT~El=FPfXqL)gU6xy}J=*Pq~frq8gu+mSrf}0;5CHp(;znioA$eBuOOFo?y!%lmC ze_5^Zh9a(sYr{pZ?sBmda|E4Vg8k%2-87w3qRTV?3>BZZWHDh|%lhGrZbs?!Mat{5 z^ctf*|Cb%h!<62t6W@y5e{dz*nyahCR=|sq_)oXo9(v`qz6nrmyE?W21Ru{_pX?jc zjHR)P+kYO4Ry1cfY+hqrlnyRNn8$R|`^ew*s(xr6Rh%}HBwU>SK zi2bw-#+#=*lNb?HEC|e19CIJ>c5>5kxcb9_3JXf#4~56yyM=$T-3p2&@K03UJzJtA z$Xg~6SW;#BG}Kmuz(LH3vtHHmo9yKoM(H-TBOE>bq@yef<}~GN~LS z!20$~d#g8?G*h|g0??%~XllEe{gW&VXtKKJZF2Gw2@#yCs~>LcE4W1N1rSQS4xUw# zpEYl`G<9{1K`$)k*LyjT+^!3qs@wZG*tg6%HgxOKEZD_qMm)#1cT^BVKOIcbr3EyB z28Eu#2=oc?4_WFvQ%mVG)6VpYBIH?rW;EhfA+2~S@La!H@@NICI?WTvk2LWN7Xhc< zigi|!5M00MB4v$=B3-Lp%LdO z6a*2wrhhX*udbSm!a#eMQ!Hpw2sijmo5Ww++ILuSgv1A**PhN#BE-R-7 z?z^X_CydIlb}dmeAiUc!==G3;^fMdJOt`Lx267s8bsB|sy?oZuanME9@of{8or+}# zDZE_rQyuni*!2na+`Ep+wfmLr{T{qs>ha#wI zIurFQa_vMHFC|Fh92-j8lB+#snGinTNWJPMK)(Nr8pNwIwUH^|d9`Px+a@Xv9(lS? zhVdQXD@sHPHCLW{O7lFo-3v^wB3q6jBdMh1E4bOIC9Xp0^I}k)D4@ zPBB=Q<2|Lq^@iav7|f-hp?Aa9Qhh!rHI@-}c6J6F3cyak-iUP?oWc?aN4?Olq?D4n zR51qKjl?<=hb)3;_%2ULqZ;UUww@l1=)+y~)L{*M%8`rk;J;v#JW=xv%kNWUe_nDn zy*}a7aoxF>O4sb%|Js@vzcZp*-U1;tBq6%gYtlp3s&KHOk~^djeC`U@zrZ_me_py? z2D$1+lL>b9S)a5#AA6p(-7nuG4V3Um?tB&QEo5UelTqGw703t1F3JJGmxfoWBlyf? z`sqQF8@Nl5_Qb$HFmE|v6R7?0#@zV0^vDx(Fv$i4mbmZD;g21=S|Fw$&yRuQm)M*x zxfYi1H&Z?+YqJ6NZc12~Jz>SR&=dl@$xMd>4f?Qh*zdK`fQyn`0w6t|tSIledmUoY@->S%ZaS^Tol3Qn;(Q z1at^@2!@U6Ep2iv-*&FHlv3IiMS{>ZsknUnD}<&JUUEG&AVsD{7_ALetTFY=Ye4tg z7s?73E+BmM71u@nba*gE`XEo7eWk20Ty^QueAb6}V2hBH(@Ml9&_z$RbCxCyr%x-D zG!PF+D=aAxcHAk^(lQ{Mk0IMLv*^2Lw+!T8xmkdob}0zLs}VIa%N&L=#6yfNF~YW7|7e(Ps8x1fA2CZtgvMUHa(yvD{_bl)Z|48W|Y8F5s)i#T(9+WK_35BN8fY!bZG4rv zd3@X@%Vy(WAvQ(u&mdiGtJz;~(uDo=U5Gj?@q6#a7?@sAb-X`k7(C2@=A}N7!wO)9 z2A#Ax?))t_{YusMGoYI;UH-@Y&ov!9K3xzwYER4)0J+74@9seu#X%9$-I8IlSpHlr z;yDKm(*iV1Veyz9GV^476nLS(+Rdzc3`h46k7d#LG~g((!UBECaKw=Sjiptl?AE4% z-1l!wWHB?Zf_dp|bObNFJZ_cEv2)#%j~ELJ#`V4Gf0f2-;OT>B?h zD^9})c*C!Sj0Ut1Tu6~E5veqbqFhpM@nA;HOVR~~Nt+3TFafvW*APPL?qDPjZfUAc zY!0F7Q49uYB5$);*@-!=$F8+B^!XA2$xGc@%BRkqM31{?26Rd9yU=c!_2vCT&~bku zS(+;MTpuE|3t=FFH7!oloLeeET-4G^g(1;NHH4(WeU%Rrm2uv#8+vL}dx?chB889s zqt}27=#at|hyZ6@B&_?gbl=Bpf z_ceJ>!EeMZkgljAUgriiLzD{+gz|!e6%xbD0IVCP`G-vdP;~7(2;>zPhdAhxjpLtZ zO|9nK_@qeJ(A0!th?pf3%21W&4J9__Zc_jjXGlp!rs@P7XP9V!>Gc;_7&OFMLO64g z{r+DRjZV+41CMR{X4VsL1Zkp?#Wk8gz&kQ>LtLJ>+%_b7ccn_TImE<+g74SvhT8Wg zUgYlNWtxS7`Fe9`Zx}nOX8j?lF zcRpe}teWE58S1f$Dfg?&hkK|6{$3CT-YY{Xp{iREtwU3b~q%tuma-*peRow=iCSiD6?; z8HmML<@>r_MpgNCSaIpcst5}76}BIF4CO9 zGZg5yEbJ1!V#s=Ue6+>X<3zX{fN@GzErZ_Qf%A?^SBw`faG6$B`{+bqTB6#*Z9TZ_ zcIaX38JUdyxrI~|0RidEcUp|(c%SG`pxkdht@gHXY=y1KP?p{5v*#l4%L*J!ZZq} zXfItc`LD9l{7E<_N7Y;eNt!PhVUr&n(@JOsRdp1M;RUSr?nG>{0Y9&vM|x9Yt6OD#0}X8_hQuxHhVA(&60t8~ap-+8k-Wat=vofX zVeVB5upfK?w=P}Ag;_!Hc zT+p4bE*{%O^GPq_sOBK>eDNK%Jcg4Nc5g4~C$RuV6A~wr+EFzd`NyP@1=)_$?-l*s zS(a#8Y^Lfv&0YkR6mreB^Vuayucm_E!74I|%XfVEnIkAJdB#}OY8v$3O&o)-Mgv`t zjEi1P3TCwrFZ@K;XewN@KCwM*I)Nz^ZpFJJIZlrj)3=?<%J`1gHS@qi{v$fzll2-$ zP+LijU!#Sk>7TvPelL&HQGDkWLZ8hU#PCB=sfMc|xXoot-OgDH(<42ohISy*&j%cxuwKXT8 z!2su5j$hVNizm3((MC#R_*^|QJ36TOu=xD8pjzmMl8E1NqZdQj+(X^fgYaBcZT79G zjoanrmbOQ9m6F6K)kJ5OmBu4#ab*?;Wxh)EK}(Z*Bn(58MaM}Iy|68s;MrepFGqEh z%q9*9f0U{d2$fY)w0W5e)`QLyIB=(y5JNwQXu}gqltp4n zqfpygA(+D&l9ogHBKIm>*Hk6>{+fx26^MDc_sr+L`yz4vualB8Y4&R@@ zG$@dm(a}wIT?LQGvT0QDt15!l+D$?Cn@;q;2_KrCu0}RQt)~~kKQx99AM9MO;`a&A z-x}nn(1SQz4Hw#&YB3AKver9uTqNG&R1<2|+f--4o0x6QE%9KamRU@MiijzDs~;z3 z7{x{BY=Ap|R}v0vIy7i8op{y-{_cAi>zBNBG8{G~C#T)}DdH8-Sh0B_PzTcV@~myB zczrN&x>vDiRcV_jBUD_ULAe-X%$nHQ8Ukz=Db04wJM8r+z0tv|XuR-oL$i z>pjkHzoUb-w|3Z;WkSyAL1X<%)tkg3O=Ypxq#5m4(CS1~6>+fz>@gKfSCW5YSnFc# zM$7(SytPD&%OG=!CZ@ygnKh4@``Kp>{z>Mk95P&nKIQ)kkjqJjrGs2zol?%nVm zvwLpy#kqq(`uX}X=2g7hc)UvMfR49usQ5srHE5laHq9=PMWeE90yP5jfzx%| zDs7p|A8;q9)qXrk%qT6ANKkO~7E0=@=Ka!bxNb8dDs80rJtrJ3DUCK76=D5Y#IWXY zkquF{@ETkoxpSpTuHAmmscVy>6dgPWdXoXKpjii2CI%LQ%Epp|)-66qpdP9NwW?kh3k%Zss_`M_OCh&ZT2v}a<$!0Z0)b2t^&on30fUS8Bl0;J~h zN5%=i;S_HkkA2=MRTf7m^z+l8H1y?ytI@>twpVqD@lmeQC;hEo%aqB23k@SRDS z1vJg27o+6&*IAte_YoT3SJMVr_B)>ZU(W`~IMO3^ZJZ6BFjHY2lO57}vUY?E*1rKe zI=`fe4_w~#m&eTJVST;2Sn?JMrT^m5R$7(9e+c!T7ieGqz~X8bh!m{;xbT05#k2J| zixK|;6xM5kY#$?0TMcdyOJ=Zb8t)nAP;zxG7Kp8YUq4E-n^(l;@RCc%heBatq}O&Yn? z!uiqv;rhNUN%>v-52YmDgjUy3yLczbzkjJ){RUM=N`cd&komg}l^>O&AT&yEKdoqa zHH4Lgpq|N#Ani((O*%PhtV{d5#&khf6l##(2X<$Acm9D|-k8;}?M3Z{C?&aZ*DsF8 zDq+G2woiSA13yKaRc)N+*|vvU;5&&rDeh@cWTL87m)(54r9!qJx>LCG+(#acbM7Y$ zR2LQS!y4*@@)1iA0lB!um6aJ&BI@_CkobTk{~4+jc8+nW&Z^v zmprpCxt`emM0z@U*2g5tjVNs3z+1q1=N@UGC}X{q)siP%$8@Dr{%$Wg3c_7n-G~2o$*y+t{M5(Q+DXhF!u+b1-=+~2*{RuKbF!JMgV~z5?%SY9Ct>44V zb`$$O#MXbxM{+20(0i1!qqEbm6ha=#G0Y=5=Ir@=n{DlW*ZKp-A*-X^5nV#(JW9_XkT5h)f=Oj9YGOw=v zF)2E;9yG$t4F{dQ)3p}UHM#C?O1Z<+T+E;*;1x4L=m9}Tch~i@uP&aTISy6Q=RIyxeW`)hAKle)gM^=1xMi!#t zWa8`y5E0$r?kr7Zr&45Cs|k(LX-i9*$Bc0>`R#;e{8^@127LAn*#xSxzli}(y41cA zDo;>`-(4CgnE_Vgz|(duQA7CslhWIo6CFioxnv-?YM7MY?xJv9Fo4}jne4tb6|wo@ zQ3Rk!kbmV|Vog{T8ShLCv#Sw~VU$Sx={7i+OI8rN$l7IC;3L&|G-%Jy?BOD&rrrqP zWVzu1$+_=O;o8$o7etnyuVPXB3nNy1yh`t{V00h$Vn+6rL)UaL8n-JU!EHS9V;^bA zLz+#PB-M!sS!H@o_N)r%`vlUJ+dVK@15_;G106U_7l+$Qc3iyOBApq5vErfUrq}CN zz3XK#Te|_p2My0TDBp-WAtE;pShonqzlbx%s%}HGf(c zF#PWSO{;+6Q1{DoIwl9z1m2S;{6brXqjcMNTdVbBKIZF`>p@LR{6^^}P{u(_dh6Ti z@D&~VtAjE*RZBApv!#@gVb^^gR<}#blTt)rk{q-{p0_Z^?*CtL<$=QOznJnCjfrig zCC#zSH`?#uVzd0@ed38`wT7rVR-uL7!BaeTofvKK#OYf6=ff<-!K|AQkbV-DQoY; zqe}jC4HSR6h9eaZ4|jP%@qzM1n2TVu=e*2#+s73t2ne;!>tLYhQ0|kA=EKc4aH10* zNx*sAlgoQ#@^DbAIJAwt<<30+u-H%W-mFC<$I zM3hUaIco(sLPxsVcRn7z)5lKXns=d`Y{nY{RlhJWU_;-sdmnv^d9`ytL#Hs2V6{xV zI#o12F7!iA>DP7VTHqaAc0K)`_IqAZ@TM#C%~e;cD^Q_M;xr}`V0FY zqmeptrDTW4Lp0AC`?9%dqxl8mH-&=9PrIA%aOLlgG2*A;fmeLfXjyyC+<-^RZDrZa z0Zg1D5T*92O$zBgOnG(# zB2^hTOK@xKlh8!c8LUx)U>Zx0p50Dz2wusA@|r9?C%0>9|HBI~DQw>g*`agzK=;i` z_ER}EfzgNp=C@vf*({y=y8!IrVVRYOtMbFI8F{xfcz%<&>rdF|ZRSo_)F&n?m&h$U zHuKHw{ajD2*@`(_i~zKEWW2;3(>7i?UUV##q&}DQINVdlhLN6mr?bqjbmjjWKI36z zc{qRap2_=o?0e8TK^W}r-5}=5$f536ZO}Syii&^A3zs%!yL-jkC*9Uo&}l|6iFv7L z`?zyxqCo!kYS{YxR;(SFDd{p_-PWCe7SmTR-Xm#WQ`Y=*vq z-vzn7k4X3DJ0S#+<(`)&szlML>%8LzuEb1f(g-nL6^)Pj=F&l$$Z^s$s8h%Yd@Ys# z2A(S@EkRF=uK@3X9KK*mN-_+`wC!FOd90Gbr5f!fkFI`C*i@Q7>{Muasamyh*5>fC#gW0F5>M5kLK$wHG&yEwJgP5T&{Z-GliE&w>`d8$c$nD(a zgme>JuNzrbq)bp$Ya}F?waCLvaK=er*JUtePoG~uYdkfdJ(<-2QDI_wk7+F#<-}IA z>67wND8u#vs_6s_K?{LfRP&9Q|5BYGaRWibE-}eGK*#;jTQ;+3 z_K>pVe0tPt=m-zKXqCY;IrpBB>I>T);k(n@2fsJ_`!>r=I@+F!DDBF^v$ZQfMk|aUR!$sv0a;~E;ln8O3-PK7cpE|W9Cv~ z1N!2?G-0p+3EL16l*Eoqs=HnuRtWEqAhs6oDZB(iM7pk*8>;>m7*_nFr%Upu(?q#8 zZbj?U$d%KFiN5779zdu}J&OPNi~r)Jm;FiJOO8VU`Y|2o!PMdMNBG(@%aL3FBLz}M z6A_h|mLR6ttZsLXf34z%-V}{}xO~yYl?0VE?9LIMO#YP5GvThkwxP3U{<>bm-GeyE*$CZvZmFc2=FRDq~j1$#5HQF%VKR=qx2zS;9zF2#tn@sXGG!H#atc)lbF zLKhJ$$vU>F@AE->pWNe0E*X&9Qsk5eA%P!u~*a++% z*S3~*(Ym>lNshEMYrIA@^NuQ1EMUEqF@GG3ej^#_jba#5@cP6{dB1UVZ!K#whmsh8 zZw+S`XqeT_F6n#l5+5EK)8!i)`a{{F#*IJqLM_|JF+0c03%s9W^CYs6LxNTbHkP?h zs}!|8{yH+4t26}Y%la`m$a*a0EkqJ;6ja|Kj^*56Yac%=i(96U!3c$la5|k0-v|{I z$)1#Pqx(|3K%&&2+8g0V)QbqW6O5OLZ6}U}>VKzG39rK%gu?r(ET94{d@TYoEh2|N zW?r4C8&?7g@i$-Jk%P9M^1Ni9RoZ;chLgZeA8fC6BRL{t(5>V;vfz)o_L&SA9OFhO zy6`hoQc{Ya=nPLakooK%`nO)ZSIQB8x*fW;fXH&nV?L~fx=qXFH6-eh)A;$?vY?^O zSWH^HX?Km2@+I?4PB{Nk*cM{bcRw>Mf1o%&291Ut7MdUZ^l-`K$3+V`w-;aAE_cRV zT`T}P7Mj&7DysICLWlYJd7vHviF@fOo`w4{vF&aSbs#TX{Ar$|nsOvRsr;r}n$p|0gXtn}mYB1ZntfiW{C=Obadzbk9An3sO15If_pyvfRB3ZvD z2Ow>Gsz@pa$JeX;FfG7;37}ah_J9);Hzfp22~8p5pAG}s+z+No%wKqFt;Lm;uu)*j zqb27Y61P2d#HoK`3TQGWwbJu^f$<06yJ8zAf%7w0Dac0W&APN-{S_w640EAOs^{Ig zRE4BWEbPwg+(f>354is%NHPNZI^yVjro#EidSH{&8?~ETiTr6kL)u$ zei^z<3BcY)+^Y_Mm)P`AXLo^6qR+^tHx~ror}p~P%EC~19YKmZe^oc`s+E3&qW}ZC z(RYg}wvX%G&K1Y7K&A*8ioGA+=)#hW3nnq)pG9O7S~Tweibinv2FlOw&}?y6hQsWb*PM-0FzrAk{ZJ1M}J03$dXHlw5Y zBJ*NZ7bC91BdJ%(|I9?v-P9rTIW<@}e8$N+<(I4iN``;d)8=)tEB2dNd?<%5h2B*w zvVPRvG(1Zxn15w02!UO4zE#tyy0tyJ4X!k`mV|^ap6(wEG+j`d7JTQ?k-Ulv3)4hEq))CW5D0YM8-GM{~$w<&tydU5F!(i2y-O*mA%C$dN0}d^#wQT`9LCK;61gi z`v>_Y>+ip_>y=lGE+8f)NPnp5CWCih#Yt(9O=_0J++7cBd_RRtLKscbJhM;QTwPaw zcsQD`k=Pwbj(or6Z;TpO%h3EE?L3JI`X5G3Y2J15azFuA8goX&*-@Bd=WteEO4rji zJ1=RUf!}L2W%`#c|6bQa_d-&#?9t+~zK=V&N@76=1U?KN97O##y+~oX&rEuA*!k7C zthMqNcx$k_Gq0gxA&EY4F@p5Zcpk6hFh_E8_W1WrcJXCE&ZFkn=30vL*ePXg?Q-%rlhP> z7lN1E`vZezq}3`I)#r!DuP(f=8AH(R{0du(Z;k!NVdQD7$$dL=UHNBU|mooN%w)Dwit4%S;ovguD! zNcIot)|{s|O^wM8B)lM!wpTmbP=O%g_?Yg_A;sfqT-1>gjyLsJPifEididPjZH>2O zk_ZM4Ki~&0@|qpe&VyS(N;dohQ4XPKl~bPliSl7J9GG9 zAX+d9mUDRVVxre{;CB9QaKtsE!XkYltzPjoW;8_v`US&K>>P2#Q)zDL$Ui?_>7rPe zS?*w9i!DPji%#hYtN(da2~S7WV>jyY{)>LNw-}?usjLYU4T3tbth#a=;se&s+_tY1 zagbdxuj2TAtcp@BMvpZ#qQyxG**bLOBaOfMfn|5Bg7Xh2H9OPX>wlo@pw0$OTD(fn zHUvMGuM|*gFf#7fu|Dy)1K(am3~}!*EcL{%n!M$AvC8Mb(={&r)e`c$B2p+%{`*p{ccl5;nYA%ZS7BIo0{%h z|8zEg=LJ|LpI~)vi!!Xz^@KU6KIdV$4VrSd?ZRU2H8gPvAfVCETgj9 z>a0_bPp8jb>Wg(7d5uLfu+d7c8TZE05|n7La||x1XErFOX4vn3z7(1FO4uQ7w43|+OU)G^LnZT`gY^F>R{ScX zai31LowdRnO_4wBcG6XqCh$a0g`S$&xSO6&AxG_3T2yd1|Md`;(AGk&&031h67p;l zQvXxUggNvbb{;h4XR3#!-Hu6!l0a62Ui>>LS}^2q<;oMtg*$KHg( zdvgmhiAaMk_}}tY7n%RrFKuejTpvXp5eC~nw*)YF#yVVNBqp#@FZK$*8+WexsDz)+ zovv9xe2Pego}5wZHta->Nf=sD)KIu7Ea#` zowZAAPE(2AaH2XT>-ZJvUbGzOdifZK1UjSq#kT0;t(V>mw&?K!fLRHYb-7rWA)S<~ zU-LCw7Brl{_f{{Zal3?!*d&qT@9vrHj-9173z_Ed-;Ntzqt*Rf+wV?UYFVneRkexC zaSzasdlX@DaC-l5p6rh>$;q2EA8;wfD<%ReUhkM?A$E?6qQY8RzS(BrC@sf{&?cHo z5o)U*g8tO6_kFL-)B47iI1GlvOm!ErsEz~#N$dCLhAeUO?i<6Zmo)r}Y%d<1HFedn z8HhD7z*Y60jt}J?)iE!U-*+MG)~Bj+cb=xZPNFfBRd0DdH#hl8x$Wl-YYcOw>Q@CqMd`g}AU5Ms=rh0-8hc)E0?ur?>0G%=+3U74>+0wQSjl=V8xHQV|Tu1tFD>1MoQP#|{0;D>PV*Sw>&>K;E0*NsOfjvdtz zI3Kf(iilQr4OG9vZT~IbW5fpI8%pM6{b5Y;%w9meo@26}<71z^_vZ-GZWYXbH-Lcf#2*w>8EPR-?=#j!H_ z{koe_e1Q8KWz_7YoK5NxA84osoP2P!om5pWDmXI_j{dvH98df&kGUnu z%aVupizF6{DSs`mx8fDkaQ~1Dtj#H7wusi28of9V2G`)k%jnSA%!F09DozH>+Xq(U z-~oe|Q}Q$OF7FT2)bp@?OKWxoT?(+{KyFDJ<&{Kf-9srGAvNH5N^)|Jb~SCja|wa} zz0sVN(0xcNrjmupC^=$fVopId2E<$BdpWIvSTc=_yk#?7zcgXZS9j3mC``Ba@eS2S z+IQ{J$LkbCL?D%nrKjNz3&8ikXjTID8t*wET~U6Yj$NW9N1(8^xIyooAQ`57u#bg@m<6 zNBgYc3_re<-W>?%;~zih8mu*TG&|0Rp8 zjTF2hlGf{&A6zz?`H~9FcYYJCxO&#VDGq&h_B#aX|GmiaMOb~8jKv^|p_k3Os%n3I zukiJXoxOdQuTH!aCNO`#(bOM>$t75%vIo=pQm8&`B}BztNu|5jP3ggtVHLG#of>+64%-! zobwSzP#lWAXv1LjD%s#x{(sYVyWVuK_luM5*0S&yFeExK)s@TmJN0?BHB0 zFZYDmj!zWPzjDi3+ixV=EX0of$10Cr~ap z4)>Qi-cd0Y+PiMi(Bm1KnI8e0%gZ{x@m0KxCJhU-#OlrFeIu>agSxX(M$KT`j( z1gNR00qrzxfhR@K19FZH>-(IU>LQOJ^paYpfzwB?eB6wOGd1O?0Lr7eyjbr?0>*Fr z_a~N!0Mm7`4%ypWW#fC-roIj#`}F*UI({Y18ud{pCSOX zaBW{b#rwq|iB14+V%yk&svI7#&(fZ6s^~l4I(28Iaa{td3H25Q86n4X_bxl>jxyZQ z*NZYKGhzq~+KFzr;6>R?en{8#hx-}uRL0G(yGt{r-57j%g~B?z`w38b@r2+eS<7)j z@Q&M{HW%~t3AMPjO0-TH90g9O`dqu3%(jM;*6%^xa;`qlwS=9o_fOsz77J11FT0GA z|04NlcMKPD-nU=76&fL(d-U5+M6p$B2A{4NOdr_Dp7nw~jt(%zIC(g{Aq!oVgg)up z;4knBJK^_bj6M^)hjPn9#rxRF-<%@bnD>;-Wd~kati@i;P83nXCX~uFH+$zFB1EI` z-)6L=$roH}-z|b)qi-?dA&f45L}^zlzc2BdW?Fe3n7PJ$s!Ch$RJf_S-iG3IWra$KTR!TnKpxA|F&%bQ<*DcqW37W1k!>GZL%I0RH$%TU_K3`yd z?&-q-fV^9rKjy||@gr2u0xlR6uSn^pCp>1%eXLBy#`~eZlk4r70&@Ua6Ea>!|8of` zxr2vB0u7oXZr7qj#NFkf#nb^h!PSio3;-)w9N|o_`1jqmRxE~Z=^ycd>w`-}IphQv%%lYxx#FMEQFpJ%GBucv;VEw-jw;JStVF4sRmb#Js3k5X}&7@gX& z@;r&P9aeJww)~;*^(-Tk7zT)5_Pr3#Y@YvtVKd^OZT^{&<9Q4(dxzfe}bf1YmC2OzQz!l*{lq5bwI#&2cXiqY=z!T{= zWf{36PF0M)q=wUcNpJJeE~#62RhBY{jfOfdI(2N1IU4tuQP*xjluY;aMYs~oE%r0 zqe&J`z~w)_jtWa5#A@+SwmM4`)yQn9l||y1X(*6HfKCxzc6QkMNHybTmKL%K%tdob z0Dqd+`)YkEZca4a{cf0a$KMa#l4omv>B9=4c3xK{>wjW*iuV2=1hzV*J-R0sM(k z-2pCn!UkRnhszP4n$IPEN_0Pck1IE*ix4&cIX$qTV_D<&@7l_cT8-kZtC*RJo$krk zCUlkfOk3K!s|}_{Y0a1xoWv0>!yyrlQ{HX9N~Uq_Jt=cCwqs6ptnJdGPF}7CB zI5BFbpg@7Y%Q>I@ElK<2-->^WC@MnrJ+?Vmf%MT0%#o=l$MAtx=DxewK3oXesv?PV zwB^5T3z1kEdA^fbc?yW7xbTViAG94AX;~wugrj9rxqs7jJ_$jx(OV^c!QI_0!y;9D zB)G8f0K_ZIPUCQ;D11BGRiej3CgVdtIqf}pC*Fgm#^!Uyp|e2Pu-xsFQ-zaVE3;#T zvGv@^+{ybz;SL|eOx3=H6|1*7XSyId$iXI>*Mf zb*5e!alwi7BD)MXE+;wqq3I=6Nvr?EJcE&`eXyt2>=7R6A9UFR8v~YzBu2@~3#J$3 z;NVbyR6Ztj4bm9hFPyk9l7(9hU3xG~5GZHraGc)%+F-0+cSz&`{;>u4;vnB3cD1{e zij}a#dWjdn@51Dp(_-e_h3_UbgN~{f^NiLQF#be4?afci`YFUyyceK@k(`smNkB>O zOS^S2(v7CFtfnRjP`4_Wx6p*4_|on;iqd^&jkr||P_@1MetVJ5f=)we3V>K06K z)v?lixj)T@KyFd~g4QxN=E9P4rkQ%0kD%+E5;z1QM#KhGsQb|kx><3{j3tr;nMfjhDP)3CvtLmekH z5VpDVXY+CMjg;fjKKdIP(f*)KK%A^S7Llm|)ZMI3yVutdkVwuxGi?SW-gx3_xnap_ zrjk;*Twv`fi&e)fSHrE}Y|(=kZvZN%aGfT)_bfD&v+^sbfJF_lFRz12c^qszlnSo2 znXz5Z?QkIudfE-4y^lb@P2AW2hWEBrZE^1k`%WUI`I}y5M^tui0~`S#SqCy z2Jr9K219R9dEI+*Q$ge<%>l5p+~L?vm8PN4Y0+vuq!(BoL*9DkG??|u?!xHMo-T$M z*X^%3pumLWE;)jvSTJ)*a%M_AKC@R=)pzkR9lE?=qOu#7H-zbvFYgIzdMgeC;PbxG zc;OU>w^Dgkv>LZXWZ9vb&40bE+2&@iUEBl!G|}QhS`-KuF0LuIA&2;XHj;*B<68`` zYXnOL{~TTbHnBW@53&damZDQ^z|Gen3BXxip9{?Ycd{^5C;V??8g;zT(fVJZLA%DS zKGGS_qA^m`F`>x^#NYh*4{hIYkC>8%gKUhyYzC?7=uYS0bMb`I>>gCM4J)&PUIPE! zphi9@-r7=962eMemUQ{7JLuudZqdXuPfX7Q<&dh@J`n$Xp`Pd;BV{Uqr5<&c z#0;^dsl3|V4h}&M7UsY%!*6C?Vyxqg=B*(S=ekdnvFj?{v123mF2ZO3jWjoAg#iGk zh8z!CS$Tnx!>s=wac>z^$CtMKZXAM3uwcOn?k>S4I0Schhv4q+F2UX1o#5{7F2Qwk zc4nTLdgMRzzE7P~b^259s$Jc^tk>Q5Z(Y}dBRrzwf6Shx^`sp)1?44DB|&rBM0uEI zMTq)Moer&v%WRa4K7pL$arJt5J(|W@Np!c_=Dr(zJcrbL07{e;Yd~k**Lv@Us)CXM_%xToj@r)=3w? zd~ChmGe||^TM%qfftyi~?%;gJP*ByuKBM@}36qfTO4?$FKKoV=xMTHAy2#o3lA)`8 zS`7r|yX5bMj1K}uEfx;V{|BH$OhxFu$wnmusV+CyOJ>r3=%=o^xW(C+ro7g587m!w zrTkHu{3Sk{d-zM_#;Mdc+V%YI!jey$^$BO|^S;^2$tm>*``T-ZXNZ=6fzyV+%Ifzs zJ#DR12+JJEGBM7x-=zKq0CM`7TCnToi>xb4X*e<+N|jt+Y{u9altFFMy1zDIbuv&Q zVfUHO8m(C4Y^0rm;d5XK=D|7^k)vZg@_B+I*Dd01wIe1o$!M0cBC{a-froRq z!T57vtTwdM?wynx4krZiSOlV4wzUeKTB~kQ@2Z;NQ87Jp7xwtdzAq-rF#d&|UX`LP z6-W<<>jVM-RuGD;MM_avYt@fN3_)HpQPQq6z= z^+)1TnAPPto$(8ROi@!)R#X3|@9gYlwMk6z9}*X?u~mo*w!R}8?jH_oIl1~fFdKjgB%na_UHGuht2*ZD|!2OzSIRD0<) zs9QrAcz@ocuZmazG6ld*nhpbH==;b}ME&+Cd+}`}ytW1?jN8&qm|?V?%^?(bcKEjS z9FsEJIc1jWE2!7)ulaF|))PGL3lA5Be+`=S)lPriIU|NVdM*nb0cx-ciP_0F5TN`r zj5o31_Ipe1t)=)zEFMLS;Q!x|V_*yo`w9csXw(KC#bcH>znft^HYr$Ud;R7|rJ?8X+z+xtcqtPIV9S}a-&7kx9dIgq5 zX1|BecP(CzR&%rsc9gTxxddK4w6FFUda!9>y{D4MZ#CY8Uo2~6kz)*7^-jnTMi@bvfw@b2JWJ+2#0_L`aLz zpodPGZb6Xk34amxsZpcwYy&Ay{teqye(%~|;-IK9at-_C6ZxGplm^GQTWZ2t zi|#PH>?TPwyH#qo7|nC3(!1&Dtjw)K~f#}l#m z3nh;6@IRF}IGsZ%z6?z9TKACPdI)wA;xeiDxY)ehD>WD9sWV7${`o}U?AWZs%JqK* zHrK*+Fw+w9ZReD9h}I>+r3!t{;6U1$TpPMh%>kAEz(>kl2*&~y^HxsU-(*xF-8iDs z_8%*x*Cn$iYiXlNn{zo`7Vk;s@7)Tnu!TTm^i(&dgTwIYAe*O=MpDUTU$khQz(tzq z-`O=aB7*FiVhgi`8Mvf2wOt#&wBqGu^iQ=EcasZ%e@hj=ur9}g1K*+N zMpNcaX6+*o;AalXe?cg_D6`3yrqmhs+#UgBeJe{y`A@r#%~jMD6Ay7%-Fq@{Liqq5 zCU0j(U86+~GMKEVna%+Fk!Sw$sPp&6y;F7<47IaIAE(bkr|(pC+NT`IQ+~|oK{wq#qa#uE4?o3*ki=C3?rRJ zK!+;C$jr&oR%qYfX8_L4E7yV6AP4b&?`bEB@G$nAd4|59p|t9ELs`_5UvrxXF-%UnU6Sfh z6p4JB7&=~>R627rR6Ds@&#lHEh;7Px+-!QD4JQ*YE~5zhv+c*8QlD0K1e$N^rz|gB zgYz+^ z;`z#FXtF6UP%zg4`t5v7+2nIXh0N1nx9<29Vm)<2@G>R!>3e=ZwA%-SRsvrY+uk>7 z5IVKX|3T_+i(_gO9Yl>~ZSG#*@RV#5WotZz8UyDCciQyJwo zV~8!m;f^Sxf&%(lB89Qfg9<5Qk9z#B43WvQp*rqrGQ!@VcX@KT91VceF5yx*o^ym?r1!1KMb2+m`fvs3N4|M^axk3E%8DgA>g^>mHqx5HzS!7Zf7|zv=gBOP-2sEH75+_NN zaVO$c)irBtzKMSukYwIuzVur)!bPjmcM@62C;5EXt0sYFKRB!n;c1tKJ)GQh1w0)&*U2-Zb{yA zf8+!7Z88$!mvaUP1}9~_F*>D2R!6ve{+`3c+uE)NMvcvTd1Gck>BH?XZ$&%$eJHL) z2~ffvV|Ot3q%x@(%*-Q$gldN-WYO_hcjDOp1xZIfjZ%(Wc|Vr$3uQMyX$mADHsPq; z!lEn2A-{bTp?m6k`=x3sj?6dKva(>WX|XF<0EUR( z7Q9bebY__Q)ugO6rjpUy?>>hWAhHLrDcn~oc`W3&3v+z}7TzoHk##;NOZZtfEt$_< ze~*KztF5e|lI7i0=JW1++c&ok9F&m`-f8cGRp*PkhskwysWhRh4ueDEwQL?fak`+! zvId~~cBlaq>&o`&MNnC?Bmz3ci>S!R)RYLJ&|{bmfBMPv%MhxR&SpCX2vFWucxRvJ zD#0ToQvr;mM!TsQ430a;3z`PWkW!dzfaUoi0NI&h^G-W5dhQ1WMH~H>^p^^r?1Hix zH1PiCg^}Kj@-_W}k_U)Mpt;E2`mHU=DKcTEL%}i}n~{w>MjA+KQOX+}Yp@VEMIx26(2}bQ5`ps096AsvI z@w_NtN(Jw&eCLRkaLQs%)Q6rlwetLJHr)4nJW|NQ#;7E}w>S8arB%m`)9CW1EUaJ!f&H>c>sO!v-d%ZzpbMfp+>H!Ut&)xu5w2-C>vWDYV@vwFP~c%$$r%Y{dO+ z#5KQlH$L3!5H<$aCOI2XY|$r5`qDjPf8#1pF!Pz}(~v|HwJK7#0rQ!-0CSp25I}(h zgjbk>zve_Beq!>M0Nq!e{`!N=H+R!^!FwPK#U~gfp@{S*FN0$5Xmwe*0^i?e(J<~_ z&y&1HTmatnbqpd~7YbkPmbi-x@b28%)+HauPqmky0-@!IOQH>7Pq$!(gpX+cZ z%xBt^R}VK*)Q1HdI>NY^s42^m#Xpw3!nJz(%?#;lI*hwyHJG%;3|W|GDQC3(=jhtJ z7U>GBOdlSiZo+B@$VO@S+>$_EH|)|~1}fi;eaqf{@fTEap?Ky+L&(0FB#@aFCER0R zK#1?f0VZoaz$=b%%6tZFdc|GsczYX6V7{RBMn%abS)l|n0L`W(gyDp1j(0)Q{EV5& z%a+LQHLr`HGD$fO71^pGm`h|JDDh* zdZNO$9zkAcz`95DfTI$w``=g;Cyqp(Xy41- z9n&sv2bd>;r~TEDUzl(a0pbdf3?V=HUfx`4UyRij2;YyQ)RJV110N#DZu})Am4WN` zT8C+fhPorWvh<;dnV{LIpaR0G2bn+&|Hah7S-FWp_j%=RbeA`tP@GdOY4w9@0{#~P zHq}ZX&;pZQq6u@AP>2^_&n{Qs+^`I7bjw6eHo57ap5S z9zhWi;MY9t`;`64SvG^s^4^jy!lqP@1}QLo;tQA5i=Y1CrK@b|C7t~N33zw@Row!W z%X=U~iZJ6`KWDg;2Vwo~_)jx(OIC-TFXT&LK$uEy@r)$$jAR{rFW~}f>DOY~qX_CP zgqoh~jrxW(ZHJvCaB9z{XP6H_ZF^2GBX5;j3kVR=a528T$a8Yx*Scz_pwGmIlvIs3{w9EJQ=8nJ;5)uONLCkJ)4zb|n{kh0`eqE6Zk zyVv3V&<2O1*LU?Z16>_Iko8s$UIwMIv=a;lpFJUA zjtv31vWiQc4o%uhx}@;Sh#`{zdD?aiYHu$v-C2BS|20sxXdMfxLg+N=7X6_NMyz2 z_|SBS;xg$U@0V{gt`~Sy%y=rl@NjRNV=|*26RExwKiuYmXG|9Ht*aX2@=>c`Zq)m= zK0@SyqRMMSrGCFpalDBoc*=Vu&51g$ot75s-g2~c`_*&yvH%o1nsu3;x0lx+wMF{G zkc#*?VD7e{$M-PA;3_t4K*9#(qc8}bT|f)iV84D}FIMI>jCb=#6*!M}?e95`#HO{_5C;B`uVq1Lj4dP4(eaifj5*v%~@ixf@nTpZ5DHkeL|s@%b|9^tuUad z$YB6{YOx))Xy^F});4lBA0t)KUhc@4$jI>Abz}4B7E7Y%Q)FieRf42 z5Geb5my!hO9Da-%X8AyTI^=kL4CrPkQB}!&(~|o2DO`wxR1|d}Le%HVLlNYcRU!x} zH)!pYtYCGFFT=%ydQV)>W>qCr8?EPPZpRIZf<_R~<9g%K@=c`T;sgN(Py0+NZKa0P zFR1;NIO|TN(yd6!lU5z#MMkSRO^)88!PTiS>11o@WlgpO`#c#Z^4i)=0QHKuMVxY) z5Lfcx6OPJh%qBgvU)04Ts;I1dq z_Rlv=G+ccZ&hztgKs!k<&$Bn_H`TlJ&CdH?!61^0yL_G3fTO*Zo1OdxB1o?~#oa&w z3!yyU>CYYzLvX$euYD$N?pRx&w)n?7q&Plv`a-Tym$jaS{;ZRN>Q+23d;1>qcy-C% z(aNaUQ$+tYPaY!Xp)U(t-Q2>_hvo@5%tR2ddr&wKzUC>BxAIL#(EX_aNg$!!)~=nMkSJgS zZZvre7Ct)Cmi->!)0ta82(Eqmn#lYb2>509z?(wQ9Q)LKI}}D3+4C=kg?gL;3H6X=13T5^!iab@lnfzFmb4 zpeeCO8=0iCxNT~o6s_&Ir!lQmbj%e1)^IvpW&9RQNhPd|3IH1wh5?bblN+|3mgqeB z=M@$#Z1Hf4UwUsZKUB_gxi{B;R!V)Z74@l#fPW*VnuziT@Wv*;7%@M=vc!TV7>cRu z`1s2&uDI8=ovY?~es2d~Nm)0y7{~~xp-#>+Lsh?m-*b%>>#6Vx@p-QSfXQ47%8nmr zQ@?lkuzqq2tLS+RyiTRW)FXCf{hUtgSAa`9NgwY4du!Mlp!4)}MF2>WLirqtfR=R< z3M>P?&!~%1JOF@hSdoHqS;l_K>XhMaiZnlYNV zkViQ!4v$JifEJw6`S2w@DIcTLn&+u@cJ6GdFd8Ev1AFGvm!<_=eKDY~fg+nB^iYM@ z-FV;^l4DR0VVK)Ln;TMQ`7zn zYDgKpn#$d{LL$6Em{E$Am+iKj;O?nhC_YQ4G(`P+Cp~q=y16YLl2ZD~#nl*N>K|(X z)RJMkN(i~2pE;Qkkb4Rt?+IAJZ3&=s$6OOMb|MU^rsOsErtZTXO|(BX=&oQ2^>sqJ z9g&*Q@LsM`>S2#X!hmBKALfgCYyEF z+~&$Y%D5PiGgoc9C!vRZ`*hY*OY8H^3*XbBSkVfgJ_~r3t%FBvP3WjB>jFC;$eWGV zs(ZN8-ACm?$nZvK%kmwMm*8h1|LZB`$k7Srd96~<;8 z7LzkaSDt@wpLhu|v+sGdJ1v&PrDqz?__H`IU}dk=8Le8qbjn4xWPAK5RuYNvh%c>q}+1{MQAij-eN|dSw2Exe2+-zqz6t_UDn3id#Gk~ zzJe=6WU5{X_``8EiJsnZ?aMbdMg|_pbhIV+IoNL3gha+YdB5thK=ghFrM;{M2k%TT z%WPMxc|S7^1jHA#qo0Wxr9TdntTqpIER+=Wkz+;XRg;qMfJv7lZifu9*7_h#S6lKc zo1yhLdPgsXKU0eQG}>=;@|7FcQ^Kc$uG{Ng-K^{0sE2!{=9!IgXO#M_`RvIXE8fn1 zo2aPw!|LJnMwL$P>suAC8irqTxBKtsG|ua%BYN??H^O$dwj8mjHt0?&Y;D_`QP&(ED& zc>Xd-j%5eiS0%k&`2exC>pP1gH`Eo2mrkzpM^-Wp_#Ioc`ZPld^lM^$vk@6qmML%`QMl&F;yzg5`qc0t|Fv+a-ATX#4Ej zCF)b-DD;!lI{x=BU6JQNy$mS3>Y(rOmLjK*VV2J;YsiiDbUNvuDN7yC$#OY0adilF z02NU*t&AURYY(>`OL}_q92dhXsXZgbfDSpu^PEUSYA7(=rmVx?>&r2pSsS&V4m!$s z!pqLL#u$@KskvUId1bZA2+jpkdWW<8cPXGgMbBux9oQ6L9=1Z6e8scOnJ1N+=3+4l z_W#GR`yCHYW4PxZ2P5`Ea-!hRj&K!w+X&Y`)np6k+lR{Ni%>SzxY)2!@67i0>GP&R z%IGxiTgkr|O-|QzbihDDD(VB>(Z4Uu@j9>Thoj%mXZ4Oj9QPdXEj(iyp|ap@l!&tJ zN23Dw+c>Q3@sL}TxS-ZvGzw|^Phb5o+gr{0W(>WKmn9M3ia0p{5uShU%Ypo`RDW9{ zuLq}yzIIxfK%Kb-19}c4)4MH?o@OE>?e8DJjVpBc=~Lzw3Et1%$}J4+^6<@+B*S{O zR6MiV%J+1C@e;WsAt4>=SyHtq4XAvJKu{tLz#XAmG*ug)IKVTG5GsSAfFESFJF1Pt zYS!&Di0_!PzptwZF3oHxxPtA|`fk4j6L}^Q3%}TP{pk0j_ToCS(*5^ckj=rQ_ucEr zt+-ZCU^;Yk>g4OC6tXdSE@f93_tW}^7h$^+XMEGu-X(e0g6~XvwZx|F;ABtic>I}b z=oH_%GNkP zvTa>SOtRW{6&=@RFcHl~25hSFyDwi}A7{jijJvgcNc}J1q7VImfkevlDRSWFGd$s& z*X125x9OU{x0iWs&X?0@!Yl_e5e7e*`>*kZ!BYKlW8aX*D@*WxU!`=*)GJ+DH3Z^5 zHeH4@>o=P;vKeO=Z_C_a_mJ^~NoX8VBcJhoY_PNLE;pj$_exnjUWzr7Eq{P)^oX-X zPEAeaqa~kGk;GLxM^qM}h|a1|LMBa*2`Dn2$YkT2QXyw6Q!kaABpl`Qp1m+cbU~);$O+B22;ff|d4-r)p{#KHK$-59d@MGsykS z|I;FE7A_S9m=D^IAo9YB^+(}S!ls@tLsL^D1c)khYjgLe7B}>pc-u>&u;Bv;0ORn2 z_svdvJb%4xO1k+Mq?Ft{&UYc#$Zu2|zu+R(YB;H8a zEy0iKf4R45!FbxsLnpzU2&Z4t+PQ91aEL&tLs~EzB3_vk3~K1 zG5HH7%T3>TYHy&#M6xa&09ja(hTqN3y5|Xe+PwLdRaty$ zHi*M>@+qFJ`Hj~>BgDA-OB|Y5Zp)i5DHT-^RCPFjd3UdUf}iXEQ3C8HC}o!hVMOuW zT|YbyghPh*LMa#r8NxM}$FLb;U#5~T(XVn}!GNE8NC6@F!X{c8FM$~(`&!0;pvE1~ zp^-5nLH*oyEe6ndsz#5XHn^OXWMY{5#Gs;r{FWQNg$key>+Qw@xDawXjS3`n{)>!% zrRZN~{P#QlN5&r!81rMTzvbpa3ijqE2{zK)=w|%7j&rE0UY*b=sOs^qu7sc?J3{sO z`Je#c^PFe%_M$W-fC{E~FrJ-=fx0Dut31wLxo32!ZI0_`MVt9FR=EG6Zvfw$i&~?> zTsxP)Yj-8prjt{-;Lbli>ub5Kgdc_Md395|dDf7Mi|e9vJRpQp51_niNnP=N9ysGJxmYLZbun zdIZ1%?o1;54DlegQ8W1*A57NkERzHdv7Y2?cl$6Yb{)T{3)xz+0mTL+n#1vpZk$ zOCmHZZ+ii$-kfvk9VX!Dj6jZppVFW&XiOI^K|XIGyxk9dmH@XZrsKV5cyN^~hthe! z^@aSpLA0~YTkrt7*8QdtoE7k|;lm;XV4MFY6)Rad1Td1ba4Vj#PXI`9%EZUb8^>m2nOmg zWv)OCKRdUw0QU<5{1uEFMs?K@+h>r_v}`##uL6#Nkuja&_ple_%+%f(D^5>!{rgf(&$#9m$CV1Oxyjtx|4p5hoX_KYMZfP6~s~s}x!{ zu!4*9wCR58@$LT|4Rp&dU6qb~I-527+T(CQk?}OCj1E}#l)?%Mr*wMSIB&a7M-c3y zindlw#BMQFmK+XtjWFhR#=_^~P_7~7vYbHpoAO9EoJikf5)M_s$>}nIa;)tZZGv(8zpNuHM~ zbSod--u4Js)OsT|!iy1`6JHL>yHFD>k?;}=n8w3}P1+!zV~a)lXynW;{lNm{2_{Jl zEm~9m{^kUz;jA1bBlo7u5gWD^su}k3^dS>_%j7;#e=rzcv`GdK74bcFArBzP3+_%o zG@2!KJ=vBQncOsa^H6$jW2O3j5W$w0n|Y`v`hn+kmN&kvye?>A;7ZOPV_!?t^if6* zqr((Omuju1r24%rtfR}-;c`o7Rw7Cdp|O?UK^Zv~hT;|;;8-CMPYJz5=Lw0`fBsb#cXYtJ@T8!gQC`E^zJUCI4$P=3m@Vtbw&TF$>d6;2w@)J;6 zv~77o#!3W>aEpWC|D-+3gSSZV&-+c^Vh>IjI~O zf3~xvbJUl*A7f~$r*to8ug|0%=dGZn#q_!S?DXkT+@#0%tkimBMRn*4t$?m$0;FwF zt|;I>?$qe$!e;1m&@WK(-Eb4l6-i-ll2CkZlG}!gr=#}do4g7fq1XY|^NAXhg5@_4WbInd{{wtWW( z!ku&WuitFt6CGCuX=<-z&^05Dtx6@5!rFzzdU(iTw>XS4&{UJuD#ue-Y- z^U-whI2HbPNA>P=6)M4ZDt>oh?6AGmXy7`b$+|7DSlHxGWHtn~JG1nJww8Oz1}+$f z0oK=m9X+gz-F(IFbSmv5ApQZ2r2oPia2wQ<93xsW^3z28FR%qfv+J|%_FO~!TO8p= z$}5A>oKxdm0v5sKMAbB-rF%{KV-%75?K)tsziE9jm38IkcYDxxNa2LEL=@c3O+rXu zQ>3_MNd=aw0LDiM*6WePP}( zj5q*-TiYNF#5cUbAbtSLJf2dRe+6fp9HxI|S;6y=|LUjPPddY}YSolauSHmGFJ82v zV?UmUTYlzdofznNBq{RpyvT4;{drr^U@s1CT;$E018h>q&~0_oF@otw;1J@+oaUD| z8v@#EI2;A_G2}G`!KM-~o)_1qbk=&NYcq>pZ321z!XQA?_<9st+C#;5%%#NJ zw69s@w9tXC74v|0X2|b{P*5DJ|AW*;>cPYjHr=&atvBU|ZMQ21v*=1*d%Gc^Uj3!Y zNtF}f#++*7|U? zJ`fmbDbNx48$fXfm{67`{}dS|D2y{eg>YA%P3qpr6NR0~)13M*ScEGA(L2Wmo@*(2 z3-ABPMHIOh|9n@VL`WH2E=dXrDRP7ME)hKAPx>bp;luiuTqLjkuepdpmoTgXaZQ#4 z&2!XBxV!zxpOsCfR~(5GbRVAw4*)2ne6KIkRn}ulS3g0)+AkQGV;q8QM1kcAOKQMo zx1C@P>-$ye1_9C|^ds`c_RQW~DB2pwGjMa`dA4v9xL@JY{zNb-(XevDav9BDTIE2XTh0%+3~0*wplD$s=hPRFR+mz?Ar1R7_%+DWgp65pDSn z1X}fbhD5w@?2H`q*1x3)dt4JvT`^DzP$wW(aPgb(@}00h0R=WO9jobmd40_$+wa>p zyW$8qu1JU}Ndu6NR#x2rK7{dH)IL6qS1&^BK_3?C-TI_Kx2>VZwx9 z0F?a8y-+>Ksl0h4g4-DdjXVg$;Ro5I-$Z!q?6lf@7gD(M#z)kW7BpKTlRBJzIn z;yRg_Cle4q;;LPd>C!mKJeAcU>k7)?wZhej%3VkUupZgLs0 zpcixx^W2!@?+JHiW}zIq{>WFCR3Ik)0{~fjG*D*z3@D`@n8yG>iiw1QN!!T}*lGoG z{z*Um?Q{8mGLm&>?0?Bfs89YSBN=sk$CTPFvC?Q`#>yubdx8VY5?PdU`@QsYcc8-o zY@A(+x^<>ku#orJtyZR>A%uripASs&EtJq&EoH?1TuElWe?KgM_5E#-sZN}DN62aW zs)Y@J{{#~yy&Qvs*YrHkj#V0wUnDHvEtg!!pS?ZvQ7iE2M}MSZ=|*PQo&#CMxsNgt-uhRpNGMY;^0G!?6L%&(q&r&IZd$zO7l+8>Pz z8$VrKkb+4n0<{+QHMH$xLoKvb)|f;!U0e^7GPs`Ar(l*-lC>N+S0u82BX``F!OW4z zD$P09P2-u1IkX|M8BT_4JwIP#0}{kRL0q`DwWnLtNfXP$Np#QHZKt1Y7=bn^r2^Q^l)mG5pCTl$7`(42_xFQ|GW}_6 zj0o!8ZhMJ4e!MPYA4;>Y&*$O#(}E3q)~n9V%@PLW;<;seTSJ5dHnsG5NeA((O&2`! znu~fE65>K)o@yJN$b6g|rjxIlT5nID*{?TwidF!1S?~Kv`Y6mMOn3ncqI_@z11kf)^;12e_LoU-;hD^U~1VLug6|Yun2onmkk%xPwC- z(Qm+D*E+0|{l_AYoyJ1`#CR02gHE4!D8ALdN59VKxVh>v$hztcxx0TEJR&X3fvN&} zWZ9hlruBAk?0+o&EUx;p+7KV0CDPX9sa4DZ?$d42dyPeqy<_#|=^B}v9(j?NgWoDh z>fU8FIL+VS+s*9te}O4^@*tSfXA5LF$eH(#hukgYsBh+;ciSl|x2OG_-Fn|*R5Me< z32%Tva-RSPRtl7it-YiwE2+zGUV(+ppJA*AZY=r5^TNOgd2tbl{OG6E>2fZ``q|NV zSvFfvhsqJ$0t31*Iuz)_%_cDg=da1xhZ}S7;EIIa=hOK$&3Q(B(=Ogm2Zc2c#h_5B zvlE_ZaMF`#WtQtvgeX#*!Nm_nj-6$#WtTTNz8S`FvWF4vRf%WB6J*R#p3W&#Tr~-N zEqi5aEK_$tVjlbnDg)GR8b>E_dMDe1KW)Y6qA_gP7cKYDBX^|Ii$~v4iD+qr)Q$_4 z61T_&aY-Iw4<7{`&L5>G+U+lP_vQs9p;+O^1ZEp9JW6!$zc9*4C$)seE$%5Pp3WH!+5X_ zDsfLw$TlPVgx}zodRq2_^rXu}!mTU9aEPL+j>zcw(ov5;lOj3=k{Q@2C{FpQuv@97 zjnVUJl;E7JattCEXx-!C;gN*6TdF_L6@#1`;4Yk0MiONh5I~Rd_nHtTfT5>`0;^l7 z%EtP3ViE0q@3qiS(>xu;@`X%fyRwXL5`+VO&;jZn+r-Lkxo0;toqFm*SQzt#HemG=!YDnwcM!(;{Am=@<`C&>gN-eXL z7)^%#j;F!0z_k=5ycT?C=PT8sbAv5lpy~egQBS+bKrEN{W&?eR zNuih5(AfC7K1D!>%1o|-UFl;ck6WVxZ;YiNT2>mT%gUpGPU=#*dC3=EZ9%;* zwLj(O^uwV&`|pC1iN6+!|hi6O=%oyWc`a*GvA-Ve4?CTsJEyo$KC&Dq!M;Ui&tM* zLW*t+w^4QT3*>-|#_d^n+3w3jGe#h-tMl76&aQvEc*l48s}GXmS~b4|MNsok|GZ!C z{cw0ebmRX@HS&@Ljf4ec#`<41R&? zVa&rYnr&m&_P9^+5}rt&rJ;M0<}|9GhczDEa^>{Y@racC@h|C4ku3ax#6HpzMVJ&T zgE3E-nZfbsHGEr~$uJs4Abxp8jr+SKG^V2sLw>Ae5pN6uO?AE2+S4#lzaaGz=c!v! zb_^-4o#XDCnKQaicfE2Q#3N|S%1M5H%?%@RPjnT&24i!9liF0M%S=m`hCc~a1%|wk zby;fvU433KWeJIOx%mW1UN9CFZ573Y(yLkiuDged;1R6?64*XL2*B?AEX8TX=Txo_ zb+XBG-#6scg!AxL#fc+A5XgNjD3CCyr2#bSk^F|)9r8NL6`%X_@H5~A>0jIl>+Y-w zjo2V^++?%)JH$+Ht7S2g%_H!m_19FD*5}b!i6W!n?Y9^*pnj*(;g4~8+HP)BOQJ)K zfvqy z8_gTXYakYZo0G(G+PZtBf8Rm7PN0|Jq%TqK;Mzh zc+a%oE~AqSNj$Af%cB^Jl!nff)0cI3suK#j)ld) zkzZ)pNIz}VI51zx5)hJN39Zhndskfb*ZAR{3lNCE=if#o!2JZ;r>5&}eQr4zTWGph znH`+6a0fZo5fwhiYrK2bUZ$g#l3T%5`bsayD=xh2Ia$6pk?C}`9%%hPLx3ym@Y1Sng`OPt`Vg-~ED(1MGqx30Ph;2opO0im(?Br!qc zCY8gmK?St*@6U1+-d!;$j8p4txyESSAw!^dG^QVp^jSyw?bQ_^=R{%siMq5+3bg-_ zU}%$)Ft!u^34ui}>pic>4h#(15dZUOY^gQ7$U&WK5fs#9YPRhGzlt=#@PSqfn=W^5 z|8ES03HGg!r&Ui`e=k>=ij44pF%5c2%kgMSX&~&Vnv)qI05X;K$M*@z%+Gfa zUUV**=fKXmjQF1tq+%y$pGee;_&?;8+B%{M~bJitO z59SAV!$d4Rm1N}EOx;xivy(GNk)?$}TUd#|l%?U_gbiL;rPam5=LihLN#^5Nh03|{ za0Zs&QGwO5^U$x|WcR78*f^A-7L$9%(D@@SLkz}MZPI}W$ar3R6NcgB1`Ot1TFugU z-)yVOP9E62|B!p`rDuZp7{-vBlYgluaK&-5B$i%R)*86L^W&euN1PQjs=F1M4HWg> zT|T;d-yCf8bQM}i2Qe<40LP%1$KvYN(^x|Fea_K1qHA}E35;YN%9JvFG?2%9Jnwx#zvUZxq)^ zhMC2)@&F^#F1Ia5G66`j05~urA|6dh$E-=t#W^7`CE32^H7Roe6zn5rO6Z%03>$X? zQ@$>Whak}9&mK2~aZ2xP-V3YeNs(k+U*}b_C8J}1>mi?&4HJoD^(398>RFq~->Y7# zaBHNwt81v!05*kA*sfwH{2)LSFM$>LpRh-?R18qma4@yL86|{JwTE4QVB718A*4B( zcMA;x_^E1nnGX$($x`n-#kP>M%dxZu5G~a~`LCddUi@Ey9?_5P{^$6N5(tMarHzH& za!eqU0wb_4lauc4`>DNIN} zgz{`}yYRy8QKEDv^dM`}=sqC9-(P87$psLwHgwoHxv;48u+qQvwK%D=mD(f<)6U@aYu{jTYis)3fQ7jYC{1g~)QwX@0G6?k z22%OBBQci8<^5f%f?8Hs#~Vfj3;4TQ1regAsAh@f;nyv^)bFUxw|)Be$H&vz`9hz) z`APmvOxrfn0HC7R{VPfQeo_*A8~+4IsUjab5%#xSK4{9jA!`=dw1NyEr2-GKU?c!3 zRcy6vP8QMuzA+f!q9N<+fFneI`p=Q-i9(Yxx6mX$D}*;8q0B<)Npuo4%WCB?wl}xi zy(JbDFJ%1fj8A$a#iy1fRP;PqnL2p}OZEEfzwy7`|4pxA(`LnNQ7=S0H*yp4Ei*k1 z5B=bf3KiZ)qp7r@aROjdb&Nw52%_k2TbLPXS!ZCTrKKy-16%1&H~dB$-z(EsX>X<@ z@C%l+b-EIo4aZAUdlU&*b(P+j%fjU84RxdkzeaJ9e0IOlT^8D$g%BV`gP2g5W7sWU z_`AGiOlpEWLo8A`nmCXY;J;D%bsT^WU#mw1kTyX4GSG8CAVC@ab#Y$dZMWwf@j0@} zFn~ri!2>uOzV6wTBy7y{wznoHFMC%*&o^2^kQG^yfdN`Gf`>U)tPe`&|7UTF$GEg^ zic)#m1hA59543I$9W5_p2knDTrQ>2(BfH@SNZL!&JvzS5&A~^;!A5s9>(b@)%p_qv zy1uFQ`+o>vYF1v{cjwo3o$TO+c9S~qSD|q6Nzvi}_4{J7N{BKw5{o}iT4)cs&NG87 zEop%lLW#c%5Y2$hm@?eww|0?2%CnV3VjrDr3BOtvx1xdmojI%0qAo(M2?A3IPHrEGBP?4npFd()UHH z_BKfGt^rzq*4$|_ zi0rvfs%l!rv?U-p>P=cz_z>`>cwiu@<6@KHh{`Yn^gN|>9B-8OAAag7HM~#bDU+XN zviBL6PMTM;eg~4+#HH0(<0T`05K~}%_+>9H<@!yx0u$-f-g(J?^-R6&2gsq`@fb#u z+yY{BX#$?uHyoWx+BcPw?Xs%|YHHdGcKuHp%@Y+ec|K#-dxGs@#^198OXG9OYAQ~Q z4}1nGGm276Q8gR*g4l7NyMH*Y|B{*S&-E38IyuaGR?1i_%zpY7jP*-hf{xX3Nr{mH|nM&)K`U{L)aVL;LA?LNwc288L% z5InhCnd08y&Fs@-(Y4yf__~|8VZ=NO3BU+fZ9CUF&lZ180&*V#@e!~VZGUB@rRCwS zenla;#vhoS%7XAMJsov{fPpV7NW8wb0WH7Rz^!ee#5 zXm2iQgaqC)mv_dKT9sC&1_t>xOn!t2%~|lMi-Sc6WflJey&cAPy_k1yIfE1TMIX=B zR!kkNwX!`B|H_3C8aahA1@+tLl07}V2}TAly7L*iv{7$mYIQY(jwa3#k6i5@yLq{u zPGNkyrZR16I4VdS|AzcI>c7%L;2^V*xQ6>P>yWHBaF5HsmdHIM;5bLkWFr`bX50ai zg2&U-^K#|h(bKCJ%t~R$xm?1UinoT?F}9jG0Am)`yZTk~&trziKsaSpEckxy{Th2} z(U`lVl;Z1(y$s@qe)uqp9D6-z)bj8|w&xDPMd-o9bL&>zR0IvWrOB%RhtY>^;j+@Q z>jr0GdJR~=AJo^pc})MmNTK;3IijU6|DGe7_}_CxFPZ<9Bhvd1j!4h<-*ZHsNT9&Y z+PA`G$m8h47$n3Xo-Y#etRz^eCd;{)g{y0Y#KxhNkl1r{osQk%gD_0sNcR%1`YtGl zKy%qNuvJg#8(J%)avuYua$ol*^<9y_Q)#p&GJJhAA>WQFD30?z%(0~bsWkAO&1Jjl zYT%CZiZYr^%_D_6d+$Hsf!xU*&hq0p-S)qmGeCjbeuimsODRj!D9dSx2LZdzAtasu ztaA_llq%(ZY}9sAVtlNMbyu?z_{P*m5B3K%NT?Cl=OC0S_sDPx>!9sY?rkOx6(|M4 z@DwE+yqfzRQ_3HE!V-w#Ze_=_OnOmpBBk`n^VL;smfs95B2$o76|CU1&_i%pRTtS5 zMx81u)5$2vwdXTRNDibG1A2K0w~?uVn$2s`);Z)e;#<;U%EdzR7b~XZbOA(!oYLqB zDMk>ZVXmvQk??VC<^^ibmTCP$4&OZ?;jCF6E--_k_elp!V)3z%!>iY3=;#$AI1%Dzbd~`*Y1&>rHIr?SVXtTCC)@XQ8484D$;6u#OBK^KnJk5$Ux6YTEt4$`r0^p(o?#vjh;&J?WsJS-Fqj@!kLVB8{PyIu8I z(Hb^PI>1U0MFITKTYvv(*K-rusP}GJSC`i}Y}>;r95kdrv5xGl^2hNrEiUDQL)0%* z4kiz1LyLiteqrv*n)-?dK;5+7K2FyM_0T^{u()%y99?+pH##-}N8ySvzb6MWcW(Eh z#PuDe5)0e#N~S@h3k?ZbO{Qxie!sd(v2n#R4t=mNv?0x1N|FH&)et70w#i?rPnn^ zBySu1ZA>5Pe;7c5+-E$usMtBX7NpO&@NHD_iuui4=HX%vPpT0apnGDyFLIU4Bo-1%#Nd(<514SpHR8)U8RHnccdPRu$=zvWg^TY*B_ z*x^JvGQeFR3>Bb?W%~w`i;Z=>IGWrcya)k&62@ERko~UzjwC{(|BED|BV}$54fx-Y zM22w7i-81xNTLpVX{vf7{+X!e?oTf)KPLAR@A?v31mkID#C#a>8Ut=?4wCX z8uxt|pCArF40p5-6%f;N?6?ZxN@Ta?9jfXQS{0qM$fip4Hs_N#gC?sCkb1`yt=Htv+C*tmG9u*emhcMZyt7T!WznK>hDxyOw z@H5U4aPxrIDI8x2g1&ie5`&>~0hPXbhgfdNZ#FlVE8w7a8lsYEMAV#g*O*Pe4ooFd zHC}9!dy(Jw8DU3%_6rb?wq4%0B(M!+Ynn&qaj+K`6;8s#eb2?QTtVEzx8Yq7HxI2h zM*(|-j)qArZbSC@o8@$g8d5)20itUoOU9x2qQ2n!q{PB&dgX!UUSbv4?L!Z?$Mw8rSs>YiDW1~QZ$IL2j|dP_$!?8{ z@9uALdanZ03vJLFSPTrwMoO;Z>1A+fRfF0W$%b7q0{uhy9lfifDwNQU$;fFF69GDk z%D&I}8{CTB<;0+Wf+{hdza9UeBJ;^|Z7px_l0OX~|J2$ucsW>p45VX$P4cP7+UL z=QGboPiw)J7z_g^b;&=E`wSb7JsA7L66vG$Tx`hiz3#qQMw7VSn20x6(#$={=7x^Wz1rRZ_bBEN8#9KMxA>A<3+sQ5oE{BrwEo5u# z5kJJ{)6MX`4QZhL;fIt{&q!;)(>V^pn3V3bm>&U!%!no6uEWf{P5eytADs(SolN?e z>pBQdmso=YGR7+Rp)oZzZ$N~;ONJr!j}>xPOZWSW0dj)3ivqq=hG3w8srehz6U6b9 z159gd?W->a88`#NA}ZI->=2n_7u$TyH!SKc&KS6FOt&)A_JHIf(PX6j^G%k59M|4X zM?AajE(UYw2a$flXwC|kuE8^c=E9$*k+_lcq_@(LjIdu+HU{f_-K6W zElxap$ztf;9A~|oxm~d9;;yp#cz#mq?K@NrJrddm>`g}-gXxR`d@LG!h|@y|;;POo zbuGA7zd|ge)^<$Mz}0iO&U~tn6It9~G+O36?Cek2T2|Q7^%%+v(a1pZcP=TTvM%(T z$F^a>Fbq^UOjiC3-p(vzzHt&9$I)qz^fk>dfLuYhNqrp&<1Lh%#S|>kvg*Wz=e1<; zApS$T<7a$!PA2XB@HrCya-eH%PGK@O5#!93(|KQWI07toXz4yQq6A`mlhgEGO-MC@ zZ-=Tvt-QQ;?b~K0Of0rB=utGZX*k*VcV38Y-RA?W$ur3>yFpwp#skaY3tNg20-n%d z*&;n5)AQnei#D7Gb{f`qs6{f2JUgrSY|Dt$sZks@~ z;fHb$Vh97JH`3ss&2JNEnM1;X@6I*E=DW%6 zSQO^au^hkymG27lbRBORNet)6uw%eLhKP@MYCZFy)&(Un?ukjOqp^@Y{hRJ|FcQ-1 z1ZLMYXWu3PN@oP-sKk0``?m_S8T-3c&0)U;?oU%qaC<}= zc|S;|oL4+*O^gvQY<+qcU-LW%RERRTLL!)G)wk+;fyR6E(BXPb;aiwXEH7O{~& zj;|WaBy{Osk?dk_5DB-+qM}z5!$S!U3P@`znwZA&<3%%>4aMvCV6xs1q+J>HjI7$2 z>K{@Ho>l_I!ea$_|DIfsXrm=|ZWz{wa=R{G4hYr208OU}tdixhKabBdQ@v?aFfIK8 z-o6geu1NxE?CdzAW4m-y72)rqjV#Auf1+KsOmqzwD6!INW4!2~xRYH`%iH;QzVZ(( z0Nl?bM;~9XM$xqshF(gf_0hLu0tL!wN%yA%6WVxqAL`gOuKdaPl_YM&b+x-GbydGD_>DTvCU{Wt@T1mVW3DJ7nA#i%6wzmc8Y@cdwpD9n zTwgH5Z^{X0e%GLCfQzUBWAlANRiG|$YEpn@QQ++tSW8P0w$yj;-a$elgy5AsgASFK zf_FC6`>co{AH+sOaSXQZg;3Un_YkSzysAEv+?=aN>5Iz8;_Mp!sz00P1Wo}zVQ)W* z=KX~(xEmiK*gX?%xG*f5Kwm1=u$`@-2`|$oK?T0+wmSxkTJ+sF8w$|vka9d)|M`4) z3FoYNewfy8-9n`nLP~bytwGq6#6yr_1!GIp6x%@g^{HdK-V*H?ES~R$W<41~)62;x zhBu|pXJjc(o5^mNBDzVBE1xL9c^g<9^LArCl}Y`!`jv46J-MxyJiZKKzt!D%Y2w^}CcT=z^*DgM01E3-D=Lcf2RYgZaDR^Zo54 zd(WF0U2{XVWu+bw_>P8qou`$kbX33k%ri@sOCmspJ2g!<%_lYEDlIP7axXDURw{7T ze_K+BHzqqN(4uve;0N}W9rou;^2&J|?yapohTZqSF#$_@H`YUKZhq{uqK0gEwImMA zfT;4t#Z&}G6MJT$jGCq9j2^V1$@7%VCX@BtBGPI6M9zSTh38VaS#xP`DKc}lB+*4^ z>P=s}b^Y*(ozX^usqvzMI`|J;?Frze(?wB`X>(PMv^){69_@`BhTW;Re_=_>1lZwi ztQiQzMj%e%y>;HEQU{L%lDeqFjq@U2-ehB(919C;+}`X_;v6X2+k90gi;S=%ow!n9 zdk}uo;eLqwor6_x?{-qm7U%p8TFB$~6Bwxct$7%sd_RJVeSR23D?{>JoO9Q^Fo$(J zrl4VM#bMoJmhgx;^UUs62=*C=uNQVKt)2q>wFVN>V0lR9G1o_AGZ(9d6--Tc%P~D< zm9}yz7Q2Qg7$Q;;*$dZIjZJxF4Rv{a?|hq3@n#SVxRT;z#<~{z*MHQZ!UX$WgFCtSK&Cv{8X`d9}xqRX9TAwplu(q22tKPd#9v{aZYG zILxD*a4y!cy?x)p_vB$dNf}_urd?i#(t?;(jI~69z0G8oAbd^rAghF+s7|Uu7Q7Gbo+VtpoTt1K}KGqg8pYWQDjQWd>Y5G zpA?vT-r=dL;kdKi{ua1&t>IgsBqYAf9vAFIO&c|>SbFsGd=}#B`f{-mwVj&DFv1b_ z!O9t*7mNAmVZ_-qzklB9y5feec+tts_aBq<7HQG&kQPibI_gh$Puxbavonn?=8zj- z|93Ft&15`Kpz;f4rf`Y%K3;ej9a!!&rB56?8N18exM%wjlt5};z4z~wlR&S&9otPt ztBy}rHiqF$qY6JY9OFOUghIdwy__BF&3NsunLh^!; zm)zrVA;Z>J&4&yoYk-UiF~(XB@BXF-nhbi0q2EM-Sw&v^_ARbb-i$4{%l9nA)y{5~ zVb_pOYLzeE{e>m*?Ji|RPLe$IQa^e-tiC>&i5;$=&gyVI4W)}iG&ah=8I8eVmK=LI z9P(x~zOnA3*fhPOY6zDdJSFmvtvTw?w%BE_p05t*DBB1jGY8pWLqf8>*I8N;sh$JoIpql z(oiDVDj4?%TGJ=QZJ)C4{KAlGT{YZ%(s>Hl9oPUkwzQ@G?QQ`)mu9VQp`TQj#A(L6 zez7|I+#_;uemJAPLL`S8e!DVXePxE<0L{*4sbReY#s$VWYZy&TGn=@-zc# z(Lgb`<{OX2BIz2Ku5C6aPhWS>_j^Pr2>Ltt_%29}g;gA#Kzl2r&T5u{K9uF&jO+5H zC&xuq@1PTorJ^^H8}w;b!PT!fy*!^=Wf?nr*H*bY5%xKckl~0yfvqZ5*^as$fYa9D zxQ)%igO*g5n4}%+1|hiRY-g_4;B-z|_gH62U~Bl-cwmZaetvQXto{)fc@_3lOf1M_ z#jwU1V}0L-gG4Zu9H(7~NVDQ@{z#EmF9!e!diajI<@bYF`Sun}F%#IQN^@Hi(0xoHnB&Y4T5))g5@=W*H_b`rR+0Xj_ErkC69dAX%>*Hpg` z&h`MA70t8xzJ-O=qLf{@mjn19QV?!+UKUo+n;&`ia*ipzU${W=)6?HP8uHo>w7mvw z9hF-s4_&xxRSk~3R~@h!KI8^rc{BR^1^T0a4PA*lnO82nE~kd%h)+MzY@l-3pM>(U zNSIU}5L!Jwz5KvD}+ux8Z8w0cV@$cDtXlO9q&(Zm88J#0w?*|f!q!E!F zIft&igNkAYc?yI?KqNugXW2M<`~%FLZs0cGYpO0JqO@ery;VTHYws3Lpv2`=MsN8- zM1NGLMs&a|+r~IGsYK|3`=UB!&Z^})ULiuLHS>5o#jp73U}K1udJ5-$J+r$Fsqm_& z+GOv$8a>-rhd>l01$b-z9fTtea5&cgP&%rnKCacnKB?#n*9Z(gMnc@j!-Fs zg$iz4Vy%W&bxm4-)-a<;Q?SG9eyvm3(dnei6azZuqjB<)^nZUrp0ByzJBzj-GC zdpW7hriiXPWL05%92if+q%!s&8Al4X4-!F*%7*StUI$!rqWRR;AMIpv6#J;BG_}*B z9=)(~-LLUk@58nvW=zECZ~`A_v@l0i-fz5u5%nDkWWT=uLg%tdp0LmR((tLo)gAEA z=zxc2B0+P`f4VlqgjQHjmu`cNJQJH!syQap->sx3pZIw@^l*Y_f+R~-7$nFwTmB^U zO)NopyUW73s*9yzv6}iM-fDi|8kr1!uex#{s!thN;F0eIA}T3 zbVh&PN;i&F+v)uLii%R^hG=Hq>GAi_0)k56FGg-kUOk}y9CWqG{m5LkyYLzVNwx8k zbA5W0mO?;r_2%aF4ej?|@WIWO7cZ^{GdWaDyX1w++WJKloKa<4PtH+ILt)p4!-zMk zxxdB~I%&h2No{X{r!K@ssuxX@1j_x(jCeyA)*Q_kWmF#Ft*Vm>g|rnkEfw0psHHru zH8=)T!jUoBPNU;K+(ehWd+^Rs+DB+^(dj8`FE~P*PGG2+LBm<7GdO@(I-CvB{(Cd9 z{i<-SfM08?{Sn+?UJM< zTe7jWOj}Uh%uJ$nkzL~N=xtDnXF&t<%PHAs{T>3=galw}Zy-t%;FmzJaGTJb*?f7v z{v&Mru)4-JdO1z1j0f#$vj-MD9?|sP=ml&o{MNcffr)=U>}GCyWW-1m^zkgIa{aC+ z`z{Xl<)YyT-C%M}#i%y_Y3MqQSeqJH{Be4Z^XMtD$3{g%_0?jz$R^92qf->GCow6F zu(i#}4_8hXVK2IoyO>j#)+3ZDxwTmX7`1VWf?uI-=O5X{PT)l?9W}mXy$$_>Vmmx; z)A=M|UPWSyWSFt&dlsxx=CWj^CZJaR(9)x_pZ()ul@Rzw-M}~M>q`nLq|kf55Wbel zAhNsG;&LWB6JLy}IBw-~dEPg2Z8AA}=WJ{Y-5QwU>KYhgtnJVDzC!<*=xb_0!Nd~z zM~fK@sHx<|v)mvH?2)e_&!>F~T3Oxmg%ZyR3+wy+^Zy*hcHw8#vc6_Zh?gr=`qD?% z(iG#1=260uXisxC)~8{a^0@U&D`&aW!G53$_ad#$j~VmqX*g@07M=ZwWk+cwo#O zetrJ)g5arcu_*GpffSnC`I-qMxQ@hB01{6xE;lWCz-5D*GQr?>UU&FIgeSLZ%{arEddq9l6Fi+ zeB3VaU(V}f@;2adMpU;N^*Ek&IxK&NMcK1~m#Io~>*jwg}#-*)$?HJx!mRQxl z;0Szt2RwhL%rHCTjfkp+8d3)n-UEHb`tgB?3LOxu8^3XBIFl%8p%&bmY`9BK(3O3j zZ)xHZcrO@kKtA$#D346_F1~_&Zl=$!v-wOU`L4y)$$2BirJDJ+J7(!U6fn@ViJrD( zalUn54Zp(eT;mrsB&2lxcOq`viVRa5wwn^175 zPaD)#x5Ea~X-9ES;uPka7vXZ!md#Bx%Fo9?Z?2j6Gm4+M&1z`rZPF1_DaZ>ktr6Lv z(wso#)jb`JUEppfd!|9n4N(Xr5hZofxezGkWdt6C)HA4P^w!dNFPHeHu2Rzsn`y%W z-(Uzl13`YR8*{7bT&e7g8app989MwQ!&xj;kXttkc{2#IelCpyl2;uvq3`XpDsw>iGSR&_0~p{PKQQvTvw3 zo$0czAF{Xac@ti2dJVVU8{Wv1WPAi{<()Fx5TykUftlJ=H|KOQ0|?*JojWa3b|-z* zT%0r_eI`GB1j2KU4y@GcpYd<4+b*+|$D-x4t2 zmE}Z>!$~O7T(n0g20!l*_$6T_KCEG5Ze@p7>a}nc7gxqHfIJB4J=g?~sMJWWd3(-%mKS1W z#y(ehtwvb6o{y~`ZYS^&FysFT=|PF!FPo;slIC$dE^i}4EN@{P+!>c7ojep-&6KDu zS$EK6q;fKc52`8}v!$M&<8*tS3I63ozJi~~`fKBTxa34@#C#17HIxZMr~Y$v2&9d? zPRL&xiTiji{R!I5h`oaD!5@|Is`HE%j6j|We|`#?=P55~E=tySvW(`i75V*tjXtr1 zl$#{m!17};WJcWc&o*R$>avZ)Vt1?Dw0GHBm@5VZKdBV0OB}ZMD}TIa9nrxn!nW(k zf3nh*zaQ(o0JYNnwidHX zK1rHxJ>5;3|A-a4()M*S`x3Xf1>s1!-o#Ma`s-DqIJs)lByihVRwoF!QhSniZ4{Knf|y zzJa5yw=lCnWN`zWe@n8<5*Z#|u(9 zcxK_dqdtU|PEYDL+2bPo9@$)QQHTh{6=Yl+3F&VUyZZQdDWC2SoSv+qJKD{k92mQS zVlT9DkBTV8TOCDA{`;DX%Wo2Hbf4Os#sa*7csUfc(YOOD+*zDn?8Sz7y!cvT5@YR2XpJv1S8V?c``pACpwu&y$84bqCgUorRB+IZ~8S z_blFklX~WO$tHCkaw{+@AR`l^L!-UD{k~fAEEq-#Y`0X5!&ZtDbcCx2;{1-kP!jIx zsp(-R7;NujN5SV?h-oYop@9!4v(56;rlJnD5NM zc7Y2d)f0bSl!EkaBt&DsZ7np&E08Kak%VuTSCrQA`a*0xHOT!HWOLYrm@VL^-X!Uy zASBVM=&%-!C#ntT0ZJ`RXEEfm}{{?ltsgEU9mnZL3aae>aP& zIllPBBZp+b?S%Y}bR+$D2>F5q9irGmC>~bBHc1KPbi6!1)mMn(?bT#ujR8u<0jli- zT_Q4&lyI`t#;$iSbVJ{zkZ2NH^qP`{i+%0#J9@l_{n<%$bkF6QkBmDP>&*#2{#(46 zaFKR6+veX#HhG5lGC~!tq^(LzQ>k~8WN1#vn+R;75TFpxIN^7xMITLP8830%|JWpl zrR-YesK#f2x%UHlmH@Mj#2%K>#Tg=_DVtSU`5dSYE=g=_1$VZ7k4tX>=Q*%)64%Lf zAXv*wZh@kZ$;hOHg1OpqVmjlBN3ZKVD&~7V$c+E4OPo^-haK1$rPv8*qM?ctZ>zg) z89Xl^Gd`7{dKB^jja`q@Mae^?Ip2%l8L(SNTEPjJAb~&If5Dvmc%Z0+Fd|yToIVkwyTrJXWy7p?`v%i`U^2n6IHb}*kr&zwlq@F5+YT;>Rqhovx`>(N$VW|U4tlAoM%b`s{&jjlU{B0#cQP{mSMX zI5l_j%TTqpwx2q=wSr*Gv2V8LMpA7f5&mm)9-$^+3L1Ib#$a zO}sil_bl(;@4z=5{?b6lG>`c?uQnhq{vDvTpNi;#D%j|#TMv+Nh$j~Vo@kL)+?tHP zEr5}obqZaKgloCH#-h_E6sTXr06@Y9<%c`=?=%i9#`X~x&!#R1=-?K zQ*@A06Nk!l6y%4pZ!dyA>t3`PC`QS(}e+xC2{_y$c$?}ka?Ni_@ zgj|PQ)A|=cv-e5x-)e>E8uBon3T1%`yM@!uu8yv?aw^Yr1@|V-*2i519xDg4!ixLl zH(Qt=gOZs@JZyAH0DGIfZvzlhZzmtnFp(f<*6!ldzft7`e?w^be3+woS@Aarnk{T> z^_dK&R$YD=KDlANQ5BRJmrrzT{$vnLtMR>)X-cNUY#{1&8eGF1%X)WXmV*Z&RRwoFqbyY!*I_u0?DbQKIf|4@v^+ z6ekrKw)7pLS4)7}8=`)hmEx=C72-VF6MxbKomLMMt&~XER}>X%;X7?WOMOPgY;nDb zY(8<5cy^$)n;VZq2Ir{F4xdrO8x9;oJ z<;ZGI=7r;}5MgAlSA#&YvQHV&P37j8pw#Qulo#v5p)pZvb7D|q7###489=12ZUOs2 z)N(qY^D}xrT~ij9qJX1J>me)D2TvlPQhE4svx07jzJ)C!COj*h1 zxi@V>=6<NIJT&g^aHGqM zzna%RD^aE0)bxHXc{1=jYO!BXTSz{!Lm8aC3n@WF+@CgY>|`S%xcbU9@akI2uju){ zT}*Q|5J|pSp3K`|f9xP0f)7B5dO3JX)CIf2^$~*lh@eob!Rzn^7Px?}--#DlaynR! zjLDP*XhNq>F+jDSoQOe3#&UYNMvRB#lQkF&Ufb?5@Ps!^tA$?ZO2A&Kq__DO$l`J4 zyx$qt>VZ2iGZ$#MN!>^+33>5=l;J}Xp)>0OOYQ+=)LejZ!&`<>lU|yj{n+E(o$MEJ`u;Q9WF}CU5RC`6&M+U?C$P_ z!CF^V@VS+AuB!M;>e4w}?Vo~L4oOigM67(J|Hh&-vh#<9g(gs|C6ZVC4tK4|0S=}6 zGT70%pGSA}bXB=B5=-*x=Fy$>u4LeWMo0D(@5ElD^$SQBKmuDQu1kB9vNG`wBleqm z=x6LJY(Kr%#@G}D$k8B5Z6-HUW>f6z)lBFA5;r(rteTjduA}(^Latgz5{>tOMQfs4 zeO6_)V%~<97sA!f)$-X=TP{`+cx+Qy!`6!mfET` zl>-^un=ABwRFdlU00B5&@GSD2X3pKGha8K59mrl*Ye>xekuO|2xPE*7|Qj@hI!E z*p$p0?l`Lz=`5J>vJ0to?PRb*VJ1SvVKz24uw2a?etQ}a-@B_v=pC;>zCorgzR%r` zU`PC3@HK}xuZQ`Dgw-MJyZr!rV@t`$a9t8@nN8RP3C((|TQil%^w81D9hb1e4SA>q zX(>}b7@J2lxt_hiC*cuFzd)6X4LNj!pu!NQfmUhD-GB%z+bo`cPu5nGOyc?FS@zI6 z9rOW3+?3qAwbXDE?$r}wqu@sqTC-KbsbvrdE-lR}`%EN1%@tHoigq|Ncrm0*L9Hg2Ja*Kslwf_vyeU{vE zLTP@H;qVX4d_uV#9Px@wsuJbbORg6>ba1r&0wlePBw*Z3`$KPl%YrVO)R||eJX)>A`U2L1$~U8@GvqCH_8d{n6)L8?`$NQ)C8bOq`Leo- z=H1zr8Yh`qrkGAi+tViswqR6M|mpj<43a-uYR;7esbi!0t?%gm*X~fBinuy(x~rQl2^aVIvf^UtOp8{ z!TtkxXFgfKP8B7u|CYDRLpJpxLuFdHPlWq4a$7~kNwYMgm@s8JBM7)g&p`SdMxwR< zgsK}(ID$gQ!u%U>HgFp>pX&FT1Dk){xQ0ljyaLZUuTCxS--&kErnzK=owt2sY5RQ> zJ(W&!qgEv1Ex5_jLLE6HL01*iJGgc9v>7-js>xE*PrGM(q-AA{2N}jaULl^Zp2!#b zZF2cUk9^Y8aP~Ip0owQT{v>(KCq^1pN%I=oe}c_UBrYYd3ts>g$lC#l4&A9WItyzz zRWJ=;VJ~$pAjzXFLEB1-M)*kU(rteq4n~X8+$?{@t>#JCY|7Q|)J4vaL1C=pu1H z#Bl6{ff4+{Udqu}uST~2juI+c0sFNY36*C_5`tZTWNS@7gR+IkY}f3LP0mdG=$_J? zm`~UTNK>D5Za~nH8wA`jqvFXu${vq>JZ&_Pk2uGEbrro@M9D4Pp73jxu!!Ps9z?rDSdv!q*2ohYnqcHda zlD>%RuFXVIf9>L`bNKJ0A$`Jw-l2g^lXQ@1zs5qL;BYGWC z^RC{NqD>>i;_It5)`Aj4BxFFe3D)#W{c|`UO<1 zKcc33GLH3zef=6M=6di3jnARg!u~`M+UO0g-CvUuhwj{#i~?t-#77V40Q)hb57(h& zkr$!0_bMfI!uSw;mEZ;hs>|tthmO6R0gCPjA1*?L;h_bfuJ`6eJS7UfM#li|Y1KqU zy?63_DOl{pd7)k86B^_{i+Oj9^18jx3|;(* zJMWINUaAHOKyag?t}We={4F&DkejhF)auL&$l!5b?PWV>gbHt^q@WMGJ`ki%zL27# m;caSh&+!gDobS)de8%s-8T=MbCDjiCeuVkO`HFeeJ^l~#!+`Yw literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/github-top-screenshot.png b/docs/runtimeverification-wasm-semantics/media/img/github-top-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e22cfe2ca057bc4479046cc92a3d2e9bc4e32a57 GIT binary patch literal 114223 zcmeFZcT`hb_cn?Y3ssZ=Qba*SLRX4{G?5}mlh8{9MM~(sg@_6$RTNO^MIdyL&!;hjM+3a7ijL>R)+*-tWH{cfgD>851}dM2ubu# z0+`A*LwlEEd;+A2y0nsbtjqg;sNmHMS_k=uKN9Ge^RA5++&vzBjCflFd4cu}fBi?A zn8)RperiXQ#NnWWs+e&C&tf&3s^%W)FofE{_V z+1e`2t}rw;c{xj1t_#O95YQZwTwiKtf;C;5nxAh{$k%AO1QgqTbUtJWNijwUy z?7^_vVpIfZo?Oc*Njsl;ZP}!>eM`Fz%HKL2bXR#yfUffh#TSM%lo0BRfE3gJN@4nY zwpBLZe@M~cpOaTN(^QAw*RtLYh#J~eo<`QqgghsMA{_iZ>p35$STf$5w=&|P^wDfy zIZg{QSHXTBlsx~@scflFy zS!)jxg^V#pKP2qPgMC=n9ZX%{pU-w}T9s5{_2iqAkT_d!e&n88;9fh&S0hblGKlIx zXhf$(-5N9%b}t*sm^eN^bo=m{+Rd2ooV{kD!*DMGUzDk0PbS5IETC9Q& zG<^DYLp|>pX-3kF%^9cFhvX1t;K-G}hhc?4M2RegWSZH(yEutmFS2{~RreU02%``@ zt#`0(?ilTH6_ZcJpOJX3U$2hfVRe%e@f6cPocsHPfbrJTL}^_HxGTh}g-~n@4KFx# z=QZlOdx1g5&GNG%hA{6jU45Oj_rMvs*?D#7E1)qP>A_)c3MfLmZP~i%f+BXeBpEJ5 zTIAo9?23qq>8q8M)8DR1yf%5_^qVJ45J(D2l&n^I$FAo-Gv5iI`yX4(Nq*R2)9QHf zx+o=S|AesW-g96`X`OqA_z4`!ugg}0A{@BNZn>~aQMLBBd-w0hlFuin6I}+0BJ4*U zHANaki8#5Ay}sstNU1(2Dr9$lNBD(Whehhkh?u0~;tmQ%#^rppAnxj=SH32{3 z(V&AQiCGbaOI-|m{iZ|Drzf2uQ10B`5%rC&SCPBu@@kq(3-ibfH!Fqy0^D&Jmq98Wp{t|&Tl|*NKD1FecE#fa;43eYCQn2VDIPU z8osk`A&6qXoe4NpS^NI(A1RL7!^<7$Dmn=>wv{am&m>OrmaSuciWd{p9;%9`rWoMKB5PyPG5bAf~ryk4ioJil{)M!YFcwzuhA>KhlEkjSr< zrNcY=EV`;=1z=T8VhP<)Duw4~5*>?f?-kAjFfGN~C*ktX%BF0dDb5FR6S^_qo7GNN(a z+Pr+(nkU8f_u&}R(6_|tywX6VfP2~QMCVm-N``IejdAM~JhA3Q!S=ZXoV!sluY0S4 zZWI*XP|$*ANo%dRM=W^5=C0JN<-1h@gB4TIR|nNPlGe=8sqaEi)1GaW;5DP&T}6HV zsm{>UhTR%7rrkQ&Vf@D;mQ!THkqLA`P^;OiQE^+M^W_%`+s!gf7qOJ>Pn`2%RhqH= zW-HVa=XYlMB~kLok=jCinWKXTSYcUFzf>De{Vq zePU{!FKHvbiS&pavF@RaBev^+S*1yb{A1T^_k!v`u-y7zb`eFHKIa{cyj{ z^FhsS;B^6nS2p5p1?F_}8h6_I1O1l+@Stqs)ybOb$;-*!dU|WUi^rQq7L??i8vQNt z#`l|e6=gkb8>joe`DeY__8^5Tw&7AgD3~6vL(iw^j*ict9`im)lN{ipo{A6EzPG-i z65uDMJl;Iw-nwgLdb;XWxJv607xFw%bxH=CGJpml z&31=%`nT;}ovv%R0Vp{tK4W@G3l_RT{tZHUjcFz6=LmjSboJv{#c_$NYP(CPZ%5rQ+KlwLbRW8f z`f>ypy>DuoWrq9S`_AQuxBNBU_^{TCE^hei2YOcC5)B=XIz-!QGe@eMsH0KPU|!`8 z#KCA&ZvmI&N@Ba4VAzaJ{)&&DG#tptXXIx?nAL<-G$*J6~*C91bOUK zYWl8_m!ChZxNo)vO|F|jHB#4TX#kV%BSn8|sA7jD0<@0r#xeHkfb5m2%{+{ero2z| zj(tN84IghNTQFzzRoQv&M#S6*P4CHH-Fu0`@_oj6EcN$(P9L)zc{tElQj6MH_=yu< z*szt3h#BsBBpeDS?%klS%9D*WM=BKn;L#)nEQD3}W=IXMQ6rvP%}ZbH$U|X=CdSqS zDGS2^61t(20lbHsTd+^~*ZMi1!$$=jEonhXD(3lfRh+yDh|Nz)o;9Oqkk`)>9x$t# zBhIA^2N`u2Hmc-*qyxke(NZ)9S_7)u*EN`-{ zXwAg;8QI%`P#kXiE%?rNl_%iD$~`UBW=_LjYMSrK$%Kh#p~3a1X+coG_}<#Ei8Dy& z^N~b8bn8Qp7hASZ0rURP96udct+;oqw))#5Wv3;!I!6Vr7yng4bO4^7Ry$qi6=eRD zWuaK?tEWrNITg6t8$GKOhm&G);|{9)Q8Gp|V~NGh;)bN%U00`y$=9FF<=~$6!J`%D z=ih2Ia-R>GUO0Hj8~e7qR2J`59~|>)DjdY;4tZ6r^9J*tcED+%GJ}O016S6qKjkrE zsBAxFw`K49*0CyA-z1*=+O%{v@B9!iFgUalw}@%lc<%b@$z7Kn05)FG{9`2n`ovB6 z=>d4dj_7#lh;8u?o^78=O#`83?!sH=%n&?s6M)f)ERVv`sG+(A- zuk;1T#vAl(TD1b$&4z!Bh)GD-J$2E@r|;F(_-X&{Gxts%{xv~u^>To4ca5t(h%C2% zlqjsVbM*Cwt1P)IE0Kf8-OGCqG`z;aHK!mWlCZPL=f4_xlv8i5wrRKaEGPpCXz-5$ z5_TwW(<>ixs>SCk$l=uIohCrWXftqU+dcMr)*l%OqCnsvtd#a>3Niv7s?-SQFR_e};^++>OP z-Yu~#nO34W1+Dmjay^LzIqV4BY1phuKX{gvMSgM~@$(?KmxK&+j=VqzIyMtvsgrXAuWbNcZ~kMvWyTKWf=ZsUK$sf?A4K=L zoLFJwjrq=N)nhnsZ7LreLpq1`?|pO*mLs_TxV@SX0E-Y#{?*`y)h`eyax^TYjPON! zgP+f1ljo#AeEF5x%+rFYSdKdVl(3BJ4rLL7xiv0R=o{^Ko`xzwU@fpww{*<45O{o$ z3^LQ2IdUNGc=kZ>V7k_ahLT|6sf#cELQh2TSoI_4ro^Y8^ocVnUu~!C`C!I%_nUo> z4e_{spPqF>B}F~zb6PdaO-3vDzb`a5<)@UiVM?Fm$@f$TGg4b^>&3CpHbZt>7I)B@ ziddP0ce|{}lEQ)T7+T!YxmH@5b6C_bwdSoD#gxFEriF+5;6Za|(yp1i#Oh%06L|^$ zw~9_AOhl3`-HZx#O0s7g+zK5Uw9RZ^?83rwSctUU$sL zc2rv_8R}0C@kk^ zZ<#vMSaC5rT$ZgPb2t6M9SL%k^L@~UBe$sF=(Eiw8H~2Gg!g!dLRY`Dg-w6;%E@aa zz3R>WK4deuiLiLT%_Vg%rtzZN8?}z-R)-OeDlzp`IuJ`XS~hH*%XM^C)Z6xV%plxl zI-;GF_y)>!MV7r}ap6GgNC%Du{;JBRxL}Lg2xV_Ff`5cJx^7?LjBQ&^a8@0^ei8DvpSdNURbjIDVLS*qfZRw3pDjdeZ8jqSdPyjgH{l2 ztSycU;2LfsIvUs)aW<$fD$ZL+r%Snbg$oSq06nuwzU0?d_lUQ5w2-xu{rnU1K|4JD zc%Iq#)qYu3g5em~s-J*livE-k>szh6GKq{neOo@;kkf@P<9eKhQbljOX;+PSNLaCn zxo%_yIK&EHcTniiNj1Ujrly8~8p`t-uG7#ljx!U*4M?2=;O zI#@7*vDpQl3URi3Vf(Vk(Ar&VTY3#PLjGe`VNQP+?A~X3!xx)SIu+Ip3vLb`nx>l6 zVSNmQ?DoWF-#)u&#Q3@tYZ;mUS+~kd)ixB&F_i5gT8IHC1w1b5SJ@e z>w3Q6*z(*Np)--)#JmexpD*YlExHU@_ND~pUgM|yrf*;2z^R{yQ`%f_F_tFvVVR#H>xP0 z057=>D+=!I{y>+?3dvkNrG2SjiE>pn9j93Q!zIf%BV6z*8VooEv9-{n@W2|;+gGpI zJZBkjPFN4npV^U1Wj|Zl4s*<%`UW-F?qZ(37u5~-OI;{(!o^#oh_{8Dh= zT=Qf1dfzrjPYW$b;iiz*NEFYig?55;W}ka*nu&5EtLzIEA2sZNSWVGI!1NUhu#ro2&7N}mAUtb{&El3Y63pbBWkPYIB$HAKX z-w!UO27`H{X+G}Il9MjoRlgklAfT;Y-}~^qDtxH2>ips38xLjq9(~)9xuqXo5qNCM zW-xJmpP5WpIF0mTcA1cwuAk^k#yZxx?a_e>$qpBYSLc*59o$unp$Ixa*-7&VT0Yz~ zZ9u7@DT#>im4;PS>VC1yDEtJgk|cQ|W17AWVb2D6xYW07czqS?xkJ3FVLz{-A+vmJ zPKR}pV$6Mmr^V<&uu#lh?%?b?xpOVvsvHGX1r!(f8KJNWb?!ofA1a7 zxIV{5>OH+DeFALeN@=cH#lr6w?A9LNI7eVvl1itZ_c10P{XiK?hhe1UAC`%UoIDAg z<~e!L>GJcEuFB~}*}@c#Ma>GGsW*cBC2tS!xjr61pl}0kdMNmzz_y=(TJ#ZhZ|2$B1zE3h~`drX0 zx6P5F3{r|5WQL>g(_f3jfS7C>^hm3A%$#G5EwS|cbkeongC7itak6s=7_=;KJz`2yak?s`_IwrL|j zeURS-TzX=O-r-s$PY6uA*~PR(204`v%cao8EAC`mJ@w=i{nf>UQ&wJ4=y z%CeK%3!hTi-JE_tN@LZ?M#^#-y=L37ikTYf^433PH2BN3Mc?~MMks=l(quDG4hW{( zS2{5051Ptn7y&he#tWfGIOeXE$SD(>d>EVj)}x3h$*EOZ8jx-!3OdDY-~+8^9a!_@ z8sVsqKlWI14$xACtbMiI!*lpSzDjnH3Q=^G$-d@p-NM*i+|3xWb}7<1Bwl#Q)fMTTnJVHR{~>>-D9?ccfs|#nMpSKqUcLp8 zg|!~j?Ss8#>;na}am%|1g4KL5ytu*9oH;%d7E#!ei6B>=ZLD{&~lIUgq1 zTo;Vlo2o%Ij&0bny~T#Epc#qeH9aDSmPjGLS?5MuHo~)TpW<|&<%=NaWrf_2nX3yS zvBIinYC8_=_yTeE67p-^?ICWvv1v-=Qv=n)Z5fqgGyZoY80W6C1!X7x{_)@#R4?}# znEGKEZ{JoJN;*D4afFP$sEyiQ;6pC8?IncE*~o?yXMeVJgdV9@VIio{=d@aH`#;^CHME)}qXW z8&i8c%+WB*2i3ui#Bb;J8?%UQQonE?uZKhtpL73>YnOgjte-%S(70KtzP)0B7n0iw zF>;;pUbr}uBWrew_6-VS6v8x-v*dBVFVp&MzY zyYBBUvFv}6X_SE`L))c_i6+P}|JnqbAh0U3xEaW;U3Bi4$!ReFuY%Zg+nmozzvewv zwZ)98eP0u03OM4#mrhSnj{wpJn3W{K3qxFT&;7_B963Na{h{;&gUspGC&X zaI2q2gp+-%(zBV$)1e{dGuxpTOtX{yo1vwYz^L3DIlc7mDC#5+^6lO@AHOH})FXm@ zxisg8tna3dr?Do|xiLDCqFVX)9bJzxfGd_MPSL6RL)K1{hCQ93Nif-%Hf8t>izz*C zA$Nbp9KL`gb=oleR$syVl9zwIBOFS(jtYGmXta8&2bx}LxVt*QHO&!;=Dt}1@0uJ- zZX5ZjofT$SkkFmFG%2DSx$AgBa40=$TB4VnY=RUNw~uL!U}pgLwkdS`*-A~B%;CvJ6)NAcGC$N+#`m)k z{ndV~G}-d(x7{afkUd_)r-IfGwoD(;OtzPoP1CZh^EcNKv6*U-fyOt3?ArIO+fTP2 zPTBrGWfi1#RXTh)>ep@Kr;De2^wfhl5*od(6TI5`=7>usb-5!-eOt-FKs2wR(pYuH z7Fa=m4CvH5UNh}P2Wyy=tjfk~8JA|F1JPRL+>BK_Vj|-{2fS9Mj@#koDeh_Yy%k8? z3i7b634o<}jsTpG@oVA^UHYn)z`4Q3Cztj681sx;fdKo56;$n4E1QHiHO-NPw!%>_ zL!M&;$!9QZkY~h@*dn#aNe;=Q5PeH!#3`r0=jCuk^Rnz-P-#)UYT1!?3*%I*n0CG< zfe(Df*!}_QiQ1po1?K7(hj4L9>m~H{W@0CQ;yRj^~xdFb`$@hl|zuS zDHIiCr{u=%F1X)g(%xOkN3CBZtbAT>w~wm#YpI7SODM@<(dAr(J7}1-z9RhB%U%BK z@8KsBmRn|&L#!lSwwa=6F{_3U+*F&!!mZU~bFI++kaii>-6`Sj8;yk%Z=6=D&uN$) zz?LT7(Sd4E`%c^Y$b+JpYgrk&?do`KKx4^ z78tFYMx0#An$zg)E86K8uCLvTw5$^{3nKN1Q}&;D+x`X0{np(oGd`~-g|GJ6uP(`f z5t=bG+$N~qIA1oGy;X+35A6edw?7Eq%5DnJ?^z5aQS2Q;*Z-3X0K~!bW?%iR6M*D6 zyx5w=*~u})y&7OEZf{!aw^4SqKt$%MGW1K`jfffb#PvyqQi)%D_bdB;-1?k|zW@cwbZ}6?PD1)iXX-mhmKg z3_6-$!fLMm-Qp$y)DB0DO@vKAJ`j{-a4#~){IGB%#?jA+o=j7v>*L_aa*Q_#xvRRu z|MsN&vlw83cE-k;d3~FWD7Rw0wocF(fQKo)T2`@%8z|fiV7-w@cre$q>xuhSoAk{Q6UO51Z*5F8N zEuUML{^}(?qZ8$1-S@ksAEr7E30`=qGMZLC2E5X_vVQ)gn8-a0T$RBIe4Zgf{|N90Vd51^${fo9^j}^)QgvUum_U z-JVYi9}LX7AQ%xdWzZwTF^C@@DWRw=zD(><)1(-;`>|SwfhwQ+?mrem%E*pAwfB1- zcNxT;>Mnuwwi}+=zIt4eb_ze0t}DYCEFq-*>^$;hr`(F(>wt#^F5xR7aOKa-Dys?p zI`LbsKTOnuo`5M`G7Qoy$)4wGXS0L>3vMSoo67#6Np;IVhioVgwoKu{8+sH0cH6Vg>3QXQFK+O$#{kQ&pAkn$`MkbIfvYl? z)aFA8TDHd$!0h+_buUE0k{Alx2p6{*dOsDrg$NTFhc&9UzFw=%sI({1Ne)`jf_&>0 zZit5(SblBn=cfZ{F&V_*+Kn=wUTQga7_RE39g%X%x2Bvol*0{p@QzH z+%AF8&YKRmJ0ru&gT5MFx|^2w`&=JxXveKQFy4>-ZqBUJoJrF)3BxZ+*G_<2m<;$s zTB4GeycV@r&c(v3;I?&9Rhck{hb_ht+sBKlrIgp5&?ccIm zTivKdpQHyf513E9#vq04$j*-93!MfzpJg*OQoWbLp~p=T`G%$nB#3|hbn6H#!{9=* zJ|U`Tv(qvg+=eN+MEtN;=-4xGD#(wECnh!Zaa4Z)<-Tf3qNGjKUzpOMsF&;N4;++9 z-zC};8`-#CEdJ)HSQcIoHNJZ+RTz}^CbS2&s=OSp=zzt?3HghQ4k+tYxRkD)#Q~9I zr)&NR#UI^U)(>nDf$Jr$TZNn!+Or$r&)SHXn2(XimDm2C8!~;nuHH0O zl7JT_P$uTX(M!r2NkO|JCEnL7G*2*(9|%LYnHfe*MQD|Zuo4k54^pw?z>kJdLxnug zEfB8)McDycY3geZ0_nqcp#r-tL)Azh<7njMu>kYI#1Xv`D zk0L5 zoAh{YYBuZpVe3^2`w&fel)&)dMqI8L3Y63-w`+N*miRd8Q`0dY|`l3ipb1(7mxjyn^uxyGt zh!1Jp-voXg9Qn1Ct7rS%I?jFRtu~N2Qkuy+)1pQTda5wymVhg{$GEC8pfdk(JQIPH z7s5;fD5Hss!d&@qJswc(KpX@uQRH$P&|qdS$3Mi~lu^RgsrgWJqAqgC+}W-RjVTgh zg6!a4*$=)bvNPb9Jfn{l=-a`Wd8UipmQga@wlOp_tfOa_B+@(PZovKN5Cd_&wDL6WJpej_TE(EE_pmYyFO1Vm(pL-BZ%gqfa^ zHN6)HM@tk&K;VqYy^Z#Y*>q!RNj{c&yTRN!LVw0h=b1Lri(B(kd8xIYzUEg8M#zL| zguONKq3o4utPUf;t=0V?#);A#r(eOeEjD*>HbQ(5(ec8Dm2)N3l2^mF{)dNp?uAL* zS93DcyY$KE>D@a!7YUmFQEIVpuS=^DF*y~+A`+xAxk+ufGkoGsYtIgihh=K9fE!co zdC|y#&Y>c=W|84*t|_*I`6UVArg9Vas54r^!JyA;j1y1C8ap0k*8nH|^h~3Q8Jn6z z{NGnu4xkx7&!?FshDQ^o5JW3WeO=^&wt?TZ%L*$Ij#tU7RM`1hS(CJEMH6C-xB)QDsTWm z0z+RfPw<5dSa9nOsY(XLn8_Vlxm>SUBqYuh&1)+ev9nZjAUB3);dW$Nop#80DQhA|^&i@XTOo828SZ=Ozammd!yB3WemS#| zneE4l<=1STN7jFH)vhg`PE?M8e=qJJ|1phXt}uX)<9E`SoGtaiRkrf95sW4gjW*w# zn@sVw6OS1axXop0Fz|qOzbAEL^k|E`mzeh zB4@VZxF-r$VsigWVsUg25xoKRJW@1T?am;}G!K-^lwPr2M+%Udw*y!iV~w4`O$mL0 zi@54@@-t7~-w6rW-Ogoegpyt?80=0JzIO3Ee@$6kWmYY6{*-^E!*UYyfHdLktIIA^ z=ew(i(~BgJ!mw=0+j$Er*Ct_;rvO{~^DRQQBg02rbCogC4B4=1ZCUfYo4y9C(c4a@zu3Dza+F*MCP7e$ugxw@lxqY{peT zUd7MhW z0otdL4TRWWo(!P2eur_3a>Pi>Cd7yRkhk?k-%%b*5i#MFNmA>EYgmNie>cqTDHm|YPSi8Rk06$>8I zfsV|mFP&HTSidd?jP1gdZ8$(sspaf=!vVwWr4;S8dQb6+o6QR^E3AeksyQrl%f{=0DJZDz@KEwv z;;YS{N{cruv6f7EeK3tUkGr3O#P!Q@8B|cOg58-iSYlYW$uNhhhnj#Kbzkg`04Cfm|f5O8h>_`yon-G;8 z=}34^o~%;GHmT(s;UY{gS%t8_9;UCu!^p=^*-TEL26gehcgO?V)JRt47}DPx%#6W>J+wCn3yJjitkB0XHaU#^^swjxa68D1CS(70dN?#f?dh4^e^3F#N{V>16EO>AMwSoL9 z*W$M#C!oFn27%W6HFr0U?WVRLp`xZvv3f13%GNdxO8o{8YADKrUhaxS0u&WyU$Rj6 zgKq`)x(H^~6`NKst$~<;_m+O-wNPcHPQ3&Yn?4YCN?+1}C|!u5ZPJ$^k@hwOs{}g< zLR`yz*)N-3g+ZOWrpEhp?~+K?zB3S^S{REib7@53Y63wKPIlM7*ACkFL-Fa+`8ivZ>=(+%{no7gSfcLU()Dw z=iT~u*I~zT-?2&{Q>0)~&bjw1Ohc&n{Tp1?OdovZt5r{Tb49r@S|z3f!$$K=T)fj0 zx%lN3Y2cR{t1DRIXwc7S+fq4z$IE$R_ zsN;DV!4b8Nm&a@+UCkfamA|S1`+0^mu3O%#2ptehPPQ#7DBNa`#2xvSYPUJElq)~i zEDph&Js~OPra%CI=?Uw-AE7Q0y_`@!0)+uUeR zT9JK$_#xndM-Lr73~Px$&ETLbc$AX=!svjd^SMG?nnpIGx!yCCA$aH&H(6jV;VdX0 z1RN1RKyE8wG6AfONDjNtBY&z_(ZC8Bl()e;HMhOcc?)nlLIxAr{wk7N%phC2a=@vt z6c-@yA4bYQTo8#Q(qL2I2eekY711DIu(I)X$~QQW=syC&Mlgy9Wo{iURRi0{B}Mo` zi$V5{%8D!%n(zkFQAd>Rb;DhL= zTK~nn;;?-DQP}4bI9Y3xYo~Za{(qIqq@BcY(&i5+IS}gEjGljywT{R-|B%FPXW~xm z?e<###nl36KcDI%A|jr1AsVHGRY=K2m?AakmPgVm*HQMYVsN33Q>@hHZ}2Z|;La!R zf%qxY{UOE_o2Ihi-GFty9K-mkzYAXf?}ES3V_%m7cNSAaO05(X^X<549E=5lC%Dkj z(XFhk1aLJ7?thUc7F0*5XddaSR7pLe+ac~h{+n+1(iz&h zIV^R0{9m+)60p`+>S&HV4~P&Q>nI=IWj&G&Q*`=i9$dK-)~4q64{H82&HwvJhkwNU ze}e7!|KWml-l}ODesXe!<6Y#$4-k*pVZgsh@W^=rj_2lJg9*IRWk^el6ea#CR`5{mz~z{i-ghY>MfdGj!Wqc&JeRAu15=RPi7G*Zvscll@7 z1E=n<{{P4R_q4&|FMiGSh73gp+Hh5xFGaD!Z~Qkl0`pfKzRx2C6lmi7`4yD>Yx8u0 zD{#}%tqP*o{jJQ!N(Q}auC0(y(RcgvYlo^Hb=DCNItO!rvS5XvP<6%C#g@Qje!!ja z`aP~L?y;osW0*mBskW*)7Fp4X+3a*PfBQs$`Pj2AkPi}h5DaOUk{at|p?T1=Hl;E& zq_8sEp+{Q(CS&q=wppmtZ*x{SyYlF8fG2b?k#6HJt|rZh&>w76b0U%DFeBqlhRUMc zvX~etpa_{2a_mOa&_HQ=n_qD`rO?W1+&{lSU!r`?71mY^99%Xt^c*D0q*WxRh7uyh z3g!zP7ZzpQ*oS#d?OoCiF%gxfQi+?lztzrN;R9=w#1`q ze>@MQD!NkQol*`lN>=iCY)IIc(4QpFf$(z6N=XwE>E>GV21X zPuT6HA8`;i!t{?7KImjRI4-&x-oVt21Pwu#2>>zHP=8=tyD2|hgEd=g(SAF;6*RX*GwN9dZ^$gSfSH!~%3^Mf8R+g8qSDn!Is9JmYK z!}249j>ye25o(&ZQ1b9Mlvm*?vMyK3emTdShi(?=lJo0}=)t!h5C_pXZ8XrX{u8T^ z&K`qWR9zziwM|S8|LL%)9ZS#UcC5p|$-Msfar|wHg;sm@9D`y&%g5bmCWIo4x6q66 zV*Diwb{+Nsx7y(_>w+w=?6b6>lV^w-zbxojD-PX3>sY$Uwxb4q;t(N0dgv@^*TUgP zvk&0?Xng%@1C`N&<9MI4or4w+cYdgC#`2ODLKO$sA2dg8bck6;6Q8PSezVD51`2Mv zXI1gF@KL3sA`o-k-68fY0#?NYp#^Cs?_gH&+~;Q z7RvacqX1)>{jawcT#^O+Zf9HDNw9<%n{#7D#kzD`X#N(L>dYzqn|m;HUHI$PJyK4q zl8+HItnLoJ!VU@5-=!CO1*KedwFh|JpK79nfC5j*p1=d0S1FJj8zc3sRjPU~Uz3)X zyCr`&0jdSL?Y-PEdgF48=%LCEnh~LhBj76pnxBeRH86_hu0|IRuo+_Ct@&4UE@w5p3?Db^tpBu`}MQG z0IW0V8o1?N!G{>mgc zzf04D8`c37K28Dx|DT74hRQ8{p+*43dym<)AvGNcrAkMENv3Jrut1~PO%SvM)oqU% zt|3KV4B9+!inkw&{>2j!^NXA5V=iZql1D&V)LWKd=TVCTjG#J!z=o_X7pl5-r^ht& zCVY6#p?1v&cn`t~PT)DITJu#UJ2-(~>LjUn0H46ebfx9tyr={94mk}jHSYJY#z_b7 zA0D;C${7*UaHdB<@oCc{y|eg)@2rRs`+TTzMxNouMgFfhW;{Oygnxe8Ts%em#>Se$GEH{xpQ|9+ z9mHEvB&MNxwT1>Ut~tOc{uN$PA)~MU3o^p;+vPOu;{M`F+ApGuIK`RWF+w%Ts)&N) zTq?F~BkWPICA*u?Tv3SnhZr2DXr&Y@RY}W*5Kp z4lMFkuy9{=kj<34*Y{SAV8!k2XafW>W5t)8jP{66m8527y#sPhp)I;%*!iUafmJ%2 z2lH94bs}P(PsPqc#EEzEOGAg54_T_TpzQg9dzSwYF*aRJNMtMz&Lq`UIwN%C)u!^y(Yqg#$Bm zCuQ36-E=~=F__QDVmDq*lld<%;0rx1NXXgqQTgWGTA9^q5vSuQn+0o__TD;$rZZc7rSrEGq_eos@!a4NAtKq3!W zN;dnbnM^vHPG|u_ffwW0m-IUXW-Qa;g8FEt#f8zxRd2-V( z`6FCap8Q^OS)GE_Yh$@?l(Yoz7cQg&eZ`2#^VP4ZI*wnB){fn`(>GTUV7*_4VQmf{ zrJ}D+=38)(;RrwjA+oAL$ScF-iav6_nijt}HdXd8KjTsyP3!9`;^fqyK&Fn$BD<}_ zxj*ljxN!M2@?`aB z))zI*a>)n-r97o>4qxpF**Ya`nDzbzTjA1j@N!5X(NbC zWO`72eW_TLb`O(RwEt=sjGW`E;96{@pmA(# z@7CdMGedZFE7iH?>b0x2UdCy5cdYYGc~u7MgyvmW2yla2%61}f3Y|LhG+bRkyiU}M zbP6)z?4q}Kv5ju|>{p`>9a3`U&)ByxRK8*yHn@QfWGh0b^PVD3ae~%I%1k}W1`h@k zO&_ia2rXGZ4fH7a{p~!u%|1T0uzc`9v$R%LOxrpj+t?j%%VLJd^dG(EV^6pCD`9qH z%4iGYI#9KK9=~i9x-`!6tS!`lvfPvA+0yodl4)nzs=JMVwc^DOet&-3vUtfO=d+I# zV+o#Ey!@HiMfs&%9`c~p?v6fhlR=H@@KJUALk?+T7=)UOc8Ygb)!j$;M9^7v_qI*U zU1xZ4gx%rF9gWC+&oqnm*9ul+e)-h~=2BVxZ7RWrO!{z{Dm6_(;vFs=vEE-+p$Iei zxi-r)3Ui+`7!k-i<J9KE-2wvqt{_OYjaVsQGS&437G>1 zu$3YF<_;w-tq@zEwYg&%y(XMD!U_qhh~DRI4QwrHA{5s)={kZ;!KHzciiyJ%|Bc?s zq{DK~Z-K9R2rI;?@K16fcMI!Gl>|KdEU_oArsBKklTJr45~n#dvfT|Scicy-9_{&F zvzhLM!H;`Ap(YSRvsX=qiYrkr?HjwCj;=#di3GxEF6`jT*IbIV??z$!W&>5r)fiKs zy|O0$05RzndJ}Vyew62|BMaCy&ImF&`u||>y`!4UzP4cZ z2$({2PLuSrCvsX|5WRs0*QvqjlsKsuP1Ft)w>TNg&nji!c@p7u6Y~{5cxs_A$t4=A zy-p>m9s&5RQTzaw>y?{uuy&*?*!VXmCs1mIiuY5NL>{ zDGsrVcvcQW?2yc$kKDtNXE$rL8773;n|&q@IOKmYogRGiOmqVuy{NJ_nYuYqhqSa}BL)Ezn#OCmS}5aIryVT&zPEoB zu)e4BIveIxFuu)q^Um&K-_Lm~pvZs21Mu0|aFx7%Kyrllz47rX_;?ZXS6YuvE-T7McyI6F zXrkyL8EVyXg`EyI_erm6tnUz81G70DE5rRvs)BsiX3}&_gtn5OGIiWw2X&&W*qrNtfXIY$>%735YN5j;S24M?VtqS+CG{KB{}Mn zQVegj*L%*PPfvgFq!>t*l;)Z9wvlwITF6(xId+u`IuqBGhieay?FsDTRkmTp9OxJW zJ&UsH>!`=IHZ??JOp)98?^|>%x!49;(v|SH30k^M+Jcyy3_7V`ut6jxsHb|Ya1b&q;man_mASJabyQZr&YHJlWlOM0khtL?6kOp zNy}QuWsy~pQ7TN=ygY9rFy9ELdiju~km9=k7r&(m0nx^ZmF00ra6waT&1t_M96D7u z7!TV8O2||41!k&d@>gRgq`(ErMZE?F76p0w3ofINjsA2mm{+tT&)h#cwLSiYA$pqE z!aC$HC@_b3uY{Os>CHn>r_-u{LTK^;>0e6pUqO2+; zByr0LytR-ff^;}=u)5oI@6Ge80@+yjpV#?x5T@5h-;;4OvRb9Z&8ihU!lli-$VW|- zEbD@L^WAy>=L>j+%9hf(t+_C}F)FIVZ&LyW2IeEt;c%CinKG@5?8VPVzt)a{;~naD zo?GRUq|SRhe@FcW`gK_CcA;mTXM})AIm9|}E~1zAS>wmY+S)B&|A=WvWSHh#6~Kjk zBL!d!0Hb(JKIPd6{XnmRV3ozDz;KIC(Rm9G^1Zs}n|`_wS?|W9mPxDBB9lrdEkpPZ z$2fhlX#lPIa=necb89;xsO#2)cbP}u&SOV=C)$Tk3E4lcH&}|xn=tHwiQmJv{NJely){i4^n7ED*J5a>-7p3W zA8Q6w)MyiuJxO2W_nx3w-DE5)KM2~ZGC}>8y9v|v!x9JEXFtY*DamW-nsi`RISx0K zHQyKe*@NUAT0_jX#qtrr*5wU`R%~z;nt+eoP{K7UMPIcw*l44+VA$3BthCN`x#=xO z-zQrzo!S8Lmyq}56ij+bNWg1I!D@r7o3#z7d}eVr!rZdg1k@&ZsRR`Qm^dW@KvVPj z=A(kf;rGNQc+G&&xmO*ZBfW<2$pqS{(UZIuYAs(l4uan=PYRmFysTny<7mTHCxlcQ z1yHIPd*w(gDYX4Fzu(uv_eBiJzlO#=dJV9rHB=Cs7Y+574vJ#}GeuY<=Z$7|w`n|5 z%e?qdp67Wjw(9kD(DAVrHL%=5#?d$OV+x8Ra1SQ(r>@FoJN&D{JJly|sUzE6u(KSe zxZI^J%HiDltrtq<_<&|?v)t2c1OKpslTT#V-wckaLDF19FOWOI2_9LkmRvjSPJrgT zQBnEG{l(DKuo75Mi$xdkcH2q}6vYq%@$Og{CK^m(hJCqG^IS+N#`v#B>n6viF~--f z+g84goBc~#xIt82tycAyM}oVbZEFx|f5-f;F&@s6rTY2-Cykh|C(S*ZJC7dRRCHCQ zqm7H3>wJIn^L`U;bJ-@yk5oCTSV}znFi#uX0`|-CDLoBczz}mD+L^v2_~i-fYZ=q= zI)krWv6xKG$gy^6oj2Glszjys3(;TqzpqXk4T0Cm45l`pGz~PZ$x%}?$cGq#4E|{P zTnDj_kKSm-I@9>&E{E$oEbj!AnqgNuzMX1m{WxW&7^>~%Oe*dX3DA~B71rfHT#UA>nesbVliaNk5(r{mV zw4;RbyJ8OdDIMmfS^2TI!tECv&)`_xf-h_D;#X*6FwmU2Z;JiN}pqmZ;I0=kz< z3iS6_`gkxWU0*`+N{T4bP1Q9j=Btal7ynIrySu&n6L#qM_KbypM$zRO8Xm}fsc_XP zCDe6XYB~=$A>apeLgdCVMVXYNrUD$c57lz>sGU;z#aV?7vP~6*Q7i(%D+4K{A)B?g z)e?%nI7`z{-#vv)Pp!VS&hgAJ-x_9^!7z$~Y^{ct!>%|qJbyeltfCKutz{0mNzh# zv0UWixSv9GB8R_;faqKHHafnk5h@fr>q`rD+t_fn*Yfm4Kr|Rc?riknlI(hN@7N?E zbh&YVl@c{-vzspQn3}&f^kentWHFs_Proy6G*bzw-IfaT-)V=>4l`&tG8s4y<=1*Q*moxu;%#WaV- zI>bmvNZelI(Pb6|RDl%iy?}BS2GMi{u-*cW#9`(LsK8l^38ig`=P|TtcuaB;OqnZ( zSdF<=+1fiZEArMqG#6@QG_yYxB_PP5CtN$`qgIZ_tW^O7ikXpp)89SA^Csl=XW|kr zs|*6c%ZGNP_VDOY>&=6V0tp@o3G}L?;@o6e<+u)$fH*HpsYQG~EQzkiPPG*5Zl?`Q zSA)yL<-7=*a-^@?)-x`VD>(#FltV$KZ85?BMov@6$kO1@P+;YQ}!SPY&3Une60`Bh*=BT38(lf>`4Oai@ba0A<4nFK6@+b2J2 zgcA*q?%5{R#a{m)&!6s`YaN(y!%lmbc2uk=kj#IC{Qkk%{v*#LKd{361epQ-V#i%$ zkk>*xO9-sY{?(4IoHTKt{I==c#z+jK0P7sD4^PEqjaX1(;Uq5`A1JmfOgt%3Q5lur zdFQZn(!UV5P<=JJ)0;gblt?bSLe1R7@(WnT)38WA0?G@I=B0L!3?x@{y0VPTEjViW zFbYt6;|#ME$!cf2RMC2&@7etXM7WsF~(k_hpO_bW3$~2@avdJJ_1Q3W}`W(g=3}%%@2Sl}gY+!cMO< zgya9Gc{7PvLLnp%vYWDoFa7356WczcP-)0`%zSFv|`}a{kB#OVgvSw-Ztk>(UZ0-oCd2W8{kE7--hxbr&vaAz+ zS68kvKoCqRgQJ@WdWiFjp(_6Ty_@b>QvZ_Hv;3oJC?^!E+ zTz1^PE*xD?GTJ9w$wxpTZGIt>2}|J&5l}LXX>J~9DYqkRE6HkoyrRvN++;g(`m#<( ztQGwp%6lAnny!CuVu&N2tHS()?7UFmeel8HSgD6%GWu<9_oN^wd74m`W3jHg+@ccF znkq-87Y029d~|}}8Wl*rfaR!1jhZ3f3*K*AOx3v6Y+?OodqX}Ah*`v`4kQ{9+Ppm? z8y4Q(^t3ro(F&n6oaSIfR5n*=mNdgUR;@rO!>NRL%KdpTX0DNl@z^KJ4k)4K6d`OL z?fdSn0cTR-#9*vN{6zJYf}Wvw=VNSG%%}gw?UPQT@zGtvWc1pfmM5RLH8lrd!Pjry ztj5`gF!(p#MJJSkn|zNa3QB0J)YvR93a`iBm-gjv{|f)9sgL z=Pqv-X4p9tr`H~7W|+|?adNHWWHcY7QWUqo%6P~r*67t3f*a`#&pB;tUu+tBPWL2j7*)+x?0gwzdw zl=yDdUdn`Frh1|3J^pz5Ct(H(f3emu;T*p+Wv6KQ)5;nX(@&~1IE$a&)-7gEFI8NL zaSs6C07(KR*V3T!S{NrotDl<(n-Js%4)Lx$9o=v#0vGcG4W)_#sI?vRH1&^-Xepy3 zQHYor;!N$Tl)tEY|L*r0N)-~n-b=<*?|B}iHiZ%93rG!CbiCD+U?4o>e3q~?cJ4WW z*{w>doh65(r{u7yx77)X?C+a(63ydRT0%CguI|nuiBrTXf0INiTCOp`+YIG2o{>fK zk(7IQIz^Ehf5*CpvP~6ptculAbmMkU_sg}3;40BWy}WRJ``!ay2xq%Cx&3zd)wrFcXs3EYa+W>OKGgGgPCD>7FkAZ! zrnaq6qN6KTCo=W-(N5{W8glED5NWg$p0E&A1UF}h=%b-0ofx#o?mLM0VUqczK>{E- zgU{vNV-2Soab?!1z9Kpe<>dDE;q(Mib7;dtkW{5P=^>|FC_UV~Ei*WGxpz!^WhY=h zEC+G{y40NwtG4{u zd5K||iK&gX2K#moscO6b)=FQBL?!B|iPQjZk-!I9G@S!(k>uu}i8f>Dw!qxH5FAv1 zQ*rt0_(@n_O8=bUsh8fP9}& zckKaafva^yadPi#%kbRy9Znvt&N{RUPwKVfqZO+ocsgewcO~)XI5{bir}FF85Fp}} z=ptA&@7{Q_`(jWUfPaHo!Xluj_4`YFpojGyJcXj70c&eakwk67R6)?g1w`%vfU{)Q z57wN|a2Prb>H*>qe!?R=ZtIZdEdHyFRz*aVHaW1su@p(_76!>dV?w6OCIj5^e|Vx*4u`sN?%c0kenrHT$E_*^iLBOtvC%jYg4(kSz~nwxkeL|Ywg)K8g+ie zb^-o+shvbHauG2|7SKOyppc!f41MC&D$hwmR+aSmca`Yb{RP`cgiY0M4-HO&cFn8Y zV^}hXCSf0+%j8Q{Zd=|;s+Q38T_Y{9wMa-9X~qX-4L%!slVue%VYJTK{#oaie5B1u zCwXD5I!v|iPb5=7S1TEwfjl%lv3dzTxBTp<%Re?249-qWwY6-u7RThSsP!Z<1}wj_ z&s=1>iJ^73_r`gjl|w#0l&Ww=HiRTMxO)uO!Ej-WA>ss!1C`m0z!Hi;3`15thIaD+ zGgB5>V`ROmJv8+Nfa+#*R^w9X-dp~y1gqOuU=$p=(G=wdz&4p}^lnFQF_2I-=g=zW z<{`oagS;sjjtf3PiwxBS_pXkYZc`I-A9aR1(eD9#{#8&l5|_TOYnkZsLXOnet6G8Z z?Jud*(cK|Q+T?OeJ*gLfk?}p;#6i;W_U<^jW6=PC_3UUfa{m0W!=|@kO0dRAl{h~H zHIE3BIBMV39A4>pKFd2Q^bcfHQ=~+0`uFh9OYlPq4k8h2C1-F^89~i~2BdsaXAmkUs%F)K%QK5A@PMqiakpqaqeE#aJ<7zBEU`V)oo&ORdBXAvSt$$W2O z3jss&j?V*>D6n!TM1*!0+a}E-%9A?IJgbEI9$IwnKW?$a0ZwK#6Ek68QOajfXuN;c zOb_d+o2--81*J>#rq;T}SP*H^iGwy?o|Lx9wt60W?H+mTUntp?-Zy@d!7HG=Y%!;& z&$g!_;)6h6-ywlBYR7HgMrmDa-96@dL<0^<&xTp&wAt((Kx}>Qkq*IXvQM>3m@*v* zYl}OLXSWggg+MA+{CD@6>DKGJy5^{sJDXg*mS!`g8*N_p!_xU}d^@8r$HjF>0IrCN zc0Y|&{4hpEn3wlMjsB0?S@gGOKnf6=ngjMXC=VoK5EPPP=Si8=N=;eX3IWFz?7$ z3xh~n%7%)ADLn&?XFUZ!&&GyUruu*1!hmnJjwCPK99~00_6`T#U^?#cKPhE0c|;h&`Y%$2{)$ba>^{@21T)56Y>Ey zymFBkKt0cndz>9mCbtzg*+bAk9%_q4pKxq>&um<8j|xWv=cxiSG7V+NlB&vwuto`r z6hm{7R;8N$S5Ixw$+BKTx?fMp2@6mg2NBfT794dVfd;Asy=U!5$4(s#CwD#InhiQ) ztb`uT%t8PPYO$XUm$nWSq|J*qAn&D4@JsHdz5rlyWWw?m!D;~OF@zZ$EYNAbuWpy8TRiOoX^HD-IptHLyR^BZd zgO?68<%qpYKjlJXM68hXInN+0TZR=-G~}~L8wJErRWz)G`XlVWwb=0qLJ!prEVx^C z+T`0y&tl=_xs$iOeXBr1#=d-B>N8DZBV1}`JsFwsyN~R$N{PvX=6Kbua`6U>&%%Q+ ztX1Ks=egW@yjpG+rer@&k7%i?!o!fVK~H*tww3_Jc=j;Sb2KjPeSq8^(?#j+^h8%- zLz4pFk^@=*tUgI%r1d}{(q{Iwz&A8QT77GG1wI9POh_?o6Z+<`O;(*Qir~W4j~n5U z0V`+o11G$_)cfJ^PDCDW+!kcMz#Fp#`%@SMRHhuxQ^GAeDZ+J+W4JDy>N6`&|HM&y8%;80} z?fs|zFd_$dFRvh6^X(a9yf4Nr&8{-NszwKJSvi3Y`u0y`y|$TcBA__z+|Zz2qDksX z3ut*Fx5;spr-)7tb0WJLM{JNtgiSynazELzV3Iy=y^+=;z` z2n9~?5RYJ%@-o%TY2ls@$lf;VTCr|YQia1}sH`<+py@e5XB$4&^VO+8CoNDbwC?~I z1LQh<=Rh#z>yi|XQos75L2pZjcOSsWK^kG^O{Y#fLnW@c%fM1Vfr<*UKGNXRy>&-O zrM#hBodC?ZP6S389-rI;%32h=lBD;C^H|-`5Yo5F{oeCW3FB5fpaFl`N^8s-7T(SVI4mHMlma4XZBoYD zwE)WT>)FjV4j>P4sQRV+;iv{{!_YlI zF1EHb2V@au2)EJGz~C_n{IR|po`jJ?YgDz~%9+Trg=;qb{R&KgACnL(x4%{8UE6a*-&(4WeCc%CrSOGYs8D zkpewMYb+YjE)fuTfle{=Chp;R(#D-HM$K@eH!KNktx zz}*J{ejxF7%C2iD7%AxPN62BO0JrW1=*sy&z?7w_%ZfPX;zT$R31Rv0Hu?P5(ZpkB z7B&e`cX%W}sfY0o4=OTnqZUd9; zZsXWx41tQxSdPc}8~i5IDT!GzA>)Ul75dJ9g!C!?--NC z?|cIQ=Mw2BdD)viWCvwD+|ItDfm>i9V=k%z+^YFHmlujcu$-MxBr@bhUiS$yI!`u!C|wN_gBBnU#9jO zFC@N^PN@VJz(0S3UdU!*G!VFY6Y+p;lARsu8Nz?hQ629pdL5yl^!NBllKPI(o5ApOdiC6DWRZ%M>fp?vK!7^tY)q0z{huqhQ-g<0m=Ss z23DMe##d%prN>#*uZq%gsu6ao^f**D+DHaxYaQQSL)?@TTOi~|=Yiz>2TN``67*t2 zB5A;FEUY#Qv3j+4UOGCPm{L$?d?DP@y`iZa?Zz|Uck0-l$b_^ ze>pVQI7YHF2!L z+{S;sCL);rd7OVQa`D@CTNMzOPVs-;@_&7nCFGww|35ye(q;L-r~Us=2xJ5M&y6Pg zYdIe8Lt1lmu`@XA4WhruMcDe!i*i<>2#8Pr0VrAE{~8-Z@|Y(r=-;V9u@9;LvyI(V z`hREZU83gu&-QinI{$9&c8TxfzjHY+={(8(cdxvUZKjLPNr#;&gJB3SHw~d|S>F3EGuT(U zwBuilVmi04YS;wL)CVH>^$tGm_B;J3n3P6RkXE00n%H_ zpbji<_FN4gl(1O=Dk^!KN~*8zyFOGns11JE9Q!tm04w{JFZ@webV6joqMaX6Gbjro zFW10)hy5In&argZq_1x>Aa{DA8 z51xgoJM<0Dd?Qh3YCgVVFJC0pxgFgT7Geq{qPHttq&mA^X65HsNT!Nr!I{lB*>v1w zR!OW684@J!I(+s%=7>q{^eVC&9Sq$6j%d_T#$cYCRX%v&w9~VvI4l1-${0c8?`PKE zO+JGLN(?BByn@`nfeN_g4S;kbm)zwp@_4H_%G>V3`F!k&n^saK%ri7yhS>>v>whqk zLg``sXFhP%quz96$%Ypb~|Z=SJ~ z5jsosG){ft2~twRaWAGw5T{m4)ZTADa+kddc}3Xe*{Ntb;=^-nLO)jtHrS$LD-Ki6 zf{z+j6($6>HG&jn+nO)0z&bG}jZLyEY8FG)e?28@vVOpEuf}EqO*|R3F}-3w!@>&} z;pm@VtK%i>FFa`R`@C1Bpucc;&Y~MmbK|wM5a?j;KID@B()=yYlxEymt`YPz#`FZI&Fc|yD4c&G0iu}qeyTsD^C^D#J%k|ioCr!|lwJI&+>GE^`lNeRR z17edocszQQhFM>#K(6N7M|VNx1B<`1b@hvxWlDuXt7-i9U3;Wn`t!T`^7FxCAb0A> zA?GOrZL|$q>v8?!sHmDPhx;&%h>hW-V2@`3nff^nu^CFL9tZKOh%tLX5U5H1=;$E! z`^b}(EB4O}F}=FNW9~!9Xr4>=E2HWBQ2Q8>(8gHWW5thZphsGum&eRMMcF7>yhCTU@|=}7drJs(j|$XPA@?`4W@AoEaNUmag5se+ zDzTzM%;U6{Sqg0Gn=NvxvivnSXBgq_)Ss>(d_NWVbg*7E?zv<1M^p@lf7C~*fq;VaN_G-^eYTqZ*hN>! z94T|tvSK-4Iz%{rd!D_bkCCCZtpH(rxE@IIHOlB{R-@`aC#5vGl_Gz(nVfkA2*X(P zi-uxLMkhKGy%Tf@k0xSq&z5}Re#BBNShyV6Zg$B__^>v+JuliVTcJ@pWJWi%_yz(*^91J#R(EAFJ*K7d^ zm+hEjn`W5}maYojj$R>db4+kouBWo`2eoR0{S!Q*!+F4NemFtZYl|&IJ27!(Y3uEn zzQ@*m#sx0=iP@z;V_1C45^ZZeGm%0j+KxXTGsXvc3Fzs%`em^J<;pAR&+F6zh!IK(lOt78zeu zN8P^96$YMbcbMGe^+#WsO-&>LG_kjYGHu}*8}By`R@sve+xu;_;-|6(RXk?n>9+bv zmJVtm4jT)O0hsl4se)OTEeIrShacbKdPcoU=R&7(t6Y9+l4!L%%Q~~3i6?b)-2?34 z?;M%jz;zYk@EIn_8CY=Mv(|7Da$k7z4_@e8qVw(=yA+m!~{(j&q#K7qY=)7`8 z(@ffN&N}rqAj+VkqBIaYbhVtBJ$wQ|ViL za$C&9X5oTr;YY)GzB)q94~#PPf^Ml^7|@Ehu@mlP5V)4if0JMT!fWLZ{S*Xc_gTnG zyW`thlfKInjaIcDRLOlmUUUGW3k>MoGB3g#?gs72$h--=qgB4c_G`ui7uDLz1@@T$ zuBe(I(c+In54`OA&Bj?dvg!{lq8|&&9LvivVh0s(&Ci4hSDGUkjgIQ=sqQdhr56Yu zMlE{~Mdf2-rbh!k^V&_4>q)#P`_~GpuLz7_L%6eiv-Z(vUepIS+%DSq`MSHpQaMowK z+Qz|ks`gJ)qro9Im8@p6CPLP!QD@kvmBK6gkkDlU6-4>O8JLhvJ)mEEa870NWK_~~9LNk6s^{Y2n?^T(`b+dheDM;LpgEL;2 z;)r2WrK%5J?%tdYdujan&v+W?v^hG5fb!=wwu}mv?NFC^+BF;1`Q+)OahMQUqNgMN ztJ5f5LZZxYyDi~M3G#YXFH`j0U%QLRnSFjw<2FI&v9EELI)fYVRwvU?Him_st z3-Qwy>Zb{168`0(W${n5Hk(D7%Sr2%K!gZceuXKx-Ci{^GIegXe1U^2yy(_L^m5l5 z*=Bk(##M0TPp?k^Y?ytuwiD=MV!fU?MqKWFV}&c2gas~OcC^k$D&6}mg%w_RtV^4% zrg_;wG~5@=f*RvZ1oY(Y^TIslw~9@yAp(!G^gOWp0be(5nkHtO?n_-#cqQ|;Q_S(K z_Hy6mr|K&DlUC!lhVEF-t8ga$2^c@ItzhrMbw;=$HZEMJodOpt32>bP*BRnC1IJ?*m#9?0+M6Iu>`)8%NG*M-@A> z9Zr)Pd|KlLZX7gRD<6JH8{B|pd+)MdU-((-ENPX>hrsS#l$3Dd4A1^Uf zWD3A_i|!byCVCUvW8zE{tXC7$@;rY=@7s*E z1ZRR?h+Z0s%>&2P9)?nEP2r*SN5|&8o=YA_spn>;wWxq;y8jsgD8cDdxf5 z^UaaCLs*z5>)Cewb=hboHA_7>U_-KkN@3^<;+~J)aq^zNEfbqBOE0>& z`^GPfO(QbgBCa|5r-Wp7oeX2}XN1QqL5Xfz8PlY23A?In&OpVc%khsL6kn9+B+e5J zNJr_E)3mOw0!zqzxrm)QO{8fb&96sYaWQGjUr`!fOU@^HAa|L!)O2Dew&*M3trm+&!1uh&r8J_=80w zkapa;^g`t+=vm)Rx4hS9H*h~pR?&WFE}H}N@}_l~u#e=OF&l4a1a$RC)_v-2>(JtC zNIReZnj29be_DNe2H$j}iF;#?xh`VPf=Bu7XBC#jTGMP-HvGspR8=~;=0FXAo z;A53DH2l+~IKBCmZl$J}%S%@)I1zI0;!566j9gSjn1j@GbMvI)%VF8F9pb{=m)GCx@p8*G)DBcPqGY%6BVuXd^) zR(*WnepZ{_5bV=BA5`&EobT|(NqV+@E_ajs+JNDQ#=Q1!Z?&Fx&o!1w0`)(hs5t{6 z!Yt#vfBBwz0h`u`) zHsnKm*LnMe8(L3p{KDD9(&QKE=su7hZU(}pXr>z?G#LBIbFECIue&AF+s9g`#j@w} zwzocp7viqkYJxgmkFLw0o0qV$S^DyP>cXdd>bx|2@a}SSXYFE2AyJ$0p1Qgg9?twm zrur1|HvBh(LccH7zZpDd6oAq^Hsl>3luhr5aYMe8_g~Vp{^F`+R#Jz_e}DOmy!>@u z9$}~dthUnf)^*IFQ1w|CK+?XZFeF$++j&%{v7bifH?I5>=~l_IkkIJ^Gq(ROY5m7_ zhG?Ff)CsbZjh}5czD&q@Y4w}c-+x?>jk$|y-ZcK@&fPT|@5~5jE9Mbzy?MV}*I>E@ zHa(|7PRU+&`=wBfnCBD4x-cF@1xPYRd2ip^FYz)lx&0h~NqQ3tHO@S*tMkJBTd)!{)C z)*9<7luq?4b79^t@!BFSDqUYL#1`sMV}u^;XVdI^*#l?(EQn{m9$@5U-7X8v@9Njo zU&w0c3acpD5+DQY2q$3sNB4wV%8G9Qw7BgUH>IzRq)M{sS{^rsA-(+p5}ypxh=AJb z+=n3~^-o{;oZEbUFNR$#DgtUV{2^%Yx_?)k_fYOTpvRnNvvzj&%S&;6M%BJ}2|pp( zlsz$-F(p;+l5n*3(tO*B2asqMa4B-{T`Q`=h2_nPFZvZWR^6*l;Rz{gtZ(~?Q5}30 z%H-s0R*E}%87!y1Ln=Qz(IEsRmx4@+9S?xCuvH0F9xttHtK5Qss9KlQG2rc$xBg2; zLiwM7EL)7^RguBMwk5wLUmOATCKwSJdYcZnVl?M+_GlOm6%F6Upepw?X{u8MIDW_} zt6G~LjG^p{)4ABRtzra?%7)^C*IPLYSp?ME{}GMsn*|0cqe0E>Z==@py#P+Lv0~qr z<6>%dcc4Of>whn@0`@?q&$#fZ z%cU}iHRl52PMlQQ+BLOn*C@9WbbZy2l%hL! zR_p(6>8*V`@={ojAN1)29M=z23ox0pPZnoyc;&Sm_&)@+^{07~Al9`auQ4f^xsy{$ zN{UYDzXikp$etV)>cY-XVCUuzZmz!4ZD;A<;Z})CoMW?oZQT^PMs#s{RS>GF)uJ<; zmA+U{a>rK1>?+Vz01755-(2l5`*!%H&D3 z2h5ECHrzka!2rti&@30Y5`Y2yQ}cQdo&i@hHvh4*JNZEKR&L5{?DvDHpYqe0Y`$>4 z*Ecrx-UFbLl8H%??clgIoMb$ToOG#pa4emiV8AC+aMTrZi+5Vw=!r<&gvLw$93hZq z$;09?Iw~VfWvS~6xgubSLG*-$)2mNXT08T9aBNAbpbNhpru_Ne0&~{^o7TcbD0^Dv z9GyIh&9{xd4^6W>xTJsL_Aq%f7Fk1q&7Y_5=;wSOm2AhX>_GXog&%jP;1;($j#N}; z^YEN^y5wNpkC!TQ!(L5=yF<0RR4c0Ct)p_5a4C+^y9<7bn ziaz!Yuraq0Q8A)pYCM3E8pZ+bI*_I>k{l_|xUtv9%hh98u)Ub@{6O z;Y4}+m+`6j(GzLY7lP~N1Fa4;A{ssKNSv_WR*l#ey4y2#hY?ljZSx&-8(p92ApHWL zo*kUaz1$mrGKJ259A@uM~>qd9#G^oAo)e1Os_(5%@osB4zwJfCtJ zxPA=;h@Pb{z=~DJ`=`bZ80Pi7B$<%0E)Ff}&TS@&Q%4pEVhlOY(71Y%NS{3-&;A?!LD4;c6Y| zD1{r&BpebGYU%4fNNi0vYRvAqa}fp9ZOmNjFJQ+QoYwDLt~G#M^9Z57{ki98OsIaoiZTjG6f5nvLTrlS9`#POlx8?v(5yTAvU~8lIOJCPHMz)Fi zt`AM4w|S5I${oVom9fxmlL|x_Zb`b4Vr>4CqYy3dx0&9Z{Yhc3&$A&Z%sLql-}2x2gnL+3U0t&>x# zn|gvE6?NQ1H^3exEE&U$i^4Xm<0sn)PuS&r@A&UbW(R8DN5`5p5g=WF6R0 zUZYktn>u=<8k;57U-l!7=n6%lYi?`+1*nbWU}=5FU+Fb}p&-8Ldpl0pWbPJ+SwPoO z1yHefQ|*5~OZb#R)hmkDQ8z`eb^s;Y9>2BV0D<%i>dV4@pL~ z>U%#jel>X|LkMaSksqskV*KK&k*v0{#p@Swoo{+SASaf)Pft{-jH|B*Uw?!y@y48n z455$gB>LL1cnO=H!lZ&Us$w+&qeaorSKTtba9{DQZ@;{)ask(JH8Ucau2&^%SGvHp zfPj!kJb*b?9JFZJcJ;b>mCkmJ>|T^iq2Yf4Z43r#hFilS?%G29-fKbP`e|+=;u0zg zW4N9XRlH_Ai(tT`M;u^QK-Kv{2VGf$`|xLe@G4CHU0i^rQ^wzpp;kR$OChLmPGr7K zM{PAh(r*pMef3KR@n7+2qVqxXLs6N4{Lb_D^>g`|Pd-*8v{csG(p*UIxAEBs=wSS8 zO5zyfAJo~#S<+K&dr#b4EEE1xQeB{nu8H(lBlfEPA2dPZ&)lXBSV2Y4tfokxkUT&9 z|KJGL-M`6*oYPS-R0G1hz<8lHqrhp=9997-`q)tPr5r{^%){iFtBh|+FQHY+-4`1Z z=O$=^kQKd5 z`;EWf-jTh@TUd{at7$Q_IXdVGqd?rBS?lm3&)JEMBSClSt32W&d@!qSE;UT$QEO!r zD(LYruVv@DXBlc2`TPjSJt0VTiFxtQkY)=nYr?vtiJW4gR>o|AqEA}ahcTcC|Fdo{ zybyW*=6gqAhqm>BOqQh6h4!f!qt3m$ndL=Ptr`=X+-U?+}IY3zI@#Fb>O`C?Ncj~#U)Xw8Se$udOiW9$)(L3h_afp;}C_(i#nO!6l2zE zU~(6c;iLqEa3w^*vpy!8+qDLDk#JtaOq91&Q`!hi{?@$ROu?Pr~$iEpJs#t?<33d z<@-R_{maL)71@h3UwWyU`|ef+0hm*hXkr9*FYxOp@&ldy@bXF=-?`3QddLt#tp@W6 zu|DY?cQk3@E7aNscF9$gF}-PE5`W(LzowkOpnLIAM*(VvSh;8=mHYZeT=8svvzEY( zK7aXtzHLOS(zh%l=CllSB?6pkaSC*Eb+c_nf`c$wE{CC<1VPEUKQ4WYRcp_`IOliJ z|8fp41OdGKzfHe5?`p!^Nh0pxVGg)uJO6)}C>MX|1)TpMAR@Iaab9ysmki5YrkwS) z^XUO3r2la|-)uTj4LE~CPSTb*86DCe0-sxFYFHlKl3F<(fW!kl?S#k#&Km^%3&eEk z(#IF_p$B~D-1f?aGmLA=J48tdfMWvM2U7WK-~E?lpZ8Ht(jYyl0zwqAN0NTI+`z&G z0I!dhpnqXuz!J5|C)oM08c^)(mlnm{t9FFUSyr z%}kkW3}?eon6FnOob%Gl;@!|upDj!A@&Av#_l#?5`_@KLH=-b-LPSBp1}F%KNN<8v z=@NQVKdh`!W`9PnTym3GaZ@!659D8HS)J$p&s?!F!ZfQh8dA zM9#jXgOt#DZ*e^Q(0aktj?!7fgQ;3%0Kz4RStIviU%zYT1R z*WsZi#GaE2HDiY`&iZTySsD;bkEcJpJiEcEPpvzFMYxxw*qkE7)6H)TMLLD4(1zP_6(dF_X{{3*^^_4*Rj-V<#|oYNFuj@+k9 z#aezyD1D?X{=qG@8G+`=fiQ(Qc)p9uT}*Q;Zh0)%i~R`bUczJWmy~ILqV|mcSy}Zt zzSndaTg^_pY7?{>fPmGT_XMF=4lanq=fCiFKo*~1a@;0zfM8T#IY~&kU_hUaN~av&lnZT*t;LO+!fV2xyqy-$YUYKcj5C32l(R^y9 z9A_mIt@}xuT>Y+QpA8^AEq~4_pzHTIwe}3f?qJXrpC_u1PL}|b0hqgq>rIiyrJD|s zb3jGql`6Fg!&1*|l{v41@bBpp^SU)aO+cqs>}W8fZyB#l_W4`)J0#Rjv7A;W&AWF8 znvaxcx3S%c^FKB?9QF@MkvPc-ouY$NQey^@Fz7s>pB=#a?YF{6SwE|OC9{`aqdf3x zux_)XM9moDyr_SS*4ZIFwg1&_;Q)lV>7otmEZ=G0*LJ4r^iCm1FAR#5PWdT^u{QC@ z7CY6*IjFs|X9;V8tR;KS7qfJJ2;gy8hRl#y4;&zZVkqj)FMYg-9~2f6;egzveSzB# zVx|FzJhQ+F&L0eDfO=5tWezK>kTf|(Hlf-($rmNnI#o=r8;F#iD2X6L+Mm&J{Cz$d z71ko^_~`!8DWuCV+ZV81qdgb%EhP}#$sHM*1YY7ZUF#8ddYcEC(3A+uEvu&k>$n1x7%@m#yq@>%Q#cUqI=p+!=#%*;p!ihs*neBbUw9r$n(HmGAF73t zk_f*VJx_MqNsn9x8jItAEr~H`inoT|Pc)0}@=x$QYC6?1PBtaXBDByoVac3He2@9R zX=~#SSCX_ASz28LkrSruLO#G&s6FdVGyR%7T+Y*axiAZbg9{9wRK@wgzK%<6=X&Ms zCXZg73?J>gcYLoCKD=P`jtT^%r}LEWLT#6joi4QzNfCjxArBJHbY@pLrh&3y3-_tT ze_3}BL;b#ZzGnu+n;nY!tjI|d)wj?rP5!ipIfd4S=K31X#01# zXIKLTpUtyW%4K}4r<>OMi74yHw?*2 z(VL5;D$!E@I-KO~v#^QQN3gy5@uB|}o+$%QEvM7b-m^-#2|J(puGL+q{k^&IT6c}p zkl_Z*{Hqd}MbX)~2NF&EnC!5|;gR&P&ci6~cW4Q2e(Hs@PtWjV#dF)?tCHNii>Nxd z{zgrNk<XLMnfcFvucPboy=YE}23A+@Un~X>`rS?VxU28xX#H0=$R_UNyHqn`WO}|!O(d0nN*o~Am@|ciOdn#_!`(=` z4g@3syP;Q0sU3kB1=98SCM@hXF((Zr=a~MXT@+fHLc|LlRC_yg}z-r_5)kF?T zr73`wLK*Zx2~(erR~P7UN;uujG2WSOwKtzf4T_39-iKK;>7|PrlSu2+SbyNOHxfy- zh4j+{>ygPwm3x;@Xx&?vJXr&5e*1;)72CdmYu9(u&9BAXz4Gc#+M~8D*3hgpHlh2J z7jo_f^4+`qm-N%Li#LR+=IHM7np^CjG(}fzmb}vPaC38OjD?7^L=nv7L`H$9O1o(p zq4BFF&Eitc!_RLby_#{nvA2-L;oL(E4vX~EqZ;M%ay86$%31b-PMj_g{(9(6EZc#ZscQ&yMUBTC{k=Ued zP>@fx%;|59=zPCyZM*5Z*wUoT>5&$L#lL8cHQ24)a8Kpdjw^ArF1nDCURtGTQBr9h zW^K<%^&Go51ME!W*A!lO3FWnk*48#$^^A$>TSgcatagUjSQ-nwR(HilsIx3Dnm=!y-b4ET!|Ud+S!d}>^?%T-Jojfp%>bcy_lSi(dDL;A@FcYY=7rizjw*`7=h z+1%>H;?5l;%*`9;9UoT%vk+b=w6xt+UPPrp=ZBm}r`^4%m55KKTMR2=8u;1>SC~>o zH4j}RM|$APW>>CsdiAZTt2-I-n?Of!7RofWM80@QkLX}@{H968;HUhs=kRaM>%saB z3vm@4MVN(KWO+0`QbA6O_a7J^QGEw#jfd6CTYClHzGu*qxBSp9ba_DCsdifeBSP~r zGo&UP5hdPf!~Wyq@cxC>#}nirggs-aH=IybEZ%af&u8ONyqVB;I?{)MZ`(P|`Bqf) z`4tKyV<_76ROGl(pl?NJ?l#Kv3(k%O$(v?&^%@3k(9^1u`V?7TQas2~$wJ#lGCmj} zMxv^`uvb}Zz|ee67je2z(_>3|of{HkrEPN^`4P{#Yn9K^N`)LX&VPoYUZP1LVbmLGfDd-P)wY0Yf_Q-KX~H<9957^l418MndoC_-#(D(QMks!-_~TE+e8;{SDYlXUUOM47!%H=V%ebFAl5e-J5}K80Cd%)Qzre@7DG&2Gak{2PFr|6`~8LBkW_wfNu-)hn?f8SEBiPX+;T7f5vq@~)xERQ@1%SrW>o%zG7 z3rX*|i;61HDUYzY(?&b%afVzbo&)tJ!;99!7s*yTjMe9Kp2~viOhZg=mbA`6`&v9V z2X}A7>D97p(E<|Db==lcvZi*H(nx03q2G$pXY)1?PV;3dAoQ8avxqrc5rYB(TT7ma zB)-TSzgmb;ix}yx*0CXU$aK2A7XCy_@@g*R+anqMTMNKT%Y!UVA_qwjr9$Yyo_A&|KDqRrYu@%=yi7Fvq^t9FYr(a6P@-?}BFz1fZ$)}3IxUnw=jNRQ(L#9b!p9#A zyEP3jiLSCX?~@WTn+g|nU)B5dYYiGlX&E6XIgXj>X@$@vfW#wJfKvEw+sL zB!;*2x!1`?fnjzJ%oXK zzw980_-%$V45SU6LM2CRIu+4nBStwlRzjO^f(=`oln(i3H3o@cZhPaGjar;IkEsHq zB)IS`=P|otCfW1KD)Af~FN>Y*s|EGgdYQG}<`c9o(>#nsIq*DWl$7tVAz1p`!PiQ9 zYrQ%s3I@hp<3}b%s^>m59&+gMs^wPi^7~mOm#B`EW>*Q1Y};y&N-xxZfwtzqoAl2y zrcQ(w&Giu`N%&_ff|ICXo7|d{!=7$C((G(vLg|vB4-unoP!Plye!2QFM{%v>2b5XD zYWa@_Eqk%}~{$rH(MRe2~XZ@(t&x*uIJbKABLGmBYYd#@9Rwp7q8MEyKDC}YMT z2Q$-KH)gQ<0MZ$8V_FZzQpJ_pO$QbI)@ZZTT1~Zy8DsE|``aJyQ6` zkAAtKnmFSedMHz1>){p9^88C)*d!QSq)2N#MC;er^3X>SrzJ3PTK5V{8Zx}L9n&d> zK{fDAS7$=fN#)#sH8xXNylP|WUCqZcm9k<6DRW*3L_sg@Mfpp6$SqPbQjH<$?899a(OJWI~^(yjx$*vF^i`1T6%w|CERnEf|EfSn+*4_z zgM9yj=gWiF=78g=ZL@0JOFU`sb{*Q*w?anNnIq^IeeGPM9#!GcXoXvJqA3 z7WHX+0+~8m9a0;B;UW@V+?jt|w6#m%CD&4Svdc7vf%>Qqg%EChG!NbDjiMFvPBJRu zmz8OfDAtw|glF4ehj9XBk4A?;Hnp?(XK@AYJ82udF2Tba{H_M6%b!HnmCBjiTaZtB zu>%|~t6lP&@+sBxad_djmcK$I$R^&nenuML-u3a4DM)g0Nd~dct?RVz_IhXpEu#D2 zqh?e3ZY$afja%Cay-ucmCh4a=LBRqNgLMOTTYPiNDqG_VFzSL0ipEa~37Oyn)v5*0 zFBq-Q$Ho(_VSKojH&&%S)SM$J8}e>T>zB1`jk9>843JJos;6UB{T{Jb&4eHW3;9Bn z98(#yFQtN@5cL=;jvF)k%yrbrJKvhHg7&MU0eW+0@^hj%(Nm+c07@uoLCZ5h+$U0C zyotTQ{qF3lJ4=iWWAcjd#wsYgRC2uHFN+#GTAe#1pML0u;*pOF!7+?x=}fcozT_ZC zRM=&L#tkvHE~OF3ERKZIBW^r}h8D)p*Gl9)4dy@`(#dj%vU6tR8s-wJ9O z>`AF6h&)1F=8xI}ZGI!M5|wKC66hj5rPoo#P&U`u*a_ffUgd z?!=_T}gBaU%htWOeXh zyEa~mtpTC;cZx)84@vG-k&lftk=31Dqqgfr@4UO;vd3G04#~0kavL{2bM*-kp1fxN z;DMxqo-S89H#Nwp*~UA<5o6tSemNdt6uf8(^TFR)7|v4ZE0;M18Gk}XJ_(MVp-f8Se$cukvs64 zpSZ7&&cy_1$Z``vC+4!zz5WxTb#t*-mwjwr735H$djkNtQD}7`J}FW+fG04t2wW=1 zwCjb{ICk8$D;3HQ+jBc-0vIX)5N8^iqSGw24N@q|%2AZpURu3O+(@0-aw4)Nq!QE12Q)_fD#rU*j?VXN=SO=Gfjz> zbO!Eir0?R3U{g)s%rG22;Z;k@Ofe(-QW5?gWe(D+KM|R1HI_;LWdIR^ZJ(=gi~N{* zP7L~v|KyI(@o%52<8;!=1w!m1%rx2~#W!`>@GkGdvU~*_U~X5CyK3^ozrod46o`&1 z{GxRM>mW)gaur>AgYlUVxZ^^m)~6F+dFp{IRg&Q>`n>EluiLa0&s?U%Wl04quh8N9 zVmR4#cfjfaEa~86M&0a&1Y2Omv2BgXf+SeWvdTbITGq6IQ;Qz;{&Q(oE6$1c^G3{1 zC*HHbkbEhhkDeTKN%=lG$e8kBK!bFU5q!pHtenrbNxW-eH(l+nEv<93Nh)ij@0EhJ zV@rzD$ouS^!>~r3H?Lv_8o;^l^`(Ly)*9*bqkF-+Pdi+{nm;swf}o?Pz07R9=K{UB zii(8Y4axbI$#+Wms9MNDD)P0y0p)k0%X~e=665`^!qC{TtGrTg~?5WiwV4-Ww zMJ^7atgEMs4CPNUZX=LTVY9*kjltH#Y@&`FAc0ecNG8=;S8p&Z>Ovs7cES@53tWvoVk8P3O)1r8+BR8%W~m@CH4-51X?mybc1b8BXG*hDH6r||DGG3?uZA#V)o%+t1x-`ZF zVn$hWm>B21GCU3WD!^v;%gW@`8c?>iak-05s*JZeZyVfL`#bHCU5mA>RMEHGe#^q} z{Zhc=O(tw}WCT#oB0I?Hl*o`Bad?d{&i~Q}3xDO?!idmIS0I!e;U83>(Co1=k=J_p zln*QbzSK>2%p?qc9M8+74JBlRp4jkd4b)E6nRWGqo#SFriU@s4G3FRl%w9lA9MT2t zcP{4JG7T#~DSF!AaTvFc8_&sSWqBlt_Ko2~oebHLi8yi;Sy~+`7NVZ7tW?oXHoFCf z&X`PPKd?Oxz57-I$o37+gywNj)<4^)X; z{90q!urtqt<6X(Yy~NMUlxKeHoNeM=K<8eM%1c@QCrqKG<7xS|qpAKDG1Zh<`liV0 zV`mb3vz+iO%9FqtrBB5nz!+<)qAxg5bIem{1#8^9hvr_H33fBQ^L# zV`F}{4}T=-1!n3ZWB-PE)|o%ndsUg$>KfJKkvmHmXNf%bqVZBrQLCZy+{PMR%t+B< zTba%iZ(P}lgX)T%OST(Iagt7rDI@WB1oCc+Z*W=VV4T)3-v|R()m=YfkTOye9K90H zWoR^&rPwBC{W&_v@2bB!? z{5RbRNLadgaTkk64GeJumYM`3dU>v(EFDq0Z6@I(Z;F+0NFDnfn10g z-6i387%)>!>RO+_7_n-`NXCECUmMS($2RcE-2RiWE|&CFW?M}R zr!rGe>8}Ur!^8Q*;;y>TK%S8Cxjdd+N)A=4#WLZZOkVj8(J7v7U9B6F+SNUD%azn$ zs@BOtRWXu4c1P}J+@YyHsGpCv(6}f7)-j8ruHv1-^xjQ7PjAQS8nC0kquMjh?27c;tkm|avOHe{oYZBLiTjOy zJ$z9#C(bbf6Aajb9%=En_9)`7RZ$eV^Y7Ve%xbleT=}}H&B!h5MNqqiO!lPWI6uD6 z3p)!EsdDXR0Wb|NJ6h+2>pxXud2*W9HjAO+nD@)@oW|IseH<7`aVfxDlx><0{xu1N z8<9NShV|<8wPH1@b#)^``{5=9MxEtK$2EdyVTL3(TeHy(k>4Sr>-T>`L|zlA``WA) z&E%jZj9)w7H@&w_M>0_oJeIEqt;-Ls%M)58RbE1@((hm$Q43?wRK6aoNS=7_`1hMs_h5>xT?$!7Rotn2}bV~2a9%=^j>Cn&I zTb&=HnZy+)q?bw);rE-|q=MkmBhRmi*@WGJ4oqo7^RsC+xhKdy>D8n*X>`A&U~3}2KT?~W08Ill)`^0R<7ESnaan~>Y}PNb=Xt-9K)znrg-H8M!b zf0%#G>&Z8`)%UKuW;eA(Zpk_HR&=UO}fM@{gW zzd5t)f}bq&%C37GDNt`L#olh$Co<@A{AHL^y5p^8A&fpr#R&WQ%~K=V!cJ~y7k`#* zI`BhBLuJ>dhpvAj%z%F)%;BLO&4awWH%nr*HOIe>U;xl1u}{w*1%0n|z<-5Xw(_Hj zD!(qMQB~Mwj%5$8CrR*FMYLT9D9+rbawFVQu;?c!mm$<>6rigPo7YMRmaB#fRjVAu z{3f}jDsD;^pAvhMYhR}lAkg9E0j#TAgFsy0<;=eDj4EU5{Zm^H?xL;}bs}S`8?-^# z_lAcPwz;b=rAnER1EDkBz}e_|#(^2sI3@t8r1ffu5RQw&{3$FT)T<*5-|?yc$XhAd zI+7{MTTJouGQcGqStg;)6d!tF;Ly-_cX>s1a*?RP)>2z0A0^l7@tEM5_+Cg{ELK~51%p6JWhqU_< zfSWyF`(Vq6R4WdQB?0}S;> z|7-5}EHmy5c+~vq0o*@^K`sg#pzMEO+n6IJuW#Z<9>QVBa&V271tR4=@m(@kOW&Y8 zzkSPdB>)8`*J|I|Bk(f)F}@&(5l(&1%c$wqdpSLB9W#qEaK!LpVdGoCLsgAN|zouUgay5;3;tv#~5O1X6u@Nfb`h8o_ZqL*!9GI_9k`Z)+fx&jT#gG|g)w zm$-4*S0g$4vXP#k4dng8fY6l%sn^n&nc=fljGsYH5L_I<@Fldk{Wj|3dXw$!e9!O2 z)2nxTlH5#}Ywp?cb1<_U5@&H6LYlMc*4E3;Iwjm0f=mz=z)Bx|STH@0VV(O!@KO8| z=@tPH^c?Ex)R#jEBt8@+SA$7xfG@smxCvL3N2EZTyM-Bc*2(Z|!)m0X5rv54rz%05 zgw=rH5B+0d#F~OfYHgWJSqMMxQu$1Ie0!y$_sN2TTLEoCRD~Wj2wS@~Eu4}hDw~U3 z#@626)dGLjCi2La8aoWvPCnx@5;B3R^rOeu4I}!~D~=lgTZz=%Bq(A(k%NXn8~P$9 z&_&h3m2J&9&8_Txg8?p#Yn6A{tI%Z|@9(aQ;i%E^spOta;)hV3b&Y8|2rHSV+gXm+ zmsZ&75vt{~UJpDFkA{U_LO*yMddic8R6^FHc^lvHS79Cw}$)Egq(Dh{+dd)xs{n)7Vj$-;>uU(j3gCE~H zIVzSPEwymKA1#udcpGL*O#0rhFd*uA+Am-Zt+6>b!4J2ZH`F#s;}0GW{*Dc3wx>3E zZtE0(R>I0|oO)KUsdy^3K#n!=YZGdIEdFwB?5I(B3^so2nkqx&oI=&WLT-5SU+U^} zO)PZIBsvE3h0pI=2&QOv$nCA3MHSM@F{V zYB{?RYtY%Q^Cn%F>_w*wM~Q+qFFDyaqZ0eWIf3L)n`J7%f&^MN^xEIy9lT^OzWx*G zzXtj{@fxfF0HKKEmg9lb0=i4Cuj5AHz=(}h2tJYOYyj{pWLZ?tAnETd4C6na7a@D` zrB4a7s{!5HzVb7V%b7!U_yyiyN(vv18&>j4?rjdv|N&pPPH ze(;Y&jn~+LNVo9Fj*Lu1ss^LfFztMYZ2q4}N^u#s+q6^7)37c|=K8X;JR3;-%5ssa zD@PFqXL+D8S5iK(RHA|h_5?K+U(gD!1sVgI?OCEjPIfIA_+SC?H7FW@1v=XcF9fyg znhaB6o0pZ*bF)^nU{H>^IJl-7Wy` zIeJI50t$-*{(A(5Uj0+3*m$W$hv&@MUIjbFQ<81}QHFm?AkUioP4$QM_|yFNYyF$w z8uLGm{!`HT|3^8wtph;_X4j;U;5|8wd&Rq>1p_v@Xv35hLfVc z*t4{?9p>jzwQoUR%3TY-wL8=$MhE`C+XL?u6|WR${9?3>m)Ytr*!_eNu<0$sI%iC$sL<1qiKl(Il&jP?vgJeJ&M|F75IF!?_#NYUTdCjPAj2zkGdfOFkn*E6bj z%ywb>96 z|K~13cA6SwCu{Icj=bbLgK-QNVw*f#241nS-9&@P{Pn5Cv8Xdm!8B zD-|?1kSDOP(+}K?g*Z5Cxq*ET^ z^Lx`zr8XCU$y{NE!wol)#h@92|Q~C`{|mr!rfKk zC{>F7c4W%r=EWKNZ0yPoImph=&UNOpV(y(%(d@c9fqg6KMyngsNWiQAz}KFjNIx7N zJe*Tkm%7wF^_MsT?6OdQ1Q7-#7MfF4g0B>FnMnceoBs?7MGTU-YPZ$N8Jzn61cM)8ok!!6X*@~mx80O4)UN+ z*eczrjFbT5t@m9-I#M7O3&-LzuU(5-wK^>3_mw_g7`0g+4s@-4*cf#I*c^gwl4*(f z@^iC|9w1Q6s|BNN{>8Zpir5PZ@A<2;S-!pR*UaEN}!YV+7 zjY^M-?m}+-`aQ7K@2E`l%cf7*vikJ~V}U*lf6NqTd;z62QUOFK1UAZj zIm&MhCrJi=c^+Ej@Kud=NPNMAg@TOi1zH{u*c<1{qt92hSriYwufZ0)=H zy+xvsf^?JyG3JlCCLP0&3zu2~gnI3UCotkXA7FhDh#>o9&#wP1@VWXI$841Wp{R_r zuP@Bhi98cQr=`OeuSQR)j_XV%5;3z_1ji1-Hp zIv4X!GMZ;_8>zo_6@xU+%3V^-y+vd@(>gu~!3nSzS3f{nm)W#N<-r{YnMSGq+=d^u z_JJQ&;?Qvk2vn@Y_b(;`U6)q)35?~-Cev>?eMWyGARTa-9F*4-xNv?u^&2I}tIW|0 z`KS`yhwFjYVn%LlP(Py~2L*ol_EL)c-n1y)*=8VfZa~TZqNU_e@VJa5pBMZN0$&-s zkpFQM<|_nD2EUxo$G)@X54Qk4Q6OCXjq}N25XO7o0|O|Bj9Q&O9H_h@2l?MFqd0x0 z>qnqr|Bt}rrDSaw?>&r&ag>r}Xr_?d|kZ7j5Tfp1iAs z>?eNrwj??HH)(;LVKsHvrH3AMBDy716bRw7es_Sr8?l^?SaC7?L5Wy9ATG$i;<6~E zz@GhN`?cKrw>Q9i2mZxO$#H3Q=C^;j>oN#vf6{O5|9xFqmg(r56Wh@@;xz=p{~|AY ztEv16Jsz7HrBhCVM^7fc;-;NY!LF6#&UM`q348x2{}R=c#xLBdu1|{UYv1O0@2xYb zlF&3O2@A6`KSIm8X7RTU5NktkQVVP#hD2v`1H6}JlemOjqx(PNNEdc;M_9++>`y6r z`;nr^A#-MJaQQl(MMyfAgd*x|xKHM*$v0YXW1C_gd)xnfur^u^JF85*%(z*SUyI#W ziq%(ln)f?tvbtivx5mirZ%{7C%op+Dmp$b#{IFM(M;AhHl(V_qc+4Uq`2@Zfo5xIF zGNa``>>=z9e5UevW&qNnspt(|J@%sl#IVSBG|^+R_ao!2B1%&}w03LfEt4IhSdF?IoBwc&(Zu$dcUFe(T(z{(He1- zT7v4#>Q?8;LBU#De!5)cgpX{g2cGx&C zpYVqd($U<9|2PU(wpri zVXOkfQ!eJJ8y_4~!{hd-sD5(?7JLUNxAQ-7o!MkEO+Fs@ui^`xfAXyBf0doJZ+Ftq z^=cp8ov+LMa6f#2)w6NEg>oMJ?BduvQDskd7jZ@8$T-_JA^*Dwc@j7NWbI-mIXNh~ z6o@>*+AP}d@NfBHGc*!&0inW^BP&~;!>n3~TpFkTFnTTJN5Xlj-MUc&k;Pf}7qKy8 z6D5}mXvZ(l7W_vrd;NfY!bdr6A_m+JFp=b-*~0GvDrmzhw;p#d-~UZA1$ab?ftpo! zSd?d`I)j*eQ(C9p(EV_xzi164Pv)+th}lGHgQqoIY|tBt4CEk1F9-lS%Pr!0x9b8z z?;1;{!+e6r*;>$^_G*pGgdw#UZ^JDO^U8w99heE62Zth#KfT34DuRc#C2O7^j&?;6 zDft}+{ZrXOn??dXJd_2K+M^Qwix6z+!MB*AGB+tQZ3+THZ8rTqHdAx<&j+TlmZ)}m zySj6zkb{bi6Kf*v)PJRdp=#b8ku+SH>d;;|oB(mQ6^8Ft}`|8PsC81(>B z((uM`eqLI+DsNk?;N~#_Rr(s~bJhSN%ox{2P5{_ku^g{XB?fOl-}uRT=H#s<8*f#)V|V z`3RHgpVdzRUkTv#)C~_Q*=Pix$7cfYRDm+vMTh#lrA+SCZ)^8e2KvWV4#!MXro<4M zN~hqw2`Ig#^ni>?7pM9uCaflBJ+8u4sMwmvy^C}llfn~c(~Ti#NCY)5D$Jy&7=2Y7 z<(6dp0mw6(8WFeU~pcyA4gsMXPR2VJ48D2Hr{Z4&-F0Mr{r(4hL`J-com(QP+ zzStEQ(U%BQX|PY!W6YZ1A6pjJX;7_pL9Wcc#18uZyhh#2HIx{iC{or&U@b723uN0? z^WQ~uQZr>4UkG~*3BcTDZ%YSgYBjj>N7puOL0yDo6(vWrUj@2$UUqo*m+g=W4Ar!J ztNbZWFyZP5S${?N$*DWszVV^`7=uxR-zyV@c$FW^%I@bQngMM{w`%(S*D^nhpZ$zG z`O(0h?lVdb(+#Sn^GTljRa-=1gkrUeToI}5WTX`JfFTZFkgyKVTl#t)eQrXgE}G<~ zqS_SK^T%_WJR{mICqz`Gp(J2s-|-F(5Y0C!mEJOZ9HP0BbAHYD^vo!>@%a@t=&yqO z-dlew_}_;qqz*Ky4dom7qy0qp$FgEHd5IauNBL5AqaALdEbn@p^dacd9#PE#KaYx%strUQ(b^iGRl*`z zvh~AX7%@X-p{z4tsaHtv96MGvJDOaSJ^D4NXk^>ObFz@ZJyZOHy_R-_ zSm}17#ZfH>D=z2akcyx~lZqhrIC*w{^s#raKnd^hxJtQ1+<`@M87^_#*hB=O@eYR7 zVmXR@UTZuWf*IBKagNNGhz~^F?>DOvJR{8NS!WC&%?QQizNjE74%K4siPUUNfb!t4 zn67vh#H@PWXC`>Ak{w`aGZ^`2qzL3K`Y_md~d)G`IYKZ=D zXr|1L+TR;?aY!_fFu{iSMk6p!S)Fe%nQ8U8?m#BAH3mw8K8(&%W7>)}N zVvO%5YB-Bl>UqG#DP)R&BXoGSZ!k+j)nD>O?5;AF(NZcX(@jOLDemYWBiK2z^VrK@ zY!(>PV&7bunz)#LwWEIR<<1f9c7)(VoAqx#CM7R+cczZ$9@MPV`yKABDb^o$mm?9+5!qLg z)h`B~?hlG!0%3Lyka*Tfw6(v^dxG2i{2l5_E<)>Uf9#geUU!tBQ34blaADt#DK`-! z^q7zchte)vtPKj)={&`m<+3rAex_rpu^myMfu306MVRbdy!(A7JvNfuZuoo5V^8{K zu@7iq$&$m@Q{1N;*J1Mad#Qz-hMXE?Bzn#LTD%kCCFC%iyn%WnOoM0R%4YQn<-ggK zhSN$V$5o~=I1oCp7)S-3Y%`*{iyLi2c3i&liTofEJ zb$V)D%ME_Yd$ds=?H`3_$d-=0&A5&$G{g$n4mDDXy7esxaQkECWNJ|lvP)c-W9xwp zXhU;{fFP7jeyRBfl&-@G#Z5;kS1d;OJe zjeWD-Dqhhz8|YMd!v1%zgb!CW3kz}I&N1yL8|z{BK4QLRo1W{fs|Hco@{2ExJl@^W zt!ba6FY((nBMemhaM`!p9v@!A>AvCBz}iz(M;w>gJe$mS9siU2vqERxfe1>3&@r$0 z^@tYI$r!`y{__x?iXMIYBwuGtM5%?%h}fhP$@1E3kxfNF1wlX=6z=rAEI~N3XG5%h zU?evoqu<*~gp%@{RDOq^8@lRm#S*%NUXB1bAN<@b%kB^ucS(9%2fzroM~Ie9S>C(m&4~e_)BYm} z|8Wyy0fQZBY(O9c=K<$LubLiIQR!FCdJb6W+i zONBlhcql;9sHV34oQYq62A+Gyn z1a4n@gclReQZu9YK~gpM$cOq|{sI%#z5Z(VCy;|Fu*PxaVIbdRmV#X{zW%L#)Y@Tz ziPK(kksEqS^%sSu>)Z`4l5gyot9GUN*Y^;c9RDXTPjm^iSbQYdUkI($O2eTE>$+rEB%JjUcel zI+c#E-%WIFH~7VHF6vT0Hy>qNMQO8nxZO{-BH*6blyLXQ;`@KNmu@UMsn-j8ZB8SS9t zn7?iDc|RG9VlmaTZ(T0Dk2#fYcu%vj{B`4GBY4pvHT3DxmBA~+y5A~b^5bl%g`{KE zR9yZnZy;Gq?{rpHtB+4|I}Th(56+Vky`?MF0UZHQxtOp|e|`X07P}xw%7aK`EDttL zcDWpzH31LZjIe#GmNyI5GqV51zu#Ou>Y*G9`1r9Jqv&@Vv0D-7n>Kmd2Nkncc&6cx z3F!V|cEWv{bjvP2ICPF-!f_1GKYimD@r!-QS}SFLxsO^95>hB{*1WH@40$e2ATJje zfm9voJ8bEskvm-aWi_Gx!~#kg@oao{cT0 z5Zm3ko+f9(ouBwFNOYIQbuLIKheR3a$z{7%syTqVD*Th^C5-)a88uYj4((jjHRCS1 zm8etZCZAH)i@OX0|KdVd)tj_vq*6u%P!6{+c3kz!7ul#u+dc?5$@VWD%{)VPEOogk z?pVK&U^`gQFRJA?ddk3!HM;F>5=O(;9MQWhaa;JYk7s00e^e&V=+j}v`AV(CC%yLR z@7D|?o{YvPXiwWT6Zj3Nn{Cyh z%;|NNnW+_1@h4}K3iJ=bWhO(#xUl$FFZ_ap|_Sy z2!D=ahgwc^C2laH1a@jG6fF~n%>PiTiOmp)lsV_ za0B9Vg8ur6>99?Kmp{R{R}s@*TPwL-YLXK8J2WZL2WgFVufj$_22>o{4H3LdH6XC< z6-fZOKN2lWPo5B$>{jbD4J1-$Qtr$+9Ipox<7bg4O~cuwjXfg;;=e}GeJ3}nwCg9R zeD~n?fjv*`Vfw2f9~G?o)2!|Mj9$p^9|{=!nj@qT)lUwJ@E_vw6+=CkHDGTxxhk1Z z`mR6`Tfn(1B0)L@J)1U^o*j{4W^|qu(=#r&dN=mYU&Fx8yIGshLqxoAbv7anUI;H> z?X?a@dPYehqMD8hmLwO(5f0WLSJx=;)D3k=q|JwhTieCktY=kW`ZP`N8~$oNndPQGp#h3a>Ue)fzWxgRG>reFj@oM1~jSq&lY3 zc`3;3)1W%|=#P_)ez^%e#(5K7(E-#*V5iHnm?>w`)0vk8H?({t6eG47Iv1qq!B>n- zxo$Kxs^+$_+n&U=0I^ktv}U1wo}Y8IMjT)iqq&I#r zd!AjX+bhU2LIYdJvb<9_clm&%1%hYTqKrgjw?&~0XNiJ4uk3yHwqk%Q^Kc7e6T5Rr zxb4F&ObZyq3lAK?m zVTDUxH-u{D8@Bp-Ot#6 zmi(K{sj;W{$Wf$w#ECaN;uJraraH&2)7uAAs)tFd5j`{HBPZCJ+oJk4lUG+;gm3sT zsirZrK>D6tp4}0QsO0f+Y+4N^W9RpfUzv?s53wPRp_e;7qs}2{diS@#7%kloVyU$? zLAH1u<*kM?mW=i>eJ>;ML^6LCb96}m6hs1pP+aQsa=-DyDp0Li=PPE)$5niauslD-r9UJ8hhFQ=FEJ4QO>V*3q?z+`)ASf z8NV{0os}c5!eR21)s+}|674TY$#HYt!)S94c#!*i$e`Xt$`?WTYWgSWW-DO#@l?jJ zvATv%Nw?kvLpp502k%sdR?wH~aK?&EQgQ6-CIUr;^-kvLY%~J1f>oJESMO9fdC8`v zFYJ5cC!hO=;t?hLdjR#8nfV-)Tu&2vTxqLp$ew#bg@L{6qdgQ_0D}i_chH5TT`2^% z>E&w`>Lg24XS+Oa^UV)X2lg+cMvsgJ#!^ZPIPd+kABo_L{=e9J@2Do1u5Z|eCce2kE`{66rPMpcDZC73s}L554z9YCsT>-a~HzLJts4AoeeUOZ z*ZcpszV&4-mf%dTnQPB)@7c4<>~NwhCdH#?=qeFcSCx*=u>R7D0EJi(57c7{J4>1d zfGBr!)9nL&CsFTUV~L98=5K#da0NiY7hDnstp6kH3}Z)@68pT1ATiW++65{Fid9md zi#(}yq1WJ`pYz_0caF*~Vj=nS(YmbDf+&xI*3L`j^*HZX0oSzmzeFA_CD(>-V3dQ* z9ne3q0Bv5@w}60QF%+W_C|0mrr6$<-RRwq2NSEJIzsca;5GGe_7%$paNhAez;gzBK z&pOL1=K~WYE56)~F1Y8zm$yA*!f_xOmxW6n*)&rpqhli}N`r`TtWy&AW>23FGO6(G z$4n>R+{D(X3=h?}Co_M~YC`^eYZ&H{x-CKs#G!H~<)((#DRNg>it0q~M%I|5vIIJH zKHR%^%D`k{TD{IJ973AST8^(G;bS>fJE|beeGJdgszHbtr2R9gjE~*^m5ZhM+fS>K z_33;3Kzh|rwBuJ;3P4j7gq303e&qDW0?>x^2{ToGOk-apNV%#p8r=tQNr~xazJ5`h zvhLS@h;UWv@Ju&!&|zVn`P0yTS-SFm#XI)PH`?8>aI1}!be8a z`8DO`!d#BgA|_EgHU1I8T-=74yNaG%r{Ks5l5_J@lr>W|gT0YX_4B2hb~EKX6TVp{ zR5f>Fu%;i1H1x*}^z03a-4s^Eagrsd>yryBHFnR>`tts~Q-YN|W$MMS1O}9KFSuGE zfz7tLoG@ztIp2MMQhLPNdxCc(KkAp9q;EsXT&)+k?vJs%qNf ziE{`PRESRd)U_F4K5lBjlyR34<1wwHzB6)tZ=uT1u~aFn`RGwVV6nF$?^-4-2fMr6 z>1{h!u2er+Zi=Kb=Gum}@NiMlFiCx7^lwBW)2dCQJ*HMtl>4R)Y3R1RO+*@j9Y3u| z&n$ASth-uuTs0;}Ua1Gt+-IwyTZm%8ExlxV#L}g^-~RVrPiVSYYpfXiuQ4w75psPq z*EK`59=9W+CXmL48(iE}*ibuS1z!o=_!EX0N*DL*6uN%2HvDWf+x?`$n}wtJM+|;F zfx{e+O1Y>#ETOKQmKr#zjVbbA%P__4){J27NG+W{rgs;vZDoWX9B@b;8W!p1-Krcr zYJ_Zrz38DG+SH|8?T-&|X{wU5FLa%)B${*xhW=snN#Z$H-D=iz+%6*s`;Xl9a3R0Q zou{`8$lYCT>00ZTv%V+6#|#I!sv56K44OEg2)(^!223RT z;pplcGP-zLgTZhYKv%66TBF?KGk!nX;HgmM$thQtg~=JM4MgZLGaxO*KeAMPztt1| z_<==IZI$Zx&Gbz+A{ux$<>}J&l>zqS26D~TPYy+uS+ZwXK$IC7nCW<( z;pD&&!3W%u`)Pi!z}nRS6IfcEv#_gv&WJPLu;ej%7ngSEpE4oop)2Z;y2cvQs$=X1 zT(JM?rFmi*F&?j&^Axap^|g4RQML@Dlks&~YCm*2!gbWI{~sFXP+8*Mh{7!EMas&h z#zA!YPz#JuxPsM<9n07jocRNDTRKQ42aEVTdC5E(5WSCG(*SJ~{K-Jw9J$-pe?NLb zIiZF@uS51Op}VbvaSBB1Sk@-zE6D?yIqd5Q=vLMI8InQhe~hr>?d2cH<8%9g6>KM? zOOpTq_Za@=F0i}z0{29{_2RF66Y+Gt&gui})Na7`_zqO1M&QFxxnZoA7-91nkKJQZ zGU-E(GZ@+BNJ;*WG(e zZX)Gd2ciygWMraMCr|K>VUZ7#9kdT<79>jzW1UJC@D<7J$_5^ ze*^7QfI+*GLGzwD$@|^UnLqb{KyLazAYpd`X{Lyh4a*~=t1?K81wvrEj%UuHeKv?m z6Yw5L9|CWZ@g5$Gxk%Zt+!XL;+N9g->y@@U7RFn5*FWQGjn!8F7~#==2DSvPWNX$B z6;OJj%;+JZW8#iO-%aOh(k{nzAsp%3Yd!FuC~=>)x6UxVGx7te9?U9i2R4I*>13+uIa0+B>}E{4Dd3ueX|RNKf(; zvF2lpr;1|3XI8uz5HC=V$ck>S6tcI46+!pMxRYxFk<@ASLk9&1@aYOw!RH2e5FuBd z!#Z~07vT1O0S^6t01nuytu`;>Hi}U0@phI=3TYDPyimcaiE@YN^s0U9B6-^I_kz#x z%G5vDEPQ`-Vbq=@XjX6-9`~}LR?WK$<%mN$$MY{@WLghK(v{|%J?w_LtFhn+N-hb{ zYjGw?r8-V}vZZggIwLJKQ` z(D9io+zhLGhTc5T0iPWng4F(Pl1<8XuZT41^_$@>S8XHivlPe@_~ z+Hv}GeJ)41FspQYf`hQTAwP!jt)>qXv`baJl8|*V`9>g-O;QT(xW``daoaX23#+>% zGB~W`;y`HDm|F>G*(H29Qvj~aR&2+9LY8QBp-1o8qrId5K_?#>oi3&ds{OIU*4j}^ zCrIY8TK{vNJiDQemcuvUXx@S<9qNqn{E!gXg{VTOrmAU=`I~@muwW})KNlT30-jlp z{TTbz@L)m=`6LriB3!oOU)rL&l`L&^ekS7iVC1}JJstF>`M0(s0&{#>Q0 z5U9C{qx99S<9C;%0^}F=a_pu$@2rF2mDruvLDj*WdN@qYvg(SZrBGd|9&=x?s+g!D z_bHwRA|IPeXE&vesc#cq9rPR!rsOh^Jf&zM>K`2&u^{=R{R>bp2fYLRpN3&q^ByEr zdqzOMw2pb7&;-=C#)-0KI5rIBX2;%Qdf>aEZ~z^HeY?j4Xr_Vmp6x6$Xp?IG(pu^705K((v$qDAqY;p(^{4b|;p zbM~-Rn9Rs1(?MPSm9CY*F*6eez+SZwZFxSQH*d8^Ab9qZJ`f3Ts_Nb}WSVFbAwy6l{MWNdW|m2^niu9or+k^xuq&I|?U2-ooDt+6db zn@ZrB`tb+l$}OT$*vclx*gPdzv}6!AorB8i$dNl)ZgJTJ9O20?6PWlKvoriBo+|{f z3G4>@;zKK|iFuLEs%)x7Hh~O1el@nCBa@~pBPhQXpGJooYk$R8!#_1x(m7#$j~US= znI0WXe_3H~u$K?0zQG7dJzuf<>-cjPiskxcy_8yuWh8BRWOgqT2=*(|5HGQF z3bP7}WPNVk^mVPkp{P5Bg6nn$Y1^%d$slkeOH>H5e7h-mG*CEv$6e{5ef~|qBg1M@ zHr_M8PTQO7E*Wia-`eR>mvdxGi7*$2t|?hm-ZF}mu2smhqTHuZcJIVb_ZbCOAy(95 zGPY3sWHM%^dPm0aseF?)-W$m7=WDRc0q*U2Vs$`yv>982y-AZi(Vep#376J8ULFC_fIDn407;ayTsKBwe=HezbyXrH3TV8@_VhhM z{toeT5n#}&wF;PF_H*320dcJ@Ti6Bs{>g@(`7XIYLF`Oj&Ze(ru@pj(t-Fxg%`B!A zL(dh|TLUroh>qpPuezi^)}H_u*whYA!8?%Hq1?#GgOSP$Q9qKt>e|w;#T0n0XF)8g zfRLrij7wXF2cgfU_bOS}_ujFxB^LqZfd-pXiX5hF2-?BfZ=rix)sNCLci6)m`@eA> zr~{#G2ivhsLLTos`iyfSE4OD_W5^H8XKqOo^*{%}GfqIUMQRwQ3|IO5neYDct?9n6 znojmLNkOf`POm-^U%BSD?g2~+#5on!?=3u!64u2^2GH*W6wg@`Pa?7f9|u+(?-(>$ zv(EZ(5c|-N`#);Kl|&s65|YN5_JJW*$JGcKT_a#!7NJeCg3gtk=>?Z1&4%J zb!Uj4CD~#FGr!i;KuDl%{fxA|!oDs20%u~XzvGC0*LU#rexE>r3 zVAaQd=b>McnA8Q15^jBje<9B5DHO#Cg-*zo-LBJ;FL)5~^2xnFepBwgl|yL!3Tr=GPqbsS>ZX{S7V4r*Q;s)o(eb#Oq!h_U!uq|Q zLptmXQfHUUu$qsf>R6-wJhJ^Vrb@*37Z*szG%~xI(#LMmBCJh0lXntsBvFM#h@lg9 zZp)P_?9y@NtVzdxkd;rxil(3?HGdH9g9gripoAD`iWf+{!O$AQQ{RpO=vB5!3wTm1|Mlvo>3`lLq#6Byp%ojs*rd*-bhyg-yfuxHhyg8Dp6gA!vDKY6IFtG69@H|`@{#_-9HvB+upPAB#a6ut`#LqcJ`o`yP*V; zZ>%@D_)WK==Xc7B)XP>}r)ySR343fAm;SO}LeG3yqy&lrRA;IS?1}Z8U!p6+AG$r?MNcbN?^>Hl$0rYF}!{TX99`Ce+`V0IC-T z23Qedq2O&DJ%n#n00ZlD&3LB%N?7S3l%g+>E%Y2mO1Kj(T2SU83)kM!lNkQsYl!BX zu5tXhHCgqNMu+F0;r=GT`5y31u3xz|pF}rm&L1XjhEV)zaQ5y%O@%~9p!O3O_@$I3 zgu*QF|3V{fty71OTlnF-(nmzvbNof8lgyt2VCv_;c>x!dAOBw$MWgX0j*f5O?Td_a z|4`tJ!roG$$XZG>`kj)L!ohE+H?b0`zoxewI0nAB;ktZEmL?9pGq-RqC*p5tAT%3a zq92-Mk_aUBKm*O=PB&M9@!b-faYZ;3c9WoUx1#sSrv{z&~qjiGpN++)SD%! zdQ3F+|Hm6X&@w{+wDKAA4Op9;gnj{oNkLnnNt!|aUP&j>a&1rOb0 zIB-QjX#ot-+b6Z)CsZqZ@cg!G!fO^;wa-*e$@E4xGE&{tr@Vf@-T zj1YgHvM0;$WI1;b8`LcpkTaLh%KsT9gNWHqk8|Fv4LxQ z0FiW)>yM%}Da2w%_Wap{AtWOEG>*DL`&?o@K&6k~HWa2w^Tf4Wg`L zAIU%XsQf6Z_Xei|B+AXH|A#~wJ4iwlLBtFm5E2m#?Cv+dZ7nDzkQ*G#mayXDxz3p} zNgWlSJbnM-W8!dJ4uHviA`)>(Oe|4tJc;~99&iT8*oVTABmx%TQz@&JfB5u;AD$dw zmw9>Eg(o+Xdl!^iaa(rBJ5tl8jR4_I&iAn482AQu7krrz-l)S(`XtFDfRoNd=KoH- zla%|7$^X@G@6q29>wkTvMfU&i{{Jey!9d zGtz~sLi69Ya~mQ)qCO_c_e_`NVRwIWU;nqsED$I)+6ZiM|NhrsWPre91|;9VAH6UC zpX)@w^`2my>5Uxf?0gp*7Dnq}W%car&$KcmXMp8@k)sQ!YPTCI8xk&Q2~9vPDENH5 zn~GY1Y5i9h!FPXm`PpE~(I{nZy}y-k6>at}{hpNnCZKso==ejg&oe^Ss3p*irsjWp z{AC5yF7=gzwFI*WDk$s1EPQ;#=9qsK-22_>CH+mVPog)ul+UWA{paJ;0jM?Z53~}$ z{PzlOzt_lnxvZYY4{RAg*S#)VcHF)zHuoei7p#M?#c4uB-1z3YDStnP|2G26-~1{V zwH#Zgp2Hu{b)%{A?@`!)!+`@(o`4!wG726FcXh%|OwL-D-?+rp8Y#NgR>B=#)4wNo z*BN}8En%eCRjB3o74?Quq_AT`(HZ@LFPB>`e{I~YzQ%rfOEIlhz=gDMjCK^q7O>Ct zv6THifxF2TZB|QHB*C0$%`lAJg;jCDpwUTMr%`heV zC6=pfkw0hGjDbmiu5S>YvrKZfS#lKVFWeNLVcDRgn`Tn(7wef3r41BO>X10FHp$hd zPI%=uc0KK+JarA%R_j0keAg-ufvoz+4elu&)EL@ACew_h7y*J zC8K@Y%GI08(?>%kDnWdP52+JEoQm?xkM(YcM2JWIjk9Cpyjz-hq=X_4QAi>wk+UUSXUg4oA#4lQ8w)VDD;A`7s%nj z>l$7QdZlf1rhzKfitdY;&ZsqCn)~&C{)XpY1ei3qcYlWK4 z%Pa;pc&#y4y7+@rVK{9F@o|VDSs34{8#?cDSm^LiH=X;;Z;;$Bj8$0Ihgv=Me=|rA zTDCoLog#j{IZtf>l*2Hymi`)algs9%atH-De?A*N8O~PoX-4})T-aqvDIzkAPRo#7IoR@e;sPexFMS2{ypI+*I`zo)N z@`+LA&!SJt2?G(yJV<%|*EyVpQg?)JuMb_YZAfoeBsGjt(8aKlQsxARIp}yu9{31~ zJWVE=`)-3tO5^YRWIKdbrC(OSRE-C>i3%Q1e>3Abyhh&aJy183YrU(HJ~eiy#Ph&r zGUh4E^oKbf?J@m8V7+qzUY`MYUBHx*&RAIA@4@1w)4NUT>iOU6y{f#u3t+{H*(D%0 zomwARM`qLw#79L%^N|E8>lG%ew^Rk<0E&1Sb++qo1dr01D^&;R70b6M4^jwtyex=C$QLK7IYtbhWJX$iG_vLR{X9l96bI05x9SIqCc+_us^YS?==M*@^ z);yY%$m-UCuJD1xyz*>1b5J?|MGg=po$ewreXb4PvQkyu93b-c5IzhOWS1iJHa324 zD`e2g^O<9b=|cPNr|7bZ+%zlKid%K%?3{hq#F@&8|3fA%grXrs$%upHEfpu&wskMn zT!4Yg=D^?V##Jt@p8aaG!_Se+=CHdiZzVphyi&9YW|=Q5(KZ;$A?tP7y!M$hphCmy zAYWn~b)xtJ=VcdEA(x+UZRs7%oZxfz#-O1H8f5zGh5~>jg4#E!!c0yqSI-i36?y8- z@XcSIG2HtlanF^ahbZXYLRchpG;-ejNU6Ll_)C^9I}Id%RUEFo7PgU)Hol3^@klo6S{kd^rooW5&&*_xU%WPo3Y8|HsgFop>bWU*U{GL?4gaMoMb;GBs%EG(7UbCcw27cVoi5jGef^S zE1DiQ(nGNV(nsG~{Z{?eR=ccAx(KRoC!}Fev{AW`4>X1$-?t~Tepjlg)aoOv(NQU@ zUqF7ktFxxI_v@VZ$)iyV{`$x|=^b$`gvEo9ES-Gs%P7&HT*EjreZ-_xPJ2EWUM}sV z&+E_W5rNI4pfg|apY@IN3L_#4$`l=q`PT7>m6JShV_Xz1rSMh%;_E)hBId)V2S!P_ zjI}w|10ih(;~Y|}bLfCub$;y#ZVqat&Pl^ey0cR7<+RX1ZX%0F8$?sPnP9p`y2jA7u#gC1Zw1%Gse5N?NwHDUgc1DHL^!#=(9zO|e~;$oQ}@4*^S zpd3=+bT8|cE8$s94S(61ps{GfW~a2UQ9}VO+YBX-*83>Tvya$=3SV;mpJZ2m>)0C% zP}o;w_AC808~kALx3Un=s%Bc>1RC&QGF8gr{xk=VEf8uymg6}by6}pfAYrgtjp*AC zh!YB7L$i&9f4x%UYE|&ZXp3*eXp&)1CY&>52}*v|a_i#H*#Gmg4qU zEO%M?-fso^_pv4<(CP|^uF$39Q4x<8Gt*rZ3%`8(A3f)nheM3^TJIhe{^ zlrG+N(tWi@y|yY7DJw5E$jOb~o5p zL&*e2w(ho1&JO&a>1EaCOGY~4A|JWn8@;OWE~6h9-0~y$;oG#QR0fEC_2+r}JsU@| z@z!baAeY_5n8w01N7KqW^_{QZFP0R&pbFs&HEwBNHJ8@!w|kI$Z@cdKN!abV#YXp5 zYIIoawW8N6jv?GfYJMuiWGp+z3y*j>P4&gco1vW{wp5%n1WsyqZS~LKBUB2D7;IxY zDNi%Z+_q)CZO&}cwaAr`c--(F7Yoy-V}Wtrafa|}GPg!Ru#S;ful%Ir?{4I3@Z4HO z&jD{YtebOEHTE!Ov`Dz2yApzP6^>RWCd=b*1xl|_Gs%3ge(;0TIIySP*oTMp_sYt@ zAn>BYtVj!t$*aXI5?-xGxP^M7DxNGdY|p;P457w#%Z1t(Vw0nO9bY@|4|zVUXYO-5 zOeue@S++G9Vm*WTqeDIK<;DpuzWUGkdVaU3WYh_d)ZXL0JB`SP#o9*$$~_++;+~bN zmu1hZzvkq3(ifw|$WoV&RU4%G{Hio{7%6FG05DB24`+DXRH%<86A^LUh(c1#qR-JeXD+*SWxOb_IJJ8Qn|*E z2$wjk6SXN8EfpoCUucK0*kgEcuMNx9&v(7no^=vU7P~=4ynS(`U}8Mn#uy<`NQ6DD zs!o07I=cu(MBj?$I~c<5ZnCd9D0vnbkUu~BemZkevuhT1ARM-eGA}YEpF$9JdWlIxCyL?d@p*y>0J_;;Y^8mSOQj)5w&+jNwi7f$q?8weTLB`$)S8FRp2{ zZn7E2XD^kMj3}vv#otSRh*ddtkNR_<>-g-1#yq2IIh(Ois=6T}^vHP9;T z5FW20!BiVXYJ-v9DknKeKnB&Lu3_9D`m=H;$?LPxNyp)GB+*{M&sCFRnaz2;qxi`4 zj9g;UQYwAc>y|HFH~X)*4w-a}_^pO9V7e)l50m8yx8#U4U&ak|r#B~$cLEIql~lKd zD~i;A>aL_*<}t*;B`(CQFs}Arhh|QTO@517K%|u#IhSAsQvYDpMb*h6&>__cwpr@e zQML2Fkjp9G1F+3bMFJa*hiJQzz*f;qU-`7|`4PgwhGtE??=itx;>fV-DH>8YC5Z^H zc+ke(avx+7sHR;0$l-1G-R@H2IKWY#G*~A8fOXD$SE-?2SFfdzV=o7K5o*14!r3yC ze8Q;(IjKDzf+~zbVvHuqM~ae^O(7AvOxZy(SUb6Kl%GdySUq$Q<+nBamzPPDdZpc7 zyz@qS6-TwKd;<|VdQH;>acC$Uc1naRS{y^3AN_~rQbQtCNeaG^5Y)FCisu8Hs))%~z(w#PT zp_$T6%C-R@3`lofGV~L0$mD1z1yKg^t%ya*Uz6K0mzT!{k3S>~9;-<$uMV$*J~qv1 zttRm2U;-a%=_!4eZLgJZAfRXjD~n~47jzbyaR~)loIN9DPhfX|g9l2)e%m7-Tc(UC zq^s3ZD5kzeVYK56zWdJIP-4uZzrjf*k|y-7(wN_E++pYQf6jzRS@}#I84Ix_f?|}5 zieHM!X23*au(@&G6&@EUMmPPB0@{px?7NEEX4mF8ci23&;Xgs$Et}j1j<>_+c9=$( zBF@J=d*IbL5844$EbQ?Xj9!xuM(xY`Hedt61vZ;|u=^pmDCuha8niWc-Co+?^|6mV zyxMmVKUXJ0F9W{i{<`B+u=MDayXmQ-_%LQMSG&WfoMP>P+j2oWZ7{$S_{4pXu8|{Y zJiL_`T@#@xs+KC;;txWk(Jx%JG0f<`iJI*kIm`)XdsYt@^@W-aIUV@|GIEt|!7Zd_ z7&~RVd%k3_bk9l&W?{tXZHt$2N|KuC2d)+hOaF_ekzBc?LbN#f$IK2R@;(UgANzFB z;W4yQSInHm$=_ExG?19jYXAxqlGs+m^RAZnh!0;T?!+nGKhrxL)SHi7j*VhJ#08t{ z>j~9g>~85dsBvx(8(x}yt#b0?Jk)odoD)fLx?!i^Krbd4M=-w`Gboz%BF))gyE`zp z`_21@k|ipXsiXTt%_anf!EwG~`?+RG`h<%+o8OX+l-#*~pK}tS^N+Ny9Tb#h%SG`J z=mj~v^2X>4KhC*@U@w`?>38ejA_o|ZQ&Y)v0LSA_B6=HWRIF`Ye$mm?@s&BO>M2WC zK^pq<#Oc2g~k5^LdCUEr6d266bFM3dXZUZv;CDU~k2{@Za!+ohhDcq&q(UH@oA zw%u8HXeb|^qpB@T)l9o%`Dw+=e>GbqojP5eMmn67%q0!8tkXV7p2Ibdb4ck{Gk(7m z(>1+{RIy`R%;r+F=n!5034X;MccsOKIw?zCppLV01bJ;DD#1x0x(lV5nQ*P?>JXlQ`#&k(rlnDVatH<+K_HGaN4Dr3h;Y`J!;|vy(JxSri%$p)wFwdzp)ey z;GP*-dE73b2kG1(pFr@<8-sUt$e+oL{N^A*x&S)#ME@n-FrAWp) zk?hW=*(1PEbiJ?EA`o(cXN3h`mUy9f;dLND=<(8Dz!ejGW_HcIJHLIj#cR^HMXE&% z5U#fpLfWHM%=9lMz?>)B^KVHkrP+5tq~=MCVBfED+!vO@0lg(ugy(f&;l;Vph_qQp zmT7+guA6@F9qw2(6gE_7<~z^q3z_isR2~gO==2o{ut?7=aO)@jaJl2#A)%GJMREN6 z1IvF<+_V^0*9<5lBF6ncAt?Z2GkLTw;WCTVvJ}(Lqh$(OiwKAXW8}_l z%Q8N#L$>{s?q1vhoV_;Y^s^iYS}|d$!{0Q`aH6#4zympCFwizAf@>Dl_Yc64L&NaZ zA8`h|Lyvg^*QvBsYayvM82BhWA>Q7;LzN}ZzCS5PXLv-bpr1g=6L`loZYkvv1>H`x zVEWQLw^kzoA%Zyl8gGOB8I;^Ht5*Sqwf7ZkX$&%Gj$MAg?&g^^w>#)kBst}9LUw2G zU=rFmw0=~si(z5&`uW#_I{SKC@%GG&56!ZiynEvXz^3g)*7vw8X~ za@W~?!ejrI%rxT7*cFht?ICOeZ6O2-ukWxj2n3Oa2t?=zt=jF&YL&%Y5_$6w8?R%T z4~#jrkAVfgUM-=8=q}YO;@!*P8K0x@@Uidp!uJN$SIA z6{;P?bpH1ZBTmT!{nm3N=E>?v%{fr1#eoTHY)>~WyPr$l@OxTw8AK5tkhmX2zfk5t z-E~WjDCxu@aFOv)W9hlHJC;v%GT@w3h!=Q4i2QA4?^6qIt$XPZ%w@oc|JSi2S4ae4 z97-Dqf;3ce@R|00Q_#w^qofN3r@d(RLAFY0mbH3c;C~?O9!qi9RFce50S-jDegeHN zAGNR{*CZ~u(<0BawUCxBzd%GE@$voPywhwE+Vzlu%c2Qw59pF?y}Bn81POI-W43)L zY|rv@J{6+wusgiO8#m@8=`=+mFQsALiri*gz z4{6A@38LnfIdJy$PTk>Q0K+VHG`sirOskT6Y+TiTEP?I1C_~^?kKlUD8;&{(CSGO) zrEbYQ%d`tbK;IBHXoLjg`<;yU-3X{m7=M!t0%fdbuHBT z=o6U!O6CV^#uu>pW-QOJV9BDr?eyjc{3aJvAV;=6)3M~oLnHF zQU(H!8gC6^ldhLL4Z4Zg8~?mRS4*p%_YU$4h>rX6684+O#phc82-C#E&Od55UYLDX zBcTnA4EbF?c3j8!->rRA&1unKhpIR7@oE`@QgNPqHW&eHBr%?(T|kCPVfY5pemFxDQx`P@23YtrGO=zW8)#(Sm}YhssZDQk|C#5 zH0hIs$d8G+*ngcQkrnC!1DWj1Z#dO7jp_`l>a^OIu$Y&dWWY6`RcgyM$9ZvGIvdqo+>*1hx2PR%TRSRzd6j^Gaf zOB=nObWM%Q#kk8Yz}-L6CA_hiv6bsCP-F6HtuU5`7_3)~8lA(AlE24t^suvxu64CO z?Cy+fM}tv72u0+Lh|#~Ot&VspZ?sx^rST3@kR(FTH|0;Dtp{aY|M+|aQ%xlDXef^&!Q4&`rf_?PkDnM?BS zyyRSN7`bdNIQprpHwj5Apzq;w&}Sr!yt0UD^s`={X#wJyo%>G!GsT*b#Dc|s_l zL9G@NPXvP=4h#U650hM473uZI0b^47pA!Ka&O*fTfqkS!Xv7nR`|*riH|owd=|m5k zcXwL-eP1$3tu&Z8v@zbCHClYByY-w5YbC_`|<5qOn-zU z2M*-+LX8JJc)_;DYo?qDHOj@aKhvifrE@0i7Ax(8_L5EN9I9m6{Ep*0Zy100?GXJI z2pm0mbr&zIrnB0uXQ+45^xnSZ47=;I%QvsJufeRVW?K;*kG+z*aji+pUW)TL^H`@= zNK6P$glV833n-UC{gQc)KNf~W2;|oVgwP|$|2Wx`q%t@dQe;_;*dfk0PKOMb+U=x7 zT_@%2ZLfy|sx^uc>jsP(k6<}IvUfkG;4zu}GN~b>108&d#&=~`QpIVQtdGlnuK4Dm z4Ng|idk0NfL{1fxDAnFd%pbB1Mjjf?TTL=M?nFuYh|^&Bs*b_7u3a&DH7`W|c9dF3 zDA9U-=9%|5fpIn>tG0cMocYtg;PQ%Rk3S5A42OGm%eKck`whX5_(gKQ>mnT8&7bZ9 zMW0s&J7|xEo0Zfa^}LF6<%niv%XqQWeXT+vONWfFYmV7Je-2ko&n4^PD8t@WG|75! z;(G(g3{UI={DS0UBoJnHlOtX1_HY@M4V%OJ(BX*zSO0Bng zT)9rI3tv|J5IQ^)EjW^Z9=uWg7)CEPxu0r%zNKJg5oIvzG$7df3!>L(%#!Rct)ImnA$3>s4PA z7&f7vzwq<;x?UTtHLRcBDJ*%+gjNV_-K#dzAzD%rArR6IZNh+;XiDm%gY|7F`;49i z;G@g$Z7rx8GiLTXj_6yD`vsoxGw>J-g+!#Fb~)*}=2>hTyYI)#wxh>4|y8$cW*@EPOll?|DM4h){^`S-0EBl7V@lyr0G53Ek&s{|d7 z6AqSDA-rsBp6X5C7|(2a#c1vCKDHhXxV}JW z_ipIoJ9bqY1|#g;x?+Awsc_;awzaTUJ_d{80zX4#6mO<$-4u%vswbL94D5E7bM;^!h#Na4#GS5RaT?Rs5_9M^Mn-K%!c*&Pym!wVQlpC68)j8yiAdEoH?+^J0AQRQ;4)=) z@2>l4@5ehRa9QP5-dI+qIh)_cL#>zTK@~HxebhA+tl6kGv|1- z#;4ULTI^$z(VX)(h^7q#HyB<5<;(QL*i+uJ`DM;LR5&`5e18tq{{d)SVORuvW!{3V zaJ0`1?OgZ#7u6|#-pJXi`%#1B6M%*AYixs{m2|_8QLZ%g^rKhYZWEPez8P?K#0x@& zVn80%^+<+Kwj1CH{jp-QUJ*iT&Uuzi`~+^VWaxFdE{+dpvb9k6Jk}xa&ef|BV+zGX=hr>T}SUstt9ADe1M^!a1uuqLzCoeIkJAJKVP>rKTowi+mZo`!n<^7N8-8QTlqRAnhpV<~MMLR_;Yf_sVQ73~ zse-mn1!%u!y+3{!h`w=b-IN(f*G*Wn1)GYn*xDMy;$^COfZYhY(0-=TMdZe>tsotQ z>o%o@*#hO1OeXS?0rWpGv;oG05deM+argY*pd#2AciH;99^Q8ki%!MppuXju;Ojke z>WA<%Dt+6C7gQBb+K?){(g{?}=v*$?m@Q9a7&-o*Q7Gr z^sKu$%BtjQ6}Z8oUBcu2^W!4}@o7v-^Kzv_yKPVe67wJZBJo&&Zr-kX_O%ahTLD#6zA)paiOS|o^V z)%}56gQ9Csl*VL^8Xs!4Aq&B$2Y(syJsKQ%pEj{)(&Ug*jA=1t*3wTdSxI;6JeYYw zUqdh&Hq^1}s^G4KSLzHyorgn!3js!k*1wgAtl9SQ4!Un$lo$jLZq_?gt!G;sB$vG) zcVP0&S*j<#(k+k%7x#Z+nCXY@su-NMsA_v3!1pThK_)%jOT8;6UoiEDR(yl*jyStv zB|ZoHLspi@@2fh`j78>EheGm_md{^Thpy`NoH~46nR<%$AF?pEhYw1GaqpKiX^wID zc3ewXe_h)sh%tz}IzKg|m;Ak!Jej9Df$=-sZbSpUBu%m2`u)z1(|=r5ZKpsM#l8r< z@&5<|j9)*CvoN0dvOM`pHws(+2W5hTv)r~7!t*!dY^$c5=}96JXd?Jkm)WmR%EJQ7s(+<6ol!B=t<$)-uDd}=SGzvb8K0m%0T*4aJui33Lyug z+=Oj(GJc%s25YHtV&bmyT5_C85~G(Xe8C1a>8q_?6OF3jJazuXN4j~P>aMXuJ_~OS z88-XjsZQDTZdDHM`G?FlFSa8+ZUmH;XutTbRK?4uYrn>**xfUl+#)A2Vo^?11>!zu z1Ukz%`Ukc0J;lcrJ*^(_RCpKwQF{XRrF(^n5!Da7<6v64#UmS%+1+xl7G%JgBU>1T zL+|uq;&el0$EJ=05P-AjJQyEQ;UJtsQMUOxLKHkefgaOw=G6`-5gzv!&Nn(`=h$}Y z`zRXIW0@N$>2}_86Gv^0SaM?uYVE?x9}5O_7if{I;vD;-YazFCe<)4;hrbZJMGOy% z-#S$85STW_Ed14u654^_4kq1E@m9x;@4%Y?monZyoEWb%PKCoN3|9D6VGgHh3cmBn zxZT^N*V`^_cxl(tR>ROS;liLi)NZyS&B5wVQILgpeKaey{@Sdb4^>wDxBQm1x8KHQsESW&are)U7gNOY2J{_`M7E>fpYUxO=s| zQu{+=k(4rbRv;s;vJiW1l@Gi56aN3O_ugMkrER#dqoW84j!IDwPy`XANbjI1DAFPH z5&`L5dI=E`QL2daW~d>Q&^tsxdI>Fr9(oJCLr6FqXPkG|_aB^Zo&4a!WM}8uPr2)L z-FIlT_xcE3*<5Dy+x&_2XWUV#hZ`q&!f53_CGmtUC`J_FDJNK=dc;N7rd6rb5)w zXX%MLqcuj`Qe@|+gW*0`YEDVB{;4nv#*w;bdiA{cvz=&hKoB1hVe+*zgPAIAIYzax zs)CcXj}&F1x7QgNBY7je>FM4Mhz<=ChPhakTjV#U@w*2>Giz z$_*>aiJvz&N_y5f>t4sHo0(5=-O{8^xI%gHl8#YhYg7_iXqVMyru71<;ogR8C^0Kc z{}gX=T2UF9m*rvLRMqHno7&Rrs>H-6LYZWVgaJo5BZ7~kqRU34HkPSF{LaK+aM8qI7^%Hk3sh>Vb zkt5tloKG41>{)SqkG(&X{jLs~#fZv}T8v%}4OI#LRgc4DCuCKvTd;Il=6KGcQSnA! zbsxdH5&Sov`d!s)AV2A05o4Wn8>_+?v{NSlrA`sz*18G+)1*^(`IF<#TS*+h*l2N& zW9V4od-|WVex7{Y#bj1Je|sQ*@)0LwzG!M*+Bj8o4V30uw`1Ct`Lce4Q^&lCMo4hb z%4~(DDO1yU$g%pS%;cPJ0pK_1m%kEY~%1D{X>Qelv78q4Bt8a5vg>EOdO=SSO021+L}=RiZMqjH_G1biit=~#l=~1%@kfs z?~ncC5}>!$P+G~>IY9eDqCsUJ1t%=C{gUCL8D{n_)8eszKf+7a)A`~HU}-L!lnbpW z*}XH-o@U?C;S69kpQ#)O=RXpMU)Y-{*{=eyI%k02r!dok%KYjM574nnG=jbWUgcp& z8%qB7-GG1NnDQ|arH#?B!7iX)k)TWb^ljPSPyV0gUhgbJW##yTWCQSztVC`qOW54)1r>HlF)w7>fs(H;npE3iuwyl$3nSf}NJCGOv!EKh`C0E!?dWtk;a3H(J z?5qve@7Hh-^o-E-chdErH(&ez+D-o|G{>0em`l-7vhQaXFh+3{64lTLYJULcPwbak$8D^2V6w93!x#{La8&`fX zNL_J%|2AlC;cDjGi3&E4w6MdJEavl+ouOtgetI$07?l@g$qU~~mmr5GzyGKO{s#M& z$Sz+(Av;;QW@Y0q%)MfmW(t02N?t+9n}u4OVdXgp@`@Y$TpAGvn@3f zyBSsWnFn+=dB_`pCFBw=$fT>83>3?OZq!rtoZqQa>w{K5w+_E*FCk@jB$CpC^Ssuw zDw(f(K?apxJz-lWX_-GMZOsK5$F$c?rna&i)GWw!Z0D)&+a2|E5cikA>$?ZT2 zpBQ_|o{i4UNssBO4>IWZufHZ28yE}=8C}?}ua8VISo9e?8+vhsp~y+C0ZrA}gXB_y zMM!nZfx+mSy>)}5>yA;xA!fHdml7bFaI$WfDLRy!Ca|?}?`+UdzQ*;}=Slr%(5Bn~ zi{sPzv+?a&thJBd<^Y8v>U%S(J(h54@IteZmLOTVnbxSwJ5_4VYn$GgqWq<6t{I9K zFI~BDPe6T~lv}=#huKa7cA&neNuKJW$m9qI#iWkUu=`X=iTNbK{Zu|od+gI#b{Svm zn}w?Zq?LStDmTZ4O4&U4#T$L?S7HlxNBn1G7R72N2br>sS7=0#6GOc25ID5M1`80M zNPO9vGF&w|!4a)p8?&>C$Lwd)LuSw*2FJsIX{iMg#^uW}nU9R$QErOY!~p7$mr<^? zFv<6;Y;zl&tGLcJ1k-HVzOd6X&->BJ)0Tjt>v;Miq(xg-%;%FNoyuT{{=BkwxEXIX4~dD5!i0 z-^KgxNsPwD=9ap~YV?2XaXJ)~pKtXTI%6tS<+~KVh2D-iVdei(K zFC*(^o(-boLv^n;vXyvK|DOXMa$1C1GY^1>f!V9pUZ~5rr&)Bhx1tAEcw!qOT}E%| zYNxM=6T>Ilx-N4y4R#sU6%ka$nRUaPs`XDL?04$wCl__{wg*zJ8=f%dfoQdl{TcM7*2lW-t#SaJ4r0N6I zsy6oGPQ#$Lvs)|cei@T@<;&MPRV?OWcrbOynTm3sgYF52Xu=RuOWngLHC#>;e(RUa zBp{*r`HuEF? z4LjHxU-va%aKIc_bd)aEb*`NFa&}6!Eb=!Pxd{(hovPp}#|_H-7EOq)nFiGo!UY2L zir*db8H#Hmj-A$8-_|h4dkoR>B}0U9cjlq#C~WpxG0(q{(g@jRW#aT4C1hZkTUu!l zmYQ-X`)v9k@)MA|zsF55uW1I-kYSV}TIvdb-I`^v`DT5?t-fAVjXG}0%|1^^Y&rqB z^oQJ9TYKTHY{eWeln!yaUF8_u7w)>_s0CoKcT>kUeCm0`LVDu69zMQ8K_ds%z*ykt zqh{JL;RD2l0~w6D#IFDTf}FPXCi4Uri`vI~L1VWU2W_L+JUlUixV{(czR zI)|eZZKic$Mjzt(_$Q<_g7A)BDVSH&PgNO^D&9Cnk02G>I>56e6E1Lb6fce zTb(78+asgZWkbsd)OvH(lSjV7wYY2LuvOlk_$)E}1)zZY*-MB67`knr__yEBe|DtZ zU&)VpcDz%D)^e^@l_8qzHk{Ekl@fonkMG)Td>-E28+ETV-c!c9EstAkMWgIRrw^;$ zg(!n2Tb1ZI<*T*UsZusw9sFKs?a{gAtOc*+LbJofrrDo!Q_v`reOmymqnOXA5@6v) z7$1M*P%$t}nXc||DUM#~&`!WVF{PmSIPaKaBgz@AtPWwaLJ$QHscNM; z3QRGH-4CuSEN+zbdk{)%iQWghG)8MD&#|M@Y7ni@+J~J?UM8^%g?P6R4@N-WoOJHn zYbBAM7+nZhL2daXLf)Hy8g$**Hc|)W?${I0SQMB6)BuD34Yk9!44BNfO=~;*cq1G? z%C*3lMh+jn0yR9?V6V^8gs3V5p(uTvqS@@JjL*SMYE1GH5gKU}GcqwkTwlr2Q|?~T zDe)Cn?OxFCUZAbuoMfSu(d_=yLe{c>;XKE$Z!xWvhCm4nV&f^!cF>($Snt(vV}fUydb_yrbHR-H2Rqgu^l#PoZxH;#s&FXxS z3|>`inSN8LK+S}k@=J2IO!95a+c~p*CB&rkv-bcfee=0L{wtG8VDP*FIIx47Y`lZo zK#3E;D4L54l+(JM7GjH+UJdUI9~TjWIKyy6Qs|D>mTK42g;oAC@h+>sO4PPinGu5f z#DELfJKz9zO(@@_Dig$MxAm5yuILH3AVVwKMFZ*)r~bMiztM9YQ*FxpT6Gy;{u%Yu z2gZ^uZYm$~PFCRZtqpL{Z1MP-h;i&Ey-OCSrqN37j7#pi=go{fMiKcM%}_(Va8U~b zU)9W9waA5o{+5t;@+$!X{*?gm?);RWRu_tBHg<8}3f`(v_vStpdhmPC^v85VW8H$wz6Di0 zH>YFY6Wtch9k3}!5C5g*SI8^Ezvk=ErC)x3<~)V%NCan@XxD?SN>qdAxW3!yx`=HI zEk&Zxl9RM;eaTQIIN5+wjVi`Vtu7904v;>8))-6F#~Ur>+b0bHR_?!%c}#$Mk+ zm$6=uWwI6mKHO!;O8!w+ZXr!=`b$No+7^mO(xuJ_Jdh!zC^u;|wqa}yo2ioKv&WW#1Kptbgs!w09C-EUQPCYl z({M#<*9~K4FU0!yw8=JaZ|cC}uTU9=_>>)GMK$^#;Zoz3rpm_CY4LH{Q^N(Jh)mKW z%uwopPzA99HL2N$iqL}V)@!U8T7B~Mv*2T4uVT|7IT)I6h^PPPC?yR|WZO=h_9hF` za0>5QhNhxMS2OpL28-dz-BRnj73KJ0e;;ncO+{UG?u10U0I&Bmg*?0;{YV+7_$h_JrU`|7vSZIeG0*cY^Us5QVqA|x+HwSPU5CU~ zfN~di&nY~A3Mz))^8+g7X7EXL=qSX<{4U({CI8J8oOycjcUl*BpnMCaa%}AZijo_7 z9muXG56|MB)i&q(6cLDq^W~EfU>9a z-G_Z^6(Ugvo(?&V(Z+ut{Bb zF#}VJta=C%om&H#3OXQqTbP;p#tJ za(Ohk@Yw7f&Dc9zy^6IRLNoyW61aPkW6#&JLm`y{i09QLck{*NDegtW*cBQmgLJk` zg2070bW3ecd8Z!sd>jmM0P=GaTij1CsoGZ*7VkDuW7_lKi!aQyu>NjQ?o<%!YIph6 z<}HVK+p_K~HK=kxNuPjk#(~?|9PWF*n)=A1FHWLcp0Ck7CpwG{X8(bL24DU5hiCpZ z*H+2vMOHnN*R>^IHu!J?{--M{c9l@N_$uk3FU_l2&Sf}MY~gdzdn9|5=eQXDx$N+6 zD*1d)3!w%x>80GgXyCdU(o3Ix@kNagO>Pq3esq!Vt1wc`pxKSz6`Bm%Y3n=X*#z%D zTiqCh#Xm5LU3BXHXyGV$tAz7;>|c52GAy0fb1xu-_q%Zn(mO4_LH62VJ0e2ccaP%5 zgkyEl=1rXM=0vX6I5r7ik@JL^J`=GCGc%OAS*wF7Cs_ zZ#BQijUm&Z(SgCKUGrqyu0J!cnk+aj*j=CsAlq4wM^*Xe6jRWQczNSEH9hl2 zt|XCVXny%d+11K0c(pEONLa(wE$mYfcY|i=1W+KP^$f9Iq1MvW?{Y81qg;Myp@Aq3s_8fa)9)i43I_H0#J@ zE%@ccr;SY6zs`RQ#fX*+&}?jiKlW`=w5-Nf$}2_K3{7opsGd`Cu@qu8+-0o6BIpr^ z@StYm$+zeT0*Wf7ZBq!&o)aanGSce{EpfwyZTN;Byekt7?Y#Q%x2SA;q;Lage&5V! zQ!Q=4x#y4F#1h$`oS-}&YhO=Y5eL`YdD9S;Ato&tukVAfHd#5Vk%&z_uG5{5dh||* z^{00FmiuEB1}r!_N^vhzf;fR)C~=UVImesF#fCJl%fmYKHUsVV1rS+9-(%3-*j|V* zc8X6RmXRDx!501dSmi$it&$WVe2xtI4zqRD?66c6z*I~2sm#FLBi*3zBar0+HH?}S0?qU1M9bQe_JU#7y1z;(A!$xsreC?ZWx9H}>MH zCi!WG{Bl#s7!;U0yJcc~?U;*rspAK&Q#FCCB|C(?=ZDx%GDTf;$DTG^Y{4t48;BnL zt;T@-U)xn0sFSY4eVA;s3#3?rMgSC75hnAjc`pmdZ2%H)fz{2ew$;Q*2=)iM_uRse z1^lri!)fqAq(ExRo$r(e{P$S)Wt*8*Ppr7eH=l6JEoiMd$5;&8m3wkUCBPazxle~r z?z*+^XFIHI#kDSJu8D0~mKhU*E@jh}S(Pv5W8HQHKp&#X`{U+E)QxJk=`c+BL(Ee9 z4SW1$!?@fW?+Iao$RVc%TvXsT!4o(qErpB$)TBBG(hl4HRhnfV-oSlpblDP{jC>b| zWYjC5hDEcd68=>Je{#564c#C1wYq(S!x{1|4}@qIS14^)x^#8Cm68R5HT;amw!3cq zJ}{p&HBO9#`9mf+6`ei?Z-vnG1O_+%p=Cg)0)ijoHwGsq@*?Beh}lPwqdsM=pAQ{$ zJN@DW^z;c@v>qs7<3D!~8#25d35cd_puT=vT{!X_FDE2+_INe2ycq>BqqSisx6_E8_dTq=#49sNt9XnY9>DU z*DBFV#ak@jn;+4%xD>|9mXlIOj~7D*7Tam~#5`GgHYtZ7(L=qEk+mT!Fd-m6~)F@Zz##`|oITK1dB z4(^x07+Uy~BLgY$=PAI+;uDt+nBy;!$HqSfG|>Bt{zp`^Rn+A_<0FSS9wn@xGWgBP zgHEcaKWx;LEp87Ahb+VqW_9U;o-?_O@f8s7EmSesicve>D2ZgfO+gbMA{+Q@5-2Sj zN5Td!7F6JCUQhC*iJH)GKKQm+e6_Wst(L^W78u;ye~&Nr;SmRj^vlj$R7dQXVpCu8h&0_B5$;u5*O;umQ zU&)_mrkV_{-}Y4;nJFqo#h@JB9UX&=6$yN}l_DeUT(N*w*b@JT=pv+W)!d6GAv%bg zoJ`}^lj#R8+q?A}Xy=&TLQBw|oX_qH9Fvx@GxNFAG4)w7TBAPGvqd8QTBJlVmIXfO zU)~#st7Eto9~*q@P`+B^^7u1#=C8k+8U8wVlK1&Mmq}TnQ!o&mEw0 zYv5ZlNJ0bA`2laU?)Lq=gkolzWV0cc{bUbutVqrRFO@Bt)C5#ufLMo;E}5a~mxiDZ zT)E0ghVnfOfuW5Sl-1w#EhMN61gxIN=;rA?G40_m{>!_2pFzMo;~q69KTtk0sFpi0 z7;wdwLuz=_97>!lpQ1X199*U%Eml!rifB5&z5HkQW=8}d8sZjGEkhJEe}q-w1j>a9 zz(P_O*}+*UY~(W!S@h>$+K79r#BJmtOI&)v6nKn`43~^LQ8XvJvn)k zM)P-)Ah=VU*y~JH^OkyO;YPyjkF}^Al?^S1TM6-*Vg0u27Yo`Q z1K62ZEYcn$&nx8Jxn7u0r=J!@u5?NZsC{;a9p8`(+hZ}TpA%^2 zo-UEqf8 zslFgnIWeD>Q#eIR(^%cg=hStH9nx2VzneOSHZ;zxPHxK#uL$>f zD8lF{Ri3i)BjtjH&$sB37i5XZWyhu{`YKHJkbob4Wg`!8%e&+qp!$2pI|qRXJEFRW zpZ>sh6B+$-OuX!g)Lvk<>90%b%9p`yRA&+K_6K(lx3 zk`>(;=ZtY={T7P~Y)0-$=Y&v$y`|4?D?I-01Fa3hpy(ucG)CqntARv}3er4tt;|kh zw&GH2N%6r4<_&J9u`s&p0gLR_LZUT!^U*@x%E~K__TUv&Ce>jQ@rCVfEJv=|bWUGc z>QHHIF|B)IRXGKI7`2hB4l$@8N$)@LXpwiz-^(Cb#Zc9PS2p-!+?+e=%K2?^(woU3 z#e)d?B=7G&no-9-2VmDi_z!P;n;`7KaW&hXNL-I>bBG&d%EPOSv1z;*@3j|UO3Jnw zNCWN{2fD}?F&pUWn|hB&X8^I3%FB~_-`bDYzV@=!Y&Po8*vlPa%g17yhw{ly(L#@G zM6#MChnQ`>YSm;ln`C8BBirO}ZQOQh z5qQj9i`yKkWQ4TNC%@JH%Z{(b8^t_c!r2Q%*i%37T7}I9^T6R;#<34_IYa&K!^7HF zM^pl@KhW^kGxfFw&`23W5J&OWdmiQRF73N*d$hS}W<6dOuWU!Ix$Iv&h!?iVcRAn8 zIgHEeB%0C3>-Da7m0ltsm*?m#{>XS`*>Xby{Uu?s7#6vsH6*+*XsC(aEX}fbfN`1q z%1IFtU6cJPu;nc)Mug=GKLhKf}phM_fE>70HnXOZ<0$7kmtVJxjm3!VdbIRaK`eArGUL=O-)V@yEA;F)L z0Ib71VL$yo)Ve#g)FMOCL63lho|zYdxCj`m?mTU=FrgTuTlE%M%o6}p(8g} z(d;TP)7j?Y(f#-fRo6RtYvVxqT6dh7U%Ek7x$h|2zMdpR7nEx2mRx$isHtV_qBmr! z**es9p)6*h3WxR3(8-dwzcAMq&<)f07~gijE8$Y2nUqLG@iwvghSrG!Ye=ECi$gwQIgx7~Z4)5%1jBA~T;9`$!4AiX^H*)g*>VF>IQNa6fd=H}=K%hmW z#|&d0@nxfSjY{cCT3q`r4I$fiBU`-?J?UGjg`$3wUE|-Ns)yuX+Ngc|(ijAaR4PxN zMUOCTA4tx)!83zEOkH z69E?44p)yHnLaTCye&h=q7HG>?)t(EhJ8JOJDT@S!va|&^QQSTMGg3avHv71#mTt`i9y^?5Ksi$TWr!w*8$kHc zr)FaXOwXKS#<6dfHxBM&FFV-Ho$z=s@a&cs@`N2yLap{CjVmAZ-D~?>baM8!T607m zDyzY>M7)di%rabiNpZD4TzolZ3v%V82- zYeCNblXySJ`j{i1(#4%R3LLXWh-nYG(TGndt z{lJByG?xGuC@o1?OI^)lyiKIn_O8C=dRCA zoR2hyS6QTHYbG|ZA-WY52{6Hq@~6Hw=J&+RhEGu*(g zsLna3P~wLlWb;pW0`bU|_s0^v?a;$Q-$1sGz38@zQ#b;zKiDrpXQr$_TUO=9f0(d} zcL$IDmSUF`%*zjrgdI}20qFDB6EG;}hfba$INq0lcda(#s@(k|sy@@P z3jU*dtKQ{sKHKHcRx@1A@ecnyp<|9PQ&VXEq#JN-JR=ZN4koXkl>}g2tIM^`Q*{7x zUEWC}=bD&dw%MYi&0ODuPBsoN9)<+Q6P0XRTPcK}a^KnbKa8L9MLnOsW}QQ`zC!mXkY?27&{hZ+=V~0z+We2}^QMN5(->lGwLlV}JBAf}YzH`B6mqfx^sj4L4U!a(}3*H*!(@EuPX->R+E) zghkaYeJCz)db3+cgZ`ygiWFuRlkHtgpWel{lTXpz-!>yWY#FNtZ!@Ikyz@`daL2bm zE&Jk$;sV^lq9H=Nio%dz2#i~`@ABO5tbh@0-|{gIA43N z0Cg@LHVO$rm49WA!sT>Xav9CU-O%zC$Zs8c4K@q>6s=vhf}FtpR&qYIjU z#HC(#0dPoZGL^b)?AMXuWdUU?l8|2D7E#Yu zB9@1r%$GJ|FdqN4rT(7J+M^>hi8dNyoORMj5siUlH#B2Ws;swud3}KX`*%?P{55mq z|9$fR%Q?UU(Mc|DT5RCXQ zIFsjAY!4u~{&SI2L!~Pa&ifBS_}!KNi-uHrINbv=V!ov+DucS5VJ)tO69H{%D&-{ zuPAqBozX1~PGIW{>E(8}B63HD%-qtoZ9fP=`0Zts)R?+#Qw?S4xsT~q+?l;x)ub%u7VlcOy~CYv^Y;C$;KW}WV0k|SOjZj7c4P3XtN6*=b_%a`U;O$%VoNCX zAoK6^mQ|g%VrHvB)T_0?Tn=1B1r4xSJs}T4we#h8{0?W{HLKKCQvF_z^B65>V~N>; zGXyFVslFhzC!)2|R5{i)@PfqC{c~b2L7o?zbC=zp*o7R-sh6vBortMZoBnL{XCX{& z+OBM)(%oV)2Z1Jj|MODfH$1m?0ZKd3OU=5 zc}_%ujy?W66YE%$=P-=LvFNQTRcrl(?B-6+cWd!>vR@B*SAm*y66ohtNT~*QdL6@h zBRRRTR_eyAG2Al`ycmw37_UK`Rj#nUPA|v5+Od{***}Sbfe56 z`wyT(*3+@QJ+F%?9?YeaW2AL!?tC)StE3lWBK~17#HF*UZDZMB_2&z z>xg;s)@If`HmRfu;}dAij0@;>&^W5N&Itmo5aQVU z-MU@xkavqtSKpC+B2cc!E4}Su-C|#3d()(5_;>n&Vq8F*AfOY_SO+I)bAiBSCj7Aj zPW?9LBT<^W>ttlGl47Y*Jq*L?(Zwvc4lWTgD?A!ZTm=ebchv@;-a2+E!%x=Qlj?Y<-{4}jTcjiDIb=P z`>-7PIF|K_Ovne7%iOtTqD94jQ*#ml z2tt@F?EDze_J_>k>5Nv!-b((r)g8b?i~71&O96=gsXedxz~CouJ9+Fz$28!&2GEj% zQ9muDv$}WNRow zSz4%|b5}3G*8GMa!@TfYJEcf8B%1^D!NzYF$v>P&m*=`l z>BDY6+*XZfuR>n$RVx9@nPWJ`rQqz5D8F%Y8lJSTQ{*tM^e4L}O|B;lXOP8B{=~uG zSb%edw{HWUq#bMh8=#@@<;o;mZ>;N=vam8~9lg-LY6p(@E_ihz2}~ zMam>TUKhy(ucr>QVpDA&OtQb8${and{*I%MI8s?>B<@TSwomq|Xlc^biuQF;lK`H_ zU3pm`TXAIX6~0b_VGax3df&FqtC&NklOa646} zL;`-$)2*@Y)0bkbNXp!SBk8RbN9g9^VBF6)uaOmMCQv2^r~&!a;xQ@u{*jLll5MOs z#wypkMaQk`9KuUXe!h9+@tl#}2LPV+C-o!<=zFdR&b_@O3;<1~w5GNbB(`3p*X8)wZ-}v~-szh&;gbZHM*fiy<$twbO9snI+yNdHvD@Pda{bgCsGo&>(u0 z&7l8^jTa=dgEvpxdXF4aPGvKruT6U~V#)X2o_A?z840zQ%7V^8Qz z=2hBEQPUZWzUpwzDuzM@j#qdR5`bHJqL5RTfAZCa@erYyKC~|^IDyL=J-d5z3rPrJ z?!+PAe((GImT|HaL^hLcz5^)akSm6anOt59;kk35Od)v(l#UvWyH_IWX-HJISq7`k z<)nTHR|Wz2k@RFbH+WjVrvrv_Pej~72J=tAZZcH1S;~v2XGJRg<@IQpuI2GjMWH*1 zP9$OhA8|WPGjj&I+XUXg(>aVy0DDq8QL`yc(aU5lhqPAWj3w099Kd>v#-GDXiB*z5 z6BP_yMiAc!jf>}gZgW!5*f*_h&x=yJ(+A{}?kzq&*dtHo>~X0BKW4M3#c!fX-Cb(V z2k(V8tB_;F)Uly1GO-tfW)ocB?|zp*)X9``yKpM!%vGS<@&jUZhINR>c&Q!Y~b$p`o-MP-RT_i))6IPEw~k@t54ss|gBMOds>k}7|Kjsaant0g74hYlU^1Oisuf-0I@e+d4D%swU>v!d)YS>Uv@-D% zmdp5=Px2E=)oRX4mb_R7IwjGJLWK*e+O9jL1hEhOohmve`Bqc8D{-x?sF}2nN&8rB z_|lyXjVd&Rp?<*3Bs1tkcvzhpAAhzYpK(pwS~mUPj(0<%I{fi=d!95NTCi1i+CMYn zf?-MoQc-UME`ESY@9VA|7~43nWjgHhu82S%Z$QC|EYfr}@2H|8)L|yaG@>|A~ZD!)c80p3M@eSQ{H7 zBrwi#x-MzEDR8`kciSU$n?CgqR&hgE`sxc@2}!8(F_4PI&+Xj0@ck%Kk;MuqdNv#* z4PSB7t2R{$J8F6D*ZsvU5wm`O)S7ae89TCmFKjY(U~cnEy`#7(CBnjMmF?Z(`}3tWR*T-6o}3tgFBmx1Awxs95PLg078L z({i4tx4#@s<4%pu!3;0<85oJhXFc)!)HM1z;XW(dh_NS{6f?4{rbFZ?S$fQ9YYr`-F7Iq`pa?V!!}m%oq@rkOJ-x7_p{w70zknx&-pzcx&9t&3$AN zP0{jQ+|LPT(e4R zc0XO&Sy^Hp_<8dF0noH$xfGXR&r*?g|2R&Upv~iGvWWtU#R!Qr`>vAB)*+CWyGxe^ zZ7oa{{ir()beSv(^VW5q0e=HVrouQtb3KTAD<4kL$HUr&ht2Jl>WV&j`#5Y(P0Mai z0Xf7MUB8xnY~--%w{fI%hwPDGiqD&GOf9>{Kg;toCEdgD*u|6=*DUfJm&^!UH_7QZ zQ&v1$Af%&lpicvv%;{rC$!s6-+UBQ!o%2itY}1=cbKh;pW#ydC6(i8oO`d>%Cx3k^ z{ff(V)E$jzp*YDkU$z>t;W)s+Z0mMJsF^T)Kuf1FW%pMJg~<8abe&pX{0K6aj7Zip z3crxeyHUZ=+Mb>)RMC_Qpd}xNWAc~G%qiP^0DV>nR%DFs0qkC6gnc2Y31J*G|MGmo zvZz%wZE%77>Oc$_Ct6+&ePs?~i5CT%pa4|F-QD_OFTg~8>1mztfommCk7aa2nIdXYS$e*32TdK9&|DP?Rk-%?j8#VrgT^ zf5j7i_yeV*YHz`Gy^JHdYfY4eNkm#)y#@-mdj(57JFP06v2NssHnSiHs0i&r=v zfeu#~Ey{J(6yxo)J|Z8ar;HuHPT#8K#F)xFxK@+*_0z`O_ZY^WPN_kZ9j6XvTPKqV~wH3`#b6JN$@fg2eBt|ANl4M6hlY-RP@ z@oO0+Chk4^O5M9hY*_o5TGk+WG^^8UHb#3X@jW};NgWkFL0T(YrdZTjDJ(gFzFH!C zdCSDjsN6_lRsvSgs?OkCSS1_ifRTfg|627g{0;#3#M-UYH@$@0p5BQtNyyNdpERBK z&UNFM2_eD72xf9YcTjbXTvk?2x)%b>yuSeD1=Vv0zB2YdFA>{mA$Jq&mbPY$GR2JX z^m_K{GghbKtKP90A)MkNO~#&1lI-_J(28>+FH*^0R;sB_FbM4gl@V>sXhUMGTMaVK z|5kJw@WbTJQCb0$H)IW?zmZ1SnzBLyj~LR*z5f4@5% zsrm%y7qnhqs?duN+mU-i&YF*Oq}W%@;R3N9R`B^6JZrj{;NfYlA@(eA&rh-aDowe$ zLplF5xq3~GraHBI`O5^N{L#I|*TY{qmlI(uDcz8)VW8*aEFI`|%Kx zt!S5Ro_Jt3k};%Z2F1qR?>p8 z*pTpbazKxZi3nk#vRTG=G%Sg(FhpxS9Rt`cYG5S!pYoM`(?V zcLum+gjW;azST{~IRsu=Xwwujgyx}ph#Alw+ADLN{Zcz|vM? z2opEyoxtEBK>HVf*9J$j;#UA<+NQ)}C*&I(Q{4zL!ZGMX z0$AFmCf`&a$%U@-Ua)!D3;@3&9i+#{s^D*(JZcZ^@j5O%{B%OOc3hA4`b)<1PLgq| znl-EUcZtTrsy}6a67EMM9lueprfTTHhv#q~yR#^Og;bTcp&*()DCG`1fb`3je5&m6 zyP8{_@Vvl*ML6x#`Dp?{3^4UkCHRP<2ii{im_(BX3}h-Y9l~kiV;$kiP<|(-x&I zZ}Cm6u3<8VLJ%@uT!Jp?iZEG!vE=+hTo$N)MIKY(nq%vvAHsJ`lfwb}hHxG~dH~?_ z-d-XP0dSiNv7wo=zTD22ur1x0YAWzfzl-wc&989?1qP2kt;pAeKk)`gC|}|OgXxY} z1$_AK73r3|88_(lA*ZF!BPyn;ZSBlxLRM4xEnt_?HL2qm#|UKx#m_)(XE0npqvB*i3T5I5wa-zUb9&))K1gwVs2k7@5nX7++cNvDjbFi* zcMkz-tbdT1jhLQ2B%+)h^%HqNTeWRb8~!EZN3gsE8vjJkdXVT+H_s_PlI0)Nr}NMb zE!&*25_Uu3i1J{Bja2~%>+qxLh9j)c6CPxysj072?iM%$4bff#;B_kg61D3Iu$eku zGnLottC4yiKLOy{ZkL;YbIX*!0zGX=k}{J$C3FUfkMDr6i^ev6C(!=UV864v9W$fl zfx$28IQQZNWDY^zD_=*eg9N>ydbvZEbz(o_XMp2`ATkOq_yrcw@=`JgQgy4DfMf1) z02Pfxd2hR;=^hNalo@5)P$7PpG2i0R87}_3WdXMe7P;_23=Rfja^XiOM+8@sZ4}ty&GH5tJY?I3knv`G`h}{P`p{ zQ_ZA=JeXV&DR+ylIiH zHhmXB!}RYVH~!qvDMO@2jXhFO-IFj&L>=Lw&6N|U@CKO}5Nzf+w#9G02eGd{w|{3{ z5tw*Gd#r5p5{KCr;l=Ou9>lx~Dfd@bXv$~5YSPud9jm2~S^VV9(jxqVArvx!%Z+W9 z83d%w^pM~HmNk_xw}}e1rti{v;%Ex^RsgPPkUb(6j$4{i3IoHZVB%077_x%8QdXwaCevB8VC+S1_&P9 zf)fbt?!nz18^!^euEq&k^|m3v zsehQLl15$*-sGh@%n&E*c3-y4c2W7(RCCnzP0m5_Zo`z}f2ZCOwD(79i+jivZp9UUd%#(Rgu`ebqx~gzJUPVf_-b4|rrz zzc_b>Nrq|8hio;DKSA;dvyQE{^c=)=&lGv0Fx@~yAyooS}SXW{_I+6D3XePR3aFdsATme;$?;<+hZmW zZ{9DPg#%;Z8DL&;%^5T!RHJN=%lil?J)|~YbJo0ockVN6QQpgYH<*3*3uEu2a#8fT zsIwrowLaJspC#087kw+EP%k@k*?4@5U z+hiE;iw~Uj$&9xd*V&6bP40GEft$pQIa%c^B_fJWW7shs}rtBY%W?@;)_+ zITzdzo@tHCZ+GTItl8Faiq1xM07Pzqn4^-3H z1l*1AyM~UP4?l1HE(xpO>@O^D@)2C0`ZRF|O11}wJ$iOCgJ$3ZBjz_Xg6fzvFl*1l z=J%@Yq{#_kx5;la;74FnkN61ElR7Qv!?^Gnp3-g=6kO;*9bucK*Hz7OsZJz6^`=MY z9V?c;VO-T&O<0pp7fv>|{cJptl9PXA(^82MbxO;)W3||hyX(8zU1U-H3Kz96gsYqB zm?HfOSh&2Jk!3|XZF-R85MDy-FwPb5Uq7watEs1~b`Bdfr{?B2MLN4bX&>jwcgf=X z!R2{7Du(Z-5=jnNaEI#{AKQo)-=F~ z8iBWQCI|yP=~~56?cTQeS{?GgXORgfb%)kffdqj2%g8ZLXcjqA61MBiCFtRWz zGh|0lc-wB-56^Z2!K~*TZ|`SR7>6|Abt?pI7jZclPaW9zlPmhPkN;BRa2MY-tCv@fFYA3*@hrycn$b;ZAiiY2Ty117%* zxAJT32~L)b26GGR>ranC0R1CZ{}vLtR}|66qC<{^R?TI*4tkFC=wma+LAiVIWAtM0 z|! z1`BZ8+@-Ew-qK|&&HLRCt-Y&pUY^>3@XIajs#?i?zVNDY(I1oD;7xV{4CEP)=Sp&W zV-t}oaE)t)&txg)2hmiobR zk4*9LIM$=FX~JVS4Ed8Uqu^z&)sl6BKYz`^)$Gz4-04l)gh!3Ka9yPLem%wGQpZT; z@Q{jlXV8Fw@5^9hI5Q6=LiZ!6X-qsug~iB5xo9rRr*Z2qFZhsrWf>vPR=@X z2=K>iUq%&R3p7=Kl?c`(8c29l8!L=`_R(R(Cck1fiT_mL<}=umO>}h@YAw%6n;d z0z8?mxwkR(iP2jD6kKHU+y;U3=3>_3YG38?Gn7;^LQt=|&t_V0UhW%=+#zBBg{?Y$ zq5~NaX9Mvy0dPOQd$-*dEp?2|d6-`m4oliAJ!p4ERUq?bhgaUNM{gFJs|j>6soMd% zS0eN(rpdP2O%Kg+_@WYG@3=LY`E&J!pKP@*3T}J*T5|=oyr;{4+4#jB_LQHs+D5i9 zGBR$CHG%qNFA1vd^med}RnLpw4f0Xv!ia8cI?(%pMm^P)R_pcRTW@vhhtPdM_gSl{ zLg1Jt=)!B+x8ofLpi#W5XRw#{vPJ}XSq-chr{Urjvv-$b5fF7H(fXbWTQE94o9<+-hDvt9do@UW2 zWt%=@5QiZIRP$?^`C+pxcJMrJg=Lcwm8;n{c8E9k2Aa*c$5iuWyUfq z5&R00T&Djh-L~kf-ge#TW|syO*??y?@2WkvavrYCT+eNQGMW*v$dPqfP_h2Cz!2v6 zDK3v1rMt^7+iw&ys~nKe4NtHpby}^_VnxZ@@|11;T{ZxyxAq~2@RhO>cmzmR_C($v zZrnihGD`Wu0rxNmeV67^J~>`@G25Wtpu21ziC|=DWb+5LCd*=m&9mDdoW0*jGbM2M zg~7!kEKz0rsBS$>pci!wTnj}i4>H~#5373%16q0~-MD*1+JLz@c$W&cS~*k-f@dh3 zC6*Jjhcm+izn*Gs+>=E=>e;UA;txjA75qgObc>2ZTrL(APGda1hy@_$zKa$zK;9l;9OU`)cCQbdk7UoS8-rK@(1@L_H8v@mD6KThHEv=Q^HS?QW zjQ|~{Drga0%}Z00K9Ps@3s6R)Ps5p=%q;J<{`fnmPdo zud3KLG+=Bji_%`l)2|~hd|6%}jc&=%@>sn4E6s|1_59(_f~!xo{`1AZuFOMy#fJ3( zb!OlFrUM{dEI9zAi+?{X@;@oB=6|0B&+qP}xqUEoL^Stt6BAw^DEE|lejyZ3@c+oa z{t?Nobivd7TMO{_>OevLpB2pgkFxLo4Qu=F%056V`BmzGq3@E8u}RSkU+-$@mHB@a z?Ad~`H+$r#~Lgi&qk3~V8_5<(T^Rt5o9pz6&--NDpT9UaQ8(nDFODMD}f_$4q%*qaSJW4radZ+&&1IxU-t~9MBM>5N(rB47T%^&imYdbkX3wL*V9W zi!08M_Wutto%fT9NG$$`*LsQr&?e2iH?jtZ>GDYbGTh>T2VxLjN(EW6>d4*rKtaVS z+pdWT1cy&}VlN{o+l^H7@ohI4`scRsqM>UO7qwtkQfRkK3~KfJAWO7vt(V zR~^CXGtgw+p-0+J1C`^hwEw1#s{wim8{Ijs&ps+o>|TnK1Ae=FC{w5)H(vQUDCm~Y zO^FNJ?b$QEczjeE;mSBadD=dHPMTTdYEq8h`Ue;`FP?M{TAL5=CVOvv5~u)07s}u7 z;IA3~-pK{|?6O?uE_of$Ql>1Ol($s%%67RdvO@W-DiwP1yU)d`P)(mC9RNKg1*jPu zWwm8QVGo;W*CK41ftl`e(=AaCEpeZ6B<5O&Uv~patB4!kRC%Q4qp=3t`C3KF{7YL0 z@As;iD`$}xt-d2#r9g{IGxKFYNBR&R5bLyyzG&W+ssQ-tNxqhU2LVc2#!D7N;eH{O z$cah1xz$&^&L5w?5=Af%m;Fspb7d<&F4_2OT%pB0EZ~;^ipy6iW&?mJ#MuXp`hZ6V z2JXtaTL;#Z2k>w2@aJY8oGL^EiB;agjgE4pL~!-=EiciQcXDMgGQEj!0w=!AQ_o6q ztA>?v5b{eyP9>q8X=p%o*aFbF^>=IU+ZsLA3#)6E_;NIgs$HqC4BzTPJ>ssHAKW9|8-GUR+!$}Q8ZXihq$`ttnYO3bPiHU2z;rdmxXdJ(G9Hh$R`!NXhxkwij(TOiBuH~}wb+a2z&ND5Gk#l5itJ>hC9ZtfTxlVjo;jHu zqbBK-y_Q8_m#jI;%>#9}H$4EL+jhUgGBNS|aW-)!{O&r-N2h4=T=0VQ+3fo;Wlb_nj(8tu%K$Fq)P`U63Iu>0mSzZ5+MrDUSQ8 z8{9W5;jyYh!tU@-EsTr0b!-zt#_VMLB;K0-vkGp&ppcJWkQ*L0GYkwV8ODp9x7q%a zh-}2O!Pw&pL*;h!f#2H;(qOuFAG5wCHSBafaCbYnL=T~I)j4`FlxSNJECD29;}}@# zRw~hZ+iT+05Rh!iYjQl zjB=0DTQ^}5AEc@Se$o^lUxO6AB%{0|lwd2TRx}4=aWvEv#<6hSgnDYvevE6Ec^A%c zpZ9J0$|9j=w&)Nj?-fy>x_kFL;1nAi*>meUULg_0yl` zCe5K}O$v6z*Br<;QH$zHeHtBf=#(8hmGzVuFj2O1ub?;A-e-S)w2gXJ^-gF%bSn;_PKQMU4&gTsK1tbK{Z<4;ZSv&J ztXV%!^g9UdvZ!h?2D%9(0 zZh|$36#Yu&dbzNeT3%+{XvqVjd3B*(O?iH`6#A_jsd_SVuC}a@0JWP@+5Z(WEbe54 zKQdY&kK)M&zSo&I14$e*)9 zn`_ylJ&SEaB<@uA9X^MFf1je~362WeX%qb(H!o-+m|yGwYmX2*akg{B_G#pExc%|* zkE^9woSvMRUCEpo+pZp6`5Ff2OUtsyG9E;e>1)HlnhXIZlXx?y4%sa)!N}Kyqg?RQFMYK=y!``MFJ&8wN zf52etPM+FpS3$35eeWKYT0l4 zOzM5k2F=3M_*C1)-d-4GOLSVGf%;D6N-KG4gHV*;uQm(&TN!7ur(Oq~TxHoG{d)QE z3W1d^fPN?L~@S?FMLNGY2YvM&!imIlFj7b8$M(Z8uv5*OhIb2t$(HrLdeH%j?BdEdt@!1Rl74JH_K(k`# zo@jrlo`SU$AL5Sp%hr=C$;_@$Lk7p6w&V&q-fMYYu-q<7vbQAuTma#)wq(@jqNbQ$ z7LCp8w6W>3OI7d880=+x`tJLQKi*~x2Ns2 zd*tl#!>kf^;cc~*5QDyC-caoVz%P6lK7u7%Mq`c_e^+5Lhh<=iU#>CpgPI#QFSr)d9oLk?7B(;n; zds?AAs~){X(X&jeT<#4asr&Txj)PZ`l8Pq=iV;vSG&`Hstmv<(q};t?adE= z8L>Ukh-EQRuKeYLq@;=R`|R9Rmp=)8P-62YKv`V?aK2DcdeKHF%i1hofQ%NrAWJNXS1A#A3S zQy(R2`MV2baG{2s(W|CC+LvIu%Hh{!wk8ZQjWmc$8i%d&J*!IU>~uVe_TkIxuYJoX zhdn`GFRAy0i+9y6AzCW-i9>vfN^|bX4M%gU+WjqTeKW4JTXOlW*!>^NSaG+D4<2H- zSnF1kZGJC$mfxNrREpSeSsPz-YI~`pI9XH9i7kHenaPm{1qFxY$g`lCl>b1 zh3oERs_KjJahH$5yGa(JIs{{2nz%@}Jm6MaiWiOC{67pl!!4q4ZRp4I&JCKuMWQk@ zcu;)r5yVJZB@bKgal{J;DHJQoWXXFGus&@%iFKXsk-Y}lGk)|E)<%YBD8`4yB^q+b zHZpUn%r@u{Nn<6zg5SNDWR;fSEbDjg~+h6EV+u?v~s z3IhtV(>3e)Q(Hec`b+}utZ#dF+p8J%ASlUj<@Z0_P&kTbcTh7A+8UW55bH=HFIzfX z?5ZvIa$uFKZMjRK_sv^9@Tp5_7X6#zVR5B2jyn9DP>Bzzz9(F(t5<*}vn70t8hg$$ zl`=%~5WcDQ(h>%i4@VrfLPuKfGU>D|f2s0yh4BwpzS9{y(ffd)@*Os1d~f|;tZ_~( z&Odzo{@F3yNTBRkh%&*>4(GmNpQAY#ukAab*&l>tmXueq6%4CavVVOZ3DOlsOVGR1^;vQ&{ov{%{YLx&C)-f0i+LT;~)%pqxC0> zH%XduYcGv`{fwpM=oB=qc+fZSs7p;uRn?d+ za>hf+giglb2lI~Q=RZ=Mw-Jh}Ien<0FalqSgLMR~!CitX;Rcw{Socz0c~lUH6`p}B zeNn92*S_5NU9r#!*0LA*xb5;F19WJcFNj$}$nO^m^P5`;Z|R5Yd4;rk{H5OS?JeT# zMen0qpZ8)j?2g=a>X=Uv$FaF@j;4(8<4@yO=wyOMA})AWZiL}@H+s>WMT2&e>g;9N z(?nRgZRO8Bs z0!{PnE)90aHoTk_v2Ls(L6hapQp~s|SHdj%r#vo#uQ9)$iWJ-Z;T)n8RcI2^2-OIN6j;`u$&6B&VRXPvC)XGe!L(;&@#>c8CpXc=wZ7c zchl7MIqr0L|tRkYkt2xyN5-Ui(9_o&Of$6yjk?m#6H4`u3i!XxrWw)ch)#L(%l z$!z?py|BIC!YW6YTayVa%8;MVYieD0#VaDkg&wCBdK+EWjqlZ?yOL*tSh8jKSseVg zwRt7p1foKip;9Brpx-%Cba`5cez>Bkn^u~gRy*H}vvWPz6?0bi;Tgt&o2}n#WD+L1 zPFtd#-g^@a+Nbjt@<5C(L<5?y8aIVv0!$EzgEYHcXh+5;NuRsnL1 zn&EsBTN4Uy-{5fma=Re0ZVR87I?hcv_&zePo^NKLf)WKnQb2YHISyb2JNaJd1W0P=B>h+GJtaaCJr{)Fa(et<6T!$!E5E{jJQ=% zH+;SBx~QV#&Ktq67F9+7SY%2L3+vyIgvFJQ{AAh6_PVH;g)OIXf0Qsb^DqIPXkJ3f zQ>H0k-ize#rT?7VpK#UyQKD0M3!+lYNpUe;9cP}pcVQb@uklmskG3&*U z%7u?0oPT)yolaT!tB_u$F7Wy78sLrYg!N9hh>+9O-T;YRO=gs#*)BJYLiZn-!Rb2X z;imIetKJXaRHSN-IEsZqyMj4PV_AWOl(8fZ4JuNmh!Q?9{aTrB&&Rj&I&S+kT!I>snGV)ePl%NTp6RJu}otkgA(C zm)>h5ozzBlLB*V)T>z3?z+YW$_yx(oMm3p>0f`wf+R@g?&U4~C^0k{WNo97@t9r6s z4dLAPkJWC9scMd94;7yN6uT5r2jYfGh#{eg0M6ccxNaebqEZV1c*O1tEUwkJ2<7}x zzC*%=Jg=)yWLv~$_DikN=aJ-h*HU{zEOT2Y(@GHSxK;#Z?$1*Sg!-7b|Mo>hV7AqM zzXyt|4!?U>P496+p?P=brfl(sV1K*`9~n~CS`^f$Xl{P#t61=}enEZP?rwDZs`UIR7mF;O&AZZ7GtUR0naRsTnS-VQy+Gqv z?~Vg|(#!gzvdZ53E2z94VHKvF*yl_MRg-f!>hm9}SdtUR8jsmXGtpZdKI{BEG$GPf zeDy&294Lw@*o9w*)VLyh-smd@Szp`siz5X>-O=6)Pip6!j zE}M3FAKOK>Hx)Z+xESF-Be3a?XR1lI>E|;)@0K7~TyC_3W9H3=5_ex8#6h&NY-?>q zK|=2-!dQ9vwUG1F+uCf?Ec9eOG4m0^`jQnMa;arM2_TnOuu`W}^v|c%iMtG4iP|c2 zh`lAe z)mb}PIuk3$lzSg>iAUFfG=PLGhXpJe;d zovrNTSfpW3DNit)D8= zd0Rgc%H3bVTx{_=1HeabUSv^igXE;+Rd7EFLp*YLbFsc)R$dASUksE^-}=WZv;VW# zOkr@BUmt%wYnzdN;HCaqaqLL4#VS2+HiLcLJ1ppSvUlWmwI`B!Zv}^+&(_^w_1F{f z-PV6L%QuNZ=l4p0Hym$gn<3YUpeZ(j8`e_SvQ|F*TNVh+c&{k(p*sCDo5Q~&_BI2F z``c2qSxuKy*Nabp1MIWq# z8bGhrBT|h)5gKdUo5v(}aqI%dSjC=+shjPxKf*Kt ziQAO8?EU#L?9?>YUliQaH4NvI*|I|qPoAH$x}q9$GxpB{X{BOf+^|2?shgD0QP*9{=PxlDWJh*#(ZsD^_ zmOBhldUQ@UwL4Ts^(BM|Zzc6W1a6;Eo;-)5;f0Y?y|AMJ+c%_bw{J?3gLYy9pLd|Y znWQQjA9jJKI$LqkL7+xkKl^Md;ca?eRl@slI0h&K{85oY4)9lgyWJpL5oFiEB@sq! zc69xcx4v!D056=bD{hQNT`JdDUet1n`RxO{+xOiACA5@GvFzN9Cpy^ni4Hz6!?rwl zlafaI9xaxfQqf-PU)I6(#$zrfRRB9^RR*_|>4$B8hU;l-$pJw?`I`~ZGGK>fj?GX$ zp@_5>LZ&-ss)g}kI=dj?c3o_tWa1uU<}I-oBos4AkEW@a8~cbP5`WOjBd6B7uNy~6 z!E^$4C@V$5clv;#Um9jb0+q%}@ zZ$9U7E=_^G_2uva`YL^aqd;8d<+oAGP)-Aow;}QRZZTnMDQQNI5v>hC2z&LMuVgqK zi!TNV9F|Qm6D&hIs07y@Ck$6Aur5DQh6PA?wo=$q>Ddze2w}P z&BdH{DnI?sACwUxx^;%^+KSp{5~Z{7Ii=W(4=FCvx5&0np}!CRlSZextEZ(XFIUcz z2fp#CtHWDZTqp{o%>&Fv0p-1N?%9!jG6^@87hRYnV`9~X`_Qm8ukdI>R&1==O;oTg ziJ0mgYDjq-;n@mY%M9_y%Z2JkQ+)^n9@*VPAumm`Q>hHU!{h~;OW$pNU4qfsVc13Jq`Ci)hn zQ=cDfZ)G$e?KT-hNisDPiiI|(H_}XKXKZhy7-`uGG6EdWJCvmfcN4;?#x)uB+-;D0 z?ln%pxTVy$$r9~ZszAO#&(j2cxMYjLDtxJtt>7~cpa4Z`+Wy%z839thRgtu10VHY` z9{IJg4-+(hfe&s%D^0O^HVjmkwQQSDw0ts(T6^@ncBEBP3?cu9i3w~*4}WB+>qw1l zLV-maL>{T#8W!Lgev{qEjb?ID9oG&fKFa$0k;V>{0!YP@IEAf&Sl8Sgg%HMJVfoc3 z7QO}HdR~HepN_zr#Ql}bR8vcLtL}E>gFH|5Dw~U2EXXSuqZgumDj`g}w)0b;5FssB zqYG<6vzDQ=Q|O`d5$%dPo&xb4{{l(p2n>MX4~6XeOWlTlE-He)On}EX{Qx@#LIg5& zGX3eW{v9{b>3D)931;rnc4MR$ik~+|=G5<6XsPyXfYKhEu1fl0;Pd7ISD~{#h#?2p zclN#{q7yuU`V|QK3Inx_QvKZsQ|P?!kjijh23umHAAv7L`Q{zBgJkVZA*=hSTeF9Ejs7rFp{)PlJ+&f{PXn&xqBKe z#20^Z3c-+XsC-hOKDT7me_rwZLncU1<{dzCYA`||-s zpkKgM2!Hi$n=K#SXKy|PQ*W-D5=yLV$du%pxBSG1{99XDl7VJ8NnHE%EGx&cb1ZH& z5AoLmNqLq+7rNwm!|mn0A#J4G&T{o9AzABx4Il~cszF&CR-84`4xZ%qN~TSz+h?x-WGNvR2$x(czpzc#F*9b-#zfU$ zK9*(Gf4XVf8o`bS%jemJvCWaDxR-fvDe;l9Q+{HCpZ%0OSn{uXmH%4fC&>9}WUYH+ zN&2c76I(**T9=vs?a{yVmx`;X{NEirT!2MSt7HB5)hvGTKkN2? z!PJ7IkMH;%XwO&s4wm->ad+_l{Ta^>NXh?Uj{vv?^EiL;BhU0v^f4yqzwU@!&gj1> z5mw>X7a&-1JoRsxu(>hy?ft-kgFVF!yTJt&OvWbc*tOVreyQUL85uZS9rK`z^ca zeQDPMl6bdSz~NazncPf&%pa=3UN~axWG=e8o5Y{tTT;zJl6n*Zd8^N$%+^u;flmh~ zwMsqZu-Kc+uU9Jjmsw#N&E9^4qeowMk|}S98qM3q*I#u{x4{2qEeEbdHxNHk0Q?^z z06pUUJf`=V)deghSLM$#jXr z$>?__u$j~gtSq$uT*M8rZY5GLexarupqdvJ)@l^|f`LQ3#T#n;*Zl_;B3N8{R8Zn@ z5g{gX!n1VZ#iN@0mn&R!Nlrz>eK!C)TLA66b4B#*SHQsBuL2U^UJS}ov2N5uO_jFcX%DBmN6s}vQK1%LyQNQ| zns#FKJ_w>hZs9q73{IZSsRE{Ww#`3V#Gbt%2p$#WB}@R$R`CObFZu8cew-x5GxtHZ z0C&}DPsUpvfW_*Q-rewllW%K@dG~3BwZQPdzGJWpTtJV0$IC=q-K@YzcT^Dot!6U$ z=7$eL1%=Q|@cj6xKIxB~0TD~hT^w_tW&e6Npu$0+#d2pWprkSlvuyemPov0DE?rXU z4YnmQ)3#~$8i+qyth>Kt9-Q2XquxRU-TeItfq(IrTq4^>U}$YU(};`A?MxKNii)1D z8V-I}LOLbxEJo??lSUdf<$`LtNOzADP@O2&Ee`XBC3JP~dl^<2SA=m`n2V;O%5=a( zzL5*!v&AbR$s1-H-Bvp3UKs4=H971O91_DbY~vVYOT6KS!Tm{yuDZ?koxTWmg2mOZd}8n>xO0p<%xzGy)-kvkl<0Vog;ORxZtgi#N?o|L7Ps9=-?8N_ z8)Z366B0W~w<95tv``}knPKW{zWu}#kfWFUD;z-(&2#JY#(LwDGMCj-HUo8khBO3U{6gJ{a!5w#SNW#Ppvij+Qn^B*PT zI(37hPI2C6x4r%LGMFT#{xEc^@EylQLL$;2hB6EltKfn$AAcq%9CjZ1qS?N{ z#>x;(4D~3A}mne>Y^8& zhJt4}Edl}6^Zr0anUpokj*w({K((~lN}v{!FEYu!+7tAEGJpr>gWY1MP&hG`@UFAh zAVNY!2J??m5aY#Q6nIOsO&$u& zr6&EGM0A(Liv_zWuBO@NW4?`2Y~=wA>4))?Au)pb&|68qSTn?R-21z(I^UNb;Cqep zMVv*k>wMB~A9O9!4p&&<JEqzjZu{=tGf19%{ET0V zZ+RPIf>rKY-bqg8_K9`h`<=dUkPk*K@~S%-2ku#{E7zh&u++aBPBK-I>%hadAo)jq#7D%ygO?rH`>Z< zZaQ!sd7_<|pxz-&XbGiL&0JzQWep86Q>p8!dqSUzh;CO$7v@5#vM6 z%IJyHR7iL5>m>jEGCB$y!{75r5x??K6Q{H@>PI0kql4dB+vqWN_W)J_dxaelg{0M+ z&f1Cr#I|VtE0sgcrU;VIFbsHUyxdMQzA|L6ZS0k%nfTo&V+KDPS3xFI6w5u?qV<_e z%uIE5h_7wpK??M08O=lrLWSbcruweV0P)A!?u9f;C+GYn{0lU>B9poK(N#1Mc%S@E0w6VT~Qe&vPLbs1TH)}`Qx zC?wyahDpLUKeuXkv65+vJfO*cHe+1q#GJf%NUdSMtBZuYAZ4e}rM1CtQ^S{N@>N@> z{(>&d!o(dREL6&Fcr!q?;sfN&fUU|9(*d)Rn^?m4$eT|qolQG`+F7{UfUb;uWO$pH zqD*SVzOXQqYhK5$zJ&m_oa&B8O#F_9RB66$ukg1^QaJ(GJ(`KRP&OVr2mkOW-i)1>*IK1H zq^#AwUy%t&NWOYN=ZO0@BrhsuK;JS)Ho|2*v2%cG6NtNjPH(KhSJra(lbr(iDhV{z zIuyjX6f`vUHfV8-qr4z`{jc=XulnU28%q5rfDQ!I6V@aU7l;qxL3JfdTKi>+qUYo{ zh@_8Z^w%FTL|mC`EY3Gc0@IQ3xe4q}#3Z30Kn40>9yt0e%l@Wa_bZjfM0s9-A++r*#7z%w0ArTorxyd-SHy;SJ znu0NLsO^-tB|TJYfd>M-$&snV56qVte@hcTQF_g)78(l z?IDC#w0v!N*#!L*|0OtSjSr8 zh~P=>dBED9)sTgfcG?-_k??w0q}p64n8m1(m9zj{BN}uBoZ^S)YR2+nuF!#=qcdH# zhh)!fjL&bV_o_ln+e3%?MFZs%4F!Uj8Im*BN|&yVu29C+_DtW)@`pNCLoqkb*qVr> z{1eYA+T(AVEzQMy#T2)Ma7MV3ATbp$@7yM?g#9vjGseumBh{!Mw)P=i2uaum>$sZexQRHDA z%8)^J3){c3TlCEIj?hQK-;h2Id6g*C&%UKg?!0*|> z=);${M_;l>e;>!+rOs2)OwjxBXN2jE#{jP6<+{dextp9Ic)SZ}FkotODzCLrcN~@<+ zudq8Zmu)&hSb{WzgBTu!Qfs_k12e}SGkR{jhp$V1JfIv}4-yyYzf2o@_}U(f(6$=U zvy6$QnrRvPJ$7m&;1DUJurUTOy2P?_E1>wfDWaPm+4;>U;5r2sm(jtk{an#8`UcJ7 z@OljaLFF#jSYoe<7mRABN7z?<87mw5l4;59@L>*hHG~1Aq@11G{u!9X_+zE@*22Y; zLOA<7AR4O~Jl&(&@CQvgk;MZA+uJ*)7opAiRS4&5`gDQo$$}C@(Q0|;uJc{$18207#<->(9I6J7g=!|<8OIH)14Xpi=X3hWm79Y+V5w%GXUGk_$>cA z`_)HP2?lxqAPyNT-TWTVuMuzE*$R0~utdVL-7Sb0%oEN!SaVdRpK)10k)^Dyiprxi zvK98<-Yc}D!(}`K7a)&TqqQ*##;!`ltO_;90}VuH{UyGKFP}qpQlK8tpMn0k;&_e` zZE%{fWc9{QW?JBlCjP{@^5)N;G@pZ$;y_hNYL%48-v$j5{^6!se-?7XgugJ_E=Vad z9+e?4T!8~_2Sn6wojvYe5EC>Osd&F3bsK5o={9?@pbQt;+n^of0}Ql jx|jXX(*G<3co6NAuVqexyDole=#zdcFIgsG5b(bM?RDgN literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/github-verified-contracts-screenshot.png b/docs/runtimeverification-wasm-semantics/media/img/github-verified-contracts-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..2bd08ca3779b2dec5208da28a75b82d4439858ec GIT binary patch literal 213615 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

1@HN#BpI2LU_peUY9{J2dCdt}7azeUyl%+Ww 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⋙6Kl)$-Uki>3BqtzA@xV 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 literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/k-overview.png b/docs/runtimeverification-wasm-semantics/media/img/k-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..90a9e36a5d5eb92877c6055783ec32cf930a23ea GIT binary patch literal 223591 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

{FVYsPrB8I zKefAo_X1tkygq8QNbDZ$Ul^3iNByXG0BdGo8k$2S08jG#4bz-YBybgSpW*X5D{`L_ zUeWIUzr#e7;4pDfhxu=>1uGAd{%;KhEPO$FdWMhfek9nLNZ=JiN;cA^kcX1Y?(mEVTCgr|4f2+Vo1wRk%DJ&3y8bFVHxa4DH?1d`Kv=0T_24T;H^b(M#t-ILNCI zHi}c*a8Ms84U*9X8Mu6vtF=m9FlYyWBr7NPkO_zW%P`u~k)D?T5Wnp@0w;$bqGEXV z<2~}La~F0^@9KJ82|fn(sNTww)jl=gbvu20d^?%tL+Cb%9p7m%b=>buT^ui zbGxYg{LSDkE@+$JU(yRxX+JPgL;Yf@p=>rPx`+u3lUS`WoFfC`W7zismR-!p7NjiXMh4ZL593RIc{SHxV8){dE>OS?jksPKb? z4s0sGl)6o$pd)K>!u;nY_W?f@hvgra5kT&6Ud}2;HVbU}`h;e=Vpw|a+9?YzQY!XxaF}ler z-9yy~R2IhdL(@YFQ8OX0W-j9gf-T+P8`C;58Ec2p?LfJL`yBRRvHgO#yJg>;y(Ca> zDur{16m`$~>y|1M6Zmgn)&&sX0rCr%WW-}o^)PT@(z>Py6hbfluE|Nc3?r6*eh$O> zon)7v53O02i_b&yEw^)Zl3S0|v6zjNp#n+JykGeUjyDCiWl*VK351%h81%G0drTK} z)ya^jV5LxSk%E`eKq%!N^LfX9oHl8Bw|7U>@!1uoo!r?n@V>u3Cidj9z@V7PTl}it z>-WJ~%I2ybTK8#@32riO-tyYSg}V^6ofJuSP70>=BRoU%qJdHwa$ zF?bl3&~;3#Zz>Tt7EJzq((R}yAcPTjSXTr)aMWQZ3^$Z`r=B*jXe5e;YXb8+(|e1O z)QnFGolV+=+bTYi0_{8(5OvBILrT9QZk%7C$DV&evHCwP!1Y@N51Eir7)S?hZMa}n z`6>vBMc{SHq+zYLiNaHW%xxrVPbfb(dr-ORbgG$5_OG;TZVNwG!df)Kgd8`Y_k{iO zGyX}?G&(hb&^$IB`a|+G@5w9}zPLzoxtaYzD&zg|&wzgTv@l7+c}ydJm-bXyNfRKP zwP2%5vm`L~*Qpj;DX}wL5xa9Xvw2=q)mt8u-?_;DvWzb=W^pv}(c#g@vMN{>^zY_5 z0SCE%==>Sv%b**qo}~h1SzYvSQoZ)RTKBzG%3A~o zOAsi}VGfkgyhA6ZYAxjM`TV)sX$Sqsvu*jYjlJ{J+K=U{Q)l{TC9OxLLx*GRtut84 zJU@i;?at^=bI%`8a=gWaIT%ng_4VSnO_q9UmXs8M4U?o1tx#x@P@*NMBpZSd%*AvF`bi@Mamqi;(HJkv=^E}j2V((1h6 zT}^XnH+gPnWVCI!efxoO7+=@$x%b{W-#W0jd^YBJZl8rpE? z8<&&h^gJr+pvOeI&3smLhKkH*H^c?fO;!Z68m(^}0gf zBD_r1dU;=9YC|IY;SVXY8jq)T576&G8;qo^f%#UV*1z%LSy6YMOrRqIFU)S-aXV#? zhF`1VCfC7tz7)+%7-IOsHB9PIV{N3N-hkrh&sfnwLjC`>8X2)gqP~C z9SQy_3KMzWAomCwD}(~GHs&pAyQL#){G)Bc;ADO8>nP?$bYPXg8Btko*PQpgC848U zH8d1>BUSmuK6_hKf7NxvF819qu1;uP3-ufC2E+9~-j6&#!{@Xfn>>53eJC-_7Z|?Cx%nS|0x%4N>ScD^X0| zdQiZ4H0hO`i-cue~<76}BR0&~!bazB-KkC>MC8?B7mZETIY2yt`OQ%#&WvKQYWdqch*r8Du9 zz2J21;krz<$#E#|v2H**MQw|G|UJFcO#Ef*P7bI6JW zst5@Xhh90Ni8AMKN}qrlUXi|I_ti-t?ZP!`l2rGt-7e|iQa;upkE?~^TcDnbxIyX@N70~P=BVcvS)d9yZY1a3L35Bs2zx|b5(dZu+tJoJ9Ub&7!f(bU{q z^%a#}!4xl38e8rKiJfC{a9Dfrtombq-Y_}gPvlfsn!oN2yW@zcZTAu8TF1DsQ{P@(RQ94eE zCR=zG*C=Qc@N>u9uh0k>i$;g`1(6hZUZW5erW`+gQMb$5wdFt4p7ZQ+&em3^mY&Ni znQCd){I}~&mphiz)N42suJk{ve$-k%X-id)G8DCiVSY*WI;m)62^367it^OheRTpv zMZ|-*^M%>Bv8)rteZBy?*6-`9T9coT3+m6u-kcv;u-k_@ib_9Rpx=+-mA8&+*%oPC zx{LK`vjc6e#o~@qlF;Wg9=|o~l6wa;s)Ny?6ah!Z}YT2K5_N4NrV@vvBaf!j?g2yKhJ#t^6tS5F>SeZH+@03aDLG#cYa+@ zji-Y``b1j3NVB$x{R@fRDr_B&wmWY>%k~_6ji~o%eS9gb)cesL zUMkw2*rK*tz3x!yC@>8NeZMneyVY|md4BMbUa|y-fnX7F4fE2o{;>+#i6_;2x4a%u zxbvm$L?{;6VdvTA?$r#CcPpIUpFp%?alh_S7DJIOMt>5Gj(j>D9E|qo;Sq*WYL;w~ zdaLD(^ny}XmgoK}h23_dn+BgxWB&`-gZi-wn#R0(M{bedB%*MAuCaZ)?c8GzmS&&4 zf?uNvZ#u&JQMGZ7U+#`N*Ztg`m2J`S^}+qjJvJQ$Vb`s~^;!+?0Jf)Fab#?=pejwW zaqhe~K6*=(Xn67V@Kkf}Q_E{F9xSW6aw^odI_fC;MU(LjNAOKMc|1{soA3M}*NOTC zt0vQx1m`%2_HI|JQt05 z_x(G|a_-jJ3|recUThqEGjeq72SIVmLcj-V&zAFFI@c`UWb zly+hFKEHR3{%nZSe^2~^&P)l-9JOe%XDKnd>EK71NPURJ1*9XQ+q80LSF-03NvD#*L}7-)7Jd& z6~oxPM2=H>ZGnp0<6UpBT68(9uwySK4rbPPq~Ga$+`OLoS$FOE+pwUX+8{&6V|h4s zzR}{vM*(BCsV^L^v5a1gh4q#tbZn##-qcc$*fT-7F5@2XU7W$qI-A`ockKP{N*XG@ zB~Hv+I_Xx|?B$<2H|iJk8&P2oK=jqLx2=9)eUm2nh*N~CzG|2F5Thv;&UP*Tu0zZ-Y;Z}GoWi>&W<}ztmtii!@&d$s=v>rp{~%!p zR&GV*5ro?uMR}hrjP?vh&o?pQX)Jie+>1@?Ch$C%GGfiE45sRT8A@+3eDJ9;ShI`W z@knm}!qLi~;j>S;3WEI9T@{to!OXG?kKm8{hlH6kEaec3iV1f&uIzP;s=YA{mo^I9 z{a}|HlACjt@$;c~Y3E*az%8uOL_WU8svNQmu5e)8{o^*gr^WhhKLW`Goz3auMAv}Y zimy*L-XrdKsswzqnyNe|eE2&({o}*gU4?>-$xPvu%hY46c`pRN5x)tqrLG*Fh%%n_ z&3SgR^OW=b_z0idYMwm=iNf;VrExkFn&K|FVJ%m#E1;2rv#dXW{}F>6-rlo?SwD>j z&jycVJSu;d)L&&thJlxGC6b1q?H8_d-pD6Xl8s2(BxS_Dsq=Ws5pt1ql+ye63o~>R z%!pVTSRo*r>~a639UX1Lc?fPO{B+H-B?*6Q%=h(}YABnGgWd6_x%*k>G)doE(oHGC z`5(=XKb4!X7c+>Ec+P8C+7rI(k8B*5W&B93etTTit#mMt|HJiLm0jB1jKXnDW6ICD z<2yE+@A6Y$5nACU|MSMY@_A5Sx>@pNwh;ooV={xWhx9jF3c~5jYu5d<3 zzlhyMZQ9&2xMEyJl@I+(uW)(5QTErpHxozTeBXRyYN{$2?=Z0x%N@JflxkuR)INSyBV}^Di@~G+D z%W7uy@}9r8AM2K3tcReZR5ZEE(HO9zwzj6^UB!-9sKW*1rhm67<%V_Kx#>1ec$oBE z#=vFYJ`*-;kFwF+hlY@h`?F30>ZDSlXj*8?Makaenw!%HGdIioP0BQn;0mnNIoxXf z?XmeB^_81zB#qhANn4XlS$)Fuew=|-YFTC&b0k|T4Et&!x&}{`MAw+GC9~_SMBgjU zd&zqJ#3Qe{C$i`Tk&(yM(jJY}wEkOVh}=AAE#*ASK%GNG*F~M zOZzP`=^VVb#%;H*kSJwhaLiV=$>`h1tE3f&Y%@ z#&y}l&Z1No1K+7>%QNSZAe2O?7wVL{1-`h7ELjQ^33xpZdk^QX9N5b1+2IW}k=@-A zw}4b`vU!o~s<=5V*4OgUNPQVz2F&P9e#R(&yeRVeNx6zpynFa7&2o*xRgPiPu6b^Z zicF-xMVq%crvY(QR(4RMaai^R-FFE3l*7 z&bO|VP-fYtV?6je+ zoG`bpw(?wHk9H|SZwvYM+FO2pEX**_oa+X~t6uYm353@~O!WmWi_1y4cZd_o+v_M+ zf4G9Zcbg|huwaBnprd?1kjgx#`bc8?S#>!P*3g}YYNJV%hi*}8svgazw4vABZn3&- z5P4|S(JIs(lm$;|HQ6|E-TZaGR{eiZ_7vg;E;h(Gpuw{NY&%-H%ciDpfuUTrQqcN5 zW^>$_75&X+76F)*cuTqUJ5w0zYQ?-x4s*R$9rX)8ZNgD%MyW_v@gQezVt711{QF^H z^xT*tTsOb!=RhrCo-=l|F< z88~HitHiTW?o*EzpBic&2N~QMRbb&`F@AEqwfO87NyK0iOndFF9TjFULDSVAk-kcYSfR-XN#3uk)h&i=iG=|*D}5`bC&zM`j_1;8)qx23S^ z0ZQ1rqWfIUYiq~X?L+)U4lII)3#xJV(4zR?m@H=f&`#$1biv!k9)U*GBEUjS=VTMa%Y!*qI##V7cWu7f%-<) zfbq+>EIRNc%E?>z4t51q=sbAy4g(z0OSL~#YsMPgOydv27oQE5`LQ|=6*!uIWm{`y za%hT5Wlx=2)soHlb$-SDXk84RjwUJ2o5LkjXAWvQ{YA}k?6GPUQI|^%^$=s!MP*PV z2BW3CmMQR-s)Xmr=-znuoVwL=SyF{dj!}LXPU9xK=2EK^jOK67Rdz3#fj^!$41eodoUW>(a)|shDma$kCA=yQer?ir zvu1W-fZc$Oe`I~UFNTY9{$b*O5njc@?Z$JL$A}n1=+xu%e0ZJ70OZ3R-g-#kUyY4V zLkcDn1d1SfY8V^5@cmczcZ4yxTbo4f~}L0S4OpRDqShZ){1OmWCKhgzHPcTzDFP{tGU2 zUqLeF+0wYuoyDHF{b?1Fj0JwdS(j-@sD4QE!aqkzeN)J7_8zleZ~ke#!7t;Dg(Kl7 z0G8SAn|dt$4Y;4zuK^BKYgfi1JiFYUQuR%f@MlIEE%V&NL7b0(?aB4t{TM>Zx=7kpwce$oK-3CY6^kc%6!C6ILyU{&cT5kKe(mvA*HUY?!)=mbBRd@3v}q5iRJua>UgY-LQev+?-1H}} z{(upV`z6?k*^Ax&k3pf)E+gXYmB2SfVeG0tMZSnu}5N3Z~Z@-t}-gCu4x}Y zKtV)lNrSjSx)ljg>24&ImPSyd6#*%c29XkJrMpqO8zhx(q#M4ueco>^mp>5qIcM+L zGuJgKkz0eynkdV|^5E~6Qi~9k)AS$q^=^q17YObS%mo8Y?Gs1^M04@+Q}i80LrS%Z z+RQXIT0{(g)CyvAFSO)f{Xy^ux9qcl1F^0<}w7r+8Uw5tPBw~EKAE8gB5Xe0BYAPin zQgLaH-kCj*U2GQ}2?+)Q;)LZjO;uYiF^GYTv^Dm4&p3J* z=rG5@JAXs9``aeQPu2fsfP)j5@X-4X@FcL5sNp|n-^%~}W$WG;G{2Z_{b}OlB*9>Q z^rh&Soq{Jq8T=30EhigwqE*RTS}Pz)ptog00;Y6FJ~(CS`gZt=8-OK65SAu~XW_|e z=s_<1zhgw^5`j8h_hg&vZND@o-gKMII&7q6J*f62#705~#U5WApyb!)8(*&;nE-hVxwWx=IoFA?qJcn(kh$XkazQ=#pn}hb+<$IyvuN4K4V3OV=-dLjahqL@t z+TczX)u(gYY!Q>4_}~G@(Df#&0-)5`wI!6_@$kYes<-_g1-uGN2t#!eW{EcJKGA79 zeL8sS7DsoH@$6zyM=l;trsM0i@~Y!mTaLG!;Ro6uZ5y?s3m*GYX>XF#BYca{ekhgO z-MQ3$N7I=CDYc z%@&uQz#GA){)?NeUljXVh@Hc9VPDG@{O!^7`kaDP>szDP{%;^^191uP1U_1ve8gGd z9=K^$SlMgZn%dq{9-FGW#|ZAB;)?In2eK&>VYK*t3A=`UDLNw?5kD`7`u`TLZ?cXa z_81(ye=Vr%yL(m2kMA~?E=~@vms-2{E1AUi=WmU_{~`^WmOFX{92?6C>pRAO!SN~+ zV&l0l?=v$NJ!rudZ~fBD-TK|M^n>P$AeHKnEhZLB!P9{xJz{5jESY#$Y!@a>P5%SO zaG^lYrVNW#lyv2IQHm5!TX)LFmG6z@ivRPLioWW_h)kuNEZmyUsc@?UAI{JokF(flgLrQ$du(*{RofxwrKId+nYBlV&kB5!G${Z0-HCx$%&_!pP?47SAh< z;qtcQJ!usNUdrn> zJJ~tTWQq=xd)&JEuK6Vd`{cwiSbFoHWIrYH(0;YGb<383Y@ve(uQB}IJpD@wouK!) zxvSv1SgbMO{tHdX|C!ITp&-*#=9zcG>9(N< zd1@+!2@Y~Yl7@B+;v&Z!G_O-TRc#k*_K)zirrMpWe1acFx+-Ju%EXx+MI-_oN)FS}z`ZgIf(EtGLQ&*aa2hDZoj)UV2M32PB?U1B#U6(|_ z@5tfiFV_FOUiynW@xQO6Q=^#pYo3^zJ#hgk0Y?P<<8zJ+O0AcN8tsfdc6W@GW*$H^ z5nOBSUj;l+30AHz?7`hQ+>3S=Wmh(>hbxzAg3Fb?6q-gy$3JF>P zCO^WEng}M-eO>tad8-y8!#rnCJYF#>*>+WhJbq^6M@&1`Co5^;cv-DN?0fILg2IIq z5J#obQ!@Fqu1;3VZnwqt@s5H$;l}!3dCP5Rlv}az!)?7h7$93em4I6FqkyF2Ha51> z)sT){{%U(Yn-k6gyL7n%5gdNH?7USgAKA{;|KmWzeo zLj#*LiM-s{zV#00xB*QJoRGiG9$)zd10?|de-Y8bkB|k{`p*V8Bq-=T3HYFYzBqbM zbjIz0pSAu{GLVP9&#Kxksh!YKsEz_Nhl9$NVNQVvyl}QD+Yl6M&IRvs^oy+Dy-86z zpf_x15uUgAx_TF7j~!vV81i+ z(~nSF8+je8FYTz$etNlG=9=54l(dInuX_ZISAj#5fzafyx=)ZV5a?4J+)MQeC`n~) z>uHk3sVm3X>~GKRgC3*vsdJs3er8E9;}9&j|4D5~k9MD8>vjIzC}tK$hg5?~WfHAl z3bCaHWxfSIwEWW>ozsOpOkK0mrpBL-@Q^auqG&uUPe?+CIA~kis2`n^hPpC9aHW&O%)M0 z#V1>^fwaB`bH4YzG&)1)gG}TI>b&w6VyHvF1dH5_%$_I+A`wXXMZ>kj6$-?h;all@sa<6TO3M? zg<##tf1~T>&w|l1tnw`Ullr?ibs{c=m=aE&JdHt+^S(2e7Xzx!XLA0~mOpWGcqk_O zm1xb+gx4%>KbkZHJ=o_`Crv$$BRs*C+rWp+TpH-(!+p$f@O?se)@TS533}scc!NAd zl>tHBB;6NoiSOj*&mTXH#d=fmf~Wl(r=e8;olBJVkj`}xBigB|@aCRlWXZT)4DCQ1 z&;D}uRs+s=KEw#Wtfm9+c1mlwAB2N~2rVq^#vt^#l&tiYof$E_dUD{U3$7Tk$+SD^ zkH6l09G(e+2Ft^B1Etv*9nVx!S4rQ?MGCih*;`xI*NZMlcARETyWg>J-_k&!AZAB zWGX4H7hbW_?rq3%MO{hk{51sMJ4ko&$gKBkRi% zRFYTwlg{nD8=R$Sf+=4It=Fs_vQU!{99&8+Z}Gix8xzT3HLm%WjiU4m)J33Yfa>$H zi%ETKO#IR25s>bGZI@S&-ThQ)M~6-H^-&$y%p~*R)8o=0I!~r+sH5_TkxL=gXK|fi zgtBm7FolMe%``#?@j+=&5Thb3nOo~frS^Ik|x z;RYO-IK_E;mt^q~vCzA$X=f>}N_8d^pQ7OUS_Y+F)S6OtF~7H&80gB*u)P&pEz3c(2ALbPE*Mr%`|d{sv3|p& zb$TKPgaE?n_j^>LH%smQLvirDz)H&&MR*e}T!a%RvGa$_t$#wu=><6jf4B8h;yuZb zCSLje+t6N43?O`ZJ=f7ry{v5SX50$tL}cDi{@k4&$Ewt_1r|(03XDmH?#6c@KM(v&Tl~iWA-2s&D&lL6FSUohZH0vE*0$nfKu)Xwr#9 zaK8X5`hs%vmw>A)GQQR4HJm92sN2%;?y88Xoj%p z$&lbF-CB(|6M6SmV~MHS9J`1^j(d(^_U-~Y)W(R>(!lApGUs!iQfo^>mm{N z_^eaqCLoV=ChrJZB~P8y*5hdo@I#C~2$oVwS;-YQzA z@NRvMly7lslu41c>!1f90nIB?fW=sEI;t5OXBS%`$krcb(%@_xuG*D$xzrWng(H=r zp|6$u+pAhaFK%k}cehO@Bz(MAU?(|INS>aBA_k9IzHwXVS~0X|4FC(ZLpL$z>A0bC z>#oab3Y-z%=!xob{?p$$RG_<+;{2|o5Mux|95y+smyI25Otr(liofFr&l(u?jC%-$ zTpjc;LZ_W06mQCIKKh`l3|#Eb%iQJ8W7uZ+10h5^e(Hcg7mp0PGw14nL_ZK;xQi2n zeZeo=?J8fDO$Z564aJNpDQg{eIK6&};iUe!Tw81Ew<)CVwuM8y$9=vITmoc6{7tqw z(VmXC4c&8_c5ci(?7xJ?$lvlD1~oU}G{8OX{%#GtBiAS%@2H&)5zGAi`&CH`x|b~{ zrv3hVT^u*qq8Cfqp^@Wh&t7rh4g%Gmm97oAn*^c_7JO9k22II`t*AiZH+J7I`FY?F z1(z@!*^#fInkK1<`BQZ75M+-1cfp5>Z#uof0Jitr3tlIycoWPppkGAkN7ZX%z7mR9 zyk=ZXr%_w)>pDSjmzF(dh>;{}sLm)qCMw4K7!9lv`_98@c1mrtG;}_MtgcZzkiH6P zC8s>Yq*R4y08$A&VMf_uY#|Ezem@{>3hdvaVA;De-+In(c!(Dsk#oe@d-uvYg9IVR zCIcNK_S{}mn!OJH;JMBUKo?&U6&?(Xb&%h4hpWwygK;ATbfV4FXJy}iNM=r$d>+^A zXZbj)_#rBR`ZK{sIcM$>&P_z@@HS4sIHW)$K}mzV?|!q0U+V4l2xlT(iNP7+9$yb; zRHYPxU0zouABOn(^VgFTkc|b#V{B5lV{^f7LiHN@mj}xq>8UH1TYC?Oykd9JkPgXOh+)oxSP8C^30;wR{EQ)(q$(u3qiPQKG$ zP)57en2-trhwE0GHE2C3oO9E%NT-W#KOSPzryZDl`HP^(W^v47FFW3u0H)jCA4aL$dCEg`pe>dFn||I)P+)>3N7U+B$X!C&$!5c z#ax_-yC_lGtPMVqCwhwSXGlO%k51|i^l=u7*^@=|6z_J}+5rO9?!!{0?UZ9ycYJ6; zFEhu8HYg&s+2@OzZY3x4RG1kKtGU3rfSp>c|_bGWxsw z$j7_zX(|^r#MXfbgK`8)d*ujX4NVtNl zI*g*WT>rC|X^0WyOmnU^^%I!@4?EPuEhK_AvA@3717nuscfrtDN9wXOq?BI1@%xCo z{rxzUV}4A;wwY&Vf~3F3b;eEFDwWwE7F^Kjrq`IIS^tXaA7^mgLaJYvGbN<>3|gx{ z-@2LPXao4!!7pfyZhV>K)_Y4hnDsjXDZg$>!tam81;X!Z;8{bY=MWNeHy~^!aG>fKlohtY{j$5U~J~a9OsmD>jI#97V7S7)}?M+4#S&}=+QP8ae+KC8o=ER z*JR#;ue~VR-Q)+4kyZf<_)wT>FIuEbJ$9-~P(ZY`N^n%xV83!4Je<8cAcaQKjx=VE` z3GkN(iF%ptZ^w_smy$CHw4tTr63fMc zD`;Vi=;8SC%&O`WVyXtdAY=c-Hkf>!cqQcfPa`V#c`tSzRhQ4Tod=r+jcx2XKpuWsHcUZq89}xrcZd%mOAqmdYzs0u{%aSQ)h=`O(zYvsKd?(!>*~ab z+EOz3nvzo4_alA+&3rJ)kW#2+C1=@K-J|>`D=A67-f@EniKJiizrkb~V$ZPt zy-gEu3B|Q^Vo)0$r7PZEDq0UxAZoA4bm@WkV_Js(;wce9DvfK>tuhvGTT@=rC=dEU zzU~)ZjC9M|wg!ose~(XDvD(jNcd^csMCpBzuL{P&rQpdkX0ZVKX zp!C^UlO7%nD&2yzqJIy^frqz_(up^hp_M})axGYbYzv>vSe_H$jb?QxT(to|dv{fQ z_}FRfIZ>1O?OcN9)R%K+pVeP3U`gc{6?Pn;Jxp1c`4ebP--BSW?~xHu=?qz7pa_rSDo(dRkEnT57W&tCwUDC$ znYPS(7m6fm$OhIB@P6n6_yr)q_w~0Y$B=?B=Xw*Oh7g{6$7Bp>Eqa)JKL?VE+v_g| z2Md5AMhWwhA8PGB#WovUF1g2+<`yo%^6!GlFqLM0pyVOFA(&oxj5mqwQZEB5^+NabO5{|L=pwPA3fj8?#V~_phAtWVMD4e-7?Br1l0f zd1pYFqvTaD#l_VZWM{83m)~N8Q!9INeq8jtF!pxHkrrBXUiB+xeL3}2k)!`4XJKUq z$<~qc-$8;7apWQX1YdsF4-{|R&F^wjueddhAxCkCWiVgT;_}_k`KO-Q?p#PjDF`$g z^t8YrcC_dqL56nx;Lu!-95i>*nLBv^kafs|)Q6`uEsd{H*VxF|!wCRP<1qgyn}e58 z*#wn*ngrQ8q!JY6*MT2rlVo~_j;eYM8%3K*Js;UW9v83Bx(ST8YE#Vm)A8$xOU>Gszu z(%S_?*sy8rzr0;WAd$~mQuQh+H~>CRLeKW;94ZA_i!%}R-leZs*|gwsN}2r8sfsyf zBCp2m56?a9ad=7tF*0sl30!)eIHM`cMMeXA|0O}=trEJKZG;MVfn;jD*Nb9sFpmfL zQc)#(k>0|+DxX&526>jx;aQAtm8-iJz;g%4ibq5( zi~TXzwu!kwjJ%m{@LN*IUI z*_7LuEu^%bHa1AGe3CQy%#mWU2x=QqLQxHW?Ih%;i-SC#yx{v3bEEgr$ueG2A&Ty{ zwrb@Z>aH*igJqY0{hIDeKp0IQph;}$l%Vi+w^cJuH~{VR&!EnPL~b2~xw$&Sk_h&G z=$2H(sA&2LlBbtg8|4B&d$Ztv1^1P$I2(E&oIaDOLX6&V5FO~9xSiGWpFA|gMo#d3 zMkk)NzI~4FbdY+@_0D$xCqkK$nQxa6D+q2VgMPhHCq-h8&SuZ*T0grw23EsadX}5q zRB|CmNj$$<0#b4H6bVLJAx8s7+I;jIF=2KR-A)%$P?kbQAZ9MSVMGO&9R=a^BInP` z7%lkWLIiad$|v)p`4Z6m?<3vW5Lb!$mMZBm6K$ai@7r(E**fykf#%$#0e4<@joc(r?0U@Y z7YlL&kFMapSYx;RGmBOqy*ZKm(WH`J+zvC0g(dVb3`=Pf3!6GN8bCa7(5s^bVHw32 ztR(M5{lMTwXh`ITg`${-LPNC?nt2LWP5Yz{;HQs&0Z)Y*k|sZN!s6eA8gvM)*Us&D}rm^4n zIDvtV38jvLT>!3mm{11}qtv;p_sO%A{Fdo+HTepSj0 z@raLHyaW}%laN7kh}eD{`Pll$7ch3y5k#E7UjQa;xiorA#B2OpZO(y3v8Mt7#*I6Pom*Ai zo7t%psgTMTLPS*@fiViBZN)t9-REa9MV3SewzGY!ieOpr3H_isAMbD&^0*0n1|8YD zf4tOcXkQVT^!9?TwkZXClG{8e-$*<3@Kc9A&j_?T@WvWcR?Ii|pxxmaD)8TcF6Ua( z#Tu|B($|kX`zn?k+#mj+{(i)oBcb&_h+gWb%T3`6-bF63zAy9J`{r?DMcX$CT6GmK zVca06q16!<^?`>;d=V2x-!PY@Fy!Nc<6_)-kBt>qAB3?!^gsNMIzhCi+_M!l8z@a6 zipPbDJ~P0mh=#=^X3Jo81rZgSJY`vQo#4asYv^&DR8>_bq%;;zEKZ2g6iCr0~s zd8_Ro%KG$gTasxE3JYaDN{WIG<89sZ1rg(e8!TKYTld*^udkn#(wI%Wxo^cT>px|B z=D7W!)jr?}rr0_-?4i74U%;tS7L6UL!GKA^=gu}iWsg2}UW8c%G#3GtwG01(=pzty zs#t@GvwBG*AshWwo99K*y)@^r+YrqIGxjTe{4inU5$C<#r@F3BZpB;18g%YcgKy1W zDdHPW!7~`mF#W5HF?C&btdKlWH(VvZ`|MlMb=?c|-b-qJtL@G7{VA@xB@VRLvFOB# zwGS;D@pDdJ=o26x$^9Dt2O`^W5V6583uKP}0y~*ZUgPq)^!GTXz8Xplj?G#X=>Tp8 z{_{$A`d>6$B0Tfk^|t_fX(S=wZ?qvXyDDyRhbdi!(mJZJbA2MDO`7D85S#MBG!Xdo zu9!)H8tEcI(GQcA9zeQh@Em4RoSNKd8N0O!_pF$NgZAi2-9^3<;kYw{7uCjl(jmiN z3u$(i#UiB|zfzrb6KPgrYlybr#XuZNBBc0FLZ}8{a@#U^w9rAO>4zNXt@T4Aun?o- zA)iT8vI}064nKn$s6l) z4U0Wl4$nemu)OeSqHSvm!;%1Ys3k+d1y{Et%h%@Ld|ahW2*4G-L<+)%%v$n;a5pH@ z&3r$=l)$a?$-|#d=bqj%5ZOCC=hnj}eSVrq+I@US)KD2iEIyf^P=F6STs{iURtPA@iKtTeP#yIwUAl7&rT@wksu6moKv6zsj$i{jXgeLU&fd~ z`+rKk+K;+q-d13US%4MetO>U4^S(}Lp~io=ZnIaBp*;1?uCmL+E`oWoy#LPyutR*J zVh+VU%!O2g)sD?rVMy07I5*;KUsw_w(qHMvDzBF~vbnypaXkprupK<%&yueGw=wiY zR9;-xsk}ryOa4@xVdxWWoIF|$v+9;nOpuZkkg`n@TR$nDwy)j73b=w)*lEducjatw zkhJX*g@orsBUCPZ&xY1N$aMmKB|)@^cRuA;=0#9Fb=j$k%V!=~2|ztIx_8GUCi@Eb zQU?eSnMJMdgHLaY;;I#>t!_u)5G&@nJL6RgB;nh86NG!SV0r1A7h+Jf0?`bkkI!Qh zlp}nW$)s(T^a*wny%somwqV%|wXL3TN2P~bt<`e2_(ZJrXfOUAtTD|$) zCCF#oX{L4NtH8(jqtceRl z@9RTGJ}fUHmxF5lHo}NXHMxN5U2ToqPKk4GZ8~u2QUz$`6}W~~HCH2ILT%jT^I0Tq zwhA!7L30|i((W&xg|CK6oa;K4bdBtqIJ7-)GbBlRUhUr2z4iiyajDw^)B=<|+7D-xdc@SJY42rB!5EaZp zcY442O%}T04T>2|AF0eZZ0=Ws#)LH}hS%0l!h>UZEEWR3H!r;YnHL4dV&$MqcZV-M zPhxd*5I&uvk>(zBiyE{0{LHmx8BOwJp6@JqpYNWZ30s1}viA;ltW<5brAfoREP;{L z3AteQ1SIv*C~kyQ;jbnM643%_H9vnivLp@6CQ0OJKFJ8TIe%Y<(uL8{f}W@Ddbi&B@QTp1kH0 z=EIUG{xWVjb7v|YYCK4Ab%ewkuiGBP=_-^rXHo}a8$N;}S2uoq*}z*c%Lw5EcPivS zMqEJxa?|S{489>6DT}Ik?S8uJxR046zD5x@Ef{%b@N$!2CS|w}BR)uuFKnTCP@fJ# zMO_J53##2C7Z}bIRJsOEe~81De`ZFXo{BBcKHabOPbq@`semBhY+(~(%B}s1>nt1I zn2}Pnakm8g54U<9Z602+OL9nkwuHkXQ?rHD`e>RM2{6m(e6e&o0&0&Bw{5ED%(Ly3 z+V#IHl7%^Fn9=#u_&EsyG$_gFt(Q_jP}rcW8;L7fv0eMU>HqD1&}#TfpQNaKhlOAt6FuU_&z{~Jdsh$^ z6FTIX=`5a5Yg~*Zse$A%mCap38O;QHrcBRL1YuHuEgkoK*K3MGR|=`!GP;OBNj6Xa z)Wx1(O?(zhLVe;i@_b&Ot@tLjM&fL$^3U!C3$*=Mqhm?%S<}wk>(0ueK$L8ngxtrs zE<~h@4Ck(NX0s^B(+2&>!j#~f{3RA{L_!BBn&r^SR0bD${IHCwr~hcB@4L;?#LM2` zB_!hOdODRYtGmF2v(aWqzut5H9OZ9)TAq4GvlY`k8|ccVh?sxJ7UCdwmvZ#{#h_WE zAxT{ZBo&vNTwwq{?RB~<>E>Gt)VX;Eqq%w*zxy9 zklPxfqzwDQN};4t1brcKQ}PnLHaQ8g8PGk2WUe&XVT$F$3oCJOg-_nE`J=eOaL3vj zvqy84ZD}t=BrewB*snv5`90WbNm2Fte>FXB#ID>qIzsBCza^7KXUEa^La8vu+|%Zch~44X*e|V;xvBk}GFMLGji={15fsN2e4Phk z+KaiBT1GBOr*e>-O3|8{OZSWxPX^!`vg-STO7+?$fj-!|I@s0Vs+BRFAV5j?dRBfoEY|fQr zdbIBelzPUjYkz6j4>9os_TvVst2eVTC={1#iq2%2ou7O< zR#eFo5MDr$8pVo62c!yJV&4m?Scq8>+gcI*(EHJi>R99)AO&eEC@5s-|%$8 z9w}Orx9DXL+Al)`ejF;VTLqAD^u9V$fr)h>HHC_tQBnZTXtYe@aimoD!^02LDQT3g`-G2$ z=>WBZU%GFYQ29}kAQZuy>DDqgsB%$YXDCG{2+ihQjem3Y(W z&sp6yM^C(dAb?0kjxu*_T#tkvMm`eI&?j}r+Bu1VPHjr|U@SEc$_Y^cn0zB2(JKl< z#(><3WclmWKR^9g@sL5N)QFF^RS|`>I3OiEeab9&Qd=ZmW1?~!U6@{8he@-741;H} z#=@p`+zh5)bqrM92KK%=Iu~RtU?Dw<&2w=Z-{?^&B{Ue=57{GIKiF4Qymz){pe>f9 z0);2sgxDtU!7%YI{T)F;$!Q=Rl~)m{gzxJ+j0`XhSlim;ul8`TPxaE$&HVNzW^EQm z?8tqJzHOzm{C|%agapIE{#r8B*G=DA=EY5b>uMi?EcT`o7Cb|tdvTdNeTzC%Mv~&7 zz0gxZwaU)99p9D8HI=spt{5$<{}a7Y!QSB1jWiA!|ApqT@|uD4i-=P9Q!YK1^{dzy z@V@@!_xw?!w7AR-dvp;9Olq#cT~@{@d=qrE|2xn})rUw=`(i(C21Ax63*+}HmWjXV z0=gJt_(qQeo<*mQ=mdm}CPdb3d4EYDga&M&;h;Vw5*zQS`MD@*at>HfmLH%pAQJnH zv<=;X_K7`*AhI|YRLlSSi~Y5%!K0O>Z%y%)B$$Q0B7cVly8emn zQfycW)+-PtWlw`12QfgInVl3vy^icV2M8K^X^dY18Uyr`Q~H{^*$ZvFJ(v2eUFydLK3JvvJE3KR-f<^omT^XBKXdlGR3h>{6Vfrjd*ZUDQv zP;{pesW?hc`9-Bd>?;0v?#Qne|Bw(se~~Bs(Yv%uXxWHd6s_2YCIW*vYA9*Yr+y(a!2{*9$kXp3R{kJ6|@ZMrI5U1Vj!fC^~t@E0% zy112s1d-Tkbpp1~Cmv6-I>=LTZ8cJ5pOmgx_>TJ=ZdDMHGzxW3_cv}&6VA3hbpc_i zjn2~rq9d~ooy!1{-hw0i*YIZxuv^`I5(*7)o(z_4XPILWAuLZ;zjuH62ccBPc34=I zC2G>8YPWdDdJ$0~81jrwI4#N(pqT(ZvX7lx%MRwVmx)(iit(%yLDbuxa>*xdZ3_w9 zxZ}6<;CwQWA(t5TTIDXF>R2uoba1*Nxf7-UWlWmVx*y#be2dY@o~~p0zLXZD?jyKn zdV@h=sQmiti#z8&vpdW@ISR+#JJl+nS%6gJ!64Y^KnL@G&>cqcCH0|I13EGFV+veY z04hO@q~UL?mnu61L=CMm)QZ8YQD01TCV8o3_)#yxp-{S^OT-M-KdPjNAjt$b;d4&InKbQmS6Mff0{^Vdq9O3 zB=hQr5!LhUydcgG--jsQx;9`WwKYzLMb*T8uwiv)qOlKWbC;Aso%2tr-R6VMl`M|F zg5(jv3*QE!eFftr>udfF5VSRj-bUJE$3l=P4h2|1DnoqY{UlN|yqThJ?Fz>4T*wJy+B z6K^eOMPQC6il}86l)3}pGy(}Rm=mC6y^Y0ucK*KR;LcR^^Yfr1OoTh^Ar)xb2;7fU zR-f%p)5clQ^s48*<$t}ARH637$drf3XE)sYJU;0jOD`bfXV#n-pIAaS*O3Hy0f;M$ z#X<|c4J&9;9AWkk6#49(7rr{rSDt)TvsgQ^M1vowt;kEJF#fhV{hf5bw{_NMwdaKO zi!8i4%G1TFE%@BF+%c}2ubA%`|?x1gTq%(}Z{+l5*D!q|+NNTPr1cE|CdTLYiD z2oY5s=C%iYAbngF?_r%^MJ-3Rg3+&m*wJIL^t9f;K|_d^nr8{Oc=JYHK@G&Z3qwac%vi;#EOa6Q2? zWR}ytNM3v0XI5l{wu$i0U4-xQ?5Gd_`}DJc%8=BBm;j3Svg5h-F@ckHr72GutHXx# zn5`Ez_J3A3NRH=qp9Cr!*3*oBrfDh8z9TP)YSGEuD|YYKTJ z8muTvajL~mUWDltvSevXGwD(5n(;ma){ay8$>Ub>3WtwT6o#rP9~Q~j%q(qB(Z-j# zmJHIEpO;6|cNpk!a~1I|=rMhYYrx6-TVirL(fY$Oo2Y%!TKLt@{j`I_Kj`?xqpADWTaAjol4bX(AZ|?$?Lhx_*HCcMU?Xjy50vsv&kAu zR`u}ORYrTy@RJFaB~7#pDjLb2QYw{Stv=tcC+@xKfh_-O@UfdSB*_yxwxbZW(!oPW zK?;s~=B;%4E-}kno_~toaC?3`wRo!R@9uhd?*6Hb-G=D@9z84RF`e+-K&92%&1}_@ zr`1|32=hhB?Pz=V$p4-%#-5VLngoZ`FEa9B&p;6W3+;Q$o;sP^e>$QTPel<*sm(_% zqQs8{wuDj=XOV_Uu^e}E%N&83G~-V_V#nRCI^FUjxntgx#~h-ewc30Z_UV*&WPQ(G zKMdwzjnG^_P0#J5FMY~|*U=eB=y=6u{pJ6j{Mf)Xn^jbHLur5ChhOWZB%QXU79D}b ziJf32!?<9kD?*Uz#uh|(srFpFh;6P7-la`9`BsojaF zlY^L(hKYWUL)c`vWR`B98d02gtXmtBJAYLZIF zbH$jpP*iNL44ImWlvx&)H!O49IPs~WH@yRWt~>*A7M-5O z&5O^b(HewxtfC*Tu##zHow=+oU4?CF500#rBzs|c`olpBPX1(sx7r{7PhX843pr>l zyyhLM8@@-QI(~HL;~#V-w*R~wB&OQ$`mPW;-ZZ~|rAl?R^0b>x;*G^xi-~XPRHDu1 z2O=&8*wDvZtU^cdHc~SPiUWgsZi0QBniWqtl zggFSNU_->CR>u=4yVfK3weLg51vd&>%Rdk9lq67{2u$^3kPW7FK@SRoG`kK)66F71 z5mbnzfv)uk4%hJc!iL73y0`TFEWQC$M;-zPJBPOW#R-9~jeo9$nDqY)@yyAsR=0p8 zI4xcD33F}>EKnaAEfIT9h*PmfP0FqGa^$M(Q?@oPeA!=s-AMY;Lg1w}+TYJrb?Whx z|9#S)}c&zdj7(j(XdNJsi;n{rc%I1Gp88uDG8?*WI z&%VL?$#+;@*C|Dbx@`OgK!TX`Eb4t;^P} z@8nTRkX)FzSYooFVmzP8X77GR=#X)I%-7Xy=nKe!^DzGAc~BY#Cpj_sk49VHKb0x9 z@-nw&F7`AW38})HRvn0?GcY$iI8UtAS=0UmFPiM|V33g{1APr0m!cX#xZ^W%AMUS_ zjT(x;iu7~hMVCxY-ou&(aQ*D%dkyaR1&<@<&s^yislkk`IP+FNkH(#1-m?&4Edw2Y z*|v5H7DUSx9#;8Fr!?9kh8)6)QlT*iX@MATuv4&~5*G9>25U{yG+2i9at?xzR zlPBU6r!3?3L=a1UtPNWga1nu$FBVgPn*N1M7&QRyFWS z8<>iv{3i=5Z)rQ3#vC$7&rJLYw8VPNgPTQ%InHr;And|=&4@pPuKN3e@A?=+QGEy8 zZXAJEcPN6NS{XQEIUas`iIGsny&h8Nrh}n>)4+p zgI#~Z{otjXw{r&V(grKXsv>cgbCHK}`{sNd;k}fcxL}-#TGO7qylBnI zw4})1#u)^6fnxP6Axdd1xlRadwF_9h!~4Fn`^%givG8(q=;f9+QURn5ng^T3EglzO6Hw15C| zpY)-}hd&%1gd?AtzyJcYr7AMNaq6irod5I=UWbYf_vSQK{LitC4NF^fp%_BYDALyL zlML?NRwm)mWR<397(BhEpPUb12h^$krw2xG`^jrFHIacze|+VdziRBdZe3XS}2t$(~X=P$-}IhdIQi%rUp7{_=nKgT~$1nt$+%Y2FR=72*Hg5nQ2m$@(kta4}QK z%UN#FK)(LHcBZnZgdTQ;vhN@iHhl><1-6_w^sH;(_xw6x;^bf06^&FSzav#XjW2Hc z&4y1R)jg+Y{y!Ih4+Y9Zi-`bV7Owg8UuuD6!n;cv=0?#y68F(ieSDl|pQY!j%*tqm=Ir^l(RgHjgOQyVyZOd^2EQ$oIxUQXvC`S94* zCNkFoWSVi?SgTm5Xzw|zSa>VBEv>M@i0AT_xxF~Vf?G;q{&3Qk$((q1`OFl7{>HMNEt?Jl{bqUe){)Q4wcxT`aG8UJv?{GxX6Y-@oR? z7$#o~hNH!^cwwS>V=A=0h~fJ!lV5Vzhs%nI8odZ&p6GDfo4**EQ`NG9Yp}&B6zEct za!M{vW&c-;U$}@bTE4iU`YP|ceD_{Q0>s>=ky!cu=0JtroEVCnmntb1-U%=vyPNe- zG$?2?j?(wcI+BT)Uf{bRlExP6yg3w*{YJNPwC-6UDYh2>X>(TOGB4>`64;h4cJk#2a+dwb*5ZypMdO({i8m-b+8@=q4=Q#2=koy(fN>-Q*ro z6)t0NeC3XW=mM zGjsr}8lchv7AOaPlCVwNUA&!WKlA|o%viQRP10+aH->*7>qkr7 zjwAZe{t3p_3Byn;83M(_x`&MfGFN&%Z^vf>B(7*Bh-yq^7Rn3yMxS&>@Y2)v`hr_t zUV`2f8kc}R^@e`C<2lZ^fLH<=-Tc`*6^8J}1HV#KbR6|K%U(&;o9YEn%7vdQx@%J` zNy*}&AM0N(55rGN=i!Ef|EJt-IweFz#m(@#$@$(_E~){}p0n+TFj!|2Pw!6ds^>=RR7bOkTgK=dIzPV92-9dDn zo{Q5rw~IVG+q+*@iOd;|?~c_LlKPBrYho?GyG~Wd&1334TEOP1wTD;CkV99!ud~#! zYa&WCpC-_M@4t@&)BJe?T2vzHk-0vy$3HT4LEnL4zR>dx0Pw!2h0|HKFd92%QguiI zeFJheP1z7$PN}2``o@I+qvh1>`K1ik|L4Ui*M7Yd_s(qKYa8AnK+*&}=-aG6y9<(p zWRr;z6Hge5^!cxVg-vtw0-Te|U}MaebOkb3+Ph;2D8+48%2W2waI2r+0HK0gfObAK z!=3rK`4eVca9TDJ_ZlRn(*>O|Vkc$#+i>EJt!I5&y?^xQA&ZP#%X6`bqXtPj_pd^A z1uLR2=i~Fgh}fkAzgWrN@jqhj2+2KbtUIjD@y2>e8Fx<=d?Wl5VM-{xr#U`mp^|;iRmqF z$O%U|F$Xv0flk3%6CM6`1RTeGfAhEzfFOG1Jg^+8?oSWaKTcg|lprO)aRrbS*d0)7 z=YN+7&^*H8>lZXro1yG=e|BE=AkzwQGj&YG;DZ+nB-h5o^;+UMXzh1JEmo*w4 zPASq{BPNuRr|rf#R0~eUv8P+g;Wpmlm-qe^JHIpA#Tr&5_Pma3ot6rBYw%@mn;lej zM=641EDL?v{Cbk62Kx`f^`yVqrHjOk4q5lu@JV_#LCvlDkmz&UuQ>uhB;&hb@@%VL zUwk~fz1VF8L6*QR7W`(dbR%%OiwaX#*Z0fW?oU)2i?fO3Md@t;?*lv#{Y9l5@#hL?*G!W>YW79P^w0|N!H6>mTZNha=p|X`DSX((XZ)HR$UaB%AWbOYKO10A z7-TzY_kZE-X=6#5DD@hZ$JcIs*FS}Vd(x+pBsW(_w^#1{QiS}L?%MIt@DGNg9pj^e z@iyn8R;A%+rKm~B_w1F75~lEp9k~i2qdVfw6)|`!2M4GTPnI4^-IeH3gi*|xb0SB1 zeCKX$;w6>DU%T>YA8WUZ8=4*0ju}@6lJH7d&O;;+7tcODfMEslvOmSq-|Oq6v!QRk zonmtETdP-hZB&*JjIWp&+Vh*;h7S)%OU~ZZtUK&uI7;H&CA5C5^s|XjY+It6<~5tr zdFa=S*^9IZjsD=Ve5RF${sbd!mkVc=*)O@7kq1K|33-Quk^5x zQfunrV1K^(31!l+93-99{5^G}srG35Oml5Lsg;(sor}9}z&ip~nBFGuAIo{4 zTTb|xJFlOL!jkdmi9{UQ-}5V**<=qd-~X`$82xjNl+eF8)s~28ueeOysbY?wp|!7e z@2FYwUVnTHoz3xX(&}1QE`eIY@m3ERL)*5*J;%z{juwZ4Wq>zm?7OXMaULc_aJd|> zUYny5n=(fNf%0UQ`|dr6AOV} zN_PXOll0JN4vB$u3E1bkUt9ZLbeHma55#`E4{egd;GSn!WPv^6{Q z7ys3w)ivcNaP(rJ#Ww0q=aVW}K8OT)-#f*=wu=1X1pw_hzR=JIc!?BGaqbPreWK5=QFl4I|F&@Lz)CsX+Of1BRh>5Ix zL^=E1I5jP2Eg-$zR3LCYYOVJpCw~F6w{7&W>~6v}EOZ9gp*GaOR7FER;fVbzTA36cew}(mWQX*<`i9U-O<7eQe~X2n695Q2#CRUxQdBEe*pa1EjvxN3oVR|q_eCNvL<_n?|7Tj;V&e z*mY}znJ@UL1&#grZ!i)luwcvkv!kYIM07bQflN>GMNym#LVaOx%(Y*cBsLIMY@Il$yLvJSXZv|C{> zJl^&BInIG|bVF^N0l#ZM z5_(*a;2Y>S3@(gUluF)z_|ft}jugHTDRP?~TT;VTe*ij;y<+llcze(G2EE1Q_==;c zIflwVmG}O?eP54E+KRz;uF=QH5C_CADY9()yJ8Ejciw>&uZV{g4`nv_c-?0+Xq`^0 z=v-jaV3eX$`^3Ox?Bbg8-Hp>+7eYuAKV1|z*=es!Fwdj!O#d5?j=uHLLUm+xUoytf zD8+of));CiT7L8K<|a_JsfnbN(c`Fu`9NmzM_l+6AR#GXKn7ezxK%Qo5zU*Rrr~Y+ zI0n<9=1@}OIM!c3%>|{+#P$Dav8&43*U!z6XTl3fW~2T*TGS%A#VYQ5Gzw*sbKAYV z8D*B{07cvFx;sD%Fe9J^`W#V*?2R+2)CAY|3?}`z-PP1~nK(6Ka^X>dRI>%5f^UG2 zgZe>UvFmBug*Hw9eir6RL|F!64GUE^(gK{3JRSDBI6WO2=iyh-gx->yLG8Kd3Z*8_|^=*Wj(jUuMI$^_SbH-&gLKUWzH@mZSz z=svbPr<<()6w4+h4y72{fxn<&Wau+$byPP@3_nx`z9y4MC9S(5WK<=(N*Z(iE~zsF1V zQ$Tl3K!rwmm#N&U=dJCEy@^JMjlS23ekNGfLeh`EM=jRP!iDTBklF6O^@6zHc3He~ zv^;NY0g7$+K01$Eg7E;BJ@aE^=H9946r)qtWdU?-r56!>q*d5#Q;DfYhZ`?L6ynWP zwrEg`Qlnmq#zp3t)G9{}6soi2P43S9jUf6jn9Z*P74v#G?C5LcJ;YNLCj1a!Mc!QT z$)8;D75A>@8};vzj+fhO**$C{gM6>!#mB;Lgx&L&!okeowoLi|#=6XB7pO3gbwixS zMp8B9-LI96drm_)0pZza_x`Trn}c9|yVqJmvO*X+V6TNfHgvj8($&#%tJ<&>>sU0V z3RaB(-rdSs`!*P#H}^E)w(HiE`pu*gq&_(U#Mq;qOjpi!J^Dy&rN_H&Q~&Xz7Fs2n zbDrq4xqYA3u~n8O_GOK*Qe*P@#2zsCPSYK`Oz^|@=kJeOmTl!f+69(8+qVZwAg3ur zuP&}!YERqV@c5E-UTZfV=&PUjNGRkr7=rCWjf;(XN}*n}B7Yr4>~ERBsAa?4&Lhf4 z&LmB^&3bH4rHbY3b~4flrzmXB!4K#ruI0Y%fcmcZ?K)Qv@WL-`c(GLZ(r*y!6yMPvY>wJ(<{C+H4+~QgqLqO* z_*PuoIDEEH1a*-i-e(a^>YGOb9<}7Jj1|eGwBnTEV(6uuR~H)-=%6wyI{R#OZ)K9A zjkCsOanSM_a{wPrPq4QJMjs+t-1BY%cfr4Tp`A(9l-DyLO`8i!YGMZg2SZuG(}k-b z2i5mkmU29)4sC&pJv!Be(?5J(_^ki5ah=|hhH~5S>fHPHMM9FC4r5zKWFMUtZw=*M zmD_q@GINg#BME3euJgYvYNQRgMjlfC)djn14fBdWZt^_9B<5ckV_JoBCX^%4**q?= z)0_8^xY8SkC-qJx=sJ)Jd&e!Jdkx3p_xX>0kCCA@7|#2x9*67!8kNcV!&aAL@%YX| z^gK`daQ`5@D{P6YxM*7|zvkPnL1}()t5am#iO45L&6yVtG*DXMT-#7TK9WHaQdVH+ zHUAA}hP<45!QM4|JjZr)a9p|M!19eh_SY$Y>Gp%QcB7wp$u-|Y9-IJq|6&7AVZGjBo_e70~e^cvtIbYg-?S$_A zc@wg^nA1MWRpKk_{Gk_)=Cf*DetZpUYB`cUg`bGtvfZg{^K^Km?&qxajeGf9w>wMd zQbqf!(ya#|dIwQ9^xGN1#p@Xi5Vt<}eYO#za#!Sh+;CX8RfHsJz|U1wZJyq}!2Sb*xM#`F;tr9CJ4t`}=60N$DpEb2)vNR&qsNi^d`y;s~*#b4<>bhR(GW)&1 zOL+e|7c)W%+s}R-pCAAmhgeK~cEt4Of3aF`e*>y2 zunT0-U9`<&*n26w*NfhE!M=!Ha)t`WXfuF=k# z3(|d{N!KXO8_+LfKq{3&D|zvEm$L72ESt=h4)!GOwd=yawssj3XyEuznK-@VZckiY z<`z2y$8ES!R{GIwuXdqm-w4#-zT5{!ag&r%4r>qhAFHsV2{qG|Y7Z(*v%8&fOa#5BXPhOvV1DR9Q>sAWyGYIb`6nJDV%!9z_!JR4bf&lsr*_a?&)cgN(5+tTXBxajf_JAU;) zx?KMkF|l3!GzV6e>T%kbF9||Uh+F)~Q3Mn8>(iF{L-$4e&f0Te{Ff1|f;m1Tppo*! z!%6^9inoLhGrcBjoxQMX-+oogG^Tn}eei>7IA|zjh*009JrSDvAG)BRMuMw<#M#_= z?p29oxSvm%(so*uQ7#FrZQmo5dJ17;C#9y2X8)^mv-VTF|BzSqR!>hz_5RTkP(5x= zn*gf;SHY_tmqa3|qh+!Ca9-E^YAOHNA87^g58Ft8=D}A!Kg&g#>bXbEDG16%A;;#B z5{*tK08q#v(xR<$9!l$XDGi5W6(FwfIUIV!-n{_Bp(N&}F9vm4J*#aKPDG090|RNc z32`gWI6-1u;zKEEIyio3M{@tsQoLYflgBu^BZgP4Z?WSE#ekr1gAB}GO8rR%RgTo^n z=Nx+;?&_3&^+ik<-WgD_@+cpUOYCQNk7QFILOda)m`s|oTf*RyMndEBb@t~0e*@2R z`ps%CmpD``Z_fx-jmHysCT^Y9K@bVnO4cg->zff(NWnY1)9uQRrczJBs1x#+_^XFi4&?D$@zRo`~ z%OHF@WPZggQ8kPKYNSZan|0=%e=7@pvrg5&s@fROn#{E**G0Pj0e2e{2uP!TbQiSx zIi(t~1HQ3?;9((w9eJo}5n>hiDNLOV2OheK5bzI1=SfEuoOM(YN@J|x9+W5in}4w( zad3F0K8F-bv3+Ev?8JNqV78)cO1}7>=W}ZxG#r`cD*F6nWxRMs>O7=1F;taU)`A7K z-7v$tvafqY|HXI90X4o4XQSIow4fzmOuDS$g%SNyLwY=YQ(*!J%lD^;^#Oq?6Run41AQNsd5yuzM z$nxYHKcO7IRzn+v3sdL|Ta+>xnlYqE9OQuY4Rkl%J%4pn=&-jZbH`=`2o_~pnt0p$ zTiY$XFdw1Yi&tytjd`GV7C}Pi-p|Rj@GukL#Z6@b<+y-Qk+U8~B!g7X<6kMN^QGcE}6J@phEac`=hyvFX}0 zn92-()5Z&iNE}>#RG&;&Ye0Kb&`;<%X};M@U1Dt1&(5+M41nb@g5-oU|oxriy{>2C<573`LdR%NN;7t*~*!^`eX8r4ce zO8zybS9y^Clw;+HJrq(6_8G?5r~d=VrVdYNMGNAONu1or{ehxfcj zZ?CqLoh)Y)bUH3QbH>pRwg~Ng;&V+Jd5hlE|e0>O_5{-B=iy>tKS8FcJs5l%!I!{<+5CbnHtS zg}qWd~^wVEK#ikYEY&+#}6#mq7Q~apa|Mmii+WW%(%$V?E zvS-so6#pPL3eg`Bb=XjXxNcgDks+b>1FQ2KmZY=xJ<`v5gC**7uq!}lBQ~b6q3A|d z{>5$?j6Nro-Jx;!uJqUvzLb_AbW@F%^|SWiE+Tj>Vp{gRC8Y$~FR9eOx`4Ts?K;j? z%Ad2JN=1mEdvTFyNTs+E-I!p5ma>t$7J~U{c86H%v`U!VpXjW++tD`}kj_rs3qa5e z>*dNnIr-XO4gg)^uy*u^For>W3^mQZ)4*KZ$kjYNsXnNxU|1r3g+DOlZmtA~n6lM;64!?7}8_FY`ga8Q#OK0v*sj5xN_n9!{?md>SHaB8hh?)MOh)nzwBEr2bsJ zm@RC|yq~3uPY%f(QlQL{gzay(t@S>lNg@qa4jXxP0wFhp8Uft_#o}uKbYJ}kvEh0{rc0k3YePa`U2-0y z555eu$Jf~19Lp_DhjK^~-}2@VL^^1^hgQ&<`hayFQ~x@b|p z+*1boYF7bb$4EI3Yz0g@ypFrPa#yH+H{N^Nf5+KF^>pf*Fvr$zIr&oi2KWFkvKTp zhXgZ$4kaF0z9(LqAPyl#LX!PFF(bMM?;$|yLOv9;BLLnhN^TgHQGLa4~JBu&1 zi$+AIyT(2|RckhiA!RPd`G+|KjAei=Fk;cm#FgdAQgV)>s&dZGu$`DiW%`{jglw*W z=@1tVy`?-SBwEV$gPjp`K!II3lu2D#p%20)_sbWnf?sZ4@4OYAA6RUte3(iTw({05 z4`kdimg=j~TqBfhiL}quiR*2SvJM5jFdjJ}g;EAm%wKA0S0DN9&3xSHgo?N$K_Gz+ zZAe}^K2qOMv@MS64TI9gaZ9IiojuZsHvQL)sS!5C>&?km1lkr(2r8)i01*>oN5UGw>7&w;s zkGB4{u0n~5dp%5qi&vO!f)-kdQ4M@a z5&n#yKHJ-B9z;c@dM%mETS?IBf(@`cjn?CAKcr)ba5RNUZop?tk4Fu!{)!=-O8vxA z4NSSAypbTggi8dQ0pk3Rd?5@Gi_Ygy^(soz@YHs#pXSrnV9LX7L2*a&m@DaJ#^yJb+!Qlw=Zv^d^kHf0q+%Wa& zQ6wg0WM5q@feIFd9aTA%m1+0VW{ruj1*Fj(-)dcK6WriQQ+P5XZR=_$PCe}i5iQ6w zF;;pvFa5q@KR)YHy^(^_-NUmwpUex%P9m6Q78rVJA6XC`TXwY7AIri|jUoJD3~Tm28Tkin&K1po~v2_F!y7VT3A62!LdATnaw$YSf*q%!1=^u|^FQj|3~ko_vkw@N3^d>ezm^rt*}t!U*f<|l z5L@BK_pa@B<8{-c-#3~-oozVu&d53IP=+sYkZbj=%A5tUEdbqu6bkXv*7!>NF{6wA zz^4{y(bM1zPb+3W2pr(GV;42&MUq`>EB>weFD5_JjDmwo!L1@v=M8(# z7v%?6;=5|_$jSt<@@V^3p}*<)25yr-dV&_HvITi-gC}jTA~^{^TE)bNc7*^7)cpf? z)UFCMjHY)#yvl0&Yx`jGexZ^AeeLc?RGj*Ow#I z@jNWmLKkfeO1m~zWbiQPb>@f@J5|H%)2Utur&EAA68u`l&nwULSKSSG0tbqTu8brH z!a21imhOPGaUVNyL>)o7SCM+|5D$+#>&11?-KYh%Z=O{-#0I&CWie@Gi?dK5NSx-b zLB&odupslkDj3$+{%N{KsOiP9fE&Qv2xB-ym5}YZ=bNrmom?+}IXC7Y6ksvJ=n(G3v4}e!K zeKSsIeg|KcIatfjik9ZX?pdi0mJ#W#sE7&LZ7~FEK5{)S zVK*ef7U6?^*DyA~td-b?x5fKe|LxDLj?LK}n6L*Bpe=IB(&VK*A#MHeGnsYSfkvZJ z&K$oxbaw80-NQ@+^CAT`Smup-f?YcQjdp||&(6qu;VD&b%b=v)MlSa4Bl7Ok;pm_`S zEM{H0?WR(3Jmja3SN|_+36!6}@$c4OoUBvJBZ{pfUQwf|>`?${562R>FGCa61C}A# z^4#(*4weFkH2UP-VUu0{lL!gg%u8PgymqgbJ+?ci^9xpvf5pxaCa3#%K9=+xWx?Wh4Off-jJ-;GGT>o!c=6RM0Kg;>0YvsD~2r=WriuP;?9na?}??xC%#Z zsP%=*NyY(x0$Cx#1pta~Yy447eqAzKo8t!t&(@+^5 zh`5q_6@+dTH2dFl%*D;+AA?x#(;_S{W+dPUeoQ zdihx4vBeA3T*DY5fW7rTIrAYwj@L5rekK|Pm&FfO++oF~xos!v%^@pAXk{zOZ;R$# zIwPve^8-)GxnmF)HR+ZjprCytN@&ns75D zLAXd!M{CAy=aJ$jbI0CUzlTocyUmKL^_?Hn?%=e=u7T(LZUSL%u$IT`jIy(XNkvKi zptbK$HmI62;hEY3E=91;=0X?3Z$B%yPD$AJcch2}&^^gHy|9~7B2oKjpI3Lm6tzaF8U717<0GkZZ% zQ_kux^j+u$9E)%lQml_u4GQtu$Ui<*-eJ&N{Qd=mv+ynA#8@V}7bDZtza8Mece|=S zqHhlBFID{Z;zx~}msokYMqjHqhWV*H2(%R0>--`0Vm7Wr2R66FK zx@c9NriaiO*HnXLq`~?gS>`isnp08s%+_W7Rq3!}a`m|M0~NxBMny(dz&9VH*W>T2 zI%{j)@zmBP@YHtq{%RrM?V8?tQLd@8=dsTqsLtg|oOMs10Lq{*jPY)jG}J)8tG(4yWNX~?l3ow^7tE&< z-1A_~?CPW7OgP8ONoX(b+4vAKy^DH_F_0`N3D%GP?00xF?$aVekWRJdx#|0VeG82> z%8}MwMNDbXrY?l^R2;L^JZ`IfsbOh2iL}G+3gC+& z30h(ll}koiHocMwOH{!WGh_fNl)RkC674QY!`fd#JwQM?bgM$OktPk$?)###1OScV9)v8m(4I zuIT^VNjXi71G;cC(wDfKqcvq>9IrBu7<!|lzAE}l2@3_X5a_Upr{YoIS*7Tf?4Kd`lG#^jgXqNx{}VgBZ)82B&0q8 z1;q&LmzcmOSe%T)@B1wL${zB`#ILwNbK_(Rc7#Z|m`L>3tv71aW(7g@U|ZK_Wk3nZ zu(pEba%unOg-#1237PsxtUj#RivSgq@xpo5En}IV0w>F`R?c=tKYZtYR1SDSySJ7E`?0;{uHG$Pg zR17q7?RseWZ1dkVG>89DHM2O7-9~~$XztE5z5N05N=yCIGri@al&f?Gx-d<9QSTul3Fc*BMZeY+U?_L4RRvfXkW2C%%Q)F;1IhZ;V!hZ17Zqa^HT z1d7mw9*qbhsPQGx|8QwKO+ej?`35WmBk5|z{8&L_Tq75OeMR{Upl399ZWM-Sm3-_jJ4v%!O74 zvNiFX@1T(>-!y_2I4nbr?RZGFcSIzOkcey0|m4wO(g~iZ#@4)PkguiG==iJtcyc73#b`?5TH1TFse)#@`6YZq1J}?1&g`e zy|y(|gRH6)bJ3J;v(f3P%sD=sB@@ojC;TNex3A-kS0NZb?7TVE#j|=wMomvY zEKnSk8-bTm&10P;Jml3{%_b_tdIy8wPYagQIiyBNeMK!FbLM>dZaWI2Lf{xBQ$Yhbis$db%>@Ew82CeFE7izRtf2R zgkDA+;ek_!9#>n&kNc&3u8Mb{{l8XIUu|4P^KX-2Xx5U28t9dALP=e7c$st>Pr&vi z$`MBH-z}kR2mOJ>&-R-fn?MQ?0_dniL_F`|zUoF?`77U_USMA*D4>0rw^^9Dl32d- zV9snoWbOp4^V|h`gt1i)H~wV1`33baK`e$8!IrdpPG2^3uN6hVFgHs1!=Dbz+=tVN z#|XwUPK-e{U(*oA(OV@#M{uk6LJ=rml=r@Ad#cO}Q1I;~W^RD$G3byG2roahBtv z?7nEjbJ2Id5DeOYlt{SB@II{Xw+h_q7hcEvJk&HkRr8FqMYu}jSrqE(V5xDB>U^Q3 zbI?ABfJnorX&~0nR^Ac9=tn%vci`aqS?zZF1DL7~HF6cbuZ}T9&IGLiBh%>-oMl(P zEbEC)TQ2(G#+m{exRU_dQNM}Pzl%8it1vwJ)4dtMaSnfX2A#b>VS<;J{(8_6KT=PM zd+uEaoR5QVPXxU`!+fJZBBQ#Z`Wr>s^xAh4?*`vBSXD$6=SW;t^G|D0MM7c|T$9&n zw#ys&@+yaA<^&^lGOR)*mY7m8BW#>ZgPrnnMK^2fi8VqH$9#rZe zEPCa%QW*z5;&KBu%PXNcvuxm6Cd!85D=3D5Bid6>$*7*G*XPjrm3=c#G5^1HO1z9)ryn(&Ovh#a0uce72+!))QW&i1 z8CtdU@BTWP(NU3J7`YgIsI5m0q!?}tO`q9uA}9nkoM>z^@k!h*de%^FlFgA<=wPjX zL;`U?rwYoq}6hlR7%ENPu zJ13C-MR(mZ2;>@YGM-oM156yOl zvwmXZ0${*V(76wBjg~}fABg%vr_HY^^)CiQY3UK9)(m9e^C*V&f8*oc3Zy3zTpU^* zh28>l%2EC4a+1qqoiDX_cW)SqH9SAQdod_EoCHzVOG^fnFxbC4Ew2RfG7?-{Etn=X zCeKKW;C^wdbwjsQb!GBYyZ_mr;}#ltm@1rhm&pmk>yaHLEvg1@vS%S$(Sf579oPJF zM=F}B$^&sWiy^>S;d|m?^QTz5pUa>LA5@g&^>?FH>Bcf5NSSXmG`-0-pguGJ4i@*? z_c*r>#9nShpY2n+Cu!9=oU30R9&YRHrmXKP2lTJ5JtF;AIRS=uJrSvsfkvQqO=ki>+}%=l&9I4b#eS7OzXqbemC^c-W4v3IyXKo`n6(Y1ug6KJ}D-;8OY^cqRulD-Mq8II{D`J%XQv{ippB zabs6dCW#Jx5E1%3Ynz@2ssT- zAo70&Qm=gfaVQyM$;;E|5{wT#NO4#=)$W(oN{o=xqlUZwayVZfBn9n9UdJ~{e<=z$oBpId$1yZR;Y*F;L(JO>t{ z%ogEJHo$BW@gi0kWjS(6Ah@1Q*^L*_gjWJL@(=%wJfqt-#Y)&(INE`9T=EomyoMMx z6jyPU@u7ov05pnGTA&8B!aNMaF$+aHzl*<})x2wJD^zsx5d|XXppGPidptBzr-E^P zxqIX;BgT<^J-es$I@e(f-`e}1lJ{Y}NzjI0YQu61_BtR^7f8j8eKe)%%3lvN$ay_e z!tXnhy9-o96mDqm`#2l>PkO>q1z(L9aRPX?{MPJ8OX-0CXEq+dWHeBn6?9cZ13P1{ z$4Et51ZfKIv(Rc8Cef9(r~!y_YN+v>^Q`IukBrGUKN2Hm;*j-nA$QjMzAz+t7SOg{ zDiRRbMwY>&YMyIkdJbHcse&8&E3Z0A9?}dzPf`vgD6nI>S)xIU(Hs>g;HFRdqXCn| z7~&#FSmvK5oXvbz`d5Z7_K@jMJ1t=%{D#F)W}8e}$@(yX8j-q;Hf<)SNvR%yK>`j# z5kUyCBX~%Q{l=zo;WMl6yu9WoXsg~wz_hQbp(^rael2gkm=9H?@sHJwzH6T)QX<45 zv3}`W-0Td1%N0=^I`8SH3wR_IT@@iqGPHbzeE!xS$hYI7zp2Y5LkCvu%TWC6xxB_( zoQYW2_`8&a{{x&7ZlXcO;X{68P&-1-78bCnCSj$^cCu}LzF|6kutL@g+N}rLz3F2P z2^E@SkmCh9%pd#U)J#Nn)bhR_Dm5_}A(i9=~QMY$CVmKev z1R(-we_E0*`uOs5c|lK!uodurcJKW(X)(QM*l9!;JQsedgWhqj!H z@0PROYn@*;kNaSSioK`6(%z=Vzbu>(VPwLQM5CWGX?!iwU;J~MsYHX=&XSDc*o*b& zIDJ()s^GV{LsI& zf(*Xrq}LZbow=KZg<$b*E~BPsrN%_JS7&+%#`7v4%>uK}Bw<0-BAdS*x!5M2u@_le z1wH4_=3je%p&xY04PDL{anH)LAaTq*=MNNb>`!F!(`nE?ekFb(ji-M~T}2Wc6ak73 zth&6HWR4t{0Q5vq0wm8W&x*e(;Ca-=jy+g6|DM7l#=tEyF#ouLh7ch?iIX6t1lMZX zromW0C^dD!qUKFw;zTSa@-I-H+>3 zE#j^mVQ)rk`%BNxKoYqVVy=Z9kt+mOZ;F%Rt3J*pK|g93`!^IwJ8-87DXs`D3U7Rn zRR%FE~+txb6v1z?bFnW%y?Qt+|w@NV&O`q|`n) z2w7+wdHCa{BHSM{QfDUrr47F;jbL_A`?aZBPU7?Y1eeGmeBvbDM`Nlfn|_>xNCbk; zSp~f~16s`5EkMpd`IL5rEa=g;KA@p1I4nv`jC5-sjweMFqeRJ=Zf3mP{?n#oNK>w& zGLGZ)RzQ6l#xQ1kO=d1gGF`|(ESDUSnnqP!NYAS7BoG|mDMy9^?@N|~p)c^uL;fBI zUU*nE7wQj4dBg%~W0wJV@(r|lWpf!-G^DL!r)V$?9!IaT?3Nvt(S@O6+=AY3wKF49 zia4kPSjHv@jYOXmVFc>8P&lb;Q!^=shg^A!I^IsWsSw^Za1~V)Dt8$4l{k=;RI#O> zZ6+#TMJ6hOK$yijlvhn;hmdzL8jXf5J7d~YGHQn02<9I&yx2TnW?DK8WWk2z6Pt=m*C8UCNo{SCqMczCY@ zj-MkCgsa+s*7;ILA5?44j)$B>Ym|wfaIa3hCs4yQGo%b}#)c7oia#(#?k(cegsj@~POvXljHp4M%&8;354c zIHNa)kJ{u!zbN>f+x@uiKA>)TRGnxWQ5S~9B}R}~Gw@Ep|45CYm`x}M7k`9W`UA~v z;4;JtoYYREKS6Bb4o1y(?zWR6g)J|D9 zer8`fgOF3I@N*GQsupmJRI;SB}qUx5B0NydY z5q`jUS)gWW+NlYiXGNdiYh@^pf&Z6n|K)Br9T^Azia<5}kQ(lbguqd=?Q+$U0ys4E zo>OG;18RNTtnh=ET3-T-!#PP1seV+>{UJCx%jzDj@D<4bDRCLC3d06^RBIXAB)&~q zf%Fwn>1Uj0fD29$a#u(;wdN>@U`)7on@wxSRGG5CpMpzJMXET5hsZ)BFxW0=Iav}0 z-~3#k`h@QwM;iVgPHm(APj*)h{(pLEy4??Z5(&mZX_~iUCLeD@5(7t}<`<@Uiy;hg zpmU{ZXDAOsUvr0vYQo`3Wgs~kyEvd!%Y`F)2chgMw^to1$_7J{ zT1L4>$qblku`~)mVq5>NE@K{8B=Ow=sP$7M6fXmF``34@>wKY*q2mm{%7l=)7kQQc+r&FDyAd@}_9=C4kJmvN6h+STF8q@)OcWP;e{U1sdCr@!73ekhfM z`oZL&r_w0J>v`01#XRXa;@c=W32X}E79fUIZ?+PTtShiXEHYu4p}IdIcAnwwe3!CN zp1)j;kGt(YzH!rhb5-g}Y7YlFdi5?M=(4pQ;oElt)F|Sg`0yYK=Zq`JkkRCAX3Dcz zfz@NKs=}!W)f&-YIKU2TGrx8w@Ez`ROwq?TJ;ak@5Zedb2{2fOrQqfjj}CkG+oB>| zby_o|R`KZK=l*VK^d>WeBT>jJl!!yA;QSBBf<~OD=4m@iRzJyCY6FGGE5B8HNYQnc z5+|KydzMG?ZYx~HGM#ux@~F_zcu9Ht#QfVK;bjitwZ(Tszw4(5$s6#EbMrV79|0jl z_COzYH6iDKLjqEg<)lK{QK2~rR#TDrB~~bH$@z_!M5*0+koS$5&5}FdA2Gy=G9!v6 z?%d9V~@kq(-8osfWyIhLWj4gRZ11-Z$!sS|3k@h*ftgp_etG38F)eF4R@ z*npD)Y1tRP>z9|*Y?yp}e^d7MmO79e0N()Cm3jp5k_AzAPT`sVG*F!Rrf}3>=SiL} zLjT9${lbFZ&-QWJ*go{YnRMg{8qv=JSLCucI{ibP6rAgYPNR%CH#N*LWMJ0@$j{#= zJ~tG;Jow~(mmN#+$W3P`)WjIH)$elni(zp5pS$3Xo4aAlmY+7|YhbbOmY4W8*2FJG zmsS795aVc2u5<9ZJ7vHgED=!<1g9MphCG#NiVWJW^xzJqsxsCn*=)ScD6 z1TVN78P5d^N%%}cEFnSj`PH4#+4$-~o?_>Q4v2=uGkccJ>V9qdul3PC(5d7h{9!B+QMdk5%uvzP#8>Ouu|v?{lKhjlgOl{c*RA1oi0!)nfn?IA-vEKlzfb3i z(7}nkDvv!!@_*~-^dJ>(v64Cjr8$fZ(WJs26)NpnUm5s6)#Km5fSNZa{-#(-Z-Nz1>72(~0V z)`GlC)2GX>h%l}w8l(9}$y9Q!VkMTUwrV4m*Q-6^)kW0LYikm-a4qpT3}36Y_2pO% zroQC3yS0@!rBSzcOYEKRO`k{I4i_+QiR@gSj%l0CtWEfX_2&tDjb5FKhIeBXcf&y3 zli@$&5uuT-*UZ%fawZ3hz1EMbxJ3%}z62@Zx1ECCBti0qWi`Epb5f&!-b(secBT{E z6Lck2h?nNUun+#RmeZ6|pTao4Q4h-t!sOHC$N?b||NFPgMMCQezu z8f&MF)8&m{kbBcYIOkJoOyM>(srvI$(x=KoDKBM3@$#EBwi?(WY?HxOKIv)xy^L9Y zyXKb}vHUN-{UYa}<)rC{7cdvj_a{D{`=dohPwO+4tpsD%Y;WF#8MVH^{vdnbeu=I% zq3uKRNzSu+RTt5915aQ$;Ww%l$JmSFos8D0+LONce~wzhi&{tTO7im^yG;Ij>gL(R z1t6hK{6K1q@t~rYF7DY(n#vuEW&L}%Jjg`xYsYLFG3y5xNbNuC*oqmjXH1=Ya!o8M zcBd_W!t=KDJG9y=CGOyzYH`<#iDpJ)kKm`yK^&-R9aurp>aj1wVr;Sd>`lh&|BtG- z4y!U++J`ryh$12aq9Cn+q#z}YBHe;?mvnbpNQZQTba$sTNJuvbNSAcOZ?@;W=lZ^V z@ds{sYSzp>_uRAAdf+`}-*QT^OH6)$@84r-0uKS$gBTe792OQj<{7n063f96#^cDa ze(I?==5GDxcU7(dVaq2ZNBEw%89jB>^mUkIE&;PdHPGvINm) z<@A_#?R({0d_BC0hvLmODE+?vZM2WwS2V24p2!jUc>8;Cdck9!D{Ei_wr{gsQTgVpAiKfms>mM#>J!r5N?g{Hozq0RTH&FMmBa3fP;XS`1`C zkrebahA#HhQQ$Z=zeKcq(?*vh9x*4&aUT}Fhw-pZnh0zW;~ghg0MO`!Ej6%oL~*iM zfVlye>eo*#k2V1zM?TKLI@Z8Ea$%WyK18-r1s~v0XlYt zvE!PftDliI4teTJf}|?{LP$z@GJKlv^nIUZ+2%&xuMrM*UPD8Rv%u};T)N=v_?ma) zgQ5ejwR}t`5FD)kAz@!!2*|)nAq{h)qa=Y#$%!qDzE=L?Y2t1V{RNTBG2I-suzO@k zSd(anks~rw1kjPabU^~Y{z9b&F8?c_Hm)Z;t=GRxyu~En8ht$u!?78Z>f3_W{ZURv zcUw!y5yyO4-azNX1oh_ClK6VWyUJ&nG0DN0k!ZOrFv+yo=%VHC`=8*Diw&#nZWtA& zk1I;~?}r(r0LPEwA9|lH;2+l|k;}#6_}Ahc9aIG7Mo>5QP-LPEev75ywtfG%p+Nai zLb@VcH^Qj!hhcAAyo-*O`>Mv+T)*n)sl>@REV8NTiwxlrS580ia)3;@+`6zz!9^#9 z3GZ~Vw(EiK&letl?lsNv(Q(+=Z(({Ua2~F1v4uzMdl{-0JGU+h*Iyc82EA0LLR*Tw zyBr~%q6Z$_$5=h_ndlf!okR)ME+{Dbxb&S#mlSM`Y#o=)|E?euC=mvYs~5; zm%j0)R#ooyltbe;xj-NUOKn5Gs?!~M6drkz;zpmARH%2({$KTYSx z7q9z6o{yX%xy*dsD)a45pELAZaEy)~4JwV;zFl8#Xg!NTB4imZeW!byFiLS}YmAV) zcxez4bsACG1b5X%e(aHon0eK^s-2ew#A>!R%T>8Gmivhe8fP9E2fx!|KUq|KaoYP} zp~6>GZdiOC8BSbyemHy}Z8Ui5bLt-00CuK#D50S-3mZ8Mxq#v2at4rHIMrHF&D6TsLpMS~dK)rOWX`WF1DwB2ZykZuQpGy=5AkA+pbKOt@3; zi<6mM;?uLI`Wj4!kbznw<5gqw-saSf)9bu}5UX`hEjxYV0@-l(^fXO*){j0qFR~s7 zbuV$sUGbz~{30dDpjb>YQ=C;;wvI4g!r+qO(YWHqDzT#5=!rewZa_U{bl&=MRJ{Y$ zU{iwSESHhyb<%5xcLO(xy3gI86g+H^Z?Aoj9KZsTSqR?1j;;E$TIn7e--^t-DS6li z)*xZ=+?>pwdQtNOk{R64#)jF|jF)tbC6!4leP&Gf75|k%8mi{xixWQgu)0N|B>?q` zdRxPA<$!N+n=lrdE_&AOM>a1=_V}hLs(*l|_Rbu}*KGnA0-EsdEx&eR${vO9jLanC zUvfE2!d^;2rMwj{HB~2mqroN5Q;+rrPv>Z!q7p0btp?Ipl}@ui?s-c)|0Z{CRoz8X z$?dOoozww`%H)eG7&q6r`EHWsk%%#wNP_NDTKkW!E2rbpzmy`;poyv7Ir4;r;-2<+ zXH))Qip$OR-sOxTAElp?cq2pvxDz6^FQ4(bXV%Q8H8!rGTGYC1n`C&5vD4+F*vW1n z4s)&wJi4)POOk`>-NyvG?gW)1y$Uj>@??9@=%2P_u#U&dcI1#Hs>4A!SOMk?0`Vv* zC+Y!PuyZ#YFAY!HB$+ku`DN7P*lsczR(?Z1;8&^|!(w5VI^=WjABktzQiKw;WNH9y zAxzNZp62oq2Lw3#b68`1He-T}Kt|=V3rnIcRm-0wW2wGNS$I3-8ZN52o2%+v!(jbo z%muW8lzGV$*0?uoa-WnvTBQmd)%mz^Vzl*yqc{`Ko3E3ndzj8=r7UlqFMEu;TMMdv z(xd*uW*Ybe_Wv9b1{`&;G;Ow+ZP-h^0=FQTb9L{syH%q5N{zzq?h$?FwqZ+JU%`4A zm*XcSgQ~O;pdfZy7kB9W6XGX)F}qdmj%DQKP#PI#aiG}-V=J^FV&;;TB48CA<|kVR zPs6nrzq>lK;L?n99CURu+w=G7`qKZNCE}H%os+7BD))+WQ0_^oD^3_>RHHoq>LINW z%_1B+jnTf|&y>&p_@WA-#OQDT9)oPHc`{schW6q?{O4z1*ucS`naYWpHcAk2N7C!F zHQ3m$Kpucs^n}LJxGpMgS2HA!`wNOj^W2<3juSmwnUuXzykLKWxqi+fz z(a%hKB^7QenD@oh$JY-EBHb(RyHX184f#4^6Gn>URB6lQ=3VCeTui)d zPn?qN*~t>eG`PUy`Y~^Ju^|z4qq*+^RlqftMj7|rXq@JsnuNep3Q?$2Tj17-LM6n= zAtxuuY3+SrpSb{%crm`(KPCU;+N(Xc<&|H4RKj%JlHWWg#WDm__{gEJk`{;`sd`-h=%m;sm)1~4p##@kBiuAjS%T%!d7k#K^4g+yabV$v}TlEY#{QcUUR>LCOB|GCyU zlO37=hRDJP)Bs!4Cs#xLHb?dL6U3O$O6MxJV~G;EZ=I8(5daU}nEAnEBTY(Pp7)IrVy3^Z9Wo7mfRaM8d>9NX9Sd zXaQ_D-N%5FT%CW<8RfHHRaQ7T{d*cR0^GddA}M?)bf!yZ$I?YGUG8R8{KF`ZrHv`y{_27FEg;+PdTu4&`B_bCN+nM>wK1Y^*7xV^ z>gXoBhxkeFV`QbQBcIj}?&6}NQ`%cp;~qE~9ZU@bPF?!*$k|~1U49vox+NI;4S!?gmCPauKJg2cd+V1387RDJb*jhultj6NVy*Tz}4 zcpb|g9#_`9V1j%_L_FPNC@X=hs^ENw zJ=VMibyIw#?sQ)bc%14?U)7~t*%r;y=MA&iIRdvp8lcs~97rQ_pknSd1HVTO=?;oT zRyWmzi3{cEzJ&VhofO-fdSq_wN@8aX~NhH1az<>@QIA2>Uu9w4a@ zCl5^y$|%l+NR$_goR`u%Nvz}AN)=Q;uFEShHB4}}{zvy);l5|M0pvv?*U|_@f08T% z_Z@bfa_xZ{0+0O)5}N8I!{#cDTT<=z7c2;_2JI3&3C>! z@>K#zGo7>pwq-ds=mKqK_Nak)u4cbyG0vgkenu0r@Fa$^{vg}nXNDdWb+{rlDLMpM z^OWO2x_>14E1bMlR>}13qZuK0G=5X%jW_rNJYMlCL8<3Mt+Q4?OQNp79bNWw_Bneh zuj(Q3P|c!H8Wd#CREDw)_f9NYIw&TNJAXPr2Xg;MZ`gqWv7K*SY^0tbM4=Y(c;{=( z3ncu%S=Atk-yhxV7xmla*JSi&)q}b7?e)ma?A7)=jriwcLwcZ30KmslolKQOYbkfb z$-){t2JKzyXJ&ry_VkDOmXHZ!$)XR;#5*9X+HkbnM|0#eTWE|s>ud(kycp3}mci1@ zBG(!jh%EQ22lv5-i6cRV{(_Kytg(M)h$6|KZ3-DUoBPSD^zOO1hf#^g{oJGSuDW&8 zohb}<{pX4sslI0iB`>t?ajjd&sSyg55yK!Dv`ArwS@H6fZT(96C3LMa>@!Fiu1hVJ zSy^pa63l$*pIdMylE_%bM3A|Am*mX8RDHZCt?jo|Yu`r`;&;}cfT|C>Ssy~68o33l zOD^mi@o2FIIcb+p1-I{RW`X#o=0?2eWsy5qlS!R^paQN7969|=eOARL>l{B!lmfV# zOg;PSgLqT(%eGaa>pEl~Gv2lMDJ_{Hr3nzc^5>XnFH=*qdxXq}^p|3;eBsiTzIn)ZpF5{`Q2_vFk+STv`8~!cv z;-Ul8T*_m1&bHgXqvi~Qp96g(`&@@Lol`jUwZ=m(>AW22@OPT;r3q8p5Y9s_o0&)E z(Fr0>#^jAUf`2#Dsy3odT~bhTTEHNE)Vvc|PK*57oT(1NZCW)btXgCAg2~6C&e+9A zY4Gh?0om6p8S~iea`nvh1~)?sm!4T-No?-2?`kc(XGt$yrRlDw+y^TPvBSmC?6Ulp z8g!@>rV0|{Zvw;-yb7Y zKW+CFDB-#~(F9h2J?beq!5%fv`aHXQNPvux0aK}?WgV*1rF-iGHQ&!aLD3NR5_anH za0>7?89EQKJ)v)#;5_$m?;j?p&q@BqKEyXppi(eQn;!p~=2=>Z@o^hSI}v@)B`ZRE zdZbOO2mR!7mXO5|T_~j!VEK#3RdT!-O1vH4tk;-rdXUs#NfW3)IkKN&$Gho=a9ujB zCwO<=V8t+TI?EhSS4`(qDK#el32?H587!Zp=6dZ&%Ap^hD}{Cyrr2_-R4)(Sfrr;C zI`vGtLoQg~y<_pNXmgL=j*jN&nZ4P#U#1�%2ka@R#ce=n6)*bq2erN|Vxptwsc8 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 literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/kevm-paper.png b/docs/runtimeverification-wasm-semantics/media/img/kevm-paper.png new file mode 100644 index 0000000000000000000000000000000000000000..5496345a321c592b22ff081adc8d5b7fe78b2641 GIT binary patch literal 206171 zcmeFY^;=ut6D>@Q0)=7)3KS^Col>ND3xy)Z-2%m(;!Y~K77b4EqA9Kk#T|-kaEIUo z2$J{kx$pfO?l0f{geT`ACpr7|DhWkZM&lL-c#O?0y-hw5a7Z%n_Ecp-bHNDdJ5Z)#lS__9q8mbyH@>msW zBiMDpDcv@1 z-R*Yxl*pL0ezDLw;VH)`_b?l zg=6X<`*FJm-vr9we+@JL^~#Du=RjJvf;;@SHSFSCMr9-0QOvFlon&CzE--9mqnIz{ z6LWmgblmuB7`I}PTCT9g20=veF15j&NTZ*`@`<~9b&cR8w}IQ(fDOCD`-UHLAM(;C zTuvIfEX#am*H4m4OPw5dw|0(kmv?up?d%-NjT_7t_9!(bd|W5CaMEM`DE{~@JC>Le zcpr=R`P1k753#U~}o z4eZQ-S9@Rhaf7x&kec|C4Qvumaq6o9?s5egwNiiT4xS<+PadOc9uXQqo@g?t#sO^T+Nm&;|6*-|Iq~R z_UA+iS#5eM%>-2}EbPbMbg-WLH=|5%A}t(7=_qHsu`^_u#JCH`X67fEKIpifDfvLA zwpmB8k!ze&)a3k%#5@)rnQBlqZ*k?cvWj*Vzd=RI9hjYAVsP?-sbfS@{Un9mldzI` zURS*mA}Jgh*;){EtT?C}=^{*J&=h!BqdhG6o4*`S&-j|(G9uSd^w5LB<@`$~dv5jt znSN}F+4$}_yHnxZx|@iBs9#Qr_qvj7wuc^`=_CCW7)UyQ%yM$DbpPkAs`)x35t16^ zlbnTznv6w}Jl%`Or;W&@@XApp z0vf4{RElH;0zSyWaxPniKuWU|PGb5av1QF3qjr-(L%o^ESrU=osH(JwSU*caSbw)h zVV26lr#PzS!$xBZPFnrp!g_d^2d}J-f?;<0)7_4n*D8}G1Zp>^d*yI zm!ydTElm5XQ3;6Lo$}suD-GF&(SlnF3u(ml3ydCFkiaqp=kjji9|70A4vV1}3<(N_ zs)hC(DE@q9r>r!7>Q=`&Jbdc(JMxs^V=QBp4^e4a+K7%~X@rmbtj^lGmXbFI>g0(K zKg9BnZE`Hs0oWpt-d_BHqh2y-v;xk1l=y-Y7}PhtsbW( zmD)#_j5T(vk1UZ&g$~3OE11b0invSL++|Z1A>z)x-uS<5$1FjfGen@!wT9Ij+Pi zMN>C5?KJlOyhS-b)IS5#zf0M75$^@Cn7^!MCC87~Bbf^1epD7mC_c&Su}f>G?^F{l zOXSF>-4teGYWyS4zd?ebB}mlT*Bsk)le?!C)cQPtoxU3T$M{;o#Cqf(Dk&U@MxRuE zQQpf@j_O(6m+roME+XQ@lPtMoHf#cCgN;e$qt@=SuHK2ci_0`jJJrCToERM(uiZ+x zJLY%q{i{=1Rotu){)F|Iy#x=NN=es1JqZZZHmkbnS06y)(Ezl+FH|cT9UIlMjnZ~v zFRGTwtY~sF^^#81!C7{n>l>7XX=h|+0%(lCf!D-x@rUV=55~})%K!aEv+KT#gFY}) zYv-BnYfRWo6rZ{!>gT>m?Jpx{Dc_#s;_53s;l`l)|eT%n2s+ zfkYq(e}qYkcyU{SvEti!rU&ctTh$w{xucp4S@K^FT8E*0zYQ`XqHP+(pBw85h9xAd z@$u&QdGC?=uPZW<{b99=cN5`Sx6D;$Afqo^urB}OYl@j%ai8N*#KZT=@Hn_pRW)>U z4qW*1fGp=8bE!&poIEG#N|Ep51UFozor1&~bu#&>5?>YK^Tgu_(P4%K#>#|*gf|3O zya~Zgy$0?eWy+{gupUA zsU1)qCnwMT(dz;DJ$9*6YVKG6QfgWvzkQ6_0>w_%Ij2KlO|bl;|3*Fxuw?xtaC;K(UWjsI^F3=t4J$&|jdfNE?ICawYy8g(6@Bf9)42|s})+ke5#DD@qZ zGsk`Hsk!;kXpg%yxM-Xg7jkE~dcTQhvYaG+^PNh>m1b9sm&6CyGTLfJz8W3b*t2%w zl{xe8q*(c`7Nr1dZRJwtY4$S4;W|&j9w@*AnO(>F^ovl;Mo?zwe3HSFP$BspCYk6@ z53um*nWyf59myZ#;N#;9l$(;xI7A>l6zMc=6N#kWBA*uZs%U?E?P8YfX7=s<_~aA% z7ak$J)aT`DyQi&9d4ysWwL>PVnp0PS*1uUjll!jDeNILC`)q@Vq*za}nM*?3RF_?J zJ{Th_GmJP zVkzrEEdgxk7fnO>@Ao*_0|vTUrDU&+aw)eMJ<^QOzxY#6A2@L48|~83X`5>P{kIh2gsype!Z?|)mNFoGvLS#+zek=n^=tuz05Opn#o9$r8^4!e z0|I@I%UG`g8>Y<#u!-F425Fp;30~;04+q72=e%DMsqrJOtHjy)T%&x-^w(SJ%lh#m z9sRw2$XFFEyVy+1%4lcyTL0U=qXOMFb-K1`O@UB{b^Bb|UG{T|N%LI}J@ynYKKgHs zp6_}gs!Di5Wu=M5a`hmk6@}iEP5C&{F)S?U&-Dx~SYKoFeU)NcGE|J?%NpT=zelKh z_Z`Ma%+eMX7T}h0uMJddIfqbLsskJ!db>SkT^S21bK%$f&#WYlbN&9j0Qh`iL5Xbl9yW^kV$EnB1h5s%HO@)fBdw~V#2@B%$$1J2w#W-~_y^U?9i*fFtWKNMu~~cD z9;_)aG3QrOv2T_5KOX6nx@L^d4iX8PIuA$%iJK!JE)3&lMh>pyO>^58kx-Jn_L%B~Z7D@F0< z6_w6XO{O6XcQ~4_3=C2MCVpaJV^k91^o!S}i=DSfj_2TsX%I`( zfp#QV_VS@^@~?^~ahz;yA@P;%;r|vg&>>Zm9Zy-IbG}L_OW(z?S5p?>LOx6r3E@5h zX+X_ah62rZ7N+C4vvC)zE47PZ@)ITUMnxSbeqZiGE6u5}OmJQ|kYoKFUj5B$Yjxqf zVL4cL;cMvOf!?(5QT=!jPn{gwzM5p#$egHOqV|zemdhw#y?3(3Jz>X1pM%3}NQeXq zm#(K7I?Ubf%Rt_Zp~~^#phFLIOj+n8f%wymq&^=T{f6)ARm^SJ#lYKX+`OTMa}ZSL zSyE!)e&NU&S1-pCYU+1(hn~B8ZXv_=B+i*4^lqJ81VxR0yW zMO2E{cbY^kb)_UdLtFes286EtkS2Sg!m>*v=@sn=V?4{U<|9i?^Os3>UyRmMFvKCK z;_XVFw~Ks39^*$nO*JZziZuZ?+x+;l^J8)m2f-q+mxr@+Ua^d^dK^uys*x((ZF@Ao zpMxQQh5lM^M=4+XlkhG{&%?{zg*-*;W1+I<#NyBvkkYXNLGOv<%StO?-T%Gr;=p?6 zg+PVJtyIoxV?w=WWXSCtC;)5cCKw@3N>W)GHHE z?*AG;$MP;Vwv5{AorXj8o2Li+4^-3GwYNlq>c&=GW*xK*TtkMZCjXe%E-crIDrhtg zZTmj81xL*a~3^R@8% zuGN1MhwS?dD}O76YKM$*NIiZp7#I~w%|HJ+iC#)fHGhaGM;Zr;<10VR_x#mnWS8}T z;lEktz`1o2Dbky(yuTK%a?TvE*R!Dw+ddg?pN*93c!N5L-I&eP8FCBko+z+CQ3yQr zF;os||6Dgm^E9NYrhRkq@6?E{e>;CuSr@TkGpWj-?#~d}AA|fUuNIes@jR^}V}FuD z>@x#ZQwA=D#;5R>tMu&K>OKG3hjh*YY%=`&3Qp|WJ$%D<>j!2&1%~QzX1r9dxU}uY zrQC3d4TI;o!Kw)Be;>q>x=aS14LaOFC?g^m?01l-^+rz(yuGDKY@R0iFp+|p@s$y2 zhPX=T{}>|fcuB8OQMUI2!H4}jz9DfRipAULZ8TXK7Z;8e#P}xi`6}nIbm(8EK?Rv0qJMR8L))Bf;4HNRl)6n)zqd=yGQlyu7=r4 zsE=PIwr$Jc?@D-hAvp9O3i}=F3`*FGZGn26D90hc*Kn!!(QFKJrU_(hQBEnBCP)54 zeVDZ6^u8-Rr*@L1v6Q?C=iy2^IXKr?gT#62gKctxqJm3;nyL2oGE+a&MUie?ZL?u? z`)2#ey8B$2U>aiIr2#=(H-{KmkNBe%xAxoo)jlabDR$GoQfVNw_Z<@qf4DPo$_O3* zDRzMU(zD)PaXO0E%4Ma9+96x~pd zEGCK*atO=&M)ivxm?$?0@H4$Ka$v2~me<(0pz7yHFG{x^SKsb;NW6W0NyWjnKOUV_ z&g0p*Lq60yI4de*qGM;~aF&y1ndy?JV8&X}sNrCdJ86Ag_p6ELujEUs{26mVmMXvl zPzxt!j;l z*}v-Bc8;r02N~8%cuJ<{T7-@s`ik9p=?}aNN?+@bcgt;fM<4j}yKaCoc&rsae&*#= z*egWxSREuYF{claVfJ)xYMQ`BIhAn3Le&1eO zKcC|u zRNatsg>H>|$}vPzzumBn5`_4*zOkJL2V>I*Dn>s=QkmH#R%m*OD~BK)tLBh`zGemx zBB_g6swBg5cTV^G$?{266C#e?AR>vTK{hmYX+)=*o;Ivf8Yi}lgF@}CnQEJYTmLF z_|ONAnc9$=vaXc>&`~$U0zFPfGynE4|bb8I~-4O#WZq zCT%KTE;|5P+Fo!;0cAcw$?0ePr1%XSGDlZ%pcbIC32y&U>YS+7=a9c2KnhBySmoMj zY_@Y9F9mVu3*Gf2tT?U7q}DhQ`>fF}Mq^hSEQ+OJTK3zv8LfG5k`)4pGPu+7i*x+c zfVu$Q6{l`c(fM}iUJl)i>Q9Cp>L4NqtwdC1-#1eykU`LRrv+$>?-Mz%}K z$|$5*wK@|E?m0e4)P~Sgi3GN|S0&VUkiM8^@Ubr+Lmqnt$?4cgu~U2V2{Xx7$?F** zm_$moq7`7Edd^8f`oJFk6pdn&)mR^S%02u~Q`ULUeCGG9*-kIOczdhGobfs3l$ZT9 zyb6 z9guFp#F76;F{z>c;L7G^aonn`Qf6jR&mwlV*}~TS$J~2_Rh{rFsI%@hY3(k9z#cMk z`dOc26^k3{?=Zt_M`A0jiWz&sG)0G_r~5=&jmj)agbQTiyXSb3`Z+VA3l=N5lV`{g z`>^Xr%~}OTV+BfSf`jG+N^xQ-=~O>v5&#p@Xh&$^Kqh9{1BvtsRy4!y($%@yeq??V z0ncnz>gPVo{TJ_TKWPb^nX*wCs-{!dPX_1xEUnwyqjz2ak_sYf_Z?GMf$GFJs#i)L z$V%OHq=tlYS0RA+8|F8D9Y#N zosg0C)>|X$Uzn_E^lD6xk;2xrA(Jn@ z(r@=m+##~!d?g;F3Sx$hhfm6MeP`DhKm0nUZeqv?Q#YDD`WAi6LN1kiskL2CF-iNW@=N+NJP>rOqeDu?>IJzFX+~ zcMI+2oCuk?0%|znL^9_(WhEX~p7@1+eG0N2N@BH3Imt3Uy6SgZXA*8_~pY0K} zrr$} zya4bHz^f4YiEE%w{#L!wi zVnW>tg~O)bLe&7h%iDs<|9zt78)0EJ#cyz3TZw5)E{;U~1&hM#Chc^f)RIpA#_sB^ z77XMgTP5_Z&eU#g>JxJQkn~TvWAej^lf`{MbsH$g8%BnT;Gfaa{W>k25hJ(r`2RD`6%{qR^q=swS1w;95Gm)RZ*%H8Xf%T4gUaE zL;wHn1t8NC$Ac(?d%6Sv%&(v?3}VZP&9fD)NTLt$b65|h@o2FlOFYG(mEvmfJ& zl*yK;J&EbJsne$x^#c^ZAt}X{i%9*{(z1Sa!(V*V)wZzS7dlM_Q8Ts&{8XC)ZaDNJ zI}`}jmM!ccK8;+pqQI$Dk2-gx|L4ITW5>E@fiJXl9F6R!hVAx_Yq-;jDmKWIPer2i z>oYvk@)smW3?~g0TfQJ)sY;0BK?PttCikwAcGo~mNo)ZHS9)SqT-H_sv3qb zXU}F%9JJ^u=#L)ma&Vp?gJsGjj8EbyZSBg7{{9|2ZJG{GKVB*dj2l>6!#Bipvvl2v zlX1u?tF2YSp?3)n*@qOYDfFpY{(`sZn`gmGwJuU21OH~9C^5rii#@ajJpjFMP)msa zp;D3sZ`zv@NDb~tqa4(ojDlioB4-TgGFz5}p5)H%>FeJvb=o6p)6@Dq@tj}8Y_T~C zcTz`MyO&YpTo&Skn@A!MDO5%j22}orYz@bLawSw)f93u?!Fnz;IiS{o3GGRqd)9n_ za)08QKrEzbPBu}~?TRkARA=Cig?*8Z9IS;Jq-RkIWCLnZs;+Mcouf@Oc-2E}%dJ)}b_hrlZh^0FhInLqz9 z6DN?#XO^;XzGX`0d{G5Kt2Hi%?ebm#ZL?WRcUyD@N*CacpB-hZ4F?8{7f6!Alw99P z!&RkbcQ-aIJIcR4)AM$<6a3KN6UOqki?%Pl;WLG3$|qV@75!@qxz|=oJ;(PH-?u2a zKt9&DW0U;;T)9!l*yz;8lrL0-AE^iT@%5d%vOPE~hQi8OO=${yIE(F!V=3a0YGVaG z1IDw}u%_}a2eSbb9J7hx9v186<~deUEA9ta00d+=kRk61Nu*LXNa>ncg?Bg?!RP`> zVB`b#83Lc%VqwXW#`Gup@dzfu$Cqu24BoQvuyDMQ&Q@i8Q(5WyWD{zAT)#riDR}!P zQ5UiA&OuJGzPVv;Wyu-{oWWP+@??{{+~(*l#}j_OOb1M!p!Qn?m%HL7aN|}M?D?Dn zJ$=1tZ@}BB1hgUcI-l}++`Rh_bgS=W*3d3=H-U4XEM- z@iAzmP2;b!OBYQ{%&6D71*qLFkXo8sT5OV&a~W2YBUVfKK4#T28|m1)H%)S887HS@ zq-1O21OYV$2Mc(ArIEZ2CRWqCyaFlb{!_27J-`EOfT${5{>%`yS`KH{3B->dHQM=7 zH_pj^YcMS9MOu-5#)FeI`y%O9(8>}>n>&~lx82v^>}D3^9uVMBpq{O2xl{9gk^2a3`%qOaeH{rBO=|MQ`mn3e?xP^G^r%=;iZA9io0Rp|-VyN8eQJ^yRd z!db3(mR2TJf)Xj4hyr*EAa-$X4g`Ijzx$2Qu)iF@1$arkUYv2H?OxrglWS}LGoxmB zA;g7+Rlz%c*V@8s%KEG?a$s*hhb)?%f%MtutiN|xcxD5G!P+yh?@j^6H1yxf-DK~E zx$J*a``_XJ*5QBt@c$whB0-4%MtcSx7TXLVo{NggaHhC#uqYYU%R(p|?en9_pxv;GK0L$dVmC*>@l<)$0xuLMCQkiPMx@UN-Vjbo=B>+axoG&^d&^ME126c{z z+MA^xgqi%#ZGmB=%*yG!z`<&aKj#Q;I=Ue|XgsM^lZ9J*+K`ebo;MG<=F11r&i37+D11#Beh>}L9)XKHJmRK%7qFgInw zLg(qr%EWO;z?|R>K7(^kExSi}Z^002fPuzTYT_<@GiV+FR&2XPQ?F)f) zwA{!*2GFRvC}+p(fiacql{E~p)RuAvt(9wx%~)k-l^7Y=C+={3jN{gOapkQL9C?th zV=Q2&I`+nJ-eIxSwV5Z-3r*QCx!>qtAJ34cB6-t%8zr>p?TOGamSH7s@<7g3n0@R~ zIb9_b-5b|%FU;`Rp)AZ2bkI+#{sWk$wG%U2ZF52&@`CT#wk%#V$oPaMi(fF{4+?p% zZ_x65e=U-mVN*ENA0fxxL+5v>w$2a(m?Wh22@JFtogvy{h)E<`Y1jn45cMeKzM|Mn zcis538uXFIJ+FFjw&uX^WU$VxD{^~#o3f(y*&b=8-_Fd{KJ=%A5cqhT&I!Jr*>q69 zHyRNlq$Sq_I24`kHB_ra+ZP63TF;E;0$xKKD#qS5${Efb;+~KU=PsM}#GWsbH>Vn_ zS9I{RB>%zG8o-v+`)gPXINx;kbcTelK4k%WA*ey2MaTI+tu!h>_NAW+uK`{u>eHvD z5iNns!39ke*=lcH#8naa)x>G1N3ejAj;Kq`y-6F4sz( zEr=yY*QPl*+P1yisEOppRzB1#X&0J-yj~j{mUOyYiQsuG*4FyC5OX}P!S^O6gZI5V z;QfqlC~EM@F5uBH@3D=pbII$YZn|6=%)mB!HG1p?;(X=x`NpEte077r>s41&nyIHE z&}!+AxgmUf&=LhWqLq%A(2}J_p)G$(x1}X*$=HqQPj$XMP7dRr63r-|o8~x4rS!L- zy~g4j2_@1dL$woT@n39r z-WD~@HLYcbNRxA;H&+z7Gv(ibjVsVxR~ep&CV$_}gxnZ*?%OiJd&I@Xp)e3;dR41+ zPy>k3aIob0?bZIxMCAPEPh~_a-E?3>*sPaM_>F5c zmD$3hkF-TkjYS>j>lYVKMYml62}tW~EJpIkyt@7{`L!9~G{4)Qiu0QmTJ{1C5O8q- z22WqM6Jl z;qx^O4qCL%7Wms(;pV(|_o7tgF80aUw_$1_$3{$Rh&B{NihQOup+X2+s`-o*1^yjg z(F(O(yIr4*W7CMH&3hP01VDLB&8<|m-BkIeu~*TSr_fWUIQ65W?xFCITg3SI3%Kp| z#nEPl)mzs_P}xw=ThrsU-jEo|H@^U>VJmd3cF+ozHY#-^g zjLx=*KYmI|!WA8<{{C$@&E`$t&wsBAU-)aHc$9%vaHsD-;TFRjfYYGrY^%bd>P6|k zCv>R2Z9NcKcHuQ({Y-z$%V98iHqwC~fmi^VCxKWiu7F?9SYdEEV{WcRG1rv7KB### z1ViEQgW8Fog~pwrK$Z3Oylx{#(h+Z{4p=Qv}A3D9sP)qm7e>i11h^(4#8mGR+suMcP$PGFMaht zn5nQD&a{XT12ya&9ny&v><-uOH_lio594A$@jxEtcV3Za$?)p!>_Rl1kIyVzoVWK2 zI?TR6aw0%H-=<RJShT?Z$CykHL)Jqx^`4&S=h*h0{ROR8CSeYpXk4@;JhpdWI& z!pzufKP7MnwU+r~IwW%Kd$U=0bk0iJkKFRr?wFR{p_Y*Ac<-%jjTlkK9bv1ihF_@l>;NMtkcV2>HwP1 zMuj0saIp7~JAI3uBcjoLI<0pz-C2L^;{g&tp_2_1aJxsx9Qc|9fwP!g?C0y{8Ai{Y zFM%MA+l3rCV6=Y%^Maj3w;;faFlSk#bLPF-9^5n$t$5XOEga{=*6nT@p|hP5%QCNm zogvX%@=)xj7i}q?%a;)20KMuOBO@bRCWhL0Ws%nx!%Y}x-@V@@<^##E3)(o$><`y8 zhVxP@<=}=GtsX1~dP@qB098)8RA{3AD!v>X6JU2k?etW~G;U*i+GW)V+){m9@$>g? zM;Iyjg6|YV|LwuN>kt)hs^8yxW;`(S4UU@OMW6n8Yii#nN(YmU6qi#qz+B(?DT7A5 zS~D!b)cem`4;t;1h#_>~`SA~6HAOU#g*$;Pod3j;ke1{6r}R_r>yZ$%>uO2Mfn*L# zvSxH&1VuWgro;NRMc;@d=5knye8*K;hn>_{rS;#5kAK}l<2xUF8UPn5 z1_z!jTJ8_FNSVXoRAk>CL|S&! z(Os@1r_BmGw*Eek%02o~`-_|aFUYia1*{-`PMYZ4K@2zrp>e=;_G;W){l5S%3SqXH zw@>yF4~EriOm4YG0;n+;W>)NMxFaJKOox|yRRwohb7lUhzDUEY)PH@V@c@1$k)I$# z($r8wv~tmEV<|f7cj`PwVO&nA_ts=1k{=)i(B_@l7zsx_y?{x*G2>bZ$kwyzJLpO` zHoodGQ)GyC@8^XwEb3WhQ2KgN;->%!{o|gFb5DK3Mv>wvu$Ch|Y&{3fP5VgCg(o0B zAP?Ksun^R*0=&|9={Bg9fm0rS75$e(z4CBD^v#>1ONTtxefjlog+8T9_Ne=3Gs0k~L=a(z|q z<78weRu$j5y-PrSKWlTKf%}%mOo#~xit{QCZRV^}IT6t&knbR~zc%YL;yN|v0L)&5 zcBz+y-?CNKO(76v?U0yHgIRw1eq)2ngLQ=}!`{DF;Ca+v(_Iv5*JpMPi34z(qx~Mg z;Pv=!ySU|iIiX|RKX+pCP+ivVX~Ff=lz*;7S2?j7KOthL2TPKK;%@U=Iw0CjIKWoG zndgOzHwRANDI6&Sv*IgM6i@Ydwc;)HgB&myCP$Qrc10bZJ z`J<31Nw@lV-akM)V4C7Bi9_J-P1nnb{4j~f6+Be9kGxmAl(?rTS`}S}-inXJ!ZD}a zD=BYy@UJgvqzPWixeR~*L8vTw&`h}@JeBD?q<3eHpQG56u&af}rT1AZpF;nYvA@e# z2Z0fLfSV|N8QW-$-%_gQQGRp}Ul8Cyn0&f)+RvX8k|IauF@NKL>Lq`eJ@GiKn|7#= zs-8~I{s`YCHT})-K&(W^*yzV>)xhdn9Ir`|>{c@p?Un{+-gUR?_cuAXL-~;m(Kw4H z-9s4y0z8Fr%_dEr2NkDLwm!GsZwi3C*)jMm97kv(U?YgaF6V62sAh*t<=-?hgNCQ4 zXK!;0_Aowk3Xp#uobyCZCJEE0q;xOTZS5~HReK>=B59fkn@Q$f5BwMXPLP@KR9CQj zPb*s#JCU^1@cX?8S*iDq)?T9K@-9kG4(c7=n~>A!H@})@^(J2`tE2jkc_A9twmu*D zZU?8?6a!&?<);7XH;Y+k99Z(~6mPpqA>R)GMd^ZY1-{Qe1YZu{)jA$~y7V0YYg?JQ z4cEIQZmKRdx>AnBonO^yv8_4%JYVnJ)qD~!G2}ia^K@3?@-$rBca5^gX`*=In>SZ^ z%WbN4T2x+Z0(R#&r3$k| zpQbDFz*rAi;_cp(^T5r^{4Xb#l{;0R3lG14iECVnVK?tB&%1xK+7-o-0ggCLc?}}w z^~rqX1rYyWQQTN(()*P!5ApDqzCDJB-F~P!)$97b`%C2XpYxQlRpZjNapw$d>+b`? zW=qt>azD^lt|M`78XjijbnbW9`f+qKf~QY0Kf?*2HgsbKcSwG&9)H))_E7#I~vFVb!0FIIe zYM-lh*qpkLlldq&Y-*P}MZC8j_g(|=lvobX01ES5_Sc#imIEs%|MI!6$Y+q;VQ*L; zcBS+CC3c(SuVW<4VY;~su>~bziz&@23ev$E(cnJ&|ZKol*1n(ae>gxc|$+1VA#jhu*yu5r01f@Q9>)g!@!bH|zCwYV8ZVcm@ zl^U%Jz?>$*RPVw8^xQzGD@@Cf1F`z;gFALqFYD!DZUIn2F+2YTp2PU7vNTGV^?cBa zJd%CU?+W>ah5o*y)H~USpl>}M2Mb1xODHn`Wft)GSqEvbkk*fn`RW_S9?loX|6RR` z$$whh7d1ZK{K{WqJC786TV*3pr@+_#Wxt}EmK1({f~oeqSng({75g`@RW?+=bWO=d z>#%s%3E7oI*URI)2KY8dIqUN`mIDAV6T@dhGfeG}vz}6xqOs|yevJa<3H&ZfXhRpK z_R|ts(bo3%rQP=8+?;rO1`(FCyb2-Bq5t_lqW?z$vr6degZnlwOSvKic^i*7pF4=i zf?RcgdjSFWg45X4ggGpfYys);+_1?Q-DxPxN)skc0J9{9NX`hs9Y_}ZJ&n4_F_NS@ zAhn;T&iA_j*ktMZSJGdSrM%t)Fpu-DVxj!uDI>c$?8h%M?hhJS4ZPJ!{bxV94!NTo z^l4?r828oC7qL4P@QU|RhR&VqKis;ql*SZV9us-Vu;1PsGVD$YJoRM9>QF3-{FjOD zE!6hA%}Qd77Ia>DXd{+?P|Mpg`Mayir1}ylr$a<>vjM;ICiZ$Hu9I{KF; zyA>4={^G@U;YY(<9nU!-C8fdT{%$&t>0h;`a3EN5=^IlFpY-Z~_P&k%nDu;Lb8pUL zZ@$6X^=d!QQs{o%uZhfO@WaBafK<_Q9_skiw9`HgJY`Ab_-ixo_tY@J=cE{rEgu0J zdEANkUt>GRD)N6{sC>IX0PK<$?6!@|@}VYyHLF= zRMT>Q79hK9kGYbF&n9s#K8p5Oe$+w*p8hP)!l~=iXj;2noSzsI1T7BOnGt0ed?@e| zs8rh`Zl52O_VbAD{gKvCFii%40=={n@*;{ZlI9IF%VwlE6F8aQCa$^gry{Z+s(`^* zSkk7scG-MeuTs(p9=4tRgUWDfL3jcBS}=du>xnY~O+sfhWueTAPF-$_!REvMGh-U} z1d(i*kB?7knxwy-Qaix#Ft<$yEmyZ!8KS_?JFhIq6H1yMF9W)j?S6xm;#e7DVO`zS z_VrrL)b64oYy-${68rT<^weG=waqB~3yp_ebfC5j1SR z@HRIU*z9qhMZ#L^svMU#m)N}@SP`)?2ljV4t_}l7Lj-KZo!-o+rro0D@faY5s zQ1Tf_jv(lH5eprmUXw+?r@$m+G2lu(rqFB-g(PME9i75w(G}^+16#`h!mz{DZzk)} z?iBdO$H+ee8MPjxQ#?W0OOsbucYZQ#ut(qozIGl+cG3xQ| zj?f(*0XfXiz-fRW1NJV_hSk^rIS>_1BkJ)f`IpGfZ-!y<&C&?V4H_E3x(`yabCQzN zEP0QZVfRovo5o+{y+r^0|2nQTx#O3*oARv~T9uH~O(5Pfz3jJ-x(T(%&%ogG#~;nC zRgfCWy#bXwBaG3gbu`q{==D{ySwS9&7a4$U>jK7p4HACd4ugG%m|8PmKr_BQ11FAd zuB&j0A|Zv0ki7V+;hz#>dS_c~h2~G_YaQkSvX3ec^;({a9sU)v=b;PmYWtR)nhF7A z4FjCmq$CvDPT*TZ-uD(M-p%ga6->-w(*eBYc*m~JVUAXp&v_+qQ%AzTgE*d4Y13pE zNVNQzVn7cMBs#&MH+Rbg9ziqw%Py;iZ%Hfr-KSDFFlWQkkdAKyjixBbZVR5V1avK? zrD1tWIxEu}&_-#!-7fo~&66`TWWI_@8x=yy(Ba`0#%u@?WH$mWqzyy)_?!5Z|Fj+l zrcP&g4TTtcbFH-8yHf_vk{TcshE#Cd-C74i9{+~;aXN9WqI z9=+ajRR*8Nf(ez5vD2D|TT>|hD-r_lLw^{N1Q7wkRLvwDy`osN7|^7Kj;m~Dt+MoJU2^>MRUgx#Mm|DXj%^Wuf8{aVi7$Q~%V~lR z3k@eBOI$q7OUm1 z)w(f=bgvZxfngGdJU6>gctXeU8bI31E8xdHxhfAq(XUc@-&?RZ9|L0Jod_isV$^cG z8x*k*1}J9`5m3f`r1Kwl?p6}t`t@LLPE=pt5YS>n=p=f7`VMUuVq6f7T`_5?#=h&F zA2hfbX6Q&`B-M;6%)f?s;csU8qFOL#CZkQ=FQ=61moSK1TMVw0E(W+iu46;tYe@x@H>J(sPcslpmjKuM(1$uq*LoJjX`gIW~RyPYI2MEM8Sd`K) zF3boCLE~B;S>Vipucpg)M10P%g~RW1Y*^Q^#o_&R_cjvgU$kMdeFD&^c(-wZJFHnV z_Be7K4hc^71Q2j9eADrEOeu`^aN9~pfo@22n3t)>Sg#!clt(`?T!6>Izl_{O(CIQB zgsE?SY36~wD=6gPev)QCsOh!7DER~?WLpZo2IR)oE+!%rl^7rqjogljT!I56I>N#% zfxMt1Y36-8!jhK)B?JQYBp}glpy^$1?+eL*YXEhD?U4!B;g;vgbOQ*~AdTmO#?5#Y zxS?hZ5Iwrzx_H*r0UKbG<^EOxn=^|P83jOp{)C6ydu#b;-9HmikG=YvXmBL8XHO7C zIz@AH`F@md|3Spf{t{f1fl{@F9y_pibnSk-2t4^4L-I;D56&VH`eAE;@MoFu)N)Q$l$ z+^DJ`dkEF#yGzB;WeOzq+kh)0X!EhpMKPwjUc1bv-@4g^j(wb7TQ?J`d+cPh)OG}j zAPDy=r63)k42YZb5vdhJPakh)o;=oA(5*qk+@pca_p2Ghj{gmy;leF&R5_S4vfcww zECCtJ$;RfU{UGA0#9KEi?uH(Ng>!^~GJcy;9l)*9N~TKnYi4JzZ6Z%ZGO{=?=4f8; zWC01_x}^mIXqv0Dw=GtWd(Jqg;joh^05|{~>v#GVS3-LFQTlN8SJiY_wRUK_`x=E`=cT2$(Bi*-{EIN;ap&`S`22!hiaY$}JQO3#2V;nr- zDfh20agJ}>S+2^OMK?FwK^Ozp*_%th0sT;o<7)MjU+{zl9i2+1c6akkhN1tI;r1Zcg^&!^5Wp zz97vG``P`qwegx=pq2UNbeC9*TZ*AjEvRpyBm#-ErtIdcW)V1Ro6z1BBFvw zNJ^Jp#p(KC5BI?j!5%YcQaR9>aptwP(UtCID{E`x zk0E3d3hUxJ1>coFIyqjzWhrGVQvERM8-;@t$ZCy?i)-<_jxV*UcexzA7vzSZcJXOX&027Y&9r_P=djU8R(Tbt<(@A0;EbK3QP5SafPfw@rV*ApUxveG-0s07)%Qde1$Yk6!efEw-W%MLW0tGX69N1;f4KI zS=(0Ehw10oZu<*T=zT;y_1Nt4RzV%*6<@M#;!84rO)*eY>ohH29VVf(n#mefZztBB zToZ7Klx!Bp4c6K$MQ94?>e`MTA3>p>URQ)!@oY@|-_DUw;j5_iybQQ}l;-6eJ{Hy2^<7eY460fB)%B9gcIG4<{m~ z0?Y~w+T&qQ>qCge3=+89^-{(2RYS!qqv;Z8l{C!E%(S%ODRs8l19-T&_e3vCb*jD( zLllXW$tEk>6I)|T@(MBqJpKeFfGth7R8>`lqeY6bwJO_aP)6GVdoC|uepJRm4VAU+ zJsMNj(_0xEYghW5ICFk}Zo%z=t-;XFK+M2kYs-<~N+Q3pcU0$IVd4c(N=cr#9)G=? zIbUO?E};IhC_mpl`$$dmhu<#h18+ zV&mDf)ofF4$K@yEA8LO7JiSW0t2ep;QNruK`$+IoqMKc=1+U0iG}FMqtl=un^S zd9c6FVO@OzaoEWB!ocqABD*@~jUW!Sbc7*u@}LMi_JeKt3Q912$On> z5ChXPPd@D$;?Sj|YBlo0EtQDR-XS3&;bcmNo|3XIu0oxq!J}&Fs?KgjdF6Q4w$88t z>G->+=W{tzya@#uAqq|+E_YcO<>%MeWd#NN_NP=eo;*DBS{!!zDj{=KroK1t@GvkU zh$W54!YQ9Mw@*w2MMZH~Lce|e`dVdGRYNLfG)x&ai&0YXYq$)DbtNM`Jth`bI@7ZG zTEOiCbdQFXc4}tE?=If{$^WiTVHe|-df8I43147Z7$?tB4+<)=jbFwap@nmZSH0Kh zGid(7bK!#nO*OSvyA=c23wFjz?a#b<{&mrUDOF+#@o{1;P&~9WHV3|F(>4QVlHKj& zo<}h=d0XAdqTM!H?b@Kki@QhIuJtDhh12kF2e zkG#I8rCq$VljnFG9O>_%Pl$_KbCN5^#lx$cJ^HEBO-uEArQSE`c2yY($)zs^Ise<) z#F%|Z5obA~LK@GUXT{d06grlchW0I^1WgMbr=4Bpk~C?It96|h7FM%U$OC+!L3N5Q zj>TRi-t^(DZ3uKaHgC;hPf)#N?i6xR_v|_Jg}^0`qx;jh4&ah72RlWj33~k*vS!$C zs+PdLeEDYAZFhBfqYrt`W)AqA!gPL?mzyu~ES#Tz)wSeDA)3d=Ih)*@o+4N{nl9G$ zz5M<7t?#kUmS+q_Ca0jVRKOQ)2ZeGB_)D*e_`nF{=l_ly+(}BM_AG!bHhH}&WMXFC z11q+?7XLB;=nd=k8w+lxM*bG=OK2t7TCIL~kTspj5I3a=3NKk{`3CnrOU9b?XOFtq zCp=%^UKQ)s;MWYDu64ovQkuBCpj;T=%Xl|EMgo;)-pXQa;F0n+Y@xCP5N-$Z=u2tRtoQzV8cCucUA%6v50Po|tFFYY64OA3PW zFzUj`!Qsru%ME(hsHK^BJ++tpleny`%&cN;Xz-$=Sc6q@MOs?EV|&1^1#+O)*Vp0) zVL6mK?aKdMuC^`3>$}cIzu)N4g)5G|ph8h)mL-jgi)(KtA%xmJycCOdk<8?ae{ox1 zJ7<@B^{IPgx815)K+ai&oxKL+!R;MvbMyQ=_XgcISBv%Tv%^12deUUx! zRZdpjuP%L%cKapkd{!a%FG6xQG3FPJ7HWSFRLU=AW@h?cp8BegxUAB|+946}yt}L3 zm^$F}ftuez>&rgbcI`fPcvg_pq`@c2>KfP3k(1kWx|5;QdC5X!ZELE;_{+lpj2g!L znVD&8VPMO#;(U~h=__zN8-cZg?u&teHO$VAfZ%IhF;*;-z;K!I8UZ1ah;w>oVOXC_ zUab{?yf0t)ja0hS00gS7Tah9Nva;o{8za8_%=;sWHO~NDe5L86)6q2wS%cq@os%;m zLEYH&Au9Umc;jx&vtQa;!CM>zs)>n70m4R5aPaW3!y}ocrIp+9d|5%}@v&?4{GODG zig8iPkxidfwTCYqR&wU~^V%J8xzWJ|6v(@GDGj0N@wqPx-}5x;@bzv?f>|gZHS;Og zh%{!OQKz-m{H*c>K~S@bTcFxacy0@|_0WYiH@gg_%J&HY*<(ICq%b<62x2I6$ZBC= zu;%0C`ZYYe>r6qU>ur{lwDcGaF(YFipUOaLcC6D_HtPOC2Q-kw_S2yEEm&&Gm*90< ze3iArS!csrC7jxPZ*;y}fPmnz)ea{HBffoMyn5fPfAAjQgWTL)xeSh;l^LJ*&%X78 zhjT3iUhqf{b=Z7rd5t&EV3AL?nhh#ZG2_`^~hLVc!knNrv4i(+A?+ElbEu+YwKH5~zlK`}TaI@Q=Q zk_v$FFMH^PKZ#E^-I2Vyq!d(CFnFJFCdp2Zj|=!6zqgfeheA-EIF%)2WDqYJ9LV2y zNA|Aa6UEcl2)LZX$F?##I#$k<>b9r7I$7pdr_i#FoXY2BXOyEqi|+;ox=MTO(FQ*d;&R8l(I z8r)GVI0G{t9p{XVsr^o@8~sovKHyJ2I{J9aZ9eM-Q&!j^ZeY=Np4&s zG3cb^YeQAw0qxL_AJtk>Pba+Io2LTt2(DscVtr8rf%JXy>}nrBCW|FdhmJQVUv4K3 zWo=up?fBq4DWInb%gBVE4Ow81WEir{E6B=PgQYjWGl(c`sOy+uZ~c|CHPFS|E zs_#f368zrU?PGEak%-PvEW3YCPVOqi?3 zJ_Z~s7z@II%Uon17I{$>%4$z8HTCqOwHU}IdiiygvWY>;cba72(BC%8FDY?xxzIny zw7_vz_y|^mxg=b7eBJ2nYzbsZsfu(+jh>*6ij=rG#YGtv71d8^71buYg~s5mT4Q5l zhE%~wdIg!M{_xC!+uIk_3~K`e(qPN6LvKV*v&)Ongdo)eL2$v3UOj1LMZA$0ERe&S zv9!!L8Vn8!g6?1Ll?JTHzsOQjSIf+kG+fqE5*3AG&vsTN?~*Mz(ks)oY!$Hmi-ibv zMNxx9GH;;#Y-wh1N0x<1J-w|?U@Hbmyyp&bm;+f+;Tn!EpLF*lB8cpQXr$z1c3ht1 zG;GT}@Jp9+S_t_q-)HkRP|fNmg@(dkiBy#5hd$b9Yx51V5BB#*;WOi}o!o2Q3(7ga z1WY8i*EZb6 zcfZ&C!yJDR0iPSKVeVaz5K+>#_zRD3xC3`68H(IXy*O)&KUkP8C*coe zE7Ns-Wuc0pMz(hvx+fp0*G!D#_XnW1IKrrhpPGy5Qp3u3UAh)SQ1HhxhFf<6Um~UQ zn4s12QBeh@l{syKC0+B&ffAWS`E5z&2YbSboZQ^F1a(w3Ryg5#AIN+dheg=Ok6aVb zq+tolO5+eAHp@e!o;7z3;Y9O`3rSj+y+0;P^QzIXKK4z|vVO$JAJ03ryAHZ)M$@~V zmb4&tGlZO)lyyB~zy~;+kSVvlHidl&w5@_2PwIt7BS5TqZ7uwPa_V!qAgXSfs}->7~-o=)u4RS1pdW zTpt)(DvbJ8qcS`pP^4_xWcUCTfN|a5iuu@>b7>-#@zPXmkFxe0jo$1-Qb5@w+j>K> zP2l3`OhS@LJ{|6^Dk!|V^-$MT6cb}`vfT2C!H&ZZxmMl!!-uY}&l2^67f3WjRB{Wh zndhfBW|c1BRgVwj{GOkZxu5eheHA6;_rRSlOkPt`5p@$bA#z2l>g*(4B)1S19h)Js zUY=Dh(P)9ydeCw!Z1rsoJaF$oD1?FX}x))|Ygy8H~~d?>wrEz!OZ zzMG1+rh}yqudb1ChO9{mlEI~$^>1wSaREyi*OIN(X_eB#f=!lS*eA`zjocSzS+6I& zlu#kZO9!~c%}=}qqN{gWkm~~N<&YAnDQ3G_1YsC< z{C2Qe3^)3p4eu#S)Y&ZYb?VPvS}2$5wA8x}OCPf2FGb7R)~+;$n{@gYC{t2XQ**GL zQlHX%!nP)e4hrI`C6cuvcno~)&-D&gsLPr~7={O6--_&z>y+dX*Lu&3WuN=h&nVi9 zTbst}CEC3^jTP@HC~}L7MG01nnYf-panu(eH>VDdP&FuxF%OX7=3GdGe@RZ_xv zJUmg9pqQ{6kBy5VJ ztnC()z90SQ71069tv;jjBD7Jz2M3)VbPkK*BcR0SCSyPSEiL(-oGx||S*v{2)zm6k zF<+*jp~vpsWfOou*h_y?($sW1Cu~DYr>t$>1L7_$Dk`e08-?47&*NO)Bf^@u;I^lX zZdj8M9~wz}hAW6ylNBKHxy{VoT~x`TqT|$nO#ID`bNCcHJ3T!;pWMf8PQb54va&S$ z?39M&q1f~)Y5P4IYb_KzHoC-_P>}wg>nX2>wL^^yEiB8h*ic`Zy8#j|Q2e(j2Ef7%YStOE55b5cl%X*k^kCKN5Cnb@!5OwriHW&=e2~~b zFp(+o_|)La$h6DMe(|Ny((Q^jY*oHORq@j$Da+U20}hhu9T9)xRBf=_AFk*#TU-5G zMPJ6UM-$-U?$7o;&uHs@E3hGIwZ4s(=sVVo+)N4|kYYnjP5naacg;1C09riExtgoic7%#fHr((O}Sncz4D>?>67Cz02j4!4Op z7p^L(c#T?&x8|G@>eJ1mgwk%=#(njpVTOlqY?O(Szrc(MMXQfVjSEgMTiVgS4_Y)~ z!oI3NHv_9I5F3Wd3LQR(iFwRVO0A9RqBd!Q(o8HK5kKuXYe4G#N1@eh%t0H)Exk71 z?8vwjPB-Lihm{~@6%{scX^>(#IXFDM?f`!p{qVY^>7f1DLkJ4dzy(dMItZp#U%#ER z>grGJk5qOo{?9KVkn+0F^z>yAUvD+UE=I`}p9jq#>|> zfcO2oa#D`0g_Cz8s?qLP$87fm`L7!V?fSrEWv{zh`hkJnY9D+hHB)|Qq7Og;-bO}M zT=8d%(P_=(XrbT4mu6?*J<@e{O;B=k*FdbSp4iwY?UtNFBO-V_@7ZGCzN@LJ!Q+^} zz4N#{oC_RhNh@zbcOl%f_9BolG+Z8U+fw5Bp-LMc9L)a#@@Q*eadvr*gc3blu@p5= znOo9sAyV$#8AyU^4&WDzFlzVm2$t}vQ5iVprfb4xmkEQR-5BpO>{oBzd_gC47eh53 z&kA-sY4}t5YRuj9mZ3%?;_JkC-VGb)hUqzKDZQR$L58e`7UBnVWCKR z(Bs3p<9$N|PuMP}-NpI&TR1>}nD~*tDC`NREBBwdu|o(8lbQ{Caq~eJ`AIDkNf}9h zCyJPp70-SEP&uyMh?hA<HD8m~-8`vq zf1lqArID|`YnPj<+Ks_^yCq6)rS0jb-=L0yLcFtcHD|G&)5f;Vp~No}lRFebpLaLA z?T<^1?s+Z(pC^L!{lO5@fgxOF^y1YbAtBjmVwjCiPEI~NbX#sa;4)WS2#THU*ghmp z{ivdtXk>_g3C}O%E-Y-&9Zm&pjhvcdA5DLXyhkSB`J|;4jtwyo)zY%+400GBXU;z# z7#Qg5P*5z8A$rM|g-r2LNhzJVWw_C-_SLe0U)~gHY=0~T9(tubib4i!UNm|ojXY#8 zkd**G03cYoB#pKjHuf7W0yyDsEJOGOHO0B#_2I6|XpO$fW?$?s$;g3HhF!Y4^6PJb zk*%$#_s9$k7JAq6e?yTBfVf`;9p>_4=3zDrBqZY#gV%Ex@GK1)Dk|OX+ibM7h=FTe zy$Y$z9wPbx)XLYD3fMcet=oe*JX=BY_P$SGl6-}5ltxxQQ&Esp{o}DD6uwLZ?qH?_ z7{eS~F1jDs7#Nlv$3GtQ#HVnS9!y6LF6U|o{yU)GHZVUwRV`FnfYQC5C`K{|Ddlj% z=^R@}hd`xGK8w!e8|>7>%36y;`WJS#d%4K!c5eYj%g#k<+5P7<>YSrMaG77&-Zs^& zb_j!Haik&?4nI6Tgh;jFl?DrX2@86_3Pu|9{i0rDU8*X8bt2GH9^7)_J3gF^sC?%} zNJ>gN%PrLC{Fcn}0RlnF&#|+q@!GK5ncAr8h#(RYk+G&VX5pqgY#9DCHO)br@#V|l z;Go@n{gsFN@8F9(q%W)oIg3gN2nZ#b4Tp_0^pqRM%DWJqH9aP#MUZap@x8 zG2^@GPNt?VCNSzvEQ_~#t12pn5{KsGba%e6K_#{o^!6q?H>@#cnVX5Gv@$IKg`)Vy zsc%^Lj+04#x%v@1yY>jNe~MK^JAC$P=T$fflORE%%!>eG@}mNEF|bTz5O6o2JS|jC~{pPvUhuTJbxj%EmeJcqWey z3y1tgXjQ228O+#Wt+h3v3f+h(SF8+_#v36iIy$MC7@N0x%<=A%8<@i1Oa|kdpH309 zfJvEuGe97KSkU)9xDLvQa;BqTALLCXxkRlB!@bg_yNWG?4a$)}=_6727WP+{4w!Lj!`^>7B5?T6cVix2Arp2zuu*KM?WJnu ziNEBD~ z;o*=kLH6%c^U_jLQ%o*i@dG4z(U$9B*k=}8UU3;2bS=WOb@Cd-az7!|lCec^!i>UT zW}kWE#fHyql=nAK2wniOR6q43wup!b#~ZYK7c?*U=d5L`xs zg98Iyof&n7zKgj0mTt05Fx^{T7Boi@=r)?5Vx$Ns_Z0MIV- zHB_hfc$*p;4&`@25QpAWd4FE$SesF>E!~jH@wColSyUyJgtP@d3l0u;ak)dQanz7) zyUE%7K_fzWVj1bG+j8|>lXQiPhx=sCE7Ud8m}S9zWjU?0li(;SyS#k2Cp z-%n6LqMYF9S5A)e9U7JahIT%k^~2pB8W&z=em)gVIAX9!nD0eYKBVp=Z<+4hGx`|8 z`+HbhZk~zdfx*F}mAY6ZKCzz=wUbEVP{hFgxj9NkMoy1EaMs*Oi`weyAv8f(QAHPr zE_|eb0}k$&g6^xbtZR2?U$`vYzg4S=oC0YWW|) zr?08G{>C>?k;>JTx8Im0fcW{#OFV3WCmF#WQ9lF+SE26CYTovuzY$0)L zUGx)ak%=f$iaD52lwd*$J2>>;h9h5+JIR{5OlpIW^&){sBYNU5onqy*w6HKlY;xWU zhzuqfTW02&((U8r@u^lK_xJB8+0zSWlYuyU_g>NdmIrK?U&O=1tmyY3&C0@2C>wDg%? zXs*y2&z6(aUl59lwTyt}cx#|xtSDjr2X(ByV51}CWd>3F<-rVg$`manoyk&y zt9ly_a`NFP1Jv47)ICAJU_OKom>?g>r7|Hm*~`A^+sO2NOfi?$*7ojwllmSdP0r8| z?Lo^0vJ5yu5?A!VSJ@{pZ{fIo*Xgh?_Sx9kkLKL+Gc!BB2y<9syv9p0@7hN|H4pPf z_3zIv$tj+sU|)M~8LbW{?0YYnC9t-gT+TGIp+HYBw-}t+lI;v~RGO2p)he=Yqy5@z zj+GanJ$x^3L_5)hkHC$gfYTb^5fJuVOO5ldCJ;DzDHA3J?BV3mht51HH!<+v`0M+( z)9&8jrr>Hdyrh?l4Bt^;mHy**)R;}F{-Mxg>5PHy@D}KRsBn8l6B0^FG2dJmv<6Ot za!Qv|us5!)cK^IrRjGmmI)NkTGhe1QUO<_VnqSh#g+nS!a z`$FBxoJMp+#8777Zc+WZVQRbx9hcnLso(z&uYI-)#9BLkoRx(|yUCP18*Hu7hX3v+ zapLRL%!aIo)Q|i7fC)23MLl$`W-;|T#_Sw$%3ACa=wvm{E!tMI2WLS1jf%PgJiK*7 zP*8o32y*U|VYS%t<4IwWRr%i4?a<&tv}>C|uRayYzhyKmadKtdb`I2aZtat z(IWCZ0O%=o){NBDGJa>>A0081#rlfb^P(Bs9w(Obvre&Bmg^fn zcdly;#Eg_7GzOHv2v!RF5bHS|54+{+VZb%`dTL0DlcX`!CPu+IGo95mSyNqoeRvCq z-lO@rE6JvuoXgd<4ec@-24w!XzkuF7NsaD+jkS9vUw_p$<1o_~(B$+CY~m#!Ex5e| z1L|k2)#0dv9U}L>TY;2?lH%gU^6_Jkv}o1olnuVoZYUpOb2ypfz9E`c&qMJ+u*KFi zteLV1h_8;!9j3Im9hMKZkvqH=v9T3?T8o&c_;*6A{?(X?tbm?Sm0neC@L;*r$`c^~ z%p+`hM#BTN^(RCf+8P?S06bf8A0kMdN(V0N#kC6`P+dAWMV0cZ7q>SIBys+Qvhfdb zV}Clcez2wy!O(JZPYrnX%sME)iOi*|(1=S;?uGL50rhx&>%r}?4P4o`nPinfRN06J z(&@Zf*gnePO5}p+(|x~g)d&YCXBi~L+}xbYXS;Kc6&qMH+1MrtN>fk%{6ciC0FsE| zoko+FdsSQJ7_j2lsh575&JLl8-D()&4!slOXriw}9gob&W;SFfCA_qAJ6Zn1OMvv+ zwH|*kW6+UAo-htLv|J8sR{U$Z?{qDKYFt`?kR6s1r#i+zHg~w%m9c*Y zd)!68oQA*fLB^O>gPXU=au^%IZqm59?O=oQ5+3G+7cbJC(J_82Tsp0k69lZd9d2rfHM2` zZR%V`>59E$y=Ux}f6>pM_Iu|wpm0`E`H|F(1Kd}Jg4u5F;?UjuSQ{Z3nb={*+Lu5~ z1H8PEE$8e|X)kZd974sCvgO=}hEkvh{@^Bsh&`jP5G9Nj(K%fSjnkh$OUFwt-N!HC1MZ=56=RN4 zH&xgr8h*fja504Cad$%o|EI03^dNA-(ecK>2SjI+t8I@jL0ra9?rF98w6Z!|rWt{ljb&)Sn9%TUBq=$5#PpC|u&sSm@Y|JZYRp=5gSCqreb+s= ziwj+2Ry2_voB5cKHFubbU6aQG(4UHkp1_86Qoc`*jrAJ^1<5I(Rb~+z^(Hh;6%zw%?JAd!VNJkaNlI!jGNrDhSl##! zQWY+XdwEXI`4^ z`mHt=mN~t@05dZ3se2+NIoUjn_=bX+nVM^p`ltkUd@fg1Obk#}4uXwdD{)FI2D-7a zu`PZx7Uww#v(c88mTpJOZDuE#vT9vu6@ZnVwwbMTS+KRNn**X%{bJkj{ahf#aL{7n zk=ql(5xg9^JLF%fje;7RCTO)i0o|gWN5QipKPIh)~ zo~1Mar{h~hb&;<0hnpA`Ab!Wk6W*T3g%|AF@!mFQ>dTfkqo(}aRd#LeuJyZ38Qy`aP{W=kX}pfWZhl_#1{PNWa#z<2L|p(nI4R-hlR#m(Ttsa7xPfkNYZdlf;Nzh#*Om8X8=lmdk0`M zGU_d!XJxG;ViOE)k4{ahn3*BxgX|s=Q4CD6eZIF)z(`oP!5Ch=QA|os)^1u8Z7Sa_ z%?e0Stbt^$H2)%E5hsnYU2Ja2IKtoq%$S>fy>OGiUh8CXb_rl?m~quM4)B=zjIpwB zr+2{)tcyd6XJ;#*7Q379uK5TwuL9PmAkT(Sj>`8#tLv3uS-&}B#b#W+WL|r2v1hAJ zz);`lq1(0=)M5_o(pb1x*1)3>jz!P*PC!LgHln{!T1JM9Opia>9p~;Av1UagfkEf+ zh=X3sa(E<2K2L$r%92z$uQ_|*_wU7~lhZlYz9ehT_wRp9hZi<|9k9u>qU$Th#7@vh zr{3JGWG6U9X@1vtvBNmDo#J?=!;+Mml=Q2lq-P}80@S*|mvp#P6{v(x77O;kN&UHX z3K-~mzZoS=r`Y!V@3R8DbWX6O@PG26udZygM$+0M?koVmdXX9W{W}_PtcaKtf4~7$ zO|AWCdZ5`TJ`vN;w(@d&F|jS+n|;M_44436xn~_A`)`j8V7hjG`1+z8)mpEQyWUQt zQDY2*MDHd_Dl02%Yv0?;vY2nr`(#Mno48gf+8MUDlGal>RRiJ@aS7(56 zZu3zPLd`K7B}7gbU1@bfVb|P+BK6sR{0JCkfZ%{jTc#L$Z!hzX&0*;qLeT!1v`gRZ zBj7Vp2o?j=V$%qNMH<{zj-W^qP!T}Yu;xWour?tQ&3oPbXE7!c^y#(bXQd5SqEJpQ zH+wtV37ltSxe3E1+}NNY;1-d`iYb72rH!(@`QUG%8tg==UaUE4URmFnMXK3LQ;e_? zd3Ctl>y55*hk}20ePPTd845@t=AAZv#hRu8s7ukT2CLGIYqAh(kgRP~q*$I_eo>Lk zO$^s3KUDQ8N|+g50|y5LpRZblqk8Mog9D#Nn6PfoF|RsQWrvz7xA{qRLF}9dh7>vmhWE{`RD3uN4vuYwPIQYZ7`W2X zk*VRq@%|)_19VX7#UE1uAUOr9lY-Lk-@kWub^=CKmIA0<9PBYxmX-jsXhf+yx;6EM zr?StKt~jN*0zpy9jGd|E&y zf-nKbLy(uLfwbH|2o!);>w_yc0cL2qL(<%o-{3n-5+&WTGp*=(GgM7$0ZR8)zr z_BW@QJ0q!zsz*_p^}l{?MO{3XpfuYrEBsa9uyciUX!xlwDx>#HHAq%1e1vb_jYaok zgOxUcUN0s75&bSECH$h?;6tJ}Nc_VCo-eNEM)A=%Ci0?~=ZEprQtbe#ln@#ks>s;n za<^Zs(PG#eQIP+^SzLTOCY$mJY__k`yyG3~5fMls*rtC_yEMyyr_<=%u;U$mOC$+t z?|C?nJ2csr~(2WwSe3IT0yWc^QveLDh&8g#g zU^jh^6hXJm(6xLe31B@f({1xuT~CjXm)B#UUpnfp_%IvhlelW(g&hh!;)A*g8G8B^ z=G3(lMXjyrgAWU`o%VBc+*sl9hODJDRKEo;FI3dTcgAx1APvNnoTHxoudO##G#gXu z^1@%@J#X`U82D5*5l2@OrhV6{}g_1$E#}uZc;H*zktA~+bEr3?cZw} zHkH1#kYrt2TkE>Dk5um=VyoN6XVA$-v4Z&{oMHYF_$z?EKk zPvI9YJOCO6SOgduhK6?xGI}sEFj_qya!X5(uQLueH-Aj3xL%-;!n1Vhe`h*uaen7^bt35ZQF)@=fQv8&+(akLw}Xn&#tH)yb2ODb!E+R!5GpBGVsplcOsuWVjgQZ*jgKEjE3#dBhdfYJQj*4DBrhj-v==LZGyEtD ztiD?Z*omZ3wW%E{RT zZ5s|7Z&X!&OnF`BvZoFW6$8dhdEyU$i#JZ>RNObzx=-ey<=|U7zY04WTmA}pYzkoM zCMNuPeZ#zO|Kakke> z69Dze3t*E1?f{~34&eWM@N#4Jd!wwQ6Px~c0igHU3VJ|b1`9W%Y$B8G{$`kEi|5rx zWg|yf#5dmFk6F);56L6cyntzW`+Anm&T!eLQp_wNJ1>v(6gm|yJKa06Un8!gla^5D zCoga7DlacBjmzs{)aZItn8*3kESiwtt580P4}nw9$?7zV919Dxr?=N9@(BwQlH9NI zeyLGvm?b?^P*R~L#4?(&u-?KRu0l!B1Gm-g$w1tX{m5>`y2+p-?nRBv-Dn2RHX`=M za&+j|uiDM_rT~4wqu@Fo07)i-fb)egs)2#QM$$wNc{i)C3B|o+&eJ$Zd(g|j=5ca91hlCIAwKJHQn0Yxl;DydE7lxCA!ctP> ze+>PX+aHrb?YQsfB?O8|%6rNC$A`YI5aEb(I+vq)m#~_xRbVl`d`UySwn@FdtNkrQ z@7v$mmGDHyytg-DFMbyYQe9Zs*-!uHo<-Nwd)dRAlSyf5PN%01`$E?7-QC@;$K`s~ zCLP|)Dywmt8Nf-CG@KC*ebL#OuIE~>`;U?d8fyjiKO!qJ}z;uti1x3mOxwzr6F|W_(FfnR(_uT^h5aC!w*Km)=+}D~CZ3JuzIefo| zd2+%MZ$J~0D0IF-l2~zAzri6ZZEn6#s^S{K#Dl&sce8U&XZHkbwAVS?p@%!u#ipX5 zpJ^ifs`Wm-X9)6fO*K>B!|rH?wM>!8Wdbay2ECiLEoOF`SuF$e z8T@^Gyu2Y3c96rl4UJhN`8KiQfPl`KaXZ}>&kO1+L|&<;eCXwPI*Ug@!(6j&%cQ2p zGqi%`o~b3k4qs>(0*f=HTylAj>+`{u9&3M03D#Phxn_f<`L^fRUywOB%?Gwiu4;?a z=_OF#vmRV8de9x$>`KYFd0}6CZ-v8iPZO{i02)9Bzn{ZnC#HD9Dty43X`*V^qX968 zRg1eVccsYc++M#s9I@%Csap>1`PnXUE>>*7Iu7uGeey)_Qr8_Ixx>GVYOee&V$!a)C{?>SrQgynnht|UJVAv{Ppwvt3tdUqse zSZL@FOM0tO6F<#}<9#=d-w=MplB&u`I=^rV!4GVt1_&@X=qf3BY@R*_BW^3p3=GmP zcQ^Z7Y#%MS5zY2Lv*a?JOrD|@UyIx~LH9q>5pv@W;`B;;nATy;)~(VgI;NpvBz??1 zSgP3(a_5r&@=RN{v~^Yx+a5|3Lj2p17BN1liSU(RgF{!CRIkn3w{Iu7tES7ehDXHS zvY*Za8WPy*&tIS4dfZC&7fe#x1I$$jIRqw?7?9|}0s(!ZqM>2&OD||iqfhy;=pJ%9 z5!5x6a(&$7sDvJ$CXUdzE&q;?u)+#O%j2p*txU6ZYB?S{Z+Uhu`jXXBA9OHo?sc5X zxB2Ma!w9_q@(fJE_gH26l6c)_d(Z7RSRR+c^0v#M+H3Q^rD34pFzmMXx*N9M&W39i zC!K10I%NjP?BF^Bq-I)LT41#D@d*qH3i_d<4!U-bAj^QV;oDgKt`rHFer6ODgvIBIk7T*i-G z9v}V7vW)=CU}<##*tn@l&nO}@V@n=H&OV}Gk+btFLFpY#miKZAv>ZG1w4vWnu^Ul0H4ZzRINR7W=QpcUp+Ru;-x z{`+P@|2^)!xP}M!AliRlfvWiLSxL%CeTV~${^Sg2wUo(!fBpH>e}9b!jEr(JPhm9g zWA>N$o9A-`{`(9eI+DX?tbe{~9vd6`76-WlsHprj6m+RDX}&I9%|%>7THdZ^QhXtxt5D^HKhL_)}z{4FC7>-!Gr_fxqd0 zzK4N-`JYq%_h-cK{@*Y7@0;I1rfCZ|8-$T%)=^8L_9Du%&eE(5v z2DTc}-t=$8%s%_i(1G?F8SndRnS`?8bR&V4#r?AlN*f(A7@qoXlm_u?G7@<5l^Tsu z(B*5RLvZT%;zcm%`r)*#9-g2t^!|JcbSm%usbtZ$hW*T8P}{!0Gx~<1)!f*4*ZF|vZg4c+ zC_OE$Yr8X@@cPvOipbx#zJtF?(i-q)r5w4Y@_78!AM$Emh=Sgqo2!SrzUT_j9uH{b zGmnE0A$UL*sjAxi{OsZ0d(lG^#|`D=0=u-l;WRVQi=KYSLzC#ys)&^g|8LYf!~7E- zV>FeOEO?y7{X@_+5WzELL%F#W0@goHOD3nL#Kc>HxnFK*;Tkk;beH0PzS7_O-UE;= zuwhU9`J=%AZnSFv9OYlWG=iFQrIiQY#vD}VdxEUzju!&H(4l;G&^s2vj-OppQZQZh zDuDR?$A>AaI>o_MUO$tlemVn#cj-NXz;}p%5SC%s<_*Qbd!qLj>~qq-a!qk`yg0u& zcXD)0iZ)Y_mw&k2yU14}b61H4Mm&O)*(5%PnURtf&w{gjSetyC z(Fprb;0lg0|5f{8U<`~+OpcDMQ&O}D>sR00V_;!joqPY}w1>H)1v%^D;zH2x7Wb0s zrZ4)vCimL4Kagf_pj!k55fTAF_|BEupg) z79L)vQ$@;fYz2a#x)b2KQeAGKn@Y9iWCg$;<6>-XY3d=hx3XKQ0W0c&qzoWD$SEi? z_}vQljkWitWRA{zSO?Wh|87#z)Si;)2H@xJuK9)G0b#m;tN>`FZgRZUmN@!6S8FED zMF-Ai_Z`o+DoEX*IjW8ONf#Y~x*wHQ3LgNJT+mXip_%CA)rimQ_}SG-#(gzz{<*q} zii%FlbxhYCD2~H)1YwQ_hHxf^hPGLt)s>as+imvtuYUP?op&3kOaen6I0LZfK-TNN z2tsOFS{Z#g7@3wy&;6?@CDo(lCO1Z-jlI4oLh}RM2XZ<(>l$;C*cXe7{2mocml~0SQ1z3t$pbGO|GWgky@SP`fzZ7Ec>NtHff>{$e0#(caRBwhkGXf zDHv@g7F=2iis|W^8yPK`@cul2^+8`c{0h~@F&LH0JvPd44(|Vk{VSM)zc-XY1+%5L zu<*4i)#Sdd@L;^=-HiYp6&2|BlBEd$TIq##2ci8SB^C2v%i`!bmif}z9#CRM>WqD9 zMGs4N(SY%jA~lUNHa7jE%cy7DWzI}5hvcUh4MbA2olOfXt0;DSG8!5Y$rts#dk)zf zz?~hF5KBu(W7tAV~7 zIxPo(DUAJV&%dC6I33?k1QSqPNn8ee5Eo_irn#4r@4qii>qLBizHTU(gZO#1vYH8W zfpo_2Y;LytJ;i*J`w<@p5}&f(!TuEitLOXJV8C1gt9CP>2mt3g&)3}9iuL)$u!JhCkkH>bq1E*Inv9XiPlV&`EotFaTdrAE_t$SO=dbWN z^F>AH2bHOy6Vh&&n1`?c9tsP0h}uNS+FqUcNc!;G>~Dg8cL!{A>;z)V@V|qw`|Tej z^w}LQQmL2OauXh)dN^U=2cOjtAU+-6Sfy+(M1p~}^}ppKCr?Fi%E~r!bh^-Ndo+6+ zGl>oCx&Ua@_y*rU>x*<9>3t~}da}K?v?we4@)VRhSy_hr2ft)WaOiuRVhR4f9nZ^u zfEemul7POZA{nsjydRL!(PQP)TH8Z3pAr9Tblx*;nMKo*&s6k&fYod`2cC@CS;om3 z&~tuXO2${QT0j1Xgi|c&ysK~h*OUo-=^`A$DQYrcM}l2cACYMU@IIgA;r~H^a6?f? zR|$-1aR%(aq<|7oOW-wk_zqDh&!l2ZTU#4ni|`#r1aAuJ9c&;WXb9Q20*SUn19PR_ z;e%qaK9f>Pc(~Vrdiu9-H=wSDKq`O9Xts&`JrQTk|14q8fN|n**^5cA?Pm!stdJKa zB_*$2DMD>?<@u9xqf=%>12^c_gKDbRl`XeF(=PjJw^~mkM4^!Uvve6xD?RbY{jHNW zt-Acdabe-S545_!L>uq#@p)MP8K~XQw#$tlCaVu&oZUHqS#xlSuem{Y2e@4j!@uU2 zVKXF-LOgE}qVQnBb{g*7fs;ij+WeYT+dy;LdCQnzW)uHOsp{+Vzelux^`8+DGEjO; zAKLXDxatUY?)XYjUUNCJ z&8=bW;p{96dPir9ARwM7IDz~P=z1sC4#}9mc=5BVOm)dWK)ifxagndj*&ir>yRky? zh)oS%I`zBY3IoaVcS0E{sqXgn*47TTnyPC5;2$3Po1!v~G&)H}1{fdpa0`vvIMU$59Cn6#S2@R-k0-sNUkth|nuY_KgZj1uw z{_=7N8HzB)#E())qZm>Vw6PaFnS1F9`S|Lg3yl%PJT7Bh&Y-z4`?Ka+EK^}+wN(V& z`;>wme!HLz>b-);fDM`^jP7|t-;j~V%!N|JG+xp+7^#ag^@ zPw4qY%3iUEv}R=~X=+MpOFNzxCvunqqZ{ni_4Lj!V54WlnmU1g)RT}Xe8b6FT)eZY zdN4s)TtX`;y9{}qh(&bD$asD6)l&`_Aj}{sraXCJ;lzTY@fK<|`Yrv_)g%_2YH$65tyEX{k0a?PiOafD_Aa{(Qum?=uxB^qQO;8j^31@ZmsP zHV?k*>dpa(2Ye!Ds~vZMU&u7X5m4;1yX7A|AU8GLeD#Fgp~LP{WOH=gGEJ`q&}PP? z06!eaXh6(7JM?NZN?>|jeJ3cY4%GBoTMKSK+8Fv3M;uBrH9g(47UC!qI-DXrWON@2 zMB}EzlxYFN*~X`0vc-Tr)7z zp>chSgosE_Sy>vA271Hs@#IIRHvo8a+>|?=*lw?g@?r(60DAI(0jjvpW(xySFayew z0U-~P(a})=WPSQVm<$7KUraP#GNQ{+HS|;3`V|k%vV!8Z%es*bPZqydK+!Wagb7qi zpo6X`jf0CbKJEePc0d#WUx1Mu8XnFEI7y+~%4d5snZ?B&Ll%$yCn!R$Fz3rF+ki&f zrhFkIC#PronW$(wPznRqJFv7e3dUutzQ*^x?FYH%pX^A`{sV_j5vW-1Kz{Ia7Ur9Q z3Kg(ib?OZYb8?Irkj!MMg!KZ9IC!`qP5&Mgbo~-vUdU-@%WRBAL0#STV05A_d>5gQ3;}I{26!-siZ|)&<4Gh@(jlq<vGj%Z_GAVZqE2h2lAL|lSyn3*(Nk-LkIulV?I|22jI_={_746dVenD5~snwdW1 zqjwdRjzGyIM_}u;w=21^zyxr^>@2-Ne-YoaTgn>*wJg|yKujh2{(U()HFdt2SQ96A z+R)gnTrxM`o3_o(VMv;uFd#N1Tr<5lG&tAT(?Syk2fyyq!hVJV=^=dxg;dHP)L`hWi}MKkdcd0{yLM_){1 z26?o-iZ7XF!}#SN{ghAXpu@8)dNmEf^nd^K`LnzhHT8X=-=7GM*8BSz(mph~5nb*A z*5|IRKQz|!{Alw>xZIEqInS)oe(ok>b>Hs91gwGIE5JAhmqQ62Q%pQ?jnh)lSo1pj zk`B3df;bB5aorcuX?00lM+V(fRESLHnd%rO7b3_iEbQ%{8@B0}kW=4UUYGV}bB5>W zm29Q;J^>p6P!ELM;Up*eQGoi#n_aF+VMBJ*N(C=eQ z0xUzTU?)5x{nt9Eas`A4!}`$3$Ul=M$vg0m zz%oqP+??*lWn19=sORx{aLes0X*5Td$!ku|>*)gys+Wa8(phb(#;ju|A;RDI&(7`R zI63ak1_I7SoJvwQVl!(F#4-PE(Pp?~>j_zw%sn+`Vt*vXJ4&*77}Rnj=`Jb=lZAw*<$p3ngYj)DT< z9Hs|aZiC2=wy;}Dz&|fscn@shyivo&BqTi~r<=o%lMjv91f;DD3qYvnSd>X;f%S z3lM;*{covcVCp)%GuaT?Y4W*y) z%knao=NYNQ3o*cWu+HC^)?c_w_6-dLowk;!xf!-U*wawwTU9Ni`?TP!GTAgT^)=@^QbJn3x^Px0ia_NrN>zGnl#~PtefH^s2Az z|Bivq@{FdQw6ZtQ$bkwR#8F#Vy*xQ%hCBAr-cqI^xc2_Jl*rP^Cb2pN33Fi^s5)2Y z=a-Ek8jsHqpjZd%D^DV#qpNG!Xgmknd4Mqo^j;|VzXlh!KkqM~1s?QP&mR@A2j-uD%i1`5HWjU-krU<36P z+@gSj4IB^yc`k?NcGGCz$Ud@5INi1&KgCdjCs=S;Py_v&JM7 z-rHCiFjt)e1=$IZaW;i|gwdCQO3woaC;F2c z_q`unQYk#x!0c!zc;6@(r?DBTz-+lBEMn8#R_sB?S{7z8QU(zb&?b)KXgy8ZX{v82jn+#Q=%&30 zQH669>z+-F8fStzk(X!R&oDOjJ&~~2a)uBE6#2pWdFl|@E%?c9oD_W7~(#lzH2-o>dJ1Ycj5{cLcV z9uq(G$rstA^JfwH<%$;q$Y;0f$HCeD7w%UsxTL*cu-}iQ4HeTSl2V?rHNAS6FVav{ ztC4m7D4VoufP7l`^7LpJ7xw`vzr@xpr$2tJk&Q8VeWL~oJ^y94f&bCX^XLk-JU*jx zd!(v_Zakxp_L$9&9ldlapSG^5b6&eF z@k!s4d-sG$?`o?*Ve|El`H~bDs}Ug|o<-cARp#&rnnJ7IZqxHMf}s-Qay|=8rXM!I zqOlKQ6PCZfao&B1Nalgod0j|-?72FeS~P9hwze(1RI2=5s0>lxcVQJ;)sAfuBL}Xw z?& zvWpK9icUdW7n`ILlwUuDL2m^>IZfclw?Q1b+3ub)W_KwQB+oE zWGy*0YHhjY*{|Z4+ z2o~>t(*L{EU4Vj8rAEtKWQzXO7@}9^~FeB^~94{I+0rq=onsOJ-!~n;JL7y zcXQBSm1T7i)X+x%VM)Fdm^~bsMg~k2#bW+mYct*V(Zy(dma`+7^36rqP zY8QIf1tH;e-*louW(i%iYDC80-}_fBFcGhFY;elbc&5~wUE^E4uY6uy2nV(+CZ@S& zyuGTCu`_;j?=uiMf(RPX&>*0}Yj6Vf?3yqt? zCnq@_^3}%#W+o=wo|DgGgJV@&EzHZWPP%0Kd_-fW_NK1u>v!7Il>GgSh1PNdQpVg3KY!*i38~Ke37rTu0NBM|4oNbSFM~Ubd zuSCB7ItHE_rdQPjV40ZP)&)Gz2GQizJxQ^5Dn&9)j+;Xq!=W-VL8exmvo1G=v#p(8 zz?f^@vQwA2E&Za$#KhXT@_bLI{tz<)lQ>UV;|M(Lnc?E!3Vcn`GI5^1H>%Z7)4T|% zWkDD?s9`D#E~tR3r`Am0Fln@rWGbJ!Ko|}#G9N{ zvr_s!eYBL>?yrT%#$!r=XTBXJu11-rl)jiRpRPD8cysOrCPgdUTKZ%b)=uFNVJ^U=WiSY|k_gpNg|#CxWqLbk^{uD0^$o#QWNxu${`K`}$PnX|xoSkey>? zUCZ0np?JGu$EveQ7|FSEn>)_(K z>n%Ew4NL1{Lgp^dk+>;s9G$xlrzlzmfCnt6Zbz$n+P*{-$a^^kSjcD3CNfsjbSYY< z_HDey{_$9OKldT|HZNRCEJ7Gc1h58Q)5;9|L?tOwA#WPyAAY$n;05yrzF<(ktgE z0ozUFy?Lwymk^i9S{5 z(_mJq*I}HZpC*(eFqI}7C_Nb-vHUhPr&P}T1`r%3Ko^g?9adGkKw;;G50Yj? zI$dS2XLWv+(d#R66H$UFFzl8>#UvB-z9a@$@dTYJV|gn(bW5f@gS=~s6bKwtiC*8qG_4RjCw)O&Oz(4ZVl_7- ze7gqbqFz*S%#{>jSG4LYV_ut2RTm=CP%z1g&nn=egYyl}MUK5}Kkv2H!vg`;l$ycw z3Y7t7s$&E@LtSg{e=)*H*;HJDt?TGE{F|8F$W_ke-LGW;sf3aq`9+Tr=uW*dw`p#ri-4X( zSI^e?k4c31Gu7H7Bg=*nLhud#k)Ys*S@$2JG+pFPfi%Pf`}ftw=Jz=SB_qV;Y+1 z-e(wKRNSJ^sgI{^LzJxdKV7``-s;_$-sPH)j_k;i2s$uGm5h)t_G2 zHgjDi9}o5|K8&fT-Fxyky@)+4yrP}~YtZZH3+V(jzs@1o-gIa$mCq9(k`iLv*=bmM z=em=FepeDN30UQY{z{3>x$Zv0ct*myv|NJ?=&3Ek0vQ^tk?vN^V}Gt9pFUExMgmvT z>z+>;Pya0)N&^uH4|_IM*`n&Szrdit#>rC{Ls*z@>`QL&e1E-i6Af^ab5u|F*&a;~ z)J7eNivE~{Nv0%7Px#C!yK-gMUU;Pyj~t-^81ZT}|6QRQg?OJd{f? zax?hycu>0n1R477{07gnJ&-;h4*MJ}!ez<^Jy?5QgMlH7)t0{1sTAfSpK%E=|E=50 ze>v#F$<9<+-IjuS{_jYYq}~^bhCDWOV|QQ>(J^XK`=lZMPWw zn+DkYHs6g1FC)1mlT`D1M0-Cy`1kyz|8*D=h~fo48u!&ZB6p%kv85%$ z$#$Uc8!NLqF)_ZzR%N*qzOgy6-UnF^FHkoxPo4d|0Ea?M@9TNR|eM)tw$17;?bteT6M& z$4~T#N4X_RL)BbL1Q6(Fm})I$yUjRvOc9tb^Qt<`W{4uIm{B|$A&Cuf2T@iwlFE>z zqMOW9#kdbKH#+OM$zLh=>8ZK|cmq#QH~HndT|26*(thH5Y_$dg3 zB4h%Ks@o%_rnz{}Z5r|eJ-h;gTo8-Nl{<|fI`tyCj9C(!=Z8`or);MSu3bR^Abh=a z1F&i*{iuda9@sJaro%)&KIsi`*G@k|!{|p&j3)-@6K+SI?8AIP5loLAL3UFfUG$jy zKbzwYRQsGpPi>6oPWPG>wPi0UmMD;!sWi1URjaf19MX2&U`SRbR2!CJBESo5ckg$t zxjf$3Af_v{Tu&by7|4@#C}dD4!WNM?7wB|M3hZrogLp^gzJ>*XCBnym7s{gN z{tY;UFGfHi#vkVWYnqM?{@Qb6`v<-9>F$i{S?O&vy3Xa1!=}=B$kP9R`3j9*966&N zV!j;dXK9_DFdqrb{`$2qrs8nSbVzNdw&rMar$wW=>$jh2&O7J3K((~d#MS7FyoHa& zHcQGS?siQ#ym-DhH>gQ(pBS&_1c!DcLaQ4=W7X$tfR#!kgOtYID@)j z9z7{3T?H~1M~BAEkVhALjoxWvrn=1@C6&E!(tpdv{cpL*%$@u0xFZxE7u2TQN44{f zrfWFcT_Xp4C&A_RMSI(6L#@bLfy1w6g(~o}O!@Yqo!dfj?AO^9KbK@ZMYX?9YE~|C zY8uG&a;^u+)t~*v^ru&54A3IrA%^-`=C+syUo}GqroW6DhzCq397r7!VzU3b1{Wu`i zv^VU$B0omVZ7!@!J8Avo+0mS`2cH7)qaWP+yu8rjJ?F+?YgTs*QjI{p|ograV=Q%*~2guL*jyeH2r? zix4~hg}S^OKN{PsRJ6FSFNr^{qqnuWcVIh|{)@o1;jGkzIo zEPGkQ)Tv^g_1#{xSFWP>$_0Ps=?Sdf@vIAd;xr<3UCGrYTb5zU#Dz&Ocq`FVLe7pb zU-)J@kWaYMnE*p>3{RkGn(!(To#5|Z#yoq3%f{}7hhe~J$r~_@#rq)Yj9KU08#o@f z2cS=ICW8wZDxKJ*@n^f-ez@VTq*MP#7-0gESAeLQ&AHPeQ+R+!9J$W`(>zER?gL^D5 zt2RFrxp3!?XSp!+Rs?p`$VAU(;z1Gd@@b5X3yM2G4XL}4XRSx{*qSEqPg2`ouKIyS zl|kjMkYVjp9*i!DGLX3+ohD6Q#KP)+{i!+LkX5@Hd&QT+uWOU=>TFT}QWxo3A#+6| zm&T|J6K6bvdYGblq_d}v*Tfdd-9LDYMnKf;;VJ8TJn~_tOl*d!_`9XAbL2~Gk_vZ6 zZ(w%@*08_YoUU+(Ul5;J_mbn4-3SYAELbJo7X{^CSQFuW(>6DkcxWD&EM3BRET$DZ z0OmT@`OlWQaSnTJ@hZBHzkYUh))CEb@h(NWwME|Ea5gUqS`}C%r-IK%xG8uxha9Jc zo`t)9Jt6Lf*IFm-#X;OVI~Q-$;bXQ74b4{W)0gNF9xih)`TD#(?kxm03~`edl;(9v z&OnJQp_YW#7KVixFdez-TR_}=s`_H2ef4hPJGNC+yI1>|*H<^O5rT(7eaAv{cF{h#VEOo5$}$Jcz)fzqD6-?JvObZmw$O9rmked18v53ew5zj@ok6p zNA>aD#96}S8B2d>D!G!l6_u5*(x;J7d1Q$0?jckwuEo95vcZ~9+Z)M~#+TiGF3!@t zWo2rb%{~J24VTllwJ^YF(%av4ZQskB>J+Abxs^&hkX(dr;F*llO>dfZkuZ zqK>xb-pAz;TOL!?=4PXsGUWDH>x+@k_c8PHsO;;%R^>?D$Q=&%t508(jODvD_4A(O zX(zV~_DxrbH{YlO5a#gg_C|l)m&|jwyhGKV9`?O+<%F2qh2RfPNEuW{f5w|?b?h-) z<4D_tZD*NY^Q0>J)0v&IeEH9_Z7dwl=P4c?5dOiVy@q)W=cl_Mxx$ zLqeou();`5ErU%9mCbwj>{l4z5ihC)95)zOkCCZmV=Wox7&D{P$cl2p&ViY$+&Efbqq*yMN{7c@#o0a0f9tgw!s;7^|(L2jLJLhaN{`(Ls98I41S4br_QO99T{d*kdqR+|V`Ipw+`xlaQR z^effWr=X15KJcn@xa#7IfEsCQQaVBCZGfR<@4?SM>!C+rkXH|`{yq&=smb*zxXBVV z=c=r1+CB$P<@m6Hq`7(k5Ka%rkcARKx3^dOWBI;d{(R)p+j}CQenV z8yMWX7E}EpoFtXk-Y>Oeuw<^*|2G@*!Zi19MSp>ksH; zf^HXwo$>|#6Qw%l#bx+~GEEwgGHQP*RhchP(Lf(J$1W$KxMsj2&`q^l`)J9Xy!RgL z0PRX{S;BEQuW8mU49*h;AGqmB@Pl``J2~prEM{#ai-`_jWuiQrBkd)G(2f5lX|9sFHNy6;yKCz=OrBQ359ZO0Mc|NGH}=F^@;oQvwcAn%fefcC zG*Qoi?!~ZB{;XXYe2N3kL@ltJK2G2xs5X0gat)He5&#w&f$JVQC4 z0bcJ{=l8;7bChm~!x(9TdF==)Yv+Jp!XUez&XtY_KPv#B8-W^YHFJ&Q3;e?5TB9PC zt$iL^b_4&oV=#)`Q2(z%7yid7@A}ILby_nmJFxMJqFcu+Oe7+NFSi=1i#`Zg?7Rde z;`S6V2e(h9DPgM$MOcqM$1}@w>co61P@>6s<A8wk~y&8C>1_uWRqB8NeufVk&q;nUb4)hk zfG2LIUF9FzAXhps!NCExu`_2kU;2sk?11sWa87VpU0u`lC`jj8RvJv@ZB{nvLLUaR zdYnu=MFw9ejCn7m$Fs!8rrut}e+RTlrtF94M4W%xy}y6Gag=}VYjFOTcDmKma(Wzk zwTjYtWlv_$9Sm6(9g%C+Zqw6& zJD`UAwj&6Oa;<-{-m$i!VPn1?)+d*`*xLGbtY98nr_0?$E4xZE5vVqm@k&f-drt2TAsA5g@2iADmV_gglr#G+84~|1#L%w6$(JqU2mHd z-ZW)U8<_)W#~~-Sx_aWHrKN8xU!St-0_aogrLWA)d#$z}AQOde(3wEGVli9pINW)8 z8G^q9UPxA%c(ms76k%yEB7x^qS85iZD*5cs_Lee#dZ^nlDK*}XAM3)Y(gV;VO zFzFjWoLZej_J6j{OlP<;0K=$pPgUtzGS}cUrXN{ zK)+TMJ@bW=knUDivJp>7!P|`i>ilXoQ~zUvbk3fucH059ZEWy zvxR=`u{_v2>_lqeP$93c6YTlX<4B1r77+l`%N0$wa_l)&9&)ix?c5t8sg9gavvhW3r z;l0Xl(Q^Cr_1#N3bnR+-IX)?UkFJfFapzgz)MvuJ=fAFXQt`GUed1#ux_gdm zSJ$3&!nxe9KyA8fxcfs{((~aOhWLk)F4dI}@&Rq5v?_`Yk0FVa&`+7ydGOH-G{b|2PIc&a{e#4_SR@>DA8i;S@ zzujSCf<2(WWn^s2!Xg3&byNfJtg>oNL}b=}Q3pnw=GIgc-L(ro5I}5!dx}nRnXMHL zq|pWO;{(dw^%Rt!=Hx;q;B(y%+O6Ag&PCJl@tUeC96T~1CAZ`F?^5OGz!K9n5QEf$ z15T(ur4Dg)R5hPM=XjQ~k!jWaNW$UNDr`UH^KkU7fU^{8_QA12DhrQH zq-Qc!R7#3ar%2rR#8Z%r^I1(RNK4-`VC&?`pM82h3tr1=q2>rw6i-;L7i(?FrKMW} zuVQ8@VVs)|nl@Pcy)l8sz_}tG@(304#;&Ge;}AqQh&d;RXHfU5re>I%@$b4|Y>4Xq z5z+HpQ{8R=3r+v)5rEd<-4`osn5Z4-w*G%#pMC!KfBc_fv**wMqo?}Mk3JOrA3C$P zw*U8Q_wN0_B>`LG|I%F|^*g)azqkPZbr|mbAKTVj!c-?=qor~W@7*J~_fJf4_nvg+ zl+^14UK<=7KP|hkDuBZ~0D5!(zxB0$)(7e)xhE^MGINTs!I4Js`!A*K+xS%t4FR{t zSyyLvfS7&y@58!9#;cnO{%2N_|Lvd``>KP13HQiIWc`}ZH3Q*%UTB2{avk54 z`P}hUrFN^A-uO96!5UOF+QZbZ9ceVOoKf#>p*+U8Cpews9H{h?XEPoWsX5JCKNJy~ zU^Fu!`QY9|1J&ps-=!+1jAOaSr=A+)aSsXiQ+SaKG*VP&)Cz+xxNa&?HVx)veLoyq z_wV%Yrd~`mZ^7He$5D?@i<*|R=eEbKmQ-btoT((u}!rT5P-MsVF5-#(z}8!^f%Gc`(f244LOuG4gm(<>s%K z&rB;wpI_0i0hI~#A84A2?`R}ok`Hj&>|p_e_o~A%BXn9PpZd}u?(@iVPfy4a+Pd&&I-ZuIVx2B+OpBk_ z&RkyqopEU8SBErsN2J-WgwSic?)$0L(D#-uVs#__#g#;Q)-a`HIJ z_CQvLjBEX7A7LUHM{baVb(FhSv;n1%y?M{9Z%NO1NV(z=dgksh+V`(jhRJ~5&=0Zjt7v%0F>)Mnt2Y03OOjF#%)y%)=ln>}%1zv{ z>cDi)?GkRNGoN3_cNnT`;##v|k`Yxy92MjyeM%Fy0oJjI2la6=wn}NpU}{CLcC)$2 z@eAihSjZx?LSrBWQHSf#^6Jyj&?6NSWW#(!Rz(qfHWm7{n8a#6j>^BjO0A1*{u(AZ z>SveVV?c_}?kFo<(G_M`VUR8^D^bD24;`Re&B(qEa!eI{km}MIx33*b7DF5m$SMSs zL4S5MuBeQ!6rw*lE3};wT~Kj&rq^BA2$oiu(8cx|DM?0)=_tp z=3{U_%Ep%8|Hb#dlXK30n=q5!R>&?zbgV+Ou+S=Yc+OLck~RCitI?ym>cXyg8#zYX zS6QPugTU}nPC>3Vxthisk84lwT*DPBr7w4$EG2b|#sH5z=IdQ%Gu zxtFbxjN+Pf46{G;7lk5a*Oj#z_-bXxV|lpj)mNxafs@1wupLfwem9RS+oQ7d3T^wSd-%8%kJkba|;@nV5pMmWLdZ!l-g$WAXG_ z#e1z*0V9d`g)1M>UC}i;+v7}WutJDBo&8p>vsUK&R_1q&N+;I-e2Z;yVI;5L&K%>a z9g447zyX6N)bIZ=Zxwh;zkkvW^Vef2*#JrB3hW;!sYM z1w%S1wrSm$+eus5yTU|i7*7RCdpS3ZN#iBOittbvl$i@DDJOi()6Ci zc#mKU@l&WgDk!L!mc@DM1=im*Vx9Am-Jk8FX=Lu!FL@l?@Iu4zs=RVj>qS4G1*MFm ziHUInBB>#SV`Ip1{=$=eEnXxrQP>5+V`6P69_TM-WZC|Ae#l_{kv4sqej-h2<*(SyP zfztATmKpu9su5}Y$w(P7lyJ84y;SO3;OZh2+CNWNXkY89ly3<}8<;nipR#3*EJoKg zo__pR?JU-O5Ow*goPfCL^&qI9%5_ExTICd|sfAbh)YSE)#X!KSpzLCww-9Q(Xmu1j zK^JRZh~}ZHXA>%oj#i`TV8|-%NF_*Lq7$iKL!r*?NM1qXbK z`)(sA$G-<9QDKTzF6n)>WGfi-9jqsGCq=!4*5;~5WqeJbhh|8`EGgg2YirD zd{E4&(QQ5Sv_E-nP--?2%feDZ%-~0Y{kGoy$8s#6dTq6z)(sQhSu`tXwRi^3F6n=7cb9rcMu|m^Tz;KdxT}Eu)T#&eli(N(y zml~}&FJR2PK6=lhbA1Gvv7QK1X(Js1t2U}|i}68VJZS&gaG zcr;Ibj7eH>;;!jaOx{_@91g%HmGvTuf6uZfn0oxiOh51FGn`-agD(`tiP2BbGcF!;pcfek}bBX56s-QTz()bWVHk=;Y=409)ohTpuqG1n_s~} z1%<5KMv$-9m9Y?|s!9vu``9>Fq?1MiOl~G(exu6I@rBGId?{=1kjD(e$;EV(v+3KV z9KVT>Re28X>4`(!&ooJuvc^(tE}2%vWsQey{xZ(o48#mw`IliI#vJ_vas zOe(LA;e|&bDT`(*cn=E#Ov*?w;_HCT(q%#ho++Y$q$odgX!?u#R^--uAuO0V<0YZn zC%fIavZuB2>Sac;I~23wlJq6A5F%AE?C43&H?3)O!!<_MgA7ayf> zqUwU$hKkY4bAN-4a_3YbCy{D2`FNCnXTO3}IwP!V&#Yy`1a|=v{mJpqDB?Y7>w`aH z+BN3T5-jW=3huU(Dzs5AepFrD(iv?NE*VKUF&l5wUi2w^94nmubK|AXU`S2$+>eKP zTKa&jAP;|K4O&_Aq(_+diRg|?TyAw%W|5n^l@;NUwn_HQ!&Kh!uVqReqF=^#>~`Nz zQ8m!(UE|=3`x}kBSo<}^^;+7SY&26OEtIJ4GvFQNb+Y_gKlx&SNXJ3sJZXNWl+BKd z&n2mU>`BMf{&lju@%5ilOa@p-+XzuBu5myqeY|?{z%J#>I9FK)2W~FHo!*ujv5GPK z%w&e7J(dK*BpE&BKYjJ6zm~M_&8ln`&zh&MW|BOIdbqk>clk-J6U2PA(iMsiD6_Lf zDCaYuMNe0?uTv2INQ|}AQ2Jebwfd23VsCI-O+!;#*)j76%7Jxv!^I<%#<_yH1SLhy zUupB+fw{s0(er#^xt7^4kNU*eTl&9O;S9TYpE*^%H=m(TuRW_0=4*~*U+u)9pja7{ z6WMBkjH!RfCgramJ08){*7!-w@qsAvs(eT{P}<*rX3iBa<;8e#u)zGROR>C|2C96( z3@Mtqx3T%ia`WTB9$M2dp7aFuh?Sqbv;!h@qO()%K6?*ItYLb?A0$b$zeP*ccr>%4oyhcUoaDF1h z+YRm-!IwcSIUmZ{kI3|tJ*4_JHL#vC98H=&WwOG5%22BFQ2w{yC^Tw-FIqhoT9JHm_;Bt0m+)gQXTrEJl%!n->RW6Mtl zC#;5vD554wr6d=a&8R5MqdzjzlvZ;k*5}wnVY1C9Mzv!5C;Rsk6y?yr#!?g=n!Amf z9(S{4n7|{PbmZw|V;)@D;4kkuUbmJ&PB!Q%NU3JV1|+Egrny-G&viISGZP82&SuOBvg9a{-XP$!1$wwSC9T+kYRkn$-`kVgdiTa{Z$MBlC zQ_*Wz9I?JtHs`=Br8AY7bUb>pFU=_$#o!Jtl#iipJzos{mf%OInER4KQ`KNiYcsWQVmRjkNuXRLp2)a6b zDILDn2jkq#;U8(ak27ldU#?i~Z~gnO-Qiy)sqGhWaMt@-S$H$vMe4&`f@ag4)iT~` zD@2;w?N4G=IW)I)qHDkkMGnc(9GpjfZ?#L%&zftk}TT^SrtzBWljVGk)rk?SxYUEft zO^c%rjR*19EF1N5sVnp%5~b-WD!P7yrHwv^bFSWb;pPh$Xs6r@!i_t+uBM)}Q}%La z5k0iDs%KMQA}4dwaEnhJ0a9>|(|CE)?A&KOO?JT0Epq5k?y6PSkfWDYSem}j(AEh) zqwzbFg&V_6+a%}dFjC{>9b9eLi38~>yYuAAuuF=yg?XXK3t`Wckg2BWtPty3*Y$Jw zUssd*hH(3Xr0VmKhnvm=E}slOEY`ZF)UF!<+B|}CxliY2$n|+Aq(3%we_Ft!L>LBS z-lIx~`a1*9X<3p(OMFXBTqobuC>^E;hnJ$UTWX;px(v&Yx_J3LX=+oIr=rqTLBcaf zo1Is~BuazgZU1fXBCCJcmao-WZD%MYex@MBi+iSj(H`Dt{hiSm8mjfZLSFD$%HoO- z*7)6PIUHQM>S$F)j{RoZRNW}mT;CI9hBghxV8}_hP`~Y;dBo!R!PN6Ze1zQMEw%SD zFZe@#A$BaCy^}XjYq_}p0W%B*+IjPGPV0A_Z(#!^08mRwRQBL>irtAteN0U1az1>+ zVEIlKY^5xi^=!@S7o1LeYWM5-=LGm84le%+RC9!T4~B_z1sh9h`%<|q5_~8-JDb#L z^}aIb#sB_(xOXS@n=WcNiHMrR^>pv$_1k2;&ko2kFu5Ta)XW~-MgVVdCbONx@+*+_Wa3gXop#)tCSWi1SEhKwx zx{xQ2711aoW@&bHu=)E3jf*S$V?Nh~j?ah&ee@DsZbmQJ@3XgV`iduO<~_@VYZcMQ z9WwtTw!!XsM9=_9N{O@1>p(-BAue^NelwF_>q*IugM;-OBqfkUrG-NF^2F5Y7RvYu zYqVz{nPbC(=YHUAYsStRf&6IpVOAfQ-zMzWHQghrGclDLRp|s|=_>=%KwN?D zJtigwK|L2M$Zo$NMOG1?7LwRu;POP;zInR}aN zYwgix&XF(vi?o*X(|=zv6#TIS^^k$1&|~!)=@r=^xo6I-(bYR<(%n(5(f-K~y7`zX z?cq0UeI4s_q9$(Vo$IPR=9*IZ>GDQGJWTpoO@zU(Op{lfYxA;qT)CzLa!M2}4K3G{ zR02D)+qQEVg_NT=HF`z*p)ccol=2WxTYrs=G#^xHLb{?Nb&|IRn%9jVe~=ExrRw=` zW5F!7FyCUty0JdDRn2SeJyUb`z(AT>OiU-xxKMGGV6K!q)@SAH6z_g>N}Z$Z&ycWO zKCD2?O}vB}j*-+4?90nrpCes#$F@`)cYY>~2dYYH$77LI?2x#+ctzEQ@dX-gS5PqR z88c(`5=m8JQ~Z7($B3>O{l!F^iFTB_)xLP)f#J(3qy2#k zAJf^Sn4Fv~O&2pLa;d^DBG^^cX^V=!EQ) zdM2kHyG3IgYBrY)H%w2}AAiz}Ue=Hgo{2p0*6%Hhn%CVXzv4e#Q*8BQ0DadWvA|V| zY>F6Pw(^mKUc#BH$4Onm&N?`73kfkQhDFVc(fzb4)_e_kLytP4t65*jcV@f@2-)o3 z#H(;eg^cS|rscc|&*Y#WMg++&3GGGQ8|H>}@s*`->)5+i^Y6zn$Y!)vqSm@bto`#& zlsmTYNjYzu@zi^(B2RMerE9ieh0IrB6cv48<>SR11sMhlM;Rc}wrBZbI`u_{>sbr0S{J~1&8>9d4fxx<*0 zH`W5zF(WK66l&`?3_?ke$XbB=daQi#u_>!>P1T`_vM=d6?=ZnNdd%Ls$0$UETMrR4 zBCh%^noBGdA~}MEJs9-SfuGsRap(SMN#BS)S8trSq;@Nl;0ejdE1vzUR91~TUlQoK zZIJIqZ{PRmSb>MJbSrk8CE!J_^n4)dUHTU z^bQtFPpC315b%#_-up5awOrK*;;>G{(A`(!%+Zun70< zz(|n`#X=;Hn+T}41L_)+d?1f9h~ue39aSe&0RC6*c6|=|*f!0=xq;9EYGavzXX&0_ zmD7t8LnFGFW7tq6y?rtF-(n zBNAcd$pMUs&GMik^`Izoa<=mSBV4H~4$9J7Cy&swT+t?T{$xg+CXFN~wLZkMTGi`% zH(8KiC%QQ%JERAe+jvlHhh`OnD47@1iMA~BZFyWA4A*&qKtk}yQtPlL*$sK)yhd;` zDyl+MXseG}L`0F)LOfNL)%OQE-%3f@sXWb1o>m))o|nMj9IeexlF3R{4v>!@a%>JG zA7!QE&+Jzciu0dA(VLa)yw@pSngZ>nqtAz-AN9tzD@#+3IuRbuv@Ke&a4Ejh5SNXd zMgDOtCpH|35E07z>&>d|!`q$T3=XY+)cLVw@rt7Iy@j88_EtKFQ|W1*bKtX#mbT$P zq5Xn)CedZDwAtBi-+30%_bf6ztRH3xEE~=`5U1JheZ>Kw1c(3`(lkEe#NniYIW`ek zfUNz7lIw0v4jlaYW82t9Fsv)Y6ht|?__LXDBt?djX<&|G147*dTQTc9CD6%_vZ-g!$32J}gLesHILEo&)Fg)uAw;N2_6qI~-QK~& z%Pa>qb|cG1S$eG$A<2kc);r@z%`6t4%)0jFE6&eU)eCjWGAJ}z##jWiq#8(&;cJnt zg7Q0Ta$V0Ya$p$Y`R1^#t`U<1^!l|4j~m>=4?O#BP^_)Ag{`0hn%Wn^WtdSQS{vX& zG`)m%|4z{_aamh_agN=K5y_7f{EPD42F}blAAYW`eOJxEBCS%eY5qiE9L!-TZXW@K znrsIvCCL-KNGsQOR(!qh!5lf=SijE9@+vnDB@>3-K4By4e7+=qJQWe@{p}i&vh|H? z=8IIwEX%aL?#pdC2Ff=n7uz=lKaLu+f?w#{TDgRW=%<2=m`Vj*3{P>c6_p*bACmGx zy>$vD;0hSyZK>auWKz)KA4&Q_1+Os{=g29;s-VS&@xY>Auu7sA(BWm=J9_P}{nG4Q zvj8RIl|a9dx-SgqMYQBa2^cCZO(iB+g9jkeW=1t&aZ^_RI7y$%kxZ?dlOgorHq0u-&eK2ha!>Ci(YD`;K)JDL1A>qV0i3)8Y$AI$QsUP2B!}vq5#1BYvg$>z<|%- z0u6O^ya@@goEL1%LaQq#ywIPbm-OFQ0GF4Uh7-n!g?8Tfr%n&%9HiH`J(zuq@RVvF zs5^Fg*u5yEZL?J3iHhZ3!+}{K}3oWz1Lxj0r1)#0Ko%y6~+UW4>_BalV9SE^5+R86jt9?&G<_1c@{ERHf$*wad zCugyo+j&Gz$e+BG%pkI2RGG&IvaStkXo1&SVrlS}yy7m+u(TGZTxfG2sC##}CZN1N zx)=Vk%zN*CN$V4X~#Ll{|B|)=rwffzR z*w41zst(Mry5Rvz065`R21Laeb6M^>hj>j0VR_6&spm=96k7<7bXvE0g;{^;t!v8L zC;{q!d!BQ3O4QME3WidOd2%>weFjZY@+fsU#)|uuR|IWn*1A#}=yaTav3Hwu2{%Fk zL?wlW3NDHrxCOl~XTTZIjb}6>RcTAr`zEPe^mM%7 zuS${W2@fG6Os{^5K zdTJ8Wl9BQwwgZ`i($q$*c3wkdc(zx8L$q2fN|HuS!S&D5P;WeSUPfK@W4@}6Acg3` z5t$YHl&vFfes{H`qY!Tiwjc8mW!c}$ahZ6k0Il>Y}tAi$^{z_ zKtoqmk)-2H4U&+LBx9ysG`|xME;=bfaTN0J*kd-REstov)Hn^$P`Q7=2>V+dS-pt6 zI}a*(mC0kSTrq|L1dgZs_mAY(Ikl+qhgDY9BB~V)tjE45zbJya1?9|WR~#`)oZt*{ ztiH9rD_SJXoI^*D{|+I`z<-2s`HJxnZ>4*Tx89ukXZkAc_#vnTM#d@_P-v(>HEGOE zf7NaC>i*|o4v1}9V~EGt&o6d_RX#!H(9e%}u6z<9kNUV-oA+b5E6=k_gA_mt8VFkk zR8n2Pn`6PHkE;DeqK=M(*di99xBYu|>qm&$jCxm`%GF|hcq3U)oVHl+Xw}-BfA2`t z^TR}r!a{q4?WOWmKNabvq%xffU@BejPcr2!`F)9AB<42~EHg7>-3Z=n3gzrH1m0}L z)rzNIK#H~11Yr>Q)amV6G~Gs> zfr-vJ#0A-fHA%Z&FAOwXUz*Z~{!#dL_LiMOBaT6S3-D#YaCBkpzNssTlep|fXSaNI6PPwzgTNJHXLYQVMLSXb=@)GYi${LmG^=%~%t4!i)MoiQshXp(1JnGY1CFeJy`CZ!TJ??17RfX`GjoG)X(lqo{>_w!5XNjv4u!1cO1#)<2DUNR}XVgbJ$~sxmpjR$xIOin8Da7{AS`qs2Iw2N;ry3W@ zmU1cppwB@oYt+iq=qrdAQiF= z6-^r*`?~l}_qKUq5j5cDlcKJ}scCB4qCIPA&s&{q<%t84^vLyYhp@G<}1H##*g!NA?ZZggjkO6d3n5gjdO)kvuP zVBa@Pl#6M}S)4k3BoivQyd*-W;t&+O&bXZ7$V7W=r(;>S(qV?iu5w9F9efxG4}lSE zDlSCN?1h&c*}mvAh4_1oO*Ue${@PMjf+a+Ul$^!_d)R)Y9#Q=mJn*2~Z-d1eQY0;0 z)zy~$D*PayvReGHbV$2a1>{wp13GcVu`ZQJH69?#xg{^mIK-BO=7dkvux0ygNaHw7 zp;!eMR5sN~m2)7B5B?0>U*?6yxB$Jj0 zn$RtUYpGPTW~y$_Iy9PrIJ!slx-4c%;vPzC@W9$ynp!D<@qpCaP^@=iMKUr0`{P6b zAP~imnQ}zmPKlcgg{4@@>!PeD-nf}}Y(%>LugWAvi zx~~fn3Z*pC!H^U^t|l$)Q2N^pa{v3?suGuJTk$m3`|XtX4!mGhbpb-E_lQh=-3O2D zkHWjk@!~i|{_lB>vsHF90RYZjYFqVrN8|M-XYwSi5ruF<1{Ung0!NI{kjm?5b?pXv z1m&u#ni}I&kW*6CB(J(k3$~h2r_|x&>A#5j$fTPtX_;L?3Co^0RPz#JSo=rGy0O5i zu%HhIne=mXRd)|LG7*%UolkYsfsCX|_Re2N8Jj4!b8eo&_-VHC?ZlaGJZwQH5lw1H zJ-|l!HDrVssNz>rGs;}ne^0xyrp7L0a5oVV(IXTUk&AqZNUarNp(O{`7sz$r9zb}ae;cyrXr+uc(ikV9ZyIQHP6E>(aY%|_(Px(r2h1MbU0-L znUbcdJ_1p^Zz&@Rn+Sl5L(@+rzNG45PGX9u-8wKwK z)#2(o<#>lgO?ZB}$*)|~vS^sG>CgRG<5HNkoLi@yspq@6*~CG?qHtT8& zoHlxEeUa<^D2|D1BzYU`b$?ru@UL?wU;bg<}@AgGI#@U#)G zKiQJS^`*k@anM2bnYcpEBEnXaC<*}Y2zrHzK@}H!e$iD%@!dSlf|*?!TU}YB_H1=v zLE}fZ965UxZG#Fc@7$!L&K$|`(n)^CyKTA|?FN^x4Ydz7(P=~PQdp;-V=hx$I;#*u z$@Z*PXSzIw8_QpkmpPxjB{)3u2Kf;c!Avnmnf5;qhmVkIb0SC9KYoE7sYJ z&uSv$cmK_)X18+se7LM2tD^NRd^*N`m$$5lTSqk5=}K-&P6fC(sSr})Q(EVLC{Y^P z1pRy;hVqNx_v=r9#P^?qKWBZ#mL%qL__n7=6~C514++`IWV@?NRMf0#u+X!guVHMk z0drsI)Vz^?w$~XXyLt=>U0Ct-I6hi;8hu>y9OEp-ijwmc7IS#qEe-qkdo zQ}uHc+}0udi{di8m0j2pNIZ zc#p1H(+71@>qbmGZGQOT@WeDp&f|}0Mp#$qz|r8Wohjd|xmyBw8j;60KyzL#p0bi@ zdNK;mNg_g!wItWU8{wpWqa(Vi zK$P&U8kVs-e?$`N11krYwOgsZGl)K6z-df9)?jqyP;Q>!vGv7f$w(_?R59mPJSI*_ z(Fdk_YfHk9*Dzq*Xs~)WGg=awL-TIPZrY07UqC3N=c%S@w{+;vVbLY+wEw938+5ZuEj5DbOg!HOCuP(=)!| zcbll}P}bBu>}xTQZ^)hMd_y%=1bLdy!Hn9}YVDvg>pFVYbL)P;Oq6!ZZx^ucyUvjG z9faB4DUx)8xF$;q31v*cSq~A;O%N<*!s&YPsaNXCn8gkWy+V#`EPrOzau&{$)do@xQsBcN;z1P z7SZ?5Fk#SvePjWQCu-FeX^o781V!EXzaD~OZp&=vUY#|i7jj4GN**Oy_<07=wB`C8 z=6{-Fol+%{5bIC@gKSxQoooc+;jhwVax2qg5cS3?7!s}i=b=b#lmzqdk{zSnN_Jj) z)=FzQ(`!(p2uud*T$D7}R8vnjBn|989Kq8_rxA$(KY0Xn5!K!PjyBp<>z1}Amyr4M z_>W?gmz5=vP)TQw_6K95s-c5N@WiYoT`fWx6kRi1 zLR`D!Z0I9@`V!G|=9{4Ze=kN{|2cYnUHjiV|NSKu_<#G1{OoTxr2iQ|O(g%f-d~gi z|DF8bPyY{Y`|LFnze^o>{5W+zQynV86S-*RF*B}s=jRiALyv0Km3?0%anXFM-)69# z=so=?V|ufc?mJByTA6`$i_*pgpW8zER&G&=%4#bCwX9H64sHj-y-iV>@@4+R&V+^D73oW=76ZS<+&dd z5T)69q#Jmafc99^^W5sJp7QnT?(1+Gx`$k~e0e04_L<|EGoh3vs5kHEnhIG|Sxh|d zTvyCg$&CK_WrHcK24Xd1q~i=}A)S#B`7RktJvPXfE2N|NGln^=(NzEr3Cj3bQsC{V zxJp#X44>UXLMvYmsHN=V2qA5DJyu7fZ26eip)XStPQ{kW{}x~CXwdN87k}EzTt1T# z8?qzj77Ubq8wJkel%K>EkfxS;v%^KcqYB!w*dF$%S&#}T4 zRRZd}@goYp6S%ljf|V0z8+m2x!NI(+;icj3IXhtu>j>tQ$2oFv{f)76pPg3cV$4v)W?|oT28gpi-|va#E*~=Oflf22==`Q zNu608OEiZ5TLASuh9R0TrT&XsEa|O$1-cDQaup{ja^Uw{=Sseud<=T04Z1-8eaIWF zAMP`fiHcc#DI>xRvRiv)C9HR<8V3t}e4c!S*5zqxw;JYnS1xWeMmJ5Va5blafF>H| z?W0OxB2q5h8Cp}!%xB8NPn?3HYNy^Z8HQG;fm@Hu7Ym;3O42f4g(cv$+De{BzuLHy zy=@$kg5)<0Z6l5U&V#jc`MW<}H^-cHvxTt(`tEhKr@e*iq7FhrD~70lB}B#NKVoA? zMTd~kFezg1ZGD?H&6O6XR|}myY$!CVNw9q@uvJ zq8!NH5d0>Afxg`JL6dXq5&+lGS=BXklHYRSz4___$sftT&9rOaV(4X}6S-@QkJ>C+ zI8RnCdmckXxNtjDR%B#*W0w}Rx*{a7{I3Kk*DLDKS;MpX%JA2ZKX;-U5gyj+)mHKZ zIe7+D*G)UKam&cmwFE_}DHFG0fS@7<>7w()*V33>sN|i8D4@iy_ZlrP4{N({qGE=u z5@WetY)Of3bImwimrgTcOl(7kqBKlLM&i=yTsj8$9}UxP7S5xm&%wQ;Hc6cl+H=bW zOdfixPhcj;?@~)+$X7Am19ETHoT4l=`G;AV_H#*gSOUricb9tw5Y4;r7#3H$`{^M< zCp#}Pg3EJ~s00y<_})tmq3pl;Gs*HO%v$vTgrYK-Vi5t~n`Xe$0j-nzHZ3YX?PW#E z`TM8yW@MZ<2hVhN2cEWsR`hnB^O=tl>eq!HsDJ@_zOv920j`GVHgY5+ACy4OZVn{q zP}N-mS#o}t8FF|3J0vs`f4pycovN>pf;Z#MgFMp1=HdlxLR6z%D)Vwha6HhvlReF> zmN>YM22S=_f{oj(Bd<)$eWt1^I)l4`4!u3ei{rb%P2HW{SAqMG{FJlct&q*ZAH}sz zC4ZXvG!tAF1g@{+^cKJ^F>)(O$DYf^PR!~b)wZy?m+3~rTs4sEZ6GV9Wc7R+n$l6` zX@wRA46$~pD??TU2rnT^m7dBGOUg8gYti};azvH2#FpkYv^d1V@H}m}8FAndq%&m% z1ZN#&d;kOaGS7tHh(38&ZbSmIo3qq$mG!gWygv%WsH)HfXA)j@m7AyPll4^zeb#} zOx&PjEq4*B$@flyYIME~{CwQj?QOEN*cfG-S>1(wgvKS*7;9$Ot$bR}5Z;ke6mNktw>Tp|Nrj5M{SqYevMX+HB+Q`utq*&Drf(ML2g4GG^ur^w#<%wAM|RB)t2DH9H=Q z%kH+{v?41?%f2i;8lkWl48!3}#=6!gB`PTgz|MUFiW)edjf`CrPG;(-NR8 znYP+SaxN3*&Fj`y61AsR)f3E3sWiyuTu-s?{@36TWqLcx9#2WLc+{gZDM!`^d3#}W_>@t{03a8J>+eu|qA$~p3k_B=6` z53D2TtVgHNa=GJEb4(5PMN1wD&_kAlZpzQ1yQ}4gaO8jxX3CmDL)DYgO3tz z(g=mDayEv@pLNVxdnz;bP~(=4Vl^kUO+WCXPN-)ZBG@fXC&l`{vZEgZz`H5{QPWpV z7=U?V3DCDxh>+hV|W19h;XDxU8_oOvFcG)$1-+ zIX<0vXvS-G)j>_VoB2TrD^*z{i`kQhLl@TW^CQLf{tRXMeR~G}lXw3oPItX8pv%f~ zJ1!Bsuf9|3!!VC4yTylRttYo%7lW)X0Cz$Jumj}mVdgr^qpq+NXhfWDXzZxHPX!hr zw;v~kdlC|M6SPFx-@2SNFYws^i2;=J$Hw)da38qgl~OC`EG&W1T5x+qZVfK6@u|)# znH8QgmGTFHIxpFo+OPIZww&6_=vw)!SvQr!h zBoR>9`U-mP6|US^?EI<7EUj&$)C!~+k;XMrQp9a5bv+qRnWHBs8gJ-8LNaYZGDzp@^HVJM`4 zu-+-Dv%zbI4i&F(2g}vBumE?dWOdZc{vlWZX3Fpm_LYU3sMq<$g<}?vvx^C+9Bq7i5r8tr zfxa}+FD8;Tby?DB*195$ks0Z&$4V_t1JouZss#*`Ez^bDtNl~T`sC!laXA7#N&Dn= z3a~7*ZCx7`JOO5LTn&tn8qZe(ndy z)h~hP@?2NLwj=?dhZW9UplCPGvQEMk^MsWUk{1<7@Tc1Vm2>h#bmci@fEtxkb~U)n?x$VZE)lGAxp$9pJ@r zZ(EV}xEl*_G_*2Pfr?ZclJz z;heL*SGw+91b)$F9a*^O-=P>3E=JLj1Im*xc))*mLM;QJmv{;v0#Y3=-n@cmjY#3C zeRq2Ud={Cw{CUD<407zjTy$l`q(Gl z{qlP>T0muD^c2<@|AS)fvz!i@6}&N~54|Yr)SUjR?zoIcTQo5mN`Sxe2el`JohWP z(dL#TG-^Y2V;I#%WVXIpO{R0l<^T*5hsQ;{RNarOq1M&&-a3fyU#0y4E#>kB2t#5>?r?UkXd(D0(YnGoi~AC6C4myIw6m&mW!PT4q)Y4hHQQ$RA|3>E#sRN1ooq6$Q7dJGtXNm4N59n>mjjrvQ3+8{7|nJ zR0c<@?fvu=k$NSb`tu9$>bVUT=GON`QGL_y=#4TEnBiGgd|>$CJ8nbP`U%^n-j=Ycvi#Pss}atw;dj`q z{7iD_saabtF>?2fWf~M|8V_C6WEW2k(_(tX^UYn_0{=5@5wGOcg$YT&W04DFwUM!K zD)TLVJ)F));oG3FEiYZ+t(B*U)&hTM+pi z3;%l!qfiDT%3L*?)7A%XDukGsJ5R~}s;@ePL&w9BWBJsKp=oBi%buc~6brRjw$X;x z^;a3wT~kzG{&sv~h02mIJ^^+;)aM&C1^%cou2w2wT3LZ8my5*7Vj+qBxXcfZY_XZ`5fNM!zC={V`f8#*=y0RPFFkU;W) zQ!;mENrjf3$FzR5r$4m+Wt?hNKf%a$ z4VRCwZ@W}*n+*swSAg}`6(e0USM}(q`Fh{|mA#0pUl-MPGh8{5aSFOmRqsAy|M0Hc zw5R$f9YC>P>VZx%jYp!thXKNW$~FKcj^QHUv!FmlT=%u`qf$s;%a79nT@Yx?`$A$X zfJ7lBuvMzP-p`>F1F(&2S?7{dmJnAv8PE!d{Gh4e{$bk`VcJlfYc0SGn6LmS>_dUi zH`9OYyhWe+&&tXfRU|JEoP)9L_zm5j%qwqjj1vw2!__J@7%KE3LhL9p*quAFA$iGl>DpHG`Pp=R@}WeqJ+TEe zL3}mSSezwq)UU;#5;l=?w9wKN0aFH^Gr88Zyl*VE8UyO2s!?U}bp5Ljh|z+%t7$QV zNzcy2z}EO$w)ccte+}Ob;|5HU6KGV8I?3)0^_C18i}UIK_Evn><@%@3FncR}uKwzk z!Ca_jgw@p3q>=B{!SbTe=G^ZkcAH-hj7I?+K%i?=t%Da_Yi_$v^B#rSf!rkUKZ_~*&A4P1O7QABDi?EU`*|&v%ef68FWgR^Yzu=Rn z^2Xwrr(Ue0ijR~mXp5aFuj?LEKaWr*jcTUkk^Ruy*24{`DJ)6D&}^W*_9^O%B;1%J z-i^JiR6%`bUSPw@(Wk?_h>d~#X4qcl;(PLaG=$?Fvc>LB-yEKLFm&#Zd%s63Xr1YM zwNL>W7I&R~JciOv_$Y(rUz@Uk8*D4>iH*>u^h!X(qo2Jsl(B({{{$)51dbFZoso_9 zkO|&m=G>Q88g)ekp->dtZbXVSTang8D!nD&`?JoiOP&QC3G?liEU*i=IsvMEX8Y?O z*o1z1kZ6Z~%3wgiY8zYV@*ThHzN3Ol|E%@A;S&aXs-iLDV*Usyx?i+<0f>U%3`+ZX zZgz3PvybVX31!Se6E=B(gJmuI26ON>HI0X%UyzR4;Ra$Stovq-CznVjJGvFe&dI(v z2d%dDWJ?i}tO+`+brpTL7XIWt=z6t-Oef6kkA;^2OBSglboTgprstKU5jzRK;=$Ga z5DMXErIP(Am@f~r5jD}1OX+k2#!(ANy}(To{0S81>4gvot8j?6DluHKplRNRJRItE zl7TNm16yZQ2nS>F=JBU1ajUY&?7$^*MKR&V6VhZ&Hn0RgclK){c3w z9MV0z^?;*D8-W2}%_iyC=ACVhSlA7FuA?@y^vx#;eB1C<=L5VMjcexU1!EMYx+uJXau{qe9unMd4!bus8ZxEy#G2nI zq^BaDxhBt3x~#wzToR*0_=W~A{$mYZ3S$Y4gx%OPx9tJOsG&ViTssd#I|d$i%l_>n z#wN9J+M4E_%72CVb6rrEJY;To1B!oEZ{D36NV^u*$&r<68xCkG`S0RnIS9v@Cu ztH^pUzKw-0?w<@LDlkXX=?47fd$?J{+O)@da}k~DIZif&-<(1*zq1kX8?L`INobq& zM17^}d1EBE>BQe`Wyvx+OQvEr@Op)+dDlIYuZOo*zQ)Rm?q+M%!jd66KiwLf!fcmn z0@d7wjW*4ueOFd?gu&r1RZP=n3Cpl2mP>ai*Y2ZXs=V(vvv}@R;i6FmB9BUulZ+|Y zn_QYm2DYA>hk@%ICF`;1Dzjht0>)0F0w)K)Hp%ChR~%Ydhiqcro|h`MMrx%#vKLj& z7r~jiopVmQX};Roqml_wv2M2ELAGiWZiSTP96sM#;Jp~w;beD@OpJ-X&6}2QI`1TN z@V-)E8An)Y(KbyxUV5o&TT1T8ns2_~q^;$O>zC&0P#6~n>B&Cr;AQ(Zg#S}5z0m4> z$-HJa48hC+#zU5OsB$?@x&BrB6u_**BArI#Qm)me+*Td~U)AB#25*TWvP%u3wo*fA zOF08-YtNM%A!kSO?>6JqC;OVwK>gH?#s>vCssyKCTDyx^3TqB!Lc0@e+qPVzB*__) z+5F44DP{xamMlW-vD8MbLOtQ5$o2EjmbDo33og4?l;y<7vmOT1Geq9z@Uj7}cGbj5 zMW@cW^Y3%*$wg#R$abc1ndO-N-u9wS1V7j`i0>}J&sUK-vA z!FQ;&s_!DJoqGdkGqr;`Z{F$~=tgm=I(Ev$>PdhM9Q@aX|Jt}r~-4x))i&ui=~oHrh&*ZdRqG&|ySxH*S2dfUx<^OoDzHtxid zf5^DJyYb7E8cNy!?Z+ndksop$n^z#6P(5GkzVi<}Jq0g5m6;`YBKFR-mQ&2;xfV<< zQOrQEXzov})Vy+iKyx%ol|RJrlQfRuT-q9JF~PklY)*FaN0?LI`&uQ$9M3?y2MpDV=CQ1%>xhgu+)Zol3 zqX6;^%B>Xnn#cTSU}Vy?V1%35WX*ito>2?w319F;j zFR&Q+iu(C9mKF1&e>Q6I|4wIau&+}jxw`q$T4(0V`!$gx!uzd>u2|m`jZ=s<*xJAP zmG>r=9kt(xkeEYTfud)vh}_OGjh`L0t?Vxs8K*Jay}^TbCJ)JEyPsC9VHvI!FCpsb z+Hh}|FM&TBAl_!%l80sU87{6utjw<|iY`Hh zBWc$!wSFyaNz|nkFDQSMGt!iClx67uMO#@+Kg*9nwWJg~QIsnKwOkAlljYZRcofs1 z&Ay%m)flsfTJy|mrqHb831Sk`f7+?bi{O?a#bmfB=bkYb#WpgjU8Kck2suX}f+E-4 z@5o=1{9`?1{t(3QVWJU%$ga8@ho)(BT2HT%eUjICX$bPv| z|E|RU0crgIwUzXY(77%naVGiCyuJ$m-HjC*GrA}L@Si;Wn%;UE^M-%XK$Oq>cU)ur zCEq>8XyfT{wj9gJoW=foWBdQy=wDc6bELKXMFSB@@IQBu{Xfw4k2ha5kk%M}LrCg) z)m`P|+TdA=Q{$w!)aS95~k_SO!|qhDv$_Z1wFu1@t2knXeKr(`xUX!N+HZ z&g03CN{}n*qv7)W>kT;861tZM0n)d$QY})>%aNufvZVe;xe!fYJhTT>Dp|x^J0>H6 z>2CPkAk}<;?P|s*ovZ!1TRG(TcT-A#yj(lS2d1XfjFuGSpFbWVf`i@&G+*ULbVie# zT|B=WAD8XfUs%y88aoVH_`9Z7&sT`%H)MznB=jm3W(hen_WX4skOynX1voHPcQX1W zXL#^$``WawLC-r&uLFUNhy%;i=W?*hgb*Hj28j9$UzBYQSxrbfF`Je{*hTYgcYlmU z#)in+jw%2E66@O=`$GSl5YO(5vbKhft*hr<=zS28cARQ=<@@TY;gV0o(bH9XWcJYN z(fIh)Kb9s^dpbA1>h7xR{JVAwUUaijC$pa>I1)>*U~b()deOX*o21TKp;Su5jeB0>CA_B zgv!7e_4(uJofjzIbElcZQ!%*v`rjS*5iRvbExQb2wfrnRA8?JUN9X`6NzgJAnjf)~ zLoEh@oI#LnSM!U;uGprq@LIz3QJ#2NmM0@96wNwSSLfii(xji@q5Lp!K(p7J#wot} zZaRjD*XitT6fezO2u4IQ-qE3fhG51|fw2bDbYzRRAP^sxwJunCL<@OF2%aw~f++>yoTpCX)CyjlC_v%~u_;=9gTr{=@*2(R|Obcly&l#+2 z2KS!>t0r3*h*DYC%AyIP)cClN#o6cX2KVmzA^f4kfmlhojPzY8L$K6mNd^6p3+HhJIF$K^WxlqJ=7+j}1(6mys^ncJKTls|qluRi(( z!xXg=?+Mrx)eHUp+>~*xRaRH*cIeX5+cvM*4(WurF1a7c+0fQ*R`(JHR2K1M_H8-S3=u#7w0AfgkADe zk@oGgCawCukI$L8`S(~TRL@=Cr_$?B$I$@;x)J*Tr}>SNM;^!4$W)lh0h2}+)0kE( zNIA(FK8S=wj`q>9H-4%iS+Y+8)SawzOqi6G5Ncyvw{L*+R8oBD)oi#W?>-X;Rb~&> z4h-|gn}9<5`>4$G#mgXG|5+ZEC|dk?Z`M(SgNsV?H~D>oy4%`ktrmtNsPFt8=cD|} zy3jz;r6e6qO2WtU4kUfm-`^;kk)S^rFfNx{23^17cCxsfd*{AFDnmotHqzHG^!Cl0o(?Ampopm+mVnt#1oohJY4EnB zRHtBaZDR`gSez|==OYboq_qoIj3}odLMoOr>X|bpq61idOR!JAXGPOW#yvJI_}Z$o?nfn!@mh2fOsJ|W@SM=2O$)5fXw`uY+;)^CTGfq`$ zF)&G(cziideHY1IMa)^-v)?O;+c#xV+RD&*s<(T8M?*sj*7#-u7{KX>DQlymVY6S% z*{N~XO}I1g%uiWZEhVvV*`UHk;G2~!JuR4@KZCj(u-d+&B7N*OC*{4{JiK986sAml zbA^BG!hAa`&#+Is$*S|Cre;4n)~ij=V7YcE*=}ui2nmT&FHjlawXZclgym(x^u1~; zkk9_b*r4R|qNc+N`^t@(UQu)A-BP*Z@=Fq8B*ZZ&6+=J2NA7KKP%YVi0P5kM#Mxk_gc#E5|b9PB$wk?p9Zn%9~?ng7&-%A=bx9+}YxrI);sfdevGV01ay&2Lho60pi^Y53NiNn19`ty5$l)$c}gE{D-O4dE7qJ z{(JOVptcVFK7@_u>bs#z&S2_BGJmelF0w2O{fPI38GKIfF*N69SL9i*#M-H}wp^`M zufuc{mx0ucPZ;fT*oyz+CHJ96i#`xoPNNlR|KeM@tbhN$$DL@;s}yecwA@=wpMj&Y zbK*?%>n{jhGnF5{cn7M&IymRo(KLUGkCs@TELF+^B1DaGx;TlQzwi%>8>~7 zI%y0gv`i{dnTlz&0tPwKtGs1B$G1E%!R5&84x%?gE(Q-0^}Z=(?^~=#H){QCvavco zs9W6$e+MC;W|vK2w9VERUCrUhUI`DDR>PD);Ot^v`Z&VOaa&_(+fVh?OjI0k!$&&Z zM~FHaY&%2j^|nMAhwi{JY?{N0IAzP3Lhp@8vJ^d~G=Aa;mCA46Y)Yu< z=eeK#mI7Tm{PHcUVWLqEFh|xefsU?@OWz76ai=4wdmMdX!SRI&hDY{`&gjXz0Z}?- zu?TSub)}z`S|9(TGk#K9S7UYLTZJ&|PJno@w|B18)C5CI)}Weu7kBE*sFU{xyc$94 zh8?}X{9O|JB;IG|-8^;eOy+vE3mt@5ldA7QbX1lN&oBYoa7}ABxsj95j%?M8*}H_y zZNKS>iB;E#KEUNMZTlot`~xEZaN#qmk^G=O+}-M~i6ufT&-;Y#U_cK%nTBCa_j|drf1{X+Yr-Zm$GB_?DGiUT> zccjHcfE`M4(u6ZXhf8NDaV~++OC0rHivnUGODaE6HMVDDFLZ~}y!o&H@G)^Sbl|5H zwoc}@rfYdsdM;L$Js|KlUTx2t$@&i}nON_-Rh)!gA^oc%99hc=Pqe&1pqD)(xO$Rr z_3GM)2}#o`ye>0#RA3e(9?wB*rccL(5~2}Vy~BbeKFIbF=A6^$jBQxkrAH%;TKgi1 zSl`Lfccnoy*|v#&_XT;!=*?>>3v~uW)oc?1C0%R_%TEo>XD)WD^E=1!p^odv47fp; zGSj;mQ!QFFz>~Qc4NhLXu2C$H-t^?Tn)4z7A%ia8S6G?>CkhIwLzlk_oz%V7?|aUH z00>E5zPE9V$70U-+^y%$_E*T>+M0Dx;Xg>xKOocYvs+`PAqw@gTLCQV6B^U_?8(Rm z^Cfw1?9Z$&skm5xQiUslIs4 zL!%5xeWq1>p8Q1^zb4_R|D5Duo5(^F{5{I($vUAQ?W_CMcV)(>d=|8j2czE){y}zJ zQ@<=egM);LN#`id%&mJN4C&f66d~1&($h*fiIhFgJxxN)^~nZ|u>j2G$Cms?&A zIa6}ZZIwxhqQ}lFw!5kKrU3pg_WmlYtuJ~Pg{hZf#T|+jhvE{Xh2RBBad&sO04*&L z+=^TAqQTwW0>z!+7Tle)`rG^eo&DXMt8;ngMV{nImSm2(#vJmFcTgijOzW~UOY;gF z@(QgvA!Z--$TPkqCNs%moGCpGmi`62lgH0J5pFsc)FFMfB*o=9%=I=&g(~y}4?ZEy zS8-G-0K5Nq_s_j}el3Jv*)+t$&c!x8*0ix$l<6&M5t4#{;pQ^1RiQr;@P4Xc5ZCry zQ~7Y?c(Enl>E9z7B^I_R|JUQ8qr%Mx8_a(Sj^F_eSc-? zP-3Z%%Lb2{OnylxmENFy94%`hpaqh0NTHmZo^hGTemNK9MUcIhp`oJ zA%XHHumh_x{^c3v^Ljoe4;K?hTLbE%qnjPe*@-jpHIPJaU+3H)iED(cPid7r!g=F0 zwkN{8jm({KBU1AyqKZ@9+2)`EIrds{p2 z(3f(S|B(JOyF~#nWZsO%$c&Zk4H@&m$ghE5X)`_*;x#XoUIpen^Ssd%MR1p_ePYAN za|O1%&0O>JzW6B}@a}X#Dl;`7 z!BVm><--T0nNRkv+y)0dez3owRvL2IZ(2!s;{3DI<@?=NxlUr#=r0WKLh1;Af`kZ# z;yo^&MFOt*J1S&ePiS75yF|z#iI%a-i^XtON1hVk%k(fq7f){w6& zYG+6e&WZ?n>mrsF<%|z)qubW%CVU?Z{^eP{zP`43X?VW5#KY5K2F2T`MXM#BmLBHj zOXcNLxSheWbyb|CF>R;D6=Z{|n`x>ZoSLOXLK9c$Hw#NkYNegx^CjQsmYwenBcj?~ z_SCv<`D1Gmy;MdJw;i^fNPkq`Ax> zWWOsa%=4Kzz?XJzWwzh<<~p%9oUtVb95a4ZUx72+=&viS8kXJNHro916s93FX<%KY zkKe7GoY01Ux^0Ph_LHaiu_9jm=x_9ao8a2%DbS)*{M?Mw0kOqVOsl4&5u-kjKPw5) z8I(}s;~IAQD)F7UDW_gymI@@nqJA~)2&#SLMnQS?PHdev>ntlK_9->>)@l1+Ic?Qs zp(og*4gDWTPrl#RM++!9Q3(Y~?u!U1$0|HNr6TMOsouzc0R|W0<^?cRM-;8e5%t=3 zU8GfH&o*RGUbylQyxu>2thjm<2zY^^i$!`hf}Zm2eijQ@LAiKUn8Yt%1^Ob9$o)N= zhSEV%Dtv4tWbqDWuV{sQRU94ply>annYteHAZ8$ECYb5Cb!lyd&)ipN{e6~kcM4ae z?c0G|sSf5Qp*xchx_`i{BUOg#Wvk5AH^ccp@mmR zRUtDjX@h6D^YrC@UQ&;^DUo=EYhrA_qzOK+`IXJQMtKeR#m@PlWLeW0RT$uESU^)Ml ze3mlC4Ic*8U`hSvUQJt;NXsq#uv69{b2LMMMO-F? z8+ClRV7FeK2D!dJn3^M6RIL&zWK{E|v^jG>iQ)u^J)FP-NBnECE(}CbP`chn^>K0X z*?-|z{zJ36fScx?q6aZq9A6Y2PDTa=cAlhk7=+=-e5J;3%%WMr3+)T6`&6(&Ui7$rdug*Q$I>c(D7}V9>eWP{Kn0h2OFV zuL15K5L<4q);#-njL!}kU3WW+xbgVZP8WDv7vPej#TIaK*dNMg5T5@uCzzPYHC@tK zA-i9hv66Em*hJS-&fIO8HYEE2!h&>y?eD95Ch#4^#8HI)J$D9dTM@%_SJa4%fklZo z{F)mmC}d54qLu%!jfVt7n~X=ydGk8;DE58CUrY~&K>PTF`3Z*Ryn0^ceXZJPN}ntL zM0-MMS2CBDNhqExoBNbH>$3z|uZs8I<6K(-67%>@`sDDBEEsxA%sAvj&z*zJfncOQ z4}iU>Z$&meHYjB@7d?FcF>e@06eD`4hdyNdPJS&q`pg-`mmW=Isyz0i)}!p8S>y{qhJG` z-bXNP936k{r>3b*n}aqv(@%QREy>331^pV-Km(>}tP|^|`Sf02l8c>CP%wjuqGLH_ zWh1b$uippdJxy5ExXlp6=d&Umr~(i|DTWJ=Rp`@yog1@?X=7JobWfUrI{v+zzx1Cx ziF%}H1v3XlXJWO*;%+pK&ZUaN6$d_+ap?beH)i_|_{+G_c}#D&f<-WP%#B$|;S?CH z0x)_9@gI@yB8j?aLle!bA)G&w!N~+H2*PPDo)~IX=WKq5g^kMXj0R}me@?8DuW*X` z6I7dJialIKgC5VG#;wzdCy*!qYT>Bg429B1g}8H>-bD!6zu*6!&|7_-(!a!WJ3bKF zjS(NVd7z!|#-S#sCV+wxBvsY7li<5?3(%oepoe?^J3nZ1d`d?)KMZG)15jMs&>zsv zmwJ$|`pm07qhF$$_AZy?-aNrRZK~LvZF-a?8WtYA>tYkso1d?|x1_&iyT23AJgV;I zZVnBt2I|#hPr|~Lomv7U)Qcr(W+GQ=-2*Pq3bQ7bU*s-XAZ-@*-r*eXiwDpQ{$UWs z_Sm7=uXc#Y6y5V5pA<|_Xs0dv?p>w`{{BNMVG(Zb_zgz(Pm*1blgkcS)nQDzgO{}* zem^ezF*Z9@daP;qT${>w8>6i$t1tE~z%5w+Tf-Ei)LVfQmAPBWfTJK8&XznaTFy97 zI3Y$Y+qyi`UrL1GY@N4->r(S`+BR%nX2M`_oF;O45dFoB^zfOPJoeUsg8!H!2c^`!3f(W3W%f{ay30zf}q3gN?GeJi*K zsP(W?0EJBKU!9%jf*cDrs)EJH;i8TE0>pegO0<<(WL~E-X(f%)*XR_8!>N#Pt}d^V zUC|Yhp?njkv07gc`@_hHgNyA$vUi(1(ng@7hmm7WXD)a80sta=>ttud>o9=gmX*rg z^N^^{EnD!go%^usG{>v%FMjI#^}-%ZaqOATxHI!I>G)ULdzTvWkM&CN^)T#i)8dQG zgVJfslb@lGJsq@D|FDf(q0q%c1*gDjjbt);AY_)jCu>y&li0p<-KHRQ1#1~49lICx zcGy$P2oCpRU)La-*@p@kL`gjM?+lD1)qj}>l#s|jC9Na81ruCZ&h*Ul(PpLm)J78U9hzr_w#;KsW1vN{drPp}3G`=-(|73~~nM6dPBTFRu%q-KVG4g|j} z&_bD!Ym7+E{G~2u3I;Fn!C1%SCQ}mNuX(;p*|5%~_R5xaLwY184t}Irve_TuxlU~! zH_>r@k6^!g%??YL9xv~Z9(FmOVw3=bMYh%`t@Im=f{qz7WH%mU4yMvB{>mWZ&H3_X zH}p@R0~MtxGVAllWdSLaz7&v)v1l<{9rxD#^CN8yjgz#;!ncPr_uu!U(~ODyRsd|` zDNTPs%0sV0j60-{MDM*ZCxn*zIA9*zj(SC#qea6l4T>?O(im_zfZ=+?WITF}oI84m zTO4!#srC-oB_2em%4=wketj@klyB~Dwxutb&A9(^6V$Z1`$8hTmMQXmDX6I-Y7kCf*jNMWA4 zk!rh=FAnAohU%}evCG*82d8j!Cy%J*fMD|Ob!EN>lB-@Okqu*k+UoGyv}+j0k)n6c zz}Yi}uI%Sv3m8n%`}N2x3z|agCqUZBxtGY#FNqHNgn<%;4hUmjx|;3*b?x~zk0}*e zVauhck(|Scw{3BD#-GJk<}K=6H60w|FFWUnk^Y_CEZ$Al*5$)!@BbdZ;7V^vD%S)U z+0v#Fq`_MQs)n1FoiHyKKy7*E3zp&`$g4hJGw+m(5Np0}Qi%I0q{A%CJm~k+{t)J8 zV8~BByp~Sf;GJuyl#JAO3P4SJ$1VxS1?+Sb+DS7%+~e(UX_SR9V!h)>DX)!bv-68a z1aGOX>Fg2SZaP+Lz^*n1{r$?NvAg5-4|v<~FxI5I;tPUm()5uTLb5?J?C1~q^|ys# z0L*cw`kvx-Foo!IY zXRhzcW6Y;$hOW?Zqo}s)E7^YbADb@{dK+yr$SsQ+rXIdK!H|B9aeZB%tq&#h{DsTy zYihk0Y?3OqmgE8cgWU`_?#Hu71t0IshR(7wwwN?FOL8L8`fSt`7kyP<@g2%9<$l$1 zzA16{BX?uB!wc~%--{lWQpt<@mC_n`$;kY`vqK((jxz~QH|lH2QyWVz+D0onyS(yaI zL0Yg)*%u<0Cg$heu>l*RJfb8-Ue^O>7jefM2A9nlvTueTuNGt&D;5q(y!3bE#10Eo z7Hvd;a*-~!-6HmX{1cb+t0X^uH(aXQ8ni1mSGR^~@Og)C^C(&Xt10U95^AT*2kkn$ zgH}-^hLQc#e7v;;yw^^7j|tSa9x@GtLXZiv$>JIlXi zM0X>*T}OL0!Wn=^);fSGDjZ#P_R0LyZ|5^lLOo=o7U^zs@;oJ}P0K>w!vhZSSSgC{ z|1SrLS~JO5)be>x**e#TQ^?tA8c1O|J*oL!CaXZy#KW9D6Ve|dH` zKN0Vf8e160KWBZ>a{Rx!D0&i5$DB@2xf@7x#{wcArqu?|HhqNrX=Gi~D}EQ3e+1w! z#I6!?iO~4-={H^?I7+^~t;o7w^3F=kgarINX?#yYR|N76=W3d<0o0WgtDQlAbvPSK8Q28^G&jf^#g*p1bt4biC;vh)rO!DovLq#Bn@bx{C9h2Rqx&^Lt56t|vfsec<8j!2G|#xz)3_9`fzc5`yty%2iN|&#+wGk$!Dh6oih=OucD^~U0?;~$-%z4k?(39ZI+$9 z#K`p>k8(14omyK?OVTt6Wfbw^5rvaxd#m5VT{X?kSt<$U$10|g=fxGYZ-cvxc1Ax- z1j@$c3nl@i>HD7MXP38O&X_&)(dK{N3|I}G(t^2c8|>^OYL-FrzEd^a9v*Pr#u>nO zY^(+7A-Joyo!A<(&-lP#|9>8ux(S0yel?+jxm=9|m7AoWeH%dXVXwE(@D-BXKfu7y z>S{H}ig(L-ccF!$_%ghbck7KDqmg9~<6`(+OzOsgwe11fen6I(yyVY*2Y$1jBS;sw zwL7dV^&*1*K^SGol11x|0C;5CErCeXJ+^Js2GZHe$Yt0#+l9W1(Xz6|S`pLg5b^POV(0_I) zEn%1v4)8>@I2WFxr>6ne1+D6=olll155?C$XQa-IH1z?4v$C%@+_eUrkM@lI9sCUn zxD!_ufFX5=@fkjs2xoi=q-W|wxaF@$2)VGzfFB(REH|Ahuf1G5Yf3rxQWKB`N=`T{ zohFjU1Fi*dQhWbHoIruU`|o`Jjc>G_oq${LKjT5v`;u~UBJB|E(K(%qS+h2BMWEI& z&GWUjQxVkqNhtwMew&@pQ$XXwbcwX69_U@ z5lmo*`V0D};_Tp@p|^X}dXxs6f7alV7c%Y;>>T!L@OYS!c^%cZWEezw;>-HjW@5h8 zc=_NfnsNAGc6dlY^iuD?8T;?Xo(KM)?Qg#u{vYjcKN=AIZz_;~zkK`u(qYpZ9d<3# zOCEa$vlz&QsZI@fA98&aJd;BkqV##MmmqDCVZ`lm+rj`ap=7KNZOkf#T0(kFtWQxK zjElva6Rac5rWdrgV~%RBaH)Ys^`WKq?~8B0Nv(vxj{cpuC!wPb(bDYL;OeRQQBO%q ziwsqy(868y3Ln*H5p67S?9%HLSEx~nBVx1-`|{YwH-IdjwV z{s_Gva2fEg#InB|D^%O4*jJt_IApAc--5|rEu)os_#8{*$Ei&2MXa4hXHJdl=9$O0 zpPuVtj)WR*Y!)iZ>t?jDC24!ETOLlPLqz3y^W&~qR)ma((#$dQ=;$}n4rnC2lvI_y zZ<|}vy@mJHMSSct%yR435--f>e(*HQ9pK~#ER~~~U0~EM6-g@&?r217dSxA`ECvi; zG_Z0G8n_$xmo~H3T(j=c4qik(VfTN&L_E|?@iMBAK;V1LcK2t#K>-JN#eN@88FwG| ziw#$NMr<_Q2$bg_s;B1cX8ze5h@<|9;Lv3o{tO4%s!%jI6>Wgq&B8gURfZl&m@!c!Rp^?P zoCuH71KK(|Gcgk;YX9zq!9mnBLm^xf`w?=(DKgC}z zK*d#&YOL_xw-Y~Kr#980M#Q_f>6{5*2B8!5@w1>^uyd)r$(7B#ztb+IBqlw*_nLkJ zd{m)R+1~p4yD>NT-}NZ-nNUjHpD%@c>PP`df%T?PLG|q0Z*9!~HElWnP1{>Q@6;LHL?r0>Nme=Of0F%kiQJr@Y>b%@9bpo5t0-o>TAm{T$~@vCdYUHcS3ESbE@`%+$*LpQs-GU* z44rK)-ZodWQsj;MlMDWQyOcqY2xU;~6j70Qko20E-BcSdU4Y7H8|>{{)K4t5Ry29~ zRb9JT%D4ulN7Ef3iii&^Y>-4`fFfkxfhl6+Vsp*t__pXG7VVvIu)FbgN%*{l9ix$( zGoVP5^+gwXUEh2LGgWMCB^5pOQ_@VXeT|;t!~MOwxzTnD_KX=Kv8fhzCaV!7IntNRlk;L#~&#;pnCXr6@UP&+zFv>*BMQvE7W(QjEW3w4JL< zUuklR+nR3lYR|&yW59G4&X`*TxqE)${vy%Z<>%{=1Y@QYsEIWdTV{&&dGghf$8fwYb9ceTXVq5p8E9gFCpks z^|H}wCgcwW=uN2GAF^+1eD%y7W6mZkoauQ3 zaYt=5e-PW13i%#H^l!ccs+gEencE{R=&uvc7Vy(?)R(!|hkDM{!!iz&wT;K-H3!=&ch`hLVhGEwy=5-Eh zcl>oa#fZ~NZVWfpO82#A1riG*V4=YgbsvJdRYzul)_{64{)iRFB^(`9(>I-5DQghf zZ>NkI^DVEP7MfBONB!6NY3t~WGq(g$meMaEzO=?a#0tJLsD|WVwH{o*qf^NJVh@c} zuGdom^wODP`paG}_<}vf(!GOoDwBxoR(i25YH4H+1*rr3)lpHl00>tHsbni+o_=u; z+489N(`{f?OS)3?c^uzb1I7rYzG&g%TbP=BhUSjtEeKV1@+J#}sNgCNBNl~!Vg9uX zKMxEJFk_)g;DOAaraU7iHJau5BU*Rc^ytwOc$H&oZ))Rs*lBA{sW=~D&u*g(sIy6J zxEf3yqgPq=jp^!l?Tg^2YB@~5m?U~$j8I+q?7WnSFy~Dw4@v-H(8=3^8o`tg51xMyBGuqCc107P(uiXG!YgCQ)RiKA)*SsVK|n#VvL#ut1PJR!nA*&$d95Iy ztc~aQAP_eY#TY>Kcbh}bZiAVML*3`@x1Jyf|0y>J(WUUGM8R`!e|4`~ZU}1L47gsJe;sIpN;J2B*iF&d3>ZoD4tn-Mu;C!-lU3)1D`_371_8Xfm}h_sIEO&7h}g}RCRUt}X9fk7IXf3r&$mLe*j zHX--g!r6?ZGw*Hn9ys7@E_D7Pp4U~ea`cq-fGUMG!;3z# z{DDTM@MqS83@OhM6=*v)3cy~W|KcB}V){87yDO11%K{f>scdNP+E)+f2 zw0P%>^IY)u^a*pBerZPtpRxT~NwkJ;rD>OnJh|K@X``w{49wmPMgRRDEWqzCg*EcC zsay9_vrNCP4yJKkp?=Os-{;j%*-}2b+9$1Gd-MWhf4X9F9CQ2%oYjA0HQ+fu?mV9t zHg;qGsYkJzDZpvOezAzinNM+~RX9NyF~F?);=|EE^9RU}Bb#Tig&5f2syrXWH~?YH zE#8O!yPy3_=}Jwf`OL-gda|S8Soot6%_7T|%Nm7;{6d)kGFv-x-xyFe8N0AJua}0k zX+DA?!zGpurGM_Mun|A`56?CKg!C4z>kw|bE!PDu93OisIIOh~Ir3+m)OQj(N1$C? zPh8z?{!@%EotxN{ut!UauGI;rC>0{i?8&0~c!Ef*^b&Be!`)QUFL^K&O!V%90iMh? zqw6W%U@%yr)8{atTdCZMGGk+8PR(lJfqGmUTrw9l}P?;5S&&hStnDo{=sHan+%01D} zcC^J@xIjAAEhO%8^GdflL!1(yy!|1wUo<*DzFv+>W~wI?+IQV|qh*`swklb6gaKm? zhNinT92&mQ%A6Zhlhe?e+La;A{5%SfY}-taxHoJKVad;Du+dO+R;5xVt3<8z#M8@Y zrU-#j2L%Q8j!=+I-k5IDm$h6zy`iOH(!5P+pq-_#z9E(XD71@udPow&bobfxNYzQw zz4#B3ICyG*QlUljy@{(~yCBe{!j52a$yv1S)63!<7qHLlq6LUan{!&tyrY+WDtjOGDqceyI=S-#_{|22XXuK#jG# z!zbM_)66HuI-Xm-xhJUyf5yY1h}Bv68}+XjIYnAwgYDK7H@~`yNHx@4EcNl`^HWtJ zJ-V%y4++nDh1bU*^!!>j0tW%28Oet8=4BSnWC&W$3;|43yZ&}EnB1?v$xShJg(Nz5 zaI?2}*CYvUbV1`tgSd$4ZuDP`jU4qZCrzT!*Rw1H)QVlS!F^Jkt1#HbnlHW5svx{- zGC)@SZMcG$OiOmfFG2F-`AI$Y2BSi_kSUW*2Hkq)%ge5%3Wvk?XEA*y)YSBvl0)F7 zV|VH%&>}m>rOOX+73Z9HGJ~;uey}tSEcl|yWS5J7BRNi)_hZNKU+Q4Rki7b}MgiYz zfit7&o5k*nsDJ<*O{mz$m<%jPdiGHp&P#nU(!LpiO>H$(m*+T^v#XGAoglK!_g4~t z2}Uwp+y5-P5B6DY8J=~k`{%}6Dfuh0%5C6HXLWvQ zFFMGCqm*~BsAHr}s-JuxgO41b7D*IgkJM=9k@u?XmaIYBa(z)W>m#sr)9G1sogfeW zw=B?_SSCp=D~iGi%+&`myvMrkMmar!X&b$dN7jUET@G{W3+5~Kfdo7eHqevH+h(Gfq5v#XQR z{XQ0c2FF@gS3*XoQZE2x=0Nh&kbrB)Xg)v%w>dz`%0 zV%$`^Vqcga7s|te1NFLY(q*1Icsr;5;gt zQJWEB?4XM9zx^Mc==ZIS7LV3(NNlyzBjYg^(^Vc+-P z^3!`gOP@CViX9y*8K&mmR5e!&1{-q1(uDqA1q4f<%@w5^eQ4lfjhME^z2DP`{<7xN zay?JB($a>AWu&75mWP1Nfs47%?^FF|D4`|^Ats>p6I__N|5 zhNIPD7ZuPhHS71GgOL~LHkje_0Zl=Ocy_b7AmQ(Zo8yo9^we2@Kj=SsCy7gMRewO+ zFr7^gKa<&OmK!R6IGV9)ALz*j>}$v~c4kiHTUq0Mn%&k3tEHyJNlorazJ&y7FlLZ4 zV$5vnz(AkE;-(}1?BOg{L;th*OCT#hw+F`UOyelZ-nJ5r?(F9|ejQ!-oH^{B*-Tb$ z;=hL&>Kv<2TOa73YUcsg6>Ip^fZAf|&0yk_+#o$I0e+wDcq07+k;gF|B3MFjEDt@^ z%P{ZB2IS=VJ7wpz?HD~$j^m%4^0dKQ%6L^|^g1}$BE3}Ytip*_%P(l1UD+jBYXr{o zwgv=k9NuCF1fJYRcNMlO=|ZYjLnK-ZrSt;*dpjS0YX86*cwP;KrusA(PBWM4he@)e zd%qkaWQGaRWLc<&A@OgUD+Uhg{KX5eL23HM#WZTv)So_Ri6x`~bsSNZ5~_*B zREt9|oWd2Q`NrQZK2P~Pe6WJAd}x#Qy$qjc`DdLA5*-$UR*?khq`_Grqw2lJn;_%M zc=G))kbTjh`p#ha{6*J{jRJL+wCRLR=*u{kux9p2L*kV)<WV zuA&XUS1N~y+7%t*X*GWWN!F@L%&CC^<*13Rula}|?)XHnuPb#Wv(5*SA<>!)~ z6m!j(MDLYQ-T1ajIHBsfVnp}Pq)4*Rh{TrvFl0U&uxP17+;;jDZME7AVj$W;pHfrH z6~w?bq^yF}_d8zV9WAWbdo0hvCXK!Yku0q8m#W0E6h%ChQ8_1pSbix z?+;k~ytIOiYG)UjXF$yt+*;Kh4JH>s5HHb-S+& z%IXHwj^j<}9_|qDA)A)29@x&wwzACfF7N`HblU`AmlRO-0Xi_a25Igy9hAu>Az#zq zI#5qpW7jx3ni_^3xBzuwO1kzIYU1jrnLPe!Vvbm*Pw)cm-x4sCQZGJ7 zuMdR2m(a~2%}EI`cA~>)cay1j^un0 z3?8;u;7!b9f%EI&#`5bRtVgj#XqVy&{apzIH;P zWQ(~0wwsLh$@XMJNQL2ujF^e;LUN#3CfsczozT=S?SlLCrFVyk5UKEgelo%E?6oURw5K%A`^wCP}d{_A4cv1lvb zW{?cl1`0r~s+p@xXto;J*LXj`zFcUbnyZh~$u3s)n1`Mq{D(@eUo`we+jph6Qh=!W zt%7GW_euQ53r=KJxoXfT8H3dUYtzs#U?mCC+_b!7HoHlJV>Ms@zwL@wpd3Z}K50I= zZilTjrL3}{R6M)2()R71Q(%wM&j{!!TJNwkd$;1)fY!95Rp26a;mG&c<9?T8k2^ERI>7$ zfvP#57v6kk@w>wIP}S?837{j^xcTfX>-!N>xBFfm-94*7kSlMX;ro-U?0prq6jWks zMEBjC-h~|e{VQza>W1l+?4Ng2%O*PBCbH|Uhg5!+8ifTm7BdA=8g>MCoY_^be-Z54 zVb@C=$!q({&Iy+|rH99^W30g;UP;hCr-F`V1ku`l$igYX1=FS_uKnpO8RIPjF(+hv zgw3{Pu{6W5w*u)};x}jK=+{1xykRU{RDm!<{@7P2;Jx3jAO4g*Yed#Cz2smr$Q~(B zAv@-?&_-4+EcXcv4%sij9!G4J4=1@@4Y@8=pAS{ZwqI$Py9^uF&@U4SrPOmYR;?H{ z+By6_baUQlpV;5pcwrBtUe(m~q~t8$-FI?hx(DTJzn{jJbkCav$JBK=?RRZFgQRqx zT@2e6J!4FH=V~vog71;Nn%InB7DGrchAT@UpEew;JwYTDbaR*~3`_>t=U*LIr# zb@cBjkSJ<|f6|(R$VTrf-0_oWMwaK$KPwXxh>kR@4D7!u0=+Cj=WtWjAB+y`uv5~} z6Ysw17iCXDw|Q3~#G&xOVF7K%g0hI`1*;Q}KdZUdI?F3ia_u{hho5vYOU;D^nuEdI zS%;T5pEyi>JmG4&KcVS61LL@{Toq^$WDB|StThD_%uwjIrj(4D+qFE647b)r*HQtq zqJB!=eZYHx?Diy0A8DWj>3(Alqu)}ZLFtihz4~R)Y}bQfr2a*+8-A|uE z%MbFUctKp0fkkChWMwjJpNNy36OkEo1H-W;v?@cv)A=cxvv9;cBHeKnGP5IDU}nnD z>H<*>d;1U+|8tRG0p`J$-vbt|WgPIj$bx_fHKH=nS*L6y-@@0K3}*r7bh`E797foH z{`T8pV5#ra`Kzo$dn^8HTpwLs`0;LJvfaXCw#}j+Ysn4Fy0ew9eESQsd@QB`vt|c! znRB|iOxb!nPswchmz8MsKJg6CE3x(_)_&ri)+}F-2%)5iZh@=L4 zqK7l7oB1nBnSPJ#o3#e4B3SZF-Eq*8!ae1~5n=F2FDFOy*$>JOHxHs;RJ2we&P5@X ztMmFdhIgA28vU)2oCpEi_-N6&)J(tD?55S$pQLs~;?s`_{+*O}UXScN(T~yFxs-H& zO#L{CBp<>b#IGXN==W~?BDYF0ur#lqIqF}E-e2cZg5U3n>cyS-G(H%GXW%&LJj=Gf z4Z@Or>`mK3U}Fm-8|Q9CAJ1XgxYVu4+f_`Q(&g{hP)6$7^=Qhr2_+N-JfzYj1&_j!BaP2H%|g7MlmoAAgCvDT$plXT2*@EF!u+7k|rl`)GhIReU|_M`R&qCaRIJw`=8s+2ORm8*QD?h?pKXb^D(hj?ykP;QYn)-AH z1XJ@aaz^JqMklsKll&s>d?h?DFjCRav0$S%?eXTm${#CY|9<2#-`oAw1R12(olSdx z){D)w63PBX<1!xq;JbVBVZZSMmfZH{GgReG<=Y3WN3SEq^hVB|gOyxbJ;i|WLj=dd zJ^i3Qw8i*RJw@ClXk4i4>2ghpy@=TH#9l$PISv5f%K~T`awmakd%q<;oBz zc698>cY9h8EyI>e(31B0tp!_z3$Dg)YKyk-RqLG^(UX)rvGwFx_qxZP)z^BZnF9GK z#F$B2r2arO?1DAgjv)N-{)3^i)&dsTkaI@+; z8_b|ZGiUx(wbQZ(1$WWdu^CT~ITz!>-yi-%uauz=-7(_HGI-y1{dZz+)udbKt%hrshk2C}bJxwswx-M6?WyyY1&)C$gF=;r}mc zns|)QJZ0c;!I>xOL7fO0S`?Hvf7Ea#Ss8oM{k}mLlcuC35=z$Cz`(c0l+|-AFBjp1 z>J7HAIKCXX1L`iC7SVr~)!;pHD4~OvW9%qwZRv7iW0!o{Qpe9{>JWGE22ROB9ahfj zhbU(Yb-vLa`{UYpf@P~NliylR_U3=l-3&eltN=1?@7d#F%Y=GaZu!z+SN`0l%46(;qbqKRYc^%ztA|8-%HKkp^X>!s z|IrNRHTpAvkLQ2J)6Ta4n^@}qJM7=I{C`sdOv3-;D*1=rLP7EPG;?m7Phy|gUGb&I zs0teAjRjx?#^a5`(()DcJUc#MrgTdxF?u`Kl%f){e{_6;qW1;bgM!lj^9ps4q=C3? zT0cB8lHG+E1%-eeK0Mbt&0+#HAYLf?dxVuT-@B;mpoU0gsn8%eb<7=7)+Co6zua7NkY< zPwXs#v!uX2FOX>S@6Mi~UqRB`?AKpbF!$!Cel)x)K^ld-LvjSaJ4zObeZ>*O@z5GCGj z7u=~ z{=r*)ff_AcUs=e@x5UF+1X7+A6$3XEatSBh4R03{Oee@0<8TkeIeCKXJ~Lql=dtt< z4dbc!bf&+M(F5sZVdF-Zx0XnW7LV8aI%{RU4L2+|@FInU%_NTR3(&`GRo8C)bzdYR zA~|SWyR}034yV$q|ByG>eQi3O!7pLxD8qQ0)zQZ(WZ>}^fhajVw4((JCSzJtQry1&Hp;~Re!h;K3qdNR}>zJnGiKOF?}qfIq4&_ zTd+aM6)%40f?nnORoS}$Aql1phECGvg8OrEoQQ%bh|rtQ=@P7dt&TN;~-8ePj8s|&Pn%GqjH9lXx` zbu+qNG!VZ<0XD|hOfI%wt056+*#N@$O1C~GUsAni%6(%kWUeT%J%z`U4{2O8HAVI{ z;6_9FuXJ{{T9oN83yCVojR|+CzebB{(H$58G~&cYy3=(ly3{zI7T?s2b%d}Da@_}v zvEFxLz=PCKg)c~On9!(X<-Yz}ybiQZ%2qzf3WgFP4ZNjll|=jAM!V||c_<#{9Bud0 zEK)^VPdrCq4|9NfyGqb#4;(gXwc5@YFB}zf(3cP@--*+f7;7=+YF@=h%mUoY(J?Lt`8YOjQV!r4_cMyC5m@)II;+)}2 z%yJ&<_`pMsij3nT$E3c=d+?_duom&#ivLq}tJ>8kFUop=^-v4Q92+}2yZJ*=o%JtT zSiFy?QTFt9q0hFFrlD(4zYMok_07$nMKgRk@qq2;$)u;wrIB560Dzb2eGFX!PZUk| zZ)6hqJw9%M(~?|c?D&ml^Z^%aM0$F16Q*~kzJc}~Fwi|;^G}Q4*`w*Ad?S?q(8ri(2V#~# zwkmne(nyUq%fH2}hx7!7#0)sIZtO~=jCE0^a~PIeI5Bo-4#4R};L1R+y>XY8-)9tb% zZlCqD<*!$Fx-Mmxf@u+>XQrl_mK$-3?ng~Mp&Z(hxdn6^Twx73ogG|h)^#HfrWQhrwJ0y%4$|nQ`xMlp2?636{hO3rszecYa)*Y4t&-))WE zAba^De@QHB+U_%&!F%fz_=%HK&u2ozS&*D_X;_(`l!*#{QC_-gh^Kx-W!*cHPNTN% z;VKPqsf>sX9}+~ciVkT>cKUq`6q1WveIp0O^+WD;Xd@O}E5NK&$g1z^&i@xxe;L)* z7i|y2R46T4yhYpKUfiLDP^3t4clY8BHN3d{uV}HPxI>G(L-62EZ~_UC=k(rj$NPWJ zr(}$blPzoSwf5R`&G{iX71mM9xQ|S(sXLTBkt}jv5IO& zd#FXvbD%EQPfqyJ!_QxIKVy?rHy5stJiT%?^ijWYMt`NSElubzSc18UgcIQ9W#KsD zj%8(+PbEoo&5xEY|BmQ?3bKV|*qm>|DjNY~Bw6@iRDJOFev=e|P`9t}ujk zA8~fGW*S9%c{S_HaOFdK|7A(|hwl)0%bInx*JM%Uk9*&G+xKarHHPx3Cx`6khdnWQ zv#FLT-<;&04pq$kHGhINf0eJo=Pt(E%>2A*@;tkWcw;>#eb?sgE8x`f`%^wLt+4q$ z5v_6FG|$T8nirwp{kdg7ao?ub1-!=j=w=SZ7Z8eF zR{=#$y4I1z=lXhB=|pQ;jzcD1J#333`DZJN34^zC!AA^xVTl%Xzt!R+6rf9M=lUjK zu$5?9Kt&#{H#r+F`&Gy1xQ+J$VLg9*OWX5EYJ@81tGm2HV)vAT=)-ISpQg2Nd)67V zavhxq8K0C5)4Exl9ZI#_E6=u{Gp`Mr)jaduI&?qD?^WA2QK@uvc^>8GA>J3MTi`?K z5@|Hu@SIyaKVA;)%jL=c>J@Na`y-=a4^x5~RRf8mJv-Xbp_mK*DWUOGIm@A-f)w*? zp)6U>=tz~Jr4HjGmX5`69^t?VQ4yy%5>=D9`qK_E-hGfl1^P6Nd9EO1VMFnS;r)d% zKI6OPpR<;iTn*w+@_>zDD8tm7tlD<7ms+ka?Fs5Q%P40}mjg$YF`)7XFVTLpiwUCf z-9jp;<^}&JWeHIo6K!3F9V&R(PD{ICUN$+bBLqgpW2!E^j2znBlO}|8 znIbEjtml7tI?6)$a5l0@3!<3XTncu4|9Mhwgb4IG!gm=yK=iP`2X?6TyHa=lf8@4Q|@ zIY4h`sGS*~CCOLLQf%J1tS_OZm&8*&B6NT5&qb8sFoW_FQcbPJlpKeqK*c7JJRuu3 zd_Je>So;vKfuNg%q|6xUQUL6+mx@~K;Z2efbiDDB*FA38_bOem8@kG?ZNwCC-!*fO zXvVLGi;MiQY3OS?xi2s~Yy5~~=&Fie`u6#G7>d3Tqtz{UqaOjY8J#tGX#Wscux7mv-hKoy znyks}0POK&$O(F$5=O6GZZza5jhQ_^15mexW#n$+ame(%e;CR*>5%IiLx&WZ(%^$^ zw*{qMx`vS7T)dZWFGCF_?|cFvd0Yz=P%QxR`TYbXFXaVs6y1WdCf~*opgR-OaXE8N{zOu4-&{9 z$Htr^z1kQ0Tryb4a(tH1TH-_sorHe`}x&9&7i{gFf zNGDb0AKE1@qxUBZ8*jY{u{d9jwGjG#ZAIl6j{SpOcC@v!0O;#ct`;cK9Q_JviQ{93 z$A|yE{#d>ze1yOP63Fki|kihj^s$3g~}wUKU`O% zT-NEXDK634#qA#RCxK3f_G95$^Ksoph|We33-BLd~j0BN7<4xbuC? zr(-?b=g?jRh4V*cGTD^)%eBgv3mbED=Q~&M?MCmtst0J`a z^3@z~SPcKI#@FJo%MMbGNcQPNqnI6A=nGfo~w} zD|nhWYSKD``1O|-@Q#^3yF7V}1!Tn@Zit>ZNM@~xvS2Qk*?4S%wrGFS>$<7~@cTv| z7nRsWwMDpM`a%-*xhF`oi~vD-6o+#`M1Ms;_7VNk_Y&Vn^@GI5wwh+pRoh|1nXzO_ za)pmZB4Kvh(3MgjovBp(DwXKn$ducP4UMlLMrd(aQYmmJ^}rb-ezYfh*YyR$P>RTP z>v1LA47|9M?W)|De5UCQg?@om^-->9u(*^X^33NRV*UAcSK2GNK7V<;_-}4cZ;ab5 z`!^spBb4nGa||bc4$j4o8Jj&+)>}-+UUW!2f-YA3Fc$`Ya{esYLLIPhAL}TaD0QJk z+)ASJnQg=EuAc4Z_2Si|TzX=1kA6X{uL1rpSs=upx=0Qj zi|bmrm$`6Nzl}9lp_UL%H-c7o1m@F`9xerR7|VbpVeb7obE4um77*NKQmXNb$SBKw@WMHbVL=@%R}5Gja5tq>BdUS&(Biqw0}CR;a%I{Z`}=yZ%!^m^=4sg}eT7*h+hoa_8V& z1->l!$MU}$@_Bbo*_x{BQC8we(5&`sn&TX8zh6nHd>@zt<}d@9_d>TgwXk17BV(sG zXN^0&n#xO*HZaU|0r1lwN4B!jR9Wu28>+-ut01tkh7@m(PpLPWH^wkizeDciNNOXj3(#nw6-SO72hYt=8f>7u<{q)&1*16^H_O%4YJpw3NvB+Nk zVD8CLV{r3~SeNZ1yH~~gOAc*Gpn94Wk)j7+*O5TyNj#(f@rYl0IP~4EEiEUSBO+T) zZHe59bRrOhi*>rZois)9jj{}?vJK1*}>zkzNmOi>^Jgic!^_3((w~yN%tab zDWLN8vzElU0_nX0xm$4z4_#Id{|Hn8l;Kv6V-QQX6!0csq2pUhLyuABTt#J=>!76z zCAmr6b2)2TrCdHancao;uaALf8+!%H!yz7 zxu-j0Oi{uJ(lK0^n`mV4N4;Kc$^d6C;$>nD;{gc+&NtAHJl;Lt04y*}hFR0D2BtR1 z31Q0dhC<*Um-m8MGrCHy(r{HWRf6$m#;ZP0kK78rfv ziJGg}cP@sHpL;6r%ab)}Xicn`Y{$&h^;UC5MNa7U70jL)mj-maSU=aR#uDr0f94*sp>Mz< z3m!#8Rht}FF;>|ea6?NiV^sPKoWXA5d?ll296DPt?QN%#%3nj;ZcF#pU(F@@-0FYU zYcC*Gv&-0(Ne+$!3oJ1&yA`puS#XW`yWGWlP8J=mizPg!_PB9~LrYDg)7$Ig3o8c> z{qb#8_n1xcn&KY{=kGbSU8a;As0A6RYa35_YPxzTk>VM;1O=7UK^RAnkEU}4d%&!DTxxV8>88OW#z!s$9bQtH1L+f0W0NUC$N zA9okZi<~hhR6Uro&x!bTYvGE;W~nens5Q?i1cExEy4|4fH5+pK*Ip2Ke#821?dY=W z-Ak@|zz(*tVWldkd!A6V32?j?d|q5rw5SNqf7&z_{@})7(djPlvskK3PkDTQ zOb-E-v!Tk(Y3e)Omipz=QH2l?z68u;I)B@j2fV;Mv?cT*>w?H_AOHmE!56H z9YJ>`_13K#@2wVjF5B4b{0%@D-nrR6_EE<%$;8Fk|GmJ%ykFdOxhR>&$$NnqCr#sn zVA1&n4}RR{T;hbvgFr_erCNA+CU$K`_5$7?iNAk1{&ZGnNOt@kFgZ<7dhx*&7F4dl z9vx*&%2HI!c1%dE3_P5M_gJkL~508h)NqLN7yXd--W-MrKm`*IA#Y z1J|6_B$40m2BN8LeuI#t-^w3X^~|^qpQbUK4sUSC^qHgv)UIc&m@yQ=nBKnT%ZRv8 zjf%~jvg7+~7B(tCsL}mo|DciglFKdq2c2F-|GY8WV!{g7T?PFJW_(ip=I{2r-ecOK z|4FNSznHZYWfGoul+7vraI^JHmtEBJ&sT%szp^yPlf9cdt)+0U*;U5A)tU7p;R8}1 z%57KUjl05t?RR;R{RfHfS6?a9DOp)y>eDO1HF>@Y)_frERc+AbR+5Bf?ts}R%)m9> zFhSZ-1Tbh_R@J28rIXt{PZg3l%21O&b?FhiiW}{LTU(@>CB&beIq{3uQhvVq3J^U| zB;T2I3|yA**}I1)R@Lg#4fnTocUOFv?S`IZFjhe99XW-v;(XFxbBo7FE3V%!y&xvm zhivZD4qLB0#`^5nb&*Udm^s&>`)g<=PYk;-9>CVj4H=}|yazU$J?c?>zYg;{y=-uz zo-?SI(u~(kjCz3+Tzo)|9V(}ZNr7Kn&|MJN;(Wi6$(r$s$xRw-yXH6Gr2U}ixqwz- z5teHVsj4=X)^W`~C9QasBCYT`HpE^w8J#tn!q{{bJvDtfu##6|E4-A|n6yx%x)Jdv z)QF;+{gMOGL4SGaVXp>4;=3`DT$soJ#%FHpYX6hCAWw;m9na&gM zNhO{mU+z@?LN*??BZEF?i3S8bNaq1^TY3t!2g1uqXB?9xEZiZ#55}xqm3hYHC}4+q zdp@F(j&z`c6|!y(Zek-JgI78(P&UQn=Lt0(5+yP`bI%B|-p1>RN8>^oRa=XwmDrQM z3W~iPp8Eg>pV8*!ERivRsYKS01nZyquzY5-b|7)@w~Xj$ z8V}I$k}M-w&-}u^_%Qcx+J>Q^&8VW5`o&dY3YVPo~Nu`7n<;`**A% z&t;9?7Lm)BXw}sVZ3g7Z3FVhBw^+Mo9c0KLhInY1r;KugYnQ&e>d~*=8^R{q;%S3| z+0;nZsV?j0Z{;40kvEaBm54vxxjEFhfA8EQri;_#DOGY3234QE0YRb zn`Nu~LG#V_>fWeEh|6*aVi}|!4q0-T>$%i7$NDQc{;4_7f?xA)?Dc>C9=eawX*K0* ziC86f>ravAeqlI`Mg)UBx89sZAbH1`y_XOS!Gx1W3zWImz3E={2#$0;H7rM%v!A(o(nbFh*Fux+8|_XS5ZD_%+vQD2PesFeP$}L z`nrxZDOt7ELWQnzK|~nOK6?AUlEXOXEtS1nHi^QQdj8IEZ8DQD%HXK)hC;x+LAHUZbnffWE*zUTJtH643CQ=q9W92omU zU;M*Rb1~er{Xz`$mBbNOX-W80S}ddC_gx@@O)X#1BZfZ{VnmgBFO@LgSr651J+922 zXnpbks4|1H|Kf`EknbBK-1bp@NlswLFIq?GI@J2??I!?2@z(4|&d{xBeePge0MC!- z#EKTt2XIsVgyt6orvS}=3>AJ-^=SP4Gjw>@o?mv602luk70s}P>|4UA2(;NbwRa5odHW@Rj?UsBr@>*AvWqW6BvSF)k>LF#0VUIUn_P0DMN@P2r z>HX;Q$Ltl&a<|ABh;=&F`tC=S;I01-4)Wd0&TN{LhbBDs@seOuv@g|eimhuR8Sp>+p~>=v~l9Xeyl5p89VjGrfoobq*?^phmtW`Pj#|>dO=$r&}{QH|iX)VINh`lc@ z$21wl9Xan!(%404?gNH@l=E-a*#o_Cze0W*O1W(l{PrRM8;hI9Mvc)!n#h*9K*z^w zOFZ%K1?|wyupsDF6kElmSj$z9(712mDvCcrdHd#OENCD+4(i<;y%p?@eLP3~cF;^L zZp-MUIp;DLm#{zTN%#+nni-o096m;Z=VaR-$aQlQ>@KNhoIXTtByAXlh@s=s_KJHR z<`RG_R!mQ*79|6;l5%^lmgahJsLmaibOrYfN0GZY;lucDyO@(>y(e@~Rsk7qP(BM6 zx|&0bOH+CzeLq?)DGyx8QIC^$vWoX@yW%oB+TH2f5|1@7|!*%Lh6?7Q%coP#2II)_kz^0`aEg2kPSw7R}*{gR-g*@2nrt z*`WoO+0##$$VN#^h^Id2;{fHqY0B<@yBRp0-cTjEeR*VGzD3MYWW`U_4)~^NSB3;m zp_<)0HeEzGi?fD~_HLw;t~<#kRDqTuS#O4s=+~`4g~!-%KJ1cD@pR?*i8SE)kL={l zRqgEkAYn)0{M)gXEI4xN;^nw34vD@h`o>?5%&al|Aoqpb3m?h7W1xUzue|B<_&C#@ z`Y~n{6U`~mUf3j9d8w?jTogPtG8iQ6Xoc%#bXfN5js36hFT%U7e?c+zE+-jDI^b@m zLfa$NJkQv!Ju=HM9n!ahq#Q(oIZ4}_!IQ4nj0{scMzsv027`Jks93eL@@6^cmf&twlb?3;^fWxCgKh7BB!=j?g5`8hYde#>C86ptI3*^ASUhH71>nw7{f&e4y4h3xk7 zE;@m%>S`JFz4c;TdtNFQ_-JKao85KH*vef`ts4Yg5OOt<%0=5_G;KulBbennKOOH= z;pa4^>`F3MCf=6$MkR|(iph#Zolr)u=j0JO_{$HF_n`C%bCxn}n!REpZKA$~uObBnIn1&+ew*1W#^ldw*1YIhJoz;2mx~zxUhDv6VQk zHR^DrK{I_~QD+?K*Gb8Bp4}0_;b}lhzNq1XgM;MsPyFq-LS=56+bYX@2O(^Whcz=k zEOHuh-a5U1n`bSFh5l4d@>NQvwcwO+#->oWlJq!cW-B|-H{IQbYtChS8Cw3PHe3@u z6vH;)t5P6U2$iVryZP0&bMWP7$q*CSK(!!RHM>-r>}VCsti+sIj4Hr3=Rl1Bq+ib` zn_1NHu|(gC`$X^96aUtZmb#(xdwOl_*T9(jZ%Jhewgh>R{wh5mIfu%~YHvNYKX`mg zgIub_%;)kPi(A4UsO;T1Ttfae;ZeC%;uful@zlp`rfuI&lD^= zYbtD83-FlK4Npoq>*d0{6|FPSm-JdG+uWYX0;29-a`L!>8KvFI;5^LZwKr8uX02zu zGY$)T-=^3by!=-Xo-Hr7iPF#*zf(1fc^A3&VMallwNlcOT4i02u*J9hpKUXq9Jlh>H(j|_tnhl`j%>2 zA)=D|nmj;1(aK?HEVS&?tV=5(3=+6d-~YSCDr&f*wLqI38eXA{NW$cNuToP}NiP{r zy}@o+Jn|onR{$j_S+~@XWw2|vJD5TOwE;b(=NoSvEF`z8MkBv0-u1GTTPB#xSww2( zra`B2#!J6>ga)o-LCc3uB(}#KTY7E5|-*R}0m>`i&(yaZ6jj1T#z zJgT}b-`QG+rJ27-TkL5yTXG@ldh-Le=x6gU-CQYr&lKj-{{ zd7T(d0U|qu;xppl1s6tnv%XF?9>V8(ub!=L8DNR4uBNEl^JPPUSNK&;U0T-_L@V7* zL<~KRh-6g4R<*}6%TYvZkJMjTPt}Y&nah{$G zB%olz#`?S|=;gR8N<5;U`@Zp`dj{0AB{p{xsYH*ZAZBtiF?zM#oOr8cGaZenHXJpa zuGlY{CPuG*zvTl+KFwNcq-fHOt#*Tt6ooyG_$xQvpl<4gB8H~lu>oSoR~Z9JhEz7A z0Wc{s41mztVNV*CUvf}^4I(qaRk&Q6N}PySFYLV>-uUW<+btore{ zddT6qlRvB1Kf3n3C2j4~7zMdF075R&k9zT0Q64Y<2(9{Qou~fY#c#dWMwQhc$^_Y~ zD#_qs$76|XJ$njF#gl(i@%X^4?Ny`zHjC3g+_VB;#n7GwP;y>uQICuD@SWKgtIys4 zFSz_Z4ovy)hyVMSwfw&d$8XL45y}7G^A!L8q2$E+^8d;mzj^~0`2YP5V2brDumfl6&B)mwPz#iIlKba%+2sdw0_AB(Ovx zY}ZZ|j<@2n=o(3kNdP5OEX^RSIf05HUgz85qWasmTt5W;7otu6RA8;{2&C$ubISR!Hdf{xa1a6=OFk^mk!-GGC0uL(&sW1@hc>S*xgyGkKpW6qBW!bw5b8)ak8iL#fl(PK45PjeyCl1H}NKYRjW z;*2X`)&UMkM56WPA*{pj=a8b6_R$>kqWb#ypvN~#L;qsV_M}(~pKosrRmi{_M@*LnNz8_`GY*T!gBEx3cXOFWsuc-X;wwB4+ml5LVGwa_s z?gcySSY@)`AC%1{mcnf+9f`NP^Pb}8k3T$#fgQ<0(6#3aw#_OZzWCF51tF)8?yY|x zK!R$nGHANXCe@(cm($0K{qN_nr$*wuLKpU_r;?4G><*}3`bkKh`dV1+4yldVdGoyB zIlyRR-1??d(IoRrt1-NN9y^Ce2wvt1>v^pSqNU5mB0XLECG7>@OMlqqu`&ZJZYaBE zqm7`1OZsofT*v8-Vqj-QM(xB2s!hM%l`v3B@|Q_RYjH=dnb6cWb8 z(Q-Y)zY34a@BdC*eIr5g5BYFeJI9e4LkhpWt(|$wPXcRb(etaQEO$K|5@rO_$({1A zh3lRrR>EDpZJs33kw6!tL?lhK7#0e1iZ&0BZ8EhVN~Ia$g~rU}RYnOE8+p~S0hdK` zGs1_1=dy4jqe{tQb(_MdAYo7s+g=9y(ISEIBg+OUg`8GjJs&@iqD_UPsLQ2lCB{B= z`f(KZPrK!NBJpNg(vv-Qzor|U zTy|4?ywI}nRk-Y8o|<$13g~&tQ(=;>x)!|*YL|RUM8S8@pNxkMS(zDMHX9x<4ynap z&ns!ypYcdL4I)h1my(wmi%eVMY&o>&2Z=C9`oR0cqPv6YuTDiMy_OW&Ew0)=FG8Lppq)$I8h959b7OoR z)AthS3MFbT=@k`^oKs!SlGPu@+Y;1-*qRN_SigE~lIh~Vf2LmQSN;07mi(zSiEKT3 zP9A8VhSz^RgFF8kUwF`vm7Vd$D$KRDGb|#>eyh0hGw)1VgMmrJm2smEhEw~lb&gYy4C2t?3PdTnl!xXUvmxnf-e9$oGB7*ps{Z`pka2c zN1;+z-{mc%CLP3^23{$G5#O_DB?{z3RkxkSA|l>2H_E(H3O;=i`LI4frujLFi}9Za z79tW4DssCJoj~x{$!mNIX+QaOSF3a9Y8?ha_nOG+PvuZ7=eb`ULU~Emd-qa(m`%y8Aojr+Yo=a{#DeAg?2mSF@@b`|&Y zoq5t{PuNtn2zD>1G_>IK+By-I=z?^uIOg_JTRbJ%*D+&GQxd-xUKK2P|sXRpNcFILf?Ai8|77eK>mh% z-?*hXLn51dGy$cmjhlW^sF!}9{F89BbB1of*Z>9HrFZbMYle?s(OI@r-Mv$t%~A6# zO?jtf9v|V-QNy7NLOQMPZo9%~l>jW-K z?}`|w5MS6PMD?Ay;6Vu1c#SzrgLm`VRjJ&s0IE{58Ou9Y^cae+uY2ydo86N3xL=!R z)Al^}LGpkv+|KF}32D!ef$X^&h`DAtyXYhqPv%xagCv(>e8r2)L0zQva_^Iiweo)P z(+uId9rI~WTJMBqWkT^$u{jF)BL6{KKUSuq?qM#i({nfD>lcXvEz{#h4U@w8K4{jv z*PCBzx{mKkC#shop;UJ+Dy3;a1JshFd1bToJDmk92S^qt!j>tOe;x$j$1Lsi`UY|j ziLD#BHJb8iMkCbbmP}I3TS28DT}{vRLT(nX8P{ig@i(-BJJrt?k%?c2Jd28tAU%7R zcTmn_0z8sIBSvnnEK#ot)m z;J)M1{KnS}ufo%8%MnI#opalyDJPuUSa;czcOa;qYsOjZ0N|UYOwY!bi8eqUW83jU zUhpiwlJ%27@yY2=8Gct~h@J9R!l-WW##3@Sp;s*L1Y%blCVK5BpIEtI7dXF+4_c?3 z7g4=zQqdR1hp^^+JXswW#t)tl+H;#|W*Zq1v1 z8Lya4q~xWgc2=CC`ubUJ0Hq)*%+&!3+cOx0pe*U0jVJu z9v>z$n^E!`YlnkdUZo=BaRG)Wu20eAaKtQU%H=tnTf5!ok1764l_B0e?da_oi*?`m zoiyfT5q=mV-0Go#9?j#xoF%Nly~7PEKJYl3rcrKD(qKHcOr>yd?^mijDvd=FH7V;% z*iViitCMO6R2J(zz${R*n7FUl)Z)@V3tD~0EUjKvol+L~&AREON&Cg^{W)BU{X`cn zJ$oN{5Pn5O^efJ^)%NZvuBfOet>b2vNsI3OBv&ygxF&qVo84!umjTZ9+u3T#mLxkvhJK+{xY$XR}dGh+8wr#iNsn@LTlIfK2~t zQ*G_$&EHQVhG=@}$H9BZynBDABmV^Re3~={+^U4<(c<#X?JvT~OV-^=zc7t{OX$e_vo^in8pVG(gN%*Px<{)_4M_(hZ%@&?^6f#`EGB7(x=}KriAAA2(K2BqFj#x^RcpR1 ziU@kUDec#Kd(#nn13h68KA7#7WXBU`_ClYT;@75k9`DY2WP%MxU7kAB6B2mJaIBVfe0ThU=oAnB-MAQ{5RNf>~M^cjeyF z)DIMOcF|t{+f))UWLa=K{qw)@AsA79Q4!M^QCPmy*6ENm4&|WtytMr7COQT3$JwrL z(kl0ug9r$Yjw?j7r8(0A?@CsAq$@mMy?es9Q?RWo^aW*db~BGGi(kE_IB`Uu9_C{R zb8qAi^Bmh~Zg$6z66L`cX!!jhUdg^%yD541qe$4-dka&5wwO{P4Q z#~awngC~6L4WIlo%2>@HRS%ibM?!-GGUKaF7v~|g8fAoa&}RNq5A^9w7yq#DS|GSw zxSIQPu1S{9Rmk;jNFNr#jh&X=iBX_;>cRN?#*}o5YmKGvP5eBX` z@2RSj=`bjb$%~Y+Wrjy;t>DbW)fqn;es7SH=CPrll7+d8I`fzjM8>6OV}|0Zz+(Vw zSS7qEh96ad50@4Y)GeQ>eoM?4iV7qq_6u=4I%tKM`jv6qolq-*@@<)i2AhqtTUd+s zN6Ci(smj2Rf*f&lBk)*qcB(7i0H-3R(ipF1CMOJanIYZ>hBYd03cgsvf`JEy^jo1ZDL8 zG4cVm-{Dhg3Ca2rRZz(Y@sez{QXG5h%8A^`Mle|Yle1KCSCr*x<1|(rYd4ymbNCqd z4VSXm(#|t=95QIx>g<4@aQ1J8iH`DgZYvqU9O*V9T+{FxrqVa?<6d>~{Qs;`aVjUz zuoaArBY4njTjohQ5nU&plIP&eNSYL)L3<&KiCkz~HLVV=hc_yKC0!B6#+RedTwifZ z*3IpXq@;{7mP+V6!{a#lil^`YDe*HSfHUgeG++$#dNb!(T{C*^eyZx*VwB8;@HXKR?8=75PN=TdCp0EG>WTg zzSyTi2vTgfu`Y?V&(ej=xA_MwMfXKMCs;${srT1}&2`+ptx6l1)QHRmm!8c$J0L4P z#u($dfZ)=8UK7JpTLA&ox$z#2KB&NR_l}%)@lLuuqnDyf4KFJ@yJ$p0hF34qF8L3S z4jhHjA;(lB8MaoU9Cz9BA%r~OfsBOQaC~C6Y8X#Bi%#CSB0XW_z}>R5hcg7qExZ)c zNH2I?{cHl6s4%~Sq&uBwx**Bm4%{R-RxAG#qHd7R`>I|t#66Yz#<4y} zEaY3P0Ic<-v>~xVW9_DUtX%)XCW*jj79#omBEs}}<~?=3G!CED$Vj4|Pjy;#dE`Df ze|uUUMc{d+u>K~7_(XF$$ADbuMjEp7?`SS@?JAgcBk=s4# z0G;tTQb6*&c%t;>fhNYY)8|qD<@7#t{-Ydz=gjAZb50fsfK^N!`^hs;?Rxuo0!(ki z^N|{nn%WhwqXOwHhG85A=-fd^gj|0!NrE0TIkBJp1Oiui#K?t`SUr<-m&n$?!|i$G zRa?E0!fc?&XTO4)SITVpWUd8|9U`8JKSjFOD*{zWs|c(~n?Pp7dr zj`TB9;xAA4=XHH@UZ1mwb&(jwc&`nGMs7+&(vzorRbh^E=D(-^P;6#4@PfgmrLD)e zEfquy2RwE7qFdo=+G$o$RQ(sn2|4hl(Whsc!;G)basE=OBFpAA3(Hpf4r;|-fE;aA zkVf6lGS5C60M5w%ycNT8k1mZK-RfhfK-3aSvgC7W$6{D=`&247{OWeJ6@8+XJOf*P ziFDMm#sEsW4LCs|>o1RKKX7mn_=j4Pc%$Rh+T<9FLICo~xT(D?)Eh+n*nZJq;9uLL z-%+&4f|c89rkaa_5PSE(bHrfYvxRzI9?zP%^zsMI!>PZXW8pU zUA&Lf@gz>OuoMiokNV*?K|104?RiWWX>$OJ+uQd7CMx~K@IPA8)3e{HjUM8RWjFI= z)$xHq&<*ngbaNNEFbjnU83W;(%=q?(NvoaUb4@aml~nq}+nr}?Cy*#TaX+iYU@8Wy zwCK`jjd2#{U4l-gK$`d6FrF!vJ2&UqHOE+BNM-x4`^d7hspd)8)&b98PkVrW^i`oq z7v6i$6x8goV#;GxKK1gi^ret3{>tQj^auINt-Yrolp@dJS^)L7sMw+D4!8AjFg8Hy zeUzx>biA(&wSYwhJVK*^QrSK5BGm||g!;Q`Q0STWbKdfSGmsiQst1o0`;}mCS z0{Jg2^Q(acg5bN7dYt1)!4)@A<`<%XrgPb%r;IY|#-uUR!sH_okOiGL(c{X8O>d;- z83#pAw^2B*#4*B8CqxPx|HsGuu;cWd>JyqFlK=CU$@fHAdfFS>aoNZ-vFD{4tbSVD zK0)RzX=>gTx;oNV?wjEFDr{ce$a&`PXh`mJa%5RVWs-coM=|eL&!!idpV6!oLPlLz zq1^`*j33T}1asZE-P_7{Gs^sGYVEZ=Q467WYwgvHL-EAKZEs%Mb~)RayX0Em zY5_ob8A|X(VWYCIED4MqO&b8`X*QDMAgl}ig4B^+`s4G2bC>W5Bz{sw?P-OE%&=AT zy(#Vof0N{TBN2W0yneN?SG_SBiaLX^=+{Y_rffeAzNu&G8JC-iOGc0ab?L|}d{G>n zZNVZOU2Pi@?*RSc|y?C?<*=OWdkCo^})-DITkt<`YtW$$=Sy=Ms81Y z*MD@P=r-E6CtGzRB3j3ulnu4)bl%mE%af&TZ|Ju^75u}2+cP%%zveAOrm5XMK2R`+ zn0oQIg$B;NDisw<0Q(*E`m`B4lK+;6?zhD1_2B5<=!f^h37opLt(gOva_!wMTO=S5 zau@bfSlnl7d}lk5KFOHcpM)$bdsGet>PdU`3%H5-UtWNBUhKquWvglx5^((+c4A(@ zV+Cw?-RItFod-Zk{6cAL&JskZ|3vuQ4Z;tCwid_O7Y zPwjy3s0ruxW_#ZOvyxml(o?R}X+cS0aZ~(0yORfq{AwLbV zX8C7Bfcm!yJ3YVu(=ed18NT0) zgX3V5L_#dtB3LUmPb^^aT|ECX$^sAYEi^lsdM|nF=w+9GHn;f`R-2AY<#mj%gAq%t52~yoO z6%EAR@Fpe3HW`r@ZO#_}foxi@~d^GV@6r3CtpFz;_f7}_g0%(XGrr~Yvw841)dK~LMmgbM_657ai1TGgZL zr#k?&=-PjZx$?E>W5}4^v}UY99>71_7*F{)h?M|z2Q8~+5qfFS%bLNn4f;r{g7)i4 zuBnQkzxH_n5|bXM*M?~s)nV(qu4c)sWKaMOeO&(-w|9ZQPHWj4l?&HzP-soNB=~#0DI^> zOElkX$gpKr0*A!#7aV%Y7KHL(*n*AD7B-wSGvluLV&tqhSDaycK4VY*u9BWIr3FO)OSwX9@i5@!=w{59nQy6ra2n5eMkqwT!+j?k_O|$=WyZNWpkneWh^J{l ziGv7*`YID5aM6Z2x#QO|$~pekaRd;p*Ol!Z)fG7SFR>>;jLNSaeVmz|_@mvY&ha{0 z{ga2Z3S84u4&41r9G+6fu(|(BUMS1pM?D6vcSK*YNKk1O>fmV}Ha^*m=jVvU8Er7D zC3xhX4WfpZ1}78$wJqx^>cqy&t#60g>ZIs_#(YB+3N?5-{CF;W*Is_r!*~oFW@he8 z1h$5eBiH3BA0TQN+IKR4>uUeYrx6_c$y`6^X97Eb8(P5457 zt?Mb$t-EC?6wVgT{FIkQB+gDt^|p;N1H1C-EvIts~ne-h~_vO9k1UJ<(zOKG6p3MFHd@z~O!feb^ioZEsy2sHD zZz|r=&JGRLP0ffvfWQ9)sl~Y71ea7yHp72wy-dOOS^K5gbvZ!8q5H&VS2>o(WzD9S z3Gb7ZyK3VJ(szwel^TK3Int{w2epM$`bIvM)uzQ9Wx0*(@AR|QW(GMrhR zI#IzoA7;^eOda64pSLXXxuU2&9+km0GKa*w!PHfP)dgDZ<|HpXYu=045B zYMqr+&&P%nVtcP$`eWhTvwUXcPhoH;CSIZ2KsBu!YoMF&j4lbuWlP@EZaVPBx7w3L z=?P(sEBj>%OSU{fr}5in_%40wg3K_`+ct`<-TEFKiSF~1rnBieX*Z%Yq6n)~iFB=H|Vh=>Tnv=@=Pb@W0rbaFGNEy9ODrrxJ<I#y!N$!aB69Zo`8K}nwV}G|5LlZVfvfu- zA{1j>B{tb?1%BVTN1>WCI~q#au1<~cjIjM`8rqb4+Om8~OroglTT+g%CJ3GhsF=~?jNNnA2lvhA| z2Of#42A_RhR@mb zv+soqpH{{)(yhW1L!Tx7b@`!qEwu+mATIKn7-P3xXWT(B?b-j}T0)afuPduoi&oq- z)%!C816Yfj!?(P*QNHw$ge(`L+r15Al=ieP)=3McI^r}5&6>}T-IMbKgv0#JZGkNdv=Unou6;I4hMSck~?io*7$C_un z`t!61mr*7M*1}?0OJ+6t_5MOCvN>M0Hkjeb4@Zc&I~8leE=kui^&j7UnL-0Sqm(Gd zf938~mm%D2((o3?O*}lVwJbgw66;48al%Mi;>l9=XCG-h#z+s@CxEzCVVxa7B(d)cL}7!2WE zoM0t*kUNk7pvC5Tr@)3Jwv|J+{#u{s*ofb?VU<)(yERpmva|=VA#+&@>oP52 zf=)rddRFh~os{;jIU7y>GFH%Xx7KR8NPM%5Sa>XtS0f|&bm`c@mfp%Ra}U1ko|QU) zrq?_5WH9kWTfVU5dM{-zY^``UQM+7^lkg2B8!ZR!9-frlD788-se8=#DSP%85{}<8 zB;AHLbymw@>}PN={xsYn{Kti)X2~2x@FjyVszA-{$q<`dh6Q=Xf=TSoO!^vb#Grt2 z3F1(h0XPN5X%iRK0)km4;Ybnb=#+lP{zA&$W7IXT^T4?cFfSG_8j((M(-0+F$|;|% zOlu1Xb_Z6(YK#1>z>X60f1Py$U>QQ{>D4QL~IIl@_kV@{j+FYi>nD zRhRFQbQI{t#o}{I8@?IV^Iis~=F`y?grHIgkp3x!rQ#Z%5upN=HlfNJ9|ZZa#Te$E zin*_}bKhj(UVM~|foT<8*adR?fns&>)c(n^&5d#Z2Z(h8wQ8cH>k;{&)B#;5zQ?lh z$HZzB7@!GzdM!YU*HyIWP=~O%w6v(-yQa)cjL&n+gN5UiJe^%Dm7%*=x_RU3DCQR? z?mzW_`KKP>>K1?&$LM*ywyZQ$O*%8hu#wI!viJ`BBFZs5shvxxU8xo(=@w=xKo1+! z!d+Ky3;LxCW`o{xH!~5h_@sj5=!uU(1)Z_v1}*K_bi9O;Qs{k$U27KGZNI1R?uGXx zZyP~c5~zX8+YE95KQg}*OEA;y?Z=P886lCnfXbyQ>a3iUtTe@jJDmjzmg_N4_Aqvf zvP-VeP?u6m;7LT?oYGYVEWpa}_B^PNS9Y`8^~a{=Y1!C%n!6gwuk(IZQ@WVvP0y}y zW&10q$>*N(auAfKKita$20#bp)86W}=~!F79|0k_vg?)ddtZ{ha1L7>kd8vqCk{9mZQD+k*D!2JOK?_k0I{2A(35YPCZFL2=<%>VrGe~e80&l3Op zW*~Xl|IdKue|O{m5l;5MyYauf@&6H|{{LryG{H^x?Z$146S4E!k++epVp_Oy8|Xxv z@3PZ2?qA+d*qSjrDm`-1CAsooRT!a-Q^?nXv0?r;?FfoM4E+lCI2}d@u;Qkv-*VzO zk8m0LYtA$nMu!ZlYmY1gyIXCc>DZ2&pva%)_1L2u5d)%+mJ`Q}J^A;>+gBxYov$`K zTK!rzLQO3HhMjqy5rjoVW|i5BCOKp(&zB;V*g&v+$(BIJKlfz^5MVy7N){JG-rN0` z__RHpK+8z%Qz)27plt^@(V0l)gIhK8L~-;-czl2QJE!l9+IdFtcp1{Vs?Z{<3&JM8 znm5l**eT!Iqs9HJvhUbR{hQu%=hFovji;@~MRsnyGH>`NUs_sr49ewZx18FXt=ud# zYCD5-dDlUw;`_GH`nJ&dDen4pxYYWPdspQ^s|N;S~nO3b=d*^!T*_~r|D_fg)@!A8Ovapo2o)y?>$s73NVXk(zRG7O1^ zXIvI4E)Kl2OF90faE(M|{#xd1*YKV@@IG;)Bc*{CWBWHG0ue6e>sG)3wcVg>GoEP9 zs`YfAS9YGIg(dAc*7K)pie^@;#?RH@gBP3C4*mz^ASp)#p%;_Wo;{~#UEJv`J5u^{ z9M-e-d7Y{ClC!s&Q8%1nH>G#G8{VtFsXHI9r%fuYkRhD?Apf}D88kz^6}r{E_vki7 z?>R%=G`y*Wj260W(5XdvLznH^iFEnXA_vgkFRf$s#V4$H!f}Yys=loV$W3VNPZmSG z|D_CW$KW1pOv;mD6(yYHz4su3&4q25+0bUk`8DaZ+IDD9tEM*LpZ*j27nmJ)q-d8= z$XON}EAEl2p4G4v5UtgzRPKvDj4L|^ub~H#(H-=JPVLCPmc66A(93IY)&Ogak-y9+ zITj5+YN8ZSTw_lG#=CagBmelfl%s4K9Ydk)V6MyZ(gIms@tq-&T394bv>SS@Vm`1xWqy#dDusa zJuv=~A9&E=dAs5mJ-^PG+g#-(gdRPQ5KlMG23n~OSC*w`kD87yvM-_)W&URMzY@aF zRga^UQ+FqU<#%D5XJ-F9koSQ1IoiBs_+4X4Nh?q!-sq9MPci$&W+y~KNz1?@UkV+U zdtG@2cjrK9&4S~YicA~H>Hup;u0twxPtwcdXJ8$i(pf5*j#!XU{b;Y!5l8(o@7jiA z{~39_c=8gaxJr)Y=~ILH=;!mcUEDW+G>A}GkO^v5RWQ>%VT+7d#n9_aS zQ9kTddQ+}fH{S}UT}S-QSYM`D% z?Qd3U?m5jluG1)QhzyYu2lypOa0ExcUkV_Zo5ns&>WA#sS_@ftvaa{0M0>;|`59b4WRgG5F&>I`eb?7x zclm0rKn{GEwBlE>22~i+@d-(pCU}>L6^PF-P=(@k(T(?nQsVwQ6X&|`KVQB~nkMjP z>JV#iU6P+enX4}H$t%rZ+h`>1ebeWJvH}OQP72;4Y07TB#$DbMXwFJUbZLN^E4+ER z-uuWm@v`oKmJb1N|D`~Avqm$`oHFt%1pmkU3mtPW|A786J95yTbT?r_3ZLe7&y!~N z^wFqQaF9}}UBmZ4<*@$`POyEwbw5rkJPjhgC)J9Fb?;Ki>ktw8JCi|iZ?YSNP6Sj# z^*r|9B-9Sb+7Q3da;2y}V#4qy_A?O%8>C_*_Q%q&TfW}G57mF1+W)9i4_SxKNXj~` zq_OmjzjNd;82@2~0sE_*1=7{avq+w`#@yfLm375qVqyzhM;IABOxAiGg3hzDH9lKttXvDp~Zo9!^f!^~>X~@6* zJ$Zfd{jd&;kd>_gud%MB`SRc=l^kC(EetO*Xo?+wqh$Od+g`<$J=$$`hM`O9(#rY*(&3RC@c}6U)X8Y&W z7EUX!`+4-VLE!l|TAv9`BrB)$F7+oj76&AW@uaw3sne8OVY}-x$LsG<%Ie-(ZxLyc zGb`WQbF|Zz!EJJqu~Ozo!U$Ri8^r+tiO>#az5^1Q%gl=Z&3B-M-p&HIscSsffP-a) z@mlxA9~O4G3zkM*8zPS#GV{eQ*Hfh7y5Bqg!ymZ?_eJgxX$jY$$MJ(KlD6`pSep}V z#g@?b7Ge0Ny3O|VajmEWdc3jIG1;acz9sVR{Nog4_o z*7yplog)LU<($S%*t*O1VYsJwz4LaE5$4W$xph0aDTCrPU#(6nk5AK-OD{_wM_G9X)X$=NS>&*j zyYt$x&aC5<5FwiynK|Mw`D^^rmNe{CT5{3l$?2GAzsTYC7wGYvejS#uLaugD63$mL zYfN`JwxQ+HaegeBZ>|?mcnXX6i?n#;&VBqo1gkwm(Utl!tE`;2!DsfO4%zh)QEnAm z2l4bio`qB_DTP+!*Q^@G{VR3wZwLJ*`UcM~^-oLps7>EOt>bCDQY~Gb z-`(O!Vy7{#O`ZC3+%p$to)E?EQ%^!{IJ?3^NV>r%Rio zo9yaR(YCT|GzW`dqUfIUJpMJWK>M|%)KY-?Awn39Qt4}M9u5Ee7hlqEl#n2C0qyBO zsTmx$sZv2=%a>HyD_Yiih?)oIkz~~0x#fJDG)cAS+$C1$_TR1X1NYRK zQyZIJa~Z2kx>>Kd#~wa&8-6XU(h6{vB>8m+y~^!Dm`XqoQiS=gK5f|l+87{9Lb7@k zWmux2+P#Td8zoY^-wPh64K(E`(BwNEjIh?| zSNtf&!^U=gSRa$a#HfwFm@6c3-Ze3ub~R4RJYnEN!d4!DVZCIRrKY=E=Z>G^DdW`O zUVhx&>Zz%E&^DJ%SC=L+7ri^=cQ6b$uMJgNs9m&0%yON?+C16wbdEIqbN(wN$SC}b=W>^EmDy3x8pkWEGafk6aq3(G=4fJ0Yy-Sa;i& zHLf+#pRKgQZnR2}@ZX zE zE3|7*>NY{D05`UUjXJkCW3s!C*k3O6hPujVFH>WbgQJ#Aonkyg)OA*Z=72im{0=^k zQSu0#bg6U%{3{&#?gtO?BH3{#ZCbis_5(NvDN!lW-5RTmEcDgK1g!UuN27O1c_mNr zqd!Fw^PipW7H4v~^;T3iALh-;M9^hGi59n6^VP~<)at6@nz3*!ef239Rh%}OO|`$K zGw{89lr3^^tjcRD+dBex=_d+2O#^hX>zDOZ7Juc@7#9U*uhM{`UkiUWqF{j&jsI&y zQlW9r^7Hn%;KP+!)u(6KWBhKRnO2s4_nv7=Z(BCx?kCrW9%l|pMFy(&DjY5{H4itYjtBoD@(<_UFc&}^dwm= zWsBOPUtxLIdhXgcMRvr5JexKnpJ&za^i0y-$kxecmHW!tR>z+oAX0jMXQ(IRWDyV$ zbviTr-O`hG`fGKH{oAsp>)ezvw+P|fV16?$41Stv6_Rwi2RHRYn`rmZ*Y}`%2deL` zaT$J6qz?QR7jF2uOT6m}s*3DZ&U}v^oi@XBwNqoe_ez!&eRwz&-|UIFw>?bGWF|mB z@wqGJq22y#O7Rb2x&+jEvn;P=B^|F0=P?Y*)>`{ZApa=WeU|y3AGYT)>|8G3JGhB# zMi(Y?e;rr0n;&6rSWC-pCoj(*>I9dBe}t4pUxKvSiz&u|5sdBjV_DZOL6XuUr6)>i zp08zIn?Fs85id7$$GS%2x~e^3hHN^^iAi1x%c)!Nm@)2+G4)yzy3ec^_x}{5#&PJl zR;i1MOixbgr7r5dv|cQ-aEIHzGjJ|DcDCC#Y`P|EpIzR_j1JuVuFqOWg6fLi%eu57 zRMmU!eX|aby$1Qz}pjAWqx?{r)0e#-f&&0Wp{9(g+jbV zQ=WIpMr6+toRU_~aFTEc+OXdUy;G zPOdI#$&Q4ku2fTJ5Vxa!MsWBx>hDeBqUaDF2txug%6OnPY!kJzBG!Hv+AC(QE2 zJUygsdTa9B)H3m5`s{4Ke<~*-x#7dBsA_HGL0Wes01-CugCuVw`$TiU(3{IJs5fm+ z36FR_;L*?~^~$@LimmZ*k6+7n>&xFEDqmedd8)T=Jil8`q)#!<^{5f#=$sRNWiY~s zTXJw@a7*sb`)4vsZj0g@+riRp+4{n>%PHLlx7pABg^gV(lLEnAhHN8?e1u(o7nhM3 z7QGr3%+R9i7rg}s?f3Xg-L8m(MouA}lBskG2>W4&&5Cmm9!5s__=C;Ad)9`;(Np){ z*4O9?vU#FZ6t&t*@{MvLIPLGvQG@YLGdr1|7cwq+Y)W*~vBgr9@AAUKrsJ(&gV-GN zFX~uP@yXEP(72bBbQd2AGCdDD~&wv?R;R=djTvA>jEm zS;%zKn7b7%&4c}%d4KMt)ZNMP*pgD1c&2;N8vw2KdpBh@vXRhSeSNZAe6&G*g>}iN zg_hW~Yw(g6ze_Y5F0@)#9<}NPlKq@cc01Fg9bd=cyZ%;j*l1YqOOJsEt)6y0w92f2 zOrb3={EYvc2M$_TQgQe@%6<5J6lpy(#w3p(b4q-6TH%EDv32~qhDI9b?V0$@Wi1-Y zzbw9fbAs+=Z`r~yoPoCLkeHW|^weNwA)3rYTf&1AUNKQoA>C@5K3LlHSf*wJKGD1s zgROg7MejylBN!Gs=R(-b#^Z!B3co=&5sx0Glr&tmVIfbSLgT>s96Aq)FGe(6a1itg zrfK8EaEbh8l%9E{<3l{b>tx9AB+?jXfQ~+0i&183QxnFi;t~lz)6$}A?I`}!P6iM2{D5wJcI^dUEWq&ll%TmG&wm7x82l@cq@1p;ZcKLnA2{}b zM>{Lo{@;Nwi0P5y^?U6gB(z;}wOXzGjg@waOC?iGWMG+)o`{{>dyt`llGCfnVgaKv zt0r%RR`S2IaNjD;iwQru zegLjd@7E7m9Kup5$$5)wx{8YjQs$ou%V}ekHtYyQhrWYmhPx5+9XzmKXoqD=M#fJc zd8MtImB~;ZVSnUv=s}DReU*3C(mnM!)E^=rVF{7D2_rZU*jUSN?kd>bZTldT=8JAi z7$MK@`XXB3*)|@01|A7KcOy0>0q*6$Txde-XLm`WQa+A_^ihf5^s?QSg$H|ELyCG_ z*U6z4?s0L@j7uM(t0319{GZI4Uz2H4+YUb+Iz$TAspE}l_;a_@@m-%jlI#Tt-j<U|Oz1OqG_LTBzgZh zF6$#~o{G@%s~fwjjU@h($zs|I`r~+a9AY*O_i!JLs5^M5d2j441VH^k-39O4cIhH! zQ~BHF^z|yAqczTFKZqpA32{bl7y_Jwqi#yPSzG%zwKn4L_poNmL;V$znnjm+dBL;; zRcAqk_fYeOJVgzKrA=4P7#Z&D1y+1OkF6))DZ=J%SUHeB3*CXvpa@BfwCKorF;h6wNEO*CU)>nn! zKWOZ~AMSb1(*Qxo<%&&2NP9R0f zQ;b3ZU}sO4zl!P%)-pN2y-|2AHuypKbzE)T1PSdMBeDAV-p>l+1=n4m-7^OG!b^2` zi@%;{pZk1{@d5NrZSRMqZ#Pow&cV;p>5{QiWbU8L?NxU*7qWtcfzw9(wx3i46lmMVcm@U8?G&Z3_0B+>k17z@yIecNC z)0V@NuAFXJPei}ydEo&Ez9|tD{g%R#gfS6=+DZqTB_1zBu&qEvZi9{2rdk}VTQ-g3 zBsuwn-~*ncT7Kg!jTrAeD~SBO>w{-YDYgocKu_i2DQIw?78w8Roi5 z7}Nw8Cm&*ogOzBD+t@v`;-_LB|mAC4IO4tM|?`MG<( z5+AbgYeZo)O;uEMd?4LB;YI2X4~C<$ePzgyVZ3&X@LyhS@+tozG$~R*&rr{_tvvuB z7}P~~NBzr_IxmbH@yn4x+d%+gk;mJ4 zozK#Dz+c`K6-x23*g>26mW#U{^CpW(U8h?zbibJSO-~MFfpued(j;%xa1zsjz{C)U ztv1=g z{JB+FwZE}|;;A;5Dv$+8rWmnM9Q(RpoMqH|22!xMELE?tVqdeO!35KHhsi8%cn#QbF+1h*83JbJ#^L$((ekqsrH{LiQv7wer7$G znB&`(7=Z669-o3t_8$-^g$`vbk^zQjfDS?wKSZX5ZwO4<~XV(E7xuWrm`uM}q`3 zVgLbf!avyH%$V^BZC{aPNyprz>CJnc+_^}!zLS7P^%|!Q&Ta%GrY_oqRn&t9Is0LL zy8@hXowj-&^ftE*yTC-2xZMht<`bsUQfXh>YJDTY3&MEJS&uGIo;1zp7zXerC;Vy) zf1AXU7uuA(dJS6 zYCHX47S5$;S5?cVX*3#_RGPnwBZ~9pa;sQ0ZElD*R(>K?z~nYjy$;IaXz+8tgkJ6I zCVg;KLA&a$2S|nZ<@>FBfm{v4(5pCZcGgI5?`To}=+k9$hc4g;NDU0{K8S);rTD|F z$%?%xr%sM;^uAk!UKn4KoATj7bx&4Ey!(4@r|R*?5t#U!=meZ5ri&@H)A%^%&?;@I zHoQQRQy4K}G+ZVuHgb*9TM{jLY@AJN3#6JG!`gO_@uDslaHuB0wayBtkkwA<%Y!ay zkdv9L3W5c~-ki2|xglTj2#y&5xVT5P<1$DI%Ff& z42}%=AV2|Q`UZI7-T1roJKoVtg%-Up$HtwIEXT` zIN*O*&12KbQ9$tZQe{vkdARJ}86tu{poY@`SamrT(%8&a=fH9<#UY3e0JMLwM z=?&xFSMFY}ZccU1(zjS|jk_Sn*GsKgqlt;c_FB~f{LUZ8=IoT4Ot_UYn!j$q&j>@- z=yk>7;xp25_OfdbB0QYv58E|4m7YDYKOCR@It<+~M7=}&fz2y-4V)SDogRAgMAw+a zXj)snBSNLV&BMvhr;_>8*Ve4BllL*Ua6EoAjNO3Zj2R?)eKE62Z+0u*jHM=Q$m^~# zG2&>u(1rG*r07Y0&`3Dk!OLR9tD#GRMAU7hiak^bv;U`fT2Hga*FDU|d z3t3@hcL(FEKe0X@t+nXj#cv7>C%)#Hdy4;Rb(f%r7r6`hZiLRqE-|jKj%&#s00wB~Vr(KL zw##`xPQ(KU5Le={4$uz`^QRppCrH@^q4X1QGtIc*p6_L`%gRJGs*IWQNqOkGB3BlB zo7i|Uitdfup*@9Xk%FE+StWDvp5h0tiTUpe3i2*g$#PHWCU#MsQ3(LR0i;~cQ|r9N zFu1Tt0sws8-5P^079B!ipK#bTij(3;(jAJ1le&|AZ*U-fa>WU0;}Be@&Y~I-rA<}8 zymZHd1PB_qZayLwLcr}Szq)7%Wj!@D)pvEOIz+d|(qwT)cP>mtw0&?2&LwE=o6kGd zRVUy#&KPlgNAsI2xoog{dI;s+Jh6Mc&3(H$N}#Uj08J7oMD$4e3y97m=suw7VcSkQ z<(nAY9^*6*4W|PuQ@k$ljpm7jdB`3dwBlSp(Rh%u_wQ}BJK7J@pYg@*WABa`Zj#=3%lwkDpr|AtK z^oq(m(D6sdwrCYsn?5zbZ@QC!4t$Tg4^I)QNH5s5GMkDP9vd3GcO=bd+nQQfmQ ze*3K-<#T=Oep6fR59w2dJ6t=9{Z=ab`3!ASkNF4fdkT_qgT3vUkcc!)PWXm|M{~2H zPTDx$Nncb#6_R2>gbupDp(W$qKDG!2Fz%J5);ythFUUb$hyj&1(cZs9x<~eO7~A)f zvKN$0{B=^sTBk@yW6<@bE3CCtxK(OIq&X9`UEuk8@e~)<)Y`PGmE*ikoS1le+4=IA zF_Y63C*nfoL`N`-w1I6X(uIg^9UHUEiA)g<6O*n=oOJ#4fG>q%#QMW{BKv$s`3X0Z zwEQHyMw6=>4GeJBk;=!>f@!Wv#R%xZ9-?7h{3%^9sUJ|2sWcx<=QF;`F0EyaUUdk; zwt?v)sv`7W%VlXw834m02mmOg#eeou*J1%z8AGMkp|{LCH29MH*2F%WVcH5}LorX^5MlWUYa_ zrFjK&3|&-<8CbC)ksKc1Vx$g6kHDy0 zSxp|@X@?uqkV2o3Z`QWy84U5M<+m}>r1ZOduR1HvRayIgi;@5x{@m>kEuL@7Fz=CX zOOn*`8Ek+7V&|hCa!^=BJA7wec^beTf@)b#iTvVPPe zY7DR&>Y_0kvxlkr(!B&%Ki=2yuE!-^MN%me!`Zauld=QF@kXxpE7YCY9Dw}abq9Ga zH?=%j^dqvsklye+QK$%PH@^WtCrI1;XaLCxj|LI+ql56H(+Z}}^j?S)iaSOijeXTbve8nlv; z-LjT0-XHJ@#R)iT27O|+q zE9DfhVZo99(7J)Ec%GGV#?j;1pqYNo4G23fBKIpNg}!@)Pn!t@;eiJj-?M3E3N0K6 zFhI#wcqsW((P0Eo&*(N;%*u`ndSqT1SBk_xUCedr0|)aBDKF!u1lghUJcnL0wV6Yq zeU?ByK=lXsVtf78U_(c?2yHC&h(6qh8{6dwZOW$TPiNov!^5 z4ZoL5gu$#Obo+!Vuu>#sL!u^9-KHU@9093HFGd=jBQbXS#$5*R7_=Lsql@5yHVR29 zUb|}Rg9m(bMD@{8D3+H+(6;kzU5U;*F)O>#k>=z;8k|iU0k?sXM9-kYrKrYMfIt;b z<3N|aFh{mlr(cp2p5fx!;a^foViGd&_uccj>=Yk>Up4TxdO)s2SIfbGWQ*Kf@!;*{pBmvuyJ|4tZ_qYUV4@Sk3=ChJC@Gm6+J&T3;nTLtLcRfIR4$ zkP$lpFJV&9V6Z(AiHjO233!@F4Z^*{@NeYj5>xwu=B8VN zD@wfwDjImse2EXf4e8#9VOHvSF&jg<$q5DuBYYZaJB<))q1U3sav>B7lZfr7gK_jr zI3EiH?(-9ywm@79`pRSC2k!l$lZ9~%W%`&ypdU@>#7)Si<3)Gl81@7pA0p6-?wXdS z{09rr=fxf}y8j&v@Ky~&vk|MG?Fw;D|DNY;yW6xWorn`nXGjbHfXoJ#P!!Uvcj{Na zFcE2I(Z1&6Xg}?+!_1Xo(zpX*%J>Wk;T`8f!46 zEWK@Ot>_-#=058-_hc?b`eriKv>n+D6}3tO7_krF|b5?Q?b?{D}xGW-ql&wQP`hKW`@2^VM;BInAHb!%ngM z$UDVvD&%II>?EY65ix?eYU!8}CLyV<|5D)5+6t+*j7QhheSv6`oH_}wO{-O+7@R^I zJlWgrTW+;JFTd-n3fyoKeXXx=>Q#m{UYPo>)x4p<4vPv9c*2(}W&_kX4o!_H5{B*X zNs?gLh4Nu_9!U2gQ!ub>yPS*g72%~=3Q55&ElUvFQBar^UIl_IoY?Y?t0+p2+kpcZ z07(td)GG=Cpt}6Ahjkvbb}NIl9X8$DJV|xVU#8Mn(2`F^^0g%rDD{5%5RWi11-T+4 znYQb@zQ9|L2^ZV*Hn8)32Fg(G_xkt1v2t8Ez?a2xoQT(!X{m+k0RL1d$Tu5yXY1=% zk{pC_kB=2J;3CV@1{2rc1>m38*7D7|@-w_k)xS_zZKY0^o7V$VUx4`=uF#*!>>hSz z>C9c*;W=1P0Co3n^M;2+fQx9ljWkDxCjbyQeO;3GPMdko#{102wrzKe2G~Y=F5cXa z5^rO5SUrOR#5S)-xcdk9cw729;p!oX7=%oeo*Y;IVTowpM0R0W_;~+yjzX(bP_BOa z)S~K9!>^5+yp#>nb5B9MXXk29|D1W(B`Lm}_}Q-=XrwGog;ywL@y~LpUdS5)>Oo|~ zclW3VqOuccj8eR=Qc$p4v4UrwrXlQPvUqO)87{K+TsenVU6X1`CLMqI?3-{wr*gHe znT3r__d5H{aNT8(%#f=1x!@=Ac~eyRZH}Vq9yp+a=bUA-+WPs?Z~4}GRfe7J-i8`T zA$`8>53P^yG(rQKGj=7Cf@Z(@7l1Dz_7KpONg?=}=^c6VxG*~O)l0!$gsmSyg8T5p z0R-Bb`)5XV#br-+O0=33lB4eWq;8C=hscVh5&{XQt_l5U{jJ%ZF%G?_)fxHLZ=}Ki zfCqx1mvD=7e&v1gC^@K?Zx#}&uwB+wU5xrDF}LW(!3E=AVZ%RfyFXvM#b_aRIJRmCuXwX<143iF3Tl_wv@cX5cVg`^ zvzLT`+#8`M6AxO&-?Dpvjse%rto%QclNMYztf(--Y8huN+;;lN$I3f{%L^OqS+_x< zX7oMOS4L`hEJLL05=wl_w(G{W@9PZu{ zYH^A^J;%H0zvL(?&o>@*^JnFXU+3wqlY5D4wLEOKVl*8vp3);(&%XYM)h5j8#L=0} zxLO@1>{i!y-6bZL$ZJq9>|D$rE$%$%u%WcARV@3W(=?&`fVh#PzH$dCKto?;+q&@Q z4{egcB0C}|D=#Ma=srx=Q`SW@vw;FRa)eTtakDH zycqQ0%;jLr#+O}eYr&)>OD#t4KDayPDMYkpof56B+B_mhXT_(?H@NC@64amSGjVFf z10jDD#7I@Q_Rb5&6t?z0eF#LZk$E;)JLVh_N#Tkfw&hF7I!c<+=;LuuWShgf6j}dr zftUM&R>-hfs-YNtr<(`|H~ltpWSKI2dYu3s)}XAhG_S3MYTLM#e%u@C>^&|QZu|^? zzhL97(c@%jB&DgTNttjUNroQAkx4!qO>hy;YxH1+@}fg_k*ar#Kz8%S6G>+0Fa0Xz zIgvz(ydyKd>5;p{sEXl=xSfu}z}rk0tQaexTvAbTdQ{rG=!1vjYwjGpn2s&pHN&E9 zy%bbU>WQaRAXkjV&dU)daf9$BiPl=}2!5?@!E!6$``NQ+!*P?^stSw>wpYO{WPHI~n3()Q*}JZzZXHJc&?tq!IKpm-P8>=SyK79yx*?AB0)H=f}#GP@;SSB>mm+G2=+a;p~tAl zaG1Uy{u&@em-t%zeR(AmqarI!5CSleeDCx5G>b(Si<$I;RZVl@S%{b~RTDVWB&b+o zaeN*Xy^N!!Uzl)rU5Wg-!OF=`{`B(4!_6TS7_`RBZ>4KDK^s&?NF1A8Nu##VU{>I2 zW0lE|xUHp?nx5_2*2MeajSop;U$tW;)7e$U)1^n_M7b$ViHA^od?=Y1G)wGXu;^TJ zJ2zpTxxMGJ*2ZR_Q6t-pqM}_}ooE_yx@uDvSdL-HTdmNm(OkZ@ReHZ( ziNNp|AVv)twlFpSj`-$D*?-Ic3;COO;6db-RB%bY(~KV#5#)X$j=qEn;E;v(TCGYV z|E|!_5w(i|W&8~iyq7SMv2O4azYzcn34Yy*Zr7DvSM@r0*v565kI@WAvbE_%H>IAH zBUF8r+eZ!VFYtE1T>ow|Y$0uS_gerT*Z;n2Q8s4rO_~C9Xu2PIv$OPL?MR9D0oCrM z8ZCtq;TtOKLvCao@4uV!<1bs>wmn36;Mt^8)5i&<|I4U+0n$ptg#mKjve1&B^w{#*Dbz)`LFszf$9%S)j@(9 zN)NsXI$`ks)MrRNlh5w42Vy0{*la_9mbBmXDjFLZNdJ^O9MoCqehN=VM@5yCV;AKT z4M{z0G4t>RcEAA5&2*g@tcgJOEkE2oOVZ2w>NvaU5n-be?>{;U842V<1^0hCgIl)I zJJHBJ&nAmyM?_-Hi8FS6P0H;oZguns8Gv`rS~^X7MrWiTyAsfM9p?lw-L2%UJS=Zg zKQz{q<4CzJ|d3({5N1AZk}5RED+r%K7lMcP1nl1$u;t zd!6k(u*?Cc%?9)Y2J}MCw=J?p<=(x8uIK)$djh##Nl`8)@wsks7FwZbM+Lze01PDss?G)$Uft8t3yfg2l|?u z?d#-|()dmr47NTAV!{{8yCqzyndpZ9sO$hE_@vv<8j2b&o*SFXl0uH5P&#By)kTVi zoWmNmBIZe)DF)x>`~Qouw`{Ak$=0=R2<`!bTX1&|?(XhRaCZ+7f(Lg9?(Xgm!QI{6 z{hd$u>b?5IyN~??CX=dJHEPItjZtTFE6*>ty`KM`nIa%|@YGh{m&m}aVZuE#VxPZR z)Gv@nZn{h0til(VL88ff7m!Kt6W5##`Lx{i{m)5?j^mS)wr}HjWO}c<9`gIDf&Hc? z_tw;n=z;40Y;s=`9B9Kdwtc47Ewq-N97CMFzta82tA{xvrl*Qy_Wj(K>xz7Sz4a-p zI#J_t4?0{ykMf%(HcGMN=VqCx5x=Th^6)}4q+!}t2iKdf#G{UJWKir?bIr3@L;nZ{ z@QrIN)H?N$9E?ts{?E!m^UhU33lDf?T;ysJEZ{={1G1J@N?1|H-<9+%5|lSG6xbK8 zluI7H>*IfPidDft>X(6alE#YKf{TxfRn?Me7s}zqYC7*&AAnt)uG${T$H090O$o;Y z_@jkQzm{d(!aP~+{_px={(%8ddyJ2)Q&zbwnNY+fd}n6MmiPL}o*<1>?4`lsF#4*A z6?e%UW=Rn4t<#?+gsxHKa1aJ6`hVxPG+t+&@crKP2{(=&9UurAbVG0*B%-BK@m4LW+*gfs(TI%1UtQi3ND2t_ zH^=i6>G)v{=zUY;Q-VSbg|(&Fl}ClxcJHQktX=K7A~*0eV5Dni$5O*UHK1UUA*G?F zR?k!}9lb_+qGGIByBaWV|7M`&=>7l({84i1+a^M>77SjPNN6uliJ97%Uu_jc8Qy(z z^f1iyGn3}!$^(zy8;}q5gR;nFmhmje_iIz!@|l|E+F$LK1Wsip!mm6v!wT+CeJ$Q~?l4veD$$rMCPqK+rUC!o5~F`NyWNW)~ZaVXEfMDU|&W zQbAHWYC5X;&|=JLNXQQkp5~aG!bmvUGM~)1u+PzF-Cc{XseXiUyELo|o_D53$4*g4 zzaT^L{as}od2eD^E-+yH2uY6`lD@*%> za%udNUy?O@i&0!PTR=y|-IGVHsZYz{8^oof(Un#+lrbl972o8tMUoETnU}`zPr&1{ zg!WA>+08&~czVWeLrlKNoT-Wm0;oi0#n4I!^JN1$(nr2*t^DzcuCm|ZZ!G9J4x5ch zd&7w0GMXEAm>cIEv~f8BPvDhWCU2n$5+TAucwVq(D0iyNaH3M*p#Pf@Pj-AOMli0v%&9~9{js2eVF z4@WEJ;9e)6?znqz3-~2scRT!yhi8`!>_rY_Nik!CJLX@GPwob=ClT9I>nqAM#c3dH z4}KIk9trIPB5&R77M-`HJu6DZ&D+ddebeK96HF&{_z)kY>CK<#KfG{zK6PVYyVp$r zCWy+IqJrnXrsL|8$w|HVIom{ z?)F=HS1WF$uGs;STx`?BMEChY7dJPj)i>2DluQrd_5#z}a&b>9&!zkG4dl7q*k*P0 zm1}Q0vs_#6W^u3V>WQ|d(4&F%C7W>h5(DGm>(i^vNyfX0=a2mJ;*e(^c;7F`*gCjV z9L^I>uUQhY2%a36;w$ubWl914RQUPi&7Z2~Ss03`Zp2KuG0VgLgg>eM_kq^|VvWb50SiHe?wx^)q z_2DaGI6l1cD$k|!uvsw;JNCEa6uwRXPQ}F$0V2ogPHJGP^+VJuoJ)a?^V&zSh&CXh zAzBuPdhfai^$7Ny0zFKcM&5}Q9p+2_^{hDlPtsr3+dhVRyq4HeU&kyZzcd#Qw*{Z} z21@Tz()2!jYYq#`0oQy#nr2RTemVa@8e?<@TRMLv8KY6g zBx}*--Nz#wCnS`7r~cD(axnC4a3O>upyZI>A^<^zPSfG{n3I&b(qF%j6Nv4&wiV{P z_W+%rR8j1>$VQfkLFt%_XsqNR=qo7L5%Ju7(b#a_sD~<`x1bUR26I!FlmO&Clp9{^ zez#T?YQ^7hw@^l)^R23+?X*Dl3#;U5y6yec*56iRt?!3cOyyk@)q#ZRsr10XML1xm z-9`$4s60^eP-WSr{Ks_Ui|NXy*sX%5gP@8syxovh;s<>tt+rPW2V~yORopLTpH3H- zw!2sWnEqLP6zU~x9OncT%3mH!to`){4xShj=ORLwnU(j>{(Il;$R*-kwO_@A0ixK- zo+l5QP(Sw18Z6wCPn}xJ1h#C8ZKPcsXKx4n!0#k^Sh1EYxuBnK=JAfpSG>}5^5mY> zazFXH7{NjgH;dYLyM@XgIIzoXQ8!Bq8g7gLl>J8btWW-%BRl(1-vu|!kF3+yzk&(a zS4h%;0omJ@K8JT!0X256JH0j4@v8D)y?jLnpPV5+rmpp0Mrt%M>E9pGgRiO_uXlygZELJQY5(6v(HG0z1R+1gSeM~U?a(W)Vdm}RaRS@&{86R{|*52OMxQ~F(1b~jyo`QZ&RQXwCD8M?#mMdJsPDngf< zJH{aF5N7vjD}PVK2mt`Hytu!#2uwFbCeGGd<$-2RqMAzDKF;{acuf=~!hs36RNx)Eu;jtv4DxM5Gr>excYCL%R+c=S zhm4!79;lSbRfqtqqTyMUQKSxGnyNhqDSAgzF!fW)R8-e*V~@uGA0M6PJ2LPKInXD& zg)C7YWj;y4SB${YbkQKU18KSZLOAY;wE1)YelWFQp7Af&mU!Or5`EGCf`p}r_j+uS zzD+Y@22=bD{#3QVa``*e-GWpQ6^-;6eDQ$NAZ#_B@jXbi%{;XzMQ&U;txR%j0I!nd zsB743=0^e_OLVw%Wi#vzmQXU~Z{2XeSRk46p^_O4%RvOf`e%cBt2kYMHA#XNsu;Z$ zv)xzi%LCM5Ta}>v11aH!U(xqpGQ&kATm7v=HnVnepLR%w_2E?9-|%4hw_)j>-*j(g zHpk`(00F_);Ew$a89zE5rhv`W6I0OkpR%}GWROQ|E5mAJ>B4^b#YoF6^JOo%z|JQk zQI~k~=ZKM}b83x_cI8adb2K5OLtWeU$^SQAsz7Ux@#2@))L6;N(jg4gKI|~@qD(Be=jMwy?9+Lg6c}vo%vr7V_F$wDC z+a?r%;+=@*hmwWJ_p+AdnK(IC#Q8pA$<^19MGeylzjNj8Vg0~h)zN7^7@htg%P^z%wB6%Ge=t?TE7HP)8n<<4mqhneq zz`8mW31j>(lF}kapCWz2<#IsH|3&xmYAWJu-Yz&DruR zfHOY;@NU!dpv#n%6LGgB*l8H7w{;UNa?FT!cC*N3T6TB1W6}BAI3TePzwl7ANnB9=t2|Jw59fXH>=|N1FQjxeI%yDz0Nl5YhO;yrg>0Xtr{7t_Nlff<$IwQ5aKKI&1#CsQ(wNIDAwkvKq@!(*mRoi%j zpVF*#^`1AiZzk`_6;rO(Hkf2(`t8JGl{d->+k5Q358Z;&0}{LacR#fwAvIi0diga7 zqh-AWiHI(BqcI2bG~|ZchwopVClboKd0)_4^85 zk*|3&7XR%d`w27jBE#c$f$G53AAL9sE@Aluf9iMM+fPwiQn-n4$8#SP&01I_93@DW zg;JG+gb=jqYAR}#om#s7{dn+(b4{;z6HRo{A6T0bX}n(!3QM+ zB=pKk+E28LqlLF!~cY!pDq3aW{O+<7nrHEoFV5S9BJ~L zPYC$y)X|=*rn~RZmRjP4seN+TJKgK%a5XN(zk#Lf@YZg4yI0xF%a@A|QnSmo+kAtl_30fI&Tyr7h?t z=8o-B^s4s!qe@+c2L_lLt)6_{tW(IFQjc<>-2}-ru26{3!2S8Jll2uG>02fcq><(- zQDakjmbd_DUZ;yLeQejOzrs0DA392y*ypOG~p;1KdP*z$KNIxYnoi@Tl~ttwV}d6s6j6iHti;9Yk6vmpx9SNAtGu=z_Xu38_WB0 zWe8hqhKS4DAYJeQ{)f!fjkb@?;mZX}ybrgLaP})!FWcm70ycPX z5}xl2&0DwO-23vM4v%Z&Mcb@Zn#$JW1^iFBVg<|?pQu>7N)Qucf2ne0C7`o|h`uhc z&9r+8w-Sq(*uqy+36Y97Mtwf(W3%d88!1spyor|qUngsCVlbeT^*qk_yu7vA4F>%EZhvt)dG?t?VmFv<_c_OFkZCDDB(#}*EByX1 zQ=>q|kor*f(W-+SGV5co6B^s_s0ZJmow4ymIc^qc9<)-{&U@tjg5H*71d*iULVL}L zo~9#fL~2Xe5kb;OA63uI$DB4=iK$hA9giTW>I#u0Zi}l2Ir_~jGDFmZD`;X_bLFMf z$#!6wgRdfn-0o}S-|LgHV%;D5-WR&rp&t6hG$OQK@f}Y}i%3do7xp&Lc;iVUu2eOG zaN1XNHYz3W`=B>Jtl{g7fP)^=smH!}3oiNV3xW`7py(kOu;nu|GtVNfg7q^K5j`|m z;Bg(%8B3-e-fYHASpK}IhvE1t+rwzobL00eyMX?TVwYMY?Mw13G_xZhA~mV>DT~76 zAW~V`*e1bIYwpKw$2p!>G*{WCqtC9#@0-TZ;f24kEss9d8tg78OlP`7{z-!#{0Mn; zCNLLi^s@cPP&2Epdf^tHr)KR+sd0vTkZ7WI5Du}?LGi`EMO1#FF-snMVl3)iijIES;)r{wg>;30>@rU#~&R>0|$1CY$NM4xl^q|5&4Kn>|@KI>0HjM^mqg{}BG5Te?jpxW>F5xO*6czB^SzzC3=C3(?!3e zqgr%ydQriE2e;7HeMwVT&f|v`Xc^38AZ!zAB|vN%{ki_S^0d_%#cW+TiLtvX^&#_U8+G4yUUsU>q4L$W7Ogo4gcObT=0f&|T`glAjOH$Hl)tCx zq-1!THPCiEDk1@w4%XIe)DZeLHoO;E@1)K4`8?it=t=9WpuI{Y=gbV34Gc9fH_F}~ znG7<$MXk43zmJQ8);`WYS{gPdc_5I}gqi?#PVL-#mygUqnmf!{ySCn4?}ZKTSAYTX zZkpNVEaf~#XvA)QCsL0Ch7tu|3@|7aU_z=3O> z{It5hw#w32ddSK*EZ8Rc$jFc*`5S;y zxB32joHy6ygdy8|_Nsh;GrKLcBaP`t%aGP)3Xx)6X4&fGPZi@(U0y6f3@Jb&`t}8% z3`7?*YkSaRr@+919KM;Hi$7hhf$p&10rgX3fj9CFrDb= z;QTv}S*0;-bL(`>d|ru?LkTGHvpo=xyuh(qcofipRoKR;li2rv$B?!6R@Zm9y*s6Z z$p7)GR&OH=5YyZzSQQD?(kx;#PGB;GFV}^q&F@`YoPP-$W7%u#4Om*QST8A_oDgGs zTGdS)Ps|;L8@E&zDT3&WA5IKsUPNQvLEGDoBSnw4neTG-GRevc#_2WfY0tr0%0iU< zaboL;7sseCIj}xzE_KqxpMl>i=Z{j%{+HepeGJstx0$Vv!=@I zI0o=ml5n@`(jdUYrXYB6zuj)%6@6JsEj+ANHNHr|6&&Q8X5$iEP$J3>qG9NiGk^hI zYbVb6*TgHCUNgv>ZeB+uhv2#y=@HmiwfvZ)P}o~0Mjiq2&%$$0Rl-!T9}uPUiLikG zD;DQB?uy6`_B6MxZ;(J&)Y`C_We95<>UW2SzVc)65sYLRml@V;5X@?@!T!i>sfIyr zhL$O55TRpq7GUU!*=pa;YX%nVozbBH07B2LNRmcb(&n{0V@m-Dn-BnsmtdB;@zV7s zMS`tKAOy+~17eh0a3Wy7lq)lqByn>(?$*@ssbefjl6@$#E+D0&I+}=cVVNk>f~!zU zxhF^3P-8jDewBmP7hKRZoc+E$Dt-IBLJACkz(mMBVSO_x@lcBzk!wt!h9|-10)9Xi zT|Q%P`>dI!!}9K6N~xS7AFMkk1)1^w+9uBnwPH{g*_KhsS1s5;2fc90F_??X>w!jd zOA<4Fa&2Lfv|d)xP}V%Uxy^8(p$F@2sG5Xv4P)PbM%xCPt4zs;uo1v9|J=(!yI*|C=`@f#wNEEd$fsDl}G!1?-JB2S$omGR5c}7 z<2;VY78~&S>1${469VAxH_#^b;(m5VtC$;pe$~Wex&pb#rc28}pZ_tFA}pFGYff2j zl>Sz!2=&Hs)nDRU4d;DCAXf6WK4P z_ywGN0NB*k3SSMbVRIH8{%k-c{CCD%IN;e@;SaJtc$TY&GsZUtjXyI8pNlhJJv{p|E;(|2sP3?XQj^{qF z7f39S>DC~=!QSp9VE;pcZ&n@~-&w=rn_?A=bgOM~F%v{PaONpLo`M?hjK#K9Upi*< zoK40L+k;1p(iP|O)l|OrP<_k+A9o&lc|Y&ceUTI7s^7$ciYGyQDYNw=s*d1M(4S^v z>Pzp}92g#I#}#4wrB91OeS7HFStMseNxw9#cPgk;wRIs6>Yh8{kV?-!l8 zghhU%15L7(5U*b}(0*jhzfNb&{Dp?BiWozL3*PKaPt_ z*Y))_VMY}%<_Xl!)@Yy5slN+V6<$e0=8?21YQoP{!n3s;y1eo6zP2EWYD+hvA4wrW z+dqg4%9WcPt7?}V_i2BZ`Y^M-wJyE3dOYjbMt!`4tSIxkQ@z&b#x=YL0w03?oekHn zId2Q|Kx@fXrq)MTKqPimgx?TSd&P!Z2NYPCts=EZe8CASV`x>%V#(-|JS?Jh9u4<1 z+Xa5jf->CZBmaL?>ULmABKzz=YOA^BoVrwM6)KX6cy{QI_wpJSv>5dp9(uc7<3_7*uLlh@p6a_U;vf5y z8}7RaC5L2QPL~&Z{d>=_-Cty#$@gW{-y&h9m?u1M_XPcJBbUpIf;Jz1l42&Vtr-ac0TKcr6h}m?{Uv7cG4a1Er+)YqJ^FG^b4=T3tZOWV>d=qGi6U-YNdgHbG_oS5J+(R zFrd6xskyHb8ewF*oh8hM0@Mb3Y28PW+FaCjSnOe(caox4F+Wc)Xo|g*0lCC>5v*Si z^*W2hEUbKnV%o4!Y#go=e7*^VER@v+q+7&JGna~<@?jiw(tg1|B^6yCGg!lv3U*9j zs6R=qgs-E~L~m^F=sI^0qR6G_jgMfSKgXS2-9Yp=~bw`l+}A4v#R)LbAB97w&(rb7%o1V520nj_a2S`ZJ#Nti-D6~bSedgS04 zh8Z0hK2W~we}ig}=D?lYR9^0Cz=a0&I1nvHl7*9AIeU7W1rU&#JCsNg6^s~7Vtc=) z*gjp!6W{?c5Fi6f`#Iwb3%7~dsq@^*rb*$we7@;x#Tny=)vu=j4?*2_JOMrRiMn-! z@Pex2j;RXxU{o0*l=S$-*}G0G_zQN*c#CscdF(sP4n+xhI0$f=>x7!@6`s4Q4gnZ| zK-x+4M02 z%x0MCGue7@OD1Nb`5D{V&l57#67d7)pI)+%Rpy;u9q;OPw@DXX?-g0s-HDPbm)0E1 zp`yJ{_bC7Xs4bg%ve|3uUMIk;AiKMQ$CgeMoPQ6Kqx!36>34icNKh*y8&zLLiBg5Z z3?=CB5ME6#X>ZjV4lgGW_P3tDnr8-+Y*uP|hu7>4a_8l+yL;jJ7}^RTsO`ux4&b@; zkU9z3l9vXI_Qr=fjCGT!6Rve+h`L0YnMGwM;73io9FPD|X}!3uU&^Ve-*%io^_+pi zgN)6>xoSZ#uQoIgG6-@5xjhBvtypQhrBtnW!f(YIE&k|vYzD0}UJRa^;+k|Uj$gui zp|#rNc;4b=;X&h`^_%ZrHS1t&(D6BQz)CBtO`XkXU>qGL6!PrM5>0w2I+B1(YH+59 zq^$Q|EE?_QXfl$^NfJ~mCeqSqrYyl*WAvlL|S|0 zrlammuJPO(N4buaxrEi8_&xZFv!*hjFVwxXw;d#UqbGPo_N-=#*Nrps}Z>x)15G^<6S8yfaHIep8&oeaPNEu3aj{kwHz3-h0Kuh=oPS(pCororl?`@7cNU%za{6o zPoo0$xFC59exe3yo39w;)8;V-@jQ@`77jDb{1O7yCThX%`Wcl1XM%X{diD* ztt42{lA-lVMeLNqS_o{2?2bouP~;?$#3K@-=Dmprm3JTjk^E<`xN1qUGCxk=P0lE; z5^~91X6_PNiz?x3_XBT3BbQ@@IDUbi-@C{EI1C;H5^~fRbd&NGq-~^RWC@Y(Ves=U zMp@M?Q|9bLrBfL`tF=O&;|%;F}>ntv0!h@gA<7c2>AFL;SNi zL+h3Y{p{M8rT2agYlTd3ataBK#X70CO{Z2wDWqYg<)REP99{fx-pyy3_MUq7hVi{U zP~Mc(U$IBTzQ(IPB*(WrG3|V+y+Ql^Eir1pZG-MAT5%~W+%(WRsxXd45aJ)usDqgK zg0GZZE{Ieg3I)QRi$kFQEuYY}&+T5qGgURJM0|;3!=YLiX9=hwDJSJX?t=G!af9{0 z4bPypNg|1X=@JEhbbAA!TX8!M)2TUk#XGH?M|1rO4geU8KiHM}A$>9#H1I#Mg-D-R&S1{a!O0Rr~t>fd%~FtsNTX1RrlT9VA zHpgpN@9awg4lH^wwZ{xJbFxcl|9R5j<|6U^pa=Zhl&~u_FF|lQyv;#+&OP#tHbJMM zR#t#LFJYBwi@S@CdF|;~SHs0?OfUgH<_&)H8K+qwRt<5v0?xAI1lL5miAK-7tGNo< zEOcqDD^wwj`wsxfVKyxYR<~8`m1?wjHjf}p;RJplg5pU?AFX!3kh1pnl)v-(nC&mry$ZP{WjfgJh1`CM58)2m zQCa{HoPQmU=s@v}SM&%3dU|`nNLN~t0abRmK2(#sd{wFjF$JJk8_+*K$qd#1I?myj zYh2vY9HA;3#&ap2`l$O)ru1?VAsRXmlre4HZ#<)U0h(JHQdKn5`4RKTLKQsPC6Rzl zoa5RsY6i#TlHTx~*q8uo;Bh}b@cmF#<4@~?+!y%diq+zY{t`j3`iU=nrw=JMXg9$R zkuK1ic@4GnI`x~QeG!(hy(rD1cgG+%^7_r-B^S9mn6&3ce8oVaynrq}M(%Xbh286K zdfvrj;?7!4hz~3?G460q!+>!#s#}2Ojn3FZ%5s#kXLbykg?w>5Na8lcpOxI^u<lx5G>aP5MNeh`>f~D?Feo*LT2e0@WV0EKG zNaCY@eCeJf$IycRl7(HXKte-YbuWH!NbOQI5&j7z>^#Hl^G%lkJISTuAM(SoRPW1R zqy;;J#$)}BiWDpI`yVYO!DzjU&OU{M0=gtNu+6Zz6(*45D7;()1~gIly`ebq$&mBH z5>cw|v*2ew>(Jt$hZZ&GfaHy{F(7#({g1fN(5ecgL((!@p7S))%&g?D{gA~aJ+Kwy zaLlT(v^qqg=02gCOA|HeLr@!Yy6>%`34E84`YxDhFEV~(-0Xa1?P)k|iYt#w^Deym zpXETUpq7?Sxtw}BD(|f7%XR56U3};h^HZy=M9%%=x|yQ$%{w4c4-Edv9NM$!Gk5MK z>*a))ifb8K9LQ1+yJxX+Xt%}eJm^G=35{Oat>6pp3!)(=HlQWyaVVvk|D*S$Pn7zP z-m{*G;p{5+$s}q-tx;!MT1ax*1%Lp_+wb5-3Myih{F(`^{IHM?&sp)0*wJA+U_e!m zPENcva2&NPgbL4lR6Xk^f)90nA7{MC`|A=dD|uLdol_g^stPY~PEbCG;L?Ucn~;qI z=|##HkFaRVt-P@89zCA~1lNlagQ!j+K%+kzXCNY7d2U9Z3N+hl_06>^xA^`7)5`Dr z5sq$u>fm7g^rgdAzVRg@=FEC`kXszi+mr74W8UdXb_em=`r=pbym1@1TX>m#UU8eG zEynq*h3_BPCAN$)En8`zyt6${J!T0T)F59Mm8mE_&^0n6H}krj=!XpI8_}@lyrXo{ zkYm#`n@RX_YDYtAGTDiiVcx6uNph1O77^5mN(>wbzMCZGS#Ts_EV&wz(ALfCX` zEv|0Z7`z=ZhpJI5?>IlsTncj+Ht;pNiaY#KP0@{{TRf4_B53Gwh7AhZh86sBYfGO9 z*DlB$zfz#Rtj*qYzPO*}>VlMJRKq*#QBTAu%ZBOBc1}yGUS3sK164L80zmbFZY>D^ z)dNNG$xtQVS#p=sI6d6S72xL>28O;Q-o4feOU~K+xS-4Zq+2fAlGXZ5*E-U1Wh)v1 z8Q0IZ^4Dx41?`Ua(7_Lsmefs(n-li#soq6+Ywk2#k@KW2BoJKQmoD;{-~Xnw0w#V# zcB5T!L?$zzH(tyfrK4s5Tn-zSRTkNPKX38LmDFBAqg4f^&i&;Z^n7X^zV>G-S=)pp zJfw+%esKfyyrY4jKrM>MOD+Poy3XL*wE~KbK|ZEk(VJoXgnC=9yre$9-vytDG_L&K zAN)QZicAGAk+-z#|CW2*i@>R>)`Qa({t^)3x}Oq!oX4-l)M5F7g<~qTZ69hp5iAg z@9|rMo|au0#1%jURA?HJVpBi)f(4v5gPIa9d1WOxRGeM8`DAs}P~bt;Lr3=#-Tz4j z!=g$qMO6l?h)w>v{R<-X)&Ebj*bmZ@ukr$UfNEC^xCB@ZshE^Qf{~t+1CAj0naKRqNs^Km(1D0x*OG8JVBiu*+#|f@?K`)Q2_AjZOYGz68 z&~(h433J2_HX)qIUCjK?YPF1w$MmvbpD=aM=h)oBof_B}=4wZA+7A%EL-}?bUq?3F zhk@+=bdd))V}~^<)@qMZ_U^u}0|DBQjcJ-pHMDy`QF-NravDiFE@7cL=G{-;+OyvP zRCq>jr-Cj+Io&8?rcVl{xC)^?-L%t~YXWMj#% z7N(vl4lyF4zw(eIlNs%{(ABW; z-g|mlEXXu5@-SriRm-~8Qf|JaeW#mLV)yuqw@j9f%K(z$v%e}`Yz7X6&@Q=5JQvR2 zJ->CiRM4(-c*|Lgc8%v$UCEL~8^+XHHEs3MO%2d5U*@}?KKF52BXL~b>-6=G}5*{E&CvW^IK zkRpq0JPvmMqfXv)o%G911ux;bJ*_1w+fiKy$^RG9e@Q)l&GdPiOHv@bdvT&A9p@=E z$TSG&T+Y?nj{n`@Kbx3Kr!tkt{(g$`s}_FQ68J}=@-I0;Izjp}zq5vmv6vdJGL<&@ z3fRBYD=a-91=_&>>QE%mG3vJ&Dx3=_pA(8H5^79q@c;FBPMZG~mT-1+Muw-d{m|9W z=ow{>aEaokr?xyK)J?!s`sYu74RvprMev|~EZ&i!@){8^4iQLK{g=?`KmUx*Jhboe z)N}OFa0#A=Mj{pTkAE-Znv-sN<7&OIHF zJ6})_*0rGfk!tDK-sFAfhU-n{k)H@J|3YEGF&HxUShhXbi1cs~ye3^@b;=rwfzVuj z9FO?12W+xY#_RSk0cxs&?vE_M=E9fS_I`?sTGiEpsNI#}iwpt^_5jjYbgV56%)Ild z;HcTP;6!L<*Sp6v4O^X{ZY(#E z<^8r6x~}queGQD}hjjFkY0lNCjm0F7u5g}(y|8jbp(K!EFjJ6m>RrLn1?czga1u3B zsN!M;R(-`}-zrO(Dyi3$g2?}MYEh9(OCDgAFk-I$R0|XR<^E7_ffPtr7&^=Tn~kr2 z3$H9F1}jV`*5s$LkBP+7S)+jk{AK6@fSN}#52_g2_8@Gvt?^c##^IWv^7_^I@Gqzt z&w+&<{s((r@H{$Khz^EG@C+!Uw%0S{T6leS$5kB}vFpW-J!ld}5&@rkoV!g(ZR+=r z@Rvw&=(0^rTEzaN-co|qx(fRRHeGgZowh9Bh-J$xmE5;&zZm%b7lT*xWrCMxv$@dX zOzk@{f|cIrZQG*3*UL6<*PrNwv|_an>S6+dq#w&w$68ttQYc4kE|#AB{jfpYRE$E$ zXAxrTXhU7jk^i~#dFY^vGa1ZUVlur|KE@fzlp7?;8FcfgRBp|~ff$>YT+|!3cMY#h zDX)TL&3;iSGuAm0N16^Hh!O%J2l zGFvP5(wTYd-lDm5IJaOM|Kr8P`L1Z^3cTQb2sybekZox8$>|n089zN*t1W(HIdrd{ z5klX+eJb3g3D{TH!X5wIYFpxcvw-QpR;bV2SxLpcj zzfEi0(gPAF6myRuUuH7Lk-GkF=@;49weAvAXa= z1o!Nue)e3&imj8whhQJyPH2oqNIK(5jHJW04gtCh5=IL{N*AZJ;fYQeQ&gvaZs~3? z8nT7e2N*GSH2Xf(4_|m_y2Q2c@d=0!o{%qt`qRlSM6N9&I-!j;Bi;mL5b4qzIKW9m zKFT_CHXCP$>(f259E#%IE70}ur%xs^wU4ns1Q>V4{ zTKvl6$t|_}JI^#9!er{Z$WhO`d9Pa_RJ7(l)-mmV>5q{^uj{WZ5AWd&J_`#4qXKj! z#rPa*53IEdZr={x+awaAbEdyf4FOl=9i}zq%GnzfI>6%7`mjSaS9icsK+9B_pHe%+ zCz1C$fK`{q8_7XtULEntt;m#-(f;#0{1fkuvI{|0q3eU-e=ZF(=n3Gh*1-IBac@OO z|9U++s{pz3y#M^bAPXR@w-*oZdtcNAu`(bzKUm4o&+lcs34gJ6w96}2v;dzE_Ua8B zCp$lif9gk8_iJq0=xSzDYn)?ggT_Kx4@D84Y-il!jaam0T26#c)$=UyeoUy2N#g|2 zCU(p|b$Obn$eg6?Bt*ZxjL7&b#P-s#_*%KX^DQ(lZICK!VZ);(n1vC_fYx?BssxWM*~jq~;&BO+L9G(5z{uhW>cbIki~lBrQ(6 zKFu8|im!~+%VEpToeoxgX{vt+>`zdBC@rZBGE^P4+|}-CX6CsHAF`QI=%*@lnK0AF zdpvTBwoKRRH=x7CvZkjvzDZT|Vx`Gn81%l`y7}~h-FbWuu@gSZ-_dUyO|=qUOVxxO#Co}5S?)fnK-eYA#NaB)#$(<;ScOW|&8K7~LFk<$g+l6u~ z^PvXPubVHVt!urinMnBR#wc?l(~L=g9XTEj5=0&&uQ9y9Ro02-6ENJ;qWH}Aq^7n= zRAcCYp|VUW60@FL59I7EmPRwI-kn2wXKM#^CbT;-Rts-j2`>hBEOn=ck}uT-g7sx{ z2zAD`O%DaXR~4ei&X%K3!Kf(dI1{gMRsE!FDx}moe;x;q5Z3=1rOML4s30}*kP|^m zMtowcE={x7nkkKq`2|;gq|J^sO6quhFY?Vw1HBg?qiAi_0y}cVCuO@3GW9qp)M)fq zo}LBGcf6(r_iRoM-1HXl?Wkx1FzgM4w-*mpc0g2J{QsOdT<4~FSW~-Q+vxdi@W%q5 zKR*zGW{-21-}Eylp{mnPUz)ilr*oN_fezak)haOm6t~8DJOIy%LHpbL?J3a+-QNc` z>le#)g^-YiQe7~oW&36Cs;e&(6#6e(SYwuw1;Ki)=Ah-?q>XlTgCwr^r zyVs6o3|L3=D{1Qh^q8ScV1Ndht{XLPPiF$+*`xwXEMuCm4BJTWOeYbUS2$~^icZ+oR*#RL zL7?90>B-~iX{xkB#dB9`@9f=hITdRIqPU&-+}Tq9MU~{-W1Q(l zYiI2&wd6waf{9kq*?eL3^9#4VO~o?_yfr)Y!83kLWu*x8zG4n`WEh3=Tb+P%2BYGs z<7dt7?rK{H2U~XFlr`3G%AyLh?oC|Hyb@M8pE%Dk)HFudAoQK}?b3g;3Ft z*xc5lm=)nSoQDz&T8536N!B>GbzVrPBXQ5Vby0>68>*!}xBUEO8NdLRrt`kT^E>lX z;-E-xXK#KWjfX~pz6O5@o>dcNSsDIeXAFGM@NNIvM~Ua(Z%M}0?JOE0zN6|!e+ta7 z#!f(eG5uv<%+`-Ha;q8Y_4x-8I4#;myw@Kv3$IbzS(0+y1jk18Te1pGF0b22HWd>! z+<9$+MTD!x+bk{#244t9XLCQ3Sj;)!CzlLDQ`cBDh*>1}q}xvX+FN|N9Q06jF%FTd z-O~&TK6tzxxtpccDebLnJPQ9Jm43Ob_$5KCZPFsq$Uc~rO*Y1e;yj=r5rQ~u^M%fY zJ@;f03}>tU3{{RD0O-+oA4vy~Gl%-|$N~FNX>S+anTm%?c5W)N_cDS`u%n(7E0yUgwz4bKtp=pW}})2#~=9+mIRl}oqp9ekaMPWAK*MfDKSW{ipv7_BQFD?1d0JM4UKrnzroRa>YpY||qs2OiPld=RG=>l6kDq43#+7@{n zI|Bfo&W^jvVV7d7i@UXBQ)wc3!!}y3h3e7dG1G3WGM@>4KJE9G=}h1>PY9yz^a(VJ z+umH-=+7DGFHKS62Ue&*+yq8Q<=1nDP)Ulo8ix;W`-Bc(t2QzgsEZp-IMXu5ikT=D z55kw5?O@j@i%LN$mWh+WDv+44hX?xikfojIvyGZP`3^Sw2E+6yKZn!h_odIFeHXB- zV$|o^*3su(-n*4ZmD&ie_@?eDet5QAed!Ac@}1Vwqm*f2TX~&P!CAtlqEM#ej9=Nq%z5QtAwO*9xzM1~5@|(-?LQjj=S`EoyGUHAE!`>_hP2OCv$409hBAzl`u(CKV zqZTcI_l!@-l>!RQH0r6>dWpGt_Z#on=KRrXq9 zKgZm>STXEcD+1?=GfzsjcjAzxQI*xg=Y!X_H(1ps8@UxTZY>GQ2~vX3K$D{R+aGvl z_+FfaN^D_QZ33jMN*$1twG1TlFu$DF>R7*+p*G0?RVj3tek>4sueY$6;M7+_;qHMn zu*77+=%fL&vB&YTF;Frw7mCyEW!X4cK31Oqd%9wNZkk%NTgbaNXO8YWR6m0Ou@*kM z<0pSwS_Ys}be(NGB|o}*s@;6g_qhfI+l zN96)X1{(cSjDv@@QxU6DAa*Vecz^_u63-PEqIu)4(A;(`r(>_^c)M}L*fS+((~=#d zzU&g$3kfJ_W>Rx)6Nedo{)GmX1DXf+`?so)cG?MjVR-J49?@q$9AmC#i=sHq z|BtV;j*9bX_WXmp1^3`C!5xA_kPzHmgS$&`4<1~CJHZ)TgS)#s1b5iU@4fHdyLay{ zf6d{{oSCPqy1TmS^Q|^(p-d9KrNzBS&>{d z*W6I;Li`j(K?ZQe295bf67NSzQmNF%UyCyCq(E=*OWd)tUoX&<`F`UFs{9@^1~#;^ zKU*)!beDPw+CTyZ_ErO)^lT;Ga!h&_80W=QAM+{WzEOUc{gVBKZOotUT9CeFf4%rF zQ@h~J*yyND?=wS$hiFozb6S=nQt!yb*YyNKjor3}&U4V0^P?G7D?Jv?_66591;zsV zPf4shpB_V`&f)X)e>h(rXFYROXyP&6sh#3Oriu!(3m(5Il~7|xbj9=|@gf82)!D%o zti~#0@6j(3lv3F}?5R4U+C0g-#NN1>BzflOn2+LP(bSy2P=6#3v(|v#%J&Cvljvu> zZ$yJ^MVz6{jNB~i9apP{A~9$SKGEu(fmqu=EE8^-iJAbQ>NIIDICDrzg`H?_)B_4a zu2t@FXSKt;-_|eiiEDeBh45uQ&TKXPb*+dZjd%&Ws64g})nN^ST^Xw#JP+kj9dxMNR zpZq`(jN|s=L0VP$lZ*B~m15h{v!!QGoRxZ!TzheHC`6#D9!r#qu9J=iwdyg1AKT)} z<*!7)C?q)0WuE!5-fudPPR97I{fn@N#Pb&0#i(uYuRBqkrWls!QHxph4-O`Bia0b{ z_u_G^6#4v4g{Wq>B~7f?{rnDuWXYTGvvdi%jy1H++u!g1goBrYe+_lqR;lc|CgxK@ z1cj8|cUO=X-N%6Zey_0*!HwS-AUpa#^f{H@r*bHnCSjrFXs<*w$vKJHG&`D6BEJBJ z-XpjOs}PL-%l1z~`h3V=dCpW#1ad(Rf zP5#11=`Hw?Ch5VV;P;GGJEY#n8W$m<@>#mD(wTXFOX7vyv&Mnz&$he5Ut2ayIlP6X zY>|J5sKqiSbytt1MzHzpw|?kG>T6lj7~(nljbBCZjf-sHI^RAoSP=_>QCTEcBu9+-0(-?f8U!hX1~-HHZO;$lVd+=B5jYDyuC<%qJINil zb0L#wye_QG=9AF~`Mn`2*Ziv8ElvmmyyEELO{XjAimZ)SpkDw0t8aiEMKj8%etQ-Z zQe+)2p2Q&}XvrmX8{{hYSnD}`LMijK7ICDcdncst4+S)Z0b+1-Um^Ruck{S53+E^R zOYg}g5DmWf=iVUe%|O@eTwQIkwnznn3MInA&fQNTyWl)tb(Iid#!a%)#stfKo%ZbvR zBFfT`4kqk5#|s=UltF1KPy!>%WOYef!+A3~q>~@j$RG|v#CqcjASG5)vE_{v>#=b4 z5qvhpzCmGH;GG^ElL@Ad6~Pc31tm>adX)Zhf9o6qX(I`Cq_4MY@tD+VUh4?XvQA&# zWautaT-k-EmwZmeMLLU;L4wrh!7n8{u+JN~7DvjajW-CoHW@>vkfiA4CZeksKqQ4G zCj#%SY=-)TByC-H%uLlIw=>>Pr!aBFf3!;?ZbZmNubu-n>HTJz`tbn}rtz@?@cvG+ zKSdW{?5eov`kH0eF_QiYM`QD9{ul-OhWI(X@7;t?fb@ZOQZ4`Wi(5Ac6c2G%g9q|l z&$6lRsByB69|qx7mmHi;+?n>7P9gNmho1+q4d|%9jAKe3SxKVrMK)+J{ama`07SIZ z^%c*-7bjgRyg|h9+%c@5Bcsw7n90Oh=-S%}oOc}fNZt&`w^r;e+rg}JHqeD9t2^G! z$GW~$cBC0BEZx4?E?qBAwSLXhAj+Sh_?ts{wcT2?7;@7O(Y2|#Jya+cJiQ>sR4Cw- z?NOPW+R#^(_RA=*n0NpZx^h-U`T}mdVOs2m_KjfSXszTUvXf}@1oen?6I!CXF)&@3@NVL3RZisj8{KV zSV-|jW4%y>9F~BVGJxk7KEO0UeN*>rGQKgtZglygKt*Y(O;^b%i_(H2pN8B{{!`sr zYZG0DF5>fSTYfGM9Pk@s9-G9DYBK<#E(%s;FoDijE2l)kf_LzyYm-SIKY4wLYzTJB zlKp6H#n!_T5_b9J8CF7Fm{7wd*6xluJ08YePC+xg!`8P{MGWXfAf3i!^3D^H{7tJc zVW06{2_tOgO4#r1#jV9uq&LFH>C1($i}}2PE6~4nIZQRR=lNQ*MP@lor>DSdlLl|l zq$8(LQ+%e7PC5RvkfVIpRQMD~VLynhHu0oL<(FG&Xf3>93R`x$37WJTHyLPVrz2IW zI9(iM%+Q~lT6EydMwk<}d*dlalWo)_>MA&k3k@jZj^FG1`0zDzv$IcVfQ1p~)49&* zfOJp#+}S*=7tR<9xKL)j1t&0suR8j@yIiRBGxqOe)&yUtJ1H zsD!c1@UvHh7l{6{GZJswy!x<6BU~Wg<08pO!ET9t2{rY^>3L|0>#&}j3-JG^#zJV} z3+rp_{R&ZN{XND9^%s?^!e@=uN(3C9xfQc=O^D4@n{^Q7+z z)6mRRr~S=|u8Pz)jrRTA@5e436I4tk-a6i>hA)RoH4%PFIvSsOP~IL7e6Tly0MMrq;VK-gF2+V!(Bzf$MkU zx0ifZo%xTbGo&{O$HquDF=LOuHaS@u3adG#;~)w3o$pb7_*;W{SP1x&N84u2Y+P@h zv)VM;_wVl6)>s=RROQZZF}~16OiZtGDfzizomm#8$F7LIBl!V{j9Z}K3}q4RPDARt zWFf4rqv7|ZsTr;(cRh$Ql5kyPB++I=`FY!{DzPLC*Fm8=0I83*GUr5+N zxNz|tt~sx2Tvc@AiW0rdJrR$2vOkmcl`%HC~^ITiH%uu)JC1*C?g?+rr zEYN2=wyUPGj2bR{H!YY z`Zj*(rs4(PFF5X&78D`^5ZHq0!Dr5PpJ$340TtBKsAMhm^%(knaDf5Z!~uyxtA($$ ziDY?V$OR$7=P@KY35=5o4?>9(#@yQp0_fT^;u9R;sw=tVKQ++|LFwh8ncFo12#ZeAi~ClURVqd*qsY?V{CaWMQlNWR9zV}}Rfz!yJb{HGeWYdl z`Z|FBEd85{!|oYHePEw)vs|H1w{CDos@0aHRXSvHT&ZUP%EmWuDF?a@7k!t@td{9X zr@IOimW^7OpPRMda}aNILYl2_=kD!I*R471S~Qo;hZGps=@uh*lUZ1eO{TuGryB3v zcj9&3WiR6)WuQ}r4rsrZbw}I_h0Eq#$0Eo#dr@< zlh5-Hn`o(bW~|&jy0I~BW+x*X2twL~k*Y>_)ZMI;q#76&GUHax*)>ub?ddVul=I@rl|2YBwSH< z4f}DdZ|>Yn4FR|}JLniMi%I+$HBRrV!}z31!D9HuhV|sf7yQCHZN~gRi5UZ>r`890 zW^+;UH;KPefqc`v0taU}ceY*r^DD$_c3A8{ z&slK2sZK~qQ|xJ@-!n~R@RoqRCM+pHZ4m_3Zmr?l_BXM-*Ee})uC91R;&Qg zTVwv|HyRtGZ6U%IK5Cc07E)mj>-xJ5_Nf#<1Y2rQqS4D{J5 z4P!q?=IS?*_iUsf2i-=)3nBB45?v;X)~M3TqO|9ucBS2J>4!L7xyA0i{n8TGJLpuM z^M^yu--UB~MZU@sUtEXX3S8*|sG6c|1*$SLj1Mt4}N(V9#2iaeba4 zW_!yqxYvx9)HXkKpRuB&5O=V5zkx#Jzwn?-{g&9Y%@8ZfN36D86nB;qg106o!I_gs zoS^MtXPs9y)kgBWo|`Niv;A@WNcf4ewMwHkGS8cj+GuZs><-^7YZz?|TJCjp6X9mT zkp6ghS~#XUxe%}LvV4%Rk7?zi2*&iT?KtYt zNa6eM%?xgld>;z!g84x^0nfL*xcHwf2is?SUx)zURcoAPRs% zDq1wk&D|1+gjyX&HTct4kY%iunt@}<>pz_DUb|J#a2oZoZ)2tf_PwkHsl>lo05#77 zn-1PmU)4dX;O0f3b0le{Y5-zmxb(Sz8Q+7xEj6Lk)Tpc6+Q#cHl|lKHnrUnl7WloV zcl2}v@pfNe7zLm^i746shR=LtZN=kALLGnB?s!?B1uLb&AOHkV=_4<-pFcZ~J*$HY zGqji#VrU$s^?u^Bz@@!T{Bw5iisyk83a7l~DkQoC`0x$RBt>mz9Jf9_#qWNeVPB!7 zXTtRK6USC3JRhd<#b5_=a)NN{!Od+QaLCk2=bvd4UR3nis}TU#(PQk*(Nb}N(&*pz zKU%MHaSUoMn>7KTvb;a;BIezAMpWv$4h#6P<;YJ=)O|lNq(XN{D`?A}~W++}4>uL^&&E9(_@rMn58TqpQ;Pzu3$ z`eP9Y?s-`uc_3liDaK`u_8kvYybuOJwntM=1K8-Z$0R zBsQS)X3^Ksx^?XB#OZ98!5i@R$$ULX0M*&2x!M3+2~_rMnd=(EPB2L>mj$C>;7zRJ z(zqH|!wl#4!3Ec6IE9W25A_H~A*HVyW7eay0XJ`F*sKQVtT#uLh2UU=r3zF&PFr!G zWB2mcZJ#HpBNo&9S?3P{$Vpy~MJa0U<$s{%s2RUu5Q6&oYzswmaC7qM-NysBAP&(H z2<%m|9yfvsS&8#r9}HY$NRxdWwHx{*lrzW`^S+-fwOCP5;yXH6Q1jy&b=Fyh&Jk(W;pf#CA8;^(qNu0DQPjPpwOd zvH843T~rK)JZ6DqGC~{ytK@HfC@80K{XZ)?iwGgx$N=sFYB}H_%tnZD>)|_bH7m!Q z1!WJQrlaJ5g~H}q;BNmzWu~P$j}gQCUF);y8}v!?O+OPT@J|w;%Mr+Rp$*s4)Y@m2 zwQ=ypooD@HT=DkwT!WG#u41nf#W6n!l5Cx>!e#ZqRzp-bcYQ7XrFqtIss<-=Qg> z0SA16k@6w!r^&O`<}6(%J3&X?o7FVjsYR9?KS9IFvp>9L7j1K{?G>;^s|FSp8a%o< zk}7Q^(=O0Z{be2c;wY1~i!^9gDE^4r zUJBh6GB{1)V`*7OwM~EkdX|V7x_&cLh@i)Kxc;Wek6&9$Cq zfRm742`SHJk*@5y`Y91WFP+8uD$yPFh_=ya{moK%kO4gP_Iv~#1=k>2MDOklq zYZ+T56o)T{YyJ;61~_$Dkd?RR8jyE`&tI>ZKKH%4}!I5)vXEd6rsW@E!pLFB0*TAHi| zpmA1n^NFg0+oP66-abdIe4Uuyh0xr~b<%e;fR;ZQR_r@E63w!a3eTAUI7c4W+cAZn z;nfm+V-tAi|ItdZKJ+(UBCmvdO8RvZh=L!Jnvsps;_qf5~yamsA2$Rg1a*6JUAitzY@RhVF zyW10r@xwNDYUR1iBNa9!CIC?LM{B#LGe**jwv++wRYbhGYdb>$iL}pFgXqvlfamMB zp6!_hZP@azC7!^Sc{0)#VRlOQ&nI5g;1y#u#?Quu2qKB7DJyS3fHy#U=X2DHH~|+j zJ|4V`Y?L!+fhUqk?>|gl7&|LVHI>XX4zIUIro)1JR9D$l&G`zT+_u#^D! z$$AO6DF5|jb({s>;3xarC;8v4ri*Yh0-*q+qdNXg<{E;#cdo5!cs~}~OT0zVJ}ZW~ zrW)quckZa%(ATqHN_MG(Hw+&aspFuF1=Hs}5Lltuu*l6oX+6Ts#ylUwoTzO52fk>b z8`#h}Z(ZW4?zHf@sb<_9Kb7L*NvgaMxPuyi_0ibQ7LDhib&v6)0lHnk{}9K~7NLUs z=6v4Ux#{q3p0;m6vB^+OI^HATdwwroVBw4%MA(nN*L(hLNDThf_8mfWNmbk_gJ4!VPs;pr!MYnx*Zq3SEcVF&; zBv&6$kN^We$J=}B3@S@d7zA*kl$$lpXc*tpeNTW)G9BgEeK6tlJGy2-3l7j@L|(~c zKhu>h!OQqEzqr3r6t_6TVlFB;DMzq|Y!z!4ODLsc2FMU#88`|^fevxSyx2^)5Q}#V z*h#^i0!w30Ph=S8`>>wE*{wB<5P~Ra9w@2$H8`Su!G?hPFNT=3Cw`)m05>ZR%|Vwk z^KTzKtwCtEd)<4G%FU;S1N=44&a?QnuIiXyS88--wFvA+BhxfTloe+`Ywghm_f`>5 zO7m+)yT=wc5JL;TlRLBV;*xYO*p{m|Mh8uo1@LpST@hy2Ap!55PyOjy=ewZ*R^+>{ z8n{&?!s+Q>0yq0Ps1)#6HiKfLMys!20DpK__3lj|Y#2X}FvDm*_+|?nSk2FUeu_NZ zcto{)Rp#13kMu#BGG-TbpGx3O;G(rxpmb)De>qN?a@_Hw+_e4iK4yVA9|OFuAWk$q zXW5>jzb{f!JFNgs4Y@e<`^tqBz}<*QYsM>nG0MljB*|Owgpot723#N0YacZ1yfvGok6ieDdY7tH5^9nWQk5k8|>SW0=W`FLL{ z42a{!-eCj&r!P56TNj8|MP0XzT#bBPaOvOm(0I-8sv?PI+3Je={4I~}PT#A3VBTi{ zB*R&EO8nh_p5%EkkCm07c;xd2!}i3`xgZsd8*LK5Bj<^2loT7Gn>i~*wp_ojb+TT4 zfh`LL-k-WoF)&0&VT^95fW}e;ol`W!GS>;K8g3chGW1s$*X}t4ubt$lwQc9y$Ri}f z08M_-6qnYo+fBJx*Oq~c7pcfAp#zhp~d@~V7z(;mY@d#ec+5g!W|FtfN z2h^Rk&}eZ5QW=biX)uL?dp=ad2~L=^r>?N)+$%DeCC_Gn&k9U;GjA)4vyWnTIAg|; z8ggfz-)z>2S__8{e08v_B_r?ZPd>Fl;X2%P$diWfX<4;*Xk8g=&oA)J@d@b-ge!~h zA4vu7&%b!gZbcZ5TQ_J{aFxv(ah=)Nm5-NYy{yn$eh2fflHtGa0Aq5MpShWR2e!!z zABcqcGGf9bmd=py0Q)BTs;ctRr;jSs7M`QuQ9*aVp$0 zO`Qmh6O0tL<@hbwfHhv=h!*!8VZY%{chyNU8|5?-^OL?t%5IxsjGQ52Iu#FqH3N#( ziY@4}HIRx#TKV6~{c)5F2Sf6n|=#sFq!p+PztE7KU|B zvp*Y+>QG~`Nkf3`?`Cb)Aa9#ii9Z}Lp&1yRlG(E`QELPz;GWaZ{`^gvQIw1E(R=Jp zj9Ew+Nsz0P>bF023EyEjS1IU3UKuQy5D2_HMAX?HB`3RlN{79I*n|XN`;8nP3dkMm zHGa#?d>o(&9zkG+CO69n5&oBkf{8@k%$~kXVrvO>zm{_uZDzUt!WO9dzP$YOprW7a z6_41jY|<;n%xvR7)C$}1e(AP3=Jtl;sEoe56=!2#tFNzTXSU)GCm1HU<6HJX(S18d zguzEI&r1PPUrxSW+&rzG7MyYN{mq(Q{_Fy$So!hpd6}!~WL%{Z3Dw2ZIAf*E8m}J% zxB10GHq&$8gsLv@Qt@W$NP;>U6{ER+)UG#huqFe~0rcb%W!XH}|zTb=A?`^uI|XcH&HAnAdTHL{J!c}J0AJw)#9NH@ z=Cu}M)E||MP!6js)F>80uzaIhg|^v4J!1gcQG1bE`2<4mz18tC=61eej9Nb+3tKc( z?*{KyIH0G}rwW^}0Ec&WH9OT?2>aW*b?6qNP?l1tTrT$C%?gIrvusS&T zCe`QG)-NNzi5+kL=X#I9(N62t+1WJ(9O#@Kd@W<%G!o%!NYO*PZs%_H@1pBizN)6$ z?$D88OvThWq!hd4bzzg=kV}9I;K?j^OLp$w=m_m$43_|hGrfl}tB~<9U^GG8IMw=G zrSg~aV_?w-eN9}y_9Y%x&?m5zz*t#~`_l?d5}T&P zR;Y49BM-nle0iXVQc>E5>GOqEmyM=rN-AW>>BuClGnE<*(t*#x>TSYsHrit7FLrK@ z=8Pmw0T0ys!e zoewZzi84+HC5y3%LT-9N=E!7NC1n)lAO<}9MJDCo#^I1U*ht`Bvn%=qtV19#+1T=7 zbHW zUG`2!bVe?+f>x9#mSugg--%sf4;ce0AS@tppJ6+Fl4`xH2{|sG!?`cTPomee%9X{% z#U?t&Mhyik`?MgZC<`-1n*Be#%CsEqdFJO0oQB%&?;f_gST^ubWFSm1y>|iknHlUU zIYvke`k@yQsR!v_{U*E}KcVbi``<9{!#Gv7{F?-;=bi}5aWgoB{XZ--4UM{vq(5Vn?dUCd`;r5%3#`OE{(ZZ<7w$04 z4ZJ_ytu(|x%16HD5&q;@k-zD~Ii!hJ3jnn@mD<~+YX``7M zJ!qDtoc9N43ajw<D{{%b8NV}#*#y>lagCc5ApbpURG~?Hl%M{}4vq*kICa`(Rdj-k zyvT)euVDy|F!39K;$tLS1t=EuY`@xyC9H zuW0vKiB0&%M1ch^M3p^+9|JNV2MTEb5crVX*CEJ=EAem;1D?=f(~w{Xjd^=`I`5cf zg8D}78ade@FmXM#@rv2O#^s0!XRzg=b0;_ak47Nt4e^W)F$LsX3v7S?GX~P&G)97Y zh0#sKlG=U1zd9kN{(A6YKV?Rj&8=-Qtv*+U)K2P zr@@26Ujbcvjtk-|Z0Y*X_BU>kMZ4O@F4}@U zUj7i9H$X^^mm&F*(m8@FyKJTCpz}X9zbBupcys{xFny_8wf1ru7mr>u#gH_52J$C6 zNPVq9r9m05kN69+PHlz_}^+OcWUC!RM*^ZmB(ghz8bpBJ1^3 z|6(veQu;@EayVJ+XklL0{lb9l<*BW4(z;w#-}Gl#Oc|_nI8Hxa@8E!7b-yd5P6xZd zSo8Awtrs%mfnH|Qp2uDPHj=QU=(!*V;D@_F^c;lDl??_~_We>%p6D8A=t8_7-BoozJO7Uos$cC4!x z)d#N95ckmx&WSqBWEvF~J#_8$ACTW?S!@D+(<0U8S6WntGzI!>>5OqkOQ6K)vr0T~ z1reU+s0Ft;G$aPgSlh#*L?A;bOL6g5ZJvJYU!PNk0{a}|U;aMmA5@-!2ro1xJ0+Xc z>|LIppzO+*H}%GbJgaNwc&Cx}xqDaK`d6~!R|5x#KUUhZtbm#ADhiqZ@MW&~L4p?@ zA(&Q|d%13%@VkFplRkHxEel^8s%rgah@rT>NObgc0CY0gsqNMRKdfKt_Y-_XvyCuj zS4jNw8=3$e=6A-BK(%bknF=^BG<>bbRVOy6hUHv@^8bPVoe72bxmmKaao;aAKR>rV zd!weO!lyR(y+R$>kechb&AjPqYENDx3RE>;v*_dJ(Zy?U|J~CeXRVJ?}*#W)AK1XZ!P-^x*7 zR8EjUBYH1)<^lP zaWI$>1M#y29|QqzR>Jw~s+8c|?Ne1Q9rxc2i5I*fse(5o%TPDF)<*Iagw7F61aGH3 z!N9>6qz^29hp$Op!&gGqqejMH?F#sP<8mC&0W+^lrT;fkk8yNp!?JgS0ts{$`mo#G zjEyX&ELCOywD;sQWb=Ulrz-xk_KnwJC;;k9GUv|IH^SUPekQOw&^Oxa6fHUB+$M35 z|2(U><(fj!f!I_*(<~e1|04RSuElR?ZE+aCSg7Y(x3Hdd!M~vW!_rTKS$f9gW4gO0 zwNQP#fpR5_cUu_{_NB*yRG8)E^~u{FH=p^h=ZFq%ICLhcE>*v6cQ@Lj19@0_H7hxYoQ8Lmz6E63-p!G+X9bw1 z;UvfRlxRdgtqr=};I*tX_#4rAS*XS;X7i68Xu#GZ+>S#IwC10O-~C}7n&OyXwUon- z8^QUNmVTPmpnMSSU)eKoHv2=4pq?T>;|O~|h(T=0CkKqX6u({tR}^gJ&{TvoBl**8gREWxy`3 zxpl8ab=7V+nPFU7V1IP*7L9`hglZk*Nq&v!W$GC6;yp^e@SRk=nJ>{tIzDq5rp>fV zVDM;Hli{hYu?F7}BKcC}F$zaq(PtGtvl{6#e!$Sq3YD_@;kkj^hYJd8^6UJkRyHa9 zPZ>a-+q)svcvC*qSf~x(>Lh1$;EW#l=$V3Vw4W#ZOLp2C!G5fILx;=1h%RyvvJ=gT z%*Bg<8)c0l6{6H^U)}9aEz~wcV8TVl3l|j-A>fiIRG5X9!rRzcvWv$J6h ztlL7NN(F`Poz98m*4nG>c;m`8@LY*_H{WTPhm#&x_mX-1z`h7~;Y#D~f(OSRMvi6~ zW29Q9rLa-c9{6C+xqFGMk^-EeAki6_|0s^ z#b79v%Fgfq0dm)wT;C_dZ&|*5R`fH5sMYWM<%6^ZrsAOy2N;6MGq;mWiqm8CK#bwn zd3oCu5I}Mw|O=nD;1uaVw?#xe!T}J)niitae{KIJff6F+h zz^$mWY?}6;*|~?aCR4jBE7GrEA%D21UJru&#-mnWVecvz91c>VmDW!F4^+I5tvESkcQ%7-D_oakftT^DKDY8} zZR&VG_ZIi#2STxQCFxRCF;VNUde?VCnG>3{;zGci!V^q(U&qM!S${lL$GoM|7m(la1SL#q5ORT z8<0b+FIlC=4hzmR=LNGxYO>RIUk=wvcZGXR>v{aRM+}$QR^IJC68kD-BO@}7>+_=s zXGLTw=Q>Fy@9UK245ZBW3fehF1@&z)aRoN zJ~6>kF>+OqJt1tPh?-xa4R@w;QD>|yy(XTh6E3;O5@^pC98pJYc2V?%(X*?2UgNF9 zwAYQY3889MLkZAaTw1sTdEUNQNd1%(GgYE58xX=C%SWU;?DB24Jbl$_PIf~!DvGcT=pDz8X&*VpJql8_Xf1JCZ>+Ntt;H{`Y(6C}>0?)Ve&d!GV zv-EtN@x*rA;%ZLEp?@+IZ0uA9r;@Gf&dv8q(M9Kg$b95s@HHm}`aWDd$C*bxxpW&B zU&~~viS-(q{Zr+aPQ}Gp3QClu4|r){AV1L)4ws#|R!6q|67^eMkboY97a72=0kh}r zh^5B4Ww~yXCzKFCM)HGRiM8uGMPn6QEM$3EAlgg8d`VUpO12r+a=x{_r&>XL75PB0 ze9^%w0mk1z zgNF)jIu0o&`1j;`n_WI(_oUsoI84if#?RICnalFh@`3s&&egP#QfjFo5OjQs$gpyV z`7TmLzLV2)pOvW7h2<49-b31Jaqp`t`jKded+EPd;42zQRZQgzo3RhETghK-5@LUB za^a{+cOWx@1J4gy81h`Z%->*KdL7~XOcvI*#XKwDaQ>|~%VS=ffl@xiXMI>Qu#vX2 z?V|N9?=E1J<+k5bdQRjaz6t3j=e40;{d8H<~KnUdxeR7OSLnQ2d$ZNhf=@4Jf3T zF8%+*gTL+y7s_{BjDQMr4!;VpLH*!^Y2$bHD}czfkvWqWVb{XZbufSJqJKyL=tZoF~^ z<0~|sHkV()ECDRrD8@*-YlEf#PoCNaZwTTbue{@+d(A8RuDFm#Sc5adNfOGWfTQ?JvP3k4G_vpdHwpl44rxg#OhNhIZ`T6t*wD%gpd7WVIh`-~1V%O3D7 z-KUpcmJG(bANp>7h03=N>im$*J31II$BPP13kM& zju8?rZcCINLZeYbu!jr#@3#&2p@U~nBlhy{O7+~jUd)Q4F z+IPmZ8ob1N>or_8xf}%2{UN<)x_N%_Mzon4Rl%wtVAj7l=nuY8_PbM#9t=iG+YKC* z;2>R~9z7-)%~R<3+Q18s3$WrbstI+dsCdXQ@>xCqFy?YRLqzIZ`9v`UypJ;`uHDJy zDTSwKUue<3HPeK7z#+Hv}TigMPD1RwePqiAYq%%XM7SoUU z;n)1^5%S_@_FUkF)5mz{R`Hw(`24p;Qklqd2d{!?%Mq_mLQa-$Vay^cJkO_>(N6`R}OrDj3(#OCMwFO^R)dJPrloi|r%y*{xfF$ID0;_^q6vfL`Y$>Tae#o| z?$X0@Phrhw?y}DPxTqN-8BUpQe)CXb&sI$`?mK>9crtSEUFw|b=We72vwu-0sVLhE zyb%K!EBHvvuM72pV8^g0^DruaE7}_s@TS1Aw!C4kZq3$cqrfdR)sMM$(h9wY$FHD{ z7*$3gpaa(sEczHAF);S`q$A}nDO%a?2EhvFCs!*$&Ox&_Eo!+t6xc#&G#mCmXRJXg-LmG3-!}i ziSu=izKK%^?=i9oBxPS z)D>&$yB-c2_qd6M&V`T*#3inUS^p{+5X@skrws%MEU%V{g`|+T9++70Ckc#sK8W8S zhTNC_LyS58S-swFDq%_ zZWuwNqFn#EO9X8fvI1Ok)D3i7xfZzywOBQ(<1?+w|0&3H^op=80HF;%$REiNYmNX( zFipT8kP=0O3>)YXr|Iqac0B%d-K)&tO)r>Sx$?IfiFesfTLOyuxu9!#qctA*ZHpWN zXTLEcdPOHU*M;x&yoLVgwMe&g+#U~{MXpCb-)eN7VZ~|CzC)rSUH7XL)~@E)ZGWry z)_ToR^O+JS;#S}HB>N`s@D3X>*W#{5ug5L&6ZkJuF;tO(N;Hl~;$ri(NQjQqH%(@@ z{J!FRx2O#+m>m4kF$-44l&9B$L-NDHxITDOvF*c7FMM(bvl~3Bx2e3tE6DKAl#9!T z*NO*C>TTMzZ-26iTF(4_apx>ZN44!^JXz+PcYs>-FE?Ly)#c51jdGX1qExns_QITb@HTB_S#f$Uq84#V$II4Pfm%LgoIileB`KaAsN!Oqa8(@ z1(Cb1aD2QBrCl|e$q2lNQegyN|7NPcZntngw0_0HbiQLVe98aA4H8e-egiwO%YgN- zLm>1FT`XUfDBj6lDXcYANPh*%1tUyhr4IF&pM%~p3OzelF%WU>u@5<~FfTJ4+5?LOVL_K*y4Q@sOQK+fyDVI6(lUh9b9frXG<@O0%|7`Bj#kRVblR03?G z%eAoazUA}3BeL{#=UwY{Z&@gvv3P7sKnM?BiT!Dd|fzi5U`zp7vs71X=d@`bPx(j!st_m z#;SVXk8bzvqjd##AX#63S% zciyLIxu69vm7}*YWX2F;aQKC-F-i9EHbGTQt$L|uulb&6=xBMq&is+Dpn*SLXZ^Va z&FZ@$sQ2Noss38bbHTX?snpDo*?D%jiJ^Um8leFIzH1|PdsZ5%wg-}mgrfOpzYrP}XBV)dMnEAaO>rVO8NXMJoHL=k%;g7`*&squ&@odoRDY`B zT7w}_DI0k=fzq&Fn4Q3XH5ea{{L<08o8;0lSIzG>-I_#JfBIr0ui8d7uQUNljeW4j z0RW6dd?EpV@y(%^r-gVQ-W6>E{)MXBD7C_&V(2Yyr+e;}@}26vLb0<&ZuI+a8vY*s zaA{;uBn4j5md$gPzj=JS?1I7>3E93uMc3z0Ohr<*$L7A)YI{qre;@)kcV56(MQW@N zn57b60ksFsU8%iGpSGtTC`wd_e=mpTIV<=GPu|js75BgRdaJNFo2F~@#@z!1m*5iI zU4jJ(!QI{6B_R-;;O_43g9UeYcX#(a&-;GQ_x}fb@1r?kxTd?Ss;jHks+Fm^2Td%8(`^CQK-OAq?(n&k>l9IY>Lh_dRMOMPCV1F^!_@9(gH{B(q@N^-u}}Lj z*ArIZOMP9vV-mF2dhd@KCyn7xV!s+*gNTIb)|*Gpw&HBW2A!aV7Te%R4P~AZWU(Yp z5_pjEbaeNYi4c(qoS?0z8t{584O$txUY*fi)QSDE{i!da5c=$kJ8W?HfKz+2noSnv z9hKW}&Z*dp=lJd062PJpxmy^z%Ko3EEs_9JJ9-|9N#&>*VdV9RZh1W6n{)scfcrnb zV;nqrH`RBBC(?Th4{K+QgX9lw*JEHh0~R#_EeI!54o|74kYVaO_5iH&Rn*zv9xc_5 zKTYUOYu@2B_gUcm5w zK_5rmO}ZA%vf4n$tceb@w;~=)XkK zIuO)BFv5@qW?6k81uaweaBL3_0p+|=I*^-=O8+U$s#A_zSeLKIc=NRGGTzr81Ju4GY4DZz$@69jBfoi8HsVi0patW#gvg_mlc8yHKZ=}qU1(wE7ld@tuw|Yr+bJ18-t`8LcJ?m4gHe`3J@}GbVdAHU^`v}XTU;+f*y5&1$Z zdf-k8)4GYT4@K(tK2XRRIzQq9ER$tA?QUjcG1QBdato(0$U)>-uUmc!0bsU6(Sp8- z`vAU=boA#SxqLmuYHj;K)ysPlmfKd)0bg`|(0aXV4U4u5cF`tVd+P(4vPvAnta5|? zT`DLksYSWCUFbRSu5x>Plt3ma5z|oSb?l6YuVG*LCPj3n?bS2iv30?%L2B?e(Ubl% zu~rnloYFCY@7ERIqP%Ml!(eECTLeG#sY4=Z#))yPq6uI<2*CNFI|R?@k*?kbV_R_*r2iW3AqF;{nZ9{MsxU$eH0)8+UfF+) z=g>9GD!3JY8*3Y4BfswM_MezDu+W#Pb!NRnwa=81^-W+7L_Z+Gqv&A>KPUQ87T%O8 zq2AYuQtGdFV+EDCsRVC1dm_8f7$oSPzpe~ds+l>x{m#27Og^peN-wmOYRfsg@dab~0YwC2L&A#f= zE*_oK{3Gr5oV0M}weB^#4FFj9{TWX1*yHZIOQR186)&&ze(Ol(4$X7`WpH%IAuGgj zJyNbjsKze3X?s`K2az_h?TSrm!WcmNwdlq)qlilSRNP1YK9t z)7#k*^=}J}!)ggG!XBjoQr=1*!~r3apOMc~-s^;wB_eG=09V zL29f81~$*EvIbVGal|M~4W7X4j7=d(>JwLR1hmVO9=VBp8Z$Pe#`aZ~kEr_;_AM*I zNN&}P{ZD&02LO&>LRRR*ITXZ?YQHe~Lmhmg({h8sS=ZT|>Mau*o`!9^(+ju}#w)st zRh#Q3A&Wr})tr0#880)P2{GeWdPYa;)1a9_)oF@C7AcP&G58k?nlrpx53OIN6;ux4 zpE|0^LbI4aC!7dIukfBXj;-@>?bcwhPBDLB#%44BfzhZ9i=aE=!n}uVebyjN4?deK zP0`W;GV3Vv8e+PmQOj8(t{kDfX~qf;r;ZjUFHp|3-#FrwbiSq_ zjSFU;A5|v~Nx51NII(qA-0tX3ak`0_Lr$wJc@nOjTZKyk)EvyC+^)GB%9z2FFZ5KU zj}PjM&WjWFa74jxoG93)_DfXlCFVqhjR^&?to1~*t_dBCk`KnG)uVPKb|wtRt*+D(Ods;{%12RAc4>1%y%AHE3u9LilbFUYeS zOzY_ZGt|oF@!3sF5Yr0yP<91WWklZg7bdEgH|R{qAP*A~4_)E1!|)i5B#dJl#VPElsCD8-)BC z3=G551+QiEh#_#PLq5LMVWC)^4*^h>Nmbl(DWOwm)W?hx%yYUR6kW2Uc#04AsK~Ca z=C){c`=F{?E*59_$VbdHyU5~k(gv;QL)fg#oDARHet(+S7H^fR&WXG2`BAQZDP@ofbd%Rm|tN|&5m6u z@def*VETzexIyreBpj=D=C5qkSjy_WA*&EP+dHJW;Wz(Kr;_Nl%ff} z*teNX^WdHBoO}`|1|Gba0M@c%w^z{Jh*xuMUKiGW}vM^=hzu(NC#^Na_CS zPZ;#SJoJM|a%OlR?|l;AH#|8)=*_gLmqvv#&iYlaI{~2c@A`Vn_5C~h_}k$)%({Y=UARz^?-MRS`o6ndy1F#! z_ma8s@YFH?-eEM}0SCBqIvBm2zaLh{uwu4nHeKl{aA-flS$f}EZ=Dys&wJzC#rs~mqQ$*=PvIz+i62l<8g0=?*c_t&#}e%6H1->;Vn z@0L&NuJI=C&X4KxV()&hO$i0on~$60tQ0SPEcpBH*l&qVnfaz4-i6GD-THd1UlF{v z&fXuc(fnfmT;44foRC2IUn@Axkx;)(Ox#)=$G-`!ymvF6s`0E(;y!)PYQ226QuFj|Y4K`l;ZUp4ZJpzCx3cbgVe)$<283Vq1P454bx4F{ zWu$9HKfc|VZ81^on>81{g9k^xoyndS--*zHE?==$%MbnD-h^K2gWoH26Y+)Kij1r` zy#W7?m+tjd7M=&%%GaIW0E^JGNxS#)`%B~bJEGK2QXZj4p|>X?6Ez>tyN5`U)=V+k zqVX9Y_lj{@l#I*>)HRmZ>6gs+SHG8Il3EDghuBPRlqVq(L;2a|WT98Gh%GJH@i-zo z{Fmu_Kv;HtCQ@G0@8+85C$`4I89T_YV7Hb)q68K2cVF-`x>6v_W;m1t3o%lfz3s-%Et*1$z%3n^PO!^hn+T$PTs3BW*iVZj45j)dhrs(YAmWZHf_sTfI`cXqjlbkve zML6tVT|c(BTr4&#R0uvH0iE}KLMtpIf{&Z;$)8F4`2;QO9$w};njp(Q@y4bO3&|R*yz3dEINJltZDWmDWxIeo3}lViq06llw> zm@t$1zS1wd3L%7E2W5QV~>@*uSpDKlbvPyb-53GF(oaVUhM{j*f zbx@D8$05Q!nlu?bS)F@BC8F=*##6J)Gp&zSgUf}r*zzdCG34(|(jgvanfNoezN~59 z$@%HxboNEu6HdMh!^aos5JSCa{^WgEc^YiYBpUc_OxmU=(Evvy_}!d5hXZ-~5?gmU zmbZhfJK#Xj%Df|=Yw<^;O5Lllib(;fHpv#D0Hc6ocj1zT_ZKBS9cw!W>D;&Edpft$ zyt3Og^A~-G+BJDd>u65%$Yr{#6jM;S!GC_-IaGS>D~epAbC5?&Er()^mP)z>_th}3 zz^#eQYMX23EXyWX)5}UzgP;{T!t67$U=^kobdGWL);EvH@$smHO4Rnrta}{3T$d7Q z)8=XWBhVZ(+DqJ2OH`;hAq59nD%L8ZhV)ISbm<4+4q-H3{>`_Jg$B2b;f>N>FJ`o_>_m< z%Z=INN(j*Y;u5yAa`tqM%&{r^jBU!aOVn(Bb7UG;qvR&@;dUPQpV}$1X+S_D{z4qL zGc~r|jO7S|ps3}#$PEhp?YLae)uR2RB&MaWKA~&c!;4PqX%8A(N32D+9@AM*nf^-Q z*czB=9>LYUU%Za|SWM5rJ!@Ab_(_U1#KT9gyacqqmt;M_RCbnHy(Ar@T_wM+LPA?a zj3RU@ROYTL^(-D%l2x*;Kf2U}T4w2yt^{ru(H&adjP`TT3SjY|kI6lGBo zm8$zhk8~$n2n{;{g6m2fSZKw^Q;X<&GubvPXN#YsDNCo*hBpKB&vBs&DLQ3JXVYSx zU;>Y-_rmr0EH#}AuR|?4o~T_hxqrH6oN7wH4MJG`>Di>CkhO~OvEP516u0xeZrd$^ z6`%;gR5Iu`KIVG-TIBn_8j+9xo@G*(iuoec`@Hl^bdu>TSN6x48j+=fj#j? zQAo^u!znr#bz9Y)ouVVJ@RwXQmjJhR?^q+>ESqxW4>~C>L6*JQ<&@41&ZQ~Dib^@t z&b7Qkg>|<S?RO^PtpRpj<45nIxY%{ddNn2p-DFRy8*Lycx}78M?0Znd)Q z^xg06XOs_YKp}tJcJhlcp&Ojx0&70Crzk$v3LiP1nQ8Ol?is;CPF!ayyhepGafe9x zw-6@tCtFoCr@Cb4N<4*v!)LeXH;5XZ$+AD_%(}9g`Tos&pJoG0F*oY3TGIJ}U?&?p zNqi>Pa9**-t*kjrPAyN-sZW|R&hm5EYE}^xou$1dd>%ljJoon)2;i>znzG-AJn4Wp zqRexW(qJGTItCm-@IR({IEuT~HeM2aaZuRc?9s-B_22u0v4k%p$nx`-aI7Ma!=)Ca zcI1&2@ZT;AGHh*i*N=I*V2iXR^f6v{i_R@#*-O^p>xLQuC?nUWXi)i?PzH)Q^=f86 zT%X}R4VJkv_6NhPH~#v9nE0fPwcV8A+{j0QmW5+{=Et<*k#WZHkSGXX z3AnyOQT_IlMZl_l`nw*Sqb&|~!PA+Z=pY_X+z$&>h(DD)AN`yRb}SILto~~>g;v*H zkzZ;ZIp10KBwf-{P{*|xx?;2D1x1W{MrhG?5IGJ?sgx<0s_K;ti&dkNpkc`21xbE8 zDJhXHfMfurY2S=p zH8VxZBXJZfl#YVCQ3+%YA!Hw>X+$@2cQ9%qG6+IqFw>PH>MHqFODoHd-{x9c5NZJfFO=XOGB^t>sYmEy zbkz+e&c6Tan27&z%wOC1iwkxtZ*=?mM(<@%0BN!Ib}K@x^Xy5If>5Gdf}dD3I{9>h`ft7WkU+n`VnGL#A~zF` ze~VI8I6b zSgL(XI!@-yKW~*zcPKt?Kc+>IjZ)x-(ErXh!g%x2f*uFAM0SrbykZ=Et{VbDE=CiW zUyPbCj|{~0X4EWF-~I?dsb1DLU~ezG%Dqd#@`^G2mM6+dt%>~;8LHQKnzr{LutBnd z>CyYXMyDQPRNpQ>iw(_P_gW#_n@{)^oWAi`Vb6E*WWg#;v*{p;u@Sq8u~Z z9EV+2AcpLpC(4#bFzGj4B;!TteKhgwkb{)`H(^!zmp^DkbC>@o`e~qD;F+YNi}Ypm zTr*a5jkEc^1;9B_xKuKBG=1CM2pSB#wBBT){k*Q&Uv^$O0bcj4mk(5i zw}EXKUz$tV{H54Ohd-~ZX|ursz>}5c@EZA8xxA034~MeyDmer|d~oxp_h=r$k$zj$ z6b8Vl<&x+L(eaRoAfXA2FVErV!pZzL7ps9K?0>sJI9B65q3mxdUq?qFN=`=wWO0Qq zN(Xqkk}dc58OGFnW@4`qzS)T@w+^;)|fA6_2C3(=gepqYl$Z<*xW26~Nl`yuihx zP=c?4lTA+0nTO3h>ro^u-@!E>JJ@h8RG6 z<|B;?lz;!CDm&#QG~<);__NL*piZ?9aHo&to{e;#Sa-%0MRzD>WX| zk_eBMX){;2_Z34_h_J#a3)iot~Y*1O9q#V(DAOyPMV|0s)M8V2nBy%Y?e1qrjp}pos;pKB1;*>|m^5U!om&L5)kdfbidczt9T-&=He9hTw>n+!(~5io0>jzNM&Z@zO42?8TN=N zict$+$$^wxN6&OTPLn0ffqtHZe(T)04ei)`MUEF-<60ReC$SUyGDxQ;;- z*PLdQb(}U?-pU;$J(L+tAXbkb;}2DtinX1OlRn=0$(EX9 zVK4aCaMTCGbB37KEg0{|V+eUFgiP#yCv*NJl5lnS{+`8{CuvA-FFLeduNn)Lw%lZP zo;3O86{&e?lUXc9e2&{8v*0r}@=vet@Hco4)lSTpKLwZG2jv0a8S8vw%H66Ha-%Mi zJ%i{X&-n=vYb%5-IFk7wp(>mi>`1tiz|X^(!ks!pWQWDTWiYr-Q%$_MIqONgh9X+T`07=J5}9W!}D z0KYh8*-U}a0|iU2DPtT)uP{*D#^;?|7X&wRBCoo1={Y_}?0fZVmUi_hpB9`rQ2wF7 z@KRP2^j%fW`aHr@>anjsjf{XmK0orEs)gA<_@BTWloWN|qu#v=<^xwnWY`=yy^8`! z66X>yrG6+$$EO(%I#ikFM@+1)-|_y<0kKT%H(X+`tgB>H%F`QoAUZAZ+7|dwItPm? zrF4>&wf_vm0m1Qb83-Ra>9b|Gl8-p1A4>IPB1d*++VJ3jpFaDRZq2wxf&>*zDlc2O z799)>Dp zF~uj^;E7u?<{6KwTFaAG*KS`E*QyS9_ofgQ`9I0`kI1UC%FT|7+VyWpN}ffkgd8KpHWevj6EYn3g!vs#dE}m`OHU; zAGDqB5BA)IUihjPA0%P5A&UHpHk`8j0BVzCd=@`D$Zf9FybRN`P8^K!%Rbs_UoHR( zk3acBk!kUYF5R%Lsh4baDF-9wfq{!M#)b2GMKNGV3>#7THY#90#?iP=3DIQHVQaTQ z;QrmwJ$CD|7loP) z%VeM;>0^<-4GKqQdN0hG^w1pvCF}0G>EMU*Uo@jiILtHj*GFgENggN*f3JC*P|DbX zBI@8E|M%>F`ZdzwRbgBmva9<0Grz;~S5+P7yt#^^mcwiUYV6$28%Dm>f^Z18P!u$^n^+_S-!cKWK~ z)d(IgESnPZ^9imUiVugYQO9jXBT>)QWzFm-Qds6Zud-$3KqXP#v-VyO9YKq{^k2qH zWD4CZ$&NMNi_aRl3j-{#G=lQ)x_9ksGe^0s$k-7CE`C7G>g89PbS-FThVlHr3uS$3G+P_NR zI(-uvC|fO$jX2Cc3N@|VeB_Jc5_Y9ExNA@nU@rm=Y4A~^y# zEb!-px?tw`zQd`{2nd#&N|3(vXtK54v;6YSQ7!7+gf13#}Vt*siRfZpaC_x0mM4@zSF3>}m|xZ1C@;VTHVAxzXFh$ybre z+?u#0hZ>29THJc1K7V*Uv2EuU;~GjWd6_x1ZoB4U}+$kP_P9+Mp>ZAy#DCMW6NfAd*R zWcR*fq+pl7^)Bf?o~EvMrAMkcQt`xl#NbCWtooj*Kr8Oj>D@PJE;c4<7CpKud6wfa zqnhR>*-zY)IZw>=ycb8 zgr%>R)d^SIHDErDu(>eS9c9c6o_z@Ha}bdZC0&tLNexTPOJc%SFHCYVYdFWLtSQy{ zwco<}qxe1jYCJq`Bn9cbf?v(1joCthtLQv3r5NkTb+_!W)TnQK-1LQt%X0l>wPeNVmPe}Zr7XpozF5&`%0LPZkHwzIw4(DmXQY;StQuRh@s6M&{+1+!sS)V9L_YFS_=J;iCMo z`>Negohq;}%XvE)S?~FI6wzTxcAoBz{TPDu^1=Q*6?E`5*dPIA8Ctd5ls3+3tL}!2 z3m&i)=}#Zpxy3PypSXi1kdTvK7QgOV*JgwAuXAWI*?*E2O&#zI#T~w2PQ?Vxc7`GF zeHPHWbyayx+|sfC8=s;fBVLS9J=3-Y`@5q*1tx%YWC<1>!HWT(Bc3 z``pSqp2R@#6TrSA$HCe*_$1!`kvc}yfKSg!S8BOipV^@E$G>?jGAtHx*x5~2N^6g2 z7={hlBMo&OtJ1-KGP2~~i2uKjyT9A)5%;b-cxk%&)twUDMh}-3Jio!6!B;b845g)O z8y{2s>a-rvpsf8C4~qqfOCt4zEEJ%h`cRVl+!s74&x`QW*a1t)B-G~%&me??gM;Ro zbN%{9mJ~TvK6^u$!NbQAC=Ka1dIqAs=*_pT_Et^{D=)H4RS2S%SeSmh#o|1p*}>%! z2-OU_ZT3S?UUs*_a8vq03<|_AS3bK#JMq-+%T(0_QvSJS)EhOwOm41MKdG zx;~A1CbDZ`x{(x>2$Dv!=v9{4;H5a|nD&NJ;N{PrpKX8>bP1u-vU9xpm`sGSd^S7Mqj)kSSj+MS+ z5{@u~q9IoY4vUVb+_KvNDOPPy<+p8i)EZ|q8J5KC+>cX@sra=pXY6&zuxUpe(I=3U z7q8$+?&cjI9-NV|jA50jM;q&@+^*&AVrFw@c0$`g{<7Grs5swqf$GrpG9*}#)Euk3 zkxPNc5n|!!coJ8{jOZOQZzmsUt9^C3HLIVVnLO>39{HA#&i&aTec1q?UuW6#s~zPJ zdWN!!%A6Al_g2(`cC?-Ce#phgFS9RdIYd^L-}M%r2VIUe)MY^pTizf&?< z(Kd{KYZ*$|Ad|#KjPFS9q1hpkXfRAy*Q6nDL+=Tmc zj8g4Up`w6++G8t#xsN{9HHMmT8tkei=5)0dj>kqff|$U}gcZeyRsd!njCaIT;&!j^ zJQ(#?%Z5A(X;`I@!PaK06FxF`&;M0X%dBjaVnWAws=nQ9zPv{{KTZ5P zP1(wZ?cw!Ru-$tdM^Ug~Ii2JzaWCEHBm1D+ePxF7t_j^0>u%^PcIFzYF3$li)K$~H zeM_YWz27tY2oZ#G0|=Lf0M*AQ_wd!>yxO{0{D8g$%%K4DFrM$Z!kc%sKn%gJs{djE z)LMmUZ;ul*1b;DpJlQ_PVccj4lUZhaKAj?UWY5dtqr4xu$A_= z=hoGmKY@hFKS3%H})@e-eouB(-Vju5xD-nnQ zg9>VQW?1uGKh{z-Ohgm9gbhHf@WthPwalpB!!u0UZ>_E!?OqU)90-mIWFv6*8N9`u zi?T_3@(|qfWWhY`cyYEkWWiQl@NxVl5q|QxT|GSeTj2av1hO(x$dynQH$(~1_ud(7 z&#jf~GFV8{SMpJ1$X7Xq$h}*yXl>Q=RX^rQ>7Fa@?Xv)@KgXp99XUbUsjS6n%F*tA zg|y#Tm)kT0!6YhM=7*Hst?u?Z-tjQN?V{f?{7`aNQ?s1FC$LE44|h4Ru}g-YFLkG^iCT_W?17o?mujm`*V*q zDPrFgT1+#}=LkPy&i(xPBcC@3soI?;odzu$%yT^)VxJ13@~po!=j+$1f&WXMxgQ;H z@8cNqJZ~7^1rvPop^-u4ILzYWj*5QYKaUm7J-21Z`H1#Pu+f18?;QGlv!y_d-8*`9 z+1+)&rz7oTDCma|>hWghhkuu)KPP^%2vCL>-B2kRP$hhx(%BD-@@q{Dy^TZ8#w*qu zV7D;s>R;#2<1g91JXN@B0X5#VVYuy$6NRm#kmMdoIzFiP{$A(T^?tiJjvZRX8&Y_0 zsuQ2qPe@3R&7^&@go zTWv)2zMl>km>3???Fw-V{T+ZDerx&cA3 zHT*uY5Zgip$+(@X_;@~78#!1UJ}Px{)n|~NybTjehE(Xq?KPtc^nTax&NXNRb5CLd z^1n-zmuC-m#wi+z{w&jZ;Q?ptBa@l;ZE|FN+%)7l%k^1r4Kh zD6au5J)5Q2{BkyE|2$?cRKR_)*AeHB0{iZ{a|*dE9)1H&eBV(ODcyE{em|TH@xv3{ zQ)N+C^kAT%pKZMKHWcOd*|*(3u`=1s+P}j*tM(ubJ2*uRrTAY84~<1yu35?NOb9Er;;D`cmSUB7aOp$8LuHj$ zdUxahq7JFp{Fge!IedR%>1rsmp+;K=8KmD(uWA)Bs+j-8X!yZo7%a|umra}wR)M#E zt+$Etk9Wu;UF$GU=CRn!+(M)NS|0`l>^$5W=&{LO}v>+Jm;W+gryLfBN)(2g7+EfKiS<>Sp3J%~=O>`VdX2F^qvVl}6AQ3;@REon+S- z_S-LjW{Bd@DEGFNNsJK|Sfm$k+XCD?*ViPb^}#dT1f06y|A4;kxw2SKPCC*e0sgm| z+po{lO83i73kI1;!rhLTv0KGxHK9)ZtMbVHvH7xQ5WwR=LtDMhp$;QK&hL~=IyZ-0z!k+|3d$y@KREtHSd0?GOiorR_-ULX>dq}28U$tDvg_lrRaZfz(;xwQZkN* zZK+c}b4zBy2AKQGMqjqskHVO!&`*S!oJygODeFj}IJhJNuJdl&Y0s3K5 z;Z-i_Cg07rhUjO+(x3nK6sK*Y+^%B+fL0@A%ZgK=6 zp<7XnFwJ{L1x!5nDi(X(DRJ-&1BY+rS6*UX9`m5>JX^iGh5FQM54I{JGiAouH3vj6 zAFGGJUQ$X7xyTL!_(P-JEJCJL!}J>;N#_*L1ro@%=`etkiapm(;FMqFyfKkn=OQ`1 zc>Rf$N121o%>5sR*7cD9-}m13cf?k0hbX)@3_w5UmQ4VGbdgev3@)mb^28|N(|>^e z|4_)zJO40&!Qub#$1Gt?oc!d8u_{=#Dp69l@i>JlJ+=3 z_y_HRA8#GV0vATbp*sjKDp=k5Zw(qC8F33k1NaJugs-B$X?E7c+}?s@n z+@P4KgES)GU*BQ%cmJxV9>UCZv*r$~?%U=}KYTbg4^8+-w3IY<0Xmo*F8$8CZvu>T zA+&E~?sp9_VwgDKNu%Ck3OZtQOrqD?g&E|e&L;^8PFdUfxs+@~cuAaevZNQAnn_jv zfQ$!FOn+wn=~;#sBN^%Iv6xbha~0CCV__cd^vs6e>*v&bT{z|J=rA%SiCE>cgzzOC z8oP7g3qvYaz%x{h;&f+TWbrncxMfT{CN8;H$sE`m)?6O*CT@$9?UtIaB?D(QBBIce ziD=`dC{EyKtUmja!Iu+`;tiYTmhhmD4$ZyGsr3E8KW67xBDv;8`gufvi6_m5N6@K< z(5WT+lD0eCDrp-*d-x9f%Faat7g;Y(=C@nCT89?J9;E$Ckmcs|NH|!N%^#Pb$m9R! ztxYz`qXE@Ffeywh4`~s3mCz>tuBy?GC%~Uc-dPHycw0~X2Ry*OxCk1G;sc%DsihC} zf4iz`L@9hTXxxN2B7b1zI=&p%oED$ayFN6gUD)KJ8~-LgO$ zeJMa;+!l$R9t@W>86se4{3oi6g+7H1jzlX*p+fmD8bhK3D6c^_8OL)<(7zyBQFaK) z9jlOsWhG(vA`r0v{%!04NNV{w&<~07B$VGy4W(tB9E_;74xOHtCix`G{s*%Tr z6FC*W_T1SLusvCOTK8r+%Sx0djAxDK$zz|{M&l;^qbv3U4?EyX2Tcfr`eG1AZ?07I zPHz5!)OgqthY|+#uHQ^R3#={G)NQsOt%FiWISL7$%6_iGMdHG%$!f?~Jb`q_-~iIm zMtr~6+SZ$?fh!Bg%_;6ORhi{q0vlI?#F?QWCiT;?P9!unktRskR+}|gK)-%Llsc6S z9Ig1*u1L_xss6t?b%>6UZnxF(FvYS0TqPGen?W$8MA-)axG7*u=+gDlxsm!gXc!6z zmJ2^1eS&BF%}FC?E!HU^3cP5NfFhSHYVK1lJABjTtW95z)WJ zuZMqc{2(J=AVAkm>bW$#nNoptP4&L`4F7~O&p%&T2!G2SHwYR$d*K`vqEYEL*9>dE9?>CV$8(<+2Z=A#DR3DmrFN`Ur??X3B1MJuj+J=VB z(=B5(&e+p+7>g!1doa>+4vc}_najq}3xN2uyURBgwa42k9QAY@z&TaIL9+$QH7 z1-ZTVKja21L1jIcWxpn@8N;oqPToPO#3w`U$aiIzs&WWiAR6&At-BHf6!rJ~Uj4rq zG3W+(Q6h@Js!XtN$9s6aI&1Zn-Fbh#mkT&djwPaxAucHylQ)Fo9)&75WBLcX$)Iak z0=nsO2=U_+#Tfiq@w5v=Y{6i2kXqZaCZNGDVmiA|&HsGM&FI#$WEcK%zl;;mEi?B5 zivd&3!cN}&6m3d~{04=(dWfysI6UFL_jdz|zWNKP3=TbN{657)$QOlqkwE0Ve$g2P zYz>F1ORaT*?>v{Z`7Wnl$eqkAzNEe(h(OwZx8z;Ewm3^B%E1nwIiWed_SkW*b=G3* zoVz+sF$}^TRERtf$Xr|lldVQ!=k4zH4)LgaYAy2eqKsN<4?(IzX5`$`gMZm~C%0MW zVG%Z4h$+xn5w_zX@lH#$caJtMU>LIQdPp;o=WwGebt}t!y`sj!0|s|j>-L0urP#zT z%AX_B2#L}l5Ym&Bn{e;ePmhi^PSLcKnRW!aChq2UGZwC;~ zEK77!?m8sP&0`ry)Vrve!IPF7?SH+$p(j{U7;L(k0_RpCvu+ik1YqsVPX2Gls_A)H zfd1N1O3H^3*viq5w7L7ayNVEt^pq>(7bcco-(RzyEd|%>qo~WUvG572UN+t!MXI^Yz+9Eq;bWQ8uD{zg~Lw*_~uu=WFUc&`-D>b zn?DpX8=Y*qZ?^NrqF;99&ZD;KoQb{<==(B=zrx4uSExRn;Pfxe7TGXiLI`^+rb_6b zBc+AU*&Te*>282j4AH!PtZcjL*>CV!%zvz*{e6imzwEuyD5KX}l~P{!eX4g!?=F=M z3!Q1h$v=rJeDyoY__!5e;fqL71zhq(auzpbpUy5F#<1Jt-PW&52|2~NvA@%8Saa}R zQy<$a9Wa6%@Ta}eHNntH^U3rv`jS~NvPgOZe#@i5it>>fE(gCyq=!Yfy0FSNSjBs@ zC$j1jmaDgFgy)5)kHHc>0PJ9mUdBXf?69*`=xlf5H=$t4(}`DeNCTY;S=!MeLPQ#a z+7omeG7pzvWlWe={ckJ`wN9wM4D~y4Rby;ii4o~4Rp1BQU22LV(A|q_)E5nMx5Ncc z3q;dN1xgE^e>9PL)t(e?)+u#pPy~NNrOY#7o*}yOba8>rgn9B*2{c{Wvgc*k9#u&^ z33=9J0!cHi)X5BoAjeTP=rU`O{R5%U0QAp}k|9e~*{JDPzIe@v)@j&8KlZlW7Z$3% zO-Ya9{0Bd* zBMOEOd-4w(Zx?I10_``WWfY%*RO%(KitD&vW2{hN1vzEs2naw~xFID8u#f}wSOJx< z5wrB;usGV2<<=~;=NVOCUfYT5SX46N274X`_4jUC8GXeZzO=tu*s$vr;Gb@vM*#(# zfMaf?SAS6{E0jpd{qN7m<;Oc@qp#7`7&Z~lNmBn{lh=oS{khnR6|Y`H-0q>KqNJdt zgfGGs+rbQk(I_;}drYeqTxFxN#Lt+Dh|p$o)BAt8dgtgkqqbl8j?>0A8aK9$#!edB zNn_hd8{0{v#0P*ZID+=C7H#*UaX%uWSE6-ao$IZl6SThKn~PtNRdy zlx3k+>AoH4B>K7VIXghpbH$bm?V*@QU@?BzC^?D7M3rNdOwiD#It8LDO8Gn*2haqm)2NaNss`#YLWF~5Dg@bby`9;?9+i*=d$gj$|bBT0J zV9DaA{zL>F{)SrM9uIsdczy76x!_3R@D8XcfS{LxTl|rk6M(GbqINOLDKkbo^XF0^=a}EZJmO zz_39nbXcA3pb|zY2LvoIU~F?I#+-cM5g1z3f&!V{y-eM}mYg@#E?rfS+TC)b z@{%t(_s;+I+b>;j@M)Od%hhQ`MsDQBV{lDl{=A1m`-MD@^Ass+jvEPxX_5{=N6a>2 zq+gUArf|Nq()KBHyfwVL3Ol~H&ywO>eK|)=Q{;P2s-;#)TYUcO6l_v(W|;y+zpjUWmS!o#`Gn)@GGs68N;S`Y%nbmaMVZRKA^swln%|HFApSymgCzT7~ZRgJvVdPhms9a9#M8%lY`mk%Pey)yp4&}=Ru zyYWp|8y&y)McLySOBRq!m`RhTZw@C{{-DG}u1E^}r@UBAd-*8K=e0MA0Pb@H#bab!*IG2F{p zPBS%C6J}LnUAc;0RhImYL`z!M8Zk%l+ld7ILZYFYx=J&MWyyzwEC1?6J}J$WQl`bv zDP5-GZYgW~+3|7oS4&S7e)wkMk~VE8$A9&WqFe2m9N;CoWXwy9BDKjs<7*hXYIT>= zv{L+aE3KwF$o34BHg2--U?KqL>k=*8nkf=IkT?-@#lD~OQf2MAHpCq$3RwRN|5_ylGnS7e=Lr^ZDXzaaZNwyaFe;? zS}QfZRHaIhvoGlF*}d25olmaKlZaXum{~DYzH29vsjIHJ?J~t{*+9&->WzTj3^q;@ zs*izMma>VKt2t%No7lOmU;fl`|EY^+I83|lYfBw`f3TRAB3GKXbM~9|NHYWXcxI_* zqXcGm2h(9v4>FZ3EvrAtd^JH5R6}N_dMbEt&T3E7Falp(Q&Q{w*7hcPQq~z zPrt--BcQAqK@>JOqmGwa*0#&<>t?{St9gn zs-~T)Po)`wk#Dsio@BlQ!ZmcIY2MOX?AV<|pFwL+cW(xhoj!?6x|Q}&vZ~MQx`Uzo zG^y-HTdUvIx>&Zowkyh@;uwLv>1c|-{11|Gv#ny%E>md~Mv+p{FG34ny}d|qc>P@w zQx0xHF|3QGy|6G^JwLGoX)$vNhFY5D!}orjKfk=p`msIB(FWDcZp58(3u*_B0>9r) zP`Sv1g&lDozW$2PmbAfMb5?5Sw#_p18=Pg%G4I^1!kt2W9W|%vVNsotriIt3k;=I` zPF{}@E$g$mAs5+o+@OCxeob)Cx?R%*(bK$FStiI0{Edp0!t=tp{6ur1{=Vb>S$&`N z{@v+(^CJDmYW+Ns_?3asi>A0|;8D*4Qt;~5jjf9$U>e|hdUrWpX4Ui`GTHeoZVrpy z=!IioM>kpqg5Cf5J##~2GHO~%F$EU~#xPk%+Ot)_%oX>w+f-8E_XR_L!~51C21+AW z6sro!->*N?HM0)m4)F1xKUdkReD#!#$P&KK?5=SPXlLfW;_{J!>R6yZeF+*ufuanS zfA`sVFc%$)E`dRNrYl`DV6z=Bz0iBx zLMc8hk%9qSd`@&G3>x(Ca9P3pxu)NUr1S5!zZ%Rj zS~3EgvyH>84Uje3WR=m{^rQ>fZB}jsy2B%-lF!-SdeWeWK<;XkuO?uA_mXbe1^mi+ z>Ph~>FZ$_eq{pbOF4`7IMt;4)XKhY75QQL|naffr(ARF=39k6P zUk;K9DT?WXKT__fG`{j^h-~C0b|d)Pg5rNRxO_Ul$M2mGw(BFo>|6&2=si=$CW#PY*k&{i2B03D-hUVPgT8A|R^Z7-S zmNW;}W|p=3{An&Yb{v0WJ6P3o99M;3ZqrM%W|u%_m6s1u48Xhy)u~M!GC@NUSCpVD zj(yhqT_$rv1q?H`(#It;X?>zD){TK|!l@4QH@oD2j{Ve)28oV)OL+2AB8n?+J(7T8 z`*B7^QDY(h`-5~V??tHs*L^`~QVLmx&iLlwUlGQ}=pX`t4DhoCzvW+b$_?ERUt&G4 zUF(EYofRoQTJ!5PWf$OAF+eg4isYTz)F+Im5CEs?^6~-r$r=yVK(c^6eW~y|L?3?$ z)u|# zYHmU#FRd~@^-_vD8ot~F>C45bWOv7TX2%&v>zrC4RzbkydsA2y;A~%R67ur*s zlWjtoZ;Xx=E&~Zl)GQj^ZPrALNI7XSJuKd}}$%G7NSv`-w<<V)D*lV~r1l53C&VDBB9GiZGG{UDl$vp7J zW|7GB7^yIrcKb{E@lop;k%`3NVo>1va#?^e+KVI%Gu)NYO#uK=AshRrhv2(wzF$sy z)6MyLV1Db9l_x`YyiaRn4Bdov@c2hgiiHMbQe;Y>7#R?Y^emHI7u^%@*fzqG8k3Pa z40jihZZ*=m>)1DtZnF$Zc1pJ14tv|Z$kyzQ!=y>+q{-Y~binWc{O{=xX5V#Vsji2< zKz7cO1k?b6`88e_Dw64m;2Vzv@mA1387mZNV}5wF;m1m7b>2OGE042^)?_>IO@!(H z>CXZ(q-dk>anray3qL>lW$BlR>tq2ch$0sy^KILysO$8ndmjNnb~2kZNY9U>|Fpy= zq!cpOQ)nACuWRoL_)9B;>xHzhVNUcm7z8`s7P_*)*-XYqMGi?|4^3esW)i#?J(JQi$TPcT9 zD^XI8_V}hYN)|pcf;m#bA<42N$VP28O3Kr<6OPx~l8@g=udF#ni4a{1_xn01^$1cn zme$|F;d>I!&uPfNOaOo{8Eq=W&%w|2P@v2tQ`-cYzKJymy`l2U9p*MZ&Dr}__WpKq z@%FkQG5?dUY0{xm9!S2IIIl&vQoPQ$V!Xm_;DFXu+nPRJf<`Mp^$-IRs3@}xv+KH;b0&Y7SL7CDIbhQSjBosUb zXmLGDZ(QuMcBAqNtBRpWCCnBYCO_}$;w#UYz3@;7qg|;#Us4(3cpOK*6>7AX96*oI zf1Fj1kN9tn6GmrW%fcbzx9|uJ+qW5!HT~|O{PSPZ5+GzuB;@k`ivA0=j6a6haLgok zKy{-r{$u@_`W`MoL34DPZW7qk^Z^}s&iL$4$&fJ!f5YhCc)6T%fytdLIEH-yr=XAW3?J>0NxnF3_QvQ~_ekYoef+_5I?>8CZ4uRT(D=Md-n2cm{-62%U9AfiV_DCd`EjF0S%MVqI*y21v zvI}(?G<3N%bbO%`bVV1mMHgOfk1&!q6LI^$k$fixy%DqUmbQO@P9FLi3tL3jm8I8} zEOoS?`A;l;<@mknB2VS>m>0@gDjn4kuE60)9HDiSt0$G}e!WvtohYJ0tON#m`4uCJ zY}wCYR$Q{ivz%|s=2bH{BbwKFqFG(BKRrZTCw5N0LXyYg5h}HBGyR*n(Tx%fm3^cT zWQB?bBmv2|oHM(#&kx@n+BqC5hCn1j!&KX}W~*e{4on|Pe^F#(NK>n&eWw8qfh3d) zj>xd_U_M;HEip4}^rvN&?RdI`{>^6$B)zwtvB@!8w|7;7NE*}G?VpZeQ+pd)*RadC z$BH8DHL~rLRPVY|d>xG5mB`-6iXNu=E3O^_=9_Ah#Eb?FjJp|Vme4w$Q-LoM13_W5?NX32u%T)X)QJ-8_^Pj%=F)tU&Z-_sH z|2lO)=5=>)Ht*{hvY8h*_2e#@E~|8al!19AZ{mYF&fE#1YB&dbM2C>#%lGObcIPB_ zO7`dSJuDrZoGuSAHS{e3+@*CLD6lS^+r^_>Gf4IA>u?ytQu!hr(f-EKrkS>#sM2p+ zLXAh&_O~Q|Mu=SYpK3%KHZ)%vycWh2wJ*)0-|>Ah+JdQ?II`}Kg*(7F^|8>AdHH-0 zAQ8;+8rWa8{Pz+P9dN#~yKhki_%!V;guSKhCk*x#Ex?hu>-x#X`1C|vcWNH2aE$I< z@2zLZZ4_o`-DyNb%lPTkR@Pq+SME{zv}0!kaRqGYCO``_TTgbtEqrSXnOpgLoeNQU zCX*L^tJt1Q-VszHc)ZqoN_k;6{-?u+!WKP>>b8198vNzdIvsrE57eK1`6=in>`|OP zwzaZZb!L;~yfQSAnYL3S4I3zsR4qTHoQNME0<%7109vJ4hSSEnRPP_nVgX5Yh2tSK zSenwmyr?jHJOM;{hnvyeNb;f4lu|r4FOEVL!41dbVx{TefZfVI561A)n%hX&r)wyk zR{y$q6N`03L9XvFgcC2(`2qAM?)*haxLWZ(Q#YsLKWk7zb(bg;!`?Aq5KdKwkI0Np zE3sqlFXbXmUmHBvoqq=q@yK5Ai4bVG(@`(wnB;6*KzAELP8`B3k=F_(KyJy)Ev;9A zDrfyW&~p?xdXazs4imq3tTQiiuwJ*X1I35!SQ71W&bKyhKE%|^ zHdk-KNMFy**~@Lh9L~$+){`4A!mfF}t;t%m{Wg#6@%rjH&+%H#etTP75`H9VYYahs z3loDEM-hez^I62Q^49usmA^4i4^LBr1zAe-3f=n?5{aasxaVGu?&ub=VEs-1D#_^H zM&`=daR9>xU!0kQbEmm_+ZyQoBWDtILBXh0N7?gY_IS~w8)Tp$?9^v+k);+TM%~L1v`A(=60=FkQO17)H2ec6FaxbsAvc*W z;n0gr*raQ4F?ilaHtytsLYM#6q5uC~h9aB2CmNwtiF$@$m&27XNDe5{;pzYg9nj-0 zGF(TH5@EG=Kc-zkOX1sqK3b58J>Xb*>-m5K35xA53BE69P`}6ywED;n&VQ1ybkrFB z-3<6EEmSII`|wuI*r>oX-a-!-QIKj?+QM?)-b<;|nk&+}mk;>W;Pn?Y0zXMqX{Ny| z0s6PohJ*bjRuzV~^VYUbkA{>FE1R6t3$}8ImQ66HmHsY~o%8)Zfn<-8be~ONO2eREyQhW6uJFW#pq*s6=s# zziV52O->aQeQz%WC8O5~Z(~nCfRHdT*nbnN#OJz{#vK4Grkh}*Nj?0@^JO)+y)j*n zP2v69<~xKM-5;fnuHSP?acF^_-3S6;^`aoz!jJW+D;^?HeJWa%RMzVWFUrbB{Qv-l zo7c+FivP3-`}@;h?efC~q#&^BG6tK<%!dr>pc}JX@>5r)rcHC{pQICVfoirVI&a zz#zGMF3-MkL9jvu0n+NyF=3APA}d|Ml!B7AC^mSDks0xC{LXXWF$Tvwc~su&DN8g$ za4Xma4$TwPN|k&4{}A2R%T6D6%bJ24F&4&pPot#`k!~n6LfS`waZH_33Hi}DdjMvVS$=hs6KwLgAi;NJ!6W6#4e_QYUX~H+F4n75P={SiO zRYqnGy6|(+-TZ~F#QRk~>#f0Xi3O^q3kI;CBQ6XAXbbndGn(ber~Qew=# zt$Z1{sfZlkxHEmoNJk@O2`RUZpM!!FC#H`3dR!u!@i-i&Azy%%Ul!h8!qjdNy>I%{ z!QoGs7KR3-iO2dRzo|pPrD(J2uxC99IQ#>HoN4K9P+!wica2f?X`E;XV`W+M-80uL zieN&=6OYMkdxpE3IBRBe@%;ja?;(QsQ^MZ~8VjN(SGzity~$|aboKSRn66w4b^$e# z&N*!Bp6}3OUFE(C>+kazv<$IpPpz7D#Fd202+wJKUppQwtKiv~j@Q!^5M(OOIE&G< z4h_Anq{Y4~bVpdBL#w2dAXjjyMjdMvWl`^yw(FB$Rv^-`wrG~NICoQ%PJ=8^bPT~& z$slKxLtv8A*P)}mK>c)-;ilAdmz{G_PW}k9jxhErufd-QA3cgg$74FcpPv4Oy5fh5 z_NR3xwh$eKpT|cs5j9JSi$!--{*JONzGKS|=3dq-$B-3_jU`vQ?VK?q20u;)h5LUR zNj%#}sHwvLwO(`55r&KTb_ZVDqRDj2lpl$V!z+4%xS$>^ZsT7$-iw4?K;Iw#2qcH4S4va56gLuVLvAG2TVhFZ#;!ecd@Y z@pGomleB~adfFNr3Q2o6!4ecZa?};~wln4%AKLA2RAFmhTokxV6mUS>k7+;K3Fbh> z+7<~YC)_E#c`{sz?9qyWs9(HXi*wp`Niy>6sjA?x(IOxlGem)mrW{0;tc1Dnx5;Xo z$?>tZ4?am$rw!P&gG_ze&Yd1fzTR0Ah3^wF86U9!8dGzegm=v`5`)Bmw~-7F%83(8$X4(H={y8LwyO({u^? zgo3~I=Xt)h{>fZ9_8-?3ZP)^~s!#}e6wGcLBTy1L!N~bo<6`GSpzt~kVp1;W*MkpZVGBe`%tizuNKD2zsecu>PXCB`#I$s$+E?!F`KVSfDyfihukLOM#-nh-V z|4%#M+xlssGMu_Ol-xh*_TmO|IV#*cpZzVE8$*$l zk`m)Q`CoP?Xq@{ud;f>~{QtD6n=JL?=wFxrmo)uv-d)V(eh`3*V@|a`OB7c^I7^$eDwJ(Eq6Te!q6p- z3Rt{T)GU}h^6D~EH(50U=NGC%_qValz>w~-9qJ2O3;358iya0^y8o3MyMYo))pd;+ z#h&Mn10}9oN>iQkpTD04>fVKQHy{B(vhgSF;j;FPQe6%Ydh*djsSr0NsoB+wxgY7Y zo~+APWg{Z#-cVEYZl|i8C!BZDJl_uBlis@2$|{50n@Nt!>2U;Z)mPFR#N+#|!$*wh zF&PT8JMuci_*@I0ii4?+@H@0pJiOxa(0)TKJ4bu4X;I9GCs#Vx&^ysZCwx({FV#}2 zw14_|1(^aUFK3rbn6Y5;QQJ4ToLJOjnWSHMO0un&ZuaBgpxTZat|(%ATV+34f47ph z@QB0f0*hP3!bgKi&lTC=U@X&m!2Q#7I5-lmWkk6p+T_ZU`8p!-@iY;i1m;MlPKlxR z(g=~MV81cH*%yxnbCbHg?#{wpps`*TM;jo5+@_tn{oR@$=4`b&eZvK>=RIMjhSxpw z&Y8cs;=_k zwP=D^i@vhWbYmW7w}6g#J6PFhlG+^mW|6d z8p!tMYHtwNJ6}0&#lAD7R1RiAECyMaWAVGcBiE11&xtngIsS_nntp109g|5Az`juG z>jEDzc=A3_$-K?E8yU_?Fv+!`uxx#~E@48oZmtPg{du}k*IeUj&BLVeEwqK5k3ZH3 zRo+S<^FFuCk>HGFbw20*)lb4+EF=iGwsMmUFSBO+YkHQWmbfZvU1+hJq^_PFevnmI zf}_#qel!a^XMtJLBdd$BT##qu46Lr@X04b)p6(&1@3fLWzt!qVxxlQGTzLw` z2ruO@U4pJHk)o@v1laQ>&;(J>nM$2u4=Xv)Zm4(P^nGfgUQfM12hc^x~$e8 zJb7uO^srB@mgugCNlo}R1St!1=7H3PCU9J&9>uFAHYoqd1RUj&)=%Y~!re$E>U;g^ zH9+GZt0KV~FE0A3PcZ5mRNg14vQ-xEQC)i1CT@LuJ?fQ^Ty%e@iUo_ON%ro}mD{3L z>RWd7B8?N>88!akv$j3EA$4!5%94w{?2d~ zN~tyEX9spw=WqCYt&yUCi18;)mzrt6ws`zvxN(t6#tIwI z74I1rbgca4Doq~Fct%q(7^7|k%}J66cg(%_5=a-#Pv)3-Q9FKQ5hlZ>IW!^V*887G z_X{bR=JtHB7{9s)L_Rrz_{T7eD9N%m0i4)_8Yq(4fj=rtO^O~j( z`CEt0a_0Ze7Drm+dHIPGihj0_6rx0Oem_hUPy%6{vCLPoEk~)CU`O%|)a;a>i+4yi zE)^N=V2?k1419>gvgR~1bRE)g+m~oYW=CLqt{W&QTz_q!gnol%-Y-jK&{|jD9Rh1H z9Uwu>bsC3f2yCimK6!-XS@Ak-t!(%+sCj~_8U2No84!%ab-a%Bsd!GCWXe-1-ofH~$0SBG^l5LmMMG+&E1y9dbxNp(Zb>kXX)Qse!l#*sR17z@K{*4kNdQAzxT2NbksN|J91F!Cayfk6un8QrT) z;U(Dl~l*uqKq3U zh8JusZ*J7S`B6vYsvaWqjk)$Vu)sGDE9l(_CF3eeNtOj0{I(oBN zeJtc}i7`*kIWN0yqtPTB9{q2y1Yd%&brDMr*l9h<@?jn5=Ns!2LYDsAr+7>Nl8(7{ z3;e&<5zsg|uRIFut2orM;OV1;{-P-P)Nx5R#3`quy*%iMe@hX)eu~m6Wf^Xq&ml-`4B{svEde{2U-!*y}gt zXjY*#R$5=O$hGM`8~s0*ZeCf$$|RkNd_aVfkoIirs4ZxeR~d})KoVKgf|Qn`c#Bi3ML@nNNJD_}1=hs;q4VyOKk&5pGf z@@g^lpWdJPv!*m-t#hlLdz+-Ef!?R_UsEMT1+FJN!l+S6X48%nfZ*!efcZMUC7Do> zj#mzG$O3T!o~S5CbZ(GK4O5b$p_>UlhWxj(F8vNF?b5&p9^K~8TCFPOTt~$TIxCv% zcj@*9aw~k?)H|MtH7A;-D{6~-BFbn`+U$S{US%cD4?QN%*-CUO=_}E`=Jl1=MY6W} z#l^WnutF2>d|$yl&1nnU2>1^t`rWIa+GiFD9m{B6U*_7IkBT=N=n)&#qIvF7!le>< zy&ksa1uYVn!R&jg`NPc;=x&$_Zbru0`}fKBbZ)pP=Z1`7fJND8jz2&+k=B~vw)ytv2063kJ; z^2!?;FFqbB&Yjol1W7TjZz>jG5s0ur=b5ct-Y`$IZ}|F7!txrp5Vkk}SYnf@|EljL zG?Zm-Lr`56lq(a99MP|{^TW12u$@u2-|b1rMQCOYeyy?>^ z!aAscwSi30b5(wP@C|oUSn<_;K_vDIFw>8pwTsOMtE;=NroTc!1Ul!qGF7`m$UK9q zc*d4yUVk&{9=ym424&jgkpl<<9d+S|5tEVY%rl1K0PF_3$kN84GOLXDEmWX8Bz7ktdMxmb(v zsEpQNC(r8KC0h}Bs%1!aUY{H*40;M3wDQzj$M@^R6-ci9_CA~7TY+u9dl>OOoL^*4 z4`H)<9?I#z84orKgd_Uen@ETfB$@d7YV!;&V25atsxqjhi%UQcdUim(r!=Zmwi0LT zGOD8JmHmvy#APx-_#oZ)s8Rx^;`X4}Uy86Qh(kOnaAEozBTkq_E)9#KDulv(Ulg^* z&ZHL2$NFi>`I05lef~1r@-;8xuwp9yzKM~ z;!1eh*^qmm`YL?w>Kn9-R-LB=VIQ>* zWJKoPo+K#qn&|wpzqPX~1T|%s3cl~EYE62mmq~jsPidk6msaAe$H%P1VIl9N-{vs@ zC9%div_=T)kcYR)i}c`;iBs|2S!Aa)8vM_*nwX6T zH6U1$oqv+t%2WemznNj7x>Q2(u0B&DK2V5RU<(IQ8!r&Ygt%sm<>jYp9I^4?n0y~~ z5>*u}fznd&@-%N7X;tNJXQ@a-L;5gyY?r2Z4I^zM8#2uO?1Ia1YK_4|O5>C$-Eipf z(PVmf3<3mJv8-M%(w_a!{Qc~FxfO3AyAg~I*qMW5l&#q$LXz&%^k9hiaTd(EYry>2 z`4{@@4+;eplMjySXeY$kg|!;IO;=&v*-ZQ)zkkjJ zwcd*BU}1c}d4KCNW;>!Vi*D0B*#!9wPS!_3)6>lpOila2*r8;Jg(Xz;;?W*HLD}j? zxl_(EiP8oZ4B(H7fE4$9sF@j%(9C`%<{lGEY6z;q5N)TK z16I2T(u|G}yrpk`ms*uBkMmx*)?F_(XnSs4~j;pogHl^ zN4`MDe@UfiVMbGBQ%L8#BhZ9HxO8s6Ccy$0Q)LmvK-dt^`N{3E<@^FO(_hRGYUIo{ zHO#d&k0{9qoPPEuq^k>cXXQ2b<9PB!M~mT^*}UD0dUf?}cQPqE zYSE)n0;fc&nunWQBxE3sM$EwGR&Wsh3E4F8ATdzI1E&wn2H@Os?C5xBA zchm3R3%WdQP9*|#c|!ihS4Jw1f^>0JVbQ#7ck-SvN_-l|6b5+99s7Y(Li;Bd$HCsy zQCu;0IAF1(ypDj!phi7Qtm6m-^X6%UO$lwOk77+FVSOQ{j<*8yW%3!Fi6|c_7UQ9&OL*ZTa%tl12 zs%ZHzz71g#p6(l#&``_VIwnNn$oT~nl;UJXQ{3H5CW^RH6gIeD<1w9Q#z1{TkQEZh zsdIrf13ANQ8h-+5c^oFB`A;QzRVFTJIIDuLxbjVA7<3%)H<~S+K!WpbC=GL;zf=r% zwK0W$vCktCOc{a!JRI3hmC;B*0nN#?nQjFU2<^kna2hNrMxXZYrI8vDjQ~*6az75j zGj{|eAtCXI+4u_Ul*=pbvA1_5IysEol-kX<-X#6M#AxTy3$}x9kMs!X(K9AOH}nqg<+44)TQo zu*uxfC=&H>E9iTUI(VLFT5X^(cIL@`Mx2kZFb&q#(jf#6a5_yKl(tIo&FnXmkEspx z$3m|$q4%R*HjBxI1%O%`)%0k^=mQD(d58BwktEpQDJr%tudmEtOn^Lh^wV1e6!Dz#3U-zb=Cy@acR4}z-H=yD;CU(Y;e*Vr|)NkF!vMu)|*&{Q2{T8@_rv(Hg5i5<~X^ZGvsWb0-UiJO2|#u z5Cv*F(1<-+7=u5DFOT5$&&$>ydoX-JTj=mjtHgCizHki+d7@mWBUkRxvI|@gZ=iq7 zgf44X=_J0^Gvm6V#~SHp)tWZCGkG+r(K35lp5tn5_yrPrY} z?tOEJmZ5B@KQt(ApwLUnRXxbe{z9b~YR9AS0ik7RYxsG$-GiVpqYtFlkf)>QOHI?s zpF8+9530C2_nnCYB(A)NBoEx;V2NZg{Xi4DcW(o^UqJGEntB@E<@ZjS=?c3>DvN`* z;xAeGX9klb{y`V~2E}K#=`(Wz^&AN%e}uo+77!J8Tzx`=bv)uF^iwmki4$#Y7F9v_ z%dYs?&sa^5Usi3LJ*1Lb>6Opn!N^YeK`_NSm0%&OFt?Jn#HTm(+GU*LgoxDzvhKrU zy;z;5iCAAC454X$>0RJoy(fsbw^8Cd(Aj|T)Ap%wPMW>u#Q&Mvy=$ioHW>{sJq`D) zhZaxS<#`rR>3Xmmbep!N!^a?a6c!Za~@5*P;H)a^B$6cS!H`=(h zGP=6{vmXVzE5rv#V!lP>ne-EZA&NE4qNX1vAbCNx~%@`iPk?>aQFF#_2)>aEx1k7_8bd|!L2atO+Y zAcsxZ+X&6^CI=)aP(&BqzEYLI%8@TAf!W zy{>eafX%nlAVLN@f|UQsud{i5P8pA6A@nL>Q_OMORF*Y-@ zTf+dMF30kN&EGwpjMUIbpQ3P5y~Hvb3-2oNEq(Z#6Diaf7iqqRbd8G4T*cx3YEG-EtpY+$^0br(aX zV8JY-W5JmW53M;ZJ>+s0W?!GcJR84e#~<0un1z`KCV|+2nmxeGmYkZU$6(d`eXfyKqz^J+y?z;Rg}aL zJ!+UH9wmt>g#jk40Hh{{PZb?^o_WOX?tbv%wKs9bh6VLW4)tos`>w_;@+(C1#g$R0 zH$#8y07T2KByr)}L#sIR7iQ3Sd{@PX(^xoZKOywNSF`nh+RG0nuiy$xuKDCB8if;l zJ6tf5l|28lJjF$+;Bl8hdI4=of+VK@E$1jj(!)yraQ^cbX0ks_l;*d{>OUsdd{`Pk^c*ZOWlDkeWO&q! z8lk0rN^G0SW;w0dYQqK&>zZvM?pZjVqsZf>*j80TAIsGl`Duodff*q7nl{jpdXn*hRnC9c{D62syECKGeW{PHUalVWYg2p zGB@CT@=BOMRg*Tm;J5GkqJ$X8p%ibG-dum-*@5`~jsr~hr`6+F*5$Q*MGvX@dTQVH z2!{Sb(+Ky(QI}5=38bYu@RdR|9RGI9yqjUs9%kqp@~s=uc&7QZvGcq6u(T|w?{Amw ze|ITXzJ;#4WW3DFhT%S+KksbLI&i_c%Sy9(c) z*3Rc}!6>RYjxv}ia&iwuKx^d|-LB(d`{FH3L@@Zt_$LjDpkwo~5(r3Ip5ae8 zRg?))H*_+gC_26!E$bRid=YBo@Q?TcTN@k$S#;U1Q6K?yQOE3p0rJ#u%M1v6Y7+V^ z6(Eo;U+HWf(I;S&)%N%<-Lz0IARnt&ChI3`0IIu0ZA8?vvK#Z0`^G`^agOyb-Y5%Y zdq?B?@GZ8%Jqpy+JUda{U+6T0NXvz5nbG}s4Gf3pXn~)kEkn%oNJ96Q((Nu(sb+3; z2|fXMB1lf446TCGO(-?LY@vS~85sa7f;awNF#PaYXWBD_0Makk#D0ZE5fl_<(P$vDYk@yEeU@~Hj{(LAEw zv-T5G&Z~|g{aGx=>SV14r)Af?bZROKq6Nz~>HaghQ5&!fuMsEp2LQMpCM%{~_asE3 zTx&Hj^ar6*V^^mQKlY_t(MT_Z34$EB^B#37b^|`XyiZ)IMQv`Z;>mkDgZQ^E+q-GD zYQH!8$afsgS7g#H$5*(dJ}8oSr^{L zYRiiY1hZq=De&dJhr==ob1`%@4|L?`@WZ!UZ;jlv_D_AH1Dq`jJW_Bs@0xDS`%`!~ z{)DaryFk`!h#6MyZK<>22DBjk2DX0T%){4%@9nnBpqs~e$-X@z+(f#_>*+Kbh@o51 zJ^K^`Hp0F8FM-VcWp=1E<;!wPf~Ex?5BaSmJ(_zCCAnYP_-C8g3hTUeXjcfwQ*-n! zpv*Jb-T0f*-zhh8;j*d{Jj)iJnbC3hhFPk5Neyc3K(5wZ70DS;uJzzOCNF?*XM190 z@>`mk9KbIqmj^-%zQ$x#_{q^u#P38x?@GD8tai8gdtb?oNLh&ZoB4!@p5pl49#k#6 zYzpdaev!<79J;Qs6ejdBIIi5uIpFK`p(=y%qKnAJIL-cU4y$5+yaE)?oM#`K?8)~K@!~E-6cSRThPJX z9R}BL_TJ}w_nx|^>i##?RZ~6FYpw3pYdz2JZRZPr)mUuaoxq28ck-IEw3Pa%ZXt%B z7*+h;pDWk=7()7FDhwqRDn_Cqei7^65v_1~=qk^6crHY(U0-uv5j1*?2Zf2SQ_ID$ zy<>w1=3?W#qUktE5L-Av(2WfYai7_0({QPj?oWb*<)3p_dJX=4)fz86^JflSIkCe}P8{C6{;aWawDxH9T2$ zmvMl=Mc&mC<*^f=fV@Ep@*7{8zX)MJBb_fep4@4ge9{7*nslebi=NWnLI41Eph(pH zv2zS0nl+rBx4*ckf5Si;%BDgygRd4MpGLa+v5zlI_*Np36cm}mANneWQ`|<(&pWgb z>RUe6=eWwuf^JBNRiWDK)0dpp8+X?G50V^&HsKtJDPK#2GFCmt1s(YKr#|_d62kNk z*{TfswrpcIaCr|l^5(h!0qV_c3n55%qn(}}r-PL(Ub+JtaJ_eb;m-efbmUm zFX-EREi{VLh|g31m3g;v>{3eR!gV8}k5(QL7rBZ!RQ^Y-D!l@&vJ75dmXAUPD@h5O zZewdw9Z8>{!$|*S)$>A6RJrX19j~ih^+yCuN6W$Z`C5Z{_8L$5og?h~p&GCOI z)ST7Y1yW7OPW%1y3^`d`L?xr6()gHT$DzRFwXI|@ExXmSz0bSmqn7KKm9+@p)t#_S zgR8!aq6ydXr{(s+7qMNec%eTg%7*7~`;_K`X5x3QY;Ie2gch?)EdrNut~moqr(g9^ zw;0*W5VnOMs{K=nKVzc&g!1hpm-kV!I;&T_Ki#}av0MGnw+#Y!&V0VDEKDHT?&HRO z;D7s#u|s3KMSir6HrDh5qeOVz3<3~08djNQE@0_)T|V|lm{@3QwHQhY?CO^$k&bZ3 z<)3al4CLb>!sdn2j(cY^Q8svtW0)Lo>mBSF-<}!p&&Q0jU_zj;;bH2;`X2gmlxW4# z^YU+^{gIP)qa_;o$Blw34Cg(2SHJIkU-1s+u8Yty>KZWoQL-u$QV&RUy`ThsXS*&8 zC#)YKz@l*3J9};oSo=ScwDgLjV(v{8tw1Yw@5UU6?_)dksW~44DhN1B9l-CiuOr=F z^#_Sl4c=*T47Ld7p7jY9ISc+lPhJT)^TpH$P5KS;m0eENmexEjIzl?jtkn~)ewC`m z9-^=zRA{#@-!%0sN%Zm`wlcFnJ5*L2j5QMijnP3Qe@^-|^G`MtDh(!bmR(c%zl z{I(DJFjl1!W455pwgHUsi@z)u2;p^I-~MSO28uI+CUA)Y6Fkl8`RL88=FzlQTJ6Pu z@{KZF&=o;F-=c;5)xpw3;>r(O9a}tCzm;^v*`_DApCq-ow1F>!gn~fxssh^-l*taF zLqd$sB~9r;U%?)%v3KEmm(d*u9Z0Z(FDJ@ZV6r$CNp!6=ayRawvKfYruHP4a_6hYq zPS}BQi?9|8ua~NInuKGpMNC8DjgEDi85J01v{}|E=HJu=eBAR`UG2o?vmf@UEQ0$T zL-Wz5UkFF)n&|yDmGsWn56HGS0IlI*`No79LKq#g7iw767b7>bPPaLPjGy&iI~>JV zY`^#{rXJY(+Z|3Eg}2EpN|WJJ(p*rDD^eqB%t)s^p2knw@ECA8fw?5RisOw~zq=Fo zDlJ=9f!j#hC{IJF{jzi?=UoRAuqjv^A9N3fUo=&oCCwK9yqjQu$GD3`UUKmzPYF>& z!`a$ha`8#<>f%CCtCJ7jZ_=HCNL{{$Y~{b`);^53bzb*q{SJH2{`vD<{n#Xy#IA#R z8@$XZ?c|=jbog2df|_N&96X@`qR={2zxwVUw>AZNYHen+SdF*kAD`6ob=gZ`gLUUd zGKb^!3V(5>rW9}JZz_2+19N=Er4jPm0ZBMJGch$dPYRi-Ei1f|)N@GKA!Eg-yhVGLdfX~hSyUnh~{ zt`cbaqar|?1!IWDdPJ-IP8h!u_;6}~5T2&j_9t7Dhm9TNEKK)eS1HKQO}s#7+gK~M zNe2l1&^B6%#7VWbP)d4s$3(*B?c?OIHDEmNMZRxMy)uA_m*029!k6-1^y^Hs9IV(% zfy7UeA5FT%&=AktIyIiKX@0^hgs7wKWNX_jt_Ot;eG;SR-!0__iMOdFF2hl{FjPFf z|G3t#`Zk~e#1w#>l(_nT_pW!cueuepZ=$FKu<0VYIc^-1Z|{-R%r4>FP9G zdQ6udjpu8$J>;k)leK1-e4a=a9<^~y%*Xn-j~xxVacOG>1GFOXwq_*T#Et6sdv6TU zb1R+6q*ZnX5x4(kG6v+91@N%NlxRdCjq3fjgj*@qUr=nSjwS?(oXR?>5?}Pro zWH-sUp^~fv6BTs7|KR!97*gW}_OD#=#}qJyUni(4B?wt;-EZ|;@oR0ORfkKk6;xyl zrEAq*T~LkdMSQSLl>MwN*z^ojr;Isli#d$0&tI4prY51C7qTb%LyNPl+4sq2MB5|) zy!LbpLg3TSiSEwY z9p<%1+T~C{R+56bSYstVWZ87QMS$Z%^=E@wO>3YmHZGWlX?S4bKwRb@X*;*2L2`BK zFAW?%rugC4h_uLg33Nh;Y2 ztF|FW8|maDy7`8WAoQn~yc~hKUoBL-fr4*3w!eW1G3`|I8>FGWnZig@>n+Ou(}ae& z4n9a@96gghLv3yHB*!6awwmd8)xqcPUDU@*Vht#`}a z#ShjJ$6BJJ%c0B&+RQ}6`=cwE8Pv^LPy%&xfFky`g*=YI)t#Ms5FBF+UTX3?W~TNI z#xyU%j)UC=i&F)J$OIPFO1ph#YFCJt2z@dDYTLynbXd1xVxfJF@!osO;=xrTVWea=CCx9*2UB7gNL+cwsLdEA-xG}Vc zA2i++);<4}qW=|qL7q57UN!{ch3P6G)x$Mn>#ZC6cSWjxDa)rW;W%gGKbHvkh85$W zLRn{-0Q+PtszjZsh2v(t+8Rd0V1cW@(ZsuWC&$;*Ogx`KY8eRp-d{hP{c1ZawzXZf z^IztWnq@>$)TaHHcrb!5?KA&JY~nqr-?t~NJHuv4uj80)ZfJs%@boNpR?cGl{a`{j zlUIT_+Kyci_%CSR2y?Uuq<_Ks5a|tG zp;Ao&o3Mv6_^i!L(UZ{=a&m!fjEC(MlQNkWIS)pEXq%0Z{oQoz$yWa%7kF7>|4WV7 zG0*->hx-1w5>}A4$XKMe8O@d62*S;>P$Ue#tL^^la{k*7_?IRi$LSUQ-;VxsrvL2; ze}7F55$aF;=OL(GJosO22EzYpEkKeI@Br7=YMYZKLT^Xc38YTCTO-upq9uzca{w@H z6Px?V1T5}@0kxeRh|){(do}VwyQ6!_mflkzYLQ=ypSf5>=r!D>OWB-Dn`Ef#AFsY9 zC~tPOJ=-Yxwk46|oFC;!l}i%xnBBQr=&$60l8U6E@p+1J+5{SxR5XW2H*T#wcHVkC zSpPDWz57d>2YsgWCjZ58{V((B{uN3{c+jDOp5*EUE1{L#F6fz{LRMJ(Z?)&|tA@CS zRh5hhe?j+BnRUvf`0818`dvq1M(Ty70ZgF5oIpc$DQQb8BJg-{ZsE721HPIiw|Q5j z`7x%xZ`B<&SbA&WBh(WmMdZA0abEie9FLc$3vT|6Jzb3dZj3x!h~pKmHk4u~ZvOp_ zP$k#&KWTGo=bnUYwsc&*Y*+IYAEHFpatDya@eB9f9XssZ-UZt#HXREhBB7#mmZiO! ze#~m0>A$RzF8%0SM5l!+|r#%4==HERp92MF(LV`w7$S|ZZ z5@cyjceHvKD1cX$0p{Z9?L*r2oxmf=Y&ZPPh>(k$oz3AABnLl^g z&4w$zeI0!3lkg`m564+@n_&e0?GEavAv{@tR%gHcBWUa zXU9C3GuRY<*he~MseTSHEcKmx8{VkMV&SvQ!D*)buov!6!Ww!pRnk)uu#{uSVIQh9 z9wO~4jY%S|sF>3%%g7?z&lWhwI@=;Rs>C8Cw|llMu@g)~f7m8>HBxE;Hg~QOu+Kav@qKwnK z6CUxiN<)8e7tzSVw%uP$3Fc4!%!WZ%bXEGZC&J6zLC`tWfJ)9^pB1Hd3^=?HO+0fv ztar~2SP*PAuWt=Zqij_MuV`+}tAZNps-1cF?ksGxZ@91 zCl80U{bB$#$)5}ngSID|y}3usTJDH_+2_=>l8F@IqvM*$}xS0Rp8 zBOYa^D%q>ot9Lr03Ck=?8=?%6a?G6j9UC+U(+`vU2uJFbp3ZfTaa&LI39=6Mdz|F< z;yCiQU6jR>@zc*CWQxBcpA7Qan5JD*78cQQL>z zj~%!CkAwJQ+KMh!F#y?y7tI8Bjr-97ty_aBRS=9Fy2kWPTb`Z1GMeB5&7d0MINTWLSB55}Z2uxHeWN9JWJ$albXuNPpU1a5|L>THHli+mWsO!8g79 zvD)oi`{leD5-S!J=-j>CdfiF%ibEf4?sEK%8}M&&Z?57T4DSC5FT(&ugxUQJ&yP3T z^}`?K(k@VL*3buQ@en>=+tPS_o;(2QsUdDY;NCa@{1PgavWfjS3ijV)_AF8;*iaC; z-XEeme{(j-J_D6YNUkGSoOeaITg^4LpHK%OMp4tpix!u)W)=^VP^RMuisYS|BC4W3 zUzNZ>rXxOql~lRWNyPnCOftU_3l(&|Nm|++Bei}JH<#MnGiH~d4fAGJKek6Z1ld*E zV}wUSplKiDL>8;N*wQtv@HhE3(&y_n^ky=w&83U%xQ_EaXw+F?;Z=HO8PyA^3I=R5 z0Effg7i{~oL9L^&B5rLUpLc0|6sxjk<$!m^YrZRHui(BHMsnE3?XN<^qGjtq6~3cQ z*|}=Z0MSk>bqfd~94#RuuogNhXaO&N1b1^?-hhPR_37;nxHP$L{64xEIkqZQw6orA zV~0P^q`+!j=PF&Bj^EYR`}4|v%CQkM_^k3QMzN+>6T4t3(rPI}kKb#YTA+KEqn-=-Bp3ws`$osbjxJ}JgbmB4yuddm#F?pXgyFuPcf!IhK0Msx zjaWPC0o5hFVXSJuLv&{j+OzlmC=GcL1O_~LRB}VkAB(aH2a_>JJkbu>vU&w@1SiEf-pYQ8v zT&l8{F1t;ivXjE_+Y@)|3RMk1J#Jyue`HUX6uTI*z4)m5Xx&ifXiDdt~E#7c%Y`dAGdd$t>MFA1ZecjpuI_gMIVQy zW}um}Ytu!;=HA7Yg!GM<>&H;;*=R*QqiA>lo`<%qg%Rn@bW=1Trj_aq2`s5L2YuPJ z+F_?7w*u1FQGvYDTz3HvQ8AQq>7Z;srQ&*@^K~~uP)w3%z@%>Y(!Jqf{4dk;wxg_l zjuGDiQ;BTrI3&Qza%2uaM#9oPsOQufH9C$uzpo=JZOf&=VR{tAds00f;Pn;T$gXdv zjYm??nJ2=FWT6K*v>Cyf)^hP=FE3+V) zE2P35gYuqQ$|*UeXo#=ie)|{&IYfwLVEL**$JNY2de@~qSGk<^T(|^{Tt-sc-teFU zd-HCf_xhl;vBZ6qFCH;<$z8$bJG$C)$4tzS&FEGko7mK4r=wZ7zEOd5-w>AgU&G{_ zS88|7y}hz{Lf1eLhR7)=@bKlf{$l$wMZ3^cB6LMN4*S^^ye|~b{L?lFz*OIRh!1C{ zEq?ScjOeK;;OoIICXtit)J_JK>_wDcb}kraJQP)iz=@rX?3b0HEf#&S#AA?PX2M_Z z+Q8BJkbtIilmHH>JerX`9WQw6NrdAaB`Unh&*lfI7e~|kfnlVuoI6Ix z{``INQH_4onNzk{Vb#emqc@;#3Uhud2A?PSJvX0JZo5QxC^qGp5Yf8y;CeBWvTa7` zY>R>6Oc^gBTl4#k4=0{Cyb*h(wjH%*!YiM{0t(pmiZ0dT(AzEJRFF|~$GZ6h#YJnL zKRH`Z%o1gOnX1fOaR&fsUI6o8bSvLuu68;T9;!r}UGdDdZuF=E+@o??E0jTHZhE%n z0N{W4Wb*d0DznMwK{AdjXG0e|;40n*yyAayEC(iXOd7Xlt z{Fh*Wls1aldqdqoL-`=!^Extx;-cJa#>_hXTgyAek zrSXq7vI-ZFu<>mxGc=>K3M409sDhSR$|9Z?IX)qG>Vpb5{BrJ(G`?UgG23oidsT&# zKhVwEN{urBNDwMTE5J6EYnURojcla~yuFU4SAvhu3zi#`ea*G09!D_~=C!=gQ2Y$Q@D@FMrDD?;|s-^8=5x3_C9Q zlrQZ(kMB{?JcznQXJ-*JBlyP8b(8KhBD7DY&?2quDNu6}WuAV7H-rJ0Yl15KD zo2H!GE?3%To5S%-A9PXU1u23I_$R+%`?@yqji#9OW^Hd z#LH|(z8JdfIg*QTCSa1e{!BpZI{&KSR4{(^MeBP!B+F}K>2g#JzG1TRz^!i)FTGSc z!^rqHi}x&5EX{vWFPK;?(UU#mYdEfBU;jw7G~F7~SP7P?vsB$o72ztvKv{)IvbwIe zAqW@nU^&RF;8&=b3ox7#gvJCK)(vn|8KmmzSD{&6Y{<&{BO5Jyw!wW=fc9%$y)#xJ zEfU3yFX606N$&M!@@BEtGzU_!65hl1&i)16cIB;%R3bpFY8W@k6AM1S$@lk+PVF&>?SZLelri<^RBY6m)Kw-o`pkHO`#v zZtoYQgCaJSUf6tQ!9E$WFvcylJ+c%aknn)gyYgOGxreaQF7F>&vH+0fXSG0Vc;V{E ztFDh$MKDFjCdVbB$-W2s?N<0z&RalrlMG_Z1p@$~y_4T&ArWsr@mb)#_UTtL+W*P| zPtwSi^OVt^{+0VSCy@4d`lhN^ncPt%4J(=sjy5dtfSpVJdv-ZzJ#tr-FbjT2<;kL; zj4)uO8D@7)NI*jUb%LR)U7Qt4UZ3TM#*HRFG;c&#st3XZRyWhX!F6)`kfUj0NU*rqk?J?2J?a9Pyk*SJKy2fwt z&ixWOH!wCTz+&){67|P~>@5KNq<<7qjgs3Ig#~U!uHV%%6pfSA27#GlFeV21vhbG| zI%PN&8~7>`OvVSWqyh$aLzYpG>&N;9>(X2q>OXD{rmkKR>Yjwhjz@C3gvp;iL!(`o zWOQ{g-J{|P7)ZsmUCR~OLd#s&;*=4>$QKG9uEgy2FhhpuCeJouxybRM0D{X$0r>3; zZ0*-BX9K2LbWtI2dmWgI)-`w-a@L}ctpeEVVB0N@C< zVds$d_ry~+Eu%Gl|EnPp1@Z((qEvBhu^xw|mY>jeQqx)KSzqDVXE3g$_e=ts`CgrbMbD-rnz zzf7AHt8*)wfBFEdelPMQq8SZ3z9+XACk1a@Vx#L|0#WQ*pgD?JBytME!h-9|a+m}q zqvUtb4=kSnOp-g->(PVBrm;ak0B|uGQ8Zve*xjm?nsAx?#PC|4USW2Fg76qM@-*BB zEvMj_5BycrXs}>-K z?u`R1AoESN)iP^P8X2M!O_0wmLD@Pl*+ltaP+rObPH2}o^9~h`$>ykByOL}bA={ue z345{=B<@l&Gd8PqSuv(Lzy7N~v7h6ev4OTLwg?e^#054oJ+Nx3%i#Qg0{A>A!6Vl1MhW;t~YrA{4(6HH$o9k#lJk&>;-knz{+e!z)4-I+Q zkB6vJjU^nO4o%wv*zRr z^v~4Z-M3>&qNuj=vQ5^%`o^4DoUJ;gO8r`(OSpfyv~T`fm=21q(KJ8bHGBSS2p(=_ zzpR%pOqXlOofhNwSck};kjk&7A45i5NKs#gPCIsD$D$2TcGuFEK&AL4mhhJ5kmhvr zJxv?~l37}wtJ{G3%Cj41IsgD}Ng*3$xzl7r`JLR+m=kOTmShY;$UhsRJUiiconVjw zpQm9w{n!LD-pDCQ=tB>I+UmYI;;nzYP>gnwqoCzJF17=ZJ_?KcM)D0A3Ts9Q3%hf7 zpUI(XlJ_)kQ#9@mu;yyqi2YcOR^U1IM7u|*{a8?~xt0~UbjT|qPXqvb#@@AQxtR2P z*D4W)n=hWUWD!QTX?rJpMMR9HiP&*SGNI1@^Af!Yr-n;><&M*g+dtO8%35^~O=|2h z{uyw;NZXp!dS`=5(sJ>o#Q6t2uo@EvONj_{4j^)BnmE_L*U^W*ei92bRZ;SqdHFYz1cAI2;qDHW@h|xbM4T zd|43_p$i2nW)5i$$)|fDqruNGYUjVYSGp>){2?%bYjHIYEOJ21scK4JJ)e2T9y&yG zh^=FG+>GV3Zme&ro-cG}E60_mal0NYgzNYB!Y1E9%jF&`XdECMRXUsBqTs`2e+^o& z3HIsU=Za;Lgh8l+bPRHvFWw?TOR;)oIKE7r#dSS@R^wJUZB6o6mPZ|9%xh_(V3f5C zQqyZ>4Zf>On1hO=xAEdc$p+x`|3q9 z(jjR#;_)oi^;k?;MQ#kw_f+_zKQk^8EL^n&o67 zH8%ww>pEzmYrdwrI))bseL{7kRa{D`hUy;>j`9a~`benGuuIaX-iQ`Qwd=ZfkQ3bP zF*1u{?~+e_Vo^A&I_&HFSW28rpjQ+gt8lLo`0<-(=LkXE>L#9UDo!6+>-lkJPYAVN z0d-T?kA`IRBxh&>H`2#4|A@oh42;*msfVWb8 z=dShR-6UDgpCJ0T>DU>{-}Yo|6klmqwoQMEyQop+JZ|$WP%!H5FSXU#eg&wkg?yQ_fnP zL4`4v`%o2fAZPkn*Mb8$=0#`u622u*4qJ=H0|0RAf3W}u%=Z*=YgsmY;!kIneYt+t z+eQfn7*fnY_A<4?M5>o8Y=6kx@hCX^x8i&fju?A|`5iAF{#FT*&plYn-wGPlkfW(B z?a&*P{5O|YIS&|qA_X_`q_PcC~nZnjmZK5bnNWUnjSBsV|~ z5P&nCRgp?-m!T-v*N1-{4V)<*gaa0M%p=>;u#y@GN4N}n`<>JYCZY({Js_uq8#tUr z(7ylepT6HRDYN_|?#r4Wk&O;SUbOiAk3tzlmf4o|ENLjfrch{MN%^*x-laxEhmWB7 zsZ5$~e76n;*c{H%x&YSF)WFyZM&VR_zxjD9g?EbFH;qCWA=$NotZa4Fz*ZmDBI-lR zTg(f!>Q-z|ixO&VYMghN1vF9N`MY%2eLDE^t*baOMJ%5#cCu%q=T%=e5=MVV#bHk9PCU(|g4V_F*9ka)G6<&Xli9@mNlp1ewK!b06mEv!=p6yc z(k6*GyC_G;@pZ2uZb-r}ykaC>hsaPTES9xJTGfvWt56T53c)u(AZgfP7ZHGMFm{y5BHI_GqW*(Wkt-kCJPwl=<9>V-ryXPCeNxjw^FEBehj?2K8b!e<70LV!zN>xf2fBqkf CXT84w literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/maker.png b/docs/runtimeverification-wasm-semantics/media/img/maker.png new file mode 100644 index 0000000000000000000000000000000000000000..f97637ff31643c5c7f5fa46b341efe7ef8016162 GIT binary patch literal 72640 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 literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/reachability-logic-inference-system.png b/docs/runtimeverification-wasm-semantics/media/img/reachability-logic-inference-system.png new file mode 100644 index 0000000000000000000000000000000000000000..ad031fe144b66c59009f64d7c9cfcc23dc13fd3d GIT binary patch literal 125057 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

=6lLU;eZ)pk1n_SNtbOgf(<*;2~Uces* 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 vK1}oljA5niSfmQnrki^_(1p1Yt;PH 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 SVT6LOiN;fmq7CP5`+oq&mq@n& literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/img/rv.png b/docs/runtimeverification-wasm-semantics/media/img/rv.png new file mode 100644 index 0000000000000000000000000000000000000000..81289772d4bbb41c8e540d8948d3b0edebb74ac6 GIT binary patch literal 10634 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 literal 0 HcmV?d00001 diff --git a/docs/runtimeverification-wasm-semantics/media/k-overview.png b/docs/runtimeverification-wasm-semantics/media/k-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..90a9e36a5d5eb92877c6055783ec32cf930a23ea GIT binary patch literal 223591 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

{FVYsPrB8I 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�%2ka@R#ce=n6)*bq2erN|Vxptwsc8 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 ( memory.size ) => (i32.const SZ) ... + 0 |-> A + + A + SZ + + + rule (memory.grow (i32.const X)) => (i32.const SZ) ... + 0 |-> A + + A + SZ => (SZ +Int X) + + // Necessary conditions. Remove them to see what happens! + false + requires X >=Int 0 + andBool X <=Int (2 ^Int 16) + andBool SZ >=Int 0 + + rule (memory.grow (i32.const X)) => (i32.const -1) ... + 0 |-> A + + A + SZ + + // Necessary conditions. Remove them to see what happens! + true + requires X >=Int (2 ^Int 16) + andBool X =Int 0 + +endmodule diff --git a/docs/runtimeverification-wasm-semantics/media/memory-demo/wasm.k b/docs/runtimeverification-wasm-semantics/media/memory-demo/wasm.k new file mode 100644 index 000000000..4d3e548da --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/media/memory-demo/wasm.k @@ -0,0 +1,144 @@ +module WASM + imports DOMAINS + + // Solutions to the TODOs are in a comment at the bottom of the file. + + configuration + $PGM:Instrs + .Stack + // TODO: Extend the configuration to have a current frame and and a store. + + + // Useful definitions. + + syntax Instrs ::= List{Instr, ""} + // --------------------------------- + rule .Instrs => . + rule I IS:Instrs => I ~> IS ... + + syntax Stack ::= ".Stack" | StackItem ":" Stack + syntax StackItem ::= "<" IType ">" Int + // -------------------------------------- + + syntax IType ::= "i32" | "i64" + // ------------------------------ + + // Functions. + + syntax Int ::= #chop(IType, Int) [function] + // ------------------------------------------- + rule #chop(i32, I) => I modInt (2 ^Int 32) + rule #chop(i64, I) => I modInt (2 ^Int 64) + + + // Basic instructions. + syntax Instr ::= "(" IType "." "const" Int ")" + // ---------------------------------------------- + rule ( ITYPE . const I ) => . ... + S => < ITYPE > #chop(ITYPE, I) : S + + // Memory instructions. + + // Memory instantiation. + syntax Instr ::= "(" "memory" ")" + // --------------------------------- + // TODO: Add a rule that: + // allocates memory with size 0 to the store, and stores saves the address + // to that memory in the current frame. + + syntax Instr ::= "(" "memory.size" ")" + // -------------------------------------- + // TODO: Add a rule that: + // Looks up the memory of the current frame in the store, and pushes its + // size to the stack. + + syntax Instr ::= "(" "memory.grow" ")" | "(" "memory.grow" Instr ")" + // -------------------------------------------------------------------- + // TODO: Add a rule that: + // Unfolds the folded syntax rule. + // TODO: Add a rule that: + // Grows the current memory by a specified value (look at the top of the + // stack). This rule should only apply if the resulting memory size is less + // than 2^16 pages. + // TODO: Add a rule that: + // Only applies if we have a toggle set in the configuration, called + // . If so, it just pushes (i32.const -1). + +endmodule + + + + + + + + + + + + + + + + + +/* + + configuration + $PGM:Instrs + .Stack + + + .Map + + + + 0 + + + 0 + 0 + + + + false + + rule (( memory ) ~> ELSE) => ELSE + .Map => 0 |-> NEXT + NEXT => NEXT +Int 1 + + (.Bag => + + NEXT + ... + ) + ... + + + syntax Instr ::= "(" "memory.size" ")" + // -------------------------------------- + rule ( memory.size ) => ( i32.const SZ ) ... + 0 |-> A + + A + SZ + ... + + rule ( memory.size ) => ( i32.const -1 ) ... + + syntax Instr ::= "(" "memory.grow" ")" | "(" "memory.grow" Instr ")" + // -------------------------------------------------------------------- + rule (memory.grow I:Instr) => I ~> (memory.grow) ... + rule (memory.grow) => (i32.const SZ) ... + < i32 > V : S => S + 0 |-> A + + A + SZ => SZ +Int V + + requires SZ +Int V (memory.grow) => (i32.const -1) ... + < i32 > _ : S => S + true + +*/ \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/numeric.md b/docs/runtimeverification-wasm-semantics/numeric.md new file mode 100644 index 000000000..a502e00c1 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/numeric.md @@ -0,0 +1,455 @@ +Numeric Instructions +-------------------- + +In this file we implement the numeric rules specified in section `4.3 Numerics` of the offical WebAssembly specification. + +In the notations of some operators, `sx` is the signedness of the operator and could be either `s` (signed) or `u` (unsigned), which indicates whether the operands should be interpreted as signed integer or unsigned integer. + +```k +require "data.md" + +module WASM-NUMERIC-SYNTAX + + syntax IUnOp ::= "clz" [klabel(aClz), symbol] + | "ctz" [klabel(aCtz), symbol] + | "popcnt" [klabel(aPopcnt), symbol] + // --------------------------------------------------- + + syntax FUnOp ::= "abs" [klabel(aAbs) , symbol] + | "neg" [klabel(aNeg) , symbol] + | "sqrt" [klabel(aSqrt) , symbol] + | "floor" [klabel(aFloor) , symbol] + | "ceil" [klabel(aCeil) , symbol] + | "trunc" [klabel(aTrunc) , symbol] + | "nearest" [klabel(aNearest), symbol] + // ----------------------------------------------------- + + syntax IBinOp ::= "add" [klabel(intAdd), symbol] + | "sub" [klabel(intSub), symbol] + | "mul" [klabel(intMul), symbol] + | "div_u" [klabel(intDiv_u), symbol] + | "rem_u" [klabel(intRem_u), symbol] + | "div_s" [klabel(intDiv_s), symbol] + | "rem_s" [klabel(intRem_s), symbol] + | "and" [klabel(intAnd), symbol] + | "or" [klabel(intOr), symbol] + | "xor" [klabel(intXor), symbol] + | "shl" [klabel(intShl), symbol] + | "shr_u" [klabel(intShr_u), symbol] + | "shr_s" [klabel(intShr_s), symbol] + | "rotl" [klabel(intRotl), symbol] + | "rotr" [klabel(intRotr), symbol] + // -------------------------------------------------- + + syntax FBinOp ::= "add" [klabel(floatAdd), symbol] + | "sub" [klabel(floatSub), symbol] + | "mul" [klabel(floatMul), symbol] + | "div" [klabel(floatDiv), symbol] + | "min" [klabel(floatMin), symbol] + | "max" [klabel(floatMax), symbol] + | "copysign" [klabel(floatCopysign), symbol] + // ------------------------------------------------------------ + + syntax TestOp ::= "eqz" [klabel(aEqz), symbol] + // ---------------------------------------------- + + syntax IRelOp ::= "eq" [klabel(intEq), symbol] + | "ne" [klabel(intNe), symbol] + | "lt_u" [klabel(intLt_u), symbol] + | "gt_u" [klabel(intGt_u), symbol] + | "lt_s" [klabel(intLt_s), symbol] + | "gt_s" [klabel(intGt_s), symbol] + | "le_u" [klabel(intLe_u), symbol] + | "ge_u" [klabel(intGe_u), symbol] + | "le_s" [klabel(intLe_s), symbol] + | "ge_s" [klabel(intGe_s), symbol] + // -------------------------------------------------- + + syntax FRelOp ::= "lt" [klabel(floatLt), symbol] + | "gt" [klabel(floatGt), symbol] + | "le" [klabel(floatLe), symbol] + | "ge" [klabel(floatGe), symbol] + | "eq" [klabel(floatEq), symbol] + | "ne" [klabel(floatNe), symbol] + // ------------------------------------------------ + + syntax CvtOp ::= Cvti32Op | Cvti64Op | Cvtf32Op | Cvtf64Op + // ---------------------------------------------------------- + + syntax Cvti32Op ::= "extend_i32_u" [klabel(aExtend_i32_u), symbol] + | "extend_i32_s" [klabel(aExtend_i32_s), symbol] + | "convert_i32_s" [klabel(aConvert_i32_s), symbol] + | "convert_i32_u" [klabel(aConvert_i32_u), symbol] + // -------------------------------------------------------------------- + + syntax Cvti64Op ::= "wrap_i64" [klabel(aWrap_i64), symbol] + | "convert_i64_s" [klabel(aConvert_i64_s), symbol] + | "convert_i64_u" [klabel(aConvert_i64_u), symbol] + // -------------------------------------------------------------------- + + syntax Cvtf32Op ::= "promote_f32" [klabel(aPromote_f32), symbol] + | "trunc_f32_s" [klabel(aTrunc_f32_s), symbol] + | "trunc_f32_u" [klabel(aTrunc_f32_u), symbol] + // ---------------------------------------------------------------- + + syntax Cvtf64Op ::= "demote_f64" [klabel(aDemote_f64), symbol] + | "trunc_f64_s" [klabel(aTrunc_f64_s), symbol] + | "trunc_f64_u" [klabel(aTrunc_f64_u), symbol] + // ---------------------------------------------------------------- + +endmodule + +module WASM-NUMERIC + imports WASM-NUMERIC-SYNTAX + imports WASM-DATA + +``` + +### Unary Operators + +`*UnOp` takes one oprand and returns a `Val`. + +```k + syntax Val ::= IValType "." IUnOp Int [klabel(intUnOp) , function] + | FValType "." FUnOp Float [klabel(floatUnOp), function] + // --------------------------------------------------------------------- +``` + +#### Unary Operators for Integers + +There three unary operators for integers: `clz`, `ctz` and `popcnt`. + +- `clz` counts the number of leading zero-bits, with 0 having all leading zero-bits. +- `ctz` counts the number of trailing zero-bits, with 0 having all trailing zero-bits. +- `popcnt` counts the number of non-zero bits. + +Note: The actual `ctz` operator considers the integer 0 to have *all* zero-bits, whereas the `#ctz` helper function considers it to have *no* zero-bits, in order for it to be width-agnostic. + +```k + rule ITYPE . clz I1 => < ITYPE > #width(ITYPE) -Int #minWidth(I1) + rule ITYPE . ctz I1 => < ITYPE > #if I1 ==Int 0 #then #width(ITYPE) #else #ctz(I1) #fi + rule ITYPE . popcnt I1 => < ITYPE > #popcnt(I1) + + syntax Int ::= #minWidth ( Int ) [function] + | #ctz ( Int ) [function] + | #popcnt ( Int ) [function] + // ------------------------------------------- + rule #minWidth(0) => 0 + rule #minWidth(N) => 1 +Int #minWidth(N >>Int 1) requires N =/=Int 0 + + rule #ctz(0) => 0 + rule #ctz(N) => #if N modInt 2 ==Int 1 #then 0 #else 1 +Int #ctz(N >>Int 1) #fi requires N =/=Int 0 + + rule #popcnt(0) => 0 + rule #popcnt(N) => #bool(N modInt 2 ==Int 1) +Int #popcnt(N >>Int 1) requires N =/=Int 0 +``` + +Before we implement the rule for float point numbers, we first need to define a helper function. + +- `#isInfinityOrNaN` judges whether a `float` is infinity or NaN. + +```k + syntax Bool ::= #isInfinityOrNaN ( Float ) [function] + // ----------------------------------------------------- + rule #isInfinityOrNaN ( F ) => (isNaN(F) orBool isInfinite(F)) +``` + +#### Unary Operators for Floats + +There are 7 unary operators for floats: `abs`, `neg`, `sqrt`, `floor`, `ceil`, `trunc` and `nearest`. + +- `abs` returns the absolute value of the given float point number. +- `neg` returns the additive inverse value of the given float point number. +- `sqrt` returns the square root of the given float point number. +- `floor` returns the greatest integer less than or equal to the given float point number. +- `ceil` returns the least integer greater than or equal to the given float point number. +- `trunc` returns the integral value by discarding the fractional part of the given float. +- `nearest` returns the integral value that is nearest to the given float number; if two values are equally near, returns the even one. + +```k + rule FTYPE . abs F => < FTYPE > absFloat (F) + rule FTYPE . neg F => < FTYPE > --Float F + rule FTYPE . sqrt F => < FTYPE > sqrtFloat (F) + rule FTYPE . floor F => < FTYPE > floorFloat (F) + rule FTYPE . ceil F => < FTYPE > ceilFloat (F) + rule FTYPE . trunc F => < FTYPE > truncFloat (F) + rule FTYPE . nearest F => < FTYPE > F requires #isInfinityOrNaN (F) + rule FTYPE . nearest F => #round(FTYPE, Float2Int(F)) requires (notBool #isInfinityOrNaN (F)) andBool notBool (Float2Int(F) ==Int 0 andBool signFloat(F)) + rule FTYPE . nearest F => < FTYPE > -0.0 requires (notBool #isInfinityOrNaN (F)) andBool Float2Int(F) ==Int 0 andBool signFloat(F) +``` + +### Binary Operators + +`*BinOp` takes two oprands and returns a `Val`. +A `*BinOp` operator always produces a result of the same type as its operands. + +```k + syntax Val ::= IValType "." IBinOp Int Int [klabel(intBinOp) , function] + | FValType "." FBinOp Float Float [klabel(floatBinOp), function] + // ----------------------------------------------------------------------------- +``` + +#### Binary Operators for Integers + +There are 12 binary operators for integers: `add`, `sub`, `mul`, `div_sx`, `rem_sx`, `and`, `or`, `xor`, `shl`, `shr_sx`, `rotl`, `rotr`. + + +- `add` returns the result of adding up the 2 given integers modulo 2^N. +- `sub` returns the result of substracting the second oprand from the first oprand modulo 2^N. +- `mul` returns the result of multiplying the 2 given integers modulo 2^N. + +`add`, `sub`, and `mul` are given semantics by lifting the correct K operators through the `#chop` function. + +```k + rule ITYPE:IValType . add I1 I2 => #chop(< ITYPE > I1 +Int I2) + rule ITYPE:IValType . sub I1 I2 => #chop(< ITYPE > I1 -Int I2) + rule ITYPE:IValType . mul I1 I2 => #chop(< ITYPE > I1 *Int I2) +``` + +- `div_sx` returns the result of dividing the first operand by the second oprand, truncated toward zero. +- `rem_sx` returns the remainder of dividing the first operand by the second oprand. + +`div_sx` and `rem_sx` have extra side-conditions about when they are defined or not. + +```k + rule ITYPE . div_u I1 I2 => < ITYPE > I1 /Int I2 requires I2 =/=Int 0 + rule _ITYPE . div_u _I1 I2 => undefined requires I2 ==Int 0 + + rule ITYPE . rem_u I1 I2 => < ITYPE > I1 %Int I2 requires I2 =/=Int 0 + rule _ITYPE . rem_u _I1 I2 => undefined requires I2 ==Int 0 + + rule ITYPE . div_s I1 I2 => < ITYPE > #unsigned(ITYPE, #signed(ITYPE, I1) /Int #signed(ITYPE, I2)) + requires I2 =/=Int 0 + andBool #signed(ITYPE, I1) /Int #signed(ITYPE, I2) =/=Int #pow1(ITYPE) + + rule _ITYPE . div_s _I1 I2 => undefined + requires I2 ==Int 0 + + rule ITYPE . div_s I1 I2 => undefined + requires I2 =/=Int 0 + andBool #signed(ITYPE, I1) /Int #signed(ITYPE, I2) ==Int #pow1(ITYPE) + + rule ITYPE . rem_s I1 I2 => < ITYPE > #unsigned(ITYPE, #signed(ITYPE, I1) %Int #signed(ITYPE, I2)) + requires I2 =/=Int 0 + + rule _ITYPE . rem_s _I1 I2 => undefined + requires I2 ==Int 0 +``` + +- `and` returns the bitwise conjunction of the 2 given floats. +- `or` returns the bitwise disjunction of the 2 given floats. +- `xor` returns the bitwise exclusive disjunction of the 2 given floats. + +Of the bitwise operators, `and` will not overflow, but `or` and `xor` could. +These simply are the lifted K operators. + +```k + rule ITYPE . and I1 I2 => < ITYPE > I1 &Int I2 + rule ITYPE . or I1 I2 => #chop(< ITYPE > I1 |Int I2) + rule ITYPE . xor I1 I2 => #chop(< ITYPE > I1 xorInt I2) +``` + +- `shl` returns the result of shifting the first operand left by k bits modulo 2^N, in which k is the second operand modulo N. +- `shr_u` returns the result of shifting the first operand right by k bits, and extended with 0 bits. +- `shr_s` returns the result of shifting the first operand right by k bits, and extended with the most significant bit of the original value + +Similarly, K bitwise shift operators are lifted for `shl` and `shr_u`. +Careful attention is made for the signed version `shr_s`. + +```k + rule ITYPE . shl I1 I2 => #chop(< ITYPE > I1 < < ITYPE > I1 >>Int (I2 %Int #width(ITYPE)) + + rule ITYPE . shr_s I1 I2 => < ITYPE > #unsigned(ITYPE, #signed(ITYPE, I1) >>Int (I2 %Int #width(ITYPE))) +``` + +- `rotl` returns the result of rotating the first operand left by k bits, in which k is the second operand modulo N. +- `rotr` returns the result of rotating the first operand right by k bits, in which k is the second operand modulo N. + +The rotation operators `rotl` and `rotr` do not have appropriate K builtins, and so are built with a series of shifts. + +```k + rule ITYPE . rotl I1 I2 => #chop(< ITYPE > (I1 <>Int (#width(ITYPE) -Int (I2 %Int #width(ITYPE))))) + rule ITYPE . rotr I1 I2 => #chop(< ITYPE > (I1 >>Int (I2 %Int #width(ITYPE))) +Int (I1 < < FTYPE > F1 +Float F2 + rule FTYPE:FValType . sub F1 F2 => < FTYPE > F1 -Float F2 + rule FTYPE:FValType . mul F1 F2 => < FTYPE > F1 *Float F2 + rule FTYPE . div F1 F2 => < FTYPE > F1 /Float F2 + rule FTYPE . min F1 F2 => < FTYPE > minFloat (F1, F2) + rule FTYPE . max F1 F2 => < FTYPE > maxFloat (F1, F2) + rule FTYPE . copysign F1 F2 => < FTYPE > F1 requires signFloat (F1) ==Bool signFloat (F2) + rule FTYPE . copysign F1 F2 => < FTYPE > --Float F1 requires signFloat (F1) =/=Bool signFloat (F2) +``` + +### Test Operators + +Test operations consume one operand and produce a bool, which is an `i32` value. +There is no test operation for float numbers. + +```k + syntax Val ::= IValType "." TestOp Int [klabel(intTestOp), function] + // -------------------------------------------------------------------- +``` + +#### Test Operators for Integers + +- `eqz` checks wether its operand is 0. + +```k + rule _ . eqz I => < i32 > #bool(I ==Int 0) +``` + +### Relationship Operators + +Relationship Operators consume two operands and produce a bool, which is an `i32` value. + +```k + syntax Val ::= IValType "." IRelOp Int Int [klabel(intRelOp) , function] + | FValType "." FRelOp Float Float [klabel(floatRelOp), function] + // ----------------------------------------------------------------------------- +``` + +### Relationship Operators for Integers + +There are 6 relationship operators for integers: `eq`, `ne`, `lt_sx`, `gt_sx`, `le_sx` and `ge_sx`. + +- `eq` returns 1 if the 2 given integers are equal, 0 otherwise. +- `eq` returns 1 if the 2 given integers are not equal, 0 otherwise. + +```k + rule _:IValType . eq I1 I2 => < i32 > #bool(I1 ==Int I2) + rule _:IValType . ne I1 I2 => < i32 > #bool(I1 =/=Int I2) +``` + +- `lt_sx` returns 1 if the first oprand is less than the second opeand, 0 otherwise. +- `gt_sx` returns 1 if the first oprand is greater than the second opeand, 0 otherwise. + +```k + rule _ . lt_u I1 I2 => < i32 > #bool(I1 < i32 > #bool(I1 >Int I2) + + rule ITYPE . lt_s I1 I2 => < i32 > #bool(#signed(ITYPE, I1) < i32 > #bool(#signed(ITYPE, I1) >Int #signed(ITYPE, I2)) +``` + +- `le_sx` returns 1 if the first oprand is less than or equal to the second opeand, 0 otherwise. +- `ge_sx` returns 1 if the first oprand is greater than or equal to the second opeand, 0 otherwise. + +```k + rule _ . le_u I1 I2 => < i32 > #bool(I1 <=Int I2) + rule _ . ge_u I1 I2 => < i32 > #bool(I1 >=Int I2) + + rule ITYPE . le_s I1 I2 => < i32 > #bool(#signed(ITYPE, I1) <=Int #signed(ITYPE, I2)) + rule ITYPE . ge_s I1 I2 => < i32 > #bool(#signed(ITYPE, I1) >=Int #signed(ITYPE, I2)) +``` + +### Relationship Operators for Floats + +There are 6 relationship operators for floats: `eq`, `ne`, `lt`, `gt`, `le` and `ge`. + +- `eq` returns 1 if the 2 given floats are equal, 0 otherwise. +- `ne` returns 1 if the 2 given floats are not equal, 0 otherwise. +- `lt` returns 1 if the first oprand is less than the second opeand, 0 otherwise. +- `gt` returns 1 if the first oprand is greater than the second opeand, 0 otherwise. +- `le` returns 1 if the first oprand is less than or equal to the second opeand, 0 otherwise. +- `ge` returns 1 if the first oprand is greater than or equal to the second opeand, 0 otherwise. + +```k + rule _ . lt F1 F2 => < i32 > #bool(F1 < i32 > #bool(F1 >Float F2) + rule _ . le F1 F2 => < i32 > #bool(F1 <=Float F2) + rule _ . ge F1 F2 => < i32 > #bool(F1 >=Float F2) + rule _:FValType . eq F1 F2 => < i32 > #bool(F1 ==Float F2) + rule _:FValType . ne F1 F2 => < i32 > #bool(F1 =/=Float F2) +``` + +### Conversion Operators + +Conversion operators always take a single argument as input and cast it to another type. +The operators are further broken down into subsorts for their input type, for simpler type-checking. + +```k + syntax Val ::= ValType "." CvtOp Number [klabel(numberCvtOp), function] + // ----------------------------------------------------------------------- +``` + +There are 7 conversion operators: `wrap`, `extend`, `trunc`, `convert`, `demote` ,`promote` and `reinterpret`. + +- `wrap` takes an `i64` value, cuts of the 32 most significant bits and returns an `i32` value. + +```k + rule i32 . wrap_i64 I => #chop(< i32 > I) +``` + +- `extend` takes an `i32` type value, converts its type into the `i64` and returns the result. + +```k + rule i64 . extend_i32_u I:Int => < i64 > I + rule i64 . extend_i32_s I:Int => < i64 > #unsigned(i64, #signed(i32, I)) +``` + +- `convert` takes an `int` type value and convert it to the nearest `float` type value. + +```k + rule FTYPE . convert_i32_s I:Int => #round( FTYPE , #signed(i32, I) ) + rule FTYPE . convert_i32_u I:Int => #round( FTYPE , I ) + + rule FTYPE . convert_i64_s I:Int => #round( FTYPE , #signed(i64, I) ) + rule FTYPE . convert_i64_u I:Int => #round( FTYPE , I ) +``` + +- `demote` turns an `f64` type value to the nearest `f32` type value. +- `promote` turns an `f32` type value to the nearest `f64` type value: + +```k + rule f64 . promote_f32 F => #round( f64 , F ) + + rule f32 . demote_f64 F => #round( f32 , F ) +``` + +- `trunc` first truncates a float value, then convert the result to the nearest ineger value. + +```k + rule ITYPE . trunc_f32_s F => undefined + requires #isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow1(ITYPE)) orBool (0 -Int Float2Int(truncFloat(F)) >Int #pow1 (ITYPE)) + rule ITYPE . trunc_f32_u F => undefined + requires #isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow (ITYPE)) orBool (Float2Int(truncFloat(F)) #unsigned(ITYPE, Float2Int(truncFloat(F))) + requires notBool (#isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow1(ITYPE)) orBool (0 -Int Float2Int(truncFloat(F)) >Int #pow1 (ITYPE))) + rule ITYPE . trunc_f32_u F => Float2Int(truncFloat(F)) + requires notBool (#isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow (ITYPE)) orBool (Float2Int(truncFloat(F)) undefined + requires #isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow1(ITYPE)) orBool (0 -Int Float2Int(truncFloat(F)) >Int #pow1 (ITYPE)) + rule ITYPE . trunc_f64_u F => undefined + requires #isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow (ITYPE)) orBool (Float2Int(truncFloat(F)) #unsigned(ITYPE, Float2Int(truncFloat(F))) + requires notBool (#isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow1(ITYPE)) orBool (0 -Int Float2Int(truncFloat(F)) >Int #pow1 (ITYPE))) + rule ITYPE . trunc_f64_u F => Float2Int(truncFloat(F)) + requires notBool (#isInfinityOrNaN (F) orBool (Float2Int(truncFloat(F)) >=Int #pow (ITYPE)) orBool (Float2Int(truncFloat(F)) = 20.0.2`, `poetry >= 1.3.2`. + +```bash +make build +pip install dist/*.whl +``` + + +## For Developers + +Use `make` to run common tasks (see the [Makefile](Makefile) for a complete list of available targets). + +* `make build`: Build wheel +* `make check`: Check code style +* `make format`: Format code +* `make test-unit`: Run unit tests + +For interactive use, spawn a shell with `poetry shell` (after `poetry install`), then run an interpreter. diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/flake.nix b/docs/runtimeverification-wasm-semantics/pykwasm/flake.nix new file mode 100644 index 000000000..4b892fbca --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/flake.nix @@ -0,0 +1,41 @@ +{ + description = "pykwasm - "; + inputs = { + nixpkgs.url = "nixpkgs/nixos-22.05"; + flake-utils.url = "github:numtide/flake-utils"; + poetry2nix.url = "github:nix-community/poetry2nix"; + }; + outputs = { self, nixpkgs, flake-utils, poetry2nix }: + let + allOverlays = [ + poetry2nix.overlay + (final: prev: { + pykwasm = prev.poetry2nix.mkPoetryApplication { + python = prev.python39; + projectDir = ./.; + groups = []; + # We remove `dev` from `checkGroups`, so that poetry2nix does not try to resolve dev dependencies. + checkGroups = []; + }; + }) + ]; + in flake-utils.lib.eachSystem [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ] (system: + let + pkgs = import nixpkgs { + inherit system; + overlays = allOverlays; + }; + in { + packages = rec { + inherit (pkgs) pykwasm; + default = pykwasm; + }; + }) // { + overlay = nixpkgs.lib.composeManyExtensions allOverlays; + }; +} diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/poetry.lock b/docs/runtimeverification-wasm-semantics/pykwasm/poetry.lock new file mode 100644 index 000000000..c9c7bebd7 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/poetry.lock @@ -0,0 +1,1075 @@ +# This file is automatically @generated by Poetry and should not be changed by hand. + +[[package]] +name = "attrs" +version = "22.2.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, + {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] +tests = ["attrs[tests-no-zope]", "zope.interface"] +tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] + +[[package]] +name = "autoflake" +version = "2.0.2" +description = "Removes unused imports and unused variables" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "autoflake-2.0.2-py3-none-any.whl", hash = "sha256:a82d8efdcbbb7129a8a23238c529fb9d9919c562e26bb7963ea6890fbfff7d02"}, + {file = "autoflake-2.0.2.tar.gz", hash = "sha256:e0164421ff13f805f08a023e249d84200bd00463d213b490906bfefa67e83830"}, +] + +[package.dependencies] +pyflakes = ">=3.0.0" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} + +[[package]] +name = "black" +version = "23.3.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, + {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, + {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, + {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, + {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, + {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, + {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, + {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, + {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, + {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, + {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, + {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, + {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, + {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "cmd2" +version = "2.4.3" +description = "cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "cmd2-2.4.3-py3-none-any.whl", hash = "sha256:f1988ff2fff0ed812a2d25218a081b0fa0108d45b48ba2a9272bb98091b654e6"}, + {file = "cmd2-2.4.3.tar.gz", hash = "sha256:71873c11f72bd19e2b1db578214716f0d4f7c8fa250093c601265a9a717dee52"}, +] + +[package.dependencies] +attrs = ">=16.3.0" +pyperclip = ">=1.6" +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\""} +wcwidth = ">=0.1.7" + +[package.extras] +dev = ["codecov", "doc8", "flake8", "invoke", "mypy", "nox", "pytest (>=4.6)", "pytest-cov", "pytest-mock", "sphinx", "sphinx-autobuild", "sphinx-rtd-theme", "twine (>=1.11)"] +test = ["codecov", "coverage", "gnureadline", "pytest (>=4.6)", "pytest-cov", "pytest-mock"] +validate = ["flake8", "mypy", "types-pkg-resources"] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] + +[[package]] +name = "coverage" +version = "7.2.3" +description = "Code coverage measurement for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "coverage-7.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e58c0d41d336569d63d1b113bd573db8363bc4146f39444125b7f8060e4e04f5"}, + {file = "coverage-7.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:344e714bd0fe921fc72d97404ebbdbf9127bac0ca1ff66d7b79efc143cf7c0c4"}, + {file = "coverage-7.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:974bc90d6f6c1e59ceb1516ab00cf1cdfbb2e555795d49fa9571d611f449bcb2"}, + {file = "coverage-7.2.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0743b0035d4b0e32bc1df5de70fba3059662ace5b9a2a86a9f894cfe66569013"}, + {file = "coverage-7.2.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d0391fb4cfc171ce40437f67eb050a340fdbd0f9f49d6353a387f1b7f9dd4fa"}, + {file = "coverage-7.2.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a42e1eff0ca9a7cb7dc9ecda41dfc7cbc17cb1d02117214be0561bd1134772b"}, + {file = "coverage-7.2.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:be19931a8dcbe6ab464f3339966856996b12a00f9fe53f346ab3be872d03e257"}, + {file = "coverage-7.2.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:72fcae5bcac3333a4cf3b8f34eec99cea1187acd55af723bcbd559adfdcb5535"}, + {file = "coverage-7.2.3-cp310-cp310-win32.whl", hash = "sha256:aeae2aa38395b18106e552833f2a50c27ea0000122bde421c31d11ed7e6f9c91"}, + {file = "coverage-7.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:83957d349838a636e768251c7e9979e899a569794b44c3728eaebd11d848e58e"}, + {file = "coverage-7.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dfd393094cd82ceb9b40df4c77976015a314b267d498268a076e940fe7be6b79"}, + {file = "coverage-7.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:182eb9ac3f2b4874a1f41b78b87db20b66da6b9cdc32737fbbf4fea0c35b23fc"}, + {file = "coverage-7.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bb1e77a9a311346294621be905ea8a2c30d3ad371fc15bb72e98bfcfae532df"}, + {file = "coverage-7.2.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca0f34363e2634deffd390a0fef1aa99168ae9ed2af01af4a1f5865e362f8623"}, + {file = "coverage-7.2.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55416d7385774285b6e2a5feca0af9652f7f444a4fa3d29d8ab052fafef9d00d"}, + {file = "coverage-7.2.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:06ddd9c0249a0546997fdda5a30fbcb40f23926df0a874a60a8a185bc3a87d93"}, + {file = "coverage-7.2.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fff5aaa6becf2c6a1699ae6a39e2e6fb0672c2d42eca8eb0cafa91cf2e9bd312"}, + {file = "coverage-7.2.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ea53151d87c52e98133eb8ac78f1206498c015849662ca8dc246255265d9c3c4"}, + {file = "coverage-7.2.3-cp311-cp311-win32.whl", hash = "sha256:8f6c930fd70d91ddee53194e93029e3ef2aabe26725aa3c2753df057e296b925"}, + {file = "coverage-7.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:fa546d66639d69aa967bf08156eb8c9d0cd6f6de84be9e8c9819f52ad499c910"}, + {file = "coverage-7.2.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2317d5ed777bf5a033e83d4f1389fd4ef045763141d8f10eb09a7035cee774c"}, + {file = "coverage-7.2.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be9824c1c874b73b96288c6d3de793bf7f3a597770205068c6163ea1f326e8b9"}, + {file = "coverage-7.2.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c3b2803e730dc2797a017335827e9da6da0e84c745ce0f552e66400abdfb9a1"}, + {file = "coverage-7.2.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f69770f5ca1994cb32c38965e95f57504d3aea96b6c024624fdd5bb1aa494a1"}, + {file = "coverage-7.2.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1127b16220f7bfb3f1049ed4a62d26d81970a723544e8252db0efde853268e21"}, + {file = "coverage-7.2.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:aa784405f0c640940595fa0f14064d8e84aff0b0f762fa18393e2760a2cf5841"}, + {file = "coverage-7.2.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3146b8e16fa60427e03884301bf8209221f5761ac754ee6b267642a2fd354c48"}, + {file = "coverage-7.2.3-cp37-cp37m-win32.whl", hash = "sha256:1fd78b911aea9cec3b7e1e2622c8018d51c0d2bbcf8faaf53c2497eb114911c1"}, + {file = "coverage-7.2.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f3736a5d34e091b0a611964c6262fd68ca4363df56185902528f0b75dbb9c1f"}, + {file = "coverage-7.2.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:981b4df72c93e3bc04478153df516d385317628bd9c10be699c93c26ddcca8ab"}, + {file = "coverage-7.2.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0045f8f23a5fb30b2eb3b8a83664d8dc4fb58faddf8155d7109166adb9f2040"}, + {file = "coverage-7.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f760073fcf8f3d6933178d67754f4f2d4e924e321f4bb0dcef0424ca0215eba1"}, + {file = "coverage-7.2.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c86bd45d1659b1ae3d0ba1909326b03598affbc9ed71520e0ff8c31a993ad911"}, + {file = "coverage-7.2.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:172db976ae6327ed4728e2507daf8a4de73c7cc89796483e0a9198fd2e47b462"}, + {file = "coverage-7.2.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d2a3a6146fe9319926e1d477842ca2a63fe99af5ae690b1f5c11e6af074a6b5c"}, + {file = "coverage-7.2.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:f649dd53833b495c3ebd04d6eec58479454a1784987af8afb77540d6c1767abd"}, + {file = "coverage-7.2.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7c4ed4e9f3b123aa403ab424430b426a1992e6f4c8fd3cb56ea520446e04d152"}, + {file = "coverage-7.2.3-cp38-cp38-win32.whl", hash = "sha256:eb0edc3ce9760d2f21637766c3aa04822030e7451981ce569a1b3456b7053f22"}, + {file = "coverage-7.2.3-cp38-cp38-win_amd64.whl", hash = "sha256:63cdeaac4ae85a179a8d6bc09b77b564c096250d759eed343a89d91bce8b6367"}, + {file = "coverage-7.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:20d1a2a76bb4eb00e4d36b9699f9b7aba93271c9c29220ad4c6a9581a0320235"}, + {file = "coverage-7.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ea748802cc0de4de92ef8244dd84ffd793bd2e7be784cd8394d557a3c751e21"}, + {file = "coverage-7.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21b154aba06df42e4b96fc915512ab39595105f6c483991287021ed95776d934"}, + {file = "coverage-7.2.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd214917cabdd6f673a29d708574e9fbdb892cb77eb426d0eae3490d95ca7859"}, + {file = "coverage-7.2.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2e58e45fe53fab81f85474e5d4d226eeab0f27b45aa062856c89389da2f0d9"}, + {file = "coverage-7.2.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:87ecc7c9a1a9f912e306997ffee020297ccb5ea388421fe62a2a02747e4d5539"}, + {file = "coverage-7.2.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:387065e420aed3c71b61af7e82c7b6bc1c592f7e3c7a66e9f78dd178699da4fe"}, + {file = "coverage-7.2.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ea3f5bc91d7d457da7d48c7a732beaf79d0c8131df3ab278e6bba6297e23c6c4"}, + {file = "coverage-7.2.3-cp39-cp39-win32.whl", hash = "sha256:ae7863a1d8db6a014b6f2ff9c1582ab1aad55a6d25bac19710a8df68921b6e30"}, + {file = "coverage-7.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:3f04becd4fcda03c0160d0da9c8f0c246bc78f2f7af0feea1ec0930e7c93fa4a"}, + {file = "coverage-7.2.3-pp37.pp38.pp39-none-any.whl", hash = "sha256:965ee3e782c7892befc25575fa171b521d33798132692df428a09efacaffe8d0"}, + {file = "coverage-7.2.3.tar.gz", hash = "sha256:d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259"}, +] + +[package.dependencies] +tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} + +[package.extras] +toml = ["tomli"] + +[[package]] +name = "cytoolz" +version = "0.12.1" +description = "Cython implementation of Toolz: High performance functional utilities" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "cytoolz-0.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5c59bb4ca88e1c69931468bf21f91c8f64d8bf1999eb163b7a2df336f60c304a"}, + {file = "cytoolz-0.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4d700e011156ff112966c6d77faaae125fcaf538f4cec2b9ce8957de82858f0f"}, + {file = "cytoolz-0.12.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23c3f57c48eb939d2986eba4aeaeedf930ebf94d58c91a42d4e0fc45ed5427dc"}, + {file = "cytoolz-0.12.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25ff13c468c06da9ef26651dc389e7e8bb7af548f8c1dfb96305f57f18d398a8"}, + {file = "cytoolz-0.12.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a734511144309ea6e105406633affb74e303a3df07d8a3954f9b01946e27ecb1"}, + {file = "cytoolz-0.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48bc2f30d1b2646d675bb8e7778ab59379bf9edc59fe06fb0e7f85ba1271bf44"}, + {file = "cytoolz-0.12.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30936ae8fa68b6a1ac8ad6c4bacb5a8a00d51bc6c89f9614a1557b0105d09f8a"}, + {file = "cytoolz-0.12.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:efd1b2da3ee577fcfa723a214f73186aef9674dd5b28242d90443c7a82722b0f"}, + {file = "cytoolz-0.12.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6805b007af3557ee6c20dab491b6e55a8177f5b6845d9e6c653374d540366ba7"}, + {file = "cytoolz-0.12.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a6e63fc67b23830947b51e0a488992e3c904fce825ead565f3904dcf621d05f7"}, + {file = "cytoolz-0.12.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:9e324a94856d88ecf10f34c102d0ded67d7c3cf644153d77e34a29720ce6aa47"}, + {file = "cytoolz-0.12.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:02975e2b1e61e47e9afa311f4c1783d155136fad37c54a1cebfe991c5a0798a1"}, + {file = "cytoolz-0.12.1-cp310-cp310-win32.whl", hash = "sha256:b6569f6038133909cd658dbdcc6fc955f791dc47a7f5b55d2066f742253dcbfe"}, + {file = "cytoolz-0.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:1be368623e46ad3c1ce807e7a436acb119c26001507b31f92ceb21b86e08c386"}, + {file = "cytoolz-0.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:849f461bffa1e7700ccfcb5186df29cd4cdcc9efdb7199cb8b5681dc37045d72"}, + {file = "cytoolz-0.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4284120c978fb7039901bf6e66832cb3e82ac1b2a107512e735bdb04fd5533ed"}, + {file = "cytoolz-0.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ec296f01c29c809698eaf677211b6255691295c2b35caab2131e1e7eaadfbac"}, + {file = "cytoolz-0.12.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:37c53f456a1c84566a7d911eec57c4c6280b915ab0600e7671582793cc2769fe"}, + {file = "cytoolz-0.12.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1b6761791973b1e839b8309d5853b40eeb413368e31beaf5f2b6ed44c6fc7cf0"}, + {file = "cytoolz-0.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff478682e8ee6dbaa37201bb71bf4a6eee744006ab000e8f5cea05066fc7c845"}, + {file = "cytoolz-0.12.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:867bebe6be30ee36a836f9b835790762a74f46be8cc339ea57b68dcecdbc1133"}, + {file = "cytoolz-0.12.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7e903df991f0957e2b271a37bb25d28e0d260c52825ae67507d15ca55a935961"}, + {file = "cytoolz-0.12.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e797c4afb1b7962d3205b1959e1051f7e6bfbba29da44042a9efc2391f1feb38"}, + {file = "cytoolz-0.12.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b8eceaa12b7f152b046b67cb053ec2b5b00f73593983de69bc5e63a8aca4a7a8"}, + {file = "cytoolz-0.12.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b575393dd431b8e211de35bd593d831dac870172b16e2b7934f3566b8fc89377"}, + {file = "cytoolz-0.12.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3032c0ba42dee5836d6b57a72a569b65df2c29e8ed266cb900d569003cf933a9"}, + {file = "cytoolz-0.12.1-cp311-cp311-win32.whl", hash = "sha256:c576bd63495150385b8d05eaae775387f378be2fd9805d3ffb4d17c87271fbad"}, + {file = "cytoolz-0.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:421b224dc4157a0d66625acb5798cf50858cfa06a5232d39a8bd6cf1fa88aca3"}, + {file = "cytoolz-0.12.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:be5a454a95797343d0fb1ed02caecae73a023b1393c112951c84f17ec9f4076c"}, + {file = "cytoolz-0.12.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:061387aa39b9c1576c25d0c59142513c09e77a2a07bd5d6211a43c7a758b6f45"}, + {file = "cytoolz-0.12.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14f4dbc3f0ec8f6fc68865489af21dcf042ff007d2737c27bfd73296f15db544"}, + {file = "cytoolz-0.12.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a816bff6bf424753e1ac2441902ceaf37ae6718b745a53f6aa1a60c617fb4f5f"}, + {file = "cytoolz-0.12.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:633f19d1990b1cf9c67dce9c28bf8b5a18e42785d15548607a100e1236384d5d"}, + {file = "cytoolz-0.12.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fa7009c843667868aa8bdb3d68e5ef3d6356dd418b17ed5ca4e1340e82483a5"}, + {file = "cytoolz-0.12.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:1c29dd04e282ddfd45b457e3551075beec9128aa9271245e58ce924bf6e055f8"}, + {file = "cytoolz-0.12.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:cd35c0be4c46274129dd1678bb911dd4e93d23968b26f4e39cd55bc7cb3b1bac"}, + {file = "cytoolz-0.12.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5158ae6d8dd112d003f677039a3613ca7d2592bfe35d7accf23684edb961fc26"}, + {file = "cytoolz-0.12.1-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:7eb9e6fa8a82c3d2f519f7d3942898a97792e3895569e9501b9431048289b82f"}, + {file = "cytoolz-0.12.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ac6784cc43aec51a86cf9058a2a343084f8cf46a9281bea5762bfa608127c53b"}, + {file = "cytoolz-0.12.1-cp36-cp36m-win32.whl", hash = "sha256:794cce219bbcb2f36ca220f27d5afd64eaa854e04901bd6f240be156a578b607"}, + {file = "cytoolz-0.12.1-cp36-cp36m-win_amd64.whl", hash = "sha256:695dd8231e4f1bfb9a2363775a6e4e56ad9d2058058f817203a49614f4bfe33b"}, + {file = "cytoolz-0.12.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1bd8017ef0da935a20106272c5f5ff6b1114add1ccb09cfed1ff7ec5cc01c6d"}, + {file = "cytoolz-0.12.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56e1ebf6eb4438b8c45cbe7e7b22fc65df0c9efa97a70d3bf2f51e08b19756a5"}, + {file = "cytoolz-0.12.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:816c2038008ebf50d81171ddfae377f1af9e71d504ec609469dcb0906bfcf2ae"}, + {file = "cytoolz-0.12.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bebe58f7a160db7838eb70990c704db4bdc2d58bd364290fd69be0587be8bac"}, + {file = "cytoolz-0.12.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a72440305f634604827f96810e4469877b89f5c060d6852267650a49b0e3768c"}, + {file = "cytoolz-0.12.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b46ebc463bb45f278a2b94e630061c26e10077cb68d4c93583d8f4199699a5ef"}, + {file = "cytoolz-0.12.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:e75e287787e6adafed9d8c3d3e7647c0b5eb460221f9f92d7dfe48b45ba77c0d"}, + {file = "cytoolz-0.12.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:03ab22c9aeb1535f8647d23b6520b0c3d41aaa18d04ef42b352dde1931f2e2b1"}, + {file = "cytoolz-0.12.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b2ac288f27a2689d9e39f4cf4df5437a8eb038eaae515169586c77f9f8fb343a"}, + {file = "cytoolz-0.12.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:97a24c0d0806fcf9a6e75fc18aeb95adc37eb0baf6451f10a2de23ffd815329d"}, + {file = "cytoolz-0.12.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:42c9e5cd2a48a257b1f2402334b48122501f249b8dcf77082f569f2680f185eb"}, + {file = "cytoolz-0.12.1-cp37-cp37m-win32.whl", hash = "sha256:35fae4eaa0eaf9072a5fe2d244a79e65baae4e5ddbe9cc629c5037af800213a2"}, + {file = "cytoolz-0.12.1-cp37-cp37m-win_amd64.whl", hash = "sha256:5af43ca7026ead3dd08b261e4f7163cd2cf3ceaa74fa5a81f7b7ea5d445e41d6"}, + {file = "cytoolz-0.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fcc378fa97f02fbcef090b3611305425d72bd1c0afdd13ef4a82dc67d40638b6"}, + {file = "cytoolz-0.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc3645cf6b9246cb8e179db2803e4f0d148211d2a2cf22d5c9b5219111cd91a0"}, + {file = "cytoolz-0.12.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b245b824f4705aef0e4a03fafef3ad6cb59ef43cc564cdbf683ee28dfc11ad5"}, + {file = "cytoolz-0.12.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c1964dcb5f250fd13fac210944b20810d61ef4094a17fbbe502ab7a7eaeeace7"}, + {file = "cytoolz-0.12.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f7194a22a4a24f3561cb6ad1cca9c9b2f2cf34cc8d4bce6d6a24c80960323fa8"}, + {file = "cytoolz-0.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c5434db53f3a94a37ad8aedb231901e001995d899af6ed1165f3d27fa04a6a"}, + {file = "cytoolz-0.12.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b30cd083ef8af4ba66d9fe5cc75c653ede3f2655f97a032db1a14cc8a006719c"}, + {file = "cytoolz-0.12.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bef934bd3e024d512c6c0ad1c66eb173f61d9ccb4dbca8d75f727a5604f7c2f6"}, + {file = "cytoolz-0.12.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:37320669c364f7d370392af33cc1034b4563da66c22cd3261e3530f4d30dbe4b"}, + {file = "cytoolz-0.12.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3cb95d23defb2322cddf70efb4af6dac191d95edaa343e8c1f58f1afa4f92ecd"}, + {file = "cytoolz-0.12.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ac5895d5f78dbd8646fe37266655ba4995f9cfec38a86595282fee69e41787da"}, + {file = "cytoolz-0.12.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:499af2aff04f65b4c23de1df08e1d1484a93b23ddaaa0163e44b5070b68356eb"}, + {file = "cytoolz-0.12.1-cp38-cp38-win32.whl", hash = "sha256:aa61e3da751a2dfe95aeca603f3ef510071a136ba9905f61ae6cb5d0696271ad"}, + {file = "cytoolz-0.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:f5b43ce952a5a31441556c55f5f5f5a8e62c28581a0ff2a2c31c04ef992d73bd"}, + {file = "cytoolz-0.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b8b8f88251b84b3877254cdd59c86a1dc6b2b39a03c6c9c067d344ef879562e0"}, + {file = "cytoolz-0.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d72415b0110f7958dd3a5ee98a70166f47bd42ede85e3535669c794d06f57406"}, + {file = "cytoolz-0.12.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8101ab6de5aa0b26a2b5032bc488d430010c91863e701812d65836b03a12f61"}, + {file = "cytoolz-0.12.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2eed428b5e68c28abf2c71195e799850e040d67a27c05f7785319c611665b86a"}, + {file = "cytoolz-0.12.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59641eb1f41cb688b3cb2f98c9003c493a5024325f76b5c02333d08dd972127c"}, + {file = "cytoolz-0.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a48940ff0449ffcf690310bf9228bb57885f7571406ed2fe05c98e299987195"}, + {file = "cytoolz-0.12.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bae431a5985cdb2014be09d37206c288e0d063940cf9539e9769bd2ec26b220"}, + {file = "cytoolz-0.12.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cb8b10405960a8e6801a4702af98ea640130ec6ecfc1208195762de3f5503ba9"}, + {file = "cytoolz-0.12.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c9a16a5b4f54d5c0a131f56b0ca65998a9a74958b5b36840c280edba4f8b907"}, + {file = "cytoolz-0.12.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:49911cb533c96d275e31e7eaeb0742ac3f7afe386a1d8c40937814d75039a0f7"}, + {file = "cytoolz-0.12.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:dbae37d48ef5a0ab90cfaf2b9312d96f034b1c828208a9cbe25377a1b19ba129"}, + {file = "cytoolz-0.12.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c34e69be4429633fc614febe3127fa03aa418a1abb9252f29d9ba5b3394573a5"}, + {file = "cytoolz-0.12.1-cp39-cp39-win32.whl", hash = "sha256:0d474dacbafbdbb44c7de986bbf71ff56ae62df0d52ab3b6fa966784dc88737a"}, + {file = "cytoolz-0.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:3d6d0b0075731832343eb88229cea4bf39e96f3fc7acbc449aadbdfec2842703"}, + {file = "cytoolz-0.12.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8506d1863f30d26f577c4ed59d2cfd03d2f39569f9cbaa02a764a9de73d312d5"}, + {file = "cytoolz-0.12.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a1eae39656a1685e8b3f433eecfd72015ce5c1d7519e9c8f9402153c68331bb"}, + {file = "cytoolz-0.12.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a0055943074c6c85b77fcc3f42f7c54010a3478daa2ed9d6243d0411c84a4d3"}, + {file = "cytoolz-0.12.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8a7a325b8fe885a6dd91093616c703134f2dacbd869bc519970df3849c2a15b"}, + {file = "cytoolz-0.12.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:7b60caf0fa5f1b49f1062f7dc0f66c7b23e2736bad50fa8296bfb845995e3051"}, + {file = "cytoolz-0.12.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:980e7eb7205e01816a92f3290cfc80507957e64656b9271a0dfebb85fe3718c0"}, + {file = "cytoolz-0.12.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06d38a40fe153f23cda0e823413fe9d9ebee89dd461827285316eff929fb121e"}, + {file = "cytoolz-0.12.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d540e9c34a61b53b6a374ea108794a48388178f7889d772e364cdbd6df37774c"}, + {file = "cytoolz-0.12.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:117871f036926e42d3abcee587eafa9dc7383f1064ac53a806d33e76604de311"}, + {file = "cytoolz-0.12.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:31131b54a0c72efc0eb432dc66df546c6a54f2a7d396c9a34cf65ac1c26b1df8"}, + {file = "cytoolz-0.12.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4534cbfad73cdb1a6dad495530d4186d57d73089c01e9cb0558caab50e46cb3b"}, + {file = "cytoolz-0.12.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50db41e875e36aec11881b8b12bc69c6f4836b7dd9e88a9e5bbf26c2cb3ba6cd"}, + {file = "cytoolz-0.12.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6716855f9c669c9e25a185d88e0f169839bf8553d16496796325acd114607c11"}, + {file = "cytoolz-0.12.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f32452e833f0605b871626e6c61b71b0cba24233aad0e04accc3240497d4995"}, + {file = "cytoolz-0.12.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ba74c239fc6cb6e962eabc420967c7565f3f363b776c89b3df5234caecf1f463"}, + {file = "cytoolz-0.12.1.tar.gz", hash = "sha256:fc33909397481c90de3cec831bfb88d97e220dc91939d996920202f184b4648e"}, +] + +[package.dependencies] +toolz = ">=0.8.0" + +[package.extras] +cython = ["cython"] + +[[package]] +name = "exceptiongroup" +version = "1.1.1" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, + {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "execnet" +version = "1.9.0" +description = "execnet: rapid multi-Python deployment" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, + {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, +] + +[package.extras] +testing = ["pre-commit"] + +[[package]] +name = "filelock" +version = "3.11.0" +description = "A platform independent file lock." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "filelock-3.11.0-py3-none-any.whl", hash = "sha256:f08a52314748335c6460fc8fe40cd5638b85001225db78c2aa01c8c0db83b318"}, + {file = "filelock-3.11.0.tar.gz", hash = "sha256:3618c0da67adcc0506b015fd11ef7faf1b493f0b40d87728e19986b536890c37"}, +] + +[package.extras] +docs = ["furo (>=2023.3.27)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.2.2)", "diff-cover (>=7.5)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] + +[[package]] +name = "flake8" +version = "6.0.0" +description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-6.0.0-py2.py3-none-any.whl", hash = "sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7"}, + {file = "flake8-6.0.0.tar.gz", hash = "sha256:c61007e76655af75e6785a931f452915b371dc48f56efd765247c8fe68f2b181"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.10.0,<2.11.0" +pyflakes = ">=3.0.0,<3.1.0" + +[[package]] +name = "flake8-bugbear" +version = "23.3.23" +description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." +category = "dev" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-bugbear-23.3.23.tar.gz", hash = "sha256:ea565bdb87b96b56dc499edd6cc3ba7f695373d902a5f56c989b74fad7c7719d"}, + {file = "flake8_bugbear-23.3.23-py3-none-any.whl", hash = "sha256:8a218d13abd6904800970381057ce8e72cde8eea743240c4ef3ede4dd0bc9cfb"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +flake8 = ">=6.0.0" + +[package.extras] +dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit", "pytest", "tox"] + +[[package]] +name = "flake8-comprehensions" +version = "3.12.0" +description = "A flake8 plugin to help you write better list/set/dict comprehensions." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "flake8_comprehensions-3.12.0-py3-none-any.whl", hash = "sha256:013234637ec7dfcb7cd2900578fb53c512f81db909cefe371c019232695c362d"}, + {file = "flake8_comprehensions-3.12.0.tar.gz", hash = "sha256:419ef1a6e8de929203791a5e8ff5e3906caeba13eb3290eebdbf88a9078d502e"}, +] + +[package.dependencies] +flake8 = ">=3.0,<3.2.0 || >3.2.0" + +[[package]] +name = "flake8-quotes" +version = "3.3.2" +description = "Flake8 lint for quotes." +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "flake8-quotes-3.3.2.tar.gz", hash = "sha256:6e26892b632dacba517bf27219c459a8396dcfac0f5e8204904c5a4ba9b480e1"}, +] + +[package.dependencies] +flake8 = "*" + +[[package]] +name = "graphviz" +version = "0.20.1" +description = "Simple Python interface for Graphviz" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, + {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, +] + +[package.extras] +dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] +docs = ["sphinx (>=5)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] +test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>=3)"] + +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} + +[[package]] +name = "importlib-metadata" +version = "4.13.0" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +perf = ["ipython"] +testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "isort" +version = "5.12.0" +description = "A Python utility / library to sort Python imports." +category = "dev" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, + {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, +] + +[package.extras] +colors = ["colorama (>=0.4.3)"] +pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] +plugins = ["setuptools"] +requirements-deprecated-finder = ["pip-api", "pipreqs"] + +[[package]] +name = "markdown-it-py" +version = "2.2.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, + {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "mypy" +version = "1.2.0" +description = "Optional static typing for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mypy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:701189408b460a2ff42b984e6bd45c3f41f0ac9f5f58b8873bbedc511900086d"}, + {file = "mypy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fe91be1c51c90e2afe6827601ca14353bbf3953f343c2129fa1e247d55fd95ba"}, + {file = "mypy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d26b513225ffd3eacece727f4387bdce6469192ef029ca9dd469940158bc89e"}, + {file = "mypy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3a2d219775a120581a0ae8ca392b31f238d452729adbcb6892fa89688cb8306a"}, + {file = "mypy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:2e93a8a553e0394b26c4ca683923b85a69f7ccdc0139e6acd1354cc884fe0128"}, + {file = "mypy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3efde4af6f2d3ccf58ae825495dbb8d74abd6d176ee686ce2ab19bd025273f41"}, + {file = "mypy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:695c45cea7e8abb6f088a34a6034b1d273122e5530aeebb9c09626cea6dca4cb"}, + {file = "mypy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0e9464a0af6715852267bf29c9553e4555b61f5904a4fc538547a4d67617937"}, + {file = "mypy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8293a216e902ac12779eb7a08f2bc39ec6c878d7c6025aa59464e0c4c16f7eb9"}, + {file = "mypy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f46af8d162f3d470d8ffc997aaf7a269996d205f9d746124a179d3abe05ac602"}, + {file = "mypy-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:031fc69c9a7e12bcc5660b74122ed84b3f1c505e762cc4296884096c6d8ee140"}, + {file = "mypy-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:390bc685ec209ada4e9d35068ac6988c60160b2b703072d2850457b62499e336"}, + {file = "mypy-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4b41412df69ec06ab141808d12e0bf2823717b1c363bd77b4c0820feaa37249e"}, + {file = "mypy-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4e4a682b3f2489d218751981639cffc4e281d548f9d517addfd5a2917ac78119"}, + {file = "mypy-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a197ad3a774f8e74f21e428f0de7f60ad26a8d23437b69638aac2764d1e06a6a"}, + {file = "mypy-1.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c9a084bce1061e55cdc0493a2ad890375af359c766b8ac311ac8120d3a472950"}, + {file = "mypy-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaeaa0888b7f3ccb7bcd40b50497ca30923dba14f385bde4af78fac713d6d6f6"}, + {file = "mypy-1.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bea55fc25b96c53affab852ad94bf111a3083bc1d8b0c76a61dd101d8a388cf5"}, + {file = "mypy-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:4c8d8c6b80aa4a1689f2a179d31d86ae1367ea4a12855cc13aa3ba24bb36b2d8"}, + {file = "mypy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70894c5345bea98321a2fe84df35f43ee7bb0feec117a71420c60459fc3e1eed"}, + {file = "mypy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a99fe1768925e4a139aace8f3fb66db3576ee1c30b9c0f70f744ead7e329c9f"}, + {file = "mypy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023fe9e618182ca6317ae89833ba422c411469156b690fde6a315ad10695a521"}, + {file = "mypy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4d19f1a239d59f10fdc31263d48b7937c585810288376671eaf75380b074f238"}, + {file = "mypy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:2de7babe398cb7a85ac7f1fd5c42f396c215ab3eff731b4d761d68d0f6a80f48"}, + {file = "mypy-1.2.0-py3-none-any.whl", hash = "sha256:d8e9187bfcd5ffedbe87403195e1fc340189a68463903c39e2b63307c9fa0394"}, + {file = "mypy-1.2.0.tar.gz", hash = "sha256:f70a40410d774ae23fcb4afbbeca652905a04de7948eaf0b1789c8d1426b72d1"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=3.10" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +python2 = ["typed-ast (>=1.4.0,<2)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "nanoid" +version = "2.0.0" +description = "A tiny, secure, URL-friendly, unique string ID generator for Python" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "nanoid-2.0.0-py3-none-any.whl", hash = "sha256:90aefa650e328cffb0893bbd4c236cfd44c48bc1f2d0b525ecc53c3187b653bb"}, + {file = "nanoid-2.0.0.tar.gz", hash = "sha256:5a80cad5e9c6e9ae3a41fa2fb34ae189f7cb420b2a5d8f82bd9d23466e4efa68"}, +] + +[[package]] +name = "numpy" +version = "1.24.2" +description = "Fundamental package for array computing in Python" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eef70b4fc1e872ebddc38cddacc87c19a3709c0e3e5d20bf3954c147b1dd941d"}, + {file = "numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8d2859428712785e8a8b7d2b3ef0a1d1565892367b32f915c4a4df44d0e64f5"}, + {file = "numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6524630f71631be2dabe0c541e7675db82651eb998496bbe16bc4f77f0772253"}, + {file = "numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a51725a815a6188c662fb66fb32077709a9ca38053f0274640293a14fdd22978"}, + {file = "numpy-1.24.2-cp310-cp310-win32.whl", hash = "sha256:2620e8592136e073bd12ee4536149380695fbe9ebeae845b81237f986479ffc9"}, + {file = "numpy-1.24.2-cp310-cp310-win_amd64.whl", hash = "sha256:97cf27e51fa078078c649a51d7ade3c92d9e709ba2bfb97493007103c741f1d0"}, + {file = "numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7de8fdde0003f4294655aa5d5f0a89c26b9f22c0a58790c38fae1ed392d44a5a"}, + {file = "numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4173bde9fa2a005c2c6e2ea8ac1618e2ed2c1c6ec8a7657237854d42094123a0"}, + {file = "numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cecaed30dc14123020f77b03601559fff3e6cd0c048f8b5289f4eeabb0eb281"}, + {file = "numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a23f8440561a633204a67fb44617ce2a299beecf3295f0d13c495518908e910"}, + {file = "numpy-1.24.2-cp311-cp311-win32.whl", hash = "sha256:e428c4fbfa085f947b536706a2fc349245d7baa8334f0c5723c56a10595f9b95"}, + {file = "numpy-1.24.2-cp311-cp311-win_amd64.whl", hash = "sha256:557d42778a6869c2162deb40ad82612645e21d79e11c1dc62c6e82a2220ffb04"}, + {file = "numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d0a2db9d20117bf523dde15858398e7c0858aadca7c0f088ac0d6edd360e9ad2"}, + {file = "numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c72a6b2f4af1adfe193f7beb91ddf708ff867a3f977ef2ec53c0ffb8283ab9f5"}, + {file = "numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c29e6bd0ec49a44d7690ecb623a8eac5ab8a923bce0bea6293953992edf3a76a"}, + {file = "numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2eabd64ddb96a1239791da78fa5f4e1693ae2dadc82a76bc76a14cbb2b966e96"}, + {file = "numpy-1.24.2-cp38-cp38-win32.whl", hash = "sha256:e3ab5d32784e843fc0dd3ab6dcafc67ef806e6b6828dc6af2f689be0eb4d781d"}, + {file = "numpy-1.24.2-cp38-cp38-win_amd64.whl", hash = "sha256:76807b4063f0002c8532cfeac47a3068a69561e9c8715efdad3c642eb27c0756"}, + {file = "numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4199e7cfc307a778f72d293372736223e39ec9ac096ff0a2e64853b866a8e18a"}, + {file = "numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:adbdce121896fd3a17a77ab0b0b5eedf05a9834a18699db6829a64e1dfccca7f"}, + {file = "numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:889b2cc88b837d86eda1b17008ebeb679d82875022200c6e8e4ce6cf549b7acb"}, + {file = "numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f64bb98ac59b3ea3bf74b02f13836eb2e24e48e0ab0145bbda646295769bd780"}, + {file = "numpy-1.24.2-cp39-cp39-win32.whl", hash = "sha256:63e45511ee4d9d976637d11e6c9864eae50e12dc9598f531c035265991910468"}, + {file = "numpy-1.24.2-cp39-cp39-win_amd64.whl", hash = "sha256:a77d3e1163a7770164404607b7ba3967fb49b24782a6ef85d9b5f54126cc39e5"}, + {file = "numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:92011118955724465fb6853def593cf397b4a1367495e0b59a7e69d40c4eb71d"}, + {file = "numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9006288bcf4895917d02583cf3411f98631275bc67cce355a7f39f8c14338fa"}, + {file = "numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:150947adbdfeceec4e5926d956a06865c1c690f2fd902efede4ca6fe2e657c3f"}, + {file = "numpy-1.24.2.tar.gz", hash = "sha256:003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22"}, +] + +[[package]] +name = "packaging" +version = "23.1" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, + {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, +] + +[[package]] +name = "pathspec" +version = "0.11.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, + {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, +] + +[[package]] +name = "pep8-naming" +version = "0.13.3" +description = "Check PEP-8 naming conventions, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pep8-naming-0.13.3.tar.gz", hash = "sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971"}, + {file = "pep8_naming-0.13.3-py3-none-any.whl", hash = "sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80"}, +] + +[package.dependencies] +flake8 = ">=5.0.0" + +[[package]] +name = "platformdirs" +version = "3.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.2.0-py3-none-any.whl", hash = "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e"}, + {file = "platformdirs-3.2.0.tar.gz", hash = "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08"}, +] + +[package.extras] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "psutil" +version = "5.9.4" +description = "Cross-platform lib for process and system monitoring in Python." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "psutil-5.9.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:68908971daf802203f3d37e78d3f8831b6d1014864d7a85937941bb35f09aefe"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ff89f9b835100a825b14c2808a106b6fdcc4b15483141482a12c725e7f78549"}, + {file = "psutil-5.9.4-cp27-cp27m-win32.whl", hash = "sha256:852dd5d9f8a47169fe62fd4a971aa07859476c2ba22c2254d4a1baa4e10b95ad"}, + {file = "psutil-5.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9120cd39dca5c5e1c54b59a41d205023d436799b1c8c4d3ff71af18535728e94"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6b92c532979bafc2df23ddc785ed116fced1f492ad90a6830cf24f4d1ea27d24"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7"}, + {file = "psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:54d5b184728298f2ca8567bf83c422b706200bcbbfafdc06718264f9393cfeb7"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16653106f3b59386ffe10e0bad3bb6299e169d5327d3f187614b1cb8f24cf2e1"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54c0d3d8e0078b7666984e11b12b88af2db11d11249a8ac8920dd5ef68a66e08"}, + {file = "psutil-5.9.4-cp36-abi3-win32.whl", hash = "sha256:149555f59a69b33f056ba1c4eb22bb7bf24332ce631c44a319cec09f876aaeff"}, + {file = "psutil-5.9.4-cp36-abi3-win_amd64.whl", hash = "sha256:fd8522436a6ada7b4aad6638662966de0d61d241cb821239b2ae7013d41a43d4"}, + {file = "psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6001c809253a29599bc0dfd5179d9f8a5779f9dffea1da0f13c53ee568115e1e"}, + {file = "psutil-5.9.4.tar.gz", hash = "sha256:3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62"}, +] + +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + +[[package]] +name = "pybind11" +version = "2.10.4" +description = "Seamless operability between C++11 and Python" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pybind11-2.10.4-py3-none-any.whl", hash = "sha256:ec9be0c45061c829648d7e8c98a7d041768b768c934acd15196e0f1943d9a818"}, + {file = "pybind11-2.10.4.tar.gz", hash = "sha256:0bb621d3c45a049aa5923debb87c5c0e2668227905c55ebe8af722608d8ed927"}, +] + +[package.extras] +global = ["pybind11-global (==2.10.4)"] + +[[package]] +name = "pycodestyle" +version = "2.10.0" +description = "Python style guide checker" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"}, + {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"}, +] + +[[package]] +name = "pyflakes" +version = "3.0.1" +description = "passive checker of Python programs" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"}, + {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, +] + +[[package]] +name = "pygments" +version = "2.15.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Pygments-2.15.0-py3-none-any.whl", hash = "sha256:77a3299119af881904cd5ecd1ac6a66214b6e9bed1f2db16993b54adede64094"}, + {file = "Pygments-2.15.0.tar.gz", hash = "sha256:f7e36cffc4c517fbc252861b9a6e4644ca0e5abadf9a113c72d1358ad09b9500"}, +] + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pyk" +version = "0.1.232" +description = "" +category = "main" +optional = false +python-versions = "^3.10" +files = [] +develop = false + +[package.dependencies] +cmd2 = "^2.4.2" +coloredlogs = "^15.0.1" +filelock = "^3.9.0" +graphviz = "^0.20.1" +psutil = "^5.9.4" +pybind11 = "^2.10.3" +textual = "^0.10.1" +tomli = "^2.0.1" + +[package.source] +type = "git" +url = "https://github.com/runtimeverification/pyk.git" +reference = "v0.1.232" +resolved_reference = "92bfc282f5b03f7cb82ba4acbbddb26fc15eb4db" + +[[package]] +name = "pyperclip" +version = "1.8.2" +description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "pyperclip-1.8.2.tar.gz", hash = "sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57"}, +] + +[[package]] +name = "pyreadline3" +version = "3.4.1" +description = "A python implementation of GNU readline." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] + +[[package]] +name = "pytest" +version = "7.3.0" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.3.0-py3-none-any.whl", hash = "sha256:933051fa1bfbd38a21e73c3960cebdad4cf59483ddba7696c48509727e17f201"}, + {file = "pytest-7.3.0.tar.gz", hash = "sha256:58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "pytest-cov" +version = "4.0.0" +description = "Pytest plugin for measuring coverage." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-cov-4.0.0.tar.gz", hash = "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470"}, + {file = "pytest_cov-4.0.0-py3-none-any.whl", hash = "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b"}, +] + +[package.dependencies] +coverage = {version = ">=5.2.1", extras = ["toml"]} +pytest = ">=4.6" + +[package.extras] +testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] + +[[package]] +name = "pytest-mock" +version = "3.10.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-mock-3.10.0.tar.gz", hash = "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"}, + {file = "pytest_mock-3.10.0-py3-none-any.whl", hash = "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b"}, +] + +[package.dependencies] +pytest = ">=5.0" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + +[[package]] +name = "pytest-xdist" +version = "3.2.1" +description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-xdist-3.2.1.tar.gz", hash = "sha256:1849bd98d8b242b948e472db7478e090bf3361912a8fed87992ed94085f54727"}, + {file = "pytest_xdist-3.2.1-py3-none-any.whl", hash = "sha256:37290d161638a20b672401deef1cba812d110ac27e35d213f091d15b8beb40c9"}, +] + +[package.dependencies] +execnet = ">=1.1" +pytest = ">=6.2.0" + +[package.extras] +psutil = ["psutil (>=3.0)"] +setproctitle = ["setproctitle"] +testing = ["filelock"] + +[[package]] +name = "rich" +version = "13.3.4" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.3.4-py3-none-any.whl", hash = "sha256:22b74cae0278fd5086ff44144d3813be1cedc9115bdfabbfefd86400cb88b20a"}, + {file = "rich-13.3.4.tar.gz", hash = "sha256:b5d573e13605423ec80bdd0cd5f8541f7844a0e71a13f74cf454ccb2f490708b"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0,<3.0.0" +pygments = ">=2.13.0,<3.0.0" + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "textual" +version = "0.10.1" +description = "Modern Text User Interface framework" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "textual-0.10.1-py3-none-any.whl", hash = "sha256:dd9a5b38a74cf42364a0f247e8f57e3ded7d69d44a63ee664af333f986c48e81"}, + {file = "textual-0.10.1.tar.gz", hash = "sha256:928cfeec37c60b212963f484e806b25380afdddb5a2aecd888ce8c9b46f93553"}, +] + +[package.dependencies] +importlib-metadata = ">=4.11.3,<5.0.0" +nanoid = ">=2.0.0" +rich = ">12.6.0" + +[package.extras] +dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "toolz" +version = "0.12.0" +description = "List processing tools and functional utilities" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "toolz-0.12.0-py3-none-any.whl", hash = "sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f"}, + {file = "toolz-0.12.0.tar.gz", hash = "sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194"}, +] + +[[package]] +name = "typing-extensions" +version = "4.5.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, + {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, +] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] + +[[package]] +name = "zipp" +version = "3.15.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, + {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "0179605f7400362c7ac722df0bfcfd161e5e0afcadecaee7f48a3a0e181bbdea" diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/pyproject.toml b/docs/runtimeverification-wasm-semantics/pykwasm/pyproject.toml new file mode 100644 index 000000000..47c35c0fe --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/pyproject.toml @@ -0,0 +1,51 @@ +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +name = "pykwasm" +version = "0.1.0" +description = "" +authors = [ + "Runtime Verification, Inc. ", +] + +[tool.poetry.dependencies] +python = "^3.10" +cytoolz = "^0.12.1" +numpy = "^1.24.2" +pyk = { git = "https://github.com/runtimeverification/pyk.git", tag="v0.1.232" } + +[tool.poetry.group.dev.dependencies] +autoflake = "*" +black = "*" +flake8 = "*" +flake8-bugbear = "*" +flake8-comprehensions = "*" +flake8-quotes = "*" +isort = "*" +mypy = "*" +pep8-naming = "*" +pytest = "*" +pytest-cov = "*" +pytest-mock = "*" +pytest-xdist = "*" + +[tool.isort] +profile = "black" +line_length = 120 + +[tool.autoflake] +recursive = true +expand-star-imports = true +remove-all-unused-imports = true +ignore-init-module-imports = true +remove-duplicate-keys = true +remove-unused-variables = true + +[tool.black] +line-length = 120 +skip-string-normalization = true + +[tool.mypy] +disallow_untyped_defs = true diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/__init__.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/hello.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/hello.py new file mode 100644 index 000000000..6cab2ee46 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/hello.py @@ -0,0 +1,2 @@ +def hello(name: str) -> str: + return f'Hello, {name}!' diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/py.typed b/docs/runtimeverification-wasm-semantics/pykwasm/src/pykwasm/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/__init__.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/__init__.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/test_integration.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/test_integration.py new file mode 100644 index 000000000..c939204da --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/integration/test_integration.py @@ -0,0 +1,5 @@ +from pykwasm.hello import hello + + +def test_hello() -> None: + assert hello('World') == 'Hello, World!' diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/__init__.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/test_unit.py b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/test_unit.py new file mode 100644 index 000000000..c939204da --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/pykwasm/src/tests/unit/test_unit.py @@ -0,0 +1,5 @@ +from pykwasm.hello import hello + + +def test_hello() -> None: + assert hello('World') == 'Hello, World!' diff --git a/docs/runtimeverification-wasm-semantics/test.md b/docs/runtimeverification-wasm-semantics/test.md new file mode 100644 index 000000000..6ea7bb4cf --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/test.md @@ -0,0 +1,530 @@ +KWasm Testing +============= + +For testing, we augment the semantics with some helpers. + +```k +require "wasm-text.md" +require "auxil.md" +``` + +Module `WASM-TEST-SYNTAX` is just used for program parsing and `WASM-TEST` consists of the definitions both for parsing and execution. + +```k +module WASM-TEST-SYNTAX + imports WASM-TEST + imports WASM-TEXT-SYNTAX + imports WASM-AUXIL + imports WASM-REFERENCE-INTERPRETER-SYNTAX +endmodule + +module WASM-REFERENCE-INTERPRETER-SYNTAX + imports WASM-COMMON-SYNTAX + + syntax Auxil ::= Action + syntax Action ::= "(" "invoke" OptionalId WasmString Instrs ")" + | "invoke" Int WasmString + | "(" "get" OptionalId WasmString ")" + | "get" Int WasmString + // ---------------------------------------------------- + + syntax Auxil ::= "(" "register" WasmString ")" + | "(" "register" WasmString Index ")" + // ---------------------------------------------------- + + syntax DefnStrings ::= List{WasmString, ""} + syntax ModuleDecl ::= "(" "module" OptionalId "binary" DataString ")" [macro] + | "(" "module" OptionalId "quote" DefnStrings ")" [macro] + // ------------------------------------------------------------------------------ +``` + +Assertions for KWasm tests +-------------------------- + +We'll make `Assertion` a subsort of `Auxil`, since it is a form of top-level embedder instrucion. + +```k + syntax Auxil ::= Assertion + // -------------------------- +``` + +### Conformance Assertions + +Here we inplement the conformance assertions specified in [spec interpreter] including: + +``` + ( assert_return * ) ;; assert action has expected results. Sometimes * is just empty. + ( assert_return_canonical_nan ) ;; assert action results in NaN in a canonical form + ( assert_return_arithmetic_nan ) ;; assert action results in NaN with 1 in MSB of fraction field + ( assert_trap ) ;; assert action traps with given failure string + ( assert_exhaustion ) ;; assert action exhausts system resources + ( assert_malformed ) ;; assert module cannot be decoded with given failure string + ( assert_invalid ) ;; assert module is invalid with given failure string + ( assert_unlinkable ) ;; assert module fails to link + ( assert_trap ) ;; assert module traps on instantiation +``` + +```k + syntax Assertion ::= "(" "assert_return" Action Instr ")" + | "(" "assert_return" Action ")" + | "(" "assert_return_canonical_nan" Action ")" + | "(" "assert_return_arithmetic_nan" Action ")" + | "(" "assert_trap" Action WasmString ")" + | "(" "assert_exhaustion" Action WasmString ")" + | "(" "assert_malformed" ModuleDecl WasmString ")" + | "(" "assert_invalid" ModuleDecl WasmString ")" + | "(" "assert_unlinkable" ModuleDecl WasmString ")" + | "(" "assert_trap" ModuleDecl WasmString ")" + // --------------------------------------------------------------------------------- +``` + +```k +endmodule + +module WASM-TEST + imports WASM-REFERENCE-INTERPRETER-SYNTAX + imports WASM-AUXIL + imports WASM-TEXT +``` + +Configuration +------------- + +```k + configuration + + $PGM:Stmts + + +``` + +Passing Control +--------------- + +The test embedder passes control to the execution cell in Wasm. + +```k + rule PGM => . + .K => sequenceStmts(text2abstract(PGM)) +``` + +Bare Allocations +---------------- + +We allow allocations to appear outside of modules, for example interleaved with assertions in tests. +This is purely a KWasm feature, which is useful for testing. + +```k + rule A:Alloc => #emptyModule() ~> A ... + .Int + [owise] +``` + +Instruction sugar +----------------- + +We allow writing instructions at the top level in the test embedder. + +```k + rule FI:FoldedInstr => sequenceInstrs(unfoldInstrs(FI .Instrs)) ... +``` + +Auxiliary +--------- + +We add `token` as a value in order to implement some test assertions. + +```k + syntax Val ::= "token" + // ---------------------- +``` + +Reference Interpreter Commands +------------------------------ + +TODO: Move this to a separate `EMBEDDER` module? + +The official test suite contains some special auxillary instructions outside of the standard Wasm semantics. +The reference interpreter is a particular embedder with auxillary instructions, specified in [spec interpreter](https://github.com/WebAssembly/spec/blob/master/interpreter/README.md). + +### Actions + +We allow 2 kinds of actions: + +- We allow to `invoke` a function by its exported name. +- We allow to `get` a global export. + +```k + rule ( invoke OID:OptionalId ENAME:WasmString IS:Instrs ) => sequenceInstrs(IS) ~> ( invoke OID ENAME .Instrs ) ... + requires IS =/=K .Instrs + + rule ( invoke ENAME:WasmString .Instrs ) => invoke CUR ENAME ... + CUR + + rule ( invoke ID:Identifier ENAME:WasmString .Instrs ) => invoke MODIDX ENAME ... + ... ID |-> MODIDX ... + + rule invoke MODIDX:Int ENAME:WasmString => ( invoke FADDR ):Instr ... + + MODIDX + ... ENAME |-> IDX ... + ... IDX |-> FADDR ... + ... + + + rule ( get NAME:WasmString ) => get CUR NAME ... + CUR + + rule ( get MOD:Identifier NAME:WasmString ) => get MODIDX NAME ... + ... MOD |-> MODIDX ... + + rule get MODIDX:Int NAME:WasmString => VAL ... + + MODIDX + ... NAME |-> TFIDX ... + IDS + ... #ContextLookup(IDS, TFIDX) |-> ADDR ... + ... + + + ADDR + VAL + ... + +``` + +### Registering Modules + +We will reference modules by name in imports. +`register` is the instruction that allows us to associate a name with a module. + +```k + rule ( register S ) => ( register S (NEXT -Int 1) )... // Register last instantiated module. + NEXT + requires NEXT >Int 0 + + rule ( register S ID:Identifier ) => ( register S IDX ) ... + ... ID |-> IDX ... + + rule ( register S:WasmString IDX:Int ) => . ... + ... .Map => S |-> IDX ... +``` + +### Addtional Module Syntax + +The conformance test cases contain the syntax of declaring modules in the format of `(module binary *)` and `(module quote *)`. +They are not defined in the official specification. +In order to parse the conformance test cases, we handle these declarations here and just reduce them to the empty module. + +```k + rule ( module OID binary _DS ) => ( module OID .Defns ) + + rule ( module OID quote _DS ) => ( module OID .Defns ) +``` + +The conformance tests contain imports of the `"spectest"` module. +For now, we just introduce some special handling that ignores any tests that make use of `"spectest"`. +The handling consists of trapping whenever a `"spectest"` function is called, and removing the trap whenever a new module or assertion comes up. + +TODO: Actually implement the `"spectest"` module, or call out to the supplied on in the spec repo. + +```k + syntax Instr ::= "spectest_trap" + // -------------------------------- + rule spectest_trap ~> (_L:Label => .) ... + rule spectest_trap ~> (_F:Frame => .) ... + rule spectest_trap ~> (_I:Instr => .) ... + rule spectest_trap ~> (_D:Defn => .) ... + + rule (spectest_trap => .) ~> _M:ModuleDecl ... + rule (spectest_trap => .) ~> _A:Assertion ... + + rule #import(MOD, _, #funcDesc(... id: OID, type: TIDX)) + => #func(... type: TIDX, locals: [ .ValTypes ], body: spectest_trap .Instrs, metadata: #meta(... id: OID, localIds: .Map)) + ... + + requires MOD ==K #token("\"spectest\"", "WasmStringToken") + orBool MOD ==K #token("\"test\"" , "WasmStringToken") +``` + +Except `assert_return` and `assert_trap`, the remaining rules are directly reduced to empty. We are not planning to implement them and these rules are only used to make it easier to parse conformance tests. + +*TODO:* Make use of `assert_exhaustion`, by detecting stack overflow. + +```k + rule (assert_return ACT INSTR) => ACT ~> INSTR ~> #assertAndRemoveEqual ~> #assertAndRemoveToken ... + VALSTACK => token : VALSTACK + rule (assert_return ACT) => ACT ~> #assertAndRemoveToken ... + VALSTACK => token : VALSTACK + rule (assert_return_canonical_nan _ACT) => . ... + rule (assert_return_arithmetic_nan _ACT) => . ... + rule (assert_trap ACT:Action DESC) => ACT ~> #assertTrap DESC ... + rule (assert_exhaustion _ACT:Action _DESC) => . ... + rule (assert_malformed _MOD _DESC) => . ... + rule (assert_invalid _MOD _DESC) => . ... + rule (assert_unlinkable _MOD _DESC) => . ... + rule (assert_trap MOD:ModuleDecl DESC) => sequenceStmts(text2abstract(MOD .Stmts)) ~> #assertTrap DESC ... +``` + +And we implement some helper assertions to help testing. + +```k + syntax Assertion ::= "#assertAndRemoveEqual" + | "#assertAndRemoveToken" + // -------------------------------------------- + rule #assertAndRemoveEqual => #assertTopStack V .WasmString ~> ( drop ) ... + V : VALSTACK => VALSTACK + rule #assertAndRemoveToken => . ... + token : VALSTACK => VALSTACK +``` + +### Trap Assertion + +This asserts that a `trap` was just thrown. + +```k + syntax Assertion ::= "#assertTrap" WasmString + // --------------------------------------------- + rule trap ~> #assertTrap _ => . ... +``` + +### ValStack Assertions + +These functions make assertions about the state of the `` cell. + +```k + syntax Assertion ::= "#assertTopStack" Val WasmString + | "#assertTopStackExactly" Val WasmString + | "#assertStack" ValStack WasmString + | "#assertStackAux" ValStack ValStack + // --------------------------------------------------------------- + rule #assertTopStack S _ => . ... S : _VALSTACK + rule #assertTopStack < ITYPE:IValType > VAL _ => . ... < ITYPE > VAL' : _VALSTACK + requires #unsigned(ITYPE, VAL) ==Int VAL' + rule #assertTopStack < FTYPE:FValType > VAL _ => . ... < FTYPE > VAL' : _VALSTACK + requires signFloat(VAL) ==Bool signFloat(VAL') andBool VAL ==Float VAL' + + rule #assertTopStackExactly A _ => . ... A : _VALSTACK + + rule #assertStack S1 _ => #assertStackAux S1 S2 ... + S2 + rule #assertStackAux .ValStack _ => . ... + rule #assertStackAux ( V : S1') (V : S2') => #assertStackAux S1' S2' ... + rule #assertStackAux (< ITYPE > VAL : S1') (< ITYPE > VAL' : S2') => #assertStackAux S1' S2' ... + requires #unsigned(ITYPE, VAL) ==Int VAL' +``` + +### Variables Assertions + +The operator `#assertLocal`/`#assertGlobal` operators perform a check for a local/global variable's value. + +```k + syntax Assertion ::= "#assertLocal" Int Val WasmString + | "#assertGlobal" Index Val WasmString + // --------------------------------------------------------- + rule #assertLocal INDEX VALUE _ => . ... + ... INDEX |-> VALUE ... + + rule #assertGlobal TFIDX VALUE _ => . ... + CUR + + CUR + IDS + ... #ContextLookup(IDS , TFIDX) |-> GADDR ... + ... + + + + GADDR + VALUE + ... + + ... + +``` + +### Type Assertions + +`#assertType` checks whether a type is allocated to the correct index. +`#assertNextTypeIdx` checks whether the number of types are allocated correctly. + +```k + syntax Assertion ::= "#assertType" Int FuncType + | "#assertNextTypeIdx" Int + // --------------------------------------------- + rule #assertType IDX FTYPE => . ... + CUR + + CUR + ... IDX |-> FTYPE ... + ... + + + rule #assertNextTypeIdx IDX => . ... + CUR + + CUR + IDX + ... + +``` + +### Function Assertions + +This simply checks that the given function exists in the `` cell and has the given signature and local types. + +```k + syntax Assertion ::= "#assertFunction" Index FuncType VecType WasmString + // ------------------------------------------------------------------------ + rule #assertFunction IDX FTYPE LTYPE _ => . ... + CUR + + CUR + ... IDX |-> FADDR ... + ... + + + + FADDR + FTYPE + LTYPE + ... + + ... + +``` + +### Table Assertions + +This asserts related operation about tables. + +```k + syntax Assertion ::= "#assertTable" Index Int OptionalInt WasmString + // -------------------------------------------------------------------- + rule #assertTable TFIDX SIZE MAX _MSG => . ... + CUR + + CUR + IDS + #ContextLookup(IDS, TFIDX) |-> ADDR + ... + + + + ADDR + MAX + SIZE + ... + + ... + + + syntax Assertion ::= "#assertTableElem" "(" Int "," Int ")" WasmString + // ---------------------------------------------------------------------- + rule #assertTableElem (KEY , VAL) _MSG => . ... + CUR + + CUR + 0 |-> ADDR + ... + + + + ADDR + ... KEY |-> VAL ... + ... + + ... + +``` + +### Memory Assertions + +This checks that the last allocated memory has the given size and max value. + +```k + syntax Assertion ::= "#assertMemory" Index Int OptionalInt WasmString + // --------------------------------------------------------------------- + rule #assertMemory TFIDX SIZE MAX _MSG => . ... + CUR + + CUR + IDS + #ContextLookup(IDS, TFIDX) |-> ADDR + ... + + + + ADDR + MAX + SIZE + ... + + ... + + + syntax Assertion ::= "#assertMemoryData" "(" Int "," Int ")" WasmString + syntax Assertion ::= "#assertMemoryData" Int "(" Int "," Int ")" WasmString + // --------------------------------------------------------------------------- + rule #assertMemoryData (KEY , VAL) MSG => #assertMemoryData CUR (KEY, VAL) MSG ... + CUR + + rule #assertMemoryData MODIDX (KEY , VAL) _MSG => . ... + + MODIDX + 0 |-> ADDR + ... + + + + ADDR + BM + ... + + ... + + requires #getRange(BM, KEY, 1) ==Int VAL +``` + +### Module Assertions + +These assertions test (and delete) module instances. +These assertions act on the last module defined. + +```k + syntax Assertion ::= "#assertNamedModule" Identifier WasmString + // --------------------------------------------------------------- + rule #assertNamedModule NAME _S => . ... + ... NAME |-> IDX ... + + + IDX + ... + + ... + +``` + +The modules are cleaned all together after the test file is executed. + +Registry Assertations +--------------------- + +We also want to be able to test that the embedder's registration function is working. + +```k + syntax Assertion ::= "#assertRegistrationUnnamed" WasmString WasmString + | "#assertRegistrationNamed" WasmString Identifier WasmString + // ---------------------------------------------------------------------------------- + rule #assertRegistrationUnnamed REGNAME _ => . ... + IDX + ... REGNAME |-> IDX ... + + rule #assertRegistrationNamed REGNAME _NAME _ => . ... + IDX + ... REGNAME |-> IDX ... +``` + +```k +endmodule +``` diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/datas.wat b/docs/runtimeverification-wasm-semantics/tests/binary/datas.wat new file mode 100644 index 000000000..f798727fc --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/datas.wat @@ -0,0 +1,5 @@ +(module + (memory 1) + (data (i32.const 0) "WASM") + (data (i32.const 3) "foo\AA\01") + ) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/elems.wat b/docs/runtimeverification-wasm-semantics/tests/binary/elems.wat new file mode 100644 index 000000000..4f4d45c93 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/elems.wat @@ -0,0 +1,7 @@ +(module + (table 10 funcref) + (elem (i32.const 0) 0 0 $foo) + (elem (i32.const 3) 1 1 $foo) + (func) + (func) + (func $foo)) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/exports.wat b/docs/runtimeverification-wasm-semantics/tests/binary/exports.wat new file mode 100644 index 000000000..858e13dc9 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/exports.wat @@ -0,0 +1,6 @@ +(module + (func (export "foo")) + (func (export "fom")) + (memory (export "baz") 1 1) + (global (export "faz") (mut f64) (f64.const 0)) + (table (export "bar") 1 3 funcref)) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/funcs.wat b/docs/runtimeverification-wasm-semantics/tests/binary/funcs.wat new file mode 100644 index 000000000..12b92c654 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/funcs.wat @@ -0,0 +1,3 @@ +(module + (func (param i32 i64) (local f64)) +) diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/globals.wat b/docs/runtimeverification-wasm-semantics/tests/binary/globals.wat new file mode 100644 index 000000000..7533bc018 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/globals.wat @@ -0,0 +1,3 @@ +(module + (global i64 (i64.const 0)) + (global (mut i32) (i32.const 1))) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/imports.wat b/docs/runtimeverification-wasm-semantics/tests/binary/imports.wat new file mode 100644 index 000000000..0bc7ed608 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/imports.wat @@ -0,0 +1,6 @@ +(module + (type (func (param i32) (result i64))) + (import "env" "foo" (func)) + (import "env" "baz" (global (mut f64))) + (import "env" "faz" (memory 1 3)) + (import "env" "bar" (table 1 3 funcref))) diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/instrs.wat b/docs/runtimeverification-wasm-semantics/tests/binary/instrs.wat new file mode 100644 index 000000000..e86b313d0 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/instrs.wat @@ -0,0 +1,175 @@ +(module + (memory 0) + (table 100 funcref) + (global (mut i32) (i32.const 0)) + (func (param i32 i64) (local f64)) + (func (local i32) + ;; `unreachable` and `drop` are inserted as needed to + ;; ensure correct typing. + unreachable + + ;; Numeric Instrs + ;; -------------- + ;; Commented out instructions are not currently supported by py-wasm. + i32.const 0 drop + f32.const 0 drop + ;; i32.extend8_s drop + ;; i32.extend16_s drop + ;; i64.extend32_s drop + i32.wrap_i64 drop + i64.extend_i32_s drop + i64.extend_i32_u drop + i32.trunc_f64_s drop + i64.trunc_f32_u drop + ;; i32.trunc_sat_f64_s drop + ;; i32.trunc_sat_f64_u drop + f32.demote_f64 drop + f64.promote_f32 drop + f64.convert_i32_s drop + f64.convert_i32_u drop + ;; i32.reinterpret_f32 drop + ;; f64.reinterpret_i64 drop + ;; -- + unreachable + + ;; IUnOp + ;; ----- + i32.clz + i32.ctz + i32.popcnt + ;; -- + unreachable + + ;; IBinOp + ;; ------ + i64.add + i64.sub + i64.mul + i64.div_s + i64.div_u + i64.rem_s + i64.rem_u + i64.and + i64.or + i64.xor + i64.shl + i64.shr_s + i64.shr_u + i64.rotl + i64.rotr + ;; -- + unreachable + + ;; FUnOp + ;; ----- + f32.abs + f32.neg + f32.sqrt + f32.ceil + f32.floor + f32.trunc + f32.nearest + ;; -- + unreachable + + ;; FBinOp + ;; ------ + f64.add + f64.sub + f64.mul + f64.div + f64.min + f64.max + f64.copysign + ;; -- + unreachable + + ;; ITestop + ;; ------- + i32.eqz + ;; -- + unreachable + + ;; IRelOp + ;; ------ + i32.eq + i32.ne + i32.lt_s + i32.lt_u + i32.gt_s + i32.gt_u + i32.le_s + i32.le_u + i32.ge_s + i32.ge_u + ;; -- + unreachable + + ;; FRelOp + ;; ------ + f64.eq drop + f64.ne drop + f64.lt drop + f64.gt drop + f64.le drop + f64.ge drop + ;; -- + unreachable + + ;; Stack Instrs + ;; ------------ + drop + select + ;; -- + unreachable + + ;; Variable Instrs + ;; --------------- + local.get 0 + local.set 0 + local.tee 0 + global.get 0 + global.set 0 + ;; -- + unreachable + + ;; Memory Instrs + ;; ------------- + i32.load offset=10 drop + f32.load offset=10 drop + i32.store offset=10 drop + f32.store offset=10 drop + i32.load8_s offset=10 drop + i32.load8_u offset=10 drop + i32.load16_s offset=1 drop + i32.load16_u offset=1 drop + i64.load32_s offset=1 drop + i64.load32_u offset=1 drop + i32.store8 offset=10 drop + i32.store16 offset=10 drop + i64.store32 offset=10 drop + memory.size + memory.grow + ;; -- + unreachable + + ;; Control Instrs + ;; -------------- + nop + unreachable + block (result i32) unreachable end + block (result i32) unreachable nop end + block end + if (result f32) unreachable else unreachable end + loop unreachable end + br 0 + br_if 0 + br_table 0 0 0 + return + call 0 + call_indirect (type 0) + ;; -- + unreachable + ) + +) diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/memories.wat b/docs/runtimeverification-wasm-semantics/tests/binary/memories.wat new file mode 100644 index 000000000..a6b37b194 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/memories.wat @@ -0,0 +1,2 @@ +(module + (memory 1)) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/start.wat b/docs/runtimeverification-wasm-semantics/tests/binary/start.wat new file mode 100644 index 000000000..6336cd421 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/start.wat @@ -0,0 +1,3 @@ +(module + (func $first) + (start $first)) diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/tables.wat b/docs/runtimeverification-wasm-semantics/tests/binary/tables.wat new file mode 100644 index 000000000..5dfd2780f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/tables.wat @@ -0,0 +1,2 @@ +(module + (table 1 funcref)) \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/binary/types.wat b/docs/runtimeverification-wasm-semantics/tests/binary/types.wat new file mode 100644 index 000000000..cf2597774 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/binary/types.wat @@ -0,0 +1,5 @@ +(module + (type (func )) + (type (func (param i32 i64 f32 f64) (result i32))) + (type $foo (func (param i32 i64 f32 f64) (result i32))) +) diff --git a/docs/runtimeverification-wasm-semantics/tests/conformance/look_for_supported.sh b/docs/runtimeverification-wasm-semantics/tests/conformance/look_for_supported.sh new file mode 100644 index 000000000..cf5e90197 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/conformance/look_for_supported.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +# Execute the script from project top directory. + +# This script considers all conformance tests currently listed as unparseable or unsupported, and tries parsing and executing them in turn. +# If both steps are successfull, the confromance test is deleted from the lists. +# If either step fails, the conformance test is added to the correct list and removed from the other. + +unparsefile="tests/conformance/unparseable.txt" + +unparseable=$(cat $unparsefile) +backends="llvm" + +# Try all unparseable files, see if any new one parses and add them to the unsupported lists. +# Keep the files sorted and without duplicates so the diff is easy to follow. +for shortname in $unparseable $unsupported; do + file=tests/wasm-tests/test/core/$shortname + + echo Trying to parse: $shortname + echo =============== + + make $file.parse + if [ $? -eq 0 ] + then + sed --in-place "/^$shortname\$/d" $unparsefile + for backend in $backends; do + unsuppfile="tests/conformance/unsupported-$backend.txt" + echo $shortname >> $unsuppfile + sort -u $unsuppfile -o $unsuppfile + done + else + echo $shortname >> $unparsefile + sort -u $unparsefile -o $unparsefile + for backend in $backends; do + unsuppfile="tests/conformance/unsupported-$backend.txt" + sed --in-place "/^$shortname\$/d" $unsuppfile + done + echo "Unparseable: $shortname\n" + fi +done + +# Go over the unsupported files, see if any has become supported. +for backend in $backends; do + unsuppfile="tests/conformance/unsupported-$backend.txt" + unsupported=$(cat $unsuppfile) + for shortname in $unsupported; do + + file=tests/wasm-tests/test/core/$shortname + + echo Trying to run: $shortname + echo ============= + + make $file.run-term TEST_CONCRETE_BACKEND=$backend + if [ $? -eq 0 ] + then + # Now supported, remove. + sed --in-place "/^$shortname\$/d" $unparsefile + sed --in-place "/^$shortname\$/d" $unsuppfile + sort -u $unsuppfile -o $unsuppfile + echo "New supported ($backend): $shortname\n" + else + echo "Unsupported ($backend): $shortname\n" + fi + done +done diff --git a/docs/runtimeverification-wasm-semantics/tests/conformance/unparseable.txt b/docs/runtimeverification-wasm-semantics/tests/conformance/unparseable.txt new file mode 100644 index 000000000..e9238bbaf --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/conformance/unparseable.txt @@ -0,0 +1,14 @@ +br_table.wast +comments.wast +conversions.wast +endianness.wast +f32_cmp.wast +f32.wast +f64_cmp.wast +f64.wast +float_exprs.wast +float_literals.wast +globals.wast +memory.wast +names.wast +skip-stack-guard-page.wast diff --git a/docs/runtimeverification-wasm-semantics/tests/conformance/unsupported-llvm.txt b/docs/runtimeverification-wasm-semantics/tests/conformance/unsupported-llvm.txt new file mode 100644 index 000000000..19dabfd83 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/conformance/unsupported-llvm.txt @@ -0,0 +1,15 @@ +address.wast +align.wast +call_indirect.wast +const.wast +data.wast +elem.wast +f32_bitwise.wast +f64_bitwise.wast +float_memory.wast +float_misc.wast +imports.wast +left-to-right.wast +memory_redundancy.wast +memory_trap.wast +traps.wast diff --git a/docs/runtimeverification-wasm-semantics/tests/failing.simple b/docs/runtimeverification-wasm-semantics/tests/failing.simple new file mode 100644 index 000000000..c7693992e --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/failing.simple @@ -0,0 +1,4 @@ +tests/simple/f64_bitwise-cs.wast +tests/simple/f64_cmp-cs.wast +tests/simple/f64-cs.wast +tests/simple/fconversions-c.wast diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/config.xml b/docs/runtimeverification-wasm-semantics/tests/interactive/config.xml new file mode 100644 index 000000000..5c6804def --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/config.xml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast b/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast new file mode 100644 index 000000000..228ac0dd8 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast @@ -0,0 +1,52 @@ +// (c) 2015 Andreas Rossberg + +(module + // Recursive factorial + (func (param i32) (result i32) + (local) // opt + (return + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (const.i32 1) + (mul.i32 (getlocal 0) (call 0 (sub.i32 (getlocal 0) (const.i32 1)))) + ) + ) + ) + + // Recursive factorial with implicit return value + (func (param i32) (result i32) + (local) // opt + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (const.i32 1) + (mul.i32 (getlocal 0) (call 0 (sub.i32 (getlocal 0) (const.i32 1)))) + ) + ) + + // Iterative factorial + (func (param i32) (result i32) + (local i32) + (setlocal 1 (const.i32 1)) + (label + (loop + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (break 0) + (block + (setlocal 1 (mul.i32 (getlocal 0) (getlocal 1))) + (setlocal 0 (sub.i32 (getlocal 0) (const.i32 1))) + ) + ) + ) + ) + (return (getlocal 1)) + ) + + (export 0 1 2) + + (memory 0) +) + +(invoke 0 (const.i32 3)) +(invoke 1 (const.i32 3)) +(invoke 2 (const.i32 3)) diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast.out b/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast.out new file mode 100644 index 000000000..166be640d --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/fac.wast.out @@ -0,0 +1,3 @@ +6 +6 +6 diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast b/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast new file mode 100644 index 000000000..d0c5ba4d3 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast @@ -0,0 +1,69 @@ +// (c) 2015 Andreas Rossberg + +(module + // Aligned read/write + (func (param) (result i32) + (local i32 i32 i32) + (setlocal 0 (const.i32 10)) + (label + (loop + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (break) + ) + (setlocal 2 (mul.i32 (getlocal 0) (const.i32 4))) + (setnears.i32 (getlocal 2) (getlocal 0)) + (setlocal 1 (getnears.i32 (getlocal 2))) + (if + (neq.i32 (getlocal 0) (getlocal 1)) + (return (const.i32 0)) + ) + (setlocal 0 (sub.i32 (getlocal 0) (const.i32 1))) + ) + ) + (return (const.i32 1)) + ) + + // Unaligned read/write + (func (param) (result i32) + (local i32 i32 i32) + (setlocal 0 (const.i32 10)) + (label + (loop + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (break) + ) + (setlocal 2 (getlocal 0)) + (setnearunaligneds.i32 (getlocal 0) (getlocal 2)) + (setlocal 1 (getnearunaligneds.i32 (getlocal 0))) + (if + (neq.i32 (getlocal 2) (getlocal 1)) + (return (const.i32 0)) + ) + (setlocal 0 (sub.i32 (getlocal 0) (const.i32 1))) + ) + ) + (return (const.i32 1)) + ) + + // Memory cast + (func (param) (result f64) + (local) + (setnears.i64 (const.i32 8) (const.i64 -12345)) + (if + (eq.f64 (getnear.f64 (const.i32 8)) (cast.i64.f64 (const.i64 -12345))) + (return (const.f64 0)) + ) + (setfarunaligneds.i16 (const.i64 3) (const.i32 -23423)) + (return (getnear.f64 (const.i32 0))) + ) + + (export 0 1 2) + + (memory 64) +) + +(invoke 0) +(invoke 1) +//(invoke 2) diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast.out b/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast.out new file mode 100644 index 000000000..6ed281c75 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/memory.wast.out @@ -0,0 +1,2 @@ +1 +1 diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast b/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast new file mode 100644 index 000000000..4789abf11 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast @@ -0,0 +1,21 @@ +(module + (func (param) (result i32 i32) + (local) + (return + (const.i32 1) + (const.i32 2) + ) + ) + + (func (param) (result i32) + (local i32 i32) + (destruct 0 1 (call 0)) + (return (add.i32 (getlocal 0) (getlocal 1))) + ) + + (export 0 1) + + (memory 0) +) + +(invoke 1) diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast.out b/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast.out new file mode 100644 index 000000000..00750edc0 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/ret.wast.out @@ -0,0 +1 @@ +3 diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast b/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast new file mode 100644 index 000000000..59de0b855 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast @@ -0,0 +1,25 @@ +(module + (func (param i32) (result i32) + (local i32) + (setlocal 1 (const.i32 0)) + (label + (loop + (if + (eq.i32 (getlocal 0) (const.i32 0)) + (break 0) + (block + (setlocal 1 (add.i32 (getlocal 0) (getlocal 1))) + (setlocal 0 (sub.i32 (getlocal 0) (const.i32 1))) + ) + ) + ) + ) + (return (getlocal 1)) + ) + + (export 0) + + (memory 0) +) + +(invoke 0 (const.i32 10)) diff --git a/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast.out b/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast.out new file mode 100644 index 000000000..c3f407c09 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/interactive/sum.wast.out @@ -0,0 +1 @@ +55 diff --git a/docs/runtimeverification-wasm-semantics/tests/proofs/functions-spec.k b/docs/runtimeverification-wasm-semantics/tests/proofs/functions-spec.k new file mode 100644 index 000000000..ed24b5592 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/proofs/functions-spec.k @@ -0,0 +1,64 @@ +requires "kwasm-lemmas.md" + +module FUNCTIONS-LEMMAS + imports KWASM-LEMMAS + + syntax KItem ::= run ( Step ) | done ( Step ) + // --------------------------------------------- + rule run ( S ) => done ( S ) ... + + syntax Step ::= Bytes | Int + // --------------------------- +endmodule + +module FUNCTIONS-SPEC + imports FUNCTIONS-LEMMAS + + claim run ( #wrap(2, #getRange(BM, ADDR, 4)) ) => done ( #getRange(BM, ADDR, 2) ) ... requires 0 <=Int ADDR + + claim run ( #setRange(BM, ADDR, #wrap(2, #getRange(BM, ADDR, 4)), 2) ) => done ( BM ) ... requires 0 <=Int ADDR + + claim run ( #getRange(_BM, _ADDR, 0) ) => done ( 0 ) ... + claim run ( #getRange(_BM, ADDR, _WIDTH) ) => done ( 0 ) ... requires ADDR run ( #getRange(BM, ADDR, 1) modInt 256 ) => done ( #getRange(BM, ADDR , 1) ) ... + claim run ( #getRange(BM, ADDR, 3) modInt 256 ) => done ( #getRange(BM, ADDR , 1) ) ... + claim run ( #getRange(BM, ADDR, 3) modInt (2 ^Int (8 *Int 3)) ) => done ( #getRange(BM, ADDR , 3) ) ... + claim run ( #getRange(BM, ADDR, 7) modInt (2 ^Int (8 *Int 3)) ) => done ( #getRange(BM, ADDR , 3) ) ... + claim run ( #getRange(BM, ADDR, 2) >>Int 8 ) => done ( #getRange(BM, ADDR +Int 1, 1) ) ... requires 0 <=Int ADDR + + claim run ( ( ( #getRange ( BM , ADDR +Int 1 , 1 ) modInt 256 ) +Int ( #getRange ( BM , ADDR , 1 ) modInt 256 < done ( ( #getRange ( BM , ADDR +Int 1 , 1 ) +Int ( #getRange ( BM , ADDR , 1 ) < + + claim run ( ( ( #getRange ( BM , ADDR +Int 1 , 7 ) modInt 256 ) +Int ( #getRange ( BM , ADDR , 8 ) modInt 256 < done ( ( ( #getRange ( BM , ADDR +Int 1 , 1 ) ) +Int ( #getRange ( BM , ADDR , 1 ) < + + claim run ( #setRange(BM, ADDR, #getRange(BM, ADDR +Int 1, 1) +Int (#getRange(BM, ADDR, 1) < done ( #setRange(#setRange(BM, ADDR, #getRange(BM, ADDR +Int 1, 1), 1), ADDR +Int 1, #getRange(BM, ADDR, 1), 1) ) + ... + + requires ADDR >=Int 0 + + claim run ( #setRange ( BM , ADDR modInt 4294967296 , #getRange ( BM , ADDR modInt 4294967296 , #numBytes ( ITYPE ) ) , #numBytes ( ITYPE ) ) ) + => done ( BM ) + ... + + + claim run ( (#getRange(BM, ADDR +Int 1, 1) +Int (#getRange (BM, ADDR, 1) < done ( #getRange(BM, ADDR +Int 1, 1) +Int (#getRange (BM, ADDR, 1) < + + claim run ( #getRange ( #setRange ( BM , ADDR +Int 7 , _VAL , 1 ) , ADDR +Int 3 , 1 ) ) => done ( #getRange ( BM , ADDR +Int 3 , 1 ) ) ... + + claim run ( #getRange ( #setRange ( _BM , ADDR +Int 7 , VAL , 1 ) , ADDR +Int 7 , 1 ) ) => done ( VAL ) ... requires 0 <=Int ADDR andBool 0 <=Int VAL andBool VAL run ( #getRange ( #setRange ( #setRange ( #setRange ( #setRange ( #setRange ( #setRange ( #setRange ( #setRange ( BM , ADDR , #getRange ( BM , ADDR +Int 7 , 1 ) , 1 ) , ADDR +Int 1 , #getRange ( BM , ADDR +Int 6 , 1 ) , 1 ) , ADDR +Int 2 , #getRange ( BM , ADDR +Int 5 , 1 ) , 1 ) , ADDR +Int 3 , #getRange ( BM , ADDR +Int 4 , 1 ) , 1 ) , ADDR +Int 4 , #getRange ( BM , ADDR +Int 3 , 1 ) , 1 ) , ADDR +Int 5 , #getRange ( BM , ADDR +Int 2 , 1 ) , 1 ) , ADDR +Int 6 , #getRange ( BM , ADDR +Int 1 , 1 ) , 1 ) , ADDR +Int 7 , #getRange ( BM , ADDR , 1 ) , 1 ) , ADDR +Int 3 , 1 ) ) + => done ( #getRange ( BM , ADDR +Int 4 , 1 ) ) + ... + + requires 0 <=Int ADDR + +endmodule diff --git a/docs/runtimeverification-wasm-semantics/tests/proofs/locals-spec.k b/docs/runtimeverification-wasm-semantics/tests/proofs/locals-spec.k new file mode 100644 index 000000000..b4afe22eb --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/proofs/locals-spec.k @@ -0,0 +1,10 @@ +requires "kwasm-lemmas.md" + +module LOCALS-SPEC + imports KWASM-LEMMAS + + claim #local.get(X) ~> #local.set(X) => . ... + + X |-> < _ITYPE > (VAL => VAL) + +endmodule diff --git a/docs/runtimeverification-wasm-semantics/tests/proofs/loops-spec.k b/docs/runtimeverification-wasm-semantics/tests/proofs/loops-spec.k new file mode 100644 index 000000000..6f62a7a05 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/proofs/loops-spec.k @@ -0,0 +1,70 @@ +requires "kwasm-lemmas.md" + +module LOOPS-SPEC + imports KWASM-LEMMAS + + // Lemma + claim #br(0) + ~> label // Loop label. + [ .ValTypes ] + { #loop([ .ValTypes ], + #local.get(0) + #local.get(1) + ITYPE.add + #local.set(1) + #local.get(0) + ITYPE.const 1 + ITYPE.sub + #local.tee(0) + ITYPE.eqz + #br_if(1) + #br(0), + _ + ) + } + .ValStack + ~> label [ .ValTypes ] {.Instrs } STACK // Block label. + => . + ... + + _ => STACK + + 0 |-> < ITYPE > (I => 0) + 1 |-> < ITYPE > (X => X +Int ((I *Int (I +Int 1)) /Int 2)) + + requires #inUnsignedRange(ITYPE, I) + andBool I >Int 0 + andBool #inUnsignedRange(ITYPE, X +Int I) + andBool #inUnsignedRange(ITYPE, X +Int ((I *Int (I +Int 1)) /Int 2)) + + // Main claim. + claim + #block([ .ValTypes ], + #loop([ .ValTypes], + #local.get(0) + #local.get(1) + ITYPE.add + #local.set(1) + #local.get(0) + ITYPE.const 1 + ITYPE.sub + #local.tee(0) + ITYPE.eqz + #br_if(1) + #br(0), + _ + ), + _ + ) + => . + ... + + + 0 |-> < ITYPE > (N => 0) + 1 |-> < ITYPE > (0 => (N *Int (N +Int 1)) /Int 2) + + requires #inUnsignedRange(ITYPE, N) + andBool N >Int 0 + andBool #inUnsignedRange(ITYPE, ((N *Int (N +Int 1)) /Int 2)) + +endmodule diff --git a/docs/runtimeverification-wasm-semantics/tests/proofs/memory-spec.k b/docs/runtimeverification-wasm-semantics/tests/proofs/memory-spec.k new file mode 100644 index 000000000..1c8d93beb --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/proofs/memory-spec.k @@ -0,0 +1,38 @@ +requires "kwasm-lemmas.md" + +module MEMORY-SPEC + imports KWASM-LEMMAS + + claim i32.const ADDR ~> i32.const ADDR ~> #load(i64, load32_u, 0) ~> #store(i64, store16, 0) => . ... + CUR + + CUR + 0 |-> MEMADDR + ... + + + MEMADDR + SIZE + _BM + ... + + requires + ADDR +Int #numBytes(i64) <=Int SIZE *Int #pageSize() + andBool #inUnsignedRange(i32, ADDR) + + claim i32.const ADDR ~> i32.const ADDR ~> #load(ITYPE:IValType, load, 0) ~> #store(ITYPE, store, 0) => . ... + CUR + + CUR + 0 |-> MEMADDR + ... + + + MEMADDR + SIZE + _BM + ... + + requires + #get(#chop( ADDR)) +Int #numBytes(ITYPE) <=Int SIZE *Int #pageSize() +endmodule diff --git a/docs/runtimeverification-wasm-semantics/tests/proofs/simple-arithmetic-spec.k b/docs/runtimeverification-wasm-semantics/tests/proofs/simple-arithmetic-spec.k new file mode 100644 index 000000000..0c2ad2fef --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/proofs/simple-arithmetic-spec.k @@ -0,0 +1,18 @@ +requires "kwasm-lemmas.md" + +module SIMPLE-ARITHMETIC-SPEC + imports KWASM-LEMMAS + + claim ITYPE:IValType . const X:Int => . ... + S:ValStack => < ITYPE > X : S + requires #inUnsignedRange(ITYPE, X) + + claim ITYPE:IValType . const X:Int => . ... + S:ValStack => < ITYPE > (X +Int #pow(ITYPE)) : S + requires (#minSigned(ITYPE) <=Int X) andBool (X ITYPE:IValType . const X:Int ~> ITYPE . const Y:Int ~> ITYPE . add => . ... + S:ValStack => < ITYPE > (X +Int Y) : S + requires 0 <=Int X andBool 0 <=Int Y + andBool (X +Int Y) sequenceDefns(#t2aDefns<#freshCtx()>(#wrc20ReverseBytes)) // TODO: Have this pre-loaded in the store. + ~> i32.const ADDR + ~> i32.const ADDR + ~> #load(i64, load, 0) + ~> (invoke NEXTADDR) // TODO: Use `call`. + ~> #store(i64, store, 0) + => . + ... + + CUR + + CUR + #wrc20ReverseBytesTypeIdx |-> #wrc20ReverseBytesType + 0 |-> MEMADDR + _ => ?_ + NEXTFUNCIDX => NEXTFUNCIDX +Int 1 + ... + + .Bag => ?_ + NEXTADDR => NEXTADDR +Int 1 + + MEMADDR + SIZE + BM => ?BM' + ... + + // TODO: Make function out of this tricky side condition. + requires ADDR +Int #numBytes(i64) <=Int SIZE *Int #pageSize() + andBool #inUnsignedRange(i32, ADDR) + ensures #getRange(BM, ADDR +Int 0, 1) ==Int #getRange(?BM', ADDR +Int 7, 1) + andBool #getRange(BM, ADDR +Int 1, 1) ==Int #getRange(?BM', ADDR +Int 6, 1) + andBool #getRange(BM, ADDR +Int 2, 1) ==Int #getRange(?BM', ADDR +Int 5, 1) + andBool #getRange(BM, ADDR +Int 3, 1) ==Int #getRange(?BM', ADDR +Int 4, 1) + andBool #getRange(BM, ADDR +Int 4, 1) ==Int #getRange(?BM', ADDR +Int 3, 1) + andBool #getRange(BM, ADDR +Int 5, 1) ==Int #getRange(?BM', ADDR +Int 2, 1) + andBool #getRange(BM, ADDR +Int 6, 1) ==Int #getRange(?BM', ADDR +Int 1, 1) + andBool #getRange(BM, ADDR +Int 7, 1) ==Int #getRange(?BM', ADDR +Int 0, 1) + +endmodule diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/address-c.wast b/docs/runtimeverification-wasm-semantics/tests/simple/address-c.wast new file mode 100644 index 000000000..ca37275cf --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/address-c.wast @@ -0,0 +1,591 @@ +;; Load i32 data with different offset/align arguments + +(module + (memory 1) + (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz") + + (func (export "8u_good1") (param $i i32) (result i32) + (i32.load8_u offset=0 (local.get $i)) ;; 97 'a' + ) + (func (export "8u_good2") (param $i i32) (result i32) + (i32.load8_u align=1 (local.get $i)) ;; 97 'a' + ) + (func (export "8u_good3") (param $i i32) (result i32) + (i32.load8_u offset=1 align=1 (local.get $i)) ;; 98 'b' + ) + (func (export "8u_good4") (param $i i32) (result i32) + (i32.load8_u offset=2 align=1 (local.get $i)) ;; 99 'c' + ) + (func (export "8u_good5") (param $i i32) (result i32) + (i32.load8_u offset=25 align=1 (local.get $i)) ;; 122 'z' + ) + + (func (export "8s_good1") (param $i i32) (result i32) + (i32.load8_s offset=0 (local.get $i)) ;; 97 'a' + ) + (func (export "8s_good2") (param $i i32) (result i32) + (i32.load8_s align=1 (local.get $i)) ;; 97 'a' + ) + (func (export "8s_good3") (param $i i32) (result i32) + (i32.load8_s offset=1 align=1 (local.get $i)) ;; 98 'b' + ) + (func (export "8s_good4") (param $i i32) (result i32) + (i32.load8_s offset=2 align=1 (local.get $i)) ;; 99 'c' + ) + (func (export "8s_good5") (param $i i32) (result i32) + (i32.load8_s offset=25 align=1 (local.get $i)) ;; 122 'z' + ) + + (func (export "16u_good1") (param $i i32) (result i32) + (i32.load16_u offset=0 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16u_good2") (param $i i32) (result i32) + (i32.load16_u align=1 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16u_good3") (param $i i32) (result i32) + (i32.load16_u offset=1 align=1 (local.get $i)) ;; 25442 'bc' + ) + (func (export "16u_good4") (param $i i32) (result i32) + (i32.load16_u offset=2 align=2 (local.get $i)) ;; 25699 'cd' + ) + (func (export "16u_good5") (param $i i32) (result i32) + (i32.load16_u offset=25 align=2 (local.get $i)) ;; 122 'z\0' + ) + + (func (export "16s_good1") (param $i i32) (result i32) + (i32.load16_s offset=0 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16s_good2") (param $i i32) (result i32) + (i32.load16_s align=1 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16s_good3") (param $i i32) (result i32) + (i32.load16_s offset=1 align=1 (local.get $i)) ;; 25442 'bc' + ) + (func (export "16s_good4") (param $i i32) (result i32) + (i32.load16_s offset=2 align=2 (local.get $i)) ;; 25699 'cd' + ) + (func (export "16s_good5") (param $i i32) (result i32) + (i32.load16_s offset=25 align=2 (local.get $i)) ;; 122 'z\0' + ) + + (func (export "32_good1") (param $i i32) (result i32) + (i32.load offset=0 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32_good2") (param $i i32) (result i32) + (i32.load align=1 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32_good3") (param $i i32) (result i32) + (i32.load offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' + ) + (func (export "32_good4") (param $i i32) (result i32) + (i32.load offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' + ) + (func (export "32_good5") (param $i i32) (result i32) + (i32.load offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' + ) + + (func (export "8u_bad") (param $i i32) + (drop (i32.load8_u offset=4294967295 (local.get $i))) + ) + (func (export "8s_bad") (param $i i32) + (drop (i32.load8_s offset=4294967295 (local.get $i))) + ) + (func (export "16u_bad") (param $i i32) + (drop (i32.load16_u offset=4294967295 (local.get $i))) + ) + (func (export "16s_bad") (param $i i32) + (drop (i32.load16_s offset=4294967295 (local.get $i))) + ) + (func (export "32_bad") (param $i i32) + (drop (i32.load offset=4294967295 (local.get $i))) + ) +) + +(assert_return (invoke "8u_good1" (i32.const 0)) (i32.const 97)) +(assert_return (invoke "8u_good2" (i32.const 0)) (i32.const 97)) +(assert_return (invoke "8u_good3" (i32.const 0)) (i32.const 98)) +(assert_return (invoke "8u_good4" (i32.const 0)) (i32.const 99)) +(assert_return (invoke "8u_good5" (i32.const 0)) (i32.const 122)) + +(assert_return (invoke "8s_good1" (i32.const 0)) (i32.const 97)) +(assert_return (invoke "8s_good2" (i32.const 0)) (i32.const 97)) +(assert_return (invoke "8s_good3" (i32.const 0)) (i32.const 98)) +(assert_return (invoke "8s_good4" (i32.const 0)) (i32.const 99)) +(assert_return (invoke "8s_good5" (i32.const 0)) (i32.const 122)) + +(assert_return (invoke "16u_good1" (i32.const 0)) (i32.const 25185)) +(assert_return (invoke "16u_good2" (i32.const 0)) (i32.const 25185)) +(assert_return (invoke "16u_good3" (i32.const 0)) (i32.const 25442)) +(assert_return (invoke "16u_good4" (i32.const 0)) (i32.const 25699)) +(assert_return (invoke "16u_good5" (i32.const 0)) (i32.const 122)) + +(assert_return (invoke "16s_good1" (i32.const 0)) (i32.const 25185)) +(assert_return (invoke "16s_good2" (i32.const 0)) (i32.const 25185)) +(assert_return (invoke "16s_good3" (i32.const 0)) (i32.const 25442)) +(assert_return (invoke "16s_good4" (i32.const 0)) (i32.const 25699)) +(assert_return (invoke "16s_good5" (i32.const 0)) (i32.const 122)) + +(assert_return (invoke "32_good1" (i32.const 0)) (i32.const 1684234849)) +(assert_return (invoke "32_good2" (i32.const 0)) (i32.const 1684234849)) +(assert_return (invoke "32_good3" (i32.const 0)) (i32.const 1701077858)) +(assert_return (invoke "32_good4" (i32.const 0)) (i32.const 1717920867)) +(assert_return (invoke "32_good5" (i32.const 0)) (i32.const 122)) + +(assert_return (invoke "8u_good1" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8u_good2" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8u_good3" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8u_good4" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8u_good5" (i32.const 65507)) (i32.const 0)) + +(assert_return (invoke "8s_good1" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8s_good2" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8s_good3" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8s_good4" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "8s_good5" (i32.const 65507)) (i32.const 0)) + +(assert_return (invoke "16u_good1" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16u_good2" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16u_good3" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16u_good4" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16u_good5" (i32.const 65507)) (i32.const 0)) + +(assert_return (invoke "16s_good1" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16s_good2" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16s_good3" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16s_good4" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "16s_good5" (i32.const 65507)) (i32.const 0)) + +(assert_return (invoke "32_good1" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "32_good2" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "32_good3" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "32_good4" (i32.const 65507)) (i32.const 0)) +(assert_return (invoke "32_good5" (i32.const 65507)) (i32.const 0)) + +(assert_return (invoke "8u_good1" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8u_good2" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8u_good3" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8u_good4" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8u_good5" (i32.const 65508)) (i32.const 0)) + +(assert_return (invoke "8s_good1" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8s_good2" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8s_good3" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8s_good4" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "8s_good5" (i32.const 65508)) (i32.const 0)) + +(assert_return (invoke "16u_good1" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16u_good2" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16u_good3" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16u_good4" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16u_good5" (i32.const 65508)) (i32.const 0)) + +(assert_return (invoke "16s_good1" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16s_good2" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16s_good3" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16s_good4" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "16s_good5" (i32.const 65508)) (i32.const 0)) + +(assert_return (invoke "32_good1" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "32_good2" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "32_good3" (i32.const 65508)) (i32.const 0)) +(assert_return (invoke "32_good4" (i32.const 65508)) (i32.const 0)) +(assert_trap (invoke "32_good5" (i32.const 65508)) "out of bounds memory access") + +(assert_trap (invoke "8u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "8s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "16u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "16s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "32_bad" (i32.const 0)) "out of bounds memory access") + +(assert_trap (invoke "8u_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "8s_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "16u_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "16s_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "32_bad" (i32.const 1)) "out of bounds memory access") + +(assert_malformed + (module quote + "(memory 1)" + "(func (drop (i32.load offset=4294967296 (i32.const 0))))" + ) + "i32 constant" +) + +;; Load i64 data with different offset/align arguments + +(module + (memory 1) + (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz") + + (func (export "8u_good1") (param $i i32) (result i64) + (i64.load8_u offset=0 (local.get $i)) ;; 97 'a' + ) + (func (export "8u_good2") (param $i i32) (result i64) + (i64.load8_u align=1 (local.get $i)) ;; 97 'a' + ) + (func (export "8u_good3") (param $i i32) (result i64) + (i64.load8_u offset=1 align=1 (local.get $i)) ;; 98 'b' + ) + (func (export "8u_good4") (param $i i32) (result i64) + (i64.load8_u offset=2 align=1 (local.get $i)) ;; 99 'c' + ) + (func (export "8u_good5") (param $i i32) (result i64) + (i64.load8_u offset=25 align=1 (local.get $i)) ;; 122 'z' + ) + + (func (export "8s_good1") (param $i i32) (result i64) + (i64.load8_s offset=0 (local.get $i)) ;; 97 'a' + ) + (func (export "8s_good2") (param $i i32) (result i64) + (i64.load8_s align=1 (local.get $i)) ;; 97 'a' + ) + (func (export "8s_good3") (param $i i32) (result i64) + (i64.load8_s offset=1 align=1 (local.get $i)) ;; 98 'b' + ) + (func (export "8s_good4") (param $i i32) (result i64) + (i64.load8_s offset=2 align=1 (local.get $i)) ;; 99 'c' + ) + (func (export "8s_good5") (param $i i32) (result i64) + (i64.load8_s offset=25 align=1 (local.get $i)) ;; 122 'z' + ) + + (func (export "16u_good1") (param $i i32) (result i64) + (i64.load16_u offset=0 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16u_good2") (param $i i32) (result i64) + (i64.load16_u align=1 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16u_good3") (param $i i32) (result i64) + (i64.load16_u offset=1 align=1 (local.get $i)) ;; 25442 'bc' + ) + (func (export "16u_good4") (param $i i32) (result i64) + (i64.load16_u offset=2 align=2 (local.get $i)) ;; 25699 'cd' + ) + (func (export "16u_good5") (param $i i32) (result i64) + (i64.load16_u offset=25 align=2 (local.get $i)) ;; 122 'z\0' + ) + + (func (export "16s_good1") (param $i i32) (result i64) + (i64.load16_s offset=0 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16s_good2") (param $i i32) (result i64) + (i64.load16_s align=1 (local.get $i)) ;; 25185 'ab' + ) + (func (export "16s_good3") (param $i i32) (result i64) + (i64.load16_s offset=1 align=1 (local.get $i)) ;; 25442 'bc' + ) + (func (export "16s_good4") (param $i i32) (result i64) + (i64.load16_s offset=2 align=2 (local.get $i)) ;; 25699 'cd' + ) + (func (export "16s_good5") (param $i i32) (result i64) + (i64.load16_s offset=25 align=2 (local.get $i)) ;; 122 'z\0' + ) + + (func (export "32u_good1") (param $i i32) (result i64) + (i64.load32_u offset=0 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32u_good2") (param $i i32) (result i64) + (i64.load32_u align=1 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32u_good3") (param $i i32) (result i64) + (i64.load32_u offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' + ) + (func (export "32u_good4") (param $i i32) (result i64) + (i64.load32_u offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' + ) + (func (export "32u_good5") (param $i i32) (result i64) + (i64.load32_u offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' + ) + + (func (export "32s_good1") (param $i i32) (result i64) + (i64.load32_s offset=0 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32s_good2") (param $i i32) (result i64) + (i64.load32_s align=1 (local.get $i)) ;; 1684234849 'abcd' + ) + (func (export "32s_good3") (param $i i32) (result i64) + (i64.load32_s offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' + ) + (func (export "32s_good4") (param $i i32) (result i64) + (i64.load32_s offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' + ) + (func (export "32s_good5") (param $i i32) (result i64) + (i64.load32_s offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' + ) + + (func (export "64_good1") (param $i i32) (result i64) + (i64.load offset=0 (local.get $i)) ;; 0x6867666564636261 'abcdefgh' + ) + (func (export "64_good2") (param $i i32) (result i64) + (i64.load align=1 (local.get $i)) ;; 0x6867666564636261 'abcdefgh' + ) + (func (export "64_good3") (param $i i32) (result i64) + (i64.load offset=1 align=1 (local.get $i)) ;; 0x6968676665646362 'bcdefghi' + ) + (func (export "64_good4") (param $i i32) (result i64) + (i64.load offset=2 align=2 (local.get $i)) ;; 0x6a69686766656463 'cdefghij' + ) + (func (export "64_good5") (param $i i32) (result i64) + (i64.load offset=25 align=8 (local.get $i)) ;; 122 'z\0\0\0\0\0\0\0' + ) + + (func (export "8u_bad") (param $i i32) + (drop (i64.load8_u offset=4294967295 (local.get $i))) + ) + (func (export "8s_bad") (param $i i32) + (drop (i64.load8_s offset=4294967295 (local.get $i))) + ) + (func (export "16u_bad") (param $i i32) + (drop (i64.load16_u offset=4294967295 (local.get $i))) + ) + (func (export "16s_bad") (param $i i32) + (drop (i64.load16_s offset=4294967295 (local.get $i))) + ) + (func (export "32u_bad") (param $i i32) + (drop (i64.load32_u offset=4294967295 (local.get $i))) + ) + (func (export "32s_bad") (param $i i32) + (drop (i64.load32_s offset=4294967295 (local.get $i))) + ) + (func (export "64_bad") (param $i i32) + (drop (i64.load offset=4294967295 (local.get $i))) + ) +) + +(assert_return (invoke "8u_good1" (i32.const 0)) (i64.const 97)) +(assert_return (invoke "8u_good2" (i32.const 0)) (i64.const 97)) +(assert_return (invoke "8u_good3" (i32.const 0)) (i64.const 98)) +(assert_return (invoke "8u_good4" (i32.const 0)) (i64.const 99)) +(assert_return (invoke "8u_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "8s_good1" (i32.const 0)) (i64.const 97)) +(assert_return (invoke "8s_good2" (i32.const 0)) (i64.const 97)) +(assert_return (invoke "8s_good3" (i32.const 0)) (i64.const 98)) +(assert_return (invoke "8s_good4" (i32.const 0)) (i64.const 99)) +(assert_return (invoke "8s_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "16u_good1" (i32.const 0)) (i64.const 25185)) +(assert_return (invoke "16u_good2" (i32.const 0)) (i64.const 25185)) +(assert_return (invoke "16u_good3" (i32.const 0)) (i64.const 25442)) +(assert_return (invoke "16u_good4" (i32.const 0)) (i64.const 25699)) +(assert_return (invoke "16u_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "16s_good1" (i32.const 0)) (i64.const 25185)) +(assert_return (invoke "16s_good2" (i32.const 0)) (i64.const 25185)) +(assert_return (invoke "16s_good3" (i32.const 0)) (i64.const 25442)) +(assert_return (invoke "16s_good4" (i32.const 0)) (i64.const 25699)) +(assert_return (invoke "16s_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "32u_good1" (i32.const 0)) (i64.const 1684234849)) +(assert_return (invoke "32u_good2" (i32.const 0)) (i64.const 1684234849)) +(assert_return (invoke "32u_good3" (i32.const 0)) (i64.const 1701077858)) +(assert_return (invoke "32u_good4" (i32.const 0)) (i64.const 1717920867)) +(assert_return (invoke "32u_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "32s_good1" (i32.const 0)) (i64.const 1684234849)) +(assert_return (invoke "32s_good2" (i32.const 0)) (i64.const 1684234849)) +(assert_return (invoke "32s_good3" (i32.const 0)) (i64.const 1701077858)) +(assert_return (invoke "32s_good4" (i32.const 0)) (i64.const 1717920867)) +(assert_return (invoke "32s_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "64_good1" (i32.const 0)) (i64.const 0x6867666564636261)) +(assert_return (invoke "64_good2" (i32.const 0)) (i64.const 0x6867666564636261)) +(assert_return (invoke "64_good3" (i32.const 0)) (i64.const 0x6968676665646362)) +(assert_return (invoke "64_good4" (i32.const 0)) (i64.const 0x6a69686766656463)) +(assert_return (invoke "64_good5" (i32.const 0)) (i64.const 122)) + +(assert_return (invoke "8u_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8u_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8u_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8u_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8u_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "8s_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8s_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8s_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8s_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "8s_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "16u_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16u_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16u_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16u_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16u_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "16s_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16s_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16s_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16s_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "16s_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "32u_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32u_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32u_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32u_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32u_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "32s_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32s_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32s_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32s_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "32s_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "64_good1" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "64_good2" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "64_good3" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "64_good4" (i32.const 65503)) (i64.const 0)) +(assert_return (invoke "64_good5" (i32.const 65503)) (i64.const 0)) + +(assert_return (invoke "8u_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8u_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8u_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8u_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8u_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "8s_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8s_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8s_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8s_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "8s_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "16u_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16u_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16u_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16u_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16u_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "16s_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16s_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16s_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16s_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "16s_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "32u_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32u_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32u_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32u_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32u_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "32s_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32s_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32s_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32s_good4" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "32s_good5" (i32.const 65504)) (i64.const 0)) + +(assert_return (invoke "64_good1" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "64_good2" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "64_good3" (i32.const 65504)) (i64.const 0)) +(assert_return (invoke "64_good4" (i32.const 65504)) (i64.const 0)) +(assert_trap (invoke "64_good5" (i32.const 65504)) "out of bounds memory access") + +(assert_trap (invoke "8u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "8s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "16u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "16s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "32u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "32s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "64_bad" (i32.const 0)) "out of bounds memory access") + +(assert_trap (invoke "8u_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "8s_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "16u_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "16s_bad" (i32.const 1)) "out of bounds memory access") +(assert_trap (invoke "32u_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "32s_bad" (i32.const 0)) "out of bounds memory access") +(assert_trap (invoke "64_bad" (i32.const 1)) "out of bounds memory access") + +;; Load f32 data with different offset/align arguments + +;; (module +;; (memory 1) +;; (data (i32.const 0) "\00\00\00\00\00\00\a0\7f\01\00\d0\7f") + +;; (func (export "32_good1") (param $i i32) (result f32) +;; (f32.load offset=0 (local.get $i)) ;; 0.0 '\00\00\00\00' +;; ) +;; (func (export "32_good2") (param $i i32) (result f32) +;; (f32.load align=1 (local.get $i)) ;; 0.0 '\00\00\00\00' +;; ) +;; (func (export "32_good3") (param $i i32) (result f32) +;; (f32.load offset=1 align=1 (local.get $i)) ;; 0.0 '\00\00\00\00' +;; ) +;; (func (export "32_good4") (param $i i32) (result f32) +;; (f32.load offset=2 align=2 (local.get $i)) ;; 0.0 '\00\00\00\00' +;; ) +;; (func (export "32_good5") (param $i i32) (result f32) +;; (f32.load offset=8 align=4 (local.get $i)) ;; nan:0x500001 '\01\00\d0\7f' +;; ) +;; (func (export "32_bad") (param $i i32) +;; (drop (f32.load offset=4294967295 (local.get $i))) +;; ) +;; ) + +;; (assert_return (invoke "32_good1" (i32.const 0)) (f32.const 0.0)) +;; (assert_return (invoke "32_good2" (i32.const 0)) (f32.const 0.0)) +;; (assert_return (invoke "32_good3" (i32.const 0)) (f32.const 0.0)) +;; (assert_return (invoke "32_good4" (i32.const 0)) (f32.const 0.0)) +;; (assert_return (invoke "32_good5" (i32.const 0)) (f32.const nan:0x500001)) + +;; (assert_return (invoke "32_good1" (i32.const 65524)) (f32.const 0.0)) +;; (assert_return (invoke "32_good2" (i32.const 65524)) (f32.const 0.0)) +;; (assert_return (invoke "32_good3" (i32.const 65524)) (f32.const 0.0)) +;; (assert_return (invoke "32_good4" (i32.const 65524)) (f32.const 0.0)) +;; (assert_return (invoke "32_good5" (i32.const 65524)) (f32.const 0.0)) + +;; (assert_return (invoke "32_good1" (i32.const 65525)) (f32.const 0.0)) +;; (assert_return (invoke "32_good2" (i32.const 65525)) (f32.const 0.0)) +;; (assert_return (invoke "32_good3" (i32.const 65525)) (f32.const 0.0)) +;; (assert_return (invoke "32_good4" (i32.const 65525)) (f32.const 0.0)) +;; (assert_trap (invoke "32_good5" (i32.const 65525)) "out of bounds memory access") + +;; (assert_trap (invoke "32_bad" (i32.const 0)) "out of bounds memory access") +;; (assert_trap (invoke "32_bad" (i32.const 1)) "out of bounds memory access") + +;; ;; Load f64 data with different offset/align arguments + +;; (module +;; (memory 1) +;; (data (i32.const 0) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f4\7f\01\00\00\00\00\00\fc\7f") + +;; (func (export "64_good1") (param $i i32) (result f64) +;; (f64.load offset=0 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' +;; ) +;; (func (export "64_good2") (param $i i32) (result f64) +;; (f64.load align=1 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' +;; ) +;; (func (export "64_good3") (param $i i32) (result f64) +;; (f64.load offset=1 align=1 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' +;; ) +;; (func (export "64_good4") (param $i i32) (result f64) +;; (f64.load offset=2 align=2 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' +;; ) +;; (func (export "64_good5") (param $i i32) (result f64) +;; (f64.load offset=18 align=8 (local.get $i)) ;; nan:0xc000000000001 '\01\00\00\00\00\00\fc\7f' +;; ) +;; (func (export "64_bad") (param $i i32) +;; (drop (f64.load offset=4294967295 (local.get $i))) +;; ) +;; ) + +;; (assert_return (invoke "64_good1" (i32.const 0)) (f64.const 0.0)) +;; (assert_return (invoke "64_good2" (i32.const 0)) (f64.const 0.0)) +;; (assert_return (invoke "64_good3" (i32.const 0)) (f64.const 0.0)) +;; (assert_return (invoke "64_good4" (i32.const 0)) (f64.const 0.0)) +;; (assert_return (invoke "64_good5" (i32.const 0)) (f64.const nan:0xc000000000001)) + +;; (assert_return (invoke "64_good1" (i32.const 65510)) (f64.const 0.0)) +;; (assert_return (invoke "64_good2" (i32.const 65510)) (f64.const 0.0)) +;; (assert_return (invoke "64_good3" (i32.const 65510)) (f64.const 0.0)) +;; (assert_return (invoke "64_good4" (i32.const 65510)) (f64.const 0.0)) +;; (assert_return (invoke "64_good5" (i32.const 65510)) (f64.const 0.0)) + +;; (assert_return (invoke "64_good1" (i32.const 65511)) (f64.const 0.0)) +;; (assert_return (invoke "64_good2" (i32.const 65511)) (f64.const 0.0)) +;; (assert_return (invoke "64_good3" (i32.const 65511)) (f64.const 0.0)) +;; (assert_return (invoke "64_good4" (i32.const 65511)) (f64.const 0.0)) +;; (assert_trap (invoke "64_good5" (i32.const 65511)) "out of bounds memory access") + +;; (assert_trap (invoke "64_bad" (i32.const 0)) "out of bounds memory access") +;; (assert_trap (invoke "64_bad" (i32.const 1)) "out of bounds memory access") + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/arithmetic.wast b/docs/runtimeverification-wasm-semantics/tests/simple/arithmetic.wast new file mode 100644 index 000000000..e51fd81f3 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/arithmetic.wast @@ -0,0 +1,182 @@ +(i32.const 5) +(i32.const 7) +(i32.add) +#assertTopStack < i32 > 12 "add" + +(i32.const 5) +(i32.const 7) +(i32.sub) +#assertTopStack < i32 > -2 "sub" + +(i32.const 15) +(i32.const 3) +(i32.mul) +#assertTopStack < i32 > 45 "mul" + +(i32.const 15) +(i32.const 3) +(i32.div_u) +#assertTopStack < i32 > 5 "div_u1" + +(i32.const 15) +(i32.const 2) +(i32.div_u) +#assertTopStack < i32 > 7 "div_u2" + +(i32.const 15) +(i32.const 0) +(i32.div_u) +#assertTrap "div_u3" + +(i32.const 15) +(i32.const 3) +(i32.rem_u) +#assertTopStack < i32 > 0 "rem_u1" + +(i32.const 15) +(i32.const 2) +(i32.rem_u) +#assertTopStack < i32 > 1 "rem_u2" + +(i32.const 15) +(i32.const 0) +(i32.rem_u) +#assertTrap "rem_u3" + +(i32.const 10) +(i32.const 3) +(i32.div_s) +#assertTopStack < i32 > 3 "i32.div_s 1" + +(i32.const 10) +(i32.const 4) +(i32.div_s) +#assertTopStack < i32 > 2 "i32.div_s 2" + +(i32.const 10) +(i32.const 0) +(i32.div_s) +#assertTrap "i32.div_s 3" + +(i32.const #pow1(i32)) +(i32.const #pow(i32) -Int 1) +(i32.div_s) +#assertTrap "i32.div_s 4" + +(i32.const 10) +(i32.const 5) +(i32.div_s) +#assertTopStack < i32 > 2 "div_s" + +(i32.const 91) +(i32.const 13) +(i32.rem_s) +#assertTopStack 0 "rem_s" + +(i32.const -91) +(i32.const -13) +(i32.rem_s) +#assertTopStack 0 "rem_s" + +(i32.const -1) +(i32.const -3) +(i32.rem_s) +#assertTopStack -1 "rem_s" + +(i32.const 10) +(i32.const 0) +(i32.rem_s) +#assertTrap "rem_s" + +(i32.const #pow1(i32)) +(i32.const #pow(i32) -Int 1) +(i32.rem_s) +#assertTopStack 0 "rem_s edge case" + +;; The following tests were generated using the reference OCaml WASM interpreter. + +(i32.const 10) +(i32.const 3) +(i32.rem_s) +#assertTopStack < i32 > 1 "i32.rem_s 1" + +(i32.const 10) +(i32.const 4) +(i32.rem_s) +#assertTopStack < i32 > 2 "i32.rem_s 2" + +(i32.const 10) +(i32.const 5) +(i32.rem_s) +#assertTopStack < i32 > 0 "i32.rem_s 3" + +(i32.const -10) +(i32.const 3) +(i32.div_s) +#assertTopStack < i32 > -3 "i32.div_s 3" + +(i32.const -10) +(i32.const 4) +(i32.div_s) +#assertTopStack < i32 > -2 "i32.div_s 4" + +(i32.const -10) +(i32.const 5) +(i32.div_s) +#assertTopStack < i32 > -2 "i32.div_s 5" + +(i32.const -10) +(i32.const 3) +(i32.rem_s) +#assertTopStack < i32 > -1 "i32.rem_s 4" + +(i32.const -10) +(i32.const 4) +(i32.rem_s) +#assertTopStack < i32 > -2 "i32.rem_s 5" + +(i32.const -10) +(i32.const 5) +(i32.rem_s) +#assertTopStack < i32 > 0 "i32.rem_s 6" + +(i32.const -10) +(i32.const -3) +(i32.div_s) +#assertTopStack < i32 > 3 "i32.div_s 6" + +(i32.const -10) +(i32.const -4) +(i32.div_s) +#assertTopStack < i32 > 2 "i32.div_s 7" + +(i32.const -10) +(i32.const -5) +(i32.div_s) +#assertTopStack < i32 > 2 "i32.div_s 8" + +(i32.const -10) +(i32.const -3) +(i32.rem_s) +#assertTopStack < i32 > -1 "i32.rem_s 7" + +(i32.const -10) +(i32.const -4) +(i32.rem_s) +#assertTopStack < i32 > -2 "i32.rem_s 8" + +(i32.const -10) +(i32.const -5) +(i32.rem_s) +#assertTopStack < i32 > 0 "i32.rem_s 9" + +(i32.add (i32.const 3) (i32.const 4)) +#assertTopStack < i32 > 7 "simple add folded" + +(i32.sub (i32.const 3) (i32.const 4)) +#assertTopStack < i32 > -1 "simple sub, order dependent folded" + +(i32.sub (i32.mul (i32.const 5) (i32.const 7)) (i32.const 4)) +#assertTopStack < i32 > 31 "mul nested in sub folded" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/bitwise.wast b/docs/runtimeverification-wasm-semantics/tests/simple/bitwise.wast new file mode 100644 index 000000000..0791e6676 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/bitwise.wast @@ -0,0 +1,152 @@ +(i32.const 20) +(i32.const 18) +(i32.and) +#assertTopStack < i32 > 16 "and" + +(i32.const 20) +(i32.const 18) +(i32.or) +#assertTopStack < i32 > 22 "or" + +(i32.const 20) +(i32.const 18) +(i32.xor) +#assertTopStack < i32 > 6 "xor" + +(i32.const 2) +(i32.const 1) +(i32.shl) +#assertTopStack < i32 > 4 "shl 1" + +(i32.const 2) +(i32.const #pow1(i32) +Int 1) +(i32.shl) +#assertTopStack < i32 > 4 "shl 2" + +(i32.const #pow1(i32)) +(i32.const 2) +(i32.shr_u) +#assertTopStack < i32 > 2 ^Int 29 "shr_u 1" + +(i32.const 2) +(i32.const 2) +(i32.shr_u) +#assertTopStack < i32 > 0 "shr_u 2" + +(i32.const #pow(i32) -Int 2) +(i32.const 1) +(i32.shr_s) +#assertTopStack < i32 > #pow(i32) -Int 1 "shr_s 1" + +(i32.const 2) +(i32.const 2) +(i32.shr_s) +#assertTopStack < i32 > 0 "shr_s 2" + +(i32.const #pow1(i32) +Int 2) +(i32.const 3) +(i32.rotl) +#assertTopStack < i32 > 20 "rotl" + +(i32.const #pow1(i32) +Int 16) +(i32.const 3) +(i32.rotr) +#assertTopStack < i32 > 2 ^Int 28 +Int 2 "rotr" + +;; clz + +(i32.const #pow1(i32)) +(i32.clz) +#assertTopStack < i32 > 0 "clz #pow1(i32)" +(i64.const #pow1(i64)) +(i64.clz) +#assertTopStack < i64 > 0 "clz #pow1(i62)" + +(i32.const 0) +(i32.clz) +#assertTopStack < i32 > 32 "clz 0" +(i64.const 0) +(i64.clz) +#assertTopStack < i64 > 64 "clz 0" + +(i32.const 1) +(i32.clz) +#assertTopStack < i32 > 31 "clz 1" +(i64.const 1) +(i64.clz) +#assertTopStack < i64 > 63 "clz 1" + +(i32.const 2 ^Int 32 -Int 1) +(i32.clz) +#assertTopStack < i32 > 0 "clz 2^32 - 1" +(i64.const 2 ^Int 64 -Int 1) +(i64.clz) +#assertTopStack < i64 > 0 "clz 2^64 - 1" + +(i32.const 2 ^Int 31 -Int 1) +(i32.clz) +#assertTopStack < i32 > 1 "clz 2^31 - 1" +(i64.const 2 ^Int 63 -Int 1) +(i64.clz) +#assertTopStack < i64 > 1 "clz 2^63 - 1" + +;; ctz +(i32.const #pow1(i32)) +(i32.ctz) +#assertTopStack < i32 > 31 "ctz #pow1(i32)" +(i64.const #pow1(i64)) +(i64.ctz) +#assertTopStack < i64 > 63 "ctz #pow1(i32)" + +(i32.const 0) +(i32.ctz) +#assertTopStack < i32 > 32 "ctz 0" +(i64.const 0) +(i64.ctz) +#assertTopStack < i64 > 64 "ctz 0" + +(i32.const 1) +(i32.ctz) +#assertTopStack < i32 > 0 "ctz 1" +(i64.const 1) +(i64.ctz) +#assertTopStack < i64 > 0 "ctz 1" + +(i32.const 2 ^Int 32 -Int 1) +(i32.ctz) +#assertTopStack < i32 > 0 "ctz 2^32 - 1" +(i64.const 2 ^Int 64 -Int 1) +(i64.ctz) +#assertTopStack < i64 > 0 "ctz 2^64 - 1" + +;; popcnt + +(i32.const #pow1(i32)) +(i32.popcnt) +#assertTopStack < i32 > 1 "popcnt #pow1(i32)" +(i64.const #pow1(i64)) +(i64.popcnt) +#assertTopStack < i64 > 1 "popcnt #pow1(i32)" + +(i32.const 0) +(i32.popcnt) +#assertTopStack < i32 > 0 "popcnt 0" +(i64.const 0) +(i64.popcnt) +#assertTopStack < i64 > 0 "popcnt 0" + +(i32.const 1) +(i32.popcnt) +#assertTopStack < i32 > 1 "popcnt 1" +(i64.const 1) +(i64.popcnt) +#assertTopStack < i64 > 1 "popcnt 1" + +(i32.const 2 ^Int 32 -Int 1) +(i32.popcnt) +#assertTopStack < i32 > 32 "popcnt 2^32 - 1" +(i64.const 2 ^Int 64 -Int 1) +(i64.popcnt) +#assertTopStack < i64 > 64 "popcnt 2^64 - 1" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/branching.wast b/docs/runtimeverification-wasm-semantics/tests/simple/branching.wast new file mode 100644 index 000000000..ee7121b0c --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/branching.wast @@ -0,0 +1,20 @@ +(module + (func (export "as-if-cond") (param i32) (result i32) + (block (result i32) + (if (result i32) + (br_if 0 (i32.const 1) (local.get 0)) + (then (i32.const 2)) + (else (i32.const 3)) + ) + ) + ) + + (func (export "to-top-level0") (br 0)) + (func (export "to-top-level1") (block (br 0))) +) + +(assert_return (invoke "as-if-cond" (i32.const 1)) (i32.const 1)) +(assert_return (invoke "to-top-level0")) +(assert_return (invoke "to-top-level1")) + +#clearConfig \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/comments.wast b/docs/runtimeverification-wasm-semantics/tests/simple/comments.wast new file mode 100644 index 000000000..2071e8b9e --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/comments.wast @@ -0,0 +1,23 @@ +(i32.const 7) +;; this should be ignored +(i32.const 8) ;; this should be ignored as well +(i32.add) + +(; +all this text +should be ignored +;) + +#assertTopStack < i32 > 15 "dummy test 1" + +(i32.const -3) +(i32.const 6) (; comment at end of line ;) +(i32.add) +#assertTopStack < i32 > 3 "dummy test 2" + +(i32.const -3) +(i32.(;comment in the middle;)const 6) +(i32.add) +#assertTopStack < i32 > 3 "dummy test 2" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/comparison.wast b/docs/runtimeverification-wasm-semantics/tests/simple/comparison.wast new file mode 100644 index 000000000..ae7f0f441 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/comparison.wast @@ -0,0 +1,115 @@ +(i32.const 0) +(i32.eqz) +#assertTopStack < i32 > 1 "eqz1" + +(i32.const 3) +(i32.eqz) +#assertTopStack < i32 > 0 "eqz2" + +(i32.eqz (i32.const 3)) +#assertTopStack < i32 > 0 "eqz folded" + +(i32.const 3) +(i32.const 3) +(i32.eq) +#assertTopStack < i32 > 1 "eq1" + +(i32.const 3) +(i32.const 4) +(i32.eq) +#assertTopStack < i32 > 0 "eq2" + +(i32.const 3) +(i32.const 3) +(i32.ne) +#assertTopStack < i32 > 0 "ne1" + +(i32.const 3) +(i32.const 4) +(i32.ne) +#assertTopStack < i32 > 1 "ne2" + +(i32.const 2) +(i32.const 32) +(i32.lt_u) +#assertTopStack < i32 > 1 "lt_u" + +(i32.lt_u (i32.const 32) (i32.const 2)) +#assertTopStack < i32 > 0 "lt_u" + +(i32.const 2) +(i32.const 32) +(i32.gt_u) +#assertTopStack < i32 > 0 "gt_u" + +(i32.const #pow1(i32) +Int 7) +(i32.const #pow1(i32) +Int 15) +(i32.lt_s) +#assertTopStack < i32 > 1 "lt_s 1" + +(i32.const -32) +(i32.const 32) +(i32.lt_s) +#assertTopStack < i32 > 1 "lt_s 2" + +(i32.const #pow1(i32) +Int 7) +(i32.const #pow1(i32) +Int 15) +(i32.gt_s) +#assertTopStack < i32 > 0 "gt_s 1" + +(i32.const -32) +(i32.const 32) +(i32.gt_s) +#assertTopStack < i32 > 0 "gt_s 2" + +(i32.const 2) +(i32.const 32) +(i32.le_u) +#assertTopStack < i32 > 1 "le_u 1" + +(i32.const 32) +(i32.const 32) +(i32.le_u) +#assertTopStack < i32 > 1 "le_u 2" + +(i32.const 2) +(i32.const 32) +(i32.ge_u) +#assertTopStack < i32 > 0 "ge_u 1" + +(i32.const 32) +(i32.const 32) +(i32.ge_u) +#assertTopStack < i32 > 1 "ge_u 2" + +(i32.const #pow1(i32) +Int 7) +(i32.const #pow1(i32) +Int 15) +(i32.le_s) +#assertTopStack < i32 > 1 "le_s 1" + +(i32.const 32) +(i32.const 32) +(i32.le_s) +#assertTopStack < i32 > 1 "le_s 2" + +(i32.const -32) +(i32.const 32) +(i32.le_s) +#assertTopStack < i32 > 1 "le_s 3" + +(i32.const #pow1(i32) +Int 7) +(i32.const #pow1(i32) +Int 15) +(i32.ge_s) +#assertTopStack < i32 > 0 "ge_s 1" + +(i32.const 32) +(i32.const 32) +(i32.ge_s) +#assertTopStack < i32 > 1 "ge_s 2" + +(i32.const -32) +(i32.const 32) +(i32.ge_s) +#assertTopStack < i32 > 0 "ge_s 3" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/constants.wast b/docs/runtimeverification-wasm-semantics/tests/simple/constants.wast new file mode 100644 index 000000000..f221feda1 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/constants.wast @@ -0,0 +1,78 @@ +;; Integers +;; -------- + +(i32.const 3) +#assertTopStack < i32 > 3 "i32 1" + +(i32.const 5) +#assertTopStack < i32 > 5 "i32 parens" + +(i64.const 71) +#assertTopStack < i64 > 71 "i64" + +(i32.const #unsigned(i32, -5)) +#assertTopStack < i32 > #pow(i32) -Int 5 "i32 manual unsigned" + +(i32.const #pow(i32) -Int 5) +#assertTopStack < i32 > -5 "i32 manual unsigned" + +(i32.const -5) +#assertTopStack < i32 > #unsigned(i32, -5) "i32 signed constant" + +(i32.const #unsigned(i32, -5)) +#assertTopStack < i32 > -5 "i32 signed assert" + +(i32.const #pow(i32) +Int 1) +#assertTopStack < i32 > 1 "i32 overflow" + +(i32.const -1) +#assertTopStackExactly < i32 > #pow(i32) -Int 1 "i32 overflow" + +(i64.const -1) +#assertTopStackExactly < i64 > #pow(i64) -Int 1 "i62 overflow" + +;; Floating point +;; -------------- + +(f32.const 3.245) +#assertTopStack < f32 > 3.245 "f32" + +(f64.const 3.234523) +#assertTopStack < f64 > 3.234523 "f32 parens" + +(f64.const 1.21460644e+52) +#assertTopStack < f64 > 1.21460644e+52 "f64 scientific 1" + +(f64.const 1.6085927714e-321) +#assertTopStack < f64 > 1.6085927714e-321 "f64 scientific 2" + +(f64.const 1.63176601e-302) +#assertTopStack < f64 > 1.63176601e-302 "f64 scientific 3" + +;; Below examples do not work with current float parser +;; (f64.const 0x1.da21c460a6f44p+52) +;; (f64.const 0x1.60859d2e7714ap-321) +;; (f64.const 0x1.e63f1b7b660e1p-302) + +;; Helper conversions +;; ------------------ + +(i32.const #unsigned(i32, #signed(i32, 0))) +#assertTopStack < i32 > 0 "#unsigned . #signed 1" + +(i32.const #unsigned(i32, #signed(i32, #pow1(i32)))) +#assertTopStack < i32 > #pow1(i32) "#unsigned . #signed 2" + +(i32.const #unsigned(i32, #signed(i32, #pow(i32) -Int 1))) +#assertTopStack < i32 > #pow(i32) -Int 1 "#unsigned . #signed 3" + +(i64.const #unsigned(i64, #signed(i64, 0))) +#assertTopStack < i64 > 0 "#unsigned . #signed 4" + +(i64.const #unsigned(i64, #signed(i64, #pow1(i64)))) +#assertTopStack < i64 > #pow1(i64) "#unsigned . #signed 5" + +(i64.const #unsigned(i64, #signed(i64, #pow(i64) -Int 1))) +#assertTopStack < i64 > #pow(i64) -Int 1 "#unsigned . #signed 6" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/control-flow.wast b/docs/runtimeverification-wasm-semantics/tests/simple/control-flow.wast new file mode 100644 index 000000000..9b7eadab2 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/control-flow.wast @@ -0,0 +1,209 @@ +;; Unreachable +( unreachable ) +#assertTrap "unreachable" + +;; Blocks + +block (result i32 i32 i32) + (i32.const 1) + (i32.const 2) + (i32.const 3) +end +#assertStack < i32 > 3 : < i32 > 2 : < i32 > 1 : .ValStack "block 1" + +block (result i32 i32) + (i32.const 1) + (i32.const 2) + (i32.const 3) + (drop) +end +#assertStack < i32 > 2 : < i32 > 1 : .ValStack "block 2" + +block (result i32 i32) + (i32.const 1) + (i32.const 2) + (i32.const 3) +end +#assertStack < i32 > 3 : < i32 > 2 : .ValStack "block 3 (invalid)" + +;; (block (result i32) +;; (i32.const 1) +;; ) +;; #assertTopStack < i32 > 1 "block with named result 1" + +;; (block result i64 i32 +;; (i32.const 2) +;; (i32.const 1) +;; (i64.const 5) +;; ) +;; #assertStack < i64 > 5 : < i32 > 1 : .ValStack "block with named result 2" + +;; Breaks + +(i32.const 1) +(i32.const 2) +block + (i32.const 3) + (br 0) + (i32.const 4) + (br 0) +end +#assertStack < i32 > 2 : < i32 > 1 : .ValStack "br 1" + +(i32.const 1) +(i32.const 2) +block + (i32.const 3) + block (result i32 i32) + (i32.const 4) + (i32.const 5) + (br 1) + end + (i32.const 6) + (br 0) +end +#assertStack < i32 > 2 : < i32 > 1 : .ValStack "br 2" + +(i32.const 1) +(i32.const 2) +block (result i32 i32) + (i32.const 3) + block (result i32 i32) + (i32.const 4) + (i32.const 5) + (br 1) + end + (i32.const 6) + (br 0) +end +#assertStack < i32 > 5 : < i32 > 4 : < i32 > 2 : < i32 > 1 : .ValStack "br 3" + +(i32.const 1) +(i32.const 2) +block (result i32 i32) + (i32.const 3) + block + (i32.const 4) + (i32.const 5) + (br 1) + end + (i32.const 6) + (br 0) +end +#assertStack < i32 > 5 : < i32 > 4 : < i32 > 2 : < i32 > 1 : .ValStack "br 4" + +(i32.const 1) +(i32.const 2) +block (result i32) + (i32.const 3) + (i32.const 0) + (br_if 0) + (i32.const 4) + (br 0) +end +#assertStack < i32 > 4 : < i32 > 2 : < i32 > 1 : .ValStack "br_if 1 false" + +(i32.const 1) +(i32.const 2) +block (result i32) + (i32.const 3) + (i32.const 1) + (br_if 0) + (i32.const 4) + (br 0) +end +#assertStack < i32 > 3 : < i32 > 2 : < i32 > 1 : .ValStack "br_if 1 true" + +(i32.const 1) +(i32.const 2) +block + (i32.const 3) + (i32.const 1) + (br_if 0) + (i32.const 4) + (br 0) +end +#assertStack < i32 > 2 : < i32 > 1 : .ValStack "br_if 2 true" + +;; Conditional + +(i32.const 1) +if (result i32) i32.const 1 else i32.const -1 end +#assertTopStack < i32 > 1 "if true" + +(i32.const 0) +if (result i32) i32.const 1 else i32.const -1 end +#assertTopStack < i32 > -1 "if false" + +;; (i32.const -1) +;; (if (i32.const 0) (then)) +;; #assertTopStack < i32 > -1 "if folded false empty" + +;; (i32.const -1) +;; (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 2))) +;; #assertStack < i32 > 1 : < i32 > -1 : .ValStack "if folded true" + +;; (i32.const -1) +;; (if (result i32) (i32.const 0) (then (i32.const 1)) (else (i32.const 2))) +;; #assertStack < i32 > 2 : < i32 > -1 : .ValStack "if folded false" + +;; (if (result i32) (i32.const 1) (then (unreachable)) (else (i32.const 1))) +;; #assertTrap "if lazy first branch true" + +;; (if (result i32) (i32.const 0) (then (unreachable)) (else (i32.const 1))) +;; #assertTopStack < i32 > 1 "if lazy first branch false" + +;; (if (result i32) (i32.const 1) (then (i32.const -1)) (else (unreachable))) +;; #assertTopStack < i32 > -1 "if lazy second branch true" + +;; (if (result i32) (i32.const 0) (then (i32.const -1)) (else (unreachable))) +;; #assertTrap "if lazy second branch false" + +;; (if (result i32) (unreachable) (then (i32.const -1)) (else (unreachable))) +;; #assertTrap "if strict condition" + +;; Looping + +init_locals < i32 > 10 : < i32 > 0 : .ValStack +loop + (local.get 0) + (local.get 1) + (i32.add) + (local.set 1) + (local.get 0) + (i32.const 1) + (i32.sub) + (local.tee 0) + (br_if 0) +end +#assertLocal 0 < i32 > 0 "sum 1 -> 10 loop" +#assertLocal 1 < i32 > 55 "sum 1 -> 10 loop" + +init_locals < i32 > 10 : < i32 > 0 : .ValStack +block + loop + (local.get 0) + (local.get 1) + (i32.add) + (local.set 1) + (local.get 0) + (i32.const 1) + (i32.sub) + (local.tee 0) + (i32.eqz) + (br_if 1) + (br 0) + end +end +#assertLocal 0 < i32 > 0 "sum 1 -> 10 loop concrete syntax" +#assertLocal 1 < i32 > 55 "sum 1 -> 10 loop concrete syntax" + +;; Stack Underflow +;; TODO: We need to give semantics to stack underflow (though it could not happen with a validated program). +;; We need `trap` semantics first. +;; (i32.const 0) +;; block [ i32 i32 ] +;; (i32.const 7) +;; end + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/conversion.wast b/docs/runtimeverification-wasm-semantics/tests/simple/conversion.wast new file mode 100644 index 000000000..c697026fe --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/conversion.wast @@ -0,0 +1,47 @@ +;; Wrap. + +(i64.const 4294967296) ;; 2^32 +(i32.wrap_i64) +#assertTopStack < i32 > 0 "wrap 2^32" + +(i64.const 4294967295) ;; 2^32 - 1 +(i32.wrap_i64) +#assertTopStack < i32 > 4294967295 "wrap 2^32 - 1" + +(i32.wrap_i64 (i64.const 4294967298)) +#assertTopStack < i32 > 2 "folded wrap 2^32 + 2" + +;; Extend. + +(i32.const 4294967295) ;; 2^32 - 1 +(i64.extend_i32_u) +#assertTopStack < i64 > 4294967295 "extend unsig" + +(i32.const -1) ;; 2^32 - 1 +(i64.extend_i32_s) +#assertTopStack < i64 > -1 "extend sig" + +(i64.extend_i32_s (i32.const 15)) +#assertTopStack < i64 > 15 "folded extend sig" + +(module + (func (export "i64.extend_i32_s") (param $x i32) (result i64) (i64.extend_i32_s (local.get $x))) + (func (export "i64.extend_i32_u") (param $x i32) (result i64) (i64.extend_i32_u (local.get $x))) + (func (export "i32.wrap_i64") (param $x i64) (result i32) (i32.wrap_i64 (local.get $x))) +) + +(assert_return (invoke "i64.extend_i32_s" (i32.const 0)) (i64.const 0)) +(assert_return (invoke "i64.extend_i32_s" (i32.const 10000)) (i64.const 10000)) +(assert_return (invoke "i64.extend_i32_s" (i32.const -10000)) (i64.const -10000)) +(assert_return (invoke "i64.extend_i32_s" (i32.const -1)) (i64.const -1)) +(assert_return (invoke "i64.extend_i32_s" (i32.const 0x7fffffff)) (i64.const 0x000000007fffffff)) +(assert_return (invoke "i64.extend_i32_s" (i32.const 0x80000000)) (i64.const 0xffffffff80000000)) + +(assert_return (invoke "i64.extend_i32_u" (i32.const 0)) (i64.const 0)) +(assert_return (invoke "i64.extend_i32_u" (i32.const 10000)) (i64.const 10000)) +(assert_return (invoke "i64.extend_i32_u" (i32.const -10000)) (i64.const 0x00000000ffffd8f0)) +(assert_return (invoke "i64.extend_i32_u" (i32.const -1)) (i64.const 0xffffffff)) +(assert_return (invoke "i64.extend_i32_u" (i32.const 0x7fffffff)) (i64.const 0x000000007fffffff)) +(assert_return (invoke "i64.extend_i32_u" (i32.const 0x80000000)) (i64.const 0x0000000080000000)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/data.wast b/docs/runtimeverification-wasm-semantics/tests/simple/data.wast new file mode 100644 index 000000000..b036ad7ff --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/data.wast @@ -0,0 +1,91 @@ +;; Instantiating with data + +(module +(memory $an-ident (data "WASM" "2\2E0")) +) + +(memory.size) + +#assertTopStack < i32 > 1 "size of stack" +#assertMemoryData (0, 87) "text to ascii W" +#assertMemoryData (1, 65) "text to ascii A" +#assertMemoryData (2, 83) "text to ascii S" +#assertMemoryData (3, 77) "text to ascii M" +#assertMemoryData (4, 50) "text to ascii 2" +#assertMemoryData (5, 46) "text to ascii ." +#assertMemoryData (6, 48) "text to ascii 0" +#assertMemory $an-ident 1 1 "memorys string length" + +#clearConfig + +(module +(memory 1 1) +(data (offset (i32.const 100)) "W" "AS" "M") +) +#assertMemoryData (100, 87) "text to ascii W" +#assertMemoryData (101, 65) "text to ascii A" +#assertMemoryData (102, 83) "text to ascii S" +#assertMemoryData (103, 77) "text to ascii M" +#assertMemory 0 1 1 "memorys string length" + +#clearConfig + +(module +(memory (data)) +) +#clearConfig + +(module +(memory (data "W")) +) +#assertMemoryData (0, 87) "text to ascii W" +#assertMemory 0 1 1 "memorys string length" + +#clearConfig + +(module +(memory (data "\"\t\n\n\t\'\"\r\u{090A}")) +) +#assertMemoryData (0, 34) "text to ascii special" +#assertMemoryData (1, 9) "text to ascii special" +#assertMemoryData (2, 10) "text to ascii special" +#assertMemoryData (3, 10) "text to ascii special" +#assertMemoryData (4, 9) "text to ascii special" +#assertMemoryData (5, 39) "text to ascii special" +#assertMemoryData (6, 34) "text to ascii special" + +(module + (memory $m 1 1) + (data (offset (i32.const 0)) "\00") + (data (offset (nop) (i32.const 1)) "\01") + (data (offset (i32.const 2) (nop)) "\02") + (data $m (offset (i32.const 3)) "\03") + (data $m (offset (nop) (i32.const 4)) "\04") + (data $m (offset (i32.const 5) (nop)) "\05") + + (data (offset (i32.const 6 (nop))) "\06") + (data $m (offset (i32.const 7 (nop))) "\07") + + (global $g i32 (i32.const 8)) + (global $h i32 (i32.const 9)) + + (data (offset (global.get $g)) "\08") + (data $m (offset (global.get $h)) "\09") + + (func $main (local i32) + (local.set 0 (i32.const 9)) + loop + (i32.load8_u (local.get 0)) + (local.get 0) + (if (i32.ne) (then (unreachable))) + (i32.sub (local.get 0) (i32.const 1)) + (local.tee 0) + (i32.eqz) + (br_if 1) + (br 0) + end + ) + + (start $main) +) +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/desugaring.wast b/docs/runtimeverification-wasm-semantics/tests/simple/desugaring.wast new file mode 100644 index 000000000..d3a730506 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/desugaring.wast @@ -0,0 +1,61 @@ +(module + (func (export "foo") (result i32) (i32.const 0)) + (func (export "bar") (result i32) (i32.const 1)) +) + +(register "a") + +;; Test that imports get ordered correctly. +;; Function "bar" should get index 0, since it is imported first. +(module + (func (import "a" "bar") (result i32)) + (import "a" "foo" (func (result i32))) + (export "bar" (func 0) ) +) + +(assert_return (invoke "bar") (i32.const 1)) + +;; Test that data initializations get ordered correctly. +;; The results of the inlined `data` should overwrite the results of the non-inlined data. +(module + (data (offset (i32.const 0)) "b") + (memory (data "a")) + (func (export "baz") (result i32) + (i32.load (i32.const 0)) + ) +) + +(assert_return (invoke "baz") (i32.const 97)) + +;; Same as above but for `elem` +(module + (elem (offset (i32.const 0)) 0) + (table funcref (elem 1)) + (func (result i32) (i32.const 0)) + (func (result i32) (i32.const 1)) + (func (export "biz") (result i32) + (call_indirect (result i32) (i32.const 0)) + ) +) + +(assert_return (invoke "biz") (i32.const 1)) + +;; Regression test: A module with hex integers inside a function after a `table` with inline `elem`. +(module + (table funcref (elem)) + (func (export "break-inner") (result i32) + (local i32) + (local.set 0 (i32.const 0)) + (local.set 0 (i32.add (local.get 0) (block (result i32) (block (result i32) (br 1 (i32.const 0x1)))))) + (local.set 0 (i32.add (local.get 0) (block (result i32) (block (br 0)) (i32.const 0x2)))) + (local.set 0 + (i32.add (local.get 0) (block (result i32) (i32.ctz (br 0 (i32.const 0x4))))) + ) + (local.set 0 + (i32.add (local.get 0) (block (result i32) (i32.ctz (block (result i32) (br 1 (i32.const 0x8)))))) + ) + (local.get 0) + ) +) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/f64-cs.wast b/docs/runtimeverification-wasm-semantics/tests/simple/f64-cs.wast new file mode 100644 index 000000000..690686e27 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/f64-cs.wast @@ -0,0 +1,153 @@ +;; Test all the f64 operators on major boundary values and all special +;; values (except comparison and bitwise operators, which are tested in +;; f64_bitwise.wast and f64_cmp.wast). + +(module + (func (export "add") (param $x f64) (param $y f64) (result f64) (f64.add (local.get $x) (local.get $y))) + (func (export "sub") (param $x f64) (param $y f64) (result f64) (f64.sub (local.get $x) (local.get $y))) + (func (export "mul") (param $x f64) (param $y f64) (result f64) (f64.mul (local.get $x) (local.get $y))) + (func (export "div") (param $x f64) (param $y f64) (result f64) (f64.div (local.get $x) (local.get $y))) + (func (export "sqrt") (param $x f64) (result f64) (f64.sqrt (local.get $x))) + (func (export "min") (param $x f64) (param $y f64) (result f64) (f64.min (local.get $x) (local.get $y))) + (func (export "max") (param $x f64) (param $y f64) (result f64) (f64.max (local.get $x) (local.get $y))) + (func (export "ceil") (param $x f64) (result f64) (f64.ceil (local.get $x))) + (func (export "floor") (param $x f64) (result f64) (f64.floor (local.get $x))) + (func (export "trunc") (param $x f64) (result f64) (f64.trunc (local.get $x))) + (func (export "nearest") (param $x f64) (result f64) (f64.nearest (local.get $x))) +) + +(assert_return (invoke "add" (f64.const -0.000000e+00) (f64.const -0.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "add" (f64.const -0.000000e+00) (f64.const -2.225074e-308)) (f64.const -2.225074e-308)) +(assert_return (invoke "add" (f64.const 5.000000e-01) (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "add" (f64.const 5.000000e-01) (f64.const Infinity)) (f64.const Infinity)) + +(assert_return (invoke "sub" (f64.const -0.000000e+00) (f64.const -0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "sub" (f64.const 0.000000e+00) (f64.const 1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "sub" (f64.const -0.000000e+00) (f64.const -Infinity)) (f64.const Infinity)) +(assert_return (invoke "sub" (f64.const -0.000000e+00) (f64.const Infinity)) (f64.const -Infinity)) +(assert_return (invoke "sub" (f64.const 5.000000e-01) (f64.const -1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "sub" (f64.const 5.000000e-01) (f64.const 1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "sub" (f64.const -5.000000e-01) (f64.const -Infinity)) (f64.const Infinity)) +(assert_return (invoke "sub" (f64.const 1.000000e+00) (f64.const 1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "sub" (f64.const Infinity) (f64.const 1.000000e+00)) (f64.const Infinity)) +(assert_return (invoke "sub" (f64.const -Infinity) (f64.const -6.283185e+00)) (f64.const -Infinity)) +(assert_return (invoke "mul" (f64.const -4.940656e-324) (f64.const -0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "mul" (f64.const 2.225074e-308) (f64.const -2.225074e-308)) (f64.const -0.000000e+00)) +(assert_return (invoke "mul" (f64.const 2.225074e-308) (f64.const 2.225074e-308)) (f64.const 0.000000e+00)) +(assert_return (invoke "mul" (f64.const -2.225074e-308) (f64.const -5.000000e-01)) (f64.const 1.112537e-308)) +(assert_return (invoke "mul" (f64.const -2.225074e-308) (f64.const 5.000000e-01)) (f64.const -1.112537e-308)) +(assert_return (invoke "mul" (f64.const 2.225074e-308) (f64.const -5.000000e-01)) (f64.const -1.112537e-308)) +(assert_return (invoke "mul" (f64.const 5.000000e-01) (f64.const -5.000000e-01)) (f64.const -2.500000e-01)) +(assert_return (invoke "div" (f64.const -0.000000e+00) (f64.const -4.940656e-324)) (f64.const 0.000000e+00)) +(assert_return (invoke "div" (f64.const 0.000000e+00) (f64.const 5.000000e-01)) (f64.const 0.000000e+00)) +(assert_return (invoke "div" (f64.const -0.000000e+00) (f64.const -1.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "div" (f64.const -0.000000e+00) (f64.const 1.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "div" (f64.const 0.000000e+00) (f64.const Infinity)) (f64.const 0.000000e+00)) +;; (assert_return_canonical_nan (invoke "div" (f64.const -0x0p+0) (f64.const -nan))) +;; (assert_return_arithmetic_nan (invoke "div" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000))) +;; (assert_return_canonical_nan (invoke "div" (f64.const -0x0p+0) (f64.const nan))) +;; (assert_return_arithmetic_nan (invoke "div" (f64.const -0x0p+0) (f64.const nan:0x4000000000000))) +;; (assert_return_canonical_nan (invoke "div" (f64.const 0x0p+0) (f64.const -nan))) +;; (assert_return_arithmetic_nan (invoke "div" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000))) +;; (assert_return_canonical_nan (invoke "div" (f64.const 0x0p+0) (f64.const nan))) +;; (assert_return_arithmetic_nan (invoke "div" (f64.const 0x0p+0) (f64.const nan:0x4000000000000))) +(assert_return (invoke "div" (f64.const -4.940656e-308) (f64.const -0.000000e+00)) (f64.const Infinity)) +(assert_return (invoke "div" (f64.const 4.940656e-308) (f64.const -0.000000e+00)) (f64.const -Infinity)) +(assert_return (invoke "div" (f64.const 2.225074e-308) (f64.const 0.000000e+00)) (f64.const Infinity)) +(assert_return (invoke "div" (f64.const -2.225074e-308) (f64.const -4.940656e-324)) (f64.const 4.503600e+15)) +(assert_return (invoke "div" (f64.const 2.225074e-308) (f64.const Infinity)) (f64.const 0.000000e+00)) +(assert_return (invoke "min" (f64.const 0.000000e+00) (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "min" (f64.const 0.000000e+00) (f64.const 1.797693e+308)) (f64.const 0.000000e+00)) +(assert_return (invoke "min" (f64.const -0.000000e+00) (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "min" (f64.const -4.940656e-324) (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "max" (f64.const 0.000000e+00) (f64.const 2.225074e-308)) (f64.const 2.225074e-308)) +(assert_return (invoke "max" (f64.const -0.000000e+00) (f64.const -5.000000e-01)) (f64.const -0.000000e+00)) +(assert_return (invoke "max" (f64.const -0.000000e+00) (f64.const 5.000000e-01)) (f64.const 5.000000e-01)) +(assert_return (invoke "max" (f64.const 0.000000e+00) (f64.const -5.000000e-01)) (f64.const 0.000000e+00)) +(assert_return (invoke "max" (f64.const 0.000000e+00) (f64.const 5.000000e-01)) (f64.const 5.000000e-01)) +(assert_return (invoke "max" (f64.const -0.000000e+00) (f64.const -1.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "max" (f64.const -0.000000e+00) (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "max" (f64.const 0.000000e+00) (f64.const -1.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "max" (f64.const 0.000000e+00) (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "max" (f64.const 1.000000e+00) (f64.const 1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "max" (f64.const -1.000000e+00) (f64.const -Infinity)) (f64.const -1.000000e+00)) +(assert_return (invoke "max" (f64.const -1.000000e+00) (f64.const Infinity)) (f64.const Infinity)) +;; (assert_return_canonical_nan (invoke "sqrt" (f64.const -0x1p-1))) +(assert_return (invoke "sqrt" (f64.const 5.000000e-01)) (f64.const 7.071068e-01)) +;; (assert_return_canonical_nan (invoke "sqrt" (f64.const -0x1p+0))) +(assert_return (invoke "sqrt" (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +;; (assert_return_canonical_nan (invoke "sqrt" (f64.const -0x1.921fb54442d18p+2))) +(assert_return (invoke "floor" (f64.const -0.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "floor" (f64.const 0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "floor" (f64.const -4.940656e-324)) (f64.const -1.000000e+00)) +(assert_return (invoke "floor" (f64.const 4.940656e-324)) (f64.const 0.000000e+00)) +(assert_return (invoke "floor" (f64.const -2.225074e-308)) (f64.const -1.000000e+00)) +(assert_return (invoke "floor" (f64.const 2.225074e-308)) (f64.const 0.000000e+00)) +(assert_return (invoke "floor" (f64.const -5.000000e-01)) (f64.const -1.000000e+00)) +(assert_return (invoke "floor" (f64.const 5.000000e-01)) (f64.const 0.000000e+00)) +(assert_return (invoke "floor" (f64.const -1.000000e+00)) (f64.const -1.000000e+00)) +(assert_return (invoke "floor" (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "floor" (f64.const -6.283185e+00)) (f64.const -7.000000e+00)) +(assert_return (invoke "floor" (f64.const 6.283185e+00)) (f64.const 6.000000e+00)) +(assert_return (invoke "floor" (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "floor" (f64.const 1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "floor" (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "floor" (f64.const Infinity)) (f64.const Infinity)) +(assert_return (invoke "ceil" (f64.const -0.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "ceil" (f64.const 0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "ceil" (f64.const -4.940656e-324)) (f64.const -0.000000e+00)) +(assert_return (invoke "ceil" (f64.const 4.940656e-324)) (f64.const 1.000000e+00)) +(assert_return (invoke "ceil" (f64.const -2.225074e-308)) (f64.const -0.000000e+00)) +(assert_return (invoke "ceil" (f64.const 2.225074e-308)) (f64.const 1.000000e+00)) +(assert_return (invoke "ceil" (f64.const -5.000000e-01)) (f64.const -0.000000e+00)) +(assert_return (invoke "ceil" (f64.const 5.000000e-01)) (f64.const 1.000000e+00)) +(assert_return (invoke "ceil" (f64.const -1.000000e+00)) (f64.const -1.000000e+00)) +(assert_return (invoke "ceil" (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "ceil" (f64.const -6.283185e+00)) (f64.const -6.000000e+00)) +(assert_return (invoke "ceil" (f64.const 6.283185e+00)) (f64.const 7.000000e+00)) +(assert_return (invoke "ceil" (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "ceil" (f64.const 1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "ceil" (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "ceil" (f64.const Infinity)) (f64.const Infinity)) +;; (assert_return_canonical_nan (invoke "ceil" (f64.const -nan))) +;; (assert_return_arithmetic_nan (invoke "ceil" (f64.const -nan:0x4000000000000))) +;; (assert_return_canonical_nan (invoke "ceil" (f64.const nan))) +;; (assert_return_arithmetic_nan (invoke "ceil" (f64.const nan:0x4000000000000))) +(assert_return (invoke "trunc" (f64.const -0.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "trunc" (f64.const 0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "trunc" (f64.const -4.940656e-324)) (f64.const -0.000000e+00)) +(assert_return (invoke "trunc" (f64.const 4.940656e-324)) (f64.const 0.000000e+00)) +(assert_return (invoke "trunc" (f64.const -2.225074e-308)) (f64.const -0.000000e+00)) +(assert_return (invoke "trunc" (f64.const 2.225074e-308)) (f64.const 0.000000e+00)) +(assert_return (invoke "trunc" (f64.const -5.000000e-01)) (f64.const -0.000000e+00)) +(assert_return (invoke "trunc" (f64.const 5.000000e-01)) (f64.const 0.000000e+00)) +(assert_return (invoke "trunc" (f64.const -1.000000e+00)) (f64.const -1.000000e+00)) +(assert_return (invoke "trunc" (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "trunc" (f64.const -6.283185e+00)) (f64.const -6.000000e+00)) +(assert_return (invoke "trunc" (f64.const 6.283185e+00)) (f64.const 6.000000e+00)) +(assert_return (invoke "trunc" (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "trunc" (f64.const 1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "trunc" (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "trunc" (f64.const Infinity)) (f64.const Infinity)) +;; (assert_return_canonical_nan (invoke "trunc" (f64.const -nan))) +;; (assert_return_arithmetic_nan (invoke "trunc" (f64.const -nan:0x4000000000000))) +;; (assert_return_canonical_nan (invoke "trunc" (f64.const nan))) +;; (assert_return_arithmetic_nan (invoke "trunc" (f64.const nan:0x4000000000000))) +(assert_return (invoke "nearest" (f64.const -0.000000e+00)) (f64.const -0.000000e+00)) +(assert_return (invoke "nearest" (f64.const 0.000000e+00)) (f64.const 0.000000e+00)) +(assert_return (invoke "nearest" (f64.const -4.940656e-324)) (f64.const -0.000000e+00)) +(assert_return (invoke "nearest" (f64.const 4.940656e-324)) (f64.const 0.000000e+00)) +(assert_return (invoke "nearest" (f64.const -2.225074e-308)) (f64.const -0.000000e+00)) +(assert_return (invoke "nearest" (f64.const 2.225074e-308)) (f64.const 0.000000e+00)) +(assert_return (invoke "nearest" (f64.const -5.000000e-01)) (f64.const -0.000000e+00)) +(assert_return (invoke "nearest" (f64.const 5.000000e-01)) (f64.const 0.000000e+00)) +(assert_return (invoke "nearest" (f64.const -1.000000e+00)) (f64.const -1.000000e+00)) +(assert_return (invoke "nearest" (f64.const 1.000000e+00)) (f64.const 1.000000e+00)) +(assert_return (invoke "nearest" (f64.const -6.283185e+00)) (f64.const -6.000000e+00)) +(assert_return (invoke "nearest" (f64.const 6.283185e+00)) (f64.const 6.000000e+00)) +(assert_return (invoke "nearest" (f64.const -1.797693e+308)) (f64.const -1.797693e+308)) +(assert_return (invoke "nearest" (f64.const 1.797693e+308)) (f64.const 1.797693e+308)) +(assert_return (invoke "nearest" (f64.const -Infinity)) (f64.const -Infinity)) +(assert_return (invoke "nearest" (f64.const Infinity)) (f64.const Infinity)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/f64_bitwise-cs.wast b/docs/runtimeverification-wasm-semantics/tests/simple/f64_bitwise-cs.wast new file mode 100644 index 000000000..78c3859da --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/f64_bitwise-cs.wast @@ -0,0 +1,147 @@ +;; Test all the f64 bitwise operators on major boundary values and all special +;; values. + +(module + (func (export "abs") (param $x f64) (result f64) (f64.abs (local.get $x))) + (func (export "neg") (param $x f64) (result f64) (f64.neg (local.get $x))) + (func (export "copysign") (param $x f64) (param $y f64) (result f64) (f64.copysign (local.get $x) (local.get $y))) +) + +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const -0.0)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const 0.0)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const -0.0)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const 0.0)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const -4.94065645841e-324)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const 4.94065645841e-324)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const -4.94065645841e-324)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const 4.94065645841e-324)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const -2.22507385851e-308)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const 2.22507385851e-308)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const -2.22507385851e-308)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const 2.22507385851e-308)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const -0.5)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const 0.5)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const -0.5)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const 0.5)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const -1.0)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const -0.0) (f64.const 1.0)) (f64.const 0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const -1.0)) (f64.const -0.0)) +(assert_return (invoke "copysign" (f64.const 0.0) (f64.const 1.0)) (f64.const 0.0)) +;; (assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (f64.const -0x1.921fb54442d18p+2)) +(assert_return (invoke "copysign" (f64.const -6.28318530718) (f64.const NaN)) (f64.const 6.28318530718)) +;; (assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (f64.const -0x1.921fb54442d18p+2)) +(assert_return (invoke "copysign" (f64.const 6.28318530718) (f64.const NaN)) (f64.const 6.28318530718)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -0.0)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 0.0)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -0.0)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 0.0)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -4.94065645841e-324)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 4.94065645841e-324)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -4.94065645841e-324)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 4.94065645841e-324)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -2.22507385851e-308)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 2.22507385851e-308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -2.22507385851e-308)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 2.22507385851e-308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -0.5)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 0.5)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -0.5)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 0.5)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -1.0)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 1.0)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -1.0)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 1.0)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -6.28318530718)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 6.28318530718)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -6.28318530718)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 6.28318530718)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -1.79769313486e+308)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const 1.79769313486e+308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -1.79769313486e+308)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const 1.79769313486e+308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const -Infinity)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const -1.79769313486e+308) (f64.const Infinity)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const -Infinity)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "copysign" (f64.const 1.79769313486e+308) (f64.const Infinity)) (f64.const 1.79769313486e+308)) +;; (assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (f64.const -0x1.fffffffffffffp+1023)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x0p+0)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x0p+0)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x0p+0)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 0.0)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 4.94065645841e-324)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p-1022)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p-1022)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p-1022)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 2.22507385851e-308)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p-1)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p-1)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p-1)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 0.5)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p+0)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p+0)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p+0)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 1.0)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 6.28318530718)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const 1.79769313486e+308)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -inf)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const inf)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -inf)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const Infinity)) (f64.const NaN)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const -nan)) (f64.const -nan)) +;; (assert_return (invoke "copysign" (f64.const -nan) (f64.const nan)) (f64.const nan)) +;; (assert_return (invoke "copysign" (f64.const nan) (f64.const -nan)) (f64.const -nan)) +(assert_return (invoke "copysign" (f64.const NaN) (f64.const NaN)) (f64.const NaN)) +(assert_return (invoke "abs" (f64.const -0.0)) (f64.const 0.0)) +(assert_return (invoke "abs" (f64.const 0.0)) (f64.const 0.0)) +(assert_return (invoke "abs" (f64.const -4.94065645841e-324)) (f64.const 4.94065645841e-324)) +(assert_return (invoke "abs" (f64.const 4.94065645841e-324)) (f64.const 4.94065645841e-324)) +(assert_return (invoke "abs" (f64.const -2.22507385851e-308)) (f64.const 2.22507385851e-308)) +(assert_return (invoke "abs" (f64.const 2.22507385851e-308)) (f64.const 2.22507385851e-308)) +(assert_return (invoke "abs" (f64.const -0.5)) (f64.const 0.5)) +(assert_return (invoke "abs" (f64.const 0.5)) (f64.const 0.5)) +(assert_return (invoke "abs" (f64.const -1.0)) (f64.const 1.0)) +(assert_return (invoke "abs" (f64.const 1.0)) (f64.const 1.0)) +(assert_return (invoke "abs" (f64.const -6.28318530718)) (f64.const 6.28318530718)) +(assert_return (invoke "abs" (f64.const 6.28318530718)) (f64.const 6.28318530718)) +(assert_return (invoke "abs" (f64.const -1.79769313486e+308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "abs" (f64.const 1.79769313486e+308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "abs" (f64.const -Infinity)) (f64.const Infinity)) +(assert_return (invoke "abs" (f64.const Infinity)) (f64.const Infinity)) +;; (assert_return (invoke "abs" (f64.const -nan)) (f64.const nan)) +(assert_return (invoke "abs" (f64.const NaN)) (f64.const NaN)) +(assert_return (invoke "neg" (f64.const -0.0)) (f64.const 0.0)) +(assert_return (invoke "neg" (f64.const 0.0)) (f64.const -0.0)) +(assert_return (invoke "neg" (f64.const -4.94065645841e-324)) (f64.const 4.94065645841e-324)) +(assert_return (invoke "neg" (f64.const 4.94065645841e-324)) (f64.const -4.94065645841e-324)) +(assert_return (invoke "neg" (f64.const -2.22507385851e-308)) (f64.const 2.22507385851e-308)) +(assert_return (invoke "neg" (f64.const 2.22507385851e-308)) (f64.const -2.22507385851e-308)) +(assert_return (invoke "neg" (f64.const -0.5)) (f64.const 0.5)) +(assert_return (invoke "neg" (f64.const 0.5)) (f64.const -0.5)) +(assert_return (invoke "neg" (f64.const -1.0)) (f64.const 1.0)) +(assert_return (invoke "neg" (f64.const 1.0)) (f64.const -1.0)) +(assert_return (invoke "neg" (f64.const -6.28318530718)) (f64.const 6.28318530718)) +(assert_return (invoke "neg" (f64.const 6.28318530718)) (f64.const -6.28318530718)) +(assert_return (invoke "neg" (f64.const -1.79769313486e+308)) (f64.const 1.79769313486e+308)) +(assert_return (invoke "neg" (f64.const 1.79769313486e+308)) (f64.const -1.79769313486e+308)) +(assert_return (invoke "neg" (f64.const -Infinity)) (f64.const Infinity)) +(assert_return (invoke "neg" (f64.const Infinity)) (f64.const -Infinity)) +;; (assert_return (invoke "neg" (f64.const -nan)) (f64.const nan)) +;; (assert_return (invoke "neg" (f64.const nan)) (f64.const -nan)) + + +;; Type check + +;; (assert_invalid (module (func (result f64) (f64.copysign (i64.const 0) (f32.const 0)))) "type mismatch") +;; (assert_invalid (module (func (result f64) (f64.abs (i64.const 0)))) "type mismatch") +;; (assert_invalid (module (func (result f64) (f64.neg (i64.const 0)))) "type mismatch") + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/f64_cmp-cs.wast b/docs/runtimeverification-wasm-semantics/tests/simple/f64_cmp-cs.wast new file mode 100644 index 000000000..b843e667d --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/f64_cmp-cs.wast @@ -0,0 +1,76 @@ +;; Test all the f64 comparison operators on major boundary values and all +;; special values. + +(module + (func (export "eq") (param $x f64) (param $y f64) (result i32) (f64.eq (local.get $x) (local.get $y))) + (func (export "ne") (param $x f64) (param $y f64) (result i32) (f64.ne (local.get $x) (local.get $y))) + (func (export "lt") (param $x f64) (param $y f64) (result i32) (f64.lt (local.get $x) (local.get $y))) + (func (export "le") (param $x f64) (param $y f64) (result i32) (f64.le (local.get $x) (local.get $y))) + (func (export "gt") (param $x f64) (param $y f64) (result i32) (f64.gt (local.get $x) (local.get $y))) + (func (export "ge") (param $x f64) (param $y f64) (result i32) (f64.ge (local.get $x) (local.get $y))) +) + +(assert_return (invoke "eq" (f64.const -0.0) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "eq" (f64.const -0.0) (f64.const 0.0)) (i32.const 1)) +(assert_return (invoke "eq" (f64.const 0.0) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "eq" (f64.const 0.0) (f64.const 0.0)) (i32.const 1)) +(assert_return (invoke "eq" (f64.const -0.0) (f64.const -4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const -0.0) (f64.const 4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const 0.0) (f64.const -4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const 0.0) (f64.const 4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const -4.94065645841e-324) (f64.const -4.94065645841e-324)) (i32.const 1)) +(assert_return (invoke "eq" (f64.const -4.94065645841e-324) (f64.const 4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const 4.94065645841e-324) (f64.const -4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "eq" (f64.const 4.94065645841e-324) (f64.const 4.94065645841e-324)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const -0.0) (f64.const 2.22507385851e-308)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const 0.0) (f64.const -2.22507385851e-308)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const 0.0) (f64.const 2.22507385851e-308)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const -0.0) (f64.const -0.5)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const -0.0) (f64.const 0.5)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const 0.0) (f64.const -0.5)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const 0.0) (f64.const 0.5)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const -0.0) (f64.const -1.0)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const -0.0) (f64.const 1.0)) (i32.const 1)) +(assert_return (invoke "ne" (f64.const NaN) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const -0.0) (f64.const -0.0)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -0.0) (f64.const 0.0)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 0.0) (f64.const -0.0)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 0.0) (f64.const 0.0)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -0.0) (f64.const -4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -0.0) (f64.const 4.94065645841e-324)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const 0.0) (f64.const -4.94065645841e-324)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 0.0) (f64.const 4.94065645841e-324)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const -1.79769313486e+308) (f64.const 6.28318530718)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const -6.28318530718)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const 6.28318530718)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -1.79769313486e+308) (f64.const -1.79769313486e+308)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -1.79769313486e+308) (f64.const 1.79769313486e+308)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const -1.79769313486e+308)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const 1.79769313486e+308)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -1.79769313486e+308) (f64.const -Infinity)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const -1.79769313486e+308) (f64.const Infinity)) (i32.const 1)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const -Infinity)) (i32.const 0)) +(assert_return (invoke "lt" (f64.const 1.79769313486e+308) (f64.const Infinity)) (i32.const 1)) +;; (assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) +;; (assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) +(assert_return (invoke "le" (f64.const -4.94065645841e-324) (f64.const NaN)) (i32.const 0)) +;; (assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) +;; (assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) +;; (assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) +(assert_return (invoke "le" (f64.const 4.94065645841e-324) (f64.const NaN)) (i32.const 0)) +(assert_return (invoke "gt" (f64.const -Infinity) (f64.const 1.0)) (i32.const 0)) +(assert_return (invoke "gt" (f64.const Infinity) (f64.const -1.0)) (i32.const 1)) +(assert_return (invoke "gt" (f64.const Infinity) (f64.const 1.0)) (i32.const 1)) +(assert_return (invoke "gt" (f64.const -Infinity) (f64.const -6.28318530718)) (i32.const 0)) +(assert_return (invoke "gt" (f64.const -Infinity) (f64.const 6.28318530718)) (i32.const 0)) +(assert_return (invoke "gt" (f64.const Infinity) (f64.const -6.28318530718)) (i32.const 1)) +(assert_return (invoke "gt" (f64.const Infinity) (f64.const 6.28318530718)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const -0.0) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const -0.0) (f64.const 0.0)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const 0.0) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const 0.0) (f64.const 0.0)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const -Infinity) (f64.const 0.0)) (i32.const 0)) +(assert_return (invoke "ge" (f64.const Infinity) (f64.const -0.0)) (i32.const 1)) +(assert_return (invoke "ge" (f64.const Infinity) (f64.const 0.0)) (i32.const 1)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/fconversions-c.wast b/docs/runtimeverification-wasm-semantics/tests/simple/fconversions-c.wast new file mode 100644 index 000000000..887df92d4 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/fconversions-c.wast @@ -0,0 +1,314 @@ +(module + (func (export "i32.trunc_f32_s") (param $x f32) (result i32) (i32.trunc_f32_s (local.get $x))) + (func (export "i32.trunc_f32_u") (param $x f32) (result i32) (i32.trunc_f32_u (local.get $x))) + (func (export "i32.trunc_f64_s") (param $x f64) (result i32) (i32.trunc_f64_s (local.get $x))) + (func (export "i32.trunc_f64_u") (param $x f64) (result i32) (i32.trunc_f64_u (local.get $x))) + (func (export "i64.trunc_f32_s") (param $x f32) (result i64) (i64.trunc_f32_s (local.get $x))) + (func (export "i64.trunc_f32_u") (param $x f32) (result i64) (i64.trunc_f32_u (local.get $x))) + (func (export "i64.trunc_f64_s") (param $x f64) (result i64) (i64.trunc_f64_s (local.get $x))) + (func (export "i64.trunc_f64_u") (param $x f64) (result i64) (i64.trunc_f64_u (local.get $x))) + (func (export "f32.convert_i32_s") (param $x i32) (result f32) (f32.convert_i32_s (local.get $x))) + (func (export "f32.convert_i64_s") (param $x i64) (result f32) (f32.convert_i64_s (local.get $x))) + (func (export "f64.convert_i32_s") (param $x i32) (result f64) (f64.convert_i32_s (local.get $x))) + (func (export "f64.convert_i64_s") (param $x i64) (result f64) (f64.convert_i64_s (local.get $x))) + (func (export "f32.convert_i32_u") (param $x i32) (result f32) (f32.convert_i32_u (local.get $x))) + (func (export "f32.convert_i64_u") (param $x i64) (result f32) (f32.convert_i64_u (local.get $x))) + (func (export "f64.convert_i32_u") (param $x i32) (result f64) (f64.convert_i32_u (local.get $x))) + (func (export "f64.convert_i64_u") (param $x i64) (result f64) (f64.convert_i64_u (local.get $x))) + (func (export "f64.promote_f32") (param $x f32) (result f64) (f64.promote_f32 (local.get $x))) + (func (export "f32.demote_f64") (param $x f64) (result f32) (f32.demote_f64 (local.get $x))) +) + +(assert_return (invoke "i32.trunc_f32_s" (f32.const 0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const 1.401298e-45)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -1.401298e-45)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const 1.0)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const 1.100000e+00)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const 1.5)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -1.0)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -1.100000e+00)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -1.5)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -1.9)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -2.0)) (i32.const -2)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const 2147483520.0)) (i32.const 2147483520)) +(assert_return (invoke "i32.trunc_f32_s" (f32.const -2147483648.0)) (i32.const -2147483648)) +(assert_trap (invoke "i32.trunc_f32_s" (f32.const 2147483648.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_s" (f32.const -2147483904.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_s" (f32.const Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_s" (f32.const -Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_s" (f32.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_s" (f32.const nan:0x200000)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_s" (f32.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_s" (f32.const -nan:0x200000)) "invalid conversion to integer") + +(assert_return (invoke "i32.trunc_f32_u" (f32.const 0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const -0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 1.401298e-45)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const -1.401298e-45)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 1.0)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 1.100000e+00)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 1.5)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 1.9)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 2.0)) (i32.const 2)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const 2147483648)) (i32.const -2147483648)) ;; 0x1.00000p+31 -> 8000 0000 +(assert_return (invoke "i32.trunc_f32_u" (f32.const 4294967040.0)) (i32.const -256)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const -9.000000e-01)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f32_u" (f32.const -9.999999e-01)) (i32.const 0)) +(assert_trap (invoke "i32.trunc_f32_u" (f32.const 4294967296.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_u" (f32.const -1.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_u" (f32.const Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_u" (f32.const -Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f32_u" (f32.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_u" (f32.const nan:0x200000)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_u" (f32.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f32_u" (f32.const -nan:0x200000)) "invalid conversion to integer") + +(assert_return (invoke "i32.trunc_f64_s" (f64.const 0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const 4.940656e-324)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -4.940656e-324)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const 1.0)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const 1.100000e+00)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const 1.5)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -1.0)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -1.100000e+00)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -1.5)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -1.9)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -2.0)) (i32.const -2)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const 2147483647.0)) (i32.const 2147483647)) +(assert_return (invoke "i32.trunc_f64_s" (f64.const -2147483648.0)) (i32.const -2147483648)) +(assert_trap (invoke "i32.trunc_f64_s" (f64.const 2147483648.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_s" (f64.const -2147483649.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_s" (f64.const Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_s" (f64.const -Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_s" (f64.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_s" (f64.const nan:0x4000000000000)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_s" (f64.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_s" (f64.const -nan:0x4000000000000)) "invalid conversion to integer") + +(assert_return (invoke "i32.trunc_f64_u" (f64.const 0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const -0.0)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 4.940656e-324)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const -4.940656e-324)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 1.0)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 1.100000e+00)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 1.5)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 1.9)) (i32.const 1)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 2.0)) (i32.const 2)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 2147483648)) (i32.const -2147483648)) ;; 0x1.00000p+31 -> 8000 0000 +(assert_return (invoke "i32.trunc_f64_u" (f64.const 4294967295.0)) (i32.const -1)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const -9.000000e-01)) (i32.const 0)) +(assert_return (invoke "i32.trunc_f64_u" (f64.const 1e8)) (i32.const 100000000)) +(assert_trap (invoke "i32.trunc_f64_u" (f64.const 4294967296.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const -1.0)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const 1e16)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const 1e30)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const 9223372036854775808)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const -Infinity)) "integer overflow") +(assert_trap (invoke "i32.trunc_f64_u" (f64.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_u" (f64.const nan:0x4000000000000)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_u" (f64.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i32.trunc_f64_u" (f64.const -nan:0x4000000000000)) "invalid conversion to integer") + +(assert_return (invoke "i64.trunc_f32_s" (f32.const 0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const 1.401298e-45)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -1.401298e-45)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const 1.0)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const 1.100000e+00)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const 1.5)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -1.0)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -1.100000e+00)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -1.5)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -1.9)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -2.0)) (i64.const -2)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const 4294967296)) (i64.const 4294967296)) ;; 0x1.00000p+32 -> 1 0000 0000 +(assert_return (invoke "i64.trunc_f32_s" (f32.const -4294967296)) (i64.const -4294967296)) ;; -0x1.00000p+32 -> ffff ffff 0000 0000 +(assert_return (invoke "i64.trunc_f32_s" (f32.const 9223371487098961920.0)) (i64.const 9223371487098961920)) +(assert_return (invoke "i64.trunc_f32_s" (f32.const -9223372036854775808.0)) (i64.const -9223372036854775808)) +(assert_trap (invoke "i64.trunc_f32_s" (f32.const 9223372036854775808.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_s" (f32.const -9223373136366403584.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_s" (f32.const Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_s" (f32.const -Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_s" (f32.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_s" (f32.const nan:0x200000)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_s" (f32.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_s" (f32.const -nan:0x200000)) "invalid conversion to integer") + +(assert_return (invoke "i64.trunc_f32_u" (f32.const 0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const -0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 1.401298e-45)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const -1.401298e-45)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 1.0)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 1.100000e+00)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 1.5)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 4294967296)) (i64.const 4294967296)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const 18446742974197923840.0)) (i64.const -1099511627776)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const -9.000000e-01)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f32_u" (f32.const -9.999999e-01)) (i64.const 0)) +(assert_trap (invoke "i64.trunc_f32_u" (f32.const 18446744073709551616.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_u" (f32.const -1.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_u" (f32.const Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_u" (f32.const -Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f32_u" (f32.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_u" (f32.const nan:0x200000)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_u" (f32.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f32_u" (f32.const -nan:0x200000)) "invalid conversion to integer") + +(assert_return (invoke "i64.trunc_f64_s" (f64.const 0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const 4.940656e-324)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -4.940656e-324)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const 1.0)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const 1.100000e+00)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const 1.5)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -1.0)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -1.100000e+00)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -1.5)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -1.9)) (i64.const -1)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -2.0)) (i64.const -2)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const 4294967296)) (i64.const 4294967296)) ;; 0x1.00000p+32 -> 1 0000 0000 +(assert_return (invoke "i64.trunc_f64_s" (f64.const -4294967296)) (i64.const -4294967296)) ;; -0x1.00000p+32 -> ffff ffff 0000 0000 +(assert_return (invoke "i64.trunc_f64_s" (f64.const 9223372036854774784.0)) (i64.const 9223372036854774784)) +(assert_return (invoke "i64.trunc_f64_s" (f64.const -9223372036854775808.0)) (i64.const -9223372036854775808)) +(assert_trap (invoke "i64.trunc_f64_s" (f64.const 9223372036854775808.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_s" (f64.const -9223372036854777856.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_s" (f64.const Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_s" (f64.const -Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_s" (f64.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_s" (f64.const nan:0x4000000000000)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_s" (f64.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_s" (f64.const -nan:0x4000000000000)) "invalid conversion to integer") + +(assert_return (invoke "i64.trunc_f64_u" (f64.const 0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const -0.0)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 4.940656e-324)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const -4.940656e-324)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 1.0)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 1.100000e+00)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 1.5)) (i64.const 1)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 4294967295)) (i64.const 0xffffffff)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 4294967296)) (i64.const 0x100000000)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 18446744073709549568.0)) (i64.const -2048)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const -9.000000e-01)) (i64.const 0)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 1e8)) (i64.const 100000000)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 1e16)) (i64.const 10000000000000000)) +(assert_return (invoke "i64.trunc_f64_u" (f64.const 9223372036854775808)) (i64.const -9223372036854775808)) +(assert_trap (invoke "i64.trunc_f64_u" (f64.const 18446744073709551616.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_u" (f64.const -1.0)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_u" (f64.const Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_u" (f64.const -Infinity)) "integer overflow") +(assert_trap (invoke "i64.trunc_f64_u" (f64.const NaN)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_u" (f64.const nan:0x4000000000000)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_u" (f64.const -nan)) "invalid conversion to integer") +;; (assert_trap (invoke "i64.trunc_f64_u" (f64.const -nan:0x4000000000000)) "invalid conversion to integer") + +(assert_return (invoke "f32.convert_i32_s" (i32.const 1)) (f32.const 1.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const -1)) (f32.const -1.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const 0)) (f32.const 0.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const 2147483647)) (f32.const 2147483648)) +(assert_return (invoke "f32.convert_i32_s" (i32.const -2147483648)) (f32.const -2147483648)) +(assert_return (invoke "f32.convert_i32_s" (i32.const 1234567890)) (f32.const 1.234568e+09)) +;; Test rounding directions. +(assert_return (invoke "f32.convert_i32_s" (i32.const 16777217)) (f32.const 16777216.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const -16777217)) (f32.const -16777216.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const 16777219)) (f32.const 16777220.0)) +(assert_return (invoke "f32.convert_i32_s" (i32.const -16777219)) (f32.const -16777220.0)) + +(assert_return (invoke "f32.convert_i64_s" (i64.const 1)) (f32.const 1.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const -1)) (f32.const -1.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const 0)) (f32.const 0.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const 9223372036854775807)) (f32.const 9223372036854775807)) +(assert_return (invoke "f32.convert_i64_s" (i64.const -9223372036854775808)) (f32.const -9223372036854775808)) +(assert_return (invoke "f32.convert_i64_s" (i64.const 314159265358979)) (f32.const 3.141593e+14)) ;; PI +;; Test rounding directions. +(assert_return (invoke "f32.convert_i64_s" (i64.const 16777217)) (f32.const 16777216.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const -16777217)) (f32.const -16777216.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const 16777219)) (f32.const 16777220.0)) +(assert_return (invoke "f32.convert_i64_s" (i64.const -16777219)) (f32.const -16777220.0)) + +(assert_return (invoke "f64.convert_i32_s" (i32.const 1)) (f64.const 1.0)) +(assert_return (invoke "f64.convert_i32_s" (i32.const -1)) (f64.const -1.0)) +(assert_return (invoke "f64.convert_i32_s" (i32.const 0)) (f64.const 0.0)) +(assert_return (invoke "f64.convert_i32_s" (i32.const 2147483647)) (f64.const 2147483647)) +(assert_return (invoke "f64.convert_i32_s" (i32.const -2147483648)) (f64.const -2147483648)) +(assert_return (invoke "f64.convert_i32_s" (i32.const 987654321)) (f64.const 987654321)) + +(assert_return (invoke "f64.convert_i64_s" (i64.const 1)) (f64.const 1.0)) +(assert_return (invoke "f64.convert_i64_s" (i64.const -1)) (f64.const -1.0)) +(assert_return (invoke "f64.convert_i64_s" (i64.const 0)) (f64.const 0.0)) +(assert_return (invoke "f64.convert_i64_s" (i64.const 9223372036854775807)) (f64.const 9223372036854775807)) +(assert_return (invoke "f64.convert_i64_s" (i64.const -9223372036854775808)) (f64.const -9223372036854775808)) +(assert_return (invoke "f64.convert_i64_s" (i64.const 4669201609102990)) (f64.const 4669201609102990)) ;; Feigenbaum +;; Test rounding directions. +(assert_return (invoke "f64.convert_i64_s" (i64.const 9007199254740993)) (f64.const 9007199254740992)) +(assert_return (invoke "f64.convert_i64_s" (i64.const -9007199254740993)) (f64.const -9007199254740992)) +(assert_return (invoke "f64.convert_i64_s" (i64.const 9007199254740995)) (f64.const 9007199254740996)) +(assert_return (invoke "f64.convert_i64_s" (i64.const -9007199254740995)) (f64.const -9007199254740996)) + +(assert_return (invoke "f32.convert_i32_u" (i32.const 1)) (f32.const 1.0)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0)) (f32.const 0.0)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 2147483647)) (f32.const 2147483648)) +(assert_return (invoke "f32.convert_i32_u" (i32.const -2147483648)) (f32.const 2147483648)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0x12345678)) (f32.const 3.054199e+08)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0xffffffff)) (f32.const 4294967296.0)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0x80000080)) (f32.const 2.147484e+09)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0x80000081)) (f32.const 2.147484e+09)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0x80000082)) (f32.const 2.147484e+09)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0xfffffe80)) (f32.const 4.294967e+09)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0xfffffe81)) (f32.const 4.294967e+09)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 0xfffffe82)) (f32.const 4.294967e+09)) +;; Test rounding directions. +(assert_return (invoke "f32.convert_i32_u" (i32.const 16777217)) (f32.const 16777216.0)) +(assert_return (invoke "f32.convert_i32_u" (i32.const 16777219)) (f32.const 16777220.0)) + +(assert_return (invoke "f32.convert_i64_u" (i64.const 1)) (f32.const 1.0)) +(assert_return (invoke "f32.convert_i64_u" (i64.const 0)) (f32.const 0.0)) +(assert_return (invoke "f32.convert_i64_u" (i64.const 9223372036854775807)) (f32.const 9223372036854775807)) +(assert_return (invoke "f32.convert_i64_u" (i64.const -9223372036854775808)) (f32.const 9223372036854775808)) +(assert_return (invoke "f32.convert_i64_u" (i64.const 0xffffffffffffffff)) (f32.const 18446744073709551616.0)) +;; Test rounding directions. +(assert_return (invoke "f32.convert_i64_u" (i64.const 16777217)) (f32.const 16777216.0)) +(assert_return (invoke "f32.convert_i64_u" (i64.const 16777219)) (f32.const 16777220.0)) + +(assert_return (invoke "f64.convert_i32_u" (i32.const 1)) (f64.const 1.0)) +(assert_return (invoke "f64.convert_i32_u" (i32.const 0)) (f64.const 0.0)) +(assert_return (invoke "f64.convert_i32_u" (i32.const 2147483647)) (f64.const 2147483647)) +(assert_return (invoke "f64.convert_i32_u" (i32.const -2147483648)) (f64.const 2147483648)) +(assert_return (invoke "f64.convert_i32_u" (i32.const 0xffffffff)) (f64.const 4294967295.0)) + +(assert_return (invoke "f64.convert_i64_u" (i64.const 1)) (f64.const 1.0)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0)) (f64.const 0.0)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 9223372036854775807)) (f64.const 9223372036854775807)) +(assert_return (invoke "f64.convert_i64_u" (i64.const -9223372036854775808)) (f64.const 9223372036854775808)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0xffffffffffffffff)) (f64.const 18446744073709551616.0)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0x8000000000000400)) (f64.const 9.223372e+18)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0x8000000000000401)) (f64.const 9.223372e+18)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0x8000000000000402)) (f64.const 9.223372e+18)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0xfffffffffffff400)) (f64.const 1.844674e+19)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0xfffffffffffff401)) (f64.const 1.844674e+19)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 0xfffffffffffff402)) (f64.const 1.844674e+19)) +;; Test rounding directions. +(assert_return (invoke "f64.convert_i64_u" (i64.const 9007199254740993)) (f64.const 9007199254740992)) +(assert_return (invoke "f64.convert_i64_u" (i64.const 9007199254740995)) (f64.const 9007199254740996)) + +(assert_return (invoke "f64.promote_f32" (f32.const 0.0)) (f64.const 0.0)) +(assert_return (invoke "f64.promote_f32" (f32.const -0.0)) (f64.const -0.0)) +(assert_return (invoke "f64.promote_f32" (f32.const 1.123)) (f64.const 1.123)) +(assert_return (invoke "f64.promote_f32" (f32.const Infinity)) (f64.const Infinity)) +(assert_return (invoke "f64.promote_f32" (f32.const -Infinity)) (f64.const -Infinity)) +;; (assert_return_canonical_nan (invoke "f64.promote_f32" (f32.const nan))) +;; (assert_return_arithmetic_nan (invoke "f64.promote_f32" (f32.const nan:0x200000))) +;; (assert_return_canonical_nan (invoke "f64.promote_f32" (f32.const -nan))) +;; (assert_return_arithmetic_nan (invoke "f64.promote_f32" (f32.const -nan:0x200000))) + +(assert_return (invoke "f32.demote_f64" (f64.const 0.0)) (f32.const 0.0)) +(assert_return (invoke "f32.demote_f64" (f64.const -0.0)) (f32.const -0.0)) +(assert_return (invoke "f32.demote_f64" (f64.const 4.940656e-324)) (f32.const 0.0)) +(assert_return (invoke "f32.demote_f64" (f64.const -4.940656e-324)) (f32.const -0.0)) +(assert_return (invoke "f32.demote_f64" (f64.const 1.0)) (f32.const 1.0)) +(assert_return (invoke "f32.demote_f64" (f64.const -1.0)) (f32.const -1.0)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/functions_call.wast b/docs/runtimeverification-wasm-semantics/tests/simple/functions_call.wast new file mode 100644 index 000000000..39a804c9f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/functions_call.wast @@ -0,0 +1,277 @@ +;; Simple add function + +(module + (type $a-cool-type (func (param i32) (param $b i32) ( result i32 ))) +) + +#assertType 0 [ i32 i32 ] -> [ i32 ] +#assertNextTypeIdx 1 + +(module + (type $a-cool-type (func (param i32) (param $b i32) ( result i32 ))) + (func $x (type $a-cool-type) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + (export "000" (func 0)) + +;; String-named add function + + (func $add (type $a-cool-type) (param $a i32) (param i32) ( result i32 ) + (local.get $a) + (local.get 1) + (i32.add) + (return) + ) + + ;; Remove return statement, don't use explicit type name + + (func $0 (param $a i32) (param $b i32) result i32 + (local.get $a) + (local.get $b) + (i32.add) + ) + + + (table 1 funcref) + (elem 0 (i32.const 0) 2) + + ;; More complicated function with locals + + (func $1 param i64 i64 i64 result i64 local i64 + (i64.sub (local.get 2) (i64.add (local.get 0) (local.get 1))) + (local.set 3) + (local.get 3) + (return) + ) + + ( export "export-1" (func 3) ) +) + +(assert_return (invoke "000" (i32.const 7) (i32.const 8)) (i32.const 15)) +#assertFunction 0 [ i32 i32 ] -> [ i32 ] [ ] "call function 0 exists" + +#assertFunction 1 [ i32 i32 ] -> [ i32 ] [ ] "function string-named add" +#assertNextTypeIdx 2 + +(assert_return (invoke "export-1" (i64.const 100) (i64.const 43) (i64.const 22)) (i64.const -121)) +#assertFunction 3 [ i64 i64 i64 ] -> [ i64 ] [ i64 ] "call function 1 exists" + + +(i32.const 7) +(i32.const 8) +(i32.const 0) +(call_indirect (type $a-cool-type)) + +#assertTopStack < i32 > 15 "call function 0 no return" +(drop) +#assertFunction 2 [ i32 i32 ] -> [ i32 ] [ ] "call function 0 exists no return" + +;; Function with complicated declaration of types +(module + (func $2 result i32 param i32 i64 param i64 local i32 + (local.get 0) + (return) + ) + (func (export "out-of-order-type-declaration") (result i32) + (i32.const 7) + (i64.const 8) + (i64.const 5) + (call $2) + ) +) +(assert_return (invoke "out-of-order-type-declaration") (i32.const 7)) +#assertFunction 0 [ i32 i64 i64 ] -> [ i32 ] [ i32 ] "out of order type declarations" +#assertNextTypeIdx 2 + +;; Function with empty declarations of types + +(module + (func $0 param i64 i64 result result i64 param local + (local.get 0) + (return) + ) + + (func $1 (param i64 i64) (result i64) + (local.get 0) + (return) + ) + (func (export "cool") (result i64) + i64.const 10 + i64.const 11 + call $1 + ) +) + +(assert_return (invoke "cool") (i64.const 10)) +#assertFunction 1 [ i64 i64 ] -> [ i64 ] [ ] "empty type declarations" +#assertNextTypeIdx 2 + +;; Function with just a name + +(module + (func $3) + (export "return-null" (func $3) ) +) +(assert_return (invoke "return-null")) + +#assertFunction 0 [ ] -> [ ] [ ] "no domain/range or locals" + +(module + (func $add (export "add") + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $sub (export "sub") + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.sub) + (return) + ) + + (func $mul (export "mul") + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.mul) + (return) + ) + + (func $xor (export "xor") (param i32 i32) (result i32) + (local.get 0) + (local.get 1) + (i32.xor) + ) +) + +(assert_return (invoke "add" (i32.const 3) (i32.const 5)) (i32.const 8)) +(assert_return (invoke "mul" (i32.const 3) (i32.const 5)) (i32.const 15)) +(assert_return (invoke "sub" (i32.const 12) (i32.const 5)) (i32.const 7)) +(assert_return (invoke "xor" (i32.const 3) (i32.const 5)) (i32.const 6)) + +#assertFunction 0 [ i32 i32 ] -> [ i32 ] [ ] "add function typed correctly" +#assertFunction 1 [ i32 i32 ] -> [ i32 ] [ ] "sub function typed correctly" +#assertFunction 2 [ i32 i32 ] -> [ i32 ] [ ] "mul function typed correctly" +#assertFunction 3 [ i32 i32 ] -> [ i32 ] [ ] "xor function typed correctly" +#assertNextTypeIdx 1 + +(module + (func $f1 (param $a i32) (param i32) (result i32) (local $c i32) + (local.get $a) + (local.get 1) + (i32.add) + (local.set $c) + (local.get $a) + (local.get $c) + (i32.mul) + (return) + ) + + (func $f2 (param i32 i32 i32 ) (result i32) (local i32 i32) + (local.get 0) + (local.get 2) + (call $f1) + (local.get 1) + (call $f1) + (local.get 0) + (i32.mul) + (return) + ) + + (func (export "nested-method-call") (result i32) + (i32.const 3) + (i32.const 5) + (call $f1) + (i32.const 5) + (i32.const 8) + (call $f2) + ) + +) + +(assert_return (invoke "nested-method-call") (i32.const 14247936)) +#assertFunction 0 [ i32 i32 ] -> [ i32 ] [ i32 ] "inner calling method" +#assertFunction 1 [ i32 i32 i32 ] -> [ i32 ] [ i32 i32 ] "outer calling method" + +(module + (func $func (param i32 i32) (result i32) (local.get 0)) + (func (export "aaa") (result i32) + (block (result i32) + (call $func + (block (result i32) (i32.const 1)) (i32.const 2) + ) + ) + ) +) + +(assert_return (invoke "aaa") (i32.const 1)) + +(module + (func $2 (export "cool-align-1") (export "cool-align-2") result i32 param i32 i64 param i64 local i32 + (local.get 0) + (return) + ) +) + +(assert_return (invoke "cool-align-1" (i32.const 7) (i64.const 8) (i64.const 3)) (i32.const 7)) +(assert_return (invoke "cool-align-2" (i32.const 1) (i64.const 5) (i64.const 7)) (i32.const 1)) + +#assertFunction 0 [ i32 i64 i64 ] -> [ i32 ] [ i32 ] "out of order type declarations" + +(module + (func (export "foo") (result i32) + (block $a (result i32) + (block $b (result i32) + (call $bar) + (i32.const 0) + (br $b) + ) + (drop) + (i32.const 1) + ) + ) + + (func $bar + (block $b (block $a (br $a))) + ) +) + +(assert_return (invoke "foo") (i32.const 1)) + +;; Check type is correctly desugared. + +(module + (func $1 param i64 i64 i64 result i64 local i64 + (i64.sub (local.get 2) (i64.add (local.get 0) (local.get 1))) + (local.set 3) + (local.get 3) + (return) + ) + + ( export "export-1" (func $1) ) + + (func $2 param i64 i64 i64 result i64 local i64 + (i64.sub (local.get 2) (i64.add (local.get 0) (local.get 1))) + (local.set 3) + (local.get 3) + (return) + ) +) + +(assert_return (invoke "export-1" (i64.const 100) (i64.const 43) (i64.const 22)) (i64.const -121)) +#assertFunction 0 [ i64 i64 i64 ] -> [ i64 ] [ i64 ] "call function 1 exists" +#assertType 0 [ i64 i64 i64 ] -> [ i64 ] +;; Check type was only added once. +#assertNextTypeIdx 1 + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/identifiers.wast b/docs/runtimeverification-wasm-semantics/tests/simple/identifiers.wast new file mode 100644 index 000000000..a983365ab --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/identifiers.wast @@ -0,0 +1,76 @@ +;; tests of function identifier names + +(module + (func $oeauth + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $023eno!thu324 + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $02$3e%no!t&hu324 + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $02$3e%no!t&hu3'24*32++2ao-eunth + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $02$3e%no!t&hu3'24*32++2ao-eu//nh? + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $aenuth_ae`st|23~423 + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) + + (func $bioi::..@@?^ + (param i32 i32) + (result i32) + (local.get 0) + (local.get 1) + (i32.add) + (return) + ) +) + +#assertFunction 0 [ i32 i32 ] -> [ i32 ] [ ] "simple function name" +#assertFunction 1 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 1" +#assertFunction 2 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 2" +#assertFunction 3 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 3" +#assertFunction 4 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 3" +#assertFunction 5 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 3" +#assertFunction 6 [ i32 i32 ] -> [ i32 ] [ ] "identifier function name 3" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/imports.wast b/docs/runtimeverification-wasm-semantics/tests/simple/imports.wast new file mode 100644 index 000000000..fc64b4ab1 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/imports.wast @@ -0,0 +1,31 @@ +(module $a + (global (export "g") (export "glob") (mut i32) (i32.const 42)) + (memory (export "m") (export "mem") (data "A")) + (type $t (func )) + (func (export "f") (export "func")) + (func (export "gunc") (param i64) (param i32) (result i32) (local.get 1)) + ) + +(register "m") + +(module + (import "m" "gunc" (func (type $t))) + (memory (import "m" "mem") 1) + (export "x" (global $x)) + (type $t (func (param i64) (param i32) (result i32))) + (func (import "m" "gunc") (type $t)) + (func (import "m" "f")) + (global $x (import "m" "g") (mut i32)) + (import "m" "g" (global (mut i32))) + (func (export "foo") (result i32) (global.get 0)) + (func (export "mod") (global.set 0 (i32.const 10))) + ) + +(assert_return (invoke "foo") (i32.const 42)) +(invoke "mod") +(invoke $a "f") +(assert_return (invoke "foo") (i32.const 10)) +(assert_return (get $a "g") (i32.const 10)) +(assert_return (get "x") (i32.const 10)) + +#clearConfig \ No newline at end of file diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/integers.wast b/docs/runtimeverification-wasm-semantics/tests/simple/integers.wast new file mode 100644 index 000000000..812bb251f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/integers.wast @@ -0,0 +1,16 @@ +(module + (func (export "add0") (param $x i32) (result i32) (i32.add (local.get $x) (i32.const 0))) +) + +(assert_return (invoke "add0" (i32.const 123)) (i32.const 123)) +(assert_return (invoke "add0" (i32.const +123)) (i32.const 1_2_3)) +(assert_return (invoke "add0" (i32.const +123)) (i32.const 1_2_3)) +(assert_return (invoke "add0" (i32.const -1_23)) (i32.const -12_3)) +(assert_return (invoke "add0" (i32.const -0x11)) (i32.const -17)) +(assert_return (invoke "add0" (i32.const -0x1_1)) (i32.const -1_7)) +(assert_return (invoke "add0" (i32.const 0xF_FF_F)) (i32.const 65535)) +(assert_return (invoke "add0" (i32.const 0xF_FF_F)) (i32.const 65_535)) +(assert_return (invoke "add0" (i32.const -0xF_F111_1)) (i32.const -16716049)) +(assert_return (invoke "add0" (i32.const -0xAABBCCDD)) (i32.const -0xA_A_B_B_C_C_D_D)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/memory.wast b/docs/runtimeverification-wasm-semantics/tests/simple/memory.wast new file mode 100644 index 000000000..5610f5ca3 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/memory.wast @@ -0,0 +1,198 @@ +( memory 34) +#assertMemory 0 34 .Int "memory initial 2" + +#clearConfig + +( memory $a-memory 34) +#assertMemory $a-memory 34 .Int "memory initial 2" + +#clearConfig + +( memory 4 10 ) +#assertMemory 0 4 10 "memory initial 3" + +#clearConfig + +( memory $more-memory 4 10 ) +#assertMemory $more-memory 4 10 "memory initial 3" + +#clearConfig + +( memory $mem 0 10 ) +(memory.size) +#assertTopStack 0 "memory.size 1" +#assertMemory $mem 0 10 "memory ungrown" + +#clearConfig + +( memory $mem 0 10 ) +(memory.grow (i32.const 10)) +(memory.size) +#assertStack 10 : < i32 > 0 : .ValStack "memory grow" +(memory.grow (i32.const 1)) +#assertTopStack -1 "memory grow" +#assertMemory $mem 10 10 "memory grown" + +#clearConfig + +( memory #maxMemorySize()) +(memory.grow (i32.const 1)) +#assertTopStack -1 "memory grow max too large" +#assertMemory 0 #maxMemorySize() .Int "memory grow max too large" + +#clearConfig + +( memory 0 ) +(memory.grow (i32.const #maxMemorySize())) +(memory.size) +#assertStack #maxMemorySize() : < i32 > 0 : .ValStack "memory grow unbounded" +(memory.grow (i32.const 1)) +(memory.size) +#assertStack #maxMemorySize() : < i32 > -1 : .ValStack "memory grow unbounded" +#assertMemory 0 #maxMemorySize() .Int "memory grown unbounded" + +;; Store and load + +#clearConfig + +(memory 1) +(i32.const 1) +(i64.const 1) +(i64.store offset=2) +#assertMemoryData (3, 1) "store is little endian" +(i32.const 1) +(i64.const 257) +(i64.store8 offset=2) +#assertMemoryData (3, 1) "store8" +(i32.const 1) +(i64.const 65537) +(i64.store16 offset=2) +#assertMemoryData (3, 1) "store16" +(i32.const 1) +(i64.const #pow(i32) +Int 1) +(i64.store16 offset=2) +#assertMemoryData (3, 1) "store32" +#assertMemory 0 1 .Int "" + +#clearConfig + +(memory $foo 0) +(i32.const 0) +(i32.const 0) +(i32.store8) +#assertTrap "store to 0 size memory" +#assertMemory $foo 0 .Int "" + +#clearConfig + +(memory 1) +(i32.const 65535) +(i32.const 1) +(i32.store8) +#assertMemoryData (65535, 1) "store to memory edge" +(i32.const 65535) +(i32.const 1) +(i32.store16) +#assertTrap "store outside of size memory" +#assertMemory 0 1 .Int "" + +#clearConfig + +(memory 1) +(i32.const 15) +(i64.const #pow(i32) -Int 1) +(i64.store) +(i32.const 15) +(i32.load8_u) +#assertTopStack 255 "load8 unsigned" +(i32.const 15) +(i32.load8_s ) +#assertTopStack -1 "load8 signed" +(i32.const 16) +(i32.load16_u ) +#assertTopStack 65535 "load16 unsigned" +(i32.const 16) +(i32.load16_s ) +#assertTopStack -1 "load16 signed" +(i32.const 15) +(i64.load32_u ) +#assertTopStack #pow(i32) -Int 1 "load32 unsigned1" +(i32.const 15) +(i64.load32_s ) +#assertTopStack -1 "load32 signed1" +(i32.const 17) +(i64.load32_u ) +#assertTopStack 65535 "load32 unsigned2" +(i32.const 17) +(i64.load32_u ) +#assertTopStack 65535 "load32 signed2" +#assertMemoryData (15, 255) "" +#assertMemoryData (16, 255) "" +#assertMemoryData (17, 255) "" +#assertMemoryData (18, 255) "" +#assertMemory 0 1 .Int "" + +;; Updating + +#clearConfig + +(memory 1) +(i32.const 1) +(i64.const #pow(i64) -Int 1) +(i64.store) +(i32.const 5) (i32.const 0) +(i32.store ) +(i32.const 3) (i32.const 0) +(i32.store16 ) +(i32.const 1) (i32.const 0) +(i32.store8 ) +(i32.const 2) (i32.const 0) +(i32.store8 ) +#assertMemory 0 1 .Int "Zero updates erases memory" + +#clearConfig + +(memory 1) +(i32.const 1) (i64.const #pow(i64) -Int 1) +(i64.store ) +(i32.const 2) (i32.const 0) +(i32.store8 ) +(i32.const 4) (i32.const 0) +(i32.store ) +#assertMemoryData (1, 255) "" +#assertMemoryData (3, 255) "" +#assertMemoryData (8, 255) "" +#assertMemory 0 1 .Int "Zero updates don't over-erase" + +#clearConfig + +(module + (memory 0) +) + +(module + (memory (data "A")) +) + +#assertMemoryData (0, 65) "" + +(module + (memory 1) + (func $start (i32.store (i32.const 0) (i32.const 42))) + (start $start) +) + +#assertMemoryData 1 (0, 65) "Start didn't modify other memory" +#assertMemoryData (0, 42) "Start function modified its own memory" + +(module + (memory 0) + + (func (export "load_at_zero") (result i32) (i32.load (i32.const 0))) + (func (export "store_at_zero") (i32.store (i32.const 0) (i32.const 2))) +) + +(assert_trap (invoke "store_at_zero") "out of bounds memory access") +(assert_trap (invoke "load_at_zero") "out of bounds memory access") + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/modules.wast b/docs/runtimeverification-wasm-semantics/tests/simple/modules.wast new file mode 100644 index 000000000..4266b9c8a --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/modules.wast @@ -0,0 +1,58 @@ +(module $myMod) + +#assertNamedModule $myMod "named empty module" + +(module $anotherName) + +(register "a module name") + +#assertRegistrationNamed "a module name" $anotherName "registration1" +#assertNamedModule $anotherName "named registered module" + +(module $myMod2) + +(module) + +(module $myMod3) + +(register "a module name 2" $myMod2) +(register "another module name" $myMod3) +(register "third module name") + +#assertRegistrationNamed "another module name" $myMod3 "registration3" +#assertRegistrationNamed "a module name 2" $myMod2 "registration4" +#assertRegistrationUnnamed "third module name" "registration5" + +(assert_malformed + (module quote "(func block end $l)") + "mismatching label" +) + +(assert_malformed + (module quote "(func block $a end $l)") + "mismatching label" +) + +#clearConfig + +;; Test ordering of definitions in modules. + +(module + (start $main) ;; Should initialize memory position 1. + (elem (i32.const 1) $store) + (data (i32.const 100) "ba") + (data (i32.const 100) "c") ;; Should overwrite previous, leaving "5 1" as memory bytes + (func) + (func $main (call_indirect (i32.const 1))) ;; Should call $store. + (func $store (i32.store (i32.const 1) (i32.const 42))) + (func $get (export "get") (result i32) + (i32.add (i32.load (i32.const 1)) (i32.load (i32.const 100))) ;; For checking both data initialization. + ) + (memory 10 10) + (elem (i32.const 0) 0) + (table 2 funcref) +) + +(assert_return (invoke "get") i32.const 24973 ) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/polymorphic.wast b/docs/runtimeverification-wasm-semantics/tests/simple/polymorphic.wast new file mode 100644 index 000000000..e507b17bf --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/polymorphic.wast @@ -0,0 +1,68 @@ +;; drop + +(i32.const 15) +(drop) +#assertStack .ValStack "drop i32" + +(i64.const 15) +(drop) +#assertStack .ValStack "drop i64" + +(f32.const 15.0) +(drop) +#assertStack .ValStack "drop f32" + +(f64.const 15.0) +(drop) +#assertStack .ValStack "drop f64" + +(i32.const 5) +(drop (i32.const 1)) +#assertTopStack < i32 > 5 "folded drop" + +;; select + +(i32.const -1) +(i32.const 1) +(i32.const 1) +(select) +#assertTopStack < i32 > -1 "select i32 true" + +(i32.const -1) +(i32.const 1) +(i32.const 0) +(select) +#assertTopStack < i32 > 1 "select i32 false" + +(i64.const -1) +(i64.const 1) +(i32.const 1) +(select) +#assertTopStack < i64 > -1 "select i64 true" + +(i64.const -1) +(i64.const 1) +(i32.const 0) +(select) +#assertTopStack < i64 > 1 "select i64 false" + +(select (i32.const 1) (i32.const 0) (i32.const 1)) +#assertTopStack < i32 > 1 "folded select i32" + +(select (i64.const 1) (i64.const 0) (i32.const 0)) +#assertTopStack < i64 > 0 "folded select i64" + +(select (unreachable) (i64.const -1) (i32.const 0)) +#assertTrap "select strict in first branch" + +(select (i64.const 1) (unreachable) (i32.const 0)) +#assertTrap "select strict in second branch" +#assertTopStack < i64 > 1 "select strict in second branch" + +(select (i64.const 1) (i64.const -1) (unreachable)) +#assertTrap "select strict in condition" +#assertTopStack < i64 > -1 "select strict in condition" +(drop) +#assertTopStack < i64 > 1 "select strict in condition" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/start.wast b/docs/runtimeverification-wasm-semantics/tests/simple/start.wast new file mode 100644 index 000000000..5301f14b8 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/start.wast @@ -0,0 +1,38 @@ +(module + (memory 1) + (func $inc + (i32.store8 + (i32.const 0) + (i32.add + (i32.load8_u (i32.const 0)) + (i32.const 1))) + ) + (func $main + (i32.store (i32.const 0) (i32.const 65)) + (call $inc) + (call $inc) + (call $inc) + ) + (start $main) +) + +#assertMemoryData (0, 68) "start inc" +#assertFunction 0 [ ] -> [ ] [ ] "$inc" +#assertFunction 1 [ ] -> [ ] [ ] "$main" +#assertMemory 0 1 .Int "" + +#clearConfig + +(module + (func $foo (unreachable)) + (start $foo) +) +#assertTrap "Trap propagates through start invocation" +#assertFunction 0 [ ] -> [ ] [ ] "" + +(assert_trap + (module (func $main (unreachable)) (start $main)) + "unreachable" +) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/table.wast b/docs/runtimeverification-wasm-semantics/tests/simple/table.wast new file mode 100644 index 000000000..fe7972b0b --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/table.wast @@ -0,0 +1,112 @@ +(module ( table 0 funcref ) ) +#assertTable 0 0 .Int "table initial 1" + +(module ( table $named 4 funcref) ) +#assertTable $named 4 .Int "table initial 2" + +(module ( table 14 21 funcref ) ) +#assertTable 0 14 21 "table initial 3" + +(module ( + table $named2 funcref (elem $f $g $k)) + (func $f) (func $g) (func $k) +) +#assertTableElem (0, 0) "table elem 0" +#assertTableElem (1, 1) "table elem 1" +#assertTableElem (2, 2) "table elem 2" +#assertTable $named2 3 3 "table one with elements" + +(module + ( elem 0 (i32.const 1) $f $g) + ( table 4 funcref) + (func $f) (func $g) +) + +#assertTableElem (1, 3) "table elem 1" +#assertTableElem (2, 4) "table elem 2" +#assertTable 0 4 .Int "table two with elements" + +(module + ( elem (i32.const 1) func $f $g) + ( table 4 funcref) + (func $f) (func $g) +) + +#assertTableElem (1, 5) "table elem 1" +#assertTableElem (2, 6) "table elem 2" +#assertTable 0 4 .Int "table two with elements" + +(module + (type $out-i32 (func (result i32))) + (table $tab 10 funcref) + (elem (i32.const 8) $const-i32-a) + (elem (i32.const 9) $const-i32-b) + (func $const-i32-a (type $out-i32) (i32.const 65)) + (func $const-i32-b (type $out-i32) (i32.const 66)) + (func (export "call-7") (type $out-i32) + (call_indirect (type $out-i32) (i32.const 7)) + ) + (func (export "call-8") (type $out-i32) + (call_indirect (type $out-i32) (i32.const 8)) + ) + (func (export "call-9") (type $out-i32) + (call_indirect (type $out-i32) (i32.const 9)) + ) +) + +(invoke "call-8") + +#assertTopStack < i32> 65 "call_indirect_result1" + +(invoke "call-9") + +#assertTopStack < i32> 66 "call_indirect_result2" + +#assertFunction 0 [ ] -> [ i32 ] [ ] "call function 1 exists" +#assertFunction 1 [ ] -> [ i32 ] [ ] "call function 2 exists" +#assertFunction 2 [ ] -> [ i32 ] [ ] "call function 3 exists" +#assertFunction 3 [ ] -> [ i32 ] [ ] "call function 4 exists" +#assertFunction 4 [ ] -> [ i32 ] [ ] "call function 5 exists" +#assertTableElem (8, 7) "table elem 8" +#assertTableElem (9, 8) "table elem 9" +#assertTable $tab 10 .Int "table three with elements" + +;; Test offset unfolding. + +(module + (table $t 10 funcref) + (type $typ (func)) + (func) + (elem (offset (i32.const 0)) 0) + (elem (offset (nop) (i32.const 1)) 0) + (elem (offset (i32.const 2) (nop)) 0) + (elem $t (offset (i32.const 3)) 0) + (elem $t (offset (nop) (i32.const 4)) 0) + (elem $t (offset (i32.const 5) (nop)) 0) + + (elem (offset (i32.const 6 (nop))) 0) + (elem $t (offset (i32.const 7 (nop))) 0) + + (global $g i32 (i32.const 8)) + (global $h i32 (i32.const 9)) + + (elem (offset (global.get $g)) 0) + (elem $t (offset (global.get $h)) 0) + + (func $main (local i32) + (local.set 0 (i32.const 7)) + loop + (local.get 0) + (call_indirect (type $typ)) + (i32.sub (local.get 0) (i32.const 1)) + (local.tee 0) + (i32.eqz) + (br_if 1) + (br 0) + end + ) + + (start $main) +) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/text2abstract.wast b/docs/runtimeverification-wasm-semantics/tests/simple/text2abstract.wast new file mode 100644 index 000000000..d7f9e4a2d --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/text2abstract.wast @@ -0,0 +1,157 @@ +(module) + +(module $id + (func (export "foo") (param $a i32) (result i32) + local.get $a + ) + + (func (export "bar") (param $a i32) (result i32) + block (result i32) + local.get $a + end + ) + + (func (export "baz") (param $a i32) (result i32) + loop (result i32) + local.get $a + end + ) + + (func (export "baf") (param $a i32) (result i32) + i32.const 1 + if (result i32) + local.get $a + else + local.get $a + end + ) + + (func (export "bag") (param $a i32) (result i32) + i32.const 0 + if (result i32) + local.get $a + else + local.get $a + end + ) + + (func $far (param $a i32) (result i32) (local $b i64) + local.get $a + ) +) + +(assert_return (invoke "foo" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bar" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baz" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baf" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bag" (i32.const 7)) (i32.const 7)) + +#assertFunction 5 [ i32 ] -> [ i32 ] [ i64 ] "identifiers are erased inside module" + +#clearConfig + +;; With sugared blocks + +(module $id + +(type $i32->i32 (func (param i32) (result i32))) + + (func (export "foo") (param $a i32) (result i32) + (local.get $a) + ) + + (func (export "bar") (type 0) (param $a i32) (result i32) + (block (result i32) + (local.get $a)) + ) + + (func (export "baz") (type $i32->i32) (param $a i32) (result i32) + (loop (result i32) + (local.get $a)) + ) + + (func (export "baf") (param $a i32) (result i32) + i32.const 1 + (if (result i32) + (then (local.get $a)) + (else (local.get $a)) + ) + ) + + (func (export "bag") (param $a i32) (result i32) + i32.const 0 + (if (result i32) + (then (local.get $a)) + (else (local.get $a)) + ) + ) +) + +(assert_return (invoke "foo" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bar" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baz" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baf" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bag" (i32.const 7)) (i32.const 7)) + +#clearConfig + +(type (func (param i32) (result i32))) + +(func $foo (type 0) (param $a i32) (result i32) + local.get $a +) +(export "foo" (func 0)) + +(func $bar (type 0) (param $a i32) (result i32) + block (result i32) + local.get $a + end +) + (export "bar" (func 1)) + +(func $baz (type 0) (param $a i32) (result i32) + loop (result i32) + local.get $a + end +) +(export "baz" (func 2)) + +(func $baf (type 0) (param $a i32) (result i32) + i32.const 1 + if (result i32) + local.get $a + else + local.get $a + end +) +(export "baf" (func 3)) + +(func $bag (type 0) (param $a i32) (result i32) + i32.const 0 + if (result i32) + local.get $a + else + local.get $a + end +) +(export "bag" (func 4)) + +(func $far (type 0) (param $a i32) (result i32) (local $b i64) + local.get $a +) + +(assert_return (invoke "foo" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bar" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baz" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "baf" (i32.const 7)) (i32.const 7)) +(assert_return (invoke "bag" (i32.const 7)) (i32.const 7)) + +#assertFunction 5 [ i32 ] -> [ i32 ] [ i64 ] "identifiers are erased outside module" + +(type (func)) + +(func $fir (type 1) (local i64) (local $a i32)) + +#assertFunction 6 [ ] -> [ ] [ i64 i32 ] "identifiers are erased inside module" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/unicode.wast b/docs/runtimeverification-wasm-semantics/tests/simple/unicode.wast new file mode 100644 index 000000000..33cf24122 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/unicode.wast @@ -0,0 +1,39 @@ +(module + (memory 1) + (data (i32.const 0) "~!@#$%\u{1}\u{11}\u{334}\u{EDFF}\u{BBBBB}\u{10EFEF}") + (func (export "load8_u") (param $i i32) (result i64) + (i64.load8_u offset=0 (local.get $i)) + ) + (func (export "load16_u") (param $i i32) (result i64) + (i64.load16_u offset=0 (local.get $i)) + ) + (func (export "load32_u") (param $i i32) (result i64) + (i64.load32_u offset=0 (local.get $i)) + ) +) + +(assert_return (invoke "load8_u" (i32.const 0)) (i64.const 126)) +(assert_return (invoke "load8_u" (i32.const 3)) (i64.const 35)) +(assert_return (invoke "load8_u" (i32.const 6)) (i64.const 1)) +(assert_return (invoke "load8_u" (i32.const 9)) (i64.const 180)) +(assert_return (invoke "load8_u" (i32.const 11)) (i64.const 183)) +(assert_return (invoke "load8_u" (i32.const 14)) (i64.const 187)) +(assert_return (invoke "load8_u" (i32.const 15)) (i64.const 174)) + +(assert_return (invoke "load16_u" (i32.const 0)) (i64.const 8574)) +(assert_return (invoke "load16_u" (i32.const 1)) (i64.const 16417)) +(assert_return (invoke "load16_u" (i32.const 2)) (i64.const 9024)) +(assert_return (invoke "load16_u" (i32.const 4)) (i64.const 9508)) +(assert_return (invoke "load16_u" (i32.const 12)) (i64.const 62143)) +(assert_return (invoke "load16_u" (i32.const 13)) (i64.const 48114)) +(assert_return (invoke "load16_u" (i32.const 16)) (i64.const 62651)) + +(assert_return (invoke "load32_u" (i32.const 2)) (i64.const 623125312)) +(assert_return (invoke "load32_u" (i32.const 3)) (i64.const 19211299)) +(assert_return (invoke "load32_u" (i32.const 6)) (i64.const 3033272577)) +(assert_return (invoke "load32_u" (i32.const 7)) (i64.const 4004826129)) +(assert_return (invoke "load32_u" (i32.const 11)) (i64.const 3153248183)) +(assert_return (invoke "load32_u" (i32.const 16)) (i64.const 3213817019)) +(assert_return (invoke "load32_u" (i32.const 19)) (i64.const 44991)) + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/simple/variables.wast b/docs/runtimeverification-wasm-semantics/tests/simple/variables.wast new file mode 100644 index 000000000..a04736237 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/simple/variables.wast @@ -0,0 +1,62 @@ +;; Test locals + +init_locals < i32 > 0 : < i32 > 0 : < i32 > 0 : .ValStack + +(i32.const 43) +(local.set 0) +#assertLocal 0 < i32 > 43 "set_local" + +(i32.const 55) +(local.set 1) +(local.get 1) +#assertTopStack < i32 > 55 "set_local stack" +#assertLocal 1 < i32 > 55 "set_local" + +(i32.const 67) +(local.tee 2) +#assertTopStack < i32 > 67 "tee_local stack" +#assertLocal 2 < i32 > 67 "tee_local local" + +;; Test globals + +(module + (global (mut i32) (i32.const 0)) + (global $someglobal (mut i32) (i32.const 0)) + + (func + (i32.const 43) + (global.set 0) + ) + + (func (export "set") + (i32.const 55) + (global.set $someglobal) + ) + + (start 0) +) +#assertGlobal 0 < i32 > 43 "set_global" + +(invoke "set") +#assertGlobal $someglobal < i32 > 55 "set_global" + +;; Test global folded forms + +#clearConfig + +(module + (global (mut i32) (i32.const 0)) + (global (mut i32) (i32.const 0)) + + (func + (global.set 1 (i32.const 99)) + (global.set 0 (i32.const 77)) + ) + + (start 0) +) + +#assertGlobal 1 < i32 > 99 "set_global folded" +#assertGlobal 0 < i32 > 77 "set_global folded 2" + +#clearConfig diff --git a/docs/runtimeverification-wasm-semantics/tests/success-k.out b/docs/runtimeverification-wasm-semantics/tests/success-k.out new file mode 100644 index 000000000..c25e493df --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/success-k.out @@ -0,0 +1,3 @@ + + . + diff --git a/docs/runtimeverification-wasm-semantics/tests/success-llvm.out b/docs/runtimeverification-wasm-semantics/tests/success-llvm.out new file mode 100644 index 000000000..873d19486 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/tests/success-llvm.out @@ -0,0 +1,62 @@ + + + . + + + + . + + + .ValStack + + + + .Map + + + .Int + + + + .Map + + + .Map + + + .ModuleInstCellMap + + + 0 + + + + .FuncDefCellMap + + + 0 + + + .TabInstCellMap + + + 0 + + + .MemInstCellMap + + + 0 + + + .GlobalInstCellMap + + + 0 + + + + true + + + diff --git a/docs/runtimeverification-wasm-semantics/wasm-text.md b/docs/runtimeverification-wasm-semantics/wasm-text.md new file mode 100644 index 000000000..a5e8c34d9 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/wasm-text.md @@ -0,0 +1,1082 @@ +WebAssembly Text Format +======================= + +```k +require "wasm.md" +require "data.md" + +module WASM-TEXT-SYNTAX + imports WASM-TEXT + imports WASM-SYNTAX + imports WASM-TOKEN-SYNTAX +endmodule +``` + +Wasm Tokens +----------- + +`WASM-TOKEN-SYNTAX` module defines the tokens used in parsing programs. + +```k +module WASM-TOKEN-SYNTAX +``` + +### Strings + +In WebAssembly, strings are defined differently to K's built-in strings, so we have to write the definition of WebAssembly `WasmString` in a separate module, and use the module just for parsing the program. +Note that you cannot use a normal K `String` in any production definitions, because the definitions of `String` and `WasmString` overlap, and the K tokenizer does not support ambiguity. + +```k + syntax WasmStringToken ::= r"\\\"(([^\\\"\\\\])|(\\\\[0-9a-fA-F]{2})|(\\\\t)|(\\\\n)|(\\\\r)|(\\\\\\\")|(\\\\')|(\\\\\\\\)|(\\\\u\\{[0-9a-fA-F]{1,6}\\}))*\\\"" [token] + // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- +``` + +### Identifiers + +In WebAssembly, identifiers are defined by the regular expression below. + +```k + syntax IdentifierToken ::= r"\\$[0-9a-zA-Z!$%&'*+/<>?_`|~=:\\@^.-]+" [token] + // ---------------------------------------------------------------------------- +``` + +### Integers + +In WebAssembly, integers could be represented in either the decimal form or hexadecimal form. +In both cases, digits can optionally be separated by underscores. + +```k + syntax WasmIntToken ::= r"[\\+-]?[0-9]+(_[0-9]+)*" [token] + | r"[\\+-]?0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*" [token] + // ------------------------------------------------------------------------ +``` + +### Layout + +WebAssembly allows for block comments using `(;` and `;)`, and line comments using `;;`. +Additionally, white-space is skipped/ignored. +Declaring regular expressions of sort `#Layout` infroms the K lexer to drop these tokens. + +```k + syntax #Layout ::= r"\\(;([^;]|(;+([^;\\)])))*;\\)" [token] + | r";;[^\\n\\r]*" [token] + | r"[\\ \\n\\r\\t]" [token] + // ----------------------------------------------------------- +``` + +```k +endmodule +``` + +Wasm Textual Format Syntax +-------------------------- + +### Values + +```k +module WASM-TEXT-COMMON-SYNTAX + imports WASM-COMMON-SYNTAX + + syntax WasmInt ::= Int + syntax WasmInt ::= WasmIntToken [klabel(WasmInt), avoid, symbol, function] + + syntax Index ::= Identifier + // --------------------------- +``` + +### Instructions + +#### Plain Instructions + +```k + syntax PlainInstr ::= "br" Index + | "br_if" Index + | "br_table" ElemSegment + | "call" Index + | "global.get" Index + | "global.set" Index + | "local.get" Index + | "local.set" Index + | "local.tee" Index + // --------------------------------------- + + syntax PlainInstr ::= IValType "." StoreOpM + | FValType "." StoreOpM + | IValType "." LoadOpM + | FValType "." LoadOpM + syntax StoreOpM ::= StoreOp | StoreOp MemArg + syntax LoadOpM ::= LoadOp | LoadOp MemArg + syntax MemArg ::= OffsetArg | AlignArg | OffsetArg AlignArg + syntax OffsetArg ::= "offset=" WasmInt + syntax AlignArg ::= "align=" WasmInt + // --------------------------------------- +``` + +#### Block Instructions + +```k + syntax Instr ::= BlockInstr + // --------------------------- + + syntax BlockInstr ::= "block" OptionalId TypeDecls Instrs "end" OptionalId + | "loop" OptionalId TypeDecls Instrs "end" OptionalId + | "if" OptionalId TypeDecls Instrs "else" OptionalId Instrs "end" OptionalId + | "if" OptionalId TypeDecls Instrs "end" OptionalId + // ------------------------------------------------------------------------------------------------ +``` + +##### Folded Instructions + +Folded instructions are a syntactic sugar where expressions can be grouped using parentheses for higher readability. + +```k + syntax Instr ::= FoldedInstr + // ---------------------------- +``` + +One type of folded instruction are `PlainInstr`s wrapped in parentheses and optionally includes nested folded instructions to indicate its operands. + +```k + syntax FoldedInstr ::= "(" PlainInstr Instrs ")" + | "(" PlainInstr ")" [prefer] + // --------------------------------------------------------- + + syntax FoldedInstr ::= "(" "block" OptionalId TypeDecls Instrs ")" + | "(" "loop" OptionalId TypeDecls Instrs ")" + | "(" "if" OptionalId TypeDecls Instrs "(" "then" Instrs ")" ")" + | "(" "if" OptionalId TypeDecls Instrs "(" "then" Instrs ")" "(" "else" Instrs ")" ")" + // ----------------------------------------------------------------------------------------------------------- +``` + +### Types + +```k + syntax TypeDefn ::= "(type" OptionalId "(" "func" TypeDecls ")" ")" + // ------------------------------------------------------------------- + + syntax TextLimits ::= Int | Int Int + // ----------------------------------- +``` + +### Exports + +Exports can be declared like regular functions, memories, etc., by giving an inline export declaration. +In that case, it simply desugars to the definition followed by an export of it. +If no identifer is present, one must be introduced so that the export can refer to it. +Note that it is possible to define multiple exports inline, i.e. export a single entity under many names. + +```k + syntax ExportDefn ::= "(" "export" WasmString "(" Externval ")" ")" + // ------------------------------------------------------------------- + + syntax InlineExport ::= "(" "export" WasmString ")" + // ---------------------------------------------------- +``` + +### Imports + +```k + syntax ImportDefn ::= "(" "import" WasmString WasmString ImportDesc ")" + // ----------------------------------------------------------------------- +``` + +Imports can be declared like regular functions, memories, etc., by giving an inline import declaration. + +```k + syntax InlineImport ::= "(" "import" WasmString WasmString ")" + // -------------------------------------------------------------- +``` + +The following is the text format representation of an import specification. + +```k + syntax ImportDesc ::= "(" "func" OptionalId TypeUse ")" [klabel(funcImportDesc)] + | "(" "global" OptionalId TextFormatGlobalType ")" [klabel(globImportDesc)] + | "(" "table" OptionalId TableType ")" [klabel( tabImportDesc)] + | "(" "memory" OptionalId MemType ")" [klabel( memImportDesc)] + // ----------------------------------------------------------------------------------------------- +``` + +### Functions + +```k + syntax FuncDefn ::= "(" "func" OptionalId FuncSpec ")" + syntax FuncSpec ::= TypeUse LocalDecls Instrs + | InlineImport TypeUse + | InlineExport FuncSpec + // ----------------------------------------- +``` + +#### Function Local Declaration + +```k + syntax LocalDecl ::= "(" LocalDecl ")" [bracket] + | "local" ValTypes + | "local" Identifier ValType + syntax LocalDecls ::= List{LocalDecl , ""} [klabel(listLocalDecl)] + // ------------------------------------------------------------------------- +``` + +### Tables + +```k + syntax TableDefn ::= "(" "table" OptionalId TableSpec ")" + syntax TableSpec ::= TableType + | TableElemType "(" "elem" ElemSegment ")" + | InlineImport TableType + | InlineExport TableSpec + // ------------------------------------------- + + syntax TableType ::= TextLimits TableElemType + syntax TableElemType ::= "funcref" + // ---------------------------------- +``` + +### Memories + +```k + syntax MemoryDefn ::= "(" "memory" OptionalId MemorySpec ")" + // ------------------------------------------------------------ + + syntax MemorySpec ::= MemType + // -------------------------------- + + syntax MemorySpec ::= "(" "data" DataString ")" + | InlineImport MemType + | InlineExport MemorySpec + // --------------------------------------------- + + syntax MemType ::= TextLimits + // -------------------------------- +``` + +### Globals + +```k + syntax GlobalDefn ::= "(" "global" OptionalId GlobalSpec ")" + syntax GlobalSpec ::= TextFormatGlobalType Instr + | InlineImport TextFormatGlobalType + | InlineExport GlobalSpec + // --------------------------------------------- + + syntax TextFormatGlobalType ::= ValType | "(" "mut" ValType ")" + // --------------------------------------------------------------- +``` + +### Offset + +The `elem` and `data` initializers take an offset, which is an instruction. +This is not optional. + +```k + syntax Offset ::= "(" "offset" Instrs ")" + // ----------------------------------------- +``` + +The offset can either be specified explicitly with the `offset` key word, or be a single instruction. + +```k + syntax Offset ::= Instrs + // ------------------------ +``` + +### Element Segments + +```k + + syntax ElemDefn ::= "(" "elem" Index Offset ElemSegment ")" + | "(" "elem" Offset ElemSegment ")" + | "(" "elem" Offset "func" ElemSegment ")" + // ------------------------------------------------------------ +``` + +### Data Segments + +```k + syntax DataDefn ::= "(" "data" Index Offset DataString ")" + | "(" "data" Offset DataString ")" + // ---------------------------------------------------- +``` + +### Start Function + +```k + syntax StartDefn ::= "(" "start" Index ")" + // ------------------------------------------ +``` + +### Modules + +Modules are defined as a sequence of definitions, that may come in any order. +The only requirements are that all imports must precede all other definitions, and that there may be at most one start function. + +```k + syntax Stmt ::= ModuleDecl + syntax ModuleDecl ::= "(" "module" OptionalId Defns ")" + // ------------------------------------------------------- +``` + +```k +endmodule +``` + +Translation from Text Format to Core Format +------------------------------------------- + +```k +module WASM-TEXT + imports WASM-TEXT-COMMON-SYNTAX + imports WASM +``` + +The text format is a concrete syntax for Wasm. +It allows specifying instructions in a folded, S-expression like format, and a few other syntactic sugars. +Most instructions, those in the sort `PlainInstr`, have identical keywords in the abstract and concrete syntax, and can be used directly. + +### Text Integers + +All integers given in the text format are automatically turned into regular integers. +That means converting between hexadecimal and decimal when necessary, and removing underscores. + +**TODO**: Symbolic reasoning for sort `WasmIntToken` not tested yet. +In the future should investigate which direction the subsort should go. +(`WasmIntToken` under `Int`/`Int` under `WasmIntToken`) + +```k + rule `WasmInt`(VAL) => WasmIntToken2Int(VAL) + + syntax String ::= WasmIntToken2String ( WasmIntToken ) [function, total, hook(STRING.token2string)] + syntax Int ::= WasmIntTokenString2Int ( String ) [function] + | WasmIntToken2Int ( WasmIntToken ) [function] + // -------------------------------------------------------------------- + rule WasmIntTokenString2Int(S) => String2Base(replaceFirst(S, "0x", ""), 16) requires findString(S, "0x", 0) =/=Int -1 + rule WasmIntTokenString2Int(S) => String2Base( S, 10) requires findString(S, "0x", 0) ==Int -1 + + rule WasmIntToken2Int(VAL) => WasmIntTokenString2Int(replaceAll(WasmIntToken2String(VAL), "_", "")) +``` + +### Identifiers + +When we want to specify an identifier, we can do so with the following helper function. + +```k + syntax IdentifierToken ::= String2Identifier(String) [function, total, hook(STRING.string2token)] + // ------------------------------------------------------------------------------------------------------ +``` + +### Looking up Indices + +In the abstract Wasm syntax, indices are always integers. +In the text format, we extend indices to incorporate identifiers. +We also enable context lookups with identifiers. + +```k + rule #ContextLookup(IDS:Map, ID:Identifier) => {IDS [ ID ]}:>Int + requires ID in_keys(IDS) +``` + +### Desugaring + +The text format is one of the concrete formats of Wasm. +Every concrete format maps to a common structure, described as an abstract syntax. +The function `text2abstract` is a partial function which maps valid programs in the text format to the abstract format. +Some classes of invalid programs, such as those where an identifier appears in a context in which it is not declared, are undefined. + +The function deals with the desugarings which are context dependent. +Other desugarings are either left for runtime or expressed as macros (for now). + +#### Unfolding Abbreviations + +```k + syntax Stmts ::= unfoldStmts ( Stmts ) [function] + syntax Defns ::= unfoldDefns ( Defns ) [function] + | #unfoldDefns ( Defns , Int, TypesInfo ) [function] + // ------------------------------------------------------------------- + rule unfoldStmts(( module OID:OptionalId DS) SS) => ( module OID unfoldDefns(DS) ) unfoldStmts(SS) + rule unfoldStmts(.Stmts) => .Stmts + rule unfoldStmts(S SS) => S unfoldStmts(SS) [owise] + + rule unfoldDefns(DS) => #unfoldDefns(DS, 0, types2indices(DS)) + rule #unfoldDefns(.Defns, _, _) => .Defns + rule #unfoldDefns(D:Defn DS, I, TI) => D #unfoldDefns(DS, I, TI) [owise] + + syntax Defns ::= Defns "appendDefn" Defn [function] + // --------------------------------------------------- + rule (D DS) appendDefn D' => D (DS appendDefn D') + rule .Defns appendDefn D' => D' .Defns +``` + +#### Types + +The text format allows declaring a function without referencing a module-level type for that function. +If there is a module-level type matching the function type, the function is automatically assigned to that type. +The `TypeDecl` of the type is kept, since it may contain parameter identifiers. +If there is no matching module-level type, a new such type is inserted *at the end of the module*. +Since the inserted type is module-level, any subsequent functions declaring the same type will not implicitly generate a new type. + +```k + rule #unfoldDefns(( func _OID:OptionalId (TDECLS:TypeDecls => (type {M [asFuncType(TDECLS)]}:>Int) TDECLS) _LOCALS:LocalDecls _BODY:Instrs ) _DS + , _I + , #ti(... t2i: M)) + requires asFuncType(TDECLS) in_keys(M) + + rule #unfoldDefns(( func _OID:OptionalId (TDECLS:TypeDecls => (type N) TDECLS) _LOCALS:LocalDecls _BODY:Instrs ) (DS => DS appendDefn (type (func TDECLS))) + , _I + , #ti(... t2i: M => M [ asFuncType(TDECLS) <- N ], count: N => N +Int 1)) + requires notBool asFuncType(TDECLS) in_keys(M) + + rule #unfoldDefns(( func OID:OptionalId TUSE:TypeUse LOCALS:LocalDecls BODY) DS, I, TI) + => (( func OID TUSE LOCALS unfoldInstrs(BODY))) + #unfoldDefns(DS, I, TI) + requires notBool isTypeDecls(TUSE) + + rule #unfoldDefns(( import MOD NAME (func OID:OptionalId TDECLS:TypeDecls )) DS, I, #ti(... t2i: M) #as TI) + => (import MOD NAME (func OID (type {M [asFuncType(TDECLS)]}:>Int) TDECLS )) + #unfoldDefns(DS, I, TI) + requires asFuncType(TDECLS) in_keys(M) + + rule #unfoldDefns(( import MOD NAME (func OID:OptionalId TDECLS:TypeDecls)) DS, I, #ti(... t2i: M, count: N)) + => (import MOD NAME (func OID (type N) TDECLS)) + #unfoldDefns(DS appendDefn (type (func TDECLS)), I, #ti(... t2i: M [asFuncType(TDECLS) <- N], count: N +Int 1)) + requires notBool asFuncType(TDECLS) in_keys(M) + + syntax TypesInfo ::= #ti( t2i: Map, count: Int ) + syntax TypesInfo ::= types2indices( Defns ) [function] + | #types2indices( Defns, TypesInfo ) [function] + // ------------------------------------------------------------------ + rule types2indices(DS) => #types2indices(DS, #ti(... t2i: .Map, count: 0)) + + rule #types2indices(.Defns, TI) => TI + + rule #types2indices((type _OID (func TDECLS)) DS, #ti(... t2i: M, count: N)) + => #types2indices(DS, #ti(... t2i: M [ asFuncType(TDECLS) <- (M [ asFuncType(TDECLS) ] orDefault N) ], count: N +Int 1)) + + rule #types2indices(_D DS, M) => #types2indices(DS, M) [owise] +``` + +#### Functions + +```k + rule #unfoldDefns(( func OID:OptionalId (import MOD NAME) TUSE) DS, I, M) + => #unfoldDefns(( import MOD NAME (func OID TUSE) ) DS, I, M) + + rule #unfoldDefns(( func EXPO:InlineExport SPEC:FuncSpec ) DS, I, M) + => #unfoldDefns(( func #freshId(I) EXPO SPEC) DS, I +Int 1, M) + + rule #unfoldDefns(( func ID:Identifier ( export ENAME ) SPEC:FuncSpec ) DS, I, M) + => ( export ENAME ( func ID ) ) #unfoldDefns(( func ID SPEC ) DS, I, M) +``` + +#### Tables + +```k + rule #unfoldDefns(( table funcref ( elem ELEM ) ) DS, I, M) + => #unfoldDefns(( table #freshId(I) funcref ( elem ELEM ) ) DS, I +Int 1, M) + + rule #unfoldDefns(( table ID:Identifier funcref ( elem ELEM ) ) DS, I, M) + => ( table ID #lenElemSegment(ELEM) #lenElemSegment(ELEM) funcref ):TableDefn + ( elem ID (offset (i32.const 0) .Instrs) ELEM ) + #unfoldDefns(DS, I, M) + + rule #unfoldDefns(( table OID:OptionalId (import MOD NAME) TT:TableType ) DS, I, M) + => #unfoldDefns(( import MOD NAME (table OID TT) ) DS, I, M) + + rule #unfoldDefns(( table EXPO:InlineExport SPEC:TableSpec ) DS, I, M) + => #unfoldDefns(( table #freshId(I) EXPO SPEC ) DS, I +Int 1, M) + + rule #unfoldDefns(( table ID:Identifier ( export ENAME ) SPEC:TableSpec ) DS, I, M) + => ( export ENAME ( table ID ) ) #unfoldDefns(( table ID SPEC ) DS, I, M) +``` + +#### Memories + +```k + rule #unfoldDefns(( memory ( data DATA ) ) DS, I, M) + => #unfoldDefns(( memory #freshId(I) ( data DATA ) ) DS, I +Int 1, M) + + rule #unfoldDefns(( memory ID:Identifier ( data DATA ) ) DS, I, M) + => ( memory ID #lengthDataPages(DATA) #lengthDataPages(DATA) ):MemoryDefn + ( data ID (offset (i32.const 0) .Instrs) DATA ) + #unfoldDefns(DS, I, M) + + rule #unfoldDefns(( memory OID:OptionalId (import MOD NAME) MT:MemType ) DS, I, M) + => #unfoldDefns(( import MOD NAME (memory OID MT ) ) DS, I, M) + + rule #unfoldDefns(( memory EXPO:InlineExport SPEC:MemorySpec ) DS, I, M) + => #unfoldDefns(( memory #freshId(I:Int) EXPO SPEC ) DS, I +Int 1, M) + + rule #unfoldDefns(( memory ID:Identifier ( export ENAME ) SPEC:MemorySpec ) DS, I, M) + => ( export ENAME ( memory ID ) ) #unfoldDefns( ( memory ID SPEC ) DS, I, M) + + syntax Int ::= #lengthDataPages ( DataString ) [function] + // --------------------------------------------------------- + rule #lengthDataPages(DS:DataString) => lengthBytes(#DS2Bytes(DS)) up/Int #pageSize() +``` + +#### Globals + +```k + syntax GlobalType ::= asGMut (TextFormatGlobalType) [function] + // -------------------------------------------------------------- + rule asGMut ( (mut T:ValType ) ) => var T + rule asGMut ( T:ValType ) => const T + + rule #unfoldDefns((( global OID TYP:TextFormatGlobalType IS:Instr) => #global(... type: asGMut(TYP), init: unfoldInstrs(IS .Instrs), metadata: OID)) _DS, _I, _M) + + rule #unfoldDefns(( global OID:OptionalId (import MOD NAME) TYP ) DS, I, M) + => #unfoldDefns(( import MOD NAME (global OID TYP ) ) DS, I, M) + + rule #unfoldDefns(( global EXPO:InlineExport SPEC:GlobalSpec ) DS, I, M) + => #unfoldDefns(( global #freshId(I) EXPO SPEC ) DS, I +Int 1, M) + + rule #unfoldDefns(( global ID:Identifier ( export ENAME ) SPEC:GlobalSpec ) DS, I, M) + => ( export ENAME ( global ID ) ) #unfoldDefns(( global ID SPEC ) DS, I, M) +``` + +#### Element Segments + +```k + rule #unfoldDefns(((elem OFFSET func ES) => (elem OFFSET ES)) _DS, _I, _M) + rule #unfoldDefns(((elem OFFSET:Offset ES ) => ( elem 0 OFFSET ES )) _DS, _I, _M) + rule #unfoldDefns(((elem IDX OFFSET:Instrs ES ) => ( elem IDX ( offset OFFSET ) ES )) _DS, _I, _M) + + rule #unfoldDefns((elem IDX (offset IS) ES) DS, I, M) => (elem IDX (offset unfoldInstrs(IS)) ES) #unfoldDefns(DS, I, M) +``` + +#### Data Segments + +```k + rule #unfoldDefns(((data OFFSET:Offset DATA ) => ( data 0 OFFSET DATA )) _DS, _I, _M) + rule #unfoldDefns(((data IDX OFFSET:Instrs DATA ) => ( data IDX ( offset OFFSET ) DATA )) _DS, _I, _M) + + rule #unfoldDefns((data IDX (offset IS) DATA) DS, I, M) => (data IDX (offset unfoldInstrs(IS)) DATA) #unfoldDefns(DS, I, M) +``` + +#### Instructions + +```k + syntax Instrs ::= unfoldInstrs ( Instrs ) [function] + | #unfoldInstrs ( Instrs, Int, Map ) [function] + // --------------------------------------------------------------- + rule unfoldInstrs(IS) => #unfoldInstrs(IS, 0, .Map) + rule #unfoldInstrs(.Instrs, _, _) => .Instrs + rule #unfoldInstrs(I IS, DEPTH, M) => I #unfoldInstrs(IS, DEPTH, M) [owise] + + syntax Instrs ::= Instrs "appendInstrs" Instrs [function] + | #appendInstrs ( Instrs, Instrs ) [function] + | #reverseInstrs ( Instrs, Instrs ) [function] + // -------------------------------------------------------------- + rule IS appendInstrs IS' => #appendInstrs(#reverseInstrs(IS, .Instrs), IS') + + rule #appendInstrs(I IS => IS, IS' => I IS') + rule #appendInstrs(.Instrs , IS') => IS' + + rule #reverseInstrs(.Instrs, ACC) => ACC + rule #reverseInstrs(I IS => IS, ACC => I ACC) +``` + +##### Block Instructions + +In the text format, block instructions can have identifiers attached to them, and branch instructions can refer to these identifiers. +Branching with an identifier is the same as branching to the label with that identifier. +The correct label index is calculated by looking at whih depth the index occured and what depth execution is currently at. + +Conceptually, `br ID => br CURRENT_EXECUTION_DEPTH -Int IDENTIFIER_LABEL_DEPTH -Int 1`. + +```k + rule #unfoldInstrs(br ID:Identifier IS, DEPTH, M) => br DEPTH -Int {M [ ID ]}:>Int -Int 1 #unfoldInstrs(IS, DEPTH, M) + rule #unfoldInstrs(br_if ID:Identifier IS, DEPTH, M) => br_if DEPTH -Int {M [ ID ]}:>Int -Int 1 #unfoldInstrs(IS, DEPTH, M) + rule #unfoldInstrs(br_table ES:ElemSegment IS, DEPTH, M) => br_table elemSegment2Indices(ES, DEPTH, M) #unfoldInstrs(IS, DEPTH, M) + + syntax ElemSegment ::= elemSegment2Indices( ElemSegment, Int, Map ) [function] + // ------------------------------------------------------------------------------ + rule elemSegment2Indices(.ElemSegment , _DEPTH, _M) => .ElemSegment + rule elemSegment2Indices(ID:Identifier ES, DEPTH, M) => DEPTH -Int {M [ ID ]}:>Int -Int 1 elemSegment2Indices(ES, DEPTH, M) + rule elemSegment2Indices(E ES, DEPTH, M) => E elemSegment2Indices(ES, DEPTH, M) [owise] +``` + +There are several syntactic sugars for block instructions, some of which may have identifiers. +The same identifier can optionally be repeated at the end of the block instruction (to mark which block is ending) and on the branches in an `if`. +`if` blocks may omit the `else`-branch, as long as the type declaration is empty. + +```k + rule #unfoldInstrs( (block ID:Identifier TDS IS end _OID' => block TDS IS end) _IS', DEPTH, M => M [ ID <- DEPTH ]) + rule #unfoldInstrs(block TDS:TypeDecls IS end IS', DEPTH, M) => block TDS #unfoldInstrs(IS, DEPTH +Int 1, M) end #unfoldInstrs(IS', DEPTH, M) + + rule #unfoldInstrs( (loop ID:Identifier TDS IS end _OID' => loop TDS IS end) _IS', DEPTH, M => M [ ID <- DEPTH ]) + rule #unfoldInstrs(loop TDS:TypeDecls IS end IS', DEPTH, M) => loop TDS #unfoldInstrs(IS, DEPTH +Int 1, M) end #unfoldInstrs(IS', DEPTH, M) + + // TODO: Only unfold empty else-branch if the type declaration is empty. + rule #unfoldInstrs( (if ID:Identifier TDS IS end _OID'' => if ID TDS IS else .Instrs end) _IS'', _DEPTH, _M) + rule #unfoldInstrs( (if TDS IS end _OID'' => if TDS IS else .Instrs end) _IS'', _DEPTH, _M) + rule #unfoldInstrs( (if ID:Identifier TDS IS else _OID':OptionalId IS' end _OID'' => if TDS IS else IS' end) _IS'', DEPTH, M => M [ ID <- DEPTH ]) + rule #unfoldInstrs(if TDS IS else IS' end IS'', DEPTH, M) => if TDS #unfoldInstrs(IS, DEPTH +Int 1, M) else #unfoldInstrs(IS', DEPTH +Int 1, M) end #unfoldInstrs(IS'', DEPTH, M) +``` + +#### Folded Instructions + +```k + rule #unfoldInstrs(( PI:PlainInstr IS:Instrs ):FoldedInstr IS', DEPTH, M) + => (#unfoldInstrs(IS , DEPTH, M) + appendInstrs #unfoldInstrs(PI .Instrs, DEPTH, M)) + appendInstrs #unfoldInstrs(IS' , DEPTH, M) + rule #unfoldInstrs(( PI:PlainInstr ):FoldedInstr IS', DEPTH, M) + => #unfoldInstrs(PI .Instrs, DEPTH, M) + appendInstrs #unfoldInstrs(IS' , DEPTH, M) +``` + +Another type of folded instruction is control flow blocks wrapped in parentheses, in which case the `end` keyword is omitted. + +```k + rule #unfoldInstrs(((block ID:Identifier TDS IS) => block ID TDS IS end) _IS', _DEPTH, _M) + rule #unfoldInstrs(((block TDS IS) => block TDS IS end) _IS', _DEPTH, _M) + + rule #unfoldInstrs(((loop ID:Identifier TDS IS) => loop ID TDS IS end) _IS', _DEPTH, _M) + rule #unfoldInstrs(((loop TDS IS) => loop TDS IS end) _IS', _DEPTH, _M) + + rule #unfoldInstrs(((if OID:OptionalId TDS COND (then IS)) => (if OID TDS COND (then IS) (else .Instrs))) _IS'', _DEPTH, _M) + rule #unfoldInstrs(((if ID:Identifier TDS COND (then IS) (else IS')) IS'':Instrs) => (COND appendInstrs if ID TDS IS else IS' end IS''), _DEPTH, _M) + rule #unfoldInstrs(((if TDS COND (then IS) (else IS')) IS'':Instrs) => (COND appendInstrs if TDS IS else IS' end IS''), _DEPTH, _M) +``` + +#### Structuring Modules + +The text format allows definitions to appear in any order in a module. +In the abstract format, the module is a record, one for each type of definition. +The following functions convert the text format module, given as a list of definitions, into the abstract format. +In doing so, the respective ordering of all types of definitions are preserved. + +```k + syntax Stmts ::= structureModules ( Stmts ) [function] + // ------------------------------------------------------ + rule structureModules((module OID:OptionalId DS) SS) => structureModule(DS, OID) structureModules(SS) + rule structureModules(.Stmts) => .Stmts + rule structureModules(S SS) => S structureModules(SS) [owise] + + syntax ModuleDecl ::= structureModule ( Defns , OptionalId ) [function] + | #structureModule ( Defns , ModuleDecl ) [function] + // ------------------------------------------------------------------------ + rule structureModule(DEFNS, OID) => #structureModule(#reverseDefns(DEFNS, .Defns), #emptyModule(OID)) + + rule #structureModule(.Defns, SORTED_MODULE) => SORTED_MODULE + + rule #structureModule((T:TypeDefn DS:Defns => DS), #module(... types: TS => T TS)) + rule #structureModule((I:ImportDefn DS:Defns => DS), #module(... importDefns: IS => I IS)) + rule #structureModule((X:FuncDefn DS:Defns => DS), #module(... funcs: FS => X FS)) + rule #structureModule((X:GlobalDefn DS:Defns => DS), #module(... globals: GS => X GS)) + rule #structureModule((T:TableDefn DS:Defns => DS), #module(... tables: TS => T TS)) + rule #structureModule((M:MemoryDefn DS:Defns => DS), #module(... mems: MS => M MS)) + rule #structureModule((E:ExportDefn DS:Defns => DS), #module(... exports: ES => E ES)) + rule #structureModule((I:DataDefn DS:Defns => DS), #module(... data: IS => I IS)) + rule #structureModule((I:ElemDefn DS:Defns => DS), #module(... elem: IS => I IS)) + rule #structureModule((S:StartDefn DS:Defns => DS), #module(... start: .Defns => S .Defns)) + + syntax Defns ::= #reverseDefns(Defns, Defns) [function] + // ------------------------------------------------------- + rule #reverseDefns( .Defns , ACC) => ACC + rule #reverseDefns(D:Defn DS:Defns, ACC) => #reverseDefns(DS, D ACC) +``` + +### Replacing Identifiers and Unfolding Instructions + +The desugaring is done on the module level. +First, if the program is just a list of definitions, that's an abbreviation for a single module. +If not, we distribute the text to abstract transformation out over all the statements in the file. + +**TODO:** + +- Get rid of inline type declarations. + The text format allows specifying the type directly in the function header using the `param` and `result` keywords. + However, these will either be desugared to a new top-level `type` declaration or they must match an existing one. + In the abstract format, a function's type is a pointer to a top-level `type` declaration. + This could either be done by doing an initial pass to gather all type declarations, or they could be desugared locally, which is similar to what we do currently: `(func (type X) TDS:TDecls ... ) => (func (type X))` and `(func TDS:TDecls ...) => (type TDECLS) (func (type NEXT_TYPE_ID))`. +- Remove module names. +- Give the text format and abstract format different sorts, and have `text2abstract` handle the conversion. + Then identifiers and other text-only constructs can be completely removed from the abstract format. + + +#### The Context + +The `Context` contains information of how to map text-level identifiers to corresponding indices. +Record updates can currently not be done in a function rule which also does other updates, so we have helper functions to update specific fields. + +```k + syntax Context ::= ctx(localIds: Map, globalIds: Map, funcIds: Map, typeIds: Map) + | #freshCtx ( ) [function, total] + | #updateLocalIds ( Context , Map ) [function, total] + | #updateLocalIdsAux ( Context , Map , Bool ) [function, total] + | #updateFuncIds ( Context , Map ) [function, total] + | #updateFuncIdsAux ( Context , Map , Bool ) [function, total] + // ------------------------------------------------------------------------------------- + rule #freshCtx ( ) => ctx(... localIds: .Map, globalIds: .Map, funcIds: .Map, typeIds: .Map) + + rule #updateLocalIds(C, M) => #updateLocalIdsAux(C, M, false) + rule #updateLocalIdsAux(ctx(... localIds: (_ => M)), M, false => true) + rule #updateLocalIdsAux(C, _, true) => C + + rule #updateFuncIds(C, M) => #updateFuncIdsAux(C, M, false) + rule #updateFuncIdsAux(ctx(... funcIds: (_ => M)), M, false => true) + rule #updateFuncIdsAux(C, _, true) => C +``` + +#### Traversing the Full Program + +The program is traversed in full once, context being gathered along the way. +Since we do not have polymorphic functions available, we define one function per sort of syntactic construct we need to traverse, and for each type of list we encounter. + +```k + syntax Stmt ::= "#t2aStmt" "<" Context ">" "(" Stmt ")" [function] + syntax ModuleDecl ::= "#t2aModuleDecl" "<" Context ">" "(" ModuleDecl ")" [function] + syntax ModuleDecl ::= "#t2aModule" "<" Context ">" "(" ModuleDecl ")" [function] + syntax Defn ::= "#t2aDefn" "<" Context ">" "(" Defn ")" [function] + // ------------------------------------------------------------------------------------ + rule text2abstract(DS:Defns) => text2abstract(( module DS ) .Stmts) + rule text2abstract(SS) => #t2aStmts<#freshCtx()>(structureModules(unfoldStmts(SS))) [owise] + + rule #t2aStmt(M:ModuleDecl) => #t2aModuleDecl(M) + rule #t2aStmt(D:Defn) => #t2aDefn(D) + rule #t2aStmt(I:Instr) => #t2aInstr(I) + rule #t2aStmt<_>(S) => S [owise] + + rule #t2aModuleDecl<_>(#module(... types: TS, funcs: FS, globals: GS, importDefns: IS) #as M) => #t2aModule(M) + rule #t2aModule(#module(... types: TS, funcs: FS, tables: TABS, mems: MS, globals: GS, elem: EL, data: DAT, start: S, importDefns: IS, exports: ES, metadata: #meta(... id: OID))) + => #module( ... types: #t2aDefns(TS) + , funcs: #t2aDefns(FS) + , tables: #t2aDefns(TABS) + , mems: #t2aDefns(MS) + , globals: #t2aDefns(GS) + , elem: #t2aDefns(EL) + , data: #t2aDefns(DAT) + , start: #t2aDefns(S) + , importDefns: #t2aDefns(IS) + , exports: #t2aDefns(ES) + , metadata: #meta(... id: OID, funcIds: FIDS, filename: .String) + ) +``` + +#### Types + +```k + rule #t2aDefn<_>((type OID (func TDECLS))) => #type(... type: asFuncType(TDECLS), metadata: OID) +``` + +#### Imports + +```k + rule #t2aDefn(( import MOD NAME (func OID:OptionalId (type ID:Identifier) ))) => #import(MOD, NAME, #funcDesc(... id: OID:OptionalId, type: {TIDS[ID]}:>Int)) + rule #t2aDefn(( import MOD NAME (func OID:OptionalId (type ID:Identifier) _:TypeDecls))) => #import(MOD, NAME, #funcDesc(... id: OID:OptionalId, type: {TIDS[ID]}:>Int)) + rule #t2aDefn<_ >(( import MOD NAME (func OID:OptionalId (type IDX:Int) ))) => #import(MOD, NAME, #funcDesc(... id: OID:OptionalId, type: IDX)) + rule #t2aDefn<_ >(( import MOD NAME (func OID:OptionalId (type IDX:Int ) _:TypeDecls))) => #import(MOD, NAME, #funcDesc(... id: OID:OptionalId, type: IDX)) + + rule #t2aDefn<_ >(( import MOD NAME (global OID:OptionalId TYP:TextFormatGlobalType))) => #import(MOD, NAME, #globalDesc(... id: OID:OptionalId, type: asGMut(TYP))) + + rule #t2aDefn<_ >(( import MOD NAME (table OID:OptionalId LIM:TextLimits funcref))) => #import(MOD, NAME, #tableDesc(... id: OID:OptionalId, type: t2aLimits(LIM))) + rule #t2aDefn<_ >(( import MOD NAME (memory OID:OptionalId LIM:TextLimits ))) => #import(MOD, NAME, #memoryDesc(... id: OID:OptionalId, type: t2aLimits(LIM))) +``` + +#### Globals + +```k + rule #t2aDefn(#global(... type: GTYP, init: IS, metadata: OID)) => #global(... type: GTYP, init: #t2aInstrs(IS), metadata: OID) +``` + +#### Functions + +After unfolding, each type use in a function starts with an explicit reference to a module-level function. + +```k + rule #t2aDefn(( func OID:OptionalId T:TypeUse LS:LocalDecls IS:Instrs )) + => #func(... type: typeUse2typeIdx(T, TIDS) + , locals: locals2vectype(LS) + , body: #t2aInstrs <#updateLocalIds(C, #ids2Idxs(T, LS))>(IS) + , metadata: #meta(... id: OID, localIds: #ids2Idxs(T, LS)) + ) + + syntax Int ::= typeUse2typeIdx ( TypeUse , Map ) [function] + // ----------------------------------------------------------- + rule typeUse2typeIdx( (type IDX ) _:TypeDecls => (type IDX), _TIDS ) + + rule typeUse2typeIdx( (type ID:Identifier ) , TIDS ) => {TIDS [ ID ]}:>Int + rule typeUse2typeIdx( (type IDX:Int ) , _TIDS ) => IDX + + syntax VecType ::= locals2vectype ( LocalDecls ) [function] + | #locals2vectype ( LocalDecls , ValTypes ) [function] + // ----------------------------------------------------------------------- + rule locals2vectype(LDECLS) => #locals2vectype(LDECLS, .ValTypes) + + rule #locals2vectype(.LocalDecls , VTYPES) => [ VTYPES ] + rule #locals2vectype(local VTYPES':ValTypes LDECLS:LocalDecls , VTYPES) => #locals2vectype(LDECLS , VTYPES + VTYPES') + rule #locals2vectype(local _ID:Identifier VTYPE:ValType LDECLS:LocalDecls , VTYPES) => #locals2vectype(LDECLS , VTYPES + VTYPE .ValTypes) +``` + +#### Tables + +```k + rule #t2aDefn<_>((table OID:OptionalId LIMITS:TextLimits funcref )) => #table(... limits: t2aLimits(LIMITS), metadata: OID) +``` + +#### Memories + +```k + rule #t2aDefn<_>((memory OID:OptionalId LIMITS:TextLimits )) => #memory(... limits: t2aLimits(LIMITS), metadata: OID) +``` + +```k + syntax Limits ::= t2aLimits(TextLimits) [function, total] + // -------------------------------------------------------------- + rule t2aLimits(MIN:Int) => #limitsMin(MIN) + rule t2aLimits(MIN:Int MAX:Int) => #limits(MIN, MAX) +``` + +#### Start Function + +```k + rule #t2aDefn(( start ID:Identifier )) => #start({FIDS[ID]}:>Int) + requires ID in_keys(FIDS) + rule #t2aDefn<_>(( start I:Int )) => #start(I) +``` + +#### Element Segments + +Wasm currently supports only one table, so we do not need to resolve any identifiers. + +```k + rule #t2aDefn(( elem _:Index (offset IS) ES )) => #elem(0, #t2aInstrs(IS), #t2aElemSegment(ES) ) + + syntax Ints ::= "#t2aElemSegment" "<" Context ">" "(" ElemSegment ")" [function] + // -------------------------------------------------------------------------------- + rule #t2aElemSegment(ID:Identifier ES) => {FIDS[ID]}:>Int #t2aElemSegment(ES) + requires ID in_keys(FIDS) + rule #t2aElemSegment(I:Int ES) => I #t2aElemSegment(ES) + rule #t2aElemSegment<_C>(.ElemSegment) => .Ints +``` + +#### Data Segments + +Wasm currently supports only one memory, so we do not need to resolve any identifiers. + +```k + rule #t2aDefn(( data _:Index (offset IS) DS )) => #data(0, #t2aInstrs(IS), #DS2Bytes(DS)) +``` + +#### Exports + +```k + rule #t2aDefn(( export ENAME ( func ID:Identifier ) )) => #export(ENAME, {IDS[ID]}:>Int) requires ID in_keys(IDS) + rule #t2aDefn(( export ENAME ( global ID:Identifier ) )) => #export(ENAME, {IDS[ID]}:>Int) requires ID in_keys(IDS) + rule #t2aDefn<_>(( export ENAME ( func I:Int ) )) => #export(ENAME, I) + rule #t2aDefn<_>(( export ENAME ( global I:Int ) )) => #export(ENAME, I) + + rule #t2aDefn<_>(( export ENAME ( table _ ) )) => #export(ENAME, 0) + rule #t2aDefn<_>(( export ENAME ( memory _ ) )) => #export(ENAME, 0) +``` + +#### Other Definitions + +```k + rule #t2aDefn<_C>(D:Defn) => D [owise] +``` + +#### Instructions + +```k + syntax Instr ::= "#t2aInstr" "<" Context ">" "(" Instr ")" [function] + // --------------------------------------------------------------------- + rule #t2aInstr(( PI:PlainInstr IS:Instrs ):FoldedInstr) => ({#t2aInstr(PI)}:>PlainInstr #t2aInstrs(IS)) + rule #t2aInstr(( PI:PlainInstr ):FoldedInstr) => #t2aInstr(PI) +``` + +#### Basic Instructions + +```k + rule #t2aInstr<_>(unreachable) => unreachable + rule #t2aInstr<_>(nop) => nop + rule #t2aInstr<_>(br L:Int) => #br(L) + rule #t2aInstr<_>(br_if L:Int) => #br_if(L) + rule #t2aInstr<_>(br_table ES) => #br_table(elemSegment2Ints(ES)) + rule #t2aInstr<_>(return) => return + + rule #t2aInstr(call ID:Identifier) => #call({FIDS[ID]}:>Int) + requires ID in_keys(FIDS) + rule #t2aInstr<_> (call I:Int) => #call(I) + + rule #t2aInstr<_>(call_indirect TU) => call_indirect TU +``` + +#### Parametric Instructions + +```k + rule #t2aInstr<_>(drop) => drop + rule #t2aInstr<_>(select) => select +``` + +#### Variable Instructions + +```k + rule #t2aInstr(local.get ID:Identifier) => #local.get({LIDS[ID]}:>Int) + requires ID in_keys(LIDS) + rule #t2aInstr(local.set ID:Identifier) => #local.set({LIDS[ID]}:>Int) + requires ID in_keys(LIDS) + rule #t2aInstr(local.tee ID:Identifier) => #local.tee({LIDS[ID]}:>Int) + requires ID in_keys(LIDS) + + rule #t2aInstr<_>(local.get I:Int) => #local.get(I) + rule #t2aInstr<_>(local.set I:Int) => #local.set(I) + rule #t2aInstr<_>(local.tee I:Int) => #local.tee(I) + + rule #t2aInstr(global.get ID:Identifier) => #global.get({GIDS[ID]}:>Int) + requires ID in_keys(GIDS) + rule #t2aInstr(global.set ID:Identifier) => #global.set({GIDS[ID]}:>Int) + requires ID in_keys(GIDS) + + rule #t2aInstr<_>(global.get I:Int) => #global.get(I) + rule #t2aInstr<_>(global.set I:Int) => #global.set(I) +``` + +#### Memory Instructions + +`MemArg`s can optionally be passed to `load` and `store` operations. +The `offset` parameter is added to the the address given on the stack, resulting in the "effective address" to store to or load from. +The `align` parameter is for optimization only and is not allowed to influence the semantics, so we ignore it. + +```k + rule #t2aInstr<_>(ITYPE:IValType.OP:StoreOp) => #store(ITYPE, OP, 0) + rule #t2aInstr<_>(ITYPE:IValType.OP:StoreOp MemArg) => #store(ITYPE, OP, #getOffset(MemArg)) + rule #t2aInstr<_>(FTYPE:FValType.OP:StoreOp) => #store(FTYPE, OP, 0) + rule #t2aInstr<_>(FTYPE:FValType.OP:StoreOp MemArg) => #store(FTYPE, OP, #getOffset(MemArg)) + rule #t2aInstr<_>(ITYPE:IValType.OP:LoadOp) => #load(ITYPE, OP, 0) + rule #t2aInstr<_>(ITYPE:IValType.OP:LoadOp MemArg) => #load(ITYPE, OP, #getOffset(MemArg)) + rule #t2aInstr<_>(FTYPE:FValType.OP:LoadOp) => #load(FTYPE, OP, 0) + rule #t2aInstr<_>(FTYPE:FValType.OP:LoadOp MemArg) => #load(FTYPE, OP, #getOffset(MemArg)) + rule #t2aInstr<_>(memory.size) => memory.size + rule #t2aInstr<_>(memory.grow) => memory.grow + + syntax Int ::= #getOffset ( MemArg ) [function, total] + // ----------------------------------------------------------- + rule #getOffset( _:AlignArg) => 0 + rule #getOffset(offset= OS ) => OS + rule #getOffset(offset= OS _:AlignArg) => OS +``` + +#### Numeric Instructions + +```k + rule #t2aInstr<_>(ITYPE:IValType.const I) => ITYPE.const I + rule #t2aInstr<_>(FTYPE:FValType.const N) => FTYPE.const N + rule #t2aInstr<_>(ITYPE.OP:IUnOp) => ITYPE.OP + rule #t2aInstr<_>(FTYPE.OP:FUnOp) => FTYPE.OP + rule #t2aInstr<_>(ITYPE.OP:IBinOp) => ITYPE.OP + rule #t2aInstr<_>(FTYPE.OP:FBinOp) => FTYPE.OP + rule #t2aInstr<_>(ITYPE.OP:TestOp) => ITYPE.OP + rule #t2aInstr<_>(ITYPE.OP:IRelOp) => ITYPE.OP + rule #t2aInstr<_>(FTYPE.OP:FRelOp) => FTYPE.OP + rule #t2aInstr<_>(ATYPE.OP:CvtOp) => ATYPE.OP +``` + +#### Block Instructions + +There are several formats of block instructions, and the text-to-abstract transformation must be distributed over them. +At this point, all branching identifiers should have been resolved, so we can remove the id. + +```k + rule #t2aInstr( block _OID:OptionalId TDS:TypeDecls IS end _OID') => #block(gatherTypes(result, TDS), #t2aInstrs(IS), .Int) + rule #t2aInstr( loop _OID:OptionalId TDS IS end _OID') => #loop(gatherTypes(result, TDS), #t2aInstrs(IS), .Int) + rule #t2aInstr( if _OID:OptionalId TDS IS else _OID':OptionalId IS' end _OID'') => #if(gatherTypes(result, TDS), #t2aInstrs(IS), #t2aInstrs(IS'), .Int) +``` + +#### KWasm Administrative Instructions + +The following instructions are not part of the official Wasm text format. +They are currently supported in KWasm text files, but may be deprecated. + +```k + rule #t2aInstr<_C>(trap) => trap + + rule #t2aInstr(#block(VT:VecType, IS:Instrs, BLOCKINFO)) => #block(VT, #t2aInstrs(IS), BLOCKINFO) + + rule #t2aInstr<_>(init_local I V) => init_local I V + rule #t2aInstr<_>(init_locals VS) => init_locals VS +``` + +#### List Functions + +The following are helper functions. +They distribute the text-to-abstract functions above over lists. + +```k + syntax Stmts ::= "#t2aStmts" "<" Context ">" "(" Stmts ")" [function] + syntax Defns ::= "#t2aDefns" "<" Context ">" "(" Defns ")" [function] + syntax Instrs ::= "#t2aInstrs" "<" Context ">" "(" Instrs ")" [function] + // ------------------------------------------------------------------------------------ + rule #t2aStmts(S:Stmt SS:Stmts) => #t2aStmt(S) #t2aStmts(SS) + rule #t2aStmts<_>(.Stmts) => .Stmts + + rule #t2aDefns(D:Defn DS:Defns) => #t2aDefn(D) #t2aDefns(DS) + rule #t2aDefns<_>(.Defns) => .Defns + + rule #t2aInstrs(I:Instr IS:Instrs) => #t2aInstr(I) #t2aInstrs(IS) + rule #t2aInstrs<_>(.Instrs) => .Instrs +``` + +#### Functions for Gathering Context + +The following are helper functions for gathering and updating context. + +```k + syntax Map ::= #idcTypes ( Defns ) [function] + | #idcTypesAux ( Defns, Int, Map ) [function] + // ---------------------------------------------------------- + rule #idcTypes(DEFNS) => #idcTypesAux(DEFNS, 0, .Map) + + rule #idcTypesAux((type ID:Identifier (func _)) TS => TS, IDX => IDX +Int 1, ACC => ACC [ ID <- IDX ]) requires notBool ID in_keys(ACC) + rule #idcTypesAux((type (func _)) TS => TS, IDX => IDX +Int 1, _ACC) + rule #idcTypesAux(.Defns, _, ACC) => ACC + + syntax Map ::= #idcFuncs ( Defns, Defns ) [function] + | #idcFuncsAux ( Defns, Defns, Int, Map ) [function] + // ----------------------------------------------------------------- + rule #idcFuncs(IMPORTS, DEFNS) => #idcFuncsAux(IMPORTS, DEFNS, 0, .Map) + + rule #idcFuncsAux((import _ _ (func ID:Identifier _)) IS => IS, _FS, IDX => IDX +Int 1, ACC => ACC [ ID <-IDX ]) requires notBool ID in_keys(ACC) + rule #idcFuncsAux((import _ _ (func _)) IS => IS, _FS, IDX => IDX +Int 1, _ACC) + rule #idcFuncsAux(_I IS => IS, _FS, _IDX , _ACC) [owise] + + rule #idcFuncsAux(.Defns, (func ID:Identifier _) FS => FS, IDX => IDX +Int 1, ACC => ACC [ ID <- IDX ]) requires notBool ID in_keys(ACC) + rule #idcFuncsAux(.Defns, (func _:FuncSpec) FS => FS, IDX => IDX +Int 1, _ACC) + rule #idcFuncsAux(.Defns, .Defns, _, ACC) => ACC + + syntax Map ::= #idcGlobals ( Defns, Defns ) [function] + | #idcGlobalsAux ( Defns, Defns, Int, Map ) [function] + // ------------------------------------------------------------------- + rule #idcGlobals(IMPORTS, DEFNS) => #idcGlobalsAux(IMPORTS, DEFNS, 0, .Map) + + rule #idcGlobalsAux((import _ _ (global ID:Identifier _)) IS => IS, _GS, IDX => IDX +Int 1, ACC => ACC [ ID <-IDX ]) requires notBool ID in_keys(ACC) + rule #idcGlobalsAux((import _ _ (global _)) IS => IS, _GS, IDX => IDX +Int 1, _ACC) + rule #idcGlobalsAux(_I IS => IS, _GS, _IDX , _ACC) [owise] + + rule #idcGlobalsAux(.Defns, #global(... metadata: ID:Identifier) GS => GS, IDX => IDX +Int 1, ACC => ACC [ ID <- IDX ]) requires notBool ID in_keys(ACC) + rule #idcGlobalsAux(.Defns, #global(...) GS => GS, IDX => IDX +Int 1, _ACC) [owise] + rule #idcGlobalsAux(.Defns, .Defns, _, ACC) => ACC + + syntax Map ::= #ids2Idxs(TypeUse, LocalDecls) [function, total] + | #ids2Idxs(Int, TypeUse, LocalDecls) [function, total] + // ------------------------------------------------------------------------- + rule #ids2Idxs(TU, LDS) => #ids2Idxs(0, TU, LDS) + + rule #ids2Idxs(_, .TypeDecls, .LocalDecls) => .Map + rule #ids2Idxs(N, (type _) , LDS) => #ids2Idxs(N, .TypeDecls, LDS) + rule #ids2Idxs(N, (type _) TDS, LDS) => #ids2Idxs(N, TDS , LDS) + + rule #ids2Idxs(N, (param ID:Identifier _) TDS, LDS) + => (ID |-> N) #ids2Idxs(N +Int 1, TDS, LDS) + rule #ids2Idxs(N, (param _) TDS, LDS) => #ids2Idxs(N +Int 1, TDS, LDS) + rule #ids2Idxs(N, _TD:TypeDecl TDS, LDS) => #ids2Idxs(N , TDS, LDS) [owise] + + rule #ids2Idxs(N, .TypeDecls, local ID:Identifier _ LDS:LocalDecls) + => (ID |-> N) #ids2Idxs(N +Int 1, .TypeDecls, LDS) + rule #ids2Idxs(N, .TypeDecls, _LD:LocalDecl LDS) => #ids2Idxs(N +Int 1, .TypeDecls, LDS) [owise] +``` + +```k +endmodule +``` diff --git a/docs/runtimeverification-wasm-semantics/wasm.md b/docs/runtimeverification-wasm-semantics/wasm.md new file mode 100644 index 000000000..914c06d68 --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/wasm.md @@ -0,0 +1,1430 @@ +WebAssembly State and Semantics +=============================== + +```k +require "data.md" +require "numeric.md" + +module WASM-SYNTAX + imports WASM-DATA-SYNTAX + imports WASM-COMMON-SYNTAX + imports WASM-NUMERIC-SYNTAX +endmodule +``` + +Common Syntax +------------- + +```k +module WASM-COMMON-SYNTAX + imports WASM-DATA-COMMON-SYNTAX + imports WASM-NUMERIC +``` + +### Text Format + +WebAssmebly code consists of instruction sequences. +The basic abstract syntax contains only the `instr` syntax production. +The text format also specifies the `plaininstr`, which corresponds almost exactly to the the `instr` production. + +Most instructions are plain instructions. + +```k + syntax Instr ::= PlainInstr + // --------------------------- +``` + +### Sequencing + +WebAssembly code consists of sequences of statements (`Stmts`). +In this file we define 3 types of statements: + +- Instruction (`Instr`): Administrative or computational instructions. +- Definitions (`Defn`) : The declarations of `type`, `func`, `table`, `mem` etc. +- The Declaration of a module. + +The sorts `EmptyStmt` and `EmptyStmts` are administrative so that the empty list of `Stmt`, `Instr`, or `Defn` has a unique least sort. + +```k + syntax EmptyStmt + // ---------------- + + syntax Instr ::= EmptyStmt + syntax Defn ::= EmptyStmt + syntax Stmt ::= Instr | Defn + // ----------------------------- + + syntax EmptyStmts ::= List{EmptyStmt , ""} [klabel(listStmt), symbol] + syntax Instrs ::= List{Instr , ""} [klabel(listStmt)] + syntax Defns ::= List{Defn , ""} [klabel(listStmt)] + syntax Stmts ::= List{Stmt , ""} [klabel(listStmt)] + // ------------------------------------------------------------- + + syntax Instrs ::= EmptyStmts + syntax Defns ::= EmptyStmts + syntax Stmts ::= Instrs | Defns + // -------------------------------- +``` + +### Instructions + +**TODO**: Implement `Float` in the format of `-nan`, `nan:0x n:hexnum` and `hexfloat`. + +```k + syntax PlainInstr ::= IValType "." "const" WasmInt [klabel(aIConst), symbol] + | FValType "." "const" Number [klabel(aFConst), symbol] + | IValType "." IUnOp [klabel(aIUnOp), symbol] + | FValType "." FUnOp [klabel(aFUnOp), symbol] + | IValType "." IBinOp [klabel(aIBinOp), symbol] + | FValType "." FBinOp [klabel(aFBinOp), symbol] + | IValType "." TestOp [klabel(aTestOp), symbol] + | IValType "." IRelOp [klabel(aIRelOp), symbol] + | FValType "." FRelOp [klabel(aFRelOp), symbol] + | ValType "." CvtOp [klabel(aCvtOp), symbol] + | "drop" [klabel(aDrop), symbol] + | "select" [klabel(aSelect), symbol] + | "nop" [klabel(aNop), symbol] + | "unreachable" [klabel(aUnreachable), symbol] + | "return" [klabel(aReturn), symbol] + | "memory.size" [klabel(aSize), symbol] + | "memory.grow" [klabel(aGrow), symbol] + // ----------------------------------- + + syntax PlainInstr ::= "call_indirect" TypeUse + syntax TypeUse ::= TypeDecls + | "(type" Index ")" [prefer] // TODO: Remove and move to wasm-text. + | "(type" Index ")" TypeDecls + syntax TypeKeyWord ::= "param" | "result" + syntax TypeDecl ::= "(" TypeDecl ")" [bracket] + | TypeKeyWord ValTypes + | "param" Identifier ValType + syntax TypeDecls ::= List{TypeDecl , ""} [klabel(listTypeDecl)] + // ----------------------------------------------------------------- + + syntax StoreOp ::= "store" [klabel(storeOpStore), symbol] + | "store8" [klabel(storeOpStore8), symbol] + | "store16" [klabel(storeOpStore16), symbol] + | "store32" [klabel(storeOpStore32), symbol] + syntax LoadOp ::= "load" [klabel(loadOpLoad), symbol] + | "load8_u" [klabel(loadOpLoad8_u), symbol] + | "load16_u" [klabel(loadOpLoad16_u), symbol] + | "load32_u" [klabel(loadOpLoad32_u), symbol] + | "load8_s" [klabel(loadOpLoad8_s), symbol] + | "load16_s" [klabel(loadOpLoad16_s), symbol] + | "load32_s" [klabel(loadOpLoad32_s), symbol] + // -------------------------------------------------------------- +``` + +### Definitions at the Module Level + +```k + syntax Defn ::= TypeDefn + | GlobalDefn + | FuncDefn + | TableDefn + | MemoryDefn + | ElemDefn + | DataDefn + | StartDefn + | ExportDefn + | ImportDefn + // -------------------------- +``` + +The following are kept abstract, and can be extended in other formats, such as the text format. + +```k + syntax TypeDefn + syntax GlobalDefn + syntax FuncDefn + syntax TableDefn + syntax MemoryDefn + syntax ElemDefn + syntax DataDefn + syntax StartDefn + syntax ImportDefn + syntax ExportDefn + // ----------------- +``` + +```k +endmodule +``` + +Semantics +--------- + +```k +module WASM + imports WASM-COMMON-SYNTAX + imports WASM-DATA + imports WASM-NUMERIC +``` + +### Configuration + +```k + configuration + + .K + .ValStack + + .Map + .Int + + .Map + .Map + + + 0 + .Map + .Map + 0 + .Map + 0 + .Map + .Map + .Map + .Map + .Map + .Map + 0 + + .String + + .Map + .Map + + + + 0 + + + + 0 + .Instrs:Instrs + .Type + .Type + 0 + + + .Map + + + + 0 + + + 0 + .Int + 0 + .Map + + + 0 + + + 0 + .Int + 0 + .Bytes + + + 0 + + + 0 + undefined + .Mut + + + 0 + + true + +``` + +### Assumptions and invariants + +Integers in K are unbounded. +As an invariant, however, for any integer `< iNN > I:Int` on the stack, `I` is between 0 and `#pow(NN) - 1`. +That way, unsigned instructions can make use of `I` directly, whereas signed instructions may need `#signed(iNN, I)`. + +The highest address in a memory instance divided by the `#pageSize()` constant (defined below) may not exceed the value in the `` cell, if present. + +Since memory data is bytes, all integers in the `Map` in the `` cell are bounded to be between 1 and 255, inclusive. +All places in the data with no entry are considered zero bytes. + +### Translations to Abstract Syntax + +Before execution, the program is translated from the text-format concrete syntax tree into an abstract syntax tree using the following function. +It's full definition is found in the `wasm-text.md` file. + +```k + syntax Stmts ::= text2abstract ( Stmts ) [function] + // --------------------------------------------------- +``` + +Instructions +------------ + +### Sequencing + +```k + syntax K ::= sequenceStmts ( Stmts ) [function] + | sequenceDefns ( Defns ) [function] + | sequenceInstrs ( Instrs ) [function] + // ------------------------------------------------- + rule sequenceStmts(.Stmts) => . + rule sequenceStmts(S SS ) => S ~> sequenceStmts(SS) + + rule sequenceDefns(.Defns) => . + rule sequenceDefns(D DS ) => D ~> sequenceDefns(DS) + + rule sequenceInstrs(.Instrs) => . + rule sequenceInstrs(I IS ) => I ~> sequenceInstrs(IS) +``` + +### Traps + +`trap` is the error mechanism of Wasm. +Traps cause all execution to halt, and can not be caught from within Wasm. +We emulate this by consuming everything in the `` cell that is not a `Stmt`. +Statements are not part of Wasm semantics, but rather of the embedder, and is where traps can be caught. +Thus, a `trap` "bubbles up" (more correctly, to "consumes the continuation") until it reaches a statement which is not an `Instr` or `Def`. + +```k + syntax Instr ::= "trap" + // ----------------------- + rule trap ~> (_L:Label => .) ... + rule trap ~> (_F:Frame => .) ... + rule trap ~> (_I:Instr => .) ... + rule trap ~> (_D:Defn => .) ... +``` + +When a single value ends up on the instruction stack (the `` cell), it is moved over to the value stack (the `` cell). +If the value is the special `undefined`, then `trap` is generated instead. + +```k + rule undefined => trap ... + rule V:Val => . ... + VALSTACK => V : VALSTACK + requires V =/=K undefined +``` + +Common Operator Machinery +------------------------- + +Common machinery for operators is supplied here, based on their categorization. +This allows us to give purely functional semantics to many of the opcodes. + +### Constants + +Constants are moved directly to the value stack. +Function `#unsigned` is called on integers to allow programs to use negative numbers directly. + +```k + rule ITYPE:IValType . const VAL => #chop (< ITYPE > VAL) ... + rule FTYPE:FValType . const VAL => #round( FTYPE , VAL) ... +``` + +### Unary Operations + +When a unary operator is the next instruction, the single argument is loaded from the `` automatically. +An `*UnOp` operator always produces a result of the same type as its operand. + +```k + rule ITYPE . UOP:IUnOp => ITYPE . UOP C1 ... + < ITYPE > C1 : VALSTACK => VALSTACK + rule FTYPE . UOP:FUnOp => FTYPE . UOP C1 ... + < FTYPE > C1 : VALSTACK => VALSTACK +``` + +### Binary Operations + +When a binary operator is the next instruction, the two arguments are loaded from the `` automatically. + +```k + rule ITYPE . BOP:IBinOp => ITYPE . BOP C1 C2 ... + < ITYPE > C2 : < ITYPE > C1 : VALSTACK => VALSTACK + rule FTYPE . BOP:FBinOp => FTYPE . BOP C1 C2 ... + < FTYPE > C2 : < FTYPE > C1 : VALSTACK => VALSTACK +``` + +### Test Operations + +When a test operator is the next instruction, the single argument is loaded from the `` automatically. + +```k + rule TYPE . TOP:TestOp => TYPE . TOP C1 ... + < TYPE > C1 : VALSTACK => VALSTACK +``` + +### Relationship Operations + +When a relationship operator is the next instruction, the two arguments are loaded from the `` automatically. + +```k + rule ITYPE . ROP:IRelOp => ITYPE . ROP C1 C2 ... + < ITYPE > C2 : < ITYPE > C1 : VALSTACK => VALSTACK + rule FTYPE . ROP:FRelOp => FTYPE . ROP C1 C2 ... + < FTYPE > C2 : < FTYPE > C1 : VALSTACK => VALSTACK +``` + +### Conversion Operations + +Conversion Operation convert constant elements at the top of the stack to another type. + +```k + rule TYPE:ValType . CVTOP:Cvti32Op => TYPE . CVTOP C1 ... + < i32 > C1 : VALSTACK => VALSTACK + + rule TYPE:ValType . CVTOP:Cvti64Op => TYPE . CVTOP C1 ... + < i64 > C1 : VALSTACK => VALSTACK + + rule TYPE:ValType . CVTOP:Cvtf32Op => TYPE . CVTOP C1 ... + < f32 > C1 : VALSTACK => VALSTACK + + rule TYPE:ValType . CVTOP:Cvtf64Op => TYPE . CVTOP C1 ... + < f64 > C1 : VALSTACK => VALSTACK +``` + +ValStack Operations +------------------- + +Operator `drop` removes a single item from the ``. +The `select` operator picks one of the second or third stack values based on the first. + +```k + rule drop => . ... + _ : VALSTACK => VALSTACK + + rule select => . ... + + < i32 > C : < TYPE > V2:Number : < TYPE > V1:Number : VALSTACK + => < TYPE > #if C =/=Int 0 #then V1 #else V2 #fi : VALSTACK + +``` + +Structured Control Flow +----------------------- + +`nop` does nothing. + +```k + rule nop => . ... +``` + +`unreachable` causes an immediate `trap`. + +```k + rule unreachable => trap ... +``` + +Labels are administrative instructions used to mark the targets of break instructions. +They contain the continuation to use following the label, as well as the original stack to restore. +The supplied type represents the values that should taken from the current stack. + +A block is the simplest way to create targets for break instructions (ie. jump destinations). +It simply executes the block then records a label with an empty continuation. + +```k + syntax Label ::= "label" VecType "{" Instrs "}" ValStack + // -------------------------------------------------------- + rule label [ TYPES ] { _ } VALSTACK' => . ... + VALSTACK => #take(lengthValTypes(TYPES), VALSTACK) ++ VALSTACK' + + syntax BlockMetaData ::= OptionalInt + // ------------------------------------ + + syntax Instr ::= #block(VecType, Instrs, BlockMetaData) [klabel(aBlock), symbol] + // -------------------------------------------------------------------------------- + rule #block(VECTYP, IS, _) => sequenceInstrs(IS) ~> label VECTYP { .Instrs } VALSTACK ... + VALSTACK => .ValStack +``` + +The `br*` instructions search through the instruction stack (the `` cell) for the correct label index. +Upon reaching it, the label itself is executed. + +Note that, unlike in the WebAssembly specification document, we do not need the special "context" operator here because the value and instruction stacks are separate. + +```k + syntax Instr ::= #br( Int ) [klabel(aBr), symbol] + // ------------------------------------------------- + rule #br(_IDX) ~> (_S:Stmt => .) ... + rule #br(0 ) ~> label [ TYPES ] { IS } VALSTACK' => sequenceInstrs(IS) ... + VALSTACK => #take(lengthValTypes(TYPES), VALSTACK) ++ VALSTACK' + rule #br(N:Int) ~> _L:Label => #br(N -Int 1) ... + requires N >Int 0 + + syntax Instr ::= "#br_if" "(" Int ")" [klabel(aBr_if), symbol] + // -------------------------------------------------------------- + rule #br_if(IDX) => #br(IDX) ... + < _TYPE > VAL : VALSTACK => VALSTACK + requires VAL =/=Int 0 + rule #br_if(_IDX) => . ... + < _TYPE > VAL : VALSTACK => VALSTACK + requires VAL ==Int 0 + + syntax Instr ::= "#br_table" "(" Ints ")" [klabel(aBr_table), symbol] + // --------------------------------------------------------------------- + rule #br_table(ES) => #br(#getInts(ES, minInt(VAL, #lenInts(ES) -Int 1))) ... + < _TYPE > VAL : VALSTACK => VALSTACK +``` + +Finally, we have the conditional and loop instructions. + +```k + syntax Instr ::= #if( VecType, then : Instrs, else : Instrs, blockInfo: BlockMetaData) [klabel(aIf), symbol] + // ------------------------------------------------------------------------------------------------------------ + rule #if(VECTYP, IS, _, _) => sequenceInstrs(IS) ~> label VECTYP { .Instrs } VALSTACK ... + < i32 > VAL : VALSTACK => VALSTACK + requires VAL =/=Int 0 + + rule #if(VECTYP, _, IS, _) => sequenceInstrs(IS) ~> label VECTYP { .Instrs } VALSTACK ... + < i32 > VAL : VALSTACK => VALSTACK + requires VAL ==Int 0 + + syntax Instr ::= #loop(VecType, Instrs, BlockMetaData) [klabel(aLoop), symbol] + // ------------------------------------------------------------------------------ + rule #loop(VECTYP, IS, BLOCKMETA) => sequenceInstrs(IS) ~> label VECTYP { #loop(VECTYP, IS, BLOCKMETA) } VALSTACK ... + VALSTACK => .ValStack +``` + +Variable Operators +------------------ + +### Locals + +The various `init_local` variants assist in setting up the `locals` cell. + +```k + syntax Instr ::= "init_local" Int Val + | "init_locals" ValStack + | "#init_locals" Int ValStack + // -------------------------------------------- + rule init_local INDEX VALUE => . ... + LOCALS => LOCALS [ INDEX <- VALUE ] + + rule init_locals VALUES => #init_locals 0 VALUES ... + + rule #init_locals _ .ValStack => . ... + rule #init_locals N (VALUE : VALSTACK) + => init_local N VALUE + ~> #init_locals (N +Int 1) VALSTACK + ... + +``` + +The `*_local` instructions are defined here. + +```k + syntax Instr ::= "#local.get" "(" Int ")" [klabel(aLocal.get), symbol] + | "#local.set" "(" Int ")" [klabel(aLocal.set), symbol] + | "#local.tee" "(" Int ")" [klabel(aLocal.tee), symbol] + // ---------------------------------------------------------------------- + rule #local.get(I) => . ... + VALSTACK => VALUE : VALSTACK + ... I |-> VALUE ... + + rule #local.set(I) => . ... + VALUE : VALSTACK => VALSTACK + ... I |-> (_ => VALUE) ... + + rule #local.tee(I) => . ... + VALUE : _VALSTACK + ... I |-> (_ => VALUE) ... +``` + +### Globals + +When globals are declared, they must also be given a constant initialization value. +The `GlobalSpec` production is used to define all ways that a global can specified. +Globals can either be specified by giving a type and an initializer expression; or by an import and it's expected type. +The specification can also include export directives. +The importing and exporting parts of specifications are dealt with in the respective sections for import and export. + +```k + syntax GlobalType ::= Mut ValType [klabel(aGlobalType), symbol] + // --------------------------------------------------------------- + + syntax GlobalDefn ::= #global(type: GlobalType, init: Instrs, metadata: OptionalId) [klabel(aGlobalDefn), symbol] + syntax Alloc ::= allocglobal (OptionalId, GlobalType) + // ---------------------------------------------------------- + rule #global(... type: TYP, init: IS, metadata: OID) => sequenceInstrs(IS) ~> allocglobal(OID, TYP) ... + + rule allocglobal(OID:OptionalId, MUT:Mut TYP:ValType) => . ... + < TYP > VAL : STACK => STACK + CUR + + CUR + IDS => #saveId(IDS, OID, NEXTIDX) + NEXTIDX => NEXTIDX +Int 1 + GLOBS => GLOBS [ NEXTIDX <- NEXTADDR ] + ... + + NEXTADDR => NEXTADDR +Int 1 + + ( .Bag + => + NEXTADDR + VAL + MUT + + ) + ... + +``` + +The `get` and `set` instructions read and write globals. + +```k + syntax Instr ::= "#global.get" "(" Int ")" [klabel(aGlobal.get), symbol] + | "#global.set" "(" Int ")" [klabel(aGlobal.set), symbol] + // ------------------------------------------------------------------------ + rule #global.get(IDX) => . ... + VALSTACK => VALUE : VALSTACK + CUR + + CUR + ... IDX |-> GADDR ... + ... + + + GADDR + VALUE + ... + + + rule #global.set(IDX) => . ... + VALUE : VALSTACK => VALSTACK + CUR + + CUR + ... IDX |-> GADDR ... + ... + + + GADDR + _ => VALUE + ... + +``` + +Types +----- + +### Type Gathering + +This defines helper functions that gathers function together. +The function `gatherTypes` keeps the `TypeDecl`s that have the same `TypeKeyWord` as we need and throws away the `TypeDecl` having different `TypeKeyWord`. + +```k + syntax VecType ::= gatherTypes ( TypeKeyWord , TypeDecls ) [function] + | #gatherTypes ( TypeKeyWord , TypeDecls , ValTypes ) [function] + // --------------------------------------------------------------------------------- + rule gatherTypes(TKW , TDECLS:TypeDecls) => #gatherTypes(TKW, TDECLS, .ValTypes) + + rule #gatherTypes( _ , .TypeDecls , TYPES) => [ TYPES ] + rule #gatherTypes(TKW , TKW':TypeKeyWord _:ValTypes TDECLS:TypeDecls , TYPES) => #gatherTypes(TKW, TDECLS, TYPES) requires TKW =/=K TKW' + rule #gatherTypes(TKW , TKW TYPES':ValTypes TDECLS:TypeDecls , TYPES) + => #gatherTypes(TKW , TDECLS:TypeDecls , TYPES + TYPES') + rule #gatherTypes(result , param _ID:Identifier _:ValType TDECLS:TypeDecls , TYPES) => #gatherTypes(result , TDECLS , TYPES) + rule #gatherTypes(param , param _ID:Identifier VTYPE:ValType TDECLS:TypeDecls , TYPES) => #gatherTypes(param , TDECLS , TYPES + VTYPE .ValTypes) +``` + +### Type Use + +A type use is a reference to a type definition. +It may optionally be augmented by explicit inlined parameter and result declarations. +A type use should start with `'(' 'type' x:typeidx ')'` followed by a group of inlined parameter or result declarations. + +```k + syntax FuncType ::= asFuncType ( TypeDecls ) [function, klabel(TypeDeclsAsFuncType)] + | asFuncType ( Map, Map, TypeUse ) [function, klabel(TypeUseAsFuncType) ] + // -------------------------------------------------------------------------------------------- + rule asFuncType(TDECLS:TypeDecls) => gatherTypes(param, TDECLS) -> gatherTypes(result, TDECLS) + rule asFuncType( _ , _ , TDECLS:TypeDecls) => asFuncType(TDECLS) + rule asFuncType(TYPEIDS, TYPES, (type TFIDX )) => {TYPES[#ContextLookup(TYPEIDS ,TFIDX)]}:>FuncType + rule asFuncType(TYPEIDS, TYPES, (type TFIDX ) TDECLS ) => asFuncType(TDECLS) + requires TYPES[#ContextLookup(TYPEIDS, TFIDX)] ==K asFuncType(TDECLS) +``` + +### Type Declaration + +Type could be declared explicitly and could optionally bind with an identifier. +`identifier` for `param` will be used only when the function type is declared when defining a function. +When defining `TypeDefn`, the `identifier` for `param` will be ignored and will not be saved into the module instance. + +```k + syntax TypeDefn ::= #type(type: FuncType, metadata: OptionalId) [klabel(aTypeDefn), symbol] + syntax Alloc ::= alloctype (OptionalId, FuncType) + // ---------------------------------------------------- + rule #type(... type: TYPE, metadata: OID) => alloctype(OID, TYPE) ... + + rule alloctype(OID, TYPE) => . ... + CUR + + CUR + IDS => #saveId(IDS, OID, NEXTIDX) + NEXTIDX => NEXTIDX +Int 1 + TYPES => TYPES [NEXTIDX <- TYPE] + ... + +``` + +Function Declaration and Invocation +----------------------------------- + +### Function Declaration + +Function declarations can look quite different depending on which fields are ommitted and what the context is. +Here, we allow for an "abstract" function declaration using syntax `func_::___`, and a more concrete one which allows arbitrary order of declaration of parameters, locals, and results. +The `FuncSpec` production is used to define all ways that a global can specified. +A function can either be specified by giving a type, what locals it allocates, and a function body; or by an import and it's expected type. +The specification can also include export directives. +The importing and exporting parts of specifications are dealt with in the respective sections for import and export. + +```k + syntax FuncDefn ::= #func(type: Int, locals: VecType, body: Instrs, metadata: FuncMetadata) [klabel(aFuncDefn), symbol] + syntax Alloc ::= allocfunc ( Int , Int , FuncType , VecType , Instrs , FuncMetadata ) + // ---------------------------------------------------------------------------------------- + rule #func(... type: TYPIDX, locals: LOCALS, body: INSTRS, metadata: META) => allocfunc(CUR, NEXTADDR, TYPE, LOCALS, INSTRS, META) ... + CUR + + CUR + ... TYPIDX |-> TYPE ... + NEXTIDX => NEXTIDX +Int 1 + ADDRS => ADDRS [ NEXTIDX <- NEXTADDR ] + ... + + NEXTADDR => NEXTADDR +Int 1 + + rule allocfunc(MOD, ADDR, TYPE, LOCALS, INSTRS, #meta(... id: OID, localIds: LIDS)) => . ... + + ( .Bag + => + ADDR + INSTRS + TYPE + LOCALS + MOD + + OID + LIDS + ... + + + ) + ... + + + syntax FuncMetadata ::= #meta(id: OptionalId, localIds: Map) [klabel(funcMeta), symbol] + // --------------------------------------------------------------------------------------- +``` + +### Function Invocation/Return + +Frames are used to store function return points. +Similar to labels, they sit on the instruction stack (the `` cell), and `return` consumes things following it until hitting it. +Unlike labels, only one frame can be "broken" through at a time. + +```k + syntax Frame ::= "frame" Int ValTypes ValStack Map + // -------------------------------------------------- + rule frame MODIDX' TRANGE VALSTACK' LOCAL' => . ... + VALSTACK => #take(lengthValTypes(TRANGE), VALSTACK) ++ VALSTACK' + _ => LOCAL' + _ => MODIDX' +``` + +When we invoke a function, the element on the top of the stack will become the last parameter of the function. +For example, when we call `(invoke "foo" (i64.const 100) (i64.const 43) (i32.const 22))`, `(i32.const 22)` will be on the top of ``, but it will be the last parameter of this function invocation if this function takes 3 parameters. +That is, whenever we want to `#take` or `#drop` an array of `params`, we need to reverse the array of `params` to make the type of the last parameter matching with the type of the value on the top of stack. +The `#take` function will return the parameter stack in the reversed order, then we need to reverse the stack again to get the actual parameter array we want. + +```k + syntax Instr ::= "(" "invoke" Int ")" + // ------------------------------------- + rule ( invoke FADDR ) + => init_locals #revs(#take(lengthValTypes(TDOMAIN), VALSTACK)) ++ #zero(TLOCALS) + ~> #block([TRANGE], INSTRS, .Int) + ~> frame MODIDX TRANGE #drop(lengthValTypes(TDOMAIN), VALSTACK) LOCAL + ... + + VALSTACK => .ValStack + LOCAL => .Map + MODIDX => MODIDX' + + FADDR + INSTRS + [ TDOMAIN ] -> [ TRANGE ] + [ TLOCALS ] + MODIDX' + ... + + + rule return ~> (_S:Stmt => .) ... + rule return ~> (_L:Label => .) ... + rule (return => .) ~> _FR:Frame ... +``` + +### Function Call + +`call funcidx` and `call_indirect typeidx` are 2 control instructions that invokes a function in the current frame. + +```k + syntax Instr ::= #call(Int) [klabel(aCall), symbol] + // --------------------------------------------------- + rule #call(IDX) => ( invoke FADDR ) ... + CUR + + CUR + ... IDX |-> FADDR ... + ... + +``` + +```k + syntax Instr ::= "#call_indirect" "(" Int ")" [klabel(aCall_indirect), symbol] + // ------------------------------------------------------------------------------ + rule #call_indirect(I) => call_indirect (type I) ... +``` + +TODO: This is kept for compatibility with the text format. +The `TypeUses` should be desugared to use a type-index instead. +But this requires a recursive descent into all the instructions of a function, with feedback up to the top level. +The types need to be inserted at the definitions level, if a previously undeclared type is present in a `call_indirect` function. + +```k + rule call_indirect TUSE:TypeUse => ( invoke FADDR ) ... + CUR + < i32 > IDX : VALSTACK => VALSTACK + + CUR + TYPEIDS + TYPES + 0 |-> ADDR + ... + + + ADDR + ... IDX |-> FADDR ... + ... + + + FADDR + FTYPE + ... + + requires asFuncType(TYPEIDS, TYPES, TUSE) ==K FTYPE + + rule call_indirect TUSE:TypeUse => trap ... + CUR + < i32 > IDX : VALSTACK => VALSTACK + + CUR + TYPEIDS + TYPES + 0 |-> ADDR + ... + + + ADDR + ... IDX |-> FADDR ... + ... + + + FADDR + FTYPE + ... + + requires asFuncType(TYPEIDS, TYPES, TUSE) =/=K FTYPE + + rule call_indirect _TUSE:TypeUse => trap ... + CUR + < i32 > IDX : VALSTACK => VALSTACK + + CUR + 0 |-> ADDR + ... + + + ADDR + TDATA + ... + + requires notBool IDX in_keys(TDATA) +``` + +Table +----- + +The allocation of a new `tableinst`. +Currently at most one table may be defined or imported in a single module. +The only allowed `TableElemType` is "funcref", so we ignore this term in the reducted sort. +The table values are addresses into the store of functions. +The `TableSpec` production is used to define all ways that a global can specified. +A table can either be specified by giving its type (limits and `funcref`); by specifying a vector of its initial `elem`ents; or by an import and its expected type. +The specification can also include export directives. +The importing and exporting parts of specifications are dealt with in the respective sections for import and export. + +```k + syntax TableDefn ::= #table (limits: Limits, metadata: OptionalId) [klabel(aTableDefn), symbol] + syntax Alloc ::= alloctable (OptionalId, Int, OptionalInt) + // ---------------------------------------------------------- + rule #table(... limits: #limitsMin(MIN), metadata: OID) => alloctable(OID, MIN, .Int) ... + requires MIN <=Int #maxTableSize() + rule #table(... limits: #limits(MIN, MAX), metadata: OID) => alloctable(OID, MIN, MAX) ... + requires MIN <=Int #maxTableSize() + andBool MAX <=Int #maxTableSize() + + rule alloctable(ID, MIN, MAX) => . ... + CUR + + CUR + IDS => #saveId(IDS, ID, 0) + .Map => (0 |-> NEXTADDR) + ... + + NEXTADDR => NEXTADDR +Int 1 + + ( .Bag + => + NEXTADDR + MAX + MIN + .Map + + ) + ... + +``` + +Memory +------ + +When memory is allocated, it is put into the store at the next available index. +Memory can only grow in size, so the minimum size is the initial value. +Currently, only one memory may be accessible to a module, and thus the `` cell is an array with at most one value, at index 0. +The `MemorySpec` production is used to define all ways that a global can specified. +A memory can either be specified by giving its type (limits); by specifying a vector of its initial `data`; or by an import and its expected type. +The specification can also include export directives. +The importing and exporting parts of specifications are dealt with in the respective sections for import and export. + +```k + syntax MemoryDefn ::= #memory(limits: Limits, metadata: OptionalId) [klabel(aMemoryDefn), symbol] + syntax Alloc ::= allocmemory (OptionalId, Int, OptionalInt) + // ----------------------------------------------------------- + rule #memory(... limits: #limitsMin(MIN), metadata: OID) => allocmemory(OID, MIN, .Int) ... + requires MIN <=Int #maxMemorySize() + rule #memory(... limits: #limits(MIN, MAX), metadata: OID) => allocmemory(OID, MIN, MAX) ... + requires MIN <=Int #maxMemorySize() + andBool MAX <=Int #maxMemorySize() + + rule allocmemory(ID, MIN, MAX) => . ... + CUR + + CUR + IDS => #saveId(IDS, ID, 0) + .Map => (0 |-> NEXTADDR) + ... + + NEXTADDR => NEXTADDR +Int 1 + + ( .Bag + => + NEXTADDR + MAX + MIN + ... + + ) + ... + +``` + +The assorted store operations take an address of type `i32` and a value. +The `storeX` operations first wrap the the value to be stored to the bit wdith `X`. +The value is encoded as bytes and stored at the "effective address", which is the address given on the stack plus offset. + +```k + syntax Instr ::= #store(ValType, StoreOp, offset : Int) [klabel(aStore), symbol] + | IValType "." StoreOp Int Int + // | FValType "." StoreOp Int Float + | "store" "{" Int Int Number "}" + // ----------------------------------------------- + rule #store(ITYPE:IValType, SOP, OFFSET) => ITYPE . SOP (IDX +Int OFFSET) VAL ... + < ITYPE > VAL : < i32 > IDX : VALSTACK => VALSTACK + + rule store { WIDTH EA VAL } => . ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + SIZE + DATA => #setRange(DATA, EA, VAL, WIDTH) + ... + + requires (EA +Int WIDTH) <=Int (SIZE *Int #pageSize()) + + rule store { WIDTH EA _ } => trap ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + SIZE + ... + + requires (EA +Int WIDTH) >Int (SIZE *Int #pageSize()) + + rule ITYPE . store EA VAL => store { #numBytes(ITYPE) EA VAL } ... + rule _ . store8 EA VAL => store { 1 EA #wrap(1, VAL) } ... + rule _ . store16 EA VAL => store { 2 EA #wrap(2, VAL) } ... + rule i64 . store32 EA VAL => store { 4 EA #wrap(4, VAL) } ... +``` + +The assorted load operations take an address of type `i32`. +The `loadX_sx` operations loads `X` bits from memory, and extend it to the right length for the return value, interpreting the bytes as either signed or unsigned according to `sx`. +The value is fetched from the "effective address", which is the address given on the stack plus offset. +Sort `Signedness` is defined in module `BYTES`. + +```k + syntax Instr ::= #load(ValType, LoadOp, offset : Int) [klabel(aLoad), symbol] + | "load" "{" IValType Int Int Signedness"}" + | "load" "{" IValType Int Int Signedness Bytes"}" + | "load" "{" IValType Int Int Signedness"}" + | IValType "." LoadOp Int + // ---------------------------------------- + rule #load(ITYPE:IValType, LOP, OFFSET) => ITYPE . LOP (IDX +Int OFFSET) ... + < i32 > IDX : VALSTACK => VALSTACK + + rule ITYPE . load EA:Int => load { ITYPE #numBytes(ITYPE) EA Unsigned } ... + rule ITYPE . load8_u EA:Int => load { ITYPE 1 EA Unsigned } ... + rule ITYPE . load16_u EA:Int => load { ITYPE 2 EA Unsigned } ... + rule i64 . load32_u EA:Int => load { i64 4 EA Unsigned } ... + rule ITYPE . load8_s EA:Int => load { ITYPE 1 EA Signed } ... + rule ITYPE . load16_s EA:Int => load { ITYPE 2 EA Signed } ... + rule i64 . load32_s EA:Int => load { i64 4 EA Signed } ... + + rule load { ITYPE WIDTH EA SIGN } => load { ITYPE WIDTH EA SIGN DATA } ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + SIZE + DATA + ... + + requires (EA +Int WIDTH) <=Int (SIZE *Int #pageSize()) + + rule load { _ WIDTH EA _ } => trap ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + SIZE + ... + + requires (EA +Int WIDTH) >Int (SIZE *Int #pageSize()) + + rule load { ITYPE WIDTH EA Signed DATA } => #chop(< ITYPE > #signedWidth(WIDTH, #getRange(DATA, EA, WIDTH))) ... + rule load { ITYPE WIDTH EA Unsigned DATA } => < ITYPE > #getRange(DATA, EA, WIDTH) ... +``` + +The `size` operation returns the size of the memory, measured in pages. + +```k + rule memory.size => < i32 > SIZE ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + SIZE + ... + +``` + +`grow` increases the size of memory in units of pages. +Failure to grow is indicated by pushing -1 to the stack. +Success is indicated by pushing the previous memory size to the stack. +`grow` is non-deterministic and may fail either due to trying to exceed explicit max values, or because the embedder does not have resources available. +By setting the `` field in the configuration to `true`, the sematnics ensure memory growth only fails if the memory in question would exceed max bounds. + +```k + syntax Instr ::= "grow" Int + // --------------------------- + rule memory.grow => grow N ... + < i32 > N : VALSTACK => VALSTACK + + rule grow N => < i32 > SIZE ... + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + MAX + SIZE => SIZE +Int N + ... + + requires #growthAllowed(SIZE +Int N, MAX) + + rule grow N => < i32 > #unsigned(i32, -1) ... + DET:Bool + CUR + + CUR + 0 |-> ADDR + ... + + + ADDR + MAX + SIZE + ... + + requires notBool DET + orBool notBool #growthAllowed(SIZE +Int N, MAX) + + syntax Bool ::= #growthAllowed(Int, OptionalInt) [function] + // ----------------------------------------------------------- + rule #growthAllowed(SIZE, .Int ) => SIZE <=Int #maxMemorySize() + rule #growthAllowed(SIZE, I:Int) => #growthAllowed(SIZE, .Int) andBool SIZE <=Int I +``` + +However, the absolute max allowed size if 2^16 pages. +Incidentally, the page size is 2^16 bytes. +The maximum of table size is 2^32 bytes. + +```k + syntax Int ::= #pageSize() [function] + syntax Int ::= #maxMemorySize() [function] + syntax Int ::= #maxTableSize() [function] + // ------------------------------------------ + rule #pageSize() => 65536 + rule #maxMemorySize() => 65536 + rule #maxTableSize() => 4294967296 +``` + +Initializers +------------ + +### Table initialization + +Tables can be initialized with element and the element type is always `funcref`. +The initialization of a table needs an offset and a list of functions, given as `Index`s. +A table index is optional and will be default to zero. + +```k + + syntax ElemDefn ::= #elem(index : Int, offset : Instrs, elemSegment : Ints) [klabel(aElemDefn), symbol] + | "elem" "{" Int Ints "}" + syntax Stmt ::= #initElements ( Int, Int, Map, Ints ) + // ----------------------------------------------------- + rule #elem(TABIDX, IS, ELEMSEGMENT ) => sequenceInstrs(IS) ~> elem { TABIDX ELEMSEGMENT } ... + + rule elem { TABIDX ELEMSEGMENT } => #initElements ( ADDR, OFFSET, FADDRS, ELEMSEGMENT ) ... + CUR + < i32 > OFFSET : STACK => STACK + + CUR + FADDRS + TABIDX |-> ADDR + ... + + + rule #initElements ( _, _, _, .Ints ) => . ... + rule #initElements ( ADDR, OFFSET, FADDRS, E:Int ES ) => #initElements ( ADDR, OFFSET +Int 1, FADDRS, ES ) ... + + ADDR + DATA => DATA [ OFFSET <- FADDRS[E] ] + ... + +``` + +### Memory initialization + +Memories can be initialized with data, specified as a list of bytes together with an offset. +The `data` initializer simply puts these bytes into the specified memory, starting at the offset. + +```k + syntax DataDefn ::= #data(index : Int, offset : Instrs, data : Bytes) [klabel(aDataDefn), symbol] + | "data" "{" Int Bytes "}" + // -------------------------------------------- + // Default to memory 0. + rule #data(IDX, IS, DATA) => sequenceInstrs(IS) ~> data { IDX DATA } ... + + // For now, deal only with memory 0. + rule data { MEMIDX DSBYTES } => . ... + < i32 > OFFSET : STACK => STACK + CUR + + CUR + MEMIDX |-> ADDR + ... + + + ADDR + DATA => #setRange(DATA, OFFSET, Bytes2Int(DSBYTES, LE, Unsigned), lengthBytes(DSBYTES)) + ... + + + syntax Int ::= Int "up/Int" Int [function] + // ------------------------------------------ + rule I1 up/Int I2 => (I1 +Int (I2 -Int 1)) /Int I2 requires I2 >Int 0 +``` + +Start Function +-------------- + +The `start` component of a module declares the function index of a `start function` that is automatically invoked when the module is instantiated, after `tables` and `memories` have been initialized. + +```k + syntax StartDefn ::= #start(Int) [klabel(aStartDefn), symbol] + // ------------------------------------------------------------- + rule #start(IDX) => ( invoke FADDR ) ... + CUR + + CUR + ... IDX |-> FADDR ... + ... + +``` + +Export +------ + +Exports make functions, tables, memories and globals available for importing into other modules. + +```k + syntax ExportDefn ::= #export(name : WasmString, index : Int) [klabel(aExportDefn), symbol] + syntax Alloc ::= ExportDefn + // --------------------------- + rule #export(ENAME, IDX) => . ... + CUR + + CUR + EXPORTS => EXPORTS [ ENAME <- IDX ] + ... + +``` + +Imports +------- + +Imports need to describe the type of what is imported. +That an import is really a subtype of the declared import needs to be checked at instantiation time. +The value of a global gets copied when it is imported. + +```k + syntax ImportDefn ::= #import(mod : WasmString, name : WasmString, ImportDesc) [klabel(aImportDefn), symbol] + syntax ImportDesc ::= #funcDesc (id: OptionalId, type: Int) [klabel(aFuncDesc), symbol] + | #globalDesc (id: OptionalId, type: GlobalType) [klabel(aGlobalDesc), symbol] + | #tableDesc (id: OptionalId, type: Limits) [klabel(aTableDesc), symbol] + | #memoryDesc (id: OptionalId, type: Limits) [klabel(aMemoryDesc), symbol] + syntax Alloc ::= ImportDefn + // -------------------------------- + rule #import(MOD, NAME, #funcDesc(... type: TIDX) ) => . ... + CUR + + CUR + TYPES + FS => FS [NEXT <- ADDR] + NEXT => NEXT +Int 1 + ... + + ... MOD |-> MODIDX ... + + MODIDX + ... IDX |-> ADDR ... + ... NAME |-> IDX ... + ... + + + ADDR + FTYPE + ... + + requires FTYPE ==K TYPES[TIDX] + + rule #import(MOD, NAME, #tableDesc(... id: OID, type: LIM) ) => . ... + CUR + + CUR + IDS => #saveId(IDS, OID, 0) + .Map => 0 |-> ADDR + ... + + ... MOD |-> MODIDX ... + + MODIDX + IDS' + ... #ContextLookup(IDS' , TFIDX) |-> ADDR ... + ... NAME |-> TFIDX ... + ... + + + ADDR + MAX + SIZE + ... + + requires #limitsMatchImport(SIZE, MAX, LIM) + + rule #import(MOD, NAME, #memoryDesc(... id: OID, type: LIM) ) => . ... + CUR + + CUR + IDS => #saveId(IDS, OID, 0) + .Map => 0 |-> ADDR + ... + + ... MOD |-> MODIDX ... + + MODIDX + IDS' + ... #ContextLookup(IDS' , TFIDX) |-> ADDR ... + ... NAME |-> TFIDX ... + ... + + + ADDR + MAX + SIZE + ... + + requires #limitsMatchImport(SIZE, MAX, LIM) + + rule #import(MOD, NAME, #globalDesc(... id: OID, type: MUT TYP) ) => . ... + CUR + + CUR + IDS => #saveId(IDS, OID, NEXT) + GS => GS [NEXT <- ADDR] + NEXT => NEXT +Int 1 + ... + + ... MOD |-> MODIDX ... + + MODIDX + IDS' + ... #ContextLookup(IDS' , TFIDX) |-> ADDR ... + ... NAME |-> TFIDX ... + ... + + + ADDR + _ + MUT + +``` + +Tables and memories have proper subtyping, unlike globals and functions where a type is only a subtype of itself. +Subtyping is determined by whether the limits of one table/memory fit in the limits of another. +The following function checks if the limits in the first parameter *match*, i.e. is a subtype of, the limits in the second. + +```k + syntax Bool ::= #limitsMatchImport(Int, OptionalInt, Limits) [function] + // ----------------------------------------------------------------------- + rule #limitsMatchImport(L1, _, #limitsMin(L2:Int )) => L1 >=Int L2 + rule #limitsMatchImport( _, .Int, #limits( _:Int, _)) => false + rule #limitsMatchImport(L1, U1:Int, #limits(L2:Int, U2)) => L1 >=Int L2 andBool U1 <=Int U2 +``` + +Module Instantiation +-------------------- + +There is some dependencies among definitions that require that we do them in a certain order, even though they may appear in many valid orders. +First, functions, tables, memories and globals get *allocated*. +Then, tables, memories and globals get *instantiated* with elements, data and initialization vectors. +However, since (currently) globals can only make use of imported globals to be instantiated, we can initialize at allocation time. +Finally, the start function is invoked. +Exports may appear anywhere in a module, but can only be performed after what they refer to has been allocated. +Exports that are inlined in a definition, e.g., `func (export "foo") ...`, are safe to extract as they appear. +Imports must appear before any allocations in a module, due to validation. + +A subtle point is related to tables with inline `elem` definitions: since these may refer to functions by identifier, we need to make sure that tables definitions come after function definitions. + +`sortModule` takes a list of definitions and returns a map with different groups of definitions, preserving the order within each group. +The groups are chosen to represent different stages of allocation and instantiation. + +```k + syntax ModuleDecl ::= #module ( types: Defns, funcs: Defns, tables: Defns, mems: Defns, globals: Defns, elem: Defns, data: Defns, start: Defns, importDefns: Defns, exports: Defns, metadata: ModuleMetadata) [klabel(aModuleDecl), symbol] + // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + + syntax ModuleDecl ::= #emptyModule(OptionalId) [function, total] + // --------------------------------------------------------------------- + rule #emptyModule(OID) => #module (... types: .Defns, funcs: .Defns, tables: .Defns, mems: .Defns, globals: .Defns, elem: .Defns, data: .Defns, start: .Defns, importDefns: .Defns, exports: .Defns, metadata: #meta(... id: OID, funcIds: .Map, filename: .String)) + + syntax ModuleMetadata ::= #meta(id: OptionalId, funcIds: Map, filename : OptionalString) [klabel(moduleMeta), symbol] + syntax OptionalString ::= ".String" [klabel(.String), symbol] | String + // ---------------------------------------------------------------------- +``` + +A new module instance gets allocated. +Then, the surrounding `module` tag is discarded, and the definitions are executed, putting them into the module currently being defined. + +```k + rule #module(... types: TS, funcs: FS, tables: TABS, mems: MS, globals: GS, elem: EL, data: DAT, start: S, importDefns: IS, exports: ES, + metadata: #meta(... id: OID, funcIds: FIDS, filename: FILE)) + => sequenceDefns(TS) + ~> sequenceDefns(IS) + ~> sequenceDefns(FS) + ~> sequenceDefns(GS) + ~> sequenceDefns(MS) + ~> sequenceDefns(TABS) + ~> sequenceDefns(ES) + ~> sequenceDefns(EL) + ~> sequenceDefns(DAT) + ~> sequenceDefns(S) + ... + + _ => NEXT + NEXT => NEXT +Int 1 + IDS => #saveId(IDS, OID, NEXT) + + ( .Bag + => + NEXT + + FILE + OID + FIDS + ... + + ... + + ) + ... + +``` + +After a module is instantiated, it should be saved somewhere. +How this is done is up to the embedder. + +```k +endmodule +``` diff --git a/docs/runtimeverification-wasm-semantics/wrc20.md b/docs/runtimeverification-wasm-semantics/wrc20.md new file mode 100644 index 000000000..b06c03c7f --- /dev/null +++ b/docs/runtimeverification-wasm-semantics/wrc20.md @@ -0,0 +1,309 @@ +WRC20 +===== + +```k +requires "kwasm-lemmas.md" +``` + +Lemmas +------ + +```k +module WRC20-LEMMAS [symbolic] + imports WRC20 + imports KWASM-LEMMAS +``` + +These conversions turns out to be helpful in this particular proof, but we don't want to apply it on all KWasm proofs. + +```k + rule X /Int N => X >>Int 8 requires N ==Int 256 [simplification] +``` + +TODO: The following theorems should be generalized and proven, and moved to the set of general lemmas. +Perhaps using `requires N ==Int 2 ^Int log2Int(N)`? +Also, some of these have concrete integers on the LHS. +It may be better to use a symbolic value as a side condition, e.g. `rule N => foo requires N ==Int 8`, because simplifications rely on exact matching of the LHS. + +```k + rule X *Int 256 >>Int N => (X >>Int (N -Int 8)) requires N >=Int 8 [simplification] + + rule (Y +Int X *Int 256) >>Int N => (Y >>Int N) +Int (X >>Int (N -Int 8)) requires N >=Int 8 [simplification] + + rule (X < (X +Int (Y < (X +Int (Y < ((X <Int M + [simplification] + + rule (X +Int (Y < X +Int ((Y <=Int 256 + andBool 0 <=Int X + andBool X =Int 8 + [simplification] + + rule #wrap(N, (X +Int (Y < X +Int (#wrap(N, Y <=Int 1 + andBool 0 <=Int X + andBool X =Int 8 + [simplification] +``` + +```k +endmodule +``` + +Macros +------ + +The following module gives macros for the wrc20 code so that its parts can be expressed succinctly in proofs. + +```k +module WRC20 + imports WASM-TEXT +``` + +A module of shorthand commands for the WRC20 module. + +```k + syntax WasmStringToken ::= "#ethereumModule" [macro] + // ---------------------------------------------------- + rule #ethereumModule => #token("\"ethereum\"", "WasmStringToken") + + syntax ModuleDecl ::= "#wrc20" [macro] + syntax Defns ::= "#wrc20Body" [macro] + syntax Defns ::= "#wrc20Imports" [macro] + syntax Defns ::= "#wrc20Functions_fastBalance" [macro] + syntax Defns ::= "#wrc20ReverseBytes" [macro] + syntax Int ::= "#wrc20ReverseBytesTypeIdx" [macro] + syntax FuncType ::= "#wrc20ReverseBytesType" [macro] + // ----------------------------------------------------------- + rule #wrc20 => ( module #wrc20Body ) + + rule #wrc20Body => #wrc20Imports ++Defns #wrc20Functions_fastBalance + + rule #wrc20Imports => + (func String2Identifier("$revert") ( import #ethereumModule #token("\"revert\"" , "WasmStringToken") ) param i32 i32 .ValTypes .TypeDecls ) + (func String2Identifier("$finish") ( import #ethereumModule #token("\"finish\"" , "WasmStringToken") ) param i32 i32 .ValTypes .TypeDecls ) + (func String2Identifier("$getCallDataSize") ( import #ethereumModule #token("\"getCallDataSize\"", "WasmStringToken") ) result i32 .ValTypes .TypeDecls ) + (func String2Identifier("$callDataCopy") ( import #ethereumModule #token("\"callDataCopy\"" , "WasmStringToken") ) param i32 i32 i32 .ValTypes .TypeDecls ) + (func String2Identifier("$storageLoad") ( import #ethereumModule #token("\"storageLoad\"" , "WasmStringToken") ) param i32 i32 .ValTypes .TypeDecls ) + (func String2Identifier("$storageStore") ( import #ethereumModule #token("\"storageStore\"" , "WasmStringToken") ) param i32 i32 .ValTypes .TypeDecls ) + (func String2Identifier("$getCaller") ( import #ethereumModule #token("\"getCaller\"" , "WasmStringToken") ) param i32 .ValTypes .TypeDecls ) + ( memory ( export #token("\"memory\"", "WasmStringToken") ) 1 ) + .Defns + + rule #wrc20Functions_fastBalance => + (func ( export #token("\"main\"", "WasmStringToken") ) .TypeDecls .LocalDecls + block .TypeDecls + block .TypeDecls + call String2Identifier("$getCallDataSize") + i32.const 4 + i32.ge_u + br_if 0 + i32.const 0 + i32.const 0 + call String2Identifier("$revert") + br 1 + .EmptyStmts + end + i32.const 0 + i32.const 0 + i32.const 4 + call String2Identifier("$callDataCopy") + block .TypeDecls + i32.const 0 + i32.load + i32.const 436376473:Int + i32.eq + i32.eqz + br_if 0 + call String2Identifier("$do_balance") + br 1 + .EmptyStmts + end + block .TypeDecls + i32.const 0 i32.load + i32.const 3181327709:Int + i32.eq + i32.eqz + br_if 0 + call String2Identifier("$do_transfer") + br 1 + .EmptyStmts + end + i32.const 0 + i32.const 0 + call String2Identifier("$revert") + .EmptyStmts + end + .EmptyStmts + ) + + (func String2Identifier("$do_balance") .TypeDecls .LocalDecls + block .TypeDecls + block .TypeDecls + call String2Identifier("$getCallDataSize") + i32.const 24 + i32.eq + br_if 0 + i32.const 0 + i32.const 0 + call String2Identifier("$revert") + br 1 + .EmptyStmts + end + i32.const 0 + i32.const 4 + i32.const 20 + call String2Identifier("$callDataCopy") + i32.const 0 + i32.const 32 + call String2Identifier("$storageLoad") + i32.const 32 + i32.const 8 + call String2Identifier("$finish") + .EmptyStmts + end + .EmptyStmts ) + + (func String2Identifier("$do_transfer") .TypeDecls local i64 i64 i64 .ValTypes .LocalDecls + block .TypeDecls + block .TypeDecls + call String2Identifier("$getCallDataSize") + i32.const 32 + i32.eq + br_if 0 + i32.const 0 + i32.const 0 + call String2Identifier("$revert") + br 1 + .EmptyStmts + end + i32.const 0 + call String2Identifier("$getCaller") + i32.const 32 + i32.const 4 + i32.const 20 + call String2Identifier("$callDataCopy") + i32.const 64 + i32.const 24 + i32.const 8 + call String2Identifier("$callDataCopy") + i32.const 64 + i64.load + call String2Identifier("$i64.reverse_bytes") + local.set 0 + i32.const 0 + i32.const 64 + call String2Identifier("$storageLoad") + i32.const 64 + i64.load + call String2Identifier("$i64.reverse_bytes") + local.set 1 + i32.const 32 + i32.const 64 + call String2Identifier("$storageLoad") + i32.const 64 + i64.load + call String2Identifier("$i64.reverse_bytes") + local.set 2 + block .TypeDecls + local.get 0 + local.get 1 + i64.le_u + br_if 0 + i32.const 0 + i32.const 0 + call String2Identifier("$revert") + br 1 + .EmptyStmts + end + local.get 1 + local.get 0 + i64.sub + local.set 1 + local.get 2 + local.get 0 + i64.add + local.set 2 + i32.const 64 + local.get 1 + call String2Identifier("$i64.reverse_bytes") + i64.store + i32.const 0 + i32.const 64 + call String2Identifier("$storageStore") + i32.const 64 + local.get 2 + call String2Identifier("$i64.reverse_bytes") + i64.store + i32.const 32 + i32.const 64 + call String2Identifier("$storageStore") + .EmptyStmts + end + .EmptyStmts + ) + + #wrc20ReverseBytes + + rule #wrc20ReverseBytesTypeIdx => 1 + rule #wrc20ReverseBytesType => [ i64 ] -> [ i64 ] [ignoreThisAttribute] + + rule #wrc20ReverseBytes => + (func String2Identifier("$i64.reverse_bytes") (type #wrc20ReverseBytesTypeIdx) local i64 i64 .ValTypes .LocalDecls + block .TypeDecls + loop .TypeDecls + local.get 1 + i64.const 8 + i64.ge_u + br_if 1 + local.get 0 + i64.const 56 + local.get 1 + i64.const 8 + i64.mul + i64.sub + i64.shl + i64.const 56 + i64.shr_u + i64.const 56 + i64.const 8 + local.get 1 + i64.mul + i64.sub + i64.shl + local.get 2 + i64.add + local.set 2 + local.get 1 + i64.const 1 + i64.add + local.set 1 + br 0 + .EmptyStmts + end + .EmptyStmts + end + local.get 2 + .EmptyStmts + ) + .Defns + + syntax Defns ::= Defns "++Defns" Defns [function, total] + // ------------------------------------------------------------- + rule .Defns ++Defns DS' => DS' + rule (D DS) ++Defns DS' => D (DS ++Defns DS') +``` + +```k +endmodule +```