From c5fbd8d7935afd77ac681f7a665d21b5246aec3f Mon Sep 17 00:00:00 2001 From: M L Date: Tue, 8 Sep 2026 04:10:54 +0000 Subject: [PATCH 1/3] feat: scaffold LLM vector banking chatbot sample for #1690 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add usecases/llm-vector-banking-chatbot with LocalStorage CSV seeds, Dozer config + spend-profile SQL, and a LangChain RAG stub that runs offline in fixture mode. Document honest gaps and /claim template in SAMPLE_NOTES.md. Local branch only — no payout claimed. --- README.md | 1 + .../llm-vector-banking-chatbot/.gitignore | 9 + usecases/llm-vector-banking-chatbot/README.md | 89 ++++++ .../SAMPLE_NOTES.md | 96 ++++++ .../app/__init__.py | 1 + .../app/rag_chatbot.py | 274 ++++++++++++++++++ .../app/requirements.txt | 7 + .../data/accounts/accounts.csv | 9 + .../data/card_products/card_products.csv | 6 + .../customer_profiles/customer_profiles.csv | 6 + .../data/transactions/transactions.csv | 19 ++ .../dozer-config.yaml | 90 ++++++ 12 files changed, 607 insertions(+) create mode 100644 usecases/llm-vector-banking-chatbot/.gitignore create mode 100644 usecases/llm-vector-banking-chatbot/README.md create mode 100644 usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md create mode 100644 usecases/llm-vector-banking-chatbot/app/__init__.py create mode 100644 usecases/llm-vector-banking-chatbot/app/rag_chatbot.py create mode 100644 usecases/llm-vector-banking-chatbot/app/requirements.txt create mode 100644 usecases/llm-vector-banking-chatbot/data/accounts/accounts.csv create mode 100644 usecases/llm-vector-banking-chatbot/data/card_products/card_products.csv create mode 100644 usecases/llm-vector-banking-chatbot/data/customer_profiles/customer_profiles.csv create mode 100644 usecases/llm-vector-banking-chatbot/data/transactions/transactions.csv create mode 100644 usecases/llm-vector-banking-chatbot/dozer-config.yaml diff --git a/README.md b/README.md index 42b771b0..1dae5747 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Refer to the [Installation section](https://getdozer.io/docs/installation) for i | | [IMDB Analytics](./usecases/imdb-analytics) | Use Dozer to get interesting analytics using an IMDb dataset | | | Use Dozer to Instrument (Coming soon) | Combine Log data to get real time insights | | | Real Time Model Scoring (Coming soon) | Deploy trained models to get real time insights as APIs | +| | [LLM Vector Banking Chatbot](./usecases/llm-vector-banking-chatbot) | Dozer + LangChain + vector retrieval for card personalization (#1690) | | | | | | Client Libraries | [Dozer React Starter](./usecases/react/) | Instantly start building real time views using Dozer and React | | | [Ingest Polars/Pandas Dataframes](./client-samples/ingest-python-sample) | Instantly ingest Polars/Pandas dataframes using Arrow format and deploy APIs | diff --git a/usecases/llm-vector-banking-chatbot/.gitignore b/usecases/llm-vector-banking-chatbot/.gitignore new file mode 100644 index 00000000..a5f2b9f4 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/.gitignore @@ -0,0 +1,9 @@ +.dozer/ +__pycache__/ +*.pyc +.venv/ +venv/ +.env +.chroma/ +*.egg-info/ +.pytest_cache/ diff --git a/usecases/llm-vector-banking-chatbot/README.md b/usecases/llm-vector-banking-chatbot/README.md new file mode 100644 index 00000000..6bdf7670 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/README.md @@ -0,0 +1,89 @@ +# Dozer + LLM + Vector DB + LangChain (Banking Chatbot) + +Sample for [getdozer/dozer#1690](https://github.com/getdozer/dozer/issues/1690) ($250 Algora). + +Inspired by the Dozer hyper-personalization banking chatbot write-up: unify customer +profiles, accounts, and transactions in Dozer, then pass that context into a LangChain +retrieval flow over credit-card products (vector store + optional LLM). + +## What this sample includes + +| Piece | Path | Role | +| --- | --- | --- | +| Dozer config | `dozer-config.yaml` | LocalStorage CSV sources + spend-profile SQL + REST endpoints | +| Seed data | `data/*/*.csv` | customers, accounts, transactions, card products | +| RAG stub | `app/rag_chatbot.py` | fixture mode (offline) + `--use-dozer` + optional `--llm` | +| Deps | `app/requirements.txt` | LangChain / Chroma / OpenAI (optional) | + +## Prerequisites + +- [Dozer installed](https://getdozer.io/docs/installation) (`dozer` on `PATH`) for the live path +- Python 3.10+ +- Optional: `OPENAI_API_KEY` for the ChatOpenAI answer path + +## Quick start (offline fixture — no Dozer binary) + +```bash +cd usecases/llm-vector-banking-chatbot +python3 app/rag_chatbot.py \ + --customer C001 \ + --question "Which card is best for travel and dining rewards?" +``` + +Expected shape: a recommendation for **Dozer Travel Signature** (or another eligible +card) grounded in C001's travel/dining spend. + +Student example: + +```bash +python3 app/rag_chatbot.py \ + --customer C003 \ + --question "I need a no-fee student card for education" +``` + +## Live Dozer path + +```bash +cd usecases/llm-vector-banking-chatbot +rm -rf .dozer +dozer run -c dozer-config.yaml +# elsewhere: +pip install -r app/requirements.txt +python3 app/rag_chatbot.py --use-dozer --customer C001 \ + --question "Which card is best for travel and dining rewards?" +``` + +Dozer REST is expected at `http://localhost:8080` (override with `--dozer-base` or +`DOZER_API_BASE`). + +Optional LLM polish: + +```bash +export OPENAI_API_KEY=sk-... +python3 app/rag_chatbot.py --use-dozer --llm --customer C001 \ + --question "Which card is best for travel and dining rewards?" +``` + +## APIs exposed (once Dozer is up) + +- `GET /customer_profiles` +- `GET /accounts` +- `GET /transactions` +- `GET /card_products` +- `GET /customer_spending_profile` — SQL aggregate used as chatbot context + +## Architecture (sample) + +``` +CSV seeds ──► Dozer LocalStorage ──► SQL spend profile ──► REST/gRPC APIs + │ + LangChain retriever (Chroma / FakeEmbeddings) │ + + customer-aware rerank ◄─────────────────────┘ + │ + deterministic answer or ChatOpenAI (--llm) +``` + +## Status / honesty + +See [`SAMPLE_NOTES.md`](./SAMPLE_NOTES.md) for claim template, known gaps (demo video, +live `dozer` binary not exercised in this environment), and morning checklist. diff --git a/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md b/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md new file mode 100644 index 00000000..89771e45 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md @@ -0,0 +1,96 @@ +# SAMPLE_NOTES — getdozer/dozer#1690 overnight scaffold + +**Branch:** `bounty/1690-llm-vector-banking-scaffold` +**Repo:** `getdozer/dozer-samples` (local clone under `/workspace/bounty-night/dozer-samples`) +**Issue:** https://github.com/getdozer/dozer/issues/1690 +**Bounty:** $250 Algora — Dozer + LLM + Vector DB + LangChain sample + +## Do NOT claim money earned + +This overnight work is a **local scaffold + offline smoke only**. No payout, no merged +PR, no maintainer acceptance. Algora currently lists `dozer#1690` under **Completed** +with **2 claims**, while the GitHub issue remains **open** with multiple competing +attempts/PRs (`dozer-samples` #141/#142/#143, `dozer` #2492/#2511, etc.). Treat reward +eligibility as **uncertain** until a maintainer confirms funding + preferred submission. + +## What was built tonight + +- `usecases/llm-vector-banking-chatbot/` following existing LocalStorage CSV + SQL + `INTO` + `endpoints` patterns (`connectors/javascript`, `sql/join`, `connectors/local-storage`) +- Four seed datasets + `customer_spending_profile` aggregate in `dozer-config.yaml` +- `app/rag_chatbot.py` stub: fixture CSV mode (verified), `--use-dozer` REST client, + LangChain/Chroma path with FakeEmbeddings fallback, optional `--llm` +- Root README row linking the usecase +- Local commit(s) on the branch above only (no push) + +### Offline smoke (ran) + +```text +python3 app/rag_chatbot.py --customer C001 --question "Which card is best for travel and dining rewards?" +python3 app/rag_chatbot.py --customer C003 --question "I need a no-fee student card for education" +python3 -m py_compile app/rag_chatbot.py +``` + +## Honest gaps (blockers for a real /claim) + +1. **No demo video** — Algora guidelines for this bounty require a short demo video in the PR. +2. **No live Dozer binary** in this environment — `dozer run -c dozer-config.yaml` was + **not** executed; REST payload shapes for `--use-dozer` are best-effort and may need + tweaks against a real Dozer version. +3. **Blog URL 404** — `https://getdozer.io/blog/llm-chatbot` did not resolve when fetched; + sample follows the issue text + historical LocalStorage API sample shape. +4. **Architecture drift** — recent issue comments note current Dozer may emphasize sinks + over built-in data APIs; if maintainers require sink→app-API, config must be adapted. +5. **Crowded claim field** — multiple open PRs/claims already; submitting another without + maintainer confirmation risks wasted work. +6. **No focused unit tests / CI green against live Dozer** yet. +7. **GitHub auth** for this agent path was deferred (waiting on autorouting#92 auth); + nothing was pushed or `/attempt`/`/claim` posted. + +## /claim template (for morning PR body — only after live verify + video) + +```markdown +/claim https://github.com/getdozer/dozer/issues/1690 + +## Summary +- Add `usecases/llm-vector-banking-chatbot`: Dozer LocalStorage over customer profiles, + accounts, transactions, and card products; SQL `customer_spending_profile`; REST endpoints. +- LangChain/Chroma (FakeEmbeddings) retrieval + customer-aware rerank; fixture mode and + `--use-dozer` live mode; optional ChatOpenAI via `--llm`. + +## Demo + + +## Verification +- `dozer run -c usecases/llm-vector-banking-chatbot/dozer-config.yaml` +- `python3 usecases/llm-vector-banking-chatbot/app/rag_chatbot.py --use-dozer --customer C001 --question "Which card is best for travel and dining rewards?"` +- `python3 -m py_compile usecases/llm-vector-banking-chatbot/app/rag_chatbot.py` + +## Notes +Offline fixture path works without API keys. Live Dozer verified on . +Competing PRs acknowledged; happy to rebase or close if another submission is preferred. +``` + +Also comment on the issue (if still eligible): + +```text +/attempt #1690 + +Plan: finish live Dozer verification + demo video for the dozer-samples scaffold on +branch bounty/1690-llm-vector-banking-scaffold, then open PR with /claim. +``` + +## Confidence + +**~0.55 / 1.0** that this is a *credible starting PR* after morning polish. +**~0.20 / 1.0** that it would win the $250 given Completed/2-claims Algora state + many +existing submissions — **do not bank on payout**. + +## Left for morning + +1. Confirm with `@snork-alt` / maintainers: bounty still funded? prefer `dozer-samples`? +2. Install/run real `dozer` against `dozer-config.yaml`; fix REST parsing if needed. +3. Add a short demo video (screen capture of Dozer boot + chatbot recommendation). +4. Add a few unit tests (fixture load, rerank, segment gate). +5. Open PR from this branch; put `/claim …` in body **only** after (2)+(3). +6. Re-check Algora claim table / competing PRs before posting `/attempt`. diff --git a/usecases/llm-vector-banking-chatbot/app/__init__.py b/usecases/llm-vector-banking-chatbot/app/__init__.py new file mode 100644 index 00000000..c0bf5317 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/app/__init__.py @@ -0,0 +1 @@ +"""LangChain RAG stub for the Dozer banking chatbot sample.""" diff --git a/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py b/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py new file mode 100644 index 00000000..4320b875 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py @@ -0,0 +1,274 @@ +#!/usr/bin/env python3 +""" +Dozer + LangChain RAG stub for credit-card personalization. + +Modes +----- +* fixture (default): reads local CSVs — no Dozer binary, no API key required +* --use-dozer: fetch customer context from Dozer REST (http://localhost:8080) +* --llm: optional ChatOpenAI final answer when OPENAI_API_KEY is set + +This is an overnight scaffold: vector retrieval + rerank work offline; +wire-up to a live Dozer process is the morning verification step. +""" + +from __future__ import annotations + +import argparse +import csv +import os +import sys +from collections import defaultdict +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +SAMPLE_ROOT = Path(__file__).resolve().parents[1] +DATA_DIR = SAMPLE_ROOT / "data" +DEFAULT_DOZER = os.environ.get("DOZER_API_BASE", "http://localhost:8080") + + +@dataclass +class CustomerContext: + customer_id: str + full_name: str + segment: str + city: str + spend_by_category: dict[str, float] + total_spend: float + + def summary(self) -> str: + top = sorted(self.spend_by_category.items(), key=lambda x: -x[1])[:3] + top_s = ", ".join(f"{c}=${v:,.0f}" for c, v in top) or "n/a" + return ( + f"{self.full_name} ({self.customer_id}), segment={self.segment}, " + f"city={self.city}, total_spend=${self.total_spend:,.0f}, top=[{top_s}]" + ) + + +def _csv_rows(table: str) -> list[dict[str, str]]: + path = DATA_DIR / table / f"{table}.csv" + with path.open(newline="", encoding="utf-8") as fh: + return list(csv.DictReader(fh)) + + +def load_fixture_context(customer_id: str) -> CustomerContext: + profiles = {r["customer_id"]: r for r in _csv_rows("customer_profiles")} + if customer_id not in profiles: + raise SystemExit(f"Unknown customer_id={customer_id}") + p = profiles[customer_id] + spend: dict[str, float] = defaultdict(float) + for txn in _csv_rows("transactions"): + if txn["customer_id"] == customer_id: + spend[txn["category"]] += float(txn["amount"]) + return CustomerContext( + customer_id=customer_id, + full_name=p["full_name"], + segment=p["segment"], + city=p["city"], + spend_by_category=dict(spend), + total_spend=sum(spend.values()), + ) + + +def load_dozer_context(customer_id: str, base: str) -> CustomerContext: + """Fetch unified profile from Dozer REST once the binary is running.""" + try: + import httpx + except ImportError as exc: + raise SystemExit("httpx required for --use-dozer; pip install httpx") from exc + + def get(path: str, params: dict[str, Any] | None = None) -> list[dict]: + r = httpx.get(f"{base.rstrip('/')}{path}", params=params or {}, timeout=10.0) + r.raise_for_status() + payload = r.json() + # Dozer historically returns {"data": [...]} or a bare list + if isinstance(payload, dict): + return payload.get("data") or payload.get("records") or [] + return payload + + profiles = get("/customer_profiles", {"customer_id": customer_id}) + if not profiles: + # fallback: filter client-side + profiles = [p for p in get("/customer_profiles") if p.get("customer_id") == customer_id] + if not profiles: + raise SystemExit(f"Dozer returned no profile for {customer_id}") + p = profiles[0] + spend_rows = [ + row + for row in get("/customer_spending_profile") + if row.get("customer_id") == customer_id + ] + spend = {row["top_category"]: float(row["total_spend"]) for row in spend_rows} + return CustomerContext( + customer_id=customer_id, + full_name=p.get("full_name", customer_id), + segment=p.get("segment", "unknown"), + city=p.get("city", ""), + spend_by_category=spend, + total_spend=sum(spend.values()), + ) + + +def load_card_docs() -> list[dict[str, str]]: + return _csv_rows("card_products") + + +def segment_ok(customer_segment: str, min_segment: str) -> bool: + order = ["student", "mass_market", "mass_affluent", "premium"] + try: + return order.index(customer_segment) >= order.index(min_segment) + except ValueError: + return True + + +def keyword_retrieve(question: str, cards: list[dict[str, str]], k: int = 3) -> list[dict[str, str]]: + q = question.lower() + scored: list[tuple[int, dict[str, str]]] = [] + for card in cards: + blob = " ".join( + [ + card["name"], + card["reward_categories"], + card["perk_summary"], + card["tags"], + ] + ).lower() + score = sum(1 for token in q.replace("?", " ").split() if token and token in blob) + scored.append((score, card)) + scored.sort(key=lambda x: -x[0]) + return [c for s, c in scored[:k] if s > 0] or [c for _, c in scored[:k]] + + +def vector_retrieve(question: str, cards: list[dict[str, str]], k: int = 3) -> list[dict[str, str]]: + """LangChain + Chroma path when deps are installed; else keyword fallback.""" + try: + from langchain_community.embeddings import FakeEmbeddings + from langchain_community.vectorstores import Chroma + from langchain_core.documents import Document + except Exception: + return keyword_retrieve(question, cards, k=k) + + docs = [ + Document( + page_content=( + f"{c['name']}. Rewards: {c['reward_categories']}. " + f"{c['perk_summary']}. Tags: {c['tags']}" + ), + metadata={"product_id": c["product_id"], "name": c["name"]}, + ) + for c in cards + ] + store = Chroma.from_documents(docs, embedding=FakeEmbeddings(size=32)) + hits = store.similarity_search(question, k=k) + by_id = {c["product_id"]: c for c in cards} + out = [] + for h in hits: + pid = h.metadata.get("product_id") + if pid in by_id: + out.append(by_id[pid]) + return out or keyword_retrieve(question, cards, k=k) + + +def rerank_for_customer( + ctx: CustomerContext, + candidates: list[dict[str, str]], + question: str = "", +) -> list[dict[str, str]]: + top_cats = {c for c, _ in sorted(ctx.spend_by_category.items(), key=lambda x: -x[1])[:3]} + q_tokens = {t for t in question.lower().replace("?", " ").split() if len(t) > 2} + + def score(card: dict[str, str]) -> float: + if not segment_ok(ctx.segment, card["min_segment"]): + return -1.0 + rewards = set(card["reward_categories"].split("|")) + overlap = float(len(top_cats & rewards)) + blob = f"{card['reward_categories']}|{card['tags']}|{card['name']}".lower() + q_hit = sum(1.0 for t in q_tokens if t in blob) + fee = float(card["annual_fee"]) + fee_penalty = 1.0 if fee >= 100000 else (0.2 if fee >= 40000 else 0.0) + return overlap + 0.75 * q_hit - fee_penalty + + ranked = sorted(candidates, key=score, reverse=True) + return [c for c in ranked if score(c) >= 0] or ranked + + +def deterministic_answer(ctx: CustomerContext, question: str, picks: list[dict[str, str]]) -> str: + if not picks: + return ( + f"No eligible card for {ctx.full_name} given segment={ctx.segment}. " + "Ask about everyday cashback or student products." + ) + best = picks[0] + return ( + f"For {ctx.summary()}, given question «{question}», " + f"recommend **{best['name']}** ({best['product_id']}): {best['perk_summary']} " + f"(annual fee {best['annual_fee']} ARS)." + ) + + +def maybe_llm_answer(ctx: CustomerContext, question: str, picks: list[dict[str, str]]) -> str | None: + if not os.environ.get("OPENAI_API_KEY"): + return None + try: + from langchain_openai import ChatOpenAI + from langchain_core.messages import HumanMessage, SystemMessage + except Exception: + return None + + catalog = "\n".join( + f"- {c['name']}: {c['perk_summary']} (fee={c['annual_fee']})" for c in picks + ) + llm = ChatOpenAI(model=os.environ.get("OPENAI_MODEL", "gpt-4o-mini"), temperature=0) + msg = llm.invoke( + [ + SystemMessage( + content=( + "You are a bank product assistant. Use only the provided customer " + "context and card candidates. Be concise." + ) + ), + HumanMessage( + content=( + f"Customer context:\n{ctx.summary()}\n\n" + f"Candidates:\n{catalog}\n\nQuestion: {question}" + ) + ), + ] + ) + return str(msg.content) + + +def run(customer_id: str, question: str, use_dozer: bool, use_llm: bool, dozer_base: str) -> str: + ctx = ( + load_dozer_context(customer_id, dozer_base) + if use_dozer + else load_fixture_context(customer_id) + ) + cards = load_card_docs() + candidates = vector_retrieve(question, cards, k=4) + picks = rerank_for_customer(ctx, candidates, question=question) + if use_llm: + llm_text = maybe_llm_answer(ctx, question, picks) + if llm_text: + return llm_text + return deterministic_answer(ctx, question, picks) + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--customer", default="C001") + parser.add_argument( + "--question", + default="Which card is best for travel and dining rewards?", + ) + parser.add_argument("--use-dozer", action="store_true") + parser.add_argument("--llm", action="store_true", help="Try ChatOpenAI if key present") + parser.add_argument("--dozer-base", default=DEFAULT_DOZER) + args = parser.parse_args(argv) + print(run(args.customer, args.question, args.use_dozer, args.llm, args.dozer_base)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/usecases/llm-vector-banking-chatbot/app/requirements.txt b/usecases/llm-vector-banking-chatbot/app/requirements.txt new file mode 100644 index 00000000..392fffca --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/app/requirements.txt @@ -0,0 +1,7 @@ +# Optional live path (install when running against Dozer + OpenAI) +langchain>=0.2.0 +langchain-community>=0.2.0 +langchain-openai>=0.1.0 +chromadb>=0.5.0 +httpx>=0.27.0 +openai>=1.30.0 diff --git a/usecases/llm-vector-banking-chatbot/data/accounts/accounts.csv b/usecases/llm-vector-banking-chatbot/data/accounts/accounts.csv new file mode 100644 index 00000000..5f93eccb --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/data/accounts/accounts.csv @@ -0,0 +1,9 @@ +account_id,customer_id,product_type,currency,balance,status,opened_at +A1001,C001,checking,ARS,845000.50,active,2019-03-12 +A1002,C001,credit_card,ARS,120000.00,active,2020-01-15 +A1003,C002,checking,ARS,210400.00,active,2021-07-01 +A1004,C002,savings,ARS,550000.00,active,2021-08-10 +A1005,C003,checking,ARS,45200.75,active,2023-01-18 +A1006,C004,checking,ARS,1500000.00,active,2018-11-05 +A1007,C004,credit_card,ARS,0.00,active,2019-02-01 +A1008,C005,checking,ARS,12800.00,active,2022-09-22 diff --git a/usecases/llm-vector-banking-chatbot/data/card_products/card_products.csv b/usecases/llm-vector-banking-chatbot/data/card_products/card_products.csv new file mode 100644 index 00000000..43751add --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/data/card_products/card_products.csv @@ -0,0 +1,6 @@ +product_id,name,annual_fee,reward_categories,perk_summary,min_segment,tags +P_TRAVEL,Dozer Travel Signature,45000,"travel|dining","3x points on travel and dining, lounge access, travel insurance",premium,"travel,dining,lounge" +P_CASHBACK,Dozer Everyday Cashback,0,"groceries|fuel|shopping","2% cash back on groceries and fuel, 1% everywhere else",mass_market,"cashback,everyday" +P_STUDENT,Dozer Campus Starter,0,"education|dining|transit","1.5x points on education and transit, no annual fee",student,"student,education,no_fee" +P_LUXURY,Dozer Black Reserve,120000,"shopping|travel","5x luxury shopping, concierge, airport transfer credits",premium,"luxury,concierge,high_fee" +P_BALANCE,Dozer Balance Transfer,15000,"shopping","0% APR intro on transfers, modest rewards elsewhere",mass_affluent,"balance_transfer,apr" diff --git a/usecases/llm-vector-banking-chatbot/data/customer_profiles/customer_profiles.csv b/usecases/llm-vector-banking-chatbot/data/customer_profiles/customer_profiles.csv new file mode 100644 index 00000000..b3a3fa93 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/data/customer_profiles/customer_profiles.csv @@ -0,0 +1,6 @@ +customer_id,full_name,segment,city,preferred_channel,risk_tier,joined_at +C001,Ava Chen,premium,Buenos Aires,mobile,low,2019-03-12 +C002,Mateo Ruiz,mass_affluent,Córdoba,web,medium,2021-07-01 +C003,Sofia Almeida,student,Rosario,mobile,medium,2023-01-18 +C004,Diego Morales,premium,Mendoza,branch,low,2018-11-05 +C005,Luna Ferreira,mass_market,La Plata,mobile,high,2022-09-22 diff --git a/usecases/llm-vector-banking-chatbot/data/transactions/transactions.csv b/usecases/llm-vector-banking-chatbot/data/transactions/transactions.csv new file mode 100644 index 00000000..d623d21b --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/data/transactions/transactions.csv @@ -0,0 +1,19 @@ +txn_id,account_id,customer_id,posted_at,merchant,category,amount,currency +T9001,A1002,C001,2026-08-01,Aerolineas Argentinas,travel,185000.00,ARS +T9002,A1002,C001,2026-08-03,Osaka Sushi,dining,42000.00,ARS +T9003,A1002,C001,2026-08-05,Hilton Buenos Aires,travel,98000.00,ARS +T9004,A1002,C001,2026-08-08,Mercado Libre,shopping,31000.00,ARS +T9005,A1002,C001,2026-08-12,Cafe Tortoni,dining,8500.00,ARS +T9006,A1003,C002,2026-08-02,Shell,fuel,28000.00,ARS +T9007,A1003,C002,2026-08-04,Carrefour,groceries,45000.00,ARS +T9008,A1003,C002,2026-08-09,Farmacity,health,12000.00,ARS +T9009,A1003,C002,2026-08-14,Netflix,subscriptions,6500.00,ARS +T9010,A1005,C003,2026-08-03,Udemy,education,22000.00,ARS +T9011,A1005,C003,2026-08-07,Starbucks,dining,4800.00,ARS +T9012,A1005,C003,2026-08-11,Subte BA,transit,2500.00,ARS +T9013,A1007,C004,2026-08-01,Louis Vuitton,shopping,320000.00,ARS +T9014,A1007,C004,2026-08-06,Four Seasons,travel,210000.00,ARS +T9015,A1007,C004,2026-08-10,Tegui,dining,95000.00,ARS +T9016,A1008,C005,2026-08-02,Easy,home,18000.00,ARS +T9017,A1008,C005,2026-08-08,YPF,fuel,15000.00,ARS +T9018,A1008,C005,2026-08-13,Coto,groceries,22000.00,ARS diff --git a/usecases/llm-vector-banking-chatbot/dozer-config.yaml b/usecases/llm-vector-banking-chatbot/dozer-config.yaml new file mode 100644 index 00000000..2e6f3433 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/dozer-config.yaml @@ -0,0 +1,90 @@ +# Dozer + LLM banking chatbot sample (issue getdozer/dozer#1690) +# Sources multiple LocalStorage CSV datasets, materializes a unified +# customer spending profile, and exposes REST/gRPC APIs for LangChain. +app_name: llm-vector-banking-chatbot +version: 1 + +connections: + - name: bank_local + config: !LocalStorage + details: + path: data + tables: + - !Table + name: customer_profiles + config: !CSV + path: customer_profiles + extension: .csv + - !Table + name: accounts + config: !CSV + path: accounts + extension: .csv + - !Table + name: transactions + config: !CSV + path: transactions + extension: .csv + - !Table + name: card_products + config: !CSV + path: card_products + extension: .csv + +sources: + - name: customer_profiles + table_name: customer_profiles + connection: bank_local + - name: accounts + table_name: accounts + connection: bank_local + - name: transactions + table_name: transactions + connection: bank_local + - name: card_products + table_name: card_products + connection: bank_local + +sql: | + -- Unified spend profile: total spend + dominant category per customer + SELECT + t.customer_id AS customer_id, + COUNT(t.txn_id) AS txn_count, + SUM(t.amount) AS total_spend, + t.category AS top_category + INTO customer_spending_profile + FROM transactions t + GROUP BY t.customer_id, t.category; + +endpoints: + - name: customer_profiles + path: /customer_profiles + table_name: customer_profiles + index: + primary_key: + - customer_id + + - name: accounts + path: /accounts + table_name: accounts + index: + primary_key: + - account_id + + - name: transactions + path: /transactions + table_name: transactions + index: + primary_key: + - txn_id + + - name: card_products + path: /card_products + table_name: card_products + index: + primary_key: + - product_id + + - name: customer_spending_profile + path: /customer_spending_profile + table_name: customer_spending_profile From 353103e450493aee1783530631dfbba93d5b0459 Mon Sep 17 00:00:00 2001 From: NixaXI Date: Tue, 8 Sep 2026 08:47:17 +0000 Subject: [PATCH 2/3] fix: verify Dozer 0.3 live path, tests, and REST client filter Run dozer build/run against the banking sample on 0.3.0, fix composite spend-profile PK and client-side customer filtering, add unit tests and a text demo log. Document 0.4+ endpoints removal honestly (no payout). --- usecases/llm-vector-banking-chatbot/README.md | 42 ++++-- .../SAMPLE_NOTES.md | 120 +++++++----------- .../app/rag_chatbot.py | 26 ++-- .../llm-vector-banking-chatbot/demo-log.txt | 61 +++++++++ .../dozer-config.yaml | 17 ++- .../tests/test_rag_chatbot.py | 80 ++++++++++++ 6 files changed, 243 insertions(+), 103 deletions(-) create mode 100644 usecases/llm-vector-banking-chatbot/demo-log.txt create mode 100644 usecases/llm-vector-banking-chatbot/tests/test_rag_chatbot.py diff --git a/usecases/llm-vector-banking-chatbot/README.md b/usecases/llm-vector-banking-chatbot/README.md index 6bdf7670..2dc57162 100644 --- a/usecases/llm-vector-banking-chatbot/README.md +++ b/usecases/llm-vector-banking-chatbot/README.md @@ -13,12 +13,17 @@ retrieval flow over credit-card products (vector store + optional LLM). | Dozer config | `dozer-config.yaml` | LocalStorage CSV sources + spend-profile SQL + REST endpoints | | Seed data | `data/*/*.csv` | customers, accounts, transactions, card products | | RAG stub | `app/rag_chatbot.py` | fixture mode (offline) + `--use-dozer` + optional `--llm` | +| Unit tests | `tests/test_rag_chatbot.py` | fixture load, segment gate, keyword/rerank | | Deps | `app/requirements.txt` | LangChain / Chroma / OpenAI (optional) | +| Demo log | `demo-log.txt` | text capture of live Dozer REST + chatbot (no video yet) | ## Prerequisites -- [Dozer installed](https://getdozer.io/docs/installation) (`dozer` on `PATH`) for the live path +- **Dozer 0.3.x** on `PATH` for the live path (API-era binary with `endpoints`). + Dozer **≥0.4.0** removed built-in `endpoints` / `dozer-api` — that binary will reject + this config. See [`SAMPLE_NOTES.md`](./SAMPLE_NOTES.md). - Python 3.10+ +- `protoc` (`protobuf-compiler`) for `dozer build` on 0.3.x - Optional: `OPENAI_API_KEY` for the ChatOpenAI answer path ## Quick start (offline fixture — no Dozer binary) @@ -30,8 +35,8 @@ python3 app/rag_chatbot.py \ --question "Which card is best for travel and dining rewards?" ``` -Expected shape: a recommendation for **Dozer Travel Signature** (or another eligible -card) grounded in C001's travel/dining spend. +Expected shape: a recommendation for **Dozer Travel Signature** grounded in C001's +travel/dining spend. Student example: @@ -41,30 +46,39 @@ python3 app/rag_chatbot.py \ --question "I need a no-fee student card for education" ``` -## Live Dozer path +## Live Dozer path (verified on 0.3.0) ```bash cd usecases/llm-vector-banking-chatbot rm -rf .dozer -dozer run -c dozer-config.yaml +dozer --ignore-pipe build -c dozer-config.yaml +dozer --ignore-pipe run -c dozer-config.yaml # elsewhere: -pip install -r app/requirements.txt -python3 app/rag_chatbot.py --use-dozer --customer C001 \ +python3 -m venv .venv && .venv/bin/pip install -r app/requirements.txt +.venv/bin/python app/rag_chatbot.py --use-dozer --customer C001 \ --question "Which card is best for travel and dining rewards?" ``` -Dozer REST is expected at `http://localhost:8080` (override with `--dozer-base` or -`DOZER_API_BASE`). +Dozer REST listens at `http://localhost:8080` (override with `--dozer-base` or +`DOZER_API_BASE`). Responses are bare JSON lists; the client filters by `customer_id`. Optional LLM polish: ```bash export OPENAI_API_KEY=sk-... -python3 app/rag_chatbot.py --use-dozer --llm --customer C001 \ +.venv/bin/python app/rag_chatbot.py --use-dozer --llm --customer C001 \ --question "Which card is best for travel and dining rewards?" ``` -## APIs exposed (once Dozer is up) +## Tests + +```bash +cd usecases/llm-vector-banking-chatbot +python3 -m venv .venv && .venv/bin/pip install pytest httpx +.venv/bin/pytest -q tests/test_rag_chatbot.py +``` + +## APIs exposed (once Dozer 0.3.x is up) - `GET /customer_profiles` - `GET /accounts` @@ -85,5 +99,7 @@ CSV seeds ──► Dozer LocalStorage ──► SQL spend profile ──► RES ## Status / honesty -See [`SAMPLE_NOTES.md`](./SAMPLE_NOTES.md) for claim template, known gaps (demo video, -live `dozer` binary not exercised in this environment), and morning checklist. +See [`SAMPLE_NOTES.md`](./SAMPLE_NOTES.md). Live `dozer run` (0.3.0) + `--use-dozer` +chatbot verified; text demo log attached. **No payout claimed.** Demo *video* and +maintainer confirmation of bounty eligibility remain open. Crowded claim field +(`dozer-samples` #139–#145, etc.). diff --git a/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md b/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md index 89771e45..815207bf 100644 --- a/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md +++ b/usecases/llm-vector-banking-chatbot/SAMPLE_NOTES.md @@ -1,96 +1,62 @@ -# SAMPLE_NOTES — getdozer/dozer#1690 overnight scaffold +# SAMPLE_NOTES — getdozer/dozer#1690 **Branch:** `bounty/1690-llm-vector-banking-scaffold` -**Repo:** `getdozer/dozer-samples` (local clone under `/workspace/bounty-night/dozer-samples`) +**PR:** https://github.com/getdozer/dozer-samples/pull/144 **Issue:** https://github.com/getdozer/dozer/issues/1690 **Bounty:** $250 Algora — Dozer + LLM + Vector DB + LangChain sample -## Do NOT claim money earned +## Do NOT invent payout success -This overnight work is a **local scaffold + offline smoke only**. No payout, no merged -PR, no maintainer acceptance. Algora currently lists `dozer#1690` under **Completed** -with **2 claims**, while the GitHub issue remains **open** with multiple competing -attempts/PRs (`dozer-samples` #141/#142/#143, `dozer` #2492/#2511, etc.). Treat reward -eligibility as **uncertain** until a maintainer confirms funding + preferred submission. +No maintainer acceptance, no Algora payout confirmation. Multiple competing open PRs +(`dozer-samples` #139–#145 and others). Algora may already show claims/completed — +treat reward eligibility as **uncertain**. -## What was built tonight +## What works now (verified locally) -- `usecases/llm-vector-banking-chatbot/` following existing LocalStorage CSV + SQL - `INTO` + `endpoints` patterns (`connectors/javascript`, `sql/join`, `connectors/local-storage`) -- Four seed datasets + `customer_spending_profile` aggregate in `dozer-config.yaml` -- `app/rag_chatbot.py` stub: fixture CSV mode (verified), `--use-dozer` REST client, - LangChain/Chroma path with FakeEmbeddings fallback, optional `--llm` -- Root README row linking the usecase -- Local commit(s) on the branch above only (no push) +| Check | Result | +| --- | --- | +| Offline fixture chatbot | OK (C001→Travel Signature, C003→Campus Starter) | +| `dozer build/run` **0.3.0** against `dozer-config.yaml` | OK (`--ignore-pipe`; needs `protoc` + OpenSSL 1.1) | +| REST `GET /customer_profiles`, `/customer_spending_profile`, `/card_products` | 200, bare JSON lists | +| `rag_chatbot.py --use-dozer` | OK after client-side customer filter fix | +| Unit tests `tests/test_rag_chatbot.py` | 7 passed | +| Text demo log | `demo-log.txt` | +| Demo **video** | **Still missing** | -### Offline smoke (ran) +### Commands that succeeded ```text -python3 app/rag_chatbot.py --customer C001 --question "Which card is best for travel and dining rewards?" -python3 app/rag_chatbot.py --customer C003 --question "I need a no-fee student card for education" -python3 -m py_compile app/rag_chatbot.py +dozer --ignore-pipe build -c dozer-config.yaml # dozer 0.3.0 +dozer --ignore-pipe run -c dozer-config.yaml +python3 app/rag_chatbot.py --use-dozer --customer C001 --question "Which card is best for travel and dining rewards?" +python3 app/rag_chatbot.py --use-dozer --customer C003 --question "I need a no-fee student card for education" +pytest -q tests/test_rag_chatbot.py # 7 passed ``` -## Honest gaps (blockers for a real /claim) +## Config / client fixes in this follow-up -1. **No demo video** — Algora guidelines for this bounty require a short demo video in the PR. -2. **No live Dozer binary** in this environment — `dozer run -c dozer-config.yaml` was - **not** executed; REST payload shapes for `--use-dozer` are best-effort and may need - tweaks against a real Dozer version. -3. **Blog URL 404** — `https://getdozer.io/blog/llm-chatbot` did not resolve when fetched; - sample follows the issue text + historical LocalStorage API sample shape. -4. **Architecture drift** — recent issue comments note current Dozer may emphasize sinks - over built-in data APIs; if maintainers require sink→app-API, config must be adapted. -5. **Crowded claim field** — multiple open PRs/claims already; submitting another without - maintainer confirmation risks wasted work. -6. **No focused unit tests / CI green against live Dozer** yet. -7. **GitHub auth** for this agent path was deferred (waiting on autorouting#92 auth); - nothing was pushed or `/attempt`/`/claim` posted. +1. Explicit `api.rest` / `api.grpc` host+port (8080 / 50051). +2. Composite PK on `customer_spending_profile`: `customer_id` + `top_category` + (matches `GROUP BY customer_id, category`). +3. `--use-dozer` no longer trusts `?customer_id=` (0.3 ignores it and would always + pick the first profile); always filter client-side on bare lists. +4. Document that **Dozer ≥0.4.0 rejects `endpoints`** (`unknown field endpoints`; + sinks-only era). This sample targets the API-era 0.3.x binary that matches the + historical LocalStorage samples in this repo. -## /claim template (for morning PR body — only after live verify + video) +## Remaining gaps -```markdown -/claim https://github.com/getdozer/dozer/issues/1690 - -## Summary -- Add `usecases/llm-vector-banking-chatbot`: Dozer LocalStorage over customer profiles, - accounts, transactions, and card products; SQL `customer_spending_profile`; REST endpoints. -- LangChain/Chroma (FakeEmbeddings) retrieval + customer-aware rerank; fixture mode and - `--use-dozer` live mode; optional ChatOpenAI via `--llm`. - -## Demo - - -## Verification -- `dozer run -c usecases/llm-vector-banking-chatbot/dozer-config.yaml` -- `python3 usecases/llm-vector-banking-chatbot/app/rag_chatbot.py --use-dozer --customer C001 --question "Which card is best for travel and dining rewards?"` -- `python3 -m py_compile usecases/llm-vector-banking-chatbot/app/rag_chatbot.py` - -## Notes -Offline fixture path works without API keys. Live Dozer verified on . -Competing PRs acknowledged; happy to rebase or close if another submission is preferred. -``` - -Also comment on the issue (if still eligible): - -```text -/attempt #1690 - -Plan: finish live Dozer verification + demo video for the dozer-samples scaffold on -branch bounty/1690-llm-vector-banking-scaffold, then open PR with /claim. -``` +1. **No demo video** (Algora often wants ≤30s screen capture). +2. **Architecture drift:** issue comments note current main may prefer + Dozer→sink→app API. This PR intentionally stays on 0.3-style REST endpoints to + match existing `dozer-samples` patterns; maintainers may ask for a sink rewrite. +3. **Blog URL** `https://getdozer.io/blog/llm-chatbot` still 404 when last checked. +4. **Crowded claims** — many open PRs; confirm with maintainers before banking on $250. +5. Optional Chroma/LangChain path needs `pip install -r app/requirements.txt`; tests + and live demo use keyword retrieve + fixture/Dozer context without Chroma. ## Confidence -**~0.55 / 1.0** that this is a *credible starting PR* after morning polish. -**~0.20 / 1.0** that it would win the $250 given Completed/2-claims Algora state + many -existing submissions — **do not bank on payout**. - -## Left for morning - -1. Confirm with `@snork-alt` / maintainers: bounty still funded? prefer `dozer-samples`? -2. Install/run real `dozer` against `dozer-config.yaml`; fix REST parsing if needed. -3. Add a short demo video (screen capture of Dozer boot + chatbot recommendation). -4. Add a few unit tests (fixture load, rerank, segment gate). -5. Open PR from this branch; put `/claim …` in body **only** after (2)+(3). -6. Re-check Algora claim table / competing PRs before posting `/attempt`. +**~0.70** that this is a credible, runnable sample PR after live verify + tests. +**~0.20** that it wins $250 given competition + possible architecture preference for +sinks — **do not bank on payout**. diff --git a/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py b/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py index 4320b875..3a237b66 100644 --- a/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py +++ b/usecases/llm-vector-banking-chatbot/app/rag_chatbot.py @@ -8,8 +8,8 @@ * --use-dozer: fetch customer context from Dozer REST (http://localhost:8080) * --llm: optional ChatOpenAI final answer when OPENAI_API_KEY is set -This is an overnight scaffold: vector retrieval + rerank work offline; -wire-up to a live Dozer process is the morning verification step. +Fixture mode needs no Dozer binary. Live mode (--use-dozer) was verified +against Dozer 0.3.0 REST (bare JSON lists; client-side customer filter). """ from __future__ import annotations @@ -21,7 +21,6 @@ from collections import defaultdict from dataclasses import dataclass from pathlib import Path -from typing import Any SAMPLE_ROOT = Path(__file__).resolve().parents[1] DATA_DIR = SAMPLE_ROOT / "data" @@ -72,25 +71,28 @@ def load_fixture_context(customer_id: str) -> CustomerContext: def load_dozer_context(customer_id: str, base: str) -> CustomerContext: - """Fetch unified profile from Dozer REST once the binary is running.""" + """Fetch unified profile from Dozer REST once the binary is running. + + Dozer 0.3 REST returns a bare JSON list and does not honor simple + ``?customer_id=`` query filters, so we always filter client-side. + """ try: import httpx except ImportError as exc: raise SystemExit("httpx required for --use-dozer; pip install httpx") from exc - def get(path: str, params: dict[str, Any] | None = None) -> list[dict]: - r = httpx.get(f"{base.rstrip('/')}{path}", params=params or {}, timeout=10.0) + def get(path: str) -> list[dict]: + r = httpx.get(f"{base.rstrip('/')}{path}", timeout=10.0) r.raise_for_status() payload = r.json() - # Dozer historically returns {"data": [...]} or a bare list + # Dozer 0.3 returns a bare list; older docs mentioned {"data": [...]} if isinstance(payload, dict): return payload.get("data") or payload.get("records") or [] - return payload + if isinstance(payload, list): + return payload + return [] - profiles = get("/customer_profiles", {"customer_id": customer_id}) - if not profiles: - # fallback: filter client-side - profiles = [p for p in get("/customer_profiles") if p.get("customer_id") == customer_id] + profiles = [p for p in get("/customer_profiles") if p.get("customer_id") == customer_id] if not profiles: raise SystemExit(f"Dozer returned no profile for {customer_id}") p = profiles[0] diff --git a/usecases/llm-vector-banking-chatbot/demo-log.txt b/usecases/llm-vector-banking-chatbot/demo-log.txt new file mode 100644 index 00000000..16957189 --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/demo-log.txt @@ -0,0 +1,61 @@ +=== DEMO LOG — llm-vector-banking-chatbot (Dozer 0.3.0 + RAG stub) === +Captured: 2026-09-08 05:46:36 ART + +--- dozer -V --- +dozer 0.3.0 + +--- REST endpoints (Dozer already running) --- +["/customer_profiles","/accounts","/transactions","/card_products","/customer_spending_profile"] + +--- GET /customer_profiles (first record) --- +{ + "customer_id": "C001", + "full_name": "Ava Chen", + "segment": "premium", + "city": "Buenos Aires", + "preferred_channel": "mobile", + "risk_tier": "low", + "joined_at": "2019-03-12", + "__dozer_record_id": 0, + "__dozer_record_version": 1 +} + +--- GET /customer_spending_profile (C001 rows) --- +[ + { + "customer_id": "C001", + "txn_count": 2, + "total_spend": 283000.0, + "top_category": "travel", + "__dozer_record_id": 0, + "__dozer_record_version": 2 + }, + { + "customer_id": "C001", + "txn_count": 1, + "total_spend": 31000.0, + "top_category": "shopping", + "__dozer_record_id": 2, + "__dozer_record_version": 1 + }, + { + "customer_id": "C001", + "txn_count": 2, + "total_spend": 50500.0, + "top_category": "dining", + "__dozer_record_id": 1, + "__dozer_record_version": 2 + } +] + +--- chatbot --use-dozer C001 --- +For Ava Chen (C001), segment=premium, city=Buenos Aires, total_spend=$364,500, top=[travel=$283,000, dining=$50,500, shopping=$31,000], given question «Which card is best for travel and dining rewards?», recommend **Dozer Travel Signature** (P_TRAVEL): 3x points on travel and dining, lounge access, travel insurance (annual fee 45000 ARS). + +--- chatbot --use-dozer C003 --- +For Sofia Almeida (C003), segment=student, city=Rosario, total_spend=$29,300, top=[education=$22,000, dining=$4,800, transit=$2,500], given question «I need a no-fee student card for education», recommend **Dozer Campus Starter** (P_STUDENT): 1.5x points on education and transit, no annual fee (annual fee 0 ARS). + +--- pytest --- +....... [100%] +7 passed in 0.01s + +=== END DEMO LOG === diff --git a/usecases/llm-vector-banking-chatbot/dozer-config.yaml b/usecases/llm-vector-banking-chatbot/dozer-config.yaml index 2e6f3433..c5e4bd9e 100644 --- a/usecases/llm-vector-banking-chatbot/dozer-config.yaml +++ b/usecases/llm-vector-banking-chatbot/dozer-config.yaml @@ -1,9 +1,20 @@ # Dozer + LLM banking chatbot sample (issue getdozer/dozer#1690) # Sources multiple LocalStorage CSV datasets, materializes a unified # customer spending profile, and exposes REST/gRPC APIs for LangChain. +# +# Verified against Dozer 0.3.0 (API-era binary). Dozer >=0.4.0 removed +# built-in `endpoints` / dozer-api; see SAMPLE_NOTES.md. app_name: llm-vector-banking-chatbot version: 1 +api: + rest: + port: 8080 + host: 0.0.0.0 + grpc: + port: 50051 + host: 0.0.0.0 + connections: - name: bank_local config: !LocalStorage @@ -46,7 +57,7 @@ sources: connection: bank_local sql: | - -- Unified spend profile: total spend + dominant category per customer + -- Unified spend profile: total spend + category per customer SELECT t.customer_id AS customer_id, COUNT(t.txn_id) AS txn_count, @@ -88,3 +99,7 @@ endpoints: - name: customer_spending_profile path: /customer_spending_profile table_name: customer_spending_profile + index: + primary_key: + - customer_id + - top_category diff --git a/usecases/llm-vector-banking-chatbot/tests/test_rag_chatbot.py b/usecases/llm-vector-banking-chatbot/tests/test_rag_chatbot.py new file mode 100644 index 00000000..1fadea4a --- /dev/null +++ b/usecases/llm-vector-banking-chatbot/tests/test_rag_chatbot.py @@ -0,0 +1,80 @@ +"""Unit tests for the offline fixture / ranking path (no Dozer binary required).""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import pytest + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT / "app")) + +from rag_chatbot import ( # noqa: E402 + CustomerContext, + deterministic_answer, + keyword_retrieve, + load_card_docs, + load_fixture_context, + rerank_for_customer, + segment_ok, +) + + +def test_segment_ok_ordering() -> None: + assert segment_ok("premium", "student") + assert segment_ok("student", "student") + assert not segment_ok("student", "premium") + assert segment_ok("mass_affluent", "mass_market") + + +def test_load_fixture_context_c001() -> None: + ctx = load_fixture_context("C001") + assert ctx.full_name == "Ava Chen" + assert ctx.segment == "premium" + assert ctx.spend_by_category["travel"] == pytest.approx(283000.0) + assert ctx.total_spend == pytest.approx(364500.0) + + +def test_load_fixture_unknown_customer() -> None: + with pytest.raises(SystemExit): + load_fixture_context("NOPE") + + +def test_keyword_retrieve_travel() -> None: + cards = load_card_docs() + hits = keyword_retrieve("travel dining lounge rewards", cards, k=3) + assert hits + assert hits[0]["product_id"] == "P_TRAVEL" + + +def test_rerank_prefers_travel_for_premium_spender() -> None: + ctx = load_fixture_context("C001") + cards = load_card_docs() + ranked = rerank_for_customer(ctx, cards, question="travel and dining rewards") + assert ranked[0]["product_id"] == "P_TRAVEL" + + +def test_rerank_gates_student_away_from_luxury() -> None: + ctx = load_fixture_context("C003") + cards = load_card_docs() + ranked = rerank_for_customer(ctx, cards, question="no-fee student education") + ids = [c["product_id"] for c in ranked] + assert "P_LUXURY" not in ids + assert "P_TRAVEL" not in ids + assert ranked[0]["product_id"] == "P_STUDENT" + + +def test_deterministic_answer_mentions_card() -> None: + ctx = CustomerContext( + customer_id="C001", + full_name="Ava Chen", + segment="premium", + city="Buenos Aires", + spend_by_category={"travel": 100.0}, + total_spend=100.0, + ) + cards = load_card_docs() + text = deterministic_answer(ctx, "travel?", [cards[0]]) + assert "Dozer Travel Signature" in text + assert "C001" in text From 37038644033ae883e4b5ad64c90018737f832a5d Mon Sep 17 00:00:00 2001 From: kanonmatsubara Date: Tue, 8 Sep 2026 12:30:32 -0300 Subject: [PATCH 3/3] Add fixture-mode demo video for #1690 --- .../demo-fixture.mp4 | Bin 0 -> 398050 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 usecases/llm-vector-banking-chatbot/demo-fixture.mp4 diff --git a/usecases/llm-vector-banking-chatbot/demo-fixture.mp4 b/usecases/llm-vector-banking-chatbot/demo-fixture.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ec1c95fcdeb974537708c40b98ce664598395d68 GIT binary patch literal 398050 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%0A9LSkj!{(M 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⪚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%0D>w5L_DWVW`7L1J4y*d)S6a+!yjdWqsN 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%0DnU2?Kq*)8dpA#iy)d7N zYfYJL0CfRgh=K$(IQwHpa+%wTMx&Ovgp~1z{m|g#Xp6dlQg#%lKNzdjcRXR?#-Dd} zFrAMPLr%@R%BJ_Im#WAR&Qhf|He8!1m9h^TJk?Hf|H*^XSL!9jr<7?$wFdE1E)i%7 z%ljuui7UZzr+3}`@9E0jopi=2Yfe=%8YYVak)|PLY#BJ#w&u7 ziJUS(m@}x}V;tM=Lq}&3`WA>KDlt7508bL{$Tn%O$#B>L;G*wtyWXn|GTL%$$Hj-q zUXiz#z|V7M(=8_ORqDtzsbmS{ziwWbrmF-Wz@OGyuXLQY%a*WWVx}ozFeQWi_a^wi z9KmngiZ>yEH(-Bd>=d^ljj?d;^?03G8yG0;?I%0tpee9 z9x~v{a9-^0Nvp@X>0nY5jAYY_HQN`~7W@7a?dqso8?&xp9ivnkaogg%_Y+~T8)axmPD+wq(hHt}+yI}25<(oXr-rQ58vhNG z&z|MrA1@u+8G6bi2QBtfLLHep$e}Ys=PbO?!=xODnnn3o-LUEdVupIsaYWpNIxnmX zb+b-Z#6hkTpb7R%D!!~Mh9?yJ3edJ2{Wq#E zDLfKNzGAM+2VU8j@O7Y|7sU4qtp7tNIN0;Hz)(k63M*R@@WKI9q;FWCUL@VTsTsJFE2yS_O8qE_shX zfLX-|YYzPS4_O{}dmf}!(3>bPMflo*o4)uHX;do9XD`{F&FD%>A(yniQecmrZFj+Y zfN42yt{sH&p}fm50F}S|lwZ!aUik?rZ|JAhB*t3;Gm z2!n1BNuv9LW@;wdb?ZHQE-HI3Q$8+twK8Hb>Ox<~f`9Uy5an->;;iojuvd_st=VU_ znUGPztD3eXt%FMjmZS=F6Hs7&%lqYL|7`FAYl@m~O?wQseUUxA=JR@NPtR#-I!>1t z01%}Wk3a#&I2@t_`qF+dU&tPQ!xA?Gm3Ccd-ZosRu&KR5hLYn#frv!DC@qi4yB(o4 zgryzvj<hHa?2`JQKk4h6#$@mnYC>PnAM#vOY)w={++WMwn`Mi0ulyPFUj;D@e_UL9u) zc_XgL_47zQ>8(OOPx6}$yQTf6^NKUFDu|Xl=?KUs@O=1v?18v(Q=Gd=xwX1`r>)>S zEmrlPP3p*^^a5ctC?*f-d{%ub!;DQ#DXf^x*_h|SS%r5$KS1<*CtprQBxne`vrN;T zwk1!ppvSARu1@!>7s;kNrl-0Ep+5yRmZn3#OCurvL!Rxm>xYT?BB~e%0+Hub;SI-P z!>MbdK(H0w@8Laf{cz0%0Gl~n$=+l5R=HRi8v7mrQ6_|{zdLvIQ}mQOgpmil4a6^l zYOKV8r3Z?WoF39+O{{fR-p(jZcdln|2Ze<&5^(#)*97LN0Ovw6{o`PDTObW0EvqaD z%9b2Lc#kN^uLZ1uKUt+*Br<=+0#lS(X{Jq3$&SAdQe?FKQ`IL%=i9qATp-GJU}!(!Y>}@UTey zr`302l&CVjz>{1UzRG|w<^POd9^|I}XrU5-gt_*Tvvs3?Fx~cDa{w5a+U_t1asq3l z^oEgh+7-58n`&SB*vE-gw`#C#9DDO-k7i0+CvXb=+lV8*v&3JlA7@k0m~x!vN}D6I z%z%wwm8S}dTON5Ujx+lW(%yU# z`o()Nt^szBu;C9?em&KG!r=`Fk0P;bR@fobePezhF<^xqaGm`N2xJ zXL=Zc$pns7#C2;VgTYRGvf9<1#Ee!?^n5iW=fajX3!dDkW$9xvJlE9!d>JIK?N zr+J86dO9fZEW}++bEipy6FBh;>?VKU{Gcr)iDG#p3i|HrgmLu0x~K1f=JEP3s4MSo zr~ldfT@Er(iQ0tVk^2`i37Wif;a_)o+QF`i*Y(yKjTXMP5dwYRF3aVAj=;?Cs%a)e z`9_H-U;Lcg*|`XBSetOi&QjB|XbtSd$3OlH@FBlGuz$So6vHl}boteym>~RsRnk5` z08jicxFv>D5;ib?)Ni)hJk1yq4lh$I#$B9Bs?A)n$R|6h@#?sns<2(vD8pdnN-{KK$EGY)*(?WImM=TTEG_Fv{4qt=U zfY5Ys!fj$P>U5LgJ;4A7yun5qd2&1+mbi5a6mi2u%T^5Rx;G(&+dtYRr)D(3u*B(h zGU*1STvZ^1`SmA(Vxo^1!0FL7Y%>9sAi=BESy^})h96?{;LS1wGiJB=9#Zzk7~Ou} zZ@QJSCr3yv?19l49_KyyflklqRzwpDPp@A(>sS}-Hf5b~qVrIo;s55%gbv`S08bSt za@#eMTSkd%zb7vzgx2+gH&<1Rg zRwMj-N2+V!1$B5ytvLY{PefPxa^Py_D(>Ql$#r|0^}b(TaD; zJXhJSpQejr57%N#HSI8v@qO7n*F^<6ZXNnC@5AqSY^G9Vybe(&GZcs7$Y|(`i9Vo- z(*+o&WMow_bS?~kSiWDP2e=+h4QMyqqLhU1kLk%Umk^1G3-FjX`c_rYknTZ+u62Z| zzFW~C})o9X-gm3_UE)U9DYIL)0; zq$I;wjN9dxrf+LsahNB_{iaT4a-7*8`?PMg@7MXwI;*^T8E!3*N@P>)2^MXFP3***QrF#TigkgFE z2UK;Bz&nv|os=((;(!4doCB*_AWOeM=;SHlZPfo!Ryprw9X&4D90BoqksQhgMI&qG zsQMW8+^M$h=JP0Ah2`0FzU#DBq#Zl}GHTF&)W05PI_bGmH=EA_@}LC5EC^S7s};hw zxh1yTS(M<27yBGJ)@j^VDTAk+PTChY@D9F}KUysKL;fyg^U`mEH|8hNUKGEGw`K<3v>Rx{mrT<)K9-K3=? zARRJ?7V-^{gARDzK|LC;N4Ff^$yOyrZbV;fKyDf+rY+BapvJ=>Lx1Y6?>Hn~k`Sjfo_jA0vtR@$rfv+h|SRMsA?C{w#&3-b%M z+NoB!1MxGn`Dx?z%;wTaTV7J@>zRH~PxSn}aZDn@$hV=``U^IMCzSt{kFE}Tty?6v zx2V&Ki5c<1h3M{v)jq8UcuUi{Y$x6Z&`|#~v%P%y^=Pat3vEh0b}4XRbIpCcDU+r# zZ<2yocM~`^M`*klnw6>#h#}dK>dRnqBQQJHdOSQNhB7r?lUl$D1m}J~L7E{cuw?*={iT7@F0p4S4p+p)60yGu@R15}dAZ2>vf1Hi z!@APtOjL52`UeZqHlv*JmCM=IX86mtAdbr~E^^kK#TwNPH+sc}cO(5z`&QMmqWg=n zaij6+RJwi_qh6$F$!{-x_yPK48|>Tw4~%-&grD`Ir-mZe+z9%9-HGxtsZOTBvq--o ziF!4y{tfQ812wov7adf*wL-oV{IYAZw6bV{Cy90`q-j1R3k`G|*iDPwve&eT_Eyr3 zB(rcLk7xnSek*N5K~5g4(`dR_|MO?cGVkm@dvF13iODI8f*gn^MM(u|4lOiP+3<#c zsv$s}iAm68Q~UCyKMfe+r`jSd)>L3G%!yw-f8BfTd2F&eE@1JbK7W$MP^uU+J}xiS z$$p~n*IoEQciY{~82|o#KF8hsbHZCV>SaB&Mjp7{eWdi$VBOixZZQbEqMzY^;HX(_ z0%bcvB|tCWldg6!E=0%fXos$LEv%29`LP6%NDx)DamTD~x|78;)9vaQe=IC>Ln?u0 zlnZ78KgJ0Ts(9qsoo;_>()YJ!=7pN;Xd;i^8EDefv8&SWq?5vW<0Y`I%BZmimAwU# zq~wgqMbLP7|NJR7Zeb`ZA_9*3hb(VBr87udfn_(j&gDLmvD~*CvJOPa8f6T6U9`+! z<^9*5B~%u=Ca1-g82ZR#7TFBToZ;?0YslsK!O=H_Tg#^J&a~icHpWvm_{X!7^}}x+ zqZ+Af6wF3ezxYPzJq)Sw9E%#OiO-HMC{V2H+pIRCuw?2)nxdUeM-xf zYnkes@7ZFD711{u2bav8*EFi>Ar8Bvj-UU;NZErZrMxC`F$P$(I}lE4$m%RVxB?Da zl4G&ZVbOv2F;Y%Dfq&-{V&vXPfOh36ng#_e`uVbj@pre!7r_$AWX!x@-2*&52(6aH za$f~pTvfdvnvS1=GNGH5?F3DjJf<*AIgh=1_;OuvYm(;@glciY{~ zQu{=oNdLCjO<;h3dl)B{(d)?wb(T++ys>0mzbLpa<_P!^c%*RtASSv?W>h^4If&nV z*?x%_K(58p+7JuazE(0SD>VEf6)tE+leiQ=PZST|uFALvnib2OBWv=N*h~G8{rNHq z$M9NTU&tp#m{P*Z$l}SfDeI`k^SastX}`@_jb4NyMh5B+rR?`EoLR)m7dG<2Af*eg zp9zNMyDETC%Le<&xnp3?Eqc-DcY4W=OufZ z4@V4Bk&hUnmjYZ0pRrUY@&QwG+^m9Ilhm+Hhv3|_OT6zjnP_G;G%&)9_? zs@F-y*Kq4tlsogW^>i0OdeT>T5aW+inxv%k;(x7&xsJTDS zHaUsIZ1eF!U@agh-daP$eH;k|%K}Wrl1Ty{n%0(0%C6B@fMMna7%FeVtkXiJjU0+f z*-J}r_B?DAdF-#gqS3vyYA*GDR5`VsJ*0dwvQ;YtP@pmi`=G5`OAebiv)E4&Cvv)AN&6oa zQtU(Wi?81kaikAN={0Eus%SgCX8v0O$BeTsl~#G=n3UtF@5K&ZJ}r+P1{|wEOA|lw zi2IPSU*_pMdv|WZPN;VxM9gcdPte$YWsFEM&Pq=cgzHnJG1hs5c8m(!L?3tXZa1=F&Eu>J#(zHMhRik_ExpQpUy{Dhkv4D@T1^sEVd4M$Nu zz?4#lHvY(X4~AAW*#tjx*B$mtC=7|~j6)pK_iVu85q*A_S0$cYK$~v#S5RwhCSNRV zcDql6?CF>O^l+woG`9PDxvH6$ppD^rfI8aLJ}JZl``E#1CozjZl@`BlH2)20_5XKe z8t6ODXkkS)L_AFvCd(7bY11`0-p%i!xCB14CH_61&^gx8#~yB{>gvP9?MC`XE9GnT z%x7EcGnfdAvox(R>cFW5tS0HpnZjbZE%Dc&ywD$qBtKHGQK_&EhkZj@?B7E##g+;l z!%@@*&+wDPFkVM>yMtM$Ty_AWi%5V3Q@%%f>Nv-l5PIH=&h{8DT8=~@olK#*sPRMo z^&qC#YINu6iE-dii@XUJWmoWs$IzSer<_$~b_L_JtUy}`@Xx7`N=~X|Jq62XS8mj- zV85Xcwu|@+vv?vFjki1mwE09rjQD52yXij#w9=FLL0dM zl_&o%^;hAYiQUsl7;PcmYYJUPq6!$$%JMpQBSud+Cm@$2rFQF7wUJjCK ztru(vhZ#+?JP0(=86=qze98!Ba9df-6hqCn+mR{;x6H9IL}$`)izhqDo_gi}t9Si@ zsX?CglOp@=388 ze7v%$d&VW5VUl@7@Tey@fAXSoSGmgNA-Q_6@;3<2GuGfbiuqnQEoUEzH~&)X198!| zxL7&Jb6yC2Sp0mtX+d{;lw$B7BI70E*dVy?hB^iU;G|5KTcAn*xN9p3-Tl_ z%R}xIEIf4O^dwFFq$28IN!|A|KUf`KI-J?P6gE;WxMQ&zA#?oLBpg}0me_knY5V|5 zARAM+%&aXGE(~4qqfG}wNJ8`0&-{yAuGvm|$m+dr1EjE=ErAJ2_2L4+t!FVgq$jNX znP`xK){O}wL$FmZ0#b;j_ofW#1F-NA9Ev~_?lkopyPGQ!`&p5K&x!GI{6=oZ=3>EdMF66d?MwLNdh1xk>bQ`&kK`R z-@nW~r7fHbqP<_~hFA|LuA|L_O0yqPvqSxZPy~N|)S}xHO|B#dp6VR>tk*EK&KCYN zkXSD(OP}!}NRJGi4$22V1uhw@L2LrHi})@*%MHYR$d+<0QY^3Dely{1FJ1;EOif!Y z0}D)4CrOyJ!zwaQ+*y7|rzAka`9a_S5$4_Picq3A&OVW|Ekn+1!`P1n8+iPiAyN8a z`dQkFeBGk`MFFxC0-xo(8hWDkKCHMFT-(19hSd5AO#Q>-L0rx$hB(gp<3tm%#E*Li zS*Cun_W`NrQ^c||z=ye1Z!x(Zpe-)HkP5COcN?M2wa`A++tH5Ry~whE?O>tJhw(_k zZm~oCLfg;225p|#i_)s{O$HvOo)z;n5`^DYSt3)lV{Ch4{D{f(L!IzVgY=4XORael$OG(Z<>?- z-$M#eAgag>yo=v9@%U%m;s!LoPaa>xkz}_j_I}@0cbj^XRNW%-ECSg(pXII3Euxr6 zzkU?aKX&Q{w8LDL*TK| zV(;_D0@;;guAKoyN4O{%>}fQ(TKe@gS;7>?@_~x=ouTlsxH`gf@C)5fm1-mfpm;Cc z*n)-+o-M@0%G_|-m|;CYf?!~|x|6694aHa?oKo0+YKjI!x-C#oSCAGsIcD)}VSu)D zGnX}{@x7nxy}!83h~~dkWWj%9Jl?UX4AUaAnS7rGWyEbRUOP1PXe88?+m!x85bQYW z1c~CQ*LP^IP&Z}ZuwjX4*iuUI3~%JAbB)h1(baqjIf)Cnj%^&p7=9^`&>93^YvxyX zrRVg;Uv>F}S|)N^y?eb;b!Y=59N|m`#c0KvD=PKOiSi_yvZ(r!@(Oh=5PGqj`Qz4$ zk59-I`n$GcIF>%)rSbPmp@0^MR}xUFDz~A zi32?pNd!XFk^N$wId}~cDgdTn9tj7YZHfZZ=b!NwBH0^hhw5hN?IR*8nVxGo=MJD& zWCCk8;55N$Bxk1o{RdpEhNYE=+||h=Qi}VHbwIC&G{$XO1gB;m=#Gjxl{-!wJXaQ0{$e4xwH*A=@L|Zlk{7uS9bExwPrNrGwx3=7XDPlj9ctio6NQpil-gkboaepIeEBm zl(wLuLRP&)B~`9NIY+X3Aejo#ZhcSB5m%sHf!?zPw)(sRC_2v{W?&=jAimRfrn=sI$Cm98my~VS&OrMX?BuQG3)vqq**p@A zi!)oeMKJ>Ym{k+pxaLthW~x&=7_&3ICy!-@cH+p`{We>o?vO_7V94kiGADM!O|$ox`|v7NM6Q^aCH) z(~5|l8#HvuhCOjcAS884R~bSSYx!w3n(V~Iv5fQ&q|8~|#&$qH9Y}#&T(xo$h-w?J zL}PrHT**+HBJrVIYBWx`bpjW7bB3K{2F7mGgv03}{@(d6!*yzF&P#W%Iz_nc>rrXk z(Ze`rs=hrJVTzfQPD?BA0uUkw%ftMAjxK#r1pZ9onSMYgen%t+1Eu8jqQ4w}=w-*a z;NppUbXg_Z5ndclnVZj!O*_j?42r8F1_ezxA^3mr^}_c#WShPXDck)dR88^olwfr6 z!q~ z;^~+__eu~1e@s$t!BNAIm0Yrh*UB5QI-^xFL-MOykMJk^lnd6kMc^&)?f$A& zYm1Mqb&GgazW~~H?K|tH;}BEF0TcZh>ftpY1~)eYQgkLW%iT~rz@Jf(bG38snP7G$ z2fjN*#a^I-k(>W?$pbSK-o#JgWid-Zf5-1jHD3tkkE8%Nz7o!^cULI;U z!0?YqK18??@RMx~U>CC0gc6@nBpJS3Q~LSz!iOz5>CU~E?Cv3o))A!#J!n&+JykM< zuR-Mh`Y4Y3OHGKSMNN{#q15@nUu7aPeDyTHo7(8RUhhidt2am`+f+>r2M8J+Sc4~b z?*d)?3)f{~PUGTRKUB13S>YZVAna0u2o~e*?fg;85xaNnb#uubAc6GL6#SAuiCnl&E_HOZ_ z%Q%DwbZF91jM9+&z+(ei(KJ3>;UmL0lTCseSIB_9MhvGmnve1I5FXna`?LR(Ms@f6 ztlos%0O;xqUgpC?2R9wtXZk-%)yM8(H z%M8*%)-@LryTsnCaNLo`R?u)}^pD+84NmZ$aiLMV(cM%=T$_Oo6-@oI)8=Qt%(My# zfiPziTA*WS9 z9NHfYE}x--gl6x*`dtJ(RY~-?nVDxZQOk%Cvhl;5^U*NrB~fCudH<=naKwv;6Ye^-;tNbx0TzJ7Hs(im)V1 z_IV36_rI@C*$+;Hn%V-u>oxvm8orh?p3xnC{aoQ#VGP}23b>#8|^97(%6b)=u=PssFZAgYmfK<}x_Aq&(jWhy5v9}Td~gjHa>CKD zZFWJ->I2S8A7#f6iqDdORi->+V!RN)oj!#+-A7A>iN{EG7y);TAXJV!%vK}x8Lu7_ z9iYJE>@!q5wW;$ITX=V3egF-nt79NllGyhMMvY6?XJ72zy;Sa#sPF$f`dDC0Qzwov z$_E^puQ`0ePzMmWIY7r_Vruk2WyE5TtNhP>Y=Gxg+hQU5X=qwC`E*7QqUBl+x?UPL zwcZpmQ0h|sd4&44;=r)8G}z<*1a^C6vV~sJ)nGtSaT^?$0y@+2s6xSX@a|tPP~y_q zr){brN|o0lN;HoekXfjFcm8pH?}95_U!33C=m49_It+CAq(Ee8KgI(I2rof*R-Oh7 z@v-!*0P*_5{VKsE9Q9WlC5XMoP4I-GsM5%WL^(H-`LuL+!A+O-hc@0TJaj zx!g_s-7Eo^PK0T4$qaL$g8)&)Ok-Y>il#Jj_zn-zJ3oTZmM}tspCjQf4;SI=kP3tz zHZQU$L~~UuhvxZQF>(@reCzBysMr?gqZPV2Vr?4{(8^7jIj z9;;h^Gf@Oj&dHs`2xipZ7PqMLx9=OmrDd0W6s-C4HjYg0FpxENVqLPp=ke^CBQDYQ7gd6A z#$@r9u#>}KY&k&-qokch7<#>a9M6Rnizb$L7&dAiPBOZ|KDH3}h;dzX>A>Y+T4ZKo zu2w6lF1@%hLYZ0ZGWo@+yo^z+TI>o+5ReI3`s%c^#I4aT@Mv;4|0nH?(Kcf@HNf>@uvndxd-GgTmhVrp~;(v88*bILP7-+zwIf0tj^d zj^qIaB;SBziP^f(2q*=$K8u6-4Mkdbt&+A$*H>Ci3zde#H?O>n>%T|en`x)aO(r6C zHR54D!WajI+j8Cc4XbLrV;A6s${3i{7e$KN=KyhqleXlhLShyPaCx>O+4%B_WrXzp zwUVfabQ68pS}MZ8WJZT?`@wk}at-;?Rc`bph$F%8)3$d(Y(4oU0U3x*oJ*W4k`=z4 ziB5j_F2pD{|JBg>dFA>UeXDKqwp3QHI#=oEcaM|~2B#Eyvqqh)+jrc6L&P%Z31~wU zihi&w=dm@gSrD>l{QreQxi>AE>w`=&a?Au8%CTy20VOzdGRkiWa7l(_TK%tKOucYi z*J)2uEw>+T@#0*5CR66FHg_`U`S(l?jdpp+dj4m}PA1?;CD~oqUN|Sn;oJ}XA?-5V z!n3q{C@?RpB5lfsA7bU4yG`NXj-CC^B1A9ye0ndQ(mB1lXU(DVH?`+0xRX!!b5Cl5 z_VayQQ_G^!HdJ<=iybT^oW-c4n^6ccR9lMpUF2A z4}R~Zr(E5bOh)S}5rbtc|8$4UxYoOqfK8(iV8NSp+R4sZ&7#Xt8E35~qP0 zTjm!dyY3@!e|f%8!xRUN3(3;PM5{e^$re5z{gP7ifBN2i&Z=X5KKQv~kN2rIw-G&E zd^HKnV71E0#^Oc1f50K%)8`*ZF6d<@1<)UzOF$hBA;aa668d0xJ9oBpFl?%6aAzPx zRy)4zdU{ib1)`|{>kuWZJzMP{s_govf_-u-O|5ds8Ow!kN*ayIP@y68dqu*qgoeVC z@SQ(94OUdwD2>`65#z64`iv_(;x5poBFEG}+~`i+f@Rwng4B{TpmI$)x~!p!tfiZvnpd@?2Mi1k`g31_|we;AT?ICKf0* zQuDZXJr>4byta|U!Z8>c2%D!fIv!N?@PDrtob9}PKtmczQNpD^Iu87L{^N3-WjDPF zA;l5!U({PdtB>aN@Tfahh`9~unDnHL>M_hO+!>I0l%H=j<3UWZIi6&STaoX9I)2Ob z{e)0R3IM(vTL)6|#|ol(KZe+tGRc#daDkjzNl%^wR_gl-8>!05e2(7ow3k!e{R$PN z>fz(es8&u6a(F@QZS|u_HGg1BeT#lp^iuGBoB?0Lj=SO5m;g&l3kUC`|4LG$xIBhK z?D2O|7b)WRI$>_IZZ)Ud4`(xo6Yt@jhA<`vSK|b2ew1UKdm#Toe=1}3kRiAW{Zw{i zpthNydw^HLNYV-ilubtnsyNzskKPMRuDrBRlJWKmjXyO1jh#3*(!k~HrhG|H(fS7= z&L{9?EaXK923y+UW=Sirw$sA^a1d%!uv>Ajo&WXZkA}-E%kzQjOkkeY++TcJ< zFNwSy$w?)bdn0P)7n;9`F+A|@5Qz+?Ho^8s?G(W>?=F z)GPf%DUm(ApVTr)jW`ONO3|byL0bhvAoTJ2B`rCG2OwN+G9Vs2omk;|HtG`V6`Zx* zVeYz^K=%5)Ny(Q-SVimnzV)xj==)m$&Ntl=)x_t&@6|a%q%xg%o;Ylq!LJSwZL$HviMK9YS23*?D(;@>P=cWp*zj9Oc!Z1I9 zPB8gb{~X2_VrD_TJS3>(T{^-z(zYN6{g=->a%k&Xxn33fZC+%K;k!j}(|ib&>mmBl z;O#*$z`O3hex5s>D)e-oB7I1}jyFliy&Kldl z=t30=U;VK=|3ylbS3!f9slXUkcAuP>ov-ggtqXCRCrVHwCN=FQksUj)TPqgw_VYUH zNHlR~oO&bm>jnGIJLwue!edT_sL9HN^87+mK0PWOQHXmWAII5qPPwa~M55)(iJ4wN z^&_7?m6A)Z=+P~vobm+DR#>Bu-`~M9Hpk?o>?77>1}UKQ&v~Wm=y0^TOt~(yLQ2DU zi_8v<8G#X^AZcl9fCpWKeujNkCK(l5QFMcjy|Cs40tTc4P)Iv;{i2d&eIoQE7gOfW zQOjndYn#ag~5NZWvoTc=-Hfw_?9Zl+lDro=O`QeQOH+tpBP@3+)_vCF# zudrHs@k9!BfG89~rpwEui@I&4*Zd9NW@xYDg2PcpzHIhW z;o?Y|b|ZrKr&RWat}q66Uty0e1p${^u2p@mKpK9<=1%*(Ry5$)6~IjP;m+j=P5b0B zqnf>#&W`@li`OgWGfYi2gQDB|;k=OqqXz(eoBtm|Z2cC&k|dBOj8$iN#+>dvm0d!KUy5DK*>)Y1bc`hGhntGn}3XlJJ8BXk5=k@~%+%uzZQVVOiLn_2w9x z89{$WfNAB7GYeFNVgcI}^Aix0a~z(eQv92db-z1{v$2v}GHlF*^=UcRHMRp$DsEd^ zKHJz#tpAz}FljTALTOsd(|j*Jr+O%{@j30mclC8UkAI~IR;4DTcGkVI+aJ$`h1 zprA~QN4rZ-6c4$iAZEeNMJ}^vrigCUhQfDcrEx(F2*18e--#>FB3A!o>0lVyd^Ft* z3Z^%QAEK{|YWrnJ+%%vL0mJSV=}sF%>fH-_iF-TpS1CNO!hq+&uQxLn(E3J*`1{jg zTSnnKJgT%jo*4_-gH1jbmxlyLFjW3?J%Jctd(ML?-A;yQy&ZI0KeZMNn-Rd~*Vy9w z3l*`(C9hp7vDL&^235Qgg^G&E$1Id7W$kGIg@a#oc@=kF=YxSviIbqC3q_Cs z0``ge-(v3!q2?wY>b$dL3zHO%8*W{Ti&#-foIoRe5ezq4&Eb0D!>}M!?k9C2Qx0oY zy`g<*!-2k#N$lugJ_~f6*H!{eZ_Vo;^e>efIhFAID0 zKN?(aZIE`29%VxBe5hGHfi@&ra<&2KYgdhYmyj8v^b0Rr7)F;Nm}Y8@^h?d9`cu6a zmAle{pEJO~`jd&*%k95s>n8#1yUhqx8~F!@qSk#e*PFf2f=PJ?jHbW42Xd6h<0Sm# zI|jh^l1M3FP-v&A!rh?;o9VJWZt9ZP#xAYV@MBHu|KlEAXU_t66NT|EUq}F9(U7>1BqRdsJfLv(=%x8oPjpKxkX*GtZu- zTZ|nR-q6WcW;%}_`irYEqQSvY6+mRFYW`j&z(5)88mk%l;hJpNDJkS}ugAQ1%at^K z1e<%QkAbmk?Mkc-_ul!$-e&70E{Woz@qoQD+|s6Drpf{mlHq=(ASIyZc{h;2b~%ZL zeUtRNs)cNeb{IrxQ$uc|(OLpOr?QPA0ON^=^o1kGzqa`qg;PuSbfx_T!h2~J3j`>$ zbbRxgC|yH}glX;6_q4pX1iS-jXx&o>WD6UKK$69cCFr?js{>$&;tw?dYB;=IV@Fk9 zySYD;6?4#8D2&eqnuD#r#zq2s(*5mPa1t=BqaF&I5gTsPrpRrNI znkHPa|L;*A>?k&FPfiCJs3=ThCLiXPHpUkFPz;esDHX(2vk5o_NR>Is=HV|nHY{p; z*Sj|?W+^{#+Hh6~cvm{5ql# z6N4*IJC|CKM@=>B1xZ%c*YVu>f{aydSI}Ox0CYT9n05I={4~B2LB+;@0 z_$YK>&ujX+Vl_NMF|L>Cf`V6pyBieq8K}W%e26{oI%YD#MS~!F zOg;A9!^?On;{UP~y2-)IZ zu-j8G04;)%xe##z@QM45pY>%7^Mn|Co4TkDxvud`F4l^`wp#$gPN@O*7jtqQ*k>S@ zHf@XsALU34fiGe1yWgo_S^bIMwzKHQFEaJ=GR8eQRYDcORqdSxR2Eym|DT7F7Lbxo z2~ko?X%GZO=}tj9q#L9}LO@bVP*Op!}-BMa!{9v8w;m zm-vRy4e4*(YsG9k=(%71(Bu1@Mnr8{nF@73^^I#bKU^HDB-9wHttrQRB{1FeO$JfE zbEy=eEt>8U9oV*be{#5r=_sD0c@jaEV%w{+|u+fw9;rg^} z95iN8QIWOqqVHwixo-$&_{OtPyVO*B#2bs{bdt#TOEP+gYd^hsbCBMDEF|1dye3CU zzmX?wSf7#gK|+o?V=ZkifoPJ(FEk?(tvvrt!fKO1S0mmnYIohqfkOo)Q>?*@DTT@< zW+q!B`V|#^NvYq%Hm%qwaGuKautmn^-5`+jH;FbMI6BCT-P)Ft#cJ+w#&G3YJ7RrF z6}J#gtE-ZZ)Qg9-^hbq`{w9$_(%)pZIF?RK zM=tePMi^uAtP+P!Wc7*)?rPM)jBB^>pWWABRs( zQOgH?#jsI3I10HIO}+JOYeoN7u_P+*W0RxOrRy{y3MCySaYuD;#Tl^9sw*6dqr!y7 z`c6)!TJ%XwaA~(yf8dl#Ik8R@4>UzZ&cI;C3ciPW->xfFF&YvYa=iDi9gw+m<-&C2 z(u0_&^7j|Li^1zFxfMUnnQPy#$8_Pe%k0gPE<1Bq_Jx@WQcl`gzx^UCaAj8Y6F*kJyhtaD z7YDf~lP9Nj;hFWc2pA<(q4+3Gi$SxlXRC+LYy~Pq?hrB849yAacEYpUnb$rzkmy^h zuz7QOzD=V)hyHcxmKaa^45g|gAxXv)HC?g!y2?u*pP`LKY1J2OO{Y_xDCfOaF5L3G z7hII7PlgsD!^$hMU|H0_DBoOvqItr3#}U zv*v<~gv8ovm01!xH;31qh&LfY8BLu`p-VoE@PMJo`&Wp#VqR(6GWn-Vu8mRMx}?s& z(k>kCITS^gX>Svvjn{F3O9FL!0Y@^Z@9?{3=k%*bSxi2CyUO!?sG~_o@%05*C@ujQ z7!6!rXx^*hKCl;p2FHC*oXyz`u>0EA1=1G}kBW=t170sgpIMmQFU0I!O?XRzN z&-Q&GJ;YqN71)=}QjlFWVPp4PJ#F#Pu22^@blC5LYpbvODs;q zv>3d%a6jFH+n5}$W1N5RlEt`&SebNW8c#}Ecd?v+o4aOwh1N%ANr)UxjCxa_#V|nCVOXk66r4`|idscjAg0f%0F6X|< zI-H~6Q0tcs><~7rzCq`uT`J=GggJq+4vRpXV)sJc9y?*A(#O29=XF8`l@6`z&UmV~ zzXn%fw(`&gwGQa+K2>>B`c9l9*#$Gd@ug+_D>)=F6 z@jxC*Sa&&LEbWCvm=||jbOqL#z6oQt?X*a-DSDMLBBk$}pMn}5WAPI%VttG`oKwDR zUo%r4#5S2j?Y|JyQGs=3)zsPlxMkOXSdDaV-62xK#Er3X&!XW|?6XL^6$V>*1)`mGl!-jcw3$y|Z{|p^x^+Hcb$s7LLC+h}ndctZEUluEtzsseq~l?vsqf$d zLmyVZ-05F(wAQWt?qhHiuaaQAG-0#LM7MeMv@!FFGzN98AC7#_$| z;C_cMitSA`D@Rx%Oy_nanvAmdkkaZ0k;|xVi)o0_H(uKXS^Pv{oG;G(F~vCQ*~Pie zeH|5=zRro2ROIA-ln-(5A^xKv<^%MHxuVZQ-TN5!IW7plC|SBux!Wz&G4)DwSnA3H zU7VYy=fY~6zm~o4v>vRgPl)sOF7%3LNZ?J8-$nH-nv{yWFi^%CFr+fS{`n#cY0FX2 zfaogkXl}>XZFfxk@7+8uE!V!%#p?wy4Eacy6?mlVoeLiMlrEygr*iUj`}r{JDs~)9 zSaUqAnV+~?ps5-?b5MLP|C`J!&XMG07Ol)fuL5*e{N+ zf2DRc2}jfJP!1lICbg5hN|(0O>qEMzD(9Kx;W=F5_9K@Eme@<~mj2 zzOUP?IG><W4)}3}Bu##nIou}9xpR?lUnw@+zJ+cyU|YGGd0a2LQd_Yi;TEUy z7B4Cf#yOUwrHRWGFUe-fr>b)@t|@Yo;o{g#X1tAO7ED2#YCs>5FSqM&*xi-z%5X8teycj7NHn;6P94FLtk{FaO z;SbANw~b(9S3e03EMCSS6K^0h=6><9pd}S|4_ykK)}mHPY0u+|-+B!Rp_rW%;lNQ4 zYUm@Sik^dr`g84^b%E`jbMMB#3v0++CFrdp>A%;mV0AG2DEZZu@H3vg!Hq$dpZvB_ zbr@Vp^^*BIc$dZI@1u*zJbHW5zSMBk1y?EhDp^y!Zz`POdqc^h`Kiq}_DsJn+uP~6 z5yM<8C5db=dpbScCzDh%;@PX;Q(ODEmie4DVAK_8tKp1xpc}exxg%vD$3#x861{Od zGf*~+XGC}cLo+WnFnyByQ$kAS&X=@_uNG7t)aTF!?fD1G48Au`;ePTxd6-4--^gNe zBw3@e>P&;>Ll&X67Xvm-=Js*!$~Ce{W3P&oGqI-zUl=bp6XoB>IDJkHCMFc z7)eUEWeIYf!!9)Ob(xEaPY=RNDU(npjjo!Twucy7stKOcI66q!>ayO&Q1$Mfe;^RL zn$0VOMmMf8{Efmggz<{GNgAo=?2ussV{VK1D>-&fdABaeHlzNPn>*=NCy)=R51lN+bV8+|Cna{0E#idjFMGipnH>cb|k8wRvn z-vZPhU)G;)71rRyH_T)Y760@xjgno9Npy(^Eo{J~<%QvEue!IaA!|KbN;f&Gd$y_h zGz9dp`47>u<&Smg$TcG9N7$bxlyJrla`!zU8))+ttg7`kXLeFW(|7nXzA&@W7NYsc zR3|EYAN8CxemoY|co<8!xZ_1KhN9`qO{u~xgpa;m-C?2~oNO&@E8f|fUUaV^kLJks zl)AGxLi|iE(*N-cEBghVPM9?d{!wd)UemMK)r|u~Jr(nM-hdq|+d6z%A?e-7m&?Xt zx+LnIH<{%#+!ZM%IO;v*pK9iPl4|c&vDzG5<5NwLvqoEs6R(XMDW-f!7XJdXa?J+5-$F~Hv+-pX(vLw4LFi{+M1vpkYw_o!Km24ZeGzPpn8a>k|Xycga zU7|wWeEw*rZ9gJ9BGDvt?xs18RbT2iA9-{*q59p5bzC0)xl8^eCEp9OSsi@Y)4y3= zv2n4EDw))l+MC*(V!ax_=kmtd{$kfX$8J0)A6uRads|mhk1Cq6C}dKxF7J8N>|jJP z!bw)(+eKZNMj}t-9GRlp^BZB_R*9*8?1r*Cq&inGFZQB+lBIBoBb$J&(D0}&Mm#Hx zrc4VvG1adUp{5Yq5GeC{Bq01%nkiT46Hf2hw)SMiUqtE%SQsafH51WIHCe7kBMPAE1A4Z&o8yO~>^~D?!67 zM3YTXpP-$HW6Bp^q8nf1k2>DTVP_%14YH)V`~x@jVkTAVHf8w@;b?j8XM}pU-ZC~( z30tnL2WZl#itxQ8XG8nYw8#Fy;rNnBL25Vcz2Z6dD%+bgmJ{B^izn0C{t*~o)1zCe zQrJbebVRZEKX}Y#w>+EqmdAXTD{JEolMT6{mU<%<&FE%@#(sLe*y6JJm8bzZk#%+U z>YeVoPSfgOiw9H>EpM5NNRf)_2v}w+etOk&li5I(vvTFb`?ktgisV&-lxr%E#KWnb z?-z-RN@VFvB(3SgpZMvV#|en3BNEi9w>QEy@pbH>*IDLM+c)bH&W4Y6*WZ;-FNeX< zALQbyrHC2F`dOdpnAml<#h6(or{W+TyadbVv$|e%$KPE&+cPXU{<-u7#fdc8Huj}_ zH6ia$&qcJ9btNk3xlA3&$|eeEC1q?MhLL^RFkMg_e%xdl)pX6nH%dLIWApBng^$${ zeph7fjcmK0#Ug2`mZ7q@(vi-f;I;SFUUPhRFoWw!i}(BriQ2TjvHh2x$#~AF4i=GGGq^a zMpA|$sJl9w$M3syK4v!I6al^X8q>~eGs0%pz%RS3XmHB)xV9V&A~UylrRPpuP^5fx z`Bh0;issZ`5=zNHb-eddH=L$%2+z0`G~osm(CISY2wxjtaNv zt$Z<0{$N^sp~4czOU5yGrP&^pDCO&&)P`KTpIzz&TYS4dV_(xn%tpxS_pYP0t{#6) zshicBz_6UOWQ4DM+0h@w8@$sPMe7HOLYSbc}NQ24CVu)o# z#5?T8m=}i>m6sEZ16o1g+?o3sDf*NW1?MR*sGgA&C{ho|+iA#Y8*JOyC|@Tk?1jaO z?i=mkj$*0XQ%#kQoNq%vcLN)zIe+_!?WW&V=Eui2<#Or|Oq1ywp5VyG^55nQ|A9u0 zW!b{9F=$BCaaFT!^V){b#SE{ks_XmV>D-lKg<8(^8;3^lPIL>nE9pL6?OXQ~`mHi8 zvAdJn8dLa9LDxSSSMy}l9XGH&%B(_TFK#bXdelQN&dJXuw>uw-^*}01MR(u>^?22c z{!YVHjlQw4JH!M#_GoDI?Duq$7d)n3<_l$Q~kSoeIWr=)gE-el8VcnBQ>ceee+ z_tJJV*EGH)xgR@qK6X=fY8aE2J!x0_o5{g~Ggf2-d>sxKdfb)}e;#|E?6pKTuQWrg z?|T1*2y_?Dq4Ls?(?pH;n1kxS?_!HddG2UZr(S<4_g>>rh?q8zs4mml?_rxrNWudX zqcZ)+z266HF_tf}r{~#f@=G4etyd)J$hd73U@E@0TK@b|baCm@(Xa&m3q1(~bLjGU($*+qr1HlvMAmrd}MJbx=Ock2tD$iCOjZRe8jFI8noO zjg%FUqn3UbCy!ccOA@_XIQOrbg^33z<_|k@WDgyMCN!xZ(eiTKQhsORwMG11hlz$! zZ>?Y3_#@&~*m{bpn}GLu_b+dwEr{cGa&vG!pQ}zX&hqj{c{pM|msBIWIh0^??3ZQU z)RG)|?DG6j_II%B`NF z*cKjw%Xx0`I! zaz0E&Z=30xmCT8Ph?!U7i%Ks7vdS?MdzQnci!JhsnEFB`VsJ_2xWxQ1-flw-$B(yZ zrtWSR5Cq~mt1{db$Tf>t5W^|_QAymk%qOI~-&4bz<&)*s=~(i%MpF zKV#7~Yf89K-<`0ean~&2#4L}>LSbgtA9G2yYPSiVW}%r0ly5!yg1VAAC)bawqcokZ@j>?R6o1 z5cT$L%7UBebJo`LzUaE4Xbriocz)P<<0UYx=233yqeE2FviI6&2g`E5>2lWApM`~L z8E4wnUlg`%AX~6$#vI^2d^FWZ9WH-~sm{zp0%LO@MiJo9W8QMcAbmLN4sk6?@3!S? zC&4;51H(tB1Aih^^s_XiqVQoq0)=Nsl-R=w*CLp$6w465w(DM<)apU{Lo#Epp@uc> zOlj+0?DT?9B|L=OIXs@FydWco2i0o(@nKVrEGznt`Wh+^(}S(IY&F}slMN?}n=P!i zFdG6G>^_%UjF(ZbqZRYUyj2`}>G4WU!&D=?<%bKV(h9bvF4WbLVl%96?M;HGf5HV7 z-UoxhI3$vo$b)>3(+~$h{cqp5gLh$YE6m`@H>TpS3O__Vy+oR%B;m<_i~QrW7iJMb zbnrAIY2W`C!;|qd=I-Ccq$6UOC6dhfZb~-%huWQ%S>uNYWRyq?mLcR|{C&N$epe=< z?m2%KgRDEEUitsDUL7(d|D;}Depe=en;;-_&ac5k?1pcIofR zO#d0f`FAlt{YvKhZN2;u2V<0Yru@(9b^mu|BI@q=yBKDPWVhee>z7~g|Eyl+e^=%& zzbgMO=9gc!zpd9VzsCMqz4m`sCc>}7zl%ZE9pTr^Z|n8buQZz9)N2-TJj6LI^1Ct- zF=Brg^V6>+rr*}lGYA2xf>*x6ewO>E4N2vWmh5hPJKv86^pYsgre?k2(@10%izzkafgtqo0oIG}gP zKwJifsTSh@2Xo*O;tzBKd>Y~pKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF& zH^8SM{@`N{%oySibOU@E;txLNz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;at zry>5}V-Cz1;tzBKd>Y~pKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM z{@`N{%oySibOU@E;txLNz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5} zV-Cz1;tzBKd>Y~pKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{ z%oySibOU@E;txLNz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5}V-Cz1 z;tzBKd>Y~pKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{%oySi zbOU@E;txLNz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5}V-Cz1;tzBK zd>Y~pKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{%oySibOU@E z;txLNz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5}V-Cz1;tzBKd>Y~p zKIXuTA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{%oySibOU@E;txLN zz>FdOKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5}V-Cz1;tzBKd>Y~pKIXuT zA^t!&z^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{%oySibOU@E;txLNz>FdO zKsUgrA^zZF4$K(h4|D^38sZN==D>_0{y;atry>5}V-Cz1;tzBKd>Y~pKIXuTA^t!& zz^5Vp;A0NV7~&6f1AH3d4?gC=j3NF&H^8SM{@`N{%oySibOU@E;txLNz>FdOKsUgr z!NVU0qhYqOvvYyLVAeJ+<|c?G>~qT)9&(1kP?umZihdXzhW!3>`nMIt=D)0q{~7r| zDO4DYWW~wB$O^Gj*U9R%Ow>Qi{Nreda{oI0rJO$^{|FOD2z11Z(tEmv$<)Nj5uvC| ztsR|Cx184W*KtpeMIvTnVqt{XM`vU5*W6*(5aB6m&8MH_F*mVx_;n1Ji-n2l9~!y5 zEvZ7Mj@V{LCud}9Vr_~HBwnzwu)T*AE;gq}2G*U)tMs z$xluY8wC+Zm4chV=uT!~RAz`}{;2pJ^cuJ&3JQuJ;yi#Meq56cC+~#A(9ORGZ8RS3 z?IDkK?yjA+gY8{wH$+{KUxzvR!{-?oSM>}U*U{T1yUI}Lt3*cZchT5;eUINFTgS~%z;2#Y1 zVx0dq&};UWfnE(8dp@MM$mvfnP+$be4T$<8Ctg!WlhZL&R6jpI1_T;3#FAK?1i24o z^>ju@Y(XK6!aywGNVESs94mQh5DfM|bw^qd@yMc)pY#5y(W(B@9YK5^xf_}x51?}Z zItRdf4j|iBz-f ld?R`>&&dvXTW2&eI{h%R)YG?_Do&?&I96Vs%ZM+w{{mS5+~oiO literal 0 HcmV?d00001