From 28cc37bcef38936065d5df0f63393dcb827bba40 Mon Sep 17 00:00:00 2001 From: George Pearse Date: Sun, 29 Mar 2026 19:58:57 +0000 Subject: [PATCH 1/3] feat: full GCP deployment pipeline for backend + frontend - Add Rust backend API endpoints (individuals, generations, lineage) - Add Liquibase migration 008 (code/language/text_feedback on individuals) - Rewrite frontend api.ts to call Rust backend REST API - Containerize frontend (Dockerfile + nginx reverse proxy) - Add Terraform for frontend Cloud Run service - Add CI/CD pipeline for both backend and frontend - Add frontend service to docker-compose.yml - Clean up stale files (ClickHouse docs, debug scripts, plots) - Fix pre-existing TS build errors Co-Authored-By: Claude Opus 4.5 --- .env.example | 19 +- .github/workflows/ci.yml | 121 ++ .github/workflows/deploy.yml | 179 ++ .gitignore | 13 + .mcp.json | 2 +- CLICKHOUSE_INTEGRATION_COMPLETE.md | 235 --- CLICKHOUSE_SETUP.md | 142 -- Dockerfile | 52 +- SESSION_SUMMARY.md | 294 --- docker-compose.yml | 93 +- genesis/favicon.png | Bin 1136384 -> 0 bytes genesis/llm/query.py | 407 ---- genesis/plots/__init__.py | 11 - genesis/plots/code_path_anim.py | 1384 ------------- genesis/plots/plot_improvement.py | 335 --- genesis/plots/plot_lineage_tree.py | 589 ------ genesis/plots/plot_pareto.py | 377 ---- genesis/plots/plot_similarity.py | 65 - genesis/webui/frontend/.dockerignore | 5 + genesis/webui/frontend/Dockerfile | 12 + genesis/webui/frontend/nginx.conf | 22 + genesis/webui/frontend/package-lock.json | 17 - .../frontend/src/components/ErrorBoundary.tsx | 2 +- .../frontend/src/context/GenesisContext.tsx | 2 +- genesis/webui/frontend/src/lib/utils.ts | 3 +- genesis/webui/frontend/src/services/api.ts | 126 +- genesis/webui/frontend/vite.config.ts | 6 +- genesis_rust_backend/.dockerignore | 4 + genesis_rust_backend/Cargo.lock | 1787 ++++++++++++++++- genesis_rust_backend/Cargo.toml | 14 +- genesis_rust_backend/Dockerfile | 20 + genesis_rust_backend/src/config.rs | 30 +- genesis_rust_backend/src/core/alma_memory.rs | 54 +- .../src/core/gepa_optimizer.rs | 14 +- .../src/core/novelty_judge.rs | 4 +- genesis_rust_backend/src/core/runner.rs | 194 +- genesis_rust_backend/src/core/sampler.rs | 6 +- genesis_rust_backend/src/database/mod.rs | 518 ++--- genesis_rust_backend/src/launch/mod.rs | 5 +- genesis_rust_backend/src/lib.rs | 1 + genesis_rust_backend/src/llm/mod.rs | 104 +- genesis_rust_backend/src/main.rs | 364 +++- genesis_rust_backend/src/types.rs | 11 +- genesis_rust_backend/tests/common/mod.rs | 45 + genesis_rust_backend/tests/db_integration.rs | 275 +++ genesis_rust_backend/tests/memory_tests.rs | 5 +- migrations/changelogs/001-evolution-runs.sql | 20 + migrations/changelogs/002-generations.sql | 19 + migrations/changelogs/003-individuals.sql | 27 + migrations/changelogs/004-pareto-fronts.sql | 17 + migrations/changelogs/005-code-lineages.sql | 19 + migrations/changelogs/006-llm-logs.sql | 18 + migrations/changelogs/007-agent-actions.sql | 14 + .../008-add-code-to-individuals.sql | 7 + .../changelogs/db.changelog-master.yaml | 25 + migrations/full_ddl.sql | 350 ++++ migrations/liquibase.properties | 6 + reproduce_issue.py | 120 -- screenshot_initial.png | Bin 65765 -> 0 bytes screenshot_table_fail.png | Bin 16983 -> 0 bytes scripts/bootstrap-gcp.sh | 178 ++ scripts/debug_embedding_length.py | 29 - scripts/debug_list_db.py | 43 - scripts/debug_metadata.py | 29 - scripts/export_ddl.sh | 62 + scripts/fix_metadata.py | 93 - scripts/fix_metadata_insert.py | 148 -- terraform/apis.tf | 21 + terraform/artifact_registry.tf | 17 + terraform/cloud_run.tf | 98 + terraform/cloud_run_frontend.tf | 47 + terraform/cloud_sql.tf | 63 + terraform/iam.tf | 63 + terraform/main.tf | 24 + terraform/networking.tf | 40 + terraform/outputs.tf | 47 + terraform/secrets.tf | 56 + terraform/variables.tf | 73 + 78 files changed, 4884 insertions(+), 4857 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/deploy.yml delete mode 100644 CLICKHOUSE_INTEGRATION_COMPLETE.md delete mode 100644 CLICKHOUSE_SETUP.md delete mode 100644 SESSION_SUMMARY.md delete mode 100644 genesis/favicon.png delete mode 100644 genesis/llm/query.py delete mode 100644 genesis/plots/__init__.py delete mode 100644 genesis/plots/code_path_anim.py delete mode 100644 genesis/plots/plot_improvement.py delete mode 100644 genesis/plots/plot_lineage_tree.py delete mode 100644 genesis/plots/plot_pareto.py delete mode 100644 genesis/plots/plot_similarity.py create mode 100644 genesis/webui/frontend/.dockerignore create mode 100644 genesis/webui/frontend/Dockerfile create mode 100644 genesis/webui/frontend/nginx.conf create mode 100644 genesis_rust_backend/.dockerignore create mode 100644 genesis_rust_backend/Dockerfile create mode 100644 genesis_rust_backend/tests/common/mod.rs create mode 100644 genesis_rust_backend/tests/db_integration.rs create mode 100644 migrations/changelogs/001-evolution-runs.sql create mode 100644 migrations/changelogs/002-generations.sql create mode 100644 migrations/changelogs/003-individuals.sql create mode 100644 migrations/changelogs/004-pareto-fronts.sql create mode 100644 migrations/changelogs/005-code-lineages.sql create mode 100644 migrations/changelogs/006-llm-logs.sql create mode 100644 migrations/changelogs/007-agent-actions.sql create mode 100644 migrations/changelogs/008-add-code-to-individuals.sql create mode 100644 migrations/changelogs/db.changelog-master.yaml create mode 100644 migrations/full_ddl.sql create mode 100644 migrations/liquibase.properties delete mode 100644 reproduce_issue.py delete mode 100644 screenshot_initial.png delete mode 100644 screenshot_table_fail.png create mode 100755 scripts/bootstrap-gcp.sh delete mode 100644 scripts/debug_embedding_length.py delete mode 100644 scripts/debug_list_db.py delete mode 100644 scripts/debug_metadata.py create mode 100755 scripts/export_ddl.sh delete mode 100644 scripts/fix_metadata.py delete mode 100644 scripts/fix_metadata_insert.py create mode 100644 terraform/apis.tf create mode 100644 terraform/artifact_registry.tf create mode 100644 terraform/cloud_run.tf create mode 100644 terraform/cloud_run_frontend.tf create mode 100644 terraform/cloud_sql.tf create mode 100644 terraform/iam.tf create mode 100644 terraform/main.tf create mode 100644 terraform/networking.tf create mode 100644 terraform/outputs.tf create mode 100644 terraform/secrets.tf create mode 100644 terraform/variables.tf diff --git a/.env.example b/.env.example index bcf2e5a..abb5386 100644 --- a/.env.example +++ b/.env.example @@ -4,34 +4,21 @@ # ========================================== # Database Configuration # ========================================== -POSTGRES_DB=genesis -POSTGRES_USER=genesis -POSTGRES_PASSWORD=changeme_secure_password -POSTGRES_PORT=5432 +DATABASE_URL=postgresql://genesis_app:changeme@localhost:5432/genesis # ========================================== # LLM API Keys # ========================================== -# OpenAI API Key (required for OpenAI models) OPENAI_API_KEY=sk-your-openai-api-key-here - -# Anthropic API Key (required for Claude models) ANTHROPIC_API_KEY=sk-ant-your-anthropic-api-key-here # ========================================== # E2B Cloud Sandbox (Optional) # ========================================== -# E2B API Key (required only if using E2B execution backend) E2B_API_KEY=your-e2b-api-key-here # ========================================== # Application Settings # ========================================== -# Port for the Genesis Web UI -GENESIS_WEBUI_PORT=8000 - -# ========================================== -# Advanced Database Configuration (Optional) -# ========================================== -# Full database URL (alternative to individual postgres settings) -# DATABASE_URL=postgresql://genesis:password@postgres:5432/genesis +PORT=8080 +RUST_LOG=info diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..89d06ef --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,121 @@ +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + +env: + CARGO_TERM_COLOR: always + +jobs: + rust-check: + name: Rust lint & test + runs-on: ubuntu-latest + defaults: + run: + working-directory: genesis_rust_backend + steps: + - uses: actions/checkout@v4 + + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt, clippy + + - uses: Swatinem/rust-cache@v2 + with: + workspaces: genesis_rust_backend + + - name: Check formatting + run: cargo fmt --check + + - name: Clippy + run: cargo clippy -- -D warnings + + - name: Unit tests + run: cargo test --lib + + - name: Integration tests (testcontainers) + run: cargo test --test db_integration --test memory_tests + + liquibase-validate: + name: Validate migrations + runs-on: ubuntu-latest + services: + postgres: + image: postgres:15 + env: + POSTGRES_DB: genesis_test + POSTGRES_USER: genesis + POSTGRES_PASSWORD: genesis_test + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - uses: actions/checkout@v4 + + - name: Install Liquibase + run: | + wget -q https://github.com/liquibase/liquibase/releases/download/v4.29.2/liquibase-4.29.2.tar.gz + mkdir -p /opt/liquibase + tar xzf liquibase-4.29.2.tar.gz -C /opt/liquibase + echo "/opt/liquibase" >> $GITHUB_PATH + + - name: Validate changelogs + working-directory: migrations + run: | + liquibase \ + --url="jdbc:postgresql://localhost:5432/genesis_test" \ + --username=genesis \ + --password=genesis_test \ + --changeLogFile=changelogs/db.changelog-master.yaml \ + validate + + - name: Run migrations + working-directory: migrations + run: | + liquibase \ + --url="jdbc:postgresql://localhost:5432/genesis_test" \ + --username=genesis \ + --password=genesis_test \ + --changeLogFile=changelogs/db.changelog-master.yaml \ + update + + - name: Verify full_ddl.sql is in sync + run: | + PGPASSWORD=genesis_test pg_dump \ + -h localhost -p 5432 -U genesis -d genesis_test \ + --schema-only --no-owner --no-privileges \ + --exclude-table='databasechangelog*' \ + | sed '/^\\restrict/d; /^\\unrestrict/d; /^SELECT pg_catalog/d; /^SET default_table_access_method/d' \ + > /tmp/full_ddl_generated.sql + diff -u migrations/full_ddl.sql /tmp/full_ddl_generated.sql || \ + (echo "ERROR: migrations/full_ddl.sql is out of sync. Run scripts/export_ddl.sh and commit the result." && exit 1) + + terraform-plan: + name: Terraform plan + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' + defaults: + run: + working-directory: terraform + steps: + - uses: actions/checkout@v4 + + - uses: hashicorp/setup-terraform@v3 + with: + terraform_version: "1.9" + + - name: Terraform init + run: terraform init -backend=false + + - name: Terraform validate + run: terraform validate + + - name: Terraform format check + run: terraform fmt -check -recursive diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..fa200fb --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,179 @@ +name: Deploy + +on: + push: + branches: [main] + paths: + - 'genesis_rust_backend/**' + - 'genesis/webui/frontend/**' + - 'migrations/**' + - 'terraform/**' + - '.github/workflows/deploy.yml' + +env: + PROJECT_ID: openloop-491716 + REGION: europe-west2 + REGISTRY: europe-west2-docker.pkg.dev/openloop-491716/genesis + SERVICE_NAME: genesis-backend + +jobs: + build-and-push-backend: + name: Build & push backend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - id: auth + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - uses: google-github-actions/setup-gcloud@v2 + + - name: Configure Docker + run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet + + - name: Build and push + working-directory: genesis_rust_backend + run: | + IMAGE="${{ env.REGISTRY }}/backend:${{ github.sha }}" + docker build -t "${IMAGE}" -t "${{ env.REGISTRY }}/backend:latest" . + docker push "${IMAGE}" + docker push "${{ env.REGISTRY }}/backend:latest" + + build-and-push-frontend: + name: Build & push frontend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - id: auth + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - uses: google-github-actions/setup-gcloud@v2 + + - name: Configure Docker + run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet + + - name: Build and push + working-directory: genesis/webui/frontend + run: | + IMAGE="${{ env.REGISTRY }}/frontend:${{ github.sha }}" + docker build -t "${IMAGE}" -t "${{ env.REGISTRY }}/frontend:latest" . + docker push "${IMAGE}" + docker push "${{ env.REGISTRY }}/frontend:latest" + + migrate: + name: Run database migrations + runs-on: ubuntu-latest + needs: build-and-push-backend + steps: + - uses: actions/checkout@v4 + + - id: auth + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - uses: google-github-actions/setup-gcloud@v2 + + - name: Install Cloud SQL Proxy + run: | + curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.14.1/cloud-sql-proxy.linux.amd64 + chmod +x cloud-sql-proxy + + - name: Install Liquibase + run: | + wget -q https://github.com/liquibase/liquibase/releases/download/v4.29.2/liquibase-4.29.2.tar.gz + mkdir -p /opt/liquibase + tar xzf liquibase-4.29.2.tar.gz -C /opt/liquibase + echo "/opt/liquibase" >> $GITHUB_PATH + + - name: Start Cloud SQL Proxy + run: | + ./cloud-sql-proxy "${{ secrets.CLOUD_SQL_CONNECTION_NAME }}" \ + --port 5432 & + sleep 5 + + - name: Run migrations + working-directory: migrations + run: | + liquibase \ + --url="jdbc:postgresql://localhost:5432/${{ secrets.DB_NAME }}" \ + --username="${{ secrets.DB_USER }}" \ + --password="${{ secrets.DB_PASSWORD }}" \ + --changeLogFile=changelogs/db.changelog-master.yaml \ + update + + deploy-backend: + name: Deploy backend to Cloud Run + runs-on: ubuntu-latest + needs: [build-and-push-backend, migrate] + steps: + - uses: actions/checkout@v4 + + - id: auth + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - uses: google-github-actions/setup-gcloud@v2 + + - name: Deploy backend + run: | + gcloud run deploy ${{ env.SERVICE_NAME }} \ + --project=${{ env.PROJECT_ID }} \ + --region=${{ env.REGION }} \ + --image="${{ env.REGISTRY }}/backend:${{ github.sha }}" \ + --platform=managed \ + --allow-unauthenticated \ + --service-account=genesis-cloud-run@${{ env.PROJECT_ID }}.iam.gserviceaccount.com \ + --set-secrets="DATABASE_URL=genesis-database-url:latest,OPENAI_API_KEY=genesis-openai-api-key:latest,ANTHROPIC_API_KEY=genesis-anthropic-api-key:latest" \ + --set-env-vars="RUST_LOG=info" \ + --vpc-connector=genesis-connector \ + --vpc-egress=private-ranges-only \ + --port=8080 \ + --cpu=1 \ + --memory=512Mi \ + --min-instances=0 \ + --max-instances=3 + + deploy-frontend: + name: Deploy frontend to Cloud Run + runs-on: ubuntu-latest + needs: [build-and-push-frontend, deploy-backend] + steps: + - uses: actions/checkout@v4 + + - id: auth + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - uses: google-github-actions/setup-gcloud@v2 + + - name: Get backend URL + id: backend + run: | + URL=$(gcloud run services describe ${{ env.SERVICE_NAME }} \ + --project=${{ env.PROJECT_ID }} \ + --region=${{ env.REGION }} \ + --format='value(status.url)') + echo "url=${URL}" >> "$GITHUB_OUTPUT" + + - name: Deploy frontend + run: | + gcloud run deploy genesis-frontend \ + --project=${{ env.PROJECT_ID }} \ + --region=${{ env.REGION }} \ + --image="${{ env.REGISTRY }}/frontend:${{ github.sha }}" \ + --platform=managed \ + --allow-unauthenticated \ + --set-env-vars="BACKEND_URL=${{ steps.backend.outputs.url }}" \ + --port=8080 \ + --cpu=1 \ + --memory=256Mi \ + --min-instances=0 \ + --max-instances=2 diff --git a/.gitignore b/.gitignore index c9b542f..f1cdf57 100644 --- a/.gitignore +++ b/.gitignore @@ -176,3 +176,16 @@ cython_debug/ .pre-commit-cache/ results/ *.log + +# Terraform +terraform/.terraform/ +terraform/*.tfstate +terraform/*.tfstate.backup +terraform/.terraform.lock.hcl +terraform/terraform.tfvars + +# Rust +genesis_rust_backend/target/ + +# SQLx offline cache (committed intentionally, but gitignore target) +# genesis_rust_backend/.sqlx/ diff --git a/.mcp.json b/.mcp.json index d284355..8b77d25 100644 --- a/.mcp.json +++ b/.mcp.json @@ -4,7 +4,7 @@ "type": "stdio", "command": "python3", "args": ["-m", "genesis.mcp_server"], - "cwd": "/Users/georgepearse/Genesis" + "cwd": "." } } } diff --git a/CLICKHOUSE_INTEGRATION_COMPLETE.md b/CLICKHOUSE_INTEGRATION_COMPLETE.md deleted file mode 100644 index fe83ee5..0000000 --- a/CLICKHOUSE_INTEGRATION_COMPLETE.md +++ /dev/null @@ -1,235 +0,0 @@ -# ClickHouse Integration - ✅ COMPLETE - -## Summary - -Successfully integrated ClickHouse logging into the Genesis evolution runner. All 7 tables are now being populated with real-time evolution data. - -## What Was Added - -### 1. Code Changes in `genesis/core/runner.py` - -#### Instance Variables -- `self.run_id`: Unique identifier for each evolution run -- `self.logged_generations`: Track which generations have been logged to avoid duplicates - -#### Logging Points - -**At Evolution Start (`run()` method):** -```python -ch_logger.log_evolution_run( - run_id=self.run_id, - task_name=task_name, - config=config_dict, - population_size=target_gens, - cluster_type=self.evo_config.job_type, - database_path=str(self.db_config.db_path), - status="running", -) -``` - -**At Evolution End (`run()` method):** -```python -ch_logger.update_evolution_run( - run_id=self.run_id, - status="completed", - total_generations=self.completed_generations, -) -``` - -**After Each Individual Evaluation (`_process_completed_job()`):** -```python -ch_logger.log_individual( - run_id=self.run_id, - individual_id=db_program.id, - generation=job.generation, - parent_id=job.parent_id or "", - mutation_type=mutation_type, - fitness_score=combined_score, - combined_score=combined_score, - metrics={"public": public_metrics, "private": private_metrics}, - is_pareto=is_pareto, - api_cost=..., - embed_cost=..., - novelty_cost=..., - code_hash=code_hash, - code_size=len(evaluated_code), -) - -ch_logger.log_lineage( - run_id=self.run_id, - child_id=db_program.id, - parent_id=job.parent_id, - generation=job.generation, - mutation_type=mutation_type, - fitness_delta=fitness_delta, - edit_summary=edit_summary, -) -``` - -**When Generation Completes (`_update_completed_generations()`):** -```python -# New helper method: _log_generation_to_clickhouse() -ch_logger.log_generation( - run_id=self.run_id, - generation=generation, - num_individuals=len(programs), - best_score=best_score, - avg_score=avg_score, - pareto_size=pareto_size, - total_cost=total_cost, - metadata={...}, -) - -ch_logger.log_pareto_front( - run_id=self.run_id, - generation=generation, - pareto_individuals=pareto_data, -) -``` - -### 2. Files Modified - -- ✅ `genesis/core/runner.py` - Added logging integration -- ✅ `genesis/utils/clickhouse_logger.py` - Already had helper methods -- ✅ `docs/clickhouse.md` - Comprehensive documentation -- ✅ `docs/clickhouse_schema_reference.md` - Quick reference -- ✅ `scripts/test_clickhouse.py` - Connection testing tool - -## Verification - -### Test Results - -```bash -$ python scripts/test_clickhouse.py -``` - -**Table Status (All ✅):** -- `evolution_runs`: 1 row - Tracks each experiment run -- `generations`: 2 rows - Per-generation statistics -- `individuals`: 2 rows - Every code variant evaluated -- `pareto_fronts`: 5 rows - Pareto frontier snapshots -- `code_lineages`: 1 row - Parent-child relationships -- `llm_logs`: 2 rows - LLM API calls (auto-logged) -- `agent_actions`: 3 rows - System events (auto-logged) - -### Sample Data - -**Evolution Run:** -``` -📍 Run: run_20251124_191253_ec91890b - Task: genesis_circle_packing - Status: running - Generations: 0 -``` - -**Generation Progress:** -``` -Gen 0 | Individuals: 5 | Best: 53.24 | Pareto: 5 | Cost: $0.00 -Gen 1 | Individuals: 1 | Best: 0.00 | Pareto: 0 | Cost: $0.04 -``` - -**Individual Variants:** -``` -1bf48f09... | Gen 0 | init | Score: 53.24 | Cost: $0.00 | Size: 13440B -f4b0bf8e... | Gen 1 | full | Score: 0.00 | Cost: $0.04 | Size: 14624B -``` - -**Lineages:** -``` -📉 Gen 1 | f4b0bf8e... ← 821997f8... | full | Δ -53.24 -``` - -## Usage - -### Run an Experiment - -```bash -genesis_launch task@_global_=squeeze_hnsw cluster@_global_=local evolution@_global_=small_budget -``` - -All data will be automatically logged to ClickHouse in real-time. - -### Query the Data - -```python -from genesis.utils.clickhouse_logger import ch_logger - -# Best individual across all runs -result = ch_logger.client.query(""" - SELECT i.run_id, i.individual_id, i.fitness_score, i.generation - FROM individuals i - ORDER BY i.fitness_score DESC - LIMIT 1 -""") - -# Evolution progress -result = ch_logger.client.query(""" - SELECT generation, best_score, avg_score, pareto_size - FROM generations - WHERE run_id = 'YOUR_RUN_ID' - ORDER BY generation -""") -``` - -### Visualize with Test Script - -```bash -python scripts/test_clickhouse.py -``` - -Shows: -- Connection status -- Table schemas -- Row counts -- Example queries -- Sample data - -## Benefits - -1. **Real-time Monitoring** - Watch evolution progress live -2. **Historical Analysis** - Compare runs over time -3. **Cost Tracking** - Monitor API spending per generation -4. **Lineage Tracing** - Understand evolutionary pathways -5. **Pareto Analysis** - Track multi-objective optimization -6. **Debugging** - See exactly what happened and when - -## Next Steps - -### Integration with WebUI - -The ClickHouse data can now be integrated into the Genesis WebUI for: -- Real-time dashboards -- Interactive lineage trees -- Pareto frontier visualization -- Cost analytics -- Run comparison - -### Grafana Dashboards - -Create Grafana dashboards for production monitoring: -- Evolution progress over time -- API cost burn rate -- Model performance comparison -- Success/failure rates - -### Data Analysis - -Use ClickHouse for advanced analytics: -- Mutation type effectiveness -- Island migration patterns -- Novelty search impact -- Meta-recommendation influence - -## Documentation - -- **Full Guide**: `docs/clickhouse.md` (889 lines) -- **Schema Reference**: `docs/clickhouse_schema_reference.md` -- **Test Script**: `scripts/test_clickhouse.py` -- **Setup Summary**: `CLICKHOUSE_SETUP.md` - ---- - -**Status**: ✅ Complete and verified -**Date**: November 24, 2025 -**Tables**: 7/7 operational -**Test Runs**: Successful with `squeeze_hnsw` and `circle_packing` tasks diff --git a/CLICKHOUSE_SETUP.md b/CLICKHOUSE_SETUP.md deleted file mode 100644 index cfa03ab..0000000 --- a/CLICKHOUSE_SETUP.md +++ /dev/null @@ -1,142 +0,0 @@ -# ClickHouse Setup - Summary - -✅ **All tables successfully created and verified!** - -## What Was Added - -### 1. Database Schema (7 Tables) -All tables automatically created via `genesis/utils/clickhouse_logger.py`: - -| Table | Rows | Purpose | -|-------|------|---------| -| `evolution_runs` | 0 | Track each experiment run | -| `generations` | 0 | Per-generation statistics | -| `individuals` | 0 | Every code variant evaluated | -| `pareto_fronts` | 0 | Pareto frontier snapshots | -| `code_lineages` | 0 | Parent-child relationships | -| `llm_logs` | 0 | All LLM API calls (auto-logged) | -| `agent_actions` | 0 | System events (auto-logged) | - -### 2. Helper Methods -Added to `genesis/utils/clickhouse_logger.py`: -- `log_evolution_run()` - Start of experiment -- `log_generation()` - Generation stats -- `log_individual()` - Individual evaluation -- `log_pareto_front()` - Pareto frontier -- `log_lineage()` - Parent-child relationship -- `update_evolution_run()` - Mark run complete - -### 3. Documentation -- **`docs/clickhouse.md`** (889 lines) - Complete guide with: - - Detailed explanation of every table and column - - Example queries for common analyses - - Usage examples in code - - Troubleshooting guide - - Data volume estimates - - Visualization setup - -- **`docs/clickhouse_schema_reference.md`** - Quick reference: - - All table schemas in one place - - SQL DDL for recreation - - Entity relationship diagram - - Index optimization tips - -### 4. Testing Script -- **`scripts/test_clickhouse.py`** - Verify connection and show schema - -## Quick Start - -### Test Connection -```bash -python scripts/test_clickhouse.py -``` - -### View Tables -All tables are created automatically. Current state: -- ✅ 7 tables exist -- ✅ Schemas validated -- ⏳ Waiting for data (need to integrate logging in runner.py) - -## Next Steps - -### To Start Logging Data - -The tables exist but are empty. To populate them: - -1. **Update `genesis/core/runner.py`** - Add logging calls: -```python -from genesis.utils.clickhouse_logger import ch_logger - -# At start of evolution -ch_logger.log_evolution_run( - run_id=run_id, - task_name=cfg.task_name, - config=OmegaConf.to_container(cfg), - population_size=cfg.evolution.pop_size, - cluster_type=cfg.cluster.type, - database_path=db_path, -) - -# After each generation -ch_logger.log_generation( - run_id=run_id, - generation=gen, - num_individuals=len(population), - best_score=max(scores), - avg_score=np.mean(scores), - pareto_size=len(pareto_front), - total_cost=sum(costs), -) - -# After each individual evaluation -ch_logger.log_individual( - run_id=run_id, - individual_id=ind.id, - generation=gen, - parent_id=ind.parent_id, - mutation_type=ind.mutation_type, - fitness_score=ind.fitness, - combined_score=ind.combined_score, - metrics=ind.metrics, - is_pareto=ind.is_pareto, - api_cost=ind.api_cost, - embed_cost=ind.embed_cost, - novelty_cost=ind.novelty_cost, - code_hash=hash(ind.code), - code_size=len(ind.code), -) -``` - -2. **Run an experiment** - Data will flow automatically: -```bash -genesis_launch variant=circle_packing_example -``` - -3. **Query the data**: -```bash -python scripts/test_clickhouse.py # Will show row counts -``` - -## Documentation - -- **Full Guide**: `docs/clickhouse.md` -- **Schema Reference**: `docs/clickhouse_schema_reference.md` -- **Test Script**: `scripts/test_clickhouse.py` - -## Verify Setup - -```bash -# Check environment -echo $CLICKHOUSE_URL - -# Test connection -python scripts/test_clickhouse.py - -# Should output: -# ✅ ClickHouse connection successful! -# 📊 7 tables created -``` - ---- - -**Status**: ✅ Setup complete, ready for integration! diff --git a/Dockerfile b/Dockerfile index de44e65..d5837b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,41 +1,15 @@ -# Backend Dockerfile for Genesis Evolution Platform -FROM python:3.12-slim +# Root Dockerfile - builds the Rust backend +# For local Python development, use: uv pip install -e ".[dev]" -# Set working directory +FROM rust:1.83-bookworm AS builder WORKDIR /app - -# Install system dependencies -RUN apt-get update && apt-get install -y \ - build-essential \ - curl \ - git \ - postgresql-client \ - && rm -rf /var/lib/apt/lists/* - -# Copy dependency files -COPY pyproject.toml ./ -COPY README.md ./ - -# Copy application code -COPY genesis/ ./genesis/ -COPY configs/ ./configs/ -COPY examples/ ./examples/ -COPY tests/ ./tests/ - -# Install Python dependencies -RUN pip install --no-cache-dir --upgrade pip && \ - pip install --no-cache-dir -e . - -# Create directory for results and database -RUN mkdir -p /app/results /app/data - -# Expose port for any potential API/web service -EXPOSE 8000 - -# Set environment variables -ENV PYTHONUNBUFFERED=1 -ENV GENESIS_DATA_DIR=/app/data -ENV GENESIS_RESULTS_DIR=/app/results - -# Default command (can be overridden in docker-compose) -CMD ["python", "-m", "genesis.launch_hydra"] +COPY genesis_rust_backend/Cargo.toml genesis_rust_backend/Cargo.lock ./ +RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build --release && rm -rf src +COPY genesis_rust_backend/src ./src +RUN touch src/main.rs && cargo build --release + +FROM gcr.io/distroless/cc-debian12 +COPY --from=builder /app/target/release/genesis_rust_backend /genesis_rust_backend +ENV PORT=8080 +EXPOSE 8080 +ENTRYPOINT ["/genesis_rust_backend"] diff --git a/SESSION_SUMMARY.md b/SESSION_SUMMARY.md deleted file mode 100644 index 491d7a2..0000000 --- a/SESSION_SUMMARY.md +++ /dev/null @@ -1,294 +0,0 @@ -# Genesis Session Summary - November 24, 2025 - -## 🎯 Main Objectives Completed - -### 1. ✅ ClickHouse Integration - COMPLETE - -**Created 7 operational tables:** -- `evolution_runs` - Experiment tracking -- `generations` - Per-generation statistics -- `individuals` - Code variant evaluations -- `pareto_fronts` - Pareto frontier snapshots -- `code_lineages` - Parent-child relationships -- `llm_logs` - LLM API call tracking (auto-logged) -- `agent_actions` - System event tracking (auto-logged) - -**Integration points added to `genesis/core/runner.py`:** -- Evolution run start/end logging -- Individual code variant logging after each evaluation -- Generation statistics when generation completes -- Pareto frontier snapshots -- Lineage tracking for parent-child relationships -- Cost breakdown (API, embedding, novelty) - -**Documentation created:** -- `docs/clickhouse.md` (889 lines) - Complete integration guide -- `docs/clickhouse_schema_reference.md` - Quick schema reference -- `scripts/test_clickhouse.py` - Connection test & verification tool -- `CLICKHOUSE_SETUP.md` - Initial setup summary -- `CLICKHOUSE_INTEGRATION_COMPLETE.md` - Final completion summary - -**Verified with test runs:** -- `squeeze_hnsw` (Rust HNSW optimization) -- `circle_packing` (Python circle packing) -- All tables populated successfully ✅ - -### 2. ✅ LLM Documentation - COMPLETE - -**Created comprehensive LLM guide:** -- `docs/available_llms.md` - Complete LLM documentation - -**Documented 60+ models across 6 providers:** - -**Anthropic Claude:** -- claude-3-5-haiku, claude-3-5-sonnet, claude-3-opus -- claude-3-7-sonnet (reasoning) -- claude-4-sonnet, claude-sonnet-4-5 (reasoning) - -**OpenAI GPT:** -- gpt-4o-mini, gpt-4o, gpt-4.1 series -- o1, o3-mini, o3, o4-mini (reasoning models) -- gpt-4.5-preview, gpt-5 series (future) - -**DeepSeek:** -- deepseek-chat (ultra cost-effective) -- deepseek-reasoner (reasoning) - -**Google Gemini:** -- gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite -- gemini-3-pro-preview (future) - -**AWS Bedrock & Azure:** -- Full Bedrock support for Anthropic models -- Azure OpenAI integration - -**Dynamic Model Selection System:** -- Asymmetric UCB (Upper Confidence Bound) bandit algorithm -- Automatic learning of best-performing models -- Adaptive exploration/exploitation balance -- Cost-performance optimization -- Real-time monitoring and logging - ---- - -## 📊 Current State - -### ClickHouse Tables Status - -``` -✅ evolution_runs : 1 row - Tracking experiment runs -✅ generations : 2 rows - Per-generation statistics -✅ individuals : 2 rows - Code variant evaluations -✅ pareto_fronts : 5 rows - Pareto frontier snapshots -✅ code_lineages : 1 row - Parent-child relationships -✅ llm_logs : 2 rows - LLM API calls -✅ agent_actions : 3 rows - System events -``` - -All 7 tables operational and verified! - -### LLM Support - -- **6 providers** integrated (Anthropic, OpenAI, DeepSeek, Gemini, Bedrock, Azure) -- **60+ models** available -- **3 selection modes**: Static single, Static multi, Dynamic UCB -- **Cost tracking** integrated with ClickHouse -- **Automatic adaptation** via UCB bandit algorithm - ---- - -## 📁 Files Created/Modified - -### Created: -- ✅ `docs/clickhouse.md` (889 lines) -- ✅ `docs/clickhouse_schema_reference.md` -- ✅ `docs/available_llms.md` -- ✅ `scripts/test_clickhouse.py` -- ✅ `CLICKHOUSE_SETUP.md` -- ✅ `CLICKHOUSE_INTEGRATION_COMPLETE.md` -- ✅ `SESSION_SUMMARY.md` (this file) - -### Modified: -- ✅ `genesis/core/runner.py` - Added ClickHouse logging integration -- ✅ `genesis/utils/clickhouse_logger.py` - Enhanced schema and helper methods -- ✅ `mkdocs.yml` - Added new documentation pages -- ✅ `scripts/README.md` - Added test_clickhouse.py documentation - ---- - -## 🚀 Key Features Implemented - -### Real-time Evolution Tracking -- Every code variant logged to ClickHouse -- Generation statistics automatically computed -- Pareto frontier snapshots -- Cost tracking per individual, generation, and run - -### Multi-Provider LLM Support -- Seamless switching between providers -- Unified pricing across all models -- Automatic retry with exponential backoff -- Cost tracking and monitoring - -### Dynamic Model Selection -- UCB bandit algorithm learns best models -- Balances exploration vs exploitation -- Adapts to task-specific performance -- Automatic cost-performance optimization - -### Comprehensive Analytics -- SQL queries for evolution analysis -- Lineage tracing for phylogenetic trees -- Cost breakdown by model and component -- Performance monitoring over time - ---- - -## 📚 Documentation Highlights - -### ClickHouse Integration -- Full table schema explanations with example rows -- 20+ example SQL queries for common analyses -- Data volume estimates and retention policies -- Integration guide for runner.py -- Troubleshooting section -- Grafana/Metabase visualization setup - -### LLM Guide -- Pricing comparison across all models -- Best practices for cost optimization -- Configuration examples for different use cases -- Dynamic selection algorithm explanation -- Environment variable setup -- Model performance monitoring - ---- - -## 🔍 Testing & Verification - -### Tests Performed: -1. ✅ ClickHouse connection test -2. ✅ Table creation verification -3. ✅ HNSW optimization run (2 generations) -4. ✅ Circle packing run (1 generation) -5. ✅ Data verification in all 7 tables -6. ✅ Cost tracking verification -7. ✅ Lineage tracking verification - -### Results: -- All tables populated correctly -- Real-time logging working -- Cost tracking accurate -- Lineage relationships preserved -- Generation statistics computed correctly - ---- - -## 💡 Usage Examples - -### Run Evolution with ClickHouse Logging -```bash -genesis_launch task@_global_=squeeze_hnsw cluster@_global_=local evolution@_global_=small_budget -``` -All data automatically logged to ClickHouse! - -### Test ClickHouse Connection -```bash -python scripts/test_clickhouse.py -``` - -### Dynamic Model Selection -```yaml -evo_config: - llm_models: - - gpt-4.1 - - claude-3-5-sonnet-20241022 - - gemini-2.5-flash - - deepseek-chat - llm_dynamic_selection: "ucb" -``` - -### Query Evolution Data -```python -from genesis.utils.clickhouse_logger import ch_logger - -result = ch_logger.client.query(""" - SELECT generation, best_score, avg_score, pareto_size - FROM generations - WHERE run_id = 'YOUR_RUN_ID' - ORDER BY generation -""") -``` - ---- - -## 🎁 Benefits Delivered - -### For Researchers: -- ✅ Complete evolution tracking for reproducibility -- ✅ Historical analysis across multiple runs -- ✅ Cost optimization via model selection -- ✅ Lineage analysis for evolutionary insights - -### For Developers: -- ✅ Real-time debugging via ClickHouse queries -- ✅ Performance monitoring dashboards -- ✅ Automatic model adaptation -- ✅ Comprehensive logging for troubleshooting - -### For Production: -- ✅ Cost tracking and budgeting -- ✅ Scalable data storage (ClickHouse) -- ✅ Multi-provider redundancy -- ✅ Automatic failover and retry logic - ---- - -## 📈 Next Steps - -### Immediate: -1. Integrate ClickHouse data into WebUI for real-time dashboards -2. Create Grafana dashboards for monitoring -3. Add more example queries to documentation - -### Future: -1. Multi-objective Pareto frontier visualization -2. Interactive lineage tree viewer -3. Cost prediction based on historical data -4. A/B testing framework for model comparison - ---- - -## 📊 Statistics - -- **Lines of Code Added**: ~500 (runner integration + helpers) -- **Documentation Written**: ~2000 lines -- **Tables Created**: 7 -- **Models Documented**: 60+ -- **Providers Integrated**: 6 -- **Test Runs Completed**: 3 - ---- - -## ✅ Completion Checklist - -- [x] ClickHouse tables designed and created -- [x] Integration added to evolution runner -- [x] Test script created and working -- [x] Comprehensive documentation written -- [x] Schema reference created -- [x] Test runs completed successfully -- [x] LLM providers documented -- [x] Dynamic selection explained -- [x] Configuration examples provided -- [x] Cost tracking verified -- [x] Lineage tracking verified -- [x] MkDocs navigation updated - ---- - -**Status**: All objectives completed successfully! ✅ - -**Date**: November 24, 2025 - -**Next Session**: WebUI integration of ClickHouse data diff --git a/docker-compose.yml b/docker-compose.yml index ad1362c..4bf9a63 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,75 +1,80 @@ version: '3.8' services: - # ClickHouse Database - clickhouse: - image: clickhouse/clickhouse-server:latest - container_name: genesis-clickhouse + postgres: + image: postgres:15 + container_name: genesis-postgres + environment: + POSTGRES_DB: genesis + POSTGRES_USER: genesis_app + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-genesis_dev} ports: - - "8123:8123" - - "9000:9000" + - "5432:5432" volumes: - - clickhouse_data:/var/lib/clickhouse - ulimits: - nofile: - soft: 262144 - hard: 262144 + - postgres_data:/var/lib/postgresql/data networks: - genesis-network restart: unless-stopped healthcheck: - test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] + test: ["CMD-SHELL", "pg_isready -U genesis_app -d genesis"] interval: 10s timeout: 5s retries: 5 - # Genesis Backend Application + liquibase: + image: liquibase/liquibase:4.29 + container_name: genesis-liquibase + depends_on: + postgres: + condition: service_healthy + volumes: + - ./migrations:/liquibase/changelog + networks: + - genesis-network + command: > + --url=jdbc:postgresql://postgres:5432/genesis + --username=genesis_app + --password=${POSTGRES_PASSWORD:-genesis_dev} + --changeLogFile=changelog/changelogs/db.changelog-master.yaml + update + backend: build: - context: . + context: genesis_rust_backend dockerfile: Dockerfile container_name: genesis-backend environment: - # Genesis application settings - GENESIS_DATA_DIR: /app/data - GENESIS_RESULTS_DIR: /app/results - PYTHONUNBUFFERED: 1 - - # ClickHouse Configuration - CLICKHOUSE_URL: http://default:@clickhouse:8123/default - CLICKHOUSE_HOST: clickhouse - CLICKHOUSE_PORT: 8123 - - # LLM API Keys (to be provided via .env file) + DATABASE_URL: postgresql://genesis_app:${POSTGRES_PASSWORD:-genesis_dev}@postgres:5432/genesis OPENAI_API_KEY: ${OPENAI_API_KEY:-} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} + RUST_LOG: info + PORT: "8080" + ports: + - "${GENESIS_PORT:-8080}:8080" + depends_on: + liquibase: + condition: service_completed_successfully + networks: + - genesis-network + restart: unless-stopped - # Optional E2B configuration - E2B_API_KEY: ${E2B_API_KEY:-} - - # Web UI configuration - GENESIS_WEBUI_PORT: ${GENESIS_WEBUI_PORT:-8000} - volumes: - # Mount directories for persistent data - - ./data:/app/data - - ./results:/app/results - - # Mount source code for development (comment out for production) - - ./genesis:/app/genesis - - ./configs:/app/configs - - ./examples:/app/examples + frontend: + build: + context: genesis/webui/frontend + dockerfile: Dockerfile + container_name: genesis-frontend + environment: + BACKEND_URL: http://backend:8080 ports: - - "${GENESIS_WEBUI_PORT:-8000}:8000" + - "${FRONTEND_PORT:-3000}:8080" depends_on: - clickhouse: - condition: service_healthy + - backend networks: - genesis-network restart: unless-stopped - command: ["python", "-m", "genesis.webui.visualization", "--port", "8000"] volumes: - clickhouse_data: + postgres_data: driver: local networks: diff --git a/genesis/favicon.png b/genesis/favicon.png deleted file mode 100644 index c25e6bd0dca12352c9232e29025f34d3b68f5f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1136384 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 z zPDl~oA~ayey)|Ac7bT-Q5mH(@b3B|yplUfTm1}27+m;c0HKcjBwzc)?j746o%c=@Kg=y)zkh>=XWk%F!`$s z1WAozAjm;x0Xzbc{6chJ=NZ1>Y*~k@1MRpKgH_!)6f`L7@-h(jwnTH}y&s}RJZz6rj}`#m^5J{P+pI?p${CGJr2Bt_wa4-_M;M?PrGQqF zP8ldWbaT}tjZ9`fYTHUBOLJqm7S)1{kaqUUNKPvxlN)kWL3MXF?CC|X8|l`$^@ef@ z^f()-w>D23ZKzrySON>ZKaHMV-ZFWiXeZ<1JWfhM&;$m_*~RAz_`Gjlc=+hSqgQ^* zzw^KSKYraGc=ylv#jm}1J)W-zeS4tCC%B|Mke;rbX&>D+YpQN8z|HgL7e4>yfAlx8 z?w-E((VLqWuONvF7g%c-q5)_esE(GZf%_ouC?W5faI6Erbhv3YL&qpM7UdHLwSvmi z$^cxKL1ruA)_vt(1i++=e-9}VOuDrclTt`v=ia3 z6gP#9gku$d0Kh6r$8aHdg1IAB>j@%^kpifE0bQ@2?X3JehBP|@$a4+p>(x-THH>hD zc{np+%tX$zn;K&s){Hdn^!H%vR+zxGPaFaAs(7ub4+>e9A-ODc63_l!%s|cW=EhZO z7~MCe)@skWR*Y%2GaW7YmMpHS_K3@Z2GNOR+EsSPfVSy7ar22$eNzC4TD&pYa}?vp z4oTBQ&uP4miC*r~a+0E*N(s4yW^jOUW=%H~svaBO0O8z|8FyDZM>Kw1z)2rcCud=2 ztv-9fheip`p==l?K*MRE63n$KlGf<)sU8s>2-3%OW`&QP)GhR7F6~UJ1_?BdQ#reW zT4vsjgldmNDa+U^T}_OA%kgK#L^pAuiWuLNi`vePkQn?7cRS%RKi6dU_TTa=gDMO5&^x7?~97$$HtA zQVS9_wdq0XN2W?w+zlFyJ_P@WzIc#~z($)3n}IvX3pKL`TYxkZV_V-TaDa}Upnk zBuLU_W_0IZ*%8v^t&C_s{h7h<0K=<0*DCpgmp}V`_6W73x#?b1R?v0-3P3Bn+48Ln z+C$wD!ESX^g(>e%OV-iQ9jT#zs`~J>73`wBEm2HMqsEM5@^hdR0chQpuwtc%UM3bI zSaFc4ik_GlU+n4cR`fMhVZ7c!54x~QRHhfsW^e*FGMz5*FEP66a#P)jaDzZ4-RtU& zYcvSV<%^toORjyLCWd9Zk$gO|H&yfLbxKXxMoYtmKJ{fQ6!voHCwpZf)$^y%02Ci;TD zURc+QD~DA#0myOw32~I(#jEN#;i{DUg2umg{O`^|A?>0a{mxPSQ$mN1`=t1rq*c~- z`YXeMY3J1P@0?8z`Cim8*sSg93gJi;hq|h}61IWn3?%&-0{!sv_}~4*f0Fg)_kP!Z zdvxKhAK~`st`u2kV>DZ3jls}8D$R$Z09`z<+|D<=&eCWdOM&$5Ia7@Wy9J8+=xI9* z8-~l-fT}Xwe2wr=&W82+$5kaRcocS*lD@`bi-Pf2KE)XO(^!82=8Ra^wvFuY~U-e zP;nGxc(SpQyEaYZRu+!?PY3|ZRX>`lGt3ItuGqw&j}lO+?&h{|dQ(`1%v;fk)%2j; zlD3ssj(tMvwCAb~O`J4K=c$#5YE#t?)e@?R9xsBF*DF5%&DVa+aQP(9NA2P>jM}t3 z-N|S?r;Jo5vR5`SxsdT7&CEB4{2HT%fq~)7LNwJeHG8Xsb=0iIKHAmW0T10|s~J_E zV8HSm7}zuD%IKu%t1G` zIl4<`o%EA6vX$NmeRW4G1&wOo`=mc?4aekhsF%K$Y_KC7GH5Q5I0y>xkc!4E#@!io zla^T=M;cxgG|%KUCtk1PETE8#QK^u>Lklfy4E?vI1dg?UvLOd%Bx?Dj_zyI8Jo%u% zKR*DQoTHa^&hIZLD6g={Ds~+NtXk5y*QjpQ@o?qze!APKH}crl+a#PrBvS<{8i9G1 zL={yXXzxPpOA_>q()v_!5#9F)fcrcga4(5clpU`&H>y#m9h_Og1ex!H6Z#yNAVn<(&vH z)WiEO>S+4R3S?OVJksg$M5+4fAG)z z;XnDxmwx%((`Sz74zXETIY&31c)QRwbH}>$(brd>KK?PLoXRoK#ODBLr z5D>uf;P@OSyH4+pT@%jbJG#Ts*#7CgJDrhNLj0hm{S~@VbTtGp7nddmlY7C9Q`;S- zBf(%-y8)iQA?Q3Uuq%scp1di>k=&hb&QXm$T*weS^QcCHHIILy-=u&VE}{+q)x)L8eR@EBy35cyW?&KP zq)zrC3b!qy5;A!2?K^aT#d-|f4H*l*B487+#ykQs@#wXa=(50a6R&zmXRwu$g*ujv zNqvWtpADS=YWR{|F_w|M(ZMGUgT|#iFE-8jRjHpO`zX%`oShfg{z$N<(_f`H=v6t> zIbvx=iha`3Q0Bv`K7d(6-K8~H%4WFDj_#C|AuUcrDTfAIk-)6!<1kC>j~7&&uE+x@ z9xCOcif=%%#9_2@wy|f(|7t7fwlx)7RZXzVmpM?(utlyqAW%Xg<6s)obc9B@V`jYk zCc{U0z1vVF6p}0UVeo2GT};d*uJb=RO73j0eC3(OXeGn|_0dQIt<<2zDV91qyiBvg zG%)V32K<^kuQhfZ==; z!=+jY`+#TUDWTzrhv?e3iX{bCvXcx?|2}jj2Akjw21m)O=ToTKqHjHR-P^F9>bBTa zB_lHEF7yId#cc{asoBFf#OnTavB=>RjJ0&{jeC5Q_cRLCJp2l(Dgt$|8hUFF!t(4O zMr`O3HHsDwB2K~=i2>U&IXXCQ2>T*XQKxIh`G-?6GKQzrcsnBYp2*{0@Di5>c}>Bo zzHH2Kqy`qPvDDpHX9MDl30{!chhp}TbJ15!gjhHhI9H^<+APlYTpLA1+Nnr6g_4vM z1>H#RpA*+(uPrVPLOio6a6pox;i3C7hO!fAI9PIva+sEBY6gJ|@?)Bq_r#rEZ?WcX z6wp}>Ss_K$afm+F!I=ymK$A8>y~t26R^Dp>nkd05sB2nr3OmWFQ|=doVP%4|-B^)p zLDQ*x#AObJoc_FohJl|mut-L5NTO!;)&#sE*4*xFEMJgD@nm!Dy?bqI4&LREA!Qh5MNWxWzzrv+`~9)yJRyEN4u zG&Zl=t;hN#U#4DN880oz%!Z|+a%P$^HiN2*?;Om+tjeX(L}4=3!I-pQRi137K(RRr z3M^FV$SaShe2o+;M%HqNa2L4zo&Dq!6mV_TP z%(3aHFKQO<#x;9Go9BSKl2=gAsm{ooANrdpIhgD)A(RIS$5FN8Oa;lK&>D<0Ga@4i zU2m1S6VjAtbUWb!LWwE^SXeq}eW2L;uN`YZpx%7_L(QbMgfENsWe!-IB1mORM|4sl zV^jF>lqq`PyM;IPlv8PGh{F!c=j5t3{_Ufo z##I2AhPqO~LM>MUMKFPD&qHwBD)XI=v7;XFT{dW9nZ86V;xN(YGB3osSLgz(!$a7L z!mhycHSWp>=;_0{rtz!?80gtKtgUVZVPbIXPf!JY#Kz@LGTQr*cxWrzFhQ_GML5sY z^$?p1muc2Rd0m%M-->ro`e-FsJbqbgp&>)P7lO-`X3WIRmBUekF5qiV1 z)zwQcq|IR4xI*#HaGeO)(x;}erS=d!V!}@w{fri)PHk9zOQA?FD5=WfGqOLkJgQq? z?Kl-@q?(vMTf^v85Rts*$gESj<@WII_A^Tb0B%VhNiAZbl$ za5)RXgFC$bupZvN_>TYmpZjxP^IL!Gqc8qNbwS_VLES4OZF9`38dyF6u|J?Mz+Lf$ zhc`d|E#LMp|E6E_xBmDaTJz?0-H}&sL#piQZP)))n^+AYVx~~;?mUpHAPi+3VpO&l zPzrkfH1mI5oH0qXnL6jTNPI#GZ`ZfNsUiFMz>>9R@hSVPZNfpvpmV zo;{r3I?Doy!{tf4bq-M}gP~O6cf2^&c>9MPo9W}5G}?KtJ32XRk4P{AF)x;?g5Nf$ zBx|sh+xlR;`!PvTPJ$HlxFcH$hj*24VR4Dc##0?n6&Inw67nSi>laIc%%zO!g99f~ zG_GJYn_@r*47jl`Kv||S0R{FO`2m+*?xm4H7%ojq&@Pvqsw`%pic|LfbhtT7+5mNK z`A;`TCb*EvQZh92l0K_JnUt-j78Ee3(o0tV3g4l zvT|lRWLWYQ5$!5E9Gr!&L%$*?vLS``%*?H3Y{*gBBE1|P7)vZogYTIYK?1(?q9H9c+LaplA#u`cns(qDM zFsl{FG}|WhP{CW{d1lZc)(jU!qHlUTeW*0BY5KBzn(xu6mt<5fIEpnbw>GBXOR`#> znB&Ge=1rFeYKTf|bdvJ1-w+8LSR;`tHms`qzz9Fd>dNN>Xx}Po{j!X`N~#tG3h`C( zS!W#x1x$y`le_5f7VYE)8jmeTZR z6yS7H$2;MzPVm-W?HEz0s76^6e+Q#9rBx8(2}alm|LCFdgT#TADxtF-dx`Y$>Y$zt z39%mkoSjVBajb>Px+Y!HnXmLVyMfcDyepDSLzJ|&9@rpEM289+#{R#v``_d{(jmE@ z%ZUEueD*V`rN7FzMCyeBt+P&#hc8mVCCY?2wh5MH=(ID;>Kxm%VA57&G-q$_zQ(kt zL>6=O(S3A3FWg)nzw=N12Y>c!e(Tq~_yxZRHwUhFz@g>HeUv+m7*ewWDok{t$OgOK zeC&ljOwj)zlLwa2{0UyZ8ZqvDcE&_@yd(q zU5HmMokKgo9oQ5TkT9Ta5PZ~qz;sF4$9SE2p0X>AQP}ZBG@cJnK?7r&ZZa5(Nkb_E zC+9jG^n-_3^XToL`N0o;_?1untfxQtqo4h=zwBW@eER$&c<=znQLLlt=I{`5ouyeG z6k?ZGjVgMsvi{Rt%u{L+6HG<#o09Yfo!mn*OjAv)H0xykfFZ6)i1D-&W@n43?QX_G ziEByb>#^x-dNdU%lS!*LtyKU^RW{pzDPUUcLPZMymZN-$&mYBL2LhHQ9fxL?ikM83 z;LiE|OhJ^?eR%3=*Gx{uDYLIiKb;~bgzoyVvRtieg}#o7W$u6xW`!G)^QG|%mAv~5 zlSN$*16Yp^wdx`?tHSV zs5^Bj0Xi)?$dcU_*TYMg|}cvxTCzK(Ku{)amFUTr}oe8d4zJ zcT*mb^SPs@&T5r^hkV``xNuAqc3xojWfe3SJ1zK%h1d^td>S)x} zW;%8qmX#$9abbHvPf=5Y)lPk6IleJZyQP8YRmb6s6CvA+D2>XT;&{4Yun5yM={Jdo zFWVWmlGYx%yp}>LdzPfbrGzFPYp|sKDjaPtM@L1+E$(6`IissQ%y#>L#7mmTN>t#W z)VEbCU+ahD-M)<4qM#z6koR&7;RFnGR!W9~a zby=|C@XE$v*&Cd+q?nD=<>XJ$uIUNJFvfj8k5@(6KzXk!I^27J+337`u{j^ns+XgjiRoJ`4a69sX^-4;8^_!jXA^NVbO= z5!Y+R>6IOf|CyG?6gYG3dJ(s8eEYZm+kfnjyzjF<_q8V}pg_@69X=jKLQ;dULEhZrf0e=mJk_lft2Po?zn$ zr%<6dP}Tv8fDNpX$MNVat&sljA>SlEeTp}@zVYnQTR!P;{x{$J#lPUI*7NJbw>^{$^>=a|dohPd7d;^SlvDy>;sF^^4k+*CwRJ;$RQ%D+4QbwgI9Rups+V8yB< z{@FphT24FuM|`l#IO-D67tk1rOx$Cp6i|mY^j`MYhaWzW4l5_7C=H7!9n_(Ky7LyP z&pZUA3T=^~oxIJ;j&e5;mT7N+@9NM@2ni)0t@6_um*dR#d90GZbd#I>NSVEdooJ{$ z)a2eCwc0zMto>AD!0)AX-P^H2qY>1&y`!d9rHj62OZ2N;xeh>pi%gJ-WquDIW3|!m z7uT^=#Vyf74^*geXSW`FwwHtYo8)9@$kagq2&!OSrutr|SxdQDRPz{WP@GU7+bGrl z6z8L0pif>1^FGE}a`7~serQ@VJetzlr-~!yUQcz~N5Y)D0e1aaX$u}5a%C-4Fi__~49)72F`EP=^~m^9au6e``d z)&+Ik0mIFgtC+;nqzl*%zD$HWTY_3-xf5Z9mirY-`SIF; z&pK^qz*;9kB0EWcAJc9&CG#yD*gZm81}9YhmU1^+XKb6>D16$n+*jSo}^M>+vH>10u`R^^r7_2yQKfkp(v1RP? z5xjR0WiWDtdX`*qBCr(7#j9*6hZB+vbX5tHtEdK2s*kDp!#RUAcA_r?6Dtsg7oN8x zj?~~DL1zC;U6K?jbLVK=Clo!VUGUNe&JIx!bJYK3gt2o5Bhh3(7Qt%VKRC@xXXX14I297 z+r>)3UfyLuLLj;TWY#VAH9#_l835z1Elm#<89nrBbEgtIX5mwH=8^M5Y0{W{(oYb( zvZeVnnY{Fu&E)jT!V02}0*}G*_-&v3pZ@Lt;(zt8{m$R`D}U32&-_x{T=?wS z-OX_^g7x_|YMgr~Sf`Y<4>|f#-+cIczwZmb;w%2}*ZlUbCq36IuP@Y1`R*p8f5+(! zl1EvIv7g{Q4sKWLu8XQVT8}X<5ly4Yk(8po5bv&T7Y7MPLrm}hh<0hQY-8F&%Mf?b z9BZ&qV@$W@qJ!hXV|+`q+Xyia5<=_WEHzz@^$d**_5pLjgn7p&DSMg zYuBuNU7+Z86Q9g+hRxV+Gt{>pqpUOPD!G>4=+5NBRuXuh?W;hJTQ8JHd0Tg=mt&H+ z47is9bt#48VJ|&4gE%Wy$d@L}>>*FSAq(KuxFSnR5iw`@LS=WDSZc2=5Z^VS(P=h- zZ97aqP^?`=geqmwO6{9VPS;*W&Slexr^DSQ1Oo|!Se=$Gd#|LN-KC2lR35e*K*lHq zpbl~=LML?B4rq!MlodI_3^bCpbb%VPX;?~uK7G#C!qbK_=(_ktO0N`SXJzUy*qAyK7f{Asx23X%F&A$_-Htd+P2u4~Q9~4AYueL#53PeOQ!Mq^4Gr}G-gR!v=sdV~dx1KQ2X)TE8F`wHq}%S&2^*X#*td`< z-H0&eFJUAExaVG9FhZib0Af-IGXvqjc%Z zT~N24D#8^+j&nQ)SfNH0U~H-g_%46M@$LukA0 zk;JDEiKPa<3~HRpX`>8=9j#397{8dTkH`gJo%`s$-T8?|E^z1ejUtzZBY2xOS%aMr zdglWClcO*_UW=~#I4}>Ol42jZqnZI;0W8{WZt!det|XvRe4*DBQ1+|Psczq@)0L4p z6e<1e>bu$zIRh3{)EzLwYZDpL3 zOS%$Yc7gJ%sqHwHNec+hXy~up!cjA9&fVg=91OtBQARu4gY^9@Sf3{@OqOfBw3!{hGIb;V)Qt z_HkU^`sm?xo&wbe*4c`-mZB}X!(TL9{uDy5ZH!$cdIBd>Alwnn zezLZwRc76yfi5N5PTYK?BxB2Us_xg5hu*kw_I-`N>5r>EG_ZejQQopXA2U!@_B z(R}FRI(<6N{Dq}{&31^eOVXqY{oLRziw1%@IMPE+z4#{ zsAtgPaf)a0E)k({RB2jBB_3}iV;VvZ-U+98t0G1z#QyOfEH00GG-9M@+$SQtXE9#4 zesa#EttHF7FG`l^))ysn?Jo_=-H#g>>loVLxSor0P8?}Mrj1p6&M-&_`$|(pfLAI1 z2}$OnY^BylG1354@*wA-xxm>&9|TUF!Guqw(@rFX?o7lmveUn)Bf+9HE@4b1)vB4$ zN4N;Ah{&wEF90-;M@w^UzbyyVD#6i#R(@ADu_}|_phZ_UGAc=G?*?QY1+;E}+(SLY zXAR&dqLgE_kVZ^jhwyaqip!G9gc7y?%Qs2Ys(N7c=xT~}YG!K#6NPIXu!xc@XBPw! zw+a0jGuWI>atNI^wyGWbs^qeV zwDFEUx2i11s!(~3@J8bmRz&7jWB(v%P*n=UBzI7sCJY^;-;B|6j9Ys7VlS;{FVvK5W9&nf)c%gOk(ZAE?A^bFPRHV9Be6^Pk zYWroxG8C%&Fhn$t-3o`2``g)<;{X#MIrJ50W01b5dkP#^p>Sv(sY{@?`+_&%C#^g( zYZ$c`9ZJI8MS2+QOF?Sd+pga(%8`Xe1l*4V;2U4Z|Epj1 zD}T-9(|*>wKkt2gTnnqOn03VhdO5}Q`@lnHd)vcsO{3eTS-$=q-}EQ`(x3U|zvLIa z`R22mo14O2>zes{gsLKyorwG`i53ztQRWKX;0;i?3y*)x z@BQEW;s5pT$4~v4w{KY=|G;|_u-dDl7B zxXpOZLsF-9_E;8zi0SB^wRj9vG1PoD%CZN_(K?f<0-fGuj+efo5H6;InZ?lQ8qDgd zK7v$qXa=Dey=kpva04R&&pK2@^ej6^fM5llF$aP8#qbqCaW`yOG*FIUyf0S=!%EK-nKp#herP?jA8XHt6x|3Q4c@mh5vs9?vi4|n7?H&6&dQMnX zO>cL~#5vS4hZ0M`CReqCh_}2T#A{(CQ%8{sS4(l|*OhX#O*@$uAbpp7yt*Q(dxVux zDSfCptNjy#6;&GiARo2XoInzZ-ibMTs@ut@WA9~Mj#eMXno$j!7>|ArH^$A&mF6&H zy@clyQ#8D6cTAH?q3bv%Avr}iikr_13E&=>EJj?%Abqq<>}oKD$hPgVJoEjIEoT(TlRki z^g$I1^_pX2?YeK(3Ju)0diu=7ZI;H>SMs52Gi*M-J8&hwgZtQ z?MF7jNPqD-*&gKfNu}&(|CG~Xtis_9r>#s=7M;kQ2hQ{dK#j^3kWNKG#P_5RTw~Sk zPrPNO8zmqQsHq*=YU2w9XR4`{vAHUD=2kE~H3!)&i*kfy!|>)X)k!<{8s{=yckc^fNzX>&`LJiVXWu zXtS@R`OOg0P|Bs4pfAeR^%F-@Ihx_2Y`=8GJ9XX#%%BfqtR7Q7xA(4Co(EUL9$94Z zPT5OuqSF|1Dr%+sw0^J;7n3hgi!tVIJ(%?m{*4lox5GqTS`})dQSubJm72ZWj1|mCB8eP z1fZ^1xT5CydhqbUYp=iY@=I^Q!VC+oqS;7~=;2}Wp#~V*GlavG zDFl>OIs~d_>hKK0cFoJj3PwwS{g&-?T=OTOYkvGZL}BD~8TwiDF^phAa#%-@Z=*c< zfk~XS6!ApdDw2XOj43^x`F};inbnrNCFu}?I=p+cMtm@bd;7HqvNY*`wkgbxpRwzV zp|YA@_EtW3DYhnjDgoLl3Wk+Y@(xvAU4>S4v-C(QMLf^7Z)O6^Rl~5ND*I0I zO;yq03r;j@ajT%@fVx!#a`=H4Q`@{03ajJ9DQVaC^RTC*g1p_AIMn-9_E<3An`FEEn`O+aFf5(_N;i4a$^Z(=I&&e4;~rj;oY}h6 zqC_CT0XL)+ywnK5G9K6Z*{G^Bc$rw@NHO_+`Ywbmg{o37u?VM5kl7tXJkb{1jTi+{ z__^&j-G@Ci^`V4KqlJc&1UMk*0JDfXP_8AGVNhO)u?J%k!uc9e=yd;J=We3t%A}CX650o-7bAPf>I|Z?Zqso^*7qf6-K?24-^E034Yxjs8Ng@-M zlURcLFeY%oU=Rdw)J%0-qvd)FF(HMWjW~i>o!A>h6xD}}y##%)8l$i{K4x~{@_CcB zvj0oGODbYW#Z&mJ!ZplzY>!c49`4ONiCbdwVf~VOA80*v+*#m*=}50Ni5{}*(8*Q! z9{W$F!fYlv4wO>WD};UnZi4drkFPKy6nV#W2xDV2QUUlbFP3*=5Yz#nJ=z$OhQh!| zH6Awub-S^ouXtKKkUZ|LcF}7yP{c$)ivElDEF& z#q0Cu7gY&&=2`hAdk1@1slN0~)3t_+yx!iv_4dK*|NPtE{J!t!!CKEQmz%kcVoBfJ zh)|?K8SLkI{*x3FUc2y)UcItTCEf`4l5>#7%-7(#mS7Y-xtv_HJ!uJ&?j^_H&@m%b9r$4{K>PI-}TO?4`2ROzv9RVq%ju8?SY#J=?C+ zz))e!&OD#DZ=-L!??k{d*)=-N9k^o0xct%XQMPRer0qb&nRF>ts5i+4=%us{MNPJx zwL~wJ>b)FJdNbsIyLylmH)KfFnkC{>?>#gmDw7%W|SU{)0zit!8eiS{c@-S@Li>9Up1KIGMF*)X7HMgYLf0&`T z#uk3du(8fWL?(-dZ!_@Pa(HsWVb3MnSVWG>S^2WSf1O()hcY6ms_M?^Rr8E&isSZK zIIr^3+nD9o7~1ntOFTm6C?DzVV<=u30VyD+mTVNxvQ@A=3X$V@dkB@5ogZ)j9BoWC zp6Vy-(fA&E#n9qwC2U$V5=2;b8r)*blv@d9;k>0ZoWyhBSU7gyi&uT9aVn~hhDai; z?Q)}xML2@a2FwKaT^|bZr!N9}%AFi82A2jM=-y|yS0B9}hP4kVbf&2pjpOAH8=9kl z_-4-;ir5>w(YlxljjdC#Atww=*%3Dk*T83OrKU;b;0CA;qhKOY=6Y6dkky({6e@XpV8DWIE!H1fRS(F_W0 z_KFW{d=@*DnY}<^MSt!AWOA(D8E!sMU)-_@ebZ!;H(ck2 zFPQS3PbkX^4MD7SU}4Wk^!FP4c2`wToSxNfi}B9dybY#2M5TQ)+Be>h;b&F)wu~)H z^KLXDp;AGoVS1(rPl_B+))OGNg9FYcXBHvZR?!)tjI6>)^zN=Lqt-;VGr6>V8;p)( zF61}t&Hz+3d@+U$MqTtiavj~edF>*7#JzB}@lfkg%`MnF*;YJ3w5sl|&+G2)ZLhrR z_Q6|!-=FxizxsdqD+96$Px z{=sMclrMOAd)&SGk$LuP-97K)sA{6tb?ES3fjI_NG^G$Ku#jnP-qhp(J3s33L;$Bd z;{?8F=W7E>!@(f}2S z6YMX~HOO((=argBl?5F zQQTylIRlN>aI!S{B?e#tOvBHz4>7~RFmU$G1?G9-WULh0%EzQ53vWegLXH<3Mvg@^BB>9kwqOax} z6xf>e-d-A@s@19|L)c9V$iFiYG6Cw|JYt3{O>8`0z)Fz-c`cx;*^RTdzTdM%gC_|v z-mfm*lI-WP+futxQat21pHD$!*fX&~Y9=F8#Y8LS_4G7Vz|7G~E6jaW!J5YWu&3&7 zQarCSesbExSV36Y99OC}5z?o@b7E~_?U4~xPhR^F=rW6OfH>HaykJWAQn1v;e+qx9 z{JI_Q=>^o*;PeM)6xFCL7g08(b9b`(e+9I%wKJm!ZcA*o zYoec@D&M^g77hji>uqM860qK7I7A(E6qm}GTgS>oYwKqLfXlXWHuEwoCg0KCK5I-dQ;c z%vDK&Cc>fOw^}lO5@8*v(j{F+5uSkMzx2y-Gd6m@dtd>8yG2V4(2NtJhy3J7xJG%J zOIhgBQlATgDm_$A24Bl#qxS2KQ|Y0DVi}2Mi^}&72BM@CQC|4+$80iQ@l@8y^3_Ue zJ!k%+3LJWvg-&Hx#$}bL%zVGR$iCDj0-NN6ar}kqnvp`F%_cy~8UPf(<23Mv`P}$Gb zBbPU{s`mLNQC^SSu2tt+)P4K6G5Ur$O*qni3CNgOwEu4ct!_1DAM-bD{?_{IRYvz17JW6G+z}bT&8}lj1Pew%1uKUY zVNt9x@tEv|0f~Fan7O91;|ABTk23?$Q?VS6BCf{itE>H-bhc4>s7VLCY%8HSXN0!ET$Mnmi8FA6*${iU09lqCrIFc>WxV%m5C&+$}N$x z`@A@OQpK3$Fgjoo;l<)`x$!gZ4>I(_2Ahq&b9}H~w=6Pc{C#}!eluqD1g)sVeWU@D zCK2vCow6E27CXpSIyz2<40dID>Lr&E#EGAOE_SSg z%s__|?6lPBQ!tY~luTlVeJJe2x$K1icB(07rEnq#Vu6#pyCF3}X%>lov09Fr#E}y= zVEF{rwigb?{d0d?LM=>GRicgG7_2_%58Ff83;`4uVE}tnUsqoqULL;fM}GJRzVw&; zrXT*^?|AvMe){v<+kXD6TXpG+0`GL$uHu`rw{yB|)Kv8v0=OJ?y}tUbfB!H4op1Ox zU-?U(zWx!l)IhB54g)ls6Z@~Y-vmYXI7!Ye8AjDnG93+EAs3-BH7L^p`j6aRRKyBy z_vo4esy!nnj$wnB;CTzMtyYdHIir)6wr@Yyh_pIgs=6d;fh&p^T-N1y@bE3qXWskS zU;d*%_K8pa;?H^GjVHKV*2i9b@`=@GCAmO6P%Bxvnt4Ng0nb(pbCc3^t4=>%Cdt;02tyMg_F^4ii^`#0X{g0-L=*- zUn{`f8mI%L1Hh6gZILdg-bed9Z8>a#LvZFm_fiH*mMBXC7~H#-+aFQHqV=MDimk>=q<@2QnNuw5W)VWh4$0CB(cwORzRpk0`JW^ZMQ%XALsJ|_mr?9 zp8}*r!z(tF=Vf`gNerhX9%X4W1|F_rqt{6@Y6<e&~!dVd9%21gpRz5GGnq(=K{F3@|N}8m`~6LPd;n zJ3vKoHD#FxK$i7rC^fZu^2Q7}YdPNJ2iEqO0rhpbF<5ZJ0Vb$u3Snf{Bh( zAji^X*tdi9jjh>6M;>UrqifLJJO40!g$@34>Pvj(vhUSpQ2W$y%Li5L%WMXY6sR;; zP2i3N#$XY3$1qGlv^vxuW=nlc zP2sCeNai|9uY@?-qtcwOq=uHHS-a^yFIxGdT^@f!B~4QZk`b%obP|NJ>cLE{ECvm{ zH-KcHTSIR_vL`66#3O=~lA*VA)#{dP4yg|6#7E01DzA29U**DYkizNYZZbiDZ0XwICe>{j;zK$moCS9aII>+_r2 z$MwRCf9%ix$xr>PpZUWd{AZ6p`=`wdH?^*H>4hQ=fr2rDi!#>V>SHv{xQf7KjWm_F zw+~+Z?hpL>-}QTbUwX4^OWQ+_1yUY3JWwnGx1AqymfU@9hp8PdWZ;5tg8`C6AKSbG zz|#?ncBy^5iQKbUg<4^+d9(#2PQ%<(py^Jcy~-^|I1>6M@k{3?+qpeVe5Jof9rv~rk2)Mum&BGSOtoL#Xevq#Ib~ur0!NGL z2&p$T;E*fx133k3qyg8ZfYB@sogI!vRM-JQ=SvZugy)nwFvwGNui;>-S(ipT^D5s> zX~jiYN+MVO$vA3HJ9W*Zy2zdce-$iUyv0do#_>-fatF6W0tQfCEBe=zrD^CJ%F(g` z^eov;WfY*ig$wuEy4LNp^tKE6>!oCE$*p%bs*s1$y#@+&a-cJ&AS6CG5xoc5!U;6p z`eV*n4IqBkQ_VCQXwD6j5cq|zI*x{~q@)}`0kz0+t@i8>wVPld-U)EZ_Yi8$#Bom*Y3zII z^1y=G0_<=Iw+Gd|D3sa?+6`l}5+kIl?lFeVU_qd3tV~=qR!_8-H4=GJ?K&hklQ7*x z88b8A(LhY*y|G1dsa?>8vVONBdnOM==gQFivE#LI4Rl54k%(7C4I__J3ksI6f{rV+ zxed)*Fv`kkqJgIM>))0gw&%oSPsp@CQ9|K?a_Y+BZdLBYh?XOoab4bVEtY4{xmZ;PtEwgjC95!y6hP@9Y%Rp{syNZz`?>QrFXJ|y^PQ!^x~Fw^Y!B6`*rCtK zRIwZYvWh)Th)bSuFHmc|eq6yOiK1N;3M^?&1Wl#xviqgvH<>F@0nb^bz40isE=uhD zy2d#1rrJ{bstyuSKE=|ZGh)aw2+j~?J9Fs^I8X1MyzuC4*9Q;&PyfOH<=_6DzyI-P z{fxJN?)z#E-mTT7#)2J24*_3$-U^7K2eWcJsVefe@4%afx6gj!Ros2_SAEqls+*hF zpRex2w~|iHtjh)RO8TwY{i!{rdu@zfZOfq=+B8S8w)BF@)07?2XF`9`eQ3#NJY6s? zI`9NXu{jlt6p!x|!+e9V&8TWBd{-X2S>s6%@{H`H%AO)X05||}ZXUhuwr+pfZ~fQ* z(Led-7eDROUizeWtfRYlTrMB|-XD75W;&OnKR=QVB8I|OODLX zszxa4alDqcZG$;<^Iqbgzml?q<}tX_BMdO$!ah3ZZ%x1gz~-?J7-MVx$LOM5<(+OT z(9a1mtJ}PXU{bfcNI8(G5C_GA^s`<2>6Z^gR6kLf)m!W zYHD)YnF1osEZrv3N|(D!JW8@r-#CEe-Ksq?hb=EPOe2U_%{9yV9IPQSi9ywh6x(Fk8P8S7oe3tCV$V9Fo%CGC&v_Zi(NJVFX=49p;JZ_R zmX5`)xQuq;78Wv>r6NPX3^6gv5po-1YE3)wDmW#!!5e$%t>c@eh*vbz5}*n=?lIZ` z=)_)Gqt+e1wfQ_NF2YJU+P0Vo?F|S66KGUwl!%_Apkk$Gw>zN71ZBp_IZ$n%Z6^fZ z)KLT9#02Za_fF~jmejxsSz2?iK(ScYaZltHh?pHimA!(L8W?s8O@aB=ILT~x!krx3 z4$#Qce2%<&f#sgXNeIbHpBTNy@;ntO11`%6p2~OjG;({wRK@h>5p^603yBOE@h8Bp z#z4C3+4Wh~y!7%XJ;m)W{$;=EcYXEmdB^8}IUn6VdHt>)baNfoYf&JnG_Bvc_}=H; zJY*=HB|zc%47-WfKk$$L;$Qo#KmX@^#go@Qe1jX)7i*!5$HkXGOv*goZiNX|Kuo2m zhoeNkaiqCkR)lK;00961NklOt2dHAs^A6XNDT4P6g?TRlTm^s0NmcyDOQRSnxMuqwDO)@pJiQ;u zGs;+3o6j6BA8T@8*I`qOU(`G(9ofBO<5$rIqg7kR>yy5-1hr!*QqI}wp-Wvve%0Qr zKoX=%lEg=Y(o9uR7edQHZK;=F*>!^+z?1h@o4ctIriERi_^)w&s6b-uB%uKX!UF8} zJ=$6^<#?MR^sD!FB!*s+AWZsbT#C#Jdy@W^e`q(x`a+niDs^1z@_^0kR~Vi>A-Amq zA^=XVfo=F2CWlPW!(HXh8?U2z4TdH_cYv|1IkWG-oq+ISI^z(SAiX%CLpO7tG+yDsbmDpDK2FT%`w zAd%Rf+O{;#5o(9{sQbBwhui*GXmzQI+C+Nl)2!scq~IN*QpVq&juaGD)+GTzGunew z1f0PdLVxrdDka1o?hZF_+h&v^?UFW>f+aI@(xG6dvw#imVb~;G&s5@fLnph_e2L_E zZG1zhRdmWt=U!JQmVtC$pgg(uOB*Tq9W{m@MWML5zg2FEl=U*tY^Syci4~6I6O*Ya zdiGA9oVEM=W_ZtiHjC}90)d6DCa0^HnZ-CRCeXlcg^ZYOZ&pDUXd)rifKO?zKYaHD z465mI>c(v1Oypzq%?nk&+7WP{sclwim{InqZBzS~a8-q|o8XS`?5aJ)CTZ(^v-27Q z1uWpm%m5pt%OP-UiiN!-kKi{eimNSmtm2G2?Ifrp;DWmfj~B^>Nh6-Et*W{UYk6!<4#E;KBIYvpDvmT%^e#%IeJU zS=DCsMa6*n(0%o=k5YRKn?1E^+NuoW-wFldC~?pGB1Y=O2dK3O+~Hb}-u_A7_JQyI zqR;(>=zjUL-*>$Q?(XX7BvvX{Xow?;I^+%N{)>Q;SdX@J*v0AR*Y(1~e)Ic(@Y6r{ zr+(*u{SD7vd-KY9csWeKnMAthXPm009}9pAQydEqfOyN8?A}&EmC>%k6{9?OXoG z|LU*)dw=IYd*%IK@$A_h=I%Hy$Mb~;mydnRw|&)b`xSrfPyc(be)LBkJbZy`)zMs| z#+f*5rvN+9x~C@jlahV$4(?6z$v_nrecz><#mkf&YjnG&Qw-&+qAhz$bMM>^=zs=d ziid~FbBkuM1;zH;<=SOzy$;Dk(Qv9@YTHQ69o%|fAzX&4Xo=b@EBKx2{@bEZ_aHYcQ+$t-~wmE?1ma61^ob(D(l*m4WKt)3@)abm!rs!TE#!dSh zgd`*uhHg`r`*fI;$5Q$y-b!07L+F#$M22*Pn6S6Zd>N294%_bJG~|d$!wc7h%Xfh} zk5nX{j1jeG%OV&^I%kTu>O|#Gh$H%7YQ#WA>1lpHs7PRJP83r+5xY0G0Rb;r{X;Zc z6_=DeX$wMLcO(VM;a3K^<>c}Z_bcu{DP|apaWUS)lRQ#S*31Fd{Gby*sPieCDPc ze-DT=F#8m^>vz+23_+hlP?E$VcvLMd1%r3dz-|P&_f1(DCabD=t^dFORC=^#hXy9^ z^FpeiRi*p6?S^sx>>L2M`Pen>T%j=wa=%Rb*2x8M_PxltU0zOuRcO}A7!I4xwz`Jq zYVR31T2T#oxbJ4%>li$&Pys_j`CvG0q3i3+wv{*_u^Bcm!6GNX(4pgMy_O( zUrf2aKIy{tPdL>|&2jd~D$yLL4ooh=QX3`~GVs=j)DgdRhYYl9aXZ0AQ>qyT+@WgC z9OQ$S-o|ygdHfmk!lQS7&gVRN@}y?*=ni6YVhm>|nj^ePiyW|@!~`g12J!sC&HTj2 zo_)`M|MB&)$F-in_J#qR6^A+X!ZV!XXifaG>WSyjvw#v19`GZ~=o~3~pV1|D156SV zSZp`O46r{7yG&S(pEkdU5*y_R6SL?t)MSkW0uf&c$t@#HNqy_!Jmtd|>W!xlUVQ6u z`}kk^bzl9rzWzUc`HR2&x~>b;*X#ATJbrNVk?;QgPk!s$zUSNipAR0s@cPGp&c5Fir4ga(9q5FSL3q?WcaFJ_ zT$zIs10XBj7kkDji=W>u^2R_kYACl9?{sD3GXbF9J&8{Dy~Vjcaihs zc4|-RDoEpIjTmrkf0!*ns2in9r; zYo>>*GUlUDYs~wbGqkfPWxMpPRsMQ|Xm9C&jpn@|qHcEgGSNBOXcQIUM&Tn?5Wc{e z({p>YNvV0e9AP$gry*j0NaE<4m4;)GDn2l|s3_f}jG?c#MiG_iv*S=BswBu*j6ZEq zRmtG0P}SU;@*sH;uruOB4||z=G*P3YH19YsI(t8KXg!TYv!$uJ>)1t={TINp5>NHF zI$}&cYWI`hJ`ymTP8zBz?QV7RcG?>nQIU&lz)+RH7V?yLPYFHcIo76yjs6L6*8a*2 zgjP1LV+oXJ(diXkl&ON6m+cE{i@6h^)Ul!E(@*U|M2_jq|5naQa@yLrGLThL5~T_! z4{h<|n2s!XY>Az1vFz~Z+cX@Fr-gf^6{+ABxRuwDH>q2?_W&H#@Gykh#@bN7TQgYw0&`ZnS@8RD_qWps+;Be3zE`1QM85B&eI!6LrW^W zS^~eH&WbXk0mufF|Es^@xBsoL|4-lbML*|ScQdQj%%v~a>(e*x@Z_Wa-@pIYA3b{f z^tB&<@%F*GK6e0EPP_27tN@Tvu8-T%1TwIhSi+2zjSPN8eLEp=q}o$H zu#!q|Dc7#Ut9wj9YKwaizC~EL3YxdQhyPR%JW|QnY>5cwpOm+h@Ocsvh}E#b-FHi~ zaKHsE0<97=+68!4!Tm9Ig?5r#wulUv0R37mB;i~N&E@@Q6;%tKeGk^9HXy{FS1Yd| zYVTzJx*%oLmTzS~a?(iMWt&k;rk^=rOOMWptEzy3l$WUgI&D@i?Tz&GH)d-Muc~NZ z8H8;w?|C+aWssD6ABOp?svc;%x-vYHJo-2qM;%Ug#6}IV2T%8& zXvCoY)J==tdppLdhD$0FShA0kurU+}L_abE#%Z;)PFEs#@N+99%gyynAOSE}B*{R$ zAa<}aMtJkJ4;AiPw44EVaCMen#zIRvCHYlr1jOSub=RIjpQ%JHCjt7aL6`3HcA8Xk z8cu3G=~%a^)dJdM0HvAt1$ihXbq;H7*G1hf4I}gLAxSueW#!5uWSpWiN~hP1dxQlo znu&X^h_wo00u<0S!_?1QnKy3SFitFMmk#fHoy0@zNorDFpUN$=HBEUw^Tnh|WYiuqhDEDYe@#mAm8ZP~;(C1i#gR#(TNT^&Z>U+h~XEqry8N zsAABfw<}{Qu}f`c#0A4s_yQdJ$~ukKk=~-z5CPNKM!Ai@x7mR4CVsNsKyB9Jmo+% z?NdlvsiqHi;KhI!;3^Ba-aUBfEw6p>NAI3|cs}ya`Q(i^u1_up>pD1+HJlA(jb0pV zOR6;Ng_(CA>cb&tqg<%Y48&CNc8fBps$Gk(qncQos56D!XBM6VK*}y{fz`hGtOLAi zRINvJYH<(FaJ4FJDf*?>vo~LS>wDgO^6aO6`7iy@cYfR0~~C$ZoV`WvNtf1sp!oUYh#nLg>d|dZc`&>v@>TwYTK@j$T?k@lFsLl ztJu9!e)ZuTS{Z*20IX%reL`)3g%9WkE)6N8Q1_?4CdcT=Cg;1kbC<;oFFG2MsO19J8MNS%wl$2)u7z|9~|UnBtnX6iWf3$uBJ z{iZ%L+VBRp46p8y&H7Q=ZAb4tRQlpgbD2=gRy#eAUy|pBK~KyA`MAVu!CPS##gX!* z(RwD0-=Cn@(+P8-k9}t28MK5I?BqjTM$cM~2B-mL&OZu3K&pYDdK=QBZtPJFVh?-g z9zySvB~;bv2e~{3hGG7?2Ry)3?8(H;u_UNYe{A%?bmsLvDHl^L(>o==pedWkoa`M&U^1WSTD6ue~vD*@!_pA|CSzoJRyOEFiY@5<> zRFD}R#gXfkVI(32{y46<#9viwrfb6^*ry=LjG!O$szJY0fr2MwU&?;dDy7|Ee!7SM0#_ws@e9!8E)8ezLV;p`$m#~r8J7`iwKF08( zPo6%j<9MXHaZjY-meLhxvEf@om=}wG*iaz(`uU)WA@31Lg_N^ReR_MVEGn{cXehzyL=~VK_ypIO%a9 zTI5qR3a8MbB|SsEl1*~^5~N;|fDIB(c~G)f9UR|WQ(m#Y&VZ3mN|@dkvsKq zW~+eQr{(4ubOSi-kn8UH?D5+^bv>Dz7axDhzxb7}zWN67{DK4MDXM1FZmr42X5xZB zJ9Gre16buM>OpX(ZZGrv`uey1cOUuq_q_crZ-4UUN3a%VU2Y!St-C`ft}F(?L{ESu z{u{7}YBZ!Zp4dz%S%)W0G5W5k`p-jGwk#S4o61qz%q<2|5IlqkHIoE1$Z~6w=}iA2 z3UDuS5V7eqagZY)&~;onkKXd`AN|OO-t!q>3|wFQyf3Niy6L-Nufg2i)mvV8_5(l8 zzP|a-zxnoVz5eFMkK>|65a*?l{5v7{1{m=~qv@;ERQPpF)rY9|K8yGADtd(9oOp1* z8sRGfePSZI(>$!PBXjI^;}YG76{SHs1@@r}%o-hS2F`dC*J*+oNM z9XDHymJHGH5G0RoDmgZSF@{d_hZ8C|=2&96JqJPO;LcIBMCdwP>6o-lDOL^Gc3&`s zSA8DIv==h%Q2Qe8u3E$HVy#(0r8r+*p5Q!`PQp+bE#SYl?=A#rNtx`J8@^LjNdy!$prXZ`L2=d-py}D;q`h(tovO@q^Tkbf{Dd6AMX3M&EhSh0r z@?HohxZ7t3fyy1=9l@Ysp<`HQJCNCav^z=&OxbyR6Ty6$@>uJx@ZkRmTWo&3NZ^>T z`icW38NFeD)Y28~0O(>2ObpQfNiCxCgE>S<1Ps2f+{&Sa?rMv-fWaLchd%hILt=qqN0>Sgs&T{(elb-#dRHIpiXn~IOEKRk`(F@?3V>b5(Rv#FX@OIk zz@=EDU#CZ-*^p#o<;rAE4V^OTWqo;Z@W?qO-3fS(h7MQK666zDteRl@VvVDbyoO~- ziZ)ZiZbqO;jJBjqm!H_u*H|7y`;3zHRoKC#SevV`mr~ZKQ3qzvWM%s4fiY6W@1wi@ zI0p`~YZ2^h)qcVGnwMoDSUmB&sA^>n9PsGuxu066A*1!(Vib2hqt?cD1=%fic5H=m zMkzL6H;qinn1D6>ZAht<&*BP4`?>eN6%iq`kM;qXMu|esjO+b3lqg^7y(s`Hx= zhCfeg*)85XpgNOUMj533q09u3TH3vBNo%MDhAe5iTC+5}HW@0%pc!c%5Kiiu9d#4u zQLR_gQ;Vi4Wj(a5v(@aiJ&sJSb`UC{R9CD3SiM{@x?*F%mY@<{jZLePiW_ahFW>D^ zuF{!H?dDS;0YZo$pX-F^s>8*SomZ8_a88trva#vE-kMTn-dR|CB%wePqALpjMN7f6(S8gM{HQPOho13!wQcvUWoH|v!@4p z)V-xoRvNI|h6!>zhk)YqdWz%Vx(=_JoPU)&Gm0I9{2ICC`we1{PIB4B_OLMr09;oO zFPGQ<=|B7_U-89nfAOtPpM31@&8Gx$(~CSdQkQU8YN!m18jgqd$#3S&Yp11O3g|<5 zI66I&1}x9!Cb&-21Qb)0(<^jzM3V3MN4xY_;YDq!{(8njVupm&UWmI+D59t{tYYEG z^^HewdG~jH_($IJ&d<1c`5mu(-usDJ^?Y5irj84G&~IL^KmI*`>JR>o+qwDp^Vg2c z0j?TixS;WEA|xG|a)J$Ha7s#H{#D6vWptv+j)akli)Vm&X+yU*-0oI`_}t$GQhgG+ z3rNNh2xsE0#yvH*OPygDF3@ytsQRGdO8rlt+=<>NK(%vbtQ#~Sac!=~@1a@rK9hne z#kl$SGhc3q~y)6y_Y1iXw84k`yc%#|54ay9WpSz$do)T=8fdy1SULenA^wW0oh3e?&1hzbSZ#I9s`Bvy| zwRm(v1kVrkPqVvqCu=7@$bpA`DWX|cietFRrT7{HtBuXrq)Gv$=cew6=QgpD1=qAj zLyVtoiY>f&oE$3*?9@R?$7@6Zv=2By)X{xZx!R}}5kv&$RKl*h?fF*Z16_!o(3{4P z364Zc6g2Z87}I9dP^;>mtW#&0PpwI#JWF#lOIfwve5`SE!3d?e9tdRJ9#1!?wYNDb zb`?vn>;8lP)u9Ya%;+|W1~QMXu&C`pdUnuy;)|ztuhsq;+;hDre6$}MiI7>o* zGaC0TTkF5C)ake;d5(~xmE-30SE1An$Z%5t!(nL6j*TH3s|*5w3@bo@iZbKYf>QKh zT3A%|sRC(Xr2^UEcEbb~MfT8uRXd_4LEhE#uALFwdoTK~cDsbK7ZG2v>m2&EP@I6P z$_ckl0n_;}Q`p>`2n~{U1}JYKC?D4G(?OL;oR8LPV_cNY%^SuUo%CQJozMc*8W$a@ z5(d}>?adXpJ6)QGJD5dKqfUwIaig68h)Mwm0wm;&l6EAig*u5Q)2>lPTpr#$eE!2f z^3r>L`hW9{{|U*bPoCU9d{{(A3YH;@3_xpCw%Ui zayW{ruKGG*#MPg%W9`9FY9G?9cNE$*bJvcZjxKg>4WDda3)4<&3`tIP4D4ZbW&?OY ztWZ?&@^qK(Wr397QyOW1>1i53+*=KP!)NckBdBJCenb zfdcmlZozP<-DtP9Ivf{JT1}EEPXNTR^KaBR-;*mGhpYH0Ay@Hc^c*ES3H?$T-_S^2 zAL=Zv{K?^;osvX=RKa@fdz910f<5O>O+lWZWzZ5Fd7iW?*B(Nq(DDaO=C+|s0A2yh zxg9NYpU_F-5I1TYVj`DX!WX6zp>eTDFQGh_^B-@3^P-$qMmR5^k0xdWCb56W=@gVQ zdYDbHBP|toyy(Cz8MiHe!rHmwgzm$=H8vSXcdvm?4EJr>`}`Zu`lpjiFe$IjkMV#& z_Q*tK)mmxJERcl*hqbt~mxQC>+{yaZx-x0F>(I()1l3twfV1xNS)*l{LBjiX=s-V6P^~W7m zrBZy6MF&u5)QoCJ!{n4DLnNz|-)PH9xs;g{*omms`S5uWD$^5nys%QdX(*#h-v$tf z5mYHupA5@Ilgftq9FSOyw??w?Vo5ez-9^z20bq16lN$l0jZ#0LZh#*P+uIGIE$`uY z1p`|b;Syf#l)dt76x=XV&@I0;LPGR^rijdDQLdvPVesRwL_IAFvk-O?Y_j)>vIR#U z%r${solv9EIF7=$hojU_Y2D3~GQk2%S5Uccxy4==+=^aGWbBqrfK92nvkG04p*j^s zL4_u9-k$=5j}D5yf1M?njtqH>PR1b`C|yvF7Aka5ZzEjUrH?FJ^Evm38oYQvCK{W8 z@YM?U-J=c_hg@8sW?D27>87Ah-tp3x;)r2IMm5eXJ~;-fvjk1VGvyRQpV+VOG>T7T`_)V z$%2uGH&q5^y_PYCo8*L0crG(YpEYm7Obph+*28}~SixB{;+0CLR-fcIL~&KO3ILT^ z1nS%-+)!TS+vhS2-cGfq$fE|=Bo5>%95^t(O@s#!oGCoE@6|;H3X0P8G7T_OR#yzs zYu(K{>UjQxKk%!5?Js@z+g^F|&5u1eP+U{fIOxR!sd*7hP$bg-V+9`@LOE*2 zCPg5P$^ex%j$+>{ZI-`8t3MyCdwihQNW# zLDqw}z2|$r`=5T+r+?|qCx7P4pZd<{Z`?gt&AO9qzHxo__~!P*-~at}oj?Bve*3)f z{K>P|Z|fpa{1BJp=!Uw%MIYw zd8vK(uTHm+r2nqNrwQAJh!j*fWH#e=6(8(S1o0L+8U>3&U{ch{h(@1@B-!w*Ol2kI zHXfI+&qukKcVYeFu%?d0Wfd&CJ(Whw+NMhUkh1)nMW}0s^mWz9+2K1hf*g#THB*rw}Lnjmqsth5S+K# zKb6B@5#Y382EulD=Z@{g>|&RiUL>Qk(@X)I#wTaypc%mGviYt zAeZU#i9<@M<^vyDyAgVt>H=#xQ)z{9*aA39!@dYgWmJZcTe}6PC2pDX{TPl(5b$=A z!3K+U6j9@RP>_aQsG|=ziDm!F9-xy!L%KbTb0>$=LUCrvCJWluI#k^TaOeQ$j_*d5 zE-Db#sN|YE##u6~wV!}h?vRd>vqufK;)2%MX^#T|yc_^n6T70B!M&37)sWH}hJmc_*lVLLx`D@iaXpzBG-UoNoF)#M_HnS<5c79arWOj5{c<3KfC zRP`axF05Ur=!b;n7L)-xdg7z$L55O2*f5+<>f^ht#R<`q5l*I8?G9#!SnfvMXAH&C z941sifo21nFQb1pRIPkh9hdI?D}vF=+`7ue8)-tL5J2@|w?K93;18wu)0~H__dT(Jm`MO7+am;05tm z9eUPjSvylMsCY9L#OpL+p^8n5!V6V>4C|0TJnI-J0@3xh>Fe<#W`>o5Z$OftbaMGNkgs`9n32wn&* z3I5h&Xe&oKTFFJA3f)}^Aaq?6_65WY*L8t|8mnO7WC0U+%%QU;Qv&xs#J6SFu-QcQ zaRXd0$3h*?pY^fkvW_CxSj^O8tnQrN?2Q=aN^aD0rz{Mv)qQv6!`s^*|LzZb`p^1; zfB*OYJI}7KU)QzzLe!-$)#w@(sj4NRHbBw`au?+T1w4UNdXx=S8%~0P?sfnrxj1s& z24)DAT7#n`_z`~EqX|k`lMal~6UXFk#pGosV|xB4RTNc6Q7hI$%4ID%C~&q zw}0-Jf93JXpZwPMzGpps`T&EYW{#SwaGcBnuID7PraQh3&MEOZTn=xr9(Tz4a%5;L!>6uVbv>{+a(Ie z&84;qJEz!(MxWz9N3j;8FU|p{)>*eg`EV)B*$yiX0^5@8;$^c6$zdWY$-1boP`~A0ByWtAsP4y42(G3Ra-SDBy60tx4|4277PI-4B}HI*cf z9L`F4&a4+;7OzVA8KB^xwJ+5HvO}QB=;UA!x0D0JvfcA^zFvQkJ!00=yi`Cg*#C_cEAB zaV|1!A#!(wHe|H8SxBJLd+Lb1b2=PBM)^|(doUt`a+_Dk3i0_YrZ8ic8TAr;jB0&R~767*xfWwX!p;Y zth|&-5pNldo6MXiJo)b!^lHaAI$7B5CCZXVm#h=0EmAWU=vrJ@B-9S?ebEV$-&K-m z4nvM=Bi+OnrC0z~>}niSu>JPX*PT~)qg{iO?#ZR=lUbg1TY#uT-Vf)ShZL<1PkS)oG{rX?@?%3YstKT;!WXD73ATAH$V0X zRDbV3{JY2T?uItC|-4Y=XNgz81?9WWn9yo4jT_X1(SvCxm%mAu?HaWt$Nx z1wL~IZjm^r1Q)>36krM+nbSjHs8?E%wF6B+R2{QLNRWe7q5y(|5hEJh@skN&j;53| zN?W~hY45In9*H!j-Vq#voOnk-IDDm}Ae0RKCb~}}S_r{@7-S=^B@t@0Tj0(oRq!-{ z?3bvCDqfl1&_d>_$gXxs)gtHw1ze)KadaO(-v+^z+vE2J6kH-6?)`{=V+f6LSB4`{c&u zdZTi)2$m^@+GuZg2Qyf-%|}-s?QDRygLb;8HS;JCfgA@`t~H77`q(1NqzOO_G=4EM zDg=!Ok#Bic;Aq*Q$P*QqX2>GAhHCAXS+eX%PbPToiq;D z3Qnx3xXQjg>XKw=RtttRRA6?kA#S`66Xv>qpn_7_RcWfQa!y+!3Fc9(o|z?5AJ^dm zv!)nUji+^KhYn?(nj_odR%nuj+oByiK^-z!z<<1fdmC@GgB^y zX3v%*2KHElqMLegAI6}78Ca+xE2&5v^o_Hej0^f%%IM;zqVN5XD#Yf24+`vdm#$sb zvg4IvPXo+O94n|qgsP9sS8!XEGuP>Z=Qf=qBi3!48_q%55o0e^)sY(cfR&FuHRV(o zOB@ab3GMiy3GF(;QjE!E(`Qszr5RW5{FPz5{7++_FA}P=6Iwvi`hc=G$0p^=P$ATV z`3wlmY~+n)JwlVB4?5`(b@z`*t>muyo!x{rc3aL0H9QRkRmn{yB zyCZ4HspZOqSIZdtEYtyYl*Q(*UT>KU$!-aY{a%Ka0P36@kZB6!sqI%g&FFdC_e%|u@FFyXJZ~Eq+_TDeSJ3jUCXT1CF*^}csQ&kvBMls!}*FNyUN3Xo}AO7Kg>$=uW zPZ?|1-B(lEhQPg*k_n?Nui>QE&r zJ0kvl)MAf&39-p>Td=5XtQ`v#Sw%cLVYWk9A?Y#NzzV%kc04JYyRMSHOyn-tU?S*5 zSLTqcaJgnB_ARS3EDa!&!@(A9_<5a?)p0Zm3+z6Or?o}u?_of$tHcRzOVSJ#U{Tb} zI=kpGlAxXJlY*dizPJyde7rw#RTH>9i-L9oAUY z<2tYNKSw3FD(@vhXa@4uClvfuFuEwP3Man`I%8aIUbTA|1a(P{%k9Rf1Mn_cKVU#R?C*6))e>>7p; z<+kS(>T_!J+wQ*GKv6k_bnX_{KnSA^NRwjQfVt^5Wng7ItG_8R_63g`u*8>Y1ZNTj zzZGE~U-upnm{FpRtuA0du%l=v4K#Qdx4Ft`1X`rpH*qlvt1zP>FXSlWOw=vI+8>8A zA7T*J0?IA2=owJnrSh1Rv$_DYD4e22K1HxbR%ltVQ&vlB@}$T)?tGY&3lOLS=E=)f zH8In{vZUrp(%K~ zZ@-(4fb3bN{h;rOc51`KF&-~@7NDw*R8iq1qRN#%fnIeghfJxYsE!i4v3OGbp-)O^ zBp^>DKhc%gafWT2bPxdN*umMF8l~9VaGL^bAyr8Nw3eq<#0%eo)f$T-TMWB7&^XTo zXjdc_&r_AYdD)z2Yd8X^>SRbSMO`&UMksZfdQF_qnY>c|>sy3rPI?5&Giy%QveHT( zdHXrdO;YgiU5Pk$Qpyr(m?HCCler{vje^X)V%V+dHBE_p^Vy>+S_KiOrVIL{CRx80 ztLvuwBOmzSJAdk@{e?g9d)BkT3lDB@4sdlxvp4Z-4)`ILSR7OP**?$Pw&D6nI^{u_ zI3L;G2~V+V7OR@5HI%4QIN0@)w%ekneJJvl=mN86TRgEnW%fMMbrbA!0GLJgTI)*Q zkvBIFZZ9u=?brPuzWmF6{_Q7y`s2^|^t!uZ)w)G#Bnxq=qAtt+==c86_x|H|zw(}E zuYS0X+nKo>hg^fQR3?Zwl8!+)KD*vMK&Kx^A*m8!7*-Mt!Ib{o+K`4&V#dwr7BCBz zusYS7@Pzg|hdwwB68ejz6M`9PrKB`Njx)Mn+M&AQS#`b{<804lQmBOA81A#tdN``N zb#j7g^q+Bk3eF@+l;rG4It$O-W+2awYkreB_Kmr)EmrRdCkpDKQ1!)LY~up?oQlWx zmzC=uNBJ|177T7EqYLi_q;44WWyqktHt6s_Y5S_r>k&jI?B>zQ5i0Y!`hEw*u01N> z(1Zrr#q*~K%1foFkuDU7$0!?-F%<&QmF!bfauzWhH&V-yy6D+mp;`J+rZctYCDr!4 zIT$4z!LSe{%=9eIkqnKAYC<&O->Oi3IpT+j!f|vRL1CuQi}#Q*<9ERF5FP~jdHyU) zi=qQDUO8}6D1NUVsmjW3Zx?LBE+TkR%^4Fyb4Shc^n$X(1`$vpYQ6HwfTDv=xi4V7 zz;pS150LXofF3PRk4|Gmzc~{6sjd{titWZelx9^F17DoXc|ajJ;{h~^*90)phWYpA zp2S~4H1#t871GY9K@%Tj{oNp=5}0BQ4#$UmiwPYKVC)>%uB1Y^QCDY8r$gWPPirfA z0xH{68->9{sG#<+iPau9CiqCN5~KGq)90*%p4#BHWj&9s(h3V%solJiOc$pke53iFPl_23d%9zmAEUCr0=#D=P+VBLu#v!j)dlT#E6lsZi!H>|_`*0Jw{2cZDKZaRlUw;)v@YI2mxKvvz+PHpjpPH2>$}hTMDw{qQ-* zHcEBN*+28l!;$2@rc8{MSvd4os1_<~8y}w&om{dl?Vo5cLnU=&0_OqD2GB zO&zNIX&^L>r()?2zA`|UL^Wi__$J9o4lU!3czSo#)V^9}7$HakJX*J{&Aku@rcjfc z0e$5sTx;Lovh~D5tw}k`CqFrTLzm@+B`l@PLmoa!_ghMj8X27yz|X4;9xYgp^0c|V zf(hNQUxg=98?Xpr(b-MuQW?ccw`B|q>^{&pIy{9N_Uz#d`@@j$sib{vEjlcn_4UijQ%K#-STEQLyhJiNLb~Xto;5r(%utfdX6MLx=3SJru>+xG( zd5X)Q_>aEfk9^%9d)w#z96q{PPd))PJl;t#Ff86x_k$N+|L$*j=~F-LZEtzo(^r42 zrmlqpoCRDgTW(vf#m(}`*mqbd-PD3i(26hMqn(lNnXwmE0%P!0DexdBI6q%#G@ zAW|bIQg137b%Tpt#g6#52RJHbNBew*qH6baY4@46G_Dg&wjYpEVCXs2K#-3il}_0* z4ONaEE*2CHPw`8v-!Wg+bqgmDQ5m;`HPX}5n0fKN337n`ID=48HL(0sD8J*H^a{Fh z1@vqyH%^4ria;b0JFhklByn8Z7zs%7t#B@@7ME^Zbs$i}EzQRM02LC$BwJc(VcC>84gtN9LG}WSbjl(tzF>Ip`r1H*;LB!X71b~ ztNX|-5u)nQsCUk>g!E|!c1svR^%NE* zj?_}KbiWb<&7BEC4^vo;!)k2A!FaV5Of8KtzeZwK<<2`}aKc%M^`QRv8W#Ae{u?QbqqR7jU~q*+Nnu`o-> zxv;zRX9Nvm0dh;i$-3UHm07Bh12)1~)CtTK7!)kw661D+PRYxsOlzgQ8kF@?_Z!0* zhUXUe)|>6>yl?Dg5i4yGwk)xSCO^i!fv}X>x)4Bsb&Vt|0w?*KVkX_ndBVz)a`~YE zWGslCeuG-*2wN#NHL3bdFe4F=uAh8J}yH(^6h`Tq2y3I+0uCO2*OZlrvtETZsQg+&P0!j=++^-Me0V@#%N} zqu=)Xe&1VPdFQiFd$G1m=rEY_KbWj#)D7&g6rcOT(8G*>AGng-F*jMS+{e!++Lpi*eCEt|M>TO8|IGJ=?BLx z3w@xcpVI+oV|hF3O{>W|x>P3(j1&yiDh`zqEzgD!xWGN(l-4IarP-JOT&P@AB&LS# zVFRc-c54-JCLbHma|_dSh)NMt<3~6ti~6N$DyuH_EZc} zUzlpQ=#?{ZAAggk_JO7)E z5{-Bued%ZtLEOChxD_d$n{Q{uU4_5G8qEb9wM%paToX}?&S}3FQ`hb!! z$k!At+EDGXz}^5;+f`NFx)58GgX>ytGum*zsNT^+^GNB!sc1eE9);t*g>t@Sx~+hN zM4|iG2ULM(z#5kBv!qRj6U8)1)wOHXaLcmZU!K+x5nU~6>2Ugrs_2acu`2$YJVk{C zWZwFYp>0~wv=ZR3eYm++DY;^tlov%ner0HOAD-hIufmRYpD{@fDyTtrdjs{Jb`hlxkqYZ zl3>H`sWvqX01U*FsVLBcSJh=8IdP= z>Ix77x*xBM2^G~023yU~nMSCuuRNB*!r03)0kzcdw`k(X5^#|iZMhCO2GY zZtFSPf!rye#%+172H`ILn1-yZ5+@~^Pm;egTrg44*5W9{VCUh!AJk()U^+u!!|}1= zv1|=V=!|3wCyS9^Eid9=n|GnOOj}rQkjF$$`xrgqY%EEVKzJTAVDxA=FE||QmcP7L zJ9nrPS*z1Ovwg6>+&z5=`coO4WHr0V>4^0SE>O%5SkfVMYj|IgwYt*tsk(t0KTz0L z2Gu6R!;)1!y5dJZ@i9D~KlnR;!wu@VT0l8mV=o$ z^3Q9p&jTT2XgZmd+9$-U$Of(Vj`*Ob6@g`VgGhal#x)FOc<{zlYy6#vJY1(Q zFFbx_7T)(||I!D(|ATLP-}@iD?ID*pk(srAu=;|hy^c3={n7vacYW<|zQua=)sM|Z z_*5y z?^g4t+7{s(o{C8fEPoQ@aH2^Urvi`8fATr2s%lMJtYkirL^FqpA+(YoWL zp=C@c4~X7LWI<|X68m1%O2B|y;zY^<=gaEAOwA<7x z58Hl2#8(~8VAUv5mFxzJ{=x}~PF^&v?6wsSxv~oM9DSSvDjexJx*){ozj(w7%#(t> z8AZB^lDJUty?gW&L=%W@p{aQiw|7{MUAxn?oPWr_R8=3ytd>B2oOd%r!#%jYx%HJv zUR0QA?O4e4i(f~*Syj81(mRg}k2+PzG@-GI#WNt_+Lgr|W&f@NA)>f!jLj4+oa~ot zxbnm$Hc{kBsfAa1X7~Wo^#Yn))Cc8MsuqIc0=JaQQ_7v%pnB8~r_{`5LoCB;wOGr# z9kIL7eH5C`fTdg2@C`luIC{rebQU$(TI&f_#gmxRS4vTb}(Gr+K>4=WJ0E!#X<4ZQ=&MjrKO!{NhPt7DoEZ-Q}dgHdB(0S-ls2TU; zR+2=!Az3WYp2SGKoNdzFDycT3O^ip2cFbBDKP3-E;jM=xG$*|9(r-Z#cuF&td04+j+}j zn#?Roi9Ea^>1oE(Iv&@(WLZ;4WaDl_ZYg8*EOSAju`J7q1d4rNwNh25x8hg=n&6^E z3bDXkazI_4XXsuQ0@&;-(0DN9ta#rv)oF_~L|ohh0I9Qu_Z-j5-=Gz2-F~9wzg((; zKCW|p^p>|@pYeFtXMN&_fAo_+?~7_(=h@w5aTdvHEX|tl103G;%}4+FcmA?p`y2n{ zzx%tNJ^%RaZC@m(K{pQcs-2G5#mR))lAu;|<7u^p-5laGE98z4)c(P4w^VD6Tv>1! zt+szJRwO2;(l^L8nE~F|`YmGAMRQbj^>}zqDUBw@(UqJ`XIx+>uXHVnhC2!rnp)V- z%W?y!Plerv0eBs5aWWl4;YF5NCU(4W9LnfT|HVs3heI6eK(c?h!0l8m}!&kt^lOM7Qd31 zsYBOx(xZ_L%OeLv){XK(Zs8A)z$|g2t@4GSk9nFiFf-VgE@f`uVyEN3QXK{p4#AcF z0;fuurM-nlZ4@yUgk>WeoSi3>k&|(=0=?|kcst3XZAD9`U_R@fMG80-W^fLbNn%%7 zUij6LzUT`Lo;u%QiMo9Ux#-3QqfpxhJkAhB3mR*?zQ#<{_bA7@G2(SD(~NsCEnw+9 zR2-1Vuu$Og7T{pIJ;UX=@->yy?eHTe=Lmk6s9B(Y;ObRM@rq?hj<_EJIYQwcYl9-% zRElInEu$u`P#Cwz$8{#s(?QwUJ7HS8E7oC$;QzIa%oq^RIYxCwv}qh|_5f$lD$`_2 z{&n+m&-HmsZ&mTN| z``h3D^X{%s(IUzw(&E(el|r6SC%F+9bXnDdn~#0R_rK+B^|2rLPQLN6>pUBeluzoj zPplIg7ZZKSl0J06(zq6xy>#dnckCcHhNVgPs`md$oKj+6+=f7XqR5Bh{)?$H?5BB*!_XjGzvnVY zfeN{7xY_bF)~pdK*5SqC{*&#)&|R~bmIg>9pMzcS-97TJ>^|?P9G?0gA3LS9!V-<# zPMN4FJGYr5%;Rn_V^#TLX>W=AFeanFkT~TXP8bgENWeFbGF&=GJ~z@kHM*tyA`_oT zplK3EC`?VWZsT*{^jA6H>qDn;kTYAV4Oa#T)JSj(2jUK0>hU*3_9%3H?Z5EIfppTK zDg$*T+o<0D>p)GFCIoa_2D0bnmu5D27JvLsOm4$gTTHN4r-&lz)957R1B^(`{vEBm zm~gNbmRLnY=-!&IVX>>n6MuAO(S0*qRTfjD-5P9`n}O`0vA{-!_7@JXU_?-ZSx7&p zmXqE$$NHsyGsyZgJ6Xa%+mbxBFC%Oax^KeD?46}h0KE%m5a_VMF>03 zjjh1t7ArA`X)^N{%donu3Y}57z{V-g!4k;Ea4+6WQe_=5lZ@tKwJx&8AkBtOZPtwk zOkk9%mpWa;AeeUDr9pC8m#3tVkpi+n9MxU`A$;Y6-LB#bg_JBszrmD+oVG^HU)U7^ z8bo(9#bSdJGb%D<6AC&t$|N`(sd@;RR^T3p756bJVFpo36{PIe_GX8_`QT2BlTuV= z6^kE5myG8E*#9))dH{~{bq~ah?h~iXG7~b(i(C6JJBvbVf7L-D?WlwkNHK{J4Xotu zpmVluJ#q~47Uv`$%wE%gS3jVFh=19BnMGa$Iu)T2Ww7TqIUghc%Wr1Jr#y9TEa{usIuiwo z3|!Ya?8*fcRaH3Xv^K>DQ^Pnj4OgzsA`qzKkPfx0kG?%-7N)M(XE=_a`c1!k*F^V6 zELO?VlKaa`RHS$XxPZ__%v^`7QGKW@0TocG^O1^Hh6H#Nrhr*w)wo0_4BD0MYd|9rw)b<&GN|jUg#2b$u-+t@= z=f61a?%udQCF@dbw~^mdT_)zrVkF#=@*vSySUm`FM^Bsp-*7cST|XC$BSZvauaIpX zU0DdqS1O^7k2pH`x=MrHB)rmD`1wpg4#p4QX5XL$1ZOYeHmYtP<%`0^L>=B1ZD z_cOUh&RPuDa4=QGZ68kwK7L_6<?{;{=kVPUuqACL_$cZhKu zgyk(obW@;6Bg{lgwQ;Dh0&DQp)Udr(Rb#82O{~``XUXcNLF`F?*__h6I$tGx1>h z(#DJtYzf~LIW^A2#%xeEmU6@CeMfF-U3^o#22I*&!Ur`0RR)x%1=KDnkVcWNG!T{k z8r6X@&`mO1*m&%;q)?_az*#8J^G*G&wvRJU9=I(oh`n_a>RA=#u4{w$vVF%aubp;A zaXI%00ft*XhXiZ-s2<<5l;-WOVtcYt$B1GWWznS%vn!e97@=Cu5Z&GA%i!u%O99@w(^!k@GbZ2- zqUZ)kxx@)`>w2i=AmU~;WyOLNA4gX{e64GFZ0Qi-Ru=%VPK!QJRl0rBV5mim=h7uP zhVB!l0MwKaL|+${S&{P`qg%bxrNiW&D}OS#Wh`&sX?3252bU$vI{uR+sxlT~=K^*g z*iX=vX0-Nri47(_r(D9UF&)-o)M?hlT?weL+5l0PI{G-UXIa$FUrXvN5f1-9uKql3 z*KNBB0>_xo`|a-Z=iGDK+$1;6%}t-&B-eyA5ESW>fHZ>As31zI)u0r=vY|?_0~ArK z1fj|w2BFk|K-8e{3l;(q455HP`o6u%ZO%R2K6~%)d)J)x#~5S1U+N~eIeUNK`##TF zbIm!%n9WN2H(-HUhNq;8&qWvv&4(w>v_X2-Pre?l>TroaeOXvLPzo&6uCP%n@|x*x zG@7Hq+lcjQ$&Mr0eYj6chUU+x)Fh43A#tm7LLq~>H<5s=Itzm`<}Yjj>#B58`hnCZ z5lA;ADUeLV<*EMExdk?i)Z`tC$#~|ka{&|vD}`!8SC3+!=m>1fh zk$fpHp6T9w9OBp+SBA?Md997ZR2pUYV?rQ5Q4=qUI$&A|&vYS3wkMTbfMC>yjSmc- z*EEZF?>y*P^SIZ|%yHuBPJ!!eo-p3wh^k5`>obU3GY_b^Iz_tHR*^szU)FXMQF{%> zEV1a0N;n;jjq<$sy%T*yPVt~8qHr$x*3o%0a`Lps9o@#_j^YG$`3*tN1d$`o$L^l)aM(Dy$U5Bkv1h!1 z-Kk39>?E@fz44&gJE8+Jv$-&-;kYm~r{PSUQd4XpYWBvf(pn*Gc8g`}j~mi{MBdbU z7px`?e;q?&R-bvO+Pcrv&%Nt?pLp~2w|&M}&(lx8`04Mxd6bqHh*Ih47m0;F>gw(j zy#52<^Yeefm%aZp-v7ocAH8??YS2^zoZrf=G?78Y5|ag@LCpn9SO(N7Fxt`t`*MDc zZW+*E$;oN7!@70PNVb3(%rVr(hcd|9x!OS|oL@vRrSAgQ$D28cXn>=!vSGdNbdgDs zKSyzKg_xi|4aT>4B(HIaTya7cj>f^nJSo95n?Cv&TB$O12M(}P8cQfGIfh!|; zq3OaY%7yB{{bm4Is@`ZLLY+w_teUD>asQC|a0$EAIhM6rPF7Z_;R z0u7>pjd#Tji9im8IVO18bX`L~?tUE1s&SbPoc-4Spb3GXomqyv=SWJ^9j&BYjd_&N z{-JIHRUma^T0`ml8QDE(w6RFS0$l0-Ls>?Mj*qK8CSt18B>5@N=7+Y2J0$T! zkxlT_77*hKyl@FGEvb+=j+$xBY}4~#RKTzoTVJPNZS<^sW*cQA5m?80=dSHYjYf=| zsTE5X2Lg0}xa$gJ(vF2KX)6i@%6Fp-4CFO)jd1A&?fgdGE2QRjs~|X7?urOe-b|&( z73$@UO{Ix$qqU&{mD1@hbd4!a^=E4DD6W)mIv!L{+ef`Y^e#8f+os z$iwhfQ5iQGpAS_XwT4fgJZ9mA=il?ukH7lzdp~&nbApdFD?o9apB0N9LB%1Iz+sY61L`W+ zNpJu|u01+jCr)821f$a_u$c;q)z(Jj^*zTabbKz%-07C|Buw1jHWSgUnO4IAY1)Q@(wyn-9$QH*Clgb6bT9{Vqu# z`WPEgFBfY{&~_j)7$co6^IjQRz?a%M4{E@l06G_*H3`2ow06p*XZ7l(mU?oC?zLvP zy$uCc6?OoZNT$$!X0U9Z%B*b2uXWqb$oY{Q2H=`obE;+#%}u^2#1U3AhgoVb z9o%{%lXnBGm9#;t97ZRvoOA*g++58Fy%p&>gkvtO74Y58nQ)5jF*Zn=l3?VDG13<_ z>BYn8yH(TtpFly9nps1Y3_WFsn}o|RswF?aBnIlzwP3C8CSfTeRhZi<&Nl|jRn z=?*7PrK=K~d^Z6e6>bL)2AB&FDr^VjR>mk;Of>Zh+3F4Ct7`X#CTC)XYA#h#Ih3$0 zLN#dEdy-MP`b|&SqkVT((H*>E9>!J5UUgs*0UsiH%%gyEOR0;r^J4mhPUw&yE6E3D z$MMGsndLG++O4VfWg$)k?B)dUS+ug(P<2t96}NZKVo__zsqzFfa(U*#hy&1(hCVzh zrgB@2H)BGdYG16E;!AK#8KVza+>a+Pbt&b?XmrA5UY0Ma@t)8pQ1TqwxYcR{0`45U zJh&7!-Kk|W*Y|nTbO^yBc+jIS>A z5^D`hYb;7fb)_Rh1f_3UQd01=kC3j>%&L`DNfrIFH2?4@W$B=6<;1E6jqW3nTcTte zf6Fr3kWzvKftygLqB;%0!;rvtADbeweWe=J(KSn~3^hle$t$dN>KQZXIici>#Vkw8 z-5_XGQ3XaN2_gZyx&CDwu=jAUxsU*Ch*8-QCgmp_0tY7Z4D4)+kN*_vq6Q5WCpIxB zA&xy!~JQBY)!UpZxjt^b60v_mf`bTldz@`Fs>cb4-qrhZOPb zCw1Ier6S>iYREDF}yvmGivJ-+Z$u9UZAgyDCe9;!@P9zr(&ZIaU z1GU%D`jC_~wAw1&z=8~N80cCa5jXR$5HEXRkmz_kjYc4pR)x&;#0@dy17C ziAd7z+^z#8dAJxqV;PvXQG{y{9tuxY8982F?x;pqAi9Z;I2&$8sR#Ty};r&#i z#Sx+A5MnKx39&C73}ukJ&dnvn)KSi%Tx1;|50Udk8=tu0OlcB&l;&82HClS44y$YxgZ+(j;|lmxvC--;n#!8aXf|q zDffq=oPQ+*6Y)%l*P~N?h7YszAP~b(lK^)6e!IG4XWN*&sVT`|!lDkVHjwghE*>m3 zx=Z*(s)6_S+T+4L)O4*Q6pozAD597%`YlxZC`&Z78tkE|tr0~Lo2FU0Oji%s{+fbw z(6R(W?pDno@Z&RvK)cSP7uJ&7V|zIZX4IjzbElsR`>kAT=}YKvz`bg)dH;4E;@t znM_-R@sKhKAk%Xm1}Jzv$OSZ3!i?{XzipYyzaZXake5x{O%=O`y=jYTEB$i7QR;&M z$kdAT@)bc6J>-?`)PcI?Y$9fC>lc3P!5mfZeDPiX-GBeh5AMG7#>1a^`h}No9=-bb z$&;&7Vbb4c5kSpLyM`f6Ywm6mhly59pFs^mFy)!n<*yL%VHBva1_YMHhOPh5$eBZ5 zpVhin2)hx>R-s6^e&ZA8bv1m+sy7!^>JJRsSeWyYvPH3psST0RAMTc6-O`s|xo#-$tDCKe~2O^gxr-IJGiy>EgF2(U0az|K}_gAyYU zB%uJ~Kit)Sl}%K5$Nr{lOpsv$Vxgvv>RxX8EfFa_m7bxOOVdRj6g$8W@{yPq)fA@4 z4h?!FMPbCLJ2Z_@lRjp%igJ86;*5_1sJod{G>gC-qPBbqn%Jg3V=K)p^zzXk%wVN%1!QW=MT{%w#!YD6q=-GndMWrIBoSab zV_M`I-KCOLirmkZg}qGsigzt7skz2(?=Ii%4z0z?5~9F0Eqh3oI<}4&5Oe&o$B=jv zbu*Rj7en-}FfbS~O+)N8tRVdZSK5hRDxDwpjIrzf4%?u5mjV?*XpXgsl& zWmy{IO~t4?)1r^Ju@T)Y&kF=}c3> zxh04=x9Iqx*(^uv#Bb^6T9gGV!5zOV#V>WFWLYTc$gbLBjZ*3W z;&H?!Mg zdhHr_rUYU^#}DcXRN11%gQW5VCv!{T#1pzXJiZOUl&>DS?3f=~guoqmnMt!G_2*!e=6NN%` znM_hfYsF_v|}AxgMtjeGF(b@@Bx8ECL z`3PLnQ4_>a(NA&_DYNC~%(7@ZTJx)L91EE(S!gsVW>C|xmI)Slm?Ma{KOde0Jub+DQ zrH?$Ef9UIf!?%6wUwYvKALLW_PTkJsq7UGtirc}=)J$qd)qdFZ#Ui{kA`Q zbN%Z52lr;pT92;o9Fvp;FSM?=_J0csg1{P0)0g>|{ZXiZs@2QURA*;qx-6%_kye~s zGr?D<7`7cJcdX%&n%uGLD3xc6ryU^%&e{w5PlTp;d6gajfQPj=gl*&2&O7w#-&7^zs*r{S;R$XP?ZjC`og~|R-f)(-BWXL zA_EKPKrN3paQ%e~O52IjndES}-;o~h??`~P23$Tv>BesVd#uyV7(zNs=@1Y0wB%h4 zD0&XY<*|*3{nk@ysn5Fvht8#&!t2^fUyea}=)pJw)+PRw-;e{$TBG>F!`M^iv@~GU zp^28bqb8aCj-_UUUhMnNRFy2IphUK{XM0!9G*`#D%S)*?MfXOB82~A!*BHm$V3%fg zCqy(b)dp$kX+l_nTq+0l(56Vr?b=|qkXt`UsCmnC(=suEe)gSK13a!4d({;3N@EsOQNRna zvol7+Makfd$Ewcgsy*=5(X~C6caN@BE}G8pAkk~j<&$nNM`fIb_Lb~O@?xB|S74xP z2?^F5yS!>RgM(n%rw9QvIw~)L$@vI71=m}t)L|$*D&@jZA+zcXC+(zR02YTppY0vi z6=z~d@CB$=N4K+1JaTa)F&>*%O>Zu%)JZ*K<qK9l*|U>7n$~y;PPbD(qyecupNMJ$FA(>ce2Af(}7q zkp*3?l3~8V`of@fFjFE%>AD#(J#2_9FLZw*l>e--k}+>LmbPgbaE@kUc2LFp#3S2Z1D@=Oe{``44-e9C<}08_`B)^UfCS=N^t98Xfz_r5 zK5{Oq?9mO)rTAjEafw%93ihD2i>Sj1#ZO?-5|`SNnUwI#lWO;6f?og71#W|#ARvb@ zpI=|%3Bc1IkAt{*{MK{Nz4Y+R&-;Q8{q4W_Kb_wFseN_K`5FgsKCiw8*?l8W6X^oi ztB&}amg>lwW62_Ed! z$I4H(a~m9W`Xz>JnC$qr9ZPU&4^WAizi@4fDPMF(}OA^sR&_#B25DbUTlp#jjQb(WS`msZR>5`sh_sK{t z?CscCKUe?v8>#Mc=)|lSP+~^=MHN+wSrSiLq1VGKtAnjHORc>iK99^NO;8m#Uib61 zVA=~jkY8k+-8WNKv%GCfZGD~&+x%pekpQ@6)gnW!Vi2+~_z&c8o zN{I@As($sl7RSYDLXe?y*4`v3ifYP$80T+sCIk)JQKt3C(VgY0A=|crqigF9w64*L z&zphjhO|F>y=G{?DgbEsPn9rkmr6&L!0Ii@8!1Epw3~EXnJ8gZ8MVQ2J(Jypy}-Dv z-QHEZmTruxNpZ&3T19)5+fl2hv3}7LsC~BvM}vuke|=m`=#2zr&SL+PIYvmymab<; zA_9P!QnC!3rH@=0laeIGn8QxgEFA#YNsvkWiEWkQWoi&o^fhrcjF+$kg2B=h6q5oT zj1o7yNjC8)&&>_Hq7LA~*xh{Yfr=LgATyZmHG|9sl^ltqY5-kMNY*IG$|UFt2gHp_ z^mm_K%6c`?P;Ps7CdxgsS)R=+?>VhWL>PCQ%6E9J<^9M5b8e}?)_gHMMyWs*rp1K` zcH`$LX1;Dl_S~30iyL!=lTNA8vcd}Ysgh?}bE&Ds;Mh}E3?*iECR?ytUsq69w54zt zauZZ`DRXkLF2~IwNCO95$>z{Cxkf&(N~~#z;MIqAT8x(k5E#K$zU8>ZrMA7}_)8kxiU>{gjc*O?DA4#itlwQ>BkLIL5`^=4ok(owx%=A@5L$(?0l27>qQ5nOUbh_dov1PrdZQJOA@<{G*uTfBDwG z`m6t$-*xZqy}I{opQjF=?xX5ZI}5hXx}ROaJpi4){E-~`p1W}{2)-ccdBFmS(b26q zsUA7wI+274yiXgU>5%Du@quft#vT=A@}wWv7AT4c6$Nk$PuLgq)Sa3IG&JaXHa|fy zf-Ow8O&rhoG<(6 z$KQPUtH1XC{kv(8g4Ya%)1>hXmG)P=e}dL~(lc6Nx}=&h`7{_ar_iJco{8_UK|2s-PJm{#3#-?mF; z!_ImR_(DF~`S)6lQJHwdTGOT&Y)E?(gUm&XM`BWfhoa{gX^$si zpm_VL3wsMIY^u!QuIHbb3-BX>9$iqFH=One8qa`BJzEw6VWN7xI7 z@inR#G!{lvUNTB)#CZY^>X=C3q;)zC7Kt!o9y!xJYuW5(dU|@);r_QgjR3%JZ+m}uU zFN_*Dt(Q1J>5p6i#g*d88Dt(8iFRZBtOxg=e)!gF|MWlkD?j@SzXC76=gnqZk||#&6R#!m7L&WgYheWSGwGiQqL`Q` z1Gc9D@KBc+W_N|Uv74Fvq>bfDJ%=lw7+KN0SW$T&5F-?H_aXN?KxcvhZ)Fjk*%x3L zECo<(Za$-O05BD`m|=BPYg0{-!w#~6gIGhWN?CEeiZ(21~J-Mf8-0VIP zhqbCkOW59XA2CPGNg75Tp`^XnF~`)=m{qJk<`LHO&%N_JeCCrr^!mr&eEIV~@aWN- zSY6vin3Pdu;}GprL*^f^pBIMtt>qiwD?)}*nfl8)LW=24h>|`>-N!{aKoAK)S*e)p2bJWFdK4in+u|(RX zT1T5WhDw_06AK4HO{WRz^_uAo^q&#wIcN`mS3Rf<#E8=7;e?9Ig!d%`a3EI_76YIf z#Y391&eW}`Ho8%H0a=QmM4SgSJyx;QLoh*-97DjJDzA_ zfNI7+(0vVoHnw;mW#OjBRL8$i8Gu8Q+*o}O1o8VZXws7R&T&F{%<=zKv?#c&?}8&i z?qz{Vnw=ynsUt=?^Dzs>;Ixa8?bm6O%5}53$=Xo-O zs#07Cr$#OUj-FdbNcAC;wo4I76PxHLs&R1>pJh$>de-1D$6Y-rXK?6fi&5_Tg*<;k z<|@lHj*>dMdAM`M?oqAnX$Ee;s5%bfK<&v;K4I`Kj|kKppi7u0YH-1XE$>{zD&;Fn zbG$|ZUZwz2Y0nhrZO7>VR`7s?GEY(?pj=5O8NtaFZoXk2lQs+)&zuui|`>%I!Fzw+`Ieet*a>2Ln!zv+K>eLVH_i*Ms`y4kF%4(bLL z7_fl8vDV}7+_lIKRMvO(#sKu2$)?@(prd7Cfp7--+Y7#%j5;u1l=#C;`Wwf6vX0~M z7ltQIo>&G8Vh$26xdJroqpI7et!nk0!_Z(3<4#H)I>WErWT8J0x+slyD22(zd@m7N z0gklN(IKOsvXk{hFJ-M-^mFA9(co>o0xavmd?jXwGXem!dx?->_;>Q(QbZdhvAs z?#F-NC+ev?fBDb-zaHTF$(yg?Sc7s^*yzR|1{+Ej^+sWQMS))lM4H|-ivTW0Rxkn$ zMC25t4C&Rm#vSpgZq*@@uk+`Pl^pQUOjK7|!6kh346y>#|Ayqf?W83GR$I=H)x-Xw z2>V$hB>x^cNH?c-*GTJo>n#Dz#sqO*fUn4C?aG7i87IY+0u!eo{|F&rZas7-c&FHAFE$PNkcM z(HB$eK`t!!A=mMw<7!AEoeXoF@yT#h$L{ONzj!FBJ5G$}+IVP${6bu&ZHHqK6{=N3 zq&_(}ZJ6a(c`rQD%wWvV!^O54EYXdN zA?JB?O{@$I+KcwtRHPq+2@=F%aAPY!l;U-G#f*Z=rmIXm*BUF8ZcPUkFedG$`AV(z z;BxICnqc`3hzZ4zL27==pcK5Kir79d7G`7J;>DKKvrrJf}Hfe5n$$!+oiaDZL4oL+`Yz0G$2Z={MRO#|}Y{SW1w}_S39JzMHs4=~LvoU;=1zO0&=C1gP^rW^G56gMk~H z6=QnR|KW$WfTS6UGs2I9T|DIw=kT&C*w%x9;CBxrbwLNNMLZ$k_waNV&_{4(PqoAs)B+9(=#C=Gk=f;1L<;n z1#U+WP?H)#?VH1)B9+RQ_2E*@!-dQ=)C&xPz3$z;di?0&@BP<)=hOG@y#B*K{md7B z{$Ko`zxC;-U;3W!|B?GoJ=+Ustj00D;4&{!GC4o799;%OIm;6F=AJG%8vy{hi$iW( z#R!{%!BvP0Th>W|f(E}y-cnT;;HbxL`tlI6;oE$y0%%S2N4{7rTQfm$#}HMmBr=;4 zk2nNRuyl|Q^ArKcK6whArCpP0SEDB0$~AGa%Lvc1BzSt4!m+Pf5mPGol15PJM;M;? z4hkubs#lccwVW>4?N}8XUaAafQ=qUi;B+{LlaBi}#+nS&!u7oQ`!T zyFziEQT!^|qQnGwoy1;&pkBIcKsbdaG`na*#Iqv@1Fk&GYB1I?Go`C7aS1xZgS&fn zE>q=)E}Q1`E-*1k2WM(_ft%7&I@GguuHXU~YuLRQFQ8Gr63y7U9A=n!VJW1C8RQe# zst>VZGA`WY_|hJ|v%Xq2(&}W|w$isEd-f!xp)pOX*pM@+!?na)Cmkbp7Xg@NR$vEH z3N*Dl2*&aaVQ?_8s1p3^kU6Qa(jVu>M(J)dK>PZ~**czyi;DJ#sFTNq9mv}rl}x5y&Y%Q6lNO)6%XnV8z1A?2{0@A6L{Z4@F1Q#N;n7iUBry7x*TfG= z4w3^raUN5>ZzYB8sS}%md;R+!^bzz@W(uL%Mnay2)tXU>ckz zB7giKQAVi29XMk!7B3IvhGO5zY7QxZlE5-t584C)R!U3LCD3^zeT4s0SR8T-(*f;r zW*nb4NY2}tQ1lXe%Hntwj=z>8Zb(oh-j_4RN>LG?Y zn$v?~RBk14i43GY%HH4aEan-^5lpLjz%KqAzk?%~j_8nJ1Ixxdy7nnP#(|oyk^$*) z=~^)xr27bL$C_pX*bzI-Hq;`hVhESC+3M|;#T0ClFt5>wuu&0d&=A8>_(6$#oQyB;asLS&?xfBw%TjyxQW9i{xQ!63xEnm@A&20M~!` zKl=}!eE3JMpWHln`)3}{z4uGL>K8vb^V#R#e)HDjC+qPIPU1MDYbUHD44|HRPfNs% zyTJlF1!kq>f@5wFI;Xrz?j>q6IUP-n%^)vgO9Z%JP6=e4dMPl?WtT8G+@8xk&4_{N z#}MM^Vb^L!995XqD2E|mXHrWa(y0q}AqAkf!ANaZtHwAT#Ps{>8>N!!9dg}BBI99* z=K#C~FG=7&O*t}-;qcXd6Z=db6vGA#&qBlX>iYLaIkN_6-F47C=$pCs+}r>55B|`5 z-u)TZ$K97c<$Vtyol#t89I8`*v%`WnCe1z9=$rHD3jO-u`|g)M`$NC+>wnRcet5mk zxVl;cmTGduM&w`RDhBB#4E+U>QG=L-p|T|nDLq!Prd_NNw>StZF11}F;vg{71-MQY zE*K<>hjOjy!a{7Tp4D89s}Sd1^8!KCxpm+nIDUQ}O= zYu-!}0`0Zk2^(wEv1FLG_@B`RD(WSQ-D*^nK%oaa3_Y+ne^fHi<^y}J;X^{eRXI$U z$TE%3ibGN3Bq2K9Z-PRcH<-A`1ZxtybPCW|xQfSh>K`>3i1`@3m3o3J77C8Jw8 z@IHft*mccD>ppR!DC$7h(PA5hjeMtNdz~%U!)Q12S&|J53724c_F74~RXGlXqlWgU zEbTC1;{s@jqiTl-m|DQ6a8{@&f^5lM&@0QRW75Ts8rL1|Iu2qVd^rsp<>tLk0{CBY zi#r_8&xv*714<=`Q~K@z57)e^V2r+^s z6?xNQ?1;^!#q*)Mgokh!4+J7pfa&nbz`4K@;Rx=Z@w+!?iH1aKC9&+@5dtdJ#qp>p ze39(eAWb|TJQ^}hvxjI)+cD_eDk(V3y*9+muDB_X5KAcqCI1^%t)`C!@TTtE>GkB% zqsPDLSA6};pZ;0+nGfS?o_qf%KYIM+7yc8!{ZD_(UwrQEpL*xcgLVB#*r8p>eSh(22E?e3syqys*huBjhZGlXsqXmMacqEn2NNw?- zEF7v3RIJ26YU7H_X^(HHOL1n-v`R23J{st=?ZDP~80RsnyjtY#6FnC&#Uf7nNCArF z*vlpS%NI0u!UF(z387^4wxL`gLj&nGw%NmBgh((z^2RQ$aQ14=3=go+nClxn^U^#2 z&Ub$2mww~WL;me%f|tQ<=sxlgaXsLI@QAIG_QR4qji4c+rQ|G_1}7;{^+j_icX4#*$kCJK(*MQa(b4r6Kw@UPKozzx&cbE~Ah*B4Cz#}HZxgm093w|`ki{XpTvVh8 z1)WT#_|*pIcC0D-QUz@oF2smb1yD2?4-wK|VWyYvg9})*oYc03eZr;&Q{-VfAy^W+ zC02OJYtShb!7w_ZRy;{&Y7FFpI0@7?1*~x{o<`?`)QTv6xbdGxc0E&)MsvsrW)O#t zzpIZ;`2fd*&KyH$GnAt^avZH~r1Achb zz3GRJI)<1{`N(c--4^&GzNCM2fHZA82hoWbvR0>tO^OS3hyfX{Y*9!b9=xeuB5Jsr zm{U4O5v^LeSb3&N`bikpU^JP6q!CjKr}vorvKG^?VsIXVo*1CSnt*V@ z!l_HNEQM_nH^HJKIHO8FR56p(y@wdLrs_Ln-x|_6apWP1=5X%FNt}ag=EB#zG_s{d z=B8&EM#nvXw+b6|pt8C4fNm_?NR)eK_ULdKI_}-F<*KIKQAg-T>k9pH>YnTl%)e%m zqaq>iq;i)^Ep}RIWfADjRT@xtT6)R5XU(1fvKh6_atL%p3Hp@{DC{Vh2;d$~+YjK5 z5&ihl2j{5sadY?notnq!n;-m}-~8mKzWaFm`0+;{-hKb){%?Qful?h{;v4>r|L8xx z|KRzjo_h9tKG*3~ES0XTv3IYdJmN~XEBKrl77RHmYKe;w4RXeV<<`suQTb{cl^svi z0mQ(!P{49oC;_6U+V>l=!*hLHVybPztnZ_uI8?g9M%SA2!kJj+X@=G=%X2zY+l!W5 zuLAq^q!Xp>N~VXpV#y{MmcA1*h?hl*Y>CMjzlq&}Tq6#oo;W*9w|!tLYp4Ujr0r(h zPPo+y>9N`d*;QL-u0b-|8IZrYku+7yWjEbd*1eBJt4Wch;{)C zQYJT0fvLjJonGrW@$@u4{;|LGH^1e5?|jF4_{!7IK7Trn0lQgMOhLV-Fj!HwW^uVZ zjV_(H!5B6SN%jiO&zo-40}G#t=Z@uiUy!arBIwc1xM+oIoHS%Shi`=4=d6M0av=+` zLCZegVM3tuUXF%loooya?%klI2Ysi!gD|0NNKzWo@g02E`-`wcQfhDZ6sbT8naaLl z(1*rvI5|CFqMp^LAvCsdC5So7>L| z`3}|v*y@1{Q`J@L{q7Ji<9Nl?3MlEM!t{4k@~B9E+(pe1BJrF$Ux<`QK!DwCh1iv9 z<{(z~9F!ZRt^#rYn5xne8!cs&W3nbh7Nl5m;3+uBKnDj7#4^&k7gVdD+o}B(`MA`x zwLO>)g>w%kofyo50d`@_5X9a9t*^m^GC#_L`F6`nL8cbOsuT=#vvm>^C-XX{L0=<_ zDyu(aDyL~$YwI5BLaJMtfB0C*P*Y!=f=pEu8-=2DbL1F5QVCyBV`+iDbWi!3QIji0 zO7X2*bz+U6pqI-R@at}$muRfiF|7sk&}qY zv%{lF$@0yCV92ofwD}N&Kao@cqOs{m{e$Cwf}1Z)AtvENEJ4*+R%$H%k%#)PbOd4n ziZ{&}H|p*4H;UwLlq8}fOnV@T;4K(3?9)cq?zl9unC@~za}yUOPBtYOs_mI1#TIcC z#yy^adfI^@X1SIF3}v|m{{!bH@w&qwF{3-NW!X9Hmh)z*eZB#E+7`%bR+I@hpc)&d zZD-?$N`Sy{E<&08z+gNjjj6}<=fD8MS1e3a*IT(X?RAB+?Y~#yfNutOkqb6}&*Y~x zWkHFG^rPR7dnu;mCL*Ka=j@U!=y|6PCZ z-+T4@zW3g9&-NQnp8u@Re(wEW_3!+y-|=<7{a-oVx%c$*Z+rack@%vhq8snK>8v_R zDP4iXY#uH5sPCvu0JS~gTII0XtU6Be2G~0!G-4oND$&+qY+2fqg>C=5(2!dk$SsQU zdLFz~1dbW9kJZ;|XBg{jm07Abe7X!mNBzK=IcnrpB#IeVU>!9$%d!nwHdu+z$2L3z z!U36n;Ix0X3ZDoCl^IQU5y=yXv!TbOGG14U=QbGYRS9hu@<{X?$EjJXub+AD9k_bx zANh^H^-I6%*IeCu_tWou`_1Dgr_}`N$ybc$tQx6fP7xYVR1gw$iS zTiKio6S8Yn=m&-DXUdb-RQILSpicGJtps$s4@Y#)q*RZ^?M244p*2x?qNd1p`sRNiwNiZX@!5$4? zFEF%|2AgnQ3J!l{cU3uutEB6Iglkh~L(9Y-IAywl)rCDxQ`glqm5NOKar+UoS=i)6$>?(5{mX}5moJLU=Kc`o#)7&Id9f|}}635`Ap0hTn!~#7d!zbq!2%D{2 zIxpaf`2q>JECbNfx*}`j62>Q-gw(qWgXr#7LuDtOGM?~n2XL@7IA&U z#8Zm6`6BmHZ@`VsS8UNaUPWgo5U0I?SffLcXGT+=eYM_3yLO*}pZX28Vr%elGJF%C za1k{wrUP(fKr@igq+7j(a?%VvP}_%-HrvM&x~xSXNayT?9>(U!X%Fli4|R3?^kdM6 z+I43`Sg?`;>8#hZ8Y=8h<(lYoOzcio^8(jq#6`7?dWc<$Ba~x3A$&}J{gTihIbqll zO>?9HA?w1)a0F>z*yN%`65(bO`(K@ufe2wD2W*PS>DJ1MnvaoiysOD%g)2n57bt@+ zaCOOO`p?psZvDSU8K`vNwAjdOz-Paa;VF5vTeJ{72=Kg?T>rAI4iix>$e1~a61~u? zE!N3*NMxBwR!{chJOip4RZsf723L2k*wx4R_x=n2N36FV{rHdFd+y%jH{a-cr>8#u zAO4pA^1uGdU-MgrR}Y?fw$3-2T~Gt8b%gxt+SR?Fob-a-qRh%%B4uUzdEDW?z^S5M=M(gaN6(rpdiR0Dy1H59`385c3e7qWQhm3w z;0l@}(JcM{5S(%jXlCZXtkuT=x|d$5bDvbXT38dAP&D77ha3vqF)^4GSRZV&JBMhJ zxaXb?$&RnoX;Y7tW`1=y;8J%v`|dWf;E)zItB&(y-ki@*J@Yp3>bZA)@GpPUH`gbB z>eahmI`_Gb5`gaRDICYaLyTJ|=0MGy4is@Zo_X=bx88hsx_A2MCw{1=A78)m)ZP0> z;T*3yO{K3JyUb>ghRUt~I&4|;^Peyc^Bqqb$LM6iV0NQEGiM|+cRZ4UQ+KxpGPa%w zlzis)9>%UPJBS4O^$eO-DTsG`4Eh*M^?5LTB8oioJQyAYPPY?4V<$fvY{83`BWI6}=YT0uo=PFER2YZ`H7jLQ={!hx27|W1(d3rsO!hZz zl9N#^u__i!;Qo4SgV?Xbu8?>2VAPa zVXi@N>~fOUhrskBH<_04pKdDdfS@JJG1{CSXgZpQu!q4x!@D}wIudq_aD^gWc{&+8 zA_FZ4`oU;AzeB1x_|O%BzUIRK_#!FW&`L(BDY_1{OEO`&6eoHkvIykH78s2)@$1aY zEXb~VX~ZslsjeSJrm*`Sx5%{7qZIWSWU^5LTY!Xhy}V2e)O8?|;0UdSOV=<{xi1Ks zEu&xvjhOX8gt~l?;AChi`)wI|;^`2RvdH}i7)2nXP3&yb825-lA-+QXyPyha60|8) zII|l)jm{m- z^L&`?>GW|vmAcT@=s#dvukImMZVi=3t^`8gEV3HmC!S?HBXNZe?Gsp2^t@F>CTLqQ z*57=HORxUMHdK_B`BVa1HPuz5PrMv&Dd_PZR?newe-VqMW);APFGFr<*UaCJ4 zvIgXkKnZ9$&g0QrZ(iNI`#1i#Z+-O9pSUxp)7>K0&H3>Q@Bi$-`OSafcmLb}-ZhUq zFTCyHTQ{ew!K~tq-EqlVDv=Ft@DaCWFXd5HM*jpnyCW}Ta%|(%F52`sUid@}!wzC{ zK`XQM?#+ScB-C)|3AVHA2*$CyW)0>nCfq}^(8mzWRX}c#0d`?U^tAimSWF$+;L$qoH?LGt{WKt)hfuy4O06 z#`WX*zQ6H}f8vk6aR2GI-gxC6uja}1th0}`0V?x)ZiYtQ(;PwTNDw=e+FiC zR)ei(Uj@j^*oPT(bHNv4&JJtS@R)=P%60W3NsXU!p`;NC;k4*v+})149wadVBv#C| zDOHz0vZB^5qoS;gDS&X@i7Z|+ZR8kPlT5``d{*!r#HrapMlgb_VAU2I^>ghAK0bw( zVp6H$^okbSIRs=GB>T?(xIwFTp{UE-Ec5C_ms?dt$s{7t0e=Guds;0^p|MsERVz@( zKL0`vsUkm1W7h=_;Lg8u^jTG&Ma5w6ft#x_BkA876nT-H$7^5h0jUaGxGmsfE@{n- zCbPl_WBBN^a&J_{6b779sqUo7yi&<1_~KeBL(tI)AJO@(&`N9qu(mcu>tE^!9?u)< z=_N>)N*+R}jn4PlBF7LArBNu(V^FpgPXd(pW3mu>l7TKZ9%s)TigsXH33qlCAoLzgcf+|YLDa|k(C738Z&)?C$ zzf%&qRbh8#V!JJYJA;oIpbtY7D!kJYx6EfeU1yg9!Z<;EV}qzk0Tro9R6r!*_)^zt z_skNhQK!M7B3gnM4IL*Sb#5w zYp-0DQKjolP&2zONW5k@gqakzPK$4ZLu!#7Q&f(JzC7dhe`5vEk^y(5|5>C|QIm^#5ME+};mz5jlOp2IBfLhrpSMaqHEZl@-n)`kmkN;)`#4 z{o$Ky-CUjS_`Afr?fjR3wf=L+W7l;Hn%KO?{NM997-nqUrjy8sf3R~I9Rhbc>VMQN zK~9^S(<@Dv6V#C=G&`supBZu%bw%2&AVr6Ql}C2*+Zb0>5Xo%S6;p#gYrJj)M+TBO zg<~(#7$uoo7fhE@If^p+s+>2mHXmbouFL9~MEZx7nd)jbe4j*)rO~ska0xy2^o?wi zXg>YIi#Jm*e&*-D`S7im-v3$s=Igb}HONvhHUN|d09JE>-Lt?h9H$c-KlAP1{x$#D zZ~wKw_!r!~{wfC7^JJ)w7$z!b7h4$#*?uvLEI^Csf38T0wSb!1sZ}VVI+V`tb)rWA zbZ^JO3;`OIEflvHs2_BJ#4*A-<7V7xMOlZxMi_&DRp4&2bI~yY%<#+^^ug10_cf1u z51#$#$6vW~?*Wn;Hs~-H?Z&cCFkR8HCBqd_FQo(>8S zoy7;i=_=&HqE=7m=*HmjGHU6Oijpy_l#`i2?#W?8K%_|#K+jv;LE7(Cmt4O`k$N78 zJ9Qc<5j$XaX)tE!>Y_va>A1DoeQ-VGaE_uS7zYY{utc{CBr#}3BCNcG_i}w;?KS@F0!EGo6odXaYiWZ}Ywjza5=}s5AJ2_XiJcm$k(gwMp2zl8(F2Pa0+>m-rZj?nXWG zxVRwNFjKW5C!Xn0a|k}o)(Sl55tm#d;GjZxw#u1mFvg_b+f$ol&MSZ}X@Srb1NJ6$ zvwcvST$D(0e0?ri3$~TFgJ|PMdbY^{z}5w7LT~aXV49fNt2-ZWy`$GG-{A=QZeU&0 zC2LbjW@ynGkjDtrh2F{Dl>g99_BJD3f@`j+AYstamve6XOhYx6?(=Fi%7s@n6q5t< zny9O@b2yZa?~5uxkhPrfKw<>O?NW*uI!lTII(Dvr=ynqlt?Y;ml|rWYY+5LBN!wL? z(WMZ09}fM4I7Zx{K2+FBBv7zC4H5|qx(N%8Z#=xO!2@X?v~;zP-7PB_=i^$ZzP`D+dB+!j?MGjG?dN~+=Y9M4{O}8J|J32tTW>uc=nBP^9FE!}$5mw* z0t>ovu*m6-BjzoaZNx-p2aej!cCthlQqeKqQ8XL_u45geUPJ`a0cNrslRI`q0mk03 z>Hx0GL0N|#!)hk15#zKYWl0sbKg7is*#`p0aiC@jtGf4oIVe~cGm3Ns_o?2}hn{4* zXW>#B9DT(`TsnK@%=dIe0&V>6I}+H`I-ATJuAJ*6_pyJvJpAygu<)+86jC8_9qzV4p;&%FJc{@l0x5C8LD!Rf)1o5%J5 zzUd;=#n|8?6c|>^{kvs(j|Z@x1W_t;0n3zv-V>nc%51NJjNBMpv^bSk@r-IX_Eqk1 z*_^(~HJ_8yX|E|F>o@Ycn#>6QG=M^RLL9){kP|J*=i5sHc{1a1Y*l{_^GPp{JfB?b zkfW+|-o_EsBv_e>Z;Tf_kJjslKTcG&V}(FLU(OX(hxXwmXX^h(5?W@E5=)G(NQ zLhVMM=^-kz*)koGTcaDDRRfSe6zCn+-%v zvs|L5s+II<1ofyhS}=HFRF_CiP~nb?aB##ZuV?HmbmU8Lbg3A(OpmAq{%sv~$w!R> zJ>JuXuA6lkHf-)hTIm_Rnra2iMuedC#(q$v{2tRZ2lz=ft9u>9V1$RcUAAtmlFYGs zFlFw0B!%u4!|ac*Z&eH|R2SNC{&A>E5T0J~D|WxsAe z089oT9oWOgbe2q2>+)OU@=~jb&Y^c z-+$x~>hq@WSM7WP;Pjr@S?bU#u&SyI{0O0O&qs>TJ@8|=Z3YIru|cQIHtf#OFqhx? zMC&m+E=b&7rDEy}vJVMtBP>e`?sea~_ySBlmxK}LL2aUSs8j5g;*>)R>b|^-x3&Wz zX8GzWpizVxl$lX&YRJ+_*kYi(lv5q@4;xq8Z#190_3G1C&wRr_`3?BQ&-C26x_9ci zgX!1beDto*djIh$ANYs9=*#}XU-@fKJ@=0LPd!+NE^Ck9u!q$H%%+yps-7`|S92k@ zjO~+|vu6cE4=00R!h-o}gm=S>AsbP_)?wjLg-GBC-AAj`|?|R1?wgt8;PK?)6MW)hf9OB|!$iOK@Qvo3spB}E=stBQKA52E561r4 zGC(p{7_8~OXcV&{{+LH;kaf1kTNwzOGc(k@!ULF@ef9caEI0-Q&c@LL9h5O1gHO7O z0g!D@TpZBCiyRqA;-E^U$U5#kzIpP@voC$ecmLgA{~Lb8SANmwqpyp1CbxNrWEv}S zUj(F0+!@>o$BAl}`(8cH%vBbq_LelQ=t%wbLDMzZ2|^S<%Ft$HZWsq@`b2M{$#jj;eOd01c2h4BZ+E z2?zo@E>@L$=iQU6EYZ$5F`E~U$n?$2on-ui<4A@ecC^Q$r}pS0qb@W5K~~j?VCxc5 zpFB!&nEjYZQ|U)4fa$>O(S#YNpykauQ4Dp97#)~q+>Mz(G11)TQx*R-oxxzHRD4>s z!-02ae@UDkhjIj%%ajioKS~yepg8fLbmE$9Q|(+jtad=(`4LkxtpNs0KU`a$PrlGz zRHHs~AQF3>SE0&5njjBCV-Zvl=wWG~D;D%1*g&)lO=UwtZT4(TLIqjiEDwUu(+3;| zWJAKL1%7@JWWllO#ku&ZgXFRKUu{lGZr2!chA{&sG9%k-|@R)rfrh)E-ypb}E zs7x0$ptF~xxSu>$nNrd}erPa?;l>sU)o9ZLDjcTW*Z~#XBmW%!^Bu%v^G?38j--`h`Z6Y6Q0GHDfKZq%*>=yzEv?cdu2N> z(J>)j942O}z5Z(5@^_4{BhpUl#B`#o(v9VD2>vw6-25iWfM8G;03=jt&Jd5+&Pwm_ zKpwE1<_qqt-g>;wPagfL-~VsjdFrVrKlvkF#bd2Hu1@{Nt8YC0!aGmz{@h>w^}qUG z{p+bbM^R# zzUwQ#{+IuYzxEp*J^aXnt2?J!vz~B)o?9`4UdUdlN-QF##vy85XH-PZeIM5_*-ICu z&V;zqVJ+u{vA7wys_tm4y#(%Cw%Vcok;?(?=#!hI>y)*w)2^IS?z8Q3hkY<-mK&9i z6VNw!^ui18e(Ujk*@wR3SN;0m^jTluIgENvQ9B#B1N96%;m9#! z_s|bu-?BFVfI ze}&eq?V15#YS_pL?jQ+R7m^lb(4l@aqggnQsB>#5;Ti+VdpM)LyoXXjY4hL2csy}M zAH^)QWJ@QmqC+x?C_7yWoz$VWKi9J;#tBR!RVw=Y={33R&R(=LT45$O3TRO{3AAVz z>}r9e12S3bu``nzW(n14xGUZFsfvmC_|?UcVA6kxw1lohS@(($qUiV6T!tgB!+e7eSV=qfP^nZ<|Lz8Zbp$#uz`^eBhYnN zkF{7K4PZy{zE!2Q!xG(4Ftlw@()eKDxe_{qP8?XeQXbnP3nZ~SA44~ifwNQ<(}$BZ zI-g@9)WV~^5)3G1Ng5q7E5l62hEIg`S^#v6_6)CE91?+zEdi;*dw}8LYklRlXH=*n zk*N&U#+5Y&@VahWwoN;I_r?iNG*Txr>Sq%iItZtHmB#h`F-F~%mk6Ph;sMyp*(+Vn zDG^=K{9n-AimUngWW2e(N)MZ=jyI8$7Z5%5Y!YJM;uNAZHc~H;oU7_d_G2T|1s?Wu zK#FtKaG#w`Km5R9{mi&jkG{%|z#zvev0--n9ewk`LAH%@56~^OqABGyhSNw2dveT4 zNx7w4mM<&Yhp7!hL+f0)4_g`G}%IxHZ*DmLhXNP;-*1QGhq zSqcS(2lwwke)x$2|JZ;0Z(e`oM+Q9R%+&{pV-_Aic;T66Km7~-(Es)Ke({(8k|z%y zJh=PxlP6D<5vBV&pr`wj-VNBAcGgo5@yIQ)&VF5j={+ef(Ncp z2L@@X(;FpG9w}f3Zr{``l9P@(KeM8}rl|pg)W1h3nOp8v=6jUuN%fROdG)9Wa&-5q zh4b};=il?UzwdkB@%HzfpL^#sZ-2h8&wX_au`owZ6%~2B?gP)Op}ZFk)LPf*g{#vW zKm6mz{pY^zPyb<@-+KJ`9OTADoI6w3h8*;H^d7>!0&Ip*enp@3^2Jh?w<%OQC>fbT zxfJ6ae+A$6)f064JO{I@q6EZEq)!4hN8ge|KiE zSVtvoMH-`*Duxw1HA~bA;pRB`>J;f)i2>y)1svMHvkb>)W+qP)Ou-#6RgXiT2lU0- z?YJA8S%mN}ogKd%;3mhiL{NK@TW(THVcm=?ebNIkxnVpsq(bN6l9{%|9j#$VWevt> zO}&YJ*g*!}g(@hhxqI8$<1Cx(h7rv#*({=WxBj?vE8NZ(t8InS|8F_QVY?Wmfb3zr z)x@A=Xuxv>mkNeiZJQwv?R^2|>keJ3J(umfjkDafrNE+@agK=^J0+vo>ACo^OWd=D zf%5zt3mP-*HMK2H5G4Zb#kd_K3@yD_hKr0G$&h{SGpQpr!tM?0%rf|$O-twp3QE-L zyr;Ct99M|UbON)BYUnEqY~!;FX%(9UHN8M^>}n6_vNBAYMJnA8)`_aB$?BM}**IcB z(R=J706@aUFbCtX6iAM4QVn7OT`oLJ8j%mZtl-e{C|?3fIxr+OT2l^-@`vn<@FY3xbt6tO)U(;*i1cRaoxSpv}a^%CcSK5sWE^Q|iVg#R(<&n(~q0}h% zfItOMA9Mzo$$kWK=~@|79jeP?mdW0${GAS5YDlQV=!C|~**CqeP1aWBh$wIE@6<3d z`;E#wH_`cE=YrVmR<+*jQ>ee!2xYRWmn>GotJZPr4>{4Al|;!WGuge1kS|U`XET}7 z4(qst%k>2{C3-9)B}Enf915tudsxy?2+#n{pmE!Wowg=W7zG5rbtYrxO~z~Gq+rrg z1Jof1imjH}M~PF3+-t~jOOj~>ZNWforu*XPV;d?v)R1I*8Ed5DNAt0U2MlWOOA!8+ zZaqLn%!^l;X=ez%@}sk3itPUrb&%pwHnm+Z(v8%~Xq2!VU-wEYi1jB~xOQYceq-G^ z_~xts)UW;ZpZ>wGeEh>dh|_&wy2v?>!qw3@9nXLH*M86UeD`nt=l`|2`|LB%zjR&; z;1rL8y5dz$LDO+@+!Qo4B=Unwg0_i}IS&aV`&adHg1JGCaB_fEB4FybDM7aIb@`!# zF!0psuc^~bH}IgBY7hD#Fg*7;7{W1)kfJ*Am$p*G>}Rh13RP^b9yD&IjS0$tZsNTx z?)hv2!xAc;5FFb6I9uW%(Yy>RxnwK15+IG{Fbo#M4UHfNXgryNS9hPjdiq^|=R5!Y zmwx_N*2|y%;-|i+yLl?iX*EtW=i*T~0s}0MsgMmN@_kKU=5*)YTd!Z^l^^-@fA){E z9z1^Ym3#N^Y1BZYbaTRh$80^O<4Q%^YSOIb2Bo49MjYm-EzF zmrD@LObd+10wSFvoAKk2BONPrF7nd9_u?W2j4|p98vr~DAHb}eo4R|yuI@bh+=f|!V0buKn!?3SRqm)j>mS;nREFL1Rzk5V;AO!V zX9?)c)XafPAkhIc*PDQBf-bac-y)I9=(t4V(;{|(4mTH)Kaigk^`Ww6DHv}vFzL%4 zpyS+$f{t7QYc~8tVXLD;MoIN3-5w`W``t`SyfJduX%M5S$Kdb{lg#-6r$ilZ!JZ2^ zG;08`n;8srmAtY%;aDy_SUXMOOMYQZn3(D+A(rueju2=@-{=R6L(K?dgbCrFLphkO zCR{dR(mEb+FK~k8HbR&$TY|Bsl+a-=!prd~y~E+e;$cH?PPr?*=fY>kO;n>|_dKpi z032}P%#X1RMPq$PbSe(kk(wy80~V{Q8?#yf%7IGbwQk2Y%<5TcE!WHr%|Z0($xWAe zh?#LYc#5RdYR4FXTHUdLasQ+UPwk_=X`Eb&WP6Ht0+V6qiX+Zx%xsSVfXcXG&{fsh zL;&dNS!i*%$+rozs|>B>C0sBKrg>7f)nW?t0~$f65{)W*fz>tba~Y|P*{Z}h9$K5? zsrD8OLMdh}DWQ6g6$E<8ea=ER-0Eo2A;Tefi8T5j4%?j=rL9B|*u?pmSc(nI^kDT_ zE*>g>ZOzz16-uU}6Ocya93JeJx5Lk(S?VdpoWZ4y%?9Va+kSI0K*lKmit|o_v{|-+ zupI?_)2PdwE}CYg*3p30dgrc?R1$HSMyNPf?x>7iHDjwA>QXA-rxsjTp**ycWFi8Q zA`xyap+Hh>$c`Nwk0-h_$}+k2s_~(AxC6O=#Jn%QXc9-ITb2tTL(jZ2aK=}~k>h?h zaXjfDlyx^12n$JJZL{}FrAwdL&#{`2Ai#<4vsT!q5$mS6Vq6Vf&OO5(@_2B!>+yQB zX8qvb{Fe36A6u_KS@+Q0CsZ$9cM~`3`i%#l`8ogfpZqU>-9P((LOr2E2#Plv35JBpqk{q^GPiaJqZ- zObzBh&FblcLyb?Ep4z;pVppIhD92rdFIPi#kOStHB~E$+5dNVPE0Ylp>f}N^;O;zq zunX;Lw0pV-=Q;Dv{X5T}?%eyP|KTrw@JoNe@vhH&<~{E^KYFW<18lCFE6yr{?6n08 z@0S||iN>6+PBPB>SLd4_{QH0AoBrh2{roR~GhIbfruU_rAsi8O6aS0X!dxWQQO~()_@r4=3%rdlGDn{+Z zhTZ(5vg6*;1~J4s&tx9i>ZL%q&Uc@E;lceE|Hj|@o_XtMfAv4}+XgoeUwP%haThpx z;CYw^v2v=(nhcPug$y|4_~n`)pQ?y2cVIEuA+s58Gs!xk&tny^BW3pzWGx8qOJxG3 zxcRy-(qk6}oKa#a7j!s+Y|E7%VMsiPlrf1kRnS;0%QHur+j?)NfOTFoBU0Tk%8A|@ z7>KC4Y5v(9tat=>EF@v8xWLR--X|!(XSg!Hm(C8`oo0CvL~ti{-;qB?f6=pAWsgZC z>uojk0ZQqnUt=yCFRw@^=sH9Cw|GPx#nknn+jHmq(1QYxoEuNZDc;iJsCZdT?11 zwAxn+J#9VDHLwb8!p`;&VtiuL$!gHRdxlBpw6cCWFRQ0q_FuAtxy)dQhel?|1WsIZ zhs>SOpXrZg_WY_gk?=>WoeWi;&6J#!o!A69D4Tm!9aXcL#~AO&_Yaca6IZP{qM%#H zHGbFHD|FSYTROt!aLp!}M)w(WZ*Q`jdG)J0(F;nGK+WFv z>rj80=I0Pzb~xe;ipdb%2XKg-i*=4f&#H}|jJFK~_i@0*q#OufHGKqcHD-#gkdQht zxFsW`BooDg?(yTP=5PC7-u&KgJMKNh zn(J97pl~dJT{Hds7k$}(`zOEgD}M2>{pr_UfByNG&JVAT>4WR$GLtUDZ@rNY7yHP< zcsHkoj{RCz9?rZ01GEx03aR#vnvh~qJRNIFvbceJE~ZNq#?{O;(7e8Ra`m=%+?;Pt zbt=-cM5wl~j%n!DSJ$10Y&ipE*FBAM+%@V%UGqK{okf=1)V(jR*BevRq&XW)WWn_c z4k^6U(m6h90ZS8U1+L4!NNoXgfM}w4P*qrq(^Ko-y=PxrZ+-bc{A+&Qul~&s-u)R5 z-uZk#ddy`CQas|MB{j%5&Ww}JgTVC1Pq@|`cYo?1eDAy7`$@m-SN^i~h|FuhCqVQk1kgZkx?My(|--{pQg1LsAt;{uCE9kfp7JsFaR#`_`iU4b4G zro+F-M){|dzxJ85U%Z52V`I2LSdfFq2{S$CIWU}q>-y&W;Mupo@%ZL9{MLW==Y7!^ zy!2UL_W%CFzkfY`e04e+O&f+}<}r|sHxKw2jZA@YwC1mDq#-47DAV82T)7HK;<-JyUr`jpjS66H`~@H zp4VcS+os_%h4@R?78^|X=(=~AfRL@+@t)Afnqeyl4-h<&Bv~F z5Ku-oD9hehz#LY^4N);@`XWD$hZ66$#i+VLkE3q;cJF)M%m@iHxws(Bc*Cl6!^+4?xAkuuaFFylW`CcrCc@offt^v2J^ zOwf9sHg#7uDHi0Hnc`BNn#|}Rx$_ss%cT|>)`i*7DZZKbMcC)vUW}OuSQpBtJ1ko@ zGxAtD4DeZ!f1925o$bk#S&&LGuBjOYE{p-0*y8M{q%niSbRL31)Go@O>EW@Hr3o0M z2E}_J292(EOUC7o+m`~u4&6#Mu{BJct@3Z_dhmg#&$&t7u7p({yE8E5k(-z)xctsl zi;zg?w{BGmNY_)UPZTYA#fTYuV=i{Fcj&U|-d=CDe1p7!mNH%L(s;rWEaymdw71tx zENshQ+zr@lRcQq~&5?!#%=Gk8yQKd%9yR1cW+r*Vt9(mJ##%=FNUXV^ULFB%h<1ke8j$0o%!IJLRPWp3C-ndrXWthaF0k@(?m)PLb3W38JR`o6}2b-4- zW-KVarMJ3e_TX^sH!Bx3?o8ZvLNcpvxBH^Nr85u9PUHcs+E*fBQgISS&+fWX9_Q|z zry8dRANWwcww`_eyWV{CgmXGh#H<5#gT{G1bM^Fxf9U&o%&R~Ax1N3ana7VlHmg~s zl0w0WRxOA~2aD5daFDYmV@ZaSx>(tO3|h^X*s88wBWH$%T$wW?Jz%N)A1Pp^7BChf zpk1?COL)4vy7$8A>KzY0@VUHmDi*LR*9G>rA1&&3PLn6{AMxt$osa*(kA3O~-uJ_Q z{l9aA{UHQ*h0bge%|t^|mozEnujvfUBCtAM*l#SeY!7*GloXt4+lSI? zS`>ok;n8c!^qWsT|I(A5Pyf8H{;8k*iKpNH0o=Jd-n{0iMt!dFcjV<+12OjgaHeZe zv#y?d`r(IPf7{!h{n7vRzsK~Oul?+uJNJ5>9W`c#tP&SObO7A)sJDXOxOZ>^gXv-A z=sQTwJ~Sx}rQ&mtk4GwU*qFo0DG2(`V85L5*jq%CXi}F4qyKdKsKlw6Y=nQNh_!@7 z*U`kO&o>XAd&j!L>D`}+hp*v${M65U*Sns3_WIFv;W3XouN5hCG(;d=Frxj)ipw_} z`Ky9XCBts!zlYS};=PYbS*(5jo?tR=oOA7}`vT&$xUqo#OXE2lkvVMcVyhl03tsPi zFyn}B`7M8%J1VC^-^#$&aE0;=mO6NgBf#`-*cmw+UBIW&`2!*CVPJ9MQQ6a*Q4!QV zgaBLkE9o<4Ud8kP2e`BrB|ekQ*P>Ewu1u?L`Lkv5p|F=zl#nqn?vaP;9+s1slQ0mM z1)uKLqVEt3TOI^NeXM$Pztfa6S=b*Us9&X=WwXKnTu`qfhIZw*4%k@a2dR6_N6QX+ zBBINB3}9q4G6NR7+dxPgq(=p_O0$D90&lIdc6>&@&u(%D1hu;QcjriDK@I|em6KxG zPbP%ahT9B~!#8ZS+kR$3(sZk`g$R`U2Mx?Nxw^#p8L}DOKTkAn5T^5LxFE@JYB{%k zpFG0)Ts%8wew1XbJ6+R?q0^emoBZZv``gdk800coQCK)pzO6KrSZA~b=$+2Nq#`H< zlt$SzblJ4ge<3poMIUw~!GW4%NKK^G(^siXB58tnGQZp$+S%m|8M1Xvm+?V^n#nlBbeZ4yN6d;~VTdRWHr2cyRMsQmh(kT6$YrMy1 zppw%GJ}+c5L&xG?bZ#SaX_;m)O<#etOfuwi_H+pDPTzJ5i`5%PLiDm=3h0iL$=|_P zS^#@`JjtnKpfMl2>fM$Mj0!13S-kBC!X2qzqT{qieSrp&VP>Mz!3dpuH>8+)r$-ct2R=%lHfyKR&V10U0T7j-7*QX zN9{l=fw6i%k=LYQ?DH;b7ib}w7E2>yC&D%Z&#&4n8YI15D$-E=D!>m=S9kB6?w-g8 z&%b=L)+c}A*Z$PceE6l${nF#OI-cD0>9{#gNxe9urx%T*m*wZPg@5YkI^O!|!?%9m zuYdKId?rzkKK|jmckgeKNAiIFr(3LN_nbF*Jr_ zc5LYob|^By@C`+=i;@Zo*)+JAAej3`iJ*VSB>$q5&~|+~nC&v@K7c;q=JA7PU%t6H z-+BKR-g)6=+<)m${l!1`?&qI>}vYE)}*aiE$vI^kJH=~Dw9 zN(6_6&+Ld$o3vZ;b^p1k3&Ixl6w2f{Jhzw8$Z9(*6=>@RqAF#Pv6;NFGT>e{{n2EA zU&1rCled4oAY|Q^G8o_CHgG4DCdpmWL}C$Eic_!QSC$W;hR6sVVM~8>Da1@+R}{rO z6|EOWUs!%L_eZD{-C2EAtGoS{rQz?%5zJ6G-Z&toIS7-sac%XGy%9MLLqk_*n~AP< z}eanGq#1TvyTvdp{o)&8FJO+*?Q0{0kqAaMvBc;wl z`D;ht#4HP7!ZKnsDKg)=M)OraZtK>heU)YFcuJy=!XpYQdp0YhgE~vY@!tirb>=6!^jvvAT$P`O1X#e1gvBj zs1P~vNWd(wTA#ad@BZUQZ@%Y+7r*{D|5Fct@+S$LQK(b1Fj&(#YOed0hp#>RzW3qT zm*4T?7rk=*@aY%cb8~&haroFCv<}pqUI-j!-qBKA{GL(IV7j=kz>#AJ$r32mfF`}; z0K_TiyrjmZTTpJ_ftuFYR5^nK)jTm%qZ|b*lqpV5=cc^i!O8YctqAH&s|tVYGK5SD zIn1&L_hUt^fwc$Yy1guwGjGcoYiltpinXdYoGEuDAcc4Jy6)@s_{sTvefODnTt9mK z?VtIfkNnh6yyMe8=jQt1Qcq2x&P%;mx<7RcMMkqb{RHI*O_e)fJ-O*eul~$$`al1x zfAT;6{ZGzs*1ZR7trKtLHOBN$h@R?{mg5$8QyR?&p)awjs^E5L*G%fDNC$|Oy6VZ8 zuE+EFYIIty#T@Y*2}Rz|-c3N%y&3d8jChjRVGdEnSJU6D;MpK?u#P%)o!0s0?(^?? ztJj^kf1qD^cz&x+pZLLF{so`=WIZOY*3z7eb(tX|1zqkmOkKfL^$C6koAHL{_AOne zj)J8G#>K{iv>;lV*X?_@K6p&sZgO?u$bMysD^2@|901_f5|YZC+coN0T~?7FH{{57 z`r-rBWuUDn%s6lYWCu~s ze`?2!MmtsE`cz}AaiK7pGT0S! z$g3qyNEwGVLM1*L2C2q7mzx>g$-k97kCDq@v)#Bn*sPCCn6>CG7h!xx zU!bCz2PS|DgX!fMD9G&pYSXFL*eXKh3|36EN(2qhXa0#^*Qdz(C6?3O>oz}L1q;be$D zn5Y!i7qonpv!V%Bn%9U!NKqRU1Z2izELt|i{eUyAbS|Kq5y!GLH`KiqE{o3eX^{c- zgi8mV;h@)aYxH02e4qHqVtK?1;pxEHZZMO2%o&_za$3;IK`(kbn2@pbUZj@Zr9%Tc zpYI(NDjzp$*%88;c&oR$<+WG$mQ&#V`5EYiDhTa@IA@CzZDo3c@=d%wqZ1%>YfSvrsGikFt|I?a0Da(0 zki5>Ge6cl-JjB+v>{f`#I6iYmEF>{2cf5+KNhvCBqfk0ZuB9E%a$e$Sxz12 zFrwf)Msbw(bxx(Hrsj;A*>hq5E)rDrASB;ZBG?>GGU~`h8q#ef7euRT0}rOIdE4Y> z18jJ{r%y4QRowP7dv6qhxWCSj4XMfrb(YTzs05=<==r3=%5>LMn(MzD@%ycj83P)O?GI>^18>7LC=vt~fS1Joo&!B8T z6a*I|Pud#p57?C)E@pR?LS|4J9r(~V7_~8Hk%R67T>aKtPrvx~H)p-{Ngp~+c; zK27O0gG08{N{3t^j(mXk5*uqp)Mt! zIQ1Ftdz%wL^Ir6>UWwTg0(KREUb?qLpf6FKzZ(BF#m^QN5hlk00E-9d$cGGrfpcNT zT-qcgZd<{UkW$8JX3#W%s||d> zL|-Oc`VWdpAs4BTI2ZTf-_==^y$cL$xEXg`X5`rd-H0~@x!IYQCmm7tL$;kKgZV^|&bt$C9Do;2!qZY ze2e;iSF1qWKvOE51EA$1pKG5a1I(dX>c)xHvX_^O*IALjS&)g%@W|jZd20Y=?5`4{ z3V)Gl@Ro-~d915;Cl@pB`ey|l<2f@A>L+{D0T3h&QyEwF1b7+QBhgnD%x#U6+_WcL zxS47T5`r6E8udu2v5WyGQb)9_jFoL(J+PWJ#=i_Yxi~aG)My1JlZD{tu$U5`=ZX9S zXBrtbk8pkWnmH+&9^}k%b(g&N(U1QqfPeo#`2%?4r~10<>S)~P!ahuQu^*ptRp-YK zU;4~X>1W>lj!*jBpL*@#Q!jqfTtAuRVGE*w7}>iv)@-QBUZXn*9<-sme{*NP&Gih zaI%QTq4(`ebpVOZ?N$)V*(&JKti%D_~eBbca!&Lxe83*sL2@$CkU4Srr%ABd2Yv^~k=sf;jT06g z?(VSH8;8N!3z*Ua1Xu5KqzFUMbGvHGS5Z3=;8mews`?v^2{?FtbAIY=?|yytd*1iO zj~_pN`qMu6#t;16fBIkiEnoKeAAJ1g$A{-$=M(0J!_ur6QMb`mvtwxomZpOt9Ra(I z#3r!^7ERQuR+6RV6T%e)#ceFQFn9n1NgpVA#?^BqmdQV&GlXEP@G5j070MrzR%G$%A6s(`K&uHy)ua@; zk#<350Vp(@0)Dtc`W8M(-4Il`(0P$ z>;Nu=T{06N;Q5P2nQ`DFRMIMxsZCCMpKm*}&_(KkXR9C5;6mv}Ao*+~ z_(l&N<ENy4PZ3=~pyjimj*i6soyiX^Q-LA6H))+h`P?CPQ+U0JMC zZK4$DAnNHZw6Xseo@oqAWh$O~#MGwA(mh3Suj2G%2pv;2>!T;%x5;_cW#Ez?DKB?v z#SlN939|3@>_*I35V1}gSz>%VFI-jXifVH`JgqL}@WRMJzJo$}z5`Jw4WN}F&P7sU zuwFuz{N)(>X15AO&PwZ`Hrv;w1dPl;+`M%AqeRlJQpZRUEx^muxk6GsA-9^>rfh&< zo>+z~%r~IMLR8i6Hv;Mafd#sIwe~Gibote=L=8NOfxCGkZO=Q1P#nX>0(7}>V2Mbx zK6Xr|5cUuyKiUKhtp=Jm7d2-G@m(RALR@CedhCJ^r${lgI%R7a_+ww^(bIBug?$7A z?4}IWJwU_Gh#F=$WQM+J<%^1OMX<`3d)qF}!~>j?8&w1<4YtBXGnmQnKy}39(hFlz zi0$G4|EYtg4rI=Q{{}m9+_N(ZH2HEBHl+Kw~9ce7B8u^WYGW(vSfJ@ zs`f06S|HqySYVTbqo&SWedl!l`q9UK!!P-TU-EU|@Y+B4jym1vaRS*qfMW*7orBZh z@#Nup?vvkE&%W?!FMsym_*;L6PrrO#H_Z9eyL2z@iovRla702TccZKDltx63;qJ$R zFWs-o z=9mAIzwK+k;+NdiOV57xXWZO8>6ux*PUM`gmfCd~s}d~mS=J~-`SzyUIvTip_ju!n zzU%k>!9Vt={^0L@d_F(8`%;~%&o@L3m&Op;TQ&=>N_5z>ryfQEZBb_v7)Kp?7K6Mm zytNFJQC6XJn59vaH-{nB+Iaa&r^#UENmO0RaVP5VgiP!XILFdRlOmDvt*AlOadUq1 z)N}86^yKD~KKo1FeDnJL2j2hIhkyLt@B6g>?Dzlf_2jKnolZP(j4oa}FJHYQcjW)k zo5KVNDHGqa&FVN0B$E3H{LJZ|?s)1#1`ZmHq@m8rgYgdr=v@D97AlM;tei<=a*dAa z&2cgsU}&OFXzl>Z!gU<0?%>?s%G}JA$s!pYzi5N@XGWt)PROBHOtL1DI)G}r#Q})a zaM4fP`v}4i$uzS~?kqX9*-DNpGJI(Z&3X?tyoLe6k$z5ysX7=Wy69yZmkNT&JDRi_ z;u^za6qIGE=);*|4er`0kpr1s<=k&*#a zHm!SR;id9s4iDW1J%iPef~jj zDRcr@m?>19f~<7v)a1TBbFmG>46MKzU#~28WAZ0u#2Iuw>kPPN%0xs<(YN3QC62H# zDG3lDFsz=QJ!d@1sWL_B@Z~U47i=D5?_o}ZRz|N?kF#sZvgWgWzMs&>t{3zp(NJFB z>()G}3sNqY@(pm>Za}rC3$e->Gu1US@PNCDSRn^|j;wa64YN9>b`HTH&BzeHi+-fz zdNDS`C|jhhq%P&BuB*~H+Q`Tmxa~qW&@9P(b)Yy04&J?cI^Udee(O8F>5t&v-B*A3 zM|yf5Kdu=p+F^soQFT>o^)sLP-s@9;)z|#eZ~Ys8{psi5dEB`=4bJCbv(Goj>Cilb zqYj{sogK{a3VFIXe{WJ|K8X{}B){JEz-`vdpicJKV;n!M8k9yoe1 zl9CG3a4{>b)Y&R#3ZuJ6*Lm?=2kXGczxTV2WBtp&?VrFpuQxxAzUjBFQFpjNloW2Q z1c>gnux5=f1lx#&!;6w;QsBf6Fl#^_bx>zwEP5a*xK8QesGDqhiMz`&wbW_@^`KA% z(}ZN~v$$P1u%Fzp2eTt2d0g##A-ap_UX8hb|GDPzfiL))H(ps!ea5G+hYxSoo8R;8 z-*V^b-W#vKGPBUjazvx7nF~?0J!}>wNkuW#84i}XYJ4R$Djp7$hE2wgCa-Ymq+<;M zr7ZTD(rj34DJoV6Se&(d$&LR*DQ*%oiw1^ORh`lx{Zw4&E$`=cQK382f*kez zVp;i$-kE7bdPN5x<0hk8(-WrZS^`)dEFN3-n9Y$jA_rz3!8l&XOIoNpmHDQ<^V62EFhl_8E!CO`RA_3Wu9* zHMUv2a=@MBeC zt7kv}7}WHx&WFN^FFCAWh#-=3*3d-}wimr4jh%;_seucN)t%62LxG^ru%poHGy`(5 zQsgp_w273j`H~W_j!9wG7@k^j+6}*ob+hkL3>k>~lM%=w`yQ(tD!(U7!@qpAJ)5ZsWm5=_Ey-dk7pC2CZ>Xn^Fdg1< zFHn?P7>`CS+b5MQ@#@Lh^TD0K`K7`-H=MVy)|7#>{;++;2ABjlZ>0>x4@=1dG0dC_te`XNS-ci+J7 z8yn1`tHo*~V030jjiHr|zX_@I_ZaPVqFawP1oFY3!;;O1S z0NqVC%ej$#iXj(|eQykc;Y?>cP_b?m{tp0+W0Hv(Ka; zz4X=5lo|Oq&-YgX6%LdYc$3jUuzn{`yQ{K?iDUAWcAnvEiJ;+)@n8WWloQq}MFDki zRD~XUosSb9UOxekANs!Uz$+g<-h5J5cjx+vhimlGL_kS3H&3pg`{0+{dGGtb?rVPO zpa1{-<g{@49;|LgzoU%m9f z58%c7EF915XO^zGLV|RufR_+FCYK|TZPBZAMtG9mom8V~L$45W*!&gVY`S25U zy2n#Vj*+utQQAd#4J|6<{F(*(9VhucP>PG*&kL)h8Nf@MS;o6F>UGXMX0R zM^CPQ@bA5FoSuE^#YeAy`0l;CM9OcF=XOM!@LWeKYgaOFoumN|%^13bAA5ySTqmUs zQM$b99PPCTXs*0h)IP(>48vg0oDH{i9GI?Bi%?9XcX5)QT3n-biMtoR(IsNrGi&)| z+jBwIx`~%dGA%J`H=#qQ%H)%&IlQh%*nt2*I5NaNM)!)n3xvh#6i*6BD)F|rZrra$;I2q z5K0;x?;a;TSE4nn49mY`lJY0ZB8QTo;o#PitIC9FIHMYyagXhRB6Sxrl}L>nofMFv zJSf!>S5VxO2^x;IbsQw!jc12xPAh`w?4(ym5E_Qm7|D*A8X$9Nrci7KKy}-gXn$0# zr4UgKmCE@nsHXq0H-luRosyD$l%?%u)pT~!6qxBkO_d`rV)0t96qXH+^wW#~Vl=I@ zoGa=Jp=;G&yQpdCK1m{H<`Su?WGQBsHP)_GwBOf+oC|lHRECIR18xn1Wz9HsMnsc3 zssL#f3zK0u@Vp?s(x6r0Fzz9a{whY$s!|5W1{t8N=r+)Kp(|K(o(HIwQC9-?K^oOE zucp%ThTGxG^VkjRH@n}A(GTXvb}>vZkxsKfL*yB$N5S7x`_1-s7@fzO0enS{eXCu1 zO4DGF(jn5!o;oeLClJ6G7tlw_P+Wxq%|VRFvfIvK5rC4;-5uda@e3xIP3U3uY`W-B zvv)34$x&)FDcZ%4qTWR&bgJ)l6Fy!}+Q8S-CR~L$QqCA0_e9MeP8Ej-U6i8xsPYo( zcQ-si3e6J?KG4PMELq7G$D`a!vw8aLee#lTyS5aN2j-4$W0=fc ztm(|H!ff%F!1BJie)VG?{?jRTb=&F6a)7nt~d!s0?>^|~1l>+TD0uYT&E_~-tW|M9>3 zub=zkuQ+3!Zl0X03eI@D6jZ8g#)FKLY?j-UEFY4yu26Go)QQdY;UE5e|KY#>!rf=z zctLgC z(a3_XLztEh0ZelSvr+}^x1R1Ze0S~mK6GXf2kc~m6n)jMq~lJ)7Ky8&%mNPrQAaQT{QnIB9n!y5o&BWaV z1&_mx`<~tkfF5IrTmTzIDIds9!=}`Et1scM%5DvGmx#97f(3k1wE|U#+YDQI0>Lg4t?4@hu#SM< zM#I;Wv8e(nnNN4rVUrq3HYtyEi4R0g(@fL~%SE5I+I zxM)vzOw$L+mG;}IvK?&+-FHn`u<0J~Acj|W>dxJ#9{0n~dH1{C{wbgHv)}!l59(AH zmAh!vr<&~QK(p4P$H#LI-u)$C^FMvlH~r(k{deAZ?q%}9teZpEiz*#DtT~*|Q~(nE zv$Qq<=&C|jZRQnCND~&#EHf!Mf3F3U$7!jt31PWAO9E_#N9$KyP%i5)DmOFQI1W5{ z?=alw06gtXv)u3kF<2mqW?#3qXA;PS@bw-(SHo5hzMDIp(`nY~_=gyti zzw0}G;jj92zx`MJ>hoKlVAa)enmHq#Qu+;F%k5Wl?TawZ`0q=$ zXBd!*A5XLM?IlLeQS63TWY=42_3FRVf2MPV74A|NYG$BEm|M5jssN+u6OrO?z z{MRsZbJ%jDv}>e+Q~ty zV8-*m6s|3FAYQ`09m6gjMls%|%w);&^FP~fj3m8I$k^CaHnq+x9RbU}N2vfmF}8M) zK7-p7Owo2}4KIENMyh`KUeg)rs-s$$jK)|T3h@i+F)v9YmqS`r9H$wwFwCy?R;lIA z`_LV{+V~8+^KUssD*FKUg}Uc-1{qlCXeC&!MUi$VFKVt(RFy}{c{A#(@MxCKB%(^3YzD?gKj$U&JXHElQ6hR@!ZR7{qt&V{`Fd1F*5eOY~z z+70&>%GOM-%nzsX0;BSZ-rJuunytzRH5DN&X+OqAf>l=I^j?D4CO6`yIzAv~R~upA z!usyvY88MG+RrFngCP!|ZjnL9VjFh~GwjC&)2#6c2iKs4myFdoRg?g;$0KdXGcnJ7 zdNOFtktIm%){xynhQE2qe4YW_2hKTs$yphl!S}E-mRX(N9CA|HKZg5bm``B$YB(7I zY_;8+38g!lo&>B~mrkMs)D_&?9nZ_kSeSgwt%RZ)d?OkNyoezX!^2x7cUA|LN525| zUb*fB_VdX+S2=5DY@$Ure*E>j zb5-6laAs-cn>9R0p8K^Y=eK>qSN@s*@{j-X|LVVa|EU+|&i$J{pHA=+V|T9$a}wh@ z8RL`UV=qvXicwM3wtzL;*}ykqIqVp7>-=c~;aGL?+Hks=$yONP6ol@Z3KjjRJOy@e z(_we;(kGrbI4KOtY7paj24;x?Upj5pCkVI?bW*&KczF34gF2JEVG@!A&U3JC&gbd# zy%*m7pZ+(0`j`CtuYLNnzWQxn`k|YdgIv?yt7Z-qaNhWy@_hLY=bJ{Z`{ErBR3FFj z>HsDx`heYSX|S43Vi(L`44>hTjW)rUitpN|7kz(^Iv@S{-f(RALzox$j(Y0vCHSv zD1gRvB%llPiaa`z+ZfrE8fn&2Tj@Bqjs0n8U63U)nw_!rJ$fDNe{$wLP1K`q1Ql9a zw#c1s9#G@i+v5y9w(!om|Ii-jJ4HaW4%rawbAlcmP+bFIcxT-Bsn= z@)`F+X%5B=XL_1$IPh5t9r61KrMU#C7gWoT-55L2xy4r;u{Fa|xKdL;vVWKW$+>km z8w)47cFp~(ljBzJGhlG-(%R7aq+Nl zs|RX1mp&u0!yjZplDnkC{@;YihkxSunBkI&VHP6?t(Hcg{awjGS918InMmH^?fT?F zI7gYF=xCd;s(@__>@d(`x%|t+DC8LZ)A^ItU}`NWfoX1UR^4U>`i}#JK*s2EIX)5$Q;L$XhDsOH zKF;H53w?WDS>U!Hp%n%vzu>c+oirZF>-mloCiO9!7WteftZ$&zdycV43;WUlN%Yb= zhE-uF!}LOJ9bE2D?>*RQy2A9*79QK|+){3bL!r?Wc6lb2_7Dkp9=nN;eG%+YKI;_)>nYT1}^z0+yZhz5uMHJfCD zP)CIoZFz`plyB*#MXI7k7j;kfid>Ntlww0-gpP^>L#;ZUUj6Wo5c9|Xqu=x7$N%>0 zue{n-tT~U$EaKt{*L5O>Rc}hSXN*4>-#JcHb7nE%WT@dywJ8olpdDQZs$?l_$!DZm#cCwZ@ysn}Vog#t zX9>vyM13h=AI!`ueN*uO!8sbloJD9eL6R{<*pB5HyVzTz)W?n6%5%nD6RrCcJAE_V zr{n6$JgzgJdH(JH>HqVO|4YB|H$VS{zu@lk_uqQs&FXHoa!<%4;z%`P%-PshiVxZS z@X6z+o_@C0eCQYb#!vd>&wukL-+1ZEzw9xNr?2qFPyWc4edRy;{eSg;yt;S)>gwPu z9!0iV4)Xxo21b8_$tnk)C@}s?H^gLHhBTVtT!a$6G6d~rFSh)3TNBPf050Z4iU>z} zuo(#A2>6S}sl21wsFeceFFpB+Hwsvw=bC}3AVk`c+QC&bYT;baRn}Yt@xO?$+~F3 zZxA2A#`3ghDRASazEn;W4{9*1m%JFOAI*XBb#RE(Lny7Ap^_5vY8OAuj(dWKDAkmx zEMdAe>{){Ct_D-Lk6X?*iynPhZCC^_>ca+Uh~VOXa)ne|-q?SI%-?LbY@7CmH^AcFYQtDbobKLfxT2XsQIoxzsRMxCxW)}>Ls0WW*>OBJBAL0f916_l zwYj%ST`*d6BYcZO7Z)?pZ^=T{cUZnQ973nk#7jfse}n%h1}(_RmAVo`&{}1zoXQ=Lc)W3oF*XJVaU53Vat-E z;EP1i4co@%#r#;riLo;XH&Ac`XXY#~BCFO18_c5xr!qgnh@5I9wt^?8r$mPXoKBb@ zoS-Q@hPtR2BoF;;n-22`h-)nQf-$F4=&!;N;C3NM1Lt@_lZpXB9+9k}1HN3L6!{yr zd+i*k)y8!98l`ign{Q^eiba#+&?v>2nPfiocT3S?SgK4!z=d$3wz6k(!?_(Xylw-R zv@?^;3Ycl%l9eg)4yQ=mCSA5>>2K#@vQCKi7ldwTFp$}M1`69UXKRM~3YU#x9Y<9i zb?5o#9)99yf6dqbqyOOhzWe6kD}3}wn0zUp2jIY{rl`1Za}?e<9dG;Mulj%dyTA8e z{(XP&bm!UAox8w7ceh8W;@G$ZNIs;K!LYD7eQPuWfjM-(C)8!&AyaS&5X6+<9jw9a z+HX18>RD0_%b*g3hYn091}M!aFO){Kf;vp(PYS&pj_2(2y^t$q(z3gK{x}^&CcHB> zPy2E~D^RH?!?^lcPy?3LQ>4nIK(EapF33A5zbhu5d}cC6XX6$Wg~blo7X&CxpYa z=!o_Mq}1+$)_hv&(rs!Y0M^Z$FTD6p_PsCqM}N)V{PJ6<$4{0@W0a6m?r-nAVJ2VS`Hfm6;}~>1Cxz z;w5JMiKH#c+bR+nltuFhxCwO9z`0$aPGYqhvMN@fZ-ru%?x&T<+hsh=*CTz8+VMTJ z$M6fzID+AcMiw#--77mizV$<>%3)lyIiTslGk^+O40~L=wzZ8sSE_9%rn;Gu_gqlA zr;miK6|f;G%6n|an~1X8U6X{AdsU`l+&@J+?TYcZv#RiVfAL0JKusvW7Pm9hdurRK z-1PKn>uBXgh!?d}K-iSkj)-3g(1dUC%(_VRkoo2gMFm514iLkmFr|L!F=B~B%AMrn zLZ(z0n_a;;&=DPa<`vMb_)oBX)pT8osP_JH7m|$=={*;oO^hqY_J(Ya*YMxj8FG9OsN0AS%*uL`274ze_aNC^&BmDB~_6HRIkATwuUyP@%H8iK1_ z+>^j2S%Pf<6;V}T0489w;<@uvz}e!2;fb#h@zLIn}w~pV2@LUv*H7wc0{}di;Jwr zc4^ZqmtEWrA%+V+}LAEaael>t3U@1+3+DYGJ+ zEB1(l__7He7z+dNaT;H011(V`>S4gFGn&aWD{qs)poh}cRS+Gss8}RXM@H&ZI=3+3 zu#$n!K*dluZhSGeD1XVhyU|ClI$gc~@sEG*XMFl6z5Cs7{NVSiVhm?;XSHg0s4ii6 zp5v|a^$E{>!B_sF|J%RwfBg^sn}B)fU={!`CfJ@e9k@Qr`!|MD;W z&X+#tYwkXE=lle7)T}uO^fa-SK&Z;blwKKN-+jZpMxLkPmK?{7>U;SHe`@%1{ ze)9S}dBmr#?mYd>8{hk#zwQG3Hn2DaRzaKj=Wq%bcs&?xJ0bg^9n3ZFnvurY+ZjI&-=(}jo(7B(1PDGAq%91D8 z5bm-*2%xdrz#*ay{guwN*o}Y!K{iN7$%7h)={kk>){BZcK-3{Pp*By-qYVTBh?LEU zL1aOEZVwhqV+XN~StO)4ONW#X$sx$jJCL=I{Oe}Hwe_Y+GDnp z+?774YR`dS4xA6ECpN3QrC=VpJ$Z~&-Xzmuyh5{63p#a<1=Nfm6(i{%`vQ^Zl4ZNG z=?GP4g%@X79g4&`GzNiGi9$zxV|W5ZyY%_e$_^zRk;y7xZWKuY&h{Ck3&)kU&^8;^ zjP((vo&^EdN?A=L{5}50$h~<~C) zdQEaqsM=`Vp2*}btW_u-uB4xc4R-Si8FB?Um`P=F;N*F&?sg$Zw}b{Ec(?)qMGiIV zT!|6d2*c_0Snm2TrY3y;#g^zpLKm;Z!`oj7)^sR!wYxY5LHfBMp8IR%dm3vsN;fEX zW0t|Fop5A@v7d2s2bG}2tr1tq^N6cpU$bCwD<@{8ktpVL#Wjh@QH`TB!*$#_fb;kM z&A)Kxe!cmlKT>z@_Vg$VxX{ZNm0Z=G6Tv%GPgWhg``*v`w}1EV`@4Vl+wVQ|@`God zx_{^DrWflt_Z%4R;zCqScQ?3Z)NE_4r*LC&&zofiH_74xWlo>`Tq3-zCS!bgMgw)8 zS+mRY`r?$0lPe|4CF37+77RicF;FGZir=;{x38;3lx;dg-WDbU?l+#cCd_XW<6Cd+()JUVZiV{3n0-cm1~C@#5!y`OW>lesZn@v!;%ecXW%8OrI|; z5PNul{lF|9!Xh%iS|r!iy}M66AwKp)Z@%$^C-Cv3Ph8=2n&S17)~)frk%&@WN1B=i z6i?M~n<;k{VNe)Cf4oSA)`$&_u*gIgCf#rE20X#qRTE{ zZ9X$pt!3u3tflb;XYKHDIxu+f^fRxrzT_Kz!%zIsM?UGxzVv)PSDnsS#rni|ea};G zf7ieNJN|`-4`0LokE%Zpw0=FR0^wEl?0trJzGIS`0YZQfk}!mX1VTVj&^XhI3fjo1 zKzA#&&>wt6MG&Pwrv5+_98hQ)8fp1Z6t!)&wcAeynF1k^BqSsu3HK&+OGJ!kLV?-{CAty)zzH-WmC=X;*RBAgIBkr9Y8QfLQ)RO4f|#{i?dN9ZnC z*gy#xx?>WukLi+lkm^P)ztds`IS@t7MQIpJ5~<47foLrND+p#1F4k)6do^S+B1eqX zl-J#vd?kBZ2_jpb<94t9bW=epZ4$rah(_&S`VCBv_;;xHmOD(R$=btrn*cF1asc+g z`f0aCIfMXm@xq3*Pmn`|^K8qLS>+@jD(9`SqzckfTrm4Ym!c2%nbopU7oXwQ+2J&h zg4`6>W7yeALt63xL%m1}5^F1@WPg31{6IN#)A&!J>e9XM72f&TC(os%N~V%=*Z(R=Wz6$oG_6y@ z=;V4^m68bF);*9d$%PRR+-xV6W6_3+^ir^(I0H>pDyngsyJ+#Y;#vZlKLTqW;P&=} zBQ_7pD2cR5mEw~lI$DpqL=!7wVh7L`0mKsj*$8$~-Qq8zqxp@d<7RSXbM|3=Q2V)3 z81ktj2vvDi*K|{0Dp*7kWyzT3C}=CgLXS>^sVntf3TmqB;&wfxqHj#&{D#2kZOA?( z`oQJ|%K7$XL|h>&v)iu+?Mkbp+6#+#s48g2pJQg3-)yYxdMvYN)CI&kYK?VPm=sdO zIaCqz)1|S#?q)zr++91CnoB;REQeD6%EkC9rQLzran4Em)bd=W=m&~0RWGyIefL?W z+to!!X3VaxIV%0V64NH!y3ARadKLG0%e4_UgkT8ht=WZf04)w$Gm~B+nB*xq)C*L! zc&(EkP!tL4`q2M!6;OcC2C_qBnLllwhc7I?%9+Y^Bpm_H${2|;2G4GP;N;}!{K@w{ z^6Y2bd)K=**G?{~Mr>z{k^asu00~B*c`$iInQ## z=`zv^SeK!Y#+mYP46eYqz|qX6TbDrkT%`}H>M(oCm_%W?azBpS0uh|F;<))3UvcH& z(D)=$kJb`9EW?0~+2T^1sFm!}9YY@_oD_%n78p9P84*H7)K%6T*h%Ny6B#3BjW}oB zy|{br+QUEn%Wr((ffs)LSN)ZfkNUWaoY;-XoaGV$yBrsB+5JSc+%CFvZ59!OyP?+^ zh|G(@qukcL^AEoL7ykGceZi)1`-#V@HZ}MAx!=vQm><&eS(0d1WIyFo&bHc)h1uO* z6>zXR=i7uxxFXWezTyR0xiBrDpRwr*l)5*Dm}loFrQ9-I-88Br_Fy}QDXt>|4918e zXJO=s9OoD3+v969uYdL*`0}6s*FS#c!(R0G*}b{LNW{tZ{LUF}zvm5K^HuxvI=}lg zh7j#W3d=R>qYimhwbl?02%rkB{L;lv_qn>k|#MwW9Lr`U(XoBWnvk}Z8a~kSmB46j@Et*m1zQ}#aI64Ff zQz&NkNm|5iqz^N(v&4x)Fj)fUCIei$Wotl9t<6~8NPLZ>>yEpYu3e5GeJjnM$)t+( z2V{5!?pZZe;U!Ou#-?uUWEk0p>d_)+}J)ABu&^>qTOu2ksfcd z^~hA$?Dg3hfgV^kqVY87jQrZ33YmQg0Wtd4sF!+R#SG0RSViE2A3XFb6Y}T~+eP)V z=+Qi+k*|fd?K(pybBa^a7X_0t7`{(H2ycYlrguT|M|y=;+D=dIKply}zND(M7T8oI z;=|e44B_NAgHSi0>cB~rfD*#j9DuNR6MRw`eIS&wgG zfDI8E8;3(Zo!ewowP=n#k2s(hS@x$5ol_QG{p|fx5E)g@oskk+2n(9R12MggdI(E` z;WWea>`bL`WSNudV;ROyXiIMN;&Pr^E%#{`O1k%^(VrtE-$X(Q$_z=VB3fd%%7a!Y zZR@psMZ|)P(am}-qtd_i*Fr@Rkt1W6W~^$`9V@afwKvY?pW}e9i}pgwHdv`zjvY5@j2U3-pDhM6JkQM&X# z(muO}e7pi2rmWW@pE$b7q4txOZi1mvQvSM;zvC=8FwQgvNljvU&w zFg_M$P!D|VdIbWNjKqY<1aS)_laqT!jJr?1AKd?|fAV+sPrN_wUR*i7axwRr`(n+` zD)e--Ah_G@;-UMGU;Nr{{)=CC>scRtmpr}o!0voEXGG>CYkEpF0-!F2?y?8iKwX>= zl68t=kexxLL|r1qoOaZ9cY**>Lh16Zwo)?%%=pLoaH|HK!5 z!H;~;cg)&tx7$eOCWxw4WHBWho}=?u>aMNyAltV@r~FNrW}kB# zbgxu(no8X((|aNe-GV?Y(V$+p*>eC(um!@k{}Oy+6J*Wp*iP_bcX7Ho<>vJD|J7&z zyZ`ei?|a$nj`sTzo6T{~9k<-v`SrK{=s*AQulcgit8sSq%IS7&>taTh5=^wnFu<5b zL`~I|Y_4N%0>D^Z9^v?upgY%vEe7nshD}DGrB7kjJJdEtDMjspVNb@=5H9l&2T_sP z7$C^(Y_hbo=qgH|cim{)YCy_5`h@u}9emmynCb4Y#mH`{6}u8j!!sR?(9ReYsVL6= z0cwpYo9DDf`#|MR)b~Q3*X=d9j9&-)CVyhRk7Gh>1#-O#;9P3@7x~+q2h+3ToSqft z6FN5{6% z?OL=){;Ck4-bm3XJT+N3vTL#X+6c?*+|M54qbnDIbmvZnhr$RoIwq#USlBr0yNFD8 zD+y$k9o0JZtCB%W80zUp=NwEF0B){q$&pCDgHUn>Nhlc&oKQC?YTL5%cK%`L!rQ#` znP}b(5g5r1-j$8;;q^&DsCx>U9cd)oQ`3eX#L6*qmEb~hj=W_yFU>nog`M`aAc-j} zpiK$24PI;x2uK+uWY-zB@VGiJTB*O;oNCBT)fm&3G)bobGR(Jzl%bu%jc6IDUP3fP zwGD0SEORBX9=ix%cAi0+36~|XH3|z@v3P$wKJg3cNF%pxZCXp%9ZJ9|MIbPZ4O$-U zBQF2gz(_tk+?tSFKG=p-A~SSY;L3am@_E<^;Dgx&MWE*yER3X0%VN)QQ>KcuI=o|Q zhGT8F+p~+OKm3Is_PXEu`lsIXiyP!-3<){1*E)6kq2MhywL3l8J@D#Jlx?V4TUV&W>=x3tUd zW`;HuWF-e2#l}To)*Q#<$zOjLF81I1SHBL}Kk-}dt=bK6KP#lR^tnV2&%la~mzqL9 zun=FHc90dIqGCniE5Ucqh+9ZiI*Fzkfr8Zggu475MT0s!^5;z1{ zm8@+AiOn{)xN_f@f9==(o1ges*FO3csEf+t%-v)jZJv7H2ebBn?DxLz?9OBR+jq|P zqiTl@_Jx|G0Q6uH+6|^vQN20tXXU;%Sg}w8>S&woX?g8T%YEVDUkket4ZA?Jm$03& zu1>bXc3*V3tS}s_*!y|xk#?eZ(BO2XX3JFiPOU<3?VDKyGd?156!_R$f+q4xg$?ZN zwf3P<>@gS}MzJ*;@N4(WX?-pD@1qlr#nI_CE!40hTmDvO$H&ZpB1IZkO`ke1vfW7% z%*g8c3Il!DM$+ETM$3>}cR$l?u;h!g5wqQhVeD+g%Q5|s9Z#4xS}+#lYch`zk#9Kz~jN_L`CQriQ# zT|c5mEyijx^11jfoQw{*{#M0+En(|y;`mx-(iu{7v(jM9B1ZOI$%ITd2zUcyIK00961NklFyk^I)Tos!r&wgVNQ(AeDP{TMfH^dwwS+ zbPU^tU?nP7Ay@Zrp;;F&aDkIu{f8g_`!D12$CfQc8Tt$A=yW-vCnnK4dJ&N+6sAOAbw|7|xPy!qH;@40c~zL8lG zBS!?cB227n5Z+uSL*Zepc%xIdT4UP-Ss@F5CAd@xmHY?`EmrJg7dka0y-PHlj1~^C z?NK-=aJ99J17mGzJ0gN&2f8yio^Fazo^1fKapcFbgOv8BIc}Ij^435sD12SdoTq z7F|a~Uq)l@hSFZiPBD`uNEzyyrK`fg1P-x&>NJxcTxYTec5Bi~LG+PGnQ9@8V{ zkVe9&62C1ZQC`a}fJ*`FqOBtIOU^oGtYN#@cF0`*3#XiCM ziwZ*w5wx)km`zGK*vqaBi#DKAo7pg>G@WUOfIe_J2{WndNCX7rwWUi%-)#G;L z=Og54lim+U3F=9t=k_z&^D>ldX}HR8;)JHxbfnv>`Ua?Kxz3+He|*22|NBq;-D8~L z&c48%j!tr}U|IxF%~_K(^JG(Vck4r5bZ@_Z{(~=h;`Y;5Z{3;~XUCh38(o5##U4-$ zR}|5)9T*wY?${gC1;l{M2jMetsgsJ0vu<%_fx)4DMuvxYxM!y~q>UU>CtbB6u(;U_ z1%~D&hms}Hp5``3Tn z@ke~ZZgB4QTMlfuXH_Rxu08dZH@)@`{)vx#;q&IaeY(y4ywK^f6n^d_7^pRf6A0&9 zy}b=Z^nhl9UA_xz1YJbn&Kxq z%^Y0gLD8MEw|%T|hyw)K8qj3AyMWGEhAXe#_aTjf(zZWGCf)1Haw8T0194C=2@hP7 z$D4o6&b3p9s-nW_WwCt0p0Fo8Q)+K3ARmU>Hqo|i3dX~05Z!@l-Sz%O-6KkBjWU2X zxO9{=0d*tIV4#RBQ{-U@+JXxr%7}`lCp%K;GB3*1q;?|JE;}usmraZ;cj)M6u+$=Y zBz2DV3Fwf~WaS}b(YhVli8d`K2fGxMbfg`9-5M2>mvEFeLYzsgccMxn3kxIL$OabO zSl-!|vgp|OT#+222+LXX#)dvD>C>A~=ot2c{&g@rJhey=P*4h@s;0Li8X?m?y2{mQ z0K+X{y7!2eG@>l`cVgNZwVs<|K&NP>wLSj7r3vV$G-_=EygvO8!beWJ{l0|Kq!qch zs!ltaegF~^R8>fciSF!C_ey1lCyDS7Cr8x*R2uvQvL?BDr zB~dAd3u%Z;oSpEGja`#UWn?QUA*mUQETg#ylliXgkgLy#P(^N;td?<9XclwT%=f3W zI1l;2E*9^T5WuDKUP^xN&i?HW6%(%m zBtj*Qh_2yN{tyH*Yby7p-pCNw9GP8&xeg+`Ii`haL!_ z4*Nr`nph|o#(J-s6t>&kvw^tv+-2})wCE5>;G8~35t>@KdidC~cMp&5+tK~0mQioh zsqa>MB`%Gpa9M}SHZfJjXvmwEqc~ERC|a)Gbqrz+xoQ6`Ln9@fZADZ#T<$+2)RR=8 zt)m!Oa@lKX$_TImH4>3WS5A5F>4&dB^oPIr3-7+;=T2jc?G`GHkt-_E+XTnaW<<^r zF);U=dH)Muboa{USyf*=^OgVyXAOEwm!<5kYJpPIHzcXyB>``$BcFi4 zwT-{;vdt->!mR-IwtEYNwG*;m0Lk>GDVk;~JooKaASe2vswqBiadm*tX$}m=WnNs} z@3e*kM#5$wScr_|#eO@E^6LHn<9Gh;zy0msdgG%%X}{gg{YBzvfR#Ee3B|NoWMw;L z1sGi6QRr2&)tC-CB7(>nnMd3Bz!QAVhdlbG|8sM(d*=3&F|y{|VJ{B5jk zj+IE^r7esQ5iYJavs?^Q;W;?)oBM}=VA*o7sy>ZV`QDt7fd0yJVAv zCLweyrhdLTHJP%KZ4NsA$%9nNN0#ho*DhUBcq3x?snLlXr%O!MYL<%P3`8W=xmr;| zhH>8{pn(v&Vk{u02pTg#s1$eX*>Z*}X z*MDb#p4f^&xFBhr(I|kky9_$k@+8+4gZdQUVE7z3cSi{?r-jv|m|7K16(d9aEIS*e z$hxTfq}{-177$htR={({ZK=}}ge!A&hy+vf2Ysrkc7xWGAs|6lxfLzEf<`7q$KcIl zH}(M#ne5(A?gOOCp@4*WW&mR~HIaQu}k68@aRsvPsi9#wtmxW{CVP)IE=!r&jLW5f}JJwUzG-v-* zCD1IgcB{h&C$SXTCKA&sV0lL8%N|GLK0Zfth|I6U%2r3LI zM~s$0>yrhF+K+G`;J)eVPobFApDO!6r-fj4O>PQ^c3O^C%1{vg1bMclhBb5Sdly#g zlz9z!uA@&-hZY$^F$VtY8AwDHfKszQ2VQd66>SpLy%ypgFd`c-_6m;Xii;}n@2)X! zd>*R4mQ@XmF(N#N!bd(-_slA43~6{?8n~==tf)^Ymgz=0m+o`e>}z{u`E=0ailv`7 z#%%nqm`Dz&TON^+uHUwZQmsxbtm-B^D>5VC`8@;1DR8Nybt*Cg)uq78Gs94xWuswi zUt;&f9Si>Ir_flCeYeqL5ba9EB`Ab#Gux3;j2I<57l~M4EJR~S;!7|qwNmm2OtdTM za1by9w-BEmP1l*x%`9V(=w{>V?nFCuJr;Bb9QY$lB{>rx)^vWU_W#Y03tqe^Z z464twzEasjZ8w2Q7iu-~o`q7PO+mezD0V8^F>dJ1*kT;56AbUzr4X)^5e|&)K*w6; zu0Me56r#ZhGDBd`%%qNDtvQCWW?VI~Z3#exhGiA1NT|7EEA|vkhM7~0_B?%Q7?EmW}$aiBV*m3rug{Y@`8aG+l*eNBB+iBQTLos6-? zPlrUki!}*2S1KE%y$7p0c6OkGm{lvwDNCZt6w$-rOiN6fK28Q=cCsxOoTeu1y7i1& zaFu$^_OU=WOK^k$xDd_#Y@A|aRo6S|5Rjn}tb)(|{Ahn*seBn^sL+#yn)W$k(TB4v zOjHAHnWPoYR@-Z!`v`@NNLd3>ma~%+j3rGAFO3nh?y?(s^tlb~lmgXO+`0P41g6c6 zHocU<&;TUVbj*Wh&Yaz+xfgj27_;kz*^jGrFE+rSQy<+T!y@YHpIj!GWWf|0J19_+ z9xE%}fe4$yZktk5o%KkNkwFe#zjEVjceiT)t~dV_?!LdycFdzWR)?n%(sXmkVb6#t z>`_Ov?#??mU+_Yn;lAg;^vQd7PH)`D9cMDP6)Yw3ocZA4Y0y^MxY%I?rd7PXC=MjLan9a&XmAOg;f##6V zk&N6&A@;-$AZH@?&~X~Uz&6h7{Pg7Hsb6{1b6)u=|KMByIxgLmzXS+@4D?+w(8Gbb;PQWvM6kZ@)8tL1Zy`1{Y zVkr&P3KlW~Lx{j!l>pzY;J`ROInCp1U;2i>`XB!BKfU#;*PV@{sG6v8yqPhvncL&d zQ}227rJw%0f9J=)ba&_JsNERb;?xL0c2udVFr6V%niE~=DZ8x5sF~{$sC9ZA*83am zXFBDo;4J~nP*2EA9Yh;7yP@)_WCIR;ZfDWbG^wd{s?7^58mXWw(c5!6fHd*yQUr#3 z?bM`0&0>T%aiyCA9+2JUR6s*UT?!rz#|%GS8!E*lo!VAONH!|VMpo)H#Xa$&=#9OsbhDzE^q0F3&4LkcBQzO&5@A!YG$0F_TNDjG)Crwrs+P#Rslv z|H)ugx(kxx2iYAbyztxXumOyo-mweZs#=D%p{^K-Fw4Ncf8y{{)xSlkkHk6=HoM`_ zt*rWUr02{|gr;E2lsDVnzetaDSBfkT47|&|*nE>7y*(P6i3qV0(N_&Qy&;F#cCm0m z2WeCS&0dg!6I`h-uQyHK=R@Xe@dL1((`R;`Bh>F@aXAOdVTp?f`tJg&pdKVgY=pSaEN0L*7o}_}lyY^LmkL?fzmtoEqq29pq-2Xe0M$4KMj^WFC|yOV zSQY$H1u5RHGy*@`>H-a-dz(c}|7NA*2X{xA1&@vEvs%R{<^;zPkqBqz$ZW0u*xEG%m)%JP0;{ZB&ji1H&X0E9S+$ zvzu3MJo?5r9bdop-k<$R;@-XUdm}~j_yZVO?iJ()k72&RF1PWhEP|wD?j-5>$yevV z-$o!!H<6ifSQ7g$yTDnbTJlyenG+Afw*CatbxpxwQWhj8Jp34Ys$>_IT>iFZ$fi1oMpdwmizDbQ_sa zrz}dZXqfH(FpJ{|vr9I%>h@1Lxi|#3vV9djkhHCUR@sKCl(sdu<7h?$eM7})Gzr*`0|dsBc?>zs2nG3yU#s>DQ@bl?%ZJiTk}h~05Q0FwddLGqcFI9T8B_q_ zSG3@br3DeL#sn?n*J3!3a6Hq{lI6wf(Prp6S)#3^;R2R}ZESBej6=czEM~d)NTi&P z+@9=e`c(iAuLippMZ-fxm;R8f>hxk@Y_bnTv_@DH?jjltmgUiMxoD_Z=s3pnt=n`5 zu*ozoK%v^cuA9L?WRES5>M#!wVF5zbPh6P>9WjRyRlc@VO27oFLRuqIQLmQ1h}Bj+ zQDjgfR2VpvQy34Cq#7!##8}n?j22-B;Mr?j*&c&=Gzl3SD`Hz@Y-kbLN5Lo0Zqjf9 zKu`jL)}gd*XkWViQsvLeXbD`&&M5I^KPp`cW1TY&sMPEP(%}f9& z95W7MAWUuvkP+yf%s14Dh@>SQ9s7n42boA@ zy8cP1+bATYZVA0O&386H0xODCy`k_>*PR-`Q)zY(!BPW_?u6M9U9hG!cG8yeeyYo%m=wD^4q z(O=rJYaF(?A*QS^mV;ln1+8iBUv;Y)EpB$42Ggr1NYX)+BaMg@`=^XSqnaRwI_+19 zbV*aR(IH`%OQX+aFx#>!*w$BR1((J+VM5x$imxXi7Dg)KzBzzJv3=@r2uS;~W3^E5 z(E|?c<&9(6u@+pr)}aNOOLaogJEaDnFfU?LCLklL?B+&ovutd-(ASBN2AfIhRLSb9?=>zv>M?{GEU6+Q+@TjyJrwKQVYkG0VfsTvKux zYPWeU$2D|$Hxdy;AxPRh%$jlS+Jo^RGY-_K05mi0JfrD8JwFn*TJ>WdOR0v6vBU zzq#x&wiwLXgK;q@a^&%SU-5N+>3hEM+pd4~CtREb<^-^>8R}QL*&@d7eIGb_MM> z!VjU*&QlVMTD^?W$21N+$BGigoJ4y-nzC^Pjj|iGm-6Fw}qV# z$q>-!)W@{v>&6`J@ZokmVK-;$$KM2b&anPyrGm^?+loq1R_#`OO>;_~C)6ZYGG#W| zL2bgO#Og5F#WY14Xg0+D+8sxPOuB?w$u%-?SmYO%8G~(xF5l`43_sw~?qPwdws+<$8@nAou9Utox?AO< z+E|$fc^LbNA^V7E)d%{wtDs&D;=O(BKu(k8j-Wg}*(LCS)lm!)p1mPWMF?U#q}J{3 zi933`K`;*$K5$&eU^P8{P~jkAfOKP7GwCquK&5Hi_Lcg$5YSej0>BArxj^G}0>L3I zcX`ERxOD+a7lZvAvYW&remjU4GWR!Yrw|;l98(57+&0Xyf_HZMRV#aCCaWKA3jUBi{t5uPyF`pkH%(gUQB=iYuy!o&?mRP&^Ih+J3vb_f=CP-8 zJ3OooLDVLb!I%M$b_R6JHUmlQ@7?#(m*Dilqm$>q{ zDGS2xFc)JZZBk{KVn?uslybqO^#U0qg4i-^8oU--X$+jrc2=_?9jbFs^j z`$*RC)~UG~Gus5~awZld5=|LtXaR_v%`VoQ*w2xhak6>z%|C}azj*R3rza=(o_znw z$?3jXA5l+kc^fJEQ4%-Nase-)_lj~`VZT$62TGh_TMIUyDqB5;w2mogk z+g&M9Se}F7Vmpy*-4A6Q{XPjgOBIu~4+5A++iP+C);IpOzy6)y`rS8Q`UyB1+bC|3 zosG`Ssxj~0Z;zwn09Hw$*i@aNXsSeJdfM(7bfV`kh%q%&FVZfT z)kMikS4lO1hHYj{IwAs7J%aQQQi?d-irFR;#%xVZXaP|oA@##e1i3OQI&6wgIKy*r z8f&Q9J8WzWtz6S3ik+?3plu`;i>TB_Y7hOj?ZV)z(p+mTYh{T89XS-LFsnFWZZ5jX zQe>#5YGYK1l(2eEL5@QQRwc7O+fXTXr%75o?#RYHDrJ^wHDM z*OZwYXx2)^16`I8ev}Cbb7!~1VaoJv{D7Z0E>w7`xAAZU^RHdqy01f6~DO?Qe` z(N#r5nnIzbPZEW~C6lNCxj$TnL+US@c4L5NQp>@FPvbae;X{87dH3>VN6RC8L%v7PEA$zHnNY^Z7dfQ6{#iUOT#A0g1iVjKvta5uBU8;3zy+e)oJbl8vGsP)JCyC&C>zXp8GOu!= zL~*63o2E&lar3C^v2);{yzX*oP6N{GhP4d|_DK&^tOCPT5?bMq-wlL|sm9^{<=o#_~%h(=iZG?;&d>C!0g2Xfd?WW$1(WzC> zu4U6})VgBqdUj!|h)}_Kxd>%2)DU?{TR%Z?L2hm`OhwzaO5F1w?E-yPEi2!0^hCv}BgeMEAh)ptL z7W z>aD+V6ubTV-ZjSdi4VL3CmYT^J$nNw6eED97qWCQs#O=ziD!GG-VDS1zT2azSgdMO z9dJ=8ifWbAg6nG{!ca`%OIYp`E#UCrwq;IyaXU-kE?u;qQC2@Hm?JlH3>;tIoSy#O zANkR5_=a!3@ev<4ap5Ui6Eh<)rp;cRz35B^tkb` zTSTxs4mCPB7^*<`B=FQpJ+TU(myA<^r{Dl-7NXgK2->g+!i0c|DzshuPz#w_Tq9PQ z=JKe7m;UqH1j~Mpq%N8X$TE~$F?WgFR*ifw-mrTJVugpxfyb46r{i8ev? z#k!+1jMl`|18kZ_yr-K6v|q)dbY-R1b+*)Bow8|zp;qN#nx7rETr!+KszIUbOB?3& z6xhV8BgP1*SAwxT8gFD|jt+sj5Kp!4+EpSpu>hy-@QSfjHM~;MdWI4(^*?bnWzyYB zh&c3>5lt)knlCd5 zgC}(0%Z_$wlHB_SY9^S~o>u-g%Ne>hhAD)rfHSgKOZw6LY#a_|5Qte#PiQi!a_pIh zxDs4PeT1h3NS-p9P3paORGZWV@9PagSreb>1mUGsUOAI!?kSVa$gKb;db*{UzcQvM zbFIyrC}%?#)_NcGghXR^9om*aftaP^?y7&ohcL0FY$g(#8I^quqq;|c*j67lOX7t8 zLfnGDK*!i{(p+e!T4vB?I+0y5)BK>#n`&mA@6&G3NeKaa9|+0CB4fl5;MG=TmtmmW zjN7VEOzUKsKNOx6nqCbv9HA**qfOg-OdaBiiLR`$rLoOaT{wIY*Ale&%-UGTbbZ}m zgX1lP?PD1#`@6%JT-Lo=1$)kb3)6hI+HEKVlIiF^B%}eiK2F4?ofu3bM0Pr6QE}ql z!>ocmmoh3Vt1YXsc+ z$A(gi4--B}mryOcEZ0wujTA#v=n+*dO7A!>78!`PnYxjPK(av2$hv*+_VouJ;?b4Y z{DIH=wO{<%hd%Dr_jYG7}kGGLSZo@=|CeQXt4&&TJ+~z4hgfaCTT=bSpILeUVnxz9`U7TbCNz(eH{dp zK*FWT=!rI*1z=cdWJ$DVm&f5=ll`n6fW&lrj=t&`8Pz+j2N#xCw3!KvIM@)Iiahkl zkm|K4qO#BO)OGOI1X8sKhmKy=XIrjJ1Wa0a5E0S)7nWdNcG}q|KRHEQqIr2VDx85} zg430k84*;|JP{8I2f$lN7aVC(RoJaIKDj`loD2h1NLoniwlpmDEYRgN)@~Hyi3+_B z`gzN08r?dKUCORb(YbCaB9i4^O98q_7U%?|-MY+7hb%f`?Pz5jBA06mAabySY!obe zg8iE=f=FlOMnWBkZ2iOUsN|lHxImbjW(td}0AE0$zYps3RLxQ*VzBnE)h$Dk@XZpY z(wN3`Uk$evO_behRoX00vzu4dyP zg#ji<9g~qX=dhR~^LSV>xW2Bw2J*ck~Mvx{g4FPwJXbX#Po;^guc_ zK4;SX8ZIID<|6$+myRPZojfH|4osE)r@ulGt!z{JQ;lnMS(PCQsdS|FGXyytYxqOt zi49!krqRzVyBpRD1zoKUqRjG;rMBI)`*hzKIb9zE8Nsy6S?DtyJp0vHJ!!?!Zfj&= zTT2HYo#!|-^7Y4QW9jXgv7eif#Mw{l&Prv;VC}H_15>kxL9j%%;^GXm4sn z#fUwEnDgG9r|*0DE8h7_zwrE*e#*r@Zr=aM*_{h8D{5a8jk}1_unCzaT2&blLxum# z@SBWE>DBZr2}Le?CJ`PUb5Ru8?HF5)3l|61`)}KuDAe4^;%26rgRrVvIjU$Y-4}D6 z&FWI%nHdpde|B->`a}CTe(fLm+@Jo*e|q1?z2@oNoz09KM;?mC9KM~7C@hmR2#^w& z*;v7#UsX_YS1~jL9v5eMd~*9Ye{*|p_rz1b66E9Wf8X_+_wV)-92@1q{iKZtZGRI{ zvx`&OJh+uX-&`LK@fU-jB28SH&hF5tZ^@#Vdf7prX}w7*aHaE4wpTMUFoho7v_v?# zZGVNp0 zKmR2+Mm}@5|D|m{_;D4ERyE7>*r8I6p+EBBUNmbHfM8g$b zC&OFgfG8;Vqshvy@Dx%JI4Kzg*nv6Hwxa@FzgN}vuw9SLv5U=vRZ;TSez%ahDDylG zMUA7yx8xx&q0KO=V?wF#0MHjXgE`D!1sIW80_oA@9+hE+Nm{L3DP5T}Lgl4yJ~mD8HZnC9 z>$^!myQxNrRU$`bXdsD-W30x3(KG3i9^Dl+Co;dD7n2o)Nc zH=Yzpe(6;;P{G~9K!6!-EClrJM+p$>t8R7{zVdxom5R(%Aqcp{k?sV4tydfKNe5Rpk0<+X{5SgS{R1hT8WylR=Si>ZzmAh>9#qcw7?T)PK1 zyA8@a$Pz|Hrpk}e+)H2A>_gyr6$!*#{yxxsbuuHeLR-(yg!)BRCpM|z*cS+{H!|yG zI-r5XC1qD*iO2zBwGcr8!i>N&M|xPnf%L1$+@R4-4j`(;zdS1^-@Ge(gHo5VAC&sc*P}k$pw}l zXrd=zYKYVgMn8!%mU^(@x}6b`i7|=V@2@=Y2*&XzeEJ{zsh|Ac?|aQ_@7=p|9Gj5| z?!%ihC1{Qo9RX{Mfoi3@p;JimF_i~P=)@pcBN20dbaM5{cfA#lec(Os{pnlB_dWH* zqgQTT-7#_s1`t)VJwtcs%bp#Z4ikHhif=~%DWeK^QEWGEp24|U|E1|;R}M9-b6Hwg z8Jisf2;iFm4ii#-iq%!pVP7>0X!}{nZco8L;3)It+C$&_gFo_>U;G8vKk`*a*RSmF z-bF-4*2qzt4L7@yn_X>BPM&$@HjZxm!*6{9cRbo2?P3;{YZ;-23lTtN8=FNZPjz%D zDU`{oaLW;DPLK#$hlbJAi@m$itKT7#N+P3Ou<22N{>KRB@cBT1EKXPBVz{w^A-?^l z7+^b-5hnWN-drQA{f2hE<>P&cY`oBfS#;c{J80NCgkEeKbtST$l1|VidO~5l$s^nN z6+?xIV;OwK30=%?Qo>$^t zVg|KDQg;Ezp9nW$NMS1vAkpa_G2HSa#rZ{7UIHpPu$Myb8v+<(AS1BR;(PEwXT_o? zZ4T?{;97`CgkmN2`R`52u1@iCdxh*aJl=$kA%x#`?ievTw05f$ge88_THgT7@I&2B zEb3`$7A}4>ayGciLo_3tA2M(B-5PBT6vXNw)0D6j)`B>Pv|p%*dLagznY3Nj%{zo8 zM0gvuYe>{wUAx0&I9@|f%=O!VoX*@C_}kW5nUw%hZbTYhWA@CG9O3EM%gVy#&}jc1 z0heSLVGU71J$yJ2J@(RvS6*Iy^Eo0uyL`RZe>Jdwg^CkSqPi~sn;pi z1jw37frpk`2*e>xHQnhR1X4vrB2!_1kknmKZPfC*{pMwa6vx?hMDkjmCAx)0U}G^@i%OGk){x zjh=-Fdz66Mx^Y{QG}@<6~ZVes(@GIa%ba=7Kb^ zIi^AuQ}0lu+Kw!<5@0YB90C@m6k?M{<6?I)j;}uP*5AP0C!hMjn;*XM;1iF&>*V;T z_WQ)Fjf#tuew1sPeQ#usos;VRE}cQ^B%ZF`aQ-l)Z2%);bcLuR28~-{2L$N#MF0a1 zj)7S6bn4JKAujl(F8VCilzzzc9Q@})X~)TZa5Ac56mnd>^({Z}Ltpv@UwrhTpMaa! z&+gvI%{HTUtjSTB8OXx^DEH?zf9>ag{-^)N5l_x<|5ojGIb9<(FpZ0KrDdBU8QDc~ z;lR^KIgM$kqiC$(+?1J)=50-4*yjuI9;zV(V}!P;_GqwlRqO!VhKHUJ4KOr}7NU7V z@+t&_&bKx!kZX(#42oZu5f}^m+hP{wPq;#9I3a0M1XfLXKXHY|-;%ZVA%bcZZDw6Q z3B`0ebgETI7hfu9kR`QfUbxJ_RmFTIQCa6pYy(V;n;wts9zIRwwT^@aA@p~FlRdE~ z#uyHr$kumh$HIiau!LD4Pok=F+p{pe?ws13HlootB672W9GYt|nJ}fL)A;iWXFwbk z#=*&U3|KW617(eMf$n@ST2suu+=s2EKzXg(emk8Fyi+UBHsI0`kT8ppsj5Q-St z6(t>NdKPR1sBl-ENf^yBwR2_1T$Y>3+#$U1^2$xji?v}BLu}HJt|m#R5(?l{zCl!i z&2CMN(-4COI^~XzOlg>oNMWHk=e`K9oA@Y%IYx~~=d;Sw95>&bfA!hPVh za+4fQ^usf)Kvp`Q^qU|h4Q%GQx(}91Ck5;cgM6J;Yi!mal-TbMEeh`FHj4)R&iI(g zEsFzuw1r}5J-qx)2D1H@q7?5=tWyhP`BL^>&AH=O_0e>#Yb00-S-Q5Or2rl4<iMmBuB1oxSxz_)B*6)Q*{D6^{&rRfzQ5QS1?L$36p0){w@ z1(UKi)-f=+PN1gik82&jXmj5fLf=DlHK7tO(IyaWhJ2uMm0M>}WNL!3Da1u#J2yuo zkRy@h%Fw0*EcUSSzVkP9!ZX4H9Sl=-uB&Lavan1VspjHbp5KH|9pp^qNU}|biJ`8) zU#3#$x-1Tp9qTYK`sZT(ReR1Z+bPpD`qNdvp#7bCi3l8TH@k~FDBOMK(cRrA`NWf( z!Mn8wDmy}3RwxjyM)lt5AXZ^}w0YpgFMsOEryu#SS6qOn_dR^??A{(?I;aeIOj0S%(- zu@)Jk_ye5N>NrjY@10*9UAgkqTi=dx_sRFa^Tw^4Pd)y=(<{ehrQB3QYwr*{*$ij^ zh*m57$1D6^Vy+A%7;~2Ce)XZ3eUK?Ls>5`)!qyks05l(9{!GBl&{;l9I7q7!)GhTH zm1-k80?@6j_$jfXJ=!Zz)aL&ZeotaIcMZJ zIXZp%SAX$yzT&Gs_9Y*4F>lYKH*zc| zd4gSkre{$WLFm_}Qw4sLV5^i!PI-rRTI@8O(wF`d+2(30TAK1@qYO|HVUbEXb<$=i z`XFid?1&D48ZE>w2Sz?g`h%(V99Sm?*lS}ZZ3`69Yj zMM{q38&IC{;f%A17h`d=A2btez}pPBI7j`Br|qfOJ8y&r=6Wuj zCSz)J2DzgLHTVOVfQJJ`pL=h(U6OaS(kR6wiuAgf$r-9A_B=g-<@CoxKDii zy^mgf(Z`>k&Fi5NRBkI~p*Z1(f~8_K{hdIzr6}yYakET&W<-m>}9ZbcKoFatsG&sv77j z3EO^R>NLOF)5D^6eX+AB9s zHoMvn2qaDfiZzqKK%N}Olka*zuID%XzrHAOet!4v*zf5&SwkJy`-_& z4uVmZZlR>U32+it=+?(L${MM_-sqEgFgfVa*}7_$V`lVdRJ6Au z>DGV1+PLxrHU+Sfd-1pZk^xLKEJ4H=N-acxR1k1H2^VoimJTc3BlFbzR+7_)?Y z1I#q(73f?C(CPVzwP8tQj+PU7#F@hVXvJTjReLHmzEuY^xHl>qZw;+%E7l?+JUdw_ z*UMN?0jwurTUtSs-Yav3r{1NePs4tcqETg##`5<417xU`G%OJeN+UC@xOS`}pV8V1 ztrA=?tccQ4mpC+Ci``9=tyR|0{{+@T&~v)1Tx1O za9|m^JRd+6u`cs#KE4I;a0n0%XhX3-)@9LRghL%*wT|LSN=hQz?Z{j{E}kYq8RCpk zaf;&9@Huif5usJz+-}tbDhNWSd$T7<>CQ&k*{=WgOmnS52hK(KFkt0d{FPXNF5CnP ztN0tFQcNKy=6)Z7M6Lwp*Rln9g-+kcvO7dJ-2d!7IXbj5hFQ zfCaTBY@{GG`kr5I#RgOB2%x4Y;0$$cV|aE`mH$qt(T)clB>P-xfmkjmNpVl*XQGuiVIoSUQLF-~qi`26k3^~uyUkuD;V z8ry3dF=W+!htt!J$~Tt8lx@%@C8z7P{RDJjr*v!bG+|Gu*)mG=W8nyek4&GSwJ35v z@-51ZAQT~bl{|@z(G?hQf~%t<#kLCG^`_o;?N*zVi<-&J=7>1|`G5T**B^Z02jBc_ z(TXv*+ws#f)6dCB*nG5upOwMg`Q3+J@$vh|?mYLyU-N;pCr_^3f3d-w`&ot9kikk6 zr^WI10EU!uM~X?5%*sv>b*LlRzk?;MYrnVAEg481%mlgA(B9zm`ImZAmR>D0GuMy# zTXhm6wcynE+ezkKcF_?gGwe{{MzVWM08d^Nk}wC`ye4ppmw(|rXy8ukezx>#S-x3z09inQ@bdkzuMhziy| znUO?{jP2(7gMaHE{J>X!>6f0o=;QPBm=|-3#h;-~b>siaqivj@?c>RJfA`=2&KExP zf+wGOY>UL$1l%w|rpO4YNYmI5-3ZAd#m;7Lo+EXug6)u-aat~2JLp#D#)1YIAeK5j zn^#u!;L(>2drEzTyRerM$2HE02sJGYN*w7>Y-xS9)eNd{h`2U5BTHJkLN=e;mw{+c zrL)A9LO^>-|8sg;rLKleY*uyIv+cF{xe?I@t;i`wb32S)H;1tepq#faov-G8+u=6j zD8Z$E#Ufr<788-E3Jf5ofm$kB$n?+(ORhvrYvcU?f)_%wjd3z!tUeP_%f-7*Zwc^3 z|Ew1+^aiqzL^0ggcl8t!nN6$zL_3j9(;TD-zDe3Qc8pDpp2v|Lb>RsL<{Ffi;J8Yb^BZ`rM{-pl%0C9 z$pduv447+Z>dJ9L1X^k4P&AdR0BN!^vyHBr73oGHmW77jBH`@P9;M*FLp3AESiF_o zOlNn4-J2wa;Qn<(7 zxk7M()*vx6g48@txL(6hIz~>v8X>iMET7c~%6_e_S?5p#&4|x6qLaE4nqc0BQ7p0< zOUdXJ&k__vEyGJ>BWq(zFb3dGT!K3xXl({ZlYkMG%|%kSgJ4*f=(*Tz1(>e9<84Pc zp)N@{n3Xor+hQR7epvi^p7UYN*=U)l9qfrp0#1~PPi-x4%fJb_&A<* z#HVB@L+Nt^R4)U7brt2qed8@KJCG?pH)@B|jtaix(f|gTF#tq%?2S%1I~*|j1t1;m zX0tgu`Nr@5d;juZ{>0|wWPi5XY&Kxz7;vCsg95mB2dJ_-F{)}f;H0Nxj&cy3DIzW! zIGMO;-aZb}V)y&AwxtC}mJhdPyB% zoeh_SBbYNHg8SP~J++C8fAg>YE_TlV5yu;CO7&yN@`r7CYt?{M$;SwQ$8&e*{O&`q zc=;3e?!5S8f6vnw&s;ygMli>Q^Stlyu)nubE+lx0W^l5Zz;>?4O1D(f^+=;u7VTns zzydOX83UnL2O}6pyn=teZ-7?2DV4XPrUOtPGkPoZ~V%Y z0VZ$=|ZwBL+g8b-j)5`^bnz~jG(##+(rm7r)(wOWBA zyR&St+gq7`FiP;xyE{sVbd&*T$*Rt37mC5SDv+C_Iv)E8?&I|OLx1CY|L&jv!Y{f0 zQLjF|e&S{#S=&qureRT$`+ZdIw@<(8?T@_ZqrUvJKKtzA&dKJASz;}bED@K0B9@^n zuG+&YP&p^x|3X;F2=}Q!_}q5w(H1#f_|UGi@qO=vfEwDr$Tc+skY+$+I1F~J%NS}b z+D(BQD_fr8xd&_HQIGZskWq|P<7!d`5KZGVSU9*F9UZk5aZv%>lobXl?fz6i=x|8j z<5!1&3)!mjkO7Ry^vIQlA8fc+ z>u+>GGL(&qfL2=HeTnEVnNL!&l~rZoVM=VE2$h!h2Dhr8HrXj+!GPqjsy0;)M25tdGzQ&ecyyRWB}QvDKm)911cnZlbr4ZTBIEti&W77mX}diXV2Yw(7S80mIZm zV>p|PzO?Y$%U5b?;08jVWHFKogY^7N5d?H8t(gmv9s zs0J6aLT}{C{WJ(BW3}u~z|pc7(W^!(?cvmg?LT;Sw#RP&>W};Q&-%hYd;9Fp^#`A~ zzjGJZaPEyg9FZUlthCzcLuxyx=kYZ}s3oeeQP@d#U0Yv|5V>IQVg%}oSajixBh)Vb z>JU4;*m`|kN4ZMOKqzibgARu6qtB_hG5v{5XGG^Zb@sZKP=JgPgXHlzy7%0nAwyliO{~XYSm7;KeU~{ISQM`~25kAWv^T zlC=+Q;^f@#MztksqQSI^T^gto4*O?7gK|pdLdK;C<|wtAg6q!vxJ#Q!b%iR&bZUaq z8ypc--TaC`kde`2N@X#)M_j%2@a=ndpY!5RIy=Ix4|~bI+K-%AoroOO{We054Gw#i z9ZR*x_o@9C9mTQ3?_SC9jEV+ufXodpRmOXCRQ7!A$1SjAx#C zax>?f|MO4Q{*3$Ep~)ImDj^i`P)#fw1V*c&Op9eiIaWXHnC>RbPWBp&75cjOQB7eY zH|CHzWIqV;$x!TKMG?&X zz_zNC`a#7e`V!c|_Ji_pLBep@uYY($VG4F)x(|S&N1JT1#lkJF1Y416UsDDAad;FJ zSGjLYskW}8XwpKfeim`wb1ky}$K*luk<{v_noLf?c!S-T)WyJMxJ68z0}~Fe!XklL z+5}z__kiA09}L^)V&AoB0M>O{p#|$P1&lz7%~l}9M3q)jbY^zzrvx%$3>Saskgk?2 zN_gp8g-iv9jA$d!?OXDI7G;whH0z2?`t~%5jaVUtDbt7;zWZKaj;0f_;8R40fv)=r zV2SJDP$V1O7sC~CXlEwNjik(_4ueZ}?c>VEn!?E|`kb!2#zHn&TreV;71cUh`yfAh zyHRa`pkQZ%6)k!=E-e`td& z1fadvdZ}ZL;7I>?I!X`^4^m~|(R?7O2L>>p{$(vw((^>G4_jOU8>7^ zliEg35fK%KLk1UMYjb=Og%blq*G0xi{5Cb6rp!kl%A4f5vHB}^ztE@^_(ntz(6%>% z4A*Qjel&HZ+rYUTC#LfnT6Y!N#DUrFh{BpV$C%ZI!#PJxGPjkc33l!@8&jv~j%<<@*A=AoodAEypa*||`eAE8Gl#1&!~yKC_rcL_$x-YN3c zadbiq=Dr!86m4@6(R_qEYX~EE(ZJf5bdIP=I(?6G@ZD<51a!3a9dMzcKpRb6IzpSp znkPZV{Iu7+>g?&=&C^@&`M?u(|Fg$l{gFD*0$TNxayUdgW!kWI(5J(%=20Pc84;06 zz)znP4m1`AOh3tZahB;r8k88TdBODS%8<}Y;|pY$lRyo(u2WeufGHR1CatGG_?Dqfs|NToJ_lci!@15`7?|>Llm{#au0!*mn#E1n@$DXkn zK*UjS<~GOKo%4r2`enE4{Gku~r1Raq?e&Kyf{_@^*v!~D+)|7T+byJO&=`h?X|O>O z)6_r!ErqVwh$5iVGa}UzQ4^#(1&d!v>4ghju$}>Tq&&#xr{Z@O_EiMV?%g}R{_OWZ z`S|twKIY!-+Yfx?NAC7_u-}7QS=nS#O!2~R5X6(`Ii!M#KEpPb1Q3-Q1i(S=kz;%E z)LY(s{N$5Q+ygy<`Kcz#@F| zt9GE%6IA~Rk_8NB>6D|wbuiC2<>R65lvRp4lWH2|o{XD*L zygm8aZ~OMY@|FMn$;)1yw~peOl&YgL+~m9yusLF1#L4N|JKyai${=JP!eoie zW^3OZc8Pz`#3Ut)S}|bY?Z`zehquwj+rzvBjoVf;%pr!XnzcEj!fQX{xtTtT^4dt%7r|Y`ZKg<(h1HQ(a_7 zHC)k|Z+<9|3!_T_kPL9@p_6P_ts=b@@kj?NmtJUv<$_7MdT7GBF@h8>AF+(N|CLzC z#!Olq8YAhCgw1UcWR_AakBoAuchBL-at)U#Hg|$(k>hfjmiJ*r9qA0H`yNYhCG4J| zNvFJ3e4xi)3`H|4wY?n`unG~zzhK@cttCWX$l;D*kzu=^htLF zW?41dUd>!D>;(}(wbd7 z=Bmi(36#MxB4c#NkOY+GZ)t?m+1>ukF}QDW*u{FSeYYH_)?ptJksEc-%H<5CX`!>% z0mEV-b998KcC?oDQav4~Ql9`& zNb%<~Dv&g}?Mp11V_@BhUVkHFaX!9e&PawhEGe_KS_=HsBA_2V`)bI$tB#V0$ojR%M zh&h*=(m(NNNS)P?IWf&b1WHCyN#l%hyxr9K#kGfDc>DJ4=RES!e?Lb7e4W^)Oc<1vn&lw7w zn!!t#aJjXUjX!}HDyah%F`FreqE#t|TWnShvxJxAs$9fEz-hDUyWaQN&t&p57HJzb z8o{9{Xg6Iw#N^DxrG{FBlVzP*G_jx})JRLLvYS`zMeh2duNZ*3`qdyOJ9bvtq60wm z$<&@lQR)>2R=s~S;>7?*Cxxq#C7g1A1x2a?T*eg{$yywT$Ag4*94ZTTEsDvtB0`CD z64k+B^3eCo2@wDlSw2)g29nanWy)Y6+|^e1NRgK)#HnB`N@*BZvWD3M?i~~mTy2@u zoi&IkPq{Ttst#DW#tbBC8ufvi>kGj(olS=~Ky`Z_L8sI*yRl0s1C{oyZ3xpvB2m8A zRAoDz)JzBN9jNvV1`AbPUzHJoI_QKzc5tq@M0GcXk_ZH}e4o(~F1RWgsycG+K@S;A z1eWOTaJ!0(V%6Ra#0*JNj7ibz>}E+TWJHW^s&&P!q&3J46RCXihiix4P_UPM{!(txNNZtG}f*`LZ>!F&b!5LR`DaTU?K7@)nj zmNmL^U)77UD41eQ3%pc3(!Wfu?dZ#hv}YK(p5%OVm~*V(|b?-*0UaY!C(A_zkcVfzf_szUQnFC zj>M81nIEwCn#ifU#wmG!ZF0XmyY{k|?#J;MDht7iDHb6Y&gyOMODGvb_YIoIkNWzsc{Sekem^4$u`L;FGR3{vt||5 zSYK4o`EGyh{)Zp`;0JEr|9sr{$gK}~?*88GZES*>$Zb$~Ts(lxtPO(TS*mD^!L%8# zAhXm*H6uncIGAH|H0Qi>?fR3y{Hxcmi}vGPVF(Xb@a-KBNHa;$ZVk)4gJ2~EZ6E;Sa1!ej^OGCfcNdMv6@2B_25I`Lp- zp@OI$`oOB3*gzflfenjCch6@W9mmntul^su|+;y(=`56078pu2b&FWN5ZQOqjoNN8I` z4Y}eWocMPnXg0~t$4xNTh?DHeRF3n*CPX535)7sE5guZriI?qEN&yey60-%f*}l*4 zZv=GlTVTWHv>m$_+$2b9`k=?VX6GO>%tWGN;h-fYT8RixZ&p{#2rsJH^A7I<@R;Ov z$Qf$HLFDnU`KmQ}VzJWx5*DAPF_6Gi1idfSar4&Ppw9ccpHRY7vnQs)z2 zvW(!0%fb*pLtqo7HczT-@}Qgbh)6|I1ZFz@wMtG`7@^fubd-Hi0V^eh`naeXIKpRh ztLkDERRA#07Np?_eA)s3|b14_e(zr2)v04OgqW^c5^a7j&d;BAypw7l&(VJDF zDK2OlGY&80A*nv$!C9PWxSYuu_QZ|Qb1)dCM2rGbm)OmsDNQq8hVKh&h-ak@M=%(< zQ8KvDrX`#fN}%(wS_Q>RXnR_X8{ z5aA7Xu@V}4qM-UykQ{PWgkrmn2X#r6>8q)zP-_zoblATafk+Q-q*>Z3AeJ7}F>|O{+yl;(EO^qTib+d@tH{HK&cW&@u!h0rl{gvF+9V=(MlE0EQB;>D$fu5 zhlp^~y9p|X)egl;?bQtwKw&6NA0l3by5wKdN~lZcl7`xI$Epjme&{>D8CS+GPG9o; z-}!w%{Da5W9!ZW}9gWOwU>|dv8yl~Mw2>l&5>TB_V>}&Nwkv=qPGKd{D%>1_Pe{+pZ9{}haUdK zmwxR3@gIL`+u4G^U zZqRBq#DXoJ4ZYv#U3r{m$Qd|FfR^0^I-Hn=g3Yo)fCzqZ*5r33gGm zjAAuYuE!Y$nL;iABPzk19zDqS;NcQ> ztTu)bvPB2ts#Cpfu!~@N2A=Dk2vK>GuLjUHLxivm!A?~BT)+|OiYa9Z_nO_l_Ua=W*|Sb;I2$vrbNL4w=(_E z4RO|dmE`Eys2ECHp>a@YpV;dn%eAI1l1NEq+6KuhNmxy;Mo03XawG`%6<9T)fP3I3 z3r?NG47we>iFi8R@o}Ju=%#e#8>@R>*(xdQ<6&L3tnwn!PJxZC*nyT1OFRD%Eh5E9 z1!vX4xW#WbaNZC-fEuMZaQ1{OGKf*OS%4^Ji^z4`v1S4Hi+InnYgK?kw=>im=->+~ z%QKo4UMH4hI!;kQH5Dqe!E<0lX`*fIrF7-t4ygVWsdp*Y|@ zHOvu4ZZl!uWBZfK6tPO#1E;qrfmcR&*rd}XUZZL;NEm49*$Ny$BCH|>BZs&v0I^XJ zW{l`epM&nkr;Nz5Bhy}WdNB_ws)UkwHeczq(xL5`Ne>Z(E8d{J^$z;!;9voCPDgx&9#(}-){9C0RTdQu?SghK zBYnkVkrQat-91Fxa(S(m&%z?FfWT(E$sEU5uits7NsKl4l-6C(=ben~jI3>pO_XG!ZkQ7y(n#K{*Kx4-Q;^Mk+n^GCRN^2zsaV`TeP#rIQiz7sLFfFgj6 z22BBTnPZjXH(ImF3JZKPU}@kI+_h#2QJyOj&7!CQYxgth3)l8yA(?}`unck8jh^NB z(w>IFP~*>w^J}N45`gjR_$V{*PIL47a=OOK?>V3sk z1zYfyQh#fzrcr4-V|Z-pqIE^tIdwoZDnp>vG$an%4ja2RC_xK3M2y-21(C{7Izn3! zZi;NwkQY#bP+eKuEYHE_8eFB^FM50R)8dr0p1E3WS^wD(-Ps~Peo_*W@GoiYyJ$pb zfzG7Ri{IgH$feN93w6wi!>Q}o&3tQzZ=AH4OSG|Lb7Rc#)u;v!aS7BM87qL7n0LNY(T)FQHI#J6IlI`7RwKr-mFfcqVkx%Yg_so4$TgnvTOXt;CSGJPJ~O~BfR@crquT-(Czauk{D zYSmG<`wB^W6p7JC)qpW!{Q{XTcQ7Sy;@CaEn+uHfE87 zDXc!VyGJ{#rw;-%#KIlTe2=nn^LySNWro~ zn*uaqHP-&8v&puy-jy;_XO7b3Dt(#K(mysG54Ad(ToByahrYsS_~9oJ>SaH85RxI) zsxK^aemaBEHeYtznKct-z*G`Z0YMIA4x?cMXOe2$t$yE}1GwmBCWb;ng#8Xy&40auQG~v^jyL=_U-AS0F9{?M(Pw{~Y2 zIb9B~Ynu+g38{{S&q4L42`VVCL3XN$^rWzC9sxwrE#3h{D!1Kk0HhqAzg0IhEzgB& zPQu${3}uc90&zq#S2zaO3|*=Q*ZI-ka#3WwbOl;QrkG$50mjAMJAd@`pZPa`@JF6} z$6Jq%k7G_|Y&OfENf;4kcl1R?G!+Pg>(~TFjH;Q}Z=62-@T*?)`k#O6ubkd|aK=%A zThA4Uh_<$U3sfy86uY8EB{##ohZ`=bMQ+FXM8rxZ*(zs5Unnvw+i;4QW#0-j(GWv7%FUOeC~d z#wqIP;}jx*A|qM?!EU`pt?2=)0E{$Pgu@cMw}`Ru%_702aPoXX+U?qCRAMt?UsYgj zuU)yu&CNgc=ljG@BTZMc>@fUHWrJaH16^Sk%(_&dJ%PyhbF zc=ES?9UE?nvyklRj`EbjL=L0krW_Bpr=q|S4%HQMYuJ-|c~`%gAQ4&nzNt{(7L_I_ z&91QsjnJI1vR7`))W=A7#(2)qmC;d>KBA#_^b!}L0(`-+SxciN{y|jEFpm&I5`rO1$X`W5UI%xlVHWczGaG+A8$~4!MeGG8wZQ zeSiVgy6ZKKDmx0SJ zn1FP&!3(Nvm}a0%~2C5G$BCURDE33!qPSbGwP!=W>KzHZu#FA^Rjr7`Zm~{7LPydBt^yaDE z`{PiP7QGx1z+6Ki2Qc&l8KGH&;bs8nL>gkH%Jg8`IbzcHl-a+c}LtWt(}BN z>;#%Wc23NNL@*2D7KU+Pyp$)@;r1Le!(-h5*PXAr3oMo#4Hf88FDWh<8V?fd!P$kc z0dl72O`?-g-7>=tc9^2FE0ahvTFD-PnCPUPKN(KD_LMn4SN7RM16%)u?LEPw3W@+P zDE)yW2RM#0Gw$8K1MYt2$NnZRcDs|f?_)mW3;x_+{FFcOB~RbEdwlg-^UB!mF8q}y z?WhyU6@-N9J{rFEmeg1Q=J@PzCD5xeCbJ@#K137U(VjG0=F^ky?cex?8>grD?z|sIr@7zH{mg@v#bt*?mbyO8rSkSmQ&CUwz~3mM zB4~YC#Gzq*b&;!?qp&6OQ5?(89L$oDn+z=vLI_{ePH6d`l=ZgV%|-!*bQ-nY?6|qI zJ&EI+pZ`C+;Ya@N-+JJqKRGr>yE;#7iNeT80CYf$zw9uP*raK(N@4&p?&aLS^PQjj z=fCRnKle}Gz4P>y>!%}*h)p4;2~i*qV77h)hI>{7hAa8|$|3e{nnfx3PV5$vGqj*$F zk;FicY72Msl{ex+CmE65%=o~WHNR+`KUDVx*U;;z^i@x*l_NqaZIRAOsDlxhs~0yq zK&R=aPN+Zwyc}yR=1aIytK&V1gK(VIk(;iIgOjGcLMmI*IRsrs&I8DIT-5|dnn#Yv zp_lUMhSK)DxmH77ba*wS!{D4CzeWL=x3C4jK;Qw@-#4PtyuI zcIi>Zj=5`TzuO=kvLO9KVrUpGO=b}_&A5}3aILFcvPWGtJW;EYV2cs;Qlp!=MdUjDzMfO~fUg-U=kF!wX40xdIPGS6CiDOKm3)y_K1g}FM>k481C5oT!8$b3UB zPwFgD7QcD~n|-6XE1y z8zg;rcf4IrrH>U9>nV7!REr`cQp|=(yQ)x`l2Uz$NYw;}EtZ6u2GId#FvZX*xg4Q; z%824P+8&+n&#qtD{Oh0m{yXpg&HXcHBf8~fHlj1)alju?MnF=o3aD9Wpcu8^9A};1 z84uptJm*EPdByMi|Np|9uHJZV#zahzbM81@Fq;nJ*v_Q+BPs-Q;?3D!J4HIC3GGu~ zoQ$Y|r!(rqCiaQIh^&bLbxE1KqoZrL9)8Q4-}9PRzHa-h4>@_@+20Vn8n1bea#8R(ao!m{n8t+934OPuD2YWZti~Yy>WDs`zZ93 z&=!>n8D&d8fuP4ys*ps1x)rAI_0cV}l{s{aGB%0sCr%r{Ho2y}Vdm1*oj+&+B%>}< zyLRnm042MD*2Peor}nS`WX`kQ>Cx%_^!lIvf-nDpZ~5jMFMrkDlau7!<_04Qk+X`} zFoR<v@W9x%Pe{eGRpgvv@BNsprNx%#-u)R_a3-2NVR(k z)n{v`42pCr^}+&8E9q{xEmu~PitA9;|0BpOiJGPqCNyB=BGaS~en_(@ie@*pQ?YxJP< z|3W*7;0Q*kkW!&R!!CAE+xGAJeDFFCvqbQ^%V++1J_^|8g@t*;Yvm))9r9Of>PF^ zmKEyyIkze9&KID*Q?vFi`CEAom2E0qDP>vNWV*bV`}jypYvaf!npH$*B7r0eYWz*B zE!Vw3AY#B%v>b!EZfJT&YPN6I9-7#01j9A&UEK%@;8gG)35;w)SYeS}6sUfR?U7{3 z-B8qNKKTR}ayewrL%^leN4RUPSmDF=D|n4&hx(Tm>g$C>E47Asf)M-;v(_O$NvYH_ zSkPq6wH*bw6oZd%(LKbvdqCHUI`pv$qmls(lNwyQBLZzLimNilwK8^ajr`TMXzfmi zMpaGwQDxrF`0ISZG|Fh_VGrxN63s$O9y0isRDHVglv58V9n@q9sJqz4olz*TVh{8s zy<8gXfK^C3oXU3WuC5;fD&;(&_$>p3MEiIKBRc1)keP-Q%Mj5g&@2r*uiG40S^eS! zFrtr#e6c>KgQxbkQru`^*re6sF5p5fePJDHxWF#*>SiS*$2Jq&!Ch{TW{mUOXV^de zCx8EEeBvMeQ+NOKFYPw->Z?8#=k=i<`Kl-HJ$>cILzt8+vL(?WfTxv((1gSkc57fq z0zM~)6vrx7lYK|gxr{KEW*zF+X{?w=D!x(>^;`8QQQdz zFcG;;FgKgI$I*7f9Zny-9?$uZ*S`8w|HZ%izmKm!oFn$gjDd{3kfvOe6PtdK2-HBB z409UMv`cdw796`FG8~fzp;5311ou0}sEn*)Y;rPpbzV8HoSyv4|L~t)`YE5WdGI5y zJm)$4d6C>Rw#n3Fk^(c-B@B&N7?j$FhuLZk6LnF24v>u415pErqs`{YU-_l`Z#{VD z(Kl_ef99zVZnjsj-{q*0j2c2Do%wS_8vUAr?=WX7Qb+G;{0iF*;?iswR4YkE5K71t zG3V^E_Uz6HzFW@G!_iGM2#jXpvO|GpGqY0=f{r>7jz3Fb@QkAy_isc6OrE2MFsL4ME$} zF*-hpsEDkhB`a>+r^qIks0^r*3U=$M~k{+;F<$7#=pjMiV!-X)>-UwR$b?dw)1S$qwbtVHoh9jcH z;TN2C_qWhAIL)3}_hlcZ=q*Wy&(WNVL&H>{r_-QXZ$bm*WDYW&c+1vixGGX$m~yDp z70|g&SaE5-gfX2Dk%QI>g`Xx?n_NXA>7-DAMXH|JQsL-B28SIT;Z&Gb$k5&?oXpD~ zd+22Y3*e2kqyrght|al6CKe(<0<{BQkVwHZ!|m!z4OL zG1a={t3<$oH3<{9h$2^5yijJ9iva-AI( zO!SgB_@`Z#kM>5^jh-4b}AU`KL-k3cvn4{*Y*Wr3h79bhGRn2+kXiSFg8 zwJryR2&PD0x^$UfBu9WTP;~9@R8AtHS=o+Tg-1mFzyni-8{w`#9u3xXP5+hX4cR_t z6x@R=7BXd;bB2UsGpAkL6au1m~#Or^^&t|(62N=PGk?QUgp_%kBg^p zlBc(YdsIzeTl@VO*laiV&h7y9Z-3}-;_T7mJ7;ru=h}yVV7q5scbwAq#Z zLHqP5$G)=t!t%(D?7efr?yn*^E2$Tnia=)UV{XR=sNCL=*n|n^80?*Xa3_K|7YX$*_&|6Q7p2~ zS#w(f!aCGasFmULj?1cf@M*9q7Zzr$0+T>s0-1BaLj*H1V(#_@9F5b{YY+Y3|LLb+ z|CxW}_~ygMFL-!&ewNr{GeX@$X%<94QAAyL{)$74D9lkVwpNvY2Li;z(Zs&y>6I%_ z{My@2k8gbN-9H8Fo_Ol9qskJz#>ku$1Ww}td))|!OFI1-)|9RVUr?XYAjlxH^C z6d}^5A!u7W1Ah9jhL5Z=`yMSNxYw|t>pX1moDcylJTS{*mH`2AV}1UR0Sv@s9c_+| za{EWW{Hy-i5B@K=Ui~R|?$*)%VvZ5&eq9(q&OP@ItYNkOeiy_ZPrl{Num04}_@kfl zY4@IdFD~}jj^M=HnYD`%oeXtyrs*Oyg@gXUbK-M)TgVE~uA`2yl_Xu~a`bo3~mR_Izk1KWNn zNVIrWtpr{D5*in2XL1CBIRIu^1QIs6iG}~r8?`Wwx{Vdlc|4~W07TTBb~(CR zO)myi8Y=)S|AiRoC5cvUXV}#XDd7;GlYkU(woOoS<}vQf3~azqpYvv66H#VCrc z9X=>mgvNYLj(JsSys7{~2Oof1TzV1MkIO#9aoB06KI{$A$h`egu*H7*aRDo?NJ{Qv zI8P)YkFbOtAR;G2N2TX*sP9IwV>`oQ8!iWtj6hAtD{kZugbO5tH5GVHgMJ<40AcXu zSU~JVp(9s40FsO;Hp-1kXaLo0OAK_Wi-sBY!nu5+;fYe_P87k%0{(+e<*g;9@1Ma{ zLxX5Tf)2d=GHuE$y8J+vt6emf-buu$quMCA)qWy4L;13D^|j5Gl#7NYMV9npVr45r zD!Zfk(9E!{C9oqY)%vfucK+W zsL)R@)Gch-X38pC6WYk3SeA{8_b5rL8+&$!(=&T zLr?M~s}*OY`iG$GW5T-U#9ag|7K1fl;R@ae zNoMsUs`2U)T>-p^Zk1}YXL-uJ$HbKe73uHKp#vo?YANo8eN%q~I;1(VtMoE;21?@p&+MA`{xhb{gg0qi4^ zuus>=XisF8dvVZNICl0r4nM04LXxN|`{J-E6R_(nQU6>MZ|KOxb>8g602s`(J;*vc zf8y4S8*hKxf6A;okDdcDCn{!1r|N#N6|yI7VG>CBuo+c*1`#thxh0VsT--Z;?!#AJ z{_4;EtUvaT{@G6)U4PCdkG7d3H^?X?HR(*SAK;vkbIg%JRGDy`whUk((pn(LRHz>H zjcU81bF|+RF)AXn_Hlf4yuJRwSAXN*_+6j;sqws*jO*977iXElF`^ukhGvBrDKJ|0 z(MP@kQLfELWpqMAJOIWqcdYBDr;ok)ZC9`2srUXIP|}cswJ!je=}34CF;`AO zNjV!NN`iG8lS^lav~0pDvd9?T`ey50>fPK&Qv(8}8O!M-Qd56a380i*O*G;J`eDn_t68C5azg8P%B>v84ek9_H0__4qJ-4DL%Q+GR#F$+n~Vk@cT3x^S4 zWdN0%arNZ*?6Jo_>~){~?|RI*L1`{^RZcCaeE9YoZVeE5)FHeq53|rW(ZT* zTu!EZrtG|FAs<PLlA*{T5)rCPz}%PekaVLXgBi7wfzIKh31!#=Gi9~lfUBdVG91%VxKT@2OBpUJe(?%Mxoth9 z#mtD&=R)7rjiGG)tjUQ~6Dd==hE^uDot`h36GT80%{r1>=S~V2nO0?ZP?l^Jv8Ouk z^d*A8R-?7f2)AeQ5BbO{Y|_9iL)Ps08+N>qo3AQge5t*a?TXGyq;rwZ3n~^U55Ue9 zuQ#E>hMR`5Du>r|pitq`C3SPqUl+Q)jt^1adj%{&rABAd(Y90BFg%t=)t8nhO^OJl zVEl*?c{J}n^(BA&55D^MedZIt^2W_}B>Ak5ddUZ$Jo~WM{^5^*?H?-E$$byt0yrAM zxfwuYHZMDRD2P^C4at^$F)Gs`&y|EO#2U$GGP}J4fv!B$@POVkUkS6&S_yWIkgkTu zT%pzxs3j@E`w?AOG>q)%!0pIW{3h z0wz3Z+!q>*i5^lbGu8SOb>z`m43tFzy*p4T1l-YGl*%?YoON=1CAL?7_aFG2Z~caE zI(qr1U%CGZHdV1j2BzC=iMxUNaxn${BeZnuaQX=uO(Yj4=RhVg6O6dHcX92?$)j(2 z%e7NH_TIN{!6%=1VspGrD~RSh*v`a%HGxFMtq>W2;Lx%az$!q?M)4 zD(b{IVwW+ZEWZ9pRqe~UD%%G_*=BuCpEaWy`rk4X8JnuE3Jqq?xxadHohR2m`%Az2 zpZvY=z4=MM`!09eS(#(A$xthgHtTGA0ZgEF#9-ci>h{G4-|;j5>vtb*uiU=#1c_mf zqh2R4F7t3=rFBgQdm>oca>Kg#HuUOcBnllXA14!UVp6_Rs}b@9XpZu-oLwRRnm=F< z8i+`1G>muGngS|3)GeyBa;?fB2a3(U|CUfDFvG4>vd4`i$0Bkl@n10yg02ZcDZ7RaCDsE^Qcfp{PrO%S~gy=Y}WM4ssj+c zf{1jx-{oGSlUTCzP6HS~w$ZeU5Gki+>1*cZI9P|C-W!96wGGlYsH9jLBBm=dU_9s8 zL5&-#O001iwXzBcc4H49hFGyChlD~Z)nHpw zSgq&PgQO9PGAm+>9o6ar_R$JdXug<(I!QoVr@VmS|y@$qj{&RySNp} zkr9^jgKR}YC#n6%QCMy(nww}2tIS%u&q?_RIB61U3Dvhl8UvB_Y>_#Q^=q0fT~?tj z(0ZI`(}1W_kf9QD`dFD~0S%W-kf`^U?}_%eq+*b&lHJ{#Ee4Z=at2>MljceStENTv zdKf%r|Y%f<0Qx_s)WUq#mLmVo*61LFB`u~l^rv-qWh9lN&^}{LE{j||` zEw*{0L*AsLAfL9v;y?@&i~?AbEs~%Ge+a1YmaIr^k56##slWgAUyU30eekVs9pgCn zEV4H0CB2_qRkrO&ld!drUC=A4BOfz3Gtc)I$2YGYedMb?_mBRmzw^WY_{!;hwVNTn zC^MuAEadX!!=u%LB`Ye!(rLkRH_VWV7QH!&S#>k(%E=LcJNt_qIZm&C?ic@sfAeqt z?XzC`NqO}+FV3?Pvr^lm>B!2#1UoU90p~gTZbU<~8O>lJG!`WG$` zIX!yc+kW;G`?EVwpKdo=KN}5iNE1IM6n*^3zSO$9I(ZJo6rnVvqfDG`J`Xj4HY;`j z#yEtDkL4>}#4l3UAKK4I0|lpv`p}@|3Rq!kU<4;d1UIoi+n=6XpPMV6{)hh5KmNXd zc~&<*&f7>f%ZoR%*$}5^K5NHWsI%9P~CrkqlL4&kd18h{GR8ln=YYA zK#fL33iLeQ-gx_BLcs@@0|0#}LRLl#-U9?R6<#a&^UsXf903Zm$iUG510Z*5x#-<0DN}|=q z)s?o$zGWoXxd_FjlD9|Ov<}MYT34T4Fi@Zgk^b0L{0mlPI|JWhB`B8ibomaTA%yEG z*`{PI0dzKMRVvE+y6z#nf1=0CwlbJLi7u$DIK&m`JXk1quT+RDY1!nZ{>s7oTAaR( zQITEer$-Kx7zQbYsxAh@oC0hO0#7NJ8D(!>>$Nxzw_O z#lyPlkT0dCzcI&%kqtT$!zqToHrdVsS)37I`cs7vR|-ig7wgPfNlag*{yKuDEKN$< zGP`AocVq>#Cd6&gn@|W`A-GTx5AGiP zLbi?;6Wf{-2%5Cg@5;z=Jy><0HpeSo3HcROh-p*Stv6r{e@@1sG)hj-evr#31!B9Y zdrv-nZF~BS-|!W9>ZzmS&4|r)&dt@$m5+S!6YqH6^=E&~`_FG*zwrR~b6+z$3SnUu z16hnhP9A0>DsD4VV8%htG!HCGj_h81t z6eud1Sw~!-=x$YpTVAhd*MjKI9wTZ3ym8~c?db!5>07?zhkx)NJp7VZJv}DxosHZ^ z3Ia*$#x}nJFsiLGa7pI3Y%DwZt~fCeEL2908Jim?ANaLjLXO+-`kB+yliQEKFGqs= zbMA$`qbP#GluC4jj24_23?MTd^#vo%s+M>q=mQvC3oJ~}cAe<3K9Q@1f-~a6baS#A z9ow|%UOU$b(JIJrnh1`KX#>g#$-no7fyw<2`#QaOb-%s#8Gqu>{$KyN;wh)QE@T6`(27YtSKPrj`i*` zBF}1CMZU;&7;As&Zt9_JD>2FSZu#k@cPGCuH!VtF1E$0baf9 z3UY;gqX`3PCeZ0E3Bao?5mO<7gN zx9KaFuellWi63 zCJ#fD5A>S^j?pNuqk`2bGX1v_`wgR?KAF+&c~pNdiyg37xA}HoR;zc@b{K4xuoh9Z zZjALbP&ejm2kz`fAK_dk!49!sL3J8(9x0ZqA$&xng~Oo=7|k^3kXBdd5bZ&t&MOqF%U<<6Ui-xOeo@bP@I^oOws)S~x{nnl%_Tx3 z?!193({^YjpqGznoV_^NaP*pv4@LBqt%?tTpr)fNL%dM!vjU#dJSayFT^N8EV>G#C z`pg8GfTD#)LMw#Ja?-w*8W$sOrrWT^YUoMsM=&qWZ=YVd{_fxSIlTWpm}mR#(U>{G z+~?#_GjF1c*bp9u(92&+inm! z4Sz~y^is#UqMfdiGG}XE715N9O9^91-U~7BUQBRzbaL$t-~Jtc?Q8$?gCG3~Pt=`3 zj&b@|WIx<>boU_rK}*2#$cx(CCS3WrycxQRG?rO8a6B@^@Kuel z+^i}7v93A{LM#Z^xsgOo2C46)>b8Odd0a8a^&7dl@dy6&=l}a3|Iu3?^V*yR6mp=L zu`2|LoYQ_h;{W05&jYRBuBt$E%(?byzV^1cX&{7zK$4rA_L4v>LN5;i%cjsmq)HSK z1yL-KvU`?R6`=2-@99Ipr=W#mSE80r5fCd#7a$M<=}Akv+a>qjuRrJPz2>Mt#+YlL zywK#{?>lGj-*2tC<{Wd(G3R2Gb1y#`jw?U26LkNChMdYX^jI!IKL9khgBho(AgG!aO8T7i--uXQeFaB&_k_8~w| z0@8DsglT8iY#AM+6(gN9=meQ&&_zB9f~EcHXes&_&UxFm)@fkw3zR&E52Ia8I+a!p zH^T1M*+@C_?RgSJWhT3Iqe8TsNK@S=qcoZ-OeH*=zby}{6MA*o>&0FUMaq>H*{WO4 z|l|nalYX`e*p6I?S3*r!f>q$m$O^|xwqV*`~c)v)iD01;X7DBL+oz@Cy zDW*m&wgPLAlx}kn0crA3Ef@n`ITrW0S{@Y9@*F*{%+NdPYibaI&5(!BPU_K%hNfAK zKD4r;U0~!-&%)8Wi(=GV6BUax#Kx`l1!F{vFvOu-65`xgkW^Mf%`sdKww-zTb^sX7 zCy>6Q)X+L2A}!%jO{WR4v?v-77oa*DJ!{7^8=U_j`X;ULo@+&H%2DXiq2@0aY_f~h zFI8I!tKjyPHCd6}jF^q}qfp6M>OrWPFhZH5ap=mQ>C6@ABTQxvI!t$R(}z7EK&H#T z#F!4t-gKRqf3T!3IyYd&j~_DvQlK~sS;y2~$tfDTIk?YAFgym&wT4%(jkiF*3z5Kp0%Gs z@45Vv7ORw2FF+vTLHmFeN)+rEi_w6Kn|7rwRMRK-$XME8MGlX_@a3NRbG;Wj&bV_x z)fz0+DbJE@@+fq}uNnF52fvUNh^gAtZ+B0jKQ?rq%-_Zx&h`0dX z)agWzxj8&Im>^D1e)-@3%e?!ZlMlYXF5LwN&rWN1_KXK#yt)5*pYxdyzwP}WyLk6K zG0&h&M$~Jl3bIq(sOHVQhThI<9#LDQe{0;R`?p(Mt9Lzz)5U^RWHyi%eCX`nKjs+_ zRg;+F*IY?~?nVI41Ya>qHOjM!!Ntpjgb9j1dtN!R_Qcxqjc}!&iRU7u|T@ zd-LFc8Hb3@PGtJo#wlN^>Y2ZlY}g6a4>PFD6e(SSBr)a@G<3m178!S4eFp0AJOB3I{?70C zYxh0;x;t@j6gk4Ai8^^L5+wFlwa`2qyO;-`0fY=IwN+phE6dIn$5$^s`Hpv7JU)8z zgKxQz4wzCxq*nyz@6RAyzq>}IQZh<`!zrL zqd#%=)vwQa2XpK99qPu65r|ECIEf)h*^dS`hsP)Hd+Zzj?6*Di(2Gx>{P;M!8~`_x zc{Nq8<>>OrgnFs;`1;J|kh+^=*`!O1i$w8O$Pt&!#~8V>keA+A5vm8!Sw2LSnpI3^ zbudHX*iw*qB2q2X)P0^7?KmzVmUcG97AXTQfSFOLTb0;ZqLUDrjPXmy3Yj*wJEow# z;PN=-%a6h#xl=3BGI~$SXS*$UalM5(F1Ux04+tONRhp!GTRi} zsOmZIJB4r@Wz{9HUR3pn#-bL54iP ziSLMP-H>PrT65~rYhFvTq|vn`XmUmQh>YQQ#Y~fu1u`2j1MWoeW2sC@z|9Kq!^6N_ zj-u8bDaHO%n|JODKOOu-%WE(rpl7Gz#jbXKvaCc)ubWcWkBb;Kx={+rfY>W2w zKq0E^n^;q$PJ&T2YwEf$BLb7`LWpWHn1rVUB1S)+YXyurN447n_K~M;E*i3X5R>|3 zG&ViE4IYlK8s);p8L9V~cG5zbrk|+hCHY%B4jsuzdMvCB4UsOg*t*pBXXlYU27$@G z#;db_M7r7!#qMgrxRR4)WguqxIFdwFlTZ-v)q<%qBV_DV8iho(_$fkK0$XH5f6?S> zz9$SKC8GqvD0kp`ZzyLGy)p7nIvH)N`rHW%ifObU6mMG!NAFm#ZFQ26bo;=W-^!MqkPRUuoEVT_itgNNjI%uUvRXCJx7G#dT-p0t>DSx$ z*E-)5_AO9oY{}2C3 zT)c0Lqq*bsMh;l+!th-!6!WV%OAP)|kTzKN~w;pZs z_Vq_E93OEU0W)$lSHCy=&4~$y$X|GJR0G?N6k#(Ln`FU6>`D8^2_7+S z`|>XrLsx?=qC#J43$2yxz(91-Q{f7(J;W>kyR*|PSMEPNJpTNz{<@$3cmMu@S3MlN zvl)>it0JN{B}!0SP-#p8*bOd4f}4ZQC*JqI!~5{P-|;PX&TdZLISz?AH%2O~SaK}` zU5;3yJcn@qpHZ6ru)?!+dLDu)jId{`O6TAjY-J?t!)x53(vZJN#F>JBcD>z)i8Q)a zctQkYqIA~C(&bV;EYjL`27|f3r&FI^YP1vujA2P+Q^AWDfq8~jNB8+~(!*uSKCg|m z*<_6S@>-B?%j_JmO``wQZaNfb3210_|CxN5sH0RB!$}H8XRo!c)l{%VZ&_1CGt9dv zphstQWLkV(peSK@rd$xE%k4d$#LFTkB?ur}Z%cF@8@^J>S3fDyE>7RH(vcqUR4qFR zEmXLHxNog;w}9MLvDBwIx^-FcNr5sVrWm5tc#~2p$XN>kIg~1P1brJW(ayGyGu#A# zKt#WzDcMd7?jP@eJkC8}<5$seq`1C~8&JD=`nNOAuaFA+E+h zS~Syzp$ zGb3}2V-p6c?gRk>F?!C=K1cvvArM&2HDVyUHevJa4{eVs7Pi#JY}RovctG^Er8*PK z#(e}MwP;#ot=;+)bAq;L#ll{nK}$J9Jzmy9nYU{Rt~xtX!BWLZ+SQom(UEq433_fO zT4mSq8LmBScelsLC?1Z@tvh#q`$G?Y)t~sL8}EMWta&p>NVBP}?tv64?un?-mPdbAF)10p%xNDwhjxjDXY;aM;F)^Gmi zfAk~&d~@aQ1EeRv#)5LT=s=*L$zEy<&@oC&1RDrBEvrP<+}-`aeeZwgyT9tozT)ne zzV_ho;=w^MBM%R_+omCcNN=etViscpRHYx%{sEMPT0?Prv)2=dh#mmPBAAj>N zKjYr#eE4H;yhz;m#3Qje+99#sa+5W4AQ?M|V}XfN88n0RWk2@3Xt02Qs>m&jlnd`r z4iP#4TgV6>4xKR9-a2(rc4^os_SrSWUO7Xojf61-g?cMfH)uu>hl&rQ;P_@B~)ZSVMYy!*+H|irF_?0}~>~5VL9bewf zU1GAf%5J-Fu2*3(Lj5+doWZG3gafvgaBWLAmX_Fu(H71jb5xt|5y1O@=*hoiHe1T+yf z3?Ea)fPNPG@I;!Qrsf;Egfp}vE`M~NY+x8=7m8x?9b)xGN(WVF*Jnh##+HrC~Oj2t<@ZbauU#qk@4fF6Q7|w*_12zS0W^s+ufRCESnf z&PMmlD`92$Hs@0C8(MsjcC(!R(io0raQ`m%lEAQXTlStZW9n)`dNCkXoCr!E8cp35 z+M9q*wx2DPzp*5@D+B!Mg+xdP?%bn?djSb%vp!tV7m9bG$u89*aM@DprH4wCy3A%I z#=2@jTAV7@Le-4$J$SA_DR9mrO>s2&5oGOr_gzC3@052|Cm_cr#bEl*;{{%;U5+;m z=&~T~?#g4!J2V@%=*)&ntiocNWTB7(PbUa=v_xR=Ah_Ykv(wW9R?Yg+@B16S^J~BQ z&WC^N@ajPp4vrEB$J?7H7oY!vlM9!A+gE+Vm;JYYXdGR=aN%m~PR1A!l^b=&+mQkE zXeHxRR}V>_U8TEdYv*5s_N@W8_;JCf+|1olYKOT*RN8_I_j-?a!u z*`bea<7$B?X8ImY5J=6vL`)X_zpS${asA1UJ^!v}yzrH;xc;s;)@}<%Y&P=C>L8DB zxl!qg@^h#dA^$)o6O2Md72Ho5yLozW*F6_s{5jwBhyTdm`xpQ0;Oc#cN0;VVRn+d_ z=&)EZ0&WYlj#DXyZmwvrZ_bXC)~$p%3R}d5=RfnV&w411#~E0s726rxNqUSou{>Ywt&b?#X)kex+~D)+l*9|Q!W=8I4|lZ zQna&+O|8#cWNJ0t%}{erX8Blp;*%2jG;&mGA;JVu%c-BvI)#WO>M~oGtx^|iG%T{* zrh0u~o;VP0`I8~)6_8TlMCa_HZFD3PBnCr#ghV^dy|<+b606g^VNk@#lwQB~${t(1 zgM+582f`y)P_Q#p#%vmQ7_Lbb({`?ki>|&^OtYxRQw}jpm1}mEitew|JFZM7mPAn5 z&aC3}0RdPH_2_8}oGtof!iFTfklk9=I%g;2F(Yzzx^H=cn-82ad47QLu9pzz7G%7X z#Hfl{`>qlB%LL)3y5I_pj3pT8fta0}q&`9Mq*SkRR_O|D_-oemm0(vVRWO-l zkt~T~c|foPVd-mFNL0BN)g@1XsmRr>qqNm$J6Y7-z*;9I4elji!CGq>ke}c6O#t19 zzSO!t)H?4PM-rC)7bfWBsr?Ilx*0*tk~5gHrLtn)zDGBrIOz!lXBk^o>w^=u=LU5! zdj_IilS|cM$I$D^g74Oaa4P)gVQA+A&LCo_`)dUmr8eRFFBC2^*+NvGM>CD2k`x{8 zIiqnHbp1pb1Vid=!MJ21TRQ}Up^k?U;WCtU?}U=K7{NqFF~F%6VFdcFmQE#IxA{wyuKg)LbD5jzv}2wfN>iWe`P4R+elZ zCUQ*SIDn{hvu0Wq>23tIKlBp&2RbPun=9cO%0`AdlXW-2Y;nC26HJwRNE#UJh+!P- zm1hQ{N0f-49AmTzBBJljf*b*7&8k_|<~ z)3v}=S9DrOj~If~w^f_hm+UtLNZ4NJ7dEm~?r(=XN-N6_Upi+DBWND(K3>YKM)!pU);h%zlaWGuturew$ zGlvsPSwSjOus9LcK-(|*rF)=7yDg%d)^oLtGNP5GZZxCB>ufi#m&im*Qo)E3nK(Mm z4Y)gf%g_J+KJ&F-eDnHK+k@K7ZGZ=I?hDhfi!Po}0ToVlJ$TtI0lKqMx`NnjcXtjB z^Xdy<`z?Ryo4@y;{^;?AO9vM-BgEHbb6JKAj(J^ias|&#Zw*#;k(OgZ?q(EfPTlIf z#1D|z!jW1>H`;#Jbav%4TGbx6CAi3l%|O;X%*(r@PrT(9Ui^8ld)F`i)WK2QKDl*} z$QIpU^#{N%b48o*|0#l7MCi(r^OIqB3r%LID&^tgdOKH8ICI~N^GTo>g<^411{q=C zXjO_k9t_VY3Q}%QCRWizy?+YL+X5`&aO`+;<-(;?9K7V=FMrQ({>J?;`|PtVGs*>} zN$axI(n`ZynZ_7#I9TMt;W#?FaO-0q{EW|f`MdwmpB}iwvpX@t6m!KGUEi~l_@ts{ z?^M!v9g4<@R!7<2l2k<`lw?5}k1HDDR3aiUT2|JSvdvB;qQvAC9SNE@sxFA@+94Y| z9FfEV)0I3}lPLhGVc3*_ zI}3EgdIZR#Hn5)*8;B6yO!TK{$vZD)(=oz(US2S&6<^vz8FyHWJXCw6fjqi48Dk6| zO>KplAdn1QloocaPM4jODj+)Oy1k`Y7)8=@_d-W{x4ku+uXpXLLAg%Hf)ro&0!Wus zCv~e)Mn-TThR%A9WD!#?WvI3R{ZeMM@_BmS-7ad^V-hP$>_j^#MpQCt4X5wGsgv7H z%68#ol`qQz)x>Y_A1skcs?kMsKE@`Slti`5U>Bb{F#y+u7l7{Ksr2o8?E0SRjY4E3 z!v$c18W5@Qv;ZY7c#61l{ZT4tdESRCM3pS_Ct}qEeI}R`7Vj}sD6$7*z$z!ZFqdzf z)Go@A3%Qx+P>?AN8mvGnM`Kc~PPD?pP31|?rm4)-oci=-C0Z!uJ4sYjD8@N6zR0(PT>0awu)!VI01~32MPayBQ*a8N$!iqpR_cN1d9+^Ef>1Ttd@6oJb+qrl@;lhYp406HXp8fk64b>nYkK&~ ze%Jrmf;%E2xujSGz!<$c=#9~gGNrIuCF8=@0CbR!Zj6)f>s}WdZ?A0(#J0Av#ld|K zY_N&@o`3O~&x*V6iaT4^exV)Jc|kKcEkx{`Z!vK`R)DM)ns*zAvEAK#+kg3g|KJb* z>97Az z)R~+tJF6QG5>bhmGa`d|?cKle`Y-$9pZU>$Qsd<0`jZjI;4X5=21I*1aJZye(bC1~ zG24uhob7AuW#rYOy$IVAF(Nok5wJXXJA!2DQYt&KCc7IbCpf8w-{=>sR+{arfM`?I zACkTbDynL1vLu@~ms&ga z6JX{bfhx%5v;&QH-a4op)bIKYjgq_cVc#1~f}_b3Ah1_uHR$BB8nuu2&-Ol&=j4>| znXSP>!UT?py&{m=%>^t^S(zYA0 zZ720c`!|=s0QL)Z;G|Fl}xqf+_P_)M|vv0<4okRl6$VpF>FsVX=w&nTJ zr7-sO5E>$^5EGHb8ptAbw1Wm%za%Ep$?qs zK3)3}arE*URy^yvolHmvP8&mZrX~6zHLwT_PNGWqKExTzMK7&l6NN7EXneSnbY^6w z|4sB*56NGeDN>i)xCFt@^wQo)s6w~1_NXzg+cD+yH+_jg*}2M7c&iga|46!^=LFTC zQA#3$1g6szL^s*{Mn?^}c5dPZ5j9q;7pB@;^-e0J>KBJd@9t0qLJO+{>eJ;Cs{WpI zQUQ~$ZC$R2Npuw*4*@@2_NTY+^b$KMhdnjWIdingzPRvf5?O0T`O><)5q)YhzP z1EU(Ir`kPw5}YabXReT1FHw@_@M;M{&=CpZ{&&^!5LrfB4T%$UMF} zHnE$#&Svew*K`Y8LZFKv(IzYCMyt++c#`tLU20c)XjBD~CAo3ITF?-RRJD{;vmU5n zHXu1;b8vX!!nJq(>hJvO-}^KF_D3d9PM*Ggm=}OuM5@eDu&AxjuCU{%C{fX%k-_OX z27n|W!R2$JoNR$fvdh1`+gETek*b3$QI$DQp!n`IA8{}QK@ zSvzhrn7KRK9^ZX8E?oSa-~RjF{`Yhgrd@djVgn#ht$>gNnHeK$?q*dT z9%f>5`jPkimGAtYp7HEw&h67+aw=VCaaVz;LHpn;mhP@=Z@Pytt5?%30;^j2Y@{Hz zyT?${B%#R!johJ8td67lJ`}V}8r!20xo_sMqYpd!HvX{Iqo@6#ot-lW^=cLSYnNQM z7y^FuywHx|dkLI^c^UM$G*SDa1tSFj?U*~JQdJVjUP9~GRuEwh+`&ekqs{@kE{Orz zJU;-c8oxNb9wKBPK;P(UU`nen!UsW!Le8lKPZim@(k-CjwkOd;~dK!$#l@V@h@Ea*(?~TpwRkSV~qLv&aJ)1f@aFehOxCuQ^CG^0! zMPC}Q2TYmutCOnrI7G6FWmz{n_yxhr#RH*pMv?am@yfTGg;PM6=$loZzM-F&8<_?^ zv2sNZ54TThJ1~0J%KqX;VQ6v@tzbYp5UA)QlTu6WUdTm%M>H!W1oC`Tm&#I z*y2K%a;^pto%1p`86y`r=137>72b}rch=Q(+);l9Fs|43NQ$rs@-ZT zep+9+}z?vaECFq_BPf06;0Gme*2a};;5vDc0 zOElMRmAn&oyCX-Wh)#w)@X{WySI9MM24h_ut*GXY=t75HCP?9Kpvx3%sOBnE*srdK zFj})4Ce_2^@)9yDDxxR6JI_!EbY?rtL#`HmuOz1TSKWBsk!>Z0S3{8#>{gRpbX#;B zfxUmIS48u4m-q@OSN3Ud<~Iuw-(4{GNp;My3lYAab4ScM&kAv{+1$GM)Wu83Pk-QD zyC)yT?b~s*nV30eAT~M1jGHI7pY_ng@B5Xvyyy$R5(gJAU%Fp5QjNk(kv5zPo8M^0 ziw3&(OAfs{OggrX6&_n|AL=(TI_y7PTMT~?yr6)6Cu28)!n0GQ|!T`dgcXKbg? zX{&B)*0BN+D2)jlV}}U<$+MFi|N5W(y+8UF|Ki!(-#iYFW{$Zd2N$)&zM?sr28?PV z)OZRs-05_C43fdzo}I;o&CzGP=1={JKk?n)|GynR`%^fHCAJdm&VFp}6K(ldftd=j zCj01VVoXK*)x?DIt)e@QYFsM{GfsKtDWTEuMX3>#VCzJ5ln|z;OMq4mYa6tl@^^9y$Y`aR-2FbQbf&Ws z2APEnGM7!t>t#eT1Rt$B=r8DWqeloh>gg16Ai#=@im^R8yL|cnvvKKFU;Mk?@-sjA zj8}gy&Q9|H0btCfMUyU=p}~N97hf5j7!frRRq=`UzH1yE|EaJ2J$ZU^di!*9u*prv zPE#(1nD3PjnNw~i!;U!Y7?mEvwffb9?%&V0e_5x;M>VtFa8H4`=}Gzars=Qp$f9p^G4MvPq2 z4JJ~wqS_ObJ<)R56{B(trY8>3ZZl1fQ&87MMm0%FGp6n3LS|6sU3S#!`7~O#2AVBw zhatq8-?{#FO-Jal7R0^^WA;%X2mQn=K6boi`zM+lQNrhwY4>PWft>-Ru%gXHH&ryB zDGEyg4jCR`IXbs%vd;$)vB~uLGx!f>XQnG%t3y*S0jX|jxFsAA{LRRnVIJ^G|zdAeuaoE zjb^DqX^x3?%AJpNu|5SYOdHBKC>{emel25_rSI$jJd}VsT zJ>Y2h7*qm;0jFJs0&VkFcn`^^KxtzqGn{WQBXuTSavAsBJ@f~L1#PJfXY}P zOeC)c?e;hox+O$?x=Zlm57X<*?+AGTBr|hYGu!JK24j`yZ5<78b*va`e_$un?F#U| zIu(fipR%l|!p3B8I#r5A=vL`0ZjUbBJvJAg`QYb0{(*O1dGRYF4`QB)ILthVI-6h| zT)zIcU-^s&U;3Um{bcO!T)*{+!_5WNm!sN{P)Ic1&afa@UR{nSa$PawJdq%VJJ5Vq zoIKlq+7ela6r4i#c~Z-sBd67CAX;S536iYX-RQL{OGc&TdbPgK>X1bR1Y;mLio4B8 zZVzf6UA+J4)9roFc_HG`T@QZN_Rg&_4g^yZe!n0!s|&C!faYM7whVSTcLa9gb>>8F zFt>*X$J_1cwGV#a@~6HakL+IUNW~v>?J@;P>{IF5Z$R1yTSVtxHltdBq`_``1JP4X zyVDABE`?1MDsmIWLX9}u9Dd@>zwnAL`HDCH_z!Q-ZsX2vaOS~*=GA(b5xvUXV~v#V zi+&S%n;yR{J}g{puhiYAE*e>?A%)-nR#OeEA z6j%~fOa{WPT=y>&vD?Q{7@d8dyZ|2-)h4Tb*qMVVWjUn3`dRj>{Fg-(}iBMKY zNc(bV;LF}6l%Pn%NYh?c8B}<5PN(%E{pFQt+RFf|z2%C+-tr;_!2!vW(^v< zH7(MPS%rnQS=zzuJ0AMW&sSBI2)U=Avv=8uT9&c@umFObuKKYk{{yfXqcguUo9N@S z4+m{dHf)072U2Y+6J@xMfg`C23e`ni^(w>2L)JVl%+qGgw7<1 zjw)8Ub739;mQ-7p6$UyXARAcX7?|da4lSK9SpE;P?0e6(O3^q(YI_S1oe1~Yj|FA~YJ;NcS^SEiERM zy$nE?5UG^fLD{~Yz(sa1BuYN8d2KKZQpeA0*yQYUt z1tT+az=gYP!|d9gw!}m1sytXTBZr-(GL$Bo1#vpSulYV+EalX_t1#Pb5Rrz+hL=)M ztPGv)h!c^+zv40PSVts-0|iE@UaQ9BbTbnK)QgI==5;gsH1$=|?4n9@eF&~+|5>caaaKE= zKK0l;e(rg%eC>@7zIz-ZVyJ^?JI`heAa}fZ>A}x_-#g#_{8xQZZ7yBC`s}$q?Ms}9 zEMyTLI_1spbU)h)?fwaC5JEfY$}K~6XtcWxb}3tCEArLdLg~>pbY98H9)ctbNMv+n zKYBohGr9<^yU?($0i9*0&D|U)Cu+AP4(o7YjB#>y{oYHPU;fWOh8s`b{^;X54ol-v z6y@h2gChehpn60~bgovaItEE-%L~zJs1t99yW?1SqGbOaQun4{=(;c z$(O(7$A2WY+d4hrLDWIAfI(Ev*w1O;K2H&%gvXn#;G|oU)AvWpMLUkRm+klus|3(j zaBz77I}pHibbS)TGelvGOn;axLnF;ZKlSH18!dJG(|4u#5rV|!yRIOQUh>&r_?z#3 z*WC}j`u6TD&XoT#7-<5PA+7lYZ+eMT;{)n(-Sgt(O_Tnk7CZdg3(ZAN!&{Y+l)K~jFYC-y6XCcOQqDpJoSjsH({;At1lv`fqn7XdH_om~y>zZ16J`LCov~ zVxN-OL_s2}ba5w(z!VxZR%KJ}=GoRj!`4=UO-;jTS#L^}v`BO1g7hk)x;<7wS0_pt z+CF{O3av7N zm*z>bW%>*1qYc>v00h5D1oRI-^ACQ4p)y$Ec-BRHaf**?R9tlvhU9)9`;~W9$1b_$) z49Rdyo!RTP1=E3q5u+oLh!aEqY?ujRv5PM7z;CYccwJcOJjdyT>n@gFH5~)%8Dy+o z5<()xR4dDKd~Z^^mWbFXW~aQ3f0pH^1s>|@+AkYc3C45al!t#(Dh4of2)RUr8^RIY zBOcY-Bmx@vTIRRW9taiKFe*xqQ1&{`s7WH&vVPYxie(%BE3!lEh>T_b(N_+8wTnu6($cCf5NG`n4!* z_EGIlp4D0J@NB`7gic<*(U|k+Y`R zlFZ~;U>?NbS>AmAyPxxt=l#~tyde+j_O-`0Ij}jvoVJzFO?Xh?cWz|PQ{=blxh&AbTA|W!KuVqNNTHi^_`)9JR9MVC*)-M4gL{%07ue zG8t3)rL#J^ayd5_|H9w?fxrH3-+J{mU&`H1?tDbwH{H~0PZ8@JZB->yQv1llE|D@n~15qns&rUpNl3Nn}@eq_Q(K= zVG1HbQ!MpmqWb(h#&6B#uObZ^#CnO*M>1Ey=n)TX{>=cWN@Bock7xSB*+xI}!XRh! z^wPz9P7g1=^p#)q{`b7+-WNYK4`$uj=H`gp$x_q@$kcIeY6%E9^owPlvB75Ce(wjL z`{|e8_OoxekaN2`Au-6voWut9Aew+_`ab#z318E^ASxCgAAkyg1Y*yX3JFIS4i?B> zD*{R1XH;3^bj7eh$Wtk9HAtwfp9pnK_G;eSmhj8yyZRstfw-p5Zu(O zq`s)E0gp~@1Tw;8I$cP$OFpHa-o zIV|J9Ft)U_GEbDOJtgT=C#P7A=e*axq# z(+0C0TVj@qQK_^{C#r*gLjZI}t$P6UW^Kh~0?<6RlNJ}oH4aVdEaGH@TI|HCMg}zZ zzH=O+69S>pMdZpSYwCIFYI-M@hX1y^=v~DWOA#2M^RCQg^&ertNiJ9XQAI$F{=v|O z8^3{$9{NB%o%{zvI#&dOp07y^nF2U8`oKM&ZUt>`v^L)gPjYtRS0blmbXFot9~ljq zGipVG0O#_N${xhct_q}Hc4=yw0kl2Q#sp)2*Xt##5s{NFXo3h-6?+tf*4{%nO#)}A zqF_dl?g4UIOz&e$;Z_Ex;hp9CwR}1fsY%>A@u1KALi%woN!Qy(Li3;Gb;~SVxabq2 zHZ*sx$1h|6BU(5YftcWk$c&9(j&gL*`Ga;+T7l|vUPrI&#g9O<5CBzLazVwsnn*}i z1$y?IgwoPu(keQrpMfRYsR@)t_VzW9k5-MVhitH6h%4E~5e7OWBFwvx!5G;&9CWv1 zbR6szo<{QP`ko9Ig%qLMO9p_co50(dDpgCMIECNXgNHV5jz=QS>JBPSZ$AC9Pk+I; z{*^!f)Q3L8Jlf96F~*441V$caT$tQ!;+_{j__4RV?bBcRMY}k-eDNw0n+%XSD+;yK zRI}*(-U7Y`4-!7XhCx%onht1q=ZSL>i?umNvjjBa10a}XEMa6pFoMj8vF3*Q$k~Tc zK2xqD+SVJQn04wqkiy9V*#H>3LRB8b+1agm^7MEA=|A>0f9g+P|KJCYkB>6})}-?w zBO^G|4d0q*!9+N5-7A_ATXicC6?02;lO-|qGo3FvWf^VAO|mAGX{1R`wwZb?mZhg2 zJ)z@;z926Nj2J*9Di}$P)f|jqY(_D2GbRd~5udno^S$r*+CTY+-}c7;wAo52DAIG+uMbuk6bD$2(bU2;p?R|0zS~PK*PD z`Fr>v3{I3~PF)17BbLI39oT|Z85$tWEO6vmom{;9%s4!L>8rlz{qKACGhg-UEw*(w zF%GQmDi&%20%uClHDG`UMhww9&F}NMruFa;7e7OMhU2X5{uWW;n$wn=urZ6%elZS5$0+Q zcZjwjARK~KW37}cU(hwU2ntP+gFTevZ!yB{@gAcKv@{VDU5&C2*C!=%18Fz(M;=KT zCOShSm0P>fQv-Bdfht|6I%_uWvJ8Z=>MTn7HCx%`)AW2fWk}$(cHPHK*{$jhWX+jq zH=;PNFVIYON+{P3sr``eW0GK@`+JDav4}-pBqJ6ZzY-E4$V^|B1LZ9N21ew_80kw$ zEaqvTD}8s7bGLv=8Sa3D@*jlUes*Y70uAG zUg--QlcB5%G9k4*7i6lSV9Gh4s5n#MsTe@qx$!6reYrwt0YE8T0~tf$Gh%3~U_FqZ z!K|r|A)@~_D)twGhxA|J=?iDW$lE*UU!jyC%EK@{m*^a0lYT~7 zDdLl}AQiUKN&j*XGGCA|Jl95PoQu6X7$xRn(T(BUTRonO_;EUcjs%?NDnf8!K=4|A zXHAv!dJ;ndl@@p^RF@K{g-q!rFx-!5N?9H@Q`Z9e4!V`d!#g5noj5s0A%?T|vaNNB ztFI8=Z7zQiZ6OV-zN>?}Q|Xz6=kcVQN{`-j7&4^>Q4@OuF{cQ@5gX za_Hz7aUg;gdNryMW0$dKNlN?GGBQK*K4qOV2hFdTQf9zpmx~qHmnG~-n?7toWwTo7 zC}Ccm>-p`YR7ya3o{6Wp$_$&b(A7`mR%ofwOV>Q49~ktkAO<&}Xq}R9EcU1xR|NfFTPgWN@?H-nnq){_DGW|1&=8;Q0RIm%Jcv z++YwKNZ-K65t}hK$CsY?m7jU_7kuHb{@A}dJG-^Lb^YKdh{Kq>*%@**TSE&=!wHBW zA$uk;+fn(D8=2eAx}fiD(0`?vr61NT5T63{EY?torp^HkrF!9;;b{=uUz6EH7@Sdf zs$kP^>=%)c&?~z(&dUwaY*hDm4u%um}(_a}26JZ7<)Xu2T3w&B~FS zXJ;3#K6A$A;m`Y>zws+?y8m^ry>;v6VU2K)HT@hs7imKSFZbMcu$UVm(%9tnH~s8i z{u|%@zx=sB{nRHubn(Ik&S^zOdvNi|rsNXQlq3SnV)PHW8sAr}icm})5QXRZKm>fP zJlfjzx00Rvl)Avq-avmO)F`khROfRU_Iys~e0IZbgI`; zuiG?1}*ZJ@q{zrYLa{u(ubI+HrlE%0l?J^qsWy_oT)E3-ip;5;oP_#gPGNF!Q zrN({rITGL8;I%Cqj%f1GF()$R))cDg%vcYZ3#%m|^iX`Uo(3+!*1u#aN;V<3%Nv$};sx zaEjue4hc%z;rK}QVOcIL7hv7v0f4|j3mS51EkfYVWf!4vEyDuOMuoQAPJcQxU0=_VqI|-t`v!AA3H> z0{h*zN!bGY$R1})SmFl~k@i6bSah4vs@wU*hE<9s%|PvAtFfpp zs4-kb3r--!)z8X4(B6OTz`8ZeZgp>x@P|fE1crN87yA#rXz!!`J4p6?g#H$w*)gmH zV1=c&mFVEu@sbY23=zQCoz=K}`JSKn`Ct0-FZ*2=?tS5S;A++GFb~vFT=4a+6FAr$ zKK1rDzw-58@N56^pHG}^Z{3It?)r)aXL#irj-{n?6~WF#lK`K+zCkf%*=)+)Ebru1MpGSN2%oK+ed(PV1tJKnLd-n|XV8?LEKz13&op|Hyy$ zwcC$>BrhJNso6$>aLv$L7s@?dcnVM4Zcl}M%NII=+EVuhuawB^(bwU~RW0>lNNz?O z2#i>`T&Y*2KgQ?Vh#}Vcl*2xWh-7NKLI87&?e^@-<@>gA^ukwu{)c|+eb0L7Yi{4Z zmE6sPP-%FJ8iw3qyp-X(D-(U)JR&vb`og_;Kk-XH|Jk4a`ZxX9zc@X6I?i@#5U^~+ z%jCiSs4guvw;Jab9j3Zgj$}iRE&@fKL$T_hU5U57c<7i?s>{xV0P|DxlQA^`wTRsqMTY%6+a_*pkJ>n7jh&Ub8>t^SM(f12jbji32;|y5F8rF1u7)2c(K?d2k~>!amC1B z#L(pHX!Bnohx;yd^Rl_{f>_&5`W2S#qt-q;(VH-%jX+kQZT-%D}&N^7xNw#;>-WPI6iH@Kp_ia@MUz$1Ao?HNJ z*=|Q8`%e`S%#c(evNUW{shys%JbWv-S}gX?L}xK&b+$h%`3$Bz8njfsm&38p;Wp6x z9f^qY<#K&0l{-eKb?soo>twf5@cssS=*z--?1R+)CC;T)?8sH!sA%`>e6#kCZE~<$ zbJffhus;(0N3k-)wrIdp4^jn?Mhe|Sq1*^j?n`Lv=s4HxaQ|@wCW4yW<0i{dV)kBVl4Dnom#o<(Hq~$$F|pTC{2HK(_dswMj$kd z#ywJdKTEsgRg1D8u?oq!!rn)9L{EwE0j$74%ovA<$M?SPk&nFa1+TsPQ$OSE-irs@ z9U=tDvp0{8vG#O^jVwakZ6q;=S;9b5v|(IR!$l;eVe+%FDDYrZL~yP)O8r}C;3UN% z1tQcKrq+`Mv%!Iw>{fg-!CfE&RkdO6#=++7wC=q9r~kn}{a4@c`+xWCCqBBluwj6e zi~#2{Jwf)y3RcfGA+d7NeUY-`p!c%aZ8Z9gE*X2My{=wpSCGxOF4v)D#-cpXFs0p! zedQ|h$y>G?GeBg(N%-7w>~hvAF5i9s*#^&f=nFsbn;*FEvtMy?vI9)QZ3HAUYB%@f zy<(f8xD6qa#hR?+!=tlXXE)#Z3y(bdfd}q=;MVmIM_xqja+9doL{9I%Bb01ZZiX<~ z9(yi=fov6XboxuIg7X673Hcu{R~l^F^0W2gNN^T<0Hu<%AbK3`dcFl0-T^l3;$8DlK(6B@rG{4R(S=>(u@CZ*{L2@9?c#3a$YNT|fIPowP0*~_G~ zky2BAQrfoIB)01etb>Eb8K7zYJxE``*L7)E28AJ5x$i6?o5j^>WH)vx*$%kDj+g-_ znb8Nbld0TCcX)cDMjeT|=-}J$N}y9G(Ht5Ms74;U7(^onjZD&d?hU`;E}U*a$H(U- zot5lqp+ZT2b`B?Np16lMI$vwaNp>RFNMpfw<&C-bC`IIeJu|~ak7d$pBRll?y~ycH zHq6Sa8*5nwG%X91a*J>+r7^7k*#6xH6A`JCS{)G_E8s54Mu9yGro5|@W%SwHa3U6u zJch*xbk)jcT%uGF8VTcbAY(RKLc58;@b9q$8Cbf;T87yBOfb+Zo>&MxI;8HiOa*j} zX;iw`^8z!n?^=-VLT<7zB(BWRh49g>RS|&}G5fQ%wL}kDm0Rx6%l-t!(1GZH;)A`) zt>K-}Li*iRn3uv^zZB4Q3k9_nBv$TVVgM^U2Aa&Q)iSBKm*zLT>9JU{p0n3z${(uT zPZoFEi34JsJ@wc#@49;7p367h{|+K`ZQd?=_}nb!$YMp^{jyiS=?(wsbH4n)+2Z)> z1J5OMS5&31EP7WnN!T+;Zx(^(IIQCLI$G{4uT6?L#vbrTm><$AcwGTtN`yLmi5pAh zPNKT+9SC?DnDP+$el1>eu0S-`M5WoDHbC?3t&{G$>)D()uRrk_&;HaO`r*I*^n2fa z^~&Yb)03K0KFR9hWqJ&dD_7cPz z@ZbEdn;-w! z=F;&l0=q!glF}}}(0MS}SI~55O&jobCb$zwFiJ3T z#W?I+8n%U{zx~r^-T%xR*Pc4wTsgov z7@Oc`jE(qCN_C-xN-iIb;5=emK`JCeDXfMnjY*W#RWR)FE2}Pg9>E)zMWdQU{t%usY_?T0532vSaR$t0xEn)!hU}>O zGeHX`9dK=R(IYQll-S@NjT|NXCkmK;JxNqzRY4LlT>TXmQn>axH*954${(VC&)uv7 z3?n1ROclu3bKSC+iJFyw>XFx-9cYbxwUI4I!umtp*{> z-7HX|=f`R#GEQ)}-SEgJmM^yvcT4*nDeC3jqU!;uh^V-I&!)np_LjsL&G4YWS7awNeDr!uDK&`yG_}+Ix$juqI&f(;5Tnd9(dxO-^b9%6TIfW6>}x zA~07xDR9Vrgq6Y3b^PZ3jej+A#PdqgoP|gMY0N~_*p|%n(d-SE7qCjjgH0l0_@0Dj zadLGxS5tggPKqqRas+Xqy(TL|4x7mSqVwc`(%a(S_RkW4dIa^>vPo9O`XysG}?3_H-Q%RvE_8+~QU_n7vvCEX(NpxZ#3H zdr*>Qe+eG zpaPiDL7dwkvVtkTxP2PhutPjBmPC@3ATw&_Kx}b(`NG{exOms|Uv>Sou6)V^v8$Qm zAW^#_lA}h%+|9~7;JEg|58~;^zvZv|`S1O!-*Iy1=5~AMC}UC;Ks8huUuv!8dsbGB z5W^o<#Zf2YoGqQ3Q;zfH9ToNo4CM?Nlw#6FX2b|gg1)wx5h+b>xd_MxG-6oSocUF$ zw3UR%Z3;)Qb6Dgy6T0 zxU)-hnhm}D=AD0gi(N+PVCC0Q4%&y>p0^LTZJ6=gp-~Us`sHdIVf${i@KJWBSlUAZ3{sZ`deX}JH1xPUuu*|h=$gn- zV~`uh_QY&U-qgpYj^K`u&8_-WuE#QP6b<2Ii;+o3(x3+inWQoi9z%Q%icAa#tk(Cj zl@S4RpXakdsSm&fHHc<{SJW|y}kZ7LO zYqWAt;jvc1D~DGJQ=xzfjn`NwqC6iLYrIU`iygL*1x3?qd8?&+>ugo&Q@bkG#Tdn< zRY}VMKdj!vc2b5n*?>k(dHbN|qoe<*8Y=8TA04Lx-5Z!1NuFt71A`sw&P#fCErJ^0 z*s~wFGRg%p9NNX!=9;P%9Sh|25*`XFx>W_C6h&f&%?P%arH2_}Utt1$t%?l*9KqsH zuqWwOmj;|p&rNw)JhYq{YJIN$h)e%twMY7>NntnI0H{*G(qf==H>?t0Ff?aDXQJ!r zeXv2U{y_HewC9)_c%X&RLy6uM-Zs^4wUv>AqpoTpK!!0S{*srs#BVT^`n}HZ0y!i$CJkiqObSX%K8KqyMfdn3d&3C>B95xtKDX2%|J9F z5Hn(mN4F4%taGI;Y^fsLJ}8R{N5*KI=%s?Ks^g<*wJf#+P^!lc(Mk`XLzfX5T@dQD z!rstlp;eD5d@Md8ks~|E#qyqOei1sLG}WXnADHbMJ1Hv$```Ko zJn>r@h{FwlS*51PoTw_~*hJPiyZro5yZGXle&7G|d;Z-2{MV0?Z$H9f;WP#1&)*c52yPX=N z8AC*>awwP@rl!(3*EyZeYMLLaYE%$~^1Q8OJ8;Q`j)#`^$vlG$q5o*ceUSkHrg7%j zab}Lq*~!_v-t;{`{Ez9??n*G?OFUi5X=3Ef+#+WhX|h zEfw;ycd&ziW#7pfD&Bc1Wh;Rm71XY~&s8k8XCHqA!YvS;Vf26QZ)r+E#lP+8?ykF^ zHF)sM&w9<{Pu+OnMK8Fq+g{onR;J);44Y#HQKp~lsdO6=5kTf(NWT|{ad3LN!`Y2D z{M#P@x7V*ded)qQU>uDj?Q*GvW8@NC016%ZlqCqNxOx*bkmE{tbf}suvOA_K`@u8+nvC9SyXFcms8!ZnKL_#$n`fAvHZ0?9@*B;GYxJ1|SADGh_e_>i;H!{r7 z_;zp^jy|Ze-KJx_{{a!0h`~&DKIp6@b(37zBv^{hT>EbFR`=P4XD{a%0i+pcHBJzP zg`p5sVYPwliUUE$#B#hIHpfmotJk1?u@UL43fDbUe88gje6H3l<6`L9-5P9w!bIus zQ$;PTVgjwgZdXC6RHpS$jh7>`l?DhU7@=$>6Nn^&(??muRJ~dKRC4aR%$X2=S}?6s zY9Bjyj!%X!C(?ZiL{%et7iOZwoU?P1WtUl=PuTob$3P&c31k*urSEjp*;IK>E;)4Z zlrv%7jX3H57`YqO>q@WiycKrE&;P4Zg9&8ndN$#=(V}?(-DBL&*!>|KP{I_*E&*bs z-MlNN;gN_&ETiAII-PJx4VT;_*4<|8U2Rj9^dvJ!M%O=;rFarbO$T=Y%&#=52C58{UKq|;oI{2;P}-AoSe*chso39!;&od|mv)Fi1icUG8Mqps#%!*;ce{%R zoEk0~iNS5{jt?*HZeG7{%rE%8zyI1>-aM;f(i+gJLd=OlOfq(nHI9xCkDvMc@A+%r z`6vF;UpY9u=jiZ~rivvw`w;dp02*m_iWkfIPT1e1H_o(8=Lw>dbZeD!DZn0;zIj%zuMcz&>JzxR>#@N=D$r$6#t*1WyS9419e{}ScKg8!9ZqB5nlr|RcXl`4@ut82{onVkf8h7sI{o;VXSoSf^|%SSuPFM{ zqKPQg@tyBWUdnKZUuO_W>SC$rL*V&xFsb7xU@lHZQ_YDHJ)4m$b=KN;os-RxmX}nN zBint+J6HdaPDN-|R1$f%J-z&l2X=+~U->zo_}HV*c*VmvYI^~-tr-!}EcW8m)}@jz zv_dwtHfEjYE>WBX)~@Q#TYviZ{INg!qECDN&8MC?*c@!P#mU`HYixb=;)aPnm6X%!D<}FmVPT#%Lr;3C6Q8Pg?{F zNO1aOr(5$GrgKa_HNn-WxzMbxBfdn9EP>1H%(@H**h?EwB-4LP==#erOQ+TBjSj); zR9bL*+N|44G|LxI3t|()kqvmVfmZY30Yna~Vj7DxUO~PC@riL@ zbXdoTbyMRq#n90QfdMmc5xL*6hIbjmn$OlU$?7VK!AMUPV5YuO4mFy-5e!CPB)a;A z#ny#s4klcNb>XFJ=qZZ!~z~Hx+>wG zM8NQ@R$D|aIw@U?4B>|6t{oReK&S#AnccHo9+k!Rsr$x$C8SnYItDA?^!gdqEXv#U zaInt<8?KqIPF=$s9)i?l*HYmWD>ahU6PlDc1Y-j3Su-qTvp!~qLQx$4)=s?P&=(%q z>_NW$Xtlr7uHlw@475vbgKZ#cCR8Y_1qU4<6h)N^5t+g1E@HG%Xx6>CnaILkybmJX zXNB%0ZlF?ag05@|D|FvZd=y&ZaK2j2J38Con;a zhYm)@cF(`8@~U0|5lye*q+?nY{nKbI0HGmZi`7xwgeFwno$akV6YFjK)s*1 zEtLuo{%6ygEa-+L16y=j0QgFswV>^?&#!MpP(6G=%LpOhu>zvpUiaM~=9~;-M~I^}dTQe)YkH1D+)}+ld%8+&k9N)fH0w(Y5yyeSASKaYvy02<=Kc zDO%1oLtxCqFV~UmaY3q^_g@825t|J-ogEi3%wq3$H3m1keCl1l@HcjU=RNu8<99#!;C7w` zDmA9d{wyU}BTCI2ZIbr;5ID_5)^5g#-8?wB{f-ZO^Pl>IfA@d=OS{wCXJ>aZ5Blmj zr(-plL$f1bIckg1_5;|P2X-$W`w-KCsv)j((&AxSk|bDxcM zbzsd4a(O{$DqQT5_D=&9%9mKNDlwKUiU^N2ATwPR>w9D&?tjS}b)Y{vsM*&y2tZ&^ zun-YoGOI7`G%Q_GoLHHugPQ$u*b{r;KsY38qSFAUwv+DPBhDYEwRWN#n9Lc-jG9wU z1;ZbhY6e$7k2tvol}_^-E~Jv3UiRK4B9qh4U zB^{U*Dh%|!b`s8-)lw4f>V<{}P~fRk1MCB-NdxntE7H!k3&B;5B) z^asg*w4{j(=L9M+Rd;1a?v5FKJ63tJkblQa5oWl}*l%Len4wEA1JMy3bdS6Zv}XAg znm|7n1BU$fm3uBhg(GhQB$X(y$pyn1%{OR6mWS zXrWvB+{&LO?Wq}u5g@9Z6sigrR>s28EVn)R|J(1H>$KrCqVY;VLuG6=19nIPt7jBAfSlGy$6Kl;1y z_;*w4e z0S&H<5nMs~V zz|-&j)$jTH-~T^+!#Cc!^;pG@>T2n64@gE2Mba1odj(EfL7xI}3ILtb(~g9JP;X-2 zHwjua8tql}z++KXGI$xezZ)iabYik=dl=~ofj=8=O>ecC*!p0HHBzmUhqXD_&a*3* z?ybP3XMgsSk3VwXLoYttooostM#EEuh$>ywP^SI+!MdwK%uLPA>2{Oj&Nk*_Pvg!L zfA@d=%V($9?oP)TRV7VGN8X5xY66KOO0j#r`)0IsWt#xK%~EMR<~j``Uf%hyi)eh(z2ty%WMU>R=bFTr@J{q!;%G$ zrIT!`u*}_=q-_xlV%nu=B&fRx!cb4qUC<*;#tw?L6OK#dmfmoaf z0jT+>7PF^Qvg#Y?fI{;G+Ug*YVXa1}Rw)I&Uylet7h;m6^%zRHD$5HQde%isjBxJa z9Ca14*e*ywts;mqK-K(afib1Y#iB#Pxv_k^EImj?bA>>?LH3XxE&@ zD?cndZnEH!w4J=!z?>Edy~QF7+J9&&U+odH5Oaql5~yw~>U}o+=~;fhjDn0KTQ~>};jf6%b2s%BJ#8SdXWB@#P(bt!-LcWAx(U>DDa6h( z_N;j{@=nUJe>49gTiWO^g^>kJ31u}pf5XUTTmEpTG$CR zy1F8q(LVRwCpLPED)?T!CNTE@qE%3n40~a~bt>B3gkvgD@MN?OrrsoUy60&>ludZB zdh-WM7rTGh1tauGDou7(J=&~5YIFnDk8%D5(Lg7mt6TPa0wPAYku;bhmE03!N?tFY_2}*`+n#j{h2@c7cPFrLmX!rha+5>N*1FK8JcdoD~`?Xgty=S z^WX5T-|_dp`>(~>)2F+Wz+uF026Kvg%fL?c487F3ce5ZE)8T@Bx#036LIqY6cq(C4 zFF^E!HLtK|bNBi?`E(0_%O1U}YerE24dwMEH3VUgvRodh=?OBSDopNWHwWK9R72gaJcsA z5|`;z@xd{a(CBm$5p%maJmBr!(;xV?zxZ9>^_}1LEhjfVUUfRgF?VM;7+ru|G?!)y zo%0C`5ZT2;M?jQ_2b?#2iY^RvW1){wZy-(ZH3w%3yAJ@`>~(yc8R_r!FH7v{#4p;l zvY8PQF-BEoGHPtL^X$seU3GZjQ(yktM?Uhz-7k7*dwROTj*fm^IqV}`%MBB~Vf$1q z75+zN%-C+Ozw=%1`QRH~aQ}1b>aaMH65KvZ}w$XrjP3MflYqUBJ9lIAcPpoIy zPuLc5s`oxOs+dhcL0Ca2FxG{Y29Ps64$>wHUuS8OGje|_%;oB}vqi+V1U*`{2lC&P zS%%jAjb|QdPtJZdS^tGMO{&J+Y>=w z?=5UMJ+-NWmzx|l=|UOrY$I(Lk^TB`MT+9HLrV?E>j5c*y&x&pS$Oz5IIlu7`HVhPta~0wo zT)OVxh#%PV=UosFSSF|15IWz-5R}&^GMWf6WC1ahL!;x!O5A#{lqrdb(oI06^muPL zRf~gj>rhK?Lx;(~zpg7nM&~D0!(Vsb1NYv3>?6mU!x*!i7m2VPLAc{86E(*n?t1WbKlpdQ_nW@`+v~#J$9cS) zC&*laSY7360I6LM%6^1gN>wBoOgB6b5uSS!e)7&CbjOq%cVMebpY;%X*V1?My`8uU zxy$x-GdtbXfzBf${bjw1aBa|-FQm-R$Pr_6u$uv#+k%t*0nAll~ zZv%=Itr84zj1`Xfsws7JbNyq#QsrJfx)n4kDT%*aZsU6&d=jTVp$D|Tg`2281B4MpNabfO&kG;4Hz{J z&Q5P#xp2?!@c7veJ^aYq-gDQBUW(J(2VmuftE_@mi|;YNY#28>_fQ!_3i%i@aT&+g zfBg-A?9YA63!nYM?b)^MX2w>WWb}|+`kFm|lh1F<6_BZJrS2(2gk~Z4OcJGjODVF* zHKNO^!bZ$ACDV)LwQ6)(G*!;&&|3z2M9-J-A99_y{twg987-p_6@hTqi`OcV8HvD9 zHeyt0HUeam(^4`}yg^F0OUo#_39yvEBQ@R;(Y%>h?yiMG*6ZcdtF3yIWNRAhNuO_Y zEJReexsPrbh}oQ}J-eaX{w9w=qZ4$bE>EH^03*APH&=x^wqFLy$g?OdVP{hG8 zx>mBkw}eU=+};#E3I0Qb2O9@;q|oP8r@xaBdJubmuZoa!uQ*V_wB3ke00$U%u0Q5f zMcY>`6pc>1LfXw}VT@l>u$2~3M0eq;;*$=9rg1uZZdF}Vn>tGkli-NXM$E+MZ$yO4L31rb|9_mT9H0|Df2rLl`dtn8BKp(qGKG#bv23MR zkpMHYIL)un>z^x(0~lNo%auNxEL;xn2hg6Li)OUMUghNM7i%6G0hn^#v)&Nk&LxOq zPa0n1!>~$zLBE$T6+?Oyy+A}})P!~6t^DzV&^4)E+7uG+5pJF=*EdA6`?OmHC1qXE z2QNkwX1Zd;G@4+SYJ};L!0mkib7}}<#ijt;n>Um(jf(;-k5pBAu}tCWw)BmnLfC$z zZQF;tVGyzxY+Z<9FgyAG&(~1#XFCC|U*AV7a;5W{x>G!MWKSJ^jvK`h#Ep4gci( zzh`^r`swM-%@~Ckx|TghPqGsEyy|K}mhZo;wF|~~WmT{(K*5>5)@<25YR&jr{J*Ox zISrzNJeQ%ia3F8j3c#tmJ%FpS7&jAyU;SS--N{e$K&~j!eBp(dgOPOkmay zILO`U>6N?h+vbJmz4G%PdE0M1`}4l^`mJk2W$cbdMf;Qe=e2`thAhwqSzvM&Hsk2< z&PN|Td+b9W{@6R8aph=taw|87fi1Z%xa*^@q50v1EMQl?CP=RX;6o^ zXl_hdu5t^FzeS_aUgDvQB+PY`d;F`L8~0z@wur@6LJei5mT|picoFp^DtOur)B>mi zqkYFD8um20GSXxarO~%06VjCygMNn1AeN6n!`v>qb%14Y&HHDtt-KnsG$OU>`@t5z zXg0aoZX!mmJ}V=F9zfVRx50v7$1ZXbxkY}_1ypo2Xj8DqOt z#j;tNWFTb`}*Pi-LxSl$Q)5_ zkH^GH|H4qLm!H%SVB4;JmnY&((;3m>(a~9pDp<)L@#17$SFeUkE3;=XAbQ-VsfZ@C+ZSS)l5B96E0?fL&z5MQ(>)w%=Bz#mlq+yqOv(bf zn}dtdlZLRrHf_9JJQIZ=CS|o2wYOm>i2GWRBT-LblDj}7PV<^h-}NyW9>AJNU;T(M zZ3|Mj5tIUafH6Xt&z2ve4?S@wLbKBmF-8~f&?Gc{mW_TC&RjrkTEhi&c|4Ci0-HM3 zz?gOd+Nfq<=~wRhpUrboV*s-{kclJm<$QLKQ;B`(#)IBq*OwWN2Ufa<+;}s?(Q&$= zqj|%y?xf>V+fN2|(}(dTkR4jefUnVFhj+6c&V5a@h-eXVgq^9klJ+qnS<>wfT`{SdA_g53tikW@D&XG7*08HbF6aTFWG%o3B z{JL8o{*}X%vt1m{3tjF|P!GhqL04$R11e*mg0KN>^ma-W=LPHA%oGq564injKo->+ zz)u>8W^j`LI0?*I1!7)|iznBvoxJ1c|K-2`ci;4NzyIcq$G2w|Eu=ozX>0VF>fA(x zotbBM6?#Xt8wKRR^7$dTR_Z=RxrwN7*Vjth&^svarv?m>k8-~bDbaqIMnBDMI^wH5 zptg%PvFPj>Bz7cXAz1a86!vRZe2fp?6-dYO+WrA_uYMR^V;V42;AjduT&i)!KBGh{Z%CQ_qEyZ zSH`qA^TIjw4^^bvS17ucKf!|mtw``a(KaOnINdrGj=ibMeRF1QMkUX)Kb@uAy_1f-0U(A~1buSVy5q1L4Y(le-GNQD0t)=Z>7;^bj!~Q2iahdXFD|L zXFMT8*@fW7LXC1G4a#ILapp6_7_Gf-l^*h8m(h{H;y$s zx6XCMLLxLCrm)6h!R4}D@nK?0wzGrJQA4UYf$8~m1b6SY8=bkRr$gwEv(q^09IE; zC2iV1fcB)Z!nSaK%P2^A0+-B$%yY-L8dB?&%&MBzO(YRuWR!4&PC=)9Wd8twk^>aA z)h#Y`W~B;3d-Zc8LK+Q1dAWJg%2kShh)=C;vRQM~Y&#%A7gWmg_l+OolCf@56ECJ> zxnp3D?^FHURZn$bxQPn7oVD+92GK^?nU$|N)n$>H$QUftoJzDK9A0FBV-LslsrcR1q8%lXCnsDc}AiZw9<+p``suLhZuTq2p<{nJJo@ zYig$hxwz<5)8$>C691v^f-}%ecu+$RG>7rM7P|;!b?yNU~wJ&B_c# zgykjf00961NklivXN73b%X?i5#$^K`n_0iDyjZ~*hJ3AF?oD^bnS_c zZ{PcC|L!M#{P%t3m*0BoV-Yb9)$R;)E2BY;+a!U=H4eol8R=auEk%c1`Dw+i-ZEWF z9A-J1F2J4$!17{3ydHF6nYTATfHiXxfXk27d)Bl=MV|rJ$2(ET0#8p*?z#5?=Fu}B zdff*<@V;j}^y*u8ZXC=RLkvARr&F-lM` z1Y8h=O+hjpR zW}q0Y&e5q*O(D51ffa?iA{v=`C|wrO1l&5KIv1p>Dy%YIZEW5`2m%=Jpkjq1Kd+y* z6N{SCGU?NcGIE-ZtGy15tG&648cQnR39rJ<7Q~8Zh5B#zv{3*WL|t>1`?8&>YlE`E zpeq;Vt^!nIP>O|>so-j@3Q`bx#YdH(Vkhfg~+fdAo=%z1(2D8h=#izTttVWD; z3Te{$XEeYDQh>~PCZW0U`}{cDwnHcg)jhoSa-n-9THNOZs~2CD9#-b^hADZ@fQvauVCU}TeotGY3nsqxRwg2;jBZ1dUy=3tutdO@#+w2TMqws> zL3j{rUXqjLwweVc?bq8Kt7;){rVk8N3Vo>@l#ok@=L(FTg?6>7)r83m;rfiG2?~Mo zm7OcnD6!h7mv#|4gAH7>B`#&5ANQ45AA4nhLc>-y=_s&ww>`DiTwK=@j4F$8i&CE& zGQjBqoYtjS8SRtxRz$Feyz6kRnp!gz(Fjh9v{%uHw+ewz8Uc7=q91!9NNsa2iN(1! zTSlfg$v(RKS#!2Zzj#m&qSKJBux3|5)N~!8zUsl+F^3Z;GZGw`nt>8d030T@fUsr7UvR;UcYY2X_gIX6PlYQlHG3nuh|YGV!S(q!d^-eHR&~mOHsf+uTTg8^2R^cPGOo9DrczvSITuvZ75At{pWGYVxqs5; zsWhMatkM=9j*V7dM*Cd{U?@8k4hb2#>6CygnL2&lq$6C~@us;f%*ex<+lmWEmvD6P zAN-qt^Ns)Aw>|UWhwt3HuBsMXVK8T_O_HfO7-W>kIQHQ~H;=hS&E}ZAvpS&_NRyiV zo3W@?E^#C>Nf0r&rxz|?xc-qRcaOaL$NtNY|Bm1Gy4!cI$K2|U#W{jCBXS@oW-M1u zZ$T;`d*9og!;_HPAoZ4V8+%V_7ipA8^9>Nl#Odkw@?H1GIDFPC{;S7-^8@!j{5iMo+&JdICSo_~;fmUT(AcaF9jnX; z2cO(mH76?~4i67M@virN%DtC<>wRzH>DlS+>)0G*?Ig9yrVIk%c5=B8!2V14njDeN z+2v{7x5zaoZIX#moZ0k^vJ4r?1U zdO=tw9UR~{wgN#c!8tie`?r;JkaXw0D;Nf~4h`hGn|#sT80nMk=}oS5`H*83vKK+3 z%*LnM_NW4Q`zqsM!*_>Gt<4g831Mg=OCaR&Sl)(lWr!jZkd9_w1mqk>hk zsz6jDu)TBEt~Ac?bH)bUUiE!cjR>U+j?dBiAdW$aq?%cTxar4|oh&G^z7-DdSq<0{ ztjU#2>9QR?>z(V5dUHGf68@~7HQzlm%tHnXCjG8Crp$+y#z<9ug0j>czE??fj&m9)n35I*0JZ?*mTo6II&_%@8sg} zk-9bP1#laL#d@Aufcx7WH6+colKA}f?z+7|&r`m2IvQ40 zFd{%>K9!i z)DCxLd!-)s(KMq~yyvAa-JYBfaS&06iN065 zy@oh!VViTo$Va^biCxr~Vx>-Yc@oz@{OkYbKm7CG{iR=W>-rO$+)#GaFU#d_7g-EY z348@Lu)snE560@l>wu_#bflvLI>=U3n>GTV7`c)_Ij)kL7!6t0vqDgFLpmGx3~E4shA)vxWtnzU#%vyK4hlK$RL2lpG_+T2!vdSXszBkYMgFb|{h zzq6Q(m>znSpX4n&FEEg5;b5n8NS7mOF-<)8Bdmr3ww97I$Trzn4{fYom_@Ja!`g%Q z3ND1&&E{C3E)cAe0$w3eIYaM=UM)N;jfEWT%3|SmbSE#*^I4sC$le{f`-PqGG?e$A zoFkB$?kipV0w;Zmm~K|>0e#LGO`@P7hyEPV;L7+rJXR4cvRx@XbmfO{DfMh5PZb23 zxEWp6HY?((`aac-b`1R2tn3aGK=$;5MFdj?~kcM8%QbtghI_|5~$ zcPfxzu!^I*Q&lZ%Z_ymTzNXf>VhqcTqSw{oInZJs2Nd}bCnRlrY~s2BQ+YHb`)%~{ z?uzOYeBL)HU+s9St@KxNpNr6BKLS`VO}<{ordoECD{I8cQH(!RdWIbmEOe<9t`YL$Lv5EGgF6RZ=UQ3Gdj53?jGBBFolr`y?f$%FdiZm|hVJ6z(YHN|xHyume}89|knb-*=L^FKM*rW9QMC;M8FLl{kl)kA?bH zM4{n}w$3S7;IkAMT2%sF(Rf_bkU|##gvkh?GNPE_q82+2`zrA4k|^NsK)aB0Op~WkJLNF zsx=KpZ8An4=kf6a&wb4kk3W9#l@D!p(+5cv@MWgcXV45B6nk}*rO-bAVl=SA`i-oj`*-Va41s2N)eny>>#g9mgWlKWGj zkX4w#ke<`SqRYIj^61!KyJl|2Lp)ZxX%vb+afG^}M-z59zI^vncWyo7Qy-pJ@4EZB z&z`4e!DJQZ9HX`|Mn$CjbO7D?t&Ez96s^xrMqSTK6A3oAnx)4m)IiB7>d)5WZ&bg|%rqq|Q+=O~VaQ5jit7YCalCTqLh zUcLORQ_lN8{na_Z#OP}`wo;|%iJM$TpGY?v^;$Wgh4D@vB!1-P#Hs#ga(cYB??8(8t97I$tgw`b#_>-mu}=Q)54#t2Mwk>dPOTCmvuIhdguhz9>HMleD%sbn{3 z)ZSy19k$Bi9=)4M2+~Ch7n|5&IV^iybDm7gM0D=2V_@IlIU(7xp-Ja`p0l7~^hS`3 zw1-#~uVrM-ftng}+%+~)4025BH|zu_s(%pYxh}cRIB(Yb$gS^=$f~IvhytgnlqcPb zd#)xX)Im_fuWqW4TTOe=1-u=`oaWo}_WnlqK&Vv_otL;^>@!`gwXSlEy^kjUX;mSC zOvZ#8YkD!|rP%M#%O?o1AX@B!o4te|y=mD1&|-$%50Nll$u2ZgH`kQ`^h#i{KVX0> zT?(XOjZ33%(?>9pZ8Ca6O8-HkS@v|Jv)NLdLw>OU9k+kG3sznJPNMf(2(AMnAEl zT=YCz80H$Bl&6xwG(kD#NLGoj11PRI_nxns)F$C@*jpPtGHFS~VwsWmZl6*bzAgs9 zi`FGwtYE&1Q?C0vE6UDCn`7>f@8xsurkiMbnHR6(V4^84#-XX9pAGm+BXnbpzi~DO zEbIXy2li8X8|!qc5T2~tKAnL?PGtaAytLxS1-q3zXZ6@-iZYMXtr!&;jV`Lk5X4H2 z+Gd-b(d^fX%=71F;q-Ivg!WF&ku0L5_s2d?U{;wj_F@?0J0NNbBrKEev*RJx()`;Y z(lFZJu=3kJ2H`A7XWV%ygHgj0dFLmBebMqTMOJsjuuH-cfm$c!w_X++``0w0TSSxB z$I-_AlKT^zXh?QW0s#k*WpoP4#X{y-6%q$ti9s^LG97)LsIe^{n!d(vlc*e`W?Aq<8H&^ei z!NW7;hE)fF-TF0y1TtciiEUxj=KA~IhU1I3pLqLm;pS71933B349?jpN~OB2COx5q zozFGr(cxcFbKxpn0yqK zjuj&|$O#hIa(AXo3}su?zjHhFFg2}pLzS~MbAAa|T?|SKjxO2)8uV!-IacYLUQfD#n`; z&3Q|BOwO6PIjuTC93E^w@tg0&yghGzr;_TJ_*` zu4L|pT&uY_*+zj{SyvF0SeQ_2D%M`cFWGOafjEXv{LPB zgw|h zP5?m4;r`|bqo8Q*1NSvehuQ!gxP8C`8#VNW!T@ z^bw#70)ECufz0vEdPK0)I~;8tt)z7v@pcwU*MsV7D*E#y!l$fHeX%BqX>3nw z?s|{EDPo-*_f+bCJXN4c3PaTvUDHRUJd?xeU`2^dp4vYE;?#BICZM@V8q1{oHb6!Z z(jS=Z_t1e{kV8+bhh+qHwVa0)R`kR&=zJ=$1??&4KxFk?E(E}e>fY${p;P&a z<~TUIbyIYg2T=Q~Orqtd;+lL4J3Pn(tR=y+zVmgO{$ikiq?_3V8wezo3dydD>?;x^ zZ{MSTLfN>-J+}T&o&ppL@Z7sSh*xe(p)WI|aJ8|&fH6h>V2{$R)VdaO;a{{8* zfC@5e6mpCkPdx@~{^-|z<@SSbzi@mIGfxjkMj&_g$yQTEL_}@~)?{qwc5`<3gD)9# zKJ@zEeU`j(*Qe~}E^6Bm5I$ZWh3Uv|@D@Vk{E&%LyyWO4ZpLqUrp7UEzzW3<# zR^7RC;nLNblfaJp#_Y#ZUh6)=>}P8V2C?TSfq>?{0ZwzZg$yt~gTpN@7XE7h7P*_7 z3m5J@`Sk6NyzOV+@M8~s=4ah{`tgxt93HVsw4QR$Kr429PQ#O{6ubkGk?5;a>=6S{ zi#T--?N+qCJsw+*#VIaAc}_!(t}F^8YGGz{sw%6U3j~zwcb|m4qWuci1_N{KFe^5j zv)#OMtxB>JcZ#KMM?pjJd<6qwdmqb=8nnjnIgd zy~EbKDx;C85goY$krBgj5q6wWDFEPkfoQR6p*$r}>rypWI4S_h(vb6o=D4c0u6Gs| zq*Q7ZZFF!jl|6G0P5mc!@*b0bP>BS?gT1s1-hTZ^7eoWXlePue!z@1<0jSB@SeBmT z*TGVc5A>9)YL~qv2}&7Q0Y-_zgXhJWzgVR?GK8PRUuZ%)_D29DCVQ3HvNj!pwrq## zAR}^w8Y)m}cc3X#9i@_sd-I>q{_J*-%h_rgRV-NHx*>W{idH*_Y{j>4%wj;pYZ_GP zzLKu7RL52OVX`>Y`s_QoomZ+_AfBtBRzin*ErN)x>Ge`Gr5s&nIX*-R!cG14#LAMn zdEOwoNPEL99TuI%B8j=<;_Smt9^t{UXySYEXQ_djew2=6g1!a!R=Y6i@>2Qy>mxFw zL9pCWZ;zVS9iDw&Dmz;RG~@)C$bprZIaoySygo_0WXRdaPdG6P?QeygG2qNENKa#L zyx?>uawvSNT8bv@*`PQI3f)Q&7JAy1yC4FV=B;K$ks07BXV7`$J|EKQkhuyQGmWhx z_bCEZCT(^vj2qf@pG!}jFGU#khwPpGyd=_zbqmlPgWI;($T2}#f@sNM=$ zD4-^beP<#gVl1b-Z&ddwg|47PL}qrWA-Tw&_J=Zw5K!a(05=-cXTgWiaZWhKZ93Up zNLZQ@ko9RKX@%9_(JD9!B1C6A44n*F`RZ+nATX)6_mqKn(5@=%W&Eh0cf4y~fnond zHMPQmYp4;;dBhN>G9o7#W0SGLtsCF{=f3Uvum6fC-}BB37{|ces=kWoFx)|^luYMA zjLEZ;?Zp>-<_CZ6S6=qIFW+tQcyo0d7%jPp${w@NbM{JagonwK)QD_(O?Sr19fxm- z*K1_<;nsQAgK5VV8Q78EHpLJEUOrtBu&1=3rA^$sUv`+Z5u3!Ek|lu5F@QO?x1M_R zf#XYG^EJQs<~!cF+n(X#@tAX##@SNNqyeXBh5g&JpK^t2bHMvSG;W;*I;f~YMz(G- zuY@xZ#}{ut{>15r-upBE=a0YsHJ^Rw=|^MK7@OMdh#1smH#+AsbGxYkvpmvI2~d>( zh0C}4a=DP5X#=VqbrA#N(%3gVIqJDX0H}&`?@J%U>~?7C8-qyeE1c_VYke=g+ z4u~X*bF+!!?GL~0pZ@C~`t;{L@6L_K$(iL*QSFkMOmCwck7vz!vX|U?L8k!i1BOgD z!g5D@YaKgVtxcWOeS%T;z@5rE3#f{mbqAOsmJ4DO_dquih`vx3i%@Zjk}IJQ&^kBO*m%5i9ypLk|C0W? zTef=Mc=)uhWJs{YKvz4ypOvWoeINa<HM}mh8xzMLEB(kY~-00%}vo4#-dljVWWVu=7ef8 z_cRG`hzo2|NoE;$Za#{B2BZ0X7;|Ts@+cUFGKih#At|L79XW24S*|dl&0Z zNta*O%m|$Ui_^uW8+v2$K@iq3bCVjJE!EAQLeaDsivgTFwHHDM*^Vs$LQ**Uf;B#0 zxGmR}=h46Gd1X#9470in)KsLQ^!Z(`O*E#hZcSD{PnYu+wcH~qq zrSFm*=mUI)=!#}#L`@7q#eTyc5Yd=%DaN`w4;X)-uMOpl7!qKng=B+0QzP~Z6)UA+ zkE89ST~E1IUVrjQ+?HombhZ}Z8(o8KdNOC3iO*;)heq2QL)XBB!-KvL4X}jx)ZHcd ztRgFE8m0iOK5Mo-e07k8OH4udXomXJYX7QiWx=`J(+OK=1|GH)9TE!+4_~lFH09IG z2<$>7_S+Xq`zIIPUdO>!>Lbe>fxJ1l_g%c}WOH!W0}q|WxblKepSMpAHj16O;%Dk{gRiSxeA1B*0UE@U$ z@X+$R&U`X5K8!pi4JUbT+ZZ4W{)M+EZ`Mk_2=jXwNys7n~s9;h$ao3 zLL~-3R^;K)<^V@mzVr|Nng9GRe`xcfmt8nKLPpLiM`Il;7w7gpSfv^b3W23m?#+xf zzZ4#X9joe()w)c~ii1&eZZ^lau3g)G;9YNc<4=9TXTSRCYmXdcY%*A=Vr<4BYK6?z zUmKk}+V%~FJNeo>#oj=u5xEx@faegL8;RnLgBcvty^^SewS3V!Fo4n;4^^JIXTA12 zNd*D{cDq67{=`5OYg={suKNq|=`VWSM?dn|y$`)=ySK@Y0j-dHeG}?YVFL*?&6@H*L)|9EqUR^PbL(T<{i3+6q z@LBDZq`O9@&y@k9I+fGZvPG`i{n$x%RRCi%?l3>mS_8$EUOCYC@ zi>kT8%=+cD7xg-)@3~uK5Hkn428cOy3kKF|Ba80jbWCqKD*_$QG~2}s%wu)oE}o(tyOFonOEnZgwzOr{wVLrQ<4QWjnQ=r{=o z{uJQWy>n)4hOsjm{XdN{Tv6MHs3S$&GwiVF?95Qay0DO3G(B=_ZLVLl4+669!gVC( zIX9XK2Sg=IG=)O$f1K4LJPnK)*dV&$RErrNY0o`IY~Ky(+qCW~Vi$tIkPFeA85dDH zR(i|{RJ%d>C0XKj)o4S|S3a!MD;t=_(yX1_OPQK@oX`L&&yo`~$4dSvv*Z3&R2_p* zr6^OXeioYniG8^~Lbv|N#aM|UH&JAD^);v>Lck0m#r(9P>E|6F0a12)rFu3}(X1L> zNfEV(%!r6^)*+Xd8ACUAIOoW0lDk!!LS*{wK6N^1Yz=@eJ#VC-1od`#xunlrWtP~O?`#YS6uRZQ!TGh5#68@!tF(KhTO z{eJ%?UOt7fvU+uLq!71RAMFb zXgDs{D99hyQmWmQLawtNo${n=+3w?R|I_y}Bj|cbm#`Xg zfQ%|+W=$6pCN;oxckT2JcDMi2kNmB#_?kbsd;j}qafjT-#vV`yZ~{Ef$@zH<$=4{H zJ`*k=?;#M(u<85{pN-1F?QU~$xV?U3_rbUQ!Y}{S7ku`suRrg;F45QAu2mPRYu`Q)O^+FmFur}rFYv?CjoMt4pM@H;b$ zH9WY1O@{+8_mqDEnbdF%cX)_|H~Q2?AE3nwT^4FxO1Ag+Y4Y}Ig*?5oLqun69XtF+ z_I&<*OFZ--6N_j}-6){32prvz5DU!jZ;M@^Re6K_R5`f|AcN5y z8Q4QJ>}(d%(E7PtvSa&(KwnT7V8>Yqy0T0}tX5}qe06%}V!MmL_HDtktT@wMMCR!c zW}mbRWpk8=2`jX8#?rHev{{X#M57qn_58yGA`SVZOX{EnbKR>BF1XMKP@_Tv?k}cX zTt;dL#_TZ-!o=Q3L8$8K=02vNwl_O+qBAQ0ePl{mD=A4@QLl`})HH37bTP?I^=vl< z2+PaQge_u^3TF|sgj~a&-(9n%$9p%7Xh)Jh0~%xQT*JQsK*1#Bys&OtlLC}Ql}_zL zrGn?mN&JAm3ejIiuZiw3ujO-fA}WFz5yic-_B{D%(P4xnPQtg#8_sGMC}*aHajNIM zE}Ft)gJM4@J17*3wiyD{wYPA`RXZM5x&-DJZUmx5wQ9-Ftpz3sPORC2k$v-4DAdw- zY2q^HxX#yuFZ zoRQ#_YTsBRA)P{HAgWND1$3#`d%}*)>)uVB(?*_dL})Fi;3m3rQa4m87WeZ7P(9^T zX`@zm`8*v&%NG_NaFe5tFc{KZNt6{4Yi`|=N(O@&HGOV&^Wb>waO>Ou;2-+julVX~ zzxmct zR;a~P)N>4K-8Vt{#$=1$X#-E8E_Dq{%My%1;=<9{6Hnjz;5+}z&;8WrzUrY{H=h~@ z8#1DZnyMSl$fbK`H2o;iv%^t!btn--x50_bFvYKQUm}cQ>l5^$Ac-z9GHI!CrO-@{ z?q!0jTJ7h3IVKl(V7){%I%n9yDkuh|wx! z#B{e<8f%Dff?3yWNmIf3Y1vbldnGyxG;}oYh{ZrVHit*X#tI;c-+Jx_W_opHBWyU= zWkxuu3o_`e3r(%Bgs`2iRKU^4#9^jt28G`nl{iUN?vBn0(v+D17CTbf)=}LH(#Km1 z;;bWzC2>zHX=XdW=yfw@2LqWg2G~GpB^|@AvMhyg8i?hNl`5F+!#**vL|Mmxi!~Bc zS6vj)^*WBnokO&+ya#T|3elMvq2|Pn;qWZ{Rpm9j=vLW|jg9;5T3SI=j$siL@QaiO zD_vBoNCM}NtVwMRQpGz7G+I*JJTM}3d%Xz7U^vxrLWOWQWGv{U_@J=3pt$3412BI| zTe-0u%6pEYSU6V6JjBcOwi?rV1#%$ayLe1iDrpw&zyLEi!J4dyiZEAMy{N05Qrq64 z0zKnoZ`(en9w(lpYr=Hdh1#&v?on}0uU9BcS#Ly~+;~ixWd{Kv(Hdh@P8Q^roGAzv zG0|e>=^W7Wt$}bafQur|<*GfXmW%x|E3hyy1eBs(6+!E889p}y5Jh%yMzeTmAWUOH+Eg4(-<#xdx`gU&1p8ttFNj2yA9%0keYnm3(&_+k3g ziYlRZ9rF$c?RzC!Pzp$odg==Ysq{x*m*(=M^UU_LNx@2Qb>eYZnDsuEK zT(%h%3FH~sgoAxVF^3#l$pS+GU6{ChHz_m$JDX%9MY)s)%H!O4+E_*;iH%aIl^i%Y zSy2uUT%#;LDXS-AtgFj_9MLtkD3Eg;9CF5-TaMgF^%JFQZ>OkNb}A)L?xLC9G0cE^ zuA|+Q-Mt^KXLpp--e3>4a|O{;C?bGL4(n2JA62zXX`BBlrZ; zM&fa;+02TdpDfRxm@H1jrOQ`NPHsQz#h-tcmk;l|T#Q3(w%BFhK-v}z24_v!>F&X8 zZZhZDQ*ZgzzwrO~>)-Y5e{y$ny8;wz6MyaCWCdXvR)4zzCP(d+81~1>IbS>ad5!1?Zvwv z_~@gLKleE=+C1wem!5mioO8}yA~p%k4N*A=#EzBW_K;Peal%P0rw*OgU>2+>jtWIa zo#WkZj>DsT^yAk)`tD!+#h-l5YhH8X=}#PG zn)d?ZLE2mPk#QS%e*gQjlybfg5G*LKfKQf3t+nX*L(s0VjwUB$8WX z<}M;|c659%WA~gFf5{V%K63X%FP$elM5(Vvu{=SHRCSDN+LI8Y)>x^tsv>H+5!a;2 zKAR0ras4-b{_FqjpZUS>`JYd&J&`dtxtW$$pxse)<{%)eHABZ)7u(=?7Stt`3Ktfk z+UzvP?;NGYwG2M(ISRh@d2Od94~i}hHU0@}G#pb9@V#^jLF<+u+PYQR77XZNKF*u7 z<4FIH_pdx@(4G)}Z!8p&w(|XG87w=I<7o0*LCM^Ylm8aO1zVNp7t(N%Zuk?d(T22z z*-X7CZxF*$n5*QD^H^RDFeOmUET7MI%QYou% z>L65tXl&SjxQ=>zj-?g)D$-Kdeze;9aIbZoBh0#El4I}1V{~?ZX-msno$&54y*M7Rd>}cmasaK(-)0LU*+6eSJ%SfvOq%<4I)cGig4; zQHQqofrzMCx~^DX$y{wWp`DjL-RRbA6O8XFjL|gXP)~m zofNC}i_RNmvq7+2MnnW6oDMpbN0UzWpRxRos7VeC|0DMAVs_Djm;i!RCEXe`61lm! zJv}2&4vt0+C#AtGpt91+2{g?Hn#PCIp^j~qQd6yO;d#Wy+2=fUOT}o5oI?Lt(1}q| zsytO!d4@%9>_E2MD*Z390KvMxh!L7p0S1P)*kG6le<=Y6O;@Z0S&~&j<|fW=-aNW^ z->?7TPn|yUu5oa9n6b^>7~CjI#Y9dSfi}G>4iSl}IzwE2`R9K3|M>0S{+-{sIlgk~ z>Xka%j>BZJW-DxlgB2&0$ExhEla;Q#5Xd5H8vNJ*)QVB9w2=6?5mGAj8ljXq*(UES zNJbM)u_W3KL!tF|J;^FaSS{z8)p{BdU~NWbaUA6BCqMR_XFdDp-u-jCN8Yh}-$yfY zGjtF3*aa$+fk-BTo_eVoMn`1dGvut!kSvCVn1Dn~F(ZNG#L>|>dE)VFANkE+_~oB^ z?Q36mcI(>V;bwE7+bt>DrK0TWhH(xZqI7WEQ_Fg=vz2kW9#Z>dh5slt;ZCehWM&NG z0SMk}YKZuv%tW{Ra~)`g+bo*37I+a9knRD>V9d$@KxRh7h(aCL+@NrJeCh5v4nOVT z-|@u9K6c;BUvYMFx*3d!q6T&dnxuGcrpA(sf^?VwD-qZczI14(C)wq!$SpHRUjNXC zzWuNK`G5F5|I7B~Q#m5X(OJ#fnOcI$Y=+`tuo*;AkThRYvs(=M7+WVm=L!l_s#q!w zi*@doS}rn&DjNvE^Zi8T3Oh7Q(RRfkDZ{em`)W%xB_#->L3UDr$vPXdxpxk7XocZMc#nqoj*`8ikf#5#pyEh`a|Oo-|mKB@dEpNgkw3<@APl5pnN#cK@;W`EICXuaxq=hzUzmLX6<##%#~ODe#6!CWr;!n!Be91C>2uTR2}4Z;hBT^Og47o4%3u#Npi zF_y00h>q4zTNKd~BxB?{5wp{zxrA6Ef(Hq_IZd>0Nb5+Yx#~Qp&%tM6%m_Mq|~nB;nY}x5iZHC*mJD4Z}ZTBllsaY zI^=yA4L;2Z9oof{n)5T*M{%^`&daN1@x|(KQB9YlL^5_u>`IEX452&LjexfU^)f>T*C(njmgFNT+AwO zDrYQ^QJKdZ^8S8*^X4Px=lAEugF~jou_=?vLZ>&e{Ir zGe7?8f9LP~hyVRw#e8sj@5M2;kpWK3P^DIQe`skjT1s;5=b(!A;_UT+-W%HL>@tD= z!g;xIfYhPV3;}5yiqo?XZ9V*?Cysi{tJLRbAN?jAst+hEFbc)F8=J8^-(SD|)t~+B z=U)Hy-;_rW-+1(qUDYi!oZt0y-{n-JY{c(M_Pr+hCHFe5FA~U_6=^bEpUF};azly_Uo-W(j&8q@QJ*IlWW(QS08@;(|4Y^bL-7d z?e=G>jNu{jS{bVFHj}Ub#bV%+ei{)1lWct}7}(FvjjJzx?(=o;^Y>qT>4fL^pM7R? zas}9r*v#5zI$=r}><$?emR>v1#kas!@tZtENomtD2_aZt`Gv?Y+0z8Tmy&R zKn>O!DC!n{^4F^4cf?dSZ;c{W?CW%5XBU@>XM&U^Q2)TDT*7 z&A{M3x=bNUPD89(F{k?F^&zArA*NgXV@1z?_r0?Gq@2qg?X)O$Ez?!6=m4d+ ztjNh8Z_>+Nucc44`HEM$7G@s{r}*CUBbA-kD4}R;w5&aB&d*{XBXcx-H=uROiDYP# zdvlZv*Ho9m*g%AjQHPERgjmAxGGs3tAJihEThQ*U%p6VbG*?l&dW$Xf|pi3Ji?j06yNDat4=LQjhpTAA~_;5 zBIFfB&tQqm{&dFXphW~pCSxMN6t&jPm-JGgwZjN05J~F3bmg}BRtBhoqo$A1mKL+1 zj99|0BYx*JHbsL+ie(@oGO^*s*>1lN=3oA+e`UM9a&&S%eNlx(hR4`-H;aU-h)jzT z=<(@ufks8^gw-mv%4e1>vx?$CEHj?o&w-$O(QCs<+=>b&bRux+(ZD2A4o?u70VcbH zz>pE4*(V-HU>fgp7*vuy^d?6i{{|GW-_Hn+v0-vM?|%9R{^2{{`@Vb6zIe2`TBro8 z_7$#083D9<6(KGViE**p9}ix6{N4ZffBs+J{Y}4NKgQMT55d#?v>1>^XF7y4R5KA+ z$xb=00|Jd$dr4~@sd^$UvI^OuQLjP$`c^w5f*5TKm1g3>clyj}rB*(T`rc|H7RwKfAelw2M6=24`i~kP609$Fs_k zY_Qk3TCZ3yt1TSP{{)LOw&SH|zxdmJ*LObohBrR{+?U4Y`274LvWKc7*+<1IFKVY^ z0e6!mrzq>I_V{HY)Ks~?)C>~Q5vahLnz&#YUlTeeIcu%$RE0K4jVE`3GgbF8n&|dF zmlcK3=OPy(KMFb{fK6i0D_5^0uik$B(|5k~?2R|SDfSOy_N=5TU`R^QF_>iNl#qrp zDfr?|-rSOra)%^t<~iN_z)O&9k0Wy1~1HH)v~KbjQ-Xbu#rtCQdBRyE;Tj{ zVQ|Rg3JT%Fz*He4)ggmIV4dEe7kPN+UU*d4DLd4|C`C@9E?w#}bjmP|x5`bEn%OQ( zLicp*xOC%-hV%_DO@)ON==LPV+*F-Fdsnv~c21#cF5uimRYp_lOZ3*UAWGWcQ;lJa zmM0l5TLliD*#pQT*69pLM3Wa?O!pJ8R|*gu3TGNYOBK=;fFtkL`^c$ zs0?mn(BvEviv~K?8-b%0NA)O;G2nh!9O$ufbT3x54MfDD1EQk^$k5pAA~2$Rim7;; z4Z$+UrQYB`pgep55|>MH!Ux`jHGS2ySm9P?9x{pe0}Gy`B!`6Wu-C3Y1&l&fjyJGM zU5;W-Hfv^2w}bN+O_F;#$Kgahwj!+;Er=c+8x(PT5P_dre?&z3?f7*Cz=2*peSg|D z*_&AQob*nJ0H?I4RUMLKRbkQ=>-{-qsfIuzhgmHmX6au&#XMR)5t!CHUeD31O`qyW zvp53#;teqAyUxy@&ew|e(fGdBZl(Uh>pc_QSkk;nABx@@Z0S9EN*ausNbVIw%1GNW z(5=elCYb8IFOUR+!yPaBNkn)KI!M)NmA z(X0TGEC87#6oc?DYH36q5wMO5MLbI+qLzT?~8KY#vHyR$vVMiDb+M)sq^K*vbE3KsW_ znMrQv2Djhxjt_tEN8b7Ezb(d<w z+*wFs5HotO)@AdwlB0FVfcn9g;1=2KUt*F9WLjN8bXfy2y3Um#Sst8qX@LP%bA!lT z>_*hw zpnN$N5A`^6XmR=w4lNA{M{Shu8Das+2xz?62o~srA3Bo&hKqbj)NGvk&u+Kg_%f{Q>zx79PfHq%k{}CW?9hH{AREr#0m;9M6j_ z4-S@eM$$SKKIZI|1l{b&uFpzzTAJQk-%403prcWpWx5=pSxO{4k4ipuFlZ8@OTTnp zsPYSm(rBpW9VW#Q1ZqN^rcv!XS|HRsE5Qs;L`DbB$^mMPDVX&42Z&_1?cc_<#{48Xb)mP z8*Bej;Iej`n^?9s!fj-)9Tjc1L@XW?Mpk-&WTCp8Scc?~E@O#8*PE6JTx)^~|KXIX zJ(wND0H>ONBs|~_SgsljvtPVsnl5O{58{7o!b%PSkMe6DKG3b`% z{--fkmfG4?A3=+vtC_@or?M}8#RoBLrmKZ|LM=Q(C@MmASwss+mi5k=F7`YA0Wdvx zfDPZ6U%XOmhCqzABPeR*e-p8k=K<<%KtCHZO$+yW5E=*Is*!Jf)!w4Vp@oYtR>rme z&0<6yRP~di39BDkVM}udFFo-JS<~XuMZzISFSXA?^Kl_^6vl9aJ6gN}tv%}{XoY%o zKp{a)sG~poiX`DgcEk{nNcYtGAvwo-?*zP}*nOwHC^goRO6o z;G?G^30ueFx8NuA*sN(MV*`sgy z+E4tzzj@-l-?rZzZLhsz?)K&!T8-17Utzg%cR2_+APb@B2lMh~l+H#+YQKABho0?f zK+7pSbl{*75dvA&yD$udI&>@4s)vYd^PBdJOBZB}K%y`Q$l685*yMv3zxe(q-}E2- z!SBBFsUN9A)Qk&MZbh;Q1coc1f(WW>aoCX)?yDpveA9;j%Nj<;7~{c%XTSIh03Phl ziMip7qTqK$*ukVn(GHLBKGA(?(4_ce*Q)?b4VF-aaYaDuC(+)zPMNTG19Sz|-=S6% zAW%JGGcwf{smhU{iewuMj`V^FovWL?c#DFGCbd;Kv4n914KmyciXXj=2M?~>@`n)*Khr;b#Xc` zE?BY8pc)E<4|9Rj=xPhVWObhKZHruhF>yGGsRKR{^l-TB)a+jq^l_(=g~*H)a;6?+ zFi@OROG(Zb|2w8Yf+!OdFa(U`{DHRu%N@lP&+H`)aKGYxUQpCyNQ6C?6=G zG3}LJ`f2k3a&c!K9tBIC@xX-jgw7<&c7^b{h6})lk9pLp4(l-Cnn1c+t!N@b53Ls8 zcOv(*7E0D~&FB+Z;rK2;v(jm<7dx$*6O#949BI&cA@pO0_M zST+4`@M=n@VIn*MGcyTRFfBs4k;o6%_p7gpNbdoqFlveo9DhdxErEXjTQ)vZk6}OB zVA|7s>H4IPvjHBbFep138JK8WLv`ao)s*_o_NYZOCL3DytQLzhCDLM+J*ryfUxfqF z8%J0~yI5j%j)z?u0;(p|miNLvbBBV0bCw4lAzDgR{Y7ufw`QL2SMSMVEC6dRGNR)? zr2JxmA2MbGeQ95)iL&FYJ92?`;Q-}YS#=tA{!$XvY$!6&brr9q#*9A644Sk>P$wu7 z6&4|((3-uGWnWSvjvil0R-|-=7D^+7J!dkTYA|%9v7(E`C$5w)^jE<}DQTnudM-*C z4lWM@kktkmf+<_t8e?Eg*X8{~YfVgzK@!nO#}iJ;V`d(ZJ*U0uIaYOC2s0>~L5elZhq@ANrv{{6rE7xCg}p84D_ zZIEOPvbf6}kVGIbm@!<}sv4}~9u-m7BJQ1?J^c2s|LLFj@Y}xj+XngjFHI9Z3RxxUi=&1`@O&Sdw$=YpZR2N2R4X3Hw9YwQiEGd0bv4M z_KQbM5gpxx6C91Nu+6cb`**+dZ2-q$APd>u3*L2olkT>lp^HoGXi{Jv9zOolCQ&Z; zs8FEdPq-M-yg&p-O~dw6l~l|C8BX*eRf5))q6(Q+M_=}Zh1OOVN!GA4tJal!44n|Hqa z;;UZu>Yw}BAHF`Y+n+Lknh6dv-Bi5yEYGqkq5c5_t5#(i`r`5_P72?%S2sedP*ZoZ z1HxgxN31a8e^)jZHI>(;DRFw?CVEJmYo#iUd1!_#0=6A-p%_{Mwc3G6qg;087+RcF zK-fZO%3!4?+`}FFy?gnh!zFR~>%xIugxnrxV?sli0j4_0V@{&Ti7EZF$|qxH|F8gt zi4hJUHEdmV32#oaTc<-wwy;K6^kXuvKIlBF<7ix;hIKBWLJzpb~(Wy zM8ZwN*hR72$xeZ-3`&62r`TJ^|64b+G+5_EZDn<)a@E;`Oa+VpS(=919wn{(l!9D3 zU&nwY*1Uy4yI))^2q*7IWj%k2ld0a0TpW!VjhaB65tImw93xYs*beJZ7zB(c@tu@r z5FBxUPoO*%mO;F{Bg=uqXI>o&U*R_-Ux~s}97JwAs7ADkBRmm@xkQGqw8Pzc35;%tK#UZJ3BzkFT1^l0v0NVrM>mhwI4~r| zT2A(+MX)kkos%b%;Vr0Us9N0Ie}(?tCbTLEs7e5L=7ghltQu+0SCVre5N$D}pEDdP zy?U)m1gOd5S~=Q!JtHS`Nbc~nXp$5T2p%m04Z84}wnE(Nk`9KPbAL3BBlg#CKJ?PF z&%Eu4*Zqk<`{&;Ot^dIXKJA5gHVzm}Fg57Zd1Kx`;?~ zLeap&1LyyE5mlit7 zcKR;2+ihLkzxU8vzW!4m_{i(u{0+qM_WHxKE&y=ua||Lx>-)XIvT_t$;3GV?-m8JZ z%4On5mrc8FBDq|xVW4e_OJL~D56goVH?)U?G7*b&&`OHlG5SF&jim?}C+u4tF&s8W z9c^>FJ-Il&|6l+4|I6?AkAK&lk9;g6@+kKk%^;vpWhl3wv`(=$E?sC}dR+I@3PzAI zz&AhnIKV4;L`O}RRuq`a+zFxTxKfAuLg3({1SYmgO^y=uOr&d3L5+LR%MGf)(3nBY z$cdDVYGMWSxmW%-92R(Stm*Ls>+kggx~u|p>`q1^Ip_5ow>LO?`QvYY;klO{d&67q z&(r?f-_qy9Gg zSiL?4&-@7sxOANFE(#b)6O7p8npqP58~Lu4a@V4R8H)q1KvW;eoV`1(?I}R@Ucx}L z?#>6Ro^MY94(Q*ai4!n-S1BcGh0TSIsS2aE3P+BX8=HGBgcCuX9?(DmWHLR~(zgFz zeyLebz1@*!DP0#*XOa5=5)6)r%mHP(uw+3ggMth~@2kKAZ83{Jyr3_L8 zHBZ>^rkf9$oy|S^Nd=4Od136M#*_p?bVkQ#*y$~SUG*iydX?`%X_^3#mmreu>O6ED z>Hs_w&*Pm7SAURxQul$alu93|8AfLS8^@FZgEC9tNOZ$P&^P}e}e1-&*ul4uSL z_0qbj!u=m+<@+?Ajm4u&t{unqYLS? zf8JkH!s))FkVc(RDU(U`dP2CFLgG9NM3s%2#Cq3$B5PyCN(5aoWfd@^L9q^~RLTQ7 zQG~Z!SOZ#ViB%e2sk0P1#n0yI2}$iW3FBR9hH=R>#2zhx*>OJEk7S7v#`#r>$_?jB#KW>908&T8>kK=E=pMhJRa-*r`tir_{`6;$PmYR($>FGBUZIf7)SpxUV`3miRZNV{5qD<~eeJtH|MQ=F z%X`0r*xb1OXkiAyxes!a>=_q`!9eY+bur-(f_kBpHXX@O7pfO5-7rnW1buj9hb5>! z#3t6B?dPEZetTef^c|WaAKny3?UrR1-iaO#jr5AaRkz{iRcoPcFKy7 z48-tihYZ~PKth?iA`xVAa`5WS$Hus_dF1iupLy|-H$8Dmjy+E3&Q#JOt*!|wWGj)m z{N_!uD5V7L0;b>v#?b%}MLz$*5B=uf|NH;TKlX=q5AJTaxj8z55GqrnqzXXnoz3<6 zbbx2?QKK$G+Vk=QI``HgeQ1%k4W+42H~!n|?&_4L(m6vcQ4Rr2oio|84|?R6vB_+3az-S ze&5|z^m)wHkHm!~T@8UK+mR_dcTnR5L$!ghF4e+cqh6hVX@=~qVFOMXwF<_mziYyE zt^SB;Hd7t$5Bbx|@P0BqW56?cM-H=!>YsLfU@?&}c4}yY?vEXU290<147J8FGP*gi zAq?Dk0c*yG9A5jTW2*r#hrT!>eOzHi>#_pu)_k>*Qf`!qWwh=#A3MHa!!xylb!<4h z$%~$|nGqSIsV_&4kYjMhbWe4HuG}X^WVkT^%ktlZ8a_spET*P4yAZ9I+FFh@n@|>9 ze*HiOh9^1(oSM7ZkP5n&X)B_tx^iA3H@!57Agaprt?`*QzG_WXRbB4Vyo!zz2=o9Y zzp}1&D>`&=YuaBF>XyR>tfdh{X;M@v0wogWoSilS1lW7gCsc+-7_kyL=P*t0!D%fRPH z$>{8riCBVvAiq8Ur&bKrs_Fd2Bn3?*?1D=vV+t(YcdYPrffCkp4Bl689>!!c?u1C`5hje z%3dh#BZqRcWXve45~%U;SbC&Vjh89lsZvUc;WQ>NV_R15yoK`UeHf>AUkuhqKk(0S z`XxSpH#cKP7&xjP6;_&yEd>}I2?^pk}i*a)G#_fr@-3&&Q zyP1M2yOu^QnrD*benmGfs5P(FG07&czHTPS0W1CLW-?}h{gbmUl}+@M6%i^bu=GUr zAXP<1=V!0=LvS>hkTyvh&|&#@WS*bh!T$aS{?Xt5UElM2&p-Rg(_eai^r5ftn*!GK zKX}Qr$&99PW>iXji&Taz&eS}ZshadgfoM`~JS+2gAHpbeUB8vAF3CE1D{qq=IZW$Z z1yndO&Il1qA>M$aOd6V?Y?McY>Wo(Cf>hif+4u}r=bF+p2B(@F_L0o7-_@0qTf1Fu zZ@yvf>*2S)`N7=fem{`%wPUCl3}Q&XYC^1)zMysAJ0lnqz~shtwF>SoW}RHQa_^@; z^VB!I^Y8sX{;T~w-Cdk*H(8ugg`(X_1R}C0?&uUudwJwgYspHlYPF>)P5Bw&(tp0P zF4Z)@=_}L!GNF)cGmEJy514ZGVoy38z=1x{iAj>4Mh{8@pwCk`Ws0%9?+4lT05IE;c*uGjb{gLZ@0q z2dtpVjm4^2#R;7Z94q)bhS`IcA(LKLv?VD=Yq4~!gGXr^#`R4gUG}mN)u*Tt2I=;= z%Ppq7WTiifvypX_2M9F=hSdyZE#b+uJZXHxqV=C1tJ*POpq(E%I7W-K|Ge$D2=`9mAQ%#B zRKFmVu1`zemq$d;AY3&}cUx$gsKFr(r^S_Kleb97T%HIGMA7?VHs!Y9(Too&6x&ml zDj_+|8WUVy;sye3tPDDGFmFYrL zr~Fl3wQHM((~@q}24gk-1gXgvP@WZ_@M{upNUc;fo^+g%vrT)%t2Z4=b24 zF(QiG?|0aY`_Dgj?fB%QU;M(eAN{e%-}9S3_1Q08yLv0Ga*vCcJ3z{6Wx$IFUGhz2E(iN|Gqt#P&Q5*jXV=ix!qqZ=!I*PFtx5b)F zeMXB)p0}xutsClesTkB4QPPztOo55bChp$-;;pMU{=5J2uRs4YKYqMD-Zl!KM*jgu zL4y~yn(cV(JX9m{h`XxY$y?v^q3{1!@B5bDbmwedz4q9CBx}xD%u$$GGunh6N*8Qw zAdJce3r;X%gsyYxg)_vVg^r^7yVu}7~|~xv`+8+Pk;W8eea+DGy9jm_~6b8mrEN#C0Dwl-mx^}FZ{ z$BVJW&{HX36Nt=BU##{$0^KEHz<`DL9e>x*J3m-j0x&;}-odC~#;_0D+37GKs2{n) zL5dD4Gj-T@Ac+ii3U)-+=lMx)w%ZM7Z87${{k4Z4KF{&+SG{#VHn-pM=8FgWq&l8z z3NeUVSNNFH@Y)s(foJ=Q$Z0JYCgF4(sMZm zcY7XC0PO&?tFH{A9B8a=#z6pwUa01acG=;8;6srCI^ZY( z`^o|^&XI86GOkUgN&R5+(RMPk9i^ZLE$fx*8)@K<#y><$uPJncVKhWbSoXA5!(A)q z`hu>Y3tXVO7s+!m!}@2(Tb0zbf|_h54QAw4PUL{HkAGTy=!sxWC-7c9+6soi$_$!R zE(9MU>sbd*)8y#TOOV$w&k<*4rW3l5Dgj0r>{6FoZ8m_2}$v<>7M0?VNK_T(XV z6S>q1W-#3n+mY&!+5)X3sP|QO3-ti1H`G`fS=JK6Pu7&e!+)y%3Bd}K)1<&-!{M;v z(2vO!$XiV>MsY}2)*XIe8Mj8~iIy+D@%^AL73!>dcner=u9(IQ;ADdbR)mcQuO8Ezw0EnCO}m zWPA)6Q$mLy>lVC8bX(fm1}u$%rRw>yvbRzrtp2YYTKr!&~c@80tG)Bosy z`zPGKl9P8&?~U9<_nZNhp7zbI$Lnsb&Jw$fSIV;l0y! zcy&Uw4A_|p0iPD`A-8sHhk&;R+rqOoA~XtuU{?FJBf}OR6DA2?Y_Kf|kBlQ;?1S!tLV<>@k*3r=oVjlt4sB`9gaP=Ku_t78wUY_=K21?`Tz9~|NgU=es2FuzfiL@ol00C zGN+w&y zzv9jJPtR_>>1%cm9w25q&}A2gx%i^gBa@CEFls=NzDm7kGO{?UH2&)7%JpY{`iF1a zxcfI( zGjbs~8i_h+jBGhmFGCWiIG0n4S~XX%Lqjvk(7 zvxl>;D(x~Db~0gy5)E-fpxj0&_k&UG=r<;nK2_6|bDr`hqH5hJ+IBr+FY+e{1bwd7meaIoiDwh6m}R$m7pyem$f)_ z%@575qRC4`4))`64(xmKwoa8`0-gB%`g){+r81%WDp3ZSrA8oxQojO96l# zb}X+sdHM`Fi;K!MuJQ8GnimXURbnA6rLyR*9NQfgR*O>htWLCA>+68mFw}p64&sH~ zl`A)%|MHg}xpm{8{j2ZWzwpBT&V!u+LZ=FO-FnSPWp!`W(ttB#!y_EU=}T9i_?n}y zdh1)Cc<(Qq-nn}9p$SxM2co-3)8i~cv%;X*K3yu+8B1c^Zk$-@rqdtHBwfbvNW)mU zFuHaqt5ircu$&3@5OMlVW05-g#t=^Ro!YRpUM(|V4A?1?h24XD7pE^JfH`+HM@WV9 zTFCXl`>Z(t(G70;rm|cXtjNkf)l)~qTJh9$LGPsnuuboJSjXY5D|86cK+|o);gW|% zpzYMvMWUms6t58X4r8ELLwD>+m*~)@pu?(@bV~qz?r>|>Sw|-iPVXH({POe4t6%-} z>79FzzWuEi`yCb82k7>Ag8(}EIY;?J%N<8TTOu+jwd4(Ch=uJCN5@y5``AxBa_iAw z`qYm_@y?wuVVkI6Y#OdW5qM2%iQYi^e&-Wuykb(;N?Z8NPB?y<(k5c1Ap^jM(G=zl zM`<%ZHd25z*Xao2R~bNPUhV1|D2s$`0c??%X)qJ5#|6OBd@gjQ((aP(Q+KDPh=0k> zPNn*IgV6WF$4dV)zwwr=r=heuu^d5*xi5)>2hCWk60dindy#cEpx= zF%lk)9|?tg~uCTfj0Ej5K-FX#%K zmxiTDF80x}zq38jjg^kgd1(nNZH-7=`ZF|m^S?0AxCC?@4nuGg7rmJ75+KVB?VgzC zY}as2mz>$&3p(G?(=$W~a+&Eefyfr)g@=513Zvo&J;fs?NK7O9XpO0SHfRHn?G1%#WxeC$IWj^mPWSRM17>v4dsz6Yy3u}oc)K<7%Y-#3uV9RgNlPDdP>ON82g#Th>DEC+-^*)C&%KdGS4$&NDW11 z$aU5>IkKvAX}VQ5qoM#g{6Bq{zRbr zZo3}sEv)Bh_Ai`Pt;V&_1nkzy{w@1lK({&tfvD}+-#xv4`;{bbyy8vu!o?%+dFTDp zm$KBuq-5`Gb6^xwJU}0hr1#EF$Srv3WH%uTf-!M&a`N0qK5*s6^)G(u!Sl~t z*&H41vl1Kh!4%4Thr@q*Q8*xE8Sr&TOk~Dr*ClZf$q*dQYuReE^EW%U8v232p~-{> zhIG&)T@s^{=`g`H_?Bpqy$MqB)O{X{1%rnd!dPcphWC#h(MEullCf-Xda&WAY-o^Tm;u2=)nUm2wx+xMD##X#%1Tt0n>qg_q0CMy=M?vNOI9dFx zRHNH1Bcjh^S&TzqxVeq~a&_m@zy#eL-7hDs9J#DnR(@Ai)Q?HhW@k^S0H?3zdVIV!l4UBZELmtN4ZWlqVjVy z9t>D!NT-p7;OQyIjfr{z2l|ICF?bs}it69fjE&wtRf*K8*6gT2usSA3R}LfkVF}xZ`emulNrPr_0O{HKlXCchKq5^q zX-yQ%KBc-fqoP~-n_@cIkmyOPAbh%zAiXY|%OzGzK<}3j&`DO%P)r~)rkJ2tyni*D z)*0qAR?CDed}?@4*j~0$2WpyoW|z&E2Q<0gzld|z{=+};500+iymEeY<&l^F)j#=1 zf7Ac|kLTvv$wSwx_HbiNuL8wjb#5_$>S3>HyimD9Yox<|$3lng^?)?%h|3KX+KC+n z!tzu90s!0moDKk?yHLMWKVWJD%gRRxj2i~$(6SXNbhe3T#h_VVIOIia6BWpr`vNcS z{q_IikKMR+{n=;khEBj#h7}ezF4YGQp{&)Vt+c$^%_O$DJ-d7M=o4SFL%ing@4b6o zS8qSY{hSps^tK)5y7c11h=3Z=r^kBUdFvjAUR7J#!lMyjkV#bOX(swC%m%^E z!E_u}6j#+bq7RJ6A{Yvkh$bU2ZwSQx{=FM7dwImstyjKd{~#ZE*PG8@dLd(=pv4hO zhj3mBK!CfDDs!djoUz=(on*x%W);a8W4k$e{-Ym$(h6rl{&p4_1w){R9Mj_QO-9W2W)1O-+&_iSkKmPGXm4g zqAuk(_8hes*(bC{2HJ+oPLNeX$F1?iqEVejg_bFl#m>_tbsVh!HzoX%3pPkx4%6~n zI)_sTkqXc0z5z3nwt~%$t%~e^qJWL)u8e9dY9LJ_vhH!0Tx7P`?XGVOARgoovHb45D1*+JDrmjL!_B2F(% zW5dRo&3PKDhsA7qP`l<2I8d4OMdZ*6^t=fXPr~mfdVBVLtjd5sVBJ|d|LfEdpz~Ge zLX4K8%9SXEaOdH}Sg%7Fq-*K|48lZZL?QQ_bCXoVzL1E}K`$1$8l*22-U)&x@8Lt{ z4yP&WeMKA+jJZVs$vNlfY@j^^jgfEzzeY(rZW1Wj10hh0$e!E1vPo)ei(h7j<^%dH zzE1bb-ljJU((x_4{jC?QUkUjjlqb=)pFj|^2P#*u_txW4^Y-gkX-A_X0MCDW_x@!PI!6;;8(x)b@yNV zx&65Qs;~RzfADwy=I{Q4e`t>zIZmdXc`Hw%Q;`cY8YKoV0WV{so1ARmKUjC@4GQ%0 z=>1FcGSRgTBy<{7LXulTwoq3mn~Qk+sT|O4I31ALWXb;DGO4y+6y0Zrezb-H6WH%6 zYaSh++Jx8% z{!3qa)ob5=cD~u(dfAv4T2+PFdD5?%rX}8d78&e5=!n>0{}MD@L|qsk2sy)+?#NDA zTCrRXEC5hIufH3F+2k#qKM)OY7wlQ>WYOSOQDtUSL@}yr?i0Y+Vj?(@i#8$3l8QK3 zX;2o}qPbX!br_$Tg*CfQnXgvweKn#`unG>F23nx8vO@jtnidsp=L4(#ev0Kikghwt z7$k=FSHswVL}nO{P)!a}9VaIi?J$A}>j7M%7bjVmHy(ZTyz2VHUwyj2c=XM0I=z1< za=Qs)JBl+SYl6k1CY>ErW=@TUA~4ZMl)^S%MOYv8KZZZ09}@huq#l5YHT`KgAB@QY>A~B*Ge>O7T538E|n=Q z4r+6WA$q-{P!|L8aH6Ls17&ImT=fbz^r7b}X~)!(NKmZe^f;|aLWam@)SbNT*2@vm zKw62!4FFx;%+x3t?Vz4o;AF_=YZ47oO_h*IV@}pgAdq7uvd^d1m8o(q)&-4EH=#lc zLlFdZ=CL}C*}`pv3&()x8QU(kK7DmfMAP03&8}(b9W7n;2%5uA0HUoW>79>2AJi~f z++yp@-BX}ql-I3mAikg;=8#&z%~9m9WA$V%-(n%t4Lj-&?-bR3kh-)fi42U9k>T<9 zD?XG8H`Ef(k?MgBGv31m27u|0(k=%g?1{0l(hQ{epg&+lan|0Ggt$89x#+v}e}(ie zP)sKg*P7Uh8KInEm}pcz=^`(=*TLis4eZ%X<5H7(BaJr7Ai~4x!o<*{1J;PtiZI%d z98wv9$tcb__veL+i#wnG(SO3pv(pz(?>%_v9pCu3{_Q~$fE@wMQ z&AXeMM8_{MF%dfvO=NC1mBk{CH+4QWQ}-aBHWDzS?6IeT7)a_kbqvQ$kbwe@jy7FE z6?CY!Fr#S;0o8_7s3LtJI}m!M3h-E(iYoe6IwRQSGczWUPXwwfg|PB+XfaSB68g$Q zL~2T9Ec_H?CB_;;wy8uOU0m?w`lDaIe|GKGlc#y(;m4mi+h2^z%ndNctYm-_qXcHt zbB+k>b23jVc%b@!%9cQ&0tp-=s`A>=)#pF_@vnOAtH1c^4`Y9J|G~2-TX!B6h^a!1 z8p^#gfXJfeh#NDyz;y5-q!q6)CRahlOs(il?PtEPgOH-Vt7;FqH}8xzw~UU+NVrNQJtEbHrS~=?zGBm6XCrkwMw@iqbH#`l5t*4fsW)8=_n z?O>{qz{L_FH@I1LXi+s;0*=g6&Lz@^H00e}ZqI;e7qVCEBP8Hf6psz7INK~J)W=7?~ zc!Xw?rB0A4H5L+UL`|P%;_<_Rk<~8jKr1b7ZWsLQ*ep0NREbNKwg`7Ubqym}GIcre zsP66UD~~a3kU=|ib%)btIJ2f88v7a;|% zR&h~DEHvFC(j%%|#|<%+5b3=RB&LPuIOw!fY}Qj0NEZpJ4}w9bfJSfD=2lAV zdXQF03IRY8&$47&zL?loF}9oYv-?-L`^3Ng$4|cRmw)l+f8k`CbGKs!qxK`nY2kXs z?Ld^ys0UlD*G811J$P~D)sN*@z4?{5p7{8uKYn!e6}ySp9Cx9=SnL_NXvP?=fq8a^ zYXl22T!tzw069huC8Y4g6kAw>!omU8I)`aef z3R|^!mk_Rnmu6T1#NRW)N|cBP?Ha=&9FSgjM9;106-LC+w=kG7xXu0U{MN&d+_`u5 zn%92Q+{EptUVr}J?k1VB>EV(7>~tTUymK_eVlXvYUOMBym#_TuneDx)Ul5pjt`=F_yQx*;-_M<6qhN(W=jRmBCRFs#yJZPAXXfPdYak$)2V{TSUoa&Irl^~3T6DS~K~MFxJH)^0!}QEX`hH1vq0Y1PvQdN_Ju8KZ z@z^qq*+ug;o(4ViY0~62TVYp4vkvbu2pe$9d^n;D9q51&f}N0nEF`^bld8&6QLRye zD=qEz|FVj zQ0O<&6(H%(6Fn4FK%>J;0M&G=LkvBIX-#;wt;4Jbo#K6yaSfsH z*``~abyr8LoXze;-?VxF)Gg&_)RW?G?qcGz1!I!t>-~DTU63>2mcRKUv zO4W|oB=?(*yemGd&2nE$v|O?9W& zThN_Cgr7d-R$fQ>>Y-*@0)_J~;noI7|Ljce1dqe&(b=1Dd$MJSwmyWzuAT~V#Xv=c zu|ZVG7(RFN`a>@}ow)hRH$9m5UiQ?JXZP-JYE*?URvSSnLAG!&1gBq1 zd!Qqs0;h7(rL(q*osIOaDX5W)S=cS3N~D6THZ8qIqZnzuESpkrrIc7S58XxD^|uwg z!!-{-?CNH`Zt`sIorrewfSkrr`bdd?IrJ$)A#^`LAZ%>AgrddmWdJa~G9*)a^nPjF z02s{6v*?`cWK%5|iaS|;lB=dv;?GX6a)qdd;Sw2YcKLUa5njSf{SKi8=IIoXUE9e% zD!j8+MRln!I~*z-n)ft*bhgpotBB|WrB#S@#1J`RPm*xVZNruSP@4(i#U0uk?Drh~ zO9*I)aiD=tSLy^UTZ+`rv!R(I8=KOI5tt%sx?VLuHfHjQPmFL+rz}j2u~hL$E)NE} zmj;qu0UvaabXSN8y~lTvNS6c>D_=#RWLvb?T6V)FTdZ+xJvcJ_*<%d4e?c3xttN;` zvnT8H*jsZUwO>rm#9P+=XwuLj~DZf$EJqryf zd@Qa2lSXY2acPBP!Mo8xP4ZL}X7S?mtj_QLng9HcqHg@c=RccuzURfwcYpI=``$nC z-GB5?9UtAex;Z}IU2v9^hy^_dq#?-L8ogQ5>Qs|M2YXq9hy&>fK!SqEZg^G`j8?t2 zEaR|U0Npm4b`vpI-$Vl;p>~6m7G7cn#B>PMo-{Vogr*fP!%~8SUqs?4BTw%=^R~y| z`ltW;U%vk{AKwBSZoqwv?!}8H6~J1s1Y=B~slC6UMxNvb*w*&ZlWVX2+HZW{`~T7R zfB%i^4@GR}+(&8>S450{V9?$PbIkxaa@B?9_VO7X;f5GM$S_+2Cm8k=ImusAiprT#Fb*8q?{ zGTckY#T6~NI9wt+Ecx(S<#uCwxEPUEWBj^3@6myw8G@svQ`(AJKsxa*;ekYSFR^!f zu{-6o7^o@jnR7Q!Zrs}K>*m8>gQM#Yzvayj?%v;EaO8F1D_U%`F=41bE&x@Dt+&SK!0NC|x4}++%-8>yAgt&rG_mHZZ zL9k4gO3aZ9yp055m7$gbgUkU9VCW6y#BRe_4-n9y0uK0Lp`Q#7nNFV`u<)n5$yC8_4v2Ey z-Ost%PYLOj>RLK1Akx>55dl)iV7o^wTK+Z}3Bv~O6wxC|XpB;p6$qAgAHC4wi-i%y zOdWv)z82KhGio;AwF!hqF)HpU`S_}BpKA@!o^N+BM552G)|2QYSEyN#H~~L;as659 zvH&%mR@l|f7ppOrs@8jpXy6{v^?wIS1CfI*)o>sHi~GIdNkDC9P+SFL_>e&*v!sr{ zM8kLghn&vBO>GW8KvSWVY#WOU>f!2CH-?%z75A$oQwSP{1C)@DBAvP^qC_Ats|Qht z+Uap;F6i8*jEv2I>kZ+2)|Hc0%?$-CBv8?cb*e^MM7ViQ+Xp>TL;p!PTRW0EcCLq2 z?gP>oVcnE0--yc@K6SuiKWcrVe~IhCw&-sSNk_9pAbg~wmO%uHao8%s-GA!dyw zgbsn%YE3MpLD5T%`dDb&_of1T$t2HU_09l?GAetio1oKA&RYqjw4VbfLI63OOuX2W zt-(^~w|ZxW=owq9VI9z*L@u3Ztl-&wDLQu6N{k0Mu9IiNpCnv=NxveSf1yc)!-4+G zC(gt1H8kJ?Ru#OOLe-vvJ;o7ow<^jyN^^bbV!~|q7&t&=oNPAxoELL<_2k;${M&z% zU-;a`JjyvH>fyJ1{a^b_fARPI$v-`>J$m!X)saAMra-ucBMBhZ3Ue)b*q_ZXz)vz0 zfs~c2tqm=J!0D_H6TB3XOv+W^m)NJ-%|=;EA}|Ki25_di0Uya3 z7I9r}r<|7pG~8!wSd$m`f6sUQ``2Ib>Mwux=Wz8HJLZJFh(2tHEm-O~1J$j@@+X3U z*w2Ysf!tK(!^io?ul>$%`j)@o?=*h`U{+!=|2xMLjeYv!-DEA-ji3AfB$m zYrRGt5-&At#GhDQxGxRi@)?u@X|;i1o%`E5iC(?qI(-HAgLlq#$hC2v{>CCS<$>zIRi5}=X9QPSVSQg zvvamRJ!Z1F=h%)s+C2ZUPu#k7;}<{sV;OP(*`L31 zbrW+>aEu`e*Jz?v8*%SI=O?LA!pNbv3=hYPuJ*-xW$8u$vXhB6vL-9_wTAoGVr^fn zmZ;V3X?SNfExNT*3z!*wv~IU}=ymu(c}*$K5^Xi748N`pcL_)PC_;$5P*uh3Kx60= z#g-JR>3*mPqEJ5>2ZKL+eoLeydpf510S(`ru&X7T#W*xs($!)830k-dg!Gssz+7^9 zSOST)c?pTkweDDnFIpr6{Rn)5kAAt2)>GDO>~zra!ZlV0U_I8J^rCkU7eu6nA_5pL z7F$V9$X%?MJv%4HDllfGs&l#87nYnuO}EBGU|F zI`QZR(<9kKDb`)hKxht7Gz^QS^9C4pUaR+CRRv3miYwV+UWdL&(4>CXcEN@97BnYX zJJ9u`E=?jRxNL0ebE7n)(DL{96g^&gWDGxb#oGgzYg(c`Z!?`MySiM>cyNT4J*44h zV*}TmtU|gdKe~eL@jQPJnB+|KmUR;M zwpH=GO~7`*_Z~EI^j5D%k7&&5FeTjH(b5T>d056SHy8Vr3v)`oXw-%d>n$UePp=VW zcJ=A-tf$6$5aB^tqaY%qJRb^P>y{WjKhB|LC( zadPY7H@%j1KFBfY&RJTTHt^6exjDqzz$`+jiHEn0Nyp0{Xw z2uo)%Mqq%edqK=A(5)T;PwQK{+mKvo_C}JNXrvjT#sn)gk!d%Qggt8$TB0B+3emy6 z$r*h-h~3!{A_QpeLzKp?`x)6vruE!*#cb?rbZ#^yd&;!`OK(`i(!~&pkVHZqd0I}( zzCOu;68{3EW^ZH~SNJ#<~NlwlJHqxJ5!0TE-UYQ^Z* zYLrbuS{fb>2y)s36`7`@O0g>(gh@A08tbXAX+|GinCdOl;I_ZYtk5Pl!g<1Wk>DTADVD@zIO?4FV zC%Q0?K$N??^s1{0(Pwg+t=ihCU(R6y=Z{u}LFHNJ1BIJdctHalbwMf_8?fv63$q6y za|aW$hL@Jpyh443%L&3)dfw{5OqZ~{JW_=im_WceA*epy>HNEj^KO1#BBX-U!YEBl zWo;tWt=?>oeyk2*Ud25dE4VaRQUs_mX@hES$R$^y!=k82$DBYxzjXLZf{<@d7A~d z#b~c8J7o7%1fi2BgwVs;+AG=3d114+7IQYyq4#|Fnd+Gf{-Obqx0O|PqE!;{G9Oo| z6<3|%#Q==NXg%Nh2BH}sZ0Xe{&{N|8jfxGHe2lD3-hJ_xo_zGtZ~ZOb`QQtm;l+-@ z6F6EKT}Ml|&PlZhC!J|IHe)1MI7)62yE;30_~v-c6W{Uezu{m0n;$y4{_sAy-|uxf zds<2FffC5jLh&BLwUBL82U9iz>RC((Apw=8i_I$~Norqc(O!bch-i=P z;ig?rG#MeF1Jg2)<<>jx;B-&8$W5C=Ac`&@fz5Qoaf}LCReq!8rtxWY3%$pqm(S(w z$F=mKdz6f#8Ht6$bSJsmlB;ouZ>d>;v1C>^wskTDmVyL(fQ1$G@1;06cjq@AeHHiE z-g^D+%C(oh>6bmYI6JB&Fcn$_x`Vy4=^Cb%C|Wnrt7#!gilwk|sks6eo6QTK`otUG z@Y-iT{o$DBXZN1l9v$rm2Drm6QxI9`P&!>i1S8}uv7fgMisHw)Rs#Bg=z6M_9K}vZ zaGikg`MofI@0-!c7&IPG|3_LH*Zp*Br5PnV+RJR|7mfg!Nkxxf&v!v)`_Ur8-MVrp zcff5@YZ(gtT)on#Cep-!{nH`!(|O#-V3}GwCOan`Qno(7+_mW%g1(%dPi2JVeY}u~ zW+JwtNGj%aVqtkUO-Fioqpnby$pA+uG!L}^g7i$u2DHtRoBt!!fn!2oz@>mL#aQsV z1qjbcb>?OCODpT+dL~gdtwzlb1b%<8Sx|r2&QJtHCr-EtVu3GrT??Lg7K^?|lV=Xw zLvbJQNE*;%g<M{>7O`i*mQW&7Z8?VKX5z?<9=xZ`ttt43=)pe?VLCd&=?11e zO*BDL)nnadRjK%tLvvB-X;DURI5dH409-RntWDtW%wDGK?wdk{PFz>u?D3b78(RUK zaQimU(jyR>lNm_bZi(p))ZIX%j^{!jjvknU`vCf+}f3EEA%35+9fxT6HWCi zj)vNU#I@i#*&IlzJ%!QO;6&jkY!$U4q8hwbdue7B89ne((3c2X9mBiH4OQg9 zf;Jn*1cJ=kS8g^En>K;7^E==5Yrgg0`<=h@>}Nh+M`N?a$u2MI{v+@HwLkGAKmOFW zeA~>cC)aN7Fk@H<_7NxYk+2U_bn*xZv0kcvWebhbw<<{(KE z2${@IiCQ0uy?)EW-v`LoJe|a}DZ@b1StFf)wa~H?ErV6Vk1&pLg&WL^XTR@%`0I~7 z{P5i`eCGJ*=xpP2kKw)E_o|ysSJ8YSDsfCEVkY;DeQ@q}^ZedJuX*(LSH1pQe&w(F zzVH8$lN+ztjGXg=tqTT$EcK|cu|i9RVLx=^`-s&rZXDkL$8JNV!rpqZptUAxm3fn| zSX;F?b%RFYjW}unmvli{dyXABv;bC(X7z$bigP)SM-%ymxqA94&*=e*5T+J=`1JEZ zdM2C;M3RuaPyo;PQN6u6J^ctJ2^r;hrS|@;E)0f8;jYZXh48(iTSZXVTwWIaBfKtZ zcYgiWW2ZH*zUpxtUwQaz-f-{YY#W0|n`DkiGBbrO*oR)Y9X!^n;Mxts6;6dgv_m#? z&#PB%Jon)rechWL|KvyhzcKd@?mm|>_QZA{7(>Sn?)MXn*+x@+%;;^x#vsZ%6y)>Xfj zskxovmc1sNL6)u7JeE`~Bo~u#_APHIzeICQi$pY5p7Kc#@BPWe_nflGUigZ3ycAe` zIAv(spLVnsaRkO_I^PVj--0Dn1XD6V>BicH%&3T2pqmW(PyNEEsUomlOgK=O5J2d1 zTcGynimrePHEbFc!=@JjL=AfF0SIz5>scv@7Z9N}(G%b~b&^RHS+k6^$M#Lax zIMiBBEwze6DYD}agf=_LIepR2$Si`>omxBqbLAH=vOd|5u9$-@PU(9pT3V$!ik7<0 zDwYkjv^XO&v-?iNMrD>1eiT^TmrJ-s6lT#HWFNsf(1dDzi(UyDo#k$fG;ei7szlTX%*ESqC zoNZ?$&MtZ4I3tA{4BF82M^LSGi4CdeaZ~rQ;-ah-K zFXm5N#+=?W-ng>HlkZ$2^ zu7#G`YRaJMS)QT%Z+2&i#$s<{vCh`+211~U;PeD=$v{HDtRT{br0R+YRt|~?*+BcT z5LN=jXH21)QSISA=h+G3!Py0B{)IpLf5!8l|z?k_sf@bPu<43PMUJ%BqSMJA@(9(V`3i1Xl#B6dBcKLJ!_!YEE87m$CIU zHHrjertEVQ44eBIQPPiP&JGQ&j3&frEyD9QCuad_WYU7ps3>oD1z$82S0rs!x)m@D zlx>T>S5N* z#XcT=<1gFo9&8j3CS@0NL8 z^auWV)WzKwpBbA$&;{2091)_7y54F_jd$gW5l$Nm%fV;pfn+6fwF}F(SMt-gwa*iG zJPgCTH5f^+0B3z2!4^R*ueycDrhwJkU)ND#$2ohIgeMHB6cUgbpsfoLsYYS|8P!-) z^;FDgRNyRO)ogxQ6&ROWHA zfXGbeZ1NJDZB;yhh|#CghpMmaJrSz6MyPg?kr6X2=yoL3FBzmCghb=wm~1f%%a!eb zDMq8mp-qv2@G(s2F=mYcTo(?o-N`0mw4n zC5V|iy9pMx8>jb<_S#2l<;p`X-H;ktR8u8lv+P{+1{9jY12KYeX-JA(@C0I6B@yc! z*Z??W(`wC=2+iAbcd!*i?F6#nuC%I;^2sY7w;#=l*3D zr>6=PTp9po^NV{JW}GLy47{X7MnMiSI1qE#$RwG~HibG9+s;YARlV=DJ|W z4+{v-Zcer*`+5I&eb;aQ+yD4~d*SCkb!|T~B$6ODU;#N}xIwey4?Vd9k#y&TtAoVK z2IptHxOwB+6Hotp@Biixe&plZn~y!n&HnT>GYca#C#J$m<0UgWD|!1p0Oo83Qi29e zHT8?VbPyuk$Q;Ef>Nvb9*xnDFnow2UPZRxURU0na<0KQa{#-jYJhIdzEsz|@3Jg7$ zTA{=n%I;gOpg>D_syw>zp_5`oM-U|*B1&8hP$8DsuTQMYJGMC>+b!JDsluazt3Ry+ zQ;sxaa{H)|rYjz;154QO>g5;{H6jza&%Brqu3x)(uQn&wU-w{#hu{3hvz^A77NJ5b z(Sw^HS;*MGfJ$|Nxpc{z)Zz5e#hXCJh#hwq!1n0)rH_8(wQqmpr+(yLOxEfBmyVB* zq%$g-_v?WIT}F)20+Jp`aTS`3*`eVY?2IAhx7_EaorXZ43fvlV(Xl6mIJ6PO>#WkC zi+e@`^rBU|C4(WioRGGmZEL8`{hH!;Fjy+?R0bOO5H62YEv4O>o_D4jec&lLaXCk! zU2%|tq!B&7pSDR6fKIUj+>5M({mQ1gYShBeERS541J0TVHAqRz!xsx6kUZx; z$dPMA-@XhC`QQqt1EIWc9hhY z17)=@44Dq@fxTOB>4!}kdqIPFG>~NF+D?^{0|b<)K_-rK+NsdDSNY?s464vBFE6~l zDB73fcjoDqXpM}WiK+%L21fm!(AOn z_+d_#fjx>dT#$9Z_KP?W^?seP(299#_zh1wiE1Q+>hPVc8pHzhkp$pZOmb>P!PL%s zDt!+H6;3To*=`jGF5cm{Abu1`znkbnR<P3ZAqWZRS*)_@&7Qsixw41UA+a*53&NL zLWa>Nny3IvS7FU!*OvltH#2zYyQ8~SSYS%=8yVpOr{N-3bV&4A+lZVBAC3WjcZ;Al zmI^}Cu7z-$^8;!df=gZ$6Lh3B71Umj>0bh8gbNMYB<9l+aU0AMh?L>eJfG#yUbZn@ zYD<&N)#I6c2btoAAc-1~psAK6$)7p;3{ocvdU#Et4+rj=GuZw%EkKt|prZ9GS*xO= z6+)!i-Ka^kB7tmu+?6THTJMwq5S8%kA|hj*s))8=01Xkuc{+G;)jjpL#ckQ|RCyqS z9N6x8=Z}2%fBdpnz3J}fKesu~$T%7&V9v99*PeX)PyXN!J@t*>J~qem#;vNFK*k^{ zn4FVEOzl%bsTLh`>>#uVz(Ycb&Kek(#18{WtS*O+6$OD*4HD2)J{LzxRt-^|j8FkN zRf=(v4+J>_F#c$`R5s}2G?mHFu=`18o8Hh|fN`b~&T7+#jv819pK}3dX-ss-5US@tV z?n*Q6!EpBT=z1bhA$};7VyL_%n11%gGD`MFcD_3>F#}uWVikCV;dQM-{#LQP1f!n} z0vfbPM^PmjfbI;2OZRBgxtv>GT7Zqat2QioMVHwKq9a{^5i@g(ni0v1^PAUSevftg z(Kqnw)!R?KaesQD(y(cnSRw6{gyUk^OyNgZOJ7O*qQe6jisXJ)VT^~aKJ@%g|HSLw z{L6m!M}8pc{K13gwiw}ya(S&SbB@9~o}-_Mu^}3EEoQSs#a0UK;eb8N%T>C#OL!z_ zgb@T6Re<{}1f7&p*|3Rj8U;(IA3I*vR981Drh#nlSq~R+6*X4z96kXr+0`atI}=yoP& z1%{GUH}?3OB-e(Or!j`EmxWE{0<%pE8W{N$g{khphqlgFMu^gVu2k6uoX|jqa^$o(2X%_Btod35glUmjs;f1NX^k9ApM@2 z*s7Z~mDIRg>S}s9WTcjG+~sIV##9HPZllF;SJDa>w(Ooj41-he=8iHE-9`wN0Zcaid5mN%N+2MK zUeaq?QjZ_-+X^cz3Al49(Gdg)xAn6J?ErEKxn^V5vv%3KoI}KpAd_7!S##LQISUi$ zvt|sqIwB&L(<++F_Y1}W&B*l;UjLLabCFA~%#;jbxLUq84(KXd5S9Im6PPulIfuvv zo1aSqv6!PZh!!8Q;&orU$v3fNzcqi-aUhry5affhs@$KT*@?uu8<)&oXOnrqv68={ zL$zOwi&?Eo16=|^0Rq)6My>wA59(+A?_7(o|{`6aGldhae zrDCO{Er^Io1i0C3&v!`fKl_P)&F6mZ=(H+hKQCDO&DaoizJBzEcm0a@{qleN zp$~13AHI6+=2U>Aw>!Jp(ET1#s2H>jtMi)CN-S-A&A$rHb!=?oIe6x#?8=VUlG-ZV z6+rKNrz)?;1c4YEj|G#E)nA5I2HjU6IM1}|*Oj$?i>VRejchThm; zib==c2=tl9&f*}u1(&#y?a8gzJ-$D`mq5%6JHkj*9)g$?LsAxQNLo#eDuzyy3XwYZqHeOrQ5LRT zx%Q=xfAFgxd*!D;^n?34zkBzEi7wHXYixkap*alDJAvq~2s@R0t5(dV zF(@;*+&0T<+sXtHBVw=xS4YiO*IP8vLX}vy0APt!_w(wlq&4Ashy#`=ljPozxlM1E z7IW=cW}wgeDrqsD;thX%-al=6!Qq@_At-Xw|BlqOK`?BYvQH3aM}o|jyJd_7cwH7y?MH# zAD^@v23>E0IfrOM1gWZ;&LD2a7TKv(n!IMomtPp1YoRj_(wh|vb9dPC^VcMf8e^?!R1 zgqk9W?`R54v_~s+FXRD9dzbSdU*O=TZ>`jRcH;zx1vH^YED&pg5I}O6W%hr{SozSt z9tZTJ1VYtV+5Ee?q>m;s5ZoBkyM;?JGLxt*P3RTDVAnK6M>8$wuW3{cVd17k9n>Hl zAdJAv`Gl2oPOrakMCx!GgqP{1b>lSJ^rPP}{FDo_$OzU&d!xc@#6>ynsca3&9)LtJ zV%9vY(Uf{2yj=^=xHzY?3%jfYM0BHuweEqyO7-5V+O}Hi;=T^Y;k$)5YPe?Qc%=TK zabRzX@Bz@ne6jM<3Lr)XE0iMCQ;>~ix#FP>CTY-vI^o-cp$W5+l?$J}sJRk;Ciar?

@{c$xIM(Fxjt~JbdCZsEgCk393TU-uS*2GI zCDVRq=@soH1xEy#C$6+09}k+NCbC!QWLSdS;f@q+z%2<00#=|n!8wv9ow|vg2-b6G z#^MN*)5n^?JiINyYY?NiQD5XLY32nXwR+#pRySkJtlJ6aREjv2pDf zs*rh(2_0zp7!ra^++fDtI_}$=eu+hDcal&gEkdup@X0qn{@625{tRAt=H*}hh_3EF zQ1jrWBS~T*lLH_zQ#51rm=wzGeK6^1DFcr?R)lM<$L~GzrN8F?`g{MtfB#qh+MUPW zapK)pd!j*rVrSG?+pG_Acj?+shv;TTr@Wv#ur`jf#tM&6$g+<(iRIr$bOp zXIiGR&X|K)Y~Tf;>e#49%39u53wg%Ga;`eawN7~bg-`tIuYBLX{)rzxKKkKTKKbOW zd-o3&9;$eX>CtF5qh+#uJMEK0+!J(#Ak9?lB8xCV<2bk2Z~m3IoT%Q~AqJ>3qbws#V0wx@}P z#tlh#7^%RVo)lwRFuV(+I1H|FiobO22|O7NdDW!*H)gt89xh?O>xQ;OWu&$D-=uXA zOxvYpA(fVi11-HUx2qA5v~<2HJGXs7}8>3QPev(Qa5-w5F*V* z(F{kDa1@(&!2*^gD+{Me$87nH4H$lcmBv+Ge4f2Kh zI#`!)k-(YJ=;X!4G^FP7_`0Ik82dxa!OKaBG@fSa&X|)|9iYPURg(&%0A4_$zexhe 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

*_i#@g$dgg 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

    _vWit?^WT| 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

    !?;$2wlr6GnyT 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 QueryResult: - """Query the LLM.""" - client, model_name_processed = get_client_llm( - model_name, structured_output=output_model is not None - ) - if model_name.startswith("openrouter/"): - # OpenRouter uses the OpenAI-compatible client - query_fn = query_openai - # We need to pass the processed model name (e.g., anthropic/claude-3-5-sonnet) - # to the query function, but get_client_llm already returns it. - # However, query_openai expects the model_name argument to be passed to client.chat.completions.create - # so we should use the one returned by get_client_llm. - model_name = model_name_processed - elif model_name in CLAUDE_MODELS.keys() or "anthropic" in model_name: - query_fn = query_anthropic - elif model_name in OPENAI_MODELS.keys(): - query_fn = query_openai - elif model_name in DEEPSEEK_MODELS.keys(): - query_fn = query_deepseek - elif model_name in GEMINI_MODELS.keys(): - query_fn = query_gemini - else: - raise ValueError(f"Model {model_name} not supported.") - - start_time = time.time() - - # Loop for tool calling - max_tool_iterations = 5 - current_msg_history = list(msg_history) - current_msg = msg - total_cost = 0.0 - total_input_tokens = 0 - total_output_tokens = 0 - - for i in range(max_tool_iterations): - result = query_fn( - client, - model_name, - current_msg, - system_msg, - current_msg_history, - output_model, - model_posteriors=model_posteriors, - tools=tools, - **kwargs, - ) - - # Accumulate costs and tokens - total_cost += result.cost - total_input_tokens += result.input_tokens - total_output_tokens += result.output_tokens - - # Check for tool calls - if result.tool_calls and tool_map: - # Execute tools - tool_outputs = [] - for tool_call in result.tool_calls: - function_name = tool_call.get("name") or tool_call.get( - "function", {} - ).get("name") - function_args = tool_call.get("input") or tool_call.get( - "function", {} - ).get("arguments") - call_id = tool_call.get("id") - - if isinstance(function_args, str): - try: - import json - - function_args = json.loads(function_args) - except: - pass - - if function_name in tool_map: - try: - logger.info( - f"Executing tool {function_name} with args {function_args}" - ) - output = tool_map[function_name](**function_args) - except Exception as e: - output = {"error": str(e)} - else: - output = {"error": f"Tool {function_name} not found"} - - tool_outputs.append( - { - "tool_call_id": call_id, - "output": str(output), - "name": function_name, - } - ) - - # Prepare history for next iteration - # The query_fn already appended the assistant message with tool calls to new_msg_history in result - current_msg_history = result.new_msg_history - - # Add tool outputs to history - for tool_output in tool_outputs: - if "anthropic" in model_name or model_name in CLAUDE_MODELS: - current_msg_history.append( - { - "role": "user", - "content": [ - { - "type": "tool_result", - "tool_use_id": tool_output["tool_call_id"], - "content": tool_output["output"], - } - ], - } - ) - else: - # OpenAI format - current_msg_history.append( - { - "role": "tool", - "tool_call_id": tool_output["tool_call_id"], - "name": tool_output["name"], - "content": tool_output["output"], - } - ) - - # For the next iteration, msg is empty because context is in history - # But query_fn signature expects a msg. - # For Anthropic, we just continue conversation. - # For OpenAI, we send new history. - # We need to adjust query_fn to handle empty msg if history has it? - # actually query_fn appends msg to history. If msg is empty string, it appends empty user message which might be weird. - # But we can just pass "Continue" or similar if needed, or rely on the fact that we updated history. - # Actually, let's look at query_fn again. It does `new_msg_history = msg_history + [{"role": "user", "content": msg}]` - # We don't want to add a user message if we are just returning tool outputs. - # We need to pass the *updated* history as msg_history, and an empty msg? - # Or better, we modify query logic to just use the updated history. - - # Since we can't easily modify query_fn signature behaviour without breaking things, - # we will pass a dummy prompt like "continue" or rely on the fact that for tool use loops, - # the "user" response IS the tool output. - # Wait, `query_fn` adds a user message with `msg`. - # If we pass `msg=""`, it adds an empty user message. - # Correct flow for tool use: - # 1. User: msg - # 2. Assistant: tool_call - # 3. Tool: tool_result - # 4. Assistant: final response - - # In our loop: - # Iter 0: msg passed as `msg`. `msg_history` is initial history. - # `query_fn` constructs `[...history, user:msg]`. Returns `assistant:tool_call`. - # We get `result.new_msg_history` which is `[...history, user:msg, assistant:tool_call]`. - # We append `tool:tool_result` to this. - # Iter 1: We want to get the next assistant response. - # If we call `query_fn` again, we need to pass the updated history. - # But `query_fn` enforces adding a user message `msg`. - # We cannot use `query_fn` as is for the loop step if it forces a new user message. - # We need to change `query_fn` to allow `msg` to be None/skip if history is sufficient? - # Or we hack it by passing the tool output as the `msg` for the next turn? - - # For OpenAI: - # messages = [system] + history + [user:msg] - # If we want to send tool outputs, they are "tool" role messages. - # So `msg` is not appropriate for tool outputs. - - # We need to modify `query_fn` to handle this scenario or implement the loop logic inside `query_fn`. - # But `query` wraps `query_fn`. - - # Let's modify `query` to NOT use `query_fn` for subsequent iterations, but call client directly? - # That duplicates logic. - - # Better: Modify `query_fn` to accept `msg=None` and skip adding it if so. - - current_msg = None - # We will modify query_fn to handle msg=None - - else: - # No tool calls, we are done - break - - end_time = time.time() - - # Update result costs/tokens to reflect total - result.cost = total_cost - result.input_tokens = total_input_tokens - result.output_tokens = total_output_tokens - - # Log to ClickHouse - try: - from genesis.utils.clickhouse_logger import ch_logger - - log_messages = [] - if system_msg: - log_messages.append({"role": "system", "content": system_msg}) - if msg_history: - log_messages.extend(msg_history) - if msg: - log_messages.append({"role": "user", "content": msg}) - - ch_logger.log_llm_interaction( - model=model_name, - messages=log_messages, - response=result.content if result else "None", - cost=result.cost - if result and hasattr(result, "cost") and result.cost - else 0.0, - execution_time=end_time - start_time, - metadata=kwargs, - thought=result.thought if result and hasattr(result, "thought") else "", - ) - except Exception as e: - logger.warning(f"Failed to log to ClickHouse: {e}") - - return result diff --git a/genesis/plots/__init__.py b/genesis/plots/__init__.py deleted file mode 100644 index efbacf4..0000000 --- a/genesis/plots/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -from .plot_lineage_tree import plot_lineage_tree -from .plot_improvement import plot_improvement -from .plot_pareto import plot_pareto -from .plot_similarity import plot_embed_similarity - -__all__ = [ - "plot_lineage_tree", - "plot_improvement", - "plot_pareto", - "plot_embed_similarity", -] diff --git a/genesis/plots/code_path_anim.py b/genesis/plots/code_path_anim.py deleted file mode 100644 index d5d36d9..0000000 --- a/genesis/plots/code_path_anim.py +++ /dev/null @@ -1,1384 +0,0 @@ -import os -import glob -import shutil -import subprocess -import tempfile -from PIL import Image, ImageDraw, ImageFont -from pygments.lexers import get_lexer_for_filename, guess_lexer - -from pygments.styles import get_style_by_name -import difflib - -from moviepy import VideoClip -import numpy as np -from genesis.utils import load_programs_to_df, get_path_to_best_node, store_best_path -import argparse - -parser = argparse.ArgumentParser() -parser.add_argument( - "--results_dir", - type=str, - default="examples/agent_design/results_20250620_133347", -) -args = parser.parse_args() - -results_dir = args.results_dir - -df = load_programs_to_df(f"{results_dir}/evolution_db.sqlite") -print(df.head()) -best_path = get_path_to_best_node(df) -store_best_path(best_path, results_dir) -best_path_dir = os.path.join(results_dir, "best_path") - -# copy main.py to original.py -shutil.copy(f"{best_path_dir}/main.py", f"{best_path_dir}/original.py") -# --- Configuration --- -BASE_CODE_FILE = f"{best_path_dir}/original.py" # Replace with your base file -PATCH_DIR = f"{best_path_dir}/patches" # Directory containing your .patch files - -# Custom patch labels (optional) - if provided, these will be used instead -# of patch file names. Set to None to use patch file names, or provide a -# list of custom descriptions -INIT_LABEL_STATE = "Initial" -patch_labels = best_path.patch_name.iloc[1:].tolist() - - -OUTPUT_VIDEO = f"{results_dir}/code_evolution.mp4" -# 2560×1440 (2K / QHD) -# 3840×2160 (4K / UHD) -VIDEO_WIDTH = 3840 # Increased from 1920 to 3840 -VIDEO_HEIGHT = 2160 # Increased from 1080 to 2160 -FPS = 25 - -# Center content in frame -CENTER_CONTENT = True # Set to True to center content in frame - -# Background setting -USE_WHITE_BACKGROUND = ( - True # Set to True for white background, False for dark background -) - -# Appearance -# Try these common monospace fonts in order of preference -FONT_PATH = ( - "/System/Library/Fonts/Menlo.ttc" # Default - if os.path.exists("/System/Library/Fonts/Menlo.ttc") - else "/System/Library/Fonts/SFMono-Regular.otf" # SF Mono - if os.path.exists("/System/Library/Fonts/SFMono-Regular.otf") - else "/System/Library/Fonts/Monaco.ttf" # Monaco - if os.path.exists("/System/Library/Fonts/Monaco.ttf") - else "/System/Library/Fonts/Courier.ttc" # Courier - if os.path.exists("/System/Library/Fonts/Courier.ttc") - else "/System/Library/Fonts/Andale Mono.ttf" # Andale Mono - if os.path.exists("/System/Library/Fonts/Andale Mono.ttf") - else "/System/Library/Fonts/Menlo.ttc" # Fallback to Menlo -) - -FONT_PATH = "/System/Library/Fonts/Andale Mono.ttf" -try: - FONT_SIZE = 30 - LINE_HEIGHT_RATIO = 1.3 - LINE_HEIGHT = int(FONT_SIZE * LINE_HEIGHT_RATIO) - FONT = ImageFont.truetype(FONT_PATH, FONT_SIZE) -except IOError: - print(f"Warning: Font {FONT_PATH} not found. Using PIL default font.") - FONT = ImageFont.load_default() - try: - bbox = FONT.getbbox("M") - FONT_SIZE = bbox[3] - bbox[1] if bbox else 10 - LINE_HEIGHT_RATIO = 1.5 - LINE_HEIGHT = int(FONT_SIZE * LINE_HEIGHT_RATIO) - except AttributeError: - FONT_SIZE = 10 - LINE_HEIGHT_RATIO = 1.5 - LINE_HEIGHT = 15 - print("Using fallback font size and line height.") - - -# Apply color scheme based on background choice -if USE_WHITE_BACKGROUND: - # Light theme colors - BG_COLOR = (250, 250, 250) - TEXT_COLOR = (30, 30, 30) - ADDED_LINE_BG_COLOR = (200, 255, 200, 180) # Light green with alpha - HISTORY_ADDED_LINE_BG_COLOR = (180, 240, 180, 160) - HISTORY_PANE_BG_COLOR = (240, 240, 240) - HISTORY_PANE_BORDER_COLOR = (180, 180, 180) - HISTORY_PANE_TEXT_COLOR = (30, 30, 30) - MINI_DIFF_BG_COLOR = (230, 230, 230) - MINI_DIFF_ADDED_COLOR = (0, 120, 0) - MINI_DIFF_REMOVED_COLOR = (150, 0, 0) - MINI_DIFF_CONTEXT_COLOR = (120, 120, 120) - MINI_DIFF_ACTIVE_BORDER_COLOR = (180, 160, 0) - PYGMENTS_STYLE = "default" # Light syntax highlighting -else: - # Dark theme colors (default) - BG_COLOR = (30, 30, 30) - TEXT_COLOR = (220, 220, 220) - ADDED_LINE_BG_COLOR = (30, 70, 30, 200) # Dark green with alpha - HISTORY_ADDED_LINE_BG_COLOR = (25, 55, 25, 180) - HISTORY_PANE_BG_COLOR = (38, 38, 38) - HISTORY_PANE_BORDER_COLOR = (60, 60, 60) - HISTORY_PANE_TEXT_COLOR = (200, 200, 200) - MINI_DIFF_BG_COLOR = (45, 45, 45) - MINI_DIFF_ADDED_COLOR = (0, 180, 0) - MINI_DIFF_REMOVED_COLOR = (180, 0, 0) - MINI_DIFF_CONTEXT_COLOR = (100, 100, 100) - MINI_DIFF_ACTIVE_BORDER_COLOR = (220, 220, 0) - PYGMENTS_STYLE = "monokai" # Dark syntax highlighting - -style = get_style_by_name(PYGMENTS_STYLE) - -# --- History Panes (like first video) --- -SHOW_HISTORY_PANES = True -NUM_HISTORY_PANES_TO_SHOW = 3 -HISTORY_PANE_Y_START = 94 -HISTORY_PANE_X_START_OFFSET_FROM_RIGHT = 5 -HISTORY_PANE_SPACING = 10 -HISTORY_FONT_SIZE = 8 -HISTORY_LABEL_FONT_SIZE = 30 # Match the main font size for consistency -TITLE_FONT_SIZE = 55 # Font size for the main iteration title -HISTORY_LINE_HEIGHT_RATIO = 1.2 -HISTORY_MAX_LINES_TO_DRAW = 1000 -MAIN_PANE_X_OFFSET = 20 -# Align main pane top with history panes -MAIN_PANE_Y_OFFSET = HISTORY_PANE_Y_START -MAIN_PANE_RIGHT_MARGIN_IF_HISTORY = 5 - -# --- Mini-diff settings (fallback if SHOW_HISTORY_PANES is False) --- -MINI_DIFF_PANE_WIDTH = 150 -MINI_DIFF_WIDTH = 12 -MINI_DIFF_HEIGHT_PER_LINE = 2 -MINI_DIFF_SPACING = 7 -MINI_DIFF_MAX_LINES = 1000 -MINI_DIFF_TEXT_SIZE = 30 - - -# Animation timing -CHARS_PER_SECOND = 150 -HOLD_DURATION_PER_ITERATION = ( - 1.0 # Increased duration since we're just holding each frame -) -# SCROLL_DURATION_PER_ITERATION = 1.5 # Will be made dynamic -SCROLL_SPEED_LINES_PER_SECOND = 40 # Lines to scroll per second -MIN_SCROLL_DURATION = 0.75 # Minimum time for a scroll animation -SCROLL_PAUSE_AT_TOP = 0.1 # Pause at top before scrolling -SCROLL_PAUSE_AT_BOTTOM = 1.5 # Pause at bottom before next iteration - -# Smooth transition settings for history panels -HISTORY_TRANSITION_DURATION = 0.8 # Duration for history panels to fade in/out -# Duration for main pane to slide in from left -MAIN_PANE_SLIDE_IN_DURATION = 0.6 - -# --- Helper Functions --- - - -def get_file_content(filepath): - try: - with open(filepath, "r", encoding="utf-8") as f: - return f.read() - except FileNotFoundError: - return "" - except Exception as e: - print(f"Error reading {filepath}: {e}") - return "" - - -def apply_patch(base_file_path, patch_file_path, target_dir): - temp_file_name = os.path.basename(base_file_path) - temp_file_path = os.path.join(target_dir, temp_file_name) - - if not os.path.exists(temp_file_path) and os.path.exists(base_file_path): - shutil.copy2(base_file_path, temp_file_path) - elif not os.path.exists(temp_file_path) and not os.path.exists(base_file_path): - with open(temp_file_path, "w", encoding="utf-8") as f: # Ensure utf-8 - pass - - cmd = [ - "git", - "apply", - "--ignore-whitespace", - "--recount", - ] # --recount helps with line numbers - # Simple p-level detection - patch_preview_content = get_file_content(patch_file_path) - if ( - f"--- a/{temp_file_name}" in patch_preview_content - or f"--- a\\{temp_file_name}" in patch_preview_content - ): - cmd.append("-p1") - - cmd.append(os.path.abspath(patch_file_path)) - - try: - subprocess.run( - cmd, - cwd=target_dir, - check=True, - capture_output=True, - text=True, - encoding="utf-8", - errors="ignore", - ) - except subprocess.CalledProcessError as e: - print(f"Error applying patch {patch_file_path} with git apply:") - print("stdout:", e.stdout) - print("stderr:", e.stderr) - print("Attempting manual patch application (VERY basic)...") - # Extremely simplified manual patch for additions/removals only - current_content_lines = get_file_content(temp_file_path).splitlines(True) - patch_content_lines = patch_preview_content.splitlines(True) - - output_lines = [] - c_idx = 0 - for p_line in patch_content_lines: - if ( - p_line.startswith("---") - or p_line.startswith("+++") - or p_line.startswith("@@") - or p_line.startswith("diff") - ): - continue - if p_line.startswith("+"): - output_lines.append(p_line[1:]) - elif p_line.startswith("-"): - c_idx += 1 # Skip corresponding line in current - else: # Context - if c_idx < len(current_content_lines): - output_lines.append(current_content_lines[c_idx]) - c_idx += 1 - if c_idx < len(current_content_lines): # Append remaining - output_lines.extend(current_content_lines[c_idx:]) - - with open(temp_file_path, "w", encoding="utf-8") as f: - f.writelines(output_lines) - print( - f"Manual patch attempt for {patch_file_path} completed. " - f"Result may be imperfect." - ) - - return get_file_content(temp_file_path) - - -def get_diff_details(old_code, new_code): - added_lines_indices = set() - new_code_lines = new_code.splitlines() - old_code_lines = old_code.splitlines() - - s = difflib.SequenceMatcher(None, old_code_lines, new_code_lines, autojunk=False) - for tag, i1, i2, j1, j2 in s.get_opcodes(): - if tag == "insert": - for i in range(j1, j2): - added_lines_indices.add(i) - elif tag == "replace": - for i in range(j1, j2): - added_lines_indices.add(i) - return added_lines_indices - - -def draw_mini_diff( - patch_content, is_active=False, font_mini_diff=None -): # For fallback mode - img_height = MINI_DIFF_HEIGHT_PER_LINE * MINI_DIFF_MAX_LINES - img_width = MINI_DIFF_WIDTH - - final_img_width = img_width + (4 if is_active else 0) - final_img_height = img_height + (4 if is_active else 0) - - base_img = Image.new("RGB", (img_width, img_height), MINI_DIFF_BG_COLOR) - draw = ImageDraw.Draw(base_img) - y = 0 - lines_drawn = 0 - for line in patch_content.splitlines(): - if lines_drawn >= MINI_DIFF_MAX_LINES: - break - if ( - line.startswith("+++") - or line.startswith("---") - or line.startswith("diff") - or line.startswith("index") - or line.startswith("@@") - ): - continue - color = MINI_DIFF_CONTEXT_COLOR - if line.startswith("+"): - color = MINI_DIFF_ADDED_COLOR - elif line.startswith("-"): - color = MINI_DIFF_REMOVED_COLOR - draw.rectangle((0, y, img_width, y + MINI_DIFF_HEIGHT_PER_LINE), fill=color) - y += MINI_DIFF_HEIGHT_PER_LINE - lines_drawn += 1 - - if is_active: - border_img = Image.new( - "RGB", (final_img_width, final_img_height), MINI_DIFF_ACTIVE_BORDER_COLOR - ) - border_img.paste(base_img, (2, 2)) - return border_img - return base_img - - -# --- Prepare Fonts --- -try: - HISTORY_FONT = ImageFont.truetype(FONT_PATH, HISTORY_FONT_SIZE) - HISTORY_LABEL_FONT = ImageFont.truetype(FONT_PATH, HISTORY_LABEL_FONT_SIZE) - TITLE_FONT = ImageFont.truetype(FONT_PATH, TITLE_FONT_SIZE) -except IOError: - HISTORY_FONT = FONT # Fallback - HISTORY_LABEL_FONT = FONT # Fallback - TITLE_FONT = FONT # Fallback for title font -HISTORY_LINE_HEIGHT = int(HISTORY_FONT_SIZE * HISTORY_LINE_HEIGHT_RATIO) - -try: - MINI_DIFF_FONT = ImageFont.truetype(FONT_PATH, MINI_DIFF_TEXT_SIZE) -except IOError: - MINI_DIFF_FONT = ImageFont.load_default() - - -# --- Prepare States --- -print("Preparing code states and diffs...") -patch_files = sorted(glob.glob(os.path.join(PATCH_DIR, "*.patch"))) -if not patch_files: - print(f"No patch files found in {PATCH_DIR}. Exiting.") - exit() - -if not os.path.exists(BASE_CODE_FILE): - print(f"Base code file {BASE_CODE_FILE} not found. Assuming empty base.") - with open(BASE_CODE_FILE, "w", encoding="utf-8") as f: - pass - -code_states = [] -raw_patch_contents_for_minidiff = [] # Only for fallback mini-diffs - -base_content = get_file_content(BASE_CODE_FILE) -code_states.append( - {"content": base_content, "added_lines": set(), "patch_name": INIT_LABEL_STATE} -) - -temp_dir = tempfile.mkdtemp() -temp_base_path = os.path.join(temp_dir, os.path.basename(BASE_CODE_FILE)) -if os.path.exists(BASE_CODE_FILE): - shutil.copy2(BASE_CODE_FILE, temp_base_path) -else: - with open(temp_base_path, "w", encoding="utf-8") as f: - pass - -previous_content = base_content -for i, patch_file in enumerate(patch_files): - print(f"Processing patch {i + 1}/{len(patch_files)}: {patch_file}") - patch_name = os.path.basename(patch_file) - - # Use custom label if provided, otherwise use patch file name - if patch_labels and i < len(patch_labels): - display_name = patch_labels[i] - else: - display_name = patch_name - - current_content = apply_patch(temp_base_path, patch_file, temp_dir) - - added_lines_indices = get_diff_details(previous_content, current_content) - code_states.append( - { - "content": current_content, - "added_lines": added_lines_indices, - "patch_name": display_name, - } - ) - - # Only load raw patches if needed for mini-diffs - if not SHOW_HISTORY_PANES: - raw_patch_contents_for_minidiff.append(get_file_content(patch_file)) - - previous_content = current_content - -# Pre-calculate mini_diff_images if that mode is selected (for fallback) -mini_diff_images = [] -if not SHOW_HISTORY_PANES: - for i, raw_patch_text in enumerate(raw_patch_contents_for_minidiff): - mini_diff_images.append( - draw_mini_diff( - raw_patch_text, is_active=False, font_mini_diff=MINI_DIFF_FONT - ) - ) - - -# Calculate total duration -total_duration = 0 -for i, state in enumerate(code_states): - lines_in_state = len(state["content"].splitlines()) - max_visible_lines = (VIDEO_HEIGHT - MAIN_PANE_Y_OFFSET - 50) // LINE_HEIGHT - - # Early calculation of estimated main pane width for scrolling - # This is a rough estimate - the exact width is calculated later - if SHOW_HISTORY_PANES and i > 0: - # Rough estimate when history panes are visible - estimated_main_pane_width = int(VIDEO_WIDTH * 0.4) - else: - # No history panes - use most of the width - estimated_main_pane_width = VIDEO_WIDTH - MAIN_PANE_X_OFFSET * 2 - - scroll_duration_for_state = 0 - if lines_in_state > max_visible_lines: - lines_to_scroll = lines_in_state - max_visible_lines - scroll_duration_for_state = max( - MIN_SCROLL_DURATION, lines_to_scroll / SCROLL_SPEED_LINES_PER_SECOND - ) - # Need scrolling for this state - duration_for_this_state = ( - HOLD_DURATION_PER_ITERATION - + scroll_duration_for_state - + SCROLL_PAUSE_AT_TOP - + SCROLL_PAUSE_AT_BOTTOM - ) - else: - # No scrolling needed - duration_for_this_state = HOLD_DURATION_PER_ITERATION - - # Add slide-in time for iterations after the first one - if i > 0: # Only add slide-in time for iterations after the first - duration_for_this_state += MAIN_PANE_SLIDE_IN_DURATION - total_duration += duration_for_this_state - -print(f"Total estimated duration: {total_duration:.2f}s") - -try: - lexer = get_lexer_for_filename(BASE_CODE_FILE, stripall=False) -except Exception: # Specify Exception - try: - lexer = guess_lexer(code_states[0]["content"] if code_states else "") - except Exception: # Specify Exception - from pygments.lexers.special import TextLexer - - lexer = TextLexer() -print(f"Using Pygments lexer: {lexer.name}") - - -# --- Animation Function --- -def make_frame(t): - # Calculate which code state to display based on time with scrolling - current_time = 0 - state_index = 0 - scroll_offset = 0 - history_transition_alpha = ( - 1.0 # Alpha for history panels (0.0 = invisible, 1.0 = fully visible) - ) - main_pane_transition_progress = ( - 1.0 # 0.0 = no history layout, 1.0 = full history layout - ) - main_pane_slide_progress = 1.0 # 0.0 = off-screen left, 1.0 = fully slid in - - for i, state in enumerate(code_states): - lines_in_state = len(state["content"].splitlines()) - max_visible_lines = (VIDEO_HEIGHT - MAIN_PANE_Y_OFFSET - 50) // LINE_HEIGHT - - # Early calculation of estimated main pane width for scrolling - # This is a rough estimate - the exact width is calculated later - if SHOW_HISTORY_PANES and i > 0: - # Rough estimate when history panes are visible - estimated_main_pane_width = int(VIDEO_WIDTH * 0.4) - else: - # No history panes - use most of the width - estimated_main_pane_width = VIDEO_WIDTH - MAIN_PANE_X_OFFSET * 2 - - scroll_duration_for_state = 0 - if lines_in_state > max_visible_lines: - lines_to_scroll = lines_in_state - max_visible_lines - scroll_duration_for_state = max( - MIN_SCROLL_DURATION, lines_to_scroll / SCROLL_SPEED_LINES_PER_SECOND - ) - # This state needs scrolling - base_state_duration = ( - HOLD_DURATION_PER_ITERATION - + scroll_duration_for_state - + SCROLL_PAUSE_AT_TOP - + SCROLL_PAUSE_AT_BOTTOM - ) - else: - # No scrolling needed for this state - base_state_duration = HOLD_DURATION_PER_ITERATION - - # Add slide-in time for iterations after the first one - if i > 0: # Only add slide-in time for iterations after the first - state_duration = base_state_duration + MAIN_PANE_SLIDE_IN_DURATION - else: - state_duration = base_state_duration - - if t >= current_time and t < current_time + state_duration: - state_index = i - time_in_state = t - current_time - - # Handle slide-in animation (only for iterations after the first) - if i > 0 and time_in_state < MAIN_PANE_SLIDE_IN_DURATION: - # Main pane is sliding in from the left - main_pane_slide_progress = time_in_state / MAIN_PANE_SLIDE_IN_DURATION - # During slide-in, don't scroll and stay at beginning - # of content - scroll_offset = 0 - content_time_progress = 0 # Don't start content scrolling yet - else: - # Slide-in is complete (or not needed for first iteration) - main_pane_slide_progress = 1.0 - if i > 0: - content_time_progress = time_in_state - MAIN_PANE_SLIDE_IN_DURATION - else: - content_time_progress = time_in_state - - # Set history panel visibility based on iteration - # (no special transitions) - if i == 0: - # First iteration - no history panels - history_transition_alpha = 0.0 - main_pane_transition_progress = 0.0 - else: - # All other iterations - history panels fully visible - history_transition_alpha = 1.0 - main_pane_transition_progress = 1.0 - - # Handle scrolling logic based on content time progress - if lines_in_state > max_visible_lines and content_time_progress >= 0: - if content_time_progress < HOLD_DURATION_PER_ITERATION: - # Initial hold at top - scroll_offset = 0 - elif ( - content_time_progress - < HOLD_DURATION_PER_ITERATION + SCROLL_PAUSE_AT_TOP - ): - # Pause at top before scrolling - scroll_offset = 0 - elif ( - content_time_progress - < HOLD_DURATION_PER_ITERATION - + SCROLL_PAUSE_AT_TOP - + scroll_duration_for_state - ): - # Scrolling phase - scroll_progress = ( - content_time_progress - - HOLD_DURATION_PER_ITERATION - - SCROLL_PAUSE_AT_TOP - ) / scroll_duration_for_state - - # Calculate accurate max scroll by working backwards from the last line - # to find how many lines fit in the viewport when accounting for wrapping - state_lines = state["content"].splitlines() - available_height = VIDEO_HEIGHT - MAIN_PANE_Y_OFFSET - 50 - max_width = estimated_main_pane_width - 20 - - # Work backwards from the last line to find the optimal scroll offset - current_height = 0 - optimal_scroll_offset = len(state_lines) - - for line_idx in range(len(state_lines) - 1, -1, -1): - line_text = state_lines[line_idx].rstrip("\r\n") - - # Estimate line height considering wrapping (simplified) - if not line_text: - line_height = LINE_HEIGHT - else: - # Quick wrapping estimation - line_width = len(line_text) * ( - FONT_SIZE * 0.6 - ) # Rough estimate - if line_width > max_width: - # Estimate how many visual lines this logical line will take - estimated_wrap_lines = max( - 1, int(line_width / max_width) + 1 - ) - line_height = LINE_HEIGHT * estimated_wrap_lines - else: - line_height = LINE_HEIGHT - - if current_height + line_height > available_height: - optimal_scroll_offset = line_idx + 1 - break - current_height += line_height - - optimal_scroll_offset = max(0, optimal_scroll_offset) - scroll_offset = int(scroll_progress * optimal_scroll_offset) - else: - # Pause at bottom - use the calculated optimal offset - state_lines = state["content"].splitlines() - available_height = VIDEO_HEIGHT - MAIN_PANE_Y_OFFSET - 50 - max_width = estimated_main_pane_width - 20 - - current_height = 0 - optimal_scroll_offset = len(state_lines) - - for line_idx in range(len(state_lines) - 1, -1, -1): - line_text = state_lines[line_idx].rstrip("\r\n") - - if not line_text: - line_height = LINE_HEIGHT - else: - line_width = len(line_text) * (FONT_SIZE * 0.6) - if line_width > max_width: - estimated_wrap_lines = max( - 1, int(line_width / max_width) + 1 - ) - line_height = LINE_HEIGHT * estimated_wrap_lines - else: - line_height = LINE_HEIGHT - - if current_height + line_height > available_height: - optimal_scroll_offset = line_idx + 1 - break - current_height += line_height - - scroll_offset = max(0, optimal_scroll_offset) - else: - scroll_offset = 0 - break - current_time += state_duration - - if state_index >= len(code_states): - state_index = len(code_states) - 1 - - current_state_data = code_states[state_index] - code_to_display_full = current_state_data["content"] - code_to_display_typed = code_to_display_full # Always show full content - added_lines_for_this_main_state = current_state_data["added_lines"] - iter_idx = state_index # For compatibility with rest of code - - img = Image.new("RGB", (VIDEO_WIDTH, VIDEO_HEIGHT), BG_COLOR) - draw = ImageDraw.Draw(img, "RGBA") - - # --- Calculate Pane Dimensions with Smooth Transitions --- - actual_num_history_panes_to_render = 0 - history_pane_individual_width = 0 - - # Calculate dimensions for both no-history and with-history layouts - main_code_pane_width_no_history = VIDEO_WIDTH - MAIN_PANE_X_OFFSET * 2 - main_pane_x_offset_no_history = MAIN_PANE_X_OFFSET - - main_code_pane_width_with_history = main_code_pane_width_no_history - main_pane_x_offset_with_history = MAIN_PANE_X_OFFSET - total_width_for_all_history_panes = 0 - - if SHOW_HISTORY_PANES and iter_idx > 0: - actual_num_history_panes_to_render = min(NUM_HISTORY_PANES_TO_SHOW, iter_idx) - - # Calculate width for history panes first - total_history_spacing = ( - (actual_num_history_panes_to_render - 1) * HISTORY_PANE_SPACING - if actual_num_history_panes_to_render > 0 - else 0 - ) - # Let's try to give history panes a fixed relative width - # or a portion of remaining space - # Example: allocate ~40% of width to all history panes together - total_width_for_all_history_panes = ( - int(VIDEO_WIDTH * 0.6) - HISTORY_PANE_X_START_OFFSET_FROM_RIGHT - ) - - if actual_num_history_panes_to_render > 0: - history_pane_individual_width = int( - (total_width_for_all_history_panes - total_history_spacing) - / actual_num_history_panes_to_render - ) - history_pane_individual_width = max( - 100, history_pane_individual_width - ) # Min width - - main_code_pane_width_with_history = VIDEO_WIDTH - ( - total_width_for_all_history_panes - + MAIN_PANE_X_OFFSET - + MAIN_PANE_RIGHT_MARGIN_IF_HISTORY - + HISTORY_PANE_X_START_OFFSET_FROM_RIGHT - ) - main_code_pane_width_with_history = max( - int(VIDEO_WIDTH * 0.35), main_code_pane_width_with_history - ) # Ensure main pane has some decent width - elif not SHOW_HISTORY_PANES: - main_code_pane_width_no_history = ( - VIDEO_WIDTH - MAIN_PANE_X_OFFSET - MINI_DIFF_PANE_WIDTH - 10 - ) # Space for minidiffs - - # Interpolate between no-history and with-history layouts - main_code_pane_width = int( - main_code_pane_width_no_history * (1 - main_pane_transition_progress) - + main_code_pane_width_with_history * main_pane_transition_progress - ) - - # Calculate the centered position if enabled - if CENTER_CONTENT: - content_total_width_no_history = main_code_pane_width_no_history - content_total_width_with_history = main_code_pane_width_with_history - if SHOW_HISTORY_PANES and actual_num_history_panes_to_render > 0: - content_total_width_with_history += ( - total_width_for_all_history_panes - + HISTORY_PANE_X_START_OFFSET_FROM_RIGHT - + MAIN_PANE_RIGHT_MARGIN_IF_HISTORY - ) - - main_pane_x_offset_no_history = max( - MAIN_PANE_X_OFFSET, (VIDEO_WIDTH - content_total_width_no_history) // 2 - ) - main_pane_x_offset_with_history = max( - MAIN_PANE_X_OFFSET, (VIDEO_WIDTH - content_total_width_with_history) // 2 - ) - - # Interpolate main pane position based on history layout - main_pane_x_offset_final = int( - main_pane_x_offset_no_history * (1 - main_pane_transition_progress) - + main_pane_x_offset_with_history * main_pane_transition_progress - ) - - # Apply slide-in animation - start from off-screen left - slide_in_start_x = -main_code_pane_width # Start completely off-screen to the left - main_pane_x_offset = int( - slide_in_start_x * (1 - main_pane_slide_progress) - + main_pane_x_offset_final * main_pane_slide_progress - ) - - # Draw iteration title at the top of the main pane - iter_text_content = f"{current_state_data['patch_name']}" - title_margin_top = 67 # Adjusted for larger TITLE_FONT_SIZE - title_padding = 12 # Match the history label padding - - # Measure text to create background - iter_text_w = ( - TITLE_FONT.getlength(iter_text_content) - if hasattr(TITLE_FONT, "getlength") - else draw.textlength(iter_text_content, font=TITLE_FONT) - if hasattr(draw, "textlength") - else TITLE_FONT.getbbox(iter_text_content)[2] - if hasattr(TITLE_FONT, "getbbox") - else 400 - ) - - # Calculate center position for title - title_center_x = main_pane_x_offset + (main_code_pane_width // 2) - title_x_start = title_center_x - (iter_text_w // 2) - title_padding - title_x_end = title_center_x + (iter_text_w // 2) + title_padding - title_text_x = title_center_x - (iter_text_w // 2) - - # Draw background with same style as patch labels - # Ensure title_bg_color assignment is on multiple lines if too long - title_bg_color = (60, 60, 60) if not USE_WHITE_BACKGROUND else (220, 220, 220) - - title_box_y1 = MAIN_PANE_Y_OFFSET - title_margin_top - title_padding - title_box_y2 = ( - MAIN_PANE_Y_OFFSET - title_margin_top + TITLE_FONT_SIZE + title_padding - ) - - draw.rectangle( - ( - title_x_start, - title_box_y1, - title_x_end, - title_box_y2, - ), - fill=title_bg_color, - ) - - # Draw text - draw.text( - (title_text_x, MAIN_PANE_Y_OFFSET - title_margin_top), - iter_text_content, - font=TITLE_FONT, - fill=TEXT_COLOR, - ) - - # 1. Draw Main Code Pane (Left) with scrolling - y_offset = MAIN_PANE_Y_OFFSET - main_lines = code_to_display_typed.splitlines(True) - - # Calculate dynamic height based on number of lines - total_code_lines = len(main_lines) - max_displayable_lines = min( - total_code_lines, (VIDEO_HEIGHT - MAIN_PANE_Y_OFFSET - 50) // LINE_HEIGHT - ) - # Add some padding - main_pane_height = max_displayable_lines * LINE_HEIGHT + 20 - - # Apply scrolling offset - start_line = scroll_offset - end_line = min(start_line + max_displayable_lines, total_code_lines) - - for line_idx in range(start_line, end_line): - if line_idx >= len(main_lines): - break - if y_offset + LINE_HEIGHT > MAIN_PANE_Y_OFFSET + main_pane_height: - break - - line_text_orig = main_lines[line_idx] - line_text = line_text_orig.rstrip("\r\n") - - # Wrap long lines instead of truncating - max_width = main_code_pane_width - 20 - line_width = ( - FONT.getlength(line_text) - if hasattr(FONT, "getlength") - else draw.textlength(line_text, font=FONT) - if hasattr(draw, "textlength") - else FONT.getbbox(line_text)[2] - if hasattr(FONT, "getbbox") - else len(line_text) * 8 - ) - - if line_width > max_width: - # Calculate approximate characters per line - avg_char_w = ( - FONT.getlength("M") - if hasattr(FONT, "getlength") - else draw.textlength("M", font=FONT) - if hasattr(draw, "textlength") - else FONT.getbbox("M")[2] - if hasattr(FONT, "getbbox") - else 8 - ) - chars_per_line = ( - int(max_width / avg_char_w) if avg_char_w > 0 else int(max_width / 8) - ) - - # Split into multiple lines - lines_to_draw = [] - remaining = line_text - - while remaining: - if len(remaining) <= chars_per_line: - lines_to_draw.append(remaining) - break - - # Try to break at a space if possible - split_pos = chars_per_line - if " " in remaining[:chars_per_line]: - # Find the last space in the allowed width - last_space = remaining[:chars_per_line].rstrip().rfind(" ") - if last_space > 0: - split_pos = last_space + 1 - - lines_to_draw.append(remaining[:split_pos]) - remaining = remaining[split_pos:] - - # Draw wrapped lines - first_line = True - for wrapped_line in lines_to_draw: - # Draw background for added lines on each wrapped line segment - if line_idx in added_lines_for_this_main_state: - draw.rectangle( - ( - main_pane_x_offset - 5, - y_offset - 2, - main_pane_x_offset + main_code_pane_width - 10, - y_offset + LINE_HEIGHT - 2, - ), - fill=ADDED_LINE_BG_COLOR, - ) - - line_x_cursor = main_pane_x_offset - if not first_line: - # Add indentation for wrapped lines - line_x_cursor += 20 - - try: - tokens_on_line = lexer.get_tokens(wrapped_line) - for ttype, tvalue in tokens_on_line: - style_for_token = style.style_for_token(ttype) - color = style_for_token["color"] - token_color = TEXT_COLOR - if color: - try: - token_color = ( - int(color[0:2], 16), - int(color[2:4], 16), - int(color[4:6], 16), - ) - except ValueError: - pass - - draw.text( - (line_x_cursor, y_offset), - tvalue, - font=FONT, - fill=token_color, - ) - - token_width = ( - FONT.getlength(tvalue) - if hasattr(FONT, "getlength") - else draw.textlength(tvalue, font=FONT) - if hasattr(draw, "textlength") - else FONT.getbbox(tvalue)[2] - if hasattr(FONT, "getbbox") - else len(tvalue) * 8 - ) - line_x_cursor += token_width - except Exception: - # Fallback to drawing the entire line with spaces preserved - draw.text( - ( - main_pane_x_offset - if first_line - else main_pane_x_offset + 20, - y_offset, - ), - wrapped_line, - font=FONT, - fill=TEXT_COLOR, - ) - - y_offset += LINE_HEIGHT - first_line = False - - # Stop if we've reached the bottom of the main pane - if y_offset + LINE_HEIGHT > MAIN_PANE_Y_OFFSET + main_pane_height: - break - else: - # Single line rendering (no wrapping needed) - # Draw background for added lines - if line_idx in added_lines_for_this_main_state: - draw.rectangle( - ( - main_pane_x_offset - 5, - y_offset - 2, - main_pane_x_offset + main_code_pane_width - 10, - y_offset + LINE_HEIGHT - 2, - ), - fill=ADDED_LINE_BG_COLOR, - ) - - line_x_cursor = main_pane_x_offset - try: - tokens_on_line = lexer.get_tokens(line_text) - for ttype, tvalue in tokens_on_line: - style_for_token = style.style_for_token(ttype) - color = style_for_token["color"] - token_color = TEXT_COLOR - if color: - try: - token_color = ( - int(color[0:2], 16), - int(color[2:4], 16), - int(color[4:6], 16), - ) - except ValueError: - pass - - draw.text( - (line_x_cursor, y_offset), tvalue, font=FONT, fill=token_color - ) - - token_width = ( - FONT.getlength(tvalue) - if hasattr(FONT, "getlength") - else draw.textlength(tvalue, font=FONT) - if hasattr(draw, "textlength") - else FONT.getbbox(tvalue)[2] - if hasattr(FONT, "getbbox") - else len(tvalue) * 8 - ) - line_x_cursor += token_width - except Exception: - # Fallback to drawing the entire line with spaces preserved - draw.text( - (main_pane_x_offset, y_offset), - line_text, - font=FONT, - fill=TEXT_COLOR, - ) - y_offset += LINE_HEIGHT - - # 2. Draw History Panes (Right) with smooth transitions - if ( - SHOW_HISTORY_PANES - and actual_num_history_panes_to_render > 0 - and history_transition_alpha > 0 - ): - # Create a separate image for history panes to apply alpha blending - history_img = Image.new("RGBA", (VIDEO_WIDTH, VIDEO_HEIGHT), (0, 0, 0, 0)) - history_draw = ImageDraw.Draw(history_img, "RGBA") - - # Position history panes after the main pane - current_history_pane_x_start_coord = ( - main_pane_x_offset - + main_code_pane_width - + MAIN_PANE_RIGHT_MARGIN_IF_HISTORY - ) - - for i in range(actual_num_history_panes_to_render): - # Display panes from left to right: most recent edits first - history_iter_index_to_display = iter_idx - 1 - i - - state_to_draw = code_states[history_iter_index_to_display] - history_code_content = state_to_draw["content"] - added_lines_in_this_history_version = state_to_draw["added_lines"] - - # Calculate dynamic height for this history pane based on its content - hist_lines = history_code_content.splitlines() - max_hist_lines = min(len(hist_lines), HISTORY_MAX_LINES_TO_DRAW) - history_pane_height = ( - max_hist_lines * HISTORY_LINE_HEIGHT + 30 - ) # Add padding - - pane_x1 = current_history_pane_x_start_coord - pane_y1 = HISTORY_PANE_Y_START - pane_x2 = current_history_pane_x_start_coord + history_pane_individual_width - pane_y2 = pane_y1 + history_pane_height # Use calculated height - - history_draw.rectangle( - (pane_x1, pane_y1, pane_x2, pane_y2), fill=HISTORY_PANE_BG_COLOR - ) - history_draw.rectangle( - (pane_x1, pane_y1, pane_x2, pane_y2), - outline=HISTORY_PANE_BORDER_COLOR, - width=1, - ) - - hist_text_x = pane_x1 + 5 - hist_text_y = pane_y1 + 5 - - for line_num_in_hist, hist_line_text_orig in enumerate(hist_lines): - if line_num_in_hist >= max_hist_lines: - break - if hist_text_y + HISTORY_LINE_HEIGHT > pane_y2 - 5: - break - - hist_line_text = hist_line_text_orig.rstrip("\r\n") - - drawable_hist_line = hist_line_text - max_text_width_in_pane = history_pane_individual_width - 10 - - # Check if line needs wrapping - current_line_width_px = ( - HISTORY_FONT.getlength(drawable_hist_line) - if hasattr(HISTORY_FONT, "getlength") - else draw.textlength(drawable_hist_line, font=HISTORY_FONT) - if hasattr(draw, "textlength") - else HISTORY_FONT.getbbox(drawable_hist_line)[2] - if hasattr(HISTORY_FONT, "getbbox") - else len(drawable_hist_line) * HISTORY_FONT_SIZE - ) - - # If line is too long, wrap it rather than truncating - if current_line_width_px > max_text_width_in_pane: - # Calculate approximately how many characters fit per line - avg_char_w = ( - HISTORY_FONT.getlength("M") - if hasattr(HISTORY_FONT, "getlength") - else draw.textlength("M", font=HISTORY_FONT) - if hasattr(draw, "textlength") - else HISTORY_FONT.getbbox("M")[2] - if hasattr(HISTORY_FONT, "getbbox") - else HISTORY_FONT_SIZE - ) - chars_per_line = ( - int(max_text_width_in_pane / avg_char_w) - if avg_char_w > 0 - else int(max_text_width_in_pane / HISTORY_FONT_SIZE) - ) - - # Split into multiple lines - wrapped_lines = [] - remaining = drawable_hist_line - - while ( - remaining and hist_text_y + HISTORY_LINE_HEIGHT <= pane_y2 - 5 - ): - if len(remaining) <= chars_per_line: - wrapped_lines.append(remaining) - break - - # Try to break at a space if possible - split_pos = chars_per_line - if " " in remaining[:chars_per_line]: - # Find the last space in the allowed width - last_space = remaining[:chars_per_line].rstrip().rfind(" ") - if last_space > 0: - split_pos = last_space + 1 - - wrapped_lines.append(remaining[:split_pos]) - remaining = remaining[split_pos:] - - # Draw wrapped lines - for wrapped_line in wrapped_lines: - # Draw background for added lines on each wrapped line - # segment - if line_num_in_hist in added_lines_in_this_history_version: - history_draw.rectangle( - ( - hist_text_x - 2, - hist_text_y, - pane_x2 - 3, - hist_text_y + HISTORY_LINE_HEIGHT - 1, - ), - fill=HISTORY_ADDED_LINE_BG_COLOR, - ) - hist_line_x_cursor = hist_text_x - try: - tokens_on_hist_line = lexer.get_tokens(wrapped_line) - for ttype, tvalue in tokens_on_hist_line: - style_for_token = style.style_for_token(ttype) - color = style_for_token["color"] - token_color = HISTORY_PANE_TEXT_COLOR - if color: - try: - token_color = ( - int(color[0:2], 16), - int(color[2:4], 16), - int(color[4:6], 16), - ) - except ValueError: - pass - - history_draw.text( - (hist_line_x_cursor, hist_text_y), - tvalue, - font=HISTORY_FONT, - fill=token_color, - ) - token_w = ( - HISTORY_FONT.getlength(tvalue) - if hasattr(HISTORY_FONT, "getlength") - else draw.textlength(tvalue, font=HISTORY_FONT) - if hasattr(draw, "textlength") - else HISTORY_FONT.getbbox(tvalue)[2] - if hasattr(HISTORY_FONT, "getbbox") - else len(tvalue) * HISTORY_FONT_SIZE - ) - hist_line_x_cursor += token_w - if hist_line_x_cursor > pane_x2 - 7: - break - except Exception: - history_draw.text( - (hist_text_x, hist_text_y), - wrapped_line, - font=HISTORY_FONT, - fill=HISTORY_PANE_TEXT_COLOR, - ) - hist_text_y += HISTORY_LINE_HEIGHT - - # Stop if we've reached the bottom of the pane - if hist_text_y + HISTORY_LINE_HEIGHT > pane_y2 - 5: - break - else: - # Draw single line since it fits - # Draw background for added lines - if line_num_in_hist in added_lines_in_this_history_version: - history_draw.rectangle( - ( - hist_text_x - 2, - hist_text_y, - pane_x2 - 3, - hist_text_y + HISTORY_LINE_HEIGHT - 1, - ), - fill=HISTORY_ADDED_LINE_BG_COLOR, - ) - - hist_line_x_cursor = hist_text_x - try: - tokens_on_hist_line = lexer.get_tokens(drawable_hist_line) - for ttype, tvalue in tokens_on_hist_line: - style_for_token = style.style_for_token(ttype) - color = style_for_token["color"] - token_color = HISTORY_PANE_TEXT_COLOR - if color: - try: - token_color = ( - int(color[0:2], 16), - int(color[2:4], 16), - int(color[4:6], 16), - ) - except ValueError: - pass - - history_draw.text( - (hist_line_x_cursor, hist_text_y), - tvalue, - font=HISTORY_FONT, - fill=token_color, - ) - token_w = ( - HISTORY_FONT.getlength(tvalue) - if hasattr(HISTORY_FONT, "getlength") - else draw.textlength(tvalue, font=HISTORY_FONT) - if hasattr(draw, "textlength") - else HISTORY_FONT.getbbox(tvalue)[2] - if hasattr(HISTORY_FONT, "getbbox") - else len(tvalue) * HISTORY_FONT_SIZE - ) - hist_line_x_cursor += token_w - if hist_line_x_cursor > pane_x2 - 7: - break - except Exception: - history_draw.text( - (hist_text_x, hist_text_y), - drawable_hist_line, - font=HISTORY_FONT, - fill=HISTORY_PANE_TEXT_COLOR, - ) - hist_text_y += HISTORY_LINE_HEIGHT - - history_pane_label = f"{state_to_draw['patch_name']}" - # if len(state_to_draw["patch_name"]) > 33: - # history_pane_label += "..." - label_w = ( - HISTORY_LABEL_FONT.getlength(history_pane_label) - if hasattr(HISTORY_LABEL_FONT, "getlength") - else draw.textlength(history_pane_label, font=HISTORY_LABEL_FONT) - if hasattr(draw, "textlength") - else HISTORY_LABEL_FONT.getbbox(history_pane_label)[2] - if hasattr(HISTORY_LABEL_FONT, "getbbox") - else len(history_pane_label) * HISTORY_LABEL_FONT_SIZE - ) - label_x = pane_x1 + (history_pane_individual_width - label_w) // 2 - label_y = ( - pane_y1 - HISTORY_LABEL_FONT_SIZE - 40 - ) # Position much higher above the pane to avoid overlap - if label_y < 5: - label_y = 5 # Ensure it's visible - - # Draw background rectangle for history pane label - # (similar to iteration title) - label_padding = 2 - label_bg_color = ( - (60, 60, 60) if not USE_WHITE_BACKGROUND else (220, 220, 220) - ) - history_draw.rectangle( - ( - label_x - label_padding, - label_y - label_padding, - label_x + label_w + label_padding, - label_y + HISTORY_LABEL_FONT_SIZE + label_padding, - ), - fill=label_bg_color, - ) - - # Draw label text - history_draw.text( - (label_x, label_y), - history_pane_label, - font=HISTORY_LABEL_FONT, - fill=TEXT_COLOR, - ) - - current_history_pane_x_start_coord += ( - history_pane_individual_width + HISTORY_PANE_SPACING - ) - - # Apply alpha blending for smooth transition - if history_transition_alpha < 1.0: - # Apply alpha to the entire history image - history_img = history_img.convert("RGBA") - alpha = int(255 * history_transition_alpha) - # Create an alpha channel based on transition progress - history_alpha = Image.new("L", history_img.size, alpha) - history_img.putalpha(history_alpha) - - # Composite the history image onto the main image - img = img.convert("RGBA") - img = Image.alpha_composite(img, history_img) - img = img.convert("RGB") - - elif not SHOW_HISTORY_PANES: # Fallback to original mini-diffs - mini_diff_x_start = VIDEO_WIDTH - MINI_DIFF_PANE_WIDTH + 15 - mini_diff_y_start = MAIN_PANE_Y_OFFSET # Align with top of main code - current_patch_display_idx = iter_idx - 1 - - for i in range(len(mini_diff_images)): - if ( - mini_diff_y_start - + (MINI_DIFF_HEIGHT_PER_LINE * MINI_DIFF_MAX_LINES) - + MINI_DIFF_SPACING - > VIDEO_HEIGHT - 30 - ): - break - - md_img_base = mini_diff_images[i] - is_this_one_active = i == current_patch_display_idx - md_img_to_paste = md_img_base - - if ( - is_this_one_active - ): # Redraw with border if active (original mini_diff was pre-rendered) - md_img_to_paste = draw_mini_diff( - raw_patch_contents_for_minidiff[i], - is_active=True, - font_mini_diff=MINI_DIFF_FONT, - ) - - img.paste(md_img_to_paste, (mini_diff_x_start, mini_diff_y_start)) - - patch_label = code_states[i + 1]["patch_name"] - if len(patch_label) > 33: - patch_label = patch_label[:30] + "..." - - text_w_md = ( - MINI_DIFF_FONT.getlength(patch_label) - if hasattr(MINI_DIFF_FONT, "getlength") - else draw.textlength(patch_label, font=MINI_DIFF_FONT) - if hasattr(draw, "textlength") - else MINI_DIFF_FONT.getbbox(patch_label)[2] - if hasattr(MINI_DIFF_FONT, "getbbox") - else len(patch_label) * MINI_DIFF_TEXT_SIZE - ) - text_x_md = ( - mini_diff_x_start + (md_img_to_paste.width // 2) - (text_w_md // 2) - ) - # Moved higher - text_y_md = mini_diff_y_start + md_img_to_paste.height - 2 - if text_y_md + MINI_DIFF_TEXT_SIZE < VIDEO_HEIGHT - 10: - # Draw background rectangle for mini-diff label - label_padding = 4 - label_bg_color = ( - (60, 60, 60) if not USE_WHITE_BACKGROUND else (220, 220, 220) - ) - draw.rectangle( - ( - text_x_md - label_padding, - text_y_md - label_padding, - text_x_md + text_w_md + label_padding, - text_y_md + MINI_DIFF_TEXT_SIZE + label_padding, - ), - fill=label_bg_color, - ) - - # Draw text on top of background - draw.text( - (text_x_md, text_y_md), - patch_label, - font=MINI_DIFF_FONT, - fill=((30, 30, 30) if USE_WHITE_BACKGROUND else (220, 220, 220)), - ) - mini_diff_y_start += ( - md_img_to_paste.height + MINI_DIFF_SPACING + MINI_DIFF_TEXT_SIZE + 5 - ) - - return np.array(img) - - -# --- Create Video --- -print("Creating video clip...") -animation = VideoClip(make_frame, duration=total_duration) - -print(f"Writing video to {OUTPUT_VIDEO}...") -try: - animation.write_videofile( - OUTPUT_VIDEO, fps=FPS, codec="libx264", preset="medium", threads=4, logger="bar" - ) -except Exception as e: - print(f"Error during video writing with libx264: {e}") - print("Trying with mpeg4 codec as fallback...") - try: - animation.write_videofile( - OUTPUT_VIDEO, - fps=FPS, - codec="mpeg4", - preset="medium", - threads=4, - logger="bar", - ) - except Exception as e2: - print(f"Error during video writing with mpeg4: {e2}") - print("Video writing failed with both codecs.") - - -# --- Cleanup --- -print("Cleaning up temporary directory...") -shutil.rmtree(temp_dir) -if os.path.exists(BASE_CODE_FILE) and get_file_content(BASE_CODE_FILE) == "": - if "your_base_code_file.py" in BASE_CODE_FILE: - print(f"Removing placeholder empty base file: {BASE_CODE_FILE}") - # os.remove(BASE_CODE_FILE) # Comment out if you want to keep it - -print("Done!") diff --git a/genesis/plots/plot_improvement.py b/genesis/plots/plot_improvement.py deleted file mode 100644 index 05cb893..0000000 --- a/genesis/plots/plot_improvement.py +++ /dev/null @@ -1,335 +0,0 @@ -import matplotlib.pyplot as plt -import pandas as pd -from typing import Optional, Tuple, List -from matplotlib.figure import Figure -from matplotlib.axes import Axes -from genesis.utils import get_path_to_best_node -import matplotlib.transforms as transforms - - -def plot_improvement( - df: pd.DataFrame, - title: str = "Best Combined Score Over Time", - fig: Optional[Figure] = None, - ax: Optional[Axes] = None, - xlabel: str = "Number of Evaluated LLM Program Proposals", - ylabel: str = "Evolved Performance Score", - ylim: Optional[Tuple[float, float]] = None, - plot_path_to_best_node: bool = True, -): - """ - Plots the improvement of a program over generations. - """ - if fig is None or ax is None: - fig, ax = plt.subplots(figsize=(20, 10)) - - # Plot best score line - # Calculate cumulative maximum and back-fill leading NaNs - # to ensure the line is continuous from the start. - df = df.sort_values(by="generation") - df_filtered = df[df["correct"]].copy() - - line1 = ax.plot( - df_filtered["generation"], - df_filtered["combined_score"].cummax(), - linewidth=3, - color="red", - label="Best Score", - ) - - # Plot individual evaluations as scatter points - scatter1 = ax.scatter( - df_filtered["generation"], - df_filtered["combined_score"], - alpha=1.0, - s=40, - color="black", - label="Individual Evals", - ) - - if ylim is not None: - ax.set_ylim(*ylim) - - # Get the path to the best node - if plot_path_to_best_node: - best_path_df = get_path_to_best_node(df_filtered, score_column="combined_score") - else: - best_path_df = pd.DataFrame() - line_best_path_plot = [] # Initialize to empty list - - if not best_path_df.empty: - # Plot the path to the best node - line_best_path_plot = ax.plot( - best_path_df["generation"], # Use generation for x-axis - best_path_df["combined_score"], - linestyle="-.", - marker="o", - color="blue", - label="Path to Best Node", - markersize=5, - linewidth=2, - ) - # Add annotations if 'patch_name' column exists - if "patch_name" in best_path_df.columns: - _place_non_overlapping_annotations( - ax, best_path_df, "generation", "combined_score", "patch_name" - ) - - # Create a second y-axis for cumulative API cost - ax2 = ax.twinx() - handles = line1 + [scatter1] - if line_best_path_plot: # If the best path was plotted - handles.extend(line_best_path_plot) - - labels = [h.get_label() for h in handles] - - if "api_costs" in df_filtered.columns: - cumulative_api_cost = df["api_costs"].cumsum().bfill() - line2 = ax2.plot( - df["generation"], - cumulative_api_cost, - linewidth=2, - color="orange", - linestyle="--", - label="Cumulative Cost", - ) - ax2.set_ylabel( - "Cumulative API Cost ($)", - fontsize=22, - weight="bold", - color="orange", - labelpad=15, - ) - ax2.tick_params(axis="y", which="major", labelsize=25) - handles.extend(line2) - labels = [h.get_label() for h in handles] # Recreate labels - - ax.legend(handles, labels, fontsize=25, loc="lower right") - - # Customize plot - ax.set_xlabel(xlabel, fontsize=30, weight="bold") - ax.set_ylabel(ylabel, fontsize=30, weight="bold", labelpad=25) - ax.set_title(title, fontsize=40, weight="bold") - ax.tick_params(axis="both", which="major", labelsize=20) - ax.grid(True, alpha=0.3) - - # Remove top and right spines for the primary axis - ax.spines["top"].set_visible(False) - ax.spines["right"].set_visible( - False - ) # Keep right spine if ax2 is present, or manage ax2 spines - - if "api_cost" in df_filtered.columns and ax2: - # Ensure ax2 spine is visible if it exists - ax2.spines["top"].set_visible(False) # Match primary axis top spine - ax2.tick_params(axis="y", which="major", labelsize=30) - - fig.tight_layout() # Adjust layout to prevent overlapping labels - - return fig, ax - - -def _place_non_overlapping_annotations( - ax: Axes, df: pd.DataFrame, x_col: str, y_col: str, text_col: str -): - """ - Places annotations with minimal overlap using a systematic approach. - """ - # Define multiple offset positions to try (in order of preference) - offset_positions = [ - (40, -30), # bottom-right - (40, 30), # top-right - (-40, 30), # top-left - (-40, -30), # bottom-left - (60, 0), # right - (-60, 0), # left - (0, 40), # top - (0, -40), # bottom - (70, -50), # far bottom-right - (-70, 50), # far top-left - ] - - placed_boxes = [] # Store bounding boxes of placed annotations - - for _, row in df.iterrows(): - patch_name_val = str(row.get(text_col, "")) - if pd.notna(patch_name_val) and patch_name_val != "": - if patch_name_val == "nan" or patch_name_val == "none": - patch_name_val = "Base" - - # Wrap long patch names - patch_name_to_plot = _wrap_text(patch_name_val, max_length=15) - - x_pos = float(row[x_col]) - y_pos = float(row[y_col]) - - # Find the best position with minimal overlap - best_offset, best_ha, best_va = _find_best_position( - ax, x_pos, y_pos, patch_name_to_plot, offset_positions, placed_boxes - ) - - # Place the annotation - annotation = ax.annotate( - patch_name_to_plot, - (x_pos, y_pos), - textcoords="offset points", - xytext=best_offset, - ha=best_ha, - va=best_va, - fontsize=11, - fontweight="bold", - color="darkgreen", - bbox=dict( - boxstyle="round,pad=0.3", - fc="lightyellow", - ec="black", - alpha=0.7, - ), - arrowprops=dict( - arrowstyle="-", - shrinkA=5, - shrinkB=5, - connectionstyle="arc3,rad=0.2", - color="black", - ), - zorder=10, - ) - - # Store the bounding box for future collision detection - try: - # Get the bounding box in data coordinates - bbox = annotation.get_window_extent() - inv_transform = ax.transData.inverted() - bbox_data = inv_transform.transform_bbox(bbox) - placed_boxes.append(bbox_data) - except Exception: - # Fallback: approximate bounding box - approx_width = len(patch_name_to_plot) * 0.01 # rough estimate - approx_height = patch_name_to_plot.count("\n") * 0.02 + 0.02 - placed_boxes.append( - transforms.Bbox.from_bounds( - x_pos - approx_width / 2, - y_pos - approx_height / 2, - approx_width, - approx_height, - ) - ) - - -def _wrap_text(text: str, max_length: int = 15) -> str: - """ - Wraps text at word boundaries for better readability. - """ - if len(text) <= max_length: - return text - - # Try to find a good breaking point - mid_point = len(text) // 2 - - # Look for a space near the middle - for offset in range(min(5, mid_point)): - # Check before midpoint - if mid_point - offset > 0 and text[mid_point - offset] == " ": - break_point = mid_point - offset - part1 = text[:break_point].strip() - part2 = text[break_point + 1 :].strip() - return f"{part1}\n{part2}" - - # Check after midpoint - if mid_point + offset < len(text) and text[mid_point + offset] == " ": - break_point = mid_point + offset - part1 = text[:break_point].strip() - part2 = text[break_point + 1 :].strip() - return f"{part1}\n{part2}" - - # No good space found, break at midpoint - return f"{text[:mid_point]}\n{text[mid_point:]}" - - -def _find_best_position( - ax: Axes, - x_pos: float, - y_pos: float, - text: str, - offset_positions: List[Tuple[int, int]], - placed_boxes: List[transforms.Bbox], -) -> Tuple[Tuple[int, int], str, str]: - """ - Finds the best annotation position with minimal overlap. - """ - best_offset = offset_positions[0] - best_overlap_count = float("inf") - - for offset in offset_positions: - # Determine alignment based on offset - ha = "left" if offset[0] >= 0 else "right" - va = "bottom" if offset[1] >= 0 else "top" - - # Estimate the bounding box for this position - estimated_bbox = _estimate_annotation_bbox( - ax, x_pos, y_pos, text, offset, ha, va - ) - - # Count overlaps with existing annotations - overlap_count = sum(1 for bbox in placed_boxes if estimated_bbox.overlaps(bbox)) - - # If no overlaps, use this position - if overlap_count == 0: - return offset, ha, va - - # Track the position with minimum overlaps - if overlap_count < best_overlap_count: - best_overlap_count = overlap_count - best_offset = offset - - # Return the alignment for the best offset - ha = "left" if best_offset[0] >= 0 else "right" - va = "bottom" if best_offset[1] >= 0 else "top" - - return best_offset, ha, va - - -def _estimate_annotation_bbox( - ax: Axes, - x_pos: float, - y_pos: float, - text: str, - offset: Tuple[int, int], - ha: str, - va: str, -) -> transforms.Bbox: - """ - Estimates the bounding box of an annotation in data coordinates. - """ - # Rough estimation based on text length and number of lines - lines = text.split("\n") - max_line_length = max(len(line) for line in lines) - num_lines = len(lines) - - # Approximate dimensions (these are rough estimates) - char_width_data = (ax.get_xlim()[1] - ax.get_xlim()[0]) / 100 - line_height_data = (ax.get_ylim()[1] - ax.get_ylim()[0]) / 50 - - width = max_line_length * char_width_data - height = num_lines * line_height_data - - # Convert offset from points to data coordinates (approximate) - x_offset_data = offset[0] * char_width_data / 8 # rough conversion - y_offset_data = offset[1] * line_height_data / 12 # rough conversion - - # Calculate annotation position based on alignment - if ha == "left": - left = x_pos + x_offset_data - right = left + width - else: # ha == "right" - right = x_pos + x_offset_data - left = right - width - - if va == "bottom": - bottom = y_pos + y_offset_data - top = bottom + height - else: # va == "top" - top = y_pos + y_offset_data - bottom = top - height - - return transforms.Bbox.from_bounds(left, bottom, width, height) diff --git a/genesis/plots/plot_lineage_tree.py b/genesis/plots/plot_lineage_tree.py deleted file mode 100644 index 5d31695..0000000 --- a/genesis/plots/plot_lineage_tree.py +++ /dev/null @@ -1,589 +0,0 @@ -from typing import Optional -import pandas as pd -import matplotlib.pyplot as plt -import matplotlib.colors as mcolors -import networkx as nx -import matplotlib.cm as cm_module -from matplotlib.lines import Line2D -from matplotlib.figure import Figure -from matplotlib.axes import Axes - - -def plot_lineage_tree( - df: pd.DataFrame, - title="Program Lineage Tree", - fig: Figure | None = None, - ax: Axes | None = None, - vmin: Optional[float] = None, - vmax: Optional[float] = None, -): - """ - Generates a tree visualization of program lineage using matplotlib and - NetworkX. - - Args: - df: Pandas DataFrame containing program data. Must include 'id' and - 'parent_id'. - figsize: Size of the figure (width, height) in inches. - """ - if df is None or df.empty: - print("DataFrame is empty or None. Cannot draw tree.") - return - - # set combined score to 0 for incorrect programs - df.loc[~df["correct"], "combined_score"] = 0 - - # Create directed graph - G = nx.DiGraph() - - # Add nodes with attributes for labels - for idx, row in df.iterrows(): - node_id = str(row["id"]) - node_attrs = {} - - # Add available metrics as node attributes - for col in df.columns: - if col in row: - # Skip the code column as it's usually too long - if col != "code": - node_attrs[col] = row[col] - - G.add_node(node_id, **node_attrs) - - # Add edges - for idx, row in df.iterrows(): - child_id = str(row["id"]) - if "parent_id" in row and pd.notna(row["parent_id"]): - parent_id = str(row["parent_id"]) - # Check if parent exists and is not self-referential - if parent_id in G.nodes() and parent_id != child_id: - G.add_edge(parent_id, child_id) - - # Create figure with a specific axes for the graph and colorbar - # Ensure both fig and ax are created together - if fig is None or ax is None: - fig, ax = plt.subplots(figsize=(20, 16)) - - # Group nodes by generation to ensure proper ordering - generation_groups = {} - for node in G.nodes(): - attrs = G.nodes[node] - gen = attrs.get("generation", 0) # Default to 0 if no generation found - if gen not in generation_groups: - generation_groups[gen] = [] - generation_groups[gen].append(node) - - # Identify the roots (earliest generation nodes) - roots = [n for n, d in G.in_degree() if d == 0] - - if not roots: - # If no root is found, use nodes from earliest generation - min_gen = min(generation_groups.keys()) if generation_groups else 0 - roots = generation_groups.get(min_gen, [list(G.nodes())[0]]) - - root = roots[0] - - # Try to use a hierarchical layout that respects parent-child relationships - # Focus on creating a clean tree structure like the reference image - try: - # Use dot layout for hierarchical tree structure with edge crossing - # minimization - pos = nx.nx_agraph.graphviz_layout( - G, - prog="dot", - root=root, - args="-Grankdir=TB -Gsplines=true -Goverlap=false -Gsep=1.0", - ) - except ImportError: - try: - # If pygraphviz not available, try pydot (no args parameter) - pos = nx.drawing.nx_pydot.graphviz_layout(G, prog="dot", root=root) - except ImportError: - print("GraphViz not available, using hierarchical layout") - # Create a clean hierarchical layout manually - pos = {} - - # Find node depths based on distance from root - depths = {} - for node in G.nodes(): - try: - path_len = len(nx.shortest_path(G, root, node)) - 1 - depths[node] = path_len - except nx.NetworkXNoPath: - # If no path, use generation if available - if "generation" in G.nodes[node]: - depths[node] = G.nodes[node]["generation"] - else: - depths[node] = 0 - - # Group nodes by depth/generation - levels = {} - for node, depth in depths.items(): - if depth not in levels: - levels[depth] = [] - levels[depth].append(node) - - # Create clean hierarchical positioning - max_depth = max(levels.keys()) if levels else 0 - # Total nodes in graph for base spacing - total_nodes = len(G.nodes()) - for depth in sorted(levels.keys()): - nodes_at_level = levels[depth] - num_nodes_at_level = len(nodes_at_level) - - if depth == 0: - # Root node at center top - if num_nodes_at_level == 1: - pos[nodes_at_level[0]] = (0, 0) - else: - # Multiple roots - space them out horizontally - spacing = 15.0 - total_width = (num_nodes_at_level - 1) * spacing - start_x = -total_width / 2 - for i, node in enumerate(nodes_at_level): - pos[node] = (start_x + i * spacing, 0) - else: - # For non-root levels, try to position children near - # parents - # to minimize crossings - - # First, collect parent positions for each node - node_parent_info = {} - for node in nodes_at_level: - parent_x_positions = [] - for parent in G.predecessors(node): - if parent in pos: - parent_x_positions.append(pos[parent][0]) - - if parent_x_positions: - avg_parent_x = sum(parent_x_positions) / len( - parent_x_positions - ) - node_parent_info[node] = avg_parent_x - else: - node_parent_info[node] = 0 - - # Sort nodes by their parent positions to reduce crossings - sorted_nodes = sorted( - nodes_at_level, key=lambda n: node_parent_info[n] - ) - - # Position nodes with adequate spacing - more aggressive - # for early levels - # Base spacing should prevent overlapping at all levels - base_spacing = max(15.0, 10.0 * (total_nodes**0.5)) - # Extra spacing for early levels where nodes tend to - # cluster - depth_multiplier = max(1.0, 3.0 / (depth + 1)) - - spacing = base_spacing * depth_multiplier - - y_pos = -depth * 3.0 # Increased vertical spacing - - if num_nodes_at_level == 1: - pos[sorted_nodes[0]] = (0, y_pos) - else: - total_width = (num_nodes_at_level - 1) * spacing - start_x = -total_width / 2 - - for i, node in enumerate(sorted_nodes): - x_pos = start_x + i * spacing - pos[node] = (x_pos, y_pos) - - # Fine-tune position to be closer to parent if possible - if node in node_parent_info: - preferred_x = node_parent_info[node] - # Check if we can move closer to parent without - # overlapping other nodes - use stricter minimum distance - min_distance = spacing * 0.8 - can_move = True - - for other_node in sorted_nodes: - if other_node != node and other_node in pos: - other_x = pos[other_node][0] - if abs(preferred_x - other_x) < min_distance: - can_move = False - break - - if can_move: - # Move towards parent but very conservatively - adjustment = (preferred_x - x_pos) * 0.1 - pos[node] = (x_pos + adjustment, y_pos) - - # Additional fine-tuning to reduce crossings - if pos and len(pos) > 1: - # Try to reduce crossings by adjusting positions within each level - for depth in sorted(levels.keys()): - if depth == 0: # Skip root - continue - - nodes_at_level = levels[depth] - if len(nodes_at_level) <= 1: - continue - - # Calculate crossing score for current arrangement - def count_crossings(node_positions): - crossings = 0 - for i, node1 in enumerate(nodes_at_level): - for j, node2 in enumerate(nodes_at_level): - if i >= j: - continue - - # Get parents of both nodes - parents1 = list(G.predecessors(node1)) - parents2 = list(G.predecessors(node2)) - - for p1 in parents1: - for p2 in parents2: - if p1 in pos and p2 in pos: - # Check if edges cross - p1_x, p1_y = pos[p1] - p2_x, p2_y = pos[p2] - n1_x = node_positions[node1][0] - n2_x = node_positions[node2][0] - - # Simple crossing check - if (p1_x < p2_x and n1_x > n2_x) or ( - p1_x > p2_x and n1_x < n2_x - ): - crossings += 1 - return crossings - - # Try to improve by swapping adjacent nodes - improved = True - max_iterations = 10 - iteration = 0 - - while improved and iteration < max_iterations: - improved = False - iteration += 1 - - for i in range(len(nodes_at_level) - 1): - node1 = nodes_at_level[i] - node2 = nodes_at_level[i + 1] - - # Create temporary positions with swapped nodes - temp_positions = dict(pos) - temp_positions[node1] = pos[node2] - temp_positions[node2] = pos[node1] - - # Check if this reduces crossings - original_crossings = count_crossings(pos) - new_crossings = count_crossings(temp_positions) - - if new_crossings < original_crossings: - # Apply the swap - pos[node1] = temp_positions[node1] - pos[node2] = temp_positions[node2] - # Also swap in the nodes list - nodes_at_level[i], nodes_at_level[i + 1] = ( - nodes_at_level[i + 1], - nodes_at_level[i], - ) - improved = True - - # Calculate base node sizes based on number of nodes - num_nodes = len(G.nodes()) - # Scale node sizes more like the reference image - size_factor = max(0.3, min(1.0, 20 / (num_nodes**0.4))) - - best_node_size = int(1500 * size_factor) - path_node_size = int(800 * size_factor) - regular_node_size = int(600 * size_factor) - - # Find min and max combined_score to create color map - score_values = [] - score_field = "combined_score" # As per user's request - - # Find the best node (highest score) - best_node = None - best_score = float("-inf") - - for node in G.nodes(): - if score_field in G.nodes[node]: - score = G.nodes[node][score_field] - if isinstance(score, (int, float)): - score_values.append(score) - if score > best_score: - best_score = score - best_node = node - - # Find the path from root to the best node (if it exists) - path_to_best = [] - best_path_edges = [] - if best_node: - try: - # Find shortest path from root to best node - path_to_best = nx.shortest_path(G, root, best_node) - # Create list of edge tuples in the path - best_path_edges = list(zip(path_to_best[:-1], path_to_best[1:])) - except nx.NetworkXNoPath: - # No path exists, keep the lists empty - pass - - # Draw regular edges first (thinner, black) - regular_edges = [(u, v) for u, v in G.edges() if (u, v) not in best_path_edges] - nx.draw_networkx_edges( - G, - pos, - edgelist=regular_edges, - arrows=False, - arrowsize=12, - width=1.5, - edge_color="black", - alpha=0.6, - ax=ax, - ) - - # Draw the edges in the path to the best node (thicker, black like reference) - if best_path_edges: - nx.draw_networkx_edges( - G, - pos, - edgelist=best_path_edges, - arrows=False, - arrowsize=20, - width=3.5, - edge_color="black", - alpha=0.9, - ax=ax, - ) - - if score_values: - if vmin is None: - vmin = min(score_values) - if vmax is None: - vmax = max(score_values) - norm = mcolors.Normalize(vmin=vmin, vmax=vmax) - - # Create colormap using proper method - viridis has good contrast with black text - color_map = cm_module.get_cmap("viridis") - - # Draw nodes with colors based on combined_score - for node in G.nodes(): - node_attrs = G.nodes[node] - current_node_size = regular_node_size - # Default for nodes without valid score - current_node_color = "lightgray" - current_edge_color = "black" - current_linewidth = 1.5 - current_node_shape = "o" # Default shape, circle for "diff" - - # Check if node is incorrect first (overrides other shape logic) - is_correct = node_attrs.get("correct", True) # Default to True - if not is_correct: - current_node_shape = "x" # X shape for incorrect nodes - current_node_color = "red" - current_edge_color = "darkred" - current_linewidth = 4.0 # Thicker line for X - current_node_size = int(current_node_size * 1.5) # Larger size - else: - # Determine shape based on patch_type (only for correct nodes) - patch_type = node_attrs.get("patch_type") - if patch_type == "full": - current_node_shape = "s" # Square - elif patch_type == "init": - current_node_shape = "^" # Triangle up - # elif patch_type == "paper": - # current_node_shape = "d" # Diamond - elif patch_type == "cross": - current_node_shape = "P" # Plus (filled) - - if score_field in node_attrs: - score = node_attrs[score_field] - if pd.isna(score): # Check for NaN - current_node_color = "purple" # Highlight NaN scores - elif isinstance(score, (int, float)): - color = color_map(norm(score)) - current_node_color = mcolors.to_hex(color) - - # Check if this is the best node (overrides all except incorrect) - if node == best_node and is_correct: # Only if correct - current_node_size = best_node_size - current_node_color = "gold" - current_edge_color = "black" - current_linewidth = 2.5 - current_node_shape = "*" # Star shape for best node - elif node in path_to_best and is_correct: # Only if correct - current_node_size = path_node_size - # Color for path nodes: - # - Score color if valid - # - Purple if NaN - # - Lightgray otherwise - node_score = node_attrs.get(score_field) - if node_score is not None and not pd.isna(node_score): - # Valid numeric score? - if isinstance(node_score, (int, float)): - color = color_map(norm(node_score)) - current_node_color = mcolors.to_hex(color) - current_edge_color = "black" - current_linewidth = 2.0 - # Keep shape determined by patch_type unless best node - - nx.draw_networkx_nodes( - G, - pos, - nodelist=[node], - node_size=current_node_size, - node_color=current_node_color, - edgecolors=current_edge_color, - linewidths=current_linewidth, - ax=ax, - node_shape=current_node_shape, - ) - - # Add colorbar with proper axes reference - sm = cm_module.ScalarMappable(cmap=color_map, norm=norm) - sm.set_array([]) - cb = plt.colorbar( - sm, - ax=ax, # type: ignore[arg-type] - pad=-0.05, - shrink=0.6, - ) - cb.set_label(label="Combined Fitness Score", size=20, weight="bold") - cb.ax.tick_params(labelsize=16) - else: - # Draw all nodes with default color if no scores available - nx.draw_networkx_nodes( - G, - pos, - node_size=regular_node_size, - node_color="lightblue", - edgecolors="black", - linewidths=1.5, - ax=ax, - ) - - # Prepare simple node labels with generation and combined_score - node_labels = {} - for node in G.nodes(): - attrs = G.nodes[node] - label_parts = [] - - # Add generation if available - if "generation" in attrs: - label_parts.append(f"{attrs['generation']}") - - # # Add combined_score if available - # if score_field in attrs: - # value = attrs[score_field] - # if isinstance(value, float): - # label_parts.append(f"{value:.1f}") - # else: - # label_parts.append(f"{value}") - - # # Join with newline - if label_parts: - # node_labels[node] = "\n".join(label_parts) - node_labels[node] = label_parts[0] - # else: - # # Just use a short version of the ID if no other info available - # node_labels[node] = f"{node[:8]}" - - # Create a new position dictionary for labels with adjusted y-coordinates - # to place labels above nodes - label_pos = {} - for node, (x, y) in pos.items(): - # Move labels slightly above the nodes - label_pos[node] = (x, y + 0.0) - - # Draw the labels with better font options at adjusted positions - nx.draw_networkx_labels( - G, - label_pos, - labels=node_labels, - font_size=12, - font_weight="bold", - font_color="white", - ax=ax, - ) - - # Add legend for the star shape and paths - if best_node: - star_patch = Line2D( - [0], - [0], - marker="*", - color="w", - markerfacecolor="gold", - markersize=20, - label="Best Score", - ) - # Create line legend with appropriate width - path_line = Line2D([0], [0], color="red", linewidth=4, label=r"Path$\to$Best") - # Legend for patch types - diff_patch = Line2D( - [0], - [0], - marker="o", - color="w", - label="Diff Edit", - markerfacecolor="gray", - markersize=10, - ) - full_patch = Line2D( - [0], - [0], - marker="s", - color="w", - label="Full Edit", - markerfacecolor="gray", - markersize=10, - ) - init_patch = Line2D( - [0], - [0], - marker="^", - color="w", - label="Initial", - markerfacecolor="gray", - markersize=10, - ) - # paper_patch = Line2D( - # [0], - # [0], - # marker="d", # Diamond - # color="w", - # label="Paper Edit", - # markerfacecolor="gray", - # markersize=10, - # ) - crossover_patch = Line2D( - [0], - [0], - marker="P", # Plus (filled) - color="w", - label="Cross-Over", - markerfacecolor="gray", - markersize=10, - ) - incorrect_patch = Line2D( - [0], - [0], - marker="x", # X shape - color="w", - label="Incorrect", - markerfacecolor="red", - markeredgecolor="darkred", - markersize=15, - markeredgewidth=3, - ) - - legend_handles = [ - star_patch, - # path_line, - diff_patch, - full_patch, - init_patch, - # paper_patch, - crossover_patch, - incorrect_patch, - ] - ax.legend(handles=legend_handles, loc="upper right", fontsize=25, ncol=2) - - ax.set_title(title, fontsize=40, fontweight="bold") - ax.axis("off") - # Use subplots_adjust for more control over margins, reduce left padding - fig.subplots_adjust(left=0.02, right=0.85, top=0.95, bottom=0.05) - return fig, ax diff --git a/genesis/plots/plot_pareto.py b/genesis/plots/plot_pareto.py deleted file mode 100644 index b930f9a..0000000 --- a/genesis/plots/plot_pareto.py +++ /dev/null @@ -1,377 +0,0 @@ -import matplotlib.pyplot as plt -import pandas as pd -from typing import Optional, Tuple -from matplotlib.figure import Figure -from matplotlib.axes import Axes -import numpy as np - -from .plot_improvement import _wrap_text -from adjustText import adjust_text - - -# Helper function to identify Pareto-optimal points -# Assumes higher values are better for all metrics -def get_pareto_mask(points: np.ndarray) -> np.ndarray: - """ - Finds the Pareto-efficient points. Assumes all objectives are - to be maximized. A point is Pareto efficient if it is not - dominated by any other point. Point A dominates point B if A is - at least as good as B on all objectives, and strictly better - than B on at least one objective. - - :param points: An (n_points, n_objectives) NumPy array. - :return: A (n_points, ) boolean NumPy array indicating Pareto optimality. - """ - num_points = points.shape[0] - is_pareto = np.ones(num_points, dtype=bool) - for i in range(num_points): - if not is_pareto[i]: # If already marked as dominated, skip - continue - for j in range(num_points): - if i == j: - continue - - # Check if point j dominates point i - if np.all(points[j] >= points[i]) and np.any(points[j] > points[i]): - is_pareto[i] = False # Point i is dominated by point j - break - return is_pareto - - -def _place_pareto_annotations_with_connections( - ax, pareto_df, x_col, y_col, x_maximize=True -): - """ - Place patch name annotations for Pareto points using adjustText for - optimal positioning. Deduplicates based on coordinates and patch_name - to avoid multiple annotations for the same point. - """ - # Force axis limits to be updated after any inversion - ax.figure.canvas.draw_idle() - - annotations = [] - - # Deduplicate based on coordinates and patch_name to avoid multiple - # annotations for the same program point (e.g., island copies) - unique_points = {} - for _, row in pareto_df.iterrows(): - patch_name_val = str(row.get("patch_name", "")) - if ( - pd.notna(patch_name_val) - and patch_name_val != "" - and patch_name_val not in ["nan", "none"] - ): - x_pos = float(row[x_col]) - y_pos = float(row[y_col]) - - # Create a key based on coordinates and patch name - key = (x_pos, y_pos, patch_name_val) - - # Only keep the first occurrence of each unique point - if key not in unique_points: - unique_points[key] = row - - # Now create annotations for unique points only - for (x_pos, y_pos, patch_name_val), row in unique_points.items(): - # Wrap long patch names - patch_name_to_plot = _wrap_text(patch_name_val, max_length=12) - - # Calculate initial offset position based on x_maximize - # Use smaller, more conservative offsets to stay within bounds - x_range = abs(ax.get_xlim()[1] - ax.get_xlim()[0]) - y_range = abs(ax.get_ylim()[1] - ax.get_ylim()[0]) - - # Get axis limits for constraint checking - x_min, x_max = ax.get_xlim() - y_min, y_max = ax.get_ylim() - - if x_maximize: - # For maximization, place labels to the left (worse direction) - x_offset = -x_range * 0.15 # Reduced from 0.3 to 0.15 - else: - # For minimization, place labels to the right (worse direction) - x_offset = x_range * 0.15 # Reduced from 0.3 to 0.15 - - # Calculate proposed text position - text_x = x_pos + x_offset - text_y = y_pos - - # Ensure text position stays within bounds with margin - margin_x = x_range * 0.05 # 5% margin - margin_y = y_range * 0.05 # 5% margin - - text_x = max(x_min + margin_x, min(x_max - margin_x, text_x)) - text_y = max(y_min + margin_y, min(y_max - margin_y, text_y)) - - # Create annotation with constrained position - annotation = ax.annotate( - patch_name_to_plot, - xy=(x_pos, y_pos), # Point to connect arrow to - xytext=(text_x, text_y), # Constrained text position - fontsize=20, - fontweight="bold", - color="darkgreen", - bbox=dict( - boxstyle="round,pad=0.3", - fc="lightyellow", - ec="black", - alpha=0.7, - ), - zorder=4.0, - arrowprops=dict( - arrowstyle="->", - shrinkA=5, - shrinkB=5, - # connectionstyle="arc3,rad=0.4", - color="black", - linewidth=3, # Make arrow thick - ), - ) - annotations.append(annotation) - - # Simple grid-based positioning to avoid overlaps completely - if annotations: - # Set clipping on annotations to ensure they don't extend beyond axes - for annotation in annotations: - annotation.set_clip_on(True) - - # Sort annotations by x-coordinate of their data points for consistent ordering - annotations_with_points = [] - for annotation in annotations: - # Get the xy position (data point) from the annotation - xy_pos = annotation.xy - annotations_with_points.append((xy_pos[0], annotation)) - - # Sort by x-coordinate - annotations_with_points.sort(key=lambda x: x[0]) - - # Position annotations close to points but with smart vertical spacing - x_min, x_max = ax.get_xlim() - y_min, y_max = ax.get_ylim() - x_range = x_max - x_min - y_range = y_max - y_min - - # Create vertical slots to prevent overlaps - n_annotations = len(annotations_with_points) - - # Calculate vertical spacing for labels - label_zone_height = y_range * 0.6 # Use 60% of plot height for labels - label_zone_bottom = y_min + y_range * 0.15 # Start 15% from bottom - - if n_annotations > 1: - y_spacing = label_zone_height / (n_annotations - 1) - else: - y_spacing = 0 - - # Position each annotation - for i, (data_x, annotation) in enumerate(annotations_with_points): - # Get the original data point position - data_point_x, data_point_y = annotation.xy - - # Calculate y position in the vertical slot system - if n_annotations == 1: - label_y = label_zone_bottom + label_zone_height / 2 - else: - label_y = label_zone_bottom + i * y_spacing - - # Position horizontally close to the data point but with some offset - if x_maximize: - # For maximization, place labels to the left - label_x = data_point_x - x_range * 0.03 - else: - # For minimization, place labels to the right - label_x = data_point_x + x_range * 0.03 - - # Ensure labels stay within bounds - margin_x = x_range * 0.05 - margin_y = y_range * 0.05 - - label_x = data_point_x - min(x_range * 0.03, margin_x) - # + max(x_min + margin_x, min(x_max - margin_x, label_x)) - label_y = max(y_min + margin_y, min(y_max - margin_y, label_y)) - - # Set the new position - annotation.set_position((label_x, label_y)) - - -def plot_pareto( - df: pd.DataFrame, - x_variable: str, - y_variable: str, - x_maximize: bool = True, - y_maximize: bool = True, - x_lim: Optional[Tuple[float, float]] = None, - y_lim: Optional[Tuple[float, float]] = None, - title: str = "Pareto Front Analysis", - xlabel: Optional[str] = None, - ylabel: Optional[str] = None, - fig: Optional[Figure] = None, - ax: Optional[Axes] = None, -): - """ - Plots a 2D Pareto front with lineage connections, aiming for - clarity and aesthetics. Axes are inverted as needed so that better - is always higher and to the right. - """ - x_metric_col_name, y_metric_col_name = x_variable, y_variable - - # Determine axis labels - final_xlabel = xlabel if xlabel is not None else x_metric_col_name - final_ylabel = ylabel if ylabel is not None else y_metric_col_name - - required_plotting_cols = [x_metric_col_name, y_metric_col_name] - missing_metrics = [col for col in required_plotting_cols if col not in df.columns] - if missing_metrics: - raise ValueError( - f"DataFrame missing required metric columns: {missing_metrics}" - ) - - if fig is None or ax is None: - fig, ax = plt.subplots(figsize=(12, 9)) - - if x_lim is not None: - ax.set_xlim(x_lim) - if y_lim is not None: - ax.set_ylim(*y_lim) - - df_plot = df.copy() - - if "correct" in df_plot.columns: - try: - df_plot["correct"] = df_plot["correct"].astype(bool) - except Exception as e: - print( - f"Warning: Could not convert 'correct' column to boolean: " - f"{e}. Using as is." - ) - - original_row_count = len(df_plot) - df_plot = df_plot[df_plot["correct"]] - if len(df_plot) < original_row_count: - print( - f"Filtered to {len(df_plot)} 'correct' rows from " - f"{original_row_count} total." - ) - if df_plot.empty: - print("No 'correct' points found to plot.") - ax.set_title(title, fontsize=32, fontweight="bold", pad=15) - ax.set_xlabel(final_xlabel, fontsize=25, fontweight="bold", labelpad=15) - ax.set_ylabel(final_ylabel, fontsize=25, fontweight="bold", labelpad=15) - ax.grid( - True, linestyle=":", alpha=0.9, color="lightgray" - ) # User preference for grid alpha - ax.spines["top"].set_visible(False) - ax.spines["right"].set_visible(False) - if fig: - fig.tight_layout() - return fig, ax - else: - print("Warning: 'correct' column not found. Plotting all points.") - - for col in [x_variable, y_variable]: - df_plot[col] = pd.to_numeric(df_plot[col], errors="coerce") - df_plot = df_plot.dropna(subset=[x_variable, y_variable]) - ax.tick_params(axis="both", which="major", labelsize=20) - if df_plot.empty: - print("No data to plot after processing metric columns.") - ax.set_title(title, fontsize=32, fontweight="bold", pad=15) - ax.set_xlabel(final_xlabel, fontsize=25, fontweight="bold", labelpad=15) - ax.set_ylabel(final_ylabel, fontsize=25, fontweight="bold", labelpad=15) - ax.grid( - True, linestyle=":", alpha=0.9, color="lightgray" - ) # User preference for grid alpha - ax.spines["top"].set_visible(False) - ax.spines["right"].set_visible(False) - if fig: - fig.tight_layout() - return fig, ax - - # Prepare metric values for Pareto calculation - # Invert values for minimization objectives so higher is always better - metric_values = df_plot[[x_variable, y_variable]].values.copy() - if not x_maximize: - metric_values[:, 0] = -metric_values[:, 0] - if not y_maximize: - metric_values[:, 1] = -metric_values[:, 1] - - pareto_mask = get_pareto_mask(metric_values) - df_plot["is_pareto"] = pareto_mask - - pareto_df = df_plot[df_plot["is_pareto"]].copy() - non_pareto_df = df_plot[~df_plot["is_pareto"]].copy() - - # Plot non-Pareto points - if not non_pareto_df.empty: - ax.scatter( - non_pareto_df[x_metric_col_name], - non_pareto_df[y_metric_col_name], - color="dimgray", - s=100, - alpha=1.0, - zorder=1, - label="Dominated/Other", - ) - - # Plot Pareto points on top - if not pareto_df.empty: - ax.scatter( - pareto_df[x_metric_col_name], - pareto_df[y_metric_col_name], - color="orangered", - s=200, - alpha=1.0, - marker="o", - edgecolor="black", - linewidth=1, - zorder=3, - label="Pareto Optimal", - ) - # Draw connections for Pareto frontier - if not pareto_df.empty and len(pareto_df) > 1: - # Sort Pareto points by x-coordinate to form proper frontier - pareto_sorted = pareto_df.sort_values(x_metric_col_name) - - # Connect consecutive points along the sorted frontier - x_coords = pareto_sorted[x_metric_col_name].values - y_coords = pareto_sorted[y_metric_col_name].values - - ax.plot( - x_coords, - y_coords, - color="red", - linewidth=4, - alpha=0.7, - zorder=2, - ) - - # Invert axes BEFORE annotations if needed so better is always higher - # and to the right - if not x_maximize: - ax.invert_xaxis() - if not y_maximize: - ax.invert_yaxis() - - # Annotate Pareto points with patch names using optimization - if not pareto_df.empty and "patch_name" in pareto_df.columns: - _place_pareto_annotations_with_connections( - ax, pareto_df, x_metric_col_name, y_metric_col_name, x_maximize - ) - - ax.set_xlabel(final_xlabel, fontsize=25, fontweight="bold", labelpad=15) - ax.set_ylabel(final_ylabel, fontsize=25, fontweight="bold", labelpad=15) - ax.set_title(title, fontsize=32, fontweight="bold", pad=15) - - handles, labels = ax.get_legend_handles_labels() - by_label = dict(zip(labels, handles)) - if by_label: - ax.legend(by_label.values(), by_label.keys(), loc="best", fontsize=25) - - ax.grid( - True, linestyle=":", alpha=0.9, color="lightgray" - ) # User preference for grid alpha - ax.spines["top"].set_visible(False) - ax.spines["right"].set_visible(False) - - if fig: - fig.tight_layout() - return fig, ax diff --git a/genesis/plots/plot_similarity.py b/genesis/plots/plot_similarity.py deleted file mode 100644 index 2d2cc53..0000000 --- a/genesis/plots/plot_similarity.py +++ /dev/null @@ -1,65 +0,0 @@ -import matplotlib.pyplot as plt -import seaborn as sns -import numpy as np - - -def plot_embed_similarity( - embeds, - perfs, - ordered=True, - title="Code Embedding Cosine Similarity", - fig=None, - axs=None, - vmin=None, - vmax=None, -): - """ - Plot the similarity of embeddings and the performance of programs. - """ - from sklearn.metrics.pairwise import cosine_similarity - - similarity_matrix = cosine_similarity(embeds) - - if ordered: - from scipy.cluster.hierarchy import linkage, leaves_list - - # Perform hierarchical clustering - linkage_matrix = linkage(embeds, method="ward") - ordered_indices = leaves_list(linkage_matrix) - - # Reorder matrix - similarity_matrix = similarity_matrix[ordered_indices][:, ordered_indices] - perfs = perfs[ordered_indices] - title += " (Clustered)" - - # Plot similarity matrix - fig, axs = plt.subplots( - 1, 2, figsize=(12, 8), gridspec_kw={"width_ratios": [20, 1]} - ) - sns.heatmap(similarity_matrix, cmap="viridis", ax=axs[0]) - axs[0].set_title(title, fontsize=25) - axs[0].set_xlabel("Program Index") - axs[0].set_ylabel("Program Index") - - if ordered: - # set xticks to be the program ids using ordered_indices - axs[0].set_xticks(np.arange(len(ordered_indices))[::3]) - axs[0].set_xticklabels(ordered_indices[::3]) - axs[0].set_yticks(np.arange(len(ordered_indices))[::3]) - axs[0].set_yticklabels(ordered_indices[::3]) - - # Plot performance heatmap - sns.heatmap( - perfs.reshape(-1, 1), - cmap="Reds_r", - ax=axs[1], - vmin=vmin, - vmax=vmax, - xticklabels=False, - yticklabels=False, - ) - axs[1].set_title("Score", fontsize=14) - axs[1].set_xticks([]) - axs[1].set_yticks([]) - fig.tight_layout() - return fig, axs, similarity_matrix diff --git a/genesis/webui/frontend/.dockerignore b/genesis/webui/frontend/.dockerignore new file mode 100644 index 0000000..655562d --- /dev/null +++ b/genesis/webui/frontend/.dockerignore @@ -0,0 +1,5 @@ +node_modules +dist +test-results +playwright-report +.env* diff --git a/genesis/webui/frontend/Dockerfile b/genesis/webui/frontend/Dockerfile new file mode 100644 index 0000000..d7d476c --- /dev/null +++ b/genesis/webui/frontend/Dockerfile @@ -0,0 +1,12 @@ +FROM node:20-alpine AS build +WORKDIR /app +COPY package.json package-lock.json ./ +RUN npm ci +COPY . . +RUN npm run build + +FROM nginx:alpine +COPY --from=build /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/templates/default.conf.template +EXPOSE 8080 +ENV BACKEND_URL=http://localhost:8080 diff --git a/genesis/webui/frontend/nginx.conf b/genesis/webui/frontend/nginx.conf new file mode 100644 index 0000000..08f50b1 --- /dev/null +++ b/genesis/webui/frontend/nginx.conf @@ -0,0 +1,22 @@ +server { + listen 8080; + root /usr/share/nginx/html; + index index.html; + + location /api/ { + proxy_pass ${BACKEND_URL}/api/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location / { + try_files $uri $uri/ /index.html; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } +} diff --git a/genesis/webui/frontend/package-lock.json b/genesis/webui/frontend/package-lock.json index 438fc32..865ec4d 100644 --- a/genesis/webui/frontend/package-lock.json +++ b/genesis/webui/frontend/package-lock.json @@ -103,7 +103,6 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -3111,7 +3110,6 @@ "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -3122,7 +3120,6 @@ "integrity": "sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==", "devOptional": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } @@ -3212,7 +3209,6 @@ "integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.0", "@typescript-eslint/types": "8.46.0", @@ -3484,7 +3480,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3804,7 +3799,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -3948,7 +3942,6 @@ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", "license": "MIT", - "peer": true, "dependencies": { "@kurkle/color": "^0.3.0" }, @@ -4713,7 +4706,6 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -5203,7 +5195,6 @@ "integrity": "sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -8096,7 +8087,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -8364,7 +8354,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -8384,7 +8373,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -9456,7 +9444,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -9603,7 +9590,6 @@ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz", "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" @@ -9685,7 +9671,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -9850,7 +9835,6 @@ "integrity": "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -9944,7 +9928,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, diff --git a/genesis/webui/frontend/src/components/ErrorBoundary.tsx b/genesis/webui/frontend/src/components/ErrorBoundary.tsx index f8990e4..58bfd85 100644 --- a/genesis/webui/frontend/src/components/ErrorBoundary.tsx +++ b/genesis/webui/frontend/src/components/ErrorBoundary.tsx @@ -1,4 +1,4 @@ -import React, { Component, ErrorInfo, ReactNode } from 'react'; +import { Component, type ErrorInfo, type ReactNode } from 'react'; interface Props { children: ReactNode; diff --git a/genesis/webui/frontend/src/context/GenesisContext.tsx b/genesis/webui/frontend/src/context/GenesisContext.tsx index 832e2f2..6739037 100644 --- a/genesis/webui/frontend/src/context/GenesisContext.tsx +++ b/genesis/webui/frontend/src/context/GenesisContext.tsx @@ -183,7 +183,7 @@ export function GenesisProvider({ children }: { children: ReactNode }) { const stats = computeStats(state.programs); - const loadDatabases = useCallback(async (force = false) => { + const loadDatabases = useCallback(async (_force = false) => { dispatch({ type: 'SET_LOADING', payload: true }); dispatch({ type: 'SET_ERROR', payload: null }); diff --git a/genesis/webui/frontend/src/lib/utils.ts b/genesis/webui/frontend/src/lib/utils.ts index d084cca..ec0d75c 100644 --- a/genesis/webui/frontend/src/lib/utils.ts +++ b/genesis/webui/frontend/src/lib/utils.ts @@ -1,6 +1,5 @@ import { type ClassValue, clsx } from "clsx" -import { twMerge } from "tailwind-merge" export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) + return clsx(inputs) } diff --git a/genesis/webui/frontend/src/services/api.ts b/genesis/webui/frontend/src/services/api.ts index 4d0a3bb..716aed7 100644 --- a/genesis/webui/frontend/src/services/api.ts +++ b/genesis/webui/frontend/src/services/api.ts @@ -1,19 +1,35 @@ import type { DatabaseInfo, Program, MetaFile, MetaContent } from '../types'; -const API_BASE = 'http://localhost:8000'; +const API_BASE = import.meta.env.VITE_API_URL || '/api'; export async function listDatabases(): Promise { - const response = await fetch(`${API_BASE}/list_databases`); + const response = await fetch(`${API_BASE}/runs`); if (!response.ok) { - throw new Error(`Failed to load database list (HTTP ${response.status})`); + throw new Error(`Failed to load runs (HTTP ${response.status})`); } - return response.json(); + const data = await response.json(); + return (data.runs ?? []).map( + (r: { + run_id: string; + task_name: string; + status: string; + start_time: string; + population_size: number; + total_generations: number; + }) => ({ + path: r.run_id, + name: `${r.task_name} (${r.status})`, + sort_key: r.start_time, + stats: { + total: r.population_size, + working: r.total_generations, + }, + }) + ); } -export async function getPrograms(dbPath: string): Promise { - const response = await fetch( - `${API_BASE}/get_programs?db_path=${encodeURIComponent(dbPath)}` - ); +export async function getPrograms(runId: string): Promise { + const response = await fetch(`${API_BASE}/runs/${runId}/individuals`); if (!response.ok) { if (response.status === 503) { throw new Error( @@ -22,35 +38,103 @@ export async function getPrograms(dbPath: string): Promise { } throw new Error(`Failed to load data (HTTP ${response.status})`); } - return response.json(); + const data = await response.json(); + return (data.individuals ?? []).map( + (r: { + id: string; + parent_id: string | null; + code: string; + language: string; + generation: number; + timestamp: string; + agent_name: string; + combined_score: number; + fitness_score: number; + metrics: Record; + text_feedback: string; + metadata: { + patch_name: string; + patch_type: string; + api_cost: number; + embed_cost: number; + novelty_cost: number; + }; + correct: boolean; + is_pareto: boolean; + code_size: number; + }) => ({ + id: r.id, + parent_id: r.parent_id, + code: r.code, + language: r.language, + generation: r.generation, + timestamp: new Date(r.timestamp).getTime() / 1000, + agent_name: r.agent_name, + combined_score: r.combined_score, + public_metrics: r.metrics, + private_metrics: null, + text_feedback: r.text_feedback || null, + metadata: r.metadata ?? { patch_name: 'unknown', patch_type: 'unknown' }, + complexity: r.code_size ?? null, + embedding: null, + embedding_pca_2d: null, + embedding_pca_3d: null, + island_idx: null, + correct: r.correct, + }) + ); } -export async function getMetaFiles(dbPath: string): Promise { - const response = await fetch( - `${API_BASE}/get_meta_files?db_path=${encodeURIComponent(dbPath)}` - ); +export async function getMetaFiles(runId: string): Promise { + const response = await fetch(`${API_BASE}/runs/${runId}/generations`); if (!response.ok) { if (response.status === 404) { return []; } - throw new Error(`Failed to load meta files (HTTP ${response.status})`); + throw new Error(`Failed to load generations (HTTP ${response.status})`); } - return response.json(); + const data = await response.json(); + return (data.generations ?? []).map( + (g: { generation: number; timestamp: string }) => ({ + generation: g.generation, + filename: `generation_${g.generation}`, + path: `${runId}/generations/${g.generation}`, + }) + ); } export async function getMetaContent( - dbPath: string, + runId: string, generation: number ): Promise { const response = await fetch( - `${API_BASE}/get_meta_content?db_path=${encodeURIComponent(dbPath)}&generation=${generation}` + `${API_BASE}/runs/${runId}/generations/${generation}` ); if (!response.ok) { - throw new Error(`Failed to load meta content (HTTP ${response.status})`); + throw new Error( + `Failed to load generation details (HTTP ${response.status})` + ); } - return response.json(); + const data = await response.json(); + const content = [ + `# Generation ${data.generation}`, + ``, + `- **Individuals**: ${data.num_individuals}`, + `- **Best Score**: ${data.best_score?.toFixed(4) ?? 'N/A'}`, + `- **Avg Score**: ${data.avg_score?.toFixed(4) ?? 'N/A'}`, + `- **Pareto Size**: ${data.pareto_size}`, + `- **Total Cost**: $${data.total_cost?.toFixed(4) ?? '0'}`, + ``, + data.metadata ? `## Metadata\n\`\`\`json\n${JSON.stringify(data.metadata, null, 2)}\n\`\`\`` : '', + ].join('\n'); + + return { + generation: data.generation, + filename: `generation_${data.generation}`, + content, + }; } -export function getMetaPdfUrl(dbPath: string, generation: number): string { - return `${API_BASE}/download_meta_pdf?db_path=${encodeURIComponent(dbPath)}&generation=${generation}`; +export function getMetaPdfUrl(runId: string, generation: number): string { + return `${API_BASE}/runs/${runId}/generations/${generation}`; } diff --git a/genesis/webui/frontend/vite.config.ts b/genesis/webui/frontend/vite.config.ts index 688367a..1b8579c 100644 --- a/genesis/webui/frontend/vite.config.ts +++ b/genesis/webui/frontend/vite.config.ts @@ -12,11 +12,7 @@ export default defineConfig({ }, server: { proxy: { - '/list_databases': 'http://localhost:8000', - '/get_programs': 'http://localhost:8000', - '/get_meta_files': 'http://localhost:8000', - '/get_meta_content': 'http://localhost:8000', - '/download_meta_pdf': 'http://localhost:8000', + '/api': 'http://localhost:8080', }, }, }); diff --git a/genesis_rust_backend/.dockerignore b/genesis_rust_backend/.dockerignore new file mode 100644 index 0000000..eacfe58 --- /dev/null +++ b/genesis_rust_backend/.dockerignore @@ -0,0 +1,4 @@ +target/ +.git/ +*.md +tests/ diff --git a/genesis_rust_backend/Cargo.lock b/genesis_rust_backend/Cargo.lock index 4acc381..9f5888d 100644 --- a/genesis_rust_backend/Cargo.lock +++ b/genesis_rust_backend/Cargo.lock @@ -2,6 +2,21 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -17,6 +32,26 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -29,17 +64,149 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +[[package]] +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +dependencies = [ + "axum-core", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitflags" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bollard" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccca1260af6a459d75994ad5acc1651bcabcbdbc41467cc9786519ab854c30" +dependencies = [ + "base64 0.22.1", + "bollard-stubs", + "bytes", + "futures-core", + "futures-util", + "hex", + "home", + "http", + "http-body-util", + "hyper", + "hyper-named-pipe", + "hyper-rustls", + "hyper-util", + "hyperlocal", + "log", + "pin-project-lite", + "rustls", + "rustls-native-certs", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_derive", + "serde_json", + "serde_repr", + "serde_urlencoded", + "thiserror 2.0.18", + "tokio", + "tokio-util", + "tower-service", + "url", + "winapi", +] + +[[package]] +name = "bollard-stubs" +version = "1.47.1-rc.27.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f179cfbddb6e77a5472703d4b30436bff32929c0aa8a9008ecf23d1d3cdd0da" +dependencies = [ + "serde", + "serde_repr", + "serde_with", +] [[package]] name = "bumpalo" @@ -47,6 +214,12 @@ version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + [[package]] name = "bytes" version = "1.11.1" @@ -89,18 +262,159 @@ dependencies = [ "windows-link", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + [[package]] name = "diff" version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -112,6 +426,38 @@ dependencies = [ "syn", ] +[[package]] +name = "docker_credential" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d89dfcba45b4afad7450a99b39e751590463e45c04728cf555d36bb66940de8" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -128,18 +474,62 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "filetime" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" +dependencies = [ + "cfg-if", + "libc", + "libredox", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + [[package]] name = "foldhash" version = "0.1.5" @@ -156,20 +546,57 @@ dependencies = [ ] [[package]] -name = "futures-channel" +name = "futures" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ + "futures-channel", "futures-core", + "futures-executor", + "futures-io", "futures-sink", + "futures-task", + "futures-util", ] [[package]] -name = "futures-core" +name = "futures-channel" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] [[package]] name = "futures-io" @@ -177,6 +604,17 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "futures-sink" version = "0.3.32" @@ -195,8 +633,10 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ + "futures-channel", "futures-core", "futures-io", + "futures-macro", "futures-sink", "futures-task", "memchr", @@ -204,20 +644,40 @@ dependencies = [ "slab", ] +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "genesis_rust_backend" version = "0.1.0" dependencies = [ "anyhow", + "axum", "chrono", + "dotenvy", "pretty_assertions", "rand 0.8.5", "reqwest", "serde", "serde_json", "serde_yaml", + "sqlx", "tempfile", + "testcontainers", + "testcontainers-modules", "thiserror 1.0.69", + "tokio", + "tower-http", + "tracing", + "tracing-subscriber", + "uuid", ] [[package]] @@ -260,12 +720,20 @@ dependencies = [ "wasip3", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ + "allocator-api2", + "equivalent", "foldhash", ] @@ -275,12 +743,54 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "http" version = "1.4.0" @@ -320,6 +830,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "hyper" version = "1.8.1" @@ -333,6 +849,7 @@ dependencies = [ "http", "http-body", "httparse", + "httpdate", "itoa", "pin-project-lite", "pin-utils", @@ -341,6 +858,21 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-named-pipe" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b7d8abf35697b81a825e386fc151e0d503e8cb5fcb93cc8669c376dfd6f278" +dependencies = [ + "hex", + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", + "winapi", +] + [[package]] name = "hyper-rustls" version = "0.27.7" @@ -355,7 +887,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", + "webpki-roots 1.0.6", ] [[package]] @@ -364,7 +896,7 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-util", @@ -381,6 +913,21 @@ dependencies = [ "tracing", ] +[[package]] +name = "hyperlocal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "986c5ce3b994526b3cd75578e62554abd09f0899d6206de48b3e96ab34ccc8c7" +dependencies = [ + "hex", + "http-body-util", + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "iana-time-zone" version = "0.1.65" @@ -492,6 +1039,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.1.0" @@ -513,6 +1066,17 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + [[package]] name = "indexmap" version = "2.13.0" @@ -557,6 +1121,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + [[package]] name = "leb128fmt" version = "0.1.0" @@ -569,6 +1142,34 @@ version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +dependencies = [ + "bitflags 2.11.0", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -581,6 +1182,15 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "log" version = "0.4.29" @@ -593,12 +1203,43 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + [[package]] name = "memchr" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "mio" version = "1.1.1" @@ -610,6 +1251,57 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -617,6 +1309,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -625,6 +1318,75 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] + +[[package]] +name = "parse-display" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914a1c2265c98e2446911282c6ac86d8524f495792c38c5bd884f80499c7538a" +dependencies = [ + "parse-display-derive", + "regex", + "regex-syntax", +] + +[[package]] +name = "parse-display-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae7800a4c974efd12df917266338e79a7a74415173caf7e70aa0a0707345281" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "regex-syntax", + "structmeta", + "syn", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.2" @@ -643,6 +1405,39 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "potential_utf" version = "0.1.4" @@ -652,6 +1447,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -820,17 +1621,91 @@ dependencies = [ ] [[package]] -name = "reqwest" -version = "0.12.28" +name = "redox_syscall" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "base64", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http", + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.11.0", +] + +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags 2.11.0", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "regex" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "http", "http-body", "http-body-util", "hyper", @@ -856,7 +1731,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", + "webpki-roots 1.0.6", ] [[package]] @@ -873,6 +1748,26 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rustc-hash" version = "2.1.1" @@ -885,7 +1780,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys", @@ -906,6 +1801,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "rustls-pki-types" version = "1.14.0" @@ -939,6 +1855,68 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +[[package]] +name = "schannel" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags 2.11.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.27" @@ -988,6 +1966,28 @@ dependencies = [ "zmij", ] +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -1000,52 +2000,394 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_yaml" version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap", + "indexmap 2.13.0", "itoa", "ryu", "serde", - "unsafe-libyaml", + "unsafe-libyaml", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +dependencies = [ + "base64 0.22.1", + "bytes", + "chrono", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.5", + "hashlink", + "indexmap 2.13.0", + "log", + "memchr", + "once_cell", + "percent-encoding", + "rustls", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tracing", + "url", + "uuid", + "webpki-roots 0.26.11", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +dependencies = [ + "atoi", + "base64 0.22.1", + "bitflags 2.11.0", + "byteorder", + "bytes", + "chrono", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.18", + "tracing", + "uuid", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +dependencies = [ + "atoi", + "base64 0.22.1", + "bitflags 2.11.0", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.18", + "tracing", + "uuid", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +dependencies = [ + "atoi", + "chrono", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "thiserror 2.0.18", + "tracing", + "url", + "uuid", ] [[package]] -name = "shlex" -version = "1.3.0" +name = "stable_deref_trait" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] -name = "slab" -version = "0.4.12" +name = "stringprep" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] [[package]] -name = "smallvec" -version = "1.15.1" +name = "strsim" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] -name = "socket2" -version = "0.6.2" +name = "structmeta" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +checksum = "2e1575d8d40908d70f6fd05537266b90ae71b15dbbe7a8b7dffa2b759306d329" dependencies = [ - "libc", - "windows-sys 0.60.2", + "proc-macro2", + "quote", + "structmeta-derive", + "syn", ] [[package]] -name = "stable_deref_trait" -version = "1.2.1" +name = "structmeta-derive" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "subtle" @@ -1097,6 +2439,44 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "testcontainers" +version = "0.23.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a4f01f39bb10fc2a5ab23eb0d888b1e2bb168c157f61a1b98e6c501c639c74" +dependencies = [ + "async-trait", + "bollard", + "bollard-stubs", + "bytes", + "docker_credential", + "either", + "etcetera", + "futures", + "log", + "memchr", + "parse-display", + "pin-project-lite", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tokio-tar", + "tokio-util", + "url", +] + +[[package]] +name = "testcontainers-modules" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d43ed4e8f58424c3a2c6c56dbea6643c3c23e8666a34df13c54f0a184e6c707" +dependencies = [ + "testcontainers", +] + [[package]] name = "thiserror" version = "1.0.69" @@ -1137,6 +2517,46 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "time" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinystr" version = "0.8.2" @@ -1171,11 +2591,25 @@ dependencies = [ "bytes", "libc", "mio", + "parking_lot", "pin-project-lite", + "signal-hook-registry", "socket2", + "tokio-macros", "windows-sys 0.61.2", ] +[[package]] +name = "tokio-macros" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tokio-rustls" version = "0.26.4" @@ -1186,6 +2620,45 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tar" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75" +dependencies = [ + "filetime", + "futures-core", + "libc", + "redox_syscall 0.3.5", + "tokio", + "tokio-stream", + "xattr", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "tower" version = "0.5.3" @@ -1199,6 +2672,7 @@ dependencies = [ "tokio", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -1207,7 +2681,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags", + "bitflags 2.11.0", "bytes", "futures-util", "http", @@ -1217,6 +2691,7 @@ dependencies = [ "tower", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -1237,10 +2712,23 @@ version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ + "log", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tracing-core" version = "0.1.36" @@ -1248,6 +2736,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", ] [[package]] @@ -1256,12 +2774,39 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + [[package]] name = "unicode-ident" version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + [[package]] name = "unicode-xid" version = "0.2.6" @@ -1290,6 +2835,7 @@ dependencies = [ "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -1298,6 +2844,36 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "uuid" +version = "1.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" +dependencies = [ + "getrandom 0.4.1", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + [[package]] name = "want" version = "0.3.1" @@ -1331,6 +2907,12 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasm-bindgen" version = "0.2.113" @@ -1407,7 +2989,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap", + "indexmap 2.13.0", "wasm-encoder", "wasmparser", ] @@ -1418,9 +3000,9 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags", + "bitflags 2.11.0", "hashbrown 0.15.5", - "indexmap", + "indexmap 2.13.0", "semver", ] @@ -1444,6 +3026,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.6", +] + [[package]] name = "webpki-roots" version = "1.0.6" @@ -1453,6 +3044,38 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "whoami" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + [[package]] name = "windows-core" version = "0.62.2" @@ -1512,6 +3135,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -1539,6 +3171,21 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -1572,6 +3219,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -1584,6 +3237,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -1596,6 +3255,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -1620,6 +3285,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -1632,6 +3303,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -1644,6 +3321,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -1656,6 +3339,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -1696,7 +3385,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap", + "indexmap 2.13.0", "prettyplease", "syn", "wasm-metadata", @@ -1726,8 +3415,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags", - "indexmap", + "bitflags 2.11.0", + "indexmap 2.13.0", "log", "serde", "serde_derive", @@ -1746,7 +3435,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap", + "indexmap 2.13.0", "log", "semver", "serde", @@ -1762,6 +3451,16 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +[[package]] +name = "xattr" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" +dependencies = [ + "libc", + "rustix", +] + [[package]] name = "yansi" version = "1.0.1" diff --git a/genesis_rust_backend/Cargo.toml b/genesis_rust_backend/Cargo.toml index daa64d1..8f4d4d4 100644 --- a/genesis_rust_backend/Cargo.toml +++ b/genesis_rust_backend/Cargo.toml @@ -2,7 +2,7 @@ name = "genesis_rust_backend" version = "0.1.0" edition = "2021" -description = "Rust backend implementation scaffold for Genesis" +description = "Rust backend for the Genesis evolution platform" license = "MIT" [dependencies] @@ -13,8 +13,18 @@ serde_yaml = "0.9" rand = "0.8" chrono = { version = "0.4", features = ["serde"] } thiserror = "1" -reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] } +reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } tempfile = "3" +tokio = { version = "1", features = ["full"] } +sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "uuid", "chrono", "json"] } +axum = "0.8" +uuid = { version = "1", features = ["v4", "serde"] } +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter"] } +tower-http = { version = "0.6", features = ["cors", "trace"] } +dotenvy = "0.15" [dev-dependencies] pretty_assertions = "1" +testcontainers = "0.23" +testcontainers-modules = { version = "0.11", features = ["postgres"] } diff --git a/genesis_rust_backend/Dockerfile b/genesis_rust_backend/Dockerfile new file mode 100644 index 0000000..a0cfb1b --- /dev/null +++ b/genesis_rust_backend/Dockerfile @@ -0,0 +1,20 @@ +FROM rust:1.83-bookworm AS builder + +WORKDIR /app + +# Cache dependencies by building a dummy project first +COPY Cargo.toml Cargo.lock ./ +RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build --release && rm -rf src + +# Build real application +COPY src ./src +RUN touch src/main.rs && cargo build --release + +FROM gcr.io/distroless/cc-debian12 + +COPY --from=builder /app/target/release/genesis_rust_backend /genesis_rust_backend + +ENV PORT=8080 +EXPOSE 8080 + +ENTRYPOINT ["/genesis_rust_backend"] diff --git a/genesis_rust_backend/src/config.rs b/genesis_rust_backend/src/config.rs index c12bc73..a29cd88 100644 --- a/genesis_rust_backend/src/config.rs +++ b/genesis_rust_backend/src/config.rs @@ -14,11 +14,7 @@ pub struct EvolutionConfig { pub language: String, pub use_text_feedback: bool, - pub db_backend: String, - pub clickhouse_url: Option, - pub clickhouse_user: Option, - pub clickhouse_password: Option, - pub clickhouse_database: String, + pub database_url: Option, pub llm_backend: String, pub openai_base_url: String, @@ -39,6 +35,8 @@ pub struct EvolutionConfig { pub gepa_min_improvement: f64, pub gepa_exploration_weight: f64, pub gepa_candidate_instructions: Option>, + + pub server_port: u16, } impl Default for EvolutionConfig { @@ -54,12 +52,7 @@ impl Default for EvolutionConfig { language: "python".to_string(), use_text_feedback: false, - db_backend: "in_memory".to_string(), - clickhouse_url: std::env::var("CLICKHOUSE_URL").ok(), - clickhouse_user: std::env::var("CLICKHOUSE_USER").ok(), - clickhouse_password: std::env::var("CLICKHOUSE_PASSWORD").ok(), - clickhouse_database: std::env::var("CLICKHOUSE_DB") - .unwrap_or_else(|_| "default".to_string()), + database_url: std::env::var("DATABASE_URL").ok(), llm_backend: "mock".to_string(), openai_base_url: "https://api.openai.com".to_string(), @@ -79,6 +72,11 @@ impl Default for EvolutionConfig { gepa_min_improvement: 0.0, gepa_exploration_weight: 1.1, gepa_candidate_instructions: None, + + server_port: std::env::var("PORT") + .ok() + .and_then(|p| p.parse().ok()) + .unwrap_or(8080), } } } @@ -108,14 +106,8 @@ impl EvolutionConfig { if self.openai_api_key.is_none() { self.openai_api_key = std::env::var("OPENAI_API_KEY").ok(); } - if self.clickhouse_url.is_none() { - self.clickhouse_url = std::env::var("CLICKHOUSE_URL").ok(); - } - if self.clickhouse_user.is_none() { - self.clickhouse_user = std::env::var("CLICKHOUSE_USER").ok(); - } - if self.clickhouse_password.is_none() { - self.clickhouse_password = std::env::var("CLICKHOUSE_PASSWORD").ok(); + if self.database_url.is_none() { + self.database_url = std::env::var("DATABASE_URL").ok(); } self } diff --git a/genesis_rust_backend/src/core/alma_memory.rs b/genesis_rust_backend/src/core/alma_memory.rs index fb415b0..ef96726 100644 --- a/genesis_rust_backend/src/core/alma_memory.rs +++ b/genesis_rust_backend/src/core/alma_memory.rs @@ -24,7 +24,12 @@ pub struct AlmaMemorySystem { } impl AlmaMemorySystem { - pub fn new(enabled: bool, max_entries: usize, max_retrievals: usize, min_success_delta: f64) -> Self { + pub fn new( + enabled: bool, + max_entries: usize, + max_retrievals: usize, + min_success_delta: f64, + ) -> Self { Self { enabled, max_entries: max_entries.max(1), @@ -60,12 +65,17 @@ impl AlmaMemorySystem { } .to_string(); - let summary = [patch_description, diff_summary, text_feedback, error_message] - .iter() - .filter(|s| !s.is_empty()) - .copied() - .collect::>() - .join(" | "); + let summary = [ + patch_description, + diff_summary, + text_feedback, + error_message, + ] + .iter() + .filter(|s| !s.is_empty()) + .copied() + .collect::>() + .join(" | "); let keywords = extract_keywords(&format!( "{} {} {} {} {} {}", @@ -113,7 +123,8 @@ impl AlmaMemorySystem { .iter() .filter(|k| context_set.contains(*k)) .count() as f64; - let recency = 1.0 / (1.0 + current_generation.saturating_sub(entry.generation) as f64); + let recency = + 1.0 / (1.0 + current_generation.saturating_sub(entry.generation) as f64); let impact = entry.score_delta.abs(); (2.0 * overlap + recency + impact, entry) }) @@ -131,8 +142,14 @@ impl AlmaMemorySystem { } let mut out = String::from("# ALMA Long-Term Memory\n"); - let successes = selected.iter().filter(|e| e.memory_type == "success").collect::>(); - let failures = selected.iter().filter(|e| e.memory_type == "failure").collect::>(); + let successes = selected + .iter() + .filter(|e| e.memory_type == "success") + .collect::>(); + let failures = selected + .iter() + .filter(|e| e.memory_type == "failure") + .collect::>(); if !successes.is_empty() { out.push_str("## Reuse These Successful Patterns\n"); @@ -183,8 +200,21 @@ impl AlmaMemorySystem { fn extract_keywords(text: &str) -> Vec { let stopwords: HashSet<&str> = [ - "the", "and", "for", "with", "that", "this", "from", "into", "code", "patch", - "generation", "score", "delta", "result", "error", + "the", + "and", + "for", + "with", + "that", + "this", + "from", + "into", + "code", + "patch", + "generation", + "score", + "delta", + "result", + "error", ] .iter() .copied() diff --git a/genesis_rust_backend/src/core/gepa_optimizer.rs b/genesis_rust_backend/src/core/gepa_optimizer.rs index 2ba35d3..932b9a1 100644 --- a/genesis_rust_backend/src/core/gepa_optimizer.rs +++ b/genesis_rust_backend/src/core/gepa_optimizer.rs @@ -106,8 +106,8 @@ impl GepaStyleOptimizer { return; } - let instruction = candidate_id - .and_then(|idx| self.candidate_instructions.get(idx).cloned()); + let instruction = + candidate_id.and_then(|idx| self.candidate_instructions.get(idx).cloned()); self.traces.push(GepaTrace { generation, parent_score, @@ -121,7 +121,8 @@ impl GepaStyleOptimizer { candidate_instruction: instruction, }); - self.traces.sort_by(|a, b| b.score_delta.total_cmp(&a.score_delta)); + self.traces + .sort_by(|a, b| b.score_delta.total_cmp(&a.score_delta)); if self.traces.len() > self.max_traces { self.traces.truncate(self.max_traces); } @@ -178,12 +179,7 @@ impl GepaStyleOptimizer { return None; } let mut lines = Vec::new(); - for (idx, t) in self - .traces - .iter() - .take(self.num_fewshot_traces) - .enumerate() - { + for (idx, t) in self.traces.iter().take(self.num_fewshot_traces).enumerate() { lines.push(format!("## Successful Trace {}", idx + 1)); lines.push(format!("- Generation: {}", t.generation)); lines.push(format!("- Score delta: {:+.4}", t.score_delta)); diff --git a/genesis_rust_backend/src/core/novelty_judge.rs b/genesis_rust_backend/src/core/novelty_judge.rs index 85d29ec..c1a402c 100644 --- a/genesis_rust_backend/src/core/novelty_judge.rs +++ b/genesis_rust_backend/src/core/novelty_judge.rs @@ -5,7 +5,9 @@ pub struct NoveltyJudge { impl NoveltyJudge { pub fn new(similarity_threshold: f64) -> Self { - Self { similarity_threshold } + Self { + similarity_threshold, + } } pub fn should_accept(&self, similarity: f64) -> bool { diff --git a/genesis_rust_backend/src/core/runner.rs b/genesis_rust_backend/src/core/runner.rs index 74d891a..201913a 100644 --- a/genesis_rust_backend/src/core/runner.rs +++ b/genesis_rust_backend/src/core/runner.rs @@ -1,6 +1,7 @@ use anyhow::Result; use chrono::Utc; use std::collections::HashMap; +use uuid::Uuid; use crate::config::EvolutionConfig; use crate::core::alma_memory::AlmaMemorySystem; @@ -8,21 +9,23 @@ use crate::core::gepa_optimizer::GepaStyleOptimizer; use crate::core::novelty_judge::NoveltyJudge; use crate::core::sampler::PromptSampler; use crate::core::summarizer::MetaSummarizer; -use crate::database::{build_database, ProgramDatabase}; +use crate::database::PgProgramDatabase; use crate::launch::{build_scheduler, JobScheduler}; -use crate::llm::{build_llm_client, LlmClient}; +use crate::llm::{build_llm_client, LlmClientDyn}; use crate::types::{PatchRequest, Program}; pub struct EvolutionRunner { pub cfg: EvolutionConfig, - pub db: Box, - pub llm: Box, + pub db: Option, + pub llm: Box, pub scheduler: Box, pub prompt_sampler: PromptSampler, pub meta_summarizer: MetaSummarizer, pub novelty_judge: NoveltyJudge, pub alma_memory: AlmaMemorySystem, pub gepa_optimizer: GepaStyleOptimizer, + pub run_id: Option, + programs: Vec, } impl EvolutionRunner { @@ -35,11 +38,12 @@ impl EvolutionRunner { cfg.use_text_feedback, ); - let db = build_database(&cfg).unwrap_or_else(|_| build_database(&EvolutionConfig::default()).expect("default db")); - let llm = build_llm_client(&cfg).unwrap_or_else(|_| build_llm_client(&EvolutionConfig::default()).expect("default llm")); + let llm = build_llm_client(&cfg).unwrap_or_else(|_| { + build_llm_client(&EvolutionConfig::default()).expect("default llm") + }); let scheduler = build_scheduler(&cfg); - let mut runner = Self { + Self { novelty_judge: NoveltyJudge::new(1.0), alma_memory: AlmaMemorySystem::new( cfg.alma_enabled, @@ -56,41 +60,66 @@ impl EvolutionRunner { cfg.gepa_candidate_instructions.clone(), ), cfg, - db, + db: None, llm, scheduler, prompt_sampler, meta_summarizer: MetaSummarizer::default(), - }; + run_id: None, + programs: Vec::new(), + } + } - runner.restore_state(); - runner + pub async fn init_db(&mut self) -> Result<()> { + if let Some(url) = &self.cfg.database_url { + let db = PgProgramDatabase::new(url).await?; + self.db = Some(db); + } + Ok(()) } - pub fn run(&mut self) -> Result<()> { - self.run_generation_0()?; + pub async fn run(&mut self) -> Result<()> { + if let Some(db) = &self.db { + let run_id = db + .create_evolution_run( + self.cfg.task_sys_msg.as_deref().unwrap_or("unknown"), + &serde_json::json!({}), + self.cfg.num_generations as i32, + None, + None, + ) + .await?; + self.run_id = Some(run_id); + } + + self.run_generation_0().await?; for generation in 1..self.cfg.num_generations { - self.run_generation(generation)?; + self.run_generation(generation).await?; + } + + if let (Some(db), Some(run_id)) = (&self.db, self.run_id) { + db.update_evolution_run_status(run_id, "completed", self.cfg.num_generations as i32) + .await?; } self.save_state()?; - if let Some(best) = self.db.get_best_program()? { + if let Some(best) = self.get_best_program() { println!( - "[rust-backend] best program gen={} score={:.4}", + "[genesis] best program gen={} score={:.4}", best.generation, best.combined_score ); } Ok(()) } - fn run_generation_0(&mut self) -> Result<()> { + async fn run_generation_0(&mut self) -> Result<()> { let (sys, user) = self.prompt_sampler.initial_program_prompt(); - let resp = self.llm.query(&user, &sys)?; + let resp = self.llm.query_dyn(&user, &sys).await?; let eval = self.scheduler.run(&resp.content, 0)?; let program = Program { - id: uuid(0), + id: Uuid::new_v4(), code: resp.content, language: self.cfg.language.clone(), parent_id: None, @@ -104,15 +133,37 @@ impl EvolutionRunner { timestamp: Utc::now(), }; - self.db.add(program.clone())?; - self.meta_summarizer.add_evaluated_program(program); + if let (Some(db), Some(run_id)) = (&self.db, self.run_id) { + db.add_individual( + run_id, + program.id, + program.generation, + program.parent_id, + "init", + program.combined_score, + program.combined_score, + &serde_json::json!({}), + false, + 0.0, + 0.0, + 0.0, + "", + program.code.len() as i32, + &program.code, + &program.language, + &program.text_feedback, + ) + .await?; + } + + self.meta_summarizer.add_evaluated_program(program.clone()); + self.programs.push(program); Ok(()) } - fn run_generation(&mut self, generation: usize) -> Result<()> { - let (parent, archive, top_k) = self - .db - .sample(generation)? + async fn run_generation(&mut self, generation: usize) -> Result<()> { + let parent = self + .get_best_program() .ok_or_else(|| anyhow::anyhow!("no parent available for generation {generation}"))?; let meta_recommendations = if self @@ -124,15 +175,26 @@ impl EvolutionRunner { self.meta_summarizer.get_current() }; - let alma_context = self - .alma_memory - .build_prompt_context(generation, &parent.code, &parent.text_feedback); + let alma_context = + self.alma_memory + .build_prompt_context(generation, &parent.code, &parent.text_feedback); let gepa_ctx = self.gepa_optimizer.build_prompt_context(); + let top_k: Vec = { + let mut sorted = self.programs.clone(); + sorted.sort_by(|a, b| b.combined_score.total_cmp(&a.combined_score)); + sorted + .into_iter() + .take(6) + .filter(|p| p.id != parent.id) + .collect() + }; + let archive = top_k.iter().take(4).cloned().collect(); + let req = PatchRequest { parent: parent.clone(), archive_inspirations: archive, - top_k_inspirations: top_k, + top_k_inspirations: top_k.into_iter().take(2).collect(), meta_recommendations, alma_memory_context: alma_context, gepa_instruction: gepa_ctx.candidate_instruction.clone(), @@ -140,7 +202,7 @@ impl EvolutionRunner { }; let (patch_sys, patch_msg, patch_type) = self.prompt_sampler.sample(&req); - let resp = self.llm.query(&patch_msg, &patch_sys)?; + let resp = self.llm.query_dyn(&patch_msg, &patch_sys).await?; let eval = self.scheduler.run(&resp.content, generation)?; if !self.novelty_judge.should_accept(0.0) { @@ -160,11 +222,11 @@ impl EvolutionRunner { } let program = Program { - id: uuid(generation), + id: Uuid::new_v4(), code: resp.content, language: self.cfg.language.clone(), - parent_id: Some(parent.id.clone()), - generation, + parent_id: Some(parent.id), + generation: generation as i32, combined_score: eval.combined_score, correct: eval.correct, public_metrics: HashMap::new(), @@ -174,7 +236,41 @@ impl EvolutionRunner { timestamp: Utc::now(), }; - self.db.add(program.clone())?; + if let (Some(db), Some(run_id)) = (&self.db, self.run_id) { + db.add_individual( + run_id, + program.id, + program.generation, + program.parent_id, + &patch_type, + program.combined_score, + program.combined_score, + &serde_json::json!({}), + false, + 0.0, + 0.0, + 0.0, + "", + program.code.len() as i32, + &program.code, + &program.language, + &program.text_feedback, + ) + .await?; + + let delta = program.combined_score - parent.combined_score; + db.log_lineage( + run_id, + program.id, + Some(parent.id), + program.generation, + &patch_type, + delta, + "", + ) + .await?; + } + self.meta_summarizer.add_evaluated_program(program.clone()); let delta = program.combined_score - parent.combined_score; @@ -183,8 +279,8 @@ impl EvolutionRunner { parent.combined_score, program.combined_score, &patch_type, - "rust-backend-patch", - "Rust backend generated mutation", + "genesis-patch", + "Generated mutation", "diff summary unavailable", gepa_ctx.candidate_id, program.correct, @@ -195,38 +291,40 @@ impl EvolutionRunner { program.combined_score, program.correct, &patch_type, - "rust-backend-patch", - "Rust backend generated mutation", + "genesis-patch", + "Generated mutation", "diff summary unavailable", &program.text_feedback, "", ); println!( - "[rust-backend] gen={} parent={:.4} child={:.4} delta={:+.4}", + "[genesis] gen={} parent={:.4} child={:.4} delta={:+.4}", generation, parent.combined_score, program.combined_score, delta ); + self.programs.push(program); self.save_state()?; Ok(()) } + fn get_best_program(&self) -> Option { + self.programs + .iter() + .filter(|p| p.correct) + .max_by(|a, b| a.combined_score.total_cmp(&b.combined_score)) + .cloned() + .or_else(|| self.programs.last().cloned()) + } + fn save_state(&self) -> Result<()> { self.alma_memory.save_state("alma_memory.json")?; self.gepa_optimizer.save_state("gepa_state.json")?; Ok(()) } - fn restore_state(&mut self) { + pub fn restore_state(&mut self) { let _ = self.alma_memory.load_state("alma_memory.json"); let _ = self.gepa_optimizer.load_state("gepa_state.json"); } } - -fn uuid(generation: usize) -> String { - format!( - "rust-gen-{}-{}", - generation, - Utc::now().timestamp_nanos_opt().unwrap_or_default() - ) -} diff --git a/genesis_rust_backend/src/core/sampler.rs b/genesis_rust_backend/src/core/sampler.rs index f5f7aca..2cd113b 100644 --- a/genesis_rust_backend/src/core/sampler.rs +++ b/genesis_rust_backend/src/core/sampler.rs @@ -57,7 +57,11 @@ impl PromptSampler { let patch_type = self.sample_patch_type(&req.archive_inspirations, &req.top_k_inspirations); let mut history = String::new(); - append_program_list(&mut history, "Archive Inspirations", &req.archive_inspirations); + append_program_list( + &mut history, + "Archive Inspirations", + &req.archive_inspirations, + ); append_program_list(&mut history, "Top-K Inspirations", &req.top_k_inspirations); if let Some(alma_memory_context) = &req.alma_memory_context { diff --git a/genesis_rust_backend/src/database/mod.rs b/genesis_rust_backend/src/database/mod.rs index 6d22d97..3b70d26 100644 --- a/genesis_rust_backend/src/database/mod.rs +++ b/genesis_rust_backend/src/database/mod.rs @@ -1,264 +1,332 @@ +#![allow(clippy::too_many_arguments)] + use anyhow::{Context, Result}; use chrono::{DateTime, Utc}; -use reqwest::blocking::Client; -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; - -use crate::config::EvolutionConfig; -use crate::types::Program; - -pub trait ProgramDatabase { - fn add(&mut self, program: Program) -> Result<()>; - fn get(&self, id: &str) -> Result>; - fn get_best_program(&self) -> Result>; - fn get_top_programs(&self, n: usize) -> Result>; - fn sample(&self, target_generation: usize) -> Result, Vec)>>; -} - -pub fn build_database(cfg: &EvolutionConfig) -> Result> { - match cfg.db_backend.as_str() { - "clickhouse" => Ok(Box::new(ClickHouseProgramDatabase::new(cfg)?)), - _ => Ok(Box::new(InMemoryProgramDatabase::new())), - } -} +use serde_json::Value as JsonValue; +use sqlx::postgres::PgPoolOptions; +use sqlx::PgPool; +use uuid::Uuid; -#[derive(Debug, Default, Clone)] -pub struct InMemoryProgramDatabase { - programs: Vec, +#[derive(Clone)] +pub struct PgProgramDatabase { + pool: PgPool, } -impl InMemoryProgramDatabase { - pub fn new() -> Self { - Self::default() +impl PgProgramDatabase { + pub async fn new(database_url: &str) -> Result { + let pool = PgPoolOptions::new() + .max_connections(5) + .connect(database_url) + .await + .with_context(|| "failed to connect to postgres")?; + Ok(Self { pool }) } -} -impl ProgramDatabase for InMemoryProgramDatabase { - fn add(&mut self, program: Program) -> Result<()> { - self.programs.push(program); - Ok(()) + pub fn from_pool(pool: PgPool) -> Self { + Self { pool } } - fn get(&self, id: &str) -> Result> { - Ok(self.programs.iter().find(|p| p.id == id).cloned()) + pub fn pool(&self) -> &PgPool { + &self.pool } - fn get_best_program(&self) -> Result> { - Ok(self - .programs - .iter() - .filter(|p| p.correct) - .max_by(|a, b| a.combined_score.total_cmp(&b.combined_score)) - .cloned()) - } + // -- evolution_runs -- - fn get_top_programs(&self, n: usize) -> Result> { - let mut ps = self.programs.clone(); - ps.sort_by(|a, b| b.combined_score.total_cmp(&a.combined_score)); - Ok(ps.into_iter().take(n).collect()) - } + pub async fn create_evolution_run( + &self, + task_name: &str, + config: &JsonValue, + population_size: i32, + cluster_type: Option<&str>, + database_path: Option<&str>, + ) -> Result { + let row = sqlx::query_scalar::<_, Uuid>( + r#"INSERT INTO evolution_runs (task_name, config, population_size, cluster_type, database_path) + VALUES ($1, $2, $3, $4, $5) + RETURNING run_id"#, + ) + .bind(task_name) + .bind(config) + .bind(population_size) + .bind(cluster_type) + .bind(database_path) + .fetch_one(&self.pool) + .await + .with_context(|| "failed to insert evolution_run")?; - fn sample(&self, _target_generation: usize) -> Result, Vec)>> { - let parent = self.get_best_program()?.or_else(|| self.programs.last().cloned()); - let Some(parent) = parent else { - return Ok(None); - }; - let mut inspirations = self.get_top_programs(6)?; - inspirations.retain(|p| p.id != parent.id); - let archive = inspirations.iter().take(4).cloned().collect::>(); - let top_k = inspirations.into_iter().take(2).collect::>(); - Ok(Some((parent, archive, top_k))) + Ok(row) } -} -#[derive(Debug)] -pub struct ClickHouseProgramDatabase { - client: Client, - base_url: String, - user: Option, - password: Option, - database: String, -} + pub async fn update_evolution_run_status( + &self, + run_id: Uuid, + status: &str, + total_generations: i32, + ) -> Result<()> { + sqlx::query( + r#"UPDATE evolution_runs + SET status = $1, total_generations = $2, end_time = now() + WHERE run_id = $3"#, + ) + .bind(status) + .bind(total_generations) + .bind(run_id) + .execute(&self.pool) + .await + .with_context(|| "failed to update evolution_run")?; -impl ClickHouseProgramDatabase { - pub fn new(cfg: &EvolutionConfig) -> Result { - let base_url = cfg - .clickhouse_url - .clone() - .unwrap_or_else(|| "http://localhost:8123".to_string()); - - let db = Self { - client: Client::new(), - base_url, - user: cfg.clickhouse_user.clone(), - password: cfg.clickhouse_password.clone(), - database: cfg.clickhouse_database.clone(), - }; - db.init_schema()?; - Ok(db) + Ok(()) } - fn init_schema(&self) -> Result<()> { - let sql = format!( - "CREATE TABLE IF NOT EXISTS {}.programs (\ - id String,\ - code String,\ - language String,\ - parent_id Nullable(String),\ - generation UInt32,\ - combined_score Float64,\ - correct UInt8,\ - public_metrics String,\ - private_metrics String,\ - text_feedback String,\ - metadata String,\ - timestamp DateTime64(3)\ - ) ENGINE = ReplacingMergeTree(timestamp) ORDER BY id", - self.database - ); - self.exec_sql(&sql)?; + // -- generations -- + + pub async fn log_generation( + &self, + run_id: Uuid, + generation: i32, + num_individuals: i32, + best_score: f64, + avg_score: f64, + pareto_size: i32, + total_cost: f64, + metadata: &JsonValue, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO generations (run_id, generation, num_individuals, best_score, avg_score, pareto_size, total_cost, metadata) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8)"#, + ) + .bind(run_id) + .bind(generation) + .bind(num_individuals) + .bind(best_score) + .bind(avg_score) + .bind(pareto_size) + .bind(total_cost) + .bind(metadata) + .execute(&self.pool) + .await + .with_context(|| "failed to insert generation")?; + Ok(()) } - fn exec_sql(&self, sql: &str) -> Result { - let url = format!("{}/", self.base_url.trim_end_matches('/')); - let mut req = self.client.post(url).query(&[("query", sql)]); - if let Some(user) = &self.user { - req = req.basic_auth(user, self.password.clone()); - } - let resp = req - .send() - .with_context(|| "clickhouse request failed")? - .error_for_status() - .with_context(|| "clickhouse non-success response")?; - Ok(resp.text().unwrap_or_default()) - } + // -- individuals -- - fn select_rows(&self, sql: &str) -> Result> { - let out = self.exec_sql(sql)?; - let mut programs = Vec::new(); - for line in out.lines() { - if line.trim().is_empty() { - continue; - } - let row: DbProgramRow = serde_json::from_str(line) - .with_context(|| "failed to parse clickhouse JSONEachRow line")?; - programs.push(row.try_into_program()?); - } - Ok(programs) - } -} + pub async fn add_individual( + &self, + run_id: Uuid, + individual_id: Uuid, + generation: i32, + parent_id: Option, + mutation_type: &str, + fitness_score: f64, + combined_score: f64, + metrics: &JsonValue, + is_pareto: bool, + api_cost: f64, + embed_cost: f64, + novelty_cost: f64, + code_hash: &str, + code_size: i32, + code: &str, + language: &str, + text_feedback: &str, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO individuals + (run_id, individual_id, generation, parent_id, mutation_type, + fitness_score, combined_score, metrics, is_pareto, + api_cost, embed_cost, novelty_cost, code_hash, code_size, + code, language, text_feedback) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)"#, + ) + .bind(run_id) + .bind(individual_id) + .bind(generation) + .bind(parent_id) + .bind(mutation_type) + .bind(fitness_score) + .bind(combined_score) + .bind(metrics) + .bind(is_pareto) + .bind(api_cost) + .bind(embed_cost) + .bind(novelty_cost) + .bind(code_hash) + .bind(code_size) + .bind(code) + .bind(language) + .bind(text_feedback) + .execute(&self.pool) + .await + .with_context(|| "failed to insert individual")?; -impl ProgramDatabase for ClickHouseProgramDatabase { - fn add(&mut self, program: Program) -> Result<()> { - let row = DbProgramRow::from_program(&program)?; - let payload = serde_json::to_string(&row)?; - let sql = format!( - "INSERT INTO {}.programs FORMAT JSONEachRow\n{}", - self.database, payload - ); - self.exec_sql(&sql)?; Ok(()) } - fn get(&self, id: &str) -> Result> { - let sql = format!( - "SELECT * FROM {}.programs WHERE id = '{}' ORDER BY timestamp DESC LIMIT 1 FORMAT JSONEachRow", - self.database, - id.replace('\'', "''") - ); - Ok(self.select_rows(&sql)?.into_iter().next()) + pub async fn get_best_individual(&self, run_id: Uuid) -> Result> { + let row = sqlx::query_as::<_, IndividualRow>( + r#"SELECT run_id, individual_id, generation, timestamp, parent_id, + mutation_type, fitness_score, combined_score, metrics, + is_pareto, api_cost, embed_cost, novelty_cost, code_hash, code_size + FROM individuals + WHERE run_id = $1 + ORDER BY combined_score DESC + LIMIT 1"#, + ) + .bind(run_id) + .fetch_optional(&self.pool) + .await + .with_context(|| "failed to fetch best individual")?; + + Ok(row) } - fn get_best_program(&self) -> Result> { - let sql = format!( - "SELECT * FROM {}.programs WHERE correct = 1 ORDER BY combined_score DESC LIMIT 1 FORMAT JSONEachRow", - self.database - ); - Ok(self.select_rows(&sql)?.into_iter().next()) + pub async fn get_top_individuals(&self, run_id: Uuid, n: i64) -> Result> { + let rows = sqlx::query_as::<_, IndividualRow>( + r#"SELECT run_id, individual_id, generation, timestamp, parent_id, + mutation_type, fitness_score, combined_score, metrics, + is_pareto, api_cost, embed_cost, novelty_cost, code_hash, code_size + FROM individuals + WHERE run_id = $1 + ORDER BY combined_score DESC + LIMIT $2"#, + ) + .bind(run_id) + .bind(n) + .fetch_all(&self.pool) + .await + .with_context(|| "failed to fetch top individuals")?; + + Ok(rows) } - fn get_top_programs(&self, n: usize) -> Result> { - let sql = format!( - "SELECT * FROM {}.programs ORDER BY combined_score DESC LIMIT {} FORMAT JSONEachRow", - self.database, - n.max(1) - ); - self.select_rows(&sql) + // -- pareto_fronts -- + + pub async fn log_pareto_front( + &self, + run_id: Uuid, + generation: i32, + individual_id: Uuid, + fitness_score: f64, + combined_score: f64, + metrics: &JsonValue, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO pareto_fronts (run_id, generation, individual_id, fitness_score, combined_score, metrics) + VALUES ($1, $2, $3, $4, $5, $6)"#, + ) + .bind(run_id) + .bind(generation) + .bind(individual_id) + .bind(fitness_score) + .bind(combined_score) + .bind(metrics) + .execute(&self.pool) + .await + .with_context(|| "failed to insert pareto_front")?; + + Ok(()) } - fn sample(&self, _target_generation: usize) -> Result, Vec)>> { - let parent = self.get_best_program()?; - let Some(parent) = parent else { - return Ok(None); - }; - - let mut inspirations = self.get_top_programs(6)?; - inspirations.retain(|p| p.id != parent.id); - let archive = inspirations.iter().take(4).cloned().collect::>(); - let top_k = inspirations.into_iter().take(2).collect::>(); - Ok(Some((parent, archive, top_k))) + // -- code_lineages -- + + pub async fn log_lineage( + &self, + run_id: Uuid, + child_id: Uuid, + parent_id: Option, + generation: i32, + mutation_type: &str, + fitness_delta: f64, + edit_summary: &str, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO code_lineages (run_id, child_id, parent_id, generation, mutation_type, fitness_delta, edit_summary) + VALUES ($1, $2, $3, $4, $5, $6, $7)"#, + ) + .bind(run_id) + .bind(child_id) + .bind(parent_id) + .bind(generation) + .bind(mutation_type) + .bind(fitness_delta) + .bind(edit_summary) + .execute(&self.pool) + .await + .with_context(|| "failed to insert code_lineage")?; + + Ok(()) } -} -#[derive(Debug, Clone, Serialize, Deserialize)] -struct DbProgramRow { - id: String, - code: String, - language: String, - parent_id: Option, - generation: u32, - combined_score: f64, - correct: u8, - public_metrics: String, - private_metrics: String, - text_feedback: String, - metadata: String, - timestamp: String, -} + // -- llm_logs -- + + pub async fn log_llm_interaction( + &self, + model: &str, + messages: &JsonValue, + response: &str, + thought: &str, + cost: f64, + execution_time: f64, + metadata: &JsonValue, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO llm_logs (model, messages, response, thought, cost, execution_time, metadata) + VALUES ($1, $2, $3, $4, $5, $6, $7)"#, + ) + .bind(model) + .bind(messages) + .bind(response) + .bind(thought) + .bind(cost) + .bind(execution_time) + .bind(metadata) + .execute(&self.pool) + .await + .with_context(|| "failed to insert llm_log")?; -impl DbProgramRow { - fn from_program(p: &Program) -> Result { - Ok(Self { - id: p.id.clone(), - code: p.code.clone(), - language: p.language.clone(), - parent_id: p.parent_id.clone(), - generation: p.generation as u32, - combined_score: p.combined_score, - correct: if p.correct { 1 } else { 0 }, - public_metrics: serde_json::to_string(&p.public_metrics)?, - private_metrics: serde_json::to_string(&p.private_metrics)?, - text_feedback: p.text_feedback.clone(), - metadata: serde_json::to_string(&p.metadata)?, - timestamp: p.timestamp.to_rfc3339(), - }) + Ok(()) } - fn try_into_program(self) -> Result { - let public_metrics = serde_json::from_str::>(&self.public_metrics) - .unwrap_or_default(); - let private_metrics = serde_json::from_str::>(&self.private_metrics) - .unwrap_or_default(); - let metadata = serde_json::from_str::>(&self.metadata) - .unwrap_or_default(); - let timestamp = DateTime::parse_from_rfc3339(&self.timestamp) - .map(|dt| dt.with_timezone(&Utc)) - .unwrap_or_else(|_| Utc::now()); - - Ok(Program { - id: self.id, - code: self.code, - language: self.language, - parent_id: self.parent_id, - generation: self.generation as usize, - combined_score: self.combined_score, - correct: self.correct == 1, - public_metrics, - private_metrics, - text_feedback: self.text_feedback, - metadata, - timestamp, - }) + // -- agent_actions -- + + pub async fn log_agent_action( + &self, + action_type: &str, + details: &JsonValue, + metadata: &JsonValue, + ) -> Result<()> { + sqlx::query( + r#"INSERT INTO agent_actions (action_type, details, metadata) + VALUES ($1, $2, $3)"#, + ) + .bind(action_type) + .bind(details) + .bind(metadata) + .execute(&self.pool) + .await + .with_context(|| "failed to insert agent_action")?; + + Ok(()) } } + +#[derive(Debug, Clone, sqlx::FromRow)] +pub struct IndividualRow { + pub run_id: Uuid, + pub individual_id: Uuid, + pub generation: i32, + pub timestamp: DateTime, + pub parent_id: Option, + pub mutation_type: String, + pub fitness_score: f64, + pub combined_score: f64, + pub metrics: JsonValue, + pub is_pareto: bool, + pub api_cost: f64, + pub embed_cost: f64, + pub novelty_cost: f64, + pub code_hash: String, + pub code_size: i32, +} diff --git a/genesis_rust_backend/src/launch/mod.rs b/genesis_rust_backend/src/launch/mod.rs index eb4999a..049ccd6 100644 --- a/genesis_rust_backend/src/launch/mod.rs +++ b/genesis_rust_backend/src/launch/mod.rs @@ -77,7 +77,10 @@ impl JobScheduler for LocalCommandScheduler { let stderr = String::from_utf8_lossy(&output.stderr).to_string(); if let Ok(json) = serde_json::from_str::(&stdout) { - let correct = json.get("correct").and_then(|v| v.as_bool()).unwrap_or(output.status.success()); + let correct = json + .get("correct") + .and_then(|v| v.as_bool()) + .unwrap_or(output.status.success()); let combined_score = json .get("combined_score") .and_then(|v| v.as_f64()) diff --git a/genesis_rust_backend/src/lib.rs b/genesis_rust_backend/src/lib.rs index 5768867..5f94f28 100644 --- a/genesis_rust_backend/src/lib.rs +++ b/genesis_rust_backend/src/lib.rs @@ -7,4 +7,5 @@ pub mod types; pub use config::EvolutionConfig; pub use core::runner::EvolutionRunner; +pub use database::PgProgramDatabase; pub use types::{Program, RunningJob}; diff --git a/genesis_rust_backend/src/llm/mod.rs b/genesis_rust_backend/src/llm/mod.rs index 24ab5ed..5905617 100644 --- a/genesis_rust_backend/src/llm/mod.rs +++ b/genesis_rust_backend/src/llm/mod.rs @@ -1,5 +1,5 @@ use anyhow::{anyhow, Context, Result}; -use reqwest::blocking::Client; +use reqwest::Client; use serde::{Deserialize, Serialize}; use crate::config::EvolutionConfig; @@ -11,30 +11,48 @@ pub struct LlmResponse { pub thought: String, } -pub trait LlmClient { - fn query(&self, user_msg: &str, system_msg: &str) -> Result; +pub trait LlmClient: Send + Sync { + fn query( + &self, + user_msg: &str, + system_msg: &str, + ) -> impl std::future::Future> + Send; } -pub fn build_llm_client(cfg: &EvolutionConfig) -> Result> { +pub fn build_llm_client(cfg: &EvolutionConfig) -> Result> { match cfg.llm_backend.as_str() { "openai" => Ok(Box::new(OpenAiClient::new(cfg)?)), _ => Ok(Box::new(MockLlmClient)), } } +pub trait LlmClientDyn: Send + Sync { + fn query_dyn( + &self, + user_msg: &str, + system_msg: &str, + ) -> std::pin::Pin> + Send + '_>>; +} + #[derive(Debug, Clone, Default)] pub struct MockLlmClient; -impl LlmClient for MockLlmClient { - fn query(&self, user_msg: &str, _system_msg: &str) -> Result { +impl LlmClientDyn for MockLlmClient { + fn query_dyn( + &self, + user_msg: &str, + _system_msg: &str, + ) -> std::pin::Pin> + Send + '_>> { let code = format!( - "mock-patch\nMock mutation from Rust backend\n```python\n# mutated\n{}\n```", + "mock-patch\nMock mutation\n```python\n# mutated\n{}\n```", user_msg.lines().take(3).collect::>().join("\n") ); - Ok(LlmResponse { - content: code, - cost: 0.0, - thought: "mock-thought".to_string(), + Box::pin(async move { + Ok(LlmResponse { + content: code, + cost: 0.0, + thought: "mock-thought".to_string(), + }) }) } } @@ -62,9 +80,16 @@ impl OpenAiClient { } } -impl LlmClient for OpenAiClient { - fn query(&self, user_msg: &str, system_msg: &str) -> Result { - let url = format!("{}/v1/chat/completions", self.base_url.trim_end_matches('/')); +impl LlmClientDyn for OpenAiClient { + fn query_dyn( + &self, + user_msg: &str, + system_msg: &str, + ) -> std::pin::Pin> + Send + '_>> { + let url = format!( + "{}/v1/chat/completions", + self.base_url.trim_end_matches('/') + ); let req = OpenAiChatRequest { model: self.model.clone(), messages: vec![ @@ -80,29 +105,34 @@ impl LlmClient for OpenAiClient { temperature: Some(0.7), }; - let resp = self - .http - .post(url) - .bearer_auth(&self.api_key) - .json(&req) - .send() - .with_context(|| "openai request failed")? - .error_for_status() - .with_context(|| "openai non-success response")? - .json::() - .with_context(|| "failed to decode openai response")?; - - let content = resp - .choices - .first() - .map(|c| c.message.content.clone()) - .unwrap_or_default(); - - let cost = 0.0; - Ok(LlmResponse { - content, - cost, - thought: String::new(), + let http = self.http.clone(); + let api_key = self.api_key.clone(); + + Box::pin(async move { + let resp = http + .post(url) + .bearer_auth(&api_key) + .json(&req) + .send() + .await + .with_context(|| "openai request failed")? + .error_for_status() + .with_context(|| "openai non-success response")? + .json::() + .await + .with_context(|| "failed to decode openai response")?; + + let content = resp + .choices + .first() + .map(|c| c.message.content.clone()) + .unwrap_or_default(); + + Ok(LlmResponse { + content, + cost: 0.0, + thought: String::new(), + }) }) } } diff --git a/genesis_rust_backend/src/main.rs b/genesis_rust_backend/src/main.rs index a9067d0..a89d255 100644 --- a/genesis_rust_backend/src/main.rs +++ b/genesis_rust_backend/src/main.rs @@ -1,8 +1,35 @@ +use std::net::SocketAddr; +use std::sync::Arc; + use anyhow::Result; +use axum::{ + extract::{Path, State}, + http::StatusCode, + routing::get, + Json, Router, +}; +use serde_json::json; +use tower_http::cors::CorsLayer; +use tower_http::trace::TraceLayer; +use tracing_subscriber::EnvFilter; + use genesis_rust_backend::config::EvolutionConfig; -use genesis_rust_backend::core::runner::EvolutionRunner; +use genesis_rust_backend::database::PgProgramDatabase; + +struct AppState { + db: PgProgramDatabase, + #[allow(dead_code)] + config: EvolutionConfig, +} + +#[tokio::main] +async fn main() -> Result<()> { + dotenvy::dotenv().ok(); + + tracing_subscriber::fmt() + .with_env_filter(EnvFilter::from_default_env()) + .init(); -fn main() -> Result<()> { let args: Vec = std::env::args().collect(); let cfg = if let Some(idx) = args.iter().position(|a| a == "--config") { if let Some(path) = args.get(idx + 1) { @@ -14,6 +41,335 @@ fn main() -> Result<()> { EvolutionConfig::default() }; - let mut runner = EvolutionRunner::new(cfg); - runner.run() + let database_url = cfg + .database_url + .as_deref() + .unwrap_or("postgresql://localhost:5432/genesis"); + + let db = PgProgramDatabase::new(database_url).await?; + tracing::info!("connected to postgres"); + + let state = Arc::new(AppState { + db, + config: cfg.clone(), + }); + + let app = Router::new() + .route("/health", get(health)) + .route("/api/runs", get(list_runs)) + .route("/api/runs/{run_id}", get(get_run)) + .route("/api/runs/{run_id}/individuals", get(list_individuals)) + .route("/api/runs/{run_id}/generations", get(list_generations)) + .route( + "/api/runs/{run_id}/generations/{generation}", + get(get_generation), + ) + .route("/api/runs/{run_id}/lineage", get(get_lineage)) + .layer(CorsLayer::permissive()) + .layer(TraceLayer::new_for_http()) + .with_state(state); + + let addr = SocketAddr::from(([0, 0, 0, 0], cfg.server_port)); + tracing::info!("listening on {}", addr); + + let listener = tokio::net::TcpListener::bind(addr).await?; + axum::serve(listener, app).await?; + + Ok(()) +} + +async fn health() -> (StatusCode, Json) { + (StatusCode::OK, Json(json!({"status": "ok"}))) +} + +// --- Runs --- + +async fn list_runs( + State(state): State>, +) -> Result, StatusCode> { + let rows = sqlx::query_as::<_, EvolutionRunRow>( + r#"SELECT run_id, start_time, end_time, task_name, status, + total_generations, population_size, config + FROM evolution_runs + ORDER BY start_time DESC + LIMIT 50"#, + ) + .fetch_all(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to list runs: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })?; + + let runs: Vec = rows.into_iter().map(|r| run_to_json(&r)).collect(); + Ok(Json(json!({"runs": runs}))) +} + +async fn get_run( + State(state): State>, + Path(run_id): Path, +) -> Result, StatusCode> { + let row = sqlx::query_as::<_, EvolutionRunRow>( + r#"SELECT run_id, start_time, end_time, task_name, status, + total_generations, population_size, config + FROM evolution_runs + WHERE run_id = $1"#, + ) + .bind(run_id) + .fetch_optional(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to get run: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })? + .ok_or(StatusCode::NOT_FOUND)?; + + Ok(Json(run_to_json(&row))) +} + +fn run_to_json(r: &EvolutionRunRow) -> serde_json::Value { + json!({ + "run_id": r.run_id, + "start_time": r.start_time, + "end_time": r.end_time, + "task_name": r.task_name, + "status": r.status, + "total_generations": r.total_generations, + "population_size": r.population_size, + "config": r.config, + }) +} + +// --- Individuals --- + +async fn list_individuals( + State(state): State>, + Path(run_id): Path, +) -> Result, StatusCode> { + let rows = sqlx::query_as::<_, IndividualApiRow>( + r#"SELECT i.run_id, i.individual_id, i.generation, i.timestamp, + i.parent_id, i.mutation_type, i.fitness_score, + i.combined_score, i.metrics, i.is_pareto, + i.api_cost, i.embed_cost, i.novelty_cost, + i.code_hash, i.code_size, i.code, i.language, i.text_feedback + FROM individuals i + WHERE i.run_id = $1 + ORDER BY i.generation ASC, i.combined_score DESC"#, + ) + .bind(run_id) + .fetch_all(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to list individuals: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })?; + + let individuals: Vec = rows + .into_iter() + .map(|r| { + json!({ + "id": r.individual_id, + "parent_id": r.parent_id, + "code": r.code, + "language": r.language, + "generation": r.generation, + "timestamp": r.timestamp, + "agent_name": r.mutation_type, + "combined_score": r.combined_score, + "fitness_score": r.fitness_score, + "metrics": r.metrics, + "text_feedback": r.text_feedback, + "metadata": { + "patch_name": r.mutation_type, + "patch_type": r.mutation_type, + "api_cost": r.api_cost, + "embed_cost": r.embed_cost, + "novelty_cost": r.novelty_cost, + }, + "correct": r.is_pareto, + "is_pareto": r.is_pareto, + "code_hash": r.code_hash, + "code_size": r.code_size, + }) + }) + .collect(); + + Ok(Json(json!({"individuals": individuals}))) +} + +// --- Generations --- + +async fn list_generations( + State(state): State>, + Path(run_id): Path, +) -> Result, StatusCode> { + let rows = sqlx::query_as::<_, GenerationRow>( + r#"SELECT run_id, generation, timestamp, num_individuals, + best_score, avg_score, pareto_size, total_cost, metadata + FROM generations + WHERE run_id = $1 + ORDER BY generation ASC"#, + ) + .bind(run_id) + .fetch_all(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to list generations: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })?; + + let generations: Vec = rows + .into_iter() + .map(|r| { + json!({ + "generation": r.generation, + "timestamp": r.timestamp, + "num_individuals": r.num_individuals, + "best_score": r.best_score, + "avg_score": r.avg_score, + "pareto_size": r.pareto_size, + "total_cost": r.total_cost, + "metadata": r.metadata, + }) + }) + .collect(); + + Ok(Json(json!({"generations": generations}))) +} + +async fn get_generation( + State(state): State>, + Path((run_id, generation)): Path<(uuid::Uuid, i32)>, +) -> Result, StatusCode> { + let row = sqlx::query_as::<_, GenerationRow>( + r#"SELECT run_id, generation, timestamp, num_individuals, + best_score, avg_score, pareto_size, total_cost, metadata + FROM generations + WHERE run_id = $1 AND generation = $2"#, + ) + .bind(run_id) + .bind(generation) + .fetch_optional(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to get generation: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })? + .ok_or(StatusCode::NOT_FOUND)?; + + Ok(Json(json!({ + "generation": row.generation, + "timestamp": row.timestamp, + "num_individuals": row.num_individuals, + "best_score": row.best_score, + "avg_score": row.avg_score, + "pareto_size": row.pareto_size, + "total_cost": row.total_cost, + "metadata": row.metadata, + }))) +} + +// --- Lineage --- + +async fn get_lineage( + State(state): State>, + Path(run_id): Path, +) -> Result, StatusCode> { + let rows = sqlx::query_as::<_, LineageRow>( + r#"SELECT id, run_id, child_id, parent_id, generation, + mutation_type, timestamp, fitness_delta, edit_summary + FROM code_lineages + WHERE run_id = $1 + ORDER BY generation ASC"#, + ) + .bind(run_id) + .fetch_all(state.db.pool()) + .await + .map_err(|e| { + tracing::error!("failed to get lineage: {e}"); + StatusCode::INTERNAL_SERVER_ERROR + })?; + + let edges: Vec = rows + .into_iter() + .map(|r| { + json!({ + "id": r.id, + "child_id": r.child_id, + "parent_id": r.parent_id, + "generation": r.generation, + "mutation_type": r.mutation_type, + "fitness_delta": r.fitness_delta, + "edit_summary": r.edit_summary, + }) + }) + .collect(); + + Ok(Json(json!({"edges": edges}))) +} + +// --- Row types --- + +#[derive(sqlx::FromRow)] +struct EvolutionRunRow { + run_id: uuid::Uuid, + start_time: chrono::DateTime, + end_time: Option>, + task_name: String, + status: String, + total_generations: i32, + population_size: i32, + config: serde_json::Value, +} + +#[derive(sqlx::FromRow)] +struct IndividualApiRow { + #[allow(dead_code)] + run_id: uuid::Uuid, + individual_id: uuid::Uuid, + generation: i32, + timestamp: chrono::DateTime, + parent_id: Option, + mutation_type: String, + fitness_score: f64, + combined_score: f64, + metrics: serde_json::Value, + is_pareto: bool, + api_cost: f64, + embed_cost: f64, + novelty_cost: f64, + code_hash: String, + code_size: i32, + code: String, + language: String, + text_feedback: String, +} + +#[derive(sqlx::FromRow)] +struct GenerationRow { + #[allow(dead_code)] + run_id: uuid::Uuid, + generation: i32, + timestamp: chrono::DateTime, + num_individuals: i32, + best_score: f64, + avg_score: f64, + pareto_size: i32, + total_cost: f64, + metadata: serde_json::Value, +} + +#[derive(sqlx::FromRow)] +struct LineageRow { + id: uuid::Uuid, + #[allow(dead_code)] + run_id: uuid::Uuid, + child_id: uuid::Uuid, + parent_id: Option, + generation: i32, + mutation_type: String, + #[allow(dead_code)] + timestamp: chrono::DateTime, + fitness_delta: f64, + edit_summary: String, } diff --git a/genesis_rust_backend/src/types.rs b/genesis_rust_backend/src/types.rs index 533e074..de973a5 100644 --- a/genesis_rust_backend/src/types.rs +++ b/genesis_rust_backend/src/types.rs @@ -1,14 +1,15 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; +use uuid::Uuid; #[derive(Debug, Clone, Serialize, Deserialize, Default)] pub struct Program { - pub id: String, + pub id: Uuid, pub code: String, pub language: String, - pub parent_id: Option, - pub generation: usize, + pub parent_id: Option, + pub generation: i32, pub combined_score: f64, pub correct: bool, pub public_metrics: HashMap, @@ -21,8 +22,8 @@ pub struct Program { #[derive(Debug, Clone, Serialize, Deserialize, Default)] pub struct RunningJob { pub job_id: String, - pub generation: usize, - pub parent_id: Option, + pub generation: i32, + pub parent_id: Option, pub patch_type: String, pub patch_name: Option, pub patch_description: Option, diff --git a/genesis_rust_backend/tests/common/mod.rs b/genesis_rust_backend/tests/common/mod.rs new file mode 100644 index 0000000..daef1b5 --- /dev/null +++ b/genesis_rust_backend/tests/common/mod.rs @@ -0,0 +1,45 @@ +use sqlx::PgPool; +use testcontainers::runners::AsyncRunner; +use testcontainers::ContainerAsync; +use testcontainers::ImageExt; +use testcontainers_modules::postgres::Postgres; + +pub struct TestDb { + pub pool: PgPool, + _container: ContainerAsync, +} + +impl TestDb { + pub async fn new() -> Self { + let container = Postgres::default() + .with_tag("15") + .start() + .await + .expect("failed to start postgres container"); + + let host_port = container + .get_host_port_ipv4(5432) + .await + .expect("failed to get postgres port"); + + let url = format!("postgresql://postgres:postgres@127.0.0.1:{host_port}/postgres"); + let pool = PgPool::connect(&url) + .await + .expect("failed to connect to test postgres"); + + let ddl = std::fs::read_to_string( + std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../migrations/full_ddl.sql"), + ) + .expect("failed to read full_ddl.sql"); + + sqlx::raw_sql(&ddl) + .execute(&pool) + .await + .expect("failed to apply DDL"); + + Self { + pool, + _container: container, + } + } +} diff --git a/genesis_rust_backend/tests/db_integration.rs b/genesis_rust_backend/tests/db_integration.rs new file mode 100644 index 0000000..48b8bf0 --- /dev/null +++ b/genesis_rust_backend/tests/db_integration.rs @@ -0,0 +1,275 @@ +mod common; + +use genesis_rust_backend::database::PgProgramDatabase; +use serde_json::json; +use uuid::Uuid; + +async fn db_from_test() -> PgProgramDatabase { + let test_db = common::TestDb::new().await; + // Leak the container handle so it stays alive for the test duration. + // Each test gets its own container so there is no cross-contamination. + let pool = test_db.pool.clone(); + std::mem::forget(test_db); + PgProgramDatabase::from_pool(pool) +} + +#[tokio::test] +async fn create_and_list_evolution_run() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run( + "circle_packing", + &json!({"lr": 0.01}), + 20, + Some("local"), + None, + ) + .await + .expect("create_evolution_run failed"); + + let row = + sqlx::query_scalar::<_, String>("SELECT task_name FROM evolution_runs WHERE run_id = $1") + .bind(run_id) + .fetch_one(db.pool()) + .await + .expect("fetch failed"); + + assert_eq!(row, "circle_packing"); +} + +#[tokio::test] +async fn update_evolution_run_status() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + db.update_evolution_run_status(run_id, "completed", 5) + .await + .unwrap(); + + let (status, gens) = sqlx::query_as::<_, (String, i32)>( + "SELECT status, total_generations FROM evolution_runs WHERE run_id = $1", + ) + .bind(run_id) + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(status, "completed"); + assert_eq!(gens, 5); +} + +#[tokio::test] +async fn add_and_get_best_individual() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + let id_a = Uuid::new_v4(); + let id_b = Uuid::new_v4(); + + db.add_individual( + run_id, + id_a, + 0, + None, + "diff", + 0.5, + 0.5, + &json!({"acc": 0.5}), + false, + 0.01, + 0.0, + 0.0, + "aaa", + 100, + "print('hello')", + "python", + "", + ) + .await + .unwrap(); + + db.add_individual( + run_id, + id_b, + 1, + Some(id_a), + "full", + 0.9, + 0.9, + &json!({"acc": 0.9}), + true, + 0.02, + 0.0, + 0.0, + "bbb", + 120, + "print('world')", + "python", + "looks good", + ) + .await + .unwrap(); + + let best = db.get_best_individual(run_id).await.unwrap().unwrap(); + assert_eq!(best.individual_id, id_b); + assert!((best.combined_score - 0.9).abs() < 1e-9); +} + +#[tokio::test] +async fn get_top_individuals_ordering() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + for i in 0..5 { + db.add_individual( + run_id, + Uuid::new_v4(), + i, + None, + "diff", + i as f64 * 0.1, + i as f64 * 0.1, + &json!({}), + false, + 0.0, + 0.0, + 0.0, + &format!("hash_{i}"), + 100, + &format!("code_{i}"), + "python", + "", + ) + .await + .unwrap(); + } + + let top = db.get_top_individuals(run_id, 3).await.unwrap(); + assert_eq!(top.len(), 3); + assert!(top[0].combined_score >= top[1].combined_score); + assert!(top[1].combined_score >= top[2].combined_score); +} + +#[tokio::test] +async fn log_generation() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + db.log_generation(run_id, 0, 10, 0.8, 0.5, 3, 0.1, &json!({"note": "gen0"})) + .await + .unwrap(); + + let count = sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM generations WHERE run_id = $1") + .bind(run_id) + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(count, 1); +} + +#[tokio::test] +async fn log_pareto_front() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + let ind_id = Uuid::new_v4(); + db.log_pareto_front(run_id, 0, ind_id, 0.8, 0.75, &json!({})) + .await + .unwrap(); + + let count = + sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM pareto_fronts WHERE run_id = $1") + .bind(run_id) + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(count, 1); +} + +#[tokio::test] +async fn log_lineage() { + let db = db_from_test().await; + + let run_id = db + .create_evolution_run("test_task", &json!({}), 10, None, None) + .await + .unwrap(); + + let child = Uuid::new_v4(); + let parent = Uuid::new_v4(); + db.log_lineage(run_id, child, Some(parent), 1, "diff", 0.1, "improved loop") + .await + .unwrap(); + + let count = + sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM code_lineages WHERE run_id = $1") + .bind(run_id) + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(count, 1); +} + +#[tokio::test] +async fn log_llm_interaction() { + let db = db_from_test().await; + + db.log_llm_interaction( + "gpt-4", + &json!([{"role": "user", "content": "hello"}]), + "response text", + "thought text", + 0.005, + 1.2, + &json!({}), + ) + .await + .unwrap(); + + let count = sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM llm_logs") + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(count, 1); +} + +#[tokio::test] +async fn log_agent_action() { + let db = db_from_test().await; + + db.log_agent_action("mutate", &json!({"gen": 3}), &json!({})) + .await + .unwrap(); + + let count = sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM agent_actions") + .fetch_one(db.pool()) + .await + .unwrap(); + + assert_eq!(count, 1); +} diff --git a/genesis_rust_backend/tests/memory_tests.rs b/genesis_rust_backend/tests/memory_tests.rs index 5890cdb..131f33b 100644 --- a/genesis_rust_backend/tests/memory_tests.rs +++ b/genesis_rust_backend/tests/memory_tests.rs @@ -42,5 +42,8 @@ fn gepa_returns_candidate_and_fewshot() { ); let ctx2 = gepa.build_prompt_context(); - assert!(ctx2.fewshot_examples.unwrap_or_default().contains("Successful Trace")); + assert!(ctx2 + .fewshot_examples + .unwrap_or_default() + .contains("Successful Trace")); } diff --git a/migrations/changelogs/001-evolution-runs.sql b/migrations/changelogs/001-evolution-runs.sql new file mode 100644 index 0000000..174968f --- /dev/null +++ b/migrations/changelogs/001-evolution-runs.sql @@ -0,0 +1,20 @@ +--liquibase formatted sql + +--changeset genesis:001-create-evolution-runs +CREATE TABLE evolution_runs ( + run_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + start_time TIMESTAMPTZ NOT NULL DEFAULT now(), + end_time TIMESTAMPTZ, + task_name TEXT NOT NULL, + config JSONB NOT NULL DEFAULT '{}', + status TEXT NOT NULL DEFAULT 'running', + total_generations INTEGER NOT NULL DEFAULT 0, + population_size INTEGER NOT NULL DEFAULT 0, + cluster_type TEXT, + database_path TEXT +); + +CREATE INDEX idx_evolution_runs_task ON evolution_runs(task_name); +CREATE INDEX idx_evolution_runs_status ON evolution_runs(status); +CREATE INDEX idx_evolution_runs_start_time ON evolution_runs(start_time DESC); +--rollback DROP TABLE evolution_runs; diff --git a/migrations/changelogs/002-generations.sql b/migrations/changelogs/002-generations.sql new file mode 100644 index 0000000..50a775f --- /dev/null +++ b/migrations/changelogs/002-generations.sql @@ -0,0 +1,19 @@ +--liquibase formatted sql + +--changeset genesis:002-create-generations +CREATE TABLE generations ( + run_id UUID NOT NULL REFERENCES evolution_runs(run_id) ON DELETE CASCADE, + generation INTEGER NOT NULL, + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + num_individuals INTEGER NOT NULL DEFAULT 0, + best_score DOUBLE PRECISION NOT NULL DEFAULT 0, + avg_score DOUBLE PRECISION NOT NULL DEFAULT 0, + pareto_size INTEGER NOT NULL DEFAULT 0, + total_cost DOUBLE PRECISION NOT NULL DEFAULT 0, + metadata JSONB NOT NULL DEFAULT '{}', + + PRIMARY KEY (run_id, generation) +); + +CREATE INDEX idx_generations_run ON generations(run_id); +--rollback DROP TABLE generations; diff --git a/migrations/changelogs/003-individuals.sql b/migrations/changelogs/003-individuals.sql new file mode 100644 index 0000000..9b8d804 --- /dev/null +++ b/migrations/changelogs/003-individuals.sql @@ -0,0 +1,27 @@ +--liquibase formatted sql + +--changeset genesis:003-create-individuals +CREATE TABLE individuals ( + run_id UUID NOT NULL REFERENCES evolution_runs(run_id) ON DELETE CASCADE, + individual_id UUID NOT NULL DEFAULT gen_random_uuid(), + generation INTEGER NOT NULL, + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + parent_id UUID, + mutation_type TEXT NOT NULL, + fitness_score DOUBLE PRECISION NOT NULL DEFAULT 0, + combined_score DOUBLE PRECISION NOT NULL DEFAULT 0, + metrics JSONB NOT NULL DEFAULT '{}', + is_pareto BOOLEAN NOT NULL DEFAULT false, + api_cost DOUBLE PRECISION NOT NULL DEFAULT 0, + embed_cost DOUBLE PRECISION NOT NULL DEFAULT 0, + novelty_cost DOUBLE PRECISION NOT NULL DEFAULT 0, + code_hash TEXT NOT NULL DEFAULT '', + code_size INTEGER NOT NULL DEFAULT 0, + + PRIMARY KEY (run_id, individual_id) +); + +CREATE INDEX idx_individuals_run_gen ON individuals(run_id, generation); +CREATE INDEX idx_individuals_score ON individuals(combined_score DESC); +CREATE INDEX idx_individuals_parent ON individuals(parent_id); +--rollback DROP TABLE individuals; diff --git a/migrations/changelogs/004-pareto-fronts.sql b/migrations/changelogs/004-pareto-fronts.sql new file mode 100644 index 0000000..8ffbd3b --- /dev/null +++ b/migrations/changelogs/004-pareto-fronts.sql @@ -0,0 +1,17 @@ +--liquibase formatted sql + +--changeset genesis:004-create-pareto-fronts +CREATE TABLE pareto_fronts ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + run_id UUID NOT NULL REFERENCES evolution_runs(run_id) ON DELETE CASCADE, + generation INTEGER NOT NULL, + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + individual_id UUID NOT NULL, + fitness_score DOUBLE PRECISION NOT NULL DEFAULT 0, + combined_score DOUBLE PRECISION NOT NULL DEFAULT 0, + metrics JSONB NOT NULL DEFAULT '{}' +); + +CREATE INDEX idx_pareto_fronts_run_gen ON pareto_fronts(run_id, generation); +CREATE INDEX idx_pareto_fronts_score ON pareto_fronts(fitness_score DESC); +--rollback DROP TABLE pareto_fronts; diff --git a/migrations/changelogs/005-code-lineages.sql b/migrations/changelogs/005-code-lineages.sql new file mode 100644 index 0000000..b4e37f6 --- /dev/null +++ b/migrations/changelogs/005-code-lineages.sql @@ -0,0 +1,19 @@ +--liquibase formatted sql + +--changeset genesis:005-create-code-lineages +CREATE TABLE code_lineages ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + run_id UUID NOT NULL REFERENCES evolution_runs(run_id) ON DELETE CASCADE, + child_id UUID NOT NULL, + parent_id UUID, + generation INTEGER NOT NULL, + mutation_type TEXT NOT NULL, + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + fitness_delta DOUBLE PRECISION NOT NULL DEFAULT 0, + edit_summary TEXT NOT NULL DEFAULT '' +); + +CREATE INDEX idx_code_lineages_run_gen ON code_lineages(run_id, generation); +CREATE INDEX idx_code_lineages_child ON code_lineages(child_id); +CREATE INDEX idx_code_lineages_parent ON code_lineages(parent_id); +--rollback DROP TABLE code_lineages; diff --git a/migrations/changelogs/006-llm-logs.sql b/migrations/changelogs/006-llm-logs.sql new file mode 100644 index 0000000..c90d824 --- /dev/null +++ b/migrations/changelogs/006-llm-logs.sql @@ -0,0 +1,18 @@ +--liquibase formatted sql + +--changeset genesis:006-create-llm-logs +CREATE TABLE llm_logs ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + model TEXT NOT NULL, + messages JSONB NOT NULL DEFAULT '[]', + response TEXT NOT NULL DEFAULT '', + thought TEXT NOT NULL DEFAULT '', + cost DOUBLE PRECISION NOT NULL DEFAULT 0, + execution_time DOUBLE PRECISION NOT NULL DEFAULT 0, + metadata JSONB NOT NULL DEFAULT '{}' +); + +CREATE INDEX idx_llm_logs_timestamp ON llm_logs(timestamp DESC); +CREATE INDEX idx_llm_logs_model ON llm_logs(model); +--rollback DROP TABLE llm_logs; diff --git a/migrations/changelogs/007-agent-actions.sql b/migrations/changelogs/007-agent-actions.sql new file mode 100644 index 0000000..199eb76 --- /dev/null +++ b/migrations/changelogs/007-agent-actions.sql @@ -0,0 +1,14 @@ +--liquibase formatted sql + +--changeset genesis:007-create-agent-actions +CREATE TABLE agent_actions ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + timestamp TIMESTAMPTZ NOT NULL DEFAULT now(), + action_type TEXT NOT NULL, + details JSONB NOT NULL DEFAULT '{}', + metadata JSONB NOT NULL DEFAULT '{}' +); + +CREATE INDEX idx_agent_actions_timestamp ON agent_actions(timestamp DESC); +CREATE INDEX idx_agent_actions_type ON agent_actions(action_type); +--rollback DROP TABLE agent_actions; diff --git a/migrations/changelogs/008-add-code-to-individuals.sql b/migrations/changelogs/008-add-code-to-individuals.sql new file mode 100644 index 0000000..66146d2 --- /dev/null +++ b/migrations/changelogs/008-add-code-to-individuals.sql @@ -0,0 +1,7 @@ +--liquibase formatted sql + +--changeset genesis:008-add-code-to-individuals +ALTER TABLE individuals ADD COLUMN code TEXT NOT NULL DEFAULT ''; +ALTER TABLE individuals ADD COLUMN language TEXT NOT NULL DEFAULT 'python'; +ALTER TABLE individuals ADD COLUMN text_feedback TEXT NOT NULL DEFAULT ''; +--rollback ALTER TABLE individuals DROP COLUMN text_feedback; ALTER TABLE individuals DROP COLUMN language; ALTER TABLE individuals DROP COLUMN code; diff --git a/migrations/changelogs/db.changelog-master.yaml b/migrations/changelogs/db.changelog-master.yaml new file mode 100644 index 0000000..02ce552 --- /dev/null +++ b/migrations/changelogs/db.changelog-master.yaml @@ -0,0 +1,25 @@ +databaseChangeLog: + - include: + file: changelogs/001-evolution-runs.sql + relativeToChangelogFile: false + - include: + file: changelogs/002-generations.sql + relativeToChangelogFile: false + - include: + file: changelogs/003-individuals.sql + relativeToChangelogFile: false + - include: + file: changelogs/004-pareto-fronts.sql + relativeToChangelogFile: false + - include: + file: changelogs/005-code-lineages.sql + relativeToChangelogFile: false + - include: + file: changelogs/006-llm-logs.sql + relativeToChangelogFile: false + - include: + file: changelogs/007-agent-actions.sql + relativeToChangelogFile: false + - include: + file: changelogs/008-add-code-to-individuals.sql + relativeToChangelogFile: false diff --git a/migrations/full_ddl.sql b/migrations/full_ddl.sql new file mode 100644 index 0000000..33f5a55 --- /dev/null +++ b/migrations/full_ddl.sql @@ -0,0 +1,350 @@ +-- +-- PostgreSQL database dump +-- + + +-- Dumped from database version 15.15 (Debian 15.15-1.pgdg13+1) +-- Dumped by pg_dump version 15.15 (Debian 15.15-1.pgdg13+1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +SET default_tablespace = ''; + + +-- +-- Name: agent_actions; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.agent_actions ( + id uuid DEFAULT gen_random_uuid() NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + action_type text NOT NULL, + details jsonb DEFAULT '{}'::jsonb NOT NULL, + metadata jsonb DEFAULT '{}'::jsonb NOT NULL +); + + +-- +-- Name: code_lineages; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.code_lineages ( + id uuid DEFAULT gen_random_uuid() NOT NULL, + run_id uuid NOT NULL, + child_id uuid NOT NULL, + parent_id uuid, + generation integer NOT NULL, + mutation_type text NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + fitness_delta double precision DEFAULT 0 NOT NULL, + edit_summary text DEFAULT ''::text NOT NULL +); + + +-- +-- Name: evolution_runs; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.evolution_runs ( + run_id uuid DEFAULT gen_random_uuid() NOT NULL, + start_time timestamp with time zone DEFAULT now() NOT NULL, + end_time timestamp with time zone, + task_name text NOT NULL, + config jsonb DEFAULT '{}'::jsonb NOT NULL, + status text DEFAULT 'running'::text NOT NULL, + total_generations integer DEFAULT 0 NOT NULL, + population_size integer DEFAULT 0 NOT NULL, + cluster_type text, + database_path text +); + + +-- +-- Name: generations; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.generations ( + run_id uuid NOT NULL, + generation integer NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + num_individuals integer DEFAULT 0 NOT NULL, + best_score double precision DEFAULT 0 NOT NULL, + avg_score double precision DEFAULT 0 NOT NULL, + pareto_size integer DEFAULT 0 NOT NULL, + total_cost double precision DEFAULT 0 NOT NULL, + metadata jsonb DEFAULT '{}'::jsonb NOT NULL +); + + +-- +-- Name: individuals; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.individuals ( + run_id uuid NOT NULL, + individual_id uuid DEFAULT gen_random_uuid() NOT NULL, + generation integer NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + parent_id uuid, + mutation_type text NOT NULL, + fitness_score double precision DEFAULT 0 NOT NULL, + combined_score double precision DEFAULT 0 NOT NULL, + metrics jsonb DEFAULT '{}'::jsonb NOT NULL, + is_pareto boolean DEFAULT false NOT NULL, + api_cost double precision DEFAULT 0 NOT NULL, + embed_cost double precision DEFAULT 0 NOT NULL, + novelty_cost double precision DEFAULT 0 NOT NULL, + code_hash text DEFAULT ''::text NOT NULL, + code_size integer DEFAULT 0 NOT NULL, + code text DEFAULT ''::text NOT NULL, + language text DEFAULT 'python'::text NOT NULL, + text_feedback text DEFAULT ''::text NOT NULL +); + + +-- +-- Name: llm_logs; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.llm_logs ( + id uuid DEFAULT gen_random_uuid() NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + model text NOT NULL, + messages jsonb DEFAULT '[]'::jsonb NOT NULL, + response text DEFAULT ''::text NOT NULL, + thought text DEFAULT ''::text NOT NULL, + cost double precision DEFAULT 0 NOT NULL, + execution_time double precision DEFAULT 0 NOT NULL, + metadata jsonb DEFAULT '{}'::jsonb NOT NULL +); + + +-- +-- Name: pareto_fronts; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.pareto_fronts ( + id uuid DEFAULT gen_random_uuid() NOT NULL, + run_id uuid NOT NULL, + generation integer NOT NULL, + "timestamp" timestamp with time zone DEFAULT now() NOT NULL, + individual_id uuid NOT NULL, + fitness_score double precision DEFAULT 0 NOT NULL, + combined_score double precision DEFAULT 0 NOT NULL, + metrics jsonb DEFAULT '{}'::jsonb NOT NULL +); + + +-- +-- Name: agent_actions agent_actions_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.agent_actions + ADD CONSTRAINT agent_actions_pkey PRIMARY KEY (id); + + +-- +-- Name: code_lineages code_lineages_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.code_lineages + ADD CONSTRAINT code_lineages_pkey PRIMARY KEY (id); + + +-- +-- Name: evolution_runs evolution_runs_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.evolution_runs + ADD CONSTRAINT evolution_runs_pkey PRIMARY KEY (run_id); + + +-- +-- Name: generations generations_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.generations + ADD CONSTRAINT generations_pkey PRIMARY KEY (run_id, generation); + + +-- +-- Name: individuals individuals_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.individuals + ADD CONSTRAINT individuals_pkey PRIMARY KEY (run_id, individual_id); + + +-- +-- Name: llm_logs llm_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.llm_logs + ADD CONSTRAINT llm_logs_pkey PRIMARY KEY (id); + + +-- +-- Name: pareto_fronts pareto_fronts_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.pareto_fronts + ADD CONSTRAINT pareto_fronts_pkey PRIMARY KEY (id); + + +-- +-- Name: idx_agent_actions_timestamp; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_agent_actions_timestamp ON public.agent_actions USING btree ("timestamp" DESC); + + +-- +-- Name: idx_agent_actions_type; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_agent_actions_type ON public.agent_actions USING btree (action_type); + + +-- +-- Name: idx_code_lineages_child; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_code_lineages_child ON public.code_lineages USING btree (child_id); + + +-- +-- Name: idx_code_lineages_parent; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_code_lineages_parent ON public.code_lineages USING btree (parent_id); + + +-- +-- Name: idx_code_lineages_run_gen; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_code_lineages_run_gen ON public.code_lineages USING btree (run_id, generation); + + +-- +-- Name: idx_evolution_runs_start_time; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_evolution_runs_start_time ON public.evolution_runs USING btree (start_time DESC); + + +-- +-- Name: idx_evolution_runs_status; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_evolution_runs_status ON public.evolution_runs USING btree (status); + + +-- +-- Name: idx_evolution_runs_task; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_evolution_runs_task ON public.evolution_runs USING btree (task_name); + + +-- +-- Name: idx_generations_run; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_generations_run ON public.generations USING btree (run_id); + + +-- +-- Name: idx_individuals_parent; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_individuals_parent ON public.individuals USING btree (parent_id); + + +-- +-- Name: idx_individuals_run_gen; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_individuals_run_gen ON public.individuals USING btree (run_id, generation); + + +-- +-- Name: idx_individuals_score; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_individuals_score ON public.individuals USING btree (combined_score DESC); + + +-- +-- Name: idx_llm_logs_model; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_llm_logs_model ON public.llm_logs USING btree (model); + + +-- +-- Name: idx_llm_logs_timestamp; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_llm_logs_timestamp ON public.llm_logs USING btree ("timestamp" DESC); + + +-- +-- Name: idx_pareto_fronts_run_gen; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_pareto_fronts_run_gen ON public.pareto_fronts USING btree (run_id, generation); + + +-- +-- Name: idx_pareto_fronts_score; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx_pareto_fronts_score ON public.pareto_fronts USING btree (fitness_score DESC); + + +-- +-- Name: code_lineages code_lineages_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.code_lineages + ADD CONSTRAINT code_lineages_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.evolution_runs(run_id) ON DELETE CASCADE; + + +-- +-- Name: generations generations_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.generations + ADD CONSTRAINT generations_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.evolution_runs(run_id) ON DELETE CASCADE; + + +-- +-- Name: individuals individuals_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.individuals + ADD CONSTRAINT individuals_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.evolution_runs(run_id) ON DELETE CASCADE; + + +-- +-- Name: pareto_fronts pareto_fronts_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.pareto_fronts + ADD CONSTRAINT pareto_fronts_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.evolution_runs(run_id) ON DELETE CASCADE; + + +-- +-- PostgreSQL database dump complete +-- + + diff --git a/migrations/liquibase.properties b/migrations/liquibase.properties new file mode 100644 index 0000000..3f6f9d7 --- /dev/null +++ b/migrations/liquibase.properties @@ -0,0 +1,6 @@ +changeLogFile=changelogs/db.changelog-master.yaml +url=${LIQUIBASE_URL} +username=${LIQUIBASE_USERNAME} +password=${LIQUIBASE_PASSWORD} +driver=org.postgresql.Driver +liquibase.hub.mode=off diff --git a/reproduce_issue.py b/reproduce_issue.py deleted file mode 100644 index 85ea366..0000000 --- a/reproduce_issue.py +++ /dev/null @@ -1,120 +0,0 @@ -import time -from playwright.sync_api import sync_playwright - - -def run(): - with sync_playwright() as p: - browser = p.chromium.launch(headless=True) - page = browser.new_page() - - # Capture console logs - page.on("console", lambda msg: print(f"Browser Console: {msg.text}")) - page.on("pageerror", lambda exc: print(f"Browser Error: {exc}")) - - print("Navigating to WebUI...") - page.goto("http://localhost:5173") - - # Wait for loading - page.wait_for_load_state("networkidle") - print("Page loaded.") - - # Take initial screenshot - page.screenshot(path="screenshot_initial.png") - - # Look for the Task dropdown. - # In the code Sidebar.tsx, the button has text "Select a task..." or the current task name. - # We can find the button that precedes the "Result" label or just search by text. - - # Click task dropdown trigger - print("Opening task dropdown...") - try: - # Try to find the button that toggles the task list - # It has text "Select a task..." initially - page.get_by_text("Select a task...").click() - except: - # Maybe a task is already selected? - print( - "Could not find 'Select a task...', checking if a task is pre-selected." - ) - # This might happen if state is persisted or default. - - # Wait for dropdown to appear - time.sleep(1) - - # Try to click "squeeze_hnsw" - try: - print("Selecting 'squeeze_hnsw'...") - page.get_by_text("squeeze_hnsw").click() - except Exception as e: - print(f"Could not find 'squeeze_hnsw' option: {e}") - # If not found, maybe try any available task? - # Let's list what we see - page.screenshot(path="screenshot_dropdown.png") - browser.close() - return - - # Wait for results to load and select the first one - time.sleep(1) - print("Selecting first result...") - try: - # Click the "Select a result..." button - page.get_by_text("Select a result...").click() - time.sleep(0.5) - # Click the first result button in the dropdown (assuming it exists) - # The result buttons are in the dropdown container - # We can just pick the first one that looks like a result - # The sidebar logic renders buttons in the dropdown. - # Let's just try to find any button in the result dropdown. - # Or we can wait for the database to load if it auto-selects? - # The code says: "Auto-select first result if available" in handleTaskSelect - # So maybe we don't need to manually select a result if the task switch triggers it. - pass - except: - print("Could not interact with result dropdown, maybe already selected.") - - # Wait for the table to populate - print("Waiting for programs table...") - try: - # Wait for at least one row - page.wait_for_selector( - "tr.model-cell", timeout=5000 - ) # Attempting to find a row - except: - # The table rows have class 'model-cell' on one td, but the row itself doesn't have a specific class other than maybe selected/incorrect - # Let's look for a td. - try: - page.wait_for_selector("table.programs-table tbody tr", timeout=5000) - except Exception as e: - print(f"Table did not populate: {e}") - page.screenshot(path="screenshot_table_fail.png") - browser.close() - return - - print("Table populated. Clicking first program row...") - # Click the first row - rows = page.locator("table.programs-table tbody tr") - if rows.count() > 0: - rows.first.click() - print("Clicked first row.") - else: - print("No rows found.") - - # Wait a bit for the "White Screen" or Code View - time.sleep(2) - - # Screenshot result - page.screenshot(path="screenshot_after_click.png") - print("Screenshot saved to 'screenshot_after_click.png'") - - # Check if Error Boundary triggered - if page.get_by_text("Something went wrong").is_visible(): - print("!!! Error Boundary Caught an Error !!!") - # Extract error text - error_text = page.locator("pre").text_content() - print(f"Error content: {error_text}") - - browser.close() - - -if __name__ == "__main__": - run() diff --git a/screenshot_initial.png b/screenshot_initial.png deleted file mode 100644 index d8438e0cf25f02ee6bb46e13ee1ebe20aa8d0343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65765 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ÙkkwwD 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 diff --git a/screenshot_table_fail.png b/screenshot_table_fail.png deleted file mode 100644 index 7293bde0a2d020a08b18f32ae8c8bc0a77343694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16983 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 Zw%@z*EE+zj)?U#$am?p0+@I%f{4bW!C7b{N diff --git a/scripts/bootstrap-gcp.sh b/scripts/bootstrap-gcp.sh new file mode 100755 index 0000000..180613e --- /dev/null +++ b/scripts/bootstrap-gcp.sh @@ -0,0 +1,178 @@ +#!/usr/bin/env bash +# +# Bootstrap Genesis infrastructure on GCP. +# +# Prerequisites: +# - gcloud CLI installed and authenticated (gcloud auth login) +# - terraform >= 1.5 installed +# - You have Owner or Editor role on the project +# +# Usage: +# ./scripts/bootstrap-gcp.sh +# +# After this script completes, it will print the GitHub secrets +# you need to configure at: +# https://github.com/GeorgePearse/Genesis/settings/secrets/actions +# +set -euo pipefail + +PROJECT_ID="visdet-482415" +REGION="europe-west2" +SA_NAME="genesis-bootstrap" +SA_EMAIL="${SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" +STATE_BUCKET="genesis-tf-state-visdet-482415" +KEY_FILE="/tmp/genesis-gcp-sa-key.json" + +echo "=========================================" +echo " Genesis GCP Bootstrap" +echo " Project: ${PROJECT_ID}" +echo " Region: ${REGION}" +echo "=========================================" +echo "" + +# ------------------------------------------- +# Step 1: Set project +# ------------------------------------------- +echo "[1/7] Setting project..." +gcloud config set project "${PROJECT_ID}" + +# ------------------------------------------- +# Step 2: Enable required APIs +# ------------------------------------------- +echo "[2/7] Enabling GCP APIs (this may take a minute)..." +gcloud services enable \ + sqladmin.googleapis.com \ + run.googleapis.com \ + artifactregistry.googleapis.com \ + secretmanager.googleapis.com \ + vpcaccess.googleapis.com \ + servicenetworking.googleapis.com \ + compute.googleapis.com \ + iam.googleapis.com \ + cloudresourcemanager.googleapis.com \ + containerregistry.googleapis.com + +# ------------------------------------------- +# Step 3: Create Terraform state bucket +# ------------------------------------------- +echo "[3/7] Creating Terraform state bucket..." +if gcloud storage buckets describe "gs://${STATE_BUCKET}" &>/dev/null; then + echo " Bucket already exists, skipping." +else + gcloud storage buckets create "gs://${STATE_BUCKET}" \ + --location="${REGION}" \ + --uniform-bucket-level-access +fi + +# ------------------------------------------- +# Step 4: Create bootstrap service account +# ------------------------------------------- +echo "[4/7] Creating bootstrap service account..." +if gcloud iam service-accounts describe "${SA_EMAIL}" &>/dev/null 2>&1; then + echo " Service account already exists, skipping creation." +else + gcloud iam service-accounts create "${SA_NAME}" \ + --display-name="Genesis Bootstrap SA" +fi + +ROLES=( + "roles/editor" + "roles/iam.serviceAccountAdmin" + "roles/iam.serviceAccountKeyAdmin" + "roles/resourcemanager.projectIamAdmin" + "roles/secretmanager.admin" + "roles/storage.admin" + "roles/servicenetworking.networksAdmin" +) + +for ROLE in "${ROLES[@]}"; do + echo " Granting ${ROLE}..." + gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ + --member="serviceAccount:${SA_EMAIL}" \ + --role="${ROLE}" \ + --quiet \ + --condition=None 2>/dev/null || true +done + +echo " Creating key file..." +if [ -f "${KEY_FILE}" ]; then + echo " Key file already exists at ${KEY_FILE}, reusing." +else + gcloud iam service-accounts keys create "${KEY_FILE}" \ + --iam-account="${SA_EMAIL}" +fi + +# ------------------------------------------- +# Step 5: Terraform init and apply +# ------------------------------------------- +echo "[5/7] Running Terraform..." +export GOOGLE_APPLICATION_CREDENTIALS="${KEY_FILE}" + +cd "$(dirname "$0")/../terraform" + +echo " terraform init..." +terraform init + +echo "" +echo " terraform plan..." +terraform plan -out=tfplan \ + -var="openai_api_key=PLACEHOLDER_REPLACE_ME" \ + -var="anthropic_api_key=PLACEHOLDER_REPLACE_ME" + +echo "" +echo " About to apply. Review the plan above." +read -rp " Proceed with terraform apply? [y/N] " confirm +if [[ "${confirm}" != "y" && "${confirm}" != "Y" ]]; then + echo " Aborted." + exit 1 +fi + +terraform apply tfplan +rm -f tfplan + +# ------------------------------------------- +# Step 6: Extract outputs +# ------------------------------------------- +echo "[6/7] Extracting outputs..." +CLOUD_SQL_CONN=$(terraform output -raw cloud_sql_instance) +DB_PASSWORD=$(terraform output -raw db_password) +CLOUD_RUN_URL=$(terraform output -raw cloud_run_url) +GITHUB_SA=$(terraform output -raw github_actions_service_account) + +cd - > /dev/null + +# ------------------------------------------- +# Step 7: Create key for GitHub Actions SA +# ------------------------------------------- +echo "[7/7] Creating GitHub Actions SA key..." +GH_SA_KEY_FILE="/tmp/genesis-github-actions-key.json" +gcloud iam service-accounts keys create "${GH_SA_KEY_FILE}" \ + --iam-account="${GITHUB_SA}" 2>/dev/null || echo " (key may already exist)" + +echo "" +echo "=========================================" +echo " Bootstrap complete!" +echo "=========================================" +echo "" +echo " Cloud Run URL: ${CLOUD_RUN_URL}" +echo "" +echo " Next steps:" +echo "" +echo " 1. Seed your real API keys:" +echo " echo -n 'sk-your-real-openai-key' | gcloud secrets versions add genesis-openai-api-key --data-file=-" +echo " echo -n 'sk-ant-your-real-key' | gcloud secrets versions add genesis-anthropic-api-key --data-file=-" +echo "" +echo " 2. Add these GitHub repo secrets at:" +echo " https://github.com/GeorgePearse/Genesis/settings/secrets/actions" +echo "" +echo " GCP_SA_KEY = contents of ${GH_SA_KEY_FILE}" +echo " CLOUD_SQL_CONNECTION_NAME = ${CLOUD_SQL_CONN}" +echo " DB_NAME = genesis" +echo " DB_USER = genesis_app" +echo " DB_PASSWORD = ${DB_PASSWORD}" +echo "" +echo " 3. Push to main -- the CI/CD pipeline will build, migrate, and deploy." +echo "" +echo " 4. Clean up key files when done:" +echo " rm -f ${KEY_FILE} ${GH_SA_KEY_FILE}" +echo "" diff --git a/scripts/debug_embedding_length.py b/scripts/debug_embedding_length.py deleted file mode 100644 index 4196634..0000000 --- a/scripts/debug_embedding_length.py +++ /dev/null @@ -1,29 +0,0 @@ -import os -import clickhouse_connect -from dotenv import load_dotenv - -load_dotenv() - - -def get_client(): - url = os.getenv("CLICKHOUSE_URL") - if url: - import re - - match = re.match(r"https?://([^:]+):([^@]+)@([^:]+):(\d+)", url) - if match: - return clickhouse_connect.get_client( - host=match.group(3), - port=int(match.group(4)), - username=match.group(1), - password=match.group(2), - secure=url.startswith("https"), - ) - return clickhouse_connect.get_client(host="localhost") - - -client = get_client() - -pid = "f190e52a-47e8-4bf4-ab62-2434c35c0853" -res = client.query(f"SELECT length(embedding) FROM programs WHERE id = '{pid}'") -print(res.result_rows) diff --git a/scripts/debug_list_db.py b/scripts/debug_list_db.py deleted file mode 100644 index fa9c3d9..0000000 --- a/scripts/debug_list_db.py +++ /dev/null @@ -1,43 +0,0 @@ -import os -import clickhouse_connect -from dotenv import load_dotenv - -load_dotenv() - - -def get_client(): - url = os.getenv("CLICKHOUSE_URL") - if url: - import re - - match = re.match(r"https?://([^:]+):([^@]+)@([^:]+):(\d+)", url) - if match: - return clickhouse_connect.get_client( - host=match.group(3), - port=int(match.group(4)), - username=match.group(1), - password=match.group(2), - secure=url.startswith("https"), - ) - return clickhouse_connect.get_client(host="localhost") - - -client = get_client() - -query = """ -SELECT - JSONExtractString(metadata, 'original_run_id') as run_id, - JSONExtractString(metadata, 'migration_source') as source_path, - count() as total, - sum(CASE WHEN correct = 1 THEN 1 ELSE 0 END) as working, - max(timestamp) as last_ts -FROM programs -WHERE JSONExtractString(metadata, 'original_run_id') != '' -GROUP BY run_id, source_path -ORDER BY last_ts DESC -LIMIT 5 -""" - -res = client.query(query) -for row in res.result_rows: - print(row) diff --git a/scripts/debug_metadata.py b/scripts/debug_metadata.py deleted file mode 100644 index 4e02b07..0000000 --- a/scripts/debug_metadata.py +++ /dev/null @@ -1,29 +0,0 @@ -import os -import clickhouse_connect -from dotenv import load_dotenv - -load_dotenv() - - -def get_client(): - url = os.getenv("CLICKHOUSE_URL") - if url: - import re - - match = re.match(r"https?://([^:]+):([^@]+)@([^:]+):(\d+)", url) - if match: - return clickhouse_connect.get_client( - host=match.group(3), - port=int(match.group(4)), - username=match.group(1), - password=match.group(2), - secure=url.startswith("https"), - ) - return clickhouse_connect.get_client(host="localhost") - - -client = get_client() - -pid = "812f0ecd-e476-439c-8a02-b4359888388e" -res = client.query(f"SELECT metadata FROM programs WHERE id = '{pid}'") -print(res.result_rows) diff --git a/scripts/export_ddl.sh b/scripts/export_ddl.sh new file mode 100755 index 0000000..cdb9896 --- /dev/null +++ b/scripts/export_ddl.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +REPO_ROOT="$(dirname "$SCRIPT_DIR")" +OUTPUT_FILE="${REPO_ROOT}/migrations/full_ddl.sql" + +DB_NAME="genesis_ddl_export" +DB_USER="postgres" +DB_PASSWORD="postgres" +CONTAINER_NAME="genesis-ddl-export-$$" +PG_PORT=54399 + +cleanup() { + echo "Cleaning up..." + docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true +} +trap cleanup EXIT + +echo "Starting temporary Postgres container..." +docker run -d \ + --name "$CONTAINER_NAME" \ + -e POSTGRES_DB="$DB_NAME" \ + -e POSTGRES_USER="$DB_USER" \ + -e POSTGRES_PASSWORD="$DB_PASSWORD" \ + -p "${PG_PORT}:5432" \ + postgres:15 >/dev/null + +echo "Waiting for Postgres to be ready..." +for i in $(seq 1 30); do + if docker exec "$CONTAINER_NAME" pg_isready -U "$DB_USER" -d "$DB_NAME" >/dev/null 2>&1; then + break + fi + if [ "$i" -eq 30 ]; then + echo "ERROR: Postgres did not become ready in time" >&2 + exit 1 + fi + sleep 1 +done + +echo "Running Liquibase migrations..." +cd "${REPO_ROOT}/migrations" +liquibase \ + --url="jdbc:postgresql://localhost:${PG_PORT}/${DB_NAME}" \ + --username="$DB_USER" \ + --password="$DB_PASSWORD" \ + --changeLogFile=changelogs/db.changelog-master.yaml \ + update +cd "${REPO_ROOT}" + +echo "Exporting schema via pg_dump..." +docker exec "$CONTAINER_NAME" pg_dump \ + -U "$DB_USER" \ + -d "$DB_NAME" \ + --schema-only \ + --no-owner \ + --no-privileges \ + --exclude-table='databasechangelog*' \ + | sed '/^\\restrict/d; /^\\unrestrict/d; /^SELECT pg_catalog/d; /^SET default_table_access_method/d' \ + > "$OUTPUT_FILE" + +echo "DDL exported to ${OUTPUT_FILE}" diff --git a/scripts/fix_metadata.py b/scripts/fix_metadata.py deleted file mode 100644 index d8c661c..0000000 --- a/scripts/fix_metadata.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -import json -import clickhouse_connect -from dotenv import load_dotenv - -load_dotenv() - - -def get_client(): - url = os.getenv("CLICKHOUSE_URL") - if url: - import re - - match = re.match(r"https?://([^:]+):([^@]+)@([^:]+):(\d+)", url) - if match: - return clickhouse_connect.get_client( - host=match.group(3), - port=int(match.group(4)), - username=match.group(1), - password=match.group(2), - secure=url.startswith("https"), - ) - return clickhouse_connect.get_client(host="localhost") - - -client = get_client() - -# 1. Get latest run_id and path -res = client.query( - "SELECT run_id, database_path FROM evolution_runs ORDER BY start_time DESC LIMIT 1" -) -if not res.result_rows: - print("No run_id found") - exit() - -run_id, source_path = res.result_rows[0] -print(f"Latest run_id: {run_id}") -print(f"Source path: {source_path}") - -# 2. Get programs without original_run_id in metadata -# We assume they are recent programs -query = """ -SELECT id, metadata -FROM programs -WHERE JSONExtractString(metadata, 'original_run_id') = '' -ORDER BY timestamp DESC -LIMIT 1000 -""" - -programs = client.query(query) -print(f"Found {len(programs.result_rows)} programs without run_id") - -count = 0 -for row in programs.result_rows: - pid, meta_str = row - try: - meta = None - try: - # strict=False allows control characters like newlines in strings - meta = json.loads(meta_str, strict=False) - except json.JSONDecodeError: - try: - # Fallback: try to fix newlines manually if strict=False fails - fixed_str = ( - meta_str.replace("\n", "\\n") - .replace("\r", "\\r") - .replace("\t", "\\t") - ) - meta = json.loads(fixed_str, strict=False) - except: - pass - - if meta is None: - print(f"Skipping {pid}: Could not parse metadata even with strict=False") - continue - - # Check if we need to update - if "original_run_id" not in meta or meta.get("original_run_id") != run_id: - meta["original_run_id"] = run_id - meta["migration_source"] = source_path - - # Update DB using parameters - new_meta_str = json.dumps(meta) - - client.command( - "ALTER TABLE programs UPDATE metadata = {meta:String} WHERE id = {pid:String}", - parameters={"meta": new_meta_str, "pid": pid}, - ) - count += 1 - except Exception as e: - print(f"Error updating {pid}: {e}") - -print(f"Updated {count} programs") diff --git a/scripts/fix_metadata_insert.py b/scripts/fix_metadata_insert.py deleted file mode 100644 index f05bc09..0000000 --- a/scripts/fix_metadata_insert.py +++ /dev/null @@ -1,148 +0,0 @@ -import os -import time -import json -import clickhouse_connect -from dotenv import load_dotenv - -load_dotenv() - - -def get_client(): - url = os.getenv("CLICKHOUSE_URL") - if url: - import re - - match = re.match(r"https?://([^:]+):([^@]+)@([^:]+):(\d+)", url) - if match: - return clickhouse_connect.get_client( - host=match.group(3), - port=int(match.group(4)), - username=match.group(1), - password=match.group(2), - secure=url.startswith("https"), - ) - return clickhouse_connect.get_client(host="localhost") - - -client = get_client() - -# 1. Get latest run_id and path -res = client.query( - "SELECT run_id, database_path FROM evolution_runs ORDER BY start_time DESC LIMIT 1" -) -if not res.result_rows: - print("No run_id found") - exit() - -run_id, source_path = res.result_rows[0] -print(f"Latest run_id: {run_id}") -print(f"Source path: {source_path}") - -# 2. Fetch programs without run_id -print("Fetching programs without run_id...") -query = """ -SELECT * -FROM programs -WHERE JSONExtractString(metadata, 'original_run_id') = '' -ORDER BY timestamp DESC -LIMIT 1000 -""" -res = client.query(query) - -if not res.result_rows: - print("No programs without run_id found.") - exit() - -print(f"Found {len(res.result_rows)} programs.") - -programs = [] - - -class Program: - def __init__(self, data, cols): - for k, v in zip(cols, data): - setattr(self, k, v) - - -for row in res.result_rows: - programs.append(Program(row, res.column_names)) - -# 3. Update metadata string and timestamp -print("Updating metadata via INSERT...") -updated_rows = [] -for i, program in enumerate(programs): - meta_str = program.metadata - - # Simple string injection to avoid JSON parsing errors - # Note: This assumes meta_str starts with '{' - injection = f'"original_run_id": "{run_id}", "migration_source": "{source_path}", ' - - if meta_str and meta_str.strip().startswith("{"): - new_meta_str = meta_str.strip().replace("{", "{" + injection, 1) - else: - # Fallback if metadata is empty or broken - new_meta_str = "{" + injection[:-2] + "}" # Remove trailing comma - - program.metadata = new_meta_str - program.timestamp = time.time() - - updated_rows.append( - [ - program.id, - program.code, - program.language, - program.parent_id, - program.archive_inspiration_ids, - program.top_k_inspiration_ids, - program.generation, - program.timestamp, - program.code_diff, - program.combined_score, - program.public_metrics, - program.private_metrics, - program.text_feedback, - program.complexity, - program.embedding, - program.embedding_pca_2d, - program.embedding_pca_3d, - program.embedding_cluster_id, - 1 if program.correct else 0, - program.children_count, - program.metadata, - program.island_idx if program.island_idx is not None else -1, - program.migration_history, - 1 if program.in_archive else 0, - ] - ) - -client.insert( - "programs", - updated_rows, - column_names=[ - "id", - "code", - "language", - "parent_id", - "archive_inspiration_ids", - "top_k_inspiration_ids", - "generation", - "timestamp", - "code_diff", - "combined_score", - "public_metrics", - "private_metrics", - "text_feedback", - "complexity", - "embedding", - "embedding_pca_2d", - "embedding_pca_3d", - "embedding_cluster_id", - "correct", - "children_count", - "metadata", - "island_idx", - "migration_history", - "in_archive", - ], -) -print(f"Updated {len(programs)} programs.") diff --git a/terraform/apis.tf b/terraform/apis.tf new file mode 100644 index 0000000..1272c26 --- /dev/null +++ b/terraform/apis.tf @@ -0,0 +1,21 @@ +locals { + required_apis = [ + "artifactregistry.googleapis.com", + "run.googleapis.com", + "sqladmin.googleapis.com", + "servicenetworking.googleapis.com", + "vpcaccess.googleapis.com", + "secretmanager.googleapis.com", + "iam.googleapis.com", + "compute.googleapis.com", + ] +} + +resource "google_project_service" "apis" { + for_each = toset(local.required_apis) + + project = var.project_id + service = each.value + + disable_on_destroy = false +} diff --git a/terraform/artifact_registry.tf b/terraform/artifact_registry.tf new file mode 100644 index 0000000..39b5f28 --- /dev/null +++ b/terraform/artifact_registry.tf @@ -0,0 +1,17 @@ +resource "google_artifact_registry_repository" "genesis" { + location = var.region + repository_id = "genesis" + format = "DOCKER" + description = "Genesis backend container images" + + cleanup_policies { + id = "keep-recent" + action = "KEEP" + + most_recent_versions { + keep_count = 10 + } + } + + depends_on = [google_project_service.apis["artifactregistry.googleapis.com"]] +} diff --git a/terraform/cloud_run.tf b/terraform/cloud_run.tf new file mode 100644 index 0000000..aec9125 --- /dev/null +++ b/terraform/cloud_run.tf @@ -0,0 +1,98 @@ +resource "google_cloud_run_v2_service" "genesis" { + name = "genesis-backend" + location = var.region + ingress = "INGRESS_TRAFFIC_ALL" + + template { + service_account = google_service_account.cloud_run.email + + scaling { + min_instance_count = var.cloud_run_min_instances + max_instance_count = var.cloud_run_max_instances + } + + vpc_access { + connector = google_vpc_access_connector.genesis.id + egress = "PRIVATE_RANGES_ONLY" + } + + containers { + image = var.cloud_run_image + + ports { + container_port = 8080 + } + + resources { + limits = { + cpu = "1" + memory = "512Mi" + } + } + + env { + name = "DATABASE_URL" + value_source { + secret_key_ref { + secret = google_secret_manager_secret.database_url.secret_id + version = "latest" + } + } + } + + env { + name = "OPENAI_API_KEY" + value_source { + secret_key_ref { + secret = google_secret_manager_secret.openai_api_key.secret_id + version = "latest" + } + } + } + + env { + name = "ANTHROPIC_API_KEY" + value_source { + secret_key_ref { + secret = google_secret_manager_secret.anthropic_api_key.secret_id + version = "latest" + } + } + } + + env { + name = "RUST_LOG" + value = "info" + } + + startup_probe { + http_get { + path = "/health" + } + initial_delay_seconds = 5 + period_seconds = 5 + failure_threshold = 3 + } + + liveness_probe { + http_get { + path = "/health" + } + period_seconds = 30 + } + } + } + + depends_on = [ + google_secret_manager_secret_version.database_url, + google_project_service.apis["run.googleapis.com"], + ] +} + +resource "google_cloud_run_v2_service_iam_member" "public" { + project = var.project_id + location = var.region + name = google_cloud_run_v2_service.genesis.name + role = "roles/run.invoker" + member = "allUsers" +} diff --git a/terraform/cloud_run_frontend.tf b/terraform/cloud_run_frontend.tf new file mode 100644 index 0000000..7930123 --- /dev/null +++ b/terraform/cloud_run_frontend.tf @@ -0,0 +1,47 @@ +resource "google_cloud_run_v2_service" "genesis_frontend" { + name = "genesis-frontend" + location = var.region + ingress = "INGRESS_TRAFFIC_ALL" + + template { + service_account = google_service_account.cloud_run.email + + scaling { + min_instance_count = 0 + max_instance_count = 2 + } + + containers { + image = var.frontend_image + + ports { + container_port = 8080 + } + + resources { + limits = { + cpu = "1" + memory = "256Mi" + } + } + + env { + name = "BACKEND_URL" + value = google_cloud_run_v2_service.genesis.uri + } + } + } + + depends_on = [ + google_cloud_run_v2_service.genesis, + google_project_service.apis["run.googleapis.com"], + ] +} + +resource "google_cloud_run_v2_service_iam_member" "frontend_public" { + project = var.project_id + location = var.region + name = google_cloud_run_v2_service.genesis_frontend.name + role = "roles/run.invoker" + member = "allUsers" +} diff --git a/terraform/cloud_sql.tf b/terraform/cloud_sql.tf new file mode 100644 index 0000000..407130b --- /dev/null +++ b/terraform/cloud_sql.tf @@ -0,0 +1,63 @@ +resource "google_sql_database_instance" "genesis" { + name = "genesis-postgres-${var.environment}" + database_version = "POSTGRES_15" + region = var.region + + depends_on = [ + google_service_networking_connection.private_vpc, + google_project_service.apis["sqladmin.googleapis.com"], + ] + + settings { + tier = var.db_tier + availability_type = "ZONAL" + disk_size = 10 + disk_autoresize = true + + ip_configuration { + ipv4_enabled = false + private_network = google_compute_network.genesis.id + enable_private_path_for_google_cloud_services = true + } + + backup_configuration { + enabled = true + start_time = "03:00" + point_in_time_recovery_enabled = true + transaction_log_retention_days = 7 + + backup_retention_settings { + retained_backups = 7 + } + } + + maintenance_window { + day = 7 + hour = 4 + update_track = "stable" + } + + database_flags { + name = "log_min_duration_statement" + value = "1000" + } + } + + deletion_protection = true +} + +resource "google_sql_database" "genesis" { + name = var.db_name + instance = google_sql_database_instance.genesis.name +} + +resource "random_password" "db_password" { + length = 32 + special = false +} + +resource "google_sql_user" "genesis_app" { + name = var.db_user + instance = google_sql_database_instance.genesis.name + password = random_password.db_password.result +} diff --git a/terraform/iam.tf b/terraform/iam.tf new file mode 100644 index 0000000..7331a54 --- /dev/null +++ b/terraform/iam.tf @@ -0,0 +1,63 @@ +resource "google_service_account" "cloud_run" { + account_id = "genesis-cloud-run" + display_name = "Genesis Cloud Run Service Account" +} + +resource "google_project_iam_member" "cloud_run_sql" { + project = var.project_id + role = "roles/cloudsql.client" + member = "serviceAccount:${google_service_account.cloud_run.email}" +} + +resource "google_secret_manager_secret_iam_member" "database_url" { + secret_id = google_secret_manager_secret.database_url.id + role = "roles/secretmanager.secretAccessor" + member = "serviceAccount:${google_service_account.cloud_run.email}" +} + +resource "google_secret_manager_secret_iam_member" "openai_key" { + secret_id = google_secret_manager_secret.openai_api_key.id + role = "roles/secretmanager.secretAccessor" + member = "serviceAccount:${google_service_account.cloud_run.email}" +} + +resource "google_secret_manager_secret_iam_member" "anthropic_key" { + secret_id = google_secret_manager_secret.anthropic_api_key.id + role = "roles/secretmanager.secretAccessor" + member = "serviceAccount:${google_service_account.cloud_run.email}" +} + +resource "google_service_account" "github_actions" { + account_id = "genesis-github-actions" + display_name = "Genesis GitHub Actions CI/CD" +} + +resource "google_project_iam_member" "github_actions_ar" { + project = var.project_id + role = "roles/artifactregistry.writer" + member = "serviceAccount:${google_service_account.github_actions.email}" +} + +resource "google_project_iam_member" "github_actions_run" { + project = var.project_id + role = "roles/run.admin" + member = "serviceAccount:${google_service_account.github_actions.email}" +} + +resource "google_project_iam_member" "github_actions_sa_user" { + project = var.project_id + role = "roles/iam.serviceAccountUser" + member = "serviceAccount:${google_service_account.github_actions.email}" +} + +resource "google_project_iam_member" "github_actions_sql" { + project = var.project_id + role = "roles/cloudsql.client" + member = "serviceAccount:${google_service_account.github_actions.email}" +} + +resource "google_secret_manager_secret_iam_member" "github_actions_db_url" { + secret_id = google_secret_manager_secret.database_url.id + role = "roles/secretmanager.secretAccessor" + member = "serviceAccount:${google_service_account.github_actions.email}" +} diff --git a/terraform/main.tf b/terraform/main.tf new file mode 100644 index 0000000..8f77402 --- /dev/null +++ b/terraform/main.tf @@ -0,0 +1,24 @@ +terraform { + required_version = ">= 1.5" + + required_providers { + google = { + source = "hashicorp/google" + version = "~> 5.0" + } + random = { + source = "hashicorp/random" + version = "~> 3.0" + } + } + + backend "gcs" { + bucket = "genesis-tf-state-visdet-482415" + prefix = "terraform/state" + } +} + +provider "google" { + project = var.project_id + region = var.region +} diff --git a/terraform/networking.tf b/terraform/networking.tf new file mode 100644 index 0000000..39942d2 --- /dev/null +++ b/terraform/networking.tf @@ -0,0 +1,40 @@ +resource "google_compute_network" "genesis" { + name = "genesis-vpc" + auto_create_subnetworks = false + + depends_on = [google_project_service.apis["compute.googleapis.com"]] +} + +resource "google_compute_subnetwork" "genesis" { + name = "genesis-subnet" + ip_cidr_range = "10.0.0.0/24" + region = var.region + network = google_compute_network.genesis.id +} + +resource "google_compute_global_address" "private_ip" { + name = "genesis-db-private-ip" + purpose = "VPC_PEERING" + address_type = "INTERNAL" + prefix_length = 16 + network = google_compute_network.genesis.id +} + +resource "google_service_networking_connection" "private_vpc" { + network = google_compute_network.genesis.id + service = "servicenetworking.googleapis.com" + reserved_peering_ranges = [google_compute_global_address.private_ip.name] + + depends_on = [google_project_service.apis["servicenetworking.googleapis.com"]] +} + +resource "google_vpc_access_connector" "genesis" { + name = "genesis-connector" + region = var.region + network = google_compute_network.genesis.name + ip_cidr_range = "10.8.0.0/28" + min_instances = 2 + max_instances = 3 + + depends_on = [google_project_service.apis["vpcaccess.googleapis.com"]] +} diff --git a/terraform/outputs.tf b/terraform/outputs.tf new file mode 100644 index 0000000..afc297c --- /dev/null +++ b/terraform/outputs.tf @@ -0,0 +1,47 @@ +output "cloud_run_url" { + description = "Genesis backend URL" + value = google_cloud_run_v2_service.genesis.uri +} + +output "frontend_url" { + description = "Genesis frontend URL" + value = google_cloud_run_v2_service.genesis_frontend.uri +} + +output "artifact_registry" { + description = "Docker registry URL" + value = "${var.region}-docker.pkg.dev/${var.project_id}/${google_artifact_registry_repository.genesis.repository_id}" +} + +output "cloud_sql_instance" { + description = "Cloud SQL instance connection name" + value = google_sql_database_instance.genesis.connection_name +} + +output "cloud_sql_private_ip" { + description = "Cloud SQL private IP" + value = google_sql_database_instance.genesis.private_ip_address + sensitive = true +} + +output "db_password" { + description = "Database password for genesis_app user" + value = random_password.db_password.result + sensitive = true +} + +output "database_url" { + description = "Full Postgres connection string (via private IP)" + value = "postgresql://${var.db_user}:${random_password.db_password.result}@${google_sql_database_instance.genesis.private_ip_address}:5432/${var.db_name}" + sensitive = true +} + +output "cloud_run_service_account" { + description = "Cloud Run service account email" + value = google_service_account.cloud_run.email +} + +output "github_actions_service_account" { + description = "GitHub Actions service account email" + value = google_service_account.github_actions.email +} diff --git a/terraform/secrets.tf b/terraform/secrets.tf new file mode 100644 index 0000000..1d67bc9 --- /dev/null +++ b/terraform/secrets.tf @@ -0,0 +1,56 @@ +resource "google_secret_manager_secret" "database_url" { + secret_id = "genesis-database-url" + + replication { + auto {} + } + + depends_on = [google_project_service.apis["secretmanager.googleapis.com"]] +} + +resource "google_secret_manager_secret_version" "database_url" { + secret = google_secret_manager_secret.database_url.id + secret_data = "postgresql://${google_sql_user.genesis_app.name}:${random_password.db_password.result}@${google_sql_database_instance.genesis.private_ip_address}:5432/${google_sql_database.genesis.name}" +} + +resource "google_secret_manager_secret" "openai_api_key" { + secret_id = "genesis-openai-api-key" + + replication { + auto {} + } + + lifecycle { + ignore_changes = [labels] + } +} + +resource "google_secret_manager_secret_version" "openai_api_key" { + secret = google_secret_manager_secret.openai_api_key.id + secret_data = var.openai_api_key + + lifecycle { + ignore_changes = [secret_data] + } +} + +resource "google_secret_manager_secret" "anthropic_api_key" { + secret_id = "genesis-anthropic-api-key" + + replication { + auto {} + } + + lifecycle { + ignore_changes = [labels] + } +} + +resource "google_secret_manager_secret_version" "anthropic_api_key" { + secret = google_secret_manager_secret.anthropic_api_key.id + secret_data = var.anthropic_api_key + + lifecycle { + ignore_changes = [secret_data] + } +} diff --git a/terraform/variables.tf b/terraform/variables.tf new file mode 100644 index 0000000..c43a23e --- /dev/null +++ b/terraform/variables.tf @@ -0,0 +1,73 @@ +variable "project_id" { + description = "GCP project ID" + type = string + default = "visdet-482415" +} + +variable "region" { + description = "GCP region for all resources" + type = string + default = "europe-west2" +} + +variable "environment" { + description = "Deployment environment (dev, staging, prod)" + type = string + default = "dev" +} + +variable "db_tier" { + description = "Cloud SQL machine tier" + type = string + default = "db-f1-micro" +} + +variable "db_name" { + description = "PostgreSQL database name" + type = string + default = "genesis" +} + +variable "db_user" { + description = "PostgreSQL application user" + type = string + default = "genesis_app" +} + +variable "cloud_run_image" { + description = "Container image for backend Cloud Run (set by CI/CD; uses placeholder for initial bootstrap)" + type = string + default = "us-docker.pkg.dev/cloudrun/container/hello" +} + +variable "frontend_image" { + description = "Container image for frontend Cloud Run (set by CI/CD; uses placeholder for initial bootstrap)" + type = string + default = "us-docker.pkg.dev/cloudrun/container/hello" +} + +variable "cloud_run_min_instances" { + description = "Minimum Cloud Run instances" + type = number + default = 0 +} + +variable "cloud_run_max_instances" { + description = "Maximum Cloud Run instances" + type = number + default = 3 +} + +variable "openai_api_key" { + description = "OpenAI API key (initial seed; update via gcloud secrets)" + type = string + sensitive = true + default = "PLACEHOLDER_REPLACE_ME" +} + +variable "anthropic_api_key" { + description = "Anthropic API key (initial seed; update via gcloud secrets)" + type = string + sensitive = true + default = "PLACEHOLDER_REPLACE_ME" +} From c1e1bcdcec0761632e1f4ca09abc9604bea02cf1 Mon Sep 17 00:00:00 2001 From: George Pearse Date: Sun, 29 Mar 2026 20:04:26 +0000 Subject: [PATCH 2/3] fix(ci): ignore pg_dump version headers in DDL sync check Also add .factory/settings.json for Factory plugins config. Co-Authored-By: Claude Opus 4.5 --- .factory/settings.json | 5 +++++ .github/workflows/ci.yml | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .factory/settings.json diff --git a/.factory/settings.json b/.factory/settings.json new file mode 100644 index 0000000..565f14a --- /dev/null +++ b/.factory/settings.json @@ -0,0 +1,5 @@ +{ + "enabledPlugins": { + "core@factory-plugins": true + } +} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 89d06ef..59fe074 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,13 +88,18 @@ jobs: - name: Verify full_ddl.sql is in sync run: | + # Normalize function: strip version comments and other pg_dump metadata + normalize() { + sed '/^-- Dumped from database version/d; /^-- Dumped by pg_dump version/d; /^\\restrict/d; /^\\unrestrict/d; /^SELECT pg_catalog/d; /^SET default_table_access_method/d' "$1" + } PGPASSWORD=genesis_test pg_dump \ -h localhost -p 5432 -U genesis -d genesis_test \ --schema-only --no-owner --no-privileges \ --exclude-table='databasechangelog*' \ - | sed '/^\\restrict/d; /^\\unrestrict/d; /^SELECT pg_catalog/d; /^SET default_table_access_method/d' \ > /tmp/full_ddl_generated.sql - diff -u migrations/full_ddl.sql /tmp/full_ddl_generated.sql || \ + normalize migrations/full_ddl.sql > /tmp/full_ddl_repo.sql + normalize /tmp/full_ddl_generated.sql > /tmp/full_ddl_ci.sql + diff -u /tmp/full_ddl_repo.sql /tmp/full_ddl_ci.sql || \ (echo "ERROR: migrations/full_ddl.sql is out of sync. Run scripts/export_ddl.sh and commit the result." && exit 1) terraform-plan: From c309c5837eb2ff6eade1e54cee241ffae99ab61f Mon Sep 17 00:00:00 2001 From: George Pearse Date: Sun, 29 Mar 2026 20:05:58 +0000 Subject: [PATCH 3/3] chore: add .gitguardian.yaml to ignore false positives Ignores example env files, Terraform variable interpolations, and test fixtures that use ephemeral local database containers. Co-Authored-By: Claude Opus 4.5 --- .gitguardian.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .gitguardian.yaml diff --git a/.gitguardian.yaml b/.gitguardian.yaml new file mode 100644 index 0000000..02d6988 --- /dev/null +++ b/.gitguardian.yaml @@ -0,0 +1,13 @@ +# GitGuardian configuration +# See: https://docs.gitguardian.com/ggshield-docs/reference/gitguardian-yaml + +paths-ignore: + # Example env file with placeholder values, not real secrets + - ".env.example" + + # Terraform files use variable interpolation, not literal secrets + - "terraform/*.tf" + + # Test fixtures use ephemeral local containers + - "genesis_rust_backend/tests/**" + - "**/tests/**"

!g9M{;wf=S`sTrnsr&V3wRPS=M3&K4!+2&d?GjzV8i@j0cHNRNt;B_%SPWrHvPER0v?WU|gJ}jZ@(YAq*ZCUUS3^#a9EKXhvfRPXMMZ*qQzG zgVu9;6~I#sXs9baT*tRWQ}S@$Lu2@~XPc93VAeo04h-b-)S6yn=7~1Pdw+BBMD)5{ z3r+E@L4)~VzlPAjOY;LY2---Xw-;^k@{ogu{E5Sw)^^DdDu~{agpVop?o@FmTj6E@ zlO0e&AW=0Fh_O5+V1shQ3r1BXbd;Rsp2UEwgn7s&QU$6VG5RV)0=)-)Z1w7(r9&3% zBXk>3qnA*24ECUquvV?t07n}ANlIdJ6b;6qbSz-4#IBEzMVeOAg_cmXrxGY-)<< z4l>r{st%InNL*f*npb#O0r1FtE#e-a>xK=r7&euokuqBt=x300E>s|i(Wyp4R`grd z1!+Hr>LQ|5YfCQ4E-=POVeAo2Lc-NLy*C?M8JZl1h=!9^3!C?>?JN(V239w*LvIU- z7O54llCB}0DFpQWYh;t-ELi1quT9+%U4K^7AHD(w%MEOHzo?Vb=T>z+wF8PjRxe#6 zuRwTy1H1mFr5e)T%QXb*=u)@!u0kPnP$icuKNA=^#@NhRRr2zpbl8#oudphkgCJ2s z&ayosLQ~KY@O%a56+7;Nsy>09Dy@7j=Zg=RucdE9fzAKbGMj!yi`W1awLeYN|Lec` z3om>8^{1czTwFQXZDk=Ba>1>)z3usDo_+Iszje3SUw!D2xj)mHYXnCQaz?mZrNj?} zdo@jM0HDtVWVk03olVs7MjvC)_&$0IXiZ62F!+>W>X@nQ-tJ1Yk1}C_SUpKl5y#im zsm2wsR%HUNa|JXc0GKsv$bVUgkt_y($8Y$S*MI%{@BZxPa*MjS7?FG5Xz1(+!ME-{ zf%&$^^=4!;lF;FYu}3Cr#L;G#b?e4Mx8C^;ANr9Ge$`X&dvI3AkG$ga{Qfp`#6V!L z@{x00r(LJ|rWFw!R*GZ&lq%t9NYW3s-xsJxyH-REb`E({AKu450sv~P){6?4sun6{ zVCuWlEqB5o*%886gu_@)3eF|gwj42RAEB6G*c={x7Yce#s_HRR-jH@9^S0}v4&^2^ zCNkZ=wVsaOSm^W#S0?(2+eYMUZOIqhAH}?Xe&xpP`{(y>zxHV&ZolrebDsMmM?}Ub zt6uXEm;_egVRb>rKjjJ$DjoXA3TBSvU~I5CI)3RBA9(y-U-!8W{@`|=pTG3X=HyCj z2Dt|!m8e|QH@PEhF_*I7WDa+XYm2hz_+RK6k5X2dDNnnaVScHsT!uV78Io)a#he}V ztS9k+ZDRD0dNyl-^AS{ql3^J=Wy#7%iyuAapdHWri$3rr_Ft=_QNRcv2z~gyUa0g9p;24E?L&xL)fatkV73s> zX8(G6M2r8yu!WNJc~Wv@B%mf#c8cl~7m6B!3OZ}F$I5}hSI~g7TOAj!Y_PH1zLo68 z!+-#gPk0C?oF0NyWn_SiC`U#=T_Tv7quiv{c_P+}Mx%#l} z0`5@++zKj5O}88rOy19ZuUCJdp1$VqisLBvjRgyoKT9E?1(K?WUVNmN3`Ku5Fsle; zVVLu+0tGdfsn<%nDJT>O^h%U49k~5;p)(^iX1wtX*V6EVvxpw4!;aJ?C}79K!Cq@|He}s z-MH~erF<1(#E#OtpdqABYVz(-mF!Ss31xEusR+1ux13XEsGhq;L|IBa7&p9I^ho0H z66tXecE6A$re-u~CXDw{wy_}O@PZt>E^GimO;O<5@2tP%yf{C9aQBOkJ@W9!fAF84 z+`5Ik=Xqtb9PV00T59U_R%4MOz>hqDkgEhd+^YkzUt14FMib% z@4I_`e)FMM-#fcMS#r=c8*XmgK=L4fnCOsz^+u&IKS~~!lF_{zM_d|g-sU%T7{1h# zg{S&U^QC1;~Q3k5z5Oj?0w=pmYh*oWLf`*I!=NT#J* zn~8!7gEb{tL#757_9YwX0uSN9!+q%zN0X&S5A9#@BJ~E&y8GbD?Uz-=L$7}8F7joM zzv1-k{Ae7R<$s*6VV<(p&Yznf9&}rQsMaJd6^`#s3kqbl-1!VS- zyX>Os8iKN}NS+e~*T!bfbMSu$iMgy8JcNv5GMi=S$J_Ge*Ey1E+QwHb!H%O&aQ5&28xlJN@fLF4cPj#WPa*tksZ*rCd%3pCGx za$9)Z(K!tifaj@h=eCx6f!e1qhtvc)w9U&=A52;Nl;_y^uE-NS~Y8` zud7#bxY?09TR{IbG5$fjSl>FjV?KhlqTSE&JG5b0M z1ZnP&jR>PRp01K)o#D0>Ln<{OE1*w2ipMG17z$~b{vr{M`^Xy&c(^#Rb|@*Wu>tBcr6ng>VNu1 z2Yj@N#dkq+x~!rnd}%IC9byIAv|1H#lUWC|{>Zcj(=Z|qAA;82goQGYLkE^<8C%7- z+Xc(j6HrT*vyV0gqEDKn3N9qT)X|P=M$&)<^JxX)bb%+ZiVLQ!*%JwbYew{W=lxWL zQM4d>98fNr9I4)t2JGE|Ir?yK*WkS^H6F%~GhG=q0tg$qy5mXv#8-}BW{>=dwH$pz zdC>ekdx#!YNmqAdf(s87lNIlpesAgX@FUFXr&_n zyh-e^bkqqEO+ghM)IGYc6R;h%km%2I*HCxIICrkb>n0Wm1bxmL#xO=o^5kfYI6i&h zm#)Nk=Ud-!|EE5b7YO9s)xePTvH6LM0G8DbF&h9d9Nsokn8FQL#ep2VecXQX9WTCk z_cc#^?MoM@4?p~hxtnbc(6L`JUH?I|4S=v6LAF`Ncd?;f>1&B0Itklu4Rq5wj8xFE z32S*eghZpjSoJfs7M{UCQbOVqYl#4|%6LqL43%D}vEx=UojeWHgBqP|rOsxe5a`ir zcPS92H4#OV!2b;(|_T`bGTpamgtbB-Y>;|mz2PWRJ9g`K(e^s%^Q!tYKQIh zN8fl1w^OeCHKDLU{rrYou8i$-f_y7vTdgD|3 z$M%khRbg-l%=5s|>fm1Dfg4y<>Tfe+Wy&^VKnb9S zZM02A%hCgvh;|lT+VZYHHv2-_;mv+-B53lF#gORbkA;Ri_>-hT!{)G%d)ye-uvL4Rgp zF$VKeKy@~66t6l#9FzvF8-v<#maSd}a4(&`C%P&TC`Kov@IVpx`3li!QdUSu&)#TbxQYR{AJVYOEiW1tnC&in*5C7)^6i$ue*Ng-I1!BY|b8u*n#wD+^_CvL<92($j7Z}8|wM!%xRn=ZC%{q%h>mn0q z5Bo|iWPvqlzC=q^>Z$2UV1p<rw3x9fWn>=o7@CX&ri2;^7sGWe`B6LgA2xH zR90rWtt5GNetPTir@r{1Prl~uzv2Pv>W#;u_M5TU@AoM?3uaWJbQFhUH9X4z?&nminyx>PI;uz%tb5-LvR$`#2Gg1hFlcQ$bEF-#FxIFpjZLlH#$Zuv zqpVfmu{kTYL6D;~eme*D_y6@j_G8^Q%5W^!zGW35m@#jMrEV! zvZk0tU`qHN(!aK2Y>0dJpTG6goA18#;IY>{wa@L1TdyE1qB4hcq0|b?9uKG3Th6{4JoS+ z)MuGpEDwiAK#qmXLAi$ot>%7`+sx;F{72vP_NPAip?{WV7Z2`!`O4ANYIhVEiA2re z7_JPuL|YD8XUdvlSPZO_d%|}u{3jt+b8r;9 zdV9&57t#F2=|xw5NO4>Qje5Hzt5`Lu7gMt+Ln%Pz6EhTq<~%xANVr09Nel!cGIOY? zD^60J-brRvG@6dcC}I-!_c|2}G^E3X7%;uw1P}w2`Z!WTTX~_iwxb{P;GZVVjCpAM ztcbwSUwT=&+Re(%V{CmJ_OXXv@I|opw?N0<{yk6 zwW#o~WZ_X;iehLE<+}oFEq7W6R(=jW91_jdp>qJzUPJm9I&l&0aMD_jOqKZoMpOk> zS3mTlrDq=c74JDEi>QuTSU^~*&c-xBc@nMm8H&qhaIn&t{jAp+ExReHtP+i$znip* zytEk)W%BZD22XpKQ&WsdWQ zCq~zuI;2GaHCav7`ynZ60Xh5&Tw6m*N4W5&P~r3xupLv`gPwz)5z&)X`^k4CH5^jj z=g?jwb(UH)eAtzxMU%$EEzpN^gCJ#34JR3yWAruYd>kr=gj*hjFv5d)4oyuWLV8@% znnGviMpEt7L97$G%*SB;Ku@tayU@mfC|QTJ)z9OZoayb(5lCcY6l-K;`lOGDLFBZM z={H@*M_Svh==V{5VHW|C>h4xvaSCx^-EpK-oTiEelUi6y#qeBGAK2>mW+tSmTlz9} zQFelDt2>q=AI`Dzp4s081}h^5YqwLk;r;tx`sMF^&)5B`Z#n&iUpQxEjEo$~%0eZX zle?R5dHT7}eg3Pz_Se*`@z5*IPw!tlKAClK5d1ANN+6BaaxAI(ZCSXHyr4J+)||!6 z99B&_Pc%>oZ3wN@2B!@ty&us4Rdq(c`z4j}@bjxKe$YTw#sZNpnniN~_y#J9bM9ko zPS4M_2xlN2~wrU1)`tI(oWcli0nD^oJqUFpe98gdWJ*ahuqbUQ4z6^oUtpO zUAb}NVjdqq^3>_++3h#JX}7zRW5`AxnKc!-5NwPWJ=4xfyLCXeQUMUyI|5e?6!*w+ ze6oG+qaS3`^fO@C(>TppEjl>sP6&#P$k@Huiix4RY!qhOd6NdMGKcix7p6EmoOac? zOvfxSOv8(4ST+1f=%mn$MAL|D3zf(z%Gu42Jl zT26JBoZD@ZK3F$He3UZpi(u(vO4_tiUm$$YHd@7~YRE>tZbSWuuu;ti2U-&}dM6m7 z4D|C+2w_R}HYSuH?~SyQTEA=hjTc+dPWrI$Fy!cm#Hg@u+W{C+I*LO55R>FgcyQ?A zTuQ&I)k-xV_RV)L=n^R=Vf@PG9GR*;x($YhN_(iAuB6czQg)l>Au`GEe%qh*UjEPo3Bh0!d$;y%grbt;x*>Y9;>y#_m%}H(6a?o*) zU^+3F-m;}Z(G@Nr+3I9$GK%5hMb-;_LWoCpM6<_k)t9fC-I)Wwo6a%1V_J|4#YwK< z)+HwBuuEz(i4WVcrzsk&X)}_uIyX%p_swqb3?S9$)3qzoZTXhvRz=niAgY+0z{ngs z5*PpcZ~u3gr*(0W^oku7L$f&dF=PM8Ti@~gPk;Iq-|!t1arNOx@1LI`HiaNk@*6SL zQ!?Egr%PvFVwv@c1zEUQC7dqJ$nfO8dO3YzY! z2V|8Oy|(?xDpo18#fJscj6SvWI*|0At0u06x_p(Fk|PwO#5akEVKFXB4IFGx=8~Xx zLv)-AldXdJi-)xkE7$ZISck?- zWASbuW9);79OL4_`PGw`-P?_qz3%CY{qFW#o;*ivDuc!3D1wnb`ZO&Nw`ipICi$s4 z0|zmJj6`s-z?hrNJx1i%TzTPBAAid`pZ?&#`bUGOckVxbyxA71P3K7yYe}19v$MSM zu3)zITSI@^Q$co|@2zQUDOIYcEMVa-VjcV4+pM8=mlO_6U$T#xgo}cPp^@pJs`dk& zH53u6rf1}4C|YiD)r)QZn2{*@gqadvGD33M$3{SjXnGz8Yb%Y+l(Z|sD9tq(g~~)# zu&~$c^4=cV8H9#X4zi4|*ij8`*D>&Z9hPCdV6{$Kxzv^oEc!(^+I9g7aWJF$i?INM zkck{f!g$KI4hh;Semd%4_6kD7ybc|)h+_~Va?T=b&qhWP$uT6=RVxKce3fG?ZFaB( z6rGJ=n$h4@v@gX){ntHhNSoOeb0f;d>_IZ8H}k48n~EvaIGhQ_s3zFea^bsTc*>*A zU5L|@~^{x7JLPL7GA-RP;#aaj6#^xk|4EpV;N5^Uoz<@?$cg*x} zXdSnv;msS&^cjL6`}}fFX*$bH!*vq6VTrMZl3^5>xekgA#+m>`P|Xv@^G@Zd)ES9P zr0Box!Oq;SsXev=+ZxDo?`gp{vg=Ts6}w z)7vc1c0qJ@g5RX(hsB%kn5+wwm>JTjJA(@)-eo;@g}_xx-gtel7d zP18mvKXYjTL8CIT7IY@X$2y1xJ90}Gs1Ea%fs6|+w;B6)W6SzMJMsX!;irWFbi@Tm z29t%DHMxj{8hD!?M>LvgdA3JN#?tA!$vQ&qsDiu(H!@@u!maFj9mo+FNY0Af*6E#l z*H2FV(?9-)FMjevyWKuB_ryN5PYNT(j`ts&-g@e7&wlc!pMKA;ntA2Q)f*X`U?ppl z5$#>3n27{tx^zJxYL)!GCKL~yib_Y?^qE(Z2Q;+8Th*&q2w$W3)ve@Ypxa|;yy66E zFHfD5G($+PV6az*MX2vrSfOJz9k0fwxQTPjU-#a3fAeqnu9rUd3wuRpPy+{T z%#=A21TYf8N-9o@mv@5@8#|N%SR|Oa3Esarec7AecJJ=l!>@l=B(C0g;QfF%Yh%JKA zmK&Ol`)om99oIK`s+i$Wa~6o?JM5!-aF5H`PN&XuJiqGm{6~$8>{FW5 zNT)-T_w*iXHoaZs$ro$I;z7EWN?&`heI9CqPM}3ClL#iI4ah>EHL6CA z{+DV@id+tAl%`W@0n6&O;18^Qn77Esun0^W0M=I5j#ku=JT6PUwr4X}b1#Kok}PdB zq3w#HbzTvPAv=#_I!yDM8Rzaz&B?YgM7heP=ilZwZ|mlIVLEr2hj?+9 z5$ob>JlqX3%33rDou^D>x2OwkqvmuD4KJ-lBeea4JrhRZrQOF27iz=Bf&}CcZMV4B z#xmPSra7uA1P1-7quT(+($ysaq&>yX0j?nEfBK1`f*Eb|Ha$^CaAy#Oi%3&pMceLX zMaK)+-(WVB1L3r1NO)^>(+FU!+Fm~ zeR+_Aa!-~2;h~CVTfP1x-PIj}#CBR99-*YQ>e^*jmpn00yA=!7hJi#Fn*y>LN%{!_ zbI%|+88IV{H=H%^{)IpE2j2Mg-+cP>zm&(h#T>aMh&jQUK#ttkgGb-|^iO~Cr(XZw zZ?2>3$JcM{gUsYy8eel0$2U6E3N6m55^b3?^`Si-p&Gh2=RwcwFn6#ZYYGo{TPQM( zh-TLToeylCNo@ogv60HD*={~`)Ct&{MwqK%^M<4sT8{nD3T|Ma(< z=ariezkJt)xflb9%IW+S5uM{5+f4_vDH!Z}B#4-vpr|#RPTf{+-7zfG7fl7=Mi$2u z0Uu2kOX#=)AIGMD3?skHsOa*SeuD>??Hym<^9{%mNDPhi09$^_#*>MNibM>0pTc24 zz}sC!(eTk~yix|6*!Sj!-vdCMlBz013Ew7S5J>QRw;ShYn_I8m^W?@W9>4$6-P`Yc zXPuwVU{p1>l%>Fn`I0vaO{;olpy*ZDR9}#pB(d34P0Wa~{ql!??8$e$<6}Sk&p02P z-u?3SjNJIlNEw*epXRXNcO@M{7<{E3^k}ipoSY4`x*DUXt9&9i>sTu`GMpTt zRl!zE!YDQjYoelq|{4G_u^Um1Opm`!G)Jl)rE1HVt)mtyhcL9DWZBZd0|Cdn(jFeFVw37iRyg4uoPNGhc72P)*!m2A3q-q` zVL+lOkotWwFjHE+7Da3w?I`1(-9=n%+tjxt?YSpj`$3yVjW=WT{3lG$@dc|2YO5<# zX7mPC5Eg~fMEa&&Agb60Xc*Sh(k;ns(?U3_5joqS+oN@8{DI~_DqK;jJ}xbJG=`+) zWB@!oK`fRTU?$|?=;7OaJ8M7{I#B4ajRr~`gF!!Qb=B#k*}vDOH4)N7Kxrh)1To#x z!=8xb$tM~?;=tk18|%Y08z4nOV&O!jAt6Xi9JCzse-UOvKFA0}juA03lEFji1aN0= zFbAwe^n|=dN5W6CT5w%FKrh%(JF&0MFL72)8)wO2+58&{5vw0hdDDgiEqp~30WXB6 z`86nP{A+Q?qA(3av^t`j%mO;Xl07BBE?Y2SgbtM@*NzTE&peYm?Qo#tVbOVEhC5dg zE0&|xsf=9nY}^B`z1ryyV!$0wgzn|Zm1`-17&6TcBV}oAezjaxL$$U6?b$US@NV#z zDuZX((;1b$GWBkn$d+1~Jxl;ILSzl8F4Uk-yx(zR@bu0L+@JlqKmDKJ?iY4ogG`Ivh?!0z_b@A|^WKlX-qf7>p%SB`J)V^(5KiAecSIb|+1?ox?F{*Vy1 zU}IBNBoxT2v!WJHR55H&u0#B{hUZ&0DYb`pIZhj{N>PR=u7i?rQ_rXBxd7=r<+(9> zS^=mKnxJ0OoSWn0`_FxO6ZPl*_;=4|e)jH*zbO5{(^a@~vfEZ@TIbB%J!6V=wMseK zXh32QZnp!N=jXTI@y?(7*`IyQ>)&-hj<4T(m>2tq8MQCO&`IvG@FZYC1~3AgOYcf! zdWdu^EWc2Pj+YG3XRe1L=&E*xLC<=uhY2DPQQAM#6$T$)6$6E=sDlqyMpcOtLEHBn zBE3EpM=Hwf223@jMPDhjW&AXOWpx!SCVKJ}f#rS@8D>yqrIkEl-JgS$s1Id(B4+^sy%(HAVJX12l~uU$GS~;92Rj?IfUSk5m>+7Yi-^ZN+bcE9L1zGiCF2p-O98V2@I-*4o&}!X9nM0IhjFsis0kAb`h7_%n5- zwrHgMPK+ve#H7-^ygEa6E6=tl*N5%&?Z$C-{D{LmF?V9R046M;OX=uAupB~1TJCCw z;M?pe8HhHpL`Ib%u>V%k1|`mw&~+jZwFaNl298%(JT31OppJ|J*CcCG| zu$Z!RpwTB0QR>w&^ zg?;o9&#jh;@rjqf0%teMxF&K?--4a3L6ql0^vE+u4-90FkfvWR*{4qUKUz7L8OM)W}rWFW!B^&EA1P6*hE9h_`6;ZC%!&Q{<>0W9j zU%|t?-d+$~WK zV_^wDBL{sgYDnqqBOb7vWeXMr8ryZ>xt5KHrm_Mf*80zd^TnD9>M^kRC>4NUwrJp& zOF*YZDCY)MCPeE^EeHf!0v5X#po-R4(~_Q#w?__VvqSWV$cW)3L)Quwa-o45dLb;0 zZ$@V^%|oS(Lj*ZHV6w|W!59jQq645a85TqqA0sq?-()lpWSLA<`RFs*sU$pwj+KTR zh~j{U+`DHt*7V#mD#?XNWa=Qx%uO#HxNPG@#9ShM!e|^wI96 z)zU?+I2?B3b{`meM)Xitod+JSLB<%7>FZh(y&a{qS2BP;3MF99-VdS+d#&@7uUsrh zHOHb%$3)GTb(E}qZMMhc`EUN^-}JZs<@eqD#1C#aSGI_Yi@DSu(I zqp?n7(CC3e>qdmjn(#L_@>X|q;Y zw9Ff;fq~U+sB~dyMX#&N@GTas?_ES~ZVMFbj}$2-38uVp;m99h2LdbTmFqpGcV5Oym^(Cb+n_?wCe8oYjPS(y~n&=YD%qrv#Hy?c^7~4l*cV6|_ zTOU6=JB=90*fBL;bd^iOW!pwEk_wW#I#nfIaq&@VA-Mu$R^*MbeePpF{xwg$@h5-q zAA{!)?mv5Sa-93xPjaJ%Y7wbEe~9kg0xFaOd;Y5vE-X_9VvX%y3)_;2(_aKJ|9@Ql zd9>~6Q5^{Gi0_woEi{V5}BF@QWBDo5Evu7v0a#6#sxO3jYqJ%s=LZv9#-4s zKU`HV+wERmYq`r+?V(mR)gG_`8;lHCUS%W{$ua>&ZPv1 z%=hj+=lA=Dh#fn2MEEcn1M8|l&o0v*n4 z_kn;L;-%UZmFhi53`9o>nJ#J|)15K;pS$Qs6VS|L%W$yE`|8k*!7OFl_^RruA_v@5 zo^ua&_#$Qs+K2-dw?zqGNd+Ga+ZR1~U$tsmC|^d&;j^N7&FJD>^W01+Oo6q(sG!F1|YAV(IZ z5Xr%&sUl?G!#*@q$YNzavQKuA5hZ`_8ybnlw`KNx4)JGM?qdtHK3YYS?WAZaGZ}yh z%XGLyl#G&tOm|LOfOX|ny@dUg@H_-GCDC$?-Wj5Uebbuqy@$ z5qlm+?Y;(Xuc|uhNt6e?xhGSEYwKOL3MF;SAFfm-&xe5&(pE~y_tP&NYjwcXTpOP( zL3DwCzgMjCGnheyMIut;N2nCHsS3qcfHL6d!h*F9@(Lh{962I`bEe={0>Egytc$KI z)K3xv*yP9@0x?}y+C$4Tff89EsfB2LQ7fWR3?INI6cuO|Xz9+@+gm3l$yu9s;ulrrw`4bEFG_>L1CVddaA^rX`_-21Q`|S4jyycD0diiUg`oeE-E}U$Jlb{TNB%U0dBqR6=cn2D^@>({^c zkN>eZyycsp{PZuz*i2$HzP2$|Ltc|R+Gj(wIQ00tUM}=h5*t z(7K91${%9s8dD)&FhVV7P$~kTba%bfDFJR|_t=S!iUPC@pbtp7<#9w|R*VghiYruE zVY~`)GCp4A7$#iI;CqNfhZAbFIv)||)BdJ$@S z&%-add3Gx!sJWODQ(7i1(?97h0rnF*MAN+m0&TKAUq)zxoROD~FMRQ%@B2M3deLV- z^0V0Ay7|l#o7m_wWfFx#s%Td85Dj|{r}|t2Dg?Sl%PfXdPjQ~rTL~UJaj0z8cCtxE zyJY3dRY2UG1VgAgh#5ZjI*>A)wMaP8nXTO*8iPO~gkvKuvX)eT3Q01*%z20BEd3d1qE40p@ek($Ml zj8Ks{zzNss!)DnWcE`F#LKSRxoy>%J)L}OZS*{drY(}uG;zti(lueYWRA~>-<(Msd zBy!CVQ$V56N-w7c62!|K(FCm#1s8W)D$3U3ZmxN?&eFO{=jNy=)|qSH6;@yuy2}z2 zpC~X0pxnKv*8^ecs$Rx{h^BlRv_??69~buO1cg0ktL_64l?v#q1Hnv_VQpY&Mz;uR zDxHh`xH3JyzU3=kWKGn}2y??`o`lCb43LeXd6=LM!VHLGRcjfoWoxO~(v*f#E!1rp zhkkalY8F}u#lwp@t1PjxN}Pg-nrimispjqm#27YeENCEsVm)uO!-4M7712d8u}m$i zT=z(49u|Uye_F|Rg)0nGKdcb(ml#y1?XLjp*&=yd>U8O0V zhyt0V(cEFrN&$7bu+ac{0{oD{fD+stxm zP@#`kREwF7h=U#+5NNv`gk@s}0*P5Dr+chvf^biB$$=&BK~#=S^vo7H)hnkJVgQldU3mIWeOh|Lbh;rMlZ1lA-$K+*)`!W63{8G0g7NMuzI85y}5!O7h- z5xc+lxBe2J`r@50-q>S5!4ca%RWgzT1DxZmZpQB3SG?rOPkjE~hu=IlyQ2%2x0@5j zh{2kwPhU?~MY?beYUN#}ST%vsScpEcj-xeUSNLDvYeGIrSp!?;UJ!atg`hJ`Uet=d zn!7d*)XGA~Mp~(8kluBUO-54^SgE24@k$39mnDa;f>3<(5n>$~5a&zH=MnzFA z;Z)viTtP?UE_!JCMX`({Nb?ztD2ys@fDJNGn>@Yvz`ffSKKga9e&Yu|@}bLj-+QOV zu3#u%!AaJPoCVv5wsu&XfGTAjV|Hy`0}dHIDe>$s0Oa9(Hgm40oL=c-5}Z1zqcAN^ zoho`js6M!>RlV>icWq!!V)-Tp#k&U*Bj+So3LuPdt5#1n*lbNpzl9#!Xv-ifD+pLk zw4T5`PFbacK6L=Arb@>)sGQuy*b`UodEklLPh7tEf;!8qk34*PcY92Ah9X(vHYgB{ zv{y3~HPUEcO}cx9ZBa~YvOQ1~GJ#W$qdfWI```D{H@@zdAN!fu-+t!iKXeLHBWJ{!}$@GS@a`+VS8=l z%Am+eAm}nCxls5y8#AD34yue646D5~d$Pkun{udIX|$lI>8fz_BOB*z%+S@QbJ=n+ zXuD?ZEhDJIF1#1^ECO#@ldx|W`bk75kg&)K>a-U7rZ)lOcG|L5$J>+J&ph)zf8_u8 z5C8sufBm;UHEG~Hw_uy;(P;5@d_CnN-6=NF-41`XY z&Mzb&SVNvf+A0}hm1zgJs3!dN6U`nBxz2MHCmDU|8ea4j^mR|NI@@nLKb%NP3sN13 zsA&QZ*2wnR491F$Dfo*(?B{lDck}6cAA0V)-uZ7%f9qGUzkRxyamLK5DUn7lr<;IO zZlvN%gI+dCp|@~POWhfvdtgNFc4x=;Uc2~`*SzjE-}uw-e*az99@wAW7Q84_4l&s_ zn}FqLZOt6ta`nKDL$f?bOEOIs0l+MW!zY_Lg|0M8lR0+itQ-nh6BXw^rn(Mf?Gg}y zA>MKeSS>|3n_^wPuz z8QcZyXv{jhbm{UlH%=eA`|Ei19I*d;Pt$P9Qf$)xe<3O6916HG`FiL~RsQrk7prE<2=_pRtP~ zhwX;-5rVV^k*(~{V8^zHmaD8oYRAW3a-EWJ&0NFAp z;{lV`9jb%T`T1!8XD^+$k9}!V!H!=U_h-T(o~t8bZW~BC)P7?DAxNVvbM`ij_HsVx|bc z#{q3P6~)F?an2yQwE*tf2FJn!kapJTF{2y_j_K%(N}BF%7-e{`7P= zcX!UN|H(i7pI*EFf$P8i+0D^~oO>PdQ2$8r<&Cogg6RbO}3KY>3~{77&TS-pjCIR1I_ZDnXc|3(d~?Tsvsw!VkKs zX0=q`D6X^Tc^h@G=m{|$7HILM6K{?g%)l@&kg?&Y)7_oxUwZ9}A9>STfB(}T{^*4q z^LXq_GQ45fp?v_|51tO<7!KzH4v-9W8W05FlOzG*ozuL0<-+fI<+pz0x4iw`@49yH zR|Uo<0>N3pOw3|UTLSq&qdzi&o?X!h0DYdFd-G|p!*0lK_jUA~(=uF(6>(YAkv@oa zbkVFMby8{DSEwk9MxbcS!fo#Lz^xSCTd_Z6zn{5VkLIV*El*mxUnA6&ZU47eh0vvNkhhpZ9vdy3a zH3*!T6dOkW>%SuUOf5ehQcF8LY+fEz(SK8R(Z_hv?5JkW$(rFM3p;|Jb3wuCGYu(z$WJL~_ZlIOQIxuO@HEgDQbAd3=Ez=wa`9oBU zzR2N>pJNzmjAj|r=SrV&_UUB1jYbje27)+Ok=*955th@-8Ql^=HS)+F_`8fwL}y75 z=e)5!aS!Xlx;R)FbRey7HetCLWOqcaMo&FjA&5?c;Px5zq*%L-7f?TxZ`7 z>5QdY#^f?usVuUU#%#7POs;z~4}5frfym5Z+-p3?9=gjunKA?#WsBBGhVn%ApNq$E zTq1#nd&iVJH~p?ezON>@&P5+LELJORp_VJw324EW16Whoic|Vjc039oDrOKP04u9) zq+lZsxYkDRWsCu!Vpc~~O%ZVtaB8Q&Qa4-yh+l}^F@b?KqCC1MmO-Q5yJkgn76>uh z_hvw%h**`xI!Ns(dXA_O@38&|DskDe9|b+C3cd z`DT`db*;5*o@7D)#b`+7u0tY*wF#pzVCzO$U9Z`HD z=;Y4rXD*D*=YHie9L4o7KF;kCtJ%HakZv-8;7N@A%^P>W{NLi#0^H6x5RzPI}zHoBP&T*M#)6pEmOBrhsxuOH} zEd6h7Jq|pV&v8I4M9g{wr0UR~iYxKcX%1(QgLvnU{lK?>&v!rh8=t#!`N}p)H;|(V zDg=;jo|W=S)<pmcYP?v&~%jOf807T^_{ z0E4*$uF^jDiKr<_h-u3sTrES8(L4lD2u%uyn{aW~=!yoTF zpf8u_pO|9~63G3HTURgNcYBVzp7W~xZh!TqFXx@xV;_Nv5h#(M=GH1CRUZrQG#ZLU zF-WOD5jly>84f zJ zOs<5p1#L9=c$aC%NjYu9xGuo{sC z+K=hI#KRvhGF*nEQ!KyK)lhyQ#}U~vwz;gPA4Hsr8R)~5L#2}F+S~|RW50isPCj#7 zh_%Z_{9hhy(||WR!{F25$LUL<|C@lzM$nPDIVdGL8oIJ22Gu9bpjE=k#hb+1kH)or zayO824AG7dUG8V`O=4v4cbT@AvFp0-B82kd{h?-XyW|3B{!} zG4GTF(s?d4*B6E>oy|i)WPULAEp1e+l`fNp+8%M0(KdKs$K8st>`g_S>9^&-A@i)@ zG`z}(WtYLp7z5D}%7T4%iwMF)N`p&8Vq>MOi?=4E0dkx}Ad%UrG%3MlF|7iczH73T znOdgIOhxd%7}24RYOrMYEVb3+Tg627KxOS;0B)rm{((X|j6tl%z_LbB9XpCUC2RR@ zooKXvxDBImu#TVr07GJ3TiZ^;QQe#E{k6j~nA*|W)4B6i{N56ZqKRjg_CdEZ)~%IQ z(st)c%6UQhQZHAju~;y5FYpn@fN^N{xo*3gPqVn%Xhb)D8uDW@vSp)az>P)ld&T@p z4)SFJAqeWR)CZ1VCrHEqiB&X&L$8~TQM!Fok3j`m>*2%iLlU5RS$R>-gM_j+KXSi-CW(= z^Xz$gE5{}|nGqxQf#60_AljH0N^SsPh@EAnNOsGM<6OzM6HBOpM%YPbQ07`=`eq|Ks2L8+`J!&-~UG zZgEUZ;c$O31svL8$i21G^7i3|b4kVg>5(<*JGkNH1E(hF?&7lV4^cMy~otJ!h z^yndOx*=T{&BQM5Bx>%j-1n@rectuJ!)No(-OqpF?$)iEy9@?LOq6r%f-y{XQ@{Z2 z@%pjg>Qyash!B|-1nUgIxN`X`?|s(`Ui{(@zx&6?vzxcSc(jR_a~mUaqtmtgW``8| z;)E%_Vn?~!B?FJ9jMP>kdSjPK^B+VwxH3GCRMlWh^o#?{{hQxFJ2&~Tf_k5=xSQ@J z9ae@E5W~MF6+yP#SfIRCv_i+P&45iSYG`^G8?>zz3l|GhiEInAWL4cK4lCd2 z&uEfSTQ$JY1Whnhl*Cw&oAsl1f?K5mj9oDcRL`R@D`Rl(|X99N&$qpRD&x;itIUE97ha4emuUTbF z#$u?!75=k>mSrG)nDzdB*3KoD`zm+$D!cRcvq3l|uHIigWGbAmiM~NlZ%!THLa>KX z!RkJwySBFP_SrYVqVTlX9{?g|t!J<*6)F8!O{m4Es_{$;BoI;6AV&AO8gE4#Q^AGs z(Y#KGj-6_XI#{$KJf)9OM2kc7D_H>PQTmAwU>Q~kEoYz)u zBGS>Qj-?z&5DrP`>BP4Gp;H`yMF5F|$59lLiVi!}m1VG$hR%|O*^%D#B%u9`bf_zz zngL|VYgBbRv}h#P)8|ZCu#YVQIP@p(j1JM(8{T5us9;*h6>!{L0^1H-(#H+Xi`FXI zw1wzkLbHwa{qkmtkl>jIc9P3eDJLM18bww?HBsVM+NU;wC4NPf-E>9*vr`rkW;3$4 zc!e3U!Xl@5gt@yncLk&eG)ttl8ZibV$2R8V>Dhn#fBOsfzWfz8Kl7Q*(Kba69IBHf zvWqctlXHig_q_CFPyf~z9{lQ8CdP%Uckjy_i`~ThB-gfghKYiEsI5Ii+tG+k8xX>`zd`~+x2cfzkA{lx3iNqvk z48~y0O+?+fomWosxi5S5%ir|b&;8ow>OFIhG52uVa2gFbV+d<(L-m2>T+@iIJoGI` zb3Hn!bhUoTn1;{zV*Us>_O4*m@YNZ@raFV!zC#OQ)@msEIhEv7ylk!T zV&!nyO6P0f1I17+ZYzkT9zDkeHOJR}fP`8#lq|kHSlc>OEh(!{(kB zKC+uGUp#)|J@0zy%OCxv$KF}< z&gqROE}vZ6b8>*FoD(K`+lE+}8epl-ki$FJGsyC=@qHM!2vc_dM6ZMla{o?WIh&v? z17tfT-9Ggm>G~qUg2a;atZ0f=)qFm5lzhvh^#`4LY|oeC>jrY@dy~!Yz#dy_X|(nf z%^`QDqgiAfOF67`NpXu7(t(>zdX?QosyVL*EM>qQUW`c_R62F4d&|&x8GwRV(>O>4 z9v&1G-43s<2?5XM0jSLd!J7Kvo7y5#HBl_rxCNsd zj`do}@ED)9+AK`36{5-_?&|kp!BK^z z_o2CRL&)%&v%&&CLBVJMtaS16(q;C!U2xxIw6R4eh3s|>m^F!YD7=quG(y&jthCk# z6p5fJi29v<`_pk63|2rD(j(AeF^xv#AK8#Xy-;+{T$Y!8F&LfLR}HVdOGi*?{7o%o zBoZly5SbXcK&k3MEU6QJ53~3Q<+{ULvhWX^jMn;L_`}q0s4CRN&djmX`|#BmCJAj1 zmURSHXepzdiC~ljA*n+k=3Dtqm0|P-2cQBuLDo5=fDT#v%s{}5=r8sH2Rej^UW3CC zF*n}gXpfs^y8}+u1FQ-c+X8K9^idFhHC>HZt0GMA%c3ELw!tBfX+gnpAf@OOmIiB?Og4$;jfk#B=%dqqLBLr(R|)PZ-pD->LL8xD%q=(A?dN7QZtkvc z=AExR_8;r?ncXut<9O6=LT$nm$~GfoM+7z%^K5_Tffv8xOHVy<|8rheo6DCkKX|q~ z9WiQDFfv8U1prP4!YXgF>84a+oXm}xXV6F@f5QC8vLsy$pN$Q(=;u7kU=ALQB1C;z~={@y?R{eS+;kG=ikI6e)V zcr<%UfCIH4r=Ltmq*E20gtxQ+%7d%%04oxk1cPV$%lBS7{;C%~|M{=^?B~C9eAm6i zhRn!~9@JN+Xd~|+um@qMCA0ze2WpqUq98#Q|GzkReNfD%-5kiUs@}6kbQf~H0~K=B zvbUr)pFsqw(hx1Bt*#)0+)rpgecQHxK+$9?M8r#mBBlr=O0jf=y4_jpDBR-w!xFz) zppsoMH^H;BJ6G=e>O07*_rBoljZD zrHO1rZn$u;RS1{nEt_ul*!EMQqUxGlrMRSnW&TNZUC9p8TXxy8bDBqkBU*Iq9f3$S ziimR-S_;8bTdHn~;v8y&MWdH>vvGJYy)9e%qa{h933n7)P+SzLlf(MqgljU~g-hp5at0Zh zGJ>-CZHsTpNL;vFsF*cDOZYS;J;$$Ol4|E;SA+Ivreay0BubJo22!1ieGJsFgI!bD zK$%t5-uwXe5LB;|NC7+a`2`kbWw)Wby@DB=qYOvKa)mH(aI9cqaKcj6u$33WU$;?m za(#6}t1!eqP-)P)6@ZJyA@{;Y=nnNt>evOMLiW!-C|v$?z<274F68Fp5q{0JAT`-F zx$Jf-p8Wx9N$kR+&$l5d$|ALnG~#>!0Cn$)6@Uvm=x@!YM!>S|UO?@f@LABOv{gEb z4^i-}0!W)~TTf^5kZrze`LW0ldjeQOBFi{bTa+QuZ#XO=yZc?tZWJ3_*?VNOPf*@(yy3;M7(u8yANh*sofYEGaM z0U4ksoOS+2@WjuZ&C{=xhA2*p%R1o1@@XB}vi+8OoS4dTkPvQ|v2KSdoy|bITWPRR z9h)fPoTv;Wb`!hpj%T-?#OC-f{f)nT<5M50$}u+j-f{yGL}CLs7Q<%y%-PL*Ui$K< zZr^y$qu(&c_T;XIPVbz864xcmh0TJ{xwK_6grS3SZk1ihud*l!T~~f>`SJD;da|Kl ziA~&@d_x3_SZ!3Hg8;XF(Jj!%rfW!yWJODu$id;YQ}M0qx_77CZnkH;Gu(XgAO1i8 zo8SMvf9A^{dh7}U8zkT!xX!omU;XUy<@@J6+wV_D9E)S&;ey+hlkB2FUBUq1;mxogCfNNKI#JrT zkTya#ScWR?y&_lqfFI{^4z3+L;ANm9DdB=~=-K`t9p1E*zyhlo3 zQ9FT)aILxmWfuZ8)j$WpZmJ`eJ=(D9DQHY$BNu3J4IpxpYJeC6=w9y!P~gdq#)ot$ zr$Rr(NL5v(`#LDnkc1BIqXOaH>Si^HvK6)khZN_HSkx~x(6Emky9i=+STERL<=|AU zmFcuYV;$A!sng*Qm3)wv`8OLfuseE$@iMaOtt=w6CrWqNQgvSRi3PKIy1Ot_b_T1` zWQAEz`5%wHS1_v1-e{j$&aQjKqvZ_h($O>_g`t(AkS;6eC@QmjYdbScs%N9tglVT{ zJcD*49oma~5t1%+8BsWPZuZR5$)5La<(}PrLnH_udWn7eplmQyINM0b24odp8-Iwt zBLdOM9J;?qadszP0v_t5e&O!)+R>Ai+#Gq!2E$&5ioZIsfpdhU4!z#YY6=8$grT%v z?;QMfPBKHY&wSgW371Bz#`y-9!O$@6E*zykV^I1^Z=^1xLfmR&-FB5JLQNotZ6<^u zEYb8YnBDP>29i--sUOSSFBU=9-{8r>RA8;DCcORnQM%c%Ct=zFhod1F1r~%Ag*(_5 z%DD*<;8eoT%{&Ythq3k8_=yw?%UnU3AeYbD82R!96b`FMJ2Ijs>BCw}3!5vNwM>e( zv%NSBPigf6Df6&i7MW|ig9K~(RoGEnXG;2P(KWjY8vBCSOzXM=q%_Ww1vd%=B3u`# zeN9Ap$WobXQ+<|Dio>;Ni4vm)S<{`|8i%<&EFwC|%o+~aP5(?SG)Jk{uaBmRNT}TBjzCBu0`cwfIi|BS92hBb-b9 zh($^;+(09Op&1=EH)c@Ou7!pdK47-@eo{wJM(z6Ds;abhQZZj00z|L6bc=A6J3&^C z^lj{Hr4D>H2^-N@EL!A^vgWe@=Nf!HPnk1#V&Z$15Y z{@VZbjox^&Fi)!FW&PY zZ=LQ{7i{ea8-fVnMH}A^{>uKZ=30-oYdSimuxEB>3#3AGL2 z07Pa+!~IrxLr#7LAA|yhE|C%(VGdv(`7F_=Jwg`D|bH&*k69&<-p0kk34+m^!C^Ws^`lCZlDV|b*WIcx*EXd zgq$f<=R*7u%#DD`0QWHmj=%W+_kR7iz4e{{=3ne@Uq8F~#2B$JCTC>E$lP|zi3T28 z^#JA}cO)BWY9%tAq|)22StW~t@)eOU$c*6ZoNOro%mJMipAYkIf;*lql{!BxC1pCP zV8hO~HLE}}#>hTf?2MOVvsQW7637raQP9zfyit*?@G&C0RzwGj1(;hhGVm1VzBXhx zSnxwksyUg=K@}--O4hX^vZBD64VTQ1BoHGr#<|=BsZcfyF|}bC2qdX_i%t|Ms*#%+ z5fW2JU^qz~i+GfSFFlO?nqELho>N?xbDYjmBN$75mpRq?C+$0$yKWssFRlg#tN+Xj zsCAv2mLXMDqW}cAp;5$OIxKAndw97xUr`ecNJNN56RrEdT* zGy{#ZNM`g15I`I$11XkKPL1U`hSKm_kz=W1_q%L)hCOVfBMwBi++Mq-Dcnj%+w35b z-5#6m&QPqZPD6##Df0KjFwls}I5$AOi{irUY_#4vET}@roVG&c5Xgr@wR3;UrqF$T zecywy__pUIJ7$<|l2tZTL8|6YS%me}B#XsrRXK?2`Dn(E9Ve}&FTgC_0%19rZe=hnoMS{xcb>E?^K~E;))F za)Q*59F!s&EuRbhU?N>Mj8U9AP$rvgf!#gr;6%`)IZfRc8N;*npj<(=*2uupFlzmX z*~IYL8how{s7k4T*+C2y(D}#ch`8*w5YgR??9Ej@;bbaoqjdS$cpY7M6YYOECED>m zpe?_^XayXNmnD}}Qb0>?r%MJ|H4$XrA2@Lq2rz}G!?jkX*9sD(8J)Q*)6g}hi(oUG z+|zyMx-T9_c~~GM7yRf_EdZz`Gzp(^zu-FAOB%Z37Rz6{7ED4NuCo-0~owdV9~3lqRg?VyZsG6Q3bO<+H!<6vgsBm|>Yot!RO7AALR#}7U`pZ%iOzT!J1R!ktP#=exmINgj(IDYbzkA1`M`=(#`cmH~S`t<9B;CCK;Cq98 zwzK8R?w(SOyFmkx&c?)ol3HkqQoWQuW};J-_f?yQ;GqyFq6KM1NRz;727m1)xze^l zO6ThGK|Mgr{b751AWPZ=XyK+QTgRB;{bd`r=F+l_y1*f0bcw47-u1@nOBK~>5Pxu2 z)Mo2O)LzlpU*QWWyx9&}u@ebS>YOiHDnb=)G1Zz%K_C}O=}I!nAgcnWNKC7KZSH!< zGkpKhh9B+lLUo%R+X?GZk&W%I>zPXAnmXCj6=!fT9-=a}$%_8SRSHEX9N2xRi9l4s z4H^Wdj2(kr_hL*ky)glv zG>nLtDuu)0iyZU>0o1hrQ$rjrySA--n?V}|uOx^TuUnZG<+z+l-CRSMQl3wjP*k%@ z8s)`|#}v^JJ!V-iDyDF?hIS4(S|G*|he&(1fNOKrUfTEHEOXys#;V)(>Cp+Xr_SzH zA`@Yg{l0HoeN#2V-Yq!S)1KynyeoeFfw6s5(Kve#UacB;6V0Lkl5t$yF^GUE@F?kWtmTF|)l(%h!)5#L|DojzQq(6p&BX`Ee!8 z&{x*yxgUY(`w+evE1(Ofis2prku{5ZJoDriu5RP6f8Y0TzuVoul^bjd8<7MpbYnUF z2Sx<;F|WSpCD)&N^2+lbji^iaJ?HfHjfhIbR5)hCLZj_S`C~UJb+LpGryE4{pHq1} zYvU~C@hMb3POGVxp&T4!9O=x5eWv9HA~Wsbd{=A+ae$u={M@tBQB07mU=EOTKRF^| zdv^22c6ak1{N2Cx$SYs@1hStN-3O)mKh&NKgS$8!0d{Mgs=Z7G`@I$jA}X@t?q5 z^o3EWUzm|Sj7aHAO%|dU1K5nsymflz>T|$tUU~LB!UHdP?f&LzjE&CL#J*{7+k!wu zrLmNv7AgxuF-5_g*1}NTaBBn38Q^AI{_>|j@~YRr@f|<;ujBTUcW&Rju-Qtqq1&JC zGb3_fsS1P(Gtzrs&9-N%V|}tq4uL5^;8Ybvj0Hn|o<(m}&03#~zF-(4I-<8jh`Rc; z(Z!rz&yG7BM2h!G<+9ykP$m`5$vWl;c!5zJIEEThx-RLQ$M zg}V?WBbYgH2xk#d3JPKcR6)Cs{ssc>JLhm&Irp?IWN~h;?tNb0@Bh33z zzVVE#3TyGg^%N=(F_@PHJg1v-L=!O;Imu2<4hUPwG#jCL4IMpKr@Mh>q}-E4e#fzJ zGvqN~fI}>z z+K(76pPYSW``swUA=+2ll$&^KCVE*l<+cUW9BN2dVp!#ex9Ml?8?y!&VKX(-=Sb{E zt%MtW(JWDuF>srQh^%h1>BxX8>nVgrgm=^m-PrYl(Vm9>Qd=2^lfta>VO$cJ{D86xZv zjcOgfdE3-}SS!#7jfUec><$7kL6wA>VQeyx=*T|cyeJaP5g<;s+v|63|5yLnU;KUF z`c1b!`>VN^s4+_VH&(SKfH~>3hHC)jMo2-20r|1&ad!DN$%f zG}YcdEP1f$(esm`4%hBZH4t2!kzczTQ-$@yof|?+Z((TA=Cev=sViz?w4Wh5T+&7? zy+M0xUo|-OL?ToHGa|@{iOtxZ-Pr7Iefq;c^KF0hJD>UJ`*%-0zS|OkZ30y>{N%Qd zw8@rjE45#szYk&dnP4PUKw?34jH4L2nY+_lcin$qKJ?rdJpWa{^lP6vzV__NJGDcM zZ4o0d^6>iU_)>t84u`E~7Z{Ab*VX!U_M;%p;F0XIq=*z}M!NfjBh^Ew4U|>{65mC|(rtNK7bKEslLI~`9sCj>7*?jd-;i=^^(mHHBSbTtUM(y`woZY;2@vi%y zIz8K7c~%@}wNZz?|^X&HK=;GX;saoJz%LU zj38(vGs6LpZ+%AJlxFv3tg}I!4@S{Fe~fsgZOrIX34PC{Pqj0EZCK^D}Igv&b)j6NeVlUR% zY)b*I)zrg;8~T=+8j+}2_;qw;upv@dxsqKE?j7|&?N;% z4@bS@1B(!JdhC#z$qDu$v|-mswF5t(g?bD!2bs$ZhhhLvrW$39Ll1L#_3S&gw_BK1A{$RXk*KG`2@VFiw*$M5EbQ zqS!hqXAlZ9dMZJ50EuYTrGJXuP!ZH6^X7?~$xfruMG?s&#+_TwRL!^j!2kFQANslN z*^N8D`Z;b-n7JJq0&7WR^o=VY1qVesg@K|vM4NmK)j%YvR_n!JjS)GI&aOTC+2c7c ze9;SD`>9WV>f)8>lHA9%;;jnZm&#D9ElbN|^qq}@d=0S5*&5MB`;UN|st`bxdO;fM z>wX?c0=a@@P&JRfj>hA*F?szNIEAN=Ts-_ge`tO3;sW2O(8| zSixkC?PlJ&bLswP-QMHb&wEu}ymsG<9@*Ww%_zo(13-;5jThup^2a^$moEgPFC&b- z5Ukk5h(IB$3dqgo;_+8L@ZMK{-K*aF)BiSicTRWDY>$pnGdG*z3gy1ljsnqA1|x1@ zg)su1;oMs-&V62Oin zZTH}`T}7$#G6LCCuFy8L5r{l=RD|pN!i(HR20G=jE)krnIo#rP!u6<*K9x0VpF_EW z?%O7(K)BXL!Xr3P3pNHrXFe1?z;|2FQCGr*V_&iKW|jMU^>+4=vK2_7hgvYzZ<+vm zerJb~3R70exr(b~oL3EBqZA3Svaq(?RS#c4>a9~M?Rq)=Vm0wU-LUF)vADpokj0NuE0(cJ5-YST*w zDovdI9ZEGOUwi@K(ZCJC>9WsdCDsD2(G zSlFlP9k}N2^_lHFj~1do15R9>r(HiE@<@iqQ|7fd4r_O^U5Pz%H1X7}HVoS6&rNFJ zg;^KD9)#(6^x^mAWt6!P^G3GJqlJC!3)V&9wrE{xuXCD)iA`4^HaZSb4%MR1PfPu} zGbUUKtWZiaK?n1cE}tF1QnzSi73X%;^{;G>@T33kpUtO!{lfOb9GD=gCAk6DKoCR~ zj<$oxo49@R@q1qND0t_}i{G+|apkUi&-P~;x?V)rKND1j8molPN7~RW8+WktE9`^a zm?41ZT3)x%aT1QLe3O-_Hs<;*L6(CV$%c=H%3k6Iv59bRUqTtv0wJ-dLW#hjj$h`T zo7ZpO`0^WG`jRhx_A%ag`qpQDBRAtt42;nMwzDm3jNrKuU|_JAq;o%gr(~m|SXspw ziNTSaINja6`0RV~1uuHVtKRh3$3K1P+C#ZJV`t-)>ZH>BawAH8#BfA)IAuOt#+z_d zsBljJVG;6X+p>j$O&!oKdgH({7(px1`!y){1+t3?C9AU97U}__BHUsOdR4Ia5`v-n zW->emJZvRo4br%^Y)E4;GPk#G?JnQ_;El7>`@iN@w|9Ktr7ya3<0fKapG0I?#>wFH ztY3#r*)}mCp@LaWV>=f@0DCfX?m39fg?#d{_r3XBe((E#?kD5y=AGM5jm;KSj5Cm& zDDKs`(A>j1a;tqyYwwNKGGb8q!DcMDM8TqKiw4U;?>5Z{$AR-i2h$5-wE!T3r^NcC|*Q9PJG-3vJ% zrbVj#x;Qwp3`BOapX>FpJfz4t1+i$p%g&(OoYW3lldrs2IZSA?3`-Qz1Qe(`R@A6f z^9~2gygbRlC*(%I)g4WZCv2sQljYVA0yI)=GzDZo);va73pC24L`wRI4u;!kfUSifoaBud z&W6gUsi&0_J8}`-FewrxHYx#)wTX`ALN+A{I&x+oU<87$60}jQ<}ze_dnU5vDUf?c zdK|IVi%r5fYH*e7!M@4+h05lTzRW_2*-VZQu~as;Ru;+7tcLzn*hoy4g3@UwZI*Cc zqg_Wj0gKC9nGJN`0&(8@jfE>=)1K%o44?x^UogcRiHNc80|<`je6;qJlGL^Awsl5B zzDLX5FJz5UGnFL=d`FaGw`uX^nc7cXDEckZnS6tY!KWA$`9CLoVvZ!%dbUhjvxBn~g5)j{T_xG&S9>G1_Gi z3mX+ldawx4VOpS=g6dSmyD`B`Y%q&wkALZNSGGrAc>FW<bS!~Cg;3z-(BOruX+7z-|+LF_~fN)&#OvSa>V2` z9Fk6(i+Q#%Gt0XX4q6KTFzi5VkB6YHE-h*cR7eK4Id5$5lZ ziR~~*dv{}(#a=5R&`htaeR+ZHmq!<_B&==Bra%#4`E>~|n3S|>jkb=#fL-6B&1V(L z*vo@HiSDc^MNxOjY7SS%(7_-{HO-8}0jwsRY&Y%0>>k1pyo|PM2~4%c!dXuHl5kr3 zJewNqoCJF5wGK>2DI>y7-hghM=#ejF(x#fEQ>1n{5^d9$gdb(Y@b%;$p=piJI%e z5~Tu{ToEQx-OCztiJndK6UvD?-m|an3^u!7l6@TM_F$@BYlcOXdjLapkPnj>IbnyCDT61-S-eCCXFw}v z0-$O!+4_I`I$IPu4FTM24y7DIm)|4?K*ZGgMdK5Tj}G9-<4mdH4;BN^q51FX2&9+n z;RVVfdTS=6#&5Q!<( zSGbvw5PSMiXJ&2&O6CrhB)IumN`=-|$+xU8ts+DQGAgSd?Y#D;doI{>Wab#7gUqJ4 zHU6rRkzGMk7!shVrfNzFPG{qM-Ne(Q1Z^VBe)YL-t2*K!VGfn~BO<6|HHjr-vL zyVc?nSljl~BNpNM4A=*>QhynEsGh5%8kTC%(Q6dpR@a_+s5>U=^$=YP>QZQ}5o#zu zU_;d4G@FYsJVwW+U>8ugY(usqDmnv#U>7B}lCZI?L|H3&7Mc)_$8v8_KvLa)5~kQ3`A{#%0Lt*Jc>bsAtj{qWpkkmmU(E)?pt7F%RT32Y{uq^54`u4U;n!I zzw<|8fBVL*>)Y7O0V1bXb$LPr-4i0hYIvu@J9lMU1S@^Zq^}rjZ$euN_+R}@truwr zCUA_1Nhy8Wt-FJxY-*VQGN2?~ql1wP8+F`@^ZcPRj8ua{o1h2>MfzNKZfN^d%gDP1 zaREz**&)6sY$u#FH8!CQhI1orV%H{#0a)**rRard%x+s3j2?k1UV{Dn<|3R8fg6M@PHtQ}9kVBRDr9uDWtp!E z!-aW;LeEbhb`vt44}f79r9IF@;OI)q%tq`s8Vtt*lz+DI5ss*0RjQke;*^NkbgvrD zCa1d*XE>H1CEP1-o)^Yahs3VIjqJ~Qz3x!MwMLGDE zmsv)|7ce5S$l0a+nhYNVJPE-IDFi_>1Gx(CX~L^lKpZQZZ1fjjhMbq29qWe z$dHIrLU_8tsXcnRr5a^3!_5}j;K*W#IETV8r7p#nVsaTQ(ACN22`A!b;4ogDiJ z%!_1R0;o`tc;7?CyivpDwMJmxj!d()D1{0tdlexEu4}mCR zgFtAQK?9`TRLy@1fI+6J5;~(dVyJUXWDO+uc~-o5*K>aRsW0At|I5zq)TI}`pw6yu zc99(WGfDip3U~@2W_2YXfOfJ#(`W1a5kMr#Eau>T)KQElAN#<|-uUQ8-tiOI-MMw^ zsqJQvlY0UfU|P_m;s=>Jokg@%VTtpdZI zdvY&fhJ?+>XLurBG>fOyAHZ2?&IRt>q7Fa$^#n2Zf>7x-E_B$crsk;52>9(tu(I>- zX`Qx^8EiwF#VH4y(JNv@16z5GaP=i;Lm2_TVYR|Kl*Eh>QZ@YEU=}`l;yRf()G~ zM^|ZPSna$+BAFNvHesm`Lto^(n^mR+x{xR$E1uJ|n9E^pD{9+U>YYI`I7uIzfE4N7tTgQ2q(pn9G3=QbquO^@MLfvS_!sEl$2 zdB(89qMQIJ28NG>FRB6(RhsF@3S5?@TXK!ULfOf9_kWR5F=RJkpqp4J{LWfAAP9A7 z$Fy1u1WM!qDl#RArFS@Ts8re6iOgs)(>{|^Ngw-RY2;Kv#RK2g@Lb^`LPZYk(Hcjp zjv1qCJ)8}y9?KYNU^_uDboce)>M(UM_;M9BE2?5v`}}6ZLYW$b+TK;$YPEAks2V&R zp^OgDjk?T$?n%hr5y?O5I0UTYuZ=BxVV_$<2=tdt6@4P;CAfbrz{xav46Uk{ z60u^$Y7{IbO`h#G_uqB&z>6OKnpeO3Lmxc4c>h^V61mv~Mi$W>(nB`QaNljqmmzPP z>qa{Q@+xkk=K$y!4LhaMX&)vFpfS9X-4VG8C&DBSfi(;$S_d3U`J(;;<+Ezi0q6G8 zG`MRq;08|O!>S4cwci)>&OCd1f9LA8hkoO;pZnV9zj=2QcfI&UIcLq8o19VEO)zzK z8w!Am2t#(8Nr{*JEsCN^x;4^3Mc$e7!qL$aANklz-th8|z3c7!xO4sH6WiQwHm+V4 zDJbW~1O8p6O~Q%jut;ayR}^6hrHjBsl;k>oniUZ38j(3%X@%$@Y;h=df|cr2BZXm@ z-yrF{ZZsPx`$qq(KTt40v>Dyf3A#z;&T&9R1*;BX!L~JHF_4|!vYZ1Ab8OP#)=152 z0I0AD4PY1u6gz{}#&dyMS@cX~21D>cZXTMzLPwSY<-P(4!1IB%-@X*#i>mhsGZ5tm zb#W2bwlvWfAUo7wMuQ8I2=-(sRwyB((ytG2p>9|iZz)#cu&W(#0OrN242+F^+yzJ$ zMQ_<2xH>BXQ%3sJY6stST4re2S$_v+zM#dFlEf3Gx+VwWfBQlivOD3@E!V}fAfTpw z<%BZM2gX`gduo!?B`5a09Zb8wsSRVtxFO&T9%{RRsa7ON1~NJTQl^=nnj`#RrqS;W zryE7ub!09M)819FV`0&A;uA80NMUYMPKqRy84#~*;ZazDCxpPh8e}+O+m^H(1o>pj zsCQBic5{G$o)BUm=7#H~+S@V$^}1Cyzc$(#DaRKQCozf%H<%6p5$UOe_Sa+~!xh3Z zgf%^~hg>f~z(Bx}uNmMD$qYW>Je?3!#uBkBYIAL)>L{P;oq$Y4Dm9K)3AHmvM5te()*^b?B!*20DIeN8o@CoFBgXKZ$yD_U04utw z&(CxaESDv8RN{%~d?850bPo&p8ZBx}Tdypae{|k&-}fK(U;gcJ`wlj_exG+k595U7b9#x|&qanzVj*>K#wLP8tngk+-ax?*@D`SyvfR8BAdI870 zzT#LCZ@>nG5pK31(0hnV>?@%mmzus#a?&)5zb8USK^@u&M$HOT93S6&@{1SZ?6*Jn z;rkxA=kdorcyi&=ex6NEaHKVe_T?>4Lq}~b1hCdIaJbLrc^U&0_WOMhXQvnMzw6|M zFMsoE-uUD1{`o7H?w|Xa5t#dt@Q5O+yv)I+?3yz(T9- zzc0(t435yD41m=v_Z;f(NJQVLFVN{6skp*#p1mEWcbqUBx(V>^qDnnBVjpv}IeGB@ z=YIM(Kl3$j{N`I1Hg~`9g=c3ogJVD`L|X&vqI_Qt>*@dyOL-%Mg9>853Y3#Y*2&S; z$3Om&m%Qqc$KL%8?rz_D>WP!h7NCoDqCdOep;@+;S~h{Y&c9Yp=0gzKPy=T3U^lAr zz<{PW_AMw6LKO;H%U#xfGgz(Gcll3r>>9D~h7I)+CiPD0mRYRejSY;pZvY$+t1i;K zY4kuR8ukV3-dhz9On~6*R0G#zsr*Sga2F3Y9721F1a&fC+SO*XSeQi*P(gsvYMs9H zPP8@Nkc=UMhyrI-cZJlVM~}6OWkPjcnSt(Y4+v8Bg_0u)dnyM%Z1Tbf&P(hl)RhhF zb0e>1;jPx*nhD({3tIykgvC4<4&hsSK8g4GZ0Tr#;!oix&NT=O4whUS6~i{y{!?}- z?FH4LthrP18LEd>C>I`>MkNskv1@~vuF)`J3`po= zLe=|;0NH%Kf9f1vM$1=yZ4t;Qs-(i-Cpmo?M>$TG7lUKzwS39pGgj0f6W#bkcT+xC z=_Nx3F%{IRyKXH{={?8=n@yTI9>_KaDU%S<&5Ue%9d56a#S$BK-SwBkY4jsYSp zxHcW2Qkt2zKt01t3f4>1kEZW^)yQBx(+nm%2r z>hvrC*CNKU+tDnV;WgWX!pK(ytE7w$c$~O(?=|`WcM*szZjmNU0a6>MaZW3kboAbLhDBuBKzl)>3*tcyWU}MWEyx%c zN89oA<6q3W`Gw#3_+58jdh%l*zjWzZQ18VdtUG~=$ero1M~T)JgFPVGxJi2@St!j>x#5E@ zb7OUq7~C_nVxDa7+FrWrAN{j`_2P%$9C7j5SAWg^&hD7|9Z*wVXegQ?EyUMxT+L?~ zlw1(a6e>tB6gURib%nXTaN)_1{_LwC{kq3~;q6DeTeogJesXe&%t^L)*F|h-2jd8% zFF}42R`Tb5(Q0?=e|84UK1&C3nMOvVO)RdYX+g31nrMRFaWcx>%WPX{6lddaYZ41; zl>=vAJRBZFtc~^x{)_$@tVl)Pp%2=sKcF9*?fm=eb;QaS&c~$?E+2x$+(M^iB-)Ac z?1k)AX;=avqr0QPhJ&^I?2=4HQ1(Z-Qa;34)98Re8=#&xdVSM%w)0qQ(}AOeU2!6) zapN?%X9Ur@nfCSV#BAjH6J^{hKn4JVKzzRo6=R)hwq1(OH_?u)+x&J+vwR?xhX{r# zJMFnr5`iM;iXq#-(~5(DQe1~Id2cTVc1bzl=~Wm|IqmY`swL|FM0S&U;M3WFMiF@xP0ZV2ljIk7%}!?)7ICm9kqgX z0~N3;x>K2H#>VhCVBrYp%y;k^vNO(va&be=J@}v7o%99mlZgW9Rx@(yZ50nGBSSO- zmEi$8DQYoQLbEyA9^H8Q3Cw!@*FN^Zv+w)LCq5S2*eQeJyB2m_PVGU8X@dvP0}a4M zqZ=0n0lXs`D&ctJ(9RZ*_DoThtHIpbwpK>oSNC z(E_;7X$OoQ-zSKplX-gk!qvMs#}{Azd%ykrzUNO~y!WfFKIfr%>kI?jY&t9+0ZvR? zbi$KJC&mgjodDNyRAgj6BqL^EGxv;9)jGknKWpNwjrkN zhhb^hR2=9=<0(A=U2oS0tuZE=_|PDygV|X{R!(OXJI~xVTd=m&1k;`^{01zDuy6!oJ>1(dpKB1 z9Cmb}mEoGcr3lTIha@tnu@xe06;oLx(r7Ssb0Sw_+ZIxLP5p26o`Hebh%};o5VeUy zW=T`MI*10jifOZzm>ocOF6mrIcHHAbSXtqN}m8%9b644bg7?}}SuC+y9A4y~E*wEgv(`u_& zLDnW$Eq6AY)0l|159;^_vCz%g+OcvL0?MbMTS0{lhY=W7sN9&wx_wQ&TT{EjiNltT zu)!CTZIX;|SARD)`XZ?Wb-QjGv&I;zK<)qarf5dB_C6#QVu$mxHBv$)oqljFXRN4h zgmH&r$moI#YmCbvnuTSEA~fr~lObY4#W~oKC6`SX(^Y!r>;$BL6~(^g4n4!sx#PGc zy6$5{U#xbgfW&4-+|@oL8N&v%&ETp(0OhCAY8VzXH*(X4#4LOhgOpR!$4 z%MIYbtx1Nv1CMxE3KMs$K@a?`pTv0 zGn;%!ULE09PhEJo{3@g3a6rRM!ixQ(4H%XgwLzgHUXn3mPR1lz`?J#vC!4Q)`M1Y5 zzU#ZbWB-NUU~F^GN)oKWFrmwA(`(81*{h%a!dLG8s+Tgi7q8ws zcf0BQquMRGvt7rWf)5I8=<%cJ$P4Fe2Kw~M#Hu&CBiL%B(jjMxsBuiI5}k^MA`A1_ zLdix}OR`~+j04qRLuh;7(AMNaw>1R5F!Jca&8L57M1A3xKJd`99=h@APv_V=10JDv zZ+bxlG*)cA;<|kHN5a4v;gQ&00@i+uk(+I9irn+^rAv>z`p^9FKm7wg@~<}+@5|f{ zs2Z`x*vMfmn;vQfE^iU;cV+v6RYdCP2MENFtrhl5M4^}o47sN?$Ko^HrS;*96)EAq zJb{2yDg|d7lz~HSiJ>Ogt6hCjfIx-A|7673+1aH__XRF|{eSX3zxcC1_rNQE@Alc( zI44E~vRtfXzY`7qZ6XK^7F|TH$}rj_0Tq?N7^DASA0r~4{LuSe{SDvp@pry$b9VFg zjT_sO<4qLDjzAV!Wu^0irfOj%?d!4;7iEPA@3Tn| zIC_fq)8{;g<(!iLS}~z>j!v0dFJ~BMz}L5=jaH_U^ZE+Sols7i2O~(Bs`8O)$H3^W z@ojm7Qf34et3cs10kt-*#tQyDI$nnFcrwTsk$qOU+#aELxffnh3(U{0xKuBk8%bvx zz7VXbv~w>pOr&5&oLhU7;h`?Ex+@7pi{a?Mw^_6Gi)HB@W0_P4u%PrAwR0M{8mfgf zeV+yeF~*2x-9zBTcU;)F(YmIlvZVxa!R?$4K@gd0U+>KcMJdx5Su`HY*+~+Na1k>j zgtx=gT%>Y};Wk1MK@6z5NFTcdZAJ_?*%qlc8Y}EmgyHvITT&3O&~g+kj=l?aG; zqSY&F(>i!(1IBdrrGcCbV`hRJ(F;dd3Q^=BJT?bzj~MDX*KNAZO{aUtw1RnAxp2=7$~SrMup2Sdf?uBl#C=)U$5V#1>zh>mpx9I1ZaORqL4 zyzd)CgFZPUFF;qakm}uA87eQUIj1K}C!pbp@)tC@q)5SzA{&Rx*3X*713?0t+HTe( z>rqTZ#u&zZf(%VqG)oey^bKk81k06-Q8kuq-nws2KshFH%Ns;>ITh(cFTS@NiAvWX z;#0`dcEh={NO6PyI`464z$v1Ix!Q-0y$vhcy~T3fh)`3nQpjg}5$l(b!eOkCppMW9 zF!=*0$A^WKj1uIC%iA94dEl+ph<>8hUdM<%$W3g(nr9bJPHOIc;Q#&Ko!s-BXFmHI z`=gD_>Ihf1$imuEDq>ShiQn`t_Ta?|u;6cgF|;ozyih zuFy7&6XmCgkZ1);CwD=UkA`#p3rd|Q?AxKkK!7G26Jv7K(|U1eV@Vx~Ll6l9)y>vA zP%|4yf>{n89A}AINM`JhjdFUOhnt&V<^(zSV3L&sdEw~F!;gONAN`&m_`!d(xpH?^kfSE%^lfoK0mr!d zu=3J-DU=FOyU&pd!m_8`sf?1WKys$yP$H+TVbiZR?ZwoQ*QJPbV>*!BW4$z->Mf|N zn+TMksHN=F1>MJ3O(S=wrxz}q?2j+L?)QJ!`~Te!J@BeGJ~MXv-PtA+$ztbsT3i}R zsGu1+-BNRcmfzE%T_|c`?e`gl0r2?b_~}o)_v_yDjURl+zZtvRckW!@9&N;u2R0kX z?YmH^kzAJs+WMxt6?Y)pmAg7kQ%zB9_AJyjd<9*X(v+aFFwmH&t%ax;ffxp)RP@iW zg8>tGMx)}Yy4r|VAS_`_b5g#Ysq6_|UPO5E1|x{sKjomN%^ZCI8*0~jANu+`SE62X z?Q2{94z+V=QOU}6TJq5Z1RAlp1II)GQPs2CVSpEA@S00*aHf38tisgIB+B<)=@lPD z(1nEyfB-n)foR$HikJ-IXdMKDbTy#ts4SDmrA35?2La$L6tZjz0X@m=2T=5y6qWCK zKSEhnG{{9ihBrfk=u&3G5^AFe+t@j478c_z2wGv0sqSP)aE*LmAcZ}xlPYamI2i1nM29|%im1KF?!TaV6IlY*WOgLq zp-Im}>k9%z&ogNNqK}{CP#vAZ6KL0^WyowFrDLv9nz{DUxKrxFS{o->Z7e+0VY$w# z#U?Fm1iC?sYkjd8U4wVyFj+J!lvH`9o#`?m zZlcpqiHNKvuIVFX`ba!)IOh?L*Rk?HLq$Pqdtz9spq824RX34iplchb;%YGjp{tmw ztQPbg)u39(%z=1>6fR8*(`83pYN*v#9CiM5IbvluwvP^dWAXfrhoI`BQYfc)my(Qz z)J@`hwY$lU+^->Jclc2qv)bO#hsLgCwe4XkiP1n+Zx(1Os~ddz=?J(pqK$1Rv@Bn- zw8lZeKuHHv3r_bP?blX} z=f3*&pZ@IUFI;^n3LHX8sf45GUA5VAXaGafjsiqf#OQX#G(F#rH5al#gm%q=w+fcb zs>4y~aQ1e+M57xs9E**xmFer#NduEf#t|f=yX7f72gyl9oLsta^TzeDJNunq{<-^} z_xvY5`LPk1NDdO=`?4rb4LI)LG}oE5yE-fd19o_<%2Abafz0BSi}$_kjeqL9{@6eH z-+tue@`Hi7QKTx{-UITo4RNEormN`;X_?E7cHZr7BCLlb2g^be;YlYny3t&y`U-^x zYsHKbp`p-8=+fFFpK_gN{fga=Mz8?xStyF*_S_v`JlP!I{pLUT-5+?zPu}~wZ@Nxy zXJs6#^?fohUFJwcF?mi%pz|8-V9H3$&5tZxC9`5o)+SGmk01Zw2VVS|*FW|%KU{Ts z{h22skN5kDS)K)$S?g_@7ikt5Y+kcPSTbsifw|&e;fU-KIOF0LPHEVxb7b;VG`lS7 zj>Vd-x9xb*u*ZG?-BL*Is{g_+&vHv`{Az#!fS8=JDtbZE-E*b%;$pC!a-sXDIgs_^ zAQw34`nz0FdL80#b?z=I^{I7@-kmfu0T!-Gt zNgyIBGTFZ(^BC5?nNQ`R=@*ocvGWpqtu7$ZStJxVtll|#)^ZFT3b=Jj*;qGxw;~(d zh#xf=ZCK;J-zN|Vb5M$Uw6PPF%gA2gP0y;vTo&`nU0s2uC zC-^ez*cx7$H5DDY5E|bB8lk*Nj7yeYpyY7x|+sjotE(tUMz4}WfUW2fXO2FvB~2L_spm{_lSXQ zWHM3IL{(ot9|YYszmhpre^RxD6~pKQ?l7Wtj#@!Q)2JNIrbRTiH$$e2Xsu$JOO04X zNao|T7%7L~%(H?`Iow|Rwl`|uqJ*wvYkA+wVtXP1ttxIuj;Jm2?DX-wE^NQy&EL#V zeEf7~?e`4k-h7@W*pZr%5D}P@``wI?N&q8b&;7L*e9i6K<7F>@!`t8U?vtwzZT8#; zBO^E4Re4Id=Po=qz%nMC-dKi!>wZeQ8kD!OGg=N^=R-9lVI$KQvm7FZsRNDIQ0=E| zlFpP3mVkLc4%3{Kwme6<_ar<5#sC_yHatENTni1_n%zK2|FAwAxkYZ1=uDt z$AYJfC?(zKy5j;1Zd?#9-NhCOwbPH>WY*c~#Y=Y`U3lPI{?uQ5-`n4Q&#T{fhr1)p z%osT-G~4t*^~Mr>;gMx5l)mp}M{SG?)v!l==PC-WRh+%&sG`(n{>Kq$RQ+u*cjIp962MaBm7tNn|a zDclp8!@pyoV%k}O>zs&oa|(4??CwEY@BXiza+Qn-7LYO2`$LE#yPpRM#OQV@9H|5m zV*QUiXRHE?AXUoeA;98*q6NGzBU9LjsPY`bjuGXF!kwr)eWd4>MP#Kl`7}pSRVH=p z2Cx>I1TpE34l;zra&r#p!?H7UR1@v#KG^G-5R!CA$U)0A2!SWE0+>a{j1WH^=aL=( zF|y-+8xY5h7!v&$P_q$=P#kR4%G?f|mtdjmvIQzF4tH_0tOp<>zly5P*1OAfHddAJ zw3U^tkoLjk^wIwaUj`fV64HB0z?)cBGVhE(AG@^6|EM)DfisZ=zFq~9U3vSIGNrgcEFA%YP)z4 zE5Pn9GHUkGq_{Q5E^BnBhPw_eFL`!q#C*+(W29zzU6oC6t2 z5J7h(h&CY6+l>Hb+8t&_rvU=a#nHuMzQI}q<-`v+jt;TKmLZ!mCjm@NSZIx|#SH?( zogzVpUJi&>(mZ8EV9+CI>|;^w^Fgd5pl#7pxm%ONid7C4h6RC!o7Ew%$nRc0b4HH; z+aR%m#o6LCb&ct$6mYNYXgehE+xB?+L5ZM*$qopzfXGU?$3atrLXE2qiL5XgAjguc ze#Je5+W=C5KQI+dS!-B{jg>(*gK;#J5#+lm)G|ANe zrRkY!OS)>agBsxJondZz+8ecUjz*SZn8q4VCq#W(M)xNJGBdc@99{m!&wTpg(f!-a z(Qbc=0{8pfWW<&wkZO6SH`>%R-tz~_cuHp7 z7lmP_!DOP{N}8c97AD=QvO`J02Si3S%3BK^KOZVRq-SOr)3Q@)=RD2`&dq*bZ~wPH zaNi4`fAcqg>%z&!dCGmN;~4yo%lJb1C|`C(1slZvYc>XJ1{q(0lI*ztA zLJN%0m||M|EZ|Eth{&ZOj}a*Qx?!cn8 zk9rwpFRbAd`^-=}wt}PapnfhUH0*{m0yBWB%6WErcH!jsiI05v1+RPbBmeP-_qcuI z=9A;-#O>3R_%SOe^19AjC4%RYx5zG~a9kQ*FUk5V&2<(vvcO(M;YqGup&~yMlO>Bw zaq&7JhAJg&rDi#5cay`2+^Er<+lUTN8tZoA*z;y1Le0tvbOV=V2ZL(;PXtRWWwQ>< z_SXAAP!e55NSa}$Pe;nRE5p79Fz7YJcsR;mluShA(6po^Ebz;27a7Jrs?86o8asWv z8Yk<@Fc2F204cWh*aq8DYMY*E9%qc9F@)VvQfMBKltyraz2(a;hr7=;&ys+8eVeL+~J+A%sf&bs2Q6Pb}{h{jUf_loZARYVc5`n2}~c0rj_# zb#2QqTtU%kW;QZfk(ljqp{=LllLLb$Oj{r-4_OHxDc6nI^J6vA5V*5H z9_Yrju8^JNG71S0sxpU8fLw0*k^Nc;keQh3OehjhYpt~HnybWA+av=P z)jg1i>9Jde#cX3`H&aS=XP?GKURC-Dn!H3D1Wjo5qn&nzkFF9xS|uN=?0~f~C!H^C zH>;*DGOQ6EZYF2U?s!Vqdnj!o@Ixz#Ak(WA_vIraRQBYX zr;m5eOy@`67Ex;N>6(QK2f}MQX1gF+u8yiA&Q75uw`P zf{=?Xg4Uu*Dp_1nek!a>U4rTapjuglS%np+>l}-}unPo0Wm+>j$L4-vF6Hn~x^+V+ zlvkM6#Ht?5VN^snZjp6R8!_G9fETUrjyV%sU{%ulFgKSWb```hJG|$dbN;{n$v^t5 zfBSD8pWMG47x%lfeQm~eTW5QM5fiFias`Bse7i<{eMVr`VwH@Ss;{ie(;U`EL(nOZ ztOwQz_XxO}ptP0ezc_rI9LD)R$V@xwj@fpOy{oEeZ`%o|n%f2v7_fEB40Lt3`@dR} zRcDxYZhmDX{?6a{3-!zwPfzb09c{O5HfbL!Q&9Ftf?Gm?iHI1PbH@w!JTSiMdEfXA zZ~cXje(b{4yT|sze%=|Nhu#!|O3ziOsd%GD2e@t?>Wp^)fnk(|0dPX9?}~6k0{tg_ z)w;h1EeV2S=Y}igG(3YY+7~71i)Wu``;VUDd+uAvQaVx|qN;sQZldz+=97~*e&xMC z{(ByI`0)?De_*>$b($94ORi_OJ6}<_3~F~G5Hj!();^Ml3W10`ny0%>jmP%~ZhQlY3LvU6xF(5>d|fH1$I(^QB_foVs$Ysr~V zLAIvA^a&is%<3^p?3LCk7B%H5I)@h>IOvQeYriKLn@!FA(e`+IeDqC!P%|6a>^DZzGD$z6;@RJzrE)IC~)Eo{s7UvPvL0fq7zVs`{DTTBlqGgD||%;$+W`J zF?)QoOiA095%OOYPuf8(fi6JnW4Npcqa|Wye0*YMNUgy%lZiBn0zH-ytypVS8qhiX zV5t!V0hLUd&R*F>`Z_5_HY(~8H5&mL{t7b`U5``1YzW&w)1meOh5?}=?CDWkwAYDsKIMO)#5h4%ybt>Z-JYrPMfKmH zT?}lD$}{a~IFYGg$+KZ^*$Axrm|)t2hJc?oPgkOWbaVs~%1n!^OfF6l?vbW$A2@(? zbXbo9(-gBqiaxXsO6ZMs?oCY28lkg zE%M9|Uf>WQfWv;%*S5)_=y*h*i3p(&W4`ou0d(gToA3tm3`oW|(_mXUu9hGct0jgl zl0i5;G^ovpbX(Zf01#47a`n`LmG_NYBZ{-@e55b|0-gcu{|!auMx-4CHT_}u5<-w- zOD5&8i55V6N0qMkbF7?~&U`U^^i)AhqcrtRq6!MmT|JxJp8IQTps$IBWkG;bR7Na_ zxIVe*{#FYGiHxC>@4r%dN@XIjeK8KNjKd2oXl&bUiELCAD&gR#KpqCn=4x0hqpNjW z>`RBDdeHRbZrf)pfdIO1H6cAQZ4&+0;@!kzh9j!Q3uGuI%R^%|NZL@K+iiNhLnsVK z&8nI@(An0H0g*~I<-I9lDZ`Bz`_5R6l@Z8Ps?uzgu0%2dBXfUt`+xd7|HF^I?Z^Jh z|MqWOxP0w+d)Gd1&xy^^CeE=F@Q2GM$J%W~gpIl*C6+UQP8vpa zic>d{>$mJssv~gL9-{7aeBmxtRH+V$E;@82qn?w!KXOVwy$CmiDBH};Hl1NM9mj#J z*xkPVXTJM;zT-Rp*!5red+@ZF0M>$w-&D%8;ni+D}UnSrN$LwrgzEu~yf{pV7NUV~dqWpzRCU(|z@j zt|;P4q4!6_p5Ab!GretDY?!eyUK}u!!WBj;cqD*HavU9<-n>z}Tfg+-cRupk*F62P z51!;EGi!n|sF0zWelWpe@;s1C_tNs^H~mi7?V1QiaBx>+b9=WNN8|EKzTwY)=Xd|m zPyg)E)q8h^O<+VOIK=kS)S#PZ^zLUwtA|6EE&!_k^6-iV0x|mS8S)8b)~IKDMEa7m zBNrCMQnmxoAX-7lvfmF>WR%L^iyEF%XEkcZ@$uQowLkRjfA(EJ@xu?j;I+HjM=CR} z_HC*967hrWE!oJ{X33_|O0QDmEg&=?J~y$$|oVC^gQ>}|IK#M0th4^#BD2%l3+99K2 zS`kyefT5k$=@Q@%bt03=B$>=^^W_-XUB_)q!BEzaf|~wa4Oc}V`Y{oP__X;>tHu>u zQ^b<_#nLjl!L(S^M4~(g%F%`aon2~6C0J?$ZyAS{6rG5&TB4}izBC-=7G}llLa?^n ziu6rzx{ru+m;M_#1%rSm>M5KwC)m>*^o*#Qz6XX%mTy<6_EaEMIRV3ljA?-hA~6fo zZyM;>lS90(^Udf`uuD7_P-tz7VVyZB!I5lm+^GUXG*mFtSh(6cVwINiFqG6-QMX?W zJ7}5~VG_4slgGBNhI%W0B;e!Xb9Z2d8#1{Wq)0wWhz?7-?0<#~K>5w6wl!tZFv$d1 z3i!8;TT%9Hn$eF6-g{P60Kw zLZnI3L<|oC))66Vb}znc#zF5{>eFB75EEU3-8IS)eK&QFX;B~$Nq3rWH({Py{|V$k z2fR~Xs4->L)!&5L{CQh+2i?94CTi4BRX)BgtPZNdi^60i7NZBQa_PSr0oOPJj4=}PbbAzU|G|ItKm0d; z|F8b-zc(*lzI^E+)V^psslluaTDCd!Uumh9I?*DIa%3phpL&5b>!rijc6Y6t!VFIj zO!Xs+aO@FEl55g11~wvuIW5_UCcq3QV&MRs9{>h8M{GDo696DE?NWgvJta)0op4oys+3gI-J(<>jX*<@mQD&LXGY9+tys3L z!*Bycn-9llT*!Vg+~tVEnv6qS09XcYoJIh{dTC(J$lRaZ7`Lx~;@v;_wU55$@sEE5 zF=Fc~Ezztx%tm~Aw$4nJ9kbRUeQJUVq6NIFz!(8+kH*=4ZZ2&vzw(>D^IN~=Z9n-F z7p^>1yA5iOF(w0*gevd?#trKhI~#7xYF9ZFDm8I!Pb7Q5zzofnC`(BCK)U!zSk0F- z;HC+scy@xET1bOtO}dl|E7kz9-5@rbqkF#NJO0$$e*DMod+F=1AD<@OejJKTrg~&a zyzW9mx@#MZNF}!?;lMtM9BFEVxk1%&;lgG-@v#p*=cOf?^Ai}3J%Dxir5yLw^Af@P?nQ_d8kzpmG`Gw&XCei^>Lg7A z(A1`#>)O0dq*EOX&h@iby)|vok!vSq;%+3m?kc4_#q$M== zG8Oc|n8+?CUOrq$386MndeEi|i)6F7?j+N{re$*xpnk=!9zzRmU!#X_ZXkPgbjw&X z+oCG45HH=8rH(7~#>B=-dd1133qC>_w`%Cx$Q0_nx5Tx^!{y6unG)Dcp@<0cdCGZ2 zFk<8Gwdg7ZA3SCtM){^F>6Hz5Ig_3{PTyeG4A7NpT6(iAc z2m7nT!G!djV{96o&@V0yCY#2Uq|y%06}Ud60g273iWs+^dHkWT`91&lzyJUEdw>0} ze&6?f-|bx-UB1e~@Q;P%JSJ2Q@;KP<13h^vp!p811`tC$OrQF&BH#|D2zDsZ*T2cu z)m|U4lxgY8qHmw7BMoMQrck;g6nq%N3y7W+gJv_LqG5@sIYiq$pSFl9&dGtgaPi{J zXTJE&Z~FT0`?+6D&wXv~x%=YtU-zb0 zy#6QN^RA0m?@MAjd)Ad=f|X>G>=g^D=pq6UBT_^uC;RZD>7G{e`9Wg6X7^% zO*STB;!cM!aG3n)eiPb99%LAZh0tToy9oHEhGg1EX=ft~w|372Z+_|*e&VH%KKj(h z9^2$rMG0x^(3hgcyoLfgSsh$^zar7Kz@h=wo?{>bmI&!LadNH$aLm3INFCP zGB;i$YNLN_NOFKbD1c*=r}OLt5f|?Hwm zO2h1-=uTm`4FUI-+mf}LjLpU4FMs%>FMH)HKL4I~pyth|zp^o)t{Yp8^Vd^LN4U}`rg~_kG`Yvr>YMA)M(EJHy`vCL zT3-+ivs#X+MekIr`8ugZ^Dx0QkkLbV1u1k`t7B4FL)0aezApw)abQY>h-@Y*ft>4R zl>vkw(e(lHjtKSo7n|pYHw@AJD`y^Bgx8a`MznNL_A`fgA+@_*Xg@@Ii#D^R??3N= zQU(7eBs9(-M+Z;z`HHAEUb74ql?Z|VC(zu8V}j{4@KiHgMj%AihYtFRK1h={*{396 zrWCPc+Rf#6>}1Q_o%j##*Xcgfn!>-rvC-I-!sPCmg0flE0k^vYp+3Qa5MzuS&Zr1> zw2X=L0HugrMYIjMjmZTel=VCqYNNSC1gAYvLCR4Hl+?b=m2Y9-#uVaDwlKO}&=7z- z%lUAIEm!rJ#eSn~g}0)Z`!wLguW2)ftZ+-0S3fzOtI};{YE7!nEIRKoVNp4yYK2p{WPX zT;)1N0?z#pUJX`{o3&ypBFe1;yf2KEH&fnoJp(Je9c`aVZ-9sNte6s>30XCvvbDWUY<(2(Mv2$uG=NV1WVcd%O*j9Xc8?C0MFEd0EqK; zLaC{^-MtbJsot3q0+EHpNQJ0M&n~W9(VD)Fjy&~^ISfW+u3Sc}h)M0{oak}<8a1mF zNfg?*rJYgxdPk#~G^}f5BF*+t9||>eSr@@hKj10r><87KHTqocxP`~Hs<8>~Nvo#9 z=~HmT?>|LFVw%HP;- zw#UaC60E3n4Uil~94soK^c)X0MhK~`WGm$v9c?;ZXj$oqu|y@rG>m5es|i#KGW@wX zFxm73i|jFaT)Cg1f~-yhD2Sq30O-z5!4-MlAcI54s^cS#7+;ytO-3P$a}S{Q|MTDc zOBWxy@5zsUeB=nMkw=LVQ71?<7d#EqRsgxhU~D(!e(vJlD@QMU#kYOqANjXG^)ts; z9^!7#{Vqoi0AL06Pqr&gkdzD3T@0a06PM;U)>aL?ElFHYh}_DFhAUFq9>x zp54TDp*E+c64GIleuv)I4hXad)x0WWL=339xrlv6#OC&sPvzOo5B&U3JpUyxed<#m z-E5DhN~{9X$)QE+0Vy&L9-w0xQmsX3qp0AgdIsDe&yY#%Yj=Ec-1W7Oe%H5u=l}9U zKe)a7p~R+k6Pw()8F^NfT5KvfH?PuUh1{;q3}yuiW6D!1H|yTI4D|$EX&{5ua7Pb^ zED8~b7(Uzp)k{7*eI@V7Dn#bk?RFO~U5%4_zvKV(=l{dM`ImRS`kU_TZ%piYwn2(# zmU3EoSvUcqL$k`!vaxzcygCN{`KrKBV<H!k0hv{@1_t4Ih2)Pt3Y`di_hAizh+m z5Ww0PglX5S!TTb=qXS@A*XrKoI3KwQRXXO&7*N6LoNdjbVK5OPCN+p)W(EtL0j8~R zMNL%%``o4jNI{i!5)A=0ZmwE3RPe2z4o$k*^ZSQN5Ix=hQfEP0iOj_>!(mTr5cP$9 zY|k@pG_;q!(j1s(V!J|_Hfi?KfpDR$?t7=0n(CCFG-wFuy=4L+Df-mg_}@u)v%+Xh zvb+r($)Yhw7HY4Iph0b@6(Tg7RCF$~RYn-$IXud^7by<2p(V_n5*R_U%ch|43pxn3L{AD11LShU8HIvU6(ik*DtaAYObtF!JU*jma?`% z;a%@0mSuG3wGfrl2cTLc1puj9INcW&&Y*)5PKJ!PE=kMX0CuLQy)IzbOtHKu#Nt_p z!ps6&MbZdbD20v)!afBN8(5~^l?bv=6$w+L7LnbvFbkvJlgm47!1wi88gI*?0XXB71mO2+>Om5fxO^V8Mb0 z$!w0WG}npCJ|hrS<$R2S3Ma?q0kj!mQEfmuOxc#O=FKaYhq$UW2O<58!v#8?ux<5$ zTJ%s^cu6N9Mi{+!ASSaHD?-q(RskjTz4&9gjxHk)f;kBQQu%nvq9JQTEuFJQ{cfC5 zbJ>JIF*lJZzCeU#*mAC;ME7{s)};)5oV%!W5vkpxNH;dYpd5kv5hWl;>SY`$BcN4~ z#$H*Bo<^>Hw&iZ>N;Muie5BO{w_4(5d=U%|?{0^Cy3cH2Y|}1-VYyAT*=_w)?@vc6 zef^;7JaHKq=tRBXbgJ;W4vKpg5VH&A(*dGciK3i+g3^8v>Bg7nSv>*d@r9X3cW&MI zCx7>EUHz&@{@FkN2jBG<{@U)sJ-NLIP6=T|o?E>npP=AodKDCE3LN&n$`q=p0*q2S z0aG!X_Ys0t%kAt$u1Pu}_b{?YQv>>L`F^vEGSO5i{NB-&TwfQw+V){iRkO?9Lk$Zo z8L%(NMejsp#*B%%zcBLVQ(vyJ{plb5U$MIxGsXy0)FRA_$PwbCQ+OMe00km3M+N50 zj9Izg9bLJ)`Ra$i<2(P@kNxDozi{nYv%uPG&ovpbHC!?w8j+)Bo2w3*Z4!L&LQ~qb z6XMrwT>=P|-T>zfgPoVmzZe_Is!F{LtW=SI6vu2>iO6iv;g&oL-l0DaA$4_h1YA`E z+-~Fc&8Ls%GoSwOJD&I47d-Xx4<4VKSkzA(2zffl*AZB-)mb27g!C*fK+}$?JwIxU z1Y#t{ytCV1zHsf~ulqCK^?m>RU;Vr7)dvW-IAXgp9aUmgdG<9I>@>;NV9WWVh!{-Q zvB|N!W+Dz*OoXFk2mV@#IcvpEgj-2k$?M~*yzhR$KR&v!IlA_T|H6O%gy!Lgk z=k6u}YzMPek1HLu1K3cz!0t#;q6M+mwb8WzN+?f-9CdQx>f@hy?`yvPjqmyKAK`v~ z`{t8l9MAn6rCzNyYr+WI2ht&zmD{E>CDt&HrTZs?&>&qWG!rcZ2+L;lkR7)=FXACB zP$281#(@Qg!e*oLOc2u$V%3MQWI&|H?lwUP+p}!wOhcULG<{hlOS-hqW~rL;oXfXh zSwFwI+*+A!60PL~F8#OFuZE5kZ^&HW5^sxg~+v~7arkP460b0vXLe|60r z^~PxVBPecIC5g*incHKM%xc%sd!@otFSd+T&9Jgmu%E)31Zygz?np{y9?A?LfU3zU zaF}T(xtaxTrBcB2j?sIn0R{w2Llm7cHzi_2W*T!*0z4oGnnhuC5f}`^84UQXojnnp z>0D8xMVMlc(a8fcj1COfjX^Zb(lHH6T@)PZ0%25&ZZ1&G7B-a-S?JCFT!UL)td^UJajNEKSniho!20B6{Duba; zi&zDQurb1_lZT4BD}GvTT&mHk*VVnx(0Lw8BWz z#n$~V{^4NgJh@LtH6wcxZ3&&o)MM?p#A_(oqyQWfSxXa8x1(rbM0428jLx>e2bb-8 z*wq)%3o#aXT`a6_C$5QU8)7sM1V(c=w))g{;n0{cpldt*e+E7l@bo2f-=2`vm#Y3z zMb+X=?Ywo2hR;-G2VNtBwI>l(NT`p#`yL^x_9B7Y9!x22NjID&_7$|pIA`MZmvwq$ z@Xqe`Gl~6wc-xO)UiqPa{ZlV|&F{m}c6;S&ot;e%<+8aebv+S1#b9RHmea8Z>7Yt3 zLw~v&8q@^Inl)V!7R^cvh3*|KM`xg?!fYR~GA9Qha%cxNI&Q!N%NJEs3VUQv`(T*! zu6f`iyMI(~Tf)Q9Ov|7uvr@n+bL?(?`E@US#rOXCKlkJ(9@}p=0Zhvo(X26x6O@+M zdGiiIfszm}0p{FYx##N1eUE(mAN~_R^`2k2bnX7wZ?H|w&8*58lLrezxHW9&{_Xq1 z%uUkNry@n&dzqCWsB%a`9eFX)^N`HiBtSKfqN5c(ev>po0Li&rNjd2nO>(RSHD@F= zA~STD=BBzjG=GavuC=RNYGCqDM!i#R?*#Mod+gfucj1G&$^NBPs= zt(>*2LC1~0{|SOauw#te?c(y4t1o)RpZxCce%pWe$%~io-yEHss@O3xMhZa<=#v9t zKt0#GA__AK6C*>_`zq^FH#C;{sDf2&aCg@%U~jG&DpN zoT55AwKF1>RuDCT)RF5R)?F;?Vg@VK2?G|NJ~|T>h_QS@vxtZ6r(GG(rDj%cKx!Tx znSd;F4ka-WPCSPO^I8Y*??zQn10x6oXXk{0rog={9;8kvu!oig3qtF5hY6<=x#kNT zB}H2hQRx{G`e4~=O{ojRNLC_7jG7f0LeK34qb4oqD2EVb>!!kZgCd8pO~o|$*XOeX zAc|Cl`A~|n^)Lkm5n(Mj+}gRlIlVZI7ij8}O-Dt_c~m#4Xe{BZlhQCciUi5l)ilGG z)kDrYCbrsaO{+ENW(S}#bgFGAOs3DOKfFI|S^-_e&#*D9>^S8IdtvoFkgl$5qiqmqRGl zSBRvgb^{Q3y^LXnd3ZE)LtzIIwE$+D1Gcn7Ot};TG)ZkbH8}j<1iN9KKDJ}NAsv)l zqMMP171na(HpA8qHFU^TB9LTp&Vw+ggV7!hjmS)_&RA&CEhD?(XruO~=VB9tT1Wcs^Y#Y?`-N^mB( z!m`n;ZJ+68RG}7ewjE)|+ySQ(j@4TW#Ze9pisXnnVzP2XVE5{mJ#yta_Z)Hj)@MHZ zU;NF#y@`t#FWo;-wzl31%&Kd_rvPxwsFAG zzBmk^I2>JL_>U5155fYd=EJI5PO54(pGbn;Co$dV)o3*B!y%eQ2%%{)A8B^|BxYvr zPr=>kKm5D@^@Yoq=I?xYMj*E=aKt`*6)e@E6Lku8Wb&$0X!4i4-R}7A%O_v+$RBv) zxBS%4{rvXY{c*cu1B_9aV5(D0G7@Ui2{oM0bx*C=XIs?fn+-qY14sAhG4D9ozy-}k z`dFxug-9r_duc=NkY530;PAf6p&s~2qa3pa2nWqN`w@0QvE7WD*B>8w>zCg5&R2f@ z>%RPn_g%cOWlmJZX5^UN_;$f3O>l>pQN=K#AQD}!C*Wwi+1-Q595|b&n~TSHJ@V+c z|NcMv(;s@z_T;Whl_Mti#W{nMoW)}815o=O$MUWp2g_~agm>I7!D9%_rZ_}};GXQ3 z=LY(Mh!iJ0i>r%UG)r`oFeb<hx`|^5qMOpz?Eyz)+Ov(T$?U^c^MMP;{ z49Usqq`{KsMu5d8WDQ#q;kzi)?TlvsL}ZKscr=oFK^n(bO?J3xrp;Em975A2-Q9gx zHFWB2XgBDbqpLxj)`A1>&ayRFW(1^BDxwfE7TAgq>mLy#V{}a;OmUbZ9wS%O(a+8> z4W%B7&AP4O~!ozt8?3_pr$g_RDHr@m$(SMbsR=UGK2zrBEtKvh^I7_u4T{P7i6gVJLq+@$+5quZ6``{_Y8gkQyHP(0=Vnf;qdIy3* zwisJ2bdW>#-YV?q+h}-&P>BmPR2`1gX$B-zVnOPQ`#=lhIDf3mW=&qPJ>3DL1|TDB zcD(tzpomJAlwBgbzOrsSs3Ds(g zb-MIV!3fTp3&mu`dOMkP6xFU#T?iRyZGEqN9++zTMFkFhYdd4q6p;#qBg(c8=s-mN zr1M67=z_$A9lw-=E{tnF8x2BSK3kn-ugJgP;1ewhlwsrCqII32m+j9T!a&74B zrtNW9R~cbD|PB5cR_@8AP-=9#uLE`b=3y1-T1B3&2H3jfh}! zY=;uql~Dj>K%2iK?%e*;h3)ajKmGH!f8%4DS#fJO6X1*}kBsees8m{Ki-Q?MMi{u0L};&K~=ZKlYZl{(&dn`;H?VVY|ittZED=4;oi=k!3kK4F?zQs!1o?T1XF| zRneyC@9b-H_0sl5U-zwF|NGwg-gm{dd-f9*8n&zG+|8DCpV<+O?2*PI$;>IEM+6q- zVq_y`BXa6_!HiPz*OVr)VhW%S^cK>+Eu=KxP85{>8ucw|?-S|Nkz(>QRu` zvvs)C72q#?=*GOdeTopVNHF^jysx%~L2KJk(_y!uyv;qCi*`}Fqp zu{jC^*hL~`Z4Ot%t9Fsus;R2N>Y+lb6xes0s6b}K7;3bwq3Z&nhJDdql0`M4w2+LL zL06%&=kqT2i6Ss1oDjA`fQRNlO-BDw#9Cv7QvCIn{7-MB6+_3#TRyD-$z zx-E$BV6Nps6HwMV8HYya?8w7;^{;V-D$%TwtrqR2-AT!JLq@Kdu0wZKmrB^YdOU~@ zx9UbrFA_mg}_r8)EC)S2$z$up|Tl(|_JHZE7 zPqj)LLKCl6ouA=@5xD(c1d1ZBQIm)8Oa;5zOpQ^@17*v#HG-q!)})JeX|&)Ct7UUG zTCq;Qk|nYbIvxv=8B|0^eK;bXFBBc@u3;N5Q)x+uDv?v>qdhh<4>BbEpv%01`&_P zz{IdRh5@AJ;xzsuc`lX%>8@K<>uP4VME91Y`=CiKqV*X~m6RU>HWyash(*?+Z95y1 z22y_Y|IgK*$J@FdRiW@0^~|}}+U?n=N#7D6JqZbtkiZ24qCddy!>b|}Q3BE_0-p*2 zL!*FzfPnGRY3vBXMM1y|ii*-iBIzI@Ap}AaAf!9}?$=uLsrvpHqn^3)g#hQQz4n~% z`!rRfMvba+<1bXV2QvE!w$Te+V(p1K1}`dG$i8_2_5#RPTP>0>q1SP+Z8gnyhhbK~ zO6@aQsHQ9(Q96g&*9H9(LBIa%)sS}x!Wzd6oj3n$#|JuhRV7TqQiDHvBQtfTU_>LE zb6TV)6f4lTu}lY}$AG)~$&rLJdXC{rX0dFV(PbwVXz5>umq6=KUUi2IbY`K?lusCe zlAcOgQ`j)+0?W)Z6we|N=AMl9sE(TsKGTaPh*g{+EAu z{rBF&M?ddp|Kra-_A$?T@4YtS_AzN;iG`z<%B^Cr#ewXDVtE25xn1W=jXv|{QMu>HFZk#a1ZxY-kh zK!9_%>l0Up+y>&-&8r{&$jANlzw?*!JDWUbU0d zuOT@%gI6EC@AURVzxbbC^%;Ndr4PLR)tggrY&egJP2Z7fSzo^i8$+c~Y6~WN%iCJ& z^u$1H7$fKLt&{T?&!2zh3tsY~m;BPNzV6(mN6*|uKhBb?9Ld8rF&C#+XuL_lj zsqGBd%raf(*1&t9-Ag$v><&!HEFFI4{`bkM5yz(-C#*a@o=4~J`O0tl<{$jW-*x9l zyy##uGOdWxV5tb*1^KClNCYq!hOFha3}V3w&QeE^$XSS)=gy!1z*}Ga5g+-HZ+`X9 z&68WVuV2GBs+`t3Y5xeZ(NxzI@1z4mblvMZYAP)ClqKIDG?l1g9bvWhFN*xZ<+!Hq zVwBt2WT_;nkZye%j5PwyoL&q%pWReXtubJLdX2lfX6lg{mi4eZDENYCnkf-zWmN+z z^VLeKxMUcO@$A3SMNhu0>_ZzJnUMfSmz8v_Oil?Qx^HF^yj7?m0~-h0Dy0Az=xbV? zIoD2Q-vygiS%$KU4*RbapeeJ?sG%TAhhK>pXQ@VTW@4t5FX-e|Rifr>2Vi#_3#mGJ zsTf*M*o1e(wiL_nxTd;C$NuP5bN)#d*iB_MABNco) zf^FvAM@kfNlYgsaQaL%(y;j)9hT>7s#R&czzUrWQG1&w9^$V@G6IkjVIjn{gtf(kf zIHjfNETwOd=pz>x540YtRMVq`Z~I?ri@a7cLTa#}HED4e){2PfRL8?J)L~VJdPJZn z5h^_BUn12%0qsZKgIL#eG4--W<^uGou~vY-5SuWWgcaOlk7rA)g5Yy+sWNAOf*wgkbqeo#&NKQBtH|wGVs8K`0Jd_8$sB$UgnfA+%(_Icf%@ z(+K6j%dw~UsFUyi_Lq?YWH=INk=kf9RJFi@L%G3Y+pZaq@_6t9Mbm=kMS-IN{wE(BBL=A(?MoAqj zh6i@rJ#cmpMG><>6?&;t2%IFK?kTM? zRDF}MI0@UQBrwg>Rt{7gZMV2}9l~s}H>Sb@OnGaUkQoaj%f7qI4cc zI}OQTnL+anx@-Wg3M`;%aEHm*aEm%Qi3{h?KmFrA`IG+C8{hJ#i+4O`SDRCwj=2N3 zp$=Xq`W-`(8fBD)QcXytA!bgX5?ul7<-)@HhTXm4a_>QMx66*hhFG|QaL<fLFwQxoJ0=#JH( zb;ww61+ta0G8EDQ_L*yLtT2@%7P6DNt<`ZpE)W2Lt-KHr`-63BEA#-yS}{WI*8bk! z+SWvqBWjjQG7Huj7GXW0{)&BFM_BB({B9v(xKInzg?Za*ysu&|-!@@qj)?ZNnw67I zwU*BZwNHUAg^?Z9Y_>f>A;NSb)iPDb#v22VOUnx3YfD$V{MrHss)CT}C8gFt0z4+t zN#`eIKRY%QCh5MnK6lwhmTjhu`8t`1-Y+(8b{A7uDYgqzYhHks3D8Z23Q@x@*?7LX zPeW&LjD5R_Nx>jPFVkW}yLD$MWe!wbjTWOR_2jMVB$_>-u8oe7p-Oa1OLcuIC7R8R z`wSaU8&}%x(xWzD>e*4{GI>FcG=*0{`wJ0HI+rmv0EwYy zUIsunkFot+$&K=hC(S?L#1<;pdHIod5eYa(?$dZ z#}s8TQ^ zz>q_Vh(X^uzzug)w8JXKZg;ZXj^op-Ab#SXf6uvl-}~_U|LD#qf7s^oWBXk`-)vVJ#C-raE%!h z78Zao&pFKqWLdE%l#xsP)pTz2qHs%VtAR~M!90u3Ez7e`SrMZq6~-1(5ii(Kl5W=_{pz% z!)q>HzVrOir3&Qkbca-tPFI?C?7~hb21^6gd~LbV6liSPw$xNnA)KvM2ZEZF9u(vJ zKpd)nzAKNK&;@(4?v|2+)1A zd%S`#nB7l`0-y0)aRMw8Gxq0!s z)}CW%$_{7{$ObO#O@Adu1Bd6X;> zThXRb;st;)!e(5_G_yFh^6ri<`j9R07rP$1%3UrF&gBM|DzXh%>20F;SB zA-jIS0E19?lPl3V(O)31mW8?7$)!0Fz(%hHq$LMcN`Ise531o;EO&*rkOf)BM3t-5 zn`A*5HXC3$Ozv`=#`h3h^a;#1+RN)oaR}*c{1T1O@+$>kOCO zGP{4X+OnIWduT_-Nl z{ka`mrnAc$duY(;e8Yke9@1A(gDPS7MsL-ixg5rTj_#&H^n|rfFc|=w5RrJ7$&C$jz~WtWE|R0#@HVBV!rTU8@kn zaqHeGPlp-mQ7Ruoz}GpnV#rLVDx@09teI&EO-a}P_@1)*Ja_s@Z*1ZRgg&Gp!L zyHKdGGNVAxwU$|{=HTtVAg3%2mr9#dW;$C_Wgx45U4}E&xs5VDPS*b^TAx4!Y~>c01!9v^S+x#Nx} zJ^S2T@_MA%gQTB69KbGTVOAtgcjqo% zIC$FgKld+v{*V0RPaRx((8-3^*|*)x64%)uo}o%6FBH5Yg0J70l*iLSr{-j)Q|6yNBnk ztH1DL|N4_Z{WI?S)n7b3IA^?@ZMtYVp&vHeHG)(E6U%!M04L7q?2^!=iK@-!52inU%&+R3IyGFg#|JWkFMPH9slxGU--FSaPg_nJUxhQR-}f4tJ9gGiFzY9Dh|aK zVXH^L_4sXx`pvUyfR(d$2jl4B-+aw;KK?~-{e_>*(;GK#Jva^y08U%9#8~q}TUq9Y zEiQ4_N$lW^5>c=#P9#!lIYPUnb{bK&iP0z3VX~!zY~`16A7uq{T0>NUtZ54~t8y8h zWq2)iHgUPmh%r;qfvTzpCVHwPT)1cR;F>T4d-RF(8J^3vqags*Znd1viH=tb72Yk2 z_H;hi3d%%z0D^9JWmRRGL)OA|$(-IveSKp@lZ!2x?}Y$~wxu5KQ79Lcp{nnUHc0qS zJ%hS$jT;?isxfF*jiFo&qsT#qIbch!9U!!q&BhaI-b$dt{U3V94*Hw|bbf6;>I}%~sH`cpLWLqj&){Pg-Si5%kiLO|!jC|Oz;go(Ia?ut2y>qZ#sZ`^3!OL7 zAu*(AK?u?fJJ7Hoh02lcb=uQU$~jzFuAs%8?&oUVkzx8+N%N3|EgPS&<7sJGwK38+ zz}$GP^o2ZDCvxeZBZR4nqy|l{l~$^Y*~H_tZR_4Lt3zgUUD;4fnHsoei0xCW%40*a z(+sdE3AH>{AYGB!{czk&ra5K*R4&l@*uJ)Xme{^hE8EFMHppW1!=ZaZwi79KI6&2JM94j{CAqcC z%NT(eC9LGw-KjLTTQwGlA*hIsZ56%8*_^8%^!QtWg!_5Ke_CJ2v7eC^WPq=yC{aaSu zbJx+6U-W`c`qLkL&-*Sv;_>G$Udq$cDri1~i_R9(FgWWra_xUf0z+AYSR1NqRmP01 z#)YV5@t9?7=LztB^brn+Kym;vWoQ@5jxcnWmG2&+1x%&}IkQ(-rd$XKssN6KFT0y) zzgf=27zc=xvR9gXaB&D|K#C?M`AO|SqMF92G?X@Gm|sA zZbMAp5MANwFtKmukTdJ2c0;A14wGyq4AHbOAP+1pmRxGuGO}%ARb&x0P*de)H5B}Q!45>3==9zv3E4sjf=M^AJ2&31xS_VQEF*M*NlZ7Z` zV6%ziTQ|3le#GIGM}O(UP=I6nYWiK^C)uhzd6XX}O`? zzDL7Usc~A@y^y8phQisxt_ei$YHs4_{FU$gp&$9GzxkDyp8Fyk9?i_cVD1nxYy#7K zPto+OeTV;{sslUr4>N#r&O)qt#HDjb_y6V_pZD>f_@@8)pLWOd`pt(9$2JQQV-{+l zA~JVtgnGw?A#J(PM;Y2Rmk!_0?6&Du6K;5r1`-9;nvP#z=#ptIG-Ta+$yRF zx>LI~=`jMPI%HQB9e`z_!EyjXy{c>1E4W)qmKy9kg2|==GK^4k9s14u*HPs{o)Anf zKuVQN+NxJZdkPuBz(~_Z`Y^p++8w~=4%WNK#|4TbhWXVFCf4~Y1;%JVrNq*7{IZ|; zMnPEJAxmx?2zd9(wchah+F!}u(mMl!DJG*uM|PpE-mH~0D-(Qhj@G4*Qr%;Pu>K7B zPTR9+FhA(*x-qqYi5VGfO@D?<&J+d`?t6wOGRDKrck>_Z$%Ip=X4_{}v!ln^d1B+AR2XHi?R^O#tY^)I_HxR42R^o7^~RZ8w4HrmBii)IYA4yBBVW zeY~m^mCddUbVgcQ(@Nz4FlS~8%VdWOBAE0<(S7#%=&NSJoTF!VQJJ|!H67B$gIWMj ztXQ0eVMPn0()->(5p=>}s#y>``BoH~U_fKC7}3?GYVN0aU$)ZS3}mVb?hNV#1PZa6 zRg8(+?M_DSZd`o`7(eiX-X*&k?!p~c=IO0Q zV{>d&sKAnl-^NZ?+L1N^N&2eb&a<@dm6?c@@)P7Jv7EyX_$Ke z(1llq-^v?sFhXsjtcdZkO*M9LZozJ+_UR}UW-$oPS=&6^j@!46uf*lIzx#D~?{CMg z-6==xQkD`#4OWyg4*J+M_v7V9H9W}NR3I}>d3>_l+-3N9P|A zn+%pIX<@dexZ-4ni zZ~T>m8gsKv%mi{WGLZt$zT_nYEm)Tb&z6yF*c8mHJS`^SM@XPzvpGQ4;gvh@c-r%R z=S^>W!JqkD#NomDyH2WhGb`&fcSS}fM;1@BfQZdJjeZR_bSh+VQh}7@H_mZMV^CFw8D_V!JlIR^B&r&W43A3gWCP$T0B#o_7 zlvN*c|vmQcA;dKM6bj>>6)WikXyqaxjB`a-;q@Au9(L|=Z9i|WkycsZfVi)tu z46`(X%l20TlA&APLmmvu$`gsql}AKuK&h=(g%!yNb@kdaIOSJrKurCZmDpw0OvOXu zP|)9j>ZF8^m1HgA1sH>ipzo8?U)Aih_S8I3BdGOMgqjgm$v9>eXEg9}R~f79Bddnk zJ0(}sp^G-gl>$snt}W10-2}`P!x5-d*-lld^NyS;eGJ9ccQf>vr55vh_dgj zAcf>nCDRZ{^>~ZiO>~G!N5lFK)omCQ7OQ(*ss=?X<{(gOf=X3u!IeU2+~(&IP+JkT z7k;sOer+9uC??(TQ-`XW=`qYw`JM=aQo^FF-x6+W9=#0NoxEwAxcJ(NN>hU?k&_7J z&|Ti3;;Xn=0Q+C7<$VzxYcYe8*dkwwHIeP7W`R^Ur<$e|gob?*8zPpH=7YeBABh zQy`;q*3LfH*RPiNl{^C?bua1XMVa$zyXWwewkc`VFZy)Z{il0AESj^2-eu2GaW4lK z^3Z3?Jp!?M0?F)mIe_wmq|N}_5gYr%DWOQKLuTZho8YzE4?phCyPy7XAAkQl-(H(I zabi-Fx0LShBK76d+6|FDzlC9hLBxotIS#jn&w9}p{a>H`&;ISd-kiG!V|QA|2t*}v zN`(|klv$jON)@k^?WxWfRRgM^LkCRnq8w4zf;fIE8$Jt!oeL~NnlJTvtL{M3H{HUF z6u=>t20@{)dec&qusdp0Qndg_?4_WK{8PxL+M3=JGseTLwC2d6f&9_YP2{v045I)FV9SF zwioVv?7#Z)pZS}g{iWwW^7%O0=IJrWF_;n5(Wa8erBV=W5<3&D{q_OKy=n`QCfP?- z%p1G7kq~_0MLDE0f3V=B|D%?To;>+b2ATO+YJ}dkl+@=EN9_Tpjn{yC{Gh_g2*^eY zh5}XSflg{0CA8tSV$~pv$f?AMsu5^4Q)TI0+ zN{u?a*V&`nOfQ&m&n$~U0~Bk(X~huK|YHY4e{e8EQhAC0$05HJ~=hj%=M$a0Bo@sCr3NsJqI$ za+f0P6J-gUjU1?XAE*xeD$BBW?mQp;Inc5@_{wSucnLhU1} zmMGp!($SmQd<(y8mZ@LSmpuZ&(mQR1nR{WSwiVQcRpudSd}UYP3q36j$i{y#aiKu9 z52#WC=~TY+(M5`rGV$DT*)$+n6G$Xf@w}XUzZ3WOL{++GEsZ%+M^EJo4RpxPyd%IhIoL;Elr99}+hZBk*f$}kPfT_Ep8jto862p! zvJM~#azGR(6TP<`HSKfadl29_K#x+TtiNJ_@LAPSXaCmvH)Z$RUV-r3gUYIzY0aR* zhJsrTV8kH9>0opR2>p4q_!5-JRy%IC7**Nj3b4{Bv=1a?nb3En+Q%$UY$nG!2~fOJ z_cz?*%K%WB9Z%6zNmi!knVL;hTuEkUjO8WNttYcA99cans*8`?iuYMy1Nh>?38p7H z{G$#nM6n^Ax&?6dD#^Pkjx9i$a5!^Gh-9HG+5$p06_#hCtCBlYI+5Gc+duwKzO{J# z&c8?V~=W}4R^;FOQelNZShy6!6!D0vVc ziiUaKj_Lxq1d2H}n|X>&o?_m7?XUbtkmqjP+>A)1dZ=k`R1Y46XRLd3b-++N-QX4s z0-Q>6osP_N&w0t0ecqS8;$Qs0(Zxp%j)@&(6GOR(SuM)fHKp<&JL`|axY^Cq$U!@7wTeRaX4n=ZFFMg?Xy-*fI2iaKDHa_$_Yy! z=I-{%jeGyiKlrLI|NAe0_|320p3XSjs^4tQG>Z}*@}nnZR#i_3r{~ADnQYV-$jk~2 zB_=Clv%zWZPV!@vr~cALH)f8`rK~I(NQyvtw*Z z^VxN(D&n_Nw^56t@LIma=FFmTKVP&!bT5GR{gT~wHGOacMvFL@iJ1xaSk!%K&&VPe z6}Hkop%tsjG3=iqpi4TopWDi9SZh!s?TA2MN% zVv2}#R9p^kI_?ORgH>>+4J^3Hgn>vgw3c$ipN?FHhTPav% zr=jyHbx^HYG^O_Fbm@nXRC%Y&kB3Mswp|`=iJ4?Kbc7M+>IRSS+>)lwvkIKG^o(Yx zx`MnaMhwZ70tyD#adDhRGnpWa95S1|B!EckVJfHVM1o)-ElzHU)4CyxvtTK#R>DNQ zEgK|hwQ8DTU!!@lvNBy7v>-UVu&%}hyQQPk2=t}s!X8~<_$e&oK$~r5RHdIzY_LqK zOm^5H5uQWNtejJR%Pvp<-#`St|LiEa)Xhu=+gu(&aIicIjwb8`$<(A?eV~f9sFscb z%U-|*Q%(=~+mxzBxG=e|sE(eoZ&|V4H>gMrHY>wWLsT@t?qn6r9#n8ZIJoEpX#!4k zrZW9XH&(g|vxJc{R~LSxv9bmxdI3tQ6ic+wSt7K_Z`2Y&OK`=7l0!0d`l(gaCj5!= zK!Vlej96TjO^R%sqe5AH0M)bT%RtAtw}F!p4yl$HHovg?M@Xze)83@4aYB0WYT74S z$ly@24K3XUB?P1t0_cz1W6MKiv%e)o?M7MbkjH-+>wK!;Gk}>>1f`>4^Iy>yN`BrL zKy?p->7)c!otmeiD!L<&LvpMeQQ_VyQu~`;&=t2iw^1+;KnG2wZ+1+l<1E}`B251f ztXAJ{rhXcY8Ez<V7oBc4SMGXz9`8;y&Mgyj z1}cEM$sIK9cCxofRsu+9@=|*lc#UZeHZkKl#?Leei9+HBU|sF~ZaT z$X(_Mm92@r5PmVI8un{mNGG;r8#x#_J=k4*?u)G>C=|J zpuV4M8LT&7ykP}A+$P|}k;zx|(PER^VBcs~bH5>bVLv5L4pfd(*o>T|G6EYH@ucJx+GVl{q%MTQ_j&o*(@WKlRct_@c{?dFtV% ziFOq?+J4OqUCYuojd^ z*C-JT4yDnB$`uPst~8`1H=Cs}AG7u)@(s1+F%&53QRKM%fW6|fU*_>-Z)7nTT#MI6 zs|v^l{@QA|=@)2JAH7G}kkkH-p{k*^WbMCn`=tvE4g(U6t))XBPkFGPQlzKyVXnN? z9ze?p_sIyzZ5N=Kc>r7&jE3Oor~<^CndR~)Ag6klQ0i7mX(@rG(3ol-!T`yKFg+2{ zPSMQ;%J#QRjTpy?ZS?TGyR(8(wDOYM0Nsq^VR9=))-zGdg`QwuZ-FklE&A4GJk!>Zk! zRmjfS+YAMP2#(Q4p~YG1(#DP_tH0X+81&Q~q7z~bzH}s)+hZj-bY;6?q;?vGL^>;K zPa2If%5j8WN_!2#9%nUlt~?U7>vqZ@XqCnw+A(2o#QmM6)=7S7wxa~9n-Ke86i}Uk zDqSU8Pi?57Pl zr=x#!#dS827JSSz(E9 zNJ9zMOe;D?ur&q2cEr{3kKR7po;IWEJ#A(&_mH2CPuM6gr|=JrKHb&B(HWtZB7L_4 z72J%I^DN-dxdo30rGW`2M{3`?2p$ANA(rPH=YE2ikhs#%U5Hn|`aXmt<%Kz{PmsKxM>01(3Vbo4eDKYY%+o7k~c$^%Y-u{SV%q zBM^)P12Z-pqiujpVfI*Gls7~C25KatT=S3Mc6+enuHwS8U+@*5_tIDV+aK9pess<{ zo;zZon1~WLM^{_{jxwqPM`y;@IBZceooUg{bA|@i_xRqeGBP*=Ql>c_c9NS(CFn(q zh&quBu9iP-k42(KBGQp|S!x<8#w0<6B9-b1Qkj_7@B63U{53EA(l5LJt*>LDGPX5U zX(kBO)I~UVBMYj)8%`kuEQmnLtX2_-5viQXfrH|F__QAN>=*p%FaFYpzu+Z|?YYZ$ z+`fG>feKlWER1Ztq`vp0!Zu;5HXvv@U;6+PTZO91Kyu{4h^)IF`=nR>=#PE&U;OLm zp8S!UJ1*@`Z&hXueQKY_)@`sobeqK#5vUl-2?DvV%tGxp*pMhDN1Qu);MacXna_Ln zufOhB4(9c1H}BhS&uwu}y@{m-3(m z6!+SA!kl9jHhZ84&-Olv!ZGnyo3sTfNr%s2$qE6&J0^CZ99bFy6ir1%n=%^YlQ zy4M#iT7uCPWSh&sP02e-P`rplPUD@zeugvJdJBu(~B9Yngi)>6c`PMJpf8;BM>L6 zwi;7f4vO|K{Z1AMIUs8IO#hPptQAK35tf#XE@}0D2M33SoY;q{S7X_2WEMU5b@7a( z1cUui_D$JW3YpAWgD&;dv0wP!Ijr;6`X^Cq9y8}ZE-L%so(uv_eF4gcw(V`g>c#YewN9IUIq5n2^EA+mQkybFuM_eu5XVt zwh*w7ZDVSQ=X^Hi?u6%#j^^pj!^5Nh@pC_hlat#IK6G^Djyl}#Ztkw1T)pzF=k88# zpS$O2#W;86(Wj?3i46c~>XqOf+3+j@dJebZl?E!hE-n}EaF#YUO-x9&Rf`{U=;G^Y z(=1(!cG2Oqq%FRvT1a~(?q|cdmGH&w{nCdk)6(wn<_=ntxOQG0#pH#N5>H)dx)Mm z2nLDFC6`lyfj{oncR zXT0$LnB&~#D|eji<|c+%MWGH$s2Xz=<&pZ(7!v5@MK@px+GXn@s&3v!@Mr$>uYAEv zzx3cKAAN9i@#J(@6&!&?MMNQyn6&Z0xD__eQo z*2jP1TYvGt9G={`eeK3J&e!fF5lVy<191jJaZj7I5>xFrio^P6OMYzl1p>_QhiQ&l zhuhXK6f3B)tv_`StA!(N-z+F%^W+KG=23sm5ga}QU%4b+n=JF_@-4?tI$avgvVbux zZ%{*9`Q}&-RWFuj_O(q!H6YZTa|dc2e908m1(QMa*&{s6RuI~b0cgjnqdcnsrt6y7 z8!v!vOoJ5XNFa?Unf+jNnC{^hwWL_a@137cWUBN+PhBHKe)Z`2(tAt`Oslc5?MtkG zWl*JpLP_GJh2Ql!>22#36y7pXS3cc)=)*r5XBv)QjH#=CdPD#q2DhzjCL&#llAQ>XQ*@Otnb1fIe zvX6_{n};^vX9;8dY45yGg>bXkKx5wmJy!>6!tU`f{?JB^5kO6i`e;#K2M#S~WL5YX z9giitJzGZ^gjJX7O}6ZUp=B^QhF!Rci_)_W&8J^C)rYiX#O%>M&$-%ZTUBBBYX8x4 z{aGlESi%~hx_?_s08;LkzyQN-RN_PWp?2ts2H8wY3bJ3%PZJTnbf&QYlqO}%Re)-@NaYnwjg+c$X$W5}4`7dd zWCQ*7?e3RKt7}OrZfZGjan$Uq^yw13?V>PSI)k-D$RK<#A*?!Y^+lPfg)8a)sXP(py zB7Z%ht~tWNeFQp)gsq24q2}b|wTIvP^e27TOaJ=k9>49^>Lj^CaKwm{8xLH5_VY10 zEa*zR`4*ho2}aR-1q+OCkO9J1@3(Kk!=mX3&!NT&E0HfgWW+_6O3?bWhj z3NjfQ+mSw{KCRi718vHM83cx)0!4U|mRz2-B?V;zEVn9V&RJte%;TH8+gE?|`@ZY1 ze8Csq_r}+pKRn@czM=iKIV>sn93pude7I&w+lSe<} zqu=%0Z+phae){p|{JHa&PmXsC!P-eSaX?Z%EYw1Uwj}}-%1G=h2`jCOC+2R4%;&!7 z#lQ7O@A`9}{-=(f`0PuU&+oRZ*=l<=XCb1hwwnISHZQVt!UewP%|JG2&jf0Y4XP@~ zd2T=W8^8R~pZF!m(MgwTNrLP}B z5pu@Dj>FumxY`5!7A>II7%9TP=ej^s%&9|V7ND8W+0G&x374_sLfhJY zM}VpYBBk{Sg^)I|B*GJxLG-9YDAKal$akbr9yB5EYN9sILS7eV!#t00lpzspBuq$~ z&9O1sx4tWkSk=9&vxfo>iuRVv%Uo#ATVz=3vk%87=r#oVMb|s{wyTpujHr-CqS~;O z2$=9{I6w-=Z;0-u-601gk}D`?r4ddZ8<;Q0}ND3Xm}2yNDOyPLi6m+ zz$(BbJsOxq?bRdtY(ZR}IZl>hbk9Slz2pk}A9NEeIw(qf6FQ2z3CJ=H-hUzce25e4 z(%soNtw0SYi<*=D4f_68(ihyxJ5fLYwi8(zP!U!ZB)i3FO8(N384$S30 zt7Ao3oM^j=eJJDa(;-icp@9#ctD3WF!s#dUsJuN`P;6RJs99pqW&jn|0MP&e4Kg6a zFGCm%ao&0j!E*seQ>4nFumd@V2}L5tKtGK-OhO3{>?h?B-Fr*s+Kqu51h9fg(4BU4 ztNK9Memj<7`Ae#KmSxwlh!@#%?&a-neOC^eQQfq(X-LV$8u0WN_r*_?glvv{`)}E8 z+xJwL?PS3ZMOtJAHDE1{_;bA_=l{l?TDP)aqje? zhp#;SBkST_kA2iLzWEiesO=Te2{{f_^?IgT>F{+uW8f7khkZjELe+cA#Vj$PjgugQ zuCvG-$>Dl;Wd%DNP#&&l3pN&IN0RbDC07 z9O2;f_SL`eDWCku|KeZ1_Pf8u6YeVJ=}vp+TdP*MSYyeUkySYM55}D0J3AGEMblIsMN>^oUHd!-vImbcX zKF;H-ulm04`2T$VOYeQtud<>rG~xJkCU*j!VccqU-%@qEQN)N_x#e7iDdjWMbMDNrTs3qU;|XIm6tm8f|;o0V~|d&81( zirpp-FC5(a`qw}8g)jQ`|NbBH_QSgy4{ye(+D(FE1EMP2M*%3b27oSqiddz-4ym27 z6;APSlU_eyaX|mPKhvvh=FZ9j0YnEp(v=s7?q2mW$|j{t$I25F(OO(Ls>!yxn9gRU zCX)Ffs`nun+_ZhI=vF@nT4+;gcYzWQ4pdO%P7*b%+}3wB!edp>$N z4)%Vu)L2MuFKlKqmqFFCgnJA~Ca)H{MW~rsaELju6;cq~XwQqHYN?gVYzd5OA9q@x z^kwhIV^IytVu17=c7S6f3S!BIifUof%xBx%&J@T288sX2KxGypPZcxxH_JhJ$qcLp zQ%c5ob!>H6EGPfMP4DzK3pMC4%hrIyKFRfFp;HZeQ`rv5J=jr;*20Zb47$p^u)E}U z+$3;rLqfY(5vFoSvxPNKxY;1ek*I@V(WN?Us}+-uPuFjrp5 zE2Ku-tXtRKUn{~Ys#wZ;BFEYlYot)ESfwINMPUD%Xr9*$j^mWtzpTnnS(r_`mrIK} z(g(Zsk@QBTZff$|+Vr5qyk*BxrNLLS*WvK00^N*7?F&;pLUWyZ-ZS<`u7C-S+E1lX zaOI0pMb6z+7NXAh4u(C7uXe5b6&BN+T_Ug=&!;KV?)C>`aw)0^PNaK7lozN#iVJ;wKb4p;^jumemVY(oZ0)?Wfr+1t%&a?(~^HM#NHOw+*!* zn!#qZW8DJ-FrRTa1WOw$nYRUMWn=guc{sxzcWf&`(11YK0{yhs2tWl{BXbT$&D)2U zAM;Z`|I45GS%2m7b6&7}=q9lnn?WLrBQTHWwYU7@-}|<2|HohbcWxg)%+suj;O_MF zIL0Q%s3bHSj~1zkn&g8`9IXXSH?1-FSg(V5Low{(@)+w33b_I;Fsku8ke;MQa2*+_MbFaM&tXV21^5q@GD-KKEG*}CZs+xOZj z2Qa;q(e}CjOc=EQUqGP053GzqC5S25lT`zpGOSTmj1g6+-O16>xzmF?|MX}5wg2|x zKYI6bUUDlYce~hZYM>?tW^tGj)b-@LF5;h@pwJV6QHDtBFbDWL>FsNKaP;7te(hsF z>62gk^FM*zNsh6(_{8&1dNR(RkDS$hTFTb!tBop48kKddHXOz@RpjA_n-AZL!Gntz zk8j@Opn5i&3zF%#r&T)3L5q?_Ht%vfK~x4tAuCzPKvd-E>F(UQ%MbkeYoGtgFMh*+ z{)wE|Z(hB+*=$K+h*=!L(#tB@(B{YCV>R+N#-w^3VzCk>;W3oUk9C^mdb1WcV?U_P zRi~Kl;bNTJ4$=6e>>iW{fNg~~v~Oet(u8QWcXU82l+f22hG^ACRi-)YBQ=RS*rS~7 z9GYukJ4OU*3a0?Y5M@J=q|Uvf$$3$^Vd2DbIL+I&Qv(LwPotm9-hEHw+G%w^dx0){ zOlt4^*|rtwp9Ct)%$8yo??)m6vnndwHkXsrFQBp%V*FqR(qP1ege8H;rIdqxjQw zo*8abhK?+P=0~aKB}9kz%NHBll?`QsB>kMFF>`Rxs(*z{MM3oU?Bl3VLMsd~DHgbIm`^G}FcH>T; z4~4o_wK|QeFQS48wvDF|GgK01liKfYG{XR9VT?}K(9qt+u#!_!eF+c@b(Er~5aecRBUx|p0`vDZwYH}lL z?Y#08fN006a%E2JzuPLlW&f4z80O3@jE}IN@ws6P)YNIVxK42rQ?eXg!-bKs#GK-_ zOgye%R7JFf&V|{3z_pc*3?0T`Wt~xEq!FO)sFjAurJ4>m+oXquc1MdP?ruBo6bpei zG!Bc)(Tyc)MMl+*vB7CY%{&_0aq*7l{fR&O=HK{(iy!`kJiax=gVQAi~LAdl!tKyuQ}m1~?x)rbN57*}tqCIa= z-~N`%kA1>#z4pI8>Jg9LUH<^Ln>sy39H?g{i>XUHi^KREwLffPL7Yc4+VPXc*$Cg^ zE>Lhn3~iRyO6=1|Oivi|AL%rgX>z?syJ8)9*(jEsRT&(_K-aod(3!DrcZSX3<+(Zh z;=lQ||LR}7;+|)J?D1w3$0ytzopMJcXBU_@@?`r~#AM3YEOz!oB`y0 z1TqkvP13HYXgAqATn);+3fgwlKF;qOo;Zp@RSZa#xn4jjE}{7dDLNZTI2tgt2MWT+ z{%b@>Kt)7Rz`rRI!wfpaS~W8siX_xU(C^zz+Nh&_foO?n`o-i4E6bHZO#y~`3w7l) zB5P_5*z;#)1?X34A7s|S*G50FzenF%kXFgG!{m@Hk4|CfE;tAxLS4)jVdQ_RKDyEa zL3o^t=3Jb#$YQu%uzC=6Al^|$ALgh?;tXo@UG@tV5EQ6sNRs40Kb{e!_{_k5YFA~t zW)DJZ-Lwf)9jujvni)g0Ei0G#m8i9yEDJm5HHcncvMVTQDN!xu(&FUy-XQiNY4i1p z?jkghJ>m64un>`Rx>=Z6X9rf`EBeq3RL?R;{ zYUn^Qs96$H6D+2_Q7A3mDbK2C=S2ljl{IDJ&47cqu6>|)-Un_UVk%-lKY)>QLr|fr zb(LJ~FsA8lFE!f~G(FOR zx7NadACwG^gP0we3zAXdLp7wfTdGpZqg)56zl#;$?@P=aK^RsvLPMx8ct;+{=I7R0 z`&Zck<}#6b=mAu>^kVge+#8w>Z<}G$W$AFY1J@7nD2{Y=>#9-#x1~yUY}!RKXU5)o zmD3Z=5-o!!^Q+s{)YIOGz%+etNa@^jiq6%aLZwRGw=JS=V6vF9#T|n%*%5E8ya7Ql zvSzyy1qMZwRPWo(mIZ9ik=yN+M_+j2)8@sCn_b3+A{;k!hp62g*MIBP-|}7G`?A0N zMZ9(2twQX8n8Bfn*)lZkaLe|^@sqKIE(5y{L62)LPg}BNw>m~%h}tf_94rNv+t_2N zTvaCU47Uz@stSpW4(FN!u}P;ybUf=Je30bt(f6q`8Rw2JT=~O?KJdglpZ$oBf8p`z z>F(C4h9ywWLK3?2dpCeE#A&U#{w$g!M*)$E*qqGW#S0hjecKy?c;CC;_Q-SRPfs44 zC<436k$~bD^!@D40}1DW_UxSFnB~!QzIs5O9M_7ze7Sv01A88_mML$_nvT~B=1+&K z_51wO*$!eKD({~p1xneT$Z%w^u&dp<^Ov|e|MGwQPyf-&zUHpyzW8`#?Q*jjC#Q20 z8yE(wLaiTLD$*A1n z^zh)W2Y=`FcU`)2{~x?1^Z5AY0|T2hg;SksXdezYZq&xGBD+Gds+zA_5e+(Sa&Q7^ z=+6S}W#Sy(PzMny2{sv#%qVAEb@WBh%PRWZ0ZPR2#JBFpFYju7}p)SpH1ot z%G-ga{SqAN_ng&hD}2rgG;tk3)x1W@P#X`}N8-yutv7>wYBi-j7*BkAC&Po+62pC2f5(tuy6x}{*Sxqu6VJF#Gx<*zZ2u|QeA zyvq7I9}Rz2I$MGUlk?2UF(}ZQYmwc@&IC?(2rG1~%l(Owb2>wP+1HWn93&+Ns%H7x zS5- z-kDk#^3pWysklW8s+|`s9zbTD<~+T1l?UTHe(-y5{K4DKZ8jCajK}~_bIaYFo5OMU zQ(ye|zv9dP;dlSv^XRUzhjj_HDr}BlNA)|_N%Oq{E^qWLUb}H)= zUeWd{;1sV>d-w0%MQKh?sVY8^b7oGH@IE_&8}`3yQN)l=G8d(!^_dnA4v?HAM#SmK z?Q2iC<59Rc?tRXE|pw2d{8A6}F;LJQoK6vBColk#W z#`#A*@tJ>ge06)_uG7;*<;LV$f0dwCRsS4izyH9SUwbYNHk+}VwH?FcW7C;N0;3PM){$<=EwvvS3t}1Ks1)F;8aau){kbpr>hq6#(smo6R<2Qk=w{SQKHlX9)fboI^jpD`tqQ50qE0ZTpS9>5aCvNH zIcQWOGR&`bi3*t5Atw+_?hv&*4xB%{^w978`ki+^^1eU#%~`i@K6Ed0h%hW$$O`G8 zu?cR3c`V;eX3pl0>0S}WJpE3KkyqWLI7L0ZEs(6bPoCF3Wn=;#`sO7PFw(5nuuW60 zd!?V2x0Szgt4#<2*$ctF{1wx=FR){7x!g_#XXkC&)yNtT*dMpeXp|tgn6_j(=+#$g zfn+U?)*@U}8ED9ADC-o;9$XmWX8}EM&TAa2eqR_&;LZbc84+1sO$yPdK#Ve zG7ao=i8F(88;&OJ5s5?~0-x+H%x`0_#u5#`G-||u};l2~!-Hat`I&DKj zI(oPHw2@}RF#oHzY9K~iG6X9BG~ zBO!fC$1Vs2Bf56Tft%=hdVw`6TD6=t%Q_-Qk6f-t@10-`2gPaPpv-4xt-IH+d=!Pni&B5@Hf|?liDmWP+g(l z$}WJTR4|T;uJqRj%#`R}h!MPb_5EmYD%9)l8CLSyoybfG@2Z7Ct*fmqZ}{F%U~9Mc zTI<(nKF<9#!M0y#*%LV40T!c-TD`uOGjD!raex(wMH5$6i+uq&b0Kl0xY$A)E+L1o z^lfo!QScZ*aG++l^(vdXYD>U1mbU-Rn(rl?I%5w|SdCjdK7>}?K|uCvvN}NZ>e&g{ zk96i?UlQREXaW9?BcZSC-V=??*50s9$W#EU4G0w`wluFQBG$(0?=}0ezMMg4mX&W# z*?D)IZBqxERL9!rjv_3%;gX7X^<#19U(K+D1CQ!j4L6;3_h$P%F(k;c+BXJjB7%v^ zd9dBaxl14RqECCzyFPI7BcF8g@Qrb>9heh5+U2cnaC5}#H?F?z&ENck-~RW%;BVZz zcJC%4W5=m1Ez#tS+<1t^ERi}%c>c@iw2l&wO1}aM7dskT>{oA~F>a}t)8x)Ry9;N~ zs@bcK)hMdyfk~mgEiI0iZ#Wp<-GAn@4NE}Puw9n3uBQ1XF!qkvE_{d_JFPp zk;5qkq#7wE*H3F)D{GzRwn%4uhqZxi2~*;X4P$Z#YzpVkZ$9w)*WdZ%Cp_@>*Uvh+ z@!)_{ z4Z;QhjHsTwL?SS&Kb)r?-Pj7$` z5?9N1popP`wz9Jdv}9x@IFv{2x6zHTaYPj>$~2i!wT_GMgMh65dGG$iwa?al(pNfSe?0_|Ov=eKmZCEmT%iGh za9NRv&=APXxz4#Un4xa8Sa6-BUPT4;q;T(2DKFw{_KmBVdI{3jYHA zvOeV1{@l*X5rI}AmNwA87_1CGdFxNYE(YnK(QdXcwcVd$aTjhjd@M_EF?Si4Fudr4TvTcQx zQS0mCPAuhy3gxPXjw(~}j-fzF&4m>u!d-5Op1Fs9AJC0TQOT@z-zHHtvHDJ;3o1kk zO9F=-N# z{_wc;2#%V^b4FE~4GS5PmB-W5s0T;sjQUhn??#txm9U-2Pj9G|qFDb>9(rp45bF;b zsW;pSUEdKJ;|MNQd@8J~JvLAufIe1K@ZH-Ap;UMt;RYPBx%TjVcOIO3-ygi;_CwdU zyIZkUpXOO)VZyRs$@7982-}-gN22OQC@Vem?18Ecu$j3#y>-u1pN{iap7hw~zU$o| zxN!N=$EC?-AduWO?627tUDuan_Y=_%A+zR=2?W>Bh$2{_9f+#VLFr;?JNH;&4PKR* z8RjE>t0a9zbAmdVT!m}1;S;O6G>MBI@k_ZfK65iJi8omrb-hE*nXXV$ zwA9Ql0BxJ0qlNM`cG1PH%F5cgGLd$T?4#uTL7z#LZFr%ol)LOO&`Yfo1J9|nsni#( zw)<^mfe7nS%!V6*rh(jO6Cp673*+QigmDplR6NVZVeKOH%b}-9cL0p;IzzpOEJ<}Z zhh96VeV>v=kUFZOJXJgjOuGpN)IT3^zP{Au4-RZ2l^7Q1P<@=HdAli)Tzl`{d~Mqu zwgW*Ga_TeasE}Q%s^LckR%mpIH3jyivJZ}+1d76~JZy`q`X=hEw7P*9E0vI4j@uhf zNfCqrRX?p@5e;8FEtCU@5RTM7yPUu$A{Zk^Uj&Bhi@6%>2nOUr2PpLP3l26d++39# z3FzV6r^*2uJFTGigc)zYKA4KTEA-aoh|x%)2qJR-7M%*HT8~LLVQP@X5AlfM2&47_ z5^aaeC5fK;fIaMiiCGlr_W8C!PW~3wcrf9e6n4;C(vfm0dEh3I+DHYSnfnYc0aPL@ z`icCX1vT|8I+m4WWp$Ch_A{!`IcU^pDh>TmPhWaYrrL0U{PdmD9iugzp$z`|O~{YeHn}!vr%m%TCUu`X0$~ z3>E0)x)^L<+c2!OjHsH+@UhO={SE~6-vql)Emcio8=mU5SSCt3+s$@=AXpr3&0nkv z*F#j!^f{4V*6Ov1_vO&iG+D*cZlw(GS{%*)MKT>}C^}+T&py5SlFFmTR)g zj`GV%1Q8EP;j>HC(ZHnI5&;d5ec}$J3toWncV7U;g#qjH7$bU$|1c+He$6wF44i z!Gsc-%B-%4*)8-8$GsWVC!6rZ^@3A~wKv7f7NH9-ORSHk@aIig0&{J>B{>ay~ zsWO|_N*Qy+QlbFdD+V(H%-ZH=*2C9t-}CHe?8b$sJpZ}x|KNicFF$G!BQm=JLUZqj zj20Z73W+rb!V;r;c_QOB&J^$znzw*l;eEt6(+wBJcA;N6U1cZ4j7ZgtRSY@)v$+mq*$IfqLy;>BYP}4dSz#!x~mz= z`@ULX`=Vz%VoCf|o+3SG`tTLTCQ7;1oJW_=-}~!teC*wi`QSTVeTd!doA=iyX6>qQ zs?f=a(kw`Rkn#f6-&qBAYb1SLHL1r!M0gxFtUXod+O%M+o~B?dqYS=$hwOp?g#1f5$P{@bVA%&yCdIu& zP+8{rs}h;2!t@xd1sILgQCS)}T#A`HQeujZ4pKwuR_hYkL29xa_9(D~Gn$m?JX!xj z?c3X0M4^U60rwPvQn^N2}B(FBgGtZtotFD@ zRZ3j`Ii#sM7b-?pIJe>@|gI?L?}<&pK6AYWpYF z83OpAn@cDQ+J=pk%BXn=l)HGA(5>WqXPMeU0gO=JE4c2^af>ce+ModCs#ZsM*q8TV zp`L8$;LF>uzEWB?e~QZe7fW+(RGqzI_yz+7NT#&62jb_-Y)iE~(3>29Dvh0!)BH;B zq5nRtY+6wv9A(q^md3TpDYt<`p(W{-`LA+!j?};HPD^!z5vbq+lu~ z_pQg2(e~@p43q9hxTghugj~?y$G};?Fv;1xBUZFx;Goo0R&BuPDG7exZMnHpZzJH{npq1(w!gug5BwfbZAQcwLo<}MJ@f752Rgf2f1#b7R?(~)*J)p z&tLlBo8Mmf(0%WI+ue6vzH#-wh>?lGloidy=<*Ud$Lv~27rVDBas!G=a%90{+IzKD zT-^1RHc$PZ)!sxa%#8BY(5b80{dH}9QuTQb$(N`jR6ZE3e{%p(bki7O!#dd^fRo+v z;rT0@qf1}*)!*=a-|?O2pZ&tkLDY0rDhQ64>ULTzk5uZ){}o}9Aq~z7k~a~%noKY_ zkx{JL1b0&n$|~9pS`gcf%dDYsi0*`kPImu@tO_-!@gwY`NfuI_Pgg)oJAPkxD=piv z@30$Dv(BGCy8q2@z4F*Q@BN+EZfbMm+WUhe0$@#`b{R2N8~Rd~)xnj!2B)=Pz5{zS zybsJks9_%j3f+mBRI|KR1b5=6gu~e_q|mlZA6S&|YfW6)M}N>=qur5ko;y}qRcV#O za(u$Sdp)!Kg6p1E?prG;d7HeASHdu|nx3KAu)d5Y@l3t7a)1h|s>vQ1S_ciwf4Z+T zM;8$o*{AZ5zI~-3Us{MtLyG8708Q!m4x(Ez`Uf4lG}dp-*v2IzIO~k(b>=&v5>sM!Yh}Hplk&A}&N@6) zTBH4aIgae`208;}{L(Uk>c&>)%E-N0g&cQ~=d6Nrl#*u1bfFYe==MncP$V;_ z-Bk4<^bJqzd0Jo1=3T@e#_F`Fbt-Z|0i0_1KSoI zi2}PxPxjalltvipHWm<_-oRY=MbJP7M0c5F+a~2T8ge+?E?=nLnFh3KlS>vW)c@^m#?pQ}*obG>h?>5?8hQjTP8emucRtF*LimNkevPQAfnP|Y~aJ&pOvehuU z-+~z>CQ9v^l!H?zO)k?x6sl&7m~#e)u~u~mQci()7s76JKtpIZ;GgK}mjxs^+*Y7W zKzFQFRfwT>fKGI(fl966$#R;Gc9yC4(Tjd?wXsnxqt=)$zD?wi39)@I*Q6j6aHun{ zy_fW7=vV`sIb|Zvjh*d4=H~;^jki{y+hjo#a0ae!u5u2RH zhZnBA|AFgIe$JlT%6l#@L3@Syq#7fq-E3E1IzAOF=AKYKWq=VBHlg3wndfG z5$iU5Ues5pgDJ~k>~AP2!{+H&IYq%$?GDdBW>@pc&wkN+AGq)06Fw5V;~J3~@zW(| zc1$LtmaFT^mSCH+wY6AhNwLZ}JbdVPfAlfHrfPandD*4A_ep=6Y*)hwa|B@FOuI-xJ>Yw>7W0Ay zy^Z_W{=K@xt_^^1X`_Czo$Q~OZvf~syUKxDb=>`&`nll-7!GD+c$-&mPLz(0p?IQK zD+r|#$_Q*74@WqV?{W=BhAQzWK9n}K+kitT7qnqyDF)&-9Qwx$GSv0DT=*C2G-i^)W zHFvtiVOB*)1hbTVZ`jWyC|x3~O-9KgyH7wPHG|Jpb6x$n`v5{pr+KYf?L)dRA z3U3zDIh9yFegG>IqWc38U^1J*@8FDRd3zsYNJzpe=OTRElmu>|+PkFQH5S#h7hjRD zBT8Gvs&yth614U4$q%Zv98nV{Kc@t_%AREk7gtHNt-^5gFG*1~Y2lZke|p{3CZN}j zT;T)|kt(4l5txopbVN{zP?Td;l_F>7wJ2mu_X=n#ND491nTJvaGpGJ$8AL2GNn14? z4mU8Oomq(%RsJcO{UMT3jsAV@fitriP19v{sNX|rS1!(d96Ud z%glW^tl{?1%-pG^U>^*0>N%^WNUJ1S&yj}BB%{>5P~D+6n_)NHAk(GKx%8SjxC_L| z!w)?6o_n72oaf;8-+7w5(?rzH6_ncKK%UOqyWOQ{e$4;;*`GT9_-CDFUby>FH*elP zsS_e2Fql9kPTRk#DXYycs!}r?WyuT?b1xz(08(%Pm6!|avunuc))Ye z#j3F#V?!~twY-hfaIpG;;YLSv3eIMaOC47LD`F7X-M)SIQ=W2sQkNd{tkawacRcD= zo*u?lld7XKvLYg;8cS)%3lln=kO*tA&5(OMtmsKcPZL(lF;RmIqd2FL^oiEQ(5j%+ z0TS}pg|z(!sd5amy2KRK^ofMa@Q5kNY9}`$LZjHQpV*v^~hNKPPX}LR(G=7Mq&~ic(?(2uU=6w#kD{@uT0q+hW)UK#q*w&MxPw z62cL8quX881z8OFmF{OxAWR|Y^Iky)!~p*OUNpJplj5P*{m4NP?aCAeL=cVB=+_j9V!OiZC$LdHk8*(R@@ zVRl$%ldckkmT1X%O{$fVekW;Lyv!3CCka~`$fyu96NL;5=iEGN7AmLUN2v-a%NT_< z=dK{eQVuhv*DEhetCbDfolUX_k~mA-wE%rOfUYha*Q$tbE&z-;Q-WLu6y;zR1}l!& z%+`^NAw^F|rbtQL!IB!d&$!->#At#7D*`U|6_cc@$AtHCvXIq{7Fy5bIt(;)Xqr{_ ze3m-qogtzrfU*zZ zec)t9vj{h*NkU>p)dRP+f6oz9TcinQ$p?FnmP);spdU;IRc2 zM2F$Fis@k9Sl2pQu9#eBwTP_Y@P>=7Um*+304bOlszx~TGE|`Y z475Qo@nUq(3f*27Jj=O>2|#$7mVw9uE$AX7TIDE+78AM$2?GL%u;c(6BYRsQ#$-O29e{onuXU-!4Z?qxUL^lF}DZ6oH6S)-M~cC##0WVd>v=W5&KJ5VUs z(g^iVGOVFxYiR|ipoj)8`Bl=kRa!-&gRH(%xvw}91kj;wqoy_y6!{{fh{_rmHY$BD z@-$I(>F}Nh-u2GILtcH)TLY(8uRgHZY^EU-QbY!=+vgkXdBVoNpi3PAcP^HFa(L7D)5u$W0*tphQ);rhRFV>7ZI1C485Kbl z73KVpm~pz|t(@;N3}YMjbuLLz+*YknXc42rhY=jjQ5tk*H6tSnP-T!)Yb#Tn1)EzE z#F4vJUUykGwlm2#G&1n*`$)3F0ng6Lb@^m~&+Cdrs*xC%T z+|iN}WZExe2N^bvhQQj9R0`7lR|LL_To}yVixdI4x?b#tE8rXB%HTCxndytvsVie# z=$wi^?g({P>5~Mqyz;e2h~h!rx>KBiP)4#^l*l5}n@NmDb-J}0hnk(VZ}L=48`xpJ zA@U0IsWZo3CJrh?Qe`&PQ5-s1Q*Jcg!7G|?Yk#!DQ&!(m{gb7p2!u;(_pV%*Fw5yg zXHUzL?dr&rz69pP1Q2bL7AQg$A|&fjs?;1YJaNV>*7Qr64R94gnKeZ+tGQS%r=u~E zQMMArZdr(`R(*tX-s}`tA=N|1UjUMnyxih%fjnj*Ss8W*?NUb>D61h+$MkDvIfw44 zpiYwrimM70%=SCElHAQ>`M7}L2{cm=Er4y`*cTrp5$SUabn`mM;@QkZ9}C7p!hxa9 z*6-WGs*b9)D+|?CIJ-(~ zS?7V-R5>zpszw=YZdy@OIb)gZV5z{l-KLI>J6QM#j=ndJEQ^|~8QNEol;%L2D{8Ny z?!$#z<=u#4 zMKQ<2S0CCUe)T8*1s;0u&6_71Nz6r604PKziFtBzI*%Xy^k-blxcjlsIX>luqf52( zTV;V`;ch7{V*$PCSS-y35iMMkfJ4#t0HIN)kcg@!jBVzyw-Pc0)$UJjDB5-xGqV^Y zeDpWShZ?5V9B>FJw=?^M}bs zt1UaTGBpI%do98RD}L(`mu*Y-U0Bgty<+Wd-v2#c_wv8@4PSrl&98}DyK!`JqIOy} z*_Wzt90;yPo(9aeWb~D59X5(74k-*pS&jSML!IST6YGBIa}pSZsLlinh{~o8!Dgqs z?JnDxw|b-s#E7anG;ooDIRn^`2S*1VeAip>@cs9`=dDq^`oQ}(2M5y+t`kmsPS_?n z1*&u1kwEmW8l5@o1qaE{^N_BLx9LFmiS?==tD?pAzA9|4Oq@al)u0F690I5=mL=dm zgVA|4nnkPB>Pnz2#Hg?~ONDdcRoioj3S~;JIy!QdeJ&lJwZ`pbGM&2#RQHLkPIYyU zY#Uz~#B=!}u6%O$#AxW!Aa%*^)KarcMC4&D4xq_a_-6Qf>;}>Cc!x7~xVC94x=<$x z7a;c%%4|A4QTu$r;&{=xOgOvbG5xRhX59CUD<2-l(ArCWn;x@~AZpU7Z1*pRqk}S~ zVC-14ENE;mFUv|pjebXcZHk?%Y3)M#YO>@|z)A$e18_{F(E1SOLdHGshm;HUabJ{^ zW09rI@#&y*S&fl8YH_Hfy%v^}hE)dDjl(*?Dv^X}N=|b3RVL6|RE>n3x-6H8bWO~< ztx-`YsYea(v$QN5 zLPa-{1neZ1RUl~nAzMeGi&c=r{uu}yuLmow6R;L3;(O^I|`FWcGbf*6Uyz$)OLKjkiv zG{$U?Ev~@_*Ownyq1>K5LMspao6Bti&W^B}1L}qC`)4nZ;25r44+Lt8Z?-qrZM0RJ zWCY^kg~OBUSMR=j;s5;n&%6DOcW%a(yVU$Z1;!>1Hc?}H?dr{Yp7NAix8|dt^$GJ7 z=k9n!B~EL$)9#K6RpG2-+km3S6v`P1k(s%OEWmMV5WuW}yQDM*F__ayR8F+m#RG_l zXmsSOFHEu5qUezv_=dl`oLi#fO#59$ZuSmYQr4>U4IH#q-@Nm~KH_xpaZmb$tG8}m zxOnHxWDJE5QVa=S6;v+WDWx{P=+r1W-4AmkQqnlDnBF_BR*S?7l;THr*Ho8Jv)0K5 zxig|1YNcX5UTcSlGJX?c+edO$f|8cwb!1FL%{h0sPp*C7TfXN1`?cTtk51n9>nAsF z#AY*Us9}4!E~f$*bW3@0?v`v5%GB8hlP=`#n;^!xz)0cyaN>rY74QThK`iZATRz8> z;WU(-S0P(6<8hfj_!NgJICpb;|D)*@qFC4dhgNU`N|W{ zs5ljs&W<6_%x+N0cKB68qCl@IP36mq1WS@<5MXN?!(=GiB9#)TnrG25V<~Pcz_6+c zM9v1Va8$p1B~%RIGP(kl-YbVF;SDi}(KV-fIC`y@tsaIyq;EKL&L*bRuBEEVT^Hrz z1vI6xWmVPSlBH2o9>tHs0V(IQ5Lo|d)trnHzr2#@>0=iQlX>Ee=Lna~qWjRaQmU#YJL(4MYaMV%hza&iTqiReN zjhp0Mtq+upT*7(b-Nludd{ZiO*yDuWN2TFqdSxwo@3A8*ad=QWKUuQeJ2$xW+on3( z_v^vX?Kfm>DhHzh68c1WyC-1&y*iHUelp#yQH!=RsDcLCaG7dWEJIKPLqe4^2dLqR z3};b(yS+4Y~^wBm=yC{R1;sXO$|Hx@r{@sVJ$s zQI(FUl8GJ2XnUK0ORSlTf&h_jWm3f&F|tg1Xkd)>I@J|9=2qI7c-Neogln~13^hU? zIMBy6=vraIm#Egf`T~{18?{1DC(f2MVsH6YUD?47Q&gLh4T21e}KTE^)6?X0cJdJbMX9B&8#(<$^t-en>Bd)>q?T?&U@OTm> zuDzv>0T!#$wxHhuhBAIK_Fxwuqty*f22Chbl(0=v5J{QPKC^x)>^TN|8C!#pL{2NW zR=&~mTz<=eduLGT_dqYB>xL?7%$z`tP33XKxpNn;oSvK>JmI6ZM^_FXbr(-3F_SS= z6ANHKJvi!k9$q+i|2yBoo7aBmhyVHK{nJ#b_iM43YNoHn?_VymWZWcH2mP&+{MGVrptg$O}hiC%VT?cPrVV!Vo|jf)z1Q3aPz9RtJQB2Rpt7^G{zw| zf*xT^Dl_8>P<>xiWGod0Qq^Rfa*tdfV>zYjd#L9#6Ob?p%_8dX+_?wd{Cmi2$5(%U z8@Tzv`^RA*wgs}L>-_McE2(eDEVrf*@RafMZ&jZ&RFnsHRaY9eQ8RK}^b?wcR;XMc zYd4(+s#WLSNU|ry15^^H8*rNf#`;qoC>=0Wsh%m`E4hMhaGd6M$OewS7eRx7a4gk9 zSB83F`P(&n7^;2O>dBmJme3cWbm*c` zQ902Oh+UGluzJXbQKD2+bp3Hw&sGGGm`gDi%>yaj*`t#>W&lO}>`fwEaY}U`$kN;= zUkJOMv>HsMc5o3mu^^~8QL4>Df19Ektgl~CQO(EtMkr>a;eg?56=M~FLFY?bm8elH z5l~fhxga|D4A^R^KG;VRT0R9{Sse|IW(`pd2XuY??pYXa+9z^VReLm3WJcLXMaI!( z2>k=cL~;@9%c_qj_b=(uV6~RYR$MDogt`eXkR1JPtpDzbTG+HWqrOhmGB?s9VQ*6owKp8Vvx=TU#-FZ`9i`wid1!=nPhgG$C24s@)D zf)p@@ms7i(eHa^i5^4(69-pgmakokKSuE5tCEVLrMa*5D#j4J}S4ke~6fsfDo&`$7 z`r4%IF*K}i?)&UogaR@Lwg=~Loz5$qulwbnx%(qN>fyKj#%6oI+S>Lvds7f=J;eL# z_Vp(#$zj!5AFwe&sv_xRx4ZLc&&bP%7asBW`yYJh!X1yyK%z2d&IA-$m?e>j#~C(_ zVP4o9`)XgTNXd8-Rj7HU1(nztEvv3p*{dp8Tk$vwbm~|Oscs>Fh)rW2r6#pSq7_1f z3j3g#3D#b^rg0vQ%?|VQ_JiN{cfaDRzU6Bl{O#YkaBUAf#TN8i4BH-Au{I8_3SR*{ znc)z_?pr{Wgq=)cM1s z2Y&On59(Uoc<%vrH?G}_b4Rl_RUykyRAnp#Ve?}+%W#~X0Gb47l^q&pSVt)SO9~yu zvR2rh2^E&tpzN2r$eABolE!J&uCnBI-6}0@s*f&dTA|$7LC@zH!dv2q z%rRu8+8gPh(3oyD?-GNNPK6C5f<-ChYi0&aBr{=tRHjK0wqeiZ-qx)w3T!%}SIFLayygZ#13z zREjgrme-P{81}N!A8cRRby z7IL^umfDr4TK%)*Si|j*5S$q+7zZ^wP^@L=p3&(=hk7|8)U~z$Fzl(cA#RTnX?bR_ zJpzYqeHA;~ZD&~enXU!3Y3f;DmE8tb%%pv*ETOV#dahOcCOli%;|-lXv5+d9wG%)% z4DtatYZkgnip^N;t_DJ+COFzPNipMWrw(jr=w|0ZK_Egh?Dj5tsC6B{%uXxI%*Yiw zeGHQ<+8G(5M6hd4s;f2qeYN+|szWoaMGQMbEfQP$o$9N=(0MQ_ZuE=h(15CmI^AXE z+-->4Hy-?$r#|BVU_hV06F&D#Z@l9j5u4r2O>%bi((V+si|xsn$*RiZx_s#ocRux5 z-}CL?_s?GW%5#_Q!R~g|Dc~w&N-nLECtG#5_a_I3jkVEk`C$&#RLgoJE)9ki% z?mMhRrK4|&f>uC@UdL>anz9eJSn&@9D76;Hag}WTVTQ{!Wz1{rL zTmJhU7w>uK&A&D_8yaN#B+Cd!HQ=cRP>o`?jzC%CGo_ zuety2zgCrILjhKJUW<%qS2hUumuBFCE>#o5-x*%J4Txh0lQDsV-~T^U4!1)8y2O63c8=7-|Xr>?IgcLfJ;;rDT%pe+6!5cKv5`3$ONQ zXsqhLP2;d2V>65%;PwHKJL(vyM_!_UK{cM?zITWG?gHXvdn^|s-An0<7|n7~kOUk8 zNu=0GpY+aT*dFSa-A4$8T*aZ?K5}tX?!Qz{Ot@!gp_4T*aqIvF!p+^sEOBNOCz!~^ zQ0&PhVZRFZE0xvh6a>84fu`F5lvGe5T&KQJdT54#HXMJE7CPx~^z`hG&`akTwK^O` z&r?D90>d(Nw6H6}ngN{-m(KYpcIzPx{umhQ2n@4lY}=Lng5B?gS&5tp&GyRuLq*H? z``$v7utZTb3Bd9IK6|27((fBW|JSC|LSfneB&O4`_96*SD^wXZQ|yB7G(pdB-LE>; zW5=xThduMPdI()LF(s=araB8`kX5KMy%auNdaYbcfc6HFs)(rK;yZHr4;a`;YE&x(VwEe~ z0pH$e%2l6H{$-VRXt0{sUDg>&5}J3^1tqi8!#4|5iH{;;w}`04rLBaXjc{3ISTG@i z55eBF_OWLK)l9}9XCgi%np3%i51gYTCt*A4v?N6kD;>8EM~}uD)z-T6($09y+>Nn? z26klCEDloT?~b0(r`Zj{bX0weIwVsAQlZ<>1EFeSbMeacYp0L<*gtXm+KoG&^thAE zn3XXCyOEse9v?c(nY+zqdyI$P{+b_n<@bNl=X}nMtM5C+HUsL1Q=E~JaIj4dilkG_ z$TJ*}q$BodwJKut=0+Z!qglE+McG&_+pBS{|1K09T8ZcT(5BDla$-FPR;mSo*s1)E z=x|kNDEm&a<}B3tEBE9)xceE;e(3%8-}Pb7yp7z%wzy+qjBVDg!M*LI_vS+kgLEe> ziFTZ{6-?0^R2Ik4(X~H(&%E~oZ~C2Id(M*{f8)jniA@zYWgyfQI)44=oVT#WTDSg* znoR(f5dmyq=Dbmky9VxP`riw)Fajhq zS6J4LlFdrBxhzbkI-9VSMZH7otC|GR&$2L7$Kqow)R;L}-GR?&u743kci;SM45Iyu zhS-L_UM-kV^lcDF7M>k(W{~2#En0-&04ry=LtSA38ViM5o=_bNLAFlDt{w21BQ&|( zA(|bamxaD(4e+)3?btwBtE?D3tN@(=F3;h#@K--ra^H@l8nP{85gJ4w7uhl?9eS5r z=sPR-!DBU^fp3^oTZ@SV+S?H=va1Yo)_PR~5gYQVt|pH%t0dV#V@p~Jhv?BsYQ2F> z>78xn3$zkOO(SA`0M!UdqO(09)syZcq_yl-#0dAWYA-7_rSOXv5|HI+1&#O9e$QNK z+LijWc4c50h30xcuVkAj0{9P~HW#>|oN^0~T)>c6IF2*q|x& z)on>opc1QJn{S_FPBf-3qyN4U>m;%Wq# z-UKp1L_~3##4Gh>&!SVI=*9Ol&?_e!*+@dg?NIC}@Kp(7#Ab8-;rp&!x%?k~=)3af z2kZ7p?I6i0WJ%B!4T>E`j5$va#^sOr=r8_jU-%{W*#Xj84rE|ZgX zpG~CO!q^=bh^XE5YZspQ_|4sq{^$>X_S@g}t_v3)le^mzd!~6Lvw~G}0OrjcVdphH4pseFQ1EX!V}bPaA0gw4JE>OD8t6a86PvK zq+U6lRI--V?-LcQilOexi6DmmJSNbs=EN=#9hWwKbd*gq1nTQ1iZ8i8>|e3f+&d3k&MdV4`&QxvlOZ*YU9S_8bMo?TsiO{ zdlsJTbhnwOLC~^2t#GFMJU5qYgnlMZ#Xi?XC6Yr21?pv3)m8hmR?V9;R!m57A;-iv z>u4un!zIm9%7BWAWe`*|CN?Gk*&L);KaOgzUS&aG1!~A?4jUplK{3%mRlO$+MeVxu zL?95!s#MTf1TaQa!{PGZt4iDB#usJ|ss5*Q1-p#Pny^H_z5^i{azoXoxdfZaQs#CS zw4-l0r2Wu(Y5jHbJCR)hcPwZm=DX-)K#2@=z^or@gtiB=RFq*uP(G{au1V`tjR2zI zlV8%e#R7+bd_~Fm&X9NY(93%@7m}_`Db{a|Bt*eQCK)WA@e3(6Eq=4pMnJk6P;im%VlV zXY_Co9Z7|FtHjwNxa>qyHJZu_W+{l#+HjpU?u}0o2(_yU=a2n=;1DdmP!jq01A2i~ zW#qc8jxU@YFQCh%2&}!cp=cL8&Glqaui5|c90cmJ(V8Y#tg;& zaKX<&WTJ9*!g=Y6W$wyTUdk(PoTgNc^0FdF-HuReX%Tt{C)V~z{*Hntx!Mj!8Tu=N ztZ*8~|7x$b*X-$Xm2G;>4{>CA@N!$?kb+ZaL^awyfPyY$Rw`nUZB)HQ*7~l%+c!_I zn`oY(y{3QB?}dE^jpjFt$R0K6dtTYi^ksR`7$|G9JTXpapsb~HlQ<=*R-NAB@pul&-}``!{K zyMu#++$Dwr_@os%KK#XQuy34EQ5vG{vz!f9tK?b07%Yy>wyxj0{N%^+QBQgLQ=j*H z?|RSqJ04&2v@%C90#YNQlBoctd8x*O=wMqOP2Ks>8hjChiy~ACNn`pNNo7~g#L!LB znOp4I3d0nM!qUxNXGq7f?yq23Yg%Z#P-Pu^&CIEj&nWOzCT?*F!L_`6^KZQuF8 z>wo3aJgVSn%&do<&H+qq zRJEaY@MFj94hm|W6ZROHg)4`b?)%-h0jIa$^OgwQcq1Ia zRBg?h!|QONjh_;$tA{6}A9w%$vMc~p6786+qtaD&Ed8=Qyxxw>#fO=c1(JD2duRAe z(I4$4{U+7W+E75c3jHm=NOinGe{y?%RR!s3i|7o$q8!mYj{Gcg(ip~BfScXOvl*^6 z;X)H`3bsk_aW)ulrFS;A1OwgT1IP)-W9{<2Zft`T?BA_vJ?7MP>>NJ5YE99}T^mUo zPA>_G-a|A@^MfAO;8ks^t64MO(&<}Jh!XFd(z%1Rnwc8Y>QDQ4Q@>dbbgZ35Cnug z06j34(yb|4ZM>SjGroy_Pyn?t3eebBw5ulzFK=DY~l)YO%U9 zs{3w2^6PXFR9kx=9#r$_D>$YZ2(Anmss4nBmYvysp$#wv=;mx*7IdIMpA@m{;$0G1 z9vleU7YeA!l=$*m$Dotfd1|gOuvS5%ndYV5HQH&`!GNOG3g!w>sq07^I0EXM9SBrt zQcf2#ck)s=pG|F-V_)MYi0YTRYMpf{`O%o5YFebhL1GmVHyV(SppCixb{WS^00961 zNkl2N-g^3EE zT#k}b;5ZVrN!E!c)KErMV_CHzu1?aznm|WlY0Qz$-spx8S^#O`ibx;9ghVoDH`*qiT>wok1?K&jpjMkDyJD@PkGG~IK(j-(_eJQEb{=%deyWa&s z-Z;5+=Mx`y_^79R#M7ShhaY_J`8yu1t~+zLi|ETaBq%JQR&z?m7`4EGo}?>Sj$^D4Z`CxVg@;jX3hnEAOET2=O%da=*7{%N zTrF$rJ5x3mRBy=i2I;Naj+E-jR3pn!E>(e4Z4bBi{@&Zi?&Q{k?>LNc{lWLe!MU2d z(@Nca0W4K1_(5%&9E11eL!;?N$Q_&m<>pTY?d?Q54_4LjfPIX~KA#!ij<(J6LDdv* zlXi-djSpk33>!EIfTLZ9oL{V9F&NofZ7W#*p2d#&#ann}S?4Mc>=!R~Vy{$r;{d^R zuMCM#^}NemG@IT83Ai$_CI6uCiw(T=hB>7c9}G@iu(DFvc?htFEQn^W>b2E>LTHDg zNLf^G4Fyr8oN5u|a6qJ9ntFF5pp`(t0_j!AnOQZp^`PZ8=R*4oshPqoocLrL{d7hjt|<a7c_|>^1-Fzv{4Mt(u+`fROD8osm!5FHV zb4_t|8c(QNmx8sMsTobxv$8}=LvE>7HbW+fzBRoef*_5}C@dGQ^6P7r`lEy%X0@6? zpB5d@>PSkPM3O^BuA48g_G^%B2-+OerY+Vdz|t1z1SC|PBU@CZ>Fe?+p5QTpRyxxr z$@H(BfJ$QRv8qv0IU=q7C6tX(PwSrj(G+Ea>28AS>*JbhXYh4+1txVaQt#dt(gaGD zm#VWe@;RA1wM@&!oT0C!xDhySXuQ6b`-bK8JZmqOm4l;s~MNO<9;X1b7^v-Lx zf^(I%EIVG70BMeAAAiDSK=Nj(5Z3Wao%N~_N1KC(9{k{y!%N@t9p7~OJ#Q{xVuzHP zKp48(y3+k&Higr9baZ&`!=Ll1FaE?I`%gb}{;ntFZdW9CftqudNX|-*=yb3c5rJdJ zmu$qMp-d%WgCtx9QiC~m)-x4H^lL_9SfEHEsFnHT3utQq?15~;qI6N zpk1tq3t#|SZf2d_ym{#fPa2Q@uqQw2>2LjmcO6}N6emV(V;DFQ;h3v!r#UG$f>cn@ z|684+lFK$NW7BWM-oEP0hYEKEBcd5l=ks+0*_hJiaUXhR$G6A@W{K5E0Sz*29VlXq z698+sJ3YO5@3(yI-}+nM@bZV>@V|DbbK9djnVD6|_VWN(U5{m_i@xC1fE*qX?de48(|lW+(LdEICYOWG%leyRxh(N(~XK zk!CwZk4B}^4Wd$Qw*_8=Sq#x>Q3$MPmHIimr@Po90Rg!dokMg0bQV-mqb{pWcuSbeZ$w9h zx_J^daqr5sh5$Rj5)a{9VS8m-2nFOU^KL2-WRejat?-atX)&%gja*Qs^j-zX0gX01 zh9wjUrAlR4>DZfAxG=wcGm6DXX31;mc4+2bdc;5n)+E%3eTYx&9uy8w{m-a=>y=Dm zjlO7%(IKB)h5m;0UL;xtY)e#URivu-sHUB&{q<@MS5eW<1Emt})p4+`nbk%4HRr`Gz$g0^&i|EFirbz%719C;y97FgrilnQ&jC0xHA(!NQ3=*w~Zh zew1zbdMOqc($Gbvo`mz<1~3lD7*ab<5!^lMthokCPNv?B*@Aw@n{=^Pp->UZg0H=C zI|jrE<2ZMm33Q^U)ifS$X`Z#6YFX6I-kMI+vA}sYr35)4j~ufj1d=zey}u8g;T2*% zv22kl!6Iw2c>wFv6}AXamBXxR7+6L3Cf8w=E2&O4xb-VdhCq3b$eOC0a*+xbBUfw= zlkQ%&mY?i_Qw_AjNVnW@=S_qE_ZAhLgs`;fM(C6fMbOs?1u4 zDM}|z;Yk)$1_mfU8yH|>qS#fA_8qnuGJ+l2HuBPyk70;wr(VD?Oq0YGryoqh{v~U`c*RCD^?i+vjr~aSM`E!5v_SFyO zCPrqUcIl-Xu_$4PBhl5b%wS9(5*=&yrWaH#U4feFnWsP+*$wI!cEbL4pp(o{jz2op z0GbDv*;`^_akWiqtDMbVL6c6JOcnP{25W*_ASdhmxG;|n|N2+`!&m*&SKR%K7ak9A z?qn=2Wl|q)J1>+spH$5fJb%R0YY~{xuSZo*U^9xl0OuU%4j+8qeR$8ie*3Ne`y-zA zl;el*9l#{F>XI<}Hq|ozEB+JeH`rQcwJZI49g7&m&ZCB17NH*hFz+G;tanP*2@5BS zEz-|Xa3|*u6{>;018lAFVigK{Y5!SUGO8iKX>p9WeD~k^#_xE=KY00-k9kRss*~iP zmsR~;D#|tz^0Eql=~QP6VA`V~_r+7TlE#@ zd2sIN;ote4IN`khR$z1Ep%3tAaEGeY6r8l^OWhQrsx)6ju2$sq4pa@%>^sbC#pe~CcVglw;oFDgHvXtOTc_k zSgze|N38^A7u0G~_P(dX+iqm43zdjyxh0EP7_ndH#z+?6bb_Dg{uM3qwJWFeB(_8l zya}u5d|TH|R!FiOu+F~oEvns==kQ*qTl;rHznz^Q$)tsf(B&Py9BaML7#E#Z6l)y= zy_Wf&zSr4Yi@&JW8)VxGzpmC}bYpI0G6s;KJe6s$j_=B)D^ye;mYYJXYeD)BG3QjH%XYoAXi8HnUz7ZbzVg%9@Q5zRjH|NOm497alGj+JbW~_)sXSD(^nbFf9 z6vjk!#X(f1LTxEzO%c}O^5tNB!zqs5M|ACg?_o_#6{DTDiDJTocO|{+ zM<_r-ETc|0c=7oyrwg58Nnu}CnGx+(NA)Rf^hLFum+e*Ntj=Ij`DM?7aS5W6f^^*@R|z(%E2zJIjk(Uk98gaWWUns^9{maD2;E!iZ89<#$TmT3>&n9OOE z(cf*VvC6q3r&pUl2eS8NJ#MbpiYhZm)5MV z59<_-uEm<0%Ke#!44?t2vqmz<)0$oOI0+DiL{umbjoZ8H^VW?Y{>R_=W#91f`+w_y zZFi>}gNW>nQBy}?^+m378qVA1StJfY4DsOGwMo=zR94N+I6gkP{KzZu_$NO78BhP| z|MtsAcRZp7k}-)G^r(6t0o@RBgJuA2?A()u%RW}0Zibs!+aVbuCoS4F8mz{A)lb=e z6IHVbT?0fbS?%W1mH76jif5g>Tl{XxBCOFf2_$k887I4|_kH&_e$|(}{Occj<1g~o zj$77L$3V%K7K>YLraRw239Oin08<2ZH}EHxu`Su*sh`QY6f%ZPxDuaEQrbZpOl-)E zO<`AA=guEK{CmHD4)cNQZ^f=|KKy}$&1RewL(=7}04jss=B84O;ZjlpE&_59x>|4F zd(Yo!;zDq!lVEF8sMAI_O0eUTxk$Ueavf)8GwxL`4!4z})9 zUm`&~-PI))sDeUQC?b<@rE?3q;yX-K`L76@FQI!&puy% z_>z0h6y_1d)%bGHY8aoEAKiA`!Z+;Mkut|qv}w;oB|VWPx~{SuA7&wQ#BlP!=*|H` zcHm_o7p=eYsaF?@nlmL^YLBcto;pLU1S8LI@Oob(_J#wj>|W_$j7Afi$Oddx`)GFG zy|KM; zIGrGS0yHXm4K(d*ZFDn8TBEXep6F0ZLD+i0YS^J2auT4gvyVtRq!G03o4ek=#gJ;B z?F36^cfu&cXqN_->K%GeaKQo;K_fx1;pJ>~Vp!f^jr<8=R`pNmGqIv9G|!;w1^=zp zKw1=(qXt1k^$Z4-(`pH@O4Y4_F0+`j=-qNj2?skJGYLu6o;lROS|%WZDu)95;FPV- zKB#gF!7h7PxVEjM>;T<}!QLU92#Big1IU0JPMJ>0a{aQqR-2RqngD>BN7!U}g<=eV zje)t=O@|OLnIku+?^C|dCHKQIs$Q{B9I9z{qPiR`GYeC-PBg@GMA+aMp8H5ADC`jn zJ+tQj$JL+5-MVg9LEsqkS>N9KbhkUVNp1qkO#>l@5Qq@P6agDl>`H8C1Q7_K(FB2j z5TgVV2_!@?B%)CiN)$l_s}!56AL_4!vY|08=}0gkB;mHFx#yg{_qU!o>W?wzvo@X^ zF8A#HeQUk%)66;Mm}AcAPn{qS=O6ELt+{?cvfuU`V7$}#fOz_puOf~sJr7U&Y79j3 zT}fOjsFkAKxKA&~gj>1w0WE&aBwDl0m*VyDzQ4Zz;Y+{xi+}Yi-}CK{E^l)dO=^2p z|8y6dBKvOF26RES9=x=k|JW-I%Qt9z4ul~W`@#VkytN!(meb2W}RAFGr-RlD2>HVX3zx={a{2Bk$&;R*<=D+=Ok6wK5U3UX5?!Njq!)kWHlZ<9s(w_5~ zbfPZ`p(-~ZcH6J$9utt}&c@^V!bzBF$qi5?qP*Kl=SYbb0#m4}S1F-;T@2 z-}*Rlx!?El;GV6G%a#D_H2z{OMVWF4h@5#R{my~(%Jm#k`|*_UVSHv%PUnK;yx9{O zkq=X9G%vDf2{Hi-UShTyh}1Dmg*~>rkFWCfOKFof$!Z0>j8!k%QH1&~ptOR<`~}S2 z^<$2(e2z|5*sM!#^RW&(Mt9BtpP<+ z5V0Wpcj76_;5p*^A*=OS2^O~dpKt12yw z?IzQIZrp+}ukSbN-Y0$gj2{8qMn^_<0r+$$rM$*sO`GI7`F0$}8}5-=V~Y@utW9t2 zjvTJaBTRf_vNOeJ`XzZxm`b+-)S5~dOk;o?cz>^EvosEt#4@^r#7t{6ngB}4=%~)p~fX-;tJeqXE`Ix+_n<-B?GkSbN z!m7k%8z5Yrt$>n2?}EnNk(~< zPxZ?APB@_PPxk;blaAu0OiWbq3><%R?2qq#_~>sxO=c>B9s z_^hA(3xD{>|JHM#_}+T@v@1PmH`^f#LrIsGvUEcion~%TeTfgx?{`bH1m;RD| z^Ob%7SP!`GUA>VuD_fmI-pzH%{l{Duhb;x9>(D_$JQ1UAiRRmX<;RM%3JchfnpkG( z!mEHpZ}FL(ry~a(u_~vvP0TH-&~57#z-mz!>WY2G+Pxn>dhs5Qe#Niu+2xHFXI?g(0<}{-@E^)XMYw`xY~&z~0&I!)(jiBE)^Yd;Z~*kG}cV_ka7p z`zQasFZpMG(OZvS!G63S_vOJwEnPf@5b_#uK%HdAW^%-%YW*J?GuzlV#6CdoSO(kZ zH1#n$uh>tG4U2?!TuE;|bJRjZhtm>tTpMQ11uXQ=AUJWT9QTZCRPlO$|KQl?oDYkvDzyyG)JA1^$or}x*p;@*TiCdW+Ga5VGyI)-x$P>28|TkT^uVhD*vXElyr z0X1@+PQ>Z39AM!}J$UfwW8d-Jmq&W*NB-*NVZHY8S1ud12E^O7bKFVxmVqCL^{-<0 zEe@y=Vwo@vpRmBLQ>Qz&&8pIbo4x{cEBZOTEx4_Uzn+;6tFboeDPQIgckHlDi7{d2 zSF$L_5{zl_1)3{ov&0Y?zVHj4jE>NqF@Q1z@Ti&iQ(HkrwG)u67*P(St>W%uA^cO) zh(_j*kNF_0tqwP->!>6h0Y)jJ8-6)XJKd1fvg=Q#aWHJe4cXl~fO~?An?{Z(r$(8N z;VR0OW$NQ3525m1u%qi4oiQjg>oHpqzu7mXW!POqp}0^(iUXD!!z7Bprgg<9e9V!E zwkie?PKT%p0MA^SPPeweb|UQs6ozg#hT83)9W^mfsWI_U<1?0BBb18;OOJ*O0Fj|e zZ$YMi6!aap(L>|~lEf(I9Th0!6E&}M@J&nvauNfv#k58bx>d|6c)%z(vS^s%zd4+9 zDqy7Pn2G7R*`~;PL+oeFq$5wIz5g7DIh>`*vne&YXDmaIL@N4%>Bj1i1?`Pm1`9=? z*=aSSj7K<%|9GpSfRe7KAlCcUK&GYjY31bS&)rpg#{|P685jo=KbU`O3Etu{jX;8n z+ua|1*@PLkY$mfBC=*fL{!TA)eh9S^?M+T0y`g8SM@&B__OL?0RE?>?9G%3T5;M-4 zsrz)y<70ngJOHdAY&C>Uthi3e%nn6!^73(s`PkH%qP5#q*PIAhUK`&0);xdKx799_ ztQ_&cS&Vhrnsg zDxMXXIX{_ol1vxL0fxlTcQFB&u*}0u{qf-x?59#VE^36Y#g#@^brhy%;10)O8v1tC zNeue-{h>xZ9y~qZ^*TfCljk#pG&R# ztDb-UVg01f|FVDK*Zrga+^?_aU#hpi{QB!}J}m1Q6J4*+mSd1|;iIBMR0`AVbvilt z_A{}*#&PCXKt!I?W5rG7YLo$92j9~<-ID|GB^)H$=uzAaav2^5QS94%)BJ?Yd9PPr z{n*`uyRZ4(UxwG;#ByjanT+Sj2X-tR6#B>L-@QX@wVJ*?b9((ykTThwYu&$j|KiK< zT%Yo}zxIoN^Y8e5-|*a{w?BIH&dUoA(3`7j+k!6uSoefi{0`C~T2(~ve(>Po zzP`2J`q1zEEnoH(|Hjw7_JiMfe|;0rKdP(hj#^VxbE}TAH&hVXOrCD5T#Vil8}J;o zlDimMcM=-}s332~WCa5z+TD6rJ@?@5W8e9M4`09=Kl*)_hYwzR<)aT+YZZ<-<)k4w zM}BV7Yz95h#LJsSOH5;v5YOl6Esha!KckKFYnj8q%uf~Kkz#uoKF=*k6LED)*(5+y z;yRXQoOsTW^NgOH(~~-pTC@FYATLQdGtnNx2SCbME3xNVa;;oe0Z$|LhnIDN{8HGq=G@Ratyhf zCrPtIxADn_GrjkQjqdrz2DXsLJYkXmcm&+6T}$aSVisiTE_}@Ea^d31qo7>@m7~?e zJRCI$BgrJEkRol8;x7oKU2%bud*eWC3UF^&2NuV-BR!@4a_xl2KHaP1-^rf*y+B%3 z;WDq(d4`IMb7)#cw@mULfy2aU;R2+TB*xn#{HPDY2wZF+ly?7H8hH&3k`%k$2~J{L zf^s!3EL?UCwDY)tEWOz|JA`hjlq85#o>8YUX_1EZ_VBz3iiqjyFq15O{o^K}%;Dlx z0NV?}HRKTeg>&ad)R^Chal3szs9Yyx_6)-b+&W;f(=$mK3}18_iC7aALbNGh*ZAPoRp1Qf24`| z^h_8TsGjgOQndIi&(tE6aRCG{ssB{YMv&aS0d!i^#2I16s2d@agf)J=LmQ6K0}c-q zfHzg%$M0dpWCI`=otAYdFpJ=(PN{E5y8>b+N7gMg7;8&H(9THcM#MGkPjc|i7`R$LxB)LRX;mnl-j$)5-_PNJI176KrU3y_3=7>qQn3< zqmiOxl!#7xSlRgKg{kp5!Od6+BGRL+vrFN=;?!-~8mT@O2-fB9`tjF(_m}+2U-s*M z&C`#4@UAY4+`8fcFPm#~vD~Q$h*z~)N9kUA>Fv)w`jpT6v;WzD{F8s?7d_s5`Q7h- z{qdVrH%e%1beF79;p+HO9i!y?VSDHmNb9=z{uBT^tPHmh*p^lxPOzl@f2flrbG>m2 zB5(#pV_M`1bi@4Fn#7g>BPuc;0%0uGSh|)L7j!N3cYf<%L2a?N3-}Dy=GNnM(N1dI z-@(aP4drHyOpn=g#KPI{VqMnjZ@qqb=L;{r@6&$o@BIBA_`;w6=H|l(@4DYj0Cz;A z8yzOFFimi$6?xWk!V(OY(0SN&mS-(^s=PQ)rCvQZ6lOYWMDqyT1GI_kI7}bN%Lze*c5D zKK7v>d-(7H_q`l(U?R`4kQn4S$DMw}#B7y45MXB_)2ZWAZqe?^iE+&>&-xmi-GuS; zR;Ow(o7)GAcIC|a;7uxp1gbdWBxC5kFK!l6J%2;Bm@%a}LC?g7_8GE_D0OXG4p*`& zr~V`3o6PuleJbEIG;V20aJwBBx}=L(An%;kkW8>eJwC0%Mpuf*q4}RCZ05>4vNEWg zxL18NOITyV{ok&dsyStd#ka}#n&z^n|F|5dDPSvStQ_VY@36*+%Ys2206;2JND#XS zS2ASZI=&2^~+h_uDe@l!=kz7?^O;fYh~Hk=byCaiJ|f%}y^_BvK|I)S+1cc=tgb784#Tj?z)6pq;KqW2_BV(tJ z1LR2(5L>poz~B|HgPZou?}5avF?Tcrr#V-yJX38s4C1Jq zc9<+-tkfLX3I?5OkjXfU${bJ!?{-~g1JH8IwicaN!VS_xqJPTEemcsl`Ov?Sf@?T?=S+%NdPAN=r(FTDGE|IZ(J z`@4U_(|cTi3ol4DiiirC1fv_J+*gCsy=TE7G1C(^nuw#Mssw&sb@)IkseqOs`?eeM zs@e3L6(k)$bf#c3Y|H?p^JjLWkV97P5>?#TG;v=qyzn;g>BY+%lVk*K4})pB+nV~E zY$(BDFHBlloXSWLDXE9VtnNp5mj}9k`nKoZ{@FkM|NQR1{_>}P-bY@0^~HC6()H;R z8GhAra%lzmP7ET#_z2OjHxg_mI_Kvv!Qog?#kFOCS5*?|uIA z;Ef;u&H`Wm_>aH%;`7>j*8>>@^tixD37r5eK94@5hd>F)HhY@29&aH{u&4wBz5;WO zCkQ&;$l*$IgTdE+%WS#W+fm09SlPEUJ5{deG-*#@LWXx9h%&B|psWdbmf%h#1`L9R zf=qnR=JlCRnXs@<{TMJAJe;4YcC!}&vPHEKK1mdLs&LJi;vCU&8h~l)An`F1(`GG9 z-f^JggMz^ zsxby^%nn2B&g(jOupv9@QzRd2tqd~<-NE!p_;TVd?8A7EsJyqvfRA_&V5?hcz7##w zHsg9qjKVz|Lax{bojn4uFe#X!Z+!X^62kZEToPwqTe;xH#WnSxJzY%v5g2M@NaBum zje?Z}^k78ToRAU9w1n2yKwAUN_#nje=EUA^Z=5y&bX%J?Yz%W1egAJ36-}P%<%;DJ zY>iZEZOLHNsN9R34*vGjm6+EJTrKM}0JPQ1M{00~PZtGLox>+LD4FjGJ}0>**dBk* z_T5Ji_8D{;|4Dz^$(qqPzY$6~tJ##l)DFrqXINLalyM;+hXlby>U2a)V9gk1hQID~ z8L?Bd1)0DJi1({!f>}Rt-#nquM1WojbwQvODNi*Bf0j{5g1Dz00H-#^hW1!!6Adbl zz+@#CuW8FO&dMX%tlIIhhy~8q2@}RtI6UvP&z!(qfm|G&NF4_hnS!zxD8Uu+Jq^Ps zu&S7fxCs>Gbn{?PGSR98P037+CfMWGY?(JQkE3`a47-!#Qc-?UmNbp6eABAPX4424 zo!$zIiU1@tqtjL<2jS%Y4lExql4EG&|!)1^R1zw@*M_ulL$dYu~@)vp)Ud`#b)D_gMKQ$^{x+m=9AZ6`-z|NGk)|(e(1S(eX^e1-_=Eu zZ$wv&o$}0>LsZYMdSIQ8wdHnZEB(SaXei4!7ahyQAjc*ZTUq&;f1KN7?2Fl=IKpf| z4S^RKmz#7HZ(u@P=FW=T(ppu!_nRO59l!3M`<>tTjcq=fSd&X#X-Dye4omZ}Dhx?(}@5O8cRLNNGJ8HMIuVl=~x-;&s-yygUt z>z6^Y6lG9a93n-ne%6r{YJ}@HTBHMhlmCPwi!?TA96J<`(YH20M;HUieX~i#=;!Sc z_~y^ieH`I|YMi|cgQ)Yjjw)FdHZ?fRsuX8znAhpxtrCkY{;2H#7drv}~-Cts*3i+9+>e$nE+Cgty_KCY`zmKT51NCveIUm+KC0 z);{Gvn(%q3n&N;_Y;m{-Jo7rDI~Hkxg3V_*qP#$E2osIWTvHEU39v$(Ak)|M+_Mt?IrOClwZQ2u zH46+NP*eaM(hq|z(!@5j$edoK_q0_>6EwiuEG3Brz_!qAbh-dVkdt6pNly$Yh~1jx ziEy)W!p!^fnGtvtl~B5DDI3)nq&H63bag*lT@*8e@#7;9W8D~|Uh9FB{3>?&5hdH?j?pZ$4{FAqQE^ZxF?`H{c%+&ka@^#1W`_X|mlaqxTo zOYv7hXgVe)?Kd=t2j*O-mR5`m}(YW%A0% z_$w8fP$ou0ykPCE$FF|)U;A~x;%ok$fBW%Y```8Py)HJSJY#)YbVPR(WlW190B2Rn z1D7Xuw-e%&giatK>;-L=8uzS6&pmqe+rI13Cx80i`i}qQZIABWdhNA!xg*)QuPW^1 z&8Mk}Q&1U~?gO@hXKew8qZ+@;8KjB>i!@ehMG~Wdc(d?6Cbq__#v-?34VYBeT;HGw z9jY1=hfxr_3TLR*EuG}!bea!nOlhD;B?(dXkC8CNQcj1IfCC;k#8&DJds}l)FC3$k zcRG~tK$TUa&$IM{1*mn!;4_2KTy`D6qHx$?Qvv9jN-dj$D>?<%&c3BH5pg^J!3@Tt zt>Kd9sujiyR)rCaMe~y9PCE=~iKQuDqg)^{lj-dF+#^Z>4LnXlrpPEWr<_ag7kA&! z2nac6E%}|ep@HCu+(=l}13}9;3o?!H?0pAFEo~aGDwKd^o&>D}b{Fq;=vp!yPL-)FQo;f8G5ZEgX zo~a|3${&pOEet-CUNBNR{01pR>0mVIulKi%w%&FNgVSwy4hhDb%%eRU%Enkc{nk>j zpHq0=+h>YZW!{(xI_P{KS)(4zfmV<*bMFSb5>Qn^>~`f&Ctr9HhudjLh0_ndJqDjM zff+~dK zd{txPVo{~;4!*Z*+2IcYdu8-NyLicBg-M}-1I8UXr|lOp?r6^`2$s1eW0Vkp6Fs{2 z-q`P4U(MqaQ{)kx0BJy$zvm9lJ>#Quw}9y#&N#xGuaC~cG6YnFYA)cIqoqSOAj;9v zQsC?uJbc=ulGP1Han2!>|K~QgQqhRMv(|9Jpa%;>jtJ9~04ajuz-R(V2}J5_^NO^j zn?O<2jcQEdD1o=>8;*rD1c)n14S=;;^6S}Y6-$w^G8r7u-Bj#%6DDoWxNpq!_H+sw z(rm(fBr(^=N{z}UmAIAOlw*n~aplmp+}_V;5&>05E|hOPzCyiq1$SSc*0l*fxqqT3 zZ~ec%<(u*Gk3IhA$KHOqd(gs#+T#o2GV(G67jR#7A-Pxa^6Fb}z4*y*yZnR?yzA3G z^JA~P^3uznyzlSHi{~mBLsSh94R3YdlBZ6RS~8YOPK}SYoy`T;*jxYV-jdi7+x^;y zwY8C^XD;K2j%D9c#A#?SjF;VX5Ym{IG|0B1fem#9pY?;qLZ_R-h>nf;OxdJRp0-n= zQ+*0O*;_XPI!6<-WmxF^H1~q2jfKM2g9q!4H(z_l2R?Pz%OCg&pZ8<0yz<~3pV<5U z!dj}spo~^DSI^fWEhcL;JKxiRB_Gt zN#g~7du(o5sZzjFIp(ZT)QaqllRMPpN|R!g<*s`SKJd zP|mpubrMV(W2Q;iPd?H)DJrvUr&@#9SxT3;!Gy-|+^iw`*?2_0Juf z5JPC~i5sm&jO#{+MD|koNdf@!B)$+k)O>tIkNM(_yEQSn6Rb@?irYOQq@59Ua-W!C zm;ksW7Z6hzlIYC=3Cnewb&G~_gb>}S#y#6mw!JyE=k&(h#y*Ao9NOKs(e2UHx<-Rl z{UvB-Ta_gEH3;JJ_*JecDisEQMo zX5K|P>Cdta5C{6$Eo;;B9znVeLW05yszq?7A{Te3>#FuFe}eP;v{mUgQMFzzE}UZ@?}4yeG)^vx3Yr5BFqa?h@yW zvOqaX@ex%HDJKPc3MBj>gjuRY=wrg`gs^fqhrA4#ge=D?Ohlf<18V935`QrL5FF)8 zDY;8UYF5e1=}UL3y2}~~g_V+kBUsD|+V+JRfA)ymCC+R3MLV>KlLi78mUb;Jvex3m zy9aMPeRbjb=l|S){rLO;*C!WV*}9joZ{S3?W*?6CE>hv17cA)V@WJ)tPhR|_Prf|( zgqJ_zlmF6p{MF~*`HB1S(^VILF>0D|jqT8?TIE2{i|K0<#rYuqX?3DX8q`K81>X#n zGH~zZc_l@ z-DP=-XM#NUS5hJu-cmHCrpY>A3x$tY!a;&m+JEL^|wCqm;b^CKKEySP zmh=cBfu4~Si6n!}I*v<0Q&q5P%5Kya6PbOJ3zWm;QClV%6*X%>HIvnm>CJ=M?AUHJ zr9G;Eb-^tdgg9YnW57!=cKBw*M+J%_Q?q*@akVxQZYwwkT#K~=2{gfNpQElumB>B3 zdx_-2NLfye+ME@rp&fR1j2_DwAx)TKYoj^#b|m?Rkx%8lCO|hkcJ!|yf~?h!T1m*K z*xkAw)K+SKY2@hx4Oysl>nfYwbO#^94A)m!`qV;slW}mQLnqlt9T2E#xn{n5Y?%6- znA8;^eIQfq@5B-kJLL-axE;jUH%7i5YIG+7X5tmnGtzT_@t zSNy3Po@uhCGe8a|_gt{SSo!*C)y7r4C2Z)HjTKzuTzQ~H_SxRfFs^E8K8J^5EseQ2 zlEU)_m_^IiVLn%o8POPZV0!n^0e_H;7a(q@<#BNb7nBfa(90NS8`JJ9VeR?+&d5~&j8UPAiqW0ut4Y&Y4}>I zpp|pP_~Axb{eEyX1nM+~1<(vzGjf<4aqV8-Jk{0#@(lYEx`Zy7U5fx#RXPs!)J2R@ ziP_s*0V60@0y0k~!Th{BiIA|gPCDgQX==X=1%xeZrwvnLri2V_RqD!dh{GOI-6_)| zPG?3l;vO~Z1+eDxfbUG&Wo(Qsr57^Yzv71mk=^9x2jExu(t+tV7vQM5M!O%MN?iK@ zaD@8|2rR;d^rn67mUAXt{MiDreac$%LBTY;}^3tY1rJuh~zZx&=x*00akn3cQ8Gndc5X-SqY`+anlBh@J>^~itTII2<29f&# z5~KPyFzu@nl%$wmp<-=ACSc21E$6qaii;RyiWnM{xbJ1spxyNdys)lMKlb7WKJCfF zcYX2)KJO#1e)zeU-uLEPPqj7*O|7-Kmb6c& z{JwAeL$80&w?2LK_3I*7xSVcV3pg|6;@x9y(h6{34nl>w7KbL0mgP$Be9_V!KKR;O zKk`HW`Jeqye&B!qfAapxlh;3ZclWUGudA$T=Ed%MZhzuAfYz?|Ot$q^@zIVTGsf{* zKMFA;3wylbu#^PgmfH?EhZ9V87cT$bHlvXl+AcPLjuxm4Jq;Hu7&q;W?wL6h_zjsC zBNK@?y<{e;TOxXQw3Ah%A+S~4=_XZ5NJ2*~MrRTWg<26Pm?vrV?vWQ$(dN`zdChjz z?dXHur`u$#d8=nSjcJk;{!UP?Ize~XdDW`n%JoO41y9EznY~!mj)}NGJOdv1C9E z217?%@2E1ia-hFFSHVOZt<%LbC0His=#o+HmbU*XVjcQ|}}s*VOcnWJ;)6r|T` z)e3?Qu$Yw}1{qYfSmdgRh(TBCuCcWybbL-1M>0ANdOU0sR&8;sk7>zoa{uXuzMLHS;SXEP=G`eWHC-Ox3;%PL-=xm^qX058J%H;_~kbbig z##^5lBNEI`$3n|Op4lZIQSY3eNHIzw24T+}y?z3R2q7>*ve`S92O(nalS@xi%c9}o ze9pG{Ji2d~zahTPf@K!%^=w{EIHf3yV_v{iMq}zD5)!#5@u8pmZZRiAJ~%BdL0P7n z;YY1$f9U-QZXd?a?4NARBk#+jOBPky6}r1iE&?Pj+_k#D`S*M! zp#8>U-2tmy!e^x7!BKLH34*YyTb-_3rh)dux4rG|y`S;(KL79gw!ij0&%gAEPp^I5 z_tuiwKy|cZ+`bpFtQb;a5{$tw4*fjlDp4I75Q%-W%(t@WgQ`Hq)AsUP2W3#x!{uco*m_v+`+(;A{T ztx1^2aRyNnI1)~ohV8JUuQ8Ds1quHK(s>Fwfk^+;MBkZmG@O^>YkWtgo|*xY(d{Rj z=|2qzH;w+qy1x0*-}0+|`8RyazxBosec#f4QrPWJQbyvGA+6hopA%2kG|&ikvz0*l zs7q*++7{$;sgM8A_rLKY-}Pbfgg%Xa1WeyPa0xqxoT1Ypu1kzNe`IQ1B%|OMC z8E2XHl{vp5)n^x`yH08+MB4ledD^2vJ}n9uQ``t2%TUL~a)-@lqD?=AU$eckq41=J z_9~ZE7hq?=XATEUA$w1S1LJ@}a0Q6VXe89WZE7&PW7E}fofCHzD=dR}Uo~T!1dN50Xa?}vpZ0`3J(-7$a&Uy^-Kpc# z9DSyR&*7M|xSI1}^Jwkr1X2D2jhJK`G5dwO6xMbvuA`)uF-`8jd-ke?T+)~n{|%;~ zC6z}MN22485x{C^Uky}4zBj3!+(lX2UbbqTB!!m)?HI^#XwHUPl68Ck(E^H9i-6iy zL_^ki2WQ4#H6-z718oD5g_^ch!*S+oAyx9ySA`kW&y-p%WkDeJ) z471c6#AOyLjdmc^qPzFrOvISJTyH7hTl{J<1aPCq5@g5^f(;dZ^cgnPWjp`B*cwu^NPW;UnBEY0BywRi-_ z6T;=sZ=H2a+Ko`)|MGvCOoukp4tJPpGZ_xTk`0Izo=S-+{!_4u5U)?blb2no?{P)r zSAjOmGPt9TVa5=7oCQsS7#c7N+r^EESCJ#`H9ojBT9z9^oC7nHb%t&Q-J8X0*Z|CU z(D>cd{A4v8-xhJwUVT=5(qyqglDa%iD9by6?iDG_*uEj&uRWy^7GKoV!V-zQLTaYc zX0m|-N>jL=`@3%;3#w<&mN_fVQB^u~+xo=jdBqV~qkHnuNe~K2Q`y}(avGQKe^`~2 zYvo{bPKP0cyY?Ys*HfJ|Cn$l5AMmz8Hb?L%W#2wH>0+#7OeE}n+D{*U{KKF9flvR< z|LSjg^Lzf%YF^zIYDA(jg(=igc24O4=^Mfa4;T63``%G6zyI?->+kxm@Bi-SUwZH6 z<^KNOL6seEV;4GuquAjhH5ecsLXZa z91p^sZX6V)PeKCPzbyzV*7Cf^0t}6_bUG(0Y!I2@ojx)H+CA;V7mRU(Fw8;tjTsJR zTjXgLv(HSNT?SUz1fJYW*Zsyve)F&Tm0$MTzwFg-`^)cK>x%0YT+My8mr0VYJn7L> zRXrcUkK#V^w>kIFVQ#P*koxrxzIwsazx)^f+~_2Y25;c<>OqFf6{mW;KAT zPMFdzw97kL?kJ&|S!aW*;*NDlk=uW#_DG2lj2+M4+mWULP>614Un5C#Z-ltjvA<02 zC$WjY*tIwD#F}~y+8Xz`S_bN10x~~hoI{%F6~Gz}$zg_-7IKQgy_*qYIVM{+3Y??h zdz=sPtx&KpIi)cQ3DS;%7|R+#|0rw%CLLOw7$ZzL20Gf^8-E$ya!y=}*o6FqNuHqP z>{52)R*i67W(r#R#B)viYa`;Vk3wfXJE>mVk>W z52tp)n=I*ytX2LR{_`{#a~Oi`F&GzUAYU z|Ju<&rR)*3a`xbW^h?lj&V)8$m<7Inx~Yfs_i z1Q|m$3`!K71&6~t59meVZ&VTT3EQC>dBKg zzu~w4OP}{e|G=w%?fV`)eB^;HHa2!0@i^JQo*JlpS>0c&>dBKgUwZ$0AAItsf6h<+ zx!?7}-}mB+FQZiMu@qOFA;-qx6K+meYtc@^WM)--DmrK9fLL$yqInU4qrCA@_PM9W zeI*6RgjHTk&CmE2hTwp@nRvpKge59H6XHl~HP8pO=axFIRq$l@}UwqFeK6u}!eBtN+oWJm$-}dNj@4Me?E!~w1p^KD> zJtK~u=Y&i#RRW}zhraZn#fe@3H52=%%ZS}z1g*kk{i1fVk@E2!Pun*j2KGph$6>|> z9Q-qWA4>4bXvLXmu~(sRy!4RsZ_0`E9@DNB_$I{I2!z!QI0vw6dC?*4Cl?;rk_Z~hs7=NEkB$9_nY;Q`lFPbsFus>_9^h7O5d2 zBlFT2^Bx8iW?SMk@^;S{j`0EE80=;y*wkq$VLr}KKozumL^B;{bkn)!8kpBX?{Vcot#-ujut7i zC<_VrvY(2VsHCU7jE~V<#5;j}eyTDLMw_$WqXr8G}5;MYlD(_`0LgXEIDvP0W~CM5OOS>;>3 zxcB663WefgD-C;c0GxPGq=63Ra|jjQg^7JMl_+*;=NeUlDLkL6=mb7PKttwI{HdrxKrGe0;HOv{Fo0OT~x#p$P|Fb1=rah+h1|G z0dK`>(K#1%f%WLQ=W)Sb`nJD>-m5N)FWwt@)d9|$Uq1MsVntvd#~dn+zz$OH+i$j~ z6q+Ee{CzA*RpQVrHTew4%VWo$!D&uqc;7+2zDkOL588la!Q%LAFLOwwq{J;4j6^(_ zYD7rD$;g04m1kj%dfjR>`Fpbr?F?O{PuUaBz1L8>b9;3jJMjR<=bH9~>%utMSRizYty`nCd{njo2xQT z;|3Tf6T#VyoG1FAn(m)7!h|Y8B)Qj9HQ=XK7{(g5NQvWbe17k}uiH=*@sn%vtvPRg zuh|pLb`euTV%Hq)jicI1SgY|>OmS&$egc;m$t`rP%UnwbZPP<_t_X=4q8P|4B?jy4 z1x8d`XtP_ z*c;w|5 zg-a8|SaXpu+up|0s=98+E4#4$d6IE3hEFukw+_Z7?mS?dNt@@=YXz(j-tZK`ew68TD?;a&$551V|FztKC3Y&;GOpeQ)?0n2Dpj(iiQ>k33)-*d1#y6;-x>CvRP!fBPpqzP?qB?r!_wt4=y2 z=t83eKlsxAj?n1;ZRv30X}5n0;L+T*oXw%~<(iS8^qXh)$e?MTjs%jY`U!@k?pcjC z44o-S4T>vQ`!FA79UQ@PEUO!Yi1PFjVbuvsy|4n3<`s0H$=I`LScQgjJX#2iuku?j#B4slG*;W{+Q z64vyGj_4@`N+Zx}kUeCsa+;a!AgvFC`OT9<2|F>Ew+0f%a#kqez>*la!Xg^j@o%c7R5rqInZ_C44*`NyCYO1#cZH+uA3eVPVyZc0UbXl$r_GO>10pgk&;X-kKEr4oJ zCn75M_!e4d>^evkmi_0{IU23zC|IeF$yCPMvXeMYvV1&<#^(h1>*jDEa3XP9!>Lo{ z-{W{lsJHtiROI0uNKROOW}`TEB3I1*-_UO$v=s@)4^34p^u+gwUzZ~t8+sgBJYoce z7-NzxR5Bo)Gbw`Xw6OzFnJ4d=$voM<*dC6>Eu`JHV%jFtijy_Eoy+_%X_cd{xeK8l_*=T>iA#wLcRn$7dGaH*wXDH6W0az#&7UK`IzucN! z2Nj)=gWH^S*Dr(?bMu1&u?*?mQ>V`MyCH6+9^IEbOiOB64;YfsP?D3zBtgIm;FuB@ z8+JbXyK&}}(c%I6kn7MC;&H^4KqFbv&cAucpbw#URE^?d;{OtW zOFclu>u|wq`Yx9QRD*}(k*GeXufiQCU=VT}bbxb29X_lI<_|%j=BzL$1toW%>y@#EC7vlnFwQ z^R%Q})==auBsR>17M))hVkZ9{s}i_1H)r6_F@ISKKm77@FRr>w0PYV=|81WOAE^}mivqXLlZ6o(n$2sYtKa_oa~u8i z>El(GE3k?fh9sIkS4YA0Vj24(qEiIj=F4wf$M8E|(Lps~>86Uwi)5>2J(mkP!1?iz z5b0*gx$#7A6-uKy3cy0wvjlCy&EY2u$r@LRvf?SE(||v~wP!e3}BF@}_ zOwN*TsqcWR-I9$;w9z+PGXX*N7ma|uS!g@?(hSXv)5^9(DHandrIL0HQ&wvCxhB9e z21R_hd*8qgsOiv&L>d!fT7>~bO;5zR3KQ*|E`})gvLLZmC3y2oiBtVmxv-S$#WmHv z1|2?2EV&0t*f!P~FM;_Vb&IA%kO5=ey2_exrj0G=xQ|o{eX~Hea z%2-f0SVtwrz`+m`#RU5)#F4d)7_Ia;2>_aGJ3~?#j-OCE@w#7cSZFe|VzBY3OpGCo zh;C*{!I54#Go{4%0Nc(Da!M)$l=~=lckY?L!?q91KIZCcR;Xp?1fkX2E$|Z*4@2fF z8zCK$wkcz=69mM%FIMVd=t>$h224l1iJ)*!v)eJWYvn5q;AbDkS^&Ee}8HlAa6kQ;W01(nb>4yi1<&GKhoQ!VGscX76FsW9EvZV=sdlXJz~ z=sad+XbCuLHSuz*e$CguG$N6wv8NJcMRIz>8fP;;Y!PScKzv2yGj7j1PAMA<$P zRkZ>_6sMce%s+v^5Hcfeg471GgOG!n@kCQ$5xC4-?W{4YBDI;QCQfd^sD$ma38mMy zB&ghhGif-2QW>R9+6p1HG`m9(8A4T5YAKyf@YlMbshp68lRP36>9u359;!R(2snPT z+Ugk~V6l1dgdEnGOtanfT?=d2LpJ$}C;jJJG%XI8gB7n)j>0uZDj+{`KWKZM(u#PS zY=ac>#_ijb3y8ceNR_1C{dD7czb=nnf8|5K^}qkG{xm-NkteUciL21qeI)qS(wWT7 zd^h7i^TeoCxZGo_uTSrvzWb+r&Z?I`;R8SE|M>RreDuQ0MRj+HUFe}-%*5y52o-XO z$^gr`-MM>3TnLLrl|u<-kXY!v#Pu~`Gmy79I$OBF*W=s?t`043NVUe&TP<@`jsQ$> zpo(4LHi0w&Qh{o7*)z@Fta+SGOss;%<8}PG<97sD(2X0=kZ+qW*scPqh34woRoCkV z)X%TyKkEyA>#zO|U-$3+k>}p|-hRBx^)hbDY$`JRE}53J?d3>b$|)~RyPsH)SlYNj z#IpIauuN%aF11mdY;(P&#ms=?GuQq^8c@or6X{H_5pR(xC3zx4f@Lmzt%b|;&%f~2 zayydd+&vHL0#{! z-Dq*^q?j3Rmdi!S#n(hFq&ss_$txh-Y^*M9#68Xi(E=SWbGnQeFNKy4zif-XI2csn zPwhNox;rW4*k}1h+=lUpU>BWtKQ7aG@{B&Q0KhY_+}C2<9>dk85+pBWG95J#0h4b{ zT64~MO*|43ko29IXfZ2PaF_SctUdn~6YrqjP>`V!CSn{?AeJ_9iQQ3JD#&pa6z&Z( zH&&y@=BZujGR3jnU*s0B4-(4l%H9O`@&HDKi5!Hr)ah7V%VmS?C51-o>oq;?$ zlMtD+Fi_G^MFWkKNA})hNH&A>S@UcsFxfoN&z6GB&P0?@$+^C3EeyJJb+bhr)Qnh< zml7QotbvqShHeDor!=sx|y)teS7=R9(lz zKch3`ZE2o?Ch2np4`g~K20QQ%&i2|snPkfWn2!9mRr5EN=vz8hV_MCl$9I@38YiaN zu4vQjjpUfH6FnL?0vsK5t0Ar$(FMk(ObN5U(}6X^HF#`7*27_ zytH>Ps^aJ{?@hsj)Qp6l4e}65S|D^C{EpB=7%Sy&ucr1maDo%P&T!DE*mEr-9#EJY z53xx5pkstEog!#z!4Kj^GrewHEeP0qpMDYJi3D&X$73v#J1N?wbHS!mZUWsE&V8c` z&g;3DYPK_UOW-^R%l<3z1Jv7|>~G@>(Uy;qnAS+TZB|N(2`(GIDqfat%Czqb-lv;) z#I_k?+f7%kxtpVU=loD{(zRp8Lm-97ipfC1Ar%~1+l)?+XAbLf4dkE=DnK}=Uop2r`UUFB*Brj$Jzj(m3@;#OSyf_piZe@s^y|~ zhOi2Ei|v4uJq(=wqr zAyZH>imp)c3nx=*UUr&jBIJz?bs~g-#js~no$i~Rns&R=vA#e}q*qGQUK<6dwMn>9 z<5uJPRQ+`K)5aTk>(yWU5B{Uy@`ryvUiru?ANpGo(YsA$xCaF$#vuj|AzVGpQLtUG z14t^UOK*SSMW|V8y8Vl&9<=9zHb^LsD+wSrd_@}gxeE@@^7!j(u-%Nl8=yA-=Syd( z(lbP5=)qENH+39wIHLA~kmdDvT92;CEpn>OXxU*kz;11Ah9bo7*f%=TBf>^^aJ1E~ z@k$|=Y)M114!TTGGhJsA)?v5WH4#?uX;{&gdeWBesc>2Wq%JEzI7x%Na0_A|Q335V zk4KDE?U_L^};8EO5!3>p2~yj4GZ<9>Wps!~j^+47Ho)^#Xdx2AP7Y z+=vc^ol`$yul8BXQyG%Por3j&l96}A&( ztjnsQm287=k1GJ$$FxSm+j2K(XC4%?zmR?N*wFYQZ+zY;%%P)s8)CQ1^4aypNGLMq zVJwnaF0LAQ%c7?1MQ$G?_D*{ZQIOSA6CY1gmEfNW{&lXaotM$++ipQJ}V+t#f8sXD8W^Ll!WCQj`K&p+O%lb zQ6t@g!FC{lrX7`g&mQ`!=Lm%|F3>Vp7;SA&^Ux$*eSCV;AqPubNO^=`PVrhbt^|%a z3Ap{LC@NL-^j9>dcNnY;kTs zZmMTx88vvsRBy7P1gjZEMmZ+nhM=v!;~Q^%i(X-?z4g{CinGl_|bQd)5&?paRf;rgn<^`u= zp$S*aO~Kh!W5sOm#PhSKz4I-D>5f8mx|N5T1QAVMvfIvt36sIXsr&@g=NuW)=HnA_ zdDBoFIt(IqN1q?);ClL8{OsNTuE?ik9_q29RSqZby zndlsbBNS{xXoyU=c`|8`%#;hH1tv*6(a_8UOKF^!Z9|3@bjljHZAom8_~DZSG@b5V zyao&aGhvYlqI$qq9wAZMOGXiNvMd+o}qVBr>vNJ7u@!usCjRNKWD* z7bYBN?Jy^H6rwq5I>oFrqs2!??ddj&WxV9s�$iDobd4a78qcRtcDJQ-{YCbCW|e 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